More MACRO-10 parsing improvements
This commit is contained in:
parent
3da33e3668
commit
fb83d1e503
8 changed files with 869 additions and 806 deletions
|
|
@ -229,9 +229,9 @@ function Fi(a){Ye.call(this);return a}function Gi(a,b){a=Hi.call(this,this.S(),b
|
|||
function Hi(a,b){a=(a<<16>>16)*(b<<16>>16)|0;32767<a||-32768>a?(kg(this),mg(this)):(lg(this),ng(this));this.A-=-1===this.C?9:12;return a&65535}function Ji(a,b){Ki.call(this,a,b);this.Ya!=this.Ba>>31?(kg(this),mg(this)):(lg(this),ng(this));this.A-=-1===this.C?9:12;return this.Ba}function Mi(a,b){this.A-=14+(-1===this.C?0:2);rg(this);-1!==this.xb.load(b)&&this.xb.qc>=this.Ma&&this.xb.qc>=(b&3)&&(vg(this),a=this.xb.mb&-256,2<this.W&&(a|=(this.xb.ext&-65281)<<16));return a}
|
||||
function Ni(a,b){if(-1===this.C)return Ye.call(this),a;ne(this,this.ja(this.C+this.W));this.A-=this.B.Xe;return b}function Oi(){this.A-=this.B.kk;return this.C}function Pi(a,b){if(-1===this.C)return Ye.call(this),a;oe(this,this.ja(this.C+this.W));this.A-=this.B.Xe;return b}function Qi(a,b){if(-1===this.C)return Ye.call(this),a;a=this.ja(this.C+this.W);this.Ga.load(a);this.A-=this.B.Xe;return b}
|
||||
function Ri(a,b){if(-1===this.C)return Ye.call(this),a;a=this.ja(this.C+this.W);this.Ha.load(a);this.A-=this.B.Xe;return b}function Si(a,b){this.A-=14+(-1===this.C?0:2);if(b&65528&&-1!==this.xb.load(b)&&(7168==(this.xb.mb&7168)||this.xb.qc>=this.Ma)&&this.xb.qc>=(b&3))return vg(this),this.xb.Ka;rg(this);return a}function Ti(a,b){if(-1===this.C)return Ye.call(this),a;ge(this,this.ja(this.C+this.W));this.A-=this.B.Xe;return b}
|
||||
function dj(a,b){this.A-=-1===this.F?-1===this.C?this.B.sk:this.B.rk:this.B.pk;return b}function ej(a,b){switch(this.ga>>3&7){case 4:this.xa=this.D;break;case 5:this.xa=this.I;break;case 6:this.xa=this.L;break;case 7:this.xa=this.G}return b}function fj(a,b){return b}
|
||||
function gj(a,b){a=this.ga>>3&7;switch(a){case 0:this.xa=this.D;break;case 2:this.xa=this.L;break;case 3:this.xa=this.G;break;default:if(80286==this.ca||80386==this.ca&&4!=a&&5!=a)y.call(this,6);else switch(a){case 1:this.xa=this.I;break;case 4:this.xa=z(this);break;case 5:this.xa=this.M;break;case 6:this.xa=this.K;break;case 7:this.xa=this.J}}return dj.call(this,0,b)}
|
||||
function hj(a,b){switch(this.ga>>3&7){case 0:b=this.oa.U;break;case 1:b=this.Z.U;break;case 2:b=this.Y.U;break;case 3:b=this.Ca.U;break;case 4:if(80386<=this.ca){b=this.Ga.U;break}y.call(this,6);b=a;break;case 5:if(80386<=this.ca){b=this.Ha.U;break}default:y.call(this,6),b=a}-1!==this.F&&ke(this,2);return dj.call(this,0,b)}
|
||||
function Ui(a,b){this.A-=-1===this.F?-1===this.C?this.B.sk:this.B.rk:this.B.pk;return b}function ej(a,b){switch(this.ga>>3&7){case 4:this.xa=this.D;break;case 5:this.xa=this.I;break;case 6:this.xa=this.L;break;case 7:this.xa=this.G}return b}function fj(a,b){return b}
|
||||
function gj(a,b){a=this.ga>>3&7;switch(a){case 0:this.xa=this.D;break;case 2:this.xa=this.L;break;case 3:this.xa=this.G;break;default:if(80286==this.ca||80386==this.ca&&4!=a&&5!=a)y.call(this,6);else switch(a){case 1:this.xa=this.I;break;case 4:this.xa=z(this);break;case 5:this.xa=this.M;break;case 6:this.xa=this.K;break;case 7:this.xa=this.J}}return Ui.call(this,0,b)}
|
||||
function hj(a,b){switch(this.ga>>3&7){case 0:b=this.oa.U;break;case 1:b=this.Z.U;break;case 2:b=this.Y.U;break;case 3:b=this.Ca.U;break;case 4:if(80386<=this.ca){b=this.Ga.U;break}y.call(this,6);b=a;break;case 5:if(80386<=this.ca){b=this.Ha.U;break}default:y.call(this,6),b=a}-1!==this.F&&ke(this,2);return Ui.call(this,0,b)}
|
||||
function Li(a,b){if(a&-65536||b&-65536){var c=b&65535;b>>>=16;var d=a&65535;a>>>=16;var e=c*d,d=(e>>>16)+b*d,f=d>>>16,d=(d&65535)+c*a;this.Ba=d<<16|e&65535;this.Ya=f+((d>>>16)+b*a)|0}else this.Ba=a*b|0,this.Ya=0}function ij(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return jg(this,a|b,128)}function jj(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return jg(this,a|b,this.Fb)&this.R}
|
||||
function kj(a,b){var c=a-b-pg(this)|0;cg(this,a,b,c,191,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&255}function lj(a,b){var c=a-b-pg(this)|0;cg(this,a,b,c,this.Fb|63,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&this.R}function mj(){return ig(this)?1:0}function nj(){return dg(this)?1:0}function oj(){return dg(this)?0:1}function pj(){return gg(this)?1:0}function qj(){return gg(this)?0:1}function rj(){return dg(this)||gg(this)?1:0}
|
||||
function sj(){return dg(this)||gg(this)?0:1}function tj(){return hg(this)?1:0}function uj(){return hg(this)?0:1}function vj(){return eg(this)?1:0}function wj(){return eg(this)?0:1}function xj(){return!hg(this)!=!ig(this)?1:0}function yj(){return!hg(this)!=!ig(this)?0:1}function zj(){return gg(this)||!hg(this)!=!ig(this)?1:0}function Aj(){return gg(this)||!hg(this)!=!ig(this)?0:1}function Bj(a,b){return Cj.call(this,a,b,this.ra())}function Dj(a,b){return Ej.call(this,a,b,this.ra())}
|
||||
|
|
@ -344,7 +344,7 @@ function Pe(){var a=1,b=0,c=this.wa,d=5;this.ha&192&&(a=this.I&c,b=1,this.ha&256
|
|||
function pk(){var a=this.S();ig(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function qk(){var a=this.S();dg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function rk(){var a=this.S();dg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function sk(){var a=this.S();gg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function tk(){var a=this.S();gg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}
|
||||
function uk(){var a=this.S();dg(this)||gg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function vk(){var a=this.S();dg(this)||gg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function wk(){var a=this.S();hg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function xk(){var a=this.S();hg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function yk(){var a=this.S();eg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}
|
||||
function zk(){var a=this.S();eg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function Ak(){var a=this.S();!hg(this)!=!ig(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function Bk(){var a=this.S();!hg(this)==!ig(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function Ck(){var a=this.S();gg(this)||!hg(this)!=!ig(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}
|
||||
function Dk(){var a=this.S();gg(this)||!hg(this)!=!ig(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function Ek(){this.kd.call(this,Fk,this.ra);this.A-=-1===this.F?1:this.B.yg}function Gk(){this.N|=1;this.tc.call(this,dj)}function Hk(){this.N|=1;this.za.call(this,dj)}function Ik(){this.kc.call(this,dj)}function Jk(){this.ma.call(this,dj)}function Qe(){this.kd.call(this,Kk,fk)}function Re(){this.ib.call(this,2==this.W?Lk:Mk,fk)}
|
||||
function Dk(){var a=this.S();gg(this)||!hg(this)!=!ig(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function Ek(){this.kd.call(this,Fk,this.ra);this.A-=-1===this.F?1:this.B.yg}function Gk(){this.N|=1;this.tc.call(this,Ui)}function Hk(){this.N|=1;this.za.call(this,Ui)}function Ik(){this.kc.call(this,Ui)}function Jk(){this.ma.call(this,Ui)}function Qe(){this.kd.call(this,Kk,fk)}function Re(){this.ib.call(this,2==this.W?Lk:Mk,fk)}
|
||||
function Nk(){var a=Hg(this),b=fe(this);C(this,b);a&&he(this,z(this)+a);this.A-=this.B.Ek}function Ok(){var a=fe(this);C(this,a);this.A-=this.B.Bk}function Se(){this.ta=this.Aa;var a=Hg(this),b=this.ra()&31;this.A-=11;pe(this,this.M);var c=z(this)&this.R;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.M=this.M&~this.R|this.M-this.W&this.R,pe(this,le(this,this.Y,this.M&this.R));pe(this,c)}this.M=this.M&~this.R|c;he(this,z(this)&~this.Y.wa|z(this)-a&this.Y.wa);this.ta=-1}
|
||||
function Te(){this.ta=this.Aa;he(this,z(this)&~this.Y.wa|this.M&this.Y.wa);this.M=this.M&~this.R|fe(this)&this.R;this.A-=5;this.ta=-1}function Pk(){kk.call(this,Hg(this));this.A-=this.B.Dk}function Qk(){kk.call(this,0);this.A-=this.B.Ck}function Rk(a){this.sj=a;this.ma.call(this,Di)}function Sk(){this.N|=36;this.A-=this.B.bd}function Ue(){Ye.call(this)}function Ee(){y.call(this,6)}
|
||||
function Ye(){C(this,this.Bd-this.Z.ua);Gb(this,"Undefined opcode "+r(this.Ia(this.da))+" at "+q(this.da,8,!0));this.Jb()}
|
||||
|
|
@ -570,29 +570,29 @@ function Os(a,b){var c,d=a.oa,e=a.C;if(e)if(e.La==ps)d=Es;else if(e.La>=bq){var
|
|||
350>f?d=m?ot:pt:480<=f&&(d=a.ga==Ul?qt:rt):d=m?7-d:st:d-=m?2:0);c=ft(a)}}else e.Xc&8&&(e.Xc&2?(d=e.Xc&16?st:tt,e.Xc&4||--d):(d=e.Xc&1?Cs:ut,e.Xc&4&&--d));else a.oa=null,null==d&&(d=a.da);if(!Hs(a,d,b))return!1;gt(a,c);return!0}
|
||||
function Hs(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Ad=0;a.oa=b;a.Ga=!1;b=a.C||(b==Es?a.Y:a.K);if(b!=a.C||b.cb!=a.cb||b.Ob!=a.Ob){ct(a);if(a.cb){if(!Cc(a.ka,a.cb,a.Ob))return!1;a.C&&(a.C.rc=!1)}a.C=b;b.rc=!0;a.cb=b.cb;a.Ob=b.Ob;if(!pc(a.ka,b.cb,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=is[Es][2];b=0;if(c=is[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!=Ws||(7==(a.A.Wa[fs]&31)?a.J=350>Kr(a.A,Wr)?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.ab=0;b&&(a.Ya=a.F*b.Fc,a.ab=a.J*b.Gc)}else a.qa=a.ta=1,a.Ya=a.F,a.ab=a.J;a.Ha=a.L.createImageData(a.Ya,a.ab);a.Ba=document.createElement("canvas");a.Ba.width=a.Ya;a.Ba.height=a.ab;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)}}Tt(a,!0);zs(a)}return!0}function at(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 Tt(a,b){b||(a.Ga=!1);Vt(a)}
|
||||
function et(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.va[a.I];h.jf&&(d=h.jf[d]);var k=g>>4&15;h.jf&&(k=h.jf[k]);e?(b*=h.Fc,c*=h.Gc,e.fillStyle=h.Be[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.Be[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.Sg[d],k,f,h.Fc,h.Gc,b,c,h.Fc,h.Gc):a.L.drawImage(h.Sg[d],k,f,h.Fc,h.Gc,b,c,a.qa,a.ta));g&dt&&(f=a.md,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.Be[d],e.fillRect(b,
|
||||
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)}}vt(a,!0);zs(a)}return!0}function at(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 wt(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 vt(a,b){b||(a.Ga=!1);wt(a)}
|
||||
function et(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.va[a.I];h.jf&&(d=h.jf[d]);var k=g>>4&15;h.jf&&(k=h.jf[k]);e?(b*=h.Fc,c*=h.Gc,e.fillStyle=h.Be[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.Be[k],a.L.fillRect(b,c,a.qa,a.ta));g&Vt&&(k=(f&15)*h.Fc,f=(f>>4)*h.Gc,e?e.drawImage(h.Sg[d],k,f,h.Fc,h.Gc,b,c,h.Fc,h.Gc):a.L.drawImage(h.Sg[d],k,f,h.Fc,h.Gc,b,c,a.qa,a.ta));g&dt&&(f=a.md,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.Be[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.Be[d],a.L.fillRect(b,c+f,a.qa,g)))}
|
||||
function zs(a,b){if(a.ea.Yb){var c=!1,d=a.C;d&&(d!==a.A?d.Xc&8&&(c=!0):d.wd&32&&(c=!0));if(c||b){if(b)Vt(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Ad&15)&&0<=a.Aa&&(a.Aa++,e=!0);var f=0,g=a.Wc,h=a.cb,c=h,k=c+a.Ob;a.oa>=lt&&(h=c=655360,k=c+65536);if(Xt(a,d)&8||d.Ye&&d.Ye<d.fi){var m=(d.Wa[12]<<8)+d.Wa[13]|0;d.vd!==m&&(d.vd=m,Tt(a));d.Ye=0}m=d.vd;a.I&&(m<<=1);c+=m;m=a.Xa;a.La>=bq&&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<=Es&&
|
||||
(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].qj=!0),m-=b.B,v++;b=p}if(b){if(!e)return;if(!a.xa){f=a.aa-d.vd;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>=bq&&(p=a.C.Cc[16]&8);m=a.aa-a.C.vd;p&&(e=Is<<8,b&=~e,a.Aa&2||(b&=~h));for(c+=d<<1;c<k&&d<g;)p=Jc(a.ka,c),p|=h,p&e&&(a.xa++,p&=b),d==m&&(p|=a.Aa&1?dt<<8:0),a.ma&&p===a.M[d]||(et(a,d%a.F,d/a.F|0,p,a.Ca),
|
||||
function zs(a,b){if(a.ea.Yb){var c=!1,d=a.C;d&&(d!==a.A?d.Xc&8&&(c=!0):d.wd&32&&(c=!0));if(c||b){if(b)wt(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Ad&15)&&0<=a.Aa&&(a.Aa++,e=!0);var f=0,g=a.Wc,h=a.cb,c=h,k=c+a.Ob;a.oa>=lt&&(h=c=655360,k=c+65536);if(Xt(a,d)&8||d.Ye&&d.Ye<d.fi){var m=(d.Wa[12]<<8)+d.Wa[13]|0;d.vd!==m&&(d.vd=m,vt(a));d.Ye=0}m=d.vd;a.I&&(m<<=1);c+=m;m=a.Xa;a.La>=bq&&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<=Es&&
|
||||
(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].qj=!0),m-=b.B,v++;b=p}if(b){if(!e)return;if(!a.xa){f=a.aa-d.vd;if(0>f)return;g=f+1}}if(a.I){if(a.va[a.I]){d=f;f=0;e=a.xa=0;h=Vt<<8;b=1048575;p=a.C.Xc&32;a.La>=bq&&(p=a.C.Cc[16]&8);m=a.aa-a.C.vd;p&&(e=Is<<8,b&=~e,a.Aa&2||(b&=~h));for(c+=d<<1;c<k&&d<g;)p=Jc(a.ka,c),p|=h,p&e&&(a.xa++,p&=b),d==m&&(p|=a.Aa&1?dt<<8:0),a.ma&&p===a.M[d]||(et(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.ab,a.vc,a.zc,a.Qb,a.Rb);bt(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=Qs(a,h);for(var p=m=0,v=a.F,E=0,K=a.J,H=0;k<g;){u=Jc(a.ka,k);if(a.ma&&u===a.M[d])m+=f;else{a.M[d]=u;u=u>>8|(u&255)<<8;var I=e,T=16;m<v&&(v=m);for(var L=0;L<f;L++){var ua=(u&(I>>=h))>>(T-=h);at(a.Ha,m++,p,b[ua])}m>E&&(E=m);p<K&&(K=p);p>=H&&(H=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,K,E-v,H-K),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=Qs(a,8);h=a.C.fd;m=b=0;p=a.F;v=0;E=a.J;K=0;H=a.C.$d[4]&8?4:1;u=a.C.Cc[19]&15;for(I=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++)at(a.Ha,b++,m,e[d&255]),d>>=8;b>v&&(v=b);m<E&&(E=m);m>=K&&(K=m+1)}c+=H;if(b>=a.F){b=0;if(++m>a.J)break;c+=I}}u||(a.ma=!0);p<a.F&&(a.Ca.putImageData(a.Ha,0,0,p,E,v-p,K-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=Qs(a);e=a.C.fd;b=h=0;m=a.F;p=0;v=a.J;E=0;K=a.C.Cc[19]&15;for(H=a.Ma>a.F?a.Ma-a.F-K>>3:0;c<k;){u=c++-g;u=e[u];T=8;K?h?(I=a.F-h,T>I&&(T=I)):(u<<=K,T-=K,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(I=0;I<T;I++)L=Yt[u&2155905152]||0,at(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+=H}}K||(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 Xt(a,b){var c=0;a=Ed(a.H)-b.wh;0>a&&(b.wh=a,a=-a|0);a%b.rh>b.mn&&(c|=1);a%b.uh>b.on&&(c|=9);b.fi=a/b.uh|0;return c}l.Cm=function(a,b){return Zt(this,this.Y,a,b)};l.fo=function(a,b,c){var d=this.Y;d.Fg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.Bm=function(a,b){return $t(this,this.Y,a,b)};l.eo=function(a,b,c){au(this,this.Y,a,b,c)};l.Dm=function(a,b){return bu(this,this.Y,b)};l.ho=function(a,b,c){a=this.Y;w(this,a.port+4,b,c,"MODE");a.Xc=b;Os(this,!1)};
|
||||
l.Em=function(a,b){return cu(this,this.Y,b)};l.Mk=function(a,b,c){this.A.Pf=this.A.Pf&-4|b&3;w(this,a,b,c,"FEAT")};l.am=function(a,b){a=this.A.wd;b&&!t(this)||w(this,960,null,b,"ATC.INDX",a);return a};l.rl=function(a,b){a=this.A.Cc[this.A.wd&31];b&&!t(this)||w(this,960,null,b,"ATC."+this.A.Tg[this.A.wd&31],a);return a};
|
||||
l.Lk=function(a,b,c){var d=this.A,e=d.wd&32;if(d.Ke){d.Ke=!1;var f=d.wd&31;if(16<=f||!e)if(du||d.Cc[f]!==b)c&&!t(this)||w(this,a,b,c,"ATC."+d.Tg[f]),d.Cc[f]=b,Tt(this,!1)}else d.wd=b,w(this,a,b,c,"ATC.INDX"),d.Ke=!0,b&32&&!e&&Gs(this,!0)&&zs(this,!0),a=(d.Wa[12]<<8)+d.Wa[13]|0,d.vd!=a&&(d.vd=a,Tt(this)),d.Ye=0};
|
||||
l.Lk=function(a,b,c){var d=this.A,e=d.wd&32;if(d.Ke){d.Ke=!1;var f=d.wd&31;if(16<=f||!e)if(du||d.Cc[f]!==b)c&&!t(this)||w(this,a,b,c,"ATC."+d.Tg[f]),d.Cc[f]=b,vt(this,!1)}else d.wd=b,w(this,a,b,c,"ATC.INDX"),d.Ke=!0,b&32&&!e&&Gs(this,!0)&&zs(this,!0),a=(d.Wa[12]<<8)+d.Wa[13]|0,d.vd!=a&&(d.vd=a,vt(this)),d.Ye=0};
|
||||
l.Om=function(a,b){a=0;if(this.La==bq)a=3-((this.A.af&12)>>2),a=(this.xb&1<<a)<<4-a;else{var c=this.A.$e[0];45!=(c&63)&&2880!=(c&4032)&&184320!=(c&258048)&&(a|=16)}a|=this.A.Ig&-17;this.A.Ig=a;w(this,962,null,b,"STATUS0",a);return a};l.io=function(a,b,c){this.A.af=b;Fs(this);w(this,962,b,c,"MISC")};l.Pm=function(a,b){a=this.A.ki;w(this,963,null,b,"VGA_ENABLE",a);return a};l.qo=function(a,b,c){this.A.ki=b;w(this,963,b,c,"VGA_ENABLE")};
|
||||
l.Mm=function(a,b){a=this.A.zd;w(this,964,null,b,"SEQ.INDX",a);return a};l.oo=function(a,b,c){this.A.zd=b;w(this,964,b,c,"SEQ.INDX")};l.Lm=function(a,b){a=this.A.$d[this.A.zd];b&&!t(this)||w(this,965,null,b,"SEQ."+this.A.Vg[this.A.zd],a);return a};l.no=function(a,b,c){if(du||this.A.$d[this.A.zd]!==b)c&&!t(this)||w(this,965,b,c,"SEQ."+this.A.Vg[this.A.zd]),this.A.$d[this.A.zd]=b;switch(this.A.zd){case 2:this.A.gb=gs[b&15];break;case 4:gt(this,ft(this))&&zs(this,!0)}};
|
||||
l.nm=function(a,b){a=this.A.Gg;b&&!t(this)||w(this,966,null,b,"DAC.MASK",a);return a};l.On=function(a,b,c){if(du||this.A.Gg!==b)c&&!t(this)||w(this,966,b,c,"DAC.MASK"),this.A.Gg=b};l.om=function(a,b){a=this.A.Hg;b&&!t(this)||w(this,967,null,b,"DAC.STATE",a);return a};l.Pn=function(a,b,c){c&&!t(this)||w(this,967,b,c,"DAC.READ");this.A.dd=b;this.A.Hg=3;this.A.xc=0};l.Qn=function(a,b,c){c&&!t(this)||w(this,968,b,c,"DAC.WRITE");this.A.dd=b;this.A.Hg=Br;this.A.xc=0};
|
||||
l.mm=function(a,b){a=this.A.$e[this.A.dd]>>this.A.xc&63;b&&!t(this)||w(this,969,null,b,"DAC.DATA["+r(this.A.dd)+"]["+r(this.A.xc)+"]",a);this.A.xc+=6;12<this.A.xc&&(this.A.xc=0,this.A.dd=this.A.dd+1&Cr-1);return a};l.Nn=function(a,b,c){a=this.A.$e[this.A.dd];c&&!t(this)||w(this,969,b,c,"DAC.DATA["+r(this.A.dd)+"]["+r(this.A.xc)+"]");b=a&~(63<<this.A.xc)|(b&63)<<this.A.xc;a!==b&&(this.A.$e[this.A.dd]=b,Tt(this,!1));this.A.xc+=6;12<this.A.xc&&(this.A.xc=0,this.A.dd=this.A.dd+1&Cr-1)};
|
||||
l.mm=function(a,b){a=this.A.$e[this.A.dd]>>this.A.xc&63;b&&!t(this)||w(this,969,null,b,"DAC.DATA["+r(this.A.dd)+"]["+r(this.A.xc)+"]",a);this.A.xc+=6;12<this.A.xc&&(this.A.xc=0,this.A.dd=this.A.dd+1&Cr-1);return a};l.Nn=function(a,b,c){a=this.A.$e[this.A.dd];c&&!t(this)||w(this,969,b,c,"DAC.DATA["+r(this.A.dd)+"]["+r(this.A.xc)+"]");b=a&~(63<<this.A.xc)|(b&63)<<this.A.xc;a!==b&&(this.A.$e[this.A.dd]=b,vt(this,!1));this.A.xc+=6;12<this.A.xc&&(this.A.xc=0,this.A.dd=this.A.dd+1&Cr-1)};
|
||||
l.Qm=function(a,b){a=this.A.Pf;w(this,970,null,b,"FEAT",a);return a};l.$n=function(a,b,c){this.A.Xk=b;w(this,970,b,c,"GRC2")};l.Rm=function(a,b){a=this.A.af;w(this,972,null,b,"MISC",a);return a};l.Zn=function(a,b,c){this.A.Wk=b;w(this,972,b,c,"GRC1")};l.vm=function(a,b){a=this.A.yd;w(this,974,null,b,"GRC.INDX",a);return a};l.Yn=function(a,b,c){this.A.yd=b;w(this,974,b,c,"GRC.INDX")};l.um=function(a,b){a=this.A.xd[this.A.yd];b&&!t(this)||w(this,975,null,b,"GRC."+this.A.Ug[this.A.yd],a);return a};
|
||||
l.Xn=function(a,b,c){if(du||this.A.xd[this.A.yd]!==b)c&&!t(this)||w(this,975,b,c,"GRC."+this.A.Ug[this.A.yd]),this.A.xd[this.A.yd]=b;switch(this.A.yd){case 0:this.A.Hf=gs[b&15];this.A.Yd=this.A.Hf&~this.A.Md;break;case 1:this.A.Md=~gs[b&15];this.A.Yd=this.A.Hf&~this.A.Md;break;case 2:this.A.ph=gs[b&15]&-2139062144;break;case 3:case 5:gt(this,ft(this));break;case 4:this.A.ei=(b&3)<<3;break;case 6:Os(this,!1);break;case 7:this.A.qh=gs[b&15]&-2139062144;break;case 8:this.A.Bb=b|b<<8|b<<16|b<<24}};
|
||||
l.gm=function(a,b){return Zt(this,this.K,a,b)};l.In=function(a,b,c){var d=this.K;d.Fg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.fm=function(a,b){return $t(this,this.K,a,b)};l.Hn=function(a,b,c){au(this,this.K,a,b,c)};l.hm=function(a,b){return bu(this,this.K,b)};l.Jn=function(a,b,c){a=this.K;w(this,a.port+4,b,c,"MODE");a.Xc=b;Os(this,!1)};l.em=function(a,b){var c=this.K.Ze;b&&!t(this)||w(this,a,null,b,this.K.type+".COLOR",c);return c};
|
||||
l.Gn=function(a,b,c){c&&!t(this)||w(this,a,b,c,this.K.type+".COLOR");this.K.Ze!==b&&(this.K.Ze=b,Tt(this,!1))};l.im=function(a,b){return cu(this,this.K,b)};function Zt(a,b,c,d){var e;b.rc&&(e=b.ec);w(a,c,null,d,"CRTC.INDX",e);return e}function $t(a,b,c,d){var e;b.rc&&b.ec<b.oh&&(e=b.Wa[b.ec]);d&&!t(a)||w(a,c,null,d,"CRTC."+b.gg[b.ec],e);return e}
|
||||
function au(a,b,c,d,e){if(b.ec<b.oh){if(du||b.Wa[b.ec]!==d)e&&!t(a)||w(a,c,d,e,"CRTC."+b.gg[b.ec]),b.Wa[b.ec]=d;if(12==b.ec||13==b.ec)Xt(a,b)&1?(c=(b.Wa[12]<<8)+b.Wa[13]|0,b.vd!==c&&(b.vd=c,Tt(a))):b.Ye||(b.Ye=b.fi);(9==b.ec&&8!=b.Fg||b.ec==Wr&&223==d)&&Os(a,!0);Ps(a)}}function bu(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function cu(a,b,c){var d=Xt(a,b);b===a.A?(d|=b.fa&48^48,b.Ke=!1):d=(b.fa^=9)|240;b.fa=d;w(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
|
||||
l.Gn=function(a,b,c){c&&!t(this)||w(this,a,b,c,this.K.type+".COLOR");this.K.Ze!==b&&(this.K.Ze=b,vt(this,!1))};l.im=function(a,b){return cu(this,this.K,b)};function Zt(a,b,c,d){var e;b.rc&&(e=b.ec);w(a,c,null,d,"CRTC.INDX",e);return e}function $t(a,b,c,d){var e;b.rc&&b.ec<b.oh&&(e=b.Wa[b.ec]);d&&!t(a)||w(a,c,null,d,"CRTC."+b.gg[b.ec],e);return e}
|
||||
function au(a,b,c,d,e){if(b.ec<b.oh){if(du||b.Wa[b.ec]!==d)e&&!t(a)||w(a,c,d,e,"CRTC."+b.gg[b.ec]),b.Wa[b.ec]=d;if(12==b.ec||13==b.ec)Xt(a,b)&1?(c=(b.Wa[12]<<8)+b.Wa[13]|0,b.vd!==c&&(b.vd=c,vt(a))):b.Ye||(b.Ye=b.fi);(9==b.ec&&8!=b.Fg||b.ec==Wr&&223==d)&&Os(a,!0);Ps(a)}}function bu(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function cu(a,b,c){var d=Xt(a,b);b===a.A?(d|=b.fa&48^48,b.Ke=!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 du=!0,ut=1,kt=2,Cs=3,tt=5,st=6,Es=7,ot=13,pt=14,it=15,jt=16,qt=17,rt=18,lt=19,mt=20,nt=21,ht=255,Xs=1,Ws=3,ps=Xs,ms=Ws,bq=5,dq=7,hs={mda:[ps,Es],cga:[ms,Cs],ega:[bq,Cs],vga:[dq,Cs]},Hr={2:{xg:15700,wg:208,Dg:85,Eg:96}};Hr[Ul]={xg:18432,wg:364,Dg:85,Eg:96};Hr[4]={xg:21850,wg:364,Dg:85,Eg:96};Hr[7]={xg:16700,wg:480,Dg:85,Eg:83};var Ds={6:[1,Ul,!0],7:[2,Ul,!0],8:[6,Ul,!0],9:[4,Ul,!0],10:[Ul,1,!0],11:[Ul,2,!0],0:[1,Ul,!1],1:[2,Ul,!1],2:[6,Ul,!1],3:[4,Ul,!1],4:[Ul,1,!1],5:[Ul,2,!1]},is=[];
|
||||
is[ut]=[40,25,1,0,Ws];is[Cs]=[80,25,1,0,Ws];is[4]=[320,200,8,192];is[st]=[640,200,16,192];is[Es]=[80,25,1,0,Xs];is[ot]=[320,200,8];is[pt]=[640,200,8];is[it]=[640,350,8];is[jt]=[640,350,8];is[qt]=[640,480,8];is[rt]=[640,480,8];is[lt]=[320,200,1];is[mt]=[320,240,4];is[nt]=[320,400,4];is[0]=is[ut];is[kt]=is[Cs];is[tt]=is[4];
|
||||
var Ls=0,Js=7,Ns=8,Ks=0,Ms=112,Is=128,Wt=256,dt=512,Ys=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Zs=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Rs=[[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]],Ts=[2,4,6],Ss=[3,5,Js],Us=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
||||
var Ls=0,Js=7,Ns=8,Ks=0,Ms=112,Is=128,Vt=256,dt=512,Ys=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Zs=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Rs=[[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]],Ts=[2,4,6],Ss=[3,5,Js],Us=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
|
||||
gs=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Yt=[0];Yt[128]=1;Yt[32768]=2;Yt[32896]=3;Yt[8388608]=4;Yt[8388736]=5;Yt[8421376]=6;Yt[8421504]=7;Yt[-2147483648]=8;Yt[-2147483520]=9;Yt[-2147450880]=10;Yt[-2147450752]=11;Yt[-2139095040]=12;Yt[-2139094912]=13;Yt[-2139062272]=14;Yt[-2139062144]=15;var lr=[];lr[ps]=["MDA",948,720896,4096,0,Ul];lr[ms]=["CGA",980,753664,16384,0,2];lr[bq]=["EGA",980,753664,16384,65536,4];
|
||||
lr[dq]=["VGA",980,753664,16384,262144,7];
|
||||
var js=0,ys=1,xs=2,ns={948:Q.prototype.Cm,949:Q.prototype.Bm,952:Q.prototype.Dm,954:Q.prototype.Em},os={948:Q.prototype.fo,949:Q.prototype.eo,952:Q.prototype.ho},qs={980:Q.prototype.gm,981:Q.prototype.fm,984:Q.prototype.hm,985:Q.prototype.em,986:Q.prototype.im},rs={980:Q.prototype.In,981:Q.prototype.Hn,984:Q.prototype.Jn,985:Q.prototype.Gn},ss={960:Q.prototype.am,961:Q.prototype.rl,962:Q.prototype.Om,964:Q.prototype.Mm,965:Q.prototype.Lm,974:Q.prototype.vm,975:Q.prototype.um},ts={954:Q.prototype.Mk,
|
||||
|
|
@ -721,173 +721,174 @@ 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)
|
|||
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 "_":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.L;for(a.L=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=$x(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Zx(a,b,p,c-1,a.L,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if("~"==k||"^-"==k){p=1;continue}if("-"==k){p=-1;continue}m=!0;break}if(void 0===p)if(null==a.Ha&&f)a.Ha=h,p=0;else{m=!0;f=!f;break}v.push(Xx(p));if(!k)break;u.length&&ay[k]<ay[u[u.length-1]]&&Yx(v,u,1);
|
||||
u.push(k);a.L="^_"==k?10:e;p=0}Yx(v,u)&&1==v.length||(m=!0);m?!1===f&&a.P("parse error ("+(h||k)+")"):g=v.pop();a.L=E;return g}function by(a,b,c){var d;a.Ha=null;b&&("{"!=a.qa[0]&&(b=b.split(a.qa[0]).join("{").split(a.qa[1]).join("}")),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_"),b=b.split(/(\{|}|\|\||&&|\||\^!|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=Zx(a,b,0,b.length,a.L,c),void 0!==d&&!1===c&&cy(a,null,d));return d}
|
||||
function dy(a,b){var c,d=a.qa[0],e=a.qa[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=by(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.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Y-a.ha}if(null==
|
||||
e)break;b=b.replace(d[0],e.toString())}return b}function $x(a,b,c,d,e){e=void 0===e?0:e;var f;null!=b?(f=a.gh(b),0<=f?f=a.hh(f):(f=a.ga[b],null==f&&(0>e&&(b="-"+b,e=0),f=oa(b,a.L))),null!=f?0>e?f=-f:0<e&&(f|=-1):d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return f}
|
||||
function cy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.L?c+". "+sa(c,0,!0):q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function fy(a,b){if(b)return cy(a,b,a.ga[b]);var c=0;for(b in a.ga)cy(a,b,a.ga[b]),c++;return 0<c}
|
||||
function ey(a,b){var c;c=void 0===c?0:c;switch(a.L){case 2:b=qa(b,0<c?c:0);break;case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var ay={"||":0,"&&":1,"!":2,"|":2,"^!":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,_:10,"^_":10,"{":11,"}":11};
|
||||
function gy(a){Wx.call(this,a);this.ta=4;this.la=5;this.wa=1048575;this.K=hy(this);this.Ta=hy(this);this.aa=hy(this);this.D=[];this.B=this.Z=this.N=[];iy(this);this.xa=0;jy(this);this.Ba={};ky(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ly(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ly(b,a)})}ba(gy,Wx);l=gy.prototype;
|
||||
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.hb=Xb(a,"FDC");this.Xa=Xb(a,"HDC");this.Tc=Xb(a,"FPU");this.G=Xb(a,"Mouse");(a=zd(a,"messages"))&&ky(this,a);this.la=b.I>>2;this.wa=b.N;this.ab=new Vd(this.H,7,"DBG");this.oa=my;80186<=this.H.ca&&(this.oa=my.slice(),this.oa[15]=ny,80286<=this.H.ca&&(this.oa[15]=oy,80386<=this.H.ca&&(this.ta=8)));Al(this,64,function(a){py(d,d.H.sc,a[0])});Al(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=qy(d,
|
||||
b,ry),d.P("dumpSel("+ta(a?a.U:b)+"): %"+q(a?a.Lb:null,d.la)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=sy[a.type];e&&(c=e[0],b=e[1])}!c||a.mb&32768||(c+=",not present");d.P((b?"seg="+ta(a.ua&65535)+" off="+ta(a.Ka):"base="+q(a.ua,d.la)+" limit="+ty(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ta(a.ext&-65296)+
|
||||
" dpl="+r(a.qc))}}else d.P("no selector")});Al(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("+ta(b)+")");b;){a=hy(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(uy(0,b)+": '"+String.fromCharCode(c)+"' PID="+ta(e)+" LEN="+ta(k)+' "'+vy(d,a,8)+'"');b+=1+k}});Al(this,128,function(a){py(d,d.H.aa,a[0],d.H.aa!==d.H.sc)});Al(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=qy(d,b,ry)}else a=d.H.la;d.P("dumpTSS("+ta(a?a.U:b)+"): %"+q(a?a.ua:null,d.la));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?wy:xy,m,p,v,u;for(u in k)m=k[u],p=a.ua+m,v=yg(d.H,p,2),2304==c&&(v|=yg(d.H,p+2,2)<<16),b&&(b+="\n"),b+=ta(m)+" "+Ba(u+":",11)+q(v,e);if(2304==c)for(u=0,m=v>>>16;m<a.Nb&&1023>u;)p=a.ua+m,v=yg(d.H,p,2),b+="\n"+ta(m)+" ports "+ta(u)+"-"+ta(u+15)+": "+ra(v,2),u+=16,m+=2;d.P(b)}}});this.F=null;this.Ma=0;this.Ca=!1;Sf(this.H,48,this.Ym.bind(this));Sf(this.H,65,
|
||||
this.Zm.bind(this));this.V=null;Sf(this.H,104,this.$m.bind(this));Jb(this)};function yy(a,b,c,d,e,f){b=vy(a,b);var g=qy(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=zy(a,b,c);e[b+h]=0;aq(a,b,c,d,0,null,g,e)}
|
||||
function Ay(a,b,c,d){var e=a.Yc(b,2),f=a.Yc(b,2),g=By(a,b,4),h=By(a,b,4),k=hy(a,By(a,b,4),a.Yc(b,2));b=hy(a,By(a,b,4),a.Yc(b,2));b=vy(a,b).toUpperCase();var k=vy(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=zy(a,k,e);c[k+m]=g;aq(a,k,e,f,g,null,h,c)}function Cy(a,b,c){c=vy(a,c).toUpperCase();Dy(a,c,b)}
|
||||
l.Ym=function(){var a=this.H;if(null!=this.F&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=hy(this,z(a)+12,a.Y.U);switch(By(this,d)){case 336:Ay(this,hy(this,a.G,b),!c,!!this.F)}}return!0};
|
||||
l.Zm=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.F)return 79==c&&Tf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Mb(a,"INT 0x41 handling enabled",128),a.F=!0):(Mb(a,"INT 0x41 monitoring enabled",128),a.F=!1)}}(this)),!0;switch(c){case 79:this.F&&(b.D=b.D&-65536|62342,Mb(this,"INT 0x41 handling enabled",128));break;case 80:yy(this,hy(this,h,k),d+1,e,!(g&1),!!this.F);break;case 82:Dy(this,null,
|
||||
d);break;case 127:this.F&&(b.D=b.D&-65536|(this.Ca?0:1));break;case 131:this.F&&(a=hy(this,b.L,e),this.Ma++?(this.P("TRAPFAULT failed"),Ey(this,this.B,a,!0,!0),this.Ma=0,this.Jb()):(this.P("INT 0x41 TRAPFAULT: fault="+ta(d)+" error="+q(b.K,8,!0)+" addr="+Fy(a)),this.Gd(this.B,a,!0),jy(this,!0)));break;case 141:this.F&&(b.D=b.D&-65536|1);break;case 336:Ay(this,hy(this,b.G,f),!g,!!this.F);break;case 338:Cy(this,d,hy(this,b.J,f))}this.Ca=!1;return!this.F};
|
||||
u.push(k);a.L="^_"==k?10:e;p=0}Yx(v,u)&&1==v.length||(m=!0);m?!1===f&&a.P("parse error ("+(h||k)+")"):g=v.pop();a.L=E;return g}function by(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=e,k=f+1;h--;){var m=b[k++];if(m==c)break;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=Xx(g*Math.pow(2,d)+m,d*e,!0)}b=b.substr(0,f)+cy(a,g,-1)+b.substr(k)}return b}
|
||||
function dy(a,b,c){var d;a.Ha=null;b&&("{"!=a.qa[0]&&(b=b.split(a.qa[0]).join("{").split(a.qa[1]).join("}")),b=by(a,b,'"',7,5),b=by(a,b,"'",6,6),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_"),b=b.split(/(\{|}|\|\||&&|\||\^!|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=Zx(a,b,0,b.length,a.L,c),void 0!==d&&!1===c&&ey(a,null,d));return d}
|
||||
function fy(a,b){var c,d=a.qa[0],e=a.qa[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=dy(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?cy(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Y-a.ha}if(null==
|
||||
e)break;b=b.replace(d[0],e.toString())}return b}function $x(a,b,c,d,e){e=void 0===e?0:e;var f;null!=b?(f=a.gh(b),0<=f?f=a.hh(f):(f=a.ga[b],null==f&&(f=1<b.length?a.L:10,0>e&&(b="-"+b,e=0),f=oa(b,f))),null!=f?0>e?f=-f:0<e&&(f|=-1):d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return f}
|
||||
function ey(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.L?c+". "+sa(c,0,!0):q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function gy(a,b){if(b)return ey(a,b,a.ga[b]);var c=0;for(b in a.ga)ey(a,b,a.ga[b]),c++;return 0<c}
|
||||
function cy(a,b,c){c=void 0===c?0:c;switch(a.L){case 2:b=qa(b,0<c?c:0);break;case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var ay={"||":0,"&&":1,"!":2,"|":2,"^!":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,_:10,"^_":10,"{":11,"}":11};
|
||||
function hy(a){Wx.call(this,a);this.ta=4;this.la=5;this.wa=1048575;this.K=iy(this);this.Ta=iy(this);this.aa=iy(this);this.D=[];this.B=this.Z=this.N=[];jy(this);this.xa=0;ky(this);this.Ba={};ly(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return my(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return my(b,a)})}ba(hy,Wx);l=hy.prototype;
|
||||
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.hb=Xb(a,"FDC");this.Xa=Xb(a,"HDC");this.Tc=Xb(a,"FPU");this.G=Xb(a,"Mouse");(a=zd(a,"messages"))&&ly(this,a);this.la=b.I>>2;this.wa=b.N;this.ab=new Vd(this.H,7,"DBG");this.oa=ny;80186<=this.H.ca&&(this.oa=ny.slice(),this.oa[15]=oy,80286<=this.H.ca&&(this.oa[15]=py,80386<=this.H.ca&&(this.ta=8)));Al(this,64,function(a){qy(d,d.H.sc,a[0])});Al(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=ry(d,
|
||||
b,sy),d.P("dumpSel("+ta(a?a.U:b)+"): %"+q(a?a.Lb:null,d.la)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=ty[a.type];e&&(c=e[0],b=e[1])}!c||a.mb&32768||(c+=",not present");d.P((b?"seg="+ta(a.ua&65535)+" off="+ta(a.Ka):"base="+q(a.ua,d.la)+" limit="+uy(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ta(a.ext&-65296)+
|
||||
" dpl="+r(a.qc))}}else d.P("no selector")});Al(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("+ta(b)+")");b;){a=iy(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(vy(0,b)+": '"+String.fromCharCode(c)+"' PID="+ta(e)+" LEN="+ta(k)+' "'+wy(d,a,8)+'"');b+=1+k}});Al(this,128,function(a){qy(d,d.H.aa,a[0],d.H.aa!==d.H.sc)});Al(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=ry(d,b,sy)}else a=d.H.la;d.P("dumpTSS("+ta(a?a.U:b)+"): %"+q(a?a.ua:null,d.la));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?xy:yy,m,p,v,u;for(u in k)m=k[u],p=a.ua+m,v=yg(d.H,p,2),2304==c&&(v|=yg(d.H,p+2,2)<<16),b&&(b+="\n"),b+=ta(m)+" "+Ba(u+":",11)+q(v,e);if(2304==c)for(u=0,m=v>>>16;m<a.Nb&&1023>u;)p=a.ua+m,v=yg(d.H,p,2),b+="\n"+ta(m)+" ports "+ta(u)+"-"+ta(u+15)+": "+ra(v,2),u+=16,m+=2;d.P(b)}}});this.F=null;this.Ma=0;this.Ca=!1;Sf(this.H,48,this.Ym.bind(this));Sf(this.H,65,
|
||||
this.Zm.bind(this));this.V=null;Sf(this.H,104,this.$m.bind(this));Jb(this)};function zy(a,b,c,d,e,f){b=wy(a,b);var g=ry(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=Ay(a,b,c);e[b+h]=0;aq(a,b,c,d,0,null,g,e)}
|
||||
function By(a,b,c,d){var e=a.Yc(b,2),f=a.Yc(b,2),g=Cy(a,b,4),h=Cy(a,b,4),k=iy(a,Cy(a,b,4),a.Yc(b,2));b=iy(a,Cy(a,b,4),a.Yc(b,2));b=wy(a,b).toUpperCase();var k=wy(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=Ay(a,k,e);c[k+m]=g;aq(a,k,e,f,g,null,h,c)}function Dy(a,b,c){c=wy(a,c).toUpperCase();Ey(a,c,b)}
|
||||
l.Ym=function(){var a=this.H;if(null!=this.F&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=iy(this,z(a)+12,a.Y.U);switch(Cy(this,d)){case 336:By(this,iy(this,a.G,b),!c,!!this.F)}}return!0};
|
||||
l.Zm=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.F)return 79==c&&Tf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Mb(a,"INT 0x41 handling enabled",128),a.F=!0):(Mb(a,"INT 0x41 monitoring enabled",128),a.F=!1)}}(this)),!0;switch(c){case 79:this.F&&(b.D=b.D&-65536|62342,Mb(this,"INT 0x41 handling enabled",128));break;case 80:zy(this,iy(this,h,k),d+1,e,!(g&1),!!this.F);break;case 82:Ey(this,null,
|
||||
d);break;case 127:this.F&&(b.D=b.D&-65536|(this.Ca?0:1));break;case 131:this.F&&(a=iy(this,b.L,e),this.Ma++?(this.P("TRAPFAULT failed"),Fy(this,this.B,a,!0,!0),this.Ma=0,this.Jb()):(this.P("INT 0x41 TRAPFAULT: fault="+ta(d)+" error="+q(b.K,8,!0)+" addr="+Gy(a)),this.Gd(this.B,a,!0),ky(this,!0)));break;case 141:this.F&&(b.D=b.D&-65536|1);break;case 336:By(this,iy(this,b.G,f),!g,!!this.F);break;case 338:Dy(this,d,iy(this,b.J,f))}this.Ca=!1;return!this.F};
|
||||
l.$m=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.V){if(67==d){if(609437257==b.ia((b.Z.U<<4)+10)||1111835735==b.ia((b.Z.U<<4)+95))return!0;Tf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Mb(a,"INT 0x68 handling enabled",128),a.F=a.V=!0):(Mb(a,"INT 0x68 monitoring enabled",128),a.V=!1)}}(this))}return!0}switch(d){case 67:this.V&&(b.D=b.D&-65536|62342);break;case 68:this.V&&(a=Xd(b.Z,this.yl.bind(this)))&&
|
||||
(b.J=a[0],oe(b,a[1]));break;case 72:Dy(this,null,e);break;case 80:32==c?yy(this,hy(this,h,k),0,f,!0,!!this.V):128>c?yy(this,hy(this,h,k),e+1,c&64?g:f,!(c&1),!!this.V):Ay(this,hy(this,h,k),!(c&1),!!this.V),this.V&&(b.D=b.D&-256|1)}return!this.V};l.yl=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="",ly(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,Za(c,function(){if(d.va){var a=d.va.value;
|
||||
d.va.value="";ly(d,a,!0);return!0}return!1}),!0;case "step":return this.na[b]=c,Za(c,function(a){var b=!1;Kb(d,!0)||(Lb(d,!0),b=Gy(d,a?1:0),Lb(d,!1));return b}),!0}return!1};l.ld=function(){this.va&&this.va.focus()};function Hy(a){return!(!(a.H&&a.H.qa&1)||a.H.O&131072)}
|
||||
function qy(a,b,c){var d=Hy(a)?ry:Iy;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==ry||!a.ab)return null}a=a.ab;if(c!=ry)a.mh(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=yg(c,d+0,2);var f=yg(c,d+4,2),g=f&7936,h=yg(c,d+2,2)|(f&255)<<16,k=yg(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.mb=f;a.type=g;a.ext=k;a.Lb=d;Wd(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=qy(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=yg(this.H,d,1,a.type==Jy)|0,b&&Ky(this,a,b));return c};
|
||||
l.jb=function(a,b){return a.Hb?By(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=yg(this.H,d,2,a.type==Jy)|0,b&&Ky(this,a,b));return c};function By(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=yg(a.H,e,4,b.type==Jy)|0,c&&Ky(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!=Jy)this.H.fc(e,b);else{var f=this.ka;f.aa[(e&f.C)>>>f.A].bf(e&f.D,b&255,e)}c&&Ky(this,a,c);d||Cd(this.H,!0)}};
|
||||
l.il=function(a,b,c){var d=this.Sb(a,!0,2);-1!==d&&(a.type!=Jy?this.H.fb(d,b):Kc(this.ka,d,b),c&&Ky(this,a,c),Cd(this.H,!0))};function hy(a,b,c,d,e,f,g){return Ly(a,{},b,c,d,e,f,g)}function Ly(a,b,c,d,e,f,g,h){b.Ja=c||0;b.U=d;b.ya=e;b.type=f||(Hy(a)?ry:Iy);b.Hb=null!=g?g:!(!a.H||4!=a.H.Z.W);b.dc=null!=h?h:!(!a.H||4!=a.H.Z.Jc);b.Jd=!1;return b}function My(a){return[a.Ja,a.U,a.ya,a.Jd,a.Hb,a.dc,a.Fe,a.bh]}function Ny(a){return{Ja:a[0],U:a[1],ya:a[2],Jd:a[3],Hb:a[4],dc:a[5],Fe:a[6],bh:a[7]}}
|
||||
function Oy(a,b,c){if(null!=b.U&&(a=qy(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.W,b.dc=4==a.Jc)}return!0}
|
||||
function Py(a,b,c,d){var e,f=c?a.K:a.Ta;c=d?Qy:f.type;var g=f.Ja,h=f.U,f=f.ya;if(void 0!==b){b=dy(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Iy;break;case "#":c=ry;break;case "%":c=Ry;e=b.charAt(1);"%"==e&&(c=Jy,e+=e);g=0;h=null;break;default:0<=f&&(c=Qy),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.D.length;p++){e=a.D[p];var v=e.Fd[m];if(void 0!==v){m=v.o;void 0!==m&&(k=v.s,void 0===k&&(k=e.U),k=hy(a,m,k,v.p));
|
||||
break}}if(e=k)return e;0>f?null!=h?(g=by(a,b,void 0),f=null):(f=by(a,b,void 0),null==f&&(g=null)):(h=by(a,b.substring(0,f),void 0),g=by(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=hy(a,g,h,f,c),d||Oy(a,e,!0)||(a.P("invalid offset: "+Fy(e)),e=null));return e}function Sy(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.sl=a.Cg(b.Yk=c[2]))}l.Pk=function(a,b){var c=Py(this,b);return a.replace("["+b+"]",c?q(this.jb(c),c.Hb?8:4):"undefined")};
|
||||
function Ky(a,b,c){c=c||1;null!=b.ya&&(b.ya+=c);null!=b.U&&(b.Ja+=c,Oy(a,b)||(b.Ja=0,b.ya=null))}function uy(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function Fy(a){var b;switch(a.type){case Iy:case Ty:b="&";break;case ry:b="#";break;case Ry:b="%";break;case Jy:b="%%";break;default:b=a.U?"":"%"}return a.type>=Ry||null==a.U?b+q(a.ya):b+uy(a.Ja,a.U,a.dc)}
|
||||
function vy(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 py(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Sb(Py(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==cd&&(d=td(a.H,e,!1,!0)),d.type==c?h++||a.P("..."):(c=d.type,h=vc[c],c==ed&&(d=d.pd,h+=" -> "+vc[d.type]),d&&a.P(q(d.id,8)+" %"+q(f<<a.H.hb,8)+" %%"+q(d.ya,8)+" "+ta(d.ve)+" "+ta(d.size)+
|
||||
" "+h),c!=bd&&c!=cd&&(c=-1),h=0),e+=a.H.Ng,f++}function Uy(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 zy(a,b,c){var d=[],e;for(e=null;e=Xb(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.Rf==g&&(m=m.nd[h])){for(var p in m.ee)f=m.ee[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
|
||||
function ky(a,b){a.ba=a;a.ic=a.wl=1073741824;a.za=null;b=a.Cg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Sb)0<=Ia(b,c)&&(a.ic|=Sb[c],a.P(c+" messages enabled"));jy(a)}function Al(a,b,c){for(var d in Sb)if(b==Sb[d]){a.Ba[d]=c;break}}l.gh=function(a,b){var c;a=a.toUpperCase();null==b?c=Ia(Vy,a):(c=Ia(Vy,a.substr(b,3)),0>c&&(c=Ia(Vy,a.substr(b,2))));return c};
|
||||
function Wy(a,b){var c=0,d=a.hh(b);if(null!=d)switch(b){case Xy:case Yy:case Zy:case $y:case az:case bz:case cz:case dz:c=2;break;case ez:case fz:case gz:case hz:case iz:case jz:case kz:case lz:case mz:case nz+oz:case nz+pz:case nz+qz:case nz+rz:case nz+sz:case nz+tz:c=4;break;case uz:case vz:case wz:case xz:case yz:case zz:case Az:case Bz:case Cz:case Dz:case Ez:case Fz:case Gz:c=8;break;case Hz:c=a.ta}return c?q(d,c):"??"}
|
||||
l.hh=function(a){var b;if(0<=a){var c=this.H;switch(a){case Xy:b=c.D&255;break;case Yy:b=c.I&255;break;case Zy:b=c.L&255;break;case $y:b=c.G&255;break;case az:b=c.D>>8&255;break;case bz:b=c.I>>8&255;break;case cz:b=c.L>>8&255;break;case dz:b=c.G>>8&255;break;case ez:b=c.D&65535;break;case fz:b=c.I&65535;break;case gz:b=c.L&65535;break;case hz:b=c.G&65535;break;case iz:b=z(c)&65535;break;case jz:b=c.M&65535;break;case kz:b=c.K&65535;break;case lz:b=c.J&65535;break;case mz:b=A(c)&65535;break;case Hz:b=
|
||||
re(c);break;case nz+oz:b=c.oa.U;break;case nz+pz:b=c.Z.U;break;case nz+qz:b=c.Y.U;break;case nz+rz:b=c.Ca.U;break;default:if(80286==this.H.ca)a==Cz&&(b=c.qa);else if(80386<=this.H.ca)switch(a){case uz:b=c.D;break;case vz:b=c.I;break;case wz:b=c.L;break;case xz:b=c.G;break;case yz:b=z(c);break;case zz:b=c.M;break;case Az:b=c.K;break;case Bz:b=c.J;break;case Cz:b=c.qa;break;case Dz:b=c.Og;break;case Ez:b=c.Cd;break;case Fz:b=c.Wc;break;case nz+sz:b=c.Ga.U;break;case nz+tz:b=c.Ha.U;break;case Gz:b=A(c)}}}return b};
|
||||
function Iz(a,b){b=dy(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.gh(b,c+1),0<=e&&(b=b.substr(0,c)+Wy(a,e)+b.substr(c+1+Vy[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=Py(a,e))?(d=e+' "'+vy(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=Py(a,e))?(Ky(a,d),
|
||||
d=e+' "'+vy(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Fy(hy(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.Ve=0,Cd(a)))};
|
||||
function Wk(a,b,c,d){var e,f;if(!d&&(d=t(a,1)&&0>Jz.indexOf(b),!d)){var g=Kz[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=Rb[b])&&g[e]||"")&&(g=" "+Iz(a,g)),a.message("INT "+r(b)+": AH="+r(e)+" at "+uy(c-2-a.H.Z.ua,a.H.Z.U)+g));return d}
|
||||
function Nb(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.be+"."+(null!=d?"outPort":"inPort")+"("+ta(c)+","+(f?f:"unknown")+(null!=d?","+r(d):"")+")"+(null!=g?": "+r(g):"")+(null!=e?" at "+uy(e,h):""))}l.ih=function(){this.P("Type ? for help with PCx86 Debugger commands");Lz(this);if(this.Ga){var a=this.Ga;this.Ga=null;ly(this,a)}};
|
||||
function jy(a,b){var c;if(Jg(a)){if(!a.O||!a.O.length){a.O=Array(Mz);for(c=0;c<a.O.length;c++)a.O[c]=hy(a);a.ma=0;b||a.P("instruction history buffer allocated")}if(!a.J||!a.J.length)for(a.J=Array(256),c=0;c<a.J.length;c++)a.J[c]=[c,0]}else a.O&&a.O.length&&!b&&a.P("instruction history buffer freed"),a.ma=0,a.O=[],a.J=[]}function Nz(a,b){if(!Oz(a))return!1;a.H.Uf(b);return!0}
|
||||
function Gy(a,b,c,d){if(!Oz(a))return!1;a.M=0;do{b||Jg(a)&&Mg(a,a.H.da,0);try{var e=a.H.Lg(b);0<e&&(a.M+=e,Hd(a.H,e,!0),Dd(a.H,e),a.Y++)}catch(g){if("number"!=typeof g){var f=g;a.M=0;Gb(a.H,f.stack||f.message)}}}while(a.H.N&3312);!1!==d&&Cd(a.H);Lz(a,c||!1);return 0<a.M}l.Jb=function(a){this.H&&this.H.Jb(a)};function Lz(a,b){void 0===b&&(b=!0);a.K=hy(a,A(a.H),a.H.Z.U);b&&1!=a.I?Pz(a):Qz(a)}
|
||||
function Oz(a){var b;if(b=a.H&&Ib(a.H))b=a.H,b.ea.Yb?b=!0:(b.P(b.toString()+" not powered"),b=!1);b&&!Kb(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){jy(this);this.Y=this.ha=0;this.za=null;this.M=0;this.K=hy(this,A(this.H),this.H.Z.U);this.ea.wb=!1;Rz(this);a||Lz(this)};
|
||||
l.save=function(){var a=new Xf(this);a.set(0,My(this.K));a.set(1,My(this.aa));a.set(2,[this.C,this.da,this.ic]);a.set(3,this.D);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Ny(a[b++]),this.aa=Ny(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.da=a[b][1],this.ic|=a[b][2]);a[3]&&(this.D=a[3]);return!0};l.start=function(a,b){this.I||this.P("running");this.ea.wb=!0;this.ib=a;this.jd=b};
|
||||
l.stop=function(a,b){if(this.ea.wb){this.ea.wb=!1;this.M=b-this.jd;if(!this.I){b="stopped";if(this.M){a-=this.ib;var c=0<a?Math.round(1E3*this.M/a):0;b+=" (";Jg(this)&&(b+=this.Y+" opcodes, ",this.ha-=this.Y,this.Y=0);b+=this.M+" cycles, "+a+" ms, "+c+" hz)"}else t(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.P(b)}Lz(this,!0);this.ld();Rz(this,this.H.da)}};function Jg(a){return 1<a.B.length||!!a.xa||t(a,16)}
|
||||
function Mg(a,b,c){var d=a.H;if(0<c&&(a.xa&&!--a.xa||Sz(a,b,1,a.B)))return!0;0<=c&&a.J.length&&(a.Y++,b=yg(d,b),null!=b&&(a.J[b][1]++,Ly(a,a.O[a.ma],A(d),d.Z.U),++a.ma==a.O.length&&(a.ma=0)));return!1}function qd(a,b,c){return Sz(a,b,c||1,a.Z)?(a.Jb(!0),!0):!1}function sd(a,b,c){return Sz(a,b,c||1,a.N)?(a.Jb(!0),!0):!1}function Qc(a,b,c){a.P("break on input from port "+ta(b)+": "+q(c));a.Jb(!0)}function Uc(a,b,c){a.P("break on output to port "+ta(b)+": "+q(c));a.Jb(!0)}
|
||||
function iy(a){var b,c;a.B=["bp"];if(a.Z)for(b=1;b<a.Z.length;b++)c=a.Z[b],lf(a.H,a.Sb(c),!1,c.type==Jy);a.Z=["br"];if(a.N)for(b=1;b<a.N.length;b++)c=a.N[b],lf(a.H,a.Sb(c),!0,c.type==Jy);a.N=["bw"];a.Da=0}
|
||||
l.Gd=function(a,b,c){var d=!0;c||Ey(this,a,b,!1,!0);if(a!=this.B){var e=this.Sb(b);if(-1===e)this.P("invalid address: "+Fy(b)),d=!1;else{var f=this.H,g=b.type==Jy;(g?f.sc:f.aa)[e>>>f.hb].Gd(e&f.Db,a==this.N);g&&tc(f)}}d&&(a.push(b),c?(null!=b.ya&&(b.U=null),b.Jd=!0):(Tz(this,a,a.length-1,"set"),jy(this)));return d};
|
||||
function Ey(a,b,c,d,e){for(var f=!1,g=Uz(a,a.Sb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==Uz(a,a.Sb(k))||-1===g&&c.U==k.U&&c.Ja==k.Ja)if(!d||k.Jd){f=!0;k.Jd||e||Tz(a,b,h,"cleared");b.splice(h,1);b!=a.B&&lf(a.H,g,b==a.N,k.type==Jy);k.Jd||jy(a);break}}return f}function Vz(a,b){for(var c=1;c<b.length;c++)Tz(a,b,c);return b.length-1}function Tz(a,b,c,d){c=b[c];a.P(b[0]+" "+Fy(c)+(d?" "+d:c.Yk?' "'+c.Yk+'"':""))}
|
||||
function Rz(a,b){if(void 0!==b)Sz(a,b,1,a.B,!0),a.I=0;else for(b=1;b<a.B.length;b++){var c=a.B[b];if(c.Jd){if(!Ey(a,a.B,c,!0))break;b=0}}}function Uz(a,b){-1!==b&&(a=a.wa&-65536,(b&a)==a&&(b&=1048575));return b}
|
||||
function Sz(a,b,c,d,e){var f=!1;if(!a.Da++){b=Uz(a,b);t(a,-2147483632)&&204==yg(a.H,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Jd){null!=h.U&&(h.ya=null);for(var k=Uz(a,a.Sb(h)),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.Jd&&(Ey(a,d,h,!0),e=!0);if(p=h.sl){for(var f=!1,v=0;v<p.length;v++)if(!Wz(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.wb||(f=!0)}if(f){e||Tz(a,d,g,"hit");break}}}}}a.Da--;return f}
|
||||
function Xz(a,b,c,d){for(var e=hy(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=Yz,k=a.oa[f],m=k[0];m==Zz&&(m=a.Ia(b,1),k=$z[m]||ny,f|=m<<8,m=k[0]);if(m==aA){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=bA[f])&&(v=u[E]);v&&(p=cA,k=v,m=k[0])}m>=p.length&&(g=a.Ia(b,1),k=dA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Hb&&(m==eA?
|
||||
p="CWDE":m==fA?p="CDQ":m>=gA&&m<=hA&&(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,K=1;K<=u;K++){var H,I;H="";I=k[K];if(void 0!==I){0>f&&(f=I>>iA);m==jA&&(f==kA?v="[%800]":f==lA&&(v="ES:["+(b.dc?"E":"")+"DI]"));var T=I&mA;if(T!=nA)if(T==oA)E=!1;else{var L=I&pA;if(L>=R)if(0>g&&(g=a.Ia(b,1)),L<qA){L=a;H=I;var ua=u;I=b;var ca="",xb=g>>6,za=g&7;if(3>xb){T=!p.indexOf("FI");if(!xb&&(!I.dc&&6==za||I.dc&&5==za))xb=2;else{if(I.dc)if(4!=za)za+=
|
||||
8;else{var ca=L,cb=xb,Sa=I,rb=ca.Ia(Sa,1),db=rb>>6,rc=rb>>3&7,rb=rb&7,ib="";if(cb||5!=rb)ib=rA[rb+8];4!=rc&&(ib&&(ib+="+"),ib+=rA[rc+8],db&&(ib+="*"+(1<<db)));cb||5!=rb||(ib&&(ib+="+"),ib+=q(By(ca,Sa,4)));ca=ib}ca||(ca=rA[za])}1==xb?(L=L.Ia(I,1),ca=L&128?ca+("-"+q(-(L<<24>>24),2)):ca+("+"+q(L,2))):2==xb&&(ca&&(ca+="+"),I.dc?(L=By(L,I,4),ca+=q(L)):(L=L.Yc(I,2),ca+=q(L,4)));ca="["+ca+"]";if(1==ua){L="";H&=mA;H==S&&(H=I.Hb?sA:U);switch(H){case tA:L="FAR";break;case V:L="BYTE";break;case U:if(T){L="INT16";
|
||||
break}L="WORD";break;case sA:L="DWORD";break;case uA:if(T){L="INT32";break}case vA:L="REAL32";break;case wA:if(T){L="INT64";break}case xA:L="REAL64";break;case yA:L="REAL80";break;case zA:L="BCD80"}L&&(ca=L+" "+ca)}}else ca=AA(L,za,H,I);H=ca}else H=L==qA?AA(a,g&7,I,b):AA(a,g>>3&7,I,b);else if(L==BA)H="1";else if(L==W){H=a;T=I;L=b;I=" ";switch(T&mA){case V:T&X&&(I=q(H.Ia(L,1),2));break;case CA:I=q(H.Ia(L,1)<<24>>24,L.Hb?8:4);break;case S:if(L.Hb){I=q(By(H,L,4));break}case U:I=q(H.Yc(L,2),4);break;
|
||||
case tA:L=hy(H,H.jb(L,!0),H.Yc(L,2),null,L.type,L.Hb,L.dc);I=Fy(L);H=DA(H,L);H[0]&&(I+=" ("+H[0]+")");break;default:I="imm("+ta(T)+")"}H=I}else L==EA?(b.dc?(H=8,I=By(a,b,4)):(H=4,I=a.Yc(b,2)),H="["+q(I,H)+"]"):L==FA?(H=T==V?a.Ia(b,1)<<24>>24:a.jb(b,!0),I=b.Ja+H&(b.Hb?-1:65535),H=q(I,b.Hb?8:4),I=DA(a,hy(a,I,b.U)),I[0]&&(H+=" ("+I[0]+")")):L==Y?H=T==GA?"ST":T==HA?"ST("+(g&7)+")":AA(a,(I&IA)>>8,I,b):L==JA?H=AA(a,(I&IA)>>8,KA,b):L==LA?H="DS:[SI]":L==MA&&(H="ES:[DI]");if(!H||!H.length){v="INVALID";break}0<
|
||||
v.length&&(v+=",");v+=H||"???"}}}g="";k=Fy(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+=Ba(g,e.dc?24:16);k+=Ba(p,8);v&&(k+=" "+v);a.H.ca<NA[f]&&(c=NA[f]+" CPU only");c&&E&&(k=Ba(k,e.dc?74:56)+";"+c,k=a.H.ea.He?k+("cycles="+Ed(a.H).toString()+" cs="+q(a.H.T.uf)):k+(null!=d?"="+d.toString():""));OA(b,E,h);return k}
|
||||
function AA(a,b,c,d){var e=c&pA;if(e==KA){if(b>tz||b>=sz&&80386>a.H.ca)return"??";b+=nz}else if(e==PA)b+=Cz;else if(e==QA)b+=RA;else if(e==SA)b+=TA;else if(a=c&mA,a>=U&&(b<ez&&(b+=ez-Xy),a==sA||a==S&&d.Hb))b+=uz-ez;return Vy[b]}
|
||||
function UA(a,b){switch(b){case "V":a=ig(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=hg(a.H);break;case "Z":a=gg(a.H);break;case "A":a=fg(a.H);break;case "P":a=eg(a.H);break;case "C":a=dg(a.H);break;default:a=0}return b+(a?"1":"0")+" "}function ty(a){return q(a,a&-65536?8:4)}function VA(a,b){b>=ez&&b<=lz&&4<a.ta&&(b+=uz-ez);var c=Vy[b];b==Cz&&80286==a.H.ca&&(c="MS");return c+"="+Wy(a,b)+" "}
|
||||
function WA(a,b,c){return b.$b+"="+q(b.U,4)+(c?"["+q(b.ua,a.la)+","+ty(b.Ka)+"]":"")}function XA(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.la)+","+q(e-d,4)+"]"}
|
||||
function YA(a,b){var c;void 0===b&&(b=Hy(a));c=VA(a,ez)+VA(a,hz)+VA(a,fz)+VA(a,gz)+(4<a.ta?"\n":"")+VA(a,iz)+VA(a,jz)+VA(a,kz)+VA(a,lz)+"\n"+WA(a,a.H.Y,b)+" "+WA(a,a.H.Ca,b)+" "+WA(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"+WA(a,a.H.Z,b)+" ";80386<=a.H.ca&&(e+="\n",c+=WA(a,a.H.Ga,b)+" "+WA(a,a.H.Ha,b)+"\n");c+=XA(a,"LD",a.H.Eb.U,a.H.Eb.ua,a.H.Eb.ua+a.H.Eb.Ka)+" "+XA(a,"GD",null,a.H.Kb,a.H.Pc)+" "+XA(a,"ID",
|
||||
null,a.H.Pb,a.H.cd)+" ";c=c+(d+" "+e)+VA(a,Cz);80386<=a.H.ca&&(c+=VA(a,Ez)+VA(a,Fz))}else 80386<=a.H.ca&&(c+=WA(a,a.H.Ga,b)+" "+WA(a,a.H.Ha,b)+" ");return c+=VA(a,Hz)+UA(a,"V")+UA(a,"D")+UA(a,"I")+UA(a,"T")+UA(a,"S")+UA(a,"Z")+UA(a,"A")+UA(a,"P")+UA(a,"C")}l.gj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
(b.J=a[0],oe(b,a[1]));break;case 72:Ey(this,null,e);break;case 80:32==c?zy(this,iy(this,h,k),0,f,!0,!!this.V):128>c?zy(this,iy(this,h,k),e+1,c&64?g:f,!(c&1),!!this.V):By(this,iy(this,h,k),!(c&1),!!this.V),this.V&&(b.D=b.D&-256|1)}return!this.V};l.yl=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="",my(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,Za(c,function(){if(d.va){var a=d.va.value;
|
||||
d.va.value="";my(d,a,!0);return!0}return!1}),!0;case "step":return this.na[b]=c,Za(c,function(a){var b=!1;Kb(d,!0)||(Lb(d,!0),b=Hy(d,a?1:0),Lb(d,!1));return b}),!0}return!1};l.ld=function(){this.va&&this.va.focus()};function Iy(a){return!(!(a.H&&a.H.qa&1)||a.H.O&131072)}
|
||||
function ry(a,b,c){var d=Iy(a)?sy:Jy;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==sy||!a.ab)return null}a=a.ab;if(c!=sy)a.mh(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=yg(c,d+0,2);var f=yg(c,d+4,2),g=f&7936,h=yg(c,d+2,2)|(f&255)<<16,k=yg(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.mb=f;a.type=g;a.ext=k;a.Lb=d;Wd(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=ry(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=yg(this.H,d,1,a.type==Ky)|0,b&&Ly(this,a,b));return c};
|
||||
l.jb=function(a,b){return a.Hb?Cy(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=yg(this.H,d,2,a.type==Ky)|0,b&&Ly(this,a,b));return c};function Cy(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=yg(a.H,e,4,b.type==Ky)|0,c&&Ly(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!=Ky)this.H.fc(e,b);else{var f=this.ka;f.aa[(e&f.C)>>>f.A].bf(e&f.D,b&255,e)}c&&Ly(this,a,c);d||Cd(this.H,!0)}};
|
||||
l.il=function(a,b,c){var d=this.Sb(a,!0,2);-1!==d&&(a.type!=Ky?this.H.fb(d,b):Kc(this.ka,d,b),c&&Ly(this,a,c),Cd(this.H,!0))};function iy(a,b,c,d,e,f,g){return My(a,{},b,c,d,e,f,g)}function My(a,b,c,d,e,f,g,h){b.Ja=c||0;b.U=d;b.ya=e;b.type=f||(Iy(a)?sy:Jy);b.Hb=null!=g?g:!(!a.H||4!=a.H.Z.W);b.dc=null!=h?h:!(!a.H||4!=a.H.Z.Jc);b.Jd=!1;return b}function Ny(a){return[a.Ja,a.U,a.ya,a.Jd,a.Hb,a.dc,a.Fe,a.bh]}function Oy(a){return{Ja:a[0],U:a[1],ya:a[2],Jd:a[3],Hb:a[4],dc:a[5],Fe:a[6],bh:a[7]}}
|
||||
function Py(a,b,c){if(null!=b.U&&(a=ry(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.W,b.dc=4==a.Jc)}return!0}
|
||||
function Qy(a,b,c,d){var e,f=c?a.K:a.Ta;c=d?Ry:f.type;var g=f.Ja,h=f.U,f=f.ya;if(void 0!==b){b=fy(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Jy;break;case "#":c=sy;break;case "%":c=Sy;e=b.charAt(1);"%"==e&&(c=Ky,e+=e);g=0;h=null;break;default:0<=f&&(c=Ry),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.D.length;p++){e=a.D[p];var v=e.Fd[m];if(void 0!==v){m=v.o;void 0!==m&&(k=v.s,void 0===k&&(k=e.U),k=iy(a,m,k,v.p));
|
||||
break}}if(e=k)return e;0>f?null!=h?(g=dy(a,b,void 0),f=null):(f=dy(a,b,void 0),null==f&&(g=null)):(h=dy(a,b.substring(0,f),void 0),g=dy(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=iy(a,g,h,f,c),d||Py(a,e,!0)||(a.P("invalid offset: "+Gy(e)),e=null));return e}function Ty(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.sl=a.Cg(b.Yk=c[2]))}l.Pk=function(a,b){var c=Qy(this,b);return a.replace("["+b+"]",c?q(this.jb(c),c.Hb?8:4):"undefined")};
|
||||
function Ly(a,b,c){c=c||1;null!=b.ya&&(b.ya+=c);null!=b.U&&(b.Ja+=c,Py(a,b)||(b.Ja=0,b.ya=null))}function vy(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function Gy(a){var b;switch(a.type){case Jy:case Uy:b="&";break;case sy:b="#";break;case Sy:b="%";break;case Ky:b="%%";break;default:b=a.U?"":"%"}return a.type>=Sy||null==a.U?b+q(a.ya):b+vy(a.Ja,a.U,a.dc)}
|
||||
function wy(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 qy(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Sb(Qy(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==cd&&(d=td(a.H,e,!1,!0)),d.type==c?h++||a.P("..."):(c=d.type,h=vc[c],c==ed&&(d=d.pd,h+=" -> "+vc[d.type]),d&&a.P(q(d.id,8)+" %"+q(f<<a.H.hb,8)+" %%"+q(d.ya,8)+" "+ta(d.ve)+" "+ta(d.size)+
|
||||
" "+h),c!=bd&&c!=cd&&(c=-1),h=0),e+=a.H.Ng,f++}function Vy(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 Ay(a,b,c){var d=[],e;for(e=null;e=Xb(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.Rf==g&&(m=m.nd[h])){for(var p in m.ee)f=m.ee[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
|
||||
function ly(a,b){a.ba=a;a.ic=a.wl=1073741824;a.za=null;b=a.Cg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Sb)0<=Ia(b,c)&&(a.ic|=Sb[c],a.P(c+" messages enabled"));ky(a)}function Al(a,b,c){for(var d in Sb)if(b==Sb[d]){a.Ba[d]=c;break}}l.gh=function(a,b){var c;a=a.toUpperCase();null==b?c=Ia(Wy,a):(c=Ia(Wy,a.substr(b,3)),0>c&&(c=Ia(Wy,a.substr(b,2))));return c};
|
||||
function Xy(a,b){var c=0,d=a.hh(b);if(null!=d)switch(b){case Yy:case Zy:case $y:case az:case bz:case cz:case dz:case ez:c=2;break;case fz:case gz:case hz:case iz:case jz:case kz:case lz:case mz:case nz:case oz+pz:case oz+qz:case oz+rz:case oz+sz:case oz+tz:case oz+uz:c=4;break;case vz:case wz:case xz:case yz:case zz:case Az:case Bz:case Cz:case Dz:case Ez:case Fz:case Gz:case Hz:c=8;break;case Iz:c=a.ta}return c?q(d,c):"??"}
|
||||
l.hh=function(a){var b;if(0<=a){var c=this.H;switch(a){case Yy:b=c.D&255;break;case Zy:b=c.I&255;break;case $y:b=c.L&255;break;case az:b=c.G&255;break;case bz:b=c.D>>8&255;break;case cz:b=c.I>>8&255;break;case dz:b=c.L>>8&255;break;case ez:b=c.G>>8&255;break;case fz:b=c.D&65535;break;case gz:b=c.I&65535;break;case hz:b=c.L&65535;break;case iz:b=c.G&65535;break;case jz:b=z(c)&65535;break;case kz:b=c.M&65535;break;case lz:b=c.K&65535;break;case mz:b=c.J&65535;break;case nz:b=A(c)&65535;break;case Iz:b=
|
||||
re(c);break;case oz+pz:b=c.oa.U;break;case oz+qz:b=c.Z.U;break;case oz+rz:b=c.Y.U;break;case oz+sz:b=c.Ca.U;break;default:if(80286==this.H.ca)a==Dz&&(b=c.qa);else if(80386<=this.H.ca)switch(a){case vz:b=c.D;break;case wz:b=c.I;break;case xz:b=c.L;break;case yz:b=c.G;break;case zz:b=z(c);break;case Az:b=c.M;break;case Bz:b=c.K;break;case Cz:b=c.J;break;case Dz:b=c.qa;break;case Ez:b=c.Og;break;case Fz:b=c.Cd;break;case Gz:b=c.Wc;break;case oz+tz:b=c.Ga.U;break;case oz+uz:b=c.Ha.U;break;case Hz:b=A(c)}}}return b};
|
||||
function Jz(a,b){b=fy(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.gh(b,c+1),0<=e&&(b=b.substr(0,c)+Xy(a,e)+b.substr(c+1+Wy[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=Qy(a,e))?(d=e+' "'+wy(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=Qy(a,e))?(Ly(a,d),
|
||||
d=e+' "'+wy(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Gy(iy(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.Ve=0,Cd(a)))};
|
||||
function Wk(a,b,c,d){var e,f;if(!d&&(d=t(a,1)&&0>Kz.indexOf(b),!d)){var g=Lz[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=Rb[b])&&g[e]||"")&&(g=" "+Jz(a,g)),a.message("INT "+r(b)+": AH="+r(e)+" at "+vy(c-2-a.H.Z.ua,a.H.Z.U)+g));return d}
|
||||
function Nb(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.be+"."+(null!=d?"outPort":"inPort")+"("+ta(c)+","+(f?f:"unknown")+(null!=d?","+r(d):"")+")"+(null!=g?": "+r(g):"")+(null!=e?" at "+vy(e,h):""))}l.ih=function(){this.P("Type ? for help with PCx86 Debugger commands");Mz(this);if(this.Ga){var a=this.Ga;this.Ga=null;my(this,a)}};
|
||||
function ky(a,b){var c;if(Jg(a)){if(!a.O||!a.O.length){a.O=Array(Nz);for(c=0;c<a.O.length;c++)a.O[c]=iy(a);a.ma=0;b||a.P("instruction history buffer allocated")}if(!a.J||!a.J.length)for(a.J=Array(256),c=0;c<a.J.length;c++)a.J[c]=[c,0]}else a.O&&a.O.length&&!b&&a.P("instruction history buffer freed"),a.ma=0,a.O=[],a.J=[]}function Oz(a,b){if(!Pz(a))return!1;a.H.Uf(b);return!0}
|
||||
function Hy(a,b,c,d){if(!Pz(a))return!1;a.M=0;do{b||Jg(a)&&Mg(a,a.H.da,0);try{var e=a.H.Lg(b);0<e&&(a.M+=e,Hd(a.H,e,!0),Dd(a.H,e),a.Y++)}catch(g){if("number"!=typeof g){var f=g;a.M=0;Gb(a.H,f.stack||f.message)}}}while(a.H.N&3312);!1!==d&&Cd(a.H);Mz(a,c||!1);return 0<a.M}l.Jb=function(a){this.H&&this.H.Jb(a)};function Mz(a,b){void 0===b&&(b=!0);a.K=iy(a,A(a.H),a.H.Z.U);b&&1!=a.I?Qz(a):Rz(a)}
|
||||
function Pz(a){var b;if(b=a.H&&Ib(a.H))b=a.H,b.ea.Yb?b=!0:(b.P(b.toString()+" not powered"),b=!1);b&&!Kb(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){ky(this);this.Y=this.ha=0;this.za=null;this.M=0;this.K=iy(this,A(this.H),this.H.Z.U);this.ea.wb=!1;Sz(this);a||Mz(this)};
|
||||
l.save=function(){var a=new Xf(this);a.set(0,Ny(this.K));a.set(1,Ny(this.aa));a.set(2,[this.C,this.da,this.ic]);a.set(3,this.D);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Oy(a[b++]),this.aa=Oy(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.da=a[b][1],this.ic|=a[b][2]);a[3]&&(this.D=a[3]);return!0};l.start=function(a,b){this.I||this.P("running");this.ea.wb=!0;this.ib=a;this.jd=b};
|
||||
l.stop=function(a,b){if(this.ea.wb){this.ea.wb=!1;this.M=b-this.jd;if(!this.I){b="stopped";if(this.M){a-=this.ib;var c=0<a?Math.round(1E3*this.M/a):0;b+=" (";Jg(this)&&(b+=this.Y+" opcodes, ",this.ha-=this.Y,this.Y=0);b+=this.M+" cycles, "+a+" ms, "+c+" hz)"}else t(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.P(b)}Mz(this,!0);this.ld();Sz(this,this.H.da)}};function Jg(a){return 1<a.B.length||!!a.xa||t(a,16)}
|
||||
function Mg(a,b,c){var d=a.H;if(0<c&&(a.xa&&!--a.xa||Tz(a,b,1,a.B)))return!0;0<=c&&a.J.length&&(a.Y++,b=yg(d,b),null!=b&&(a.J[b][1]++,My(a,a.O[a.ma],A(d),d.Z.U),++a.ma==a.O.length&&(a.ma=0)));return!1}function qd(a,b,c){return Tz(a,b,c||1,a.Z)?(a.Jb(!0),!0):!1}function sd(a,b,c){return Tz(a,b,c||1,a.N)?(a.Jb(!0),!0):!1}function Qc(a,b,c){a.P("break on input from port "+ta(b)+": "+q(c));a.Jb(!0)}function Uc(a,b,c){a.P("break on output to port "+ta(b)+": "+q(c));a.Jb(!0)}
|
||||
function jy(a){var b,c;a.B=["bp"];if(a.Z)for(b=1;b<a.Z.length;b++)c=a.Z[b],lf(a.H,a.Sb(c),!1,c.type==Ky);a.Z=["br"];if(a.N)for(b=1;b<a.N.length;b++)c=a.N[b],lf(a.H,a.Sb(c),!0,c.type==Ky);a.N=["bw"];a.Da=0}
|
||||
l.Gd=function(a,b,c){var d=!0;c||Fy(this,a,b,!1,!0);if(a!=this.B){var e=this.Sb(b);if(-1===e)this.P("invalid address: "+Gy(b)),d=!1;else{var f=this.H,g=b.type==Ky;(g?f.sc:f.aa)[e>>>f.hb].Gd(e&f.Db,a==this.N);g&&tc(f)}}d&&(a.push(b),c?(null!=b.ya&&(b.U=null),b.Jd=!0):(Uz(this,a,a.length-1,"set"),ky(this)));return d};
|
||||
function Fy(a,b,c,d,e){for(var f=!1,g=Vz(a,a.Sb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==Vz(a,a.Sb(k))||-1===g&&c.U==k.U&&c.Ja==k.Ja)if(!d||k.Jd){f=!0;k.Jd||e||Uz(a,b,h,"cleared");b.splice(h,1);b!=a.B&&lf(a.H,g,b==a.N,k.type==Ky);k.Jd||ky(a);break}}return f}function Wz(a,b){for(var c=1;c<b.length;c++)Uz(a,b,c);return b.length-1}function Uz(a,b,c,d){c=b[c];a.P(b[0]+" "+Gy(c)+(d?" "+d:c.Yk?' "'+c.Yk+'"':""))}
|
||||
function Sz(a,b){if(void 0!==b)Tz(a,b,1,a.B,!0),a.I=0;else for(b=1;b<a.B.length;b++){var c=a.B[b];if(c.Jd){if(!Fy(a,a.B,c,!0))break;b=0}}}function Vz(a,b){-1!==b&&(a=a.wa&-65536,(b&a)==a&&(b&=1048575));return b}
|
||||
function Tz(a,b,c,d,e){var f=!1;if(!a.Da++){b=Vz(a,b);t(a,-2147483632)&&204==yg(a.H,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Jd){null!=h.U&&(h.ya=null);for(var k=Vz(a,a.Sb(h)),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.Jd&&(Fy(a,d,h,!0),e=!0);if(p=h.sl){for(var f=!1,v=0;v<p.length;v++)if(!Xz(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.wb||(f=!0)}if(f){e||Uz(a,d,g,"hit");break}}}}}a.Da--;return f}
|
||||
function Yz(a,b,c,d){for(var e=iy(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=Zz,k=a.oa[f],m=k[0];m==$z&&(m=a.Ia(b,1),k=aA[m]||oy,f|=m<<8,m=k[0]);if(m==bA){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=cA[f])&&(v=u[E]);v&&(p=dA,k=v,m=k[0])}m>=p.length&&(g=a.Ia(b,1),k=eA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Hb&&(m==fA?
|
||||
p="CWDE":m==gA?p="CDQ":m>=hA&&m<=iA&&(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,K=1;K<=u;K++){var H,I;H="";I=k[K];if(void 0!==I){0>f&&(f=I>>jA);m==kA&&(f==lA?v="[%800]":f==mA&&(v="ES:["+(b.dc?"E":"")+"DI]"));var T=I&nA;if(T!=oA)if(T==pA)E=!1;else{var L=I&qA;if(L>=R)if(0>g&&(g=a.Ia(b,1)),L<rA){L=a;H=I;var ua=u;I=b;var ca="",xb=g>>6,za=g&7;if(3>xb){T=!p.indexOf("FI");if(!xb&&(!I.dc&&6==za||I.dc&&5==za))xb=2;else{if(I.dc)if(4!=za)za+=
|
||||
8;else{var ca=L,cb=xb,Sa=I,rb=ca.Ia(Sa,1),db=rb>>6,rc=rb>>3&7,rb=rb&7,ib="";if(cb||5!=rb)ib=sA[rb+8];4!=rc&&(ib&&(ib+="+"),ib+=sA[rc+8],db&&(ib+="*"+(1<<db)));cb||5!=rb||(ib&&(ib+="+"),ib+=q(Cy(ca,Sa,4)));ca=ib}ca||(ca=sA[za])}1==xb?(L=L.Ia(I,1),ca=L&128?ca+("-"+q(-(L<<24>>24),2)):ca+("+"+q(L,2))):2==xb&&(ca&&(ca+="+"),I.dc?(L=Cy(L,I,4),ca+=q(L)):(L=L.Yc(I,2),ca+=q(L,4)));ca="["+ca+"]";if(1==ua){L="";H&=nA;H==S&&(H=I.Hb?tA:U);switch(H){case uA:L="FAR";break;case V:L="BYTE";break;case U:if(T){L="INT16";
|
||||
break}L="WORD";break;case tA:L="DWORD";break;case vA:if(T){L="INT32";break}case wA:L="REAL32";break;case xA:if(T){L="INT64";break}case yA:L="REAL64";break;case zA:L="REAL80";break;case AA:L="BCD80"}L&&(ca=L+" "+ca)}}else ca=BA(L,za,H,I);H=ca}else H=L==rA?BA(a,g&7,I,b):BA(a,g>>3&7,I,b);else if(L==CA)H="1";else if(L==W){H=a;T=I;L=b;I=" ";switch(T&nA){case V:T&X&&(I=q(H.Ia(L,1),2));break;case DA:I=q(H.Ia(L,1)<<24>>24,L.Hb?8:4);break;case S:if(L.Hb){I=q(Cy(H,L,4));break}case U:I=q(H.Yc(L,2),4);break;
|
||||
case uA:L=iy(H,H.jb(L,!0),H.Yc(L,2),null,L.type,L.Hb,L.dc);I=Gy(L);H=EA(H,L);H[0]&&(I+=" ("+H[0]+")");break;default:I="imm("+ta(T)+")"}H=I}else L==FA?(b.dc?(H=8,I=Cy(a,b,4)):(H=4,I=a.Yc(b,2)),H="["+q(I,H)+"]"):L==GA?(H=T==V?a.Ia(b,1)<<24>>24:a.jb(b,!0),I=b.Ja+H&(b.Hb?-1:65535),H=q(I,b.Hb?8:4),I=EA(a,iy(a,I,b.U)),I[0]&&(H+=" ("+I[0]+")")):L==Y?H=T==HA?"ST":T==IA?"ST("+(g&7)+")":BA(a,(I&JA)>>8,I,b):L==KA?H=BA(a,(I&JA)>>8,LA,b):L==MA?H="DS:[SI]":L==NA&&(H="ES:[DI]");if(!H||!H.length){v="INVALID";break}0<
|
||||
v.length&&(v+=",");v+=H||"???"}}}g="";k=Gy(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+=Ba(g,e.dc?24:16);k+=Ba(p,8);v&&(k+=" "+v);a.H.ca<OA[f]&&(c=OA[f]+" CPU only");c&&E&&(k=Ba(k,e.dc?74:56)+";"+c,k=a.H.ea.He?k+("cycles="+Ed(a.H).toString()+" cs="+q(a.H.T.uf)):k+(null!=d?"="+d.toString():""));PA(b,E,h);return k}
|
||||
function BA(a,b,c,d){var e=c&qA;if(e==LA){if(b>uz||b>=tz&&80386>a.H.ca)return"??";b+=oz}else if(e==QA)b+=Dz;else if(e==RA)b+=SA;else if(e==TA)b+=UA;else if(a=c&nA,a>=U&&(b<fz&&(b+=fz-Yy),a==tA||a==S&&d.Hb))b+=vz-fz;return Wy[b]}
|
||||
function VA(a,b){switch(b){case "V":a=ig(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=hg(a.H);break;case "Z":a=gg(a.H);break;case "A":a=fg(a.H);break;case "P":a=eg(a.H);break;case "C":a=dg(a.H);break;default:a=0}return b+(a?"1":"0")+" "}function uy(a){return q(a,a&-65536?8:4)}function WA(a,b){b>=fz&&b<=mz&&4<a.ta&&(b+=vz-fz);var c=Wy[b];b==Dz&&80286==a.H.ca&&(c="MS");return c+"="+Xy(a,b)+" "}
|
||||
function XA(a,b,c){return b.$b+"="+q(b.U,4)+(c?"["+q(b.ua,a.la)+","+uy(b.Ka)+"]":"")}function YA(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.la)+","+q(e-d,4)+"]"}
|
||||
function ZA(a,b){var c;void 0===b&&(b=Iy(a));c=WA(a,fz)+WA(a,iz)+WA(a,gz)+WA(a,hz)+(4<a.ta?"\n":"")+WA(a,jz)+WA(a,kz)+WA(a,lz)+WA(a,mz)+"\n"+XA(a,a.H.Y,b)+" "+XA(a,a.H.Ca,b)+" "+XA(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"+XA(a,a.H.Z,b)+" ";80386<=a.H.ca&&(e+="\n",c+=XA(a,a.H.Ga,b)+" "+XA(a,a.H.Ha,b)+"\n");c+=YA(a,"LD",a.H.Eb.U,a.H.Eb.ua,a.H.Eb.ua+a.H.Eb.Ka)+" "+YA(a,"GD",null,a.H.Kb,a.H.Pc)+" "+YA(a,"ID",
|
||||
null,a.H.Pb,a.H.cd)+" ";c=c+(d+" "+e)+WA(a,Dz);80386<=a.H.ca&&(c+=WA(a,Fz)+WA(a,Gz))}else 80386<=a.H.ca&&(c+=XA(a,a.H.Ga,b)+" "+XA(a,a.H.Ha,b)+" ");return c+=WA(a,Iz)+VA(a,"V")+VA(a,"D")+VA(a,"I")+VA(a,"T")+VA(a,"S")+VA(a,"Z")+VA(a,"A")+VA(a,"P")+VA(a,"C")}l.gj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function aq(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,K=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],H=Ea(E,u,a.gj);0>H&&E.splice(-(H+1),0,u)}K&&(v.a=K.replace(/''/g,'"'))}a.D.push({Rf:b,pn:c,U:d,Ja:e,ya:f,en:g,Fd:h,Pi:m})}
|
||||
function Dy(a,b,c){for(var d=0;d<a.D.length;d++){var e=a.D[d];if(!b||e.Rf==b)if(b&&c==e.pn||!b&&c==e.U){a.D.splice(d,1);break}}}function DA(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Sb(b)>>>0,g=0;g<a.D.length;g++){var h=a.D[g],k=h.U,m=h.Ja>>>0,p=h.ya;null!=p&&(p>>>=0);var v=h.en;48==k&&(k=40);if(k==b.U&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Ea(h.Pi,[e],a.gj);0<=b?ZA(a,g,b,d):c&&(b=~b,ZA(a,g,b-1,d),ZA(a,g,b,d));break}}!d.length&&(a=a.ka.wj(f,!0))&&(d.push(a),d.push(f));return d}
|
||||
function ZA(a,b,c,d){var e={},f=a.D[b].Pi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.D[b].Fd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function $A(a){a.Ie&&(a.Ie.value="")}
|
||||
function aB(a,b){if("?"==b)a.P("frequency commands:"),a.P("\tclear\tclear all frequency counts");else{var c=0;if(a.J)if("clear"==b){for(b=0;b<a.J.length;b++)a.J[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.J.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((Yz[a.oa[e][0]]+" ").substr(0,5)+" ("+r(e)+"): "+f+" times"),c++)}}c||a.P("no frequency data available")}}
|
||||
function bB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return fy(a)||a.P("no variables"),!0;if(!c[2])return fy(a,c[1]);if(!c[3])return delete a.ga[c[1]],!0;b=by(a,c[3]);return void 0!==b?(a.ga[c[1]]=b,!0):!1}a.P("invalid assignment:"+b);return!1}
|
||||
function cB(a,b,c){var d=null;if(b=Py(a,b,!0)){a.Sb(b);var e=DA(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ja-e[1])&&(g=" + "+ta(f)),f=e[0]+" ("+uy(e[1],b.U)+")"+g,c&&a.P(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+ta(f)),f=e[4]+" ("+uy(e[5],b.U)+")"+g,c&&a.P(f),d||(d=f))}else c&&a.P("no symbols")}return d}
|
||||
function dB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Py(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.hb;2<=d&&a.Xa&&(d-=2,h=a.Xa);if(h){var k=h.hj(d);if(k)if(k.sa)if(c)$A(a),a.P(k.sa.toJSON());else if(h.$k(k,e,f)){var m=0,p=!1;for(b=Fy(g);!p&&0<k.vb--;)(function(a,b){h.se(k,function(c){0>c?(a.P("out of data at address "+Fy(b)),p=!0):(a.fc(b,c,1,!0),m++)})})(a,g);Cd(a.H,
|
||||
function Ey(a,b,c){for(var d=0;d<a.D.length;d++){var e=a.D[d];if(!b||e.Rf==b)if(b&&c==e.pn||!b&&c==e.U){a.D.splice(d,1);break}}}function EA(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Sb(b)>>>0,g=0;g<a.D.length;g++){var h=a.D[g],k=h.U,m=h.Ja>>>0,p=h.ya;null!=p&&(p>>>=0);var v=h.en;48==k&&(k=40);if(k==b.U&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Ea(h.Pi,[e],a.gj);0<=b?$A(a,g,b,d):c&&(b=~b,$A(a,g,b-1,d),$A(a,g,b,d));break}}!d.length&&(a=a.ka.wj(f,!0))&&(d.push(a),d.push(f));return d}
|
||||
function $A(a,b,c,d){var e={},f=a.D[b].Pi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.D[b].Fd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function aB(a){a.Ie&&(a.Ie.value="")}
|
||||
function bB(a,b){if("?"==b)a.P("frequency commands:"),a.P("\tclear\tclear all frequency counts");else{var c=0;if(a.J)if("clear"==b){for(b=0;b<a.J.length;b++)a.J[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.J.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((Zz[a.oa[e][0]]+" ").substr(0,5)+" ("+r(e)+"): "+f+" times"),c++)}}c||a.P("no frequency data available")}}
|
||||
function cB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return gy(a)||a.P("no variables"),!0;if(!c[2])return gy(a,c[1]);if(!c[3])return delete a.ga[c[1]],!0;b=dy(a,c[3]);return void 0!==b?(a.ga[c[1]]=b,!0):!1}a.P("invalid assignment:"+b);return!1}
|
||||
function dB(a,b,c){var d=null;if(b=Qy(a,b,!0)){a.Sb(b);var e=EA(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ja-e[1])&&(g=" + "+ta(f)),f=e[0]+" ("+vy(e[1],b.U)+")"+g,c&&a.P(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+ta(f)),f=e[4]+" ("+vy(e[5],b.U)+")"+g,c&&a.P(f),d||(d=f))}else c&&a.P("no symbols")}return d}
|
||||
function eB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Qy(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.hb;2<=d&&a.Xa&&(d-=2,h=a.Xa);if(h){var k=h.hj(d);if(k)if(k.sa)if(c)aB(a),a.P(k.sa.toJSON());else if(h.$k(k,e,f)){var m=0,p=!1;for(b=Gy(g);!p&&0<k.vb--;)(function(a,b){h.se(k,function(c){0>c?(a.P("out of data at address "+Gy(b)),p=!0):(a.fc(b,c,1,!0),m++)})})(a,g);Cd(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 Pz(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=ah(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]=rh(g,h);e[2]=g.F[h];h<<=1;e[3]=g.L[h];e[4]=g.L[h+1];g=vh(g,e[3],e[4]);e[5]=g[0];e[6]=g[1];e[7]=g[2]}if(!e)break;
|
||||
a.P("ST"+f+": "+Ba(e[2].toFixed(15),24,!0)+" "+q(e[4])+","+q(e[3])+" ["+e[0]+":"+eB[e[1]]+"]")}a.P(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.P("SW: "+qa(d,16)+" ("+ta(d)+") CW: "+qa(b,16)+" ("+ta(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=by(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 Qz(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=ah(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]=rh(g,h);e[2]=g.F[h];h<<=1;e[3]=g.L[h];e[4]=g.L[h+1];g=vh(g,e[3],e[4]);e[5]=g[0];e[6]=g[1];e[7]=g[2]}if(!e)break;
|
||||
a.P("ST"+f+": "+Ba(e[2].toFixed(15),24,!0)+" "+q(e[4])+","+q(e[3])+" ["+e[0]+":"+fB[e[1]]+"]")}a.P(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.P("SW: "+qa(d,16)+" ("+ta(d)+") CW: "+qa(b,16)+" ("+ta(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=dy(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":he(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":ne(a.H,g);break;case "ES":oe(a.H,g);break;case "SS":ge(a.H,g);break;case "CS":Zf(a.H,g);a.K=hy(a,A(a.H),a.H.Z.U);break;case "IP":case "EIP":C(a.H,g);a.K=hy(a,A(a.H),a.H.Z.U);break;case "PC":case "PS":se(a.H,g);break;case "C":g?kg(a.H):lg(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":ne(a.H,g);break;case "ES":oe(a.H,g);break;case "SS":ge(a.H,g);break;case "CS":Zf(a.H,g);a.K=iy(a,A(a.H),a.H.Z.U);break;case "IP":case "EIP":C(a.H,g);a.K=iy(a,A(a.H),a.H.Z.U);break;case "PC":case "PS":se(a.H,g);break;case "C":g?kg(a.H):lg(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?
|
||||
sg(a.H):qg(a.H);break;case "Z":g?vg(a.H):rg(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?mg(a.H):ng(a.H);break;default:var k=!0;if(80286<=a.H.ca)switch(k=!1,h){case "MS":wg(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":he(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;bk.call(a.H,g);break;case "CR2":a.H.Cd=g;break;case "CR3":a.H.Wc=g;ue.call(a.H,g);break;default:k=!0}}if(k){a.P("unknown register: "+e);return}}if(!f){a.P("invalid value: "+b);return}Cd(a.H);a.P("updated registers:")}}a.P(YA(a,d));c&&(a.K=hy(a,A(a.H),a.H.Z.U),Qz(a,Fy(a.K)))}}
|
||||
function fB(a,b){b=Ca(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.P(Iz(a,c[2])):by(a,b,!1)}function gB(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=Xz(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 hB(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);Ya(c,function(){return Lb(a,!0)&&Gy(a,e,d,!1)},function(){Cd(a.H);Lb(a,!1)})}
|
||||
function OA(a,b,c){if(a.bh=b)null!=a.pj&&(a.Hb=a.pj),null!=a.oj&&(a.dc=a.oj),a.pj=a.Hb,a.oj=a.dc;a.Fe=c||0}
|
||||
function Qz(a,b,c,d){if(b=Py(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Py(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(OA(b,!0);0<e&&d--;){f=Kb(a,!1)||a.I?a.M:null;var g=null!=f?"cycles":null,h=DA(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=Xz(a,b,g,f);b.bh||d||d++;a.P(f);a.K=b;e-=b.ya-k;c++}}}
|
||||
g;break;case "EDX":a.H.L=g;break;case "ESP":he(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;bk.call(a.H,g);break;case "CR2":a.H.Cd=g;break;case "CR3":a.H.Wc=g;ue.call(a.H,g);break;default:k=!0}}if(k){a.P("unknown register: "+e);return}}if(!f){a.P("invalid value: "+b);return}Cd(a.H);a.P("updated registers:")}}a.P(ZA(a,d));c&&(a.K=iy(a,A(a.H),a.H.Z.U),Rz(a,Gy(a.K)))}}
|
||||
function gB(a,b){b=Ca(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.P(Jz(a,c[2])):dy(a,b,!1)}function hB(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=Yz(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 iB(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);Ya(c,function(){return Lb(a,!0)&&Hy(a,e,d,!1)},function(){Cd(a.H);Lb(a,!1)})}
|
||||
function PA(a,b,c){if(a.bh=b)null!=a.pj&&(a.Hb=a.pj),null!=a.oj&&(a.dc=a.oj),a.pj=a.Hb,a.oj=a.dc;a.Fe=c||0}
|
||||
function Rz(a,b,c,d){if(b=Qy(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Qy(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(PA(b,!0);0<e&&d--;){f=Kb(a,!1)||a.I?a.M:null;var g=null!=f?"cycles":null,h=EA(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=Yz(a,b,g,f);b.bh||d||d++;a.P(f);a.K=b;e-=b.ya-k;c++}}}
|
||||
l.Cg=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(Ca(a.substring(d,f))),d=f+1}}return b};
|
||||
function Wz(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.da&&(a.P("ended assemble at "+Fy(a.aa)),a.K=a.aa,a.da=!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(Ib(a)&&0<b.length){a.da&&(b="a "+Fy(a.aa)+" "+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=
|
||||
Py(a,g[1],!0);if(v)if(a.aa=v,void 0===g[2])a.P("begin assemble at "+Fy(v)),a.da=!0,Cd(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(Xz(a,a.aa))}}break;case "b":a:{var K=g[0],H=g[1],I=b;if("?"==H)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=K.charAt(1);if("l"==T){var L;L=0+Vz(a,a.B);L+=Vz(a,a.Z);(L+=Vz(a,a.N))||a.P("no breakpoints")}else if("n"==T)a.xa=$x(a,H),a.P("break after "+a.xa+" instruction(s)");else if(void 0===H)a.P("missing breakpoint address");else{var ua={};if("*"!=H&&(ua=Py(a,H,!0,!0),!ua))break a;H=null==ua.Ja?H:ta(ua.Ja);"c"==T?null==ua.Ja?(iy(a),a.P("all breakpoints cleared")):Ey(a,
|
||||
a.B,ua)||Ey(a,a.Z,ua)||Ey(a,a.N,ua)||a.P("breakpoint missing: "+Fy(ua)):"i"==T?a.P("breakpoint "+(Nc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==T?a.P("breakpoint "+(Rc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=ua.Ja&&(Sy(a,ua,I),"p"==T?a.Gd(a.B,ua):"r"==T?a.Gd(a.Z,ua):"w"==T?a.Gd(a.N,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":$A(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 Sb)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=iB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
||||
($A(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],tg=df.o;if(void 0!==tg){var ef=df.s;void 0===ef&&(ef=cf.U);var ug=cf.Fd[Ld].l;ug&&(Ld=ug);a.P(uy(tg,ef)+" "+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 Og=a.Sb(Py(a,qm));if(-1===Og)a.P("invalid address: "+qm);else{var nf,
|
||||
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Og&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.ob=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.ob.Nd(Qa.Jk);Qa.Kk=(Og&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.pb=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.pb.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Og&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Og),ve=ve+(" %%"+Uy(nf.Ti,nf.Aj)),ve=
|
||||
ve+(" %%"+Uy(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";dB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var vt=a.Ba[xb];vt?(ca.shift(),ca.shift(),vt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.lb||"db")}else a.lb=za;if("dh"==za){var wt=cb,xt=Sa,yt="",zt=0,Lc=a.ma,jd=a.O;if(jd.length){var uc=+wt||a.Ya,Pg=+xt||10;isNaN(uc)?uc=Pg:yt="more ";uc>jd.length&&(a.P("note: only "+
|
||||
jd.length+" available"),uc=jd.length);Lc-=uc;0>Lc&&(null==jd[jd.length-1].U?(uc=Lc+uc,Lc=0):Lc+=jd.length);var rm=[];"call"==xt&&(Pg=1E5,rm=["CALL"]);for(void 0!==wt&&a.P(uc+" instructions earlier:");0<Pg&&Lc!=a.ma;){var we=jd[Lc++];if(null==we.U)break;var Qg=hy(a,we.Ja,we.U,we.ya,we.type,we.Hb,we.dc),ZB=uc--,At=Xz(a,Qg,"history",ZB);(!rm.length||0<=At.indexOf(rm[0]))&&a.P(At);Qg.Fe&&(Lc+=Qg.Fe,Pg-=Qg.Fe,uc-=Qg.Fe);Lc>=jd.length&&(Lc=0);a.Ya=uc;zt++;Pg--}}zt||(a.P("no "+yt+"history available"),a.Ya=
|
||||
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Rg=$x(a,sm);if(void 0===Rg||0>Rg||255<Rg)a.P("invalid vector: "+sm);else{var Bt="&",Ct=!!(a.H.qa&1),Dt=!1,Ui=a.H.Pb+(Rg<<(Ct?3:2)),Et=a.H.ja(Ui+0),$B=a.H.ja(Ui+2);Ct&&(Bt="#",a.H.ja(Ui+4)&2048&&(Dt=!0,Et|=a.H.ja(Ui+6)<<16));a.P("dumpIDT("+ta(Rg)+"): "+Bt+q($B,4)+":"+q(Et,Dt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Py(a,cb);if(pf&&(null!=pf.U||null!=pf.ya)){var Vi=0;Sa&&("l"==Sa.charAt(0)&&
|
||||
(Sa=Sa.substr(1)||rb),Vi=$x(a,Sa)>>>0,65536<Vi&&(Vi=65536));for(var Sg="",qf="dd"==za?4:"dw"==za?2:1,Wi=qf*Vi||128,aC=Wi+15>>4||1;aC--&&0<Wi;){var Tg=0,tm=0,Ug,um="",Ft="",cb=Fy(pf);for(Ug=4==qf?16:a.L;0<Ug&&0<Wi;Ug--){var Xi=a.Ia(pf,1),Tg=Tg|Xi<<(tm++<<3);tm==qf&&(um+=8==a.L?sa(Tg,3*qf):q(Tg,2*qf),um+=1==qf?9==Ug?"-":" ":" ",Tg=tm=0);Ft+=32<=Xi&&128>Xi?String.fromCharCode(Xi):".";Wi--}Sg&&(Sg+="\n");Sg+=cb+" "+um+(Ug?"":" "+Ft)}Sg&&a.P(Sg);a.Ta=pf}}}}}break;case "e":if("else"==g[0])break;var Yi=
|
||||
1,Gt=255,Ht=a.Ia,It=a.fc;"ew"==g[0]&&(Yi=2,Gt=65535,Ht=a.Yc,It=a.il);var Jt=Yi<<1,Kt=g[1];if(null==Kt)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 Zi=Py(a,Kt);if(Zi)for(var $i=2;$i<g.length;$i++){var Vg=by(a,g[$i]);if(void 0===Vg){a.P("unrecognized value: "+g[$i]);break}Vg&~Gt&&a.P("warning: "+q(Vg)+" exceeds "+Yi+"-byte value");var bC=Ht.call(a,Zi);a.P("changing "+Fy(Zi)+" from "+q(bC,Jt,!0)+" to "+q(Vg,Jt,!0));
|
||||
It.call(a,Zi,Vg,Yi)}}break;case "f":aB(a,g[1]);break;case "g":a:{var Lt=g[1],cC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Lt){var vm=Py(a,Lt,!0);if(!vm)break a;Sy(a,vm,cC);a.Gd(a.B,vm,!0)}Nz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.wb)wm="halting",a.Jb();else{if(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Wg=b.substr(2),Wg=Ca(Wg);by(a,Wg)?(c||a.P("true: "+Wg),xm=!0):(c||a.P("false: "+Wg),xm=!1);xm||(d=!1);
|
||||
break}if("int"==g[0]){var aj;a:switch($x(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ha=a.Y;aj=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ha=a.Y;aj=!0;break a;default:aj=!1}aj||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=$x(a,ym);if(void 0!==zm){var dC=Pc(a.ka,zm,1);a.P(ta(zm)+": "+r(dC))}}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 eC=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,Mt=a.H.Z.U,Xg=hy(a),Sd=hy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Fy(Sd));10>Am;){for(var kd=null,fC=256;Sd.Ja>>>0<a.H.cg>>>0;){Xg.Ja=a.jb(Sd,!0);if(null==Sd.ya||!fC--)break;Xg.U=Mt;if(kd=gB(a,Xg))break;Xg.U=a.jb(Sd);if(kd=gB(a,Xg,!0)){Mt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Nt=null;if("ks"==eC){var Ot=kd.match(/[0-9A-F]+$/);Ot&&(Nt=cB(a,Ot[0]))}kd=Ba(kd,50)+" ;"+(Nt||"stack="+Fy(Sd));a.P(kd);Am++}Am||
|
||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){cB(a,g[1],!0);break}dB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],bj=g[2];if(a.G){var Pt=1;"-"==bj.charAt(0)&&(Pt=-1,bj=bj.substr(1));var xe=$x(a,bj,Bm);if(void 0!==xe)switch(xe=xe*Pt|0,Bm){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!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 ye=0;if("all"==
|
||||
fb)ye=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 Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var gC=0,Yg="";for(ld in Sb)if(!fb||fb==ld){var hC=!!(a.ic&Sb[ld]);if(null===md||md==hC)Yg&&(Yg+=","),++gC%10||(Yg+="\n\t"),"key"==ld&&(ld="keys"),Yg+=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")+(Yg||"none"));jy(a)}break;case "o":var Cm=g[1],iC=g[2];if(Cm&&"?"!=Cm){var Dm=$x(a,Cm,"port #"),Em=$x(a,iC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(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]){fB(a,b.substr(5));break}var Qt="pr"==g[0]?1:0,rf=1+Qt;if(a.I)a.P("step in progress");
|
||||
else{var cj,Rt=!1,Hb=hy(a,A(a.H),a.H.Z.U);do switch(cj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Ky(a,Hb,1);cj=!0;break;case 204:case 206:a.I=rf;Ky(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Ky(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Ky(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Ky(a,Hb,Hb.Hb?7:5);break;case 255:var St=a.jb(Hb)&14591;if(4351==St||6399==St)a.I=rf,Xz(a,Hb);break;case 243:case 242:Ky(a,Hb,1);Rt=cj=!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:Rt&&
|
||||
(a.I=rf,Ky(a,Hb,1))}while(cj);a.I?(a.Gd(a.B,Hb,!0),Nz(a)||(a.pa&&a.pa.ld(),a.I=0)):hB(a,Qt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Pz(a,g);break;case "t":hB(a,g[0],g[1]);break;case "u":Qz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){bB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Zg;void 0!==g[3]&&(Zg=+g[3]);
|
||||
function Xz(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.da&&(a.P("ended assemble at "+Gy(a.aa)),a.K=a.aa,a.da=!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(Ib(a)&&0<b.length){a.da&&(b="a "+Gy(a.aa)+" "+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=
|
||||
Qy(a,g[1],!0);if(v)if(a.aa=v,void 0===g[2])a.P("begin assemble at "+Gy(v)),a.da=!0,Cd(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(Yz(a,a.aa))}}break;case "b":a:{var K=g[0],H=g[1],I=b;if("?"==H)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=K.charAt(1);if("l"==T){var L;L=0+Wz(a,a.B);L+=Wz(a,a.Z);(L+=Wz(a,a.N))||a.P("no breakpoints")}else if("n"==T)a.xa=$x(a,H),a.P("break after "+a.xa+" instruction(s)");else if(void 0===H)a.P("missing breakpoint address");else{var ua={};if("*"!=H&&(ua=Qy(a,H,!0,!0),!ua))break a;H=null==ua.Ja?H:ta(ua.Ja);"c"==T?null==ua.Ja?(jy(a),a.P("all breakpoints cleared")):Fy(a,
|
||||
a.B,ua)||Fy(a,a.Z,ua)||Fy(a,a.N,ua)||a.P("breakpoint missing: "+Gy(ua)):"i"==T?a.P("breakpoint "+(Nc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==T?a.P("breakpoint "+(Rc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=ua.Ja&&(Ty(a,ua,I),"p"==T?a.Gd(a.B,ua):"r"==T?a.Gd(a.Z,ua):"w"==T?a.Gd(a.N,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":aB(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 Sb)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=jB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
||||
(aB(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],tg=df.o;if(void 0!==tg){var ef=df.s;void 0===ef&&(ef=cf.U);var ug=cf.Fd[Ld].l;ug&&(Ld=ug);a.P(vy(tg,ef)+" "+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 Og=a.Sb(Qy(a,qm));if(-1===Og)a.P("invalid address: "+qm);else{var nf,
|
||||
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Og&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.ob=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.ob.Nd(Qa.Jk);Qa.Kk=(Og&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.pb=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.pb.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Og&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Og),ve=ve+(" %%"+Vy(nf.Ti,nf.Aj)),ve=
|
||||
ve+(" %%"+Vy(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";eB(a,ca);break a}for(xb in Sb)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.lb||"db")}else a.lb=za;if("dh"==za){var yt=cb,zt=Sa,At="",Bt=0,Lc=a.ma,jd=a.O;if(jd.length){var uc=+yt||a.Ya,Pg=+zt||10;isNaN(uc)?uc=Pg:At="more ";uc>jd.length&&(a.P("note: only "+
|
||||
jd.length+" available"),uc=jd.length);Lc-=uc;0>Lc&&(null==jd[jd.length-1].U?(uc=Lc+uc,Lc=0):Lc+=jd.length);var rm=[];"call"==zt&&(Pg=1E5,rm=["CALL"]);for(void 0!==yt&&a.P(uc+" instructions earlier:");0<Pg&&Lc!=a.ma;){var we=jd[Lc++];if(null==we.U)break;var Qg=iy(a,we.Ja,we.U,we.ya,we.type,we.Hb,we.dc),$B=uc--,Ct=Yz(a,Qg,"history",$B);(!rm.length||0<=Ct.indexOf(rm[0]))&&a.P(Ct);Qg.Fe&&(Lc+=Qg.Fe,Pg-=Qg.Fe,uc-=Qg.Fe);Lc>=jd.length&&(Lc=0);a.Ya=uc;Bt++;Pg--}}Bt||(a.P("no "+At+"history available"),a.Ya=
|
||||
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Rg=$x(a,sm);if(void 0===Rg||0>Rg||255<Rg)a.P("invalid vector: "+sm);else{var Dt="&",Et=!!(a.H.qa&1),Ft=!1,Vi=a.H.Pb+(Rg<<(Et?3:2)),Gt=a.H.ja(Vi+0),aC=a.H.ja(Vi+2);Et&&(Dt="#",a.H.ja(Vi+4)&2048&&(Ft=!0,Gt|=a.H.ja(Vi+6)<<16));a.P("dumpIDT("+ta(Rg)+"): "+Dt+q(aC,4)+":"+q(Gt,Ft?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Qy(a,cb);if(pf&&(null!=pf.U||null!=pf.ya)){var Wi=0;Sa&&("l"==Sa.charAt(0)&&
|
||||
(Sa=Sa.substr(1)||rb),Wi=$x(a,Sa)>>>0,65536<Wi&&(Wi=65536));for(var Sg="",qf="dd"==za?4:"dw"==za?2:1,Xi=qf*Wi||128,bC=Xi+15>>4||1;bC--&&0<Xi;){var Tg=0,tm=0,Ug,um="",Ht="",cb=Gy(pf);for(Ug=4==qf?16:a.L;0<Ug&&0<Xi;Ug--){var Yi=a.Ia(pf,1),Tg=Tg|Yi<<(tm++<<3);tm==qf&&(um+=8==a.L?sa(Tg,3*qf):q(Tg,2*qf),um+=1==qf?9==Ug?"-":" ":" ",Tg=tm=0);Ht+=32<=Yi&&128>Yi?String.fromCharCode(Yi):".";Xi--}Sg&&(Sg+="\n");Sg+=cb+" "+um+(Ug?"":" "+Ht)}Sg&&a.P(Sg);a.Ta=pf}}}}}break;case "e":if("else"==g[0])break;var Zi=
|
||||
1,It=255,Jt=a.Ia,Kt=a.fc;"ew"==g[0]&&(Zi=2,It=65535,Jt=a.Yc,Kt=a.il);var Lt=Zi<<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 $i=Qy(a,Mt);if($i)for(var aj=2;aj<g.length;aj++){var Vg=dy(a,g[aj]);if(void 0===Vg){a.P("unrecognized value: "+g[aj]);break}Vg&~It&&a.P("warning: "+q(Vg)+" exceeds "+Zi+"-byte value");var cC=Jt.call(a,$i);a.P("changing "+Gy($i)+" from "+q(cC,Lt,!0)+" to "+q(Vg,Lt,!0));
|
||||
Kt.call(a,$i,Vg,Zi)}}break;case "f":bB(a,g[1]);break;case "g":a:{var Nt=g[1],dC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Nt){var vm=Qy(a,Nt,!0);if(!vm)break a;Ty(a,vm,dC);a.Gd(a.B,vm,!0)}Oz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.wb)wm="halting",a.Jb();else{if(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Wg=b.substr(2),Wg=Ca(Wg);dy(a,Wg)?(c||a.P("true: "+Wg),xm=!0):(c||a.P("false: "+Wg),xm=!1);xm||(d=!1);
|
||||
break}if("int"==g[0]){var bj;a:switch($x(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ha=a.Y;bj=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ha=a.Y;bj=!0;break a;default:bj=!1}bj||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=$x(a,ym);if(void 0!==zm){var eC=Pc(a.ka,zm,1);a.P(ta(zm)+": "+r(eC))}}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 fC=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,Xg=iy(a),Sd=iy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Gy(Sd));10>Am;){for(var kd=null,gC=256;Sd.Ja>>>0<a.H.cg>>>0;){Xg.Ja=a.jb(Sd,!0);if(null==Sd.ya||!gC--)break;Xg.U=Ot;if(kd=hB(a,Xg))break;Xg.U=a.jb(Sd);if(kd=hB(a,Xg,!0)){Ot=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Pt=null;if("ks"==fC){var Qt=kd.match(/[0-9A-F]+$/);Qt&&(Pt=dB(a,Qt[0]))}kd=Ba(kd,50)+" ;"+(Pt||"stack="+Gy(Sd));a.P(kd);Am++}Am||
|
||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){dB(a,g[1],!0);break}eB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],cj=g[2];if(a.G){var Rt=1;"-"==cj.charAt(0)&&(Rt=-1,cj=cj.substr(1));var xe=$x(a,cj,Bm);if(void 0!==xe)switch(xe=xe*Rt|0,Bm){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!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 ye=0;if("all"==
|
||||
fb)ye=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 Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var hC=0,Yg="";for(ld in Sb)if(!fb||fb==ld){var iC=!!(a.ic&Sb[ld]);if(null===md||md==iC)Yg&&(Yg+=","),++hC%10||(Yg+="\n\t"),"key"==ld&&(ld="keys"),Yg+=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")+(Yg||"none"));ky(a)}break;case "o":var Cm=g[1],jC=g[2];if(Cm&&"?"!=Cm){var Dm=$x(a,Cm,"port #"),Em=$x(a,jC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(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]){gB(a,b.substr(5));break}var St="pr"==g[0]?1:0,rf=1+St;if(a.I)a.P("step in progress");
|
||||
else{var dj,Tt=!1,Hb=iy(a,A(a.H),a.H.Z.U);do switch(dj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Ly(a,Hb,1);dj=!0;break;case 204:case 206:a.I=rf;Ly(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Ly(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Ly(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Ly(a,Hb,Hb.Hb?7:5);break;case 255:var Ut=a.jb(Hb)&14591;if(4351==Ut||6399==Ut)a.I=rf,Yz(a,Hb);break;case 243:case 242:Ly(a,Hb,1);Tt=dj=!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.I=rf,Ly(a,Hb,1))}while(dj);a.I?(a.Gd(a.B,Hb,!0),Oz(a)||(a.pa&&a.pa.ld(),a.I=0)):iB(a,St?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Qz(a,g);break;case "t":iB(a,g[0],g[1]);break;case "u":Rz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){cB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Zg;void 0!==g[3]&&(Zg=+g[3]);
|
||||
switch(g[2]){case "int":a.H.T.Se=Zg;break;case "start":a.H.T.wf=Zg;break;case "stop":a.H.T.Ue=Zg;break;default:a.P("unknown cs option");break a}void 0!==Zg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"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]){fB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in jB)Fm+="\n"+Ba(Gm,7)+jB[Gm];Jg(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(Ut){a.P("debugger error: "+(Ut.stack||Ut.message)),d=!1}return d}
|
||||
function ly(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Wz(a,b[+d]))return!1;return!0}
|
||||
var Kz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Jz=[26,28,40,42,109],jB={"?":"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"},Qy=0,Iy=1,ry=2,Ty=3,Ry=4,Jy=5,eA=18,fA=28,aA=36,jA=80,gA=104,hA=107,Zz=176,Yz="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(" "),
|
||||
cA="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(" "),
|
||||
eB=["VALID","ZERO ","SPEC ","EMPTY"],kA=2,lA=3,NA=[8086,80186,80286,80386],Xy=0,Yy=1,Zy=2,$y=3,az=4,bz=5,cz=6,dz=7,ez=8,fz=9,gz=10,hz=11,iz=12,jz=13,kz=14,lz=15,nz=16,mz=22,Hz=23,uz=24,vz=25,wz=26,xz=27,yz=28,zz=29,Az=30,Bz=31,Cz=32,Dz=33,Ez=34,Fz=35,RA=40,TA=48,Gz=56,Vy=["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"],oz=0,pz=1,qz=2,rz=3,sz=4,tz=5,rA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),mA=15,pA=240,IA=3840,nA=0,V=1,CA=2,U=3,S=4,sA=5,tA=7,oA=8,GA=9,HA=10,uA=11,vA=11,wA=12,xA=12,yA=13,zA=14,W=0,BA=16,EA=32,FA=48,LA=64,MA=80,Y=96,JA=112,R=128,qA=160,KA=192,PA=208,QA=224,SA=240,kB=Xy<<8|Y|V,lB=Yy<<8|Y|V,mB=ez<<8|Y|S,nB=fz<<8|Y|S,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=oz<<8|JA|U,vB=pz<<8|JA|U,wB=qz<<8|JA|U,xB=rz<<8|JA|U,yB=sz<<8|JA|U,zB=tz<<8|JA|U,X=12288,AB=kA<<14,Z=lA<<14,iA=14,Mz=1E3,ny=[0,nA],oy=[Zz,U|X],my=[[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,kB|X,W|V|4096],[6,mB|X,W|S|4096],[108,uB|4096],[103,uB|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,kB|X,W|V|4096],[99,mB|X,W|S|4096],[108,vB|4096],[103,vB|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,kB|X,W|V|4096],[5,mB|X,W|S|4096],[108,wB|4096],[103,wB|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,kB|X,W|V|4096],[120,mB|X,W|S|4096],[108,xB|4096],[103,xB|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,kB|X,W|V|4096],[7,mB|X,W|S|4096],[35,oA],[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,kB|X,W|V|4096],[154,mB|X,W|S|4096],[27,oA],[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,kB|X,W|V|4096],[162,mB|X,W|S|4096],[147,oA],[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,kB|4096,W|V|4096],[24,mB|4096,W|S|4096],[33,oA],[4],[44,mB|X],[44,nB|X],[44,oB|X],[44,pB|X],[44,qB|X],[44,rB|X],[44,sB|X],[44,tB|X],[31,mB|X],[31,nB|X],[31,oB|X],[31,pB|X],[31,qB|X],[31,rB|X],[31,sB|X],[31,tB|X],[108,mB|4096],[108,nB|4096],[108,oB|4096],[108,pB|4096],[108,qB|4096],
|
||||
[108,rB|4096],[108,sB|4096],[108,tB|4096],[103,mB|8192],[103,nB|8192],[103,oB|8192],[103,pB|8192],[103,qB|8192],[103,rB|8192],[103,sB|8192],[103,tB|8192],[hA,nA|AB],[gA,nA|AB],[10,S|4272|AB,R|S|4096],[8,R|U|8192,U|4272],[37,oA|Z],[38,oA|Z],[100,oA|Z],[9,oA|Z],[108,W|S|4096|AB],[42,176|U|X|AB,R|S|4096,W|S|4096],[108,W|CA|4096|AB],[42,U|8368|AB,R|S|4096,W|V|4096],[45,MA|V|8192|AB,oB|4096],[45,MA|S|8192|AB,oB|4096],[102,oB|4096|AB,LA|V|4096],[102,oB|4096|AB,LA|S|4096],[64,FA|V|4096],[60,FA|V|4096],[51,
|
||||
FA|V|4096],[59,FA|V|4096],[67,FA|V|4096],[63,FA|V|4096],[50,FA|V|4096],[58,FA|V|4096],[66,FA|V|4096],[62,FA|V|4096],[65,FA|V|4096],[61,FA|V|4096],[55,FA|V|4096],[54,FA|V|4096],[56,FA|V|4096],[53,FA|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,KA|U|4096],[71,S|8368,144|S],[90,
|
||||
KA|U|8192,R|S|4096],[103,R|S|8192],[97],[160,mB|X,nB|X],[160,mB|X,oB|X],[160,mB|X,pB|X],[160,mB|X,qB|X],[160,mB|X,rB|X],[160,mB|X,sB|X],[160,mB|X,tB|X],[eA],[fA],[17,W|tA|4096],[158],[106],[105],[117],[68],[90,kB|8192,EA|V|4096],[90,mB|8192,EA|S|4096],[90,EA|V|8192,kB|4096],[90,EA|S|8192,mB|4096],[91,MA|V|8192,LA|V|4096],[92,MA|S|8192,LA|S|4096],[25,MA|V|4096,LA|V|4096],[26,MA|S|4096,LA|S|4096],[155,kB|4096,W|V|4096],[155,mB|4096,W|S|4096],[151,MA|V|8192,kB|4096],[152,MA|S|8192,mB|4096],[82,kB|8192,
|
||||
LA|V|4096],[83,mB|8192,LA|S|4096],[121,kB|4096,MA|V|4096],[122,mB|4096,MA|S|4096],[90,kB|8192,W|V|4096],[90,lB|8192,W|V|4096],[90,Zy<<8|Y|V|8192,W|V|4096],[90,$y<<8|Y|V|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,mB|8192,W|S|4096],[90,nB|8192,W|S|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],[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|AB,W|V|4096],[72,nA|AB],[114,W|U|4096],[114],[47],[46,W|V|4096],[48],[49],[168,R|V|X,BA|V|4096],[169,R|S|X,BA|V|4096],[170,R|V|X,lB|4096],[171,R|S|X,lB|4096],[3,W|V],[2,W|V],[118],[161],[aA,R|S|4096],[aA,R|S|4096],[aA,R|S|4096],[aA,R|S|4096],[aA,R|S|4096],[aA,R|S|4096],[aA,R|S|4096],[aA,R|S|4096],[85,FA|V|4096],[86,FA|V|4096],[84,FA|V|4096],[52,FA|V|4096],[43,
|
||||
kB|8192,W|V|4096],[43,mB|8192,W|V|4096],[101,W|V|4096,kB|4096],[101,W|V|4096,mB|4096],[17,FA|S|4096],[57,FA|S|4096],[57,W|tA|4096],[57,FA|V|4096],[43,kB|8192,oB|U|4096],[43,mB|8192,oB|U|4096],[101,oB|U|4096,kB|4096],[101,oB|U|4096,mB|4096],[81,oA],[0],[111,oA],[112,oA],[39],[23],[172,R|V|X],[173,R|S|X],[19],[148],[21],[150],[20],[149],[174,R|V|X],[175,R|S|X]],$z={0:[177,R|U|X],1:[178,R|U|X],2:[69,U|8368|AB,U|4240],3:[87,U|8368|AB,U|4240],5:[jA,AB],6:[22,AB],7:[jA,Z],32:[90,qA|sA|8192|Z,PA|sA|4096],
|
||||
33:[90,qA|sA|8192|Z,QA|sA|4096],34:[90,PA|sA|8192|Z,qA|sA|4096],35:[90,QA|sA|8192|Z,qA|sA|4096],36:[90,qA|sA|8192|Z,SA|sA|4096],38:[90,SA|sA|8192|Z,qA|sA|4096],128:[64,FA|S|4096|Z],129:[60,FA|S|4096|Z],130:[51,FA|S|4096|Z],131:[59,FA|S|4096|Z],132:[67,FA|S|4096|Z],133:[63,FA|S|4096|Z],134:[50,FA|S|4096|Z],135:[58,FA|S|4096|Z],136:[66,FA|S|4096|Z],137:[62,FA|S|4096|Z],138:[65,FA|S|4096|Z],139:[61,FA|S|4096|Z],140:[55,FA|S|4096|Z],141:[54,FA|S|4096|Z],142:[56,FA|S|4096|Z],143:[53,FA|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,yB|4096|Z],161:[103,yB|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,lB|4096],166:[159,S|8368|Z,R|S|4096,mB|4096,
|
||||
lB|4096],167:[40,R|S|8192|Z,mB|4096,lB|4096,S|4272],168:[108,zB|4096|Z],169:[103,zB|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,lB|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,sA|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,
|
||||
sA|8368|Z,R|U|4096]},bA={216:{0:[9,R|vA|4096],1:[18,R|vA|4096],2:[34,R|vA|4096],3:[35,R|vA|4096],4:[12,R|vA|4096],5:[15,R|vA|4096],6:[21,R|vA|4096],7:[24,R|vA|4096],48:[9,Y|GA|8192,Y|HA|4096],49:[18,Y|GA|8192,Y|HA|4096],50:[34,Y|GA|8192,Y|HA|4096],51:[35,Y|GA|8192,Y|HA|4096],52:[12,Y|GA|8192,Y|HA|4096],53:[15,Y|GA|8192,Y|HA|4096],54:[21,Y|GA|8192,Y|HA|4096],55:[24,Y|GA|8192,Y|HA|4096]},217:{0:[0,R|vA|4096],2:[1,R|vA|8192],3:[2,R|vA|8192],4:[68,R|4111],5:[59,R|U|4096],6:[66,R|8207],7:[60,R|U|8192],
|
||||
48:[0,Y|HA|8192],49:[3,Y|HA|8192],50:[76],51:[2,Y|HA|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|uA|4096],1:[20,R|uA|4096],2:[37,R|uA|4096],3:[38,R|uA|4096],4:[14,R|uA|4096],5:[17,R|uA|4096],6:[23,R|uA|4096],7:[26,R|uA|4096]},219:{0:[4,R|uA|4096],2:[5,R|uA|8192],3:[6,R|uA|8192],5:[0,R|yA|4096],7:[2,R|yA|8192],64:[57],65:[55],66:[64],
|
||||
67:[53],68:[78,AB],115:[79,Z]},220:{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|HA|8192,Y|GA|4096],49:[18,Y|HA|8192,Y|GA|4096],50:[34,Y|HA|4096],51:[35,Y|HA|4096],52:[15,Y|HA|8192,Y|GA|4096],53:[12,Y|HA|8192,Y|GA|4096],54:[24,Y|HA|8192,Y|GA|4096],55:[21,Y|HA|8192,Y|GA|4096]},221:{0:[0,R|xA|4096],2:[1,R|xA|8192],3:[2,R|xA|8192],4:[71,R|4111],6:[69,R|8207],7:[62,R|U|8192],48:[74,Y|HA|4096],49:[3,Y|HA|
|
||||
8192],50:[1,Y|HA|4096],51:[2,Y|HA|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|HA|8192,Y|GA|4096],49:[19,Y|HA|8192,Y|GA|4096],50:[35,Y|HA|4096],51:[36,Y|HA|4096],52:[16,Y|HA|8192,Y|GA|4096],53:[13,Y|HA|8192,Y|GA|4096],54:[25,Y|HA|8192,Y|GA|4096],55:[22,Y|HA|8192,Y|GA|4096]},223:{0:[4,R|U|4096],2:[5,R|U|8192],3:[6,R|U|8192],4:[7,R|zA|4096],5:[4,R|wA|4096],6:[8,R|zA|8192],7:[6,R|wA|8192],48:[75,Y|
|
||||
HA|4096],49:[3,Y|HA|8192],50:[2,Y|HA|4096],51:[2,Y|HA|4096],52:[80,AB]}},dA=[[[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|CA|4096],[99,R|S|X,W|CA|4096],[5,R|S|X,W|CA|4096],[120,R|S|X,W|CA|4096],[7,R|S|X,W|
|
||||
CA|4096],[154,R|S|X,W|CA|4096],[162,R|S|X,W|CA|4096],[24,R|S|4096,W|CA|4096]],[[115,R|V|X|AB,W|V|4096],[116,R|V|X|AB,W|V|4096],[109,R|V|X|AB,W|V|4096],[110,R|V|X|AB,W|V|4096],[140,R|V|X|AB,W|V|4096],[142,R|V|X|AB,W|V|4096],ny,[119,R|V|X|AB,W|V|4096]],[[115,R|S|X|AB,W|V|4096],[116,R|S|X|AB,W|V|4096],[109,R|S|X|AB,W|V|4096],[110,R|S|X|AB,W|V|4096],[140,R|S|X|AB,W|V|4096],[142,R|S|X|AB,W|V|4096],ny,[119,R|S|X|AB,W|V|4096]],[[115,R|V|X,BA|V|4096],[116,R|V|X,BA|V|4096],[109,R|V|X,BA|V|4096],[110,R|V|X,
|
||||
BA|V|4096],[140,R|V|X,BA|V|4096],[142,R|V|X,BA|V|4096],ny,[119,R|V|X,BA|V|4096]],[[115,R|S|X,BA|V|4096],[116,R|S|X,BA|V|4096],[109,R|S|X,BA|V|4096],[110,R|S|X,BA|V|4096],[140,R|S|X,BA|V|4096],[142,R|S|X,BA|V|4096],ny,[119,R|S|X,BA|V|4096]],[[115,R|V|X,lB|4096],[116,R|V|X,lB|4096],[109,R|V|X,lB|4096],[110,R|V|X,lB|4096],[140,R|V|X,lB|4096],[142,R|V|X,lB|4096],ny,[119,R|V|X,lB|4096]],[[115,R|S|X,lB|4096],[116,R|S|X,lB|4096],[109,R|S|X,lB|4096],[110,R|S|X,lB|4096],[140,R|S|X,lB|4096],[142,R|S|X,lB|4096],
|
||||
ny,[119,R|S|X,lB|4096]],[[155,R|V|4096,W|V|4096],ny,[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],ny,[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],ny,ny,ny,ny,ny,ny],[[44,R|S|X],[31,R|S|X],[17,R|S|4096],[17,R|tA|4096],[57,R|S|4096],[57,R|tA|4096],[108,R|S|4096],ny],[],[[145,R|U|8192|AB],[153,R|U|8192|AB],[78,R|U|4096|AB],[89,R|U|4096|AB],[156,R|U|4096|AB],[157,R|U|4096|AB],ny,ny],[[139,R|U|8192|AB],
|
||||
[144,R|U|8192|AB],[75,R|U|4096|AB],[77,R|U|4096|AB],[146,R|U|8192|AB],ny,[79,R|U|4096|AB],ny],[ny,ny,ny,ny,[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]]],sy={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]},wy={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},xy={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};ab(function(){for(var a=Ab(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new gy(d);zb(d,c)}});
|
||||
function BB(a,b,c){nb.call(this,"Computer",a,67108864);this.ea.Yb=!1;CB(this,b);this.N=zd(this,"autoPower",a);this.C=0;this.aa=a.busWidth||a.buswidth;this.A=DB;this.L=null;this.I=this.Z=!1;this.da=zd(this,"url")||"";this.ha=(Math.random()+.1).toString(36).substr(2,12);this.B=EB(this);if(this.H=vb("CPU",this.id)){this.ba=vb("Debugger",this.id);this.G=[];for(b=null;b=Xb(this,"Video",b);)this.G.push(b);this.ka=new mc({id:this.xe+".bus",busWidth:this.aa},this.H,this.ba);var d,e=tb(this.id);if((this.D=
|
||||
vb("Panel",this.id))&&this.D.Ie)for(b=0;b<e.length;b++)d=e[b],d.Fa=this.D.Fa,d.P=this.D.P,d.Ie=this.D.Ie;this.P("PCx86 v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<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=zd(this,"state")||(f=!0,a.state))b=this.V=a,f||(this.I=!0,this.A=DB),this.A&&(this.M=new Xf(this,
|
||||
"1.34.2"),this.M.load()?b=null:delete this.M);!b&&this.A&&(b=FB(this))&&(this.I=!0);if(b){var g=this;La(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?": "+Ca(b):"")+")")):(g.L=b,g.Z=!0);Jb(g)})}else Jb(this);this.na.power||(this.N=!0);!c&&this.N&&GB(this,this.Lf)}else hb("Unable to find CPU component")}ba(BB,nb);
|
||||
function CB(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){hb(d.message+" ("+c+")")}}a.J=b}function zd(a,b,c){var d=b.toLowerCase(),d=Va(b)||Va(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 GB(a,b,c){for(var d=tb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ib(f)){Ib(f,function(){GB(a,b,c)});return}}b.call(a,c)}
|
||||
function HB(a,b){var c=new Xf(a,"1.34.2",IB);if(c.load()&&JB(c)){var d=c.get(KB),e=b?b.get(KB):"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=BB.prototype;
|
||||
l.Lf=function(a){void 0===a&&(a=this.A||(this.L?LB:DB));if(!this.C){this.C++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Xf(this,"1.34.2");if(a==MB)b=!0;else if(a>DB){if(d.load(this.L)){this.F=new Xf(this,"1.34.2",NB);this.F.load()&&(OB(this,d),a=PB,QB(this.F));this.F.set(KB,Fa());RB(this.F);var e=this.A&&!this.I;if(a==LB||sb("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=JB(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&&(Ta(SB,""),this.B=null)):this.P(f+": "+g),QB(d),d.load()?(c=JB(d),e=!0):c=!1))}e&&HB(this,c?d:null)}else a==PB&&d.clear()}else HB(this);delete this.L;delete this.M}e=tb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=TB(this,g,d,b,c));b=[d,a,c];a!=MB?GB(this,this.mj,b):this.mj(b)}};
|
||||
function TB(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&&(hb("Unable to restore state for "+b.type),a.V&&!a.Z?(c.clear(),a.A=DB,window&&window.location.reload()):a.Y=!0,b.Xb(null),e=!1)}if(!d&&b.xj)for(a=b.xj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.mj=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&&(TB(this,this.H,b,c,a),this.H.lf());this.Y&&(OB(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
|
||||
function OB(a,b){if(sb("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.34.2"};d.url=a.da;d.user=c;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function iB(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Xf(a,"1.34.2"),g=new Xf(a,"1.34.2",IB),h=Fa();g.set(KB,h);f.set(KB,h);f.set(UB,"1.34.2");f.set(VB,window?window.location.href:null);f.set(WB,Na());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=tb(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&&XB(a,
|
||||
a.B,f.toString()),RB(g)&&RB(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==YB),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&&(Mb(this,"Resetting "+this.ka.type),this.ka.reset());for(var a=tb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(Mb(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]){gB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in kB)Fm+="\n"+Ba(Gm,7)+kB[Gm];Jg(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 my(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Xz(a,b[+d]))return!1;return!0}
|
||||
var Lz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Kz=[26,28,40,42,109],kB={"?":"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"},Ry=0,Jy=1,sy=2,Uy=3,Sy=4,Ky=5,fA=18,gA=28,bA=36,kA=80,hA=104,iA=107,$z=176,Zz="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(" "),
|
||||
dA="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(" "),
|
||||
fB=["VALID","ZERO ","SPEC ","EMPTY"],lA=2,mA=3,OA=[8086,80186,80286,80386],Yy=0,Zy=1,$y=2,az=3,bz=4,cz=5,dz=6,ez=7,fz=8,gz=9,hz=10,iz=11,jz=12,kz=13,lz=14,mz=15,oz=16,nz=22,Iz=23,vz=24,wz=25,xz=26,yz=27,zz=28,Az=29,Bz=30,Cz=31,Dz=32,Ez=33,Fz=34,Gz=35,SA=40,UA=48,Hz=56,Wy=["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"],pz=0,qz=1,rz=2,sz=3,tz=4,uz=5,sA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),nA=15,qA=240,JA=3840,oA=0,V=1,DA=2,U=3,S=4,tA=5,uA=7,pA=8,HA=9,IA=10,vA=11,wA=11,xA=12,yA=12,zA=13,AA=14,W=0,CA=16,FA=32,GA=48,MA=64,NA=80,Y=96,KA=112,R=128,rA=160,LA=192,QA=208,RA=224,TA=240,lB=Yy<<8|Y|V,mB=Zy<<8|Y|V,nB=fz<<8|Y|S,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=pz<<8|KA|U,wB=qz<<8|KA|U,xB=rz<<8|KA|U,yB=sz<<8|KA|U,zB=tz<<8|KA|U,AB=uz<<8|KA|U,X=12288,BB=lA<<14,Z=mA<<14,jA=14,Nz=1E3,oy=[0,oA],py=[$z,U|X],ny=[[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,lB|X,W|V|4096],[6,nB|X,W|S|4096],[108,vB|4096],[103,vB|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,lB|X,W|V|4096],[99,nB|X,W|S|4096],[108,wB|4096],[103,wB|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,lB|X,W|V|4096],[5,nB|X,W|S|4096],[108,xB|4096],[103,xB|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,lB|X,W|V|4096],[120,nB|X,W|S|4096],[108,yB|4096],[103,yB|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,lB|X,W|V|4096],[7,nB|X,W|S|4096],[35,pA],[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,lB|X,W|V|4096],[154,nB|X,W|S|4096],[27,pA],[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,lB|X,W|V|4096],[162,nB|X,W|S|4096],[147,pA],[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,lB|4096,W|V|4096],[24,nB|4096,W|S|4096],[33,pA],[4],[44,nB|X],[44,oB|X],[44,pB|X],[44,qB|X],[44,rB|X],[44,sB|X],[44,tB|X],[44,uB|X],[31,nB|X],[31,oB|X],[31,pB|X],[31,qB|X],[31,rB|X],[31,sB|X],[31,tB|X],[31,uB|X],[108,nB|4096],[108,oB|4096],[108,pB|4096],[108,qB|4096],[108,rB|4096],
|
||||
[108,sB|4096],[108,tB|4096],[108,uB|4096],[103,nB|8192],[103,oB|8192],[103,pB|8192],[103,qB|8192],[103,rB|8192],[103,sB|8192],[103,tB|8192],[103,uB|8192],[iA,oA|BB],[hA,oA|BB],[10,S|4272|BB,R|S|4096],[8,R|U|8192,U|4272],[37,pA|Z],[38,pA|Z],[100,pA|Z],[9,pA|Z],[108,W|S|4096|BB],[42,176|U|X|BB,R|S|4096,W|S|4096],[108,W|DA|4096|BB],[42,U|8368|BB,R|S|4096,W|V|4096],[45,NA|V|8192|BB,pB|4096],[45,NA|S|8192|BB,pB|4096],[102,pB|4096|BB,MA|V|4096],[102,pB|4096|BB,MA|S|4096],[64,GA|V|4096],[60,GA|V|4096],[51,
|
||||
GA|V|4096],[59,GA|V|4096],[67,GA|V|4096],[63,GA|V|4096],[50,GA|V|4096],[58,GA|V|4096],[66,GA|V|4096],[62,GA|V|4096],[65,GA|V|4096],[61,GA|V|4096],[55,GA|V|4096],[54,GA|V|4096],[56,GA|V|4096],[53,GA|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,LA|U|4096],[71,S|8368,144|S],[90,
|
||||
LA|U|8192,R|S|4096],[103,R|S|8192],[97],[160,nB|X,oB|X],[160,nB|X,pB|X],[160,nB|X,qB|X],[160,nB|X,rB|X],[160,nB|X,sB|X],[160,nB|X,tB|X],[160,nB|X,uB|X],[fA],[gA],[17,W|uA|4096],[158],[106],[105],[117],[68],[90,lB|8192,FA|V|4096],[90,nB|8192,FA|S|4096],[90,FA|V|8192,lB|4096],[90,FA|S|8192,nB|4096],[91,NA|V|8192,MA|V|4096],[92,NA|S|8192,MA|S|4096],[25,NA|V|4096,MA|V|4096],[26,NA|S|4096,MA|S|4096],[155,lB|4096,W|V|4096],[155,nB|4096,W|S|4096],[151,NA|V|8192,lB|4096],[152,NA|S|8192,nB|4096],[82,lB|8192,
|
||||
MA|V|4096],[83,nB|8192,MA|S|4096],[121,lB|4096,NA|V|4096],[122,nB|4096,NA|S|4096],[90,lB|8192,W|V|4096],[90,mB|8192,W|V|4096],[90,$y<<8|Y|V|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,nB|8192,W|S|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],[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|BB,W|V|4096],[72,oA|BB],[114,W|U|4096],[114],[47],[46,W|V|4096],[48],[49],[168,R|V|X,CA|V|4096],[169,R|S|X,CA|V|4096],[170,R|V|X,mB|4096],[171,R|S|X,mB|4096],[3,W|V],[2,W|V],[118],[161],[bA,R|S|4096],[bA,R|S|4096],[bA,R|S|4096],[bA,R|S|4096],[bA,R|S|4096],[bA,R|S|4096],[bA,R|S|4096],[bA,R|S|4096],[85,GA|V|4096],[86,GA|V|4096],[84,GA|V|4096],[52,GA|V|4096],[43,
|
||||
lB|8192,W|V|4096],[43,nB|8192,W|V|4096],[101,W|V|4096,lB|4096],[101,W|V|4096,nB|4096],[17,GA|S|4096],[57,GA|S|4096],[57,W|uA|4096],[57,GA|V|4096],[43,lB|8192,pB|U|4096],[43,nB|8192,pB|U|4096],[101,pB|U|4096,lB|4096],[101,pB|U|4096,nB|4096],[81,pA],[0],[111,pA],[112,pA],[39],[23],[172,R|V|X],[173,R|S|X],[19],[148],[21],[150],[20],[149],[174,R|V|X],[175,R|S|X]],aA={0:[177,R|U|X],1:[178,R|U|X],2:[69,U|8368|BB,U|4240],3:[87,U|8368|BB,U|4240],5:[kA,BB],6:[22,BB],7:[kA,Z],32:[90,rA|tA|8192|Z,QA|tA|4096],
|
||||
33:[90,rA|tA|8192|Z,RA|tA|4096],34:[90,QA|tA|8192|Z,rA|tA|4096],35:[90,RA|tA|8192|Z,rA|tA|4096],36:[90,rA|tA|8192|Z,TA|tA|4096],38:[90,TA|tA|8192|Z,rA|tA|4096],128:[64,GA|S|4096|Z],129:[60,GA|S|4096|Z],130:[51,GA|S|4096|Z],131:[59,GA|S|4096|Z],132:[67,GA|S|4096|Z],133:[63,GA|S|4096|Z],134:[50,GA|S|4096|Z],135:[58,GA|S|4096|Z],136:[66,GA|S|4096|Z],137:[62,GA|S|4096|Z],138:[65,GA|S|4096|Z],139:[61,GA|S|4096|Z],140:[55,GA|S|4096|Z],141:[54,GA|S|4096|Z],142:[56,GA|S|4096|Z],143:[53,GA|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,zB|4096|Z],161:[103,zB|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,mB|4096],166:[159,S|8368|Z,R|S|4096,nB|4096,
|
||||
mB|4096],167:[40,R|S|8192|Z,nB|4096,mB|4096,S|4272],168:[108,AB|4096|Z],169:[103,AB|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,mB|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,tA|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,
|
||||
tA|8368|Z,R|U|4096]},cA={216:{0:[9,R|wA|4096],1:[18,R|wA|4096],2:[34,R|wA|4096],3:[35,R|wA|4096],4:[12,R|wA|4096],5:[15,R|wA|4096],6:[21,R|wA|4096],7:[24,R|wA|4096],48:[9,Y|HA|8192,Y|IA|4096],49:[18,Y|HA|8192,Y|IA|4096],50:[34,Y|HA|8192,Y|IA|4096],51:[35,Y|HA|8192,Y|IA|4096],52:[12,Y|HA|8192,Y|IA|4096],53:[15,Y|HA|8192,Y|IA|4096],54:[21,Y|HA|8192,Y|IA|4096],55:[24,Y|HA|8192,Y|IA|4096]},217:{0:[0,R|wA|4096],2:[1,R|wA|8192],3:[2,R|wA|8192],4:[68,R|4111],5:[59,R|U|4096],6:[66,R|8207],7:[60,R|U|8192],
|
||||
48:[0,Y|IA|8192],49:[3,Y|IA|8192],50:[76],51:[2,Y|IA|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|vA|4096],1:[20,R|vA|4096],2:[37,R|vA|4096],3:[38,R|vA|4096],4:[14,R|vA|4096],5:[17,R|vA|4096],6:[23,R|vA|4096],7:[26,R|vA|4096]},219:{0:[4,R|vA|4096],2:[5,R|vA|8192],3:[6,R|vA|8192],5:[0,R|zA|4096],7:[2,R|zA|8192],64:[57],65:[55],66:[64],
|
||||
67:[53],68:[78,BB],115:[79,Z]},220:{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|IA|8192,Y|HA|4096],49:[18,Y|IA|8192,Y|HA|4096],50:[34,Y|IA|4096],51:[35,Y|IA|4096],52:[15,Y|IA|8192,Y|HA|4096],53:[12,Y|IA|8192,Y|HA|4096],54:[24,Y|IA|8192,Y|HA|4096],55:[21,Y|IA|8192,Y|HA|4096]},221:{0:[0,R|yA|4096],2:[1,R|yA|8192],3:[2,R|yA|8192],4:[71,R|4111],6:[69,R|8207],7:[62,R|U|8192],48:[74,Y|IA|4096],49:[3,Y|IA|
|
||||
8192],50:[1,Y|IA|4096],51:[2,Y|IA|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|IA|8192,Y|HA|4096],49:[19,Y|IA|8192,Y|HA|4096],50:[35,Y|IA|4096],51:[36,Y|IA|4096],52:[16,Y|IA|8192,Y|HA|4096],53:[13,Y|IA|8192,Y|HA|4096],54:[25,Y|IA|8192,Y|HA|4096],55:[22,Y|IA|8192,Y|HA|4096]},223:{0:[4,R|U|4096],2:[5,R|U|8192],3:[6,R|U|8192],4:[7,R|AA|4096],5:[4,R|xA|4096],6:[8,R|AA|8192],7:[6,R|xA|8192],48:[75,Y|
|
||||
IA|4096],49:[3,Y|IA|8192],50:[2,Y|IA|4096],51:[2,Y|IA|4096],52:[80,BB]}},eA=[[[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|DA|4096],[99,R|S|X,W|DA|4096],[5,R|S|X,W|DA|4096],[120,R|S|X,W|DA|4096],[7,R|S|X,W|
|
||||
DA|4096],[154,R|S|X,W|DA|4096],[162,R|S|X,W|DA|4096],[24,R|S|4096,W|DA|4096]],[[115,R|V|X|BB,W|V|4096],[116,R|V|X|BB,W|V|4096],[109,R|V|X|BB,W|V|4096],[110,R|V|X|BB,W|V|4096],[140,R|V|X|BB,W|V|4096],[142,R|V|X|BB,W|V|4096],oy,[119,R|V|X|BB,W|V|4096]],[[115,R|S|X|BB,W|V|4096],[116,R|S|X|BB,W|V|4096],[109,R|S|X|BB,W|V|4096],[110,R|S|X|BB,W|V|4096],[140,R|S|X|BB,W|V|4096],[142,R|S|X|BB,W|V|4096],oy,[119,R|S|X|BB,W|V|4096]],[[115,R|V|X,CA|V|4096],[116,R|V|X,CA|V|4096],[109,R|V|X,CA|V|4096],[110,R|V|X,
|
||||
CA|V|4096],[140,R|V|X,CA|V|4096],[142,R|V|X,CA|V|4096],oy,[119,R|V|X,CA|V|4096]],[[115,R|S|X,CA|V|4096],[116,R|S|X,CA|V|4096],[109,R|S|X,CA|V|4096],[110,R|S|X,CA|V|4096],[140,R|S|X,CA|V|4096],[142,R|S|X,CA|V|4096],oy,[119,R|S|X,CA|V|4096]],[[115,R|V|X,mB|4096],[116,R|V|X,mB|4096],[109,R|V|X,mB|4096],[110,R|V|X,mB|4096],[140,R|V|X,mB|4096],[142,R|V|X,mB|4096],oy,[119,R|V|X,mB|4096]],[[115,R|S|X,mB|4096],[116,R|S|X,mB|4096],[109,R|S|X,mB|4096],[110,R|S|X,mB|4096],[140,R|S|X,mB|4096],[142,R|S|X,mB|4096],
|
||||
oy,[119,R|S|X,mB|4096]],[[155,R|V|4096,W|V|4096],oy,[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],oy,[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],oy,oy,oy,oy,oy,oy],[[44,R|S|X],[31,R|S|X],[17,R|S|4096],[17,R|uA|4096],[57,R|S|4096],[57,R|uA|4096],[108,R|S|4096],oy],[],[[145,R|U|8192|BB],[153,R|U|8192|BB],[78,R|U|4096|BB],[89,R|U|4096|BB],[156,R|U|4096|BB],[157,R|U|4096|BB],oy,oy],[[139,R|U|8192|BB],
|
||||
[144,R|U|8192|BB],[75,R|U|4096|BB],[77,R|U|4096|BB],[146,R|U|8192|BB],oy,[79,R|U|4096|BB],oy],[oy,oy,oy,oy,[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]]],ty={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]},xy={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},yy={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};ab(function(){for(var a=Ab(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new hy(d);zb(d,c)}});
|
||||
function CB(a,b,c){nb.call(this,"Computer",a,67108864);this.ea.Yb=!1;DB(this,b);this.N=zd(this,"autoPower",a);this.C=0;this.aa=a.busWidth||a.buswidth;this.A=EB;this.L=null;this.I=this.Z=!1;this.da=zd(this,"url")||"";this.ha=(Math.random()+.1).toString(36).substr(2,12);this.B=FB(this);if(this.H=vb("CPU",this.id)){this.ba=vb("Debugger",this.id);this.G=[];for(b=null;b=Xb(this,"Video",b);)this.G.push(b);this.ka=new mc({id:this.xe+".bus",busWidth:this.aa},this.H,this.ba);var d,e=tb(this.id);if((this.D=
|
||||
vb("Panel",this.id))&&this.D.Ie)for(b=0;b<e.length;b++)d=e[b],d.Fa=this.D.Fa,d.P=this.D.P,d.Ie=this.D.Ie;this.P("PCx86 v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<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=zd(this,"state")||(f=!0,a.state))b=this.V=a,f||(this.I=!0,this.A=EB),this.A&&(this.M=new Xf(this,
|
||||
"1.34.2"),this.M.load()?b=null:delete this.M);!b&&this.A&&(b=GB(this))&&(this.I=!0);if(b){var g=this;La(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?": "+Ca(b):"")+")")):(g.L=b,g.Z=!0);Jb(g)})}else Jb(this);this.na.power||(this.N=!0);!c&&this.N&&HB(this,this.Lf)}else hb("Unable to find CPU component")}ba(CB,nb);
|
||||
function DB(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){hb(d.message+" ("+c+")")}}a.J=b}function zd(a,b,c){var d=b.toLowerCase(),d=Va(b)||Va(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 HB(a,b,c){for(var d=tb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ib(f)){Ib(f,function(){HB(a,b,c)});return}}b.call(a,c)}
|
||||
function IB(a,b){var c=new Xf(a,"1.34.2",JB);if(c.load()&&KB(c)){var d=c.get(LB),e=b?b.get(LB):"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=CB.prototype;
|
||||
l.Lf=function(a){void 0===a&&(a=this.A||(this.L?MB:EB));if(!this.C){this.C++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Xf(this,"1.34.2");if(a==NB)b=!0;else if(a>EB){if(d.load(this.L)){this.F=new Xf(this,"1.34.2",OB);this.F.load()&&(PB(this,d),a=QB,RB(this.F));this.F.set(LB,Fa());SB(this.F);var e=this.A&&!this.I;if(a==MB||sb("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=KB(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&&(Ta(TB,""),this.B=null)):this.P(f+": "+g),RB(d),d.load()?(c=KB(d),e=!0):c=!1))}e&&IB(this,c?d:null)}else a==QB&&d.clear()}else IB(this);delete this.L;delete this.M}e=tb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=UB(this,g,d,b,c));b=[d,a,c];a!=NB?HB(this,this.mj,b):this.mj(b)}};
|
||||
function UB(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&&(hb("Unable to restore state for "+b.type),a.V&&!a.Z?(c.clear(),a.A=EB,window&&window.location.reload()):a.Y=!0,b.Xb(null),e=!1)}if(!d&&b.xj)for(a=b.xj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.mj=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&&(UB(this,this.H,b,c,a),this.H.lf());this.Y&&(PB(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
|
||||
function PB(a,b){if(sb("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.34.2"};d.url=a.da;d.user=c;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function jB(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Xf(a,"1.34.2"),g=new Xf(a,"1.34.2",JB),h=Fa();g.set(LB,h);f.set(LB,h);f.set(VB,"1.34.2");f.set(WB,window?window.location.href:null);f.set(XB,Na());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=tb(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&&YB(a,
|
||||
a.B,f.toString()),SB(g)&&SB(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==ZB),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&&(Mb(this,"Resetting "+this.ka.type),this.ka.reset());for(var a=tb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(Mb(this,"Resetting "+c.type),c.reset())}};
|
||||
l.start=function(a,b){for(var c=tb(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=tb(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?iB(d,!1,!0):GB(d,d.Lf))},!0;case "reset":return this.na[b]=c,c.onclick=function(){if(d.ea.Yb&&!d.C)if(d.A&&!d.K){var a=sb("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");iB(d,a,!0);!a&&d.V?window&&window.location.reload():(a||(d.O=!0),d.Lf(DB),d.O=!1)}else d.reset(),d.H&&d.H.lf()},!0;case "save":if(xa(Ma(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.na[b]=c,c.onclick=function(){var a=EB(d,!0);if(a){var b=!!(d.A&&!d.K||d.V),c=iB(d,b);b?XB(d,a,c):d.Fa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function EB(a,b){var c=a.B;c||((c=Ra(SB),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=jC(a,c))||a.Fa("The user ID is invalid.")):b&&a.Fa("Browser local storage is not available"));return c}
|
||||
function jC(a,b){a.B=null;b=La(Ma()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ta(SB,b.data),a.B=b.data)}catch(d){hb(d.message+" ("+c+")")}return a.B}function FB(a){var b=null;a.B&&(b=Ma()+"/api/v1/user?req=load&user="+a.B+"&state="+kC(a,"1.34.2"));return b}
|
||||
function XB(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=kC(a,"1.34.2");d.data=c;b=La(Ma()+"/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),Ta(SB,""),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?jB(d,!1,!0):HB(d,d.Lf))},!0;case "reset":return this.na[b]=c,c.onclick=function(){if(d.ea.Yb&&!d.C)if(d.A&&!d.K){var a=sb("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");jB(d,a,!0);!a&&d.V?window&&window.location.reload():(a||(d.O=!0),d.Lf(EB),d.O=!1)}else d.reset(),d.H&&d.H.lf()},!0;case "save":if(xa(Ma(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.na[b]=c,c.onclick=function(){var a=FB(d,!0);if(a){var b=!!(d.A&&!d.K||d.V),c=jB(d,b);b?YB(d,a,c):d.Fa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function FB(a,b){var c=a.B;c||((c=Ra(TB),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=kC(a,c))||a.Fa("The user ID is invalid.")):b&&a.Fa("Browser local storage is not available"));return c}
|
||||
function kC(a,b){a.B=null;b=La(Ma()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ta(TB,b.data),a.B=b.data)}catch(d){hb(d.message+" ("+c+")")}return a.B}function GB(a){var b=null;a.B&&(b=Ma()+"/api/v1/user?req=load&user="+a.B+"&state="+lC(a,"1.34.2"));return b}
|
||||
function YB(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=lC(a,"1.34.2");d.data=c;b=La(Ma()+"/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),Ta(TB,""),a.B=null)}}
|
||||
function Xb(a,b,c){a=tb(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.ld=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 Nd(a,b){a.H&&(a=a.H,a.tj&&(b||!a.ea.wb||a.ea.kj)&&(Ig(a,"EAX",a.D),Ig(a,"EBX",a.G),Ig(a,"ECX",a.I),Ig(a,"EDX",a.L),Ig(a,"ESP",z(a)),Ig(a,"EBP",a.M),Ig(a,"ESI",a.K),Ig(a,"EDI",a.J),Ig(a,"CS",a.Z.U),Ig(a,"DS",a.Ca.U),Ig(a,"SS",a.Y.U),Ig(a,"ES",a.oa.U),Ig(a,"EIP",A(a)),b=re(a),Ig(a,"PS",b),Ig(a,"V",b&2048),Ig(a,"D",b&1024),Ig(a,"I",b&512),Ig(a,"T",b&256),Ig(a,"S",b&128),Ig(a,"Z",b&64),Ig(a,"A",b&16),Ig(a,"P",b&4),Ig(a,"C",b&1),80386==a.ca&&(Ig(a,"FS",a.Ga.U),Ig(a,"GS",a.Ha.U),Ig(a,"CR0",a.qa),
|
||||
Ig(a,"CR2",a.Cd),Ig(a,"CR3",a.Wc))),b=a.na.speed)&&(b.textContent=a.ea.wb&&a.T.Wd?a.T.Wd.toFixed(2)+"Mhz":"Stopped")}
|
||||
function Ud(a,b){for(var c=0;c<a.G.length;c++)zs(a.G[c],b);if(a.D&&(a=a.D,a.oa)){gc(a,hc,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={ah:0,Hd:0,Rg:[]});var f=d>>>b.A;d=d+e-1>>>b.A;c.ah=0;for(c.Hd=0;f<=d;)e=b.aa[f],c.ah+=e.size,e.size&&(c.Rg.push(Ga(cc,f,0,0,e.type)),c.Hd++),f++;a.A=c;a.da=a.A.Hd*a.ka.B/(bc*lc);d=0;a.A.$i=0;a.A.kf||(a.A.kf=[]);e=-1;b=0;for(var g=-1,c=0;c<a.A.Hd;c++){var h=a.A.Rg[c],f=Ha(cc.type,h),h=Ha(cc.Hk,h);if(f!=e||h!=g+1)(g=c-b)&&(d+=jc(a,
|
||||
b,g,e)),e=f,b=c;g=h}d+=jc(a,b,c-b,e);e=a.A.Bl!=d;a.A.Bl=d;if(e){e=new Ub(0,0,a.K.width,a.K.height);a.A.Ce=[];b=a.A.Hd;for(d=0;d<a.A.$i;d++)c=a.A.kf[d].Hd,a.A.Ce.push(Vb(e,c,b,!d)),b-=c;for(d=0;d<a.A.Ce.length;d++)e=a.A.kf[d],b=c=a.A.Ce[d],f=a.ma,(g=vd[e.type])||(g=new Tb),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 "+kc),f=g,b.C=c,b.I=f,b=a,e=vc[e.type]+" ("+(e.Hd*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,ic(b,e),b.Y&&(b.D.restore(),b.Y=!1)}}else ic(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 NB="failsafe",IB="validate",KB="timestamp",UB="version",VB="url",WB="browser",SB="user",MB=-1,DB=0,LB=1,PB=2,YB=3;
|
||||
ab(function(){for(var a=Ab(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=wb(c),c=Ab(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=wb(f),g=new BB(g,d,!0);zb(g,f);g.N&&GB(g,g.Lf)}});bb.show.push(function(){for(var a=Ab(document,"pcx86","computer"),b=0;b<a.length;b++){var c=wb(a[b]);(c=vb("Computer",c.id))&&c.ga&&!c.ea.Yb&&c.Lf(MB)}});
|
||||
bb.exit.push(function(){for(var a=Ab(document,"pcx86","computer"),b=0;b<a.length;b++){var c=wb(a[b]);(c=vb("Computer",c.id))&&c.ea.Yb&&iB(c,!(!c.A||c.K),!0)}});function Xf(a,b,c){this.id=a.id;this.ba=a.ba;this.A="";this.state={};this.B=this.C=!1;this.key=kC(a,b,c);QB(this,a.Ok)}l=Xf.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:Oa()&&(a=Ra(this.key))?(this.A=a,this.B=!0):!1};function JB(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){hb(c.message||c),b=!1}return b}function RB(a){var b=!0;if(Oa()){var c=JSON.stringify(a.state);Ta(a.key,c)||(hb("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 QB(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){QB(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 kC(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 lC=0;
|
||||
function mC(a,b,c,d,e,f){e("Loading "+a+"...");La(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):nC(h,a,b,c,d,e,f)})}
|
||||
function nC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(pb(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?oC(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function oC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");La(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);oC(a,b,c)}})}else c(a,null)}
|
||||
function pC(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ab(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ya(a))}function f(a){e("Error: "+a);k&&(--lC||jb(!0));k=!1}var g,h,k=!0;lC++;qb[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.34.2/components.xsl");m=function(d,h){h?mC(c,null,null,!1,e,function(d,k){k?(pb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--lC||jb(!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),--lC||jb(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?mC(b,a,d,!0,e,m):nC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function qC(a,b,c,d){jb(!1);return pC(a,b,c,d)}window.embedPC=qC;window.embedPCx86=qC;window.findMachineComponent=function(a,b){return vb(b,a+".machine")};
|
||||
g),b.D.rotate(-Math.PI/2),c=g=0),h<b.J&&(b.J=h,b.M=b.J+"px "+kc),f=g,b.C=c,b.I=f,b=a,e=vc[e.type]+" ("+(e.Hd*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,ic(b,e),b.Y&&(b.D.restore(),b.Y=!1)}}else ic(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 OB="failsafe",JB="validate",LB="timestamp",VB="version",WB="url",XB="browser",TB="user",NB=-1,EB=0,MB=1,QB=2,ZB=3;
|
||||
ab(function(){for(var a=Ab(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=wb(c),c=Ab(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=wb(f),g=new CB(g,d,!0);zb(g,f);g.N&&HB(g,g.Lf)}});bb.show.push(function(){for(var a=Ab(document,"pcx86","computer"),b=0;b<a.length;b++){var c=wb(a[b]);(c=vb("Computer",c.id))&&c.ga&&!c.ea.Yb&&c.Lf(NB)}});
|
||||
bb.exit.push(function(){for(var a=Ab(document,"pcx86","computer"),b=0;b<a.length;b++){var c=wb(a[b]);(c=vb("Computer",c.id))&&c.ea.Yb&&jB(c,!(!c.A||c.K),!0)}});function Xf(a,b,c){this.id=a.id;this.ba=a.ba;this.A="";this.state={};this.B=this.C=!1;this.key=lC(a,b,c);RB(this,a.Ok)}l=Xf.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:Oa()&&(a=Ra(this.key))?(this.A=a,this.B=!0):!1};function KB(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){hb(c.message||c),b=!1}return b}function SB(a){var b=!0;if(Oa()){var c=JSON.stringify(a.state);Ta(a.key,c)||(hb("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 RB(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){RB(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 lC(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 mC=0;
|
||||
function nC(a,b,c,d,e,f){e("Loading "+a+"...");La(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):oC(h,a,b,c,d,e,f)})}
|
||||
function oC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(pb(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?pC(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function pC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");La(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);pC(a,b,c)}})}else c(a,null)}
|
||||
function qC(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ab(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ya(a))}function f(a){e("Error: "+a);k&&(--mC||jb(!0));k=!1}var g,h,k=!0;mC++;qb[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.34.2/components.xsl");m=function(d,h){h?nC(c,null,null,!1,e,function(d,k){k?(pb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--mC||jb(!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),--mC||jb(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?nC(b,a,d,!0,e,m):oC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function rC(a,b,c,d){jb(!1);return qC(a,b,c,d)}window.embedPC=rC;window.embedPCx86=rC;window.findMachineComponent=function(a,b){return vb(b,a+".machine")};
|
||||
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Cb[a]){for(var c=!0,d=Cb,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;Bb(a)||(c=!1)}return c};window.enableEvents=jb;window.sendEvent=lb;
|
||||
function rC(a,b,c,d){if(!c&&b){d.push(b);a=qb[d[0]];b=null;for(var e in a)if(xa(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?La(b,null,!0,function(a,b){sC(b,d)}):sC(null,d)}else hb("Error ("+c+") requesting "+a)}
|
||||
function sC(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=qb[f],k={},m;for(m in h){var p=h[m],v=wa(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=va(m)}else"xsl"==v&&(e=m=va(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 sC(a,b,c,d){if(!c&&b){d.push(b);a=qb[d[0]];b=null;for(var e in a)if(xa(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?La(b,null,!0,function(a,b){tC(b,d)}):tC(null,d)}else hb("Error ("+c+") requesting "+a)}
|
||||
function tC(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=qb[f],k={},m;for(m in h){var p=h[m],v=wa(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=va(m)}else"xsl"==v&&(e=m=va(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=Xa(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.",hb(a)):hb("Missing XML/XSL resources")}
|
||||
window.savePC=function(a,b,c){var d=vb("Computer",a),e=vb("Debugger",a);if(d){var f=iB(d,!0),g=d.J?JSON.stringify(d.J):null;b||(b="/versions/pcx86/1.34.2/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ok:g}))return!0;La(b,null,!0,function(c,d,e){rC(c,d,e,[a,va(b,!0),g,f])});return!0}hb("Unable to identify machine '"+a+"'");return!1};})();
|
||||
window.savePC=function(a,b,c){var d=vb("Computer",a),e=vb("Debugger",a);if(d){var f=jB(d,!0),g=d.J?JSON.stringify(d.J):null;b||(b="/versions/pcx86/1.34.2/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ok:g}))return!0;La(b,null,!0,function(c,d,e){sC(c,d,e,[a,va(b,!0),g,f])});return!0}hb("Unable to identify machine '"+a+"'");return!1};})();
|
||||
|
|
|
|||
Loading…
Reference in a new issue