Successfully assembled my first MACRO-10 source file (DAKAD.MAC)
This commit is contained in:
parent
e1f37c8275
commit
3f8705ad98
9 changed files with 631 additions and 476 deletions
|
|
@ -2052,4 +2052,4 @@ C22700: SETZM 2 ;INITIALIZE AC
|
||||||
|
|
||||||
;**********
|
;**********
|
||||||
|
|
||||||
JRST BEGEND
|
; JRST BEGEND
|
||||||
|
|
|
||||||
|
|
@ -566,7 +566,7 @@ function ct(a){if(0<=a.aa){if(void 0!==a.M){var b=dt<<8,c=a.M[a.aa];if(c&b){var
|
||||||
function ft(a){var b,c=a.C;a.Pc=!1;var d=c.xd[5];if(null!=d){b=ur;var e=wr,f=c.xd[3]&31;switch(d&3){case 0:if(f){e=wr|32;switch(f&24){case 8:e=wr|96;break;case 16:e=wr|160;break;case 24:e=wr|224}c.Qc=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.La==dq&&(e=3,c.Qc=f&7)}d&8&&(b=1280);c=c.$d[4];null!=c&&(c&4||(b|=vr,e|=xr),d&64&&(c&8&&(b|=16384,e|=4),a.Pc=!0));b|=e}return b}
|
function ft(a){var b,c=a.C;a.Pc=!1;var d=c.xd[5];if(null!=d){b=ur;var e=wr,f=c.xd[3]&31;switch(d&3){case 0:if(f){e=wr|32;switch(f&24){case 8:e=wr|96;break;case 16:e=wr|160;break;case 24:e=wr|224}c.Qc=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.La==dq&&(e=3,c.Qc=f&7)}d&8&&(b=1280);c=c.$d[4];null!=c&&(c&4||(b|=vr,e|=xr),d&64&&(c&8&&(b|=16384,e|=4),a.Pc=!0));b|=e}return b}
|
||||||
function gt(a,b){var c=a.C;return c&&null!=b&&b!=c.tg?(c.Kg(b),a.ka.Kg(c.bb,c.Ob,c.fh(),!0),!0):!1}
|
function gt(a,b){var c=a.C;return c&&null!=b&&b!=c.tg?(c.Kg(b),a.ka.Kg(c.bb,c.Ob,c.fh(),!0),!0):!1}
|
||||||
function Os(a,b){var c,d=a.oa,e=a.C;if(e)if(e.La==ps)d=Es;else if(e.La>=bq){var d=null,f=e.qd>>2,g=32768<f?32768:f,h=e.xd[6];if(null!=h){switch(h&12){case 0:e.bb=655360;e.Ob=f;d=ht;break;case 4:e.bb=655360;e.Ob=f;d=a.ga==Ul?it:jt;break;case 8:e.bb=720896;e.Ob=g;d=Es;break;case 12:e.bb=753664,e.Ob=g,d=a.ga==Ul?kt:Cs}c=80==(e.xd[5]&80);!c||e.bb==a.bb&&e.Ob==a.Ob||(b=!0);var f=Kr(e,Or),g=e.Wa[fs],k=e.Wa[23],m=e.$d[1]&8;d!=ht&&(h&1?655360==e.bb||c||k&1?e.xd[5]&64?d=g&31?143>=e.Wa[Wr]?lt:mt:nt:g&128||
|
function Os(a,b){var c,d=a.oa,e=a.C;if(e)if(e.La==ps)d=Es;else if(e.La>=bq){var d=null,f=e.qd>>2,g=32768<f?32768:f,h=e.xd[6];if(null!=h){switch(h&12){case 0:e.bb=655360;e.Ob=f;d=ht;break;case 4:e.bb=655360;e.Ob=f;d=a.ga==Ul?it:jt;break;case 8:e.bb=720896;e.Ob=g;d=Es;break;case 12:e.bb=753664,e.Ob=g,d=a.ga==Ul?kt:Cs}c=80==(e.xd[5]&80);!c||e.bb==a.bb&&e.Ob==a.Ob||(b=!0);var f=Kr(e,Or),g=e.Wa[fs],k=e.Wa[23],m=e.$d[1]&8;d!=ht&&(h&1?655360==e.bb||c||k&1?e.xd[5]&64?d=g&31?143>=e.Wa[Wr]?lt:mt:nt:g&128||
|
||||||
350>f?d=m?ot:pt:480<=f&&(d=a.ga==Ul?qt:rt):d=m?7-d:st:d-=m?2:0);c=ft(a)}}else e.Xc&8&&(e.Xc&2?(d=e.Xc&16?st:Rt,e.Xc&4||--d):(d=e.Xc&1?Cs:Tt,e.Xc&4&&--d));else a.oa=null,null==d&&(d=a.da);if(!Hs(a,d,b))return!1;gt(a,c);return!0}
|
350>f?d=m?ot:pt:480<=f&&(d=a.ga==Ul?qt:rt):d=m?7-d:st:d-=m?2:0);c=ft(a)}}else e.Xc&8&&(e.Xc&2?(d=e.Xc&16?st:tt,e.Xc&4||--d):(d=e.Xc&1?Cs:St,e.Xc&4&&--d));else a.oa=null,null==d&&(d=a.da);if(!Hs(a,d,b))return!1;gt(a,c);return!0}
|
||||||
function Hs(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Ad=0;a.oa=b;a.Ga=!1;b=a.C||(b==Es?a.Y:a.K);if(b!=a.C||b.bb!=a.bb||b.Ob!=a.Ob){ct(a);if(a.bb){if(!Cc(a.ka,a.bb,a.Ob))return!1;a.C&&(a.C.rc=!1)}a.C=b;b.rc=!0;a.bb=b.bb;a.Ob=b.Ob;if(!pc(a.ka,b.bb,b.Ob,3,b===a.A?b:null))return!1}a:{a.I=0;a.F=a.Fb;a.J=a.sc;a.Ma=a.F;a.Eb=is[Es][2];b=0;if(c=is[a.oa])a.F=c[0],a.J=c[1],a.Eb=c[2],b=c[3],a.I=c[4],4!=a.ga&&7!=a.ga||a.C!==a.A||a.I!=Ws||(7==(a.A.Wa[fs]&31)?a.J=350>Kr(a.A,Wr)?43:50:a.I=a.La);a.Wc=a.F*a.J|0;a.Vc=a.Wc/
|
function Hs(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Ad=0;a.oa=b;a.Ga=!1;b=a.C||(b==Es?a.Y:a.K);if(b!=a.C||b.bb!=a.bb||b.Ob!=a.Ob){ct(a);if(a.bb){if(!Cc(a.ka,a.bb,a.Ob))return!1;a.C&&(a.C.rc=!1)}a.C=b;b.rc=!0;a.bb=b.bb;a.Ob=b.Ob;if(!pc(a.ka,b.bb,b.Ob,3,b===a.A?b:null))return!1}a:{a.I=0;a.F=a.Fb;a.J=a.sc;a.Ma=a.F;a.Eb=is[Es][2];b=0;if(c=is[a.oa])a.F=c[0],a.J=c[1],a.Eb=c[2],b=c[3],a.I=c[4],4!=a.ga&&7!=a.ga||a.C!==a.A||a.I!=Ws||(7==(a.A.Wa[fs]&31)?a.J=350>Kr(a.A,Wr)?43:50:a.I=a.La);a.Wc=a.F*a.J|0;a.Vc=a.Wc/
|
||||||
a.Eb|0;a.Xa=a.Vc;a.Pb=0;void 0!==b&&(a.Xa=(a.Xa<<1)+b|0,a.Pb=a.Xa+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.Ya=a.eb=0;b&&(a.Ya=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.Ya=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.Ya,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.Ya;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0;
|
a.Eb|0;a.Xa=a.Vc;a.Pb=0;void 0!==b&&(a.Xa=(a.Xa<<1)+b|0,a.Pb=a.Xa+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.Ya=a.eb=0;b&&(a.Ya=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.Ya=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.Ya,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.Ya;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0;
|
||||||
a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0<b&&(a.vc=b>>1,a.Qb-=b);0<c&&(a.zc=c>>1,a.Rb-=c);if(b||c)a.L.fillStyle=a.O.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.la)}}Ut(a,!0);zs(a)}return!0}function at(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Vt(a){a.ya=-1;a.ma=!1;var b=a.Vc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function Ut(a,b){b||(a.Ga=!1);Vt(a)}
|
a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0<b&&(a.vc=b>>1,a.Qb-=b);0<c&&(a.zc=c>>1,a.Rb-=c);if(b||c)a.L.fillStyle=a.O.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.la)}}Ut(a,!0);zs(a)}return!0}function at(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Vt(a){a.ya=-1;a.ma=!1;var b=a.Vc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function Ut(a,b){b||(a.Ga=!1);Vt(a)}
|
||||||
|
|
@ -589,8 +589,8 @@ l.Xn=function(a,b,c){if(du||this.A.xd[this.A.yd]!==b)c&&!t(this)||v(this,975,b,c
|
||||||
l.gm=function(a,b){return Zt(this,this.K,a,b)};l.In=function(a,b,c){var d=this.K;d.Fg=d.ec;d.ec=b&31;v(this,a,b,c,"CRTC.INDX")};l.fm=function(a,b){return $t(this,this.K,a,b)};l.Hn=function(a,b,c){au(this,this.K,a,b,c)};l.hm=function(a,b){return bu(this,this.K,b)};l.Jn=function(a,b,c){a=this.K;v(this,a.port+4,b,c,"MODE");a.Xc=b;Os(this,!1)};l.em=function(a,b){var c=this.K.Ze;b&&!t(this)||v(this,a,null,b,this.K.type+".COLOR",c);return c};
|
l.gm=function(a,b){return Zt(this,this.K,a,b)};l.In=function(a,b,c){var d=this.K;d.Fg=d.ec;d.ec=b&31;v(this,a,b,c,"CRTC.INDX")};l.fm=function(a,b){return $t(this,this.K,a,b)};l.Hn=function(a,b,c){au(this,this.K,a,b,c)};l.hm=function(a,b){return bu(this,this.K,b)};l.Jn=function(a,b,c){a=this.K;v(this,a.port+4,b,c,"MODE");a.Xc=b;Os(this,!1)};l.em=function(a,b){var c=this.K.Ze;b&&!t(this)||v(this,a,null,b,this.K.type+".COLOR",c);return c};
|
||||||
l.Gn=function(a,b,c){c&&!t(this)||v(this,a,b,c,this.K.type+".COLOR");this.K.Ze!==b&&(this.K.Ze=b,Ut(this,!1))};l.im=function(a,b){return cu(this,this.K,b)};function Zt(a,b,c,d){var e;b.rc&&(e=b.ec);v(a,c,null,d,"CRTC.INDX",e);return e}function $t(a,b,c,d){var e;b.rc&&b.ec<b.oh&&(e=b.Wa[b.ec]);d&&!t(a)||v(a,c,null,d,"CRTC."+b.gg[b.ec],e);return e}
|
l.Gn=function(a,b,c){c&&!t(this)||v(this,a,b,c,this.K.type+".COLOR");this.K.Ze!==b&&(this.K.Ze=b,Ut(this,!1))};l.im=function(a,b){return cu(this,this.K,b)};function Zt(a,b,c,d){var e;b.rc&&(e=b.ec);v(a,c,null,d,"CRTC.INDX",e);return e}function $t(a,b,c,d){var e;b.rc&&b.ec<b.oh&&(e=b.Wa[b.ec]);d&&!t(a)||v(a,c,null,d,"CRTC."+b.gg[b.ec],e);return e}
|
||||||
function au(a,b,c,d,e){if(b.ec<b.oh){if(du||b.Wa[b.ec]!==d)e&&!t(a)||v(a,c,d,e,"CRTC."+b.gg[b.ec]),b.Wa[b.ec]=d;if(12==b.ec||13==b.ec)Xt(a,b)&1?(c=(b.Wa[12]<<8)+b.Wa[13]|0,b.vd!==c&&(b.vd=c,Ut(a))):b.Ye||(b.Ye=b.fi);(9==b.ec&&8!=b.Fg||b.ec==Wr&&223==d)&&Os(a,!0);Ps(a)}}function bu(a,b,c){var d=b.Xc;v(a,b.port+4,null,c,"MODE",d);return d}function cu(a,b,c){var d=Xt(a,b);b===a.A?(d|=b.fa&48^48,b.Ke=!1):d=(b.fa^=9)|240;b.fa=d;v(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
|
function au(a,b,c,d,e){if(b.ec<b.oh){if(du||b.Wa[b.ec]!==d)e&&!t(a)||v(a,c,d,e,"CRTC."+b.gg[b.ec]),b.Wa[b.ec]=d;if(12==b.ec||13==b.ec)Xt(a,b)&1?(c=(b.Wa[12]<<8)+b.Wa[13]|0,b.vd!==c&&(b.vd=c,Ut(a))):b.Ye||(b.Ye=b.fi);(9==b.ec&&8!=b.Fg||b.ec==Wr&&223==d)&&Os(a,!0);Ps(a)}}function bu(a,b,c){var d=b.Xc;v(a,b.port+4,null,c,"MODE",d);return d}function cu(a,b,c){var d=Xt(a,b);b===a.A?(d|=b.fa&48^48,b.Ke=!1):d=(b.fa^=9)|240;b.fa=d;v(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
|
||||||
var du=!0,Tt=1,kt=2,Cs=3,Rt=5,st=6,Es=7,ot=13,pt=14,it=15,jt=16,qt=17,rt=18,lt=19,mt=20,nt=21,ht=255,Xs=1,Ws=3,ps=Xs,ms=Ws,bq=5,dq=7,hs={mda:[ps,Es],cga:[ms,Cs],ega:[bq,Cs],vga:[dq,Cs]},Hr={2:{xg:15700,wg:208,Dg:85,Eg:96}};Hr[Ul]={xg:18432,wg:364,Dg:85,Eg:96};Hr[4]={xg:21850,wg:364,Dg:85,Eg:96};Hr[7]={xg:16700,wg:480,Dg:85,Eg:83};var Ds={6:[1,Ul,!0],7:[2,Ul,!0],8:[6,Ul,!0],9:[4,Ul,!0],10:[Ul,1,!0],11:[Ul,2,!0],0:[1,Ul,!1],1:[2,Ul,!1],2:[6,Ul,!1],3:[4,Ul,!1],4:[Ul,1,!1],5:[Ul,2,!1]},is=[];
|
var du=!0,St=1,kt=2,Cs=3,tt=5,st=6,Es=7,ot=13,pt=14,it=15,jt=16,qt=17,rt=18,lt=19,mt=20,nt=21,ht=255,Xs=1,Ws=3,ps=Xs,ms=Ws,bq=5,dq=7,hs={mda:[ps,Es],cga:[ms,Cs],ega:[bq,Cs],vga:[dq,Cs]},Hr={2:{xg:15700,wg:208,Dg:85,Eg:96}};Hr[Ul]={xg:18432,wg:364,Dg:85,Eg:96};Hr[4]={xg:21850,wg:364,Dg:85,Eg:96};Hr[7]={xg:16700,wg:480,Dg:85,Eg:83};var Ds={6:[1,Ul,!0],7:[2,Ul,!0],8:[6,Ul,!0],9:[4,Ul,!0],10:[Ul,1,!0],11:[Ul,2,!0],0:[1,Ul,!1],1:[2,Ul,!1],2:[6,Ul,!1],3:[4,Ul,!1],4:[Ul,1,!1],5:[Ul,2,!1]},is=[];
|
||||||
is[Tt]=[40,25,1,0,Ws];is[Cs]=[80,25,1,0,Ws];is[4]=[320,200,8,192];is[st]=[640,200,16,192];is[Es]=[80,25,1,0,Xs];is[ot]=[320,200,8];is[pt]=[640,200,8];is[it]=[640,350,8];is[jt]=[640,350,8];is[qt]=[640,480,8];is[rt]=[640,480,8];is[lt]=[320,200,1];is[mt]=[320,240,4];is[nt]=[320,400,4];is[0]=is[Tt];is[kt]=is[Cs];is[Rt]=is[4];
|
is[St]=[40,25,1,0,Ws];is[Cs]=[80,25,1,0,Ws];is[4]=[320,200,8,192];is[st]=[640,200,16,192];is[Es]=[80,25,1,0,Xs];is[ot]=[320,200,8];is[pt]=[640,200,8];is[it]=[640,350,8];is[jt]=[640,350,8];is[qt]=[640,480,8];is[rt]=[640,480,8];is[lt]=[320,200,1];is[mt]=[320,240,4];is[nt]=[320,400,4];is[0]=is[St];is[kt]=is[Cs];is[tt]=is[4];
|
||||||
var Ls=0,Js=7,Ns=8,Ks=0,Ms=112,Is=128,Wt=256,dt=512,Ys=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Zs=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Rs=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Ts=[2,4,6],Ss=[3,5,Js],Us=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
var Ls=0,Js=7,Ns=8,Ks=0,Ms=112,Is=128,Wt=256,dt=512,Ys=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Zs=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Rs=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Ts=[2,4,6],Ss=[3,5,Js],Us=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
||||||
gs=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Yt=[0];Yt[128]=1;Yt[32768]=2;Yt[32896]=3;Yt[8388608]=4;Yt[8388736]=5;Yt[8421376]=6;Yt[8421504]=7;Yt[-2147483648]=8;Yt[-2147483520]=9;Yt[-2147450880]=10;Yt[-2147450752]=11;Yt[-2139095040]=12;Yt[-2139094912]=13;Yt[-2139062272]=14;Yt[-2139062144]=15;var lr=[];lr[ps]=["MDA",948,720896,4096,0,Ul];lr[ms]=["CGA",980,753664,16384,0,2];lr[bq]=["EGA",980,753664,16384,65536,4];
|
gs=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Yt=[0];Yt[128]=1;Yt[32768]=2;Yt[32896]=3;Yt[8388608]=4;Yt[8388736]=5;Yt[8421376]=6;Yt[8421504]=7;Yt[-2147483648]=8;Yt[-2147483520]=9;Yt[-2147450880]=10;Yt[-2147450752]=11;Yt[-2139095040]=12;Yt[-2139094912]=13;Yt[-2139062272]=14;Yt[-2139062144]=15;var lr=[];lr[ps]=["MDA",948,720896,4096,0,Ul];lr[ms]=["CGA",980,753664,16384,0,2];lr[bq]=["EGA",980,753664,16384,65536,4];
|
||||||
lr[dq]=["VGA",980,753664,16384,262144,7];
|
lr[dq]=["VGA",980,753664,16384,262144,7];
|
||||||
|
|
@ -715,11 +715,12 @@ var Tw="Hard Drive",Ww=["XTC","ATC","COMPAQ"],Uw=[{0:[306,2],1:[375,8],2:[306,6]
|
||||||
112,tx=144,Ax=145,ux=240,Bx=2,ox=4,Hx=0,Ix=2,Lx=0,Mx=1,Dx=3,Nx=5,Ox=8,Qx=10,ax=12,Sx=15,Jx=224,Kx=228,Sw=0,Fx=4,Ux=20,Rw=0,bx=1,Yw=2,Zw=4,$w=8,Xw=32,Jw={800:Hw.prototype.Tm,801:Hw.prototype.Um,802:Hw.prototype.Sm},Iw={496:Hw.prototype.nl,497:Hw.prototype.$l,498:Hw.prototype.bm,499:Hw.prototype.cm,500:Hw.prototype.Yl,501:Hw.prototype.Xl,502:Hw.prototype.Zl,503:Hw.prototype.dm},Lw={800:Hw.prototype.ro,801:Hw.prototype.uo,802:Hw.prototype.to,803:Hw.prototype.so,807:Hw.prototype.hi,811:Hw.prototype.hi,
|
112,tx=144,Ax=145,ux=240,Bx=2,ox=4,Hx=0,Ix=2,Lx=0,Mx=1,Dx=3,Nx=5,Ox=8,Qx=10,ax=12,Sx=15,Jx=224,Kx=228,Sw=0,Fx=4,Ux=20,Rw=0,bx=1,Yw=2,Zw=4,$w=8,Xw=32,Jw={800:Hw.prototype.Tm,801:Hw.prototype.Um,802:Hw.prototype.Sm},Iw={496:Hw.prototype.nl,497:Hw.prototype.$l,498:Hw.prototype.bm,499:Hw.prototype.cm,500:Hw.prototype.Yl,501:Hw.prototype.Xl,502:Hw.prototype.Zl,503:Hw.prototype.dm},Lw={800:Hw.prototype.ro,801:Hw.prototype.uo,802:Hw.prototype.to,803:Hw.prototype.so,807:Hw.prototype.hi,811:Hw.prototype.hi,
|
||||||
815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Hw(d);zb(d,c)}});function Wx(a){nb.call(this,"Debugger",a);this.ya=+a.base||16;this.Ga=["{","}"];this.za=["[","]"];this.W=this.ga=this.L=0;this.aa=!1;this.A=-1;this.C=[];this.da={}}ba(Wx,nb);
|
815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Hw(d);zb(d,c)}});function Wx(a){nb.call(this,"Debugger",a);this.ya=+a.base||16;this.Ga=["{","}"];this.za=["[","]"];this.W=this.ga=this.L=0;this.aa=!1;this.A=-1;this.C=[];this.da={}}ba(Wx,nb);
|
||||||
Wx.prototype.gh=function(){return-1};Wx.prototype.hh=function(){};Wx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
Wx.prototype.gh=function(){return-1};Wx.prototype.hh=function(){};Wx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
||||||
Wx.prototype.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.aa?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};function Xx(a){return a|0}
|
Wx.prototype.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.aa?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};
|
||||||
|
function Xx(a){var b,c=a;b=32;if(32>=b)c=a|0;else if(b=Math.pow(2,b-1),a<-b||a>=b)c=a%b;a!=c&&(a=c);return a}
|
||||||
function Yx(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=
|
function Yx(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=
|
||||||
f&e;break;case "!":case "|":d=f|e;break;case "^^":d=f^e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(Xx(d))}return!0}
|
f&e;break;case "!":case "|":d=f|e;break;case "^^":d=f^e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(Xx(d))}return!0}
|
||||||
function Zx(a,b,c){var d;b&&(b=$x(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],w=p.length,p=Ca(p);if(!p){f=!0;break}p=ay(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==m.length)break;var p=m[e++],u=p.length;k.length&&by[p]<by[k[k.length-1]]&&Yx(h,k,1);k.push(p);b=b.substr(w+u)}Yx(h,k)&&1==h.length||(f=!0);f?c&&a.P("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&
|
function Zx(a,b,c){var d;b&&(b=$x(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],w=p.length,p=Ca(p);if(!p){f=!0;break}p=ay(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(Xx(p));if(e==m.length)break;var p=m[e++],u=p.length;k.length&&by[p]<by[k[k.length-1]]&&Yx(h,k,1);k.push(p);b=b.substr(w+u)}Yx(h,k)&&1==h.length||(f=!0);f?c&&a.P("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),
|
||||||
cy(a,null,d))}return d}
|
c&&cy(a,null,d))}return d}
|
||||||
function $x(a,b){var c,d=a.Ga[0],e=a.Ga[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=Zx(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?dy(a,g):"undefined")}if(a.za.length)for(d=a.za[0],e=a.za[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.W-a.ga}if(null==
|
function $x(a,b){var c,d=a.Ga[0],e=a.Ga[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=Zx(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?dy(a,g):"undefined")}if(a.za.length)for(d=a.za[0],e=a.za[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.W-a.ga}if(null==
|
||||||
e)break;b=b.replace(d[0],e.toString())}return b}function ay(a,b,c,d){var e;null!=b?(e=a.gh(b),0<=e?e=a.hh(e):(e=a.da[b],null==e&&(e=oa(b,a.ya))),null!=e||d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return e}function cy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}
|
e)break;b=b.replace(d[0],e.toString())}return b}function ay(a,b,c,d){var e;null!=b?(e=a.gh(b),0<=e?e=a.hh(e):(e=a.da[b],null==e&&(e=oa(b,a.ya))),null!=e||d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return e}function cy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}
|
||||||
function ey(a,b){if(b)return cy(a,b,a.da[b]);var c=0;for(b in a.da)cy(a,b,a.da[b]),c++;return 0<c}function dy(a,b){var c;c=void 0===c?0:c;switch(a.ya){case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var by={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
function ey(a,b){if(b)return cy(a,b,a.da[b]);var c=0;for(b in a.da)cy(a,b,a.da[b]),c++;return 0<c}function dy(a,b){var c;c=void 0===c?0:c;switch(a.ya){case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var by={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||||
|
|
@ -803,21 +804,21 @@ a.B,ua)||Dy(a,a.Y,ua)||Dy(a,a.M,ua)||a.P("breakpoint missing: "+Ey(ua)):"i"==T?a
|
||||||
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=hB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=hB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
||||||
(ZA(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],sg=df.o;if(void 0!==sg){var ef=df.s;void 0===ef&&(ef=cf.U);var tg=cf.Fd[Ld].l;tg&&(Ld=tg);a.P(ty(sg,ef)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Ng=a.Sb(Oy(a,qm));if(-1===Ng)a.P("invalid address: "+qm);else{var nf,
|
(ZA(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],sg=df.o;if(void 0!==sg){var ef=df.s;void 0===ef&&(ef=cf.U);var tg=cf.Fd[Ld].l;tg&&(Ld=tg);a.P(ty(sg,ef)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Ng=a.Sb(Oy(a,qm));if(-1===Ng)a.P("invalid address: "+qm);else{var nf,
|
||||||
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Ng&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.nb=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.nb.Nd(Qa.Jk);Qa.Kk=(Ng&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.ob=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.ob.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Ng&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Ng),ve=ve+(" %%"+Ty(nf.Ti,nf.Aj)),ve=
|
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Ng&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.nb=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.nb.Nd(Qa.Jk);Qa.Kk=(Ng&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.ob=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.ob.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Ng&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Ng),ve=ve+(" %%"+Ty(nf.Ti,nf.Aj)),ve=
|
||||||
ve+(" %%"+Ty(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";cB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var tt=a.Aa[xb];tt?(ca.shift(),ca.shift(),tt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var ut=cb,vt=Sa,wt="",xt=0,Mc=a.la,jd=a.N;if(jd.length){var uc=+ut||a.Xa,Og=+vt||10;isNaN(uc)?uc=Og:wt="more ";uc>jd.length&&(a.P("note: only "+
|
ve+(" %%"+Ty(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";cB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var ut=a.Aa[xb];ut?(ca.shift(),ca.shift(),ut(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var vt=cb,wt=Sa,xt="",yt=0,Mc=a.la,jd=a.N;if(jd.length){var uc=+vt||a.Xa,Og=+wt||10;isNaN(uc)?uc=Og:xt="more ";uc>jd.length&&(a.P("note: only "+
|
||||||
jd.length+" available"),uc=jd.length);Mc-=uc;0>Mc&&(null==jd[jd.length-1].U?(uc=Mc+uc,Mc=0):Mc+=jd.length);var rm=[];"call"==vt&&(Og=1E5,rm=["CALL"]);for(void 0!==ut&&a.P(uc+" instructions earlier:");0<Og&&Mc!=a.la;){var we=jd[Mc++];if(null==we.U)break;var Pg=gy(a,we.Ja,we.U,we.xa,we.type,we.Hb,we.dc),YB=uc--,yt=Wz(a,Pg,"history",YB);(!rm.length||0<=yt.indexOf(rm[0]))&&a.P(yt);Pg.Fe&&(Mc+=Pg.Fe,Og-=Pg.Fe,uc-=Pg.Fe);Mc>=jd.length&&(Mc=0);a.Xa=uc;xt++;Og--}}xt||(a.P("no "+wt+"history available"),a.Xa=
|
jd.length+" available"),uc=jd.length);Mc-=uc;0>Mc&&(null==jd[jd.length-1].U?(uc=Mc+uc,Mc=0):Mc+=jd.length);var rm=[];"call"==wt&&(Og=1E5,rm=["CALL"]);for(void 0!==vt&&a.P(uc+" instructions earlier:");0<Og&&Mc!=a.la;){var we=jd[Mc++];if(null==we.U)break;var Pg=gy(a,we.Ja,we.U,we.xa,we.type,we.Hb,we.dc),YB=uc--,zt=Wz(a,Pg,"history",YB);(!rm.length||0<=zt.indexOf(rm[0]))&&a.P(zt);Pg.Fe&&(Mc+=Pg.Fe,Og-=Pg.Fe,uc-=Pg.Fe);Mc>=jd.length&&(Mc=0);a.Xa=uc;yt++;Og--}}yt||(a.P("no "+xt+"history available"),a.Xa=
|
||||||
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Qg=ay(a,sm);if(void 0===Qg||0>Qg||255<Qg)a.P("invalid vector: "+sm);else{var zt="&",At=!!(a.H.qa&1),Bt=!1,Ti=a.H.Pb+(Qg<<(At?3:2)),Ct=a.H.ja(Ti+0),ZB=a.H.ja(Ti+2);At&&(zt="#",a.H.ja(Ti+4)&2048&&(Bt=!0,Ct|=a.H.ja(Ti+6)<<16));a.P("dumpIDT("+ta(Qg)+"): "+zt+q(ZB,4)+":"+q(Ct,Bt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Oy(a,cb);if(pf&&(null!=pf.U||null!=pf.xa)){var Ui=0;Sa&&("l"==Sa.charAt(0)&&
|
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Qg=ay(a,sm);if(void 0===Qg||0>Qg||255<Qg)a.P("invalid vector: "+sm);else{var At="&",Bt=!!(a.H.qa&1),Ct=!1,Ti=a.H.Pb+(Qg<<(Bt?3:2)),Dt=a.H.ja(Ti+0),ZB=a.H.ja(Ti+2);Bt&&(At="#",a.H.ja(Ti+4)&2048&&(Ct=!0,Dt|=a.H.ja(Ti+6)<<16));a.P("dumpIDT("+ta(Qg)+"): "+At+q(ZB,4)+":"+q(Dt,Ct?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Oy(a,cb);if(pf&&(null!=pf.U||null!=pf.xa)){var Ui=0;Sa&&("l"==Sa.charAt(0)&&
|
||||||
(Sa=Sa.substr(1)||rb),Ui=ay(a,Sa)>>>0,65536<Ui&&(Ui=65536));for(var Rg="",qf="dd"==za?4:"dw"==za?2:1,Vi=qf*Ui||128,$B=Vi+15>>4||1;$B--&&0<Vi;){var Sg=0,tm=0,Tg,um="",Dt="",cb=Ey(pf);for(Tg=4==qf?16:a.ya;0<Tg&&0<Vi;Tg--){var Wi=a.Ia(pf,1),Sg=Sg|Wi<<(tm++<<3);tm==qf&&(um+=8==a.ya?sa(Sg,3*qf):q(Sg,2*qf),um+=1==qf?9==Tg?"-":" ":" ",Sg=tm=0);Dt+=32<=Wi&&128>Wi?String.fromCharCode(Wi):".";Vi--}Rg&&(Rg+="\n");Rg+=cb+" "+um+(Tg?"":" "+Dt)}Rg&&a.P(Rg);a.Ma=pf}}}}}break;case "e":if("else"==g[0])break;var Xi=
|
(Sa=Sa.substr(1)||rb),Ui=ay(a,Sa)>>>0,65536<Ui&&(Ui=65536));for(var Rg="",qf="dd"==za?4:"dw"==za?2:1,Vi=qf*Ui||128,$B=Vi+15>>4||1;$B--&&0<Vi;){var Sg=0,tm=0,Tg,um="",Et="",cb=Ey(pf);for(Tg=4==qf?16:a.ya;0<Tg&&0<Vi;Tg--){var Wi=a.Ia(pf,1),Sg=Sg|Wi<<(tm++<<3);tm==qf&&(um+=8==a.ya?sa(Sg,3*qf):q(Sg,2*qf),um+=1==qf?9==Tg?"-":" ":" ",Sg=tm=0);Et+=32<=Wi&&128>Wi?String.fromCharCode(Wi):".";Vi--}Rg&&(Rg+="\n");Rg+=cb+" "+um+(Tg?"":" "+Et)}Rg&&a.P(Rg);a.Ma=pf}}}}}break;case "e":if("else"==g[0])break;var Xi=
|
||||||
1,Et=255,Ft=a.Ia,Gt=a.fc;"ew"==g[0]&&(Xi=2,Et=65535,Ft=a.Yc,Gt=a.il);var Ht=Xi<<1,It=g[1];if(null==It)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var Yi=Oy(a,It);if(Yi)for(var Zi=2;Zi<g.length;Zi++){var Ug=Zx(a,g[Zi]);if(void 0===Ug){a.P("unrecognized value: "+g[Zi]);break}Ug&~Et&&a.P("warning: "+q(Ug)+" exceeds "+Xi+"-byte value");var aC=Ft.call(a,Yi);a.P("changing "+Ey(Yi)+" from "+q(aC,Ht,!0)+" to "+q(Ug,Ht,!0));
|
1,Ft=255,Gt=a.Ia,Ht=a.fc;"ew"==g[0]&&(Xi=2,Ft=65535,Gt=a.Yc,Ht=a.il);var It=Xi<<1,Jt=g[1];if(null==Jt)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var Yi=Oy(a,Jt);if(Yi)for(var Zi=2;Zi<g.length;Zi++){var Ug=Zx(a,g[Zi]);if(void 0===Ug){a.P("unrecognized value: "+g[Zi]);break}Ug&~Ft&&a.P("warning: "+q(Ug)+" exceeds "+Xi+"-byte value");var aC=Gt.call(a,Yi);a.P("changing "+Ey(Yi)+" from "+q(aC,It,!0)+" to "+q(Ug,It,!0));
|
||||||
Gt.call(a,Yi,Ug,Xi)}}break;case "f":$A(a,g[1]);break;case "g":a:{var Jt=g[1],bC=b;"gt"==g[0]&&(a.Ba=!0);if(void 0!==Jt){var vm=Oy(a,Jt,!0);if(!vm)break a;Ry(a,vm,bC);a.Gd(a.B,vm,!0)}Mz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.vb)wm="halting",a.Jb();else{if(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Vg=b.substr(2),Vg=Ca(Vg);Zx(a,Vg)?(c||a.P("true: "+Vg),xm=!0):(c||a.P("false: "+Vg),xm=!1);xm||(d=!1);
|
Ht.call(a,Yi,Ug,Xi)}}break;case "f":$A(a,g[1]);break;case "g":a:{var Kt=g[1],bC=b;"gt"==g[0]&&(a.Ba=!0);if(void 0!==Kt){var vm=Oy(a,Kt,!0);if(!vm)break a;Ry(a,vm,bC);a.Gd(a.B,vm,!0)}Mz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.vb)wm="halting",a.Jb();else{if(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Vg=b.substr(2),Vg=Ca(Vg);Zx(a,Vg)?(c||a.P("true: "+Vg),xm=!0):(c||a.P("false: "+Vg),xm=!1);xm||(d=!1);
|
||||||
break}if("int"==g[0]){var $i;a:switch(ay(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ga=a.W;$i=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ga=a.W;$i=!0;break a;default:$i=!1}$i||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=ay(a,ym);if(void 0!==zm){var cC=Pc(a.ka,zm,1);a.P(ta(zm)+": "+r(cC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var dC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
break}if("int"==g[0]){var $i;a:switch(ay(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ga=a.W;$i=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ga=a.W;$i=!0;break a;default:$i=!1}$i||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=ay(a,ym);if(void 0!==zm){var cC=Pc(a.ka,zm,1);a.P(ta(zm)+": "+r(cC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var dC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
||||||
a.P("\tks\tshow symbol information");else{var Am=0,Kt=a.H.Z.U,Wg=gy(a),Sd=gy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Ey(Sd));10>Am;){for(var kd=null,eC=256;Sd.Ja>>>0<a.H.cg>>>0;){Wg.Ja=a.jb(Sd,!0);if(null==Sd.xa||!eC--)break;Wg.U=Kt;if(kd=fB(a,Wg))break;Wg.U=a.jb(Sd);if(kd=fB(a,Wg,!0)){Kt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Lt=null;if("ks"==dC){var Mt=kd.match(/[0-9A-F]+$/);Mt&&(Lt=bB(a,Mt[0]))}kd=Ba(kd,50)+" ;"+(Lt||"stack="+Ey(Sd));a.P(kd);Am++}Am||
|
a.P("\tks\tshow symbol information");else{var Am=0,Lt=a.H.Z.U,Wg=gy(a),Sd=gy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Ey(Sd));10>Am;){for(var kd=null,eC=256;Sd.Ja>>>0<a.H.cg>>>0;){Wg.Ja=a.jb(Sd,!0);if(null==Sd.xa||!eC--)break;Wg.U=Lt;if(kd=fB(a,Wg))break;Wg.U=a.jb(Sd);if(kd=fB(a,Wg,!0)){Lt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Mt=null;if("ks"==dC){var Nt=kd.match(/[0-9A-F]+$/);Nt&&(Mt=bB(a,Nt[0]))}kd=Ba(kd,50)+" ;"+(Mt||"stack="+Ey(Sd));a.P(kd);Am++}Am||
|
||||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){bB(a,g[1],!0);break}cB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],aj=g[2];if(a.G){var Nt=1;"-"==aj.charAt(0)&&(Nt=-1,aj=aj.substr(1));var xe=ay(a,aj,Bm);if(void 0!==xe)switch(xe=xe*Nt|0,Bm){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ye=0;if("all"==
|
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){bB(a,g[1],!0);break}cB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],aj=g[2];if(a.G){var Ot=1;"-"==aj.charAt(0)&&(Ot=-1,aj=aj.substr(1));var xe=ay(a,aj,Bm);if(void 0!==xe)switch(xe=xe*Ot|0,Bm){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ye=0;if("all"==
|
||||||
fb)ye=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var fC=0,Xg="";for(ld in Sb)if(!fb||fb==ld){var gC=!!(a.ic&Sb[ld]);if(null===md||md==gC)Xg&&(Xg+=","),++fC%10||(Xg+="\n\t"),"key"==ld&&(ld="keys"),Xg+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
fb)ye=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var fC=0,Xg="";for(ld in Sb)if(!fb||fb==ld){var gC=!!(a.ic&Sb[ld]);if(null===md||md==gC)Xg&&(Xg+=","),++fC%10||(Xg+="\n\t"),"key"==ld&&(ld="keys"),Xg+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||||
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+(Xg||"none"));iy(a)}break;case "o":var Cm=g[1],hC=g[2];if(Cm&&"?"!=Cm){var Dm=ay(a,Cm,"port #"),Em=ay(a,hC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){eB(a,b.substr(5));break}var Ot="pr"==g[0]?1:0,rf=1+Ot;if(a.I)a.P("step in progress");
|
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+(Xg||"none"));iy(a)}break;case "o":var Cm=g[1],hC=g[2];if(Cm&&"?"!=Cm){var Dm=ay(a,Cm,"port #"),Em=ay(a,hC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){eB(a,b.substr(5));break}var Pt="pr"==g[0]?1:0,rf=1+Pt;if(a.I)a.P("step in progress");
|
||||||
else{var bj,Pt=!1,Hb=gy(a,A(a.H),a.H.Z.U);do switch(bj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Jy(a,Hb,1);bj=!0;break;case 204:case 206:a.I=rf;Jy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Jy(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Jy(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Jy(a,Hb,Hb.Hb?7:5);break;case 255:var Qt=a.jb(Hb)&14591;if(4351==Qt||6399==Qt)a.I=rf,Wz(a,Hb);break;case 243:case 242:Jy(a,Hb,1);Pt=bj=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Pt&&
|
else{var bj,Qt=!1,Hb=gy(a,A(a.H),a.H.Z.U);do switch(bj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Jy(a,Hb,1);bj=!0;break;case 204:case 206:a.I=rf;Jy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Jy(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Jy(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Jy(a,Hb,Hb.Hb?7:5);break;case 255:var Rt=a.jb(Hb)&14591;if(4351==Rt||6399==Rt)a.I=rf,Wz(a,Hb);break;case 243:case 242:Jy(a,Hb,1);Qt=bj=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Qt&&
|
||||||
(a.I=rf,Jy(a,Hb,1))}while(bj);a.I?(a.Gd(a.B,Hb,!0),Mz(a)||(a.pa&&a.pa.ld(),a.I=0)):gB(a,Ot?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Oz(a,g);break;case "t":gB(a,g[0],g[1]);break;case "u":Pz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){aB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Yg;void 0!==g[3]&&(Yg=+g[3]);
|
(a.I=rf,Jy(a,Hb,1))}while(bj);a.I?(a.Gd(a.B,Hb,!0),Mz(a)||(a.pa&&a.pa.ld(),a.I=0)):gB(a,Pt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Oz(a,g);break;case "t":gB(a,g[0],g[1]);break;case "u":Pz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){aB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Yg;void 0!==g[3]&&(Yg=+g[3]);
|
||||||
switch(g[2]){case "int":a.H.T.Se=Yg;break;case "start":a.H.T.wf=Yg;break;case "stop":a.H.T.Ue=Yg;break;default:a.P("unknown cs option");break a}void 0!==Yg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
|
switch(g[2]){case "int":a.H.T.Se=Yg;break;case "start":a.H.T.wf=Yg;break;case "stop":a.H.T.Ue=Yg;break;default:a.P("unknown cs option");break a}void 0!==Yg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
|
||||||
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){eB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in iB)Fm+="\n"+Ba(Gm,7)+iB[Gm];Jg(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(St){a.P("debugger error: "+(St.stack||St.message)),d=!1}return d}
|
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){eB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in iB)Fm+="\n"+Ba(Gm,7)+iB[Gm];Jg(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(Tt){a.P("debugger error: "+(Tt.stack||Tt.message)),d=!1}return d}
|
||||||
function ky(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Vz(a,b[+d]))return!1;return!0}
|
function ky(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Vz(a,b[+d]))return!1;return!0}
|
||||||
var Jz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Iz=[26,28,40,42,109],iB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
var Jz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Iz=[26,28,40,42,109],iB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
||||||
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Py=0,Hy=1,qy=2,Sy=3,Qy=4,Iy=5,dA=18,eA=28,$z=36,iA=80,fA=104,gA=107,Yz=176,Xz="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Py=0,Hy=1,qy=2,Sy=3,Qy=4,Iy=5,dA=18,eA=28,$z=36,iA=80,fA=104,gA=107,Yz=176,Xz="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
||||||
|
|
|
||||||
|
|
@ -1621,68 +1621,76 @@ class DebuggerPDP10 extends Debugger {
|
||||||
*/
|
*/
|
||||||
parseInstruction(sOpcode, sOperands, addr)
|
parseInstruction(sOpcode, sOperands, addr)
|
||||||
{
|
{
|
||||||
var opCode = -1, opMask, opNum;
|
var opCode = -1;
|
||||||
var sMnemonic = sOpcode.toUpperCase();
|
var opMask, opNum;
|
||||||
|
|
||||||
/*
|
if (!sOpcode) {
|
||||||
* Perform any alternate mnemonic substitutions first
|
/*
|
||||||
*/
|
* MACRO-10 permits instructions to be assembled without an explicit opcode;
|
||||||
for (var m = 0; m < DebuggerPDP10.ALTOPS.length; m++) {
|
* an address expression is sufficient. This is done to generate UUO opcodes,
|
||||||
for (var n in DebuggerPDP10.ALTOPS[m]) {
|
* for example.
|
||||||
if (!+n) continue;
|
*/
|
||||||
opNum = DebuggerPDP10.ALTOPS[m][n];
|
if (sOperands) opCode = opMask = 0;
|
||||||
if (sMnemonic == DebuggerPDP10.OPNAMES[opNum]) {
|
|
||||||
sMnemonic = DebuggerPDP10.OPNAMES[DebuggerPDP10.ALTOPS[m][0]];
|
|
||||||
if (sOperands) sOperands = this.toStrBase(+n) + ',' + sOperands;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
for (var mask in DebuggerPDP10.OPTABLE) {
|
var sMnemonic = sOpcode.toUpperCase();
|
||||||
|
/*
|
||||||
var aModes;
|
* Perform any alternate mnemonic substitutions first
|
||||||
opMask = +mask;
|
*/
|
||||||
var opMasks = DebuggerPDP10.OPTABLE[mask];
|
for (var m = 0; m < DebuggerPDP10.ALTOPS.length; m++) {
|
||||||
|
for (var n in DebuggerPDP10.ALTOPS[m]) {
|
||||||
switch(opMask) {
|
if (!+n) continue;
|
||||||
case PDP10.OPCODE.OPMODE:
|
opNum = DebuggerPDP10.ALTOPS[m][n];
|
||||||
aModes = DebuggerPDP10.OPMODES;
|
if (sMnemonic == DebuggerPDP10.OPNAMES[opNum]) {
|
||||||
break;
|
sMnemonic = DebuggerPDP10.OPNAMES[DebuggerPDP10.ALTOPS[m][0]];
|
||||||
case PDP10.OPCODE.OPCOMP:
|
if (sOperands) sOperands = this.toStrBase(+n) + ',' + sOperands;
|
||||||
aModes = DebuggerPDP10.OPCOMPS;
|
|
||||||
break;
|
|
||||||
case PDP10.OPCODE.OPTEST:
|
|
||||||
aModes = DebuggerPDP10.OPTESTS;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
aModes = [""];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
var opMode = 0;
|
|
||||||
for (var op in opMasks) {
|
|
||||||
|
|
||||||
opNum = opMasks[op];
|
|
||||||
for (var iMode = 0; iMode < aModes.length; iMode++) {
|
|
||||||
|
|
||||||
var sMode = aModes[iMode];
|
|
||||||
if (sMode == "S" && opNum > DebuggerPDP10.OPS.MOVM) sMode = "B";
|
|
||||||
var sCandidate = DebuggerPDP10.OPNAMES[opNum] + sMode;
|
|
||||||
|
|
||||||
if (sMnemonic == sCandidate) {
|
|
||||||
if (opMask != PDP10.OPCODE.OPTEST) {
|
|
||||||
opMode = iMode;
|
|
||||||
} else {
|
|
||||||
opMode = ((iMode & 0o3) << 1) | ((iMode & 0o14) << 2);
|
|
||||||
}
|
|
||||||
opCode = (op | (opMode << 6)) * PDP10.OPCODE.OP_SCALE;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
for (var mask in DebuggerPDP10.OPTABLE) {
|
||||||
|
|
||||||
|
var aModes;
|
||||||
|
opMask = +mask;
|
||||||
|
var opMasks = DebuggerPDP10.OPTABLE[mask];
|
||||||
|
|
||||||
|
switch (opMask) {
|
||||||
|
case PDP10.OPCODE.OPMODE:
|
||||||
|
aModes = DebuggerPDP10.OPMODES;
|
||||||
|
break;
|
||||||
|
case PDP10.OPCODE.OPCOMP:
|
||||||
|
aModes = DebuggerPDP10.OPCOMPS;
|
||||||
|
break;
|
||||||
|
case PDP10.OPCODE.OPTEST:
|
||||||
|
aModes = DebuggerPDP10.OPTESTS;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
aModes = [""];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
var opMode = 0;
|
||||||
|
for (var op in opMasks) {
|
||||||
|
opNum = opMasks[op];
|
||||||
|
for (var iMode = 0; iMode < aModes.length; iMode++) {
|
||||||
|
|
||||||
|
var sMode = aModes[iMode];
|
||||||
|
if (sMode == "S" && opNum > DebuggerPDP10.OPS.MOVM) sMode = "B";
|
||||||
|
var sCandidate = DebuggerPDP10.OPNAMES[opNum] + sMode;
|
||||||
|
|
||||||
|
if (sMnemonic == sCandidate) {
|
||||||
|
if (opMask != PDP10.OPCODE.OPTEST) {
|
||||||
|
opMode = iMode;
|
||||||
|
} else {
|
||||||
|
opMode = ((iMode & 0o3) << 1) | ((iMode & 0o14) << 2);
|
||||||
|
}
|
||||||
|
opCode = (op | (opMode << 6)) * PDP10.OPCODE.OP_SCALE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (opCode >= 0) break;
|
||||||
|
}
|
||||||
if (opCode >= 0) break;
|
if (opCode >= 0) break;
|
||||||
}
|
}
|
||||||
if (opCode >= 0) break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opCode >= 0) {
|
if (opCode >= 0) {
|
||||||
|
|
@ -1765,9 +1773,11 @@ class DebuggerPDP10 extends Debugger {
|
||||||
// opCode = -1;
|
// opCode = -1;
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
else if (sOperands != null) {
|
|
||||||
|
if (opCode < 0 && sOperands != null) {
|
||||||
this.println("unknown instruction: " + sOpcode + ' ' + sOperands);
|
this.println("unknown instruction: " + sOpcode + ' ' + sOperands);
|
||||||
}
|
}
|
||||||
|
|
||||||
return opCode;
|
return opCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2451,15 +2461,21 @@ class DebuggerPDP10 extends Debugger {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* loadAssembly(macro10, addrLoad)
|
* loadBin(aWords, addr)
|
||||||
*
|
*
|
||||||
* @this {DebuggerPDP10}
|
* @this {DebuggerPDP10}
|
||||||
* @param {Macro10} macro10
|
* @param {Array.<number>} aWords
|
||||||
* @param {number|null} addrLoad
|
* @param {number|null} addr
|
||||||
*/
|
*/
|
||||||
loadAssembly(macro10, addrLoad)
|
loadBin(aWords, addr)
|
||||||
{
|
{
|
||||||
this.println("loadAssembly()");
|
/*
|
||||||
|
* TODO: Decide what to do about the load address (addr); either drop it or use it.
|
||||||
|
*/
|
||||||
|
var bus = this.bus;
|
||||||
|
aWords.forEach(function(w, addr) {
|
||||||
|
bus.setWordDirect(addr, w);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -2559,7 +2575,7 @@ class DebuggerPDP10 extends Debugger {
|
||||||
var addrLoad = dbgAddr.addr;
|
var addrLoad = dbgAddr.addr;
|
||||||
this.macro10 = new Macro10(sOpcode, addrLoad, dbg, function(macro10, sURL, nErrorCode) {
|
this.macro10 = new Macro10(sOpcode, addrLoad, dbg, function(macro10, sURL, nErrorCode) {
|
||||||
if (!nErrorCode) {
|
if (!nErrorCode) {
|
||||||
dbg.loadAssembly(macro10, addrLoad);
|
dbg.loadBin(macro10.getBin(), addrLoad);
|
||||||
} else {
|
} else {
|
||||||
dbg.println("error assembling " + sURL + ": (" + nErrorCode + ")");
|
dbg.println("error assembling " + sURL + ": (" + nErrorCode + ")");
|
||||||
}
|
}
|
||||||
|
|
@ -2816,10 +2832,15 @@ class DebuggerPDP10 extends Debugger {
|
||||||
sData += this.toStrWord(w);
|
sData += this.toStrWord(w);
|
||||||
sData += ' ';
|
sData += ' ';
|
||||||
}
|
}
|
||||||
for (var i = 0; size == 1 && i < 6; i++) {
|
/*
|
||||||
var c = ((w % 64)|0) + 32;
|
* TODO: Provide some UI for choosing whether to dump SIXBIT or ASCII data.
|
||||||
sChars += String.fromCharCode(c);
|
*/
|
||||||
w /= 64;
|
var nBits = 7;
|
||||||
|
var shift = 36 - nBits;
|
||||||
|
for (var i = 0; size == 1 && shift >= 0; i++) {
|
||||||
|
var c = ((w / Math.pow(2, shift)) % Math.pow(2, nBits)) + (nBits == 6? 0x20 : 0);
|
||||||
|
sChars += (c < 0x20? '.' : String.fromCharCode(c));
|
||||||
|
shift -= nBits;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (sDump) sDump += "\n";
|
if (sDump) sDump += "\n";
|
||||||
|
|
|
||||||
|
|
@ -37,20 +37,26 @@ if (NODE) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Elements of tblMacros.
|
||||||
|
*
|
||||||
* @typedef {{
|
* @typedef {{
|
||||||
* name:(string),
|
* name:(string),
|
||||||
* nOperand:(number),
|
* nOperand:(number),
|
||||||
* aParms:(Array.<string>),
|
* aParms:(Array.<string>),
|
||||||
* aDefaults:(Array.<string>),
|
* aDefaults:(Array.<string>),
|
||||||
* sText:(string)
|
* sText:(string),
|
||||||
|
* nLine:(number)
|
||||||
* }}
|
* }}
|
||||||
*/
|
*/
|
||||||
var Mac;
|
var Mac;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Elements of tblSymbols.
|
||||||
|
*
|
||||||
* @typedef {{
|
* @typedef {{
|
||||||
* name:(string),
|
* name:(string),
|
||||||
* value:(number),
|
* value:(number),
|
||||||
|
* nLine:(number),
|
||||||
* fLabel:(boolean),
|
* fLabel:(boolean),
|
||||||
* fGlobal:(boolean),
|
* fGlobal:(boolean),
|
||||||
* fPrivate:(boolean)
|
* fPrivate:(boolean)
|
||||||
|
|
@ -62,7 +68,6 @@ var Sym;
|
||||||
* @typedef {{
|
* @typedef {{
|
||||||
* nLocation:(number),
|
* nLocation:(number),
|
||||||
* aValues:(Array.<string>),
|
* aValues:(Array.<string>),
|
||||||
* nBits:(number)
|
|
||||||
* }}
|
* }}
|
||||||
*/
|
*/
|
||||||
var Fixup;
|
var Fixup;
|
||||||
|
|
@ -111,21 +116,23 @@ class Macro10 {
|
||||||
/*
|
/*
|
||||||
* Initialize all the tables that MACRO-10 uses.
|
* Initialize all the tables that MACRO-10 uses.
|
||||||
*
|
*
|
||||||
* The Macros and Symbols tables are fairly straightforward: they are indexed by a macro or symbol
|
* The Macros (tblMacros) and Symbols (tblSymbols) tables are fairly straightforward: they are
|
||||||
* name, and each index points to a Mac or Sym object, respectively.
|
* indexed by a macro or symbol name, and each element is a Mac or Sym object, respectively.
|
||||||
*
|
*
|
||||||
* We also treat REPEAT blocks and conditional (eg, IFE) blocks like macros, except that they are
|
* We also treat REPEAT blocks and CONDITIONAL (eg, IFE) blocks like macros, except that they are
|
||||||
* anonymous and immediately invoked as appropriate. What does that mean? Well, REPEAT blocks are
|
* anonymous, parameter-less, and immediately invoked. REPEAT blocks are always immediately invoked
|
||||||
* always immediately invoked (repeatedly, based on the repeat count), whereas conditional blocks are
|
* (repeatedly, based on the repeat count), whereas CONDITIONAL blocks are either immediately
|
||||||
* either immediately invoked if the associated condition is true or skipped if the condition is false.
|
* invoked if the associated condition is true or skipped if the condition is false.
|
||||||
*
|
*
|
||||||
* Finally, we have LITERAL blocks, which are also semi-anonymous (because we give each one an
|
* Finally, we have LITERAL blocks, which are semi-anonymous (we give each one an auto-generated
|
||||||
* auto-generated label based on the current line number), but they are never immediately invoked;
|
* name based on the current location) and are automatically but not immediately invoked. Instead,
|
||||||
* instead, after we've finished processing all the lines in the original input file, we run through
|
* after we've finished processing all the lines in the original input file, we run through all
|
||||||
* all the LITERAL entries in the Macros table and process the associated statement(s).
|
* the LITERAL blocks in tblMacros and process the associated statement(s) at that time.
|
||||||
*
|
*
|
||||||
* REPEAT and LITERAL blocks are assigned internal labels, using a leading underscore ('_') so that
|
* Macros have the name that was assigned to them, REPEAT and conditional blocks have generated names
|
||||||
* they don't conflict with normal MACRO-10 labels.
|
* that match the pseudo-op (eg, "_REPEAT", "_IFE"), and LITERAL blocks have generated location-based
|
||||||
|
* names. All generated names use a leading underscore ('_') so that they don't conflict with
|
||||||
|
* normal MACRO-10 labels.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -138,16 +145,12 @@ class Macro10 {
|
||||||
*/
|
*/
|
||||||
this.tblSymbols = {};
|
this.tblSymbols = {};
|
||||||
|
|
||||||
this.nLine = 0;
|
|
||||||
this.nError = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @type {Array.<number>}
|
|
||||||
*/
|
|
||||||
this.aWords = []; // filled in by the various genXXX() functions
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {Array.<string>}
|
* @type {Array.<string>}
|
||||||
|
*
|
||||||
|
* This array is mostly a convenience; we could also enumerate all the literals by walking tblMacros
|
||||||
|
* and looking for elements with MACRO_OP.LITERAL, but the ordering wouldn't necessarily match the order
|
||||||
|
* in which the literals were defined.
|
||||||
*/
|
*/
|
||||||
this.aLiterals = [];
|
this.aLiterals = [];
|
||||||
|
|
||||||
|
|
@ -156,6 +159,13 @@ class Macro10 {
|
||||||
*/
|
*/
|
||||||
this.aFixups = [];
|
this.aFixups = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {Array.<number|undefined>}
|
||||||
|
*/
|
||||||
|
this.aWords = []; // filled in by the various genXXX() functions
|
||||||
|
|
||||||
|
this.nLine = 0;
|
||||||
|
this.nError = 0;
|
||||||
this.nLocation = this.nAddr; // advanced by the various genXXX() functions
|
this.nLocation = this.nAddr; // advanced by the various genXXX() functions
|
||||||
|
|
||||||
this.sOperator = null; // the active operator, if any
|
this.sOperator = null; // the active operator, if any
|
||||||
|
|
@ -163,12 +173,10 @@ class Macro10 {
|
||||||
this.sMacroDef = null; // the active MACRO definition name
|
this.sMacroDef = null; // the active MACRO definition name
|
||||||
this.chMacroOpen = this.chMacroClose = '';
|
this.chMacroOpen = this.chMacroClose = '';
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* If an ASCII/ASCIZ/SIXBIT pseudo-op is active, chASCII is set to the separator and sASCII collects
|
* If an ASCII/ASCIZ/SIXBIT pseudo-op is active, chASCII is set to the separator and sASCII collects
|
||||||
* the intervening character(s).
|
* the intervening character(s).
|
||||||
*/
|
*
|
||||||
|
|
||||||
/**
|
|
||||||
* @type {null|string}
|
* @type {null|string}
|
||||||
*/
|
*/
|
||||||
this.chASCII = null;
|
this.chASCII = null;
|
||||||
|
|
@ -179,7 +187,7 @@ class Macro10 {
|
||||||
this.sASCII = "";
|
this.sASCII = "";
|
||||||
|
|
||||||
var macro10 = this;
|
var macro10 = this;
|
||||||
Web.getResource(sURL, null, true, function(sURL, sResource, nErrorCode) {
|
Web.getResource(sURL, null, true, function processMacro10(sURL, sResource, nErrorCode) {
|
||||||
if (!nErrorCode) {
|
if (!nErrorCode) {
|
||||||
nErrorCode = macro10.parseFile(sURL, sResource);
|
nErrorCode = macro10.parseFile(sURL, sResource);
|
||||||
}
|
}
|
||||||
|
|
@ -187,6 +195,17 @@ class Macro10 {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* getBin()
|
||||||
|
*
|
||||||
|
* @this {Macro10}
|
||||||
|
* @return {Array.<number>}
|
||||||
|
*/
|
||||||
|
getBin()
|
||||||
|
{
|
||||||
|
return this.aWords;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* parseFile(sPath, sContents)
|
* parseFile(sPath, sContents)
|
||||||
*
|
*
|
||||||
|
|
@ -199,6 +218,7 @@ class Macro10 {
|
||||||
*/
|
*/
|
||||||
parseFile(sPath, sContents)
|
parseFile(sPath, sContents)
|
||||||
{
|
{
|
||||||
|
var macro10 = this;
|
||||||
var a = this.dbg.resetVariables();
|
var a = this.dbg.resetVariables();
|
||||||
try {
|
try {
|
||||||
var sText = sContents;
|
var sText = sContents;
|
||||||
|
|
@ -224,50 +244,70 @@ class Macro10 {
|
||||||
if (!this.parseLine(asLines[i] + '\r\n')) break;
|
if (!this.parseLine(asLines[i] + '\r\n')) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.nMacroDef) {
|
||||||
|
this.error("open block from line " + this.tblMacros[this.sMacroDef].nLine);
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < this.aLiterals.length; i++) {
|
for (i = 0; i < this.aLiterals.length; i++) {
|
||||||
var name = this.aLiterals[i];
|
var name = this.aLiterals[i];
|
||||||
var macro = this.tblMacros[name];
|
var macro = this.tblMacros[name];
|
||||||
if (!macro) {
|
if (!macro) {
|
||||||
|
/*
|
||||||
|
* This is more of an assert(), because it should never happen, regardless of input.
|
||||||
|
*/
|
||||||
this.error("missing definition for literal: " + name);
|
this.error("missing definition for literal: " + name);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
this.parseText(macro.sText);
|
this.parseText(macro.sText);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < this.aFixups.length; i++) {
|
this.aFixups.forEach(function processFixup(fixup){
|
||||||
var w = 0, nBits = 0;
|
var value = 0;
|
||||||
var fixup = this.aFixups[i];
|
var sValue = fixup.aValues[0];
|
||||||
|
var sOperand = fixup.aValues[1];
|
||||||
var nLocation = fixup.nLocation;
|
var nLocation = fixup.nLocation;
|
||||||
if (fixup.nBits < 0) {
|
if (fixup.aValues.length == 1) {
|
||||||
w = this.dbg.parseInstruction(fixup.aValues[0], fixup.aValues[1], nLocation);
|
if (sValue.indexOf('@') >= 0 || sValue.indexOf('(') >= 0) {
|
||||||
if (w < 0) {
|
sOperand = sValue;
|
||||||
this.error("unable to parse instruction: " + fixup.aValues[0] + ' ' + fixup.aValues[1]);
|
sValue = "";
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
this.aWords[nLocation++] += w;
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
for (var j = 0; j < fixup.aValues.length; j++) {
|
if (sOperand != null) {
|
||||||
var sValue = fixup.aValues[j];
|
value = macro10.dbg.parseInstruction(sValue, sOperand, nLocation);
|
||||||
var value = this.parseExpression(sValue, nLocation);
|
if (value < 0) {
|
||||||
|
macro10.error("unable to parse instruction: " + fixup.aValues[0] + ' ' + fixup.aValues[1]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
value = macro10.parseExpression(sValue, nLocation);
|
||||||
if (value === undefined) {
|
if (value === undefined) {
|
||||||
this.error("unable to parse expression: " + sValue);
|
macro10.error("unable to parse expression: " + sValue);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
w += value;
|
else if (macro10.aWords[nLocation] === undefined) {
|
||||||
nBits += fixup.nBits;
|
macro10.error("undefined fixup location: " + Str.toOct(nLocation, 0, true));
|
||||||
if (nBits < 36) {
|
}
|
||||||
w *= Math.pow(2, 36 - nBits);
|
else {
|
||||||
} else {
|
value += macro10.aWords[nLocation];
|
||||||
if (this.aWords[nLocation] === undefined) {
|
|
||||||
this.error("undefined fixup location: " + Str.toOct(nLocation, 0, true));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
this.aWords[nLocation++] += w;
|
|
||||||
w = nBits = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
/*
|
||||||
|
* At the end of the day, we only want unsigned 36-bit values, and some of our internal calculations
|
||||||
|
* already adhere to that (eg, the parseExpression() concatenation of two unsigned 18-bit values).
|
||||||
|
* But in general, the expression parser is allowed to return negative values, so that signed arithmetic
|
||||||
|
* works naturally. Perhaps that decision should be revisited, but for now, this particular mix of
|
||||||
|
* behaviors means that when checking for out-of-range values, the upper bound must be the unsigned
|
||||||
|
* WORD_LIMIT, while the lower bound must be the signed INT_LIMIT.
|
||||||
|
*
|
||||||
|
* In a perfect world, the bounds would either be -INT_LIMIT,INT_LIMIT-1 or 0,WORD_LIMIT-1. In any
|
||||||
|
* event, the truncate() call will ensure everything is an unsigned 36-bit value. The warning should
|
||||||
|
* trigger only if the original value contained more than 36 significant bits.
|
||||||
|
*/
|
||||||
|
var w = macro10.dbg.truncate(value || 0, 36, true);
|
||||||
|
if (value < -PDP10.INT_LIMIT || value >= PDP10.WORD_LIMIT) {
|
||||||
|
macro10.warning("truncated value " + Str.toOct(value) + " at location " + Str.toOct(nLocation) + " to " + Str.toOct(w));
|
||||||
|
}
|
||||||
|
macro10.aWords[nLocation] = w;
|
||||||
|
});
|
||||||
|
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
this.println(err.message);
|
this.println(err.message);
|
||||||
this.nError = -1;
|
this.nError = -1;
|
||||||
|
|
@ -341,7 +381,9 @@ class Macro10 {
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check the operands for a literal.
|
* Check the operands for a literal. If the line contains and/or ends with a literal
|
||||||
|
* we record it and replace it with an internal symbol. We assume only one literal per line,
|
||||||
|
* especially since they can be open-ended (ie, continue for multiple lines).
|
||||||
*/
|
*/
|
||||||
var sLiteral = this.getLiteral(sOperands);
|
var sLiteral = this.getLiteral(sOperands);
|
||||||
if (sLiteral) {
|
if (sLiteral) {
|
||||||
|
|
@ -349,18 +391,21 @@ class Macro10 {
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check the operands for a reserved symbol.
|
* Check the operands for any reserved symbols (ie, symbols with a trailing '#', such as "USER#").
|
||||||
*/
|
*/
|
||||||
var sReserved = this.getReserved(sOperands);
|
var sSymbol;
|
||||||
if (sReserved) {
|
while (sSymbol = this.getReserved(sOperands)) {
|
||||||
sOperands = sOperands.replace(sReserved, sReserved.slice(0, -1));
|
sOperands = sOperands.replace(sSymbol, sSymbol.slice(0, -1));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.parseMacro(sOperator, sOperands)) {
|
if (!this.parseMacro(sOperator, sOperands)) {
|
||||||
|
|
||||||
switch (sOperator) {
|
switch (sOperator) {
|
||||||
case "":
|
case "":
|
||||||
break; // eg, a blank line or a line that contains only a label and/or a comment
|
if (sOperands) {
|
||||||
|
this.genWord(0, [sOperands]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case "=":
|
case "=":
|
||||||
this.addAssign(sLabel, sOperands);
|
this.addAssign(sLabel, sOperands);
|
||||||
|
|
@ -457,7 +502,7 @@ class Macro10 {
|
||||||
{
|
{
|
||||||
var opCode = this.dbg.parseInstruction(sOpcode);
|
var opCode = this.dbg.parseInstruction(sOpcode);
|
||||||
if (opCode >= 0) {
|
if (opCode >= 0) {
|
||||||
this.genWord(opCode, [sOpcode, sOperands], -1);
|
this.genWord(opCode, [sOpcode, sOperands]);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -572,7 +617,9 @@ class Macro10 {
|
||||||
* parseExpression(sOperand, nLocation)
|
* parseExpression(sOperand, nLocation)
|
||||||
*
|
*
|
||||||
* This is a wrapper around the Debugger's parseExpression() function to take care of some
|
* This is a wrapper around the Debugger's parseExpression() function to take care of some
|
||||||
* additional requirements we have, such as interpreting '.' as the current location counter.
|
* additional requirements we have, such as interpreting a period as the current location and
|
||||||
|
* interpreting two expressions separated by two commas as the left and right 18-bit halves
|
||||||
|
* of a 36-bit value.
|
||||||
*
|
*
|
||||||
* @this {Macro10}
|
* @this {Macro10}
|
||||||
* @param {string} sOperand
|
* @param {string} sOperand
|
||||||
|
|
@ -581,21 +628,49 @@ class Macro10 {
|
||||||
*/
|
*/
|
||||||
parseExpression(sOperand, nLocation)
|
parseExpression(sOperand, nLocation)
|
||||||
{
|
{
|
||||||
|
var result;
|
||||||
|
|
||||||
if (nLocation === undefined) nLocation = this.nLocation;
|
if (nLocation === undefined) nLocation = this.nLocation;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The Debugger's parseInstruction() replaces any period not PRECEDED by a decimal digit with
|
* Check for the "period" syntax that MACRO-10 uses to represent the value of the current
|
||||||
* the current address, because our Debuggers' only other interpretation of a period is as the
|
* location. The Debugger's parseInstruction() method understands that syntax, but its
|
||||||
* suffix of a decimal integer, whereas MACRO-10's only other interpretation of a period is as
|
* parseExpression() method does not.
|
||||||
* the decimal point within a floating-point number, so here we only replace periods that are
|
*
|
||||||
* not FOLLOWED by a decimal digit.
|
* Note that the Debugger's parseInstruction() replaces any period not PRECEDED by a decimal
|
||||||
|
* digit with the current address, because our Debuggers' only other interpretation of a period
|
||||||
|
* is as the suffix of a decimal integer, whereas MACRO-10's only other interpretation of a period
|
||||||
|
* is (I think) as the decimal point within a floating-point number, so here we only replace
|
||||||
|
* periods that are not FOLLOWED by a decimal digit.
|
||||||
*/
|
*/
|
||||||
sOperand = sOperand.replace(/\.([^0-9]|$)/g, this.dbg.toStrBase(nLocation, -1) + "$1");
|
sOperand = sOperand.replace(/\.([^0-9]|$)/g, this.dbg.toStrBase(nLocation, -1) + "$1");
|
||||||
return this.dbg.parseExpression(sOperand);
|
|
||||||
|
/*
|
||||||
|
* Check for the "double comma" syntax that MACRO-10 uses to express a 36-bit value as two 18-bit halves.
|
||||||
|
*/
|
||||||
|
var match = sOperand.match(/^([^,]*),,([^,]*)$/);
|
||||||
|
if (!match) {
|
||||||
|
result = this.dbg.parseExpression(sOperand);
|
||||||
|
} else {
|
||||||
|
var wLeft = match[1]? this.dbg.parseExpression(match[1]) : 0;
|
||||||
|
if (wLeft !== undefined) {
|
||||||
|
var wRight = match[2]? this.dbg.parseExpression(match[2]) : 0;
|
||||||
|
if (wRight !== undefined) {
|
||||||
|
/*
|
||||||
|
* NOTE: These must be combined as UNSIGNED values, so that's what we tell truncate().
|
||||||
|
*/
|
||||||
|
result = this.dbg.truncate(wLeft, 18, true) * Math.pow(2, 18) + this.dbg.truncate(wRight, 18, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* getLiteral(sOperands)
|
* getLiteral(sOperands)
|
||||||
*
|
*
|
||||||
|
* Check the operands for a literal (ie, an expression starting with a square bracket).
|
||||||
|
*
|
||||||
* @this {Macro10}
|
* @this {Macro10}
|
||||||
* @param {string} sOperands
|
* @param {string} sOperands
|
||||||
* @return {string|null} (if the operands contain a literal, return it)
|
* @return {string|null} (if the operands contain a literal, return it)
|
||||||
|
|
@ -625,6 +700,8 @@ class Macro10 {
|
||||||
/**
|
/**
|
||||||
* getReserved(sOperands)
|
* getReserved(sOperands)
|
||||||
*
|
*
|
||||||
|
* Check the operands for any reserved symbols (ie, symbols with a trailing '#', such as "USER#").
|
||||||
|
*
|
||||||
* @this {Macro10}
|
* @this {Macro10}
|
||||||
* @param {string} sOperands
|
* @param {string} sOperands
|
||||||
* @return {string|null} (if the operands contain a reserved symbol, return it)
|
* @return {string|null} (if the operands contain a reserved symbol, return it)
|
||||||
|
|
@ -633,11 +710,21 @@ class Macro10 {
|
||||||
{
|
{
|
||||||
var match, sReserved = null;
|
var match, sReserved = null;
|
||||||
if (match = sOperands.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)) {
|
if (match = sOperands.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)) {
|
||||||
|
sReserved = match[0];
|
||||||
var sLabel = match[1];
|
var sLabel = match[1];
|
||||||
var name = '_' + sLabel;
|
var name = '_' + sLabel;
|
||||||
this.tblMacros[name] = {name: name, nOperand: 0, aParms: [], aDefaults: [], sText: sLabel + ": 0"};
|
if (this.tblMacros[name] !== undefined) {
|
||||||
|
this.error("reserved symbol redefined: " + sReserved);
|
||||||
|
}
|
||||||
|
this.tblMacros[name] = {
|
||||||
|
name: name,
|
||||||
|
nOperand: Macro10.MACRO_OP.RESERVED,
|
||||||
|
aParms: [],
|
||||||
|
aDefaults: [],
|
||||||
|
sText: sLabel + ": 0",
|
||||||
|
nLine: this.nLine
|
||||||
|
};
|
||||||
this.aLiterals.push(name);
|
this.aLiterals.push(name);
|
||||||
sReserved = match[0];
|
|
||||||
}
|
}
|
||||||
return sReserved;
|
return sReserved;
|
||||||
}
|
}
|
||||||
|
|
@ -733,7 +820,7 @@ class Macro10 {
|
||||||
*
|
*
|
||||||
* REPEAT blocks piggy-back on this code because they're essentially anonymous immediately-invoked macros;
|
* REPEAT blocks piggy-back on this code because they're essentially anonymous immediately-invoked macros;
|
||||||
* we use an illegal MACRO-10 symbol ('_REPEAT') to name the anonymous macro while it's being defined, and the
|
* we use an illegal MACRO-10 symbol ('_REPEAT') to name the anonymous macro while it's being defined, and the
|
||||||
* macro's nOperand field will contain the repeat count (-1 for regular macros).
|
* macro's nOperand field will contain the repeat count.
|
||||||
*
|
*
|
||||||
* The piggy-backing continues with other pseudo-ops like IFE, which again contain an anonymous block of text
|
* The piggy-backing continues with other pseudo-ops like IFE, which again contain an anonymous block of text
|
||||||
* that is immediately invoked if the criteria associated with the expression stored in the nOperand field is
|
* that is immediately invoked if the criteria associated with the expression stored in the nOperand field is
|
||||||
|
|
@ -747,10 +834,11 @@ class Macro10 {
|
||||||
*/
|
*/
|
||||||
addMacro(sOperator, sOperands)
|
addMacro(sOperator, sOperands)
|
||||||
{
|
{
|
||||||
var match, name, nOperand, aParms, aDefaults = [], iBracket;
|
var match, name, nOperand, aParms, aDefaults, iMatch;
|
||||||
|
|
||||||
this.chMacroOpen = '<';
|
this.chMacroOpen = '<';
|
||||||
this.chMacroClose = '>';
|
this.chMacroClose = '>';
|
||||||
|
aParms = aDefaults = [];
|
||||||
|
|
||||||
if (sOperator == Macro10.PSEUDO_OP.DEFINE) {
|
if (sOperator == Macro10.PSEUDO_OP.DEFINE) {
|
||||||
match = sOperands.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);
|
match = sOperands.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);
|
||||||
|
|
@ -758,25 +846,33 @@ class Macro10 {
|
||||||
this.error("unrecognized " + sOperator + " definition: " + sOperands);
|
this.error("unrecognized " + sOperator + " definition: " + sOperands);
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
name = match[1];
|
||||||
|
/*
|
||||||
|
* TODO: This may not actually be an error, but I'd like to take a look if/when it happens.
|
||||||
|
*/
|
||||||
|
if (this.tblMacros[name] !== undefined) {
|
||||||
|
this.error("macro redefined: " + name);
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* TODO: Tighten up this parsing at some point. All this is doing is extracting entire symbols
|
* TODO: Tighten up this parsing at some point. All this is doing is extracting entire symbols
|
||||||
* from within the parentheses, if any; it's NOT ensuring that those symbols are comma-separated
|
* from within the parentheses, if any; it's NOT ensuring that those symbols are comma-separated
|
||||||
* with no other intervening characters.
|
* with no other intervening characters.
|
||||||
*/
|
*/
|
||||||
name = match[1];
|
|
||||||
aParms = match[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);
|
aParms = match[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);
|
||||||
nOperand = -1;
|
nOperand = Macro10.MACRO_OP.DEFINE;
|
||||||
iBracket = 3;
|
iMatch = 3;
|
||||||
}
|
}
|
||||||
else if (sOperator == Macro10.PSEUDO_OP.LITERAL) {
|
else if (sOperator == Macro10.PSEUDO_OP.LITERAL) {
|
||||||
this.chMacroOpen = '[';
|
this.chMacroOpen = '[';
|
||||||
this.chMacroClose = ']';
|
this.chMacroClose = ']';
|
||||||
name = '_' + Str.toDec(this.nLocation, 5);
|
name = '_' + Str.toDec(this.nLocation, 5);
|
||||||
this.aLiterals.push(name);
|
if (this.tblMacros[name] !== undefined) {
|
||||||
|
this.error("literal symbol redefined: " + name);
|
||||||
|
}
|
||||||
match = [sOperands[0], name + ": " + sOperands.substr(1)];
|
match = [sOperands[0], name + ": " + sOperands.substr(1)];
|
||||||
aParms = [];
|
nOperand = Macro10.MACRO_OP.LITERAL;
|
||||||
nOperand = this.nLine;
|
this.aLiterals.push(name);
|
||||||
iBracket = 0;
|
iMatch = 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var sOperand = this.getExpression(sOperands);
|
var sOperand = this.getExpression(sOperands);
|
||||||
|
|
@ -788,9 +884,8 @@ class Macro10 {
|
||||||
sOperand = sOperand.trim();
|
sOperand = sOperand.trim();
|
||||||
match = sOperands.match(/\s*(<|)(.*)/i);
|
match = sOperands.match(/\s*(<|)(.*)/i);
|
||||||
name = '_' + sOperator;
|
name = '_' + sOperator;
|
||||||
aParms = [];
|
|
||||||
nOperand = this.parseExpression(sOperand) || 0;
|
nOperand = this.parseExpression(sOperand) || 0;
|
||||||
iBracket = 1;
|
iMatch = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -802,20 +897,16 @@ class Macro10 {
|
||||||
this.nMacroDef = 1;
|
this.nMacroDef = 1;
|
||||||
|
|
||||||
var sText = "";
|
var sText = "";
|
||||||
if (match[iBracket]) { // if there IS also an opening bracket...
|
if (match[iMatch]) { // if there IS also an opening bracket...
|
||||||
this.nMacroDef = 2; // then the macro definition has begun
|
this.nMacroDef = 2; // then the macro definition has begun
|
||||||
sText = match[iBracket + 1];
|
sText = match[iMatch + 1];
|
||||||
if (sText.slice(-1) == this.chMacroClose) { // and if there is ALSO a closing bracket...
|
if (sText.slice(-1) == this.chMacroClose) { // and if there is ALSO a closing bracket...
|
||||||
this.nMacroDef = 0; // the macro definition has ended as well
|
this.nMacroDef = 0; // the macro definition has ended as well
|
||||||
sText = sText.slice(0, -1);
|
sText = sText.slice(0, -1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (this.tblMacros[name] !== undefined) {
|
this.tblMacros[name] = {name, nOperand, aParms, aDefaults, sText, nLine: this.nLine};
|
||||||
// this.warning("macro redefined: " + name);
|
|
||||||
// }
|
|
||||||
|
|
||||||
this.tblMacros[name] = {name, nOperand, aParms, aDefaults, sText};
|
|
||||||
|
|
||||||
if (!this.nMacroDef) {
|
if (!this.nMacroDef) {
|
||||||
this.parseMacro(name);
|
this.parseMacro(name);
|
||||||
|
|
@ -874,19 +965,22 @@ class Macro10 {
|
||||||
this.error("label " + name + " redefined");
|
this.error("label " + name + " redefined");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.tblSymbols[name] = {name, value, fLabel, fGlobal, fPrivate};
|
this.tblSymbols[name] = {name, value, nLine: this.nLine, fLabel, fGlobal, fPrivate};
|
||||||
this.dbg.setVariable(name, value);
|
this.dbg.setVariable(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* addXWD()
|
* addXWD()
|
||||||
*
|
*
|
||||||
|
* The XWD pseudo-op appears to be equivalent to two values separated by two commas, which our fixup code
|
||||||
|
* must also support, so we simply treat the XWD operands as a fixup expression.
|
||||||
|
*
|
||||||
* @this {Macro10}
|
* @this {Macro10}
|
||||||
* @param {string} sOperands
|
* @param {string} sOperands
|
||||||
*/
|
*/
|
||||||
addXWD(sOperands)
|
addXWD(sOperands)
|
||||||
{
|
{
|
||||||
this.genWord(0, this.getValues(sOperands), 18);
|
this.genWord(0, [sOperands.replace(",", ",,")]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -935,17 +1029,16 @@ class Macro10 {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* genWord(w, aValues, nBits)
|
* genWord(w, aValues)
|
||||||
*
|
*
|
||||||
* @this {Macro10}
|
* @this {Macro10}
|
||||||
* @param {number} w
|
* @param {number} w (default value for the current location)
|
||||||
* @param {Array.<string>} [aValues]
|
* @param {Array.<string>} [aValues] (optional fixup value(s) to evaluate later)
|
||||||
* @param {number} [nBits] (-1 for opcode, otherwise the size of the data; default is 36)
|
|
||||||
*/
|
*/
|
||||||
genWord(w, aValues, nBits = 36)
|
genWord(w, aValues)
|
||||||
{
|
{
|
||||||
this.aWords[this.nLocation] = w;
|
this.aWords[this.nLocation] = w;
|
||||||
if (aValues) this.aFixups.push({nLocation: this.nLocation, aValues, nBits});
|
if (aValues) this.aFixups.push({nLocation: this.nLocation, aValues});
|
||||||
this.nLocation++;
|
this.nLocation++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -962,3 +1055,14 @@ Macro10.PSEUDO_OP = {
|
||||||
SUBTTL: "SUBTTL",
|
SUBTTL: "SUBTTL",
|
||||||
XWD: "XWD"
|
XWD: "XWD"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This enumerates the kinds of macros stored in tblMacros. The nOperand field should contain
|
||||||
|
* one of these values, unless it's a REPEAT or CONDITIONAL block, in which case it will contain
|
||||||
|
* either a repeat count or conditional value.
|
||||||
|
*/
|
||||||
|
Macro10.MACRO_OP = {
|
||||||
|
DEFINE: -1,
|
||||||
|
LITERAL: -2,
|
||||||
|
RESERVED: -3,
|
||||||
|
};
|
||||||
|
|
|
||||||
|
|
@ -362,23 +362,47 @@ class Debugger extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* truncate(v)
|
* truncate(v, nBits, fUnsigned)
|
||||||
*
|
*
|
||||||
* @this {Debugger}
|
* @this {Debugger}
|
||||||
* @param {number} v
|
* @param {number} v
|
||||||
|
* @param {number} [nBits]
|
||||||
|
* @param {boolean} [fUnsigned]
|
||||||
* @return {number}
|
* @return {number}
|
||||||
*/
|
*/
|
||||||
truncate(v)
|
truncate(v, nBits, fUnsigned)
|
||||||
{
|
{
|
||||||
if (this.nBits <= 32) {
|
var limit, vNew = v;
|
||||||
v = v|0;
|
nBits = nBits || this.nBits;
|
||||||
} else {
|
|
||||||
var limit = Math.pow(2, this.nBits-1);
|
if (fUnsigned) {
|
||||||
if (v < -limit || v >= limit) {
|
if (nBits == 32) {
|
||||||
var vNew = v % limit;
|
vNew = v >>> 0;
|
||||||
if (DEBUG) this.println("warning: value " + v + " truncated to " + vNew);
|
|
||||||
v = vNew;
|
|
||||||
}
|
}
|
||||||
|
else if (nBits < 32) {
|
||||||
|
vNew = v & ((1 << nBits) - 1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
limit = Math.pow(2, nBits);
|
||||||
|
if (v < 0 || v >= limit) {
|
||||||
|
vNew = v % limit;
|
||||||
|
if (vNew < 0) vNew += limit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (nBits <= 32) {
|
||||||
|
vNew = v | 0;
|
||||||
|
} else {
|
||||||
|
limit = Math.pow(2, nBits - 1);
|
||||||
|
if (v < -limit || v >= limit) {
|
||||||
|
vNew = v % limit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (v != vNew) {
|
||||||
|
if (MAXDEBUG) this.println("warning: value " + v + " truncated to " + vNew);
|
||||||
|
v = vNew;
|
||||||
}
|
}
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
@ -481,7 +505,7 @@ class Debugger extends Component {
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
aVals.push(this.truncate(valNew));
|
aVals.push(this.truncate(valNew, this.nBits));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -571,7 +595,7 @@ class Debugger extends Component {
|
||||||
fPrint = false;
|
fPrint = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
aVals.push(v);
|
aVals.push(this.truncate(v, this.nBits));
|
||||||
if (i == asValues.length) break;
|
if (i == asValues.length) break;
|
||||||
var sOp = asValues[i++], cchOp = sOp.length;
|
var sOp = asValues[i++], cchOp = sOp.length;
|
||||||
this.assert(Debugger.aBinOpPrecedence[sOp] != null);
|
this.assert(Debugger.aBinOpPrecedence[sOp] != null);
|
||||||
|
|
|
||||||
|
|
@ -196,11 +196,12 @@ l.Vd=function(a,b,c){x(this,a,b,c,"DATA");this.O=b;this.ia&=~(de|Xf);Eb(this,"tr
|
||||||
this.g.scrollHeight;this.w+=c}else if(null!=this.j){if(10==b||1024<=this.j.length)this.i(this.j),this.j="";10!=b&&(this.j+=String.fromCharCode(b))}this.u&&Xc(this.u,this.Z,Pf(this,Yf))};l.Ud=function(a,b,c){x(this,a,b,c,"CONTROL");this.F?(this.I&&(b^this.C)&(Zf|$f)&&(a=0,this.D?(a|=b&Zf?32:0,a|=b&$f?320:0):(a|=b&Zf?16:0,a|=b&$f?1048576:0),this.I.call(this.b,a)),this.C=b,this.C&ag&&(this.F=!1)):(this.B=b,this.F=!0)};l.Td=function(a,b,c){x(this,a,b,c,"BAUDRATES");this.L=b};
|
this.g.scrollHeight;this.w+=c}else if(null!=this.j){if(10==b||1024<=this.j.length)this.i(this.j),this.j="";10!=b&&(this.j+=String.fromCharCode(b))}this.u&&Xc(this.u,this.Z,Pf(this,Yf))};l.Ud=function(a,b,c){x(this,a,b,c,"CONTROL");this.F?(this.I&&(b^this.C)&(Zf|$f)&&(a=0,this.D?(a|=b&Zf?32:0,a|=b&$f?320:0):(a|=b&Zf?16:0,a|=b&$f?1048576:0),this.I.call(this.b,a)),this.C=b,this.C&ag&&(this.F=!1)):(this.B=b,this.F=!0)};l.Td=function(a,b,c){x(this,a,b,c,"BAUDRATES");this.L=b};
|
||||||
var Rf=12,Sf=16,Tf=192,$f=2,Zf=32,ag=64,de=1,Uf=2,Xf=4,Wf=128,Vf=15,Yf=240,Qf=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Of=[!1,0,0,133,142,39,238],Jf="buffer",Lf={0:If.prototype.Hd,1:If.prototype.Gd},Mf={0:If.prototype.Vd,1:If.prototype.Ud,2:If.prototype.Td};Va(function(){for(var a=rb(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=pb(c),d=new If(d);qb(d,c)}});
|
var Rf=12,Sf=16,Tf=192,$f=2,Zf=32,ag=64,de=1,Uf=2,Xf=4,Wf=128,Vf=15,Yf=240,Qf=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Of=[!1,0,0,133,142,39,238],Jf="buffer",Lf={0:If.prototype.Hd,1:If.prototype.Gd},Mf={0:If.prototype.Vd,1:If.prototype.Ud,2:If.prototype.Td};Va(function(){for(var a=rb(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=pb(c),d=new If(d);qb(d,c)}});
|
||||||
function bg(a){t.call(this,"Debugger",a);this.sa=+a.base||16;this.na=["{","}"];this.Z=["[","]"];this.N=this.Y=this.C=0;this.L=!1;this.b=-1;this.g=[];this.S={}}aa(bg,t);bg.prototype.Kb=function(){return-1};bg.prototype.Lb=function(){};
|
function bg(a){t.call(this,"Debugger",a);this.sa=+a.base||16;this.na=["{","}"];this.Z=["[","]"];this.N=this.Y=this.C=0;this.L=!1;this.b=-1;this.g=[];this.S={}}aa(bg,t);bg.prototype.Kb=function(){return-1};bg.prototype.Lb=function(){};
|
||||||
bg.prototype.Ab=function(a,b,c){if(b)if(a){0>this.b&&this.g.length&&(this.b=0);if(0>this.b||a!=this.g[this.b])this.g.splice(0,0,a),this.b=0;this.b--}else this.L?a="end":a=this.g[this.b+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Aa(a.substring(d,f))),d=f+1}}return b};function cg(a){return a|0}
|
bg.prototype.Ab=function(a,b,c){if(b)if(a){0>this.b&&this.g.length&&(this.b=0);if(0>this.b||a!=this.g[this.b])this.g.splice(0,0,a),this.b=0;this.b--}else this.L?a="end":a=this.g[this.b+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Aa(a.substring(d,f))),d=f+1}}return b};
|
||||||
|
function cg(a){var b,c=a;b=32;if(32>=b)c=a|0;else if(b=Math.pow(2,b-1),a<-b||a>=b)c=a%b;a!=c&&(a=c);return a}
|
||||||
function dg(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=
|
function dg(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=
|
||||||
f&e;break;case "!":case "|":d=f|e;break;case "^^":d=f^e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(cg(d))}return!0}
|
f&e;break;case "!":case "|":d=f|e;break;case "^^":d=f^e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(cg(d))}return!0}
|
||||||
function eg(a,b,c){var d;b&&(b=fg(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],p=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<p.length;){var u=p[e++],v=u.length,u=Aa(u);if(!u){f=!0;break}u=gg(a,u,null,!1===c);if(void 0===u){f=!0;c=!1;break}h.push(u);if(e==p.length)break;var u=p[e++],B=u.length;k.length&&hg[u]<hg[k[k.length-1]]&&dg(h,k,1);k.push(u);b=b.substr(v+B)}dg(h,k)&&1==h.length||(f=!0);f?c&&a.i("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&
|
function eg(a,b,c){var d;b&&(b=fg(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],p=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<p.length;){var u=p[e++],v=u.length,u=Aa(u);if(!u){f=!0;break}u=gg(a,u,null,!1===c);if(void 0===u){f=!0;c=!1;break}h.push(cg(u));if(e==p.length)break;var u=p[e++],B=u.length;k.length&&hg[u]<hg[k[k.length-1]]&&dg(h,k,1);k.push(u);b=b.substr(v+B)}dg(h,k)&&1==h.length||(f=!0);f?c&&a.i("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),
|
||||||
ig(a,null,d))}return d}
|
c&&ig(a,null,d))}return d}
|
||||||
function fg(a,b){var c,d=a.na[0],e=a.na[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=eg(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?jg(a,g):"undefined")}if(a.Z.length)for(d=a.Z[0],e=a.Z[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.N-
|
function fg(a,b){var c,d=a.na[0],e=a.na[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=eg(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?jg(a,g):"undefined")}if(a.Z.length)for(d=a.Z[0],e=a.Z[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.N-
|
||||||
a.Y}if(null==e)break;b=b.replace(d[0],e.toString())}return b}function gg(a,b,c,d){var e;null!=b?(e=a.Kb(b),0<=e?e=a.Lb(e):(e=a.S[b],null==e&&(e=ma(b,a.sa))),null!=e||d||a.i("invalid "+(c?c:"value")+": "+b)):d||a.i("missing "+(c||"value"));return e}
|
a.Y}if(null==e)break;b=b.replace(d[0],e.toString())}return b}function gg(a,b,c,d){var e;null!=b?(e=a.Kb(b),0<=e?e=a.Lb(e):(e=a.S[b],null==e&&(e=ma(b,a.sa))),null!=e||d||a.i("invalid "+(c?c:"value")+": "+b)):d||a.i("missing "+(c||"value"));return e}
|
||||||
function ig(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,p=void 0,u=8,v="";u?32<u&&(u=32):u=32;for(var B=null==k||isNaN(k),y=p=p||u;0<u--;)y||(v=","+v,y=p),v=(B?"?":k&1?"1":"0")+v,k>>=1,y--;g=v+g;d>>=8}d=n(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}
|
function ig(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,p=void 0,u=8,v="";u?32<u&&(u=32):u=32;for(var B=null==k||isNaN(k),y=p=p||u;0<u--;)y||(v=","+v,y=p),v=(B?"?":k&1?"1":"0")+v,k>>=1,y--;g=v+g;d>>=8}d=n(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}
|
||||||
|
|
@ -210,7 +211,7 @@ l.Ga=function(a,b,c,d){this.H=b;this.u=c;this.R=a;(a=Kc(a,"messages"))&&qg(this,
|
||||||
q(u.size)+" "+p),c!=wc&&(c=-1),p=0);a+=d.H.w;e++}}});Ab(this)};
|
q(u.size)+" "+p),c!=wc&&(c=-1),p=0);a+=d.H.w;e++}}});Ab(this)};
|
||||||
l.ca=function(a,b,c){var d=this;switch(b){case "debugInput":return this.U=this.P[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Oc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.b<d.g.length-1&&(b=d.g[++d.b])):40==a.keyCode&&(0<d.b?b=d.g[--d.b]:(b="",d.b=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.P[b]=c,Ta(c,function(){if(d.U){var a=d.U.value;d.U.value=
|
l.ca=function(a,b,c){var d=this;switch(b){case "debugInput":return this.U=this.P[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Oc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.b<d.g.length-1&&(b=d.g[++d.b])):40==a.keyCode&&(0<d.b?b=d.g[--d.b]:(b="",d.b=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.P[b]=c,Ta(c,function(){if(d.U){var a=d.U.value;d.U.value=
|
||||||
"";Oc(d,a,!0);return!0}return!1}),!0;case "step":return this.P[b]=c,Ta(c,function(a){var b=!1;Bb(d,!0)||(Cb(d,!0),b=ug(d,a?1:0),Cb(d,!1));return b}),!0}return!1};l.Za=function(){this.U&&this.U.focus()};function sg(a){a=a&&a.J;null==a&&(a=-1);return a}l.Ha=function(a,b){var c=255,d=sg(a);-1!==d&&(c=Vb(this.H,d),b&&vg(a,b));return c};l.Gb=function(a,b){var c=65535,d=sg(a);-1!==d&&(c=Xb(this.H,d),b&&vg(a,b));return c};l.Xb=function(a,b,c){var d=sg(a);-1!==d&&(Yb(this.H,d,b),c&&vg(a,c),Pc(this.u,!0))};
|
"";Oc(d,a,!0);return!0}return!1}),!0;case "step":return this.P[b]=c,Ta(c,function(a){var b=!1;Bb(d,!0)||(Cb(d,!0),b=ug(d,a?1:0),Cb(d,!1));return b}),!0}return!1};l.Za=function(){this.U&&this.U.focus()};function sg(a){a=a&&a.J;null==a&&(a=-1);return a}l.Ha=function(a,b){var c=255,d=sg(a);-1!==d&&(c=Vb(this.H,d),b&&vg(a,b));return c};l.Gb=function(a,b){var c=65535,d=sg(a);-1!==d&&(c=Xb(this.H,d),b&&vg(a,b));return c};l.Xb=function(a,b,c){var d=sg(a);-1!==d&&(Yb(this.H,d,b),c&&vg(a,c),Pc(this.u,!0))};
|
||||||
l.Qc=function(a,b,c){var d=sg(a);if(-1!==d){var e=this.H,f=d&e.j,g=(d&e.C)>>>e.g;f!=e.j?e.b[g].Sb(f,b&65535,d):(e.b[g++].qb(f,b&255,d),e.b[g&e.I].qb(0,b>>8&255,d+1));c&&vg(a,c);Pc(this.u,!0)}};function ng(a){return{J:a,Fa:!1}}function Tg(a){return[a.J,a.Fa]}function Vg(a){return{J:a[0],Fa:a[1]}}
|
l.Qc=function(a,b,c){var d=sg(a);if(-1!==d){var e=this.H,f=d&e.j,g=(d&e.C)>>>e.g;f!=e.j?e.b[g].Sb(f,b&65535,d):(e.b[g++].qb(f,b&255,d),e.b[g&e.I].qb(0,b>>8&255,d+1));c&&vg(a,c);Pc(this.u,!0)}};function ng(a){return{J:a,Fa:!1}}function wg(a){return[a.J,a.Fa]}function Ug(a){return{J:a[0],Fa:a[1]}}
|
||||||
function tg(a,b,c){var d;c=(c?a.F:a.oa).J;if(void 0!==b){d=b=fg(a,b)||b;var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.A.length;c++){var f=a.A[c].ra[d];if(void 0!==f){d=f.o;void 0!==d&&(e=ng(d));break}}if(d=e)return d;c=eg(a,b,void 0)}null!=c&&(d=ng(c));return d}function Wg(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.sd=a.Ab(b.Jc=c[2]))}function vg(a,b){null!=a.J&&(a.J+=b||1)}function Xg(a){return n(a,4)}
|
function tg(a,b,c){var d;c=(c?a.F:a.oa).J;if(void 0!==b){d=b=fg(a,b)||b;var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.A.length;c++){var f=a.A[c].ra[d];if(void 0!==f){d=f.o;void 0!==d&&(e=ng(d));break}}if(d=e)return d;c=eg(a,b,void 0)}null!=c&&(d=ng(c));return d}function Wg(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.sd=a.Ab(b.Jc=c[2]))}function vg(a,b){null!=a.J&&(a.J+=b||1)}function Xg(a){return n(a,4)}
|
||||||
function Yg(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Ha(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function qg(a,b){a.K=a;a.ha=a.wd=536870912;a.V=null;a.X=[];b=a.Ab(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Ib)0<=Fa(b,c)&&(a.ha|=Ib[c],a.i(c+" messages enabled"))}function ae(a,b,c){for(var d in Ib)if(b==Ib[d]){a.ea[d]=c;break}}
|
function Yg(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Ha(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function qg(a,b){a.K=a;a.ha=a.wd=536870912;a.V=null;a.X=[];b=a.Ab(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Ib)0<=Fa(b,c)&&(a.ha|=Ib[c],a.i(c+" messages enabled"))}function ae(a,b,c){for(var d in Ib)if(b==Ib[d]){a.ea[d]=c;break}}
|
||||||
l.Kb=function(a,b){var c;a=a.toUpperCase();null==b?c=Fa(Zg,a):(c=Fa(Zg,a.substr(b,2)),0>c&&(c=Fa(Zg,a.substr(b,1))));return c};function $g(a,b){var c=0;a=a.Lb(b);if(void 0!==a)switch(b){case ah:case bh:case ch:case dh:case eh:case fh:case gh:case hh:c=2;break;case ih:case jh:case kh:case lh:case mh:case nh:case oh:c=4}return c?n(a,c):"??"}
|
l.Kb=function(a,b){var c;a=a.toUpperCase();null==b?c=Fa(Zg,a):(c=Fa(Zg,a.substr(b,2)),0>c&&(c=Fa(Zg,a.substr(b,1))));return c};function $g(a,b){var c=0;a=a.Lb(b);if(void 0!==a)switch(b){case ah:case bh:case ch:case dh:case eh:case fh:case gh:case hh:c=2;break;case ih:case jh:case kh:case lh:case mh:case nh:case oh:c=4}return c?n(a,c):"??"}
|
||||||
|
|
@ -221,7 +222,7 @@ function Fb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.ha&h)!=h||a.message(b.cb+"."+(nu
|
||||||
function pg(a){var b;if(Td(a)){if(!a.D||!a.D.length){a.D=Array(qh);for(b=0;b<a.D.length;b++)a.D[b]=ng();a.T=0;a.i("instruction history buffer allocated")}if(!a.B||!a.B.length)for(a.B=Array(256),b=0;b<a.B.length;b++)a.B[b]=[b,0]}else a.D&&a.D.length&&a.i("instruction history buffer freed"),a.T=0,a.D=[],a.B=[]}function rh(a,b){if(!sh(a))return!1;a.u.tb(b);return!0}
|
function pg(a){var b;if(Td(a)){if(!a.D||!a.D.length){a.D=Array(qh);for(b=0;b<a.D.length;b++)a.D[b]=ng();a.T=0;a.i("instruction history buffer allocated")}if(!a.B||!a.B.length)for(a.B=Array(256),b=0;b<a.B.length;b++)a.B[b]=[b,0]}else a.D&&a.D.length&&a.i("instruction history buffer freed"),a.T=0,a.D=[],a.B=[]}function rh(a,b){if(!sh(a))return!1;a.u.tb(b);return!0}
|
||||||
function ug(a,b,c,d){if(!sh(a))return!1;a.C=0;b||Td(a)&&Ud(a,a.u.j,0);try{var e=a.u.Eb(b);0<e&&(a.C+=e,Tc(a.u,e,!0),Qc(a.u,e),a.N++)}catch(f){"number"!=typeof f&&(a.C=0,yb(a.u,f.stack||f.message))}!1!==d&&Pc(a.u);Nc(a,c||!1);return 0<a.C}l.da=function(a){this.u&&this.u.da(a)};function Nc(a,b){void 0===b&&(b=!0);a.F=ng(a.u.j);b&&1!=a.M?th(a):uh(a)}
|
function ug(a,b,c,d){if(!sh(a))return!1;a.C=0;b||Td(a)&&Ud(a,a.u.j,0);try{var e=a.u.Eb(b);0<e&&(a.C+=e,Tc(a.u,e,!0),Qc(a.u,e),a.N++)}catch(f){"number"!=typeof f&&(a.C=0,yb(a.u,f.stack||f.message))}!1!==d&&Pc(a.u);Nc(a,c||!1);return 0<a.C}l.da=function(a){this.u&&this.u.da(a)};function Nc(a,b){void 0===b&&(b=!0);a.F=ng(a.u.j);b&&1!=a.M?th(a):uh(a)}
|
||||||
function sh(a){var b;if(b=a.u&&zb(a.u))b=a.u,b.G.ja?b=!0:(b.i(b.toString()+" not powered"),b=!1);b&&!Bb(a.u)?(a=a.u,a.G.error?(a.i(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.wa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.va=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){pg(this);this.N=this.Y=0;this.V=null;this.C=0;this.F=ng(this.u.j);this.G.la=!1;vh(this);a||Nc(this)};
|
function sh(a){var b;if(b=a.u&&zb(a.u))b=a.u,b.G.ja?b=!0:(b.i(b.toString()+" not powered"),b=!1);b&&!Bb(a.u)?(a=a.u,a.G.error?(a.i(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.wa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.va=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){pg(this);this.N=this.Y=0;this.V=null;this.C=0;this.F=ng(this.u.j);this.G.la=!1;vh(this);a||Nc(this)};
|
||||||
l.save=function(){var a=new ud(this);a.set(0,Tg(this.F));a.set(1,Tg(this.O));a.set(2,[this.g,this.L,this.ha]);a.set(3,this.A);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.F=Vg(a[b++]),this.O=Vg(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.L=a[b][1],this.ha|=a[b][2]);a[3]&&(this.A=a[3]);return!0};l.start=function(a,b){this.M||this.i("running");this.G.la=!0;this.za=a;this.Aa=b};
|
l.save=function(){var a=new ud(this);a.set(0,wg(this.F));a.set(1,wg(this.O));a.set(2,[this.g,this.L,this.ha]);a.set(3,this.A);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.F=Ug(a[b++]),this.O=Ug(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.L=a[b][1],this.ha|=a[b][2]);a[3]&&(this.A=a[3]);return!0};l.start=function(a,b){this.M||this.i("running");this.G.la=!0;this.za=a;this.Aa=b};
|
||||||
l.stop=function(a,b){if(this.G.la){this.G.la=!1;this.C=b-this.Aa;if(!this.M){b="stopped";if(this.C){a-=this.za;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";Td(this)&&(b+=this.N+" opcodes, ",this.Y-=this.N,this.N=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Db(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.i(b)}Nc(this,!0);this.Za();vh(this,this.u.j)}};function Td(a){return 1<a.j.length||!!a.W}
|
l.stop=function(a,b){if(this.G.la){this.G.la=!1;this.C=b-this.Aa;if(!this.M){b="stopped";if(this.C){a-=this.za;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";Td(this)&&(b+=this.N+" opcodes, ",this.Y-=this.N,this.N=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Db(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.i(b)}Nc(this,!0);this.Za();vh(this,this.u.j)}};function Td(a){return 1<a.j.length||!!a.W}
|
||||||
function Ud(a,b,c){var d=a.u;if(0<c&&(a.W&&!--a.W||Hc(a,b,1,a.j)))return!0;0<=c&&a.B.length&&(a.N++,b=Vb(a.H,b),null!=b&&(a.B[b][1]++,b=a.D[a.T],b.J=d.j,b.Fa=!1,++a.T==a.D.length&&(a.T=0)));return!1}function dc(a,b,c){a.i("break on input from port "+q(b)+": "+n(c));a.da(!0)}function ic(a,b,c){a.i("break on output to port "+q(b)+": "+n(c));a.da(!0)}
|
function Ud(a,b,c){var d=a.u;if(0<c&&(a.W&&!--a.W||Hc(a,b,1,a.j)))return!0;0<=c&&a.B.length&&(a.N++,b=Vb(a.H,b),null!=b&&(a.B[b][1]++,b=a.D[a.T],b.J=d.j,b.Fa=!1,++a.T==a.D.length&&(a.T=0)));return!1}function dc(a,b,c){a.i("break on input from port "+q(b)+": "+n(c));a.da(!0)}function ic(a,b,c){a.i("break on output to port "+q(b)+": "+n(c));a.da(!0)}
|
||||||
function og(a){var b,c;a.j=["bp"];if(a.I)for(b=1;b<a.I.length;b++){c=a.I[b];var d=a.H;Gc(d.b[sg(c)>>>d.g],!1)}a.I=["br"];if(a.w)for(b=1;b<a.w.length;b++)c=a.w[b],d=a.H,Gc(d.b[sg(c)>>>d.g],!0);a.w=["bw"];a.ta=0}l.Pa=function(a,b,c){var d=!0;c||wh(this,a,b,!1,!0);if(a!=this.j){var e=sg(b);if(-1===e)this.i("invalid address: "+Xg(b.J)),d=!1;else{var f=this.H;f.b[e>>>f.g].Pa(e&f.j,a==this.w)}}d&&(a.push(b),c?b.Fa=!0:(xh(this,a,a.length-1,"set"),pg(this)));return d};
|
function og(a){var b,c;a.j=["bp"];if(a.I)for(b=1;b<a.I.length;b++){c=a.I[b];var d=a.H;Gc(d.b[sg(c)>>>d.g],!1)}a.I=["br"];if(a.w)for(b=1;b<a.w.length;b++)c=a.w[b],d=a.H,Gc(d.b[sg(c)>>>d.g],!0);a.w=["bw"];a.ta=0}l.Pa=function(a,b,c){var d=!0;c||wh(this,a,b,!1,!0);if(a!=this.j){var e=sg(b);if(-1===e)this.i("invalid address: "+Xg(b.J)),d=!1;else{var f=this.H;f.b[e>>>f.g].Pa(e&f.j,a==this.w)}}d&&(a.push(b),c?b.Fa=!0:(xh(this,a,a.length-1,"set"),pg(this)));return d};
|
||||||
|
|
@ -246,18 +247,18 @@ function zh(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(">> "+b):(a.L&&(a.i("e
|
||||||
u,void 0===f[2])a.i("begin assemble at "+Xg(u.J)),a.L=!0,Pc(a.u);else{var v;a.i("not supported yet");v=[];if(v.length){for(var B=0;B<v.length;B++)a.Xb(u,v[B],1);a.i(Ah(a,a.O))}}break;case "b":a:{var y=f[0],w=f[1],C=b;if("?"==w)a.i("breakpoint commands:"),a.i("\tbi [p]\ttoggle break on input port [p]"),a.i("\tbo [p]\ttoggle break on output port [p]"),a.i("\tbp [a]\tset exec breakpoint at addr [a]"),a.i("\tbr [a]\tset read breakpoint at addr [a]"),a.i("\tbw [a]\tset write breakpoint at addr [a]"),a.i("\tbc [a]\tclear breakpoint at addr [a]"),
|
u,void 0===f[2])a.i("begin assemble at "+Xg(u.J)),a.L=!0,Pc(a.u);else{var v;a.i("not supported yet");v=[];if(v.length){for(var B=0;B<v.length;B++)a.Xb(u,v[B],1);a.i(Ah(a,a.O))}}break;case "b":a:{var y=f[0],w=f[1],C=b;if("?"==w)a.i("breakpoint commands:"),a.i("\tbi [p]\ttoggle break on input port [p]"),a.i("\tbo [p]\ttoggle break on output port [p]"),a.i("\tbp [a]\tset exec breakpoint at addr [a]"),a.i("\tbr [a]\tset read breakpoint at addr [a]"),a.i("\tbw [a]\tset write breakpoint at addr [a]"),a.i("\tbc [a]\tclear breakpoint at addr [a]"),
|
||||||
a.i("\tbl\tlist all breakpoints"),a.i("\tbn [n]\tbreak after [n] instruction(s)");else{var T=y.charAt(1);if("l"==T){var za;za=0+yh(a,a.j);za+=yh(a,a.I);(za+=yh(a,a.w))||a.i("no breakpoints")}else if("n"==T)a.W=gg(a,w),a.i("break after "+a.W+" instruction(s)");else if(void 0===w)a.i("missing breakpoint address");else{var L=ng();if("*"!=w&&(L=tg(a,w,!0),!L))break a;w=q(L.J);"c"==T?null==L.J?(og(a),a.i("all breakpoints cleared")):wh(a,a.j,L)||wh(a,a.I,L)||wh(a,a.w,L)||a.i("breakpoint missing: "+Xg(L.J)):
|
a.i("\tbl\tlist all breakpoints"),a.i("\tbn [n]\tbreak after [n] instruction(s)");else{var T=y.charAt(1);if("l"==T){var za;za=0+yh(a,a.j);za+=yh(a,a.I);(za+=yh(a,a.w))||a.i("no breakpoints")}else if("n"==T)a.W=gg(a,w),a.i("break after "+a.W+" instruction(s)");else if(void 0===w)a.i("missing breakpoint address");else{var L=ng();if("*"!=w&&(L=tg(a,w,!0),!L))break a;w=q(L.J);"c"==T?null==L.J?(og(a),a.i("all breakpoints cleared")):wh(a,a.j,L)||wh(a,a.I,L)||wh(a,a.w,L)||a.i("breakpoint missing: "+Xg(L.J)):
|
||||||
"i"==T?a.i("breakpoint "+(ac(a.H,L.J)?"enabled":"cleared")+": port "+w+" (input)"):"o"==T?a.i("breakpoint "+(ec(a.H,L.J)?"enabled":"cleared")+": port "+w+" (output)"):null!=L.J&&(Wg(a,L,C),"p"==T?a.Pa(a.j,L):"r"==T?a.Pa(a.I,L):"w"==T?a.Pa(a.w,L):a.i("unknown breakpoint command: "+T))}}}break;case "c":a.ua&&(a.ua.value="");break;case "d":a:{var ja,ua=f[0],na=f[1],Ma=f[2],fc=f[3];if("?"==na){var Nb="";for(ja in Ib)a.ea[ja]&&(Nb&&(Nb+=","),Nb+=ja);Nb+=",state,symbols";a.i("dump memory commands:");a.i("\tdb [a] [#] dump # bytes at address a");
|
"i"==T?a.i("breakpoint "+(ac(a.H,L.J)?"enabled":"cleared")+": port "+w+" (input)"):"o"==T?a.i("breakpoint "+(ec(a.H,L.J)?"enabled":"cleared")+": port "+w+" (output)"):null!=L.J&&(Wg(a,L,C),"p"==T?a.Pa(a.j,L):"r"==T?a.Pa(a.I,L):"w"==T?a.Pa(a.w,L):a.i("unknown breakpoint command: "+T))}}}break;case "c":a.ua&&(a.ua.value="");break;case "d":a:{var ja,ua=f[0],na=f[1],Ma=f[2],fc=f[3];if("?"==na){var Nb="";for(ja in Ib)a.ea[ja]&&(Nb&&(Nb+=","),Nb+=ja);Nb+=",state,symbols";a.i("dump memory commands:");a.i("\tdb [a] [#] dump # bytes at address a");
|
||||||
a.i("\tdw [a] [#] dump # words at address a");a.i("\tdd [a] [#] dump # dwords at address a");a.i("\tdh [#] [#] dump # instructions from history");Nb.length&&a.i("dump extension commands:\n\t"+Nb)}else if("state"==na){var qe=bi(a.R,!0);"console"==Ma?console.log(qe):(a.ua&&(a.ua.value=""),qe&&a.i(qe))}else if("symbols"==na)for(var re=0;re<a.A.length;re++){var se=a.A[re],Ob;for(Ob in se.ra)if("."!=Ob.charAt(0)){var wg=se.ra[Ob].o;if(void 0!==wg){var xg=se.ra[Ob].l;xg&&(Ob=xg);a.i(Xg(wg)+" "+
|
a.i("\tdw [a] [#] dump # words at address a");a.i("\tdd [a] [#] dump # dwords at address a");a.i("\tdh [#] [#] dump # instructions from history");Nb.length&&a.i("dump extension commands:\n\t"+Nb)}else if("state"==na){var qe=bi(a.R,!0);"console"==Ma?console.log(qe):(a.ua&&(a.ua.value=""),qe&&a.i(qe))}else if("symbols"==na)for(var re=0;re<a.A.length;re++){var se=a.A[re],Ob;for(Ob in se.ra)if("."!=Ob.charAt(0)){var xg=se.ra[Ob].o;if(void 0!==xg){var yg=se.ra[Ob].l;yg&&(Ob=yg);a.i(Xg(xg)+" "+
|
||||||
Ob)}}}else{if("d"==ua){for(ja in Ib)if(f[1]==ja){var yg=a.ea[ja];yg?(f.shift(),f.shift(),yg(f)):a.i("no dump registered for "+na);break a}na||(ua=a.Da||"db")}else a.Da=ua;if("dh"==ua){var zg=na,Ag=Ma,Bg="",Cg=0,Na=a.T,Za=a.D;if(Za.length){var Ba=+zg||a.xa,kc=+Ag||10;isNaN(Ba)?Ba=kc:Bg="more ";Ba>Za.length&&(a.i("note: only "+Za.length+" available"),Ba=Za.length);Na-=Ba;0>Na&&(null==Za[Za.length-1].J?(Ba=Na+Ba,Na=0):Na+=Za.length);var te=[];"call"==Ag&&(kc=1E5,te=["CALL"]);for(void 0!==zg&&a.i(Ba+
|
Ob)}}}else{if("d"==ua){for(ja in Ib)if(f[1]==ja){var zg=a.ea[ja];zg?(f.shift(),f.shift(),zg(f)):a.i("no dump registered for "+na);break a}na||(ua=a.Da||"db")}else a.Da=ua;if("dh"==ua){var Ag=na,Bg=Ma,Cg="",Dg=0,Na=a.T,Za=a.D;if(Za.length){var Ba=+Ag||a.xa,kc=+Bg||10;isNaN(Ba)?Ba=kc:Cg="more ";Ba>Za.length&&(a.i("note: only "+Za.length+" available"),Ba=Za.length);Na-=Ba;0>Na&&(null==Za[Za.length-1].J?(Ba=Na+Ba,Na=0):Na+=Za.length);var te=[];"call"==Bg&&(kc=1E5,te=["CALL"]);for(void 0!==Ag&&a.i(Ba+
|
||||||
" instructions earlier:");0<kc&&Na!=a.T;){var Dg=Za[Na++];if(null==Dg.J)break;var lc=ng(Dg.J),Fi=Ba--,Eg=Ah(a,lc,"history",Fi);(!te.length||0<=Eg.indexOf(te[0]))&&a.i(Eg);lc.Jb&&(Na+=lc.Jb,kc-=lc.Jb,Ba-=lc.Jb);Na>=Za.length&&(Na=0);a.xa=Ba;Cg++;kc--}}Cg||(a.i("no "+Bg+"history available"),a.xa=void 0)}else{var $c=tg(a,na);if($c){var ad=0;Ma&&("l"==Ma.charAt(0)&&(Ma=Ma.substr(1)||fc),ad=gg(a,Ma)>>>0,65536<ad&&(ad=65536));for(var mc="",bd="dd"==ua?4:"dw"==ua?2:1,cd=bd*ad||128,Gi=cd+15>>4||1;Gi--&&0<
|
" instructions earlier:");0<kc&&Na!=a.T;){var Eg=Za[Na++];if(null==Eg.J)break;var lc=ng(Eg.J),Fi=Ba--,Fg=Ah(a,lc,"history",Fi);(!te.length||0<=Fg.indexOf(te[0]))&&a.i(Fg);lc.Jb&&(Na+=lc.Jb,kc-=lc.Jb,Ba-=lc.Jb);Na>=Za.length&&(Na=0);a.xa=Ba;Dg++;kc--}}Dg||(a.i("no "+Cg+"history available"),a.xa=void 0)}else{var $c=tg(a,na);if($c){var ad=0;Ma&&("l"==Ma.charAt(0)&&(Ma=Ma.substr(1)||fc),ad=gg(a,Ma)>>>0,65536<ad&&(ad=65536));for(var mc="",bd="dd"==ua?4:"dw"==ua?2:1,cd=bd*ad||128,Gi=cd+15>>4||1;Gi--&&0<
|
||||||
cd;){var dd=0,ue=0,nc,ve="",Fg="",na=Xg($c.J);for(nc=16;0<nc&&0<cd;nc--){var ed=a.Ha($c,1),dd=dd|ed<<(ue++<<3);ue==bd&&(ve+=n(dd,2*bd),ve+=1==bd?9==nc?"-":" ":" ",dd=ue=0);Fg+=32<=ed&&128>ed?String.fromCharCode(ed):".";cd--}mc&&(mc+="\n");mc+=na+" "+ve+(nc?"":" "+Fg)}mc&&a.i(mc);a.oa=$c}}}}break;case "e":if("else"==f[0])break;var fd=1,Gg=255,Hg=a.Ha,Ig=a.Xb;"ew"==f[0]&&(fd=2,Gg=65535,Hg=a.Gb,Ig=a.Qc);var Jg=fd<<1,Kg=f[1];if(null==Kg)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),
|
cd;){var dd=0,ue=0,nc,ve="",Gg="",na=Xg($c.J);for(nc=16;0<nc&&0<cd;nc--){var ed=a.Ha($c,1),dd=dd|ed<<(ue++<<3);ue==bd&&(ve+=n(dd,2*bd),ve+=1==bd?9==nc?"-":" ":" ",dd=ue=0);Gg+=32<=ed&&128>ed?String.fromCharCode(ed):".";cd--}mc&&(mc+="\n");mc+=na+" "+ve+(nc?"":" "+Gg)}mc&&a.i(mc);a.oa=$c}}}}break;case "e":if("else"==f[0])break;var fd=1,Hg=255,Ig=a.Ha,Jg=a.Xb;"ew"==f[0]&&(fd=2,Hg=65535,Ig=a.Gb,Jg=a.Qc);var Kg=fd<<1,Lg=f[1];if(null==Lg)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),
|
||||||
a.i("\tew [a] [...] edit words at address a");else{var gd=tg(a,Kg);if(gd)for(var hd=2;hd<f.length;hd++){var oc=eg(a,f[hd]);if(void 0===oc){a.i("unrecognized value: "+f[hd]);break}oc&~Gg&&a.i("warning: "+n(oc)+" exceeds "+fd+"-byte value");var Hi=Hg.call(a,gd);a.i("changing "+Xg(gd.J)+" from "+n(Hi,Jg,!0)+" to "+n(oc,Jg,!0));Ig.call(a,gd,oc,fd)}}break;case "f":Wh(a,f[1]);break;case "g":a:{var Lg=f[1],Ii=b;if(void 0!==Lg){var we=tg(a,Lg,!0);if(!we)break a;Wg(a,we,Ii);a.Pa(a.j,we,!0)}rh(a,!0)||c||a.i("cpu busy or unavailable, run command ignored")}break;
|
a.i("\tew [a] [...] edit words at address a");else{var gd=tg(a,Lg);if(gd)for(var hd=2;hd<f.length;hd++){var oc=eg(a,f[hd]);if(void 0===oc){a.i("unrecognized value: "+f[hd]);break}oc&~Hg&&a.i("warning: "+n(oc)+" exceeds "+fd+"-byte value");var Hi=Ig.call(a,gd);a.i("changing "+Xg(gd.J)+" from "+n(Hi,Kg,!0)+" to "+n(oc,Kg,!0));Jg.call(a,gd,oc,fd)}}break;case "f":Wh(a,f[1]);break;case "g":a:{var Mg=f[1],Ii=b;if(void 0!==Mg){var we=tg(a,Mg,!0);if(!we)break a;Wg(a,we,Ii);a.Pa(a.j,we,!0)}rh(a,!0)||c||a.i("cpu busy or unavailable, run command ignored")}break;
|
||||||
case "h":a:{var xe;if(a.G.la)xe="halting",a.da();else{if(Bb(a,!0))break a;xe="already halted"}c||a.i(xe)}break;case "i":if("if"==f[0]){var ye;var pc=b.substr(2),pc=Aa(pc);eg(a,pc)?(c||a.i("true: "+pc),ye=!0):(c||a.i("false: "+pc),ye=!1);ye||(d=!1);break}if("int"==f[0]){var id;var Ji=f[1];if(a.u.N&512){var ze=eg(a,Ji);null==ze?id=!1:(a.i("requesting interrupt level "+ze),Sd(a.u,ze),id=!0)}else a.i("interrupts disabled (use rif=1 to enable)"),id=!1;id||(d=!1);break}var Ae=f[1];if(Ae&&"?"!=Ae){var Be=
|
case "h":a:{var xe;if(a.G.la)xe="halting",a.da();else{if(Bb(a,!0))break a;xe="already halted"}c||a.i(xe)}break;case "i":if("if"==f[0]){var ye;var pc=b.substr(2),pc=Aa(pc);eg(a,pc)?(c||a.i("true: "+pc),ye=!0):(c||a.i("false: "+pc),ye=!1);ye||(d=!1);break}if("int"==f[0]){var id;var Ji=f[1];if(a.u.N&512){var ze=eg(a,Ji);null==ze?id=!1:(a.i("requesting interrupt level "+ze),Sd(a.u,ze),id=!0)}else a.i("interrupts disabled (use rif=1 to enable)"),id=!1;id||(d=!1);break}var Ae=f[1];if(Ae&&"?"!=Ae){var Be=
|
||||||
gg(a,Ae);if(void 0!==Be){var Ki=cc(a.H,Be);a.i(q(Be)+": "+qa(Ki))}}else a.i("input commands:"),a.i("\ti [p]\tread port [p]"),a.i("warning: port accesses can affect hardware state");break;case "k":var Li=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Ce=0,Mg=ng(),qc=ng(a.u.M);for(a.i("stack trace for "+Xg(qc.J));10>Ce;){for(var ub=null,Mi=256;65536>qc.J>>>0;){Mg.J=a.Gb(qc,2);if(null==qc.J||!Mi--)break;for(var Ni=a,jd=Mg,
|
gg(a,Ae);if(void 0!==Be){var Ki=cc(a.H,Be);a.i(q(Be)+": "+qa(Ki))}}else a.i("input commands:"),a.i("\ti [p]\tread port [p]"),a.i("warning: port accesses can affect hardware state");break;case "k":var Li=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Ce=0,Ng=ng(),qc=ng(a.u.M);for(a.i("stack trace for "+Xg(qc.J));10>Ce;){for(var ub=null,Mi=256;65536>qc.J>>>0;){Ng.J=a.Gb(qc,2);if(null==qc.J||!Mi--)break;for(var Ni=a,jd=Ng,
|
||||||
Ng=null,rc=jd.J,Og=rc,De=1;6>=De&&rc;De++){if(2<De){jd.J=rc;var kd=Ah(Ni,jd);if(0<=kd.indexOf("CALL")){var Pg=kd.indexOf(" ");if(rc+(kd.indexOf(" ",Pg+1)-Pg-1)/2==Og){Ng=kd;break}}}rc--}jd.J=Og;if(ub=Ng)break}if(!ub||null==ub)break;var Qg=null;if("ks"==Li){var Rg=ub.match(/[0-9A-F]+$/);Rg&&(Qg=Yh(a,Rg[0]))}ub=ya(ub,50)+" ;"+(Qg||"stack="+Xg(qc.J));a.i(ub);Ce++}Ce||a.i("no return addresses found")}break;case "l":"ln"==f[0]&&Yh(a,f[1],!0);break;case "m":a:{var $a,ab=null,ba=f[1];"?"==ba&&(ba=void 0);
|
Og=null,rc=jd.J,Pg=rc,De=1;6>=De&&rc;De++){if(2<De){jd.J=rc;var kd=Ah(Ni,jd);if(0<=kd.indexOf("CALL")){var Qg=kd.indexOf(" ");if(rc+(kd.indexOf(" ",Qg+1)-Qg-1)/2==Pg){Og=kd;break}}}rc--}jd.J=Pg;if(ub=Og)break}if(!ub||null==ub)break;var Rg=null;if("ks"==Li){var Sg=ub.match(/[0-9A-F]+$/);Sg&&(Rg=Yh(a,Sg[0]))}ub=ya(ub,50)+" ;"+(Rg||"stack="+Xg(qc.J));a.i(ub);Ce++}Ce||a.i("no return addresses found")}break;case "l":"ln"==f[0]&&Yh(a,f[1],!0);break;case "m":a:{var $a,ab=null,ba=f[1];"?"==ba&&(ba=void 0);
|
||||||
if(void 0!==ba){var nb=0;if("all"==ba)nb=1878917119,ba=null;else if("on"==ba)ab=!0,ba=null;else if("off"==ba)ab=!1,ba=null;else{"keys"==ba&&(ba="key");"kbd"==ba&&(ba="keyboard");for($a in Ib)if(ba==$a){nb=Ib[$a];ab=!!(a.ha&nb);break}if(!nb){a.i("unknown message category: "+ba);break a}}if(nb)if("on"==f[2])a.ha|=nb,ab=!0;else if("off"==f[2]&&(a.ha&=~nb,ab=!1,1073741824==nb)){for(var Ee=0;Ee<a.X.length;Ee++)a.i(a.X[Ee]);a.X=[]}}var Oi=0,sc="";for($a in Ib)if(!ba||ba==$a){var Pi=!!(a.ha&Ib[$a]);if(null===
|
if(void 0!==ba){var nb=0;if("all"==ba)nb=1878917119,ba=null;else if("on"==ba)ab=!0,ba=null;else if("off"==ba)ab=!1,ba=null;else{"keys"==ba&&(ba="key");"kbd"==ba&&(ba="keyboard");for($a in Ib)if(ba==$a){nb=Ib[$a];ab=!!(a.ha&nb);break}if(!nb){a.i("unknown message category: "+ba);break a}}if(nb)if("on"==f[2])a.ha|=nb,ab=!0;else if("off"==f[2]&&(a.ha&=~nb,ab=!1,1073741824==nb)){for(var Ee=0;Ee<a.X.length;Ee++)a.i(a.X[Ee]);a.X=[]}}var Oi=0,sc="";for($a in Ib)if(!ba||ba==$a){var Pi=!!(a.ha&Ib[$a]);if(null===
|
||||||
ab||ab==Pi)sc&&(sc+=","),++Oi%10||(sc+="\n\t"),"key"==$a&&($a="keys"),sc+=$a}void 0===ba&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.i((null!==ab?ab?"messages on: ":"messages off: ":"message categories:\n\t")+(sc||"none"));pg(a)}break;case "o":var Fe=f[1],Qi=f[2];if(Fe&&"?"!=Fe){var Ge=gg(a,Fe,"port #"),He=gg(a,Qi);void 0!==Ge&&void 0!==He&&(hc(a.H,Ge,He),a.i(q(Ge)+": "+qa(He)))}else a.i("output commands:"),a.i("\to [p] [b]\twrite byte [b] to port [p]"),a.i("warning: port accesses can affect hardware state");
|
ab||ab==Pi)sc&&(sc+=","),++Oi%10||(sc+="\n\t"),"key"==$a&&($a="keys"),sc+=$a}void 0===ba&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.i((null!==ab?ab?"messages on: ":"messages off: ":"message categories:\n\t")+(sc||"none"));pg(a)}break;case "o":var Fe=f[1],Qi=f[2];if(Fe&&"?"!=Fe){var Ge=gg(a,Fe,"port #"),He=gg(a,Qi);void 0!==Ge&&void 0!==He&&(hc(a.H,Ge,He),a.i(q(Ge)+": "+qa(He)))}else a.i("output commands:"),a.i("\to [p] [b]\twrite byte [b] to port [p]"),a.i("warning: port accesses can affect hardware state");
|
||||||
break;case "p":if("print"==f[0]){$h(a,b.substr(5));break}var Sg="pr"==f[0]?1:0,Ri=1+Sg;if(a.M)a.i("step in progress");else{var Ie=ng(a.u.j);switch(a.Ha(Ie)){case 205:a.M=Ri,vg(Ie,3)}a.M?(a.Pa(a.j,Ie,!0),rh(a)||(a.R&&a.R.Za(),a.M=0)):ai(a,Sg?"tr":"t")}break;case "r":if("reset"==b){a.R&&a.R.reset();break}th(a,f);break;case "s":Zh(a,f);break;case "t":ai(a,f[0],f[1]);break;case "u":uh(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Xh(a,b.substr(3))||(d=!1);break}a.i("PC8080 version 1.34.2 ("+a.u.xb+",RELEASE"+
|
break;case "p":if("print"==f[0]){$h(a,b.substr(5));break}var Tg="pr"==f[0]?1:0,Ri=1+Tg;if(a.M)a.i("step in progress");else{var Ie=ng(a.u.j);switch(a.Ha(Ie)){case 205:a.M=Ri,vg(Ie,3)}a.M?(a.Pa(a.j,Ie,!0),rh(a)||(a.R&&a.R.Za(),a.M=0)):ai(a,Tg?"tr":"t")}break;case "r":if("reset"==b){a.R&&a.R.reset();break}th(a,f);break;case "s":Zh(a,f);break;case "t":ai(a,f[0],f[1]);break;case "u":uh(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Xh(a,b.substr(3))||(d=!1);break}a.i("PC8080 version 1.34.2 ("+a.u.xb+",RELEASE"+
|
||||||
(Gb?",TYPEDARRAYS":",LONGARRAYS")+")");a.i(Ia());break;case "?":if(f[1]){$h(a,b.substr(1));break}var Je="commands:",Ke;for(Ke in ci)Je+="\n"+ya(Ke,9)+ci[Ke];Td(a)||(Je+="\nnote: frequency/history disabled if no exec breakpoints");a.i(Je);break;default:a.i("unknown command: "+b),d=!1}}}catch(Ug){a.i("debugger error: "+(Ug.stack||Ug.message)),d=!1}return d}function Oc(a,b,c){b=a.Ab(b,c);for(var d in b)if(!zh(a,b[+d]))return!1;return!0}
|
(Gb?",TYPEDARRAYS":",LONGARRAYS")+")");a.i(Ia());break;case "?":if(f[1]){$h(a,b.substr(1));break}var Je="commands:",Ke;for(Ke in ci)Je+="\n"+ya(Ke,9)+ci[Ke];Td(a)||(Je+="\nnote: frequency/history disabled if no exec breakpoints");a.i(Je);break;default:a.i("unknown command: "+b),d=!1}}}catch(Vg){a.i("debugger error: "+(Vg.stack||Vg.message)),d=!1}return d}function Oc(a,b,c){b=a.Ab(b,c);for(var d in b)if(!zh(a,b[+d]))return!1;return!0}
|
||||||
var ci={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},
|
var ci={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},
|
||||||
mg=8080,Bh=8086,Ch="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "),Dh="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ MOV MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),
|
mg=8080,Bh=8086,Ch="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "),Dh="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ MOV MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),
|
||||||
bh=0,ch=1,dh=2,eh=3,fh=4,gh=5,hh=6,ah=7,ih=8,jh=9,kh=10,lh=11,mh=12,nh=13,oh=14,Zg="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Gh=15,Fh=240,Oh=3840,Hh=61440,Eh=0,Q=1,Kh=2,Lh=3,Nh=16,P=32,Mh=64,Ph=128,R=ah<<8|Nh|Q,S=bh<<8|Nh|Q,U=ch<<8|Nh|Q,V=dh<<8|Nh|Q,W=eh<<8|Nh|Q,X=fh<<8|Nh|Q,Y=gh<<8|Nh|Q,Z=hh<<8|Nh|Q|Mh,di=ih<<8|Nh|Lh,ei=jh<<8|Nh|Lh,fi=kh<<8|Nh|Lh,gi=lh<<8|Nh|Lh,hi=oh<<8|Nh|Lh,Jh=4096,Ih=8192,O=16384,Qh=32768,rg=[[45],[42,di,P],[71,di|Mh,R|O],[29,di],[28,S],[22,S],[44,S,P],[63],[45,Qh],[21,
|
bh=0,ch=1,dh=2,eh=3,fh=4,gh=5,hh=6,ah=7,ih=8,jh=9,kh=10,lh=11,mh=12,nh=13,oh=14,Zg="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Gh=15,Fh=240,Oh=3840,Hh=61440,Eh=0,Q=1,Kh=2,Lh=3,Nh=16,P=32,Mh=64,Ph=128,R=ah<<8|Nh|Q,S=bh<<8|Nh|Q,U=ch<<8|Nh|Q,V=dh<<8|Nh|Q,W=eh<<8|Nh|Q,X=fh<<8|Nh|Q,Y=gh<<8|Nh|Q,Z=hh<<8|Nh|Q|Mh,di=ih<<8|Nh|Lh,ei=jh<<8|Nh|Lh,fi=kh<<8|Nh|Lh,gi=lh<<8|Nh|Lh,hi=oh<<8|Nh|Lh,Jh=4096,Ih=8192,O=16384,Qh=32768,rg=[[45],[42,di,P],[71,di|Mh,R|O],[29,di],[28,S],[22,S],[44,S,P],[63],[45,Qh],[21,
|
||||||
|
|
|
||||||
|
|
@ -566,7 +566,7 @@ function ct(a){if(0<=a.aa){if(void 0!==a.M){var b=dt<<8,c=a.M[a.aa];if(c&b){var
|
||||||
function ft(a){var b,c=a.C;a.Pc=!1;var d=c.xd[5];if(null!=d){b=ur;var e=wr,f=c.xd[3]&31;switch(d&3){case 0:if(f){e=wr|32;switch(f&24){case 8:e=wr|96;break;case 16:e=wr|160;break;case 24:e=wr|224}c.Qc=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.La==dq&&(e=3,c.Qc=f&7)}d&8&&(b=1280);c=c.$d[4];null!=c&&(c&4||(b|=vr,e|=xr),d&64&&(c&8&&(b|=16384,e|=4),a.Pc=!0));b|=e}return b}
|
function ft(a){var b,c=a.C;a.Pc=!1;var d=c.xd[5];if(null!=d){b=ur;var e=wr,f=c.xd[3]&31;switch(d&3){case 0:if(f){e=wr|32;switch(f&24){case 8:e=wr|96;break;case 16:e=wr|160;break;case 24:e=wr|224}c.Qc=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.La==dq&&(e=3,c.Qc=f&7)}d&8&&(b=1280);c=c.$d[4];null!=c&&(c&4||(b|=vr,e|=xr),d&64&&(c&8&&(b|=16384,e|=4),a.Pc=!0));b|=e}return b}
|
||||||
function gt(a,b){var c=a.C;return c&&null!=b&&b!=c.tg?(c.Kg(b),a.ka.Kg(c.bb,c.Ob,c.fh(),!0),!0):!1}
|
function gt(a,b){var c=a.C;return c&&null!=b&&b!=c.tg?(c.Kg(b),a.ka.Kg(c.bb,c.Ob,c.fh(),!0),!0):!1}
|
||||||
function Os(a,b){var c,d=a.oa,e=a.C;if(e)if(e.La==ps)d=Es;else if(e.La>=bq){var d=null,f=e.qd>>2,g=32768<f?32768:f,h=e.xd[6];if(null!=h){switch(h&12){case 0:e.bb=655360;e.Ob=f;d=ht;break;case 4:e.bb=655360;e.Ob=f;d=a.ga==Ul?it:jt;break;case 8:e.bb=720896;e.Ob=g;d=Es;break;case 12:e.bb=753664,e.Ob=g,d=a.ga==Ul?kt:Cs}c=80==(e.xd[5]&80);!c||e.bb==a.bb&&e.Ob==a.Ob||(b=!0);var f=Kr(e,Or),g=e.Wa[fs],k=e.Wa[23],m=e.$d[1]&8;d!=ht&&(h&1?655360==e.bb||c||k&1?e.xd[5]&64?d=g&31?143>=e.Wa[Wr]?lt:mt:nt:g&128||
|
function Os(a,b){var c,d=a.oa,e=a.C;if(e)if(e.La==ps)d=Es;else if(e.La>=bq){var d=null,f=e.qd>>2,g=32768<f?32768:f,h=e.xd[6];if(null!=h){switch(h&12){case 0:e.bb=655360;e.Ob=f;d=ht;break;case 4:e.bb=655360;e.Ob=f;d=a.ga==Ul?it:jt;break;case 8:e.bb=720896;e.Ob=g;d=Es;break;case 12:e.bb=753664,e.Ob=g,d=a.ga==Ul?kt:Cs}c=80==(e.xd[5]&80);!c||e.bb==a.bb&&e.Ob==a.Ob||(b=!0);var f=Kr(e,Or),g=e.Wa[fs],k=e.Wa[23],m=e.$d[1]&8;d!=ht&&(h&1?655360==e.bb||c||k&1?e.xd[5]&64?d=g&31?143>=e.Wa[Wr]?lt:mt:nt:g&128||
|
||||||
350>f?d=m?ot:pt:480<=f&&(d=a.ga==Ul?qt:rt):d=m?7-d:st:d-=m?2:0);c=ft(a)}}else e.Xc&8&&(e.Xc&2?(d=e.Xc&16?st:Rt,e.Xc&4||--d):(d=e.Xc&1?Cs:Tt,e.Xc&4&&--d));else a.oa=null,null==d&&(d=a.da);if(!Hs(a,d,b))return!1;gt(a,c);return!0}
|
350>f?d=m?ot:pt:480<=f&&(d=a.ga==Ul?qt:rt):d=m?7-d:st:d-=m?2:0);c=ft(a)}}else e.Xc&8&&(e.Xc&2?(d=e.Xc&16?st:tt,e.Xc&4||--d):(d=e.Xc&1?Cs:St,e.Xc&4&&--d));else a.oa=null,null==d&&(d=a.da);if(!Hs(a,d,b))return!1;gt(a,c);return!0}
|
||||||
function Hs(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Ad=0;a.oa=b;a.Ga=!1;b=a.C||(b==Es?a.Y:a.K);if(b!=a.C||b.bb!=a.bb||b.Ob!=a.Ob){ct(a);if(a.bb){if(!Cc(a.ka,a.bb,a.Ob))return!1;a.C&&(a.C.rc=!1)}a.C=b;b.rc=!0;a.bb=b.bb;a.Ob=b.Ob;if(!pc(a.ka,b.bb,b.Ob,3,b===a.A?b:null))return!1}a:{a.I=0;a.F=a.Fb;a.J=a.sc;a.Ma=a.F;a.Eb=is[Es][2];b=0;if(c=is[a.oa])a.F=c[0],a.J=c[1],a.Eb=c[2],b=c[3],a.I=c[4],4!=a.ga&&7!=a.ga||a.C!==a.A||a.I!=Ws||(7==(a.A.Wa[fs]&31)?a.J=350>Kr(a.A,Wr)?43:50:a.I=a.La);a.Wc=a.F*a.J|0;a.Vc=a.Wc/
|
function Hs(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Ad=0;a.oa=b;a.Ga=!1;b=a.C||(b==Es?a.Y:a.K);if(b!=a.C||b.bb!=a.bb||b.Ob!=a.Ob){ct(a);if(a.bb){if(!Cc(a.ka,a.bb,a.Ob))return!1;a.C&&(a.C.rc=!1)}a.C=b;b.rc=!0;a.bb=b.bb;a.Ob=b.Ob;if(!pc(a.ka,b.bb,b.Ob,3,b===a.A?b:null))return!1}a:{a.I=0;a.F=a.Fb;a.J=a.sc;a.Ma=a.F;a.Eb=is[Es][2];b=0;if(c=is[a.oa])a.F=c[0],a.J=c[1],a.Eb=c[2],b=c[3],a.I=c[4],4!=a.ga&&7!=a.ga||a.C!==a.A||a.I!=Ws||(7==(a.A.Wa[fs]&31)?a.J=350>Kr(a.A,Wr)?43:50:a.I=a.La);a.Wc=a.F*a.J|0;a.Vc=a.Wc/
|
||||||
a.Eb|0;a.Xa=a.Vc;a.Pb=0;void 0!==b&&(a.Xa=(a.Xa<<1)+b|0,a.Pb=a.Xa+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.Ya=a.eb=0;b&&(a.Ya=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.Ya=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.Ya,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.Ya;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0;
|
a.Eb|0;a.Xa=a.Vc;a.Pb=0;void 0!==b&&(a.Xa=(a.Xa<<1)+b|0,a.Pb=a.Xa+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.Ya=a.eb=0;b&&(a.Ya=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.Ya=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.Ya,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.Ya;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0;
|
||||||
a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0<b&&(a.vc=b>>1,a.Qb-=b);0<c&&(a.zc=c>>1,a.Rb-=c);if(b||c)a.L.fillStyle=a.O.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.la)}}Ut(a,!0);zs(a)}return!0}function at(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Vt(a){a.ya=-1;a.ma=!1;var b=a.Vc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function Ut(a,b){b||(a.Ga=!1);Vt(a)}
|
a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0<b&&(a.vc=b>>1,a.Qb-=b);0<c&&(a.zc=c>>1,a.Rb-=c);if(b||c)a.L.fillStyle=a.O.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.la)}}Ut(a,!0);zs(a)}return!0}function at(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Vt(a){a.ya=-1;a.ma=!1;var b=a.Vc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function Ut(a,b){b||(a.Ga=!1);Vt(a)}
|
||||||
|
|
@ -589,8 +589,8 @@ l.Xn=function(a,b,c){if(du||this.A.xd[this.A.yd]!==b)c&&!t(this)||v(this,975,b,c
|
||||||
l.gm=function(a,b){return Zt(this,this.K,a,b)};l.In=function(a,b,c){var d=this.K;d.Fg=d.ec;d.ec=b&31;v(this,a,b,c,"CRTC.INDX")};l.fm=function(a,b){return $t(this,this.K,a,b)};l.Hn=function(a,b,c){au(this,this.K,a,b,c)};l.hm=function(a,b){return bu(this,this.K,b)};l.Jn=function(a,b,c){a=this.K;v(this,a.port+4,b,c,"MODE");a.Xc=b;Os(this,!1)};l.em=function(a,b){var c=this.K.Ze;b&&!t(this)||v(this,a,null,b,this.K.type+".COLOR",c);return c};
|
l.gm=function(a,b){return Zt(this,this.K,a,b)};l.In=function(a,b,c){var d=this.K;d.Fg=d.ec;d.ec=b&31;v(this,a,b,c,"CRTC.INDX")};l.fm=function(a,b){return $t(this,this.K,a,b)};l.Hn=function(a,b,c){au(this,this.K,a,b,c)};l.hm=function(a,b){return bu(this,this.K,b)};l.Jn=function(a,b,c){a=this.K;v(this,a.port+4,b,c,"MODE");a.Xc=b;Os(this,!1)};l.em=function(a,b){var c=this.K.Ze;b&&!t(this)||v(this,a,null,b,this.K.type+".COLOR",c);return c};
|
||||||
l.Gn=function(a,b,c){c&&!t(this)||v(this,a,b,c,this.K.type+".COLOR");this.K.Ze!==b&&(this.K.Ze=b,Ut(this,!1))};l.im=function(a,b){return cu(this,this.K,b)};function Zt(a,b,c,d){var e;b.rc&&(e=b.ec);v(a,c,null,d,"CRTC.INDX",e);return e}function $t(a,b,c,d){var e;b.rc&&b.ec<b.oh&&(e=b.Wa[b.ec]);d&&!t(a)||v(a,c,null,d,"CRTC."+b.gg[b.ec],e);return e}
|
l.Gn=function(a,b,c){c&&!t(this)||v(this,a,b,c,this.K.type+".COLOR");this.K.Ze!==b&&(this.K.Ze=b,Ut(this,!1))};l.im=function(a,b){return cu(this,this.K,b)};function Zt(a,b,c,d){var e;b.rc&&(e=b.ec);v(a,c,null,d,"CRTC.INDX",e);return e}function $t(a,b,c,d){var e;b.rc&&b.ec<b.oh&&(e=b.Wa[b.ec]);d&&!t(a)||v(a,c,null,d,"CRTC."+b.gg[b.ec],e);return e}
|
||||||
function au(a,b,c,d,e){if(b.ec<b.oh){if(du||b.Wa[b.ec]!==d)e&&!t(a)||v(a,c,d,e,"CRTC."+b.gg[b.ec]),b.Wa[b.ec]=d;if(12==b.ec||13==b.ec)Xt(a,b)&1?(c=(b.Wa[12]<<8)+b.Wa[13]|0,b.vd!==c&&(b.vd=c,Ut(a))):b.Ye||(b.Ye=b.fi);(9==b.ec&&8!=b.Fg||b.ec==Wr&&223==d)&&Os(a,!0);Ps(a)}}function bu(a,b,c){var d=b.Xc;v(a,b.port+4,null,c,"MODE",d);return d}function cu(a,b,c){var d=Xt(a,b);b===a.A?(d|=b.fa&48^48,b.Ke=!1):d=(b.fa^=9)|240;b.fa=d;v(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
|
function au(a,b,c,d,e){if(b.ec<b.oh){if(du||b.Wa[b.ec]!==d)e&&!t(a)||v(a,c,d,e,"CRTC."+b.gg[b.ec]),b.Wa[b.ec]=d;if(12==b.ec||13==b.ec)Xt(a,b)&1?(c=(b.Wa[12]<<8)+b.Wa[13]|0,b.vd!==c&&(b.vd=c,Ut(a))):b.Ye||(b.Ye=b.fi);(9==b.ec&&8!=b.Fg||b.ec==Wr&&223==d)&&Os(a,!0);Ps(a)}}function bu(a,b,c){var d=b.Xc;v(a,b.port+4,null,c,"MODE",d);return d}function cu(a,b,c){var d=Xt(a,b);b===a.A?(d|=b.fa&48^48,b.Ke=!1):d=(b.fa^=9)|240;b.fa=d;v(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
|
||||||
var du=!0,Tt=1,kt=2,Cs=3,Rt=5,st=6,Es=7,ot=13,pt=14,it=15,jt=16,qt=17,rt=18,lt=19,mt=20,nt=21,ht=255,Xs=1,Ws=3,ps=Xs,ms=Ws,bq=5,dq=7,hs={mda:[ps,Es],cga:[ms,Cs],ega:[bq,Cs],vga:[dq,Cs]},Hr={2:{xg:15700,wg:208,Dg:85,Eg:96}};Hr[Ul]={xg:18432,wg:364,Dg:85,Eg:96};Hr[4]={xg:21850,wg:364,Dg:85,Eg:96};Hr[7]={xg:16700,wg:480,Dg:85,Eg:83};var Ds={6:[1,Ul,!0],7:[2,Ul,!0],8:[6,Ul,!0],9:[4,Ul,!0],10:[Ul,1,!0],11:[Ul,2,!0],0:[1,Ul,!1],1:[2,Ul,!1],2:[6,Ul,!1],3:[4,Ul,!1],4:[Ul,1,!1],5:[Ul,2,!1]},is=[];
|
var du=!0,St=1,kt=2,Cs=3,tt=5,st=6,Es=7,ot=13,pt=14,it=15,jt=16,qt=17,rt=18,lt=19,mt=20,nt=21,ht=255,Xs=1,Ws=3,ps=Xs,ms=Ws,bq=5,dq=7,hs={mda:[ps,Es],cga:[ms,Cs],ega:[bq,Cs],vga:[dq,Cs]},Hr={2:{xg:15700,wg:208,Dg:85,Eg:96}};Hr[Ul]={xg:18432,wg:364,Dg:85,Eg:96};Hr[4]={xg:21850,wg:364,Dg:85,Eg:96};Hr[7]={xg:16700,wg:480,Dg:85,Eg:83};var Ds={6:[1,Ul,!0],7:[2,Ul,!0],8:[6,Ul,!0],9:[4,Ul,!0],10:[Ul,1,!0],11:[Ul,2,!0],0:[1,Ul,!1],1:[2,Ul,!1],2:[6,Ul,!1],3:[4,Ul,!1],4:[Ul,1,!1],5:[Ul,2,!1]},is=[];
|
||||||
is[Tt]=[40,25,1,0,Ws];is[Cs]=[80,25,1,0,Ws];is[4]=[320,200,8,192];is[st]=[640,200,16,192];is[Es]=[80,25,1,0,Xs];is[ot]=[320,200,8];is[pt]=[640,200,8];is[it]=[640,350,8];is[jt]=[640,350,8];is[qt]=[640,480,8];is[rt]=[640,480,8];is[lt]=[320,200,1];is[mt]=[320,240,4];is[nt]=[320,400,4];is[0]=is[Tt];is[kt]=is[Cs];is[Rt]=is[4];
|
is[St]=[40,25,1,0,Ws];is[Cs]=[80,25,1,0,Ws];is[4]=[320,200,8,192];is[st]=[640,200,16,192];is[Es]=[80,25,1,0,Xs];is[ot]=[320,200,8];is[pt]=[640,200,8];is[it]=[640,350,8];is[jt]=[640,350,8];is[qt]=[640,480,8];is[rt]=[640,480,8];is[lt]=[320,200,1];is[mt]=[320,240,4];is[nt]=[320,400,4];is[0]=is[St];is[kt]=is[Cs];is[tt]=is[4];
|
||||||
var Ls=0,Js=7,Ns=8,Ks=0,Ms=112,Is=128,Wt=256,dt=512,Ys=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Zs=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Rs=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Ts=[2,4,6],Ss=[3,5,Js],Us=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
var Ls=0,Js=7,Ns=8,Ks=0,Ms=112,Is=128,Wt=256,dt=512,Ys=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Zs=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Rs=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Ts=[2,4,6],Ss=[3,5,Js],Us=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
||||||
gs=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Yt=[0];Yt[128]=1;Yt[32768]=2;Yt[32896]=3;Yt[8388608]=4;Yt[8388736]=5;Yt[8421376]=6;Yt[8421504]=7;Yt[-2147483648]=8;Yt[-2147483520]=9;Yt[-2147450880]=10;Yt[-2147450752]=11;Yt[-2139095040]=12;Yt[-2139094912]=13;Yt[-2139062272]=14;Yt[-2139062144]=15;var lr=[];lr[ps]=["MDA",948,720896,4096,0,Ul];lr[ms]=["CGA",980,753664,16384,0,2];lr[bq]=["EGA",980,753664,16384,65536,4];
|
gs=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Yt=[0];Yt[128]=1;Yt[32768]=2;Yt[32896]=3;Yt[8388608]=4;Yt[8388736]=5;Yt[8421376]=6;Yt[8421504]=7;Yt[-2147483648]=8;Yt[-2147483520]=9;Yt[-2147450880]=10;Yt[-2147450752]=11;Yt[-2139095040]=12;Yt[-2139094912]=13;Yt[-2139062272]=14;Yt[-2139062144]=15;var lr=[];lr[ps]=["MDA",948,720896,4096,0,Ul];lr[ms]=["CGA",980,753664,16384,0,2];lr[bq]=["EGA",980,753664,16384,65536,4];
|
||||||
lr[dq]=["VGA",980,753664,16384,262144,7];
|
lr[dq]=["VGA",980,753664,16384,262144,7];
|
||||||
|
|
@ -715,11 +715,12 @@ var Tw="Hard Drive",Ww=["XTC","ATC","COMPAQ"],Uw=[{0:[306,2],1:[375,8],2:[306,6]
|
||||||
112,tx=144,Ax=145,ux=240,Bx=2,ox=4,Hx=0,Ix=2,Lx=0,Mx=1,Dx=3,Nx=5,Ox=8,Qx=10,ax=12,Sx=15,Jx=224,Kx=228,Sw=0,Fx=4,Ux=20,Rw=0,bx=1,Yw=2,Zw=4,$w=8,Xw=32,Jw={800:Hw.prototype.Tm,801:Hw.prototype.Um,802:Hw.prototype.Sm},Iw={496:Hw.prototype.nl,497:Hw.prototype.$l,498:Hw.prototype.bm,499:Hw.prototype.cm,500:Hw.prototype.Yl,501:Hw.prototype.Xl,502:Hw.prototype.Zl,503:Hw.prototype.dm},Lw={800:Hw.prototype.ro,801:Hw.prototype.uo,802:Hw.prototype.to,803:Hw.prototype.so,807:Hw.prototype.hi,811:Hw.prototype.hi,
|
112,tx=144,Ax=145,ux=240,Bx=2,ox=4,Hx=0,Ix=2,Lx=0,Mx=1,Dx=3,Nx=5,Ox=8,Qx=10,ax=12,Sx=15,Jx=224,Kx=228,Sw=0,Fx=4,Ux=20,Rw=0,bx=1,Yw=2,Zw=4,$w=8,Xw=32,Jw={800:Hw.prototype.Tm,801:Hw.prototype.Um,802:Hw.prototype.Sm},Iw={496:Hw.prototype.nl,497:Hw.prototype.$l,498:Hw.prototype.bm,499:Hw.prototype.cm,500:Hw.prototype.Yl,501:Hw.prototype.Xl,502:Hw.prototype.Zl,503:Hw.prototype.dm},Lw={800:Hw.prototype.ro,801:Hw.prototype.uo,802:Hw.prototype.to,803:Hw.prototype.so,807:Hw.prototype.hi,811:Hw.prototype.hi,
|
||||||
815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Hw(d);zb(d,c)}});function Wx(a){nb.call(this,"Debugger",a);this.ya=+a.base||16;this.Ga=["{","}"];this.za=["[","]"];this.W=this.ga=this.L=0;this.aa=!1;this.A=-1;this.C=[];this.da={}}ba(Wx,nb);
|
815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Hw(d);zb(d,c)}});function Wx(a){nb.call(this,"Debugger",a);this.ya=+a.base||16;this.Ga=["{","}"];this.za=["[","]"];this.W=this.ga=this.L=0;this.aa=!1;this.A=-1;this.C=[];this.da={}}ba(Wx,nb);
|
||||||
Wx.prototype.gh=function(){return-1};Wx.prototype.hh=function(){};Wx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
Wx.prototype.gh=function(){return-1};Wx.prototype.hh=function(){};Wx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
||||||
Wx.prototype.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.aa?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};function Xx(a){return a|0}
|
Wx.prototype.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.aa?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};
|
||||||
|
function Xx(a){var b,c=a;b=32;if(32>=b)c=a|0;else if(b=Math.pow(2,b-1),a<-b||a>=b)c=a%b;a!=c&&(a=c);return a}
|
||||||
function Yx(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=
|
function Yx(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=
|
||||||
f&e;break;case "!":case "|":d=f|e;break;case "^^":d=f^e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(Xx(d))}return!0}
|
f&e;break;case "!":case "|":d=f|e;break;case "^^":d=f^e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(Xx(d))}return!0}
|
||||||
function Zx(a,b,c){var d;b&&(b=$x(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],w=p.length,p=Ca(p);if(!p){f=!0;break}p=ay(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==m.length)break;var p=m[e++],u=p.length;k.length&&by[p]<by[k[k.length-1]]&&Yx(h,k,1);k.push(p);b=b.substr(w+u)}Yx(h,k)&&1==h.length||(f=!0);f?c&&a.P("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&
|
function Zx(a,b,c){var d;b&&(b=$x(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],w=p.length,p=Ca(p);if(!p){f=!0;break}p=ay(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(Xx(p));if(e==m.length)break;var p=m[e++],u=p.length;k.length&&by[p]<by[k[k.length-1]]&&Yx(h,k,1);k.push(p);b=b.substr(w+u)}Yx(h,k)&&1==h.length||(f=!0);f?c&&a.P("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),
|
||||||
cy(a,null,d))}return d}
|
c&&cy(a,null,d))}return d}
|
||||||
function $x(a,b){var c,d=a.Ga[0],e=a.Ga[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=Zx(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?dy(a,g):"undefined")}if(a.za.length)for(d=a.za[0],e=a.za[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.W-a.ga}if(null==
|
function $x(a,b){var c,d=a.Ga[0],e=a.Ga[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=Zx(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?dy(a,g):"undefined")}if(a.za.length)for(d=a.za[0],e=a.za[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.W-a.ga}if(null==
|
||||||
e)break;b=b.replace(d[0],e.toString())}return b}function ay(a,b,c,d){var e;null!=b?(e=a.gh(b),0<=e?e=a.hh(e):(e=a.da[b],null==e&&(e=oa(b,a.ya))),null!=e||d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return e}function cy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}
|
e)break;b=b.replace(d[0],e.toString())}return b}function ay(a,b,c,d){var e;null!=b?(e=a.gh(b),0<=e?e=a.hh(e):(e=a.da[b],null==e&&(e=oa(b,a.ya))),null!=e||d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return e}function cy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}
|
||||||
function ey(a,b){if(b)return cy(a,b,a.da[b]);var c=0;for(b in a.da)cy(a,b,a.da[b]),c++;return 0<c}function dy(a,b){var c;c=void 0===c?0:c;switch(a.ya){case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var by={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
function ey(a,b){if(b)return cy(a,b,a.da[b]);var c=0;for(b in a.da)cy(a,b,a.da[b]),c++;return 0<c}function dy(a,b){var c;c=void 0===c?0:c;switch(a.ya){case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var by={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||||
|
|
@ -803,21 +804,21 @@ a.B,ua)||Dy(a,a.Y,ua)||Dy(a,a.M,ua)||a.P("breakpoint missing: "+Ey(ua)):"i"==T?a
|
||||||
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=hB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=hB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
||||||
(ZA(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],sg=df.o;if(void 0!==sg){var ef=df.s;void 0===ef&&(ef=cf.U);var tg=cf.Fd[Ld].l;tg&&(Ld=tg);a.P(ty(sg,ef)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Ng=a.Sb(Oy(a,qm));if(-1===Ng)a.P("invalid address: "+qm);else{var nf,
|
(ZA(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],sg=df.o;if(void 0!==sg){var ef=df.s;void 0===ef&&(ef=cf.U);var tg=cf.Fd[Ld].l;tg&&(Ld=tg);a.P(ty(sg,ef)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Ng=a.Sb(Oy(a,qm));if(-1===Ng)a.P("invalid address: "+qm);else{var nf,
|
||||||
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Ng&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.nb=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.nb.Nd(Qa.Jk);Qa.Kk=(Ng&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.ob=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.ob.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Ng&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Ng),ve=ve+(" %%"+Ty(nf.Ti,nf.Aj)),ve=
|
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Ng&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.nb=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.nb.Nd(Qa.Jk);Qa.Kk=(Ng&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.ob=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.ob.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Ng&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Ng),ve=ve+(" %%"+Ty(nf.Ti,nf.Aj)),ve=
|
||||||
ve+(" %%"+Ty(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";cB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var tt=a.Aa[xb];tt?(ca.shift(),ca.shift(),tt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var ut=cb,vt=Sa,wt="",xt=0,Mc=a.la,jd=a.N;if(jd.length){var uc=+ut||a.Xa,Og=+vt||10;isNaN(uc)?uc=Og:wt="more ";uc>jd.length&&(a.P("note: only "+
|
ve+(" %%"+Ty(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";cB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var ut=a.Aa[xb];ut?(ca.shift(),ca.shift(),ut(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var vt=cb,wt=Sa,xt="",yt=0,Mc=a.la,jd=a.N;if(jd.length){var uc=+vt||a.Xa,Og=+wt||10;isNaN(uc)?uc=Og:xt="more ";uc>jd.length&&(a.P("note: only "+
|
||||||
jd.length+" available"),uc=jd.length);Mc-=uc;0>Mc&&(null==jd[jd.length-1].U?(uc=Mc+uc,Mc=0):Mc+=jd.length);var rm=[];"call"==vt&&(Og=1E5,rm=["CALL"]);for(void 0!==ut&&a.P(uc+" instructions earlier:");0<Og&&Mc!=a.la;){var we=jd[Mc++];if(null==we.U)break;var Pg=gy(a,we.Ja,we.U,we.xa,we.type,we.Hb,we.dc),YB=uc--,yt=Wz(a,Pg,"history",YB);(!rm.length||0<=yt.indexOf(rm[0]))&&a.P(yt);Pg.Fe&&(Mc+=Pg.Fe,Og-=Pg.Fe,uc-=Pg.Fe);Mc>=jd.length&&(Mc=0);a.Xa=uc;xt++;Og--}}xt||(a.P("no "+wt+"history available"),a.Xa=
|
jd.length+" available"),uc=jd.length);Mc-=uc;0>Mc&&(null==jd[jd.length-1].U?(uc=Mc+uc,Mc=0):Mc+=jd.length);var rm=[];"call"==wt&&(Og=1E5,rm=["CALL"]);for(void 0!==vt&&a.P(uc+" instructions earlier:");0<Og&&Mc!=a.la;){var we=jd[Mc++];if(null==we.U)break;var Pg=gy(a,we.Ja,we.U,we.xa,we.type,we.Hb,we.dc),YB=uc--,zt=Wz(a,Pg,"history",YB);(!rm.length||0<=zt.indexOf(rm[0]))&&a.P(zt);Pg.Fe&&(Mc+=Pg.Fe,Og-=Pg.Fe,uc-=Pg.Fe);Mc>=jd.length&&(Mc=0);a.Xa=uc;yt++;Og--}}yt||(a.P("no "+xt+"history available"),a.Xa=
|
||||||
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Qg=ay(a,sm);if(void 0===Qg||0>Qg||255<Qg)a.P("invalid vector: "+sm);else{var zt="&",At=!!(a.H.qa&1),Bt=!1,Ti=a.H.Pb+(Qg<<(At?3:2)),Ct=a.H.ja(Ti+0),ZB=a.H.ja(Ti+2);At&&(zt="#",a.H.ja(Ti+4)&2048&&(Bt=!0,Ct|=a.H.ja(Ti+6)<<16));a.P("dumpIDT("+ta(Qg)+"): "+zt+q(ZB,4)+":"+q(Ct,Bt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Oy(a,cb);if(pf&&(null!=pf.U||null!=pf.xa)){var Ui=0;Sa&&("l"==Sa.charAt(0)&&
|
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Qg=ay(a,sm);if(void 0===Qg||0>Qg||255<Qg)a.P("invalid vector: "+sm);else{var At="&",Bt=!!(a.H.qa&1),Ct=!1,Ti=a.H.Pb+(Qg<<(Bt?3:2)),Dt=a.H.ja(Ti+0),ZB=a.H.ja(Ti+2);Bt&&(At="#",a.H.ja(Ti+4)&2048&&(Ct=!0,Dt|=a.H.ja(Ti+6)<<16));a.P("dumpIDT("+ta(Qg)+"): "+At+q(ZB,4)+":"+q(Dt,Ct?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Oy(a,cb);if(pf&&(null!=pf.U||null!=pf.xa)){var Ui=0;Sa&&("l"==Sa.charAt(0)&&
|
||||||
(Sa=Sa.substr(1)||rb),Ui=ay(a,Sa)>>>0,65536<Ui&&(Ui=65536));for(var Rg="",qf="dd"==za?4:"dw"==za?2:1,Vi=qf*Ui||128,$B=Vi+15>>4||1;$B--&&0<Vi;){var Sg=0,tm=0,Tg,um="",Dt="",cb=Ey(pf);for(Tg=4==qf?16:a.ya;0<Tg&&0<Vi;Tg--){var Wi=a.Ia(pf,1),Sg=Sg|Wi<<(tm++<<3);tm==qf&&(um+=8==a.ya?sa(Sg,3*qf):q(Sg,2*qf),um+=1==qf?9==Tg?"-":" ":" ",Sg=tm=0);Dt+=32<=Wi&&128>Wi?String.fromCharCode(Wi):".";Vi--}Rg&&(Rg+="\n");Rg+=cb+" "+um+(Tg?"":" "+Dt)}Rg&&a.P(Rg);a.Ma=pf}}}}}break;case "e":if("else"==g[0])break;var Xi=
|
(Sa=Sa.substr(1)||rb),Ui=ay(a,Sa)>>>0,65536<Ui&&(Ui=65536));for(var Rg="",qf="dd"==za?4:"dw"==za?2:1,Vi=qf*Ui||128,$B=Vi+15>>4||1;$B--&&0<Vi;){var Sg=0,tm=0,Tg,um="",Et="",cb=Ey(pf);for(Tg=4==qf?16:a.ya;0<Tg&&0<Vi;Tg--){var Wi=a.Ia(pf,1),Sg=Sg|Wi<<(tm++<<3);tm==qf&&(um+=8==a.ya?sa(Sg,3*qf):q(Sg,2*qf),um+=1==qf?9==Tg?"-":" ":" ",Sg=tm=0);Et+=32<=Wi&&128>Wi?String.fromCharCode(Wi):".";Vi--}Rg&&(Rg+="\n");Rg+=cb+" "+um+(Tg?"":" "+Et)}Rg&&a.P(Rg);a.Ma=pf}}}}}break;case "e":if("else"==g[0])break;var Xi=
|
||||||
1,Et=255,Ft=a.Ia,Gt=a.fc;"ew"==g[0]&&(Xi=2,Et=65535,Ft=a.Yc,Gt=a.il);var Ht=Xi<<1,It=g[1];if(null==It)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var Yi=Oy(a,It);if(Yi)for(var Zi=2;Zi<g.length;Zi++){var Ug=Zx(a,g[Zi]);if(void 0===Ug){a.P("unrecognized value: "+g[Zi]);break}Ug&~Et&&a.P("warning: "+q(Ug)+" exceeds "+Xi+"-byte value");var aC=Ft.call(a,Yi);a.P("changing "+Ey(Yi)+" from "+q(aC,Ht,!0)+" to "+q(Ug,Ht,!0));
|
1,Ft=255,Gt=a.Ia,Ht=a.fc;"ew"==g[0]&&(Xi=2,Ft=65535,Gt=a.Yc,Ht=a.il);var It=Xi<<1,Jt=g[1];if(null==Jt)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var Yi=Oy(a,Jt);if(Yi)for(var Zi=2;Zi<g.length;Zi++){var Ug=Zx(a,g[Zi]);if(void 0===Ug){a.P("unrecognized value: "+g[Zi]);break}Ug&~Ft&&a.P("warning: "+q(Ug)+" exceeds "+Xi+"-byte value");var aC=Gt.call(a,Yi);a.P("changing "+Ey(Yi)+" from "+q(aC,It,!0)+" to "+q(Ug,It,!0));
|
||||||
Gt.call(a,Yi,Ug,Xi)}}break;case "f":$A(a,g[1]);break;case "g":a:{var Jt=g[1],bC=b;"gt"==g[0]&&(a.Ba=!0);if(void 0!==Jt){var vm=Oy(a,Jt,!0);if(!vm)break a;Ry(a,vm,bC);a.Gd(a.B,vm,!0)}Mz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.vb)wm="halting",a.Jb();else{if(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Vg=b.substr(2),Vg=Ca(Vg);Zx(a,Vg)?(c||a.P("true: "+Vg),xm=!0):(c||a.P("false: "+Vg),xm=!1);xm||(d=!1);
|
Ht.call(a,Yi,Ug,Xi)}}break;case "f":$A(a,g[1]);break;case "g":a:{var Kt=g[1],bC=b;"gt"==g[0]&&(a.Ba=!0);if(void 0!==Kt){var vm=Oy(a,Kt,!0);if(!vm)break a;Ry(a,vm,bC);a.Gd(a.B,vm,!0)}Mz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.vb)wm="halting",a.Jb();else{if(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Vg=b.substr(2),Vg=Ca(Vg);Zx(a,Vg)?(c||a.P("true: "+Vg),xm=!0):(c||a.P("false: "+Vg),xm=!1);xm||(d=!1);
|
||||||
break}if("int"==g[0]){var $i;a:switch(ay(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ga=a.W;$i=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ga=a.W;$i=!0;break a;default:$i=!1}$i||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=ay(a,ym);if(void 0!==zm){var cC=Pc(a.ka,zm,1);a.P(ta(zm)+": "+r(cC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var dC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
break}if("int"==g[0]){var $i;a:switch(ay(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ga=a.W;$i=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ga=a.W;$i=!0;break a;default:$i=!1}$i||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=ay(a,ym);if(void 0!==zm){var cC=Pc(a.ka,zm,1);a.P(ta(zm)+": "+r(cC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var dC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
||||||
a.P("\tks\tshow symbol information");else{var Am=0,Kt=a.H.Z.U,Wg=gy(a),Sd=gy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Ey(Sd));10>Am;){for(var kd=null,eC=256;Sd.Ja>>>0<a.H.cg>>>0;){Wg.Ja=a.jb(Sd,!0);if(null==Sd.xa||!eC--)break;Wg.U=Kt;if(kd=fB(a,Wg))break;Wg.U=a.jb(Sd);if(kd=fB(a,Wg,!0)){Kt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Lt=null;if("ks"==dC){var Mt=kd.match(/[0-9A-F]+$/);Mt&&(Lt=bB(a,Mt[0]))}kd=Ba(kd,50)+" ;"+(Lt||"stack="+Ey(Sd));a.P(kd);Am++}Am||
|
a.P("\tks\tshow symbol information");else{var Am=0,Lt=a.H.Z.U,Wg=gy(a),Sd=gy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Ey(Sd));10>Am;){for(var kd=null,eC=256;Sd.Ja>>>0<a.H.cg>>>0;){Wg.Ja=a.jb(Sd,!0);if(null==Sd.xa||!eC--)break;Wg.U=Lt;if(kd=fB(a,Wg))break;Wg.U=a.jb(Sd);if(kd=fB(a,Wg,!0)){Lt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Mt=null;if("ks"==dC){var Nt=kd.match(/[0-9A-F]+$/);Nt&&(Mt=bB(a,Nt[0]))}kd=Ba(kd,50)+" ;"+(Mt||"stack="+Ey(Sd));a.P(kd);Am++}Am||
|
||||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){bB(a,g[1],!0);break}cB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],aj=g[2];if(a.G){var Nt=1;"-"==aj.charAt(0)&&(Nt=-1,aj=aj.substr(1));var xe=ay(a,aj,Bm);if(void 0!==xe)switch(xe=xe*Nt|0,Bm){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ye=0;if("all"==
|
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){bB(a,g[1],!0);break}cB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],aj=g[2];if(a.G){var Ot=1;"-"==aj.charAt(0)&&(Ot=-1,aj=aj.substr(1));var xe=ay(a,aj,Bm);if(void 0!==xe)switch(xe=xe*Ot|0,Bm){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ye=0;if("all"==
|
||||||
fb)ye=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var fC=0,Xg="";for(ld in Sb)if(!fb||fb==ld){var gC=!!(a.ic&Sb[ld]);if(null===md||md==gC)Xg&&(Xg+=","),++fC%10||(Xg+="\n\t"),"key"==ld&&(ld="keys"),Xg+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
fb)ye=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var fC=0,Xg="";for(ld in Sb)if(!fb||fb==ld){var gC=!!(a.ic&Sb[ld]);if(null===md||md==gC)Xg&&(Xg+=","),++fC%10||(Xg+="\n\t"),"key"==ld&&(ld="keys"),Xg+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||||
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+(Xg||"none"));iy(a)}break;case "o":var Cm=g[1],hC=g[2];if(Cm&&"?"!=Cm){var Dm=ay(a,Cm,"port #"),Em=ay(a,hC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){eB(a,b.substr(5));break}var Ot="pr"==g[0]?1:0,rf=1+Ot;if(a.I)a.P("step in progress");
|
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+(Xg||"none"));iy(a)}break;case "o":var Cm=g[1],hC=g[2];if(Cm&&"?"!=Cm){var Dm=ay(a,Cm,"port #"),Em=ay(a,hC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){eB(a,b.substr(5));break}var Pt="pr"==g[0]?1:0,rf=1+Pt;if(a.I)a.P("step in progress");
|
||||||
else{var bj,Pt=!1,Hb=gy(a,A(a.H),a.H.Z.U);do switch(bj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Jy(a,Hb,1);bj=!0;break;case 204:case 206:a.I=rf;Jy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Jy(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Jy(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Jy(a,Hb,Hb.Hb?7:5);break;case 255:var Qt=a.jb(Hb)&14591;if(4351==Qt||6399==Qt)a.I=rf,Wz(a,Hb);break;case 243:case 242:Jy(a,Hb,1);Pt=bj=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Pt&&
|
else{var bj,Qt=!1,Hb=gy(a,A(a.H),a.H.Z.U);do switch(bj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Jy(a,Hb,1);bj=!0;break;case 204:case 206:a.I=rf;Jy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Jy(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Jy(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Jy(a,Hb,Hb.Hb?7:5);break;case 255:var Rt=a.jb(Hb)&14591;if(4351==Rt||6399==Rt)a.I=rf,Wz(a,Hb);break;case 243:case 242:Jy(a,Hb,1);Qt=bj=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Qt&&
|
||||||
(a.I=rf,Jy(a,Hb,1))}while(bj);a.I?(a.Gd(a.B,Hb,!0),Mz(a)||(a.pa&&a.pa.ld(),a.I=0)):gB(a,Ot?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Oz(a,g);break;case "t":gB(a,g[0],g[1]);break;case "u":Pz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){aB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Yg;void 0!==g[3]&&(Yg=+g[3]);
|
(a.I=rf,Jy(a,Hb,1))}while(bj);a.I?(a.Gd(a.B,Hb,!0),Mz(a)||(a.pa&&a.pa.ld(),a.I=0)):gB(a,Pt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Oz(a,g);break;case "t":gB(a,g[0],g[1]);break;case "u":Pz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){aB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Yg;void 0!==g[3]&&(Yg=+g[3]);
|
||||||
switch(g[2]){case "int":a.H.T.Se=Yg;break;case "start":a.H.T.wf=Yg;break;case "stop":a.H.T.Ue=Yg;break;default:a.P("unknown cs option");break a}void 0!==Yg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
|
switch(g[2]){case "int":a.H.T.Se=Yg;break;case "start":a.H.T.wf=Yg;break;case "stop":a.H.T.Ue=Yg;break;default:a.P("unknown cs option");break a}void 0!==Yg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
|
||||||
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){eB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in iB)Fm+="\n"+Ba(Gm,7)+iB[Gm];Jg(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(St){a.P("debugger error: "+(St.stack||St.message)),d=!1}return d}
|
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){eB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in iB)Fm+="\n"+Ba(Gm,7)+iB[Gm];Jg(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(Tt){a.P("debugger error: "+(Tt.stack||Tt.message)),d=!1}return d}
|
||||||
function ky(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Vz(a,b[+d]))return!1;return!0}
|
function ky(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Vz(a,b[+d]))return!1;return!0}
|
||||||
var Jz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Iz=[26,28,40,42,109],iB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
var Jz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Iz=[26,28,40,42,109],iB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
||||||
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Py=0,Hy=1,qy=2,Sy=3,Qy=4,Iy=5,dA=18,eA=28,$z=36,iA=80,fA=104,gA=107,Yz=176,Xz="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Py=0,Hy=1,qy=2,Sy=3,Qy=4,Iy=5,dA=18,eA=28,$z=36,iA=80,fA=104,gA=107,Yz=176,Xz="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
||||||
|
|
|
||||||
|
|
@ -28,248 +28,251 @@
|
||||||
http://pcjs.org/modules/pdp10/lib/macro10.js (C) Jeff Parsons 2012-2017
|
http://pcjs.org/modules/pdp10/lib/macro10.js (C) Jeff Parsons 2012-2017
|
||||||
*/
|
*/
|
||||||
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=fa)}var ga=0;function fa(a){return"jscomp_symbol_"+(a||"")+ga++}
|
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=fa)}var ga=0;function fa(a){return"jscomp_symbol_"+(a||"")+ga++}
|
||||||
function ha(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ia(this)}});ha=function(){}}function ia(a){var b=0;return la(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function la(a){ha();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
|
function ha(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ja(this)}});ha=function(){}}function ja(a){var b=0;return ka(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ka(a){ha();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
|
||||||
function ma(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function na(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
|
function pa(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function qa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
|
||||||
na("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});na("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
|
qa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
|
||||||
var ta={lc:0,Db:1,nc:2,oc:3,pc:4,qc:5,rc:6,sc:7,qb:8,tc:9,Eb:10,uc:11,vc:12,Fb:13,wc:14,xc:15,yc:16,zc:17,Ac:18,Bc:19,Cc:20,Dc:21,Ec:22,Fc:23,Gc:24,Hc:25,Ic:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,pb:65,kc:66,mc:67,Jc:68,E:69,Kc:70,Lc:71,Mc:72,Nc:73,Oc:74,Pc:75,Qc:76,Rc:77,Sc:78,Tc:79,Uc:80,Q:81,Vc:82,Wc:83,Xc:84,Yc:85,Zc:86,$c:87,
|
var ra={lc:0,Db:1,nc:2,oc:3,pc:4,qc:5,rc:6,sc:7,qb:8,tc:9,Eb:10,uc:11,vc:12,Fb:13,wc:14,xc:15,yc:16,zc:17,Ac:18,Bc:19,Cc:20,Dc:21,Ec:22,Fc:23,Gc:24,Hc:25,Ic:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,pb:65,kc:66,mc:67,Jc:68,E:69,Kc:70,Lc:71,Mc:72,Nc:73,Oc:74,Pc:75,Qc:76,Rc:77,Sc:78,Tc:79,Uc:80,Q:81,Vc:82,Wc:83,Xc:84,Yc:85,Zc:86,$c:87,
|
||||||
ad:88,bd:89,Hb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,cd:97,dd:98,ed:99,d:100,e:101,fd:102,kd:103,ld:104,md:105,nd:106,k:107,od:108,pd:109,n:110,qd:111,p:112,q:113,r:114,rd:115,t:116,td:117,ud:118,vd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Gb:127};
|
ad:88,bd:89,Hb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,cd:97,dd:98,ed:99,d:100,e:101,fd:102,kd:103,ld:104,md:105,nd:106,k:107,od:108,pd:109,n:110,qd:111,p:112,q:113,r:114,rd:115,t:116,td:117,ud:118,vd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Gb:127};
|
||||||
function ua(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d?(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)):"^"==d&&(d=a.charAt(1),"D"==d?(b=10,d=null):"O"==d?(b=8,d=null):"B"==d&&(b=2,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));
|
function sa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d?(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)):"^"==d&&(d=a.charAt(1),"D"==d?(b=10,d=null):"O"==d?(b=8,d=null):"B"==d&&(b=2,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));
|
||||||
var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function va(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}
|
var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function ta(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}
|
||||||
function wa(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return va(a,8,b,c?"0o":"")}function xa(a,b){b?11<b&&(b=11):b=a&-65536?10:5;return va(a,10,b)}function n(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return va(a,16,b,c?"0x":"")}function ya(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function za(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Aa(a,b){return-1!==a.indexOf(b,a.length-b.length)}
|
function n(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return ta(a,8,b,c?"0o":"")}function ua(a,b){b?11<b&&(b=11):b=a&-65536?10:5;return ta(a,10,b)}function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return ta(a,16,b,c?"0x":"")}function va(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function wa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function za(a,b){return-1!==a.indexOf(b,a.length-b.length)}
|
||||||
function Da(a){return a.replace(/[&<>"']/g,function(a){return Ea[a]})}function Fa(a,b){return(a+" ").slice(0,b)}function Ga(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ea={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ha(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}
|
function Aa(a){return a.replace(/[&<>"']/g,function(a){return Ba[a]})}function Ca(a,b){return(a+" ").slice(0,b)}function Da(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ba={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ea(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}
|
||||||
function Ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
function Fa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||||
function Ja(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
|
function Ga(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
|
||||||
f,e))});if(b&&"object"==typeof b){var k="",p;for(p in b)b.hasOwnProperty(p)&&(k&&(k+="&"),k+=p+"="+encodeURIComponent(b[p]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
f,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||||
function Ka(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
|
function Ma(a,b){var c,d={Y:null,U:null,ta:null,sa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ta=g.load;d.sa=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
|
||||||
e[c]&255,d.Y[f++]=e[c]>>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ha=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(q(d.Y[0]),d=null):(q("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){q("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Y=e)}return d}
|
e[c]&255,d.Y[f++]=e[c]>>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ia=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Y=e)}return d}
|
||||||
function Pa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Qa(){if(null==Ra){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Ra=a}return Ra}function Sa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
function Na(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Oa(){if(null==Pa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Pa=a}return Pa}function Qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||||
function Ta(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ua(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
|
function Ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Sa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
|
||||||
function Va(a){if(!Wa){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Wa=c}return Wa[a]}function Xa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
function Ta(a){if(!Ua){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ua=c}return Ua[a]}function Va(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||||
function Ya(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function Za(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function $a(a){ab.init.push(a)}
|
function Wa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function Xa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ya(a){Za.init.push(a)}
|
||||||
function bb(a){if(gb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function hb(a){!gb&&a?(gb=!0,ib&&jb("init"),kb&&jb("show")):gb=a}function jb(a){ab[a]&&bb(ab[a])}var Wa=null,ab={init:[],show:[],exit:[]},ib=!1,kb=!1,gb=!0,Ra=null;Za("onload",function(){ib=!0;bb(ab.init)});Za("onpageshow",function(){kb=!0;bb(ab.show)});Za(Ua("Opera")||Ua("iOS")?"onunload":"onbeforeunload",function(){bb(ab.exit)});
|
function eb(a){if(fb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function gb(a){!fb&&a?(fb=!0,hb&&ib("init"),jb&&ib("show")):fb=a}function ib(a){Za[a]&&eb(Za[a])}var Ua=null,Za={init:[],show:[],exit:[]},hb=!1,jb=!1,fb=!0,Pa=null;Xa("onload",function(){hb=!0;eb(Za.init)});Xa("onpageshow",function(){jb=!0;eb(Za.show)});Xa(Sa("Opera")||Sa("iOS")?"onunload":"onbeforeunload",function(){eb(Za.exit)});
|
||||||
function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ob=b.comment;this.Kb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Ta=this.id:(this.Ua=this.id.substr(0,a),this.Ta=this.id.substr(a+1));this.A={ready:!1,Ma:!1,hb:!1,V:!1,error:!1};this.Xa=null;this.A.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.ta=null;lb.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date}
|
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ob=b.comment;this.Kb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Ta=this.id:(this.Ua=this.id.substr(0,a),this.Ta=this.id.substr(a+1));this.A={ready:!1,Na:!1,hb:!1,V:!1,error:!1};this.Xa=null;this.A.error=!1;this.X=c||0;this.D=this.v=this.G=this.H=this.ua=null;kb.push(this)}function lb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function nb(){return Date.now()||+new Date}
|
||||||
function q(a){window&&window.alert(a)}function pb(a){var b=!1;window&&(b=window.confirm(a));return b}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<lb.length;b++){var d=lb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function rb(a){if(void 0!==a){var b;for(b=0;b<lb.length;b++)if(lb[b].id===a)return lb[b]}return null}
|
function r(a){window&&window.alert(a)}function ob(a){var b=!1;window&&(b=window.confirm(a));return b}function pb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<kb.length;b++){var d=kb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function qb(a){if(void 0!==a){var b;for(b=0;b<kb.length;b++)if(kb[b].id===a)return kb[b]}return null}
|
||||||
function sb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<lb.length;d++)if(c)c==lb[d]&&(c=null);else if(!(a!=lb[d].type||b&&lb[d].id.indexOf(b)))return lb[d]}return null}function u(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
|
function rb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<kb.length;d++)if(c)c==kb[d]&&(c=null);else if(!(a!=kb[d].type||b&&kb[d].id.indexOf(b)))return kb[d]}return null}function v(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
|
||||||
function tb(a,b){var c=v;b=w(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),p=0;p<k.length;p++)switch(h=k[p],h){case c+"-binding":(h=u(g))&&h.binding&&a.ja(h.type,h.binding,g,h.value),p=k.length}}}}
|
function sb(a,b){var c=w;b=x(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=v(g))&&h.binding&&a.la(h.type,h.binding,g,h.value),m=k.length}}}}
|
||||||
function w(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
function x(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||||
function ub(a){for(var b=!0,c=vb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=wb.indexOf(e)&&(f=function(){return function(){ub(a)}}());var g=xb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=sb(d[1],a);if(h)if(g=Hb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){q("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete vb[a];return b}l=r.prototype;
|
function tb(a){for(var b=!0,c=ub[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=vb.indexOf(e)&&(f=function(){return function(){tb(a)}}());var g=wb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=rb(d[1],a);if(h)if(g=xb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete ub[a];return b}l=u.prototype;
|
||||||
l.toString=function(){return this.name?this.name:this.id||this.type};
|
l.toString=function(){return this.name?this.name:this.id||this.type};
|
||||||
l.ja=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.ta=this.J[b]=c,c.value="",this.j=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.da=function(a){this.j(a,this.Ta)}),!0;default:return!1}};l.log=function(){};l.j=function(){};
|
l.la=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.ua=this.J[b]=c,c.value="",this.j=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.da=function(a){this.j(a,this.Ta)}),!0;default:return!1}};l.log=function(){};l.j=function(){};
|
||||||
l.status=function(a){this.j(this.Ta+": "+a)};l.da=function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)};function Ib(a,b){a.A.error=!0;a.da(b)}function Jb(a){return a.A.error?(a.j(a.toString()+" error"),!0):!1}function Kb(a,b){b&&(a.A.ready?b():a.Xa=b);return a.A.ready}function Lb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Xa;a.Xa=null;b&&b()}}function Mb(a,b){a.A.Ma&&(b?a.A.hb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.A.Ma}
|
l.status=function(a){this.j(this.Ta+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function yb(a,b){a.A.error=!0;a.da(b)}function Ib(a){return a.A.error?(a.j(a.toString()+" error"),!0):!1}function Jb(a,b){b&&(a.A.ready?b():a.Xa=b);return a.A.ready}function Kb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Xa;a.Xa=null;b&&b()}}function Lb(a,b){a.A.Na&&(b?a.A.hb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.A.Na}
|
||||||
function Nb(a,b){if(a.A.hb)return a.A.Ma=!1,a.A.hb=!1;if(a.A.error)return a.j(a.toString()+" error"),!1;a.A.Ma=b;return a.A.Ma}l.ua=function(){return this.A.V=!0};l.ia=function(a,b){b&&(this.A.V=!1);return!0};function Ob(a,b){if(a.D){a===a.D?b|=0:b=b||a.X;var c=a.D.X&b;return!!b&&c===b||!!(c&a.D.yb)}return!1}function Pb(a,b,c,d){a.D&&(!0===c||Ob(a,c|0))&&a.D.message(b,d)}
|
function Mb(a,b){if(a.A.hb)return a.A.Na=!1,a.A.hb=!1;if(a.A.error)return a.j(a.toString()+" error"),!1;a.A.Na=b;return a.A.Na}l.va=function(){return this.A.V=!0};l.ka=function(a,b){b&&(this.A.V=!1);return!0};function Nb(a,b){if(a.D){a===a.D?b|=0:b=b||a.X;var c=a.D.X&b;return!!b&&c===b||!!(c&a.D.yb)}return!1}function Ob(a,b,c,d){a.D&&(!0===c||Nb(a,c|0))&&a.D.message(b,d)}
|
||||||
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
|
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
|
||||||
var nb=window?window.PCjs.Machines:{},lb=window?window.PCjs.Components:[],vb=window?window.PCjs.Commands:{},wb=["hold","sleep","wait"],xb={alert:function(a){q(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Hb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
|
var mb=window?window.PCjs.Machines:{},kb=window?window.PCjs.Components:[],ub=window?window.PCjs.Commands:{},vb=["hold","sleep","wait"],wb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},xb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
|
||||||
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
||||||
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
|
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
|
||||||
var v="pdp10",Qb="PDPjs",Rb=Math.pow(2,18)-1,Sb=Math.pow(2,18),Tb=Math.pow(2,17)-1,x=Math.pow(2,18)-1,z=Math.pow(2,18),A=Math.pow(2,35)-1,B=Math.pow(2,35),C=Math.pow(2,36)-1,D=Math.pow(2,36),E=Math.pow(2,32),Ub=Math.pow(2,34),Vb=Math.pow(2,36),Wb=Math.pow(2,21),Xb=Math.pow(2,26),Yb=Math.pow(2,23),Zb=Math.pow(2,30),v="pdp10",Qb="PDPjs",$b={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,
|
var w="pdp10",Pb="PDPjs",Qb=Math.pow(2,18)-1,Rb=Math.pow(2,18),Sb=Math.pow(2,17)-1,y=Math.pow(2,18)-1,z=Math.pow(2,18),A=Math.pow(2,35)-1,B=Math.pow(2,35),C=Math.pow(2,36)-1,E=Math.pow(2,36),F=Math.pow(2,32),Tb=Math.pow(2,34),Ub=Math.pow(2,36),Vb=Math.pow(2,21),Wb=Math.pow(2,26),Xb=Math.pow(2,23),Yb=Math.pow(2,30),w="pdp10",Pb="PDPjs",Zb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,
|
||||||
speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
|
speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
|
||||||
function ac(a,b){r.call(this,"Panel",a,512);this.K=this.L=0;this.T=b;this.i=this.I=this.u=this.w=0;this.M=this.O=-1;this.P=this.R=this.F=!1;this.S=bc;this.C={};this.b={START:[1,1,!0,!1,this.Wb],STEP:[1,1,!1,!1,this.Xb],ENABLE:[1,1,!1,!1,this.Rb],CONT:[1,1,!0,!1,this.Pb],DEP:[0,0,!0,!1,this.Qb],EXAM:[1,1,!0,!1,this.Sb],LOAD:[1,1,!0,!1,this.Ub],TEST:[0,0,!0,!1,this.Tb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Vb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Nb,toggle:this.fc,reset:this.bc,
|
function $b(a,b){u.call(this,"Panel",a,512);this.K=this.L=0;this.T=b;this.i=this.I=this.u=this.w=0;this.M=this.O=-1;this.P=this.R=this.F=!1;this.S=ac;this.C={};this.b={START:[1,1,!0,!1,this.Wb],STEP:[1,1,!1,!1,this.Xb],ENABLE:[1,1,!1,!1,this.Rb],CONT:[1,1,!0,!1,this.Pb],DEP:[0,0,!0,!1,this.Qb],EXAM:[1,1,!0,!1,this.Sb],LOAD:[1,1,!0,!1,this.Ub],TEST:[0,0,!0,!1,this.Tb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Vb,a];this.D=this.v=this.G=this.H=null;this.exports={hold:this.Nb,toggle:this.fc,reset:this.bc,
|
||||||
set:this.ec};Lb(this)}ma(ac,r);l=ac.prototype;l.reset=function(a){this.stop();a&&cc(this,this.w=0)};
|
set:this.ec};Kb(this)}pa($b,u);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.w=0)};
|
||||||
l.ja=function(a,b,c,d){if(this.G&&this.G.ja(a,b,c,d)||this.v&&this.v.ja(a,b,c,d)||this.D&&this.D.ja(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){dc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ec(a,b)}}(this,b),a.ontouchstart=
|
l.la=function(a,b,c,d){if(this.H&&this.H.la(a,b,c,d)||this.v&&this.v.la(a,b,c,d)||this.D&&this.D.la(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart=
|
||||||
function(a,b){return function(c){dc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ec(a,b)}}(this,b),!0):r.prototype.ja.call(this,a,b,c,d)}};l.Da=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;fc(this);gc(this)};l.ua=function(a,b){if(!b)if(this.T&&hc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.u]);return a.data()};
|
function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):u.prototype.la.call(this,a,b,c,d)}};l.Ea=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;ec(this);fc(this)};l.va=function(a,b){if(!b)if(this.T&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ka=function(a){return a?this.save():!0};l.save=function(){var a=new G(this);a.set(0,[this.i,this.w,this.u]);return a.data()};
|
||||||
l.restore=function(a){if(a=a[0])ic(this,this.i=a[0]),cc(this,this.w=a[1]),jc(this,a[2]);return!0};l.bc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}gc(this);return!0};function kc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fc(a,b){for(var c in a.C)kc(a,c,null!=b?b:a.C[c])}function lc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gc(a){for(var b in a.b)lc(a,b,a.b[b][1])}
|
l.restore=function(a){if(a=a[0])hc(this,this.i=a[0]),bc(this,this.w=a[1]),ic(this,a[2]);return!0};l.bc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.C)jc(a,c,null!=b?b:a.C[c])}function kc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])}
|
||||||
l.Nb=function(a,b,c){if(dc(this,b)){if(c){var d=this;setTimeout(function(){ec(d,b);a&&a()},+c);return!1}ec(this,b)}return!0};l.ec=function(a,b){if("SR"==a)return jc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.fc=function(a){return dc(this,a)?(ec(this,a),!0):!1};function dc(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1}
|
l.Nb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.ec=function(a,b){if("SR"==a)return ic(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.fc=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==mc,a.R=b==nc),!0):!1}
|
||||||
function ec(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Wb=function(a){a||this.v.A.N||(G(this.v,this.i),this.b[pc]&&this.b[pc][1]&&qc(this.v))};l.Xb=function(){};l.Rb=function(a){a||this.v.W()};
|
function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Wb=function(a){a||this.v.A.N||(H(this.v,this.i),this.b[oc]&&this.b[oc][1]&&pc(this.v))};l.Xb=function(){};l.Rb=function(a){a||this.v.W()};
|
||||||
l.Pb=function(a){if(!a&&!this.v.A.N)if(this.b[pc]&&this.b[pc][1])qc(this.v);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),rc(a,0,null),Nb(a,!1);else try{var b=this.v.Qa(1);0<b&&(sc(this.v,b),tc(this.v,b,!0),uc(this.v,b))}catch(c){"number"!=typeof c&&Ib(this.v,c.stack||c.message)}this.stop();this.G&&H(this.G)}};l.Qb=function(a){a&&!this.v.A.N&&(this.P&&vc(this),a=cc(this,this.w=this.u),this.S==bc?wc(this.H,this.i,a):this.v.g(this.i,a))};
|
l.Pb=function(a){if(!a&&!this.v.A.N)if(this.b[oc]&&this.b[oc][1])pc(this.v);else{if((a=this.D)&&!Lb(a,!0))Mb(a,!0),qc(a,0,null),Mb(a,!1);else try{var b=this.v.Ra(1);0<b&&(rc(this.v,b),sc(this.v,b,!0),tc(this.v,b))}catch(c){"number"!=typeof c&&yb(this.v,c.stack||c.message)}this.stop();this.H&&I(this.H)}};l.Qb=function(a){a&&!this.v.A.N&&(this.P&&uc(this),a=bc(this,this.w=this.u),this.S==ac?vc(this.G,this.i,a):this.v.g(this.i,a))};
|
||||||
l.Sb=function(a){if(!a&&!this.v.A.N){var b;this.R&&vc(this);this.S==bc?b=xc(this.H,this.i):b=this.v.f(this.i);cc(this,this.w=b)}};l.Ub=function(a){a||this.v.A.N||ic(this,this.u)};l.Tb=function(a){a?(this.F=!0,fc(this,!0)):(this.F=!1,fc(this),jc(this,0))};l.Vb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function vc(a){var b=1,c=a.H.u;a.b[mc]&&a.b[mc][1]||(b=-b);ic(a,a.i&~c|a.i+b&c)}
|
l.Sb=function(a){if(!a&&!this.v.A.N){var b;this.R&&uc(this);this.S==ac?b=wc(this.G,this.i):b=this.v.f(this.i);bc(this,this.w=b)}};l.Ub=function(a){a||this.v.A.N||hc(this,this.u)};l.Tb=function(a){a?(this.F=!0,ec(this,!0)):(this.F=!1,ec(this),ic(this,0))};l.Vb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function uc(a){var b=1,c=a.G.u;a.b[lc]&&a.b[lc][1]||(b=-b);hc(a,a.i&~c|a.i+b&c)}
|
||||||
function ic(a,b){a.i=b&a.H.u;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.C[e]=f;d.F||kc(d,e,f)}}}function cc(a,b){a.I=b%D;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||kc(d,e,f)}}return a.I}function jc(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;gc(a);return!0}l.stop=function(){ic(this,this.v.i)};
|
function hc(a,b){a.i=b&a.G.u;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.C[e]=f;d.F||jc(d,e,f)}}}function bc(a,b){a.I=b%E;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||jc(d,e,f)}}return a.I}function ic(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;fc(a);return!0}l.stop=function(){hc(this,this.v.i)};
|
||||||
function hc(){for(var a=w(document,v,"panel"),b=0;b<a.length;b++){var c=a[b],d=u(c),e=rb(d.id);e||(e=new ac(d,!0));tb(e,c)}}var bc=7,nc="DEP",pc="ENABLE",oc="EXAM",mc="STEP";$a(hc);function yc(a,b,c){r.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.u=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new zc(this);Ec(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Lb(this)}ma(yc,r);l=yc.prototype;l.reset=function(){};
|
function gc(){for(var a=x(document,w,"panel"),b=0;b<a.length;b++){var c=a[b],d=v(c),e=qb(d.id);e||(e=new $b(d,!0));sb(e,c)}}var ac=7,mc="DEP",oc="ENABLE",nc="EXAM",lc="STEP";Ya(gc);function xc(a,b,c){u.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.u=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new yc(this);Dc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Kb(this)}pa(xc,u);l=xc.prototype;l.reset=function(){};
|
||||||
l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,Fc(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
l.va=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ka=function(a){return a?this.save():!0};l.save=function(){var a=new G(this);a.set(0,Ec(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){r("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||||
function Gc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,p=16384-(e-k);p>f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Oa+=h.B-e,h.B=e,!0;if(e>=h.B+h.Oa){p=h.size-(e-k);p>f&&(p=f);h.Oa=e-h.B+p;e=k+16384;f-=p;g++;continue}}return Hc(Ic,e,f)}e=new zc(a,e,p,16384,d);Ec(e,a.D,h);a.b[g++]=e;e=k+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Jc[d]+" at "+wa(b)),!0):Hc(Kc,b,c)}
|
function Fc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,m=16384-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Pa+=h.B-e,h.B=e,!0;if(e>=h.B+h.Pa){m=h.size-(e-k);m>f&&(m=f);h.Pa=e-h.B+m;e=k+16384;f-=m;g++;continue}}return Gc(Hc,e,f)}e=new yc(a,e,m,16384,d);Dc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Ic[d]+" at "+n(b)),!0):Gc(Jc,b,c)}
|
||||||
function xc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function wc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Fc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.jb||e.Lb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var p=e[g],m=g+1;m<e.length&&e[m]===p;)m++;k[h++]=m-g;k[h++]=p;g=m}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
function wc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function vc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Ec(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.jb||e.Lb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],p=g+1;p<e.length&&e[p]===m;)p++;k[h++]=p-g;k[h++]=m;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
||||||
l.Mb=function(a){this.w||(this.D&&Ob(this.D,4)&&Pb(this.D,"memory fault on "+I(this.D,a),!0,!0),this.v.W())};function Hc(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Ic=1,Kc=2;function Lc(a){r.call(this,"Device",a,256)}ma(Lc,r);l=Lc.prototype;l.Da=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;Lb(this)};l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new F(this)).data()};
|
l.Mb=function(a){this.w||(this.D&&Nb(this.D,4)&&Ob(this.D,"memory fault on "+J(this.D,a),!0,!0),this.v.W())};function Gc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Hc=1,Jc=2;function Kc(a){u.call(this,"Device",a,256)}pa(Kc,u);l=Kc.prototype;l.Ea=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.D=d;Kb(this)};l.va=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ka=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new G(this)).data()};
|
||||||
l.restore=function(){return!0};$a(function(){for(var a=w(document,v,"device"),b=0;b<a.length;b++){var c,d=a[b];c=u(d);switch(c.type){case "default":c=new Lc(c),tb(c,d)}}});function zc(a,b,c,d,e){this.H=a;this.id=Mc+=2;this.B=b;this.Oa=c;this.size=d||0;this.type=e||Nc;this.G=e==Oc;this.b=null;this.f=this.D=this.nb;this.g=this.w=this.Pa;this.i=this.v=0;Ec(this);this.jb=this.Lb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Pc(this,Qc)}else Pc(this)}l=zc.prototype;l.save=function(){return this.u};
|
l.restore=function(){return!0};Ya(function(){for(var a=x(document,w,"device"),b=0;b<a.length;b++){var c,d=a[b];c=v(d);switch(c.type){case "default":c=new Kc(c),sb(c,d)}}});function yc(a,b,c,d,e){this.H=a;this.id=Lc+=2;this.B=b;this.Pa=c;this.size=d||0;this.type=e||Mc;this.G=e==Nc;this.b=null;this.f=this.D=this.nb;this.g=this.w=this.Qa;this.i=this.v=0;Dc(this);this.jb=this.Lb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Oc(this,Pc)}else Oc(this)}l=yc.prototype;l.save=function(){return this.u};
|
||||||
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.jb=!0):!1};function Pc(a,b){b||(b=Rc);Sc(a,b,void 0);Tc(a,b,void 0)}function Sc(a,b,c){c&&a.i||(a.f=b[0]||a.nb);if(c||void 0===c)a.D=b[0]||a.nb}function Tc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Pa);if(c||void 0===c)a.w=b[1]||a.Pa}l.Ia=function(a,b){b?this.v++||Tc(this,Uc,!1):this.i++||Sc(this,Uc,!1)};function Vc(a,b){b?--a.v||(a.g=a.G?a.Pa:a.w):--a.i||(a.f=a.D)}
|
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.jb=!0):!1};function Oc(a,b){b||(b=Qc);Rc(a,b,void 0);Sc(a,b,void 0)}function Rc(a,b,c){c&&a.i||(a.f=b[0]||a.nb);if(c||void 0===c)a.D=b[0]||a.nb}function Sc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Qa);if(c||void 0===c)a.w=b[1]||a.Qa}l.Ja=function(a,b){b?this.v++||Sc(this,Tc,!1):this.i++||Rc(this,Tc,!1)};function Uc(a,b){b?--a.v||(a.g=a.G?a.Qa:a.w):--a.i||(a.f=a.D)}
|
||||||
function Ec(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Sc(a,Uc,!1),(a.v=c.v)&&Tc(a,Uc,!1))}l.nb=function(a,b){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to read invalid address "+I(this.b,b),!0);this.H.Mb(b);return-1};l.Pa=function(a,b,c){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to write "+I(this.b,a)+" to invalid addresses "+I(this.b,c),!0)};l.$b=function(a){return this.u[a]};l.ic=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.jb=!0)};
|
function Dc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Rc(a,Tc,!1),(a.v=c.v)&&Sc(a,Tc,!1))}l.nb=function(a,b){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to read invalid address "+J(this.b,b),!0);this.H.Mb(b);return-1};l.Qa=function(a,b,c){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to write "+J(this.b,a)+" to invalid addresses "+J(this.b,c),!0)};l.$b=function(a){return this.u[a]};l.ic=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.jb=!0)};
|
||||||
l.Yb=function(a,b){if(this.b&&null!=this.B){var c=this.b;Wc(c,this.B+a,2,c.M)&&c.W(!1)}return this.D(a,b)};l.hc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Wc(d,this.B+b,2,d.I)&&d.W(!1)}this.G?this.Pa(a,0,c):this.w(a,b,c)};var Nc=0,Oc=2,Jc=["NONE","RAM","ROM"],Mc=0,Rc=[],Qc=[zc.prototype.$b,zc.prototype.ic],Uc=[zc.prototype.Yb,zc.prototype.hc];
|
l.Yb=function(a,b){if(this.b&&null!=this.B){var c=this.b;Vc(c,this.B+a,2,c.M)&&c.W(!1)}return this.D(a,b)};l.hc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Vc(d,this.B+b,2,d.I)&&d.W(!1)}this.G?this.Qa(a,0,c):this.w(a,b,c)};var Mc=0,Nc=2,Ic=["NONE","RAM","ROM"],Lc=0,Qc=[],Pc=[yc.prototype.$b,yc.prototype.ic],Tc=[yc.prototype.Yb,yc.prototype.hc];
|
||||||
function Xc(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.ab=0;this.eb=b;this.ea=c;this.bb=Math.round(this.eb/1E4)/100;this.ba=this.bb*this.ea;this.cb=this.Ba=this.fa=this.Va=0;this.A.N=this.A.$a=!1;this.A.Z=a.autoStart;"string"==typeof this.A.Z&&(this.A.Z="true"==this.A.Z);this.A.La=!1;this.za=this.la=0;this.Aa=+a.csStart;this.ka=+a.csInterval;this.ma=+a.csStop;this.O=[];this.xb=this.cc.bind(this);this.T=this.M=this.R=this.S=this.L=this.ya=this.P=this.na=this.fb=this.aa=
|
function Wc(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.ab=0;this.eb=b;this.ea=c;this.bb=Math.round(this.eb/1E4)/100;this.ba=this.bb*this.ea;this.cb=this.Ca=this.fa=this.Va=0;this.A.N=this.A.$a=!1;this.A.Z=a.autoStart;"string"==typeof this.A.Z&&(this.A.Z="true"==this.A.Z);this.A.La=!1;this.Aa=this.ha=0;this.Ba=+a.csStart;this.ma=+a.csInterval;this.na=+a.csStop;this.O=[];this.xb=this.cc.bind(this);this.T=this.M=this.R=this.S=this.L=this.za=this.P=this.oa=this.fb=this.aa=
|
||||||
0;this.Ra=null;Lb(this)}ma(Xc,r);l=Xc.prototype;l.Da=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Ra=a.u;for(a=0;a<Yc.length;a++)(b=this.J[Yc[a]])&&this.G.ja(null,Yc[a],b);Lb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
0;this.Ha=null;Kb(this)}pa(Wc,u);l=Wc.prototype;l.Ea=function(a,b,c,d){this.H=a;this.G=b;this.D=d;this.Ha=a.u;for(a=0;a<Xc.length;a++)(b=this.J[Xc[a]])&&this.H.la(null,Xc[a],b);Kb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
||||||
l.ua=function(a,b){var c=Zc(this.G,"autoStart");null!=c?this.A.Z="true"==c?!0:"false"==c?!1:!!c:null==this.A.Z&&(this.A.Z=!this.D&&void 0===this.J.run);if(!b){if(a){$c(this);if(!this.restore(a))return!1;ad(this)}else this.reset();this.D?(a=this.D,b=this.A.Z,a.za=!0,a.j("Type ? for help with PDPjs Debugger commands"),bd(a),b||cd(a),a.wa&&(b=a.wa,a.wa=null,dd(a,b))):this.status("No debugger detected");this.A.Z||this.j("CPU will not be auto-started "+(this.Ra?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
l.va=function(a,b){var c=Yc(this.H,"autoStart");null!=c?this.A.Z="true"==c?!0:"false"==c?!1:!!c:null==this.A.Z&&(this.A.Z=!this.D&&void 0===this.J.run);if(!b){if(a){Zc(this);if(!this.restore(a))return!1;$c(this)}else this.reset();this.D?(a=this.D,b=this.A.Z,a.Ba=!0,a.j("Type ? for help with PDPjs Debugger commands"),ad(a),b||bd(a),a.ya&&(b=a.ya,a.ya=null,cd(a,b))):this.status("No debugger detected");this.A.Z||this.j("CPU will not be auto-started "+(this.Ha?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
||||||
l.ia=function(a){return a?this.save():!0};l.Z=function(){return this.A.N?!0:this.A.Z?(qc(this),!0):!1};l.Bb=function(){return 0};function ad(a){void 0===a.Aa&&(a.Aa=0);void 0===a.ka&&(a.ka=-1);void 0===a.ma&&(a.ma=-1);a.A.La=0<=a.Aa&&0<a.ka;a.A.La&&(a.za=0,a.la=a.Aa-a.T)}function uc(a,b){if(a.A.La){var c=!1;a.za=a.za+a.Bb()|0;a.la-=b;0>=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=ed(a)&&(a.ka=a.ma=-1,ad(a),a.W(),c=!0);c&&a.j(ed(a)+" cycles: checksum="+n(a.za))}}
|
l.ka=function(a){return a?this.save():!0};l.Z=function(){return this.A.N?!0:this.A.Z?(pc(this),!0):!1};l.Bb=function(){return 0};function $c(a){void 0===a.Ba&&(a.Ba=0);void 0===a.ma&&(a.ma=-1);void 0===a.na&&(a.na=-1);a.A.La=0<=a.Ba&&0<a.ma;a.A.La&&(a.Aa=0,a.ha=a.Ba-a.T)}function tc(a,b){if(a.A.La){var c=!1;a.Aa=a.Aa+a.Bb()|0;a.ha-=b;0>=a.ha&&(a.ha+=a.ma,c=!0);0<=a.na&&a.na<=dd(a)&&(a.ma=a.na=-1,$c(a),a.W(),c=!0);c&&a.j(dd(a)+" cycles: checksum="+q(a.Aa))}}
|
||||||
l.ja=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.A.V)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.V);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Xa?" (waiting for notification)":""))+".");a=!1}a&&(d.A.N?d.W():qc(d))},!0;case "speed":return this.J[b]=
|
l.la=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.H)if(a=d.H,a.A.V)a=!0;else{var b=null,c,h=pb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.V);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Xa?" (waiting for notification)":""))+".");a=!1}a&&(d.A.N?d.W():pc(d))},!0;case "speed":return this.J[b]=
|
||||||
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){fd(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function tc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function gd(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.bb);a.cb=Math.round(1E3/hd);a.Ba=Math.floor(a.eb/hd*c);b||(a.fa=a.Ba);a.Va=0}function ed(a){return a.T+a.M+a.R-a.S}function $c(a){a.aa=0;a.fb=0;a.T=a.M=a.R=a.S=0;ad(a);fd(a,1)}
|
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){ed(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function sc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function fd(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.bb);a.cb=Math.round(1E3/gd);a.Ca=Math.floor(a.eb/gd*c);b||(a.fa=a.Ca);a.Va=0}function dd(a){return a.T+a.M+a.R-a.S}function Zc(a){a.aa=0;a.fb=0;a.T=a.M=a.R=a.S=0;$c(a);ed(a,1)}
|
||||||
function fd(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.bb*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&id(a.G)}tc(a,a.M);a.M=0;a.L=ob();a.P=0;gd(a);return d}function jd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function kd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
|
function ed(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.bb*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.H&&hd(a.H)}sc(a,a.M);a.M=0;a.L=nb();a.P=0;fd(a);return d}function id(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function jd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
|
||||||
function sc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ld(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c}
|
function rc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function kd(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c}
|
||||||
l.cc=function(){if(this.A.N){this.Va>=this.eb&&gd(this,!0);this.na=0;this.ya=ob();if(this.P){var a=this.ya-this.P;a>this.cb&&(this.L+=a,this.L>this.ya&&(this.L=this.ya))}try{do{var b=jd(this,this.A.La?1:this.Ba);try{this.Qa(b)}catch(e){if("number"!=typeof e)throw e;}b=ld(this,!0);this.na+=b;this.M+=b;uc(this,b);sc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ba;++this.fb>=md&&(this.G&&H(this.G,void 0),this.fb=0);break}}while(this.A.N)}catch(e){this.W();this.G&&this.G.stop(ob(),ed(this));Ib(this,
|
l.cc=function(){if(this.A.N){this.Va>=this.eb&&fd(this,!0);this.oa=0;this.za=nb();if(this.P){var a=this.za-this.P;a>this.cb&&(this.L+=a,this.L>this.za&&(this.L=this.za))}try{do{var b=id(this,this.A.La?1:this.Ca);try{this.Ra(b)}catch(e){if("number"!=typeof e)throw e;}b=kd(this,!0);this.oa+=b;this.M+=b;tc(this,b);rc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ca;++this.fb>=ld&&(this.H&&I(this.H,void 0),this.fb=0);break}}while(this.A.N)}catch(e){this.W();this.H&&this.H.stop(nb(),dd(this));yb(this,
|
||||||
e.stack||e.message);return}if(this.A.N){a=setTimeout;b=this.xb;this.P=ob();var c=this.cb;this.na&&(c=Math.round(c*this.na/this.Ba));var c=c-(this.P-this.ya),d=this.P-this.L;d&&(this.aa=Math.round(this.M/(10*d))/100,864E5<=d&&(this.T=0,fd(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.L-=c),c=0;this.Va+=this.na;this.P+=c;a(b,c)}}};
|
e.stack||e.message);return}if(this.A.N){a=setTimeout;b=this.xb;this.P=nb();var c=this.cb;this.oa&&(c=Math.round(c*this.oa/this.Ca));var c=c-(this.P-this.za),d=this.P-this.L;d&&(this.aa=Math.round(this.M/(10*d))/100,864E5<=d&&(this.T=0,ed(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.L-=c),c=0;this.Va+=this.oa;this.P+=c;a(b,c)}}};
|
||||||
function qc(a,b){if(!Jb(a))if(a.A.N)a.j(a.toString()+" busy");else{fd(a);a.A.N=!0;a.A.$a=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&id(a.G,!0),a.G.start(a.L,ed(a)));a.D||a.status("Started");setTimeout(a.xb,0)}}l.Qa=function(){return 0};l.W=function(a){var b=!1;if(this.A.N){ld(this);tc(this,this.M);this.M=0;this.A.N=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(ob(),ed(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var hd=30,md=15,Yc=["power","reset"];
|
function pc(a,b){if(!Ib(a))if(a.A.N)a.j(a.toString()+" busy");else{ed(a);a.A.N=!0;a.A.$a=!0;var c=a.J.run;c&&(c.textContent="Halt");a.H&&(b&&hd(a.H,!0),a.H.start(a.L,dd(a)));a.D||a.status("Started");setTimeout(a.xb,0)}}l.Ra=function(){return 0};l.W=function(a){var b=!1;if(this.A.N){kd(this);sc(this,this.M);this.M=0;this.A.N=!1;if(b=this.J.run)b.textContent="Run";this.H&&this.H.stop(nb(),dd(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var gd=30,ld=15,Xc=["power","reset"];
|
||||||
function nd(a){var b=+a.model||1001;Xc.call(this,a,1E6);this.wb=b;this.Sa=+a.addrReset||0;this.Jb=od.bind(this);this.w=J.bind(this);this.wa=null;this.sb=[];this.A.complete=!1}ma(nd,Xc);l=nd.prototype;l.reset=function(){this.status("Model "+this.wb);this.A.N&&this.W();this.b=this.K=this.Ca=0;this.i=this.xa=this.Sa;this.I=this.qa=-1;this.F=this.u=0;this.gb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.i;this.C=0;this.f=this.Zb;this.g=this.jc;this.wa=null;$c(this);this.A.error=!1;Xc.prototype.reset.call(this)};
|
function md(a){var b=+a.model||1001;Wc.call(this,a,1E6);this.wb=b;this.Sa=+a.addrReset||0;this.Jb=nd.bind(this);this.w=K.bind(this);this.xa=null;this.sb=[];this.A.complete=!1}pa(md,Wc);l=md.prototype;l.reset=function(){this.status("Model "+this.wb);this.A.N&&this.W();this.b=this.K=this.Da=0;this.i=this.ya=this.Sa;this.I=this.ra=-1;this.F=this.u=0;this.gb=[0,0];this.pa=[0,0];this.ga=[0,0];this.qa=[0,0];this.wa=this.i;this.C=0;this.f=this.Zb;this.g=this.jc;this.xa=null;Zc(this);this.A.error=!1;Wc.prototype.reset.call(this)};
|
||||||
l.Bb=function(){return 0};l.save=function(){var a=new F(this);a.set(0,[this.b,this.K,this.Ca,this.i,this.qa,this.I,this.u,this.C,this.xa,this.va,this.Sa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,pd(this));a.set(4,kd(this));return a.data()};
|
l.Bb=function(){return 0};l.save=function(){var a=new G(this);a.set(0,[this.b,this.K,this.Da,this.i,this.ra,this.I,this.u,this.C,this.ya,this.wa,this.Sa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,od(this));a.set(4,jd(this));return a.data()};
|
||||||
l.restore=function(a){var b;b=a[0];ha();ca();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.b=b.next().value;this.K=b.next().value;this.Ca=b.next().value;this.i=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.u=b.next().value;this.C=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Sa=b.next().value;b=a[2];this.T=b[0];fd(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.sb.length;d++){var e=this.sb[d];if(e.gc===b[c]){d=e;break a}}d=
|
l.restore=function(a){var b;b=a[0];ha();ca();ha();var c=b[Symbol.iterator];b=c?c.call(b):ja(b);this.b=b.next().value;this.K=b.next().value;this.Da=b.next().value;this.i=b.next().value;this.ra=b.next().value;this.I=b.next().value;this.u=b.next().value;this.C=b.next().value;this.ya=b.next().value;this.wa=b.next().value;this.Sa=b.next().value;b=a[2];this.T=b[0];ed(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.sb.length;d++){var e=this.sb[d];if(e.gc===b[c]){d=e;break a}}d=
|
||||||
null}d&&(d.next=this.wa,this.wa=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function qd(a,b){var c=a.i;a.i=(c+b)%Sb;return c}function G(a,b){a.i=b%Sb}function pd(a){var b=[];for(a=a.wa;a;)b.push(a.gc),a=a.next;return b}l.Zb=function(a){var b=this.H;a=this.va=a;return b.b[(a&b.u)>>>b.i].f(a&16383,a)};l.jc=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b};
|
null}d&&(d.next=this.xa,this.xa=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function pd(a,b){var c=a.i;a.i=(c+b)%Rb;return c}function H(a,b){a.i=b%Rb}function od(a){var b=[];for(a=a.xa;a;)b.push(a.gc),a=a.next;return b}l.Zb=function(a){var b=this.G;a=this.wa=a;return b.b[(a&b.u)>>>b.i].f(a&16383,a)};l.jc=function(a,b){var c=this.G;a=this.wa=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b};
|
||||||
l.Qa=function(a){this.A.complete=!0;var b=this.D?rd(this.D)?1:this.A.$a?-1:0:0,c=a?this.A.$a?0:1:-1;this.A.$a=!1;this.R=this.S=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(sd(this.D,this.i,c)){this.W();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.wa||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&sd(this.D,this.i,c)){this.W();break}if(0>c)break}}this.C&=15;this.K&4194304?this.K=this.f(this.b):0<=this.qa?(this.K=this.Ca=this.f(this.qa),this.qa=-1):(this.K=this.Ca=
|
l.Ra=function(a){this.A.complete=!0;var b=this.D?qd(this.D)?1:this.A.$a?-1:0:0,c=a?this.A.$a?0:1:-1;this.A.$a=!1;this.R=this.S=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(rd(this.D,this.i,c)){this.W();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.xa||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&rd(this.D,this.i,c)){this.W();break}if(0>c)break}}this.C&=15;this.K&4194304?this.K=this.f(this.b):0<=this.ra?(this.K=this.Da=this.f(this.ra),this.ra=-1):(this.K=this.Da=
|
||||||
this.f(this.xa=this.i),this.i=(this.i+1)%Sb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Rb;a=this.K&4194304?-1:this.Ca/Yb|0;0<=a&&this.Jb(a)}while(0<this.S);return this.A.complete?this.R-this.S:!1===this.A.complete?-1:0};$a(function(){for(var a=w(document,v,"cpu"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new nd(d);tb(d,c)}});function od(a){td[a>>4].call(this,a,a&15)}function K(a){this.w(a)}
|
this.f(this.ya=this.i),this.i=(this.i+1)%Rb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Qb;a=this.K&4194304?-1:this.Da/Xb|0;0<=a&&this.Jb(a)}while(0<this.S);return this.A.complete?this.R-this.S:!1===this.A.complete?-1:0};Ya(function(){for(var a=x(document,w,"cpu"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new md(d);sb(d,c)}});function nd(a){sd[a>>4].call(this,a,a&15)}function M(a){this.w(a)}
|
||||||
function ud(){var a=0,b=this.f(this.b),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%D);this.g(this.b,b)}function vd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Zb&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
|
function td(){var a=0,b=this.f(this.b),c=b/Yb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Yb+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.g(this.b,b)}function ud(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Yb&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
|
||||||
function wd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Zb&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%D;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function xd(a,b){this.g(b,this.f(this.b))}function yd(a,b){this.g(b,this.b)}function zd(a,b){this.g(this.b,this.f(b))}function Ad(a,b){this.g(b,0)}function Bd(a,b){this.g(b,C-this.f(b))}function Rd(a,b){this.g(b,C)}
|
function vd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Yb&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function wd(a,b){this.g(b,this.f(this.b))}function xd(a,b){this.g(b,this.b)}function yd(a,b){this.g(this.b,this.f(b))}function zd(a,b){this.g(b,0)}function Ad(a,b){this.g(b,C-this.f(b))}function Td(a,b){this.g(b,C)}
|
||||||
function Sd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Td(a,d,c)+(c-(c&x)))}function Ud(a,b){var c=this.f(b);this.g(b,Td(a,c,0))}function Vd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Td(a,c,b)+(b-(b&x)))}function Wd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>A?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Xd(a,b){var c=(this.f(this.b)&x)*z,d=this.f(b);this.g(b,Td(a,d,c)+c)}
|
function Ud(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Vd(a,d,c)+(c-(c&y)))}function Wd(a,b){var c=this.f(b);this.g(b,Vd(a,c,0))}function Xd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Vd(a,c,b)+(b-(b&y)))}function Yd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&y,a){case 256:d+=y;break;case 384:d+=c>A?y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Zd(a,b){var c=(this.f(this.b)&y)*z,d=this.f(b);this.g(b,Vd(a,d,c)+c)}
|
||||||
function Yd(a,b){var c=this.b*z,d=this.f(b);this.g(b,Td(a,d,c)+c)}function Zd(a,b){b=(this.f(b)&x)*z;var c=this.f(this.b);this.g(this.b,Td(a,c,b)+b)}function $d(a,b){var c=this.f(this.b),d=(c&x)*z,c=Td(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ae(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,be(a,d,c)+c)}function ce(a,b){var c=this.f(b);this.g(b,be(a,c,this.b)+this.b)}function de(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)}
|
function $d(a,b){var c=this.b*z,d=this.f(b);this.g(b,Vd(a,d,c)+c)}function ae(a,b){b=(this.f(b)&y)*z;var c=this.f(this.b);this.g(this.b,Vd(a,c,b)+b)}function be(a,b){var c=this.f(this.b),d=(c&y)*z,c=Vd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ce(a,b){var c=this.f(this.b)&y,d=this.f(b);this.g(b,de(a,d,c)+c)}function ee(a,b){var c=this.f(b);this.g(b,de(a,c,this.b)+this.b)}function fe(a,b){b=this.f(b)&y;var c=this.f(this.b);this.g(this.b,de(a,c,b)+b)}
|
||||||
function ee(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*z;break;case 384:d+=c>Tb?x*z:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function fe(a,b){var c=this.f(this.b)/z|0,d=this.f(b);this.g(b,be(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,be(a,c,0))}function he(a,b){b=this.f(b)/z|0;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)}function ie(a,b){var c=this.f(this.b),d=c/z|0,c=be(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function N(a){je[a&7].call(this,a,a>>3&127)}
|
function ge(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=y,a){case 256:d+=y*z;break;case 384:d+=c>Sb?y*z:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function he(a,b){var c=this.f(this.b)/z|0,d=this.f(b);this.g(b,de(a,d,c)+c)}function ie(a,b){var c=this.f(b);this.g(b,de(a,c,0))}function je(a,b){b=this.f(b)/z|0;var c=this.f(this.b);this.g(this.b,de(a,c,b)+b)}function ke(a,b){var c=this.f(this.b),d=c/z|0,c=de(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function N(a){le[a&7].call(this,a,a>>3&127)}
|
||||||
function ke(){}function le(){}function J(a){this.j("undefined opcode: "+wa(a));qd(this,-1);this.W()}function me(a){a>A&&(a!=B?a=Vb-a:this.u|=163840);return a}function O(a,b){var c=(a+b)%D;ne.call(this,a,b,c);return c}
|
function me(){}function ne(){}function K(a){this.j("undefined opcode: "+n(a));pd(this,-1);this.W()}function oe(a){a>A&&(a!=B?a=Ub-a:this.u|=163840);return a}function O(a,b){var c=(a+b)%E;pe.call(this,a,b,c);return c}
|
||||||
function oe(a,b,c){var d=!1,e=!1,f=b-b%B;a=a%B+b*B%D;b=this.F=f+Math.trunc(b/2);c>A&&(c=D-c,d=!d);b>A&&(a?(b=C-b,a=D-a):b&&(b=D-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.gb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0<pe(this.pa,this.ga);)qe(this.ga,this.ga),qe(this.oa,this.oa);do{if(0<=pe(this.pa,this.ga)&&(b=this.pa,a=this.ga,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=D,b[1]--),qe(this.gb,this.oa),re(this.pa)))break;se(this.ga);se(this.oa)}while(!re(this.oa));
|
function qe(a,b,c){var d=!1,e=!1,f=b-b%B;a=a%B+b*B%E;b=this.F=f+Math.trunc(b/2);c>A&&(c=E-c,d=!d);b>A&&(a?(b=C-b,a=E-a):b&&(b=E-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.gb;f[0]=0;f[1]=0;f=this.pa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.qa;c[0]=a;for(c[1]=b;0<re(this.qa,this.ga);)se(this.ga,this.ga),se(this.pa,this.pa);do{if(0<=re(this.qa,this.ga)&&(b=this.qa,a=this.ga,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=E,b[1]--),se(this.gb,this.pa),te(this.qa)))break;ue(this.ga);ue(this.pa)}while(!te(this.pa));
|
||||||
a=this.gb[0];this.F=this.pa[0];d&&a&&(a=D-a);e&&this.F&&(this.F=D-this.F);return a}
|
a=this.gb[0];this.F=this.qa[0];d&&a&&(a=E-a);e&&this.F&&(this.F=E-this.F);return a}
|
||||||
function te(a,b,c){var d=a,e=b;b=!1;var f;d>A&&(d=D-d,b=!b);e>A&&(e=D-e,b=!b);if(d<z&&e<z)a=d*e,f=0;else{a=d&x;d=Math.trunc(d/z);f=e&x;var e=Math.trunc(e/z),g=a*f,h=d*f+Math.trunc(g/z);f=Math.trunc(h/z);h=(h&x)+a*e;a=h*z+(g&x);f+=Math.trunc(h/z)+d*e}b&&(a?(f=C-f,a=D-a):f&&(f=D-f));if(c)return(f||a>A)&&(f!=C||a<=A)&&(this.u|=131072),a;c=a;b=f;a=b-b%B;b=2*b%D+Math.trunc(c/B);c=a+c%B;d=b-b%B;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b}
|
function ve(a,b,c){var d=a,e=b;b=!1;var f;d>A&&(d=E-d,b=!b);e>A&&(e=E-e,b=!b);if(d<z&&e<z)a=d*e,f=0;else{a=d&y;d=Math.trunc(d/z);f=e&y;var e=Math.trunc(e/z),g=a*f,h=d*f+Math.trunc(g/z);f=Math.trunc(h/z);h=(h&y)+a*e;a=h*z+(g&y);f+=Math.trunc(h/z)+d*e}b&&(a?(f=C-f,a=E-a):f&&(f=E-f));if(c)return(f||a>A)&&(f!=C||a<=A)&&(this.u|=131072),a;c=a;b=f;a=b-b%B;b=2*b%E+Math.trunc(c/B);c=a+c%B;d=b-b%B;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b}
|
||||||
function ue(a){a?a==B?this.u|=163840:a=Vb-a:this.u|=98304;return a}function P(a,b){var c=a-b;0>c&&(c+=D);ne.call(this,c,b,a);return c}function ne(a,b,c){a=Math.trunc(a/Ub);b=Math.trunc(b/Ub);c=Math.trunc(c/Ub);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Q(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function R(a,b){return Q(a,(~(b/E|0)&15)*E+(~b>>>0))}function S(a,b){return(a<B?a:a-D)-(b<B?b:b-B)}
|
function we(a){a?a==B?this.u|=163840:a=Ub-a:this.u|=98304;return a}function P(a,b){var c=a-b;0>c&&(c+=E);pe.call(this,c,b,a);return c}function pe(a,b,c){a=Math.trunc(a/Tb);b=Math.trunc(b/Tb);c=Math.trunc(c/Tb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Q(a,b){return((a/F|0)&(b/F|0))*F+((a&b)>>>0)}function R(a,b){return Q(a,(~(b/F|0)&15)*F+(~b>>>0))}function S(a,b){return(a<B?a:a-E)-(b<B?b:b-B)}
|
||||||
function ve(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function V(a){return a<B?a:a-D}function W(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function X(a){return(a/z|0)+(a&x)*z}function be(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*z;break;case 384:b=c>Tb?x*z:0}return b}function Td(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>A?x:0}return b}
|
function xe(a,b){return(~((a/F|0)^(b/F|0))&15)*F+(~(a^b)>>>0)}function T(a,b){return(a/F|0|b/F|0)*F+((a|b)>>>0)}function U(a){return a<B?a:a-E}function V(a,b){return((a/F|0)^(b/F|0))*F+((a^b)>>>0)}function W(a){return(a/z|0)+(a&y)*z}function de(a,b,c){switch(a&384){case 0:b-=b&y;break;case 128:b=0;break;case 256:b=y*z;break;case 384:b=c>Sb?y*z:0}return b}function Vd(a,b,c){switch(a&384){case 0:b&=y;break;case 128:b=0;break;case 256:b=y;break;case 384:b=c>A?y:0}return b}
|
||||||
function qe(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=D&&(a[0]%=D,a[1]++)}function pe(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function se(a){a[1]%2&&(a[0]+=D);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function re(a){return!a[0]&&!a[1]}
|
function se(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=E&&(a[0]%=E,a[1]++)}function re(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function ue(a){a[1]%2&&(a[0]+=E);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function te(a){return!a[0]&&!a[1]}
|
||||||
var td=[K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},ud,function(a,b){0>this.I&&ud.call(this);vd.call(this,0,b)},vd,function(a,b){0>this.I&&ud.call(this);wd.call(this,0,b)},wd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
var sd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},td,function(a,b){0>this.I&&td.call(this);ud.call(this,0,b)},ud,function(a,b){0>this.I&&td.call(this);vd.call(this,0,b)},vd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
||||||
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
||||||
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},xd,yd,zd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&x)*z;this.g(b,a)},function(a,b){this.g(b,this.b*z)},function(a,b){a=this.f(b);a=(a/z|0)+(a&x)*z;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&x)*z;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ue.call(this,this.f(this.b)))},function(a,b){this.g(b,ue.call(this,this.b))},function(a,b){this.g(this.b,
|
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},wd,xd,yd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(b,a)},function(a,b){this.g(b,this.b*z)},function(a,b){a=this.f(b);a=(a/z|0)+(a&y)*z;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,we.call(this,this.f(this.b)))},function(a,b){this.g(b,we.call(this,this.b))},function(a,b){this.g(this.b,
|
||||||
ue.call(this,this.f(b)))},function(a,b){a=ue.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,me.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,me.call(this,this.f(b)))},function(a,b){a=me.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,te.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,te.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,te.call(this,this.f(b),this.f(this.b),
|
we.call(this,this.f(b)))},function(a,b){a=we.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,oe.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,oe.call(this,this.f(b)))},function(a,b){a=oe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ve.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,ve.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,ve.call(this,this.f(b),this.f(this.b),
|
||||||
!0))},function(a,b){this.g(this.b,this.g(b,te.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,te.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,te.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,te.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,te.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
|
!0))},function(a,b){this.g(this.b,this.g(b,ve.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,ve.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,ve.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,ve.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ve.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=qe.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
|
||||||
1&15,this.F))},function(a,b){a=oe.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
|
1&15,this.F))},function(a,b){a=qe.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=qe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=qe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=qe.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=qe.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
|
||||||
function(a,b){a=this.f(b);b=this.f(b+1&15);b=oe.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>A?-(D-a):a;0<c?(35<=c?(d=0>d?B:0,c=A):(d=d*Math.pow(2,c)%B,c=B-Math.pow(2,35-c)),a<=A?a+c>A&&(this.u|=131072):a-c<=A&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+D:d;
|
function(a,b){a=this.f(b);b=this.f(b+1&15);b=qe.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=qe.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>A?-(E-a):a;0<c?(35<=c?(d=0>d?B:0,c=A):(d=d*Math.pow(2,c)%B,c=B-Math.pow(2,35-c)),a<=A?a+c>A&&(this.u|=131072):a-c<=A&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;
|
||||||
this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%D:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<B;)a++,c*=2;G(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<B||d>A&&
|
this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%E+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%E:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<B;)a++,c*=2;H(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<B||d>A&&
|
||||||
d<C)this.u|=131072;if(71<=a){if(0<e&&e<B||e>A&&e<C)this.u|=131072;d=0}else d=e*Math.pow(2,a-35)%B,c=B-Math.pow(2,70-a),f<=A?e+c>A&&(this.u|=131072):e-c<=A&&(this.u|=131072);e=0;f>A&&(d+=B,e+=B)}else d=d*Math.pow(2,a)%B+Math.trunc(e%B/Math.pow(2,35-a)),e=e*Math.pow(2,a)%B,c=B-Math.pow(2,35-a),f<=A?f+c>A&&(this.u|=131072):(f-c<=A&&(this.u|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d>A?C:0:Math.trunc(d%B/Math.pow(2,-a-35)),d<=A?d=0:(d=C,e+=B)):(c=d>A?D-Math.pow(2,36+a):0,e=Math.trunc(e%B/Math.pow(2,-a))+
|
d<C)this.u|=131072;if(71<=a){if(0<e&&e<B||e>A&&e<C)this.u|=131072;d=0}else d=e*Math.pow(2,a-35)%B,c=B-Math.pow(2,70-a),f<=A?e+c>A&&(this.u|=131072):e-c<=A&&(this.u|=131072);e=0;f>A&&(d+=B,e+=B)}else d=d*Math.pow(2,a)%B+Math.trunc(e%B/Math.pow(2,35-a)),e=e*Math.pow(2,a)%B,c=B-Math.pow(2,35-a),f<=A?f+c>A&&(this.u|=131072):(f-c<=A&&(this.u|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d>A?C:0:Math.trunc(d%B/Math.pow(2,-a-35)),d<=A?d=0:(d=C,e+=B)):(c=d>A?E-Math.pow(2,36+a):0,e=Math.trunc(e%B/Math.pow(2,-a))+
|
||||||
d%B*Math.pow(2,35+a)%B,d=Math.trunc(d/Math.pow(2,-a))+c,d>A&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%D+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%D+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+
|
d%B*Math.pow(2,35+a)%B,d=Math.trunc(d/Math.pow(2,-a))+c,d>A&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%E+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+
|
||||||
1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%D,d=0):(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%D,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},J,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/z|0,c=c&x;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&x,c=c+1&x,this.A.N||(this.g(b,d*
|
1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%E,d=0):(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},K,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/z|0,c=c&y;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&y,c=c+1&y,this.A.N||(this.g(b,d*
|
||||||
z+c),a||qd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<B&&G(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=B&&G(this,this.b)},function(a){this.w(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,G(this,this.b))},function(){this.qa=this.b},J,function(a){this.w(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&x,this.f(this.b));a>=D&&(a-=D);a/z|0||(this.u|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&x);this.g(this.b,c);this.b==b&&(a=c);a-=262145;
|
z+c),a||pd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<B&&H(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=B&&H(this,this.b)},function(a){this.w(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,H(this,this.b))},function(){this.ra=this.b},K,function(a){this.w(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&y,this.f(this.b));a>=E&&(a-=E);a/z|0||(this.u|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&y);this.g(this.b,c);this.b==b&&(a=c);a-=262145;
|
||||||
0>a&&(a+=D);(a/z|0)==x&&(this.u|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.u&x)*z+this.i);G(this,this.b+1)},function(a,b){this.g(b,(this.u&x)*z+this.i);G(this,this.b)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){this.g(b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,O.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,O.call(this,this.f(b),this.f(this.b))))},
|
0>a&&(a+=E);(a/z|0)==y&&(this.u|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.u&y)*z+this.i);H(this,this.b+1)},function(a,b){this.g(b,(this.u&y)*z+this.i);H(this,this.b)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){this.g(b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,O.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,O.call(this,this.f(b),this.f(this.b))))},
|
||||||
function(a,b){this.g(b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,P.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,P.call(this,this.f(b),this.f(this.b))))},ke,function(a,b){0>S(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){S(this.f(b),this.b)||G(this,this.i+1)},function(a,b){0>=S(this.f(b),this.b)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=S(this.f(b),this.b)&&G(this,
|
function(a,b){this.g(b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,P.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,P.call(this,this.f(b),this.f(this.b))))},me,function(a,b){0>S(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){S(this.f(b),this.b)||H(this,this.i+1)},function(a,b){0>=S(this.f(b),this.b)&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){0<=S(this.f(b),this.b)&&H(this,
|
||||||
this.i+1)},function(a,b){S(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0<S(this.f(b),this.b)&&G(this,this.i+1)},le,function(a,b){0>S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))||G(this,this.i+1)},function(a,b){0>=S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0<S(this.f(b),this.f(this.b))&&
|
this.i+1)},function(a,b){S(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){0<S(this.f(b),this.b)&&H(this,this.i+1)},ne,function(a,b){0>S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){0>=S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){0<=S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){0<S(this.f(b),this.f(this.b))&&
|
||||||
G(this,this.i+1)},ke,function(a,b){0>V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))||G(this,this.b)},function(a,b){0>=V(this.f(b))&&G(this,this.b)},function(){G(this,this.b)},function(a,b){0<=V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))&&G(this,this.b)},function(a,b){0<V(this.f(b))&&G(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)||G(this,this.i+1);b&&this.g(b,
|
H(this,this.i+1)},me,function(a,b){0>U(this.f(b))&&H(this,this.b)},function(a,b){U(this.f(b))||H(this,this.b)},function(a,b){0>=U(this.f(b))&&H(this,this.b)},function(){H(this,this.b)},function(a,b){0<=U(this.f(b))&&H(this,this.b)},function(a,b){U(this.f(b))&&H(this,this.b)},function(a,b){0<U(this.f(b))&&H(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)||H(this,this.i+1);b&&this.g(b,
|
||||||
a)},function(a,b){a=this.f(this.b);0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){G(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,O.call(this,this.f(b),1))},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>V(a)&&G(this,this.b)},function(a,b){a=this.g(b,
|
a)},function(a,b){a=this.f(this.b);0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){H(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,O.call(this,this.f(b),1))},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>U(a)&&H(this,this.b)},function(a,b){a=this.g(b,
|
||||||
O.call(this,this.f(b),1));V(a)||G(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,O.call(this,this.f(b),1));G(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<V(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,
|
O.call(this,this.f(b),1));U(a)||H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>=U(a)&&H(this,this.b)},function(a,b){this.g(b,O.call(this,this.f(b),1));H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<=U(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));U(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<U(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,
|
||||||
b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));V(a)||G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,
|
b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,
|
||||||
b){a=this.g(this.b,O.call(this,this.f(this.b),1));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,P.call(this,this.f(b),1))},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>V(a)&&G(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));V(a)||G(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,P.call(this,this.f(b),
|
b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,P.call(this,this.f(b),1))},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>U(a)&&H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));U(a)||H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>=U(a)&&H(this,this.b)},function(a,b){this.g(b,P.call(this,this.f(b),
|
||||||
1));G(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<V(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));V(a)||G(this,this.i+
|
1));H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<=U(a)&&H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));U(a)&&H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<U(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)||H(this,this.i+
|
||||||
1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<V(a)&&G(this,this.i+
|
1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<U(a)&&H(this,this.i+
|
||||||
1);b&&this.g(b,a)},Ad,Ad,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),this.b))},function(a,b){this.g(this.b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(C-this.f(b),this.b))},function(a,b){this.g(this.b,Q(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,
|
1);b&&this.g(b,a)},zd,zd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),this.b))},function(a,b){this.g(this.b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(C-this.f(b),this.b))},function(a,b){this.g(this.b,Q(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,
|
||||||
this.g(b,Q(C-this.f(b),this.f(this.b))))},xd,yd,le,xd,function(a,b){this.g(b,Q(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),C-this.b))},function(a,b){this.g(this.b,Q(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),C-this.f(this.b))))},ke,ke,zd,zd,function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(this.b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,W(this.f(b),
|
this.g(b,Q(C-this.f(b),this.f(this.b))))},wd,xd,ne,wd,function(a,b){this.g(b,Q(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),C-this.b))},function(a,b){this.g(this.b,Q(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),C-this.f(this.b))))},me,me,yd,yd,function(a,b){this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(b,V(this.f(b),this.b))},function(a,b){this.g(this.b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,V(this.f(b),
|
||||||
this.f(this.b))))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(this.b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,Q(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,Q(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(C-this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,
|
this.f(this.b))))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(this.b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,Q(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,Q(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(C-this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,
|
||||||
ve(this.f(b),this.f(this.b)))},function(a,b){this.g(b,ve(this.f(b),this.b))},function(a,b){this.g(this.b,ve(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ve(this.f(b),this.f(this.b))))},Bd,Bd,function(a,b){this.g(this.b,C-this.f(b))},function(a,b){this.g(this.b,this.g(b,C-this.f(b)))},function(a,b){this.g(b,U(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(C-this.f(b),this.b))},function(a,b){this.g(this.b,U(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,
|
xe(this.f(b),this.f(this.b)))},function(a,b){this.g(b,xe(this.f(b),this.b))},function(a,b){this.g(this.b,xe(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,xe(this.f(b),this.f(this.b))))},Ad,Ad,function(a,b){this.g(this.b,C-this.f(b))},function(a,b){this.g(this.b,this.g(b,C-this.f(b)))},function(a,b){this.g(b,T(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(C-this.f(b),this.b))},function(a,b){this.g(this.b,T(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,
|
||||||
U(C-this.f(b),this.f(this.b))))},function(a,b){this.g(b,C-this.f(this.b))},function(a,b){this.g(b,C-this.b)},function(){this.g(this.b,C-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,C-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),C-this.b))},function(a,b){this.g(this.b,U(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,U(C-this.f(b),C-this.f(this.b)))},function(a,
|
T(C-this.f(b),this.f(this.b))))},function(a,b){this.g(b,C-this.f(this.b))},function(a,b){this.g(b,C-this.b)},function(){this.g(this.b,C-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,C-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),C-this.b))},function(a,b){this.g(this.b,T(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,T(C-this.f(b),C-this.f(this.b)))},function(a,
|
||||||
b){this.g(b,U(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,U(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(C-this.f(b),C-this.f(this.b))))},Rd,Rd,function(){this.g(this.b,C)},function(a,b){this.g(this.b,this.g(b,C))},Sd,Ud,Vd,Wd,Xd,Yd,Zd,$d,Sd,Ud,Vd,Wd,Xd,Yd,Zd,$d,Sd,Ud,Vd,Wd,Xd,Yd,Zd,$d,Sd,Ud,Vd,Wd,Xd,Yd,Zd,$d,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ke,ke,function(a,b){Q(this.f(b),this.b)||G(this,this.i+1)},function(a,
|
b){this.g(b,T(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,T(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(C-this.f(b),C-this.f(this.b))))},Td,Td,function(){this.g(this.b,C)},function(a,b){this.g(this.b,this.g(b,C))},Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,ce,ee,fe,ge,he,ie,je,ke,ce,ee,fe,ge,he,ie,je,ke,ce,ee,fe,ge,he,ie,je,ke,ce,ee,fe,ge,he,ie,je,ke,me,me,function(a,b){Q(this.f(b),this.b)||H(this,this.i+1)},function(a,
|
||||||
b){Q(this.f(b),this.b*z)||G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){Q(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){Q(this.f(b),this.b*z)&&G(this,this.i+1)},le,le,function(a,b){Q(this.f(b),this.f(this.b))||G(this,this.i+1)},function(a,b){Q(this.f(b),X(this.f(this.b)))||G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){Q(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){Q(this.f(b),X(this.f(this.b)))&&
|
b){Q(this.f(b),this.b*z)||H(this,this.i+1)},function(){H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){Q(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){Q(this.f(b),this.b*z)&&H(this,this.i+1)},ne,ne,function(a,b){Q(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){Q(this.f(b),W(this.f(this.b)))||H(this,this.i+1)},function(){H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){Q(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){Q(this.f(b),W(this.f(this.b)))&&
|
||||||
G(this,this.i+1)},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(b,R(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||G(this,this.i+1);this.g(b,R(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)||G(this,this.i+1);this.g(b,R(a,c))},function(a,b){G(this,this.i+1);this.g(b,R(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,R(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&G(this,this.i+1);this.g(b,R(a,this.b))},function(a,b){a=this.f(b);
|
H(this,this.i+1)},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(b,R(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||H(this,this.i+1);this.g(b,R(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)||H(this,this.i+1);this.g(b,R(a,c))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&H(this,this.i+1);this.g(b,R(a,this.b))},function(a,b){a=this.f(b);
|
||||||
var c=this.b*z;Q(a,c)&&G(this,this.i+1);this.g(b,R(a,c))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||G(this,this.i+1);this.g(b,R(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)||G(this,this.i+1);this.g(b,R(a,c))},function(a,b){G(this,this.i+1);this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,R(this.f(b),X(this.f(this.b))))},function(a,
|
var c=this.b*z;Q(a,c)&&H(this,this.i+1);this.g(b,R(a,c))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||H(this,this.i+1);this.g(b,R(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)||H(this,this.i+1);this.g(b,R(a,c))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),W(this.f(this.b))))},function(a,
|
||||||
b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&G(this,this.i+1);this.g(b,R(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)&&G(this,this.i+1);this.g(b,R(a,c))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(b,W(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||G(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),this.b))},function(a,b){G(this,
|
b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&H(this,this.i+1);this.g(b,R(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)&&H(this,this.i+1);this.g(b,R(a,c))},function(a,b){this.g(b,V(this.f(b),this.b))},function(a,b){this.g(b,V(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||H(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)||H(this,this.i+1);this.g(b,V(a,c))},function(a,b){H(this,this.i+1);this.g(b,V(this.f(b),this.b))},function(a,b){H(this,
|
||||||
this.i+1);this.g(b,W(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&G(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,
|
this.i+1);this.g(b,V(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&H(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&H(this,this.i+1);this.g(b,V(a,c))},function(a,b){this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(b,V(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||H(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)||H(this,this.i+1);this.g(b,V(a,c))},function(a,
|
||||||
b){G(this,this.i+1);this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(b,U(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=
|
b){H(this,this.i+1);this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,V(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&H(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)&&H(this,this.i+1);this.g(b,V(a,c))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(b,T(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||H(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=
|
||||||
this.f(b);Q(a,this.b*z)||G(this,this.i+1);this.g(b,U(a,this.b*z))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);
|
this.f(b);Q(a,this.b*z)||H(this,this.i+1);this.g(b,T(a,this.b*z))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&H(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&H(this,this.i+1);this.g(b,T(a,c))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);
|
||||||
Q(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,
|
Q(a,c)||H(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)||H(this,this.i+1);this.g(b,T(a,c))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&H(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)&&H(this,this.i+1);this.g(b,T(a,c))},N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,
|
||||||
N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],je=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
|
N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],le=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
|
||||||
function we(a){r.call(this,"ROM",a,128);this.U=this.b=null;this.C=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=ya(this.w);if(this.w){a=this.w;var b=za(this.F);"json"!=b&&"hex"!=b&&(a=Pa()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(mb(c.Ua,a,b),(a=Ka(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);xe(c)})}}ma(we,r);
|
function ye(a){u.call(this,"ROM",a,128);this.U=this.b=null;this.C=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=va(this.w);if(this.w){a=this.w;var b=wa(this.F);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(lb(c.Ua,a,b),(a=Ma(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);ze(c)})}}pa(ye,u);
|
||||||
we.prototype.Da=function(a,b,c,d){this.H=b;this.v=c;this.D=d;xe(this)};we.prototype.ua=function(){this.U&&(this.D&&ye(this.D,this.id,this.C,this.u,this.U),delete this.U);return!0};we.prototype.ia=function(){return!0};
|
ye.prototype.Ea=function(a,b,c,d){this.G=b;this.v=c;this.D=d;ze(this)};ye.prototype.va=function(){this.U&&(this.D&&Ae(this.D,this.id,this.C,this.u,this.U),delete this.U);return!0};ye.prototype.ka=function(){return!0};
|
||||||
function xe(a){if(!Kb(a)){if(a.w){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ib(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.u,8,!0)+")");else{var b;b=a.C;if(Gc(a.H,b,a.u,Oc)){var c;for(c=0;c<a.b.length;c++)wc(a.H,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.H,g=d.u,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.u;g=0;for(e>>>=
|
function ze(a){if(!Jb(a)){if(a.w){if(!a.b||!a.G)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)yb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.C;if(Fc(a.G,b,a.u,Nc)){var c;for(c=0;c<a.b.length;c++)vc(a.G,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.G,g=d.u,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.G;d=d.u;g=0;for(e>>>=
|
||||||
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Lb(a)}}$a(function(){for(var a=w(document,v,"rom"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new we(d);tb(d,c)}});
|
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Kb(a)}}Ya(function(){for(var a=x(document,w,"rom"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new ye(d);sb(d,c)}});
|
||||||
function ze(a){r.call(this,"RAM",a);this.U=this.Ha=null;this.i=+a.addr;this.u=+a.size;this.sa=a.load;this.ra=a.exec;null!=this.sa&&(this.sa=+this.sa);null!=this.ra&&(this.ra=+this.ra);this.w=this.F=!1;this.b=a.file;this.C=ya(this.b);if(this.b){a=this.b;var b=za(this.C);"json"!=b&&"hex"!=b&&(a=Pa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(mb(c.Ua,a,b),(a=Ka(a,b))?(c.Ha=a.Ha,
|
function Be(a){u.call(this,"RAM",a);this.U=this.Ia=null;this.i=+a.addr;this.u=+a.size;this.ta=a.load;this.sa=a.exec;null!=this.ta&&(this.ta=+this.ta);null!=this.sa&&(this.sa=+this.sa);this.w=this.F=!1;this.b=a.file;this.C=va(this.b);if(this.b){a=this.b;var b=wa(this.C);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(lb(c.Ua,a,b),(a=Ma(a,b))?(c.Ia=a.Ia,
|
||||||
c.U=a.U,null==c.sa&&(c.sa=a.sa),null==c.ra&&(c.ra=a.ra)):c.b=null);Ae(c)})}}ma(ze,r);ze.prototype.Da=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ae(this)};ze.prototype.ua=function(a,b){this.U&&(this.D&&ye(this.D,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};ze.prototype.ia=function(){return!0};
|
c.U=a.U,null==c.ta&&(c.ta=a.ta),null==c.sa&&(c.sa=a.sa)):c.b=null);Ce(c)})}}pa(Be,u);Be.prototype.Ea=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Ce(this)};Be.prototype.va=function(a,b){this.U&&(this.D&&Ae(this.D,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};Be.prototype.ka=function(){return!0};
|
||||||
function Ae(a){if(a.H&&(!a.w&&a.u&&(Gc(a.H,a.i,a.u,1)?a.w=!0:a.u=0),!Kb(a))){if(!a.w)q("No RAM allocated");else if(a.b){if(!a.Ha)return;Be(a,a.Ha,a.sa,a.ra,a.i)?a.status('Loaded image "'+a.C+'"'):a.da('Error loading image "'+a.C+'"')}a.F=!0;Lb(a)}}
|
function Ce(a){if(a.G&&(!a.w&&a.u&&(Fc(a.G,a.i,a.u,1)?a.w=!0:a.u=0),!Jb(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Ia)return;De(a,a.Ia,a.ta,a.sa,a.i)?a.status('Loaded image "'+a.C+'"'):a.da('Error loading image "'+a.C+'"')}a.F=!0;Kb(a)}}
|
||||||
ze.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.H,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-B&&(g+=D);for(var g=Math.trunc(Math.abs(g))%D,h=d;f--&&h<e.size;h++)e.w(g,d,e.B+d);c-=16384;b++;d=0}this.Ha&&Be(this,this.Ha,this.sa,this.ra,this.i,!this.D)}this.F=!1};
|
Be.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.G,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-B&&(g+=E);for(var g=Math.trunc(Math.abs(g))%E,h=d;f--&&h<e.size;h++)e.w(g,d,e.B+d);c-=16384;b++;d=0}this.Ia&&De(this,this.Ia,this.ta,this.sa,this.i,!this.D)}this.F=!1};
|
||||||
function Be(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)wc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Sa=d,G(a,d),f?a.A.V?a.A.N||qc(a):a.A.Z=!0:a.D&&a.A.V?a.W()||a.G.A.reset||(bd(a.D),H(a.G,-1)):!1===f&&a.W(),!a.A.N&&a.Ra&&a.Ra.stop()));return g}$a(function(){for(var a=w(document,v,"ram"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new ze(d);tb(d,c)}});
|
function De(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)vc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Sa=d,H(a,d),f?a.A.V?a.A.N||pc(a):a.A.Z=!0:a.D&&a.A.V?a.W()||a.H.A.reset||(ad(a.D),I(a.H,-1)):!1===f&&a.W(),!a.A.N&&a.Ha&&a.Ha.stop()));return g}Ya(function(){for(var a=x(document,w,"ram"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Be(d);sb(d,c)}});
|
||||||
function Ce(a){r.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=De;b&&(void 0===c&&(c="Panel"),(c=sb(c,this.id))&&(b=c.J[b])&&this.ja(null,a,b))}this.b=this.C=null;this.exports={connect:this.Cb,receiveData:this.Ya,receiveStatus:this.ac,setConnection:this.dc}}ma(Ce,r);l=Ce.prototype;
|
function Ee(a){u.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Fe;b&&(void 0===c&&(c="Panel"),(c=rb(c,this.id))&&(b=c.J[b])&&this.la(null,a,b))}this.b=this.C=null;this.exports={connect:this.Cb,receiveData:this.Ya,receiveStatus:this.ac,setConnection:this.dc}}pa(Ee,u);l=Ee.prototype;
|
||||||
l.ja=function(a,b,c){var d=this;switch(b){case De:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ta.qb:ta.Gb:46==c?b=ta.qb:a.ctrlKey&&c>=ta.pb&&c<=ta.Hb&&(b=c-(ta.pb-ta.Db));b&&(a.preventDefault&&a.preventDefault(),d.Ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.Fb&&(b=ta.Eb);d.Ya(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
l.la=function(a,b,c){var d=this;switch(b){case Fe:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ra.qb:ra.Gb:46==c?b=ra.qb:a.ctrlKey&&c>=ra.pb&&c<=ra.Hb&&(b=c-(ra.pb-ra.Db));b&&(a.preventDefault&&a.preventDefault(),d.Ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ra.Fb&&(b=ra.Eb);d.Ya(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
||||||
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ya(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Da=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Lb(this)};
|
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ya(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ea=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Kb(this)};
|
||||||
l.Cb=function(a){if(!this.b){var b=Zc(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ga(c[0]);if(d!=this.Ta)return;c=Ga(c[1]);if(this.b=rb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.C=e.receiveData){this.u=a;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.Cb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
l.Cb=function(a){if(!this.b){var b=Yc(this.H,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Da(c[0]);if(d!=this.Ta)return;c=Da(c[1]);if(this.b=qb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.C=e.receiveData){this.u=a;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.va=function(a,b){if(!b)if(this.Cb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||||
l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new F(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ya=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};l.ac=function(){};l.dc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var De="buffer";
|
l.ka=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new G(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ya=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};l.ac=function(){};l.dc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Fe="buffer";
|
||||||
$a(function(){for(var a=w(document,v,"serial"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new Ce(d);tb(d,c)}});function Ee(a){r.call(this,"Debugger",a);this.ca=+a.base||16;this.Ea=32;this.ma=["{","}"];this.la=["[","]"];this.C=0;this.R=!1;this.w=-1;this.u=[];this.K={}}ma(Ee,r);Ee.prototype.kb=function(){return-1};Ee.prototype.lb=function(){};
|
Ya(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Ee(d);sb(d,c)}});function Ge(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.ea=32;this.oa=["{","}"];this.na=["[","]"];this.C=0;this.R=!1;this.w=-1;this.u=[];this.K={}}pa(Ge,u);Ge.prototype.kb=function(){return-1};Ge.prototype.lb=function(){};
|
||||||
function Fe(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ga(b.substring(c,f))),c=f+1}}return a}function Ge(a,b){if(32>=a.Ea)b|=0;else if(a=Math.pow(2,a.Ea-1),b<-a||b>=a)b%=a;return b}
|
function He(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Da(b.substring(c,f))),c=f+1}}return a}
|
||||||
function He(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f=b.pop(),g=b.pop();switch(e){case "*":e=g*f;break;case "/":if(!f)return!1;e=g/f;break;case "%":if(!f)return!1;e=g%f;break;case "+":e=g+f;break;case "-":e=g-f;break;case "<<":e=g<<f;break;case ">>":e=g>>f;break;case ">>>":e=g>>>f;break;case "<":e=g<f?1:0;break;case "<=":e=g<=f?1:0;break;case ">":e=g>f?1:0;break;case ">=":e=g>=f?1:0;break;case "==":e=g==f?1:0;break;case "!=":e=g!=f?1:0;break;case "&":e=
|
function Ie(a,b,c,d){var e=b;c=c||a.ea;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else if(32>=c)e=b|0;else if(a=Math.pow(2,c-1),b<-a||b>=a)e=b%a;b!=e&&(b=e);return b}
|
||||||
32>=a.Ea?g&f:((g/Ie|0)&(f/Ie|0))*Ie+((g&f)>>>0);break;case "!":case "|":e=32>=a.Ea?g|f:(g/Ie|0|f/Ie|0)*Ie+((g|f)>>>0);break;case "^^":e=g^f;break;case "&&":e=g&&f?1:0;break;case "||":e=g||f?1:0;break;default:return!1}b.push(Ge(a,e))}return!0}
|
function Je(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f=b.pop(),g=b.pop();switch(e){case "*":e=g*f;break;case "/":if(!f)return!1;e=g/f;break;case "%":if(!f)return!1;e=g%f;break;case "+":e=g+f;break;case "-":e=g-f;break;case "<<":e=g<<f;break;case ">>":e=g>>f;break;case ">>>":e=g>>>f;break;case "<":e=g<f?1:0;break;case "<=":e=g<=f?1:0;break;case ">":e=g>f?1:0;break;case ">=":e=g>=f?1:0;break;case "==":e=g==f?1:0;break;case "!=":e=g!=f?1:0;break;case "&":e=
|
||||||
function Je(a,b,c){var d;b&&(b=Ke(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],p=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<p.length;){var m=p[e++],t=m.length,m=Ga(m);if(!m){f=!0;break}m=Le(a,m,null,!1===c);if(void 0===m){f=!0;c=!1;break}h.push(m);if(e==p.length)break;var m=p[e++],y=m.length;k.length&&Me[m]<Me[k[k.length-1]]&&He(a,h,k,1);k.push(m);b=b.substr(t+y)}He(a,h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),
|
32>=a.ea?g&f:((g/Ke|0)&(f/Ke|0))*Ke+((g&f)>>>0);break;case "!":case "|":e=32>=a.ea?g|f:(g/Ke|0|f/Ke|0)*Ke+((g|f)>>>0);break;case "^^":e=g^f;break;case "&&":e=g&&f?1:0;break;case "||":e=g||f?1:0;break;default:return!1}b.push(Ie(a,e,a.ea))}return!0}
|
||||||
c&&Ne(a,null,d))}return d}
|
function X(a,b,c){var d;b&&(b=Le(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],t=p.length,p=Da(p);if(!p){f=!0;break}p=Me(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(Ie(a,p,a.ea));if(e==m.length)break;var p=m[e++],D=p.length;k.length&&Ne[p]<Ne[k[k.length-1]]&&Je(a,h,k,1);k.push(p);b=b.substr(t+D)}Je(a,h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):
|
||||||
function Ke(a,b){var c,d=a.ma[0],e=a.ma[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=Je(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?I(a,g):"undefined")}if(a.la.length)for(d=a.la[0],e=a.la[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){d=null;switch(b[1].toLowerCase()){case "ops":d=0}if(null==
|
(d=h.pop(),c&&Oe(a,null,d))}return d}
|
||||||
d)break;a=a.replace(b[0],d.toString())}return a}function Le(a,b,c,d){var e;null!=b?(e=a.kb(b),0<=e?e=a.lb(e):(e=a.K[b],null==e&&(e=ua(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
|
function Le(a,b){var c,d=a.oa[0],e=a.oa[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=X(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?J(a,g):"undefined")}if(a.na.length)for(d=a.na[0],e=a.na[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){d=null;switch(b[1].toLowerCase()){case "ops":d=
|
||||||
function Ne(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,p=void 0,m=8,t="";m?32<m&&(m=32):m=32;for(var y=null==k||isNaN(k),T=p=p||m;0<m--;)T||(t=","+t,T=p),t=(y?"?":k&1?"1":"0")+t,k>>=1,T--;g=t+g;d>>=8}d=n(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}
|
0}if(null==d)break;a=a.replace(b[0],d.toString())}return a}function Me(a,b,c,d){var e;null!=b?(e=a.kb(b),0<=e?e=a.lb(e):(e=a.K[b],null==e&&(e=sa(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
|
||||||
function Oe(a,b){if(b)return Ne(a,b,a.K[b]);var c=0;for(b in a.K)Ne(a,b,a.K[b]),c++;return 0<c}function I(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:a=wa(b,0<c?(c+2)/3|0:0);break;case 10:a=xa(b,0<c?Math.ceil(.3*c):0);break;default:a=n(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Me={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9},Ie=Math.pow(2,32);
|
function Oe(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,m=void 0,p=8,t="";p?32<p&&(p=32):p=32;for(var D=null==k||isNaN(k),da=m=m||p;0<p--;)da||(t=","+t,da=m),t=(D?"?":k&1?"1":"0")+t,k>>=1,da--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+n(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}function Pe(a){var b=a.K;a.K={};return b}
|
||||||
function Pe(a){Ee.call(this,a);this.za=!1;this.xa=18;this.Ea=36;this.ma=["<",">"];this.la=[];this.ya=Y();this.L=Y(0);this.ga=Y(0);this.ba=Y(0);this.F=[];this.b=this.M=this.I=[];Qe(this);this.S=this.ka=0;this.i=[];this.qa=void 0;Re(this);this.D=this;this.na={};this.X=this.yb=0;this.T=null;this.P=[];Se(this,a.messages);this.wa=a.commands;this.O=0;this.Ca=this.va=null;this.C=this.Ba=this.Aa=this.fa=this.pa=0;this.oa=this.ea=this.aa=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return dd(b,
|
function Qe(a,b){if(b)return Oe(a,b,a.K[b]);var c=0;for(b in a.K)Oe(a,b,a.K[b]),c++;return 0<c}function J(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:a=n(b,0<c?(c+2)/3|0:0);break;case 10:a=ua(b,0<c?Math.ceil(.3*c):0);break;default:a=q(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Ne={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9},Ke=Math.pow(2,32);
|
||||||
a)}):void 0===global[v]&&(global[v]=function(a){return dd(b,a)})}ma(Pe,Ee);function Te(a){a=a&&a.B;null==a&&(a=-1);return a}function Y(a,b,c){return{B:void 0===a?null:a,Wa:void 0===b?!1:b,ha:!1,ca:c}}function Ue(a,b,c,d){a.B=b;a.Wa=c||!1;a.ha=!1;a.ca=d}function Ve(a){return[a.B,a.Wa,a.ha,a.ca,a.Za]}function We(a,b){var c=Y(b[0],b[1],b[2]);c.ha=b[3];b[4]&&(c.tb=Fe(a,c.Za=b[4]));return c}l=Pe.prototype;
|
function Re(a){Ge.call(this,a);this.Ba=!1;this.za=18;this.ea=36;this.oa=["<",">"];this.na=[];this.Aa=Y();this.L=Y(0);this.ma=Y(0);this.ba=Y(0);this.F=[];this.b=this.M=this.I=[];Se(this);this.S=this.ha=0;this.i=[];this.wa=void 0;Te(this);this.D=this;this.pa={};this.X=this.yb=0;this.T=null;this.P=[];Ue(this,a.messages);this.ya=a.commands;this.O=0;this.Ha=this.xa=null;this.C=this.Da=this.Ca=this.ga=this.ra=0;this.qa=this.fa=this.aa=null;var b=this;window?void 0===window[w]&&(window[w]=function(a){return cd(b,
|
||||||
l.Da=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;this.xa=b.F;(a=Zc(a,"messages"))&&Se(this,a);Xe(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Te(Ye(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,p=0;k--;){var m=b[e];m.type==c?p++||d.j("..."):(c=m.type,p=Jc[c],m&&d.j(n(m.id,8)+" %"+n(e<<d.H.i,8)+" %"+n(m.B,8)+
|
a)}):void 0===global[w]&&(global[w]=function(a){return cd(b,a)})}pa(Re,Ge);function Ve(a){a=a&&a.B;null==a&&(a=-1);return a}function Y(a,b,c){return{B:void 0===a?null:a,Wa:void 0===b?!1:b,ia:!1,ca:c}}function We(a,b,c,d){a.B=b;a.Wa=c||!1;a.ia=!1;a.ca=d}function Xe(a){return[a.B,a.Wa,a.ia,a.ca,a.Za]}function Ye(a,b){var c=Y(b[0],b[1],b[2]);c.ia=b[3];b[4]&&(c.tb=He(a,c.Za=b[4]));return c}l=Re.prototype;
|
||||||
" "+n(m.Oa,4,!0)+" "+n(m.size,4,!0)+" "+p),c!=Nc&&(c=-1),p=0);a+=16384;e++}}});Lb(this)};
|
l.Ea=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.fa=a.u;this.za=b.F;(a=Yc(a,"messages"))&&Ue(this,a);Ze(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=Ve($e(d,c,d.ma));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var p=b[e];p.type==c?m++||d.j("..."):(c=p.type,m=Ic[c],p&&d.j(q(p.id,8)+" %"+q(e<<d.G.i,8)+" %"+q(p.B,8)+
|
||||||
l.ja=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",dd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Ya(c,function(){if(d.aa){var a=d.aa.value;
|
" "+q(p.Pa,4,!0)+" "+q(p.size,4,!0)+" "+m),c!=Mc&&(c=-1),m=0);a+=16384;e++}}});Kb(this)};
|
||||||
d.aa.value="";dd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Ya(c,function(a){var b=!1;Mb(d,!0)||(Nb(d,!0),b=rc(d,a?1:0,null),Nb(d,!1));return b}),!0}return!1};function cd(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.Ga=function(a,b){var c=-1,d=Te(a);-1!==d&&(c=xc(this.H,d),b&&null!=a.B&&(a.B+=b||1));return c};l.rb=function(a,b,c){var d=Te(a);-1!==d&&(wc(this.H,d,b),c&&null!=a.B&&(a.B+=c||1),H(this.G,-1))};
|
l.la=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",cd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Wa(c,function(){if(d.aa){var a=d.aa.value;
|
||||||
function Ye(a,b,c){var d,e;c||(c=Y());var f=c.B;if(void 0!==b){b=Ke(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var g,f=b,h;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var f=f.toUpperCase(),k=0;k<a.F.length;k++){var p=a.F[k].U[f];if(null!=p){h=p.o;break}}null!=h&&(g=Y(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Je(a,b,void 0)}null!=f&&(f=Ze(f,a.xa),Ue(c,f,d,e));return c}function $e(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.tb=Fe(a,b.Za=c[2]))}
|
d.aa.value="";cd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Wa(c,function(a){var b=!1;Lb(d,!0)||(Mb(d,!0),b=qc(d,a?1:0,null),Mb(d,!1));return b}),!0}return!1};function bd(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.Ga=function(a,b){var c=-1,d=Ve(a);-1!==d&&(c=wc(this.G,d),b&&null!=a.B&&(a.B+=b||1));return c};l.rb=function(a,b,c){var d=Ve(a);-1!==d&&(vc(this.G,d,b),c&&null!=a.B&&(a.B+=c||1),I(this.H,-1))};
|
||||||
function Ze(a,b){0>a&&a>=-B&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function af(a){return wa(a/Sb,6)+" "+wa(a%Sb,6)}
|
function $e(a,b,c){var d,e;c||(c=Y());var f=c.B;if(void 0!==b){b=Le(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var g,f=b,h;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var f=f.toUpperCase(),k=0;k<a.F.length;k++){var m=a.F[k].U[f];if(null!=m){h=m.o;break}}null!=h&&(g=Y(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=X(a,b,void 0)}null!=f&&(f=af(f,a.za),We(c,f,d,e));return c}function bf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.tb=He(a,b.Za=c[2]))}
|
||||||
function Se(a,b){a.D=a;a.X=a.yb=536870916;a.T=null;a.P=[];b=Fe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in $b){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.X|=$b[c],a.j(c+" messages enabled"))}}function Xe(a,b){for(var c in $b)if(16==$b[c]){a.na[c]=b;break}}l.kb=function(a){return bf.indexOf(a.toUpperCase())};
|
function af(a,b){0>a&&a>=-B&&(a+=E);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function cf(a){return n(a/Rb,6)+" "+n(a%Rb,6)}
|
||||||
l.lb=function(a){var b,c=this.v;switch(a){case cf:b=c.i;break;case df:b=c.K;break;case ef:b=c.b;break;case ff:b=c.u&65536?1:0;break;case gf:b=c.u&32768?1:0;break;case hf:b=c.u&131072?1:0;break;case jf:b=c.u&32?1:0;break;case kf:b=c.u&262144?1:0}return b};
|
function Ue(a,b){a.D=a;a.X=a.yb=536870916;a.T=null;a.P=[];b=He(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Zb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.X|=Zb[c],a.j(c+" messages enabled"))}}function Ze(a,b){for(var c in Zb)if(16==Zb[c]){a.pa[c]=b;break}}l.kb=function(a){return df.indexOf(a.toUpperCase())};
|
||||||
l.message=function(a,b){b&&(a+=" @"+I(this,Y(this.v.xa).B));if(!this.T||a!=this.T)if(this.T=a,this.X&1073741824)this.P.push(a);else{var c;if(this.X&-2147483648&&this.v&&(c=this.v.A.N)||Mb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,ld(a),a.fa=0,a.G&&H(a.G,void 0))}};
|
l.lb=function(a){var b,c=this.v;switch(a){case ef:b=c.i;break;case ff:b=c.K;break;case gf:b=c.b;break;case hf:b=c.u&65536?1:0;break;case jf:b=c.u&32768?1:0;break;case kf:b=c.u&131072?1:0;break;case lf:b=c.u&32?1:0;break;case mf:b=c.u&262144?1:0}return b};
|
||||||
function Re(a){var b;if(!rd(a))a.i&&a.i.length&&a.j("instruction history buffer freed"),a.S=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(lf);for(b=0;b<a.i.length;b++)a.i[b]=Y();a.S=0;a.j("instruction history buffer allocated")}}function mf(a,b,c){if(!nf(a,c))return!1;qc(a.v,b);return!0}
|
l.message=function(a,b){b&&(a+=" @"+J(this,Y(this.v.ya).B));if(!this.T||a!=this.T)if(this.T=a,this.X&1073741824)this.P.push(a);else{var c;if(this.X&-2147483648&&this.v&&(c=this.v.A.N)||Lb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,kd(a),a.fa=0,a.H&&I(a.H,void 0))}};
|
||||||
function rc(a,b,c,d){if(!nf(a))return!1;var e="";null===c&&(e=(c=!a.va||"tr"==a.va)?"tr":"t");a.C=0;b||rd(a)&&sd(a,a.v.i,0);try{b=jd(a.v,b);var f=a.v.Qa(b);0<f&&(sc(a.v,f),a.C+=f,tc(a.v,f,!0),uc(a.v,f),a.fa++)}catch(g){"number"!=typeof g&&(a.C=0,Ib(a.v,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),H(a.G,-1));bd(a,c||!1,e);return 0<a.C}l.W=function(a){this.v&&this.v.W(a)};function bd(a,b,c){b=void 0===b?!0:b;a.za&&(c&&a.j(of+c),Ue(a.L,a.v.i),b&&1!=a.O?pf(a):qf(a))}
|
function Te(a){var b;if(!qd(a))a.i&&a.i.length&&a.j("instruction history buffer freed"),a.S=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(nf);for(b=0;b<a.i.length;b++)a.i[b]=Y();a.S=0;a.j("instruction history buffer allocated")}}function of(a,b,c){if(!pf(a,c))return!1;pc(a.v,b);return!0}
|
||||||
function nf(a,b){var c;(c=!a.v||!Kb(a.v))||(c=a.v,c.A.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.N?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Jb(a.v)}l.ua=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ia=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Re(this);this.fa=0;this.T=null;this.C=0;Ue(this.L,this.v.i);this.A.N=!1;rf(this);a||bd(this)};
|
function qc(a,b,c,d){if(!pf(a))return!1;var e="";null===c&&(e=(c=!a.xa||"tr"==a.xa)?"tr":"t");a.C=0;b||qd(a)&&rd(a,a.v.i,0);try{b=id(a.v,b);var f=a.v.Ra(b);0<f&&(rc(a.v,f),a.C+=f,sc(a.v,f,!0),tc(a.v,f),a.ga++)}catch(g){"number"!=typeof g&&(a.C=0,yb(a.v,g.stack||g.message))}!1!==d&&(a.fa&&a.fa.stop(),I(a.H,-1));ad(a,c||!1,e);return 0<a.C}l.W=function(a){this.v&&this.v.W(a)};function ad(a,b,c){b=void 0===b?!0:b;a.Ba&&(c&&a.j(qf+c),We(a.L,a.v.i),b&&1!=a.O?rf(a):sf(a))}
|
||||||
l.save=function(){var a=new F(this);a.set(0,Ve(this.L));a.set(1,Ve(this.ga));a.set(2,Ve(this.ba));a.set(3,[this.u,this.R,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.L=We(this,a[b++]),this.ga=We(this,a[b++]),this.ba=We(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.O||this.j("running");this.A.N=!0;this.Aa=a;this.Ba=b};
|
function pf(a,b){var c;(c=!a.v||!Jb(a.v))||(c=a.v,c.A.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.N?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Ib(a.v)}l.va=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ka=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Te(this);this.ga=0;this.T=null;this.C=0;We(this.L,this.v.i);this.A.N=!1;tf(this);a||ad(this)};
|
||||||
l.stop=function(a,b){if(this.A.N){this.A.N=!1;this.C=b-this.Ba;if(!this.O){b="stopped";if(this.C){a-=this.Aa;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";rd(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Ob(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}bd(this,!0);cd(this);rf(this,this.v.i);this.T=null}};function rd(a){return 1<a.b.length||!!a.ka}
|
l.save=function(){var a=new G(this);a.set(0,Xe(this.L));a.set(1,Xe(this.ma));a.set(2,Xe(this.ba));a.set(3,[this.u,this.R,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.L=Ye(this,a[b++]),this.ma=Ye(this,a[b++]),this.ba=Ye(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.O||this.j("running");this.A.N=!0;this.Ca=a;this.Da=b};
|
||||||
function sd(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.xa==b&&(b=qd(a.v,1)));if(0<c&&(a.ka&&!--a.ka||Wc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.fa++,0>d&&(d=a.v.f(b)),0<=d&&(Ue(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1}
|
l.stop=function(a,b){if(this.A.N){this.A.N=!1;this.C=b-this.Da;if(!this.O){b="stopped";if(this.C){a-=this.Ca;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";qd(this)&&(b+=this.ga+" instructions, ",this.ga=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Nb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}ad(this,!0);bd(this);tf(this,this.v.i);this.T=null}};function qd(a){return 1<a.b.length||!!a.ha}
|
||||||
function sf(a,b,c,d){var e=Y(b.B),f=a.Ga(b,1),g,h,k,p=0,m=f/Wb|0,t;for(t in tf)if(g=tf[t][m&t]){h=+t;m>>=6;switch(h){case 32512:k=uf;p=m&3;break;case 32256:k=vf;p=m&7;break;case 29248:k=wf,p=(m&48)>>2|(m&6)>>1}break}k=k&&k[p]||"";"S"==k&&g>xf&&(k="B");k=yf[g||0]+k;if(g){if(28700==h)h=f/Xb&127,p=I(a,h,-1);else if(h=f>>23&15,p=I(a,h,-1),h)for(m=0;m<zf.length;m++)g==zf[m][0]&&(t=zf[m][h])&&(k=yf[t],p="");k=Fa(k,8)+(p?p+",":"");f&4194304&&(k+="@");k+=I(a,f&262143,-1);(f=f>>18&15)&&(k+="("+I(a,f,-1)+")")}else k=
|
function rd(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.ya==b&&(b=pd(a.v,1)));if(0<c&&(a.ha&&!--a.ha||Vc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ga++,0>d&&(d=a.v.f(b)),0<=d&&(We(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1}
|
||||||
Fa(k,8)+af(f);f=k;g="";h=I(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ga(e,1),g+=" "+af(k),null==e.B)break;while(e.B!=b.B)}h+=Fa(g,16)+f;c&&(h=Fa(h,48)+";"+(c||""),h=a.v.A.La?h+("cycles="+ed(a.v).toString()+" cs="+n(a.v.za)):h+(null!=d?"="+d.toString():""));return h}
|
function uf(a,b,c,d){var e=Y(b.B),f=a.Ga(b,1),g,h,k,m=0,p=f/Vb|0,t;for(t in vf)if(g=vf[t][p&t]){h=+t;p>>=6;switch(h){case 32512:k=wf;m=p&3;break;case 32256:k=xf;m=p&7;break;case 29248:k=yf,m=(p&48)>>2|(p&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>zf&&(k="B");k=Af[g||0]+k;if(g){if(28700==h)h=f/Wb&127,m=J(a,h,-1);else if(h=f>>23&15,m=J(a,h,-1),h)for(p=0;p<Bf.length;p++)g==Bf[p][0]&&(t=Bf[p][h])&&(k=Af[t],m="");k=Ca(k,8)+(m?m+",":"");f&4194304&&(k+="@");k+=J(a,f&262143,-1);(f=f>>18&15)&&(k+="("+J(a,f,-1)+")")}else k=
|
||||||
function Af(a,b,c,d){for(var e=-1,f,g,h=b.toUpperCase(),k=0;k<zf.length;k++)for(var p in zf[k])if(+p&&(g=zf[k][p],h==yf[g])){h=yf[zf[k][0]];c&&(c=I(a,+p)+","+c);break}for(var m in tf){f=+m;p=tf[m];switch(f){case 32512:k=uf;break;case 32256:k=vf;break;case 29248:k=wf;break;default:k=[""]}for(var t in p){g=p[t];for(var y=0;y<k.length;y++){var T=k[y];"S"==T&&g>xf&&(T="B");if(h==yf[g]+T){e=29248!=f?y:(y&3)<<1|(y&12)<<2;e=(t|e<<6)*Wb;break}}if(0<=e)break}if(0<=e)break}if(0<=e){if(c)for(b=c.split(","),
|
Ca(k,8)+cf(f);f=k;g="";h=J(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ga(e,1),g+=" "+cf(k),null==e.B)break;while(e.B!=b.B)}h+=Ca(g,16)+f;c&&(h=Ca(h,48)+";"+(c||""),h=a.v.A.La?h+("cycles="+dd(a.v).toString()+" cs="+q(a.v.Aa)):h+(null!=d?"="+d.toString():""));return h}
|
||||||
c=0;c<b.length;c++)if(m=b[c].trim()){if(1<c){a.j("too many operands: "+m);e=-1;break}h=m.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!h){a.j("unknown operand: "+m);e=-1;break}m=h[2];if(c||1==b.length)m=m?m.replace(/(^|[^0-9])\./g,"$1"+I(a,d)):"0";m=Je(a,m);if(void 0==m){e=-1;break}if(!c&&1<b.length)if(28700==f){if(0>m||127<m)m&=127;e+=m*Xb}else{if(0>m||15<m)m&=15;e+=m<<23}else{if(0>m||262143<m)m&=Rb;e+=m;if(m=h[3]){m=Je(a,m);if(void 0==m){e=-1;break}if(0>m||15<m)m&=15;e+=m<<18}h[1]&&(e+=4194304)}}}else null!=
|
function Cf(a,b,c,d){var e=-1,f,g;if(b){for(var h=b.toUpperCase(),k=0;k<Bf.length;k++)for(var m in Bf[k])if(+m&&(g=Bf[k][m],h==Af[g])){h=Af[Bf[k][0]];c&&(c=J(a,+m)+","+c);break}for(var p in vf){f=+p;m=vf[p];switch(f){case 32512:k=wf;break;case 32256:k=xf;break;case 29248:k=yf;break;default:k=[""]}for(var t in m){g=m[t];for(var D=0;D<k.length;D++){var da=k[D];"S"==da&&g>zf&&(da="B");if(h==Af[g]+da){e=29248!=f?D:(D&3)<<1|(D&12)<<2;e=(t|e<<6)*Vb;break}}if(0<=e)break}if(0<=e)break}}else c&&(e=f=0);if(0<=
|
||||||
c&&a.j("unknown instruction: "+b+" "+c);return e}function Qe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=Te(c);var d=a.H;Vc(d.b[c>>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=Te(c),d=a.H,Vc(d.b[c>>>d.i],!0);a.I=["bw"];a.pa=0;a.ka=0}
|
e&&c)for(h=c.split(","),p=0;p<h.length;p++)if(g=h[p].trim()){if(1<p){a.j("too many operands: "+g);e=-1;break}t=g.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!t){a.j("unknown operand: "+g);e=-1;break}g=t[2];if(p||1==h.length)g=g?g.replace(/(^|[^0-9])\./g,"$1"+J(a,d)):"0";g=X(a,g);if(void 0==g){e=-1;break}if(!p&&1<h.length)if(28700==f){if(0>g||127<g)g&=127;e+=g*Wb}else{if(0>g||15<g)g&=15;e+=g<<23}else{if(0>g||262143<g)g&=Qb;e+=g;if(g=t[3]){g=X(a,g);if(void 0==g){e=-1;break}if(0>g||15<g)g&=15;e+=g<<18}t[1]&&
|
||||||
l.Ia=function(a,b,c){var d=!0;c||cg(this,a,b,!1,!0);if(a!=this.b){var e=Te(b);if(-1===e)this.j("invalid address: "+I(this,b.B)),d=!1;else{var f=this.H;f.b[e>>>f.i].Ia(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(eg(this,a,a.length-1,"set"),Re(this)));return d};function cg(a,b,c,d,e){var f=!1;c=Te(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Te(h)&&(!d||h.ha)){f=!0;h.ha||e||eg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,Vc(d.b[c>>>d.i],b==a.I));h.ha||Re(a);break}}return f}
|
(e+=4194304)}}0>e&&null!=c&&a.j("unknown instruction: "+b+" "+c);return e}function Se(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=Ve(c);var d=a.G;Uc(d.b[c>>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=Ve(c),d=a.G,Uc(d.b[c>>>d.i],!0);a.I=["bw"];a.ra=0;a.ha=0}
|
||||||
function fg(a,b){for(var c=1;c<b.length;c++)eg(a,b,c);return b.length-1}function eg(a,b,c,d){c=b[c];a.j(b[0]+" "+I(a,c.B)+(d?" "+d:c.Za?' "'+c.Za+'"':""))}function rf(a,b){if(void 0!==b)Wc(a,b,1,a.b,!0),a.O=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ha){if(!cg(a,a.b,c,!0))break;b=0}}}
|
l.Ja=function(a,b,c){var d=!0;c||eg(this,a,b,!1,!0);if(a!=this.b){var e=Ve(b);if(-1===e)this.j("invalid address: "+J(this,b.B)),d=!1;else{var f=this.G;f.b[e>>>f.i].Ja(e&16383,a==this.I)}}d&&(a.push(b),c?b.ia=!0:(gg(this,a,a.length-1,"set"),Te(this)));return d};function eg(a,b,c,d,e){var f=!1;c=Ve(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Ve(h)&&(!d||h.ia)){f=!0;h.ia||e||gg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.G,Uc(d.b[c>>>d.i],b==a.I));h.ia||Te(a);break}}return f}
|
||||||
function Wc(a,b,c,d,e){var f=!1;if(!a.pa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ha)for(var k=Te(h)&(d==a.b?65535:-1),p=0;p<c;p++)if(b+p==k){var m,f=!0;h.ha&&(cg(a,d,h,!0),e=!0);if(m=h.tb){for(var f=!1,t=0;t<m.length;t++)if(!gg(a,m[t],!0)){if(m[t].indexOf("if")){f=!0;break}for(var y=t+1;y<m.length&&m[y].indexOf("else");y++)t++;if(y==m.length){f=!0;break}}a.v.A.N||(f=!0)}if(f){e||eg(a,d,g,"hit");break}}}a.pa--;return f}
|
function hg(a,b){for(var c=1;c<b.length;c++)gg(a,b,c);return b.length-1}function gg(a,b,c,d){c=b[c];a.j(b[0]+" "+J(a,c.B)+(d?" "+d:c.Za?' "'+c.Za+'"':""))}function tf(a,b){if(void 0!==b)Vc(a,b,1,a.b,!0),a.O=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ia){if(!eg(a,a.b,c,!0))break;b=0}}}
|
||||||
function hg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=wa(d,2);Ue(e.ya,d);f+="="+I(e,e.Ga(e.ya),36)+" ";c+=f}if(b){b="";for(d=0;d<bf.length;d++)(e=bf[d]||"")&&(e+="="+I(a,a.lb(d),d>=ff?1:d==df?23:18)+" "),b+=e;c+="\n"+b}return c}l.zb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
function Vc(a,b,c,d,e){var f=!1;if(!a.ra++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ia)for(var k=Ve(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.ia&&(eg(a,d,h,!0),e=!0);if(p=h.tb){for(var f=!1,t=0;t<p.length;t++)if(!ig(a,p[t],!0)){if(p[t].indexOf("if")){f=!0;break}for(var D=t+1;D<p.length&&p[D].indexOf("else");D++)t++;if(D==p.length){f=!0;break}}a.v.A.N||(f=!0)}if(f){e||gg(a,d,g,"hit");break}}}a.ra--;return f}
|
||||||
function ye(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,p=h.a;if(void 0!==k){var m=f,k=[k>>>0,g],t=Ha(m,k,a.zb);0>t&&m.splice(-(t+1),0,k)}p&&(h.a=p.replace(/''/g,'"'))}a.F.push({sd:b,B:c,Ob:d,U:e,ub:f})}function ig(a,b,c){var d=[],e=Te(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Ob;if(e>=g&&e<g+h){e=Ha(f.ub,[e-g],a.zb);0<=e?jg(a,b,e,d):c&&(e=~e,jg(a,b,e-1,d),jg(a,b,e,d));break}}return d}
|
function jg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=n(d,2);We(e.Aa,d);f+="="+J(e,e.Ga(e.Aa),36)+" ";c+=f}if(b){b="";for(d=0;d<df.length;d++)(e=df[d]||"")&&(e+="="+J(a,a.lb(d),d>=hf?1:d==ff?23:18)+" "),b+=e;c+="\n"+b}return c}l.zb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||||
function jg(a,b,c,d){var e={},f=a.F[b].ub,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
function Ae(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],t=Ea(p,k,a.zb);0>t&&p.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({sd:b,B:c,Ob:d,U:e,ub:f})}function kg(a,b,c){var d=[],e=Ve(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Ob;if(e>=g&&e<g+h){e=Ea(f.ub,[e-g],a.zb);0<=e?lg(a,b,e,d):c&&(e=~e,lg(a,b,e-1,d),lg(a,b,e,d));break}}return d}
|
||||||
function kg(a,b){var c=Ye(a,b[1],a.ba);if(c){var d=b[2];void 0==d?(a.j("begin assemble at "+I(a,c.B)),a.R=!0,H(a.G)):"/"==d[0]||0<=d.indexOf(":")?a.oa?a.j("assembly already in progress"):a.oa=new lg(d,c.B,a,function(b,c,d){d?a.j("error assembling "+c+": ("+d+")"):a.j("loadAssembly()");a.oa=null}):(b.shift(),b.shift(),b.shift(),b=Af(a,d,b.join(""),c.B||0),0<=b&&(a.rb(c,b),a.j(sf(a,c))))}}
|
function mg(a,b){var c=a.G;b.forEach(function(a,b){vc(c,b,a)})}function lg(a,b,c,d){var e={},f=a.F[b].ub,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||||
function mg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Oe(a)||a.j("no variables"),!0;if(!c[2])return Oe(a,c[1]);if(!c[3])return delete a.K[c[1]],!0;b=Je(a,c[3]);return void 0!==b?(a.K[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
function ng(a,b){var c=$e(a,b[1],a.ba);if(c){var d=b[2];void 0==d?(a.j("begin assemble at "+J(a,c.B)),a.R=!0,I(a.H)):"/"==d[0]||0<=d.indexOf(":")?a.qa?a.j("assembly already in progress"):a.qa=new og(d,c.B,a,function(b,c,d){d?a.j("error assembling "+c+": ("+d+")"):mg(a,b.w);a.qa=null}):(b.shift(),b.shift(),b.shift(),b=Cf(a,d,b.join(""),c.B||0),0<=b&&(a.rb(c,b),a.j(uf(a,c))))}}
|
||||||
function ng(a,b,c){var d=null;if(b=Ye(a,b)){var e=ig(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+n(f,4,!0)),f=e[0]+" ("+I(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+I(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
function pg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Qe(a)||a.j("no variables"),!0;if(!c[2])return Qe(a,c[1]);if(!c[3])return delete a.K[c[1]],!0;b=X(a,c[3]);return void 0!==b?(a.K[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
||||||
function pf(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}g=Je(a,b);if(void 0===g)return;b=a.kb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case cf:G(h,
|
function qg(a,b,c){var d=null;if(b=$e(a,b)){var e=kg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+J(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+J(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
||||||
g);Ue(a.L,h.i);break;case ff:f=65536;break;case gf:f=32768;break;case hf:f=131072;break;case jf:f=32;break;case kf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);H(a.G);a.j("updated registers:")}}a.j(hg(a,e));c&&(Ue(a.L,d.i),qf(a,I(a,a.L.B)))}}function og(a,b){b=Ga(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Ne(a,null,c[2].charCodeAt(0)):Je(a,b,!0)}
|
function rf(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}g=X(a,b);if(void 0===g)return;b=a.kb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case ef:H(h,
|
||||||
function pg(a,b,c){if("?"==c)a.j("trace commands:"),a.j("\tt [#]\ttrace # instructions"),a.j("\ttr [#]\ttrace # instructions with register updates"),a.j("\ttc [#]\ttrace # cycles"),a.j("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Le(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.va=b;Xa(c,function(){return Nb(a,!0)&&rc(a,e,d,!1)},function(){a.ea&&a.ea.stop();H(a.G,-1);Nb(a,!1)})}}
|
g);We(a.L,h.i);break;case hf:f=65536;break;case jf:f=32768;break;case kf:f=131072;break;case lf:f=32;break;case mf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);I(a.H);a.j("updated registers:")}}a.j(jg(a,e));c&&(We(a.L,d.i),sf(a,J(a,a.L.B)))}}function rg(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Oe(a,null,c[2].charCodeAt(0)):X(a,b,!0)}
|
||||||
function qf(a,b,c,d){if(b=Ye(a,b,a.L)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Le(a,c.substr(1)),null!=c&&(d=c);else{d=Ye(a,c);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Mb(a,!1)||a.O?a.C:null,g=null!=f?"cycles":null,h=ig(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var p=h[0]+":";h[2]&&(p+=" "+h[2]);a.j(p)}h[3]&&(g=h[3],f=null);h=a.ba;p=b;h.B=p.B;h.Wa=p.Wa;h.ha=p.ha;h.ca=p.ca;a.j(sf(a,b,g,f));e-=b.B-k;c++}}}
|
function sg(a,b,c){if("?"==c)a.j("trace commands:"),a.j("\tt [#]\ttrace # instructions"),a.j("\ttr [#]\ttrace # instructions with register updates"),a.j("\ttc [#]\ttrace # cycles"),a.j("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Me(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.xa=b;Va(c,function(){return Mb(a,!0)&&qc(a,e,d,!1)},function(){a.fa&&a.fa.stop();I(a.H,-1);Mb(a,!1)})}}
|
||||||
function gg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(of+b):(a.R&&(a.j("ended assemble at "+I(a,a.ba.B)),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Kb(a)&&0<b.length){a.R&&(b="a "+I(a,a.ba.B)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),p=1;p<h.length;p++){var m=h.charAt(p);if("?"==k||"r"==k||"a">m||"z"<m){g[0]=h.substr(p);g.unshift(h.substr(0,p));break}}switch(g[0].charAt(0)){case "a":kg(a,g);
|
function sf(a,b,c,d){if(b=$e(a,b,a.L)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Me(a,c.substr(1)),null!=c&&(d=c);else{d=$e(a,c);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Lb(a,!1)||a.O?a.C:null,g=null!=f?"cycles":null,h=kg(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.B=m.B;h.Wa=m.Wa;h.ia=m.ia;h.ca=m.ca;a.j(uf(a,b,g,f));e-=b.B-k;c++}}}
|
||||||
break;case "b":a:{var t=g[0],y=g[1],T=b;if("?"==y)a.j("breakpoint commands:"),a.j("\tbp #\tset exec breakpoint"),a.j("\tbr #\tset read breakpoint"),a.j("\tbw #\tset write breakpoint"),a.j("\tbc #\tclear breakpoint (* to clear all)"),a.j("\tbl\tlist all breakpoints"),a.j("\tbn [#]\tbreak after # instruction(s)");else{var ja=t.charAt(1);if("l"==ja){var cb;cb=0+fg(a,a.b);cb+=fg(a,a.M);(cb+=fg(a,a.I))||a.j("no breakpoints")}else if("n"==ja){var Z=+y||0;y&&(a.ka=Z);a.j("break after "+Z+" instruction(s)")}else if(void 0===
|
function ig(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(qf+b):(a.R&&(a.j("ended assemble at "+J(a,a.ba.B)),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Jb(a)&&0<b.length){a.R&&(b="a "+J(a,a.ba.B)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":ng(a,g);
|
||||||
y)a.j("missing breakpoint address");else{var L=Y();if("*"!=y&&(L=Ye(a,y,a.L),!L))break a;"c"==ja?null==L.B?(Qe(a),a.j("all breakpoints cleared")):cg(a,a.b,L)||cg(a,a.M,L)||cg(a,a.I,L)||a.j("breakpoint missing: "+I(a,L.B)):null!=L.B&&($e(a,L,T),"p"==ja?a.Ia(a.b,L):"r"==ja?a.Ia(a.M,L):"w"==ja?a.Ia(a.I,L):a.j("unknown breakpoint command: "+ja))}}}break;case "c":a.ta&&(a.ta.value="");break;case "d":a:{var oa,pa=g[0],da=g[1],Ba=g[2],gh=g[3];if("?"==da){var db="";for(oa in $b)a.na[oa]&&(db&&(db+=","),db+=
|
break;case "b":a:{var t=g[0],D=g[1],da=b;if("?"==D)a.j("breakpoint commands:"),a.j("\tbp #\tset exec breakpoint"),a.j("\tbr #\tset read breakpoint"),a.j("\tbw #\tset write breakpoint"),a.j("\tbc #\tclear breakpoint (* to clear all)"),a.j("\tbl\tlist all breakpoints"),a.j("\tbn [#]\tbreak after # instruction(s)");else{var Ha=t.charAt(1);if("l"==Ha){var Bd;Bd=0+hg(a,a.b);Bd+=hg(a,a.M);(Bd+=hg(a,a.I))||a.j("no breakpoints")}else if("n"==Ha){var Df=+D||0;D&&(a.ha=Df);a.j("break after "+Df+" instruction(s)")}else if(void 0===
|
||||||
oa);db+=",state,symbols";a.j("dump memory commands:");a.j("\tdw [a] [n] dump n words at address a");a.j("\tds [a] [n] dump n words at address a as JSON");a.j("\tdh [p] [n] dump n instructions from history position p");db.length&&a.j("dump extension commands:\n\t"+db)}else if("state"==da){var Cd=qg(a.G,!0);"console"==Ba?console.log(Cd):(a.ta&&(a.ta.value=""),Cd&&a.j(Cd))}else if("symbols"==da)for(var Dd=0;Dd<a.F.length;Dd++){var Ed=a.F[Dd],eb;for(eb in Ed.U)if("."!=eb.charAt(0)){var Bf=Ed.U[eb].o;
|
D)a.j("missing breakpoint address");else{var Z=Y();if("*"!=D&&(Z=$e(a,D,a.L),!Z))break a;"c"==Ha?null==Z.B?(Se(a),a.j("all breakpoints cleared")):eg(a,a.b,Z)||eg(a,a.M,Z)||eg(a,a.I,Z)||a.j("breakpoint missing: "+J(a,Z.B)):null!=Z.B&&(bf(a,Z,da),"p"==Ha?a.Ja(a.b,Z):"r"==Ha?a.Ja(a.M,Z):"w"==Ha?a.Ja(a.I,Z):a.j("unknown breakpoint command: "+Ha))}}}break;case "c":a.ua&&(a.ua.value="");break;case "d":a:{var $a,ab=g[0],la=g[1],xa=g[2],jh=g[3];if("?"==la){var bb="";for($a in Zb)a.pa[$a]&&(bb&&(bb+=","),
|
||||||
if(void 0!==Bf){var Cf=Ed.U[eb].l;Cf&&(eb=Cf);a.j(I(a,Bf)+" "+eb)}}}else{if("d"==pa){for(oa in $b)if(g[1]==oa){var Df=a.na[oa];Df?(g.shift(),g.shift(),Df(g)):a.j("no dump registered for "+da);break a}da||(pa=a.Ca||"dw")}else a.Ca=pa;if("dh"==pa){var Ef=da,Ff=Ba,Gf="",Hf=0,ka=a.S,qa=a.i;if(qa.length){var ea=+Ef||a.qa,yb=+Ff||10;isNaN(ea)?ea=yb:Gf="more ";ea>qa.length&&(a.j("note: only "+qa.length+" available"),ea=qa.length);ka-=ea;0>ka&&(null==qa[qa.length-1].B?(ea=ka+ea,ka=0):ka+=qa.length);var Fd=
|
bb+=$a);bb+=",state,symbols";a.j("dump memory commands:");a.j("\tdw [a] [n] dump n words at address a");a.j("\tds [a] [n] dump n words at address a as JSON");a.j("\tdh [p] [n] dump n instructions from history position p");bb.length&&a.j("dump extension commands:\n\t"+bb)}else if("state"==la){var Cd=tg(a.H,!0);"console"==xa?console.log(Cd):(a.ua&&(a.ua.value=""),Cd&&a.j(Cd))}else if("symbols"==la)for(var Dd=0;Dd<a.F.length;Dd++){var Ed=a.F[Dd],cb;for(cb in Ed.U)if("."!=cb.charAt(0)){var Ef=
|
||||||
[];"call"==Ff&&(yb=1E5,Fd=["CALL"]);for(void 0!==Ef&&a.j(ea+" instructions earlier:");0<yb&&ka!=a.S;){var If=qa[ka++];if(null==If.B)break;var zb=Y(If.B),hh=ea--,Jf=sf(a,zb,"history",hh);(!Fd.length||0<=Jf.indexOf(Fd[0]))&&a.j(Jf);zb.ib&&(ka+=zb.ib,yb-=zb.ib,ea-=zb.ib);ka>=qa.length&&(ka=0);a.qa=ea;Hf++;yb--}}Hf||(a.j("no "+Gf+"history available"),a.qa=void 0)}else{var fb=Ye(a,da,a.ga);if(fb){var La=0,Kf="ds"==pa;if(Ba){if("l"==Ba.charAt(0))Ba=Ba.substr(1)||gh,La=Le(a,Ba);else{var Lf=Ye(a,Ba);Lf&&
|
Ed.U[cb].o;if(void 0!==Ef){var Ff=Ed.U[cb].l;Ff&&(cb=Ff);a.j(J(a,Ef)+" "+cb)}}}else{if("d"==ab){for($a in Zb)if(g[1]==$a){var Gf=a.pa[$a];Gf?(g.shift(),g.shift(),Gf(g)):a.j("no dump registered for "+la);break a}la||(ab=a.Ha||"dw")}else a.Ha=ab;if("dh"==ab){var Hf=la,If=xa,Jf="",Kf=0,ia=a.S,ma=a.i;if(ma.length){var ea=+Hf||a.wa,zb=+If||10;isNaN(ea)?ea=zb:Jf="more ";ea>ma.length&&(a.j("note: only "+ma.length+" available"),ea=ma.length);ia-=ea;0>ia&&(null==ma[ma.length-1].B?(ea=ia+ea,ia=0):ia+=ma.length);
|
||||||
(La=Lf.B-fb.B)}0>La&&(La=0);65536<La&&(La=65536)}var ih=a.ca;fb.ca&&(a.ca=fb.ca);for(var Mf="db"==pa?1:2,Gd=La||32,Hd=1==Mf?2:4,jh=(Gd+Hd-1)/Hd|0||1,Ma="";jh--&&0<Gd;){for(var Na="",Nf="",da=I(a,fb.B),Of=Hd;0<Of--&&0<Gd--;){var Ac=a.Ga(fb,1);Kf?(Na&&(Na+=","),Na+=Ac):(Na+=af(Ac),Na+=" ");for(var Pf=0;1==Mf&&6>Pf;Pf++)Nf+=String.fromCharCode((Ac%64|0)+32),Ac/=64}Ma&&(Ma+="\n");Ma=Kf?Ma+(Na+","):Ma+(da+": "+Na+(0>Of?" "+Nf:""))}Ma&&a.j(Ma);a.ca=ih}}}}break;case "e":if("else"==g[0])break;var Qf,Rf,
|
var Fd=[];"call"==If&&(zb=1E5,Fd=["CALL"]);for(void 0!==Hf&&a.j(ea+" instructions earlier:");0<zb&&ia!=a.S;){var Lf=ma[ia++];if(null==Lf.B)break;var Ab=Y(Lf.B),kh=ea--,Mf=uf(a,Ab,"history",kh);(!Fd.length||0<=Mf.indexOf(Fd[0]))&&a.j(Mf);Ab.ib&&(ia+=Ab.ib,zb-=Ab.ib,ea-=Ab.ib);ia>=ma.length&&(ia=0);a.wa=ea;Kf++;zb--}}Kf||(a.j("no "+Jf+"history available"),a.wa=void 0)}else{var db=$e(a,la,a.ma);if(db){var Ia=0,Nf="ds"==ab;if(xa){if("l"==xa.charAt(0))xa=xa.substr(1)||jh,Ia=Me(a,xa);else{var Of=$e(a,xa);
|
||||||
Sf=g[0],Id=g[1];"e"==Sf||"ew"==Sf?(Qf=a.Ga,Rf=a.rb):Id=null;if(null==Id)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Bc=Ye(a,Id,a.ga);if(Bc)for(var Jd=2;Jd<g.length;Jd++){var Ab=Je(a,g[Jd]);if(void 0===Ab)break;Ab=Ze(Ab);a.j("changing "+I(a,Bc.B)+" from "+af(Qf.call(a,Bc))+" to "+af(Ab));Rf.call(a,Bc,Ab,1)}}break;case "g":a:{var Tf=g[1],kh=b;if(void 0!==Tf){var Kd=Ye(a,Tf);if(!Kd)break a;$e(a,Kd,kh);a.Ia(a.b,Kd,!0)}mf(a,!0,c)}break;case "h":a.A.N?(c||a.j("halting"),
|
Of&&(Ia=Of.B-db.B)}0>Ia&&(Ia=0);65536<Ia&&(Ia=65536)}var lh=a.ca;db.ca&&(a.ca=db.ca);for(var Pf="db"==ab?1:2,Gd=Ia||32,Hd=1==Pf?2:4,mh=(Gd+Hd-1)/Hd|0||1,Ja="";mh--&&0<Gd;){for(var Ka="",Id="",la=J(a,db.B),Qf=Hd;0<Qf--&&0<Gd--;){var Jd=a.Ga(db,1);Nf?(Ka&&(Ka+=","),Ka+=Jd):(Ka+=cf(Jd),Ka+=" ");for(var zc=29,nh=0;1==Pf&&0<=zc;nh++)var Rf=Jd/Math.pow(2,zc)%Math.pow(2,7)+0,Id=Id+(32>Rf?".":String.fromCharCode(Rf)),zc=zc-7}Ja&&(Ja+="\n");Ja=Nf?Ja+(Ka+","):Ja+(la+": "+Ka+(0>Qf?" "+Id:""))}Ja&&a.j(Ja);a.ca=
|
||||||
a.W()):Mb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Ld;var Bb=b.substr(2),Bb=Ga(Bb);Je(a,Bb)?(c||a.j("true: "+Bb),Ld=!0):(c||a.j("false: "+Bb),Ld=!1);Ld||(d=!1);break}f=!0;break;case "k":var lh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Md=0,Nd=Y(),Cb=Y();for(a.j("stack trace for "+I(a,Cb.B));10>Md;){for(var Oa=null,mh=256;65536>Cb.B>>>0;){Nd.B=a.Ga(Cb,2);if(null==Cb.B||!mh--)break;if(!(Nd.B&
|
lh}}}}break;case "e":if("else"==g[0])break;var Sf,Tf,Uf=g[0],Kd=g[1];"e"==Uf||"ew"==Uf?(Sf=a.Ga,Tf=a.rb):Kd=null;if(null==Kd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Ac=$e(a,Kd,a.ma);if(Ac)for(var Ld=2;Ld<g.length;Ld++){var Bb=X(a,g[Ld]);if(void 0===Bb)break;Bb=af(Bb);a.j("changing "+J(a,Ac.B)+" from "+cf(Sf.call(a,Ac))+" to "+cf(Bb));Tf.call(a,Ac,Bb,1)}}break;case "g":a:{var Vf=g[1],oh=b;if(void 0!==Vf){var Md=$e(a,Vf);if(!Md)break a;bf(a,Md,oh);a.Ja(a.b,
|
||||||
1)){for(var nh=a,Cc=Nd,Uf=null,Db=Cc.B,Vf=Db,Od=1;6>=Od&&Db;Od++){if(2<Od){Cc.B=Db;var Dc=sf(nh,Cc);if(0<=Dc.indexOf("JSR")){var Wf=Dc.indexOf(" ");if(Db+(Dc.indexOf(" ",Wf+1)-Wf-1)/2==Vf){Uf=Dc;break}}}Db-=2}Cc.B=Vf;if(Oa=Uf)break}}if(!Oa||null==Oa)break;var Xf=null;if("ks"==lh){var Yf=Oa.match(/[0-9A-F]+$/);Yf&&(Xf=ng(a,Yf[0]))}Oa=Fa(Oa,50)+" ;"+(Xf||"stack="+I(a,Cb.B));a.j(Oa);Md++}Md||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){ng(a,g[1],!0);break}f=!0;break;case "m":a:{var ra,
|
Md,!0)}of(a,!0,c)}break;case "h":a.A.N?(c||a.j("halting"),a.W()):Lb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Nd;var Cb=b.substr(2),Cb=Da(Cb);X(a,Cb)?(c||a.j("true: "+Cb),Nd=!0):(c||a.j("false: "+Cb),Nd=!1);Nd||(d=!1);break}f=!0;break;case "k":var ph=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Od=0,Pd=Y(),Db=Y();for(a.j("stack trace for "+J(a,Db.B));10>Od;){for(var La=null,qh=256;65536>Db.B>>>
|
||||||
sa=null,M=g[1];"?"==M&&(M=void 0);if(void 0!==M){var Ca=0;if("all"==M)Ca=1879046143,M=null;else if("on"==M)sa=!0,M=null;else if("off"==M)sa=!1,M=null;else{"keys"==M&&(M="key");"kbd"==M&&(M="keyboard");for(ra in $b)if(M==ra){Ca=$b[ra];sa=!!(a.X&Ca);break}if(!Ca){a.j("unknown message category: "+M);break a}}if(Ca)if("on"==g[2])a.X|=Ca,sa=!0;else if("off"==g[2]&&(a.X&=~Ca,sa=!1,1073741824==Ca)){for(var Zf=1E3<=a.P.length?a.P.length-1E3:0;Zf<a.P.length;)a.j(a.P[Zf++]);a.P=[]}}var oh=0,Eb="";for(ra in $b)if(!M||
|
0;){Pd.B=a.Ga(Db,2);if(null==Db.B||!qh--)break;if(!(Pd.B&1)){for(var rh=a,Bc=Pd,Wf=null,Eb=Bc.B,Xf=Eb,Qd=1;6>=Qd&&Eb;Qd++){if(2<Qd){Bc.B=Eb;var Cc=uf(rh,Bc);if(0<=Cc.indexOf("JSR")){var Yf=Cc.indexOf(" ");if(Eb+(Cc.indexOf(" ",Yf+1)-Yf-1)/2==Xf){Wf=Cc;break}}}Eb-=2}Bc.B=Xf;if(La=Wf)break}}if(!La||null==La)break;var Zf=null;if("ks"==ph){var $f=La.match(/[0-9A-F]+$/);$f&&(Zf=qg(a,$f[0]))}La=Ca(La,50)+" ;"+(Zf||"stack="+J(a,Db.B));a.j(La);Od++}Od||a.j("no return addresses found")}break;case "l":if("ln"==
|
||||||
M==ra){var ph=!!(a.X&$b[ra]);if(null===sa||sa==ph)Eb&&(Eb+=","),++oh%10||(Eb+="\n\t"),"key"==ra&&(ra="keys"),Eb+=ra}void 0===M&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==sa?sa?"messages on: ":"messages off: ":"message categories:\n\t")+(Eb||"none"));Re(a)}break;case "p":if("print"==g[0]){og(a,b.substr(5));break}var $f=g[0],ag="p"==$f?0:"pr"==$f?1:-1;if("?"==g[1]||0>ag)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");
|
g[0]){qg(a,g[1],!0);break}f=!0;break;case "m":a:{var na,oa=null,L=g[1];"?"==L&&(L=void 0);if(void 0!==L){var ya=0;if("all"==L)ya=1879046143,L=null;else if("on"==L)oa=!0,L=null;else if("off"==L)oa=!1,L=null;else{"keys"==L&&(L="key");"kbd"==L&&(L="keyboard");for(na in Zb)if(L==na){ya=Zb[na];oa=!!(a.X&ya);break}if(!ya){a.j("unknown message category: "+L);break a}}if(ya)if("on"==g[2])a.X|=ya,oa=!0;else if("off"==g[2]&&(a.X&=~ya,oa=!1,1073741824==ya)){for(var ag=1E3<=a.P.length?a.P.length-1E3:0;ag<a.P.length;)a.j(a.P[ag++]);
|
||||||
else if(a.O)a.j("step in progress");else{var bg=Y(a.v.i);a.Ga(bg);a.O?(a.Ia(a.b,bg,!0),mf(a)||(a.G&&id(a.G),a.O=0)):pg(a,ag?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}pf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Fb=+g[2];if(8==Fb||10==Fb||16==Fb)a.ca=Fb;else{a.j("invalid base: "+Fb);break}}a.j("default base: "+a.ca);break;case "cs":var Gb;void 0!==g[3]&&(Gb=+g[3]);switch(g[2]){case "int":a.v.ka=Gb;break;case "start":a.v.Aa=Gb;break;case "stop":a.v.ma=Gb;break;
|
a.P=[]}}var sh=0,Fb="";for(na in Zb)if(!L||L==na){var th=!!(a.X&Zb[na]);if(null===oa||oa==th)Fb&&(Fb+=","),++sh%10||(Fb+="\n\t"),"key"==na&&(na="keys"),Fb+=na}void 0===L&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==oa?oa?"messages on: ":"messages off: ":"message categories:\n\t")+(Fb||"none"));Te(a)}break;case "p":if("print"==g[0]){rg(a,b.substr(5));break}var bg=g[0],cg="p"==bg?0:"pr"==bg?1:-1;if("?"==g[1]||0>cg)a.j("step commands:"),a.j("\tp\tstep over instruction"),
|
||||||
default:a.j("unknown cs option");break a}void 0!==Gb&&ad(a.v);a.j("checksums "+(a.v.A.La?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(fd(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),
|
a.j("\tpr\tstep over instruction with register update");else if(a.O)a.j("step in progress");else{var dg=Y(a.v.i);a.Ga(dg);a.O?(a.Ja(a.b,dg,!0),of(a)||(a.H&&hd(a.H),a.O=0)):sg(a,cg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}rf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Gb=+g[2];if(8==Gb||10==Gb||16==Gb)a.ca=Gb;else{a.j("invalid base: "+Gb);break}}a.j("default base: "+a.ca);break;case "cs":var Hb;void 0!==g[3]&&(Hb=+g[3]);switch(g[2]){case "int":a.v.ma=Hb;break;
|
||||||
a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":pg(a,g[0],g[1]);break;case "u":qf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){mg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Qb||"PDP10")+" version 1.34.2 ("+a.v.wb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){og(a,b.substr(1));break}var Pd="commands:",Qd;for(Qd in rg)Pd+="\n"+Fa(Qd,9)+rg[Qd];rd(a)||(Pd+="\nnote: history disabled if no exec breakpoints");
|
case "start":a.v.Ba=Hb;break;case "stop":a.v.na=Hb;break;default:a.j("unknown cs option");break a}void 0!==Hb&&$c(a.v);a.j("checksums "+(a.v.A.La?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ed(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),
|
||||||
a.j(Pd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(dg){a.j("Debugger "+(dg.stack||dg.message)),d=!1}return d}function dd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!gg(a,b[+d]))return!1;return!0}
|
a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":sg(a,g[0],g[1]);break;case "u":sf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){pg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Pb||"PDP10")+" version 1.34.2 ("+a.v.wb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){rg(a,b.substr(1));break}var Rd="commands:",Sd;for(Sd in ug)Rd+="\n"+
|
||||||
var rg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},xf=20,yf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
|
Ca(Sd,9)+ug[Sd];qd(a)||(Rd+="\nnote: history disabled if no exec breakpoints");a.j(Rd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(fg){a.j("Debugger "+(fg.stack||fg.message)),d=!1}return d}function cd(a,b,c){b=He(a,b,c);for(var d in b)if(!ig(a,b[+d]))return!1;return!0}
|
||||||
cf=0,df=1,ef=2,ff=3,gf=4,hf=5,jf=6,kf=7,bf="PC RA EA C0 C1 OV ND PD".split(" "),sg={},tf=(sg[28672]={0:101},sg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},sg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:xf,9216:53,9472:52,
|
var ug={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},zf=20,Af=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
|
||||||
9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},sg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},sg[29248]={24576:79,24640:80,25088:81,25152:82},sg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
|
ef=0,ff=1,gf=2,hf=3,jf=4,kf=5,lf=6,mf=7,df="PC RA EA C0 C1 OV ND PD".split(" "),vg={},vf=(vg[28672]={0:101},vg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},vg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:zf,9216:53,9472:52,
|
||||||
28692:98,28696:99,28700:100},sg),uf=["","I","M","S"],vf=" L E LE A GE N G".split(" "),wf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),zf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],lf=1E3,of=">> ";$a(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new Pe(d);tb(d,c)}});
|
9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},vg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},vg[29248]={24576:79,24640:80,25088:81,25152:82},vg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
|
||||||
function lg(a,b,c,d){this.O=b||0;this.v=c;this.done=d;this.j=c.j;this.w={};this.M={};this.L=this.u=0;this.H=[];this.G=[];this.I=[];this.Fa=this.O;this.F=null;this.b=0;this.K=null;this.C=this.J="";this.i=null;this.D="";var e=this;Ja(a,null,!0,function(a,b,c){if(!c){var d=e.v;c=d.K;d.K={};try{d=b;if(Aa(a,".html")){for(var d="",f,g=/<pre>([\s\S]*?)<\/pre>/gi;f=g.exec(b);){var h=f[1];0<=h.indexOf("&")&&(h=h.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&"));d+=h}(f=d.match(/&[a-z]+;/i))&&
|
28692:98,28696:99,28700:100},vg),wf=["","I","M","S"],xf=" L E LE A GE N G".split(" "),yf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Bf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],nf=1E3,qf=">> ";Ya(function(){for(var a=x(document,w,"debugger"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Re(d);sb(d,c)}});
|
||||||
e.j("warning"+(e.u?" at line "+xa(e.u):"")+": "+("unrecognized HTML entity: "+f[0]))}var y,T=d.split(/\r?\n/);for(y=0;y<T.length&&(e.u++,tg(e,T[y]+"\r\n"));y++);for(y=0;y<e.G.length;y++){var ja=e.G[y],cb=e.w[ja];cb?ug(e,cb.Ja):e.error("missing definition for literal: "+ja)}for(y=0;y<e.I.length;y++){f=b=0;var Z=e.I[y],L=Z.Fa;if(0>Z.Ea){b=Af(e.v,Z.Ka[0],Z.Ka[1],L);if(0>b){e.error("unable to parse instruction: "+Z.Ka[0]+" "+Z.Ka[1]);break}e.H[L++]+=b}else for(h=0;h<Z.Ka.length;h++){var oa=Z.Ka[h],pa=
|
function og(a,b,c,d){this.M=b||0;this.i=c;this.done=d;this.j=c.j;this.v={};this.L={};this.G=[];this.I=[];this.w=[];this.K=this.ja=0;this.Fa=this.M;this.F=null;this.b=0;this.C=null;this.J=this.H="";this.u=null;this.D="";var e=this;Ga(a,null,!0,function(a,b,c){c||(c=wg(e,a,b));e.done(e,a,c)})}
|
||||||
vg(e,oa,L);if(void 0===pa){e.error("unable to parse expression: "+oa);break}b+=pa;f+=Z.Ea;if(36>f)b*=Math.pow(2,36-f);else{if(void 0===e.H[L]){e.error("undefined fixup location: "+wa(L,0,!0));break}e.H[L++]+=b;b=f=0}}}}catch(da){e.j(da.message),e.L=-1}e.v.K=c;c=e.L}e.done(e,a,c)})}
|
function wg(a,b,c){var d=Pe(a.i);try{var e=c;if(za(b,".html")){var e="",f;for(b=/<pre>([\s\S]*?)<\/pre>/gi;f=b.exec(c);){var g=f[1];0<=g.indexOf("&")&&(g=g.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&"));e+=g}(f=e.match(/&[a-z]+;/i))&&xg(a,"unrecognized HTML entity: "+f[0])}var h,k=e.split(/\r?\n/);for(h=0;h<k.length&&(a.ja++,yg(a,k[h]+"\r\n"));h++);a.b&&a.error("open block from line "+a.v[a.C].ja);for(h=0;h<a.G.length;h++){var m=a.G[h],p=a.v[m];p?zg(a,p.Ka):a.error("missing definition for literal: "+
|
||||||
function tg(a,b){if(a.b){if(1==a.b){var c=b.indexOf(a.C);0<=c?(a.b++,b=b.substr(c+1)):a.error("expected "+a.F+" definition: "+b)}if(1<a.b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.C)a.b++;else if(b[d]==a.J&&(a.b--,1==a.b)){a.b=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.K||"";a.w[d].Ja+=b;a.b||(a.K=null,wg(a,d));b=c}if(a.b)return!0}null!=a.i&&(b=xg(a,b));c=b.match(/\s*([A-Z$%._][0-9A-Z$%.]*[:=]|)\s*([A-Z$%.][0-9A-Z$%.]*|)\s*([^;]+|)\s*(;?.*)/i);if(!c||c[4]&&";"!=c[4].slice(0,1))return a.error("failed to parse line: "+
|
m)}a.I.forEach(function(b){var c,d=b.Ma[0];c=b.Ma[1];var e=b.Fa;1==b.Ma.length&&(0<=d.indexOf("@")||0<=d.indexOf("("))&&(c=d,d="");null!=c?(c=Cf(a.i,d,c,e),0>c&&a.error("unable to parse instruction: "+b.Ma[0]+" "+b.Ma[1])):(c=Ag(a,d,e),void 0===c?a.error("unable to parse expression: "+d):void 0===a.w[e]?a.error("undefined fixup location: "+n(e,0,!0)):c+=a.w[e]);b=Ie(a.i,c||0,36,!0);(c<-B||c>=E)&&xg(a,"truncated value "+n(c)+" at location "+n(e)+" to "+n(b));a.w[e]=b})}catch(t){a.j(t.message),a.K=
|
||||||
b),!1;d=c[1];b=c[2].toUpperCase();c=c[3].trim();if(d){var e=d.slice(-1),d=d.slice(0,-1);":"==e?yg(a,d,a.Fa,!0):(c=b+c,b=e)}a.F=b;c=c.trim();"="==c[0]&&(d=b,c=c.substr(1),b="=");for(var e=c,f=0,g=null,h=0,k=-1;h<e.length;){var p=e[h];"["==p&&(f++||(k=h));h++;if("]"==p&&0>=--f)break}0>f&&a.error("missing bracket(s): "+e);0<=k&&(g=e.substr(k,h-k));(e=g)&&(c=c.replace(e,zg(a,Ag,e)));f=null;if(e=c.match(/([A-Z$%.][0-9A-Z$%.]*)#/i))f=e[1],g="_"+f,a.w[g]={name:g,mb:0,vb:[],Ib:[],Ja:f+": 0"},a.G.push(g),
|
-1}a.i.K=d;return a.K}
|
||||||
f=e[0];(e=f)&&(c=c.replace(e,e.slice(0,-1)));if(!wg(a,b,c))switch(b){case "":break;case "=":b=d;d=vg(a,c);void 0===d?a.error("parseExpression("+c+")"):yg(a,b,d);break;case Bg:case Cg:case Dg:xg(a,c);break;case Eg:Fg(a,0,Gg(a,c),18);break;case Hg:case Ig:case Jg:zg(a,b,c);break;case Kg:case Lg:break;default:d=b,e=c,f=Af(a.v,d),0<=f?(Fg(a,f,[d,e],-1),d=!0):d=!1,d||Fg(a,0,[b+c])}return!0}
|
function yg(a,b){if(a.b){if(1==a.b){var c=b.indexOf(a.J);0<=c?(a.b++,b=b.substr(c+1)):a.error("expected "+a.F+" definition: "+b)}if(1<a.b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.J)a.b++;else if(b[d]==a.H&&(a.b--,1==a.b)){a.b=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.C||"";a.v[d].Ka+=b;a.b||(a.C=null,Bg(a,d));b=c}if(a.b)return!0}null!=a.u&&(b=Cg(a,b));c=b.match(/\s*([A-Z$%._][0-9A-Z$%.]*[:=]|)\s*([A-Z$%.][0-9A-Z$%.]*|)\s*([^;]+|)\s*(;?.*)/i);if(!c||c[4]&&";"!=c[4].slice(0,1))return a.error("failed to parse line: "+
|
||||||
function wg(a,b,c){var d=a.w[b];if(!d)return!1;if(null!=c)return b=",","("==c[0]&&(b+=")",c=c.substr(1)),c=Gg(a,c,b),ug(a,d.Ja,d.vb,c),!0;if("_"!=b[0])return!1;switch(b.substr(1)){case Ig:d.mb||ug(a,d.Ja);break;case Jg:for(;0<d.mb--;)ug(a,d.Ja);break;default:return!1}return!0}
|
b),!1;d=c[1];b=c[2].toUpperCase();c=c[3].trim();if(d){var e=d.slice(-1),d=d.slice(0,-1);":"==e?Dg(a,d,a.Fa,!0):(c=b+c,b=e)}a.F=b;c=c.trim();"="==c[0]&&(d=b,c=c.substr(1),b="=");for(var e=c,f=0,g=null,h=0,k=-1;h<e.length;){var m=e[h];"["==m&&(f++||(k=h));h++;if("]"==m&&0>=--f)break}0>f&&a.error("missing bracket(s): "+e);0<=k&&(g=e.substr(k,h-k));for((e=g)&&(c=c.replace(e,Eg(a,Fg,e)));e=Gg(a,c);)c=c.replace(e,e.slice(0,-1));if(!Bg(a,b,c))switch(b){case "":c&&Hg(a,0,[c]);break;case "=":b=d;d=Ag(a,c);
|
||||||
function ug(a,b,c,d){b=b.split(/\r?\n/);for(var e=0;e<b.length;e++){var f=b[e]+"\r\n";if(c)for(var g=0;g<c.length;g++)for(var h=c[g],k=d[g]||"",p=0;;){var m=f.indexOf(h,p);if(0>m)break;var p=m+1,t=m+h.length;m&&f[m-1].match(/[0-9A-Z$%.]/i)||!(t>=f.length)&&f[t].match(/[0-9A-Z$%.]/i)||(f=f.substr(0,m)+k+f.substr(t),p=m+k.length)}if(!tg(a,f))break}}lg.prototype.error=function(a){throw Error("error"+(this.u?" at line "+xa(this.u):"")+": "+a);};
|
void 0===d?a.error("parseExpression("+c+")"):Dg(a,b,d);break;case Ig:case Jg:case Kg:Cg(a,c);break;case Lg:Hg(a,0,[c.replace(",",",,")]);break;case Mg:case Ng:case Og:Eg(a,b,c);break;case Pg:case Qg:break;default:d=b,e=c,f=Cf(a.i,d),0<=f?(Hg(a,f,[d,e]),d=!0):d=!1,d||Hg(a,0,[b+c])}return!0}
|
||||||
function Mg(a,b,c){c=void 0===c?",":c;for(var d=0,e=null,f=0;d<b.length;){var g=b[d];if(0<=c.indexOf(g))break;if("<"==g)f++;else if(">"==g&&0>--f){a.error("missing bracket(s): "+b);break}d++}f?0<f&&a.error("extra bracket(s): "+b):e=b.substr(0,d);return e}function vg(a,b,c){void 0===c&&(c=a.Fa);b=b.replace(/\.([^0-9]|$)/g,I(a.v,c,-1)+"$1");return Je(a.v,b)}function Gg(a,b,c){for(var d=[];b;){b=b.trim();var e=Mg(a,b,c);if(!e)break;d.push(e);b=b.substr(e.length+1)}return d}
|
function Bg(a,b,c){var d=a.v[b];if(!d)return!1;if(null!=c){b=",";"("==c[0]&&(b+=")",c=c.substr(1));for(var e=[];c;){c=c.trim();var f=Rg(a,c,b);if(!f)break;e.push(f);c=c.substr(f.length+1)}zg(a,d.Ka,d.vb,e);return!0}if("_"!=b[0])return!1;switch(b.substr(1)){case Ng:d.mb||zg(a,d.Ka);break;case Og:for(;0<d.mb--;)zg(a,d.Ka);break;default:return!1}return!0}
|
||||||
function xg(a,b){var c=b;null==a.i&&(a.i=a.D="",b&&(a.i=b[0],c=b=b.substr(1)));if(a.i){var d=b.indexOf(a.i);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.i=null);a.D+=b}if(null==a.i){var d=b=0,e,f,g=a.D.length;a.F==Cg&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.F==Dg&&(e--,f++));var k=a.D.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Fg(a,d),b=0)}b&&Fg(a,d)}return c}
|
function zg(a,b,c,d){b=b.split(/\r?\n/);for(var e=0;e<b.length;e++){var f=b[e]+"\r\n";if(c)for(var g=0;g<c.length;g++)for(var h=c[g],k=d[g]||"",m=0;;){var p=f.indexOf(h,m);if(0>p)break;var m=p+1,t=p+h.length;p&&f[p-1].match(/[0-9A-Z$%.]/i)||!(t>=f.length)&&f[t].match(/[0-9A-Z$%.]/i)||(f=f.substr(0,p)+k+f.substr(t),m=p+k.length)}if(!yg(a,f))break}}og.prototype.error=function(a){throw Error("error"+(this.ja?" at line "+ua(this.ja):"")+": "+a);};
|
||||||
function zg(a,b,c){var d,e,f;a.C="<";a.J=">";if(b==Hg){d=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);if(!d)return a.error("unrecognized "+b+" definition: "+c),"";b=d[1];c=d[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);e=-1;f=3}else if(b==Ag)a.C="[",a.J="]",b="_"+xa(a.Fa,5),a.G.push(b),d=[c[0],b+": "+c.substr(1)],c=[],e=a.u,f=0;else{e=Mg(a,c);if(!e)return a.error("missing "+b+" expression: "+c),"";c=c.substr(e.length+1);e=e.trim();d=c.match(/\s*(<|)(.*)/i);b="_"+b;c=[];e=vg(a,e)||0;f=1}b=b.toUpperCase();
|
function xg(a,b){a.j("warning"+(a.ja?" at line "+ua(a.ja):"")+": "+b)}function Rg(a,b,c){c=void 0===c?",":c;for(var d=0,e=null,f=0;d<b.length;){var g=b[d];if(0<=c.indexOf(g))break;if("<"==g)f++;else if(">"==g&&0>--f){a.error("missing bracket(s): "+b);break}d++}f?0<f&&a.error("extra bracket(s): "+b):e=b.substr(0,d);return e}
|
||||||
a.b=1;var g="";d[f]&&(a.b=2,g=d[f+1],g.slice(-1)==a.J&&(a.b=0,g=g.slice(0,-1)));a.w[b]={name:b,mb:e,vb:c,Ib:[],Ja:g};a.b?a.K=b:wg(a,b);return b}function yg(a,b,c,d){var e,f;d=void 0===d?!1:d;e=void 0===e?!1:e;f=void 0===f?!1:f;b=b.toUpperCase().substr(0,6);d&&a.M[b]?a.error("label "+b+" redefined"):(a.M[b]={name:b,value:c,hd:d,gd:e,jd:f},a.v.K[b]=c)}function Fg(a,b,c,d){a.H[a.Fa]=b;c&&a.I.push({Fa:a.Fa,Ka:c,Ea:void 0===d?36:d});a.Fa++}
|
function Ag(a,b,c){var d;void 0===c&&(c=a.Fa);b=b.replace(/\.([^0-9]|$)/g,J(a.i,c,-1)+"$1");(c=b.match(/^([^,]*),,([^,]*)$/))?(b=c[1]?X(a.i,c[1]):0,void 0!==b&&(c=c[2]?X(a.i,c[2]):0,void 0!==c&&(d=Ie(a.i,b,18,!0)*Math.pow(2,18)+Ie(a.i,c,18,!0)))):d=X(a.i,b);return d}function Gg(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="_"+b;a.v[d]&&a.error("reserved symbol redefined: "+c);a.v[d]={name:d,mb:Sg,vb:[],Ib:[],Ka:b+": 0",ja:a.ja};a.G.push(d)}return c}
|
||||||
var Bg="ASCII",Cg="ASCIZ",Hg="DEFINE",Ig="IFE",Ag="LITERAL",Kg="PAGE",Jg="REPEAT",Dg="SIXBIT",Lg="SUBTTL",Eg="XWD";
|
function Cg(a,b){var c=b;null==a.u&&(a.u=a.D="",b&&(a.u=b[0],c=b=b.substr(1)));if(a.u){var d=b.indexOf(a.u);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.u=null);a.D+=b}if(null==a.u){var d=b=0,e,f,g=a.D.length;a.F==Jg&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.F==Kg&&(e--,f++));var k=a.D.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Hg(a,d),b=0)}b&&Hg(a,d)}return c}
|
||||||
function Ng(a,b,c){r.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;Og(this,b);this.O=Zc(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.T=!1;this.I=this.C=null;this.S=this.P=!1;this.ba=Zc(this,"url")||"";(Math.random()+.1).toString(36);this.i=Pg(this);if(this.v=sb("CPU",this.id)){this.D=sb("Debugger",this.id);this.H=new yc({id:this.Ua+".bus",busWidth:this.aa},this.v,this.D);var d,e=qb(this.id);if((this.u=sb("Panel",this.id))&&this.u.ta)for(b=
|
function Eg(a,b,c){var d,e,f,g;a.J="<";a.H=">";e=f=[];if(b==Mg){d=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);if(!d)return a.error("unrecognized "+b+" definition: "+c),"";b=d[1];a.v[b]&&a.error("macro redefined: "+b);e=d[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);c=Tg;g=3}else if(b==Fg)a.J="[",a.H="]",b="_"+ua(a.Fa,5),a.v[b]&&a.error("literal symbol redefined: "+b),d=[c[0],b+": "+c.substr(1)],c=Ug,a.G.push(b),g=0;else{g=Rg(a,c);if(!g)return a.error("missing "+b+" expression: "+c),"";c=c.substr(g.length+
|
||||||
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ta=this.u.ta;this.j(Qb+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Da&&d.Da(this,this.H,this.v,this.D);b=null;d=Zc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=Zc(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=Qg),this.b&&(this.I=new F(this,"1.34.2"),Rg(this.I)?b=null:
|
1);g=g.trim();d=c.match(/\s*(<|)(.*)/i);b="_"+b;c=Ag(a,g)||0;g=1}b=b.toUpperCase();a.b=1;var h="";d[g]&&(a.b=2,h=d[g+1],h.slice(-1)==a.H&&(a.b=0,h=h.slice(0,-1)));a.v[b]={name:b,mb:c,vb:e,Ib:f,Ka:h,ja:a.ja};a.b?a.C=b:Bg(a,b);return b}function Dg(a,b,c,d){var e,f;d=void 0===d?!1:d;e=void 0===e?!1:e;f=void 0===f?!1:f;b=b.toUpperCase().substr(0,6);d&&a.L[b]?a.error("label "+b+" redefined"):(a.L[b]={name:b,value:c,ja:a.ja,hd:d,gd:e,jd:f},a.i.K[b]=c)}
|
||||||
delete this.I);!b&&this.b&&(b=Sg(this))&&(this.K=!0);if(b){var g=this;Ja(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ga(b):"")+")")):(g.L=b,g.T=!0);Lb(g)})}else Lb(this);this.J.power||(this.O=!0);!c&&this.O&&Tg(this,this.Na)}else q("Unable to find CPU component")}ma(Ng,r);function Og(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.R=b}
|
function Hg(a,b,c){a.w[a.Fa]=b;c&&a.I.push({Fa:a.Fa,Ma:c});a.Fa++}var Ig="ASCII",Jg="ASCIZ",Mg="DEFINE",Ng="IFE",Fg="LITERAL",Pg="PAGE",Og="REPEAT",Kg="SIXBIT",Qg="SUBTTL",Lg="XWD",Tg=-1,Ug=-2,Sg=-3;
|
||||||
function Zc(a,b,c,d){var e=b.toLowerCase(),e=Va(b)||Va(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Tg(a,b,c){for(var d=qb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Kb(f)){Kb(f,function(){Tg(a,b,c)});return}}b.call(a,c)}
|
function Vg(a,b,c){u.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;Wg(this,b);this.O=Yc(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.T=!1;this.I=this.C=null;this.S=this.P=!1;this.ba=Yc(this,"url")||"";(Math.random()+.1).toString(36);this.i=Xg(this);if(this.v=rb("CPU",this.id)){this.D=rb("Debugger",this.id);this.G=new xc({id:this.Ua+".bus",busWidth:this.aa},this.v,this.D);var d,e=pb(this.id);if((this.u=rb("Panel",this.id))&&this.u.ua)for(b=
|
||||||
function Ug(a,b){var c=new F(a,"1.34.2",Vg);if(Rg(c)&&Wg(c)){var d=c.get(Xg),e=b?b.get(Xg):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Ng.prototype;
|
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ua=this.u.ua;this.j(Pb+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ea&&d.Ea(this,this.G,this.v,this.D);b=null;d=Yc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=Yc(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=Yg),this.b&&(this.I=new G(this,"1.34.2"),Zg(this.I)?b=null:
|
||||||
l.Na=function(a){void 0===a&&(a=this.b||(this.L?Yg:Qg));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new F(this,"1.34.2");if(a==Zg)b=!0;else if(a>Qg){if(Rg(d,this.L)){this.C=new F(this,"1.34.2",$g);Rg(this.C)&&(ah(this,d),a=bh,ch(this.C));this.C.set(Xg,Ia());dh(this.C);var e=this.b&&!this.K;if(a==Yg||pb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=Wg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Rg(d,g):("error"==f&&"no machine state"!=
|
delete this.I);!b&&this.b&&(b=$g(this))&&(this.K=!0);if(b){var g=this;Ga(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Da(b):"")+")")):(g.L=b,g.T=!0);Kb(g)})}else Kb(this);this.J.power||(this.O=!0);!c&&this.O&&ah(this,this.Oa)}else r("Unable to find CPU component")}pa(Vg,u);function Wg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.R=b}
|
||||||
g?(this.da("Error: "+g),"unable to verify user"==g&&(Ta(eh,""),this.i=null)):this.j(f+": "+g),ch(d),Rg(d)?(c=Wg(d),e=!0):c=!1))}e&&Ug(this,c?d:null)}else a==bh&&d.clear()}else Ug(this);delete this.L;delete this.I}e=qb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=fh(this,g,d,b,c));b=[d,a,c];a!=Zg?Tg(this,this.Ab,b):this.Ab(b)}};
|
function Yc(a,b,c,d){var e=b.toLowerCase(),e=Ta(b)||Ta(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function ah(a,b,c){for(var d=pb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Jb(f)){Jb(f,function(){ah(a,b,c)});return}}b.call(a,c)}
|
||||||
function fh(a,b,c,d,e){if(!b.A.V){b.A.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ua(f,d)&&f&&(q("Unable to restore state for "+b.type),a.M&&!a.T?(c.clear(),a.b=Qg,window&&window.location.reload()):a.P=!0,b.ua(null),e=!1),!d&&b.ob){var g=b.ob.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
function bh(a,b){var c=new G(a,"1.34.2",ch);if(Zg(c)&&dh(c)){var d=c.get(eh),e=b?b.get(eh):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Vg.prototype;
|
||||||
l.Ab=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(fh(this,this.v,b,c,a),H(this,-2),this.v.Z());this.P&&(ah(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
l.Oa=function(a){void 0===a&&(a=this.b||(this.L?fh:Yg));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new G(this,"1.34.2");if(a==gh)b=!0;else if(a>Yg){if(Zg(d,this.L)){this.C=new G(this,"1.34.2",hh);Zg(this.C)&&(ih(this,d),a=uh,vh(this.C));this.C.set(eh,Fa());wh(this.C);var e=this.b&&!this.K;if(a==fh||ob("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=dh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Zg(d,g):("error"==f&&"no machine state"!=
|
||||||
function ah(a,b){if(pb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ja("http://www.pcjs.org/api/v1/report",d,!0)}}
|
g?(this.da("Error: "+g),"unable to verify user"==g&&(Ra(xh,""),this.i=null)):this.j(f+": "+g),vh(d),Zg(d)?(c=dh(d),e=!0):c=!1))}e&&bh(this,c?d:null)}else a==uh&&d.clear()}else bh(this);delete this.L;delete this.I}e=pb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=yh(this,g,d,b,c));b=[d,a,c];a!=gh?ah(this,this.Ab,b):this.Ab(b)}};
|
||||||
function qg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.2"),g=new F(a,"1.34.2",Vg),h=Ia();g.set(Xg,h);f.set(Xg,h);f.set(qh,"1.34.2");f.set(rh,window?window.location.href:null);f.set(sh,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.A.Z=a.v.A.N),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k<h.length;k++){var p=h[k];p.A.V&&(p.ia&&(d=p.ia(b,c),"object"===typeof d&&f.set(p.id,d)),c&&(p.A.V=
|
function yh(a,b,c,d,e){if(!b.A.V){b.A.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.va(f,d)&&f&&(r("Unable to restore state for "+b.type),a.M&&!a.T?(c.clear(),a.b=Yg,window&&window.location.reload()):a.P=!0,b.va(null),e=!1),!d&&b.ob){var g=b.ob.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||||
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&th(a,a.i,f.toString()),dh(g)&&dh(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==uh),d&&f.clear(h)):e=f.toString());c&&(a.A.V=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
|
l.Ab=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(yh(this,this.v,b,c,a),I(this,-2),this.v.Z());this.P&&(ih(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
||||||
l.reset=function(){this.A.reset=!0;this.H&&this.H.reset&&(Pb(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(Pb(this,"Resetting "+this.v.type),this.v.reset());for(var a=qb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(Pb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;H(this,-1)};l.start=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}H(this,-1)};
|
function ih(a,b){if(ob("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ga("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
l.stop=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}H(this,-1)};
|
function tg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new G(a,"1.34.2"),g=new G(a,"1.34.2",ch),h=Fa();g.set(eh,h);f.set(eh,h);f.set(zh,"1.34.2");f.set(Ah,window?window.location.href:null);f.set(Bh,window?window.navigator.userAgent:"");a.v&&a.v.ka&&(c&&(b&&(a.v.A.Z=a.v.A.N),a.v.W()),d=a.v.ka(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=pb(a.id),k=0;k<h.length;k++){var m=h[k];m.A.V&&(m.ka&&(d=m.ka(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.V=
|
||||||
function H(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.ab+=d))&&(e.textContent=c.A.N?c.aa.toFixed(2)+"Mhz":"Stopped",c.ab=0)}if(a.u&&(a=a.u,b=b||0,a.L)){c=a.v.A.N;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?wa(e,void 0):n(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.va);ic(a,a.i);cc(a,a.w)}}
|
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Ch(a,a.i,f.toString()),wh(g)&&wh(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Dh),d&&f.clear(h)):e=f.toString());c&&(a.A.V=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
|
||||||
l.ja=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.V?qg(d,!1,!0):Tg(d,d.Na))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.V&&!d.w)if(d.b&&!d.F){var a=pb("Click OK to save changes to this "+Qb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");qg(d,a,!0);!a&&d.M?window&&window.location.reload():d.Na(Qg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(Aa(Pa(),"pcjs.org"))c.parentNode.removeChild(c);
|
l.reset=function(){this.A.reset=!0;this.G&&this.G.reset&&(Ob(this,"Resetting "+this.G.type),this.G.reset());this.v&&this.v.reset&&(Ob(this,"Resetting "+this.v.type),this.v.reset());for(var a=pb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.v&&c.reset&&(Ob(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;I(this,-1)};l.start=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}I(this,-1)};
|
||||||
else return this.J[b]=c,c.onclick=function(){var a=Pg(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=qg(d,b);b?th(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
|
l.stop=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}I(this,-1)};
|
||||||
function Pg(a,b){var c=a.i;c||((c=Sa(eh),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=vh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
|
function I(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.ab+=d))&&(e.textContent=c.A.N?c.aa.toFixed(2)+"Mhz":"Stopped",c.ab=0)}if(a.u&&(a=a.u,b=b||0,a.L)){c=a.v.A.N;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?n(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.wa);hc(a,a.i);bc(a,a.w)}}
|
||||||
function vh(a,b){a.i=null;b=Ja(Pa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ta(eh,b.data),a.i=b.data)}catch(d){q(d.message+" ("+c+")")}return a.i}function Sg(a){var b=null;a.i&&(b=Pa()+"/api/v1/user?req=load&user="+a.i+"&state="+wh(a,"1.34.2"));return b}
|
l.la=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.V?tg(d,!1,!0):ah(d,d.Oa))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.V&&!d.w)if(d.b&&!d.F){var a=ob("Click OK to save changes to this "+Pb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");tg(d,a,!0);!a&&d.M?window&&window.location.reload():d.Oa(Yg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(za(Na(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||||
function th(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=wh(a,"1.34.2");d.data=c;b=Ja(Pa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.da("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.da(c),Ta(eh,""),a.i=null)}}
|
else return this.J[b]=c,c.onclick=function(){var a=Xg(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=tg(d,b);b?Ch(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function id(a,b){if(a.ta){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ta.focus();!b&&window&&window.scrollTo(c,d)}}var $g="failsafe",Vg="validate",Xg="timestamp",qh="version",rh="url",sh="browser",eh="user",Zg=-1,Qg=0,Yg=1,bh=2,uh=3;$a(function(){for(var a=w(document,v+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=u(c),c=w(c,v,"computer"),e=0;e<c.length;e++){var f=c[e],g=u(f),g=new Ng(g,d,!0);tb(g,f);g.O&&Tg(g,g.Na)}});
|
function Xg(a,b){var c=a.i;c||((c=Qa(xh),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Eh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
|
||||||
ab.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=sb("Computer",c.id))&&c.S&&!c.A.V&&c.Na(Zg)}});ab.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=sb("Computer",c.id))&&c.A.V&&qg(c,!(!c.b||c.F),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.u=!1;this.key=wh(a,b,c);ch(this,a.Kb)}l=F.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
|
function Eh(a,b){a.i=null;b=Ga(Na()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(xh,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function $g(a){var b=null;a.i&&(b=Na()+"/api/v1/user?req=load&user="+a.i+"&state="+Fh(a,"1.34.2"));return b}
|
||||||
l.data=function(){return this.b};function Rg(a,b){return b?(a.i=b,a.v=!0,a.u=!1,!0):a.v?!0:Qa()&&(b=Sa(a.key))?(a.i=b,a.v=!0):!1}function Wg(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.i),a.u=!0}catch(c){q(c.message||c),b=!1}return b}function dh(a){var b=!0;if(Qa()){var c=JSON.stringify(a.b);Ta(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i};
|
function Ch(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Fh(a,"1.34.2");d.data=c;b=Ga(Na()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.da("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.da(c),Ra(xh,""),a.i=null)}}
|
||||||
function ch(a,b){a.i="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){ch(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function wh(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var xh=0;
|
function hd(a,b){if(a.ua){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ua.focus();!b&&window&&window.scrollTo(c,d)}}var hh="failsafe",ch="validate",eh="timestamp",zh="version",Ah="url",Bh="browser",xh="user",gh=-1,Yg=0,fh=1,uh=2,Dh=3;Ya(function(){for(var a=x(document,w+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=v(c),c=x(c,w,"computer"),e=0;e<c.length;e++){var f=c[e],g=v(f),g=new Vg(g,d,!0);sb(g,f);g.O&&ah(g,g.Oa)}});
|
||||||
function yh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ja(a,null,!0,function(h,k,p){p?(k||(k="unable to load "+a+" ("+p+")"),g(k,null)):zh(k,a,b,c,d,e,f,g)})}
|
Za.show.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=rb("Computer",c.id))&&c.S&&!c.A.V&&c.Oa(gh)}});Za.exit.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=rb("Computer",c.id))&&c.A.V&&tg(c,!(!c.b||c.F),!0)}});function G(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.u=!1;this.key=Fh(a,b,c);vh(this,a.Kb)}l=G.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
|
||||||
function zh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(mb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
l.data=function(){return this.b};function Zg(a,b){return b?(a.i=b,a.v=!0,a.u=!1,!0):a.v?!0:Oa()&&(b=Qa(a.key))?(a.i=b,a.v=!0):!1}function dh(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.i),a.u=!0}catch(c){r(c.message||c),b=!1}return b}function wh(a){var b=!0;if(Oa()){var c=JSON.stringify(a.b);Ra(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i};
|
||||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Ah(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
function vh(a,b){a.i="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){vh(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Fh(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Gh=0;
|
||||||
function Ah(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ja(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],p,m=/( [a-z]+=)(['"])(.*?)\2/g;p=m.exec(f);)k=0>k.indexOf(p[1])?k.replace(">",p[0]+">"):k.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
function Hh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ga(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):Ih(k,a,b,c,d,e,f,g)})}
|
||||||
"");a=a.replace(d[0],g);Ah(a,b,c)}})}else c(a,null)}
|
function Ih(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(lb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||||
function Bh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Da(a))}function g(a){f("Error: "+a);p&&(--xh||hb(!0));p=!1}var h,k,p=!0;xh++;nb[b]={};try{if(h=document.getElementById(b)){var m;if("object"==typeof resources&&(m=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=m:y.appendChild(document.createTextNode(m));t.appendChild(y)}d||
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Jh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||||
(m=a,"pdp"==a.substr(0,3)&&(m="pdpjs"),d="/versions/"+m+"/1.34.2/components.xsl");m=function(e,k){k?yh(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--xh||hb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--xh||
|
function Jh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ga(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||||
hb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?yh(c,b,a,e,!0,f,m):zh(c,null,b,a,e,!1,f,m)}else g("missing machine element: "+b)}catch(T){g(T.message)}return p}window.embedPDP10=function(a,b,c,d){hb(!1);return Bh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){hb(!1);return Bh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return sb(b,a+".machine")};
|
"");a=a.replace(d[0],g);Jh(a,b,c)}})}else c(a,null)}
|
||||||
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!vb[a]){for(var c=!0,d=vb,e=a,f=b.length,g=[],h=[],k="",p=null,m=0;m<f;m++){var t=b[m];if('"'==t||"'"==t)p&&t!=p?k+=t:(p?p=null:p=t,k&&(h.push(k),k=""));else{if(!p){if("\r"==t||"\n"==t)t=";";if(" "==t||"\t"==t||";"==t){k&&(h.push(k),k="");";"==t&&h.length&&(g.push(h),h=[]);continue}}k+=t}}k&&h.push(k);h.length&&g.push(h);d[e]=g;ub(a)||(c=!1)}return c};window.enableEvents=hb;window.sendEvent=jb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
|
function Kh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&x(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Aa(a))}function g(a){f("Error: "+a);m&&(--Gh||gb(!0));m=!1}var h,k,m=!0;Gh++;mb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=p:D.appendChild(document.createTextNode(p));t.appendChild(D)}d||
|
||||||
|
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,k){k?Hh(d,null,a,null,!1,f,function(a,e){e?(lb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Gh||gb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Gh||
|
||||||
|
gb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Hh(c,b,a,e,!0,f,p):Ih(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(da){g(da.message)}return m}window.embedPDP10=function(a,b,c,d){gb(!1);return Kh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){gb(!1);return Kh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return rb(b,a+".machine")};
|
||||||
|
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!ub[a]){for(var c=!0,d=ub,e=a,f=b.length,g=[],h=[],k="",m=null,p=0;p<f;p++){var t=b[p];if('"'==t||"'"==t)m&&t!=m?k+=t:(m?m=null:m=t,k&&(h.push(k),k=""));else{if(!m){if("\r"==t||"\n"==t)t=";";if(" "==t||"\t"==t||";"==t){k&&(h.push(k),k="");";"==t&&h.length&&(g.push(h),h=[]);continue}}k+=t}}k&&h.push(k);h.length&&g.push(h);d[e]=g;tb(a)||(c=!1)}return c};window.enableEvents=gb;window.sendEvent=ib;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
|
||||||
|
|
|
||||||
|
|
@ -247,7 +247,7 @@ function si(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){w(a.typ
|
||||||
h.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.H[b]=c,c.onchange=function(){ti(d)},!0;case "descDisk":case "listDrives":return this.H[b]=c,c.onchange=function(){var a=ma(c.value,10);null!=a&&ui(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Cd()},!0;case "bootDisk":return this.H[b]=c,c.onclick=function(){d.le()},!0;case "saveDisk":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.onclick=function(){var a=d.H.listDrives;if(a&&a.options&&d.g)if(a=
|
h.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.H[b]=c,c.onchange=function(){ti(d)},!0;case "descDisk":case "listDrives":return this.H[b]=c,c.onchange=function(){var a=ma(c.value,10);null!=a&&ui(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Cd()},!0;case "bootDisk":return this.H[b]=c,c.onclick=function(){d.le()},!0;case "saveDisk":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.onclick=function(){var a=d.H.listDrives;if(a&&a.options&&d.g)if(a=
|
||||||
d.g[ma(a.value,10)||0])if(a=a.da){var b;b="";for(var c=0,k;k=oi(a,c++);)for(var l=0,m=k.length;l<m;l++)b+=String.fromCharCode(pi(a,k,l));b=btoa(b);a=a.Gd.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+
|
d.g[ma(a.value,10)||0])if(a=a.da){var b;b="";for(var c=0,k;k=oi(a,c++);)for(var l=0,m=k.length;l<m;l++)b+=String.fromCharCode(pi(a,k,l));b=btoa(b);a=a.Gd.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+
|
||||||
(a?" ("+a+")":"")+".");w(a)}else d.T("No disk loaded in drive.");else d.T("No disk drive selected.")};return!0;case "mountDisk":if(this.O)return this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;d.Cd(ta(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
(a?" ("+a+")":"")+".");w(a)}else d.T("No disk loaded in drive.");else d.T("No disk drive selected.")};return!0;case "mountDisk":if(this.O)return this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;d.Cd(ta(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||||
h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;if(a=si(this,ge(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.N[e]=a[e]);this.reset();this.Ra=pd(this.f,this.R.vd,this.R.rd,this.ha);dc(b,this,this.U);fc(b,this.reset.bind(this));Oi(this,"None",Qi,!0);this.O&&Oi(this,"Local Disk",Ri);Oi(this,"Remote Disk",Si);Ti(this)||C(this)};
|
h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;if(a=si(this,ge(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.N[e]=a[e]);this.reset();this.Ra=pd(this.f,this.R.vd,this.R.rd,this.ha);dc(b,this,this.U);fc(b,this.reset.bind(this));vi(this,"None",Pi,!0);this.O&&vi(this,"Local Disk",Ri);vi(this,"Remote Disk",Si);Ti(this)||C(this)};
|
||||||
h.Da=function(a,b){if(!b){if(!a){if(this.reset(),this.J.M){this.B=[];for(a=0;a<this.g.length;a++)Ui(this,a,!0);Ti(this,!0)}}else if(!this.restore(a))return!1;if(a=this.H.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.P;b++){var c=document.createElement("option");c.value=b;c.text=this.g[b].Rc||"---";a.appendChild(c)}0<this.P&&(a.value="0",ui(this,0))}}return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){this.Cb();Vi(this)};
|
h.Da=function(a,b){if(!b){if(!a){if(this.reset(),this.J.M){this.B=[];for(a=0;a<this.g.length;a++)Ui(this,a,!0);Ti(this,!0)}}else if(!this.restore(a))return!1;if(a=this.H.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.P;b++){var c=document.createElement("option");c.value=b;c.text=this.g[b].Rc||"---";a.appendChild(c)}0<this.P&&(a.value="0",ui(this,0))}}return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){this.Cb();Vi(this)};
|
||||||
h.save=function(){var a=new G(this);a.set(0,this.Sc());a.set(1,Wi(this));a.set(2,Xi(this));return a.data()};h.restore=function(a){var b=!0;this.Cb(a[0])||(b=!1);var c=a[1];c&&(this.B=c);Vi(this,a[2])||(b=!1);return b};h.Cb=function(){return!0};h.Sc=function(){return[]};
|
h.save=function(){var a=new G(this);a.set(0,this.Sc());a.set(1,Wi(this));a.set(2,Xi(this));return a.data()};h.restore=function(a){var b=!0;this.Cb(a[0])||(b=!1);var c=a[1];c&&(this.B=c);Vi(this,a[2])||(b=!1);return b};h.Cb=function(){return!0};h.Sc=function(){return[]};
|
||||||
function Vi(a,b){for(var c=0;c<a.g.length;c++){var d=a.g[c];void 0===d&&(d=a.g[c]={});var e=a,f=d,d=c,g=a.S,k=b&&b[c],l=0;f.Tb=d;f.name=e.Mb;f.Nc=f.Pb=!1;f.ic=null;f.Ad=!0;f.Rc=g[l++]+d;f.aa=g[l++];f.ja=g[l++];f.ea=g[l++];f.ua=g[l++];f.If=g[l++];f.Jf=g[l++];f.Kf=g[l++];f.Bf=g[l++];f.status=g[l++];f.tk=0;f.sk=0;f.je=1;f.Af=f.ea;f.ve=f.ua;f.Bk=0;f.Ik=null;f.da||(f.Pa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.g[d],Ui(e,d,!0),g.Pb=!0,d=new hi(e,g,"preload"),e.oe(g,d,f,k,!0)):Yi(e,d,l,g,!0)?f.da&&g&&Zi(e,
|
function Vi(a,b){for(var c=0;c<a.g.length;c++){var d=a.g[c];void 0===d&&(d=a.g[c]={});var e=a,f=d,d=c,g=a.S,k=b&&b[c],l=0;f.Tb=d;f.name=e.Mb;f.Nc=f.Pb=!1;f.ic=null;f.Ad=!0;f.Rc=g[l++]+d;f.aa=g[l++];f.ja=g[l++];f.ea=g[l++];f.ua=g[l++];f.If=g[l++];f.Jf=g[l++];f.Kf=g[l++];f.Bf=g[l++];f.status=g[l++];f.tk=0;f.sk=0;f.je=1;f.Af=f.ea;f.ve=f.ua;f.Bk=0;f.Ik=null;f.da||(f.Pa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.g[d],Ui(e,d,!0),g.Pb=!0,d=new hi(e,g,"preload"),e.oe(g,d,f,k,!0)):Yi(e,d,l,g,!0)?f.da&&g&&Zi(e,
|
||||||
|
|
@ -257,11 +257,11 @@ h.Cd=function(a,b,c){if(!a&&!b){var d=this.H.listDisks;d&&d.options&&(a=d.option
|
||||||
a+'"')}Yi(this,d,a,b,!1,c);return!0};h.le=function(){var a,b=this.H.listDrives,b=b&&ma(b.value,10);if(null==b||0>b||b>=this.g.length||!(a=this.g[b]))return this.T("Unable to boot the selected drive"),!1;if(!a.da)return this.T("Load a disk into the drive first"),!1;ze(this.f,0,!0,b);return(a=this.Ub(a,a.If,a.Jf,a.Kf,a.Bf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0};
|
a+'"')}Yi(this,d,a,b,!1,c);return!0};h.le=function(){var a,b=this.H.listDrives,b=b&&ma(b.value,10);if(null==b||0>b||b>=this.g.length||!(a=this.g[b]))return this.T("Unable to boot the selected drive"),!1;if(!a.da)return this.T("Load a disk into the drive first"),!1;ze(this.f,0,!0,b);return(a=this.Ub(a,a.If,a.Jf,a.Kf,a.Bf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0};
|
||||||
function Yi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Pa.toLowerCase()!=d.toLowerCase()&&(g++,Ui(a,b,!0),k.Nc?a.T(a.type+" busy"):(k.Nc=!0,e&&(k.zd=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Pb=!!f,li(new hi(a,k,"preload"),c,d,f,a.oe)&&g++));return g}
|
function Yi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Pa.toLowerCase()!=d.toLowerCase()&&(g++,Ui(a,b,!0),k.Nc?a.T(a.type+" busy"):(k.Nc=!0,e&&(k.zd=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Pb=!!f,li(new hi(a,k,"preload"),c,d,f,a.oe)&&g++));return g}
|
||||||
h.oe=function(a,b,c,d,e){a.Nc=!1;b&&(b.aa>a.aa||b.ja>a.ja)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Tb].Rc||"---")),b=null);b?(a.da=b,a.Ya=c,a.Pa=d,this.we(a.Tb),Zi(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Tb].Rc||"---"),a.zd||e),this.J&&qe(this.J)):a.Pb=!1;a.zd&&(a.zd=!1,--this.M||C(this));ui(this,a.Tb);a.ic&&(a.ic(),a.ic=null)};
|
h.oe=function(a,b,c,d,e){a.Nc=!1;b&&(b.aa>a.aa||b.ja>a.ja)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Tb].Rc||"---")),b=null);b?(a.da=b,a.Ya=c,a.Pa=d,this.we(a.Tb),Zi(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Tb].Rc||"---"),a.zd||e),this.J&&qe(this.J)):a.Pb=!1;a.zd&&(a.zd=!1,--this.M||C(this));ui(this,a.Tb);a.ic&&(a.ic(),a.ic=null)};
|
||||||
function Oi(a,b,c,d){if((a=a.H.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
function vi(a,b,c,d){if((a=a.H.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||||
function ui(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.H.listDisks;a=a.H.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(ma(a.options[c].value,10)==e.Tb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=ma(a.value,10);e=e.Pb?Ri:e.Pa;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
|
function ui(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.H.listDisks;a=a.H.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(ma(a.options[c].value,10)==e.Tb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=ma(a.value,10);e=e.Pb?Ri:e.Pa;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
|
||||||
h.ih=function(a){var b=this.H.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].textContent==a){var e=ma(b.options[d].value,10);if(0<=e)return ui(this,e,!0)}return!1};
|
h.ih=function(a){var b=this.H.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].textContent==a){var e=ma(b.options[d].value,10);if(0<=e)return ui(this,e,!0)}return!1};
|
||||||
function ti(a){var b=a.H.listDisks,c=a.H.descDisk,d=b.options&&b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){w(a.type+" option error: "+e.message)}a=b.desc;void 0===a&&(a="");b=b.href;void 0!==b&&(a='<a href="'+b+'" target="_blank">'+a+"</a>");c.innerHTML=a}}h.mh=function(a){for(var b=0;b<this.g.length;b++){var c=this.g[b];if(c&&c.Nc)return c.ic||(c.ic=a),!1}return!0};
|
function ti(a){var b=a.H.listDisks,c=a.H.descDisk,d=b.options&&b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){w(a.type+" option error: "+e.message)}a=b.desc;void 0===a&&(a="");b=b.href;void 0!==b&&(a='<a href="'+b+'" target="_blank">'+a+"</a>");c.innerHTML=a}}h.mh=function(a){for(var b=0;b<this.g.length;b++){var c=this.g[b];if(c&&c.Nc)return c.ic||(c.ic=a),!1}return!0};
|
||||||
function Ui(a,b,c){var d=a.g[b];if(d.da||!1===c)$i(a,d.Pa,d.da),d.Ya="",d.Pa="",d.da=null,d.Pb=!1,c||(a.T("Drive "+(a.g[b].Rc||"---")+" unloaded",c),ui(a,b))}function Zi(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function $i(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}h.we=function(){};h.Ub=function(){return-1};h.Vc=function(){return-1};var Qi="",Ri="?",Si="??";
|
function Ui(a,b,c){var d=a.g[b];if(d.da||!1===c)$i(a,d.Pa,d.da),d.Ya="",d.Pa="",d.da=null,d.Pb=!1,c||(a.T("Drive "+(a.g[b].Rc||"---")+" unloaded",c),ui(a,b))}function Zi(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function $i(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}h.we=function(){};h.Ub=function(){return-1};h.Vc=function(){return-1};var Pi="",Ri="?",Si="??";
|
||||||
function N(a){ri.call(this,"RK11",a,65536,Nb,Nb.Hc,aj);this.G=this.i=this.b=this.w=this.u=this.j=this.C=0}p(N,ri);h=N.prototype;h.Cb=function(a){a||(a=[bj.Hc|bj.de|bj.$d,0,R.$a,0,0,0,0]);a=ia(a);this.G=a.next().value;this.i=a.next().value;this.b=a.next().value;this.w=a.next().value;this.u=a.next().value;this.j=a.next().value;this.C=a.next().value;return!0};h.Sc=function(){return[this.G,this.i,this.b,this.w,this.u,this.j,this.C]};
|
function N(a){ri.call(this,"RK11",a,65536,Nb,Nb.Hc,aj);this.G=this.i=this.b=this.w=this.u=this.j=this.C=0}p(N,ri);h=N.prototype;h.Cb=function(a){a||(a=[bj.Hc|bj.de|bj.$d,0,R.$a,0,0,0,0]);a=ia(a);this.G=a.next().value;this.i=a.next().value;this.b=a.next().value;this.w=a.next().value;this.u=a.next().value;this.j=a.next().value;this.C=a.next().value;return!0};h.Sc=function(){return[this.G,this.i,this.b,this.w,this.u,this.j,this.C]};
|
||||||
h.Ub=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,q;a||(m=S.Ud,e=0);for(;e;){if(!n){if(b>=a.aa){m=S.Fc;break}n=a.seek(b,c,d+1);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}var t,r;if(0>(t=a.read(n,q++))||0>(r=a.read(n,q++))){m=S.Gc;break}if(!k&&(Ac(this.F,Oe(this.f,f),t|r<<8),ld(this.F))){m=S.ec;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
h.Ub=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,q;a||(m=S.Ud,e=0);for(;e;){if(!n){if(b>=a.aa){m=S.Fc;break}n=a.seek(b,c,d+1);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}var t,r;if(0>(t=a.read(n,q++))||0>(r=a.read(n,q++))){m=S.Gc;break}if(!k&&(Ac(this.F,Oe(this.f,f),t|r<<8),ld(this.F))){m=S.ec;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
||||||
h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,q;a||(m=S.Ud,e=0);for(;e;){var t=Cc(this.F,Oe(this.f,f));if(ld(this.F)){m=S.ec;break}if(!n){if(b>=a.aa){m=S.Fc;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}if(k){var r,D;if(0>(r=a.read(n,q++))||0>(D=a.read(n,q++))){m=S.Gc;break}if(t!=(r|D<<8)){m=S.ge;break}}else if(!a.write(n,q++,t&255)||!a.write(n,q++,t>>8)){m=S.Gc;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,q;a||(m=S.Ud,e=0);for(;e;){var t=Cc(this.F,Oe(this.f,f));if(ld(this.F)){m=S.ec;break}if(!n){if(b>=a.aa){m=S.Fc;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}if(k){var r,D;if(0>(r=a.read(n,q++))||0>(D=a.read(n,q++))){m=S.Gc;break}if(t!=(r|D<<8)){m=S.ge;break}}else if(!a.write(n,q++,t&255)||!a.write(n,q++,t>>8)){m=S.Gc;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
||||||
|
|
@ -288,11 +288,11 @@ this.Ra):td(this.f,this.Ra)};h.Lg=function(a,b){if(!b)switch(this.j){case V.EMPT
|
||||||
h.bi=function(a){switch(this.j){case V.bd:this.b&W.cb&&(this.b&=~W.cb,this.w[this.u]=a&255,E(this)&&F(this,this.type+".writeByte("+this.u+","+v(a,2,!0)+")",!0,!0),++this.u>=this.w.length&&qj(this));break;case V.tb:case V.hc:case V.Mc:if(this.b&W.cb)switch(this.b&=~W.cb,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.tb)pj(this);else{var b=this.j==V.Mc,c=0,d=this.b&W.ud?1:0,e=this.g[d],e=e&&e.da,f=this.I&sj.bb,g=this.G&tj.bb;this.i&=~(uj.Nd|uj.Xd|uj.cc|uj.Fa);if(e)if(this.i|=uj.Fa,E(this)&&
|
h.bi=function(a){switch(this.j){case V.bd:this.b&W.cb&&(this.b&=~W.cb,this.w[this.u]=a&255,E(this)&&F(this,this.type+".writeByte("+this.u+","+v(a,2,!0)+")",!0,!0),++this.u>=this.w.length&&qj(this));break;case V.tb:case V.hc:case V.Mc:if(this.b&W.cb)switch(this.b&=~W.cb,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.tb)pj(this);else{var b=this.j==V.Mc,c=0,d=this.b&W.ud?1:0,e=this.g[d],e=e&&e.da,f=this.I&sj.bb,g=this.G&tj.bb;this.i&=~(uj.Nd|uj.Xd|uj.cc|uj.Fa);if(e)if(this.i|=uj.Fa,E(this)&&
|
||||||
F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ef=!0),b=0,f=this.w.length;b<f;){if(!e.write(d,b,this.w[b]&255)){c=rj.pd;break}b++}else c=rj.qd;else c=d?rj.gd:rj.fd;qj(this,c)}}}this.C=a};var W=Pb.kf,sj=Pb.nf,tj=Pb.mf,uj=Pb.lf,V=Pb.wa,rj=Pb.ERROR,vj="FILL EMPTY WRITE READ UNUSED RDSTAT WRDEL RDERR".split(" "),wj={},oj=(wj[65144]=[null,null,Fd.prototype.Kg,Fd.prototype.ai,"RXCS"],wj[65146]=[null,null,Fd.prototype.Lg,Fd.prototype.bi,"RXDB"],wj);
|
F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ef=!0),b=0,f=this.w.length;b<f;){if(!e.write(d,b,this.w[b]&255)){c=rj.pd;break}b++}else c=rj.qd;else c=d?rj.gd:rj.fd;qj(this,c)}}}this.C=a};var W=Pb.kf,sj=Pb.nf,tj=Pb.mf,uj=Pb.lf,V=Pb.wa,rj=Pb.ERROR,vj="FILL EMPTY WRITE READ UNUSED RDSTAT WRDEL RDERR".split(" "),wj={},oj=(wj[65144]=[null,null,Fd.prototype.Kg,Fd.prototype.ai,"RXCS"],wj[65146]=[null,null,Fd.prototype.Lg,Fd.prototype.bi,"RXDB"],wj);
|
||||||
function xj(a){x.call(this,"Debugger",a);this.Ba=+a.base||16;this.ka=["{","}"];this.ia=["[","]"];this.w=0;this.O=!1;this.u=-1;this.j=[];this.S={}}p(xj,x);xj.prototype.re=function(){return-1};xj.prototype.Bd=function(){};
|
function xj(a){x.call(this,"Debugger",a);this.Ba=+a.base||16;this.ka=["{","}"];this.ia=["[","]"];this.w=0;this.O=!1;this.u=-1;this.j=[];this.S={}}p(xj,x);xj.prototype.re=function(){return-1};xj.prototype.Bd=function(){};
|
||||||
function yj(a,b,c,d){if(c)if(b){0>a.u&&a.j.length&&(a.u=0);if(0>a.u||b!=a.j[a.u])a.j.splice(0,0,b),a.u=0;a.u--}else a.O?b="end":b=a.j[a.u+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(za(b.substring(c,f))),c=f+1}}return a}function zj(a){return a|0}
|
function yj(a,b,c,d){if(c)if(b){0>a.u&&a.j.length&&(a.u=0);if(0>a.u||b!=a.j[a.u])a.j.splice(0,0,b),a.u=0;a.u--}else a.O?b="end":b=a.j[a.u+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(za(b.substring(c,f))),c=f+1}}return a}function zj(a){var b,c=a;b=32;if(32>=b)c=a|0;else if(b=Math.pow(2,b-1),a<-b||a>=b)c=a%b;a!=c&&(a=c);return a}
|
||||||
function Aj(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=
|
function Aj(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=
|
||||||
f&e;break;case "!":case "|":d=f|e;break;case "^^":d=f^e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(zj(d))}return!0}
|
f&e;break;case "!":case "|":d=f|e;break;case "^^":d=f^e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(zj(d))}return!0}
|
||||||
function Bj(a,b,c){var d;b&&(b=Cj(a,b));if(b){for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],q=n.length,n=za(n);if(!n){f=!0;break}n=Dj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],t=n.length;l.length&&Ej[n]<Ej[l[l.length-1]]&&Aj(k,l,1);l.push(n);b=b.substr(q+t)}Aj(k,l)&&1==k.length||(f=!0);f?c&&a.v("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&
|
function Bj(a,b,c){var d;b&&(b=Cj(a,b));if(b){for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],q=n.length,n=za(n);if(!n){f=!0;break}n=Dj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(zj(n));if(e==m.length)break;var n=m[e++],t=n.length;l.length&&Ej[n]<Ej[l[l.length-1]]&&Aj(k,l,1);l.push(n);b=b.substr(q+t)}Aj(k,l)&&1==k.length||(f=!0);f?c&&a.v("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),
|
||||||
Fj(a,null,d))}return d}
|
c&&Fj(a,null,d))}return d}
|
||||||
function Cj(a,b){var c,d=a.ka[0],e=a.ka[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=Bj(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?K(a,g):"undefined")}if(a.ia.length)for(d=a.ia[0],e=a.ia[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){d=null;switch(b[1].toLowerCase()){case "ops":d=0}if(null==
|
function Cj(a,b){var c,d=a.ka[0],e=a.ka[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=Bj(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?K(a,g):"undefined")}if(a.ia.length)for(d=a.ia[0],e=a.ia[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){d=null;switch(b[1].toLowerCase()){case "ops":d=0}if(null==
|
||||||
d)break;a=a.replace(b[0],d.toString())}return a}function Dj(a,b,c,d){var e;null!=b?(e=a.re(b),0<=e?e=a.Bd(e):(e=a.S[b],null==e&&(e=ma(b,a.Ba))),null!=e||d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return e}
|
d)break;a=a.replace(b[0],d.toString())}return a}function Dj(a,b,c,d){var e;null!=b?(e=a.re(b),0<=e?e=a.Bd(e):(e=a.S[b],null==e&&(e=ma(b,a.Ba))),null!=e||d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return e}
|
||||||
function Fj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=pa(d&255,8)+g,d>>=8;d=v(c,0,!0)+" "+c+". "+u(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e}function Gj(a,b){if(b)return Fj(a,b,a.S[b]);var c=0;for(b in a.S)Fj(a,b,a.S[b]),c++;return 0<c}
|
function Fj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=pa(d&255,8)+g,d>>=8;d=v(c,0,!0)+" "+c+". "+u(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e}function Gj(a,b){if(b)return Fj(a,b,a.S[b]);var c=0;for(b in a.S)Fj(a,b,a.S[b]),c++;return 0<c}
|
||||||
|
|
@ -339,21 +339,21 @@ function uk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(mk+b):(a.O&&(a.v("ende
|
||||||
Rj(a,g[1],!0);if(q)if(a.N=q,void 0===g[2])a.v("begin assemble at "+Uj(a,q)),a.O=!0,H(a.J);else{var t;a.v("not supported yet");t=[];if(t.length){for(var r=0;r<t.length;r++)a.Qd(q,t[r],1);a.v(vk(a,a.N))}}break;case "b":a:{var D=g[0],A=g[1],B=b;if("?"==A)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
|
Rj(a,g[1],!0);if(q)if(a.N=q,void 0===g[2])a.v("begin assemble at "+Uj(a,q)),a.O=!0,H(a.J);else{var t;a.v("not supported yet");t=[];if(t.length){for(var r=0;r<t.length;r++)a.Qd(q,t[r],1);a.v(vk(a,a.N))}}break;case "b":a:{var D=g[0],A=g[1],B=b;if("?"==A)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
|
||||||
else{var J=D.charAt(1);if("l"==J){var vb;vb=0+tk(a,a.b);vb+=tk(a,a.L);(vb+=tk(a,a.C))||a.v("no breakpoints")}else if("n"==J){var Cd=+A||0;A&&(a.Y=Cd);a.v("break after "+Cd+" instruction(s)")}else if(void 0===A)a.v("missing breakpoint address");else{var sa=X();if("*"!=A&&(sa=Rj(a,A,!0),!sa))break a;"c"==J?null==sa.K?(Ij(a),a.v("all breakpoints cleared")):rk(a,a.b,sa)||rk(a,a.L,sa)||rk(a,a.C,sa)||a.v("breakpoint missing: "+Uj(a,sa)):null!=sa.K&&(Tj(a,sa,B),"p"==J?a.Bb(a.b,sa):"r"==J?a.Bb(a.L,sa):"w"==
|
else{var J=D.charAt(1);if("l"==J){var vb;vb=0+tk(a,a.b);vb+=tk(a,a.L);(vb+=tk(a,a.C))||a.v("no breakpoints")}else if("n"==J){var Cd=+A||0;A&&(a.Y=Cd);a.v("break after "+Cd+" instruction(s)")}else if(void 0===A)a.v("missing breakpoint address");else{var sa=X();if("*"!=A&&(sa=Rj(a,A,!0),!sa))break a;"c"==J?null==sa.K?(Ij(a),a.v("all breakpoints cleared")):rk(a,a.b,sa)||rk(a,a.L,sa)||rk(a,a.C,sa)||a.v("breakpoint missing: "+Uj(a,sa)):null!=sa.K&&(Tj(a,sa,B),"p"==J?a.Bb(a.b,sa):"r"==J?a.Bb(a.L,sa):"w"==
|
||||||
J?a.Bb(a.C,sa):a.v("unknown breakpoint command: "+J))}}}break;case "c":a.Ua&&(a.Ua.value="");break;case "d":a:{var Yb,jb=g[0],Ta=g[1],kb=g[2],ol=g[3];if("?"==Ta){var Zb="";for(Yb in Rb)a.la[Yb]&&(Zb&&(Zb+=","),Zb+=Yb);Zb+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
|
J?a.Bb(a.C,sa):a.v("unknown breakpoint command: "+J))}}}break;case "c":a.Ua&&(a.Ua.value="");break;case "d":a:{var Yb,jb=g[0],Ta=g[1],kb=g[2],ol=g[3];if("?"==Ta){var Zb="";for(Yb in Rb)a.la[Yb]&&(Zb&&(Zb+=","),Zb+=Yb);Zb+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
|
||||||
a.v("\tdh [p] [n] dump n instructions from history position p");Zb.length&&a.v("dump extension commands:\n\t"+Zb)}else if("state"==Ta){var ff=Qk(a.J,!0);"console"==kb?console.log(ff):(a.Ua&&(a.Ua.value=""),ff&&a.v(ff))}else if("symbols"==Ta)for(var gf=0;gf<a.B.length;gf++){var hf=a.B[gf],$b;for($b in hf.ga)if("."!=$b.charAt(0)){var vi=hf.ga[$b].o;if(void 0!==vi){var wi=hf.ga[$b].l;wi&&($b=wi);a.v(K(a,vi)+" "+$b)}}}else{if("d"==jb){for(Yb in Rb)if(g[1]==Yb){var xi=a.la[Yb];xi?(g.shift(),g.shift(),
|
a.v("\tdh [p] [n] dump n instructions from history position p");Zb.length&&a.v("dump extension commands:\n\t"+Zb)}else if("state"==Ta){var ff=Qk(a.J,!0);"console"==kb?console.log(ff):(a.Ua&&(a.Ua.value=""),ff&&a.v(ff))}else if("symbols"==Ta)for(var gf=0;gf<a.B.length;gf++){var hf=a.B[gf],$b;for($b in hf.ga)if("."!=$b.charAt(0)){var wi=hf.ga[$b].o;if(void 0!==wi){var xi=hf.ga[$b].l;xi&&($b=xi);a.v(K(a,wi)+" "+$b)}}}else{if("d"==jb){for(Yb in Rb)if(g[1]==Yb){var yi=a.la[Yb];yi?(g.shift(),g.shift(),
|
||||||
xi(g)):a.v("no dump registered for "+Ta);break a}Ta||(jb=a.La||"dw")}else a.La=jb;if("dh"==jb){var yi=Ta,zi=kb,Ai="",Bi=0,Ia=a.P,Ua=a.i;if(Ua.length){var Ca=+yi||a.sa,Lc=+zi||10;isNaN(Ca)?Ca=Lc:Ai="more ";Ca>Ua.length&&(a.v("note: only "+Ua.length+" available"),Ca=Ua.length);Ia-=Ca;0>Ia&&(null==Ua[Ua.length-1].K?(Ca=Ia+Ca,Ia=0):Ia+=Ua.length);var jf=[];"call"==zi&&(Lc=1E5,jf=["CALL"]);for(void 0!==yi&&a.v(Ca+" instructions earlier:");0<Lc&&Ia!=a.P;){var Ci=Ua[Ia++];if(null==Ci.K)break;var Mc=X(Ci.K),
|
yi(g)):a.v("no dump registered for "+Ta);break a}Ta||(jb=a.La||"dw")}else a.La=jb;if("dh"==jb){var zi=Ta,Ai=kb,Bi="",Ci=0,Ia=a.P,Ua=a.i;if(Ua.length){var Ca=+zi||a.sa,Lc=+Ai||10;isNaN(Ca)?Ca=Lc:Bi="more ";Ca>Ua.length&&(a.v("note: only "+Ua.length+" available"),Ca=Ua.length);Ia-=Ca;0>Ia&&(null==Ua[Ua.length-1].K?(Ca=Ia+Ca,Ia=0):Ia+=Ua.length);var jf=[];"call"==Ai&&(Lc=1E5,jf=["CALL"]);for(void 0!==zi&&a.v(Ca+" instructions earlier:");0<Lc&&Ia!=a.P;){var Di=Ua[Ia++];if(null==Di.K)break;var Mc=X(Di.K),
|
||||||
pl=Ca--,Di=vk(a,Mc,"history",pl);(!jf.length||0<=Di.indexOf(jf[0]))&&a.v(Di);Mc.yd&&(Ia+=Mc.yd,Lc-=Mc.yd,Ca-=Mc.yd);Ia>=Ua.length&&(Ia=0);a.sa=Ca;Bi++;Lc--}}Bi||(a.v("no "+Ai+"history available"),a.sa=void 0)}else{var oa=Rj(a,Ta);if(oa)if("da"==jb){var kf=oa.Na||65535<oa.K,O=Pe(a.f,oa.K||0,kf);a.v(ya("",kf?12:19)+pa(oa.K,kf?22:17,3)+" "+u(oa.K,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+pa(O[3],13,3)+" "+u(O[3],8)),a.v("UNIMAP["+qa(O[1],2)+"]: "+pa(O[2],22,3)+" "+u(O[2],8))),a.v(" PHYSICAL: "+
|
pl=Ca--,Ei=vk(a,Mc,"history",pl);(!jf.length||0<=Ei.indexOf(jf[0]))&&a.v(Ei);Mc.yd&&(Ia+=Mc.yd,Lc-=Mc.yd,Ca-=Mc.yd);Ia>=Ua.length&&(Ia=0);a.sa=Ca;Ci++;Lc--}}Ci||(a.v("no "+Bi+"history available"),a.sa=void 0)}else{var oa=Rj(a,Ta);if(oa)if("da"==jb){var kf=oa.Na||65535<oa.K,O=Pe(a.f,oa.K||0,kf);a.v(ya("",kf?12:19)+pa(oa.K,kf?22:17,3)+" "+u(oa.K,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+pa(O[3],13,3)+" "+u(O[3],8)),a.v("UNIMAP["+qa(O[1],2)+"]: "+pa(O[2],22,3)+" "+u(O[2],8))),a.v(" PHYSICAL: "+
|
||||||
pa(O[0],22,3)+" "+u(O[0],8))):(a.v(" OFFSET: "+pa(O[1],13,3)+" "+u(O[1],8)),a.v("+ "+Rk[O[2]]+"PAR"+O[3]+": "+pa(O[4],22,3)+" "+u(O[4],8)),a.v("& MMUMASK: "+pa(O[5],22,3)+" "+u(O[5],8)),a.v("= PHYSICAL: "+pa(O[0],22,3)+" "+u(O[0],8)))}else{var xb=0,lf="ds"==jb;if(kb){if("l"==kb.charAt(0))kb=kb.substr(1)||ol,xb=Dj(a,kb);else{var Ei=Rj(a,kb);Ei&&(xb=Ei.K-oa.K)}0>xb&&(xb=0);65536<xb&&(xb=65536)}var rl=a.Ba;oa.Ba&&(a.Ba=oa.Ba);for(var yb="dd"==jb?4:"db"==jb?1:2,Ld=yb*xb||128,mf=
|
pa(O[0],22,3)+" "+u(O[0],8))):(a.v(" OFFSET: "+pa(O[1],13,3)+" "+u(O[1],8)),a.v("+ "+Rk[O[2]]+"PAR"+O[3]+": "+pa(O[4],22,3)+" "+u(O[4],8)),a.v("& MMUMASK: "+pa(O[5],22,3)+" "+u(O[5],8)),a.v("= PHYSICAL: "+pa(O[0],22,3)+" "+u(O[0],8)))}else{var xb=0,lf="ds"==jb;if(kb){if("l"==kb.charAt(0))kb=kb.substr(1)||ol,xb=Dj(a,kb);else{var Fi=Rj(a,kb);Fi&&(xb=Fi.K-oa.K)}0>xb&&(xb=0);65536<xb&&(xb=65536)}var rl=a.Ba;oa.Ba&&(a.Ba=oa.Ba);for(var yb="dd"==jb?4:"db"==jb?1:2,Ld=yb*xb||128,mf=
|
||||||
lf?16:a.Ba,sl=(Ld+mf-1)/mf|0||1,zb="";sl--&&0<Ld;){for(var Ab="",nf="",Ta=Uj(a,oa),Md=mf,Nc=0,Oc=0;0<Md&&0<Ld;){var ac=1,Nd=1==yb?a.Pd(oa,ac):a.Sa(oa,ac=2),Nc=Nc|Nd<<(Oc<<3),Oc=Oc+ac;Oc==yb&&(lf?(Ab&&(Ab+=","),Ab+="0x"+v(Nc,yb<<1)):(Ab+=K(a,Nc,yb<<3),Ab+=1==yb?9==Md?"-":" ":" "),Nc=Oc=0);Md-=ac;for(Ld-=ac;1==yb&&ac--;)var of=Nd&255,nf=nf+(32<=of&&128>of?String.fromCharCode(of):"."),Nd=Nd>>8}zb&&(zb+="\n");zb=lf?zb+(Ab+","):zb+(Ta+": "+Ab+(Md?"":" "+nf))}zb&&a.v(zb);a.Ga=oa;a.Ba=rl}}}}break;case "e":if("else"==
|
lf?16:a.Ba,sl=(Ld+mf-1)/mf|0||1,zb="";sl--&&0<Ld;){for(var Ab="",nf="",Ta=Uj(a,oa),Md=mf,Nc=0,Oc=0;0<Md&&0<Ld;){var ac=1,Nd=1==yb?a.Pd(oa,ac):a.Sa(oa,ac=2),Nc=Nc|Nd<<(Oc<<3),Oc=Oc+ac;Oc==yb&&(lf?(Ab&&(Ab+=","),Ab+="0x"+v(Nc,yb<<1)):(Ab+=K(a,Nc,yb<<3),Ab+=1==yb?9==Md?"-":" ":" "),Nc=Oc=0);Md-=ac;for(Ld-=ac;1==yb&&ac--;)var of=Nd&255,nf=nf+(32<=of&&128>of?String.fromCharCode(of):"."),Nd=Nd>>8}zb&&(zb+="\n");zb=lf?zb+(Ab+","):zb+(Ta+": "+Ab+(Md?"":" "+nf))}zb&&a.v(zb);a.Ga=oa;a.Ba=rl}}}}break;case "e":if("else"==
|
||||||
g[0])break;var bc,pf,qf,rf,sf=g[0],tf=g[1];"eb"==sf?(bc=1,pf=255,qf=a.Pd,rf=a.Qd):"e"==sf||"ew"==sf?(bc=2,pf=65535,qf=a.Sa,rf=a.Le):tf=null;if(null==tf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Od=Rj(a,tf);if(Od)for(var Pd=2;Pd<g.length;Pd++){var Pc=Bj(a,g[Pd]);if(void 0===Pc){a.v("unrecognized value: "+g[Pd]);break}Pc&~pf&&a.v("warning: "+v(Pc)+" exceeds "+bc+"-byte value");a.v("changing "+Uj(a,Od)+(E(a,16)?
|
g[0])break;var bc,pf,qf,rf,sf=g[0],tf=g[1];"eb"==sf?(bc=1,pf=255,qf=a.Pd,rf=a.Qd):"e"==sf||"ew"==sf?(bc=2,pf=65535,qf=a.Sa,rf=a.Le):tf=null;if(null==tf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Od=Rj(a,tf);if(Od)for(var Pd=2;Pd<g.length;Pd++){var Pc=Bj(a,g[Pd]);if(void 0===Pc){a.v("unrecognized value: "+g[Pd]);break}Pc&~pf&&a.v("warning: "+v(Pc)+" exceeds "+bc+"-byte value");a.v("changing "+Uj(a,Od)+(E(a,16)?
|
||||||
"":" from "+K(a,qf.call(a,Od),bc<<3))+" to "+K(a,Pc,bc<<3));rf.call(a,Od,Pc,bc)}}break;case "g":a:{var Fi=g[1],tl=b;if(void 0!==Fi){var uf=Rj(a,Fi,!0);if(!uf)break a;Tj(a,uf,tl);a.Bb(a.b,uf,!0)}kk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.ca()):Eb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var vf;var Qc=b.substr(2),Qc=za(Qc);Bj(a,Qc)?(c||a.v("true: "+Qc),vf=!0):(c||a.v("false: "+Qc),vf=!1);vf||(d=!1);break}f=!0;break;case "k":var ul=g[0];if("?"==g[1])a.v("stack trace commands:"),
|
"":" from "+K(a,qf.call(a,Od),bc<<3))+" to "+K(a,Pc,bc<<3));rf.call(a,Od,Pc,bc)}}break;case "g":a:{var Gi=g[1],tl=b;if(void 0!==Gi){var uf=Rj(a,Gi,!0);if(!uf)break a;Tj(a,uf,tl);a.Bb(a.b,uf,!0)}kk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.ca()):Eb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var vf;var Qc=b.substr(2),Qc=za(Qc);Bj(a,Qc)?(c||a.v("true: "+Qc),vf=!0):(c||a.v("false: "+Qc),vf=!1);vf||(d=!1);break}f=!0;break;case "k":var ul=g[0];if("?"==g[1])a.v("stack trace commands:"),
|
||||||
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var wf=0,xf=X(),Rc=X(a.f.g[6]);for(a.v("stack trace for "+Uj(a,Rc));10>wf;){for(var Bb=null,vl=256;65536>Rc.K>>>0;){xf.K=a.Sa(Rc,2);if(null==Rc.K||!vl--)break;if(!(xf.K&1)){for(var wl=a,Qd=xf,Gi=null,Sc=Qd.K,Hi=Sc,yf=1;6>=yf&⪼yf++){if(2<yf){Qd.K=Sc;var Rd=vk(wl,Qd);if(0<=Rd.indexOf("JSR")){var Ii=Rd.indexOf(" ");if(Sc+(Rd.indexOf(" ",Ii+1)-Ii-1)/2==Hi){Gi=Rd;break}}}Sc-=2}Qd.K=Hi;if(Bb=Gi)break}}if(!Bb||null==Bb)break;var Ji=
|
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var wf=0,xf=X(),Rc=X(a.f.g[6]);for(a.v("stack trace for "+Uj(a,Rc));10>wf;){for(var Bb=null,vl=256;65536>Rc.K>>>0;){xf.K=a.Sa(Rc,2);if(null==Rc.K||!vl--)break;if(!(xf.K&1)){for(var wl=a,Qd=xf,Hi=null,Sc=Qd.K,Ii=Sc,yf=1;6>=yf&⪼yf++){if(2<yf){Qd.K=Sc;var Rd=vk(wl,Qd);if(0<=Rd.indexOf("JSR")){var Ji=Rd.indexOf(" ");if(Sc+(Rd.indexOf(" ",Ji+1)-Ji-1)/2==Ii){Hi=Rd;break}}}Sc-=2}Qd.K=Ii;if(Bb=Hi)break}}if(!Bb||null==Bb)break;var Ki=
|
||||||
null;if("ks"==ul){var Ki=Bb.match(/[0-9A-F]+$/);Ki&&(Ji=Nk(a,Ki[0]))}Bb=ya(Bb,50)+" ;"+(Ji||"stack="+Uj(a,Rc));a.v(Bb);wf++}wf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Nk(a,g[1],!0);break}f=!0;break;case "m":a:{var Va,Wa=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var lb=0;if("all"==T)lb=1879046143,T=null;else if("on"==T)Wa=!0,T=null;else if("off"==T)Wa=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Va in Rb)if(T==Va){lb=Rb[Va];Wa=!!(a.ha&lb);break}if(!lb){a.v("unknown message category: "+
|
null;if("ks"==ul){var Li=Bb.match(/[0-9A-F]+$/);Li&&(Ki=Nk(a,Li[0]))}Bb=ya(Bb,50)+" ;"+(Ki||"stack="+Uj(a,Rc));a.v(Bb);wf++}wf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Nk(a,g[1],!0);break}f=!0;break;case "m":a:{var Va,Wa=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var lb=0;if("all"==T)lb=1879046143,T=null;else if("on"==T)Wa=!0,T=null;else if("off"==T)Wa=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Va in Rb)if(T==Va){lb=Rb[Va];Wa=!!(a.ha&lb);break}if(!lb){a.v("unknown message category: "+
|
||||||
T);break a}}if(lb)if("on"==g[2])a.ha|=lb,Wa=!0;else if("off"==g[2]&&(a.ha&=~lb,Wa=!1,1073741824==lb)){for(var Li=1E3<=a.M.length?a.M.length-1E3:0;Li<a.M.length;)a.v(a.M[Li++]);a.M=[]}}var xl=0,Tc="";for(Va in Rb)if(!T||T==Va){var yl=!!(a.ha&Rb[Va]);if(null===Wa||Wa==yl)Tc&&(Tc+=","),++xl%10||(Tc+="\n\t"),"key"==Va&&(Va="keys"),Tc+=Va}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Wa?Wa?"messages on: ":"messages off: ":"message categories:\n\t")+
|
T);break a}}if(lb)if("on"==g[2])a.ha|=lb,Wa=!0;else if("off"==g[2]&&(a.ha&=~lb,Wa=!1,1073741824==lb)){for(var Mi=1E3<=a.M.length?a.M.length-1E3:0;Mi<a.M.length;)a.v(a.M[Mi++]);a.M=[]}}var xl=0,Tc="";for(Va in Rb)if(!T||T==Va){var yl=!!(a.ha&Rb[Va]);if(null===Wa||Wa==yl)Tc&&(Tc+=","),++xl%10||(Tc+="\n\t"),"key"==Va&&(Va="keys"),Tc+=Va}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Wa?Wa?"messages on: ":"messages off: ":"message categories:\n\t")+
|
||||||
(Tc||"none"));Jj(a)}break;case "p":if("print"==g[0]){Ok(a,b.substr(5));break}var zl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Mi="pr"==zl?1:0,Ni=1+Mi;if(a.I)a.v("step in progress");else{var Sd=X(a.f.g[7]),cc=a.Sa(Sd);3==cc||4==cc||34816==(cc&65280)||32256==(cc&65024)||35072==(cc&65280)?(a.I=Ni,Sj(Sd,2)):2048==(cc&65024)&&(vk(a,Sd),a.I=Ni);a.I?(a.Bb(a.b,Sd,!0),kk(a)||(a.J&&qe(a.J),a.I=0)):Pk(a,Mi?"tr":
|
(Tc||"none"));Jj(a)}break;case "p":if("print"==g[0]){Ok(a,b.substr(5));break}var zl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Ni="pr"==zl?1:0,Oi=1+Ni;if(a.I)a.v("step in progress");else{var Sd=X(a.f.g[7]),cc=a.Sa(Sd);3==cc||4==cc||34816==(cc&65280)||32256==(cc&65024)||35072==(cc&65280)?(a.I=Oi,Sj(Sd,2)):2048==(cc&65024)&&(vk(a,Sd),a.I=Oi);a.I?(a.Bb(a.b,Sd,!0),kk(a)||(a.J&&qe(a.J),a.I=0)):Pk(a,Ni?"tr":
|
||||||
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}nk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Uc=+g[2];if(8==Uc||10==Uc||16==Uc)a.Ba=Uc;else{a.v("invalid base: "+Uc);break}}a.v("default base: "+a.Ba);break;case "cs":var Vc;void 0!==g[3]&&(Vc=+g[3]);switch(g[2]){case "int":a.f.Ob=Vc;break;case "start":a.f.pc=Vc;break;case "stop":a.f.Rb=Vc;break;default:a.v("unknown cs option");break a}void 0!==Vc&&ie(a.f);a.v("checksums "+(a.f.A.Nb?"enabled":"disabled"));break;case "sp":void 0!==
|
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}nk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Uc=+g[2];if(8==Uc||10==Uc||16==Uc)a.Ba=Uc;else{a.v("invalid base: "+Uc);break}}a.v("default base: "+a.Ba);break;case "cs":var Vc;void 0!==g[3]&&(Vc=+g[3]);switch(g[2]){case "int":a.f.Ob=Vc;break;case "start":a.f.pc=Vc;break;case "stop":a.f.Rb=Vc;break;default:a.v("unknown cs option");break a}void 0!==Vc&&ie(a.f);a.v("checksums "+(a.f.A.Nb?"enabled":"disabled"));break;case "sp":void 0!==
|
||||||
g[2]&&(ne(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.xb.toFixed(2)+"Mhz")+" ("+a.f.mb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":Pk(a,
|
g[2]&&(ne(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.xb.toFixed(2)+"Mhz")+" ("+a.f.mb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":Pk(a,
|
||||||
g[0],g[1]);break;case "u":ok(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Mk(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Hb||"PDP11")+" version 1.34.2 ("+a.f.ka+",RELEASE"+(Jb?",TYPEDARRAYS":Ib?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Ok(a,b.substr(1));break}var zf="commands:",Af;for(Af in Sk)zf+="\n"+ya(Af,9)+Sk[Af];bf(a)||(zf+="\nnote: history disabled if no exec breakpoints");a.v(zf);break;default:f=!0}f&&(a.v("unknown command: "+
|
g[0],g[1]);break;case "u":ok(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Mk(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Hb||"PDP11")+" version 1.34.2 ("+a.f.ka+",RELEASE"+(Jb?",TYPEDARRAYS":Ib?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Ok(a,b.substr(1));break}var zf="commands:",Af;for(Af in Sk)zf+="\n"+ya(Af,9)+Sk[Af];bf(a)||(zf+="\nnote: history disabled if no exec breakpoints");a.v(zf);break;default:f=!0}f&&(a.v("unknown command: "+
|
||||||
b),d=!1)}}catch(Pi){a.v("debugger error: "+(Pi.stack||Pi.message)),d=!1}return d}function le(a,b,c){b=yj(a,b,c);for(var d in b)if(!uk(a,b[+d]))return!1;return!0}
|
b),d=!1)}}catch(Qi){a.v("debugger error: "+(Qi.stack||Qi.message)),d=!1}return d}function le(a,b,c){b=yj(a,b,c);for(var d in b)if(!uk(a,b[+d]))return!1;return!0}
|
||||||
var Sk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},xk=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
var Sk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},xk=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
||||||
Zj=20,ak=21,bk=22,ck=23,dk=24,ek=25,fk=26,gk=27,Xj=28,hk=29,ik=30,Vj={SP:6,PC:7,PS:Zj,PI:ak,ER:bk,SL:ck,M0:dk,M1:ek,M2:fk,M3:gk,AR:Xj,DR:hk,SR:ik},Yj="R0 R1 R2 R3 R4 R5 SP PC A0 A1 A2 A3 A4 A5 A6 A7 S0 S1 S2 S3 PS PI ER SL M0 M1 M2 M3 AR DR SR".split(" "),Rk="KI KD SI SD ?? ?? UI UD".split(" "),Ek=7,Fk=56,Z=Fk|Ek,Dk=4032,Y=4096,zk=8192,Ak=12288,Bk=24576,Ck=32768,yk=61440,Lj={61440:{4096:[62,Dk,Z],8192:[47,Dk,Z],12288:[18,Dk,Z],16384:[14,Dk,Z],20480:[16,Dk,Z],24576:[3,Dk,Z],36864:[63,Dk,Z],40960:[48,
|
Zj=20,ak=21,bk=22,ck=23,dk=24,ek=25,fk=26,gk=27,Xj=28,hk=29,ik=30,Vj={SP:6,PC:7,PS:Zj,PI:ak,ER:bk,SL:ck,M0:dk,M1:ek,M2:fk,M3:gk,AR:Xj,DR:hk,SR:ik},Yj="R0 R1 R2 R3 R4 R5 SP PC A0 A1 A2 A3 A4 A5 A6 A7 S0 S1 S2 S3 PS PI ER SL M0 M1 M2 M3 AR DR SR".split(" "),Rk="KI KD SI SD ?? ?? UI UD".split(" "),Ek=7,Fk=56,Z=Fk|Ek,Dk=4032,Y=4096,zk=8192,Ak=12288,Bk=24576,Ck=32768,yk=61440,Lj={61440:{4096:[62,Dk,Z],8192:[47,Dk,Z],12288:[18,Dk,Z],16384:[14,Dk,Z],20480:[16,Dk,Z],24576:[3,Dk,Z],36864:[63,Dk,Z],40960:[48,
|
||||||
Dk,Z],45056:[19,Dk,Z],49152:[15,Dk,Z],53248:[17,Dk,Z],57344:[94,Dk,Z]},65024:{2048:[57,448,Z],28672:[100,Z,448],29184:[101,Z,448],29696:[102,Z,448],30208:[103,Z,448],30720:[104,448,Z],32256:[105,448,zk]},65280:{256:[27,Y],512:[24,Y],768:[10,Y],1024:[11,Y],1280:[22,Y],1536:[12,Y],1792:[20,Y],32768:[25,Y],33024:[23,Y],33280:[13,Y],33536:[21,Y],33792:[28,Y],34048:[29,Y],34304:[8,Y],34560:[9,Y],34816:[106,Ck],35072:[107,Ck]},65472:{64:[56,Z],192:[95,Z],2560:[39,Z],2624:[49,Z],2688:[53,Z],2752:[51,Z],
|
Dk,Z],45056:[19,Dk,Z],49152:[15,Dk,Z],53248:[17,Dk,Z],57344:[94,Dk,Z]},65024:{2048:[57,448,Z],28672:[100,Z,448],29184:[101,Z,448],29696:[102,Z,448],30208:[103,Z,448],30720:[104,448,Z],32256:[105,448,zk]},65280:{256:[27,Y],512:[24,Y],768:[10,Y],1024:[11,Y],1280:[22,Y],1536:[12,Y],1792:[20,Y],32768:[25,Y],33024:[23,Y],33280:[13,Y],33536:[21,Y],33792:[28,Y],34048:[29,Y],34304:[8,Y],34560:[9,Y],34816:[106,Ck],35072:[107,Ck]},65472:{64:[56,Z],192:[95,Z],2560:[39,Z],2624:[49,Z],2688:[53,Z],2752:[51,Z],
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue