|
|
|
|
@ -232,7 +232,7 @@ function Mi(a){df.call(this);return a}function Ni(a,b){a=Oi.call(this,this.S(),b
|
|
|
|
|
function Oi(a,b){a=(a<<16>>16)*(b<<16>>16)|0;32767<a||-32768>a?(qg(this),sg(this)):(rg(this),tg(this));this.A-=-1===this.C?9:12;return a&65535}function Qi(a,b){Ri.call(this,a,b);this.Za!=this.Ba>>31?(qg(this),sg(this)):(rg(this),tg(this));this.A-=-1===this.C?9:12;return this.Ba}function Ti(a,b){this.A-=14+(-1===this.C?0:2);xg(this);-1!==this.xb.load(b)&&this.xb.qc>=this.Ma&&this.xb.qc>=(b&3)&&(Bg(this),a=this.xb.nb&-256,2<this.V&&(a|=(this.xb.ext&-65281)<<16));return a}
|
|
|
|
|
function Ui(a,b){if(-1===this.C)return df.call(this),a;te(this,this.ja(this.C+this.V));this.A-=this.B.Ze;return b}function Vi(){this.A-=this.B.qk;return this.C}function Wi(a,b){if(-1===this.C)return df.call(this),a;ue(this,this.ja(this.C+this.V));this.A-=this.B.Ze;return b}function Xi(a,b){if(-1===this.C)return df.call(this),a;a=this.ja(this.C+this.V);this.Ga.load(a);this.A-=this.B.Ze;return b}
|
|
|
|
|
function Yi(a,b){if(-1===this.C)return df.call(this),a;a=this.ja(this.C+this.V);this.Ia.load(a);this.A-=this.B.Ze;return b}function Zi(a,b){this.A-=14+(-1===this.C?0:2);if(b&65528&&-1!==this.xb.load(b)&&(7168==(this.xb.nb&7168)||this.xb.qc>=this.Ma)&&this.xb.qc>=(b&3))return Bg(this),this.xb.Ka;xg(this);return a}function $i(a,b){if(-1===this.C)return df.call(this),a;me(this,this.ja(this.C+this.V));this.A-=this.B.Ze;return b}
|
|
|
|
|
function aj(a,b){this.A-=-1===this.F?-1===this.C?this.B.xk:this.B.wk:this.B.uk;return b}function kj(a,b){switch(this.ga>>3&7){case 4:this.xa=this.D;break;case 5:this.xa=this.I;break;case 6:this.xa=this.L;break;case 7:this.xa=this.G}return b}function lj(a,b){return b}
|
|
|
|
|
function aj(a,b){this.A-=-1===this.F?-1===this.C?this.B.xk:this.B.wk:this.B.uk;return b}function bj(a,b){switch(this.ga>>3&7){case 4:this.xa=this.D;break;case 5:this.xa=this.I;break;case 6:this.xa=this.L;break;case 7:this.xa=this.G}return b}function lj(a,b){return b}
|
|
|
|
|
function mj(a,b){a=this.ga>>3&7;switch(a){case 0:this.xa=this.D;break;case 2:this.xa=this.L;break;case 3:this.xa=this.G;break;default:if(80286==this.da||80386==this.da&&4!=a&&5!=a)y.call(this,6);else switch(a){case 1:this.xa=this.I;break;case 4:this.xa=z(this);break;case 5:this.xa=this.M;break;case 6:this.xa=this.K;break;case 7:this.xa=this.J}}return aj.call(this,0,b)}
|
|
|
|
|
function nj(a,b){switch(this.ga>>3&7){case 0:b=this.oa.U;break;case 1:b=this.Z.U;break;case 2:b=this.X.U;break;case 3:b=this.Da.U;break;case 4:if(80386<=this.da){b=this.Ga.U;break}y.call(this,6);b=a;break;case 5:if(80386<=this.da){b=this.Ia.U;break}default:y.call(this,6),b=a}-1!==this.F&&qe(this,2);return aj.call(this,0,b)}
|
|
|
|
|
function Si(a,b){if(a&-65536||b&-65536){var c=b&65535;b>>>=16;var d=a&65535;a>>>=16;var e=c*d,d=(e>>>16)+b*d,f=d>>>16,d=(d&65535)+c*a;this.Ba=d<<16|e&65535;this.Za=f+((d>>>16)+b*a)|0}else this.Ba=a*b|0,this.Za=0}function oj(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Jb:this.B.Bc;return pg(this,a|b,128)}function pj(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Jb:this.B.Bc;return pg(this,a|b,this.Fb)&this.R}
|
|
|
|
|
@ -414,10 +414,10 @@ B[145]=function(){ik.call(this,sj)};B[146]=function(){ik.call(this,tj)};B[147]=f
|
|
|
|
|
B[159]=function(){ik.call(this,Gj)};B[160]=function(){se(this,this.Ga.U,this.V,2);this.A-=this.B.se};B[161]=function(){this.sa=this.Aa;var a=le(this);this.Ga.load(a);this.A-=this.B.nc;this.sa=-1};B[163]=function(){this.za.call(this,Ei);-1!==this.C&&(this.A-=6)};B[164]=function(){this.za.call(this,2==this.V?Hj:Jj);this.A-=-1===this.C?3:7};B[165]=function(){this.za.call(this,2==this.V?Lj:Mj);this.A-=-1===this.C?3:7};B[168]=function(){se(this,this.Ia.U,this.V,2);this.A-=this.B.se};
|
|
|
|
|
B[169]=function(){this.sa=this.Aa;var a=le(this);this.Ia.load(a);this.A-=this.B.nc;this.sa=-1};B[171]=function(){this.za.call(this,Hi);-1!==this.C&&(this.A-=5)};B[172]=function(){this.za.call(this,2==this.V?Nj:Pj);this.A-=-1===this.C?3:7};B[173]=function(){this.za.call(this,2==this.V?Rj:Sj);this.A-=-1===this.C?3:7};B[175]=function(){this.la.call(this,2==this.V?Oi:Qi)};B[178]=function(){this.la.call(this,$i)};B[179]=function(){this.za.call(this,Gi);-1!==this.C&&(this.A-=5)};
|
|
|
|
|
B[180]=function(){this.la.call(this,Xi)};B[181]=function(){this.la.call(this,Yi)};
|
|
|
|
|
B[182]=function(){this.kc.call(this,kj);switch(this.ga>>3&7){case 0:this.D=this.D&~this.R|this.D&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.L=this.L&~this.R|this.L&255;break;case 3:this.G=this.G&~this.R|this.G&255;break;case 4:this.Ac=this.Ac&~this.R|this.D>>8&255;this.D=this.xa;break;case 5:this.M=this.M&~this.R|this.I>>8&255;this.I=this.xa;break;case 6:this.K=this.K&~this.R|this.L>>8&255;this.L=this.xa;break;case 7:this.J=this.J&~this.R|this.G>>8&255,this.G=this.xa}this.A-=
|
|
|
|
|
B[182]=function(){this.kc.call(this,bj);switch(this.ga>>3&7){case 0:this.D=this.D&~this.R|this.D&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.L=this.L&~this.R|this.L&255;break;case 3:this.G=this.G&~this.R|this.G&255;break;case 4:this.Ac=this.Ac&~this.R|this.D>>8&255;this.D=this.xa;break;case 5:this.M=this.M&~this.R|this.I>>8&255;this.I=this.xa;break;case 6:this.K=this.K&~this.R|this.L>>8&255;this.L=this.xa;break;case 7:this.J=this.J&~this.R|this.G>>8&255,this.G=this.xa}this.A-=
|
|
|
|
|
-1===this.C?3:6};B[183]=function(){qe(this,2);this.la.call(this,lj);switch(this.ga>>3&7){case 0:this.D=this.D&65535;break;case 1:this.I=this.I&65535;break;case 2:this.L=this.L&65535;break;case 3:this.G=this.G&65535;break;case 4:this.Ac=this.Ac&65535;break;case 5:this.M=this.M&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.C?3:6};B[186]=function(){this.lb.call(this,fl,this.ra)};B[187]=function(){this.za.call(this,Fi);-1!==this.C&&(this.A-=5)};
|
|
|
|
|
B[188]=function(){this.la.call(this,yi)};B[189]=function(){this.la.call(this,zi)};
|
|
|
|
|
B[190]=function(){this.kc.call(this,kj);switch(this.ga>>3&7){case 0:this.D=this.D&~this.R|(this.D&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.L=this.L&~this.R|(this.L&255)<<24>>24&this.R;break;case 3:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 4:this.Ac=this.Ac&~this.R|this.D<<16>>24&this.R;this.D=this.xa;break;case 5:this.M=this.M&~this.R|this.I<<16>>24&this.R;this.I=this.xa;break;case 6:this.K=this.K&~this.R|this.L<<16>>24&
|
|
|
|
|
B[190]=function(){this.kc.call(this,bj);switch(this.ga>>3&7){case 0:this.D=this.D&~this.R|(this.D&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.L=this.L&~this.R|(this.L&255)<<24>>24&this.R;break;case 3:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 4:this.Ac=this.Ac&~this.R|this.D<<16>>24&this.R;this.D=this.xa;break;case 5:this.M=this.M&~this.R|this.I<<16>>24&this.R;this.I=this.xa;break;case 6:this.K=this.K&~this.R|this.L<<16>>24&
|
|
|
|
|
this.R;this.L=this.xa;break;case 7:this.J=this.J&~this.R|this.G<<16>>24&this.R,this.G=this.xa}this.A-=-1===this.C?3:6};B[191]=function(){qe(this,2);this.la.call(this,lj);switch(this.ga>>3&7){case 0:this.D=this.D<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.L=this.L<<16>>16;break;case 3:this.G=this.G<<16>>16;break;case 4:this.Ac=this.Ac<<16>>16;break;case 5:this.M=this.M<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.C?3:6};
|
|
|
|
|
var bg=[function(){this.A-=2+(-1===this.C?0:1);return this.Eb.U},function(){this.A-=2+(-1===this.C?0:1);return this.ka.U},function(a){this.N|=2;this.Eb.load(a);this.A-=17+(-1===this.C?0:2);return a},function(a){this.N|=2;-1!==this.ka.load(a)&&(this.gb(this.ka.Lb+4,this.ka.nb|=512),this.ka.type|=512);this.A-=17+(-1===this.C?0:2);return a},function(a){this.N|=2;this.A-=14+(-1===this.C?0:2);if(-1!==this.xb.load(a)&&2048!=(this.xb.nb&2560)&&(this.xb.qc>=this.Ma&&this.xb.qc>=(a&3)||7168==(this.xb.nb&7168)))return Bg(this),
|
|
|
|
|
a;xg(this);return a},function(a){this.N|=2;this.A-=14+(-1===this.C?0:2);if(-1!==this.xb.load(a)&&512==(this.xb.nb&2560)&&this.xb.qc>=this.Ma&&this.xb.qc>=(a&3))return Bg(this),a;xg(this);return a},Mi,Mi],Je=[af,af,af,af,af,af,Mi,Mi],el=[function(a){if(-1===this.C)y.call(this,6);else{a=this.Pc-this.Ib;var b=this.Ib;80286==this.da?b|=-16777216:80386<=this.da&&2!=this.V&&(a|=b<<16);this.ab(this.C+2,b);this.A-=11}return a},function(a){if(-1===this.C)y.call(this,6);else{a=this.cd-this.Pb;var b=this.Pb;
|
|
|
|
|
@ -576,12 +576,12 @@ a.Fb|0;a.Za=a.Wc;a.Qb=0;void 0!==b&&(a.Za=(a.Za<<1)+b|0,a.Qb=a.Za+b>>1);if(a.va.
|
|
|
|
|
a.Rb=a.Z;a.kc=a.ka;b=a.Z-a.F*a.qa;c=a.ka-a.J*a.sa;0<b&&(a.zc=b>>1,a.Rb-=b);0<c&&(a.Ac=c>>1,a.kc-=c);if(b||c)a.L.fillStyle=a.P.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.ka)}}Gt(a,!0);Js(a)}return!0}function lt(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 Ht(a){a.xa=-1;a.la=!1;var b=a.Wc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function Gt(a,b){b||(a.Ia=!1);Ht(a)}
|
|
|
|
|
function pt(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.va[a.I];h.lf&&(d=h.lf[d]);var k=g>>4&15;h.lf&&(k=h.lf[k]);e?(b*=h.Gc,c*=h.Hc,e.fillStyle=h.Ee[k],e.fillRect(b,c,h.Gc,h.Hc)):(b=b*a.qa+a.zc,c=c*a.sa+a.Ac,a.L.fillStyle=h.Ee[k],a.L.fillRect(b,c,a.qa,a.sa));g&It&&(k=(f&15)*h.Gc,f=(f>>4)*h.Hc,e?e.drawImage(h.Wg[d],k,f,h.Gc,h.Hc,b,c,h.Gc,h.Hc):a.L.drawImage(h.Wg[d],k,f,h.Gc,h.Hc,b,c,a.qa,a.sa));g&ot&&(f=a.pd,g=a.Pc,e?(a.za&&a.za!==h.Hc&&(f=f*h.Hc/a.za|0,g=g*h.Hc/a.za|0),e.fillStyle=h.Ee[d],e.fillRect(b,
|
|
|
|
|
c+f,h.Gc,g)):(a.za&&a.za!==a.sa&&(f=f*a.sa/a.za|0,g=g*a.sa/a.za|0),a.L.fillStyle=h.Ee[d],a.L.fillRect(b,c+f,a.qa,g)))}
|
|
|
|
|
function Js(a,b){if(a.ba.dc){var c=!1,d=a.B;d&&(d!==a.A?d.Xc&8&&(c=!0):d.Ad&32&&(c=!0));if(c||b){if(b)Ht(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Ed&15)&&0<=a.Ba&&(a.Ba++,e=!0);var f=0,g=a.cd,h=a.bb,c=h,k=c+a.Ob;a.oa>=wt&&(h=c=655360,k=c+65536);if(hu(a,d)&8||d.$e&&d.$e<d.ji){var m=(d.Sa[xr]<<8)+d.Sa[yr]|0;d.kd!==m&&(d.kd=m,Gt(a));d.$e=0}m=d.kd;a.I&&(m<<=1);c+=m;m=a.Za;a.La>=iq&&d.Sa[19]&&d.Sa[19]<<1!=d.Sa[1]+1&&(a.Ta=d.Sa[19]<<(a.I?1:d.Sa[20]&64?3:4),m=(a.Ta*(a.J-1)+a.F)/a.Fb|0,a.oa<=Ps&&
|
|
|
|
|
function Js(a,b){if(a.ba.dc){var c=!1,d=a.B;d&&(d!==a.A?d.Xc&8&&(c=!0):d.Ad&32&&(c=!0));if(c||b){if(b)Ht(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Ed&15)&&0<=a.Ba&&(a.Ba++,e=!0);var f=0,g=a.cd,h=a.bb,c=h,k=c+a.Ob;a.oa>=wt&&(h=c=655360,k=c+65536);if(Jt(a,d)&8||d.$e&&d.$e<d.ji){var m=(d.Sa[xr]<<8)+d.Sa[yr]|0;d.kd!==m&&(d.kd=m,Gt(a));d.$e=0}m=d.kd;a.I&&(m<<=1);c+=m;m=a.Za;a.La>=iq&&d.Sa[19]&&d.Sa[19]<<1!=d.Sa[1]+1&&(a.Ta=d.Sa[19]<<(a.I?1:d.Sa[20]&64?3:4),m=(a.Ta*(a.J-1)+a.F)/a.Fb|0,a.oa<=Ps&&
|
|
|
|
|
(m<<=1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.la){b=a.ma;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].vj=!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=It<<8;b=1048575;p=a.B.Xc&32;a.La>=iq&&(p=a.B.Dc[16]&8);m=a.aa-a.B.kd;p&&(e=Ts<<8,b&=~e,a.Ba&2||(b&=~h));for(c+=d<<1;c<k&&d<g;)p=Pc(a.ma,c),p|=h,p&e&&(a.xa++,p&=b),d==m&&(p|=a.Ba&1?ot<<8:0),a.la&&p===a.M[d]||(pt(a,d%a.F,d/a.F|0,p,a.Ea),
|
|
|
|
|
a.M[d]=p,f++),c+=2,d++;a.la=!0;f&&a.Ea&&a.L.drawImage(a.Da,0,0,a.fb,a.kb,a.zc,a.Ac,a.Rb,a.kc);mt(a)}}else if(a.Qb){var g=k,u,k=c,d=a.xa=0,f=a.Fb,e=16==f?65536:196608,h=16==f?1:2;b=at(a,h);for(var p=m=0,v=a.F,F=0,H=a.J,I=0;k<g;){u=Pc(a.ma,k);if(a.la&&u===a.M[d])m+=f;else{a.M[d]=u;u=u>>8|(u&255)<<8;var L=e,P=16;m<v&&(v=m);for(var K=0;K<f;K++){var Ba=(u&(L>>=h))>>(P-=h);lt(a.Ma,m++,p,b[Ba])}m>F&&(F=m);p<H&&(H=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.Qb)}}a.la=!0;
|
|
|
|
|
v<a.F&&(a.Ea.putImageData(a.Ma,0,0,v,H,F-v,I-H),a.L.drawImage(a.Da,0,0,a.F,a.J,0,0,a.Z,a.ka))}else if(a.Tc){g=h;f=a.xa=0;e=at(a,8);h=a.B.fd;m=b=0;p=a.F;v=0;F=a.J;H=0;I=a.B.ae[4]&8?4:1;u=a.B.Dc[19]&15;for(L=a.Ta>a.F?a.Ta-a.F-u>>3:0;c<k;){d=h[c-g];K=4;u||(a.la&&d===a.M[f]?(b+=K,K=0):a.M[f]=d,f++);if(K){b<p&&(p=b);for(P=0;P<K;P++)lt(a.Ma,b++,m,e[d&255]),d>>=8;b>v&&(v=b);m<F&&(F=m);m>=H&&(H=m+1)}c+=I;if(b>=a.F){b=0;if(++m>a.J)break;c+=L}}u||(a.la=!0);p<a.F&&(a.Ea.putImageData(a.Ma,0,0,p,F,v-p,H-F),a.L.drawImage(a.Da,
|
|
|
|
|
0,0,a.F,a.J,0,0,a.Z,a.ka))}else{g=h;d=a.xa=0;f=at(a);e=a.B.fd;b=h=0;m=a.F;p=0;v=a.J;F=0;H=a.B.Dc[19]&15;for(I=a.Ta>a.F?a.Ta-a.F-H>>3:0;c<k;){u=c++-g;u=e[u];P=8;H?h?(L=a.F-h,P>L&&(P=L)):(u<<=H,P-=H,a.la=!1):(a.la&&u===a.M[d]?(h+=P,P=0):a.M[d]=u,d++);if(P){h<m&&(m=h);for(L=0;L<P;L++)K=ju[u&2155905152]||0,lt(a.Ma,h++,b,f[K]),u<<=1;h>p&&(p=h);b<v&&(v=b);b>=F&&(F=b+1)}if(h>=a.F){h=0;if(++b>a.J)break;c+=I}}H||(a.la=!0);m<a.F&&(a.Ea.putImageData(a.Ma,0,0,m,v,p-m,F-v),a.L.drawImage(a.Da,0,0,a.F,a.J,0,0,a.Z,
|
|
|
|
|
a.ka))}}}}function hu(a,b){var c=0;a=Kd(a.H)-b.Ah;0>a&&(b.Ah=a,a=-a|0);a%b.vh>b.rn&&(c|=1);a%b.yh>b.tn&&(c|=9);b.ji=a/b.yh|0;return c}l.Gm=function(a,b){return ku(this,this.X,a,b)};l.lo=function(a,b,c){var d=this.X;d.Jg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.Fm=function(a,b){return lu(this,this.X,a,b)};l.ko=function(a,b,c){mu(this,this.X,a,b,c)};l.Hm=function(a,b){return nu(this,this.X,b)};l.mo=function(a,b,c){a=this.X;w(this,a.port+4,b,c,"MODE");a.Xc=b;Zs(this,!1)};
|
|
|
|
|
0,0,a.F,a.J,0,0,a.Z,a.ka))}else{g=h;d=a.xa=0;f=at(a);e=a.B.fd;b=h=0;m=a.F;p=0;v=a.J;F=0;H=a.B.Dc[19]&15;for(I=a.Ta>a.F?a.Ta-a.F-H>>3:0;c<k;){u=c++-g;u=e[u];P=8;H?h?(L=a.F-h,P>L&&(P=L)):(u<<=H,P-=H,a.la=!1):(a.la&&u===a.M[d]?(h+=P,P=0):a.M[d]=u,d++);if(P){h<m&&(m=h);for(L=0;L<P;L++)K=iu[u&2155905152]||0,lt(a.Ma,h++,b,f[K]),u<<=1;h>p&&(p=h);b<v&&(v=b);b>=F&&(F=b+1)}if(h>=a.F){h=0;if(++b>a.J)break;c+=I}}H||(a.la=!0);m<a.F&&(a.Ea.putImageData(a.Ma,0,0,m,v,p-m,F-v),a.L.drawImage(a.Da,0,0,a.F,a.J,0,0,a.Z,
|
|
|
|
|
a.ka))}}}}function Jt(a,b){var c=0;a=Kd(a.H)-b.Ah;0>a&&(b.Ah=a,a=-a|0);a%b.vh>b.rn&&(c|=1);a%b.yh>b.tn&&(c|=9);b.ji=a/b.yh|0;return c}l.Gm=function(a,b){return ku(this,this.X,a,b)};l.lo=function(a,b,c){var d=this.X;d.Jg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.Fm=function(a,b){return lu(this,this.X,a,b)};l.ko=function(a,b,c){mu(this,this.X,a,b,c)};l.Hm=function(a,b){return nu(this,this.X,b)};l.mo=function(a,b,c){a=this.X;w(this,a.port+4,b,c,"MODE");a.Xc=b;Zs(this,!1)};
|
|
|
|
|
l.Im=function(a,b){return ou(this,this.X,b)};l.Rk=function(a,b,c){this.A.Qf=this.A.Qf&-4|b&3;w(this,a,b,c,"FEAT")};l.em=function(a,b){a=this.A.Ad;b&&!t(this)||w(this,960,null,b,"ATC.INDX",a);return a};l.vl=function(a,b){a=this.A.Dc[this.A.Ad&31];b&&!t(this)||w(this,960,null,b,"ATC."+this.A.Xg[this.A.Ad&31],a);return a};
|
|
|
|
|
l.Qk=function(a,b,c){var d=this.A,e=d.Ad&32;if(d.Me){d.Me=!1;var f=d.Ad&31;if(16<=f||!e)if(pu||d.Dc[f]!==b)c&&!t(this)||w(this,a,b,c,"ATC."+d.Xg[f]),d.Dc[f]=b,Gt(this,!1)}else d.Ad=b,w(this,a,b,c,"ATC.INDX"),d.Me=!0,b&32&&!e&&Rs(this,!0)&&Js(this,!0),a=(d.Sa[xr]<<8)+d.Sa[yr]|0,d.kd!=a&&(d.kd=a,Gt(this)),d.$e=0};
|
|
|
|
|
l.Sm=function(a,b){a=0;if(this.La==iq)a=3-((this.A.cf&12)>>2),a=(this.yb&1<<a)<<4-a;else{var c=this.A.bf[0];45!=(c&63)&&2880!=(c&4032)&&184320!=(c&258048)&&(a|=16)}a|=this.A.Mg&-17;this.A.Mg=a;w(this,962,null,b,"STATUS0",a);return a};l.no=function(a,b,c){this.A.cf=b;Qs(this);w(this,962,b,c,"MISC")};l.Tm=function(a,b){a=this.A.oi;w(this,963,null,b,"VGA_ENABLE",a);return a};l.vo=function(a,b,c){this.A.oi=b;w(this,963,b,c,"VGA_ENABLE")};
|
|
|
|
|
@ -592,11 +592,11 @@ l.Um=function(a,b){a=this.A.Qf;w(this,970,null,b,"FEAT",a);return a};l.fo=functi
|
|
|
|
|
l.bo=function(a,b,c){if(pu||this.A.Bd[this.A.Cd]!==b)c&&!t(this)||w(this,975,b,c,"GRC."+this.A.Yg[this.A.Cd]),this.A.Bd[this.A.Cd]=b;switch(this.A.Cd){case 0:this.A.If=qs[b&15];this.A.Zd=this.A.If&~this.A.Md;break;case 1:this.A.Md=~qs[b&15];this.A.Zd=this.A.If&~this.A.Md;break;case 2:this.A.th=qs[b&15]&-2139062144;break;case 3:case 5:rt(this,qt(this));break;case 4:this.A.ii=(b&3)<<3;break;case 6:Zs(this,!1);break;case 7:this.A.uh=qs[b&15]&-2139062144;break;case 8:this.A.Bb=b|b<<8|b<<16|b<<24}};
|
|
|
|
|
l.km=function(a,b){return ku(this,this.K,a,b)};l.Nn=function(a,b,c){var d=this.K;d.Jg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.jm=function(a,b){return lu(this,this.K,a,b)};l.Mn=function(a,b,c){mu(this,this.K,a,b,c)};l.lm=function(a,b){return nu(this,this.K,b)};l.On=function(a,b,c){a=this.K;w(this,a.port+4,b,c,"MODE");a.Xc=b;Zs(this,!1)};l.im=function(a,b){var c=this.K.af;b&&!t(this)||w(this,a,null,b,this.K.type+".COLOR",c);return c};
|
|
|
|
|
l.Ln=function(a,b,c){c&&!t(this)||w(this,a,b,c,this.K.type+".COLOR");this.K.af!==b&&(this.K.af=b,Gt(this,!1))};l.mm=function(a,b){return ou(this,this.K,b)};function ku(a,b,c,d){var e;b.rc&&(e=b.ec);w(a,c,null,d,"CRTC.INDX",e);return e}function lu(a,b,c,d){var e;b.rc&&b.ec<b.sh&&(e=b.Sa[b.ec]);d&&!t(a)||w(a,c,null,d,"CRTC."+b.ig[b.ec],e);return e}
|
|
|
|
|
function mu(a,b,c,d,e){if(b.ec<b.sh){if(pu||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==xr||b.ec==yr)hu(a,b)&1?(c=(b.Sa[xr]<<8)+b.Sa[yr]|0,b.kd!==c&&(b.kd=c,Gt(a))):b.$e||(b.$e=b.ji);(9==b.ec&&8!=b.Jg||b.ec==fs&&223==d)&&Zs(a,!0);$s(a)}}function nu(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function ou(a,b,c){var d=hu(a,b);b===a.A?(d|=b.fa&48^48,b.Me=!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 mu(a,b,c,d,e){if(b.ec<b.sh){if(pu||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==xr||b.ec==yr)Jt(a,b)&1?(c=(b.Sa[xr]<<8)+b.Sa[yr]|0,b.kd!==c&&(b.kd=c,Gt(a))):b.$e||(b.$e=b.ji);(9==b.ec&&8!=b.Jg||b.ec==fs&&223==d)&&Zs(a,!0);$s(a)}}function nu(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function ou(a,b,c){var d=Jt(a,b);b===a.A?(d|=b.fa&48^48,b.Me=!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 pu=!0,Ft=1,vt=2,Ns=3,Et=5,Dt=6,Ps=7,zt=13,At=14,tt=15,ut=16,Bt=17,Ct=18,wt=19,xt=20,yt=21,st=255,ht=1,gt=3,ys=ht,vs=gt,iq=5,kq=7,rs={mda:[ys,Ps],cga:[vs,Ns],ega:[iq,Ns],vga:[kq,Ns]},Rr={2:{Bg:15700,Ag:208,Hg:85,Ig:96}};Rr[$l]={Bg:18432,Ag:364,Hg:85,Ig:96};Rr[4]={Bg:21850,Ag:364,Hg:85,Ig:96};Rr[7]={Bg:16700,Ag:480,Hg:85,Ig:83};var Os={6:[1,$l,!0],7:[2,$l,!0],8:[6,$l,!0],9:[4,$l,!0],10:[$l,1,!0],11:[$l,2,!0],0:[1,$l,!1],1:[2,$l,!1],2:[6,$l,!1],3:[4,$l,!1],4:[$l,1,!1],5:[$l,2,!1]},ss=[];
|
|
|
|
|
ss[Ft]=[40,25,1,0,gt];ss[Ns]=[80,25,1,0,gt];ss[4]=[320,200,8,192];ss[Dt]=[640,200,16,192];ss[Ps]=[80,25,1,0,ht];ss[zt]=[320,200,8];ss[At]=[640,200,8];ss[tt]=[640,350,8];ss[ut]=[640,350,8];ss[Bt]=[640,480,8];ss[Ct]=[640,480,8];ss[wt]=[320,200,1];ss[xt]=[320,240,4];ss[yt]=[320,400,4];ss[0]=ss[Ft];ss[vt]=ss[Ns];ss[Et]=ss[4];
|
|
|
|
|
var Ws=0,Us=7,Ys=8,Vs=0,Xs=112,Ts=128,It=256,ot=512,it=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],jt=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],bt=[[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]],dt=[2,4,6],ct=[3,5,Us],et=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
|
|
|
|
qs=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],ju=[0];ju[128]=1;ju[32768]=2;ju[32896]=3;ju[8388608]=4;ju[8388736]=5;ju[8421376]=6;ju[8421504]=7;ju[-2147483648]=8;ju[-2147483520]=9;ju[-2147450880]=10;ju[-2147450752]=11;ju[-2139095040]=12;ju[-2139094912]=13;ju[-2139062272]=14;ju[-2139062144]=15;var tr=[];tr[ys]=["MDA",948,720896,4096,0,$l];tr[vs]=["CGA",980,753664,16384,0,2];tr[iq]=["EGA",980,753664,16384,65536,4];
|
|
|
|
|
qs=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],iu=[0];iu[128]=1;iu[32768]=2;iu[32896]=3;iu[8388608]=4;iu[8388736]=5;iu[8421376]=6;iu[8421504]=7;iu[-2147483648]=8;iu[-2147483520]=9;iu[-2147450880]=10;iu[-2147450752]=11;iu[-2139095040]=12;iu[-2139094912]=13;iu[-2139062272]=14;iu[-2139062144]=15;var tr=[];tr[ys]=["MDA",948,720896,4096,0,$l];tr[vs]=["CGA",980,753664,16384,0,2];tr[iq]=["EGA",980,753664,16384,65536,4];
|
|
|
|
|
tr[kq]=["VGA",980,753664,16384,262144,7];
|
|
|
|
|
var ts=0,Hs=1,Gs=2,Ms=[[1036,1038,1033],[1037,1032,1039],[1035,1040,1034]],ws={948:R.prototype.Gm,949:R.prototype.Fm,952:R.prototype.Hm,954:R.prototype.Im},xs={948:R.prototype.lo,949:R.prototype.ko,952:R.prototype.mo},zs={980:R.prototype.km,981:R.prototype.jm,984:R.prototype.lm,985:R.prototype.im,986:R.prototype.mm},As={980:R.prototype.Nn,981:R.prototype.Mn,984:R.prototype.On,985:R.prototype.Ln},Bs={960:R.prototype.em,961:R.prototype.vl,962:R.prototype.Sm,964:R.prototype.Qm,965:R.prototype.Pm,974:R.prototype.zm,
|
|
|
|
|
975:R.prototype.ym},Cs={954:R.prototype.Rk,960:R.prototype.Qk,961:R.prototype.Qk,962:R.prototype.no,964:R.prototype.to,965:R.prototype.so,970:R.prototype.fo,972:R.prototype.eo,974:R.prototype.co,975:R.prototype.bo,986:R.prototype.Rk},Ds={963:R.prototype.Tm,966:R.prototype.rm,967:R.prototype.sm,969:R.prototype.qm,970:R.prototype.Um,972:R.prototype.Vm},Es={963:R.prototype.vo,966:R.prototype.Tn,967:R.prototype.Un,968:R.prototype.Vn,969:R.prototype.Sn};
|
|
|
|
|
@ -670,235 +670,234 @@ function Yv(a,b){var c=0,d,e=!0;b||(b=[0,0,ew,Array(9),0,0,0,[]]);a.Wa=b[c++];c+
|
|
|
|
|
p[v++];g.eb=null;g.ta||(g.ue="");var F=p[v++];102==F&&(F=!1);"boolean"==typeof F?(u=p[v++],p=p[v],F?(v=k.A[m],cw(k,m,!0,!0),v.Pe=!0,m=new ev(k,v,"preload"),k.qj(v,m,u,p,!0)):hw(k,m,u,p,!0)?g.ta&&p&&iw(k,u,p,g.ta):Ob(k,!1)):void 0!==F&&g.ta&&0>g.ta.restore(F)&&(h=!1);h&&g.ta&&void 0!==g.Ua&&(g.eb=g.ta.seek(g.Gb,g.$a,g.hb));h||(e=!1)}a.G=b[c++]||0;a.Yb=b[c]||jw;return e}
|
|
|
|
|
function dw(a){var b=0,c=[];c[b++]=a.Wa;c[b++]=0;c[b++]=a.fa;c[b++]=a.F;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,p=[];p[m++]=k.sb;p[m++]=[k.name,k.rb,k.cb,k.Va,k.Na,k.Qe,k.yg,k.Bf,k.Cf];p[m++]=k.$a;p[m++]=k.Td+100;p[m++]=k.Gb;p[m++]=k.hb;p[m++]=k.Ud;p[m++]=k.wb;p[m++]=k.Ua;p[m++]=k.Pe;p[m++]=k.dl;p[m]=k.ue;f[h]=p}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.ta&&kw(a,f.ue,f.ta);c[d]=a.B;c[b++]=a.G;c[b]=a.Yb;return c}
|
|
|
|
|
l.lj=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};l.el=function(a,b,c){if(a.ta){var d=a.ta.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Gb=Math.floor(b/f),b%=f,a.$a=Math.floor(b/e),a.hb=b%e+1,a.wb=c*d[3],a.sb=lw,!0}return!1};
|
|
|
|
|
function bw(a,b){b||(a.K=0);for(var c in a.L){var d=a.L[c],e;if(!(e=d.path))a:{if(e=d.name){var f=a.na.listDisks;if(f&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.text==e){e=h.value;break a}}}e=""}if(e)if(f=c.charCodeAt(0)-65,0<=f&&f<a.A.length){if(!(d=d.name))a:{if((d=a.na.listDisks)&&d.options)for(g=0;g<d.options.length;g++)if(h=d.options[g],h.value==e){d=h.text;break a}d=ta(e,!0)}!hw(a,f,d||"Unknown",e,!0)&&b&&Ob(a,!1)}else a.Ca("Incorrect auto-mount settings for drive "+
|
|
|
|
|
c+" ("+JSON.stringify(d)+")")}return!!a.K}
|
|
|
|
|
function bw(a,b){b||(a.K=0);for(var c in a.L){var d=a.L[c],e;if(!(e=d.path))a:{if(e=d.name){var f=a.na.listDisks;if(f&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.text==e){e=h.value;break a}}}e=""}e&&(f=c.charCodeAt(0)-65,0<=f&&f<a.A.length?!hw(a,f,d.name||mw(a,e)||ta(e,!0),e,!0)&&b&&Ob(a,!1):a.Ca("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")"))}return!!a.K}
|
|
|
|
|
function Xv(a,b,c,d){var e,f=a.na.listDrives;if(f&&!isNaN(e=oa(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Ca('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=ta(c)}for(;0>hw(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk and discard any changes.");){var f=a,g=c,h;for(h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}cw(a,e,!1,!0)}}else cw(a,e);else a.Ca("Unable to load the selected drive")}
|
|
|
|
|
function hw(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.ue.toLowerCase()!=d.toLowerCase())){cw(a,b,e,!0);if(g.Ne)return a.Ca("Drive "+b+" busy"),0;g.Ne=!0;e&&(g.le=!0,a.K++,t(a)&&Rb(a,"loading diskette '"+c+"'"));g.Pe=!!f;return(new ev(a,g,"preload")).load(c,d,f,a.qj)?1:0}return-1}
|
|
|
|
|
l.qj=function(a,b,c,d,e){var f;a.Ne=!1;b&&(f=b.info(),b&&f[0]>a.rb||f[1]>a.cb)&&(this.Ca('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Wa)),b=null);b?(a.ta=b,a.dl=c,a.ue=d,iw(this,c,d,b),f=b.info(),this.G|=mw,this.Ca('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Wa),a.le||e),a.yg=f[0],a.Bf=f[1],a.Cf=f[2],this.pa&&this.pa.od()):a.Pe=!1;a.le&&(a.le=!1,--this.K||Ob(this));Wv(this,a.Wa)};
|
|
|
|
|
function aw(a,b,c,d){if((a=a.na.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
|
|
|
|
function Wv(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.na.listDisks;a=a.na.listDrives;if(d&&a&&d.options&&a.options&&(a=oa(a.value,10),c=c.Pe?"?":c.ue,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function cw(a,b,c,d){var e=a.A[b];e.ta&&(kw(a,e.ue,e.ta),e.dl="",e.ue="",e.ta=null,e.Pe=!1,a.G|=mw,d||a.Ca("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Wv(a,b))}
|
|
|
|
|
function iw(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function kw(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}l.Zn=function(a,b,c){w(this,a,b,c,"OUTPUT");b&nw?this.I&nw||this.I&ow&&this.W&&oh(this.W,6):Yv(this);this.I=b};l.vm=function(a,b){w(this,a,null,b,"DIAG",80);return 80};l.xm=function(a,b){w(this,a,null,b,"STATUS",this.fa);return this.fa};
|
|
|
|
|
l.um=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.I&ow&&this.W&&mh(this.W,6);t(this)&&w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.fa&=~(pw|qw),this.D=this.C=0);return c};
|
|
|
|
|
l.Yn=function(a,b,c){t(this)&&w(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]&rw;if(void 0!==sw[a]&&this.C>=sw[a].Jd){b=!1;this.D=0;a=tw(this);var d,e,f,g,h=a&rw;switch(h){case uw:tw(this);tw(this);vw(this);break;case ww:c=tw(this);this.Wa=c&3;d=this.A[this.Wa];vw(this);xw(this,(d.sb&yw)>>>24);break;case zw:case Aw:c=tw(this);b=c>>2&1;this.Wa=c&3;d=this.A[this.Wa];d.$a=b;c=d.Gb=tw(this);e=tw(this);f=d.hb=tw(this);g=tw(this);d.wb=128<<g;d.Ud=tw(this);tw(this);
|
|
|
|
|
tw(this);h==Aw?(h=d,h.sb=Bw|Cw,h.ta&&(h.eb=null,h.sb=lw,this.W&&(Qn(this.W,2,this,"dmaRead",h),Hn(this.W,2)))):(h=d,h.sb=Bw|Cw,h.ta&&(h.ta.Te?h.sb=Dw|Cw:(h.eb=null,h.sb=lw,this.W&&(Qn(this.W,2,this,"dmaWrite",h),Hn(this.W,2)))));Ew(this,d,a,b,c,e,f,g);b=!0;break;case Fw:c=tw(this);this.Wa=c&3;d=this.A[this.Wa];d.Gb=d.Td=0;d.sb=Gw|Hw;vw(this);b=!0;break;case Iw:d=this.A[this.Wa];d.$a=0;vw(this);xw(this,d.Wa|d.$a<<2|d.sb&Jw);xw(this,d.Gb);this.Wa=this.Wa+1&3;break;case Kw:c=tw(this);b=c>>2&1;this.Wa=
|
|
|
|
|
c&3;d=this.A[this.Wa];c=d.Gb;e=d.$a=b;f=d.hb=1;g=0;d.sb=lw;d.ta&&(d.eb=d.ta.seek(d.Gb,d.$a,d.hb))?g=d.eb.length>>8:d.sb=Bw|Cw;Ew(this,d,a,b,c,e,f,g);b=!0;break;case Lw:c=tw(this);b=c>>2&1;this.Wa=c&3;d=this.A[this.Wa];c=d.Gb;e=d.$a=b;f=1;g=tw(this);d.wb=128<<g;d.Ud=tw(this);tw(this);d.$i=tw(this);h=d;h.sb=Bw|Cw;h.ta&&(h.eb=null,h.sb=lw,this.W&&(h.Je=0,h.$c=Array(4),h.bh=!0,h.lg=0,Qn(this.W,2,this,"dmaFormat",h),Hn(this.W,2),h.bh=!1));Ew(this,d,a,b,c,e,f,g);b=!0;break;case Mw:c=tw(this),this.Wa=c&
|
|
|
|
|
3,d=this.A[this.Wa],d.$a=c>>2&1,c=tw(this),d.Gb+=c-d.Td,0>d.Gb&&(d.Gb=0),d.Gb>=d.rb&&(d.Gb=d.rb-1),d.Td=c,d.sb=Gw,d.Gb||(d.sb|=Hw),vw(this),b=!0}0<this.C&&(this.fa=this.fa|pw|qw);this.I&ow&&(!d||d.sb&Bw||!b||this.W&&oh(this.W,6))}};l.wm=function(a,b){var c=this.G;this.G&=~mw;w(this,a,null,b,"INPUT",c);return c};l.Xn=function(a,b,c){w(this,a,b,c,"CONTROL");this.Yb=b};
|
|
|
|
|
function Ew(a,b,c,d,e,f,g,h){vw(a);xw(a,b.Wa|b.$a<<2|b.sb&Jw);xw(a,(b.sb&Nw)>>>8);xw(a,(b.sb&Ow)>>>16);var k=0;if(e!=b.Gb||f!=b.$a)k=g=1;c&Pw&&(f^=k,d||(k=0));xw(a,e+k);xw(a,f);xw(a,g);xw(a,h)}function tw(a){var b=a.F[a.D];a.D++;return b}function vw(a){a.D=a.C=0}function xw(a,b){a.F[a.C++]=b}l.nl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.ol=function(a,b){return void 0!==b&&0<=b?Qw(a,b):-1};
|
|
|
|
|
l.Gl=function(a,b){if(void 0!==b&&0<=b)a:if(a.sb)a=-1;else{a.$c[a.Je++]=b;if(a.Je==a.$c.length){a.Gb=a.$c[0];a.$a=a.$c[1];a.hb=a.$c[2];a.wb=128<<a.$c[3];for(var c=a.Je=0;c<a.wb;c++)if(0>Qw(a,a.$i)){a=-1;break a}a.lg++}a.lg>=a.Ud&&(b=-1);a=b}else a=-1;return a};l.te=function(a,b){var c=-1,d=null,e=0;if(!a.sb&&a.ta){do{if(a.eb&&(e=a.Ua,0<=(c=a.ta.read(a.eb,a.Ua++)))){d=a.eb;break}a.eb=a.ta.seek(a.Gb,a.$a,a.hb);if(!a.eb){a.sb=Rw|Cw;break}a.Ua=0;Sw(a)}while(1)}b(c,!1,d,e)};
|
|
|
|
|
function Qw(a,b){if(a.sb||!a.ta)return-1;do{if(a.eb&&a.ta.write(a.eb,a.Ua++,b))break;a.eb=a.ta.seek(a.Gb,a.$a,a.hb);if(!a.eb){a.sb=Tw|Cw;b=-1;break}a.Ua=0;Sw(a)}while(1);return b}function Sw(a){a.hb++;a.hb>=a.Cf+1&&(a.hb=1,a.$a++,a.$a>=a.Bf&&(a.$a=0,a.Gb++))}var gw="Floppy Drive",nw=4,ow=8,qw=16,pw=64,ew=128,uw=3,ww=4,zw=5,Aw=6,Fw=7,Iw=8,Kw=10,Lw=13,Mw=15,rw=31,Pw=128,lw=0,Bw=8,Gw=32,Cw=64,fw=192,Jw=255,Dw=512,Rw=1024,Tw=8192,Nw=65280,Ow=16711680,Hw=268435456,yw=-16777216,mw=128,jw=0;aa={};
|
|
|
|
|
var sw={3:{Jd:3,Vd:0,name:aa.cq},4:{Jd:2,Vd:1,name:aa.aq},5:{Jd:9,Vd:7,name:aa.iq},6:{Jd:9,Vd:7,name:aa.Xp},7:{Jd:2,Vd:0,name:aa.Zp},8:{Jd:1,Vd:2,name:aa.bq},10:{Jd:2,Vd:7,name:aa.Yp},13:{Jd:6,Vd:7,name:aa.Tp},15:{Jd:3,Vd:0,name:aa.$p}},Zv={1009:Uv.prototype.vm,1012:Uv.prototype.xm,1013:Uv.prototype.um,1015:Uv.prototype.wm},$v={1010:Uv.prototype.Zn,1013:Uv.prototype.Yn,1015:Uv.prototype.Xn};
|
|
|
|
|
eb(function(){for(var a=Bb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=Cb(c),d=new Uv(d);Ab(d,c)}});function Uw(a){rb.call(this,"HDC",a,1048576);this.dmaRead=Uw.prototype.pl;this.dmaWrite=Uw.prototype.ql;this.dmaWriteBuffer=Uw.prototype.Hl;this.dmaWriteFormat=Uw.prototype.Il;this.Z=[];this.ka=a.drives;this.M="at"==a.type}ca(Uw,rb);l=Uw.prototype;
|
|
|
|
|
l.qj=function(a,b,c,d,e){var f;a.Ne=!1;b&&(f=b.info(),b&&f[0]>a.rb||f[1]>a.cb)&&(this.Ca('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Wa)),b=null);b?(a.ta=b,a.dl=c,a.ue=d,mw(this,d)||aw(this,c,d),iw(this,c,d,b),f=b.info(),this.G|=nw,this.Ca('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Wa),a.le||e),a.yg=f[0],a.Bf=f[1],a.Cf=f[2],this.pa&&this.pa.od()):a.Pe=!1;a.le&&(a.le=!1,--this.K||Ob(this));Wv(this,a.Wa)};
|
|
|
|
|
function aw(a,b,c,d){if((a=a.na.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}function mw(a,b){if((a=a.na.listDisks)&&a.options)for(var c=0;c<a.options.length;c++){var d=a.options[c];if(d.value==b)return d.text}return null}
|
|
|
|
|
function Wv(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.na.listDisks;a=a.na.listDrives;if(d&&a&&d.options&&a.options&&(a=oa(a.value,10),c=c.Pe?"?":c.ue,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function cw(a,b,c,d){var e=a.A[b];e.ta&&(kw(a,e.ue,e.ta),e.dl="",e.ue="",e.ta=null,e.Pe=!1,a.G|=nw,d||a.Ca("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Wv(a,b))}
|
|
|
|
|
function iw(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function kw(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}l.Zn=function(a,b,c){w(this,a,b,c,"OUTPUT");b&ow?this.I&ow||this.I&pw&&this.W&&oh(this.W,6):Yv(this);this.I=b};l.vm=function(a,b){w(this,a,null,b,"DIAG",80);return 80};l.xm=function(a,b){w(this,a,null,b,"STATUS",this.fa);return this.fa};
|
|
|
|
|
l.um=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.I&pw&&this.W&&mh(this.W,6);t(this)&&w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.fa&=~(qw|rw),this.D=this.C=0);return c};
|
|
|
|
|
l.Yn=function(a,b,c){t(this)&&w(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]&sw;if(void 0!==tw[a]&&this.C>=tw[a].Jd){b=!1;this.D=0;a=uw(this);var d,e,f,g,h=a&sw;switch(h){case vw:uw(this);uw(this);ww(this);break;case xw:c=uw(this);this.Wa=c&3;d=this.A[this.Wa];ww(this);yw(this,(d.sb&zw)>>>24);break;case Aw:case Bw:c=uw(this);b=c>>2&1;this.Wa=c&3;d=this.A[this.Wa];d.$a=b;c=d.Gb=uw(this);e=uw(this);f=d.hb=uw(this);g=uw(this);d.wb=128<<g;d.Ud=uw(this);uw(this);
|
|
|
|
|
uw(this);h==Bw?(h=d,h.sb=Cw|Dw,h.ta&&(h.eb=null,h.sb=lw,this.W&&(Qn(this.W,2,this,"dmaRead",h),Hn(this.W,2)))):(h=d,h.sb=Cw|Dw,h.ta&&(h.ta.Te?h.sb=Ew|Dw:(h.eb=null,h.sb=lw,this.W&&(Qn(this.W,2,this,"dmaWrite",h),Hn(this.W,2)))));Fw(this,d,a,b,c,e,f,g);b=!0;break;case Gw:c=uw(this);this.Wa=c&3;d=this.A[this.Wa];d.Gb=d.Td=0;d.sb=Hw|Iw;ww(this);b=!0;break;case Jw:d=this.A[this.Wa];d.$a=0;ww(this);yw(this,d.Wa|d.$a<<2|d.sb&Kw);yw(this,d.Gb);this.Wa=this.Wa+1&3;break;case Lw:c=uw(this);b=c>>2&1;this.Wa=
|
|
|
|
|
c&3;d=this.A[this.Wa];c=d.Gb;e=d.$a=b;f=d.hb=1;g=0;d.sb=lw;d.ta&&(d.eb=d.ta.seek(d.Gb,d.$a,d.hb))?g=d.eb.length>>8:d.sb=Cw|Dw;Fw(this,d,a,b,c,e,f,g);b=!0;break;case Mw:c=uw(this);b=c>>2&1;this.Wa=c&3;d=this.A[this.Wa];c=d.Gb;e=d.$a=b;f=1;g=uw(this);d.wb=128<<g;d.Ud=uw(this);uw(this);d.$i=uw(this);h=d;h.sb=Cw|Dw;h.ta&&(h.eb=null,h.sb=lw,this.W&&(h.Je=0,h.$c=Array(4),h.bh=!0,h.lg=0,Qn(this.W,2,this,"dmaFormat",h),Hn(this.W,2),h.bh=!1));Fw(this,d,a,b,c,e,f,g);b=!0;break;case Nw:c=uw(this),this.Wa=c&
|
|
|
|
|
3,d=this.A[this.Wa],d.$a=c>>2&1,c=uw(this),d.Gb+=c-d.Td,0>d.Gb&&(d.Gb=0),d.Gb>=d.rb&&(d.Gb=d.rb-1),d.Td=c,d.sb=Hw,d.Gb||(d.sb|=Iw),ww(this),b=!0}0<this.C&&(this.fa=this.fa|qw|rw);this.I&pw&&(!d||d.sb&Cw||!b||this.W&&oh(this.W,6))}};l.wm=function(a,b){var c=this.G;this.G&=~nw;w(this,a,null,b,"INPUT",c);return c};l.Xn=function(a,b,c){w(this,a,b,c,"CONTROL");this.Yb=b};
|
|
|
|
|
function Fw(a,b,c,d,e,f,g,h){ww(a);yw(a,b.Wa|b.$a<<2|b.sb&Kw);yw(a,(b.sb&Ow)>>>8);yw(a,(b.sb&Pw)>>>16);var k=0;if(e!=b.Gb||f!=b.$a)k=g=1;c&Qw&&(f^=k,d||(k=0));yw(a,e+k);yw(a,f);yw(a,g);yw(a,h)}function uw(a){var b=a.F[a.D];a.D++;return b}function ww(a){a.D=a.C=0}function yw(a,b){a.F[a.C++]=b}l.nl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.ol=function(a,b){return void 0!==b&&0<=b?Rw(a,b):-1};
|
|
|
|
|
l.Gl=function(a,b){if(void 0!==b&&0<=b)a:if(a.sb)a=-1;else{a.$c[a.Je++]=b;if(a.Je==a.$c.length){a.Gb=a.$c[0];a.$a=a.$c[1];a.hb=a.$c[2];a.wb=128<<a.$c[3];for(var c=a.Je=0;c<a.wb;c++)if(0>Rw(a,a.$i)){a=-1;break a}a.lg++}a.lg>=a.Ud&&(b=-1);a=b}else a=-1;return a};l.te=function(a,b){var c=-1,d=null,e=0;if(!a.sb&&a.ta){do{if(a.eb&&(e=a.Ua,0<=(c=a.ta.read(a.eb,a.Ua++)))){d=a.eb;break}a.eb=a.ta.seek(a.Gb,a.$a,a.hb);if(!a.eb){a.sb=Sw|Dw;break}a.Ua=0;Tw(a)}while(1)}b(c,!1,d,e)};
|
|
|
|
|
function Rw(a,b){if(a.sb||!a.ta)return-1;do{if(a.eb&&a.ta.write(a.eb,a.Ua++,b))break;a.eb=a.ta.seek(a.Gb,a.$a,a.hb);if(!a.eb){a.sb=Uw|Dw;b=-1;break}a.Ua=0;Tw(a)}while(1);return b}function Tw(a){a.hb++;a.hb>=a.Cf+1&&(a.hb=1,a.$a++,a.$a>=a.Bf&&(a.$a=0,a.Gb++))}var gw="Floppy Drive",ow=4,pw=8,rw=16,qw=64,ew=128,vw=3,xw=4,Aw=5,Bw=6,Gw=7,Jw=8,Lw=10,Mw=13,Nw=15,sw=31,Qw=128,lw=0,Cw=8,Hw=32,Dw=64,fw=192,Kw=255,Ew=512,Sw=1024,Uw=8192,Ow=65280,Pw=16711680,Iw=268435456,zw=-16777216,nw=128,jw=0;aa={};
|
|
|
|
|
var tw={3:{Jd:3,Vd:0,name:aa.cq},4:{Jd:2,Vd:1,name:aa.aq},5:{Jd:9,Vd:7,name:aa.iq},6:{Jd:9,Vd:7,name:aa.Xp},7:{Jd:2,Vd:0,name:aa.Zp},8:{Jd:1,Vd:2,name:aa.bq},10:{Jd:2,Vd:7,name:aa.Yp},13:{Jd:6,Vd:7,name:aa.Tp},15:{Jd:3,Vd:0,name:aa.$p}},Zv={1009:Uv.prototype.vm,1012:Uv.prototype.xm,1013:Uv.prototype.um,1015:Uv.prototype.wm},$v={1010:Uv.prototype.Zn,1013:Uv.prototype.Yn,1015:Uv.prototype.Xn};
|
|
|
|
|
eb(function(){for(var a=Bb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=Cb(c),d=new Uv(d);Ab(d,c)}});function Vw(a){rb.call(this,"HDC",a,1048576);this.dmaRead=Vw.prototype.pl;this.dmaWrite=Vw.prototype.ql;this.dmaWriteBuffer=Vw.prototype.Hl;this.dmaWriteFormat=Vw.prototype.Il;this.Z=[];this.ka=a.drives;this.M="at"==a.type}ca(Vw,rb);l=Vw.prototype;
|
|
|
|
|
l.Cb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.na[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.ta){var b=b.ta,c=b.Ng||b.ld,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Za(Sv(b),"octet-stream",!0,c);mb(b)}else d.Ca("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
|
|
|
|
|
l.uc=function(a,b,c,d){this.ma=b;this.H=c;this.ca=d;this.pa=a;if(d=Fd(a,"drives"))this.Z=d;else if(this.ka)try{this.Z=eval("("+this.ka+")")}catch(e){mb("HDC drive configuration error: "+e.message+" ("+this.ka+")")}this.W=bc(a,"ChipSet");this.G=0;this.la=3;Tc(b,this,this.M?Vw:Ww);Xc(b,this,this.M?Xw:Yw);this.M&&(this.G++,this.W&&this.W.da==Dl&&this.G++,this.la=2,b.X[Zw]=2,b.Z[Zw]=2);Yf(c,19,this.Zm.bind(this));Yf(c,64,this.$m.bind(this));this.reset();$w(this)||Ob(this)};
|
|
|
|
|
l.Xb=function(a,b){if(!b)if(!a)ax(this),this.pa.X&&$w(this,!0);else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};function iv(a){return a.pa?a.pa.sa:""}function jv(a){return a.pa?a.pa.B||"":""}l.reset=function(){ax(this,null,!0)};l.save=function(){var a=new cg(this);a.set(0,bx(this));return a.data()};l.restore=function(a){return ax(this,a[0])};
|
|
|
|
|
function ax(a,b,c){var d=0,e=!0;a.Wa=-1;if(a.M){if(b||(b=[0,0,0,0,0,0,0,cx,0,[0,-1]]),a.I=b[d++],a.va=b[d++],a.J=b[d++],a.ga=b[d++],a.ea=b[d++],a.aa=b[d++],a.X=b[d++],a.fa=b[d++],a.ha=b[d++],a.L=b[d++],"object"==typeof a.L){var f=a.L;a.L=f[0];a.Wa=f[1]}}else b||(b=[0,dx,Array(14),0,0]),a.P=b[d++],a.fa=b[d++],a.F=b[d++],a.D=b[d++],a.C=b[d++],a.sa=b[d++],a.qa=b[d++],a.oa=b[d++],f=b[d++],void 0!==f?a.N=f:void 0===a.N&&(a.N=-1);void 0===a.A&&(a.A=Array(a.Z.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<
|
|
|
|
|
a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,m=a.Z[d],p=b[d],v=c,u=0,F=!0;p||(p=[ex,0,!1,Array(8)]);k.Wa=h;k.errorCode=p[u++];k.fl=p[u++];k.Qe=p[u++];k.Ge=p[u++];k.He=p[u++];k.$a=p[u++];k.cb=p[u++];k.Od=p[u++];k.hb=p[u++];k.Ud=p[u++];k.wb=p[u++];k.kg=g.M?0:1;k.name=m.name;void 0===k.name&&(k.name=fx);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||jv(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===gx[g.G][k.type])k.type=
|
|
|
|
|
g.la;m=gx[g.G][k.type];k.Va=m[2]||17;k.Na=m[3]||512;if(v&&g.W){var m=g.W,H=k.type;if(m.A){var v=null,I=m.A[18];15<H&&(v=H,H=15);h?(I=I&240|H,H=26):(I=I&15|H<<4,H=25);var L=m;L.A&&(L.A[18]=I,qm(L));null!=v&&m.A&&(m.A[H]=v,qm(m))}}void 0===k.ta&&(k.ta=null,g.Ca("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));hx(g,k);k.Ua=p[u++];k.eb=null;k.ta&&(g=p[u],void 0!==g&&0>k.ta.restore(g)&&(F=!1),F&&void 0!==k.Ua&&(k.eb=k.ta.seek(k.Od,k.$a,k.hb+k.kg)));F||(e=!1);null!=a.P&&1>=d&&(a.P|=(f.type&3)<<(1-d<<
|
|
|
|
|
l.uc=function(a,b,c,d){this.ma=b;this.H=c;this.ca=d;this.pa=a;if(d=Fd(a,"drives"))this.Z=d;else if(this.ka)try{this.Z=eval("("+this.ka+")")}catch(e){mb("HDC drive configuration error: "+e.message+" ("+this.ka+")")}this.W=bc(a,"ChipSet");this.G=0;this.la=3;Tc(b,this,this.M?Ww:Xw);Xc(b,this,this.M?Yw:Zw);this.M&&(this.G++,this.W&&this.W.da==Dl&&this.G++,this.la=2,b.X[$w]=2,b.Z[$w]=2);Yf(c,19,this.Zm.bind(this));Yf(c,64,this.$m.bind(this));this.reset();ax(this)||Ob(this)};
|
|
|
|
|
l.Xb=function(a,b){if(!b)if(!a)bx(this),this.pa.X&&ax(this,!0);else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};function iv(a){return a.pa?a.pa.sa:""}function jv(a){return a.pa?a.pa.B||"":""}l.reset=function(){bx(this,null,!0)};l.save=function(){var a=new cg(this);a.set(0,cx(this));return a.data()};l.restore=function(a){return bx(this,a[0])};
|
|
|
|
|
function bx(a,b,c){var d=0,e=!0;a.Wa=-1;if(a.M){if(b||(b=[0,0,0,0,0,0,0,dx,0,[0,-1]]),a.I=b[d++],a.va=b[d++],a.J=b[d++],a.ga=b[d++],a.ea=b[d++],a.aa=b[d++],a.X=b[d++],a.fa=b[d++],a.ha=b[d++],a.L=b[d++],"object"==typeof a.L){var f=a.L;a.L=f[0];a.Wa=f[1]}}else b||(b=[0,ex,Array(14),0,0]),a.P=b[d++],a.fa=b[d++],a.F=b[d++],a.D=b[d++],a.C=b[d++],a.sa=b[d++],a.qa=b[d++],a.oa=b[d++],f=b[d++],void 0!==f?a.N=f:void 0===a.N&&(a.N=-1);void 0===a.A&&(a.A=Array(a.Z.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<
|
|
|
|
|
a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,m=a.Z[d],p=b[d],v=c,u=0,F=!0;p||(p=[fx,0,!1,Array(8)]);k.Wa=h;k.errorCode=p[u++];k.fl=p[u++];k.Qe=p[u++];k.Ge=p[u++];k.He=p[u++];k.$a=p[u++];k.cb=p[u++];k.Od=p[u++];k.hb=p[u++];k.Ud=p[u++];k.wb=p[u++];k.kg=g.M?0:1;k.name=m.name;void 0===k.name&&(k.name=gx);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||jv(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===hx[g.G][k.type])k.type=
|
|
|
|
|
g.la;m=hx[g.G][k.type];k.Va=m[2]||17;k.Na=m[3]||512;if(v&&g.W){var m=g.W,H=k.type;if(m.A){var v=null,I=m.A[18];15<H&&(v=H,H=15);h?(I=I&240|H,H=26):(I=I&15|H<<4,H=25);var L=m;L.A&&(L.A[18]=I,qm(L));null!=v&&m.A&&(m.A[H]=v,qm(m))}}void 0===k.ta&&(k.ta=null,g.Ca("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));ix(g,k);k.Ua=p[u++];k.eb=null;k.ta&&(g=p[u],void 0!==g&&0>k.ta.restore(g)&&(F=!1),F&&void 0!==k.Ua&&(k.eb=k.ta.seek(k.Od,k.$a,k.hb+k.kg)));F||(e=!1);null!=a.P&&1>=d&&(a.P|=(f.type&3)<<(1-d<<
|
|
|
|
|
1))}0<=a.Wa&&(a.B=a.A[a.Wa]);return e}
|
|
|
|
|
function bx(a){var b=0,c=[];a.M?(c[b++]=a.I,c[b++]=a.va,c[b++]=a.J,c[b++]=a.ga,c[b++]=a.ea,c[b++]=a.aa,c[b++]=a.X,c[b++]=a.fa,c[b++]=a.ha,c[b++]=[a.L,a.Wa]):(c[b++]=a.P,c[b++]=a.fa,c[b++]=a.F,c[b++]=a.D,c[b++]=a.C,c[b++]=a.sa,c[b++]=a.qa,c[b++]=a.oa,c[b++]=a.N);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.fl;m[k++]=h.Qe;m[k++]=h.Ge;m[k++]=h.He;m[k++]=h.$a;m[k++]=h.cb;m[k++]=h.Od;m[k++]=h.hb;m[k++]=h.Ud;m[k++]=h.wb;m[k++]=h.Ua;m[k]=h.ta?h.ta.save():
|
|
|
|
|
null;e[g]=m}c[b]=e;return c}l.lj=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};function hx(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ge[2])?e=b.Ge[0]<<8|b.Ge[1]:c=b.type);null==c||d||(d=gx[a.G][c][1],e=gx[a.G][c][0]);d&&((c=gx[a.G][b.type])&&e!=c[0]&&d!=c[1]&&a.Ca("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.rb=e,b.cb=d,null==b.ta&&(b.ta=new ev(a,b,b.mode)))}}
|
|
|
|
|
l.el=function(a,b,c){if(a.ta){var d=a.ta.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Od=Math.floor(b/g),b%=g,a.$a=Math.floor(b/f),a.hb=b%f,a.wb=c*d[3],a.errorCode=ex,!0}}return!1};
|
|
|
|
|
function $w(a,b){b||(a.K=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.ta&&d.ta.qg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.Ne?(e.Ca("Drive "+c+" busy"),e=!0):(g.Ne=!0,g.le=!0,e.K++,t(e)&&Rb(e,"loading "+f),(g.ta||new ev(e,g,g.mode)).load(f,d,null,e.Jl),e=!1);!e&&b&&Ob(a,!1)}}else b&&void 0!==d.type&&(d.ta=null,hx(a,d,d.type))}return!!a.K}
|
|
|
|
|
l.Jl=function(a,b,c){a.Ne=!1;if(a.ta=b)this.Ca('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Wa),a.le),b=b.info(),b[0]==a.rb&&b[1]==a.cb&&b[2]==a.Va&&b[3]==a.Na||this.Ca("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+ix[this.G]+" drive type "+a.type+" ("+a.rb+":"+a.cb+":"+a.Va+")");a.le&&(a.le=!1,--this.K||Ob(this))};
|
|
|
|
|
l.Xm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.W&&mh(this.W,5);this.fa&=~jx;w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.D=this.C=0,this.fa&=~(kx|lx|mx));return c};l.wo=function(a,b,c){w(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]!=nx?6:this.F.length;6==this.C&&(this.fa&=~ox);this.C>=a&&(this.fa|=kx,this.fa&=~ox,px(this))};l.Ym=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.D<this.C&&(this.fa|=ox);return c};
|
|
|
|
|
l.zo=function(a,b,c){w(this,a,b,c,"RESET");this.sa=b;this.W&&mh(this.W,5);ax(this)};l.Wm=function(a,b){w(this,a,null,b,"CONFIG",this.P);return this.P};l.yo=function(a,b,c){w(this,a,b,c,"PULSE");this.qa=b;this.fa=ox|lx|mx};l.xo=function(a,b,c){w(this,a,b,c,"PATTERN");this.oa=b};l.li=function(a,b,c){w(this,a,b,c,"NOISE")};
|
|
|
|
|
function qx(a,b,c){var d=-1;a.B&&(d=a.te(a.B,function(){}),1==a.B.Ua||a.B.Ua==a.B.Na)&&(t(a,1048832)&&w(a,b,null,c,"DATA["+a.B.Ua+"]",d),1<a.B.Ua&&(a.B.wb-=a.B.Na,a.J=a.J-1&255,a.B.wb>=a.B.Na?(a.fa=rx,a.te(a.B,function(b){0<=b?(sx(a),a.W&&a.W.da==Dl&&(a.fa=0),a.fa=a.fa|cx|tx|ux):(a.fa=vx,a.I=wx)},!1)):a.fa=cx|tx));return d}l.rl=function(a,b){return qx(this,a,b)|qx(this,a,b)<<8};
|
|
|
|
|
function xx(a,b,c,d){if(a.B&&a.B.wb>=a.B.Na)if(0>yx(a.B,c))a.fa=vx,a.I=wx;else if(1==a.B.Ua||a.B.Ua==a.B.Na)t(a,1048832)&&w(a,b,c,d,"DATA["+a.B.Ua+"]"),1<a.B.Ua&&(a.B.wb-=a.B.Na,a.J=a.J-1&255,sx(a),a.fa=cx|tx,a.B.wb>=a.B.Na&&(a.fa|=ux))}l.Fn=function(a,b,c){xx(this,a,b&255,c);xx(this,a,b>>8&255,c)};l.dm=function(a,b){var c=this.I;w(this,a,null,b,"ERROR",c);return c};l.Kn=function(a,b,c){w(this,a,b,c,"WPREC");this.va=b};l.fm=function(a,b){var c=this.J;w(this,a,null,b,"SECCNT",c);return c};
|
|
|
|
|
function cx(a){var b=0,c=[];a.M?(c[b++]=a.I,c[b++]=a.va,c[b++]=a.J,c[b++]=a.ga,c[b++]=a.ea,c[b++]=a.aa,c[b++]=a.X,c[b++]=a.fa,c[b++]=a.ha,c[b++]=[a.L,a.Wa]):(c[b++]=a.P,c[b++]=a.fa,c[b++]=a.F,c[b++]=a.D,c[b++]=a.C,c[b++]=a.sa,c[b++]=a.qa,c[b++]=a.oa,c[b++]=a.N);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.fl;m[k++]=h.Qe;m[k++]=h.Ge;m[k++]=h.He;m[k++]=h.$a;m[k++]=h.cb;m[k++]=h.Od;m[k++]=h.hb;m[k++]=h.Ud;m[k++]=h.wb;m[k++]=h.Ua;m[k]=h.ta?h.ta.save():
|
|
|
|
|
null;e[g]=m}c[b]=e;return c}l.lj=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};function ix(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ge[2])?e=b.Ge[0]<<8|b.Ge[1]:c=b.type);null==c||d||(d=hx[a.G][c][1],e=hx[a.G][c][0]);d&&((c=hx[a.G][b.type])&&e!=c[0]&&d!=c[1]&&a.Ca("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.rb=e,b.cb=d,null==b.ta&&(b.ta=new ev(a,b,b.mode)))}}
|
|
|
|
|
l.el=function(a,b,c){if(a.ta){var d=a.ta.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Od=Math.floor(b/g),b%=g,a.$a=Math.floor(b/f),a.hb=b%f,a.wb=c*d[3],a.errorCode=fx,!0}}return!1};
|
|
|
|
|
function ax(a,b){b||(a.K=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.ta&&d.ta.qg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.Ne?(e.Ca("Drive "+c+" busy"),e=!0):(g.Ne=!0,g.le=!0,e.K++,t(e)&&Rb(e,"loading "+f),(g.ta||new ev(e,g,g.mode)).load(f,d,null,e.Jl),e=!1);!e&&b&&Ob(a,!1)}}else b&&void 0!==d.type&&(d.ta=null,ix(a,d,d.type))}return!!a.K}
|
|
|
|
|
l.Jl=function(a,b,c){a.Ne=!1;if(a.ta=b)this.Ca('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Wa),a.le),b=b.info(),b[0]==a.rb&&b[1]==a.cb&&b[2]==a.Va&&b[3]==a.Na||this.Ca("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+jx[this.G]+" drive type "+a.type+" ("+a.rb+":"+a.cb+":"+a.Va+")");a.le&&(a.le=!1,--this.K||Ob(this))};
|
|
|
|
|
l.Xm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.W&&mh(this.W,5);this.fa&=~kx;w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.D=this.C=0,this.fa&=~(lx|mx|nx));return c};l.wo=function(a,b,c){w(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]!=ox?6:this.F.length;6==this.C&&(this.fa&=~px);this.C>=a&&(this.fa|=lx,this.fa&=~px,qx(this))};l.Ym=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.D<this.C&&(this.fa|=px);return c};
|
|
|
|
|
l.zo=function(a,b,c){w(this,a,b,c,"RESET");this.sa=b;this.W&&mh(this.W,5);bx(this)};l.Wm=function(a,b){w(this,a,null,b,"CONFIG",this.P);return this.P};l.yo=function(a,b,c){w(this,a,b,c,"PULSE");this.qa=b;this.fa=px|mx|nx};l.xo=function(a,b,c){w(this,a,b,c,"PATTERN");this.oa=b};l.li=function(a,b,c){w(this,a,b,c,"NOISE")};
|
|
|
|
|
function rx(a,b,c){var d=-1;a.B&&(d=a.te(a.B,function(){}),1==a.B.Ua||a.B.Ua==a.B.Na)&&(t(a,1048832)&&w(a,b,null,c,"DATA["+a.B.Ua+"]",d),1<a.B.Ua&&(a.B.wb-=a.B.Na,a.J=a.J-1&255,a.B.wb>=a.B.Na?(a.fa=sx,a.te(a.B,function(b){0<=b?(tx(a),a.W&&a.W.da==Dl&&(a.fa=0),a.fa=a.fa|dx|ux|vx):(a.fa=wx,a.I=xx)},!1)):a.fa=dx|ux));return d}l.rl=function(a,b){return rx(this,a,b)|rx(this,a,b)<<8};
|
|
|
|
|
function yx(a,b,c,d){if(a.B&&a.B.wb>=a.B.Na)if(0>zx(a.B,c))a.fa=wx,a.I=xx;else if(1==a.B.Ua||a.B.Ua==a.B.Na)t(a,1048832)&&w(a,b,c,d,"DATA["+a.B.Ua+"]"),1<a.B.Ua&&(a.B.wb-=a.B.Na,a.J=a.J-1&255,tx(a),a.fa=dx|ux,a.B.wb>=a.B.Na&&(a.fa|=vx))}l.Fn=function(a,b,c){yx(this,a,b&255,c);yx(this,a,b>>8&255,c)};l.dm=function(a,b){var c=this.I;w(this,a,null,b,"ERROR",c);return c};l.Kn=function(a,b,c){w(this,a,b,c,"WPREC");this.va=b};l.fm=function(a,b){var c=this.J;w(this,a,null,b,"SECCNT",c);return c};
|
|
|
|
|
l.In=function(a,b,c){w(this,a,b,c,"SECCNT");this.J=b};l.gm=function(a,b){var c=this.ga;w(this,a,null,b,"SECNUM",c);return c};l.Jn=function(a,b,c){w(this,a,b,c,"SECNUM");this.ga=b};l.bm=function(a,b){var c=this.ea;w(this,a,null,b,"CYLLO",c);return c};l.En=function(a,b,c){w(this,a,b,c,"CYLLO");this.ea=b};l.am=function(a,b){var c=this.aa;w(this,a,null,b,"CYLHI",c);return c};l.Dn=function(a,b,c){w(this,a,b,c,"CYLHI");this.aa=b};l.cm=function(a,b){var c=this.X;w(this,a,null,b,"DRVHD",c);return c};
|
|
|
|
|
l.Gn=function(a,b,c){w(this,a,b,c,"DRVHD");this.X=b;this.fa=this.A[this.X&zx?1:0]?this.fa|cx|tx:this.fa&~cx};l.hm=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.fa&cx&&(this.fa&=~rx);return c};l.Cn=function(a,b,c){w(this,a,b,c,"COMMAND");this.ha=b;this.W&&mh(this.W,14);Ax(this)};l.Hn=function(a,b,c){w(this,a,b,c,"FDR");this.L&Bx&&!(b&Bx)&&(this.I=Cx);this.L=b};
|
|
|
|
|
function Ax(a){var b=!1,c=a.ha,d=a.X&zx?1:0,e=a.X&Dx,f=a.ea|(a.aa&Ex)<<8,g=a.ga,h=a.J||256;a.Wa=-1;a.B=null;a.I=Fx;a.fa=cx|tx;var k=a.A[d];k?(k.Od=f,k.$a=e,k.hb=g,k.wb=h*k.Na,c=c>=Gx?c:c&Hx,k.eb=null,k.Ua=0,k.errorCode=0,a.Wa=d,a.B=k):c=-1;switch(c&Hx){case Ix:b=!0;break;case Jx:a.fa=rx;a.te(k,function(b){0<=b&&a.W?(sx(a),a.fa=cx|tx|ux):(a.fa=vx,a.I=wx)},!1);break;case Kx:a.fa=ux;break;case Lx:b=!0;break;case Mx:b=!0;break;case Gx:a.I=Cx;b=!0;break;case Nx:k.cb=e+1,k.Va=h,b=!0}b&&sx(a)}
|
|
|
|
|
function sx(a){!a.W||a.L&Ox||oh(a.W,14,120)}
|
|
|
|
|
function px(a){a.D=0;var b=Px(a),c=Px(a),d=c&32,e=d>>5,f=c&31,g=Px(a),h=Px(a),k=g<<2&768|h,m=g&63,p=Px(a),v=Px(a),u=a.A[e];u&&(u.Od=k,u.$a=f,u.hb=m,u.wb=p*u.Na);switch(b){case Qx:Rx(a,u?u.errorCode:Sx);Tx(a,c);Tx(a,g);Tx(a,h);Tx(a,Ux|d);b=-1;break;case nx:for(c=0;0<=(b=Px(a));)u&&c<u.Ge.length&&(u.Ge[c++]=b);u&&hx(a,u);b=Ux;u||a.N!=e||(a.N=-1,b=Vx);Rx(a,b|d);b=-1;break;case Wx:case Xx:Rx(a,Ux|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=ex,u.fl=0),b){case Yx:Rx(a,Ux|d);break;case Zx:u.nf=v;
|
|
|
|
|
Rx(a,Ux|d);break;case $x:Rx(a,Ux|d);break;case ay:by(a,u,function(b){Rx(a,b|d)});break;case cy:dy(a,u,function(b){Rx(a,b|d)});break;case ey:fy(a,u,function(b){Rx(a,b|d)});break;default:Rx(a,Vx|d)}}function Px(a){var b=-1;a.D<a.C&&(b=a.F[a.D++]);return b}function Rx(a,b){a.D=a.C=0;void 0!==b&&Tx(a,b);a.W&&oh(a.W,5);a.fa|=jx}function Tx(a,b){a.F[a.C++]=b}l.pl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.ql=function(a,b){return void 0!==b&&0<=b?yx(a,b):-1};
|
|
|
|
|
l.Hl=function(a,b){void 0!==b&&0<=b?(a.Ua<a.He.length?a.He[a.Ua++]=b:(a.errorCode=gy,b=-1),a=b):a=-1;return a};l.Il=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.$c[a.Je++]=b;if(a.Je==a.$c.length){a.Od=a.$c[0];a.$a=a.$c[1];a.hb=a.$c[2];a.wb=128<<a.$c[3];for(var c=a.Je=0;c<a.wb;c++)if(0>yx(a,a.$i)){a=-1;break a}a.lg++}a.lg>=a.Ud&&(b=-1);a=b}else a=-1;return a};
|
|
|
|
|
function by(a,b,c){b.errorCode=Sx;if(b.ta&&(b.eb=null,a.W)){b.errorCode=ex;Qn(a.W,3,a,"dmaRead",b);Hn(a.W,3,function(a){a||b.errorCode!=ex||(b.errorCode=Sx);c(b.errorCode?Vx:Ux)});return}c(b.errorCode?Vx:Ux)}function dy(a,b,c){b.errorCode=Sx;if(b.ta&&(b.eb=null,a.W)){b.errorCode=ex;Qn(a.W,3,a,"dmaWrite",b);Hn(a.W,3,function(a){a||(b.errorCode==ex&&(b.errorCode=Sx),b.errorCode==gy&&(b.errorCode=ex));c(b.errorCode?Vx:Ux)});return}c(b.errorCode?Vx:Ux)}
|
|
|
|
|
function fy(a,b,c){b.errorCode=Sx;b.He&&b.He.length==b.wb||(b.He=Array(b.wb));b.Ua=0;a.W?(b.errorCode=ex,Qn(a.W,3,a,"dmaWriteBuffer",b),Hn(a.W,3,function(a){a||b.errorCode!=ex||(b.errorCode=Sx);c(b.errorCode?Vx:Ux)})):c(b.errorCode?Vx:Ux)}
|
|
|
|
|
l.te=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.eb&&(f=a.Ua,d=a.ta.read(a.eb,a.Ua),a.Ua+=g,0<=d))return e=a.eb,b&&b(d,!1,e,f),d;if(b){if(a.ta)return a.ta.seek(a.Od,a.$a,a.hb+a.kg,!1,function(c,k){(a.eb=c)?(e=c,f=a.Ua=0,hy(a),d=a.ta.read(a.eb,a.Ua),a.Ua+=g):a.errorCode=gy;b(d,k,e,f)}),d;a.errorCode=gy;b(d,!1,e,f)}return d};
|
|
|
|
|
function yx(a,b){if(a.errorCode)return-1;do{if(a.eb&&a.ta.write(a.eb,a.Ua++,b))break;a.ta&&a.ta.seek(a.Od,a.$a,a.hb+a.kg,!0,function(b){a.eb=b});if(!a.eb){a.errorCode=gy;b=-1;break}a.Ua=0;hy(a)}while(1);return b}function hy(a){a.hb++;var b=1-a.kg;a.hb>=a.Va+b&&(a.hb=b,a.$a++,a.$a>=a.cb&&(a.$a=0,a.Od++))}l.Zm=function(){var a=this.H.L&255;!(this.H.D>>8)&&128<a&&(this.N=a-128);return!0};l.$m=function(){var a;(a=this.H.D>>8||!this.W)||(a=!(this.W.hc[0].sd&64));return a?!0:!1};
|
|
|
|
|
var fx="Hard Drive",ix=["XTC","ATC","COMPAQ"],gx=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
|
|
|
|
|
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],Zw=496,Cx=1,Fx=0,wx=16,Ex=3,Dx=15,zx=16,vx=1,ux=8,tx=16,cx=64,rx=128,Ix=16,Jx=32,Kx=48,Lx=64,Mx=
|
|
|
|
|
112,Gx=144,Nx=145,Hx=240,Ox=2,Bx=4,Ux=0,Vx=2,Yx=0,Zx=1,Qx=3,$x=5,ay=8,cy=10,nx=12,ey=15,Wx=224,Xx=228,ex=0,Sx=4,gy=20,dx=0,ox=1,kx=2,lx=4,mx=8,jx=32,Ww={800:Uw.prototype.Xm,801:Uw.prototype.Ym,802:Uw.prototype.Wm},Vw={496:Uw.prototype.rl,497:Uw.prototype.dm,498:Uw.prototype.fm,499:Uw.prototype.gm,500:Uw.prototype.bm,501:Uw.prototype.am,502:Uw.prototype.cm,503:Uw.prototype.hm},Yw={800:Uw.prototype.wo,801:Uw.prototype.zo,802:Uw.prototype.yo,803:Uw.prototype.xo,807:Uw.prototype.li,811:Uw.prototype.li,
|
|
|
|
|
815:Uw.prototype.li},Xw={496:Uw.prototype.Fn,497:Uw.prototype.Kn,498:Uw.prototype.In,499:Uw.prototype.Jn,500:Uw.prototype.En,501:Uw.prototype.Dn,502:Uw.prototype.Gn,503:Uw.prototype.Cn,1014:Uw.prototype.Hn};eb(function(){for(var a=Bb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=Cb(c),d=new Uw(d);Ab(d,c)}});function iy(a){rb.call(this,"Debugger",a);this.D=+a.base||16;this.ha=["{","}"];this.Ba=["[","]"];this.aa=this.ka=this.P=0;this.ga=!1;this.A=-1;this.C=[];this.I={}}ca(iy,rb);
|
|
|
|
|
iy.prototype.kh=function(){return-1};iy.prototype.lh=function(){};iy.prototype.Uk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
|
|
|
|
iy.prototype.Gg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.ga?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Aa(a.substring(d,f))),d=f+1}}return b};
|
|
|
|
|
function jy(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a<<32-b>>32-b:(b=Math.pow(2,b-1),a>=b?(d=a%b,(a/b|0)&1&&(d-=b)):a<-b&&(d=a%b,((-a-1)/b|0)&1?d&&(d+=b):d||(d-=b)));a!=d&&(a=d);return a}
|
|
|
|
|
function ky(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e,f=a.pop();e=a.pop();switch(d){case "*":e*=f;break;case "/":if(!f)return!1;e=Math.trunc(e/f);break;case "^/":if(!f)return!1;e%=f;break;case "+":e+=f;break;case "-":e-=f;break;case "<<":e<<=f;break;case ">>":e>>=f;break;case ">>>":e>>>=f;break;case "<":e=e<f?1:0;break;case "<=":e=e<=f?1:0;break;case ">":e=e>f?1:0;break;case ">=":e=e>=f?1:0;break;case "==":e=e==f?1:0;break;case "!=":e=e!=f?1:0;break;case "&":e&=
|
|
|
|
|
f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;break;case "||":e=e||f?1:0;break;case ",,":e=jy(e,18,!0)*Math.pow(2,18)+jy(f,18,!0);break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=jy(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(jy(e))}return!0}
|
|
|
|
|
function ly(a,b,c,d,e,f){var g,h,k,m=!1,p=0,v=[],u=[],F=a.D;for(a.D=e;c<d;){var H;h=b[c++].trim();k=c<d?b[c++]:"";if(h)H=my(a,h,null,f,p);else if("{"==k){h=1;for(H=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;H=ly(a,b,H,c-1,a.D,f);null!=H&&p&&(H=ny(H,p));h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.D=2;continue}if("^O"==k){a.D=8;continue}if("^D"==k){a.D=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==
|
|
|
|
|
k||"^-"==k){p=p<<2|2;continue}if("^L"==k){p=p<<2|3;continue}}m=!0;break}if(void 0===H)if(f)f.push(h),H=0;else{m=!0;f=[];break}v.push(jy(H));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{m=!0;break}if(!k)break;p="<"==a.ha[0]?oy:py;if(!p[k]){m=!0;break}u.length&&p[k]<=p[u[u.length-1]]&&ky(v,u,1);u.push(k);a.D="^_"==k?10:e;p=0}if(m||!ky(v,u)||1!=v.length)m=!0;m?f||a.O("parse error ("+(h||k)+")"):g=v.pop();a.D=F;return g}
|
|
|
|
|
function qy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var m=b[h++];if(m==c){k=-1;break}if(!k)break;k--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=jy(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.O("parse error ("+c+b+c+")");return}b=b.substr(0,f)+ry(a,g,-1)+b.substr(h)}return b}
|
|
|
|
|
function sy(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=qy(a,b,'"',7,5);if(!b)return d;b=qy(a,b,"'",6,6);if(!b)return d;16!=a.D&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=ly(a,b,0,b.length,a.D,c);void 0!==d&&e&&ty(a,null,d)}return d}
|
|
|
|
|
function uy(a,b){var c,d=a.ha[0],e=a.ha[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=sy(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?ry(a,g):"undefined")}if(a.Ba.length)for(d=a.Ba[0],e=a.Ba[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Uk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.aa-a.ka}if(null==
|
|
|
|
|
e)break;b=b.replace(d[0],e.toString())}return b}function ny(a,b){for(;b;){switch(b&3){case 1:a=-jy(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
|
|
|
|
|
function my(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.kh(b);if(0<=f)f=a.lh(f);else if(f=b,a.I[f]?f=a.I[f].value:(f=f.substr(0,6),f=a.I[f]&&a.I[f].value),null!=f){var h=a.I[b]&&a.I[b].Vo;h&&(g?g.push(h):(g=sy(a,h,d),void 0!==g?f+=g:(d||a.O("undefined "+(c||"value")+": "+b+" ("+h+")"),f=void 0)))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=jy(ny(f,e)):d||a.O("invalid "+(c||"value")+": "+b)}else d||a.O("missing "+(c||"value"));return f}
|
|
|
|
|
function ty(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.D?ry(a,c,32,8,1)+" "+c+".":ry(a,c,32,16,1)+" "+ry(a,c,32,8,1)+" "+ry(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.O((null!=b?b+": ":"")+d);return e}function vy(a,b){var c=0;if(a.I){if(b)return ty(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)ty(a,b[d],a.I[b[d]].value),c++}return 0<c}
|
|
|
|
|
function ry(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=qa(b,0<c?c:0,e);break;case 8:b=ra(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
|
|
|
|
var py={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},oy={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
|
|
|
|
|
function wy(a){iy.call(this,a);this.sa=4;this.la=5;this.wa=1048575;this.N=xy(this,0,0);this.Aa=xy(this,0,0);this.ea=xy(this,0,0);this.F=[];this.B=this.W=this.L=[];yy(this);this.xa=0;zy(this);this.Da={};Ay(this,a.messages);this.Ia=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return By(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return By(b,a)})}ca(wy,iy);l=wy.prototype;
|
|
|
|
|
l.uc=function(a,b,c,d){this.ma=b;this.H=c;this.pa=a;this.fb=bc(a,"FDC");this.Ta=bc(a,"HDC");this.Tc=bc(a,"FPU");this.G=bc(a,"Mouse");(a=Fd(a,"messages"))&&Ay(this,a);this.la=b.I>>2;this.wa=b.N;this.Za=new ae(this.H,7,"DBG");this.qa=Cy;80186<=this.H.da&&(this.qa=Cy.slice(),this.qa[15]=Dy,80286<=this.H.da&&(this.qa[15]=Ey,80386<=this.H.da&&(this.sa=8)));Gl(this,64,function(a){Fy(d,d.H.sc,a[0])});Gl(this,4,function(a){if(a=a[0]){var b=my(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Gy(d,
|
|
|
|
|
b,Hy),d.O("dumpSel("+sa(a?a.U:b)+"): %"+q(a?a.Lb:null,d.la)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=Iy[a.type];e&&(c=e[0],b=e[1])}!c||a.nb&32768||(c+=",not present");d.O((b?"seg="+sa(a.ua&65535)+" off="+sa(a.Ka):"base="+q(a.ua,d.la)+" limit="+Jy(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+sa(a.ext&-65296)+
|
|
|
|
|
" dpl="+r(a.qc))}}else d.O("no selector")});Gl(this,134217728,function(a){var b;(a=a[0])&&(b=my(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+sa(b)+")");b;){a=xy(d,0,b);var c=d.Ja(a,1),e=d.Yc(a,2),k=d.Yc(a,5);if(77!=c&&90!=c)break;d.O(Ky(0,b)+": '"+String.fromCharCode(c)+"' PID="+sa(e)+" LEN="+sa(k)+' "'+Ly(d,a,8)+'"');b+=1+k}});Gl(this,128,function(a){Fy(d,d.H.aa,a[0],d.H.aa!==d.H.sc)});Gl(this,8,function(a){a:{if(a=a[0]){var b=my(d,a);if(void 0===b){d.O("invalid task selector: "+
|
|
|
|
|
a);break a}a=Gy(d,b,Hy)}else a=d.H.ka;d.O("dumpTSS("+sa(a?a.U:b)+"): %"+q(a?a.ua:null,d.la));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?My:Ny,m,p,v,u;for(u in k)m=k[u],p=a.ua+m,v=Eg(d.H,p,2),2304==c&&(v|=Eg(d.H,p+2,2)<<16),b&&(b+="\n"),b+=sa(m)+" "+za(u+":",11)+q(v,e);if(2304==c)for(u=0,m=v>>>16;m<a.Nb&&1023>u;){p=a.ua+m;v=Eg(d.H,p,2);p=2;c="";if(!p||4<p)p=4;for(e=0;e<p;e++)c&&(c=","+c),c=qa(v&255,8)+c,v>>=8;b+="\n"+sa(m)+" ports "+sa(u)+"-"+sa(u+15)+": "+(""+c);u+=16;m+=2}d.O(b)}}});this.J=
|
|
|
|
|
null;this.Ma=0;this.Ea=!1;Yf(this.H,48,this.cn.bind(this));Yf(this.H,65,this.dn.bind(this));this.Z=null;Yf(this.H,104,this.en.bind(this));Ob(this)};function Oy(a,b,c,d,e,f){b=Ly(a,b);var g=Gy(a,d),g=g?g.Ka+1:0,h=(e?"_CODE":"_DATA")+q(c,2);f&&t(a,128)&&a.message(b+" "+(e?"code":"data")+"("+q(c,4)+")=#"+q(d,4)+" len "+q(g));e=Py(a,b,c);e[b+h]=0;gq(a,b,c,d,0,null,g,e)}
|
|
|
|
|
function Qy(a,b,c,d){var e=a.Yc(b,2),f=a.Yc(b,2),g=Ry(a,b,4),h=Ry(a,b,4),k=xy(a,Ry(a,b,4),a.Yc(b,2));b=xy(a,Ry(a,b,4),a.Yc(b,2));b=Ly(a,b).toUpperCase();var k=Ly(a,k).toUpperCase(),m=(c?"_CODE":"_DATA")+q(e,2);d&&t(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+q(e,4)+")="+q(f,4)+":"+q(g)+" len "+q(h));c=Py(a,k,e);c[k+m]=g;gq(a,k,e,f,g,null,h,c)}function Sy(a,b,c){c=Ly(a,c).toUpperCase();Ty(a,c,b)}
|
|
|
|
|
l.cn=function(){var a=this.H;if(null!=this.J&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=xy(this,z(a)+12,a.X.U);switch(Ry(this,d)){case 336:Qy(this,xy(this,a.G,b),!c,!!this.J)}}return!0};
|
|
|
|
|
l.dn=function(a){var b=this.H,c=b.D&65535,d=b.G&65535,e=b.I&65535,f=b.L&65535,g=b.K&65535,h=b.J&65535,k=b.oa.U;if(null==this.J)return 79==c&&Zf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Rb(a,"INT 0x41 handling enabled",128),a.J=!0):(Rb(a,"INT 0x41 monitoring enabled",128),a.J=!1)}}(this)),!0;switch(c){case 79:this.J&&(b.D=b.D&-65536|62342,Rb(this,"INT 0x41 handling enabled",128));break;case 80:Oy(this,xy(this,h,k),d+1,e,!(g&1),!!this.J);break;case 82:Ty(this,null,
|
|
|
|
|
d);break;case 127:this.J&&(b.D=b.D&-65536|(this.Ea?0:1));break;case 131:this.J&&(a=xy(this,b.L,e),this.Ma++?(this.O("TRAPFAULT failed"),Uy(this,this.B,a,!0,!0),this.Ma=0,this.Kb()):(this.O("INT 0x41 TRAPFAULT: fault="+sa(d)+" error="+q(b.K,8,!0)+" addr="+Vy(a)),this.rd(this.B,a,!0),zy(this,!0)));break;case 141:this.J&&(b.D=b.D&-65536|1);break;case 336:Qy(this,xy(this,b.G,f),!g,!!this.J);break;case 338:Sy(this,d,xy(this,b.J,f))}this.Ea=!1;return!this.J};
|
|
|
|
|
l.Gn=function(a,b,c){w(this,a,b,c,"DRVHD");this.X=b;this.fa=this.A[this.X&Ax?1:0]?this.fa|dx|ux:this.fa&~dx};l.hm=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.fa&dx&&(this.fa&=~sx);return c};l.Cn=function(a,b,c){w(this,a,b,c,"COMMAND");this.ha=b;this.W&&mh(this.W,14);Bx(this)};l.Hn=function(a,b,c){w(this,a,b,c,"FDR");this.L&Cx&&!(b&Cx)&&(this.I=Dx);this.L=b};
|
|
|
|
|
function Bx(a){var b=!1,c=a.ha,d=a.X&Ax?1:0,e=a.X&Ex,f=a.ea|(a.aa&Fx)<<8,g=a.ga,h=a.J||256;a.Wa=-1;a.B=null;a.I=Gx;a.fa=dx|ux;var k=a.A[d];k?(k.Od=f,k.$a=e,k.hb=g,k.wb=h*k.Na,c=c>=Hx?c:c&Ix,k.eb=null,k.Ua=0,k.errorCode=0,a.Wa=d,a.B=k):c=-1;switch(c&Ix){case Jx:b=!0;break;case Kx:a.fa=sx;a.te(k,function(b){0<=b&&a.W?(tx(a),a.fa=dx|ux|vx):(a.fa=wx,a.I=xx)},!1);break;case Lx:a.fa=vx;break;case Mx:b=!0;break;case Nx:b=!0;break;case Hx:a.I=Dx;b=!0;break;case Ox:k.cb=e+1,k.Va=h,b=!0}b&&tx(a)}
|
|
|
|
|
function tx(a){!a.W||a.L&Px||oh(a.W,14,120)}
|
|
|
|
|
function qx(a){a.D=0;var b=Qx(a),c=Qx(a),d=c&32,e=d>>5,f=c&31,g=Qx(a),h=Qx(a),k=g<<2&768|h,m=g&63,p=Qx(a),v=Qx(a),u=a.A[e];u&&(u.Od=k,u.$a=f,u.hb=m,u.wb=p*u.Na);switch(b){case Rx:Sx(a,u?u.errorCode:Tx);Ux(a,c);Ux(a,g);Ux(a,h);Ux(a,Vx|d);b=-1;break;case ox:for(c=0;0<=(b=Qx(a));)u&&c<u.Ge.length&&(u.Ge[c++]=b);u&&ix(a,u);b=Vx;u||a.N!=e||(a.N=-1,b=Wx);Sx(a,b|d);b=-1;break;case Xx:case Yx:Sx(a,Vx|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=fx,u.fl=0),b){case Zx:Sx(a,Vx|d);break;case $x:u.nf=v;
|
|
|
|
|
Sx(a,Vx|d);break;case ay:Sx(a,Vx|d);break;case by:cy(a,u,function(b){Sx(a,b|d)});break;case dy:ey(a,u,function(b){Sx(a,b|d)});break;case fy:gy(a,u,function(b){Sx(a,b|d)});break;default:Sx(a,Wx|d)}}function Qx(a){var b=-1;a.D<a.C&&(b=a.F[a.D++]);return b}function Sx(a,b){a.D=a.C=0;void 0!==b&&Ux(a,b);a.W&&oh(a.W,5);a.fa|=kx}function Ux(a,b){a.F[a.C++]=b}l.pl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.ql=function(a,b){return void 0!==b&&0<=b?zx(a,b):-1};
|
|
|
|
|
l.Hl=function(a,b){void 0!==b&&0<=b?(a.Ua<a.He.length?a.He[a.Ua++]=b:(a.errorCode=hy,b=-1),a=b):a=-1;return a};l.Il=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.$c[a.Je++]=b;if(a.Je==a.$c.length){a.Od=a.$c[0];a.$a=a.$c[1];a.hb=a.$c[2];a.wb=128<<a.$c[3];for(var c=a.Je=0;c<a.wb;c++)if(0>zx(a,a.$i)){a=-1;break a}a.lg++}a.lg>=a.Ud&&(b=-1);a=b}else a=-1;return a};
|
|
|
|
|
function cy(a,b,c){b.errorCode=Tx;if(b.ta&&(b.eb=null,a.W)){b.errorCode=fx;Qn(a.W,3,a,"dmaRead",b);Hn(a.W,3,function(a){a||b.errorCode!=fx||(b.errorCode=Tx);c(b.errorCode?Wx:Vx)});return}c(b.errorCode?Wx:Vx)}function ey(a,b,c){b.errorCode=Tx;if(b.ta&&(b.eb=null,a.W)){b.errorCode=fx;Qn(a.W,3,a,"dmaWrite",b);Hn(a.W,3,function(a){a||(b.errorCode==fx&&(b.errorCode=Tx),b.errorCode==hy&&(b.errorCode=fx));c(b.errorCode?Wx:Vx)});return}c(b.errorCode?Wx:Vx)}
|
|
|
|
|
function gy(a,b,c){b.errorCode=Tx;b.He&&b.He.length==b.wb||(b.He=Array(b.wb));b.Ua=0;a.W?(b.errorCode=fx,Qn(a.W,3,a,"dmaWriteBuffer",b),Hn(a.W,3,function(a){a||b.errorCode!=fx||(b.errorCode=Tx);c(b.errorCode?Wx:Vx)})):c(b.errorCode?Wx:Vx)}
|
|
|
|
|
l.te=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.eb&&(f=a.Ua,d=a.ta.read(a.eb,a.Ua),a.Ua+=g,0<=d))return e=a.eb,b&&b(d,!1,e,f),d;if(b){if(a.ta)return a.ta.seek(a.Od,a.$a,a.hb+a.kg,!1,function(c,k){(a.eb=c)?(e=c,f=a.Ua=0,iy(a),d=a.ta.read(a.eb,a.Ua),a.Ua+=g):a.errorCode=hy;b(d,k,e,f)}),d;a.errorCode=hy;b(d,!1,e,f)}return d};
|
|
|
|
|
function zx(a,b){if(a.errorCode)return-1;do{if(a.eb&&a.ta.write(a.eb,a.Ua++,b))break;a.ta&&a.ta.seek(a.Od,a.$a,a.hb+a.kg,!0,function(b){a.eb=b});if(!a.eb){a.errorCode=hy;b=-1;break}a.Ua=0;iy(a)}while(1);return b}function iy(a){a.hb++;var b=1-a.kg;a.hb>=a.Va+b&&(a.hb=b,a.$a++,a.$a>=a.cb&&(a.$a=0,a.Od++))}l.Zm=function(){var a=this.H.L&255;!(this.H.D>>8)&&128<a&&(this.N=a-128);return!0};l.$m=function(){var a;(a=this.H.D>>8||!this.W)||(a=!(this.W.hc[0].sd&64));return a?!0:!1};
|
|
|
|
|
var gx="Hard Drive",jx=["XTC","ATC","COMPAQ"],hx=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
|
|
|
|
|
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],$w=496,Dx=1,Gx=0,xx=16,Fx=3,Ex=15,Ax=16,wx=1,vx=8,ux=16,dx=64,sx=128,Jx=16,Kx=32,Lx=48,Mx=64,Nx=
|
|
|
|
|
112,Hx=144,Ox=145,Ix=240,Px=2,Cx=4,Vx=0,Wx=2,Zx=0,$x=1,Rx=3,ay=5,by=8,dy=10,ox=12,fy=15,Xx=224,Yx=228,fx=0,Tx=4,hy=20,ex=0,px=1,lx=2,mx=4,nx=8,kx=32,Xw={800:Vw.prototype.Xm,801:Vw.prototype.Ym,802:Vw.prototype.Wm},Ww={496:Vw.prototype.rl,497:Vw.prototype.dm,498:Vw.prototype.fm,499:Vw.prototype.gm,500:Vw.prototype.bm,501:Vw.prototype.am,502:Vw.prototype.cm,503:Vw.prototype.hm},Zw={800:Vw.prototype.wo,801:Vw.prototype.zo,802:Vw.prototype.yo,803:Vw.prototype.xo,807:Vw.prototype.li,811:Vw.prototype.li,
|
|
|
|
|
815:Vw.prototype.li},Yw={496:Vw.prototype.Fn,497:Vw.prototype.Kn,498:Vw.prototype.In,499:Vw.prototype.Jn,500:Vw.prototype.En,501:Vw.prototype.Dn,502:Vw.prototype.Gn,503:Vw.prototype.Cn,1014:Vw.prototype.Hn};eb(function(){for(var a=Bb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=Cb(c),d=new Vw(d);Ab(d,c)}});function jy(a){rb.call(this,"Debugger",a);this.D=+a.base||16;this.ha=["{","}"];this.Ba=["[","]"];this.aa=this.ka=this.P=0;this.ga=!1;this.A=-1;this.C=[];this.I={}}ca(jy,rb);
|
|
|
|
|
jy.prototype.kh=function(){return-1};jy.prototype.lh=function(){};jy.prototype.Uk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
|
|
|
|
jy.prototype.Gg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.ga?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Aa(a.substring(d,f))),d=f+1}}return b};
|
|
|
|
|
function ky(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a<<32-b>>32-b:(b=Math.pow(2,b-1),a>=b?(d=a%b,(a/b|0)&1&&(d-=b)):a<-b&&(d=a%b,((-a-1)/b|0)&1?d&&(d+=b):d||(d-=b)));a!=d&&(a=d);return a}
|
|
|
|
|
function ly(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e,f=a.pop();e=a.pop();switch(d){case "*":e*=f;break;case "/":if(!f)return!1;e=Math.trunc(e/f);break;case "^/":if(!f)return!1;e%=f;break;case "+":e+=f;break;case "-":e-=f;break;case "<<":e<<=f;break;case ">>":e>>=f;break;case ">>>":e>>>=f;break;case "<":e=e<f?1:0;break;case "<=":e=e<=f?1:0;break;case ">":e=e>f?1:0;break;case ">=":e=e>=f?1:0;break;case "==":e=e==f?1:0;break;case "!=":e=e!=f?1:0;break;case "&":e&=
|
|
|
|
|
f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;break;case "||":e=e||f?1:0;break;case ",,":e=ky(e,18,!0)*Math.pow(2,18)+ky(f,18,!0);break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=ky(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(ky(e))}return!0}
|
|
|
|
|
function my(a,b,c,d,e,f){var g,h,k,m=!1,p=0,v=[],u=[],F=a.D;for(a.D=e;c<d;){var H;h=b[c++].trim();k=c<d?b[c++]:"";if(h)H=ny(a,h,null,f,p);else if("{"==k){h=1;for(H=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;H=my(a,b,H,c-1,a.D,f);null!=H&&p&&(H=oy(H,p));h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.D=2;continue}if("^O"==k){a.D=8;continue}if("^D"==k){a.D=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==
|
|
|
|
|
k||"^-"==k){p=p<<2|2;continue}if("^L"==k){p=p<<2|3;continue}}m=!0;break}if(void 0===H)if(f)f.push(h),H=0;else{m=!0;f=[];break}v.push(ky(H));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{m=!0;break}if(!k)break;p="<"==a.ha[0]?py:qy;if(!p[k]){m=!0;break}u.length&&p[k]<=p[u[u.length-1]]&&ly(v,u,1);u.push(k);a.D="^_"==k?10:e;p=0}if(m||!ly(v,u)||1!=v.length)m=!0;m?f||a.O("parse error ("+(h||k)+")"):g=v.pop();a.D=F;return g}
|
|
|
|
|
function ry(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var m=b[h++];if(m==c){k=-1;break}if(!k)break;k--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=ky(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.O("parse error ("+c+b+c+")");return}b=b.substr(0,f)+sy(a,g,-1)+b.substr(h)}return b}
|
|
|
|
|
function ty(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=ry(a,b,'"',7,5);if(!b)return d;b=ry(a,b,"'",6,6);if(!b)return d;16!=a.D&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=my(a,b,0,b.length,a.D,c);void 0!==d&&e&&uy(a,null,d)}return d}
|
|
|
|
|
function vy(a,b){var c,d=a.ha[0],e=a.ha[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=ty(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?sy(a,g):"undefined")}if(a.Ba.length)for(d=a.Ba[0],e=a.Ba[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Uk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.aa-a.ka}if(null==
|
|
|
|
|
e)break;b=b.replace(d[0],e.toString())}return b}function oy(a,b){for(;b;){switch(b&3){case 1:a=-ky(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
|
|
|
|
|
function ny(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.kh(b);if(0<=f)f=a.lh(f);else if(f=b,a.I[f]?f=a.I[f].value:(f=f.substr(0,6),f=a.I[f]&&a.I[f].value),null!=f){var h=a.I[b]&&a.I[b].Vo;h&&(g?g.push(h):(g=ty(a,h,d),void 0!==g?f+=g:(d||a.O("undefined "+(c||"value")+": "+b+" ("+h+")"),f=void 0)))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=ky(oy(f,e)):d||a.O("invalid "+(c||"value")+": "+b)}else d||a.O("missing "+(c||"value"));return f}
|
|
|
|
|
function uy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.D?sy(a,c,32,8,1)+" "+c+".":sy(a,c,32,16,1)+" "+sy(a,c,32,8,1)+" "+sy(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.O((null!=b?b+": ":"")+d);return e}function wy(a,b){var c=0;if(a.I){if(b)return uy(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)uy(a,b[d],a.I[b[d]].value),c++}return 0<c}
|
|
|
|
|
function sy(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=qa(b,0<c?c:0,e);break;case 8:b=ra(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
|
|
|
|
var qy={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},py={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
|
|
|
|
|
function xy(a){jy.call(this,a);this.sa=4;this.la=5;this.wa=1048575;this.N=yy(this,0,0);this.Aa=yy(this,0,0);this.ea=yy(this,0,0);this.F=[];this.B=this.W=this.L=[];zy(this);this.xa=0;Ay(this);this.Da={};By(this,a.messages);this.Ia=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return Cy(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return Cy(b,a)})}ca(xy,jy);l=xy.prototype;
|
|
|
|
|
l.uc=function(a,b,c,d){this.ma=b;this.H=c;this.pa=a;this.fb=bc(a,"FDC");this.Ta=bc(a,"HDC");this.Tc=bc(a,"FPU");this.G=bc(a,"Mouse");(a=Fd(a,"messages"))&&By(this,a);this.la=b.I>>2;this.wa=b.N;this.Za=new ae(this.H,7,"DBG");this.qa=Dy;80186<=this.H.da&&(this.qa=Dy.slice(),this.qa[15]=Ey,80286<=this.H.da&&(this.qa[15]=Fy,80386<=this.H.da&&(this.sa=8)));Gl(this,64,function(a){Gy(d,d.H.sc,a[0])});Gl(this,4,function(a){if(a=a[0]){var b=ny(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Hy(d,
|
|
|
|
|
b,Iy),d.O("dumpSel("+sa(a?a.U:b)+"): %"+q(a?a.Lb:null,d.la)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=Jy[a.type];e&&(c=e[0],b=e[1])}!c||a.nb&32768||(c+=",not present");d.O((b?"seg="+sa(a.ua&65535)+" off="+sa(a.Ka):"base="+q(a.ua,d.la)+" limit="+Ky(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+sa(a.ext&-65296)+
|
|
|
|
|
" dpl="+r(a.qc))}}else d.O("no selector")});Gl(this,134217728,function(a){var b;(a=a[0])&&(b=ny(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+sa(b)+")");b;){a=yy(d,0,b);var c=d.Ja(a,1),e=d.Yc(a,2),k=d.Yc(a,5);if(77!=c&&90!=c)break;d.O(Ly(0,b)+": '"+String.fromCharCode(c)+"' PID="+sa(e)+" LEN="+sa(k)+' "'+My(d,a,8)+'"');b+=1+k}});Gl(this,128,function(a){Gy(d,d.H.aa,a[0],d.H.aa!==d.H.sc)});Gl(this,8,function(a){a:{if(a=a[0]){var b=ny(d,a);if(void 0===b){d.O("invalid task selector: "+
|
|
|
|
|
a);break a}a=Hy(d,b,Iy)}else a=d.H.ka;d.O("dumpTSS("+sa(a?a.U:b)+"): %"+q(a?a.ua:null,d.la));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?Ny:Oy,m,p,v,u;for(u in k)m=k[u],p=a.ua+m,v=Eg(d.H,p,2),2304==c&&(v|=Eg(d.H,p+2,2)<<16),b&&(b+="\n"),b+=sa(m)+" "+za(u+":",11)+q(v,e);if(2304==c)for(u=0,m=v>>>16;m<a.Nb&&1023>u;){p=a.ua+m;v=Eg(d.H,p,2);p=2;c="";if(!p||4<p)p=4;for(e=0;e<p;e++)c&&(c=","+c),c=qa(v&255,8)+c,v>>=8;b+="\n"+sa(m)+" ports "+sa(u)+"-"+sa(u+15)+": "+(""+c);u+=16;m+=2}d.O(b)}}});this.J=
|
|
|
|
|
null;this.Ma=0;this.Ea=!1;Yf(this.H,48,this.cn.bind(this));Yf(this.H,65,this.dn.bind(this));this.Z=null;Yf(this.H,104,this.en.bind(this));Ob(this)};function Py(a,b,c,d,e,f){b=My(a,b);var g=Hy(a,d),g=g?g.Ka+1:0,h=(e?"_CODE":"_DATA")+q(c,2);f&&t(a,128)&&a.message(b+" "+(e?"code":"data")+"("+q(c,4)+")=#"+q(d,4)+" len "+q(g));e=Qy(a,b,c);e[b+h]=0;gq(a,b,c,d,0,null,g,e)}
|
|
|
|
|
function Ry(a,b,c,d){var e=a.Yc(b,2),f=a.Yc(b,2),g=Sy(a,b,4),h=Sy(a,b,4),k=yy(a,Sy(a,b,4),a.Yc(b,2));b=yy(a,Sy(a,b,4),a.Yc(b,2));b=My(a,b).toUpperCase();var k=My(a,k).toUpperCase(),m=(c?"_CODE":"_DATA")+q(e,2);d&&t(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+q(e,4)+")="+q(f,4)+":"+q(g)+" len "+q(h));c=Qy(a,k,e);c[k+m]=g;gq(a,k,e,f,g,null,h,c)}function Ty(a,b,c){c=My(a,c).toUpperCase();Uy(a,c,b)}
|
|
|
|
|
l.cn=function(){var a=this.H;if(null!=this.J&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=yy(this,z(a)+12,a.X.U);switch(Sy(this,d)){case 336:Ry(this,yy(this,a.G,b),!c,!!this.J)}}return!0};
|
|
|
|
|
l.dn=function(a){var b=this.H,c=b.D&65535,d=b.G&65535,e=b.I&65535,f=b.L&65535,g=b.K&65535,h=b.J&65535,k=b.oa.U;if(null==this.J)return 79==c&&Zf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Rb(a,"INT 0x41 handling enabled",128),a.J=!0):(Rb(a,"INT 0x41 monitoring enabled",128),a.J=!1)}}(this)),!0;switch(c){case 79:this.J&&(b.D=b.D&-65536|62342,Rb(this,"INT 0x41 handling enabled",128));break;case 80:Py(this,yy(this,h,k),d+1,e,!(g&1),!!this.J);break;case 82:Uy(this,null,
|
|
|
|
|
d);break;case 127:this.J&&(b.D=b.D&-65536|(this.Ea?0:1));break;case 131:this.J&&(a=yy(this,b.L,e),this.Ma++?(this.O("TRAPFAULT failed"),Vy(this,this.B,a,!0,!0),this.Ma=0,this.Kb()):(this.O("INT 0x41 TRAPFAULT: fault="+sa(d)+" error="+q(b.K,8,!0)+" addr="+Wy(a)),this.rd(this.B,a,!0),Ay(this,!0)));break;case 141:this.J&&(b.D=b.D&-65536|1);break;case 336:Ry(this,yy(this,b.G,f),!g,!!this.J);break;case 338:Ty(this,d,yy(this,b.J,f))}this.Ea=!1;return!this.J};
|
|
|
|
|
l.en=function(a){var b=this.H,c=b.D&255,d=b.D>>8&255,e=b.G&65535,f=b.I&65535,g=b.L&65535,h=b.J&65535,k=b.oa.U;if(null==this.Z){if(67==d){if(609437257==b.ia((b.Z.U<<4)+10)||1111835735==b.ia((b.Z.U<<4)+95))return!0;Zf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Rb(a,"INT 0x68 handling enabled",128),a.J=a.Z=!0):(Rb(a,"INT 0x68 monitoring enabled",128),a.Z=!1)}}(this))}return!0}switch(d){case 67:this.Z&&(b.D=b.D&-65536|62342);break;case 68:this.Z&&(a=ce(b.Z,this.Cl.bind(this)))&&
|
|
|
|
|
(b.J=a[0],ue(b,a[1]));break;case 72:Ty(this,null,e);break;case 80:32==c?Oy(this,xy(this,h,k),0,f,!0,!!this.Z):128>c?Oy(this,xy(this,h,k),e+1,c&64?g:f,!(c&1),!!this.Z):Qy(this,xy(this,h,k),!(c&1),!!this.Z),this.Z&&(b.D=b.D&-256|1)}return!this.Z};l.Cl=function(){var a=this.H;5==(a.D&255)&&(a.I=a.K=0,a.D=a.D&-256|1);return!1};
|
|
|
|
|
l.Cb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.va=this.na[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",By(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.C.length-1&&(b=d.C[++d.A])):40==a.keyCode&&(0<d.A?b=d.C[--d.A]:(b="",d.A=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.na[b]=c,ab(c,function(){if(d.va){var a=d.va.value;
|
|
|
|
|
d.va.value="";By(d,a,!0);return!0}return!1}),!0;case "step":return this.na[b]=c,ab(c,function(a){var b=!1;Pb(d,!0)||(Qb(d,!0),b=Wy(d,a?1:0),Qb(d,!1));return b}),!0}return!1};l.od=function(){this.va&&this.va.focus()};function Xy(a){return!(!(a.H&&a.H.qa&1)||a.H.P&131072)}
|
|
|
|
|
function Gy(a,b,c){var d=Xy(a)?Hy:Yy;c||(c=d);if(c==d){if(b===a.H.Z.U)return a.H.Z;if(b===a.H.Da.U)return a.H.Da;if(b===a.H.oa.U)return a.H.oa;if(b===a.H.X.U)return a.H.X;if(80386<=a.H.da){if(b===a.H.Ga.U)return a.H.Ga;if(b===a.H.Ia.U)return a.H.Ia}if(a.Ga&&c==Hy||!a.Za)return null}a=a.Za;if(c!=Hy)a.qh(b),a.Ka=65535,a.Nb=65536;else{var e;c=a.gc;b&=65535;b&4?(d=c.Eb.ua,e=d+c.Eb.Ka|0):(d=c.Ib,e=c.Pc);d=d+(b&65528)|0;if(e-d|0){e=Eg(c,d+0,2);var f=Eg(c,d+4,2),g=f&7936,h=Eg(c,d+2,2)|(f&255)<<16,k=Eg(c,
|
|
|
|
|
d+6,2);80386<=c.da&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.U=b;a.ua=h;a.Ka=e;a.Nb=(e>>>0)+1;a.nb=f;a.type=g;a.ext=k;a.Lb=d;be(a,!0,!0,!1)}}return a}l.Sb=function(a,b,c){var d=a&&a.ya;if(null==d&&(d=-1,a)){var e=Gy(this,a.U,a.type);e&&(b=a.Ha||0,c=c||1,d=e=-1===e.Lb||e.Oc&&(b>>>0)+c>e.Nb||!e.Oc&&(b>>>0)+c<=e.Nb?e.ua+b|0:-1,a.ya=d)}return d};l.Ja=function(a,b){var c=255,d=this.Sb(a,!1,1);-1!==d&&(c=Eg(this.H,d,1,a.type==Zy)|0,b&&$y(this,a,b));return c};
|
|
|
|
|
l.mb=function(a,b){return a.Hb?Ry(this,a,b?4:0):this.Yc(a,b?2:0)};l.Yc=function(a,b){var c=65535,d=this.Sb(a,!1,2);-1!==d&&(c=Eg(this.H,d,2,a.type==Zy)|0,b&&$y(this,a,b));return c};function Ry(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=Eg(a.H,e,4,b.type==Zy)|0,c&&$y(a,b,c));return d}l.fc=function(a,b,c,d){var e=this.Sb(a,!0,1);if(-1!==e){if(a.type!=Zy)this.H.fc(e,b);else{var f=this.ma;f.aa[(e&f.C)>>>f.A].df(e&f.D,b&255,e)}c&&$y(this,a,c);d||Id(this.H,!0)}};
|
|
|
|
|
l.ml=function(a,b,c){var d=this.Sb(a,!0,2);-1!==d&&(a.type!=Zy?this.H.gb(d,b):Qc(this.ma,d,b),c&&$y(this,a,c),Id(this.H,!0))};function xy(a,b,c,d,e,f,g){return az(a,{},b,c,d,e,f,g)}function az(a,b,c,d,e,f,g,h){b.Ha=c||0;b.U=d;b.ya=e;b.type=f||(Xy(a)?Hy:Yy);b.Hb=null!=g?g:!(!a.H||4!=a.H.Z.V);b.cc=null!=h?h:!(!a.H||4!=a.H.Z.Jc);b.wd=!1;return b}function bz(a){return[a.Ha,a.U,a.ya,a.wd,a.Hb,a.cc,a.Ie,a.gh]}function cz(a){return{Ha:a[0],U:a[1],ya:a[2],wd:a[3],Hb:a[4],cc:a[5],Ie:a[6],gh:a[7]}}
|
|
|
|
|
function dz(a,b,c){if(null!=b.U&&(a=Gy(a,b.U,b.type))){var d=b.Ha&a.wa;if(!a.Oc){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ha=d,b.Hb=4==a.V,b.cc=4==a.Jc)}return!0}
|
|
|
|
|
function ez(a,b,c,d){var e,f=c?a.N:a.Aa;c=d?fz:f.type;var g=f.Ha,h=f.U,f=f.ya;if(void 0!==b){b=uy(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Yy;break;case "#":c=Hy;break;case "%":c=gz;e=b.charAt(1);"%"==e&&(c=Zy,e+=e);g=0;h=null;break;default:0<=f&&(c=fz),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var m=e.toUpperCase(),p=0;p<a.F.length;p++){e=a.F[p];var v=e.Hd[m];if(void 0!==v){m=v.o;void 0!==m&&(k=v.s,void 0===k&&(k=e.U),k=xy(a,m,k,v.p));
|
|
|
|
|
break}}if(e=k)return e;0>f?null!=h?(g=sy(a,b,void 0),f=null):(f=sy(a,b,void 0),null==f&&(g=null)):(h=sy(a,b.substring(0,f),void 0),g=sy(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=xy(a,g,h,f,c),d||dz(a,e,!0)||(a.O("invalid offset: "+Vy(e)),e=null));return e}function hz(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.wl=a.Gg(b.cl=c[2]))}l.Uk=function(a,b){var c=ez(this,b);return a.replace("["+b+"]",c?q(this.mb(c),c.Hb?8:4):"undefined")};
|
|
|
|
|
function $y(a,b,c){c=c||1;null!=b.ya&&(b.ya+=c);null!=b.U&&(b.Ha+=c,dz(a,b)||(b.Ha=0,b.ya=null))}function Ky(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function Vy(a){var b;switch(a.type){case Yy:case iz:b="&";break;case Hy:b="#";break;case gz:b="%";break;case Zy:b="%%";break;default:b=a.U?"":"%"}return a.type>=gz||null==a.U?b+q(a.ya):b+Ky(a.Ha,a.U,a.cc)}
|
|
|
|
|
function Ly(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Ja(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
|
|
|
|
|
function Fy(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Sb(ez(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.H.kb;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==hd&&(d=zd(a.H,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Ac[c],c==jd&&(d=d.td,h+=" -> "+Ac[d.type]),d&&a.O(q(d.id,8)+" %"+q(f<<a.H.kb,8)+" %%"+q(d.ya,8)+" "+sa(d.we)+" "+sa(d.size)+
|
|
|
|
|
" "+h),c!=gd&&c!=hd&&(c=-1),h=0),e+=a.H.Rg,f++}function jz(a,b,c){a=q(a)+" "+q(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-")+(b&4?"U":"S");a+=b&2?"W":"R";return a+=b&1?"P":"N"}function Py(a,b,c){var d=[],e;for(e=null;e=bc(a.pa,"Disk",e);){var f=e,g=b,h=c,d={};if(f.C)for(var k=0;k<f.C.length;k++){var m=f.C[k];if(m.Sf==g&&(m=m.qd[h])){for(var p in m.ee)f=m.ee[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
|
|
|
|
|
function Ay(a,b){a.ca=a;a.ic=a.Al=1073741824;a.za=null;b=a.Gg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Xb)0<=Ka(b,c)&&(a.ic|=Xb[c],a.O(c+" messages enabled"));zy(a)}function Gl(a,b,c){for(var d in Xb)if(b==Xb[d]){a.Da[d]=c;break}}l.kh=function(a,b){var c;a=a.toUpperCase();null==b?c=Ka(kz,a):(c=Ka(kz,a.substr(b,3)),0>c&&(c=Ka(kz,a.substr(b,2))));return c};
|
|
|
|
|
function lz(a,b){var c=0,d=a.lh(b);if(null!=d)switch(b){case mz:case nz:case oz:case pz:case qz:case rz:case sz:case tz:c=2;break;case uz:case vz:case wz:case xz:case yz:case zz:case Az:case Bz:case Cz:case Dz+Ez:case Dz+Fz:case Dz+Gz:case Dz+Hz:case Dz+Iz:case Dz+Jz:c=4;break;case Kz:case Lz:case Mz:case Nz:case Oz:case Pz:case Qz:case Rz:case Sz:case Tz:case Uz:case Vz:case Wz:c=8;break;case Xz:c=a.sa}return c?q(d,c):"??"}
|
|
|
|
|
l.lh=function(a){var b;if(0<=a){var c=this.H;switch(a){case mz:b=c.D&255;break;case nz:b=c.I&255;break;case oz:b=c.L&255;break;case pz:b=c.G&255;break;case qz:b=c.D>>8&255;break;case rz:b=c.I>>8&255;break;case sz:b=c.L>>8&255;break;case tz:b=c.G>>8&255;break;case uz:b=c.D&65535;break;case vz:b=c.I&65535;break;case wz:b=c.L&65535;break;case xz:b=c.G&65535;break;case yz:b=z(c)&65535;break;case zz:b=c.M&65535;break;case Az:b=c.K&65535;break;case Bz:b=c.J&65535;break;case Cz:b=A(c)&65535;break;case Xz:b=
|
|
|
|
|
xe(c);break;case Dz+Ez:b=c.oa.U;break;case Dz+Fz:b=c.Z.U;break;case Dz+Gz:b=c.X.U;break;case Dz+Hz:b=c.Da.U;break;default:if(80286==this.H.da)a==Sz&&(b=c.qa);else if(80386<=this.H.da)switch(a){case Kz:b=c.D;break;case Lz:b=c.I;break;case Mz:b=c.L;break;case Nz:b=c.G;break;case Oz:b=z(c);break;case Pz:b=c.M;break;case Qz:b=c.K;break;case Rz:b=c.J;break;case Sz:b=c.qa;break;case Tz:b=c.Sg;break;case Uz:b=c.Fd;break;case Vz:b=c.Wc;break;case Dz+Iz:b=c.Ga.U;break;case Dz+Jz:b=c.Ia.U;break;case Wz:b=A(c)}}}return b};
|
|
|
|
|
function Yz(a,b){b=uy(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.kh(b,c+1),0<=e&&(b=b.substr(0,c)+lz(a,e)+b.substr(c+1+kz[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=oa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=ez(a,e))?(d=e+' "'+Ly(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=ez(a,e))?($y(a,d),
|
|
|
|
|
d=e+' "'+Ly(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Vy(xy(this,A(this.H),this.H.Z.U))+" (%"+q(this.H.ea)+")");this.za&&a==this.za||(this.za=a,this.ic&-2147483648&&(this.Kb(),a+=" (cpu halted)"),this.O(a),this.H&&(a=this.H,a.zc-=a.A,a.A=0,a.T.Xe=0,Id(a)))};
|
|
|
|
|
function bl(a,b,c,d){var e,f;if(!d&&(d=t(a,1)&&0>Zz.indexOf(b),!d)){var g=$z[b];g&&(d=t(a,g)?!0:524288==g&&t(a,g=1048576))}d&&(e=a.H.D>>8&255,f=a.H.L&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Wb[b])&&g[e]||"")&&(g=" "+Yz(a,g)),a.message("INT "+r(b)+": AH="+r(e)+" at "+Ky(c-2-a.H.Z.ua,a.H.Z.U)+g));return d}
|
|
|
|
|
function Sb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.ic&h)==h)h=null,null!=e&&(h=a.H.Z.U,e-=a.H.Z.ua),a.message(b.ye+"."+(null!=d?"outPort":"inPort")+"("+sa(c)+","+(f?f:"unknown")+(null!=d?","+r(d):"")+")"+(null!=g?": "+r(g):"")+(null!=e?" at "+Ky(e,h):""))}l.mh=function(){this.O("Type ? for help with PCx86 Debugger commands");aA(this);if(this.Ia){var a=this.Ia;this.Ia=null;By(this,a)}};
|
|
|
|
|
function zy(a,b){var c;if(Pg(a)){if(!a.X||!a.X.length){a.X=Array(bA);for(c=0;c<a.X.length;c++)a.X[c]=xy(a);a.oa=0;b||a.O("instruction history buffer allocated")}if(!a.M||!a.M.length)for(a.M=Array(256),c=0;c<a.M.length;c++)a.M[c]=[c,0]}else a.X&&a.X.length&&!b&&a.O("instruction history buffer freed"),a.oa=0,a.X=[],a.M=[]}function cA(a,b){if(!dA(a))return!1;a.H.Wf(b);return!0}
|
|
|
|
|
function Wy(a,b,c,d){if(!dA(a))return!1;a.P=0;do{b||Pg(a)&&Sg(a,a.H.ea,0);try{var e=a.H.Pg(b);0<e&&(a.P+=e,Od(a.H,e,!0),Jd(a.H,e),a.aa++)}catch(g){if("number"!=typeof g){var f=g;a.P=0;Mb(a.H,f.stack||f.message)}}}while(a.H.N&3312);!1!==d&&Id(a.H);aA(a,c||!1);return 0<a.P}l.Kb=function(a){this.H&&this.H.Kb(a)};function aA(a,b){void 0===b&&(b=!0);a.N=xy(a,A(a.H),a.H.Z.U);b&&1!=a.K?eA(a):fA(a)}
|
|
|
|
|
function dA(a){var b;if(b=a.H&&Nb(a.H))b=a.H,b.ba.dc?b=!0:(b.O(b.toString()+" not powered"),b=!1);b&&!Pb(a.H)?(a=a.H,a.ba.error?(a.O(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Xb=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Wb=function(a,b){b&&this.O(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){zy(this);this.aa=this.ka=0;this.za=null;this.P=0;this.N=xy(this,A(this.H),this.H.Z.U);this.ba.jb=!1;gA(this);a||aA(this)};
|
|
|
|
|
l.save=function(){var a=new cg(this);a.set(0,bz(this.N));a.set(1,bz(this.Aa));a.set(2,bz(this.ea));a.set(3,[this.C,this.ga,this.ic]);a.set(4,this.F);a.set(5,[this.B,this.W,this.L]);return a.data()};
|
|
|
|
|
l.restore=function(a){var b=0;a[b]&&(this.N=cz(a[b++]));a[5]&&(this.Aa=cz(a[b++]));a[b]&&(this.ea=cz(a[b++]));a[b]&&(this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.ga=a[b][1],this.ic|=a[b][2],b++);a[b]&&(this.F=a[b++]);a[b]&&(hA(this,this.B,a[b][0]),hA(this,this.W,a[b][1]),hA(this,this.L,a[b][2]));return!0};l.start=function(a,b){this.K||this.O("running");this.ba.jb=!0;this.kb=a;this.jd=b};
|
|
|
|
|
l.stop=function(a,b){if(this.ba.jb){this.ba.jb=!1;this.P=b-this.jd;if(!this.K){b="stopped";if(this.P){a-=this.kb;var c=0<a?Math.round(1E3*this.P/a):0;b+=" (";Pg(this)&&(b+=this.aa+" opcodes, ",this.ka-=this.aa,this.aa=0);b+=this.P+" cycles, "+a+" ms, "+c+" hz)"}else t(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.O(b)}aA(this,!0);this.od();gA(this,this.H.ea)}};function Pg(a){return 1<a.B.length||!!a.xa||t(a,16)}
|
|
|
|
|
function Sg(a,b,c){var d=a.H;if(0<c&&(a.xa&&!--a.xa||iA(a,b,1,a.B)))return!0;0<=c&&a.M.length&&(a.aa++,b=Eg(d,b),null!=b&&(a.M[b][1]++,b=a.X[a.oa],az(a,b,A(d),d.Z.U),b.mj=Kd(d),++a.oa==a.X.length&&(a.oa=0)));return!1}function wd(a,b,c){return iA(a,b,c||1,a.W)?(a.Kb(!0),!0):!1}function yd(a,b,c){return iA(a,b,c||1,a.L)?(a.Kb(!0),!0):!1}function Vc(a,b,c){a.O("break on input from port "+sa(b)+": "+q(c));a.Kb(!0)}function Zc(a,b,c){a.O("break on output to port "+sa(b)+": "+q(c));a.Kb(!0)}
|
|
|
|
|
function yy(a){var b,c;a.B=["bp"];if(a.W)for(b=1;b<a.W.length;b++)c=a.W[b],wf(a.H,a.Sb(c),!1,c.type==Zy);a.W=["br"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],wf(a.H,a.Sb(c),!0,c.type==Zy);a.L=["bw"];a.Ga=0}
|
|
|
|
|
l.rd=function(a,b,c,d){var e=!0;c||Uy(this,a,b,!1,!0);if(a!=this.B){var f=this.Sb(b);if(-1===f)this.O("invalid address: "+Vy(b)),e=!1;else{var g=this.H,h=b.type==Zy;(h?g.sc:g.aa)[f>>>g.kb].rd(f&g.Db,a==this.L);h&&zc(g)}}e&&(a.push(b),c?(null!=b.ya&&(b.U=null),b.wd=!0):(d||jA(this,a,a.length-1,"set"),zy(this)));return e};
|
|
|
|
|
function Uy(a,b,c,d,e){for(var f=!1,g=kA(a,a.Sb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==kA(a,a.Sb(k))||-1===g&&c.U==k.U&&c.Ha==k.Ha)if(!d||k.wd){f=!0;k.wd||e||jA(a,b,h,"cleared");b.splice(h,1);b!=a.B&&wf(a.H,g,b==a.L,k.type==Zy);k.wd||zy(a);break}}return f}function lA(a,b){for(var c=1;c<b.length;c++)jA(a,b,c);return b.length-1}function jA(a,b,c,d){c=b[c];a.O(b[0]+" "+Vy(c)+(d?" "+d:c.cl?' "'+c.cl+'"':""))}
|
|
|
|
|
function hA(a,b,c){if(c[0]==b[0])for(var d=1;d<c.length;d++){var e=c[d];a.rd(b,e,e.wd,!0)}}function gA(a,b){if(void 0!==b)iA(a,b,1,a.B,!0),a.K=0;else for(b=1;b<a.B.length;b++){var c=a.B[b];if(c.wd){if(!Uy(a,a.B,c,!0))break;b=0}}}function kA(a,b){-1!==b&&(a=a.wa&-65536,(b&a)==a&&(b&=1048575));return b}
|
|
|
|
|
function iA(a,b,c,d,e){var f=!1;if(!a.Ga++){b=kA(a,b);t(a,-2147483632)&&204==Eg(a.H,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.wd){null!=h.U&&(h.ya=null);for(var k=kA(a,a.Sb(h)),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.wd&&(Uy(a,d,h,!0),e=!0);if(p=h.wl){for(var f=!1,v=0;v<p.length;v++)if(!mA(a,p[v],!0)){if(p[v].indexOf("if")){f=!0;break}for(var u=v+1;u<p.length&&p[u].indexOf("else");u++)v++;if(u==p.length){f=!0;break}}a.H.ba.jb||(f=!0)}if(f){e||jA(a,d,g,"hit");break}}}}}a.Ga--;return f}
|
|
|
|
|
function nA(a,b,c,d){for(var e=xy(a,b.Ha,b.U,b.ya,b.type),f=a.Ja(b,1),g=4,h=0,k=!1,m=!1;(102==f||103==f)&&g--;)102==f?k||(b.Hb=!b.Hb,k=!0):m||(b.cc=!b.cc,m=!0),h++,f=a.Ja(b,1);var g=-1,p=oA,k=a.qa[f],m=k[0];m==pA&&(m=a.Ja(b,1),k=qA[m]||Dy,f|=m<<8,m=k[0]);if(m==rA){var g=a.Ja(b,1),v;v=null;var u=g>>3&7,F=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=F&&(F=u<<4|g&7);(u=sA[f])&&(v=u[F]);v&&(p=tA,k=v,m=k[0])}m>=p.length&&(g=a.Ja(b,1),k=uA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Hb&&(m==vA?
|
|
|
|
|
p="CWDE":m==wA?p="CDQ":m>=xA&&m<=yA&&(p+="D"));if(164<=f&&167>=f||170<=f&&175>=f)u=0,b.Hb&&"W"==p.slice(-1)&&(p=p.slice(0,-1)+"D");for(var f=-1,F=!0,H=1;H<=u;H++){var I,L;I="";L=k[H];if(void 0!==L){0>f&&(f=L>>zA);m==AA&&(f==BA?v="[%800]":f==CA&&(v="ES:["+(b.cc?"E":"")+"DI]"));var P=L&DA;if(P!=EA)if(P==FA)F=!1;else{var K=L&GA;if(K>=S)if(0>g&&(g=a.Ja(b,1)),K<HA){K=a;I=L;var Ba=u;L=b;var ba="",ib=g>>6,ua=g&7;if(3>ib){P=!p.indexOf("FI");if(!ib&&(!L.cc&&6==ua||L.cc&&5==ua))ib=2;else{if(L.cc)if(4!=ua)ua+=
|
|
|
|
|
8;else{var ba=K,cb=ib,Oa=L,jb=ba.Ja(Oa,1),db=jb>>6,rc=jb>>3&7,jb=jb&7,kb="";if(cb||5!=jb)kb=IA[jb+8];4!=rc&&(kb&&(kb+="+"),kb+=IA[rc+8],db&&(kb+="*"+(1<<db)));cb||5!=jb||(kb&&(kb+="+"),kb+=q(Ry(ba,Oa,4)));ba=kb}ba||(ba=IA[ua])}1==ib?(K=K.Ja(L,1),ba=K&128?ba+("-"+q(-(K<<24>>24),2)):ba+("+"+q(K,2))):2==ib&&(ba&&(ba+="+"),L.cc?(K=Ry(K,L,4),ba+=q(K)):(K=K.Yc(L,2),ba+=q(K,4)));ba="["+ba+"]";if(1==Ba){K="";I&=DA;I==T&&(I=L.Hb?JA:U);switch(I){case KA:K="FAR";break;case V:K="BYTE";break;case U:if(P){K="INT16";
|
|
|
|
|
break}K="WORD";break;case JA:K="DWORD";break;case LA:if(P){K="INT32";break}case MA:K="REAL32";break;case NA:if(P){K="INT64";break}case OA:K="REAL64";break;case PA:K="REAL80";break;case QA:K="BCD80"}K&&(ba=K+" "+ba)}}else ba=RA(K,ua,I,L);I=ba}else I=K==HA?RA(a,g&7,L,b):RA(a,g>>3&7,L,b);else if(K==SA)I="1";else if(K==W){I=a;P=L;K=b;L=" ";switch(P&DA){case V:P&X&&(L=q(I.Ja(K,1),2));break;case TA:L=q(I.Ja(K,1)<<24>>24,K.Hb?8:4);break;case T:if(K.Hb){L=q(Ry(I,K,4));break}case U:L=q(I.Yc(K,2),4);break;
|
|
|
|
|
case KA:K=xy(I,I.mb(K,!0),I.Yc(K,2),null,K.type,K.Hb,K.cc);L=Vy(K);I=UA(I,K);I[0]&&(L+=" ("+I[0]+")");break;default:L="imm("+sa(P)+")"}I=L}else K==VA?(b.cc?(I=8,L=Ry(a,b,4)):(I=4,L=a.Yc(b,2)),I="["+q(L,I)+"]"):K==WA?(I=P==V?a.Ja(b,1)<<24>>24:a.mb(b,!0),L=b.Ha+I&(b.Hb?-1:65535),I=q(L,b.Hb?8:4),L=UA(a,xy(a,L,b.U)),L[0]&&(I+=" ("+L[0]+")")):K==Y?I=P==XA?"ST":P==YA?"ST("+(g&7)+")":RA(a,(L&ZA)>>8,L,b):K==$A?I=RA(a,(L&ZA)>>8,aB,b):K==bB?I="DS:[SI]":K==cB&&(I="ES:[DI]");if(!I||!I.length){v="INVALID";break}0<
|
|
|
|
|
v.length&&(v+=",");v+=I||"???"}}}g="";k=Vy(e)+" ";if(-1!==e.ya&&-1!==b.ya){do if(g+=q(a.Ja(e,1),2),null==e.ya)break;while(e.ya!=b.ya)}k+=za(g,e.cc?24:16);k+=za(p,8);v&&(k+=" "+v);a.H.da<dB[f]&&(c=dB[f]+" CPU only");c&&F&&(k=za(k,e.cc?74:56)+";"+c,k=a.H.ba.Ke?k+("cycles="+Kd(a.H).toString()+" cs="+q(a.H.T.vf)):k+(null!=d?"="+d.toString():""));eB(b,F,h);return k}
|
|
|
|
|
function RA(a,b,c,d){var e=c&GA;if(e==aB){if(b>Jz||b>=Iz&&80386>a.H.da)return"??";b+=Dz}else if(e==fB)b+=Sz;else if(e==gB)b+=hB;else if(e==iB)b+=jB;else if(a=c&DA,a>=U&&(b<uz&&(b+=uz-mz),a==JA||a==T&&d.Hb))b+=Kz-uz;return kz[b]}
|
|
|
|
|
function kB(a,b){switch(b){case "V":a=og(a.H);break;case "D":a=a.H.P&1024;break;case "I":a=a.H.P&512;break;case "T":a=a.H.P&256;break;case "S":a=ng(a.H);break;case "Z":a=mg(a.H);break;case "A":a=lg(a.H);break;case "P":a=kg(a.H);break;case "C":a=jg(a.H);break;default:a=0}return b+(a?"1":"0")+" "}function Jy(a){return q(a,a&-65536?8:4)}function lB(a,b){b>=uz&&b<=Bz&&4<a.sa&&(b+=Kz-uz);var c=kz[b];b==Sz&&80286==a.H.da&&(c="MS");return c+"="+lz(a,b)+" "}
|
|
|
|
|
function mB(a,b,c){return b.Zb+"="+q(b.U,4)+(c?"["+q(b.ua,a.la)+","+Jy(b.Ka)+"]":"")}function nB(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.la)+","+q(e-d,4)+"]"}
|
|
|
|
|
function oB(a,b){var c;void 0===b&&(b=Xy(a));c=lB(a,uz)+lB(a,xz)+lB(a,vz)+lB(a,wz)+(4<a.sa?"\n":"")+lB(a,yz)+lB(a,zz)+lB(a,Az)+lB(a,Bz)+"\n"+mB(a,a.H.X,b)+" "+mB(a,a.H.Da,b)+" "+mB(a,a.H.oa,b)+" ";if(b){var d="TR="+q(a.H.ka.U,4),e=a.ma,e="A20="+(e.J||e.N!=e.C?"OFF ":"ON ");80386>a.H.da&&(d="\n"+d,c+=e,e="");c+="\n"+mB(a,a.H.Z,b)+" ";80386<=a.H.da&&(e+="\n",c+=mB(a,a.H.Ga,b)+" "+mB(a,a.H.Ia,b)+"\n");c+=nB(a,"LD",a.H.Eb.U,a.H.Eb.ua,a.H.Eb.ua+a.H.Eb.Ka)+" "+nB(a,"GD",null,a.H.Ib,a.H.Pc)+" "+nB(a,"ID",
|
|
|
|
|
null,a.H.Pb,a.H.cd)+" ";c=c+(d+" "+e)+lB(a,Sz);80386<=a.H.da&&(c+=lB(a,Uz)+lB(a,Vz))}else 80386<=a.H.da&&(c+=mB(a,a.H.Ga,b)+" "+mB(a,a.H.Ia,b)+" ");return c+=lB(a,Xz)+kB(a,"V")+kB(a,"D")+kB(a,"I")+kB(a,"T")+kB(a,"S")+kB(a,"Z")+kB(a,"A")+kB(a,"P")+kB(a,"C")}l.kj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
|
|
|
|
(b.J=a[0],ue(b,a[1]));break;case 72:Uy(this,null,e);break;case 80:32==c?Py(this,yy(this,h,k),0,f,!0,!!this.Z):128>c?Py(this,yy(this,h,k),e+1,c&64?g:f,!(c&1),!!this.Z):Ry(this,yy(this,h,k),!(c&1),!!this.Z),this.Z&&(b.D=b.D&-256|1)}return!this.Z};l.Cl=function(){var a=this.H;5==(a.D&255)&&(a.I=a.K=0,a.D=a.D&-256|1);return!1};
|
|
|
|
|
l.Cb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.va=this.na[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Cy(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.C.length-1&&(b=d.C[++d.A])):40==a.keyCode&&(0<d.A?b=d.C[--d.A]:(b="",d.A=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.na[b]=c,ab(c,function(){if(d.va){var a=d.va.value;
|
|
|
|
|
d.va.value="";Cy(d,a,!0);return!0}return!1}),!0;case "step":return this.na[b]=c,ab(c,function(a){var b=!1;Pb(d,!0)||(Qb(d,!0),b=Xy(d,a?1:0),Qb(d,!1));return b}),!0}return!1};l.od=function(){this.va&&this.va.focus()};function Yy(a){return!(!(a.H&&a.H.qa&1)||a.H.P&131072)}
|
|
|
|
|
function Hy(a,b,c){var d=Yy(a)?Iy:Zy;c||(c=d);if(c==d){if(b===a.H.Z.U)return a.H.Z;if(b===a.H.Da.U)return a.H.Da;if(b===a.H.oa.U)return a.H.oa;if(b===a.H.X.U)return a.H.X;if(80386<=a.H.da){if(b===a.H.Ga.U)return a.H.Ga;if(b===a.H.Ia.U)return a.H.Ia}if(a.Ga&&c==Iy||!a.Za)return null}a=a.Za;if(c!=Iy)a.qh(b),a.Ka=65535,a.Nb=65536;else{var e;c=a.gc;b&=65535;b&4?(d=c.Eb.ua,e=d+c.Eb.Ka|0):(d=c.Ib,e=c.Pc);d=d+(b&65528)|0;if(e-d|0){e=Eg(c,d+0,2);var f=Eg(c,d+4,2),g=f&7936,h=Eg(c,d+2,2)|(f&255)<<16,k=Eg(c,
|
|
|
|
|
d+6,2);80386<=c.da&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.U=b;a.ua=h;a.Ka=e;a.Nb=(e>>>0)+1;a.nb=f;a.type=g;a.ext=k;a.Lb=d;be(a,!0,!0,!1)}}return a}l.Sb=function(a,b,c){var d=a&&a.ya;if(null==d&&(d=-1,a)){var e=Hy(this,a.U,a.type);e&&(b=a.Ha||0,c=c||1,d=e=-1===e.Lb||e.Oc&&(b>>>0)+c>e.Nb||!e.Oc&&(b>>>0)+c<=e.Nb?e.ua+b|0:-1,a.ya=d)}return d};l.Ja=function(a,b){var c=255,d=this.Sb(a,!1,1);-1!==d&&(c=Eg(this.H,d,1,a.type==$y)|0,b&&az(this,a,b));return c};
|
|
|
|
|
l.mb=function(a,b){return a.Hb?Sy(this,a,b?4:0):this.Yc(a,b?2:0)};l.Yc=function(a,b){var c=65535,d=this.Sb(a,!1,2);-1!==d&&(c=Eg(this.H,d,2,a.type==$y)|0,b&&az(this,a,b));return c};function Sy(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=Eg(a.H,e,4,b.type==$y)|0,c&&az(a,b,c));return d}l.fc=function(a,b,c,d){var e=this.Sb(a,!0,1);if(-1!==e){if(a.type!=$y)this.H.fc(e,b);else{var f=this.ma;f.aa[(e&f.C)>>>f.A].df(e&f.D,b&255,e)}c&&az(this,a,c);d||Id(this.H,!0)}};
|
|
|
|
|
l.ml=function(a,b,c){var d=this.Sb(a,!0,2);-1!==d&&(a.type!=$y?this.H.gb(d,b):Qc(this.ma,d,b),c&&az(this,a,c),Id(this.H,!0))};function yy(a,b,c,d,e,f,g){return bz(a,{},b,c,d,e,f,g)}function bz(a,b,c,d,e,f,g,h){b.Ha=c||0;b.U=d;b.ya=e;b.type=f||(Yy(a)?Iy:Zy);b.Hb=null!=g?g:!(!a.H||4!=a.H.Z.V);b.cc=null!=h?h:!(!a.H||4!=a.H.Z.Jc);b.wd=!1;return b}function cz(a){return[a.Ha,a.U,a.ya,a.wd,a.Hb,a.cc,a.Ie,a.gh]}function dz(a){return{Ha:a[0],U:a[1],ya:a[2],wd:a[3],Hb:a[4],cc:a[5],Ie:a[6],gh:a[7]}}
|
|
|
|
|
function ez(a,b,c){if(null!=b.U&&(a=Hy(a,b.U,b.type))){var d=b.Ha&a.wa;if(!a.Oc){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ha=d,b.Hb=4==a.V,b.cc=4==a.Jc)}return!0}
|
|
|
|
|
function fz(a,b,c,d){var e,f=c?a.N:a.Aa;c=d?gz:f.type;var g=f.Ha,h=f.U,f=f.ya;if(void 0!==b){b=vy(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Zy;break;case "#":c=Iy;break;case "%":c=hz;e=b.charAt(1);"%"==e&&(c=$y,e+=e);g=0;h=null;break;default:0<=f&&(c=gz),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var m=e.toUpperCase(),p=0;p<a.F.length;p++){e=a.F[p];var v=e.Hd[m];if(void 0!==v){m=v.o;void 0!==m&&(k=v.s,void 0===k&&(k=e.U),k=yy(a,m,k,v.p));
|
|
|
|
|
break}}if(e=k)return e;0>f?null!=h?(g=ty(a,b,void 0),f=null):(f=ty(a,b,void 0),null==f&&(g=null)):(h=ty(a,b.substring(0,f),void 0),g=ty(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=yy(a,g,h,f,c),d||ez(a,e,!0)||(a.O("invalid offset: "+Wy(e)),e=null));return e}function iz(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.wl=a.Gg(b.cl=c[2]))}l.Uk=function(a,b){var c=fz(this,b);return a.replace("["+b+"]",c?q(this.mb(c),c.Hb?8:4):"undefined")};
|
|
|
|
|
function az(a,b,c){c=c||1;null!=b.ya&&(b.ya+=c);null!=b.U&&(b.Ha+=c,ez(a,b)||(b.Ha=0,b.ya=null))}function Ly(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function Wy(a){var b;switch(a.type){case Zy:case jz:b="&";break;case Iy:b="#";break;case hz:b="%";break;case $y:b="%%";break;default:b=a.U?"":"%"}return a.type>=hz||null==a.U?b+q(a.ya):b+Ly(a.Ha,a.U,a.cc)}
|
|
|
|
|
function My(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Ja(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
|
|
|
|
|
function Gy(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Sb(fz(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.H.kb;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==hd&&(d=zd(a.H,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Ac[c],c==jd&&(d=d.td,h+=" -> "+Ac[d.type]),d&&a.O(q(d.id,8)+" %"+q(f<<a.H.kb,8)+" %%"+q(d.ya,8)+" "+sa(d.we)+" "+sa(d.size)+
|
|
|
|
|
" "+h),c!=gd&&c!=hd&&(c=-1),h=0),e+=a.H.Rg,f++}function kz(a,b,c){a=q(a)+" "+q(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-")+(b&4?"U":"S");a+=b&2?"W":"R";return a+=b&1?"P":"N"}function Qy(a,b,c){var d=[],e;for(e=null;e=bc(a.pa,"Disk",e);){var f=e,g=b,h=c,d={};if(f.C)for(var k=0;k<f.C.length;k++){var m=f.C[k];if(m.Sf==g&&(m=m.qd[h])){for(var p in m.ee)f=m.ee[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
|
|
|
|
|
function By(a,b){a.ca=a;a.ic=a.Al=1073741824;a.za=null;b=a.Gg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Xb)0<=Ka(b,c)&&(a.ic|=Xb[c],a.O(c+" messages enabled"));Ay(a)}function Gl(a,b,c){for(var d in Xb)if(b==Xb[d]){a.Da[d]=c;break}}l.kh=function(a,b){var c;a=a.toUpperCase();null==b?c=Ka(lz,a):(c=Ka(lz,a.substr(b,3)),0>c&&(c=Ka(lz,a.substr(b,2))));return c};
|
|
|
|
|
function mz(a,b){var c=0,d=a.lh(b);if(null!=d)switch(b){case nz:case oz:case pz:case qz:case rz:case sz:case tz:case uz:c=2;break;case vz:case wz:case xz:case yz:case zz:case Az:case Bz:case Cz:case Dz:case Ez+Fz:case Ez+Gz:case Ez+Hz:case Ez+Iz:case Ez+Jz:case Ez+Kz:c=4;break;case Lz:case Mz:case Nz:case Oz:case Pz:case Qz:case Rz:case Sz:case Tz:case Uz:case Vz:case Wz:case Xz:c=8;break;case Yz:c=a.sa}return c?q(d,c):"??"}
|
|
|
|
|
l.lh=function(a){var b;if(0<=a){var c=this.H;switch(a){case nz:b=c.D&255;break;case oz:b=c.I&255;break;case pz:b=c.L&255;break;case qz:b=c.G&255;break;case rz:b=c.D>>8&255;break;case sz:b=c.I>>8&255;break;case tz:b=c.L>>8&255;break;case uz:b=c.G>>8&255;break;case vz:b=c.D&65535;break;case wz:b=c.I&65535;break;case xz:b=c.L&65535;break;case yz:b=c.G&65535;break;case zz:b=z(c)&65535;break;case Az:b=c.M&65535;break;case Bz:b=c.K&65535;break;case Cz:b=c.J&65535;break;case Dz:b=A(c)&65535;break;case Yz:b=
|
|
|
|
|
xe(c);break;case Ez+Fz:b=c.oa.U;break;case Ez+Gz:b=c.Z.U;break;case Ez+Hz:b=c.X.U;break;case Ez+Iz:b=c.Da.U;break;default:if(80286==this.H.da)a==Tz&&(b=c.qa);else if(80386<=this.H.da)switch(a){case Lz:b=c.D;break;case Mz:b=c.I;break;case Nz:b=c.L;break;case Oz:b=c.G;break;case Pz:b=z(c);break;case Qz:b=c.M;break;case Rz:b=c.K;break;case Sz:b=c.J;break;case Tz:b=c.qa;break;case Uz:b=c.Sg;break;case Vz:b=c.Fd;break;case Wz:b=c.Wc;break;case Ez+Jz:b=c.Ga.U;break;case Ez+Kz:b=c.Ia.U;break;case Xz:b=A(c)}}}return b};
|
|
|
|
|
function Zz(a,b){b=vy(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.kh(b,c+1),0<=e&&(b=b.substr(0,c)+mz(a,e)+b.substr(c+1+lz[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=oa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=fz(a,e))?(d=e+' "'+My(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=fz(a,e))?(az(a,d),
|
|
|
|
|
d=e+' "'+My(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Wy(yy(this,A(this.H),this.H.Z.U))+" (%"+q(this.H.ea)+")");this.za&&a==this.za||(this.za=a,this.ic&-2147483648&&(this.Kb(),a+=" (cpu halted)"),this.O(a),this.H&&(a=this.H,a.zc-=a.A,a.A=0,a.T.Xe=0,Id(a)))};
|
|
|
|
|
function bl(a,b,c,d){var e,f;if(!d&&(d=t(a,1)&&0>$z.indexOf(b),!d)){var g=aA[b];g&&(d=t(a,g)?!0:524288==g&&t(a,g=1048576))}d&&(e=a.H.D>>8&255,f=a.H.L&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Wb[b])&&g[e]||"")&&(g=" "+Zz(a,g)),a.message("INT "+r(b)+": AH="+r(e)+" at "+Ly(c-2-a.H.Z.ua,a.H.Z.U)+g));return d}
|
|
|
|
|
function Sb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.ic&h)==h)h=null,null!=e&&(h=a.H.Z.U,e-=a.H.Z.ua),a.message(b.ye+"."+(null!=d?"outPort":"inPort")+"("+sa(c)+","+(f?f:"unknown")+(null!=d?","+r(d):"")+")"+(null!=g?": "+r(g):"")+(null!=e?" at "+Ly(e,h):""))}l.mh=function(){this.O("Type ? for help with PCx86 Debugger commands");bA(this);if(this.Ia){var a=this.Ia;this.Ia=null;Cy(this,a)}};
|
|
|
|
|
function Ay(a,b){var c;if(Pg(a)){if(!a.X||!a.X.length){a.X=Array(cA);for(c=0;c<a.X.length;c++)a.X[c]=yy(a);a.oa=0;b||a.O("instruction history buffer allocated")}if(!a.M||!a.M.length)for(a.M=Array(256),c=0;c<a.M.length;c++)a.M[c]=[c,0]}else a.X&&a.X.length&&!b&&a.O("instruction history buffer freed"),a.oa=0,a.X=[],a.M=[]}function dA(a,b){if(!eA(a))return!1;a.H.Wf(b);return!0}
|
|
|
|
|
function Xy(a,b,c,d){if(!eA(a))return!1;a.P=0;do{b||Pg(a)&&Sg(a,a.H.ea,0);try{var e=a.H.Pg(b);0<e&&(a.P+=e,Od(a.H,e,!0),Jd(a.H,e),a.aa++)}catch(g){if("number"!=typeof g){var f=g;a.P=0;Mb(a.H,f.stack||f.message)}}}while(a.H.N&3312);!1!==d&&Id(a.H);bA(a,c||!1);return 0<a.P}l.Kb=function(a){this.H&&this.H.Kb(a)};function bA(a,b){void 0===b&&(b=!0);a.N=yy(a,A(a.H),a.H.Z.U);b&&1!=a.K?fA(a):gA(a)}
|
|
|
|
|
function eA(a){var b;if(b=a.H&&Nb(a.H))b=a.H,b.ba.dc?b=!0:(b.O(b.toString()+" not powered"),b=!1);b&&!Pb(a.H)?(a=a.H,a.ba.error?(a.O(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Xb=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Wb=function(a,b){b&&this.O(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ay(this);this.aa=this.ka=0;this.za=null;this.P=0;this.N=yy(this,A(this.H),this.H.Z.U);this.ba.jb=!1;hA(this);a||bA(this)};
|
|
|
|
|
l.save=function(){var a=new cg(this);a.set(0,cz(this.N));a.set(1,cz(this.Aa));a.set(2,cz(this.ea));a.set(3,[this.C,this.ga,this.ic]);a.set(4,this.F);a.set(5,[this.B,this.W,this.L]);return a.data()};
|
|
|
|
|
l.restore=function(a){var b=0;a[b]&&(this.N=dz(a[b++]));a[5]&&(this.Aa=dz(a[b++]));a[b]&&(this.ea=dz(a[b++]));a[b]&&(this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.ga=a[b][1],this.ic|=a[b][2],b++);a[b]&&(this.F=a[b++]);a[b]&&(iA(this,this.B,a[b][0]),iA(this,this.W,a[b][1]),iA(this,this.L,a[b][2]));return!0};l.start=function(a,b){this.K||this.O("running");this.ba.jb=!0;this.kb=a;this.jd=b};
|
|
|
|
|
l.stop=function(a,b){if(this.ba.jb){this.ba.jb=!1;this.P=b-this.jd;if(!this.K){b="stopped";if(this.P){a-=this.kb;var c=0<a?Math.round(1E3*this.P/a):0;b+=" (";Pg(this)&&(b+=this.aa+" opcodes, ",this.ka-=this.aa,this.aa=0);b+=this.P+" cycles, "+a+" ms, "+c+" hz)"}else t(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.O(b)}bA(this,!0);this.od();hA(this,this.H.ea)}};function Pg(a){return 1<a.B.length||!!a.xa||t(a,16)}
|
|
|
|
|
function Sg(a,b,c){var d=a.H;if(0<c&&(a.xa&&!--a.xa||jA(a,b,1,a.B)))return!0;0<=c&&a.M.length&&(a.aa++,b=Eg(d,b),null!=b&&(a.M[b][1]++,b=a.X[a.oa],bz(a,b,A(d),d.Z.U),b.mj=Kd(d),++a.oa==a.X.length&&(a.oa=0)));return!1}function wd(a,b,c){return jA(a,b,c||1,a.W)?(a.Kb(!0),!0):!1}function yd(a,b,c){return jA(a,b,c||1,a.L)?(a.Kb(!0),!0):!1}function Vc(a,b,c){a.O("break on input from port "+sa(b)+": "+q(c));a.Kb(!0)}function Zc(a,b,c){a.O("break on output to port "+sa(b)+": "+q(c));a.Kb(!0)}
|
|
|
|
|
function zy(a){var b,c;a.B=["bp"];if(a.W)for(b=1;b<a.W.length;b++)c=a.W[b],wf(a.H,a.Sb(c),!1,c.type==$y);a.W=["br"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],wf(a.H,a.Sb(c),!0,c.type==$y);a.L=["bw"];a.Ga=0}
|
|
|
|
|
l.rd=function(a,b,c,d){var e=!0;c||Vy(this,a,b,!1,!0);if(a!=this.B){var f=this.Sb(b);if(-1===f)this.O("invalid address: "+Wy(b)),e=!1;else{var g=this.H,h=b.type==$y;(h?g.sc:g.aa)[f>>>g.kb].rd(f&g.Db,a==this.L);h&&zc(g)}}e&&(a.push(b),c?(null!=b.ya&&(b.U=null),b.wd=!0):(d||kA(this,a,a.length-1,"set"),Ay(this)));return e};
|
|
|
|
|
function Vy(a,b,c,d,e){for(var f=!1,g=lA(a,a.Sb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==lA(a,a.Sb(k))||-1===g&&c.U==k.U&&c.Ha==k.Ha)if(!d||k.wd){f=!0;k.wd||e||kA(a,b,h,"cleared");b.splice(h,1);b!=a.B&&wf(a.H,g,b==a.L,k.type==$y);k.wd||Ay(a);break}}return f}function mA(a,b){for(var c=1;c<b.length;c++)kA(a,b,c);return b.length-1}function kA(a,b,c,d){c=b[c];a.O(b[0]+" "+Wy(c)+(d?" "+d:c.cl?' "'+c.cl+'"':""))}
|
|
|
|
|
function iA(a,b,c){if(c[0]==b[0])for(var d=1;d<c.length;d++){var e=c[d];a.rd(b,e,e.wd,!0)}}function hA(a,b){if(void 0!==b)jA(a,b,1,a.B,!0),a.K=0;else for(b=1;b<a.B.length;b++){var c=a.B[b];if(c.wd){if(!Vy(a,a.B,c,!0))break;b=0}}}function lA(a,b){-1!==b&&(a=a.wa&-65536,(b&a)==a&&(b&=1048575));return b}
|
|
|
|
|
function jA(a,b,c,d,e){var f=!1;if(!a.Ga++){b=lA(a,b);t(a,-2147483632)&&204==Eg(a.H,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.wd){null!=h.U&&(h.ya=null);for(var k=lA(a,a.Sb(h)),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.wd&&(Vy(a,d,h,!0),e=!0);if(p=h.wl){for(var f=!1,v=0;v<p.length;v++)if(!nA(a,p[v],!0)){if(p[v].indexOf("if")){f=!0;break}for(var u=v+1;u<p.length&&p[u].indexOf("else");u++)v++;if(u==p.length){f=!0;break}}a.H.ba.jb||(f=!0)}if(f){e||kA(a,d,g,"hit");break}}}}}a.Ga--;return f}
|
|
|
|
|
function oA(a,b,c,d){for(var e=yy(a,b.Ha,b.U,b.ya,b.type),f=a.Ja(b,1),g=4,h=0,k=!1,m=!1;(102==f||103==f)&&g--;)102==f?k||(b.Hb=!b.Hb,k=!0):m||(b.cc=!b.cc,m=!0),h++,f=a.Ja(b,1);var g=-1,p=pA,k=a.qa[f],m=k[0];m==qA&&(m=a.Ja(b,1),k=rA[m]||Ey,f|=m<<8,m=k[0]);if(m==sA){var g=a.Ja(b,1),v;v=null;var u=g>>3&7,F=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=F&&(F=u<<4|g&7);(u=tA[f])&&(v=u[F]);v&&(p=uA,k=v,m=k[0])}m>=p.length&&(g=a.Ja(b,1),k=vA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Hb&&(m==wA?
|
|
|
|
|
p="CWDE":m==xA?p="CDQ":m>=yA&&m<=zA&&(p+="D"));if(164<=f&&167>=f||170<=f&&175>=f)u=0,b.Hb&&"W"==p.slice(-1)&&(p=p.slice(0,-1)+"D");for(var f=-1,F=!0,H=1;H<=u;H++){var I,L;I="";L=k[H];if(void 0!==L){0>f&&(f=L>>AA);m==BA&&(f==CA?v="[%800]":f==DA&&(v="ES:["+(b.cc?"E":"")+"DI]"));var P=L&EA;if(P!=FA)if(P==GA)F=!1;else{var K=L&HA;if(K>=S)if(0>g&&(g=a.Ja(b,1)),K<IA){K=a;I=L;var Ba=u;L=b;var ba="",ib=g>>6,ua=g&7;if(3>ib){P=!p.indexOf("FI");if(!ib&&(!L.cc&&6==ua||L.cc&&5==ua))ib=2;else{if(L.cc)if(4!=ua)ua+=
|
|
|
|
|
8;else{var ba=K,cb=ib,Oa=L,jb=ba.Ja(Oa,1),db=jb>>6,rc=jb>>3&7,jb=jb&7,kb="";if(cb||5!=jb)kb=JA[jb+8];4!=rc&&(kb&&(kb+="+"),kb+=JA[rc+8],db&&(kb+="*"+(1<<db)));cb||5!=jb||(kb&&(kb+="+"),kb+=q(Sy(ba,Oa,4)));ba=kb}ba||(ba=JA[ua])}1==ib?(K=K.Ja(L,1),ba=K&128?ba+("-"+q(-(K<<24>>24),2)):ba+("+"+q(K,2))):2==ib&&(ba&&(ba+="+"),L.cc?(K=Sy(K,L,4),ba+=q(K)):(K=K.Yc(L,2),ba+=q(K,4)));ba="["+ba+"]";if(1==Ba){K="";I&=EA;I==T&&(I=L.Hb?KA:U);switch(I){case LA:K="FAR";break;case V:K="BYTE";break;case U:if(P){K="INT16";
|
|
|
|
|
break}K="WORD";break;case KA:K="DWORD";break;case MA:if(P){K="INT32";break}case NA:K="REAL32";break;case OA:if(P){K="INT64";break}case PA:K="REAL64";break;case QA:K="REAL80";break;case RA:K="BCD80"}K&&(ba=K+" "+ba)}}else ba=SA(K,ua,I,L);I=ba}else I=K==IA?SA(a,g&7,L,b):SA(a,g>>3&7,L,b);else if(K==TA)I="1";else if(K==W){I=a;P=L;K=b;L=" ";switch(P&EA){case V:P&X&&(L=q(I.Ja(K,1),2));break;case UA:L=q(I.Ja(K,1)<<24>>24,K.Hb?8:4);break;case T:if(K.Hb){L=q(Sy(I,K,4));break}case U:L=q(I.Yc(K,2),4);break;
|
|
|
|
|
case LA:K=yy(I,I.mb(K,!0),I.Yc(K,2),null,K.type,K.Hb,K.cc);L=Wy(K);I=VA(I,K);I[0]&&(L+=" ("+I[0]+")");break;default:L="imm("+sa(P)+")"}I=L}else K==WA?(b.cc?(I=8,L=Sy(a,b,4)):(I=4,L=a.Yc(b,2)),I="["+q(L,I)+"]"):K==XA?(I=P==V?a.Ja(b,1)<<24>>24:a.mb(b,!0),L=b.Ha+I&(b.Hb?-1:65535),I=q(L,b.Hb?8:4),L=VA(a,yy(a,L,b.U)),L[0]&&(I+=" ("+L[0]+")")):K==Y?I=P==YA?"ST":P==ZA?"ST("+(g&7)+")":SA(a,(L&$A)>>8,L,b):K==aB?I=SA(a,(L&$A)>>8,bB,b):K==cB?I="DS:[SI]":K==dB&&(I="ES:[DI]");if(!I||!I.length){v="INVALID";break}0<
|
|
|
|
|
v.length&&(v+=",");v+=I||"???"}}}g="";k=Wy(e)+" ";if(-1!==e.ya&&-1!==b.ya){do if(g+=q(a.Ja(e,1),2),null==e.ya)break;while(e.ya!=b.ya)}k+=za(g,e.cc?24:16);k+=za(p,8);v&&(k+=" "+v);a.H.da<eB[f]&&(c=eB[f]+" CPU only");c&&F&&(k=za(k,e.cc?74:56)+";"+c,k=a.H.ba.Ke?k+("cycles="+Kd(a.H).toString()+" cs="+q(a.H.T.vf)):k+(null!=d?"="+d.toString():""));fB(b,F,h);return k}
|
|
|
|
|
function SA(a,b,c,d){var e=c&HA;if(e==bB){if(b>Kz||b>=Jz&&80386>a.H.da)return"??";b+=Ez}else if(e==gB)b+=Tz;else if(e==hB)b+=iB;else if(e==jB)b+=kB;else if(a=c&EA,a>=U&&(b<vz&&(b+=vz-nz),a==KA||a==T&&d.Hb))b+=Lz-vz;return lz[b]}
|
|
|
|
|
function lB(a,b){switch(b){case "V":a=og(a.H);break;case "D":a=a.H.P&1024;break;case "I":a=a.H.P&512;break;case "T":a=a.H.P&256;break;case "S":a=ng(a.H);break;case "Z":a=mg(a.H);break;case "A":a=lg(a.H);break;case "P":a=kg(a.H);break;case "C":a=jg(a.H);break;default:a=0}return b+(a?"1":"0")+" "}function Ky(a){return q(a,a&-65536?8:4)}function mB(a,b){b>=vz&&b<=Cz&&4<a.sa&&(b+=Lz-vz);var c=lz[b];b==Tz&&80286==a.H.da&&(c="MS");return c+"="+mz(a,b)+" "}
|
|
|
|
|
function nB(a,b,c){return b.Zb+"="+q(b.U,4)+(c?"["+q(b.ua,a.la)+","+Ky(b.Ka)+"]":"")}function oB(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.la)+","+q(e-d,4)+"]"}
|
|
|
|
|
function pB(a,b){var c;void 0===b&&(b=Yy(a));c=mB(a,vz)+mB(a,yz)+mB(a,wz)+mB(a,xz)+(4<a.sa?"\n":"")+mB(a,zz)+mB(a,Az)+mB(a,Bz)+mB(a,Cz)+"\n"+nB(a,a.H.X,b)+" "+nB(a,a.H.Da,b)+" "+nB(a,a.H.oa,b)+" ";if(b){var d="TR="+q(a.H.ka.U,4),e=a.ma,e="A20="+(e.J||e.N!=e.C?"OFF ":"ON ");80386>a.H.da&&(d="\n"+d,c+=e,e="");c+="\n"+nB(a,a.H.Z,b)+" ";80386<=a.H.da&&(e+="\n",c+=nB(a,a.H.Ga,b)+" "+nB(a,a.H.Ia,b)+"\n");c+=oB(a,"LD",a.H.Eb.U,a.H.Eb.ua,a.H.Eb.ua+a.H.Eb.Ka)+" "+oB(a,"GD",null,a.H.Ib,a.H.Pc)+" "+oB(a,"ID",
|
|
|
|
|
null,a.H.Pb,a.H.cd)+" ";c=c+(d+" "+e)+mB(a,Tz);80386<=a.H.da&&(c+=mB(a,Vz)+mB(a,Wz))}else 80386<=a.H.da&&(c+=nB(a,a.H.Ga,b)+" "+nB(a,a.H.Ia,b)+" ");return c+=mB(a,Yz)+lB(a,"V")+lB(a,"D")+lB(a,"I")+lB(a,"T")+lB(a,"S")+lB(a,"Z")+lB(a,"A")+lB(a,"P")+lB(a,"C")}l.kj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
|
|
|
|
function gq(a,b,c,d,e,f,g,h){var k={},m=[],p;for(p in h){var v=h[p];"number"==typeof v&&(h[p]=v={o:v});var u=v.o,F=v.s,H=v.a;if(void 0!==u){void 0!==F&&(k.Ha=u,k.U=F,k.ya=null,a.Sb(k),(k.ya&-65536)==(a.ma.N&-65536)&&(k.ya&=1048575),v.p=k.ya);var F=m,u=[u>>>0,p],I=Da(F,u,a.kj);0>I&&F.splice(-(I+1),0,u)}H&&(v.a=H.replace(/''/g,'"'))}a.F.push({Sf:b,un:c,U:d,Ha:e,ya:f,kn:g,Hd:h,Ti:m})}
|
|
|
|
|
function Ty(a,b,c){for(var d=0;d<a.F.length;d++){var e=a.F[d];if(!b||e.Sf==b)if(b&&c==e.un||!b&&c==e.U){a.F.splice(d,1);break}}}function UA(a,b,c){for(var d=[],e=b.Ha>>>0,f=a.Sb(b)>>>0,g=0;g<a.F.length;g++){var h=a.F[g],k=h.U,m=h.Ha>>>0,p=h.ya;null!=p&&(p>>>=0);var v=h.kn;48==k&&(k=40);if(k==b.U&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Da(h.Ti,[e],a.kj);0<=b?pB(a,g,b,d):c&&(b=~b,pB(a,g,b-1,d),pB(a,g,b,d));break}}!d.length&&(a=a.ma.Bj(f,!0))&&(d.push(a),d.push(f));return d}
|
|
|
|
|
function pB(a,b,c,d){var e={},f=a.F[b].Ti,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Hd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
|
|
|
|
function qB(a,b){if("?"==b)a.O("frequency commands:"),a.O("\tclear\tclear all frequency counts");else{var c=0;if(a.M)if("clear"==b){for(b=0;b<a.M.length;b++)a.M[b]=[b,0];a.O("frequency data cleared");c++}else if(void 0!==b)a.O("unknown frequency command: "+b),c++;else{var d=a.M.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],f=d[b][1];f&&(a.O((oA[a.qa[e][0]]+" ").substr(0,5)+" ("+r(e)+"): "+f+" times"),c++)}}c||a.O("no frequency data available")}}
|
|
|
|
|
function rB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return vy(a)||a.O("no variables"),!0;if(!c[2])return vy(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=sy(a,c[3]);return void 0!==b?(a.I[c[1]]={value:b,Vo:void 0},!0):!1}a.O("invalid assignment:"+b);return!1}
|
|
|
|
|
function sB(a,b,c){var d=null;if(b=ez(a,b,!0)){a.Sb(b);var e=UA(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ha-e[1])&&(g=" + "+sa(f)),f=e[0]+" ("+Ky(e[1],b.U)+")"+g,c&&a.O(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ha)&&(g=" - "+sa(f)),f=e[4]+" ("+Ky(e[5],b.U)+")"+g,c&&a.O(f),d||(d=f))}else c&&a.O("no symbols")}return d}
|
|
|
|
|
function tB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:ez(a,b[1]);if(g&&(d=my(a,b[2],"drive #"),void 0!==d)){if(!c){e=my(a,b[3],"sector #");if(void 0===e)return;f=my(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.fb;2<=d&&a.Ta&&(d-=2,h=a.Ta);if(h){var k=h.lj(d);if(k)if(k.ta)if(c)uB(a.pa),a.O(k.ta.toJSON());else if(h.el(k,e,f)){var m=0,p=!1;for(b=Vy(g);!p&&0<k.wb--;)(function(a,b){h.te(k,function(c){0>c?(a.O("out of data at address "+Vy(b)),p=!0):(a.fc(b,c,1,!0),m++)})})(a,g);Id(a.H,
|
|
|
|
|
function Uy(a,b,c){for(var d=0;d<a.F.length;d++){var e=a.F[d];if(!b||e.Sf==b)if(b&&c==e.un||!b&&c==e.U){a.F.splice(d,1);break}}}function VA(a,b,c){for(var d=[],e=b.Ha>>>0,f=a.Sb(b)>>>0,g=0;g<a.F.length;g++){var h=a.F[g],k=h.U,m=h.Ha>>>0,p=h.ya;null!=p&&(p>>>=0);var v=h.kn;48==k&&(k=40);if(k==b.U&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Da(h.Ti,[e],a.kj);0<=b?qB(a,g,b,d):c&&(b=~b,qB(a,g,b-1,d),qB(a,g,b,d));break}}!d.length&&(a=a.ma.Bj(f,!0))&&(d.push(a),d.push(f));return d}
|
|
|
|
|
function qB(a,b,c,d){var e={},f=a.F[b].Ti,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Hd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
|
|
|
|
function rB(a,b){if("?"==b)a.O("frequency commands:"),a.O("\tclear\tclear all frequency counts");else{var c=0;if(a.M)if("clear"==b){for(b=0;b<a.M.length;b++)a.M[b]=[b,0];a.O("frequency data cleared");c++}else if(void 0!==b)a.O("unknown frequency command: "+b),c++;else{var d=a.M.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],f=d[b][1];f&&(a.O((pA[a.qa[e][0]]+" ").substr(0,5)+" ("+r(e)+"): "+f+" times"),c++)}}c||a.O("no frequency data available")}}
|
|
|
|
|
function sB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return wy(a)||a.O("no variables"),!0;if(!c[2])return wy(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=ty(a,c[3]);return void 0!==b?(a.I[c[1]]={value:b,Vo:void 0},!0):!1}a.O("invalid assignment:"+b);return!1}
|
|
|
|
|
function tB(a,b,c){var d=null;if(b=fz(a,b,!0)){a.Sb(b);var e=VA(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ha-e[1])&&(g=" + "+sa(f)),f=e[0]+" ("+Ly(e[1],b.U)+")"+g,c&&a.O(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ha)&&(g=" - "+sa(f)),f=e[4]+" ("+Ly(e[5],b.U)+")"+g,c&&a.O(f),d||(d=f))}else c&&a.O("no symbols")}return d}
|
|
|
|
|
function uB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:fz(a,b[1]);if(g&&(d=ny(a,b[2],"drive #"),void 0!==d)){if(!c){e=ny(a,b[3],"sector #");if(void 0===e)return;f=ny(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.fb;2<=d&&a.Ta&&(d-=2,h=a.Ta);if(h){var k=h.lj(d);if(k)if(k.ta)if(c)vB(a.pa),a.O(k.ta.toJSON());else if(h.el(k,e,f)){var m=0,p=!1;for(b=Wy(g);!p&&0<k.wb--;)(function(a,b){h.te(k,function(c){0>c?(a.O("out of data at address "+Wy(b)),p=!0):(a.fc(b,c,1,!0),m++)})})(a,g);Id(a.H,
|
|
|
|
|
!0);a.O(m+" bytes read at "+b)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")}
|
|
|
|
|
function eA(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tc&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(b&&1<b.length){var e=b[1];if(a.Tc&&"fp"==e){c=a.Tc;d=hh(c);b=c.Yb;for(var f=0;8>f;f++){var g=c,e=null;if(f<g.F.length){var e=[],h=g.B+f&7;e[0]=h;e[1]=yh(g,h);e[2]=g.F[h];h<<=1;e[3]=g.L[h];e[4]=g.L[h+1];g=Ch(g,e[3],e[4]);e[5]=g[0];e[6]=g[1];e[7]=g[2]}if(!e)break;
|
|
|
|
|
a.O("ST"+f+": "+za(e[2].toFixed(15),24,!0)+" "+q(e[4])+","+q(e[3])+" ["+e[0]+":"+vB[e[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+qa(d,16)+" ("+sa(d)+") CW: "+qa(b,16)+" ("+sa(b)+")");return}if("p"==e)d=80286<=a.H.da;else{f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.O("missing value for "+b[1]);return}g=sy(a,b);if(void 0===g)return;f=!0;h=e.toUpperCase();"E"==h.charAt(0)&&4>=a.sa&&(h=null);switch(h){case "AL":a.H.D=
|
|
|
|
|
function fA(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tc&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(b&&1<b.length){var e=b[1];if(a.Tc&&"fp"==e){c=a.Tc;d=hh(c);b=c.Yb;for(var f=0;8>f;f++){var g=c,e=null;if(f<g.F.length){var e=[],h=g.B+f&7;e[0]=h;e[1]=yh(g,h);e[2]=g.F[h];h<<=1;e[3]=g.L[h];e[4]=g.L[h+1];g=Ch(g,e[3],e[4]);e[5]=g[0];e[6]=g[1];e[7]=g[2]}if(!e)break;
|
|
|
|
|
a.O("ST"+f+": "+za(e[2].toFixed(15),24,!0)+" "+q(e[4])+","+q(e[3])+" ["+e[0]+":"+wB[e[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+qa(d,16)+" ("+sa(d)+") CW: "+qa(b,16)+" ("+sa(b)+")");return}if("p"==e)d=80286<=a.H.da;else{f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.O("missing value for "+b[1]);return}g=ty(a,b);if(void 0===g)return;f=!0;h=e.toUpperCase();"E"==h.charAt(0)&&4>=a.sa&&(h=null);switch(h){case "AL":a.H.D=
|
|
|
|
|
a.H.D&-256|g&255;break;case "AH":a.H.D=a.H.D&-65281|g<<8&255;break;case "AX":a.H.D=a.H.D&-65536|g&65535;break;case "BL":a.H.G=a.H.G&-256|g&255;break;case "BH":a.H.G=a.H.G&-65281|g<<8&255;break;case "BX":a.H.G=a.H.G&-65536|g&65535;break;case "CL":a.H.I=a.H.I&-256|g&255;break;case "CH":a.H.I=a.H.I&-65281|g<<8&255;break;case "CX":a.H.I=a.H.I&-65536|g&65535;break;case "DL":a.H.L=a.H.L&-256|g&255;break;case "DH":a.H.L=a.H.L&-65281|g<<8&255;break;case "DX":a.H.L=a.H.L&-65536|g&65535;break;case "SP":ne(a.H,
|
|
|
|
|
z(a.H)&-65536|g&65535);break;case "BP":a.H.M=a.H.M&-65536|g&65535;break;case "SI":a.H.K=a.H.K&-65536|g&65535;break;case "DI":a.H.J=a.H.J&-65536|g&65535;break;case "DS":te(a.H,g);break;case "ES":ue(a.H,g);break;case "SS":me(a.H,g);break;case "CS":eg(a.H,g);a.N=xy(a,A(a.H),a.H.Z.U);break;case "IP":case "EIP":C(a.H,g);a.N=xy(a,A(a.H),a.H.Z.U);break;case "PC":case "PS":Ce(a.H,g);break;case "C":g?qg(a.H):rg(a.H);break;case "P":g?(e=a.H,e.resultType&=-3,e.P|=4):(e=a.H,e.resultType&=-3,e.P&=-5);break;case "A":g?
|
|
|
|
|
z(a.H)&-65536|g&65535);break;case "BP":a.H.M=a.H.M&-65536|g&65535;break;case "SI":a.H.K=a.H.K&-65536|g&65535;break;case "DI":a.H.J=a.H.J&-65536|g&65535;break;case "DS":te(a.H,g);break;case "ES":ue(a.H,g);break;case "SS":me(a.H,g);break;case "CS":eg(a.H,g);a.N=yy(a,A(a.H),a.H.Z.U);break;case "IP":case "EIP":C(a.H,g);a.N=yy(a,A(a.H),a.H.Z.U);break;case "PC":case "PS":Ce(a.H,g);break;case "C":g?qg(a.H):rg(a.H);break;case "P":g?(e=a.H,e.resultType&=-3,e.P|=4):(e=a.H,e.resultType&=-3,e.P&=-5);break;case "A":g?
|
|
|
|
|
yg(a.H):wg(a.H);break;case "Z":g?Bg(a.H):xg(a.H);break;case "S":g?(e=a.H,e.resultType&=-17,e.P|=128):(e=a.H,e.resultType&=-17,e.P&=-129);break;case "I":g?(e=a.H,e.P|=512):(e=a.H,e.P&=-513);break;case "D":g?(e=a.H,e.P|=1024):(e=a.H,e.P&=-1025);break;case "V":g?sg(a.H):tg(a.H);break;default:var k=!0;if(80286<=a.H.da)switch(k=!1,h){case "MS":Cg(a.H,g);break;case "TR":-1===a.H.ka.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.H.da)switch(k=!1,h){case "EAX":a.H.D=g;break;case "EBX":a.H.G=g;break;case "ECX":a.H.I=
|
|
|
|
|
g;break;case "EDX":a.H.L=g;break;case "ESP":ne(a.H,g);break;case "EBP":a.H.M=g;break;case "ESI":a.H.K=g;break;case "EDI":a.H.J=g;break;case "FS":a.H.Ga.load(g);break;case "GS":a.H.Ia.load(g);break;case "CR0":a.H.qa=g;hk.call(a.H,g);break;case "CR2":a.H.Fd=g;break;case "CR3":a.H.Wc=g;Ee.call(a.H,g);break;default:k=!0}}if(k){a.O("unknown register: "+e);return}}if(!f){a.O("invalid value: "+b);return}Id(a.H);a.O("updated registers:")}}a.O(oB(a,d));c&&(a.N=xy(a,A(a.H),a.H.Z.U),fA(a,Vy(a.N)))}}
|
|
|
|
|
function wB(a,b){b=Aa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(Yz(a,c[2])):sy(a,b,!1)}function xB(a,b,c){for(var d=null,e=b.Ha,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ha=e;b.ya=null;var h=nA(a,b);if(0<=h.indexOf("CALL")||c&&0<=h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ha=f;return d}function yB(a,b,c){var d="t"!=b;c=my(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);$a(c,function(){return Qb(a,!0)&&Wy(a,e,d,!1)},function(){Id(a.H);Qb(a,!1)})}
|
|
|
|
|
function eB(a,b,c){if(a.gh=b)null!=a.uj&&(a.Hb=a.uj),null!=a.tj&&(a.cc=a.tj),a.uj=a.Hb,a.tj=a.cc;a.Ie=c||0}
|
|
|
|
|
function fA(a,b,c,d){if(b=ez(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=ez(a,c,!0);if(!d||d.Ha<b.Ha)return;e=d.Ha-b.Ha+1;0>e&&(e=1);4096<e&&(e=4096);d=-1}c=0;var f;for(eB(b,!0);0<e&&d--;){f=Pb(a,!1)||a.K?a.P:null;var g=null!=f?"cycles":null,h=UA(a,b),k=b.ya;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=nA(a,b,g,f);b.gh||d||d++;a.O(f);a.N=b;e-=b.ya-k;c++}}}
|
|
|
|
|
g;break;case "EDX":a.H.L=g;break;case "ESP":ne(a.H,g);break;case "EBP":a.H.M=g;break;case "ESI":a.H.K=g;break;case "EDI":a.H.J=g;break;case "FS":a.H.Ga.load(g);break;case "GS":a.H.Ia.load(g);break;case "CR0":a.H.qa=g;hk.call(a.H,g);break;case "CR2":a.H.Fd=g;break;case "CR3":a.H.Wc=g;Ee.call(a.H,g);break;default:k=!0}}if(k){a.O("unknown register: "+e);return}}if(!f){a.O("invalid value: "+b);return}Id(a.H);a.O("updated registers:")}}a.O(pB(a,d));c&&(a.N=yy(a,A(a.H),a.H.Z.U),gA(a,Wy(a.N)))}}
|
|
|
|
|
function xB(a,b){b=Aa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(Zz(a,c[2])):ty(a,b,!1)}function yB(a,b,c){for(var d=null,e=b.Ha,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ha=e;b.ya=null;var h=oA(a,b);if(0<=h.indexOf("CALL")||c&&0<=h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ha=f;return d}function zB(a,b,c){var d="t"!=b;c=ny(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);$a(c,function(){return Qb(a,!0)&&Xy(a,e,d,!1)},function(){Id(a.H);Qb(a,!1)})}
|
|
|
|
|
function fB(a,b,c){if(a.gh=b)null!=a.uj&&(a.Hb=a.uj),null!=a.tj&&(a.cc=a.tj),a.uj=a.Hb,a.tj=a.cc;a.Ie=c||0}
|
|
|
|
|
function gA(a,b,c,d){if(b=fz(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=fz(a,c,!0);if(!d||d.Ha<b.Ha)return;e=d.Ha-b.Ha+1;0>e&&(e=1);4096<e&&(e=4096);d=-1}c=0;var f;for(fB(b,!0);0<e&&d--;){f=Pb(a,!1)||a.K?a.P:null;var g=null!=f?"cycles":null,h=VA(a,b),k=b.ya;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=oA(a,b,g,f);b.gh||d||d++;a.O(f);a.N=b;e-=b.ya-k;c++}}}
|
|
|
|
|
l.Gg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else a=this.C[this.A+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Aa(a.substring(d,f))),d=f+1}}return b};
|
|
|
|
|
function mA(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.ga&&(a.O("ended assemble at "+Vy(a.ea)),a.N=a.ea,a.ga=!1),b="";else if(!c){var e=">> ";a.H.qa&1&&(e=a.H.P&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(Nb(a)&&0<b.length){a.ga&&(b="a "+Vy(a.ea)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var v=
|
|
|
|
|
ez(a,g[1],!0);if(v)if(a.ea=v,void 0===g[2])a.O("begin assemble at "+Vy(v)),a.ga=!0,Id(a.H);else{var u;a.O("not supported yet");u=[];if(u.length){for(var F=0;F<u.length;F++)a.fc(v,u[F],1);a.O(nA(a,a.ea))}}break;case "b":a:{var H=g[0],I=g[1],L=b;if("?"==I)a.O("breakpoint commands:"),a.O("\tbi [p]\ttoggle break on input port [p]"),a.O("\tbo [p]\ttoggle break on output port [p]"),a.O("\tbp [a]\tset exec breakpoint at addr [a]"),a.O("\tbr [a]\tset read breakpoint at addr [a]"),a.O("\tbw [a]\tset write breakpoint at addr [a]"),
|
|
|
|
|
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var P=H.charAt(1);if("l"==P){var K;K=0+lA(a,a.B);K+=lA(a,a.W);(K+=lA(a,a.L))||a.O("no breakpoints")}else if("n"==P)a.xa=my(a,I),a.O("break after "+a.xa+" instruction(s)");else if(void 0===I)a.O("missing breakpoint address");else{var Ba={};if("*"!=I&&(Ba=ez(a,I,!0,!0),!Ba))break a;I=null==Ba.Ha?I:sa(Ba.Ha);"c"==P?null==Ba.Ha?(yy(a),a.O("all breakpoints cleared")):Uy(a,
|
|
|
|
|
a.B,Ba)||Uy(a,a.W,Ba)||Uy(a,a.L,Ba)||a.O("breakpoint missing: "+Vy(Ba)):"i"==P?a.O("breakpoint "+(Sc(a.ma,Ba.Ha)?"enabled":"cleared")+": port "+I+" (input)"):"o"==P?a.O("breakpoint "+(Wc(a.ma,Ba.Ha)?"enabled":"cleared")+": port "+I+" (output)"):null!=Ba.Ha&&(hz(a,Ba,L),"p"==P?a.rd(a.B,Ba):"r"==P?a.rd(a.W,Ba):"w"==P?a.rd(a.L,Ba):a.O("unknown breakpoint command: "+P))}}}break;case "c":uB(a.pa);break;case "d":a:{var ba=g,ib,ua=ba[0],cb=ba[1],Oa=ba[2],jb=ba[3];if("?"==cb){var db="";for(ib in Xb)a.Da[ib]&&
|
|
|
|
|
(db&&(db+=","),db+=ib);db+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");db.length&&a.O("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=zB(a.pa,!0);rc?"console"==Oa?console.log(rc):
|
|
|
|
|
(uB(a.pa),a.O(rc)):a.O("powerOff() error")}else if("symbols"==cb)for(var kb=0;kb<a.F.length;kb++){var ff=a.F[kb],Md;for(Md in ff.Hd)if("."!=Md.charAt(0)){var gf=ff.Hd[Md],zg=gf.o;if(void 0!==zg){var hf=gf.s;void 0===hf&&(hf=ff.U);var Ag=ff.Hd[Md].l;Ag&&(Md=Ag);a.O(Ky(zg,hf)+" "+Md)}}}else{if("ds"==ua||"dg"==ua||"dl"==ua)ua="d",ba=[ua,"desc",cb];"d"==ua&&"page"==cb&&(ua="dp",ba.shift());if("dp"==ua){ba.shift();var zm=ba[0];if(zm){var Ug=a.Sb(ez(a,zm));if(-1===Ug)a.O("invalid address: "+zm);else{var rf,
|
|
|
|
|
Ra=null;if(80386<=a.H.da){var sf=a.ma,Ra={};Ra.Ok=(Ug&-4194304)>>>20;Ra.Xi=a.H.Wc+Ra.Ok;Ra.ob=sf.aa[(Ra.Xi&sf.C)>>>sf.A];Ra.Fj=Ra.ob.Nd(Ra.Ok);Ra.Pk=(Ug&4190208)>>>10;Ra.Yi=(Ra.Fj&-4096)+Ra.Pk;Ra.pb=sf.aa[(Ra.Yi&sf.C)>>>sf.A];Ra.Gj=Ra.pb.Nd(Ra.Pk);Ra.yl=(Ra.Gj&-4096)+(Ug&4095)}if(rf=Ra){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var ye="%"+q(Ug),ye=ye+(" %%"+jz(rf.Xi,rf.Fj)),ye=
|
|
|
|
|
ye+(" %%"+jz(rf.Yi,rf.Gj,!0)),ye=ye+(" %%"+q(rf.yl));a.O(ye)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ua){if("disk"==cb){ba[0]="l";ba[1]="json";tB(a,ba);break a}for(ib in Xb)if(ba[1]==ib){var Jt=a.Da[ib];Jt?(ba.shift(),ba.shift(),Jt(ba)):a.O("no dump registered for "+cb);break a}cb||(ua=a.lb||"db")}if("dh"==ua){var Kt=cb,Lt=Oa,Vg=jb,Vg=void 0===Vg?"history":Vg,Mt="",Nt=0,Mc=a.oa,kd=a.X;if(kd.length){var vc=+Kt||a.Ya,Wg=+Lt||10;isNaN(vc)?vc=Wg:Mt="more ";vc>kd.length&&
|
|
|
|
|
(a.O("note: only "+kd.length+" available"),vc=kd.length);Mc-=vc;0>Mc&&(null==kd[kd.length-1].U?(vc=Mc+vc,Mc=0):Mc+=kd.length);var Am=[];"call"==Lt&&(Wg=1E5,Am=["CALL"]);for(void 0!==Kt&&a.O(vc+" instructions earlier:");0<Wg&&Mc!=a.oa;){var ld=kd[Mc++];if(null==ld.U)break;var Xg=xy(a,ld.Ha,ld.U,ld.ya,ld.type,ld.Hb,ld.cc),Ot=vc--;null!=ld.mj&&"cycles"==Vg&&(Ot=ld.mj);var Pt=nA(a,Xg,Vg,Ot);(!Am.length||0<=Pt.indexOf(Am[0]))&&a.O(Pt);Xg.Ie&&(Mc+=Xg.Ie,Wg-=Xg.Ie,vc-=Xg.Ie);Mc>=kd.length&&(Mc=0);a.Ya=vc;
|
|
|
|
|
Nt++;Wg--}}Nt||(a.O("no "+Mt+"history available"),a.Ya=void 0)}else if("di"==ua){ba.shift();var Bm=ba[0];if(Bm){var Yg=my(a,Bm);if(void 0===Yg||0>Yg||255<Yg)a.O("invalid vector: "+Bm);else{var Qt="&",Rt=!!(a.H.qa&1),St=!1,bj=a.H.Pb+(Yg<<(Rt?3:2)),Tt=a.H.ja(bj+0),qC=a.H.ja(bj+2);Rt&&(Qt="#",a.H.ja(bj+4)&2048&&(St=!0,Tt|=a.H.ja(bj+6)<<16));a.O("dumpIDT("+sa(Yg)+"): "+Qt+q(qC,4)+":"+q(Tt,St?8:4))}}else a.O("no IDT vector")}else if("dt"==ua)ba.shift(),a.O("no information");else if(ua[1]&&0>"bwd".indexOf(ua[1]))a.O("unrecognized dump command");
|
|
|
|
|
else{a.lb=ua;var ze=ez(a,cb);if(ze&&(null!=ze.U||null!=ze.ya)){var tf=0;if(Oa){if("l"==Oa.charAt(0))Oa=Oa.substr(1)||jb,tf=my(a,Oa);else{var Ut=ez(a,Oa);if(!Ut)break a;tf=Ut.Ha-ze.Ha+1}if(0>tf||65536<tf)tf=0}for(var Zg="",uf="dd"==ua?4:"dw"==ua?2:1,cj=uf*tf||128,rC=cj+15>>4||1;rC--&&0<cj;){var $g=0,Cm=0,ah,Dm="",Em="",cb=Vy(ze);for(ah=4==uf?16:a.D;0<ah&&0<cj;ah--){var dj=a.Ja(ze,1),$g=$g|dj<<(Cm++<<3);Cm==uf&&(Dm+=8==a.D?ra($g,3*uf):q($g,2*uf),Dm+=1==uf?9==ah?"-":" ":" ",$g=Cm=0);Em+=32<=dj&&128>
|
|
|
|
|
dj?String.fromCharCode(dj):".";cj--}Zg&&(Zg+="\n");Zg+=cb+" "+Dm+za(Em,Em.length+3*ah+1,!0)}Zg&&a.O(Zg);a.Aa=ze}}}}}break;case "e":if("else"==g[0])break;var ej=1,Vt=255,Wt=a.Ja,Xt=a.fc;"ew"==g[0]&&(ej=2,Vt=65535,Wt=a.Yc,Xt=a.ml);var Yt=ej<<1,Zt=g[1];if(null==Zt)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var fj=ez(a,Zt);if(fj)for(var gj=2;gj<g.length;gj++){var bh=sy(a,g[gj]);if(void 0===bh){a.O("unrecognized value: "+
|
|
|
|
|
g[gj]);break}bh&~Vt&&a.O("warning: "+q(bh)+" exceeds "+ej+"-byte value");var sC=Wt.call(a,fj);a.O("changing "+Vy(fj)+" from "+q(sC,Yt,!0)+" to "+q(bh,Yt,!0));Xt.call(a,fj,bh,ej)}}break;case "f":qB(a,g[1]);break;case "g":a:{var $t=g[1],tC=b;"gt"==g[0]&&(a.Ea=!0);if(void 0!==$t){var Fm=ez(a,$t,!0);if(!Fm)break a;hz(a,Fm,tC);a.rd(a.B,Fm,!0)}cA(a,!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Gm;if(a.ba.jb)Gm="halting",a.Kb();else{if(Pb(a,!0))break a;Gm="already halted"}c||
|
|
|
|
|
a.O(Gm)}break;case "i":if("if"==g[0]){var Hm;var ch=b.substr(2),ch=Aa(ch);sy(a,ch)?(c||a.O("true: "+ch),Hm=!0):(c||a.O("false: "+ch),Hm=!1);Hm||(d=!1);break}if("int"==g[0]){var hj;a:switch(my(a,g[1])){case 19:bl(a,19,a.H.ea,!0);a.ka=a.aa;hj=!0;break a;case 33:bl(a,33,a.H.ea,!0);a.ka=a.aa;hj=!0;break a;default:hj=!1}hj||(d=!1);break}var Im=g[1];if(Im&&"?"!=Im){var Jm=my(a,Im);if(void 0!==Jm){var uC=Uc(a.ma,Jm,1);a.O(sa(Jm)+": "+r(uC))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");
|
|
|
|
|
break;case "k":var vC=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var Km=0,au=a.H.Z.U,dh=xy(a),Ud=xy(a,z(a.H),a.H.X.U);for(a.O("stack trace for "+Vy(Ud));10>Km;){for(var md=null,wC=256;Ud.Ha>>>0<a.H.eg>>>0;){dh.Ha=a.mb(Ud,!0);if(null==Ud.ya||!wC--)break;dh.U=au;if(md=xB(a,dh))break;dh.U=a.mb(Ud);if(md=xB(a,dh,!0)){au=a.mb(Ud,!0);0<md.indexOf("INT")&&a.mb(Ud,!0);break}}if(!md||null==md)break;var bu=null;if("ks"==vC){var cu=
|
|
|
|
|
md.match(/[0-9A-F]+$/);cu&&(bu=sB(a,cu[0]))}md=za(md,50)+" ;"+(bu||"stack="+Vy(Ud));a.O(md);Km++}Km||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){sB(a,g[1],!0);break}tB(a,g);break;case "m":if("mouse"==g[0]){var Lm=g[1],ij=g[2];if(a.G){var du=1;"-"==ij.charAt(0)&&(du=-1,ij=ij.substr(1));var Ae=my(a,ij,Lm);if(void 0!==Ae)switch(Ae=Ae*du|0,Lm){case "x":a.G.uf(Ae,0);break;case "y":a.G.uf(0,Ae);break;case "click":a.G.Wd(Ae,!0);a.G.Wd(Ae,!1);break;default:a.O("unknown action: "+Lm)}}else a.O("no mouse");
|
|
|
|
|
break}a:{var nd,od=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var Be=0;if("all"==fb)Be=1610481663,fb=null;else if("on"==fb)od=!0,fb=null;else if("off"==fb)od=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(nd in Xb)if(fb==nd){Be=Xb[nd];od=!!(a.ic&Be);break}if(!Be){a.O("unknown message category: "+fb);break a}}Be&&("on"==g[2]?(a.ic|=Be,od=!0):"off"==g[2]&&(a.ic&=~Be,od=!1))}var xC=0,eh="";for(nd in Xb)if(!fb||fb==nd){var yC=!!(a.ic&Xb[nd]);if(null===od||od==yC)eh&&(eh+=
|
|
|
|
|
","),++xC%10||(eh+="\n\t"),"key"==nd&&(nd="keys"),eh+=nd}void 0===fb&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==od?od?"messages on: ":"messages off: ":"message categories:\n\t")+(eh||"none"));zy(a)}break;case "o":var Mm=g[1],zC=g[2];if(Mm&&"?"!=Mm){var Nm=my(a,Mm,"port #"),Om=my(a,zC);void 0!==Nm&&void 0!==Om&&(Yc(a.ma,Nm,1,Om),a.O(sa(Nm)+": "+r(Om)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");
|
|
|
|
|
break;case "p":if("print"==g[0]){wB(a,b.substr(5));break}var eu="pr"==g[0]?1:0,vf=1+eu;if(a.K)a.O("step in progress");else{var jj,fu=!1,Hb=xy(a,A(a.H),a.H.Z.U);do switch(jj=!1,a.Ja(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:$y(a,Hb,1);jj=!0;break;case 204:case 206:a.K=vf;$y(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=vf;$y(a,Hb,Hb.Hb?4:2);break;case 232:a.K=vf;$y(a,Hb,Hb.Hb?5:3);break;case 154:a.K=vf;$y(a,Hb,Hb.Hb?7:5);break;case 255:var gu=a.mb(Hb)&
|
|
|
|
|
14591;if(4351==gu||6399==gu)a.K=vf,nA(a,Hb);break;case 243:case 242:$y(a,Hb,1);fu=jj=!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:fu&&(a.K=vf,$y(a,Hb,1))}while(jj);a.K?(a.rd(a.B,Hb,!0),cA(a)||(a.pa&&a.pa.od(),a.K=0)):yB(a,eu?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}eA(a,g);break;case "t":yB(a,g[0],g[1]);break;case "u":fA(a,g[1],g[2],8);break;case "v":if("var"==g[0]){rB(a,b.substr(3))||
|
|
|
|
|
function nA(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.ga&&(a.O("ended assemble at "+Wy(a.ea)),a.N=a.ea,a.ga=!1),b="";else if(!c){var e=">> ";a.H.qa&1&&(e=a.H.P&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(Nb(a)&&0<b.length){a.ga&&(b="a "+Wy(a.ea)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var v=
|
|
|
|
|
fz(a,g[1],!0);if(v)if(a.ea=v,void 0===g[2])a.O("begin assemble at "+Wy(v)),a.ga=!0,Id(a.H);else{var u;a.O("not supported yet");u=[];if(u.length){for(var F=0;F<u.length;F++)a.fc(v,u[F],1);a.O(oA(a,a.ea))}}break;case "b":a:{var H=g[0],I=g[1],L=b;if("?"==I)a.O("breakpoint commands:"),a.O("\tbi [p]\ttoggle break on input port [p]"),a.O("\tbo [p]\ttoggle break on output port [p]"),a.O("\tbp [a]\tset exec breakpoint at addr [a]"),a.O("\tbr [a]\tset read breakpoint at addr [a]"),a.O("\tbw [a]\tset write breakpoint at addr [a]"),
|
|
|
|
|
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var P=H.charAt(1);if("l"==P){var K;K=0+mA(a,a.B);K+=mA(a,a.W);(K+=mA(a,a.L))||a.O("no breakpoints")}else if("n"==P)a.xa=ny(a,I),a.O("break after "+a.xa+" instruction(s)");else if(void 0===I)a.O("missing breakpoint address");else{var Ba={};if("*"!=I&&(Ba=fz(a,I,!0,!0),!Ba))break a;I=null==Ba.Ha?I:sa(Ba.Ha);"c"==P?null==Ba.Ha?(zy(a),a.O("all breakpoints cleared")):Vy(a,
|
|
|
|
|
a.B,Ba)||Vy(a,a.W,Ba)||Vy(a,a.L,Ba)||a.O("breakpoint missing: "+Wy(Ba)):"i"==P?a.O("breakpoint "+(Sc(a.ma,Ba.Ha)?"enabled":"cleared")+": port "+I+" (input)"):"o"==P?a.O("breakpoint "+(Wc(a.ma,Ba.Ha)?"enabled":"cleared")+": port "+I+" (output)"):null!=Ba.Ha&&(iz(a,Ba,L),"p"==P?a.rd(a.B,Ba):"r"==P?a.rd(a.W,Ba):"w"==P?a.rd(a.L,Ba):a.O("unknown breakpoint command: "+P))}}}break;case "c":vB(a.pa);break;case "d":a:{var ba=g,ib,ua=ba[0],cb=ba[1],Oa=ba[2],jb=ba[3];if("?"==cb){var db="";for(ib in Xb)a.Da[ib]&&
|
|
|
|
|
(db&&(db+=","),db+=ib);db+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");db.length&&a.O("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=AB(a.pa,!0);rc?"console"==Oa?console.log(rc):
|
|
|
|
|
(vB(a.pa),a.O(rc)):a.O("powerOff() error")}else if("symbols"==cb)for(var kb=0;kb<a.F.length;kb++){var ff=a.F[kb],Md;for(Md in ff.Hd)if("."!=Md.charAt(0)){var gf=ff.Hd[Md],zg=gf.o;if(void 0!==zg){var hf=gf.s;void 0===hf&&(hf=ff.U);var Ag=ff.Hd[Md].l;Ag&&(Md=Ag);a.O(Ly(zg,hf)+" "+Md)}}}else{if("ds"==ua||"dg"==ua||"dl"==ua)ua="d",ba=[ua,"desc",cb];"d"==ua&&"page"==cb&&(ua="dp",ba.shift());if("dp"==ua){ba.shift();var zm=ba[0];if(zm){var Ug=a.Sb(fz(a,zm));if(-1===Ug)a.O("invalid address: "+zm);else{var rf,
|
|
|
|
|
Ra=null;if(80386<=a.H.da){var sf=a.ma,Ra={};Ra.Ok=(Ug&-4194304)>>>20;Ra.Xi=a.H.Wc+Ra.Ok;Ra.ob=sf.aa[(Ra.Xi&sf.C)>>>sf.A];Ra.Fj=Ra.ob.Nd(Ra.Ok);Ra.Pk=(Ug&4190208)>>>10;Ra.Yi=(Ra.Fj&-4096)+Ra.Pk;Ra.pb=sf.aa[(Ra.Yi&sf.C)>>>sf.A];Ra.Gj=Ra.pb.Nd(Ra.Pk);Ra.yl=(Ra.Gj&-4096)+(Ug&4095)}if(rf=Ra){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var ye="%"+q(Ug),ye=ye+(" %%"+kz(rf.Xi,rf.Fj)),ye=
|
|
|
|
|
ye+(" %%"+kz(rf.Yi,rf.Gj,!0)),ye=ye+(" %%"+q(rf.yl));a.O(ye)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ua){if("disk"==cb){ba[0]="l";ba[1]="json";uB(a,ba);break a}for(ib in Xb)if(ba[1]==ib){var Kt=a.Da[ib];Kt?(ba.shift(),ba.shift(),Kt(ba)):a.O("no dump registered for "+cb);break a}cb||(ua=a.lb||"db")}if("dh"==ua){var Lt=cb,Mt=Oa,Vg=jb,Vg=void 0===Vg?"history":Vg,Nt="",Ot=0,Mc=a.oa,kd=a.X;if(kd.length){var vc=+Lt||a.Ya,Wg=+Mt||10;isNaN(vc)?vc=Wg:Nt="more ";vc>kd.length&&
|
|
|
|
|
(a.O("note: only "+kd.length+" available"),vc=kd.length);Mc-=vc;0>Mc&&(null==kd[kd.length-1].U?(vc=Mc+vc,Mc=0):Mc+=kd.length);var Am=[];"call"==Mt&&(Wg=1E5,Am=["CALL"]);for(void 0!==Lt&&a.O(vc+" instructions earlier:");0<Wg&&Mc!=a.oa;){var ld=kd[Mc++];if(null==ld.U)break;var Xg=yy(a,ld.Ha,ld.U,ld.ya,ld.type,ld.Hb,ld.cc),Pt=vc--;null!=ld.mj&&"cycles"==Vg&&(Pt=ld.mj);var Qt=oA(a,Xg,Vg,Pt);(!Am.length||0<=Qt.indexOf(Am[0]))&&a.O(Qt);Xg.Ie&&(Mc+=Xg.Ie,Wg-=Xg.Ie,vc-=Xg.Ie);Mc>=kd.length&&(Mc=0);a.Ya=vc;
|
|
|
|
|
Ot++;Wg--}}Ot||(a.O("no "+Nt+"history available"),a.Ya=void 0)}else if("di"==ua){ba.shift();var Bm=ba[0];if(Bm){var Yg=ny(a,Bm);if(void 0===Yg||0>Yg||255<Yg)a.O("invalid vector: "+Bm);else{var Rt="&",St=!!(a.H.qa&1),Tt=!1,cj=a.H.Pb+(Yg<<(St?3:2)),Ut=a.H.ja(cj+0),rC=a.H.ja(cj+2);St&&(Rt="#",a.H.ja(cj+4)&2048&&(Tt=!0,Ut|=a.H.ja(cj+6)<<16));a.O("dumpIDT("+sa(Yg)+"): "+Rt+q(rC,4)+":"+q(Ut,Tt?8:4))}}else a.O("no IDT vector")}else if("dt"==ua)ba.shift(),a.O("no information");else if(ua[1]&&0>"bwd".indexOf(ua[1]))a.O("unrecognized dump command");
|
|
|
|
|
else{a.lb=ua;var ze=fz(a,cb);if(ze&&(null!=ze.U||null!=ze.ya)){var tf=0;if(Oa){if("l"==Oa.charAt(0))Oa=Oa.substr(1)||jb,tf=ny(a,Oa);else{var Vt=fz(a,Oa);if(!Vt)break a;tf=Vt.Ha-ze.Ha+1}if(0>tf||65536<tf)tf=0}for(var Zg="",uf="dd"==ua?4:"dw"==ua?2:1,dj=uf*tf||128,sC=dj+15>>4||1;sC--&&0<dj;){var $g=0,Cm=0,ah,Dm="",Em="",cb=Wy(ze);for(ah=4==uf?16:a.D;0<ah&&0<dj;ah--){var ej=a.Ja(ze,1),$g=$g|ej<<(Cm++<<3);Cm==uf&&(Dm+=8==a.D?ra($g,3*uf):q($g,2*uf),Dm+=1==uf?9==ah?"-":" ":" ",$g=Cm=0);Em+=32<=ej&&128>
|
|
|
|
|
ej?String.fromCharCode(ej):".";dj--}Zg&&(Zg+="\n");Zg+=cb+" "+Dm+za(Em,Em.length+3*ah+1,!0)}Zg&&a.O(Zg);a.Aa=ze}}}}}break;case "e":if("else"==g[0])break;var fj=1,Wt=255,Xt=a.Ja,Yt=a.fc;"ew"==g[0]&&(fj=2,Wt=65535,Xt=a.Yc,Yt=a.ml);var Zt=fj<<1,$t=g[1];if(null==$t)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var gj=fz(a,$t);if(gj)for(var hj=2;hj<g.length;hj++){var bh=ty(a,g[hj]);if(void 0===bh){a.O("unrecognized value: "+
|
|
|
|
|
g[hj]);break}bh&~Wt&&a.O("warning: "+q(bh)+" exceeds "+fj+"-byte value");var tC=Xt.call(a,gj);a.O("changing "+Wy(gj)+" from "+q(tC,Zt,!0)+" to "+q(bh,Zt,!0));Yt.call(a,gj,bh,fj)}}break;case "f":rB(a,g[1]);break;case "g":a:{var au=g[1],uC=b;"gt"==g[0]&&(a.Ea=!0);if(void 0!==au){var Fm=fz(a,au,!0);if(!Fm)break a;iz(a,Fm,uC);a.rd(a.B,Fm,!0)}dA(a,!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Gm;if(a.ba.jb)Gm="halting",a.Kb();else{if(Pb(a,!0))break a;Gm="already halted"}c||
|
|
|
|
|
a.O(Gm)}break;case "i":if("if"==g[0]){var Hm;var ch=b.substr(2),ch=Aa(ch);ty(a,ch)?(c||a.O("true: "+ch),Hm=!0):(c||a.O("false: "+ch),Hm=!1);Hm||(d=!1);break}if("int"==g[0]){var ij;a:switch(ny(a,g[1])){case 19:bl(a,19,a.H.ea,!0);a.ka=a.aa;ij=!0;break a;case 33:bl(a,33,a.H.ea,!0);a.ka=a.aa;ij=!0;break a;default:ij=!1}ij||(d=!1);break}var Im=g[1];if(Im&&"?"!=Im){var Jm=ny(a,Im);if(void 0!==Jm){var vC=Uc(a.ma,Jm,1);a.O(sa(Jm)+": "+r(vC))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");
|
|
|
|
|
break;case "k":var wC=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var Km=0,bu=a.H.Z.U,dh=yy(a),Ud=yy(a,z(a.H),a.H.X.U);for(a.O("stack trace for "+Wy(Ud));10>Km;){for(var md=null,xC=256;Ud.Ha>>>0<a.H.eg>>>0;){dh.Ha=a.mb(Ud,!0);if(null==Ud.ya||!xC--)break;dh.U=bu;if(md=yB(a,dh))break;dh.U=a.mb(Ud);if(md=yB(a,dh,!0)){bu=a.mb(Ud,!0);0<md.indexOf("INT")&&a.mb(Ud,!0);break}}if(!md||null==md)break;var cu=null;if("ks"==wC){var du=
|
|
|
|
|
md.match(/[0-9A-F]+$/);du&&(cu=tB(a,du[0]))}md=za(md,50)+" ;"+(cu||"stack="+Wy(Ud));a.O(md);Km++}Km||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){tB(a,g[1],!0);break}uB(a,g);break;case "m":if("mouse"==g[0]){var Lm=g[1],jj=g[2];if(a.G){var eu=1;"-"==jj.charAt(0)&&(eu=-1,jj=jj.substr(1));var Ae=ny(a,jj,Lm);if(void 0!==Ae)switch(Ae=Ae*eu|0,Lm){case "x":a.G.uf(Ae,0);break;case "y":a.G.uf(0,Ae);break;case "click":a.G.Wd(Ae,!0);a.G.Wd(Ae,!1);break;default:a.O("unknown action: "+Lm)}}else a.O("no mouse");
|
|
|
|
|
break}a:{var nd,od=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var Be=0;if("all"==fb)Be=1610481663,fb=null;else if("on"==fb)od=!0,fb=null;else if("off"==fb)od=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(nd in Xb)if(fb==nd){Be=Xb[nd];od=!!(a.ic&Be);break}if(!Be){a.O("unknown message category: "+fb);break a}}Be&&("on"==g[2]?(a.ic|=Be,od=!0):"off"==g[2]&&(a.ic&=~Be,od=!1))}var yC=0,eh="";for(nd in Xb)if(!fb||fb==nd){var zC=!!(a.ic&Xb[nd]);if(null===od||od==zC)eh&&(eh+=
|
|
|
|
|
","),++yC%10||(eh+="\n\t"),"key"==nd&&(nd="keys"),eh+=nd}void 0===fb&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==od?od?"messages on: ":"messages off: ":"message categories:\n\t")+(eh||"none"));Ay(a)}break;case "o":var Mm=g[1],AC=g[2];if(Mm&&"?"!=Mm){var Nm=ny(a,Mm,"port #"),Om=ny(a,AC);void 0!==Nm&&void 0!==Om&&(Yc(a.ma,Nm,1,Om),a.O(sa(Nm)+": "+r(Om)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");
|
|
|
|
|
break;case "p":if("print"==g[0]){xB(a,b.substr(5));break}var fu="pr"==g[0]?1:0,vf=1+fu;if(a.K)a.O("step in progress");else{var kj,gu=!1,Hb=yy(a,A(a.H),a.H.Z.U);do switch(kj=!1,a.Ja(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:az(a,Hb,1);kj=!0;break;case 204:case 206:a.K=vf;az(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=vf;az(a,Hb,Hb.Hb?4:2);break;case 232:a.K=vf;az(a,Hb,Hb.Hb?5:3);break;case 154:a.K=vf;az(a,Hb,Hb.Hb?7:5);break;case 255:var hu=a.mb(Hb)&
|
|
|
|
|
14591;if(4351==hu||6399==hu)a.K=vf,oA(a,Hb);break;case 243:case 242:az(a,Hb,1);gu=kj=!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:gu&&(a.K=vf,az(a,Hb,1))}while(kj);a.K?(a.rd(a.B,Hb,!0),dA(a)||(a.pa&&a.pa.od(),a.K=0)):zB(a,fu?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}fA(a,g);break;case "t":zB(a,g[0],g[1]);break;case "u":gA(a,g[1],g[2],8);break;case "v":if("var"==g[0]){sB(a,b.substr(3))||
|
|
|
|
|
(d=!1);break}a.O("PCx86 version 1.35.2 ("+a.H.da+",RELEASE,NOPREFETCH"+(Tb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(Qa());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var fh;void 0!==g[3]&&(fh=+g[3]);switch(g[2]){case "int":a.H.T.Ue=fh;break;case "start":a.H.T.xf=fh;break;case "stop":a.H.T.We=fh;break;default:a.O("unknown cs option");break a}void 0!==fh&&Hd(a.H);a.O("checksums "+(a.H.ba.Ke?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Ld(a.H,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));
|
|
|
|
|
a.O("target speed: "+(a.H.T.pe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){wB(a,b.substr(1));break}var Pm="commands:",Qm;for(Qm in AB)Pm+="\n"+za(Qm,7)+AB[Qm];Pg(a)||(Pm+="\nnote: frequency/history disabled if no exec breakpoints");
|
|
|
|
|
a.O(Pm);break;default:a.O("unknown command: "+b),d=!1}}}catch(iu){a.O("debugger error: "+(iu.stack||iu.message)),d=!1}return d}function By(a,b,c){b=a.Gg(b,c);for(var d in b)if(!mA(a,b[+d]))return!1;return!0}
|
|
|
|
|
var $z={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Zz=[26,28,40,42,109],AB={"?":"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"},fz=0,Yy=1,Hy=2,iz=3,gz=4,Zy=5,vA=18,wA=28,rA=36,AA=80,xA=104,yA=107,pA=176,oA="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(" "),
|
|
|
|
|
tA="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
|
|
|
|
|
vB=["VALID","ZERO ","SPEC ","EMPTY"],BA=2,CA=3,dB=[8086,80186,80286,80386],mz=0,nz=1,oz=2,pz=3,qz=4,rz=5,sz=6,tz=7,uz=8,vz=9,wz=10,xz=11,yz=12,zz=13,Az=14,Bz=15,Dz=16,Cz=22,Xz=23,Kz=24,Lz=25,Mz=26,Nz=27,Oz=28,Pz=29,Qz=30,Rz=31,Sz=32,Tz=33,Uz=34,Vz=35,hB=40,jB=48,Wz=56,kz=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2",
|
|
|
|
|
"DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],Ez=0,Fz=1,Gz=2,Hz=3,Iz=4,Jz=5,IA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),DA=15,GA=240,ZA=3840,EA=0,V=1,TA=2,U=3,T=4,JA=5,KA=7,FA=8,XA=9,YA=10,LA=11,MA=11,NA=12,OA=12,PA=13,QA=14,W=0,SA=16,VA=32,WA=48,bB=64,cB=80,Y=96,$A=112,S=128,HA=160,aB=192,fB=208,gB=224,iB=240,BB=mz<<8|Y|V,CB=nz<<8|Y|V,DB=uz<<8|Y|T,EB=vz<<8|Y|T,FB=wz<<8|Y|T,GB=xz<<8|Y|T,HB=yz<<8|Y|T,IB=zz<<8|Y|T,JB=Az<<8|Y|T,KB=
|
|
|
|
|
Bz<<8|Y|T,LB=Ez<<8|$A|U,MB=Fz<<8|$A|U,NB=Gz<<8|$A|U,OB=Hz<<8|$A|U,PB=Iz<<8|$A|U,QB=Jz<<8|$A|U,X=12288,RB=BA<<14,Z=CA<<14,zA=14,bA=1E3,Dy=[0,EA],Ey=[pA,U|X],Cy=[[6,S|V|X,V|4272],[6,S|T|X,T|4272],[6,176|V|X,S|V|4096],[6,176|T|X,S|T|4096],[6,BB|X,W|V|4096],[6,DB|X,W|T|4096],[108,LB|4096],[103,LB|8192],[99,S|V|X,V|4272],[99,S|T|X,T|4272],[99,176|V|X,S|V|4096],[99,176|T|X,S|T|4096],[99,BB|X,W|V|4096],[99,DB|X,W|T|4096],[108,MB|4096],[103,MB|8192],[5,S|V|X,V|4272],[5,S|T|X,T|4272],[5,176|V|X,S|V|4096],
|
|
|
|
|
[5,176|T|X,S|T|4096],[5,BB|X,W|V|4096],[5,DB|X,W|T|4096],[108,NB|4096],[103,NB|8192],[120,S|V|X,V|4272],[120,S|T|X,T|4272],[120,176|V|X,S|V|4096],[120,176|T|X,S|T|4096],[120,BB|X,W|V|4096],[120,DB|X,W|T|4096],[108,OB|4096],[103,OB|8192],[7,S|V|X,V|4272],[7,S|T|X,T|4272],[7,176|V|X,S|V|4096],[7,176|T|X,S|T|4096],[7,BB|X,W|V|4096],[7,DB|X,W|T|4096],[35,FA],[29],[154,S|V|X,V|4272],[154,S|T|X,T|4272],[154,176|V|X,S|V|4096],[154,176|T|X,S|T|4096],[154,BB|X,W|V|4096],[154,DB|X,W|T|4096],[27,FA],[30],[162,
|
|
|
|
|
S|V|X,V|4272],[162,S|T|X,T|4272],[162,176|V|X,S|V|4096],[162,176|T|X,S|T|4096],[162,BB|X,W|V|4096],[162,DB|X,W|T|4096],[147,FA],[1],[24,S|V|4096,V|4272],[24,S|T|4096,T|4272],[24,V|4272,S|V|4096],[24,T|4272,S|T|4096],[24,BB|4096,W|V|4096],[24,DB|4096,W|T|4096],[33,FA],[4],[44,DB|X],[44,EB|X],[44,FB|X],[44,GB|X],[44,HB|X],[44,IB|X],[44,JB|X],[44,KB|X],[31,DB|X],[31,EB|X],[31,FB|X],[31,GB|X],[31,HB|X],[31,IB|X],[31,JB|X],[31,KB|X],[108,DB|4096],[108,EB|4096],[108,FB|4096],[108,GB|4096],[108,HB|4096],
|
|
|
|
|
[108,IB|4096],[108,JB|4096],[108,KB|4096],[103,DB|8192],[103,EB|8192],[103,FB|8192],[103,GB|8192],[103,HB|8192],[103,IB|8192],[103,JB|8192],[103,KB|8192],[yA,EA|RB],[xA,EA|RB],[10,T|4272|RB,S|T|4096],[8,S|U|8192,U|4272],[37,FA|Z],[38,FA|Z],[100,FA|Z],[9,FA|Z],[108,W|T|4096|RB],[42,176|U|X|RB,S|T|4096,W|T|4096],[108,W|TA|4096|RB],[42,U|8368|RB,S|T|4096,W|V|4096],[45,cB|V|8192|RB,FB|4096],[45,cB|T|8192|RB,FB|4096],[102,FB|4096|RB,bB|V|4096],[102,FB|4096|RB,bB|T|4096],[64,WA|V|4096],[60,WA|V|4096],[51,
|
|
|
|
|
WA|V|4096],[59,WA|V|4096],[67,WA|V|4096],[63,WA|V|4096],[50,WA|V|4096],[58,WA|V|4096],[66,WA|V|4096],[62,WA|V|4096],[65,WA|V|4096],[61,WA|V|4096],[55,WA|V|4096],[54,WA|V|4096],[56,WA|V|4096],[53,WA|V|4096],[163,S|V|X,W|V|4096],[164,S|T|X,W|T|4096],[163,S|V|X,W|V|4096],[165,S|T|X,W|V|4096],[155,S|V|4096,V|4272],[155,S|T|4096,T|4272],[160,176|V|X,S|V|X],[160,176|T|X,S|T|X],[90,S|V|8192,V|4272],[90,S|T|8192,T|4272],[90,V|8368,S|V|4096],[90,T|8368,S|T|4096],[90,S|T|8192,aB|U|4096],[71,T|8368,144|T],[90,
|
|
|
|
|
aB|U|8192,S|T|4096],[103,S|T|8192],[97],[160,DB|X,EB|X],[160,DB|X,FB|X],[160,DB|X,GB|X],[160,DB|X,HB|X],[160,DB|X,IB|X],[160,DB|X,JB|X],[160,DB|X,KB|X],[vA],[wA],[17,W|KA|4096],[158],[106],[105],[117],[68],[90,BB|8192,VA|V|4096],[90,DB|8192,VA|T|4096],[90,VA|V|8192,BB|4096],[90,VA|T|8192,DB|4096],[91,cB|V|8192,bB|V|4096],[92,cB|T|8192,bB|T|4096],[25,cB|V|4096,bB|V|4096],[26,cB|T|4096,bB|T|4096],[155,BB|4096,W|V|4096],[155,DB|4096,W|T|4096],[151,cB|V|8192,BB|4096],[152,cB|T|8192,DB|4096],[82,BB|8192,
|
|
|
|
|
bB|V|4096],[83,DB|8192,bB|T|4096],[121,BB|4096,cB|V|4096],[122,DB|4096,cB|T|4096],[90,BB|8192,W|V|4096],[90,CB|8192,W|V|4096],[90,oz<<8|Y|V|8192,W|V|4096],[90,pz<<8|Y|V|8192,W|V|4096],[90,qz<<8|Y|V|8192,W|V|4096],[90,rz<<8|Y|V|8192,W|V|4096],[90,sz<<8|Y|V|8192,W|V|4096],[90,tz<<8|Y|V|8192,W|V|4096],[90,DB|8192,W|T|4096],[90,EB|8192,W|T|4096],[90,FB|8192,W|T|4096],[90,GB|8192,W|T|4096],[90,HB|8192,W|T|4096],[90,IB|8192,W|T|4096],[90,JB|8192,W|T|4096],[90,KB|8192,W|T|4096],[166,S|V|X|16384,W|V|4096],
|
|
|
|
|
[167,S|T|X|16384,W|V|4096],[113,W|U|4096],[113],[73,T|8368,4246],[70,T|8368,4246],[90,S|V|8192,W|V|4096],[90,S|T|8192,W|T|4096],[34,W|U|4096|RB,W|V|4096],[72,EA|RB],[114,W|U|4096],[114],[47],[46,W|V|4096],[48],[49],[168,S|V|X,SA|V|4096],[169,S|T|X,SA|V|4096],[170,S|V|X,CB|4096],[171,S|T|X,CB|4096],[3,W|V],[2,W|V],[118],[161],[rA,S|T|4096],[rA,S|T|4096],[rA,S|T|4096],[rA,S|T|4096],[rA,S|T|4096],[rA,S|T|4096],[rA,S|T|4096],[rA,S|T|4096],[85,WA|V|4096],[86,WA|V|4096],[84,WA|V|4096],[52,WA|V|4096],[43,
|
|
|
|
|
BB|8192,W|V|4096],[43,DB|8192,W|V|4096],[101,W|V|4096,BB|4096],[101,W|V|4096,DB|4096],[17,WA|T|4096],[57,WA|T|4096],[57,W|KA|4096],[57,WA|V|4096],[43,BB|8192,FB|U|4096],[43,DB|8192,FB|U|4096],[101,FB|U|4096,BB|4096],[101,FB|U|4096,DB|4096],[81,FA],[0],[111,FA],[112,FA],[39],[23],[172,S|V|X],[173,S|T|X],[19],[148],[21],[150],[20],[149],[174,S|V|X],[175,S|T|X]],qA={0:[177,S|U|X],1:[178,S|U|X],2:[69,U|8368|RB,U|4240],3:[87,U|8368|RB,U|4240],5:[AA,RB],6:[22,RB],7:[AA,Z],32:[90,HA|JA|8192|Z,fB|JA|4096],
|
|
|
|
|
33:[90,HA|JA|8192|Z,gB|JA|4096],34:[90,fB|JA|8192|Z,HA|JA|4096],35:[90,gB|JA|8192|Z,HA|JA|4096],36:[90,HA|JA|8192|Z,iB|JA|4096],38:[90,iB|JA|8192|Z,HA|JA|4096],128:[64,WA|T|4096|Z],129:[60,WA|T|4096|Z],130:[51,WA|T|4096|Z],131:[59,WA|T|4096|Z],132:[67,WA|T|4096|Z],133:[63,WA|T|4096|Z],134:[50,WA|T|4096|Z],135:[58,WA|T|4096|Z],136:[66,WA|T|4096|Z],137:[62,WA|T|4096|Z],138:[65,WA|T|4096|Z],139:[61,WA|T|4096|Z],140:[55,WA|T|4096|Z],141:[54,WA|T|4096|Z],142:[56,WA|T|4096|Z],143:[53,WA|T|4096|Z],144:[135,
|
|
|
|
|
S|V|8192|Z],145:[131,S|V|8192|Z],146:[124,S|V|8192|Z],147:[130,S|V|8192|Z],148:[138,S|V|8192|Z],149:[134,S|V|8192|Z],150:[123,S|V|8192|Z],151:[129,S|V|8192|Z],152:[137,S|V|8192|Z],153:[133,S|V|8192|Z],154:[136,S|V|8192|Z],155:[132,S|V|8192|Z],156:[127,S|V|8192|Z],157:[126,S|V|8192|Z],158:[128,S|V|8192|Z],159:[125,S|V|8192|Z],160:[108,PB|4096|Z],161:[103,PB|8192|Z],163:[13,S|T|4096|Z,T|4272],164:[141,S|T|8192|Z,T|4272,W|V|4096],165:[141,S|T|8192|Z,T|4272,CB|4096],166:[159,T|8368|Z,S|T|4096,DB|4096,
|
|
|
|
|
CB|4096],167:[40,S|T|8192|Z,DB|4096,CB|4096,T|4272],168:[108,QB|4096|Z],169:[103,QB|8192|Z],171:[16,S|T|8192|Z,T|4272],172:[143,S|T|8192|Z,T|4272,W|V|4096],173:[143,S|T|8192|Z,T|4272,CB|4096],175:[42,S|T|X|Z,T|4272],178:[88,T|8368,4246],179:[15,S|T|8192|Z,T|4272],180:[74,T|8368,4246],181:[76,T|8368,4246],182:[94,T|8368|Z,S|V|4096],183:[94,JA|8368|Z,S|U|4096],186:[179,S|T|X|Z,W|V|4096],187:[14,S|T|8192|Z,T|4272],188:[11,T|8368|Z,S|T|4096],189:[12,T|8368|Z,S|T|4096],190:[93,T|8368|Z,S|V|4096],191:[93,
|
|
|
|
|
JA|8368|Z,S|U|4096]},sA={216:{0:[9,S|MA|4096],1:[18,S|MA|4096],2:[34,S|MA|4096],3:[35,S|MA|4096],4:[12,S|MA|4096],5:[15,S|MA|4096],6:[21,S|MA|4096],7:[24,S|MA|4096],48:[9,Y|XA|8192,Y|YA|4096],49:[18,Y|XA|8192,Y|YA|4096],50:[34,Y|XA|8192,Y|YA|4096],51:[35,Y|XA|8192,Y|YA|4096],52:[12,Y|XA|8192,Y|YA|4096],53:[15,Y|XA|8192,Y|YA|4096],54:[21,Y|XA|8192,Y|YA|4096],55:[24,Y|XA|8192,Y|YA|4096]},217:{0:[0,S|MA|4096],2:[1,S|MA|8192],3:[2,S|MA|8192],4:[68,S|4111],5:[59,S|U|4096],6:[66,S|8207],7:[60,S|U|8192],
|
|
|
|
|
48:[0,Y|YA|8192],49:[3,Y|YA|8192],50:[76],51:[2,Y|YA|8192],64:[33],65:[32],68:[39],69:[40],80:[47],81:[49],82:[50],83:[48],84:[51],85:[52],86:[46],96:[43],97:[44],98:[41],99:[42],100:[31],102:[73],103:[72],112:[29],113:[45],114:[27],116:[30],117:[28]},218:{0:[11,S|LA|4096],1:[20,S|LA|4096],2:[37,S|LA|4096],3:[38,S|LA|4096],4:[14,S|LA|4096],5:[17,S|LA|4096],6:[23,S|LA|4096],7:[26,S|LA|4096]},219:{0:[4,S|LA|4096],2:[5,S|LA|8192],3:[6,S|LA|8192],5:[0,S|PA|4096],7:[2,S|PA|8192],64:[57],65:[55],66:[64],
|
|
|
|
|
67:[53],68:[78,RB],115:[79,Z]},220:{0:[9,S|OA|4096],1:[18,S|OA|4096],2:[34,S|OA|4096],3:[35,S|OA|4096],4:[12,S|OA|4096],5:[15,S|OA|4096],6:[21,S|OA|4096],7:[24,S|OA|4096],48:[9,Y|YA|8192,Y|XA|4096],49:[18,Y|YA|8192,Y|XA|4096],50:[34,Y|YA|4096],51:[35,Y|YA|4096],52:[15,Y|YA|8192,Y|XA|4096],53:[12,Y|YA|8192,Y|XA|4096],54:[24,Y|YA|8192,Y|XA|4096],55:[21,Y|YA|8192,Y|XA|4096]},221:{0:[0,S|OA|4096],2:[1,S|OA|8192],3:[2,S|OA|8192],4:[71,S|4111],6:[69,S|8207],7:[62,S|U|8192],48:[74,Y|YA|4096],49:[3,Y|YA|
|
|
|
|
|
8192],50:[1,Y|YA|4096],51:[2,Y|YA|4096]},222:{0:[11,S|U|4096],1:[20,S|U|4096],2:[37,S|U|4096],3:[38,S|U|4096],4:[14,S|U|4096],5:[17,S|U|4096],6:[23,S|U|4096],7:[26,S|U|4096],48:[10,Y|YA|8192,Y|XA|4096],49:[19,Y|YA|8192,Y|XA|4096],50:[35,Y|YA|4096],51:[36,Y|YA|4096],52:[16,Y|YA|8192,Y|XA|4096],53:[13,Y|YA|8192,Y|XA|4096],54:[25,Y|YA|8192,Y|XA|4096],55:[22,Y|YA|8192,Y|XA|4096]},223:{0:[4,S|U|4096],2:[5,S|U|8192],3:[6,S|U|8192],4:[7,S|QA|4096],5:[4,S|NA|4096],6:[8,S|QA|8192],7:[6,S|NA|8192],48:[75,Y|
|
|
|
|
|
YA|4096],49:[3,Y|YA|8192],50:[2,Y|YA|4096],51:[2,Y|YA|4096],52:[80,RB]}},uA=[[[6,S|V|X,W|V|4096],[99,S|V|X,W|V|4096],[5,S|V|X,W|V|4096],[120,S|V|X,W|V|4096],[7,S|V|X,W|V|4096],[154,S|V|X,W|V|4096],[162,S|V|X,W|V|4096],[24,S|V|4096,W|V|4096]],[[6,S|T|X,W|T|4096],[99,S|T|X,W|T|4096],[5,S|T|X,W|T|4096],[120,S|T|X,W|T|4096],[7,S|T|X,W|T|4096],[154,S|T|X,W|T|4096],[162,S|T|X,W|T|4096],[24,S|T|4096,W|T|4096]],[[6,S|T|X,W|TA|4096],[99,S|T|X,W|TA|4096],[5,S|T|X,W|TA|4096],[120,S|T|X,W|TA|4096],[7,S|T|X,W|
|
|
|
|
|
TA|4096],[154,S|T|X,W|TA|4096],[162,S|T|X,W|TA|4096],[24,S|T|4096,W|TA|4096]],[[115,S|V|X|RB,W|V|4096],[116,S|V|X|RB,W|V|4096],[109,S|V|X|RB,W|V|4096],[110,S|V|X|RB,W|V|4096],[140,S|V|X|RB,W|V|4096],[142,S|V|X|RB,W|V|4096],Dy,[119,S|V|X|RB,W|V|4096]],[[115,S|T|X|RB,W|V|4096],[116,S|T|X|RB,W|V|4096],[109,S|T|X|RB,W|V|4096],[110,S|T|X|RB,W|V|4096],[140,S|T|X|RB,W|V|4096],[142,S|T|X|RB,W|V|4096],Dy,[119,S|T|X|RB,W|V|4096]],[[115,S|V|X,SA|V|4096],[116,S|V|X,SA|V|4096],[109,S|V|X,SA|V|4096],[110,S|V|X,
|
|
|
|
|
SA|V|4096],[140,S|V|X,SA|V|4096],[142,S|V|X,SA|V|4096],Dy,[119,S|V|X,SA|V|4096]],[[115,S|T|X,SA|V|4096],[116,S|T|X,SA|V|4096],[109,S|T|X,SA|V|4096],[110,S|T|X,SA|V|4096],[140,S|T|X,SA|V|4096],[142,S|T|X,SA|V|4096],Dy,[119,S|T|X,SA|V|4096]],[[115,S|V|X,CB|4096],[116,S|V|X,CB|4096],[109,S|V|X,CB|4096],[110,S|V|X,CB|4096],[140,S|V|X,CB|4096],[142,S|V|X,CB|4096],Dy,[119,S|V|X,CB|4096]],[[115,S|T|X,CB|4096],[116,S|T|X,CB|4096],[109,S|T|X,CB|4096],[110,S|T|X,CB|4096],[140,S|T|X,CB|4096],[142,S|T|X,CB|4096],
|
|
|
|
|
Dy,[119,S|T|X,CB|4096]],[[155,S|V|4096,W|V|4096],Dy,[98,S|V|X],[96,S|V|X],[95,S|V|4096],[42,S|V|X],[32,S|V|4096],[41,S|V|X]],[[155,S|T|4096,W|T|4096],Dy,[98,S|T|X],[96,S|T|X],[95,S|T|4096],[42,S|T|X],[32,S|T|4096],[41,S|T|X]],[[44,S|V|X],[31,S|V|X],Dy,Dy,Dy,Dy,Dy,Dy],[[44,S|T|X],[31,S|T|X],[17,S|T|4096],[17,S|KA|4096],[57,S|T|4096],[57,S|KA|4096],[108,S|T|4096],Dy],[],[[145,S|U|8192|RB],[153,S|U|8192|RB],[78,S|U|4096|RB],[89,S|U|4096|RB],[156,S|U|4096|RB],[157,S|U|4096|RB],Dy,Dy],[[139,S|U|8192|RB],
|
|
|
|
|
[144,S|U|8192|RB],[75,S|U|4096|RB],[77,S|U|4096|RB],[146,S|U|8192|RB],Dy,[79,S|U|4096|RB],Dy],[Dy,Dy,Dy,Dy,[13,S|T|4096|Z,W|V|4096],[16,S|T|8192|Z,W|V|4096],[15,S|T|8192|Z,W|V|4096],[14,S|T|8192|Z,W|V|4096]]],Iy={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},My={PREV_TSS:0,CPL0_SP:2,
|
|
|
|
|
CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42},Ny={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,
|
|
|
|
|
TASK_IOPM:100};eb(function(){for(var a=Bb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=Cb(c),d=new wy(d);Ab(d,c)}});
|
|
|
|
|
function SB(a,b,c){rb.call(this,"Computer",a,67108864);var d=this;TB(this,b);this.W=Fd(this,"autoPower",a);this.D=0;this.oa=a.busWidth||a.buswidth;this.A=UB;this.M=null;this.J=this.ga=!1;this.qa=Fd(this,"url")||"";this.sa=(Math.random()+.1).toString(36).substr(2,12);this.B=VB(this);if(this.H=zb("CPU",this.id)){this.ca=zb("Debugger",this.id);this.C=[];for(b=null;b=bc(this,"Video",b);)this.C.push(b);this.ma=new sc({id:this.ze+".bus",busWidth:this.oa},this.H,this.ca);var e,f=Db(this.id);this.I=(this.F=
|
|
|
|
|
zb("Panel",this.id))&&this.F.na.print;this.ha=this.Ca;this.ka=this.print;this.la=this.O;this.I&&(this.ha=this.F.Ca,this.ka=this.F.print,this.la=this.F.O);for(b=0;b<f.length;b++)e=f[b],e.Ca=function(a,b,c){WB(d,a);return d.ha.call(this,a,b,c)}.bind(e),e.print=function(a){return d.ka.call(this,a)}.bind(e),e.O=function(a,b,c){WB(d,a,b);return d.la.call(this,a,b,c)}.bind(e);this.P=0;this.I||XB(this);this.O("PCx86 v1.35.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");
|
|
|
|
|
for(b=0;b<f.length;b++)e=f[b],e.uc&&e.uc(this,this.ma,this.H,this.ca);b=null;e=Fd(this,"resume");void 0!==e&&(1<e.length?b=this.L=e:this.A=parseInt(e,10));e=!1;f=Xa("state");f||(e=!0,f=Fd(this,"state",a));f&&(b=this.Z=f,e||(this.J=!0,this.A=UB),this.A&&(this.N=new cg(this,"1.35.2"),this.N.load()?b=null:delete this.N));!b&&this.A&&(b=YB(this))&&(this.J=!0);if(this.aa=b){var g="Loading "+this.aa+"...";Na(this.aa,null,!0,function(a,b,c){c?(d.L=null,d.J=!1,d.Ca("Unable to load machine state from server (error "+
|
|
|
|
|
c+(b?": "+Aa(b):"")+")")):(d.M=b,d.ga=!0);Ob(d)},function(){d.O(g,Lb.De)})}else Ob(this);this.na.power||(this.W=!0);!c&&this.W&&ZB(this,this.Mf)}else mb("Unable to find CPU component")}ca(SB,rb);function uB(a){a.I&&(a.I.value="")}function XB(a){for(var b=0;b<a.C.length;b++){var c=a.C[b];c&&(c=c.tg)&&(c.style.opacity="1",c.style.lineHeight="1",a.P++)}}function WB(a,b,c){if(a.P)for(var d=0;d<a.C.length;d++){var e=a.C[d];e&&(e=e.tg)&&(c!=Lb.De||"..."!=b.slice(-3)?wb(e,b+"\n"):xb(e,b,b+"."))}}
|
|
|
|
|
function TB(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){mb(d.message+" ("+c+")")}}a.K=b}function Fd(a,b,c){var d=Xa(b);void 0===d&&a.K&&(d=a.K[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function ZB(a,b,c){for(var d=Db(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Nb(f)){Nb(f,function(){ZB(a,b,c)});return}}b.call(a,c)}
|
|
|
|
|
function $B(a,b){var c=new cg(a,"1.35.2",aC);if(c.load()&&bC(c)){var d=c.get(cC),e=b?b.get(cC):"unknown";d!=e&&(a.Ca("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=SB.prototype;
|
|
|
|
|
l.Mf=function(a){void 0===a&&(a=this.A||(this.M?dC:UB));if(!this.D){this.D++;var b=!1,c=!1;this.ea=!1;var d=this.N||new cg(this,"1.35.2");if(a==eC)b=!0;else if(a>UB){if(d.load(this.M)){this.G=new cg(this,"1.35.2",fC);this.G.load()&&(a!=dC&&gC(this,d)&&(a=hC),iC(this.G));this.G.set(cC,Ea());jC(this.G);var e=this.A&&!this.J;if(a==dC||vb("Click OK to restore the previous PCx86 machine state.")){if(c=bC(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=g?(this.Ca("Error: "+
|
|
|
|
|
g),"unable to verify user"==g&&(Va(kC,""),this.B=null)):this.O(f+": "+g),iC(d),d.load()?(c=bC(d),e=!0):c=!1))}e&&$B(this,c?d:null)}else a==hC&&d.clear()}else $B(this);delete this.M;delete this.N}e=Db(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=lC(this,g,d,b,c));b=[d,a,c];a!=eC?ZB(this,this.rj,b):this.rj(b)}};
|
|
|
|
|
function lC(a,b,c,d,e){if(!b.ba.dc){b.ba.dc=!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.Ca("Unable to restore hardware state")&&(a.Z&&!a.ga?(c.clear(),a.A=UB,window&&window.location.reload()):a.ea=!0),b.Xb(null),e=!1)}b.ba.sg=!0;if(!d&&b.Cj)for(a=b.Cj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
|
|
|
|
l.rj=function(a){var b=a[0],c=0>a[1];a=a[2];if(!this.ba.sg){for(var d=0;d<this.C.length;d++){var e=this.C[d];e&&(e=e.tg)&&(e.style.opacity="0",e.style.lineHeight="0",e.value="")}this.P=0;this.ba.sg=!0}this.ba.dc=!0;if(d=this.na.power)d.textContent="Shutdown";this.H&&(lC(this,this.H,b,c,a),this.H.ge());this.ea&&(gC(this,b),b.clear());!c&&this.G&&(this.G.clear(),delete this.G);this.D=0};
|
|
|
|
|
function gC(a,b){if(!a.ba.Tf){if(vb("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.2"};d.url=a.qa;d.user=c;d.type="bug";d.data=b;Na("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
|
|
|
|
function zB(a,b,c){var d,e="none";if(a.D)return null;a.D--;var f=new cg(a,"1.35.2"),g=new cg(a,"1.35.2",aC),h=Ea();g.set(cC,h);f.set(cC,h);f.set(mC,"1.35.2");f.set(nC,window?window.location.href:null);f.set(oC,Qa());a.H&&a.H.Wb&&(d=a.H.Wb(b,c),"object"===typeof d&&f.set(a.H.id,d),c&&(a.H.ba.dc=!1,!1===d&&(e=null)));for(var h=Db(a.id),k=0;k<h.length;k++){var m=h[k];m.ba.dc&&(m.Wb&&(d=m.Wb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ba.dc=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.B&&pC(a,a.B,f.toString()),
|
|
|
|
|
jC(g)&&jC(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==AC),d&&f.clear(h)):e=f.toString());c&&(a.ba.dc=!1,b=a.na.power)&&(b.textContent="Power");a.D=0;return e}l.reset=function(){this.ma&&this.ma.reset&&(Rb(this,"Resetting "+this.ma.type),this.ma.reset());for(var a=Db(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ma&&c.reset&&(Rb(this,"Resetting "+c.type),c.reset())}};l.start=function(a,b){for(var c=Db(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
|
|
|
|
a.O("target speed: "+(a.H.T.pe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){xB(a,b.substr(1));break}var Pm="commands:",Qm;for(Qm in BB)Pm+="\n"+za(Qm,7)+BB[Qm];Pg(a)||(Pm+="\nnote: frequency/history disabled if no exec breakpoints");
|
|
|
|
|
a.O(Pm);break;default:a.O("unknown command: "+b),d=!1}}}catch(ju){a.O("debugger error: "+(ju.stack||ju.message)),d=!1}return d}function Cy(a,b,c){b=a.Gg(b,c);for(var d in b)if(!nA(a,b[+d]))return!1;return!0}
|
|
|
|
|
var aA={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},$z=[26,28,40,42,109],BB={"?":"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"},gz=0,Zy=1,Iy=2,jz=3,hz=4,$y=5,wA=18,xA=28,sA=36,BA=80,yA=104,zA=107,qA=176,pA="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(" "),
|
|
|
|
|
uA="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
|
|
|
|
|
wB=["VALID","ZERO ","SPEC ","EMPTY"],CA=2,DA=3,eB=[8086,80186,80286,80386],nz=0,oz=1,pz=2,qz=3,rz=4,sz=5,tz=6,uz=7,vz=8,wz=9,xz=10,yz=11,zz=12,Az=13,Bz=14,Cz=15,Ez=16,Dz=22,Yz=23,Lz=24,Mz=25,Nz=26,Oz=27,Pz=28,Qz=29,Rz=30,Sz=31,Tz=32,Uz=33,Vz=34,Wz=35,iB=40,kB=48,Xz=56,lz=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2",
|
|
|
|
|
"DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],Fz=0,Gz=1,Hz=2,Iz=3,Jz=4,Kz=5,JA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),EA=15,HA=240,$A=3840,FA=0,V=1,UA=2,U=3,T=4,KA=5,LA=7,GA=8,YA=9,ZA=10,MA=11,NA=11,OA=12,PA=12,QA=13,RA=14,W=0,TA=16,WA=32,XA=48,cB=64,dB=80,Y=96,aB=112,S=128,IA=160,bB=192,gB=208,hB=224,jB=240,CB=nz<<8|Y|V,DB=oz<<8|Y|V,EB=vz<<8|Y|T,FB=wz<<8|Y|T,GB=xz<<8|Y|T,HB=yz<<8|Y|T,IB=zz<<8|Y|T,JB=Az<<8|Y|T,KB=Bz<<8|Y|T,LB=
|
|
|
|
|
Cz<<8|Y|T,MB=Fz<<8|aB|U,NB=Gz<<8|aB|U,OB=Hz<<8|aB|U,PB=Iz<<8|aB|U,QB=Jz<<8|aB|U,RB=Kz<<8|aB|U,X=12288,SB=CA<<14,Z=DA<<14,AA=14,cA=1E3,Ey=[0,FA],Fy=[qA,U|X],Dy=[[6,S|V|X,V|4272],[6,S|T|X,T|4272],[6,176|V|X,S|V|4096],[6,176|T|X,S|T|4096],[6,CB|X,W|V|4096],[6,EB|X,W|T|4096],[108,MB|4096],[103,MB|8192],[99,S|V|X,V|4272],[99,S|T|X,T|4272],[99,176|V|X,S|V|4096],[99,176|T|X,S|T|4096],[99,CB|X,W|V|4096],[99,EB|X,W|T|4096],[108,NB|4096],[103,NB|8192],[5,S|V|X,V|4272],[5,S|T|X,T|4272],[5,176|V|X,S|V|4096],
|
|
|
|
|
[5,176|T|X,S|T|4096],[5,CB|X,W|V|4096],[5,EB|X,W|T|4096],[108,OB|4096],[103,OB|8192],[120,S|V|X,V|4272],[120,S|T|X,T|4272],[120,176|V|X,S|V|4096],[120,176|T|X,S|T|4096],[120,CB|X,W|V|4096],[120,EB|X,W|T|4096],[108,PB|4096],[103,PB|8192],[7,S|V|X,V|4272],[7,S|T|X,T|4272],[7,176|V|X,S|V|4096],[7,176|T|X,S|T|4096],[7,CB|X,W|V|4096],[7,EB|X,W|T|4096],[35,GA],[29],[154,S|V|X,V|4272],[154,S|T|X,T|4272],[154,176|V|X,S|V|4096],[154,176|T|X,S|T|4096],[154,CB|X,W|V|4096],[154,EB|X,W|T|4096],[27,GA],[30],[162,
|
|
|
|
|
S|V|X,V|4272],[162,S|T|X,T|4272],[162,176|V|X,S|V|4096],[162,176|T|X,S|T|4096],[162,CB|X,W|V|4096],[162,EB|X,W|T|4096],[147,GA],[1],[24,S|V|4096,V|4272],[24,S|T|4096,T|4272],[24,V|4272,S|V|4096],[24,T|4272,S|T|4096],[24,CB|4096,W|V|4096],[24,EB|4096,W|T|4096],[33,GA],[4],[44,EB|X],[44,FB|X],[44,GB|X],[44,HB|X],[44,IB|X],[44,JB|X],[44,KB|X],[44,LB|X],[31,EB|X],[31,FB|X],[31,GB|X],[31,HB|X],[31,IB|X],[31,JB|X],[31,KB|X],[31,LB|X],[108,EB|4096],[108,FB|4096],[108,GB|4096],[108,HB|4096],[108,IB|4096],
|
|
|
|
|
[108,JB|4096],[108,KB|4096],[108,LB|4096],[103,EB|8192],[103,FB|8192],[103,GB|8192],[103,HB|8192],[103,IB|8192],[103,JB|8192],[103,KB|8192],[103,LB|8192],[zA,FA|SB],[yA,FA|SB],[10,T|4272|SB,S|T|4096],[8,S|U|8192,U|4272],[37,GA|Z],[38,GA|Z],[100,GA|Z],[9,GA|Z],[108,W|T|4096|SB],[42,176|U|X|SB,S|T|4096,W|T|4096],[108,W|UA|4096|SB],[42,U|8368|SB,S|T|4096,W|V|4096],[45,dB|V|8192|SB,GB|4096],[45,dB|T|8192|SB,GB|4096],[102,GB|4096|SB,cB|V|4096],[102,GB|4096|SB,cB|T|4096],[64,XA|V|4096],[60,XA|V|4096],[51,
|
|
|
|
|
XA|V|4096],[59,XA|V|4096],[67,XA|V|4096],[63,XA|V|4096],[50,XA|V|4096],[58,XA|V|4096],[66,XA|V|4096],[62,XA|V|4096],[65,XA|V|4096],[61,XA|V|4096],[55,XA|V|4096],[54,XA|V|4096],[56,XA|V|4096],[53,XA|V|4096],[163,S|V|X,W|V|4096],[164,S|T|X,W|T|4096],[163,S|V|X,W|V|4096],[165,S|T|X,W|V|4096],[155,S|V|4096,V|4272],[155,S|T|4096,T|4272],[160,176|V|X,S|V|X],[160,176|T|X,S|T|X],[90,S|V|8192,V|4272],[90,S|T|8192,T|4272],[90,V|8368,S|V|4096],[90,T|8368,S|T|4096],[90,S|T|8192,bB|U|4096],[71,T|8368,144|T],[90,
|
|
|
|
|
bB|U|8192,S|T|4096],[103,S|T|8192],[97],[160,EB|X,FB|X],[160,EB|X,GB|X],[160,EB|X,HB|X],[160,EB|X,IB|X],[160,EB|X,JB|X],[160,EB|X,KB|X],[160,EB|X,LB|X],[wA],[xA],[17,W|LA|4096],[158],[106],[105],[117],[68],[90,CB|8192,WA|V|4096],[90,EB|8192,WA|T|4096],[90,WA|V|8192,CB|4096],[90,WA|T|8192,EB|4096],[91,dB|V|8192,cB|V|4096],[92,dB|T|8192,cB|T|4096],[25,dB|V|4096,cB|V|4096],[26,dB|T|4096,cB|T|4096],[155,CB|4096,W|V|4096],[155,EB|4096,W|T|4096],[151,dB|V|8192,CB|4096],[152,dB|T|8192,EB|4096],[82,CB|8192,
|
|
|
|
|
cB|V|4096],[83,EB|8192,cB|T|4096],[121,CB|4096,dB|V|4096],[122,EB|4096,dB|T|4096],[90,CB|8192,W|V|4096],[90,DB|8192,W|V|4096],[90,pz<<8|Y|V|8192,W|V|4096],[90,qz<<8|Y|V|8192,W|V|4096],[90,rz<<8|Y|V|8192,W|V|4096],[90,sz<<8|Y|V|8192,W|V|4096],[90,tz<<8|Y|V|8192,W|V|4096],[90,uz<<8|Y|V|8192,W|V|4096],[90,EB|8192,W|T|4096],[90,FB|8192,W|T|4096],[90,GB|8192,W|T|4096],[90,HB|8192,W|T|4096],[90,IB|8192,W|T|4096],[90,JB|8192,W|T|4096],[90,KB|8192,W|T|4096],[90,LB|8192,W|T|4096],[166,S|V|X|16384,W|V|4096],
|
|
|
|
|
[167,S|T|X|16384,W|V|4096],[113,W|U|4096],[113],[73,T|8368,4246],[70,T|8368,4246],[90,S|V|8192,W|V|4096],[90,S|T|8192,W|T|4096],[34,W|U|4096|SB,W|V|4096],[72,FA|SB],[114,W|U|4096],[114],[47],[46,W|V|4096],[48],[49],[168,S|V|X,TA|V|4096],[169,S|T|X,TA|V|4096],[170,S|V|X,DB|4096],[171,S|T|X,DB|4096],[3,W|V],[2,W|V],[118],[161],[sA,S|T|4096],[sA,S|T|4096],[sA,S|T|4096],[sA,S|T|4096],[sA,S|T|4096],[sA,S|T|4096],[sA,S|T|4096],[sA,S|T|4096],[85,XA|V|4096],[86,XA|V|4096],[84,XA|V|4096],[52,XA|V|4096],[43,
|
|
|
|
|
CB|8192,W|V|4096],[43,EB|8192,W|V|4096],[101,W|V|4096,CB|4096],[101,W|V|4096,EB|4096],[17,XA|T|4096],[57,XA|T|4096],[57,W|LA|4096],[57,XA|V|4096],[43,CB|8192,GB|U|4096],[43,EB|8192,GB|U|4096],[101,GB|U|4096,CB|4096],[101,GB|U|4096,EB|4096],[81,GA],[0],[111,GA],[112,GA],[39],[23],[172,S|V|X],[173,S|T|X],[19],[148],[21],[150],[20],[149],[174,S|V|X],[175,S|T|X]],rA={0:[177,S|U|X],1:[178,S|U|X],2:[69,U|8368|SB,U|4240],3:[87,U|8368|SB,U|4240],5:[BA,SB],6:[22,SB],7:[BA,Z],32:[90,IA|KA|8192|Z,gB|KA|4096],
|
|
|
|
|
33:[90,IA|KA|8192|Z,hB|KA|4096],34:[90,gB|KA|8192|Z,IA|KA|4096],35:[90,hB|KA|8192|Z,IA|KA|4096],36:[90,IA|KA|8192|Z,jB|KA|4096],38:[90,jB|KA|8192|Z,IA|KA|4096],128:[64,XA|T|4096|Z],129:[60,XA|T|4096|Z],130:[51,XA|T|4096|Z],131:[59,XA|T|4096|Z],132:[67,XA|T|4096|Z],133:[63,XA|T|4096|Z],134:[50,XA|T|4096|Z],135:[58,XA|T|4096|Z],136:[66,XA|T|4096|Z],137:[62,XA|T|4096|Z],138:[65,XA|T|4096|Z],139:[61,XA|T|4096|Z],140:[55,XA|T|4096|Z],141:[54,XA|T|4096|Z],142:[56,XA|T|4096|Z],143:[53,XA|T|4096|Z],144:[135,
|
|
|
|
|
S|V|8192|Z],145:[131,S|V|8192|Z],146:[124,S|V|8192|Z],147:[130,S|V|8192|Z],148:[138,S|V|8192|Z],149:[134,S|V|8192|Z],150:[123,S|V|8192|Z],151:[129,S|V|8192|Z],152:[137,S|V|8192|Z],153:[133,S|V|8192|Z],154:[136,S|V|8192|Z],155:[132,S|V|8192|Z],156:[127,S|V|8192|Z],157:[126,S|V|8192|Z],158:[128,S|V|8192|Z],159:[125,S|V|8192|Z],160:[108,QB|4096|Z],161:[103,QB|8192|Z],163:[13,S|T|4096|Z,T|4272],164:[141,S|T|8192|Z,T|4272,W|V|4096],165:[141,S|T|8192|Z,T|4272,DB|4096],166:[159,T|8368|Z,S|T|4096,EB|4096,
|
|
|
|
|
DB|4096],167:[40,S|T|8192|Z,EB|4096,DB|4096,T|4272],168:[108,RB|4096|Z],169:[103,RB|8192|Z],171:[16,S|T|8192|Z,T|4272],172:[143,S|T|8192|Z,T|4272,W|V|4096],173:[143,S|T|8192|Z,T|4272,DB|4096],175:[42,S|T|X|Z,T|4272],178:[88,T|8368,4246],179:[15,S|T|8192|Z,T|4272],180:[74,T|8368,4246],181:[76,T|8368,4246],182:[94,T|8368|Z,S|V|4096],183:[94,KA|8368|Z,S|U|4096],186:[179,S|T|X|Z,W|V|4096],187:[14,S|T|8192|Z,T|4272],188:[11,T|8368|Z,S|T|4096],189:[12,T|8368|Z,S|T|4096],190:[93,T|8368|Z,S|V|4096],191:[93,
|
|
|
|
|
KA|8368|Z,S|U|4096]},tA={216:{0:[9,S|NA|4096],1:[18,S|NA|4096],2:[34,S|NA|4096],3:[35,S|NA|4096],4:[12,S|NA|4096],5:[15,S|NA|4096],6:[21,S|NA|4096],7:[24,S|NA|4096],48:[9,Y|YA|8192,Y|ZA|4096],49:[18,Y|YA|8192,Y|ZA|4096],50:[34,Y|YA|8192,Y|ZA|4096],51:[35,Y|YA|8192,Y|ZA|4096],52:[12,Y|YA|8192,Y|ZA|4096],53:[15,Y|YA|8192,Y|ZA|4096],54:[21,Y|YA|8192,Y|ZA|4096],55:[24,Y|YA|8192,Y|ZA|4096]},217:{0:[0,S|NA|4096],2:[1,S|NA|8192],3:[2,S|NA|8192],4:[68,S|4111],5:[59,S|U|4096],6:[66,S|8207],7:[60,S|U|8192],
|
|
|
|
|
48:[0,Y|ZA|8192],49:[3,Y|ZA|8192],50:[76],51:[2,Y|ZA|8192],64:[33],65:[32],68:[39],69:[40],80:[47],81:[49],82:[50],83:[48],84:[51],85:[52],86:[46],96:[43],97:[44],98:[41],99:[42],100:[31],102:[73],103:[72],112:[29],113:[45],114:[27],116:[30],117:[28]},218:{0:[11,S|MA|4096],1:[20,S|MA|4096],2:[37,S|MA|4096],3:[38,S|MA|4096],4:[14,S|MA|4096],5:[17,S|MA|4096],6:[23,S|MA|4096],7:[26,S|MA|4096]},219:{0:[4,S|MA|4096],2:[5,S|MA|8192],3:[6,S|MA|8192],5:[0,S|QA|4096],7:[2,S|QA|8192],64:[57],65:[55],66:[64],
|
|
|
|
|
67:[53],68:[78,SB],115:[79,Z]},220:{0:[9,S|PA|4096],1:[18,S|PA|4096],2:[34,S|PA|4096],3:[35,S|PA|4096],4:[12,S|PA|4096],5:[15,S|PA|4096],6:[21,S|PA|4096],7:[24,S|PA|4096],48:[9,Y|ZA|8192,Y|YA|4096],49:[18,Y|ZA|8192,Y|YA|4096],50:[34,Y|ZA|4096],51:[35,Y|ZA|4096],52:[15,Y|ZA|8192,Y|YA|4096],53:[12,Y|ZA|8192,Y|YA|4096],54:[24,Y|ZA|8192,Y|YA|4096],55:[21,Y|ZA|8192,Y|YA|4096]},221:{0:[0,S|PA|4096],2:[1,S|PA|8192],3:[2,S|PA|8192],4:[71,S|4111],6:[69,S|8207],7:[62,S|U|8192],48:[74,Y|ZA|4096],49:[3,Y|ZA|
|
|
|
|
|
8192],50:[1,Y|ZA|4096],51:[2,Y|ZA|4096]},222:{0:[11,S|U|4096],1:[20,S|U|4096],2:[37,S|U|4096],3:[38,S|U|4096],4:[14,S|U|4096],5:[17,S|U|4096],6:[23,S|U|4096],7:[26,S|U|4096],48:[10,Y|ZA|8192,Y|YA|4096],49:[19,Y|ZA|8192,Y|YA|4096],50:[35,Y|ZA|4096],51:[36,Y|ZA|4096],52:[16,Y|ZA|8192,Y|YA|4096],53:[13,Y|ZA|8192,Y|YA|4096],54:[25,Y|ZA|8192,Y|YA|4096],55:[22,Y|ZA|8192,Y|YA|4096]},223:{0:[4,S|U|4096],2:[5,S|U|8192],3:[6,S|U|8192],4:[7,S|RA|4096],5:[4,S|OA|4096],6:[8,S|RA|8192],7:[6,S|OA|8192],48:[75,Y|
|
|
|
|
|
ZA|4096],49:[3,Y|ZA|8192],50:[2,Y|ZA|4096],51:[2,Y|ZA|4096],52:[80,SB]}},vA=[[[6,S|V|X,W|V|4096],[99,S|V|X,W|V|4096],[5,S|V|X,W|V|4096],[120,S|V|X,W|V|4096],[7,S|V|X,W|V|4096],[154,S|V|X,W|V|4096],[162,S|V|X,W|V|4096],[24,S|V|4096,W|V|4096]],[[6,S|T|X,W|T|4096],[99,S|T|X,W|T|4096],[5,S|T|X,W|T|4096],[120,S|T|X,W|T|4096],[7,S|T|X,W|T|4096],[154,S|T|X,W|T|4096],[162,S|T|X,W|T|4096],[24,S|T|4096,W|T|4096]],[[6,S|T|X,W|UA|4096],[99,S|T|X,W|UA|4096],[5,S|T|X,W|UA|4096],[120,S|T|X,W|UA|4096],[7,S|T|X,W|
|
|
|
|
|
UA|4096],[154,S|T|X,W|UA|4096],[162,S|T|X,W|UA|4096],[24,S|T|4096,W|UA|4096]],[[115,S|V|X|SB,W|V|4096],[116,S|V|X|SB,W|V|4096],[109,S|V|X|SB,W|V|4096],[110,S|V|X|SB,W|V|4096],[140,S|V|X|SB,W|V|4096],[142,S|V|X|SB,W|V|4096],Ey,[119,S|V|X|SB,W|V|4096]],[[115,S|T|X|SB,W|V|4096],[116,S|T|X|SB,W|V|4096],[109,S|T|X|SB,W|V|4096],[110,S|T|X|SB,W|V|4096],[140,S|T|X|SB,W|V|4096],[142,S|T|X|SB,W|V|4096],Ey,[119,S|T|X|SB,W|V|4096]],[[115,S|V|X,TA|V|4096],[116,S|V|X,TA|V|4096],[109,S|V|X,TA|V|4096],[110,S|V|X,
|
|
|
|
|
TA|V|4096],[140,S|V|X,TA|V|4096],[142,S|V|X,TA|V|4096],Ey,[119,S|V|X,TA|V|4096]],[[115,S|T|X,TA|V|4096],[116,S|T|X,TA|V|4096],[109,S|T|X,TA|V|4096],[110,S|T|X,TA|V|4096],[140,S|T|X,TA|V|4096],[142,S|T|X,TA|V|4096],Ey,[119,S|T|X,TA|V|4096]],[[115,S|V|X,DB|4096],[116,S|V|X,DB|4096],[109,S|V|X,DB|4096],[110,S|V|X,DB|4096],[140,S|V|X,DB|4096],[142,S|V|X,DB|4096],Ey,[119,S|V|X,DB|4096]],[[115,S|T|X,DB|4096],[116,S|T|X,DB|4096],[109,S|T|X,DB|4096],[110,S|T|X,DB|4096],[140,S|T|X,DB|4096],[142,S|T|X,DB|4096],
|
|
|
|
|
Ey,[119,S|T|X,DB|4096]],[[155,S|V|4096,W|V|4096],Ey,[98,S|V|X],[96,S|V|X],[95,S|V|4096],[42,S|V|X],[32,S|V|4096],[41,S|V|X]],[[155,S|T|4096,W|T|4096],Ey,[98,S|T|X],[96,S|T|X],[95,S|T|4096],[42,S|T|X],[32,S|T|4096],[41,S|T|X]],[[44,S|V|X],[31,S|V|X],Ey,Ey,Ey,Ey,Ey,Ey],[[44,S|T|X],[31,S|T|X],[17,S|T|4096],[17,S|LA|4096],[57,S|T|4096],[57,S|LA|4096],[108,S|T|4096],Ey],[],[[145,S|U|8192|SB],[153,S|U|8192|SB],[78,S|U|4096|SB],[89,S|U|4096|SB],[156,S|U|4096|SB],[157,S|U|4096|SB],Ey,Ey],[[139,S|U|8192|SB],
|
|
|
|
|
[144,S|U|8192|SB],[75,S|U|4096|SB],[77,S|U|4096|SB],[146,S|U|8192|SB],Ey,[79,S|U|4096|SB],Ey],[Ey,Ey,Ey,Ey,[13,S|T|4096|Z,W|V|4096],[16,S|T|8192|Z,W|V|4096],[15,S|T|8192|Z,W|V|4096],[14,S|T|8192|Z,W|V|4096]]],Jy={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},Ny={PREV_TSS:0,CPL0_SP:2,
|
|
|
|
|
CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42},Oy={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,
|
|
|
|
|
TASK_IOPM:100};eb(function(){for(var a=Bb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=Cb(c),d=new xy(d);Ab(d,c)}});
|
|
|
|
|
function TB(a,b,c){rb.call(this,"Computer",a,67108864);var d=this;UB(this,b);this.W=Fd(this,"autoPower",a);this.D=0;this.oa=a.busWidth||a.buswidth;this.A=VB;this.M=null;this.J=this.ga=!1;this.qa=Fd(this,"url")||"";this.sa=(Math.random()+.1).toString(36).substr(2,12);this.B=WB(this);if(this.H=zb("CPU",this.id)){this.ca=zb("Debugger",this.id);this.C=[];for(b=null;b=bc(this,"Video",b);)this.C.push(b);this.ma=new sc({id:this.ze+".bus",busWidth:this.oa},this.H,this.ca);var e,f=Db(this.id);this.I=(this.F=
|
|
|
|
|
zb("Panel",this.id))&&this.F.na.print;this.ha=this.Ca;this.ka=this.print;this.la=this.O;this.I&&(this.ha=this.F.Ca,this.ka=this.F.print,this.la=this.F.O);for(b=0;b<f.length;b++)e=f[b],e.Ca=function(a,b,c){XB(d,a);return d.ha.call(this,a,b,c)}.bind(e),e.print=function(a){return d.ka.call(this,a)}.bind(e),e.O=function(a,b,c){XB(d,a,b);return d.la.call(this,a,b,c)}.bind(e);this.P=0;this.I||YB(this);this.O("PCx86 v1.35.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");
|
|
|
|
|
for(b=0;b<f.length;b++)e=f[b],e.uc&&e.uc(this,this.ma,this.H,this.ca);b=null;e=Fd(this,"resume");void 0!==e&&(1<e.length?b=this.L=e:this.A=parseInt(e,10));e=!1;f=Xa("state");f||(e=!0,f=Fd(this,"state",a));f&&(b=this.Z=f,e||(this.J=!0,this.A=VB),this.A&&(this.N=new cg(this,"1.35.2"),this.N.load()?b=null:delete this.N));!b&&this.A&&(b=ZB(this))&&(this.J=!0);if(this.aa=b){var g="Loading "+this.aa+"...";Na(this.aa,null,!0,function(a,b,c){c?(d.L=null,d.J=!1,d.Ca("Unable to load machine state from server (error "+
|
|
|
|
|
c+(b?": "+Aa(b):"")+")")):(d.M=b,d.ga=!0);Ob(d)},function(){d.O(g,Lb.De)})}else Ob(this);this.na.power||(this.W=!0);!c&&this.W&&$B(this,this.Mf)}else mb("Unable to find CPU component")}ca(TB,rb);function vB(a){a.I&&(a.I.value="")}function YB(a){for(var b=0;b<a.C.length;b++){var c=a.C[b];c&&(c=c.tg)&&(c.style.opacity="1",c.style.lineHeight="1",a.P++)}}function XB(a,b,c){if(a.P)for(var d=0;d<a.C.length;d++){var e=a.C[d];e&&(e=e.tg)&&(c!=Lb.De||"..."!=b.slice(-3)?wb(e,b+"\n"):xb(e,b,b+"."))}}
|
|
|
|
|
function UB(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){mb(d.message+" ("+c+")")}}a.K=b}function Fd(a,b,c){var d=Xa(b);void 0===d&&a.K&&(d=a.K[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function $B(a,b,c){for(var d=Db(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Nb(f)){Nb(f,function(){$B(a,b,c)});return}}b.call(a,c)}
|
|
|
|
|
function aC(a,b){var c=new cg(a,"1.35.2",bC);if(c.load()&&cC(c)){var d=c.get(dC),e=b?b.get(dC):"unknown";d!=e&&(a.Ca("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=TB.prototype;
|
|
|
|
|
l.Mf=function(a){void 0===a&&(a=this.A||(this.M?eC:VB));if(!this.D){this.D++;var b=!1,c=!1;this.ea=!1;var d=this.N||new cg(this,"1.35.2");if(a==fC)b=!0;else if(a>VB){if(d.load(this.M)){this.G=new cg(this,"1.35.2",gC);this.G.load()&&(a!=eC&&hC(this,d)&&(a=iC),jC(this.G));this.G.set(dC,Ea());kC(this.G);var e=this.A&&!this.J;if(a==eC||vb("Click OK to restore the previous PCx86 machine state.")){if(c=cC(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=g?(this.Ca("Error: "+
|
|
|
|
|
g),"unable to verify user"==g&&(Va(lC,""),this.B=null)):this.O(f+": "+g),jC(d),d.load()?(c=cC(d),e=!0):c=!1))}e&&aC(this,c?d:null)}else a==iC&&d.clear()}else aC(this);delete this.M;delete this.N}e=Db(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=mC(this,g,d,b,c));b=[d,a,c];a!=fC?$B(this,this.rj,b):this.rj(b)}};
|
|
|
|
|
function mC(a,b,c,d,e){if(!b.ba.dc){b.ba.dc=!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.Ca("Unable to restore hardware state")&&(a.Z&&!a.ga?(c.clear(),a.A=VB,window&&window.location.reload()):a.ea=!0),b.Xb(null),e=!1)}b.ba.sg=!0;if(!d&&b.Cj)for(a=b.Cj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
|
|
|
|
l.rj=function(a){var b=a[0],c=0>a[1];a=a[2];if(!this.ba.sg){for(var d=0;d<this.C.length;d++){var e=this.C[d];e&&(e=e.tg)&&(e.style.opacity="0",e.style.lineHeight="0",e.value="")}this.P=0;this.ba.sg=!0}this.ba.dc=!0;if(d=this.na.power)d.textContent="Shutdown";this.H&&(mC(this,this.H,b,c,a),this.H.ge());this.ea&&(hC(this,b),b.clear());!c&&this.G&&(this.G.clear(),delete this.G);this.D=0};
|
|
|
|
|
function hC(a,b){if(!a.ba.Tf){if(vb("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.2"};d.url=a.qa;d.user=c;d.type="bug";d.data=b;Na("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
|
|
|
|
function AB(a,b,c){var d,e="none";if(a.D)return null;a.D--;var f=new cg(a,"1.35.2"),g=new cg(a,"1.35.2",bC),h=Ea();g.set(dC,h);f.set(dC,h);f.set(nC,"1.35.2");f.set(oC,window?window.location.href:null);f.set(pC,Qa());a.H&&a.H.Wb&&(d=a.H.Wb(b,c),"object"===typeof d&&f.set(a.H.id,d),c&&(a.H.ba.dc=!1,!1===d&&(e=null)));for(var h=Db(a.id),k=0;k<h.length;k++){var m=h[k];m.ba.dc&&(m.Wb&&(d=m.Wb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ba.dc=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.B&&qC(a,a.B,f.toString()),
|
|
|
|
|
kC(g)&&kC(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==BC),d&&f.clear(h)):e=f.toString());c&&(a.ba.dc=!1,b=a.na.power)&&(b.textContent="Power");a.D=0;return e}l.reset=function(){this.ma&&this.ma.reset&&(Rb(this,"Resetting "+this.ma.type),this.ma.reset());for(var a=Db(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ma&&c.reset&&(Rb(this,"Resetting "+c.type),c.reset())}};l.start=function(a,b){for(var c=Db(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
|
|
|
|
l.stop=function(a,b){for(var c=Db(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
|
|
|
|
l.Cb=function(a,b,c){var d=this;switch(b){case "power":return this.na[b]=c,c.onclick=function(){d.D||(d.ba.dc?zB(d,!1,!0):ZB(d,d.Mf))},!0;case "reset":return this.na[b]=c,c.onclick=function(){if(d.ba.dc&&!d.D)if(d.H&&(d.H.ba.ge=d.H.ba.jb),d.A&&!d.L){var a=d.ba.Tf||!vb("Click OK to reset this PCx86 machine and discard all disk modifications.");zB(d,a,!0);!a&&d.Z?window&&window.location.reload():(a||(d.X=!0),d.Mf(UB),d.X=!1)}else d.reset(),d.H&&d.H.ge()},!0;case "save":if(wa(Pa(),"pcjs.org"))c.parentNode.removeChild(c);
|
|
|
|
|
else return this.na[b]=c,c.onclick=function(){var a=VB(d,!0);if(a){var b=!!(d.A&&!d.L||d.Z),c=zB(d,b);b?pC(d,a,c):d.Ca("Resume disabled, machine state not saved")}},!0}return!1};
|
|
|
|
|
function VB(a,b){var c=a.B;c||((c=Ua(kC),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=BC(a,c))||a.Ca("The user ID is invalid.")):b&&a.Ca("Browser local storage is not available"));return c}
|
|
|
|
|
function BC(a,b){a.B=null;b=Na(Pa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Va(kC,b.data),a.B=b.data)}catch(d){mb(d.message+" ("+c+")")}return a.B}function YB(a){var b=null;a.B&&(b=Pa()+"/api/v1/user?req=load&user="+a.B+"&state="+CC(a,"1.35.2"));return b}
|
|
|
|
|
function pC(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=CC(a,"1.35.2");d.data=c;b=Na(Pa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ca("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ca(c),Va(kC,""),a.B=null)}}
|
|
|
|
|
l.Cb=function(a,b,c){var d=this;switch(b){case "power":return this.na[b]=c,c.onclick=function(){d.D||(d.ba.dc?AB(d,!1,!0):$B(d,d.Mf))},!0;case "reset":return this.na[b]=c,c.onclick=function(){if(d.ba.dc&&!d.D)if(d.H&&(d.H.ba.ge=d.H.ba.jb),d.A&&!d.L){var a=d.ba.Tf||!vb("Click OK to reset this PCx86 machine and discard all disk modifications.");AB(d,a,!0);!a&&d.Z?window&&window.location.reload():(a||(d.X=!0),d.Mf(VB),d.X=!1)}else d.reset(),d.H&&d.H.ge()},!0;case "save":if(wa(Pa(),"pcjs.org"))c.parentNode.removeChild(c);
|
|
|
|
|
else return this.na[b]=c,c.onclick=function(){var a=WB(d,!0);if(a){var b=!!(d.A&&!d.L||d.Z),c=AB(d,b);b?qC(d,a,c):d.Ca("Resume disabled, machine state not saved")}},!0}return!1};
|
|
|
|
|
function WB(a,b){var c=a.B;c||((c=Ua(lC),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=CC(a,c))||a.Ca("The user ID is invalid.")):b&&a.Ca("Browser local storage is not available"));return c}
|
|
|
|
|
function CC(a,b){a.B=null;b=Na(Pa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Va(lC,b.data),a.B=b.data)}catch(d){mb(d.message+" ("+c+")")}return a.B}function ZB(a){var b=null;a.B&&(b=Pa()+"/api/v1/user?req=load&user="+a.B+"&state="+DC(a,"1.35.2"));return b}
|
|
|
|
|
function qC(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=DC(a,"1.35.2");d.data=c;b=Na(Pa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ca("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ca(c),Va(lC,""),a.B=null)}}
|
|
|
|
|
function bc(a,b,c){a=Db(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}l.od=function(a){if(this.C.length){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.C[0];d.D&&d.D.focus();!a&&window&&window.scrollTo(b,c)}};
|
|
|
|
|
function Td(a,b){a.H&&(a=a.H,a.yj&&(b||!a.ba.jb||a.ba.pj)&&(Og(a,"EAX",a.D),Og(a,"EBX",a.G),Og(a,"ECX",a.I),Og(a,"EDX",a.L),Og(a,"ESP",z(a)),Og(a,"EBP",a.M),Og(a,"ESI",a.K),Og(a,"EDI",a.J),Og(a,"CS",a.Z.U),Og(a,"DS",a.Da.U),Og(a,"SS",a.X.U),Og(a,"ES",a.oa.U),Og(a,"EIP",A(a)),b=xe(a),Og(a,"PS",b),Og(a,"V",b&2048),Og(a,"D",b&1024),Og(a,"I",b&512),Og(a,"T",b&256),Og(a,"S",b&128),Og(a,"Z",b&64),Og(a,"A",b&16),Og(a,"P",b&4),Og(a,"C",b&1),80386==a.da&&(Og(a,"FS",a.Ga.U),Og(a,"GS",a.Ia.U),Og(a,"CR0",a.qa),
|
|
|
|
|
Og(a,"CR2",a.Fd),Og(a,"CR3",a.Wc))),b=a.na.speed)&&(b.textContent=a.ba.jb&&a.T.Xd?a.T.Xd.toFixed(2)+"Mhz":"Stopped")}
|
|
|
|
|
function $d(a,b){for(var c=0;c<a.C.length;c++)Js(a.C[c],b);if(a.F&&(a=a.F,a.oa)){lc(a,mc,a.K,a.la);if(a.Ba){b=a.ma;var c=a.A,d,e;null==d&&(d=0);null==e&&(e=b.P-d|0);c||(c={fh:0,Id:0,Vg:[]});var f=d>>>b.A;d=d+e-1>>>b.A;c.fh=0;for(c.Id=0;f<=d;)e=b.aa[f],c.fh+=e.size,e.size&&(c.Vg.push(Ia(hc,f,0,0,e.type)),c.Id++),f++;a.A=c;a.ea=a.A.Id*a.ma.B/(gc*qc);d=0;a.A.dj=0;a.A.mf||(a.A.mf=[]);e=-1;b=0;for(var g=-1,c=0;c<a.A.Id;c++){var h=a.A.Vg[c],f=Ja(hc.type,h),h=Ja(hc.Mk,h);if(f!=e||h!=g+1)(g=c-b)&&(d+=oc(a,
|
|
|
|
|
b,g,e)),e=f,b=c;g=h}d+=oc(a,b,c-b,e);e=a.A.Fl!=d;a.A.Fl=d;if(e){e=new Zb(0,0,a.K.width,a.K.height);a.A.Fe=[];b=a.A.Id;for(d=0;d<a.A.dj;d++)c=a.A.mf[d].Id,a.A.Fe.push($b(e,c,b,!d)),b-=c;for(d=0;d<a.A.Fe.length;d++)e=a.A.mf[d],b=c=a.A.Fe[d],f=a.la,(g=Bd[e.type])||(g=new Yb),f.strokeStyle="black",f.strokeRect(b.x,b.y,b.Nc,b.A),f.fillStyle="string"==typeof g?g:g.toString(),f.fillRect(b.x,b.y,b.Nc,b.A),b=a,f=c,b.M=b.Z,b.J=b.aa,c=f.x+(f.Nc>>1),g=f.y+(f.A>>1),h=f.A,f.Nc<f.A&&(h=f.Nc,b.X=!0,b.D.save(),b.D.translate(c,
|
|
|
|
|
g),b.D.rotate(-Math.PI/2),c=g=0),h<b.J&&(b.J=h,b.M=b.J+"px "+pc),f=g,b.B=c,b.I=f,b=a,e=Ac[e.type]+" ("+(e.Id*a.ma.B/1024|0)+"Kb)",b.D.font=b.M,b.B-=b.D.measureText(e).width>>1,b.I+=(b.J>>1)-2,nc(b,e),b.X&&(b.D.restore(),b.X=!1)}}else nc(a,"This space intentionally left blank");a.context.drawImage(a.K,0,0,a.K.width,a.K.height,a.Ga,a.Ma,a.xa,a.Aa);a.oa=!1}}var fC="failsafe",aC="validate",cC="timestamp",mC="version",nC="url",oC="browser",kC="user",eC=-1,UB=0,dC=1,hC=2,AC=3;
|
|
|
|
|
eb(function(){for(var a=Bb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Cb(c),c=Bb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=Cb(f),g=new SB(g,d,!0);Ab(g,f);g.W&&ZB(g,g.Mf)}});gb.show.push(function(){for(var a=Bb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Cb(a[b]);if(c=zb("Computer",c.id))c.ba.Tf=!1,c.ba.sg&&!c.ba.dc&&c.Mf(eC)}});
|
|
|
|
|
gb.exit.push(function(){for(var a=Bb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Cb(a[b]);if(c=zb("Computer",c.id))c.ba.Tf=!0,c.ba.dc&&zB(c,!(!c.A||c.L),!0)}});function cg(a,b,c){this.id=a.id;this.ca=a.ca;this.A="";this.state={};this.B=this.C=!1;this.key=CC(a,b,c);iC(this,a.Tk)}l=cg.prototype;l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};
|
|
|
|
|
l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Sa()&&(a=Ua(this.key))?(this.A=a,this.B=!0):!1};function bC(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){mb(c.message||c),b=!1}return b}function jC(a){var b=!0;if(Sa()){var c=JSON.stringify(a.state);Va(a.key,c)||(mb("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};
|
|
|
|
|
function iC(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){iC(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function CC(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var DC=0;
|
|
|
|
|
function EC(a,b,c,d,e,f){e("Loading "+a+"...");Na(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):FC(h,a,b,c,d,e,f)})}
|
|
|
|
|
function FC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(tb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),d=d.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
|
|
|
|
|
"$1PCx86$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?GC(a,f,h):h(a,null):g("no data"+(b?" for file: "+
|
|
|
|
|
g),b.D.rotate(-Math.PI/2),c=g=0),h<b.J&&(b.J=h,b.M=b.J+"px "+pc),f=g,b.B=c,b.I=f,b=a,e=Ac[e.type]+" ("+(e.Id*a.ma.B/1024|0)+"Kb)",b.D.font=b.M,b.B-=b.D.measureText(e).width>>1,b.I+=(b.J>>1)-2,nc(b,e),b.X&&(b.D.restore(),b.X=!1)}}else nc(a,"This space intentionally left blank");a.context.drawImage(a.K,0,0,a.K.width,a.K.height,a.Ga,a.Ma,a.xa,a.Aa);a.oa=!1}}var gC="failsafe",bC="validate",dC="timestamp",nC="version",oC="url",pC="browser",lC="user",fC=-1,VB=0,eC=1,iC=2,BC=3;
|
|
|
|
|
eb(function(){for(var a=Bb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Cb(c),c=Bb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=Cb(f),g=new TB(g,d,!0);Ab(g,f);g.W&&$B(g,g.Mf)}});gb.show.push(function(){for(var a=Bb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Cb(a[b]);if(c=zb("Computer",c.id))c.ba.Tf=!1,c.ba.sg&&!c.ba.dc&&c.Mf(fC)}});
|
|
|
|
|
gb.exit.push(function(){for(var a=Bb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Cb(a[b]);if(c=zb("Computer",c.id))c.ba.Tf=!0,c.ba.dc&&AB(c,!(!c.A||c.L),!0)}});function cg(a,b,c){this.id=a.id;this.ca=a.ca;this.A="";this.state={};this.B=this.C=!1;this.key=DC(a,b,c);jC(this,a.Tk)}l=cg.prototype;l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};
|
|
|
|
|
l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Sa()&&(a=Ua(this.key))?(this.A=a,this.B=!0):!1};function cC(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){mb(c.message||c),b=!1}return b}function kC(a){var b=!0;if(Sa()){var c=JSON.stringify(a.state);Va(a.key,c)||(mb("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};
|
|
|
|
|
function jC(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){jC(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function DC(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var EC=0;
|
|
|
|
|
function FC(a,b,c,d,e,f){e("Loading "+a+"...");Na(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):GC(h,a,b,c,d,e,f)})}
|
|
|
|
|
function GC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(tb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),d=d.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
|
|
|
|
|
"$1PCx86$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?HC(a,f,h):h(a,null):g("no data"+(b?" for file: "+
|
|
|
|
|
b:""),null)}
|
|
|
|
|
function GC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Na(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
|
|
|
|
"");a=a.replace(d[0],g);GC(a,b,c)}})}else c(a,null)}
|
|
|
|
|
function HC(a,b,c,d){function e(a){if(void 0===h){var b=g&&Bb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=xa(a))}function f(a){e("Error: "+a);k&&(--DC||nb(!0));k=!1}var g,h,k=!0;DC++;ub[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));p.appendChild(v)}c||
|
|
|
|
|
(c="/versions/pcx86/1.35.2/components.xsl");m=function(d,h){h?EC(c,null,null,!1,e,function(d,k){k?(tb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--DC||nb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--DC||nb(!0)):f("invalid machine element: "+
|
|
|
|
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?EC(b,a,d,!0,e,m):FC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function IC(a,b,c,d){nb(!1);return HC(a,b,c,d)}window.embedPC=IC;window.embedPCx86=IC;window.findMachineComponent=function(a,b){return zb(b,a+".machine")};
|
|
|
|
|
function HC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Na(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
|
|
|
|
"");a=a.replace(d[0],g);HC(a,b,c)}})}else c(a,null)}
|
|
|
|
|
function IC(a,b,c,d){function e(a){if(void 0===h){var b=g&&Bb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=xa(a))}function f(a){e("Error: "+a);k&&(--EC||nb(!0));k=!1}var g,h,k=!0;EC++;ub[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));p.appendChild(v)}c||
|
|
|
|
|
(c="/versions/pcx86/1.35.2/components.xsl");m=function(d,h){h?FC(c,null,null,!1,e,function(d,k){k?(tb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--EC||nb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--EC||nb(!0)):f("invalid machine element: "+
|
|
|
|
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?FC(b,a,d,!0,e,m):GC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function JC(a,b,c,d){nb(!1);return IC(a,b,c,d)}window.embedPC=JC;window.embedPCx86=JC;window.findMachineComponent=function(a,b){return zb(b,a+".machine")};
|
|
|
|
|
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Gb[a]){for(var c=!0,d=Gb,e=a,f=b.length,g=[],h=[],k="",m=null,p=0;p<f;p++){var v=b[p];if('"'==v||"'"==v)m&&v!=m?k+=v:(m?m=null:m=v,k&&(h.push(k),k=""));else{if(!m){if("\r"==v||"\n"==v)v=";";if(" "==v||"\t"==v||";"==v){k&&(h.push(k),k="");";"==v&&h.length&&(g.push(h),h=[]);continue}}k+=v}}k&&h.push(k);h.length&&g.push(h);d[e]=g;Fb(a)||(c=!1)}return c};window.enableEvents=nb;window.sendEvent=pb;
|
|
|
|
|
function JC(a,b,c,d){if(!c&&b){d.push(b);a=ub[d[0]];b=null;for(var e in a)if(wa(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Na(b,null,!0,function(a,b){KC(b,d)}):KC(null,d)}else mb("Error ("+c+") requesting "+a)}
|
|
|
|
|
function KC(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=ub[f],k={},m;for(m in h){var p=h[m],v=va(m);if("xml"==v){for(v=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=v.exec(h[m]);){var u=d[2];u&&(h[u]||(p=p.replace(d[0],"")))}d=m=ta(m)}else"xsl"==v&&(e=m=ta(m));k[m]=p}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
|
|
|
|
|
function KC(a,b,c,d){if(!c&&b){d.push(b);a=ub[d[0]];b=null;for(var e in a)if(wa(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Na(b,null,!0,function(a,b){LC(b,d)}):LC(null,d)}else mb("Error ("+c+") requesting "+a)}
|
|
|
|
|
function LC(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=ub[f],k={},m;for(m in h){var p=h[m],v=va(m);if("xml"==v){for(v=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=v.exec(h[m]);){var u=d[2];u&&(h[u]||(p=p.replace(d[0],"")))}d=m=ta(m)}else"xsl"==v&&(e=m=ta(m));k[m]=p}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
|
|
|
|
|
"©"),a=Za(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+g+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",mb(a)):mb("Missing XML/XSL resources")}
|
|
|
|
|
window.savePC=function(a,b,c){var d=zb("Computer",a),e=zb("Debugger",a);if(d){var f=zB(d,!0),g=d.K?JSON.stringify(d.K):null;b||(b="/versions/pcx86/1.35.2/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Tk:g}))return!0;Na(b,null,!0,function(c,d,e){JC(c,d,e,[a,ta(b,!0),g,f])});return!0}mb("Unable to identify machine '"+a+"'");return!1};})();//# sourceMappingURL=/versions/pcx86/1.35.2/pcx86-dbg.map
|
|
|
|
|
window.savePC=function(a,b,c){var d=zb("Computer",a),e=zb("Debugger",a);if(d){var f=AB(d,!0),g=d.K?JSON.stringify(d.K):null;b||(b="/versions/pcx86/1.35.2/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Tk:g}))return!0;Na(b,null,!0,function(c,d,e){KC(c,d,e,[a,ta(b,!0),g,f])});return!0}mb("Unable to identify machine '"+a+"'");return!1};})();//# sourceMappingURL=/versions/pcx86/1.35.2/pcx86-dbg.map
|
|
|
|
|
|