Fixed fault generation on invalid memory accesses; PDP-11 BASIC now starts up!

This commit is contained in:
Jeff Parsons 2016-10-21 17:06:41 -07:00 committed by Jeff Parsons
commit 5f05913036
9 changed files with 360 additions and 351 deletions

View file

@ -88,11 +88,11 @@ Hb.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.ad&&b>=this.
l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Jb(a,"Keyboard")};l.hc=function(a,b){b||Kb();return!0};l.gc=function(){return!0};l.he=function(a,b){a.button||(this.ea=b?0:-1,Mb(this,a,b))};l.Kf=function(a){Mb(this,a)};
function Mb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.ea||(a.ea=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.ea?b=a.V:2==a.ea&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Se)for(f=0;f<a.A.Se.length;f++)if(e=a.A.Se[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.A.Bf[f],g=xa(Nb.Hk,a.A.Yg[d.El]),f=g*a.ga.Sb,d=(g+d.Td)*a.ga.Sb-1;0<b&&(f+=e.ad*(b-1)*a.ya);f+=c*a.ya;f|=0;
f>d&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ob(a,378,a.ia,a.ka);a.pa=a.Da.width/24|0;if(null==b)Pb(a,"Mouse over memory to dump");else for(Pb(a,r(b,8,!0),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ga;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].re(k&h.A,k);Pb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Pb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.qb,a.Db,a.Pa,a.cb)}a.Ca=
c}}}l.pd=function(){};function Qb(a,b,c,d){a.A.Bf[a.A.fj++]={El:b,Td:c,type:d};return wa(Nb,b,c,0,d)}function Ob(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.va=18;e||(e=a.ua||a.va+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Fa=f||"white")}
function Pb(a,b,c,d,e){a.N.font=a.fa;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.W+2)*(e||1))}function Kb(){for(var a=!1,b=tb(document,"pcx86","panel"),c=0;c<b.length;c++){var d=b[c],e=qb(d),f=ob(e.id);f||(a=!0,f=new Fb(e));sb(f,d);a&&xb(f)}}Xa(Kb);
function Rb(a,b,c){bb.call(this,"Bus",a,Rb);this.F=b;this.ha=c;this.N=a.busWidth||20;this.W=Math.pow(2,this.N);this.Dg=this.Gb=this.W-1|0;this.La=32==this.N||20>=this.N?12:24>=this.N?14:15;this.Sb=1<<this.La;this.fa=this.Sb>>2;this.A=this.Sb-1;this.U=this.W/this.Sb|0;this.ga=this.U-1;this.B=[];this.C=[];this.L=this.V=!1;this.aa=[];this.ea=[];a=new B;Sb(a,this.ha);this.sa=Array(this.U);for(b=0;b<this.U;b++)this.sa[b]=a;a=this.F;b=this.sa;c=this.La;a.kd=a.sa=b;a.La=c;a.Sb=1<<a.La;a.Fa=a.Sb-1;a.Fd=b.length;
c}}}l.pd=function(){};function Qb(a,b,c,d){a.A.Bf[a.A.fj++]={El:b,Td:c,type:d};return wa(Nb,b,c,0,d)}function Ob(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.va=18;e||(e=a.ua||a.va+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Ea=f||"white")}
function Pb(a,b,c,d,e){a.N.font=a.fa;a.N.fillStyle=a.Ea;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.W+2)*(e||1))}function Kb(){for(var a=!1,b=tb(document,"pcx86","panel"),c=0;c<b.length;c++){var d=b[c],e=qb(d),f=ob(e.id);f||(a=!0,f=new Fb(e));sb(f,d);a&&xb(f)}}Xa(Kb);
function Rb(a,b,c){bb.call(this,"Bus",a,Rb);this.F=b;this.ha=c;this.N=a.busWidth||20;this.W=Math.pow(2,this.N);this.Dg=this.Gb=this.W-1|0;this.La=32==this.N||20>=this.N?12:24>=this.N?14:15;this.Sb=1<<this.La;this.fa=this.Sb>>2;this.A=this.Sb-1;this.U=this.W/this.Sb|0;this.ga=this.U-1;this.B=[];this.C=[];this.L=this.V=!1;this.aa=[];this.ea=[];a=new B;Sb(a,this.ha);this.sa=Array(this.U);for(b=0;b<this.U;b++)this.sa[b]=a;a=this.F;b=this.sa;c=this.La;a.kd=a.sa=b;a.La=c;a.Sb=1<<a.La;a.Ea=a.Sb-1;a.Fd=b.length;
a.hd=a.Fd-1;a=this.F;a.Gb=a.Db=this.Gb;xb(this)}jb(Rb);Rb.prototype.reset=function(){Tb(this,!0)};Rb.prototype.hc=function(a,b){b||this.reset();return!0};
function Ub(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.La;0<g&&h<a.sa.length;){var k=a.sa[h],m=h*a.Sb,n=a.Sb-(f-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Ea)return k.Qe+=k.Ea-f,k.Ea=f,!0;if(f>=k.Ea+k.Qe){n=k.size-(f-m);n>g&&(n=g);k.Qe=f-k.Ea+n;f=m+a.Sb;g-=n;h++;continue}}return Wb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Sb(f,a.ha,k);a.sa[h++]=f;f=m+a.Sb;g-=n}return 0>=g?(Xb(a.F),a.F.la.Ib||a.status(Math.floor(c/1024)+"Kb "+Yb[d]+" at "+r(b)),!0):Wb(a,2,b,c)}
function Ub(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.La;0<g&&h<a.sa.length;){var k=a.sa[h],m=h*a.Sb,n=a.Sb-(f-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Fa)return k.Qe+=k.Fa-f,k.Fa=f,!0;if(f>=k.Fa+k.Qe){n=k.size-(f-m);n>g&&(n=g);k.Qe=f-k.Fa+n;f=m+a.Sb;g-=n;h++;continue}}return Wb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Sb(f,a.ha,k);a.sa[h++]=f;f=m+a.Sb;g-=n}return 0>=g?(Xb(a.F),a.F.la.Ib||a.status(Math.floor(c/1024)+"Kb "+Yb[d]+" at "+r(b)),!0):Wb(a,2,b,c)}
var Nb,$b={Hk:20,count:8,Ko:1,type:3},ac=0,bc;for(bc in $b){var cc=$b[bc];$b[bc]={vh:(1<<cc)-1<<ac,shift:ac};ac+=cc}Nb=$b;function Tb(a,b){32==a.N?b?a.X&&(dc(a,1048576,1048576,a.X),a.X=null):a.X||(a.X=ec(a,1048576,1048576),dc(a,1048576,1048576,ec(a,0,1048576))):20<a.N&&(b=a.Gb&-1048577|(b?1048576:0),b!=a.Gb&&(a.Gb=b,a.F&&(a=a.F,a.Gb=a.Db=b)))}l=Rb.prototype;
l.Vg=function(a,b,c,d){if(!(a&this.A||!b||b&this.A)){for(var e=a>>>this.La;0<b;){var f=this.sa[e];if(!f.controller)return Wb(this,3,a,b,d);fc(f,c,!0);b-=this.Sb;e++}return!0}return Wb(this,4,a,b)};function gc(a,b,c){if(!(b&a.A||!c||c&a.A)){for(var d=b>>>a.La;0<c;){var e=a.sa[d];b=new B(b);Sb(b,a.ha,e);a.sa[d++]=b;b=d*a.Sb;c-=a.Sb}Xb(a.F);return!0}return Wb(a,5,b,c)}function ec(a,b,c){var d=[];for(b>>>=a.La;0<c&&b<a.sa.length;)d.push(a.sa[b++]),c-=a.Sb;return d}
function dc(a,b,c,d,e){for(var f=0,g=b>>>a.La;0<c&&g<a.sa.length;){var h=d[f++];if(!h)break;if(void 0!==e){var k=new B(b),m=k,n=e,t=a.ha;m.id=h.id|1;m.Qe=h.Qe;m.size=h.size;n&&(m.type=n,m.N=n==hc);Ab?(m.X=h.X,m.qa=h.qa,m.Za=h.Za,m.de=h.de,m.da=h.da,fc(m,ic?jc:kc)):(m.da=h.da,fc(m,lc));Sb(m,t,h);h=k}a.sa[g++]=h;c-=a.Sb}}l.Qa=function(a){return this.sa[(a&this.Gb)>>>this.La].pc(a&this.A,a)};
@ -103,20 +103,20 @@ function oc(a,b){var c=0,d=[],e=!a.X&&a.Dg==a.Gb;e||Tb(a,!0);for(var f=0;f<a.U;f
function qc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+v(k)+" already registered"):f.B[k]=[h,!1]}}function rc(a,b,c,d){for(var e=0,f=0;0<c;){var g=a.B[b],h=a.aa[b]||1,k=1==h?255:2==h?65535:-1,m=k;void 0!==g?(g[0]&&(m=g[0](b,d),void 0===m?m=k:m&=k),a.ha&&a.L!=g[1]&&wc(a.ha,b,m)):a.ha&&(ub(a.ha,a,b,null,d),a.L&&wc(a.ha,b,m));e|=m<<f;f+=h<<3;b+=h;c-=h}return e}
function xc(a,b){if(void 0===b)return a.V=!a.V,a.V;void 0===a.C[b]&&(a.C[b]=[null,!1]);a.C[b][1]=!a.C[b][1];return a.C[b][1]}function yc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.C[k]?w("Output port "+v(k)+" already registered"):f.C[k]=[h,!1]}}
function zc(a,b,c,d,e){for(var f=0;0<c;){var g=a.C[b],h=a.ea[b]||1,k=1==h?255:2==h?65535:-1,k=(d>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&Ac(a.ha,b,k)}else a.ha&&(ub(a.ha,a,b,k,e),a.V&&Ac(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Wb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var Bc;if(Ab){var Cc=new ArrayBuffer(2);(new DataView(Cc)).setUint16(0,256,!0);Bc=256===(new Uint16Array(Cc))[0]}else Bc=!1;var ic=Bc;
function B(a,b,c,d,e,f){this.id=Dc+=2;this.da=null;this.C=0;this.Ea=a;this.Qe=b;this.size=c||0;this.type=d||Ec;this.N=d==hc;this.controller=null;this.F=f;Sb(this);this.Wa=this.tj=!1;if(c)if(e)this.controller=e,a=e.wj(a),this.da=a[0],this.C=a[1],fc(this,e.nh());else if(Ab)this.X=new ArrayBuffer(c),this.qa=new DataView(this.X,0,c),this.Za=new Uint8Array(this.X,0,c),this.de=new Uint16Array(this.X,0,c>>1),this.da=new Int32Array(this.X,0,c>>2),fc(this,ic?jc:kc);else{this.da=Array(c>>2);for(e=0;e<this.da.length;e++)this.da[e]=
function B(a,b,c,d,e,f){this.id=Dc+=2;this.da=null;this.C=0;this.Fa=a;this.Qe=b;this.size=c||0;this.type=d||Ec;this.N=d==hc;this.controller=null;this.F=f;Sb(this);this.Wa=this.tj=!1;if(c)if(e)this.controller=e,a=e.wj(a),this.da=a[0],this.C=a[1],fc(this,e.nh());else if(Ab)this.X=new ArrayBuffer(c),this.qa=new DataView(this.X,0,c),this.Za=new Uint8Array(this.X,0,c),this.de=new Uint16Array(this.X,0,c>>1),this.da=new Int32Array(this.X,0,c>>2),fc(this,ic?jc:kc);else{this.da=Array(c>>2);for(e=0;e<this.da.length;e++)this.da[e]=
0;fc(this,lc)}else fc(this)}var Ec=0,hc=2,Fc=["black","blue","green","cyan"],Yb="NONE RAM ROM VIDEO H/W UNPAGED PAGED".split(" "),Dc=0;function Gc(a){Ab&&!ic&&(a=a<<24|a<<8&16711680|a>>8&65280|a>>>24);return a}
B.prototype={constructor:B,parent:null,qh:function(a){this.Ea=a},save:function(){var a,b;if(this.controller)a=null;else if(Ab)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.qa.getInt32(b<<2,!0);else a=this.da;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ab)for(b=0;b<a.length;b++)this.qa.setInt32(b<<2,a[b],!0);else this.da=a;return this.Wa=!0}return!1},Rd:function(a,b,c){b?this.Ae++||(c&&(this.F=c),Jc(this,Ic,!1)):this.ze++||(c&&(this.F=c),
Hc(this,Ic,!1))},ia:function(){this.ha&&z(this.ha,129)&&this.ha.message("attempt to read invalid block %"+r(this.Ea),!0);return 255},L:function(a,b){this.ha&&z(this.ha,129)&&this.ha.message("attempt to write "+v(b)+" to invalid block %"+r(this.Ea),!0)},ka:function(a,b){return this.pc(a++,b++)|this.pc(a,b)<<8},ea:function(a,b){return this.pc(a++,b++)|this.pc(a++,b++)<<8|this.pc(a++,b++)<<16|this.pc(a,b)<<24},W:function(a,b,c){this.sc(a++,b&255,c++);this.sc(a,b>>8,c)},U:function(a,b,c){this.sc(a++,
b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},Ya:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2;a=(a&3)<<3;this.da[c]=this.da[c]&~(255<<a)|b<<a;this.Wa=!0},Cd:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.da[c]=this.da[c]&~(65535<<
a)|b<<a:(this.da[c]=this.da[c]&16777215|b<<24,c++,this.da[c]=this.da[c]&-256|b>>8);this.Wa=!0},Wc:function(a,b){var c=a>>2;if(a=(a&3)<<3){var d=-1<<a;this.da[c]=this.da[c]&~d|b<<a;c++;this.da[c]=this.da[c]&d|b>>>32-a}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Ea&&Kc(this.ha,this.Ea+a)||this.F&&Lc(this.F,b,1,!1);return this.re(a,b)},qb:function(a,b){this.ha&&null!=this.Ea&&Kc(this.ha,this.Ea+a,2)||this.F&&Lc(this.F,b,2,!1);return this.fg(a,b)},Pa:function(a,b){this.ha&&null!=
this.Ea&&Kc(this.ha,this.Ea+a,4)||this.F&&Lc(this.F,b,4,!1);return this.si(a,b)},bc:function(a,b,c){this.ha&&null!=this.Ea&&Mc(this.ha,this.Ea+a)||this.F&&Lc(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Ea&&Mc(this.ha,this.Ea+a,2)||this.F&&Lc(this.F,c,2,!0);this.N?this.L(a,b,c):this.zi(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Ea&&Mc(this.ha,this.Ea+a,4)||this.F&&Lc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|=
this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.Md(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.sc(a,b,c)},Gd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.zf(a,b,c)},hd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=
this.V;this.Bd.yf(a,b,c)},Ka:function(a,b){return Nc(this.F,b,!1).pc(a,b)},xd:function(a,b){return Nc(this.F,b,!1).sf(a,b)},gb:function(a,b){return Nc(this.F,b,!1).Md(a,b)},Uc:function(a,b,c){Nc(this.F,c,!0).sc(a,b,c)},Hd:function(a,b,c){Nc(this.F,c,!0).zf(a,b,c)},jd:function(a,b,c){Nc(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Za[a]},aa:function(a){return this.Za[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Za[a]},Tb:function(a){return this.qa.getUint16(a,
B.prototype={constructor:B,parent:null,qh:function(a){this.Fa=a},save:function(){var a,b;if(this.controller)a=null;else if(Ab)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.qa.getInt32(b<<2,!0);else a=this.da;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ab)for(b=0;b<a.length;b++)this.qa.setInt32(b<<2,a[b],!0);else this.da=a;return this.Wa=!0}return!1},Rd:function(a,b,c){b?this.Ae++||(c&&(this.F=c),Jc(this,Ic,!1)):this.ze++||(c&&(this.F=c),
Hc(this,Ic,!1))},ia:function(a,b){this.ha&&z(this.ha,129)&&this.ha.message("attempt to read invalid block %"+r(b),!0);return 255},L:function(a,b,c){this.ha&&z(this.ha,129)&&this.ha.message("attempt to write "+v(b)+" to invalid block %"+r(c),!0)},ka:function(a,b){return this.pc(a++,b++)|this.pc(a,b)<<8},ea:function(a,b){return this.pc(a++,b++)|this.pc(a++,b++)<<8|this.pc(a++,b++)<<16|this.pc(a,b)<<24},W:function(a,b,c){this.sc(a++,b&255,c++);this.sc(a,b>>8,c)},U:function(a,b,c){this.sc(a++,b&255,c++);
this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Ea:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},Ya:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2;a=(a&3)<<3;this.da[c]=this.da[c]&~(255<<a)|b<<a;this.Wa=!0},Cd:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.da[c]=this.da[c]&~(65535<<a)|b<<a:
(this.da[c]=this.da[c]&16777215|b<<24,c++,this.da[c]=this.da[c]&-256|b>>8);this.Wa=!0},Wc:function(a,b){var c=a>>2;if(a=(a&3)<<3){var d=-1<<a;this.da[c]=this.da[c]&~d|b<<a;c++;this.da[c]=this.da[c]&d|b>>>32-a}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Fa&&Kc(this.ha,this.Fa+a)||this.F&&Lc(this.F,b,1,!1);return this.re(a,b)},qb:function(a,b){this.ha&&null!=this.Fa&&Kc(this.ha,this.Fa+a,2)||this.F&&Lc(this.F,b,2,!1);return this.fg(a,b)},Pa:function(a,b){this.ha&&null!=this.Fa&&
Kc(this.ha,this.Fa+a,4)||this.F&&Lc(this.F,b,4,!1);return this.si(a,b)},bc:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a)||this.F&&Lc(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a,2)||this.F&&Lc(this.F,c,2,!0);this.N?this.L(a,b,c):this.zi(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a,4)||this.F&&Lc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|=this.ga;
this.zb.da[this.B]|=this.ga;return this.Bd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.Md(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.sc(a,b,c)},Gd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.zf(a,b,c)},hd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;
this.Bd.yf(a,b,c)},Ka:function(a,b){return Nc(this.F,b,!1).pc(a,b)},xd:function(a,b){return Nc(this.F,b,!1).sf(a,b)},gb:function(a,b){return Nc(this.F,b,!1).Md(a,b)},Uc:function(a,b,c){Nc(this.F,c,!0).sc(a,b,c)},Hd:function(a,b,c){Nc(this.F,c,!0).zf(a,b,c)},jd:function(a,b,c){Nc(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Za[a]},aa:function(a){return this.Za[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Za[a]},Tb:function(a){return this.qa.getUint16(a,
!0)},pa:function(a){return a&1?this.Za[a]|this.Za[a+1]<<8:this.de[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Za[a]|this.Za[a+1]<<8:this.de[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Za[a]|this.Za[a+1]<<8|this.Za[a+2]<<16|this.Za[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Md=this.fa;return a&3?this.Za[a]|this.Za[a+1]<<8|this.Za[a+2]<<16|this.Za[a+3]<<24:this.da[a>>
2]},Ub:function(a,b){this.Za[a]=b;this.Wa=!0},ra:function(a,b){this.Za[a]=b;this.Wa=!0},uc:function(a,b){this.Za[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Bd.Wa=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Za[a]=b,this.Za[a+1]=b>>8):this.de[a>>1]=b;this.Wa=!0},Fd:function(a,b){a&1?(this.Za[a]=b,this.Za[a+1]=b>>8):this.de[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Bd.Wa=!0},ce:function(a,b){this.qa.setInt32(a,
b,!0);this.Wa=!0},va:function(a,b){a&3?(this.Za[a]=b,this.Za[a+1]=b>>8,this.Za[a+2]=b>>16,this.Za[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Za[a]=b,this.Za[a+1]=b>>8,this.Za[a+2]=b>>16,this.Za[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.va;this.Bd.Wa=!0}};function Sb(a,b,c){a.ha=b;a.ze=a.Ae=0;c&&(c.F&&(a.F=c.F),(a.ze=c.ze)&&Hc(a,Ic,!1),(a.Ae=c.Ae)&&Jc(a,Ic,!1))}
function Oc(a){a.sc=a.N?a.L:a.xf;a.zf=a.N?a.W:a.zi;a.yf=a.N?a.U:a.ua}function Pc(a){a.pc=a.re;a.sf=a.fg;a.Md=a.si}function Jc(a,b,c){c&&a.Ae||(a.sc=!a.N&&b[1]||a.L,a.zf=!a.N&&b[3]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[1]||a.L,a.zi=b[3]||a.W,a.ua=b[5]||a.U}function Hc(a,b,c){c&&a.ze||(a.pc=b[0]||a.ia,a.sf=b[2]||a.ka,a.Md=b[4]||a.ea);if(c||void 0===c)a.re=b[0]||a.ia,a.fg=b[2]||a.ka,a.si=b[4]||a.ea}function fc(a,b,c){b||(b=5==a.type?Qc:6==a.type?Sc:Tc);Hc(a,b,c);Jc(a,b,c)}
var Tc=[],lc=[B.prototype.Fa,B.prototype.tc,B.prototype.sb,B.prototype.Cd,B.prototype.Ya,B.prototype.Wc],Ic=[B.prototype.Da,B.prototype.bc,B.prototype.qb,B.prototype.sd,B.prototype.Pa,B.prototype.Vc],Sc=[B.prototype.Ja,B.prototype.Cc,B.prototype.Jb,B.prototype.Gd,B.prototype.fb,B.prototype.hd],Qc=[B.prototype.Ka,B.prototype.Uc,B.prototype.xd,B.prototype.Hd,B.prototype.gb,B.prototype.jd];
var Tc=[],lc=[B.prototype.Ea,B.prototype.tc,B.prototype.sb,B.prototype.Cd,B.prototype.Ya,B.prototype.Wc],Ic=[B.prototype.Da,B.prototype.bc,B.prototype.qb,B.prototype.sd,B.prototype.Pa,B.prototype.Vc],Sc=[B.prototype.Ja,B.prototype.Cc,B.prototype.Jb,B.prototype.Gd,B.prototype.fb,B.prototype.hd],Qc=[B.prototype.Ka,B.prototype.Uc,B.prototype.xd,B.prototype.Hd,B.prototype.gb,B.prototype.jd];
if(Ab)var kc=[B.prototype.Ca,B.prototype.Ub,B.prototype.Tb,B.prototype.qd,B.prototype.Oa,B.prototype.ce],jc=[B.prototype.aa,B.prototype.ra,B.prototype.pa,B.prototype.ya,B.prototype.fa,B.prototype.va],Vc=[B.prototype.Ga,B.prototype.uc,B.prototype.Db,B.prototype.Fd,B.prototype.cb,B.prototype.Xc];
function Wc(a,b){bb.call(this,"CPU",a,Wc,1);b=a.cycles||b;var c=a.multiplier||1;this.Y={};this.Y.Id=b;this.Y.Wd=c;this.Y.Ag=Math.round(this.Y.Id/1E4)/100;this.Y.He=this.Y.Ag*this.Y.Wd;this.la.Ib=!1;this.la.yi=!1;this.la.Cf=a.autoStart;this.la.oj=!1;this.la.Xe=!1;this.Y.Lf=this.Y.kf=0;this.Y.Mf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.Ai=this.Ne.bind(this);xb(this)}jb(Wc);var Xc=["power","reset"];l=Wc.prototype;
l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b<Xc.length;b++)(c=this.qa[Xc[b]])&&this.X.Pb(null,Xc[b],c);this.Tb=Jb(a,"FPU");this.N=Jb(a,"ChipSet");a=Yc(a,"autoStart");null!=a&&(this.la.Cf="true"==a?!0:"false"==a?!1:!!a);xb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
@ -147,7 +147,7 @@ function ld(a,b,c,d){void 0===c&&(c=!!(a.F.$a&1));a.bd=!1;if(c)if(a.load=a.zg,a.
a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Tc=a.ba,a.Ba=a.R)}else a.load=a.uh,a.Cj=a.Xm,a.mc=a.ij,a.nc=a.kj,a.Lb=a.Gc=0,a.Xb=-1,a.df=!1}
function Gd(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ea(b,16):0);switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Wc.call(this,a,b);this.ag=61442;this.Cc=1792;this.Zf=28672;this.Cd=4;this.ra=255;this.B=80286<=this.ja?Cb:Bb;this.W=Hd;this.eg=Id;this.kg=Jd;this.lg=Kd;if(80186<=this.ja&&(this.W=Hd.slice(),this.eg=Id.slice(),this.kg=Jd.slice(),this.ra=31,this.W[15]=Ld,this.W[96]=Md,this.W[97]=Nd,this.W[98]=Od,this.W[99]=Ld,this.W[100]=Ld,this.W[101]=
Ld,this.W[102]=Ld,this.W[103]=Ld,this.W[104]=Pd,this.W[105]=Qd,this.W[106]=Rd,this.W[107]=Sd,this.W[108]=Td,this.W[109]=Xd,this.W[110]=Yd,this.W[111]=Zd,this.W[192]=ee,this.W[193]=fe,this.W[200]=ge,this.W[201]=he,this.W[241]=ie,this.eg[7]=je,this.kg[7]=je,80286<=this.ja)){this.ag=2;this.Cc|=28672;this.Cd=0;this.W[15]=ke;this.tc=le.slice();for(a=0;a<this.tc.length;a++)this.tc[a]||(this.tc[a]=me);this.W[84]=ne;this.W[99]=oe;if(80386<=this.ja){var c;this.Zf=0;this.Cc|=196608;this.W[100]=pe;this.W[101]=
qe;this.W[102]=re;this.W[103]=se;for(c in N)this.tc[+c]=N[+c];80546<=this.Uc&&80562>=this.Uc&&(this.tc[166]=te,this.tc[167]=ue)}}this.Hd=[];this.je=[];this.le=0;Zc(this);this.la.complete=this.la.nj=!1;this.Wg=0;this.kd=this.sa=[];this.La=this.Sb=this.Fa=this.Fd=this.hd=this.Gb=this.Db=0;ve(this)}jb(Gd,Wc);function we(a,b,c,d){b=(d?a.kd:a.sa)[b>>>a.La];c?--b.Ae||Oc(b):--b.ze||Pc(b);d&&Xb(a)}
qe;this.W[102]=re;this.W[103]=se;for(c in N)this.tc[+c]=N[+c];80546<=this.Uc&&80562>=this.Uc&&(this.tc[166]=te,this.tc[167]=ue)}}this.Hd=[];this.je=[];this.le=0;Zc(this);this.la.complete=this.la.nj=!1;this.Wg=0;this.kd=this.sa=[];this.La=this.Sb=this.Ea=this.Fd=this.hd=this.Gb=this.Db=0;ve(this)}jb(Gd,Wc);function we(a,b,c,d){b=(d?a.kd:a.sa)[b>>>a.La];c?--b.Ae||Oc(b):--b.ze||Pc(b);d&&Xb(a)}
function xe(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Sb(a.ke,a.ha);for(b=0;b<a.Fd;b++)a.sa[b]=a.ke;a.jd=new B;a.dg=Array(512);a.me=0}else for(var c=0;c<a.Gd.length;c++){b=a.Gd[c];var d=a.sa[b];512>a.me&&(a.dg[a.me++]=d);a.sa[b]=a.ke}a.Gd=[]}function Xb(a){a.$a&-2147483648&&xe(a)}
function Nc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Od+e&a.Gb)>>>a.La],g=f.Md(e);if(!(g&1))return d||ye.call(a,b,!1,c),a.jd;if(!(g&4)&&3==a.pa)return d||ye.call(a,b,!0,c),a.jd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Md(h);if(!(k&1))return d||ye.call(a,b,!1,c),a.jd;if(!(k&4)&&3==a.pa)return d||ye.call(a,b,!0,c),a.jd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b&=-4096;var m;0<a.me?(m=a.dg[--a.me],m.qh(b)):m=new B(b,0,0,6);b=m;b.Bd=c;b.yb=f;b.A=
e>>2;b.zb=g;b.B=h>>2;Ab&&ic&&c.da&&!c.controller&&!c.ze&&!c.Ae?(b.Za=c.Za,b.de=c.de,b.da=c.da,fc(b,Vc)):(b.ga=c?Gc(32):0,b.V=c?Gc(96):0,fc(b,Sc));Sb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function ze(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.jd=null)}l=Gd.prototype;l.reset=function(){this.la.Ib&&this.Wb();ve(this);Zc(this);this.la.error=!1};
@ -156,7 +156,7 @@ function ve(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.v
0];a.Ee=[null,null,null,null,null,null,0,0];a.Nb=new kd(a,2,"FS");a.Ob=new kd(a,2,"GS");ze(a)}a.rf=new kd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Ed(a,0,65535);else{a.Ec=0;a.zd=65535;a.Bc=new kd(a,5,"LDT",!0);a.Sa=new kd(a,4,"TSS",!0);a.Da=new kd(a,6,"VER",!0);Ed(a,65520,61440);var b,c=M(a);b=a.wa;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.hf=(b>>>0)+(a.wa.Ta>>>0)+1}Dd(a,0);wd(a)}
function Ce(a){2==a.Tc?(a.cc=a.na,a.Oa=De,a.Ya=Ee,a.Jb=Fe,2==a.ba?(a.V=Ie,a.ea=Je,a.ya=Ke):(a.V=Le,a.ea=Me,a.ya=Ne)):(a.cc=a.oa,a.Oa=Oe,a.Ya=Pe,a.Jb=Qe,2==a.ba?(a.V=cf,a.ea=df,a.ya=ef):(a.V=ff,a.ea=gf,a.ya=hf))}function xd(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,jf(a))}function jf(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Tc?(a.V=Ie,a.ea=Je,a.ya=Ke):(a.V=cf,a.ea=df,a.ya=ef)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Tc?(a.V=Le,a.ea=Me,a.ya=Ne):(a.V=ff,a.ea=gf,a.ya=hf))}
function kf(a){a.Tc=a.wa.Tc;a.Ba=a.wa.Ba;Ce(a);a.ba=a.wa.ba;a.R=a.wa.R;jf(a);a.Ia&=-3073}l.vj=function(){var a=this.G+this.H+this.I+this.M+J(this)+this.P+this.K+this.J|0;return a=a+M(this)+this.wa.Z+this.vb.Z+this.ta.Z+this.Xa.Z+Cd(this)|0};function lf(a,b,c){void 0===a.Hd[b]&&(a.Hd[b]=[]);a.Hd[b].push(c)}function mf(a,b,c){c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function nf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])}
function of(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Rd(g&a.Fa,f,a):(g=a.sa[g>>>a.La],f?--g.Ae||Oc(g):--g.ze||Pc(g))}c>>=2;d>>=4}}function Lc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<<g;a.ua|=2;break}}e>>=2;f>>=4}}}
function of(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Rd(g&a.Ea,f,a):(g=a.sa[g>>>a.La],f?--g.Ae||Oc(g):--g.ze||Pc(g))}c>>=2;d>>=4}}function Lc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<<g;a.ua|=2;break}}e>>=2;f>>=4}}}
function wd(a,b,c){void 0===b&&(b=!!(a.$a&1));void 0===c&&(c=!!(a.ca&131072));a.lg=b&&!c?pf:Kd;ld(a.wa,!1,b,c);ld(a.vb,!1,b,c);ld(a.ta,!1,b,c);ld(a.Xa,!1,b,c);80386<=a.ja&&(ld(a.Nb,!1,b,c),ld(a.Ob,!1,b,c));kf(a)}
l.save=function(){var a=new qf(this);a.set(0,[this.G,this.H,this.I,this.M,J(this),this.P,this.K,this.J]);var b=M(this),c=this.wa.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.$a,this.Ec,this.zd,this.Mc,this.Sd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ti),g.push(this.se),g.push(this.Od),g.push(this.Ja),g.push(this.Ee))):g=null;b=[b,c,d,e,f,g,Cd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));a.set(1,b);a.set(2,[this.ka.kc,
this.Ka.kc,this.S,this.Ia,this.ua,this.D,this.C]);a.set(3,[0,this.uc,this.Y.Wd]);a.set(4,oc(this.ga,!!(this.$a&-2147483648)));return a.data()};
@ -171,9 +171,9 @@ function Cf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.sd^a.Vc)&a.resultTyp
function Cd(a){return a.ca&-2262|xf(a)|yf(a)|zf(a)|Af(a)|Bf(a)|Cf(a)}function Of(a,b){b|=a.$a&1|65520;a.$a=a.$a&-65536|b&65535;a.$a&1&&wd(a,!0)}function Dd(a,b,c){a.$a&1||(b&=~a.Zf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.ag;a.ca&256&&(a.ua|=2,a.S|=4)}
function Pf(a,b,c,d){var e=0;if(a.$a&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.Zi)for(var f=a.Sa.Zi+(b>>>3),e=(1<<c)-1<<(b&7);e&&f<=a.Sa.ml&&!(a.Qa(f)&e);)e>>>=8,f++;return e?(z(a,256)&&y(a,"checkIOPM("+v(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),E.call(a,13,0),!1):!0}
l.Pb=function(a,b,c){switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Wg++;a=!0;break;default:a=this.parent.Pb.call(this,a,b,c)}return a};
function Qf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Nc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.re(f,b);if(2==c)return f<a.Fa?e.fg(f,b):e.re(f,b)|Qf(a,b+1,1,d)<<8;if(4==c)return f<a.Fa-2?e.si(f,b):f==a.Fa-1?e.fg(f,b)|Qf(a,b+2,2,d)<<16:e.re(f,b)|Qf(a,b+1,1,d)<<8|Qf(a,b+2,1,d)<<16|Qf(a,b+3,1,d)<<24}return null}l.Qa=function(a){return this.sa[(a&this.Db)>>>this.La].pc(a&this.Fa,a)};
l.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(b<this.Fa)return this.sa[c].sf(b,a);b=this.sa[c].pc(b,a);this.S&4096||(b|=this.sa[c+1&this.hd].pc(0,a+1)<<8);return b};l.oa=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;if(b<this.Fa-2)return this.sa[c].Md(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.sa[c].pc(b++,a++)<<f;if(this.S&4096)break;--g||(c=c+1&this.hd,b=0);f+=8}return d};l.qc=function(a,b){this.sa[(a&this.Db)>>>this.La].sc(a&this.Fa,b&255,a)};
l.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;c<this.Fa?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.S&4096||this.sa[d&this.hd].sc(0,b>>8&255,a+1))};l.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(c<this.Fa-2)this.sa[d].yf(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.sa[d].sc(c++,b&255,a++);if(this.S&4096)break;--f||(d=d+1&this.hd,c=0);b>>>=8}};
function Qf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Nc(a,b,!1,!0));if(e){var f=b&a.Ea;if(!c||1==c)return e.re(f,b);if(2==c)return f<a.Ea?e.fg(f,b):e.re(f,b)|Qf(a,b+1,1,d)<<8;if(4==c)return f<a.Ea-2?e.si(f,b):f==a.Ea-1?e.fg(f,b)|Qf(a,b+2,2,d)<<16:e.re(f,b)|Qf(a,b+1,1,d)<<8|Qf(a,b+2,1,d)<<16|Qf(a,b+3,1,d)<<24}return null}l.Qa=function(a){return this.sa[(a&this.Db)>>>this.La].pc(a&this.Ea,a)};
l.na=function(a){var b=a&this.Ea,c=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(b<this.Ea)return this.sa[c].sf(b,a);b=this.sa[c].pc(b,a);this.S&4096||(b|=this.sa[c+1&this.hd].pc(0,a+1)<<8);return b};l.oa=function(a){var b=a&this.Ea,c=(a&this.Db)>>>this.La;if(b<this.Ea-2)return this.sa[c].Md(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.sa[c].pc(b++,a++)<<f;if(this.S&4096)break;--g||(c=c+1&this.hd,b=0);f+=8}return d};l.qc=function(a,b){this.sa[(a&this.Db)>>>this.La].sc(a&this.Ea,b&255,a)};
l.jb=function(a,b){var c=a&this.Ea,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;c<this.Ea?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.S&4096||this.sa[d&this.hd].sc(0,b>>8&255,a+1))};l.nb=function(a,b){var c=a&this.Ea,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(c<this.Ea-2)this.sa[d].yf(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.sa[d].sc(c++,b&255,a++);if(this.S&4096)break;--f||(d=d+1&this.hd,c=0);b>>>=8}};
function Rf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function P(a,b){return Rf(a,a.ka,b)}function Sf(a,b){return Rf(a,a.Ka,b)}function Tf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function Q(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Uf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}
function Vf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Wf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Xf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Yf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function yd(a,b,c){return a.tb(b.mc(c,a.ba))}l.xa=function(){var a=uf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Zf(a){var b=uf(a,2),c=a.na(a.Ha);a.Ha=b;return c}function T(a){var b=uf(a,a.Tc),c=a.cc(a.Ha);a.Ha=b;return c}
l.Ma=function(){var a=uf(this,this.ba),b=this.tb(this.Ha);this.Ha=a;return b};l.T=function(){var a=uf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function H(a){var b=a.tb(a.fa);a.fa=a.fa+a.ba|0;var c=a.Sg-a.fa|0;0>c&&0<=(a.Sg^a.fa)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?I(a,a.fa-a.ta.Aa&a.ta.Ba):-1>c&&E.call(a,12,0));return b}
@ -414,8 +414,8 @@ var pf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this
a;Lf(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3))return Nf(this),a;Lf(this);return a},W,W],Kd=[je,je,je,je,je,je,W,W],sk=[function(a){if(-1===this.D)E.call(this,6);else{a=this.zd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)E.call(this,6);else{a=this.Sd-this.Mc;var b=this.Mc;80286==
this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?E.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?E.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Sd=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.$a},W,function(a){this.ca&131072?
E.call(this,6):(Of(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},W],tk=[W,W,W,W,Hh,Kh,Jh,Ih];
function X(a){bb.call(this,"ChipSet",a,X,32768);var b=a.model;b&&!uk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=uk[b]||vk;this.C=[];b=wk(a[xk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),yk(this,zk,this.ia.length),yk(this,Ak,a.monitor||(this.ja<kg?"mono":"ega")));b=wk(a[Bk]);this.C[1]=[b,b];this.cb=this.Da=1;this.ja>=kg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext||
window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);xb(this)}jb(X);var vk=5150.9,kg=5170,uk={5150:5150,5160:5160,5170:kg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:vk,deskpro386:5180},xk="sw1",Bk="sw2",Ck={jl:1,ONE:0,Io:64,Go:128,xo:192,Lc:192,Xg:6},Dk={Ho:16,to:32,yo:48,Lc:48,Xg:4},zk=1,Ak=4,Ek={5150:[{},{}]};Ek[5150][0][zk]={Lc:192,gd:{1:0,2:64,3:128,4:192},Pd:"Number of Floppy Drives"};Ek[5150][0][3]={Lc:2,gd:{0:0,1:2},Pd:"FPU"};
function X(a){bb.call(this,"ChipSet",a,X,32768);var b=a.model;b&&!uk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=uk[b]||vk;this.C=[];b=wk(a[xk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),yk(this,zk,this.ia.length),yk(this,Ak,a.monitor||(this.ja<kg?"mono":"ega")));b=wk(a[Bk]);this.C[1]=[b,b];this.cb=this.Da=1;this.ja>=kg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Ea=null,window&&(this.sb=window.AudioContext||
window.webkitAudioContext),this.sb&&(this.Ea=new this.sb));this.reset(!0);xb(this)}jb(X);var vk=5150.9,kg=5170,uk={5150:5150,5160:5160,5170:kg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:vk,deskpro386:5180},xk="sw1",Bk="sw2",Ck={jl:1,ONE:0,Io:64,Go:128,xo:192,Lc:192,Xg:6},Dk={Ho:16,to:32,yo:48,Lc:48,Xg:4},zk=1,Ak=4,Ek={5150:[{},{}]};Ek[5150][0][zk]={Lc:192,gd:{1:0,2:64,3:128,4:192},Pd:"Number of Floppy Drives"};Ek[5150][0][3]={Lc:2,gd:{0:0,1:2},Pd:"FPU"};
Ek[5150][0][Ak]={Lc:48,gd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Pd:"Monitor Type"};Ek[5150][0][5]={Lc:12,gd:{16:0,32:4,48:8,64:12},Pd:"Base Memory (16Kb Increments)"};Ek[5150][1][6]={Lc:31,gd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Pd:"Expansion Memory (32Kb Increments)"};Ek[5160]=[{},{}];Ek[5160][0][zk]=Ek[5150][0][zk];Ek[5160][0][3]=Ek[5150][0][3];Ek[5160][0][Ak]=Ek[5150][0][Ak];
Ek[5160][0][5]={Lc:12,gd:{64:0,128:4,192:8,256:12},Pd:"Base Memory (64Kb Increments)"};Ek[5160][1][6]=Ek[5150][1][6];Ek[5160.101]=[{},{}];Ek[5160.101][0][5]={Lc:143,gd:{128:1,256:130,512:8,640:141},Pd:"Base Memory (128Kb Increments)"};Ek[5160.101][0][3]={Lc:16,gd:{0:0,1:16},Pd:"FPU"};Ek[5160.101][1][2]={Lc:1,gd:{0:0,1:1},Pd:"Floppy Type"};Ek[5160.101][1][zk]=Ek[5150][0][zk];Ek[5160.101][1][Ak]=Ek[5150][0][Ak];l=X.prototype;
l.Pb=function(a,b,c){switch(b){case xk:return this.qa[b]=c,Fk(this,0,b),!0;case Bk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Fk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1};
@ -465,8 +465,8 @@ l.jn=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ea=b;this.N
l.An=function(a,b,c){x(this,a,b,c,"CMOS.ADDR",null,4096);this.pa=b;this.ya=b&128?0:128};l.cm=function(a,b){var c=this.pa&63,d=13>=c?Sk(this,c):this.A[c];z(this,4352)&&x(this,a,null,b,"CMOS.DATA["+u(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&lg(this,8),d&64&&this.A[11]&64&&bl(this));return d};
l.Bn=function(a,b,c){var d=this.pa&63;z(this,4352)&&x(this,a,b,c,"CMOS.DATA["+u(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.A[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&bl(this)};l.Nk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};l.Ln=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};l.Mn=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&fg(this.Tb)};
l.Pm=function(a){if(z(this,16)&&pk(this.ha,26,a)){var b=this.F.G>>8;mf(this.F,a,function(a,d){return function(c){d=cd(a.F)-d;var e,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,m=a.F.M>>8;if(2==b||3==b)e=" CH(hour)="+v(h)+" CL(min)="+u(g)+" DH(sec)="+u(m);else if(4==b||5==b)e=" CX(year)="+v(a.F.I)+" DH(month)="+u(m)+" DL(day)="+u(k);g=a.ha;h=d;g.message("INT "+u(26)+": C="+(xf(g.F)?1:0)+(e||"")+" (cycles="+h+(c?",level="+(c+1):"")+")")}}(this,cd(this.F)))}return!0};
function cl(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Nl(a,2));if(20>c||2E4<c)b=!1;b?a.U?(a.U.frequency.value=c,z(a,33554432)&&y(a,"speaker set to "+c+"hz",!0)):(a.U=a.Fa.createOscillator(),a.U&&(a.U.type="number"==typeof a.U.type?1:"square",a.U.connect(a.Fa.destination),a.U.frequency.value=c,"start"in a.U?a.U.start(0):a.U.noteOn(0),z(a,33554432)&&y(a,"speaker on at "+c+"hz",!0))):a.U&&("stop"in a.U?a.U.stop(0):a.U.noteOff(0),a.U.disconnect(),delete a.U,z(a,
33554432)&&y(a,"speaker off at "+c+"hz",!0))}catch(d){a.Na("AudioContext exception: "+d.message),a.Fa=null}else b&&y(a,"BEEP",33554432)}
function cl(a,b){if(a.Ea)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Nl(a,2));if(20>c||2E4<c)b=!1;b?a.U?(a.U.frequency.value=c,z(a,33554432)&&y(a,"speaker set to "+c+"hz",!0)):(a.U=a.Ea.createOscillator(),a.U&&(a.U.type="number"==typeof a.U.type?1:"square",a.U.connect(a.Ea.destination),a.U.frequency.value=c,"start"in a.U?a.U.start(0):a.U.noteOn(0),z(a,33554432)&&y(a,"speaker on at "+c+"hz",!0))):a.U&&("stop"in a.U?a.U.stop(0):a.U.noteOff(0),a.U.disconnect(),delete a.U,z(a,
33554432)&&y(a,"speaker off at "+c+"hz",!0))}catch(d){a.Na("AudioContext exception: "+d.message),a.Ea=null}else b&&y(a,"BEEP",33554432)}
var Gk={0:function(a,b){return nl(this,0,0,a,b)},1:function(a,b){return pl(this,0,0,a,b)},2:function(a,b){return nl(this,0,1,a,b)},3:function(a,b){return pl(this,0,1,a,b)},4:function(a,b){return nl(this,0,2,a,b)},5:function(a,b){return pl(this,0,2,a,b)},6:function(a,b){return nl(this,0,3,a,b)},7:function(a,b){return pl(this,0,3,a,b)},8:function(a,b){return rl(this,0,a,b)},13:function(a,b){return wl(this,0,a,b)},32:function(a,b){return Fl(this,0,b)},33:function(a,b){return Il(this,0,b)},64:function(a,
b){return Kl(this,0,0,a,b)},65:function(a,b){return Kl(this,0,1,a,b)},66:function(a,b){return Kl(this,0,2,a,b)},67:function(a,b){return Ol(this,0,a,b)},129:function(a,b){return yl(this,0,2,a,b)},130:function(a,b){return yl(this,0,3,a,b)},131:function(a,b){return yl(this,0,1,a,b)},135:function(a,b){return yl(this,0,0,a,b)}},Ik={96:X.prototype.ym,97:X.prototype.zm,98:X.prototype.Am,99:X.prototype.Bm},Mk={96:X.prototype.Ml,97:X.prototype.Nl,100:X.prototype.Ol,112:X.prototype.bm,113:X.prototype.cm,128:function(a,
b){return Al(this,7,a,b)},132:function(a,b){return Al(this,0,a,b)},133:function(a,b){return Al(this,1,a,b)},134:function(a,b){return Al(this,2,a,b)},136:function(a,b){return Al(this,3,a,b)},137:function(a,b){return yl(this,1,2,a,b)},138:function(a,b){return yl(this,1,3,a,b)},139:function(a,b){return yl(this,1,1,a,b)},140:function(a,b){return Al(this,4,a,b)},141:function(a,b){return Al(this,5,a,b)},142:function(a,b){return Al(this,6,a,b)},143:function(a,b){return yl(this,1,0,a,b)},160:function(a,b){return Fl(this,
@ -567,14 +567,14 @@ function Zn(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=n
m?13:14:480<=f&&(d=3==a.ya?17:18):d=m?7-d:6:d-=m?2:0);c=io(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ga=null,null==d&&(d=a.va);if(!Yn(a,d,b))return!1;jo(a,c);return!0}
function Yn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Wg=0;a.Ga=b;a.qb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){go(a);if(a.ob){if(!gc(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Ub(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.dg=a.L*a.W|0;a.ag=a.dg/
a.hd|0;a.Ub=a.ag;a.sd=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.sd=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Zf&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),a.Zf||(a.Ja=b.Pc,a.Ka=b.Qc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Pc,a.tc=a.W*b.Qc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.le=a.me=
0;a.Cd=a.ra;a.Fd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0<b&&(a.le=b>>1,a.Cd-=b);0<c&&(a.me=c>>1,a.Fd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}ko(a,!0);un(a)}return!0}function eo(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 lo(a){a.Pa=-1;a.Fa=!1;var b=a.ag;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function ko(a,b){b||(a.qb=!1);lo(a)}
0;a.Cd=a.ra;a.Fd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0<b&&(a.le=b>>1,a.Cd-=b);0<c&&(a.me=c>>1,a.Fd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}ko(a,!0);un(a)}return!0}function eo(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 lo(a){a.Pa=-1;a.Ea=!1;var b=a.ag;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function ko(a,b){b||(a.qb=!1);lo(a)}
function ho(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Re[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.le,c=c*a.Ka+a.me,a.ea.fillStyle=h.Re[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Zg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ea.drawImage(h.Zg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.mg,g=a.Ee,e?(a.Ya&&a.Ya!==h.Qc&&(f=f*h.Qc/a.Ya|0,g=g*h.Qc/a.Ya|0),e.fillStyle=h.Re[d],
e.fillRect(b,c+f,h.Pc,g)):(a.Ya&&a.Ya!==a.Ka&&(f=f*a.Ka/a.Ya|0,g=g*a.Ka/a.Ya|0),a.ea.fillStyle=h.Re[d],a.ea.fillRect(b,c+f,a.Ja,g)))}
function un(a,b){if(a.la.ic){var c=!1,d=a.C;d&&(d!==a.A?d.fd&8&&(c=!0):d.Nd&32&&(c=!0));if(c||b){if(b)lo(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Wg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.dg,h=a.ob,c=h,k=c+a.ac;19<=a.Ga&&(h=c=655360,k=c+65536);if(mo(a,d)&8||d.qf&&d.qf<d.ni){var m=(d.mb[12]<<8)+d.mb[13]|0;d.Ld!==m&&(d.Ld=m,ko(a));d.qf=0}m=d.Ld;a.U&&(m<<=1);c+=m;m=a.Ub;5<=a.Ua&&d.mb[19]&&d.mb[19]<<1!=d.mb[1]+1&&(a.Db=d.mb[19]<<(a.U?1:d.mb[20]&64?3:4),m=(a.Db*(a.W-1)+a.L)/a.hd|0,7>=a.Ga&&(m<<=
1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.Fa){b=a.ga;for(var n=!0,t=c>>>b.La;0<m&&t<b.sa.length;)b.sa[t].Wa&&(b.sa[t].Wa=n=!1,b.sa[t].tj=!0),m-=b.Sb,t++;b=n}if(b){if(!e)return;if(!a.Pa){f=a.ua-d.Ld;if(0>f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;m=a.C.fd&32;5<=a.Ua&&(m=a.C.Sc[16]&8);b=a.ua-a.C.Ld;m&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c<k&&d<g;)m=mc(a.ga,c),m|=65536,m&e&&(a.Pa++,m&=h),d==b&&(m|=a.cb&1?131072:0),a.Fa&&m===a.fa[d]||(ho(a,d%a.L,d/a.L|0,m,a.gb),
a.fa[d]=m,f++),c+=2,d++;a.Fa=!0;f&&a.gb&&a.ea.drawImage(a.fb,0,0,a.bc,a.tc,a.le,a.me,a.Cd,a.Fd);fo(a)}}else if(a.sd){var g=k,q,k=c,d=a.Pa=0,f=a.hd,e=16==f?65536:196608,h=16==f?1:2;b=ao(a,h);for(var n=m=0,t=a.L,A=0,F=a.W,C=0;k<g;){q=mc(a.ga,k);if(a.Fa&&q===a.fa[d])m+=f;else{a.fa[d]=q;q=q>>8|(q&255)<<8;var D=e,L=16;m<t&&(t=m);for(var G=0;G<f;G++){var ga=(q&(D>>=h))>>(L-=h);eo(a.sb,m++,n,b[ga])}m>A&&(A=m);n<F&&(F=n);n>=C&&(C=n+1)}k+=2;d++;if(m>=a.L){m=0;n+=2;if(n>a.W)break;n==a.W&&(n=1,k=c+a.sd)}}a.Fa=
!0;t<a.L&&(a.gb.putImageData(a.sb,0,0,t,F,A-t,C-F),a.ea.drawImage(a.fb,0,0,a.L,a.W,0,0,a.ra,a.Da))}else if(a.hf){g=h;f=a.Pa=0;e=ao(a,8);h=a.C.rd;m=b=0;n=a.L;t=0;A=a.W;F=0;C=a.C.Me[4]&8?4:1;q=a.C.Sc[19]&15;for(D=a.Db>a.L?a.Db-a.L-q>>3:0;c<k;){d=h[c-g];G=4;q||(a.Fa&&d===a.fa[f]?(b+=G,G=0):a.fa[f]=d,f++);if(G){b<n&&(n=b);for(L=0;L<G;L++)eo(a.sb,b++,m,e[d&255]),d>>=8;b>t&&(t=b);m<A&&(A=m);m>=F&&(F=m+1)}c+=C;if(b>=a.L){b=0;if(++m>a.W)break;c+=D}}q||(a.Fa=!0);n<a.L&&(a.gb.putImageData(a.sb,0,0,n,A,t-n,
F-A),a.ea.drawImage(a.fb,0,0,a.L,a.W,0,0,a.ra,a.Da))}else{g=h;d=a.Pa=0;f=ao(a);e=a.C.rd;b=h=0;m=a.L;n=0;t=a.W;A=0;F=a.C.Sc[19]&15;for(C=a.Db>a.L?a.Db-a.L-F>>3:0;c<k;){q=c++-g;q=e[q];L=8;F?h?(D=a.L-h,L>D&&(L=D)):(q<<=F,L-=F,a.Fa=!1):(a.Fa&&q===a.fa[d]?(h+=L,L=0):a.fa[d]=q,d++);if(L){h<m&&(m=h);for(D=0;D<L;D++)G=Wm[q&2155905152]||0,eo(a.sb,h++,b,f[G]),q<<=1;h>n&&(n=h);b<t&&(t=b);b>=A&&(A=b+1)}if(h>=a.L){h=0;if(++b>a.W)break;c+=C}}F||(a.Fa=!0);m<a.L&&(a.gb.putImageData(a.sb,0,0,m,t,n-m,A-t),a.ea.drawImage(a.fb,
1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.Ea){b=a.ga;for(var n=!0,t=c>>>b.La;0<m&&t<b.sa.length;)b.sa[t].Wa&&(b.sa[t].Wa=n=!1,b.sa[t].tj=!0),m-=b.Sb,t++;b=n}if(b){if(!e)return;if(!a.Pa){f=a.ua-d.Ld;if(0>f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;m=a.C.fd&32;5<=a.Ua&&(m=a.C.Sc[16]&8);b=a.ua-a.C.Ld;m&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c<k&&d<g;)m=mc(a.ga,c),m|=65536,m&e&&(a.Pa++,m&=h),d==b&&(m|=a.cb&1?131072:0),a.Ea&&m===a.fa[d]||(ho(a,d%a.L,d/a.L|0,m,a.gb),
a.fa[d]=m,f++),c+=2,d++;a.Ea=!0;f&&a.gb&&a.ea.drawImage(a.fb,0,0,a.bc,a.tc,a.le,a.me,a.Cd,a.Fd);fo(a)}}else if(a.sd){var g=k,q,k=c,d=a.Pa=0,f=a.hd,e=16==f?65536:196608,h=16==f?1:2;b=ao(a,h);for(var n=m=0,t=a.L,A=0,F=a.W,C=0;k<g;){q=mc(a.ga,k);if(a.Ea&&q===a.fa[d])m+=f;else{a.fa[d]=q;q=q>>8|(q&255)<<8;var D=e,L=16;m<t&&(t=m);for(var G=0;G<f;G++){var ga=(q&(D>>=h))>>(L-=h);eo(a.sb,m++,n,b[ga])}m>A&&(A=m);n<F&&(F=n);n>=C&&(C=n+1)}k+=2;d++;if(m>=a.L){m=0;n+=2;if(n>a.W)break;n==a.W&&(n=1,k=c+a.sd)}}a.Ea=
!0;t<a.L&&(a.gb.putImageData(a.sb,0,0,t,F,A-t,C-F),a.ea.drawImage(a.fb,0,0,a.L,a.W,0,0,a.ra,a.Da))}else if(a.hf){g=h;f=a.Pa=0;e=ao(a,8);h=a.C.rd;m=b=0;n=a.L;t=0;A=a.W;F=0;C=a.C.Me[4]&8?4:1;q=a.C.Sc[19]&15;for(D=a.Db>a.L?a.Db-a.L-q>>3:0;c<k;){d=h[c-g];G=4;q||(a.Ea&&d===a.fa[f]?(b+=G,G=0):a.fa[f]=d,f++);if(G){b<n&&(n=b);for(L=0;L<G;L++)eo(a.sb,b++,m,e[d&255]),d>>=8;b>t&&(t=b);m<A&&(A=m);m>=F&&(F=m+1)}c+=C;if(b>=a.L){b=0;if(++m>a.W)break;c+=D}}q||(a.Ea=!0);n<a.L&&(a.gb.putImageData(a.sb,0,0,n,A,t-n,
F-A),a.ea.drawImage(a.fb,0,0,a.L,a.W,0,0,a.ra,a.Da))}else{g=h;d=a.Pa=0;f=ao(a);e=a.C.rd;b=h=0;m=a.L;n=0;t=a.W;A=0;F=a.C.Sc[19]&15;for(C=a.Db>a.L?a.Db-a.L-F>>3:0;c<k;){q=c++-g;q=e[q];L=8;F?h?(D=a.L-h,L>D&&(L=D)):(q<<=F,L-=F,a.Ea=!1):(a.Ea&&q===a.fa[d]?(h+=L,L=0):a.fa[d]=q,d++);if(L){h<m&&(m=h);for(D=0;D<L;D++)G=Wm[q&2155905152]||0,eo(a.sb,h++,b,f[G]),q<<=1;h>n&&(n=h);b<t&&(t=b);b>=A&&(A=b+1)}if(h>=a.L){h=0;if(++b>a.W)break;c+=C}}F||(a.Ea=!0);m<a.L&&(a.gb.putImageData(a.sb,0,0,m,t,n-m,A-t),a.ea.drawImage(a.fb,
0,0,a.L,a.W,0,0,a.ra,a.Da))}}}}function mo(a,b){var c=0;a=cd(a.F)-b.Eh;0>a&&(b.Eh=a,a=-a|0);a%b.zh>b.an&&(c|=1);a%b.Ch>b.cn&&(c|=9);b.ni=a/b.Ch|0;return c}l.um=function(a,b){return no(this,this.pa,a,b)};l.Vn=function(a,b,c){var d=this.pa;d.Qg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};l.tm=function(a,b){return oo(this,this.pa,a,b)};l.Un=function(a,b,c){po(this,this.pa,a,b,c)};l.vm=function(a,b){return qo(this,this.pa,b)};l.Wn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.fd=b;Zn(this,!1)};
l.wm=function(a,b){return ro(this,this.pa,b)};l.Mk=function(a,b,c){this.A.hg=this.A.hg&-4|b&3;x(this,a,b,c,"FEAT")};l.Tl=function(a,b){a=this.A.Nd;b&&!z(this)||x(this,960,null,b,"ATC.INDX",a);return a};l.kl=function(a,b){a=this.A.Sc[this.A.Nd&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.$g[this.A.Nd&31],a);return a};
l.Lk=function(a,b,c){var d=this.A,e=d.Nd&32;if(d.Ze){d.Ze=!1;var f=d.Nd&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.$g[f]),d.Sc[f]=b,ko(this,!1)}else d.Nd=b,x(this,a,b,c,"ATC.INDX"),d.Ze=!0,b&32&&!e&&Xn(this,!0)&&un(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Ld!=a&&(d.Ld=a,ko(this)),d.qf=0};
@ -596,14 +596,14 @@ l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");qc(b,
function wo(a,b){var c=0;b||(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Df=b[c];return!0}l.hm=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};l.Fm=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};l.dm=function(a,b){var c=this.Df;x(this,a,null,b,"CTRL",c);return c};
l.Hn=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;a=!1;y(this,"transmitByte("+u(b)+")");this.A&&(8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0);if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Yb&=-65);xo(this)};l.Cn=function(a,b,c){x(this,a,b,c,"CTRL");this.Df=b;xo(this)};
function xo(a){a.N&&a.C&&(a.Df&16&&!(a.Yb&64)?mg(a.N,a.C):lg(a.N,a.C))}var uo={0:so.prototype.hm,1:so.prototype.Fm,2:so.prototype.dm},vo={0:so.prototype.Hn,2:so.prototype.Cn};Xa(function(){for(var a=tb(document,"pcx86","parallel"),b=0;b<a.length;b++){var c=a[b],d=qb(c),d=new so(d);sb(d,c)}});
function yo(a){this.ya=a.adapter;switch(this.ya){case 1:this.ua=1016;this.ka=4;break;case 2:this.ua=760;this.ka=3;break;default:w("Unrecognized serial adapter #"+this.ya);return}this.L=this.W=null;this.Ga=a.tabSize;this.Fa=a.charBOL;this.ea=0;bb.call(this,"SerialPort",a,yo,8388608);a=a.binding;"console"==a?this.W="":rb(this,a,zo);this.ia=this.ra=null;this.exports={connect:this.zj,receiveData:this.gg}}jb(yo);var zo="buffer";l=yo.prototype;l.bj=function(a,b){return a==this.xd?(this.V=b,this):null};
function yo(a){this.ya=a.adapter;switch(this.ya){case 1:this.ua=1016;this.ka=4;break;case 2:this.ua=760;this.ka=3;break;default:w("Unrecognized serial adapter #"+this.ya);return}this.L=this.W=null;this.Ga=a.tabSize;this.Ea=a.charBOL;this.ea=0;bb.call(this,"SerialPort",a,yo,8388608);a=a.binding;"console"==a?this.W="":rb(this,a,zo);this.ia=this.ra=null;this.exports={connect:this.zj,receiveData:this.gg}}jb(yo);var zo="buffer";l=yo.prototype;l.bj=function(a,b){return a==this.xd?(this.V=b,this):null};
l.Pb=function(a,b,c){var d=this;switch(b){case zo:return this.qa[b]=this.L=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.gg(b);return!0},c.onkeypress=function(a){a=a||window.event;d.gg(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");qc(b,this,Ao,this.ua);yc(b,this,Bo,this.ua);xb(this)};l.zj=function(){if(!this.ia){var a=Yc(this.X,"connection");if(a){var b=a.split("->");if(2==b.length){var c=qa(b[0]);if(c!=this.xd)return;b=qa(b[1]);if(this.ia=ob(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.ce+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};
l.hc=function(a,b){if(!b)if(this.zj(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0};l.reset=function(){Co(this)};l.save=function(){var a=new qf(this),b=0,c=[];c[b++]=this.va;c[b++]=this.Da;c[b++]=this.fa;c[b++]=this.pa;c[b++]=this.U;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.Ca;c[b]=this.aa;a.set(0,c);return a.data()};l.restore=function(a){return Co(this,a[0])};
function Co(a,b){var c=0;b||(b=[0,0,384,0,1,0,0,96,48,[]]);a.va=b[c++];a.Da=b[c++];a.fa=b[c++];a.pa=b[c++];a.U=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.Ca=b[c++];a.aa=b[c];return!0}l.gg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.aa.push(a.charCodeAt(b));else this.aa=this.aa.concat(a);Do(this);return!0};
function Do(a){0<a.aa.length&&!(a.A&1)&&(a.va=a.aa.shift(),a.A|=1);var b=-1;a.A&1&&a.pa&1&&(b=4);0<=b?(a.U&=-8,a.U|=b,a.N&&a.ka&&mg(a.N,a.ka,100)):(a.U|=1,a.N&&a.ka&&lg(a.N,a.ka))}l.Cm=function(a,b){var c=this.B&128?this.fa&255:this.va;x(this,a,null,b,this.B&128?"DLL":"RBR",c);this.A&=-2;Do(this);return c};l.om=function(a,b){var c=this.B&128?this.fa>>8:this.pa;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};l.pm=function(a,b){var c=this.U;x(this,a,null,b,"IIR",c);return c};
l.qm=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};l.sm=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};l.rm=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};l.xm=function(a,b){var c=this.Ca;x(this,a,null,b,"MSR",c);return c};
l.eo=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;y(this,"transmitByte("+u(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0<this.ea&&this.ea--):(a=(a=ra[b])?"<"+a+">":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=pa("",c))),this.Fa&&!this.ea&&c&&(a=String.fromCharCode(this.Fa)+a),this.L.value+=a,this.L.scrollTop=
l.eo=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;y(this,"transmitByte("+u(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0<this.ea&&this.ea--):(a=(a=ra[b])?"<"+a+">":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=pa("",c))),this.Ea&&!this.ea&&c&&(a=String.fromCharCode(this.Ea)+a),this.L.value+=a,this.L.scrollTop=
this.L.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.A|=96)}};l.Rn=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.fa=this.fa&255|b<<8:this.pa=b};l.Sn=function(a,b,c){x(this,a,b,c,"LCR");this.B=b};
l.Tn=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(a.N.gg([77,77]),y(a,"serial mouse ID sent")),Eo(a),a.Hc=c):a.Hc&&(y(a,"serial mouse inactive"),Fo(a),a.Hc=c),a.C=b)};
var Ao={0:yo.prototype.Cm,1:yo.prototype.om,2:yo.prototype.pm,3:yo.prototype.qm,4:yo.prototype.sm,5:yo.prototype.rm,6:yo.prototype.xm},Bo={0:yo.prototype.eo,1:yo.prototype.Rn,3:yo.prototype.Sn,4:yo.prototype.Tn};Xa(function(){for(var a=tb(document,"pcx86","serial"),b=0;b<a.length;b++){var c=a[b],d=qb(c),d=new yo(d);sb(d,c)}});function Go(a){bb.call(this,"Mouse",a,Go,16777216);if(this.ka=a.serial)this.pa="SerialPort";this.ia=this.fa=this.Hc=!1;this.B=[];this.A=[];xb(this)}jb(Go);var wn=0;l=Go.prototype;
@ -671,11 +671,11 @@ d.kb=c>>2&1,c=Jp(this),d.Qb+=c-d.ee,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d
function Mp(a,b,c,d,e,f,g,h){Kp(a);Lp(a,b.hb|b.kb<<2|b.Cb&255);Lp(a,(b.Cb&65280)>>>8);Lp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Lp(a,e+k);Lp(a,f);Lp(a,g);Lp(a,h)}function Jp(a){var b=a.V[a.L];a.L++;return b}function Kp(a){a.L=a.C=0}function Lp(a,b){a.V[a.C++]=b}l.el=function(a,b,c){void 0===b||0>b?this.Le(a,c):c(-1,!1)};l.fl=function(a,b){return void 0!==b&&0<=b?Np(a,b):-1};
l.vl=function(a,b){if(void 0!==b&&0<=b)a:if(a.Cb)a=-1;else{a.ld[a.We++]=b;if(a.We==a.ld.length){a.Qb=a.ld[0];a.kb=a.ld[1];a.xb=a.ld[2];a.Hb=128<<a.ld[3];for(var c=a.We=0;c<a.Hb;c++)if(0>Np(a,a.cj)){a=-1;break a}a.sg++}a.sg>=a.fe&&(b=-1);a=b}else a=-1;return a};l.Le=function(a,b){var c=-1,d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(c=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Op(a)}while(1)}b(c,!1,d,e)};
function Np(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Op(a)}while(1);return b}function Op(a){a.xb++;a.xb>=a.Rf+1&&(a.xb=1,a.kb++,a.kb>=a.Qf&&(a.kb=0,a.Qb++))}var Ap={1009:vp.prototype.jm,1012:vp.prototype.lm,1013:vp.prototype.im,1015:vp.prototype.km},Bp={1010:vp.prototype.Kn,1013:vp.prototype.Jn,1015:vp.prototype.In};
Xa(function(){for(var a=tb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=qb(c),d=new vp(d);sb(d,c)}});function Pp(a){bb.call(this,"HDC",a,Pp,1048576);this.dmaRead=this.gl;this.dmaWrite=this.hl;this.dmaWriteBuffer=this.wl;this.dmaWriteFormat=this.xl;this.ua=[];this.Fa=a.drives;this.ia="at"==a.type}jb(Pp);
Xa(function(){for(var a=tb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=qb(c),d=new vp(d);sb(d,c)}});function Pp(a){bb.call(this,"HDC",a,Pp,1048576);this.dmaRead=this.gl;this.dmaWrite=this.hl;this.dmaWriteBuffer=this.wl;this.dmaWriteFormat=this.xl;this.ua=[];this.Ea=a.drives;this.ia="at"==a.type}jb(Pp);
var Qp=["XTC","ATC","COMPAQ"],Rp=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,6],19:[1023,
8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}];l=Pp.prototype;
l.Pb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.qa[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];b&&b.za?(b=b.za,b=Na(tp(b),"octet-stream",!0,b.Ug.replace(".json",".img")),w(b)):d.Na("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;if(d=Yc(a,"drives"))this.ua=d;else if(this.Fa)try{this.ua=eval("("+this.Fa+")")}catch(e){w("HDC drive configuration error: "+e.message+" ("+this.Fa+")")}this.N=Jb(a,"ChipSet");this.U=0;this.Ga=3;qc(b,this,this.ia?Sp:Tp);yc(b,this,this.ia?Up:Vp);this.ia&&(this.U++,this.N&&5180==this.N.ja&&this.U++,this.Ga=2,b.aa[496]=2,b.ea[496]=2);lf(c,19,this.Nm.bind(this));lf(c,64,this.Om.bind(this));this.reset();Wp(this)||xb(this)};
l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;if(d=Yc(a,"drives"))this.ua=d;else if(this.Ea)try{this.ua=eval("("+this.Ea+")")}catch(e){w("HDC drive configuration error: "+e.message+" ("+this.Ea+")")}this.N=Jb(a,"ChipSet");this.U=0;this.Ga=3;qc(b,this,this.ia?Sp:Tp);yc(b,this,this.ia?Up:Vp);this.ia&&(this.U++,this.N&&5180==this.N.ja&&this.U++,this.Ga=2,b.aa[496]=2,b.ea[496]=2);lf(c,19,this.Nm.bind(this));lf(c,64,this.Om.bind(this));this.reset();Wp(this)||xb(this)};
l.hc=function(a,b){if(!b)if(!a||!this.restore)Xp(this),this.X.lh&&Wp(this,!0);else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0};l.gf=function(){return this.X?this.X.gf():""};l.ie=function(){return this.X?this.X.ie():""};l.reset=function(){Xp(this,null,!0)};l.save=function(){var a=new qf(this);a.set(0,Yp(this));return a.data()};l.restore=function(a){return Xp(this,a[0])};
function Xp(a,b,c){var d=0,e=!0;a.hb=-1;if(a.ia){if(b||(b=[0,0,0,0,0,0,0,64,0,[0,-1]]),a.W=b[d++],a.Pa=b[d++],a.aa=b[d++],a.Ca=b[d++],a.ya=b[d++],a.va=b[d++],a.ra=b[d++],a.ma=b[d++],a.Da=b[d++],a.fa=b[d++],"object"==typeof a.fa){var f=a.fa;a.fa=f[0];a.hb=f[1]}}else b||(b=[0,0,Array(14),0,0]),a.pa=b[d++],a.ma=b[d++],a.V=b[d++],a.L=b[d++],a.C=b[d++],a.Oa=b[d++],a.Ka=b[d++],a.Ja=b[d++],f=b[d++],void 0!==f?a.ka=f:void 0===a.ka&&(a.ka=-1);void 0===a.A&&(a.A=Array(a.ua.length));b=b[d];void 0===b&&(b=[]);
for(d=0;d<a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,m=a.ua[d],n=b[d],t=c,q=0,A=!0;n||(n=[0,0,!1,Array(8)]);k.hb=h;k.errorCode=n[q++];k.Vk=n[q++];k.cf=n[q++];k.Te=n[q++];k.Ue=n[q++];k.kb=n[q++];k.ub=n[q++];k.be=n[q++];k.xb=n[q++];k.fe=n[q++];k.Hb=n[q++];k.rg=g.ia?0:1;k.name=m.name;void 0===k.name&&(k.name="Hard Drive");k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||g.ie()||(k.mode="local");k.type=m.type;if(void 0===k.type||
@ -744,15 +744,15 @@ l.Sm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b
l.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Aq(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.qa[b]=c,Qa(c,function(){if(d.Ka){var a=d.Ka.value;
d.Ka.value="";Aq(d,a,!0);return!0}return!1}),!0;case "step":return this.qa[b]=c,Qa(c,function(a){var b=!1;wb(d,!0)||(vb(d,!0),b=d.wf(a?1:0),vb(d,!1));return b}),!0}return!1};l.wd=function(){this.Ka&&this.Ka.focus()};function er(a){return a.F&&!!(a.F.$a&1)&&!(a.F.ca&131072)}
function Rq(a,b,c){var d=er(a)?2:1;c||(c=d);if(c==d){if(b===a.F.wa.Z)return a.F.wa;if(b===a.F.vb.Z)return a.F.vb;if(b===a.F.Xa.Z)return a.F.Xa;if(b===a.F.ta.Z)return a.F.ta;if(80386<=a.F.ja){if(b===a.F.Nb.Z)return a.F.Nb;if(b===a.F.Ob.Z)return a.F.Ob}if(a.gb&&2==c||!a.bc)return null}a=a.bc;if(2!=c)a.uh(b),a.Ta=65535,a.Zb=65536;else{var e;c=a.F;b&=65535;b&4?(d=c.Bc.Aa,e=d+c.Bc.Ta|0):(d=c.Ec,e=c.zd);d=d+(b&65528)|0;if(e-d|0){e=Qf(c,d+0,2);var f=Qf(c,d+4,2),g=f&7936,h=Qf(c,d+2,2)|(f&255)<<16,k=Qf(c,
d+6,2);80386<=c.ja&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.Z=b;a.Aa=h;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ld(a,!0,!0,!1)}}return a}l.cc=function(a,b,c){var d=a&&a.Ea;if(null==d&&(d=-1,a)){var e=Rq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.bd&&(b>>>0)+c>e.Zb||!e.bd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Ea=d)}return d};l.Qa=function(a,b){var c=255,d=this.cc(a,!1,1);-1!==d&&(c=Qf(this.F,d,1,5==a.type)|0,b&&fr(this,a,b));return c};
d+6,2);80386<=c.ja&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.Z=b;a.Aa=h;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ld(a,!0,!0,!1)}}return a}l.cc=function(a,b,c){var d=a&&a.Fa;if(null==d&&(d=-1,a)){var e=Rq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.bd&&(b>>>0)+c>e.Zb||!e.bd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Fa=d)}return d};l.Qa=function(a,b){var c=255,d=this.cc(a,!1,1);-1!==d&&(c=Qf(this.F,d,1,5==a.type)|0,b&&fr(this,a,b));return c};
l.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};l.na=function(a,b){var c=65535,d=this.cc(a,!1,2);-1!==d&&(c=Qf(this.F,d,2,5==a.type),b&&fr(this,a,b));return c};l.oa=function(a,b){var c=-1,d=this.cc(a,!1,4);-1!==d&&(c=Qf(this.F,d,4,5==a.type),b&&fr(this,a,b));return c};l.qc=function(a,b,c,d){var e=this.cc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ga;f.sa[(e&f.Gb)>>>f.La].xf(e&f.A,b&255,e)}c&&fr(this,a,c);d||ad(this.F,!0)}};
l.jb=function(a,b,c){var d=this.cc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):nc(this.ga,d,b),c&&fr(this,a,c),ad(this.F,!0))};function wq(a,b,c,d,e,f,g){return gr(a,{},b,c,d,e,f,g)}function gr(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Ea=e;b.type=f||(er(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.wa.ba;b.oc=null!=h?h:a.F&&4==a.F.wa.Tc;b.Vd=!1;return b}function hr(a){return[a.Ra,a.Z,a.Ea,a.Vd,a.Rb,a.oc,a.Ve,a.jh]}function ir(a){return{Ra:a[0],Z:a[1],Ea:a[2],Vd:a[3],Rb:a[4],oc:a[5],Ve:a[6],jh:a[7]}}
l.jb=function(a,b,c){var d=this.cc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):nc(this.ga,d,b),c&&fr(this,a,c),ad(this.F,!0))};function wq(a,b,c,d,e,f,g){return gr(a,{},b,c,d,e,f,g)}function gr(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Fa=e;b.type=f||(er(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.wa.ba;b.oc=null!=h?h:a.F&&4==a.F.wa.Tc;b.Vd=!1;return b}function hr(a){return[a.Ra,a.Z,a.Fa,a.Vd,a.Rb,a.oc,a.Ve,a.jh]}function ir(a){return{Ra:a[0],Z:a[1],Fa:a[2],Vd:a[3],Rb:a[4],oc:a[5],Ve:a[6],jh:a[7]}}
function jr(a,b,c){if(null!=b.Z&&(a=Rq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.bd){if(d>>>0>=a.Zb)return!1}else if(d>>>0<a.Zb)return!1;c&&(b.Ra=d,b.Rb=4==a.ba,b.oc=4==a.Tc)}return!0}
function kr(a,b,c,d){var e,f=c?a.aa:a.Db;c=d?0:f.type;var g=f.Ra,h=f.Z,f=f.Ea;if(void 0!==b){b=qq(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=1;break;case "#":c=2;break;case "%":c=4;e=b.charAt(1);"%"==e&&(c=5,e+=e);g=0;h=null;break;default:0<=f&&(c=0),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(),n=0;n<a.N.length;n++){e=a.N[n];var t=e.Qd[m];if(void 0!==t){m=t.o;void 0!==m&&(k=t.s,void 0===k&&(k=e.Z),k=wq(a,m,k,t.p));break}}if(e=
function kr(a,b,c,d){var e,f=c?a.aa:a.Db;c=d?0:f.type;var g=f.Ra,h=f.Z,f=f.Fa;if(void 0!==b){b=qq(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=1;break;case "#":c=2;break;case "%":c=4;e=b.charAt(1);"%"==e&&(c=5,e+=e);g=0;h=null;break;default:0<=f&&(c=0),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(),n=0;n<a.N.length;n++){e=a.N[n];var t=e.Qd[m];if(void 0!==t){m=t.o;void 0!==m&&(k=t.s,void 0===k&&(k=e.Z),k=wq(a,m,k,t.p));break}}if(e=
k)return e;0>f?null!=h?(g=pq(a,b,void 0),f=null):(f=pq(a,b,void 0),null==f&&(g=null)):(h=pq(a,b.substring(0,f),void 0),g=pq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=wq(a,g,h,f,c),d||jr(a,e,!0)||(a.O("invalid offset: "+dr(e)),e=null));return e}function lr(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ll=a.Ng(b.Sk=c[2]))}l.Pk=function(a,b){var c=kr(this,b);return a.replace("["+b+"]",c?r(this.tb(c),c.Rb?8:4):"undefined")};
function fr(a,b,c){c=c||1;null!=b.Ea&&(b.Ea+=c);null!=b.Z&&(b.Ra+=c,jr(a,b)||(b.Ra=0,b.Ea=null))}function Uq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}function dr(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Ea):b+Uq(a.Ra,a.Z,a.oc)}
function fr(a,b,c){c=c||1;null!=b.Fa&&(b.Fa+=c);null!=b.Z&&(b.Ra+=c,jr(a,b)||(b.Ra=0,b.Fa=null))}function Uq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}function dr(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Fa):b+Uq(a.Ra,a.Z,a.oc)}
function Vq(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Qa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function Qq(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.cc(kr(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Nc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Yb[c],6==c&&(d=d.Bd,h+=" -> "+Yb[d.type]),d&&a.O(r(d.id,8)+" %"+r(f<<a.F.La,8)+" %%"+r(d.Ea,8)+" "+v(d.Qe)+" "+v(d.size)+" "+
function Qq(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.cc(kr(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Nc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Yb[c],6==c&&(d=d.Bd,h+=" -> "+Yb[d.type]),d&&a.O(r(d.id,8)+" %"+r(f<<a.F.La,8)+" %%"+r(d.Fa,8)+" "+v(d.Qe)+" "+v(d.size)+" "+
h),c!=Ec&&5!=c&&(c=-1),h=0),e+=a.F.Sb,f++}function mr(a,b,c){a=r(a)+" "+r(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"}
var Sq={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]},Wq={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},Xq={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};
@ -765,30 +765,30 @@ function or(a,b){b=qq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.oh(b,c+1
e+' "'+Vq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+dr(wq(this,M(this.F),this.F.wa.Z))+" (%"+r(this.F.Ha)+")");this.Pa&&a==this.Pa||(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F&&(a=this.F,a.fb-=a.A,a.A=0,a.Y.mf=0,ad(a)))};
function pk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>Cq.indexOf(b),!d)){var g=Bq[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Db[b])&&g[e]||"")&&(g=" "+or(a,g)),a.message("INT "+u(b)+": AH="+u(e)+" at "+Uq(c-2-a.F.wa.Aa,a.F.wa.Z)+g));return d}
function ub(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.wa.Z,e-=a.F.wa.Aa),a.message(b.xd+"."+(null!=d?"outPort":"inPort")+"("+v(c)+","+(f?f:"unknown")+(null!=d?","+u(d):"")+")"+(null!=g?": "+u(g):"")+(null!=e?" at "+Uq(e,h):""))}l.qh=function(){this.O("Type ? for help with PCx86 Debugger commands");this.pd();if(this.qb){var a=this.qb;this.qb=null;Aq(this,a)}};
function yq(a,b){var c;if(ag(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c<a.ia.length;c++)a.ia[c]=wq(a);a.Fa=0;b||a.O("instruction history buffer allocated")}if(!a.W||!a.W.length)for(a.W=Array(256),c=0;c<a.W.length;c++)a.W[c]=[c,0]}else a.ia&&a.ia.length&&!b&&a.O("instruction history buffer freed"),a.Fa=0,a.ia=[],a.W=[]}l.Ne=function(a){if(!pr(this))return!1;this.F.Ne(a);return!0};
function yq(a,b){var c;if(ag(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c<a.ia.length;c++)a.ia[c]=wq(a);a.Ea=0;b||a.O("instruction history buffer allocated")}if(!a.W||!a.W.length)for(a.W=Array(256),c=0;c<a.W.length;c++)a.W[c]=[c,0]}else a.ia&&a.ia.length&&!b&&a.O("instruction history buffer freed"),a.Ea=0,a.ia=[],a.W=[]}l.Ne=function(a){if(!pr(this))return!1;this.F.Ne(a);return!0};
l.wf=function(a,b,c){if(!pr(this))return!1;this.ea=0;do{a||ag(this)&&dg(this,this.F.Ha,0);try{var d=this.F.wf(a);0<d&&(this.ea+=d,fd(this.F,d,!0),bd(this.F,d),this.pa++)}catch(f){if("number"!=typeof f){var e=f;this.ea=0;zb(this.F,e.stack||e.message)}}}while(this.F.S&3312);!1!==c&&ad(this.F);this.pd(b||!1);return 0<this.ea};l.Wb=function(a){this.F&&this.F.Wb(a)};l.pd=function(a){void 0===a&&(a=!0);this.aa=wq(this,M(this.F),this.F.wa.Z);a&&1!=this.U?qr(this):rr(this)};
function pr(a){var b;if(b=a.F&&yb(a.F))b=a.F,b.la.ic?b=!0:(b.O(b.toString()+" not powered"),b=!1);b&&!wb(a.F)?(a=a.F,a.la.error?(a.O(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.hc=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.gc=function(a,b){b&&this.O(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){yq(this);this.pa=this.Ca=0;this.Pa=null;this.ea=0;this.aa=wq(this,M(this.F),this.F.wa.Z);this.la.Ib=!1;sr(this);a||this.pd()};
l.save=function(){var a=new qf(this);a.set(0,hr(this.aa));a.set(1,hr(this.ua));a.set(2,[this.C,this.va,this.wc]);a.set(3,this.N);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.aa=ir(a[b++]),this.ua=ir(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.va=a[b][1],this.wc|=a[b][2]);a[3]&&(this.N=a[3]);return!0};l.start=function(a,b){this.U||this.O("running");this.la.Ib=!0;this.uc=a;this.vd=b};
l.stop=function(a,b){if(this.la.Ib){this.la.Ib=!1;this.ea=b-this.vd;if(!this.U){b="stopped";if(this.ea){a-=this.uc;var c=0<a?Math.round(1E3*this.ea/a):0;b+=" (";ag(this)&&(b+=this.pa+" opcodes, ",this.Ca-=this.pa,this.pa=0);b+=this.ea+" cycles, "+a+" ms, "+c+" hz)"}else z(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.O(b)}this.pd(!0);this.wd();sr(this,this.F.Ha)}};function ag(a){return 1<a.B.length||!!a.Oa||z(a,16)}
function dg(a,b,c){var d=a.F;if(0<c&&(a.Oa&&!--a.Oa||tr(a,b,1,a.B)))return!0;0<=c&&a.W.length&&(a.pa++,b=Qf(d,b),null!=b&&(a.W[b][1]++,gr(a,a.ia[a.Fa],M(d),d.wa.Z),++a.Fa==a.ia.length&&(a.Fa=0)));return!1}function Kc(a,b,c){return tr(a,b,c||1,a.ra)?(a.Wb(!0),!0):!1}function Mc(a,b,c){return tr(a,b,c||1,a.fa)?(a.Wb(!0),!0):!1}function wc(a,b,c){a.O("break on input from port "+v(b)+": "+r(c));a.Wb(!0)}function Ac(a,b,c){a.O("break on output to port "+v(b)+": "+r(c));a.Wb(!0)}
function dg(a,b,c){var d=a.F;if(0<c&&(a.Oa&&!--a.Oa||tr(a,b,1,a.B)))return!0;0<=c&&a.W.length&&(a.pa++,b=Qf(d,b),null!=b&&(a.W[b][1]++,gr(a,a.ia[a.Ea],M(d),d.wa.Z),++a.Ea==a.ia.length&&(a.Ea=0)));return!1}function Kc(a,b,c){return tr(a,b,c||1,a.ra)?(a.Wb(!0),!0):!1}function Mc(a,b,c){return tr(a,b,c||1,a.fa)?(a.Wb(!0),!0):!1}function wc(a,b,c){a.O("break on input from port "+v(b)+": "+r(c));a.Wb(!0)}function Ac(a,b,c){a.O("break on output to port "+v(b)+": "+r(c));a.Wb(!0)}
function xq(a){var b,c;a.B=["bp"];if(a.ra)for(b=1;b<a.ra.length;b++)c=a.ra[b],we(a.F,a.cc(c),!1,5==c.type);a.ra=["br"];if(a.fa)for(b=1;b<a.fa.length;b++)c=a.fa[b],we(a.F,a.cc(c),!0,5==c.type);a.fa=["bw"];a.gb=0}
l.Rd=function(a,b,c){var d=!0;c||cr(this,a,b,!1,!0);if(a!=this.B){var e=this.cc(b);if(-1===e)this.O("invalid address: "+dr(b)),d=!1;else{var f=this.F,g=5==b.type;(g?f.kd:f.sa)[e>>>f.La].Rd(e&f.Fa,a==this.fa);g&&Xb(f)}}d&&(a.push(b),c?(null!=b.Ea&&(b.Z=null),b.Vd=!0):(ur(this,a,a.length-1,"set"),yq(this)));return d};
l.Rd=function(a,b,c){var d=!0;c||cr(this,a,b,!1,!0);if(a!=this.B){var e=this.cc(b);if(-1===e)this.O("invalid address: "+dr(b)),d=!1;else{var f=this.F,g=5==b.type;(g?f.kd:f.sa)[e>>>f.La].Rd(e&f.Ea,a==this.fa);g&&Xb(f)}}d&&(a.push(b),c?(null!=b.Fa&&(b.Z=null),b.Vd=!0):(ur(this,a,a.length-1,"set"),yq(this)));return d};
function cr(a,b,c,d,e){for(var f=!1,g=vr(a,a.cc(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==vr(a,a.cc(k))||-1===g&&c.Z==k.Z&&c.Ra==k.Ra)if(!d||k.Vd){f=!0;k.Vd||e||ur(a,b,h,"cleared");b.splice(h,1);b!=a.B&&we(a.F,g,b==a.fa,5==k.type);k.Vd||yq(a);break}}return f}function wr(a,b){for(var c=1;c<b.length;c++)ur(a,b,c);return b.length-1}function ur(a,b,c,d){c=b[c];a.O(b[0]+" "+dr(c)+(d?" "+d:c.Sk?' "'+c.Sk+'"':""))}
function sr(a,b){if(void 0!==b)tr(a,b,1,a.B,!0),a.U=0;else for(b=1;b<a.B.length;b++){var c=a.B[b];if(c.Vd){if(!cr(a,a.B,c,!0))break;b=0}}}function vr(a,b){-1!==b&&(a=a.Ba&-65536,(b&a)==a&&(b&=1048575));return b}
function tr(a,b,c,d,e){var f=!1;if(!a.gb++){b=vr(a,b);z(a,-2147483632)&&204==Qf(a.F,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Vd){null!=h.Z&&(h.Ea=null);for(var k=vr(a,a.cc(h)),m=0;m<c;m++)if(b+m==k){var n,f=!0;h.Vd&&(cr(a,d,h,!0),e=!0);if(n=h.ll){for(var f=!1,t=0;t<n.length;t++)if(!xr(a,n[t],!0)){if(n[t].indexOf("if")){f=!0;break}for(var q=t+1;q<n.length&&n[q].indexOf("else");q++)t++;if(q==n.length){f=!0;break}}a.F.la.Ib||(f=!0)}if(f){e||ur(a,d,g,"hit");break}}}}}a.gb--;return f}
function yr(a,b,c,d){for(var e=wq(a,b.Ra,b.Z,b.Ea,b.type),f=a.Qa(b,1),g=4,h=0,k=!1,m=!1;(102==f||103==f)&&g--;)102==f?k||(b.Rb=!b.Rb,k=!0):m||(b.oc=!b.oc,m=!0),h++,f=a.Qa(b,1);var g=-1,n=Eq,k=a.Ga[f],m=k[0];176==m&&(m=a.Qa(b,1),k=Nq[m]||Kq,f|=m<<8,m=k[0]);if(36==m){var g=a.Qa(b,1),t;t=null;var q=g>>3&7,A=(3>(g>>6&3)?0:48)+q;(217==f||219==f)&&52<=A&&(A=q<<4|g&7);(q=Oq[f])&&(t=q[A]);t&&(n=Fq,k=t,m=k[0])}m>=n.length&&(g=a.Qa(b,1),k=Pq[m-n.length][g>>3&7],m=k[0]);n=n[m];q=k.length-1;t="";b.Rb&&(18==m?
function tr(a,b,c,d,e){var f=!1;if(!a.gb++){b=vr(a,b);z(a,-2147483632)&&204==Qf(a.F,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Vd){null!=h.Z&&(h.Fa=null);for(var k=vr(a,a.cc(h)),m=0;m<c;m++)if(b+m==k){var n,f=!0;h.Vd&&(cr(a,d,h,!0),e=!0);if(n=h.ll){for(var f=!1,t=0;t<n.length;t++)if(!xr(a,n[t],!0)){if(n[t].indexOf("if")){f=!0;break}for(var q=t+1;q<n.length&&n[q].indexOf("else");q++)t++;if(q==n.length){f=!0;break}}a.F.la.Ib||(f=!0)}if(f){e||ur(a,d,g,"hit");break}}}}}a.gb--;return f}
function yr(a,b,c,d){for(var e=wq(a,b.Ra,b.Z,b.Fa,b.type),f=a.Qa(b,1),g=4,h=0,k=!1,m=!1;(102==f||103==f)&&g--;)102==f?k||(b.Rb=!b.Rb,k=!0):m||(b.oc=!b.oc,m=!0),h++,f=a.Qa(b,1);var g=-1,n=Eq,k=a.Ga[f],m=k[0];176==m&&(m=a.Qa(b,1),k=Nq[m]||Kq,f|=m<<8,m=k[0]);if(36==m){var g=a.Qa(b,1),t;t=null;var q=g>>3&7,A=(3>(g>>6&3)?0:48)+q;(217==f||219==f)&&52<=A&&(A=q<<4|g&7);(q=Oq[f])&&(t=q[A]);t&&(n=Fq,k=t,m=k[0])}m>=n.length&&(g=a.Qa(b,1),k=Pq[m-n.length][g>>3&7],m=k[0]);n=n[m];q=k.length-1;t="";b.Rb&&(18==m?
n="CWDE":28==m?n="CDQ":104<=m&&107>=m&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)q=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=-1,A=!0,F=1;F<=q;F++){var C,D;C="";D=k[F];if(void 0!==D){0>f&&(f=D>>14);80==m&&(2==f?t="[%800]":3==f&&(t="ES:["+(b.oc?"E":"")+"DI]"));var L=D&15;if(L)if(8==L)A=!1;else{var G=D&240;if(128<=G)if(0>g&&(g=a.Qa(b,1)),160>G){G=a;C=D;var ga=q;D=b;var S="",ab=g>>6,la=g&7;if(3>ab){L=!n.indexOf("FI");if(!ab&&(!D.oc&&6==la||D.oc&&5==la))ab=2;else{if(D.oc)if(4!=la)la+=
8;else{var S=G,Ja=ab,Da=D,Wa=S.Qa(Da,1),Ka=Wa>>6,Vb=Wa>>3&7,Wa=Wa&7,Pa="";if(Ja||5!=Wa)Pa=Jq[Wa+8];4!=Vb&&(Pa&&(Pa+="+"),Pa+=Jq[Vb+8],Ka&&(Pa+="*"+(1<<Ka)));Ja||5!=Wa||(Pa&&(Pa+="+"),Pa+=r(S.oa(Da,4)));S=Pa}S||(S=Jq[la])}1==ab?(G=G.Qa(D,1),S=G&128?S+("-"+r(-(G<<24>>24),2)):S+("+"+r(G,2))):2==ab&&(S&&(S+="+"),D.oc?(G=G.oa(D,4),S+=r(G)):(G=G.na(D,2),S+=r(G,4)));S="["+S+"]";if(1==ga){G="";C&=15;4==C&&(C=D.Rb?5:3);switch(C){case 7:G="FAR";break;case 1:G="BYTE";break;case 3:if(L){G="INT16";break}G="WORD";
break;case 5:G="DWORD";break;case 11:if(L){G="INT32";break}case 11:G="REAL32";break;case 12:if(L){G="INT64";break}case 12:G="REAL64";break;case 13:G="REAL80";break;case 14:G="BCD80"}G&&(S=G+" "+S)}}else S=zr(G,la,C,D);C=S}else C=160==G?zr(a,g&7,D,b):zr(a,g>>3&7,D,b);else if(16==G)C="1";else if(G)32==G?(b.oc?(C=8,D=a.oa(b,4)):(C=4,D=a.na(b,2)),C="["+r(D,C)+"]"):48==G?(C=1==L?a.Qa(b,1)<<24>>24:a.tb(b,!0),D=b.Ra+C&(b.Rb?-1:65535),C=r(D,b.Rb?8:4),D=Ar(a,wq(a,D,b.Z)),D[0]&&(C+=" ("+D[0]+")")):96==G?C=
9==L?"ST":10==L?"ST("+(g&7)+")":zr(a,(D&3840)>>8,D,b):112==G?C=zr(a,(D&3840)>>8,192,b):64==G?C="DS:[SI]":80==G&&(C="ES:[DI]");else{C=a;L=D;G=b;D=" ";switch(L&15){case 1:L&12288&&(D=r(C.Qa(G,1),2));break;case 2:D=r(C.Qa(G,1)<<24>>24,G.Rb?8:4);break;case 4:if(G.Rb){D=r(C.oa(G,4));break}case 3:D=r(C.na(G,2),4);break;case 7:G=wq(C,C.tb(G,!0),C.na(G,2),null,G.type,G.Rb,G.oc);D=dr(G);C=Ar(C,G);C[0]&&(D+=" ("+C[0]+")");break;default:D="imm("+v(L)+")"}C=D}if(!C||!C.length){t="INVALID";break}0<t.length&&(t+=
",");t+=C||"???"}}}g="";k=dr(e)+" ";if(-1!==e.Ea&&-1!==b.Ea){do if(g+=r(a.Qa(e,1),2),null==e.Ea)break;while(e.Ea!=b.Ea)}k+=pa(g,e.oc?24:16);k+=pa(n,8);t&&(k+=" "+t);a.F.ja<Hq[f]&&(c=Hq[f]+" CPU only");c&&A&&(k=pa(k,e.oc?74:56)+";"+c,k=a.F.la.Xe?k+("cycles="+cd(a.F).toString()+" cs="+r(a.F.Y.Lf)):k+(null!=d?"="+d.toString():""));Br(b,A,h);return k}
",");t+=C||"???"}}}g="";k=dr(e)+" ";if(-1!==e.Fa&&-1!==b.Fa){do if(g+=r(a.Qa(e,1),2),null==e.Fa)break;while(e.Fa!=b.Fa)}k+=pa(g,e.oc?24:16);k+=pa(n,8);t&&(k+=" "+t);a.F.ja<Hq[f]&&(c=Hq[f]+" CPU only");c&&A&&(k=pa(k,e.oc?74:56)+";"+c,k=a.F.la.Xe?k+("cycles="+cd(a.F).toString()+" cs="+r(a.F.Y.Lf)):k+(null!=d?"="+d.toString():""));Br(b,A,h);return k}
function zr(a,b,c,d){var e=c&240;if(192==e){if(5<b||4<=b&&80386>a.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return Iq[b]}
function Cr(a,b){switch(b){case "V":a=Cf(a.F);break;case "D":a=a.F.ca&1024;break;case "I":a=a.F.ca&512;break;case "T":a=a.F.ca&256;break;case "S":a=Bf(a.F);break;case "Z":a=Af(a.F);break;case "A":a=zf(a.F);break;case "P":a=yf(a.F);break;case "C":a=xf(a.F);break;default:a=0}return b+(a?"1":"0")+" "}function Tq(a){return r(a,a&-65536?8:4)}function Dr(a,b){8<=b&&15>=b&&4<a.Ja&&(b+=16);var c=Iq[b];32==b&&80286==a.F.ja&&(c="MS");return c+"="+nr(a,b)+" "}
function Er(a,b,c){return b.kc+"="+r(b.Z,4)+(c?"["+r(b.Aa,a.Da)+","+Tq(b.Ta)+"]":"")}function Fr(a,b,c,d,e){return b+"="+(null!=c?r(c,4):"")+"["+r(d,a.Da)+","+r(e-d,4)+"]"}
function Gr(a,b){var c;void 0===b&&(b=er(a));c=Dr(a,8)+Dr(a,11)+Dr(a,9)+Dr(a,10)+(4<a.Ja?"\n":"")+Dr(a,12)+Dr(a,13)+Dr(a,14)+Dr(a,15)+"\n"+Er(a,a.F.ta,b)+" "+Er(a,a.F.vb,b)+" "+Er(a,a.F.Xa,b)+" ";if(b){var d="TR="+r(a.F.Sa.Z,4),e=a.ga,e="A20="+(e.X||e.Dg!=e.Gb?"OFF ":"ON ");80386>a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+Er(a,a.F.wa,b)+" ";80386<=a.F.ja&&(e+="\n",c+=Er(a,a.F.Nb,b)+" "+Er(a,a.F.Ob,b)+"\n");c+=Fr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+Fr(a,"GD",null,a.F.Ec,a.F.zd)+" "+Fr(a,"ID",
null,a.F.Mc,a.F.Sd)+" ";c=c+(d+" "+e)+Dr(a,32);80386<=a.F.ja&&(c+=Dr(a,34)+Dr(a,35))}else 80386<=a.F.ja&&(c+=Er(a,a.F.Nb,b)+" "+Er(a,a.F.Ob,b)+" ");return c+=Dr(a,23)+Cr(a,"V")+Cr(a,"D")+Cr(a,"I")+Cr(a,"T")+Cr(a,"S")+Cr(a,"Z")+Cr(a,"A")+Cr(a,"P")+Cr(a,"C")}l.lj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function fm(a,b,c,d,e,f,g,h){var k={},m=[],n;for(n in h){var t=h[n];"number"==typeof t&&(h[n]=t={o:t});var q=t.o,A=t.s,F=t.a;if(void 0!==q){void 0!==A&&(k.Ra=q,k.Z=A,k.Ea=null,a.cc(k),(k.Ea&-65536)==(a.ga.Dg&-65536)&&(k.Ea&=1048575),t.p=k.Ea);var A=m,q=[q>>>0,n],C=sa(A,q,a.lj);0>C&&A.splice(-(C+1),0,q)}F&&(t.a=F.replace(/''/g,'"'))}a.N.push({jg:b,dn:c,Z:d,Ra:e,Ea:f,Vm:g,Qd:h,Xi:m})}
function br(a,b,c){for(var d=0;d<a.N.length;d++){var e=a.N[d];if(!b||e.jg==b)if(b&&c==e.dn||!b&&c==e.Z){a.N.splice(d,1);break}}}function Ar(a,b,c){for(var d=[],e=b.Ra>>>0,f=a.cc(b)>>>0,g=0;g<a.N.length;g++){var h=a.N[g],k=h.Z,m=h.Ra>>>0,n=h.Ea;null!=n&&(n>>>=0);var t=h.Vm;48==k&&(k=40);if(k==b.Z&&e>=m&&e<m+t||null!=n&&f>=n&&f<n+t){b=sa(h.Xi,[e],a.lj);0<=b?Hr(a,g,b,d):c&&(b=~b,Hr(a,g,b-1,d),Hr(a,g,b,d));break}}!d.length&&(a=a.ga.xj(f,!0))&&(d.push(a),d.push(f));return d}
function fm(a,b,c,d,e,f,g,h){var k={},m=[],n;for(n in h){var t=h[n];"number"==typeof t&&(h[n]=t={o:t});var q=t.o,A=t.s,F=t.a;if(void 0!==q){void 0!==A&&(k.Ra=q,k.Z=A,k.Fa=null,a.cc(k),(k.Fa&-65536)==(a.ga.Dg&-65536)&&(k.Fa&=1048575),t.p=k.Fa);var A=m,q=[q>>>0,n],C=sa(A,q,a.lj);0>C&&A.splice(-(C+1),0,q)}F&&(t.a=F.replace(/''/g,'"'))}a.N.push({jg:b,dn:c,Z:d,Ra:e,Fa:f,Vm:g,Qd:h,Xi:m})}
function br(a,b,c){for(var d=0;d<a.N.length;d++){var e=a.N[d];if(!b||e.jg==b)if(b&&c==e.dn||!b&&c==e.Z){a.N.splice(d,1);break}}}function Ar(a,b,c){for(var d=[],e=b.Ra>>>0,f=a.cc(b)>>>0,g=0;g<a.N.length;g++){var h=a.N[g],k=h.Z,m=h.Ra>>>0,n=h.Fa;null!=n&&(n>>>=0);var t=h.Vm;48==k&&(k=40);if(k==b.Z&&e>=m&&e<m+t||null!=n&&f>=n&&f<n+t){b=sa(h.Xi,[e],a.lj);0<=b?Hr(a,g,b,d):c&&(b=~b,Hr(a,g,b-1,d),Hr(a,g,b,d));break}}!d.length&&(a=a.ga.xj(f,!0))&&(d.push(a),d.push(f));return d}
function Hr(a,b,c,d){var e={},f=a.N[b].Xi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.N[b].Qd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function Ir(a){a.Gf&&(a.Gf.value="")}
function Jr(a,b){if("?"==b)a.O("frequency commands:"),a.O("\tclear\tclear all frequency counts");else{var c=0;if(a.W)if("clear"==b){for(b=0;b<a.W.length;b++)a.W[b]=[b,0];a.O("frequency data cleared");c++}else if(void 0!==b)a.O("unknown frequency command: "+b),c++;else{var d=a.W.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],f=d[b][1];f&&(a.O((Eq[a.Ga[e][0]]+" ").substr(0,5)+" ("+u(e)+"): "+f+" times"),c++)}}c||a.O("no frequency data available")}}
function Kr(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return uq(a)||a.O("no variables"),!0;if(!c[2])return uq(a,c[1]);if(!c[3])return delete a.ya[c[1]],!0;b=pq(a,c[3]);return void 0!==b?(a.ya[c[1]]=b,!0):!1}a.O("invalid assignment:"+b);return!1}
@ -801,9 +801,9 @@ a.O("ST"+f+": "+pa(e[2].toFixed(15),24,!0)+" "+r(e[4])+","+r(e[3])+" ["+e[0]+"
-65536|g&65535);break;case "BP":a.F.P=a.F.P&-65536|g&65535;break;case "SI":a.F.K=a.F.K&-65536|g&65535;break;case "DI":a.F.J=a.F.J&-65536|g&65535;break;case "DS":Ad(a.F,g);break;case "ES":Bd(a.F,g);break;case "SS":ud(a.F,g);break;case "CS":sf(a.F,g);a.aa=wq(a,M(a.F),a.F.wa.Z);break;case "IP":case "EIP":O(a.F,g);a.aa=wq(a,M(a.F),a.F.wa.Z);break;case "PC":case "PS":Dd(a.F,g);break;case "C":g?Ef(a.F):Ff(a.F);break;case "P":g?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&=-3,e.ca&=-5);break;case "A":g?
Mf(a.F):Kf(a.F);break;case "Z":g?Nf(a.F):Lf(a.F);break;case "S":g?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":g?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":g?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":g?Gf(a.F):Hf(a.F);break;default:var k=!0;if(80286<=a.F.ja)switch(k=!1,h){case "MS":Of(a.F,g);break;case "TR":-1===a.F.Sa.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.F.ja)switch(k=!1,h){case "EAX":a.F.G=g;break;case "EBX":a.F.H=g;break;
case "ECX":a.F.I=g;break;case "EDX":a.F.M=g;break;case "ESP":I(a.F,g);break;case "EBP":a.F.P=g;break;case "ESI":a.F.K=g;break;case "EDI":a.F.J=g;break;case "FS":a.F.Nb.load(g);break;case "GS":a.F.Ob.load(g);break;case "CR0":a.F.$a=g;uj.call(a.F,g);break;case "CR2":a.F.se=g;break;case "CR3":a.F.Od=g;Fd.call(a.F,g);break;default:k=!0}}if(k){a.O("unknown register: "+e);return}}if(!f){a.O("invalid value: "+b);return}ad(a.F);a.O("updated registers:")}}a.O(Gr(a,d));c&&(a.aa=wq(a,M(a.F),a.F.wa.Z),rr(a,dr(a.aa)))}}
function Nr(a,b){b=qa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(or(a,c[2])):pq(a,b,!0)}function Or(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ra=e;b.Ea=null;var h=yr(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.Ra=f;return d}function Pr(a,b,c){var d="t"!=b;c=rq(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Oa(c,function(){return vb(a,!0)&&a.wf(e,d,!1)},function(){ad(a.F);vb(a,!1)})}
function Nr(a,b){b=qa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(or(a,c[2])):pq(a,b,!0)}function Or(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ra=e;b.Fa=null;var h=yr(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.Ra=f;return d}function Pr(a,b,c){var d="t"!=b;c=rq(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Oa(c,function(){return vb(a,!0)&&a.wf(e,d,!1)},function(){ad(a.F);vb(a,!1)})}
function Br(a,b,c){if(a.jh=b)null!=a.sj&&(a.Rb=a.sj),null!=a.rj&&(a.oc=a.rj),a.sj=a.Rb,a.rj=a.oc;a.Ve=c||0}
function rr(a,b,c,d){if(b=kr(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=kr(a,c,!0);if(!d||d.Ra<b.Ra)return;e=d.Ra-b.Ra;if(256<e){a.O("range too large");return}d=-1}c=0;var f;for(Br(b,!0);0<e&&d--;){f=wb(a,!1)||a.U?a.ea:null;var g=null!=f?"cycles":null,h=Ar(a,b),k=b.Ea;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=yr(a,b,g,f);b.jh||d||d++;a.O(f);a.aa=b;e-=b.Ea-k;c++}}}
function rr(a,b,c,d){if(b=kr(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=kr(a,c,!0);if(!d||d.Ra<b.Ra)return;e=d.Ra-b.Ra;if(256<e){a.O("range too large");return}d=-1}c=0;var f;for(Br(b,!0);0<e&&d--;){f=wb(a,!1)||a.U?a.ea:null;var g=null!=f?"cycles":null,h=Ar(a,b),k=b.Fa;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=yr(a,b,g,f);b.jh||d||d++;a.O(f);a.aa=b;e-=b.Fa-k;c++}}}
l.Ng=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(qa(a.substring(d,f))),d=f+1}}return b};
function xr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.va&&(a.O("ended assemble at "+dr(a.ua)),a.aa=a.ua,a.va=!1),b="";else if(!c){var e=">> ";a.F.$a&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(yb(a)&&0<b.length){a.va&&(b="a "+dr(a.ua)+" "+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 n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var t=
kr(a,g[1],!0);if(t)if(a.ua=t,void 0===g[2])a.O("begin assemble at "+dr(t)),a.va=!0,ad(a.F);else{var q;a.O("not supported yet");q=[];if(q.length){for(var A=0;A<q.length;A++)a.qc(t,q[A],1);a.O(yr(a,a.ua))}}break;case "b":a:{var F=g[0],C=g[1],D=b;if("?"==C)a.O("breakpoint commands:"),a.O("\tbi [p]\ttoggle break on input port [p]"),a.O("\tbo [p]\ttoggle break on output port [p]"),a.O("\tbp [a]\tset exec breakpoint at addr [a]"),a.O("\tbr [a]\tset read breakpoint at addr [a]"),a.O("\tbw [a]\tset write breakpoint at addr [a]"),
@ -812,14 +812,14 @@ a.B,ga)||cr(a,a.ra,ga)||cr(a,a.fa,ga)||a.O("breakpoint missing: "+dr(ga)):"i"==L
(Ka&&(Ka+=","),Ka+=ab);Ka+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");Ka.length&&a.O("dump extension commands:\n\t"+Ka)}else if("state"==Ja){var Vb=Qr(a.X,!0);"console"==Da?console.log(Vb):
(Ir(a),a.O(Vb))}else if("symbols"==Ja)for(var Pa=0;Pa<a.N.length;Pa++){var Ud=a.N[Pa],Rc;for(Rc in Ud.Qd)if("."!=Rc.charAt(0)){var Vd=Ud.Qd[Rc],Ge=Vd.o;if(void 0!==Ge){var Wd=Vd.s;void 0===Wd&&(Wd=Ud.Z);var He=Ud.Qd[Rc].l;He&&(Rc=He);a.O(Uq(Ge,Wd)+" "+Rc)}}}else{if("ds"==la||"dg"==la||"dl"==la)la="d",S=[la,"desc",Ja];"d"==la&&"page"==Ja&&(la="dp",S.shift());if("dp"==la){S.shift();var hi=S[0];if(hi){var Re=a.cc(kr(a,hi));if(-1===Re)a.O("invalid address: "+hi);else{var $d,za=null;if(80386<=a.F.ja){var ae=
a.ga,za={};za.Jk=(Re&-4194304)>>>20;za.$i=a.F.Od+za.Jk;za.yb=ae.sa[(za.$i&ae.Gb)>>>ae.La];za.Aj=za.yb.Md(za.Jk);za.Kk=(Re&4190208)>>>10;za.aj=(za.Aj&-4096)+za.Kk;za.zb=ae.sa[(za.aj&ae.Gb)>>>ae.La];za.Bj=za.zb.Md(za.Kk);za.nl=(za.Bj&-4096)+(Re&4095)}if($d=za){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var od="%"+r(Re),od=od+(" %%"+mr($d.$i,$d.Aj)),od=od+(" %%"+mr($d.aj,$d.Bj,!0)),
od=od+(" %%"+r($d.nl));a.O(od)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==la){if("disk"==Ja){S[0]="l";S[1]="json";Mr(a,S);break a}for(ab in Eb)if(S[1]==ab){var yn=a.cb[ab];yn?(S.shift(),S.shift(),yn(S)):a.O("no dump registered for "+Ja);break a}Ja||(la=a.Cc||"db")}else a.Cc=la;if("dh"==la){var zn=Ja,An=Da,Bn="",Cn=0,Zb=a.Fa,sc=a.ia;if(sc.length){var Lb=+zn||a.Ub,Se=+An||10;isNaN(Lb)?Lb=Se:Bn="more ";Lb>sc.length&&(a.O("note: only "+sc.length+" available"),Lb=sc.length);
Zb-=Lb;0>Zb&&(null==sc[sc.length-1].Z?(Lb=Zb+Lb,Zb=0):Zb+=sc.length);var ii=[];"call"==An&&(Se=1E5,ii=["CALL"]);for(void 0!==zn&&a.O(Lb+" instructions earlier:");0<Se&&Zb!=a.Fa;){var pd=sc[Zb++];if(null==pd.Z)break;var Te=wq(a,pd.Ra,pd.Z,pd.Ea,pd.type,pd.Rb,pd.oc),is=Lb--,Dn=yr(a,Te,"history",is);(!ii.length||0<=Dn.indexOf(ii[0]))&&a.O(Dn);Te.Ve&&(Zb+=Te.Ve,Se-=Te.Ve,Lb-=Te.Ve);Zb>=sc.length&&(Zb=0);a.Ub=Lb;Cn++;Se--}}Cn||(a.O("no "+Bn+"history available"),a.Ub=void 0)}else if("di"==la){S.shift();
var ji=S[0];if(ji){var Ue=rq(a,ji);if(void 0===Ue||0>Ue||255<Ue)a.O("invalid vector: "+ji);else{var En="&",Fn=!!(a.F.$a&1),Gn=!1,ng=a.F.Mc+(Ue<<(Fn?3:2)),Hn=a.F.na(ng+0),js=a.F.na(ng+2);Fn&&(En="#",a.F.na(ng+4)&2048&&(Gn=!0,Hn|=a.F.na(ng+6)<<16));a.O("dumpIDT("+v(Ue)+"): "+En+r(js,4)+":"+r(Hn,Gn?8:4))}}else a.O("no IDT vector")}else if("dt"==la)S.shift(),a.O("no information");else{var be=kr(a,Ja);if(be&&(null!=be.Z||null!=be.Ea)){var og=0;Da&&("l"==Da.charAt(0)&&(Da=Da.substr(1)||Wa),og=rq(a,Da)>>>
od=od+(" %%"+r($d.nl));a.O(od)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==la){if("disk"==Ja){S[0]="l";S[1]="json";Mr(a,S);break a}for(ab in Eb)if(S[1]==ab){var yn=a.cb[ab];yn?(S.shift(),S.shift(),yn(S)):a.O("no dump registered for "+Ja);break a}Ja||(la=a.Cc||"db")}else a.Cc=la;if("dh"==la){var zn=Ja,An=Da,Bn="",Cn=0,Zb=a.Ea,sc=a.ia;if(sc.length){var Lb=+zn||a.Ub,Se=+An||10;isNaN(Lb)?Lb=Se:Bn="more ";Lb>sc.length&&(a.O("note: only "+sc.length+" available"),Lb=sc.length);
Zb-=Lb;0>Zb&&(null==sc[sc.length-1].Z?(Lb=Zb+Lb,Zb=0):Zb+=sc.length);var ii=[];"call"==An&&(Se=1E5,ii=["CALL"]);for(void 0!==zn&&a.O(Lb+" instructions earlier:");0<Se&&Zb!=a.Ea;){var pd=sc[Zb++];if(null==pd.Z)break;var Te=wq(a,pd.Ra,pd.Z,pd.Fa,pd.type,pd.Rb,pd.oc),is=Lb--,Dn=yr(a,Te,"history",is);(!ii.length||0<=Dn.indexOf(ii[0]))&&a.O(Dn);Te.Ve&&(Zb+=Te.Ve,Se-=Te.Ve,Lb-=Te.Ve);Zb>=sc.length&&(Zb=0);a.Ub=Lb;Cn++;Se--}}Cn||(a.O("no "+Bn+"history available"),a.Ub=void 0)}else if("di"==la){S.shift();
var ji=S[0];if(ji){var Ue=rq(a,ji);if(void 0===Ue||0>Ue||255<Ue)a.O("invalid vector: "+ji);else{var En="&",Fn=!!(a.F.$a&1),Gn=!1,ng=a.F.Mc+(Ue<<(Fn?3:2)),Hn=a.F.na(ng+0),js=a.F.na(ng+2);Fn&&(En="#",a.F.na(ng+4)&2048&&(Gn=!0,Hn|=a.F.na(ng+6)<<16));a.O("dumpIDT("+v(Ue)+"): "+En+r(js,4)+":"+r(Hn,Gn?8:4))}}else a.O("no IDT vector")}else if("dt"==la)S.shift(),a.O("no information");else{var be=kr(a,Ja);if(be&&(null!=be.Z||null!=be.Fa)){var og=0;Da&&("l"==Da.charAt(0)&&(Da=Da.substr(1)||Wa),og=rq(a,Da)>>>
0,65536<og&&(og=65536));for(var Ve="",ce="dd"==la?4:"dw"==la?2:1,pg=ce*og||128,ks=pg+15>>4||1;ks--&&0<pg;){var We=0,ki=0,Xe,li="",In="",Ja=dr(be);for(Xe=4==ce?16:a.Ya;0<Xe&&0<pg;Xe--){var qg=a.Qa(be,1),We=We|qg<<(ki++<<3);ki==ce&&(li+=8==a.Ya?ia(We,3*ce):r(We,2*ce),li+=1==ce?9==Xe?"-":" ":" ",We=ki=0);In+=32<=qg&&128>qg?String.fromCharCode(qg):".";pg--}Ve&&(Ve+="\n");Ve+=Ja+" "+li+(0==Xe?" "+In:"")}Ve&&a.O(Ve);a.Db=be}}}}}break;case "e":if("else"==g[0])break;var rg=1,Jn=255,Kn=a.Qa,Ln=a.qc;"ew"==
g[0]&&(rg=2,Jn=65535,Kn=a.na,Ln=a.jb);var Mn=rg<<1,Nn=g[1];if(null==Nn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var sg=kr(a,Nn);if(sg)for(var tg=2;tg<g.length;tg++){var Ye=pq(a,g[tg]);if(void 0===Ye){a.O("unrecognized value: "+g[tg]);break}Ye&~Jn&&a.O("warning: "+r(Ye)+" exceeds "+rg+"-byte value");var ls=Kn.call(a,sg);a.O("changing "+dr(sg)+" from "+r(ls,Mn,!0)+" to "+r(Ye,Mn,!0));Ln.call(a,sg,Ye,rg)}}break;case "f":Jr(a,
g[1]);break;case "g":a:{var On=g[1],ms=b;"gt"==g[0]&&(a.fb=!0);if(void 0!==On){var mi=kr(a,On,!0);if(!mi)break a;lr(a,mi,ms);a.Rd(a.B,mi,!0)}a.Ne(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":a:{var ni;if(a.la.Ib)ni="halting",a.Wb();else{if(wb(a,!0))break a;ni="already halted"}c||a.O(ni)}break;case "i":if("if"==g[0]){var oi;var Ze=b.substr(2),Ze=qa(Ze);pq(a,Ze)?(c||a.O("true: "+Ze),oi=!0):(c||a.O("false: "+Ze),oi=!1);oi||(d=!1);break}if("int"==g[0]){var ug;a:switch(rq(a,
g[1])){case 19:pk(a,19,a.F.Ha,!0);a.Ca=a.pa;ug=!0;break a;case 33:pk(a,33,a.F.Ha,!0);a.Ca=a.pa;ug=!0;break a;default:ug=!1}ug||(d=!1);break}var pi=g[1];if(pi&&"?"!=pi){var qi=rq(a,pi);if(void 0!==qi){var ns=rc(a.ga,qi,1);a.O(v(qi)+": "+u(ns))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var os=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var ri=
0,Pn=a.F.wa.Z,$e=wq(a),Uc=wq(a,J(a.F),a.F.ta.Z);for(a.O("stack trace for "+dr(Uc));10>ri;){for(var tc=null,ps=256;Uc.Ra>>>0<a.F.Sg>>>0;){$e.Ra=a.tb(Uc,!0);if(null==Uc.Ea||!ps--)break;$e.Z=Pn;if(tc=Or(a,$e))break;$e.Z=a.tb(Uc);if(tc=Or(a,$e,!0)){Pn=a.tb(Uc,!0);0<tc.indexOf("INT")&&a.tb(Uc,!0);break}}if(!tc||null==tc)break;var Qn=null;if("ks"==os){var Rn=tc.match(/[0-9A-F]+$/);Rn&&(Qn=Lr(a,Rn[0]))}tc=pa(tc,50)+" ;"+(Qn||"stack="+dr(Uc));a.O(tc);ri++}ri||a.O("no return addresses found")}break;case "l":if("ln"==
0,Pn=a.F.wa.Z,$e=wq(a),Uc=wq(a,J(a.F),a.F.ta.Z);for(a.O("stack trace for "+dr(Uc));10>ri;){for(var tc=null,ps=256;Uc.Ra>>>0<a.F.Sg>>>0;){$e.Ra=a.tb(Uc,!0);if(null==Uc.Fa||!ps--)break;$e.Z=Pn;if(tc=Or(a,$e))break;$e.Z=a.tb(Uc);if(tc=Or(a,$e,!0)){Pn=a.tb(Uc,!0);0<tc.indexOf("INT")&&a.tb(Uc,!0);break}}if(!tc||null==tc)break;var Qn=null;if("ks"==os){var Rn=tc.match(/[0-9A-F]+$/);Rn&&(Qn=Lr(a,Rn[0]))}tc=pa(tc,50)+" ;"+(Qn||"stack="+dr(Uc));a.O(tc);ri++}ri||a.O("no return addresses found")}break;case "l":if("ln"==
g[0]){Lr(a,g[1],!0);break}Mr(a,g);break;case "m":if("mouse"==g[0]){var si=g[1],vg=g[2];if(a.V){var Sn=1;"-"==vg.charAt(0)&&(Sn=-1,vg=vg.substr(1));var qd=rq(a,vg,si);if(void 0!==qd)switch(qd=qd*Sn|0,si){case "x":a.V.Kf(qd,0);break;case "y":a.V.Kf(0,qd);break;case "click":a.V.he(qd,!0);a.V.he(qd,!1);break;default:a.O("unknown action: "+si)}}else a.O("no mouse");break}a:{var uc,vc=null,Ma=g[1];"?"==Ma&&(Ma=void 0);if(void 0!==Ma){var rd=0;if("all"==Ma)rd=1610481663,Ma=null;else if("on"==Ma)vc=!0,Ma=
null;else if("off"==Ma)vc=!1,Ma=null;else{"keys"==Ma&&(Ma="key");"kbd"==Ma&&(Ma="keyboard");for(uc in Eb)if(Ma==uc){rd=Eb[uc];vc=!!(a.wc&rd);break}if(!rd){a.O("unknown message category: "+Ma);break a}}rd&&("on"==g[2]?(a.wc|=rd,vc=!0):"off"==g[2]&&(a.wc&=~rd,vc=!1))}var qs=0,af="";for(uc in Eb)if(!Ma||Ma==uc){var rs=!!(a.wc&Eb[uc]);if(null===vc||vc==rs)af&&(af+=","),++qs%10||(af+="\n\t"),"key"==uc&&(uc="keys"),af+=uc}void 0===Ma&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.O((null!==vc?vc?"messages on: ":"messages off: ":"message categories:\n\t")+(af||"none"));yq(a)}break;case "o":var ti=g[1],ss=g[2];if(ti&&"?"!=ti){var ui=rq(a,ti,"port #"),vi=rq(a,ss);void 0!==ui&&void 0!==vi&&(zc(a.ga,ui,1,vi),a.O(v(ui)+": "+u(vi)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Nr(a,b.substr(5));break}var Tn="pr"==g[0]?1:0,de=1+Tn;if(a.U)a.O("step in progress");