Follow my own advice and write any 32-bit hex constant > 0x7fffffff as (constant|0)

The Closure Compiler does a fine job of replacing all such expressions with their decimal equivalent, relieving us from having to calculate them ourselves, and eliminating any runtime impact
This commit is contained in:
Jeff Parsons 2015-02-19 11:18:40 -08:00 committed by jeffpar
commit c8aec14b0b
153 changed files with 6296 additions and 188 deletions

View file

@ -8,7 +8,7 @@
<xsl:variable name="MACHINECLASS">pc</xsl:variable>
<xsl:variable name="APPCLASS">pcjs</xsl:variable>
<xsl:variable name="APPVERSION">1.17.1</xsl:variable>
<xsl:variable name="APPVERSION">1.17.2</xsl:variable>
<xsl:variable name="SITEHOST">www.pcjs.org</xsl:variable>
<xsl:template name="componentStyles">

View file

@ -42,9 +42,9 @@ function Vb(a,b,c,d){this.na=null;this.offset=0;this.size=b||0;this.type=c||oc;t
var oc=0,pc=2,tc=["NONE","RAM","ROM","VIDEO"],uc=["black","blue","green","cyan"];function vc(){this.Z.oa(64)&&this.Z.message("attempt to read invalid block %"+da(this.jc)+" from "+ea(v(this.N),Hb(this.N)));return 0}function wc(a,b){this.Z.oa(64)&&this.Z.message("attempt to write 0x"+n(b)+" to invalid block %"+da(this.jc),!0)}function xc(a){return this.ic[a]}function yc(a){return this.ic[a]}function zc(a){return this.Kf.getUint16(a,!0)}
function Ac(a){return a&1?this.ic[a]|this.ic[a+1]<<8:this.$k[a>>1]}function Bc(a){return this.Kf.getInt32(a,!0)}function Cc(a){return a&3?this.ic[a]|this.ic[a+1]<<8|this.ic[a+2]<<16|this.ic[a+3]<<24:this.na[a>>2]}function Dc(a,b){this.ic[a]=b;this.Pa=!0}function Ec(a,b){this.ic[a]=b;this.Pa=!0}function Hc(a,b){this.Kf.setUint16(a,b,!0);this.Pa=!0}function Jc(a,b){a&1?(this.ic[a]=b,this.ic[a+1]=b>>8):this.$k[a>>1]=b;this.Pa=!0}function Kc(a,b){this.Kf.setInt32(a,b,!0);this.Pa=!0}
function Lc(a,b){a&3?(this.ic[a]=b,this.ic[a+1]=b>>8,this.ic[a+2]=b>>16,this.ic[a+3]=b>>24):this.na[a>>2]=b;this.Pa=!0}
var sc=[function(a){return this.na[a>>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.na[b]>>a;return 24>a?c&65535:c&255|(this.na[b+1]&255)<<8},function(a){var b=a>>2;a=(a&3)<<3;var c=this.na[b];a&&(c=c>>>a|this.na[b+1]<<32-a);return c},function(a,b){var c=a>>2,d=(a&3)<<3;this.na[c]=this.na[c]&~(255<<d)|b<<d;this.Pa=!0},function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.na[c]=this.na[c]&~(65535<<d)|b<<d:(this.na[c]=this.na[c]&16777215|b<<24,c++,this.na[c]=this.na[c]&4294967040|b>>8);
this.Pa=!0},function(a,b){var c=a>>2,d=(a&3)<<3;d?(this.na[c]=this.na[c]&~(4294967295<<d)|b<<d,c++,this.na[c]=this.na[c]&4294967295<<d|b>>>32-d):this.na[c]=b;this.Pa=!0}],Oc=[function(a){Mc(this.Z,this.jc+a);return this.lh(a)},function(a){Mc(this.Z,this.jc+a)||Mc(this.Z,this.jc+a+1);return this.Bk(a)},function(a){Mc(this.Z,this.jc+a)||Mc(this.Z,this.jc+a+1)||Mc(this.Z,this.jc+a+2)||Mc(this.Z,this.jc+a+3);return this.kq(a)},function(a,b){Nc(this.Z,this.jc+a);this.lg(a,b)},function(a,b){Nc(this.Z,this.jc+
a)||Nc(this.Z,this.jc+a+1);this.Nk(a,b)},function(a,b){Nc(this.Z,this.jc+a)||Nc(this.Z,this.jc+a+1)||Nc(this.Z,this.jc+a+2)||Nc(this.Z,this.jc+a+3);this.sq(a,b)}];if(mb)var rc=[xc,zc,Bc,Dc,Hc,Kc],qc=[yc,Ac,Cc,Ec,Jc,Lc];
var sc=[function(a){return this.na[a>>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.na[b]>>a;return 24>a?c&65535:c&255|(this.na[b+1]&255)<<8},function(a){var b=a>>2;a=(a&3)<<3;var c=this.na[b];a&&(c=c>>>a|this.na[b+1]<<32-a);return c},function(a,b){var c=a>>2,d=(a&3)<<3;this.na[c]=this.na[c]&~(255<<d)|b<<d;this.Pa=!0},function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.na[c]=this.na[c]&~(65535<<d)|b<<d:(this.na[c]=this.na[c]&16777215|b<<24,c++,this.na[c]=this.na[c]&-256|b>>8);this.Pa=
!0},function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<<d;this.na[c]=this.na[c]&~e|b<<d;c++;this.na[c]=this.na[c]&e|b>>>32-d}else this.na[c]=b;this.Pa=!0}],Oc=[function(a){Mc(this.Z,this.jc+a);return this.lh(a)},function(a){Mc(this.Z,this.jc+a)||Mc(this.Z,this.jc+a+1);return this.Bk(a)},function(a){Mc(this.Z,this.jc+a)||Mc(this.Z,this.jc+a+1)||Mc(this.Z,this.jc+a+2)||Mc(this.Z,this.jc+a+3);return this.kq(a)},function(a,b){Nc(this.Z,this.jc+a);this.lg(a,b)},function(a,b){Nc(this.Z,this.jc+a)||Nc(this.Z,
this.jc+a+1);this.Nk(a,b)},function(a,b){Nc(this.Z,this.jc+a)||Nc(this.Z,this.jc+a+1)||Nc(this.Z,this.jc+a+2)||Nc(this.Z,this.jc+a+3);this.sq(a,b)}];if(mb)var rc=[xc,zc,Bc,Dc,Hc,Kc],qc=[yc,Ac,Cc,Ec,Jc,Lc];
Vb.prototype={constructor:Vb,parent:null,save:function(){var a,b;if(this.Y)a=null;else if(mb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.Kf.getInt32(b<<2,!0);else a=this.na;return a},restore:function(a){if(this.Y)return null==a;if(a&&this.size==a.length<<2){var b;if(mb)for(b=0;b<a.length;b++)this.Kf.setInt32(b<<2,a[b],!0);else this.na=a;return this.Pa=!0}return!1},Ne:function(a,b){a||(a=[]);void 0===b&&(b=!0);Pc(this,a,b);Qc(this,a,b)},pe:function(a,b){b?0===this.kl++&&Qc(this,Oc):0===
this.il++&&Pc(this,Oc)}};function Rc(a,b){b?0===--a.kl&&(a.Hb=a.Yh?wc:a.lg,a.Mk=a.Yh?wc:a.Nk):0===--a.il&&(a.Cb=a.lh,a.Ak=a.Bk)}function Ub(a,b,c,d,e){a.N=b;a.Z=c;a.jc=d;a.il=a.kl=0;a.Z&&Sc(a.Z,d,e)}function Qc(a,b,c){a.Hb=!a.Yh&&b[3]||wc;a.Mk=!a.Yh&&b[4]||wc;c&&(a.lg=b[3]||wc,a.Nk=b[4]||wc,a.sq=b[5]||wc)}function Pc(a,b,c){a.Cb=b[0]||vc;a.Ak=b[1]||vc;c&&(a.lh=b[0]||vc,a.Bk=b[1]||vc,a.kq=b[2]||vc)}
function Tc(a,b){p.call(this,"CPU",a,Tc,1);var c=a.cycles||b,d=a.multiplier||1;this.U={};this.U.Fd=c;this.U.be=d;this.U.gi=Math.round(this.U.Fd/1E4)/100;this.U.Sg=this.U.gi*this.U.be;this.da.ib=!1;this.da.rj=!1;this.da.hj=a.autoStart;this.da.ul=!1;c=Sa.autostart;void 0!==c&&(this.da.hj="true"==c?!0:"false"==c?!1:null);this.da.Nf=!1;this.U.Ug=this.U.Zf=0;this.U.Vg=a.csStart;this.U.Yf=a.csInterval;this.U.$f=a.csStop;var e=this;this.mp=function(){e.rf()};jb(this)}Ya(p,Tc);k=Tc.prototype;
@ -72,7 +72,7 @@ function wd(a,b,c,d){for(var e=a.N,f=e.ja(b+0),g=e.ja(b+4),h=g&7936,t=e.ja(b+2)|
t&65535;if(F<=Q){d=a.ab;if(a.load(b,!0)==Ab){t=Ab;break}e.Dk=f;if(a.ab<d){if(!0!==C){t=Ab;break}E=w(e);f=0;for(g&=31;g--;)a.al[f++]=Nd(e,e.xa,E),E+=2;g=e.cb.ta;d=(a.ab<<2)+2;C=d+2;b=e.xa.ua;D=w(e);Ld(e,e.ja(g+C),!0);x(e,e.ja(g+d));y(e,b);for(y(e,D);f;)y(e,a.al[--f]);a.$h=!0}e.wa&=N;return a.ta}d||xd.call(e,13,D,!0);t=Ab;break}else if(!1!==E){d||xd.call(e,13,c,!0);t=Ab;break}}else if(2==a.id){if(C&&(4096>h||2048==(h&2560))){d||xd.call(e,13,c,!!g);t=Ab;break}}else if(3==a.id){if(!C||4096>h||2048==(h&
2560)){d||xd.call(e,13,c,!0);t=Ab;break}}else if(4==a.id){if(!C||256!=h&&768!=h){d||xd.call(e,10,c,!0);t=Ab;break}}else if(6==a.id&&!(g&4096)&&768<h){t=Ab;break}a.ua=c;a.ta=t;a.Gb=f;a.mb=g;a.type=h;a.gj=r;a.Od=b;td(a);break}return t}rd.prototype.save=function(){return[this.ua,this.ta,this.Gb,this.mb,this.id,this.oh,this.ab,this.qc,this.Od]};
rd.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ua=a[0],this.ta=a[1],this.Gb=a[2],this.mb=a[3],this.id=a[4],this.oh=a[5],this.ab=a[6],this.qc=a[7],this.Od=a[8])};
function td(a,b){void 0===b&&(b=!!(a.N.gc&1));a.nj=!1;if(b){a.load=vd;a.Ll=zd;a.Ic=Cd;a.kc=Fd;if(a.mb&4096){6144==(a.mb&6656)&&(a.kc=Dd);if(a.mb&2048||!(a.mb&512))a.kc=Gd;1024==(a.mb&3072)&&(a.Ic==Cd&&(a.Ic=Ed),a.kc==Fd&&(a.kc=Hd),a.nj=!0)}a.ab=a.ua&3;a.qc=(a.mb&24576)>>13;80386>a.N.Ca||!(a.gj&64)?(a.Lc=2,a.ka=65535):(a.Lc=4,a.ka=4294967295)}else a.load=ud,a.Ll=yd,a.Ic=Ad,a.kc=Bd,a.Gb=65535,a.ab=a.qc=0,a.Od=Ab,a.Lc=2,a.ka=65535;a.Ah=a.Lc;a.la=a.ka}
function td(a,b){void 0===b&&(b=!!(a.N.gc&1));a.nj=!1;if(b){a.load=vd;a.Ll=zd;a.Ic=Cd;a.kc=Fd;if(a.mb&4096){6144==(a.mb&6656)&&(a.kc=Dd);if(a.mb&2048||!(a.mb&512))a.kc=Gd;1024==(a.mb&3072)&&(a.Ic==Cd&&(a.Ic=Ed),a.kc==Fd&&(a.kc=Hd),a.nj=!0)}a.ab=a.ua&3;a.qc=(a.mb&24576)>>13;80386>a.N.Ca||!(a.gj&64)?(a.Lc=2,a.ka=65535):(a.Lc=4,a.ka=-1)}else a.load=ud,a.Ll=yd,a.Ic=Ad,a.kc=Bd,a.Gb=65535,a.ab=a.qc=0,a.Od=Ab,a.Lc=2,a.ka=65535;a.Ah=a.Lc;a.la=a.ka}
function Od(a){this.Ca=a.model||8088;var b=0;switch(this.Ca){default:case 8088:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Tc.call(this,a,b);this.Sk=61442;this.sh=od;this.rh=4;this.eg=255;this.B=80286<=this.Ca?Pd:Qd;this.Ya=Rd.slice();this.tn=Sd.slice();this.un=Td.slice();this.Vk=Ud;80186<=this.Ca&&(this.eg=31,this.Ya[15]=Vd,this.Ya[96]=Wd,this.Ya[97]=Xd,this.Ya[98]=Yd,this.Ya[99]=Vd,this.Ya[100]=Vd,this.Ya[101]=Vd,this.Ya[102]=Vd,this.Ya[103]=Vd,this.Ya[104]=Zd,this.Ya[105]=$d,this.Ya[106]=
ae,this.Ya[107]=be,this.Ya[108]=ce,this.Ya[109]=de,this.Ya[110]=ee,this.Ya[111]=fe,this.Ya[192]=ge,this.Ya[193]=he,this.Ya[200]=ie,this.Ya[201]=je,this.Ya[241]=ke,this.tn[7]=ne,this.un[7]=ne,80286<=this.Ca&&(this.Sk=2,this.sh|=28672,this.rh=0,this.Ya[15]=oe,this.Ya[99]=pe,this.Ya[84]=qe));this.uh=[];this.vh=[];this.Yc=this.Cg=0;this.da.Lg=this.da.sl=!1;this.hl=0;this.va=[];this.ub=this.Ta=this.Ma=this.Rd=0;re(this)}Ya(Tc,Od);
var Qd={vk:4,T:5,sa:6,aa:7,ba:8,M:9,O:11,P:12,nf:4,Tl:60,Ul:83,bc:3,Ab:9,rc:16,ni:1,Yl:19,$l:28,bm:16,am:21,Zl:37,Wl:2,Pj:9,Xl:5,Vl:33,Rj:10,Qj:8,dh:3,bh:15,pm:51,qm:1,rm:2,sm:4,om:32,Sj:15,um:15,cc:16,dc:4,wm:11,vm:18,tm:24,Nb:4,xm:2,Tj:16,ym:17,Yj:18,zm:19,Xj:5,Zj:6,Em:2,Dm:8,Bm:9,Cm:10,Am:10,$j:10,ak:10,dm:80,fm:144,cm:86,em:154,hm:101,jm:165,gm:107,im:171,Gm:70,Im:113,Fm:76,Hm:124,lm:80,nm:128,km:86,mm:134,fh:3,eh:16,fk:10,ek:8,Jm:51,sc:8,Km:17,Lm:36,yc:11,Mm:16,gh:10,He:2,Mj:18,Nj:7,Oj:15,Uj:12,
@ -406,8 +406,8 @@ yg,zg,Ag,Bg,Cg,function(){this.fd[this.X()].call(this,Kf,this.K);this.A-=0>this.
Tf)},function(){this.Eb[this.X()].call(this,Tf)},function(){var a=this.X();switch((a&56)>>3){case 0:this.Pb=this.Ga.ua;break;case 1:this.Pb=this.qa.ua;break;case 2:this.Pb=this.xa.ua;break;case 3:this.Pb=this.Ua.ua;break;default:S.call(this);return}this.S|=1;this.Qc[a].call(this,Uf)},function(){this.S|=1;this.rb=this.cd=this.jn;this.Eb[this.X()].call(this,$f)},function(){var a,b=this.X(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286<=this.Ca){Vd.call(this);
return}switch(c){case 1:a=this.I;break;case 4:a=w(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.Eb[b].call(this,Tf);switch(c){case 0:Ie(this,this.G);this.G=a;break;case 1:Ge(this,this.I);this.I=a;break;case 2:Ld(this,this.J);this.J=a;break;case 3:He(this,this.C);this.C=a;break;case 4:Ie(this,w(this));x(this,a);break;case 5:Ge(this,this.H);this.H=a;break;case 6:Ld(this,this.F);this.F=a;break;case 7:He(this,this.D),this.D=a}},function(){this.S|=1;this.fd[this.X()].call(this,
Lf,this.Ia)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=w(this);x(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=2==this.Lc?this.G&-65536|this.G<<24>>24&
65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.Lc?this.J&-65536|(this.G&32768?65535:0):this.G&2147483648?4294967295:0;this.A-=this.B.Xl},function(){Sf.call(this,this.K(),this.K());this.A-=this.B.$l},function(){this.Wa("WAIT not implemented",1);this.A--},function(){y(this,Ib(this));this.A-=this.B.yc},function(){Jd(this,this.Ia());this.A-=this.B.sc},function(){var a=this.G>>8;a&Rb?Ve(this):Qe(this);a&Qb?Le(this)||(this.W^=1):Le(this)&&(this.W^=1);a&Pb?We(this):Re(this);a&Ob?Xe(this):Se(this);
a&Nb?Ye(this):Te(this);this.A-=this.B.Nb},function(){this.G=this.G&255|(Ib(this)&qd)<<8;this.A-=this.B.Nb},function(){var a=this.G&-256,b;b=this.K();b=this.Qa(this.rb.Ic(b,0));this.G=a|b;this.A-=this.B.$j},function(){this.G=this.G&~this.ka|Nd(this,this.rb,this.K());this.A-=this.B.$j},function(){var a=this.K(),b=this.G;this.sd(this.rb.kc(a,0),b);this.A-=this.B.ak},function(){var a=this.K(),b=this.G;this.Ka(this.rb.kc(a,1),b);this.A-=this.B.ak},function(){var a=1,b=0,c=this.B.bk;this.Da&192&&(a=this.I,
65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.Lc?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.Xl},function(){Sf.call(this,this.K(),this.K());this.A-=this.B.$l},function(){this.Wa("WAIT not implemented",1);this.A--},function(){y(this,Ib(this));this.A-=this.B.yc},function(){Jd(this,this.Ia());this.A-=this.B.sc},function(){var a=this.G>>8;a&Rb?Ve(this):Qe(this);a&Qb?Le(this)||(this.W^=1):Le(this)&&(this.W^=1);a&Pb?We(this):Re(this);a&Ob?Xe(this):Se(this);a&
Nb?Ye(this):Te(this);this.A-=this.B.Nb},function(){this.G=this.G&255|(Ib(this)&qd)<<8;this.A-=this.B.Nb},function(){var a=this.G&-256,b;b=this.K();b=this.Qa(this.rb.Ic(b,0));this.G=a|b;this.A-=this.B.$j},function(){this.G=this.G&~this.ka|Nd(this,this.rb,this.K());this.A-=this.B.$j},function(){var a=this.K(),b=this.G;this.sd(this.rb.kc(a,0),b);this.A-=this.B.ak},function(){var a=this.K(),b=this.G;this.Ka(this.rb.kc(a,1),b);this.A-=this.B.ak},function(){var a=1,b=0,c=this.B.bk;this.Da&192&&(a=this.I,
b=1,c=this.B.dk,this.Da&256||(this.A-=this.B.ck));if(a--){var d=this.wa&Kb?-1:1,e=this.Qa(this.rb.Ic(this.F,0));this.sd(this.Ga.kc(this.D&this.la,0),e);this.F=this.F&~this.la|this.F+d&this.la;this.D=this.D&~this.la|this.D+d&this.la;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.bk;this.Da&192&&(a=this.I,b=1,c=this.B.dk,this.Da&256||(this.A-=this.B.ck));if(a--){var d=this.wa&Kb?-2:2,e=Nd(this,this.rb,this.F);this.Ka(this.Ga.kc(this.D&this.la,1),e);this.F=this.F&
~this.la|this.F+d&this.la;this.D=this.D&~this.la|this.D+d&this.la;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.Mj;this.Da&192&&(a=this.I,b=1,c=this.B.Oj,this.Da&256||(this.A-=this.B.Nj));if(a--){var d=this.wa&Kb?-1:1,e=$e(this,this.rb,this.F&this.la),f=bf(this,this.Ga,this.D&this.la);qf.call(this,e,f);this.F=this.F&~this.la|this.F+d&this.la;this.D=this.D&~this.la|this.D+d&this.la;this.A-=c-this.B.Ab;this.I-=b;a&&Ne(this)==(this.Da&64)&&(this.ma=this.Ob,this.S|=
256)}},function(){var a=1,b=0,c=this.B.Mj;this.Da&192&&(a=this.I,b=1,c=this.B.Oj,this.Da&256||(this.A-=this.B.Nj));if(a--){var d=this.wa&Kb?-2:2,e=af(this,this.rb,this.F&this.la),f=cf(this,this.Ga,this.D&this.la);yf.call(this,e,f);this.F=this.F&~this.la|this.F+d&this.la;this.D=this.D&~this.la|this.D+d&this.la;this.A-=c-this.B.Ab;this.I-=b;a&&Ne(this)==(this.Da&64)&&(this.ma=this.Ob,this.S|=256)}},function(){this.R=this.W=this.ia=this.G&this.X();this.V=256;this.A-=this.B.nf},function(){this.R=this.W=
@ -531,7 +531,7 @@ Si="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0
function Yi(a,b){this.Hb(a,b&255);this.Hb(a+1,b>>8&255);this.Hb(a+2,b>>16&255);this.Hb(a+3,b>>>24)}var Zi=[,,function(a){a+=this.offset;return(this.Y.Fb=this.na[a])>>this.Y.uk&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.na[b]>>8:this.na[b])&255}];Zi[16]=function(a){a+=this.offset;a=this.na[a];for(var b=this.Y.Cj&this.Y.Dj,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};
Zi[512]=function(a,b){var c=a+this.offset,d;d=this.na[c]&~this.Y.qb|(b|b<<8|b<<16|b<<24)&this.Y.qb;d=d&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[c]!=d&&(this.na[c]=d,this.Pa=!0)};Zi[1024]=function(a,b){var c=a+this.offset;b=b>>this.Y.Gd|b<<8-this.Y.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.Y.Je|this.Y.of;d=d&this.Y.qb|this.na[c]&~this.Y.qb;d=d&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[c]!=d&&(this.na[c]=d,this.Pa=!0)};
Zi[1536]=function(a,b){var c=a+this.offset;b=b>>this.Y.Gd|b<<8-this.Y.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.Y.Je|this.Y.of;d&=this.Y.Fb;d=d&this.Y.qb|this.na[c]&~this.Y.qb;d=d&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[c]!=d&&(this.na[c]=d,this.Pa=!0)};Zi[2560]=function(a,b){var c=a+this.offset;b=b>>this.Y.Gd|b<<8-this.Y.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.Y.Je|this.Y.of;d|=this.Y.Fb;d=d&this.Y.qb|this.na[c]&~this.Y.qb;d=d&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[c]!=d&&(this.na[c]=d,this.Pa=!0)};
Zi[3584]=function(a,b){var c=a+this.offset;b=b>>this.Y.Gd|b<<8-this.Y.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.Y.Je|this.Y.of;d^=this.Y.Fb;d=d&this.Y.qb|this.na[c]&~this.Y.qb;d=d&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[c]!=d&&(this.na[c]=d,this.Pa=!0)};Zi[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.Y.qb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.na[d]&~c;c=c&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[d]!=c&&(this.na[d]=c,this.Pa=!0)};
Zi[3584]=function(a,b){var c=a+this.offset;b=b>>this.Y.Gd|b<<8-this.Y.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.Y.Je|this.Y.of;d^=this.Y.Fb;d=d&this.Y.qb|this.na[c]&~this.Y.qb;d=d&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[c]!=d&&(this.na[c]=d,this.Pa=!0)};Zi[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.Y.qb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.na[d]&~c;c=c&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[d]!=c&&(this.na[d]=c,this.Pa=!0)};
Zi[4096]=function(a){a+=this.offset;var b=this.na[a]&~this.Y.qb|this.Y.Fb&this.Y.qb;this.na[a]!=b&&(this.na[a]=b,this.Pa=!0)};Zi[8192]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d&this.Y.qb|this.na[c]&~this.Y.qb,d=d&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[c]!=d&&(this.na[c]=d,this.Pa=!0)};Zi[24576]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d&this.Y.Fb,d=d&this.Y.qb|this.na[c]&~this.Y.qb,d=d&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[c]!=d&&(this.na[c]=d,this.Pa=!0)};
Zi[40960]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d|this.Y.Fb,d=d&this.Y.qb|this.na[c]&~this.Y.qb,d=d&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[c]!=d&&(this.na[c]=d,this.Pa=!0)};Zi[57344]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d^this.Y.Fb,d=d&this.Y.qb|this.na[c]&~this.Y.qb,d=d&this.Y.wb|this.Y.Fb&~this.Y.wb;this.na[c]!=d&&(this.na[c]=d,this.Pa=!0)};
function $i(a){var b=[];if(void 0!==a.Ce){b[0]=a.nd;b[1]=a.Nc;b[2]=a.Hf;b[3]=a.jg;b[4]=a.wc|a.di<<8;b[5]=a.oc;if(5==a.Ce){var c=[];c[0]=a.Dd;c[1]=a.Xd;c[2]=a.ke;c[3]=a.Ei;c[4]=a.Tg;c[5]=a.ai;c[6]=a.Zd;c[7]=a.qg;c[8]=a.vj;c[9]=a.wj;c[10]=a.Yd;c[11]=a.Se;c[12]=a.Fb;c[13]=[a.Va,a.Ub,a.kd];var d;a:if(d=a.xd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var t=d[h],r=h+2;r<d.length&&d[r]===t;)r+=2;f[e++]=r-h>>1;f[e++]=t;h=r}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
@ -566,12 +566,12 @@ e.fillStyle=h.Af[d],e.fillRect(b,c+f,h.tc,g)):(a.ye&&a.ye!==a.Vd&&(f=Math.floor(
function bd(a,b){if(a.da.$b){var c=!1;a.Ea&&(a.Ea===a.ga?a.ga.Xd&32&&(c=!0):a.Ea.Nc&8&&(c=!0));if(c||b){if(b)uj(a,!0);else if(void 0===a.pc)return;var d=!1;!(b||++a.yn&15)&&0<=a.af&&(a.af++,d=!0);var e=0,f=a.Pl,c=a.Ea.Va,g=c+a.Ea.Ub,h=(a.Ea.oc[12]<<8)+a.Ea.oc[13];a.ac&&(h<<=1);var c=c+h,t=a.Yi;c+t>g&&(t=g-c,0>t&&(t=0));g=c+t;if(h=!b){for(var h=a.ha,r=!0,C=c>>h.Ta;0<t&&C<h.va.length;)h.va[C].Pa&&(h.va[C].Pa=r=!1,h.va[C].tl=!0),t-=h.Kb,C++;h=r}if(h){if(!d)return;if(!a.$e){if(0>a.Wc)return;e=a.Wc;f=
e+1}}if(a.ac){if(a.ne[a.ac]){d=0;h=a.$e=0;t=1048575;a.Ea.Nc&32&&(h=32768,t&=~h,a.af&2||(t&=-65537));for(c+=e<<1;c<g&&e<f;)r=$b(a.ha,c),r|=65536,r&h&&(a.$e++,r&=t),e==a.Wc&&(r|=a.af&1?131072:0),C=a.pc[e],C!=r&&(sj(a,e%a.Mb,Math.floor(e/a.Mb),r,a.If),a.pc[e]=r,d++),c+=2,e++;d&&a.If&&a.md.drawImage(a.Ff,0,0,a.Jg,a.Kg,a.Ok,a.Pk,a.cj,a.dj);qj(a)}}else if(a.ll){for(var f=g,D,E,e=c,g=a.$e=0,d=a.Bj,h=16==d?65536:196608,t=16==d?1:2,r=mj(a,t),N=C=0,F=a.Mb,Q=0,ma=a.zc,ra=0;e<f;){D=$b(a.ha,e);E=a.pc[g];if(E===
D)C+=d;else{a.pc[g]=D;D=D>>8|(D&255)<<8;E=h;var Oa=16;C<F&&(F=C);for(var Ua=0;Ua<d;Ua++){var nb=(D&(E>>=t))>>(Oa-=t);pj(a.fi,C++,N,r[nb])}C>Q&&(Q=C);N<ma&&(ma=N);N>=ra&&(ra=N+1)}e+=2;g++;if(C>=a.Mb){C=0;N+=2;if(N>a.zc)break;N==a.zc&&(N=1,e=c+a.ll)}}F<a.Mb&&(a.If.putImageData(a.fi,0,0,F,ma,Q-F,ra-ma),a.md.drawImage(a.Ff,0,0,a.Mb,a.zc,0,0,a.Td,a.ze))}else{f=g;e=a.$e=0;g=mj(a);d=a.Ea.xd;t=h=0;r=a.Mb;C=0;N=a.zc;for(F=0;c<f;){Q=c++-a.Va;Q=d[Q];ma=a.pc[e];if(ma===Q)h+=8;else{a.pc[e]=Q;h<r&&(r=h);for(ma=
0;8>ma;ma++)ra=Li[Q&2155905152]||0,pj(a.fi,h++,t,g[ra]),Q<<=1;h>C&&(C=h);t<N&&(N=t);t>=F&&(F=t+1)}e++;if(h>=a.Mb&&(h=0,++t>a.zc))break}r<a.Mb&&(a.If.putImageData(a.fi,0,0,r,N,C-r,F-N),a.md.drawImage(a.Ff,0,0,a.Mb,a.zc,0,0,a.Td,a.ze))}}}}k.Eo=function(a,b){return vj(this,this.jd,b)};k.Sp=function(a,b,c){a=this.jd;a.di=a.wc;a.wc=b&31;q(this,a.port,b,c,"CRTC.INDX")};k.Do=function(a,b){return wj(this,this.jd,b)};k.Rp=function(a,b,c){xj(this,this.jd,b,c)};k.Fo=function(a,b){return yj(this,this.jd,b)};
0;8>ma;ma++)ra=Li[Q&-2139062144]||0,pj(a.fi,h++,t,g[ra]),Q<<=1;h>C&&(C=h);t<N&&(N=t);t>=F&&(F=t+1)}e++;if(h>=a.Mb&&(h=0,++t>a.zc))break}r<a.Mb&&(a.If.putImageData(a.fi,0,0,r,N,C-r,F-N),a.md.drawImage(a.Ff,0,0,a.Mb,a.zc,0,0,a.Td,a.ze))}}}}k.Eo=function(a,b){return vj(this,this.jd,b)};k.Sp=function(a,b,c){a=this.jd;a.di=a.wc;a.wc=b&31;q(this,a.port,b,c,"CRTC.INDX")};k.Do=function(a,b){return wj(this,this.jd,b)};k.Rp=function(a,b,c){xj(this,this.jd,b,c)};k.Fo=function(a,b){return yj(this,this.jd,b)};
k.Tp=function(a,b,c){a=this.jd;q(this,a.port+4,b,c,"MODE");a.Nc=b;kj(this,!1)};k.Go=function(a,b){return zj(this,this.jd,b)};k.Wm=function(a,b,c){this.ga.ai=this.ga.ai&-4|b&3;q(this,a,b,c,"FEAT")};k.Kl=function(a,b){var c=this.ga.Dd?this.ga.ke[this.ga.Xd&31]:this.ga.Xd;this.oa()&&q(this,960,null,b,"ATC."+(this.ga.Dd?this.ga.Ni[this.ga.Xd&31]:"INDX"),c);this.ga.Dd=!this.ga.Dd;return c};
k.Vm=function(a,b,c){var d=this.ga.Xd&32;if(this.ga.Dd){var e=this.ga.Xd&31;if(16<=e||!d)this.oa()&&q(this,a,b,c,"ATC."+this.ga.Ni[e]),this.ga.ke[e]=b;this.ga.Dd=!1}else this.ga.Xd=b,q(this,a,b,c,"ATC.INDX"),this.ga.Dd=!0,b&32&&!d&&ij(this)&&bd(this,!0)};k.Qo=function(a,b){var c=3-((this.ga.Tg&12)>>2),c=this.ga.Ei&-17|(this.Dh&1<<c)<<4-c;this.ga.Ei=c;q(this,962,null,b,"STATUS0",c);return c};k.Vp=function(a,b,c){this.ga.Tg=b;hj(this);q(this,962,b,c,"MISC")};
k.Po=function(a,b){var c=this.ga.Zd;q(this,964,null,b,"SEQ.INDX",c);return c};k.bq=function(a,b,c){this.ga.Zd=b;q(this,964,b,c,"SEQ.INDX")};k.Oo=function(a,b){var c=this.ga.qg[this.ga.Zd];this.oa()&&q(this,965,null,b,"SEQ"+this.ga.Pi[this.ga.Zd],c);return c};k.aq=function(a,b,c){this.oa()&&q(this,965,b,c,"SEQ."+this.ga.Pi[this.ga.Zd]);this.ga.qg[this.ga.Zd]=b;2==this.ga.Zd&&(this.ga.qb=Ki[b&15])};k.wo=function(a,b){var c=this.ga.vj;q(this,972,null,b,"GRC1",c);return c};
k.Mp=function(a,b,c){this.ga.vj=b;q(this,972,b,c,"GRC1")};k.xo=function(a,b){var c=this.ga.wj;q(this,970,null,b,"GRC2",c);return c};k.Np=function(a,b,c){this.ga.wj=b;q(this,970,b,c,"GRC2")};k.vo=function(a,b){var c=this.ga.Yd;q(this,974,null,b,"GRC.INDX",c);return c};k.Lp=function(a,b,c){this.ga.Yd=b;q(this,974,b,c,"GRC.INDX")};k.uo=function(a,b){var c=this.ga.Se[this.ga.Yd];this.oa()&&q(this,975,null,b,"GRC."+this.ga.Oi[this.ga.Yd],c);return c};
k.Kp=function(a,b,c){this.oa()&&q(this,975,b,c,"GRC."+this.ga.Oi[this.ga.Yd]);this.ga.Se[this.ga.Yd]=b;switch(this.ga.Yd){case 0:this.ga.pi=Ki[b&15];this.ga.of=this.ga.pi&~this.ga.Je;break;case 1:this.ga.Je=~Ki[b&15];this.ga.of=this.ga.pi&~this.ga.Je;break;case 2:this.ga.Cj=Ki[b&15]&2155905152;break;case 3:case 5:this.Ne(tj(this));break;case 4:this.ga.uk=(b&3)<<3;break;case 6:kj(this,!1);break;case 7:this.ga.Dj=Ki[b&15^15]&2155905152;break;case 8:this.ga.wb=b|b<<8|b<<16|b<<24}};
k.Kp=function(a,b,c){this.oa()&&q(this,975,b,c,"GRC."+this.ga.Oi[this.ga.Yd]);this.ga.Se[this.ga.Yd]=b;switch(this.ga.Yd){case 0:this.ga.pi=Ki[b&15];this.ga.of=this.ga.pi&~this.ga.Je;break;case 1:this.ga.Je=~Ki[b&15];this.ga.of=this.ga.pi&~this.ga.Je;break;case 2:this.ga.Cj=Ki[b&15]&-2139062144;break;case 3:case 5:this.Ne(tj(this));break;case 4:this.ga.uk=(b&3)<<3;break;case 6:kj(this,!1);break;case 7:this.ga.Dj=Ki[b&15^15]&-2139062144;break;case 8:this.ga.wb=b|b<<8|b<<16|b<<24}};
k.mo=function(a,b){return vj(this,this.Lb,b)};k.Bp=function(a,b,c){a=this.Lb;a.di=a.wc;a.wc=b&31;q(this,a.port,b,c,"CRTC.INDX")};k.lo=function(a,b){return wj(this,this.Lb,b)};k.Ap=function(a,b,c){xj(this,this.Lb,b,c)};k.no=function(a,b){return yj(this,this.Lb,b)};k.Cp=function(a,b,c){a=this.Lb;q(this,a.port+4,b,c,"MODE");a.Nc=b;kj(this,!1)};k.ko=function(a,b){var c=this.Lb.Hf;this.oa()&&q(this,this.Lb.port+5,null,b,this.Lb.type+".COLOR",c);return c};
k.zp=function(a,b,c){this.oa()&&q(this,this.Lb.port+5,b,c,this.Lb.type+".COLOR");this.Lb.Hf!==b&&(this.Lb.Hf=b,uj(this,!1))};k.oo=function(a,b){return zj(this,this.Lb,b)};function vj(a,b,c){var d=b.wc;q(a,b.port,null,c,"CRTC.INDX",d);return d}function wj(a,b,c){var d;b.wc<b.Aj&&(d=b.oc[b.wc]);a.oa()&&q(a,b.port+1,null,c,"CRTC."+b.Bh[b.wc],d);return d}function xj(a,b,c,d){b.wc<b.Aj&&(a.oa()&&q(a,b.port+1,c,d,"CRTC."+b.Bh[b.wc]),b.oc[b.wc]=c,9==b.wc&&8!=b.di&&kj(a,!0),lj(a))}
function yj(a,b,c){var d=b.Nc;q(a,b.port+4,null,c,"MODE",d);return d}function zj(a,b,c){var d=0,e=Zc(a.N),f=e-b.Lj;0>f&&(f=0);f%b.Ej>b.ep&&(d|=1);f%=b.Sl;f>b.gp&&(d|=8);b.Lj=e-f;b===a.ga?(d|=b.jg&48^48,b.Dd=!1):d=(b.jg^=9)|240;b.jg=d;q(a,b.port+6,null,c,b===a.ga?"STATUS1":"STATUS",d);return d}
@ -598,11 +598,11 @@ function Kj(a,b,c){p.call(this,"Disk",{id:a.Il+".disk"+ ++Lj},Kj,1048576);this.Y
k.ec=function(a,b){if(this.Wd){var c,d=0;if(this.tj&&!ya("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Mj(this,!1);)if(d=c[0]){this.Y.Ba('Unable to save "'+this.Jd+'" (error '+d+")");break}b&&this.Wd&&(c="action=close&volume="+this.sf,c+="&machine="+this.Y.Sf(),c+="&user="+this.Y.Be(),va(wa()+"/api/v1/disk?"+c,!0),this.Wd=!1);!d&&a&&this.Y.Ba(this.Jd+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.xb=b;this.yb=c;this.Bb=d;this.pb=e;this.eb=[];if("preload"!=this.mode){a=Array(this.xb);for(b=0;b<a.length;b++){c=Array(this.yb);for(d=0;d<c.length;d++){e=Array(this.Bb);for(var f=1;f<=e.length;f++)e[f-1]=Nj(null,b,d,f,this.pb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.eb=a}this.Lf=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.kf)if(this.Jd=a,this.sf=b,this.kf=d,this.Dn=e||this.Y,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.xb=d[0];g.yb=d[1];g.Bb=d[2];g.pb=512;b=g.pb>>2;var e=d=0,a=new DataView(a,0,c);g.eb=Array(g.xb);for(c=0;c<g.eb.length;c++)for(var f=g.eb[c]=Array(g.yb),F=0;F<f.length;F++)for(var Q=f[F]=Array(g.Bb),ma=0;ma<Q.length;ma++){for(var ra=Nj(null,c,F,ma+1,g.pb,0),Oa=ra.data,Ua=0;Ua<b;Ua++,e+=4)var nb=Oa[Ua]=
a.getInt32(e,!0),d=d+nb&4294967295;ra.Hc=b;Q[ma]=ra}g.Lf=d;b=g}else g.Ba("Unrecognized diskette format ("+c+" bytes)");g.kf&&(g.kf.call(g.Y,g.Na,b,g.Jd,g.sf),g.kf=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Oj(this,b),this.Xh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-
1)&&(c="dir"),f=wa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Qf?"":d)+"&format=json")),va(f,!0,null,this,this.Hn,b)};
a.getInt32(e,!0),d=d+nb&-1;ra.Hc=b;Q[ma]=ra}g.Lf=d;b=g}else g.Ba("Unrecognized diskette format ("+c+" bytes)");g.kf&&(g.kf.call(g.Y,g.Na,b,g.Jd,g.sf),g.kf=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Oj(this,b),this.Xh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),
f=wa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Qf?"":d)+"&format=json")),va(f,!0,null,this,this.Hn,b)};
k.Hn=function(a,b,c,d){var e=null;this.Rf=!1;var f=0>c&&this.Aa&&!this.Aa.da.$b;if(this.Xh)c?this.Y.Ba('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Wd=!0,e=this);else if(c)this.Y.Ba('Unable to load disk "'+this.Jd+'" (error '+c+")",f);else try{if(0<fa(a,!0).toLowerCase().indexOf("-readonly"))this.Rf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.Rf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.Jd]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)xa(h[0]);else{this.xb=h.length;this.yb=h[0].length;this.Bb=h[0][0].length;var t=h[0][0][0];this.pb=t&&t.length||512;for(b=a=0;b<this.xb;b++)for(c=0;c<this.yb;c++)for(d=0;d<this.Bb;d++)if(t=h[b][c][d]){var r=t.length;void 0===r&&(r=t.length=512);var r=r>>2,C=t.pattern;void 0===C&&(C=t.pattern=0);var D=t.data;if(void 0===D){var E=t.bytes;if(void 0!==E&&E.length){for(var f=
r<<2,N=E.length;N<f;N++)E[N]=C;this.fill(t,E,0)}else D=[],C=t.pattern=C|C<<8|C<<16|C<<24,t.data=D;delete t.bytes}Nj(t,b,c);for(f=0;f<D.length;f++)a=a+D[f]&4294967295}this.eb=h;this.Lf=a;e=this}else xa("Empty disk image: "+this.Jd)}catch(F){xa("Disk image error: "+F.message)}this.kf&&(this.kf.call(this.Dn,this.Na,e,this.Jd,this.sf),this.kf=null)};function Nj(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Vn=b;a.Xn=c;a.pd=a.Hc=0;a.Pa=!1;return a}
r<<2,N=E.length;N<f;N++)E[N]=C;this.fill(t,E,0)}else D=[],C=t.pattern=C|C<<8|C<<16|C<<24,t.data=D;delete t.bytes}Nj(t,b,c);for(f=0;f<D.length;f++)a=a+D[f]&-1}this.eb=h;this.Lf=a;e=this}else xa("Empty disk image: "+this.Jd)}catch(F){xa("Disk image error: "+F.message)}this.kf&&(this.kf.call(this.Dn,this.Na,e,this.Jd,this.sf),this.kf=null)};function Nj(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Vn=b;a.Xn=c;a.pd=a.Hc=0;a.Pa=!1;return a}
function Oj(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.xb+":"+a.yb+":"+a.Bb+":"+a.pb;c+="&machine="+a.Y.Sf();c+="&user="+a.Y.Be();return wa()+"/api/v1/disk?"+c}function Pj(a,b,c,d,e,f,g){if(a.Wd){var h;h="action=read&volume="+a.sf;h+="&chs="+a.xb+":"+a.yb+":"+a.Bb+":"+a.pb;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.Y.Sf());h+="&user="+a.Y.Be();va(wa()+"/api/v1/disk?"+h,f,null,a,a.Kn,[b,c,d,e,f,g])}else g&&g(-1,!1)}
k.Kn=function(a,b,c,d){var e=!1;a=d[0];var f=d[1],g=d[2],h=d[3];if(!c){b=JSON.parse(b);for(e=0;h--;){var t=this.seek(a,f,g,!0);if(!t)break;this.fill(t,b,e);e+=t.length;g++}e=d[4]}(d=d[5])&&d(c,e)};k.Ln=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.tj=!1;if(0<=a&&a<this.eb.length&&0<=b&&b<this.eb[a].length)for(--e;0<f--&&0<=e&&e<this.eb[a][b].length;e++){var g=this.eb[a][b][e];c?Qj(this,g,!1):g.Pa||(g.pd=g.Hc=0)}d&&Rj(this)};
function Qj(a,b,c){b.Pa=!0;var d=a.Re.indexOf(b);0<=d&&(a.Re.splice(d,1),a.th.splice(d,1));a.Re.push(b);a.th.push(pa());c&&Rj(a)}function Rj(a){if(a.Re.length){var b=a.th[0]+2E3;a.ge&&a.Ol<b&&(clearTimeout(a.ge),a.ge=null);if(!a.ge){var c=pa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.ge=setTimeout(function(){Mj(a,!0)},b);a.Ol=c+b}}else a.ge&&(clearTimeout(a.ge),a.ge=null)}
@ -634,7 +634,7 @@ k.pl=function(a,b,c,d,e){var f;a.Mc=!1;b&&(f=b.info(),b&&f[0]>a.xb||f[1]>a.yb)&&
function ak(a,b,c){if(a=a.pa.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 Wj(a,b){if(0<=b&&b<a.za.length){var c=a.za[b],d=a.pa.listDisks,e=a.pa.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.Of?"?":c.tf,!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 bk(a,b,c,d){var e=a.za[b];e.ra&&(ck(a,e.tf,e.ra),e.en="",e.tf="",e.ra=null,e.Of=!1,a.Le|=128,d||a.Ba("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Wj(a,b))}function ek(a,b,c,d){var e;for(e=0;e<a.Bc.length;e++)if(a.Bc[e][1]==c){d.restore(a.Bc[e][2]);return}a.Bc[e]=[b,c,[]]}function ck(a,b,c){var d;for(d=0;d<a.Bc.length;d++)if(a.Bc[d][1]==b){a.Bc[d][2]=c.save();break}}k.Jp=function(a,b,c){q(this,a,b,c,"OUTPUT");b&4?this.ig&4||this.ig&8&&this.fa&&Nh(this.fa,6):this.$d();this.ig=b};
k.to=function(a,b){q(this,a,null,b,"STATUS",this.ya);return this.ya};k.ro=function(a,b){var c=0;this.zb<this.hb&&(c=this.nc[this.zb]);this.ig&8&&this.fa&&Oh(this.fa,6);this.oa()&&q(this,a,null,b,"DATA["+this.zb+"]",c);++this.zb>=this.hb&&(this.ya&=-81,this.zb=this.hb=0);return c};
k.Ip=function(a,b,c){this.oa()&&q(this,a,b,c,"DATA["+this.hb+"]");this.hb<this.nc.length&&(this.nc[this.hb++]=b);a=this.nc[0]&31;if(void 0!==Vj[a]&&this.hb>=Vj[a].Sd){b=!1;this.zb=0;a=this.Ra();var d,e,f,g,h=a&31;switch(h){case 3:this.Ra(l.$q);this.Ra(l.Gq);this.Xb();break;case 4:c=this.Ra(l.mg);this.jb=c&3;d=this.za[this.jb];this.Xb();this.mc((d.bb&4278190080)>>>24,l.cr);break;case 5:case 6:c=this.Ra(l.mg);b=c>>2&1;this.jb=c&3;d=this.za[this.jb];d.La=b;c=d.tb=this.Ra(l.Qk);e=this.Ra(l.Rk);f=d.Za=
k.Ip=function(a,b,c){this.oa()&&q(this,a,b,c,"DATA["+this.hb+"]");this.hb<this.nc.length&&(this.nc[this.hb++]=b);a=this.nc[0]&31;if(void 0!==Vj[a]&&this.hb>=Vj[a].Sd){b=!1;this.zb=0;a=this.Ra();var d,e,f,g,h=a&31;switch(h){case 3:this.Ra(l.$q);this.Ra(l.Gq);this.Xb();break;case 4:c=this.Ra(l.mg);this.jb=c&3;d=this.za[this.jb];this.Xb();this.mc((d.bb&-16777216)>>>24,l.cr);break;case 5:case 6:c=this.Ra(l.mg);b=c>>2&1;this.jb=c&3;d=this.za[this.jb];d.La=b;c=d.tb=this.Ra(l.Qk);e=this.Ra(l.Rk);f=d.Za=
this.Ra(l.Tk);g=this.Ra(l.Gi);d.gb=128<<g;d.se=this.Ra(l.Bq);this.Ra(l.qn);this.Ra(l.Aq);6==h?(h=d,h.bb=72,h.ra&&(h.Sa=null,h.bb=0,this.fa&&(Gh(this.fa,2,this,"dmaRead",h),zh(this.fa,2)))):(h=d,h.bb=72,h.ra&&(h.ra.Rf?h.bb=576:(h.Sa=null,h.bb=0,this.fa&&(Gh(this.fa,2,this,"dmaWrite",h),zh(this.fa,2)))));fk(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=this.Ra(l.mg);this.jb=c&3;d=this.za[this.jb];d.tb=d.qe=0;d.bb=268435488;this.Xb();b=!0;break;case 8:d=this.za[this.jb];d.La=0;this.Xb();this.mc(d.jb|d.La<<
2|d.bb&255,l.sn);this.mc(d.tb,l.Pq);this.jb=this.jb+1&3;break;case 10:c=this.Ra(l.mg);b=c>>2&1;this.jb=c&3;d=this.za[this.jb];c=d.tb;e=d.La=b;f=d.Za=1;g=0;d.bb=0;d.ra&&(d.Sa=d.ra.seek(d.tb,d.La,d.Za))?g=d.Sa.length:d.bb=72;fk(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Ra(l.mg);b=c>>2&1;this.jb=c&3;d=this.za[this.jb];c=d.tb;e=d.La=b;f=1;g=this.Ra(l.Gi);d.gb=128<<g;d.se=this.Ra(l.Vq);this.Ra(l.qn);d.bl=this.Ra(l.pn);h=d;h.bb=72;h.ra&&(h.Sa=null,h.bb=0,this.fa&&(h.Gf=0,h.Sc=Array(4),h.Si=!0,h.Mh=
0,Gh(this.fa,2,this,"dmaFormat",h),zh(this.fa,2),h.Si=!1));fk(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=this.Ra(l.mg),this.jb=c&3,d=this.za[this.jb],d.La=c>>2&1,c=this.Ra(l.Mq),d.tb+=c-d.qe,0>d.tb&&(d.tb=0),d.tb>=d.xb&&(d.tb=d.xb-1),d.qe=c,d.bb=32,d.tb||(d.bb|=268435456),this.Xb(),b=!0}0<this.hb&&(this.ya|=80);this.ig&8&&(!d||d.bb&8||!b||this.fa&&Nh(this.fa,6))}};k.so=function(a,b){var c=this.Le;this.Le&=-129;q(this,a,null,b,"INPUT",c);return c};
@ -740,7 +740,7 @@ e)+" "+al(a,a.N.Ga,e)+" "+al(a,a.N.xa,e);d=d+(e?"\n":" ")+(al(a,a.N.qa,e)+" IP="
function hl(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;Ea(b,function(){return hb(a,!0)&&a.kg(e,d,!1)},function(){Wc(a.N);hb(a,!1)})}
function Qk(a,b,c,d){b=cl(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.ha.Ag];if(void 0!==c){e=cl(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.Q("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Pc[0];d&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){d--;var f=a.Qa(b),g=ib(a,!1)||a.vc?a.qd:null;if(38==f||46==f||54==f||62==f||240==f||242==f||243==f)g=null,d||d++;var f=null!=g?"cycles":null,h=Zk(a,b);if(h[0]){var t=h[0]+":";c=!1;h[2]&&(t+=" "+h[2]);a.Q(t)}c&&a.Q();h[3]&&(f=h[3],g=
null);c=Yk(a,b,f,g);a.Q(c);a.Pc=b;c=!1}d&&a.Q("end of memory")}}function Nk(a,b,c){if(c)if(b){0>a.Xc&&a.Rc.length&&(a.Xc=0);if(0>a.Xc||b!=a.Rc[a.Xc])a.Rc.splice(0,0,b),a.Xc=0;a.Xc--}else b=a.Rc[a.Xc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a}
function wk(a,b){var c=!0;try{if(b.length||(a.Mf?(a.Q("ended assemble @"+Vk(a.Qe)),a.Pc=a.Qe,a.Mf=!1):b="?"),b=b.toLowerCase(),kb(a)&&0<b.length){if(a.Mf)b="a "+Vk(a.Qe)+" "+b;else{var d,e,f;switch(b){case "reset":return a.Aa&&a.Aa.reset(),!0;case "ver":return a.Q("PCjs version 1.17.1 ("+a.N.Ca+",RELEASE,NOPREFETCH"+(mb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)"),!0;default:for(e=b.charAt(0),f=1;f<b.length;f++){d=b.charAt(f);if(" "==d)break;if("r"==e||"a">d||"z"<d){b=b.substring(0,f)+" "+b.substring(f);
function wk(a,b){var c=!0;try{if(b.length||(a.Mf?(a.Q("ended assemble @"+Vk(a.Qe)),a.Pc=a.Qe,a.Mf=!1):b="?"),b=b.toLowerCase(),kb(a)&&0<b.length){if(a.Mf)b="a "+Vk(a.Qe)+" "+b;else{var d,e,f;switch(b){case "reset":return a.Aa&&a.Aa.reset(),!0;case "ver":return a.Q("PCjs version 1.17.2 ("+a.N.Ca+",RELEASE,NOPREFETCH"+(mb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)"),!0;default:for(e=b.charAt(0),f=1;f<b.length;f++){d=b.charAt(f);if(" "==d)break;if("r"==e||"a">d||"z"<d){b=b.substring(0,f)+" "+b.substring(f);
break}}}}var g=b.split(" ");switch(g[0].charAt(0)){case "a":var h=cl(a,g[1],1);if(null!=h[0])if(a.Qe=h,void 0===g[2])a.Q("begin assemble @"+Vk(h)),a.Mf=!0,Wc(a.N);else{var t;a.Q("not supported yet");t=[];if(t.length){for(var r=0;r<t.length;r++)a.sd(h,t[r],1);a.Q(Yk(a,a.Qe))}}break;case "b":a:{var C=g[1],D=g[0].charAt(1);if(D&&"?"!=D)if("l"==D)r=0,r+=Xk(a,a.Ac),r+=Xk(a,a.le),(r+=Xk(a,a.ed))||a.Q("no breakpoints");else if(void 0===C)a.Q("missing breakpoint address");else{r=[];if("*"!=C&&(r=cl(a,C,1),
null==r[0]))break a;C=null==r[0]?C:n(r[0]);"c"==D?null==r[0]?(tk(a),a.Q("all breakpoints cleared")):Wk(a,a.Ac,r,!0)||Wk(a,a.le,r,!0)||Wk(a,a.ed,r,!0)||a.Q("breakpoint missing: "+Vk(r)):"i"==D?a.Q("breakpoint "+(cc(a.ha,r[0])?"enabled":"cleared")+": port "+C+" (input)"):"o"==D?a.Q("breakpoint "+(gc(a.ha,r[0])?"enabled":"cleared")+": port "+C+" (output)"):null!=r[0]&&("p"==D?a.pe(a.Ac,r):"r"==D?a.pe(a.le,r):"w"==D?a.pe(a.ed,r):a.Q("unknown breakpoint command: "+D))}else a.Q("\nbreakpoint commands:"),
a.Q("\tbi [p]\ttoggle break on input port [p]"),a.Q("\tbo [p]\ttoggle break on output port [p]"),a.Q("\tbp [a]\tset exec breakpoint at addr [a]"),a.Q("\tbr [a]\tset read breakpoint at addr [a]"),a.Q("\tbw [a]\tset write breakpoint at addr [a]"),a.Q("\tbc [a]\tclear breakpoint at addr [a]"),a.Q("\tbl\tlist all breakpoints")}break;case "c":a.Ig&&(a.Ig.value="");break;case "d":a:{var E=g[0],r=g[1],N=g[2],F;if("?"==r){r="";for(F in Ck)a.Mi[F]&&(r&&(r+=","),r+=F);r+=",state,symbols";a.Q("\ndump commands:");
@ -758,21 +758,21 @@ Ee.prototype={constructor:Ee,set:function(a,b){try{this[this.id][a]=b}catch(c){}
a:JSON.stringify(a)},clear:function(a){kl(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(f){}b.splice(c,1);c=0}},oa:function(a){return this.Z?this.Z.oa(null==a?8388608:a|8388608):!1},Wa:function(a){this.Z&&this.Z.message(a)}};function kl(a,b){a[a.id]={};b&&a.set("parms",b);a.oj=!1}
function ll(a){var b=!0;if(Aa()){var c=JSON.stringify(a[a.id]);Ca(a.key,c)||(xa("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function ml(a,b,c){p.call(this,"Computer",a,ml,33554432);this.da.$b=!1;this.Xf=a.buswidth;this.$c=nl;this.ph=null;this.Zh=!1;this.url=b?b.url:null;this.pq=(Math.random()+.1).toString(36).substr(2,12);this.ad=ol(this);if(this.N=ab("CPU",this.id)){this.Z=ab("Debugger",this.id);this.ha=new Tb({id:this.Il+".bus",buswidth:this.Xf},this.N,this.Z);var d,e=Za(this.id);if((this.ee=ab("Panel",this.id))&&this.ee.Ig)for(b=0;b<e.length;b++)d=e[b],d.Ba=this.ee.Ba,d.Q=this.ee.Q,d.Ig=this.ee.Ig;for(b=0;b<e.length;b++)d=
e[b],d.xc&&d.xc(this,this.ha,this.N,this.Z);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.zi=d:this.$c=parseInt(d,10));var f;if(a=Sa&&Sa.state||(f=!0,a.state))b=this.gn=a,f||(this.Zh=!0,this.$c=nl),this.$c&&(this.Di=new Ee(this,"1.17.1"),this.Di.load()?b=null:delete this.Di);!b&&this.$c&&(f=null,this.ad&&(f=wa()+"/api/v1/user?req=load&user="+this.ad+"&state="+jl(this,"1.17.1")),b=f)&&(this.Zh=!0);b?va(b,!0,null,this,this.lp):jb(this);c||pl(this,this.ti)}else xa("Unable to find CPU component")}
e[b],d.xc&&d.xc(this,this.ha,this.N,this.Z);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.zi=d:this.$c=parseInt(d,10));var f;if(a=Sa&&Sa.state||(f=!0,a.state))b=this.gn=a,f||(this.Zh=!0,this.$c=nl),this.$c&&(this.Di=new Ee(this,"1.17.2"),this.Di.load()?b=null:delete this.Di);!b&&this.$c&&(f=null,this.ad&&(f=wa()+"/api/v1/user?req=load&user="+this.ad+"&state="+jl(this,"1.17.2")),b=f)&&(this.Zh=!0);b?va(b,!0,null,this,this.lp):jb(this);c||pl(this,this.ti)}else xa("Unable to find CPU component")}
Ya(p,ml);var nl=0;k=ml.prototype;k.Sf=function(){return this.pq};k.Be=function(){return this.ad?this.ad:""};k.lp=function(a,b,c){c?(this.zi=null,this.Zh=!1,this.Ba("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):this.ph=b;jb(this)};function pl(a,b,c){for(var d=Za(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!kb(f)){kb(f,function(){pl(a,b,c)});return}}b.call(a,c)}
function ql(a,b){var c=new Ee(a,"1.17.1","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ba("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.ti=function(a){void 0===a&&(a=this.$c||(this.ph?1:nl));var b=!1,c=!1;this.yl=!1;var d=this.Di||new Ee(this,"1.17.1");if(-1==a)b=!0;else if(a>nl){if(d.load(this.ph)){this.uf=new Ee(this,"1.17.1","failsafe");this.uf.load()&&(rl(this,d),a=2,kl(this.uf));this.uf.set("timestamp",sa());ll(this.uf);var e=this.$c&&!this.Zh;if(1==a||ya("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
function ql(a,b){var c=new Ee(a,"1.17.2","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ba("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.ti=function(a){void 0===a&&(a=this.$c||(this.ph?1:nl));var b=!1,c=!1;this.yl=!1;var d=this.Di||new Ee(this,"1.17.2");if(-1==a)b=!0;else if(a>nl){if(d.load(this.ph)){this.uf=new Ee(this,"1.17.2","failsafe");this.uf.load()&&(rl(this,d),a=2,kl(this.uf));this.uf.set("timestamp",sa());ll(this.uf);var e=this.$c&&!this.Zh;if(1==a||ya("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
f&&"no machine state"!=g?(this.Ba("Error: "+g),"unable to verify user"==g&&(Ca("user",""),this.ad=null)):this.Q(f+": "+g),kl(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&ql(this,c?d:null)}else 2==a&&d.clear()}else ql(this);delete this.ph;delete this.Di}e=Za(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.N&&(c=sl(this,g,d,b,c));b=[d,a,c];-1!=a?pl(this,this.ql,b):this.ql(b)};
function sl(a,b,c,d,e){if(!b.da.$b){b.da.$b=!0;if(b.fc){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.fc(f,d)&&f&&(xa("Unable to restore state for "+b.type),a.gn&&!a.ph?(c.clear(),a.$c=nl,window&&window.location.reload()):a.yl=!0,b.fc(null),e=!1)}if(!d&&b.ml)for(a=b.ml.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.ql=function(a){var b=a[0],c=0>a[1];a=a[2];this.da.$b=!0;this.vl||(this.Q("PCjs v1.17.1\nCopyright \u00a9 2012-2015 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.vl=!0);this.N&&(sl(this,this.N,b,c,a),Xc(this.N));this.yl&&(rl(this,b),b.clear());!c&&this.uf&&(this.uf.clear(),delete this.uf)};
function rl(a,b){if(ya("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Be(),d=b.toString(),e={app:"PCjs",ver:"1.17.1"};e.url=a.url;e.user=c;e.type="bug";e.data=d;va("http://www.pcjs.org/api/v1/report",!0,e)}}
function il(a,b,c){var d,e="none",f=new Ee(a,"1.17.1"),g=new Ee(a,"1.17.1","validate"),h=sa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.N&&a.N.ec&&(c&&a.N.kb(),d=a.N.ec(b,c),"object"===typeof d&&f.set(a.N.id,d),c&&(a.N.da.$b=!1,!1===d&&(e=null)));for(var h=Za(a.id),t=0;t<h.length;t++){var r=h[t];r.da.$b&&(r.ec&&(d=r.ec(b,c),"object"===typeof d&&f.set(r.id,d)),c&&(r.da.$b=
k.ql=function(a){var b=a[0],c=0>a[1];a=a[2];this.da.$b=!0;this.vl||(this.Q("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.vl=!0);this.N&&(sl(this,this.N,b,c,a),Xc(this.N));this.yl&&(rl(this,b),b.clear());!c&&this.uf&&(this.uf.clear(),delete this.uf)};
function rl(a,b){if(ya("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Be(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;va("http://www.pcjs.org/api/v1/report",!0,e)}}
function il(a,b,c){var d,e="none",f=new Ee(a,"1.17.2"),g=new Ee(a,"1.17.2","validate"),h=sa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.N&&a.N.ec&&(c&&a.N.kb(),d=a.N.ec(b,c),"object"===typeof d&&f.set(a.N.id,d),c&&(a.N.da.$b=!1,!1===d&&(e=null)));for(var h=Za(a.id),t=0;t<h.length;t++){var r=h[t];r.da.$b&&(r.ec&&(d=r.ec(b,c),"object"===typeof d&&f.set(r.id,d)),c&&(r.da.$b=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.ad&&tl(a,a.ad,f.toString()),ll(g)&&ll(f)||(e=null,d=h=!0)):a.$c&&(d=!0,h=3==a.$c),d&&f.clear(h)):e=f.toString());c&&(a.da.$b=!1);return e}k.reset=function(){this.ha&&this.ha.reset&&(this.Wa("Resetting "+this.ha.type),this.ha.reset());for(var a=Za(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ha&&c.reset&&(this.Wa("Resetting "+c.type),c.reset())}};
k.start=function(a,b){for(var c=Za(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Za(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.Db=function(a,b,c){var d=this;switch(b){case "save":return this.pa[b]=c,c.onclick=function(){var a=ol(d,!0);if(a){var b=!(!d.$c||d.zi),c=il(d,b);b?tl(d,a,c):d.Ba("Resume disabled, machine state not saved")}},!0;case "reset":return this.pa[b]=c,c.onclick=function(){cd(d)},!0}return!1};
function ol(a,b){var c=a.ad;c||(c=Ba("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=ul(a,c))||a.Ba("Your user ID has not been approved."))):b&&a.Ba("Browser local storage is not available"));return c}
function ul(a,b){a.ad=null;var c=va(wa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Ca("user",c.data),a.ad=c.data)}catch(e){xa(e.message+" ("+d+")")}return a.ad}
function tl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=jl(a,"1.17.1");d.data=c;b=va(wa()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ba("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ba(c),Ca("user",""),a.ad=null)}}
function tl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=jl(a,"1.17.2");d.data=c;b=va(wa()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ba("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ba(c),Ca("user",""),a.ad=null)}}
function cd(a){if(a.$c&&!a.zi){var b=ya("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");il(a,b,!0);!b&&a.gn?window&&window.location.reload():(b||(a.pj=!0),a.ti(nl),a.pj=!1)}else a.reset(),a.N&&Xc(a.N)}function ub(a,b,c){a=Za(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}
Ka(function(){for(var a=db(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=bb(c),c=db(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=bb(f),g=new ml(g,d,!0);cb(g,f);pl(g,g.ti)}});Ga.show.push(function(){for(var a=db(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.vl&&!c.da.$b&&c.ti(-1)}});
Ga.exit.push(function(){for(var a=db(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.da.$b&&il(c,!(!c.$c||c.zi),!0)}});var vl=0;function wl(a,b,c,d,e,f){e("Loading "+a+"...");va(a,!0,null,null,function(g,h,t){t?(h||(h="unable to load "+a+" ("+t+")"),f(h,null)):xl(h,a,b,c,d,e,f)})}
@ -780,6 +780,6 @@ function xl(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){var h=b;h&&
null,a=D.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?Bl(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Bl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var t=h[0],r,C=/( [a-z]+=)(['"])(.*?)\2/g;r=C.exec(f);)t=0>t.indexOf(r[1])?t.replace(">",r[0]+">"):t.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);h[0]!=t&&(g=g.replace(h[0],t))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Bl(a,b,c)}})}else c(a,null)}
function Cl(a,b,c,d){function e(a){if(void 0===h){var b=g&&db(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);t&&(--vl||Ma(!0));t=!1}var g,h,t=!0;vl++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.1/components.xsl");var r=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--vl||Ma(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
function Cl(a,b,c,d){function e(a){if(void 0===h){var b=g&&db(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);t&&(--vl||Ma(!0));t=!1}var g,h,t=!0;vl++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var r=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--vl||Ma(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--vl||Ma(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?wl(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?wl(b,a,d,!0,e,r):xl(b,null,a,d,!1,e,r)}else f("missing machine element: "+
a)}catch(C){f(C.message)}return t}window.embedPC=function(a,b,c,d){Ma(!1);return Cl(a,b,c,d)};window.enableEvents=Ma;window.sendEvent=Na;})();

View file

@ -37,8 +37,8 @@ if(Ya){var Ob=new ArrayBuffer(2);(new DataView(Ob)).setUint16(0,256,!0);Nb=256==
function Bb(a,b,c,d){this.ia=null;this.offset=0;this.size=b||0;this.type=c||Qb;this.Fk=c==Rb;this.X=null;this.Ha=this.Ak=!1;if(b)if(d)this.X=d,a=[d.se,a-d.Sa],this.ia=a[0],this.offset=a[1],this.le(d.Kf);else if(Ya)this.buffer=new ArrayBuffer(b),this.mf=new DataView(this.buffer,0,b),this.Vb=new Uint8Array(this.buffer,0,b),this.kk=new Uint16Array(this.buffer,0,b>>1),this.ia=new Int32Array(this.buffer,0,b>>2),this.le(Pb?Sb:Ub);else{this.ia=Array(b>>2);for(d=0;d<this.ia.length;d++)this.ia[d]=0;this.le(Vb)}else this.le()}
var Qb=0,Rb=2,Wb=["NONE","RAM","ROM","VIDEO"],Xb=["black","blue","green","cyan"];function Yb(){return 0}function Zb(){}function $b(a){return this.Vb[a]}function ac(a){return this.Vb[a]}function bc(a){return this.mf.getUint16(a,!0)}function cc(a){return a&1?this.Vb[a]|this.Vb[a+1]<<8:this.kk[a>>1]}function dc(a){return this.mf.getInt32(a,!0)}function ec(a){return a&3?this.Vb[a]|this.Vb[a+1]<<8|this.Vb[a+2]<<16|this.Vb[a+3]<<24:this.ia[a>>2]}function fc(a,b){this.Vb[a]=b;this.Ha=!0}
function gc(a,b){this.Vb[a]=b;this.Ha=!0}function hc(a,b){this.mf.setUint16(a,b,!0);this.Ha=!0}function ic(a,b){a&1?(this.Vb[a]=b,this.Vb[a+1]=b>>8):this.kk[a>>1]=b;this.Ha=!0}function jc(a,b){this.mf.setInt32(a,b,!0);this.Ha=!0}function kc(a,b){a&3?(this.Vb[a]=b,this.Vb[a+1]=b>>8,this.Vb[a+2]=b>>16,this.Vb[a+3]=b>>24):this.ia[a>>2]=b;this.Ha=!0}
var Vb=[function(a){return this.ia[a>>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b]>>a;return 24>a?c&65535:c&255|(this.ia[b+1]&255)<<8},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b];a&&(c=c>>>a|this.ia[b+1]<<32-a);return c},function(a,b){var c=a>>2,d=(a&3)<<3;this.ia[c]=this.ia[c]&~(255<<d)|b<<d;this.Ha=!0},function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ia[c]=this.ia[c]&~(65535<<d)|b<<d:(this.ia[c]=this.ia[c]&16777215|b<<24,c++,this.ia[c]=this.ia[c]&4294967040|b>>8);
this.Ha=!0},function(a,b){var c=a>>2,d=(a&3)<<3;d?(this.ia[c]=this.ia[c]&~(4294967295<<d)|b<<d,c++,this.ia[c]=this.ia[c]&4294967295<<d|b>>>32-d):this.ia[c]=b;this.Ha=!0}];if(Ya)var Ub=[$b,bc,dc,fc,hc,jc],Sb=[ac,cc,ec,gc,ic,kc];
var Vb=[function(a){return this.ia[a>>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b]>>a;return 24>a?c&65535:c&255|(this.ia[b+1]&255)<<8},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b];a&&(c=c>>>a|this.ia[b+1]<<32-a);return c},function(a,b){var c=a>>2,d=(a&3)<<3;this.ia[c]=this.ia[c]&~(255<<d)|b<<d;this.Ha=!0},function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ia[c]=this.ia[c]&~(65535<<d)|b<<d:(this.ia[c]=this.ia[c]&16777215|b<<24,c++,this.ia[c]=this.ia[c]&-256|b>>8);this.Ha=
!0},function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<<d;this.ia[c]=this.ia[c]&~e|b<<d;c++;this.ia[c]=this.ia[c]&e|b>>>32-d}else this.ia[c]=b;this.Ha=!0}];if(Ya)var Ub=[$b,bc,dc,fc,hc,jc],Sb=[ac,cc,ec,gc,ic,kc];
Bb.prototype={constructor:Bb,parent:null,save:function(){var a,b;if(this.X)a=null;else if(Ya)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.mf.getInt32(b<<2,!0);else a=this.ia;return a},restore:function(a){if(this.X)return null==a;if(a&&this.size==a.length<<2){var b;if(Ya)for(b=0;b<a.length;b++)this.mf.setInt32(b<<2,a[b],!0);else this.ia=a;return this.Ha=!0}return!1},le:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.Cb=c[0]||Yb;this.em=c[1]||Yb;b&&(this.Oj=c[0]||Yb,this.op=c[1]||
Yb);c=a;this.Fb=!this.Fk&&c[3]||Zb;this.um=!this.Fk&&c[4]||Zb;b&&(this.Xj=c[3]||Zb,this.wp=c[4]||Zb)}};
function lc(a,b){n.call(this,"CPU",a,lc);var c=a.cycles||b,d=a.multiplier||1;this.S={};this.S.jd=c;this.S.be=d;this.S.sh=Math.round(this.S.jd/1E4)/100;this.S.Ke=this.S.sh*this.S.be;this.ea.Hb=!1;this.ea.Ik=!1;this.ea.ti=a.autoStart;this.ea.Bk=!1;c=Ha.autostart;void 0!==c&&(this.ea.ti="true"==c?!0:"false"==c?!1:null);this.ea.gh=!1;this.S.wh=this.S.yf=0;this.S.xh=a.csStart;this.S.cg=a.csInterval;this.S.dg=a.csStop;var e=this;this.ro=function(){mc(e)};p(this)}Ma(n,lc);k=lc.prototype;
@ -65,7 +65,7 @@ function Lc(a,b,c,d){for(var e=a.U,f=e.ja(b+0),g=e.ja(b+4),h=g&7936,r=e.ja(b+2)|
r&65535;if(U<=ba){d=a.Va;if(a.load(b,!0)==q){r=q;break}e.Qj=f;if(a.Va<d){if(!0!==B){r=q;break}H=w(e);f=0;for(g&=31;g--;)a.lk[f++]=bd(e,e.sa,H),H+=2;g=e.gb.ua;d=(a.Va<<2)+2;B=d+2;b=e.sa.ta;I=w(e);$c(e,e.ja(g+B),!0);y(e,e.ja(g+d));z(e,b);for(z(e,I);f;)z(e,a.lk[--f]);a.mh=!0}e.za&=L;return a.ua}d||Mc.call(e,13,I,!0);r=q;break}else if(!1!==H){d||Mc.call(e,13,c,!0);r=q;break}}else if(2==a.id){if(B&&(4096>h||2048==(h&2560))){d||Mc.call(e,13,c,!!g);r=q;break}}else if(3==a.id){if(!B||4096>h||2048==(h&2560)){d||
Mc.call(e,13,c,!0);r=q;break}}else if(4==a.id){if(!B||256!=h&&768!=h){d||Mc.call(e,10,c,!0);r=q;break}}else if(6==a.id&&!(g&4096)&&768<h){r=q;break}a.ta=c;a.ua=r;a.$b=f;a.hb=g;a.type=h;a.si=t;a.Ld=b;Ic(a);break}return r}Gc.prototype.save=function(){return[this.ta,this.ua,this.$b,this.hb,this.id,this.Nh,this.Va,this.pc,this.Ld]};
Gc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ta=a[0],this.ua=a[1],this.$b=a[2],this.hb=a[3],this.id=a[4],this.Nh=a[5],this.Va=a[6],this.pc=a[7],this.Ld=a[8])};
function Ic(a,b){void 0===b&&(b=!!(a.U.lc&1));a.zi=!1;if(b){a.load=Kc;a.Tk=Oc;a.Fc=Rc;a.hc=Uc;if(a.hb&4096){6144==(a.hb&6656)&&(a.hc=Sc);if(a.hb&2048||!(a.hb&512))a.hc=Vc;1024==(a.hb&3072)&&(a.Fc==Rc&&(a.Fc=Tc),a.hc==Uc&&(a.hc=Wc),a.zi=!0)}a.Va=a.ta&3;a.pc=(a.hb&24576)>>13;80386>a.U.Ba||!(a.si&64)?(a.yc=2,a.fa=65535):(a.yc=4,a.fa=4294967295)}else a.load=Jc,a.Tk=Nc,a.Fc=Pc,a.hc=Qc,a.$b=65535,a.Va=a.pc=0,a.Ld=q,a.yc=2,a.fa=65535;a.Mg=a.yc;a.ha=a.fa}
function Ic(a,b){void 0===b&&(b=!!(a.U.lc&1));a.zi=!1;if(b){a.load=Kc;a.Tk=Oc;a.Fc=Rc;a.hc=Uc;if(a.hb&4096){6144==(a.hb&6656)&&(a.hc=Sc);if(a.hb&2048||!(a.hb&512))a.hc=Vc;1024==(a.hb&3072)&&(a.Fc==Rc&&(a.Fc=Tc),a.hc==Uc&&(a.hc=Wc),a.zi=!0)}a.Va=a.ta&3;a.pc=(a.hb&24576)>>13;80386>a.U.Ba||!(a.si&64)?(a.yc=2,a.fa=65535):(a.yc=4,a.fa=-1)}else a.load=Jc,a.Tk=Nc,a.Fc=Pc,a.hc=Qc,a.$b=65535,a.Va=a.pc=0,a.Ld=q,a.yc=2,a.fa=65535;a.Mg=a.yc;a.ha=a.fa}
function cd(a){this.Ba=a.model||8088;var b=0;switch(this.Ba){default:case 8088:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}lc.call(this,a,b);this.ck=61442;this.Dg=Dc;this.Cg=4;this.Bf=255;this.B=80286<=this.Ba?dd:ed;this.Qa=hd.slice();this.Bm=id.slice();this.Cm=jd.slice();this.fk=kd;80186<=this.Ba&&(this.Bf=31,this.Qa[15]=ld,this.Qa[96]=md,this.Qa[97]=nd,this.Qa[98]=od,this.Qa[99]=ld,this.Qa[100]=ld,this.Qa[101]=ld,this.Qa[102]=ld,this.Qa[103]=ld,this.Qa[104]=pd,this.Qa[105]=qd,this.Qa[106]=
rd,this.Qa[107]=sd,this.Qa[108]=td,this.Qa[109]=ud,this.Qa[110]=vd,this.Qa[111]=wd,this.Qa[192]=xd,this.Qa[193]=yd,this.Qa[200]=zd,this.Qa[201]=Ad,this.Qa[241]=Bd,this.Bm[7]=Cd,this.Cm[7]=Cd,80286<=this.Ba&&(this.ck=2,this.Dg|=28672,this.Cg=0,this.Qa[15]=Dd,this.Qa[99]=Ed,this.Qa[84]=Fd));this.Fg=[];this.ek=[];this.hd=this.Xg=0;this.ea.Xf=this.ea.Um=!1;this.sk=0;this.ra=[];this.tb=this.jb=this.Oa=this.td=0;Gd(this)}Ma(lc,cd);
var ed={Jj:4,R:5,oa:6,Y:7,Z:8,M:9,N:11,O:12,Me:4,al:60,bl:83,Qb:3,qb:9,ic:16,Bh:1,fl:19,hl:28,jl:16,il:21,gl:37,dl:2,cj:9,el:5,cl:33,ej:10,dj:8,ng:3,mg:15,xl:51,yl:1,zl:2,Al:4,wl:32,fj:15,Cl:15,Rb:16,Sb:4,El:11,Dl:18,Bl:24,Ab:4,Fl:2,gj:16,Gl:17,lj:18,Hl:19,kj:5,mj:6,Ml:2,Ll:8,Jl:9,Kl:10,Il:10,nj:10,oj:10,ll:80,nl:144,kl:86,ml:154,pl:101,rl:165,ol:107,ql:171,Ol:70,Ql:113,Nl:76,Pl:124,tl:80,vl:128,sl:86,ul:134,pg:3,og:16,tj:10,sj:8,Rl:51,jc:8,Sl:17,Tl:36,rc:11,Ul:16,qg:10,ee:2,$i:18,aj:7,bj:15,hj:12,
@ -397,8 +397,8 @@ Df,Ef,Ff,Gf,Hf,function(){this.Qc[this.W()].call(this,Oe,this.K);this.A-=0>this.
Xe)},function(){this.sb[this.W()].call(this,Xe)},function(){var a=this.W();switch((a&56)>>3){case 0:this.Db=this.Na.ta;break;case 1:this.Db=this.na.ta;break;case 2:this.Db=this.sa.ta;break;case 3:this.Db=this.eb.ta;break;default:S.call(this);return}this.Q|=1;this.Bc[a].call(this,Ye)},function(){this.Q|=1;this.fb=this.Nc=this.pm;this.sb[this.W()].call(this,df)},function(){var a,b=this.W(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286<=this.Ba){ld.call(this);
return}switch(c){case 1:a=this.I;break;case 4:a=w(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.sb[b].call(this,Xe);switch(c){case 0:Td(this,this.G);this.G=a;break;case 1:Rd(this,this.I);this.I=a;break;case 2:$c(this,this.J);this.J=a;break;case 3:Sd(this,this.C);this.C=a;break;case 4:Td(this,w(this));y(this,a);break;case 5:Rd(this,this.H);this.H=a;break;case 6:$c(this,this.F);this.F=a;break;case 7:Sd(this,this.D),this.D=a}},function(){this.Q|=1;this.Qc[this.W()].call(this,
Pe,this.Ea)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=w(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=2==this.yc?this.G&-65536|this.G<<24>>24&
65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.yc?this.J&-65536|(this.G&32768?65535:0):this.G&2147483648?4294967295:0;this.A-=this.B.el},function(){We.call(this,this.K(),this.K());this.A-=this.B.hl},function(){this.cc("WAIT not implemented",1);this.A--},function(){z(this,pb(this));this.A-=this.B.rc},function(){Yc(this,this.Ea());this.A-=this.B.jc},function(){var a=this.G>>8;a&yb?de(this):$d(this);a&xb?Vd(this)||(this.V^=1):Vd(this)&&(this.V^=1);a&wb?ee(this):ae(this);a&vb?fe(this):be(this);
a&ub?ge(this):Yd(this)&&(this.V^=this.T>>1|this.T>>2,this.da^=32896);this.A-=this.B.Ab},function(){this.G=this.G&255|(pb(this)&Fc)<<8;this.A-=this.B.Ab},function(){var a=this.G&-256,b;b=this.K();b=this.qc(this.fb.Fc(b,0));this.G=a|b;this.A-=this.B.nj},function(){this.G=this.G&~this.fa|bd(this,this.fb,this.K());this.A-=this.B.nj},function(){var a=this.K(),b=this.G;this.Se(this.fb.hc(a,0),b);this.A-=this.B.oj},function(){var a=this.K(),b=this.G;this.Ga(this.fb.hc(a,1),b);this.A-=this.B.oj},function(){var a=
65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.yc?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.el},function(){We.call(this,this.K(),this.K());this.A-=this.B.hl},function(){this.cc("WAIT not implemented",1);this.A--},function(){z(this,pb(this));this.A-=this.B.rc},function(){Yc(this,this.Ea());this.A-=this.B.jc},function(){var a=this.G>>8;a&yb?de(this):$d(this);a&xb?Vd(this)||(this.V^=1):Vd(this)&&(this.V^=1);a&wb?ee(this):ae(this);a&vb?fe(this):be(this);a&
ub?ge(this):Yd(this)&&(this.V^=this.T>>1|this.T>>2,this.da^=32896);this.A-=this.B.Ab},function(){this.G=this.G&255|(pb(this)&Fc)<<8;this.A-=this.B.Ab},function(){var a=this.G&-256,b;b=this.K();b=this.qc(this.fb.Fc(b,0));this.G=a|b;this.A-=this.B.nj},function(){this.G=this.G&~this.fa|bd(this,this.fb,this.K());this.A-=this.B.nj},function(){var a=this.K(),b=this.G;this.Se(this.fb.hc(a,0),b);this.A-=this.B.oj},function(){var a=this.K(),b=this.G;this.Ga(this.fb.hc(a,1),b);this.A-=this.B.oj},function(){var a=
1,b=0,c=this.B.pj;this.xa&192&&(a=this.I,b=1,c=this.B.rj,this.xa&256||(this.A-=this.B.qj));if(a--){var d=this.za&rb?-1:1,e=this.qc(this.fb.Fc(this.F,0));this.Se(this.Na.hc(this.D&this.ha,0),e);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.pj;this.xa&192&&(a=this.I,b=1,c=this.B.rj,this.xa&256||(this.A-=this.B.qj));if(a--){var d=this.za&rb?-2:2,e=bd(this,this.fb,this.F);this.Ga(this.Na.hc(this.D&
this.ha,1),e);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.$i;this.xa&192&&(a=this.I,b=1,c=this.B.bj,this.xa&256||(this.A-=this.B.aj));if(a--){var d=this.za&rb?-1:1,e=ie(this,this.fb,this.F&this.ha),f=me(this,this.Na,this.D&this.ha);ye.call(this,e,f);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&
64)&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.$i;this.xa&192&&(a=this.I,b=1,c=this.B.bj,this.xa&256||(this.A-=this.B.aj));if(a--){var d=this.za&rb?-2:2,e=je(this,this.fb,this.F&this.ha),f=ne(this,this.Na,this.D&this.ha);Ge.call(this,e,f);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){this.P=this.V=this.da=this.G&this.W();this.T=256;this.A-=this.B.Me},
@ -509,7 +509,7 @@ this.lb=b[19];this.Dh=b[20];this.ge=b[21];this.Ne=b[22];this.Qi=b[23];this.Ri=b[
function Qh(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8&255);this.Fb(a+2,b>>16&255);this.Fb(a+3,b>>>24)}var Rh=[,,function(a){a+=this.offset;return(this.X.yb=this.ia[a])>>this.X.Ij&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ia[b]>>8:this.ia[b])&255}];Rh[16]=function(a){a+=this.offset;a=this.ia[a];for(var b=this.X.Qi&this.X.Ri,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};
Rh[512]=function(a,b){var c=a+this.offset,d;d=this.ia[c]&~this.X.bb|(b|b<<8|b<<16|b<<24)&this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Rh[1024]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Rh[1536]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d&=this.X.yb;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Rh[2560]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d|=this.X.yb;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Rh[3584]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d^=this.X.yb;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Rh[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.X.bb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.ia[d]&~c;c=c&this.X.lb|this.X.yb&~this.X.lb;this.ia[d]!=c&&(this.ia[d]=c,this.Ha=!0)};
Rh[3584]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d^=this.X.yb;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Rh[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.X.bb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.ia[d]&~c;c=c&this.X.lb|this.X.yb&~this.X.lb;this.ia[d]!=c&&(this.ia[d]=c,this.Ha=!0)};
Rh[4096]=function(a){a+=this.offset;var b=this.ia[a]&~this.X.bb|this.X.yb&this.X.bb;this.ia[a]!=b&&(this.ia[a]=b,this.Ha=!0)};Rh[8192]=function(a,b){var c=a+this.offset,d=Hh[b&15],d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Rh[24576]=function(a,b){var c=a+this.offset,d=Hh[b&15],d=d&this.X.yb,d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Rh[40960]=function(a,b){var c=a+this.offset,d=Hh[b&15],d=d|this.X.yb,d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Rh[57344]=function(a,b){var c=a+this.offset,d=Hh[b&15],d=d^this.X.yb,d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
function Sh(a){var b=[];if(void 0!==a.qh){b[0]=a.Xc;b[1]=a.Ac;b[2]=a.Tf;b[3]=a.Bg;b[4]=a.Ic|a.ph<<8;b[5]=a.mc;if(5==a.qh){var c=[];c[0]=a.Wd;c[1]=a.Ie;c[2]=a.pe;c[3]=a.Wj;c[4]=a.th;c[5]=a.Fi;c[6]=a.wf;c[7]=a.Ig;c[8]=a.Hi;c[9]=a.Ii;c[10]=a.vf;c[11]=a.$e;c[12]=a.yb;c[13]=[a.Sa,a.Jb,a.Uc];var d;a:if(d=a.se){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var r=d[h],t=h+2;t<d.length&&d[t]===r;)t+=2;f[e++]=t-h>>1;f[e++]=r;h=t}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
@ -541,10 +541,10 @@ e.fillStyle=h.Ze[d],e.fillRect(b,c+f,h.nc,g)):(a.Ud&&a.Ud!==a.xd&&(f=Math.floor(
function tc(a,b){if(a.ea.Zb){var c=!1;a.Da&&(a.Da===a.ga?a.ga.Ie&32&&(c=!0):a.Da.Ac&8&&(c=!0));if(c||b){if(b)li(a,!0);else if(void 0===a.fc)return;var d=!1;!(b||++a.Fm&15)&&0<=a.ye&&(a.ye++,d=!0);var e=0,f=a.Xk,c=a.Da.Sa,g=c+a.Da.Jb,h=(a.Da.mc[12]<<8)+a.Da.mc[13];a.Pb&&(h<<=1);var c=c+h,r=a.ii;c+r>g&&(r=g-c,0>r&&(r=0));g=c+r;if(h=!b){for(var h=a.ka,t=!0,B=c>>h.jb;0<r&&B<h.ra.length;)h.ra[B].Ha&&(h.ra[B].Ha=t=!1,h.ra[B].Ak=!0),r-=h.Xb,B++;h=t}if(h){if(!d)return;if(!a.xe){if(0>a.Jc)return;e=a.Jc;f=
e+1}}if(a.Pb){if(a.Kd[a.Pb]){d=0;h=a.xe=0;r=1048575;a.Da.Ac&32&&(h=32768,r&=~h,a.ye&2||(r&=-65537));for(c+=e<<1;c<g&&e<f;)t=Gb(a.ka,c),t|=65536,t&h&&(a.xe++,t&=r),e==a.Jc&&(t|=a.ye&1?131072:0),B=a.fc[e],B!=t&&(ji(a,e%a.zb,Math.floor(e/a.zb),t,a.kf),a.fc[e]=t,d++),c+=2,e++;d&&a.kf&&a.Wc.drawImage(a.hf,0,0,a.Vf,a.Wf,a.Zj,a.$j,a.oi,a.pi);hi(a)}}else if(a.uk){for(var f=g,I,H,e=c,g=a.xe=0,d=a.Pi,h=16==d?65536:196608,r=16==d?1:2,t=di(a,r),L=B=0,U=a.zb,ba=0,fa=a.sc,Ca=0;e<f;){I=Gb(a.ka,e);H=a.fc[g];if(H===
I)B+=d;else{a.fc[g]=I;I=I>>8|(I&255)<<8;H=h;var Na=16;B<U&&(U=B);for(var lb=0;lb<d;lb++){var oc=(I&(H>>=r))>>(Na-=r);gi(a.rh,B++,L,t[oc])}B>ba&&(ba=B);L<fa&&(fa=L);L>=Ca&&(Ca=L+1)}e+=2;g++;if(B>=a.zb){B=0;L+=2;if(L>a.sc)break;L==a.sc&&(L=1,e=c+a.uk)}}U<a.zb&&(a.kf.putImageData(a.rh,0,0,U,fa,ba-U,Ca-fa),a.Wc.drawImage(a.hf,0,0,a.zb,a.sc,0,0,a.vd,a.Vd))}else{f=g;e=a.xe=0;g=di(a);d=a.Da.se;r=h=0;t=a.zb;B=0;L=a.sc;for(U=0;c<f;){ba=c++-a.Sa;ba=d[ba];fa=a.fc[e];if(fa===ba)h+=8;else{a.fc[e]=ba;h<t&&(t=h);
for(fa=0;8>fa;fa++)Ca=Ih[ba&2155905152]||0,gi(a.rh,h++,r,g[Ca]),ba<<=1;h>B&&(B=h);r<L&&(L=r);r>=U&&(U=r+1)}e++;if(h>=a.zb&&(h=0,++r>a.sc))break}t<a.zb&&(a.kf.putImageData(a.rh,0,0,t,L,B-t,U-L),a.Wc.drawImage(a.hf,0,0,a.zb,a.sc,0,0,a.vd,a.Vd))}}}}k.Kn=function(){return this.Tc.Ic};k.Xo=function(a,b){var c=this.Tc;c.ph=c.Ic;c.Ic=b&31};k.Jn=function(){return mi(this.Tc)};k.Wo=function(a,b){ni(this,this.Tc,b)};k.Ln=function(){return this.Tc.Ac};k.Yo=function(a,b){this.Tc.Ac=b;bi(this,!1)};
for(fa=0;8>fa;fa++)Ca=Ih[ba&-2139062144]||0,gi(a.rh,h++,r,g[Ca]),ba<<=1;h>B&&(B=h);r<L&&(L=r);r>=U&&(U=r+1)}e++;if(h>=a.zb&&(h=0,++r>a.sc))break}t<a.zb&&(a.kf.putImageData(a.rh,0,0,t,L,B-t,U-L),a.Wc.drawImage(a.hf,0,0,a.zb,a.sc,0,0,a.vd,a.Vd))}}}}k.Kn=function(){return this.Tc.Ic};k.Xo=function(a,b){var c=this.Tc;c.ph=c.Ic;c.Ic=b&31};k.Jn=function(){return mi(this.Tc)};k.Wo=function(a,b){ni(this,this.Tc,b)};k.Ln=function(){return this.Tc.Ac};k.Yo=function(a,b){this.Tc.Ac=b;bi(this,!1)};
k.Mn=function(){return oi(this,this.Tc)};k.cm=function(a,b){this.ga.Fi=this.ga.Fi&-4|b&3};k.Sk=function(){var a=this.ga.Wd?this.ga.pe[this.ga.Ie&31]:this.ga.Ie;this.ga.Wd=!this.ga.Wd;return a};k.bm=function(a,b){var c=this.ga.Ie&32;if(this.ga.Wd){var d=this.ga.Ie&31;if(16<=d||!c)this.ga.pe[d]=b;this.ga.Wd=!1}else this.ga.Ie=b,this.ga.Wd=!0,b&32&&!c&&$h(this)&&tc(this,!0)};k.Wn=function(){var a=3-((this.ga.th&12)>>2),a=this.ga.Wj&-17|(this.Og&1<<a)<<4-a;return this.ga.Wj=a};
k.$o=function(a,b){this.ga.th=b;Zh(this)};k.Vn=function(){return this.ga.wf};k.gp=function(a,b){this.ga.wf=b};k.Un=function(){return this.ga.Ig[this.ga.wf]};k.fp=function(a,b){this.ga.Ig[this.ga.wf]=b;2==this.ga.wf&&(this.ga.bb=Hh[b&15])};k.Cn=function(){return this.ga.Hi};k.Ro=function(a,b){this.ga.Hi=b};k.Dn=function(){return this.ga.Ii};k.So=function(a,b){this.ga.Ii=b};k.Bn=function(){return this.ga.vf};k.Qo=function(a,b){this.ga.vf=b};k.An=function(){return this.ga.$e[this.ga.vf]};
k.Po=function(a,b){this.ga.$e[this.ga.vf]=b;switch(this.ga.vf){case 0:this.ga.Dh=Hh[b&15];this.ga.Ne=this.ga.Dh&~this.ga.ge;break;case 1:this.ga.ge=~Hh[b&15];this.ga.Ne=this.ga.Dh&~this.ga.ge;break;case 2:this.ga.Qi=Hh[b&15]&2155905152;break;case 3:case 5:this.le(ki(this));break;case 4:this.ga.Ij=(b&3)<<3;break;case 6:bi(this,!1);break;case 7:this.ga.Ri=Hh[b&15^15]&2155905152;break;case 8:this.ga.lb=b|b<<8|b<<16|b<<24}};k.sn=function(){return this.gc.Ic};
k.Po=function(a,b){this.ga.$e[this.ga.vf]=b;switch(this.ga.vf){case 0:this.ga.Dh=Hh[b&15];this.ga.Ne=this.ga.Dh&~this.ga.ge;break;case 1:this.ga.ge=~Hh[b&15];this.ga.Ne=this.ga.Dh&~this.ga.ge;break;case 2:this.ga.Qi=Hh[b&15]&-2139062144;break;case 3:case 5:this.le(ki(this));break;case 4:this.ga.Ij=(b&3)<<3;break;case 6:bi(this,!1);break;case 7:this.ga.Ri=Hh[b&15^15]&-2139062144;break;case 8:this.ga.lb=b|b<<8|b<<16|b<<24}};k.sn=function(){return this.gc.Ic};
k.Go=function(a,b){var c=this.gc;c.ph=c.Ic;c.Ic=b&31};k.rn=function(){return mi(this.gc)};k.Fo=function(a,b){ni(this,this.gc,b)};k.tn=function(){return this.gc.Ac};k.Ho=function(a,b){this.gc.Ac=b;bi(this,!1)};k.qn=function(){return this.gc.Tf};k.Eo=function(a,b){this.gc.Tf!==b&&(this.gc.Tf=b,li(this,!1))};k.un=function(){return oi(this,this.gc)};function mi(a){var b;a.Ic<a.Oi&&(b=a.mc[a.Ic]);return b}function ni(a,b,c){b.Ic<b.Oi&&(b.mc[b.Ic]=c,9==b.Ic&&8!=b.ph&&bi(a,!0),ci(a))}
function oi(a,b){var c=0,d=zc(a.U),e=d-b.Zi;0>e&&(e=0);e%b.Si>b.jo&&(c|=1);e%=b.$k;e>b.lo&&(c|=8);b.Zi=d-e;b===a.ga?(c|=b.Bg&48^48,b.Wd=!1):c=(b.Bg^=9)|240;return b.Bg=c}
var Th={948:Y.prototype.Kn,949:Y.prototype.Jn,952:Y.prototype.Ln,954:Y.prototype.Mn,980:Y.prototype.sn,981:Y.prototype.rn,984:Y.prototype.tn,985:Y.prototype.qn,986:Y.prototype.un},Uh={948:Y.prototype.Xo,949:Y.prototype.Wo,952:Y.prototype.Yo,980:Y.prototype.Go,981:Y.prototype.Fo,984:Y.prototype.Ho,985:Y.prototype.Eo},Vh={960:Y.prototype.Sk,961:Y.prototype.Sk,962:Y.prototype.Wn,964:Y.prototype.Vn,965:Y.prototype.Un,970:Y.prototype.Dn,972:Y.prototype.Cn,974:Y.prototype.Bn,975:Y.prototype.An},Wh={954:Y.prototype.cm,
@ -568,11 +568,11 @@ function zi(a,b,c){n.call(this,"Disk",{id:a.Qk+".disk"+ ++Ai},zi);this.X=a;this.
k.ac=function(a,b){if(this.yd){var c,d=0;if(this.Ei&&!qa("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Bi(this,!1);)if(d=c[0]){this.X.va('Unable to save "'+this.nd+'" (error '+d+")");break}b&&this.yd&&(c="action=close&volume="+this.Qe,c+="&machine="+this.X.sf(),c+="&user="+this.X.Yd(),oa(pa()+"/api/v1/disk?"+c,!0),this.yd=!1);!d&&a&&this.X.va(this.nd+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.nb=b;this.ob=c;this.rb=d;this.ab=e;this.Ra=[];if("preload"!=this.mode){a=Array(this.nb);for(b=0;b<a.length;b++){c=Array(this.ob);for(d=0;d<c.length;d++){e=Array(this.rb);for(var f=1;f<=e.length;f++)e[f-1]=Ci(null,b,d,f,this.ab,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.Ra=a}this.nf=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.He)if(this.nd=a,this.Qe=b,this.He=d,this.Km=e||this.X,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ca[c];if(d){g.nb=d[0];g.ob=d[1];g.rb=d[2];g.ab=512;b=g.ab>>2;var e=d=0,a=new DataView(a,0,c);g.Ra=Array(g.nb);for(c=0;c<g.Ra.length;c++)for(var f=g.Ra[c]=Array(g.ob),U=0;U<f.length;U++)for(var ba=f[U]=Array(g.rb),fa=0;fa<ba.length;fa++){for(var Ca=Ci(null,c,U,fa+1,g.ab,0),Na=Ca.data,lb=0;lb<b;lb++,e+=4)var oc=Na[lb]=
a.getInt32(e,!0),d=d+oc&4294967295;Ca.vc=b;ba[fa]=Ca}g.nf=d;b=g}else g.va("Unrecognized diskette format ("+c+" bytes)");g.He&&(g.He.call(g.X,g.La,b,g.nd,g.Qe),g.He=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ia(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Di(this,b),this.kh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-
1)&&(c="dir"),f=pa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.qf?"":d)+"&format=json")),oa(f,!0,null,this,this.Om,b)};
a.getInt32(e,!0),d=d+oc&-1;Ca.vc=b;ba[fa]=Ca}g.nf=d;b=g}else g.va("Unrecognized diskette format ("+c+" bytes)");g.He&&(g.He.call(g.X,g.La,b,g.nd,g.Qe),g.He=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ia(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Di(this,b),this.kh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c=
"dir"),f=pa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.qf?"":d)+"&format=json")),oa(f,!0,null,this,this.Om,b)};
k.Om=function(a,b,c,d){var e=null;this.rf=!1;var f=0>c&&this.ya&&!this.ya.ea.Zb;if(this.kh)c?this.X.va('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.yd=!0,e=this);else if(c)this.X.va('Unable to load disk "'+this.nd+'" (error '+c+")",f);else try{if(0<ha(a,!0).toLowerCase().indexOf("-readonly"))this.rf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.rf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.nd]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)m(h[0]);else{this.nb=h.length;this.ob=h[0].length;this.rb=h[0][0].length;var r=h[0][0][0];this.ab=r&&r.length||512;for(b=a=0;b<this.nb;b++)for(c=0;c<this.ob;c++)for(d=0;d<this.rb;d++)if(r=h[b][c][d]){var t=r.length;void 0===t&&(t=r.length=512);var t=t>>2,B=r.pattern;void 0===B&&(B=r.pattern=0);var I=r.data;if(void 0===I){var H=r.bytes;if(void 0!==H&&H.length){for(var f=
t<<2,L=H.length;L<f;L++)H[L]=B;this.fill(r,H,0)}else I=[],B=r.pattern=B|B<<8|B<<16|B<<24,r.data=I;delete r.bytes}Ci(r,b,c);for(f=0;f<I.length;f++)a=a+I[f]&4294967295}this.Ra=h;this.nf=a;e=this}else m("Empty disk image: "+this.nd)}catch(U){m("Disk image error: "+U.message)}this.He&&(this.He.call(this.Km,this.La,e,this.nd,this.Qe),this.He=null)};function Ci(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.bn=b;a.dn=c;a.Yc=a.vc=0;a.Ha=!1;return a}
t<<2,L=H.length;L<f;L++)H[L]=B;this.fill(r,H,0)}else I=[],B=r.pattern=B|B<<8|B<<16|B<<24,r.data=I;delete r.bytes}Ci(r,b,c);for(f=0;f<I.length;f++)a=a+I[f]&-1}this.Ra=h;this.nf=a;e=this}else m("Empty disk image: "+this.nd)}catch(U){m("Disk image error: "+U.message)}this.He&&(this.He.call(this.Km,this.La,e,this.nd,this.Qe),this.He=null)};function Ci(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.bn=b;a.dn=c;a.Yc=a.vc=0;a.Ha=!1;return a}
function Di(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.nb+":"+a.ob+":"+a.rb+":"+a.ab;c+="&machine="+a.X.sf();c+="&user="+a.X.Yd();return pa()+"/api/v1/disk?"+c}function Ei(a,b,c,d,e,f,g){if(a.yd){var h;h="action=read&volume="+a.Qe;h+="&chs="+a.nb+":"+a.ob+":"+a.rb+":"+a.ab;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.X.sf());h+="&user="+a.X.Yd();oa(pa()+"/api/v1/disk?"+h,f,null,a,a.Rm,[b,c,d,e,f,g])}else g&&g(-1,!1)}
k.Rm=function(a,b,c,d){var e=!1;a=d[0];var f=d[1],g=d[2],h=d[3];if(!c){b=JSON.parse(b);for(e=0;h--;){var r=this.seek(a,f,g,!0);if(!r)break;this.fill(r,b,e);e+=r.length;g++}e=d[4]}(d=d[5])&&d(c,e)};k.Sm=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Ei=!1;if(0<=a&&a<this.Ra.length&&0<=b&&b<this.Ra[a].length)for(--e;0<f--&&0<=e&&e<this.Ra[a][b].length;e++){var g=this.Ra[a][b][e];c?Fi(this,g,!1):g.Ha||(g.Yc=g.vc=0)}d&&Gi(this)};
function Fi(a,b,c){b.Ha=!0;var d=a.qe.indexOf(b);0<=d&&(a.qe.splice(d,1),a.Eg.splice(d,1));a.qe.push(b);a.Eg.push(la());c&&Gi(a)}function Gi(a){if(a.qe.length){var b=a.Eg[0]+2E3;a.Fd&&a.Wk<b&&(clearTimeout(a.Fd),a.Fd=null);if(!a.Fd){var c=la(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Fd=setTimeout(function(){Bi(a,!0)},b);a.Wk=c+b}}else a.Fd&&(clearTimeout(a.Fd),a.Fd=null)}
@ -603,7 +603,7 @@ k.xk=function(a,b,c,d,e){var f;a.Hc=!1;b&&(f=b.info(),b&&f[0]>a.nb||f[1]>a.ob)&&
function Pi(a,b,c){if(a=a.ma.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 Li(a,b){if(0<=b&&b<a.wa.length){var c=a.wa[b],d=a.ma.listDisks,e=a.ma.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.of?"?":c.Re,!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 Qi(a,b,c,d){var e=a.wa[b];e.pa&&(Ri(a,e.Re,e.pa),e.mm="",e.Re="",e.pa=null,e.of=!1,a.ie|=128,d||a.va("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Li(a,b))}function Ti(a,b,c,d){var e;for(e=0;e<a.tc.length;e++)if(a.tc[e][1]==c){d.restore(a.tc[e][2]);return}a.tc[e]=[b,c,[]]}function Ri(a,b,c){var d;for(d=0;d<a.tc.length;d++)if(a.tc[d][1]==b){a.tc[d][2]=c.save();break}}k.Oo=function(a,b){b&4?this.Df&4||this.Df&8&&this.ca&&Pg(this.ca,6):this.zd();this.Df=b};k.zn=function(){return this.qa};
k.xn=function(){var a=0;this.ub<this.cb&&(a=this.ec[this.ub]);this.Df&8&&this.ca&&Qg(this.ca,6);++this.ub>=this.cb&&(this.qa&=-81,this.ub=this.cb=0);return a};
k.No=function(a,b){this.cb<this.ec.length&&(this.ec[this.cb++]=b);var c=this.ec[0]&31;if(void 0!==Ki[c]&&this.cb>=Ki[c].ud){var d=!1;this.ub=0;var c=this.Ia(),e,f,g,h,r,t=c&31;switch(t){case 3:this.Ia(l.dq);this.Ia(l.Kp);this.Nb();break;case 4:f=this.Ia(l.Ef);this.$a=f&3;e=this.wa[this.$a];this.Nb();this.dc((e.Wa&4278190080)>>>24,l.gq);break;case 5:case 6:f=this.Ia(l.Ef);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];e.Ka=d;f=e.pb=this.Ia(l.ak);g=this.Ia(l.bk);h=e.Ya=this.Ia(l.dk);r=this.Ia(l.Uh);e.mb=128<<
k.No=function(a,b){this.cb<this.ec.length&&(this.ec[this.cb++]=b);var c=this.ec[0]&31;if(void 0!==Ki[c]&&this.cb>=Ki[c].ud){var d=!1;this.ub=0;var c=this.Ia(),e,f,g,h,r,t=c&31;switch(t){case 3:this.Ia(l.dq);this.Ia(l.Kp);this.Nb();break;case 4:f=this.Ia(l.Ef);this.$a=f&3;e=this.wa[this.$a];this.Nb();this.dc((e.Wa&-16777216)>>>24,l.gq);break;case 5:case 6:f=this.Ia(l.Ef);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];e.Ka=d;f=e.pb=this.Ia(l.ak);g=this.Ia(l.bk);h=e.Ya=this.Ia(l.dk);r=this.Ia(l.Uh);e.mb=128<<
r;e.Od=this.Ia(l.Fp);this.Ia(l.ym);this.Ia(l.Ep);6==t?(t=e,t.Wa=72,t.pa&&(t.Ja=null,t.Wa=0,this.ca&&(Jg(this.ca,2,this,"dmaRead",t),Fg(this.ca,2)))):(t=e,t.Wa=72,t.pa&&(t.pa.rf?t.Wa=576:(t.Ja=null,t.Wa=0,this.ca&&(Jg(this.ca,2,this,"dmaWrite",t),Fg(this.ca,2)))));Ui(this,e,c,d,f,g,h,r);d=!0;break;case 7:f=this.Ia(l.Ef);this.$a=f&3;e=this.wa[this.$a];e.pb=e.Md=0;e.Wa=268435488;this.Nb();d=!0;break;case 8:e=this.wa[this.$a];e.Ka=0;this.Nb();this.dc(e.$a|e.Ka<<2|e.Wa&255,l.Am);this.dc(e.pb,l.Tp);this.$a=
this.$a+1&3;break;case 10:f=this.Ia(l.Ef);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=e.Ya=1;r=0;e.Wa=0;e.pa&&(e.Ja=e.pa.seek(e.pb,e.Ka,e.Ya))?r=e.Ja.length:e.Wa=72;Ui(this,e,c,d,f,g,h,r);d=!0;break;case 13:f=this.Ia(l.Ef);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=1;r=this.Ia(l.Uh);e.mb=128<<r;e.Od=this.Ia(l.Zp);this.Ia(l.ym);e.mk=this.Ia(l.xm);t=e;t.Wa=72;t.pa&&(t.Ja=null,t.Wa=0,this.ca&&(t.jf=0,t.Cc=Array(4),t.bi=!0,t.Yg=0,Jg(this.ca,2,this,"dmaFormat",t),Fg(this.ca,
2),t.bi=!1));Ui(this,e,c,d,f,g,h,r);d=!0;break;case 15:f=this.Ia(l.Ef),this.$a=f&3,e=this.wa[this.$a],e.Ka=f>>2&1,f=this.Ia(l.Qp),e.pb+=f-e.Md,0>e.pb&&(e.pb=0),e.pb>=e.nb&&(e.pb=e.nb-1),e.Md=f,e.Wa=32,e.pb||(e.Wa|=268435456),this.Nb(),d=!0}0<this.cb&&(this.qa|=80);this.Df&8&&(!e||e.Wa&8||!d||this.ca&&Pg(this.ca,6))}};k.yn=function(){var a=this.ie;this.ie&=-129;return a};k.Mo=function(a,b){this.fm=b};
@ -641,21 +641,21 @@ Pd.prototype={constructor:Pd,set:function(a,b){try{this[this.id][a]=b}catch(c){}
a:JSON.stringify(a)},clear:function(a){jj(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(f){}b.splice(c,1);c=0}},cc:function(){}};function jj(a,b){a[a.id]={};b&&a.set("parms",b);a.Ai=!1}
function kj(a){var b=!0;if(sa()){var c=JSON.stringify(a[a.id]);ua(a.key,c)||(m("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function lj(a,b,c){n.call(this,"Computer",a,lj);this.ea.Zb=!1;this.bg=a.buswidth;this.Lc=mj;this.zg=null;this.lh=!1;this.url=b?b.url:null;this.tp=(Math.random()+.1).toString(36).substr(2,12);this.Mc=nj(this);if(this.U=Ra("CPU",this.id)){this.Za=Ra("Debugger",this.id);this.ka=new Ab({id:this.Qk+".bus",buswidth:this.bg},this.U,this.Za);var d,e=Pa(this.id);if((this.Dd=Ra("Panel",this.id))&&this.Dd.mi)for(b=0;b<e.length;b++)d=e[b],d.va=this.Dd.va,d.kc=this.Dd.kc,d.mi=this.Dd.mi;for(b=0;b<e.length;b++)d=
e[b],d.zc&&d.zc(this,this.ka,this.U,this.Za);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Oh=d:this.Lc=parseInt(d,10));var f;if(a=Ha&&Ha.state||(f=!0,a.state))b=this.om=a,f||(this.lh=!0,this.Lc=mj),this.Lc&&(this.Sh=new Pd(this,"1.17.1"),this.Sh.load()?b=null:delete this.Sh);!b&&this.Lc&&(f=null,this.Mc&&(f=pa()+"/api/v1/user?req=load&user="+this.Mc+"&state="+ij(this,"1.17.1")),b=f)&&(this.lh=!0);b?oa(b,!0,null,this,this.qo):p(this);c||oj(this,this.Hh)}else m("Unable to find CPU component")}
e[b],d.zc&&d.zc(this,this.ka,this.U,this.Za);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Oh=d:this.Lc=parseInt(d,10));var f;if(a=Ha&&Ha.state||(f=!0,a.state))b=this.om=a,f||(this.lh=!0,this.Lc=mj),this.Lc&&(this.Sh=new Pd(this,"1.17.2"),this.Sh.load()?b=null:delete this.Sh);!b&&this.Lc&&(f=null,this.Mc&&(f=pa()+"/api/v1/user?req=load&user="+this.Mc+"&state="+ij(this,"1.17.2")),b=f)&&(this.lh=!0);b?oa(b,!0,null,this,this.qo):p(this);c||oj(this,this.Hh)}else m("Unable to find CPU component")}
Ma(n,lj);var mj=0;k=lj.prototype;k.sf=function(){return this.tp};k.Yd=function(){return this.Mc?this.Mc:""};k.qo=function(a,b,c){c?(this.Oh=null,this.lh=!1,this.va("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.zg=b;p(this)};function oj(a,b,c){for(var d=Pa(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Wa(f)){Wa(f,function(){oj(a,b,c)});return}}b.call(a,c)}
function pj(a,b){var c=new Pd(a,"1.17.1","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.va("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Hh=function(a){void 0===a&&(a=this.Lc||(this.zg?1:mj));var b=!1,c=!1;this.Gk=!1;var d=this.Sh||new Pd(this,"1.17.1");if(-1==a)b=!0;else if(a>mj){if(d.load(this.zg)){this.Te=new Pd(this,"1.17.1","failsafe");this.Te.load()&&(qj(this,d),a=2,jj(this.Te));this.Te.set("timestamp",ma());kj(this.Te);var e=this.Lc&&!this.lh;if(1==a||qa("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
function pj(a,b){var c=new Pd(a,"1.17.2","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.va("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Hh=function(a){void 0===a&&(a=this.Lc||(this.zg?1:mj));var b=!1,c=!1;this.Gk=!1;var d=this.Sh||new Pd(this,"1.17.2");if(-1==a)b=!0;else if(a>mj){if(d.load(this.zg)){this.Te=new Pd(this,"1.17.2","failsafe");this.Te.load()&&(qj(this,d),a=2,jj(this.Te));this.Te.set("timestamp",ma());kj(this.Te);var e=this.Lc&&!this.lh;if(1==a||qa("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
f&&"no machine state"!=g?(this.va("Error: "+g),"unable to verify user"==g&&(ua("user",""),this.Mc=null)):this.kc(f+": "+g),jj(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&pj(this,c?d:null)}else 2==a&&d.clear()}else pj(this);delete this.zg;delete this.Sh}e=Pa(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=rj(this,g,d,b,c));b=[d,a,c];-1!=a?oj(this,this.yk,b):this.yk(b)};
function rj(a,b,c,d,e){if(!b.ea.Zb){b.ea.Zb=!0;if(b.bc){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.bc(f,d)&&f&&(m("Unable to restore state for "+b.type),a.om&&!a.zg?(c.clear(),a.Lc=mj,window&&window.location.reload()):a.Gk=!0,b.bc(null),e=!1)}if(!d&&b.vk)for(a=b.vk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.yk=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea.Zb=!0;this.Ck||(this.kc("PCjs v1.17.1\nCopyright \u00a9 2012-2015 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Ck=!0);this.U&&(rj(this,this.U,b,c,a),rc(this.U));this.Gk&&(qj(this,b),b.clear());!c&&this.Te&&(this.Te.clear(),delete this.Te)};
function qj(a,b){if(qa("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Yd(),d=b.toString(),e={app:"PCjs",ver:"1.17.1"};e.url=a.url;e.user=c;e.type="bug";e.data=d;oa("http://www.pcjs.org/api/v1/report",!0,e)}}
function sj(a,b,c){var d,e="none",f=new Pd(a,"1.17.1"),g=new Pd(a,"1.17.1","validate"),h=ma();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.U&&a.U.ac&&(c&&sc(a.U),d=a.U.ac(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ea.Zb=!1,!1===d&&(e=null)));for(var h=Pa(a.id),r=0;r<h.length;r++){var t=h[r];t.ea.Zb&&(t.ac&&(d=t.ac(b,c),"object"===typeof d&&f.set(t.id,d)),c&&(t.ea.Zb=
k.yk=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea.Zb=!0;this.Ck||(this.kc("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Ck=!0);this.U&&(rj(this,this.U,b,c,a),rc(this.U));this.Gk&&(qj(this,b),b.clear());!c&&this.Te&&(this.Te.clear(),delete this.Te)};
function qj(a,b){if(qa("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Yd(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;oa("http://www.pcjs.org/api/v1/report",!0,e)}}
function sj(a,b,c){var d,e="none",f=new Pd(a,"1.17.2"),g=new Pd(a,"1.17.2","validate"),h=ma();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.U&&a.U.ac&&(c&&sc(a.U),d=a.U.ac(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ea.Zb=!1,!1===d&&(e=null)));for(var h=Pa(a.id),r=0;r<h.length;r++){var t=h[r];t.ea.Zb&&(t.ac&&(d=t.ac(b,c),"object"===typeof d&&f.set(t.id,d)),c&&(t.ea.Zb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Mc&&tj(a,a.Mc,f.toString()),kj(g)&&kj(f)||(e=null,d=h=!0)):a.Lc&&(d=!0,h=3==a.Lc),d&&f.clear(h)):e=f.toString());c&&(a.ea.Zb=!1);return e}k.reset=function(){this.ka&&this.ka.reset&&(this.cc("Resetting "+this.ka.type),this.ka.reset());for(var a=Pa(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(this.cc("Resetting "+c.type),c.reset())}};
k.start=function(a,b){for(var c=Pa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Pa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.Eb=function(a,b,c){var d=this;switch(b){case "save":return this.ma[b]=c,c.onclick=function(){var a=nj(d,!0);if(a){var b=!(!d.Lc||d.Oh),c=sj(d,b);b?tj(d,a,c):d.va("Resume disabled, machine state not saved")}},!0;case "reset":return this.ma[b]=c,c.onclick=function(){uc(d)},!0}return!1};
function nj(a,b){var c=a.Mc;c||(c=ta("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=uj(a,c))||a.va("Your user ID has not been approved."))):b&&a.va("Browser local storage is not available"));return c}
function uj(a,b){a.Mc=null;var c=oa(pa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ua("user",c.data),a.Mc=c.data)}catch(e){m(e.message+" ("+d+")")}return a.Mc}
function tj(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ij(a,"1.17.1");d.data=c;b=oa(pa()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.va("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.va(c),ua("user",""),a.Mc=null)}}
function tj(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ij(a,"1.17.2");d.data=c;b=oa(pa()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.va("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.va(c),ua("user",""),a.Mc=null)}}
function uc(a){if(a.Lc&&!a.Oh){var b=qa("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");sj(a,b,!0);!b&&a.om?window&&window.location.reload():(b||(a.Bi=!0),a.Hh(mj),a.Bi=!1)}else a.reset(),a.U&&rc(a.U)}function cb(a,b,c){a=Pa(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}
Aa(function(){for(var a=Ua(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Sa(c),c=Ua(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=Sa(f),g=new lj(g,d,!0);Ta(g,f);oj(g,g.Hh)}});wa.show.push(function(){for(var a=Ua(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Sa(a[b]);(c=Ra("Computer",c.id))&&c.Ck&&!c.ea.Zb&&c.Hh(-1)}});
wa.exit.push(function(){for(var a=Ua(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Sa(a[b]);(c=Ra("Computer",c.id))&&c.ea.Zb&&sj(c,!(!c.Lc||c.Oh),!0)}});var vj=0;function wj(a,b,c,d,e,f){e("Loading "+a+"...");oa(a,!0,null,null,function(g,h,r){r?(h||(h="unable to load "+a+" ("+r+")"),f(h,null)):xj(h,a,b,c,d,e,f)})}
@ -663,6 +663,6 @@ function xj(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){var h=b;h&&
null,a=I.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?yj(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function yj(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");oa(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var r=h[0],t,B=/( [a-z]+=)(['"])(.*?)\2/g;t=B.exec(f);)r=0>r.indexOf(t[1])?r.replace(">",t[0]+">"):r.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);h[0]!=r&&(g=g.replace(h[0],r))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);yj(a,b,c)}})}else c(a,null)}
function zj(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ua(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ka(a))}function f(a){e("Error: "+a);r&&(--vj||Da(!0));r=!1}var g,h,r=!0;vj++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.1/components.xsl");var t=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--vj||Da(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
function zj(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ua(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ka(a))}function f(a){e("Error: "+a);r&&(--vj||Da(!0));r=!1}var g,h,r=!0;vj++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var t=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--vj||Da(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--vj||Da(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?wj(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?wj(b,a,d,!0,e,t):xj(b,null,a,d,!1,e,t)}else f("missing machine element: "+
a)}catch(B){f(B.message)}return r}window.embedPC=function(a,b,c,d){Da(!1);return zj(a,b,c,d)};window.enableEvents=Da;window.sendEvent=Ea;})();