Added a minor improvement to the simplistic MACRO-10 fixup support in PDPjs

This commit is contained in:
Jeff 2017-04-04 16:34:03 -07:00 committed by Jeff Parsons
commit 7e1fc5586e
8 changed files with 169 additions and 175 deletions

View file

@ -7,7 +7,7 @@ machines:
type: pdp10
config: /devices/pdp10/machine/ka10/test/debugger/machine.xml
debugger: true
commands: a dakam.mac;g 033352
commands: a dakam.mac;g 036547
---
PDP-10 KA10 Basic Instruction Diagnostic #13

View file

@ -100,7 +100,7 @@ function ic(a,b,c,d){a.A.kf[a.A.$i++]={Ll:b,Hd:c,type:d};return Fa(bc,b,c,0,d)}f
function Xb(){for(var a=!1,b=zb(document,"pcx86","panel"),c=0;c<b.length;c++){var d=b[c],e=vb(d),f=tb(e.id);f||(a=!0,f=new Vb(e));yb(f,d);a&&Ib(f)}}var Zb=1280,$b=720,gc=18,jc="Monaco, Lucida Console, Courier New",ac=3*Zb>>2,kc=$b,cc=$b,ec="black",dc=$b>>1;$a(Xb);
function lc(a,b,c){mb.call(this,"Bus",a);this.H=b;this.ba=c;this.I=a.busWidth||20;this.O=Math.pow(2,this.I);this.N=this.C=this.O-1|0;this.A=32==this.I||20>=this.I?12:24>=this.I?14:15;this.B=1<<this.A;this.da=this.B>>2;this.D=this.B-1;this.M=this.O/this.B|0;this.V=this.M-1;this.F=[];this.G=[];this.K=this.L=!1;this.Y=[];this.Z=[];a=new x;mc(a,this.ba);this.aa=Array(this.M);for(b=0;b<this.M;b++)this.aa[b]=a;a=this.H;b=this.aa;c=this.A;a.sc=a.aa=b;a.hb=c;a.Ng=1<<a.hb;a.Db=a.Ng-1;a.Wf=b.length;a.df=a.Wf-
1;a=this.H;a.ef=a.ed=this.C;Ib(this)}ba(lc,mb);l=lc.prototype;l.reset=function(){nc(this,!0)};l.Xb=function(a,b){b||this.reset();return!0};
function oc(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.A;0<g&&h<a.aa.length;){var k=a.aa[h],m=h*a.B,p=a.B-(f-m);p>g&&(p=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.ya)return k.ve+=k.ya-f,k.ya=f,!0;if(f>=k.ya+k.ve){p=k.size-(f-m);p>g&&(p=g);k.ve=f-k.ya+p;f=m+a.B;g-=p;h++;continue}}return pc(a,qc,f,g)}f=new x(f,p,a.B,d,e);mc(f,a.ba,k);a.aa[h++]=f;f=m+a.B;g-=p}return 0>=g?(sc(a.H),a.H.ea.vb||a.status(Math.floor(c/1024)+"Kb "+tc[d]+" at "+q(b)),!0):pc(a,vc,b,c)}
function oc(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.A;0<g&&h<a.aa.length;){var k=a.aa[h],m=h*a.B,p=a.B-(f-m);p>g&&(p=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.ya)return k.ve+=k.ya-f,k.ya=f,!0;if(f>=k.ya+k.ve){p=k.size-(f-m);p>g&&(p=g);k.ve=f-k.ya+p;f=m+a.B;g-=p;h++;continue}}return pc(a,qc,f,g)}f=new x(f,p,a.B,d,e);mc(f,a.ba,k);a.aa[h++]=f;f=m+a.B;g-=p}return 0>=g?(sc(a.H),a.H.ea.vb||a.status(Math.floor(c/1024)+"Kb "+tc[d]+" at "+q(b)),!0):pc(a,uc,b,c)}
function nc(a,b){32==a.I?b?a.J&&(wc(a,1048576,1048576,a.J),a.J=null):a.J||(a.J=xc(a,1048576,1048576),wc(a,1048576,1048576,xc(a,0,1048576))):20<a.I&&(b=a.C&-1048577|(b?1048576:0),b!=a.C&&(a.C=b,a.H&&(a=a.H,a.ef=a.ed=b)))}l.Kg=function(a,b,c,d){if(!(a&this.D||!b||b&this.D)){for(var e=a>>>this.A;0<b;){var f=this.aa[e];if(!f.controller)return pc(this,yc,a,b,d);zc(f,c,!0);b-=this.B;e++}return!0}return pc(this,Ac,a,b)};
function Bc(a,b,c){if(!(b&a.D||!c||c&a.D)){for(var d=b>>>a.A;0<c;){var e=a.aa[d];b=new x(b);mc(b,a.ba,e);a.aa[d++]=b;b=d*a.B;c-=a.B}sc(a.H);return!0}return pc(a,Cc,b,c)}function xc(a,b,c){var d=[];for(b>>>=a.A;0<c&&b<a.aa.length;)d.push(a.aa[b++]),c-=a.B;return d}
function wc(a,b,c,d,e){for(var f=0,g=b>>>a.A;0<c&&g<a.aa.length;){var h=d[f++];if(!h)break;if(void 0!==e){var k=new x(b),m=k,p=e,v=a.ba;m.id=h.id|1;m.ve=h.ve;m.size=h.size;p&&(m.type=p,m.D=p==Dc);Nb?(m.I=h.I,m.G=h.G,m.Pa=h.Pa,m.Rd=h.Rd,m.X=h.X,zc(m,Ec?Fc:Gc)):(m.X=h.X,zc(m,Hc));mc(m,v,h);h=k}a.aa[g++]=h;c-=a.B}}l.Ia=function(a){return this.aa[(a&this.C)>>>this.A].Bc(a&this.D,a)};function Ic(a,b){var c=b&a.D,d=(b&a.C)>>>a.A;return c!=a.D?a.aa[d].Nf(c,b):a.aa[d++].Zd(c,b)|a.aa[d&a.V].Zd(0,b+1)<<8}
@ -109,7 +109,7 @@ function Kc(a,b){var c=0,d=[],e=!a.J&&a.N==a.C;e||nc(a,!0);for(var f=0;f<a.M;f++
function Nc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.F[k]?gb("Input port "+sa(k)+" already registered"):f.F[k]=[h,!1]}}function Oc(a,b,c,d){for(var e=0,f=0;0<c;){var g=a.F[b],h=a.Y[b]||1,k=1==h?255:2==h?65535:-1,m=k;void 0!==g?(g[0]&&(m=g[0](b,d),void 0===m?m=k:m&=k),a.ba&&a.K!=g[1]&&Pc(a.ba,b,m)):a.ba&&(Mb(a.ba,a,b,null,d),a.K&&Pc(a.ba,b,m));e|=m<<f;f+=h<<3;b+=h;c-=h}return e}
function Qc(a,b){if(null==b)return a.L=!a.L,a.L;void 0===a.G[b]&&(a.G[b]=[null,!1]);a.G[b][1]=!a.G[b][1];return a.G[b][1]}function Rc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.G[k]?gb("Output port "+sa(k)+" already registered"):f.G[k]=[h,!1]}}
function Sc(a,b,c,d,e){for(var f=0;0<c;){var g=a.G[b],h=a.Z[b]||1,k=1==h?255:2==h?65535:-1,k=(d>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ba&&a.L!=g[1]&&Tc(a.ba,b,k)}else a.ba&&(Mb(a.ba,a,b,k,e),a.L&&Tc(a.ba,b,k));f+=h<<3;b+=h;c-=h}}function pc(a,b,c,d,e){b="Memory block error ("+b+": "+q(c)+","+q(d)+")";e?a.ba?a.ba.message(b):a.log(b):gb(b);return!1}var bc,Uc={Hk:20,count:8,bq:1,type:3},Vc=0,Wc;for(Wc in Uc){var Xc=Uc[Wc];Uc[Wc]={nh:(1<<Xc)-1<<Vc,shift:Vc};Vc+=Xc}bc=Uc;
var qc=1,vc=2,yc=3,Ac=4,Cc=5,Yc;if(Nb){var Zc=new ArrayBuffer(2);(new DataView(Zc)).setUint16(0,256,!0);Yc=256===(new Uint16Array(Zc))[0]}else Yc=!1;var Ec=Yc;
var qc=1,uc=2,yc=3,Ac=4,Cc=5,Yc;if(Nb){var Zc=new ArrayBuffer(2);(new DataView(Zc)).setUint16(0,256,!0);Yc=256===(new Uint16Array(Zc))[0]}else Yc=!1;var Ec=Yc;
function x(a,b,c,d,e,f){this.id=$c+=2;this.X=null;this.H=0;this.ya=a;this.ve=b;this.size=c||0;this.type=d||ad;this.D=d==Dc;this.controller=null;this.C=f;mc(this);this.Oa=this.qj=!1;if(c)if(e)this.controller=e,a=e.vj(a),this.X=a[0],this.H=a[1],zc(this,e.fh());else if(Nb)this.I=new ArrayBuffer(c),this.G=new DataView(this.I,0,c),this.Pa=new Uint8Array(this.I,0,c),this.Rd=new Uint16Array(this.I,0,c>>1),this.X=new Int32Array(this.I,0,c>>2),zc(this,Ec?Fc:Gc);else{this.X=Array(c>>2);for(e=0;e<this.X.length;e++)this.X[e]=
0;zc(this,Hc)}else zc(this)}l=x.prototype;l.ih=function(a){this.ya=a};l.save=function(){var a,b;if(this.controller)a=null;else if(Nb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.X;return a};l.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Nb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.X=a;return this.Oa=!0}return!1};function zc(a,b,c){b||(b=a.type==bd?cd:a.type==dd?ed:fd);gd(a,b,c);hd(a,b,c)}
function gd(a,b,c){c&&a.he||(a.Bc=b[0]||a.Tk,a.Mf=b[2]||a.Uk,a.Nd=b[4]||a.Rk);if(c||void 0===c)a.Zd=b[0]||a.Tk,a.Nf=b[2]||a.Uk,a.ji=b[4]||a.Rk}function hd(a,b,c){c&&a.ie||(a.Dc=!a.D&&b[1]||a.cf,a.Tf=!a.D&&b[3]||a.pi,a.Sf=!a.D&&b[5]||a.oi);if(c||void 0===c)a.bf=b[1]||a.cf,a.ri=b[3]||a.pi,a.K=b[5]||a.oi}function id(a){a.Bc=a.Zd;a.Mf=a.Nf;a.Nd=a.ji}function nd(a){a.Dc=a.D?a.cf:a.bf;a.Tf=a.D?a.pi:a.ri;a.Sf=a.D?a.oi:a.K}
@ -153,9 +153,9 @@ d.M),d.ab(g+64,d.K),d.ab(g+68,d.J),d.ab(g+72,d.oa.U),d.ab(g+76,d.Z.U),d.ab(g+80,
g)));c&&d.fb(h+0,f);d.qa|=8;return!0}l.save=function(){return[this.U,this.ua,this.Ka,this.lb,this.id,this.$b,this.Ab,this.qc,this.Lb,this.Jc,this.wa,this.W,this.R,this.type,this.Nb]};l.restore=function(a){"number"==typeof a?this.load(a):(this.U=a[0],this.ua=a[1],this.Ka=a[2],this.lb=a[3],this.id=a[4],this.$b=a[5],this.Ab=a[6],this.qc=a[7],this.Lb=a[8],this.Jc=a[9]||2,this.wa=a[10]||65535,this.W=a[11]||2,this.R=a[12]||65535,this.type=a[13]||this.lb&7936,this.Nb=a[14]||(this.Ka>>>0)+1)};
function Vd(a,b,c,d){void 0===c&&(c=!!(a.gc.qa&1));a.Oc=!1;if(c)if(a.load=a.qg,a.Cj=a.fn,a.bc=a.cj,a.cc=a.ej,void 0===d&&(d=!!(a.gc.O&131072)),d)a.load=a.G,a.bc=a.D,a.cc=a.F,a.Ab=a.qc=3,a.W=2,a.R=a.wa=65535,a.Ka=65535,a.Nb=a.Ka+1,a.Jc=a.W,a.Lb=-1,a.Pe=!1;else{if(!(a.U&-4))a.bc=a.kg,a.cc=a.lg;else if(a.type&4096){6144==(a.type&6656)&&(a.bc=a.kg);if(a.type&2048||!(a.type&512))a.cc=a.lg;1024==(a.type&3072)&&(a.bc==a.cj&&(a.bc=a.zl),a.cc==a.ej&&(a.cc=a.Al),a.Oc=!0);b&&a.id<Zd&&a.U&-4&&-1!==a.Lb&&(c=a.Lb+
5,d=a.gc.Ia(c),d&1||a.gc.fc(c,d|1))}b&&(a.Ab=a.U&3,a.qc=(a.lb&24576)>>13,80386>a.gc.ca||!(a.ext&64)?(a.W=2,a.R=65535):(a.W=4,a.R=-1),a.Jc=a.W,a.wa=a.R)}else a.load=a.mh,a.Cj=a.gn,a.bc=a.dj,a.cc=a.fj,a.Ab=a.qc=0,a.Lb=-1,a.Pe=!1}var de=1,pe=2,$d=3,be=4,Zd=6,Xd=1;
function ue(a){var b=+a.model||8088,c;switch(b){default:c=4772727;break;case 80286:c=6E6;break;case 80386:c=16E6}wd.call(this,a,c);this.ca=b;a=a.stepping;this.we=b+(a?oa(a,16):0);this.Ri=61442;this.Qd=1792;this.si=28672;this.Vf=4;this.Ta=255;this.B=80286<=this.ca?Pb:Ob;this.va=ve;this.bj=Ae;this.ij=Be;this.nj=Ce;if(80186<=this.ca&&(this.va=ve.slice(),this.bj=Ae.slice(),this.ij=Be.slice(),this.Ta=31,this.va[15]=De,this.va[96]=Ee,this.va[97]=Fe,this.va[98]=Ge,this.va[99]=De,this.va[100]=De,this.va[101]=
function ue(a){var b=+a.model||8088,c;switch(b){default:c=4772727;break;case 80286:c=6E6;break;case 80386:c=16E6}wd.call(this,a,c);this.ca=b;a=a.stepping;this.we=b+(a?oa(a,16):0);this.Ri=61442;this.Qd=1792;this.si=28672;this.Vf=4;this.Ta=255;this.B=80286<=this.ca?Pb:Ob;this.va=ve;this.bj=we;this.ij=Be;this.nj=Ce;if(80186<=this.ca&&(this.va=ve.slice(),this.bj=we.slice(),this.ij=Be.slice(),this.Ta=31,this.va[15]=De,this.va[96]=Ee,this.va[97]=Fe,this.va[98]=Ge,this.va[99]=De,this.va[100]=De,this.va[101]=
De,this.va[102]=De,this.va[103]=De,this.va[104]=He,this.va[105]=Ie,this.va[106]=Je,this.va[107]=Ke,this.va[108]=Le,this.va[109]=Me,this.va[110]=Ne,this.va[111]=Oe,this.va[192]=Pe,this.va[193]=Qe,this.va[200]=Re,this.va[201]=Se,this.va[241]=Te,this.bj[7]=Ue,this.ij[7]=Ue,80286<=this.ca)){this.Ri=2;this.Qd|=28672;this.Vf=0;this.va[15]=Ve;this.Pd=We.slice();for(b=0;b<this.Pd.length;b++)this.Pd[b]||(this.Pd[b]=Xe);this.va[84]=Ye;this.va[99]=Ze;if(80386<=this.ca){var d;this.si=0;this.Qd|=196608;this.va[100]=
$e;this.va[101]=af;this.va[102]=bf;this.va[103]=cf;for(d in B)this.Pd[+d]=B[+d];80546<=this.we&&80562>=this.we&&(this.Pd[166]=gf,this.Pd[167]=hf)}}this.Yf=[];this.Zf=[];this.ag=0;zd(this);this.ea.complete=this.ea.jj=!1;this.tj=0;this.sc=this.aa=[];this.hb=this.Ng=this.Db=this.Wf=this.df=this.ef=this.ed=0;jf(this)}ba(ue,wd);function kf(a,b,c,d){b=(d?a.sc:a.aa)[b>>>a.hb];c?--b.ie||nd(b):--b.he||id(b);d&&sc(a)}
$e;this.va[101]=af;this.va[102]=bf;this.va[103]=cf;for(d in B)this.Pd[+d]=B[+d];80546<=this.we&&80562>=this.we&&(this.Pd[166]=df,this.Pd[167]=hf)}}this.Yf=[];this.Zf=[];this.ag=0;zd(this);this.ea.complete=this.ea.jj=!1;this.tj=0;this.sc=this.aa=[];this.hb=this.Ng=this.Db=this.Wf=this.df=this.ef=this.ed=0;jf(this)}ba(ue,wd);function kf(a,b,c,d){b=(d?a.sc:a.aa)[b>>>a.hb];c?--b.ie||nd(b):--b.he||id(b);d&&sc(a)}
function lf(a){var b;if(a.aa===a.sc){a.aa=Array(a.Wf);a.$f=new x(null,0,0,bd,null,a);mc(a.$f,a.ba);for(b=0;b<a.Wf;b++)a.aa[b]=a.$f;a.ff=new x;a.Zi=Array(mf);a.bg=0}else for(var c=0;c<a.Xf.length;c++){b=a.Xf[c];var d=a.aa[b];a.bg<mf&&(a.Zi[a.bg++]=d);a.aa[b]=a.$f}a.Xf=[]}function sc(a){a.qa&-2147483648&&lf(a)}
function sd(a,b,c,d){var e=(b&-4194304)>>>20,f=a.sc[(a.Wc+e&a.ef)>>>a.hb],g=f.Nd(e);if(!(g&1))return d||nf.call(a,b,!1,c),a.ff;if(!(g&4)&&3==a.Ma)return d||nf.call(a,b,!0,c),a.ff;var h=(b&4190208)>>>10,g=a.sc[((g&-4096)+h&a.ef)>>>a.hb],k=g.Nd(h);if(!(k&1))return d||nf.call(a,b,!1,c),a.ff;if(!(k&4)&&3==a.Ma)return d||nf.call(a,b,!0,c),a.ff;c=a.sc[((k&-4096)+(b&4095)&a.ef)>>>a.hb];if(d)return c;d=b>>>a.hb;k=a.aa[d];b&=-4096;var m;0<a.bg?(m=a.Zi[--a.bg],m.ih(b)):m=new x(b,0,0,dd);b=m;b.pd=c;b.nb=f;b.A=
e>>2;b.ob=g;b.B=h>>2;Nb&&Ec&&c.X&&!c.controller&&!c.he&&!c.ie?(b.Pa=c.Pa,b.Rd=c.Rd,b.X=c.X,zc(b,vd)):(b.F=c?td(32):0,b.J=c?td(96):0,zc(b,ed));mc(b,a.ba,k);a.aa[d]=b;a.Xf.push(d);return b}function of(a){a.aa!==a.sc&&(a.aa=a.sc,a.$f=null,a.Xf=null,a.ff=null)}l=ue.prototype;l.reset=function(){this.ea.vb&&this.Jb();jf(this);zd(this);this.ea.error=!1};
@ -382,7 +382,7 @@ ug(this,a,1,!0)&&(this.D=this.D&-256|Oc(this.ka,a,1,this.da-2)&255,this.A-=this.
this.B.Lj},function(){var a=this.Ea();C(this,A(this)+a);this.A-=this.B.Dh},function(){se(this,this.Ea(),Gg(this));this.A-=this.B.hk},function(){var a=this.S();C(this,A(this)+a);this.A-=this.B.Dh},function(){var a=this.L&65535;ug(this,a,1,!0)&&(this.D=this.D&-256|Oc(this.ka,a,1,this.da-1)&255,this.A-=this.B.Bh)},function(){var a=this.L&65535;ug(this,a,this.W,!0)&&(this.D=this.D&~this.R|Oc(this.ka,a,this.W,this.da-1)&this.R,this.A-=this.B.Bh)},function(){var a=this.L&65535;ug(this,a,1,!1)&&(Sc(this.ka,
a,1,this.D&255,this.da-1),this.A-=this.B.Ph)},function(){var a=this.L&65535;ug(this,a,2,!1)&&(Sc(this.ka,a,this.W,this.D&this.R,this.da-1),this.A-=this.B.Ph)},Rk,Rk,function(){this.N|=132;this.A-=this.B.bd},function(){this.N|=68;this.A-=this.B.bd},function(){this.O&131072?y.call(this,13,0):(this.Xa|=4,this.A-=2,this.ba&&t(this,-2147483648)?(ag(this),this.ba.Jb()):this.O&512||(this.ba&&ag(this),this.Jb()))},function(){cg(this)?kg(this):jg(this);this.A-=2},function(){this.vc=!1;this.kd.call(this,Wk,
fk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R)},function(){this.vc=!1;this.ib.call(this,Xk,fk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R,this.L=this.L&~this.R|this.Ya&this.R)},function(){kg(this);this.A-=2},function(){jg(this);this.A-=2},function(){this.Ma>this.lc?y.call(this,13,0):(this.O&=-513,this.A-=this.B.Jj)},function(){this.Ma>this.lc?y.call(this,13,0):(this.O|=512,this.N|=4,this.A-=2)},function(){this.O&=-1025;this.A-=2},function(){this.O|=1024;this.A-=2},function(){this.kd.call(this,
Ae,fk)},function(){this.ib.call(this,Be,fk)}],Ek=[ki,hj,ii,jj,mi,Mj,Uj,Ai],Sk=[li,ij,ji,kj,ni,Nj,Vj,Bi],Tk=[function(a,b){this.A-=-1===this.F?this.B.nc:this.B.yk;return b},Di,Di,Di,Di,Di,Di,Di],Uk=[function(a,b){this.A-=-1===this.F?this.B.qk:this.B.nk;return b},Ei,Ei,Ei,Ei,Ei,Ei,Ei],Jk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<b-1,c=(a<<b|a>>8-b)&255):d=a<<7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;ng(this,c,d,128)}return c},
we,fk)},function(){this.ib.call(this,Be,fk)}],Ek=[ki,hj,ii,jj,mi,Mj,Uj,Ai],Sk=[li,ij,ji,kj,ni,Nj,Vj,Bi],Tk=[function(a,b){this.A-=-1===this.F?this.B.nc:this.B.yk;return b},Di,Di,Di,Di,Di,Di,Di],Uk=[function(a,b){this.A-=-1===this.F?this.B.qk:this.B.nk;return b},Ei,Ei,Ei,Ei,Ei,Ei,Ei],Jk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<b-1,c=(a<<b|a>>8-b)&255):d=a<<7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;ng(this,c,d,128)}return c},
function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=9)?(c=(a<<b|d<<b-1|a>>9-b)&255,d=a<<b-1):d<<=7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=9)?(c=(a>>b|d<<8-b|a<<9-b)&255,d=a<<8-b):d<<=7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=0;8<b?c=0:(d=a<<b-1,c=d<<1&255);ig(this,c,128,d&128,(c^d)&128)}return c},function(a,b){if(b&=this.Ta)b=8<b?0:a>>>b-1,a=b>>>1&255,ig(this,a,128,b&1,a&128);return a},Ei,function(a,b){if(b&=this.Ta)9<b&&
(b=9),b=a<<24>>24>>b-1,a=b>>1&255,ig(this,a,128,b&1);return a}],Kk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=15)?(d=a<<b-1,c=(a<<b|a>>16-b)&65535):d=a<<15;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=15)?(d=a<<16-b,c=(a>>>b|d)&65535):d=a;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=17)?(c=(a<<b|d<<b-1|a>>17-b)&65535,d=a<<b-1):d<<=15;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=17)?
(c=(a>>b|d<<16-b|a<<17-b)&65535,d=a<<16-b):d<<=15;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=0;16<b?c=0:(d=a<<b-1,c=d<<1&65535);ig(this,c,32768,d&32768,(c^d)&32768)}return c},function(a,b){if(b&=this.Ta)b=16<b?0:a>>>b-1,a=b>>>1&65535,ig(this,a,32768,b&1,a&32768);return a},Ei,function(a,b){if(b&=this.Ta)17<b&&(b=17),b=a<<16>>16>>b-1,a=b>>1&65535,ig(this,a,32768,b&1);return a}],Lk=[function(a,b){var c=a;if(b&=this.Ta)c=a<<b|a>>>32-b,ng(this,c,a<<b-1,-2147483648);return c},
@ -392,10 +392,10 @@ b&1,a&-2147483648);return a},Ei,function(a,b){if(b&=this.Ta)b=a>>b-1,a=b>>1,ig(t
(b=this.D<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ca&&-128==d)return lk.call(this),a;this.Ba=d&255|(b%c&255)<<8;this.vc=!0;this.A-=-1===this.C?this.B.Vj:this.B.Uj;this.N|=2;return a}],Xk=[function(a,b){b=this.Ea();ig(this,a&b,this.Fb);this.A-=-1===this.C?this.B.ai:this.B.$h;this.N|=2;return a},Ei,function(a){this.A-=-1===this.C?this.B.Ff:this.B.Ef;return a^this.R},function(a){var b=-a|0;bg(this,0,a,b,this.Fb|63,!0);this.A-=-1===this.C?this.B.Ff:this.B.Ef;return b&this.R},function(a,b){2==this.W?
(b=this.D&65535,b=b*a|0,this.Ba=b&65535,this.Ya=b>>16&65535):(Ki.call(this,a,this.D),80563==this.we&&68657152==this.D&&129==a&&(this.Ya=0));this.Ya?(jg(this),lg(this)):(kg(this),mg(this));this.vc=!0;this.A-=-1===this.C?this.B.wk:this.B.vk;this.N|=2;return a},function(a,b){2==this.W?(b=this.D&65535,b=(b<<16>>16)*(a<<16>>16)|0,this.Ba=b&65535,this.Ya=b>>16&65535,b=32767<b||-32768>b):(Ji.call(this,a,this.D),b=this.Ya!=this.Ba>>31);b?(jg(this),lg(this)):(kg(this),mg(this));this.vc=!0;this.A-=-1===this.C?
this.B.ak:this.B.$j;this.N|=2;return a},function(a,b){if(2==this.W){if(!a)return lk.call(this),a;b=65536*(this.L&65535)+(this.D&65535);var c=b/a;if(65536<=c)return lk.call(this),a;this.Ba=c&65535;this.Ya=b%a&65535}else{if(!Yj.call(this,this.D,this.L,a))return lk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.C?this.B.Tj:this.B.Sj;this.N|=2;return a},function(a,b){if(2==this.W){if(!a)return lk.call(this),a;var c=a<<16>>16,d=(b=this.L<<16|this.D&65535)/c|0;if(d!=d<<16>>16||8086==this.ca&&
-32768==d)return lk.call(this),a;this.Ba=d&65535;this.Ya=b%c&65535}else{b=this.D;var c=this.L,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!Yj.call(this,b,c,d)||this.Ba>2147483647+e||this.Ya>2147483647+f?b=!1:(e&&(this.Ba=-this.Ba),f&&(this.Ya=-this.Ya),b=!0);if(!b)return lk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.C?this.B.Xj:this.B.Wj;this.N|=2;return a}],Ae=[function(a){var b=a+1|0;bg(this,a,1,b,190);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&
-32768==d)return lk.call(this),a;this.Ba=d&65535;this.Ya=b%c&65535}else{b=this.D;var c=this.L,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!Yj.call(this,b,c,d)||this.Ba>2147483647+e||this.Ya>2147483647+f?b=!1:(e&&(this.Ba=-this.Ba),f&&(this.Ya=-this.Ya),b=!0);if(!b)return lk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.C?this.B.Xj:this.B.Wj;this.N|=2;return a}],we=[function(a){var b=a+1|0;bg(this,a,1,b,190);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&
255},function(a){var b=a-1|0;bg(this,a,1,b,190,!0);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&255},Ei,Ei,Ei,Ei,Ei,Ei],Be=[function(a){var b=a+1|0;bg(this,a,1,b,this.Fb|62);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&this.R},function(a){var b=a-1|0;bg(this,a,1,b,this.Fb|62,!0);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&this.R},function(a){oe(this,A(this));C(this,a);this.A-=-1===this.C?this.B.Pj:this.B.Oj;this.N|=2;return a},function(a){if(-1===this.C)return Ei.call(this,a);this.ta=
this.Aa;hk.call(this,a,this.ja(this.C+this.W));this.A-=this.B.Mj;this.N|=2;this.ta=-1;return a},function(a){C(this,a);this.A-=-1===this.C?this.B.jk:this.B.ik;this.N|=2;return a},function(a){if(-1===this.C)return Ei.call(this,a);se(this,a,this.ja(this.C+this.W));this.A-=this.B.gk;this.N|=2;return a},function(a){var b=a;this.N&512&&(a=a-2&65535,80286>this.ca&&(b=a));oe(this,b);this.A-=-1===this.C?this.B.Ic:this.B.Ak;this.N|=2;return a},Ei];
function gf(){this.ma.call(this,Rj);this.A-=-1===this.C?6:13}function hf(){this.za.call(this,Qj);this.A-=-1===this.C?12:19}var We=Array(256);We[0]=function(){16>(this.Ia(this.da)&56)&&(this.N|=1);this.ib.call(this,this.nj,fk)};We[1]=function(){this.Ia(this.da)&16||(this.N|=1);this.ib.call(this,Yk,fk)};We[2]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Li)};We[3]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Ri)};
function df(){this.ma.call(this,Rj);this.A-=-1===this.C?6:13}function hf(){this.za.call(this,Qj);this.A-=-1===this.C?12:19}var We=Array(256);We[0]=function(){16>(this.Ia(this.da)&56)&&(this.N|=1);this.ib.call(this,this.nj,fk)};We[1]=function(){this.Ia(this.da)&16||(this.N|=1);this.ib.call(this,Yk,fk)};We[2]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Li)};We[3]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Ri)};
We[5]=function(){this.Ma?y.call(this,13,0,0,!0):(tg(this,this.ja(2054)),this.J=this.ja(2086),this.K=this.ja(2088),this.M=this.ja(2090),this.G=this.ja(2094),this.L=this.ja(2096),this.I=this.ja(2098),this.D=this.ja(2100),ce(this.oa,2102,this.ja(2084)),ce(this.Z,2108,this.ja(2082)),ce(this.Y,2114,this.ja(2080)),ce(this.Ca,2120,this.ja(2078)),re(this,this.ja(2072)),C(this,this.ja(2074)),ge(this,this.ja(2092)),this.Kb=this.ja(2126)|this.Ia(2128)<<16,this.Pc=this.Kb+this.ja(2130),this.Pb=this.ja(2138)|
this.Ia(2140)<<16,this.cd=this.Pb+this.ja(2142),ce(this.Eb,2132,this.ja(2076)),ce(this.la,2144,this.ja(2070)),this.A-=195)};We[6]=function(){this.Ma?y.call(this,13,0):(this.qa&=-9,this.A-=2)};We[11]=De;We[166]=De;We[255]=De;var B=[];B[5]=De;
B[7]=function(){if(this.Ma)y.call(this,13,0,0,!0);else{var a=this.oa.bc(this.J&this.wa,204);if(-1!==a){ak.call(this,this.ia(a));var b=this.ia(a+168),c=(b&24576)>>13;re(this,this.ia(a+4),c);this.Kb=this.ia(a+112);this.Pc=this.Kb+this.ia(a+116);this.Pb=this.ia(a+100);this.cd=this.Pb+this.ia(a+104);ae(this.Eb,this.ia(a+56),this.ia(a+120),this.ia(a+124),this.ia(a+128));ae(this.la,this.ia(a+52),this.ia(a+84),this.ia(a+88),this.ia(a+92));this.J=this.ia(a+12);this.K=this.ia(a+16);this.M=this.ia(a+20);this.G=
@ -559,8 +559,8 @@ function ks(a,b,c,d){if(d)a.Fa("Unable to load font ROM (error "+d+": "+b+")");e
function Ps(a,b){if(1==b)return a.ha[0]=Qs[Ks],a.ha[1]=Qs[Is],a.ha;if(2==b){var c=a.C.Ze;if(a.C===a.A){var d=a.A.Cc[0],c=d&7;d&16&&(c|=8);18!=a.A.Cc[1]&&(c|=32)}a.ha[0]=Qs[c&15];c=c&32?Rs:Ss;for(d=0;d<c.length;d++)a.ha[d+1]=Qs[c[d]];return a.ha}if(a.K===a.yb)return Qs;a.Ga&&b&&!a.ha[16]&&(a.Ga=!1);if(!a.Ga){var c=a.A,d=c.$e,e,f,g,h;if(8==b)for(e=0;256>e;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.ha[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.Cc[15]?c.Cc:Ts;for(e=0;16>e;e++)f=b[e]&63,k?(f|=
(c.Cc[20]&12)<<4,c.Cc[16]&128&&(f&=-49,f|=(c.Cc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.ha[e]=[g,h,f,255]}a.Ga=!0}return a.ha}function bq(a,b,c,d){a.wb=b;a.Ta=c;a.Da=d}
function Fs(a,b){var c=!1;if(window&&a.wb&&(!b||a.I)){b=0;var d=a.Da?a.Da:8,e=Ps(a);null!=a.Ta[0]&&Us(a,Vs,a.Ta[0],b,d,8,a.wb,e)&&(c=!0);b=a.Da?0:2048;d=a.Da?a.Da:9;null!=a.Ta[1]&&(Us(a,Ws,a.Ta[1],b,d,14,a.wb,Xs,Ys)&&(c=!0),a.Da&&Us(a,a.La,a.Ta[1],0,a.Da,14,a.wb,e)&&(c=!0))}return c}function Us(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(Zs(a,b,c,d,e,f,g,h,k)&&(m=!0),a.Cd&&Zs(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
function Zs(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,v=a.va[b],u=16>h.length?h.length:16;v||(v={Fc:e<<p,Gc:f<<p,Be:Array(u),Qi:h.slice(0,u),jf:k,Sg:Array(u)});for(k=0;k<u;k++){var E=h[k],G=v.Be[k]?v.Qi[k]:[];if(E[0]!==G[0]||E[1]!==G[1]||E[2]!==G[2]){var m=v,G=k,I=p,J=c,T=d,L=e,ua=f,ca=g,xb=[0,0,0,0],za=document.createElement("canvas");za.width=m.Fc<<4;za.height=m.Gc<<4;var cb=za.getContext("2d"),Sa,rb,db,rc=8>ua||!T?ua:8,ib=cb.createImageData(m.Fc,m.Gc);for(Sa=0;256>Sa;Sa++){for(db=0;db<ua;db++)for(var df=
m.jf&&G&1&&db>=ua-2,Ld=ca[db<rc?J+Sa*rc+db:T+Sa*rc+db-rc],ef=0;ef<=I;ef++)for(rb=0;rb<L;rb++){var vg=rb<<I,ff=(db<<I)+ef,wg=df||Ld&128>>(8<=rb&&192<=Sa&&223>=Sa?7:rb)?E:xb;$s(ib,vg,ff,wg);I&&$s(ib,vg+1,ff,wg)}cb.putImageData(ib,(Sa&15)*m.Fc,(Sa>>4)*m.Gc)}m.Be[G]="#"+q(E[0],2)+q(E[1],2)+q(E[2],2);m.Qi[G]=E;m.Sg[G]=za;m=!0}}a.va[b]=v;return m}function at(a){0<a.xa||0<=a.aa?0>a.Aa&&(a.Aa=0):a.Aa=-1}
function Zs(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,v=a.va[b],u=16>h.length?h.length:16;v||(v={Fc:e<<p,Gc:f<<p,Be:Array(u),Qi:h.slice(0,u),jf:k,Sg:Array(u)});for(k=0;k<u;k++){var E=h[k],G=v.Be[k]?v.Qi[k]:[];if(E[0]!==G[0]||E[1]!==G[1]||E[2]!==G[2]){var m=v,G=k,I=p,J=c,T=d,L=e,ua=f,ca=g,xb=[0,0,0,0],za=document.createElement("canvas");za.width=m.Fc<<4;za.height=m.Gc<<4;var cb=za.getContext("2d"),Sa,rb,db,rc=8>ua||!T?ua:8,ib=cb.createImageData(m.Fc,m.Gc);for(Sa=0;256>Sa;Sa++){for(db=0;db<ua;db++)for(var ef=
m.jf&&G&1&&db>=ua-2,Ld=ca[db<rc?J+Sa*rc+db:T+Sa*rc+db-rc],ff=0;ff<=I;ff++)for(rb=0;rb<L;rb++){var vg=rb<<I,gf=(db<<I)+ff,wg=ef||Ld&128>>(8<=rb&&192<=Sa&&223>=Sa?7:rb)?E:xb;$s(ib,vg,gf,wg);I&&$s(ib,vg+1,gf,wg)}cb.putImageData(ib,(Sa&15)*m.Fc,(Sa>>4)*m.Gc)}m.Be[G]="#"+q(E[0],2)+q(E[1],2)+q(E[2],2);m.Qi[G]=E;m.Sg[G]=za;m=!0}}a.va[b]=v;return m}function at(a){0<a.xa||0<=a.aa?0>a.Aa&&(a.Aa=0):a.Aa=-1}
function Os(a){if(a.I){for(var b=10;15>=b;b++)if(null==a.C.Wa[b])return;var c=a.C.Wa[10],b=c&31,d=a.C.Wa[11]&31,e=a.C.Wa[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)bt(a);else{c=a.C.Wa[15]+((a.C.Wa[14]&63)<<8);a.aa!=c&&(bt(a),a.aa=c);d=d-b+1;if(a.md!=b||a.Hc!=d)a.md=b,a.Hc=d;a.za=e+1;at(a)}}}
function bt(a){if(0<=a.aa){if(void 0!==a.M){var b=ct<<8,c=a.M[a.aa];if(c&b){var c=c&~b,b=a.aa%a.F,d=a.aa/a.F|0;a.I&&a.va[a.I]&&(a.Ca&&dt(a,b,d,c,a.Ca),dt(a,b,d,c));a.M[a.aa]=c}}a.aa=-1}}
function et(a){var b,c=a.C;a.Pc=!1;var d=c.xd[5];if(null!=d){b=tr;var e=vr,f=c.xd[3]&31;switch(d&3){case 0:if(f){e=vr|32;switch(f&24){case 8:e=vr|96;break;case 16:e=vr|160;break;case 24:e=vr|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==cq&&(e=3,c.Qc=f&7)}d&8&&(b=1280);c=c.$d[4];null!=c&&(c&4||(b|=ur,e|=wr),d&64&&(c&8&&(b|=16384,e|=4),a.Pc=!0));b|=e}return b}
@ -725,7 +725,7 @@ function cy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b
function ey(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=cy(a,b,'"',7,5);if(!b)return d;b=cy(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Yx(a,b,0,b.length,a.D,c);void 0!==d&&e&&fy(a,null,d)}return d}
function gy(a,b){var c,d=a.ha[0],e=a.ha[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=ey(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?dy(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[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.Z-a.la}if(null==
e)break;b=b.replace(d[0],e.toString())}return b}function $x(a,b){for(;b;){switch(b&3){case 1:a=-Wx(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
function Zx(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.gh(b);if(0<=f)f=a.hh(f);else if(f=b,a.I[f]?f=a.I[f].value:(f=f.substr(0,6),f=a.I[f]&&a.I[f].value),null!=f){var h=a.I[b]&&a.I[b].Qo;h&&(g?g.push(h):(a.P(b+" is undefined ("+h+")"),f=void 0))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=Wx($x(f,e)):d||a.P("invalid "+(c?c:"value")+": "+b)}else d||a.P("missing "+(c||"value"));return f}
function Zx(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.gh(b);if(0<=f)f=a.hh(f);else if(f=b,a.I[f]?f=a.I[f].value:(f=f.substr(0,6),f=a.I[f]&&a.I[f].value),null!=f){var h=a.I[b]&&a.I[b].Qo;h&&(g?g.push(h):(g=ey(a,h,!1),void 0!==g?f+=g:(a.P(b+" = "+dy(a,f)+" + ("+h+")"),f=void 0)))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=Wx($x(f,e)):d||a.P("invalid "+(c?c:"value")+": "+b)}else d||a.P("missing "+(c||"value"));return f}
function fy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.D?dy(a,c,32,8,1)+" "+c+".":dy(a,c,32,16,1)+" "+dy(a,c,32,8,1)+" "+dy(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function hy(a,b){var c=0;if(a.I){if(b)return fy(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)fy(a,b[d],a.I[b[d]].value),c++}return 0<c}
function dy(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=qa(b,0<c?c:0,e);break;case 8:b=ra(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
var by={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},ay={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
@ -807,18 +807,18 @@ Ry(a,g[1],!0);if(v)if(a.da=v,void 0===g[2])a.P("begin assemble at "+Hy(v)),a.ga=
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=G.charAt(1);if("l"==T){var L;L=0+Xz(a,a.B);L+=Xz(a,a.aa);(L+=Xz(a,a.O))||a.P("no breakpoints")}else if("n"==T)a.xa=Zx(a,I),a.P("break after "+a.xa+" instruction(s)");else if(void 0===I)a.P("missing breakpoint address");else{var ua={};if("*"!=I&&(ua=Ry(a,I,!0,!0),!ua))break a;I=null==ua.Ja?I:sa(ua.Ja);"c"==T?null==ua.Ja?(ky(a),a.P("all breakpoints cleared")):Gy(a,
a.B,ua)||Gy(a,a.aa,ua)||Gy(a,a.O,ua)||a.P("breakpoint missing: "+Hy(ua)):"i"==T?a.P("breakpoint "+(Mc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (input)"):"o"==T?a.P("breakpoint "+(Qc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (output)"):null!=ua.Ja&&(Uy(a,ua,J),"p"==T?a.Gd(a.B,ua):"r"==T?a.Gd(a.aa,ua):"w"==T?a.Gd(a.O,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":bB(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Rb)a.Ba[xb]&&
(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=kB(a.pa,!0);rc?"console"==Sa?console.log(rc):
(bB(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.F.length;ib++){var df=a.F[ib],Ld;for(Ld in df.Fd)if("."!=Ld.charAt(0)){var ef=df.Fd[Ld],vg=ef.o;if(void 0!==vg){var ff=ef.s;void 0===ff&&(ff=df.U);var wg=df.Fd[Ld].l;wg&&(Ld=wg);a.P(wy(vg,ff)+" "+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 Qg=a.Sb(Ry(a,qm));if(-1===Qg)a.P("invalid address: "+qm);else{var pf,
Qa=null;if(80386<=a.H.ca){var qf=a.ka,Qa={};Qa.Jk=(Qg&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.nb=qf.aa[(Qa.Ti&qf.C)>>>qf.A];Qa.Aj=Qa.nb.Nd(Qa.Jk);Qa.Kk=(Qg&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.ob=qf.aa[(Qa.Ui&qf.C)>>>qf.A];Qa.Bj=Qa.ob.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Qg&4095)}if(pf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var we="%"+q(Qg),we=we+(" %%"+Wy(pf.Ti,pf.Aj)),we=
we+(" %%"+Wy(pf.Ui,pf.Bj,!0)),we=we+(" %%"+q(pf.ul));a.P(we)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";fB(a,ca);break a}for(xb in Rb)if(ca[1]==xb){var wt=a.Ba[xb];wt?(ca.shift(),ca.shift(),wt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var xt=cb,yt=Sa,zt="",At=0,Lc=a.oa,jd=a.V;if(jd.length){var uc=+xt||a.Xa,Rg=+yt||10;isNaN(uc)?uc=Rg:zt="more ";uc>jd.length&&(a.P("note: only "+
jd.length+" available"),uc=jd.length);Lc-=uc;0>Lc&&(null==jd[jd.length-1].U?(uc=Lc+uc,Lc=0):Lc+=jd.length);var rm=[];"call"==yt&&(Rg=1E5,rm=["CALL"]);for(void 0!==xt&&a.P(uc+" instructions earlier:");0<Rg&&Lc!=a.oa;){var xe=jd[Lc++];if(null==xe.U)break;var Sg=jy(a,xe.Ja,xe.U,xe.ya,xe.type,xe.Hb,xe.dc),aC=uc--,Bt=Zz(a,Sg,"history",aC);(!rm.length||0<=Bt.indexOf(rm[0]))&&a.P(Bt);Sg.Fe&&(Lc+=Sg.Fe,Rg-=Sg.Fe,uc-=Sg.Fe);Lc>=jd.length&&(Lc=0);a.Xa=uc;At++;Rg--}}At||(a.P("no "+zt+"history available"),a.Xa=
(bB(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.F.length;ib++){var ef=a.F[ib],Ld;for(Ld in ef.Fd)if("."!=Ld.charAt(0)){var ff=ef.Fd[Ld],vg=ff.o;if(void 0!==vg){var gf=ff.s;void 0===gf&&(gf=ef.U);var wg=ef.Fd[Ld].l;wg&&(Ld=wg);a.P(wy(vg,gf)+" "+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 Qg=a.Sb(Ry(a,qm));if(-1===Qg)a.P("invalid address: "+qm);else{var pf,
Qa=null;if(80386<=a.H.ca){var qf=a.ka,Qa={};Qa.Jk=(Qg&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.nb=qf.aa[(Qa.Ti&qf.C)>>>qf.A];Qa.Aj=Qa.nb.Nd(Qa.Jk);Qa.Kk=(Qg&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.ob=qf.aa[(Qa.Ui&qf.C)>>>qf.A];Qa.Bj=Qa.ob.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Qg&4095)}if(pf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var xe="%"+q(Qg),xe=xe+(" %%"+Wy(pf.Ti,pf.Aj)),xe=
xe+(" %%"+Wy(pf.Ui,pf.Bj,!0)),xe=xe+(" %%"+q(pf.ul));a.P(xe)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";fB(a,ca);break a}for(xb in Rb)if(ca[1]==xb){var wt=a.Ba[xb];wt?(ca.shift(),ca.shift(),wt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var xt=cb,yt=Sa,zt="",At=0,Lc=a.oa,jd=a.V;if(jd.length){var vc=+xt||a.Xa,Rg=+yt||10;isNaN(vc)?vc=Rg:zt="more ";vc>jd.length&&(a.P("note: only "+
jd.length+" available"),vc=jd.length);Lc-=vc;0>Lc&&(null==jd[jd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=jd.length);var rm=[];"call"==yt&&(Rg=1E5,rm=["CALL"]);for(void 0!==xt&&a.P(vc+" instructions earlier:");0<Rg&&Lc!=a.oa;){var ye=jd[Lc++];if(null==ye.U)break;var Sg=jy(a,ye.Ja,ye.U,ye.ya,ye.type,ye.Hb,ye.dc),aC=vc--,Bt=Zz(a,Sg,"history",aC);(!rm.length||0<=Bt.indexOf(rm[0]))&&a.P(Bt);Sg.Fe&&(Lc+=Sg.Fe,Rg-=Sg.Fe,vc-=Sg.Fe);Lc>=jd.length&&(Lc=0);a.Xa=vc;At++;Rg--}}At||(a.P("no "+zt+"history available"),a.Xa=
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Tg=Zx(a,sm);if(void 0===Tg||0>Tg||255<Tg)a.P("invalid vector: "+sm);else{var Ct="&",Dt=!!(a.H.qa&1),Et=!1,Wi=a.H.Pb+(Tg<<(Dt?3:2)),Ft=a.H.ja(Wi+0),bC=a.H.ja(Wi+2);Dt&&(Ct="#",a.H.ja(Wi+4)&2048&&(Et=!0,Ft|=a.H.ja(Wi+6)<<16));a.P("dumpIDT("+sa(Tg)+"): "+Ct+q(bC,4)+":"+q(Ft,Et?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var rf=Ry(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var Xi=0;Sa&&("l"==Sa.charAt(0)&&
(Sa=Sa.substr(1)||rb),Xi=Zx(a,Sa)>>>0,65536<Xi&&(Xi=65536));for(var Ug="",sf="dd"==za?4:"dw"==za?2:1,Yi=sf*Xi||128,cC=Yi+15>>4||1;cC--&&0<Yi;){var Vg=0,tm=0,Wg,um="",Gt="",cb=Hy(rf);for(Wg=4==sf?16:a.D;0<Wg&&0<Yi;Wg--){var Zi=a.Ia(rf,1),Vg=Vg|Zi<<(tm++<<3);tm==sf&&(um+=8==a.D?ra(Vg,3*sf):q(Vg,2*sf),um+=1==sf?9==Wg?"-":" ":" ",Vg=tm=0);Gt+=32<=Zi&&128>Zi?String.fromCharCode(Zi):".";Yi--}Ug&&(Ug+="\n");Ug+=cb+" "+um+(Wg?"":" "+Gt)}Ug&&a.P(Ug);a.Ma=rf}}}}}break;case "e":if("else"==g[0])break;var $i=
1,Ht=255,It=a.Ia,Jt=a.fc;"ew"==g[0]&&($i=2,Ht=65535,It=a.Yc,Jt=a.il);var Kt=$i<<1,Lt=g[1];if(null==Lt)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 aj=Ry(a,Lt);if(aj)for(var bj=2;bj<g.length;bj++){var Xg=ey(a,g[bj]);if(void 0===Xg){a.P("unrecognized value: "+g[bj]);break}Xg&~Ht&&a.P("warning: "+q(Xg)+" exceeds "+$i+"-byte value");var dC=It.call(a,aj);a.P("changing "+Hy(aj)+" from "+q(dC,Kt,!0)+" to "+q(Xg,Kt,!0));
Jt.call(a,aj,Xg,$i)}}break;case "f":cB(a,g[1]);break;case "g":a:{var Mt=g[1],eC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Mt){var vm=Ry(a,Mt,!0);if(!vm)break a;Uy(a,vm,eC);a.Gd(a.B,vm,!0)}Pz(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(Jb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Yg=b.substr(2),Yg=Ba(Yg);ey(a,Yg)?(c||a.P("true: "+Yg),xm=!0):(c||a.P("false: "+Yg),xm=!1);xm||(d=!1);
break}if("int"==g[0]){var cj;a:switch(Zx(a,g[1])){case 19:Vk(a,19,a.H.da,!0);a.la=a.Z;cj=!0;break a;case 33:Vk(a,33,a.H.da,!0);a.la=a.Z;cj=!0;break a;default:cj=!1}cj||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=Zx(a,ym);if(void 0!==zm){var fC=Oc(a.ka,zm,1);a.P(sa(zm)+": "+r(fC))}}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 gC=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,Nt=a.H.Z.U,Zg=jy(a),Td=jy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Hy(Td));10>Am;){for(var kd=null,hC=256;Td.Ja>>>0<a.H.cg>>>0;){Zg.Ja=a.jb(Td,!0);if(null==Td.ya||!hC--)break;Zg.U=Nt;if(kd=iB(a,Zg))break;Zg.U=a.jb(Td);if(kd=iB(a,Zg,!0)){Nt=a.jb(Td,!0);0<kd.indexOf("INT")&&a.jb(Td,!0);break}}if(!kd||null==kd)break;var Ot=null;if("ks"==gC){var Pt=kd.match(/[0-9A-F]+$/);Pt&&(Ot=eB(a,Pt[0]))}kd=Aa(kd,50)+" ;"+(Ot||"stack="+Hy(Td));a.P(kd);Am++}Am||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){eB(a,g[1],!0);break}fB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],dj=g[2];if(a.G){var Qt=1;"-"==dj.charAt(0)&&(Qt=-1,dj=dj.substr(1));var ye=Zx(a,dj,Bm);if(void 0!==ye)switch(ye=ye*Qt|0,Bm){case "x":a.G.tf(ye,0);break;case "y":a.G.tf(0,ye);break;case "click":a.G.Vd(ye,!0);a.G.Vd(ye,!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 ze=0;if("all"==
fb)ze=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 Rb)if(fb==ld){ze=Rb[ld];md=!!(a.ic&ze);break}if(!ze){a.P("unknown message category: "+fb);break a}}ze&&("on"==g[2]?(a.ic|=ze,md=!0):"off"==g[2]&&(a.ic&=~ze,md=!1))}var iC=0,$g="";for(ld in Rb)if(!fb||fb==ld){var jC=!!(a.ic&Rb[ld]);if(null===md||md==jC)$g&&($g+=","),++iC%10||($g+="\n\t"),"key"==ld&&(ld="keys"),$g+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){eB(a,g[1],!0);break}fB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],dj=g[2];if(a.G){var Qt=1;"-"==dj.charAt(0)&&(Qt=-1,dj=dj.substr(1));var ze=Zx(a,dj,Bm);if(void 0!==ze)switch(ze=ze*Qt|0,Bm){case "x":a.G.tf(ze,0);break;case "y":a.G.tf(0,ze);break;case "click":a.G.Vd(ze,!0);a.G.Vd(ze,!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 Ae=0;if("all"==
fb)Ae=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 Rb)if(fb==ld){Ae=Rb[ld];md=!!(a.ic&Ae);break}if(!Ae){a.P("unknown message category: "+fb);break a}}Ae&&("on"==g[2]?(a.ic|=Ae,md=!0):"off"==g[2]&&(a.ic&=~Ae,md=!1))}var iC=0,$g="";for(ld in Rb)if(!fb||fb==ld){var jC=!!(a.ic&Rb[ld]);if(null===md||md==jC)$g&&($g+=","),++iC%10||($g+="\n\t"),"key"==ld&&(ld="keys"),$g+=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")+($g||"none"));ly(a)}break;case "o":var Cm=g[1],kC=g[2];if(Cm&&"?"!=Cm){var Dm=Zx(a,Cm,"port #"),Em=Zx(a,kC);void 0!==Dm&&void 0!==Em&&(Sc(a.ka,Dm,1,Em),a.P(sa(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]){hB(a,b.substr(5));break}var Rt="pr"==g[0]?1:0,tf=1+Rt;if(a.K)a.P("step in progress");
else{var ej,St=!1,Hb=jy(a,A(a.H),a.H.Z.U);do switch(ej=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:My(a,Hb,1);ej=!0;break;case 204:case 206:a.K=tf;My(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=tf;My(a,Hb,Hb.Hb?4:2);break;case 232:a.K=tf;My(a,Hb,Hb.Hb?5:3);break;case 154:a.K=tf;My(a,Hb,Hb.Hb?7:5);break;case 255:var Tt=a.jb(Hb)&14591;if(4351==Tt||6399==Tt)a.K=tf,Zz(a,Hb);break;case 243:case 242:My(a,Hb,1);St=ej=!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:St&&
(a.K=tf,My(a,Hb,1))}while(ej);a.K?(a.Gd(a.B,Hb,!0),Pz(a)||(a.pa&&a.pa.ld(),a.K=0)):jB(a,Rt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Rz(a,g);break;case "t":jB(a,g[0],g[1]);break;case "u":Sz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){dB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.3 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Nb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Ma());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var ah;void 0!==g[3]&&(ah=+g[3]);

View file

@ -688,7 +688,7 @@ class Macro10 {
break;
case Macro10.PSEUDO_OP.EXP:
this.defEXP(sOperands);
this.defWord(sOperands);
break;
case Macro10.PSEUDO_OP.LIT:
@ -1722,25 +1722,6 @@ class Macro10 {
}
}
/**
* defEXP()
*
* Processes the EXP pseudo-op.
*
* @this {Macro10}
* @param {string} sOperands
*/
defEXP(sOperands)
{
var aUndefined = [];
var w = this.parseExpression(sOperands, aUndefined);
if (w !== undefined) {
this.genWord(w, aUndefined[0]);
} else {
this.error("unrecognized EXP expression '" + sOperands + "'");
}
}
/**
* defLocation(sOperands)
*
@ -1759,15 +1740,15 @@ class Macro10 {
*
* Processes the XWD pseudo-op.
*
* Since the XWD pseudo-op appears to be equivalent to two values separated by two commas, which defEXP() must also
* support, we can piggy-back on defExp().
* Since the XWD pseudo-op appears to be equivalent to two values separated by two commas, which defWord() must also
* support, we can piggy-back on defWord().
*
* @this {Macro10}
* @param {string} sOperands
*/
defXWD(sOperands)
{
this.defEXP(sOperands.replace(",", ",,"));
this.defWord(sOperands.replace(",", ",,"));
}
/**
@ -1775,16 +1756,23 @@ class Macro10 {
*
* @this {Macro10}
* @param {string} sOperator
* @param {string} sSeparator
* @param {string} sOperands
* @param {string} [sSeparator]
* @param {string} [sOperands]
*/
defWord(sOperator, sSeparator, sOperands)
defWord(sOperator, sSeparator = "", sOperands = "")
{
var aUndefined = [];
var sExp = (sOperator + sSeparator + sOperands).trim();
var w = this.parseExpression(sExp, aUndefined);
if (w !== undefined) {
this.genWord(w, aUndefined[0]);
if (!aUndefined.length) {
this.genWord(w);
} else if (aUndefined.length == 1) {
this.genWord(w, aUndefined[0]);
}
else {
this.genWord(0, sExp);
}
} else {
this.error("unrecognized word expression '" + sExp + "'");
}

View file

@ -1075,8 +1075,13 @@ class Debugger extends Component
if (aUndefined) {
aUndefined.push(sUndefined);
} else {
this.println(sValue + " is undefined (" + sUndefined + ")");
value = undefined;
var valueUndefined = this.parseExpression(sUndefined, false);
if (valueUndefined !== undefined) {
value += valueUndefined;
} else {
this.println(sValue + " = " + this.toStrBase(value) + " + (" + sUndefined + ")");
value = undefined;
}
}
}
} else {

View file

@ -48,19 +48,19 @@ e[c]&255,d.la[f++]=e[c]>>8&255,d.la[f++]=e[c]>>16&255,d.la[f++]=e[c]>>24&255;els
function ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ha(){return window?window.navigator.userAgent:""}function Ia(){if(null==Ja){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}Ja=a}return Ja}function Ka(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function La(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Oa(a){if(window){var b=Ha();return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}function Pa(a){if(!Qa){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," "))}Qa=c}return Qa[a]}
function Ra(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}function Sa(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 Ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}
function Ua(a){Va.init.push(a)}function Wa(a){if(Xa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Ya("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function bb(a){!Xa&&a?(Xa=!0,cb&&db("init"),eb&&db("show")):Xa=a}function db(a){Va[a]&&Wa(Va[a])}var Qa=null,Va={init:[],show:[],exit:[]},cb=!1,eb=!1,Xa=!0,Ja=null;Ta("onload",function(){cb=!0;Wa(Va.init)});Ta("onpageshow",function(){eb=!0;Wa(Va.show)});
function Ua(a){Va.init.push(a)}function Wa(a){if(Xa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Ya("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function Za(a){!Xa&&a?(Xa=!0,cb&&db("init"),eb&&db("show")):Xa=a}function db(a){Va[a]&&Wa(Va[a])}var Qa=null,Va={init:[],show:[],exit:[]},cb=!1,eb=!1,Xa=!0,Ja=null;Ta("onload",function(){cb=!0;Wa(Va.init)});Ta("onpageshow",function(){eb=!0;Wa(Va.show)});
Ta(Oa("Opera")||Oa("iOS")?"onunload":"onbeforeunload",function(){Wa(Va.exit)});function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.vc=b.comment;this.Ad=b;this.exports={};this.P=this.bindings={};a=this.id.indexOf(".");0>a?this.cb=this.id:(this.eb=this.id.substr(0,a),this.cb=this.id.substr(a+1));this.G={ready:!1,mb:!1,Ib:!1,ja:!1,error:!1};this.zb=null;this.G.error=!1;this.ha=c||0;this.K=this.u=this.I=this.R=this.ua=null;fb.push(this)}
function gb(a,b,c){hb[a]&&b&&(hb[a][b]=c)}function ib(){return Date.now()||+new Date}function Ya(a,b,c){b||r((c?c+": ":"")+a)}function r(a){window&&window.alert(a)}function jb(a){var b=!1;window&&(b=window.confirm(a));return b}function kb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<fb.length;b++){var d=fb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function lb(a){if(void 0!==a){var b;for(b=0;b<fb.length;b++)if(fb[b].id===a)return fb[b]}return null}
function mb(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<fb.length;d++)if(c)c==fb[d]&&(c=null);else if(!(a!=fb[d].type||b&&fb[d].id.indexOf(b)))return fb[d]}return null}function ob(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function pb(a,b){b=qb(b.parentNode,"pc8080-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pc8080-binding":(g=ob(f))&&g.binding&&a.da(g.type,g.binding,f,g.value),k=h.length}}}}
function qb(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 rb(a){for(var b=!0,c=sb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=tb.indexOf(e)&&(f=function(){return function(){rb(a)}}());var g=ub[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=mb(d[1],a);if(h)if(g=wb[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 sb[a];return b}l=t.prototype;
function rb(a){for(var b=!0,c=sb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=tb.indexOf(e)&&(f=function(){return function(){rb(a)}}());var g=ub[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=mb(d[1],a);if(h)if(g=vb[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 sb[a];return b}l=t.prototype;
l.toString=function(){return this.name?this.name:this.id||this.type};
l.da=function(a,b,c){switch(b){case "clear":return this.P[b]||(this.P[b]=c,c.onclick=function(a){return function(){a.P.print&&(a.P.print.value="")}}(this)),!0;case "print":return this.P[b]||(this.ua=this.P[b]=c,c.value="",this.i=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.aa=function(a){this.i(a,this.cb)}),!0;default:return!1}};l.log=function(){};l.i=function(){};
l.status=function(a){this.i(this.cb+": "+a)};l.aa=function(a,b,c){Ya(a,b,c||this.type)};function xb(a,b){a.G.error=!0;a.aa(b)}function yb(a,b){b&&(a.G.ready?b():a.zb=b);return a.G.ready}function zb(a){if(!a.G.error&&(a.G.ready=!0,a.G.ready)){var b=a.zb;a.zb=null;b&&b()}}function Ab(a,b){a.G.mb&&(b?a.G.Ib=!0:void 0===b&&a.i(a.toString()+" busy"));return a.G.mb}function Bb(a,b){if(a.G.Ib)return a.G.mb=!1,a.G.Ib=!1;if(a.G.error)return a.i(a.toString()+" error"),!1;a.G.mb=b;return a.G.mb}
l.wa=function(){return this.G.ja=!0};l.va=function(a,b){b&&(this.G.ja=!1);return!0};function Cb(a,b){if(a.K){a===a.K?b|=0:b=b||a.ha;var c=a.K.ha&b;return!!b&&c===b||!!(c&a.K.wd)}return!1}function Db(a,b){a.K&&Cb(a,0)&&a.K.message(b,void 0)}function x(a,b,c,d,e,f,g){a.K&&(!0===g?g=0:null==g&&(g=a.ha),Eb(a.K,a,b,c,d,e,f,g))}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var hb=window?window.PCjs.Machines:{},fb=window?window.PCjs.Components:[],sb=window?window.PCjs.Commands:{},tb=["hold","sleep","wait"],ub={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},wb={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 hb=window?window.PCjs.Machines:{},fb=window?window.PCjs.Components:[],sb=window?window.PCjs.Commands:{},tb=["hold","sleep","wait"],ub={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},vb={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)});
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 Fb="undefined"!==typeof ArrayBuffer,Gb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,
@ -207,7 +207,7 @@ function ig(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b
function kg(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.U[0]&&(b=b.split(a.U[0]).join("{").split(a.U[1]).join("}"));b=ig(a,b,'"',7,5);if(!b)return d;b=ig(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=dg(a,b,0,b.length,a.A,c);void 0!==d&&e&&lg(a,null,d)}return d}
function mg(a,b){var c,d=a.U[0],e=a.U[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=kg(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?jg(a,g):"undefined")}if(a.fa.length)for(d=a.fa[0],e=a.fa[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.S-a.ba}if(null==e)break;b=b.replace(d[0],e.toString())}return b}function fg(a,b){for(;b;){switch(b&3){case 1:a=-bg(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
function eg(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.Kb(b);if(0<=f)f=a.Lb(f);else if(f=b,a.w[f]?f=a.w[f].value:(f=f.substr(0,6),f=a.w[f]&&a.w[f].value),null!=f){var h=a.w[b]&&a.w[b].pe;h&&(g?g.push(h):(a.i(b+" is undefined ("+h+")"),f=void 0))}else f=ma(b,1<b.length||10<a.A?a.A:10);null!=f?f=bg(fg(f,e)):d||a.i("invalid "+(c?c:"value")+": "+b)}else d||a.i("missing "+(c||"value"));return f}
function eg(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.Kb(b);if(0<=f)f=a.Lb(f);else if(f=b,a.w[f]?f=a.w[f].value:(f=f.substr(0,6),f=a.w[f]&&a.w[f].value),null!=f){var h=a.w[b]&&a.w[b].pe;h&&(g?g.push(h):(g=kg(a,h,!1),void 0!==g?f+=g:(a.i(b+" = "+jg(a,f)+" + ("+h+")"),f=void 0)))}else f=ma(b,1<b.length||10<a.A?a.A:10);null!=f?f=bg(fg(f,e)):d||a.i("invalid "+(c?c:"value")+": "+b)}else d||a.i("missing "+(c||"value"));return f}
function lg(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.A?jg(a,c,32,8,1)+" "+c+".":jg(a,c,32,16,1)+" "+jg(a,c,32,8,1)+" "+jg(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.i((null!=b?b+": ":"")+d);return e}function ng(a,b){var c=0;if(a.w){if(b)return lg(a,b,a.w[b]&&a.w[b].value);b=Object.keys(a.w);b.sort();for(var d=0;d<b.length;d++)lg(a,b[d],a.w[b[d]].value),c++}return 0<c}
function jg(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.A){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=oa(b,2,a,"",e);break;case 8:(a=0<c?(c+2)/3|0:0)?12<a&&(a=12):(a=Math.abs(b),a=262143>=a?6:16777215>=a?8:12);b=oa(b,8,a,e?"0o":"");break;case 10:(e=0<c?Math.ceil(.3*c):0)?11<e&&(e=11):e=99999>=Math.abs(b)?5:11;b=oa(b,10,e);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
var hg={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},gg={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
@ -253,15 +253,15 @@ u,void 0===f[2])a.i("begin assemble at "+$g(u.J)),a.N=!0,Oc(a.u);else{var v;a.i(
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+Bh(a,a.j);za+=Bh(a,a.M);(za+=Bh(a,a.B))||a.i("no breakpoints")}else if("n"==T)a.X=eg(a,w),a.i("break after "+a.X+" instruction(s)");else if(void 0===w)a.i("missing breakpoint address");else{var L=qg();if("*"!=w&&(L=wg(a,w,!0),!L))break a;w=q(L.J);"c"==T?null==L.J?(rg(a),a.i("all breakpoints cleared")):zh(a,a.j,L)||zh(a,a.M,L)||zh(a,a.B,L)||a.i("breakpoint missing: "+$g(L.J)):
"i"==T?a.i("breakpoint "+($b(a.I,L.J)?"enabled":"cleared")+": port "+w+" (input)"):"o"==T?a.i("breakpoint "+(dc(a.I,L.J)?"enabled":"cleared")+": port "+w+" (output)"):null!=L.J&&(Zg(a,L,C),"p"==T?a.Pa(a.j,L):"r"==T?a.Pa(a.M,L):"w"==T?a.Pa(a.B,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],hc=f[3];if("?"==na){var Pb="";for(ja in Hb)a.ka[ja]&&(Pb&&(Pb+=","),Pb+=ja);Pb+=",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");Pb.length&&a.i("dump extension commands:\n\t"+Pb)}else if("state"==na){var re=ei(a.R,!0);"console"==Ma?console.log(re):(a.ua&&(a.ua.value=""),re&&a.i(re))}else if("symbols"==na)for(var se=0;se<a.C.length;se++){var te=a.C[se],Qb;for(Qb in te.ra)if("."!=Qb.charAt(0)){var zg=te.ra[Qb].o;if(void 0!==zg){var Ag=te.ra[Qb].l;Ag&&(Qb=Ag);a.i($g(zg)+" "+
Qb)}}}else{if("d"==ua){for(ja in Hb)if(f[1]==ja){var Bg=a.ka[ja];Bg?(f.shift(),f.shift(),Bg(f)):a.i("no dump registered for "+na);break a}na||(ua=a.Da||"db")}else a.Da=ua;if("dh"==ua){var Cg=na,Dg=Ma,Eg="",Fg=0,Na=a.V,Za=a.H;if(Za.length){var Ba=+Cg||a.xa,mc=+Dg||10;isNaN(Ba)?Ba=mc:Eg="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 ue=[];"call"==Dg&&(mc=1E5,ue=["CALL"]);for(void 0!==Cg&&a.i(Ba+
" instructions earlier:");0<mc&&Na!=a.V;){var Gg=Za[Na++];if(null==Gg.J)break;var nc=qg(Gg.J),Ii=Ba--,Hg=Dh(a,nc,"history",Ii);(!ue.length||0<=Hg.indexOf(ue[0]))&&a.i(Hg);nc.Jb&&(Na+=nc.Jb,mc-=nc.Jb,Ba-=nc.Jb);Na>=Za.length&&(Na=0);a.xa=Ba;Fg++;mc--}}Fg||(a.i("no "+Eg+"history available"),a.xa=void 0)}else{var cd=wg(a,na);if(cd){var dd=0;Ma&&("l"==Ma.charAt(0)&&(Ma=Ma.substr(1)||hc),dd=eg(a,Ma)>>>0,65536<dd&&(dd=65536));for(var oc="",ed="dd"==ua?4:"dw"==ua?2:1,fd=ed*dd||128,Ji=fd+15>>4||1;Ji--&&0<
Qb)}}}else{if("d"==ua){for(ja in Hb)if(f[1]==ja){var Bg=a.ka[ja];Bg?(f.shift(),f.shift(),Bg(f)):a.i("no dump registered for "+na);break a}na||(ua=a.Da||"db")}else a.Da=ua;if("dh"==ua){var Cg=na,Dg=Ma,Eg="",Fg=0,Na=a.V,$a=a.H;if($a.length){var Ba=+Cg||a.xa,mc=+Dg||10;isNaN(Ba)?Ba=mc:Eg="more ";Ba>$a.length&&(a.i("note: only "+$a.length+" available"),Ba=$a.length);Na-=Ba;0>Na&&(null==$a[$a.length-1].J?(Ba=Na+Ba,Na=0):Na+=$a.length);var ue=[];"call"==Dg&&(mc=1E5,ue=["CALL"]);for(void 0!==Cg&&a.i(Ba+
" instructions earlier:");0<mc&&Na!=a.V;){var Gg=$a[Na++];if(null==Gg.J)break;var nc=qg(Gg.J),Ii=Ba--,Hg=Dh(a,nc,"history",Ii);(!ue.length||0<=Hg.indexOf(ue[0]))&&a.i(Hg);nc.Jb&&(Na+=nc.Jb,mc-=nc.Jb,Ba-=nc.Jb);Na>=$a.length&&(Na=0);a.xa=Ba;Fg++;mc--}}Fg||(a.i("no "+Eg+"history available"),a.xa=void 0)}else{var cd=wg(a,na);if(cd){var dd=0;Ma&&("l"==Ma.charAt(0)&&(Ma=Ma.substr(1)||hc),dd=eg(a,Ma)>>>0,65536<dd&&(dd=65536));for(var oc="",ed="dd"==ua?4:"dw"==ua?2:1,fd=ed*dd||128,Ji=fd+15>>4||1;Ji--&&0<
fd;){var gd=0,ve=0,pc,we="",Ig="",na=$g(cd.J);for(pc=16;0<pc&&0<fd;pc--){var hd=a.Ha(cd,1),gd=gd|hd<<(ve++<<3);ve==ed&&(we+=n(gd,2*ed),we+=1==ed?9==pc?"-":" ":" ",gd=ve=0);Ig+=32<=hd&&128>hd?String.fromCharCode(hd):".";fd--}oc&&(oc+="\n");oc+=na+" "+we+(pc?"":" "+Ig)}oc&&a.i(oc);a.sa=cd}}}}break;case "e":if("else"==f[0])break;var id=1,Jg=255,Kg=a.Ha,Lg=a.Xb;"ew"==f[0]&&(id=2,Jg=65535,Kg=a.Gb,Lg=a.Qc);var Mg=id<<1,Ng=f[1];if(null==Ng)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 jd=wg(a,Ng);if(jd)for(var kd=2;kd<f.length;kd++){var qc=kg(a,f[kd]);if(void 0===qc){a.i("unrecognized value: "+f[kd]);break}qc&~Jg&&a.i("warning: "+n(qc)+" exceeds "+id+"-byte value");var Ki=Kg.call(a,jd);a.i("changing "+$g(jd.J)+" from "+n(Ki,Mg,!0)+" to "+n(qc,Mg,!0));Lg.call(a,jd,qc,id)}}break;case "f":Zh(a,f[1]);break;case "g":a:{var Og=f[1],Li=b;if(void 0!==Og){var xe=wg(a,Og,!0);if(!xe)break a;Zg(a,xe,Li);a.Pa(a.j,xe,!0)}uh(a,!0)||c||a.i("cpu busy or unavailable, run command ignored")}break;
case "h":a:{var ye;if(a.G.ma)ye="halting",a.ea();else{if(Ab(a,!0))break a;ye="already halted"}c||a.i(ye)}break;case "i":if("if"==f[0]){var ze;var rc=b.substr(2),rc=ya(rc);kg(a,rc)?(c||a.i("true: "+rc),ze=!0):(c||a.i("false: "+rc),ze=!1);ze||(d=!1);break}if("int"==f[0]){var ld;var Mi=f[1];if(a.u.N&512){var Ae=kg(a,Mi);null==Ae?ld=!1:(a.i("requesting interrupt level "+Ae),Rd(a.u,Ae),ld=!0)}else a.i("interrupts disabled (use rif=1 to enable)"),ld=!1;ld||(d=!1);break}var Be=f[1];if(Be&&"?"!=Be){var Ce=
eg(a,Be);if(void 0!==Ce){var Ni=bc(a.I,Ce);a.i(q(Ce)+": "+pa(Ni))}}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 Oi=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var De=0,Pg=qg(),sc=qg(a.u.M);for(a.i("stack trace for "+$g(sc.J));10>De;){for(var vb=null,Pi=256;65536>sc.J>>>0;){Pg.J=a.Gb(sc,2);if(null==sc.J||!Pi--)break;for(var Qi=a,md=Pg,
Qg=null,tc=md.J,Rg=tc,Ee=1;6>=Ee&&tc;Ee++){if(2<Ee){md.J=tc;var nd=Dh(Qi,md);if(0<=nd.indexOf("CALL")){var Sg=nd.indexOf(" ");if(tc+(nd.indexOf(" ",Sg+1)-Sg-1)/2==Rg){Qg=nd;break}}}tc--}md.J=Rg;if(vb=Qg)break}if(!vb||null==vb)break;var Tg=null;if("ks"==Oi){var Ug=vb.match(/[0-9A-F]+$/);Ug&&(Tg=ai(a,Ug[0]))}vb=xa(vb,50)+" ;"+(Tg||"stack="+$g(sc.J));a.i(vb);De++}De||a.i("no return addresses found")}break;case "l":"ln"==f[0]&&ai(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 Hb)if(ba==$a){nb=Hb[$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 Fe=0;Fe<a.Z.length;Fe++)a.i(a.Z[Fe]);a.Z=[]}}var Ri=0,uc="";for($a in Hb)if(!ba||ba==$a){var Si=!!(a.ha&Hb[$a]);if(null===
ab||ab==Si)uc&&(uc+=","),++Ri%10||(uc+="\n\t"),"key"==$a&&($a="keys"),uc+=$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")+(uc||"none"));sg(a)}break;case "o":var Ge=f[1],Ti=f[2];if(Ge&&"?"!=Ge){var He=eg(a,Ge,"port #"),Ie=eg(a,Ti);void 0!==He&&void 0!==Ie&&(fc(a.I,He,Ie),a.i(q(He)+": "+pa(Ie)))}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");
eg(a,Be);if(void 0!==Ce){var Ni=bc(a.I,Ce);a.i(q(Ce)+": "+pa(Ni))}}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 Oi=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var De=0,Pg=qg(),sc=qg(a.u.M);for(a.i("stack trace for "+$g(sc.J));10>De;){for(var wb=null,Pi=256;65536>sc.J>>>0;){Pg.J=a.Gb(sc,2);if(null==sc.J||!Pi--)break;for(var Qi=a,md=Pg,
Qg=null,tc=md.J,Rg=tc,Ee=1;6>=Ee&&tc;Ee++){if(2<Ee){md.J=tc;var nd=Dh(Qi,md);if(0<=nd.indexOf("CALL")){var Sg=nd.indexOf(" ");if(tc+(nd.indexOf(" ",Sg+1)-Sg-1)/2==Rg){Qg=nd;break}}}tc--}md.J=Rg;if(wb=Qg)break}if(!wb||null==wb)break;var Tg=null;if("ks"==Oi){var Ug=wb.match(/[0-9A-F]+$/);Ug&&(Tg=ai(a,Ug[0]))}wb=xa(wb,50)+" ;"+(Tg||"stack="+$g(sc.J));a.i(wb);De++}De||a.i("no return addresses found")}break;case "l":"ln"==f[0]&&ai(a,f[1],!0);break;case "m":a:{var ab,bb=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)bb=!0,ba=null;else if("off"==ba)bb=!1,ba=null;else{"keys"==ba&&(ba="key");"kbd"==ba&&(ba="keyboard");for(ab in Hb)if(ba==ab){nb=Hb[ab];bb=!!(a.ha&nb);break}if(!nb){a.i("unknown message category: "+ba);break a}}if(nb)if("on"==f[2])a.ha|=nb,bb=!0;else if("off"==f[2]&&(a.ha&=~nb,bb=!1,1073741824==nb)){for(var Fe=0;Fe<a.Z.length;Fe++)a.i(a.Z[Fe]);a.Z=[]}}var Ri=0,uc="";for(ab in Hb)if(!ba||ba==ab){var Si=!!(a.ha&Hb[ab]);if(null===
bb||bb==Si)uc&&(uc+=","),++Ri%10||(uc+="\n\t"),"key"==ab&&(ab="keys"),uc+=ab}void 0===ba&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.i((null!==bb?bb?"messages on: ":"messages off: ":"message categories:\n\t")+(uc||"none"));sg(a)}break;case "o":var Ge=f[1],Ti=f[2];if(Ge&&"?"!=Ge){var He=eg(a,Ge,"port #"),Ie=eg(a,Ti);void 0!==He&&void 0!==Ie&&(fc(a.I,He,Ie),a.i(q(He)+": "+pa(Ie)))}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]){ci(a,b.substr(5));break}var Vg="pr"==f[0]?1:0,Ui=1+Vg;if(a.O)a.i("step in progress");else{var Je=qg(a.u.j);switch(a.Ha(Je)){case 205:a.O=Ui,yg(Je,3)}a.O?(a.Pa(a.j,Je,!0),uh(a)||(a.R&&a.R.Za(),a.O=0)):di(a,Vg?"tr":"t")}break;case "r":if("reset"==b){a.R&&a.R.reset();break}wh(a,f);break;case "s":bi(a,f);break;case "t":di(a,f[0],f[1]);break;case "u":xh(a,f[1],f[2],8);break;case "v":if("var"==f[0]){$h(a,b.substr(3))||(d=!1);break}a.i("PC8080 version 1.34.3 ("+a.u.xb+",RELEASE"+
(Fb?",TYPEDARRAYS":",LONGARRAYS")+")");a.i(Ha());break;case "?":if(f[1]){ci(a,b.substr(1));break}var Ke="commands:",Le;for(Le in fi)Ke+="\n"+xa(Le,9)+fi[Le];Sd(a)||(Ke+="\nnote: frequency/history disabled if no exec breakpoints");a.i(Ke);break;default:a.i("unknown command: "+b),d=!1}}}catch(Xg){a.i("debugger error: "+(Xg.stack||Xg.message)),d=!1}return d}function Nc(a,b,c){b=a.Ab(b,c);for(var d in b)if(!Ch(a,b[+d]))return!1;return!0}
var fi={"?":"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"},
@ -302,7 +302,7 @@ a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2"
null)}
function bj(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(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,u=/( [a-z]+=)(['"])(.*?)\2/g;p=u.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]*/,"");
a=a.replace(d[0],g);bj(a,b,c)}})}else c(a,null)}
function cj(a,b,c,d){function e(a){if(void 0===h){var b=g&&qb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=va(a))}function f(a){e("Error: "+a);k&&(--Zi||bb(!0));k=!1}var g,h,k=!0;Zi++;hb[a]={};try{if(g=document.getElementById(a)){var p;if("object"==typeof resources&&(p=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=p:v.appendChild(document.createTextNode(p));u.appendChild(v)}c||
(c="/versions/pc8080/1.34.3/components.xsl");p=function(d,h){h?$i(c,null,null,!1,e,function(d,k){k?(gb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Zi||bb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Zi||bb(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?$i(b,a,d,!0,e,p):aj(b,null,a,d,!1,e,p)}else f("missing machine element: "+a)}catch(B){f(B.message)}return k}window.embedPC8080=function(a,b,c,d){bb(!1);return cj(a,b,c,d)};window.findMachineComponent=function(a,b){return mb(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!sb[a]){for(var c=!0,d=sb,e=a,f=b.length,g=[],h=[],k="",p=null,u=0;u<f;u++){var v=b[u];if('"'==v||"'"==v)p&&v!=p?k+=v:(p?p=null:p=v,k&&(h.push(k),k=""));else{if(!p){if("\r"==v||"\n"==v)v=";";if(" "==v||"\t"==v||";"==v){k&&(h.push(k),k="");";"==v&&h.length&&(g.push(h),h=[]);continue}}k+=v}}k&&h.push(k);h.length&&g.push(h);d[e]=g;rb(a)||(c=!1)}return c};window.enableEvents=bb;window.sendEvent=db;})();
function cj(a,b,c,d){function e(a){if(void 0===h){var b=g&&qb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=va(a))}function f(a){e("Error: "+a);k&&(--Zi||Za(!0));k=!1}var g,h,k=!0;Zi++;hb[a]={};try{if(g=document.getElementById(a)){var p;if("object"==typeof resources&&(p=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=p:v.appendChild(document.createTextNode(p));u.appendChild(v)}c||
(c="/versions/pc8080/1.34.3/components.xsl");p=function(d,h){h?$i(c,null,null,!1,e,function(d,k){k?(gb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Zi||Za(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Zi||Za(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?$i(b,a,d,!0,e,p):aj(b,null,a,d,!1,e,p)}else f("missing machine element: "+a)}catch(B){f(B.message)}return k}window.embedPC8080=function(a,b,c,d){Za(!1);return cj(a,b,c,d)};window.findMachineComponent=function(a,b){return mb(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!sb[a]){for(var c=!0,d=sb,e=a,f=b.length,g=[],h=[],k="",p=null,u=0;u<f;u++){var v=b[u];if('"'==v||"'"==v)p&&v!=p?k+=v:(p?p=null:p=v,k&&(h.push(k),k=""));else{if(!p){if("\r"==v||"\n"==v)v=";";if(" "==v||"\t"==v||";"==v){k&&(h.push(k),k="");";"==v&&h.length&&(g.push(h),h=[]);continue}}k+=v}}k&&h.push(k);h.length&&g.push(h);d[e]=g;rb(a)||(c=!1)}return c};window.enableEvents=Za;window.sendEvent=db;})();

View file

@ -100,7 +100,7 @@ function ic(a,b,c,d){a.A.kf[a.A.$i++]={Ll:b,Hd:c,type:d};return Fa(bc,b,c,0,d)}f
function Xb(){for(var a=!1,b=zb(document,"pcx86","panel"),c=0;c<b.length;c++){var d=b[c],e=vb(d),f=tb(e.id);f||(a=!0,f=new Vb(e));yb(f,d);a&&Ib(f)}}var Zb=1280,$b=720,gc=18,jc="Monaco, Lucida Console, Courier New",ac=3*Zb>>2,kc=$b,cc=$b,ec="black",dc=$b>>1;$a(Xb);
function lc(a,b,c){mb.call(this,"Bus",a);this.H=b;this.ba=c;this.I=a.busWidth||20;this.O=Math.pow(2,this.I);this.N=this.C=this.O-1|0;this.A=32==this.I||20>=this.I?12:24>=this.I?14:15;this.B=1<<this.A;this.da=this.B>>2;this.D=this.B-1;this.M=this.O/this.B|0;this.V=this.M-1;this.F=[];this.G=[];this.K=this.L=!1;this.Y=[];this.Z=[];a=new x;mc(a,this.ba);this.aa=Array(this.M);for(b=0;b<this.M;b++)this.aa[b]=a;a=this.H;b=this.aa;c=this.A;a.sc=a.aa=b;a.hb=c;a.Ng=1<<a.hb;a.Db=a.Ng-1;a.Wf=b.length;a.df=a.Wf-
1;a=this.H;a.ef=a.ed=this.C;Ib(this)}ba(lc,mb);l=lc.prototype;l.reset=function(){nc(this,!0)};l.Xb=function(a,b){b||this.reset();return!0};
function oc(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.A;0<g&&h<a.aa.length;){var k=a.aa[h],m=h*a.B,p=a.B-(f-m);p>g&&(p=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.ya)return k.ve+=k.ya-f,k.ya=f,!0;if(f>=k.ya+k.ve){p=k.size-(f-m);p>g&&(p=g);k.ve=f-k.ya+p;f=m+a.B;g-=p;h++;continue}}return pc(a,qc,f,g)}f=new x(f,p,a.B,d,e);mc(f,a.ba,k);a.aa[h++]=f;f=m+a.B;g-=p}return 0>=g?(sc(a.H),a.H.ea.vb||a.status(Math.floor(c/1024)+"Kb "+tc[d]+" at "+q(b)),!0):pc(a,vc,b,c)}
function oc(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.A;0<g&&h<a.aa.length;){var k=a.aa[h],m=h*a.B,p=a.B-(f-m);p>g&&(p=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.ya)return k.ve+=k.ya-f,k.ya=f,!0;if(f>=k.ya+k.ve){p=k.size-(f-m);p>g&&(p=g);k.ve=f-k.ya+p;f=m+a.B;g-=p;h++;continue}}return pc(a,qc,f,g)}f=new x(f,p,a.B,d,e);mc(f,a.ba,k);a.aa[h++]=f;f=m+a.B;g-=p}return 0>=g?(sc(a.H),a.H.ea.vb||a.status(Math.floor(c/1024)+"Kb "+tc[d]+" at "+q(b)),!0):pc(a,uc,b,c)}
function nc(a,b){32==a.I?b?a.J&&(wc(a,1048576,1048576,a.J),a.J=null):a.J||(a.J=xc(a,1048576,1048576),wc(a,1048576,1048576,xc(a,0,1048576))):20<a.I&&(b=a.C&-1048577|(b?1048576:0),b!=a.C&&(a.C=b,a.H&&(a=a.H,a.ef=a.ed=b)))}l.Kg=function(a,b,c,d){if(!(a&this.D||!b||b&this.D)){for(var e=a>>>this.A;0<b;){var f=this.aa[e];if(!f.controller)return pc(this,yc,a,b,d);zc(f,c,!0);b-=this.B;e++}return!0}return pc(this,Ac,a,b)};
function Bc(a,b,c){if(!(b&a.D||!c||c&a.D)){for(var d=b>>>a.A;0<c;){var e=a.aa[d];b=new x(b);mc(b,a.ba,e);a.aa[d++]=b;b=d*a.B;c-=a.B}sc(a.H);return!0}return pc(a,Cc,b,c)}function xc(a,b,c){var d=[];for(b>>>=a.A;0<c&&b<a.aa.length;)d.push(a.aa[b++]),c-=a.B;return d}
function wc(a,b,c,d,e){for(var f=0,g=b>>>a.A;0<c&&g<a.aa.length;){var h=d[f++];if(!h)break;if(void 0!==e){var k=new x(b),m=k,p=e,v=a.ba;m.id=h.id|1;m.ve=h.ve;m.size=h.size;p&&(m.type=p,m.D=p==Dc);Nb?(m.I=h.I,m.G=h.G,m.Pa=h.Pa,m.Rd=h.Rd,m.X=h.X,zc(m,Ec?Fc:Gc)):(m.X=h.X,zc(m,Hc));mc(m,v,h);h=k}a.aa[g++]=h;c-=a.B}}l.Ia=function(a){return this.aa[(a&this.C)>>>this.A].Bc(a&this.D,a)};function Ic(a,b){var c=b&a.D,d=(b&a.C)>>>a.A;return c!=a.D?a.aa[d].Nf(c,b):a.aa[d++].Zd(c,b)|a.aa[d&a.V].Zd(0,b+1)<<8}
@ -109,7 +109,7 @@ function Kc(a,b){var c=0,d=[],e=!a.J&&a.N==a.C;e||nc(a,!0);for(var f=0;f<a.M;f++
function Nc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.F[k]?gb("Input port "+sa(k)+" already registered"):f.F[k]=[h,!1]}}function Oc(a,b,c,d){for(var e=0,f=0;0<c;){var g=a.F[b],h=a.Y[b]||1,k=1==h?255:2==h?65535:-1,m=k;void 0!==g?(g[0]&&(m=g[0](b,d),void 0===m?m=k:m&=k),a.ba&&a.K!=g[1]&&Pc(a.ba,b,m)):a.ba&&(Mb(a.ba,a,b,null,d),a.K&&Pc(a.ba,b,m));e|=m<<f;f+=h<<3;b+=h;c-=h}return e}
function Qc(a,b){if(null==b)return a.L=!a.L,a.L;void 0===a.G[b]&&(a.G[b]=[null,!1]);a.G[b][1]=!a.G[b][1];return a.G[b][1]}function Rc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.G[k]?gb("Output port "+sa(k)+" already registered"):f.G[k]=[h,!1]}}
function Sc(a,b,c,d,e){for(var f=0;0<c;){var g=a.G[b],h=a.Z[b]||1,k=1==h?255:2==h?65535:-1,k=(d>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ba&&a.L!=g[1]&&Tc(a.ba,b,k)}else a.ba&&(Mb(a.ba,a,b,k,e),a.L&&Tc(a.ba,b,k));f+=h<<3;b+=h;c-=h}}function pc(a,b,c,d,e){b="Memory block error ("+b+": "+q(c)+","+q(d)+")";e?a.ba?a.ba.message(b):a.log(b):gb(b);return!1}var bc,Uc={Hk:20,count:8,bq:1,type:3},Vc=0,Wc;for(Wc in Uc){var Xc=Uc[Wc];Uc[Wc]={nh:(1<<Xc)-1<<Vc,shift:Vc};Vc+=Xc}bc=Uc;
var qc=1,vc=2,yc=3,Ac=4,Cc=5,Yc;if(Nb){var Zc=new ArrayBuffer(2);(new DataView(Zc)).setUint16(0,256,!0);Yc=256===(new Uint16Array(Zc))[0]}else Yc=!1;var Ec=Yc;
var qc=1,uc=2,yc=3,Ac=4,Cc=5,Yc;if(Nb){var Zc=new ArrayBuffer(2);(new DataView(Zc)).setUint16(0,256,!0);Yc=256===(new Uint16Array(Zc))[0]}else Yc=!1;var Ec=Yc;
function x(a,b,c,d,e,f){this.id=$c+=2;this.X=null;this.H=0;this.ya=a;this.ve=b;this.size=c||0;this.type=d||ad;this.D=d==Dc;this.controller=null;this.C=f;mc(this);this.Oa=this.qj=!1;if(c)if(e)this.controller=e,a=e.vj(a),this.X=a[0],this.H=a[1],zc(this,e.fh());else if(Nb)this.I=new ArrayBuffer(c),this.G=new DataView(this.I,0,c),this.Pa=new Uint8Array(this.I,0,c),this.Rd=new Uint16Array(this.I,0,c>>1),this.X=new Int32Array(this.I,0,c>>2),zc(this,Ec?Fc:Gc);else{this.X=Array(c>>2);for(e=0;e<this.X.length;e++)this.X[e]=
0;zc(this,Hc)}else zc(this)}l=x.prototype;l.ih=function(a){this.ya=a};l.save=function(){var a,b;if(this.controller)a=null;else if(Nb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.X;return a};l.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Nb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.X=a;return this.Oa=!0}return!1};function zc(a,b,c){b||(b=a.type==bd?cd:a.type==dd?ed:fd);gd(a,b,c);hd(a,b,c)}
function gd(a,b,c){c&&a.he||(a.Bc=b[0]||a.Tk,a.Mf=b[2]||a.Uk,a.Nd=b[4]||a.Rk);if(c||void 0===c)a.Zd=b[0]||a.Tk,a.Nf=b[2]||a.Uk,a.ji=b[4]||a.Rk}function hd(a,b,c){c&&a.ie||(a.Dc=!a.D&&b[1]||a.cf,a.Tf=!a.D&&b[3]||a.pi,a.Sf=!a.D&&b[5]||a.oi);if(c||void 0===c)a.bf=b[1]||a.cf,a.ri=b[3]||a.pi,a.K=b[5]||a.oi}function id(a){a.Bc=a.Zd;a.Mf=a.Nf;a.Nd=a.ji}function nd(a){a.Dc=a.D?a.cf:a.bf;a.Tf=a.D?a.pi:a.ri;a.Sf=a.D?a.oi:a.K}
@ -153,9 +153,9 @@ d.M),d.ab(g+64,d.K),d.ab(g+68,d.J),d.ab(g+72,d.oa.U),d.ab(g+76,d.Z.U),d.ab(g+80,
g)));c&&d.fb(h+0,f);d.qa|=8;return!0}l.save=function(){return[this.U,this.ua,this.Ka,this.lb,this.id,this.$b,this.Ab,this.qc,this.Lb,this.Jc,this.wa,this.W,this.R,this.type,this.Nb]};l.restore=function(a){"number"==typeof a?this.load(a):(this.U=a[0],this.ua=a[1],this.Ka=a[2],this.lb=a[3],this.id=a[4],this.$b=a[5],this.Ab=a[6],this.qc=a[7],this.Lb=a[8],this.Jc=a[9]||2,this.wa=a[10]||65535,this.W=a[11]||2,this.R=a[12]||65535,this.type=a[13]||this.lb&7936,this.Nb=a[14]||(this.Ka>>>0)+1)};
function Vd(a,b,c,d){void 0===c&&(c=!!(a.gc.qa&1));a.Oc=!1;if(c)if(a.load=a.qg,a.Cj=a.fn,a.bc=a.cj,a.cc=a.ej,void 0===d&&(d=!!(a.gc.O&131072)),d)a.load=a.G,a.bc=a.D,a.cc=a.F,a.Ab=a.qc=3,a.W=2,a.R=a.wa=65535,a.Ka=65535,a.Nb=a.Ka+1,a.Jc=a.W,a.Lb=-1,a.Pe=!1;else{if(!(a.U&-4))a.bc=a.kg,a.cc=a.lg;else if(a.type&4096){6144==(a.type&6656)&&(a.bc=a.kg);if(a.type&2048||!(a.type&512))a.cc=a.lg;1024==(a.type&3072)&&(a.bc==a.cj&&(a.bc=a.zl),a.cc==a.ej&&(a.cc=a.Al),a.Oc=!0);b&&a.id<Zd&&a.U&-4&&-1!==a.Lb&&(c=a.Lb+
5,d=a.gc.Ia(c),d&1||a.gc.fc(c,d|1))}b&&(a.Ab=a.U&3,a.qc=(a.lb&24576)>>13,80386>a.gc.ca||!(a.ext&64)?(a.W=2,a.R=65535):(a.W=4,a.R=-1),a.Jc=a.W,a.wa=a.R)}else a.load=a.mh,a.Cj=a.gn,a.bc=a.dj,a.cc=a.fj,a.Ab=a.qc=0,a.Lb=-1,a.Pe=!1}var de=1,pe=2,$d=3,be=4,Zd=6,Xd=1;
function ue(a){var b=+a.model||8088,c;switch(b){default:c=4772727;break;case 80286:c=6E6;break;case 80386:c=16E6}wd.call(this,a,c);this.ca=b;a=a.stepping;this.we=b+(a?oa(a,16):0);this.Ri=61442;this.Qd=1792;this.si=28672;this.Vf=4;this.Ta=255;this.B=80286<=this.ca?Pb:Ob;this.va=ve;this.bj=Ae;this.ij=Be;this.nj=Ce;if(80186<=this.ca&&(this.va=ve.slice(),this.bj=Ae.slice(),this.ij=Be.slice(),this.Ta=31,this.va[15]=De,this.va[96]=Ee,this.va[97]=Fe,this.va[98]=Ge,this.va[99]=De,this.va[100]=De,this.va[101]=
function ue(a){var b=+a.model||8088,c;switch(b){default:c=4772727;break;case 80286:c=6E6;break;case 80386:c=16E6}wd.call(this,a,c);this.ca=b;a=a.stepping;this.we=b+(a?oa(a,16):0);this.Ri=61442;this.Qd=1792;this.si=28672;this.Vf=4;this.Ta=255;this.B=80286<=this.ca?Pb:Ob;this.va=ve;this.bj=we;this.ij=Be;this.nj=Ce;if(80186<=this.ca&&(this.va=ve.slice(),this.bj=we.slice(),this.ij=Be.slice(),this.Ta=31,this.va[15]=De,this.va[96]=Ee,this.va[97]=Fe,this.va[98]=Ge,this.va[99]=De,this.va[100]=De,this.va[101]=
De,this.va[102]=De,this.va[103]=De,this.va[104]=He,this.va[105]=Ie,this.va[106]=Je,this.va[107]=Ke,this.va[108]=Le,this.va[109]=Me,this.va[110]=Ne,this.va[111]=Oe,this.va[192]=Pe,this.va[193]=Qe,this.va[200]=Re,this.va[201]=Se,this.va[241]=Te,this.bj[7]=Ue,this.ij[7]=Ue,80286<=this.ca)){this.Ri=2;this.Qd|=28672;this.Vf=0;this.va[15]=Ve;this.Pd=We.slice();for(b=0;b<this.Pd.length;b++)this.Pd[b]||(this.Pd[b]=Xe);this.va[84]=Ye;this.va[99]=Ze;if(80386<=this.ca){var d;this.si=0;this.Qd|=196608;this.va[100]=
$e;this.va[101]=af;this.va[102]=bf;this.va[103]=cf;for(d in B)this.Pd[+d]=B[+d];80546<=this.we&&80562>=this.we&&(this.Pd[166]=gf,this.Pd[167]=hf)}}this.Yf=[];this.Zf=[];this.ag=0;zd(this);this.ea.complete=this.ea.jj=!1;this.tj=0;this.sc=this.aa=[];this.hb=this.Ng=this.Db=this.Wf=this.df=this.ef=this.ed=0;jf(this)}ba(ue,wd);function kf(a,b,c,d){b=(d?a.sc:a.aa)[b>>>a.hb];c?--b.ie||nd(b):--b.he||id(b);d&&sc(a)}
$e;this.va[101]=af;this.va[102]=bf;this.va[103]=cf;for(d in B)this.Pd[+d]=B[+d];80546<=this.we&&80562>=this.we&&(this.Pd[166]=df,this.Pd[167]=hf)}}this.Yf=[];this.Zf=[];this.ag=0;zd(this);this.ea.complete=this.ea.jj=!1;this.tj=0;this.sc=this.aa=[];this.hb=this.Ng=this.Db=this.Wf=this.df=this.ef=this.ed=0;jf(this)}ba(ue,wd);function kf(a,b,c,d){b=(d?a.sc:a.aa)[b>>>a.hb];c?--b.ie||nd(b):--b.he||id(b);d&&sc(a)}
function lf(a){var b;if(a.aa===a.sc){a.aa=Array(a.Wf);a.$f=new x(null,0,0,bd,null,a);mc(a.$f,a.ba);for(b=0;b<a.Wf;b++)a.aa[b]=a.$f;a.ff=new x;a.Zi=Array(mf);a.bg=0}else for(var c=0;c<a.Xf.length;c++){b=a.Xf[c];var d=a.aa[b];a.bg<mf&&(a.Zi[a.bg++]=d);a.aa[b]=a.$f}a.Xf=[]}function sc(a){a.qa&-2147483648&&lf(a)}
function sd(a,b,c,d){var e=(b&-4194304)>>>20,f=a.sc[(a.Wc+e&a.ef)>>>a.hb],g=f.Nd(e);if(!(g&1))return d||nf.call(a,b,!1,c),a.ff;if(!(g&4)&&3==a.Ma)return d||nf.call(a,b,!0,c),a.ff;var h=(b&4190208)>>>10,g=a.sc[((g&-4096)+h&a.ef)>>>a.hb],k=g.Nd(h);if(!(k&1))return d||nf.call(a,b,!1,c),a.ff;if(!(k&4)&&3==a.Ma)return d||nf.call(a,b,!0,c),a.ff;c=a.sc[((k&-4096)+(b&4095)&a.ef)>>>a.hb];if(d)return c;d=b>>>a.hb;k=a.aa[d];b&=-4096;var m;0<a.bg?(m=a.Zi[--a.bg],m.ih(b)):m=new x(b,0,0,dd);b=m;b.pd=c;b.nb=f;b.A=
e>>2;b.ob=g;b.B=h>>2;Nb&&Ec&&c.X&&!c.controller&&!c.he&&!c.ie?(b.Pa=c.Pa,b.Rd=c.Rd,b.X=c.X,zc(b,vd)):(b.F=c?td(32):0,b.J=c?td(96):0,zc(b,ed));mc(b,a.ba,k);a.aa[d]=b;a.Xf.push(d);return b}function of(a){a.aa!==a.sc&&(a.aa=a.sc,a.$f=null,a.Xf=null,a.ff=null)}l=ue.prototype;l.reset=function(){this.ea.vb&&this.Jb();jf(this);zd(this);this.ea.error=!1};
@ -382,7 +382,7 @@ ug(this,a,1,!0)&&(this.D=this.D&-256|Oc(this.ka,a,1,this.da-2)&255,this.A-=this.
this.B.Lj},function(){var a=this.Ea();C(this,A(this)+a);this.A-=this.B.Dh},function(){se(this,this.Ea(),Gg(this));this.A-=this.B.hk},function(){var a=this.S();C(this,A(this)+a);this.A-=this.B.Dh},function(){var a=this.L&65535;ug(this,a,1,!0)&&(this.D=this.D&-256|Oc(this.ka,a,1,this.da-1)&255,this.A-=this.B.Bh)},function(){var a=this.L&65535;ug(this,a,this.W,!0)&&(this.D=this.D&~this.R|Oc(this.ka,a,this.W,this.da-1)&this.R,this.A-=this.B.Bh)},function(){var a=this.L&65535;ug(this,a,1,!1)&&(Sc(this.ka,
a,1,this.D&255,this.da-1),this.A-=this.B.Ph)},function(){var a=this.L&65535;ug(this,a,2,!1)&&(Sc(this.ka,a,this.W,this.D&this.R,this.da-1),this.A-=this.B.Ph)},Rk,Rk,function(){this.N|=132;this.A-=this.B.bd},function(){this.N|=68;this.A-=this.B.bd},function(){this.O&131072?y.call(this,13,0):(this.Xa|=4,this.A-=2,this.ba&&t(this,-2147483648)?(ag(this),this.ba.Jb()):this.O&512||(this.ba&&ag(this),this.Jb()))},function(){cg(this)?kg(this):jg(this);this.A-=2},function(){this.vc=!1;this.kd.call(this,Wk,
fk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R)},function(){this.vc=!1;this.ib.call(this,Xk,fk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R,this.L=this.L&~this.R|this.Ya&this.R)},function(){kg(this);this.A-=2},function(){jg(this);this.A-=2},function(){this.Ma>this.lc?y.call(this,13,0):(this.O&=-513,this.A-=this.B.Jj)},function(){this.Ma>this.lc?y.call(this,13,0):(this.O|=512,this.N|=4,this.A-=2)},function(){this.O&=-1025;this.A-=2},function(){this.O|=1024;this.A-=2},function(){this.kd.call(this,
Ae,fk)},function(){this.ib.call(this,Be,fk)}],Ek=[ki,hj,ii,jj,mi,Mj,Uj,Ai],Sk=[li,ij,ji,kj,ni,Nj,Vj,Bi],Tk=[function(a,b){this.A-=-1===this.F?this.B.nc:this.B.yk;return b},Di,Di,Di,Di,Di,Di,Di],Uk=[function(a,b){this.A-=-1===this.F?this.B.qk:this.B.nk;return b},Ei,Ei,Ei,Ei,Ei,Ei,Ei],Jk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<b-1,c=(a<<b|a>>8-b)&255):d=a<<7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;ng(this,c,d,128)}return c},
we,fk)},function(){this.ib.call(this,Be,fk)}],Ek=[ki,hj,ii,jj,mi,Mj,Uj,Ai],Sk=[li,ij,ji,kj,ni,Nj,Vj,Bi],Tk=[function(a,b){this.A-=-1===this.F?this.B.nc:this.B.yk;return b},Di,Di,Di,Di,Di,Di,Di],Uk=[function(a,b){this.A-=-1===this.F?this.B.qk:this.B.nk;return b},Ei,Ei,Ei,Ei,Ei,Ei,Ei],Jk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<b-1,c=(a<<b|a>>8-b)&255):d=a<<7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;ng(this,c,d,128)}return c},
function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=9)?(c=(a<<b|d<<b-1|a>>9-b)&255,d=a<<b-1):d<<=7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=9)?(c=(a>>b|d<<8-b|a<<9-b)&255,d=a<<8-b):d<<=7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=0;8<b?c=0:(d=a<<b-1,c=d<<1&255);ig(this,c,128,d&128,(c^d)&128)}return c},function(a,b){if(b&=this.Ta)b=8<b?0:a>>>b-1,a=b>>>1&255,ig(this,a,128,b&1,a&128);return a},Ei,function(a,b){if(b&=this.Ta)9<b&&
(b=9),b=a<<24>>24>>b-1,a=b>>1&255,ig(this,a,128,b&1);return a}],Kk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=15)?(d=a<<b-1,c=(a<<b|a>>16-b)&65535):d=a<<15;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=15)?(d=a<<16-b,c=(a>>>b|d)&65535):d=a;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=17)?(c=(a<<b|d<<b-1|a>>17-b)&65535,d=a<<b-1):d<<=15;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=17)?
(c=(a>>b|d<<16-b|a<<17-b)&65535,d=a<<16-b):d<<=15;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=0;16<b?c=0:(d=a<<b-1,c=d<<1&65535);ig(this,c,32768,d&32768,(c^d)&32768)}return c},function(a,b){if(b&=this.Ta)b=16<b?0:a>>>b-1,a=b>>>1&65535,ig(this,a,32768,b&1,a&32768);return a},Ei,function(a,b){if(b&=this.Ta)17<b&&(b=17),b=a<<16>>16>>b-1,a=b>>1&65535,ig(this,a,32768,b&1);return a}],Lk=[function(a,b){var c=a;if(b&=this.Ta)c=a<<b|a>>>32-b,ng(this,c,a<<b-1,-2147483648);return c},
@ -392,10 +392,10 @@ b&1,a&-2147483648);return a},Ei,function(a,b){if(b&=this.Ta)b=a>>b-1,a=b>>1,ig(t
(b=this.D<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ca&&-128==d)return lk.call(this),a;this.Ba=d&255|(b%c&255)<<8;this.vc=!0;this.A-=-1===this.C?this.B.Vj:this.B.Uj;this.N|=2;return a}],Xk=[function(a,b){b=this.Ea();ig(this,a&b,this.Fb);this.A-=-1===this.C?this.B.ai:this.B.$h;this.N|=2;return a},Ei,function(a){this.A-=-1===this.C?this.B.Ff:this.B.Ef;return a^this.R},function(a){var b=-a|0;bg(this,0,a,b,this.Fb|63,!0);this.A-=-1===this.C?this.B.Ff:this.B.Ef;return b&this.R},function(a,b){2==this.W?
(b=this.D&65535,b=b*a|0,this.Ba=b&65535,this.Ya=b>>16&65535):(Ki.call(this,a,this.D),80563==this.we&&68657152==this.D&&129==a&&(this.Ya=0));this.Ya?(jg(this),lg(this)):(kg(this),mg(this));this.vc=!0;this.A-=-1===this.C?this.B.wk:this.B.vk;this.N|=2;return a},function(a,b){2==this.W?(b=this.D&65535,b=(b<<16>>16)*(a<<16>>16)|0,this.Ba=b&65535,this.Ya=b>>16&65535,b=32767<b||-32768>b):(Ji.call(this,a,this.D),b=this.Ya!=this.Ba>>31);b?(jg(this),lg(this)):(kg(this),mg(this));this.vc=!0;this.A-=-1===this.C?
this.B.ak:this.B.$j;this.N|=2;return a},function(a,b){if(2==this.W){if(!a)return lk.call(this),a;b=65536*(this.L&65535)+(this.D&65535);var c=b/a;if(65536<=c)return lk.call(this),a;this.Ba=c&65535;this.Ya=b%a&65535}else{if(!Yj.call(this,this.D,this.L,a))return lk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.C?this.B.Tj:this.B.Sj;this.N|=2;return a},function(a,b){if(2==this.W){if(!a)return lk.call(this),a;var c=a<<16>>16,d=(b=this.L<<16|this.D&65535)/c|0;if(d!=d<<16>>16||8086==this.ca&&
-32768==d)return lk.call(this),a;this.Ba=d&65535;this.Ya=b%c&65535}else{b=this.D;var c=this.L,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!Yj.call(this,b,c,d)||this.Ba>2147483647+e||this.Ya>2147483647+f?b=!1:(e&&(this.Ba=-this.Ba),f&&(this.Ya=-this.Ya),b=!0);if(!b)return lk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.C?this.B.Xj:this.B.Wj;this.N|=2;return a}],Ae=[function(a){var b=a+1|0;bg(this,a,1,b,190);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&
-32768==d)return lk.call(this),a;this.Ba=d&65535;this.Ya=b%c&65535}else{b=this.D;var c=this.L,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!Yj.call(this,b,c,d)||this.Ba>2147483647+e||this.Ya>2147483647+f?b=!1:(e&&(this.Ba=-this.Ba),f&&(this.Ya=-this.Ya),b=!0);if(!b)return lk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.C?this.B.Xj:this.B.Wj;this.N|=2;return a}],we=[function(a){var b=a+1|0;bg(this,a,1,b,190);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&
255},function(a){var b=a-1|0;bg(this,a,1,b,190,!0);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&255},Ei,Ei,Ei,Ei,Ei,Ei],Be=[function(a){var b=a+1|0;bg(this,a,1,b,this.Fb|62);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&this.R},function(a){var b=a-1|0;bg(this,a,1,b,this.Fb|62,!0);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&this.R},function(a){oe(this,A(this));C(this,a);this.A-=-1===this.C?this.B.Pj:this.B.Oj;this.N|=2;return a},function(a){if(-1===this.C)return Ei.call(this,a);this.ta=
this.Aa;hk.call(this,a,this.ja(this.C+this.W));this.A-=this.B.Mj;this.N|=2;this.ta=-1;return a},function(a){C(this,a);this.A-=-1===this.C?this.B.jk:this.B.ik;this.N|=2;return a},function(a){if(-1===this.C)return Ei.call(this,a);se(this,a,this.ja(this.C+this.W));this.A-=this.B.gk;this.N|=2;return a},function(a){var b=a;this.N&512&&(a=a-2&65535,80286>this.ca&&(b=a));oe(this,b);this.A-=-1===this.C?this.B.Ic:this.B.Ak;this.N|=2;return a},Ei];
function gf(){this.ma.call(this,Rj);this.A-=-1===this.C?6:13}function hf(){this.za.call(this,Qj);this.A-=-1===this.C?12:19}var We=Array(256);We[0]=function(){16>(this.Ia(this.da)&56)&&(this.N|=1);this.ib.call(this,this.nj,fk)};We[1]=function(){this.Ia(this.da)&16||(this.N|=1);this.ib.call(this,Yk,fk)};We[2]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Li)};We[3]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Ri)};
function df(){this.ma.call(this,Rj);this.A-=-1===this.C?6:13}function hf(){this.za.call(this,Qj);this.A-=-1===this.C?12:19}var We=Array(256);We[0]=function(){16>(this.Ia(this.da)&56)&&(this.N|=1);this.ib.call(this,this.nj,fk)};We[1]=function(){this.Ia(this.da)&16||(this.N|=1);this.ib.call(this,Yk,fk)};We[2]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Li)};We[3]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Ri)};
We[5]=function(){this.Ma?y.call(this,13,0,0,!0):(tg(this,this.ja(2054)),this.J=this.ja(2086),this.K=this.ja(2088),this.M=this.ja(2090),this.G=this.ja(2094),this.L=this.ja(2096),this.I=this.ja(2098),this.D=this.ja(2100),ce(this.oa,2102,this.ja(2084)),ce(this.Z,2108,this.ja(2082)),ce(this.Y,2114,this.ja(2080)),ce(this.Ca,2120,this.ja(2078)),re(this,this.ja(2072)),C(this,this.ja(2074)),ge(this,this.ja(2092)),this.Kb=this.ja(2126)|this.Ia(2128)<<16,this.Pc=this.Kb+this.ja(2130),this.Pb=this.ja(2138)|
this.Ia(2140)<<16,this.cd=this.Pb+this.ja(2142),ce(this.Eb,2132,this.ja(2076)),ce(this.la,2144,this.ja(2070)),this.A-=195)};We[6]=function(){this.Ma?y.call(this,13,0):(this.qa&=-9,this.A-=2)};We[11]=De;We[166]=De;We[255]=De;var B=[];B[5]=De;
B[7]=function(){if(this.Ma)y.call(this,13,0,0,!0);else{var a=this.oa.bc(this.J&this.wa,204);if(-1!==a){ak.call(this,this.ia(a));var b=this.ia(a+168),c=(b&24576)>>13;re(this,this.ia(a+4),c);this.Kb=this.ia(a+112);this.Pc=this.Kb+this.ia(a+116);this.Pb=this.ia(a+100);this.cd=this.Pb+this.ia(a+104);ae(this.Eb,this.ia(a+56),this.ia(a+120),this.ia(a+124),this.ia(a+128));ae(this.la,this.ia(a+52),this.ia(a+84),this.ia(a+88),this.ia(a+92));this.J=this.ia(a+12);this.K=this.ia(a+16);this.M=this.ia(a+20);this.G=
@ -559,8 +559,8 @@ function ks(a,b,c,d){if(d)a.Fa("Unable to load font ROM (error "+d+": "+b+")");e
function Ps(a,b){if(1==b)return a.ha[0]=Qs[Ks],a.ha[1]=Qs[Is],a.ha;if(2==b){var c=a.C.Ze;if(a.C===a.A){var d=a.A.Cc[0],c=d&7;d&16&&(c|=8);18!=a.A.Cc[1]&&(c|=32)}a.ha[0]=Qs[c&15];c=c&32?Rs:Ss;for(d=0;d<c.length;d++)a.ha[d+1]=Qs[c[d]];return a.ha}if(a.K===a.yb)return Qs;a.Ga&&b&&!a.ha[16]&&(a.Ga=!1);if(!a.Ga){var c=a.A,d=c.$e,e,f,g,h;if(8==b)for(e=0;256>e;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.ha[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.Cc[15]?c.Cc:Ts;for(e=0;16>e;e++)f=b[e]&63,k?(f|=
(c.Cc[20]&12)<<4,c.Cc[16]&128&&(f&=-49,f|=(c.Cc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.ha[e]=[g,h,f,255]}a.Ga=!0}return a.ha}function bq(a,b,c,d){a.wb=b;a.Ta=c;a.Da=d}
function Fs(a,b){var c=!1;if(window&&a.wb&&(!b||a.I)){b=0;var d=a.Da?a.Da:8,e=Ps(a);null!=a.Ta[0]&&Us(a,Vs,a.Ta[0],b,d,8,a.wb,e)&&(c=!0);b=a.Da?0:2048;d=a.Da?a.Da:9;null!=a.Ta[1]&&(Us(a,Ws,a.Ta[1],b,d,14,a.wb,Xs,Ys)&&(c=!0),a.Da&&Us(a,a.La,a.Ta[1],0,a.Da,14,a.wb,e)&&(c=!0))}return c}function Us(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(Zs(a,b,c,d,e,f,g,h,k)&&(m=!0),a.Cd&&Zs(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
function Zs(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,v=a.va[b],u=16>h.length?h.length:16;v||(v={Fc:e<<p,Gc:f<<p,Be:Array(u),Qi:h.slice(0,u),jf:k,Sg:Array(u)});for(k=0;k<u;k++){var E=h[k],G=v.Be[k]?v.Qi[k]:[];if(E[0]!==G[0]||E[1]!==G[1]||E[2]!==G[2]){var m=v,G=k,I=p,J=c,T=d,L=e,ua=f,ca=g,xb=[0,0,0,0],za=document.createElement("canvas");za.width=m.Fc<<4;za.height=m.Gc<<4;var cb=za.getContext("2d"),Sa,rb,db,rc=8>ua||!T?ua:8,ib=cb.createImageData(m.Fc,m.Gc);for(Sa=0;256>Sa;Sa++){for(db=0;db<ua;db++)for(var df=
m.jf&&G&1&&db>=ua-2,Ld=ca[db<rc?J+Sa*rc+db:T+Sa*rc+db-rc],ef=0;ef<=I;ef++)for(rb=0;rb<L;rb++){var vg=rb<<I,ff=(db<<I)+ef,wg=df||Ld&128>>(8<=rb&&192<=Sa&&223>=Sa?7:rb)?E:xb;$s(ib,vg,ff,wg);I&&$s(ib,vg+1,ff,wg)}cb.putImageData(ib,(Sa&15)*m.Fc,(Sa>>4)*m.Gc)}m.Be[G]="#"+q(E[0],2)+q(E[1],2)+q(E[2],2);m.Qi[G]=E;m.Sg[G]=za;m=!0}}a.va[b]=v;return m}function at(a){0<a.xa||0<=a.aa?0>a.Aa&&(a.Aa=0):a.Aa=-1}
function Zs(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,v=a.va[b],u=16>h.length?h.length:16;v||(v={Fc:e<<p,Gc:f<<p,Be:Array(u),Qi:h.slice(0,u),jf:k,Sg:Array(u)});for(k=0;k<u;k++){var E=h[k],G=v.Be[k]?v.Qi[k]:[];if(E[0]!==G[0]||E[1]!==G[1]||E[2]!==G[2]){var m=v,G=k,I=p,J=c,T=d,L=e,ua=f,ca=g,xb=[0,0,0,0],za=document.createElement("canvas");za.width=m.Fc<<4;za.height=m.Gc<<4;var cb=za.getContext("2d"),Sa,rb,db,rc=8>ua||!T?ua:8,ib=cb.createImageData(m.Fc,m.Gc);for(Sa=0;256>Sa;Sa++){for(db=0;db<ua;db++)for(var ef=
m.jf&&G&1&&db>=ua-2,Ld=ca[db<rc?J+Sa*rc+db:T+Sa*rc+db-rc],ff=0;ff<=I;ff++)for(rb=0;rb<L;rb++){var vg=rb<<I,gf=(db<<I)+ff,wg=ef||Ld&128>>(8<=rb&&192<=Sa&&223>=Sa?7:rb)?E:xb;$s(ib,vg,gf,wg);I&&$s(ib,vg+1,gf,wg)}cb.putImageData(ib,(Sa&15)*m.Fc,(Sa>>4)*m.Gc)}m.Be[G]="#"+q(E[0],2)+q(E[1],2)+q(E[2],2);m.Qi[G]=E;m.Sg[G]=za;m=!0}}a.va[b]=v;return m}function at(a){0<a.xa||0<=a.aa?0>a.Aa&&(a.Aa=0):a.Aa=-1}
function Os(a){if(a.I){for(var b=10;15>=b;b++)if(null==a.C.Wa[b])return;var c=a.C.Wa[10],b=c&31,d=a.C.Wa[11]&31,e=a.C.Wa[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)bt(a);else{c=a.C.Wa[15]+((a.C.Wa[14]&63)<<8);a.aa!=c&&(bt(a),a.aa=c);d=d-b+1;if(a.md!=b||a.Hc!=d)a.md=b,a.Hc=d;a.za=e+1;at(a)}}}
function bt(a){if(0<=a.aa){if(void 0!==a.M){var b=ct<<8,c=a.M[a.aa];if(c&b){var c=c&~b,b=a.aa%a.F,d=a.aa/a.F|0;a.I&&a.va[a.I]&&(a.Ca&&dt(a,b,d,c,a.Ca),dt(a,b,d,c));a.M[a.aa]=c}}a.aa=-1}}
function et(a){var b,c=a.C;a.Pc=!1;var d=c.xd[5];if(null!=d){b=tr;var e=vr,f=c.xd[3]&31;switch(d&3){case 0:if(f){e=vr|32;switch(f&24){case 8:e=vr|96;break;case 16:e=vr|160;break;case 24:e=vr|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==cq&&(e=3,c.Qc=f&7)}d&8&&(b=1280);c=c.$d[4];null!=c&&(c&4||(b|=ur,e|=wr),d&64&&(c&8&&(b|=16384,e|=4),a.Pc=!0));b|=e}return b}
@ -725,7 +725,7 @@ function cy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b
function ey(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=cy(a,b,'"',7,5);if(!b)return d;b=cy(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Yx(a,b,0,b.length,a.D,c);void 0!==d&&e&&fy(a,null,d)}return d}
function gy(a,b){var c,d=a.ha[0],e=a.ha[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=ey(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?dy(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[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.Z-a.la}if(null==
e)break;b=b.replace(d[0],e.toString())}return b}function $x(a,b){for(;b;){switch(b&3){case 1:a=-Wx(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
function Zx(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.gh(b);if(0<=f)f=a.hh(f);else if(f=b,a.I[f]?f=a.I[f].value:(f=f.substr(0,6),f=a.I[f]&&a.I[f].value),null!=f){var h=a.I[b]&&a.I[b].Qo;h&&(g?g.push(h):(a.P(b+" is undefined ("+h+")"),f=void 0))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=Wx($x(f,e)):d||a.P("invalid "+(c?c:"value")+": "+b)}else d||a.P("missing "+(c||"value"));return f}
function Zx(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.gh(b);if(0<=f)f=a.hh(f);else if(f=b,a.I[f]?f=a.I[f].value:(f=f.substr(0,6),f=a.I[f]&&a.I[f].value),null!=f){var h=a.I[b]&&a.I[b].Qo;h&&(g?g.push(h):(g=ey(a,h,!1),void 0!==g?f+=g:(a.P(b+" = "+dy(a,f)+" + ("+h+")"),f=void 0)))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=Wx($x(f,e)):d||a.P("invalid "+(c?c:"value")+": "+b)}else d||a.P("missing "+(c||"value"));return f}
function fy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.D?dy(a,c,32,8,1)+" "+c+".":dy(a,c,32,16,1)+" "+dy(a,c,32,8,1)+" "+dy(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function hy(a,b){var c=0;if(a.I){if(b)return fy(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)fy(a,b[d],a.I[b[d]].value),c++}return 0<c}
function dy(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=qa(b,0<c?c:0,e);break;case 8:b=ra(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
var by={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},ay={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
@ -807,18 +807,18 @@ Ry(a,g[1],!0);if(v)if(a.da=v,void 0===g[2])a.P("begin assemble at "+Hy(v)),a.ga=
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=G.charAt(1);if("l"==T){var L;L=0+Xz(a,a.B);L+=Xz(a,a.aa);(L+=Xz(a,a.O))||a.P("no breakpoints")}else if("n"==T)a.xa=Zx(a,I),a.P("break after "+a.xa+" instruction(s)");else if(void 0===I)a.P("missing breakpoint address");else{var ua={};if("*"!=I&&(ua=Ry(a,I,!0,!0),!ua))break a;I=null==ua.Ja?I:sa(ua.Ja);"c"==T?null==ua.Ja?(ky(a),a.P("all breakpoints cleared")):Gy(a,
a.B,ua)||Gy(a,a.aa,ua)||Gy(a,a.O,ua)||a.P("breakpoint missing: "+Hy(ua)):"i"==T?a.P("breakpoint "+(Mc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (input)"):"o"==T?a.P("breakpoint "+(Qc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (output)"):null!=ua.Ja&&(Uy(a,ua,J),"p"==T?a.Gd(a.B,ua):"r"==T?a.Gd(a.aa,ua):"w"==T?a.Gd(a.O,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":bB(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Rb)a.Ba[xb]&&
(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=kB(a.pa,!0);rc?"console"==Sa?console.log(rc):
(bB(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.F.length;ib++){var df=a.F[ib],Ld;for(Ld in df.Fd)if("."!=Ld.charAt(0)){var ef=df.Fd[Ld],vg=ef.o;if(void 0!==vg){var ff=ef.s;void 0===ff&&(ff=df.U);var wg=df.Fd[Ld].l;wg&&(Ld=wg);a.P(wy(vg,ff)+" "+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 Qg=a.Sb(Ry(a,qm));if(-1===Qg)a.P("invalid address: "+qm);else{var pf,
Qa=null;if(80386<=a.H.ca){var qf=a.ka,Qa={};Qa.Jk=(Qg&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.nb=qf.aa[(Qa.Ti&qf.C)>>>qf.A];Qa.Aj=Qa.nb.Nd(Qa.Jk);Qa.Kk=(Qg&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.ob=qf.aa[(Qa.Ui&qf.C)>>>qf.A];Qa.Bj=Qa.ob.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Qg&4095)}if(pf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var we="%"+q(Qg),we=we+(" %%"+Wy(pf.Ti,pf.Aj)),we=
we+(" %%"+Wy(pf.Ui,pf.Bj,!0)),we=we+(" %%"+q(pf.ul));a.P(we)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";fB(a,ca);break a}for(xb in Rb)if(ca[1]==xb){var wt=a.Ba[xb];wt?(ca.shift(),ca.shift(),wt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var xt=cb,yt=Sa,zt="",At=0,Lc=a.oa,jd=a.V;if(jd.length){var uc=+xt||a.Xa,Rg=+yt||10;isNaN(uc)?uc=Rg:zt="more ";uc>jd.length&&(a.P("note: only "+
jd.length+" available"),uc=jd.length);Lc-=uc;0>Lc&&(null==jd[jd.length-1].U?(uc=Lc+uc,Lc=0):Lc+=jd.length);var rm=[];"call"==yt&&(Rg=1E5,rm=["CALL"]);for(void 0!==xt&&a.P(uc+" instructions earlier:");0<Rg&&Lc!=a.oa;){var xe=jd[Lc++];if(null==xe.U)break;var Sg=jy(a,xe.Ja,xe.U,xe.ya,xe.type,xe.Hb,xe.dc),aC=uc--,Bt=Zz(a,Sg,"history",aC);(!rm.length||0<=Bt.indexOf(rm[0]))&&a.P(Bt);Sg.Fe&&(Lc+=Sg.Fe,Rg-=Sg.Fe,uc-=Sg.Fe);Lc>=jd.length&&(Lc=0);a.Xa=uc;At++;Rg--}}At||(a.P("no "+zt+"history available"),a.Xa=
(bB(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.F.length;ib++){var ef=a.F[ib],Ld;for(Ld in ef.Fd)if("."!=Ld.charAt(0)){var ff=ef.Fd[Ld],vg=ff.o;if(void 0!==vg){var gf=ff.s;void 0===gf&&(gf=ef.U);var wg=ef.Fd[Ld].l;wg&&(Ld=wg);a.P(wy(vg,gf)+" "+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 Qg=a.Sb(Ry(a,qm));if(-1===Qg)a.P("invalid address: "+qm);else{var pf,
Qa=null;if(80386<=a.H.ca){var qf=a.ka,Qa={};Qa.Jk=(Qg&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.nb=qf.aa[(Qa.Ti&qf.C)>>>qf.A];Qa.Aj=Qa.nb.Nd(Qa.Jk);Qa.Kk=(Qg&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.ob=qf.aa[(Qa.Ui&qf.C)>>>qf.A];Qa.Bj=Qa.ob.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Qg&4095)}if(pf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var xe="%"+q(Qg),xe=xe+(" %%"+Wy(pf.Ti,pf.Aj)),xe=
xe+(" %%"+Wy(pf.Ui,pf.Bj,!0)),xe=xe+(" %%"+q(pf.ul));a.P(xe)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";fB(a,ca);break a}for(xb in Rb)if(ca[1]==xb){var wt=a.Ba[xb];wt?(ca.shift(),ca.shift(),wt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var xt=cb,yt=Sa,zt="",At=0,Lc=a.oa,jd=a.V;if(jd.length){var vc=+xt||a.Xa,Rg=+yt||10;isNaN(vc)?vc=Rg:zt="more ";vc>jd.length&&(a.P("note: only "+
jd.length+" available"),vc=jd.length);Lc-=vc;0>Lc&&(null==jd[jd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=jd.length);var rm=[];"call"==yt&&(Rg=1E5,rm=["CALL"]);for(void 0!==xt&&a.P(vc+" instructions earlier:");0<Rg&&Lc!=a.oa;){var ye=jd[Lc++];if(null==ye.U)break;var Sg=jy(a,ye.Ja,ye.U,ye.ya,ye.type,ye.Hb,ye.dc),aC=vc--,Bt=Zz(a,Sg,"history",aC);(!rm.length||0<=Bt.indexOf(rm[0]))&&a.P(Bt);Sg.Fe&&(Lc+=Sg.Fe,Rg-=Sg.Fe,vc-=Sg.Fe);Lc>=jd.length&&(Lc=0);a.Xa=vc;At++;Rg--}}At||(a.P("no "+zt+"history available"),a.Xa=
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Tg=Zx(a,sm);if(void 0===Tg||0>Tg||255<Tg)a.P("invalid vector: "+sm);else{var Ct="&",Dt=!!(a.H.qa&1),Et=!1,Wi=a.H.Pb+(Tg<<(Dt?3:2)),Ft=a.H.ja(Wi+0),bC=a.H.ja(Wi+2);Dt&&(Ct="#",a.H.ja(Wi+4)&2048&&(Et=!0,Ft|=a.H.ja(Wi+6)<<16));a.P("dumpIDT("+sa(Tg)+"): "+Ct+q(bC,4)+":"+q(Ft,Et?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var rf=Ry(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var Xi=0;Sa&&("l"==Sa.charAt(0)&&
(Sa=Sa.substr(1)||rb),Xi=Zx(a,Sa)>>>0,65536<Xi&&(Xi=65536));for(var Ug="",sf="dd"==za?4:"dw"==za?2:1,Yi=sf*Xi||128,cC=Yi+15>>4||1;cC--&&0<Yi;){var Vg=0,tm=0,Wg,um="",Gt="",cb=Hy(rf);for(Wg=4==sf?16:a.D;0<Wg&&0<Yi;Wg--){var Zi=a.Ia(rf,1),Vg=Vg|Zi<<(tm++<<3);tm==sf&&(um+=8==a.D?ra(Vg,3*sf):q(Vg,2*sf),um+=1==sf?9==Wg?"-":" ":" ",Vg=tm=0);Gt+=32<=Zi&&128>Zi?String.fromCharCode(Zi):".";Yi--}Ug&&(Ug+="\n");Ug+=cb+" "+um+(Wg?"":" "+Gt)}Ug&&a.P(Ug);a.Ma=rf}}}}}break;case "e":if("else"==g[0])break;var $i=
1,Ht=255,It=a.Ia,Jt=a.fc;"ew"==g[0]&&($i=2,Ht=65535,It=a.Yc,Jt=a.il);var Kt=$i<<1,Lt=g[1];if(null==Lt)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 aj=Ry(a,Lt);if(aj)for(var bj=2;bj<g.length;bj++){var Xg=ey(a,g[bj]);if(void 0===Xg){a.P("unrecognized value: "+g[bj]);break}Xg&~Ht&&a.P("warning: "+q(Xg)+" exceeds "+$i+"-byte value");var dC=It.call(a,aj);a.P("changing "+Hy(aj)+" from "+q(dC,Kt,!0)+" to "+q(Xg,Kt,!0));
Jt.call(a,aj,Xg,$i)}}break;case "f":cB(a,g[1]);break;case "g":a:{var Mt=g[1],eC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Mt){var vm=Ry(a,Mt,!0);if(!vm)break a;Uy(a,vm,eC);a.Gd(a.B,vm,!0)}Pz(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(Jb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Yg=b.substr(2),Yg=Ba(Yg);ey(a,Yg)?(c||a.P("true: "+Yg),xm=!0):(c||a.P("false: "+Yg),xm=!1);xm||(d=!1);
break}if("int"==g[0]){var cj;a:switch(Zx(a,g[1])){case 19:Vk(a,19,a.H.da,!0);a.la=a.Z;cj=!0;break a;case 33:Vk(a,33,a.H.da,!0);a.la=a.Z;cj=!0;break a;default:cj=!1}cj||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=Zx(a,ym);if(void 0!==zm){var fC=Oc(a.ka,zm,1);a.P(sa(zm)+": "+r(fC))}}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 gC=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,Nt=a.H.Z.U,Zg=jy(a),Td=jy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Hy(Td));10>Am;){for(var kd=null,hC=256;Td.Ja>>>0<a.H.cg>>>0;){Zg.Ja=a.jb(Td,!0);if(null==Td.ya||!hC--)break;Zg.U=Nt;if(kd=iB(a,Zg))break;Zg.U=a.jb(Td);if(kd=iB(a,Zg,!0)){Nt=a.jb(Td,!0);0<kd.indexOf("INT")&&a.jb(Td,!0);break}}if(!kd||null==kd)break;var Ot=null;if("ks"==gC){var Pt=kd.match(/[0-9A-F]+$/);Pt&&(Ot=eB(a,Pt[0]))}kd=Aa(kd,50)+" ;"+(Ot||"stack="+Hy(Td));a.P(kd);Am++}Am||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){eB(a,g[1],!0);break}fB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],dj=g[2];if(a.G){var Qt=1;"-"==dj.charAt(0)&&(Qt=-1,dj=dj.substr(1));var ye=Zx(a,dj,Bm);if(void 0!==ye)switch(ye=ye*Qt|0,Bm){case "x":a.G.tf(ye,0);break;case "y":a.G.tf(0,ye);break;case "click":a.G.Vd(ye,!0);a.G.Vd(ye,!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 ze=0;if("all"==
fb)ze=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 Rb)if(fb==ld){ze=Rb[ld];md=!!(a.ic&ze);break}if(!ze){a.P("unknown message category: "+fb);break a}}ze&&("on"==g[2]?(a.ic|=ze,md=!0):"off"==g[2]&&(a.ic&=~ze,md=!1))}var iC=0,$g="";for(ld in Rb)if(!fb||fb==ld){var jC=!!(a.ic&Rb[ld]);if(null===md||md==jC)$g&&($g+=","),++iC%10||($g+="\n\t"),"key"==ld&&(ld="keys"),$g+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){eB(a,g[1],!0);break}fB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],dj=g[2];if(a.G){var Qt=1;"-"==dj.charAt(0)&&(Qt=-1,dj=dj.substr(1));var ze=Zx(a,dj,Bm);if(void 0!==ze)switch(ze=ze*Qt|0,Bm){case "x":a.G.tf(ze,0);break;case "y":a.G.tf(0,ze);break;case "click":a.G.Vd(ze,!0);a.G.Vd(ze,!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 Ae=0;if("all"==
fb)Ae=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 Rb)if(fb==ld){Ae=Rb[ld];md=!!(a.ic&Ae);break}if(!Ae){a.P("unknown message category: "+fb);break a}}Ae&&("on"==g[2]?(a.ic|=Ae,md=!0):"off"==g[2]&&(a.ic&=~Ae,md=!1))}var iC=0,$g="";for(ld in Rb)if(!fb||fb==ld){var jC=!!(a.ic&Rb[ld]);if(null===md||md==jC)$g&&($g+=","),++iC%10||($g+="\n\t"),"key"==ld&&(ld="keys"),$g+=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")+($g||"none"));ly(a)}break;case "o":var Cm=g[1],kC=g[2];if(Cm&&"?"!=Cm){var Dm=Zx(a,Cm,"port #"),Em=Zx(a,kC);void 0!==Dm&&void 0!==Em&&(Sc(a.ka,Dm,1,Em),a.P(sa(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]){hB(a,b.substr(5));break}var Rt="pr"==g[0]?1:0,tf=1+Rt;if(a.K)a.P("step in progress");
else{var ej,St=!1,Hb=jy(a,A(a.H),a.H.Z.U);do switch(ej=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:My(a,Hb,1);ej=!0;break;case 204:case 206:a.K=tf;My(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=tf;My(a,Hb,Hb.Hb?4:2);break;case 232:a.K=tf;My(a,Hb,Hb.Hb?5:3);break;case 154:a.K=tf;My(a,Hb,Hb.Hb?7:5);break;case 255:var Tt=a.jb(Hb)&14591;if(4351==Tt||6399==Tt)a.K=tf,Zz(a,Hb);break;case 243:case 242:My(a,Hb,1);St=ej=!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:St&&
(a.K=tf,My(a,Hb,1))}while(ej);a.K?(a.Gd(a.B,Hb,!0),Pz(a)||(a.pa&&a.pa.ld(),a.K=0)):jB(a,Rt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Rz(a,g);break;case "t":jB(a,g[0],g[1]);break;case "u":Sz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){dB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.3 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Nb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Ma());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var ah;void 0!==g[3]&&(ah=+g[3]);

View file

@ -28,8 +28,8 @@
http://pcjs.org/modules/pdp10/lib/macro10.js (C) Jeff Parsons 2012-2017
*/
var m,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=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++}
function ga(){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 ha(this)}});ga=function(){}}function ha(a){var b=0;return ia(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ia(a){ga();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function ja(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 ma(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 fa(){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 ha(this)}});fa=function(){}}function ha(a){var b=0;return ia(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ia(a){fa();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function la(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 ma(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})}}
ma("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}});ma("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var na={uc:0,Nb:1,wc:2,xc:3,yc:4,zc:5,Ac:6,Bc:7,xb:8,Cc:9,Ob:10,Dc:11,Ec:12,Pb:13,Fc:14,Gc:15,Hc:16,Ic:17,Jc:18,Kc:19,Lc:20,Mc:21,Nc:22,Oc:23,Pc:24,Qc:25,Rc: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,wb:65,tc:66,vc:67,Sc:68,E:69,Tc:70,Uc:71,Vc:72,Wc:73,Xc:74,Yc:75,Zc:76,$c:77,ad:78,bd:79,cd:80,Q:81,dd:82,ed:83,fd:84,gd:85,hd:86,jd:87,
kd:88,ld:89,Rb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,md:97,nd:98,od:99,d:100,e:101,pd:102,qd:103,rd:104,sd:105,td:106,k:107,ud:108,vd:109,n:110,wd:111,p:112,q:113,r:114,xd:115,t:116,zd:117,Ad:118,Bd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Qb:127};
@ -37,7 +37,7 @@ function oa(a,b){var c;if(a){b||(b=10);var d,e,f=0<a.indexOf(",");f&&(a=a.replac
(a=e[1],d=35-((e[2]||35)&255));e=a;((f=b)&&10!=f?16==f?e.match(/^-?[0-9a-f]+$/i):8==f?e.match(/^-?[0-7]+$/):2==f&&e.match(/^-?[01]+$/):e.match(/^-?[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(d&&(0>g&&(g+=Math.pow(2,36)),g=0<d?g*Math.pow(2,d):Math.trunc(g/Math.pow(2,-d))),c=g)}return c}
function pa(a,b,c,d,e){e=void 0===e?0:e;var f="";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))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var h=a%b,h=h+(0<=h&&9>=h?48:55),f=String.fromCharCode(h)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function wa(a,b,c){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return pa(a,8,b,c?"0o":"")}
function xa(a,b){b?11<b&&(b=11):b=99999>=Math.abs(a)?5:11;return pa(a,10,b)}function n(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return pa(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 Ba(a){return a.replace(/[&<>"']/g,function(a){return Ca[a]})}function Da(a,b){return(a+" ").slice(0,b)}function Ea(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ca={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};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 Ba(a){return a.replace(/[&<>"']/g,function(a){return Ca[a]})}function Da(a,b){return(a+" ").slice(0,b)}function Ea(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ca={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Fa(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 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,
f,e))});if(b&&"object"==typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));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}
@ -65,27 +65,27 @@ Function.prototype.bind||(Function.prototype.bind=function(a){function b(){retur
var v="pdp10",Sb="PDPjs",Tb=Math.pow(2,18)-1,Ub=Math.pow(2,18),Vb=Math.pow(2,17)-1,Wb=Math.pow(2,17),x=Math.pow(2,18)-1,y=Math.pow(2,18),z=Math.pow(2,35)-1,A=Math.pow(2,35),B=Math.pow(2,36)-1,C=Math.pow(2,36),E=Math.pow(2,32),Xb=Math.pow(2,34),Yb=Math.pow(2,36),Zb=Math.pow(2,21),$b=Math.pow(2,26),ac=Math.pow(2,23),bc=Math.pow(2,30),v="pdp10",Sb="PDPjs",cc={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};
function dc(a,b){t.call(this,"Panel",a,512);this.K=this.L=0;this.V=b;this.i=this.I=this.j=this.w=0;this.M=this.N=-1;this.O=this.R=this.F=!1;this.S=ec;this.C={};this.b={START:[1,1,!0,!1,this.ec],STEP:[1,1,!1,!1,this.fc],ENABLE:[1,1,!1,!1,this.$b],CONT:[1,1,!0,!1,this.Yb],DEP:[0,0,!0,!1,this.Zb],EXAM:[1,1,!0,!1,this.ac],LOAD:[1,1,!0,!1,this.cc],TEST:[0,0,!0,!1,this.bc]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.dc,a];this.D=this.v=this.G=this.H=null;this.exports={hold:this.Vb,toggle:this.oc,reset:this.kc,
set:this.nc};Db(this)}ja(dc,t);m=dc.prototype;m.reset=function(a){this.stop();a&&fc(this,this.w=0)};
set:this.nc};Db(this)}la(dc,t);m=dc.prototype;m.reset=function(a){this.stop();a&&fc(this,this.w=0)};
m.sa=function(a,b,c,d){if(this.H&&this.H.sa(a,b,c,d)||this.v&&this.v.sa(a,b,c,d)||this.D&&this.D.sa(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(){gc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){hc(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){gc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){hc(a,b)}}(this,b),!0):t.prototype.sa.call(this,a,b,c,d)}};m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;ic(this);jc(this)};m.Ba=function(a,b){if(!b)if(this.V&&kc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};m.ra=function(a){return a?this.save():!0};m.save=function(){var a=new H(this);a.set(0,[this.i,this.w,this.j]);return a.data()};
function(a,b){return function(c){gc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){hc(a,b)}}(this,b),!0):t.prototype.sa.call(this,a,b,c,d)}};m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;ic(this);jc(this)};m.Ba=function(a,b){if(!b)if(this.V&&kc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};m.ra=function(a){return a?this.save():!0};m.save=function(){var a=new G(this);a.set(0,[this.i,this.w,this.j]);return a.data()};
m.restore=function(a){if(a=a[0])lc(this,this.i=a[0]),fc(this,this.w=a[1]),mc(this,a[2]);return!0};m.kc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}jc(this);return!0};function nc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ic(a,b){for(var c in a.C)nc(a,c,null!=b?b:a.C[c])}function oc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function jc(a){for(var b in a.b)oc(a,b,a.b[b][1])}
m.Vb=function(a,b,c){if(gc(this,b)){if(c){var d=this;setTimeout(function(){hc(d,b);a&&a()},+c);return!1}hc(this,b)}return!0};m.nc=function(a,b){if("SR"==a)return mc(this,oa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,oc(this,a,c[1]),!0):!1};m.oc=function(a){return gc(this,a)?(hc(this,a),!0):!1};function gc(a,b){var c=a.b[b];return c?(oc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=pc&&(a.O=b==qc,a.R=b==rc),!0):!1}
function hc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(oc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}m.ec=function(a){a||this.v.A.P||(I(this.v,this.i),this.b[sc]&&this.b[sc][1]&&tc(this.v))};m.fc=function(){};m.$b=function(a){a||this.v.Y()};
function hc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(oc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}m.ec=function(a){a||this.v.A.P||(H(this.v,this.i),this.b[sc]&&this.b[sc][1]&&tc(this.v))};m.fc=function(){};m.$b=function(a){a||this.v.Y()};
m.Yb=function(a){if(!a&&!this.v.A.P)if(this.b[sc]&&this.b[sc][1])tc(this.v);else{if((a=this.D)&&!Eb(a,!0))Pb(a,!0),uc(a,0,null),Pb(a,!1);else try{var b=this.v.Za(1);0<b&&(vc(this.v,b),wc(this.v,b,!0),xc(this.v,b))}catch(c){"number"!=typeof c&&Ab(this.v,c.stack||c.message)}this.stop();this.H&&K(this.H)}};m.Zb=function(a){a&&!this.v.A.P&&(this.O&&yc(this),a=fc(this,this.w=this.j),this.S==ec?zc(this.G,this.i,a):this.v.g(this.i,a))};
m.ac=function(a){if(!a&&!this.v.A.P){var b;this.R&&yc(this);this.S==ec?b=Ac(this.G,this.i):b=this.v.f(this.i);fc(this,this.w=b)}};m.cc=function(a){a||this.v.A.P||lc(this,this.j)};m.bc=function(a){a?(this.F=!0,ic(this,!0)):(this.F=!1,ic(this),mc(this,0))};m.dc=function(a,b){this.j=a?this.j|1<<b:this.j&~(1<<b)};function yc(a){var b=1,c=a.G.j;a.b[pc]&&a.b[pc][1]||(b=-b);lc(a,a.i&~c|a.i+b&c)}
function lc(a,b){a.i=b&a.G.j;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||nc(d,e,f)}}}function fc(a,b){a.I=b%C;if(a.N!==a.I){a.N=a.I;b=a.N;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||nc(d,e,f)}}return a.I}function mc(a,b){a.j=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.j&1<<b?1:0;jc(a);return!0}m.stop=function(){lc(this,this.v.i)};
function kc(){for(var a=w(document,v,"panel"),b=0;b<a.length;b++){var c=a[b],d=u(c),e=sb(d.id);e||(e=new dc(d,!0));ub(e,c)}}var ec=7,qc="DEP",sc="ENABLE",rc="EXAM",pc="STEP";$a(kc);function Bc(a,b,c){t.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.j=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new Cc(this);Dc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Db(this)}ja(Bc,t);m=Bc.prototype;m.reset=function(){};
m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.ra=function(a){return a?this.save():!0};m.save=function(){var a=new H(this);a.set(0,Ec(this));return a.data()};m.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 kc(){for(var a=w(document,v,"panel"),b=0;b<a.length;b++){var c=a[b],d=u(c),e=sb(d.id);e||(e=new dc(d,!0));ub(e,c)}}var ec=7,qc="DEP",sc="ENABLE",rc="EXAM",pc="STEP";$a(kc);function Bc(a,b,c){t.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.j=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new Cc(this);Dc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Db(this)}la(Bc,t);m=Bc.prototype;m.reset=function(){};
m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.ra=function(a){return a?this.save():!0};m.save=function(){var a=new G(this);a.set(0,Ec(this));return a.data()};m.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 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,l=16384-(e-k);l>f&&(l=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Xa+=h.B-e,h.B=e,!0;if(e>=h.B+h.Xa){l=h.size-(e-k);l>f&&(l=f);h.Xa=e-h.B+l;e=k+16384;f-=l;g++;continue}}return Gc(Hc,e,f)}e=new Cc(a,e,l,16384,d);Dc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=l}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Ic[d]+" at "+wa(b)),!0):Gc(Jc,b,c)}
function Ac(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.w(b&16383,b);a.w--;return b}function zc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.D(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.sb||e.Tb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var l=e[g],p=g+1;p<e.length&&e[p]===l;)p++;k[h++]=p-g;k[h++]=l;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
m.Jb=function(a){if(!this.w)throw this.D&&Qb(this.D,4)&&Rb(this.D,"memory fault on "+L(this.D,a),!0,!0),this.v.Y(),-1;};function Gc(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Hc=1,Jc=2;function Kc(a){t.call(this,"Device",a,256)}ja(Kc,t);m=Kc.prototype;m.Ma=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.D=d;Db(this)};m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.ra=function(a){return a?this.save():!0};m.reset=function(){};
m.save=function(){return(new H(this)).data()};m.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 Kc(c),ub(c,d)}}});
m.Jb=function(a){if(!this.w)throw this.D&&Qb(this.D,4)&&Rb(this.D,"memory fault on "+L(this.D,a),!0,!0),this.v.Y(),-1;};function Gc(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Hc=1,Jc=2;function Kc(a){t.call(this,"Device",a,256)}la(Kc,t);m=Kc.prototype;m.Ma=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.D=d;Db(this)};m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.ra=function(a){return a?this.save():!0};m.reset=function(){};
m.save=function(){return(new G(this)).data()};m.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 Kc(c),ub(c,d)}}});
function Cc(a,b,c,d,e){this.H=a;this.id=Pc+=2;this.B=b;this.Xa=c;this.size=d||0;this.type=e||Qc;this.G=e==Rc;this.b=null;this.f=this.w=this.vb;this.g=this.D=this.Ya;this.i=this.v=0;Dc(this);this.sb=this.Tb=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Sc(this,Tc)}else Sc(this)}m=Cc.prototype;m.save=function(){return this.j};m.restore=function(a){return a&&this.size==a.length?(this.j=a,this.sb=!0):!1};function Sc(a,b){b||(b=Uc);Vc(a,b,void 0);Wc(a,b,void 0)}
function Vc(a,b,c){c&&a.i||(a.f=b[0]||a.vb);if(c||void 0===c)a.w=b[0]||a.vb}function Wc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Ya);if(c||void 0===c)a.D=b[1]||a.Ya}m.Ra=function(a,b){b?this.v++||Wc(this,Xc,!1):this.i++||Vc(this,Xc,!1)};function Yc(a,b){b?--a.v||(a.g=a.G?a.Ya:a.D):--a.i||(a.f=a.w)}function Dc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Vc(a,Xc,!1),(a.v=c.v)&&Wc(a,Xc,!1))}m.vb=function(a,b){this.b&&Qb(this.b,32)&&Rb(this.b,"attempt to read invalid address "+L(this.b,b),!0);this.H.Jb(b);return-1};
m.Ya=function(a,b,c){this.b&&Qb(this.b,32)&&Rb(this.b,"attempt to write "+L(this.b,a)+" to invalid addresses "+L(this.b,c),!0);this.H.Jb(c)};m.ic=function(a){return this.j[a]};m.rc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.sb=!0)};m.gc=function(a,b){if(this.b&&null!=this.B){var c=this.b;Zc(c,this.B+a,2,c.N)&&c.Y(!1)}return this.w(a,b)};m.qc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Zc(d,this.B+b,2,d.K)&&d.Y(!1)}this.G?this.Ya(a,0,c):this.D(a,b,c)};
var Qc=0,Rc=2,Ic=["NONE","RAM","ROM"],Pc=0,Uc=[],Tc=[Cc.prototype.ic,Cc.prototype.rc],Xc=[Cc.prototype.gc,Cc.prototype.qc];
function $c(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.kb=0;this.ob=b;this.ha=c;this.lb=Math.round(this.ob/1E4)/100;this.ga=this.lb*this.ha;this.nb=this.Ja=this.ma=this.cb=0;this.A.P=this.A.ib=!1;this.A.fa=a.autoStart;"string"==typeof this.A.fa&&(this.A.fa="true"==this.A.fa);this.A.Ua=!1;this.Ha=this.ta=0;this.Ia=+a.csStart;this.pa=+a.csInterval;this.ua=+a.csStop;this.R=[];this.Fb=this.lc.bind(this);this.W=this.M=this.V=this.N=this.L=this.Ga=this.S=this.va=this.pb=this.Z=
0;this.Oa=null;Db(this)}ja($c,t);m=$c.prototype;m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.D=d;this.Oa=a.j;for(a=0;a<ad.length;a++)(b=this.J[ad[a]])&&this.H.sa(null,ad[a],b);Db(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
0;this.Oa=null;Db(this)}la($c,t);m=$c.prototype;m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.D=d;this.Oa=a.j;for(a=0;a<ad.length;a++)(b=this.J[ad[a]])&&this.H.sa(null,ad[a],b);Db(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.Ba=function(a,b){var c=bd(this.H,"autoStart");null!=c?this.A.fa="true"==c?!0:"false"==c?!1:!!c:null==this.A.fa&&(this.A.fa=!this.D&&void 0===this.J.run);if(!b){if(a){cd(this);if(!this.restore(a))return!1;dd(this)}else this.reset();this.D?(a=this.D,b=this.A.fa,a.Ja=!0,a.u("Type ? for help with PDPjs Debugger commands"),ed(a),b||fd(a),a.ua&&(b=a.ua,a.ua=null,gd(a,b,!0))):this.status("No debugger detected");this.A.fa||this.u("CPU will not be auto-started "+(this.Oa?"(click Run to start)":"(type 'go' to start)"))}return!0};
m.ra=function(a){return a?this.save():!0};m.fa=function(){return this.A.P?!0:this.A.fa?(tc(this),!0):!1};m.Kb=function(){return 0};function dd(a){void 0===a.Ia&&(a.Ia=0);void 0===a.pa&&(a.pa=-1);void 0===a.ua&&(a.ua=-1);a.A.Ua=0<=a.Ia&&0<a.pa;a.A.Ua&&(a.Ha=0,a.ta=a.Ia-a.W)}function xc(a,b){if(a.A.Ua){var c=!1;a.Ha=a.Ha+a.Kb()|0;a.ta-=b;0>=a.ta&&(a.ta+=a.pa,c=!0);0<=a.ua&&a.ua<=hd(a)&&(a.pa=a.ua=-1,dd(a),a.Y(),c=!0);c&&a.u(hd(a)+" cycles: checksum="+n(a.Ha))}}
m.sa=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.ba)a=!0;else{var b=null,c,h=rb(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.ba);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.fb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.P?d.Y():tc(d))},!0;
@ -95,11 +95,11 @@ function vc(a,b){for(var c=a.R.length-1;0<=c;c--){var d=a.R[c];0>d[0]||(d[0]-=b,
m.lc=function(){if(this.A.P){this.cb>=this.ob&&jd(this,!0);this.va=0;this.Ga=pb();if(this.S){var a=this.Ga-this.S;a>this.nb&&(this.L+=a,this.L>this.Ga&&(this.L=this.Ga))}try{do{var b=md(this,this.A.Ua?1:this.Ja);try{this.Za(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.va+=b;this.M+=b;xc(this,b);vc(this,b);this.ma-=b;if(0>=this.ma){this.ma+=this.Ja;++this.pb>=pd&&(this.H&&K(this.H,void 0),this.pb=0);break}}while(this.A.P)}catch(e){this.Y();this.H&&this.H.stop(pb(),hd(this));Ab(this,
e.stack||e.message);return}if(this.A.P){a=setTimeout;b=this.Fb;this.S=pb();var c=this.nb;this.va&&(c=Math.round(c*this.va/this.Ja));var c=c-(this.S-this.Ga),d=this.S-this.L;d&&(this.Z=Math.round(this.M/(10*d))/100,864E5<=d&&(this.W=0,id(this)));if(0>c||this.Z<this.ga)-1E3>c&&(this.L-=c),c=0;this.cb+=this.va;this.S+=c;a(b,c)}}};
function tc(a,b){if(!Bb(a))if(a.A.P)a.u(a.toString()+" busy");else{id(a);a.A.P=!0;a.A.ib=!0;var c=a.J.run;c&&(c.textContent="Halt");a.H&&(b&&ld(a.H,!0),a.H.start(a.L,hd(a)));a.D||a.status("Started");setTimeout(a.Fb,0)}}m.Za=function(){return 0};m.Y=function(a){var b=!1;if(this.A.P){od(this);wc(this,this.M);this.M=0;this.A.P=!1;if(b=this.J.run)b.textContent="Run";this.H&&this.H.stop(pb(),hd(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var kd=30,pd=15,ad=["power","reset"];
function qd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.mb=b;this.$a=+a.addrReset||0;this.Sb=rd.bind(this);this.w=M.bind(this);this.Da=null;this.Cb=[];this.A.complete=!1}ja(qd,$c);m=qd.prototype;
function qd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.mb=b;this.$a=+a.addrReset||0;this.Sb=rd.bind(this);this.w=M.bind(this);this.Da=null;this.Cb=[];this.A.complete=!1}la(qd,$c);m=qd.prototype;
m.reset=function(){this.status("Model "+this.mb);this.A.P&&this.Y();this.Ka=this.La=this.b=this.I=0;this.i=this.oa=this.$a;this.K=this.O=-1;this.F=this.j=0;this.jb=[0,0];this.wa=[0,0];this.na=[0,0];this.xa=[0,0];this.Ca=this.i;this.C=0;this.f=this.hc;this.g=this.sc;this.Da=null;cd(this);this.A.error=!1;$c.prototype.reset.call(this)};m.Kb=function(){return 0};
m.save=function(){var a=new H(this);a.set(0,[this.b,this.I,this.Ka,this.La,this.i,this.O,this.K,this.j,this.C,this.oa,this.Ca,this.$a]);a.set(1,[]);a.set(2,[this.W,this.ha,this.A.fa]);a.set(3,sd(this));a.set(4,nd(this));return a.data()};
m.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.b=b.next().value;this.I=b.next().value;this.Ka=b.next().value;this.La=b.next().value;this.i=b.next().value;this.O=b.next().value;this.K=b.next().value;this.j=b.next().value;this.C=b.next().value;this.oa=b.next().value;this.Ca=b.next().value;this.$a=b.next().value;b=a[2];this.W=b[0];id(this,b[1]);this.A.fa=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Cb.length;d++){var e=this.Cb[d];
if(e.pc===b[c]){d=e;break a}}d=null}d&&(d.next=this.Da,this.Da=d)}a=a[4];for(b=0;b<this.R.length&&b<a.length;b++)this.R[b][0]=a[b];return!0};function td(a,b){a.j=a.j&-254049|b&254048;a.j|=b&4096;b&2048?a.j&4096||(a.j|=2048):a.j&=-2049}function ud(a,b){var c=a.i;a.i=(c+b)%Ub;return c}function vd(a){return 0<=a.O?a.O:a.I&4194304?a.oa:a.i}function I(a,b){a.I=0;a.O=-1;a.i=b%Ub}function sd(a){var b=[];for(a=a.Da;a;)b.push(a.pc),a=a.next;return b}
m.save=function(){var a=new G(this);a.set(0,[this.b,this.I,this.Ka,this.La,this.i,this.O,this.K,this.j,this.C,this.oa,this.Ca,this.$a]);a.set(1,[]);a.set(2,[this.W,this.ha,this.A.fa]);a.set(3,sd(this));a.set(4,nd(this));return a.data()};
m.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.b=b.next().value;this.I=b.next().value;this.Ka=b.next().value;this.La=b.next().value;this.i=b.next().value;this.O=b.next().value;this.K=b.next().value;this.j=b.next().value;this.C=b.next().value;this.oa=b.next().value;this.Ca=b.next().value;this.$a=b.next().value;b=a[2];this.W=b[0];id(this,b[1]);this.A.fa=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Cb.length;d++){var e=this.Cb[d];
if(e.pc===b[c]){d=e;break a}}d=null}d&&(d.next=this.Da,this.Da=d)}a=a[4];for(b=0;b<this.R.length&&b<a.length;b++)this.R[b][0]=a[b];return!0};function td(a,b){a.j=a.j&-254049|b&254048;a.j|=b&4096;b&2048?a.j&4096||(a.j|=2048):a.j&=-2049}function ud(a,b){var c=a.i;a.i=(c+b)%Ub;return c}function vd(a){return 0<=a.O?a.O:a.I&4194304?a.oa:a.i}function H(a,b){a.I=0;a.O=-1;a.i=b%Ub}function sd(a){var b=[];for(a=a.Da;a;)b.push(a.pc),a=a.next;return b}
m.hc=function(a){var b=this.G;a=this.Ca=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};m.sc=function(a,b){var c=this.G;a=this.Ca=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b};
m.Za=function(a){this.A.complete=!0;var b=this.D?wd(this.D)?1:this.A.ib?-1:0:0,c=a?this.A.ib?0:1:-1;this.A.ib=!1;this.V=this.N=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(xd(this.D,vd(this),c)){this.Y();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.Da||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&xd(this.D,vd(this),c)){this.Y();break}if(0>c)break}}this.C&=15;this.I&4194304?this.I=this.Ka=this.f(this.b):0<=this.O?(this.I=this.La=this.f(this.O),this.O=-1):(this.I=
this.La=this.f(this.oa=this.i),this.i=(this.i+1)%Ub);this.I&=8388607;this.b=this.I&262143;if(a=this.I>>18&15)this.b=this.b+(this.Ka=this.f(a))&Tb;a=this.I&4194304?-1:this.La/ac|0;0<=a&&this.Sb(a);this.N--}while(0<this.N);return this.A.complete?this.V-this.N:!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 qd(d);ub(d,c)}});function rd(a){yd[a>>4].call(this,a,a&15)}function O(a){this.w(a)}
@ -122,53 +122,53 @@ Ce.call(this,this.b))},function(a,b){this.g(this.b,Ce.call(this,this.f(b)))},fun
b){this.g(this.b,Be.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(this.b,this.g(b,Be.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,Be.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,Be.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,Be.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Be.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=we.call(this,
this.f(this.b),this.f(b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=we.call(this,this.b,this.f(b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=we.call(this,this.f(this.b),this.f(b));0>a||this.g(this.b,a)},function(a,b){a=we.call(this,this.f(this.b),this.f(b));0>a||(this.g(this.b,this.g(b,a)),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=we.call(this,this.f(this.b),c,a);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=we.call(this,this.b,c,a);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=we.call(this,this.f(this.b),b,a);0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=we.call(this,this.f(this.b),c,a);0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){if(a=(this.b&Wb)<<14>>23|this.b&255){var c,d,e=this.f(b);0<a?(d=z,c=e<A?0:A,35>a&&(c+=e*Math.pow(2,a)%A,d=A-Math.pow(2,35-a)),e<A?e+d>z&&(this.j|=131072):e-d<A&&(this.j|=
131072)):-35>=a?c=e<A?0:z:(c=Math.trunc(e/Math.pow(2,-a)),e>z&&(d=C-Math.pow(2,36+a),c+=d));this.g(b,c)}},function(a,b){if(a=((this.b&Wb)<<14>>23|this.b&255)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%C+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b&Wb)<<14>>23|this.b&255){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%C:-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<A;)a++,c*=2;I(this,this.b)}this.g(b+1&15,a)},function(a,
131072)):-35>=a?c=e<A?0:z:(c=Math.trunc(e/Math.pow(2,-a)),e>z&&(d=C-Math.pow(2,36+a),c+=d));this.g(b,c)}},function(a,b){if(a=((this.b&Wb)<<14>>23|this.b&255)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%C+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b&Wb)<<14>>23|this.b&255){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%C:-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<A;)a++,c*=2;H(this,this.b)}this.g(b+1&15,a)},function(a,
b){if(a=(this.b&Wb)<<14>>23|this.b&255){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<A||d>z&&d<B)this.j|=131072;if(71<=a){if(0<e&&e<A||e>z&&e<B)this.j|=131072;d=0}else d=e*Math.pow(2,a-35)%A,c=A-Math.pow(2,70-a),f<=z?e+c>z&&(this.j|=131072):e-c<=z&&(this.j|=131072);e=0;f>z&&(d+=A,e+=A)}else d=d*Math.pow(2,a)%A+Math.trunc(e%A/Math.pow(2,35-a)),e=e*Math.pow(2,a)%A,c=A-Math.pow(2,35-a),f<=z?f+c>z&&(this.j|=131072):(f-c<=z&&(this.j|=131072),d+=A,e+=A)}else-36>=a?(e=-72>=a?d>
z?B:0:Math.trunc(d%A/Math.pow(2,-a-35)),d<=z?d=0:(d=B,e+=A)):(c=d>z?C-Math.pow(2,36+a):0,e=Math.trunc(e%A/Math.pow(2,-a))+d%A*Math.pow(2,35+a)%A,d=Math.trunc(d/Math.pow(2,-a))+c,d>z&&(e+=A));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=((this.b&Wb)<<14>>23|this.b&255)%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)%C+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%C+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%C+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,
a-36)%C+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&Wb)<<14>>23|this.b&255){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)%C,d=0):(c=c*Math.pow(2,a)%C+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%C):-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)%C,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},M,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/y|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.P||(this.g(b,d*y+c),a||ud(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<A&&I(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=A&&I(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&td(this,this.Ka/y|0);b&4&&this.Y();b&8&&this.w(a);I(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,I(this,this.b))},function(){this.O=this.b},M,function(a,
b){a=(this.f(b)+262145)%C;this.g(b,a);a/y|0||(this.j|=262144);this.g(a&Tb,(this.j&x)*y+this.i);this.j&=-8193;I(this,this.b)},function(a,b){a=this.f(b);a+=262145;this.g(a&Tb,this.f(this.b));a>=C&&(a-=C);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Tb);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=C);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Tb);a-=262145;0>a&&(a+=C);(a/y|0)==x&&(this.j|=262144);this.g(b,a);I(this,c&Tb)},
function(){this.g(this.b,(this.j&x)*y+this.i);this.j&=-8193;I(this,this.b+1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;I(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);I(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));I(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,
this.g(b,Q.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,De.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,De.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,De.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,De.call(this,this.f(b),this.f(this.b))))},se,function(a,b){0>Ee(this.f(b),this.b)&&I(this,this.i+1)},function(a,b){Ee(this.f(b),this.b)||I(this,this.i+1)},function(a,b){0>=Ee(this.f(b),this.b)&&I(this,this.i+1)},function(){I(this,
this.i+1)},function(a,b){0<=Ee(this.f(b),this.b)&&I(this,this.i+1)},function(a,b){Ee(this.f(b),this.b)&&I(this,this.i+1)},function(a,b){0<Ee(this.f(b),this.b)&&I(this,this.i+1)},te,function(a,b){0>Ee(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(a,b){Ee(this.f(b),this.f(this.b))||I(this,this.i+1)},function(a,b){0>=Ee(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(){I(this,this.i+1)},function(a,b){0<=Ee(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(a,b){Ee(this.f(b),this.f(this.b))&&
I(this,this.i+1)},function(a,b){0<Ee(this.f(b),this.f(this.b))&&I(this,this.i+1)},se,function(a,b){0>U(this.f(b))&&I(this,this.b)},function(a,b){U(this.f(b))||I(this,this.b)},function(a,b){0>=U(this.f(b))&&I(this,this.b)},function(){I(this,this.b)},function(a,b){0<=U(this.f(b))&&I(this,this.b)},function(a,b){U(this.f(b))&&I(this,this.b)},function(a,b){0<U(this.f(b))&&I(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)&&I(this,this.i+1);b&&this.g(b,a)},
function(a,b){a=this.f(this.b);U(a)||I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){I(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,
this.f(b),1));0>U(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));U(a)||I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=U(a)&&I(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=U(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));U(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<U(a)&&I(this,this.b)},function(a,b){a=this.g(this.b,
Q.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));U(a)||I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),
1));0<=U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),B))},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>U(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));U(a)||I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>=U(a)&&
I(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),B));I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<=U(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));U(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<U(a)&&I(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,
Q.call(this,this.f(this.b),B));U(a)||I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>=U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0<=U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));U(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,
this.f(this.b),B));0<U(a)&&I(this,this.i+1);b&&this.g(b,a)},Fd,Fd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(B-this.f(b),this.b))},function(a,b){this.g(this.b,R(B-this.f(b),
a)},function(a,b){a=!1;for(var c=this.f(b),d=c/y|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.P||(this.g(b,d*y+c),a||ud(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<A&&H(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=A&&H(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&td(this,this.Ka/y|0);b&4&&this.Y();b&8&&this.w(a);H(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,H(this,this.b))},function(){this.O=this.b},M,function(a,
b){a=(this.f(b)+262145)%C;this.g(b,a);a/y|0||(this.j|=262144);this.g(a&Tb,(this.j&x)*y+this.i);this.j&=-8193;H(this,this.b)},function(a,b){a=this.f(b);a+=262145;this.g(a&Tb,this.f(this.b));a>=C&&(a-=C);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Tb);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=C);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Tb);a-=262145;0>a&&(a+=C);(a/y|0)==x&&(this.j|=262144);this.g(b,a);H(this,c&Tb)},
function(){this.g(this.b,(this.j&x)*y+this.i);this.j&=-8193;H(this,this.b+1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;H(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);H(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));H(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,
this.g(b,Q.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,De.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,De.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,De.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,De.call(this,this.f(b),this.f(this.b))))},se,function(a,b){0>Ee(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){Ee(this.f(b),this.b)||H(this,this.i+1)},function(a,b){0>=Ee(this.f(b),this.b)&&H(this,this.i+1)},function(){H(this,
this.i+1)},function(a,b){0<=Ee(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){Ee(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){0<Ee(this.f(b),this.b)&&H(this,this.i+1)},te,function(a,b){0>Ee(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){Ee(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){0>=Ee(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){0<=Ee(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){Ee(this.f(b),this.f(this.b))&&
H(this,this.i+1)},function(a,b){0<Ee(this.f(b),this.f(this.b))&&H(this,this.i+1)},se,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>=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,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,
this.f(b),1));0>U(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));U(a)||H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=U(a)&&H(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=U(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));U(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<U(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,
Q.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.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,Q.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,Q.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,Q.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,Q.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,Q.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,Q.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,Q.call(this,this.f(b),B))},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>U(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));U(a)||H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>=U(a)&&
H(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),B));H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<=U(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));U(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<U(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,
Q.call(this,this.f(this.b),B));U(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,
this.f(this.b),B));0<U(a)&&H(this,this.i+1);b&&this.g(b,a)},Fd,Fd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(B-this.f(b),this.b))},function(a,b){this.g(this.b,R(B-this.f(b),
this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(B-this.f(b),this.f(this.b))))},Cd,Dd,te,Cd,function(a,b){this.g(b,R(this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),B-this.b))},function(a,b){this.g(this.b,R(this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),B-this.f(this.b))))},se,se,Ed,Ed,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,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,R(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,R(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,R(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(B-this.f(b),B-
this.f(this.b))))},function(a,b){this.g(b,Fe(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Fe(this.f(b),this.b))},function(a,b){this.g(this.b,Fe(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Fe(this.f(b),this.f(this.b))))},Gd,Gd,function(a,b){this.g(this.b,B-this.f(b))},function(a,b){this.g(this.b,this.g(b,B-this.f(b)))},function(a,b){this.g(b,T(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(B-this.f(b),this.b))},function(a,b){this.g(this.b,T(B-this.f(b),this.f(this.b)))},
function(a,b){this.g(this.b,this.g(b,T(B-this.f(b),this.f(this.b))))},function(a,b){this.g(b,B-this.f(this.b))},function(a,b){this.g(b,B-this.b)},function(){this.g(this.b,B-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,B-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),B-this.b))},function(a,b){this.g(this.b,T(this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(this.f(b),B-this.f(this.b))))},function(a,b){this.g(b,
T(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,T(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,T(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(B-this.f(b),B-this.f(this.b))))},Hd,Hd,function(){this.g(this.b,B)},function(a,b){this.g(this.b,this.g(b,B))},Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,se,se,function(a,
b){R(this.f(b),this.b)||I(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)||I(this,this.i+1)},function(){I(this,this.i+1)},function(){I(this,this.i+1)},function(a,b){R(this.f(b),this.b)&&I(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)&&I(this,this.i+1)},te,te,function(a,b){R(this.f(b),this.f(this.b))||I(this,this.i+1)},function(a,b){R(this.f(b),W(this.f(this.b)))||I(this,this.i+1)},function(){I(this,this.i+1)},function(){I(this,this.i+1)},function(a,b){R(this.f(b),this.f(this.b))&&I(this,
this.i+1)},function(a,b){R(this.f(b),W(this.f(this.b)))&&I(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||I(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||I(this,this.i+1);this.g(b,S(a,c))},function(a,b){I(this,this.i+1);this.g(b,S(this.f(b),this.b))},function(a,b){I(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&I(this,
this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&I(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||I(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));R(a,c)||I(this,this.i+1);this.g(b,S(a,c))},function(a,b){I(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){I(this,this.i+
1);this.g(b,S(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&I(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));R(a,c)&&I(this,this.i+1);this.g(b,S(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*y))},function(a,b){a=this.f(b);R(a,this.b)||I(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||I(this,this.i+1);this.g(b,V(a,c))},function(a,b){I(this,
this.i+1);this.g(b,V(this.f(b),this.b))},function(a,b){I(this,this.i+1);this.g(b,V(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&I(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&I(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);R(a,c)||I(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));
R(a,c)||I(this,this.i+1);this.g(b,V(a,c))},function(a,b){I(this,this.i+1);this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){I(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);R(a,c)&&I(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));R(a,c)&&I(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*y))},function(a,b){a=this.f(b);R(a,this.b)||I(this,
this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);R(a,this.b*y)||I(this,this.i+1);this.g(b,T(a,this.b*y))},function(a,b){I(this,this.i+1);this.g(b,T(this.f(b),this.b))},function(a,b){I(this,this.i+1);this.g(b,T(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&I(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&I(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);R(a,c)||I(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));R(a,c)||I(this,this.i+1);this.g(b,T(a,c))},function(a,b){I(this,this.i+1);this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){I(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);R(a,c)&&I(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));R(a,c)&&I(this,this.i+1);this.g(b,T(a,
b){R(this.f(b),this.b)||H(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)||H(this,this.i+1)},function(){H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){R(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)&&H(this,this.i+1)},te,te,function(a,b){R(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){R(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){R(this.f(b),this.f(this.b))&&H(this,
this.i+1)},function(a,b){R(this.f(b),W(this.f(this.b)))&&H(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||H(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||H(this,this.i+1);this.g(b,S(a,c))},function(a,b){H(this,this.i+1);this.g(b,S(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&H(this,
this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&H(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||H(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));R(a,c)||H(this,this.i+1);this.g(b,S(a,c))},function(a,b){H(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+
1);this.g(b,S(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&H(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));R(a,c)&&H(this,this.i+1);this.g(b,S(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*y))},function(a,b){a=this.f(b);R(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*y;R(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,V(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(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*y;R(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);R(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));
R(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.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);R(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));R(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*y))},function(a,b){a=this.f(b);R(a,this.b)||H(this,
this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);R(a,this.b*y)||H(this,this.i+1);this.g(b,T(a,this.b*y))},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*y))},function(a,b){a=this.f(b);R(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*y;R(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);R(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));R(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);R(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));R(a,c)&&H(this,this.i+1);this.g(b,T(a,
c))},P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P],re=[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.j&=-131073);a&131072&&(this.j&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.j&131072&&(a|=8);this.j&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},
function(a){this.w(a)}];
function Ge(a){t.call(this,"ROM",a,128);this.aa=this.b=null;this.C=+a.addr;this.j=+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=La()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.ja("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(ib(c.bb,a,b),(a=Ka(a,b))?(c.b=a.da,c.aa=a.aa):c.w=null);He(c)})}}ja(Ge,t);
function Ge(a){t.call(this,"ROM",a,128);this.aa=this.b=null;this.C=+a.addr;this.j=+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=La()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.ja("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(ib(c.bb,a,b),(a=Ka(a,b))?(c.b=a.da,c.aa=a.aa):c.w=null);He(c)})}}la(Ge,t);
Ge.prototype.Ma=function(a,b,c,d){this.G=b;this.v=c;this.D=d;He(this)};Ge.prototype.Ba=function(){this.aa&&(this.D&&Ie(this.D,this.id,this.C,this.j,this.aa),delete this.aa);return!0};Ge.prototype.ra=function(){return!0};
function He(a){if(!Cb(a)){if(a.w){if(!a.b||!a.G)return;a.j||(a.j=a.b.length);if(a.b.length!=a.j)Ab(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.j,8,!0)+")");else{var b;b=a.C;if(Fc(a.G,b,a.j,Rc)){var c;for(c=0;c<a.b.length;c++)zc(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.j,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.G;d=d.j;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}}}Db(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 Ge(d);ub(d,c)}});
function Je(a){t.call(this,"RAM",a);this.aa=this.Pa=null;this.i=+a.addr;this.j=+a.size;this.la=a.load;this.ya=a.exec;null!=this.la&&(this.la=+this.la);null!=this.ya&&(this.ya=+this.ya);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=La()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.ja("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(ib(c.bb,a,b),(a=Ka(a,b))?(c.Pa=a.Pa,
c.aa=a.aa,null==c.la&&(c.la=a.la),null==c.ya&&(c.ya=a.ya)):c.b=null);Ke(c)})}}ja(Je,t);Je.prototype.Ma=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Ke(this)};Je.prototype.Ba=function(a,b){this.aa&&(this.D&&Ie(this.D,this.id,this.i,this.j,this.aa),delete this.aa);b||this.reset();return!0};Je.prototype.ra=function(){return!0};
c.aa=a.aa,null==c.la&&(c.la=a.la),null==c.ya&&(c.ya=a.ya)):c.b=null);Ke(c)})}}la(Je,t);Je.prototype.Ma=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Ke(this)};Je.prototype.Ba=function(a,b){this.aa&&(this.D&&Ie(this.D,this.id,this.i,this.j,this.aa),delete this.aa);b||this.reset();return!0};Je.prototype.ra=function(){return!0};
function Ke(a){if(a.G&&(!a.w&&a.j&&(Fc(a.G,a.i,a.j,1)?a.w=!0:a.j=0),!Cb(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Pa)return;Le(a,a.Pa,a.la,a.ya,a.i)?a.status('Loaded image "'+a.C+'"'):a.ja('Error loading image "'+a.C+'"')}a.F=!0;Db(a)}}
Je.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.G,b=this.i,c=this.j,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>=-A&&(g+=C);for(var g=Math.trunc(Math.abs(g))%C,h=d;f--&&h<e.size;h++)e.D(g,d,e.B+d);c-=16384;b++;d=0}this.Pa&&Le(this,this.Pa,this.la,this.ya,this.i,!this.D)}this.F=!1};
function Le(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)zc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.Y(),f=!1),null!=d&&(a=a.v,a.$a=d,I(a,d),f?a.A.ba?a.A.P||tc(a):a.A.fa=!0:a.D&&a.A.ba?a.Y()||a.H.A.reset||(ed(a.D),K(a.H,-1)):!1===f&&a.Y(),!a.A.P&&a.Oa&&a.Oa.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 Je(d);ub(d,c)}});
function Me(a){t.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Ne;b&&(void 0===c&&(c="Panel"),(c=tb(c,this.id))&&(b=c.J[b])&&this.sa(null,a,b))}this.b=this.C=null;this.exports={connect:this.Lb,receiveData:this.gb,receiveStatus:this.jc,setConnection:this.mc}}ja(Me,t);m=Me.prototype;
function Le(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)zc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.Y(),f=!1),null!=d&&(a=a.v,a.$a=d,H(a,d),f?a.A.ba?a.A.P||tc(a):a.A.fa=!0:a.D&&a.A.ba?a.Y()||a.H.A.reset||(ed(a.D),K(a.H,-1)):!1===f&&a.Y(),!a.A.P&&a.Oa&&a.Oa.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 Je(d);ub(d,c)}});
function Me(a){t.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Ne;b&&(void 0===c&&(c="Panel"),(c=tb(c,this.id))&&(b=c.J[b])&&this.sa(null,a,b))}this.b=this.C=null;this.exports={connect:this.Lb,receiveData:this.gb,receiveStatus:this.jc,setConnection:this.mc}}la(Me,t);m=Me.prototype;
m.sa=function(a,b,c){var d=this;switch(b){case Ne:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?na.xb:na.Qb:46==c?b=na.xb:a.ctrlKey&&c>=na.wb&&c<=na.Rb&&(b=c-(na.wb-na.Nb));b&&(a.preventDefault&&a.preventDefault(),d.gb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==na.Pb&&(b=na.Ob);d.gb(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.gb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Db(this)};
m.Lb=function(a){if(!this.b){var b=bd(this.H,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ea(c[0]);if(d!=this.ab)return;c=Ea(c[1]);if(this.b=sb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.bb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};m.Ba=function(a,b){if(!b)if(this.Lb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0};
m.ra=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new H(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.gb=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};m.jc=function(){};m.mc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Ne="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 Me(d);ub(d,c)}});function Oe(a){t.call(this,"Debugger",a);this.U=+a.base||16;this.L=32;this.S=["{","}"];this.ta=["[","]"];this.F=0;this.V=!1;this.C=-1;this.w=[];this.b={}}ja(Oe,t);Oe.prototype.tb=function(){return-1};Oe.prototype.ub=function(){};
m.ra=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new G(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.gb=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};m.jc=function(){};m.mc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Ne="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 Me(d);ub(d,c)}});function Oe(a){t.call(this,"Debugger",a);this.U=+a.base||16;this.L=32;this.S=["{","}"];this.ta=["[","]"];this.F=0;this.V=!1;this.C=-1;this.w=[];this.b={}}la(Oe,t);Oe.prototype.tb=function(){return-1};Oe.prototype.ub=function(){};
function Pe(a,b,c,d){if(c)if(b){0>a.C&&a.w.length&&(a.C=0);if(0>a.C||b!=a.w[a.C])a.w.splice(0,0,b),a.C=0;a.C--}else a.V?b="end":b=a.w[a.C+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(Ea(b.substring(c,f))),c=f+1}}return a}function Qe(a,b,c){if(32>=a.L)return b&c;b=X(a,b,0,!0);c=X(a,c,0,!0);return((b/Re|0)&(c/Re|0))*Re+((b&c)>>>0)}
function Se(a,b,c){if(32>=a.L)return b|c;b=X(a,b,0,!0);c=X(a,c,0,!0);return((b/Re|0)^(c/Re|0))*Re+((b^c)>>>0)}Oe.prototype.Ib=function(a,b){return a*b};function X(a,b,c,d){var e=b;c=c||a.L;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 32>=c?e=b<<32-c>>32-c:(a=Math.pow(2,c-1),b>=a?(e=b%a,(b/a|0)&1&&(e-=a)):b<-a&&(e=b%a,((-b-1)/a|0)&1?e&&(e+=a):e||(e-=a)));b!=e&&(b=e);return b}
function Te(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,g=b.pop();f=b.pop();switch(e){case "*":f=a.Ib(f,g);break;case "/":if(!g)return!1;f=Math.trunc(f/g);break;case "^/":if(!g)return!1;f%=g;break;case "+":f+=g;break;case "-":f-=g;break;case "<<":f<<=g;break;case ">>":f>>=g;break;case ">>>":f>>>=g;break;case "<":f=f<g?1:0;break;case "<=":f=f<=g?1:0;break;case ">":f=f>g?1:0;break;case ">=":f=f>=g?1:0;break;case "==":f=f==g?1:0;break;case "!=":f=f!=g?1:
@ -178,12 +178,12 @@ k||"^-"==k){p=p<<2|2;continue}if("^L"==k){p=p<<2|3;continue}}l=!0;break}if(void
function Ze(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var l=b[h++];if(l==c){k=-1;break}if(!k)break;k--;l=l.charCodeAt(0);7==d?l&=127:l=l-32&63;g=X(a,g*Math.pow(2,d)+l,d*e,!0)}if(0<=k){a.u("parse error ("+c+b+c+")");break}else b=b.substr(0,f)+L(a,g,-1)+b.substr(h)}return b}
function $e(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.S[0]&&(b=b.split(a.S[0]).join("{").split(a.S[1]).join("}"));b=Ze(a,b,'"',7,5);if(!b)return d;b=Ze(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Ue(a,b,0,b.length,a.U,c);void 0!==d&&e&&af(a,null,d)}return d}
function We(a,b,c){for(;c;){switch(c&3){case 1:b=-X(a,b);break;case 2:b=Se(a,b,-1);break;case 3:for(var d=35;0<=d&&!Qe(a,b,Math.pow(2,d));)d--;b=35-d}c>>>=2}return b}
function Ve(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.tb(b);if(0<=f)f=a.ub(f);else if(f=b,a.b[f]?f=a.b[f].value:(f=f.substr(0,6),f=a.b[f]&&a.b[f].value),null!=f){var h=a.b[b]&&a.b[b].Mb;h&&(g?g.push(h):(a.u(b+" is undefined ("+h+")"),f=void 0))}else f=oa(b,1<b.length||10<a.U?a.U:10);null!=f?f=X(a,We(a,f,e)):d||a.u("invalid "+(c?c:"value")+": "+b)}else d||a.u("missing "+(c||"value"));return f}
function Ve(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.tb(b);if(0<=f)f=a.ub(f);else if(f=b,a.b[f]?f=a.b[f].value:(f=f.substr(0,6),f=a.b[f]&&a.b[f].value),null!=f){var h=a.b[b]&&a.b[b].Mb;h&&(g?g.push(h):(g=$e(a,h,!1),void 0!==g?f+=g:(a.u(b+" = "+L(a,f)+" + ("+h+")"),f=void 0)))}else f=oa(b,1<b.length||10<a.U?a.U:10);null!=f?f=X(a,We(a,f,e)):d||a.u("invalid "+(c?c:"value")+": "+b)}else d||a.u("missing "+(c||"value"));return f}
function af(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.U?L(a,c,a.L,8,1)+" "+c+".":L(a,c,a.L,16,1)+" "+L(a,c,a.L,8,1)+" "+L(a,c,a.L,2,32>=a.L?8:6)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.u((null!=b?b+": ":"")+d);return e}function bf(a){var b=a.b;a.b={};return b}function cf(a,b){var c=0;if(a.b){if(b)return af(a,b,a.b[b]&&a.b[b].value);b=Object.keys(a.b);b.sort();for(var d=0;d<b.length;d++)af(a,b[d],a.b[b[d]].value),c++}return 0<c}
function L(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.U){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=pa(b,2,a,"",e);break;case 8:b=wa(b,0<c?(c+2)/3|0:0,!!e);break;case 10:b=xa(b,0<c?Math.ceil(.3*c):0);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
var Ye={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Xe={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20},Re=Math.pow(2,32);
function df(a){Oe.call(this,a);this.Ja=!1;this.Ga=18;this.L=36;this.S=["<",">"];this.ta=[];this.Ia=Y();this.M=Y(0);this.oa=Y(0);this.ha=Y(0);this.I=[];this.i=this.N=this.K=[];ef(this);this.W=this.pa=0;this.j=[];this.Ca=void 0;ff(this);this.D=this;this.va={};this.ca=this.Eb=0;this.Z=null;this.R=[];gf(this,a.messages);this.ua=a.commands;this.Ha=[];this.O=0;this.Oa=this.Da=null;this.F=this.La=this.Ka=this.na=this.xa=0;this.wa=this.ma=this.ga=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return gd(b,
a)}):void 0===global[v]&&(global[v]=function(a){return gd(b,a)})}ja(df,Oe);function hf(a){a=a&&a.B;null==a&&(a=-1);return a}function Y(a,b,c){return{B:void 0===a?null:a,eb:void 0===b?!1:b,qa:!1,U:c}}function jf(a,b,c,d){a.B=b;a.eb=c||!1;a.qa=!1;a.U=d}function kf(a){return[a.B,a.eb,a.qa,a.U,a.hb]}function lf(a,b){var c=Y(b[0],b[1],b[2]);c.qa=b[3];b[4]&&(c.zb=Pe(a,c.hb=b[4]));return c}m=df.prototype;
a)}):void 0===global[v]&&(global[v]=function(a){return gd(b,a)})}la(df,Oe);function hf(a){a=a&&a.B;null==a&&(a=-1);return a}function Y(a,b,c){return{B:void 0===a?null:a,eb:void 0===b?!1:b,qa:!1,U:c}}function jf(a,b,c,d){a.B=b;a.eb=c||!1;a.qa=!1;a.U=d}function kf(a){return[a.B,a.eb,a.qa,a.U,a.hb]}function lf(a,b){var c=Y(b[0],b[1],b[2]);c.qa=b[3];b[4]&&(c.zb=Pe(a,c.hb=b[4]));return c}m=df.prototype;
m.Ma=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.ma=a.j;this.Ga=b.F;(b=bd(a,"messages"))&&gf(this,b);if(a=bd(a,"commands"))this.ua=a;mf(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=hf(nf(d,c,d.oa));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Ic[c],p&&d.u(n(p.id,8)+" %"+
n(e<<d.G.i,8)+" %"+n(p.B,8)+" "+n(p.Xa,4,!0)+" "+n(p.size,4,!0)+" "+l),c!=Qc&&(c=-1),l=0);a+=16384;e++}}});Db(this)};
m.sa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ga=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",gd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.w.length-1&&(b=d.w[++d.C])):40==a.keyCode&&(0<d.C?b=d.w[--d.C]:(b="",d.C=-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.ga){var a=d.ga.value;
@ -198,7 +198,7 @@ m.message=function(a,b){b&&(a+=" @"+L(this,Y(this.v.oa).B,18));if(!this.Z||a!=th
function ff(a){var b;if(!wd(a))a.j&&a.j.length&&a.u("instruction history buffer freed"),a.W=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(Cf);for(b=0;b<a.j.length;b++)a.j[b]=Y();a.W=0;a.u("instruction history buffer allocated")}}function Df(a,b,c){if(!Ef(a,c))return!1;tc(a.v,b);return!0}
function uc(a,b,c,d){if(!Ef(a))return!1;var e="";null===c&&(e=(c=!a.Da||"tr"==a.Da)?"tr":"t");a.F=0;b||wd(a)&&xd(a,a.v.i,0);try{b=md(a.v,b);var f=a.v.Za(b);0<f&&(vc(a.v,f),a.F+=f,wc(a.v,f,!0),xc(a.v,f),a.na++)}catch(g){"number"!=typeof g&&(a.F=0,Ab(a.v,g.stack||g.message))}!1!==d&&(a.ma&&a.ma.stop(),K(a.H,-1));ed(a,c||!1,e);return 0<a.F}m.Y=function(a){this.v&&this.v.Y(a)};function ed(a,b,c){b=void 0===b?!0:b;a.Ja&&(c&&a.u(Ff+c),jf(a.M,a.v.i),b&&1!=a.O?Gf(a):Hf(a))}
function Ef(a,b){var c;(c=!a.v||!Cb(a.v))||(c=a.v,c.A.ba?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.P?(b||a.u("cpu busy or unavailable, command ignored"),!1):!Bb(a.v)}m.Ba=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};m.ra=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){ff(this);this.na=0;this.Z=null;this.F=0;jf(this.M,this.v.i);this.A.P=!1;If(this);a||ed(this)};
m.save=function(){var a=new H(this);a.set(0,kf(this.M));a.set(1,kf(this.oa));a.set(2,kf(this.ha));a.set(3,[this.w,this.V,this.ca]);a.set(4,this.I);return a.data()};m.restore=function(a){var b=0;void 0!==a[3]&&(this.M=lf(this,a[b++]),this.oa=lf(this,a[b++]),this.ha=lf(this,a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.V=a[b][1],this.ca|=a[b][2]);a[4]&&(this.I=a[4]);return!0};m.start=function(a,b){this.O||this.u("running");this.A.P=!0;this.Ka=a;this.La=b};
m.save=function(){var a=new G(this);a.set(0,kf(this.M));a.set(1,kf(this.oa));a.set(2,kf(this.ha));a.set(3,[this.w,this.V,this.ca]);a.set(4,this.I);return a.data()};m.restore=function(a){var b=0;void 0!==a[3]&&(this.M=lf(this,a[b++]),this.oa=lf(this,a[b++]),this.ha=lf(this,a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.V=a[b][1],this.ca|=a[b][2]);a[4]&&(this.I=a[4]);return!0};m.start=function(a,b){this.O||this.u("running");this.A.P=!0;this.Ka=a;this.La=b};
m.stop=function(a,b){if(this.A.P){this.A.P=!1;this.F=b-this.La;if(!this.O){b="stopped";if(this.F){a-=this.Ka;var c=0<a?Math.round(1E3*this.F/a):0;b+=" (";wd(this)&&(b+=this.na+" instructions, ",this.na=0);b+=this.F+" cycles, "+a+" ms, "+c+" hz)"}else Qb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}ed(this,!0);fd(this);If(this,this.v.i);this.Z=null}};function wd(a){return 1<a.i.length||!!a.pa}
function xd(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.oa==b&&(b=ud(a.v,1)));if(0<c&&(a.pa&&!--a.pa||Zc(a,b,1,a.i)))return!0;0<=c&&a.j.length&&(a.na++,0>d&&(d=a.v.f(b)),0<=d&&(jf(a.j[a.W],b),++a.W==a.j.length&&(a.W=0)));return!1}
function Jf(a,b,c,d){var e=Y(b.B),f=a.Na(b,1),g,h,k,l=0,p=f/Zb|0,q;for(q in Kf)if(g=Kf[q][p&q]){h=+q;p>>=6;switch(h){case 32512:k=Lf;l=p&3;break;case 32256:k=Mf;l=p&7;break;case 29248:k=Nf,l=(p&48)>>2|(p&6)>>1}break}k=k&&k[l]||"";"S"==k&&g>Of&&(k="B");k=Pf[g||0]+k;if(g){if(28700==h)h=f/$b&127,l=L(a,h,-1);else for(h=f>>23&15,l=L(a,h,-1),p=0;l&&p<Qf.length;p++)if(g==Qf[p][0]&&(q=Qf[p][h])){k=Pf[q];l="";break}k=Da(k,8)+(l?l+",":"");f&4194304&&(k+="@");k+=L(a,f&262143,-1);(f=f>>18&15)&&(k+="("+L(a,f,
@ -210,45 +210,45 @@ m.Ra=function(a,b,c){var d=!0;c||Sf(this,a,b,!1,!0);if(a!=this.i){var e=hf(b);if
function Uf(a,b){for(var c=1;c<b.length;c++)Tf(a,b,c);return b.length-1}function Tf(a,b,c,d){c=b[c];a.u(b[0]+" "+L(a,c.B,18)+(d?" "+d:c.hb?' "'+c.hb+'"':""))}function If(a,b){if(void 0!==b)Zc(a,b,1,a.i,!0),a.O=0;else for(b=1;b<a.i.length;b++){var c=a.i[b];if(c.qa){if(!Sf(a,a.i,c,!0))break;b=0}}}
function Zc(a,b,c,d,e){var f=!1;if(!a.xa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.qa)for(var k=hf(h)&(d==a.i?65535:-1),l=0;l<c;l++)if(b+l==k){var p,f=!0;h.qa&&(Sf(a,d,h,!0),e=!0);if(p=h.zb){for(var f=!1,q=0;q<p.length;q++)if(!Vf(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var D=q+1;D<p.length&&p[D].indexOf("else");D++)q++;if(D==p.length){f=!0;break}}a.v.A.P||(f=!0)}if(f){e||Tf(a,d,g,"hit");break}}}a.xa--;return f}
function Wf(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);jf(e.Ia,d);f+="="+L(e,e.Na(e.Ia),36)+" ";c+=f}if(b){b="";for(d=0;d<rf.length;d++)(e=rf[d]||"")&&(e+="="+L(a,a.ub(d),d>=wf?1:d==tf?23:18)+" "),b+=e;c+="\n"+b}return c}m.Gb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Ie(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,l=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],q=Ha(p,k,a.Gb);0>q&&p.splice(-(q+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.I.push({yd:b,B:c,Wb:d,aa:e,Bb:f})}function Xf(a,b,c){var d=[],e=hf(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],g=f.B>>>0,h=f.Wb;if(e>=g&&e<g+h){e=Ha(f.Bb,[e-g],a.Gb);0<=e?Yf(a,b,e,d):c&&(e=~e,Yf(a,b,e-1,d),Yf(a,b,e,d));break}}return d}
function Zf(a,b,c){var d=a.G,e=0,f=null,g=0;b.forEach(function(a,b){d.b[(b&d.j)>>>d.i].g(a,b&16383,b);null==f&&(f=b);b>g&&(g=b);e++});e?(b="start address ",null!=c?(I(a.v,c),b+=L(a,c)):b+="unspecified",a.u(e+" words loaded at "+L(a,f)+"-"+L(a,g)+", "+b),ed(a)):a.u("no data")}function Yf(a,b,c,d){var e={},f=a.I[b].Bb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.I[b].aa[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function $f(a,b){var c=b[0].substr(1),d=b[1]&&"0"<=b[1][0]&&"9">=b[1][0]?b[1]:void 0,e=d?b[2]:b[1],f=nf(a,d,a.ha);if(!e)return a.u("begin assemble at "+L(a,f.B,18)),a.V=!0,K(a.H),!0;var g=e.match(/^(['"]?)(.*?)(\.klm|\.mac|\.html|\.txt|)\1$/i);if(g&&(g[1]||g[3])){f=nf(a,d);if(a.wa)a.u("assembly already in progress");else{var h=g[2]+g[3];g[3]||(c+="s");var k=f.B,l=a.wa=new Bg(a);Dg(l,h,k,c,function(b,c){if(!b)try{var d=l.J;null==d&&(d=k);Zf(a,l.T,d)}catch(F){"number"==typeof F?b=F||-1:(a.u(F.message),
function Ie(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,l=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],q=Fa(p,k,a.Gb);0>q&&p.splice(-(q+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.I.push({yd:b,B:c,Wb:d,aa:e,Bb:f})}function Xf(a,b,c){var d=[],e=hf(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],g=f.B>>>0,h=f.Wb;if(e>=g&&e<g+h){e=Fa(f.Bb,[e-g],a.Gb);0<=e?Yf(a,b,e,d):c&&(e=~e,Yf(a,b,e-1,d),Yf(a,b,e,d));break}}return d}
function Zf(a,b,c){var d=a.G,e=0,f=null,g=0;b.forEach(function(a,b){d.b[(b&d.j)>>>d.i].g(a,b&16383,b);null==f&&(f=b);b>g&&(g=b);e++});e?(b="start address ",null!=c?(H(a.v,c),b+=L(a,c)):b+="unspecified",a.u(e+" words loaded at "+L(a,f)+"-"+L(a,g)+", "+b),ed(a)):a.u("no data")}function Yf(a,b,c,d){var e={},f=a.I[b].Bb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.I[b].aa[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function $f(a,b){var c=b[0].substr(1),d=b[1]&&"0"<=b[1][0]&&"9">=b[1][0]?b[1]:void 0,e=d?b[2]:b[1],f=nf(a,d,a.ha);if(!e)return a.u("begin assemble at "+L(a,f.B,18)),a.V=!0,K(a.H),!0;var g=e.match(/^(['"]?)(.*?)(\.klm|\.mac|\.html|\.txt|)\1$/i);if(g&&(g[1]||g[3])){f=nf(a,d);if(a.wa)a.u("assembly already in progress");else{var h=g[2]+g[3];g[3]||(c+="s");var k=f.B,l=a.wa=new ag(a);Cg(l,h,k,c,function(b,c){if(!b)try{var d=l.J;null==d&&(d=k);Zf(a,l.T,d)}catch(F){"number"==typeof F?b=F||-1:(a.u(F.message),
b=-1)}b&&a.u("error ("+b+") processing "+(c||h));a.wa=null;b||gd(a)})}return!1}b.shift();b.shift();b.shift();b=Rf(a,e,b.join(""),f.B||0);0<=b&&(a.yb(f,b),a.u(Jf(a,f)));return!0}function Eg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return cf(a)||a.u("no variables"),!0;if(!c[2])return cf(a,c[1]);if(!c[3])return delete a.b[c[1]],!0;b=$e(a,c[3]);return void 0!==b?(a.b[c[1]]={value:b,Mb:void 0},!0):!1}a.u("invalid assignment:"+b);return!1}
function Fg(a,b,c){var d=null;b=nf(a,b);var e=Xf(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]+" ("+L(a,e[1],18)+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+L(a,e[5],18)+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols");return d}
function Gf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\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.u("missing value for "+b[1]);return}g=$e(a,b);if(void 0===g)return;b=a.tb(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case sf:I(h,
function Gf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\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.u("missing value for "+b[1]);return}g=$e(a,b);if(void 0===g)return;b=a.tb(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case sf:H(h,
g);jf(a.M,h.i);break;case vf:td(h,g);break;case wf:f=131072;break;case xf:f=65536;break;case yf:f=32768;break;case zf:f=8192;break;case Af:f=32;break;case Bf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);K(a.H);a.u("updated registers:")}}a.u(Wf(a,e));c&&(jf(a.M,vd(d)),Hf(a,L(a,a.M.B,18)))}}function Gg(a,b){b=Ea(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):af(a,null,c[2].charCodeAt(0)):$e(a,b,!1)}
function Hg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Ve(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Da=b;Xa(c,function(){return Pb(a,!0)&&uc(a,e,d,!1)},function(){a.ma&&a.ma.stop();K(a.H,-1);Pb(a,!1)})}}
function Hf(a,b,c,d){b=nf(a,b,a.M);void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Ve(a,c.substr(1)),null!=c&&(d=c);else{d=nf(a,c);if(d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Eb(a,!1)||a.O?a.F:null,g=null!=f?"cycles":null,h=Xf(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ha;l=b;h.B=l.B;h.eb=l.eb;h.qa=l.qa;h.U=l.U;a.u(Jf(a,b,g,f));e-=b.B-k;c++}}
function Vf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(Ff+b):(a.V&&(a.u("ended assemble at "+L(a,a.ha.B,18)),a.V=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Z=null;if(Cb(a)&&0<b.length){a.V&&(b="a "+L(a,a.ha.B,18)+" "+b);var f=!1,g=b,h;h=void 0===h?" ":h;for(var k=[],l="",p=0,q=0;p<g.length;){var D=g[p++];l?D==l&&(l="",k.push(g.substr(q,p-q)),q=p):'"'==D||"'"==D?l=D:0<=h.indexOf(D)&&(k.push(g.substr(q,p-q-1)),q=p)}q<p&&k.push(g.substr(q,p-q));k[0]=k[0].toLowerCase();if(k&&k.length)for(var F=
k[0],J=F.charAt(0),p=1;p<F.length;p++)if(D=F.charAt(p),"?"==J||"r"==J||"a">D||"z"<D){k[0]=F.substr(p);k.unshift(F.substr(0,p));break}switch(k[0].charAt(0)){case "a":d=$f(a,k);break;case "b":var Lc=k[0],qa=k[1],G=b;if("?"==qa)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var Pa=Lc.charAt(1);
if("l"==Pa){var Rd;Rd=0+Uf(a,a.i);Rd+=Uf(a,a.N);(Rd+=Uf(a,a.K))||a.u("no breakpoints")}else if("n"==Pa){var ag=+qa||0;qa&&(a.pa=ag);a.u("break after "+ag+" instruction(s)")}else if(void 0===qa)a.u("missing breakpoint address");else{var ka="*"==qa?Y():nf(a,qa,a.M);"c"==Pa?null==ka.B?(ef(a),a.u("all breakpoints cleared")):Sf(a,a.i,ka)||Sf(a,a.N,ka)||Sf(a,a.K,ka)||a.u("breakpoint missing: "+L(a,ka.B,18)):null!=ka.B&&(pf(a,ka,G),"p"==Pa?a.Ra(a.i,ka):"r"==Pa?a.Ra(a.N,ka):"w"==Pa?a.Ra(a.K,ka):a.u("unknown breakpoint command: "+
Pa))}}break;case "c":a.za&&(a.za.value="");break;case "d":a:{var kb,lb=k[0],ra=k[1],Fa=k[2],Zh=k[3];if("?"==ra){var mb="";for(kb in cc)a.va[kb]&&(mb&&(mb+=","),mb+=kb);mb+=",state,symbols";a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");mb.length&&a.u("dump extension commands:\n\t"+mb)}else if("state"==ra){var Sd=Ig(a.H,!0);"console"==Fa?console.log(Sd):
(a.za&&(a.za.value=""),Sd&&a.u(Sd))}else if("symbols"==ra)for(var Td=0;Td<a.I.length;Td++){var Ud=a.I[Td],nb;for(nb in Ud.aa)if("."!=nb.charAt(0)){var bg=Ud.aa[nb].o;if(void 0!==bg){var cg=Ud.aa[nb].l;cg&&(nb=cg);a.u(L(a,bg,18)+" "+nb)}}}else{if("d"==lb){for(kb in cc)if(k[1]==kb){var dg=a.va[kb];dg?(k.shift(),k.shift(),dg(k)):a.u("no dump registered for "+ra);break a}ra||(lb=a.Oa||"dw")}else a.Oa=lb;if("dh"==lb){var eg=ra,fg=Fa,gg="",hg=0,la=a.W,sa=a.j;if(sa.length){var fa=+eg||a.Ca,Fb=+fg||10;isNaN(fa)?
fa=Fb:gg="more ";fa>sa.length&&(a.u("note: only "+sa.length+" available"),fa=sa.length);la-=fa;0>la&&(null==sa[sa.length-1].B?(fa=la+fa,la=0):la+=sa.length);var Vd=[];"call"==fg&&(Fb=1E5,Vd=["CALL"]);for(void 0!==eg&&a.u(fa+" instructions earlier:");0<Fb&&la!=a.W;){var ig=sa[la++];if(null==ig.B)break;var Gb=Y(ig.B),$h=fa--,jg=Jf(a,Gb,"history",$h);(!Vd.length||0<=jg.indexOf(Vd[0]))&&a.u(jg);Gb.rb&&(la+=Gb.rb,Fb-=Gb.rb,fa-=Gb.rb);la>=sa.length&&(la=0);a.Ca=fa;hg++;Fb--}}hg||(a.u("no "+gg+"history available"),
a.Ca=void 0)}else{var Qa=0,kg="ds"==lb,Hb=nf(a,ra,a.oa);Fa&&("l"==Fa.charAt(0)?(Fa=Fa.substr(1)||Zh,Qa=Ve(a,Fa)):Qa=nf(a,Fa).B-Hb.B,0>Qa&&(Qa=0),65536<Qa&&(Qa=65536));var ai=a.U;Hb.U&&(a.U=Hb.U);for(var lg="db"==lb?1:2,Wd=Qa||32,Xd=1==lg?1:4,bi=(Wd+Xd-1)/Xd|0||1,Ra="";bi--&&0<Wd;){for(var ta="",Yd="",ra=L(a,Hb.B,18),mg=Xd;0<mg--&&0<Wd--;){var Zd=a.Na(Hb,1);kg?(ta&&(ta+=","),ta+=Zd):(ta+=qf(a,Zd),ta+=" ");for(var Mc=29,ci=0;1==lg&&0<=Mc;ci++)var Ib=Zd/Math.pow(2,Mc)%Math.pow(2,7),ta=ta+(L(a,Ib,7)+
" "),Ib=Ib+0,Yd=Yd+(32>Ib?".":String.fromCharCode(Ib)),Mc=Mc-7}Ra&&(Ra+="\n");Ra=kg?Ra+(ta+","):Ra+(ra+": "+ta+(0>mg?" "+Yd:""))}Ra&&a.u(Ra);a.U=ai}}}break;case "e":if("else"==k[0])break;var ng,og,pg=k[0],$d=k[1];"e"==pg||"ew"==pg?(ng=a.Na,og=a.yb):$d=null;if(null==$d)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var ae=nf(a,$d,a.oa),be=2;be<k.length;be++){var Jb=$e(a,k[be]);if(void 0===Jb)break;Jb=of(Jb);a.u("changing "+L(a,ae.B,18)+" from "+qf(a,ng.call(a,
ae))+" to "+qf(a,Jb));og.call(a,ae,Jb,1)}break;case "g":var qg=k[1],di=b;if(void 0!==qg){var rg=nf(a,qg);pf(a,rg,di);a.Ra(a.i,rg,!0)}Df(a,!0,c);break;case "h":a.A.P?(c||a.u("halting"),a.Y()):Eb(a,!0)||c||a.u("already halted");break;case "i":if("if"==k[0]){var ce;var Kb=b.substr(2),Kb=Ea(Kb);$e(a,Kb)?(c||a.u("true: "+Kb),ce=!0):(c||a.u("false: "+Kb),ce=!1);ce||(d=!1);break}f=!0;break;case "k":var ei=k[0];if("?"==k[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");
else{var de=0,ee=Y(),Lb=Y();for(a.u("stack trace for "+L(a,Lb.B,18));10>de;){for(var Sa=null,fi=256;65536>Lb.B>>>0;){ee.B=a.Na(Lb,2);if(null==Lb.B||!fi--)break;if(!(ee.B&1)){for(var gi=a,Nc=ee,sg=null,Mb=Nc.B,tg=Mb,fe=1;6>=fe&&Mb;fe++){if(2<fe){Nc.B=Mb;var Oc=Jf(gi,Nc);if(0<=Oc.indexOf("JSR")){var ug=Oc.indexOf(" ");if(Mb+(Oc.indexOf(" ",ug+1)-ug-1)/2==tg){sg=Oc;break}}}Mb-=2}Nc.B=tg;if(Sa=sg)break}}if(!Sa||null==Sa)break;var vg=null;if("ks"==ei){var wg=Sa.match(/[0-9A-F]+$/);wg&&(vg=Fg(a,wg[0]))}Sa=
Da(Sa,50)+" ;"+(vg||"stack="+L(a,Lb.B,18));a.u(Sa);de++}de||a.u("no return addresses found")}break;case "l":if("ln"==k[0]){Fg(a,k[1],!0);break}f=!0;break;case "m":a:{var ua,va=null,N=k[1];"?"==N&&(N=void 0);if(void 0!==N){var Ga=0;if("all"==N)Ga=1879046143,N=null;else if("on"==N)va=!0,N=null;else if("off"==N)va=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(ua in cc)if(N==ua){Ga=cc[ua];va=!!(a.ca&Ga);break}if(!Ga){a.u("unknown message category: "+N);break a}}if(Ga)if("on"==k[2])a.ca|=
Ga,va=!0;else if("off"==k[2]&&(a.ca&=~Ga,va=!1,1073741824==Ga)){for(var xg=1E3<=a.R.length?a.R.length-1E3:0;xg<a.R.length;)a.u(a.R[xg++]);a.R=[]}}var hi=0,Nb="";for(ua in cc)if(!N||N==ua){var ii=!!(a.ca&cc[ua]);if(null===va||va==ii)Nb&&(Nb+=","),++hi%10||(Nb+="\n\t"),"key"==ua&&(ua="keys"),Nb+=ua}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==va?va?"messages on: ":"messages off: ":"message categories:\n\t")+(Nb||"none"));ff(a)}break;case "p":if("print"==
k[0]){Gg(a,b.substr(5));break}var yg=k[0],zg="p"==yg?0:"pr"==yg?1:-1;if("?"==k[1]||0>zg)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else if(a.O)a.u("step in progress");else{var Ag=Y(a.v.i);a.Na(Ag);a.O?(a.Ra(a.i,Ag,!0),Df(a)||(a.H&&ld(a.H),a.O=0)):Hg(a,zg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}Gf(a,k);break;case "s":a:switch(k[1]){case "base":if(k[2]){var ob=+k[2];if(2==ob||8==ob||10==ob||16==ob)a.U=ob;else{a.u("invalid base: "+
k[0],J=F.charAt(0),p=1;p<F.length;p++)if(D=F.charAt(p),"?"==J||"r"==J||"a">D||"z"<D){k[0]=F.substr(p);k.unshift(F.substr(0,p));break}switch(k[0].charAt(0)){case "a":d=$f(a,k);break;case "b":var Lc=k[0],qa=k[1],I=b;if("?"==qa)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var Pa=Lc.charAt(1);
if("l"==Pa){var Rd;Rd=0+Uf(a,a.i);Rd+=Uf(a,a.N);(Rd+=Uf(a,a.K))||a.u("no breakpoints")}else if("n"==Pa){var bg=+qa||0;qa&&(a.pa=bg);a.u("break after "+bg+" instruction(s)")}else if(void 0===qa)a.u("missing breakpoint address");else{var ja="*"==qa?Y():nf(a,qa,a.M);"c"==Pa?null==ja.B?(ef(a),a.u("all breakpoints cleared")):Sf(a,a.i,ja)||Sf(a,a.N,ja)||Sf(a,a.K,ja)||a.u("breakpoint missing: "+L(a,ja.B,18)):null!=ja.B&&(pf(a,ja,I),"p"==Pa?a.Ra(a.i,ja):"r"==Pa?a.Ra(a.N,ja):"w"==Pa?a.Ra(a.K,ja):a.u("unknown breakpoint command: "+
Pa))}}break;case "c":a.za&&(a.za.value="");break;case "d":a:{var kb,lb=k[0],ra=k[1],Ga=k[2],Zh=k[3];if("?"==ra){var mb="";for(kb in cc)a.va[kb]&&(mb&&(mb+=","),mb+=kb);mb+=",state,symbols";a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");mb.length&&a.u("dump extension commands:\n\t"+mb)}else if("state"==ra){var Sd=Ig(a.H,!0);"console"==Ga?console.log(Sd):
(a.za&&(a.za.value=""),Sd&&a.u(Sd))}else if("symbols"==ra)for(var Td=0;Td<a.I.length;Td++){var Ud=a.I[Td],nb;for(nb in Ud.aa)if("."!=nb.charAt(0)){var cg=Ud.aa[nb].o;if(void 0!==cg){var dg=Ud.aa[nb].l;dg&&(nb=dg);a.u(L(a,cg,18)+" "+nb)}}}else{if("d"==lb){for(kb in cc)if(k[1]==kb){var eg=a.va[kb];eg?(k.shift(),k.shift(),eg(k)):a.u("no dump registered for "+ra);break a}ra||(lb=a.Oa||"dw")}else a.Oa=lb;if("dh"==lb){var fg=ra,gg=Ga,hg="",ig=0,ka=a.W,sa=a.j;if(sa.length){var ga=+fg||a.Ca,Fb=+gg||10;isNaN(ga)?
ga=Fb:hg="more ";ga>sa.length&&(a.u("note: only "+sa.length+" available"),ga=sa.length);ka-=ga;0>ka&&(null==sa[sa.length-1].B?(ga=ka+ga,ka=0):ka+=sa.length);var Vd=[];"call"==gg&&(Fb=1E5,Vd=["CALL"]);for(void 0!==fg&&a.u(ga+" instructions earlier:");0<Fb&&ka!=a.W;){var jg=sa[ka++];if(null==jg.B)break;var Gb=Y(jg.B),$h=ga--,kg=Jf(a,Gb,"history",$h);(!Vd.length||0<=kg.indexOf(Vd[0]))&&a.u(kg);Gb.rb&&(ka+=Gb.rb,Fb-=Gb.rb,ga-=Gb.rb);ka>=sa.length&&(ka=0);a.Ca=ga;ig++;Fb--}}ig||(a.u("no "+hg+"history available"),
a.Ca=void 0)}else{var Qa=0,lg="ds"==lb,Hb=nf(a,ra,a.oa);Ga&&("l"==Ga.charAt(0)?(Ga=Ga.substr(1)||Zh,Qa=Ve(a,Ga)):Qa=nf(a,Ga).B-Hb.B,0>Qa&&(Qa=0),65536<Qa&&(Qa=65536));var ai=a.U;Hb.U&&(a.U=Hb.U);for(var mg="db"==lb?1:2,Wd=Qa||32,Xd=1==mg?1:4,bi=(Wd+Xd-1)/Xd|0||1,Ra="";bi--&&0<Wd;){for(var ta="",Yd="",ra=L(a,Hb.B,18),ng=Xd;0<ng--&&0<Wd--;){var Zd=a.Na(Hb,1);lg?(ta&&(ta+=","),ta+=Zd):(ta+=qf(a,Zd),ta+=" ");for(var Mc=29,ci=0;1==mg&&0<=Mc;ci++)var Ib=Zd/Math.pow(2,Mc)%Math.pow(2,7),ta=ta+(L(a,Ib,7)+
" "),Ib=Ib+0,Yd=Yd+(32>Ib?".":String.fromCharCode(Ib)),Mc=Mc-7}Ra&&(Ra+="\n");Ra=lg?Ra+(ta+","):Ra+(ra+": "+ta+(0>ng?" "+Yd:""))}Ra&&a.u(Ra);a.U=ai}}}break;case "e":if("else"==k[0])break;var og,pg,qg=k[0],$d=k[1];"e"==qg||"ew"==qg?(og=a.Na,pg=a.yb):$d=null;if(null==$d)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var ae=nf(a,$d,a.oa),be=2;be<k.length;be++){var Jb=$e(a,k[be]);if(void 0===Jb)break;Jb=of(Jb);a.u("changing "+L(a,ae.B,18)+" from "+qf(a,og.call(a,
ae))+" to "+qf(a,Jb));pg.call(a,ae,Jb,1)}break;case "g":var rg=k[1],di=b;if(void 0!==rg){var sg=nf(a,rg);pf(a,sg,di);a.Ra(a.i,sg,!0)}Df(a,!0,c);break;case "h":a.A.P?(c||a.u("halting"),a.Y()):Eb(a,!0)||c||a.u("already halted");break;case "i":if("if"==k[0]){var ce;var Kb=b.substr(2),Kb=Ea(Kb);$e(a,Kb)?(c||a.u("true: "+Kb),ce=!0):(c||a.u("false: "+Kb),ce=!1);ce||(d=!1);break}f=!0;break;case "k":var ei=k[0];if("?"==k[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");
else{var de=0,ee=Y(),Lb=Y();for(a.u("stack trace for "+L(a,Lb.B,18));10>de;){for(var Sa=null,fi=256;65536>Lb.B>>>0;){ee.B=a.Na(Lb,2);if(null==Lb.B||!fi--)break;if(!(ee.B&1)){for(var gi=a,Nc=ee,tg=null,Mb=Nc.B,ug=Mb,fe=1;6>=fe&&Mb;fe++){if(2<fe){Nc.B=Mb;var Oc=Jf(gi,Nc);if(0<=Oc.indexOf("JSR")){var vg=Oc.indexOf(" ");if(Mb+(Oc.indexOf(" ",vg+1)-vg-1)/2==ug){tg=Oc;break}}}Mb-=2}Nc.B=ug;if(Sa=tg)break}}if(!Sa||null==Sa)break;var wg=null;if("ks"==ei){var xg=Sa.match(/[0-9A-F]+$/);xg&&(wg=Fg(a,xg[0]))}Sa=
Da(Sa,50)+" ;"+(wg||"stack="+L(a,Lb.B,18));a.u(Sa);de++}de||a.u("no return addresses found")}break;case "l":if("ln"==k[0]){Fg(a,k[1],!0);break}f=!0;break;case "m":a:{var ua,va=null,N=k[1];"?"==N&&(N=void 0);if(void 0!==N){var Ha=0;if("all"==N)Ha=1879046143,N=null;else if("on"==N)va=!0,N=null;else if("off"==N)va=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(ua in cc)if(N==ua){Ha=cc[ua];va=!!(a.ca&Ha);break}if(!Ha){a.u("unknown message category: "+N);break a}}if(Ha)if("on"==k[2])a.ca|=
Ha,va=!0;else if("off"==k[2]&&(a.ca&=~Ha,va=!1,1073741824==Ha)){for(var yg=1E3<=a.R.length?a.R.length-1E3:0;yg<a.R.length;)a.u(a.R[yg++]);a.R=[]}}var hi=0,Nb="";for(ua in cc)if(!N||N==ua){var ii=!!(a.ca&cc[ua]);if(null===va||va==ii)Nb&&(Nb+=","),++hi%10||(Nb+="\n\t"),"key"==ua&&(ua="keys"),Nb+=ua}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==va?va?"messages on: ":"messages off: ":"message categories:\n\t")+(Nb||"none"));ff(a)}break;case "p":if("print"==
k[0]){Gg(a,b.substr(5));break}var zg=k[0],Ag="p"==zg?0:"pr"==zg?1:-1;if("?"==k[1]||0>Ag)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else if(a.O)a.u("step in progress");else{var Bg=Y(a.v.i);a.Na(Bg);a.O?(a.Ra(a.i,Bg,!0),Df(a)||(a.H&&ld(a.H),a.O=0)):Hg(a,Ag?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}Gf(a,k);break;case "s":a:switch(k[1]){case "base":if(k[2]){var ob=+k[2];if(2==ob||8==ob||10==ob||16==ob)a.U=ob;else{a.u("invalid base: "+
ob);break}}a.u("default base: "+a.U);break;case "cs":var Ob;void 0!==k[3]&&(Ob=+k[3]);switch(k[2]){case "int":a.v.pa=Ob;break;case "start":a.v.Ia=Ob;break;case "stop":a.v.ua=Ob;break;default:a.u("unknown cs option");break a}void 0!==Ob&&dd(a.v);a.u("checksums "+(a.v.A.Ua?"enabled":"disabled"));break;case "sp":void 0!==k[2]&&(id(a.v,+k[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ga.toFixed(2)+"Mhz")+" ("+a.v.ha+"x)");break;default:if(k[1]){a.u("unknown option: "+
k[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":Hg(a,k[0],k[1]);break;case "u":Hf(a,k[1],k[2],8);break;case "v":if("var"==k[0]){Eg(a,b.substr(3))||(d=!1);break}if("ver"==k[0]){a.u((Sb||"PDP10")+" version 1.34.3 ("+a.v.mb+",RELEASE)");a.u(window?
window.navigator.userAgent:"");break}f=!0;break;case "?":if(k[1]){Gg(a,b.substr(1));break}var ge="commands:",he;for(he in Jg)ge+="\n"+Da(he,9)+Jg[he];wd(a)||(ge+="\nnote: history disabled if no exec breakpoints");a.u(ge);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(Cg){a.u("Debugger "+(Cg.stack||Cg.message)),d=!1}return d}function gd(a,b,c){null!=b&&(a.Ha=Pe(a,b,c));for(;b=a.Ha.shift();)if(!Vf(a,b))return!1;return!0}
window.navigator.userAgent:"");break}f=!0;break;case "?":if(k[1]){Gg(a,b.substr(1));break}var ge="commands:",he;for(he in Jg)ge+="\n"+Da(he,9)+Jg[he];wd(a)||(ge+="\nnote: history disabled if no exec breakpoints");a.u(ge);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(Dg){a.u("Debugger "+(Dg.stack||Dg.message)),d=!1}return d}function gd(a,b,c){null!=b&&(a.Ha=Pe(a,b,c));for(;b=a.Ha.shift();)if(!Vf(a,b))return!1;return!0}
var Jg={"?":"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"},Of=20,Pf=".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(" "),
sf=0,tf=1,uf=2,vf=3,wf=4,xf=5,yf=6,zf=7,Af=8,Bf=9,rf="PC RA EA PS OV C0 C1 BI ND PD".split(" "),Kg={},Kf=(Kg[28672]={0:101},Kg[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},Kg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Of,
9216:53,9472:52,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},Kg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Kg[29248]={24576:79,24640:80,25088:81,25152:82},Kg[28700]={28672:93,28676:94,28680:95,28684:96,
28688:97,28692:98,28696:99,28700:100},Kg),Lf=["","I","M","S"],Mf=" L E LE A GE N G".split(" "),Nf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Qf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],Cf=1E3,Ff=">> ";$a(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new df(d);ub(d,c)}});function Bg(a){this.b=a}
28688:97,28692:98,28696:99,28700:100},Kg),Lf=["","I","M","S"],Mf=" L E LE A GE N G".split(" "),Nf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Qf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],Cf=1E3,Ff=">> ";$a(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new df(d);ub(d,c)}});function ag(a){this.b=a}
function Lg(a,b,c,d){a.la=b;a.W=(c||"").toLowerCase();a.done=d;a.O=0;a.H=[];a.M=[];a.D=[];a.v={};a.I={};a.L=[];a.K=[];a.T=[];a.ea=[];a.Z=[];a.ia=0;a.V=0;a.ga=0;a.X=a.la||0;a.Ea=-1;a.G=[];a.S=null;a.i=0;a.R=null;a.C=a.N="";a.ha=/^[ \t]*([A-Z$%.?][0-9A-Z$%.]*:|)[ \t]*([A-Z$%.][0-9A-Z$%.]*|)([ \t]*)([^;]+|)(;?[\s\S]*)/i;a.j=null;a.w=null;a.F="";a.J=null}
function Dg(a,b,c,d,e){d&&0<=d.indexOf("s")?(Lg(a,c,d,e),a.D=b.split(/(\r?\n)/),a.M.push(a.D.length),Mg(a),a.done&&a.done(a.V)):(Lg(a,c,d,e),a.H=b.split(";"),Ng(a))}
function Cg(a,b,c,d,e){d&&0<=d.indexOf("s")?(Lg(a,c,d,e),a.D=b.split(/(\r?\n)/),a.M.push(a.D.length),Mg(a),a.done&&a.done(a.V)):(Lg(a,c,d,e),a.H=b.split(";"),Ng(a))}
function Ng(a){if(a.O==a.H.length)Mg(a),a.done&&a.done(a.V);else{var b=a.H[a.O];a.u("loading "+ya(b));0>b.indexOf(":")&&0<=".MAC.KLM".indexOf(b.slice(-4).toUpperCase())&&(b+=".txt");Ja(b,null,!0,function(b,d,e){if(e)a.done&&a.done(e,b);else{e=d;if(Aa(b,".html")){e="";var c;for(b=/<pre>([\s\S]*?)<\/pre>/gi;c=b.exec(d);)c=c[1],0<=c.indexOf("&")&&(c=c.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&amp;/gi,"&")),e+=c;(c=e.match(/&[a-z]+;/i))&&Og(a,"unrecognized HTML entity '"+c[0]+"'")}d=e.split(/(\r?\n)/);
if(d.length&1){if(c=d.pop())Og(a,"unexpected line '"+c+"'"),d.push(c),d.push("")}else Og(a,"unexpected number of lines ("+d.length+")");a.D=a.D.concat(d);a.M[a.O]=d.length>>1;a.O++;setTimeout(function(){Ng(a)},0)}})}}
function Mg(a){if(0<=a.W.indexOf("p"))a.u(a.D.join(""));else{var b=bf(a.b);Pg(a,"APR",0);Pg(a,"PI",4);try{for(var c=0;c<a.D.length;c+=2){a.ia++;0<=a.W.indexOf("l")&&a.u(Qg(a)+": "+a.D[c]);if(!Rg(a,a.D[c]+"\r\n"))break;if(null!==a.J)break}a.i&&a.error("open block",a.v[a.R].ia);a.G.length&&a.error("open scope",a.G[0].ia);Sg(a);Tg(a);a.ea.forEach(function(b,c){b=Ug(a,b,void 0,c,a.Z[c]);void 0!==b&&(b+=a.T[c],a.T[c]=Vg(a,b,c))})}catch(d){a.u(d.message),a.V=-1}0>a.W.indexOf("d")&&(a.b.b=b)}}
function Rg(a,b,c,d,e){var f,g;null!=a.w&&(b=Wg(a,b));for(var h=!0,k="";h;){g=b.match(a.ha);if(!g||g[5]&&";"!=g[5].slice(0,1))return a.error("failed to parse line '"+b+"'"),!1;h=!1;k=g[2].toUpperCase();if(k==Xg||k==Yg)c=null;if(c){for(f=0;f<c.length;f++)for(var l=c[f],p=d[f]||e[f]||"",q=0,D=b.length-g[5].length;q<D;){var F=b.indexOf(l,q);if(0>F)break;var q=F+1,J=F+l.length,Lc="",qa="";F&&(Lc=b[F-1]).match(/[0-9A-Z$%.]/i)||!(J>=b.length)&&(qa=b[J]).match(/[0-9A-Z$%.]/i)||("'"==Lc&&F--,"'"==qa&&J++,
b=b.substr(0,F)+p+b.substr(J),q=F+p.length,h=!0)}c=null}if(a.i&&(1==a.i&&(f=b.indexOf(a.C),0<=f?(a.i++,b=b.substr(f+1)):a.error("expected "+a.S+" definition in '"+b+"'")),1<a.i&&(b=Zg(a,b),h=!0),a.i))return!0}d=g[1];b=g[3];c=g[4].trim();g=g[4]+g[5];d&&(d=d.slice(0,-1),Pg(a,d,a.X,$g));var G;k&&(G=c.match(/^([=:]+)(.*)/))&&(e=0,d=k,k=G[1],c=G[2],"=="==k?e|=ah:"=:"==k&&(e|=bh),Pg(a,d,c,e),k=c="");if(!k&&!c)return!0;a.S=k;if(G=ch(a,c))c=c.replace(G,dh(a,eh,ch(a,g))),b||(b="\t");for(;G=fh(a,c);)c=c.replace(G,
G.slice(0,-1));if(!gh(a,k,c))switch(k){case hh:case ih:case jh:Wg(a,g);break;case kh:k=c;G=Ug(a,k);void 0!==G&&0<=G&&262143>=G?a.X+=G:a.error("unrecognized BLOCK expression '"+k+"'");break;case lh:k=c;b=g=0;for(c=36;G=mh(a,k);){k=k.substr(G.length).trim();d=G;if(e=G.match(/^\((.*)\)\s*(.*)$/))e[1]&&(g=Ug(a,"^D"+e[1])),d=e[2];if(g){d=d?Ug(a,d):0;if(void 0===d||0>g||36<g){a.error("unexpected BYTE operand: "+G);break}d=X(a.b,d,g,!0);c<g&&(nh(a,b),b=0,c=36);b+=d*Math.pow(2,c-g);c-=g}else nh(a,0)}36>c&&
nh(a,b);break;case oh:(k=c)?(a.J=Ug(a,k),void 0===a.J&&a.error("unrecognized END expression '"+k+"'")):a.J=a.la;break;case ph:qh(a,c);break;case rh:Sg(a);break;case sh:a.X=Ug(a,c)||0;break;case th:Tg(a);break;case uh:qh(a,c.replace(",",",,"));break;case vh:case wh:case xh:case yh:case zh:case Ah:case Bh:case Ch:case Dh:case Eh:case Fh:case Gh:case Xg:case Yg:case Hh:case Ih:dh(a,k,g);break;case Jh:k=Kh(a,c);for(G=0;G<k.length;G++)delete a.b.b[k[G]],delete a.I[k[G]];break;case Lh:case Mh:case Nh:case Oh:case Ph:case Qh:case Rh:break;
default:G=[],k=(k+b+c).trim(),g=Ug(a,k,G),void 0!==g?nh(a,g,G[0]):a.error("unrecognized word expression '"+k+"'")}return!0}
b=b.substr(0,F)+p+b.substr(J),q=F+p.length,h=!0)}c=null}if(a.i&&(1==a.i&&(f=b.indexOf(a.C),0<=f?(a.i++,b=b.substr(f+1)):a.error("expected "+a.S+" definition in '"+b+"'")),1<a.i&&(b=Zg(a,b),h=!0),a.i))return!0}d=g[1];b=g[3];c=g[4].trim();g=g[4]+g[5];d&&(d=d.slice(0,-1),Pg(a,d,a.X,$g));var I;k&&(I=c.match(/^([=:]+)(.*)/))&&(e=0,d=k,k=I[1],c=I[2],"=="==k?e|=ah:"=:"==k&&(e|=bh),Pg(a,d,c,e),k=c="");if(!k&&!c)return!0;a.S=k;if(I=ch(a,c))c=c.replace(I,dh(a,eh,ch(a,g))),b||(b="\t");for(;I=fh(a,c);)c=c.replace(I,
I.slice(0,-1));if(!gh(a,k,c))switch(k){case hh:case ih:case jh:Wg(a,g);break;case kh:k=c;I=Ug(a,k);void 0!==I&&0<=I&&262143>=I?a.X+=I:a.error("unrecognized BLOCK expression '"+k+"'");break;case lh:k=c;b=g=0;for(c=36;I=mh(a,k);){k=k.substr(I.length).trim();d=I;if(e=I.match(/^\((.*)\)\s*(.*)$/))e[1]&&(g=Ug(a,"^D"+e[1])),d=e[2];if(g){d=d?Ug(a,d):0;if(void 0===d||0>g||36<g){a.error("unexpected BYTE operand: "+I);break}d=X(a.b,d,g,!0);c<g&&(nh(a,b),b=0,c=36);b+=d*Math.pow(2,c-g);c-=g}else nh(a,0)}36>c&&
nh(a,b);break;case oh:(k=c)?(a.J=Ug(a,k),void 0===a.J&&a.error("unrecognized END expression '"+k+"'")):a.J=a.la;break;case ph:qh(a,c);break;case rh:Sg(a);break;case sh:a.X=Ug(a,c)||0;break;case th:Tg(a);break;case uh:qh(a,c.replace(",",",,"));break;case vh:case wh:case xh:case yh:case zh:case Ah:case Bh:case Ch:case Dh:case Eh:case Fh:case Gh:case Xg:case Yg:case Hh:case Ih:dh(a,k,g);break;case Jh:k=Kh(a,c);for(I=0;I<k.length;I++)delete a.b.b[k[I]],delete a.I[k[I]];break;case Lh:case Mh:case Nh:case Oh:case Ph:case Qh:case Rh:break;
default:qh(a,k,b,c)}return!0}
function gh(a,b,c){var d=a.v[b];if(!d)return!1;if(null!=c){if(d.Fa==Sh){var e=a.X;Z(a,d.ka);if(e<a.X){if(!c)return!0;Th(a);Z(a,c);var d=a.T[0],f=a.ea[0];Uh(a);if(void 0!==d)return a.T[e]+=d&130023423,a.T[e]+=d&4194304,f&&(a.ea[e]=a.ea[e]?a.ea[e]+("+"+f):f),!0}a.error("OPDEF '"+b+"' ("+c+") failed");return!1}b=a.j;a.j=d;d.Qa=Kh(a,c,!0);Z(a,d.ka,d.Ta,d.Qa,d.Ab);a.j=b;return!0}if("?"!=b[0])return!1;switch(b.substr(1)){case zh:case yh:case Gh:d.Fa||Z(a,d.ka);break;case Ah:0<d.Fa&&Z(a,d.ka);break;case Bh:0<=
d.Fa&&Z(a,d.ka);break;case Dh:0>d.Fa&&Z(a,d.ka);break;case Eh:0>=d.Fa&&Z(a,d.ka);break;case wh:case Fh:case xh:case Ch:d.Fa&&Z(a,d.ka);break;case Xg:case Yg:for(b=0;b<d.Qa.length;b++)Z(a,d.ka,d.Ta,[d.Qa[b]],[]);break;case Ih:for(;0<d.Fa--;)Z(a,d.ka);break;default:c=d.ka,Th(a,b),Z(a,c),Uh(a)}return!0}function Z(a,b,c,d,e){b=b.split(/\r?\n/);for(var f=0;f<b.length&&Rg(a,b[f]+"\r\n",c,d,e);f++);}
function Th(a,b){a.G.push({name:b,T:a.T,ea:a.ea,X:a.X,Ea:a.Ea,ia:a.ia});a.T=[];a.ea=[];0>a.Ea&&(a.Ea=a.X);a.X=0}function Uh(a){if(a.G.length){var b=a.G[a.G.length-1].name;b&&a.L.push({name:b,T:a.T,ea:a.ea});b=a.G.pop();a.T=b.T;a.ea=b.ea;a.X=b.X;a.Ea=b.Ea;a.G.length||-1==a.Ea||a.error("scope restore error")}else a.error("scope nesting error")}
@ -262,22 +262,23 @@ function dh(a,b,c){var d,e,f,g,h,k;a.C="<";a.N=">";g=h=k=[];if(b==vh){e=c.match(
b+" in '"+c+"'"),c;f=e[1];d=Sh;b=2}else if(b==eh)a.C="[",a.N="]",f="?"+xa(++a.ga,5),a.v[f]&&a.error("literal symbol '"+f+"' redefined"),e=[c[0],c.substr(1)],d=Xh,b=0;else if(b==Xg||b==Yg){a.j||a.error(b+" outside of macro");e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*,\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+" operands '"+c+"'"),c;for(d=0;d<a.j.Ta.length&&e[1]!=a.j.Ta[d];d++);if(d==a.j.Ta.length)return a.error("invalid "+b+" parameter '"+e[1]+"'"),c;f="?"+b;g=[e[1]];b==Yg?k=a.j.Qa[d].split(""):
k=Kh(a,a.j.Qa[d]);d=k.length;b=2}else{if(b==wh)d=1,","==c[0]&&(c=c.substr(1).trim());else{e=mh(a,c);if(!e)return a.error("missing "+b+" expression '"+c+"'"),c;c=c.substr(e.length+1);e=e.trim();if(b==yh||b==Ch){f=mh(a,c);if(!f)return a.error("missing second "+b+" expression '"+c+"'"),c;c=c.substr(f.length+1)}d=b==xh||b==Gh?a.v[e]||a.I[e]||void 0!==a.b.b[e]?1:0:Ug(a,e)||0}e=c.match(/\s*(<|)([\s\S]*)/i);f="?"+b;b=1}f=f.toUpperCase();a.i=1;a.R=f;a.v[f]={name:f,Fa:d,Ta:g,Ab:h,Qa:k,ka:"",ia:a.ia};e[b]&&
(a.i=2,Zg(a,e[b+1]));return f}function Zg(a,b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.C)a.i++;else if(b[d]==a.N&&(a.i--,1==a.i)){a.i=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.R||"";a.v[d].ka+=b;a.i||(a.R=null,gh(a,d));return c}
function Pg(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&$g&&a.I[b])a.error("label '"+b+"' redefined");else{var e=void 0;if("string"==typeof c){var e=[],f=Ug(a,c,e);if(void 0===f){a.error("symbol error ("+c+")");return}c=f;e=e[0]}(f=a.I[b])?(f.value=c,f.Xb=d,f.ia=a.ia):a.I[b]={name:b,value:c,Xb:d,ia:a.ia};a.b.b[b]={value:c,Mb:e}}}function qh(a,b){var c=[],d=Ug(a,b,c);void 0!==d?nh(a,d,c[0]):a.error("unrecognized EXP expression '"+b+"'")}
function Pg(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&$g&&a.I[b])a.error("label '"+b+"' redefined");else{var e=void 0;if("string"==typeof c){var e=[],f=Ug(a,c,e);if(void 0===f){a.error("symbol error ("+c+")");return}c=f;e=e[0]}(f=a.I[b])?(f.value=c,f.Xb=d,f.ia=a.ia):a.I[b]={name:b,value:c,Xb:d,ia:a.ia};a.b.b[b]={value:c,Mb:e}}}
function qh(a,b,c,d){var e=[];b=(b+(void 0===c?"":c)+(void 0===d?"":d)).trim();c=Ug(a,b,e);void 0!==c?e.length?1==e.length?nh(a,c,e[0]):nh(a,0,b):nh(a,c):a.error("unrecognized word expression '"+b+"'")}
function Sg(a){for(var b=a.X,c={},d=0;d<a.L.length;c={T:c.T,Sa:c.Sa,Aa:c.Aa},d++){c.Aa=a.L[d];c.T=[];c.Sa=0;c.Aa.T.forEach(function(a){return function(b,c){c===a.T.length&&a.T.push(b);a.Sa++}}(c));if(c.Sa==c.T.length)for(var e=b;e+c.Sa<=a.X;e++){for(var f=void 0,f=0;f<c.Sa&&c.T[f]===a.T[e+f]&&c.Aa.ea[f]==a.ea[e];f++);if(f==c.Sa){Pg(a,c.Aa.name,e,$g);c.Aa=null;break}}if(c.Aa){var g=a;Pg(a,c.Aa.name,a.X,$g);c.Aa.T.forEach(function(a){return function(b,c){nh(g,b,a.Aa.ea[c])}}(c))}}a.L=[]}
function Tg(a){for(var b=0;b<a.K.length;b++){var c=a.K[b],d=a.v[c];d?Z(a,d.ka):a.error("missing definition for variable '"+c+"'")}a.K=[]}function nh(a,b,c){a.T[a.X]=Vg(a,b);void 0!==c&&(a.ea[a.X]=c);a.Z[a.X]=a.ia;a.X++}function Vg(a,b,c){c=void 0===c?a.X:c;var d=X(a.b,b||0,36,!0);(b<-A||b>=C)&&Og(a,"truncated value "+wa(b)+" at location "+wa(c)+" to "+wa(d));return d}Bg.prototype.error=function(a,b){throw Error("error in "+Qg(this,b)+": "+a);};
function Og(a,b){a.u("warning in "+Qg(a,void 0)+": "+b)}Bg.prototype.u=function(a){this.b?this.b.u(a):console.log(a)};
function Tg(a){for(var b=0;b<a.K.length;b++){var c=a.K[b],d=a.v[c];d?Z(a,d.ka):a.error("missing definition for variable '"+c+"'")}a.K=[]}function nh(a,b,c){a.T[a.X]=Vg(a,b);void 0!==c&&(a.ea[a.X]=c);a.Z[a.X]=a.ia;a.X++}function Vg(a,b,c){c=void 0===c?a.X:c;var d=X(a.b,b||0,36,!0);(b<-A||b>=C)&&Og(a,"truncated value "+wa(b)+" at location "+wa(c)+" to "+wa(d));return d}ag.prototype.error=function(a,b){throw Error("error in "+Qg(this,b)+": "+a);};
function Og(a,b){a.u("warning in "+Qg(a,void 0)+": "+b)}ag.prototype.u=function(a){this.b?this.b.u(a):console.log(a)};
var $g=1,ah=2,bh=4,hh="ASCII",ih="ASCIZ",kh="BLOCK",lh="BYTE",vh="DEFINE",oh="END",ph="EXP",wh="IF1",xh="IFDEF",yh="IFDIF",zh="IFE",Ah="IFG",Bh="IFGE",Ch="IFIDN",Dh="IFL",Eh="IFLE",Fh="IFN",Gh="IFNDEF",Xg="IRP",Yg="IRPC",Lh="LALL",rh="LIT",eh="LITERAL",Mh="LIST",sh="LOC",Nh="NOSYM",Hh="OPDEF",Oh="PAGE",Jh="PURGE",Ih="REPEAT",jh="SIXBIT",Ph="SUBTTL",Qh="TITLE",th="VAR",uh="XWD",Rh="XLIST",Wh=-1,Sh=-2,Xh=-3,Vh=-4;
function Yh(a,b,c){t.call(this,"Computer",a,33554432);this.A.ba=!1;this.R=null;ji(this,b);this.N=bd(this,"autoPower",a,6);this.w=0;this.W=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.V=!1;this.I=this.C=null;this.S=this.O=!1;this.Z=bd(this,"url")||"";(Math.random()+.1).toString(36);this.i=ki(this);if(this.v=tb("CPU",this.id)){this.D=tb("Debugger",this.id);this.G=new Bc({id:this.bb+".bus",busWidth:this.W},this.v,this.D);var d,e=rb(this.id);if((this.j=tb("Panel",this.id))&&this.j.za)for(b=
0;b<e.length;b++)d=e[b],d.ja=this.j.ja,d.u=this.j.u,d.za=this.j.za;this.u(Sb+" v1.34.3\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.Ma&&d.Ma(this,this.G,this.v,this.D);b=null;d=bd(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=bd(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=li),this.b&&(this.I=new H(this,"1.34.3"),mi(this.I)?b=null:
delete this.I);!b&&this.b&&(b=ni(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.ja("Unable to load machine state from server (error "+c+(b?": "+Ea(b):"")+")")):(g.L=b,g.V=!0);Db(g)})}else Db(this);this.J.power||(this.N=!0);!c&&this.N&&oi(this,this.Wa)}else r("Unable to find CPU component")}ja(Yh,t);function ji(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}
0;b<e.length;b++)d=e[b],d.ja=this.j.ja,d.u=this.j.u,d.za=this.j.za;this.u(Sb+" v1.34.3\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.Ma&&d.Ma(this,this.G,this.v,this.D);b=null;d=bd(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=bd(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=li),this.b&&(this.I=new G(this,"1.34.3"),mi(this.I)?b=null:
delete this.I);!b&&this.b&&(b=ni(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.ja("Unable to load machine state from server (error "+c+(b?": "+Ea(b):"")+")")):(g.L=b,g.V=!0);Db(g)})}else Db(this);this.J.power||(this.N=!0);!c&&this.N&&oi(this,this.Wa)}else r("Unable to find CPU component")}la(Yh,t);function ji(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}
function bd(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 oi(a,b,c){for(var d=rb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Cb(f)){Cb(f,function(){oi(a,b,c)});return}}b.call(a,c)}
function pi(a,b){var c=new H(a,"1.34.3",qi);if(mi(c)&&ri(c)){var d=c.get(si),e=b?b.get(si):"unknown";d!=e&&(a.ja("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Yh.prototype;
m.Wa=function(a){void 0===a&&(a=this.b||(this.L?ti:li));if(!this.w){this.w++;var b=!1,c=!1;this.O=!1;var d=this.I||new H(this,"1.34.3");if(a==ui)b=!0;else if(a>li){if(mi(d,this.L)){this.C=new H(this,"1.34.3",vi);mi(this.C)&&(wi(this,d),a=xi,yi(this.C));this.C.set(si,Ia());zi(this.C);var e=this.b&&!this.K;if(a==ti||qb("Click OK to restore the previous "+Sb+" machine state, or CANCEL to reset the machine.")){if(c=ri(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?mi(d,g):("error"==f&&"no machine state"!=
function pi(a,b){var c=new G(a,"1.34.3",qi);if(mi(c)&&ri(c)){var d=c.get(si),e=b?b.get(si):"unknown";d!=e&&(a.ja("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Yh.prototype;
m.Wa=function(a){void 0===a&&(a=this.b||(this.L?ti:li));if(!this.w){this.w++;var b=!1,c=!1;this.O=!1;var d=this.I||new G(this,"1.34.3");if(a==ui)b=!0;else if(a>li){if(mi(d,this.L)){this.C=new G(this,"1.34.3",vi);mi(this.C)&&(wi(this,d),a=xi,yi(this.C));this.C.set(si,Ia());zi(this.C);var e=this.b&&!this.K;if(a==ti||qb("Click OK to restore the previous "+Sb+" machine state, or CANCEL to reset the machine.")){if(c=ri(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?mi(d,g):("error"==f&&"no machine state"!=
g?(this.ja("Error: "+g),"unable to verify user"==g&&(Ta(Ai,""),this.i=null)):this.u(f+": "+g),yi(d),mi(d)?(c=ri(d),e=!0):c=!1))}e&&pi(this,c?d:null)}else a==xi&&d.clear()}else pi(this);delete this.L;delete this.I}e=rb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Bi(this,g,d,b,c));b=[d,a,c];a!=ui?oi(this,this.Hb,b):this.Hb(b)}};
function Bi(a,b,c,d,e){if(!b.A.ba){b.A.ba=!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.Ba(f,d)&&f&&(r("Unable to restore state for "+b.type),a.M&&!a.V?(c.clear(),a.b=li,window&&window.location.reload()):a.O=!0,b.Ba(null),e=!1),!d&&b.Db){var g=b.Db.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}
m.Hb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.ba=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Bi(this,this.v,b,c,a),K(this,-2),this.v.fa());this.O&&(wi(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
function wi(a,b){if(qb("There may be a problem with your "+Sb+" machine.\n\nTo help us diagnose it, click OK to send this "+Sb+" machine state to http://www.pcjs.org.")){var c=a.Z;a=a.i||"";b=b.toString();var d={};d.app=Sb;d.ver="1.34.3";d.url=c;d.user=a;d.type="bug";d.data=b;Ja("http://www.pcjs.org/api/v1/report",d,!0)}}
function Ig(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new H(a,"1.34.3"),g=new H(a,"1.34.3",qi),h=Ia();g.set(si,h);f.set(si,h);f.set(Ci,"1.34.3");f.set(Di,window?window.location.href:null);f.set(Ei,window?window.navigator.userAgent:"");a.v&&a.v.ra&&(c&&(b&&(a.v.A.fa=a.v.A.P),a.v.Y()),d=a.v.ra(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.ba=!1,!1===d&&(e=null)));for(var h=rb(a.id),k=0;k<h.length;k++){var l=h[k];l.A.ba&&(l.ra&&(d=l.ra(b,c),"object"===typeof d&&f.set(l.id,d)),c&&(l.A.ba=
function Ig(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new G(a,"1.34.3"),g=new G(a,"1.34.3",qi),h=Ia();g.set(si,h);f.set(si,h);f.set(Ci,"1.34.3");f.set(Di,window?window.location.href:null);f.set(Ei,window?window.navigator.userAgent:"");a.v&&a.v.ra&&(c&&(b&&(a.v.A.fa=a.v.A.P),a.v.Y()),d=a.v.ra(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.ba=!1,!1===d&&(e=null)));for(var h=rb(a.id),k=0;k<h.length;k++){var l=h[k];l.A.ba&&(l.ra&&(d=l.ra(b,c),"object"===typeof d&&f.set(l.id,d)),c&&(l.A.ba=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Fi(a,a.i,f.toString()),zi(g)&&zi(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Gi),d&&f.clear(h)):e=f.toString());c&&(a.A.ba=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
m.reset=function(){this.A.reset=!0;this.G&&this.G.reset&&(Rb(this,"Resetting "+this.G.type),this.G.reset());this.v&&this.v.reset&&(Rb(this,"Resetting "+this.v.type),this.v.reset());for(var a=rb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.v&&c.reset&&(Rb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;K(this,-1)};m.start=function(a,b){for(var c=rb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}K(this,-1)};
m.stop=function(a,b){for(var c=rb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}K(this,-1)};
@ -288,7 +289,7 @@ function ki(a,b){var c=a.i;c||((c=Oa(Ai),void 0!==c)?!c&&b&&(b=null,window&&(b=w
function Hi(a,b){a.i=null;b=Ja(La()+"/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(Ai,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function ni(a){var b=null;a.i&&(b=La()+"/api/v1/user?req=load&user="+a.i+"&state="+Ii(a,"1.34.3"));return b}
function Fi(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ii(a,"1.34.3");d.data=c;b=Ja(La()+"/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.ja("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.ja(c),Ta(Ai,""),a.i=null)}}
function ld(a,b){if(a.za){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.za.focus();!b&&window&&window.scrollTo(c,d)}}var vi="failsafe",qi="validate",si="timestamp",Ci="version",Di="url",Ei="browser",Ai="user",ui=-1,li=0,ti=1,xi=2,Gi=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 Yh(g,d,!0);ub(g,f);g.N&&oi(g,g.Wa)}});
ab.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=tb("Computer",c.id))&&c.S&&!c.A.ba&&c.Wa(ui)}});ab.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=tb("Computer",c.id))&&c.A.ba&&Ig(c,!(!c.b||c.F),!0)}});function H(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=Ii(a,b,c);yi(this,a.Ub)}m=H.prototype;m.set=function(a,b){try{this.b[a]=b}catch(c){}};m.get=function(a){return this.b[a]||null};
ab.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=tb("Computer",c.id))&&c.S&&!c.A.ba&&c.Wa(ui)}});ab.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=tb("Computer",c.id))&&c.A.ba&&Ig(c,!(!c.b||c.F),!0)}});function G(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=Ii(a,b,c);yi(this,a.Ub)}m=G.prototype;m.set=function(a,b){try{this.b[a]=b}catch(c){}};m.get=function(a){return this.b[a]||null};
m.data=function(){return this.b};function mi(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:Ma()&&(b=Oa(a.key))?(a.i=b,a.v=!0):!1}function ri(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){r(c.message||c),b=!1}return b}function zi(a){var b=!0;if(Ma()){var c=JSON.stringify(a.b);Ta(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}m.toString=function(){return this.b?JSON.stringify(this.b):this.i};
function yi(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}m.clear=function(a){yi(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 Ii(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 Ji=0;
function Ki(a,b,c,d,e,f,g){f("Loading "+a+"...");Ja(a,null,!0,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):Li(k,a,b,c,d,e,f,g)})}

View file

@ -59,13 +59,13 @@ function Qa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=nu
function Ya(a){if(Za)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function $a(a){!Za&&a?(Za=!0,ab&&bb("init"),cb&&bb("show")):Za=a}function bb(a){Xa[a]&&Ya(Xa[a])}var Oa=null,Xa={init:[],show:[],exit:[]},ab=!1,cb=!1,Za=!0,Ja=null;Ra("onload",function(){ab=!0;Ya(Xa.init)});Ra("onpageshow",function(){cb=!0;Ya(Xa.show)});Ra(Ma("Opera")||Ma("iOS")?"onunload":"onbeforeunload",function(){Ya(Xa.exit)});
function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Vd=b.comment;this.vf=b;this.exports={};this.H=this.bindings={};a=this.id.indexOf(".");0>a?this.Mb=this.id:(this.vb=this.id.substr(0,a),this.Mb=this.id.substr(a+1));this.A={ready:!1,eb:!1,xd:!1,ca:!1,error:!1};this.Oc=null;this.A.error=!1;this.ja=c||0;this.D=this.f=this.F=this.J=this.Ua=null;db.push(this)}function eb(a,b,c){fb[a]&&b&&(fb[a][b]=c)}function gb(){return Date.now()||+new Date}
function w(a){window&&window.alert(a)}function hb(a){var b=!1;window&&(b=window.confirm(a));return b}function ib(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<db.length;b++){var d=db[b];a&&d.id.indexOf(a)||c.push(d)}return c}function jb(a){if(void 0!==a){var b;for(b=0;b<db.length;b++)if(db[b].id===a)return db[b]}return null}
function nb(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<db.length;d++)if(c)c==db[d]&&(c=null);else if(!(a!=db[d].type||b&&db[d].id.indexOf(b)))return db[d]}return null}function ob(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}
function kb(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<db.length;d++)if(c)c==db[d]&&(c=null);else if(!(a!=db[d].type||b&&db[d].id.indexOf(b)))return db[d]}return null}function ob(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}
function pb(a,b){var c=y;b=A(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 k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=ob(g))&&k.binding&&a.wa(k.type,k.binding,g,k.value),m=l.length}}}}
function A(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 qb(a){for(var b=!0,c=rb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=sb.indexOf(e)&&(f=function(){return function(){qb(a)}}());var g=tb[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,k=nb(d[1],a);if(k)if(g=ub[e])b=g(k,d[2],d[3]);else{var l=k.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(k,d[2],d[3]);else if(!g.call(k,f,d[2],d[3]))break}}if(!b){w("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete rb[a];return b}h=x.prototype;
function qb(a){for(var b=!0,c=rb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=sb.indexOf(e)&&(f=function(){return function(){qb(a)}}());var g=tb[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,k=kb(d[1],a);if(k)if(g=ub[e])b=g(k,d[2],d[3]);else{var l=k.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(k,d[2],d[3]);else if(!g.call(k,f,d[2],d[3]))break}}if(!b){w("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete rb[a];return b}h=x.prototype;
h.toString=function(){return this.name?this.name:this.id||this.type};
h.wa=function(a,b,c){switch(b){case "clear":return this.H[b]||(this.H[b]=c,c.onclick=function(a){return function(){a.H.print&&(a.H.print.value="")}}(this)),!0;case "print":return this.H[b]||(this.Ua=this.H[b]=c,c.value="",this.v=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.T=function(a){this.v(a,this.Mb)}),!0;default:return!1}};h.log=function(){};h.v=function(){};
h.status=function(a){this.v(this.Mb+": "+a)};h.T=function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)};function wb(a,b){a.A.error=!0;a.T(b)}function Cb(a){return a.A.error?(a.v(a.toString()+" error"),!0):!1}function Db(a,b){b&&(a.A.ready?b():a.Oc=b);return a.A.ready}function D(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.Oc,a.Oc=null,b&&b()))}function Eb(a,b){a.A.eb&&(b?a.A.xd=!0:void 0===b&&a.v(a.toString()+" busy"));return a.A.eb}
h.status=function(a){this.v(this.Mb+": "+a)};h.T=function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)};function vb(a,b){a.A.error=!0;a.T(b)}function Cb(a){return a.A.error?(a.v(a.toString()+" error"),!0):!1}function Db(a,b){b&&(a.A.ready?b():a.Oc=b);return a.A.ready}function D(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.Oc,a.Oc=null,b&&b()))}function Eb(a,b){a.A.eb&&(b?a.A.xd=!0:void 0===b&&a.v(a.toString()+" busy"));return a.A.eb}
function Fb(a,b){if(a.A.xd)return a.A.eb=!1,a.A.xd=!1;if(a.A.error)return a.v(a.toString()+" error"),!1;a.A.eb=b;return a.A.eb}h.Da=function(){return this.A.ca=!0};h.Ca=function(a,b){b&&(this.A.ca=!1);return!0};function E(a,b){if(a.D){a===a.D?b|=0:b=b||a.ja;var c=a.D.ja&b;return!!b&&c===b||!!(c&a.D.ke)}return!1}function F(a,b,c,d){a.D&&(!0===c||E(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={}));
var fb=window?window.PCjs.Machines:{},db=window?window.PCjs.Components:[],rb=window?window.PCjs.Commands:{},sb=["hold","sleep","wait"],tb={alert:function(a){w(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},ub={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}};
@ -83,7 +83,7 @@ b){return function(){Wb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){re
h.Da=function(a,b){if(!b)if(this.M&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,[this.ga,this.Eb,this.Xa]);return a.data()};h.restore=function(a){if(a=a[0])jc(this,this.ga=a[0]),Ub(this,a[1]),kc(this,a[2]);return!0};h.gh=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"}
function gc(a,b){for(var c in a.i)lc(a,c,null!=b?b:a.i[c])}function mc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])}function nc(a,b,c,d){if(a.H[b]){var e=a.D&&a.D.W||8;c=c||0;c=8==e?u(c,d):v(c,d);a.H[b].textContent!=c&&(a.H[b].textContent=c)}}h.Hf=function(a,b,c){if(Wb(this,b)){if(c){var d=this;setTimeout(function(){Xb(d,b);a&&a()},+c);return!1}Xb(this,b)}return!0};
h.lh=function(a,b){if("SR"==a)return kc(this,ma(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};h.mh=function(a){return Wb(this,a)?(Xb(this,a),!0):!1};function Wb(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=oc&&(a.G=b==pc,a.I=b==qc),!0):!1}function Xb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
h.Tf=function(a){a||this.f.A.V||(rc(this.f,this.ga),a=this.f,a.F.reset(),sc(a),this.b[tc]&&this.b[tc][1]&&uc(this.f))};h.Uf=function(){};h.Of=function(a){a||this.f.da()};h.Mf=function(a){if(!a&&!this.f.A.V)if(this.b[tc]&&this.b[tc][1])uc(this.f);else{if((a=this.D)&&!Eb(a,!0))Fb(a,!0),vc(a,0,null),Fb(a,!1);else try{var b=this.f.Cc(1);0<b&&(wc(this.f,b),xc(this.f,b,!0),yc(this.f,b))}catch(c){"number"!=typeof c&&wb(this.f,c.stack||c.message)}this.stop();this.J&&H(this.J)}};
h.Tf=function(a){a||this.f.A.V||(rc(this.f,this.ga),a=this.f,a.F.reset(),sc(a),this.b[tc]&&this.b[tc][1]&&uc(this.f))};h.Uf=function(){};h.Of=function(a){a||this.f.da()};h.Mf=function(a){if(!a&&!this.f.A.V)if(this.b[tc]&&this.b[tc][1])uc(this.f);else{if((a=this.D)&&!Eb(a,!0))Fb(a,!0),vc(a,0,null),Fb(a,!1);else try{var b=this.f.Cc(1);0<b&&(wc(this.f,b),xc(this.f,b,!0),yc(this.f,b))}catch(c){"number"!=typeof c&&vb(this.f,c.stack||c.message)}this.stop();this.J&&H(this.J)}};
h.Nf=function(a){if(a&&!this.f.A.V)if(this.G&&zc(this),a=Ub(this,this.Xa),this.L==Tb)Ac(this.F,this.ga,a);else{var b=this.f,c=this.ga;b.qa++;b.F.ac(Bc(b,c,4),a);b.qa--}};h.Pf=function(a){a||this.f.A.V||(this.I&&zc(this),a=this.L==Tb?Cc(this.F,this.ga):Dc(this.f,this.ga),Ub(this,a))};h.Rf=function(a){a||this.f.A.V||jc(this,this.Xa)};h.Qf=function(a){a?(this.w=!0,gc(this,!0)):(this.w=!1,gc(this),kc(this,0))};h.Sf=function(a,b){this.Xa=a?this.Xa|1<<b:this.Xa&~(1<<b)};
function zc(a){var b=1140>=a.f.ka?8:16,c=65472<=a.ga&&a.ga<65472+b,b=c?1:2,c=c?15:a.F.I;a.b[oc]&&a.b[oc][1]||(b=-b);jc(a,a.ga&~c|a.ga+b&c)}function jc(a,b){a.ga=b&a.F.I;if(a.B!==a.ga){a.B=a.ga;b=a.B;for(var c=0;22>c;c++)Ec(a,"A"+c,b&1<<c)}}function Vb(a,b){a.g=b&65535;if(a.C!==a.g){a.C=a.g;b=a.C;for(var c=0;16>c;c++)Ec(a,"D"+c,b&1<<c)}return a.g}function Ec(a,b,c){a.i[b]=c;a.w||lc(a,b,c)}function kc(a,b){a.Xa=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.Xa&1<<b?1:0;hc(a);return!0}
h.stop=function(){jc(this,this.f.g[7])};h.Hd=function(a){this.ga=a};h.setData=function(a,b){b?this.Eb=a:this.g=a};h.Zf=function(a,b){return(b?this.Eb:this.Xa)&65535};h.sh=function(a){this.Eb=a};function ic(){for(var a=A(document,y,"panel"),b=0;b<a.length;b++){var c=a[b],d=ob(c),e=jb(d.id);e||(e=new Sb(d,!0));pb(e,c)}}var Tb=7,pc="DEP",tc="ENABLE",qc="EXAM",oc="STEP",Fc={},ec=(Fc[65400]=[null,null,Sb.prototype.Zf,Sb.prototype.sh,"CNSW"],Fc);Sa(ic);
@ -136,7 +136,7 @@ case "speed":return this.H[b]=c,!0;case "setSpeed":return this.H[b]=c,c.onclick=
function ne(a,b,c){var d=!1;if(void 0!==b){.8>a.wb/a.xb?b=1:d=!0;a.mb=b;b=a.md*a.mb;if(a.xb!=b){a.xb=b;b=a.xb.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&qe(a.J)}xc(a,a.Ka);a.Ka=0;a.Ja=gb();a.kb=0;oe(a);return d}function md(a,b){var c=a.ha.length;a.ha.push([-1,b]);return c}function od(a,b,c,d){0<=b&&b<a.ha.length&&(d||0>a.ha[b][0])&&(c=a.Zc*a.mb/1E3*c|0,a.A.V&&(c+=re(a)),a.ha[b][0]=c)}
function se(a,b){for(var c=a.ha.length-1;0<=c;c--){var d=a.ha[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function te(a){for(var b=[],c=0;c<a.ha.length;c++)b.push(a.ha[c][0]);return b}function wc(a,b){for(var c=a.ha.length-1;0<=c;c--){var d=a.ha[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function re(a,b){var c=a.lb-=a.b;a.b=a.ma=0;b&&(a.lb=0);return c}
h.hh=function(){if(this.A.V){this.zc>=this.Zc&&oe(this,!0);this.Sb=0;this.nc=gb();if(this.kb){var a=this.nc-this.kb;a>this.nd&&(this.Ja+=a,this.Ja>this.nc&&(this.Ja=this.nc))}try{do{var b=se(this,this.A.Nb?1:this.qc);try{this.Cc(b)}catch(e){if("number"!=typeof e)throw e;}b=re(this,!0);this.Sb+=b;this.Ka+=b;yc(this,b);wc(this,b);this.Ab-=b;if(0>=this.Ab){this.Ab+=this.qc;++this.od>=ue&&(this.J&&H(this.J,void 0),this.od=0);break}}while(this.A.V)}catch(e){this.da();this.J&&this.J.stop(gb(),me(this));
wb(this,e.stack||e.message);return}if(this.A.V){a=setTimeout;b=this.Zd;this.kb=gb();var c=this.nd;this.Sb&&(c=Math.round(c*this.Sb/this.qc));var c=c-(this.kb-this.nc),d=this.kb-this.Ja;d&&(this.wb=Math.round(this.Ka/(10*d))/100,864E5<=d&&(this.nb=0,ne(this)));if(0>c||this.wb<this.xb)-1E3>c&&(this.Ja-=c),c=0;this.zc+=this.Sb;this.kb+=c;a(b,c)}}};
vb(this,e.stack||e.message);return}if(this.A.V){a=setTimeout;b=this.Zd;this.kb=gb();var c=this.nd;this.Sb&&(c=Math.round(c*this.Sb/this.qc));var c=c-(this.kb-this.nc),d=this.kb-this.Ja;d&&(this.wb=Math.round(this.Ka/(10*d))/100,864E5<=d&&(this.nb=0,ne(this)));if(0>c||this.wb<this.xb)-1E3>c&&(this.Ja-=c),c=0;this.zc+=this.Sb;this.kb+=c;a(b,c)}}};
function uc(a,b){if(!Cb(a))if(a.A.V)a.v(a.toString()+" busy");else{ne(a);a.A.V=!0;a.A.Tc=!0;var c=a.H.run;c&&(c.textContent="Halt");a.J&&(b&&qe(a.J,!0),a.J.start(a.Ja,me(a)));a.D||a.status("Started");setTimeout(a.Zd,0)}}h.Cc=function(){return 0};h.da=function(a){var b=!1;if(this.A.V){re(this);xc(this,this.Ka);this.Ka=0;this.A.V=!1;if(b=this.H.run)b.textContent="Run";this.J&&this.J.stop(gb(),me(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var pe=30,ue=15,fe=["power","reset"];
function ve(a){var b=+a.model||1170;ee.call(this,a,6666667);this.ka=b;this.Xc=+a.addrReset||0;this.La=this.w=this.N=this.C=this.G=this.L=this.I=0;this.g=this.ua=this.Y=[];this.M=this.B=this.Ha=this.xc=[];this.ib=this.O=this.Td=this.yb=this.zb=this.rb=this.jb=this.P=this.uc=this.ob=this.Ga=this.S=this.vc=this.wc=this.X=this.i=0;this.Wd=[4,2,0,1];this.Ac=0;this.Yd=255;1120>=this.ka?(this.be=we.bind(this),this.Lb=this.Cf,this.Ac=8,this.Yd=-1,this.fe=255,this.ee=0):(this.be=xe.bind(this),this.Lb=this.Df,
this.fe=~(1792|(1140>=this.ka?2048:0))&65535,this.ee=1140<this.ka?2048:0);this.Ec=this.Dc=this.qa=0;this.R=null;this.mc=[];this.jc=this.cd=this.pe;this.kc=this.dd=this.te;this.Uc=this.jd=this.ze;this.lc=this.ld=this.Ae;this.Ia=this.ub=this.sc=this.tc=0;this.ya=this.se;this.pa=this.Fd;this.Hb=this.Jd;this.u=this.j=this.Yc=this.U=this.Z=0;this.A.complete=!1}p(ve,ee);h=ve.prototype;
@ -195,7 +195,7 @@ this.ma=this.b;this.Ea(b);Te(this,a,0,b);this.b=this.ma-Mg[this.u]},function(a){
Yg,Yg,Q,Q,Q,Q,Tg,Tg],wh=[sg,qg,mg,og,vg,wg,bg,cg,Bg,Wg,jh,lh,nh,function(a){1145>this.ka?Q.call(this,a):Ah[a>>6&3].call(this,a)},Q,Q],Ah=[function(a){Q.call(this,a)},function(a){a=Se(this,a,65536);this.Ea(a);Le(this,a);this.b-=11},function(a){var b=Ne(this);this.ma=this.b;this.Ea(b);Te(this,a,65536,b);this.b=this.ma-Mg[this.u]},function(a){Q.call(this,a)}];
function Bh(a){x.call(this,"ROM",a,128);this.ia=this.g=null;this.u=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=ta(this.j);if(this.j){a=this.j;var b=ua(this.B);"json"!=b&&"hex"!=b&&(a=Ga()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){f?(c.T("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(eb(c.vb,a,b),(a=Fa(a,b))?(c.g=a.aa,c.ia=a.ia):c.j=null);Ch(c)})}}p(Bh,x);
h=Bh.prototype;h.Ba=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Ch(this)};h.Da=function(){this.ia&&(this.D&&Dh(this.D,this.id,this.u,this.b,this.ia),delete this.ia);return!0};h.Ca=function(){return!0};
function Ch(a){if(!Db(a)){if(a.j){if(!a.g||!a.F)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)wb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{var b;a:{b=a.u;if(57344<=b&&b<57344+Hc){var c={},c=(c[b]=[Bh.prototype.Jg,Bh.prototype.ai,null,null,null,a.b>>1],c);if(Yb(a.F,a,c)){a.status("Added "+a.b+"-byte ROM at "+u(b));b=a.w=!0;break a}}else if(Yc(a.F,b,a.b,Id)){for(c=0;c<a.g.length;c++)gd(a.F,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?
function Ch(a){if(!Db(a)){if(a.j){if(!a.g||!a.F)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)vb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{var b;a:{b=a.u;if(57344<=b&&b<57344+Hc){var c={},c=(c[b]=[Bh.prototype.Jg,Bh.prototype.ai,null,null,null,a.b>>1],c);if(Yb(a.F,a,c)){a.status("Added "+a.b+"-byte ROM at "+u(b));b=a.w=!0;break a}}else if(Yc(a.F,b,a.b,Id)){for(c=0;c<a.g.length;c++)gd(a.F,b+c,a.g[c]);b=!0;break a}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.F,g=d.b,k=[],l=d.u>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.F;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}D(a)}}h.Jg=function(a){return this.g[a-this.u]};h.ai=function(){};Sa(function(){for(var a=A(document,y,"rom"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Bh(d);pb(d,c)}});
function Eh(a){x.call(this,"RAM",a);this.ia=this.g=null;this.i=+a.addr;this.j=+a.size;this.Aa=a.load;this.za=a.exec;null!=this.Aa&&(this.Aa=+this.Aa);null!=this.za&&(this.za=+this.za);this.u=this.B=!1;this.b=a.file;this.w=ta(this.b);if(this.b){a=this.b;var b=ua(this.w);"json"!=b&&"hex"!=b&&(a=Ga()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){f?(c.T("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(eb(c.vb,a,b),(a=Fa(a,b))?(c.g=a.aa,
c.ia=a.ia,null==c.Aa&&(c.Aa=a.Aa),null==c.za&&(c.za=a.za)):c.b=null);Fh(c)})}}p(Eh,x);Eh.prototype.Ba=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Fh(this)};Eh.prototype.Da=function(a,b){this.ia&&(this.D&&Dh(this.D,this.id,this.i,this.j,this.ia),delete this.ia);b||this.reset();return!0};Eh.prototype.Ca=function(){return!0};
@ -204,7 +204,7 @@ Eh.prototype.reset=function(){if(this.u&&!this.B){for(var a=this.F,b=this.i,c=th
function Gh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){F(a,"invalid signature ("+ra(m)+") at offset "+ra(n),4096);break}if(l+6>=b.length){F(a,"invalid block at offset "+ra(n),4096);break}for(var l=l+2,q=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((q&255)+(q>>8)+(t&255)+(t>>8)),r=l,z=q-=6;0<q&&l<b.length;)m+=b[l++]&255,q--;if(q||l>=b.length){F(a,"insufficient data for block at offset "+ra(n),4096);
break}m+=b[l++]&255;if(m&255){F(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+ra(n),4096);break}if(z)for(F(a,"loading "+ra(z)+" bytes at "+ra(t)+"-"+ra(t+z),4096);z--;)gd(a.F,t++,b[r++]&255);else t&1?g=!0:null==d&&(d=t),null!=d&&F(a,"starting address: "+ra(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)gd(a.F,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.da(),f=!1;null!=d&&ze(a.f,d,f)}return k}
Sa(function(){for(var a=A(document,y,"ram"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Eh(d);pb(d,c)}});function Hh(a){x.call(this,"Keyboard",a,1024);D(this)}p(Hh,x);Hh.prototype.wa=function(){return!1};Hh.prototype.Ba=function(a,b,c,d){this.J=a;this.f=c;this.D=d};Sa(function(){for(var a=A(document,y,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Hh(d);pb(d,c)}});
function Ih(a){x.call(this,"SerialPort",a,1048576);this.M=+a.adapter;this.S=+a.baudReceive||9600;this.Z=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.u=this.w=null;this.X=+a.tabSize;this.U=+a.charBOL;this.B=0;this.I=!0;this.P=this.N=null;this.R=this.Y=-1;this.C=this.b=this.g=0;this.i=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Jh;b&&(void 0===c&&(c="Panel"),(c=nb(c,this.id))&&(b=c.H[b])&&this.wa(null,a,b))}this.j=this.G=this.O=null;this.exports=
function Ih(a){x.call(this,"SerialPort",a,1048576);this.M=+a.adapter;this.S=+a.baudReceive||9600;this.Z=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.u=this.w=null;this.X=+a.tabSize;this.U=+a.charBOL;this.B=0;this.I=!0;this.P=this.N=null;this.R=this.Y=-1;this.C=this.b=this.g=0;this.i=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Jh;b&&(void 0===c&&(c="Panel"),(c=kb(c,this.id))&&(b=c.H[b])&&this.wa(null,a,b))}this.j=this.G=this.O=null;this.exports=
{connect:this.ue,receiveData:this.Pc,receiveStatus:this.fh,setConnection:this.kh}}p(Ih,x);h=Ih.prototype;
h.wa=function(a,b,c){var d=this;switch(b){case Jh:return this.H[b]=this.u=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?la.Od:la.cc:46==c?b=la.Od:a.ctrlKey&&c>=la.Kd&&c<=la.xf&&(b=c-(la.Kd-la.Fe));b&&(a.preventDefault&&a.preventDefault(),d.Pc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==la.He&&(b=la.Ge);d.Pc(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.Pc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
@ -230,7 +230,7 @@ h.Hh=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&nd(this.f,this.G)):(this.b
var Oh="",Yh="?",Zh="??",Ph=0,Rh=1,Qh=2,Th="readProgress",fi="pcjs-progress-bar",gi={},Wh=(gi[65384]=[null,null,Cd.prototype.pg,Cd.prototype.Hh,"PRS"],gi[65386]=[null,null,Cd.prototype.og,Cd.prototype.Gh,"PRB"],gi[65388]=[null,null,Cd.prototype.ng,Cd.prototype.Fh,"PPS"],gi[65390]=[null,null,Cd.prototype.mg,Cd.prototype.Eh,"PPB"],gi);
function hi(a,b,c){x.call(this,"Disk",{id:a.vb+".disk"+v(++ii,4)},8192);this.controller=a;this.J=a.J;this.D=a.D;this.u=b;this.Ya=b.name;this.Pa=this.Gd="";this.Ad=b.Ad;this.ba=this.la=this.fa=this.va=this.mode=0;this.b=[];this.i=null;this.j=!1;ji(this,c,b.ba,b.la,b.fa,b.va);this.g=this.w=null;D(this)}p(hi,x);h=hi.prototype;h.Ba=function(a,b,c,d){this.D=d};
function ji(a,b,c,d,e,f){a.mode=b;a.ba=c;a.la=d;a.fa=e;a.va=f;a.b=[];if("preload"!=a.mode){b=Array(a.ba);for(c=0;c<b.length;c++){d=Array(a.la);for(e=0;e<d.length;e++){f=Array(a.fa);for(var g=1;g<=f.length;g++)f[g-1]=ki(null,c,e,g,a.va,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function li(a,b,c,d,e){var f=c;if(a.g)return!0;a.Ya=b;a.Pa=c;a.Gd=ta(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.ba=e[0];a.la=e[1];a.fa=e[2];a.va=e[3]||512;c=a.va>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.ba);for(d=0;d<a.b.length;d++)for(var t=a.b[d]=Array(a.la),r=0;r<t.length;r++)for(var z=t[r]=Array(a.fa),B=0;B<z.length;B++){for(var C=ki(null,d,r,B+1,a.va,0),J=C.data,vb=0;vb<c;vb++,f+=4)var Ed=J[vb]=b.getInt32(f,
function li(a,b,c,d,e){var f=c;if(a.g)return!0;a.Ya=b;a.Pa=c;a.Gd=ta(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.ba=e[0];a.la=e[1];a.fa=e[2];a.va=e[3]||512;c=a.va>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.ba);for(d=0;d<a.b.length;d++)for(var t=a.b[d]=Array(a.la),r=0;r<t.length;r++)for(var z=t[r]=Array(a.fa),B=0;B<z.length;B++){for(var C=ki(null,d,r,B+1,a.va,0),J=C.data,wb=0;wb<c;wb++,f+=4)var Ed=J[wb]=b.getInt32(f,
!0),e=e+Ed&-1;C.Ma=c;z[B]=C}a.i=e;c=a}else a.T("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.u,c,a.Ya,a.Pa),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=ua(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):va(c,"/")&&(d="dir"),f=Ga()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Ad?"":e)+"&format=json"));return!!Ea(f,
null,!0,function(b,c,d){mi(a,b,c,d)})}
function mi(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.ca;a.j=!1;if(d)a.controller.T('Unable to load disk "'+a.Ya+'" (error '+d+": "+b+")",f);else{eb(a.controller.vb,b,c);try{if(0<ta(a.Gd,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Ya]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
@ -298,7 +298,7 @@ l||"^-"==l){n=n<<2|2;continue}if("^L"==l){n=n<<2|3;continue}}m=!0;break}if(void
function Gj(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,k=f+1,l=e;k<b.length;){var m=b[k++];if(m==c){l=-1;break}if(!l)break;l--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=zj(g*Math.pow(2,d)+m,d*e,!0)}if(0<=l){a.v("parse error ("+c+b+c+")");break}else b=b.substr(0,f)+K(a,g,-1)+b.substr(k)}return b}
function Hj(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.O[0]&&(b=b.split(a.O[0]).join("{").split(a.O[1]).join("}"));b=Gj(a,b,'"',7,5);if(!b)return d;b=Gj(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Bj(a,b,0,b.length,a.W,c);void 0!==d&&e&&Ij(a,null,d)}return d}
function Dj(a,b){for(;b;){switch(b&3){case 1:a=-zj(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
function Cj(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.re(b);if(0<=f)f=a.Bd(f);else if(f=b,a.i[f]?f=a.i[f].value:(f=f.substr(0,6),f=a.i[f]&&a.i[f].value),null!=f){var k=a.i[b]&&a.i[b].ih;k&&(g?g.push(k):(a.v(b+" is undefined ("+k+")"),f=void 0))}else f=ma(b,1<b.length||10<a.W?a.W:10);null!=f?f=zj(Dj(f,e)):d||a.v("invalid "+(c?c:"value")+": "+b)}else d||a.v("missing "+(c||"value"));return f}
function Cj(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.re(b);if(0<=f)f=a.Bd(f);else if(f=b,a.i[f]?f=a.i[f].value:(f=f.substr(0,6),f=a.i[f]&&a.i[f].value),null!=f){var k=a.i[b]&&a.i[b].ih;k&&(g?g.push(k):(g=Hj(a,k,!1),void 0!==g?f+=g:(a.v(b+" = "+K(a,f)+" + ("+k+")"),f=void 0)))}else f=ma(b,1<b.length||10<a.W?a.W:10);null!=f?f=zj(Dj(f,e)):d||a.v("invalid "+(c?c:"value")+": "+b)}else d||a.v("missing "+(c||"value"));return f}
function Ij(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.W?K(a,c,32,8,1)+" "+c+".":K(a,c,32,16,1)+" "+K(a,c,32,8,1)+" "+K(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.v((null!=b?b+": ":"")+d);return e}function Jj(a,b){var c=0;if(a.i){if(b)return Ij(a,b,a.i[b]&&a.i[b].value);b=Object.keys(a.i);b.sort();for(var d=0;d<b.length;d++)Ij(a,b[d],a.i[b[d]].value),c++}return 0<c}
function K(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.W){case 2:a=pa(b,0<c?c:0,e);break;case 8:a=u(b,0<c?(c+2)/3|0:0,!!e);break;case 10:a=qa(b,0<c?Math.ceil(.3*c):0);break;default:a=v(b,0<c?c+3>>2:0,!!e)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}
var Fj={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Ej={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
@ -317,7 +317,7 @@ h.re=function(a){a=a.toUpperCase();var b=Yj[a];null==b&&(b=-1,"R"==a.charAt(0)&&
h.Bd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.ua[a-8];else if(20>a)b=this.f.Y[a-16];else{var c=this.f,d=this.g;switch(a){case ck:b=Ad(this.f);break;case dk:b=c.ob;break;case ek:b=c.P;break;case fk:b=c.Ga&65280;break;case gk:b=ud(c);break;case hk:b=wd(c);break;case ik:b=xd(c);break;case jk:b=c.X;break;case ak:d&&(b=d.ga);break;case kk:d&&(b=d.Eb);break;case lk:d&&(b=d.Xa)}}return b};
h.message=function(a,b){b&&(a+=" @"+Xj(this,X(this.f.O&65535)));if(!this.U||a!=this.U)if(this.U=a,this.ja&1073741824)this.N.push(a);else{var c;if(this.ja&-2147483648&&this.f&&(c=this.f.A.V)||Eb(this,!0))this.da(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,re(a),a.Ab=0,a.J&&H(a.J,void 0))}};
function Mj(a){var b;if(!bf(a))a.j&&a.j.length&&a.v("instruction history buffer freed"),a.S=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(mk);for(b=0;b<a.j.length;b++)a.j[b]=X();a.S=0;a.v("instruction history buffer allocated")}}function nk(a,b,c){if(!ok(a,c))return!1;uc(a.f,b);return!0}
function vc(a,b,c,d){if(!ok(a))return!1;var e="";null===c&&(e=(c=!a.ua||"tr"==a.ua)?"tr":"t");a.B=0;b||bf(a)&&cf(a,a.f.g[7],0);try{b=se(a.f,b);var f=a.f.Cc(b);0<f&&(wc(a.f,f),a.B+=f,xc(a.f,f,!0),yc(a.f,f),a.Z++)}catch(g){"number"!=typeof g&&(a.B=0,wb(a.f,g.stack||g.message))}!1!==d&&(a.g&&a.g.stop(),H(a.J,-1));je(a,c||!1,e);return 0<a.B}h.da=function(a){this.f&&this.f.da(a)};
function vc(a,b,c,d){if(!ok(a))return!1;var e="";null===c&&(e=(c=!a.ua||"tr"==a.ua)?"tr":"t");a.B=0;b||bf(a)&&cf(a,a.f.g[7],0);try{b=se(a.f,b);var f=a.f.Cc(b);0<f&&(wc(a.f,f),a.B+=f,xc(a.f,f,!0),yc(a.f,f),a.Z++)}catch(g){"number"!=typeof g&&(a.B=0,vb(a.f,g.stack||g.message))}!1!==d&&(a.g&&a.g.stop(),H(a.J,-1));je(a,c||!1,e);return 0<a.B}h.da=function(a){this.f&&this.f.da(a)};
function je(a,b,c){if(a.Ha){void 0===b&&(b=!0);c&&a.v(pk+c);c=a.f;if(c=c.i&128?c.Ec|c.Dc<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Mb[-d]:K(a,d))+")")}a.I=X(a.f.g[7]);b&&1!=a.L?qk(a):rk(a)}}function ok(a,b){var c;(c=!a.f||!Db(a.f))||(c=a.f,c.A.ca?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Cb(a.f)}h.Da=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
h.Ca=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Mj(this);this.Z=0;this.U=null;this.B=0;this.I=X(this.f.g[7]);this.A.V=!1;sk(this);a||je(this)};h.save=function(){var a=new G(this);a.set(0,Qj(this.I));a.set(1,Qj(this.P));a.set(2,[this.u,this.R,this.ja]);a.set(3,this.C);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.I=Rj(this,a[b++]),this.P=Rj(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.ja|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.L||this.v("running");this.A.V=!0;this.Ia=a;this.Ja=b};
@ -343,18 +343,18 @@ function Sk(a,b,c){if("?"==c)a.v("trace commands:"),a.v("\tt [#]\ttrace # instr
function rk(a,b,c,d){if(b=Uj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Cj(a,c.substr(1)),null!=c&&(d=c);else{d=Uj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.v("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Eb(a,!1)||a.L?a.B:null;var g=null!=f?"cycles":null,k=Nk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.v(m)}k[3]&&(g=k[3],f=null);f=yk(a,b,g,f);a.v(f);a.I=b;e-=b.K-l;c++}}}
function xk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(pk+b):(a.R&&(a.v("ended assemble at "+Xj(a,a.P)),a.I=a.P,a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Db(a)&&0<b.length){a.R&&(b="a "+Xj(a,a.P)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var q=
Uj(a,g[1],!0);if(q)if(a.P=q,void 0===g[2])a.v("begin assemble at "+Xj(a,q)),a.R=!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(yk(a,a.P))}}break;case "b":a:{var z=g[0],B=g[1],C=b;if("?"==B)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=z.charAt(1);if("l"==J){var vb;vb=0+wk(a,a.b);vb+=wk(a,a.M);(vb+=wk(a,a.G))||a.v("no breakpoints")}else if("n"==J){var Ed=+B||0;B&&(a.ha=Ed);a.v("break after "+Ed+" instruction(s)")}else if(void 0===B)a.v("missing breakpoint address");else{var sa=X();if("*"!=B&&(sa=Uj(a,B,!0),!sa))break a;"c"==J?null==sa.K?(Lj(a),a.v("all breakpoints cleared")):uk(a,a.b,sa)||uk(a,a.M,sa)||uk(a,a.G,sa)||a.v("breakpoint missing: "+Xj(a,sa)):null!=sa.K&&(Wj(a,sa,C),"p"==J?a.Bb(a.b,sa):"r"==J?a.Bb(a.M,sa):"w"==
J?a.Bb(a.G,sa):a.v("unknown breakpoint command: "+J))}}}break;case "c":a.Ua&&(a.Ua.value="");break;case "d":a:{var Zb,kb=g[0],Ta=g[1],lb=g[2],rl=g[3];if("?"==Ta){var $b="";for(Zb in Rb)a.ma[Zb]&&($b&&($b+=","),$b+=Zb);$b+=",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");$b.length&&a.v("dump extension commands:\n\t"+$b)}else if("state"==Ta){var gf=Tk(a.J,!0);"console"==lb?console.log(gf):(a.Ua&&(a.Ua.value=""),gf&&a.v(gf))}else if("symbols"==Ta)for(var hf=0;hf<a.C.length;hf++){var jf=a.C[hf],ac;for(ac in jf.ia)if("."!=ac.charAt(0)){var xi=jf.ia[ac].o;if(void 0!==xi){var yi=jf.ia[ac].l;yi&&(ac=yi);a.v(K(a,xi)+" "+ac)}}}else{if("d"==kb){for(Zb in Rb)if(g[1]==Zb){var zi=a.ma[Zb];zi?(g.shift(),g.shift(),
zi(g)):a.v("no dump registered for "+Ta);break a}Ta||(kb=a.La||"dw")}else a.La=kb;if("dh"==kb){var Ai=Ta,Bi=lb,Ci="",Di=0,Ia=a.S,Ua=a.j;if(Ua.length){var Ca=+Ai||a.ta,Mc=+Bi||10;isNaN(Ca)?Ca=Mc:Ci="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 kf=[];"call"==Bi&&(Mc=1E5,kf=["CALL"]);for(void 0!==Ai&&a.v(Ca+" instructions earlier:");0<Mc&&Ia!=a.S;){var Ei=Ua[Ia++];if(null==Ei.K)break;var Nc=X(Ei.K),
sl=Ca--,Fi=yk(a,Nc,"history",sl);(!kf.length||0<=Fi.indexOf(kf[0]))&&a.v(Fi);Nc.yd&&(Ia+=Nc.yd,Mc-=Nc.yd,Ca-=Nc.yd);Ia>=Ua.length&&(Ia=0);a.ta=Ca;Di++;Mc--}}Di||(a.v("no "+Ci+"history available"),a.ta=void 0)}else{var oa=Uj(a,Ta);if(oa)if("da"==kb){var lf=oa.Na||65535<oa.K,O=Pe(a.f,oa.K||0,lf);a.v(ya("",lf?12:19)+pa(oa.K,lf?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("+ "+Uk[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,mf="ds"==kb;if(lb){if("l"==lb.charAt(0))lb=lb.substr(1)||rl,xb=Cj(a,lb);else{var Gi=Uj(a,lb);Gi&&(xb=Gi.K-oa.K)}0>xb&&(xb=0);65536<xb&&(xb=65536)}var ul=a.W;oa.W&&(a.W=oa.W);for(var yb="dd"==kb?4:"db"==kb?1:2,Nd=yb*xb||128,nf=mf?
else{var J=z.charAt(1);if("l"==J){var wb;wb=0+wk(a,a.b);wb+=wk(a,a.M);(wb+=wk(a,a.G))||a.v("no breakpoints")}else if("n"==J){var Ed=+B||0;B&&(a.ha=Ed);a.v("break after "+Ed+" instruction(s)")}else if(void 0===B)a.v("missing breakpoint address");else{var sa=X();if("*"!=B&&(sa=Uj(a,B,!0),!sa))break a;"c"==J?null==sa.K?(Lj(a),a.v("all breakpoints cleared")):uk(a,a.b,sa)||uk(a,a.M,sa)||uk(a,a.G,sa)||a.v("breakpoint missing: "+Xj(a,sa)):null!=sa.K&&(Wj(a,sa,C),"p"==J?a.Bb(a.b,sa):"r"==J?a.Bb(a.M,sa):"w"==
J?a.Bb(a.G,sa):a.v("unknown breakpoint command: "+J))}}}break;case "c":a.Ua&&(a.Ua.value="");break;case "d":a:{var Zb,lb=g[0],Ta=g[1],mb=g[2],rl=g[3];if("?"==Ta){var $b="";for(Zb in Rb)a.ma[Zb]&&($b&&($b+=","),$b+=Zb);$b+=",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");$b.length&&a.v("dump extension commands:\n\t"+$b)}else if("state"==Ta){var gf=Tk(a.J,!0);"console"==mb?console.log(gf):(a.Ua&&(a.Ua.value=""),gf&&a.v(gf))}else if("symbols"==Ta)for(var hf=0;hf<a.C.length;hf++){var jf=a.C[hf],ac;for(ac in jf.ia)if("."!=ac.charAt(0)){var xi=jf.ia[ac].o;if(void 0!==xi){var yi=jf.ia[ac].l;yi&&(ac=yi);a.v(K(a,xi)+" "+ac)}}}else{if("d"==lb){for(Zb in Rb)if(g[1]==Zb){var zi=a.ma[Zb];zi?(g.shift(),g.shift(),
zi(g)):a.v("no dump registered for "+Ta);break a}Ta||(lb=a.La||"dw")}else a.La=lb;if("dh"==lb){var Ai=Ta,Bi=mb,Ci="",Di=0,Ia=a.S,Ua=a.j;if(Ua.length){var Ca=+Ai||a.ta,Mc=+Bi||10;isNaN(Ca)?Ca=Mc:Ci="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 kf=[];"call"==Bi&&(Mc=1E5,kf=["CALL"]);for(void 0!==Ai&&a.v(Ca+" instructions earlier:");0<Mc&&Ia!=a.S;){var Ei=Ua[Ia++];if(null==Ei.K)break;var Nc=X(Ei.K),
sl=Ca--,Fi=yk(a,Nc,"history",sl);(!kf.length||0<=Fi.indexOf(kf[0]))&&a.v(Fi);Nc.yd&&(Ia+=Nc.yd,Mc-=Nc.yd,Ca-=Nc.yd);Ia>=Ua.length&&(Ia=0);a.ta=Ca;Di++;Mc--}}Di||(a.v("no "+Ci+"history available"),a.ta=void 0)}else{var oa=Uj(a,Ta);if(oa)if("da"==lb){var lf=oa.Na||65535<oa.K,O=Pe(a.f,oa.K||0,lf);a.v(ya("",lf?12:19)+pa(oa.K,lf?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("+ "+Uk[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,mf="ds"==lb;if(mb){if("l"==mb.charAt(0))mb=mb.substr(1)||rl,xb=Cj(a,mb);else{var Gi=Uj(a,mb);Gi&&(xb=Gi.K-oa.K)}0>xb&&(xb=0);65536<xb&&(xb=65536)}var ul=a.W;oa.W&&(a.W=oa.W);for(var yb="dd"==lb?4:"db"==lb?1:2,Nd=yb*xb||128,nf=mf?
16:a.W,vl=(Nd+nf-1)/nf|0||1,zb="";vl--&&0<Nd;){for(var Ab="",of="",Ta=Xj(a,oa),Od=nf,Oc=0,Pc=0;0<Od&&0<Nd;){var bc=1,Pd=1==yb?a.Pd(oa,bc):a.Sa(oa,bc=2),Oc=Oc|Pd<<(Pc<<3),Pc=Pc+bc;Pc==yb&&(mf?(Ab&&(Ab+=","),Ab+="0x"+v(Oc,yb<<1)):(Ab+=K(a,Oc,yb<<3),Ab+=1==yb?9==Od?"-":" ":" "),Oc=Pc=0);Od-=bc;for(Nd-=bc;1==yb&&bc--;)var pf=Pd&255,of=of+(32<=pf&&128>pf?String.fromCharCode(pf):"."),Pd=Pd>>8}zb&&(zb+="\n");zb=mf?zb+(Ab+","):zb+(Ta+": "+Ab+(Od?"":" "+of))}zb&&a.v(zb);a.Ga=oa;a.W=ul}}}}break;case "e":if("else"==
g[0])break;var cc,qf,rf,sf,tf=g[0],uf=g[1];"eb"==tf?(cc=1,qf=255,rf=a.Pd,sf=a.Qd):"e"==tf||"ew"==tf?(cc=2,qf=65535,rf=a.Sa,sf=a.Le):uf=null;if(null==uf)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 Qd=Uj(a,uf);if(Qd)for(var Rd=2;Rd<g.length;Rd++){var Qc=Hj(a,g[Rd]);if(void 0===Qc){a.v("unrecognized value: "+g[Rd]);break}Qc&~qf&&a.v("warning: "+v(Qc)+" exceeds "+cc+"-byte value");a.v("changing "+Xj(a,Qd)+(E(a,16)?
"":" from "+K(a,rf.call(a,Qd),cc<<3))+" to "+K(a,Qc,cc<<3));sf.call(a,Qd,Qc,cc)}}break;case "g":a:{var Hi=g[1],wl=b;if(void 0!==Hi){var vf=Uj(a,Hi,!0);if(!vf)break a;Wj(a,vf,wl);a.Bb(a.b,vf,!0)}nk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.da()):Eb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var wf;var Rc=b.substr(2),Rc=za(Rc);Hj(a,Rc)?(c||a.v("true: "+Rc),wf=!0):(c||a.v("false: "+Rc),wf=!1);wf||(d=!1);break}f=!0;break;case "k":var xl=g[0];if("?"==g[1])a.v("stack trace commands:"),
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var xf=0,yf=X(),Sc=X(a.f.g[6]);for(a.v("stack trace for "+Xj(a,Sc));10>xf;){for(var Bb=null,yl=256;65536>Sc.K>>>0;){yf.K=a.Sa(Sc,2);if(null==Sc.K||!yl--)break;if(!(yf.K&1)){for(var zl=a,Sd=yf,Ii=null,Tc=Sd.K,Ji=Tc,zf=1;6>=zf&&Tc;zf++){if(2<zf){Sd.K=Tc;var Td=yk(zl,Sd);if(0<=Td.indexOf("JSR")){var Ki=Td.indexOf(" ");if(Tc+(Td.indexOf(" ",Ki+1)-Ki-1)/2==Ji){Ii=Td;break}}}Tc-=2}Sd.K=Ji;if(Bb=Ii)break}}if(!Bb||null==Bb)break;var Li=
null;if("ks"==xl){var Mi=Bb.match(/[0-9A-F]+$/);Mi&&(Li=Qk(a,Mi[0]))}Bb=ya(Bb,50)+" ;"+(Li||"stack="+Xj(a,Sc));a.v(Bb);xf++}xf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Qk(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 mb=0;if("all"==T)mb=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){mb=Rb[Va];Wa=!!(a.ja&mb);break}if(!mb){a.v("unknown message category: "+
T);break a}}if(mb)if("on"==g[2])a.ja|=mb,Wa=!0;else if("off"==g[2]&&(a.ja&=~mb,Wa=!1,1073741824==mb)){for(var Ni=1E3<=a.N.length?a.N.length-1E3:0;Ni<a.N.length;)a.v(a.N[Ni++]);a.N=[]}}var Al=0,Uc="";for(Va in Rb)if(!T||T==Va){var Bl=!!(a.ja&Rb[Va]);if(null===Wa||Wa==Bl)Uc&&(Uc+=","),++Al%10||(Uc+="\n\t"),"key"==Va&&(Va="keys"),Uc+=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")+
null;if("ks"==xl){var Mi=Bb.match(/[0-9A-F]+$/);Mi&&(Li=Qk(a,Mi[0]))}Bb=ya(Bb,50)+" ;"+(Li||"stack="+Xj(a,Sc));a.v(Bb);xf++}xf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Qk(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 nb=0;if("all"==T)nb=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){nb=Rb[Va];Wa=!!(a.ja&nb);break}if(!nb){a.v("unknown message category: "+
T);break a}}if(nb)if("on"==g[2])a.ja|=nb,Wa=!0;else if("off"==g[2]&&(a.ja&=~nb,Wa=!1,1073741824==nb)){for(var Ni=1E3<=a.N.length?a.N.length-1E3:0;Ni<a.N.length;)a.v(a.N[Ni++]);a.N=[]}}var Al=0,Uc="";for(Va in Rb)if(!T||T==Va){var Bl=!!(a.ja&Rb[Va]);if(null===Wa||Wa==Bl)Uc&&(Uc+=","),++Al%10||(Uc+="\n\t"),"key"==Va&&(Va="keys"),Uc+=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")+
(Uc||"none"));Mj(a)}break;case "p":if("print"==g[0]){Rk(a,b.substr(5));break}var Cl=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 Oi="pr"==Cl?1:0,Pi=1+Oi;if(a.L)a.v("step in progress");else{var Ud=X(a.f.g[7]),dc=a.Sa(Ud);3==dc||4==dc||34816==(dc&65280)||32256==(dc&65024)||35072==(dc&65280)?(a.L=Pi,Vj(Ud,2)):2048==(dc&65024)&&(yk(a,Ud),a.L=Pi);a.L?(a.Bb(a.b,Ud,!0),nk(a)||(a.J&&qe(a.J),a.L=0)):Sk(a,Oi?"tr":
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}qk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Vc=+g[2];if(8==Vc||10==Vc||16==Vc)a.W=Vc;else{a.v("invalid base: "+Vc);break}}a.v("default base: "+a.W);break;case "cs":var Wc;void 0!==g[3]&&(Wc=+g[3]);switch(g[2]){case "int":a.f.Ob=Wc;break;case "start":a.f.pc=Wc;break;case "stop":a.f.Rb=Wc;break;default:a.v("unknown cs option");break a}void 0!==Wc&&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":Sk(a,
@ -365,7 +365,7 @@ ck=20,dk=21,ek=22,fk=23,gk=24,hk=25,ik=26,jk=27,ak=28,kk=29,lk=30,Yj={SP:6,PC:7,
Gk,Z],45056:[19,Gk,Z],49152:[15,Gk,Z],53248:[17,Gk,Z],57344:[94,Gk,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,Ck]},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,Fk],35072:[107,Fk]},65472:{64:[56,Z],192:[95,Z],2560:[39,Z],2624:[49,Z],2688:[53,Z],2752:[51,Z],
2816:[67,Z],2880:[1,Z],2944:[77,Z],3008:[97,Z],3072:[73,Z],3136:[71,Z],3200:[6,Z],3264:[4,Z],3328:[58,Ek],3392:[60,Z],3456:[65,Z],3520:[96,Z],35328:[40,Z],35392:[50,Z],35456:[54,Z],35520:[52,Z],35584:[68,Z],35648:[2,Z],35712:[78,Z],35776:[98,Z],35840:[74,Z],35904:[72,Z],35968:[7,Z],36032:[5,Z],36096:[66,Z],36160:[59,Z],36224:[64,Z],36288:[61,Z]},65528:{128:[76,Hk],152:[108,Dk]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],
166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},zk=[0],Sj=[58,60,65,96,110,100,101,102,103,104,105],Tj=[108,59,64],mk=1E3,pk=">> ";Sa(function(){for(var a=A(document,y,"debugger"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Kj(d);pb(d,c)}});
function Wk(a,b,c){x.call(this,"Computer",a,33554432);this.A.ca=!1;this.O=null;Xk(this,b);this.L=ge(this,"autoPower",a,6);this.j=0;this.S=+a.busWidth||+a.buswidth;this.G=this.w=this.I=null;this.C=this.R=!1;this.B=this.u=null;this.P=this.M=this.N=!1;this.U=ge(this,"url")||"";(Math.random()+.1).toString(36);this.g=Yk(this);if(this.f=nb("CPU",this.id)){this.D=nb("Debugger",this.id);this.F=new Gc({id:this.vb+".bus",busWidth:this.S},this.f,this.D);var d,e=ib(this.id);if((this.i=nb("Panel",this.id))&&this.i.Ua)for(b=
function Wk(a,b,c){x.call(this,"Computer",a,33554432);this.A.ca=!1;this.O=null;Xk(this,b);this.L=ge(this,"autoPower",a,6);this.j=0;this.S=+a.busWidth||+a.buswidth;this.G=this.w=this.I=null;this.C=this.R=!1;this.B=this.u=null;this.P=this.M=this.N=!1;this.U=ge(this,"url")||"";(Math.random()+.1).toString(36);this.g=Yk(this);if(this.f=kb("CPU",this.id)){this.D=kb("Debugger",this.id);this.F=new Gc({id:this.vb+".bus",busWidth:this.S},this.f,this.D);var d,e=ib(this.id);if((this.i=kb("Panel",this.id))&&this.i.Ua)for(b=
0;b<e.length;b++)d=e[b],d.T=this.i.T,d.v=this.i.v,d.Ua=this.i.Ua;this.v(Hb+" v1.34.3\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.v("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.Ba&&d.Ba(this,this.F,this.f,this.D);b=null;d=ge(this,"resume",a);void 0!==d&&(1<d.length?b=this.w=d:this.b=parseInt(d,10));var f;if(a=ge(this,"state")||
(f=!0,a.state))this.I=b=a,f||(this.C=!0,this.b=Zk),this.b&&(this.B=new G(this,"1.34.3"),$k(this.B)?b=null:delete this.B);!b&&this.b&&(b=al(this))&&(this.C=!0);if(b){var g=this;Ea(b,null,!0,function(a,b,c){c?(g.w=null,g.C=!1,g.T("Unable to load machine state from server (error "+c+(b?": "+za(b):"")+")")):(g.G=b,g.R=!0);D(g)})}else D(this);this.H.power||(this.L=!0);!c&&this.L&&this.yc(this.rc)}else w("Unable to find CPU component")}p(Wk,x);
function Xk(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.O=b}function ge(a,b,c,d){var e=b.toLowerCase(),e=Na(b)||Na(e);void 0===e&&a.O&&(e=a.O[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}h=Wk.prototype;
@ -387,7 +387,7 @@ function Yk(a,b){var c=a.g;c||((c=Ka(ml),void 0!==c)?!c&&b&&(b=null,window&&(b=w
function El(a,b){a.g=null;b=Ea(Ga()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(La(ml,b.data),a.g=b.data)}catch(d){w(d.message+" ("+c+")")}return a.g}function al(a){var b=null;a.g&&(b=Ga()+"/api/v1/user?req=load&user="+a.g+"&state="+Fl(a,"1.34.3"));return b}
function tl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Fl(a,"1.34.3");d.data=c;b=Ea(Ga()+"/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.T("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.T(c),La(ml,""),a.g=null)}}
function Uh(a){var b;a=ib(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function qe(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 hl="failsafe",cl="validate",el="timestamp",ol="version",pl="url",ql="browser",ml="user",gl=-1,Zk=0,fl=1,jl=2,Dl=3;
Sa(function(){for(var a=A(document,y+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=ob(c),c=A(c,y,"computer"),e=0;e<c.length;e++){var f=c[e],g=ob(f),g=new Wk(g,d,!0);pb(g,f);g.L&&g.yc(g.rc)}});Xa.show.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=nb("Computer",c.id))&&c.P&&!c.A.ca&&c.rc(gl)}});Xa.exit.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=nb("Computer",c.id))&&c.A.ca&&Tk(c,!(!c.b||c.w),!0)}});
Sa(function(){for(var a=A(document,y+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=ob(c),c=A(c,y,"computer"),e=0;e<c.length;e++){var f=c[e],g=ob(f),g=new Wk(g,d,!0);pb(g,f);g.L&&g.yc(g.rc)}});Xa.show.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=kb("Computer",c.id))&&c.P&&!c.A.ca&&c.rc(gl)}});Xa.exit.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=kb("Computer",c.id))&&c.A.ca&&Tk(c,!(!c.b||c.w),!0)}});
function G(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.D=!1;this.key=Fl(a,b,c);kl(this,a.vf)}h=G.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function $k(a,b){return b?(a.b=b,a.g=!0,a.D=!1,!0):a.g?!0:Ha()&&(b=Ka(a.key))?(a.b=b,a.g=!0):!1}function dl(a){var b=!0;if(!a.D)try{a.f=JSON.parse(a.b),a.D=!0}catch(c){w(c.message||c),b=!1}return b}
function ll(a){var b=!0;if(Ha()){var c=JSON.stringify(a.f);La(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function kl(a,b){a.b="";a.f={};a.g=a.D=!1;b&&a.set("parms",b)}
h.clear=function(a){kl(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 Fl(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 Gl=0;
@ -398,5 +398,5 @@ function Jl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=
"");a=a.replace(d[0],g);Jl(a,b,c)}})}else c(a,null)}
function Kl(a,b,c,d,e){function f(a){if(void 0===l){var b=k&&A(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=wa(a))}function g(a){f("Error: "+a);m&&(--Gl||$a(!0));m=!1}var k,l,m=!0;Gl++;fb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n));q.appendChild(t)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.3/components.xsl");n=function(e,l){l?Hl(d,null,a,null,!1,f,function(a,e){e?(eb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Gl||$a(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Gl||
$a(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Hl(c,b,a,e,!0,f,n):Il(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(r){g(r.message)}return m}window.embedPDP10=function(a,b,c,d){$a(!1);return Kl("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){$a(!1);return Kl("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return nb(b,a+".machine")};
$a(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Hl(c,b,a,e,!0,f,n):Il(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(r){g(r.message)}return m}window.embedPDP10=function(a,b,c,d){$a(!1);return Kl("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){$a(!1);return Kl("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return kb(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!rb[a]){for(var c=!0,d=rb,e=a,f=b.length,g=[],k=[],l="",m=null,n=0;n<f;n++){var q=b[n];if('"'==q||"'"==q)m&&q!=m?l+=q:(m?m=null:m=q,l&&(k.push(l),l=""));else{if(!m){if("\r"==q||"\n"==q)q=";";if(" "==q||"\t"==q||";"==q){l&&(k.push(l),l="");";"==q&&k.length&&(g.push(k),k=[]);continue}}l+=q}}l&&k.push(l);k.length&&g.push(k);d[e]=g;qb(a)||(c=!1)}return c};window.enableEvents=$a;window.sendEvent=bb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.3/pdp11-dbg.map