Instruction history buffer tweaks
This commit is contained in:
parent
ad9585b346
commit
da2f8ddda2
3 changed files with 101 additions and 88 deletions
|
|
@ -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....
|
||||
|
||||
|
|
|
|||
|
|
@ -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.x+this.A&&b>=this.y&&b<this.y+this.B};function ub(a,b,c,d){void 0===d&&(d=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<b.length;c++){var d=b[c],e=gb(d),g=db(e.id);g||(a=!0,g=new rb(e));hb(g,d);a&&nb(g)}}Ma(wb);
|
||||
function Ab(a,b,c){Ta.call(this,"Bus",a,Ab);this.A=b;this.ea=c;this.R=a.buswidth||20;this.Fa=Math.pow(2,this.R);this.gf=this.O=this.Fa-1|0;this.Sa=32==this.R||20>=this.R?12:24>=this.R?14:15;this.Fb=1<<this.Sa;this.ha=this.Fb>>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.aa;b++)this.ya[b]=a;a=this.A;b=this.ya;c=this.Sa;a.Hd=b;a.ya=b;a.Sa=c;a.Fb=1<<a.Sa;a.Ra=a.Fb-1;a.fd=b.length;a.fc=a.fd-1;a=this.A;
|
||||
function Ab(a,b,c){Ta.call(this,"Bus",a,Ab);this.A=b;this.ea=c;this.R=a.buswidth||20;this.Fa=Math.pow(2,this.R);this.gf=this.O=this.Fa-1|0;this.Sa=32==this.R||20>=this.R?12:24>=this.R?14:15;this.Fb=1<<this.Sa;this.ga=this.Fb>>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.aa;b++)this.ya[b]=a;a=this.A;b=this.ya;c=this.Sa;a.Hd=b;a.ya=b;a.Sa=c;a.Fb=1<<a.Sa;a.Ra=a.Fb-1;a.fd=b.length;a.fc=a.fd-1;a=this.A;
|
||||
a.gc=a.hb=this.O;nb(this)}bb(Ab);var yb,Bb={el:20,count:8,fn:1,type:3},Cb=0,Db;for(Db in Bb){var Eb=Bb[Db];Bb[Db]={Mf:(1<<Eb)-1<<Cb,shift:Cb};Cb+=Eb}yb=Bb;f=Ab.prototype;f.reset=function(){Fb(this,!0)};f.dc=function(a,b){b||this.reset();return!0};
|
||||
function Gb(a,b,c,d,e){for(var g=b>>>a.Sa;0<c&&g<a.ya.length;){var l=a.ya[g],p=g*a.Fb,q=c>a.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<c?Hb(2,b,c):!0}
|
||||
function Fb(a,b){if(32==a.R)b?a.V&&(Jb(a,1048576,1048576,a.V),a.V=null):a.V||(a.V=Kb(a,1048576,1048576),Jb(a,1048576,1048576,Kb(a,0,1048576)));else if(20<a.R){var c=a.O&-1048577|(b?1048576:0);if(c!=a.O&&(a.O=c,a.A)){var d=a.A;d.gc=d.hb=c}}}f.Qg=function(a,b,c){if(!(a&this.B||!b||b&this.B)){for(var d=a>>>this.Sa;0<b;){var e=this.ya[d];if(!e.controller)return Hb(5,a,b);e.dd(c);b-=this.Fb;d++}return!0}return Hb(3,a,b)};
|
||||
function Lb(a,b,c){if(!(b&a.B||!c||c&a.B)){for(var d=b>>>a.Sa;0<c;){b=d*a.Fb;var e=a.ya[d++]=new n(b);a.ea&&Ib(e,a.ea,b,a.Fb);c-=a.Fb}return!0}return Hb(4,b,c)}function Kb(a,b,c){var d=[];for(b>>>=a.Sa;0<c&&b<a.ya.length;)d.push(a.ya[b++]),c-=a.Fb;return d}
|
||||
function Jb(a,b,c,d,e){for(var g=0,l=b>>>a.Sa;0<c&&l<a.ya.length;){var p=d[g++];if(!p)break;if(void 0!==e){var q=new n(b);a.ea&&Ib(q,a.ea,b,a.Fb);var r=q,x=e;r.id=p.id|1;r.me=p.me;r.size=p.size;x&&(r.type=x,r.V=x==Mb);qb?(r.da=p.da,r.Y=p.Y,r.O=p.O,r.ha=p.ha,r.ga=p.ga,r.dd(Nb?Ob:Pb)):(r.ga=p.ga,r.dd(Qb));p=q}a.ya[l++]=p;c-=a.Fb}}f.bb=function(a){return this.ya[(a&this.O)>>>this.Sa].zc(a&this.B,a)};
|
||||
function Jb(a,b,c,d,e){for(var g=0,l=b>>>a.Sa;0<c&&l<a.ya.length;){var p=d[g++];if(!p)break;if(void 0!==e){var q=new n(b);a.ea&&Ib(q,a.ea,b,a.Fb);var r=q,x=e;r.id=p.id|1;r.me=p.me;r.size=p.size;x&&(r.type=x,r.V=x==Mb);qb?(r.da=p.da,r.Y=p.Y,r.O=p.O,r.ga=p.ga,r.ha=p.ha,r.dd(Nb?Ob:Pb)):(r.ha=p.ha,r.dd(Qb));p=q}a.ya[l++]=p;c-=a.Fb}}f.bb=function(a){return this.ya[(a&this.O)>>>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<this.ga.length;e++)this.ga[e]=
|
||||
function n(a,b,c,d,e,g){this.id=cc+=2;this.ha=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.ha=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.ga=new Uint16Array(this.da,0,c>>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<this.ha.length;e++)this.ha[e]=
|
||||
0;this.dd(Qb)}else this.dd()}var dc=0,Mb=2,fc="NONE RAM ROM VIDEO H/W UNPAGED PAGED".split(" "),gc=["black","blue","green","cyan"],cc=0;function hc(a){qb&&!Nb&&(a=a<<24|a<<8&16711680|a>>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<a.length;b++)a[b]=this.Y.getInt32(b<<2,!0);else a=this.ga;return a},restore:function(a){if(this.controller)return null==a;if(a&&this.size==a.length<<2){var b;if(qb)for(b=0;b<a.length;b++)this.Y.setInt32(b<<2,a[b],!0);else this.ga=a;return this.Za=!0}return!1},dd:function(a){a||(a=5==this.type?ic:6==this.type?jc:kc);lc(this,a,!0);mc(this,a,!0)},Id:function(a,b){this.ea&&
|
||||
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<a.length;b++)a[b]=this.Y.getInt32(b<<2,!0);else a=this.ha;return a},restore:function(a){if(this.controller)return null==a;if(a&&this.size==a.length<<2){var b;if(qb)for(b=0;b<a.length;b++)this.Y.setInt32(b<<2,a[b],!0);else this.ha=a;return this.Za=!0}return!1},dd:function(a){a||(a=5==this.type?ic:6==this.type?jc:kc);lc(this,a,!0);mc(this,a,!0)},Id:function(a,b){this.ea&&
|
||||
(b?0===this.ua++&&mc(this,nc):0===this.pa++&&lc(this,nc))},Ea:function(){this.ea&&this.ea.ta(128)&&this.ea.message("attempt to read invalid block %"+h(this.Oa),!0);return 255},aa:function(a,b){this.ea&&this.ea.ta(128)&&this.ea.message("attempt to write "+ga(b)+" to invalid block %"+h(this.Oa),!0)},Ga:function(a,b){return this.zc(a,b)|this.zc(a+1,b)<<8},Ba:function(a,b){return this.zc(a,b)|this.zc(a+1,b)<<8|this.zc(a+2,b)<<16|this.zc(a+3,b)<<24},Na:function(a,b,c){this.uc(a,b&255,c);this.uc(a+1,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<<d)|b<<d;this.Za=!0},wd:function(a,b){var c=a>>2,d=(a&3)<<3;24>
|
||||
d?this.ga[c]=this.ga[c]&~(65535<<d)|b<<d:(this.ga[c]=this.ga[c]&16777215|b<<24,c++,this.ga[c]=this.ga[c]&-256|b>>8);this.Za=!0},ed:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<<d;this.ga[c]=this.ga[c]&~e|b<<d;c++;this.ga[c]=this.ga[c]&e|b>>>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<<d)|b<<d;this.Za=!0},wd:function(a,b){var c=a>>2,d=(a&3)<<3;24>
|
||||
d?this.ha[c]=this.ha[c]&~(65535<<d)|b<<d:(this.ha[c]=this.ha[c]&16777215|b<<24,c++,this.ha[c]=this.ha[c]&-256|b>>8);this.Za=!0},ed:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<<d;this.ha[c]=this.ha[c]&~e|b<<d;c++;this.ha[c]=this.ha[c]&e|b>>>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<a.Zb.length;b++)Fc(a.Zb[b]);if(a.la&&a.la.Bd&&(a=a.la.Bd,a.Ca)){var b=a.R,c=a.Ba,d,e=null.style.color,g=a.Ra=10;a.U=g;a.Fa=18;a.aa=a.pa=18;d||(d=a.na||a.pa+"px Monaco, Lucida Console, Courier New");a.da=a.na=d;b&&(a.Ea=b);c&&(a.O=c,a.ua=e||"white");if(a.Na){d=a.va;var b=a.B,l,p;null==l&&(l=0);null==p&&(p=d.Fa-l|0);null==b&&(b={ah:0,Zd:0,Hi:[]});c=l>>>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<a.B.Zd;b++){var g=a.B.Hi[b],e=yb.type,e=(g&e.Mf)>>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<a.B.Ni;l++)b=a.B.Bf[l].Zd,a.B.Vg.push(ub(p,b,d,!l)),d-=b;for(l=0;l<a.B.Vg.length;l++)p=a.B.Bf[l],d=b=a.B.Vg[l],c=a.Ba,(e=gc[p.type])||(e=new sb),c.strokeStyle="black",c.strokeRect(d.x,d.y,d.A,
|
||||
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<c.B&&(g=c.A,d.ha=!0,d.O.save(),d.O.translate(b,e),d.O.rotate(-Math.PI/2),b=e=0),g<d.aa&&(d.aa=g,d.da=d.aa+"px Monaco, Lucida Console, Courier New"),c=e,d.U=b,d.Fa=c,d=a,p=fc[p.type]+" ("+(p.Zd*a.va.Fb/1024|0)+"Kb)",d.O.font=d.da,d.U-=d.O.measureText(p).width>>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<c.B&&(g=c.A,d.ga=!0,d.O.save(),d.O.translate(b,e),d.O.rotate(-Math.PI/2),b=e=0),g<d.aa&&(d.aa=g,d.da=d.aa+"px Monaco, Lucida Console, Courier New"),c=e,d.U=b,d.Fa=c,d=a,p=fc[p.type]+" ("+(p.Zd*a.va.Fb/1024|0)+"Kb)",d.O.font=d.da,d.U-=d.O.measureText(p).width>>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<p.length&&(b=p[c],b===a||b.ma.we);c++);if(c==p.length)for(c=0;c<p.length&&(b=p[c],b===a||b.ma.bc);c++);c==p.length&&(b=a);ya("The "+b.type+" component ("+b.id+") is not "+(b.ma.we?"powered yet":"ready yet"+(b.Lf?" (waiting for notification)":""))+".");a=!1}a&&(d.ma.zb?d.Pb(!0):d.je(!0))};a=!0;break;case "reset":this.wa[b]=c;c.onclick=
|
||||
function(){d.la&&Gc(d.la)};a=!0;break;case "speed":this.wa[b]=c;a=!0;break;case "setSpeed":this.wa[b]=c,c.onclick=function(){Hc(d,d.Z.yd<<1,!0)},c.textContent=this.Z.fe.toFixed(2)+"Mhz",a=!0}return a};function Ic(a,b){if(a.ma.zb){var c=a.A-b;a.A-=c;a.Ta-=c}}function Jc(a,b,c){a.xb+=b;c&&(a.Ta=a.A=0)}
|
||||
|
|
@ -75,7 +75,7 @@ f.save=function(){return[this.oa,this.Ka,this.qb,this.Rb,this.id,this.xf,this.Ya
|
|||
function Qc(a,b,c){void 0===c&&(c=!!(a.A.rb&1));a.ue=!1;if(c){a.load=a.Uk;a.aj=a.Sk;a.rc=a.Oi;a.hc=a.Pi;if(!(a.oa&-4))a.rc=a.Hf,a.hc=a.If;else if(a.type&4096){6144==(a.type&6656)&&(a.rc=a.Hf);if(a.type&2048||!(a.type&512))a.hc=a.If;1024==(a.type&3072)&&(a.rc==a.Oi&&(a.rc=a.Aj),a.hc==a.Pi&&(a.hc=a.Cj),a.ue=!0)}b&&(a.oa&-4&&-1!==a.Wc&&(b=a.Wc+5,a.A.Lc(b,a.A.bb(b)|1)),a.Ya=a.oa&3,a.sc=(a.Rb&24576)>>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<this.pc.length;a++)this.pc[a]||(this.pc[a]=Fd);this.da[84]=Gd;this.da[99]=Id;if(80386<=this.qa){var c;this.ce=16384;this.da[100]=Jd;this.da[101]=Kd;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]=vd,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<this.pc.length;a++)this.pc[a]||(this.pc[a]=Fd);this.da[84]=Gd;this.da[99]=Hd;if(80386<=this.qa){var c;this.ce=16384;this.da[100]=Jd;this.da[101]=Kd;this.da[102]=
|
||||
Ld;this.da[103]=Md;for(c in y)this.pc[+c]=y[c]}}this.ed=[];this.Di=[];wc(this);this.ma.ud=this.ma.Ti=!1;this.tf=0;this.Hd=this.ya=[];this.Sa=this.Fb=this.Ra=this.fd=this.fc=this.gc=this.hb=0;Nd(this)}bb(bd,vc);
|
||||
var ed={rf:4,N:5,ka:6,ia:7,ja:8,I:9,S:11,T:12,Rd:4,th:60,uh:83,Wb:3,Ib:9,lc:16,pf:1,Bh:19,Dh:28,Fh:16,Eh:21,Ch:37,zh:2,Wf:9,Ah:5,yh:33,Yf:10,Xf:8,Je:3,Ie:15,Th:51,Uh:1,Vh:2,Wh:4,Sh:32,Zf:15,Yh:15,Ua:16,Va:4,$h:11,Zh:18,Xh:24,Ob:4,ai:2,he:16,bi:17,dg:18,ci:19,cg:5,eg:6,hi:2,gi:8,ei:9,fi:10,di:10,fg:10,gg:10,Hh:80,Jh:144,Gh:86,Ih:154,Lh:101,Nh:165,Kh:107,Mh:171,ji:70,li:113,ii:76,ki:124,Ph:80,Rh:128,Oh:86,Qh:134,Le:3,Ke:16,ng:10,mg:8,mi:51,Xb:8,ni:17,oi:36,tc:11,pi:16,Sd:10,Jc:2,Tf:18,Uf:7,Vf:15,$f:12,
|
||||
ag:7,bg:11,hg:18,ig:7,jg:15,og:15,pg:7,qg:13,wg:11,xg:7,yg:8,ri:8,ui:12,si:18,ti:17,vi:15,sg:8,rg:20,tg:2,Bg:3,Me:9,Ag:5,zg:11,Dg:4,Cg:17,wi:11},dd={rf:0,N:0,ka:0,ia:0,ja:0,I:0,S:1,T:1,Rd:3,th:14,uh:16,Wb:2,Ib:7,lc:7,pf:0,Bh:7,Dh:13,Fh:7,Eh:11,Ch:16,zh:3,Wf:6,Ah:2,yh:13,Yf:5,Xf:5,Je:2,Ie:7,Th:23,Uh:0,Vh:1,Wh:3,Sh:17,Zf:7,Yh:11,Ua:7,Va:3,$h:7,Zh:11,Xh:15,Ob:2,ai:3,he:7,bi:8,dg:8,ci:8,cg:4,eg:4,hi:2,gi:3,ei:5,fi:2,di:3,fg:5,gg:3,Hh:14,Jh:22,Gh:17,Ih:25,Lh:17,Nh:25,Kh:20,Mh:28,ji:13,li:21,ii:16,ki:24,
|
||||
|
|
@ -84,14 +84,14 @@ ei:5,fi:2,di:3,fg:5,gg:3,Hh:14,Jh:22,Gh:17,Ih:25,Lh:17,Nh:25,Kh:20,Mh:28,ji:13,l
|
|||
function Od(a){if(a.ya===a.Hd){a.ya=Array(a.fd);a.td=new n(null,0,0,5,null,a);for(var b=0;b<a.fd;b++)a.ya[b]=a.td}else for(b=0;b<a.gd.length;b++)a.ya[a.gd[b]]=a.td;a.gd=[]}
|
||||
function qc(a,b,c,d){var e=(b&-4194304)>>>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;e<b.aa;e++)if(l=b.ya[e],l.Za||l.Ui){d[c++]=e;g=c++;a:if(l=l.save()){for(var p=0,q=0,r=[];p<l.length;){for(var x=l[p],G=p+1;G<l.length&&l[G]===x;)G++;r[q++]=G-p;r[q++]=x;p=G}if(r.length<l.length){l=r;break a}}d[g]=l}d[c]=!b.V&&b.gf==b.O;he(a,4,d);return a.data()};
|
||||
f.restore=function(a){var b=a[0];this.F=b[0];this.D=b[1];this.G=b[2];this.H=b[3];var c=b[4];this.L=b[5];this.K=b[6];this.J=b[7];b=a[1];this.xa.restore(b[1]);this.tb.restore(b[2]);this.Da.restore(b[3]);this.cb.restore(b[4]);var d=b[5];d&&d.length&&(this.rb=d[0],this.Xc=d[1],this.Xd=d[2],this.Yc=d[3],this.Jd=d[4],this.Sc.restore(d[5]),this.nb.restore(d[6]),this.He=d[7],80386<=this.qa&&(this.vf=d[8],this.Ud=d[9],this.Vd=d[10],this.ff=d[11],this.sf=d[12]),Qd(this));$c(this,b[6]);ad(this,b[0],this.xa.oa);
|
||||
t(this,c);Wc(this,this.Da.oa);80386<=this.qa&&(this.nc.restore(b[7]),this.oc.restore(b[8]));b=a[2];this.P=null!=b[0]&&ie(this,b[0])||this.tb;this.R=null!=b[1]&&ie(this,b[1])||this.Da;this.X=b[2];this.V=b[3];this.na=b[4];this.O=b[5];this.Y=b[6];b=a[3];this.xb=b[1];Hc(this,b[2]);a:{b=this.va;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.ha){for(var g=0,l=Array(b.ha),p=0;p<e.length-1;)for(var q=e[p++],r=e[p++];q--;)l[g++]=r;e=l}g=b.ya[d];if(!g||!g.restore(e)){ya("Unable to restore memory block "+
|
||||
t(this,c);Wc(this,this.Da.oa);80386<=this.qa&&(this.nc.restore(b[7]),this.oc.restore(b[8]));b=a[2];this.P=null!=b[0]&&ie(this,b[0])||this.tb;this.R=null!=b[1]&&ie(this,b[1])||this.Da;this.X=b[2];this.V=b[3];this.na=b[4];this.O=b[5];this.Y=b[6];b=a[3];this.xb=b[1];Hc(this,b[2]);a:{b=this.va;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.ga){for(var g=0,l=Array(b.ga),p=0;p<e.length-1;)for(var q=e[p++],r=e[p++];q--;)l[g++]=r;e=l}g=b.ya[d];if(!g||!g.restore(e)){ya("Unable to restore memory block "+
|
||||
d);b=!1;break a}}void 0!==a[c]&&Fb(b,a[c]);b=!0}return b};function ie(a,b){switch(b){case "CS":return a.xa;case "DS":return a.tb;case "SS":return a.Da;case "ES":return a.cb;case "NULL":return a.Pg;default:return[0,b,0,0,""]}}function ce(a){return a.xa.oa}function je(a,b){var c=w(a);a.za=a.xa.load(b)+c|0;a.Nc=a.xa.Ka+a.xa.qb|0;be(a);a.X|=a.Uc}function ke(a,b){a.tb.load(b);a.X|=a.Uc}
|
||||
function Wc(a,b,c){var d=u(a);a.Ja=a.Da.load(b)+d|0;a.Da.ue?(a.Mg=a.Da.Ka+a.Da.ca|0,a.wd=a.Da.Ka+a.Da.qb|0):(a.Mg=a.Da.Ka+a.Da.qb|0,a.wd=a.Da.Ka);c||(a.X|=4)}function le(a,b){a.cb.load(b);a.X|=a.Uc}function w(a){return a.za-a.xa.Ka|0}function E(a,b){a.za=a.xa.Ka+(b&a.C)|0}function ad(a,b,c,d){a.xa.eh=d;a.vd=b;b=a.xa.load(c);return-1!==b?(a.za=b+(a.vd&a.C)|0,a.Nc=b+a.xa.qb|0,be(a),a.xa.bf):null}
|
||||
function me(a,b){a.za=a.za+b|0;var c=a.Nc-a.za|0;0>c&&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<<d;e;){if(b&e){a=d;break}e>>>=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<mf(a,c);){var g=b=c;b[0]+=g[0];b[1]+=g[1];4294967295<b[0]&&(b[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<mf(a,c);){var g=b=c;b[0]+=g[0];b[1]+=g[1];4294967295<b[0]&&(b[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;32767<c||-32768>c?(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=32767<d||-32768>d):(d=b*a,c=2147483647<d||-2147483648>d);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;32767<c||-32768>c?(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;2147483647<c||-2147483648>c?(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.sa&&(a|=(this.Ca.ext&-65281)<<16));return a}
|
||||
function vf(a,b){if(-1===this.O)return Fd.call(this),a;ke(this,this.Aa(this.O+this.sa));this.A-=this.B.he;return b}function wf(a){if(-1===this.O)return Fd.call(this),a;this.A-=this.B.ai;return this.O}function xf(a,b){if(-1===this.O)return Fd.call(this),a;le(this,this.Aa(this.O+this.sa));this.A-=this.B.he;return b}function yf(a,b){if(-1===this.O)return Fd.call(this),a;var c=this.Aa(this.O+this.sa);this.nc.load(c);this.A-=this.B.he;return b}
|
||||
function zf(a,b){if(-1===this.O)return Fd.call(this),a;var c=this.Aa(this.O+this.sa);this.oc.load(c);this.A-=this.B.he;return b}function Af(a,b){this.A-=14+(-1===this.O?0:2);if(b&65528&&-1!==this.Ca.load(b,!0)&&(7168==(this.Ca.Rb&7168)||this.Ca.sc>=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.sc<this.xa.Ya&&7168!=(this.tb.Rb&7168)&&this.tb.load(0),this.cb.oa&65528&&this.cb.sc<this.xa.Ya&&7168!=(this.cb.Rb&7168)&&this.cb.load(0))}
|
||||
function Jf(a,b){var c=a-b-Ae(this)|0;ne(this,a,b,c,191,!0);this.A-=-1===this.Y?-1===this.O?this.B.Wb:this.B.Ib:this.B.lc;return c&255}function Kf(a,b){var c=a-b-Ae(this)|0;ne(this,a,b,c,this.dataType|63,!0);this.A-=-1===this.Y?-1===this.O?this.B.Wb:this.B.Ib:this.B.lc;return c&this.C}function Lf(a){this.X|=1;this.Qa[this.ba()].call(this,a);this.A-=-1===this.O?this.B.dl:this.B.cl}function Mf(){return te(this)?1:0}function Nf(){return oe(this)?1:0}function Of(){return oe(this)?0:1}
|
||||
function Pf(){return re(this)?1:0}function Qf(){return re(this)?0:1}function Rf(){return oe(this)||re(this)?1:0}function Sf(){return oe(this)||re(this)?0:1}function Tf(){return se(this)?1:0}function Uf(){return se(this)?0:1}function Vf(){return pe(this)?1:0}function Wf(){return pe(this)?0:1}function Xf(){return!se(this)!=!te(this)?1:0}function Yf(){return!se(this)!=!te(this)?0:1}function Zf(){return re(this)||!se(this)!=!te(this)?1:0}function $f(){return re(this)||!se(this)!=!te(this)?0:1}
|
||||
|
|
@ -137,7 +137,7 @@ function zg(a,b){this.A-=-1===this.Y?-1===this.O?this.B.Wb:this.B.Ib:this.B.lc;r
|
|||
function Fg(){var a=this.ba();this.A-=(-1===this.O?this.B.sg:this.B.rg)+(a<<this.B.tg);return a}function Gg(){return null}function Uc(a,b,c,d){if(this.ma.ud){var e=!1;if(80186<=this.qa)if(0>this.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<this.sa;l++)e|=Vb(this.va,this.H&65535,d)<<g,g+=8;d=e;this.yb(this.cb.hc(this.J&this.ca,this.sa),d);this.J=this.J&~this.ca|this.J+(this.fa&1024?-this.sa:this.sa)&this.ca;this.A-=c;this.G=this.G&~this.ca|this.G-b&this.ca;a&&(this.za=this.Ba,this.X|=256)}}
|
||||
|
|
@ -146,7 +146,7 @@ function ud(){var a=1,b=0,c=5;this.V&192&&(a=this.G&this.ca,b=1,this.V&256&&(c=4
|
|||
function Kg(){var a=this.M();te(this)?this.A-=this.B.Va:(E(this,w(this)+a),this.A-=this.B.Ua)}function Lg(){var a=this.M();oe(this)?(E(this,w(this)+a),this.A-=this.B.Ua):this.A-=this.B.Va}function Mg(){var a=this.M();oe(this)?this.A-=this.B.Va:(E(this,w(this)+a),this.A-=this.B.Ua)}function Ng(){var a=this.M();re(this)?(E(this,w(this)+a),this.A-=this.B.Ua):this.A-=this.B.Va}function Og(){var a=this.M();re(this)?this.A-=this.B.Va:(E(this,w(this)+a),this.A-=this.B.Ua)}
|
||||
function Pg(){var a=this.M();oe(this)||re(this)?(E(this,w(this)+a),this.A-=this.B.Ua):this.A-=this.B.Va}function Qg(){var a=this.M();oe(this)||re(this)?this.A-=this.B.Va:(E(this,w(this)+a),this.A-=this.B.Ua)}function Rg(){var a=this.M();se(this)?(E(this,w(this)+a),this.A-=this.B.Ua):this.A-=this.B.Va}function Sg(){var a=this.M();se(this)?this.A-=this.B.Va:(E(this,w(this)+a),this.A-=this.B.Ua)}function Tg(){var a=this.M();pe(this)?(E(this,w(this)+a),this.A-=this.B.Ua):this.A-=this.B.Va}
|
||||
function Ug(){var a=this.M();pe(this)?this.A-=this.B.Va:(E(this,w(this)+a),this.A-=this.B.Ua)}function Vg(){var a=this.M();!se(this)!=!te(this)?(E(this,w(this)+a),this.A-=this.B.Ua):this.A-=this.B.Va}function Wg(){var a=this.M();!se(this)==!te(this)?(E(this,w(this)+a),this.A-=this.B.Ua):this.A-=this.B.Va}function Xg(){var a=this.M();re(this)||!se(this)!=!te(this)?(E(this,w(this)+a),this.A-=this.B.Ua):this.A-=this.B.Va}
|
||||
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 xd(){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 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<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.L=this.L&~this.C|this.L-this.sa&this.C,v(this,Yc(this,this.Da,this.L&this.C));v(this,c)}this.L=this.L&~this.C|c;t(this,u(this)&~this.Da.ca|u(this)-a&this.Da.ca)}function Ad(){t(this,u(this)&~this.Da.ca|this.L&this.Da.ca);this.L=this.L&~this.C|this.Xa()&this.C;this.A-=5}function fh(){If.call(this,Le(this));this.A-=this.B.ti}
|
||||
function gh(){If.call(this,0);this.A-=this.B.si}function hh(){this.aa[this.ba()].call(this,of);this.A-=8}function ih(){this.X|=36;this.A-=this.B.Jc}function Bd(){Fd.call(this)}function jd(){Uc.call(this,6)}function Fd(){E(this,this.Ba-this.xa.Ka);var a;a=this.va;var b=this.za;a=a.ya[(b&a.O)>>>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<<d-1,c=
|
||||
(a<<d|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<<d|e<<d-1|a>>9-d)&255,e=a<<d-1):e<<=7;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>>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<d?c=0:(e=a<<d-1,c=e<<
|
||||
1&255);ue(this,c,128,e&128,(c^e)&128)}return c},function(a,b){var c=b&this.pa;c&&(c=8<c?0:a>>>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<c&&(c=9),c=a<<24>>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<<d-1,c=(a<<d|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<<d|e<<d-1|a>>17-d)&65535,e=a<<d-1):e<<=15;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>>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<d?c=0:(e=a<<d-1,c=e<<1&65535);ue(this,c,32768,e&32768,(c^e)&32768)}return c},function(a,b){var c=b&this.pa;c&&(c=16<c?0:a>>>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<c&&(c=17),c=a<<16>>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<<d|a>>>32-d,ze(this,c,a<<d-1,-2147483648));return c},function(a,b){var c=a,d=b&this.pa;if(d){var e=a<<32-d,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<<d|c<<d-1|a>>>32-d>>>1,ze(this,c,a<<d-1,-2147483648));return c},function(a,b){var c=a,d=b&this.pa;d&&(c=Ae(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<<d-1,c=d<<1,ue(this,c,-2147483648,d&-2147483648,(c^d)&-2147483648));return c},function(a,b){var c=b&this.pa;c&&(c=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;127<b||-128>b?(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<c)return Cg.call(this),a;this.Ea=!0;this.ha=c&255|(b%a&255)<<8;this.A-=-1===this.O?this.B.Hh:this.B.Gh;this.X|=2;return a},function(a,b){if(!a)return Cg.call(this),a;var c=a<<24>>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=32767<c||-32768>c;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<this.ha&&(this.Ea=!1);g&&(this.ha=-this.ha);l&&(this.Ga=-this.Ga);if(!this.Ea)return Cg.call(this),a;this.ha|=0;this.Ga|=0}this.A-=-1===this.O?this.B.Nh:this.B.Mh;this.X|=2;return a}],gd=[function(a){var b=a+1|0;ne(this,a,1,b,190);this.A-=-1===this.O?this.B.Je:this.B.Ie;return b&255},function(a){var b=a-1|0;ne(this,a,1,b,190,!0);this.A-=-1===this.O?this.B.Je:this.B.Ie;return b&255},Bg,Bg,Bg,Bg,Bg,Bg],hd=[function(a){var b=a+1|0;ne(this,a,1,b,this.dataType|62);this.A-=
|
||||
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.ga=(this.F&255)*a&65535;this.ga&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.ga=b&65535;127<b||-128>b?(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<c)return Cg.call(this),a;this.Ea=!0;this.ga=c&255|(b%a&255)<<8;this.A-=-1===this.O?this.B.Hh:this.B.Gh;this.X|=2;return a},function(a,b){if(!a)return Cg.call(this),a;var c=a<<24>>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=32767<c||-32768>c;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);2147483647<this.ga&&(this.Ea=!1);g&&(this.ga=-this.ga);l&&(this.Ga=-this.Ga);if(!this.Ea)return Cg.call(this),a;this.ga|=0;this.Ga|=0}this.A-=-1===this.O?this.B.Nh:this.B.Mh;this.X|=2;return a}],gd=[function(a){var b=a+1|0;ne(this,a,1,b,190);this.A-=-1===this.O?this.B.Je:this.B.Ie;return b&255},function(a){var b=a-1|0;ne(this,a,1,b,190,!0);this.A-=-1===this.O?this.B.Je:this.B.Ie;return b&255},Bg,Bg,Bg,Bg,Bg,Bg],hd=[function(a){var b=a+1|0;ne(this,a,1,b,this.dataType|62);this.A-=
|
||||
-1===this.O?this.B.Je:this.B.Ie;return b&this.C},function(a){var b=a-1|0;ne(this,a,1,b,this.dataType|62,!0);this.A-=-1===this.O?this.B.Je:this.B.Ie;return b&this.C},function(a){v(this,w(this));E(this,a);this.A-=-1===this.O?this.B.Fh:this.B.Eh;this.X|=2;return a},function(a){if(-1===this.O)return Bg.call(this,a);hf.call(this,a,this.Aa(this.O+this.sa));this.A-=this.B.Ch;this.X|=2;return a},function(a){E(this,a);this.A-=-1===this.O?this.B.$h:this.B.Zh;this.X|=2;return a},function(a){if(-1===this.O)return Bg.call(this,
|
||||
a);ad(this,a,this.Aa(this.O+this.sa));this.A-=this.B.Xh;this.X|=2;return a},function(a){var b=a;this.X&512&&(a=a-2&65535,80286>this.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.qa<yh?(Ub(b,this,Dh),Yb(b,this,Eh)):(Ub(b,this,Fh),Yb(b,this,Gh));if(d){var e=this;Hh(d,1024,function(){for(var a=0;a<e.$b.length;a++){for(var b=e.$b[a],c="PIC"+a+":",d=0;d<b.Bc.length;d++)c+=" IC"+(d+1)+"="+k(b.Bc[d]);c+=" IMR="+k(b.jd)+" IRR="+k(b.Tb)+" ISR="+k(b.Cc)+" DELAY="+b.Ge;e.ea.W(c)}});Hh(d,2048,function(){for(var a=0;a<e.R.length;a++){Ih(e,a);var b=
|
||||
e.R[a],c="TIMER"+a+":",d=0;if(null!=b.md)for(var r=0;r<=b.md;r++)d|=b.pb[r]<<8*r;c+=" mode="+b.mode+" bytes="+b.md+" count="+ga(d);e.ea.W(c)}});Hh(d,4096,function(){for(var a="",b=0;64>b;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<this.lb;b++)Lh(this,b);this.$b=Array(this.Ra);Mh(this,0,32);1<this.Ra&&Mh(this,1,160);this.Zb=this.Mb=null;this.R=Array(5180==this.qa?6:3);for(b=0;b<this.R.length;b++)Nh(this,b);this.Na=this.Nb=this.aa=this.kb=null;this.hb=0;if(this.qa>=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<this.lb;b++)Lh(this,b);this.$b=Array(this.Ra);Mh(this,0,32);1<this.Ra&&Mh(this,1,160);this.Zb=this.Mb=null;this.R=Array(5180==this.qa?6:3);for(b=0;b<this.R.length;b++)Nh(this,b);this.Na=this.Nb=this.aa=this.kb=null;this.hb=0;if(this.qa>=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&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.B[b]^=128);return c}function Th(a){var b;void 0===b&&(b=a.xb);a.Ma=Dc(a.A,a.Ba)+b;a.B[11]&64&&Ic(a.A,b)}function Sh(a){for(var b=0,c=16;46>c;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<this.U;c++){for(var d=this.U[c],e=d,g=[],l=0;l<e.Sb.length;l++){var p=e.Sb[l];g[l]=[p.xd,p.Cf,p.ic,p.ub,p.pb,p.mode,p.Ef,p.hm,p.im]}b[c]=[d.Md,d.Zg,d.Li,d.Bb,g]}he(a,1,[b]);b=[];for(c=0;c<this.$b.length;c++)d=this.$b[c],b[c]=[d.Ge,d.Bc,d.zd,d.jd,d.Tb,d.Cc,d.Yd,d.Ye];he(a,2,[b]);b=[];for(c=0;c<this.R.length;c++)d=this.R[c],b[c]=[d.ic,d.Ec,d.pb,d.$d,d.Mi,d.mode,d.Og,d.Od,d.md,d.od,d.af,d.be,d.cd];he(a,3,
|
||||
[this.Mb,b,this.Zb]);he(a,4,[this.kb,this.aa,this.Nb,this.Na,this.hb]);this.qa>=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<this.lb;c++)Lh(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Ra;c++)Mh(this,c,0===c?32:160,b[0][c]);b=a[3];this.Mb=b[0];this.Zb=b[2];for(c=0;c<this.R.length;c++)Nh(this,c,b[1][c]);b=a[4];this.kb=b[0];this.aa=b[1];this.Nb=b[2];this.Na=b[3];this.hb=b[4];if(b=a[5])this.O=b[0],this.na=b[1],this.ha=b[2],this.Wa=b[3],this.pa=b[4],this.ab=b[5];if(b=a[6])this.Ja=b[1],this.Ja[7]=b[0],this.Ea=b[2],
|
||||
[this.Mb,b,this.Zb]);he(a,4,[this.kb,this.aa,this.Nb,this.Na,this.hb]);this.qa>=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<this.lb;c++)Lh(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Ra;c++)Mh(this,c,0===c?32:160,b[0][c]);b=a[3];this.Mb=b[0];this.Zb=b[2];for(c=0;c<this.R.length;c++)Nh(this,c,b[1][c]);b=a[4];this.kb=b[0];this.aa=b[1];this.Nb=b[2];this.Na=b[3];this.hb=b[4];if(b=a[5])this.O=b[0],this.na=b[1],this.ga=b[2],this.Wa=b[3],this.pa=b[4],this.ab=b[5];if(b=a[6])this.Ja=b[1],this.Ja[7]=b[0],this.Ea=b[2],
|
||||
this.B=b[3],this.Ta=b[4],this.Ma=b[5],Qh(this);return!0};var Uh=[0,null,null,0,Array(4)];function Lh(a,b,c){var d=a.U[b];d||(d={Sb:Array(4)});c=c&&5==c.length?c:Uh;d.Md=c[0];d.Zg=c[1];d.Li=c[2];d.Bb=c[3];d.Wk=b<<2;for(var e=0;e<d.Sb.length;e++)Vh(d,e,c[4][e]);a.U[b]=d}var Wh=[!0,[0,0],[0,0],[0,0],[0,0]];
|
||||
function Vh(a,b,c){var d=a.Sb[b];d||(d={Cf:[0,0],ic:[0,0],ub:[0,0],pb:[0,0]});c=c&&8==c.length?c:Wh;d.xd=c[0];d.Cf[0]=c[1][0];d.Cf[1]=c[1][1];d.ic[0]=c[2][0];d.ic[1]=c[2][1];d.ub[0]=c[3][0];d.ub[1]=c[3][1];d.pb[0]=c[4][0];d.pb[1]=c[4][1];d.mode=c[5];d.Ef=c[6];d.controller=a;d.Zi=b;Xh(d,c[8],c[9]);a.Sb[b]=d}function Xh(a,b,c,d){"string"==typeof b&&(b=db(b));b&&(a.done=null,a.hm=b.id,a.im=c,a.Jf=b,a.jh=b[c],a.Eg=d)}var Yh=[0,Array(4)];
|
||||
function Mh(a,b,c,d){var e=a.$b[b];e||(e={Bc:[null,null,null,null]});d=d&&8==d.length?d:Yh;e.port=c;e.qn=b<<3;e.Ge=d[0];e.Bc[0]=d[1][0];e.Bc[1]=d[1][1];e.Bc[2]=d[1][2];e.Bc[3]=d[1][3];e.zd=d[2];e.jd=d[3];e.Tb=d[4];e.Cc=d[5];e.Yd=d[6];e.Ye=d[7];a.$b[b]=e}var Zh=[[0,0],[0,0],[0,0],[0,0]];
|
||||
|
|
@ -811,10 +811,10 @@ function Ih(a,b,c){var d=a.R[b];if(d.be&&(2!=b||a.aa&1)){var e=Dc(a.A,a.Ba),g=(e
|
|||
function Mc(a,b){for(var c=0;c<a.R.length;c++)Ih(a,c,b);if(a.qa>=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<yh?wi(a,1,4):a.ha&16||a.O&257||(Ii(a,b,!0),Ki(a.P),wi(a,1,120))}f.ek=function(a,b){m(this,a,null,b,"CMOS.ADDR",this.Ea,4096);return this.Ea};f.xl=function(a,b,c){m(this,a,b,c,"CMOS.ADDR",null,4096);this.Ea=b;this.hb=b&128?0:128};
|
||||
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.ga);break;case 173:Fi(this,this.ga|16);break;case 174:Fi(this,this.ga&-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.ga|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.ga&16?
|
||||
0:1);break;case 240:a&1&&Nd(this.A)}};function Fi(a,b){a.ga=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<yh?wi(a,1,4):a.ga&16||a.O&257||(Ii(a,b,!0),Ki(a.P),wi(a,1,120))}f.ek=function(a,b){m(this,a,null,b,"CMOS.ADDR",this.Ea,4096);return this.Ea};f.xl=function(a,b,c){m(this,a,b,c,"CMOS.ADDR",null,4096);this.Ea=b;this.hb=b&128?0:128};
|
||||
f.fk=function(a,b){var c=this.Ea&63,d=13>=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+=48),this.B[11]&2||(12>=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<a.length;b++){var c=a[b],d=gb(c),d=new Qi(d);hb(d,c)}});function Yi(a){Ta.call(this,"Keyboard",a,Yi,65536);this.da=Ea("Mobi");this.na=Ea("MSIE");this.Fa("mobile keyboard support: "+(this.da?"true":"false"));this.aa=0;this.ha=this.fh=!1;this.O=[];this.pa=50;nb(this)}bb(Yi);
|
||||
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<a.length;b++){var c=a[b],d=gb(c),d=new Qi(d);hb(d,c)}});function Yi(a){Ta.call(this,"Keyboard",a,Yi,65536);this.da=Ea("Mobi");this.na=Ea("MSIE");this.Fa("mobile keyboard support: "+(this.da?"true":"false"));this.aa=0;this.ga=this.fh=!1;this.O=[];this.pa=50;nb(this)}bb(Yi);
|
||||
var W={sm:1,tm:3,um:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":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&&0<a.O[0].qd&&(a.O[0].qd=0);for(var d,e=0;e<a.O.length;e++)if(d=a.O[e],d.le==b){if(!c||0<=d.qd){e=-1;break}0<e&&(0<a.O[0].qd&&(a.O[0].qd=0),a.O.splice(e,1));break}0>e||(e==a.O.length&&(d={},d.le=b,d.ac=a.ac,ij(a,b,!0),e++),0<e&&a.O.splice(0,0,d),d.$e=!0,d.qd=c?-1:aj[b]?0:1,kj(a,d))}}
|
||||
function hj(a,b,c){if(!Y[b]||!(c||a.A&&a.A.ma.zb))return!1;for(var d=!1,e=0;e<a.O.length;e++){var g=a.O[e];if(g.le==b||g.le==$i[b]){a.O.splice(e,1);g.rj&&clearTimeout(g.rj);g.$e&&!c&&lj(a,g.le,!1);ij(a,b,!1);d=!0;break}}!a.O.length&&a.ha&&(gj(a,1020),a.ha=!1);return d}function kj(a,b){if(a.A&&a.A.ma.zb){if(lj(a,b.le,b.$e),b.qd){var c;if(0>b.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;e<a.O.length;e++){var g=a.O[e];if(g.le==b||g.le==$i[b]){a.O.splice(e,1);g.rj&&clearTimeout(g.rj);g.$e&&!c&&lj(a,g.le,!1);ij(a,b,!1);d=!0;break}}!a.O.length&&a.ga&&(gj(a,1020),a.ga=!1);return d}function kj(a,b){if(a.A&&a.A.ma.zb){if(lj(a,b.le,b.$e),b.qd){var c;if(0>b.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<a.O.length;q++){var r=a.O[q];r.$e=!1;0<r.qd&&(r.qd=0)}}else 8==l&&8==(a.ac&40)&&(p=4008),d=!1;else if(Y[p]&&a.ac&60&&(d=!1),d&&c||a.ac&192)g=!0;d||b.preventDefault();g||a.da&&d||(c?fj(a,p,e):hj(a,p)||(b=mj(a,l,!1),b!=p&&hj(a,b)));return d}
|
||||
function lj(a,b,c){gj(a,b,!0,c);var d=Y[b]||Y[b+1E3];if(void 0!==d){14==d&&40==(a.ac&40)&&(d=83);var e=[],g=d&255;e.push(g|(c?0:128));for(b=65<=b&&90>=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;c<e.length;c++)d=a,g=e[c],d.B&&(20>d.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<a.length;b++){var c=a[b],d=gb(c),d=new Yi(d);hb(d,c)}});
|
||||
function Z(a,b,c,d,e){Ta.call(this,"Video",a,Z,262144);this.qa=a.model;this.fb=nj[this.qa]||oj;this.ld=a.memory||0;this.sf=a.switches;this.Ga=a.mode;if(void 0===this.Ga||void 0===pj[this.Ga])this.Ga=qj;this.Vc=a.charCols;this.td=a.charRows;if(void 0===this.Vc||void 0===this.td)this.Vc=pj[this.Ga][0],this.td=pj[this.Ga][1];this.Ca=a.screenWidth;this.Na=a.screenHeight;this.jm=a.scale;this.Ei=12<=Math.round(this.Ca/this.Vc);this.km=a.touchScreen;this.ua=b;this.na=c;this.V=(this.nm=d)||b||null;this.kb=
|
||||
null;this.Di=a.autoLock;this.ib=this.Yb=0;this.Ta=[];this.Ma=Array(this.fb==Pi?256:16);this.ce=this.hb=!1;var g=this;this.df=Ea("Gecko/");b=["","moz","webkit","ms"];if(this.ha=e)if(this.ha.se=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.ha.se){for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenchange","on"+c in document){document.addEventListener(c,function(){rj(g,document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||
|
||||
null;this.Di=a.autoLock;this.ib=this.Yb=0;this.Ta=[];this.Ma=Array(this.fb==Pi?256:16);this.ce=this.hb=!1;var g=this;this.df=Ea("Gecko/");b=["","moz","webkit","ms"];if(this.ga=e)if(this.ga.se=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.ga.se){for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenchange","on"+c in document){document.addEventListener(c,function(){rj(g,document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||
|
||||
document.msFullscreenElement?!0:!1)},!1);break}for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenerror","on"+c in document){document.addEventListener(c,function(){rj(g,null)},!1);break}}this.V&&(this.V.onfocus=function(){return g.Fg(!0)},this.V.onblur=function(){return g.Fg(!1)},this.V.ee=this.V.requestPointerLock||this.V.mozRequestPointerLock||this.V.webkitRequestPointerLock,this.V.sj=this.V.exitPointerLock||this.V.mozExitPointerLock||this.V.webkitExitPointerLock,this.V.ee&&(e=function(){var a=document.pointerLockElement===
|
||||
g.V||document.mozPointerLockElement===g.V||document.webkitPointerLockElement===g.V;g.kb&&(g.kb.R=a,g.P&&(g.P.fh=a));var b=g.wa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":g.mm)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",e,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",e,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",e,!1)));if(a=a.fontROM)"json"!=ja(a)&&
|
||||
(a=xa()+"/api/v1/dump?file="+a+"&format=bytes"),wa(a,!0,null,this,this.fl)}bb(Z);var oj=1,Pi=7,nj={mda:1,cga:3,ega:5,vga:7},qj=7,sj={2:{Sf:15700,Rf:208,Gg:85,Hg:96},3:{Sf:18432,Rf:364,Gg:85,Hg:96},4:{Sf:21850,Rf:364,Gg:85,Hg:96},7:{Sf:16700,Rf:480,Gg:85,Hg:83}},tj={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},pj=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];pj[qj]=[80,25,1,0,1];
|
||||
|
|
@ -876,25 +876,25 @@ q=0;q<e.length-1;){for(var r=e[q++],x=e[q++];r--;)p[l]=x,l+=2;l==d&&(l=1)}this.$
|
|||
0;this.Zk=this.rh*g.Hg/100|0;this.sh=c[7]||0}}
|
||||
var Ej=18,Fj=25,Gj="HTOTAL HDISP HSYNC_POS HSYNC_WIDTH VTOTAL VTOTAL_ADJ VDISP VSYNC_POS INTERLACE_POS MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),Hj="HTOTAL HDISP_END HBLANK_START HBLANK_END HRETRACE_START HRETRACE_END VTOTAL OVERFLOW PRESET_SCAN MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO VRETRACE_START VRETRACE_END VDISP_END OFFSET UNDERLINE VBLANK_START VBLANK_END MODE_CTRL LINE_COMPARE".split(" "),Ij=
|
||||
"PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVERSCAN PLANES HPAN".split(" "),Jj=["RESET","CLOCKING","MAPMASK","CHARMAP","MEMMODE"],Pj="SRESET ESRESET COLORCMP DATAROT READMAP MODE MISC COLORDC BITMASK".split(" "),Qj=[,,1024,5120];Qj[16]=1280;Qj[512]=0;Qj[1024]=32;Qj[1536]=96;Qj[2560]=160;Qj[3584]=224;Qj[768]=16;Qj[4096]=1;Qj[8192]=2;Qj[24576]=98;Qj[40960]=162;Qj[57344]=226;var Rj=[];
|
||||
Rj[1024]=function(a){a+=this.B;return(this.controller.vb=this.ga[a])>>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<<d&this.controller.jb|this.ga[c]&~(255<<d&this.controller.jb);this.ga[c]!=d&&(this.ga[c]=d,this.Za=!0)};
|
||||
Rj[16]=function(a,b){a+=this.B;var c,d=a&-2;c=(b|b<<8|b<<16|b<<24)&this.controller.Db|this.controller.vb&~this.controller.Db;var e=this.controller.jb&(d==a?16711935:-16711936);c=c&e|this.ga[d]&~e;this.ga[d]!=c&&(this.ga[d]=c,this.Za=!0)};Rj[1]=function(a){a=a+this.B;var b=this.ga[a]&~this.controller.jb|this.controller.vb&this.controller.jb;this.ga[a]!=b&&(this.ga[a]=b,this.Za=!0)};
|
||||
Rj[17]=function(a){a+=this.B;var b=a&-2;a=this.controller.jb&(b==a?16711935:-16711936);a=this.ga[b]&~a|this.controller.vb&a;this.ga[b]!=a&&(this.ga[b]=a,this.Za=!0)};Rj[2]=function(a,b){var c=a+this.B,d=Aj[b&15],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[98]=function(a,b){var c=a+this.B,d=Aj[b&15],d=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[162]=function(a,b){var c=a+this.B,d=Aj[b&15],d=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[226]=function(a,b){var c=a+this.B,d=Aj[b&15],d=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[3]=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.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<<d&this.controller.jb|this.ha[c]&~(255<<d&this.controller.jb);this.ha[c]!=d&&(this.ha[c]=d,this.Za=!0)};
|
||||
Rj[16]=function(a,b){a+=this.B;var c,d=a&-2;c=(b|b<<8|b<<16|b<<24)&this.controller.Db|this.controller.vb&~this.controller.Db;var e=this.controller.jb&(d==a?16711935:-16711936);c=c&e|this.ha[d]&~e;this.ha[d]!=c&&(this.ha[d]=c,this.Za=!0)};Rj[1]=function(a){a=a+this.B;var b=this.ha[a]&~this.controller.jb|this.controller.vb&this.controller.jb;this.ha[a]!=b&&(this.ha[a]=b,this.Za=!0)};
|
||||
Rj[17]=function(a){a+=this.B;var b=a&-2;a=this.controller.jb&(b==a?16711935:-16711936);a=this.ha[b]&~a|this.controller.vb&a;this.ha[b]!=a&&(this.ha[b]=a,this.Za=!0)};Rj[2]=function(a,b){var c=a+this.B,d=Aj[b&15],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[98]=function(a,b){var c=a+this.B,d=Aj[b&15],d=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[162]=function(a,b){var c=a+this.B,d=Aj[b&15],d=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[226]=function(a,b){var c=a+this.B,d=Aj[b&15],d=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[3]=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.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<d.length;){for(var q=d[p],r=p+2;r<d.length&&d[r]===q;)r+=2;g[e++]=r-p>>1;g[e++]=q;p=r}if(g.length<d.length){d=g;break a}}c[14]=d;c[15]=
|
||||
a.Pf|-2147483648;c[16]=a.xi;c[17]=a.jb;c[18]=a.Ic;c[19]=a.Db;c[20]=a.qf;c[21]=a.Ad;c[22]=a.Td;c[23]=a.mh;c[24]=a.nh;c[25]=a.uf;a.fb==Pi&&(c[26]=a.Ci,c[27]=a.Bi,c[28]=a.Rc,c[29]=a.mc,c[30]=a.Lg,c[31]=a.Qe);b[6]=c}b[7]=a.sh}return b}function Tj(a,b,c,d,e){if(d){var g,l="";for(g=0;g<e.length;g++)l&&(l+="\n"),l+=b+"["+k(g)+"]: "+ma(e[g],19)+k(d[g])+(g===c?"*":"");a.ea.W(l)}else a.ea.W(b+": "+k(c))}Cj.prototype.Yi=function(a){return[this.$c,a-this.ib]};Cj.prototype.kh=function(){return this.A};
|
||||
Cj.prototype.Qg=function(a){if(null!=a&&a!=this.Pf){var b=a&65280,c=Rj[b];c||b&4096&&(c=Rj[4096]);var b=a&255,d=Rj[b];d||b&16&&(d=Rj[16]);this.A||(this.A=Array(6));this.A[0]=c;this.A[3]=d;this.Pf=a}};var Dj=[];Dj[oj]=["MDA",948,720896,4096,0,3];Dj[3]=["CGA",980,753664,16384,0,2];Dj[5]=["EGA",980,753664,16384,65536,4];Dj[Pi]=["VGA",980,753664,16384,262144,7];f=Z.prototype;
|
||||
f.yc=function(a,b,c,d){this.va=b;this.A=c;this.ea=d;3!=nj[this.qa]&&(Ub(b,this,Uj),Yb(b,this,Vj));nj[this.qa]!=oj&&(Ub(b,this,Wj),Yb(b,this,Xj));5<=this.fb&&(Ub(b,this,Yj),Yb(b,this,Zj));this.fb==Pi&&(Ub(b,this,ak),Yb(b,this,bk));if(d){var e=this;Hh(d,262144,function(a){if(e.O)if(a){var b=e.O;if(b.$c){a=fa(a);a=void 0!==a?a-b.ib:b.B||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var g=h(b.ib+a)+":",G=0;8>G&&a<b.$c.length;G++)var D=b.$c[a++],g=g+(" "+h(D));c&&(c+="\n");c+=g}c&&b.ea.W(c);b.B=a}else b.ea.W("no buffer")}else e.ea.W("BIOSMODE: "+
|
||||
k(e.lb)),b=e.O,Tj(b,"CRTC",b.ec,b.mb,b.Df),5<=b.fb&&(Tj(b," GRC",b.Dd,b.Wd,b.Xg),Tj(b," SEQ",b.Ed,b.ie,b.Yg),Tj(b," ATC",b.Cd,b.Ac,b.Wg),b.ea.W(" ATCDATA: "+b.nd),Tj(b," FEAT",b.wf),Tj(b," MISC",b.Re),Tj(b," STATUS0",b.Ng)),Tj(b," STATUS1",b.Ha),b.fb!=oj&&3!=b.fb||Tj(b," MODEREG",b.Kc),3==b.fb&&Tj(b," COLOR",b.Pe),5<=b.fb&&(b.ea.W(" LATCHES: 0x"+h(b.vb)),b.ea.W(" ACCESS: "+ga(b.Pf)),b.ea.W("Use 'dump video [addr]' to dump video memory"));else e.ea.W("no active video card")})}if((this.P=
|
||||
vb(a,"Keyboard"))&&this.ua){for(var g in this.wa)0<g.indexOf("lock")&&this.P.Lb("led",g,this.wa[g]);this.P.Lb(this.nm?"textarea":"canvas","kbd",this.V)}this.Oc=9;(this.U=vb(a,"ChipSet"))&&this.sf&&5==this.fb&&(this.Oc=uh(this.sf,this.Oc));this.P&&this.km&&ck(this)};
|
||||
f.Lb=function(a,b,c){var d=this;if(!this.wa[b])switch(this.wa[b]=c,b){case "fullScreen":return this.ha&&this.ha.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.ha){if(this.ha.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.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;d<c.length;d++)a.Ma[d+1]=wj[c[d]];return a.Ma}if(a.aa===a.Pc)return wj;a.hb&&b&&!a.Ma[16]&&(a.hb=!1);if(!a.hb){var c=a.B,d=c.Qe,e,g,l,p,q;if(8==b)for(g=0;256>g;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<<x,xc:g<<x,ne:Array(D),Ii:p.slice(0,D),Xe:q,Ug:Array(D)});for(q=0;q<D;q++){var H=p[q],K=G.ne[q]?G.Ii[q]:[];if(H[0]!==K[0]||H[1]!==K[1]||H[2]!==K[2]){var r=G,K=q,X=x,P=c,T=d,na=e,ha=g,Na=l,zc=[0,0,0,0],ea=window.document.createElement("canvas");ea.width=r.wc<<4;ea.height=r.xc<<4;for(var vd=ea.getContext("2d"),aa=void 0,da=void 0,Qa=void 0,eb=8>ha||!T?ha:8,Ua=vd.createImageData(r.wc,r.xc),aa=0;256>aa;aa++){for(Qa=
|
||||
0;Qa<ha;Qa++)for(var Oa=r.Xe&&K&1&&Qa>=ha-2,Ja=Na[Qa<eb?P+aa*eb+Qa:T+aa*eb+Qa-eb],Sc=0;Sc<=X;Sc++)for(da=0;da<na;da++){var Tc=da<<X,Ac=(Qa<<X)+Sc,wd=Oa||Ja&128>>(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){0<a.Wa||0<=a.pa?0>a.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<<x,xc:g<<x,ne:Array(D),Ii:p.slice(0,D),Xe:q,Ug:Array(D)});for(q=0;q<D;q++){var H=p[q],K=G.ne[q]?G.Ii[q]:[];if(H[0]!==K[0]||H[1]!==K[1]||H[2]!==K[2]){var r=G,K=q,X=x,P=c,T=d,na=e,ha=g,Na=l,zc=[0,0,0,0],ea=window.document.createElement("canvas");ea.width=r.wc<<4;ea.height=r.xc<<4;for(var wd=ea.getContext("2d"),aa=void 0,da=void 0,Qa=void 0,eb=8>ha||!T?ha:8,Ua=wd.createImageData(r.wc,r.xc),aa=0;256>aa;aa++){for(Qa=
|
||||
0;Qa<ha;Qa++)for(var Oa=r.Xe&&K&1&&Qa>=ha-2,Ja=Na[Qa<eb?P+aa*eb+Qa:T+aa*eb+Qa-eb],Sc=0;Sc<=X;Sc++)for(da=0;da<na;da++){var Tc=da<<X,Ac=(Qa<<X)+Sc,xd=Oa||Ja&128>>(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){0<a.Wa||0<=a.pa?0>a.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;b<a.length;b++){var c=a[b],d=gb(c),e=window.document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing <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<a.Y.length&&!(a.B&1)&&(a.Fa=a.Y.shift(),a.B|=1);var b=-1;a.B&1&&a.da&1&&(b=4);0<=b?(a.R&=-8,a.R|=b,a.U&&a.aa&&wi(a.U,a.aa,100)):(a.R|=1,a.U&&a.aa&&xi(a.U,a.aa))}
|
||||
f.Ek=function(a,b){var c=this.O&128?this.la&255:this.Fa;m(this,a,null,b,this.O&128?"DLL":"RBR",c);this.B&=-2;Ek(this);return c};f.pk=function(a,b){var c=this.O&128?this.la>>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;b<a.length;b++){var c=a[b],d=gb(c),d=new yk(d);hb(d,c)}});function Hk(a){Ta.call(this,"Mouse",a,Hk,33554432);if(this.pa=a.serial)this.ua="SerialPort";this.qc=this.R=this.jc=!1;this.aa=[];this.U=[];nb(this)}bb(Hk);f=Hk.prototype;
|
||||
f.yc=function(a,b,c,d){this.la=a;this.va=b;this.A=c;this.ea=d;for(b=null;b=vb(a,"Video",b);)this.aa.push(b)};f.dc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.ua&&!this.da){for(var c=null;(c=vb(this.la,this.ua,c))&&(!c.Ji||!(this.da=c.Ji(this.pa,this))););if(this.da)for(this.U=[],c=0;c<this.aa.length;c++){var d;d=this.aa[c];d.kb=this;(d=d.V)&&this.U.push(d)}else ya(this.id+": "+this.ua+" "+this.pa+" unavailable")}this.jc?Fk(this):Gk(this)}return!0};
|
||||
f.cc=function(a){return a&&this.save?this.save():!0};f.reset=function(){Ik(this)};f.save=function(){var a=new ge(this),b=0,c=[];c[b++]=this.jc;c[b++]=this.V;c[b++]=this.Y;c[b++]=this.B;c[b++]=this.O;c[b++]=this.ha;c[b++]=this.na;c[b]=this.P;he(a,0,c);return a.data()};f.restore=function(a){return Ik(this,a[0])};function Ik(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.jc=d;a.V=b[c++];a.Y=b[c++];a.B=b[c++];a.O=b[c++];a.ha=b[c++];a.na=b[c++];a.P=b[c];return!0}
|
||||
f.cc=function(a){return a&&this.save?this.save():!0};f.reset=function(){Ik(this)};f.save=function(){var a=new ge(this),b=0,c=[];c[b++]=this.jc;c[b++]=this.V;c[b++]=this.Y;c[b++]=this.B;c[b++]=this.O;c[b++]=this.ga;c[b++]=this.na;c[b]=this.P;he(a,0,c);return a.data()};f.restore=function(a){return Ik(this,a[0])};function Ik(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.jc=d;a.V=b[c++];a.Y=b[c++];a.B=b[c++];a.O=b[c++];a.ga=b[c++];a.na=b[c++];a.P=b[c];return!0}
|
||||
function Fk(a){if(!a.qc)for(var b=0;b<a.U.length;b++)Jk(a,a.U[b])&&(a.qc=!0)}function Gk(a){if(a.qc)for(var b=0;b<a.U.length;b++){var c=a.U[b];c&&(c.style.cursor="auto")}}
|
||||
function Jk(a,b){return b?(b.addEventListener("mousemove",function(b){if(a.jc&&a.A&&a.A.ma.zb){if(0>a.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<a.length;b++){var c=a[b],d=gb(c),d=new Hk(d);hb(d,c)}});
|
||||
function Mk(a,b,c){Ta.call(this,"Disk",{id:a.lj+".disk"+ ++Nk},Mk,2097152);this.controller=a;this.la=a.la;this.ea=a.ea;this.O=b;this.B=b.name;this.xe=b.xe;this.Kf=this.P=!1;Ok(this,c,b.Gb,b.Hb,b.Kb,b.Cb);this.R=[];this.da=[];this.U=null;this.ha=0;this.Fa=!1;nb(this)}var Nk=0;bb(Mk);f=Mk.prototype;f.yc=function(a,b,c,d){this.ea=d};f.dc=function(a,b){b||!this.Kf||this.P||(nb(this,!1),this.load(this.B,this.Y,null,this.Kj,this));return!0};f.Kj=function(){nb(this,!0)};
|
||||
"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.ga!=c&&(a.ga=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.ga?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<a.length;b++){var c=a[b],d=gb(c),d=new Hk(d);hb(d,c)}});
|
||||
function Mk(a,b,c){Ta.call(this,"Disk",{id:a.lj+".disk"+ ++Nk},Mk,2097152);this.controller=a;this.la=a.la;this.ea=a.ea;this.O=b;this.B=b.name;this.xe=b.xe;this.Kf=this.P=!1;Ok(this,c,b.Gb,b.Hb,b.Kb,b.Cb);this.R=[];this.da=[];this.U=null;this.ga=0;this.Fa=!1;nb(this)}var Nk=0;bb(Mk);f=Mk.prototype;f.yc=function(a,b,c,d){this.ea=d};f.dc=function(a,b){b||!this.Kf||this.P||(nb(this,!1),this.load(this.B,this.Y,null,this.Kj,this));return!0};f.Kj=function(){nb(this,!0)};
|
||||
f.cc=function(a,b){if(this.P){var c,d=0;if(this.Fa&&!za("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Pk(this,!1);)if(d=c[0]){this.controller.Pa('Unable to save "'+this.B+'" (error '+d+")");break}b&&this.P&&(c="action=close&volume="+this.Y,c+="&machine="+this.controller.Ae(),c+="&user="+this.controller.Pd(),wa(xa()+"/api/v1/disk?"+c,!0),this.P=!1);!d&&a&&this.controller.Pa(this.B+" saved")}return!0};
|
||||
function Ok(a,b,c,d,e,g){a.mode=b;a.Gb=c;a.Hb=d;a.Kb=e;a.Cb=g;a.A=[];if("preload"!=a.mode){b=Array(a.Gb);for(c=0;c<b.length;c++){d=Array(a.Hb);for(e=0;e<d.length;e++){g=Array(a.Kb);for(var l=1;l<=g.length;l++)g[l-1]=Qk(null,c,e,l,a.Cb,"local"==a.mode?0:null);d[e]=g}b[c]=d}a.A=b}a.aa=null}
|
||||
f.load=function(a,b,c,d,e){var g=b;if(!this.V)if(this.B=a,this.Y=b,this.V=d,this.na=e||this.controller,c){var l=this,p=new FileReader;p.onload=function(){var a=p.result,b,c=a?a.byteLength:0,d=ca[c];if(d){l.Gb=d[0];l.Hb=d[1];l.Kb=d[2];l.Cb=512;b=l.Cb>>2;var e=d=0,a=new DataView(a,0,c);l.A=Array(l.Gb);for(c=0;c<l.A.length;c++)for(var g=l.A[c]=Array(l.Hb),K=0;K<g.length;K++)for(var X=g[K]=Array(l.Kb),P=0;P<X.length;P++){for(var T=Qk(null,c,K,P+1,l.Cb,0),na=T.data,ha=0;ha<b;ha++,e+=4)var Na=na[ha]=a.getInt32(e,
|
||||
|
|
@ -965,7 +965,7 @@ f.Ij=function(a,b,c,d){var e=null;this.ze=!1;var g=0>c&&this.la&&!this.la.ma.bc;
|
|||
D&&D.length){for(var g=r<<2,H=D.length;H<g;H++)D[H]=x;Sk(q,D,0)}else G=[],x=q.pattern=x|x<<8|x<<16|x<<24,q.data=G;delete q.bytes}Qk(q,b,c);for(g=0;g<G.length;g++)a=a+G[g]&-1}this.A=p;this.aa=a;e=this}else ya("Empty disk image: "+this.B)}catch(K){ya("Disk image error: "+K.message)}this.V&&(this.V.call(this.na,this.O,e,this.B,this.Y),this.V=null)};function Qk(a,b,c,d,e,g){a||(a={sector:d,length:e,data:[],pattern:g});a.Nj=b;a.Oj=c;a.bd=a.Dc=0;a.Za=!1;return a}
|
||||
function Rk(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Gb+":"+a.Hb+":"+a.Kb+":"+a.Cb;c+="&machine="+a.controller.Ae();c+="&user="+a.controller.Pd();return xa()+"/api/v1/disk?"+c}function Tk(a,b,c,d,e,g,l){if(a.P){var p;p="action=read&volume="+a.Y;p+="&chs="+a.Gb+":"+a.Hb+":"+a.Kb+":"+a.Cb;p=p+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.Ae());p+="&user="+a.controller.Pd();wa(xa()+"/api/v1/disk?"+p,g,null,a,a.Lj,[b,c,d,e,g,l])}else l&&l(-1,!1)}
|
||||
f.Lj=function(a,b,c,d){var e=!1;a=d[0];var g=d[1],l=d[2],p=d[3];if(!c){b=JSON.parse(b);for(e=0;p--;){var q=this.seek(a,g,l,!0);if(!q)break;Sk(q,b,e);e+=q.length;l++}e=d[4]}(d=d[5])&&d(c,e)};f.Mj=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],g=d[3];d=d[4];this.Fa=!1;if(0<=a&&a<this.A.length&&0<=b&&b<this.A[a].length)for(e=e-1;0<g--&&0<=e&&e<this.A[a][b].length;e++){var l=this.A[a][b][e];c?Uk(this,l,!1):l.Za||(l.bd=l.Dc=0)}d&&Vk(this)};
|
||||
function Uk(a,b,c){b.Za=!0;var d=a.R.indexOf(b);0<=d&&(a.R.splice(d,1),a.da.splice(d,1));a.R.push(b);a.da.push(ra());c&&Vk(a)}function Vk(a){if(a.R.length){var b=a.da[0]+2E3;a.U&&a.ha<b&&(clearTimeout(a.U),a.U=null);if(!a.U){var c=ra(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.U=setTimeout(function(){Pk(a,!0)},b);a.ha=c+b}}else a.U&&(clearTimeout(a.U),a.U=null)}
|
||||
function Uk(a,b,c){b.Za=!0;var d=a.R.indexOf(b);0<=d&&(a.R.splice(d,1),a.da.splice(d,1));a.R.push(b);a.da.push(ra());c&&Vk(a)}function Vk(a){if(a.R.length){var b=a.da[0]+2E3;a.U&&a.ga<b&&(clearTimeout(a.U),a.U=null);if(!a.U){var c=ra(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.U=setTimeout(function(){Pk(a,!0)},b);a.ga=c+b}}else a.U&&(clearTimeout(a.U),a.U=null)}
|
||||
function Pk(a,b){b&&(a.U=null);var c=a.R[0];if(c){for(var d=c.Nj,e=c.Oj,c=c.sector,g=0,l=[],p=c-1;p<a.A[d][e].length;p++){var q=a.A[d][e][p];if(!q.Za)break;var r=a.R.indexOf(q);a.R.splice(r,1);a.da.splice(r,1);l=l.concat(Wk(q));q.Za=!1;g++}a.P?(p={},a.Fa=!0,p.action="write",p.volume=a.Y,p.chs=a.Gb+":"+a.Hb+":"+a.Kb+":"+a.Cb,p.addr=d+":"+e+":"+c+":"+g,p.machine=a.controller.Ae(),p.user=a.controller.Pd(),p.data=JSON.stringify(l),d=wa(xa()+"/api/v1/disk",b,p,a,a.Mj,[d,e,c,g,b])):d=!1;return b||d}return!1}
|
||||
f.info=function(){return this.A.length?[this.A.length,this.A[0].length,this.A[0][0].length,this.A[0][0][0].length]:[0,0,0,0]};
|
||||
f.seek=function(a,b,c,d,e){var g=null,l=this.O,p=this.A[a];if(p){var q=p[b];if(!q&&l.$g&&b<l.Hb)for(q=p[b]=Array(l.Ld),p=0;p<q.length;p++)q[p]=Qk(null,a,b,p+1,l.wb,0);if(q){for(p=0;p<q.length;p++)if(q[p]&&q[p].sector==c){g=q[p];if(null===g.pattern)if(d)g.pattern=0;else{for(d=1;++p<q.length;)null===q[p].pattern&&d++;Tk(this,a,b,c,d,null!=e,function(a,b){a&&(g=null);e&&e(g,b)});return e?null:g}break}!g&&l.$g&&9==l.ob&&(g=q[p]=Qk(null,a,b,l.ob,l.wb,0))}}e&&e(g,!1);return g};
|
||||
|
|
@ -982,9 +982,9 @@ f.Lb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.wa[b]=c,c
|
|||
f.yc=function(a,b,c,d){this.va=b;this.A=c;this.ea=d;this.la=a;this.U=vb(a,"ChipSet");bl(this);Ub(b,this,cl);Yb(b,this,dl);this.pa&&el(this,"Local Disk","?");el(this,"Remote Disk","??");fl(this)||nb(this)};
|
||||
f.dc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.la.hh){this.O=[];for(var c=0;c<this.B.length;c++)gl(this,c,!0);fl(this,!0)}}else if(!this.restore(a))return!1;if(c=this.wa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.na;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.na&&(c.value="0",$k(this,0))}}return!0};
|
||||
f.cc=function(a){return a&&this.save?this.save():!0};f.reset=function(){bl(this)};
|
||||
f.save=function(){var a=new ge(this),b=0,c=[];c[b++]=this.Ab;c[b++]=0;c[b++]=this.Ha;c[b++]=this.V;c[b++]=this.R;c[b++]=this.P;c[b++]=this.ha;for(var d=b++,e=0,g=[],l=0;l<this.B.length;l++){var p=e++,q=this.B[l],r=0,x=[];x[r++]=q.sb;x[r++]=[q.name,q.Gb,q.Hb,q.Kb,q.Cb,q.xe,q.Qf,q.nf,q.of];x[r++]=q.eb;x[r++]=q.Kd+100;x[r++]=q.Eb;x[r++]=q.ob;x[r++]=q.Ld;x[r++]=q.wb;x[r++]=q.$a;x[r++]=q.ve;x[r++]=q.oj;x[r]=q.ke;g[p]=x}c[d]=g;d=b++;for(e=0;e<this.B.length;e++)g=this.B[e],g.Ia&&hl(this,g.ke,g.Ia);c[d]=
|
||||
f.save=function(){var a=new ge(this),b=0,c=[];c[b++]=this.Ab;c[b++]=0;c[b++]=this.Ha;c[b++]=this.V;c[b++]=this.R;c[b++]=this.P;c[b++]=this.ga;for(var d=b++,e=0,g=[],l=0;l<this.B.length;l++){var p=e++,q=this.B[l],r=0,x=[];x[r++]=q.sb;x[r++]=[q.name,q.Gb,q.Hb,q.Kb,q.Cb,q.xe,q.Qf,q.nf,q.of];x[r++]=q.eb;x[r++]=q.Kd+100;x[r++]=q.Eb;x[r++]=q.ob;x[r++]=q.Ld;x[r++]=q.wb;x[r++]=q.$a;x[r++]=q.ve;x[r++]=q.oj;x[r]=q.ke;g[p]=x}c[d]=g;d=b++;for(e=0;e<this.B.length;e++)g=this.B[e],g.Ia&&hl(this,g.ke,g.Ia);c[d]=
|
||||
this.O;c[b++]=this.Y;c[b]=this.ua;he(a,0,c);return a.data()};f.restore=function(a){return bl(this,a[0])};
|
||||
function bl(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.Ab=b[c++];c++;a.Ha=b[c++];a.V=b[c++];a.R=b[c++];a.P=b[c++];a.ha=b[c++];var g=b[c++];d=b[c++];null!=d&&(a.O=d);void 0===a.B&&(a.na=4,a.U&&(a.na=$h(a.U)),a.B=Array(4));for(d=0;d<a.B.length;d++){var l=a.B[d];if(void 0===l){var l=a.B[d]={},p;if(a.U)a:{p=a.U;if(d<$h(p)){if(!p.ua){p=360;break a}if(d<p.ua.length){p=p.ua[d];break a}}p=0}else p=0;switch(p){case 160:case 180:l.Hb=1;default:l.Gb=40;l.Kb=9;break;case 720:l.Gb=80;l.Kb=
|
||||
function bl(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.Ab=b[c++];c++;a.Ha=b[c++];a.V=b[c++];a.R=b[c++];a.P=b[c++];a.ga=b[c++];var g=b[c++];d=b[c++];null!=d&&(a.O=d);void 0===a.B&&(a.na=4,a.U&&(a.na=$h(a.U)),a.B=Array(4));for(d=0;d<a.B.length;d++){var l=a.B[d];if(void 0===l){var l=a.B[d]={},p;if(a.U)a:{p=a.U;if(d<$h(p)){if(!p.ua){p=360;break a}if(d<p.ua.length){p=p.ua[d];break a}}p=0}else p=0;switch(p){case 160:case 180:l.Hb=1;default:l.Gb=40;l.Kb=9;break;case 720:l.Gb=80;l.Kb=
|
||||
9;break;case 1200:l.Gb=80;l.Kb=15;break;case 1440:l.Gb=80,l.Kb=18}}var q=a,r=d,x=g[d],G=0;p=!0;l.Ab=r;l.Gc=l.ve=!1;void 0===x&&(x=[192,!0,0,2,0]);"boolean"==typeof x[1]&&(x[1]=["Floppy Drive",l.Gb||40,l.Hb||x[3],l.Kb||9,l.Cb||512,x[1],l.Qf,l.nf,l.of]);l.sb=x[G++];var D=x[G++];l.name=D[0];l.Gb=D[1];l.Hb=D[2];l.Kb=D[3];l.Cb=D[4];l.xe=D[5];(l.Qf=D[6])?(l.nf=D[7],l.of=D[8]):(l.Qf=l.Gb,l.nf=l.Hb,l.of=l.Kb);l.eb=x[G++];l.Kd=x[G++];l.Eb=x[G++];l.Kd=100<=l.Kd?l.Kd-100:l.Kd-l.Eb;l.ob=x[G++];l.Ld=x[G++];l.wb=
|
||||
x[G++];l.$a=x[G++];l.gb=null;l.Ia||(l.ke="");D=x[G++];102==D&&(D=!1);if("boolean"==typeof D){var H=D,D=x[G++],x=x[G];H?(G=D,D=q.B[r],gl(q,r,!0,!0),D.ve=!0,r=new Mk(q,D,"preload"),q.Ri(D,r,G,x,!0)):il(q,r,D,x,!0)?l.Ia&&x&&jl(q,D,x,l.Ia):nb(q,!1)}else void 0!==D&&l.Ia&&0>l.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&&e<a.B.length){!il(a,e,d.name,d.path,!0)&&b&&nb(a,!1);continue}}a.Pa("Unrecognized auto-mount specification for drive "+c)}return!!a.da}
|
||||
|
|
@ -992,23 +992,23 @@ function al(a,b,c,d){var e,g=a.wa.listDrives;if(g&&!isNaN(e=fa(g.value,10))&&0<=
|
|||
void 0,p=0;p<g.O.length;p++)if(g.O[p][1]==l){g.O.splice(p,1);break}gl(a,e,!1,!0)}}else gl(a,e);else a.Pa("Nothing to load")}function il(a,b,c,d,e,g){var l=a.B[b];if(d&&l.ke!=d){gl(a,b,e,!0);if(l.Gc)return a.Pa("Drive "+b+" busy"),!0;l.Gc=!0;e&&(l.ae=!0,a.da++,a.ta()&&a.Fa("loading diskette '"+c+"'"));l.ve=!!g;(new Mk(a,l,"preload")).load(c,d,g,a.Ri);return!1}return!0}
|
||||
f.Ri=function(a,b,c,d,e){var g;a.Gc=!1;b&&(g=b.info(),b&&g[0]>a.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<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}function $k(a,b){if(0<=b&&b<a.B.length){var c=a.B[b],d=a.wa.listDisks,e=a.wa.listDrives;if(d&&e&&(e=fa(e.value,10),c=c.ve?"?":c.ke,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}
|
||||
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<a.O.length;e++)if(a.O[e][1]==c){d.restore(a.O[e][2]);return}a.O[e]=[b,c,[]]}function hl(a,b,c){var d;for(d=0;d<a.O.length;d++)if(a.O[d][1]==b){a.O[d][2]=c.save();break}}f.Hl=function(a,b,c){m(this,a,b,c,"OUTPUT");b&4?this.ha&4||this.ha&8&&this.U&&wi(this.U,6):bl(this);this.ha=b};
|
||||
f.lk=function(a,b){m(this,a,null,b,"STATUS",this.Ha);return this.Ha};f.jk=function(a,b){var c=0;this.R<this.P&&(c=this.V[this.R]);this.ha&8&&this.U&&xi(this.U,6);this.ta()&&m(this,a,null,b,"DATA["+this.R+"]",c);++this.R>=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<a.O.length;e++)if(a.O[e][1]==c){d.restore(a.O[e][2]);return}a.O[e]=[b,c,[]]}function hl(a,b,c){var d;for(d=0;d<a.O.length;d++)if(a.O[d][1]==b){a.O[d][2]=c.save();break}}f.Hl=function(a,b,c){m(this,a,b,c,"OUTPUT");b&4?this.ga&4||this.ga&8&&this.U&&wi(this.U,6):bl(this);this.ga=b};
|
||||
f.lk=function(a,b){m(this,a,null,b,"STATUS",this.Ha);return this.Ha};f.jk=function(a,b){var c=0;this.R<this.P&&(c=this.V[this.R]);this.ga&8&&this.U&&xi(this.U,6);this.ta()&&m(this,a,null,b,"DATA["+this.R+"]",c);++this.R>=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<this.V.length&&(this.V[this.P++]=b);a=this.V[0]&31;if(void 0!==Zk[a]&&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<<l;d.Ld=kl(this);kl(this);
|
||||
kl(this);6==p?(p=d,p.sb=72,p.Ia&&(p.gb=null,p.sb=0,this.U&&(pi(this.U,2,this,"dmaRead",p),ii(this.U,2)))):(p=d,p.sb=72,p.Ia&&(p.Ia.ze?p.sb=576:(p.gb=null,p.sb=0,this.U&&(pi(this.U,2,this,"dmaWrite",p),ii(this.U,2)))));nl(this,d,a,b,c,e,g,l);b=!0;break;case 7:c=kl(this);this.Ab=c&3;d=this.B[this.Ab];d.Eb=d.Kd=0;d.sb=268435488;ll(this);b=!0;break;case 8:d=this.B[this.Ab];d.eb=0;ll(this);ml(this,d.Ab|d.eb<<2|d.sb&255);ml(this,d.Eb);this.Ab=this.Ab+1&3;break;case 10:c=kl(this);b=c>>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<<l;d.Ld=kl(this);kl(this);d.Ki=kl(this);p=d;p.sb=72;p.Ia&&(p.gb=null,p.sb=0,this.U&&(p.re=0,p.Qc=Array(4),p.$g=!0,p.Gf=0,pi(this.U,2,this,"dmaFormat",p),ii(this.U,2),p.$g=!1));nl(this,d,a,b,c,e,g,l);b=!0;break;case 15:c=kl(this),this.Ab=c&3,d=this.B[this.Ab],
|
||||
d.eb=c>>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<this.P&&(this.Ha|=80);this.ha&8&&(!d||d.sb&8||!b||this.U&&wi(this.U,6))}};f.kk=function(a,b){var c=this.Y;this.Y&=-129;m(this,a,null,b,"INPUT",c);return c};f.Fl=function(a,b,c){m(this,a,b,c,"CONTROL");this.ua=b};
|
||||
d.eb=c>>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<this.P&&(this.Ha|=80);this.ga&8&&(!d||d.sb&8||!b||this.U&&wi(this.U,6))}};f.kk=function(a,b){var c=this.Y;this.Y&=-129;m(this,a,null,b,"INPUT",c);return c};f.Fl=function(a,b,c){m(this,a,b,c,"CONTROL");this.ua=b};
|
||||
function nl(a,b,c,d,e,g,l,p){ll(a);ml(a,b.Ab|b.eb<<2|b.sb&255);ml(a,(b.sb&65280)>>>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<<a.Qc[3];for(var d=a.re=0;d<a.wb;d++)if(0>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;b<a.length;b++){var c=a[b],d=gb(c),d=new Yk(d);hb(d,c)}});
|
||||
function ql(a){Ta.call(this,"HDC",a,ql,1048576);this.dmaRead=this.wj;this.dmaWrite=this.xj;this.dmaWriteBuffer=this.Gj;this.dmaWriteFormat=this.Hj;this.Ma=[];if(a.drives)try{this.Ma=eval("("+a.drives+")")}catch(b){ya("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.Ba=(this.ha="at"==a.type)?1:0;this.ab=this.ha?2:3}bb(ql);
|
||||
var rl=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,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]}];f=ql.prototype;f.Lb=function(){return!1};f.yc=function(a,b,c,d){this.va=b;this.A=c;this.ea=d;this.la=a;this.U=vb(a,"ChipSet");Ub(b,this,this.ha?sl:tl);Yb(b,this,this.ha?ul:vl);de(c,19,this,this.Pk);de(c,64,this,this.Qk);this.reset();wl(this)||nb(this)};
|
||||
function ql(a){Ta.call(this,"HDC",a,ql,1048576);this.dmaRead=this.wj;this.dmaWrite=this.xj;this.dmaWriteBuffer=this.Gj;this.dmaWriteFormat=this.Hj;this.Ma=[];if(a.drives)try{this.Ma=eval("("+a.drives+")")}catch(b){ya("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.Ba=(this.ga="at"==a.type)?1:0;this.ab=this.ga?2:3}bb(ql);
|
||||
var rl=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,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]}];f=ql.prototype;f.Lb=function(){return!1};f.yc=function(a,b,c,d){this.va=b;this.A=c;this.ea=d;this.la=a;this.U=vb(a,"ChipSet");Ub(b,this,this.ga?sl:tl);Yb(b,this,this.ga?ul:vl);de(c,19,this,this.Pk);de(c,64,this,this.Qk);this.reset();wl(this)||nb(this)};
|
||||
f.dc=function(a,b){if(!b)if(!a||!this.restore)xl(this),this.la.hh&&wl(this,!0);else if(!this.restore(a))return!1;return!0};f.cc=function(a){return a&&this.save?this.save():!0};f.Ae=function(){return this.la?this.la.Ae():""};f.Pd=function(){return this.la?this.la.Pd():""};f.reset=function(){xl(this,null,!0)};
|
||||
f.save=function(){var a=new ge(this),b=0,c=[];this.ha?(c[b++]=this.Y,c[b++]=this.Wa,c[b++]=this.aa,c[b++]=this.Ja,c[b++]=this.Ea,c[b++]=this.Ca,c[b++]=this.ua,c[b++]=this.Ha,c[b++]=this.Na,c[b++]=this.Ga):(c[b++]=this.pa,c[b++]=this.Ha,c[b++]=this.V,c[b++]=this.R,c[b++]=this.P,c[b++]=this.Ta,c[b++]=this.Qa,c[b++]=this.Ra,c[b++]=this.na);for(var d=0,e=[],g=0;g<this.B.length;g++){var l=d++,p=this.B[g],q=0,r=[];r[q++]=p.errorCode;r[q++]=p.qj;r[q++]=p.xe;r[q++]=p.oe;r[q++]=p.pe;r[q++]=p.eb;r[q++]=p.Hb;
|
||||
f.save=function(){var a=new ge(this),b=0,c=[];this.ga?(c[b++]=this.Y,c[b++]=this.Wa,c[b++]=this.aa,c[b++]=this.Ja,c[b++]=this.Ea,c[b++]=this.Ca,c[b++]=this.ua,c[b++]=this.Ha,c[b++]=this.Na,c[b++]=this.Ga):(c[b++]=this.pa,c[b++]=this.Ha,c[b++]=this.V,c[b++]=this.R,c[b++]=this.P,c[b++]=this.Ta,c[b++]=this.Qa,c[b++]=this.Ra,c[b++]=this.na);for(var d=0,e=[],g=0;g<this.B.length;g++){var l=d++,p=this.B[g],q=0,r=[];r[q++]=p.errorCode;r[q++]=p.qj;r[q++]=p.xe;r[q++]=p.oe;r[q++]=p.pe;r[q++]=p.eb;r[q++]=p.Hb;
|
||||
r[q++]=p.Fd;r[q++]=p.ob;r[q++]=p.Ld;r[q++]=p.wb;r[q++]=p.$a;r[q]=p.Ia?p.Ia.save():null;e[l]=r}c[b]=e;he(a,0,c);return a.data()};f.restore=function(a){return xl(this,a[0])};
|
||||
function xl(a,b,c){var d=0,e=!0;if(a.ha)null==b&&(b=[0,0,0,0,0,0,0,0,64,0]),a.Y=b[d++],a.Wa=b[d++],a.aa=b[d++],a.Ja=b[d++],a.Ea=b[d++],a.Ca=b[d++],a.ua=b[d++],a.Ha=b[d++],a.Na=b[d++],a.Ga=b[d++];else{null==b&&(b=[0,0,Array(14),0,0]);a.pa=b[d++];a.Ha=b[d++];a.V=b[d++];a.R=b[d++];a.P=b[d++];a.Ta=b[d++];a.Qa=b[d++];a.Ra=b[d++];var g=b[d++];void 0!==g?a.na=g:void 0===a.na&&(a.na=-1)}void 0===a.B&&(a.B=Array(a.Ma.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<a.B.length;d++){void 0===a.B[d]&&(a.B[d]={});
|
||||
var g=a.B[d],l=a,p=d,q=g,r=a.Ma[d],x=b[d],G=c,D=0,H=!0;void 0===x&&(x=[0,0,!1,Array(8)]);q.Ab=p;q.errorCode=x[D++];q.qj=x[D++];q.xe=x[D++];q.oe=x[D++];q.pe=x[D++];q.eb=x[D++];q.Hb=x[D++];q.Fd=x[D++];q.ob=x[D++];q.Ld=x[D++];q.wb=x[D++];q.Ff=l.ha?0:1;q.name=r.name;void 0===q.name&&(q.name="Hard Drive");q.path=r.path;q.mode=r.mode||(q.path?"preload":"local");"demandro"!=q.mode&&"demandrw"!=q.mode||l.Pd()||(q.mode="local");q.type=r.type;if(void 0===q.type||void 0===rl[l.Ba][q.type])q.type=l.ab;r=rl[l.Ba][q.type];
|
||||
function xl(a,b,c){var d=0,e=!0;if(a.ga)null==b&&(b=[0,0,0,0,0,0,0,0,64,0]),a.Y=b[d++],a.Wa=b[d++],a.aa=b[d++],a.Ja=b[d++],a.Ea=b[d++],a.Ca=b[d++],a.ua=b[d++],a.Ha=b[d++],a.Na=b[d++],a.Ga=b[d++];else{null==b&&(b=[0,0,Array(14),0,0]);a.pa=b[d++];a.Ha=b[d++];a.V=b[d++];a.R=b[d++];a.P=b[d++];a.Ta=b[d++];a.Qa=b[d++];a.Ra=b[d++];var g=b[d++];void 0!==g?a.na=g:void 0===a.na&&(a.na=-1)}void 0===a.B&&(a.B=Array(a.Ma.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<a.B.length;d++){void 0===a.B[d]&&(a.B[d]={});
|
||||
var g=a.B[d],l=a,p=d,q=g,r=a.Ma[d],x=b[d],G=c,D=0,H=!0;void 0===x&&(x=[0,0,!1,Array(8)]);q.Ab=p;q.errorCode=x[D++];q.qj=x[D++];q.xe=x[D++];q.oe=x[D++];q.pe=x[D++];q.eb=x[D++];q.Hb=x[D++];q.Fd=x[D++];q.ob=x[D++];q.Ld=x[D++];q.wb=x[D++];q.Ff=l.ga?0:1;q.name=r.name;void 0===q.name&&(q.name="Hard Drive");q.path=r.path;q.mode=r.mode||(q.path?"preload":"local");"demandro"!=q.mode&&"demandrw"!=q.mode||l.Pd()||(q.mode="local");q.type=r.type;if(void 0===q.type||void 0===rl[l.Ba][q.type])q.type=l.ab;r=rl[l.Ba][q.type];
|
||||
q.Kb=r[2]||17;q.Cb=r[3]||512;if(G&&l.U){var r=l.U,K=q.type;r.B&&(G=r.B[18],G=p?G&240|K:G&15|K<<4,r.B&&(r.B[18]=G,Sh(r)))}void 0===q.Ia&&(q.Ia=null,l.Pa("Type "+q.type+' "'+q.name+'" is fixed disk '+p,!0));yl(l,q);q.$a=x[D++];q.gb=null;q.Ia&&(l=x[D],void 0!==l&&0>q.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<a&&(this.na=a-128);return!0};f.Qk=function(){var a;(a=this.A.F>>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;b<a.length;b++){var c=a[b],d=gb(c),d=new ql(d);hb(d,c)}});
|
||||
function Ll(a){Ta.call(this,"Debugger",a,Ll);this.Ja=this.da=-1;this.Ba=4;this.kb=65535;this.pa=5;this.hb=1048575;this.V=Ml(this);this.Wa=Ml(this);this.Y=-1;this.R=[];this.Ca=!1;this.ua=Ml(this);this.P=[];this.B=this.ha=this.U=[];Nl(this);Ol(this);Pl(this,a.messages);this.Ta=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return Ql(b,a)}):void 0===global.$&&(global.$=function(a){return Ql(b,a)})}bb(Ll);
|
||||
function Ll(a){Ta.call(this,"Debugger",a,Ll);this.Ja=this.da=-1;this.Ba=4;this.kb=65535;this.pa=5;this.hb=1048575;this.V=Ml(this);this.Wa=Ml(this);this.Y=-1;this.R=[];this.Ca=!1;this.ua=Ml(this);this.P=[];this.B=this.na=this.U=[];Nl(this);Ol(this);Pl(this,a.messages);this.Ta=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return Ql(b,a)}):void 0===global.$&&(global.$=function(a){return Ql(b,a)})}bb(Ll);
|
||||
var Rl={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:33554432},Sl={"?":"help","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]","h [#]":"halt/history","i [#]":"input port #",k:"stack trace",l:"load sector(s)",m:"messages","o [#]":"output port #",p:"step over",r:"dump/edit registers","t [#]":"step instruction(s)","u [#]":"unassemble",x:"execution options",reset:"reset computer",ver:"display version"},
|
||||
Tl="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FADD FBLD FBSTP FCOM FCOMP FDIV FDIVR FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FIST FISTP FISUB FISUBR FLD FLDCW FLDENV FMUL FNSAVE FNSTCW FNSTENV FNSTSW FRSTOR FS: FST FSTP FSUB FSUBR GS: HLT IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSH PUSHA PUSHF RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XCHG XLAT XOR".split(" "),
|
||||
Ul=[8086,80186,80286,80386],Vl="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS FS GS IP PS EAX ECX EDX EBX ESP EBP ESI EDI CR0 CR1 CR2 CR3".split(" "),Wl="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),Xl={cpu:1,seg:2,desc:4,tss:8,"int":16,fault:32,bus:64,mem:128,port:256,dma:512,pic:1024,timer:2048,cmos:4096,rtc:8192,8042:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,hdc:1048576,disk:2097152,serial:4194304,speaker:8388608,state:16777216,
|
||||
|
|
@ -1067,24 +1067,24 @@ f.bb=function(a,b){var c=255,d=this.Vb(a,!1,1);-1!==d&&(c=Ge(this.A,d)|0,b&&jm(t
|
|||
f.Jb=function(a,b,c){var d=this.Vb(a,!0,2);-1!==d&&(this.A.Jb(d,b),c&&jm(this,a,c),yc(this.A))};function Ml(a,b,c,d,e,g){void 0===e&&(e=a.A&&4==a.A.xa.sa);void 0===g&&(g=a.A&&4==a.A.xa.Zc);return{La:b||0,oa:c,Oa:d,ye:!1,Hc:e||!1,Fc:g||!1}}function lm(a){return[a.La,a.oa,a.Oa,a.ye,a.Hc,a.Fc,a.gh,a.ud]}function mm(a){return{La:a[0],oa:a[1],Oa:a[2],ye:a[3],Hc:a[4],Fc:a[5],gh:a[6],ud:a[7]}}function nm(a,b){if(null!=b.oa){var c=em(a,b.oa);if(!c||b.La>c.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.length<c;){var e=a.bb(b,1);if(!e||36==e)break;d+=32<=e&&128>e?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&&2<a.length&&(c=va(Vl,a.substr(b,3).toUpperCase()));return c}
|
||||
function pm(a,b,c){var d="";c=c||10;var e=0,g=a.Ea,l=a.ga;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"));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<a.length&&(c=va(Vl,a.substr(b,3).toUpperCase()));return c}
|
||||
function sm(a,b){var c="??";if(0<=b){var d,e,g=a.A;switch(b){case 0:d=g.F;e=2;break;case 1:d=g.G;e=2;break;case 2:d=g.H;e=2;break;case 3:d=g.D;e=2;break;case 4:d=g.F>>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<a.na.length;b++)a.na[b]=Ml(a);a.Ea=0}if(!a.aa||!a.aa.length)for(a.aa=Array(256),b=0;b<a.aa.length;b++)a.aa[b]=[b,0]}else a.Ea=0,a.na=[],a.aa=[]}f.je=function(a){if(!um(this))return!1;this.A.je(a);return!0};
|
||||
function Ol(a){var b;if(Oe(a)){if(!a.ga||!a.ga.length){a.ga=Array(1E5);for(b=0;b<a.ga.length;b++)a.ga[b]=Ml(a);a.Ea=0;a.W("instruction history buffer allocated")}if(!a.aa||!a.aa.length)for(a.aa=Array(256),b=0;b<a.aa.length;b++)a.aa[b]=[b,0]}else a.ga&&a.ga.length&&a.W("instruction history buffer freed"),a.Ea=0,a.ga=[],a.aa=[]}f.je=function(a){if(!um(this))return!1;this.A.je(a);return!0};
|
||||
f.Se=function(a,b,c){if(!um(this))return!1;this.da=0;do{a||Oe(this)&&Te(this,this.A.za,0);try{var d=this.A.Se(a);0<d&&(this.da+=d,Jc(this.A,d,!0),Cc(this.A,d),this.Ja++)}catch(e){this.da=0,pb(this.A,e.stack||e.message)}}while(this.A.X&12528);!1!==c&&yc(this.A);this.Tc(b||!1,!1);return 0<this.da};f.Pb=function(a){this.A&&this.A.Pb(a)};f.Tc=function(a,b){void 0===a&&(a=!0);void 0===b&&(b=!0);this.V=Ml(this,w(this.A),ce(this.A));a&&1!=this.O?vm(this,null,b):wm(this)};
|
||||
function um(a){var b;if(b=a.A&&ob(a.A))b=a.A,b.ma.bc?b=!0:(b.W(b.toString()+" not powered"),b=!1);b&&!mb(a.A)?(a=a.A,a.ma.ad?(a.W(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}f.dc=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};f.cc=function(a,b){b&&this.W(a?"suspending":"shutting down");return a&&this.save?this.save():!0};
|
||||
f.reset=function(a){Ol(this);this.Ja=0;this.Na=null;this.da=0;this.V=Ml(this,w(this.A),ce(this.A));void 0===this.ma.zb||a||this.W("reset");this.ma.zb=!1;xm(this);a||this.Tc()};f.save=function(){var a=new ge(this);he(a,0,lm(this.V));he(a,1,lm(this.ua));he(a,2,[this.R,this.Ca,this.Ub]);return a.data()};f.restore=function(a){var b=0;void 0!==a[2]&&(this.V=mm(a[b++]),this.ua=mm(a[b++]),this.R=a[b][0],"string"==typeof this.R&&(this.R=[this.R]),this.Ca=a[b][1],this.Ub||(this.Ub=a[b][2]));return!0};
|
||||
f.start=function(a,b){this.O||this.W("running");this.ma.zb=!0;this.yb=a;this.cd=b};f.stop=function(a,b){if(this.ma.zb){this.ma.zb=!1;this.da=b-this.cd;if(!this.O){var c="stopped";if(this.da){var d=a-this.yb,e=0<d?Math.round(1E3*this.da/d):0,c=c+" (";Oe(this)&&(c+=this.Ja+" ops, ",this.Ja=0);c+=this.da+" cycles, "+d+" ms, "+e+" hz)"}this.W(c)}this.Tc(!0,2!=this.O);this.Mc();xm(this,this.A.za)}};function Oe(a){return 1<a.B.length||a.ta(16)}
|
||||
function Te(a,b,c){if(0<c){if(ym(a,b,a.B))return!0;if(!(a.A.fa&512)&&a.A.He<a.A.xa.Ya)return a.Fa("interrupts disabled at IOPL "+a.A.He+" and CPL "+a.A.xa.Ya,!0),!0}0<=c&&a.aa.length&&(a.Ja++,c=Ge(a.A,b),null!=c&&(a.aa[c][1]++,c=a.na[a.Ea],c.La=w(a.A),c.oa=ce(a.A),c.Oa=b,++a.Ea==a.na.length&&(a.Ea=0)));return!1}function oc(a,b){return ym(a,b,a.ha)?(a.Pb(!0),!0):!1}function pc(a,b){return ym(a,b,a.U)?(a.Pb(!0),!0):!1}function Wb(a,b,c){a.W("break on input from port "+ga(b)+": "+k(c));a.Pb(!0)}
|
||||
function $b(a,b,c){a.W("break on output to port "+ga(b)+": "+k(c));a.Pb(!0)}function Nl(a){var b;a.B=["exec"];if(void 0!==a.ha)for(b=1;b<a.ha.length;b++){var c=a.va,d=a.Vb(a.ha[b]);rc(c.ya[d>>>c.Sa],!1)}a.ha=["read"];if(void 0!==a.U)for(b=1;b<a.U.length;b++)c=a.va,d=a.Vb(a.U[b]),rc(c.ya[d>>>c.Sa],!0);a.U=["write"];a.Qa=0}
|
||||
function Te(a,b,c){if(0<c){if(ym(a,b,a.B))return!0;if(!(a.A.fa&512)&&a.A.He<a.A.xa.Ya)return a.Fa("interrupts disabled at IOPL "+a.A.He+" and CPL "+a.A.xa.Ya,!0),!0}0<=c&&a.aa.length&&(a.Ja++,c=Ge(a.A,b),null!=c&&(a.aa[c][1]++,c=a.ga[a.Ea],c.La=w(a.A),c.oa=ce(a.A),c.Oa=b,++a.Ea==a.ga.length&&(a.Ea=0)));return!1}function oc(a,b){return ym(a,b,a.na)?(a.Pb(!0),!0):!1}function pc(a,b){return ym(a,b,a.U)?(a.Pb(!0),!0):!1}function Wb(a,b,c){a.W("break on input from port "+ga(b)+": "+k(c));a.Pb(!0)}
|
||||
function $b(a,b,c){a.W("break on output to port "+ga(b)+": "+k(c));a.Pb(!0)}function Nl(a){var b;a.B=["exec"];if(void 0!==a.na)for(b=1;b<a.na.length;b++){var c=a.va,d=a.Vb(a.na[b]);rc(c.ya[d>>>c.Sa],!1)}a.na=["read"];if(void 0!==a.U)for(b=1;b<a.U.length;b++)c=a.va,d=a.Vb(a.U[b]),rc(c.ya[d>>>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<b.length;g++){var l=b[g];if(c==Am(a,a.Vb(l))){e=!0;if(d){b.splice(g,1);b!=a.B&&(d=a.va,rc(d.ya[c>>>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.length;c++)a.W("breakpoint enabled: "+om(b[c])+" ("+b[0]+")");return b.length-1}
|
||||
function uc(a,b,c,d){if(void 0===d)uc(a,b,c,a.ha),uc(a,b,c,a.U);else for(var e=1;e<d.length;e++){var g=a.Vb(d[e]);if(g>=b&&g<b+c){var l=a.va;l.ya[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<a.B.length;c++){var d=a.B[c];if(d.ye){if(!zm(a,a.B,d,!0))break;c=0}}}function Am(a,b){var c=a.hb&-65536;(b&c)==c&&(b&=1048575);return b}
|
||||
function uc(a,b,c,d){if(void 0===d)uc(a,b,c,a.na),uc(a,b,c,a.U);else for(var e=1;e<d.length;e++){var g=a.Vb(d[e]);if(g>=b&&g<b+c){var l=a.va;l.ya[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<a.B.length;c++){var d=a.B[c];if(d.ye){if(!zm(a,a.B,d,!0))break;c=0}}}function Am(a,b){var c=a.hb&-65536;(b&c)==c&&(b&=1048575);return b}
|
||||
function ym(a,b,c,d){var e=!1;if(!a.Qa++){b=Am(a,b);a.ta(-2147483632)&&204==Ge(a.A,b)&&(e=!0);for(var g=1;!e&&g<c.length;g++){var l=c[g];null!=l.oa&&(l.Oa=null);b==Am(a,a.Vb(l))&&(l.ye?zm(a,c,l,!0):d||a.W("breakpoint hit: "+om(l)+" ("+c[0]+")"),e=!0)}}a.Qa--;return e}
|
||||
function qm(a,b,c,d){for(var e=Ml(a,b.La,b.oa,b.Oa),g=a.bb(b,1),l=4,p=!1,q=!1;(102==g||103==g)&&l--;)102==g?p||(b.Hc=!b.Hc,p=!0):q||(b.Fc=!b.Fc,q=!0),g=a.bb(b,1);l=a.Ga[g];q=l[0];p=-1;205==q&&(q=a.bb(b,1),l=am[q]||Yl,g|=q<<8,q=l[0]);q>=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<<ha)));T=ea}T||(T=Wl[na])}1==P?(ha=H.bb(X,1),ha&128?(ha=ha<<24>>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.La<b.La)return;e=e.La-b.La;if(256<e){a.W("range too large");return}d=-1}var g=b.La!=a.V.La;c=0;for(Em(a,b,!0);0<e&&d--;){a.bb(b);var l=b.Oa,p=mb(a,!1)||a.O?a.da:null,q=null!=p?"cycles":null,r=Dm(a,b);if(r[0]){var x=r[0]+":",g=!1;r[2]&&(x+=" "+r[2]);a.W(x)}g&&a.W();r[3]&&(q=r[3],p=null);g=qm(a,b,q,p);b.ud||d||d++;a.W(g);a.V=b;e-=b.Oa-l;g=!1;c++}}}
|
||||
function im(a,b,c){if(c)if(b){0>a.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)&&0<b.length){if(a.Ca)b="a "+om(a.ua)+" "+b;else{var d,e,g;switch(b){case "reset":return a.la&&a.la.reset(),!0;case "ver":return a.W("PCjs version 1.18.4 ("+a.A.qa+",RELEASE,NOPREFETCH"+(qb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)"),!0;default:for(e=b.charAt(0),g=1;g<b.length;g++){d=b.charAt(g);if(" "==d)break;if("r"==e||"a">d||"z"<d){b=b.substring(0,g)+" "+b.substring(g);
|
||||
break}}}}var l=b.split(" ");switch(l[0].charAt(0)){case "a":var p=tm(a,l[1],1);if(null!=p.La)if(a.ua=p,void 0===l[2])a.W("begin assemble @"+om(p)),a.Ca=!0,yc(a.A);else{var q;a.W("not supported yet");q=[];if(q.length){for(var r=0;r<q.length;r++)a.Lc(p,q[r],1);a.W(qm(a,a.ua))}}break;case "b":a:{var x=l[1],G=l[0].charAt(1);if(G&&"?"!=G)if("l"==G)r=0,r+=Bm(a,a.B),r+=Bm(a,a.ha),(r+=Bm(a,a.U))||a.W("no breakpoints");else if(void 0===x)a.W("missing breakpoint address");else{r={};if("*"!=x&&(r=tm(a,x,1),
|
||||
null==r.La))break a;x=null==r.La?x:ga(r.La);"c"==G?null==r.La?(Nl(a),a.W("all breakpoints cleared")):zm(a,a.B,r,!0)||zm(a,a.ha,r,!0)||zm(a,a.U,r,!0)||a.W("breakpoint missing: "+om(r)):"i"==G?a.W("breakpoint "+(Tb(a.va,r.La)?"enabled":"cleared")+": port "+x+" (input)"):"o"==G?a.W("breakpoint "+(Xb(a.va,r.La)?"enabled":"cleared")+": port "+x+" (output)"):null!=r.La&&("p"==G?a.Id(a.B,r):"r"==G?a.Id(a.ha,r):"w"==G?a.Id(a.U,r):a.W("unknown breakpoint command: "+G))}else a.W("\nbreakpoint commands:"),a.W("\tbi [p]\ttoggle break on input port [p]"),
|
||||
break}}}}var l=b.split(" ");switch(l[0].charAt(0)){case "a":var p=tm(a,l[1],1);if(null!=p.La)if(a.ua=p,void 0===l[2])a.W("begin assemble @"+om(p)),a.Ca=!0,yc(a.A);else{var q;a.W("not supported yet");q=[];if(q.length){for(var r=0;r<q.length;r++)a.Lc(p,q[r],1);a.W(qm(a,a.ua))}}break;case "b":a:{var x=l[1],G=l[0].charAt(1);if(G&&"?"!=G)if("l"==G)r=0,r+=Bm(a,a.B),r+=Bm(a,a.na),(r+=Bm(a,a.U))||a.W("no breakpoints");else if(void 0===x)a.W("missing breakpoint address");else{r={};if("*"!=x&&(r=tm(a,x,1),
|
||||
null==r.La))break a;x=null==r.La?x:ga(r.La);"c"==G?null==r.La?(Nl(a),a.W("all breakpoints cleared")):zm(a,a.B,r,!0)||zm(a,a.na,r,!0)||zm(a,a.U,r,!0)||a.W("breakpoint missing: "+om(r)):"i"==G?a.W("breakpoint "+(Tb(a.va,r.La)?"enabled":"cleared")+": port "+x+" (input)"):"o"==G?a.W("breakpoint "+(Xb(a.va,r.La)?"enabled":"cleared")+": port "+x+" (output)"):null!=r.La&&("p"==G?a.Id(a.B,r):"r"==G?a.Id(a.na,r):"w"==G?a.Id(a.U,r):a.W("unknown breakpoint command: "+G))}else a.W("\nbreakpoint commands:"),a.W("\tbi [p]\ttoggle break on input port [p]"),
|
||||
a.W("\tbo [p]\ttoggle break on output port [p]"),a.W("\tbp [a]\tset exec breakpoint at addr [a]"),a.W("\tbr [a]\tset read breakpoint at addr [a]"),a.W("\tbw [a]\tset write breakpoint at addr [a]"),a.W("\tbc [a]\tclear breakpoint at addr [a]"),a.W("\tbl\tlist all breakpoints")}break;case "c":a.Ze&&(a.Ze.value="");break;case "d":a:{var D=l[0],r=l[1],H=l[2],K;if("?"==r){r="";for(K in Xl)a.Ra[K]&&(r&&(r+=","),r+=K);r+=",state,symbols";a.W("\ndump commands:");a.W("\tdb [a] [#] dump # bytes at address a");
|
||||
a.W("\tdw [a] [#] dump # words at address a");a.W("\tdd [a] [#] dump # dwords at address a");a.W("\tdh [#] [#] dump # instructions prior");r.length&&a.W("dump extensions:\n\t"+r)}else if("state"==r)a.W(Qm(a.la,!0));else if("symbols"==r)for(r=0;r<a.P.length;r++){var X=a.P[r][0],P=a.P[r][2],T;for(T in P)if("."!=T.charAt(0)){var na=P[T],ha=na.o;if(void 0!==ha){var Na=na.s;void 0===Na&&(Na=X>>>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;l<ea;l++){var eb=0,Ua=0,Oa="",D="",r=om(aa);for(K=0;16>K;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;r<l.length;r++){var Ac=fa(l[r],16);if(void 0===Ac){a.W("unrecognized value: "+k(Ac));break}a.W("setting "+om(Tc)+" to "+k(Ac));a.Lc(Tc,Ac,1)}}break;case "f":Lm(a,l[1]);break;case "g":a:{var wd=l[1];if(void 0!==wd){var Kj=tm(a,wd,1);if(null==Kj.La)break a;a.Id(a.B,Kj,!0)}a.je(!0)||a.W('cpu busy, "g" command ignored')}break;case "h":var Lj=
|
||||
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 wd=a.Ra[K];wd?wd(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;l<ea;l++){var eb=0,Ua=0,Oa="",D="",r=om(aa);for(K=0;16>K;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;r<l.length;r++){var Ac=fa(l[r],16);if(void 0===Ac){a.W("unrecognized value: "+k(Ac));break}a.W("setting "+om(Tc)+" to "+k(Ac));a.Lc(Tc,Ac,1)}}break;case "f":Lm(a,l[1]);break;case "g":a:{var xd=l[1];if(void 0!==xd){var Kj=tm(a,xd,1);if(null==Kj.La)break a;a.Id(a.B,Kj,!0)}a.je(!0)||a.W('cpu busy, "g" command ignored')}break;case "h":var Lj=
|
||||
l[1];a.ma.zb&&void 0===Lj?(a.W("halting"),a.Pb()):pm(a,Lj);break;case "i":var hg=l[1];if(hg&&"?"!=hg){var ig=dm(a,hg);if(void 0!==ig){var hn=Vb(a.va,ig);a.W(ga(ig)+": "+k(hn))}}else a.W("\ninput commands:"),a.W("\ti [p]\tread port [p]"),a.W("warning: port accesses can affect hardware state");break;case "k":r=0;eb=a.A.xa.oa;Ua=Ml(a);Oa=Ml(a,u(a.A),a.A.Da.oa);for(a.W("stack trace for "+om(Oa));10>r;){aa=null;for(Ja=256;Oa.La>>>0<a.A.Mg>>>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<aa.indexOf("INT")&&a.kc(Oa,!0);break}}if(!aa)break;aa=ma(aa,50)+";stack="+om(Oa)+" return="+om(Ua);a.W(aa);r++}r||a.W("no return addresses found");break;case "l":Nm(a,l);break;case "m":a:{r=null;da=l[1];"?"==da&&(da=void 0);if(void 0!==da){aa=0;if("all"==da)aa=1610481663,da=null;else if("on"==da)r=!0,da=null;else if("off"==da)r=!1,da=null;else{"keys"==da&&(da="key");"kbd"==da&&(da="keyboard");for(ea in Xl)if(da==ea){aa=Xl[ea];r=!!(a.Ub&
|
||||
aa);break}if(!aa){a.W("unknown message category: "+da);break a}}aa&&("on"==l[2]?(a.Ub|=aa,r=!0):"off"==l[2]&&(a.Ub&=~aa,r=!1))}aa=0;Ja="";for(ea in Xl)if(!da||da==ea)if(Qa=!!(a.Ub&Xl[ea]),null===r||r==Qa)Ja&&(Ja+=","),++aa%10||(Ja+="\n\t"),"key"==ea&&(ea="keys"),Ja+=ea;void 0===da&&a.W("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.W((null!==r?r?"messages on: ":"messages off: ":"message categories:\n\t")+(Ja||"none"))}break;case "o":var jg=l[1],jn=l[2];if(jg&&"?"!=jg){var kg=
|
||||
dm(a,jg,"port #"),lg=dm(a,jn);void 0!==kg&&void 0!==lg&&(Zb(a.va,kg,lg),a.W(ga(kg)+": "+k(lg)))}else a.W("\noutput commands:"),a.W("\to [p] [b]\twrite byte [b] to port [p]"),a.W("warning: port accesses can affect hardware state");break;case "p":case "pr":var Mj="pr"==l[0]?1:0,r=1+Mj;if(a.O)a.W("step in progress");else{var Qe,aa=!1,kb=Ml(a,w(a.A),ce(a.A));do switch(Qe=!1,a.bb(kb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:jm(a,kb,1);Qe=!0;break;case 204:case 206:a.O=
|
||||
aa);break}if(!aa){a.W("unknown message category: "+da);break a}}aa&&("on"==l[2]?(a.Ub|=aa,r=!0):"off"==l[2]&&(a.Ub&=~aa,r=!1))}aa=0;Ja="";for(ea in Xl)if(!da||da==ea)if(Qa=!!(a.Ub&Xl[ea]),null===r||r==Qa)Ja&&(Ja+=","),++aa%10||(Ja+="\n\t"),"key"==ea&&(ea="keys"),Ja+=ea;void 0===da&&a.W("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.W((null!==r?r?"messages on: ":"messages off: ":"message categories:\n\t")+(Ja||"none"));Ol(a)}break;case "o":var jg=l[1],jn=l[2];if(jg&&"?"!=
|
||||
jg){var kg=dm(a,jg,"port #"),lg=dm(a,jn);void 0!==kg&&void 0!==lg&&(Zb(a.va,kg,lg),a.W(ga(kg)+": "+k(lg)))}else a.W("\noutput commands:"),a.W("\to [p] [b]\twrite byte [b] to port [p]"),a.W("warning: port accesses can affect hardware state");break;case "p":case "pr":var Mj="pr"==l[0]?1:0,r=1+Mj;if(a.O)a.W("step in progress");else{var Qe,aa=!1,kb=Ml(a,w(a.A),ce(a.A));do switch(Qe=!1,a.bb(kb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:jm(a,kb,1);Qe=!0;break;case 204:case 206:a.O=
|
||||
r;jm(a,kb,1);break;case 205:case 224:case 225:case 226:a.O=r;jm(a,kb,2);break;case 232:a.O=r;jm(a,kb,3);break;case 154:a.O=r;jm(a,kb,5);break;case 255:var Nj=a.kc(kb)&14591;if(4351==Nj||6399==Nj)a.O=r,qm(a,kb);break;case 243:case 242:jm(a,kb,1);aa=Qe=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:aa&&(a.O=r,jm(a,kb,1))}while(Qe);a.O?(a.Id(a.B,kb,!0),a.je()||(a.A.Mc(),a.O=0)):Pm(a,Mj?"tr":"t")}break;case "r":vm(a,
|
||||
l);break;case "t":case "tr":Pm(a,l[0],l[1]);break;case "u":wm(a,l[1],l[2],8);break;case "x":a:if(void 0===l[1]||"?"==l[1])a.W("\nexecution options:"),a.W("\tcs int #\tset checksum cycle interval to #"),a.W("\tcs start #\tset checksum cycle start count to #"),a.W("\tcs stop #\tset checksum cycle stop count to #"),a.W("\tsp #\t\tset speed multiplier to #");else switch(l[1]){case "cs":var Hd;void 0!==l[3]&&(Hd=+l[3]);switch(l[2]){case "int":a.A.Z.Ce=Hd;break;case "start":a.A.Z.jf=Hd;break;case "stop":a.A.Z.Ee=
|
||||
Hd;break;default:a.W("unknown cs option");break a}void 0!==Hd&&xc(a.A);a.W("checksums "+(a.A.ma.te?"enabled":"disabled"));break;case "sp":void 0!==l[2]&&Hc(a.A,+l[2]);a.W("target speed: "+(a.A.Z.fe.toFixed(2)+"Mhz")+" ("+a.A.Z.yd+"x)");break;default:a.W("unknown option: "+l[1])}break;case "?":var r="commands:",mg;for(mg in Sl)r+="\n"+ma(mg,7)+Sl[mg];Oe(a)||(r+="\nnote: frequency/history disabled if no exec breakpoints");a.W(r);break;default:a.W("unknown command: "+b),c=!1}}}catch(Oj){a.W("debugger error: "+
|
||||
l);break;case "t":case "tr":Pm(a,l[0],l[1]);break;case "u":wm(a,l[1],l[2],8);break;case "x":a:if(void 0===l[1]||"?"==l[1])a.W("\nexecution options:"),a.W("\tcs int #\tset checksum cycle interval to #"),a.W("\tcs start #\tset checksum cycle start count to #"),a.W("\tcs stop #\tset checksum cycle stop count to #"),a.W("\tsp #\t\tset speed multiplier to #");else switch(l[1]){case "cs":var Id;void 0!==l[3]&&(Id=+l[3]);switch(l[2]){case "int":a.A.Z.Ce=Id;break;case "start":a.A.Z.jf=Id;break;case "stop":a.A.Z.Ee=
|
||||
Id;break;default:a.W("unknown cs option");break a}void 0!==Id&&xc(a.A);a.W("checksums "+(a.A.ma.te?"enabled":"disabled"));break;case "sp":void 0!==l[2]&&Hc(a.A,+l[2]);a.W("target speed: "+(a.A.Z.fe.toFixed(2)+"Mhz")+" ("+a.A.Z.yd+"x)");break;default:a.W("unknown option: "+l[1])}break;case "?":var r="commands:",mg;for(mg in Sl)r+="\n"+ma(mg,7)+Sl[mg];Oe(a)||(r+="\nnote: frequency/history disabled if no exec breakpoints");a.W(r);break;default:a.W("unknown command: "+b),c=!1}}}catch(Oj){a.W("debugger error: "+
|
||||
(Oj.stack||Oj.message)),c=!1}return c}Ma(function(){for(var a=ib(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=gb(c),d=new Ll(d);hb(d,c)}});function ge(a,b,c){this.id=a.id;this.key=Rm(a,b,c);this.ea=a.ea;Sm(this,a.lm)}function Rm(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
ge.prototype={constructor:ge,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Ba()&&(a=Ca(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Sm(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==
|
||||
this.key)){try{window.localStorage.removeItem(d)}catch(g){}b.splice(c,1);c=0}},ta:function(a){return this.ea?this.ea.ta(null==a?16777216:a|16777216):!1},Fa:function(a){this.ea&&this.ea.message(a)}};function Sm(a,b){a[a.id]={};b&&he(a,"parms",b);a.A=!1}function Tm(a){var b=!0;if(Ba()){var c=JSON.stringify(a[a.id]);Da(a.key,c)||(ya("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
|
||||
|
|
|
|||
|
|
@ -586,6 +586,7 @@ if (DEBUGGER) {
|
|||
};
|
||||
|
||||
Debugger.TRACE_LIMIT = 100000;
|
||||
Debugger.HISTORY_LIMIT = 100000;
|
||||
|
||||
/*
|
||||
* Opcode 0x0F has a distinguished history:
|
||||
|
|
@ -2031,6 +2032,7 @@ if (DEBUGGER) {
|
|||
}
|
||||
}
|
||||
}
|
||||
this.historyInit(); // call this just in case Messages.INT was turned on
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -2468,13 +2470,14 @@ if (DEBUGGER) {
|
|||
{
|
||||
var i;
|
||||
if (!this.checksEnabled()) {
|
||||
if (this.aOpcodeHistory && this.aOpcodeHistory.length) this.println("instruction history buffer freed");
|
||||
this.iOpcodeHistory = 0;
|
||||
this.aOpcodeHistory = [];
|
||||
this.aaOpcodeCounts = [];
|
||||
return;
|
||||
}
|
||||
if (!this.aOpcodeHistory || !this.aOpcodeHistory.length) {
|
||||
this.aOpcodeHistory = new Array(10000);
|
||||
this.aOpcodeHistory = new Array(Debugger.HISTORY_LIMIT);
|
||||
for (i = 0; i < this.aOpcodeHistory.length; i++) {
|
||||
/*
|
||||
* Preallocate dummy Addr (Array) objects in every history slot, so that
|
||||
|
|
@ -2483,6 +2486,7 @@ if (DEBUGGER) {
|
|||
this.aOpcodeHistory[i] = this.newAddr();
|
||||
}
|
||||
this.iOpcodeHistory = 0;
|
||||
this.println("instruction history buffer allocated");
|
||||
}
|
||||
if (!this.aaOpcodeCounts || !this.aaOpcodeCounts.length) {
|
||||
this.aaOpcodeCounts = new Array(256);
|
||||
|
|
@ -4821,6 +4825,8 @@ if (DEBUGGER) {
|
|||
}
|
||||
|
||||
this.println((fCriteria !== null? (fCriteria? "messages on: " : "messages off: ") : "message categories:\n\t") + (sCategories || "none"));
|
||||
|
||||
this.historyInit(); // call this just in case Messages.INT was turned on
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue