|
|
|
|
@ -570,14 +570,14 @@ function Ns(a,b){var c,d=a.oa,e=a.C;if(e)if(e.La==os)d=Ds;else if(e.La>=aq){var
|
|
|
|
|
function Gs(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Bd=0;a.oa=b;a.Ga=!1;b=a.C||(b==Ds?a.Y:a.K);if(b!=a.C||b.bb!=a.bb||b.Ob!=a.Ob){bt(a);if(a.bb){if(!Bc(a.ka,a.bb,a.Ob))return!1;a.C&&(a.C.rc=!1)}a.C=b;b.rc=!0;a.bb=b.bb;a.Ob=b.Ob;if(!oc(a.ka,b.bb,b.Ob,3,b===a.A?b:null))return!1}a:{a.I=0;a.F=a.Fb;a.J=a.sc;a.Ma=a.F;a.Eb=hs[Ds][2];b=0;if(c=hs[a.oa])a.F=c[0],a.J=c[1],a.Eb=c[2],b=c[3],a.I=c[4],4!=a.ga&&7!=a.ga||a.C!==a.A||a.I!=Vs||(7==(a.A.Wa[es]&31)?a.J=350>Jr(a.A,Vr)?43:50:a.I=a.La);a.Wc=a.F*a.J|0;a.Vc=a.Wc/
|
|
|
|
|
a.Eb|0;a.Xa=a.Vc;a.Pb=0;void 0!==b&&(a.Xa=(a.Xa<<1)+b|0,a.Pb=a.Xa+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.Ya=a.eb=0;b&&(a.Ya=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.Ya=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.Ya,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.Ya;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0;
|
|
|
|
|
a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0<b&&(a.vc=b>>1,a.Qb-=b);0<c&&(a.zc=c>>1,a.Rb-=c);if(b||c)a.L.fillStyle=a.O.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.la)}}ut(a,!0);ys(a)}return!0}function $s(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function vt(a){a.xa=-1;a.ma=!1;var b=a.Vc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function ut(a,b){b||(a.Ga=!1);vt(a)}
|
|
|
|
|
function dt(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.va[a.I];h.kf&&(d=h.kf[d]);var k=g>>4&15;h.kf&&(k=h.kf[k]);e?(b*=h.Fc,c*=h.Gc,e.fillStyle=h.Ce[k],e.fillRect(b,c,h.Fc,h.Gc)):(b=b*a.qa+a.vc,c=c*a.ta+a.zc,a.L.fillStyle=h.Ce[k],a.L.fillRect(b,c,a.qa,a.ta));g&Ut&&(k=(f&15)*h.Fc,f=(f>>4)*h.Gc,e?e.drawImage(h.Tg[d],k,f,h.Fc,h.Gc,b,c,h.Fc,h.Gc):a.L.drawImage(h.Tg[d],k,f,h.Fc,h.Gc,b,c,a.qa,a.ta));g&ct&&(f=a.nd,g=a.Hc,e?(a.za&&a.za!==h.Gc&&(f=f*h.Gc/a.za|0,g=g*h.Gc/a.za|0),e.fillStyle=h.Ce[d],e.fillRect(b,
|
|
|
|
|
function dt(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.va[a.I];h.kf&&(d=h.kf[d]);var k=g>>4&15;h.kf&&(k=h.kf[k]);e?(b*=h.Fc,c*=h.Gc,e.fillStyle=h.Ce[k],e.fillRect(b,c,h.Fc,h.Gc)):(b=b*a.qa+a.vc,c=c*a.ta+a.zc,a.L.fillStyle=h.Ce[k],a.L.fillRect(b,c,a.qa,a.ta));g&wt&&(k=(f&15)*h.Fc,f=(f>>4)*h.Gc,e?e.drawImage(h.Tg[d],k,f,h.Fc,h.Gc,b,c,h.Fc,h.Gc):a.L.drawImage(h.Tg[d],k,f,h.Fc,h.Gc,b,c,a.qa,a.ta));g&ct&&(f=a.nd,g=a.Hc,e?(a.za&&a.za!==h.Gc&&(f=f*h.Gc/a.za|0,g=g*h.Gc/a.za|0),e.fillStyle=h.Ce[d],e.fillRect(b,
|
|
|
|
|
c+f,h.Fc,g)):(a.za&&a.za!==a.ta&&(f=f*a.ta/a.za|0,g=g*a.ta/a.za|0),a.L.fillStyle=h.Ce[d],a.L.fillRect(b,c+f,a.qa,g)))}
|
|
|
|
|
function ys(a,b){if(a.ea.Yb){var c=!1,d=a.C;d&&(d!==a.A?d.Xc&8&&(c=!0):d.xd&32&&(c=!0));if(c||b){if(b)vt(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Bd&15)&&0<=a.Aa&&(a.Aa++,e=!0);var f=0,g=a.Wc,h=a.bb,c=h,k=c+a.Ob;a.oa>=kt&&(h=c=655360,k=c+65536);if(Wt(a,d)&8||d.Ze&&d.Ze<d.gi){var m=(d.Wa[12]<<8)+d.Wa[13]|0;d.wd!==m&&(d.wd=m,ut(a));d.Ze=0}m=d.wd;a.I&&(m<<=1);c+=m;m=a.Xa;a.La>=aq&&d.Wa[19]&&d.Wa[19]<<1!=d.Wa[1]+1&&(a.Ma=d.Wa[19]<<(a.I?1:d.Wa[20]&64?3:4),m=(a.Ma*(a.J-1)+a.F)/a.Eb|0,a.oa<=Ds&&
|
|
|
|
|
(m<<=1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.ma){b=a.ka;for(var p=!0,v=c>>>b.A;0<m&&v<b.aa.length;)b.aa[v].Oa&&(b.aa[v].Oa=p=!1,b.aa[v].rj=!0),m-=b.B,v++;b=p}if(b){if(!e)return;if(!a.xa){f=a.aa-d.wd;if(0>f)return;g=f+1}}if(a.I){if(a.va[a.I]){d=f;f=0;e=a.xa=0;h=Ut<<8;b=1048575;p=a.C.Xc&32;a.La>=aq&&(p=a.C.Cc[16]&8);m=a.aa-a.C.wd;p&&(e=Hs<<8,b&=~e,a.Aa&2||(b&=~h));for(c+=d<<1;c<k&&d<g;)p=Ic(a.ka,c),p|=h,p&e&&(a.xa++,p&=b),d==m&&(p|=a.Aa&1?ct<<8:0),a.ma&&p===a.M[d]||(dt(a,d%a.F,d/a.F|0,p,a.Ca),
|
|
|
|
|
function ys(a,b){if(a.ea.Yb){var c=!1,d=a.C;d&&(d!==a.A?d.Xc&8&&(c=!0):d.xd&32&&(c=!0));if(c||b){if(b)vt(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Bd&15)&&0<=a.Aa&&(a.Aa++,e=!0);var f=0,g=a.Wc,h=a.bb,c=h,k=c+a.Ob;a.oa>=kt&&(h=c=655360,k=c+65536);if(Vt(a,d)&8||d.Ze&&d.Ze<d.gi){var m=(d.Wa[12]<<8)+d.Wa[13]|0;d.wd!==m&&(d.wd=m,ut(a));d.Ze=0}m=d.wd;a.I&&(m<<=1);c+=m;m=a.Xa;a.La>=aq&&d.Wa[19]&&d.Wa[19]<<1!=d.Wa[1]+1&&(a.Ma=d.Wa[19]<<(a.I?1:d.Wa[20]&64?3:4),m=(a.Ma*(a.J-1)+a.F)/a.Eb|0,a.oa<=Ds&&
|
|
|
|
|
(m<<=1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.ma){b=a.ka;for(var p=!0,v=c>>>b.A;0<m&&v<b.aa.length;)b.aa[v].Oa&&(b.aa[v].Oa=p=!1,b.aa[v].rj=!0),m-=b.B,v++;b=p}if(b){if(!e)return;if(!a.xa){f=a.aa-d.wd;if(0>f)return;g=f+1}}if(a.I){if(a.va[a.I]){d=f;f=0;e=a.xa=0;h=wt<<8;b=1048575;p=a.C.Xc&32;a.La>=aq&&(p=a.C.Cc[16]&8);m=a.aa-a.C.wd;p&&(e=Hs<<8,b&=~e,a.Aa&2||(b&=~h));for(c+=d<<1;c<k&&d<g;)p=Ic(a.ka,c),p|=h,p&e&&(a.xa++,p&=b),d==m&&(p|=a.Aa&1?ct<<8:0),a.ma&&p===a.M[d]||(dt(a,d%a.F,d/a.F|0,p,a.Ca),
|
|
|
|
|
a.M[d]=p,f++),c+=2,d++;a.ma=!0;f&&a.Ca&&a.L.drawImage(a.Ba,0,0,a.Ya,a.eb,a.vc,a.zc,a.Qb,a.Rb);at(a)}}else if(a.Pb){var g=k,u,k=c,d=a.xa=0,f=a.Eb,e=16==f?65536:196608,h=16==f?1:2;b=Ps(a,h);for(var p=m=0,v=a.F,E=0,G=a.J,I=0;k<g;){u=Ic(a.ka,k);if(a.ma&&u===a.M[d])m+=f;else{a.M[d]=u;u=u>>8|(u&255)<<8;var J=e,T=16;m<v&&(v=m);for(var L=0;L<f;L++){var ua=(u&(J>>=h))>>(T-=h);$s(a.Ha,m++,p,b[ua])}m>E&&(E=m);p<G&&(G=p);p>=I&&(I=p+1)}k+=2;d++;if(m>=a.F){m=0;p+=2;if(p>a.J)break;p==a.J&&(p=1,k=c+a.Pb)}}a.ma=!0;
|
|
|
|
|
v<a.F&&(a.Ca.putImageData(a.Ha,0,0,v,G,E-v,I-G),a.L.drawImage(a.Ba,0,0,a.F,a.J,0,0,a.Z,a.la))}else if(a.Pc){g=h;f=a.xa=0;e=Ps(a,8);h=a.C.fd;m=b=0;p=a.F;v=0;E=a.J;G=0;I=a.C.ae[4]&8?4:1;u=a.C.Cc[19]&15;for(J=a.Ma>a.F?a.Ma-a.F-u>>3:0;c<k;){d=h[c-g];L=4;u||(a.ma&&d===a.M[f]?(b+=L,L=0):a.M[f]=d,f++);if(L){b<p&&(p=b);for(T=0;T<L;T++)$s(a.Ha,b++,m,e[d&255]),d>>=8;b>v&&(v=b);m<E&&(E=m);m>=G&&(G=m+1)}c+=I;if(b>=a.F){b=0;if(++m>a.J)break;c+=J}}u||(a.ma=!0);p<a.F&&(a.Ca.putImageData(a.Ha,0,0,p,E,v-p,G-E),a.L.drawImage(a.Ba,
|
|
|
|
|
0,0,a.F,a.J,0,0,a.Z,a.la))}else{g=h;d=a.xa=0;f=Ps(a);e=a.C.fd;b=h=0;m=a.F;p=0;v=a.J;E=0;G=a.C.Cc[19]&15;for(I=a.Ma>a.F?a.Ma-a.F-G>>3:0;c<k;){u=c++-g;u=e[u];T=8;G?h?(J=a.F-h,T>J&&(T=J)):(u<<=G,T-=G,a.ma=!1):(a.ma&&u===a.M[d]?(h+=T,T=0):a.M[d]=u,d++);if(T){h<m&&(m=h);for(J=0;J<T;J++)L=Xt[u&2155905152]||0,$s(a.Ha,h++,b,f[L]),u<<=1;h>p&&(p=h);b<v&&(v=b);b>=E&&(E=b+1)}if(h>=a.F){h=0;if(++b>a.J)break;c+=I}}G||(a.ma=!0);m<a.F&&(a.Ca.putImageData(a.Ha,0,0,m,v,p-m,E-v),a.L.drawImage(a.Ba,0,0,a.F,a.J,0,0,a.Z,
|
|
|
|
|
a.la))}}}}function Wt(a,b){var c=0;a=Dd(a.H)-b.xh;0>a&&(b.xh=a,a=-a|0);a%b.sh>b.nn&&(c|=1);a%b.vh>b.pn&&(c|=9);b.gi=a/b.vh|0;return c}l.Dm=function(a,b){return Yt(this,this.Y,a,b)};l.ho=function(a,b,c){var d=this.Y;d.Gg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.Cm=function(a,b){return Zt(this,this.Y,a,b)};l.fo=function(a,b,c){$t(this,this.Y,a,b,c)};l.Em=function(a,b){return au(this,this.Y,b)};l.io=function(a,b,c){a=this.Y;w(this,a.port+4,b,c,"MODE");a.Xc=b;Ns(this,!1)};
|
|
|
|
|
a.la))}}}}function Vt(a,b){var c=0;a=Dd(a.H)-b.xh;0>a&&(b.xh=a,a=-a|0);a%b.sh>b.nn&&(c|=1);a%b.vh>b.pn&&(c|=9);b.gi=a/b.vh|0;return c}l.Dm=function(a,b){return Yt(this,this.Y,a,b)};l.ho=function(a,b,c){var d=this.Y;d.Gg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.Cm=function(a,b){return Zt(this,this.Y,a,b)};l.fo=function(a,b,c){$t(this,this.Y,a,b,c)};l.Em=function(a,b){return au(this,this.Y,b)};l.io=function(a,b,c){a=this.Y;w(this,a.port+4,b,c,"MODE");a.Xc=b;Ns(this,!1)};
|
|
|
|
|
l.Fm=function(a,b){return bu(this,this.Y,b)};l.Nk=function(a,b,c){this.A.Qf=this.A.Qf&-4|b&3;w(this,a,b,c,"FEAT")};l.bm=function(a,b){a=this.A.xd;b&&!t(this)||w(this,960,null,b,"ATC.INDX",a);return a};l.sl=function(a,b){a=this.A.Cc[this.A.xd&31];b&&!t(this)||w(this,960,null,b,"ATC."+this.A.Ug[this.A.xd&31],a);return a};
|
|
|
|
|
l.Mk=function(a,b,c){var d=this.A,e=d.xd&32;if(d.Le){d.Le=!1;var f=d.xd&31;if(16<=f||!e)if(cu||d.Cc[f]!==b)c&&!t(this)||w(this,a,b,c,"ATC."+d.Ug[f]),d.Cc[f]=b,ut(this,!1)}else d.xd=b,w(this,a,b,c,"ATC.INDX"),d.Le=!0,b&32&&!e&&Fs(this,!0)&&ys(this,!0),a=(d.Wa[12]<<8)+d.Wa[13]|0,d.wd!=a&&(d.wd=a,ut(this)),d.Ze=0};
|
|
|
|
|
l.Pm=function(a,b){a=0;if(this.La==aq)a=3-((this.A.bf&12)>>2),a=(this.xb&1<<a)<<4-a;else{var c=this.A.af[0];45!=(c&63)&&2880!=(c&4032)&&184320!=(c&258048)&&(a|=16)}a|=this.A.Jg&-17;this.A.Jg=a;w(this,962,null,b,"STATUS0",a);return a};l.jo=function(a,b,c){this.A.bf=b;Es(this);w(this,962,b,c,"MISC")};l.Qm=function(a,b){a=this.A.li;w(this,963,null,b,"VGA_ENABLE",a);return a};l.ro=function(a,b,c){this.A.li=b;w(this,963,b,c,"VGA_ENABLE")};
|
|
|
|
|
@ -588,10 +588,10 @@ l.Rm=function(a,b){a=this.A.Qf;w(this,970,null,b,"FEAT",a);return a};l.ao=functi
|
|
|
|
|
l.Yn=function(a,b,c){if(cu||this.A.yd[this.A.zd]!==b)c&&!t(this)||w(this,975,b,c,"GRC."+this.A.Vg[this.A.zd]),this.A.yd[this.A.zd]=b;switch(this.A.zd){case 0:this.A.If=fs[b&15];this.A.Zd=this.A.If&~this.A.Nd;break;case 1:this.A.Nd=~fs[b&15];this.A.Zd=this.A.If&~this.A.Nd;break;case 2:this.A.qh=fs[b&15]&-2139062144;break;case 3:case 5:ft(this,et(this));break;case 4:this.A.fi=(b&3)<<3;break;case 6:Ns(this,!1);break;case 7:this.A.rh=fs[b&15]&-2139062144;break;case 8:this.A.Bb=b|b<<8|b<<16|b<<24}};
|
|
|
|
|
l.hm=function(a,b){return Yt(this,this.K,a,b)};l.Jn=function(a,b,c){var d=this.K;d.Gg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.gm=function(a,b){return Zt(this,this.K,a,b)};l.In=function(a,b,c){$t(this,this.K,a,b,c)};l.im=function(a,b){return au(this,this.K,b)};l.Kn=function(a,b,c){a=this.K;w(this,a.port+4,b,c,"MODE");a.Xc=b;Ns(this,!1)};l.fm=function(a,b){var c=this.K.$e;b&&!t(this)||w(this,a,null,b,this.K.type+".COLOR",c);return c};
|
|
|
|
|
l.Hn=function(a,b,c){c&&!t(this)||w(this,a,b,c,this.K.type+".COLOR");this.K.$e!==b&&(this.K.$e=b,ut(this,!1))};l.jm=function(a,b){return bu(this,this.K,b)};function Yt(a,b,c,d){var e;b.rc&&(e=b.ec);w(a,c,null,d,"CRTC.INDX",e);return e}function Zt(a,b,c,d){var e;b.rc&&b.ec<b.ph&&(e=b.Wa[b.ec]);d&&!t(a)||w(a,c,null,d,"CRTC."+b.hg[b.ec],e);return e}
|
|
|
|
|
function $t(a,b,c,d,e){if(b.ec<b.ph){if(cu||b.Wa[b.ec]!==d)e&&!t(a)||w(a,c,d,e,"CRTC."+b.hg[b.ec]),b.Wa[b.ec]=d;if(12==b.ec||13==b.ec)Wt(a,b)&1?(c=(b.Wa[12]<<8)+b.Wa[13]|0,b.wd!==c&&(b.wd=c,ut(a))):b.Ze||(b.Ze=b.gi);(9==b.ec&&8!=b.Gg||b.ec==Vr&&223==d)&&Ns(a,!0);Os(a)}}function au(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function bu(a,b,c){var d=Wt(a,b);b===a.A?(d|=b.fa&48^48,b.Le=!1):d=(b.fa^=9)|240;b.fa=d;w(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
|
|
|
|
|
function $t(a,b,c,d,e){if(b.ec<b.ph){if(cu||b.Wa[b.ec]!==d)e&&!t(a)||w(a,c,d,e,"CRTC."+b.hg[b.ec]),b.Wa[b.ec]=d;if(12==b.ec||13==b.ec)Vt(a,b)&1?(c=(b.Wa[12]<<8)+b.Wa[13]|0,b.wd!==c&&(b.wd=c,ut(a))):b.Ze||(b.Ze=b.gi);(9==b.ec&&8!=b.Gg||b.ec==Vr&&223==d)&&Ns(a,!0);Os(a)}}function au(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function bu(a,b,c){var d=Vt(a,b);b===a.A?(d|=b.fa&48^48,b.Le=!1):d=(b.fa^=9)|240;b.fa=d;w(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
|
|
|
|
|
var cu=!0,tt=1,jt=2,Bs=3,st=5,rt=6,Ds=7,nt=13,ot=14,ht=15,it=16,pt=17,qt=18,kt=19,lt=20,mt=21,gt=255,Ws=1,Vs=3,os=Ws,ls=Vs,aq=5,cq=7,gs={mda:[os,Ds],cga:[ls,Bs],ega:[aq,Bs],vga:[cq,Bs]},Gr={2:{yg:15700,xg:208,Eg:85,Fg:96}};Gr[Tl]={yg:18432,xg:364,Eg:85,Fg:96};Gr[4]={yg:21850,xg:364,Eg:85,Fg:96};Gr[7]={yg:16700,xg:480,Eg:85,Fg:83};var Cs={6:[1,Tl,!0],7:[2,Tl,!0],8:[6,Tl,!0],9:[4,Tl,!0],10:[Tl,1,!0],11:[Tl,2,!0],0:[1,Tl,!1],1:[2,Tl,!1],2:[6,Tl,!1],3:[4,Tl,!1],4:[Tl,1,!1],5:[Tl,2,!1]},hs=[];
|
|
|
|
|
hs[tt]=[40,25,1,0,Vs];hs[Bs]=[80,25,1,0,Vs];hs[4]=[320,200,8,192];hs[rt]=[640,200,16,192];hs[Ds]=[80,25,1,0,Ws];hs[nt]=[320,200,8];hs[ot]=[640,200,8];hs[ht]=[640,350,8];hs[it]=[640,350,8];hs[pt]=[640,480,8];hs[qt]=[640,480,8];hs[kt]=[320,200,1];hs[lt]=[320,240,4];hs[mt]=[320,400,4];hs[0]=hs[tt];hs[jt]=hs[Bs];hs[st]=hs[4];
|
|
|
|
|
var Ks=0,Is=7,Ms=8,Js=0,Ls=112,Hs=128,Ut=256,ct=512,Xs=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Ys=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Qs=[[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]],Ss=[2,4,6],Rs=[3,5,Is],Ts=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
|
|
|
|
var Ks=0,Is=7,Ms=8,Js=0,Ls=112,Hs=128,wt=256,ct=512,Xs=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Ys=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Qs=[[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]],Ss=[2,4,6],Rs=[3,5,Is],Ts=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
|
|
|
|
fs=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Xt=[0];Xt[128]=1;Xt[32768]=2;Xt[32896]=3;Xt[8388608]=4;Xt[8388736]=5;Xt[8421376]=6;Xt[8421504]=7;Xt[-2147483648]=8;Xt[-2147483520]=9;Xt[-2147450880]=10;Xt[-2147450752]=11;Xt[-2139095040]=12;Xt[-2139094912]=13;Xt[-2139062272]=14;Xt[-2139062144]=15;var kr=[];kr[os]=["MDA",948,720896,4096,0,Tl];kr[ls]=["CGA",980,753664,16384,0,2];kr[aq]=["EGA",980,753664,16384,65536,4];
|
|
|
|
|
kr[cq]=["VGA",980,753664,16384,262144,7];
|
|
|
|
|
var is=0,xs=1,ws=2,ms={948:Q.prototype.Dm,949:Q.prototype.Cm,952:Q.prototype.Em,954:Q.prototype.Fm},ns={948:Q.prototype.ho,949:Q.prototype.fo,952:Q.prototype.io},ps={980:Q.prototype.hm,981:Q.prototype.gm,984:Q.prototype.im,985:Q.prototype.fm,986:Q.prototype.jm},qs={980:Q.prototype.Jn,981:Q.prototype.In,984:Q.prototype.Kn,985:Q.prototype.Hn},rs={960:Q.prototype.bm,961:Q.prototype.sl,962:Q.prototype.Pm,964:Q.prototype.Nm,965:Q.prototype.Mm,974:Q.prototype.wm,975:Q.prototype.vm},ss={954:Q.prototype.Nk,
|
|
|
|
|
@ -654,243 +654,243 @@ l.toJSON=function(){var a;a=0;for(var b;b=cv(this,a++);)Gv(b);a=JSON.stringify(t
|
|
|
|
|
function Gv(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Tu=0;function zv(a,b,c,d,e,f){this.sa=a;this.$b=c;this.Xg=d;this.bj=e;this.ge=f}function rv(a,b,c){var d;c=c||2;var e=b&511,f=cv(a.sa,a.ge[b>>9]);if(f){if(e+c<=f.length)return dv(a.sa,f,e,c);for(e=d=0;c--;)d|=rv(a,b++,1)<<e,e+=8}return d}function gv(a,b,c){return rv(a,b[0]+(c||0),b[1])}
|
|
|
|
|
function vv(a,b,c){for(var d=0;!c||b<c;){var e=rv(a,b,1);if(!e)break;var f;f=a;var g=b+1,h=e,k="";for(h||(h=-1);h--;){var m=rv(f,g++,1);if(!m)break;k+=String.fromCharCode(m)}f=k;if(!f)break;b+=1+e;if(d){if(e=rv(a,b),g=a.A[e])g=g[0],a.od[g]&&a.od[g].fe[e].push(f)}else c||(a.Sf=f);b+=2;d++}}
|
|
|
|
|
zv.prototype.xj=function(a,b){var c=null;if(this.od)for(var d in this.od){var e=this.od[d];if(a>=e.hi&&a<=e.Jk){d=a-=e.hi;var f,g;for(g in e.fe){var h=e.fe[g],k=a-h[0];if(!k){c=this.Sf+"!"+h[1];break}b&&0<k&&k<d&&(f=h,d=k)}!c&&f&&(c=this.Sf+"!"+f[1]+"+"+sa(d));break}}return c||this.$b+"+"+q(a,8,!0)};var iv=23117,hv=[0,2],jv=[24,2],lv=[60,4],kv=64,nv=17742,mv=[0,2],sv=[4,2],tv=[6,2],ov=[28,2],xv=[32,2],pv=[34,2],uv=[38,2],wv=[44,4],qv=[50,2];
|
|
|
|
|
function Hv(a){mb.call(this,"FDC",a,524288);this.dmaRead=Hv.prototype.kl;this.dmaWrite=Hv.prototype.ll;this.dmaFormat=Hv.prototype.Dl;this.G=a.autoMount||null;this.L=a.sortBy||"name";"none"==this.L&&(this.L=null);this.B=[];this.M=!Ta("Mobi")&&window&&"FileReader"in window}ba(Hv,mb);l=Hv.prototype;
|
|
|
|
|
l.Cb=function(a,b,c){var d=this;switch(b){case "listDisks":this.na[b]=c;if(this.L){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.L?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){var a=d.na.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){gb("FDC option error: "+h.message)}b=g.desc;void 0===
|
|
|
|
|
b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.na[b]=c,c.onchange=function(){var a=oa(c.value,10);null!=a&&Iv(d,a)},!0;case "loadDisk":return this.na[b]=c,c.onclick=function(){var a=d.na.listDisks;a&&Jv(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);break}this.na[b]=c;c.onclick=function(){var a=d.na.listDrives;a&&a.options&&d.A&&((a=d.A[oa(a.value,
|
|
|
|
|
10)||0])?(a=a.sa)?(a=Wa(Fv(a),"octet-stream",!0,a.Kg.replace(".json",".img")),gb(a)):d.Fa("No diskette loaded in drive."):d.Fa("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.na[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Jv(d,ta(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
|
|
|
|
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;this.W=Wb(a,"ChipSet");if((this.G=yd(this.pa,"autoMount")||this.G)&&"string"==typeof this.G)try{this.G=eval("("+this.G+")")}catch(e){gb("FDC auto-mount error: "+e.message+" ("+this.G+")"),this.G=null}Kv(this);Nc(b,this,Lv);Rc(b,this,Mv);Nv(this,"None","",!0);this.M&&Nv(this,"Local Disk","?");Nv(this,"Remote Disk","??");Ov(this)||Ib(this)};
|
|
|
|
|
l.Xb=function(a,b){if(!b){if(!a){if(this.reset(),this.pa.O){this.B=[];for(a=0;a<this.A.length;a++)Pv(this,a,!0);Ov(this,!0)}}else if(!this.restore(a))return!1;if(a=this.na.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",Iv(this,0))}}return!0};l.Wb=function(a){return a?this.save():!0};l.reset=function(){Kv(this)};
|
|
|
|
|
l.save=function(){var a=new Wf(this);a.set(0,Qv(this));return a.data()};l.restore=function(a){return Kv(this,a[0])};
|
|
|
|
|
function Kv(a,b){var c=0,d,e=!0;b||(b=[0,0,Rv,Array(9),0,0,0,[]]);a.Ua=b[c++];c++;a.fa=b[c++];a.F=b[c++];a.D=b[c++];a.C=b[c++];a.J=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.N=4,a.W&&(a.N=+Sl(a.W,fl,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.W)a:{h=a.W;if(d<+Sl(h,fl,void 0)){if(!h.N){h=360;break a}if(d<h.N.length){h=h.N[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.kb=1;default:g.qb=40;g.$a=9;break;case 720:g.qb=
|
|
|
|
|
80;g.$a=9;break;case 1200:g.qb=80;g.$a=15;break;case 1440:g.qb=80,g.$a=18}}var k=a,m=d,p=f[d],v=0;h=!0;g.Ua=m;g.Me=g.Oe=!1;p||(p=[Sv,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=[Tv,g.qb||40,g.kb||p[3],g.$a||9,g.Na||512,p[1],g.vg,g.Bf,g.Cf]);g.rb=p[v++];var u=p[v++];g.name=u[0];g.qb=u[1];g.kb=u[2];g.$a=u[3];g.Na=u[4];g.Pe=u[5];(g.vg=u[6])?(g.Bf=u[7],g.Cf=u[8]):(g.vg=g.qb,g.Bf=g.kb,g.Cf=g.$a);g.Za=p[v++];g.Td=p[v++];g.Gb=p[v++];g.Td=100<=g.Td?g.Td-100:g.Td-g.Gb;g.mb=p[v++];g.Ud=p[v++];g.ub=p[v++];g.Sa=
|
|
|
|
|
p[v++];g.cb=null;g.sa||(g.ue="");var E=p[v++];102==E&&(E=!1);"boolean"==typeof E?(u=p[v++],p=p[v],E?(v=k.A[m],Pv(k,m,!0,!0),v.Oe=!0,m=new Su(k,v,"preload"),k.mj(v,m,u,p,!0)):Uv(k,m,u,p,!0)?g.sa&&p&&Vv(k,u,p,g.sa):Ib(k,!1)):void 0!==E&&g.sa&&0>g.sa.restore(E)&&(h=!1);h&&g.sa&&void 0!==g.Sa&&(g.cb=g.sa.seek(g.Gb,g.Za,g.mb));h||(e=!1)}a.I=b[c++]||0;a.Zb=b[c]||Wv;return e}
|
|
|
|
|
function Qv(a){var b=0,c=[];c[b++]=a.Ua;c[b++]=0;c[b++]=a.fa;c[b++]=a.F;c[b++]=a.D;c[b++]=a.C;c[b++]=a.J;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.rb;p[m++]=[k.name,k.qb,k.kb,k.$a,k.Na,k.Pe,k.vg,k.Bf,k.Cf];p[m++]=k.Za;p[m++]=k.Td+100;p[m++]=k.Gb;p[m++]=k.mb;p[m++]=k.Ud;p[m++]=k.ub;p[m++]=k.Sa;p[m++]=k.Oe;p[m++]=k.$k;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.sa&&Xv(a,f.ue,f.sa);c[d]=a.B;c[b++]=a.I;c[b]=a.Zb;return c}
|
|
|
|
|
l.ij=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.al=function(a,b,c){if(a.sa){var d=a.sa.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Gb=Math.floor(b/f),b%=f,a.Za=Math.floor(b/e),a.mb=b%e+1,a.ub=c*d[3],a.rb=Yv,!0}return!1};
|
|
|
|
|
function Ov(a,b){b||(a.K=0);if(a.G)for(var c in a.G){var d=a.G[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.na.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=ta(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Uv(a,g,f,e,!0)&&b&&Ib(a,!1);continue}a.Fa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.K}
|
|
|
|
|
function Jv(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.Fa('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>Uv(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){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}Pv(a,e,!1,
|
|
|
|
|
!0)}}else Pv(a,e);else a.Fa("Unable to load the selected drive")}function Uv(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())){Pv(a,b,e,!0);if(g.Me)return a.Fa("Drive "+b+" busy"),0;g.Me=!0;e&&(g.le=!0,a.K++,t(a)&&Lb(a,"loading diskette '"+c+"'"));g.Oe=!!f;return(new Su(a,g,"preload")).load(c,d,f,a.mj)?1:0}return-1}
|
|
|
|
|
l.mj=function(a,b,c,d,e){var f;a.Me=!1;b&&(f=b.info(),b&&f[0]>a.qb||f[1]>a.kb)&&(this.Fa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ua)),b=null);b?(a.sa=b,a.$k=c,a.ue=d,Vv(this,c,d,b),f=b.info(),this.I|=Zv,this.Fa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ua),a.le||e),a.vg=f[0],a.Bf=f[1],a.Cf=f[2],this.pa&&this.pa.md()):a.Oe=!1;a.le&&(a.le=!1,--this.K||Ib(this));Iv(this,a.Ua)};
|
|
|
|
|
function Nv(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 Iv(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.Oe?"?":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 Pv(a,b,c,d){var e=a.A[b];e.sa&&(Xv(a,e.ue,e.sa),e.$k="",e.ue="",e.sa=null,e.Oe=!1,a.I|=Zv,d||a.Fa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Iv(a,b))}
|
|
|
|
|
function Vv(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 Xv(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.Vn=function(a,b,c){w(this,a,b,c,"OUTPUT");b&$v?this.J&$v||this.J&aw&&this.W&&gh(this.W,6):Kv(this);this.J=b};l.sm=function(a,b){w(this,a,null,b,"DIAG",80);return 80};l.um=function(a,b){w(this,a,null,b,"STATUS",this.fa);return this.fa};
|
|
|
|
|
l.rm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.J&aw&&this.W&&eh(this.W,6);t(this)&&w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.fa&=~(bw|cw),this.D=this.C=0);return c};
|
|
|
|
|
l.Un=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]&dw;if(void 0!==ew[a]&&this.C>=ew[a].Jd){b=!1;this.D=0;a=fw(this);var d,e,f,g,h=a&dw;switch(h){case gw:fw(this);fw(this);hw(this);break;case iw:c=fw(this);this.Ua=c&3;d=this.A[this.Ua];hw(this);jw(this,(d.rb&kw)>>>24);break;case lw:case mw:c=fw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];d.Za=b;c=d.Gb=fw(this);e=fw(this);f=d.mb=fw(this);g=fw(this);d.ub=128<<g;d.Ud=fw(this);fw(this);
|
|
|
|
|
fw(this);h==mw?(h=d,h.rb=nw|ow,h.sa&&(h.cb=null,h.rb=Yv,this.W&&(In(this.W,2,this,"dmaRead",h),zn(this.W,2)))):(h=d,h.rb=nw|ow,h.sa&&(h.sa.Se?h.rb=pw|ow:(h.cb=null,h.rb=Yv,this.W&&(In(this.W,2,this,"dmaWrite",h),zn(this.W,2)))));qw(this,d,a,b,c,e,f,g);b=!0;break;case rw:c=fw(this);this.Ua=c&3;d=this.A[this.Ua];d.Gb=d.Td=0;d.rb=sw|tw;hw(this);b=!0;break;case uw:d=this.A[this.Ua];d.Za=0;hw(this);jw(this,d.Ua|d.Za<<2|d.rb&vw);jw(this,d.Gb);this.Ua=this.Ua+1&3;break;case ww:c=fw(this);b=c>>2&1;this.Ua=
|
|
|
|
|
c&3;d=this.A[this.Ua];c=d.Gb;e=d.Za=b;f=d.mb=1;g=0;d.rb=Yv;d.sa&&(d.cb=d.sa.seek(d.Gb,d.Za,d.mb))?g=d.cb.length>>8:d.rb=nw|ow;qw(this,d,a,b,c,e,f,g);b=!0;break;case xw:c=fw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];c=d.Gb;e=d.Za=b;f=1;g=fw(this);d.ub=128<<g;d.Ud=fw(this);fw(this);d.Xi=fw(this);h=d;h.rb=nw|ow;h.sa&&(h.cb=null,h.rb=Yv,this.W&&(h.He=0,h.$c=Array(4),h.Zg=!0,h.kg=0,In(this.W,2,this,"dmaFormat",h),zn(this.W,2),h.Zg=!1));qw(this,d,a,b,c,e,f,g);b=!0;break;case yw:c=fw(this),this.Ua=c&
|
|
|
|
|
3,d=this.A[this.Ua],d.Za=c>>2&1,c=fw(this),d.Gb+=c-d.Td,0>d.Gb&&(d.Gb=0),d.Gb>=d.qb&&(d.Gb=d.qb-1),d.Td=c,d.rb=sw,d.Gb||(d.rb|=tw),hw(this),b=!0}0<this.C&&(this.fa=this.fa|bw|cw);this.J&aw&&(!d||d.rb&nw||!b||this.W&&gh(this.W,6))}};l.tm=function(a,b){var c=this.I;this.I&=~Zv;w(this,a,null,b,"INPUT",c);return c};l.Tn=function(a,b,c){w(this,a,b,c,"CONTROL");this.Zb=b};
|
|
|
|
|
function qw(a,b,c,d,e,f,g,h){hw(a);jw(a,b.Ua|b.Za<<2|b.rb&vw);jw(a,(b.rb&zw)>>>8);jw(a,(b.rb&Aw)>>>16);var k=0;if(e!=b.Gb||f!=b.Za)k=g=1;c&Bw&&(f^=k,d||(k=0));jw(a,e+k);jw(a,f);jw(a,g);jw(a,h)}function fw(a){var b=a.F[a.D];a.D++;return b}function hw(a){a.D=a.C=0}function jw(a,b){a.F[a.C++]=b}l.kl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.ll=function(a,b){return void 0!==b&&0<=b?Cw(a,b):-1};
|
|
|
|
|
l.Dl=function(a,b){if(void 0!==b&&0<=b)a:if(a.rb)a=-1;else{a.$c[a.He++]=b;if(a.He==a.$c.length){a.Gb=a.$c[0];a.Za=a.$c[1];a.mb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.He=0;c<a.ub;c++)if(0>Cw(a,a.Xi)){a=-1;break a}a.kg++}a.kg>=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.rb&&a.sa){do{if(a.cb&&(e=a.Sa,0<=(c=a.sa.read(a.cb,a.Sa++)))){d=a.cb;break}a.cb=a.sa.seek(a.Gb,a.Za,a.mb);if(!a.cb){a.rb=Dw|ow;break}a.Sa=0;Ew(a)}while(1)}b(c,!1,d,e)};
|
|
|
|
|
function Cw(a,b){if(a.rb||!a.sa)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.cb=a.sa.seek(a.Gb,a.Za,a.mb);if(!a.cb){a.rb=Fw|ow;b=-1;break}a.Sa=0;Ew(a)}while(1);return b}function Ew(a){a.mb++;a.mb>=a.Cf+1&&(a.mb=1,a.Za++,a.Za>=a.Bf&&(a.Za=0,a.Gb++))}var Tv="Floppy Drive",$v=4,aw=8,cw=16,bw=64,Rv=128,gw=3,iw=4,lw=5,mw=6,rw=7,uw=8,ww=10,xw=13,yw=15,dw=31,Bw=128,Yv=0,nw=8,sw=32,ow=64,Sv=192,vw=255,pw=512,Dw=1024,Fw=8192,zw=65280,Aw=16711680,tw=268435456,kw=-16777216,Zv=128,Wv=0;aa={};
|
|
|
|
|
var ew={3:{Jd:3,Vd:0,name:aa.Yp},4:{Jd:2,Vd:1,name:aa.Wp},5:{Jd:9,Vd:7,name:aa.bq},6:{Jd:9,Vd:7,name:aa.Sp},7:{Jd:2,Vd:0,name:aa.Up},8:{Jd:1,Vd:2,name:aa.Xp},10:{Jd:2,Vd:7,name:aa.Tp},13:{Jd:6,Vd:7,name:aa.Pp},15:{Jd:3,Vd:0,name:aa.Vp}},Lv={1009:Hv.prototype.sm,1012:Hv.prototype.um,1013:Hv.prototype.rm,1015:Hv.prototype.tm},Mv={1010:Hv.prototype.Vn,1013:Hv.prototype.Un,1015:Hv.prototype.Tn};
|
|
|
|
|
$a(function(){for(var a=zb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Hv(d);yb(d,c)}});function Gw(a){mb.call(this,"HDC",a,1048576);this.dmaRead=Gw.prototype.ml;this.dmaWrite=Gw.prototype.nl;this.dmaWriteBuffer=Gw.prototype.El;this.dmaWriteFormat=Gw.prototype.Fl;this.Z=[];this.la=a.drives;this.M="at"==a.type}ba(Gw,mb);l=Gw.prototype;
|
|
|
|
|
function Hv(a){mb.call(this,"FDC",a,524288);this.dmaRead=Hv.prototype.kl;this.dmaWrite=Hv.prototype.ll;this.dmaFormat=Hv.prototype.Dl;this.L=Iv(a.autoMount);this.J=a.sortBy||"name";"none"==this.J&&(this.J=null);this.B=[];this.M=!Ta("Mobi")&&window&&"FileReader"in window}ba(Hv,mb);l=Hv.prototype;
|
|
|
|
|
l.Cb=function(a,b,c){var d=this;switch(b){case "listDisks":this.na[b]=c;if(this.J){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.J?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){var a=d.na.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){gb("FDC option error: "+h.message)}b=g.desc;void 0===
|
|
|
|
|
b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.na[b]=c,c.onchange=function(){var a=oa(c.value,10);null!=a&&Jv(d,a)},!0;case "loadDisk":return this.na[b]=c,c.onclick=function(){var a=d.na.listDisks;a&&Kv(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);break}this.na[b]=c;c.onclick=function(){var a=d.na.listDrives;a&&a.options&&d.A&&((a=d.A[oa(a.value,
|
|
|
|
|
10)||0])?(a=a.sa)?(a=Wa(Fv(a),"octet-stream",!0,a.Kg.replace(".json",".img")),gb(a)):d.Fa("No diskette loaded in drive."):d.Fa("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.na[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Kv(d,ta(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
|
|
|
|
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;this.W=Wb(a,"ChipSet");Iv(yd(this.pa,"autoMount"),this.L);Lv(this);Nc(b,this,Mv);Rc(b,this,Nv);Ov(this,"None","",!0);this.M&&Ov(this,"Local Disk","?");Ov(this,"Remote Disk","??");Pv(this)||Ib(this)};function Iv(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){gb("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};if(b)for(var c in a)b[c]=a[c];return a}
|
|
|
|
|
l.Xb=function(a,b){if(!b){if(!a){if(this.reset(),this.pa.O){this.B=[];for(a=0;a<this.A.length;a++)Qv(this,a,!0);Pv(this,!0)}}else if(!this.restore(a))return!1;if(a=this.na.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",Jv(this,0))}}return!0};l.Wb=function(a){return a?this.save():!0};l.reset=function(){Lv(this)};
|
|
|
|
|
l.save=function(){var a=new Wf(this);a.set(0,Rv(this));return a.data()};l.restore=function(a){return Lv(this,a[0])};
|
|
|
|
|
function Lv(a,b){var c=0,d,e=!0;b||(b=[0,0,Sv,Array(9),0,0,0,[]]);a.Ua=b[c++];c++;a.fa=b[c++];a.F=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.N=4,a.W&&(a.N=+Sl(a.W,fl,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.W)a:{h=a.W;if(d<+Sl(h,fl,void 0)){if(!h.N){h=360;break a}if(d<h.N.length){h=h.N[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.kb=1;default:g.qb=40;g.$a=9;break;case 720:g.qb=
|
|
|
|
|
80;g.$a=9;break;case 1200:g.qb=80;g.$a=15;break;case 1440:g.qb=80,g.$a=18}}var k=a,m=d,p=f[d],v=0;h=!0;g.Ua=m;g.Me=g.Oe=!1;p||(p=[Tv,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=[Uv,g.qb||40,g.kb||p[3],g.$a||9,g.Na||512,p[1],g.vg,g.Bf,g.Cf]);g.rb=p[v++];var u=p[v++];g.name=u[0];g.qb=u[1];g.kb=u[2];g.$a=u[3];g.Na=u[4];g.Pe=u[5];(g.vg=u[6])?(g.Bf=u[7],g.Cf=u[8]):(g.vg=g.qb,g.Bf=g.kb,g.Cf=g.$a);g.Za=p[v++];g.Td=p[v++];g.Gb=p[v++];g.Td=100<=g.Td?g.Td-100:g.Td-g.Gb;g.mb=p[v++];g.Ud=p[v++];g.ub=p[v++];g.Sa=
|
|
|
|
|
p[v++];g.cb=null;g.sa||(g.ue="");var E=p[v++];102==E&&(E=!1);"boolean"==typeof E?(u=p[v++],p=p[v],E?(v=k.A[m],Qv(k,m,!0,!0),v.Oe=!0,m=new Su(k,v,"preload"),k.mj(v,m,u,p,!0)):Vv(k,m,u,p,!0)?g.sa&&p&&Wv(k,u,p,g.sa):Ib(k,!1)):void 0!==E&&g.sa&&0>g.sa.restore(E)&&(h=!1);h&&g.sa&&void 0!==g.Sa&&(g.cb=g.sa.seek(g.Gb,g.Za,g.mb));h||(e=!1)}a.G=b[c++]||0;a.Zb=b[c]||Xv;return e}
|
|
|
|
|
function Rv(a){var b=0,c=[];c[b++]=a.Ua;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.rb;p[m++]=[k.name,k.qb,k.kb,k.$a,k.Na,k.Pe,k.vg,k.Bf,k.Cf];p[m++]=k.Za;p[m++]=k.Td+100;p[m++]=k.Gb;p[m++]=k.mb;p[m++]=k.Ud;p[m++]=k.ub;p[m++]=k.Sa;p[m++]=k.Oe;p[m++]=k.$k;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.sa&&Yv(a,f.ue,f.sa);c[d]=a.B;c[b++]=a.G;c[b]=a.Zb;return c}
|
|
|
|
|
l.ij=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.al=function(a,b,c){if(a.sa){var d=a.sa.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Gb=Math.floor(b/f),b%=f,a.Za=Math.floor(b/e),a.mb=b%e+1,a.ub=c*d[3],a.rb=Zv,!0}return!1};
|
|
|
|
|
function Pv(a,b){b||(a.K=0);for(var c in a.L){var d=a.L[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.na.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=ta(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Vv(a,g,f,e,!0)&&b&&Ib(a,!1);continue}a.Fa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.K}
|
|
|
|
|
function Kv(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.Fa('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>Vv(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){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}Qv(a,e,!1,
|
|
|
|
|
!0)}}else Qv(a,e);else a.Fa("Unable to load the selected drive")}function Vv(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())){Qv(a,b,e,!0);if(g.Me)return a.Fa("Drive "+b+" busy"),0;g.Me=!0;e&&(g.le=!0,a.K++,t(a)&&Lb(a,"loading diskette '"+c+"'"));g.Oe=!!f;return(new Su(a,g,"preload")).load(c,d,f,a.mj)?1:0}return-1}
|
|
|
|
|
l.mj=function(a,b,c,d,e){var f;a.Me=!1;b&&(f=b.info(),b&&f[0]>a.qb||f[1]>a.kb)&&(this.Fa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ua)),b=null);b?(a.sa=b,a.$k=c,a.ue=d,Wv(this,c,d,b),f=b.info(),this.G|=$v,this.Fa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ua),a.le||e),a.vg=f[0],a.Bf=f[1],a.Cf=f[2],this.pa&&this.pa.md()):a.Oe=!1;a.le&&(a.le=!1,--this.K||Ib(this));Jv(this,a.Ua)};
|
|
|
|
|
function Ov(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 Jv(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.Oe?"?":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 Qv(a,b,c,d){var e=a.A[b];e.sa&&(Yv(a,e.ue,e.sa),e.$k="",e.ue="",e.sa=null,e.Oe=!1,a.G|=$v,d||a.Fa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Jv(a,b))}
|
|
|
|
|
function Wv(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 Yv(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.Vn=function(a,b,c){w(this,a,b,c,"OUTPUT");b&aw?this.I&aw||this.I&bw&&this.W&&gh(this.W,6):Lv(this);this.I=b};l.sm=function(a,b){w(this,a,null,b,"DIAG",80);return 80};l.um=function(a,b){w(this,a,null,b,"STATUS",this.fa);return this.fa};
|
|
|
|
|
l.rm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.I&bw&&this.W&&eh(this.W,6);t(this)&&w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.fa&=~(cw|dw),this.D=this.C=0);return c};
|
|
|
|
|
l.Un=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]&ew;if(void 0!==fw[a]&&this.C>=fw[a].Jd){b=!1;this.D=0;a=gw(this);var d,e,f,g,h=a&ew;switch(h){case hw:gw(this);gw(this);iw(this);break;case jw:c=gw(this);this.Ua=c&3;d=this.A[this.Ua];iw(this);kw(this,(d.rb&lw)>>>24);break;case mw:case nw:c=gw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];d.Za=b;c=d.Gb=gw(this);e=gw(this);f=d.mb=gw(this);g=gw(this);d.ub=128<<g;d.Ud=gw(this);gw(this);
|
|
|
|
|
gw(this);h==nw?(h=d,h.rb=ow|pw,h.sa&&(h.cb=null,h.rb=Zv,this.W&&(In(this.W,2,this,"dmaRead",h),zn(this.W,2)))):(h=d,h.rb=ow|pw,h.sa&&(h.sa.Se?h.rb=qw|pw:(h.cb=null,h.rb=Zv,this.W&&(In(this.W,2,this,"dmaWrite",h),zn(this.W,2)))));rw(this,d,a,b,c,e,f,g);b=!0;break;case sw:c=gw(this);this.Ua=c&3;d=this.A[this.Ua];d.Gb=d.Td=0;d.rb=tw|uw;iw(this);b=!0;break;case vw:d=this.A[this.Ua];d.Za=0;iw(this);kw(this,d.Ua|d.Za<<2|d.rb&ww);kw(this,d.Gb);this.Ua=this.Ua+1&3;break;case xw:c=gw(this);b=c>>2&1;this.Ua=
|
|
|
|
|
c&3;d=this.A[this.Ua];c=d.Gb;e=d.Za=b;f=d.mb=1;g=0;d.rb=Zv;d.sa&&(d.cb=d.sa.seek(d.Gb,d.Za,d.mb))?g=d.cb.length>>8:d.rb=ow|pw;rw(this,d,a,b,c,e,f,g);b=!0;break;case yw:c=gw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];c=d.Gb;e=d.Za=b;f=1;g=gw(this);d.ub=128<<g;d.Ud=gw(this);gw(this);d.Xi=gw(this);h=d;h.rb=ow|pw;h.sa&&(h.cb=null,h.rb=Zv,this.W&&(h.He=0,h.$c=Array(4),h.Zg=!0,h.kg=0,In(this.W,2,this,"dmaFormat",h),zn(this.W,2),h.Zg=!1));rw(this,d,a,b,c,e,f,g);b=!0;break;case zw:c=gw(this),this.Ua=c&
|
|
|
|
|
3,d=this.A[this.Ua],d.Za=c>>2&1,c=gw(this),d.Gb+=c-d.Td,0>d.Gb&&(d.Gb=0),d.Gb>=d.qb&&(d.Gb=d.qb-1),d.Td=c,d.rb=tw,d.Gb||(d.rb|=uw),iw(this),b=!0}0<this.C&&(this.fa=this.fa|cw|dw);this.I&bw&&(!d||d.rb&ow||!b||this.W&&gh(this.W,6))}};l.tm=function(a,b){var c=this.G;this.G&=~$v;w(this,a,null,b,"INPUT",c);return c};l.Tn=function(a,b,c){w(this,a,b,c,"CONTROL");this.Zb=b};
|
|
|
|
|
function rw(a,b,c,d,e,f,g,h){iw(a);kw(a,b.Ua|b.Za<<2|b.rb&ww);kw(a,(b.rb&Aw)>>>8);kw(a,(b.rb&Bw)>>>16);var k=0;if(e!=b.Gb||f!=b.Za)k=g=1;c&Cw&&(f^=k,d||(k=0));kw(a,e+k);kw(a,f);kw(a,g);kw(a,h)}function gw(a){var b=a.F[a.D];a.D++;return b}function iw(a){a.D=a.C=0}function kw(a,b){a.F[a.C++]=b}l.kl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.ll=function(a,b){return void 0!==b&&0<=b?Dw(a,b):-1};
|
|
|
|
|
l.Dl=function(a,b){if(void 0!==b&&0<=b)a:if(a.rb)a=-1;else{a.$c[a.He++]=b;if(a.He==a.$c.length){a.Gb=a.$c[0];a.Za=a.$c[1];a.mb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.He=0;c<a.ub;c++)if(0>Dw(a,a.Xi)){a=-1;break a}a.kg++}a.kg>=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.rb&&a.sa){do{if(a.cb&&(e=a.Sa,0<=(c=a.sa.read(a.cb,a.Sa++)))){d=a.cb;break}a.cb=a.sa.seek(a.Gb,a.Za,a.mb);if(!a.cb){a.rb=Ew|pw;break}a.Sa=0;Fw(a)}while(1)}b(c,!1,d,e)};
|
|
|
|
|
function Dw(a,b){if(a.rb||!a.sa)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.cb=a.sa.seek(a.Gb,a.Za,a.mb);if(!a.cb){a.rb=Gw|pw;b=-1;break}a.Sa=0;Fw(a)}while(1);return b}function Fw(a){a.mb++;a.mb>=a.Cf+1&&(a.mb=1,a.Za++,a.Za>=a.Bf&&(a.Za=0,a.Gb++))}var Uv="Floppy Drive",aw=4,bw=8,dw=16,cw=64,Sv=128,hw=3,jw=4,mw=5,nw=6,sw=7,vw=8,xw=10,yw=13,zw=15,ew=31,Cw=128,Zv=0,ow=8,tw=32,pw=64,Tv=192,ww=255,qw=512,Ew=1024,Gw=8192,Aw=65280,Bw=16711680,uw=268435456,lw=-16777216,$v=128,Xv=0;aa={};
|
|
|
|
|
var fw={3:{Jd:3,Vd:0,name:aa.Yp},4:{Jd:2,Vd:1,name:aa.Wp},5:{Jd:9,Vd:7,name:aa.bq},6:{Jd:9,Vd:7,name:aa.Sp},7:{Jd:2,Vd:0,name:aa.Up},8:{Jd:1,Vd:2,name:aa.Xp},10:{Jd:2,Vd:7,name:aa.Tp},13:{Jd:6,Vd:7,name:aa.Pp},15:{Jd:3,Vd:0,name:aa.Vp}},Mv={1009:Hv.prototype.sm,1012:Hv.prototype.um,1013:Hv.prototype.rm,1015:Hv.prototype.tm},Nv={1010:Hv.prototype.Vn,1013:Hv.prototype.Un,1015:Hv.prototype.Tn};
|
|
|
|
|
$a(function(){for(var a=zb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Hv(d);yb(d,c)}});function Hw(a){mb.call(this,"HDC",a,1048576);this.dmaRead=Hw.prototype.ml;this.dmaWrite=Hw.prototype.nl;this.dmaWriteBuffer=Hw.prototype.El;this.dmaWriteFormat=Hw.prototype.Fl;this.Z=[];this.la=a.drives;this.M="at"==a.type}ba(Hw,mb);l=Hw.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.sa){var b=b.sa,c=b.Kg||b.kd,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Wa(Fv(b),"octet-stream",!0,c);gb(b)}else d.Fa("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
|
|
|
|
|
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;if(d=yd(a,"drives"))this.Z=d;else if(this.la)try{this.Z=eval("("+this.la+")")}catch(e){gb("HDC drive configuration error: "+e.message+" ("+this.la+")")}this.W=Wb(a,"ChipSet");this.G=0;this.ma=3;Nc(b,this,this.M?Hw:Iw);Rc(b,this,this.M?Jw:Kw);this.M&&(this.G++,this.W&&this.W.ca==wl&&this.G++,this.ma=2,b.Y[Lw]=2,b.Z[Lw]=2);Rf(c,19,this.Wm.bind(this));Rf(c,64,this.Xm.bind(this));this.reset();Mw(this)||Ib(this)};
|
|
|
|
|
l.Xb=function(a,b){if(!b)if(!a)Nw(this),this.pa.O&&Mw(this,!0);else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};function Wu(a){return a.pa?a.pa.ha:""}function Xu(a){return a.pa?a.pa.B||"":""}l.reset=function(){Nw(this,null,!0)};l.save=function(){var a=new Wf(this);a.set(0,Ow(this));return a.data()};l.restore=function(a){return Nw(this,a[0])};
|
|
|
|
|
function Nw(a,b,c){var d=0,e=!0;a.Ua=-1;if(a.M){if(b||(b=[0,0,0,0,0,0,0,Pw,0,[0,-1]]),a.I=b[d++],a.va=b[d++],a.J=b[d++],a.ga=b[d++],a.da=b[d++],a.aa=b[d++],a.Y=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.Ua=f[1]}}else b||(b=[0,Qw,Array(14),0,0]),a.O=b[d++],a.fa=b[d++],a.F=b[d++],a.D=b[d++],a.C=b[d++],a.ta=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,E=!0;p||(p=[Rw,0,!1,Array(8)]);k.Ua=h;k.errorCode=p[u++];k.bl=p[u++];k.Pe=p[u++];k.Ee=p[u++];k.Fe=p[u++];k.Za=p[u++];k.kb=p[u++];k.Pd=p[u++];k.mb=p[u++];k.Ud=p[u++];k.ub=p[u++];k.jg=g.M?0:1;k.name=m.name;void 0===k.name&&(k.name=Sw);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||Xu(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===Tw[g.G][k.type])k.type=
|
|
|
|
|
g.ma;m=Tw[g.G][k.type];k.$a=m[2]||17;k.Na=m[3]||512;if(v&&g.W){var m=g.W,G=k.type;if(m.A){var v=null,I=m.A[18];15<G&&(v=G,G=15);h?(I=I&240|G,G=26):(I=I&15|G<<4,G=25);var J=m;J.A&&(J.A[18]=I,jm(J));null!=v&&m.A&&(m.A[G]=v,jm(m))}}void 0===k.sa&&(k.sa=null,g.Fa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Uw(g,k);k.Sa=p[u++];k.cb=null;k.sa&&(g=p[u],void 0!==g&&0>k.sa.restore(g)&&(E=!1),E&&void 0!==k.Sa&&(k.cb=k.sa.seek(k.Pd,k.Za,k.mb+k.jg)));E||(e=!1);null!=a.O&&1>=d&&(a.O|=(f.type&3)<<(1-d<<
|
|
|
|
|
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;if(d=yd(a,"drives"))this.Z=d;else if(this.la)try{this.Z=eval("("+this.la+")")}catch(e){gb("HDC drive configuration error: "+e.message+" ("+this.la+")")}this.W=Wb(a,"ChipSet");this.G=0;this.ma=3;Nc(b,this,this.M?Iw:Jw);Rc(b,this,this.M?Kw:Lw);this.M&&(this.G++,this.W&&this.W.ca==wl&&this.G++,this.ma=2,b.Y[Mw]=2,b.Z[Mw]=2);Rf(c,19,this.Wm.bind(this));Rf(c,64,this.Xm.bind(this));this.reset();Nw(this)||Ib(this)};
|
|
|
|
|
l.Xb=function(a,b){if(!b)if(!a)Ow(this),this.pa.O&&Nw(this,!0);else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};function Wu(a){return a.pa?a.pa.ha:""}function Xu(a){return a.pa?a.pa.B||"":""}l.reset=function(){Ow(this,null,!0)};l.save=function(){var a=new Wf(this);a.set(0,Pw(this));return a.data()};l.restore=function(a){return Ow(this,a[0])};
|
|
|
|
|
function Ow(a,b,c){var d=0,e=!0;a.Ua=-1;if(a.M){if(b||(b=[0,0,0,0,0,0,0,Qw,0,[0,-1]]),a.I=b[d++],a.va=b[d++],a.J=b[d++],a.ga=b[d++],a.da=b[d++],a.aa=b[d++],a.Y=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.Ua=f[1]}}else b||(b=[0,Rw,Array(14),0,0]),a.O=b[d++],a.fa=b[d++],a.F=b[d++],a.D=b[d++],a.C=b[d++],a.ta=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,E=!0;p||(p=[Sw,0,!1,Array(8)]);k.Ua=h;k.errorCode=p[u++];k.bl=p[u++];k.Pe=p[u++];k.Ee=p[u++];k.Fe=p[u++];k.Za=p[u++];k.kb=p[u++];k.Pd=p[u++];k.mb=p[u++];k.Ud=p[u++];k.ub=p[u++];k.jg=g.M?0:1;k.name=m.name;void 0===k.name&&(k.name=Tw);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||Xu(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===Uw[g.G][k.type])k.type=
|
|
|
|
|
g.ma;m=Uw[g.G][k.type];k.$a=m[2]||17;k.Na=m[3]||512;if(v&&g.W){var m=g.W,G=k.type;if(m.A){var v=null,I=m.A[18];15<G&&(v=G,G=15);h?(I=I&240|G,G=26):(I=I&15|G<<4,G=25);var J=m;J.A&&(J.A[18]=I,jm(J));null!=v&&m.A&&(m.A[G]=v,jm(m))}}void 0===k.sa&&(k.sa=null,g.Fa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Vw(g,k);k.Sa=p[u++];k.cb=null;k.sa&&(g=p[u],void 0!==g&&0>k.sa.restore(g)&&(E=!1),E&&void 0!==k.Sa&&(k.cb=k.sa.seek(k.Pd,k.Za,k.mb+k.jg)));E||(e=!1);null!=a.O&&1>=d&&(a.O|=(f.type&3)<<(1-d<<
|
|
|
|
|
1))}0<=a.Ua&&(a.B=a.A[a.Ua]);return e}
|
|
|
|
|
function Ow(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.da,c[b++]=a.aa,c[b++]=a.Y,c[b++]=a.fa,c[b++]=a.ha,c[b++]=[a.L,a.Ua]):(c[b++]=a.O,c[b++]=a.fa,c[b++]=a.F,c[b++]=a.D,c[b++]=a.C,c[b++]=a.ta,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.bl;m[k++]=h.Pe;m[k++]=h.Ee;m[k++]=h.Fe;m[k++]=h.Za;m[k++]=h.kb;m[k++]=h.Pd;m[k++]=h.mb;m[k++]=h.Ud;m[k++]=h.ub;m[k++]=h.Sa;m[k]=h.sa?h.sa.save():
|
|
|
|
|
null;e[g]=m}c[b]=e;return c}l.ij=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 Uw(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ee[2])?e=b.Ee[0]<<8|b.Ee[1]:c=b.type);null==c||d||(d=Tw[a.G][c][1],e=Tw[a.G][c][0]);d&&((c=Tw[a.G][b.type])&&e!=c[0]&&d!=c[1]&&a.Fa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.qb=e,b.kb=d,null==b.sa&&(b.sa=new Su(a,b,b.mode)))}}
|
|
|
|
|
l.al=function(a,b,c){if(a.sa){var d=a.sa.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Pd=Math.floor(b/g),b%=g,a.Za=Math.floor(b/f),a.mb=b%f,a.ub=c*d[3],a.errorCode=Rw,!0}}return!1};
|
|
|
|
|
function Mw(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.sa&&d.sa.pg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.Me?(e.Fa("Drive "+c+" busy"),e=!0):(g.Me=!0,g.le=!0,e.K++,t(e)&&Lb(e,"loading "+f),(g.sa||new Su(e,g,g.mode)).load(f,d,null,e.Gl),e=!1);!e&&b&&Ib(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Uw(a,d,d.type))}return!!a.K}
|
|
|
|
|
l.Gl=function(a,b,c){a.Me=!1;if(a.sa=b)this.Fa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ua),a.le),b=b.info(),b[0]==a.qb&&b[1]==a.kb&&b[2]==a.$a&&b[3]==a.Na||this.Fa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Vw[this.G]+" drive type "+a.type+" ("+a.qb+":"+a.kb+":"+a.$a+")");a.le&&(a.le=!1,--this.K||Ib(this))};
|
|
|
|
|
l.Um=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.W&&eh(this.W,5);this.fa&=~Ww;w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.D=this.C=0,this.fa&=~(Xw|Yw|Zw));return c};l.so=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]!=$w?6:this.F.length;6==this.C&&(this.fa&=~ax);this.C>=a&&(this.fa|=Xw,this.fa&=~ax,bx(this))};l.Vm=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.D<this.C&&(this.fa|=ax);return c};
|
|
|
|
|
l.vo=function(a,b,c){w(this,a,b,c,"RESET");this.ta=b;this.W&&eh(this.W,5);Nw(this)};l.Tm=function(a,b){w(this,a,null,b,"CONFIG",this.O);return this.O};l.uo=function(a,b,c){w(this,a,b,c,"PULSE");this.qa=b;this.fa=ax|Yw|Zw};l.to=function(a,b,c){w(this,a,b,c,"PATTERN");this.oa=b};l.ii=function(a,b,c){w(this,a,b,c,"NOISE")};
|
|
|
|
|
function cx(a,b,c){var d=-1;a.B&&(d=a.te(a.B,function(){}),1==a.B.Sa||a.B.Sa==a.B.Na)&&(t(a,1048832)&&w(a,b,null,c,"DATA["+a.B.Sa+"]",d),1<a.B.Sa&&(a.B.ub-=a.B.Na,a.J=a.J-1&255,a.B.ub>=a.B.Na?(a.fa=dx,a.te(a.B,function(b){0<=b?(ex(a),a.W&&a.W.ca==wl&&(a.fa=0),a.fa=a.fa|Pw|fx|gx):(a.fa=hx,a.I=ix)},!1)):a.fa=Pw|fx));return d}l.ol=function(a,b){return cx(this,a,b)|cx(this,a,b)<<8};
|
|
|
|
|
function jx(a,b,c,d){if(a.B&&a.B.ub>=a.B.Na)if(0>kx(a.B,c))a.fa=hx,a.I=ix;else if(1==a.B.Sa||a.B.Sa==a.B.Na)t(a,1048832)&&w(a,b,c,d,"DATA["+a.B.Sa+"]"),1<a.B.Sa&&(a.B.ub-=a.B.Na,a.J=a.J-1&255,ex(a),a.fa=Pw|fx,a.B.ub>=a.B.Na&&(a.fa|=gx))}l.Bn=function(a,b,c){jx(this,a,b&255,c);jx(this,a,b>>8&255,c)};l.am=function(a,b){var c=this.I;w(this,a,null,b,"ERROR",c);return c};l.Gn=function(a,b,c){w(this,a,b,c,"WPREC");this.va=b};l.cm=function(a,b){var c=this.J;w(this,a,null,b,"SECCNT",c);return c};
|
|
|
|
|
function Pw(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.da,c[b++]=a.aa,c[b++]=a.Y,c[b++]=a.fa,c[b++]=a.ha,c[b++]=[a.L,a.Ua]):(c[b++]=a.O,c[b++]=a.fa,c[b++]=a.F,c[b++]=a.D,c[b++]=a.C,c[b++]=a.ta,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.bl;m[k++]=h.Pe;m[k++]=h.Ee;m[k++]=h.Fe;m[k++]=h.Za;m[k++]=h.kb;m[k++]=h.Pd;m[k++]=h.mb;m[k++]=h.Ud;m[k++]=h.ub;m[k++]=h.Sa;m[k]=h.sa?h.sa.save():
|
|
|
|
|
null;e[g]=m}c[b]=e;return c}l.ij=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 Vw(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ee[2])?e=b.Ee[0]<<8|b.Ee[1]:c=b.type);null==c||d||(d=Uw[a.G][c][1],e=Uw[a.G][c][0]);d&&((c=Uw[a.G][b.type])&&e!=c[0]&&d!=c[1]&&a.Fa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.qb=e,b.kb=d,null==b.sa&&(b.sa=new Su(a,b,b.mode)))}}
|
|
|
|
|
l.al=function(a,b,c){if(a.sa){var d=a.sa.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Pd=Math.floor(b/g),b%=g,a.Za=Math.floor(b/f),a.mb=b%f,a.ub=c*d[3],a.errorCode=Sw,!0}}return!1};
|
|
|
|
|
function Nw(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.sa&&d.sa.pg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.Me?(e.Fa("Drive "+c+" busy"),e=!0):(g.Me=!0,g.le=!0,e.K++,t(e)&&Lb(e,"loading "+f),(g.sa||new Su(e,g,g.mode)).load(f,d,null,e.Gl),e=!1);!e&&b&&Ib(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Vw(a,d,d.type))}return!!a.K}
|
|
|
|
|
l.Gl=function(a,b,c){a.Me=!1;if(a.sa=b)this.Fa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ua),a.le),b=b.info(),b[0]==a.qb&&b[1]==a.kb&&b[2]==a.$a&&b[3]==a.Na||this.Fa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Ww[this.G]+" drive type "+a.type+" ("+a.qb+":"+a.kb+":"+a.$a+")");a.le&&(a.le=!1,--this.K||Ib(this))};
|
|
|
|
|
l.Um=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.W&&eh(this.W,5);this.fa&=~Xw;w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.D=this.C=0,this.fa&=~(Yw|Zw|$w));return c};l.so=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]!=ax?6:this.F.length;6==this.C&&(this.fa&=~bx);this.C>=a&&(this.fa|=Yw,this.fa&=~bx,cx(this))};l.Vm=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.D<this.C&&(this.fa|=bx);return c};
|
|
|
|
|
l.vo=function(a,b,c){w(this,a,b,c,"RESET");this.ta=b;this.W&&eh(this.W,5);Ow(this)};l.Tm=function(a,b){w(this,a,null,b,"CONFIG",this.O);return this.O};l.uo=function(a,b,c){w(this,a,b,c,"PULSE");this.qa=b;this.fa=bx|Zw|$w};l.to=function(a,b,c){w(this,a,b,c,"PATTERN");this.oa=b};l.ii=function(a,b,c){w(this,a,b,c,"NOISE")};
|
|
|
|
|
function dx(a,b,c){var d=-1;a.B&&(d=a.te(a.B,function(){}),1==a.B.Sa||a.B.Sa==a.B.Na)&&(t(a,1048832)&&w(a,b,null,c,"DATA["+a.B.Sa+"]",d),1<a.B.Sa&&(a.B.ub-=a.B.Na,a.J=a.J-1&255,a.B.ub>=a.B.Na?(a.fa=ex,a.te(a.B,function(b){0<=b?(fx(a),a.W&&a.W.ca==wl&&(a.fa=0),a.fa=a.fa|Qw|gx|hx):(a.fa=ix,a.I=jx)},!1)):a.fa=Qw|gx));return d}l.ol=function(a,b){return dx(this,a,b)|dx(this,a,b)<<8};
|
|
|
|
|
function kx(a,b,c,d){if(a.B&&a.B.ub>=a.B.Na)if(0>lx(a.B,c))a.fa=ix,a.I=jx;else if(1==a.B.Sa||a.B.Sa==a.B.Na)t(a,1048832)&&w(a,b,c,d,"DATA["+a.B.Sa+"]"),1<a.B.Sa&&(a.B.ub-=a.B.Na,a.J=a.J-1&255,fx(a),a.fa=Qw|gx,a.B.ub>=a.B.Na&&(a.fa|=hx))}l.Bn=function(a,b,c){kx(this,a,b&255,c);kx(this,a,b>>8&255,c)};l.am=function(a,b){var c=this.I;w(this,a,null,b,"ERROR",c);return c};l.Gn=function(a,b,c){w(this,a,b,c,"WPREC");this.va=b};l.cm=function(a,b){var c=this.J;w(this,a,null,b,"SECCNT",c);return c};
|
|
|
|
|
l.En=function(a,b,c){w(this,a,b,c,"SECCNT");this.J=b};l.dm=function(a,b){var c=this.ga;w(this,a,null,b,"SECNUM",c);return c};l.Fn=function(a,b,c){w(this,a,b,c,"SECNUM");this.ga=b};l.Zl=function(a,b){var c=this.da;w(this,a,null,b,"CYLLO",c);return c};l.An=function(a,b,c){w(this,a,b,c,"CYLLO");this.da=b};l.Yl=function(a,b){var c=this.aa;w(this,a,null,b,"CYLHI",c);return c};l.zn=function(a,b,c){w(this,a,b,c,"CYLHI");this.aa=b};l.$l=function(a,b){var c=this.Y;w(this,a,null,b,"DRVHD",c);return c};
|
|
|
|
|
l.Cn=function(a,b,c){w(this,a,b,c,"DRVHD");this.Y=b;this.fa=this.A[this.Y&lx?1:0]?this.fa|Pw|fx:this.fa&~Pw};l.em=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.fa&Pw&&(this.fa&=~dx);return c};l.yn=function(a,b,c){w(this,a,b,c,"COMMAND");this.ha=b;this.W&&eh(this.W,14);mx(this)};l.Dn=function(a,b,c){w(this,a,b,c,"FDR");this.L&nx&&!(b&nx)&&(this.I=ox);this.L=b};
|
|
|
|
|
function mx(a){var b=!1,c=a.ha,d=a.Y&lx?1:0,e=a.Y&px,f=a.da|(a.aa&qx)<<8,g=a.ga,h=a.J||256;a.Ua=-1;a.B=null;a.I=rx;a.fa=Pw|fx;var k=a.A[d];k?(k.Pd=f,k.Za=e,k.mb=g,k.ub=h*k.Na,c=c>=sx?c:c&tx,k.cb=null,k.Sa=0,k.errorCode=0,a.Ua=d,a.B=k):c=-1;switch(c&tx){case ux:b=!0;break;case vx:a.fa=dx;a.te(k,function(b){0<=b&&a.W?(ex(a),a.fa=Pw|fx|gx):(a.fa=hx,a.I=ix)},!1);break;case wx:a.fa=gx;break;case xx:b=!0;break;case yx:b=!0;break;case sx:a.I=ox;b=!0;break;case zx:k.kb=e+1,k.$a=h,b=!0}b&&ex(a)}
|
|
|
|
|
function ex(a){!a.W||a.L&Ax||gh(a.W,14,120)}
|
|
|
|
|
function bx(a){a.D=0;var b=Bx(a),c=Bx(a),d=c&32,e=d>>5,f=c&31,g=Bx(a),h=Bx(a),k=g<<2&768|h,m=g&63,p=Bx(a),v=Bx(a),u=a.A[e];u&&(u.Pd=k,u.Za=f,u.mb=m,u.ub=p*u.Na);switch(b){case Cx:Dx(a,u?u.errorCode:Ex);Fx(a,c);Fx(a,g);Fx(a,h);Fx(a,Gx|d);b=-1;break;case $w:for(c=0;0<=(b=Bx(a));)u&&c<u.Ee.length&&(u.Ee[c++]=b);u&&Uw(a,u);b=Gx;u||a.N!=e||(a.N=-1,b=Hx);Dx(a,b|d);b=-1;break;case Ix:case Jx:Dx(a,Gx|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=Rw,u.bl=0),b){case Kx:Dx(a,Gx|d);break;case Lx:u.nf=v;
|
|
|
|
|
Dx(a,Gx|d);break;case Mx:Dx(a,Gx|d);break;case Nx:Ox(a,u,function(b){Dx(a,b|d)});break;case Px:Qx(a,u,function(b){Dx(a,b|d)});break;case Rx:Sx(a,u,function(b){Dx(a,b|d)});break;default:Dx(a,Hx|d)}}function Bx(a){var b=-1;a.D<a.C&&(b=a.F[a.D++]);return b}function Dx(a,b){a.D=a.C=0;void 0!==b&&Fx(a,b);a.W&&gh(a.W,5);a.fa|=Ww}function Fx(a,b){a.F[a.C++]=b}l.ml=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.nl=function(a,b){return void 0!==b&&0<=b?kx(a,b):-1};
|
|
|
|
|
l.El=function(a,b){void 0!==b&&0<=b?(a.Sa<a.Fe.length?a.Fe[a.Sa++]=b:(a.errorCode=Tx,b=-1),a=b):a=-1;return a};l.Fl=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.$c[a.He++]=b;if(a.He==a.$c.length){a.Pd=a.$c[0];a.Za=a.$c[1];a.mb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.He=0;c<a.ub;c++)if(0>kx(a,a.Xi)){a=-1;break a}a.kg++}a.kg>=a.Ud&&(b=-1);a=b}else a=-1;return a};
|
|
|
|
|
function Ox(a,b,c){b.errorCode=Ex;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Rw;In(a.W,3,a,"dmaRead",b);zn(a.W,3,function(a){a||b.errorCode!=Rw||(b.errorCode=Ex);c(b.errorCode?Hx:Gx)});return}c(b.errorCode?Hx:Gx)}function Qx(a,b,c){b.errorCode=Ex;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Rw;In(a.W,3,a,"dmaWrite",b);zn(a.W,3,function(a){a||(b.errorCode==Rw&&(b.errorCode=Ex),b.errorCode==Tx&&(b.errorCode=Rw));c(b.errorCode?Hx:Gx)});return}c(b.errorCode?Hx:Gx)}
|
|
|
|
|
function Sx(a,b,c){b.errorCode=Ex;b.Fe&&b.Fe.length==b.ub||(b.Fe=Array(b.ub));b.Sa=0;a.W?(b.errorCode=Rw,In(a.W,3,a,"dmaWriteBuffer",b),zn(a.W,3,function(a){a||b.errorCode!=Rw||(b.errorCode=Ex);c(b.errorCode?Hx:Gx)})):c(b.errorCode?Hx:Gx)}
|
|
|
|
|
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.cb&&(f=a.Sa,d=a.sa.read(a.cb,a.Sa),a.Sa+=g,0<=d))return e=a.cb,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Pd,a.Za,a.mb+a.jg,!1,function(c,k){(a.cb=c)?(e=c,f=a.Sa=0,Ux(a),d=a.sa.read(a.cb,a.Sa),a.Sa+=g):a.errorCode=Tx;b(d,k,e,f)}),d;a.errorCode=Tx;b(d,!1,e,f)}return d};
|
|
|
|
|
function kx(a,b){if(a.errorCode)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.sa&&a.sa.seek(a.Pd,a.Za,a.mb+a.jg,!0,function(b){a.cb=b});if(!a.cb){a.errorCode=Tx;b=-1;break}a.Sa=0;Ux(a)}while(1);return b}function Ux(a){a.mb++;var b=1-a.jg;a.mb>=a.$a+b&&(a.mb=b,a.Za++,a.Za>=a.kb&&(a.Za=0,a.Pd++))}l.Wm=function(){var a=this.H.L&255;!(this.H.D>>8)&&128<a&&(this.N=a-128);return!0};l.Xm=function(){var a;(a=this.H.D>>8||!this.W)||(a=!(this.W.hc[0].pd&64));return a?!0:!1};
|
|
|
|
|
var Sw="Hard Drive",Vw=["XTC","ATC","COMPAQ"],Tw=[{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]}],Lw=496,ox=1,rx=0,ix=16,qx=3,px=15,lx=16,hx=1,gx=8,fx=16,Pw=64,dx=128,ux=16,vx=32,wx=48,xx=64,yx=
|
|
|
|
|
112,sx=144,zx=145,tx=240,Ax=2,nx=4,Gx=0,Hx=2,Kx=0,Lx=1,Cx=3,Mx=5,Nx=8,Px=10,$w=12,Rx=15,Ix=224,Jx=228,Rw=0,Ex=4,Tx=20,Qw=0,ax=1,Xw=2,Yw=4,Zw=8,Ww=32,Iw={800:Gw.prototype.Um,801:Gw.prototype.Vm,802:Gw.prototype.Tm},Hw={496:Gw.prototype.ol,497:Gw.prototype.am,498:Gw.prototype.cm,499:Gw.prototype.dm,500:Gw.prototype.Zl,501:Gw.prototype.Yl,502:Gw.prototype.$l,503:Gw.prototype.em},Kw={800:Gw.prototype.so,801:Gw.prototype.vo,802:Gw.prototype.uo,803:Gw.prototype.to,807:Gw.prototype.ii,811:Gw.prototype.ii,
|
|
|
|
|
815:Gw.prototype.ii},Jw={496:Gw.prototype.Bn,497:Gw.prototype.Gn,498:Gw.prototype.En,499:Gw.prototype.Fn,500:Gw.prototype.An,501:Gw.prototype.zn,502:Gw.prototype.Cn,503:Gw.prototype.yn,1014:Gw.prototype.Dn};$a(function(){for(var a=zb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Gw(d);yb(d,c)}});function Vx(a){mb.call(this,"Debugger",a);this.D=+a.base||16;this.ha=["{","}"];this.Aa=["[","]"];this.Z=this.la=this.N=0;this.ga=!1;this.A=-1;this.C=[];this.I={}}ba(Vx,mb);
|
|
|
|
|
Vx.prototype.hh=function(){return-1};Vx.prototype.ih=function(){};Vx.prototype.Qk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
|
|
|
|
Vx.prototype.Dg=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(Ba(a.substring(d,f))),d=f+1}}return b};
|
|
|
|
|
function Wx(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 Xx(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=Wx(e,18,!0)*Math.pow(2,18)+Wx(f,18,!0);break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=Wx(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(Wx(e))}return!0}
|
|
|
|
|
function Yx(a,b,c,d,e,f){var g,h,k,m=!1,p=0,v=[],u=[],E=a.D;for(a.D=e;c<d;){var G;h=b[c++].trim();k=c<d?b[c++]:"";if(h)G=Zx(a,h,null,f,p);else if("{"==k){h=1;for(G=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;G=Yx(a,b,G,c-1,a.D,f);null!=G&&p&&(G=$x(G,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===G)if(f)f.push(h),G=0;else{m=!0;f=[];break}v.push(Wx(G));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{m=!0;break}if(!k)break;p="<"==a.ha[0]?ay:by;if(!p[k]){m=!0;break}u.length&&p[k]<=p[u[u.length-1]]&&Xx(v,u,1);u.push(k);a.D="^_"==k?10:e;p=0}if(m||!Xx(v,u)||1!=v.length)m=!0;m?f||a.P("parse error ("+(h||k)+")"):g=v.pop();a.D=E;return g}
|
|
|
|
|
function cy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.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=Wx(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.P("parse error ("+c+b+c+")");return}b=b.substr(0,f)+dy(a,g,-1)+b.substr(h)}return b}
|
|
|
|
|
function ey(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=cy(a,b,'"',7,5);if(!b)return d;b=cy(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Yx(a,b,0,b.length,a.D,c);void 0!==d&&e&&fy(a,null,d)}return d}
|
|
|
|
|
function gy(a,b){var c,d=a.ha[0],e=a.ha[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=ey(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?dy(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Qk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Z-a.la}if(null==
|
|
|
|
|
e)break;b=b.replace(d[0],e.toString())}return b}function $x(a,b){for(;b;){switch(b&3){case 1:a=-Wx(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
|
|
|
|
|
function Zx(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.hh(b);if(0<=f)f=a.ih(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].Ro;h&&(g?g.push(h):(g=ey(a,h,d),void 0!==g?f+=g:(d||a.P("undefined "+(c||"value")+": "+b+" ("+h+")"),f=void 0)))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=Wx($x(f,e)):d||a.P("invalid "+(c||"value")+": "+b)}else d||a.P("missing "+(c||"value"));return f}
|
|
|
|
|
function fy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.D?dy(a,c,32,8,1)+" "+c+".":dy(a,c,32,16,1)+" "+dy(a,c,32,8,1)+" "+dy(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function hy(a,b){var c=0;if(a.I){if(b)return fy(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)fy(a,b[d],a.I[b[d]].value),c++}return 0<c}
|
|
|
|
|
function dy(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=qa(b,0<c?c:0,e);break;case 8:b=ra(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
|
|
|
|
var by={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},ay={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
|
|
|
|
|
function iy(a){Vx.call(this,a);this.ta=4;this.ma=5;this.wa=1048575;this.M=jy(this);this.Ma=jy(this);this.da=jy(this);this.F=[];this.B=this.aa=this.O=[];ky(this);this.xa=0;ly(this);this.Ba={};my(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ny(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ny(b,a)})}ba(iy,Vx);l=iy.prototype;
|
|
|
|
|
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.eb=Wb(a,"FDC");this.Ta=Wb(a,"HDC");this.Tc=Wb(a,"FPU");this.G=Wb(a,"Mouse");(a=yd(a,"messages"))&&my(this,a);this.ma=b.I>>2;this.wa=b.N;this.Ya=new Ud(this.H,7,"DBG");this.qa=oy;80186<=this.H.ca&&(this.qa=oy.slice(),this.qa[15]=py,80286<=this.H.ca&&(this.qa[15]=qy,80386<=this.H.ca&&(this.ta=8)));zl(this,64,function(a){ry(d,d.H.sc,a[0])});zl(this,4,function(a){if(a=a[0]){var b=Zx(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=sy(d,
|
|
|
|
|
b,ty),d.P("dumpSel("+sa(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ma)),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=uy[a.type];e&&(c=e[0],b=e[1])}!c||a.lb&32768||(c+=",not present");d.P((b?"seg="+sa(a.ua&65535)+" off="+sa(a.Ka):"base="+q(a.ua,d.ma)+" limit="+vy(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+sa(a.ext&-65296)+
|
|
|
|
|
" dpl="+r(a.qc))}}else d.P("no selector")});zl(this,134217728,function(a){var b;(a=a[0])&&(b=Zx(d,a));if(void 0===b)d.P("invalid MCB");else for(d.P("dumpMCB("+sa(b)+")");b;){a=jy(d,0,b);var c=d.Ia(a,1),e=d.Yc(a,2),k=d.Yc(a,5);if(77!=c&&90!=c)break;d.P(wy(0,b)+": '"+String.fromCharCode(c)+"' PID="+sa(e)+" LEN="+sa(k)+' "'+xy(d,a,8)+'"');b+=1+k}});zl(this,128,function(a){ry(d,d.H.aa,a[0],d.H.aa!==d.H.sc)});zl(this,8,function(a){a:{if(a=a[0]){var b=Zx(d,a);if(void 0===b){d.P("invalid task selector: "+
|
|
|
|
|
a);break a}a=sy(d,b,ty)}else a=d.H.la;d.P("dumpTSS("+sa(a?a.U:b)+"): %"+q(a?a.ua:null,d.ma));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?yy:zy,m,p,v,u;for(u in k)m=k[u],p=a.ua+m,v=xg(d.H,p,2),2304==c&&(v|=xg(d.H,p+2,2)<<16),b&&(b+="\n"),b+=sa(m)+" "+Aa(u+":",11)+q(v,e);if(2304==c)for(u=0,m=v>>>16;m<a.Nb&&1023>u;){p=a.ua+m;v=xg(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.P(b)}}});this.J=
|
|
|
|
|
null;this.Ha=0;this.Ca=!1;Rf(this.H,48,this.Zm.bind(this));Rf(this.H,65,this.$m.bind(this));this.Y=null;Rf(this.H,104,this.an.bind(this));Ib(this)};function Ay(a,b,c,d,e,f){b=xy(a,b);var g=sy(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=By(a,b,c);e[b+h]=0;$p(a,b,c,d,0,null,g,e)}
|
|
|
|
|
function Cy(a,b,c,d){var e=a.Yc(b,2),f=a.Yc(b,2),g=Dy(a,b,4),h=Dy(a,b,4),k=jy(a,Dy(a,b,4),a.Yc(b,2));b=jy(a,Dy(a,b,4),a.Yc(b,2));b=xy(a,b).toUpperCase();var k=xy(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=By(a,k,e);c[k+m]=g;$p(a,k,e,f,g,null,h,c)}function Ey(a,b,c){c=xy(a,c).toUpperCase();Fy(a,c,b)}
|
|
|
|
|
l.Zm=function(){var a=this.H;if(null!=this.J&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=jy(this,z(a)+12,a.Y.U);switch(Dy(this,d)){case 336:Cy(this,jy(this,a.G,b),!c,!!this.J)}}return!0};
|
|
|
|
|
l.$m=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&&Sf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Lb(a,"INT 0x41 handling enabled",128),a.J=!0):(Lb(a,"INT 0x41 monitoring enabled",128),a.J=!1)}}(this)),!0;switch(c){case 79:this.J&&(b.D=b.D&-65536|62342,Lb(this,"INT 0x41 handling enabled",128));break;case 80:Ay(this,jy(this,h,k),d+1,e,!(g&1),!!this.J);break;case 82:Fy(this,null,
|
|
|
|
|
d);break;case 127:this.J&&(b.D=b.D&-65536|(this.Ca?0:1));break;case 131:this.J&&(a=jy(this,b.L,e),this.Ha++?(this.P("TRAPFAULT failed"),Gy(this,this.B,a,!0,!0),this.Ha=0,this.Jb()):(this.P("INT 0x41 TRAPFAULT: fault="+sa(d)+" error="+q(b.K,8,!0)+" addr="+Hy(a)),this.Hd(this.B,a,!0),ly(this,!0)));break;case 141:this.J&&(b.D=b.D&-65536|1);break;case 336:Cy(this,jy(this,b.G,f),!g,!!this.J);break;case 338:Ey(this,d,jy(this,b.J,f))}this.Ca=!1;return!this.J};
|
|
|
|
|
l.Cn=function(a,b,c){w(this,a,b,c,"DRVHD");this.Y=b;this.fa=this.A[this.Y&mx?1:0]?this.fa|Qw|gx:this.fa&~Qw};l.em=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.fa&Qw&&(this.fa&=~ex);return c};l.yn=function(a,b,c){w(this,a,b,c,"COMMAND");this.ha=b;this.W&&eh(this.W,14);nx(this)};l.Dn=function(a,b,c){w(this,a,b,c,"FDR");this.L&ox&&!(b&ox)&&(this.I=px);this.L=b};
|
|
|
|
|
function nx(a){var b=!1,c=a.ha,d=a.Y&mx?1:0,e=a.Y&qx,f=a.da|(a.aa&rx)<<8,g=a.ga,h=a.J||256;a.Ua=-1;a.B=null;a.I=sx;a.fa=Qw|gx;var k=a.A[d];k?(k.Pd=f,k.Za=e,k.mb=g,k.ub=h*k.Na,c=c>=tx?c:c&ux,k.cb=null,k.Sa=0,k.errorCode=0,a.Ua=d,a.B=k):c=-1;switch(c&ux){case vx:b=!0;break;case wx:a.fa=ex;a.te(k,function(b){0<=b&&a.W?(fx(a),a.fa=Qw|gx|hx):(a.fa=ix,a.I=jx)},!1);break;case xx:a.fa=hx;break;case yx:b=!0;break;case zx:b=!0;break;case tx:a.I=px;b=!0;break;case Ax:k.kb=e+1,k.$a=h,b=!0}b&&fx(a)}
|
|
|
|
|
function fx(a){!a.W||a.L&Bx||gh(a.W,14,120)}
|
|
|
|
|
function cx(a){a.D=0;var b=Cx(a),c=Cx(a),d=c&32,e=d>>5,f=c&31,g=Cx(a),h=Cx(a),k=g<<2&768|h,m=g&63,p=Cx(a),v=Cx(a),u=a.A[e];u&&(u.Pd=k,u.Za=f,u.mb=m,u.ub=p*u.Na);switch(b){case Dx:Ex(a,u?u.errorCode:Fx);Gx(a,c);Gx(a,g);Gx(a,h);Gx(a,Hx|d);b=-1;break;case ax:for(c=0;0<=(b=Cx(a));)u&&c<u.Ee.length&&(u.Ee[c++]=b);u&&Vw(a,u);b=Hx;u||a.N!=e||(a.N=-1,b=Ix);Ex(a,b|d);b=-1;break;case Jx:case Kx:Ex(a,Hx|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=Sw,u.bl=0),b){case Lx:Ex(a,Hx|d);break;case Mx:u.nf=v;
|
|
|
|
|
Ex(a,Hx|d);break;case Nx:Ex(a,Hx|d);break;case Ox:Px(a,u,function(b){Ex(a,b|d)});break;case Qx:Rx(a,u,function(b){Ex(a,b|d)});break;case Sx:Tx(a,u,function(b){Ex(a,b|d)});break;default:Ex(a,Ix|d)}}function Cx(a){var b=-1;a.D<a.C&&(b=a.F[a.D++]);return b}function Ex(a,b){a.D=a.C=0;void 0!==b&&Gx(a,b);a.W&&gh(a.W,5);a.fa|=Xw}function Gx(a,b){a.F[a.C++]=b}l.ml=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.nl=function(a,b){return void 0!==b&&0<=b?lx(a,b):-1};
|
|
|
|
|
l.El=function(a,b){void 0!==b&&0<=b?(a.Sa<a.Fe.length?a.Fe[a.Sa++]=b:(a.errorCode=Ux,b=-1),a=b):a=-1;return a};l.Fl=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.$c[a.He++]=b;if(a.He==a.$c.length){a.Pd=a.$c[0];a.Za=a.$c[1];a.mb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.He=0;c<a.ub;c++)if(0>lx(a,a.Xi)){a=-1;break a}a.kg++}a.kg>=a.Ud&&(b=-1);a=b}else a=-1;return a};
|
|
|
|
|
function Px(a,b,c){b.errorCode=Fx;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Sw;In(a.W,3,a,"dmaRead",b);zn(a.W,3,function(a){a||b.errorCode!=Sw||(b.errorCode=Fx);c(b.errorCode?Ix:Hx)});return}c(b.errorCode?Ix:Hx)}function Rx(a,b,c){b.errorCode=Fx;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Sw;In(a.W,3,a,"dmaWrite",b);zn(a.W,3,function(a){a||(b.errorCode==Sw&&(b.errorCode=Fx),b.errorCode==Ux&&(b.errorCode=Sw));c(b.errorCode?Ix:Hx)});return}c(b.errorCode?Ix:Hx)}
|
|
|
|
|
function Tx(a,b,c){b.errorCode=Fx;b.Fe&&b.Fe.length==b.ub||(b.Fe=Array(b.ub));b.Sa=0;a.W?(b.errorCode=Sw,In(a.W,3,a,"dmaWriteBuffer",b),zn(a.W,3,function(a){a||b.errorCode!=Sw||(b.errorCode=Fx);c(b.errorCode?Ix:Hx)})):c(b.errorCode?Ix:Hx)}
|
|
|
|
|
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.cb&&(f=a.Sa,d=a.sa.read(a.cb,a.Sa),a.Sa+=g,0<=d))return e=a.cb,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Pd,a.Za,a.mb+a.jg,!1,function(c,k){(a.cb=c)?(e=c,f=a.Sa=0,Vx(a),d=a.sa.read(a.cb,a.Sa),a.Sa+=g):a.errorCode=Ux;b(d,k,e,f)}),d;a.errorCode=Ux;b(d,!1,e,f)}return d};
|
|
|
|
|
function lx(a,b){if(a.errorCode)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.sa&&a.sa.seek(a.Pd,a.Za,a.mb+a.jg,!0,function(b){a.cb=b});if(!a.cb){a.errorCode=Ux;b=-1;break}a.Sa=0;Vx(a)}while(1);return b}function Vx(a){a.mb++;var b=1-a.jg;a.mb>=a.$a+b&&(a.mb=b,a.Za++,a.Za>=a.kb&&(a.Za=0,a.Pd++))}l.Wm=function(){var a=this.H.L&255;!(this.H.D>>8)&&128<a&&(this.N=a-128);return!0};l.Xm=function(){var a;(a=this.H.D>>8||!this.W)||(a=!(this.W.hc[0].pd&64));return a?!0:!1};
|
|
|
|
|
var Tw="Hard Drive",Ww=["XTC","ATC","COMPAQ"],Uw=[{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]}],Mw=496,px=1,sx=0,jx=16,rx=3,qx=15,mx=16,ix=1,hx=8,gx=16,Qw=64,ex=128,vx=16,wx=32,xx=48,yx=64,zx=
|
|
|
|
|
112,tx=144,Ax=145,ux=240,Bx=2,ox=4,Hx=0,Ix=2,Lx=0,Mx=1,Dx=3,Nx=5,Ox=8,Qx=10,ax=12,Sx=15,Jx=224,Kx=228,Sw=0,Fx=4,Ux=20,Rw=0,bx=1,Yw=2,Zw=4,$w=8,Xw=32,Jw={800:Hw.prototype.Um,801:Hw.prototype.Vm,802:Hw.prototype.Tm},Iw={496:Hw.prototype.ol,497:Hw.prototype.am,498:Hw.prototype.cm,499:Hw.prototype.dm,500:Hw.prototype.Zl,501:Hw.prototype.Yl,502:Hw.prototype.$l,503:Hw.prototype.em},Lw={800:Hw.prototype.so,801:Hw.prototype.vo,802:Hw.prototype.uo,803:Hw.prototype.to,807:Hw.prototype.ii,811:Hw.prototype.ii,
|
|
|
|
|
815:Hw.prototype.ii},Kw={496:Hw.prototype.Bn,497:Hw.prototype.Gn,498:Hw.prototype.En,499:Hw.prototype.Fn,500:Hw.prototype.An,501:Hw.prototype.zn,502:Hw.prototype.Cn,503:Hw.prototype.yn,1014:Hw.prototype.Dn};$a(function(){for(var a=zb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Hw(d);yb(d,c)}});function Wx(a){mb.call(this,"Debugger",a);this.D=+a.base||16;this.ha=["{","}"];this.Aa=["[","]"];this.Z=this.la=this.N=0;this.ga=!1;this.A=-1;this.C=[];this.I={}}ba(Wx,mb);
|
|
|
|
|
Wx.prototype.hh=function(){return-1};Wx.prototype.ih=function(){};Wx.prototype.Qk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
|
|
|
|
Wx.prototype.Dg=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(Ba(a.substring(d,f))),d=f+1}}return b};
|
|
|
|
|
function Xx(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 Yx(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e,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=Xx(e,18,!0)*Math.pow(2,18)+Xx(f,18,!0);break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=Xx(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(Xx(e))}return!0}
|
|
|
|
|
function Zx(a,b,c,d,e,f){var g,h,k,m=!1,p=0,v=[],u=[],E=a.D;for(a.D=e;c<d;){var G;h=b[c++].trim();k=c<d?b[c++]:"";if(h)G=$x(a,h,null,f,p);else if("{"==k){h=1;for(G=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;G=Zx(a,b,G,c-1,a.D,f);null!=G&&p&&(G=ay(G,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===G)if(f)f.push(h),G=0;else{m=!0;f=[];break}v.push(Xx(G));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{m=!0;break}if(!k)break;p="<"==a.ha[0]?by:cy;if(!p[k]){m=!0;break}u.length&&p[k]<=p[u[u.length-1]]&&Yx(v,u,1);u.push(k);a.D="^_"==k?10:e;p=0}if(m||!Yx(v,u)||1!=v.length)m=!0;m?f||a.P("parse error ("+(h||k)+")"):g=v.pop();a.D=E;return g}
|
|
|
|
|
function dy(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=Xx(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.P("parse error ("+c+b+c+")");return}b=b.substr(0,f)+ey(a,g,-1)+b.substr(h)}return b}
|
|
|
|
|
function fy(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=dy(a,b,'"',7,5);if(!b)return d;b=dy(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Zx(a,b,0,b.length,a.D,c);void 0!==d&&e&&gy(a,null,d)}return d}
|
|
|
|
|
function hy(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=fy(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?ey(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Qk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Z-a.la}if(null==
|
|
|
|
|
e)break;b=b.replace(d[0],e.toString())}return b}function ay(a,b){for(;b;){switch(b&3){case 1:a=-Xx(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 $x(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.hh(b);if(0<=f)f=a.ih(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].Ro;h&&(g?g.push(h):(g=fy(a,h,d),void 0!==g?f+=g:(d||a.P("undefined "+(c||"value")+": "+b+" ("+h+")"),f=void 0)))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=Xx(ay(f,e)):d||a.P("invalid "+(c||"value")+": "+b)}else d||a.P("missing "+(c||"value"));return f}
|
|
|
|
|
function gy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.D?ey(a,c,32,8,1)+" "+c+".":ey(a,c,32,16,1)+" "+ey(a,c,32,8,1)+" "+ey(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function iy(a,b){var c=0;if(a.I){if(b)return gy(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)gy(a,b[d],a.I[b[d]].value),c++}return 0<c}
|
|
|
|
|
function ey(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 cy={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},by={",,":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 jy(a){Wx.call(this,a);this.ta=4;this.ma=5;this.wa=1048575;this.M=ky(this);this.Ma=ky(this);this.da=ky(this);this.F=[];this.B=this.aa=this.O=[];ly(this);this.xa=0;my(this);this.Ba={};ny(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return oy(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return oy(b,a)})}ba(jy,Wx);l=jy.prototype;
|
|
|
|
|
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.eb=Wb(a,"FDC");this.Ta=Wb(a,"HDC");this.Tc=Wb(a,"FPU");this.G=Wb(a,"Mouse");(a=yd(a,"messages"))&&ny(this,a);this.ma=b.I>>2;this.wa=b.N;this.Ya=new Ud(this.H,7,"DBG");this.qa=py;80186<=this.H.ca&&(this.qa=py.slice(),this.qa[15]=qy,80286<=this.H.ca&&(this.qa[15]=ry,80386<=this.H.ca&&(this.ta=8)));zl(this,64,function(a){sy(d,d.H.sc,a[0])});zl(this,4,function(a){if(a=a[0]){var b=$x(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=ty(d,
|
|
|
|
|
b,uy),d.P("dumpSel("+sa(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ma)),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=vy[a.type];e&&(c=e[0],b=e[1])}!c||a.lb&32768||(c+=",not present");d.P((b?"seg="+sa(a.ua&65535)+" off="+sa(a.Ka):"base="+q(a.ua,d.ma)+" limit="+wy(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+sa(a.ext&-65296)+
|
|
|
|
|
" dpl="+r(a.qc))}}else d.P("no selector")});zl(this,134217728,function(a){var b;(a=a[0])&&(b=$x(d,a));if(void 0===b)d.P("invalid MCB");else for(d.P("dumpMCB("+sa(b)+")");b;){a=ky(d,0,b);var c=d.Ia(a,1),e=d.Yc(a,2),k=d.Yc(a,5);if(77!=c&&90!=c)break;d.P(xy(0,b)+": '"+String.fromCharCode(c)+"' PID="+sa(e)+" LEN="+sa(k)+' "'+yy(d,a,8)+'"');b+=1+k}});zl(this,128,function(a){sy(d,d.H.aa,a[0],d.H.aa!==d.H.sc)});zl(this,8,function(a){a:{if(a=a[0]){var b=$x(d,a);if(void 0===b){d.P("invalid task selector: "+
|
|
|
|
|
a);break a}a=ty(d,b,uy)}else a=d.H.la;d.P("dumpTSS("+sa(a?a.U:b)+"): %"+q(a?a.ua:null,d.ma));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?zy:Ay,m,p,v,u;for(u in k)m=k[u],p=a.ua+m,v=xg(d.H,p,2),2304==c&&(v|=xg(d.H,p+2,2)<<16),b&&(b+="\n"),b+=sa(m)+" "+Aa(u+":",11)+q(v,e);if(2304==c)for(u=0,m=v>>>16;m<a.Nb&&1023>u;){p=a.ua+m;v=xg(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.P(b)}}});this.J=
|
|
|
|
|
null;this.Ha=0;this.Ca=!1;Rf(this.H,48,this.Zm.bind(this));Rf(this.H,65,this.$m.bind(this));this.Y=null;Rf(this.H,104,this.an.bind(this));Ib(this)};function By(a,b,c,d,e,f){b=yy(a,b);var g=ty(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=Cy(a,b,c);e[b+h]=0;$p(a,b,c,d,0,null,g,e)}
|
|
|
|
|
function Dy(a,b,c,d){var e=a.Yc(b,2),f=a.Yc(b,2),g=Ey(a,b,4),h=Ey(a,b,4),k=ky(a,Ey(a,b,4),a.Yc(b,2));b=ky(a,Ey(a,b,4),a.Yc(b,2));b=yy(a,b).toUpperCase();var k=yy(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=Cy(a,k,e);c[k+m]=g;$p(a,k,e,f,g,null,h,c)}function Fy(a,b,c){c=yy(a,c).toUpperCase();Gy(a,c,b)}
|
|
|
|
|
l.Zm=function(){var a=this.H;if(null!=this.J&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=ky(this,z(a)+12,a.Y.U);switch(Ey(this,d)){case 336:Dy(this,ky(this,a.G,b),!c,!!this.J)}}return!0};
|
|
|
|
|
l.$m=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&&Sf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Lb(a,"INT 0x41 handling enabled",128),a.J=!0):(Lb(a,"INT 0x41 monitoring enabled",128),a.J=!1)}}(this)),!0;switch(c){case 79:this.J&&(b.D=b.D&-65536|62342,Lb(this,"INT 0x41 handling enabled",128));break;case 80:By(this,ky(this,h,k),d+1,e,!(g&1),!!this.J);break;case 82:Gy(this,null,
|
|
|
|
|
d);break;case 127:this.J&&(b.D=b.D&-65536|(this.Ca?0:1));break;case 131:this.J&&(a=ky(this,b.L,e),this.Ha++?(this.P("TRAPFAULT failed"),Hy(this,this.B,a,!0,!0),this.Ha=0,this.Jb()):(this.P("INT 0x41 TRAPFAULT: fault="+sa(d)+" error="+q(b.K,8,!0)+" addr="+Iy(a)),this.Hd(this.B,a,!0),my(this,!0)));break;case 141:this.J&&(b.D=b.D&-65536|1);break;case 336:Dy(this,ky(this,b.G,f),!g,!!this.J);break;case 338:Fy(this,d,ky(this,b.J,f))}this.Ca=!1;return!this.J};
|
|
|
|
|
l.an=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.Y){if(67==d){if(609437257==b.ia((b.Z.U<<4)+10)||1111835735==b.ia((b.Z.U<<4)+95))return!0;Sf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Lb(a,"INT 0x68 handling enabled",128),a.J=a.Y=!0):(Lb(a,"INT 0x68 monitoring enabled",128),a.Y=!1)}}(this))}return!0}switch(d){case 67:this.Y&&(b.D=b.D&-65536|62342);break;case 68:this.Y&&(a=Wd(b.Z,this.zl.bind(this)))&&
|
|
|
|
|
(b.J=a[0],ne(b,a[1]));break;case 72:Fy(this,null,e);break;case 80:32==c?Ay(this,jy(this,h,k),0,f,!0,!!this.Y):128>c?Ay(this,jy(this,h,k),e+1,c&64?g:f,!(c&1),!!this.Y):Cy(this,jy(this,h,k),!(c&1),!!this.Y),this.Y&&(b.D=b.D&-256|1)}return!this.Y};l.zl=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="",ny(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,Ya(c,function(){if(d.va){var a=d.va.value;
|
|
|
|
|
d.va.value="";ny(d,a,!0);return!0}return!1}),!0;case "step":return this.na[b]=c,Ya(c,function(a){var b=!1;Jb(d,!0)||(Kb(d,!0),b=Iy(d,a?1:0),Kb(d,!1));return b}),!0}return!1};l.md=function(){this.va&&this.va.focus()};function Jy(a){return!(!(a.H&&a.H.qa&1)||a.H.O&131072)}
|
|
|
|
|
function sy(a,b,c){var d=Jy(a)?ty:Ky;c||(c=d);if(c==d){if(b===a.H.Z.U)return a.H.Z;if(b===a.H.Ca.U)return a.H.Ca;if(b===a.H.oa.U)return a.H.oa;if(b===a.H.Y.U)return a.H.Y;if(80386<=a.H.ca){if(b===a.H.Ga.U)return a.H.Ga;if(b===a.H.Ha.U)return a.H.Ha}if(a.Da&&c==ty||!a.Ya)return null}a=a.Ya;if(c!=ty)a.nh(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.Kb,e=c.Pc);d=d+(b&65528)|0;if(e-d|0){e=xg(c,d+0,2);var f=xg(c,d+4,2),g=f&7936,h=xg(c,d+2,2)|(f&255)<<16,k=xg(c,
|
|
|
|
|
d+6,2);80386<=c.ca&&(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.lb=f;a.type=g;a.ext=k;a.Lb=d;Vd(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=sy(this,a.U,a.type);e&&(b=a.Ja||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.Ia=function(a,b){var c=255,d=this.Sb(a,!1,1);-1!==d&&(c=xg(this.H,d,1,a.type==Ly)|0,b&&My(this,a,b));return c};
|
|
|
|
|
l.jb=function(a,b){return a.Hb?Dy(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=xg(this.H,d,2,a.type==Ly)|0,b&&My(this,a,b));return c};function Dy(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=xg(a.H,e,4,b.type==Ly)|0,c&&My(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!=Ly)this.H.fc(e,b);else{var f=this.ka;f.aa[(e&f.C)>>>f.A].cf(e&f.D,b&255,e)}c&&My(this,a,c);d||Bd(this.H,!0)}};
|
|
|
|
|
l.jl=function(a,b,c){var d=this.Sb(a,!0,2);-1!==d&&(a.type!=Ly?this.H.fb(d,b):Jc(this.ka,d,b),c&&My(this,a,c),Bd(this.H,!0))};function jy(a,b,c,d,e,f,g){return Ny(a,{},b,c,d,e,f,g)}function Ny(a,b,c,d,e,f,g,h){b.Ja=c||0;b.U=d;b.ya=e;b.type=f||(Jy(a)?ty:Ky);b.Hb=null!=g?g:!(!a.H||4!=a.H.Z.V);b.dc=null!=h?h:!(!a.H||4!=a.H.Z.Jc);b.Kd=!1;return b}function Oy(a){return[a.Ja,a.U,a.ya,a.Kd,a.Hb,a.dc,a.Ge,a.dh]}function Py(a){return{Ja:a[0],U:a[1],ya:a[2],Kd:a[3],Hb:a[4],dc:a[5],Ge:a[6],dh:a[7]}}
|
|
|
|
|
function Qy(a,b,c){if(null!=b.U&&(a=sy(a,b.U,b.type))){var d=b.Ja&a.wa;if(!a.Oc){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ja=d,b.Hb=4==a.V,b.dc=4==a.Jc)}return!0}
|
|
|
|
|
function Ry(a,b,c,d){var e,f=c?a.M:a.Ma;c=d?Sy:f.type;var g=f.Ja,h=f.U,f=f.ya;if(void 0!==b){b=gy(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Ky;break;case "#":c=ty;break;case "%":c=Ty;e=b.charAt(1);"%"==e&&(c=Ly,e+=e);g=0;h=null;break;default:0<=f&&(c=Sy),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.Gd[m];if(void 0!==v){m=v.o;void 0!==m&&(k=v.s,void 0===k&&(k=e.U),k=jy(a,m,k,v.p));
|
|
|
|
|
break}}if(e=k)return e;0>f?null!=h?(g=ey(a,b,void 0),f=null):(f=ey(a,b,void 0),null==f&&(g=null)):(h=ey(a,b.substring(0,f),void 0),g=ey(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=jy(a,g,h,f,c),d||Qy(a,e,!0)||(a.P("invalid offset: "+Hy(e)),e=null));return e}function Uy(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.tl=a.Dg(b.Zk=c[2]))}l.Qk=function(a,b){var c=Ry(this,b);return a.replace("["+b+"]",c?q(this.jb(c),c.Hb?8:4):"undefined")};
|
|
|
|
|
function My(a,b,c){c=c||1;null!=b.ya&&(b.ya+=c);null!=b.U&&(b.Ja+=c,Qy(a,b)||(b.Ja=0,b.ya=null))}function wy(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function Hy(a){var b;switch(a.type){case Ky:case Vy:b="&";break;case ty:b="#";break;case Ty:b="%";break;case Ly:b="%%";break;default:b=a.U?"":"%"}return a.type>=Ty||null==a.U?b+q(a.ya):b+wy(a.Ja,a.U,a.dc)}
|
|
|
|
|
function xy(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Ia(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
|
|
|
|
|
function ry(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Sb(Ry(a,c));if(-1===e){a.P("invalid address: "+c);return}f=e>>>a.H.hb;g=1}a.P("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.P("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==bd&&(d=sd(a.H,e,!1,!0)),d.type==c?h++||a.P("..."):(c=d.type,h=tc[c],c==dd&&(d=d.qd,h+=" -> "+tc[d.type]),d&&a.P(q(d.id,8)+" %"+q(f<<a.H.hb,8)+" %%"+q(d.ya,8)+" "+sa(d.we)+" "+sa(d.size)+
|
|
|
|
|
" "+h),c!=ad&&c!=bd&&(c=-1),h=0),e+=a.H.Og,f++}function Wy(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 By(a,b,c){var d=[],e;for(e=null;e=Wb(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.od[h])){for(var p in m.fe)f=m.fe[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
|
|
|
|
|
function my(a,b){a.ba=a;a.ic=a.xl=1073741824;a.za=null;b=a.Dg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Rb)0<=Ha(b,c)&&(a.ic|=Rb[c],a.P(c+" messages enabled"));ly(a)}function zl(a,b,c){for(var d in Rb)if(b==Rb[d]){a.Ba[d]=c;break}}l.hh=function(a,b){var c;a=a.toUpperCase();null==b?c=Ha(Xy,a):(c=Ha(Xy,a.substr(b,3)),0>c&&(c=Ha(Xy,a.substr(b,2))));return c};
|
|
|
|
|
function Yy(a,b){var c=0,d=a.ih(b);if(null!=d)switch(b){case Zy:case $y:case az:case bz:case cz:case dz:case ez:case fz:c=2;break;case gz:case hz:case iz:case jz:case kz:case lz:case mz:case nz:case oz:case pz+qz:case pz+rz:case pz+sz:case pz+tz:case pz+uz:case pz+vz:c=4;break;case wz:case xz:case yz:case zz:case Az:case Bz:case Cz:case Dz:case Ez:case Fz:case Gz:case Hz:case Iz:c=8;break;case Jz:c=a.ta}return c?q(d,c):"??"}
|
|
|
|
|
l.ih=function(a){var b;if(0<=a){var c=this.H;switch(a){case Zy:b=c.D&255;break;case $y:b=c.I&255;break;case az:b=c.L&255;break;case bz:b=c.G&255;break;case cz:b=c.D>>8&255;break;case dz:b=c.I>>8&255;break;case ez:b=c.L>>8&255;break;case fz:b=c.G>>8&255;break;case gz:b=c.D&65535;break;case hz:b=c.I&65535;break;case iz:b=c.L&65535;break;case jz:b=c.G&65535;break;case kz:b=z(c)&65535;break;case lz:b=c.M&65535;break;case mz:b=c.K&65535;break;case nz:b=c.J&65535;break;case oz:b=A(c)&65535;break;case Jz:b=
|
|
|
|
|
qe(c);break;case pz+qz:b=c.oa.U;break;case pz+rz:b=c.Z.U;break;case pz+sz:b=c.Y.U;break;case pz+tz:b=c.Ca.U;break;default:if(80286==this.H.ca)a==Ez&&(b=c.qa);else if(80386<=this.H.ca)switch(a){case wz:b=c.D;break;case xz:b=c.I;break;case yz:b=c.L;break;case zz:b=c.G;break;case Az:b=z(c);break;case Bz:b=c.M;break;case Cz:b=c.K;break;case Dz:b=c.J;break;case Ez:b=c.qa;break;case Fz:b=c.Pg;break;case Gz:b=c.Dd;break;case Hz:b=c.Wc;break;case pz+uz:b=c.Ga.U;break;case pz+vz:b=c.Ha.U;break;case Iz:b=A(c)}}}return b};
|
|
|
|
|
function Kz(a,b){b=gy(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.hh(b,c+1),0<=e&&(b=b.substr(0,c)+Yy(a,e)+b.substr(c+1+Xy[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=Ry(a,e))?(d=e+' "'+xy(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=Ry(a,e))?(My(a,d),
|
|
|
|
|
d=e+' "'+xy(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Hy(jy(this,A(this.H),this.H.Z.U))+" (%"+q(this.H.da)+")");this.za&&a==this.za||(this.za=a,this.ic&-2147483648&&(this.Jb(),a+=" (cpu halted)"),this.P(a),this.H&&(a=this.H,a.zc-=a.A,a.A=0,a.T.We=0,Bd(a)))};
|
|
|
|
|
function Vk(a,b,c,d){var e,f;if(!d&&(d=t(a,1)&&0>Lz.indexOf(b),!d)){var g=Mz[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=Qb[b])&&g[e]||"")&&(g=" "+Kz(a,g)),a.message("INT "+r(b)+": AH="+r(e)+" at "+wy(c-2-a.H.Z.ua,a.H.Z.U)+g));return d}
|
|
|
|
|
function Mb(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.ce+"."+(null!=d?"outPort":"inPort")+"("+sa(c)+","+(f?f:"unknown")+(null!=d?","+r(d):"")+")"+(null!=g?": "+r(g):"")+(null!=e?" at "+wy(e,h):""))}l.jh=function(){this.P("Type ? for help with PCx86 Debugger commands");Nz(this);if(this.Ga){var a=this.Ga;this.Ga=null;ny(this,a)}};
|
|
|
|
|
function ly(a,b){var c;if(Ig(a)){if(!a.W||!a.W.length){a.W=Array(Oz);for(c=0;c<a.W.length;c++)a.W[c]=jy(a);a.oa=0;b||a.P("instruction history buffer allocated")}if(!a.L||!a.L.length)for(a.L=Array(256),c=0;c<a.L.length;c++)a.L[c]=[c,0]}else a.W&&a.W.length&&!b&&a.P("instruction history buffer freed"),a.oa=0,a.W=[],a.L=[]}function Pz(a,b){if(!Qz(a))return!1;a.H.Vf(b);return!0}
|
|
|
|
|
function Iy(a,b,c,d){if(!Qz(a))return!1;a.N=0;do{b||Ig(a)&&Lg(a,a.H.da,0);try{var e=a.H.Mg(b);0<e&&(a.N+=e,Gd(a.H,e,!0),Cd(a.H,e),a.Z++)}catch(g){if("number"!=typeof g){var f=g;a.N=0;Fb(a.H,f.stack||f.message)}}}while(a.H.N&3312);!1!==d&&Bd(a.H);Nz(a,c||!1);return 0<a.N}l.Jb=function(a){this.H&&this.H.Jb(a)};function Nz(a,b){void 0===b&&(b=!0);a.M=jy(a,A(a.H),a.H.Z.U);b&&1!=a.K?Rz(a):Sz(a)}
|
|
|
|
|
function Qz(a){var b;if(b=a.H&&Gb(a.H))b=a.H,b.ea.Yb?b=!0:(b.P(b.toString()+" not powered"),b=!1);b&&!Jb(a.H)?(a=a.H,a.ea.error?(a.P(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.P(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){ly(this);this.Z=this.la=0;this.za=null;this.N=0;this.M=jy(this,A(this.H),this.H.Z.U);this.ea.vb=!1;Tz(this);a||Nz(this)};
|
|
|
|
|
l.save=function(){var a=new Wf(this);a.set(0,Oy(this.M));a.set(1,Oy(this.da));a.set(2,[this.C,this.ga,this.ic]);a.set(3,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.M=Py(a[b++]),this.da=Py(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]);a[3]&&(this.F=a[3]);return!0};l.start=function(a,b){this.K||this.P("running");this.ea.vb=!0;this.hb=a;this.jd=b};
|
|
|
|
|
l.stop=function(a,b){if(this.ea.vb){this.ea.vb=!1;this.N=b-this.jd;if(!this.K){b="stopped";if(this.N){a-=this.hb;var c=0<a?Math.round(1E3*this.N/a):0;b+=" (";Ig(this)&&(b+=this.Z+" opcodes, ",this.la-=this.Z,this.Z=0);b+=this.N+" cycles, "+a+" ms, "+c+" hz)"}else t(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.P(b)}Nz(this,!0);this.md();Tz(this,this.H.da)}};function Ig(a){return 1<a.B.length||!!a.xa||t(a,16)}
|
|
|
|
|
function Lg(a,b,c){var d=a.H;if(0<c&&(a.xa&&!--a.xa||Uz(a,b,1,a.B)))return!0;0<=c&&a.L.length&&(a.Z++,b=xg(d,b),null!=b&&(a.L[b][1]++,Ny(a,a.W[a.oa],A(d),d.Z.U),++a.oa==a.W.length&&(a.oa=0)));return!1}function pd(a,b,c){return Uz(a,b,c||1,a.aa)?(a.Jb(!0),!0):!1}function rd(a,b,c){return Uz(a,b,c||1,a.O)?(a.Jb(!0),!0):!1}function Pc(a,b,c){a.P("break on input from port "+sa(b)+": "+q(c));a.Jb(!0)}function Tc(a,b,c){a.P("break on output to port "+sa(b)+": "+q(c));a.Jb(!0)}
|
|
|
|
|
function ky(a){var b,c;a.B=["bp"];if(a.aa)for(b=1;b<a.aa.length;b++)c=a.aa[b],kf(a.H,a.Sb(c),!1,c.type==Ly);a.aa=["br"];if(a.O)for(b=1;b<a.O.length;b++)c=a.O[b],kf(a.H,a.Sb(c),!0,c.type==Ly);a.O=["bw"];a.Da=0}
|
|
|
|
|
l.Hd=function(a,b,c){var d=!0;c||Gy(this,a,b,!1,!0);if(a!=this.B){var e=this.Sb(b);if(-1===e)this.P("invalid address: "+Hy(b)),d=!1;else{var f=this.H,g=b.type==Ly;(g?f.sc:f.aa)[e>>>f.hb].Hd(e&f.Db,a==this.O);g&&sc(f)}}d&&(a.push(b),c?(null!=b.ya&&(b.U=null),b.Kd=!0):(Vz(this,a,a.length-1,"set"),ly(this)));return d};
|
|
|
|
|
function Gy(a,b,c,d,e){for(var f=!1,g=Wz(a,a.Sb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==Wz(a,a.Sb(k))||-1===g&&c.U==k.U&&c.Ja==k.Ja)if(!d||k.Kd){f=!0;k.Kd||e||Vz(a,b,h,"cleared");b.splice(h,1);b!=a.B&&kf(a.H,g,b==a.O,k.type==Ly);k.Kd||ly(a);break}}return f}function Xz(a,b){for(var c=1;c<b.length;c++)Vz(a,b,c);return b.length-1}function Vz(a,b,c,d){c=b[c];a.P(b[0]+" "+Hy(c)+(d?" "+d:c.Zk?' "'+c.Zk+'"':""))}
|
|
|
|
|
function Tz(a,b){if(void 0!==b)Uz(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.Kd){if(!Gy(a,a.B,c,!0))break;b=0}}}function Wz(a,b){-1!==b&&(a=a.wa&-65536,(b&a)==a&&(b&=1048575));return b}
|
|
|
|
|
function Uz(a,b,c,d,e){var f=!1;if(!a.Da++){b=Wz(a,b);t(a,-2147483632)&&204==xg(a.H,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Kd){null!=h.U&&(h.ya=null);for(var k=Wz(a,a.Sb(h)),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.Kd&&(Gy(a,d,h,!0),e=!0);if(p=h.tl){for(var f=!1,v=0;v<p.length;v++)if(!Yz(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.ea.vb||(f=!0)}if(f){e||Vz(a,d,g,"hit");break}}}}}a.Da--;return f}
|
|
|
|
|
function Zz(a,b,c,d){for(var e=jy(a,b.Ja,b.U,b.ya,b.type),f=a.Ia(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.dc=!b.dc,m=!0),h++,f=a.Ia(b,1);var g=-1,p=$z,k=a.qa[f],m=k[0];m==aA&&(m=a.Ia(b,1),k=bA[m]||py,f|=m<<8,m=k[0]);if(m==cA){var g=a.Ia(b,1),v;v=null;var u=g>>3&7,E=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=E&&(E=u<<4|g&7);(u=dA[f])&&(v=u[E]);v&&(p=eA,k=v,m=k[0])}m>=p.length&&(g=a.Ia(b,1),k=fA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Hb&&(m==gA?
|
|
|
|
|
p="CWDE":m==hA?p="CDQ":m>=iA&&m<=jA&&(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,E=!0,G=1;G<=u;G++){var I,J;I="";J=k[G];if(void 0!==J){0>f&&(f=J>>kA);m==lA&&(f==mA?v="[%800]":f==nA&&(v="ES:["+(b.dc?"E":"")+"DI]"));var T=J&oA;if(T!=pA)if(T==qA)E=!1;else{var L=J&rA;if(L>=R)if(0>g&&(g=a.Ia(b,1)),L<sA){L=a;I=J;var ua=u;J=b;var ca="",xb=g>>6,za=g&7;if(3>xb){T=!p.indexOf("FI");if(!xb&&(!J.dc&&6==za||J.dc&&5==za))xb=2;else{if(J.dc)if(4!=za)za+=
|
|
|
|
|
8;else{var ca=L,cb=xb,Sa=J,rb=ca.Ia(Sa,1),db=rb>>6,rc=rb>>3&7,rb=rb&7,ib="";if(cb||5!=rb)ib=tA[rb+8];4!=rc&&(ib&&(ib+="+"),ib+=tA[rc+8],db&&(ib+="*"+(1<<db)));cb||5!=rb||(ib&&(ib+="+"),ib+=q(Dy(ca,Sa,4)));ca=ib}ca||(ca=tA[za])}1==xb?(L=L.Ia(J,1),ca=L&128?ca+("-"+q(-(L<<24>>24),2)):ca+("+"+q(L,2))):2==xb&&(ca&&(ca+="+"),J.dc?(L=Dy(L,J,4),ca+=q(L)):(L=L.Yc(J,2),ca+=q(L,4)));ca="["+ca+"]";if(1==ua){L="";I&=oA;I==S&&(I=J.Hb?uA:U);switch(I){case vA:L="FAR";break;case V:L="BYTE";break;case U:if(T){L="INT16";
|
|
|
|
|
break}L="WORD";break;case uA:L="DWORD";break;case wA:if(T){L="INT32";break}case xA:L="REAL32";break;case yA:if(T){L="INT64";break}case zA:L="REAL64";break;case AA:L="REAL80";break;case BA:L="BCD80"}L&&(ca=L+" "+ca)}}else ca=CA(L,za,I,J);I=ca}else I=L==sA?CA(a,g&7,J,b):CA(a,g>>3&7,J,b);else if(L==DA)I="1";else if(L==W){I=a;T=J;L=b;J=" ";switch(T&oA){case V:T&X&&(J=q(I.Ia(L,1),2));break;case EA:J=q(I.Ia(L,1)<<24>>24,L.Hb?8:4);break;case S:if(L.Hb){J=q(Dy(I,L,4));break}case U:J=q(I.Yc(L,2),4);break;
|
|
|
|
|
case vA:L=jy(I,I.jb(L,!0),I.Yc(L,2),null,L.type,L.Hb,L.dc);J=Hy(L);I=FA(I,L);I[0]&&(J+=" ("+I[0]+")");break;default:J="imm("+sa(T)+")"}I=J}else L==GA?(b.dc?(I=8,J=Dy(a,b,4)):(I=4,J=a.Yc(b,2)),I="["+q(J,I)+"]"):L==HA?(I=T==V?a.Ia(b,1)<<24>>24:a.jb(b,!0),J=b.Ja+I&(b.Hb?-1:65535),I=q(J,b.Hb?8:4),J=FA(a,jy(a,J,b.U)),J[0]&&(I+=" ("+J[0]+")")):L==Y?I=T==IA?"ST":T==JA?"ST("+(g&7)+")":CA(a,(J&KA)>>8,J,b):L==LA?I=CA(a,(J&KA)>>8,MA,b):L==NA?I="DS:[SI]":L==OA&&(I="ES:[DI]");if(!I||!I.length){v="INVALID";break}0<
|
|
|
|
|
v.length&&(v+=",");v+=I||"???"}}}g="";k=Hy(e)+" ";if(-1!==e.ya&&-1!==b.ya){do if(g+=q(a.Ia(e,1),2),null==e.ya)break;while(e.ya!=b.ya)}k+=Aa(g,e.dc?24:16);k+=Aa(p,8);v&&(k+=" "+v);a.H.ca<PA[f]&&(c=PA[f]+" CPU only");c&&E&&(k=Aa(k,e.dc?74:56)+";"+c,k=a.H.ea.Ie?k+("cycles="+Dd(a.H).toString()+" cs="+q(a.H.T.vf)):k+(null!=d?"="+d.toString():""));QA(b,E,h);return k}
|
|
|
|
|
function CA(a,b,c,d){var e=c&rA;if(e==MA){if(b>vz||b>=uz&&80386>a.H.ca)return"??";b+=pz}else if(e==RA)b+=Ez;else if(e==SA)b+=TA;else if(e==UA)b+=VA;else if(a=c&oA,a>=U&&(b<gz&&(b+=gz-Zy),a==uA||a==S&&d.Hb))b+=wz-gz;return Xy[b]}
|
|
|
|
|
function WA(a,b){switch(b){case "V":a=hg(a.H);break;case "D":a=a.H.O&1024;break;case "I":a=a.H.O&512;break;case "T":a=a.H.O&256;break;case "S":a=gg(a.H);break;case "Z":a=fg(a.H);break;case "A":a=eg(a.H);break;case "P":a=dg(a.H);break;case "C":a=cg(a.H);break;default:a=0}return b+(a?"1":"0")+" "}function vy(a){return q(a,a&-65536?8:4)}function XA(a,b){b>=gz&&b<=nz&&4<a.ta&&(b+=wz-gz);var c=Xy[b];b==Ez&&80286==a.H.ca&&(c="MS");return c+"="+Yy(a,b)+" "}
|
|
|
|
|
function YA(a,b,c){return b.$b+"="+q(b.U,4)+(c?"["+q(b.ua,a.ma)+","+vy(b.Ka)+"]":"")}function ZA(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.ma)+","+q(e-d,4)+"]"}
|
|
|
|
|
function $A(a,b){var c;void 0===b&&(b=Jy(a));c=XA(a,gz)+XA(a,jz)+XA(a,hz)+XA(a,iz)+(4<a.ta?"\n":"")+XA(a,kz)+XA(a,lz)+XA(a,mz)+XA(a,nz)+"\n"+YA(a,a.H.Y,b)+" "+YA(a,a.H.Ca,b)+" "+YA(a,a.H.oa,b)+" ";if(b){var d="TR="+q(a.H.la.U,4),e=a.ka,e="A20="+(e.J||e.N!=e.C?"OFF ":"ON ");80386>a.H.ca&&(d="\n"+d,c+=e,e="");c+="\n"+YA(a,a.H.Z,b)+" ";80386<=a.H.ca&&(e+="\n",c+=YA(a,a.H.Ga,b)+" "+YA(a,a.H.Ha,b)+"\n");c+=ZA(a,"LD",a.H.Eb.U,a.H.Eb.ua,a.H.Eb.ua+a.H.Eb.Ka)+" "+ZA(a,"GD",null,a.H.Kb,a.H.Pc)+" "+ZA(a,"ID",
|
|
|
|
|
null,a.H.Pb,a.H.cd)+" ";c=c+(d+" "+e)+XA(a,Ez);80386<=a.H.ca&&(c+=XA(a,Gz)+XA(a,Hz))}else 80386<=a.H.ca&&(c+=YA(a,a.H.Ga,b)+" "+YA(a,a.H.Ha,b)+" ");return c+=XA(a,Jz)+WA(a,"V")+WA(a,"D")+WA(a,"I")+WA(a,"T")+WA(a,"S")+WA(a,"Z")+WA(a,"A")+WA(a,"P")+WA(a,"C")}l.hj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
|
|
|
|
(b.J=a[0],ne(b,a[1]));break;case 72:Gy(this,null,e);break;case 80:32==c?By(this,ky(this,h,k),0,f,!0,!!this.Y):128>c?By(this,ky(this,h,k),e+1,c&64?g:f,!(c&1),!!this.Y):Dy(this,ky(this,h,k),!(c&1),!!this.Y),this.Y&&(b.D=b.D&-256|1)}return!this.Y};l.zl=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="",oy(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,Ya(c,function(){if(d.va){var a=d.va.value;
|
|
|
|
|
d.va.value="";oy(d,a,!0);return!0}return!1}),!0;case "step":return this.na[b]=c,Ya(c,function(a){var b=!1;Jb(d,!0)||(Kb(d,!0),b=Jy(d,a?1:0),Kb(d,!1));return b}),!0}return!1};l.md=function(){this.va&&this.va.focus()};function Ky(a){return!(!(a.H&&a.H.qa&1)||a.H.O&131072)}
|
|
|
|
|
function ty(a,b,c){var d=Ky(a)?uy:Ly;c||(c=d);if(c==d){if(b===a.H.Z.U)return a.H.Z;if(b===a.H.Ca.U)return a.H.Ca;if(b===a.H.oa.U)return a.H.oa;if(b===a.H.Y.U)return a.H.Y;if(80386<=a.H.ca){if(b===a.H.Ga.U)return a.H.Ga;if(b===a.H.Ha.U)return a.H.Ha}if(a.Da&&c==uy||!a.Ya)return null}a=a.Ya;if(c!=uy)a.nh(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.Kb,e=c.Pc);d=d+(b&65528)|0;if(e-d|0){e=xg(c,d+0,2);var f=xg(c,d+4,2),g=f&7936,h=xg(c,d+2,2)|(f&255)<<16,k=xg(c,
|
|
|
|
|
d+6,2);80386<=c.ca&&(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.lb=f;a.type=g;a.ext=k;a.Lb=d;Vd(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=ty(this,a.U,a.type);e&&(b=a.Ja||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.Ia=function(a,b){var c=255,d=this.Sb(a,!1,1);-1!==d&&(c=xg(this.H,d,1,a.type==My)|0,b&&Ny(this,a,b));return c};
|
|
|
|
|
l.jb=function(a,b){return a.Hb?Ey(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=xg(this.H,d,2,a.type==My)|0,b&&Ny(this,a,b));return c};function Ey(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=xg(a.H,e,4,b.type==My)|0,c&&Ny(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!=My)this.H.fc(e,b);else{var f=this.ka;f.aa[(e&f.C)>>>f.A].cf(e&f.D,b&255,e)}c&&Ny(this,a,c);d||Bd(this.H,!0)}};
|
|
|
|
|
l.jl=function(a,b,c){var d=this.Sb(a,!0,2);-1!==d&&(a.type!=My?this.H.fb(d,b):Jc(this.ka,d,b),c&&Ny(this,a,c),Bd(this.H,!0))};function ky(a,b,c,d,e,f,g){return Oy(a,{},b,c,d,e,f,g)}function Oy(a,b,c,d,e,f,g,h){b.Ja=c||0;b.U=d;b.ya=e;b.type=f||(Ky(a)?uy:Ly);b.Hb=null!=g?g:!(!a.H||4!=a.H.Z.V);b.dc=null!=h?h:!(!a.H||4!=a.H.Z.Jc);b.Kd=!1;return b}function Py(a){return[a.Ja,a.U,a.ya,a.Kd,a.Hb,a.dc,a.Ge,a.dh]}function Qy(a){return{Ja:a[0],U:a[1],ya:a[2],Kd:a[3],Hb:a[4],dc:a[5],Ge:a[6],dh:a[7]}}
|
|
|
|
|
function Ry(a,b,c){if(null!=b.U&&(a=ty(a,b.U,b.type))){var d=b.Ja&a.wa;if(!a.Oc){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ja=d,b.Hb=4==a.V,b.dc=4==a.Jc)}return!0}
|
|
|
|
|
function Sy(a,b,c,d){var e,f=c?a.M:a.Ma;c=d?Ty:f.type;var g=f.Ja,h=f.U,f=f.ya;if(void 0!==b){b=hy(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Ly;break;case "#":c=uy;break;case "%":c=Uy;e=b.charAt(1);"%"==e&&(c=My,e+=e);g=0;h=null;break;default:0<=f&&(c=Ty),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.Gd[m];if(void 0!==v){m=v.o;void 0!==m&&(k=v.s,void 0===k&&(k=e.U),k=ky(a,m,k,v.p));
|
|
|
|
|
break}}if(e=k)return e;0>f?null!=h?(g=fy(a,b,void 0),f=null):(f=fy(a,b,void 0),null==f&&(g=null)):(h=fy(a,b.substring(0,f),void 0),g=fy(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=ky(a,g,h,f,c),d||Ry(a,e,!0)||(a.P("invalid offset: "+Iy(e)),e=null));return e}function Vy(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.tl=a.Dg(b.Zk=c[2]))}l.Qk=function(a,b){var c=Sy(this,b);return a.replace("["+b+"]",c?q(this.jb(c),c.Hb?8:4):"undefined")};
|
|
|
|
|
function Ny(a,b,c){c=c||1;null!=b.ya&&(b.ya+=c);null!=b.U&&(b.Ja+=c,Ry(a,b)||(b.Ja=0,b.ya=null))}function xy(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function Iy(a){var b;switch(a.type){case Ly:case Wy:b="&";break;case uy:b="#";break;case Uy:b="%";break;case My:b="%%";break;default:b=a.U?"":"%"}return a.type>=Uy||null==a.U?b+q(a.ya):b+xy(a.Ja,a.U,a.dc)}
|
|
|
|
|
function yy(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Ia(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
|
|
|
|
|
function sy(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Sb(Sy(a,c));if(-1===e){a.P("invalid address: "+c);return}f=e>>>a.H.hb;g=1}a.P("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.P("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==bd&&(d=sd(a.H,e,!1,!0)),d.type==c?h++||a.P("..."):(c=d.type,h=tc[c],c==dd&&(d=d.qd,h+=" -> "+tc[d.type]),d&&a.P(q(d.id,8)+" %"+q(f<<a.H.hb,8)+" %%"+q(d.ya,8)+" "+sa(d.we)+" "+sa(d.size)+
|
|
|
|
|
" "+h),c!=ad&&c!=bd&&(c=-1),h=0),e+=a.H.Og,f++}function Xy(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 Cy(a,b,c){var d=[],e;for(e=null;e=Wb(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.od[h])){for(var p in m.fe)f=m.fe[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
|
|
|
|
|
function ny(a,b){a.ba=a;a.ic=a.xl=1073741824;a.za=null;b=a.Dg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Rb)0<=Ha(b,c)&&(a.ic|=Rb[c],a.P(c+" messages enabled"));my(a)}function zl(a,b,c){for(var d in Rb)if(b==Rb[d]){a.Ba[d]=c;break}}l.hh=function(a,b){var c;a=a.toUpperCase();null==b?c=Ha(Yy,a):(c=Ha(Yy,a.substr(b,3)),0>c&&(c=Ha(Yy,a.substr(b,2))));return c};
|
|
|
|
|
function Zy(a,b){var c=0,d=a.ih(b);if(null!=d)switch(b){case $y:case az:case bz:case cz:case dz:case ez:case fz:case gz:c=2;break;case hz:case iz:case jz:case kz:case lz:case mz:case nz:case oz:case pz:case qz+rz:case qz+sz:case qz+tz:case qz+uz:case qz+vz:case qz+wz:c=4;break;case xz:case yz:case zz:case Az:case Bz:case Cz:case Dz:case Ez:case Fz:case Gz:case Hz:case Iz:case Jz:c=8;break;case Kz:c=a.ta}return c?q(d,c):"??"}
|
|
|
|
|
l.ih=function(a){var b;if(0<=a){var c=this.H;switch(a){case $y:b=c.D&255;break;case az:b=c.I&255;break;case bz:b=c.L&255;break;case cz:b=c.G&255;break;case dz:b=c.D>>8&255;break;case ez:b=c.I>>8&255;break;case fz:b=c.L>>8&255;break;case gz:b=c.G>>8&255;break;case hz:b=c.D&65535;break;case iz:b=c.I&65535;break;case jz:b=c.L&65535;break;case kz:b=c.G&65535;break;case lz:b=z(c)&65535;break;case mz:b=c.M&65535;break;case nz:b=c.K&65535;break;case oz:b=c.J&65535;break;case pz:b=A(c)&65535;break;case Kz:b=
|
|
|
|
|
qe(c);break;case qz+rz:b=c.oa.U;break;case qz+sz:b=c.Z.U;break;case qz+tz:b=c.Y.U;break;case qz+uz:b=c.Ca.U;break;default:if(80286==this.H.ca)a==Fz&&(b=c.qa);else if(80386<=this.H.ca)switch(a){case xz:b=c.D;break;case yz:b=c.I;break;case zz:b=c.L;break;case Az:b=c.G;break;case Bz:b=z(c);break;case Cz:b=c.M;break;case Dz:b=c.K;break;case Ez:b=c.J;break;case Fz:b=c.qa;break;case Gz:b=c.Pg;break;case Hz:b=c.Dd;break;case Iz:b=c.Wc;break;case qz+vz:b=c.Ga.U;break;case qz+wz:b=c.Ha.U;break;case Jz:b=A(c)}}}return b};
|
|
|
|
|
function Lz(a,b){b=hy(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.hh(b,c+1),0<=e&&(b=b.substr(0,c)+Zy(a,e)+b.substr(c+1+Yy[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=Sy(a,e))?(d=e+' "'+yy(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=Sy(a,e))?(Ny(a,d),
|
|
|
|
|
d=e+' "'+yy(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Iy(ky(this,A(this.H),this.H.Z.U))+" (%"+q(this.H.da)+")");this.za&&a==this.za||(this.za=a,this.ic&-2147483648&&(this.Jb(),a+=" (cpu halted)"),this.P(a),this.H&&(a=this.H,a.zc-=a.A,a.A=0,a.T.We=0,Bd(a)))};
|
|
|
|
|
function Vk(a,b,c,d){var e,f;if(!d&&(d=t(a,1)&&0>Mz.indexOf(b),!d)){var g=Nz[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=Qb[b])&&g[e]||"")&&(g=" "+Lz(a,g)),a.message("INT "+r(b)+": AH="+r(e)+" at "+xy(c-2-a.H.Z.ua,a.H.Z.U)+g));return d}
|
|
|
|
|
function Mb(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.ce+"."+(null!=d?"outPort":"inPort")+"("+sa(c)+","+(f?f:"unknown")+(null!=d?","+r(d):"")+")"+(null!=g?": "+r(g):"")+(null!=e?" at "+xy(e,h):""))}l.jh=function(){this.P("Type ? for help with PCx86 Debugger commands");Oz(this);if(this.Ga){var a=this.Ga;this.Ga=null;oy(this,a)}};
|
|
|
|
|
function my(a,b){var c;if(Ig(a)){if(!a.W||!a.W.length){a.W=Array(Pz);for(c=0;c<a.W.length;c++)a.W[c]=ky(a);a.oa=0;b||a.P("instruction history buffer allocated")}if(!a.L||!a.L.length)for(a.L=Array(256),c=0;c<a.L.length;c++)a.L[c]=[c,0]}else a.W&&a.W.length&&!b&&a.P("instruction history buffer freed"),a.oa=0,a.W=[],a.L=[]}function Qz(a,b){if(!Rz(a))return!1;a.H.Vf(b);return!0}
|
|
|
|
|
function Jy(a,b,c,d){if(!Rz(a))return!1;a.N=0;do{b||Ig(a)&&Lg(a,a.H.da,0);try{var e=a.H.Mg(b);0<e&&(a.N+=e,Gd(a.H,e,!0),Cd(a.H,e),a.Z++)}catch(g){if("number"!=typeof g){var f=g;a.N=0;Fb(a.H,f.stack||f.message)}}}while(a.H.N&3312);!1!==d&&Bd(a.H);Oz(a,c||!1);return 0<a.N}l.Jb=function(a){this.H&&this.H.Jb(a)};function Oz(a,b){void 0===b&&(b=!0);a.M=ky(a,A(a.H),a.H.Z.U);b&&1!=a.K?Sz(a):Tz(a)}
|
|
|
|
|
function Rz(a){var b;if(b=a.H&&Gb(a.H))b=a.H,b.ea.Yb?b=!0:(b.P(b.toString()+" not powered"),b=!1);b&&!Jb(a.H)?(a=a.H,a.ea.error?(a.P(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.P(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){my(this);this.Z=this.la=0;this.za=null;this.N=0;this.M=ky(this,A(this.H),this.H.Z.U);this.ea.vb=!1;Uz(this);a||Oz(this)};
|
|
|
|
|
l.save=function(){var a=new Wf(this);a.set(0,Py(this.M));a.set(1,Py(this.da));a.set(2,[this.C,this.ga,this.ic]);a.set(3,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.M=Qy(a[b++]),this.da=Qy(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]);a[3]&&(this.F=a[3]);return!0};l.start=function(a,b){this.K||this.P("running");this.ea.vb=!0;this.hb=a;this.jd=b};
|
|
|
|
|
l.stop=function(a,b){if(this.ea.vb){this.ea.vb=!1;this.N=b-this.jd;if(!this.K){b="stopped";if(this.N){a-=this.hb;var c=0<a?Math.round(1E3*this.N/a):0;b+=" (";Ig(this)&&(b+=this.Z+" opcodes, ",this.la-=this.Z,this.Z=0);b+=this.N+" cycles, "+a+" ms, "+c+" hz)"}else t(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.P(b)}Oz(this,!0);this.md();Uz(this,this.H.da)}};function Ig(a){return 1<a.B.length||!!a.xa||t(a,16)}
|
|
|
|
|
function Lg(a,b,c){var d=a.H;if(0<c&&(a.xa&&!--a.xa||Vz(a,b,1,a.B)))return!0;0<=c&&a.L.length&&(a.Z++,b=xg(d,b),null!=b&&(a.L[b][1]++,Oy(a,a.W[a.oa],A(d),d.Z.U),++a.oa==a.W.length&&(a.oa=0)));return!1}function pd(a,b,c){return Vz(a,b,c||1,a.aa)?(a.Jb(!0),!0):!1}function rd(a,b,c){return Vz(a,b,c||1,a.O)?(a.Jb(!0),!0):!1}function Pc(a,b,c){a.P("break on input from port "+sa(b)+": "+q(c));a.Jb(!0)}function Tc(a,b,c){a.P("break on output to port "+sa(b)+": "+q(c));a.Jb(!0)}
|
|
|
|
|
function ly(a){var b,c;a.B=["bp"];if(a.aa)for(b=1;b<a.aa.length;b++)c=a.aa[b],kf(a.H,a.Sb(c),!1,c.type==My);a.aa=["br"];if(a.O)for(b=1;b<a.O.length;b++)c=a.O[b],kf(a.H,a.Sb(c),!0,c.type==My);a.O=["bw"];a.Da=0}
|
|
|
|
|
l.Hd=function(a,b,c){var d=!0;c||Hy(this,a,b,!1,!0);if(a!=this.B){var e=this.Sb(b);if(-1===e)this.P("invalid address: "+Iy(b)),d=!1;else{var f=this.H,g=b.type==My;(g?f.sc:f.aa)[e>>>f.hb].Hd(e&f.Db,a==this.O);g&&sc(f)}}d&&(a.push(b),c?(null!=b.ya&&(b.U=null),b.Kd=!0):(Wz(this,a,a.length-1,"set"),my(this)));return d};
|
|
|
|
|
function Hy(a,b,c,d,e){for(var f=!1,g=Xz(a,a.Sb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==Xz(a,a.Sb(k))||-1===g&&c.U==k.U&&c.Ja==k.Ja)if(!d||k.Kd){f=!0;k.Kd||e||Wz(a,b,h,"cleared");b.splice(h,1);b!=a.B&&kf(a.H,g,b==a.O,k.type==My);k.Kd||my(a);break}}return f}function Yz(a,b){for(var c=1;c<b.length;c++)Wz(a,b,c);return b.length-1}function Wz(a,b,c,d){c=b[c];a.P(b[0]+" "+Iy(c)+(d?" "+d:c.Zk?' "'+c.Zk+'"':""))}
|
|
|
|
|
function Uz(a,b){if(void 0!==b)Vz(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.Kd){if(!Hy(a,a.B,c,!0))break;b=0}}}function Xz(a,b){-1!==b&&(a=a.wa&-65536,(b&a)==a&&(b&=1048575));return b}
|
|
|
|
|
function Vz(a,b,c,d,e){var f=!1;if(!a.Da++){b=Xz(a,b);t(a,-2147483632)&&204==xg(a.H,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Kd){null!=h.U&&(h.ya=null);for(var k=Xz(a,a.Sb(h)),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.Kd&&(Hy(a,d,h,!0),e=!0);if(p=h.tl){for(var f=!1,v=0;v<p.length;v++)if(!Zz(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.ea.vb||(f=!0)}if(f){e||Wz(a,d,g,"hit");break}}}}}a.Da--;return f}
|
|
|
|
|
function $z(a,b,c,d){for(var e=ky(a,b.Ja,b.U,b.ya,b.type),f=a.Ia(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.dc=!b.dc,m=!0),h++,f=a.Ia(b,1);var g=-1,p=aA,k=a.qa[f],m=k[0];m==bA&&(m=a.Ia(b,1),k=cA[m]||qy,f|=m<<8,m=k[0]);if(m==dA){var g=a.Ia(b,1),v;v=null;var u=g>>3&7,E=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=E&&(E=u<<4|g&7);(u=eA[f])&&(v=u[E]);v&&(p=fA,k=v,m=k[0])}m>=p.length&&(g=a.Ia(b,1),k=gA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Hb&&(m==hA?
|
|
|
|
|
p="CWDE":m==iA?p="CDQ":m>=jA&&m<=kA&&(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,E=!0,G=1;G<=u;G++){var I,J;I="";J=k[G];if(void 0!==J){0>f&&(f=J>>lA);m==mA&&(f==nA?v="[%800]":f==oA&&(v="ES:["+(b.dc?"E":"")+"DI]"));var T=J&pA;if(T!=qA)if(T==rA)E=!1;else{var L=J&sA;if(L>=R)if(0>g&&(g=a.Ia(b,1)),L<tA){L=a;I=J;var ua=u;J=b;var ca="",xb=g>>6,za=g&7;if(3>xb){T=!p.indexOf("FI");if(!xb&&(!J.dc&&6==za||J.dc&&5==za))xb=2;else{if(J.dc)if(4!=za)za+=
|
|
|
|
|
8;else{var ca=L,cb=xb,Sa=J,rb=ca.Ia(Sa,1),db=rb>>6,rc=rb>>3&7,rb=rb&7,ib="";if(cb||5!=rb)ib=uA[rb+8];4!=rc&&(ib&&(ib+="+"),ib+=uA[rc+8],db&&(ib+="*"+(1<<db)));cb||5!=rb||(ib&&(ib+="+"),ib+=q(Ey(ca,Sa,4)));ca=ib}ca||(ca=uA[za])}1==xb?(L=L.Ia(J,1),ca=L&128?ca+("-"+q(-(L<<24>>24),2)):ca+("+"+q(L,2))):2==xb&&(ca&&(ca+="+"),J.dc?(L=Ey(L,J,4),ca+=q(L)):(L=L.Yc(J,2),ca+=q(L,4)));ca="["+ca+"]";if(1==ua){L="";I&=pA;I==S&&(I=J.Hb?vA:U);switch(I){case wA:L="FAR";break;case V:L="BYTE";break;case U:if(T){L="INT16";
|
|
|
|
|
break}L="WORD";break;case vA:L="DWORD";break;case xA:if(T){L="INT32";break}case yA:L="REAL32";break;case zA:if(T){L="INT64";break}case AA:L="REAL64";break;case BA:L="REAL80";break;case CA:L="BCD80"}L&&(ca=L+" "+ca)}}else ca=DA(L,za,I,J);I=ca}else I=L==tA?DA(a,g&7,J,b):DA(a,g>>3&7,J,b);else if(L==EA)I="1";else if(L==W){I=a;T=J;L=b;J=" ";switch(T&pA){case V:T&X&&(J=q(I.Ia(L,1),2));break;case FA:J=q(I.Ia(L,1)<<24>>24,L.Hb?8:4);break;case S:if(L.Hb){J=q(Ey(I,L,4));break}case U:J=q(I.Yc(L,2),4);break;
|
|
|
|
|
case wA:L=ky(I,I.jb(L,!0),I.Yc(L,2),null,L.type,L.Hb,L.dc);J=Iy(L);I=GA(I,L);I[0]&&(J+=" ("+I[0]+")");break;default:J="imm("+sa(T)+")"}I=J}else L==HA?(b.dc?(I=8,J=Ey(a,b,4)):(I=4,J=a.Yc(b,2)),I="["+q(J,I)+"]"):L==IA?(I=T==V?a.Ia(b,1)<<24>>24:a.jb(b,!0),J=b.Ja+I&(b.Hb?-1:65535),I=q(J,b.Hb?8:4),J=GA(a,ky(a,J,b.U)),J[0]&&(I+=" ("+J[0]+")")):L==Y?I=T==JA?"ST":T==KA?"ST("+(g&7)+")":DA(a,(J&LA)>>8,J,b):L==MA?I=DA(a,(J&LA)>>8,NA,b):L==OA?I="DS:[SI]":L==PA&&(I="ES:[DI]");if(!I||!I.length){v="INVALID";break}0<
|
|
|
|
|
v.length&&(v+=",");v+=I||"???"}}}g="";k=Iy(e)+" ";if(-1!==e.ya&&-1!==b.ya){do if(g+=q(a.Ia(e,1),2),null==e.ya)break;while(e.ya!=b.ya)}k+=Aa(g,e.dc?24:16);k+=Aa(p,8);v&&(k+=" "+v);a.H.ca<QA[f]&&(c=QA[f]+" CPU only");c&&E&&(k=Aa(k,e.dc?74:56)+";"+c,k=a.H.ea.Ie?k+("cycles="+Dd(a.H).toString()+" cs="+q(a.H.T.vf)):k+(null!=d?"="+d.toString():""));RA(b,E,h);return k}
|
|
|
|
|
function DA(a,b,c,d){var e=c&sA;if(e==NA){if(b>wz||b>=vz&&80386>a.H.ca)return"??";b+=qz}else if(e==SA)b+=Fz;else if(e==TA)b+=UA;else if(e==VA)b+=WA;else if(a=c&pA,a>=U&&(b<hz&&(b+=hz-$y),a==vA||a==S&&d.Hb))b+=xz-hz;return Yy[b]}
|
|
|
|
|
function XA(a,b){switch(b){case "V":a=hg(a.H);break;case "D":a=a.H.O&1024;break;case "I":a=a.H.O&512;break;case "T":a=a.H.O&256;break;case "S":a=gg(a.H);break;case "Z":a=fg(a.H);break;case "A":a=eg(a.H);break;case "P":a=dg(a.H);break;case "C":a=cg(a.H);break;default:a=0}return b+(a?"1":"0")+" "}function wy(a){return q(a,a&-65536?8:4)}function YA(a,b){b>=hz&&b<=oz&&4<a.ta&&(b+=xz-hz);var c=Yy[b];b==Fz&&80286==a.H.ca&&(c="MS");return c+"="+Zy(a,b)+" "}
|
|
|
|
|
function ZA(a,b,c){return b.$b+"="+q(b.U,4)+(c?"["+q(b.ua,a.ma)+","+wy(b.Ka)+"]":"")}function $A(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.ma)+","+q(e-d,4)+"]"}
|
|
|
|
|
function aB(a,b){var c;void 0===b&&(b=Ky(a));c=YA(a,hz)+YA(a,kz)+YA(a,iz)+YA(a,jz)+(4<a.ta?"\n":"")+YA(a,lz)+YA(a,mz)+YA(a,nz)+YA(a,oz)+"\n"+ZA(a,a.H.Y,b)+" "+ZA(a,a.H.Ca,b)+" "+ZA(a,a.H.oa,b)+" ";if(b){var d="TR="+q(a.H.la.U,4),e=a.ka,e="A20="+(e.J||e.N!=e.C?"OFF ":"ON ");80386>a.H.ca&&(d="\n"+d,c+=e,e="");c+="\n"+ZA(a,a.H.Z,b)+" ";80386<=a.H.ca&&(e+="\n",c+=ZA(a,a.H.Ga,b)+" "+ZA(a,a.H.Ha,b)+"\n");c+=$A(a,"LD",a.H.Eb.U,a.H.Eb.ua,a.H.Eb.ua+a.H.Eb.Ka)+" "+$A(a,"GD",null,a.H.Kb,a.H.Pc)+" "+$A(a,"ID",
|
|
|
|
|
null,a.H.Pb,a.H.cd)+" ";c=c+(d+" "+e)+YA(a,Fz);80386<=a.H.ca&&(c+=YA(a,Hz)+YA(a,Iz))}else 80386<=a.H.ca&&(c+=ZA(a,a.H.Ga,b)+" "+ZA(a,a.H.Ha,b)+" ");return c+=YA(a,Kz)+XA(a,"V")+XA(a,"D")+XA(a,"I")+XA(a,"T")+XA(a,"S")+XA(a,"Z")+XA(a,"A")+XA(a,"P")+XA(a,"C")}l.hj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
|
|
|
|
function $p(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,E=v.s,G=v.a;if(void 0!==u){void 0!==E&&(k.Ja=u,k.U=E,k.ya=null,a.Sb(k),(k.ya&-65536)==(a.ka.N&-65536)&&(k.ya&=1048575),v.p=k.ya);var E=m,u=[u>>>0,p],I=Da(E,u,a.hj);0>I&&E.splice(-(I+1),0,u)}G&&(v.a=G.replace(/''/g,'"'))}a.F.push({Sf:b,qn:c,U:d,Ja:e,ya:f,fn:g,Gd:h,Qi:m})}
|
|
|
|
|
function Fy(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.qn||!b&&c==e.U){a.F.splice(d,1);break}}}function FA(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Sb(b)>>>0,g=0;g<a.F.length;g++){var h=a.F[g],k=h.U,m=h.Ja>>>0,p=h.ya;null!=p&&(p>>>=0);var v=h.fn;48==k&&(k=40);if(k==b.U&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Da(h.Qi,[e],a.hj);0<=b?aB(a,g,b,d):c&&(b=~b,aB(a,g,b-1,d),aB(a,g,b,d));break}}!d.length&&(a=a.ka.xj(f,!0))&&(d.push(a),d.push(f));return d}
|
|
|
|
|
function aB(a,b,c,d){var e={},f=a.F[b].Qi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Gd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function bB(a){a.Je&&(a.Je.value="")}
|
|
|
|
|
function cB(a,b){if("?"==b)a.P("frequency commands:"),a.P("\tclear\tclear all frequency counts");else{var c=0;if(a.L)if("clear"==b){for(b=0;b<a.L.length;b++)a.L[b]=[b,0];a.P("frequency data cleared");c++}else if(void 0!==b)a.P("unknown frequency command: "+b),c++;else{var d=a.L.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.P(($z[a.qa[e][0]]+" ").substr(0,5)+" ("+r(e)+"): "+f+" times"),c++)}}c||a.P("no frequency data available")}}
|
|
|
|
|
function dB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return hy(a)||a.P("no variables"),!0;if(!c[2])return hy(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=ey(a,c[3]);return void 0!==b?(a.I[c[1]]={value:b,Ro:void 0},!0):!1}a.P("invalid assignment:"+b);return!1}
|
|
|
|
|
function eB(a,b,c){var d=null;if(b=Ry(a,b,!0)){a.Sb(b);var e=FA(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ja-e[1])&&(g=" + "+sa(f)),f=e[0]+" ("+wy(e[1],b.U)+")"+g,c&&a.P(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+sa(f)),f=e[4]+" ("+wy(e[5],b.U)+")"+g,c&&a.P(f),d||(d=f))}else c&&a.P("no symbols")}return d}
|
|
|
|
|
function fB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Ry(a,b[1]);if(g&&(d=Zx(a,b[2],"drive #"),void 0!==d)){if(!c){e=Zx(a,b[3],"sector #");if(void 0===e)return;f=Zx(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.eb;2<=d&&a.Ta&&(d-=2,h=a.Ta);if(h){var k=h.ij(d);if(k)if(k.sa)if(c)bB(a),a.P(k.sa.toJSON());else if(h.al(k,e,f)){var m=0,p=!1;for(b=Hy(g);!p&&0<k.ub--;)(function(a,b){h.te(k,function(c){0>c?(a.P("out of data at address "+Hy(b)),p=!0):(a.fc(b,c,1,!0),m++)})})(a,g);Bd(a.H,
|
|
|
|
|
function Gy(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.qn||!b&&c==e.U){a.F.splice(d,1);break}}}function GA(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Sb(b)>>>0,g=0;g<a.F.length;g++){var h=a.F[g],k=h.U,m=h.Ja>>>0,p=h.ya;null!=p&&(p>>>=0);var v=h.fn;48==k&&(k=40);if(k==b.U&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Da(h.Qi,[e],a.hj);0<=b?bB(a,g,b,d):c&&(b=~b,bB(a,g,b-1,d),bB(a,g,b,d));break}}!d.length&&(a=a.ka.xj(f,!0))&&(d.push(a),d.push(f));return d}
|
|
|
|
|
function bB(a,b,c,d){var e={},f=a.F[b].Qi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Gd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function cB(a){a.Je&&(a.Je.value="")}
|
|
|
|
|
function dB(a,b){if("?"==b)a.P("frequency commands:"),a.P("\tclear\tclear all frequency counts");else{var c=0;if(a.L)if("clear"==b){for(b=0;b<a.L.length;b++)a.L[b]=[b,0];a.P("frequency data cleared");c++}else if(void 0!==b)a.P("unknown frequency command: "+b),c++;else{var d=a.L.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.P((aA[a.qa[e][0]]+" ").substr(0,5)+" ("+r(e)+"): "+f+" times"),c++)}}c||a.P("no frequency data available")}}
|
|
|
|
|
function eB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return iy(a)||a.P("no variables"),!0;if(!c[2])return iy(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=fy(a,c[3]);return void 0!==b?(a.I[c[1]]={value:b,Ro:void 0},!0):!1}a.P("invalid assignment:"+b);return!1}
|
|
|
|
|
function fB(a,b,c){var d=null;if(b=Sy(a,b,!0)){a.Sb(b);var e=GA(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ja-e[1])&&(g=" + "+sa(f)),f=e[0]+" ("+xy(e[1],b.U)+")"+g,c&&a.P(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+sa(f)),f=e[4]+" ("+xy(e[5],b.U)+")"+g,c&&a.P(f),d||(d=f))}else c&&a.P("no symbols")}return d}
|
|
|
|
|
function gB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Sy(a,b[1]);if(g&&(d=$x(a,b[2],"drive #"),void 0!==d)){if(!c){e=$x(a,b[3],"sector #");if(void 0===e)return;f=$x(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.eb;2<=d&&a.Ta&&(d-=2,h=a.Ta);if(h){var k=h.ij(d);if(k)if(k.sa)if(c)cB(a),a.P(k.sa.toJSON());else if(h.al(k,e,f)){var m=0,p=!1;for(b=Iy(g);!p&&0<k.ub--;)(function(a,b){h.te(k,function(c){0>c?(a.P("out of data at address "+Iy(b)),p=!0):(a.fc(b,c,1,!0),m++)})})(a,g);Bd(a.H,
|
|
|
|
|
!0);a.P(m+" bytes read at "+b)}else a.P("sector "+e+" request out of range");else a.P("drive "+d+" not loaded");else a.P("invalid drive: "+d)}else a.P("disk controller not present")}}else a.P("load commands:"),a.P("\tl [address] [drive #] [sector #] [# sectors]")}
|
|
|
|
|
function Rz(a,b){var c;if(b&&"?"==b[1])a.P("register commands:"),a.P("\tr\tdump registers"),a.Tc&&a.P("\trfp\tdump floating-point registers"),a.P("\trp\tdump all registers"),a.P("\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=Og(c);b=c.Zb;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]=qh(g,h);e[2]=g.F[h];h<<=1;e[3]=g.L[h];e[4]=g.L[h+1];g=uh(g,e[3],e[4]);e[5]=g[0];e[6]=g[1];e[7]=g[2]}if(!e)break;
|
|
|
|
|
a.P("ST"+f+": "+Aa(e[2].toFixed(15),24,!0)+" "+q(e[4])+","+q(e[3])+" ["+e[0]+":"+gB[e[1]]+"]")}a.P(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.P("SW: "+qa(d,16)+" ("+sa(d)+") CW: "+qa(b,16)+" ("+sa(b)+")");return}if("p"==e)d=80286<=a.H.ca;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.P("missing value for "+b[1]);return}g=ey(a,b);if(void 0===g)return;f=!0;h=e.toUpperCase();"E"==h.charAt(0)&&4>=a.ta&&(h=null);switch(h){case "AL":a.H.D=
|
|
|
|
|
function Sz(a,b){var c;if(b&&"?"==b[1])a.P("register commands:"),a.P("\tr\tdump registers"),a.Tc&&a.P("\trfp\tdump floating-point registers"),a.P("\trp\tdump all registers"),a.P("\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=Og(c);b=c.Zb;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]=qh(g,h);e[2]=g.F[h];h<<=1;e[3]=g.L[h];e[4]=g.L[h+1];g=uh(g,e[3],e[4]);e[5]=g[0];e[6]=g[1];e[7]=g[2]}if(!e)break;
|
|
|
|
|
a.P("ST"+f+": "+Aa(e[2].toFixed(15),24,!0)+" "+q(e[4])+","+q(e[3])+" ["+e[0]+":"+hB[e[1]]+"]")}a.P(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.P("SW: "+qa(d,16)+" ("+sa(d)+") CW: "+qa(b,16)+" ("+sa(b)+")");return}if("p"==e)d=80286<=a.H.ca;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.P("missing value for "+b[1]);return}g=fy(a,b);if(void 0===g)return;f=!0;h=e.toUpperCase();"E"==h.charAt(0)&&4>=a.ta&&(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":ge(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":me(a.H,g);break;case "ES":ne(a.H,g);break;case "SS":fe(a.H,g);break;case "CS":Yf(a.H,g);a.M=jy(a,A(a.H),a.H.Z.U);break;case "IP":case "EIP":C(a.H,g);a.M=jy(a,A(a.H),a.H.Z.U);break;case "PC":case "PS":re(a.H,g);break;case "C":g?jg(a.H):kg(a.H);break;case "P":g?(e=a.H,e.resultType&=-3,e.O|=4):(e=a.H,e.resultType&=-3,e.O&=-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":me(a.H,g);break;case "ES":ne(a.H,g);break;case "SS":fe(a.H,g);break;case "CS":Yf(a.H,g);a.M=ky(a,A(a.H),a.H.Z.U);break;case "IP":case "EIP":C(a.H,g);a.M=ky(a,A(a.H),a.H.Z.U);break;case "PC":case "PS":re(a.H,g);break;case "C":g?jg(a.H):kg(a.H);break;case "P":g?(e=a.H,e.resultType&=-3,e.O|=4):(e=a.H,e.resultType&=-3,e.O&=-5);break;case "A":g?
|
|
|
|
|
rg(a.H):pg(a.H);break;case "Z":g?sg(a.H):qg(a.H);break;case "S":g?(e=a.H,e.resultType&=-17,e.O|=128):(e=a.H,e.resultType&=-17,e.O&=-129);break;case "I":g?(e=a.H,e.O|=512):(e=a.H,e.O&=-513);break;case "D":g?(e=a.H,e.O|=1024):(e=a.H,e.O&=-1025);break;case "V":g?lg(a.H):mg(a.H);break;default:var k=!0;if(80286<=a.H.ca)switch(k=!1,h){case "MS":tg(a.H,g);break;case "TR":-1===a.H.la.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.H.ca)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":ge(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.Ha.load(g);break;case "CR0":a.H.qa=g;ak.call(a.H,g);break;case "CR2":a.H.Dd=g;break;case "CR3":a.H.Wc=g;te.call(a.H,g);break;default:k=!0}}if(k){a.P("unknown register: "+e);return}}if(!f){a.P("invalid value: "+b);return}Bd(a.H);a.P("updated registers:")}}a.P($A(a,d));c&&(a.M=jy(a,A(a.H),a.H.Z.U),Sz(a,Hy(a.M)))}}
|
|
|
|
|
function hB(a,b){b=Ba(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.P(Kz(a,c[2])):ey(a,b,!1)}function iB(a,b,c){for(var d=null,e=b.Ja,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ja=e;b.ya=null;var h=Zz(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.Ja=f;return d}function jB(a,b,c){var d="t"!=b;c=Zx(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Xa(c,function(){return Kb(a,!0)&&Iy(a,e,d,!1)},function(){Bd(a.H);Kb(a,!1)})}
|
|
|
|
|
function QA(a,b,c){if(a.dh=b)null!=a.qj&&(a.Hb=a.qj),null!=a.pj&&(a.dc=a.pj),a.qj=a.Hb,a.pj=a.dc;a.Ge=c||0}
|
|
|
|
|
function Sz(a,b,c,d){if(b=Ry(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Ry(a,c,!0);if(!d||d.Ja<b.Ja)return;e=d.Ja-b.Ja;if(256<e){a.P("range too large");return}d=-1}c=0;var f;for(QA(b,!0);0<e&&d--;){f=Jb(a,!1)||a.K?a.N:null;var g=null!=f?"cycles":null,h=FA(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.P(m)}h[3]&&(g=h[3],f=null);f=Zz(a,b,g,f);b.dh||d||d++;a.P(f);a.M=b;e-=b.ya-k;c++}}}
|
|
|
|
|
g;break;case "EDX":a.H.L=g;break;case "ESP":ge(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.Ha.load(g);break;case "CR0":a.H.qa=g;ak.call(a.H,g);break;case "CR2":a.H.Dd=g;break;case "CR3":a.H.Wc=g;te.call(a.H,g);break;default:k=!0}}if(k){a.P("unknown register: "+e);return}}if(!f){a.P("invalid value: "+b);return}Bd(a.H);a.P("updated registers:")}}a.P(aB(a,d));c&&(a.M=ky(a,A(a.H),a.H.Z.U),Tz(a,Iy(a.M)))}}
|
|
|
|
|
function iB(a,b){b=Ba(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.P(Lz(a,c[2])):fy(a,b,!1)}function jB(a,b,c){for(var d=null,e=b.Ja,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ja=e;b.ya=null;var h=$z(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.Ja=f;return d}function kB(a,b,c){var d="t"!=b;c=$x(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Xa(c,function(){return Kb(a,!0)&&Jy(a,e,d,!1)},function(){Bd(a.H);Kb(a,!1)})}
|
|
|
|
|
function RA(a,b,c){if(a.dh=b)null!=a.qj&&(a.Hb=a.qj),null!=a.pj&&(a.dc=a.pj),a.qj=a.Hb,a.pj=a.dc;a.Ge=c||0}
|
|
|
|
|
function Tz(a,b,c,d){if(b=Sy(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Sy(a,c,!0);if(!d||d.Ja<b.Ja)return;e=d.Ja-b.Ja;if(256<e){a.P("range too large");return}d=-1}c=0;var f;for(RA(b,!0);0<e&&d--;){f=Jb(a,!1)||a.K?a.N:null;var g=null!=f?"cycles":null,h=GA(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.P(m)}h[3]&&(g=h[3],f=null);f=$z(a,b,g,f);b.dh||d||d++;a.P(f);a.M=b;e-=b.ya-k;c++}}}
|
|
|
|
|
l.Dg=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(Ba(a.substring(d,f))),d=f+1}}return b};
|
|
|
|
|
function Yz(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.ga&&(a.P("ended assemble at "+Hy(a.da)),a.M=a.da,a.ga=!1),b="";else if(!c){var e=">> ";a.H.qa&1&&(e=a.H.O&131072?"-- ":"## ");a.P(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(Gb(a)&&0<b.length){a.ga&&(b="a "+Hy(a.da)+" "+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=
|
|
|
|
|
Ry(a,g[1],!0);if(v)if(a.da=v,void 0===g[2])a.P("begin assemble at "+Hy(v)),a.ga=!0,Bd(a.H);else{var u;a.P("not supported yet");u=[];if(u.length){for(var E=0;E<u.length;E++)a.fc(v,u[E],1);a.P(Zz(a,a.da))}}break;case "b":a:{var G=g[0],I=g[1],J=b;if("?"==I)a.P("breakpoint commands:"),a.P("\tbi [p]\ttoggle break on input port [p]"),a.P("\tbo [p]\ttoggle break on output port [p]"),a.P("\tbp [a]\tset exec breakpoint at addr [a]"),a.P("\tbr [a]\tset read breakpoint at addr [a]"),a.P("\tbw [a]\tset write breakpoint at addr [a]"),
|
|
|
|
|
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=G.charAt(1);if("l"==T){var L;L=0+Xz(a,a.B);L+=Xz(a,a.aa);(L+=Xz(a,a.O))||a.P("no breakpoints")}else if("n"==T)a.xa=Zx(a,I),a.P("break after "+a.xa+" instruction(s)");else if(void 0===I)a.P("missing breakpoint address");else{var ua={};if("*"!=I&&(ua=Ry(a,I,!0,!0),!ua))break a;I=null==ua.Ja?I:sa(ua.Ja);"c"==T?null==ua.Ja?(ky(a),a.P("all breakpoints cleared")):Gy(a,
|
|
|
|
|
a.B,ua)||Gy(a,a.aa,ua)||Gy(a,a.O,ua)||a.P("breakpoint missing: "+Hy(ua)):"i"==T?a.P("breakpoint "+(Mc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (input)"):"o"==T?a.P("breakpoint "+(Qc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (output)"):null!=ua.Ja&&(Uy(a,ua,J),"p"==T?a.Hd(a.B,ua):"r"==T?a.Hd(a.aa,ua):"w"==T?a.Hd(a.O,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":bB(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Rb)a.Ba[xb]&&
|
|
|
|
|
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=kB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
|
|
|
|
(bB(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.F.length;ib++){var df=a.F[ib],Ld;for(Ld in df.Gd)if("."!=Ld.charAt(0)){var ef=df.Gd[Ld],vg=ef.o;if(void 0!==vg){var ff=ef.s;void 0===ff&&(ff=df.U);var wg=df.Gd[Ld].l;wg&&(Ld=wg);a.P(wy(vg,ff)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Qg=a.Sb(Ry(a,qm));if(-1===Qg)a.P("invalid address: "+qm);else{var pf,
|
|
|
|
|
Qa=null;if(80386<=a.H.ca){var qf=a.ka,Qa={};Qa.Kk=(Qg&-4194304)>>>20;Qa.Ui=a.H.Wc+Qa.Kk;Qa.nb=qf.aa[(Qa.Ui&qf.C)>>>qf.A];Qa.Bj=Qa.nb.Od(Qa.Kk);Qa.Lk=(Qg&4190208)>>>10;Qa.Vi=(Qa.Bj&-4096)+Qa.Lk;Qa.ob=qf.aa[(Qa.Vi&qf.C)>>>qf.A];Qa.Cj=Qa.ob.Od(Qa.Lk);Qa.vl=(Qa.Cj&-4096)+(Qg&4095)}if(pf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var we="%"+q(Qg),we=we+(" %%"+Wy(pf.Ui,pf.Bj)),we=
|
|
|
|
|
we+(" %%"+Wy(pf.Vi,pf.Cj,!0)),we=we+(" %%"+q(pf.vl));a.P(we)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";fB(a,ca);break a}for(xb in Rb)if(ca[1]==xb){var wt=a.Ba[xb];wt?(ca.shift(),ca.shift(),wt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var xt=cb,yt=Sa,zt="",At=0,Lc=a.oa,jd=a.W;if(jd.length){var vc=+xt||a.Xa,Rg=+yt||10;isNaN(vc)?vc=Rg:zt="more ";vc>jd.length&&(a.P("note: only "+
|
|
|
|
|
jd.length+" available"),vc=jd.length);Lc-=vc;0>Lc&&(null==jd[jd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=jd.length);var rm=[];"call"==yt&&(Rg=1E5,rm=["CALL"]);for(void 0!==xt&&a.P(vc+" instructions earlier:");0<Rg&&Lc!=a.oa;){var xe=jd[Lc++];if(null==xe.U)break;var Sg=jy(a,xe.Ja,xe.U,xe.ya,xe.type,xe.Hb,xe.dc),aC=vc--,Bt=Zz(a,Sg,"history",aC);(!rm.length||0<=Bt.indexOf(rm[0]))&&a.P(Bt);Sg.Ge&&(Lc+=Sg.Ge,Rg-=Sg.Ge,vc-=Sg.Ge);Lc>=jd.length&&(Lc=0);a.Xa=vc;At++;Rg--}}At||(a.P("no "+zt+"history available"),a.Xa=
|
|
|
|
|
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Tg=Zx(a,sm);if(void 0===Tg||0>Tg||255<Tg)a.P("invalid vector: "+sm);else{var Ct="&",Dt=!!(a.H.qa&1),Et=!1,Wi=a.H.Pb+(Tg<<(Dt?3:2)),Ft=a.H.ja(Wi+0),bC=a.H.ja(Wi+2);Dt&&(Ct="#",a.H.ja(Wi+4)&2048&&(Et=!0,Ft|=a.H.ja(Wi+6)<<16));a.P("dumpIDT("+sa(Tg)+"): "+Ct+q(bC,4)+":"+q(Ft,Et?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var rf=Ry(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var Xi=0;Sa&&("l"==Sa.charAt(0)&&
|
|
|
|
|
(Sa=Sa.substr(1)||rb),Xi=Zx(a,Sa)>>>0,65536<Xi&&(Xi=65536));for(var Ug="",sf="dd"==za?4:"dw"==za?2:1,Yi=sf*Xi||128,cC=Yi+15>>4||1;cC--&&0<Yi;){var Vg=0,tm=0,Wg,um="",Gt="",cb=Hy(rf);for(Wg=4==sf?16:a.D;0<Wg&&0<Yi;Wg--){var Zi=a.Ia(rf,1),Vg=Vg|Zi<<(tm++<<3);tm==sf&&(um+=8==a.D?ra(Vg,3*sf):q(Vg,2*sf),um+=1==sf?9==Wg?"-":" ":" ",Vg=tm=0);Gt+=32<=Zi&&128>Zi?String.fromCharCode(Zi):".";Yi--}Ug&&(Ug+="\n");Ug+=cb+" "+um+(Wg?"":" "+Gt)}Ug&&a.P(Ug);a.Ma=rf}}}}}break;case "e":if("else"==g[0])break;var $i=
|
|
|
|
|
1,Ht=255,It=a.Ia,Jt=a.fc;"ew"==g[0]&&($i=2,Ht=65535,It=a.Yc,Jt=a.jl);var Kt=$i<<1,Lt=g[1];if(null==Lt)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var aj=Ry(a,Lt);if(aj)for(var bj=2;bj<g.length;bj++){var Xg=ey(a,g[bj]);if(void 0===Xg){a.P("unrecognized value: "+g[bj]);break}Xg&~Ht&&a.P("warning: "+q(Xg)+" exceeds "+$i+"-byte value");var dC=It.call(a,aj);a.P("changing "+Hy(aj)+" from "+q(dC,Kt,!0)+" to "+q(Xg,Kt,!0));
|
|
|
|
|
Jt.call(a,aj,Xg,$i)}}break;case "f":cB(a,g[1]);break;case "g":a:{var Mt=g[1],eC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Mt){var vm=Ry(a,Mt,!0);if(!vm)break a;Uy(a,vm,eC);a.Hd(a.B,vm,!0)}Pz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.vb)wm="halting",a.Jb();else{if(Jb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Yg=b.substr(2),Yg=Ba(Yg);ey(a,Yg)?(c||a.P("true: "+Yg),xm=!0):(c||a.P("false: "+Yg),xm=!1);xm||(d=!1);
|
|
|
|
|
break}if("int"==g[0]){var cj;a:switch(Zx(a,g[1])){case 19:Vk(a,19,a.H.da,!0);a.la=a.Z;cj=!0;break a;case 33:Vk(a,33,a.H.da,!0);a.la=a.Z;cj=!0;break a;default:cj=!1}cj||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=Zx(a,ym);if(void 0!==zm){var fC=Oc(a.ka,zm,1);a.P(sa(zm)+": "+r(fC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var gC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
|
|
|
|
a.P("\tks\tshow symbol information");else{var Am=0,Nt=a.H.Z.U,Zg=jy(a),Td=jy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Hy(Td));10>Am;){for(var kd=null,hC=256;Td.Ja>>>0<a.H.dg>>>0;){Zg.Ja=a.jb(Td,!0);if(null==Td.ya||!hC--)break;Zg.U=Nt;if(kd=iB(a,Zg))break;Zg.U=a.jb(Td);if(kd=iB(a,Zg,!0)){Nt=a.jb(Td,!0);0<kd.indexOf("INT")&&a.jb(Td,!0);break}}if(!kd||null==kd)break;var Ot=null;if("ks"==gC){var Pt=kd.match(/[0-9A-F]+$/);Pt&&(Ot=eB(a,Pt[0]))}kd=Aa(kd,50)+" ;"+(Ot||"stack="+Hy(Td));a.P(kd);Am++}Am||
|
|
|
|
|
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){eB(a,g[1],!0);break}fB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],dj=g[2];if(a.G){var Qt=1;"-"==dj.charAt(0)&&(Qt=-1,dj=dj.substr(1));var ye=Zx(a,dj,Bm);if(void 0!==ye)switch(ye=ye*Qt|0,Bm){case "x":a.G.uf(ye,0);break;case "y":a.G.uf(0,ye);break;case "click":a.G.Wd(ye,!0);a.G.Wd(ye,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ze=0;if("all"==
|
|
|
|
|
fb)ze=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Rb)if(fb==ld){ze=Rb[ld];md=!!(a.ic&ze);break}if(!ze){a.P("unknown message category: "+fb);break a}}ze&&("on"==g[2]?(a.ic|=ze,md=!0):"off"==g[2]&&(a.ic&=~ze,md=!1))}var iC=0,$g="";for(ld in Rb)if(!fb||fb==ld){var jC=!!(a.ic&Rb[ld]);if(null===md||md==jC)$g&&($g+=","),++iC%10||($g+="\n\t"),"key"==ld&&(ld="keys"),$g+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
|
|
|
|
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+($g||"none"));ly(a)}break;case "o":var Cm=g[1],kC=g[2];if(Cm&&"?"!=Cm){var Dm=Zx(a,Cm,"port #"),Em=Zx(a,kC);void 0!==Dm&&void 0!==Em&&(Sc(a.ka,Dm,1,Em),a.P(sa(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){hB(a,b.substr(5));break}var Rt="pr"==g[0]?1:0,tf=1+Rt;if(a.K)a.P("step in progress");
|
|
|
|
|
else{var ej,St=!1,Hb=jy(a,A(a.H),a.H.Z.U);do switch(ej=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:My(a,Hb,1);ej=!0;break;case 204:case 206:a.K=tf;My(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=tf;My(a,Hb,Hb.Hb?4:2);break;case 232:a.K=tf;My(a,Hb,Hb.Hb?5:3);break;case 154:a.K=tf;My(a,Hb,Hb.Hb?7:5);break;case 255:var Tt=a.jb(Hb)&14591;if(4351==Tt||6399==Tt)a.K=tf,Zz(a,Hb);break;case 243:case 242:My(a,Hb,1);St=ej=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:St&&
|
|
|
|
|
(a.K=tf,My(a,Hb,1))}while(ej);a.K?(a.Hd(a.B,Hb,!0),Pz(a)||(a.pa&&a.pa.md(),a.K=0)):jB(a,Rt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Rz(a,g);break;case "t":jB(a,g[0],g[1]);break;case "u":Sz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){dB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.35.0 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Nb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Ma());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var ah;void 0!==g[3]&&(ah=+g[3]);
|
|
|
|
|
function Zz(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.ga&&(a.P("ended assemble at "+Iy(a.da)),a.M=a.da,a.ga=!1),b="";else if(!c){var e=">> ";a.H.qa&1&&(e=a.H.O&131072?"-- ":"## ");a.P(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(Gb(a)&&0<b.length){a.ga&&(b="a "+Iy(a.da)+" "+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=
|
|
|
|
|
Sy(a,g[1],!0);if(v)if(a.da=v,void 0===g[2])a.P("begin assemble at "+Iy(v)),a.ga=!0,Bd(a.H);else{var u;a.P("not supported yet");u=[];if(u.length){for(var E=0;E<u.length;E++)a.fc(v,u[E],1);a.P($z(a,a.da))}}break;case "b":a:{var G=g[0],I=g[1],J=b;if("?"==I)a.P("breakpoint commands:"),a.P("\tbi [p]\ttoggle break on input port [p]"),a.P("\tbo [p]\ttoggle break on output port [p]"),a.P("\tbp [a]\tset exec breakpoint at addr [a]"),a.P("\tbr [a]\tset read breakpoint at addr [a]"),a.P("\tbw [a]\tset write breakpoint at addr [a]"),
|
|
|
|
|
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=G.charAt(1);if("l"==T){var L;L=0+Yz(a,a.B);L+=Yz(a,a.aa);(L+=Yz(a,a.O))||a.P("no breakpoints")}else if("n"==T)a.xa=$x(a,I),a.P("break after "+a.xa+" instruction(s)");else if(void 0===I)a.P("missing breakpoint address");else{var ua={};if("*"!=I&&(ua=Sy(a,I,!0,!0),!ua))break a;I=null==ua.Ja?I:sa(ua.Ja);"c"==T?null==ua.Ja?(ly(a),a.P("all breakpoints cleared")):Hy(a,
|
|
|
|
|
a.B,ua)||Hy(a,a.aa,ua)||Hy(a,a.O,ua)||a.P("breakpoint missing: "+Iy(ua)):"i"==T?a.P("breakpoint "+(Mc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (input)"):"o"==T?a.P("breakpoint "+(Qc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (output)"):null!=ua.Ja&&(Vy(a,ua,J),"p"==T?a.Hd(a.B,ua):"r"==T?a.Hd(a.aa,ua):"w"==T?a.Hd(a.O,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":cB(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Rb)a.Ba[xb]&&
|
|
|
|
|
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=lB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
|
|
|
|
(cB(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.F.length;ib++){var df=a.F[ib],Ld;for(Ld in df.Gd)if("."!=Ld.charAt(0)){var ef=df.Gd[Ld],vg=ef.o;if(void 0!==vg){var ff=ef.s;void 0===ff&&(ff=df.U);var wg=df.Gd[Ld].l;wg&&(Ld=wg);a.P(xy(vg,ff)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Qg=a.Sb(Sy(a,qm));if(-1===Qg)a.P("invalid address: "+qm);else{var pf,
|
|
|
|
|
Qa=null;if(80386<=a.H.ca){var qf=a.ka,Qa={};Qa.Kk=(Qg&-4194304)>>>20;Qa.Ui=a.H.Wc+Qa.Kk;Qa.nb=qf.aa[(Qa.Ui&qf.C)>>>qf.A];Qa.Bj=Qa.nb.Od(Qa.Kk);Qa.Lk=(Qg&4190208)>>>10;Qa.Vi=(Qa.Bj&-4096)+Qa.Lk;Qa.ob=qf.aa[(Qa.Vi&qf.C)>>>qf.A];Qa.Cj=Qa.ob.Od(Qa.Lk);Qa.vl=(Qa.Cj&-4096)+(Qg&4095)}if(pf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var we="%"+q(Qg),we=we+(" %%"+Xy(pf.Ui,pf.Bj)),we=
|
|
|
|
|
we+(" %%"+Xy(pf.Vi,pf.Cj,!0)),we=we+(" %%"+q(pf.vl));a.P(we)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";gB(a,ca);break a}for(xb in Rb)if(ca[1]==xb){var xt=a.Ba[xb];xt?(ca.shift(),ca.shift(),xt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var yt=cb,zt=Sa,At="",Bt=0,Lc=a.oa,jd=a.W;if(jd.length){var vc=+yt||a.Xa,Rg=+zt||10;isNaN(vc)?vc=Rg:At="more ";vc>jd.length&&(a.P("note: only "+
|
|
|
|
|
jd.length+" available"),vc=jd.length);Lc-=vc;0>Lc&&(null==jd[jd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=jd.length);var rm=[];"call"==zt&&(Rg=1E5,rm=["CALL"]);for(void 0!==yt&&a.P(vc+" instructions earlier:");0<Rg&&Lc!=a.oa;){var xe=jd[Lc++];if(null==xe.U)break;var Sg=ky(a,xe.Ja,xe.U,xe.ya,xe.type,xe.Hb,xe.dc),bC=vc--,Ct=$z(a,Sg,"history",bC);(!rm.length||0<=Ct.indexOf(rm[0]))&&a.P(Ct);Sg.Ge&&(Lc+=Sg.Ge,Rg-=Sg.Ge,vc-=Sg.Ge);Lc>=jd.length&&(Lc=0);a.Xa=vc;Bt++;Rg--}}Bt||(a.P("no "+At+"history available"),a.Xa=
|
|
|
|
|
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Tg=$x(a,sm);if(void 0===Tg||0>Tg||255<Tg)a.P("invalid vector: "+sm);else{var Dt="&",Et=!!(a.H.qa&1),Ft=!1,Wi=a.H.Pb+(Tg<<(Et?3:2)),Gt=a.H.ja(Wi+0),cC=a.H.ja(Wi+2);Et&&(Dt="#",a.H.ja(Wi+4)&2048&&(Ft=!0,Gt|=a.H.ja(Wi+6)<<16));a.P("dumpIDT("+sa(Tg)+"): "+Dt+q(cC,4)+":"+q(Gt,Ft?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var rf=Sy(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var Xi=0;Sa&&("l"==Sa.charAt(0)&&
|
|
|
|
|
(Sa=Sa.substr(1)||rb),Xi=$x(a,Sa)>>>0,65536<Xi&&(Xi=65536));for(var Ug="",sf="dd"==za?4:"dw"==za?2:1,Yi=sf*Xi||128,dC=Yi+15>>4||1;dC--&&0<Yi;){var Vg=0,tm=0,Wg,um="",Ht="",cb=Iy(rf);for(Wg=4==sf?16:a.D;0<Wg&&0<Yi;Wg--){var Zi=a.Ia(rf,1),Vg=Vg|Zi<<(tm++<<3);tm==sf&&(um+=8==a.D?ra(Vg,3*sf):q(Vg,2*sf),um+=1==sf?9==Wg?"-":" ":" ",Vg=tm=0);Ht+=32<=Zi&&128>Zi?String.fromCharCode(Zi):".";Yi--}Ug&&(Ug+="\n");Ug+=cb+" "+um+(Wg?"":" "+Ht)}Ug&&a.P(Ug);a.Ma=rf}}}}}break;case "e":if("else"==g[0])break;var $i=
|
|
|
|
|
1,It=255,Jt=a.Ia,Kt=a.fc;"ew"==g[0]&&($i=2,It=65535,Jt=a.Yc,Kt=a.jl);var Lt=$i<<1,Mt=g[1];if(null==Mt)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var aj=Sy(a,Mt);if(aj)for(var bj=2;bj<g.length;bj++){var Xg=fy(a,g[bj]);if(void 0===Xg){a.P("unrecognized value: "+g[bj]);break}Xg&~It&&a.P("warning: "+q(Xg)+" exceeds "+$i+"-byte value");var eC=Jt.call(a,aj);a.P("changing "+Iy(aj)+" from "+q(eC,Lt,!0)+" to "+q(Xg,Lt,!0));
|
|
|
|
|
Kt.call(a,aj,Xg,$i)}}break;case "f":dB(a,g[1]);break;case "g":a:{var Nt=g[1],fC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Nt){var vm=Sy(a,Nt,!0);if(!vm)break a;Vy(a,vm,fC);a.Hd(a.B,vm,!0)}Qz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.vb)wm="halting",a.Jb();else{if(Jb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Yg=b.substr(2),Yg=Ba(Yg);fy(a,Yg)?(c||a.P("true: "+Yg),xm=!0):(c||a.P("false: "+Yg),xm=!1);xm||(d=!1);
|
|
|
|
|
break}if("int"==g[0]){var cj;a:switch($x(a,g[1])){case 19:Vk(a,19,a.H.da,!0);a.la=a.Z;cj=!0;break a;case 33:Vk(a,33,a.H.da,!0);a.la=a.Z;cj=!0;break a;default:cj=!1}cj||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=$x(a,ym);if(void 0!==zm){var gC=Oc(a.ka,zm,1);a.P(sa(zm)+": "+r(gC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var hC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
|
|
|
|
a.P("\tks\tshow symbol information");else{var Am=0,Ot=a.H.Z.U,Zg=ky(a),Td=ky(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Iy(Td));10>Am;){for(var kd=null,iC=256;Td.Ja>>>0<a.H.dg>>>0;){Zg.Ja=a.jb(Td,!0);if(null==Td.ya||!iC--)break;Zg.U=Ot;if(kd=jB(a,Zg))break;Zg.U=a.jb(Td);if(kd=jB(a,Zg,!0)){Ot=a.jb(Td,!0);0<kd.indexOf("INT")&&a.jb(Td,!0);break}}if(!kd||null==kd)break;var Pt=null;if("ks"==hC){var Qt=kd.match(/[0-9A-F]+$/);Qt&&(Pt=fB(a,Qt[0]))}kd=Aa(kd,50)+" ;"+(Pt||"stack="+Iy(Td));a.P(kd);Am++}Am||
|
|
|
|
|
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){fB(a,g[1],!0);break}gB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],dj=g[2];if(a.G){var Rt=1;"-"==dj.charAt(0)&&(Rt=-1,dj=dj.substr(1));var ye=$x(a,dj,Bm);if(void 0!==ye)switch(ye=ye*Rt|0,Bm){case "x":a.G.uf(ye,0);break;case "y":a.G.uf(0,ye);break;case "click":a.G.Wd(ye,!0);a.G.Wd(ye,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ze=0;if("all"==
|
|
|
|
|
fb)ze=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Rb)if(fb==ld){ze=Rb[ld];md=!!(a.ic&ze);break}if(!ze){a.P("unknown message category: "+fb);break a}}ze&&("on"==g[2]?(a.ic|=ze,md=!0):"off"==g[2]&&(a.ic&=~ze,md=!1))}var jC=0,$g="";for(ld in Rb)if(!fb||fb==ld){var kC=!!(a.ic&Rb[ld]);if(null===md||md==kC)$g&&($g+=","),++jC%10||($g+="\n\t"),"key"==ld&&(ld="keys"),$g+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
|
|
|
|
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+($g||"none"));my(a)}break;case "o":var Cm=g[1],lC=g[2];if(Cm&&"?"!=Cm){var Dm=$x(a,Cm,"port #"),Em=$x(a,lC);void 0!==Dm&&void 0!==Em&&(Sc(a.ka,Dm,1,Em),a.P(sa(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){iB(a,b.substr(5));break}var St="pr"==g[0]?1:0,tf=1+St;if(a.K)a.P("step in progress");
|
|
|
|
|
else{var ej,Tt=!1,Hb=ky(a,A(a.H),a.H.Z.U);do switch(ej=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Ny(a,Hb,1);ej=!0;break;case 204:case 206:a.K=tf;Ny(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=tf;Ny(a,Hb,Hb.Hb?4:2);break;case 232:a.K=tf;Ny(a,Hb,Hb.Hb?5:3);break;case 154:a.K=tf;Ny(a,Hb,Hb.Hb?7:5);break;case 255:var Ut=a.jb(Hb)&14591;if(4351==Ut||6399==Ut)a.K=tf,$z(a,Hb);break;case 243:case 242:Ny(a,Hb,1);Tt=ej=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Tt&&
|
|
|
|
|
(a.K=tf,Ny(a,Hb,1))}while(ej);a.K?(a.Hd(a.B,Hb,!0),Qz(a)||(a.pa&&a.pa.md(),a.K=0)):kB(a,St?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Sz(a,g);break;case "t":kB(a,g[0],g[1]);break;case "u":Tz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){eB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.35.0 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Nb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Ma());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var ah;void 0!==g[3]&&(ah=+g[3]);
|
|
|
|
|
switch(g[2]){case "int":a.H.T.Te=ah;break;case "start":a.H.T.xf=ah;break;case "stop":a.H.T.Ve=ah;break;default:a.P("unknown cs option");break a}void 0!==ah&&Ad(a.H);a.P("checksums "+(a.H.ea.Ie?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Ed(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.pe.toFixed(2)+"Mhz")+" ("+a.H.T.Ld+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
|
|
|
|
|
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){hB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in lB)Fm+="\n"+Aa(Gm,7)+lB[Gm];Ig(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(Vt){a.P("debugger error: "+(Vt.stack||Vt.message)),d=!1}return d}
|
|
|
|
|
function ny(a,b,c){b=a.Dg(b,c);for(var d in b)if(!Yz(a,b[+d]))return!1;return!0}
|
|
|
|
|
var Mz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Lz=[26,28,40,42,109],lB={"?":"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"},Sy=0,Ky=1,ty=2,Vy=3,Ty=4,Ly=5,gA=18,hA=28,cA=36,lA=80,iA=104,jA=107,aA=176,$z="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(" "),
|
|
|
|
|
eA="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(" "),
|
|
|
|
|
gB=["VALID","ZERO ","SPEC ","EMPTY"],mA=2,nA=3,PA=[8086,80186,80286,80386],Zy=0,$y=1,az=2,bz=3,cz=4,dz=5,ez=6,fz=7,gz=8,hz=9,iz=10,jz=11,kz=12,lz=13,mz=14,nz=15,pz=16,oz=22,Jz=23,wz=24,xz=25,yz=26,zz=27,Az=28,Bz=29,Cz=30,Dz=31,Ez=32,Fz=33,Gz=34,Hz=35,TA=40,VA=48,Iz=56,Xy=["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"],qz=0,rz=1,sz=2,tz=3,uz=4,vz=5,tA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),oA=15,rA=240,KA=3840,pA=0,V=1,EA=2,U=3,S=4,uA=5,vA=7,qA=8,IA=9,JA=10,wA=11,xA=11,yA=12,zA=12,AA=13,BA=14,W=0,DA=16,GA=32,HA=48,NA=64,OA=80,Y=96,LA=112,R=128,sA=160,MA=192,RA=208,SA=224,UA=240,mB=Zy<<8|Y|V,nB=$y<<8|Y|V,oB=gz<<8|Y|S,pB=hz<<8|Y|S,qB=iz<<8|Y|S,rB=jz<<8|Y|S,sB=kz<<8|Y|S,tB=lz<<8|Y|S,uB=mz<<8|Y|S,vB=
|
|
|
|
|
nz<<8|Y|S,wB=qz<<8|LA|U,xB=rz<<8|LA|U,yB=sz<<8|LA|U,zB=tz<<8|LA|U,AB=uz<<8|LA|U,BB=vz<<8|LA|U,X=12288,CB=mA<<14,Z=nA<<14,kA=14,Oz=1E3,py=[0,pA],qy=[aA,U|X],oy=[[6,R|V|X,V|4272],[6,R|S|X,S|4272],[6,176|V|X,R|V|4096],[6,176|S|X,R|S|4096],[6,mB|X,W|V|4096],[6,oB|X,W|S|4096],[108,wB|4096],[103,wB|8192],[99,R|V|X,V|4272],[99,R|S|X,S|4272],[99,176|V|X,R|V|4096],[99,176|S|X,R|S|4096],[99,mB|X,W|V|4096],[99,oB|X,W|S|4096],[108,xB|4096],[103,xB|8192],[5,R|V|X,V|4272],[5,R|S|X,S|4272],[5,176|V|X,R|V|4096],
|
|
|
|
|
[5,176|S|X,R|S|4096],[5,mB|X,W|V|4096],[5,oB|X,W|S|4096],[108,yB|4096],[103,yB|8192],[120,R|V|X,V|4272],[120,R|S|X,S|4272],[120,176|V|X,R|V|4096],[120,176|S|X,R|S|4096],[120,mB|X,W|V|4096],[120,oB|X,W|S|4096],[108,zB|4096],[103,zB|8192],[7,R|V|X,V|4272],[7,R|S|X,S|4272],[7,176|V|X,R|V|4096],[7,176|S|X,R|S|4096],[7,mB|X,W|V|4096],[7,oB|X,W|S|4096],[35,qA],[29],[154,R|V|X,V|4272],[154,R|S|X,S|4272],[154,176|V|X,R|V|4096],[154,176|S|X,R|S|4096],[154,mB|X,W|V|4096],[154,oB|X,W|S|4096],[27,qA],[30],[162,
|
|
|
|
|
R|V|X,V|4272],[162,R|S|X,S|4272],[162,176|V|X,R|V|4096],[162,176|S|X,R|S|4096],[162,mB|X,W|V|4096],[162,oB|X,W|S|4096],[147,qA],[1],[24,R|V|4096,V|4272],[24,R|S|4096,S|4272],[24,V|4272,R|V|4096],[24,S|4272,R|S|4096],[24,mB|4096,W|V|4096],[24,oB|4096,W|S|4096],[33,qA],[4],[44,oB|X],[44,pB|X],[44,qB|X],[44,rB|X],[44,sB|X],[44,tB|X],[44,uB|X],[44,vB|X],[31,oB|X],[31,pB|X],[31,qB|X],[31,rB|X],[31,sB|X],[31,tB|X],[31,uB|X],[31,vB|X],[108,oB|4096],[108,pB|4096],[108,qB|4096],[108,rB|4096],[108,sB|4096],
|
|
|
|
|
[108,tB|4096],[108,uB|4096],[108,vB|4096],[103,oB|8192],[103,pB|8192],[103,qB|8192],[103,rB|8192],[103,sB|8192],[103,tB|8192],[103,uB|8192],[103,vB|8192],[jA,pA|CB],[iA,pA|CB],[10,S|4272|CB,R|S|4096],[8,R|U|8192,U|4272],[37,qA|Z],[38,qA|Z],[100,qA|Z],[9,qA|Z],[108,W|S|4096|CB],[42,176|U|X|CB,R|S|4096,W|S|4096],[108,W|EA|4096|CB],[42,U|8368|CB,R|S|4096,W|V|4096],[45,OA|V|8192|CB,qB|4096],[45,OA|S|8192|CB,qB|4096],[102,qB|4096|CB,NA|V|4096],[102,qB|4096|CB,NA|S|4096],[64,HA|V|4096],[60,HA|V|4096],[51,
|
|
|
|
|
HA|V|4096],[59,HA|V|4096],[67,HA|V|4096],[63,HA|V|4096],[50,HA|V|4096],[58,HA|V|4096],[66,HA|V|4096],[62,HA|V|4096],[65,HA|V|4096],[61,HA|V|4096],[55,HA|V|4096],[54,HA|V|4096],[56,HA|V|4096],[53,HA|V|4096],[163,R|V|X,W|V|4096],[164,R|S|X,W|S|4096],[163,R|V|X,W|V|4096],[165,R|S|X,W|V|4096],[155,R|V|4096,V|4272],[155,R|S|4096,S|4272],[160,176|V|X,R|V|X],[160,176|S|X,R|S|X],[90,R|V|8192,V|4272],[90,R|S|8192,S|4272],[90,V|8368,R|V|4096],[90,S|8368,R|S|4096],[90,R|S|8192,MA|U|4096],[71,S|8368,144|S],[90,
|
|
|
|
|
MA|U|8192,R|S|4096],[103,R|S|8192],[97],[160,oB|X,pB|X],[160,oB|X,qB|X],[160,oB|X,rB|X],[160,oB|X,sB|X],[160,oB|X,tB|X],[160,oB|X,uB|X],[160,oB|X,vB|X],[gA],[hA],[17,W|vA|4096],[158],[106],[105],[117],[68],[90,mB|8192,GA|V|4096],[90,oB|8192,GA|S|4096],[90,GA|V|8192,mB|4096],[90,GA|S|8192,oB|4096],[91,OA|V|8192,NA|V|4096],[92,OA|S|8192,NA|S|4096],[25,OA|V|4096,NA|V|4096],[26,OA|S|4096,NA|S|4096],[155,mB|4096,W|V|4096],[155,oB|4096,W|S|4096],[151,OA|V|8192,mB|4096],[152,OA|S|8192,oB|4096],[82,mB|8192,
|
|
|
|
|
NA|V|4096],[83,oB|8192,NA|S|4096],[121,mB|4096,OA|V|4096],[122,oB|4096,OA|S|4096],[90,mB|8192,W|V|4096],[90,nB|8192,W|V|4096],[90,az<<8|Y|V|8192,W|V|4096],[90,bz<<8|Y|V|8192,W|V|4096],[90,cz<<8|Y|V|8192,W|V|4096],[90,dz<<8|Y|V|8192,W|V|4096],[90,ez<<8|Y|V|8192,W|V|4096],[90,fz<<8|Y|V|8192,W|V|4096],[90,oB|8192,W|S|4096],[90,pB|8192,W|S|4096],[90,qB|8192,W|S|4096],[90,rB|8192,W|S|4096],[90,sB|8192,W|S|4096],[90,tB|8192,W|S|4096],[90,uB|8192,W|S|4096],[90,vB|8192,W|S|4096],[166,R|V|X|16384,W|V|4096],
|
|
|
|
|
[167,R|S|X|16384,W|V|4096],[113,W|U|4096],[113],[73,S|8368,4246],[70,S|8368,4246],[90,R|V|8192,W|V|4096],[90,R|S|8192,W|S|4096],[34,W|U|4096|CB,W|V|4096],[72,pA|CB],[114,W|U|4096],[114],[47],[46,W|V|4096],[48],[49],[168,R|V|X,DA|V|4096],[169,R|S|X,DA|V|4096],[170,R|V|X,nB|4096],[171,R|S|X,nB|4096],[3,W|V],[2,W|V],[118],[161],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[85,HA|V|4096],[86,HA|V|4096],[84,HA|V|4096],[52,HA|V|4096],[43,
|
|
|
|
|
mB|8192,W|V|4096],[43,oB|8192,W|V|4096],[101,W|V|4096,mB|4096],[101,W|V|4096,oB|4096],[17,HA|S|4096],[57,HA|S|4096],[57,W|vA|4096],[57,HA|V|4096],[43,mB|8192,qB|U|4096],[43,oB|8192,qB|U|4096],[101,qB|U|4096,mB|4096],[101,qB|U|4096,oB|4096],[81,qA],[0],[111,qA],[112,qA],[39],[23],[172,R|V|X],[173,R|S|X],[19],[148],[21],[150],[20],[149],[174,R|V|X],[175,R|S|X]],bA={0:[177,R|U|X],1:[178,R|U|X],2:[69,U|8368|CB,U|4240],3:[87,U|8368|CB,U|4240],5:[lA,CB],6:[22,CB],7:[lA,Z],32:[90,sA|uA|8192|Z,RA|uA|4096],
|
|
|
|
|
33:[90,sA|uA|8192|Z,SA|uA|4096],34:[90,RA|uA|8192|Z,sA|uA|4096],35:[90,SA|uA|8192|Z,sA|uA|4096],36:[90,sA|uA|8192|Z,UA|uA|4096],38:[90,UA|uA|8192|Z,sA|uA|4096],128:[64,HA|S|4096|Z],129:[60,HA|S|4096|Z],130:[51,HA|S|4096|Z],131:[59,HA|S|4096|Z],132:[67,HA|S|4096|Z],133:[63,HA|S|4096|Z],134:[50,HA|S|4096|Z],135:[58,HA|S|4096|Z],136:[66,HA|S|4096|Z],137:[62,HA|S|4096|Z],138:[65,HA|S|4096|Z],139:[61,HA|S|4096|Z],140:[55,HA|S|4096|Z],141:[54,HA|S|4096|Z],142:[56,HA|S|4096|Z],143:[53,HA|S|4096|Z],144:[135,
|
|
|
|
|
R|V|8192|Z],145:[131,R|V|8192|Z],146:[124,R|V|8192|Z],147:[130,R|V|8192|Z],148:[138,R|V|8192|Z],149:[134,R|V|8192|Z],150:[123,R|V|8192|Z],151:[129,R|V|8192|Z],152:[137,R|V|8192|Z],153:[133,R|V|8192|Z],154:[136,R|V|8192|Z],155:[132,R|V|8192|Z],156:[127,R|V|8192|Z],157:[126,R|V|8192|Z],158:[128,R|V|8192|Z],159:[125,R|V|8192|Z],160:[108,AB|4096|Z],161:[103,AB|8192|Z],163:[13,R|S|4096|Z,S|4272],164:[141,R|S|8192|Z,S|4272,W|V|4096],165:[141,R|S|8192|Z,S|4272,nB|4096],166:[159,S|8368|Z,R|S|4096,oB|4096,
|
|
|
|
|
nB|4096],167:[40,R|S|8192|Z,oB|4096,nB|4096,S|4272],168:[108,BB|4096|Z],169:[103,BB|8192|Z],171:[16,R|S|8192|Z,S|4272],172:[143,R|S|8192|Z,S|4272,W|V|4096],173:[143,R|S|8192|Z,S|4272,nB|4096],175:[42,R|S|X|Z,S|4272],178:[88,S|8368,4246],179:[15,R|S|8192|Z,S|4272],180:[74,S|8368,4246],181:[76,S|8368,4246],182:[94,S|8368|Z,R|V|4096],183:[94,uA|8368|Z,R|U|4096],186:[179,R|S|X|Z,W|V|4096],187:[14,R|S|8192|Z,S|4272],188:[11,S|8368|Z,R|S|4096],189:[12,S|8368|Z,R|S|4096],190:[93,S|8368|Z,R|V|4096],191:[93,
|
|
|
|
|
uA|8368|Z,R|U|4096]},dA={216:{0:[9,R|xA|4096],1:[18,R|xA|4096],2:[34,R|xA|4096],3:[35,R|xA|4096],4:[12,R|xA|4096],5:[15,R|xA|4096],6:[21,R|xA|4096],7:[24,R|xA|4096],48:[9,Y|IA|8192,Y|JA|4096],49:[18,Y|IA|8192,Y|JA|4096],50:[34,Y|IA|8192,Y|JA|4096],51:[35,Y|IA|8192,Y|JA|4096],52:[12,Y|IA|8192,Y|JA|4096],53:[15,Y|IA|8192,Y|JA|4096],54:[21,Y|IA|8192,Y|JA|4096],55:[24,Y|IA|8192,Y|JA|4096]},217:{0:[0,R|xA|4096],2:[1,R|xA|8192],3:[2,R|xA|8192],4:[68,R|4111],5:[59,R|U|4096],6:[66,R|8207],7:[60,R|U|8192],
|
|
|
|
|
48:[0,Y|JA|8192],49:[3,Y|JA|8192],50:[76],51:[2,Y|JA|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,R|wA|4096],1:[20,R|wA|4096],2:[37,R|wA|4096],3:[38,R|wA|4096],4:[14,R|wA|4096],5:[17,R|wA|4096],6:[23,R|wA|4096],7:[26,R|wA|4096]},219:{0:[4,R|wA|4096],2:[5,R|wA|8192],3:[6,R|wA|8192],5:[0,R|AA|4096],7:[2,R|AA|8192],64:[57],65:[55],66:[64],
|
|
|
|
|
67:[53],68:[78,CB],115:[79,Z]},220:{0:[9,R|zA|4096],1:[18,R|zA|4096],2:[34,R|zA|4096],3:[35,R|zA|4096],4:[12,R|zA|4096],5:[15,R|zA|4096],6:[21,R|zA|4096],7:[24,R|zA|4096],48:[9,Y|JA|8192,Y|IA|4096],49:[18,Y|JA|8192,Y|IA|4096],50:[34,Y|JA|4096],51:[35,Y|JA|4096],52:[15,Y|JA|8192,Y|IA|4096],53:[12,Y|JA|8192,Y|IA|4096],54:[24,Y|JA|8192,Y|IA|4096],55:[21,Y|JA|8192,Y|IA|4096]},221:{0:[0,R|zA|4096],2:[1,R|zA|8192],3:[2,R|zA|8192],4:[71,R|4111],6:[69,R|8207],7:[62,R|U|8192],48:[74,Y|JA|4096],49:[3,Y|JA|
|
|
|
|
|
8192],50:[1,Y|JA|4096],51:[2,Y|JA|4096]},222:{0:[11,R|U|4096],1:[20,R|U|4096],2:[37,R|U|4096],3:[38,R|U|4096],4:[14,R|U|4096],5:[17,R|U|4096],6:[23,R|U|4096],7:[26,R|U|4096],48:[10,Y|JA|8192,Y|IA|4096],49:[19,Y|JA|8192,Y|IA|4096],50:[35,Y|JA|4096],51:[36,Y|JA|4096],52:[16,Y|JA|8192,Y|IA|4096],53:[13,Y|JA|8192,Y|IA|4096],54:[25,Y|JA|8192,Y|IA|4096],55:[22,Y|JA|8192,Y|IA|4096]},223:{0:[4,R|U|4096],2:[5,R|U|8192],3:[6,R|U|8192],4:[7,R|BA|4096],5:[4,R|yA|4096],6:[8,R|BA|8192],7:[6,R|yA|8192],48:[75,Y|
|
|
|
|
|
JA|4096],49:[3,Y|JA|8192],50:[2,Y|JA|4096],51:[2,Y|JA|4096],52:[80,CB]}},fA=[[[6,R|V|X,W|V|4096],[99,R|V|X,W|V|4096],[5,R|V|X,W|V|4096],[120,R|V|X,W|V|4096],[7,R|V|X,W|V|4096],[154,R|V|X,W|V|4096],[162,R|V|X,W|V|4096],[24,R|V|4096,W|V|4096]],[[6,R|S|X,W|S|4096],[99,R|S|X,W|S|4096],[5,R|S|X,W|S|4096],[120,R|S|X,W|S|4096],[7,R|S|X,W|S|4096],[154,R|S|X,W|S|4096],[162,R|S|X,W|S|4096],[24,R|S|4096,W|S|4096]],[[6,R|S|X,W|EA|4096],[99,R|S|X,W|EA|4096],[5,R|S|X,W|EA|4096],[120,R|S|X,W|EA|4096],[7,R|S|X,W|
|
|
|
|
|
EA|4096],[154,R|S|X,W|EA|4096],[162,R|S|X,W|EA|4096],[24,R|S|4096,W|EA|4096]],[[115,R|V|X|CB,W|V|4096],[116,R|V|X|CB,W|V|4096],[109,R|V|X|CB,W|V|4096],[110,R|V|X|CB,W|V|4096],[140,R|V|X|CB,W|V|4096],[142,R|V|X|CB,W|V|4096],py,[119,R|V|X|CB,W|V|4096]],[[115,R|S|X|CB,W|V|4096],[116,R|S|X|CB,W|V|4096],[109,R|S|X|CB,W|V|4096],[110,R|S|X|CB,W|V|4096],[140,R|S|X|CB,W|V|4096],[142,R|S|X|CB,W|V|4096],py,[119,R|S|X|CB,W|V|4096]],[[115,R|V|X,DA|V|4096],[116,R|V|X,DA|V|4096],[109,R|V|X,DA|V|4096],[110,R|V|X,
|
|
|
|
|
DA|V|4096],[140,R|V|X,DA|V|4096],[142,R|V|X,DA|V|4096],py,[119,R|V|X,DA|V|4096]],[[115,R|S|X,DA|V|4096],[116,R|S|X,DA|V|4096],[109,R|S|X,DA|V|4096],[110,R|S|X,DA|V|4096],[140,R|S|X,DA|V|4096],[142,R|S|X,DA|V|4096],py,[119,R|S|X,DA|V|4096]],[[115,R|V|X,nB|4096],[116,R|V|X,nB|4096],[109,R|V|X,nB|4096],[110,R|V|X,nB|4096],[140,R|V|X,nB|4096],[142,R|V|X,nB|4096],py,[119,R|V|X,nB|4096]],[[115,R|S|X,nB|4096],[116,R|S|X,nB|4096],[109,R|S|X,nB|4096],[110,R|S|X,nB|4096],[140,R|S|X,nB|4096],[142,R|S|X,nB|4096],
|
|
|
|
|
py,[119,R|S|X,nB|4096]],[[155,R|V|4096,W|V|4096],py,[98,R|V|X],[96,R|V|X],[95,R|V|4096],[42,R|V|X],[32,R|V|4096],[41,R|V|X]],[[155,R|S|4096,W|S|4096],py,[98,R|S|X],[96,R|S|X],[95,R|S|4096],[42,R|S|X],[32,R|S|4096],[41,R|S|X]],[[44,R|V|X],[31,R|V|X],py,py,py,py,py,py],[[44,R|S|X],[31,R|S|X],[17,R|S|4096],[17,R|vA|4096],[57,R|S|4096],[57,R|vA|4096],[108,R|S|4096],py],[],[[145,R|U|8192|CB],[153,R|U|8192|CB],[78,R|U|4096|CB],[89,R|U|4096|CB],[156,R|U|4096|CB],[157,R|U|4096|CB],py,py],[[139,R|U|8192|CB],
|
|
|
|
|
[144,R|U|8192|CB],[75,R|U|4096|CB],[77,R|U|4096|CB],[146,R|U|8192|CB],py,[79,R|U|4096|CB],py],[py,py,py,py,[13,R|S|4096|Z,W|V|4096],[16,R|S|8192|Z,W|V|4096],[15,R|S|8192|Z,W|V|4096],[14,R|S|8192|Z,W|V|4096]]],uy={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]},yy={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},zy={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};$a(function(){for(var a=zb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new iy(d);yb(d,c)}});
|
|
|
|
|
function DB(a,b,c){mb.call(this,"Computer",a,67108864);this.ea.Yb=!1;EB(this,b);this.N=yd(this,"autoPower",a);this.C=0;this.aa=a.busWidth||a.buswidth;this.A=FB;this.L=null;this.I=this.Z=!1;this.da=yd(this,"url")||"";this.ha=(Math.random()+.1).toString(36).substr(2,12);this.B=GB(this);if(this.H=ub("CPU",this.id)){this.ba=ub("Debugger",this.id);this.G=[];for(b=null;b=Wb(this,"Video",b);)this.G.push(b);this.ka=new lc({id:this.ye+".bus",busWidth:this.aa},this.H,this.ba);var d,e=sb(this.id);if((this.D=
|
|
|
|
|
ub("Panel",this.id))&&this.D.Je)for(b=0;b<e.length;b++)d=e[b],d.Fa=this.D.Fa,d.P=this.D.P,d.Je=this.D.Je;this.P("PCx86 v1.35.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.uc&&d.uc(this,this.ka,this.H,this.ba);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.K=d:this.A=parseInt(d,10));var f;if(a=yd(this,"state")||(f=!0,a.state))b=this.W=a,f||(this.I=!0,this.A=FB),this.A&&(this.M=new Wf(this,
|
|
|
|
|
"1.35.0"),this.M.load()?b=null:delete this.M);!b&&this.A&&(b=HB(this))&&(this.I=!0);if(b){var g=this;Ka(b,null,!0,function(a,b,c){c?(g.K=null,g.I=!1,g.Fa("Unable to load machine state from server (error "+c+(b?": "+Ba(b):"")+")")):(g.L=b,g.Z=!0);Ib(g)})}else Ib(this);this.na.power||(this.N=!0);!c&&this.N&&IB(this,this.Mf)}else gb("Unable to find CPU component")}ba(DB,mb);
|
|
|
|
|
function EB(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){gb(d.message+" ("+c+")")}}a.J=b}function yd(a,b,c){var d=b.toLowerCase(),d=Ua(b)||Ua(d);void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function IB(a,b,c){for(var d=sb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Gb(f)){Gb(f,function(){IB(a,b,c)});return}}b.call(a,c)}
|
|
|
|
|
function JB(a,b){var c=new Wf(a,"1.35.0",KB);if(c.load()&&LB(c)){var d=c.get(MB),e=b?b.get(MB):"unknown";d!=e&&(a.Fa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=DB.prototype;
|
|
|
|
|
l.Mf=function(a){void 0===a&&(a=this.A||(this.L?NB:FB));if(!this.C){this.C++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Wf(this,"1.35.0");if(a==OB)b=!0;else if(a>FB){if(d.load(this.L)){this.F=new Wf(this,"1.35.0",PB);this.F.load()&&(QB(this,d),a=RB,SB(this.F));this.F.set(MB,Ea());TB(this.F);var e=this.A&&!this.I;if(a==NB||qb("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=LB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
|
|
|
|
g?(this.Fa("Error: "+g),"unable to verify user"==g&&(Ra(UB,""),this.B=null)):this.P(f+": "+g),SB(d),d.load()?(c=LB(d),e=!0):c=!1))}e&&JB(this,c?d:null)}else a==RB&&d.clear()}else JB(this);delete this.L;delete this.M}e=sb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=VB(this,g,d,b,c));b=[d,a,c];a!=OB?IB(this,this.nj,b):this.nj(b)}};
|
|
|
|
|
function VB(a,b,c,d,e){if(!b.ea.Yb){b.ea.Yb=!0;if(b.Xb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Xb(f,d)&&f&&(gb("Unable to restore state for "+b.type),a.W&&!a.Z?(c.clear(),a.A=FB,window&&window.location.reload()):a.Y=!0,b.Xb(null),e=!1)}if(!d&&b.yj)for(a=b.yj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
|
|
|
|
l.nj=function(a){var b=a[0],c=0>a[1];a=a[2];this.ga=!0;this.ea.Yb=!0;var d=this.na.power;d&&(d.textContent="Shutdown");this.H&&(VB(this,this.H,b,c,a),this.H.mf());this.Y&&(QB(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
|
|
|
|
|
function QB(a,b){if(qb("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.0"};d.url=a.da;d.user=c;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}}
|
|
|
|
|
function kB(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Wf(a,"1.35.0"),g=new Wf(a,"1.35.0",KB),h=Ea();g.set(MB,h);f.set(MB,h);f.set(WB,"1.35.0");f.set(XB,window?window.location.href:null);f.set(YB,Ma());a.H&&a.H.Wb&&(c&&a.H.Jb(),d=a.H.Wb(b,c),"object"===typeof d&&f.set(a.H.id,d),c&&(a.H.ea.Yb=!1,!1===d&&(e=null)));for(var h=sb(a.id),k=0;k<h.length;k++){var m=h[k];m.ea.Yb&&(m.Wb&&(d=m.Wb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ea.Yb=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.B&&ZB(a,
|
|
|
|
|
a.B,f.toString()),TB(g)&&TB(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==$B),d&&f.clear(h)):e=f.toString());c&&(a.ea.Yb=!1,b=a.na.power)&&(b.textContent="Power");a.C=0;return e}l.reset=function(){this.ka&&this.ka.reset&&(Lb(this,"Resetting "+this.ka.type),this.ka.reset());for(var a=sb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(Lb(this,"Resetting "+c.type),c.reset())}};
|
|
|
|
|
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){iB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in mB)Fm+="\n"+Aa(Gm,7)+mB[Gm];Ig(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(Wt){a.P("debugger error: "+(Wt.stack||Wt.message)),d=!1}return d}
|
|
|
|
|
function oy(a,b,c){b=a.Dg(b,c);for(var d in b)if(!Zz(a,b[+d]))return!1;return!0}
|
|
|
|
|
var Nz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Mz=[26,28,40,42,109],mB={"?":"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"},Ty=0,Ly=1,uy=2,Wy=3,Uy=4,My=5,hA=18,iA=28,dA=36,mA=80,jA=104,kA=107,bA=176,aA="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(" "),
|
|
|
|
|
fA="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(" "),
|
|
|
|
|
hB=["VALID","ZERO ","SPEC ","EMPTY"],nA=2,oA=3,QA=[8086,80186,80286,80386],$y=0,az=1,bz=2,cz=3,dz=4,ez=5,fz=6,gz=7,hz=8,iz=9,jz=10,kz=11,lz=12,mz=13,nz=14,oz=15,qz=16,pz=22,Kz=23,xz=24,yz=25,zz=26,Az=27,Bz=28,Cz=29,Dz=30,Ez=31,Fz=32,Gz=33,Hz=34,Iz=35,UA=40,WA=48,Jz=56,Yy=["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"],rz=0,sz=1,tz=2,uz=3,vz=4,wz=5,uA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),pA=15,sA=240,LA=3840,qA=0,V=1,FA=2,U=3,S=4,vA=5,wA=7,rA=8,JA=9,KA=10,xA=11,yA=11,zA=12,AA=12,BA=13,CA=14,W=0,EA=16,HA=32,IA=48,OA=64,PA=80,Y=96,MA=112,R=128,tA=160,NA=192,SA=208,TA=224,VA=240,nB=$y<<8|Y|V,oB=az<<8|Y|V,pB=hz<<8|Y|S,qB=iz<<8|Y|S,rB=jz<<8|Y|S,sB=kz<<8|Y|S,tB=lz<<8|Y|S,uB=mz<<8|Y|S,vB=nz<<8|Y|S,wB=
|
|
|
|
|
oz<<8|Y|S,xB=rz<<8|MA|U,yB=sz<<8|MA|U,zB=tz<<8|MA|U,AB=uz<<8|MA|U,BB=vz<<8|MA|U,CB=wz<<8|MA|U,X=12288,DB=nA<<14,Z=oA<<14,lA=14,Pz=1E3,qy=[0,qA],ry=[bA,U|X],py=[[6,R|V|X,V|4272],[6,R|S|X,S|4272],[6,176|V|X,R|V|4096],[6,176|S|X,R|S|4096],[6,nB|X,W|V|4096],[6,pB|X,W|S|4096],[108,xB|4096],[103,xB|8192],[99,R|V|X,V|4272],[99,R|S|X,S|4272],[99,176|V|X,R|V|4096],[99,176|S|X,R|S|4096],[99,nB|X,W|V|4096],[99,pB|X,W|S|4096],[108,yB|4096],[103,yB|8192],[5,R|V|X,V|4272],[5,R|S|X,S|4272],[5,176|V|X,R|V|4096],
|
|
|
|
|
[5,176|S|X,R|S|4096],[5,nB|X,W|V|4096],[5,pB|X,W|S|4096],[108,zB|4096],[103,zB|8192],[120,R|V|X,V|4272],[120,R|S|X,S|4272],[120,176|V|X,R|V|4096],[120,176|S|X,R|S|4096],[120,nB|X,W|V|4096],[120,pB|X,W|S|4096],[108,AB|4096],[103,AB|8192],[7,R|V|X,V|4272],[7,R|S|X,S|4272],[7,176|V|X,R|V|4096],[7,176|S|X,R|S|4096],[7,nB|X,W|V|4096],[7,pB|X,W|S|4096],[35,rA],[29],[154,R|V|X,V|4272],[154,R|S|X,S|4272],[154,176|V|X,R|V|4096],[154,176|S|X,R|S|4096],[154,nB|X,W|V|4096],[154,pB|X,W|S|4096],[27,rA],[30],[162,
|
|
|
|
|
R|V|X,V|4272],[162,R|S|X,S|4272],[162,176|V|X,R|V|4096],[162,176|S|X,R|S|4096],[162,nB|X,W|V|4096],[162,pB|X,W|S|4096],[147,rA],[1],[24,R|V|4096,V|4272],[24,R|S|4096,S|4272],[24,V|4272,R|V|4096],[24,S|4272,R|S|4096],[24,nB|4096,W|V|4096],[24,pB|4096,W|S|4096],[33,rA],[4],[44,pB|X],[44,qB|X],[44,rB|X],[44,sB|X],[44,tB|X],[44,uB|X],[44,vB|X],[44,wB|X],[31,pB|X],[31,qB|X],[31,rB|X],[31,sB|X],[31,tB|X],[31,uB|X],[31,vB|X],[31,wB|X],[108,pB|4096],[108,qB|4096],[108,rB|4096],[108,sB|4096],[108,tB|4096],
|
|
|
|
|
[108,uB|4096],[108,vB|4096],[108,wB|4096],[103,pB|8192],[103,qB|8192],[103,rB|8192],[103,sB|8192],[103,tB|8192],[103,uB|8192],[103,vB|8192],[103,wB|8192],[kA,qA|DB],[jA,qA|DB],[10,S|4272|DB,R|S|4096],[8,R|U|8192,U|4272],[37,rA|Z],[38,rA|Z],[100,rA|Z],[9,rA|Z],[108,W|S|4096|DB],[42,176|U|X|DB,R|S|4096,W|S|4096],[108,W|FA|4096|DB],[42,U|8368|DB,R|S|4096,W|V|4096],[45,PA|V|8192|DB,rB|4096],[45,PA|S|8192|DB,rB|4096],[102,rB|4096|DB,OA|V|4096],[102,rB|4096|DB,OA|S|4096],[64,IA|V|4096],[60,IA|V|4096],[51,
|
|
|
|
|
IA|V|4096],[59,IA|V|4096],[67,IA|V|4096],[63,IA|V|4096],[50,IA|V|4096],[58,IA|V|4096],[66,IA|V|4096],[62,IA|V|4096],[65,IA|V|4096],[61,IA|V|4096],[55,IA|V|4096],[54,IA|V|4096],[56,IA|V|4096],[53,IA|V|4096],[163,R|V|X,W|V|4096],[164,R|S|X,W|S|4096],[163,R|V|X,W|V|4096],[165,R|S|X,W|V|4096],[155,R|V|4096,V|4272],[155,R|S|4096,S|4272],[160,176|V|X,R|V|X],[160,176|S|X,R|S|X],[90,R|V|8192,V|4272],[90,R|S|8192,S|4272],[90,V|8368,R|V|4096],[90,S|8368,R|S|4096],[90,R|S|8192,NA|U|4096],[71,S|8368,144|S],[90,
|
|
|
|
|
NA|U|8192,R|S|4096],[103,R|S|8192],[97],[160,pB|X,qB|X],[160,pB|X,rB|X],[160,pB|X,sB|X],[160,pB|X,tB|X],[160,pB|X,uB|X],[160,pB|X,vB|X],[160,pB|X,wB|X],[hA],[iA],[17,W|wA|4096],[158],[106],[105],[117],[68],[90,nB|8192,HA|V|4096],[90,pB|8192,HA|S|4096],[90,HA|V|8192,nB|4096],[90,HA|S|8192,pB|4096],[91,PA|V|8192,OA|V|4096],[92,PA|S|8192,OA|S|4096],[25,PA|V|4096,OA|V|4096],[26,PA|S|4096,OA|S|4096],[155,nB|4096,W|V|4096],[155,pB|4096,W|S|4096],[151,PA|V|8192,nB|4096],[152,PA|S|8192,pB|4096],[82,nB|8192,
|
|
|
|
|
OA|V|4096],[83,pB|8192,OA|S|4096],[121,nB|4096,PA|V|4096],[122,pB|4096,PA|S|4096],[90,nB|8192,W|V|4096],[90,oB|8192,W|V|4096],[90,bz<<8|Y|V|8192,W|V|4096],[90,cz<<8|Y|V|8192,W|V|4096],[90,dz<<8|Y|V|8192,W|V|4096],[90,ez<<8|Y|V|8192,W|V|4096],[90,fz<<8|Y|V|8192,W|V|4096],[90,gz<<8|Y|V|8192,W|V|4096],[90,pB|8192,W|S|4096],[90,qB|8192,W|S|4096],[90,rB|8192,W|S|4096],[90,sB|8192,W|S|4096],[90,tB|8192,W|S|4096],[90,uB|8192,W|S|4096],[90,vB|8192,W|S|4096],[90,wB|8192,W|S|4096],[166,R|V|X|16384,W|V|4096],
|
|
|
|
|
[167,R|S|X|16384,W|V|4096],[113,W|U|4096],[113],[73,S|8368,4246],[70,S|8368,4246],[90,R|V|8192,W|V|4096],[90,R|S|8192,W|S|4096],[34,W|U|4096|DB,W|V|4096],[72,qA|DB],[114,W|U|4096],[114],[47],[46,W|V|4096],[48],[49],[168,R|V|X,EA|V|4096],[169,R|S|X,EA|V|4096],[170,R|V|X,oB|4096],[171,R|S|X,oB|4096],[3,W|V],[2,W|V],[118],[161],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[85,IA|V|4096],[86,IA|V|4096],[84,IA|V|4096],[52,IA|V|4096],[43,
|
|
|
|
|
nB|8192,W|V|4096],[43,pB|8192,W|V|4096],[101,W|V|4096,nB|4096],[101,W|V|4096,pB|4096],[17,IA|S|4096],[57,IA|S|4096],[57,W|wA|4096],[57,IA|V|4096],[43,nB|8192,rB|U|4096],[43,pB|8192,rB|U|4096],[101,rB|U|4096,nB|4096],[101,rB|U|4096,pB|4096],[81,rA],[0],[111,rA],[112,rA],[39],[23],[172,R|V|X],[173,R|S|X],[19],[148],[21],[150],[20],[149],[174,R|V|X],[175,R|S|X]],cA={0:[177,R|U|X],1:[178,R|U|X],2:[69,U|8368|DB,U|4240],3:[87,U|8368|DB,U|4240],5:[mA,DB],6:[22,DB],7:[mA,Z],32:[90,tA|vA|8192|Z,SA|vA|4096],
|
|
|
|
|
33:[90,tA|vA|8192|Z,TA|vA|4096],34:[90,SA|vA|8192|Z,tA|vA|4096],35:[90,TA|vA|8192|Z,tA|vA|4096],36:[90,tA|vA|8192|Z,VA|vA|4096],38:[90,VA|vA|8192|Z,tA|vA|4096],128:[64,IA|S|4096|Z],129:[60,IA|S|4096|Z],130:[51,IA|S|4096|Z],131:[59,IA|S|4096|Z],132:[67,IA|S|4096|Z],133:[63,IA|S|4096|Z],134:[50,IA|S|4096|Z],135:[58,IA|S|4096|Z],136:[66,IA|S|4096|Z],137:[62,IA|S|4096|Z],138:[65,IA|S|4096|Z],139:[61,IA|S|4096|Z],140:[55,IA|S|4096|Z],141:[54,IA|S|4096|Z],142:[56,IA|S|4096|Z],143:[53,IA|S|4096|Z],144:[135,
|
|
|
|
|
R|V|8192|Z],145:[131,R|V|8192|Z],146:[124,R|V|8192|Z],147:[130,R|V|8192|Z],148:[138,R|V|8192|Z],149:[134,R|V|8192|Z],150:[123,R|V|8192|Z],151:[129,R|V|8192|Z],152:[137,R|V|8192|Z],153:[133,R|V|8192|Z],154:[136,R|V|8192|Z],155:[132,R|V|8192|Z],156:[127,R|V|8192|Z],157:[126,R|V|8192|Z],158:[128,R|V|8192|Z],159:[125,R|V|8192|Z],160:[108,BB|4096|Z],161:[103,BB|8192|Z],163:[13,R|S|4096|Z,S|4272],164:[141,R|S|8192|Z,S|4272,W|V|4096],165:[141,R|S|8192|Z,S|4272,oB|4096],166:[159,S|8368|Z,R|S|4096,pB|4096,
|
|
|
|
|
oB|4096],167:[40,R|S|8192|Z,pB|4096,oB|4096,S|4272],168:[108,CB|4096|Z],169:[103,CB|8192|Z],171:[16,R|S|8192|Z,S|4272],172:[143,R|S|8192|Z,S|4272,W|V|4096],173:[143,R|S|8192|Z,S|4272,oB|4096],175:[42,R|S|X|Z,S|4272],178:[88,S|8368,4246],179:[15,R|S|8192|Z,S|4272],180:[74,S|8368,4246],181:[76,S|8368,4246],182:[94,S|8368|Z,R|V|4096],183:[94,vA|8368|Z,R|U|4096],186:[179,R|S|X|Z,W|V|4096],187:[14,R|S|8192|Z,S|4272],188:[11,S|8368|Z,R|S|4096],189:[12,S|8368|Z,R|S|4096],190:[93,S|8368|Z,R|V|4096],191:[93,
|
|
|
|
|
vA|8368|Z,R|U|4096]},eA={216:{0:[9,R|yA|4096],1:[18,R|yA|4096],2:[34,R|yA|4096],3:[35,R|yA|4096],4:[12,R|yA|4096],5:[15,R|yA|4096],6:[21,R|yA|4096],7:[24,R|yA|4096],48:[9,Y|JA|8192,Y|KA|4096],49:[18,Y|JA|8192,Y|KA|4096],50:[34,Y|JA|8192,Y|KA|4096],51:[35,Y|JA|8192,Y|KA|4096],52:[12,Y|JA|8192,Y|KA|4096],53:[15,Y|JA|8192,Y|KA|4096],54:[21,Y|JA|8192,Y|KA|4096],55:[24,Y|JA|8192,Y|KA|4096]},217:{0:[0,R|yA|4096],2:[1,R|yA|8192],3:[2,R|yA|8192],4:[68,R|4111],5:[59,R|U|4096],6:[66,R|8207],7:[60,R|U|8192],
|
|
|
|
|
48:[0,Y|KA|8192],49:[3,Y|KA|8192],50:[76],51:[2,Y|KA|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,R|xA|4096],1:[20,R|xA|4096],2:[37,R|xA|4096],3:[38,R|xA|4096],4:[14,R|xA|4096],5:[17,R|xA|4096],6:[23,R|xA|4096],7:[26,R|xA|4096]},219:{0:[4,R|xA|4096],2:[5,R|xA|8192],3:[6,R|xA|8192],5:[0,R|BA|4096],7:[2,R|BA|8192],64:[57],65:[55],66:[64],
|
|
|
|
|
67:[53],68:[78,DB],115:[79,Z]},220:{0:[9,R|AA|4096],1:[18,R|AA|4096],2:[34,R|AA|4096],3:[35,R|AA|4096],4:[12,R|AA|4096],5:[15,R|AA|4096],6:[21,R|AA|4096],7:[24,R|AA|4096],48:[9,Y|KA|8192,Y|JA|4096],49:[18,Y|KA|8192,Y|JA|4096],50:[34,Y|KA|4096],51:[35,Y|KA|4096],52:[15,Y|KA|8192,Y|JA|4096],53:[12,Y|KA|8192,Y|JA|4096],54:[24,Y|KA|8192,Y|JA|4096],55:[21,Y|KA|8192,Y|JA|4096]},221:{0:[0,R|AA|4096],2:[1,R|AA|8192],3:[2,R|AA|8192],4:[71,R|4111],6:[69,R|8207],7:[62,R|U|8192],48:[74,Y|KA|4096],49:[3,Y|KA|
|
|
|
|
|
8192],50:[1,Y|KA|4096],51:[2,Y|KA|4096]},222:{0:[11,R|U|4096],1:[20,R|U|4096],2:[37,R|U|4096],3:[38,R|U|4096],4:[14,R|U|4096],5:[17,R|U|4096],6:[23,R|U|4096],7:[26,R|U|4096],48:[10,Y|KA|8192,Y|JA|4096],49:[19,Y|KA|8192,Y|JA|4096],50:[35,Y|KA|4096],51:[36,Y|KA|4096],52:[16,Y|KA|8192,Y|JA|4096],53:[13,Y|KA|8192,Y|JA|4096],54:[25,Y|KA|8192,Y|JA|4096],55:[22,Y|KA|8192,Y|JA|4096]},223:{0:[4,R|U|4096],2:[5,R|U|8192],3:[6,R|U|8192],4:[7,R|CA|4096],5:[4,R|zA|4096],6:[8,R|CA|8192],7:[6,R|zA|8192],48:[75,Y|
|
|
|
|
|
KA|4096],49:[3,Y|KA|8192],50:[2,Y|KA|4096],51:[2,Y|KA|4096],52:[80,DB]}},gA=[[[6,R|V|X,W|V|4096],[99,R|V|X,W|V|4096],[5,R|V|X,W|V|4096],[120,R|V|X,W|V|4096],[7,R|V|X,W|V|4096],[154,R|V|X,W|V|4096],[162,R|V|X,W|V|4096],[24,R|V|4096,W|V|4096]],[[6,R|S|X,W|S|4096],[99,R|S|X,W|S|4096],[5,R|S|X,W|S|4096],[120,R|S|X,W|S|4096],[7,R|S|X,W|S|4096],[154,R|S|X,W|S|4096],[162,R|S|X,W|S|4096],[24,R|S|4096,W|S|4096]],[[6,R|S|X,W|FA|4096],[99,R|S|X,W|FA|4096],[5,R|S|X,W|FA|4096],[120,R|S|X,W|FA|4096],[7,R|S|X,W|
|
|
|
|
|
FA|4096],[154,R|S|X,W|FA|4096],[162,R|S|X,W|FA|4096],[24,R|S|4096,W|FA|4096]],[[115,R|V|X|DB,W|V|4096],[116,R|V|X|DB,W|V|4096],[109,R|V|X|DB,W|V|4096],[110,R|V|X|DB,W|V|4096],[140,R|V|X|DB,W|V|4096],[142,R|V|X|DB,W|V|4096],qy,[119,R|V|X|DB,W|V|4096]],[[115,R|S|X|DB,W|V|4096],[116,R|S|X|DB,W|V|4096],[109,R|S|X|DB,W|V|4096],[110,R|S|X|DB,W|V|4096],[140,R|S|X|DB,W|V|4096],[142,R|S|X|DB,W|V|4096],qy,[119,R|S|X|DB,W|V|4096]],[[115,R|V|X,EA|V|4096],[116,R|V|X,EA|V|4096],[109,R|V|X,EA|V|4096],[110,R|V|X,
|
|
|
|
|
EA|V|4096],[140,R|V|X,EA|V|4096],[142,R|V|X,EA|V|4096],qy,[119,R|V|X,EA|V|4096]],[[115,R|S|X,EA|V|4096],[116,R|S|X,EA|V|4096],[109,R|S|X,EA|V|4096],[110,R|S|X,EA|V|4096],[140,R|S|X,EA|V|4096],[142,R|S|X,EA|V|4096],qy,[119,R|S|X,EA|V|4096]],[[115,R|V|X,oB|4096],[116,R|V|X,oB|4096],[109,R|V|X,oB|4096],[110,R|V|X,oB|4096],[140,R|V|X,oB|4096],[142,R|V|X,oB|4096],qy,[119,R|V|X,oB|4096]],[[115,R|S|X,oB|4096],[116,R|S|X,oB|4096],[109,R|S|X,oB|4096],[110,R|S|X,oB|4096],[140,R|S|X,oB|4096],[142,R|S|X,oB|4096],
|
|
|
|
|
qy,[119,R|S|X,oB|4096]],[[155,R|V|4096,W|V|4096],qy,[98,R|V|X],[96,R|V|X],[95,R|V|4096],[42,R|V|X],[32,R|V|4096],[41,R|V|X]],[[155,R|S|4096,W|S|4096],qy,[98,R|S|X],[96,R|S|X],[95,R|S|4096],[42,R|S|X],[32,R|S|4096],[41,R|S|X]],[[44,R|V|X],[31,R|V|X],qy,qy,qy,qy,qy,qy],[[44,R|S|X],[31,R|S|X],[17,R|S|4096],[17,R|wA|4096],[57,R|S|4096],[57,R|wA|4096],[108,R|S|4096],qy],[],[[145,R|U|8192|DB],[153,R|U|8192|DB],[78,R|U|4096|DB],[89,R|U|4096|DB],[156,R|U|4096|DB],[157,R|U|4096|DB],qy,qy],[[139,R|U|8192|DB],
|
|
|
|
|
[144,R|U|8192|DB],[75,R|U|4096|DB],[77,R|U|4096|DB],[146,R|U|8192|DB],qy,[79,R|U|4096|DB],qy],[qy,qy,qy,qy,[13,R|S|4096|Z,W|V|4096],[16,R|S|8192|Z,W|V|4096],[15,R|S|8192|Z,W|V|4096],[14,R|S|8192|Z,W|V|4096]]],vy={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]},zy={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},Ay={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};$a(function(){for(var a=zb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new jy(d);yb(d,c)}});
|
|
|
|
|
function EB(a,b,c){mb.call(this,"Computer",a,67108864);this.ea.Yb=!1;FB(this,b);this.N=yd(this,"autoPower",a);this.C=0;this.aa=a.busWidth||a.buswidth;this.A=GB;this.L=null;this.I=this.Z=!1;this.da=yd(this,"url")||"";this.ha=(Math.random()+.1).toString(36).substr(2,12);this.B=HB(this);if(this.H=ub("CPU",this.id)){this.ba=ub("Debugger",this.id);this.G=[];for(b=null;b=Wb(this,"Video",b);)this.G.push(b);this.ka=new lc({id:this.ye+".bus",busWidth:this.aa},this.H,this.ba);var d,e=sb(this.id);if((this.D=
|
|
|
|
|
ub("Panel",this.id))&&this.D.Je)for(b=0;b<e.length;b++)d=e[b],d.Fa=this.D.Fa,d.P=this.D.P,d.Je=this.D.Je;this.P("PCx86 v1.35.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.uc&&d.uc(this,this.ka,this.H,this.ba);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.K=d:this.A=parseInt(d,10));var f;if(a=yd(this,"state")||(f=!0,a.state))b=this.W=a,f||(this.I=!0,this.A=GB),this.A&&(this.M=new Wf(this,
|
|
|
|
|
"1.35.0"),this.M.load()?b=null:delete this.M);!b&&this.A&&(b=IB(this))&&(this.I=!0);if(b){var g=this;Ka(b,null,!0,function(a,b,c){c?(g.K=null,g.I=!1,g.Fa("Unable to load machine state from server (error "+c+(b?": "+Ba(b):"")+")")):(g.L=b,g.Z=!0);Ib(g)})}else Ib(this);this.na.power||(this.N=!0);!c&&this.N&&JB(this,this.Mf)}else gb("Unable to find CPU component")}ba(EB,mb);
|
|
|
|
|
function FB(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){gb(d.message+" ("+c+")")}}a.J=b}function yd(a,b,c){var d=b.toLowerCase(),d=Ua(b)||Ua(d);void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function JB(a,b,c){for(var d=sb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Gb(f)){Gb(f,function(){JB(a,b,c)});return}}b.call(a,c)}
|
|
|
|
|
function KB(a,b){var c=new Wf(a,"1.35.0",LB);if(c.load()&&MB(c)){var d=c.get(NB),e=b?b.get(NB):"unknown";d!=e&&(a.Fa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=EB.prototype;
|
|
|
|
|
l.Mf=function(a){void 0===a&&(a=this.A||(this.L?OB:GB));if(!this.C){this.C++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Wf(this,"1.35.0");if(a==PB)b=!0;else if(a>GB){if(d.load(this.L)){this.F=new Wf(this,"1.35.0",QB);this.F.load()&&(RB(this,d),a=SB,TB(this.F));this.F.set(NB,Ea());UB(this.F);var e=this.A&&!this.I;if(a==OB||qb("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=MB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
|
|
|
|
g?(this.Fa("Error: "+g),"unable to verify user"==g&&(Ra(VB,""),this.B=null)):this.P(f+": "+g),TB(d),d.load()?(c=MB(d),e=!0):c=!1))}e&&KB(this,c?d:null)}else a==SB&&d.clear()}else KB(this);delete this.L;delete this.M}e=sb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=WB(this,g,d,b,c));b=[d,a,c];a!=PB?JB(this,this.nj,b):this.nj(b)}};
|
|
|
|
|
function WB(a,b,c,d,e){if(!b.ea.Yb){b.ea.Yb=!0;if(b.Xb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Xb(f,d)&&f&&(gb("Unable to restore state for "+b.type),a.W&&!a.Z?(c.clear(),a.A=GB,window&&window.location.reload()):a.Y=!0,b.Xb(null),e=!1)}if(!d&&b.yj)for(a=b.yj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
|
|
|
|
l.nj=function(a){var b=a[0],c=0>a[1];a=a[2];this.ga=!0;this.ea.Yb=!0;var d=this.na.power;d&&(d.textContent="Shutdown");this.H&&(WB(this,this.H,b,c,a),this.H.mf());this.Y&&(RB(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
|
|
|
|
|
function RB(a,b){if(qb("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.0"};d.url=a.da;d.user=c;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}}
|
|
|
|
|
function lB(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Wf(a,"1.35.0"),g=new Wf(a,"1.35.0",LB),h=Ea();g.set(NB,h);f.set(NB,h);f.set(XB,"1.35.0");f.set(YB,window?window.location.href:null);f.set(ZB,Ma());a.H&&a.H.Wb&&(c&&a.H.Jb(),d=a.H.Wb(b,c),"object"===typeof d&&f.set(a.H.id,d),c&&(a.H.ea.Yb=!1,!1===d&&(e=null)));for(var h=sb(a.id),k=0;k<h.length;k++){var m=h[k];m.ea.Yb&&(m.Wb&&(d=m.Wb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ea.Yb=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.B&&$B(a,
|
|
|
|
|
a.B,f.toString()),UB(g)&&UB(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==aC),d&&f.clear(h)):e=f.toString());c&&(a.ea.Yb=!1,b=a.na.power)&&(b.textContent="Power");a.C=0;return e}l.reset=function(){this.ka&&this.ka.reset&&(Lb(this,"Resetting "+this.ka.type),this.ka.reset());for(var a=sb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(Lb(this,"Resetting "+c.type),c.reset())}};
|
|
|
|
|
l.start=function(a,b){for(var c=sb(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=sb(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.C||(d.ea.Yb?kB(d,!1,!0):IB(d,d.Mf))},!0;case "reset":return this.na[b]=c,c.onclick=function(){if(d.ea.Yb&&!d.C)if(d.A&&!d.K){var a=qb("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");kB(d,a,!0);!a&&d.W?window&&window.location.reload():(a||(d.O=!0),d.Mf(FB),d.O=!1)}else d.reset(),d.H&&d.H.mf()},!0;case "save":if(wa(La(),"pcjs.org"))c.parentNode.removeChild(c);
|
|
|
|
|
else return this.na[b]=c,c.onclick=function(){var a=GB(d,!0);if(a){var b=!!(d.A&&!d.K||d.W),c=kB(d,b);b?ZB(d,a,c):d.Fa("Resume disabled, machine state not saved")}},!0}return!1};
|
|
|
|
|
function GB(a,b){var c=a.B;c||((c=Pa(UB),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=lC(a,c))||a.Fa("The user ID is invalid.")):b&&a.Fa("Browser local storage is not available"));return c}
|
|
|
|
|
function lC(a,b){a.B=null;b=Ka(La()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(UB,b.data),a.B=b.data)}catch(d){gb(d.message+" ("+c+")")}return a.B}function HB(a){var b=null;a.B&&(b=La()+"/api/v1/user?req=load&user="+a.B+"&state="+mC(a,"1.35.0"));return b}
|
|
|
|
|
function ZB(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=mC(a,"1.35.0");d.data=c;b=Ka(La()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Fa("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.Fa(c),Ra(UB,""),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.C||(d.ea.Yb?lB(d,!1,!0):JB(d,d.Mf))},!0;case "reset":return this.na[b]=c,c.onclick=function(){if(d.ea.Yb&&!d.C)if(d.A&&!d.K){var a=qb("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");lB(d,a,!0);!a&&d.W?window&&window.location.reload():(a||(d.O=!0),d.Mf(GB),d.O=!1)}else d.reset(),d.H&&d.H.mf()},!0;case "save":if(wa(La(),"pcjs.org"))c.parentNode.removeChild(c);
|
|
|
|
|
else return this.na[b]=c,c.onclick=function(){var a=HB(d,!0);if(a){var b=!!(d.A&&!d.K||d.W),c=lB(d,b);b?$B(d,a,c):d.Fa("Resume disabled, machine state not saved")}},!0}return!1};
|
|
|
|
|
function HB(a,b){var c=a.B;c||((c=Pa(VB),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=mC(a,c))||a.Fa("The user ID is invalid.")):b&&a.Fa("Browser local storage is not available"));return c}
|
|
|
|
|
function mC(a,b){a.B=null;b=Ka(La()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(VB,b.data),a.B=b.data)}catch(d){gb(d.message+" ("+c+")")}return a.B}function IB(a){var b=null;a.B&&(b=La()+"/api/v1/user?req=load&user="+a.B+"&state="+nC(a,"1.35.0"));return b}
|
|
|
|
|
function $B(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=nC(a,"1.35.0");d.data=c;b=Ka(La()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Fa("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.Fa(c),Ra(VB,""),a.B=null)}}
|
|
|
|
|
function Wb(a,b,c){a=sb(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.md=function(a){if(this.G.length){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.G[0];d.D&&d.D.focus();!a&&window&&window.scrollTo(b,c)}};
|
|
|
|
|
function Md(a,b){a.H&&(a=a.H,a.uj&&(b||!a.ea.vb||a.ea.lj)&&(Hg(a,"EAX",a.D),Hg(a,"EBX",a.G),Hg(a,"ECX",a.I),Hg(a,"EDX",a.L),Hg(a,"ESP",z(a)),Hg(a,"EBP",a.M),Hg(a,"ESI",a.K),Hg(a,"EDI",a.J),Hg(a,"CS",a.Z.U),Hg(a,"DS",a.Ca.U),Hg(a,"SS",a.Y.U),Hg(a,"ES",a.oa.U),Hg(a,"EIP",A(a)),b=qe(a),Hg(a,"PS",b),Hg(a,"V",b&2048),Hg(a,"D",b&1024),Hg(a,"I",b&512),Hg(a,"T",b&256),Hg(a,"S",b&128),Hg(a,"Z",b&64),Hg(a,"A",b&16),Hg(a,"P",b&4),Hg(a,"C",b&1),80386==a.ca&&(Hg(a,"FS",a.Ga.U),Hg(a,"GS",a.Ha.U),Hg(a,"CR0",a.qa),
|
|
|
|
|
Hg(a,"CR2",a.Dd),Hg(a,"CR3",a.Wc))),b=a.na.speed)&&(b.textContent=a.ea.vb&&a.T.Xd?a.T.Xd.toFixed(2)+"Mhz":"Stopped")}
|
|
|
|
|
function Sd(a,b){for(var c=0;c<a.G.length;c++)ys(a.G[c],b);if(a.D&&(a=a.D,a.oa)){fc(a,gc,a.K,a.ma);if(a.Ba){b=a.ka;var c=a.A,d,e;null==d&&(d=0);null==e&&(e=b.O-d|0);c||(c={bh:0,Id:0,Sg:[]});var f=d>>>b.A;d=d+e-1>>>b.A;c.bh=0;for(c.Id=0;f<=d;)e=b.aa[f],c.bh+=e.size,e.size&&(c.Sg.push(Fa(bc,f,0,0,e.type)),c.Id++),f++;a.A=c;a.da=a.A.Id*a.ka.B/(ac*kc);d=0;a.A.aj=0;a.A.lf||(a.A.lf=[]);e=-1;b=0;for(var g=-1,c=0;c<a.A.Id;c++){var h=a.A.Sg[c],f=Ga(bc.type,h),h=Ga(bc.Ik,h);if(f!=e||h!=g+1)(g=c-b)&&(d+=ic(a,
|
|
|
|
|
b,g,e)),e=f,b=c;g=h}d+=ic(a,b,c-b,e);e=a.A.Cl!=d;a.A.Cl=d;if(e){e=new Tb(0,0,a.K.width,a.K.height);a.A.De=[];b=a.A.Id;for(d=0;d<a.A.aj;d++)c=a.A.lf[d].Id,a.A.De.push(Ub(e,c,b,!d)),b-=c;for(d=0;d<a.A.De.length;d++)e=a.A.lf[d],b=c=a.A.De[d],f=a.ma,(g=ud[e.type])||(g=new Sb),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.Y=!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 "+jc),f=g,b.C=c,b.I=f,b=a,e=tc[e.type]+" ("+(e.Id*a.ka.B/1024|0)+"Kb)",b.D.font=b.M,b.C-=b.D.measureText(e).width>>1,b.I+=(b.J>>1)-2,hc(b,e),b.Y&&(b.D.restore(),b.Y=!1)}}else hc(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 PB="failsafe",KB="validate",MB="timestamp",WB="version",XB="url",YB="browser",UB="user",OB=-1,FB=0,NB=1,RB=2,$B=3;
|
|
|
|
|
$a(function(){for(var a=zb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=vb(c),c=zb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=vb(f),g=new DB(g,d,!0);yb(g,f);g.N&&IB(g,g.Mf)}});ab.show.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=vb(a[b]);(c=ub("Computer",c.id))&&c.ga&&!c.ea.Yb&&c.Mf(OB)}});
|
|
|
|
|
ab.exit.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=vb(a[b]);(c=ub("Computer",c.id))&&c.ea.Yb&&kB(c,!(!c.A||c.K),!0)}});function Wf(a,b,c){this.id=a.id;this.ba=a.ba;this.A="";this.state={};this.B=this.C=!1;this.key=mC(a,b,c);SB(this,a.Pk)}l=Wf.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:Na()&&(a=Pa(this.key))?(this.A=a,this.B=!0):!1};function LB(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){gb(c.message||c),b=!1}return b}function TB(a){var b=!0;if(Na()){var c=JSON.stringify(a.state);Ra(a.key,c)||(gb("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 SB(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){SB(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 mC(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 nC=0;
|
|
|
|
|
function oC(a,b,c,d,e,f){e("Loading "+a+"...");Ka(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):pC(h,a,b,c,d,e,f)})}
|
|
|
|
|
function pC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(ob(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),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?qC(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
|
|
|
|
function qC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(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);qC(a,b,c)}})}else c(a,null)}
|
|
|
|
|
function rC(a,b,c,d){function e(a){if(void 0===h){var b=g&&zb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=xa(a))}function f(a){e("Error: "+a);k&&(--nC||hb(!0));k=!1}var g,h,k=!0;nC++;pb[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.0/components.xsl");m=function(d,h){h?oC(c,null,null,!1,e,function(d,k){k?(ob(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--nC||hb(!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),--nC||hb(!0)):f("invalid machine element: "+
|
|
|
|
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?oC(b,a,d,!0,e,m):pC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function sC(a,b,c,d){hb(!1);return rC(a,b,c,d)}window.embedPC=sC;window.embedPCx86=sC;window.findMachineComponent=function(a,b){return ub(b,a+".machine")};
|
|
|
|
|
g),b.D.rotate(-Math.PI/2),c=g=0),h<b.J&&(b.J=h,b.M=b.J+"px "+jc),f=g,b.C=c,b.I=f,b=a,e=tc[e.type]+" ("+(e.Id*a.ka.B/1024|0)+"Kb)",b.D.font=b.M,b.C-=b.D.measureText(e).width>>1,b.I+=(b.J>>1)-2,hc(b,e),b.Y&&(b.D.restore(),b.Y=!1)}}else hc(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 QB="failsafe",LB="validate",NB="timestamp",XB="version",YB="url",ZB="browser",VB="user",PB=-1,GB=0,OB=1,SB=2,aC=3;
|
|
|
|
|
$a(function(){for(var a=zb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=vb(c),c=zb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=vb(f),g=new EB(g,d,!0);yb(g,f);g.N&&JB(g,g.Mf)}});ab.show.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=vb(a[b]);(c=ub("Computer",c.id))&&c.ga&&!c.ea.Yb&&c.Mf(PB)}});
|
|
|
|
|
ab.exit.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=vb(a[b]);(c=ub("Computer",c.id))&&c.ea.Yb&&lB(c,!(!c.A||c.K),!0)}});function Wf(a,b,c){this.id=a.id;this.ba=a.ba;this.A="";this.state={};this.B=this.C=!1;this.key=nC(a,b,c);TB(this,a.Pk)}l=Wf.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:Na()&&(a=Pa(this.key))?(this.A=a,this.B=!0):!1};function MB(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){gb(c.message||c),b=!1}return b}function UB(a){var b=!0;if(Na()){var c=JSON.stringify(a.state);Ra(a.key,c)||(gb("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 TB(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){TB(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 nC(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 oC=0;
|
|
|
|
|
function pC(a,b,c,d,e,f){e("Loading "+a+"...");Ka(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):qC(h,a,b,c,d,e,f)})}
|
|
|
|
|
function qC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(ob(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),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?rC(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
|
|
|
|
function rC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(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);rC(a,b,c)}})}else c(a,null)}
|
|
|
|
|
function sC(a,b,c,d){function e(a){if(void 0===h){var b=g&&zb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=xa(a))}function f(a){e("Error: "+a);k&&(--oC||hb(!0));k=!1}var g,h,k=!0;oC++;pb[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.0/components.xsl");m=function(d,h){h?pC(c,null,null,!1,e,function(d,k){k?(ob(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--oC||hb(!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),--oC||hb(!0)):f("invalid machine element: "+
|
|
|
|
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?pC(b,a,d,!0,e,m):qC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function tC(a,b,c,d){hb(!1);return sC(a,b,c,d)}window.embedPC=tC;window.embedPCx86=tC;window.findMachineComponent=function(a,b){return ub(b,a+".machine")};
|
|
|
|
|
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Bb[a]){for(var c=!0,d=Bb,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;Ab(a)||(c=!1)}return c};window.enableEvents=hb;window.sendEvent=kb;
|
|
|
|
|
function tC(a,b,c,d){if(!c&&b){d.push(b);a=pb[d[0]];b=null;for(var e in a)if(wa(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ka(b,null,!0,function(a,b){uC(b,d)}):uC(null,d)}else gb("Error ("+c+") requesting "+a)}
|
|
|
|
|
function uC(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=pb[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 uC(a,b,c,d){if(!c&&b){d.push(b);a=pb[d[0]];b=null;for(var e in a)if(wa(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ka(b,null,!0,function(a,b){vC(b,d)}):vC(null,d)}else gb("Error ("+c+") requesting "+a)}
|
|
|
|
|
function vC(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=pb[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=Wa(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.",gb(a)):gb("Missing XML/XSL resources")}
|
|
|
|
|
window.savePC=function(a,b,c){var d=ub("Computer",a),e=ub("Debugger",a);if(d){var f=kB(d,!0),g=d.J?JSON.stringify(d.J):null;b||(b="/versions/pcx86/1.35.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Pk:g}))return!0;Ka(b,null,!0,function(c,d,e){tC(c,d,e,[a,ta(b,!0),g,f])});return!0}gb("Unable to identify machine '"+a+"'");return!1};})();
|
|
|
|
|
window.savePC=function(a,b,c){var d=ub("Computer",a),e=ub("Debugger",a);if(d){var f=lB(d,!0),g=d.J?JSON.stringify(d.J):null;b||(b="/versions/pcx86/1.35.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Pk:g}))return!0;Ka(b,null,!0,function(c,d,e){uC(c,d,e,[a,ta(b,!0),g,f])});return!0}gb("Unable to identify machine '"+a+"'");return!1};})();
|
|
|
|
|
|