The computer's 'resume' property can now be passed in as a machine property, allowing pages to set and/or override it

This commit is contained in:
Jeff Parsons 2017-06-23 14:21:03 -07:00 committed by Jeff Parsons
commit 0b803b23f1
9 changed files with 35 additions and 34 deletions

View file

@ -106,7 +106,7 @@ function oc(a,b,c){pb.call(this,"Bus",a);this.H=b;this.ba=c;this.I=a.busWidth||2
function rc(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.C,p=a.C-(f-m);p>g&&(p=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.ya)return k.we+=k.ya-f,k.ya=f,!0;if(f>=k.ya+k.we){p=k.size-(f-m);p>g&&(p=g);k.we=f-k.ya+p;f=m+a.C;g-=p;h++;continue}}return tc(a,uc,f,g)}f=new x(f,p,a.C,d,e);pc(f,a.ba,k);a.aa[h++]=f;f=m+a.C;g-=p}return 0>=g?(vc(a.H),a.H.da.vb||a.status(Math.floor(c/1024)+"Kb "+xc[d]+" at "+q(b)),!0):tc(a,yc,b,c)}
function qc(a,b){32==a.I?b?a.J&&(zc(a,1048576,1048576,a.J),a.J=null):a.J||(a.J=Ac(a,1048576,1048576),zc(a,1048576,1048576,Ac(a,0,1048576))):20<a.I&&(b=a.B&-1048577|(b?1048576:0),b!=a.B&&(a.B=b,a.H&&(a=a.H,a.ff=a.ed=b)))}l.Mg=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 tc(this,Bc,a,b,d);Cc(f,c,!0);b-=this.C;e++}return!0}return tc(this,Dc,a,b)};
function Ec(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);pc(b,a.ba,e);a.aa[d++]=b;b=d*a.C;c-=a.C}vc(a.H);return!0}return tc(a,Fc,b,c)}function Ac(a,b,c){var d=[];for(b>>>=a.A;0<c&&b<a.aa.length;)d.push(a.aa[b++]),c-=a.C;return d}
function zc(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.we=h.we;m.size=h.size;p&&(m.type=p,m.D=p==Gc);Qb?(m.I=h.I,m.G=h.G,m.Pa=h.Pa,m.Sd=h.Sd,m.X=h.X,Cc(m,Hc?Ic:Jc)):(m.X=h.X,Cc(m,Kc));pc(m,v,h);h=k}a.aa[g++]=h;c-=a.C}}l.Ia=function(a){return this.aa[(a&this.B)>>>this.A].Bc(a&this.D,a)};function Mc(a,b){var c=b&a.D,d=(b&a.B)>>>a.A;return c!=a.D?a.aa[d].Of(c,b):a.aa[d++].$d(c,b)|a.aa[d&a.W].$d(0,b+1)<<8}
function zc(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.we=h.we;m.size=h.size;p&&(m.type=p,m.D=p==Gc);Qb?(m.I=h.I,m.G=h.G,m.Pa=h.Pa,m.Sd=h.Sd,m.X=h.X,Cc(m,Hc?Ic:Jc)):(m.X=h.X,Cc(m,Kc));pc(m,v,h);h=k}a.aa[g++]=h;c-=a.C}}l.Ia=function(a){return this.aa[(a&this.B)>>>this.A].Bc(a&this.D,a)};function Lc(a,b){var c=b&a.D,d=(b&a.B)>>>a.A;return c!=a.D?a.aa[d].Of(c,b):a.aa[d++].$d(c,b)|a.aa[d&a.W].$d(0,b+1)<<8}
l.fc=function(a,b){this.aa[(a&this.B)>>>this.A].Dc(a&this.D,b&255,a)};function Nc(a,b,c){var d=b&a.D,e=(b&a.B)>>>a.A;d!=a.D?a.aa[e].ti(d,c&65535,b):(a.aa[e++].cf(d,c&255,b),a.aa[e&a.W].cf(0,c>>8&255,b+1))}l.yj=function(){return null};
function Oc(a,b){var c=0,d=[],e=!a.J&&a.N==a.B;e||qc(a,!0);for(var f=0;f<a.M;f++){var g=a.aa[f];if(b&&g.type!=Gc||g.Oa||g.sj){d[c++]=f;var h=c++;if(g=g.save()){for(var k=0,m=0,p=[];k<g.length;){for(var v=g[k],u=k+1;u<g.length&&g[u]===v;)u++;p[m++]=u-k;p[m++]=v;k=u}p.length<g.length&&(g=p)}d[h]=g}}e||qc(a,!1);d[c]=e;return d}function Pc(a,b){if(null==b)return a.K=!a.K,a.K;void 0===a.F[b]&&(a.F[b]=[null,!1]);a.F[b][1]=!a.F[b][1];return a.F[b][1]}
function Qc(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]?kb("Input port "+sa(k)+" already registered"):f.F[k]=[h,!1]}}function Rc(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]&&Sc(a.ba,b,m)):a.ba&&(Pb(a.ba,a,b,null,d),a.K&&Sc(a.ba,b,m));e|=m<<f;f+=h<<3;b+=h;c-=h}return e}
@ -577,8 +577,8 @@ a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0<b&&(a.vc=b>>1,a.Qb-=b);0<c&&
function jt(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.va[a.I];h.kf&&(d=h.kf[d]);var k=g>>4&15;h.kf&&(k=h.kf[k]);e?(b*=h.Fc,c*=h.Gc,e.fillStyle=h.Ce[k],e.fillRect(b,c,h.Fc,h.Gc)):(b=b*a.qa+a.vc,c=c*a.ta+a.zc,a.L.fillStyle=h.Ce[k],a.L.fillRect(b,c,a.qa,a.ta));g&Ct&&(k=(f&15)*h.Fc,f=(f>>4)*h.Gc,e?e.drawImage(h.Ug[d],k,f,h.Fc,h.Gc,b,c,h.Fc,h.Gc):a.L.drawImage(h.Ug[d],k,f,h.Fc,h.Gc,b,c,a.qa,a.ta));g&it&&(f=a.od,g=a.Hc,e?(a.za&&a.za!==h.Gc&&(f=f*h.Gc/a.za|0,g=g*h.Gc/a.za|0),e.fillStyle=h.Ce[d],e.fillRect(b,
c+f,h.Fc,g)):(a.za&&a.za!==a.ta&&(f=f*a.ta/a.za|0,g=g*a.ta/a.za|0),a.L.fillStyle=h.Ce[d],a.L.fillRect(b,c+f,a.qa,g)))}
function Es(a,b){if(a.da.Yb){var c=!1,d=a.B;d&&(d!==a.A?d.Xc&8&&(c=!0):d.xd&32&&(c=!0));if(c||b){if(b)Bt(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Bd&15)&&0<=a.Aa&&(a.Aa++,e=!0);var f=0,g=a.Wc,h=a.bb,c=h,k=c+a.Ob;a.oa>=qt&&(h=c=655360,k=c+65536);if(au(a,d)&8||d.Ze&&d.Ze<d.hi){var m=(d.Sa[sr]<<8)+d.Sa[tr]|0;d.kd!==m&&(d.kd=m,At(a));d.Ze=0}m=d.kd;a.I&&(m<<=1);c+=m;m=a.Xa;a.La>=dq&&d.Sa[19]&&d.Sa[19]<<1!=d.Sa[1]+1&&(a.Ma=d.Sa[19]<<(a.I?1:d.Sa[20]&64?3:4),m=(a.Ma*(a.J-1)+a.F)/a.Eb|0,a.oa<=Js&&
(m<<=1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.ma){b=a.ka;for(var p=!0,v=c>>>b.A;0<m&&v<b.aa.length;)b.aa[v].Oa&&(b.aa[v].Oa=p=!1,b.aa[v].sj=!0),m-=b.C,v++;b=p}if(b){if(!e)return;if(!a.xa){f=a.aa-d.kd;if(0>f)return;g=f+1}}if(a.I){if(a.va[a.I]){d=f;f=0;e=a.xa=0;h=Ct<<8;b=1048575;p=a.B.Xc&32;a.La>=dq&&(p=a.B.Cc[16]&8);m=a.aa-a.B.kd;p&&(e=Ns<<8,b&=~e,a.Aa&2||(b&=~h));for(c+=d<<1;c<k&&d<g;)p=Mc(a.ka,c),p|=h,p&e&&(a.xa++,p&=b),d==m&&(p|=a.Aa&1?it<<8:0),a.ma&&p===a.M[d]||(jt(a,d%a.F,d/a.F|0,p,a.Ca),
a.M[d]=p,f++),c+=2,d++;a.ma=!0;f&&a.Ca&&a.L.drawImage(a.Ba,0,0,a.Ya,a.eb,a.vc,a.zc,a.Qb,a.Rb);gt(a)}}else if(a.Pb){var g=k,u,k=c,d=a.xa=0,f=a.Eb,e=16==f?65536:196608,h=16==f?1:2;b=Vs(a,h);for(var p=m=0,v=a.F,E=0,G=a.J,I=0;k<g;){u=Mc(a.ka,k);if(a.ma&&u===a.M[d])m+=f;else{a.M[d]=u;u=u>>8|(u&255)<<8;var J=e,T=16;m<v&&(v=m);for(var L=0;L<f;L++){var ua=(u&(J>>=h))>>(T-=h);ft(a.Ha,m++,p,b[ua])}m>E&&(E=m);p<G&&(G=p);p>=I&&(I=p+1)}k+=2;d++;if(m>=a.F){m=0;p+=2;if(p>a.J)break;p==a.J&&(p=1,k=c+a.Pb)}}a.ma=!0;
(m<<=1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.ma){b=a.ka;for(var p=!0,v=c>>>b.A;0<m&&v<b.aa.length;)b.aa[v].Oa&&(b.aa[v].Oa=p=!1,b.aa[v].sj=!0),m-=b.C,v++;b=p}if(b){if(!e)return;if(!a.xa){f=a.aa-d.kd;if(0>f)return;g=f+1}}if(a.I){if(a.va[a.I]){d=f;f=0;e=a.xa=0;h=Ct<<8;b=1048575;p=a.B.Xc&32;a.La>=dq&&(p=a.B.Cc[16]&8);m=a.aa-a.B.kd;p&&(e=Ns<<8,b&=~e,a.Aa&2||(b&=~h));for(c+=d<<1;c<k&&d<g;)p=Lc(a.ka,c),p|=h,p&e&&(a.xa++,p&=b),d==m&&(p|=a.Aa&1?it<<8:0),a.ma&&p===a.M[d]||(jt(a,d%a.F,d/a.F|0,p,a.Ca),
a.M[d]=p,f++),c+=2,d++;a.ma=!0;f&&a.Ca&&a.L.drawImage(a.Ba,0,0,a.Ya,a.eb,a.vc,a.zc,a.Qb,a.Rb);gt(a)}}else if(a.Pb){var g=k,u,k=c,d=a.xa=0,f=a.Eb,e=16==f?65536:196608,h=16==f?1:2;b=Vs(a,h);for(var p=m=0,v=a.F,E=0,G=a.J,I=0;k<g;){u=Lc(a.ka,k);if(a.ma&&u===a.M[d])m+=f;else{a.M[d]=u;u=u>>8|(u&255)<<8;var J=e,T=16;m<v&&(v=m);for(var L=0;L<f;L++){var ua=(u&(J>>=h))>>(T-=h);ft(a.Ha,m++,p,b[ua])}m>E&&(E=m);p<G&&(G=p);p>=I&&(I=p+1)}k+=2;d++;if(m>=a.F){m=0;p+=2;if(p>a.J)break;p==a.J&&(p=1,k=c+a.Pb)}}a.ma=!0;
v<a.F&&(a.Ca.putImageData(a.Ha,0,0,v,G,E-v,I-G),a.L.drawImage(a.Ba,0,0,a.F,a.J,0,0,a.Z,a.la))}else if(a.Pc){g=h;f=a.xa=0;e=Vs(a,8);h=a.B.fd;m=b=0;p=a.F;v=0;E=a.J;G=0;I=a.B.ae[4]&8?4:1;u=a.B.Cc[19]&15;for(J=a.Ma>a.F?a.Ma-a.F-u>>3:0;c<k;){d=h[c-g];L=4;u||(a.ma&&d===a.M[f]?(b+=L,L=0):a.M[f]=d,f++);if(L){b<p&&(p=b);for(T=0;T<L;T++)ft(a.Ha,b++,m,e[d&255]),d>>=8;b>v&&(v=b);m<E&&(E=m);m>=G&&(G=m+1)}c+=I;if(b>=a.F){b=0;if(++m>a.J)break;c+=J}}u||(a.ma=!0);p<a.F&&(a.Ca.putImageData(a.Ha,0,0,p,E,v-p,G-E),a.L.drawImage(a.Ba,
0,0,a.F,a.J,0,0,a.Z,a.la))}else{g=h;d=a.xa=0;f=Vs(a);e=a.B.fd;b=h=0;m=a.F;p=0;v=a.J;E=0;G=a.B.Cc[19]&15;for(I=a.Ma>a.F?a.Ma-a.F-G>>3:0;c<k;){u=c++-g;u=e[u];T=8;G?h?(J=a.F-h,T>J&&(T=J)):(u<<=G,T-=G,a.ma=!1):(a.ma&&u===a.M[d]?(h+=T,T=0):a.M[d]=u,d++);if(T){h<m&&(m=h);for(J=0;J<T;J++)L=cu[u&2155905152]||0,ft(a.Ha,h++,b,f[L]),u<<=1;h>p&&(p=h);b<v&&(v=b);b>=E&&(E=b+1)}if(h>=a.F){h=0;if(++b>a.J)break;c+=I}}G||(a.ma=!0);m<a.F&&(a.Ca.putImageData(a.Ha,0,0,m,v,p-m,E-v),a.L.drawImage(a.Ba,0,0,a.F,a.J,0,0,a.Z,
a.la))}}}}function au(a,b){var c=0;a=Gd(a.H)-b.yh;0>a&&(b.yh=a,a=-a|0);a%b.th>b.pn&&(c|=1);a%b.wh>b.rn&&(c|=9);b.hi=a/b.wh|0;return c}l.Em=function(a,b){return du(this,this.Y,a,b)};l.jo=function(a,b,c){var d=this.Y;d.Hg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.Dm=function(a,b){return eu(this,this.Y,a,b)};l.io=function(a,b,c){fu(this,this.Y,a,b,c)};l.Fm=function(a,b){return gu(this,this.Y,b)};l.ko=function(a,b,c){a=this.Y;w(this,a.port+4,b,c,"MODE");a.Xc=b;Ts(this,!1)};
@ -813,8 +813,8 @@ a.C,ua)||Ny(a,a.aa,ua)||Ny(a,a.O,ua)||a.P("breakpoint missing: "+Oy(ua)):"i"==T?
(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 sc=rB(a.pa,!0);sc?"console"==Sa?console.log(sc):
(iB(a),a.P(sc)):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.Gd)if("."!=Ld.charAt(0)){var ef=df.Gd[Ld],xg=ef.o;if(void 0!==xg){var ff=ef.s;void 0===ff&&(ff=df.U);var yg=df.Gd[Ld].l;yg&&(Ld=yg);a.P(Dy(xg,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 tm=ca[0];if(tm){var Sg=a.Sb(Yy(a,tm));if(-1===Sg)a.P("invalid address: "+tm);else{var pf,
Qa=null;if(80386<=a.H.ca){var qf=a.ka,Qa={};Qa.Lk=(Sg&-4194304)>>>20;Qa.Vi=a.H.Wc+Qa.Lk;Qa.nb=qf.aa[(Qa.Vi&qf.B)>>>qf.A];Qa.Cj=Qa.nb.Od(Qa.Lk);Qa.Mk=(Sg&4190208)>>>10;Qa.Wi=(Qa.Cj&-4096)+Qa.Mk;Qa.ob=qf.aa[(Qa.Wi&qf.B)>>>qf.A];Qa.Dj=Qa.ob.Od(Qa.Mk);Qa.wl=(Qa.Dj&-4096)+(Sg&4095)}if(pf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var xe="%"+q(Sg),xe=xe+(" %%"+cz(pf.Vi,pf.Cj)),xe=
xe+(" %%"+cz(pf.Wi,pf.Dj,!0)),xe=xe+(" %%"+q(pf.wl));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";mB(a,ca);break a}for(xb in Ub)if(ca[1]==xb){var Dt=a.Ba[xb];Dt?(ca.shift(),ca.shift(),Dt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var Et=cb,Ft=Sa,Gt="",Ht=0,Lc=a.oa,kd=a.W;if(kd.length){var wc=+Et||a.Xa,Tg=+Ft||10;isNaN(wc)?wc=Tg:Gt="more ";wc>kd.length&&(a.P("note: only "+
kd.length+" available"),wc=kd.length);Lc-=wc;0>Lc&&(null==kd[kd.length-1].U?(wc=Lc+wc,Lc=0):Lc+=kd.length);var um=[];"call"==Ft&&(Tg=1E5,um=["CALL"]);for(void 0!==Et&&a.P(wc+" instructions earlier:");0<Tg&&Lc!=a.oa;){var ye=kd[Lc++];if(null==ye.U)break;var Ug=qy(a,ye.Ja,ye.U,ye.ya,ye.type,ye.Hb,ye.dc),hC=wc--,It=fA(a,Ug,"history",hC);(!um.length||0<=It.indexOf(um[0]))&&a.P(It);Ug.Ge&&(Lc+=Ug.Ge,Tg-=Ug.Ge,wc-=Ug.Ge);Lc>=kd.length&&(Lc=0);a.Xa=wc;Ht++;Tg--}}Ht||(a.P("no "+Gt+"history available"),a.Xa=
xe+(" %%"+cz(pf.Wi,pf.Dj,!0)),xe=xe+(" %%"+q(pf.wl));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";mB(a,ca);break a}for(xb in Ub)if(ca[1]==xb){var Dt=a.Ba[xb];Dt?(ca.shift(),ca.shift(),Dt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var Et=cb,Ft=Sa,Gt="",Ht=0,Mc=a.oa,kd=a.W;if(kd.length){var wc=+Et||a.Xa,Tg=+Ft||10;isNaN(wc)?wc=Tg:Gt="more ";wc>kd.length&&(a.P("note: only "+
kd.length+" available"),wc=kd.length);Mc-=wc;0>Mc&&(null==kd[kd.length-1].U?(wc=Mc+wc,Mc=0):Mc+=kd.length);var um=[];"call"==Ft&&(Tg=1E5,um=["CALL"]);for(void 0!==Et&&a.P(wc+" instructions earlier:");0<Tg&&Mc!=a.oa;){var ye=kd[Mc++];if(null==ye.U)break;var Ug=qy(a,ye.Ja,ye.U,ye.ya,ye.type,ye.Hb,ye.dc),hC=wc--,It=fA(a,Ug,"history",hC);(!um.length||0<=It.indexOf(um[0]))&&a.P(It);Ug.Ge&&(Mc+=Ug.Ge,Tg-=Ug.Ge,wc-=Ug.Ge);Mc>=kd.length&&(Mc=0);a.Xa=wc;Ht++;Tg--}}Ht||(a.P("no "+Gt+"history available"),a.Xa=
void 0)}else if("di"==za){ca.shift();var vm=ca[0];if(vm){var Vg=fy(a,vm);if(void 0===Vg||0>Vg||255<Vg)a.P("invalid vector: "+vm);else{var Jt="&",Kt=!!(a.H.qa&1),Lt=!1,Zi=a.H.Pb+(Vg<<(Kt?3:2)),Mt=a.H.ja(Zi+0),iC=a.H.ja(Zi+2);Kt&&(Jt="#",a.H.ja(Zi+4)&2048&&(Lt=!0,Mt|=a.H.ja(Zi+6)<<16));a.P("dumpIDT("+sa(Vg)+"): "+Jt+q(iC,4)+":"+q(Mt,Lt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var rf=Yy(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var $i=0;Sa&&("l"==Sa.charAt(0)&&
(Sa=Sa.substr(1)||rb),$i=fy(a,Sa)>>>0,65536<$i&&($i=65536));for(var Wg="",sf="dd"==za?4:"dw"==za?2:1,aj=sf*$i||128,jC=aj+15>>4||1;jC--&&0<aj;){var Xg=0,wm=0,Yg,xm="",Nt="",cb=Oy(rf);for(Yg=4==sf?16:a.D;0<Yg&&0<aj;Yg--){var bj=a.Ia(rf,1),Xg=Xg|bj<<(wm++<<3);wm==sf&&(xm+=8==a.D?ra(Xg,3*sf):q(Xg,2*sf),xm+=1==sf?9==Yg?"-":" ":" ",Xg=wm=0);Nt+=32<=bj&&128>bj?String.fromCharCode(bj):".";aj--}Wg&&(Wg+="\n");Wg+=cb+" "+xm+(Yg?"":" "+Nt)}Wg&&a.P(Wg);a.Ma=rf}}}}}break;case "e":if("else"==g[0])break;var cj=
1,Ot=255,Pt=a.Ia,Qt=a.fc;"ew"==g[0]&&(cj=2,Ot=65535,Pt=a.Yc,Qt=a.kl);var Rt=cj<<1,St=g[1];if(null==St)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 dj=Yy(a,St);if(dj)for(var ej=2;ej<g.length;ej++){var Zg=ly(a,g[ej]);if(void 0===Zg){a.P("unrecognized value: "+g[ej]);break}Zg&~Ot&&a.P("warning: "+q(Zg)+" exceeds "+cj+"-byte value");var kC=Pt.call(a,dj);a.P("changing "+Oy(dj)+" from "+q(kC,Rt,!0)+" to "+q(Zg,Rt,!0));
@ -858,8 +858,8 @@ wy,[119,R|S|X,uB|4096]],[[155,R|V|4096,W|V|4096],wy,[98,R|V|X],[96,R|V|X],[95,R|
CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42},Gy={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,
TASK_IOPM:100};eb(function(){for(var a=Cb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=zb(c),d=new py(d);Bb(d,c)}});
function KB(a,b,c){pb.call(this,"Computer",a,67108864);this.da.Yb=!1;LB(this,b);this.N=Bd(this,"autoPower",a);this.B=0;this.aa=a.busWidth||a.buswidth;this.A=MB;this.L=null;this.I=this.Z=!1;this.ea=Bd(this,"url")||"";this.ha=(Math.random()+.1).toString(36).substr(2,12);this.C=NB(this);if(this.H=yb("CPU",this.id)){this.ba=yb("Debugger",this.id);this.G=[];for(b=null;b=Zb(this,"Video",b);)this.G.push(b);this.ka=new oc({id:this.ye+".bus",busWidth:this.aa},this.H,this.ba);var d,e=vb(this.id);if((this.D=
yb("Panel",this.id))&&this.D.Je)for(b=0;b<e.length;b++)d=e[b],d.Da=this.D.Da,d.P=this.D.P,d.Je=this.D.Je;this.P("PCx86 v1.35.1\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.uc&&d.uc(this,this.ka,this.H,this.ba);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.K=d:this.A=parseInt(d,10));d=!1;e=Xa("state");e||(d=!0,e=Bd(this,"state",a));e&&(b=this.W=e,d||(this.I=!0,this.A=MB),this.A&&(this.M=
new Zf(this,"1.35.1"),this.M.load()?b=null:delete this.M));!b&&this.A&&(b=OB(this))&&(this.I=!0);if(b){var f=this;Na(b,null,!0,function(a,b,c){c?(f.K=null,f.I=!1,f.Da("Unable to load machine state from server (error "+c+(b?": "+Ba(b):"")+")")):(f.L=b,f.Z=!0);Lb(f)})}else Lb(this);this.na.power||(this.N=!0);!c&&this.N&&PB(this,this.Mf)}else kb("Unable to find CPU component")}ba(KB,pb);
yb("Panel",this.id))&&this.D.Je)for(b=0;b<e.length;b++)d=e[b],d.Da=this.D.Da,d.P=this.D.P,d.Je=this.D.Je;this.P("PCx86 v1.35.1\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.uc&&d.uc(this,this.ka,this.H,this.ba);b=null;d=Bd(this,"resume");void 0!==d&&(1<d.length?b=this.K=d:this.A=parseInt(d,10));d=!1;e=Xa("state");e||(d=!0,e=Bd(this,"state",a));e&&(b=this.W=e,d||(this.I=!0,this.A=MB),this.A&&
(this.M=new Zf(this,"1.35.1"),this.M.load()?b=null:delete this.M));!b&&this.A&&(b=OB(this))&&(this.I=!0);if(b){var f=this;Na(b,null,!0,function(a,b,c){c?(f.K=null,f.I=!1,f.Da("Unable to load machine state from server (error "+c+(b?": "+Ba(b):"")+")")):(f.L=b,f.Z=!0);Lb(f)})}else Lb(this);this.na.power||(this.N=!0);!c&&this.N&&PB(this,this.Mf)}else kb("Unable to find CPU component")}ba(KB,pb);
function LB(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){kb(d.message+" ("+c+")")}}a.J=b}function Bd(a,b,c){var d=Xa(b);void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function PB(a,b,c){for(var d=vb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Kb(f)){Kb(f,function(){PB(a,b,c)});return}}b.call(a,c)}
function QB(a,b){var c=new Zf(a,"1.35.1",RB);if(c.load()&&SB(c)){var d=c.get(TB),e=b?b.get(TB):"unknown";d!=e&&(a.Da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=KB.prototype;
l.Mf=function(a){void 0===a&&(a=this.A||(this.L?UB:MB));if(!this.B){this.B++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Zf(this,"1.35.1");if(a==VB)b=!0;else if(a>MB){if(d.load(this.L)){this.F=new Zf(this,"1.35.1",WB);this.F.load()&&(XB(this,d)&&(a=YB),ZB(this.F));this.F.set(TB,Ea());$B(this.F);var e=this.A&&!this.I;if(a==UB||ub("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=SB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&