From da2f8ddda25ae8c8663c3ebbc5122a9714c649d8 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Sat, 18 Jul 2015 15:54:11 -0700 Subject: [PATCH] Instruction history buffer tweaks --- blog/2015/07/17/README.md | 19 ++-- docs/pcjs/demos/pc-dbg.js | 162 +++++++++++++++++------------------ modules/pcjs/lib/debugger.js | 8 +- 3 files changed, 101 insertions(+), 88 deletions(-) diff --git a/blog/2015/07/17/README.md b/blog/2015/07/17/README.md index 4b355d5fa..535dd8a72 100644 --- a/blog/2015/07/17/README.md +++ b/blog/2015/07/17/README.md @@ -58,12 +58,14 @@ Then I ran into a couple of Windows 95 oddities. First, some kernel initializat executed an invalid opcode (0x0F,0xFF) and expected its DPMI exception (0x06) handler to field the exception; that was fixed by flagging the opcode as genuinely invalid. -By default, PCjs marks opcodes as invalid *only* if they are truly invalid. PCjs considers the vast -majority of unused/undocumented opcodes to be merely "undefined" until we've seen them in the wild. An instruction will -be marked invalid if we either discover that real hardware generates an Invalid Opcode exception *or* that real software -expects it to. Here, it was the latter. +> ** SIDEBAR ** -> SIDEBAR: Don't be confused that Intel also refers to the Invalid Opcode exception (0x06) as a #UD or "undefined" +> By default, PCjs marks opcodes as invalid *only* if they have been confirmed invalid. PCjs considers the vast +majority of unused/undocumented opcodes to be merely "undefined" until I've seen them in the wild. An instruction will +be marked invalid if I either discover that real hardware treats it as an Invalid Opcode (by throwing the exception) +*or* that real software expects it to. For opcode 0x0F,0xFF, it was the latter. + +> Don't be confused that Intel also refers to the Invalid Opcode exception (0x06) as the #UD ("Undefined") opcode exception. Every opcode that triggers that exception is, by definition, defined: it's defined as invalid. I consider it a misnomer to refer to any invalid instruction as "undefined". @@ -75,7 +77,12 @@ With all of the above changes in place, PCjs v1.18.4 is able to run Windows 95 S completion. If you want to give it a spin yourself, start the machine below (click the "Run" button) and once it has finished booting, run SETUP from drive B, where the first Windows 95 diskette is already loaded. -NOTE: This is a pre-release version of Windows 95, as I don't currently have the RTM version on diskette. +If, when it crashes (and it will), you're interested in examining the instructions that were executed prior to the +crash, use the "m int on" Debugger command prior to starting the machine. That will trigger allocation of the instruction +history buffer, which you can then dump at any time using the Debugger's "dh" command. + +NOTE: The diskette images contain a pre-release version of Windows 95, as I don't currently have the RTM version on +diskette. To be continued.... diff --git a/docs/pcjs/demos/pc-dbg.js b/docs/pcjs/demos/pc-dbg.js index fb4170382..8bf785745 100644 --- a/docs/pcjs/demos/pc-dbg.js +++ b/docs/pcjs/demos/pc-dbg.js @@ -22,27 +22,27 @@ function m(a,b,c,d,e,g,l){a.ea&&(!0===l?l=0:null==l&&(l=a.Ub),jb(a.ea,a,b,c,d,e, var qb="undefined"!==typeof ArrayBuffer;function rb(a){Ta.call(this,"Panel",a,rb);this.V=this.Y=-1}bb(rb);function sb(a,b,c,d){this.A=[a,b,c,d];this.B=null;void 0===a&&(this.A[0]=256*Math.random()|0,this.A[1]=256*Math.random()|0,this.A[2]=256*Math.random()|0,this.A[3]=255,this.B=null)}sb.prototype.toString=function(){this.B||(this.B="#"+h(this.A[0],2)+h(this.A[1],2)+h(this.A[2],2));return this.B};function tb(a,b,c,d){this.x=a;this.y=b;this.A=c;this.B=d} tb.prototype.contains=function(a,b){return a>=this.x&&a=this.y&&b=c>>2);d?(b=new tb(a.x,a.y,a.A,a.B*b/c|0),a.y+=b.B,a.B-=b.B):(b=new tb(a.x,a.y,a.A*b/c|0,a.B),a.x+=b.A,a.A-=b.A);return b}f=rb.prototype;f.Lb=function(a,b,c){return this.la&&this.la.Lb(a,b,c)||this.A&&this.A.Lb(a,b,c)||this.P&&this.P.Lb(a,b,c)||this.ea&&this.ea.Lb(a,b,c)?!0:this.parent.Lb.call(this,a,b,c)}; f.yc=function(a,b,c,d){this.la=a;this.va=b;this.A=c;this.ea=d;this.P=vb(a,"Keyboard")};f.dc=function(a,b){b||wb();return!0};f.cc=function(){return!0};f.Tc=function(){};function xb(a,b,c,d){a.B.Bf[a.B.Ni++]={mn:b,Zd:c,type:d};return ua(yb,b,c,0,d)}function zb(a,b){a.O.font=a.da;a.O.fillStyle=a.ua;a.O.fillText(b,a.U,a.Fa);a.U+=a.Ga}function wb(){for(var a=!1,b=ib(window.document,"pcjs","panel"),c=0;c=this.R?12:24>=this.R?14:15;this.Fb=1<>2;this.B=this.Fb-1;this.aa=this.Fa/this.Fb|0;this.da=this.aa-1;this.P=[];this.U=[];this.la=this.Y=!1;a=new n;this.ya=Array(this.aa);for(b=0;b=this.R?12:24>=this.R?14:15;this.Fb=1<>2;this.B=this.Fb-1;this.aa=this.Fa/this.Fb|0;this.da=this.aa-1;this.P=[];this.U=[];this.la=this.Y=!1;a=new n;this.ya=Array(this.aa);for(b=0;b>>a.Sa;0a.Fb?a.Fb:c;if(l&&l.size){if(l.type==d&&l.controller==e){if(b+c<=l.Oa)return l.me+=l.Oa-b,l.Oa=b,!0;if(b>=l.Oa+l.me){q=l.size-(b-p);q>c&&(q=c);l.me=b-l.Oa+q;c-=q;b=p+a.Fb;continue}}return Hb(1,b,c)}l=a.ya[g++]=new n(b,q,a.Fb,d,e);a.ea&&Ib(l,a.ea,b,a.Fb);c-=q;b=p+a.Fb}return 0>>this.Sa;0>>a.Sa;0>>=a.Sa;0>>a.Sa;0>>this.Sa].zc(a&this.B,a)}; +function Jb(a,b,c,d,e){for(var g=0,l=b>>>a.Sa;0>>this.Sa].zc(a&this.B,a)}; function Rb(a,b){var c=b&a.B,d=(b&a.O)>>>a.Sa;return c!=a.B?a.ya[d].Ai(c,b):a.ya[d++].Oe(c,b)|a.ya[d&a.da].Oe(0,b+1)<<8}f.Lc=function(a,b){this.ya[(a&this.O)>>>this.Sa].uc(a&this.B,b&255,a)};f.Jb=function(a,b){var c=a&this.B,d=(a&this.O)>>>this.Sa;c!=this.B?this.ya[d].zf(c,b&65535,a):(this.ya[d++].uc(c,b&255,a),this.ya[d&this.da].uc(0,b>>8&255,a+1))};function Sb(a,b,c){var d=b&a.B,e=(b&a.O)>>>a.Sa;d!=a.B?a.ya[e].Gi(d,c&65535,b):(a.ya[e++].yf(d,c&255,b),a.ya[e&a.da].yf(0,c>>8&255,b+1))} function Tb(a,b){if(void 0===b)return a.la=!a.la,a.la;void 0===a.P[b]&&(a.P[b]=[null,null,!1]);a.P[b][2]=!a.P[b][2];return a.P[b][2]}function Ub(a,b,c,d){void 0===d&&(d=0);for(var e in c){var g=a,l=+e+d,p=b,q=c[e];if(void 0!==q)for(var r=+e+d;r<=l;r++)void 0!==g.P[r]?ya("Input port "+ga(r)+" registered by "+g.P[r][0].id+", ignoring "+p.id):g.P[r]=[p,q,!1,!1]}} function Vb(a,b,c){var d=255,e=a.P[b];void 0!==e?(e[1]&&(c=e[1].call(e[0],b,c),void 0!==c&&(d=c)),a.ea&&a.la!=e[2]&&Wb(a.ea,b,d)):a.ea&&(jb(a.ea,a,b,null,c),a.la&&Wb(a.ea,b,d));return d}function Xb(a,b){if(void 0===b)return a.Y=!a.Y,a.Y;void 0===a.U[b]&&(a.U[b]=[null,null,!1]);a.U[b][2]=!a.U[b][2];return a.U[b][2]} function Yb(a,b,c,d){void 0===d&&(d=0);for(var e in c){var g=a,l=+e+d,p=b,q=c[e];if(void 0!==q)for(var r=+e+d;r<=l;r++)void 0!==g.U[r]?ya("Output port "+ga(r)+" registered by "+g.U[r][0].id+", ignoring "+p.id):g.U[r]=[p,q,!1,!1]}}function Zb(a,b,c,d){var e=a.U[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.ea&&a.Y!=e[2]&&$b(a.ea,b,c)):a.ea&&(jb(a.ea,a,b,c,d),a.Y&&$b(a.ea,b,c))}function Hb(a,b,c){ya("Memory block error ("+a+","+h(b)+","+h(c)+")");return!1}var ac; if(qb){var bc=new ArrayBuffer(2);(new DataView(bc)).setUint16(0,256,!0);ac=256===(new Uint16Array(bc))[0]}else ac=!1;var Nb=ac; -function n(a,b,c,d,e,g){this.id=cc+=2;this.ga=null;this.B=0;this.Oa=a;this.me=b;this.size=c||0;this.type=d||dc;this.V=d==Mb;this.controller=null;this.A=g;this.Za=this.Ui=!1;ec(this);if(c)if(e)this.controller=e,a=e.Yi(a),this.ga=a[0],this.B=a[1],this.dd(e.kh());else if(qb)this.da=new ArrayBuffer(c),this.Y=new DataView(this.da,0,c),this.O=new Uint8Array(this.da,0,c),this.ha=new Uint16Array(this.da,0,c>>1),this.ga=new Int32Array(this.da,0,c>>2),this.dd(Nb?Ob:Pb);else{this.ga=Array(c>>2);for(e=0;e>1),this.ha=new Int32Array(this.da,0,c>>2),this.dd(Nb?Ob:Pb);else{this.ha=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -n.prototype={constructor:n,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(qb)for(a=Array(this.size>>2),b=0;b>2),b=0;b> -8,c)},Ja:function(a,b,c){this.uc(a,b&255,c);this.uc(a+1,b>>8&255,c);this.uc(a+2,b>>16&255,c);this.uc(a+3,b>>>24,c)},Ta:function(a){return this.ga[a>>2]>>>((a&3)<<3)&255},Zb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ga[b]>>a;return 24>a?c&65535:c&255|(this.ga[b+1]&255)<<8},xb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ga[b];a&&(c=c>>>a|this.ga[b+1]<<32-a);return c},Oc:function(a,b){var c=a>>2,d=(a&3)<<3;this.ga[c]=this.ga[c]&~(255<>2,d=(a&3)<<3;24> -d?this.ga[c]=this.ga[c]&~(65535<>8);this.Za=!0},ed:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.ga[c]=b;this.Za=!0},Qa:function(a,b){this.ea&&oc(this.ea,b);return this.Oe(a,b)},Gd:function(a,b){this.ea&&(oc(this.ea,b)||oc(this.ea,b+1));return this.Ai(a,b)},kb:function(a,b){this.ea&&(oc(this.ea,b)||oc(this.ea,b+1)||oc(this.ea,b+2)||oc(this.ea, -b+3));return this.Ca(a,b)},qc:function(a,b,c){this.ea&&pc(this.ea,c);this.V?this.aa(a,b,c):this.yf(a,b,c)},td:function(a,b,c){this.ea&&(pc(this.ea,c)||pc(this.ea,c+1));this.V?this.aa(a,b,c):this.Gi(a,b,c)},fd:function(a,b,c){this.ea&&(pc(this.ea,this.Oa+a)||pc(this.ea,this.Oa+a+1)||pc(this.ea,this.Oa+a+2)||pc(this.ea,this.Oa+a+3));this.V?this.aa(a,b,c):this.Ma(a,b,c)},Wa:function(a,b){this.P.ga[this.R]|=this.la;this.U.ga[this.wa]|=this.la;return this.Fa.zc(a,b)},fc:function(a,b){this.P.ga[this.R]|= -this.la;this.U.ga[this.wa]|=this.la;return this.Fa.Jg(a,b)},yb:function(a,b){this.P.ga[this.R]|=this.la;this.U.ga[this.wa]|=this.la;return this.Fa.rd(a,b)},Pc:function(a,b,c){this.P.ga[this.R]|=this.la;this.U.ga[this.wa]|=this.na;this.Fa.uc(a,b,c)},ce:function(a,b,c){this.P.ga[this.R]|=this.la;this.U.ga[this.wa]|=this.na;this.Fa.zf(a,b,c)},hd:function(a,b,c){this.P.ga[this.R]|=this.la;this.U.ga[this.wa]|=this.na;this.Fa.Te(a,b,c)},ab:function(a,b){return(qc(this.A,b,!1)||this).zc(a,b)},gc:function(a, -b){return(qc(this.A,b,!1)||this).Jg(a,b)},Mb:function(a,b){return(qc(this.A,b,!1)||this).rd(a,b)},Uc:function(a,b,c){(qc(this.A,c,!0)||this).uc(a,b,c)},de:function(a,b,c){(qc(this.A,c,!0)||this).zf(a,b,c)},kd:function(a,b,c){(qc(this.A,c,!0)||this).Te(a,b,c)},Ra:function(a){return this.O[a]},vc:function(a){return this.O[a]},Nb:function(a){return this.Y.getUint16(a,!0)},Qb:function(a){return a&1?this.O[a]|this.O[a+1]<<8:this.ha[a>>1]},hb:function(a){return this.Y.getInt32(a,!0)},lb:function(a){return a& -3?this.O[a]|this.O[a+1]<<8|this.O[a+2]<<16|this.O[a+3]<<24:this.ga[a>>2]},pc:function(a,b){this.O[a]=b;this.Za=!0},Nc:function(a,b){this.O[a]=b;this.Za=!0},qe:function(a,b){this.Y.setUint16(a,b,!0);this.Za=!0},vd:function(a,b){a&1?(this.O[a]=b,this.O[a+1]=b>>8):this.ha[a>>1]=b;this.Za=!0},Vc:function(a,b){this.Y.setInt32(a,b,!0);this.Za=!0},gd:function(a,b){a&3?(this.O[a]=b,this.O[a+1]=b>>8,this.O[a+2]=b>>16,this.O[a+3]=b>>24):this.ga[a>>2]=b;this.Za=!0}}; +8,c)},Ja:function(a,b,c){this.uc(a,b&255,c);this.uc(a+1,b>>8&255,c);this.uc(a+2,b>>16&255,c);this.uc(a+3,b>>>24,c)},Ta:function(a){return this.ha[a>>2]>>>((a&3)<<3)&255},Zb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ha[b]>>a;return 24>a?c&65535:c&255|(this.ha[b+1]&255)<<8},xb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ha[b];a&&(c=c>>>a|this.ha[b+1]<<32-a);return c},Oc:function(a,b){var c=a>>2,d=(a&3)<<3;this.ha[c]=this.ha[c]&~(255<>2,d=(a&3)<<3;24> +d?this.ha[c]=this.ha[c]&~(65535<>8);this.Za=!0},ed:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.ha[c]=b;this.Za=!0},Qa:function(a,b){this.ea&&oc(this.ea,b);return this.Oe(a,b)},Gd:function(a,b){this.ea&&(oc(this.ea,b)||oc(this.ea,b+1));return this.Ai(a,b)},kb:function(a,b){this.ea&&(oc(this.ea,b)||oc(this.ea,b+1)||oc(this.ea,b+2)||oc(this.ea, +b+3));return this.Ca(a,b)},qc:function(a,b,c){this.ea&&pc(this.ea,c);this.V?this.aa(a,b,c):this.yf(a,b,c)},td:function(a,b,c){this.ea&&(pc(this.ea,c)||pc(this.ea,c+1));this.V?this.aa(a,b,c):this.Gi(a,b,c)},fd:function(a,b,c){this.ea&&(pc(this.ea,this.Oa+a)||pc(this.ea,this.Oa+a+1)||pc(this.ea,this.Oa+a+2)||pc(this.ea,this.Oa+a+3));this.V?this.aa(a,b,c):this.Ma(a,b,c)},Wa:function(a,b){this.P.ha[this.R]|=this.la;this.U.ha[this.wa]|=this.la;return this.Fa.zc(a,b)},fc:function(a,b){this.P.ha[this.R]|= +this.la;this.U.ha[this.wa]|=this.la;return this.Fa.Jg(a,b)},yb:function(a,b){this.P.ha[this.R]|=this.la;this.U.ha[this.wa]|=this.la;return this.Fa.rd(a,b)},Pc:function(a,b,c){this.P.ha[this.R]|=this.la;this.U.ha[this.wa]|=this.na;this.Fa.uc(a,b,c)},ce:function(a,b,c){this.P.ha[this.R]|=this.la;this.U.ha[this.wa]|=this.na;this.Fa.zf(a,b,c)},hd:function(a,b,c){this.P.ha[this.R]|=this.la;this.U.ha[this.wa]|=this.na;this.Fa.Te(a,b,c)},ab:function(a,b){return(qc(this.A,b,!1)||this).zc(a,b)},gc:function(a, +b){return(qc(this.A,b,!1)||this).Jg(a,b)},Mb:function(a,b){return(qc(this.A,b,!1)||this).rd(a,b)},Uc:function(a,b,c){(qc(this.A,c,!0)||this).uc(a,b,c)},de:function(a,b,c){(qc(this.A,c,!0)||this).zf(a,b,c)},kd:function(a,b,c){(qc(this.A,c,!0)||this).Te(a,b,c)},Ra:function(a){return this.O[a]},vc:function(a){return this.O[a]},Nb:function(a){return this.Y.getUint16(a,!0)},Qb:function(a){return a&1?this.O[a]|this.O[a+1]<<8:this.ga[a>>1]},hb:function(a){return this.Y.getInt32(a,!0)},lb:function(a){return a& +3?this.O[a]|this.O[a+1]<<8|this.O[a+2]<<16|this.O[a+3]<<24:this.ha[a>>2]},pc:function(a,b){this.O[a]=b;this.Za=!0},Nc:function(a,b){this.O[a]=b;this.Za=!0},qe:function(a,b){this.Y.setUint16(a,b,!0);this.Za=!0},vd:function(a,b){a&1?(this.O[a]=b,this.O[a+1]=b>>8):this.ga[a>>1]=b;this.Za=!0},Vc:function(a,b){this.Y.setInt32(a,b,!0);this.Za=!0},gd:function(a,b){a&3?(this.O[a]=b,this.O[a+1]=b>>8,this.O[a+2]=b>>16,this.O[a+3]=b>>24):this.ha[a>>2]=b;this.Za=!0}}; function rc(a,b){a.ea&&(b?0===--a.ua&&(a.uc=a.V?a.aa:a.yf,a.zf=a.V?a.aa:a.Gi,a.Te=a.V?a.aa:a.Ma):0===--a.pa&&(a.zc=a.Oe,a.Jg=a.Ai,a.rd=a.Ca))}function ec(a,b,c,d,e,g){a.Fa=b;a.P=c;a.R=d>>2;a.U=e;a.wa=g>>2;a.na=b?hc(sc|tc):0;a.la=b?hc(sc):0}function Ib(a,b,c,d){a.ea=b;a.pa=a.ua=0;uc(a.ea,c,d)}function mc(a,b,c){a.uc=!a.V&&b[3]||a.aa;a.zf=!a.V&&b[4]||a.Na;a.Te=!a.V&&b[5]||a.Ja;c&&(a.yf=b[3]||a.aa,a.Gi=b[4]||a.Na,a.Ma=b[5]||a.Ja)} function lc(a,b,c){a.zc=b[0]||a.Ea;a.Jg=b[1]||a.Ga;a.rd=b[2]||a.Ba;c&&(a.Oe=b[0]||a.Ea,a.Ai=b[1]||a.Ga,a.Ca=b[2]||a.Ba)}var kc=[],Qb=[n.prototype.Ta,n.prototype.Zb,n.prototype.xb,n.prototype.Oc,n.prototype.wd,n.prototype.ed],nc=[n.prototype.Qa,n.prototype.Gd,n.prototype.kb,n.prototype.qc,n.prototype.td,n.prototype.fd],jc=[n.prototype.Wa,n.prototype.fc,n.prototype.yb,n.prototype.Pc,n.prototype.ce,n.prototype.hd],ic=[n.prototype.ab,n.prototype.gc,n.prototype.Mb,n.prototype.Uc,n.prototype.de,n.prototype.kd]; if(qb)var Pb=[n.prototype.Ra,n.prototype.Nb,n.prototype.hb,n.prototype.pc,n.prototype.qe,n.prototype.Vc],Ob=[n.prototype.vc,n.prototype.Qb,n.prototype.lb,n.prototype.Nc,n.prototype.vd,n.prototype.gd]; @@ -52,7 +52,7 @@ function Bc(a){(!0===a.ma.bh||null===a.ma.bh&&!a.ea&&void 0===a.wa.run)&&a.je()} f.Tc=function(){this.la&&this.la.Bd&&this.la.Bd.Tc()}; function Ec(a){for(var b=0;b>>d.Sa;l=l+p-1>>>d.Sa;b.ah=0;for(b.Zd=0;c<=l;)p=d.ya[c],b.ah+=p.size,p.size&&(b.Hi.push(ua(yb,c,0,0,p.type)),b.Zd++),c++; a.B=b;l=0;a.B.Ni=0;a.B.Bf||(a.B.Bf=[]);p=-1;d=0;c=-1;for(b=0;b>e.shift,q=yb.el,g=(g&q.Mf)>>q.shift;if(e!=p||g!=c+1)(c=b-d)&&(l+=xb(a,d,c,p)),p=e,d=b;c=g}l+=xb(a,d,b-d,p);p=a.B.Ej!=l;a.B.Ej=l;if(p){p=new tb(0,0,a.R.width,a.R.height);a.B.Vg=[];d=a.B.Zd;for(l=0;l>1),e=c.y+(c.B>>1),g=c.B,c.A>1,d.Fa+=(d.aa>>1)-2,zb(d,p),d.ha&&(d.O.restore(),d.ha=!1)}}else zb(a,"This space intentionally left blank"); +d.B),c.fillStyle="string"==typeof e?e:e.toString(),c.fillRect(d.x,d.y,d.A,d.B),d=a,c=b,d.da=d.na,d.aa=d.pa,b=c.x+(c.A>>1),e=c.y+(c.B>>1),g=c.B,c.A>1,d.Fa+=(d.aa>>1)-2,zb(d,p),d.ga&&(d.O.restore(),d.ga=!1)}}else zb(a,"This space intentionally left blank"); a.context.drawImage(a.R,0,0,a.R.width,a.R.height,a.Qa,a.Ta,a.Ja,a.Ma);a.Ca=!1}}f.Mc=function(){this.Zb.length&&this.Zb[0].Mc()}; f.Lb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.wa[b]=c;c.onclick=function(){var a;if(a=d.la)if(a=d.la,a.ma.bc)a=!0;else{var b=null,c,p=cb(a.id);for(c=0;c>13,80386>a.A.qa||!(a.ext&64)?(a.sa=2,a.C=65535):(a.sa=4,a.C=-1),a.Zc=a.sa,a.ca=a.C)}else a.load=a.Vk,a.aj= a.Tk,a.rc=a.Bj,a.hc=a.Dj,a.Ya=a.sc=0,a.Wc=-1,a.bf=!1} function bd(a){this.qa=a.model||8088;var b=0;switch(this.qa){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}vc.call(this,a,b);this.de=61442;this.Vc=1792;this.ce=28672;this.Uc=4;this.pa=255;this.B=80386==this.qa?cd:80286==this.qa?dd:ed;this.da=fd;this.cf=gd;this.df=hd;this.ef=id;if(80186<=this.qa&&(this.da=fd.slice(),this.cf=gd.slice(),this.df=hd.slice(),this.pa=31,this.da[15]=jd,this.da[96]=kd,this.da[97]=ld,this.da[98]=md,this.da[99]=jd,this.da[100]=jd,this.da[101]=jd,this.da[102]= -jd,this.da[103]=jd,this.da[104]=nd,this.da[105]=od,this.da[106]=pd,this.da[107]=qd,this.da[108]=rd,this.da[109]=sd,this.da[110]=td,this.da[111]=ud,this.da[192]=xd,this.da[193]=yd,this.da[200]=zd,this.da[201]=Ad,this.da[241]=Bd,this.cf[7]=Cd,this.df[7]=Cd,80286<=this.qa)){this.de=2;this.Vc|=28672;this.Uc=0;this.da[15]=Dd;this.pc=Ed.slice();for(a=0;a>>20,g=a.Hd[(a.Vd+e&a.gc)>>>a.Sa],l=g.rd(e);if(!(l&1))return d||Pd.call(a,b,!1,c),null;if(!(l&4)&&3==a.xa.Ya)return d||Pd.call(a,b,!0,c),null;var p=(b&4190208)>>>10,l=a.Hd[((l&-4096)+p&a.gc)>>>a.Sa],q=l.rd(p);if(!(q&1||d))return d||Pd.call(a,b,!1,c),null;if(!(q&4)&&3==a.xa.Ya)return d||Pd.call(a,b,!0,c),null;c=a.Hd[((q&-4096)+(b&4095)&a.gc)>>>a.Sa];if(d)return c;d=new n(b&-4096,0,0,6);ec(d,c,g,e,l,p);b>>>=a.Sa;a.ya[b]=d;a.gd.push(b);return d}f=bd.prototype; f.reset=function(){this.ma.zb&&this.Pb();Nd(this);wc(this);this.ma.ad=!1}; -function Nd(a){a.F=0;a.D=0;a.G=0;a.H=0;a.ab=0;a.L=0;a.K=0;a.J=0;a.Ea=!1;a.ha=a.Ga=0;a.Wa=0;a.hd=0;a.rb=65520;a.Yc=0;a.Jd=1023;a.fa=a.He=0;a.Nb=a.Oc=a.Mb=a.Qb=0;a.kd=-1;a.xa=new Oc(a,Pc,"CS");a.tb=new Oc(a,2,"DS");a.cb=new Oc(a,2,"ES");a.Da=new Oc(a,3,"SS");t(a,0);Wc(a,0);80386<=a.qa&&(a.H=772,a.rb=16,a.vf=0,a.Ud=0,a.Vd=0,a.ff=Array(8),a.sf=Array(8),a.nc=new Oc(a,2,"FS"),a.oc=new Oc(a,2,"GS"));a.Pg=new Oc(a,0,"NULL");a.P=a.tb;a.R=a.Da;a.X=a.V=0;a.O=a.Y=-1;a.na=0;ad(a,0,65535);if(80286<=a.qa){a.Xc= +function Nd(a){a.F=0;a.D=0;a.G=0;a.H=0;a.ab=0;a.L=0;a.K=0;a.J=0;a.Ea=!1;a.ga=a.Ga=0;a.Wa=0;a.hd=0;a.rb=65520;a.Yc=0;a.Jd=1023;a.fa=a.He=0;a.Nb=a.Oc=a.Mb=a.Qb=0;a.kd=-1;a.xa=new Oc(a,Pc,"CS");a.tb=new Oc(a,2,"DS");a.cb=new Oc(a,2,"ES");a.Da=new Oc(a,3,"SS");t(a,0);Wc(a,0);80386<=a.qa&&(a.H=772,a.rb=16,a.vf=0,a.Ud=0,a.Vd=0,a.ff=Array(8),a.sf=Array(8),a.nc=new Oc(a,2,"FS"),a.oc=new Oc(a,2,"GS"));a.Pg=new Oc(a,0,"NULL");a.P=a.tb;a.R=a.Da;a.X=a.V=0;a.O=a.Y=-1;a.na=0;ad(a,0,65535);if(80286<=a.qa){a.Xc= 0;a.Xd=65535;a.Sc=new Oc(a,5,"LDT",!0);a.nb=new Oc(a,4,"TSS",!0);a.Ca=new Oc(a,6,"VER",!0);ad(a,65520,61440);var b,c=w(a);b=a.xa;var d=-65536;80386>b.A.qa&&(d&=16777215);b=b.Ka=d;a.za=b+c|0;a.Nc=b+a.xa.qb|0}$c(a,0);Qd(a)}function Rd(a){2==a.Zc?(a.Vb=a.Aa,a.Na=z,a.Qa=Sd,a.kb=Td,a.aa=A,a.ua=Ud,a.Ma=Vd):(a.Vb=a.Af,a.Na=B,a.Qa=Wd,a.kb=Xd,a.aa=C,a.ua=Yd,a.Ma=Zd)}function $d(a,b){a.sa!=b&&(a.V|=4096,a.sa=b,a.C=2==b?65535:-1,ae(a))} function ae(a){2==a.sa?(a.dataType=32768,a.kc=a.Aa,a.yb=a.Jb):(a.dataType=-2147483648,a.kc=a.Af,a.yb=a.Tg)}function be(a){a.Zc=a.xa.Zc;a.ca=a.xa.ca;Rd(a);a.sa=a.xa.sa;a.C=a.xa.C;ae(a);a.V&=-12289}f.Xi=function(){var a=this.F+this.D+this.G+this.H+u(this)+this.L+this.K+this.J|0;return a=a+w(this)+ce(this)+this.tb.oa+this.Da.oa+this.cb.oa+Zc(this)|0};function de(a,b,c,d){void 0!==d&&(void 0===a.ed[b]&&(a.ed[b]=[]),a.ed[b].push([c,d]))}function ee(a,b,c){void 0!==c&&(a.Di[b]=c)} function Qd(a,b){void 0===b&&(b=!!(a.rb&1));!b!=!(a.rb&1)&&a.ta()&&a.Fa("CPU switching to "+(b?"protected":"real")+"-mode",a.Ub,!0);a.ef=b?fe:id;Qc(a.xa);Qc(a.tb);Qc(a.Da);Qc(a.cb);80386<=a.qa&&(Qc(a.nc),Qc(a.oc),be(a))} f.save=function(){var a=new ge(this);he(a,0,[this.F,this.D,this.G,this.H,u(this),this.L,this.K,this.J]);var b=w(this),c=this.xa.save(),d=this.tb.save(),e=this.Da.save(),g=this.cb.save(),l;null!=this.Xc?(l=[this.rb,this.Xc,this.Xd,this.Yc,this.Jd,this.Sc.save(),this.nb.save(),this.He],l.push(this.vf),l.push(this.Ud),l.push(this.Vd),l.push(this.ff),l.push(this.sf)):l=null;b=[b,c,d,e,g,l,Zc(this)];80386<=this.qa&&(b.push(this.nc.save()),b.push(this.oc.save()));he(a,1,b);he(a,2,[this.P.xf,this.R.xf,this.X, this.V,this.na,this.O,this.Y]);he(a,3,[0,this.xb,this.Z.yd]);b=this.va;c=0;d=[];for(e=0;ec&&0<=(a.Nc^a.za)&&(8088>=a.qa||a.xa.qb==a.xa.ca?E(a,a.za-a.xa.Ka):-1>c&&Uc.call(a,13,0))}function u(a){return a.ab&~a.Da.ca|a.Ja-a.Da.Ka}function t(a,b){a.ab=b;a.Ja=a.Da.Ka+(b&a.Da.ca)|0}function ne(a,b,c,d,e,g){if(63!=(e&63)&&e!=a.resultType){var l=(e^a.resultType)&a.resultType;l&&(l&1&&oe(a),l&2&&pe(a),l&4&&qe(a),l&8&&re(a),l&16&&se(a),l&32&&te(a))}g?(a.Nb=d,a.Mb=b):(a.Nb=b,a.Mb=d);a.Oc=c;a.Qb=d;a.resultType=e} @@ -117,13 +117,13 @@ function $e(a,b){this.A-=10+(-1===this.O?0:1);if((a&3)<(b&3))return a=a&-4|b&3,E function bf(a,b){var c=0;if(b){Ce(this);for(var d=1;d&this.C;){if(b&d){a=c;break}d<<=1;c++}}else Ee(this);this.A-=this.B.ej+3*c;return a}function cf(a,b){var c=0;if(b){Ce(this);for(var d=2==this.sa?15:31,e=1<>>=1;c++;d--}}else Ee(this);this.A-=this.B.ej+3*c;return a}function df(a,b){a&1<<(b&31)?ve(this):we(this);this.A-=-1===this.O?this.B.bl:this.B.$k;this.X|=2;return a} function ef(a,b){var c=1<<(b&31);a&c?ve(this):we(this);this.A-=-1===this.O?this.B.xh:this.B.vh;return a^c}function ff(a,b){var c=1<<(b&31);a&c?ve(this):we(this);this.A-=-1===this.O?this.B.xh:this.B.vh;return a&~c}function gf(a,b){var c=1<<(b&31);a&c?ve(this):we(this);this.A-=-1===this.O?this.B.xh:this.B.vh;return a|c}function hf(a,b){var c=ce(this),d=w(this);null!=ad(this,a,b,!0)&&(v(this,c),v(this,d))} function jf(a,b){ne(this,a,b,a-b|0,191,!0);this.A-=-1===this.Y?-1===this.O?this.B.Wb:this.B.Wf:this.B.Ib;this.X|=2;return a}function kf(a,b){ne(this,a,b,a-b|0,this.dataType|63,!0);this.A-=-1===this.Y?-1===this.O?this.B.Wb:this.B.Wf:this.B.Ib;this.X|=2;return a}function lf(a){var b=a-1|0;ne(this,a,1,b,this.dataType|62,!0);this.A-=2;return a&~this.C|b&this.C}function mf(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c} -function nf(a,b,c){this.Ea=!1;if((c>>>=0)&&!(c<=b>>>0)){var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=mf(a,c)&&(b=a,g=c,b[0]-=g[0],b[1]-=g[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e>>>=1;while(e);this.ha=d;this.Ga=a[0];this.Ea=!0}}function of(a){return a} +function nf(a,b,c){this.Ea=!1;if((c>>>=0)&&!(c<=b>>>0)){var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=mf(a,c)&&(b=a,g=c,b[0]-=g[0],b[1]-=g[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e>>>=1;while(e);this.ga=d;this.Ga=a[0];this.Ea=!0}}function of(a){return a} function pf(a,b){a=this.M();var c=(b<<16>>16)*a|0;32767c?(ve(this),xe(this)):(we(this),ye(this));this.A-=-1===this.O?21:24;return c&65535}function qf(a,b){var c,d;a=this.ra();2==this.sa?(d=(b<<16>>16)*(a<<16>>16)|0,c=32767d):(d=b*a,c=2147483647d);c?(ve(this),xe(this)):(we(this),ye(this));d&=this.C;this.A-=-1===this.O?21:24;return d} function rf(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(ve(this),xe(this)):(we(this),ye(this));this.A-=-1===this.O?this.B.gj:this.B.fj;return c&65535}function sf(a,b){var c=a*b;2147483647c?(ve(this),xe(this)):(we(this),ye(this));this.A-=-1===this.O?this.B.gj:this.B.fj;return c|0}function tf(a){var b=a+1|0;ne(this,a,1,b,this.dataType|62);this.A-=2;return a&~this.C|b&this.C} function Re(a,b,c){this.A-=this.B.Th+c;this.xa.eh=!0;c=Zc(this);var d=ce(this),e=w(this);a=this.xa.aj(a);-1!==a&&(v(this,c),v(this,d),v(this,e),null!=b&&v(this,b),this.kd=-1,this.za=a,this.Nc=this.xa.Ka+this.xa.qb|0,be(this))}function uf(a,b){this.A-=14+(-1===this.O?0:2);Ce(this);-1!==this.Ca.load(b,!0)&&this.Ca.sc>=this.xa.Ya&&this.Ca.sc>=(b&3)&&(Ee(this),a=this.Ca.Rb&-256,2=this.xa.Ya)&&this.Ca.sc>=(b&3))return Ee(this),this.Ca.qb;Ce(this);return a}function Bf(a,b){if(-1===this.O)return Fd.call(this),a;Wc(this,this.Aa(this.O+this.sa));this.A-=this.B.he;return b} -function Cf(a,b){this.A-=-1===this.Y?-1===this.O?this.B.hi:this.B.gi:this.B.ei;return b}function Df(a,b){return b}function Ef(){-1!==this.Y&&$d(this,2);return Cf.call(this,0,this.Wa)}function Ff(a,b){var c=b&65535,d=b>>>16,e=a&65535,g=a>>>16,l=c*e,e=(l>>>16)+d*e,p=e>>>16,e=(e&65535)+c*g;this.Ea=!0;this.ha=e<<16|l&65535;this.Ga=p+((e>>>16)+d*g)|0}function Gf(a,b){this.A-=-1===this.Y?-1===this.O?this.B.Wb:this.B.Ib:this.B.lc;return ue(this,a|b,128)} +function Cf(a,b){this.A-=-1===this.Y?-1===this.O?this.B.hi:this.B.gi:this.B.ei;return b}function Df(a,b){return b}function Ef(){-1!==this.Y&&$d(this,2);return Cf.call(this,0,this.Wa)}function Ff(a,b){var c=b&65535,d=b>>>16,e=a&65535,g=a>>>16,l=c*e,e=(l>>>16)+d*e,p=e>>>16,e=(e&65535)+c*g;this.Ea=!0;this.ga=e<<16|l&65535;this.Ga=p+((e>>>16)+d*g)|0}function Gf(a,b){this.A-=-1===this.Y?-1===this.O?this.B.Wb:this.B.Ib:this.B.lc;return ue(this,a|b,128)} function Hf(a,b){this.A-=-1===this.Y?-1===this.O?this.B.Wb:this.B.Ib:this.B.lc;return ue(this,a|b,this.dataType)}function If(a){var b=this.Xa(),c=this.Xa();(a<<=this.sa>>2)&&t(this,u(this)+a);ad(this,b,c,!1)&&(a&&t(this,u(this)+a),this.tb.oa&65528&&this.tb.scthis.kd)E(this,this.Ba-this.xa.Ka),e=!0;else if(8!=this.kd)b=0,a=8,e=!0;else{Hg.call(this,-1,0,c);Nd(this);return}Hg.call(this,a,b,c)&&(e=!1);e&&Re.call(this,this.kd=a,b,d||0);this.X|=3}else this.Fa("Fault "+k(a)+" blocked by Debugger",1073741824),E(this,this.Ba-this.xa.Ka)} function Pd(a,b,c){this.Ud=a;a=0;b&&(a|=1);c&&(a|=2);3==this.xa.Ya&&(a|=4);Uc.call(this,14,a)}function Hg(a,b,c){var d=32,e=Ge(this,this.za);204!=e||this.Jd||(c=!1,d|=1);983040<=this.za&&1048575>=this.za&&(c=!1);if(80386==this.qa&&13==a||this.ta(d|-2147483648))c=!0;if(this.ta(d)||c)a=(c?"\n":"")+"Fault "+k(a)+(null!=b?" ("+ga(b)+")":"")+" on opcode "+k(e)+" at "+Ig(w(this),ce(this))+" (%"+h(this.za,6)+")",b=this.ma.zb,this.Fa(a,d)?c&&(c=b,this.ea.Pb()):(this.Pa(a),this.Pb());return c} function Dd(){this.pc[this.ba()].call(this)}function Gd(){v(this,u(this)&this.C);this.A-=this.B.tc}function kd(){var a=u(this)&this.C;v(this,this.F&this.C);v(this,this.G&this.C);v(this,this.H&this.C);v(this,this.D&this.C);v(this,a);v(this,this.L&this.C);v(this,this.K&this.C);v(this,this.J&this.C);this.A-=this.B.oi} -function ld(){this.J=this.J&~this.C|this.Xa();this.K=this.K&~this.C|this.Xa();this.L=this.L&~this.C|this.Xa();t(this,u(this)+this.sa);this.D=this.D&~this.C|this.Xa();this.H=this.H&~this.C|this.Xa();this.G=this.G&~this.C|this.Xa();this.F=this.F&~this.C|this.Xa();this.A-=this.B.mi}function md(){this.aa[this.ba()].call(this,af)}function Id(){this.ua[this.ba()].call(this,$e)}function Jd(){this.X|=20;this.P=this.R=this.nc;this.A-=this.B.Jc} +function ld(){this.J=this.J&~this.C|this.Xa();this.K=this.K&~this.C|this.Xa();this.L=this.L&~this.C|this.Xa();t(this,u(this)+this.sa);this.D=this.D&~this.C|this.Xa();this.H=this.H&~this.C|this.Xa();this.G=this.G&~this.C|this.Xa();this.F=this.F&~this.C|this.Xa();this.A-=this.B.mi}function md(){this.aa[this.ba()].call(this,af)}function Hd(){this.ua[this.ba()].call(this,$e)}function Jd(){this.X|=20;this.P=this.R=this.nc;this.A-=this.B.Jc} function Kd(){this.X|=20;this.P=this.R=this.oc;this.A-=this.B.Jc}function Ld(){this.X|=4096;this.V&4096||(this.sa^=6,this.C^=-65536,ae(this));this.A-=this.B.Jc}function Md(){this.X|=8192;this.V&8192||(this.Zc^=6,this.ca^=-65536,Rd(this));this.A-=this.B.Jc}function nd(){v(this,this.ra());this.A-=this.B.tc}function od(){this.aa[this.ba()].call(this,qf)}function pd(){v(this,this.M());this.A-=this.B.tc}function qd(){this.aa[this.ba()].call(this,pf)} function rd(){var a=1,b=0,c=5;this.V&192&&(a=this.G&this.ca,b=1,this.V&256&&(c=4));if(a--){var d=Vb(this.va,this.H&65535,this.za-b-1);this.Lc(this.cb.hc(this.J&this.ca,1),d);this.J=this.J&~this.ca|this.J+(this.fa&1024?-1:1)&this.ca;this.A-=c;this.G=this.G&~this.ca|this.G-b&this.ca;a&&(this.za=this.Ba,this.X|=256)}} function sd(){var a=1,b=0,c=5;this.V&192&&(a=this.G&this.ca,b=1,this.V&256&&(c=4));if(a--){for(var d=this.za-b-1,e=0,g=0,l=0;l>2),b=this.Xa();E(this,b);a&&t(this,u(this)+a);this.A-=this.B.ui}function eh(){var a=this.Xa();E(this,a);this.A-=this.B.ri} +function Yg(){var a=this.M();re(this)||!se(this)!=!te(this)?this.A-=this.B.Va:(E(this,w(this)+a),this.A-=this.B.Ua)}function Zg(){this.kb[this.ba()].call(this,$g,this.ba);this.A-=-1===this.Y?1:this.B.pf}function vd(){this.kb[this.ba()].call(this,ah,Fg)}function yd(){this.Ma[this.ba()].call(this,2==this.sa?bh:ch,Fg)}function dh(){var a=Le(this)<<(this.sa>>2),b=this.Xa();E(this,b);a&&t(this,u(this)+a);this.A-=this.B.ui}function eh(){var a=this.Xa();E(this,a);this.A-=this.B.ri} function zd(){var a=Le(this),b=this.ba()&31;this.A-=11;v(this,this.L);var c=u(this)&this.C;if(0>>a.Sa].Oe(b&a.B,b);pb(this,"Undefined opcode "+k(a)+" at "+("0x"+h(this.za)));this.Pb()} var fd=[function(){var a=this.ba();this.Qa[a].call(this,We)},function(){this.ua[this.ba()].call(this,Xe)},function(){this.Na[this.ba()].call(this,We)},function(){this.aa[this.ba()].call(this,Xe)},function(){this.F=this.F&-256|We.call(this,this.F&255,this.ba());this.A--},function(){this.F=this.F&~this.C|Xe.call(this,this.F&this.C,this.ra());this.A--},function(){v(this,this.cb.oa);this.A-=this.B.Sd},function(){le(this,this.Xa());this.A-=this.B.Xb},function(){this.Qa[this.ba()].call(this,Gf)},function(){this.ua[this.ba()].call(this, @@ -183,19 +183,19 @@ b/a<<8|b%a;ue(this,this.F,128);this.A-=this.B.uh}},function(){var a=this.ba();th 1&this.ca)&&re(this)?(E(this,w(this)+a),this.A-=this.B.dg):this.A-=this.B.eg},function(){var a=this.M();(this.G=this.G-1&this.ca)?(E(this,w(this)+a),this.A-=this.B.bi):this.A-=this.B.cg},function(){var a=this.M();this.G&this.ca?this.A-=this.B.eg:(E(this,w(this)+a),this.A-=this.B.dg)},function(){var a=this.ba();this.F=this.F&-256|Vb(this.va,a,this.za-2);this.A-=this.B.Yf},function(){var a=this.ba();this.F=Vb(this.va,a,this.za-2);this.F|=Vb(this.va,a+1,this.za-2)<<8;this.A-=this.B.Yf},function(){var a= this.ba();Zb(this.va,a,this.F&255,this.za-2);this.A-=this.B.ng},function(){var a=this.ba();Zb(this.va,a,this.F&255,this.za-2);Zb(this.va,a+1,this.F>>8,this.za-2);this.A-=this.B.ng},function(){var a=this.ra(),b=w(this),a=b+a;v(this,b);E(this,a);this.A-=this.B.Bh},function(){var a=this.ra();E(this,w(this)+a);this.A-=this.B.Zf},function(){ad(this,this.ra(),Le(this));this.A-=this.B.Yh},function(){var a=this.M();E(this,w(this)+a);this.A-=this.B.Zf},function(){this.F=this.F&-256|Vb(this.va,this.H&65535, this.za-1);this.A-=this.B.Xf},function(){this.F=Vb(this.va,this.H&65535,this.za-1);this.F|=Vb(this.va,this.H+1&65535,this.za-1)<<8;this.A-=this.B.Xf},function(){Zb(this.va,this.H&65535,this.F&255,this.za-1);this.A-=this.B.mg},function(){Zb(this.va,this.H&65535,this.F&255,this.za-1);Zb(this.va,this.H+1&65535,this.F>>8,this.za-1);this.A-=this.B.mg},ih,ih,function(){this.X|=132;this.A-=this.B.Jc},function(){this.X|=68;this.A-=this.B.Jc},function(){this.na|=4;this.A-=2;this.ea&&this.ta(-2147483648)?(this.za= -this.za+-1|0,this.Pb()):this.fa&512||(this.ea&&(this.za=this.za+-1|0),this.Pb())},function(){oe(this)?we(this):ve(this);this.A-=2},function(){this.Ea=!1;this.kb[this.ba()].call(this,nh,Gg);this.Ea&&(this.F=this.F&~this.C|this.ha&this.C)},function(){this.Ea=!1;this.Ma[this.ba()].call(this,oh,Gg);this.Ea&&(this.F=this.F&~this.C|this.ha&this.C,this.H=this.H&~this.C|this.Ga&this.C)},function(){we(this);this.A-=2},function(){ve(this);this.A-=2},function(){this.fa&=-513;this.A-=this.B.zh},function(){this.fa|= +this.za+-1|0,this.Pb()):this.fa&512||(this.ea&&(this.za=this.za+-1|0),this.Pb())},function(){oe(this)?we(this):ve(this);this.A-=2},function(){this.Ea=!1;this.kb[this.ba()].call(this,nh,Gg);this.Ea&&(this.F=this.F&~this.C|this.ga&this.C)},function(){this.Ea=!1;this.Ma[this.ba()].call(this,oh,Gg);this.Ea&&(this.F=this.F&~this.C|this.ga&this.C,this.H=this.H&~this.C|this.Ga&this.C)},function(){we(this);this.A-=2},function(){ve(this);this.A-=2},function(){this.fa&=-513;this.A-=this.B.zh},function(){this.fa|= 512;this.X|=4;this.A-=2},function(){this.fa&=-1025;this.A-=2},function(){this.fa|=1024;this.A-=2},function(){this.kb[this.ba()].call(this,gd,Gg)},function(){this.Ma[this.ba()].call(this,hd,Gg)}],$g=[We,Gf,Ue,Jf,Ye,sg,yg,jf],jh=[Xe,Hf,Ve,Kf,Ze,tg,zg,kf],kh=[function(a,b){this.A-=-1===this.Y?this.B.Xb:this.B.ni;return b},Ag,Ag,Ag,Ag,Ag,Ag,Ag],lh=[function(a,b){this.A-=-1===this.Y?this.B.fi:this.B.di;return b},Bg,Bg,Bg,Bg,Bg,Bg,Bg],ah=[function(a,b){var c=a,d=b&this.pa;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;ze(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.pa;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;ze(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.pa;if(d){var e=Ae(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;ze(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.pa;if(d){var e=0;8>>c-1,a=c>>>1&255,ue(this,a,128,c&1,a&128));return a},Bg,function(a,b){var c=b&this.pa;c&&(9>24>>c-1,a=c>>1&255,ue(this,a,128,c&1));return a}],bh=[function(a,b){var c=a,d=b&this.pa;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;ze(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.pa;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;ze(this,c,e,32768)}return c},function(a, b){var c=a,d=b&this.pa;if(d){var e=Ae(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;ze(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.pa;if(d){var e=0;16>>c-1,a=c>>>1&65535,ue(this,a,32768,c&1,a&32768));return a}, Bg,function(a,b){var c=b&this.pa;c&&(17>16>>c-1,a=c>>1&65535,ue(this,a,32768,c&1));return a}],ch=[function(a,b){var c=a,d=b&this.pa;d&&(c=a<>>32-d,ze(this,c,a<>>d|e;ze(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.pa;d&&(c=Ae(this),c=a<>>32-d>>>1,ze(this,c,a<>>d|c<<32-d|a<<32-d<< 1,ze(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.pa;d&&(d=a<>>c-1,a=c>>>1,ue(this,a,-2147483648,c&1,a&-2147483648));return a},Bg,function(a,b){var c=b&this.pa;c&&(c=a>>c-1,a=c>>1,ue(this,a,-2147483648,c&1));return a}],nh=[function(a,b){b=this.ba();ue(this,a&b,128);this.A-=-1===this.O?this.B.Ag:this.B.zg;this.X|=2;return a},Bg,function(a){this.A-=-1===this.O? -this.B.Le:this.B.Ke;return a^255},function(a){var b=-a|0;ne(this,0,a,b,191,!0);this.A-=-1===this.O?this.B.Le:this.B.Ke;return b&255},function(a){this.Ea=!0;this.ha=(this.F&255)*a&65535;this.ha&65280?(ve(this),xe(this)):(we(this),ye(this));this.A-=-1===this.O?this.B.ji:this.B.ii;this.X|=2;return a},function(a){var b=(this.F<<24>>24)*(a<<24>>24)|0;this.Ea=!0;this.ha=b&65535;127b?(ve(this),xe(this)):(we(this),ye(this));this.A-=-1===this.O?this.B.Ph:this.B.Oh;this.X|=2;return a},function(a,b){if(!a)return Cg.call(this), -a;var c=(b=this.F&65535)/a;if(255>24,d=(b=this.F<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.qa&&-128==d)return Cg.call(this),a;this.Ea=!0;this.ha=d&255|(b%c&255)<<8;this.A-=-1===this.O?this.B.Lh:this.B.Kh;this.X|=2;return a}],oh=[function(a,b){b=this.ra();ue(this,a&b,this.dataType);this.A-=-1===this.O?this.B.Ag:this.B.zg;this.X|= -2;return a},Bg,function(a){this.A-=-1===this.O?this.B.Le:this.B.Ke;return a^this.C},function(a){var b=-a|0;ne(this,0,a,b,this.dataType|63,!0);this.A-=-1===this.O?this.B.Le:this.B.Ke;return b&this.C},function(a,b){if(2==this.sa){b=this.F&65535;var c=b*a|0;this.Ea=!0;this.ha=c&65535;this.Ga=c>>16&65535}else Ff.call(this,a,this.F);this.Ga?(ve(this),xe(this)):(we(this),ye(this));this.A-=-1===this.O?this.B.li:this.B.ki;this.X|=2;return a},function(a,b){var c;if(2==this.sa)b=this.F&65535,c=(b<<16>>16)* -(a<<16>>16)|0,this.Ea=!0,this.ha=c&65535,this.Ga=c>>16&65535,c=32767c;else{c=a;var d=this.F,e=!1;0>d&&(d=-d|0,e=!e);0>c&&(c=-c|0,e=!e);Ff.call(this,c,d);e&&(this.ha=~this.ha+1|0,this.Ga=~this.Ga+(this.ha?0:1)|0);c=this.Ga!=this.ha>>31}c?(ve(this),xe(this)):(we(this),ye(this));this.A-=-1===this.O?this.B.Rh:this.B.Qh;this.X|=2;return a},function(a,b){if(2==this.sa){if(!a)return Cg.call(this),a;b=65536*(this.H&65535)+(this.F&65535);var c=b/a|0;if(65536<=c)return Cg.call(this),a;this.Ea=!0; -this.ha=c&65535;this.Ga=b%a&65535}else{nf.call(this,this.F,this.H,a);if(!this.Ea)return Cg.call(this),a;this.ha|=0;this.Ga|=0}this.A-=-1===this.O?this.B.Jh:this.B.Ih;this.X|=2;return a},function(a,b){if(2==this.sa){if(!a)return Cg.call(this),a;var c=a<<16>>16,d=(b=this.H<<16|this.F&65535)/c|0;if(d!=d<<16>>16||8086==this.qa&&-32768==d)return Cg.call(this),a;this.Ea=!0;this.ha=d&65535;this.Ga=b%c&65535}else{var c=this.F,d=this.H,e=a,g=!1,l=!1;0>e&&(e=-e|0,g=!g);0>d&&(c=-c|0,d=~d+(c?0:1)|0,l=!0,g=!g); -nf.call(this,c,d,e);2147483647>24)*(a<<24>>24)|0;this.Ea=!0;this.ga=b&65535;127b?(ve(this),xe(this)):(we(this),ye(this));this.A-=-1===this.O?this.B.Ph:this.B.Oh;this.X|=2;return a},function(a,b){if(!a)return Cg.call(this), +a;var c=(b=this.F&65535)/a;if(255>24,d=(b=this.F<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.qa&&-128==d)return Cg.call(this),a;this.Ea=!0;this.ga=d&255|(b%c&255)<<8;this.A-=-1===this.O?this.B.Lh:this.B.Kh;this.X|=2;return a}],oh=[function(a,b){b=this.ra();ue(this,a&b,this.dataType);this.A-=-1===this.O?this.B.Ag:this.B.zg;this.X|= +2;return a},Bg,function(a){this.A-=-1===this.O?this.B.Le:this.B.Ke;return a^this.C},function(a){var b=-a|0;ne(this,0,a,b,this.dataType|63,!0);this.A-=-1===this.O?this.B.Le:this.B.Ke;return b&this.C},function(a,b){if(2==this.sa){b=this.F&65535;var c=b*a|0;this.Ea=!0;this.ga=c&65535;this.Ga=c>>16&65535}else Ff.call(this,a,this.F);this.Ga?(ve(this),xe(this)):(we(this),ye(this));this.A-=-1===this.O?this.B.li:this.B.ki;this.X|=2;return a},function(a,b){var c;if(2==this.sa)b=this.F&65535,c=(b<<16>>16)* +(a<<16>>16)|0,this.Ea=!0,this.ga=c&65535,this.Ga=c>>16&65535,c=32767c;else{c=a;var d=this.F,e=!1;0>d&&(d=-d|0,e=!e);0>c&&(c=-c|0,e=!e);Ff.call(this,c,d);e&&(this.ga=~this.ga+1|0,this.Ga=~this.Ga+(this.ga?0:1)|0);c=this.Ga!=this.ga>>31}c?(ve(this),xe(this)):(we(this),ye(this));this.A-=-1===this.O?this.B.Rh:this.B.Qh;this.X|=2;return a},function(a,b){if(2==this.sa){if(!a)return Cg.call(this),a;b=65536*(this.H&65535)+(this.F&65535);var c=b/a|0;if(65536<=c)return Cg.call(this),a;this.Ea=!0; +this.ga=c&65535;this.Ga=b%a&65535}else{nf.call(this,this.F,this.H,a);if(!this.Ea)return Cg.call(this),a;this.ga|=0;this.Ga|=0}this.A-=-1===this.O?this.B.Jh:this.B.Ih;this.X|=2;return a},function(a,b){if(2==this.sa){if(!a)return Cg.call(this),a;var c=a<<16>>16,d=(b=this.H<<16|this.F&65535)/c|0;if(d!=d<<16>>16||8086==this.qa&&-32768==d)return Cg.call(this),a;this.Ea=!0;this.ga=d&65535;this.Ga=b%c&65535}else{var c=this.F,d=this.H,e=a,g=!1,l=!1;0>e&&(e=-e|0,g=!g);0>d&&(c=-c|0,d=~d+(c?0:1)|0,l=!0,g=!g); +nf.call(this,c,d,e);2147483647this.qa&&(b=a));v(this,b);this.A-=-1===this.O?this.B.tc:this.B.pi;this.X|=2;return a},Ag],Ed=Array(256);Ed[0]=function(){var a=this.ba();16>(a&56)&&(this.X|=1);this.Ma[a].call(this,this.ef,Gg)};Ed[1]=function(){var a=this.ba();a&16||(this.X|=1);this.Ma[a].call(this,ph,Gg)};Ed[2]=function(){this.aa[this.ba()].call(this,uf)};Ed[3]=function(){this.aa[this.ba()].call(this,Af)}; Ed[5]=function(){this.xa.Ya?Uc.call(this,13,0,!0):(Fe(this,this.Aa(2054)),this.J=this.Aa(2086),this.K=this.Aa(2088),this.L=this.Aa(2090),this.D=this.Aa(2094),this.H=this.Aa(2096),this.G=this.Aa(2098),this.F=this.Aa(2100),Vc(this.cb,2102,this.Aa(2084)),Vc(this.xa,2108,this.Aa(2082)),Vc(this.Da,2114,this.Aa(2080)),Vc(this.tb,2120,this.Aa(2078)),$c(this,this.Aa(2072)),E(this,this.Aa(2074)),t(this,this.Aa(2092)),this.Xc=this.Aa(2126)|this.bb(2128)<<16,this.Xd=this.Xc+this.Aa(2130),Vc(this.Sc,2132,this.Aa(2076)), @@ -781,13 +781,13 @@ a.sound&&(this.Qb=this.Qa=null,window&&(this.Qb=window.AudioContext||window.webk f.Lb=function(a,b,c){switch(b){case "sw1":return this.wa[b]=c,Ah(this,b,c,this.V,{0:this.qa==th?"Bootable Floppy Drive":"Loop on POST",1:this.qa==th?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.qa==th)return this.wa[b]=c,Ah(this,b,c,this.Ca,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.wa[b]=c,!0}return!1}; f.yc=function(a,b,c,d){this.va=b;this.A=c;this.ea=d;this.la=a;this.P=vb(a,"Keyboard");this.yb=c.Z.pd/1193181;Ub(b,this,Bh);Yb(b,this,Ch);this.qab;b++){var c=13>=b?Jh(e,b):e.B[b];a&&(a+="\n");a+="CMOS["+k(b)+"]: "+k(c)}e.ea.W(a)})}de(c,26,this,this.Rk)};f.dc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};f.cc=function(a){return a&&this.save?this.save():!0}; -f.reset=function(a){var b;this.da=this.V;this.Ga=this.Ca;Kh(this);this.U=Array(this.lb);for(b=0;b=yh){this.O=16;this.na=0;this.ha=16;this.Wa=0;this.pa=160;512<=Oh(this)&&(this.pa|=16);3==Ph(this)&&(this.pa|=64);5180==this.qa&&(this.pa|=12);this.ab=3;this.Ja=Array(8); +f.reset=function(a){var b;this.da=this.V;this.Ga=this.Ca;Kh(this);this.U=Array(this.lb);for(b=0;b=yh){this.O=16;this.na=0;this.ga=16;this.Wa=0;this.pa=160;512<=Oh(this)&&(this.pa|=16);3==Ph(this)&&(this.pa|=64);5180==this.qa&&(this.pa|=12);this.ab=3;this.Ja=Array(8); this.Ea=0;a&&(this.B=Array(64));Qh(this,this.qc);for(a=21;24>=a;a++)this.B[a]=0;for(a=14;46>a;a++)void 0===this.B[a]&&(this.B[a]=0);this.B[20]=this.da&(wh.Ue|2|xh.Sg|xh.Ue);this.B[16]=Rh(this,0)<<4|Rh(this,1);Sh(this)}}; function Qh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.W("CMOS date invalid ("+b+"), using "+c)):b&&a.W("CMOS date: "+c);a.B[0]=c.getSeconds();a.B[1]=0;a.B[2]=c.getMinutes();a.B[3]=0;a.B[4]=c.getHours();a.B[5]=0;a.B[6]=c.getDay()+1;a.B[7]=c.getDate();a.B[8]=c.getMonth()+1;c=c.getFullYear();a.B[9]=c%100;c/=100;a.B[50]=c%10|c/10<<4;a.B[10]=38;a.B[11]=2;a.B[12]=0;a.B[13]=128;a.Ta=a.Ma=0;a.gc=a.xb=null} function Jh(a,b){var c=a.B[b];if(10>b){var d=!1;4!=b&&5!=b||a.B[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.B[11]&4||(d&&128c;c++)b+=a.B[c];a.B[47]=b&255;a.B[46]=b>>8} f.save=function(){var a=new ge(this);he(a,0,[this.V,this.Ca,this.da,this.Ga]);for(var b=[],c=0;c=yh&&(he(a,5,[this.O,this.na,this.ha,this.Wa,this.pa,this.ab]),he(a,6,[this.Ja[7],this.Ja,this.Ea,this.B,this.Ta,this.Ma]));return a.data()}; -f.restore=function(a){var b,c;b=a[0];this.V=b[0];this.Ca=b[1];this.da=b[2];this.Ga=b[3];b=a[1];for(c=0;c=yh&&(he(a,5,[this.O,this.na,this.ga,this.Wa,this.pa,this.ab]),he(a,6,[this.Ja[7],this.Ja,this.Ea,this.B,this.Ta,this.Ma]));return a.data()}; +f.restore=function(a){var b,c;b=a[0];this.V=b[0];this.Ca=b[1];this.da=b[2];this.Ga=b[3];b=a[1];for(c=0;c=yh){var c=a.A.Z.pd,d=Dc(a.A,a.Ba);null==a.xb&&(a.Ta=Dc(a.A,a.Ba),a.gc=1024,a.xb=Math.floor(a.A.Z.pd/a.gc),Th(a));d>=a.Ma&&(a.B[12]|=64,a.B[11]&64&&(a.B[12]|=128,wi(a,8)),a.Ma=d+a.xb);a.B[0]==a.B[1]&&a.B[2]==a.B[3]&&a.B[4]==a.B[5]&&(a.B[12]|=32,a.B[11]&32&&(a.B[12]|=128,wi(a,8)));var e=d-a.Ta,g=Math.floor(e/c);if(g&&!(a.B[11]&128)){for(;g--;)if(60<=++a.B[0]&&(a.B[0]=0,60<=++a.B[2]&&(a.B[2]=0,24<=++a.B[4]))){a.B[4]=0;a.B[6]=a.B[6]%7+1; var l;l=a.B[9];var p=ta[a.B[8]-1];28==p&&0===l%4&&(l%100||0===l%400)&&p++;l=p;++a.B[7]>l&&(a.B[7]=1,12<++a.B[8]&&(a.B[8]=1,a.B[9]=(a.B[9]+1)%100))}a.B[12]|=16;a.B[11]&16&&(a.B[12]|=128,wi(a,8))}a.Ta=d-e%c}}f.Ak=function(a,b){var c=this.kb;if(this.Na&16)if(this.aa&128)c=this.da;else if(this.P){var c=this.P,d=0;c.B.length&&(d=c.B[0]);c.ta()&&c.Fa("scan code "+k(d)+" delivered");c=d}m(this,a,null,b,"PPI_A",c);return c};f.Vl=function(a,b,c){m(this,a,b,c,"PPI_A");this.kb=b}; f.Bk=function(a,b){var c=this.aa;m(this,a,null,b,"PPI_B",c);return c};f.Wl=function(a,b,c){m(this,a,b,c,"PPI_B");Ci(this,b)};function Ci(a,b){var c=!!(b&2),d=!!(a.aa&2);a.aa=b;a.P&&Di(a.P,!(b&128),!!(b&64));c!=d&&Lc(a,c)}f.Ck=function(a,b){var c=0,c=this.qa==th?this.aa&4?c|this.Ga&15:c|this.Ga>>4&1:this.aa&8?c|this.da>>4:c|this.da&15;this.aa&1&&Ih(this,2).od&&(c=this.aa&2?c|32:c|16);m(this,a,null,b,"PPI_C",c,32896);return c};f.Xl=function(a,b,c){m(this,a,b,c,"PPI_C");this.Nb=b}; -f.Dk=function(a,b){var c=this.Na;m(this,a,null,b,"PPI_CTRL",c);return c};f.Yl=function(a,b,c){m(this,a,b,c,"PPI_CTRL");this.Na=b};f.Pj=function(a,b){var c=this.Wa;m(this,a,null,b,"8042_OUTBUFF",c,16384);this.O&=-258;this.P&&Ei(this.P);return c};f.il=function(a,b,c){m(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.O&8)switch(this.na){case 96:Fi(this,b);break;case 209:Gi(this,b);break;default:if(Fi(this,this.ha&-17),this.P){a=-1;switch(b){case 255:a=250,Hi(this.P)}Ii(this,a)}}this.na=b;this.O&=-9}; +f.Dk=function(a,b){var c=this.Na;m(this,a,null,b,"PPI_CTRL",c);return c};f.Yl=function(a,b,c){m(this,a,b,c,"PPI_CTRL");this.Na=b};f.Pj=function(a,b){var c=this.Wa;m(this,a,null,b,"8042_OUTBUFF",c,16384);this.O&=-258;this.P&&Ei(this.P);return c};f.il=function(a,b,c){m(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.O&8)switch(this.na){case 96:Fi(this,b);break;case 209:Gi(this,b);break;default:if(Fi(this,this.ga&-17),this.P){a=-1;switch(b){case 255:a=250,Hi(this.P)}Ii(this,a)}}this.na=b;this.O&=-9}; f.Qj=function(a,b){var c=this.aa&-209|(Dc(this.A)&64?16:0);m(this,a,null,b,"8042_RWREG",c,16384);return c};f.jl=function(a,b,c){m(this,a,b,c,"8042_RWREG",null,16384);Ci(this,b)};f.Rj=function(a,b){m(this,a,null,b,"8042_STATUS",this.O,16384);var c=this.O&255;this.O&256&&(this.O|=1,this.O&=-257);return c}; -f.hl=function(a,b,c){m(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.na=b;this.O|=8;a=0;240<=this.na&&(a=this.na^15,this.na=240);switch(this.na){case 32:Ii(this,this.ha);break;case 173:Fi(this,this.ha|16);break;case 174:Fi(this,this.ha&-17);this.P&&Ei(this.P);break;case 170:this.P&&(a=this.P,a.B=[],a.ta()&&a.Fa("scan codes flushed"));Fi(this,this.ha|16);Ii(this,85);Gi(this,3);break;case 171:Ii(this,0);break;case 192:Ii(this,this.pa);break;case 208:Ii(this,this.ab);break;case 224:Ii(this,this.ha&16? -0:1);break;case 240:a&1&&Nd(this.A)}};function Fi(a,b){a.ha=b;a.O=a.O&-5|b&4;a.P&&Di(a.P,!!(b&8),!(b&16))}function Ii(a,b,c){0<=b&&(a.Wa=b,c?a.O|=1:(a.O&=-2,a.O|=256))}function Gi(a,b){a.ab=b;Fb(a.va,!!(b&2));b&1||Nd(a.A)}function Ji(a,b){a.qa=c?Jh(this,c):this.B[c];this.ta(4352)&&m(this,a,null,b,"CMOS.DATA["+k(c)+"]",d,!0);null!=b&&12==c&&(this.B[c]&=15,d&128&&xi(this,8),d&64&&this.B[11]&64&&Th(this));return d}; f.yl=function(a,b,c){var d=this.Ea&63;this.ta(4352)&&m(this,a,b,c,"CMOS.DATA["+k(d)+"]",null,!0);a=b^this.B[d];if(13>=d){if(c=b,10>d){var e=!1;this.B[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.B[d]=c;11==d&&a&64&&b&64&&Th(this)};f.Tl=function(a,b,c){m(this,a,b,c,"NMI");this.hb=b};f.zl=function(a,b,c){m(this,a,b,c,"COPROC.CLEAR")};f.Al=function(a,b,c){m(this,a,b,c,"COPROC.RESET")}; f.Rk=function(a){if(this.ta(8192)&&mh(this.ea,26,a)){var b=this.A.F>>8;ee(this.A,a,function(a,d){return function(e){d=Dc(a.A)-d;var g,l=a.A.H&255,p=a.A.H>>8,q=a.A.H&255,r=a.A.H>>8;if(2==b||3==b)g=" CH(hour)="+ga(p)+" CL(min)="+k(l)+" DH(sec)="+k(r);else if(4==b||5==b)g=" CX(year)="+ga(a.A.G)+" DH(month)="+k(r)+" DL(day)="+k(q);l=a.ea;p=d;l.message("INT "+k(26)+": C="+(oe(l.A)?1:0)+(g||"")+" (cycles="+p+(e?",level="+(e+1):"")+")")}}(this,Dc(this.A)))}return!0}; @@ -840,7 +840,7 @@ Qi.prototype.dc=function(a,b){b||this.reset();return!0};Qi.prototype.cc=function Qi.prototype.reset=function(){if(!this.O&&!this.R&&this.U){var a=1024*Oh(this.U);this.B&&a!=this.B&&(Lb(this.va,this.O,this.B),this.P=!1);this.B=a}!this.P&&this.B&&Gb(this.va,this.O,this.B,1)&&(this.P=!0,this.status(Math.floor(this.B/1024)+"Kb allocated"),"ramCPQ"==this.Gd&&(this.controller=new Ri(this),Gb(this.va,Si,1,4,this.controller)));if(this.P){if(this.V||Sb(this.va,1138,4660),"ramCPQ"!=this.Gd&&this.U&&(a=this.U,a.B)){var b=1048576>this.O?21:23,c=a.B[b]|a.B[b+1]<<8,c=c+(this.B>>10);a.B[b]= c&255;a.B[b+1]=c>>8;Sh(a)}}else ya("No RAM allocated")};function Ri(a){this.gm=a;this.Fi=Ti;this.tj=Ui;this.Rg=Vi;this.We=null} var Si=-2134900736,Ti=65535,Ui=2575,Vi=2,Wi=[null,0],Xi=[function(a){var b=255;2>a?b=a&1?this.controller.tj>>8:this.controller.tj&255:4>a&&(b=a&1?this.controller.Rg>>8:this.controller.Rg&255);return b},null,null,function(a,b){var c=this.controller;if(a)2==a&&(c.Rg=c.Rg&-256|b);else if(b!=(c.Fi&255)){var d=c.gm.va;if(b&1)c.We&&(Jb(d,917504,131072,c.We),c.We=null);else{c.We||(c.We=Kb(d,917504,131072));var e=Kb(d,16646144,131072);Jb(d,917504,131072,e,b&2?1:Mb)}c.Fi=c.Fi&-256|b}},null,null]; -Ri.prototype.Yi=function(){return Wi};Ri.prototype.kh=function(){return Xi};Ma(function(){for(var a=ib(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,om:65,pm:66,qm:67,vm:68,E:69,wm:70,zm:71,Am:72,Bm:73,Cm:74,Dm:75,Em:76,Fm:77,Gm:78,Hm:79,Im:80,Q:81,Jm:82,Nm:83,Sm:84,Wm:85,Xm:86,Ym:87,$m:88,an:89,bn:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,cn:97,dn:98,gn:99,d:100,e:101,hn:102,jn:103,kn:104,ln:105,nn:106,k:107,on:108, pn:109,n:110,rn:111,p:112,q:113,r:114,sn:115,t:116,tn:117,un:118,vn:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Zi={};Zi[186]=W[";"];Zi[187]=W["="];Zi[188]=W[","];Zi[189]=W["-"];Zi[190]=W["."];Zi[191]=W["/"];Zi[192]=W["`"];Zi[219]=W["["];Zi[220]=W["\\"];Zi[221]=W["]"];Zi[222]=W["'"];Zi[173]=W["-"];var $i={};$i[W["1"]]=W["!"];$i[W["2"]]=W["@"];$i[W["3"]]=W["#"];$i[W["4"]]=W.$;$i[W["5"]]=W["%"];$i[W["6"]]=W["^"];$i[W["7"]]=W["&"];$i[W["8"]]=W["*"];$i[W["9"]]=W["("];$i[W["0"]]=W[")"]; $i[186]=W[":"];$i[187]=W["+"];$i[188]=W["<"];$i[189]=W._;$i[190]=W[">"];$i[191]=W["?"];$i[192]=W["~"];$i[219]=W["{"];$i[220]=W["|"];$i[221]=W["}"];$i[222]=W['"'];$i[173]=W._;$i[61]=W["+"];$i[59]=W[":"]; @@ -857,13 +857,13 @@ function Di(a,b,c){a.la!==c&&(a.la=a.Y=c)&&(a.R=!0);a.V!==b&&(a.V=b)&&!a.Y&&Ki(a f.cc=function(a){return a&&this.save?this.save():!0};f.reset=function(){jj(this);this.ac=this.P=0;this.B=[];this.R=!0};f.save=function(){var a=new ge(this),b=0,c=[];c[b++]=this.la;c[b]=this.V;he(a,0,c);return a.data()};f.restore=function(a){return jj(this,a[0])};function jj(a,b){var c=0;void 0===b&&(b=[]);a.la=a.R=b[c++];a.V=b[c];return!0} function gj(a,b,c,d){if(Y[b]){var e=Math.floor(b/1E3)&2;if(b=aj[b]||0){!e||b&85||(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.P:a.ac)&b):d||b&255&&(b=255);if(c){a.P&=~b;d&&(a.P|=b);c=b;var g,l;for(l in dj)d="led-"+l,e=dj[l],c&&c!=e||!(g=a.wa[d])||(g.style.backgroundColor=a.P&e?"#00ff00":"#000000")}else a.ac&=~b,d&&(a.ac|=b);return!0}}return!1} function fj(a,b,c){if(Y[b]&&a.A&&a.A.ma.zb){aj[b]&&a.O.length&&0e||(e==a.O.length&&(d={},d.le=b,d.ac=a.ac,ij(a,b,!0),e++),0b.qd){if(!b.$e){hj(a,b.le);return}b.$e=!1;c=a.pa}else c=1==b.qd++?500:100;b.rj=setTimeout(function(a){return function(){kj(a,b)}}(a),c)}}else hj(a,b.le,!0)} +function hj(a,b,c){if(!Y[b]||!(c||a.A&&a.A.ma.zb))return!1;for(var d=!1,e=0;eb.qd){if(!b.$e){hj(a,b.le);return}b.$e=!1;c=a.pa}else c=1==b.qd++?500:100;b.rj=setTimeout(function(a){return function(){kj(a,b)}}(a),c)}}else hj(a,b.le,!0)} function mj(a,b,c){var d=b;if(65<=b&&90>=b)!(a.ac&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.ac&515)==c&&(d=b-32);else if(!!(a.ac&3)==c){if(a=$i[b])d=a}else if(a=Zi[b])d=a;return d}f.Fg=function(a){a||(this.ac&=-256)}; function ej(a,b,c){var d=!0,e=!1,g=!1,l=b.keyCode,p=mj(a,l,!0);a.fh&&p==W["`"]&&(l=p=27);if(Y[l+1E3])if(p+=1E3,2==b.location&&(p+=2E3),gj(a,p,!1,c)){if(20==l||144==l||145==l)a.na||(c=e=!0);if(!(c||91!=l&&93!=l))for(var q=0;q=b||97<=b&&122>=b;d>>>=8;){var l=0,p=d&255;224==g||225==g?e.push(g|(c?0:128)):(42==p?a.P&3||a.P&512&&b||(l=p):29==p?a.P&12||(l=p):56==p?a.P&48||(l=p):e.push(g|(c?0:128)),l&&(c?e.unshift(l):e.push(l|128)))}for(c=0;cd.B.length?(d.ta()&&d.Fa("scan code "+k(g)+" buffered"),d.B.push(g),1==d.B.length&&d.U&&Ji(d.U,g)):(20== d.B.length&&d.B.push(255),d.Fa("scan code buffer overflow")))}}Ma(function(){for(var a=ib(window.document,"pcjs","keyboard"),b=0;b>this.controller.xi&255};Rj[17408]=function(a){return(this.controller.vb=this.ga[(a&-4)+this.B])>>((a&3)<<3)&255};Rj[5120]=function(a){a+=this.B;var b=this.controller.vb=this.ga[a&-2];return(a&1?b>>8:b)&255};Rj[1280]=function(a){a+=this.B;a=this.controller.vb=this.ga[a];for(var b=this.controller.nh,c=this.controller.mh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -Rj[0]=function(a,b){var c=a+this.B,d;d=(b|b<<8|b<<16|b<<24)&this.controller.Ad|this.controller.Td;d=d&this.controller.Db|this.controller.vb&~this.controller.Db;d=d&this.controller.jb|this.ga[c]&~this.controller.jb;this.ga[c]!=d&&(this.ga[c]=d,this.Za=!0)}; -Rj[32]=function(a,b){var c=a+this.B;b=b>>this.controller.Ic|b<<8-this.controller.Ic&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Ad|this.controller.Td;d=d&this.controller.Db|this.controller.vb&~this.controller.Db;d=d&this.controller.jb|this.ga[c]&~this.controller.jb;this.ga[c]!=d&&(this.ga[c]=d,this.Za=!0)}; -Rj[96]=function(a,b){var c=a+this.B;b=b>>this.controller.Ic|b<<8-this.controller.Ic&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Ad|this.controller.Td;d&=this.controller.vb;d=d&this.controller.Db|this.controller.vb&~this.controller.Db;d=d&this.controller.jb|this.ga[c]&~this.controller.jb;this.ga[c]!=d&&(this.ga[c]=d,this.Za=!0)}; -Rj[160]=function(a,b){var c=a+this.B;b=b>>this.controller.Ic|b<<8-this.controller.Ic&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Ad|this.controller.Td;d|=this.controller.vb;d=d&this.controller.Db|this.controller.vb&~this.controller.Db;d=d&this.controller.jb|this.ga[c]&~this.controller.jb;this.ga[c]!=d&&(this.ga[c]=d,this.Za=!0)}; -Rj[224]=function(a,b){var c=a+this.B;b=b>>this.controller.Ic|b<<8-this.controller.Ic&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Ad|this.controller.Td;d^=this.controller.vb;d=d&this.controller.Db|this.controller.vb&~this.controller.Db;d=d&this.controller.jb|this.ga[c]&~this.controller.jb;this.ga[c]!=d&&(this.ga[c]=d,this.Za=!0)};Rj[4]=function(a,b){var c=(a&-4)+this.B,d=(a&3)<<3,d=b<>this.controller.Ic|b<<8-this.controller.Ic&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Db;d=this.controller.qf&d|this.controller.vb&~d;d=d&this.controller.jb|this.ga[c]&~this.controller.jb;this.ga[c]!=d&&(this.ga[c]=d,this.Za=!0)}; +Rj[1024]=function(a){a+=this.B;return(this.controller.vb=this.ha[a])>>this.controller.xi&255};Rj[17408]=function(a){return(this.controller.vb=this.ha[(a&-4)+this.B])>>((a&3)<<3)&255};Rj[5120]=function(a){a+=this.B;var b=this.controller.vb=this.ha[a&-2];return(a&1?b>>8:b)&255};Rj[1280]=function(a){a+=this.B;a=this.controller.vb=this.ha[a];for(var b=this.controller.nh,c=this.controller.mh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; +Rj[0]=function(a,b){var c=a+this.B,d;d=(b|b<<8|b<<16|b<<24)&this.controller.Ad|this.controller.Td;d=d&this.controller.Db|this.controller.vb&~this.controller.Db;d=d&this.controller.jb|this.ha[c]&~this.controller.jb;this.ha[c]!=d&&(this.ha[c]=d,this.Za=!0)}; +Rj[32]=function(a,b){var c=a+this.B;b=b>>this.controller.Ic|b<<8-this.controller.Ic&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Ad|this.controller.Td;d=d&this.controller.Db|this.controller.vb&~this.controller.Db;d=d&this.controller.jb|this.ha[c]&~this.controller.jb;this.ha[c]!=d&&(this.ha[c]=d,this.Za=!0)}; +Rj[96]=function(a,b){var c=a+this.B;b=b>>this.controller.Ic|b<<8-this.controller.Ic&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Ad|this.controller.Td;d&=this.controller.vb;d=d&this.controller.Db|this.controller.vb&~this.controller.Db;d=d&this.controller.jb|this.ha[c]&~this.controller.jb;this.ha[c]!=d&&(this.ha[c]=d,this.Za=!0)}; +Rj[160]=function(a,b){var c=a+this.B;b=b>>this.controller.Ic|b<<8-this.controller.Ic&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Ad|this.controller.Td;d|=this.controller.vb;d=d&this.controller.Db|this.controller.vb&~this.controller.Db;d=d&this.controller.jb|this.ha[c]&~this.controller.jb;this.ha[c]!=d&&(this.ha[c]=d,this.Za=!0)}; +Rj[224]=function(a,b){var c=a+this.B;b=b>>this.controller.Ic|b<<8-this.controller.Ic&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Ad|this.controller.Td;d^=this.controller.vb;d=d&this.controller.Db|this.controller.vb&~this.controller.Db;d=d&this.controller.jb|this.ha[c]&~this.controller.jb;this.ha[c]!=d&&(this.ha[c]=d,this.Za=!0)};Rj[4]=function(a,b){var c=(a&-4)+this.B,d=(a&3)<<3,d=b<>this.controller.Ic|b<<8-this.controller.Ic&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Db;d=this.controller.qf&d|this.controller.vb&~d;d=d&this.controller.jb|this.ha[c]&~this.controller.jb;this.ha[c]!=d&&(this.ha[c]=d,this.Za=!0)}; function Sj(a){var b=[];if(void 0!==a.fb){b[0]=a.jc;b[1]=a.Kc;b[2]=a.Pe;b[3]=a.Ha;b[4]=a.ec|a.Kg<<8;b[5]=a.mb;if(5<=a.fb){var c=[];c[0]=a.nd;c[1]=a.Cd;c[2]=a.Ac;c[3]=a.Ng;c[4]=a.Re;c[5]=a.wf;c[6]=a.Ed;c[7]=a.ie;c[8]=a.mj;c[9]=a.nj;c[10]=a.Dd;c[11]=a.Wd;c[12]=a.vb;c[13]=[a.ib,a.Yb,a.ld];var d;a:if(d=a.$c){var e=0,g=[];if(void 0!==d[0])for(var l=0;2>l;l++)for(var p=l;p>1;g[e++]=q;p=r}if(g.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var g=h(b.ib+a)+":",G=0;8>G&&ac&&(a=Math.round(c/b*100)+"%")}this.df?(this.ua.style.width=a,this.ua.style.width=a,this.ua.style.display="block",this.ua.style.margin="auto"):(this.ha.style.width=a,this.ha.style.height="auto");this.ha.style.backgroundColor="black";this.ha.se();a=!0}this.Mc()}return a}; -function rj(a,b){!b&&a.ha&&(a.df?a.ua.style.width=a.ua.style.height="":a.ha.style.width=a.ha.style.height="");a.Fa("notifyFullScreen("+b+")",!0);a.P&&(a.P.fh=b)}f.ee=function(a){var b=!1;this.V&&(a?this.V.ee&&(this.V.ee(),b=this.kb.R=!0):this.V.sj&&(this.V.sj(),this.kb.R=!1,b=!0),this.Mc());return b}; +f.Lb=function(a,b,c){var d=this;if(!this.wa[b])switch(this.wa[b]=c,b){case "fullScreen":return this.ga&&this.ga.se?c.onclick=function(){d.se()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.mm=c.textContent,this.V&&this.V.ee?c.onclick=function(){d.ee(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){Fc(d,!0)},!0}return!1};f.Mc=function(){this.V&&this.V.focus()}; +f.se=function(){var a=!1;if(this.ga){if(this.ga.se){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Ca/this.Na;b>c&&(a=Math.round(c/b*100)+"%")}this.df?(this.ua.style.width=a,this.ua.style.width=a,this.ua.style.display="block",this.ua.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.se();a=!0}this.Mc()}return a}; +function rj(a,b){!b&&a.ga&&(a.df?a.ua.style.width=a.ua.style.height="":a.ga.style.width=a.ga.style.height="");a.Fa("notifyFullScreen("+b+")",!0);a.P&&(a.P.fh=b)}f.ee=function(a){var b=!1;this.V&&(a?this.V.ee&&(this.V.ee(),b=this.kb.R=!0):this.V.sj&&(this.V.sj(),this.kb.R=!1,b=!0),this.Mc());return b}; function ck(a){var b=a.V;b&&!a.qc&&(b.addEventListener("touchstart",function(b){dk(a,b)},!1),b.addEventListener("touchmove",function(b){dk(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.qc=!0)}f.Fg=function(a){this.ce=a;this.P&&this.P.Fg(a)}; function dk(a,b){a.ce&&b.preventDefault();var c=0,d=0,e=a.ua;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var g=a.Ca/a.ua.offsetWidth,e=a.Na/a.ua.offsetHeight,l,p;b.targetTouches?(l=b.targetTouches[0].pageX,p=b.targetTouches[0].pageY):(l=b.pageX,p=b.pageY);c=(l-c)*g/(a.Ca/3)|0;d=(p-d)*e/(a.Na/3)|0;1!=d?d?fj(a.P,1040,!0):fj(a.P,1038,!0):1!=c&&(c?fj(a.P,1039,!0):fj(a.P,1037,!0))} f.dc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};f.cc=function(a){return a&&this.save?this.save():!0}; @@ -905,8 +905,8 @@ f.fl=function(a,b,c){if(c)this.Pa("Unable to load font ROM image (error "+c+")") function jk(a,b){if(1==b)return a.Ma[0]=wj[0],a.Ma[1]=wj[7],a.Ma;if(2==b){var c=a.O.Pe;if(a.O===a.B){var d=a.B.Ac[0],c=d&7;d&16&&(c|=8);18!=a.B.Ac[1]&&(c|=32)}a.Ma[0]=wj[c&15];c=c&32?yj:xj;for(d=0;dg;g++)l=d[g]||0,p=l<<2&252,q=l>>4&252,l=l>>10&252,a.Ma[g]=[p,q,l,255];else{var r=d&&d[255];e=null!=c.Ac[15]?c.Ac:zj;for(g=0;16>g;g++)l=e[g]&63,r?(l|= (c.Ac[20]&12)<<4,c.Ac[16]&128&&(l&=-49,l|=(c.Ac[20]&3)<<4),l=d[l],p=l<<2&252,q=l>>4&252,l=l>>10&252):(p=(l&4?170:0)|(l&32?85:0),q=(l&2?170:0)|(l&16?85:0),l=(l&1?170:0)|(l&8?85:0)),a.Ma[g]=[p,q,l,255]}a.hb=!0}return a.Ma}function Oi(a,b,c,d){a.Nc=b;a.fd=c;a.Nb=d}function fk(a){var b=!1;if(window&&a.Nc){var c=0,d=a.Nb?a.Nb:8,e=jk(a);kk(a,3,a.fd[0],c,d,8,a.Nc,e)&&(b=!0);c=a.Nb?0:2048;d=a.Nb?a.Nb:9;kk(a,1,a.fd[1],c,d,14,a.Nc,uj,vj)&&(b=!0);a.Nb&&kk(a,a.fb,a.fd[1],0,a.Nb,14,a.Nc,e)&&(b=!0)}return b} function kk(a,b,c,d,e,g,l,p,q){var r=!1;null!=c&&(lk(a,b,c,d,e,g,l,p,q)&&(r=!0),a.Ei&&lk(a,b<<1,c,d,e,g,l,p,q)&&(r=!0));return r} -function lk(a,b,c,d,e,g,l,p,q){var r=!1,x=b&1?0:1,G=a.Ta[b],D=16>p.length?p.length:16;G||(G={wc:e<ha||!T?ha:8,Ua=vd.createImageData(r.wc,r.xc),aa=0;256>aa;aa++){for(Qa= -0;Qa=ha-2,Ja=Na[Qa>(8<=da&&192<=aa&&223>=aa?7:da)?H:zc;mk(Ua,Tc,Ac,wd);X&&mk(Ua,Tc+1,Ac,wd)}vd.putImageData(Ua,(aa&15)*r.wc,(aa>>4)*r.xc)}r.ne[K]="#"+h(H[0],2)+h(H[1],2)+h(H[2],2);r.Ii[K]=H;r.Ug[K]=ea;r=!0}}a.Ta[b]=G;return r}function nk(a){0a.xb&&(a.xb=0):a.xb=-1} +function lk(a,b,c,d,e,g,l,p,q){var r=!1,x=b&1?0:1,G=a.Ta[b],D=16>p.length?p.length:16;G||(G={wc:e<ha||!T?ha:8,Ua=wd.createImageData(r.wc,r.xc),aa=0;256>aa;aa++){for(Qa= +0;Qa=ha-2,Ja=Na[Qa>(8<=da&&192<=aa&&223>=aa?7:da)?H:zc;mk(Ua,Tc,Ac,xd);X&&mk(Ua,Tc+1,Ac,xd)}wd.putImageData(Ua,(aa&15)*r.wc,(aa>>4)*r.xc)}r.ne[K]="#"+h(H[0],2)+h(H[1],2)+h(H[2],2);r.Ii[K]=H;r.Ug[K]=ea;r=!0}}a.Ta[b]=G;return r}function nk(a){0a.xb&&(a.xb=0):a.xb=-1} function ik(a){if(a.la){for(var b=10;15>=b;b++)if(null==a.O.mb[b])return;var c=a.O.mb[10],b=c&31,d=a.O.mb[11]&31,e=a.O.mb[9]&31,g=!1;a.O===a.B&&(g=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!g||b>e)ok(a);else{c=a.O.mb[15]+((a.O.mb[14]&63)<<8);a.pa!=c&&(ok(a),a.pa=c);d=d-b+1;if(a.tf!=b||a.de!=d)a.tf=b,a.de=d;a.ab=e+1;nk(a)}}} function ok(a){if(0<=a.pa){if(void 0!==a.da){var b=a.da[a.pa];if(b&131072){var b=b&-131073,c=a.pa%a.R,d=a.pa/a.R|0;a.la&&a.Ta[a.la]&&(a.Mb&&pk(a,c,d,b,a.Mb),pk(a,c,d,b));a.da[a.pa]=b}}a.pa=-1}} function qk(a){var b,c=a.O;a.cf=!1;var d=c.Wd[5];if(null!=d){b=1024;var e=0,g=c.Wd[3]&31;switch(d&3){case 0:if(g){e=32;switch(g&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.Ic=g&7}break;case 1:e=1;break;case 2:switch(g&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.fb==Pi&&(e=3,c.Ic=g&7)}d&8&&(b=1280);c=c.ie[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.cf=!0));b|=e}return b} @@ -940,8 +940,8 @@ var Uj={948:Z.prototype.vk,949:Z.prototype.uk,952:Z.prototype.wk,954:Z.prototype 961:Z.prototype.hj,962:Z.prototype.Sl,964:Z.prototype.$l,965:Z.prototype.Zl,970:Z.prototype.Ll,972:Z.prototype.Kl,974:Z.prototype.Jl,975:Z.prototype.Il,986:Z.prototype.ij},ak={963:Z.prototype.Ik,966:Z.prototype.hk,967:Z.prototype.ik,969:Z.prototype.gk,970:Z.prototype.Jk,972:Z.prototype.Kk},bk={963:Z.prototype.bm,966:Z.prototype.Cl,967:Z.prototype.Dl,968:Z.prototype.El,969:Z.prototype.Bl}; Ma(function(){for(var a=ib(window.document,"pcjs","video"),b=0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize= function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var g=window.document.createElement("textarea");Ea("iOS")&&(g.setAttribute("autocapitalize","off"),g.setAttribute("autocorrect","off"));c.appendChild(g);var l=e.getContext("2d"),d=new Z(d,e,l,g,c);hb(d,c)}}); -function yk(a){this.ua=a.adapter;switch(this.ua){case 1:this.ha=1016;this.aa=4;break;case 2:this.ha=760;this.aa=3;break;default:ya("Unrecognized serial adapter #"+this.ua);return}this.V=null;Ta.call(this,"SerialPort",a,yk,4194304);var b=a.binding,c;a=zk;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.wa[b])&&this.Lb(null,a,b))}bb(yk);var zk="buffer";f=yk.prototype;f.Ji=function(a,b){return a==this.Gd?(this.kb=b,this):null}; -f.Lb=function(a,b,c){var d=this;switch(b){case zk:return this.wa[b]=this.V=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Ak(d,[b]))},c.onkeypress=function(a){a=a||window.event;Ak(d,[a.which||a.keyCode])},!0}return!1};f.yc=function(a,b,c,d){this.va=b;this.A=c;this.ea=d;this.U=vb(a,"ChipSet");Ub(b,this,Bk,this.ha);Yb(b,this,Ck,this.ha);nb(this)};f.dc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; +function yk(a){this.ua=a.adapter;switch(this.ua){case 1:this.ga=1016;this.aa=4;break;case 2:this.ga=760;this.aa=3;break;default:ya("Unrecognized serial adapter #"+this.ua);return}this.V=null;Ta.call(this,"SerialPort",a,yk,4194304);var b=a.binding,c;a=zk;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.wa[b])&&this.Lb(null,a,b))}bb(yk);var zk="buffer";f=yk.prototype;f.Ji=function(a,b){return a==this.Gd?(this.kb=b,this):null}; +f.Lb=function(a,b,c){var d=this;switch(b){case zk:return this.wa[b]=this.V=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Ak(d,[b]))},c.onkeypress=function(a){a=a||window.event;Ak(d,[a.which||a.keyCode])},!0}return!1};f.yc=function(a,b,c,d){this.va=b;this.A=c;this.ea=d;this.U=vb(a,"ChipSet");Ub(b,this,Bk,this.ga);Yb(b,this,Ck,this.ga);nb(this)};f.dc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; f.cc=function(a){return a&&this.save?this.save():!0};f.reset=function(){Dk(this)};f.save=function(){var a=new ge(this),b=0,c=[];c[b++]=this.Fa;c[b++]=this.pa;c[b++]=this.la;c[b++]=this.da;c[b++]=this.R;c[b++]=this.O;c[b++]=this.P;c[b++]=this.B;c[b++]=this.na;c[b]=this.Y;he(a,0,c);return a.data()};f.restore=function(a){return Dk(this,a[0])}; function Dk(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.Fa=b[c++];a.pa=b[c++];a.la=b[c++];a.da=b[c++];a.R=b[c++];a.O=b[c++];a.P=b[c++];a.B=b[c++];a.na=b[c++];a.Y=b[c];return!0}function Ak(a,b){a.Y=a.Y.concat(b);Ek(a)}function Ek(a){0>8:this.da;m(this,a,null,b,this.O&128?"DLM":"IER",c);return c};f.qk=function(a,b){var c=this.R;m(this,a,null,b,"IIR",c);return c};f.rk=function(a,b){var c=this.O;m(this,a,null,b,"LCR",c);return c};f.tk=function(a,b){var c=this.P;m(this,a,null,b,"MCR",c);return c};f.sk=function(a,b){var c=this.B;m(this,a,null,b,"LSR",c);return c}; @@ -949,12 +949,12 @@ f.yk=function(a,b){var c=this.na;m(this,a,null,b,"MSR",c);return c};f.am=functio f.Nl=function(a,b,c){m(this,a,b,c,"LCR");this.O=b};f.Ol=function(a,b,c){var d=this.P;m(this,a,b,c,"MCR");this.P=b;this.kb&&(d^b)&3&&(a=this.kb,b=this.P,(c=3==(b&3))?a.jc||(d=!1,a.P&2||(a.reset(),a.Fa("serial mouse reset"),d=!0),a.P&1||(a.Fa("serial mouse ID requested"),d=!0),d&&(Ak(a.da,[77,77]),a.Fa("serial mouse ID sent")),Fk(a),a.jc=c):a.jc&&(a.Fa("serial mouse inactive"),Gk(a),a.jc=c),a.P=b)}; var Bk={0:yk.prototype.Ek,1:yk.prototype.pk,2:yk.prototype.qk,3:yk.prototype.rk,4:yk.prototype.tk,5:yk.prototype.sk,6:yk.prototype.yk},Ck={0:yk.prototype.am,1:yk.prototype.Ml,3:yk.prototype.Nl,4:yk.prototype.Ol};Ma(function(){for(var a=ib(window.document,"pcjs","serial"),b=0;ba.V||0>a.Y)a.V=b.clientX,a.Y=b.clientY;a.R?(a.B=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.O=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.B=b.clientX-a.V,a.O=b.clientY-a.Y);(a.B||a.O)&&Kk(a,null,b.clientX,b.clientY);a.V=b.clientX;a.Y=b.clientY}},!1),b.addEventListener("mousedown",function(b){Lk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Lk(a,b.button,!1)},!1),b.style.cursor= -"none",!0):!1}function Lk(a,b,c){if(a.jc&&a.A&&a.A.ma.zb){var d;!(d=!1!==a.R)&&(d=a.aa.length)&&(d=a.aa[0],d=d.Di?d.ee(!0):!1);d||(a.R=null);d="mouse button"+b+" "+(c?"dn":"up");switch(b){case 0:a.ha!=c&&(a.ha=c,Kk(a,d));break;case 2:a.na!=c&&(a.na=c,Kk(a,d))}}} -function Kk(a,b,c,d){var e=64|(a.ha?32:0)|(a.na?16:0)|(a.O&192)>>4|(a.B&192)>>6,g=a.B&63,l=a.O&63;a.ta(4194304)&&a.Fa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+k(e)+","+k(g)+","+k(l)+"]",0,!0);Ak(a.da,[e,g,l]);a.B=a.O=0}Ma(function(){for(var a=ib(window.document,"pcjs","mouse"),b=0;b>4|(a.B&192)>>6,g=a.B&63,l=a.O&63;a.ta(4194304)&&a.Fa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+k(e)+","+k(g)+","+k(l)+"]",0,!0);Ak(a.da,[e,g,l]);a.B=a.O=0}Ma(function(){for(var a=ib(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);l.A=Array(l.Gb);for(c=0;cc&&this.la&&!this.la.ma.bc; D&&D.length){for(var g=r<<2,H=D.length;Hb&&(b=0);2E3b&&(b=0);2E3l.Ia.restore(D)&&(p=!1);p&&l.Ia&&void 0!==l.$a&&(l.gb=l.Ia.seek(l.Eb,l.eb,l.ob));p||(e=!1)}a.Y=b[c++]||0;a.ua=b[c]||0;return e}f.Qi=function(a){var b;a=this.B[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; f.pj=function(a,b,c){if(a.Ia){var d=a.Ia.info(),e=d[2],g=d[1]*e;if(b+c<=d[0]*g)return a.Eb=Math.floor(b/g),b%=g,a.eb=Math.floor(b/e),a.ob=b%e+1,a.wb=c*d[3],a.sb=0,!0}return!1};function fl(a,b){b||(a.da=0);if(a.aa)for(var c in a.aa){var d=a.aa[c];if(d.name&&d.path){var e=c.charCodeAt(0)-65;if(0<=e&&ea.Gb||g[1]>a.Hb)&&(this.Pa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ab)),b=null);b?(a.Ia=b,a.oj=c,a.ke=d,jl(this,c,d,b),g=b.info(),this.Y|=128,this.Pa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ab),a.ae||e),a.Qf=g[0],a.nf=g[1],a.of=g[2]):a.ve=!1;a.ae&&(a.ae=!1,--this.da||nb(this));$k(this,a.Ab)}; function el(a,b,c){if(a=a.wa.listDisks){for(var d=0;d=this.P&&(this.Ha&=-81,this.R=this.P=0);return c}; +function gl(a,b,c,d){var e=a.B[b];e.Ia&&(hl(a,e.ke,e.Ia),e.oj="",e.ke="",e.Ia=null,e.ve=!1,a.Y|=128,d||a.Pa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||$k(a,b))}function jl(a,b,c,d){var e;for(e=0;e=this.P&&(this.Ha&=-81,this.R=this.P=0);return c}; f.Gl=function(a,b,c){this.ta()&&m(this,a,b,c,"DATA["+this.P+"]");this.P=Zk[a].sd){b=!1;this.R=0;a=kl(this);var d,e,g,l,p=a&31;switch(p){case 3:kl(this);kl(this);ll(this);break;case 4:c=kl(this);this.Ab=c&3;d=this.B[this.Ab];ll(this);ml(this,(d.sb&-16777216)>>>24);break;case 5:case 6:c=kl(this);b=c>>2&1;this.Ab=c&3;d=this.B[this.Ab];d.eb=b;c=d.Eb=kl(this);e=kl(this);g=d.ob=kl(this);l=kl(this);d.wb=128<>2&1;this.Ab=c&3;d= this.B[this.Ab];c=d.Eb;e=d.eb=b;g=d.ob=1;l=0;d.sb=0;d.Ia&&(d.gb=d.Ia.seek(d.Eb,d.eb,d.ob))?l=d.gb.length:d.sb=72;nl(this,d,a,b,c,e,g,l);b=!0;break;case 13:c=kl(this);b=c>>2&1;this.Ab=c&3;d=this.B[this.Ab];c=d.Eb;e=d.eb=b;g=1;l=kl(this);d.wb=128<>2&1,c=kl(this),d.Eb+=c-d.Kd,0>d.Eb&&(d.Eb=0),d.Eb>=d.Gb&&(d.Eb=d.Gb-1),d.Kd=c,d.sb=32,d.Eb||(d.sb|=268435456),ll(this),b=!0}0>2&1,c=kl(this),d.Eb+=c-d.Kd,0>d.Eb&&(d.Eb=0),d.Eb>=d.Gb&&(d.Eb=d.Gb-1),d.Kd=c,d.sb=32,d.Eb||(d.sb|=268435456),ll(this),b=!0}0>>8);ml(a,(b.sb&16711680)>>>16);var q=0;if(e!=b.Eb||g!=b.eb)q=l=1;c&128&&(g^=q,d||(q=0));ml(a,e+q);ml(a,g);ml(a,l);ml(a,p)}function kl(a){var b=a.V[a.R];a.R++;return b}function ll(a){a.R=a.P=0}function ml(a,b){a.V[a.P++]=b} f.uj=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.sb&&a.Ia){do{if(a.gb&&(e=a.$a,0<=(b=Xk(a.gb,a.$a++)))){d=a.gb;break}a.gb=a.Ia.seek(a.Eb,a.eb,a.ob);if(!a.gb){a.sb=1088;break}a.$a=0;ol(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};f.vj=function(a,b){return void 0!==b&&0<=b?pl(a,b):-1}; f.Fj=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.sb)c=-1;else{a.Qc[a.re++]=c;if(a.re==a.Qc.length){a.Eb=a.Qc[0];a.eb=a.Qc[1];a.ob=a.Qc[2];a.wb=128<pl(a,a.Ki)){c=-1;break a}a.Gf++}a.Gf>=a.Ld&&(c=-1)}else c=-1;return c};function pl(a,b){if(a.sb||!a.Ia)return-1;do{if(a.gb&&a.Ia.write(a.gb,a.$a++,b))break;a.gb=a.Ia.seek(a.Eb,a.eb,a.ob);if(!a.gb){a.sb=8256;b=-1;break}a.$a=0;ol(a)}while(1);return b} function ol(a){a.ob++;a.ob>=a.of+1&&(a.ob=1,a.eb++,a.eb>=a.nf&&(a.eb=0,a.Eb++))}var cl={1012:Yk.prototype.lk,1013:Yk.prototype.jk,1015:Yk.prototype.kk},dl={1010:Yk.prototype.Hl,1013:Yk.prototype.Gl,1015:Yk.prototype.Fl};Ma(function(){for(var a=ib(window.document,"pcjs","fdc"),b=0;bq.Ia.restore(l)&&(H=!1),H&&void 0!==q.$a&&(q.gb=q.Ia.seek(q.Fd,q.eb,q.ob+q.Ff)));H||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(g.type&3)<<(1-d<<1))}return e}f.Qi=function(a){var b;a=this.B[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; function yl(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.oe[2])?e=b.oe[0]<<8|b.oe[1]:c=b.type);null==c||d||(d=rl[a.Ba][c][1],e=rl[a.Ba][c][0]);d&&((c=rl[a.Ba][b.type])&&e!=c[0]&&d!=c[1]&&a.Pa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Gb=e,b.Hb=d,null==b.Ia&&(b.Ia=new Mk(a,b,b.mode)))}} f.pj=function(a,b,c){if(a.Ia){var d=a.Ia.info(),e=d[0];if(e){var g=d[2],l=d[1]*g;if(b+c<=e*l)return a.Fd=Math.floor(b/l),b%=l,a.eb=Math.floor(b/g),a.ob=b%g,a.wb=c*d[3],a.errorCode=0,!0}}return!1}; @@ -1030,7 +1030,7 @@ function Al(a,b,c){var d=-1,e=null,g=0;if(a.errorCode)return b&&b(d,!1,e,g),d;va function Cl(a,b){if(a.errorCode)return-1;do{if(a.gb&&a.Ia.write(a.gb,a.$a++,b))break;a.Ia&&a.Ia.seek(a.Fd,a.eb,a.ob+a.Ff,!0,function(b){a.gb=b});if(!a.gb){a.errorCode=20;b=-1;break}a.$a=0;Kl(a)}while(1);return b}function Kl(a){a.ob++;var b=1-a.Ff;a.ob>=a.Kb+b&&(a.ob=b,a.eb++,a.eb>=a.Hb&&(a.eb=0,a.Fd++))}f.Pk=function(){var a=this.A.H&255;!(this.A.F>>8)&&128>8||!this.U)||(a=!(this.U.$b[0].jd&64));return a?!0:!1}; var tl={800:ql.prototype.Mk,801:ql.prototype.Nk,802:ql.prototype.Lk},sl={496:ql.prototype.Uj,497:ql.prototype.Wj,498:ql.prototype.Xj,499:ql.prototype.Yj,500:ql.prototype.Tj,501:ql.prototype.Sj,502:ql.prototype.Vj,503:ql.prototype.Zj},vl={800:ql.prototype.cm,801:ql.prototype.fm,802:ql.prototype.em,803:ql.prototype.dm,807:ql.prototype.zi,811:ql.prototype.zi,815:ql.prototype.zi},ul={496:ql.prototype.nl,497:ql.prototype.sl,498:ql.prototype.ql,499:ql.prototype.rl,500:ql.prototype.ml,501:ql.prototype.ll, 502:ql.prototype.ol,503:ql.prototype.kl,1014:ql.prototype.pl};Ma(function(){for(var a=ib(window.document,"pcjs","hdc"),b=0;bc.qb)b.La=0,b.Oa=null}} function jm(a,b,c){c=c||1;null!=b.Oa&&(b.Oa+=c);null!=b.oa&&(b.La+=c,nm(a,b))}function Ig(a,b,c){return null!=b?h(b,4)+":"+h(a,a&-65536||c?8:4):h(a)}function om(a){return null==a.oa?"%"+h(a.Oa):Ig(a.La,a.oa,a.Fc)}function hm(a,b,c){var d="";for(c=c||256;d.lengthe?String.fromCharCode(e):"."}return d} var fm={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}; -function pm(a,b,c){var d="";c=c||10;var e=0,g=a.Ea,l=a.na;if(l.length){var p=void 0===b?a.lb:+b;isNaN(p)?p=c:d="more ";p>l.length&&(a.W("note: only "+l.length+" available"),p=l.length);g-=p;0>g&&(null!=l[l.length-1][1]?g+=l.length:(p=g+p,g=0));for(void 0!==b&&a.W(p+" instructions earlier:");c&&g!=a.Ea;){b=l[g++];if(null==b.oa)break;b=Ml(a,b.La,b.oa,b.Oa);a.W(qm(a,b,"history",p--));b.gh&&(g++,p--);g>=l.length&&(g=0);a.lb=p;e++;c--}}e||(a.W("no "+d+"history available"),a.lb=void 0)} -function Pl(a,b){a.ea=a;a.Ub=a.zj=1073741824;a.Na=null;a.Ra=[];var c=im(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in Xl)0<=va(c,d)&&(a.Ub|=Xl[d],a.W(d+" messages enabled"))}function Hh(a,b,c){for(var d in Xl)if(b==Xl[d]){a.Ra[d]=c;break}}function rm(a,b){b=b||0;var c=va(Vl,a.substr(b,2).toUpperCase());0>c&&2l.length&&(a.W("note: only "+l.length+" available"),p=l.length);g-=p;0>g&&(null!=l[l.length-1][1]?g+=l.length:(p=g+p,g=0));for(void 0!==b&&a.W(p+" instructions earlier:");c&&g!=a.Ea;){b=l[g++];if(null==b.oa)break;b=Ml(a,b.La,b.oa,b.Oa);a.W(qm(a,b,"history",p--));b.gh&&(g++,p--);g>=l.length&&(g=0);a.lb=p;e++;c--}}e||(a.W("no "+d+"history available"),a.lb=void 0)} +function Pl(a,b){a.ea=a;a.Ub=a.zj=1073741824;a.Na=null;a.Ra=[];var c=im(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in Xl)0<=va(c,d)&&(a.Ub|=Xl[d],a.W(d+" messages enabled"));Ol(a)}function Hh(a,b,c){for(var d in Xl)if(b==Xl[d]){a.Ra[d]=c;break}}function rm(a,b){b=b||0;var c=va(Vl,a.substr(b,2).toUpperCase());0>c&&2>8;e=2;break;case 5:d=g.G>>8;e=2;break;case 6:d=g.H>>8;e=2;break;case 7:d=g.D>>8;e=2;break;case 8:d=g.F;e=4;break;case 9:d=g.G;e=4;break;case 10:d=g.H;e=4;break;case 11:d=g.D;e=4;break;case 12:d=u(g);e=4;break;case 13:d=g.L;e=4;break;case 14:d=g.K;e=4;break;case 15:d=g.J;e=4;break;case 22:d=w(g);e=a.Ba;break;case 23:d=Zc(g);e=a.Ba;break; case 16:d=g.cb.oa;e=4;break;case 17:d=ce(g);e=4;break;case 18:d=g.Da.oa;e=4;break;case 19:d=g.tb.oa,e=4}if(!e)if(80286==a.A.qa)32==b&&(d=g.rb,e=4);else if(80386<=a.A.qa)switch(b){case 24:d=g.F;e=8;break;case 25:d=g.G;e=8;break;case 26:d=g.H;e=8;break;case 27:d=g.D;e=8;break;case 28:d=u(g);e=8;break;case 29:d=g.L;e=8;break;case 30:d=g.K;e=8;break;case 31:d=g.J;e=8;break;case 32:d=g.rb;e=8;break;case 33:d=g.vf;e=8;break;case 34:d=g.Ud;e=8;break;case 35:d=g.Vd;e=8;break;case 20:d=g.nc.oa;e=4;break;case 21:d= g.oc.oa,e=4}e&&(c=h(d,e))}return c}f=Ll.prototype;f.message=function(a,b){b&&(a+=" @"+Ig(w(this.A),ce(this.A)));if(!this.Na||a!=this.Na)if(this.W(a),this.Na=a,this.A){this.Ub&-2147483648&&this.Pb();var c=this.A;c.Z.Fe=0;c.Ta-=c.A;c.A=0;yc(c)}}; function mh(a,b,c){var d,e=!1,g=Rl[b];g&&(d=a.A.F>>8,e=a.ta(g)?!0:524288==g&&a.ta(g=1048576));if(e){var l=a.A.H&255;if(33==b&&11==d||524288==g&&128<=l||1048576==g&&128>l)e=!1}if(e){if(g=(g=cm[b])&&g[d]||""){for(var l=0,p,q;0<=(l=g.indexOf("%",l));)q=rm(g,l+1),0<=q&&(g=g.replace("%"+Vl[q],sm(a,q))),l++;for(l=0;0<=(l=g.indexOf("#",l));)q=g.substr(l+1,2),p=fa(q,16),null!=p&&32<=p&&128>p?(p=q+" '"+String.fromCharCode(p)+"'",g=g.replace("#"+q,p),l+=p.length):l++;for(l=0;0<=(l=g.indexOf("$",l));)q=g.substr(l+ 1,9),p=tm(a,q),p=q+' "'+hm(a,p)+'"',g=g.replace("$"+q,p),l+=p.length;for(l=0;0<=(l=g.indexOf("^",l));)q=g.substr(l+1,9),p=tm(a,q),jm(a,p),p=q+' "'+hm(a,p,11)+'"',g=g.replace("^"+q,p),l+=p.length;g=" "+g}a.message("INT "+k(b)+": AH="+k(d)+" @"+Ig(c-2-a.A.xa.Ka,ce(a.A))+g)}return e} function jb(a,b,c,d,e,g,l,p){p|=256;if(null==e||(a.Ub&p)==p)p=null,null!=e&&(p=ce(a.A),e-=a.A.xa.Ka),a.message(b.Gd+"."+(null!=d?"outPort":"inPort")+"("+ga(c)+","+(g?g:"unknown")+(null!=d?","+k(d):"")+")"+(null!=l?": "+k(l):"")+(null!=e?" @"+Ig(e,p):""))}f.Ok=function(){this.W("Type ? for list of debugger commands");this.Tc();if(this.Ta){var a=im(this,this.Ta);delete this.Ta;for(var b in a)Ql(this,a[b])}}; -function Ol(a){var b;if(Oe(a)){if(!a.na||!a.na.length){a.na=Array(1E4);for(b=0;b>>c.Sa],!1)}a.ha=["read"];if(void 0!==a.U)for(b=1;b>>c.Sa],!0);a.U=["write"];a.Qa=0} +function Te(a,b,c){if(0>>c.Sa],!1)}a.na=["read"];if(void 0!==a.U)for(b=1;b>>c.Sa],!0);a.U=["write"];a.Qa=0} f.Id=function(a,b,c){if(!zm(this,a,b)){b.ye=c;a.push(b);if(a!=this.B){var d=this.va,e=this.Vb(b);d.ya[e>>>d.Sa].Id(e&d.B,a==this.U)}c?b.oa=null:this.W("breakpoint enabled: "+om(b)+" ("+a[0]+")");Ol(this);return!0}return!1}; function zm(a,b,c,d){var e=!1;c=Am(a,a.Vb(c));for(var g=1;g>>d.Sa],b==a.U));l.ye||a.W("breakpoint cleared: "+om(l)+" ("+b[0]+")");Ol(a);break}a.W("breakpoint exists: "+om(l)+" ("+b[0]+")");break}}return e}function Bm(a,b){for(var c=1;c=b&&g>>l.Sa].Id(g&l.B,d==a.U)}}}function xm(a,b){if(void 0!==b)ym(a,b,a.B,!0),a.O=0;else for(var c=1;c=b&&g>>l.Sa].Id(g&l.B,d==a.U)}}}function xm(a,b){if(void 0!==b)ym(a,b,a.B,!0),a.O=0;else for(var c=1;c=Tl.length&&(p=a.bb(b,1),l=bm[q-Tl.length][p>>3&7]);var q=Tl[l[0]],r=l.length-1,x="";if(164<=g&&167>=g||170<=g&&175>=g)r=0,b.Hc&&"W"==q.slice(-1)&&(q=q.slice(0,-1)+"D");for(var g=null,G=!0,D=1;D<=r;D++){var H,K;H="";K=l[D];if(void 0!==K){null==g&&(g=K>>14);var X=K&15; if(0!=X)if(15==X)G=!1;else{var P=K&240;if(128<=P)if(0>p&&(p=a.bb(b,1)),160<=P)H=Cm(a,p>>3&7,K,b);else{H=a;var X=b,T="",P=p>>6,na=p&7;if(3>P){var ha=void 0;if(!P&&(!X.Fc&&6==na||X.Fc&&5==na))P=2;else{if(X.Fc)if(4!=na)na+=8;else{var T=P,Na=H.bb(X,1),ha=Na>>6,zc=Na>>3&7,Na=Na&7,ea="";if(T||5!=Na)ea=Wl[Na+8];4!=zc&&(ea&&(ea+="+"),ea+=Wl[zc+8],ha&&(ea+="*"+(1<>24,T+="-"+h(-ha,2)):T+="+"+h(ha,2)):2==P&&(T&&(T+="+"),X.Fc?(ha=km(H,X,4),T+=h(ha)): @@ -1111,19 +1111,19 @@ ce(a.A));wm(a,om(a.V))}}function Om(a,b,c){for(var d=null,e=b.La,g=e,l=1;6>=l;l+ function wm(a,b,c,d){b=tm(a,b,1);if(null!=b.La){void 0===d&&(d=1);var e=Ml(a,a.kb,b.oa,a.va.gf),e=256;if(void 0!==c){e=tm(a,c,1);if(null==e.La||e.Laa.Y&&a.R.length&&(a.Y=0);if(0>a.Y||b!=a.R[a.Y])a.R.splice(0,0,b),a.Y=0;a.Y--}else b=a.R[a.Y+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=oa(a[d]);return a} function Ql(a,b){var c=!0;try{if(b.length||(a.Ca?(a.W("ended assemble @"+om(a.ua)),a.V=a.ua,a.Ca=!1):b="?"),b=b.toLowerCase(),ob(a)&&0d||"z">>4);var zc=P[T].l;zc&&(T=zc);a.W(Ig(ha,Na)+" "+T)}}}else{var ea=0;H&&("l"==H.charAt(0)&&(H=H.substr(1)), -ea=+H);if("dh"==D)pm(a,r,ea);else{"ds"==D&&(D="d",H=r,r="desc");for(K in Xl)if(r==K){var vd=a.Ra[K];vd?vd(H):a.W("no dump registered for "+r);break a}var aa=tm(a,r,2);if(null!=aa.La&&(null!=aa.oa||null!=aa.Oa)){var da="",Qa="dd"==D?4:"dw"==D?2:1,l=16/Qa|0;ea?(ea=(ea+l-1)/l|0)||(ea=1):ea=8;for(l=0;lK;K++){var Ja=a.bb(aa,1),eb=eb|Ja<<(Ua++<<3);Ua==Qa&&(Oa+=h(eb,2*Qa),Oa+=1==Qa?7==K?"-":" ":" ",eb=Ua=0);D+=32<=Ja&&128>Ja?String.fromCharCode(Ja): -"."}da&&(da+="\n");da+=r+" "+Oa+" "+D}da&&a.W(da);a.Wa=aa}}}}break;case "e":var Sc=l[1];if(void 0===Sc)a.W("missing address");else{var Tc=tm(a,Sc,2);if(null!=Tc.La)for(r=2;rK;K++){var Ja=a.bb(aa,1),eb=eb|Ja<<(Ua++<<3);Ua==Qa&&(Oa+=h(eb,2*Qa),Oa+=1==Qa?7==K?"-":" ":" ",eb=Ua=0);D+=32<=Ja&&128>Ja?String.fromCharCode(Ja): +"."}da&&(da+="\n");da+=r+" "+Oa+" "+D}da&&a.W(da);a.Wa=aa}}}}break;case "e":var Sc=l[1];if(void 0===Sc)a.W("missing address");else{var Tc=tm(a,Sc,2);if(null!=Tc.La)for(r=2;rr;){aa=null;for(Ja=256;Oa.La>>>0>>0;){Ua.La=a.kc(Oa,!0);if(null==Oa.Oa||!Ja--)break;Ua.oa=eb;if(aa= Om(a,Ua))break;Ua.oa=a.kc(Oa);if(aa=Om(a,Ua,!0)){eb=a.kc(Oa,!0);0