Let's try to tone down the alerts when 'resume' is set to AUTO (1)
This commit is contained in:
parent
5baa1f53ce
commit
7aa689c745
9 changed files with 68 additions and 70 deletions
|
|
@ -491,7 +491,7 @@ b,c){yn(this,1,a,b,c)},212:function(a,b,c){zn(this,1,a,b,c)},214:function(a,b,c)
|
|||
eb(function(){for(var a=Cb(document,"pcx86","chipset"),b=0;b<a.length;b++){var c=a[b],d=zb(c),d=new cl(d);Bb(d,c);pn(d)}});
|
||||
function $p(a){pb.call(this,"ROM",a);this.A=null;this.F=a.addr;this.C=a.size;this.D=a.alias;this.G=a.file;this.B=a.notify;this.I=null;if(this.B&&(a=this.B.indexOf("["),0<a)){try{this.I=eval(this.B.substr(a))}catch(d){}this.B=this.B.substr(0,a)}if(this.G){a=this.G;var b=va(ta(a));"json"!=b&&"hex"!=b&&(a=Oa()+"/api/v1/dump?file="+this.G+"&format=bytes&decimal=true");var c=this;Na(a,null,!0,function(a,b,f){aq(c,a,b,f)})}}ba($p,pb);$p.prototype.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;bq(this)};
|
||||
$p.prototype.Xb=function(){this.Gd&&(this.ba&&cq(this.ba,this.id,0,this.F>>>4,0,this.F,this.C,this.Gd),delete this.Gd);return!0};$p.prototype.Wb=function(){return!0};
|
||||
function aq(a,b,c,d){if(d)a.Da("Unable to load system ROM (error "+d+": "+b+")");else{sb(a.ye,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Gd=e.symbols;if(!a.A.length){kb("Empty ROM: "+b);return}if(1==a.A.length){kb(a.A[0]);return}}catch(h){a.Da("ROM data error: "+h.message);return}else for(b=
|
||||
function aq(a,b,c,d){if(d)a.Da("Unable to load system ROM (error "+d+": "+b+")",0>d);else{sb(a.ye,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Gd=e.symbols;if(!a.A.length){kb("Empty ROM: "+b);return}if(1==a.A.length){kb(a.A[0]);return}}catch(h){a.Da("ROM data error: "+h.message);return}else for(b=
|
||||
c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=oa(b[e],16);bq(a)}}
|
||||
function bq(a){if(!Kb(a))if(!a.G)Lb(a);else if(a.A&&a.ka){a.C||(a.C=a.A.length);if(a.A.length!=a.C)Jb(a,"ROM size ("+q(a.A.length,8,!0)+") does not match specified size ("+q(a.C,8,!0)+")");else{var b;b=a.F;if(sc(a.ka,b,a.C,Gc)){for(var c=0;c<a.A.length;c++){var d=a.ka,e=b+c;d.aa[(e&d.C)>>>d.A].cf(e&d.D,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.D?b.push(a.D):null!=a.D&&a.D.length&&(b=a.D);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Ac(d.ka,d.F,d.C);zc(d.ka,e,d.C,f)}a.B&&((b=wb(a.B,a.id))?
|
||||
(c=a.A,d=a.I,b.La==dq?eq(b,c,d||[12640,8752],8):b.La==fq&&eq(b,c,d||[14221,16269],8),Lb(b)):a.Da("Unable to find component: "+a.B));delete a.A}}Lb(a)}}eb(function(){for(var a=Cb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=zb(c),d=new $p(d);Bb(d,c)}});function gq(a){pb.call(this,"RAM",a);this.B=a.addr;this.A=a.size;this.F=a.test;this.D=!!this.A;this.C=!1}ba(gq,pb);l=gq.prototype;l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.W=Zb(a,"ChipSet");Lb(this)};
|
||||
|
|
@ -575,14 +575,14 @@ function Us(a,b){var c,d=a.oa,e=a.B;if(e)if(e.La==us)d=Ks;else if(e.La>=dq){var
|
|||
function Ns(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Bd=0;a.oa=b;a.Ga=!1;b=a.B||(b==Ks?a.Y:a.K);if(b!=a.B||b.bb!=a.bb||b.Ob!=a.Ob){it(a);if(a.bb){if(!Ec(a.ka,a.bb,a.Ob))return!1;a.B&&(a.B.rc=!1)}a.B=b;b.rc=!0;a.bb=b.bb;a.Ob=b.Ob;if(!sc(a.ka,b.bb,b.Ob,3,b===a.A?b:null))return!1}a:{a.I=0;a.F=a.Fb;a.J=a.sc;a.Ma=a.F;a.Eb=ns[Ks][2];b=0;if(c=ns[a.oa])a.F=c[0],a.J=c[1],a.Eb=c[2],b=c[3],a.I=c[4],4!=a.ga&&7!=a.ga||a.B!==a.A||a.I!=bt||(7==(a.A.Sa[ks]&31)?a.J=350>Pr(a.A,as)?43:50:a.I=a.La);a.Wc=a.F*a.J|0;a.Vc=a.Wc/
|
||||
a.Eb|0;a.Xa=a.Vc;a.Pb=0;void 0!==b&&(a.Xa=(a.Xa<<1)+b|0,a.Pb=a.Xa+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.Ya=a.eb=0;b&&(a.Ya=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.Ya=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.Ya,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.Ya;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0;
|
||||
a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0<b&&(a.vc=b>>1,a.Qb-=b);0<c&&(a.zc=c>>1,a.Rb-=c);if(b||c)a.L.fillStyle=a.O.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.la)}}Bt(a,!0);Es(a)}return!0}function gt(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Ct(a){a.xa=-1;a.ma=!1;var b=a.Vc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function Bt(a,b){b||(a.Ga=!1);Ct(a)}
|
||||
function kt(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&au&&(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&jt&&(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,
|
||||
function kt(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&Dt&&(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&jt&&(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)Ct(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>=rt&&(h=c=655360,k=c+65536);if(cu(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,Bt(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<=Ks&&
|
||||
(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.B,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=au<<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=Os<<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?jt<<8:0),a.ma&&p===a.M[d]||(kt(a,d%a.F,d/a.F|0,p,a.Ca),
|
||||
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)Ct(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>=rt&&(h=c=655360,k=c+65536);if(bu(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,Bt(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<=Ks&&
|
||||
(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.B,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=Dt<<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=Os<<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?jt<<8:0),a.ma&&p===a.M[d]||(kt(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);ht(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=Ws(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);gt(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=Ws(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++)gt(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=Ws(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=du[u&2155905152]||0,gt(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 cu(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 eu(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 fu(this,this.Y,a,b)};l.io=function(a,b,c){gu(this,this.Y,a,b,c)};l.Fm=function(a,b){return hu(this,this.Y,b)};l.ko=function(a,b,c){a=this.Y;w(this,a.port+4,b,c,"MODE");a.Xc=b;Us(this,!1)};
|
||||
a.la))}}}}function bu(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 eu(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 fu(this,this.Y,a,b)};l.io=function(a,b,c){gu(this,this.Y,a,b,c)};l.Fm=function(a,b){return hu(this,this.Y,b)};l.ko=function(a,b,c){a=this.Y;w(this,a.port+4,b,c,"MODE");a.Xc=b;Us(this,!1)};
|
||||
l.Gm=function(a,b){return iu(this,this.Y,b)};l.Ok=function(a,b,c){this.A.Qf=this.A.Qf&-4|b&3;w(this,a,b,c,"FEAT")};l.cm=function(a,b){a=this.A.xd;b&&!t(this)||w(this,960,null,b,"ATC.INDX",a);return a};l.tl=function(a,b){a=this.A.Cc[this.A.xd&31];b&&!t(this)||w(this,960,null,b,"ATC."+this.A.Vg[this.A.xd&31],a);return a};
|
||||
l.Nk=function(a,b,c){var d=this.A,e=d.xd&32;if(d.Le){d.Le=!1;var f=d.xd&31;if(16<=f||!e)if(ju||d.Cc[f]!==b)c&&!t(this)||w(this,a,b,c,"ATC."+d.Vg[f]),d.Cc[f]=b,Bt(this,!1)}else d.xd=b,w(this,a,b,c,"ATC.INDX"),d.Le=!0,b&32&&!e&&Ms(this,!0)&&Es(this,!0),a=(d.Sa[sr]<<8)+d.Sa[tr]|0,d.kd!=a&&(d.kd=a,Bt(this)),d.Ze=0};
|
||||
l.Qm=function(a,b){a=0;if(this.La==dq)a=3-((this.A.bf&12)>>2),a=(this.xb&1<<a)<<4-a;else{var c=this.A.af[0];45!=(c&63)&&2880!=(c&4032)&&184320!=(c&258048)&&(a|=16)}a|=this.A.Kg&-17;this.A.Kg=a;w(this,962,null,b,"STATUS0",a);return a};l.lo=function(a,b,c){this.A.bf=b;Ls(this);w(this,962,b,c,"MISC")};l.Rm=function(a,b){a=this.A.mi;w(this,963,null,b,"VGA_ENABLE",a);return a};l.to=function(a,b,c){this.A.mi=b;w(this,963,b,c,"VGA_ENABLE")};
|
||||
|
|
@ -593,10 +593,10 @@ l.Sm=function(a,b){a=this.A.Qf;w(this,970,null,b,"FEAT",a);return a};l.co=functi
|
|||
l.$n=function(a,b,c){if(ju||this.A.yd[this.A.zd]!==b)c&&!t(this)||w(this,975,b,c,"GRC."+this.A.Wg[this.A.zd]),this.A.yd[this.A.zd]=b;switch(this.A.zd){case 0:this.A.If=ls[b&15];this.A.Zd=this.A.If&~this.A.Nd;break;case 1:this.A.Nd=~ls[b&15];this.A.Zd=this.A.If&~this.A.Nd;break;case 2:this.A.rh=ls[b&15]&-2139062144;break;case 3:case 5:mt(this,lt(this));break;case 4:this.A.gi=(b&3)<<3;break;case 6:Us(this,!1);break;case 7:this.A.sh=ls[b&15]&-2139062144;break;case 8:this.A.Bb=b|b<<8|b<<16|b<<24}};
|
||||
l.im=function(a,b){return eu(this,this.K,a,b)};l.Ln=function(a,b,c){var d=this.K;d.Hg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.hm=function(a,b){return fu(this,this.K,a,b)};l.Kn=function(a,b,c){gu(this,this.K,a,b,c)};l.jm=function(a,b){return hu(this,this.K,b)};l.Mn=function(a,b,c){a=this.K;w(this,a.port+4,b,c,"MODE");a.Xc=b;Us(this,!1)};l.gm=function(a,b){var c=this.K.$e;b&&!t(this)||w(this,a,null,b,this.K.type+".COLOR",c);return c};
|
||||
l.Jn=function(a,b,c){c&&!t(this)||w(this,a,b,c,this.K.type+".COLOR");this.K.$e!==b&&(this.K.$e=b,Bt(this,!1))};l.km=function(a,b){return iu(this,this.K,b)};function eu(a,b,c,d){var e;b.rc&&(e=b.ec);w(a,c,null,d,"CRTC.INDX",e);return e}function fu(a,b,c,d){var e;b.rc&&b.ec<b.qh&&(e=b.Sa[b.ec]);d&&!t(a)||w(a,c,null,d,"CRTC."+b.ig[b.ec],e);return e}
|
||||
function gu(a,b,c,d,e){if(b.ec<b.qh){if(ju||b.Sa[b.ec]!==d)e&&!t(a)||w(a,c,d,e,"CRTC."+b.ig[b.ec]),b.Sa[b.ec]=d;if(b.ec==sr||b.ec==tr)cu(a,b)&1?(c=(b.Sa[sr]<<8)+b.Sa[tr]|0,b.kd!==c&&(b.kd=c,Bt(a))):b.Ze||(b.Ze=b.hi);(9==b.ec&&8!=b.Hg||b.ec==as&&223==d)&&Us(a,!0);Vs(a)}}function hu(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function iu(a,b,c){var d=cu(a,b);b===a.A?(d|=b.fa&48^48,b.Le=!1):d=(b.fa^=9)|240;b.fa=d;w(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
|
||||
function gu(a,b,c,d,e){if(b.ec<b.qh){if(ju||b.Sa[b.ec]!==d)e&&!t(a)||w(a,c,d,e,"CRTC."+b.ig[b.ec]),b.Sa[b.ec]=d;if(b.ec==sr||b.ec==tr)bu(a,b)&1?(c=(b.Sa[sr]<<8)+b.Sa[tr]|0,b.kd!==c&&(b.kd=c,Bt(a))):b.Ze||(b.Ze=b.hi);(9==b.ec&&8!=b.Hg||b.ec==as&&223==d)&&Us(a,!0);Vs(a)}}function hu(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function iu(a,b,c){var d=bu(a,b);b===a.A?(d|=b.fa&48^48,b.Le=!1):d=(b.fa^=9)|240;b.fa=d;w(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
|
||||
var ju=!0,At=1,qt=2,Is=3,zt=5,yt=6,Ks=7,ut=13,vt=14,ot=15,pt=16,wt=17,xt=18,rt=19,st=20,tt=21,nt=255,ct=1,bt=3,us=ct,rs=bt,dq=5,fq=7,ms={mda:[us,Ks],cga:[rs,Is],ega:[dq,Is],vga:[fq,Is]},Mr={2:{zg:15700,yg:208,Fg:85,Gg:96}};Mr[Wl]={zg:18432,yg:364,Fg:85,Gg:96};Mr[4]={zg:21850,yg:364,Fg:85,Gg:96};Mr[7]={zg:16700,yg:480,Fg:85,Gg:83};var Js={6:[1,Wl,!0],7:[2,Wl,!0],8:[6,Wl,!0],9:[4,Wl,!0],10:[Wl,1,!0],11:[Wl,2,!0],0:[1,Wl,!1],1:[2,Wl,!1],2:[6,Wl,!1],3:[4,Wl,!1],4:[Wl,1,!1],5:[Wl,2,!1]},ns=[];
|
||||
ns[At]=[40,25,1,0,bt];ns[Is]=[80,25,1,0,bt];ns[4]=[320,200,8,192];ns[yt]=[640,200,16,192];ns[Ks]=[80,25,1,0,ct];ns[ut]=[320,200,8];ns[vt]=[640,200,8];ns[ot]=[640,350,8];ns[pt]=[640,350,8];ns[wt]=[640,480,8];ns[xt]=[640,480,8];ns[rt]=[320,200,1];ns[st]=[320,240,4];ns[tt]=[320,400,4];ns[0]=ns[At];ns[qt]=ns[Is];ns[zt]=ns[4];
|
||||
var Rs=0,Ps=7,Ts=8,Qs=0,Ss=112,Os=128,au=256,jt=512,dt=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],et=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Xs=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Zs=[2,4,6],Ys=[3,5,Ps],$s=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
||||
var Rs=0,Ps=7,Ts=8,Qs=0,Ss=112,Os=128,Dt=256,jt=512,dt=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],et=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Xs=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Zs=[2,4,6],Ys=[3,5,Ps],$s=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
||||
ls=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],du=[0];du[128]=1;du[32768]=2;du[32896]=3;du[8388608]=4;du[8388736]=5;du[8421376]=6;du[8421504]=7;du[-2147483648]=8;du[-2147483520]=9;du[-2147450880]=10;du[-2147450752]=11;du[-2139095040]=12;du[-2139094912]=13;du[-2139062272]=14;du[-2139062144]=15;var or=[];or[us]=["MDA",948,720896,4096,0,Wl];or[rs]=["CGA",980,753664,16384,0,2];or[dq]=["EGA",980,753664,16384,65536,4];
|
||||
or[fq]=["VGA",980,753664,16384,262144,7];
|
||||
var os=0,Ds=1,Cs=2,Hs=[[1036,1038,1033],[1037,1032,1039],[1035,1040,1034]],ss={948:Q.prototype.Em,949:Q.prototype.Dm,952:Q.prototype.Fm,954:Q.prototype.Gm},ts={948:Q.prototype.jo,949:Q.prototype.io,952:Q.prototype.ko},vs={980:Q.prototype.im,981:Q.prototype.hm,984:Q.prototype.jm,985:Q.prototype.gm,986:Q.prototype.km},ws={980:Q.prototype.Ln,981:Q.prototype.Kn,984:Q.prototype.Mn,985:Q.prototype.Jn},xs={960:Q.prototype.cm,961:Q.prototype.tl,962:Q.prototype.Qm,964:Q.prototype.Om,965:Q.prototype.Nm,974:Q.prototype.xm,
|
||||
|
|
@ -815,21 +815,21 @@ a.B,ua)||Oy(a,a.aa,ua)||Oy(a,a.O,ua)||a.P("breakpoint missing: "+Py(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 rc=sB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
||||
(jB(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.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(Ey(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(Zy(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.C)>>>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.C)>>>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+(" %%"+dz(pf.Vi,pf.Cj)),xe=
|
||||
xe+(" %%"+dz(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";nB(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 vc=+Et||a.Xa,Tg=+Ft||10;isNaN(vc)?vc=Tg:Gt="more ";vc>kd.length&&(a.P("note: only "+
|
||||
kd.length+" available"),vc=kd.length);Lc-=vc;0>Lc&&(null==kd[kd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=kd.length);var um=[];"call"==Ft&&(Tg=1E5,um=["CALL"]);for(void 0!==Et&&a.P(vc+" instructions earlier:");0<Tg&&Lc!=a.oa;){var ye=kd[Lc++];if(null==ye.U)break;var Ug=ry(a,ye.Ja,ye.U,ye.ya,ye.type,ye.Hb,ye.dc),iC=vc--,It=gA(a,Ug,"history",iC);(!um.length||0<=It.indexOf(um[0]))&&a.P(It);Ug.Ge&&(Lc+=Ug.Ge,Tg-=Ug.Ge,vc-=Ug.Ge);Lc>=kd.length&&(Lc=0);a.Xa=vc;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=gy(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),jC=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(jC,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=Zy(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var $i=0;Sa&&("l"==Sa.charAt(0)&&
|
||||
(Sa=Sa.substr(1)||rb),$i=gy(a,Sa)>>>0,65536<$i&&($i=65536));for(var Wg="",sf="dd"==za?4:"dw"==za?2:1,aj=sf*$i||128,kC=aj+15>>4||1;kC--&&0<aj;){var Xg=0,wm=0,Yg,xm="",Nt="",cb=Py(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=Zy(a,St);if(dj)for(var ej=2;ej<g.length;ej++){var Zg=my(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 lC=Pt.call(a,dj);a.P("changing "+Py(dj)+" from "+q(lC,Rt,!0)+" to "+q(Zg,Rt,!0));
|
||||
Qt.call(a,dj,Zg,cj)}}break;case "f":kB(a,g[1]);break;case "g":a:{var Tt=g[1],mC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Tt){var ym=Zy(a,Tt,!0);if(!ym)break a;bz(a,ym,mC);a.Hd(a.B,ym,!0)}Xz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var zm;if(a.da.vb)zm="halting",a.Jb();else{if(Mb(a,!0))break a;zm="already halted"}c||a.P(zm)}break;case "i":if("if"==g[0]){var Am;var $g=b.substr(2),$g=Ba($g);my(a,$g)?(c||a.P("true: "+$g),Am=!0):(c||a.P("false: "+$g),Am=!1);Am||(d=!1);
|
||||
xe+(" %%"+dz(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";nB(a,ca);break a}for(xb in Ub)if(ca[1]==xb){var Et=a.Ba[xb];Et?(ca.shift(),ca.shift(),Et(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var Ft=cb,Gt=Sa,Ht="",It=0,Lc=a.oa,kd=a.W;if(kd.length){var vc=+Ft||a.Xa,Tg=+Gt||10;isNaN(vc)?vc=Tg:Ht="more ";vc>kd.length&&(a.P("note: only "+
|
||||
kd.length+" available"),vc=kd.length);Lc-=vc;0>Lc&&(null==kd[kd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=kd.length);var um=[];"call"==Gt&&(Tg=1E5,um=["CALL"]);for(void 0!==Ft&&a.P(vc+" instructions earlier:");0<Tg&&Lc!=a.oa;){var ye=kd[Lc++];if(null==ye.U)break;var Ug=ry(a,ye.Ja,ye.U,ye.ya,ye.type,ye.Hb,ye.dc),iC=vc--,Jt=gA(a,Ug,"history",iC);(!um.length||0<=Jt.indexOf(um[0]))&&a.P(Jt);Ug.Ge&&(Lc+=Ug.Ge,Tg-=Ug.Ge,vc-=Ug.Ge);Lc>=kd.length&&(Lc=0);a.Xa=vc;It++;Tg--}}It||(a.P("no "+Ht+"history available"),a.Xa=
|
||||
void 0)}else if("di"==za){ca.shift();var vm=ca[0];if(vm){var Vg=gy(a,vm);if(void 0===Vg||0>Vg||255<Vg)a.P("invalid vector: "+vm);else{var Kt="&",Lt=!!(a.H.qa&1),Mt=!1,Zi=a.H.Pb+(Vg<<(Lt?3:2)),Nt=a.H.ja(Zi+0),jC=a.H.ja(Zi+2);Lt&&(Kt="#",a.H.ja(Zi+4)&2048&&(Mt=!0,Nt|=a.H.ja(Zi+6)<<16));a.P("dumpIDT("+sa(Vg)+"): "+Kt+q(jC,4)+":"+q(Nt,Mt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var rf=Zy(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var $i=0;Sa&&("l"==Sa.charAt(0)&&
|
||||
(Sa=Sa.substr(1)||rb),$i=gy(a,Sa)>>>0,65536<$i&&($i=65536));for(var Wg="",sf="dd"==za?4:"dw"==za?2:1,aj=sf*$i||128,kC=aj+15>>4||1;kC--&&0<aj;){var Xg=0,wm=0,Yg,xm="",Ot="",cb=Py(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);Ot+=32<=bj&&128>bj?String.fromCharCode(bj):".";aj--}Wg&&(Wg+="\n");Wg+=cb+" "+xm+(Yg?"":" "+Ot)}Wg&&a.P(Wg);a.Ma=rf}}}}}break;case "e":if("else"==g[0])break;var cj=
|
||||
1,Pt=255,Qt=a.Ia,Rt=a.fc;"ew"==g[0]&&(cj=2,Pt=65535,Qt=a.Yc,Rt=a.kl);var St=cj<<1,Tt=g[1];if(null==Tt)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=Zy(a,Tt);if(dj)for(var ej=2;ej<g.length;ej++){var Zg=my(a,g[ej]);if(void 0===Zg){a.P("unrecognized value: "+g[ej]);break}Zg&~Pt&&a.P("warning: "+q(Zg)+" exceeds "+cj+"-byte value");var lC=Qt.call(a,dj);a.P("changing "+Py(dj)+" from "+q(lC,St,!0)+" to "+q(Zg,St,!0));
|
||||
Rt.call(a,dj,Zg,cj)}}break;case "f":kB(a,g[1]);break;case "g":a:{var Ut=g[1],mC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Ut){var ym=Zy(a,Ut,!0);if(!ym)break a;bz(a,ym,mC);a.Hd(a.B,ym,!0)}Xz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var zm;if(a.da.vb)zm="halting",a.Jb();else{if(Mb(a,!0))break a;zm="already halted"}c||a.P(zm)}break;case "i":if("if"==g[0]){var Am;var $g=b.substr(2),$g=Ba($g);my(a,$g)?(c||a.P("true: "+$g),Am=!0):(c||a.P("false: "+$g),Am=!1);Am||(d=!1);
|
||||
break}if("int"==g[0]){var fj;a:switch(gy(a,g[1])){case 19:Yk(a,19,a.H.ea,!0);a.la=a.Z;fj=!0;break a;case 33:Yk(a,33,a.H.ea,!0);a.la=a.Z;fj=!0;break a;default:fj=!1}fj||(d=!1);break}var Bm=g[1];if(Bm&&"?"!=Bm){var Cm=gy(a,Bm);if(void 0!==Cm){var nC=Rc(a.ka,Cm,1);a.P(sa(Cm)+": "+r(nC))}}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 oC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
||||
a.P("\tks\tshow symbol information");else{var Dm=0,Ut=a.H.Z.U,ah=ry(a),Td=ry(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Py(Td));10>Dm;){for(var ld=null,pC=256;Td.Ja>>>0<a.H.eg>>>0;){ah.Ja=a.jb(Td,!0);if(null==Td.ya||!pC--)break;ah.U=Ut;if(ld=qB(a,ah))break;ah.U=a.jb(Td);if(ld=qB(a,ah,!0)){Ut=a.jb(Td,!0);0<ld.indexOf("INT")&&a.jb(Td,!0);break}}if(!ld||null==ld)break;var Vt=null;if("ks"==oC){var Wt=ld.match(/[0-9A-F]+$/);Wt&&(Vt=mB(a,Wt[0]))}ld=Aa(ld,50)+" ;"+(Vt||"stack="+Py(Td));a.P(ld);Dm++}Dm||
|
||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){mB(a,g[1],!0);break}nB(a,g);break;case "m":if("mouse"==g[0]){var Em=g[1],gj=g[2];if(a.G){var Xt=1;"-"==gj.charAt(0)&&(Xt=-1,gj=gj.substr(1));var ze=gy(a,gj,Em);if(void 0!==ze)switch(ze=ze*Xt|0,Em){case "x":a.G.uf(ze,0);break;case "y":a.G.uf(0,ze);break;case "click":a.G.Wd(ze,!0);a.G.Wd(ze,!1);break;default:a.P("unknown action: "+Em)}}else a.P("no mouse");break}a:{var md,nd=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var Ae=0;if("all"==
|
||||
a.P("\tks\tshow symbol information");else{var Dm=0,Vt=a.H.Z.U,ah=ry(a),Td=ry(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Py(Td));10>Dm;){for(var ld=null,pC=256;Td.Ja>>>0<a.H.eg>>>0;){ah.Ja=a.jb(Td,!0);if(null==Td.ya||!pC--)break;ah.U=Vt;if(ld=qB(a,ah))break;ah.U=a.jb(Td);if(ld=qB(a,ah,!0)){Vt=a.jb(Td,!0);0<ld.indexOf("INT")&&a.jb(Td,!0);break}}if(!ld||null==ld)break;var Wt=null;if("ks"==oC){var Xt=ld.match(/[0-9A-F]+$/);Xt&&(Wt=mB(a,Xt[0]))}ld=Aa(ld,50)+" ;"+(Wt||"stack="+Py(Td));a.P(ld);Dm++}Dm||
|
||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){mB(a,g[1],!0);break}nB(a,g);break;case "m":if("mouse"==g[0]){var Em=g[1],gj=g[2];if(a.G){var Yt=1;"-"==gj.charAt(0)&&(Yt=-1,gj=gj.substr(1));var ze=gy(a,gj,Em);if(void 0!==ze)switch(ze=ze*Yt|0,Em){case "x":a.G.uf(ze,0);break;case "y":a.G.uf(0,ze);break;case "click":a.G.Wd(ze,!0);a.G.Wd(ze,!1);break;default:a.P("unknown action: "+Em)}}else a.P("no mouse");break}a:{var md,nd=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)nd=!0,fb=null;else if("off"==fb)nd=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(md in Ub)if(fb==md){Ae=Ub[md];nd=!!(a.ic&Ae);break}if(!Ae){a.P("unknown message category: "+fb);break a}}Ae&&("on"==g[2]?(a.ic|=Ae,nd=!0):"off"==g[2]&&(a.ic&=~Ae,nd=!1))}var qC=0,bh="";for(md in Ub)if(!fb||fb==md){var rC=!!(a.ic&Ub[md]);if(null===nd||nd==rC)bh&&(bh+=","),++qC%10||(bh+="\n\t"),"key"==md&&(md="keys"),bh+=md}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.P((null!==nd?nd?"messages on: ":"messages off: ":"message categories:\n\t")+(bh||"none"));ty(a)}break;case "o":var Fm=g[1],sC=g[2];if(Fm&&"?"!=Fm){var Gm=gy(a,Fm,"port #"),Hm=gy(a,sC);void 0!==Gm&&void 0!==Hm&&(Vc(a.ka,Gm,1,Hm),a.P(sa(Gm)+": "+r(Hm)))}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]){pB(a,b.substr(5));break}var Yt="pr"==g[0]?1:0,tf=1+Yt;if(a.K)a.P("step in progress");
|
||||
else{var hj,Zt=!1,Hb=ry(a,A(a.H),a.H.Z.U);do switch(hj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Uy(a,Hb,1);hj=!0;break;case 204:case 206:a.K=tf;Uy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=tf;Uy(a,Hb,Hb.Hb?4:2);break;case 232:a.K=tf;Uy(a,Hb,Hb.Hb?5:3);break;case 154:a.K=tf;Uy(a,Hb,Hb.Hb?7:5);break;case 255:var $t=a.jb(Hb)&14591;if(4351==$t||6399==$t)a.K=tf,gA(a,Hb);break;case 243:case 242:Uy(a,Hb,1);Zt=hj=!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:Zt&&
|
||||
(a.K=tf,Uy(a,Hb,1))}while(hj);a.K?(a.Hd(a.B,Hb,!0),Xz(a)||(a.pa&&a.pa.nd(),a.K=0)):rB(a,Yt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Zz(a,g);break;case "t":rB(a,g[0],g[1]);break;case "u":$z(a,g[1],g[2],8);break;case "v":if("var"==g[0]){lB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.35.1 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Qb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Pa());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var ch;void 0!==g[3]&&(ch=+g[3]);
|
||||
a.P((null!==nd?nd?"messages on: ":"messages off: ":"message categories:\n\t")+(bh||"none"));ty(a)}break;case "o":var Fm=g[1],sC=g[2];if(Fm&&"?"!=Fm){var Gm=gy(a,Fm,"port #"),Hm=gy(a,sC);void 0!==Gm&&void 0!==Hm&&(Vc(a.ka,Gm,1,Hm),a.P(sa(Gm)+": "+r(Hm)))}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]){pB(a,b.substr(5));break}var Zt="pr"==g[0]?1:0,tf=1+Zt;if(a.K)a.P("step in progress");
|
||||
else{var hj,$t=!1,Hb=ry(a,A(a.H),a.H.Z.U);do switch(hj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Uy(a,Hb,1);hj=!0;break;case 204:case 206:a.K=tf;Uy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=tf;Uy(a,Hb,Hb.Hb?4:2);break;case 232:a.K=tf;Uy(a,Hb,Hb.Hb?5:3);break;case 154:a.K=tf;Uy(a,Hb,Hb.Hb?7:5);break;case 255:var au=a.jb(Hb)&14591;if(4351==au||6399==au)a.K=tf,gA(a,Hb);break;case 243:case 242:Uy(a,Hb,1);$t=hj=!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:$t&&
|
||||
(a.K=tf,Uy(a,Hb,1))}while(hj);a.K?(a.Hd(a.B,Hb,!0),Xz(a)||(a.pa&&a.pa.nd(),a.K=0)):rB(a,Zt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Zz(a,g);break;case "t":rB(a,g[0],g[1]);break;case "u":$z(a,g[1],g[2],8);break;case "v":if("var"==g[0]){lB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.35.1 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Qb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Pa());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var ch;void 0!==g[3]&&(ch=+g[3]);
|
||||
switch(g[2]){case "int":a.H.T.Te=ch;break;case "start":a.H.T.xf=ch;break;case "stop":a.H.T.Ve=ch;break;default:a.P("unknown cs option");break a}void 0!==ch&&Dd(a.H);a.P("checksums "+(a.H.da.Ie?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Hd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.pe.toFixed(2)+"Mhz")+" ("+a.H.T.Ld+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
|
||||
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){pB(a,b.substr(1));break}var Im="commands:",Jm;for(Jm in tB)Im+="\n"+Aa(Jm,7)+tB[Jm];Lg(a)||(Im+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Im);break;default:a.P("unknown command: "+b),d=!1}}}catch(bu){a.P("debugger error: "+(bu.stack||bu.message)),d=!1}return d}
|
||||
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){pB(a,b.substr(1));break}var Im="commands:",Jm;for(Jm in tB)Im+="\n"+Aa(Jm,7)+tB[Jm];Lg(a)||(Im+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Im);break;default:a.P("unknown command: "+b),d=!1}}}catch(cu){a.P("debugger error: "+(cu.stack||cu.message)),d=!1}return d}
|
||||
function vy(a,b,c){b=a.Eg(b,c);for(var d in b)if(!fA(a,b[+d]))return!1;return!0}
|
||||
var Uz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Tz=[26,28,40,42,109],tB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
||||
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},$y=0,Sy=1,By=2,cz=3,az=4,Ty=5,oA=18,pA=28,kA=36,tA=80,qA=104,rA=107,iA=176,hA="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
||||
|
|
@ -864,8 +864,8 @@ 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.M=new Zf(this,"1.35.1"),this.M.load()?b=null:delete this.M));!b&&this.A&&(b=PB(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&&QB(this,this.Mf)}else kb("Unable to find CPU component")}ba(LB,pb);
|
||||
function MB(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 QB(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(){QB(a,b,c)});return}}b.call(a,c)}
|
||||
function RB(a,b){var c=new Zf(a,"1.35.1",SB);if(c.load()&&TB(c)){var d=c.get(UB),e=b?b.get(UB):"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=LB.prototype;
|
||||
l.Mf=function(a){void 0===a&&(a=this.A||(this.L?VB:NB));if(!this.C){this.C++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Zf(this,"1.35.1");if(a==WB)b=!0;else if(a>NB){if(d.load(this.L)){this.F=new Zf(this,"1.35.1",XB);this.F.load()&&(YB(this,d)&&(a=ZB),$B(this.F));this.F.set(UB,Ea());aC(this.F);var e=this.A&&!this.I;if(a==VB||ub("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=TB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&
|
||||
"no machine state"!=g?(this.Da("Error: "+g),"unable to verify user"==g&&(Va(bC,""),this.B=null)):this.P(f+": "+g),$B(d),d.load()?(c=TB(d),e=!0):c=!1))}e&&RB(this,c?d:null)}else a==ZB&&d.clear()}else RB(this);delete this.L;delete this.M}e=vb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=cC(this,g,d,b,c));b=[d,a,c];a!=WB?QB(this,this.oj,b):this.oj(b)}};
|
||||
l.Mf=function(a){void 0===a&&(a=this.A||(this.L?VB:NB));if(!this.C){this.C++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Zf(this,"1.35.1");if(a==WB)b=!0;else if(a>NB){if(d.load(this.L)){this.F=new Zf(this,"1.35.1",XB);this.F.load()&&(a!=VB&&YB(this,d)&&(a=ZB),$B(this.F));this.F.set(UB,Ea());aC(this.F);var e=this.A&&!this.I;if(a==VB||ub("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=TB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
|
||||
f&&"no machine state"!=g?(this.Da("Error: "+g),"unable to verify user"==g&&(Va(bC,""),this.B=null)):this.P(f+": "+g),$B(d),d.load()?(c=TB(d),e=!0):c=!1))}e&&RB(this,c?d:null)}else a==ZB&&d.clear()}else RB(this);delete this.L;delete this.M}e=vb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=cC(this,g,d,b,c));b=[d,a,c];a!=WB?QB(this,this.oj,b):this.oj(b)}};
|
||||
function cC(a,b,c,d,e){if(!b.da.Yb){b.da.Yb=!0;if(b.Xb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.Xb(f,d)&&f&&(b.Da("Unable to restore hardware state")&&(a.W&&!a.Z?(c.clear(),a.A=NB,window&&window.location.reload()):a.Y=!0),b.Xb(null),e=!1)}if(!d&&b.zj)for(a=b.zj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.oj=function(a){var b=a[0],c=0>a[1];a=a[2];this.ga=!0;this.da.Yb=!0;var d=this.na.power;d&&(d.textContent="Shutdown");this.H&&(cC(this,this.H,b,c,a),this.H.mf());this.Y&&(YB(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
|
||||
function YB(a,b){if(!a.da.Tf){if(ub("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.35.1"};d.url=a.ea;d.user=c;d.type="bug";d.data=b;Na("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
|
|
|
|||
|
|
@ -436,8 +436,8 @@ function jm(a,b,c){var d=0,e=c&km;b?(d=3,a.ea=c):a.ta=c;if(e==lm){if(!(c&mm))for
|
|||
e.vc[0]=e.bc[0],e.vc[1]=e.bc[1],e.gd=ad(a.U,a.V))}}}function hm(a,b){a=a.H[b];(b=a.bc[1]<<8|a.bc[0])||(b=1==a.fd?256:65536);return b}function ed(a,b){a=a.H[b];(b=a.vc[1]<<8|a.vc[0])||(b=1==a.fd?256:65536);return b}function rm(a,b){am(a,b);var c=a.H[b];c.Fd[0]=c.eb[0];c.Fd[1]=c.eb[1];c.le=!0;$l(a,b)}function $l(a,b){a=a.H[b];a.Xc=a.gf==Bm?1:0;a.fd=a.gf==Cm?2:1}
|
||||
function am(a,b,c){var d=a.H[b];if(d.Hd&&(b!=im||a.J&xm)){var e=ad(a.U,a.V),f=(e-d.gd)/a.Aa|0;0>f&&(d.gd=e,f=0);var g=hm(a,b),h=ed(a,b)-f;d.mode==cm?(0>=h&&(h=0),h||(d.Lc=!0,d.Hd=!1,b||Kf(a,gm))):d.mode==Dm?(d.Lc=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.vc[0]=h&255,d.vc[1]=h>>8&255,d.gd=e,!b&&d.Lc&&Kf(a,gm))):d.mode==fd&&(h-=f,0>=h&&(d.Lc=!d.Lc,h=g+h,0>=h&&(h=g),d.vc[0]=h&255,d.vc[1]=h>>8&255,d.gd=e,!b&&d.Lc&&Kf(a,gm)));d.eb[0]=h&255;d.eb[1]=h>>8&255;c&&(a.gd=0)}return d}
|
||||
function dd(a,b){for(var c=0;c<a.H.length;c++)am(a,c,b);if(a.ba>=Hf){b=a.U.R.Yc;c=ad(a.U,a.V);null==a.ya&&(a.na=ad(a.U,a.V),a.Ha=1024,a.ya=Math.floor(a.U.R.Yc/a.Ha),Qk(a));c>=a.X&&(a.A[Nk]|=Em,a.A[gd]&hd&&(a.A[Nk]|=Fm,Kf(a,Gm)),a.X=c+a.ya);a.A[Ak]==a.A[Bk]&&a.A[Ck]==a.A[Dk]&&a.A[Ek]==a.A[Fk]&&(a.A[Nk]|=Hm,a.A[gd]&Im&&(a.A[Nk]|=Fm,Kf(a,Gm)));var d=c-a.na,e=Math.floor(d/b);if(e&&!(a.A[gd]&Jm)){for(;e--;)if(60<=++a.A[Ak]&&(a.A[Ak]=0,60<=++a.A[Ck]&&(a.A[Ck]=0,24<=++a.A[Ek]))){a.A[Ek]=0;a.A[Gk]=a.A[Gk]%
|
||||
7+1;var f;f=a.A[Jk];var g=Ca[a.A[Ik]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Hk]>f&&(a.A[Hk]=1,12<++a.A[Ik]&&(a.A[Ik]=1,a.A[Jk]=(a.A[Jk]+1)%100))}a.A[Nk]|=Km;a.A[gd]&Lm&&(a.A[Nk]|=Fm,Kf(a,Gm))}a.na=c-d%b}}k.tl=function(){var a=this.ua;this.ga&Mm&&(this.J&Nm?a=this.B[0][1]:this.C&&(a=Sm(this.C)));return a};k.Om=function(a,b){this.ua=b};k.ul=function(){return this.J};k.Pm=function(a,b){Tm(this,b)};
|
||||
function Tm(a,b){var c=!!(b&Um),d=!!(a.J&Um);a.J=b;a.C&&Vm(a.C,!(b&Nm),!!(b&Am));c!=d&&Sk(a,c)}k.vl=function(){var a=0,a=(this.ba|0)==Cj?this.J&ym?a|this.B[1][1]&Wm:a|this.B[1][1]>>4&1:this.J&Xm?a|this.B[0][1]>>4:a|this.B[0][1]&15;this.J&xm&&am(this,im).Lc&&(a=this.J&Um?a|Ym:a|Zm);return a};k.Qm=function(a,b){this.Ba=b};k.wl=function(){return this.ga};k.Rm=function(a,b){this.ga=b};k.Fk=function(){var a=this.C?Sm(this.C):0;this.Z&=~$m;return a};k.$l=function(){};k.Ek=function(){return this.J};
|
||||
7+1;var f;f=a.A[Jk];var g=Ca[a.A[Ik]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Hk]>f&&(a.A[Hk]=1,12<++a.A[Ik]&&(a.A[Ik]=1,a.A[Jk]=(a.A[Jk]+1)%100))}a.A[Nk]|=Km;a.A[gd]&Lm&&(a.A[Nk]|=Fm,Kf(a,Gm))}a.na=c-d%b}}k.tl=function(){var a=this.ua;this.ga&Mm&&(this.J&Nm?a=this.B[0][1]:this.C&&(a=Om(this.C)));return a};k.Om=function(a,b){this.ua=b};k.ul=function(){return this.J};k.Pm=function(a,b){Tm(this,b)};
|
||||
function Tm(a,b){var c=!!(b&Um),d=!!(a.J&Um);a.J=b;a.C&&Vm(a.C,!(b&Nm),!!(b&Am));c!=d&&Sk(a,c)}k.vl=function(){var a=0,a=(this.ba|0)==Cj?this.J&ym?a|this.B[1][1]&Wm:a|this.B[1][1]>>4&1:this.J&Xm?a|this.B[0][1]>>4:a|this.B[0][1]&15;this.J&xm&&am(this,im).Lc&&(a=this.J&Um?a|Ym:a|Zm);return a};k.Qm=function(a,b){this.Ba=b};k.wl=function(){return this.ga};k.Rm=function(a,b){this.ga=b};k.Fk=function(){var a=this.C?Om(this.C):0;this.Z&=~$m;return a};k.$l=function(){};k.Ek=function(){return this.J};
|
||||
k.Zl=function(a,b){Tm(this,b)};k.Gk=function(){return this.Z};k.Hk=function(){var a=this.pa;this.F&=~($m|an);this.C&&bn(this.C);return a};k.bm=function(a,b){if(this.F&cn)switch(this.L){case dn:en(this,b);break;case fn:gn(this,b);break;default:if(en(this,this.K&~bk),this.C){a=this.C;var c=b,d=-1;switch(a.G||c){case hn:d=jn;a.Jb=[];kn(a,ln);break;case mn:a.G&&(c=0);kn(a,jn);a.G=c;break;case nn:a.G&&(c=0),kn(a,jn),a.G=c}on(this,d)}}this.L=b;this.F&=~cn};
|
||||
k.Ik=function(){return this.J&~(pn|qn)|(ad(this.U)&64?qn:0)};k.cm=function(a,b){Tm(this,b)};k.Jk=function(){var a=this.F&255;this.F&an&&(this.F|=$m,this.F&=~an);return a};
|
||||
k.am=function(a,b){this.L=b;this.F|=cn;a=0;this.L>=rn&&(a=this.L^15,this.L=rn);switch(this.L){case sn:on(this,this.K);break;case tn:en(this,this.K|bk);break;case un:en(this,this.K&~bk);this.C&&bn(this.C);break;case vn:this.C&&(this.C.Jb=[]);en(this,this.K|bk);on(this,wn);gn(this,lk|mk);break;case xn:on(this,yn);break;case zn:on(this,this.M);break;case An:on(this,this.qa);break;case Bn:on(this,this.K&bk?0:Cn);break;case rn:a&1&&oe(this.U)}};
|
||||
|
|
@ -461,7 +461,7 @@ b){ll(this,1,1,b)},198:function(a,b){nl(this,1,1,b)},200:function(a,b){ll(this,1
|
|||
b){bm(this,1,0,b)},73:function(a,b){bm(this,1,1,b)},74:function(a,b){bm(this,1,2,b)},75:function(a,b){jm(this,1,b)}};Pa(function(){for(var a=hb(document,"pcx86","chipset"),b=0;b<a.length;b++){var c=a[b],d=eb(c),d=new T(d);gb(d,c);il(d)}});
|
||||
function Pn(a){t.call(this,"ROM",a);this.A=null;this.F=a.addr;this.C=a.size;this.D=a.alias;this.G=a.file;this.B=a.notify;this.I=null;if(this.B&&(a=this.B.indexOf("["),0<a)){try{this.I=eval(this.B.substr(a))}catch(d){}this.B=this.B.substr(0,a)}if(this.G){a=this.G;var b=qa(pa(a));"json"!=b&&"hex"!=b&&(a=Fa()+"/api/v1/dump?file="+this.G+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){Qn(c,a,b,f)})}}ba(Pn,t);Pn.prototype.ic=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;Rn(this)};
|
||||
Pn.prototype.Ob=function(){this.H&&(this.Ea&&this.Ea.A(this.id,0,this.F>>>4,0,this.F,this.C,this.H),delete this.H);return!0};Pn.prototype.Nb=function(){return!0};
|
||||
function Qn(a,b,c,d){if(d)a.wa("Unable to load system ROM (error "+d+": "+b+")");else{Ya(a.Wd,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.H=e.symbols;if(!a.A.length){r("Empty ROM: "+b);return}if(1==a.A.length){r(a.A[0]);return}}catch(h){a.wa("ROM data error: "+h.message);return}else for(b=
|
||||
function Qn(a,b,c,d){if(d)a.wa("Unable to load system ROM (error "+d+": "+b+")",0>d);else{Ya(a.Wd,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.H=e.symbols;if(!a.A.length){r("Empty ROM: "+b);return}if(1==a.A.length){r(a.A[0]);return}}catch(h){a.wa("ROM data error: "+h.message);return}else for(b=
|
||||
c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=na(b[e],16);Rn(a)}}
|
||||
function Rn(a){if(!ob(a))if(!a.G)pb(a);else if(a.A&&a.ma){a.C||(a.C=a.A.length);if(a.A.length!=a.C)nb(a,"ROM size ("+oa(a.A.length,8,!0)+") does not match specified size ("+oa(a.C,8,!0)+")");else{var b;b=a.F;if(Tb(a.ma,b,a.C,fc)){for(var c=0;c<a.A.length;c++){var d=a.ma,e=b+c;d.X[(e&d.D)>>>d.B].jf(e&d.C,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.D?b.push(a.D):null!=a.D&&a.D.length&&(b=a.D);for(c=0;c<b.length;c++){var d=a,e=b[c],f=$b(d.ma,d.F,d.C);Zb(d.ma,e,d.C,f)}a.B&&((b=cb(a.B,a.id))?
|
||||
(c=a.A,d=a.I,b.Ma==Sn?Tn(b,c,d||[12640,8752],8):b.Ma==Un&&Tn(b,c,d||[14221,16269],8),pb(b)):a.wa("Unable to find component: "+a.B));delete a.A}}pb(a)}}Pa(function(){for(var a=hb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=eb(c),d=new Pn(d);gb(d,c)}});function Vn(a){t.call(this,"RAM",a);this.B=a.addr;this.A=a.size;this.F=a.test;this.D=!!this.A;this.C=!1}ba(Vn,t);k=Vn.prototype;k.ic=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.V=zb(a,"ChipSet");pb(this)};
|
||||
|
|
@ -475,7 +475,7 @@ c,c.onclick=function(){e.oa&&bd(e.oa);mo(e,po,!0)},!0;default:var g=b.toUpperCas
|
|||
a,c.onmouseup=c.onmouseout=b),!0;if(d)return this.ia[f]=c,c.onclick=function(){e.oa&&bd(e.oa);d&&!e.B&&(e.B=d,uo(e,150))},!0}return!1};function vo(a,b,c){if(a.L){for(var d in p)if(b==p[d]){b=+d;(d=ma[d])&&(b=d);break}for(var e in so)if((d=so[e]==b)||(d=b,d>=n.Dd&&d<=n.z&&(d-=n.Dd-n.Cd),d=so[e]==d),d){(a=a.ia["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
|
||||
k.ic=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;this.V=zb(a,"ChipSet");this.F=Pc(a,"autoType")||this.F;Pe(c,33,this.Ll.bind(this))};k.Ll=function(){if(10==(this.U.F>>8&255)&&!this.D&&this.F){var a=this.D=wo(this.F);a&&!this.B&&(this.B=a,uo(this,150))}return!0};
|
||||
function wo(a){if(a){for(var b,c=/(?:^|[^$])\$([a-z]+)/g;b=c.exec(a);){var d;switch(b[1]){case "date":d=xa("n-j-Y");break;case "time":d=xa("h:i:s");break;default:continue}a=a.replace("$"+b[1],d)}a=a.replace(/\$\$/g,"$$")}return a}function jo(a,b){var c=0;a.ba=null;"string"==typeof b&&(a.ba=b.toUpperCase(),c=xo.indexOf(a.ba),0>c&&(c=0));if(b=xo[c])a.X=parseInt(b.substr(2),10)}function Vm(a,b,c){a.J!==c&&(a.J=a.K=c)&&(a.H=!0);a.I!==b&&(a.I=b)&&!a.K&&In(a,!0);a.I&&a.K&&(a.Jb=[],kn(a,ln),a.K=!1)}
|
||||
function kn(a,b){a.V&&(a.Jb.unshift(b),a.H=!0,Gn(a.V,b))}function bn(a){var b;a.Jb.length&&a.H&&(b=a.Jb[0],a.V&&Gn(a.V,b))}function Sm(a){var b=0;a.Jb.length&&(b=a.Jb[0]);return b}function In(a,b){0<a.Jb.length&&(a.Jb.shift(),(a.H=b)&&a.Jb.length&&a.V&&Gn(a.V,a.Jb[0]))}k.Ob=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.Nb=function(a){return a?this.save():!0};
|
||||
function kn(a,b){a.V&&(a.Jb.unshift(b),a.H=!0,Gn(a.V,b))}function bn(a){var b;a.Jb.length&&a.H&&(b=a.Jb[0],a.V&&Gn(a.V,b))}function Om(a){var b=0;a.Jb.length&&(b=a.Jb[0]);return b}function In(a,b){0<a.Jb.length&&(a.Jb.shift(),(a.H=b)&&a.Jb.length&&a.V&&Gn(a.V,a.Jb[0]))}k.Ob=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.Nb=function(a){return a?this.save():!0};
|
||||
k.reset=function(){if(!this.ba&&this.V)switch(this.V.ba){case Cj:case 5160:jo(this,xo[0]);break;default:jo(this,xo[1])}yo(this)};k.save=function(){var a=new Te(this),b=[];b[0]=this.J;b[1]=this.I;a.set(0,b);return a.data()};k.restore=function(a){return yo(this,a[0])};function yo(a,b){var c=0;b?a.D=wo(a.F):(b=[],a.D=null);a.J=b[c++];a.I=b[c];a.G=0;a.Sb=a.C=0;a.Jb=[];a.H=!0;a.B="";return!0}
|
||||
function uo(a,b){for(var c=0;0<a.B.length&&!c;)if(c=a.B.charAt(0),a.B=a.B.substr(1),c=c.charCodeAt(0),240<=c){b=100*(c-240)||150;c=0;break}c&&(10==c&&(c=13),mo(a,c,!0));0<a.B.length&&setTimeout(function(a){return function(){uo(a,b)}}(a),b)}
|
||||
function ro(a,b,c,d){if(V[b]){var e=Math.floor(b/1E3)&2;if(b=zo[b]||0){!e||b&Ao||(b>>=1);if(b&Bo){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.Sb)&b):d||b&Co&&(b=Co);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in Do)d="led-"+g,e=Do[g],c&&c!=e||!(f=a.ia[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.Sb&=~b,d&&(a.Sb|=b);return!0}}return!1}
|
||||
|
|
@ -528,8 +528,8 @@ function Zp(a,b,c,d){if(d)a.wa("Unable to load font ROM (error "+d+": "+b+")");e
|
|||
function Eq(a,b){if(1==b)return a.ga[0]=Fq[zq],a.ga[1]=Fq[xq],a.ga;if(2==b){var c=a.B.ef;if(a.B===a.A){var d=a.A.rc[0],c=d&7;d&16&&(c|=8);18!=a.A.rc[1]&&(c|=32)}a.ga[0]=Fq[c&15];c=c&32?Gq:Hq;for(d=0;d<c.length;d++)a.ga[d+1]=Fq[c[d]];return a.ga}if(a.I===a.rb)return Fq;a.Ga&&b&&!a.ga[16]&&(a.Ga=!1);if(!a.Ga){var c=a.A,d=c.we,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.ga[e]=[g,h,f,255];else{var l=d&&d[255];b=null!=c.rc[15]?c.rc:Iq;for(e=0;16>e;e++)f=b[e]&63,l?(f|=
|
||||
(c.rc[20]&12)<<4,c.rc[16]&128&&(f&=-49,f|=(c.rc[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.ga[e]=[g,h,f,255]}a.Ga=!0}return a.ga}function Tn(a,b,c,d){a.nb=b;a.Va=c;a.Ca=d}
|
||||
function uq(a,b){var c=!1;if(window&&a.nb&&(!b||a.G)){var d=0,e=a.Ca?a.Ca:8,f=Eq(a);null!=a.Va[0]&&Jq(a,Kq,a.Va[0],d,e,8,a.nb,f)&&(c=!0);d=a.Ca?0:2048;e=a.Ca?a.Ca:9;null!=a.Va[1]&&(Jq(a,Lq,a.Va[1],d,e,14,a.nb,Mq,Nq)&&(c=!0),a.Ca&&Jq(a,a.Ma,a.Va[1],0,a.Ca,14,a.nb,f)&&(c=!0))}b||(a.Z=-1,a.ya=-1,a.ua=0);return c}function Jq(a,b,c,d,e,f,g,h,l){var m=!1;null!=c&&(Oq(a,b,c,d,e,f,g,h,l)&&(m=!0),a.md&&Oq(a,b<<1,c,d,e,f,g,h,l)&&(m=!0));return m}
|
||||
function Oq(a,b,c,d,e,f,g,h,l){var m=!1,q=b&1?0:1,y=a.ta[b],w=16>h.length?h.length:16;y||(y={oc:e<<q,pc:f<<q,ae:Array(w),Xh:h.slice(0,w),De:l,ig:Array(w)});for(l=0;l<w;l++){var z=h[l],B=y.ae[l]?y.Xh[l]:[];if(z[0]!==B[0]||z[1]!==B[1]||z[2]!==B[2]){var m=y,B=l,S=q,X=c,ca=d,$a=e,yb=f,Vh=g,Qt=[0,0,0,0],Pf=document.createElement("canvas");Pf.width=m.oc<<4;Pf.height=m.pc<<4;var Om=Pf.getContext("2d"),Lb,pd,pc,Qf=8>yb||!ca?yb:8,Wh=Om.createImageData(m.oc,m.pc);for(Lb=0;256>Lb;Lb++){for(pc=0;pc<yb;pc++)for(var Rt=
|
||||
m.De&&B&1&&pc>=yb-2,St=Vh[pc<Qf?X+Lb*Qf+pc:ca+Lb*Qf+pc-Qf],Xh=0;Xh<=S;Xh++)for(pd=0;pd<$a;pd++){var Pm=pd<<S,Qm=(pc<<S)+Xh,Rm=Rt||St&128>>(8<=pd&&192<=Lb&&223>=Lb?7:pd)?z:Qt;Pq(Wh,Pm,Qm,Rm);S&&Pq(Wh,Pm+1,Qm,Rm)}Om.putImageData(Wh,(Lb&15)*m.oc,(Lb>>4)*m.pc)}m.ae[B]="#"+oa(z[0],2)+oa(z[1],2)+oa(z[2],2);m.Xh[B]=z;m.ig[B]=Pf;m=!0}}a.ta[b]=y;return m}function Qq(a){0<a.ua||0<=a.Z?0>a.ya&&(a.ya=0):a.ya=-1}
|
||||
function Oq(a,b,c,d,e,f,g,h,l){var m=!1,q=b&1?0:1,y=a.ta[b],w=16>h.length?h.length:16;y||(y={oc:e<<q,pc:f<<q,ae:Array(w),Xh:h.slice(0,w),De:l,ig:Array(w)});for(l=0;l<w;l++){var z=h[l],B=y.ae[l]?y.Xh[l]:[];if(z[0]!==B[0]||z[1]!==B[1]||z[2]!==B[2]){var m=y,B=l,S=q,X=c,ca=d,$a=e,yb=f,Vh=g,Qt=[0,0,0,0],Pf=document.createElement("canvas");Pf.width=m.oc<<4;Pf.height=m.pc<<4;var Pm=Pf.getContext("2d"),Lb,pd,pc,Qf=8>yb||!ca?yb:8,Wh=Pm.createImageData(m.oc,m.pc);for(Lb=0;256>Lb;Lb++){for(pc=0;pc<yb;pc++)for(var Rt=
|
||||
m.De&&B&1&&pc>=yb-2,St=Vh[pc<Qf?X+Lb*Qf+pc:ca+Lb*Qf+pc-Qf],Xh=0;Xh<=S;Xh++)for(pd=0;pd<$a;pd++){var Qm=pd<<S,Rm=(pc<<S)+Xh,Sm=Rt||St&128>>(8<=pd&&192<=Lb&&223>=Lb?7:pd)?z:Qt;Pq(Wh,Qm,Rm,Sm);S&&Pq(Wh,Qm+1,Rm,Sm)}Pm.putImageData(Wh,(Lb&15)*m.oc,(Lb>>4)*m.pc)}m.ae[B]="#"+oa(z[0],2)+oa(z[1],2)+oa(z[2],2);m.Xh[B]=z;m.ig[B]=Pf;m=!0}}a.ta[b]=y;return m}function Qq(a){0<a.ua||0<=a.Z?0>a.ya&&(a.ya=0):a.ya=-1}
|
||||
function Dq(a){if(a.G){for(var b=10;15>=b;b++)if(null==a.B.Oa[b])return;var c=a.B.Oa[10],b=c&31,d=a.B.Oa[11]&31,e=a.B.Oa[9]&31,f=!1;a.B===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Rq(a);else{c=a.B.Oa[15]+((a.B.Oa[14]&63)<<8);a.Z!=c&&(Rq(a),a.Z=c);d=d-b+1;if(a.Uc!=b||a.xc!=d)a.Uc=b,a.xc=d;a.xa=e+1;Qq(a)}}}function Rq(a){if(0<=a.Z){if(void 0!==a.L){var b=Sq<<8,c=a.L[a.Z];if(c&b){var c=c&~b,b=a.Z%a.F,d=a.Z/a.F|0;a.G&&a.ta[a.G]&&(a.Ba&&Tq(a,b,d,c,a.Ba),Tq(a,b,d,c));a.L[a.Z]=c}}a.Z=-1}}
|
||||
function Uq(a){var b,c=a.B;a.yc=!1;var d=c.kd[5];if(null!=d){b=lp;var e=np,f=c.kd[3]&31;switch(d&3){case 0:if(f){e=np|32;switch(f&24){case 8:e=np|96;break;case 16:e=np|160;break;case 24:e=np|224}c.zc=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.Ma==Un&&(e=3,c.zc=f&7)}d&8&&(b=1280);c=c.Qd[4];null!=c&&(c&4||(b|=mp,e|=op),d&64&&(c&8&&(b|=16384,e|=4),a.yc=!0));b|=e}return b}
|
||||
function Vq(a,b){var c=a.B;return c&&null!=b&&b!=c.ug?(c.ag(b),a.ma.ag(c.Ya,c.Ab,c.rg(),!0),!0):!1}
|
||||
|
|
@ -666,8 +666,8 @@ this.id))&&this.D.Ef)for(b=0;b<e.length;b++)d=e[b],d.wa=this.D.wa,d.Zb=this.D.Zb
|
|||
new Te(this,"1.35.1"),this.L.load()?b=null:delete this.L));!b&&this.A&&(b=Uu(this))&&(this.H=!0);if(b){var f=this;Ea(b,null,!0,function(a,b,c){c?(f.J=null,f.H=!1,f.wa("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(f.K=b,f.X=!0);pb(f)})}else pb(this);this.ia.power||(this.M=!0);!c&&this.M&&Vu(this,this.af)}else r("Unable to find CPU component")}ba(Qu,t);
|
||||
function Ru(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.I=b}function Pc(a,b,c){var d=La(b);void 0===d&&a.I&&(d=a.I[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Vu(a,b,c){for(var d=bb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ob(f)){ob(f,function(){Vu(a,b,c)});return}}b.call(a,c)}
|
||||
function Wu(a,b){var c=new Te(a,"1.35.1",Xu);if(c.load()&&Yu(c)){var d=c.get(Zu),e=b?b.get(Zu):"unknown";d!=e&&(a.wa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=Qu.prototype;
|
||||
k.af=function(a){void 0===a&&(a=this.A||(this.K?$u:Su));if(!this.C){this.C++;var b=!1,c=!1;this.W=!1;var d=this.L||new Te(this,"1.35.1");if(a==av)b=!0;else if(a>Su){if(d.load(this.K)){this.F=new Te(this,"1.35.1",bv);this.F.load()&&(cv(this,d)&&(a=dv),ev(this.F));this.F.set(Zu,wa());fv(this.F);var e=this.A&&!this.H;if(a==$u||ab("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Yu(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&
|
||||
"no machine state"!=g?(this.wa("Error: "+g),"unable to verify user"==g&&(Ja(gv,""),this.B=null)):this.Zb(f+": "+g),ev(d),d.load()?(c=Yu(d),e=!0):c=!1))}e&&Wu(this,c?d:null)}else a==dv&&d.clear()}else Wu(this);delete this.K;delete this.L}e=bb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=hv(this,g,d,b,c));b=[d,a,c];a!=av?Vu(this,this.mi,b):this.mi(b)}};
|
||||
k.af=function(a){void 0===a&&(a=this.A||(this.K?$u:Su));if(!this.C){this.C++;var b=!1,c=!1;this.W=!1;var d=this.L||new Te(this,"1.35.1");if(a==av)b=!0;else if(a>Su){if(d.load(this.K)){this.F=new Te(this,"1.35.1",bv);this.F.load()&&(a!=$u&&cv(this,d)&&(a=dv),ev(this.F));this.F.set(Zu,wa());fv(this.F);var e=this.A&&!this.H;if(a==$u||ab("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Yu(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
|
||||
f&&"no machine state"!=g?(this.wa("Error: "+g),"unable to verify user"==g&&(Ja(gv,""),this.B=null)):this.Zb(f+": "+g),ev(d),d.load()?(c=Yu(d),e=!0):c=!1))}e&&Wu(this,c?d:null)}else a==dv&&d.clear()}else Wu(this);delete this.K;delete this.L}e=bb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=hv(this,g,d,b,c));b=[d,a,c];a!=av?Vu(this,this.mi,b):this.mi(b)}};
|
||||
function hv(a,b,c,d,e){if(!b.aa.Pb){b.aa.Pb=!0;if(b.Ob){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.Ob(f,d)&&f&&(b.wa("Unable to restore hardware state")&&(a.V&&!a.X?(c.clear(),a.A=Su,window&&window.location.reload()):a.W=!0),b.Ob(null),e=!1)}if(!d&&b.vi)for(a=b.vi.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
k.mi=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea=!0;this.aa.Pb=!0;var d=this.ia.power;d&&(d.textContent="Shutdown");this.U&&(hv(this,this.U,b,c,a),this.U.Fe());this.W&&(cv(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
|
||||
function cv(a,b){if(!a.aa.hf){if(ab("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.35.1"};d.url=a.ca;d.user=c;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
|
|
|
|||
|
|
@ -519,12 +519,11 @@ class Computer extends Component {
|
|||
* may have happened the last time around.
|
||||
*/
|
||||
this.stateFailSafe = new State(this, PCX86.APPVERSION, Computer.STATE_FAILSAFE);
|
||||
|
||||
if (this.stateFailSafe.load()) {
|
||||
if (this.powerReport(stateComputer)) {
|
||||
if (resume != Computer.RESUME_AUTO && this.powerReport(stateComputer)) {
|
||||
/*
|
||||
* We already know resume is something other than RESUME_NONE, so we'll go ahead and bump it
|
||||
* all the way to RESUME_PROMPT, so that the user will be prompted, and if the user declines to
|
||||
* restore, the state will be removed.
|
||||
* Prompt the user; if they decline to restore, the state will be removed.
|
||||
*/
|
||||
resume = Computer.RESUME_PROMPT;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ class ROM extends Component {
|
|||
doneLoad(sURL, sROMData, nErrorCode)
|
||||
{
|
||||
if (nErrorCode) {
|
||||
this.notice("Unable to load system ROM (error " + nErrorCode + ": " + sURL + ")");
|
||||
this.notice("Unable to load system ROM (error " + nErrorCode + ": " + sURL + ")", nErrorCode < 0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -491,7 +491,7 @@ b,c){yn(this,1,a,b,c)},212:function(a,b,c){zn(this,1,a,b,c)},214:function(a,b,c)
|
|||
eb(function(){for(var a=Cb(document,"pcx86","chipset"),b=0;b<a.length;b++){var c=a[b],d=zb(c),d=new cl(d);Bb(d,c);pn(d)}});
|
||||
function $p(a){pb.call(this,"ROM",a);this.A=null;this.F=a.addr;this.C=a.size;this.D=a.alias;this.G=a.file;this.B=a.notify;this.I=null;if(this.B&&(a=this.B.indexOf("["),0<a)){try{this.I=eval(this.B.substr(a))}catch(d){}this.B=this.B.substr(0,a)}if(this.G){a=this.G;var b=va(ta(a));"json"!=b&&"hex"!=b&&(a=Oa()+"/api/v1/dump?file="+this.G+"&format=bytes&decimal=true");var c=this;Na(a,null,!0,function(a,b,f){aq(c,a,b,f)})}}ba($p,pb);$p.prototype.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;bq(this)};
|
||||
$p.prototype.Xb=function(){this.Gd&&(this.ba&&cq(this.ba,this.id,0,this.F>>>4,0,this.F,this.C,this.Gd),delete this.Gd);return!0};$p.prototype.Wb=function(){return!0};
|
||||
function aq(a,b,c,d){if(d)a.Da("Unable to load system ROM (error "+d+": "+b+")");else{sb(a.ye,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Gd=e.symbols;if(!a.A.length){kb("Empty ROM: "+b);return}if(1==a.A.length){kb(a.A[0]);return}}catch(h){a.Da("ROM data error: "+h.message);return}else for(b=
|
||||
function aq(a,b,c,d){if(d)a.Da("Unable to load system ROM (error "+d+": "+b+")",0>d);else{sb(a.ye,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Gd=e.symbols;if(!a.A.length){kb("Empty ROM: "+b);return}if(1==a.A.length){kb(a.A[0]);return}}catch(h){a.Da("ROM data error: "+h.message);return}else for(b=
|
||||
c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=oa(b[e],16);bq(a)}}
|
||||
function bq(a){if(!Kb(a))if(!a.G)Lb(a);else if(a.A&&a.ka){a.C||(a.C=a.A.length);if(a.A.length!=a.C)Jb(a,"ROM size ("+q(a.A.length,8,!0)+") does not match specified size ("+q(a.C,8,!0)+")");else{var b;b=a.F;if(sc(a.ka,b,a.C,Gc)){for(var c=0;c<a.A.length;c++){var d=a.ka,e=b+c;d.aa[(e&d.C)>>>d.A].cf(e&d.D,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.D?b.push(a.D):null!=a.D&&a.D.length&&(b=a.D);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Ac(d.ka,d.F,d.C);zc(d.ka,e,d.C,f)}a.B&&((b=wb(a.B,a.id))?
|
||||
(c=a.A,d=a.I,b.La==dq?eq(b,c,d||[12640,8752],8):b.La==fq&&eq(b,c,d||[14221,16269],8),Lb(b)):a.Da("Unable to find component: "+a.B));delete a.A}}Lb(a)}}eb(function(){for(var a=Cb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=zb(c),d=new $p(d);Bb(d,c)}});function gq(a){pb.call(this,"RAM",a);this.B=a.addr;this.A=a.size;this.F=a.test;this.D=!!this.A;this.C=!1}ba(gq,pb);l=gq.prototype;l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.W=Zb(a,"ChipSet");Lb(this)};
|
||||
|
|
@ -575,14 +575,14 @@ function Us(a,b){var c,d=a.oa,e=a.B;if(e)if(e.La==us)d=Ks;else if(e.La>=dq){var
|
|||
function Ns(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Bd=0;a.oa=b;a.Ga=!1;b=a.B||(b==Ks?a.Y:a.K);if(b!=a.B||b.bb!=a.bb||b.Ob!=a.Ob){it(a);if(a.bb){if(!Ec(a.ka,a.bb,a.Ob))return!1;a.B&&(a.B.rc=!1)}a.B=b;b.rc=!0;a.bb=b.bb;a.Ob=b.Ob;if(!sc(a.ka,b.bb,b.Ob,3,b===a.A?b:null))return!1}a:{a.I=0;a.F=a.Fb;a.J=a.sc;a.Ma=a.F;a.Eb=ns[Ks][2];b=0;if(c=ns[a.oa])a.F=c[0],a.J=c[1],a.Eb=c[2],b=c[3],a.I=c[4],4!=a.ga&&7!=a.ga||a.B!==a.A||a.I!=bt||(7==(a.A.Sa[ks]&31)?a.J=350>Pr(a.A,as)?43:50:a.I=a.La);a.Wc=a.F*a.J|0;a.Vc=a.Wc/
|
||||
a.Eb|0;a.Xa=a.Vc;a.Pb=0;void 0!==b&&(a.Xa=(a.Xa<<1)+b|0,a.Pb=a.Xa+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.Ya=a.eb=0;b&&(a.Ya=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.Ya=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.Ya,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.Ya;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0;
|
||||
a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0<b&&(a.vc=b>>1,a.Qb-=b);0<c&&(a.zc=c>>1,a.Rb-=c);if(b||c)a.L.fillStyle=a.O.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.la)}}Bt(a,!0);Es(a)}return!0}function gt(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Ct(a){a.xa=-1;a.ma=!1;var b=a.Vc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function Bt(a,b){b||(a.Ga=!1);Ct(a)}
|
||||
function kt(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&au&&(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&jt&&(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,
|
||||
function kt(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&Dt&&(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&jt&&(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)Ct(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>=rt&&(h=c=655360,k=c+65536);if(cu(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,Bt(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<=Ks&&
|
||||
(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.B,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=au<<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=Os<<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?jt<<8:0),a.ma&&p===a.M[d]||(kt(a,d%a.F,d/a.F|0,p,a.Ca),
|
||||
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)Ct(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>=rt&&(h=c=655360,k=c+65536);if(bu(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,Bt(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<=Ks&&
|
||||
(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.B,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=Dt<<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=Os<<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?jt<<8:0),a.ma&&p===a.M[d]||(kt(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);ht(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=Ws(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);gt(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=Ws(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++)gt(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=Ws(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=du[u&2155905152]||0,gt(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 cu(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 eu(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 fu(this,this.Y,a,b)};l.io=function(a,b,c){gu(this,this.Y,a,b,c)};l.Fm=function(a,b){return hu(this,this.Y,b)};l.ko=function(a,b,c){a=this.Y;w(this,a.port+4,b,c,"MODE");a.Xc=b;Us(this,!1)};
|
||||
a.la))}}}}function bu(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 eu(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 fu(this,this.Y,a,b)};l.io=function(a,b,c){gu(this,this.Y,a,b,c)};l.Fm=function(a,b){return hu(this,this.Y,b)};l.ko=function(a,b,c){a=this.Y;w(this,a.port+4,b,c,"MODE");a.Xc=b;Us(this,!1)};
|
||||
l.Gm=function(a,b){return iu(this,this.Y,b)};l.Ok=function(a,b,c){this.A.Qf=this.A.Qf&-4|b&3;w(this,a,b,c,"FEAT")};l.cm=function(a,b){a=this.A.xd;b&&!t(this)||w(this,960,null,b,"ATC.INDX",a);return a};l.tl=function(a,b){a=this.A.Cc[this.A.xd&31];b&&!t(this)||w(this,960,null,b,"ATC."+this.A.Vg[this.A.xd&31],a);return a};
|
||||
l.Nk=function(a,b,c){var d=this.A,e=d.xd&32;if(d.Le){d.Le=!1;var f=d.xd&31;if(16<=f||!e)if(ju||d.Cc[f]!==b)c&&!t(this)||w(this,a,b,c,"ATC."+d.Vg[f]),d.Cc[f]=b,Bt(this,!1)}else d.xd=b,w(this,a,b,c,"ATC.INDX"),d.Le=!0,b&32&&!e&&Ms(this,!0)&&Es(this,!0),a=(d.Sa[sr]<<8)+d.Sa[tr]|0,d.kd!=a&&(d.kd=a,Bt(this)),d.Ze=0};
|
||||
l.Qm=function(a,b){a=0;if(this.La==dq)a=3-((this.A.bf&12)>>2),a=(this.xb&1<<a)<<4-a;else{var c=this.A.af[0];45!=(c&63)&&2880!=(c&4032)&&184320!=(c&258048)&&(a|=16)}a|=this.A.Kg&-17;this.A.Kg=a;w(this,962,null,b,"STATUS0",a);return a};l.lo=function(a,b,c){this.A.bf=b;Ls(this);w(this,962,b,c,"MISC")};l.Rm=function(a,b){a=this.A.mi;w(this,963,null,b,"VGA_ENABLE",a);return a};l.to=function(a,b,c){this.A.mi=b;w(this,963,b,c,"VGA_ENABLE")};
|
||||
|
|
@ -593,10 +593,10 @@ l.Sm=function(a,b){a=this.A.Qf;w(this,970,null,b,"FEAT",a);return a};l.co=functi
|
|||
l.$n=function(a,b,c){if(ju||this.A.yd[this.A.zd]!==b)c&&!t(this)||w(this,975,b,c,"GRC."+this.A.Wg[this.A.zd]),this.A.yd[this.A.zd]=b;switch(this.A.zd){case 0:this.A.If=ls[b&15];this.A.Zd=this.A.If&~this.A.Nd;break;case 1:this.A.Nd=~ls[b&15];this.A.Zd=this.A.If&~this.A.Nd;break;case 2:this.A.rh=ls[b&15]&-2139062144;break;case 3:case 5:mt(this,lt(this));break;case 4:this.A.gi=(b&3)<<3;break;case 6:Us(this,!1);break;case 7:this.A.sh=ls[b&15]&-2139062144;break;case 8:this.A.Bb=b|b<<8|b<<16|b<<24}};
|
||||
l.im=function(a,b){return eu(this,this.K,a,b)};l.Ln=function(a,b,c){var d=this.K;d.Hg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.hm=function(a,b){return fu(this,this.K,a,b)};l.Kn=function(a,b,c){gu(this,this.K,a,b,c)};l.jm=function(a,b){return hu(this,this.K,b)};l.Mn=function(a,b,c){a=this.K;w(this,a.port+4,b,c,"MODE");a.Xc=b;Us(this,!1)};l.gm=function(a,b){var c=this.K.$e;b&&!t(this)||w(this,a,null,b,this.K.type+".COLOR",c);return c};
|
||||
l.Jn=function(a,b,c){c&&!t(this)||w(this,a,b,c,this.K.type+".COLOR");this.K.$e!==b&&(this.K.$e=b,Bt(this,!1))};l.km=function(a,b){return iu(this,this.K,b)};function eu(a,b,c,d){var e;b.rc&&(e=b.ec);w(a,c,null,d,"CRTC.INDX",e);return e}function fu(a,b,c,d){var e;b.rc&&b.ec<b.qh&&(e=b.Sa[b.ec]);d&&!t(a)||w(a,c,null,d,"CRTC."+b.ig[b.ec],e);return e}
|
||||
function gu(a,b,c,d,e){if(b.ec<b.qh){if(ju||b.Sa[b.ec]!==d)e&&!t(a)||w(a,c,d,e,"CRTC."+b.ig[b.ec]),b.Sa[b.ec]=d;if(b.ec==sr||b.ec==tr)cu(a,b)&1?(c=(b.Sa[sr]<<8)+b.Sa[tr]|0,b.kd!==c&&(b.kd=c,Bt(a))):b.Ze||(b.Ze=b.hi);(9==b.ec&&8!=b.Hg||b.ec==as&&223==d)&&Us(a,!0);Vs(a)}}function hu(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function iu(a,b,c){var d=cu(a,b);b===a.A?(d|=b.fa&48^48,b.Le=!1):d=(b.fa^=9)|240;b.fa=d;w(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
|
||||
function gu(a,b,c,d,e){if(b.ec<b.qh){if(ju||b.Sa[b.ec]!==d)e&&!t(a)||w(a,c,d,e,"CRTC."+b.ig[b.ec]),b.Sa[b.ec]=d;if(b.ec==sr||b.ec==tr)bu(a,b)&1?(c=(b.Sa[sr]<<8)+b.Sa[tr]|0,b.kd!==c&&(b.kd=c,Bt(a))):b.Ze||(b.Ze=b.hi);(9==b.ec&&8!=b.Hg||b.ec==as&&223==d)&&Us(a,!0);Vs(a)}}function hu(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function iu(a,b,c){var d=bu(a,b);b===a.A?(d|=b.fa&48^48,b.Le=!1):d=(b.fa^=9)|240;b.fa=d;w(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
|
||||
var ju=!0,At=1,qt=2,Is=3,zt=5,yt=6,Ks=7,ut=13,vt=14,ot=15,pt=16,wt=17,xt=18,rt=19,st=20,tt=21,nt=255,ct=1,bt=3,us=ct,rs=bt,dq=5,fq=7,ms={mda:[us,Ks],cga:[rs,Is],ega:[dq,Is],vga:[fq,Is]},Mr={2:{zg:15700,yg:208,Fg:85,Gg:96}};Mr[Wl]={zg:18432,yg:364,Fg:85,Gg:96};Mr[4]={zg:21850,yg:364,Fg:85,Gg:96};Mr[7]={zg:16700,yg:480,Fg:85,Gg:83};var Js={6:[1,Wl,!0],7:[2,Wl,!0],8:[6,Wl,!0],9:[4,Wl,!0],10:[Wl,1,!0],11:[Wl,2,!0],0:[1,Wl,!1],1:[2,Wl,!1],2:[6,Wl,!1],3:[4,Wl,!1],4:[Wl,1,!1],5:[Wl,2,!1]},ns=[];
|
||||
ns[At]=[40,25,1,0,bt];ns[Is]=[80,25,1,0,bt];ns[4]=[320,200,8,192];ns[yt]=[640,200,16,192];ns[Ks]=[80,25,1,0,ct];ns[ut]=[320,200,8];ns[vt]=[640,200,8];ns[ot]=[640,350,8];ns[pt]=[640,350,8];ns[wt]=[640,480,8];ns[xt]=[640,480,8];ns[rt]=[320,200,1];ns[st]=[320,240,4];ns[tt]=[320,400,4];ns[0]=ns[At];ns[qt]=ns[Is];ns[zt]=ns[4];
|
||||
var Rs=0,Ps=7,Ts=8,Qs=0,Ss=112,Os=128,au=256,jt=512,dt=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],et=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Xs=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Zs=[2,4,6],Ys=[3,5,Ps],$s=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
||||
var Rs=0,Ps=7,Ts=8,Qs=0,Ss=112,Os=128,Dt=256,jt=512,dt=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],et=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Xs=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Zs=[2,4,6],Ys=[3,5,Ps],$s=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
||||
ls=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],du=[0];du[128]=1;du[32768]=2;du[32896]=3;du[8388608]=4;du[8388736]=5;du[8421376]=6;du[8421504]=7;du[-2147483648]=8;du[-2147483520]=9;du[-2147450880]=10;du[-2147450752]=11;du[-2139095040]=12;du[-2139094912]=13;du[-2139062272]=14;du[-2139062144]=15;var or=[];or[us]=["MDA",948,720896,4096,0,Wl];or[rs]=["CGA",980,753664,16384,0,2];or[dq]=["EGA",980,753664,16384,65536,4];
|
||||
or[fq]=["VGA",980,753664,16384,262144,7];
|
||||
var os=0,Ds=1,Cs=2,Hs=[[1036,1038,1033],[1037,1032,1039],[1035,1040,1034]],ss={948:Q.prototype.Em,949:Q.prototype.Dm,952:Q.prototype.Fm,954:Q.prototype.Gm},ts={948:Q.prototype.jo,949:Q.prototype.io,952:Q.prototype.ko},vs={980:Q.prototype.im,981:Q.prototype.hm,984:Q.prototype.jm,985:Q.prototype.gm,986:Q.prototype.km},ws={980:Q.prototype.Ln,981:Q.prototype.Kn,984:Q.prototype.Mn,985:Q.prototype.Jn},xs={960:Q.prototype.cm,961:Q.prototype.tl,962:Q.prototype.Qm,964:Q.prototype.Om,965:Q.prototype.Nm,974:Q.prototype.xm,
|
||||
|
|
@ -815,21 +815,21 @@ a.B,ua)||Oy(a,a.aa,ua)||Oy(a,a.O,ua)||a.P("breakpoint missing: "+Py(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 rc=sB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
||||
(jB(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.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(Ey(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(Zy(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.C)>>>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.C)>>>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+(" %%"+dz(pf.Vi,pf.Cj)),xe=
|
||||
xe+(" %%"+dz(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";nB(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 vc=+Et||a.Xa,Tg=+Ft||10;isNaN(vc)?vc=Tg:Gt="more ";vc>kd.length&&(a.P("note: only "+
|
||||
kd.length+" available"),vc=kd.length);Lc-=vc;0>Lc&&(null==kd[kd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=kd.length);var um=[];"call"==Ft&&(Tg=1E5,um=["CALL"]);for(void 0!==Et&&a.P(vc+" instructions earlier:");0<Tg&&Lc!=a.oa;){var ye=kd[Lc++];if(null==ye.U)break;var Ug=ry(a,ye.Ja,ye.U,ye.ya,ye.type,ye.Hb,ye.dc),iC=vc--,It=gA(a,Ug,"history",iC);(!um.length||0<=It.indexOf(um[0]))&&a.P(It);Ug.Ge&&(Lc+=Ug.Ge,Tg-=Ug.Ge,vc-=Ug.Ge);Lc>=kd.length&&(Lc=0);a.Xa=vc;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=gy(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),jC=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(jC,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=Zy(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var $i=0;Sa&&("l"==Sa.charAt(0)&&
|
||||
(Sa=Sa.substr(1)||rb),$i=gy(a,Sa)>>>0,65536<$i&&($i=65536));for(var Wg="",sf="dd"==za?4:"dw"==za?2:1,aj=sf*$i||128,kC=aj+15>>4||1;kC--&&0<aj;){var Xg=0,wm=0,Yg,xm="",Nt="",cb=Py(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=Zy(a,St);if(dj)for(var ej=2;ej<g.length;ej++){var Zg=my(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 lC=Pt.call(a,dj);a.P("changing "+Py(dj)+" from "+q(lC,Rt,!0)+" to "+q(Zg,Rt,!0));
|
||||
Qt.call(a,dj,Zg,cj)}}break;case "f":kB(a,g[1]);break;case "g":a:{var Tt=g[1],mC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Tt){var ym=Zy(a,Tt,!0);if(!ym)break a;bz(a,ym,mC);a.Hd(a.B,ym,!0)}Xz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var zm;if(a.da.vb)zm="halting",a.Jb();else{if(Mb(a,!0))break a;zm="already halted"}c||a.P(zm)}break;case "i":if("if"==g[0]){var Am;var $g=b.substr(2),$g=Ba($g);my(a,$g)?(c||a.P("true: "+$g),Am=!0):(c||a.P("false: "+$g),Am=!1);Am||(d=!1);
|
||||
xe+(" %%"+dz(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";nB(a,ca);break a}for(xb in Ub)if(ca[1]==xb){var Et=a.Ba[xb];Et?(ca.shift(),ca.shift(),Et(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var Ft=cb,Gt=Sa,Ht="",It=0,Lc=a.oa,kd=a.W;if(kd.length){var vc=+Ft||a.Xa,Tg=+Gt||10;isNaN(vc)?vc=Tg:Ht="more ";vc>kd.length&&(a.P("note: only "+
|
||||
kd.length+" available"),vc=kd.length);Lc-=vc;0>Lc&&(null==kd[kd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=kd.length);var um=[];"call"==Gt&&(Tg=1E5,um=["CALL"]);for(void 0!==Ft&&a.P(vc+" instructions earlier:");0<Tg&&Lc!=a.oa;){var ye=kd[Lc++];if(null==ye.U)break;var Ug=ry(a,ye.Ja,ye.U,ye.ya,ye.type,ye.Hb,ye.dc),iC=vc--,Jt=gA(a,Ug,"history",iC);(!um.length||0<=Jt.indexOf(um[0]))&&a.P(Jt);Ug.Ge&&(Lc+=Ug.Ge,Tg-=Ug.Ge,vc-=Ug.Ge);Lc>=kd.length&&(Lc=0);a.Xa=vc;It++;Tg--}}It||(a.P("no "+Ht+"history available"),a.Xa=
|
||||
void 0)}else if("di"==za){ca.shift();var vm=ca[0];if(vm){var Vg=gy(a,vm);if(void 0===Vg||0>Vg||255<Vg)a.P("invalid vector: "+vm);else{var Kt="&",Lt=!!(a.H.qa&1),Mt=!1,Zi=a.H.Pb+(Vg<<(Lt?3:2)),Nt=a.H.ja(Zi+0),jC=a.H.ja(Zi+2);Lt&&(Kt="#",a.H.ja(Zi+4)&2048&&(Mt=!0,Nt|=a.H.ja(Zi+6)<<16));a.P("dumpIDT("+sa(Vg)+"): "+Kt+q(jC,4)+":"+q(Nt,Mt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var rf=Zy(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var $i=0;Sa&&("l"==Sa.charAt(0)&&
|
||||
(Sa=Sa.substr(1)||rb),$i=gy(a,Sa)>>>0,65536<$i&&($i=65536));for(var Wg="",sf="dd"==za?4:"dw"==za?2:1,aj=sf*$i||128,kC=aj+15>>4||1;kC--&&0<aj;){var Xg=0,wm=0,Yg,xm="",Ot="",cb=Py(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);Ot+=32<=bj&&128>bj?String.fromCharCode(bj):".";aj--}Wg&&(Wg+="\n");Wg+=cb+" "+xm+(Yg?"":" "+Ot)}Wg&&a.P(Wg);a.Ma=rf}}}}}break;case "e":if("else"==g[0])break;var cj=
|
||||
1,Pt=255,Qt=a.Ia,Rt=a.fc;"ew"==g[0]&&(cj=2,Pt=65535,Qt=a.Yc,Rt=a.kl);var St=cj<<1,Tt=g[1];if(null==Tt)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=Zy(a,Tt);if(dj)for(var ej=2;ej<g.length;ej++){var Zg=my(a,g[ej]);if(void 0===Zg){a.P("unrecognized value: "+g[ej]);break}Zg&~Pt&&a.P("warning: "+q(Zg)+" exceeds "+cj+"-byte value");var lC=Qt.call(a,dj);a.P("changing "+Py(dj)+" from "+q(lC,St,!0)+" to "+q(Zg,St,!0));
|
||||
Rt.call(a,dj,Zg,cj)}}break;case "f":kB(a,g[1]);break;case "g":a:{var Ut=g[1],mC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Ut){var ym=Zy(a,Ut,!0);if(!ym)break a;bz(a,ym,mC);a.Hd(a.B,ym,!0)}Xz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var zm;if(a.da.vb)zm="halting",a.Jb();else{if(Mb(a,!0))break a;zm="already halted"}c||a.P(zm)}break;case "i":if("if"==g[0]){var Am;var $g=b.substr(2),$g=Ba($g);my(a,$g)?(c||a.P("true: "+$g),Am=!0):(c||a.P("false: "+$g),Am=!1);Am||(d=!1);
|
||||
break}if("int"==g[0]){var fj;a:switch(gy(a,g[1])){case 19:Yk(a,19,a.H.ea,!0);a.la=a.Z;fj=!0;break a;case 33:Yk(a,33,a.H.ea,!0);a.la=a.Z;fj=!0;break a;default:fj=!1}fj||(d=!1);break}var Bm=g[1];if(Bm&&"?"!=Bm){var Cm=gy(a,Bm);if(void 0!==Cm){var nC=Rc(a.ka,Cm,1);a.P(sa(Cm)+": "+r(nC))}}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 oC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
||||
a.P("\tks\tshow symbol information");else{var Dm=0,Ut=a.H.Z.U,ah=ry(a),Td=ry(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Py(Td));10>Dm;){for(var ld=null,pC=256;Td.Ja>>>0<a.H.eg>>>0;){ah.Ja=a.jb(Td,!0);if(null==Td.ya||!pC--)break;ah.U=Ut;if(ld=qB(a,ah))break;ah.U=a.jb(Td);if(ld=qB(a,ah,!0)){Ut=a.jb(Td,!0);0<ld.indexOf("INT")&&a.jb(Td,!0);break}}if(!ld||null==ld)break;var Vt=null;if("ks"==oC){var Wt=ld.match(/[0-9A-F]+$/);Wt&&(Vt=mB(a,Wt[0]))}ld=Aa(ld,50)+" ;"+(Vt||"stack="+Py(Td));a.P(ld);Dm++}Dm||
|
||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){mB(a,g[1],!0);break}nB(a,g);break;case "m":if("mouse"==g[0]){var Em=g[1],gj=g[2];if(a.G){var Xt=1;"-"==gj.charAt(0)&&(Xt=-1,gj=gj.substr(1));var ze=gy(a,gj,Em);if(void 0!==ze)switch(ze=ze*Xt|0,Em){case "x":a.G.uf(ze,0);break;case "y":a.G.uf(0,ze);break;case "click":a.G.Wd(ze,!0);a.G.Wd(ze,!1);break;default:a.P("unknown action: "+Em)}}else a.P("no mouse");break}a:{var md,nd=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var Ae=0;if("all"==
|
||||
a.P("\tks\tshow symbol information");else{var Dm=0,Vt=a.H.Z.U,ah=ry(a),Td=ry(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Py(Td));10>Dm;){for(var ld=null,pC=256;Td.Ja>>>0<a.H.eg>>>0;){ah.Ja=a.jb(Td,!0);if(null==Td.ya||!pC--)break;ah.U=Vt;if(ld=qB(a,ah))break;ah.U=a.jb(Td);if(ld=qB(a,ah,!0)){Vt=a.jb(Td,!0);0<ld.indexOf("INT")&&a.jb(Td,!0);break}}if(!ld||null==ld)break;var Wt=null;if("ks"==oC){var Xt=ld.match(/[0-9A-F]+$/);Xt&&(Wt=mB(a,Xt[0]))}ld=Aa(ld,50)+" ;"+(Wt||"stack="+Py(Td));a.P(ld);Dm++}Dm||
|
||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){mB(a,g[1],!0);break}nB(a,g);break;case "m":if("mouse"==g[0]){var Em=g[1],gj=g[2];if(a.G){var Yt=1;"-"==gj.charAt(0)&&(Yt=-1,gj=gj.substr(1));var ze=gy(a,gj,Em);if(void 0!==ze)switch(ze=ze*Yt|0,Em){case "x":a.G.uf(ze,0);break;case "y":a.G.uf(0,ze);break;case "click":a.G.Wd(ze,!0);a.G.Wd(ze,!1);break;default:a.P("unknown action: "+Em)}}else a.P("no mouse");break}a:{var md,nd=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)nd=!0,fb=null;else if("off"==fb)nd=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(md in Ub)if(fb==md){Ae=Ub[md];nd=!!(a.ic&Ae);break}if(!Ae){a.P("unknown message category: "+fb);break a}}Ae&&("on"==g[2]?(a.ic|=Ae,nd=!0):"off"==g[2]&&(a.ic&=~Ae,nd=!1))}var qC=0,bh="";for(md in Ub)if(!fb||fb==md){var rC=!!(a.ic&Ub[md]);if(null===nd||nd==rC)bh&&(bh+=","),++qC%10||(bh+="\n\t"),"key"==md&&(md="keys"),bh+=md}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.P((null!==nd?nd?"messages on: ":"messages off: ":"message categories:\n\t")+(bh||"none"));ty(a)}break;case "o":var Fm=g[1],sC=g[2];if(Fm&&"?"!=Fm){var Gm=gy(a,Fm,"port #"),Hm=gy(a,sC);void 0!==Gm&&void 0!==Hm&&(Vc(a.ka,Gm,1,Hm),a.P(sa(Gm)+": "+r(Hm)))}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]){pB(a,b.substr(5));break}var Yt="pr"==g[0]?1:0,tf=1+Yt;if(a.K)a.P("step in progress");
|
||||
else{var hj,Zt=!1,Hb=ry(a,A(a.H),a.H.Z.U);do switch(hj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Uy(a,Hb,1);hj=!0;break;case 204:case 206:a.K=tf;Uy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=tf;Uy(a,Hb,Hb.Hb?4:2);break;case 232:a.K=tf;Uy(a,Hb,Hb.Hb?5:3);break;case 154:a.K=tf;Uy(a,Hb,Hb.Hb?7:5);break;case 255:var $t=a.jb(Hb)&14591;if(4351==$t||6399==$t)a.K=tf,gA(a,Hb);break;case 243:case 242:Uy(a,Hb,1);Zt=hj=!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:Zt&&
|
||||
(a.K=tf,Uy(a,Hb,1))}while(hj);a.K?(a.Hd(a.B,Hb,!0),Xz(a)||(a.pa&&a.pa.nd(),a.K=0)):rB(a,Yt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Zz(a,g);break;case "t":rB(a,g[0],g[1]);break;case "u":$z(a,g[1],g[2],8);break;case "v":if("var"==g[0]){lB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.35.1 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Qb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Pa());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var ch;void 0!==g[3]&&(ch=+g[3]);
|
||||
a.P((null!==nd?nd?"messages on: ":"messages off: ":"message categories:\n\t")+(bh||"none"));ty(a)}break;case "o":var Fm=g[1],sC=g[2];if(Fm&&"?"!=Fm){var Gm=gy(a,Fm,"port #"),Hm=gy(a,sC);void 0!==Gm&&void 0!==Hm&&(Vc(a.ka,Gm,1,Hm),a.P(sa(Gm)+": "+r(Hm)))}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]){pB(a,b.substr(5));break}var Zt="pr"==g[0]?1:0,tf=1+Zt;if(a.K)a.P("step in progress");
|
||||
else{var hj,$t=!1,Hb=ry(a,A(a.H),a.H.Z.U);do switch(hj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Uy(a,Hb,1);hj=!0;break;case 204:case 206:a.K=tf;Uy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=tf;Uy(a,Hb,Hb.Hb?4:2);break;case 232:a.K=tf;Uy(a,Hb,Hb.Hb?5:3);break;case 154:a.K=tf;Uy(a,Hb,Hb.Hb?7:5);break;case 255:var au=a.jb(Hb)&14591;if(4351==au||6399==au)a.K=tf,gA(a,Hb);break;case 243:case 242:Uy(a,Hb,1);$t=hj=!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:$t&&
|
||||
(a.K=tf,Uy(a,Hb,1))}while(hj);a.K?(a.Hd(a.B,Hb,!0),Xz(a)||(a.pa&&a.pa.nd(),a.K=0)):rB(a,Zt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Zz(a,g);break;case "t":rB(a,g[0],g[1]);break;case "u":$z(a,g[1],g[2],8);break;case "v":if("var"==g[0]){lB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.35.1 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Qb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Pa());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var ch;void 0!==g[3]&&(ch=+g[3]);
|
||||
switch(g[2]){case "int":a.H.T.Te=ch;break;case "start":a.H.T.xf=ch;break;case "stop":a.H.T.Ve=ch;break;default:a.P("unknown cs option");break a}void 0!==ch&&Dd(a.H);a.P("checksums "+(a.H.da.Ie?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Hd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.pe.toFixed(2)+"Mhz")+" ("+a.H.T.Ld+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
|
||||
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){pB(a,b.substr(1));break}var Im="commands:",Jm;for(Jm in tB)Im+="\n"+Aa(Jm,7)+tB[Jm];Lg(a)||(Im+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Im);break;default:a.P("unknown command: "+b),d=!1}}}catch(bu){a.P("debugger error: "+(bu.stack||bu.message)),d=!1}return d}
|
||||
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){pB(a,b.substr(1));break}var Im="commands:",Jm;for(Jm in tB)Im+="\n"+Aa(Jm,7)+tB[Jm];Lg(a)||(Im+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Im);break;default:a.P("unknown command: "+b),d=!1}}}catch(cu){a.P("debugger error: "+(cu.stack||cu.message)),d=!1}return d}
|
||||
function vy(a,b,c){b=a.Eg(b,c);for(var d in b)if(!fA(a,b[+d]))return!1;return!0}
|
||||
var Uz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Tz=[26,28,40,42,109],tB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
||||
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},$y=0,Sy=1,By=2,cz=3,az=4,Ty=5,oA=18,pA=28,kA=36,tA=80,qA=104,rA=107,iA=176,hA="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
||||
|
|
@ -864,8 +864,8 @@ 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.M=new Zf(this,"1.35.1"),this.M.load()?b=null:delete this.M));!b&&this.A&&(b=PB(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&&QB(this,this.Mf)}else kb("Unable to find CPU component")}ba(LB,pb);
|
||||
function MB(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 QB(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(){QB(a,b,c)});return}}b.call(a,c)}
|
||||
function RB(a,b){var c=new Zf(a,"1.35.1",SB);if(c.load()&&TB(c)){var d=c.get(UB),e=b?b.get(UB):"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=LB.prototype;
|
||||
l.Mf=function(a){void 0===a&&(a=this.A||(this.L?VB:NB));if(!this.C){this.C++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Zf(this,"1.35.1");if(a==WB)b=!0;else if(a>NB){if(d.load(this.L)){this.F=new Zf(this,"1.35.1",XB);this.F.load()&&(YB(this,d)&&(a=ZB),$B(this.F));this.F.set(UB,Ea());aC(this.F);var e=this.A&&!this.I;if(a==VB||ub("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=TB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&
|
||||
"no machine state"!=g?(this.Da("Error: "+g),"unable to verify user"==g&&(Va(bC,""),this.B=null)):this.P(f+": "+g),$B(d),d.load()?(c=TB(d),e=!0):c=!1))}e&&RB(this,c?d:null)}else a==ZB&&d.clear()}else RB(this);delete this.L;delete this.M}e=vb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=cC(this,g,d,b,c));b=[d,a,c];a!=WB?QB(this,this.oj,b):this.oj(b)}};
|
||||
l.Mf=function(a){void 0===a&&(a=this.A||(this.L?VB:NB));if(!this.C){this.C++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Zf(this,"1.35.1");if(a==WB)b=!0;else if(a>NB){if(d.load(this.L)){this.F=new Zf(this,"1.35.1",XB);this.F.load()&&(a!=VB&&YB(this,d)&&(a=ZB),$B(this.F));this.F.set(UB,Ea());aC(this.F);var e=this.A&&!this.I;if(a==VB||ub("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=TB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
|
||||
f&&"no machine state"!=g?(this.Da("Error: "+g),"unable to verify user"==g&&(Va(bC,""),this.B=null)):this.P(f+": "+g),$B(d),d.load()?(c=TB(d),e=!0):c=!1))}e&&RB(this,c?d:null)}else a==ZB&&d.clear()}else RB(this);delete this.L;delete this.M}e=vb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=cC(this,g,d,b,c));b=[d,a,c];a!=WB?QB(this,this.oj,b):this.oj(b)}};
|
||||
function cC(a,b,c,d,e){if(!b.da.Yb){b.da.Yb=!0;if(b.Xb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.Xb(f,d)&&f&&(b.Da("Unable to restore hardware state")&&(a.W&&!a.Z?(c.clear(),a.A=NB,window&&window.location.reload()):a.Y=!0),b.Xb(null),e=!1)}if(!d&&b.zj)for(a=b.zj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.oj=function(a){var b=a[0],c=0>a[1];a=a[2];this.ga=!0;this.da.Yb=!0;var d=this.na.power;d&&(d.textContent="Shutdown");this.H&&(cC(this,this.H,b,c,a),this.H.mf());this.Y&&(YB(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
|
||||
function YB(a,b){if(!a.da.Tf){if(ub("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.35.1"};d.url=a.ea;d.user=c;d.type="bug";d.data=b;Na("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -43155,7 +43155,7 @@ class ROM extends Component {
|
|||
doneLoad(sURL, sROMData, nErrorCode)
|
||||
{
|
||||
if (nErrorCode) {
|
||||
this.notice("Unable to load system ROM (error " + nErrorCode + ": " + sURL + ")");
|
||||
this.notice("Unable to load system ROM (error " + nErrorCode + ": " + sURL + ")", nErrorCode < 0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -74369,12 +74369,11 @@ class Computer extends Component {
|
|||
* may have happened the last time around.
|
||||
*/
|
||||
this.stateFailSafe = new State(this, PCX86.APPVERSION, Computer.STATE_FAILSAFE);
|
||||
|
||||
if (this.stateFailSafe.load()) {
|
||||
if (this.powerReport(stateComputer)) {
|
||||
if (resume != Computer.RESUME_AUTO && this.powerReport(stateComputer)) {
|
||||
/*
|
||||
* We already know resume is something other than RESUME_NONE, so we'll go ahead and bump it
|
||||
* all the way to RESUME_PROMPT, so that the user will be prompted, and if the user declines to
|
||||
* restore, the state will be removed.
|
||||
* Prompt the user; if they decline to restore, the state will be removed.
|
||||
*/
|
||||
resume = Computer.RESUME_PROMPT;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -436,8 +436,8 @@ function jm(a,b,c){var d=0,e=c&km;b?(d=3,a.ea=c):a.ta=c;if(e==lm){if(!(c&mm))for
|
|||
e.vc[0]=e.bc[0],e.vc[1]=e.bc[1],e.gd=ad(a.U,a.V))}}}function hm(a,b){a=a.H[b];(b=a.bc[1]<<8|a.bc[0])||(b=1==a.fd?256:65536);return b}function ed(a,b){a=a.H[b];(b=a.vc[1]<<8|a.vc[0])||(b=1==a.fd?256:65536);return b}function rm(a,b){am(a,b);var c=a.H[b];c.Fd[0]=c.eb[0];c.Fd[1]=c.eb[1];c.le=!0;$l(a,b)}function $l(a,b){a=a.H[b];a.Xc=a.gf==Bm?1:0;a.fd=a.gf==Cm?2:1}
|
||||
function am(a,b,c){var d=a.H[b];if(d.Hd&&(b!=im||a.J&xm)){var e=ad(a.U,a.V),f=(e-d.gd)/a.Aa|0;0>f&&(d.gd=e,f=0);var g=hm(a,b),h=ed(a,b)-f;d.mode==cm?(0>=h&&(h=0),h||(d.Lc=!0,d.Hd=!1,b||Kf(a,gm))):d.mode==Dm?(d.Lc=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.vc[0]=h&255,d.vc[1]=h>>8&255,d.gd=e,!b&&d.Lc&&Kf(a,gm))):d.mode==fd&&(h-=f,0>=h&&(d.Lc=!d.Lc,h=g+h,0>=h&&(h=g),d.vc[0]=h&255,d.vc[1]=h>>8&255,d.gd=e,!b&&d.Lc&&Kf(a,gm)));d.eb[0]=h&255;d.eb[1]=h>>8&255;c&&(a.gd=0)}return d}
|
||||
function dd(a,b){for(var c=0;c<a.H.length;c++)am(a,c,b);if(a.ba>=Hf){b=a.U.R.Yc;c=ad(a.U,a.V);null==a.ya&&(a.na=ad(a.U,a.V),a.Ha=1024,a.ya=Math.floor(a.U.R.Yc/a.Ha),Qk(a));c>=a.X&&(a.A[Nk]|=Em,a.A[gd]&hd&&(a.A[Nk]|=Fm,Kf(a,Gm)),a.X=c+a.ya);a.A[Ak]==a.A[Bk]&&a.A[Ck]==a.A[Dk]&&a.A[Ek]==a.A[Fk]&&(a.A[Nk]|=Hm,a.A[gd]&Im&&(a.A[Nk]|=Fm,Kf(a,Gm)));var d=c-a.na,e=Math.floor(d/b);if(e&&!(a.A[gd]&Jm)){for(;e--;)if(60<=++a.A[Ak]&&(a.A[Ak]=0,60<=++a.A[Ck]&&(a.A[Ck]=0,24<=++a.A[Ek]))){a.A[Ek]=0;a.A[Gk]=a.A[Gk]%
|
||||
7+1;var f;f=a.A[Jk];var g=Ca[a.A[Ik]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Hk]>f&&(a.A[Hk]=1,12<++a.A[Ik]&&(a.A[Ik]=1,a.A[Jk]=(a.A[Jk]+1)%100))}a.A[Nk]|=Km;a.A[gd]&Lm&&(a.A[Nk]|=Fm,Kf(a,Gm))}a.na=c-d%b}}k.tl=function(){var a=this.ua;this.ga&Mm&&(this.J&Nm?a=this.B[0][1]:this.C&&(a=Sm(this.C)));return a};k.Om=function(a,b){this.ua=b};k.ul=function(){return this.J};k.Pm=function(a,b){Tm(this,b)};
|
||||
function Tm(a,b){var c=!!(b&Um),d=!!(a.J&Um);a.J=b;a.C&&Vm(a.C,!(b&Nm),!!(b&Am));c!=d&&Sk(a,c)}k.vl=function(){var a=0,a=(this.ba|0)==Cj?this.J&ym?a|this.B[1][1]&Wm:a|this.B[1][1]>>4&1:this.J&Xm?a|this.B[0][1]>>4:a|this.B[0][1]&15;this.J&xm&&am(this,im).Lc&&(a=this.J&Um?a|Ym:a|Zm);return a};k.Qm=function(a,b){this.Ba=b};k.wl=function(){return this.ga};k.Rm=function(a,b){this.ga=b};k.Fk=function(){var a=this.C?Sm(this.C):0;this.Z&=~$m;return a};k.$l=function(){};k.Ek=function(){return this.J};
|
||||
7+1;var f;f=a.A[Jk];var g=Ca[a.A[Ik]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Hk]>f&&(a.A[Hk]=1,12<++a.A[Ik]&&(a.A[Ik]=1,a.A[Jk]=(a.A[Jk]+1)%100))}a.A[Nk]|=Km;a.A[gd]&Lm&&(a.A[Nk]|=Fm,Kf(a,Gm))}a.na=c-d%b}}k.tl=function(){var a=this.ua;this.ga&Mm&&(this.J&Nm?a=this.B[0][1]:this.C&&(a=Om(this.C)));return a};k.Om=function(a,b){this.ua=b};k.ul=function(){return this.J};k.Pm=function(a,b){Tm(this,b)};
|
||||
function Tm(a,b){var c=!!(b&Um),d=!!(a.J&Um);a.J=b;a.C&&Vm(a.C,!(b&Nm),!!(b&Am));c!=d&&Sk(a,c)}k.vl=function(){var a=0,a=(this.ba|0)==Cj?this.J&ym?a|this.B[1][1]&Wm:a|this.B[1][1]>>4&1:this.J&Xm?a|this.B[0][1]>>4:a|this.B[0][1]&15;this.J&xm&&am(this,im).Lc&&(a=this.J&Um?a|Ym:a|Zm);return a};k.Qm=function(a,b){this.Ba=b};k.wl=function(){return this.ga};k.Rm=function(a,b){this.ga=b};k.Fk=function(){var a=this.C?Om(this.C):0;this.Z&=~$m;return a};k.$l=function(){};k.Ek=function(){return this.J};
|
||||
k.Zl=function(a,b){Tm(this,b)};k.Gk=function(){return this.Z};k.Hk=function(){var a=this.pa;this.F&=~($m|an);this.C&&bn(this.C);return a};k.bm=function(a,b){if(this.F&cn)switch(this.L){case dn:en(this,b);break;case fn:gn(this,b);break;default:if(en(this,this.K&~bk),this.C){a=this.C;var c=b,d=-1;switch(a.G||c){case hn:d=jn;a.Jb=[];kn(a,ln);break;case mn:a.G&&(c=0);kn(a,jn);a.G=c;break;case nn:a.G&&(c=0),kn(a,jn),a.G=c}on(this,d)}}this.L=b;this.F&=~cn};
|
||||
k.Ik=function(){return this.J&~(pn|qn)|(ad(this.U)&64?qn:0)};k.cm=function(a,b){Tm(this,b)};k.Jk=function(){var a=this.F&255;this.F&an&&(this.F|=$m,this.F&=~an);return a};
|
||||
k.am=function(a,b){this.L=b;this.F|=cn;a=0;this.L>=rn&&(a=this.L^15,this.L=rn);switch(this.L){case sn:on(this,this.K);break;case tn:en(this,this.K|bk);break;case un:en(this,this.K&~bk);this.C&&bn(this.C);break;case vn:this.C&&(this.C.Jb=[]);en(this,this.K|bk);on(this,wn);gn(this,lk|mk);break;case xn:on(this,yn);break;case zn:on(this,this.M);break;case An:on(this,this.qa);break;case Bn:on(this,this.K&bk?0:Cn);break;case rn:a&1&&oe(this.U)}};
|
||||
|
|
@ -461,7 +461,7 @@ b){ll(this,1,1,b)},198:function(a,b){nl(this,1,1,b)},200:function(a,b){ll(this,1
|
|||
b){bm(this,1,0,b)},73:function(a,b){bm(this,1,1,b)},74:function(a,b){bm(this,1,2,b)},75:function(a,b){jm(this,1,b)}};Pa(function(){for(var a=hb(document,"pcx86","chipset"),b=0;b<a.length;b++){var c=a[b],d=eb(c),d=new T(d);gb(d,c);il(d)}});
|
||||
function Pn(a){t.call(this,"ROM",a);this.A=null;this.F=a.addr;this.C=a.size;this.D=a.alias;this.G=a.file;this.B=a.notify;this.I=null;if(this.B&&(a=this.B.indexOf("["),0<a)){try{this.I=eval(this.B.substr(a))}catch(d){}this.B=this.B.substr(0,a)}if(this.G){a=this.G;var b=qa(pa(a));"json"!=b&&"hex"!=b&&(a=Fa()+"/api/v1/dump?file="+this.G+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){Qn(c,a,b,f)})}}ba(Pn,t);Pn.prototype.ic=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;Rn(this)};
|
||||
Pn.prototype.Ob=function(){this.H&&(this.Ea&&this.Ea.A(this.id,0,this.F>>>4,0,this.F,this.C,this.H),delete this.H);return!0};Pn.prototype.Nb=function(){return!0};
|
||||
function Qn(a,b,c,d){if(d)a.wa("Unable to load system ROM (error "+d+": "+b+")");else{Ya(a.Wd,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.H=e.symbols;if(!a.A.length){r("Empty ROM: "+b);return}if(1==a.A.length){r(a.A[0]);return}}catch(h){a.wa("ROM data error: "+h.message);return}else for(b=
|
||||
function Qn(a,b,c,d){if(d)a.wa("Unable to load system ROM (error "+d+": "+b+")",0>d);else{Ya(a.Wd,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.H=e.symbols;if(!a.A.length){r("Empty ROM: "+b);return}if(1==a.A.length){r(a.A[0]);return}}catch(h){a.wa("ROM data error: "+h.message);return}else for(b=
|
||||
c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=na(b[e],16);Rn(a)}}
|
||||
function Rn(a){if(!ob(a))if(!a.G)pb(a);else if(a.A&&a.ma){a.C||(a.C=a.A.length);if(a.A.length!=a.C)nb(a,"ROM size ("+oa(a.A.length,8,!0)+") does not match specified size ("+oa(a.C,8,!0)+")");else{var b;b=a.F;if(Tb(a.ma,b,a.C,fc)){for(var c=0;c<a.A.length;c++){var d=a.ma,e=b+c;d.X[(e&d.D)>>>d.B].jf(e&d.C,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.D?b.push(a.D):null!=a.D&&a.D.length&&(b=a.D);for(c=0;c<b.length;c++){var d=a,e=b[c],f=$b(d.ma,d.F,d.C);Zb(d.ma,e,d.C,f)}a.B&&((b=cb(a.B,a.id))?
|
||||
(c=a.A,d=a.I,b.Ma==Sn?Tn(b,c,d||[12640,8752],8):b.Ma==Un&&Tn(b,c,d||[14221,16269],8),pb(b)):a.wa("Unable to find component: "+a.B));delete a.A}}pb(a)}}Pa(function(){for(var a=hb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=eb(c),d=new Pn(d);gb(d,c)}});function Vn(a){t.call(this,"RAM",a);this.B=a.addr;this.A=a.size;this.F=a.test;this.D=!!this.A;this.C=!1}ba(Vn,t);k=Vn.prototype;k.ic=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.V=zb(a,"ChipSet");pb(this)};
|
||||
|
|
@ -475,7 +475,7 @@ c,c.onclick=function(){e.oa&&bd(e.oa);mo(e,po,!0)},!0;default:var g=b.toUpperCas
|
|||
a,c.onmouseup=c.onmouseout=b),!0;if(d)return this.ia[f]=c,c.onclick=function(){e.oa&&bd(e.oa);d&&!e.B&&(e.B=d,uo(e,150))},!0}return!1};function vo(a,b,c){if(a.L){for(var d in p)if(b==p[d]){b=+d;(d=ma[d])&&(b=d);break}for(var e in so)if((d=so[e]==b)||(d=b,d>=n.Dd&&d<=n.z&&(d-=n.Dd-n.Cd),d=so[e]==d),d){(a=a.ia["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
|
||||
k.ic=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;this.V=zb(a,"ChipSet");this.F=Pc(a,"autoType")||this.F;Pe(c,33,this.Ll.bind(this))};k.Ll=function(){if(10==(this.U.F>>8&255)&&!this.D&&this.F){var a=this.D=wo(this.F);a&&!this.B&&(this.B=a,uo(this,150))}return!0};
|
||||
function wo(a){if(a){for(var b,c=/(?:^|[^$])\$([a-z]+)/g;b=c.exec(a);){var d;switch(b[1]){case "date":d=xa("n-j-Y");break;case "time":d=xa("h:i:s");break;default:continue}a=a.replace("$"+b[1],d)}a=a.replace(/\$\$/g,"$$")}return a}function jo(a,b){var c=0;a.ba=null;"string"==typeof b&&(a.ba=b.toUpperCase(),c=xo.indexOf(a.ba),0>c&&(c=0));if(b=xo[c])a.X=parseInt(b.substr(2),10)}function Vm(a,b,c){a.J!==c&&(a.J=a.K=c)&&(a.H=!0);a.I!==b&&(a.I=b)&&!a.K&&In(a,!0);a.I&&a.K&&(a.Jb=[],kn(a,ln),a.K=!1)}
|
||||
function kn(a,b){a.V&&(a.Jb.unshift(b),a.H=!0,Gn(a.V,b))}function bn(a){var b;a.Jb.length&&a.H&&(b=a.Jb[0],a.V&&Gn(a.V,b))}function Sm(a){var b=0;a.Jb.length&&(b=a.Jb[0]);return b}function In(a,b){0<a.Jb.length&&(a.Jb.shift(),(a.H=b)&&a.Jb.length&&a.V&&Gn(a.V,a.Jb[0]))}k.Ob=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.Nb=function(a){return a?this.save():!0};
|
||||
function kn(a,b){a.V&&(a.Jb.unshift(b),a.H=!0,Gn(a.V,b))}function bn(a){var b;a.Jb.length&&a.H&&(b=a.Jb[0],a.V&&Gn(a.V,b))}function Om(a){var b=0;a.Jb.length&&(b=a.Jb[0]);return b}function In(a,b){0<a.Jb.length&&(a.Jb.shift(),(a.H=b)&&a.Jb.length&&a.V&&Gn(a.V,a.Jb[0]))}k.Ob=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.Nb=function(a){return a?this.save():!0};
|
||||
k.reset=function(){if(!this.ba&&this.V)switch(this.V.ba){case Cj:case 5160:jo(this,xo[0]);break;default:jo(this,xo[1])}yo(this)};k.save=function(){var a=new Te(this),b=[];b[0]=this.J;b[1]=this.I;a.set(0,b);return a.data()};k.restore=function(a){return yo(this,a[0])};function yo(a,b){var c=0;b?a.D=wo(a.F):(b=[],a.D=null);a.J=b[c++];a.I=b[c];a.G=0;a.Sb=a.C=0;a.Jb=[];a.H=!0;a.B="";return!0}
|
||||
function uo(a,b){for(var c=0;0<a.B.length&&!c;)if(c=a.B.charAt(0),a.B=a.B.substr(1),c=c.charCodeAt(0),240<=c){b=100*(c-240)||150;c=0;break}c&&(10==c&&(c=13),mo(a,c,!0));0<a.B.length&&setTimeout(function(a){return function(){uo(a,b)}}(a),b)}
|
||||
function ro(a,b,c,d){if(V[b]){var e=Math.floor(b/1E3)&2;if(b=zo[b]||0){!e||b&Ao||(b>>=1);if(b&Bo){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.Sb)&b):d||b&Co&&(b=Co);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in Do)d="led-"+g,e=Do[g],c&&c!=e||!(f=a.ia[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.Sb&=~b,d&&(a.Sb|=b);return!0}}return!1}
|
||||
|
|
@ -528,8 +528,8 @@ function Zp(a,b,c,d){if(d)a.wa("Unable to load font ROM (error "+d+": "+b+")");e
|
|||
function Eq(a,b){if(1==b)return a.ga[0]=Fq[zq],a.ga[1]=Fq[xq],a.ga;if(2==b){var c=a.B.ef;if(a.B===a.A){var d=a.A.rc[0],c=d&7;d&16&&(c|=8);18!=a.A.rc[1]&&(c|=32)}a.ga[0]=Fq[c&15];c=c&32?Gq:Hq;for(d=0;d<c.length;d++)a.ga[d+1]=Fq[c[d]];return a.ga}if(a.I===a.rb)return Fq;a.Ga&&b&&!a.ga[16]&&(a.Ga=!1);if(!a.Ga){var c=a.A,d=c.we,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.ga[e]=[g,h,f,255];else{var l=d&&d[255];b=null!=c.rc[15]?c.rc:Iq;for(e=0;16>e;e++)f=b[e]&63,l?(f|=
|
||||
(c.rc[20]&12)<<4,c.rc[16]&128&&(f&=-49,f|=(c.rc[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.ga[e]=[g,h,f,255]}a.Ga=!0}return a.ga}function Tn(a,b,c,d){a.nb=b;a.Va=c;a.Ca=d}
|
||||
function uq(a,b){var c=!1;if(window&&a.nb&&(!b||a.G)){var d=0,e=a.Ca?a.Ca:8,f=Eq(a);null!=a.Va[0]&&Jq(a,Kq,a.Va[0],d,e,8,a.nb,f)&&(c=!0);d=a.Ca?0:2048;e=a.Ca?a.Ca:9;null!=a.Va[1]&&(Jq(a,Lq,a.Va[1],d,e,14,a.nb,Mq,Nq)&&(c=!0),a.Ca&&Jq(a,a.Ma,a.Va[1],0,a.Ca,14,a.nb,f)&&(c=!0))}b||(a.Z=-1,a.ya=-1,a.ua=0);return c}function Jq(a,b,c,d,e,f,g,h,l){var m=!1;null!=c&&(Oq(a,b,c,d,e,f,g,h,l)&&(m=!0),a.md&&Oq(a,b<<1,c,d,e,f,g,h,l)&&(m=!0));return m}
|
||||
function Oq(a,b,c,d,e,f,g,h,l){var m=!1,q=b&1?0:1,y=a.ta[b],w=16>h.length?h.length:16;y||(y={oc:e<<q,pc:f<<q,ae:Array(w),Xh:h.slice(0,w),De:l,ig:Array(w)});for(l=0;l<w;l++){var z=h[l],B=y.ae[l]?y.Xh[l]:[];if(z[0]!==B[0]||z[1]!==B[1]||z[2]!==B[2]){var m=y,B=l,S=q,X=c,ca=d,$a=e,yb=f,Vh=g,Qt=[0,0,0,0],Pf=document.createElement("canvas");Pf.width=m.oc<<4;Pf.height=m.pc<<4;var Om=Pf.getContext("2d"),Lb,pd,pc,Qf=8>yb||!ca?yb:8,Wh=Om.createImageData(m.oc,m.pc);for(Lb=0;256>Lb;Lb++){for(pc=0;pc<yb;pc++)for(var Rt=
|
||||
m.De&&B&1&&pc>=yb-2,St=Vh[pc<Qf?X+Lb*Qf+pc:ca+Lb*Qf+pc-Qf],Xh=0;Xh<=S;Xh++)for(pd=0;pd<$a;pd++){var Pm=pd<<S,Qm=(pc<<S)+Xh,Rm=Rt||St&128>>(8<=pd&&192<=Lb&&223>=Lb?7:pd)?z:Qt;Pq(Wh,Pm,Qm,Rm);S&&Pq(Wh,Pm+1,Qm,Rm)}Om.putImageData(Wh,(Lb&15)*m.oc,(Lb>>4)*m.pc)}m.ae[B]="#"+oa(z[0],2)+oa(z[1],2)+oa(z[2],2);m.Xh[B]=z;m.ig[B]=Pf;m=!0}}a.ta[b]=y;return m}function Qq(a){0<a.ua||0<=a.Z?0>a.ya&&(a.ya=0):a.ya=-1}
|
||||
function Oq(a,b,c,d,e,f,g,h,l){var m=!1,q=b&1?0:1,y=a.ta[b],w=16>h.length?h.length:16;y||(y={oc:e<<q,pc:f<<q,ae:Array(w),Xh:h.slice(0,w),De:l,ig:Array(w)});for(l=0;l<w;l++){var z=h[l],B=y.ae[l]?y.Xh[l]:[];if(z[0]!==B[0]||z[1]!==B[1]||z[2]!==B[2]){var m=y,B=l,S=q,X=c,ca=d,$a=e,yb=f,Vh=g,Qt=[0,0,0,0],Pf=document.createElement("canvas");Pf.width=m.oc<<4;Pf.height=m.pc<<4;var Pm=Pf.getContext("2d"),Lb,pd,pc,Qf=8>yb||!ca?yb:8,Wh=Pm.createImageData(m.oc,m.pc);for(Lb=0;256>Lb;Lb++){for(pc=0;pc<yb;pc++)for(var Rt=
|
||||
m.De&&B&1&&pc>=yb-2,St=Vh[pc<Qf?X+Lb*Qf+pc:ca+Lb*Qf+pc-Qf],Xh=0;Xh<=S;Xh++)for(pd=0;pd<$a;pd++){var Qm=pd<<S,Rm=(pc<<S)+Xh,Sm=Rt||St&128>>(8<=pd&&192<=Lb&&223>=Lb?7:pd)?z:Qt;Pq(Wh,Qm,Rm,Sm);S&&Pq(Wh,Qm+1,Rm,Sm)}Pm.putImageData(Wh,(Lb&15)*m.oc,(Lb>>4)*m.pc)}m.ae[B]="#"+oa(z[0],2)+oa(z[1],2)+oa(z[2],2);m.Xh[B]=z;m.ig[B]=Pf;m=!0}}a.ta[b]=y;return m}function Qq(a){0<a.ua||0<=a.Z?0>a.ya&&(a.ya=0):a.ya=-1}
|
||||
function Dq(a){if(a.G){for(var b=10;15>=b;b++)if(null==a.B.Oa[b])return;var c=a.B.Oa[10],b=c&31,d=a.B.Oa[11]&31,e=a.B.Oa[9]&31,f=!1;a.B===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Rq(a);else{c=a.B.Oa[15]+((a.B.Oa[14]&63)<<8);a.Z!=c&&(Rq(a),a.Z=c);d=d-b+1;if(a.Uc!=b||a.xc!=d)a.Uc=b,a.xc=d;a.xa=e+1;Qq(a)}}}function Rq(a){if(0<=a.Z){if(void 0!==a.L){var b=Sq<<8,c=a.L[a.Z];if(c&b){var c=c&~b,b=a.Z%a.F,d=a.Z/a.F|0;a.G&&a.ta[a.G]&&(a.Ba&&Tq(a,b,d,c,a.Ba),Tq(a,b,d,c));a.L[a.Z]=c}}a.Z=-1}}
|
||||
function Uq(a){var b,c=a.B;a.yc=!1;var d=c.kd[5];if(null!=d){b=lp;var e=np,f=c.kd[3]&31;switch(d&3){case 0:if(f){e=np|32;switch(f&24){case 8:e=np|96;break;case 16:e=np|160;break;case 24:e=np|224}c.zc=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.Ma==Un&&(e=3,c.zc=f&7)}d&8&&(b=1280);c=c.Qd[4];null!=c&&(c&4||(b|=mp,e|=op),d&64&&(c&8&&(b|=16384,e|=4),a.yc=!0));b|=e}return b}
|
||||
function Vq(a,b){var c=a.B;return c&&null!=b&&b!=c.ug?(c.ag(b),a.ma.ag(c.Ya,c.Ab,c.rg(),!0),!0):!1}
|
||||
|
|
@ -666,8 +666,8 @@ this.id))&&this.D.Ef)for(b=0;b<e.length;b++)d=e[b],d.wa=this.D.wa,d.Zb=this.D.Zb
|
|||
new Te(this,"1.35.1"),this.L.load()?b=null:delete this.L));!b&&this.A&&(b=Uu(this))&&(this.H=!0);if(b){var f=this;Ea(b,null,!0,function(a,b,c){c?(f.J=null,f.H=!1,f.wa("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(f.K=b,f.X=!0);pb(f)})}else pb(this);this.ia.power||(this.M=!0);!c&&this.M&&Vu(this,this.af)}else r("Unable to find CPU component")}ba(Qu,t);
|
||||
function Ru(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.I=b}function Pc(a,b,c){var d=La(b);void 0===d&&a.I&&(d=a.I[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Vu(a,b,c){for(var d=bb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ob(f)){ob(f,function(){Vu(a,b,c)});return}}b.call(a,c)}
|
||||
function Wu(a,b){var c=new Te(a,"1.35.1",Xu);if(c.load()&&Yu(c)){var d=c.get(Zu),e=b?b.get(Zu):"unknown";d!=e&&(a.wa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=Qu.prototype;
|
||||
k.af=function(a){void 0===a&&(a=this.A||(this.K?$u:Su));if(!this.C){this.C++;var b=!1,c=!1;this.W=!1;var d=this.L||new Te(this,"1.35.1");if(a==av)b=!0;else if(a>Su){if(d.load(this.K)){this.F=new Te(this,"1.35.1",bv);this.F.load()&&(cv(this,d)&&(a=dv),ev(this.F));this.F.set(Zu,wa());fv(this.F);var e=this.A&&!this.H;if(a==$u||ab("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Yu(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&
|
||||
"no machine state"!=g?(this.wa("Error: "+g),"unable to verify user"==g&&(Ja(gv,""),this.B=null)):this.Zb(f+": "+g),ev(d),d.load()?(c=Yu(d),e=!0):c=!1))}e&&Wu(this,c?d:null)}else a==dv&&d.clear()}else Wu(this);delete this.K;delete this.L}e=bb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=hv(this,g,d,b,c));b=[d,a,c];a!=av?Vu(this,this.mi,b):this.mi(b)}};
|
||||
k.af=function(a){void 0===a&&(a=this.A||(this.K?$u:Su));if(!this.C){this.C++;var b=!1,c=!1;this.W=!1;var d=this.L||new Te(this,"1.35.1");if(a==av)b=!0;else if(a>Su){if(d.load(this.K)){this.F=new Te(this,"1.35.1",bv);this.F.load()&&(a!=$u&&cv(this,d)&&(a=dv),ev(this.F));this.F.set(Zu,wa());fv(this.F);var e=this.A&&!this.H;if(a==$u||ab("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Yu(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
|
||||
f&&"no machine state"!=g?(this.wa("Error: "+g),"unable to verify user"==g&&(Ja(gv,""),this.B=null)):this.Zb(f+": "+g),ev(d),d.load()?(c=Yu(d),e=!0):c=!1))}e&&Wu(this,c?d:null)}else a==dv&&d.clear()}else Wu(this);delete this.K;delete this.L}e=bb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=hv(this,g,d,b,c));b=[d,a,c];a!=av?Vu(this,this.mi,b):this.mi(b)}};
|
||||
function hv(a,b,c,d,e){if(!b.aa.Pb){b.aa.Pb=!0;if(b.Ob){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.Ob(f,d)&&f&&(b.wa("Unable to restore hardware state")&&(a.V&&!a.X?(c.clear(),a.A=Su,window&&window.location.reload()):a.W=!0),b.Ob(null),e=!1)}if(!d&&b.vi)for(a=b.vi.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
k.mi=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea=!0;this.aa.Pb=!0;var d=this.ia.power;d&&(d.textContent="Shutdown");this.U&&(hv(this,this.U,b,c,a),this.U.Fe());this.W&&(cv(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
|
||||
function cv(a,b){if(!a.aa.hf){if(ab("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.35.1"};d.url=a.ca;d.user=c;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue