Assorted PDP-11 debugger changes

This commit is contained in:
Jeff Parsons 2016-09-19 16:30:08 -07:00 committed by Jeff Parsons
commit 1df54a338f
21 changed files with 499 additions and 276 deletions

View file

@ -578,6 +578,12 @@
<xsl:otherwise>null</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="resetAddr">
<xsl:choose>
<xsl:when test="@resetAddr"><xsl:value-of select="@resetAddr"/></xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="csStart">
<xsl:choose>
<xsl:when test="@csstart"><xsl:value-of select="@csstart"/></xsl:when>
@ -602,7 +608,7 @@
<xsl:call-template name="component">
<xsl:with-param name="machine" select="$machine"/>
<xsl:with-param name="class" select="'cpu'"/>
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,resetAddr:<xsl:value-of select="$resetAddr"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
</xsl:call-template>
</xsl:template>

View file

@ -707,8 +707,8 @@ function fr(a,b,c,d){var e,f=c?a.aa:a.sb;c=d?0:f.type;var g=f.Ra,h=f.Z,f=f.Ea;if
k)return e;0>f?null!=h?(g=lq(a,b,void 0),f=null):(f=lq(a,b,void 0),null==f&&(g=null)):(h=lq(a,b.substring(0,f),void 0),g=lq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=rq(a,g,h,f,c),d||er(a,e,!0)||(a.O("invalid offset: "+Zq(e)),e=null));return e}function gr(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.kl=a.Mg(b.Rk=c[2]))}m.Ok=function(a,b){var c=fr(this,b);return a.replace("["+b+"]",c?t(this.tb(c),c.Rb?8:4):"undefined")};
function ar(a,b,c){c=c||1;null!=b.Ea&&(b.Ea+=c);null!=b.Z&&(b.Ra+=c,er(a,b)||(b.Ra=0,b.Ea=null))}function Pq(a,b,c){return null!=b?t(b,4)+":"+t(a,a&-65536||c?8:4):t(a)}function Zq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+t(a.Ea):b+Pq(a.Ra,a.Z,a.oc)}
function Qq(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Qa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function Lq(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.bc(fr(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Kc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=ac[c],6==c&&(d=d.Bd,h+=" -> "+ac[d.type]),d&&a.O(t(d.id)+" %"+t(f<<a.F.La)+" %%"+t(d.Ea)+" "+v(d.Oe)+" "+v(d.size)+" "+h),c!=
Bc&&5!=c&&(c=-1),h=0),e+=a.F.Sb,f++}function hr(a,b,c){a=t(a)+" "+t(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-");a+=b&4?"U":"S";a+=b&2?"W":"R";return a+=b&1?"P":"N"}
function Lq(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.bc(fr(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Kc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=ac[c],6==c&&(d=d.Bd,h+=" -> "+ac[d.type]),d&&a.O(t(d.id,8)+" %"+t(f<<a.F.La,8)+" %%"+t(d.Ea,8)+" "+v(d.Oe)+" "+v(d.size)+" "+
h),c!=Bc&&5!=c&&(c=-1),h=0),e+=a.F.Sb,f++}function hr(a,b,c){a=t(a)+" "+t(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-");a+=b&4?"U":"S";a+=b&2?"W":"R";return a+=b&1?"P":"N"}
var Nq={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},Rq={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,
TASK_LDT:42},Sq={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,TASK_IOPM:100};
function Uq(a,b,c){var d=[],e;for(e=null;e=Jb(a.X,"Disk",e);){var f=e,g=b,h=c,d={};if(f.C)for(var k=0;k<f.C.length;k++){var l=f.C[k];if(l.ig==g&&(l=l.yd[h])){for(var n in l.we)f=l.we[n],d[f[1]]=f[0];break}}if(d.length)break}return d}function uq(a,b){a.ha=a;a.wc=a.ol=1073741824;a.Pa=null;var c=a.Mg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in Db)0<=ya(c,d)&&(a.wc|=Db[d],a.O(d+" messages enabled"));tq(a)}