From 34ddef07097d86df148232f0b8c0da2e6100c58b Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Fri, 29 Apr 2016 18:07:44 -0700 Subject: [PATCH] Fixed PC8080 Debugger compilation error --- modules/pc8080/lib/debugger.js | 2 +- versions/pc8080/1.21.7/pc8080-dbg.js | 128 +++++++++++++-------------- versions/pc8080/1.21.7/pc8080.js | 106 +++++++++++----------- 3 files changed, 118 insertions(+), 118 deletions(-) diff --git a/modules/pc8080/lib/debugger.js b/modules/pc8080/lib/debugger.js index 0a9e770ae..7ad65cd78 100644 --- a/modules/pc8080/lib/debugger.js +++ b/modules/pc8080/lib/debugger.js @@ -56,7 +56,7 @@ if (DEBUGGER) { * aCmds preprocessed commands (from sCmd) * * @typedef {{ - * addr:(number), + * addr:(number|undefined), * fTemporary:(boolean|undefined), * sCmd:(string|undefined), * aCmds:(Array.|undefined) diff --git a/versions/pc8080/1.21.7/pc8080-dbg.js b/versions/pc8080/1.21.7/pc8080-dbg.js index 43abb66dd..d3c132857 100644 --- a/versions/pc8080/1.21.7/pc8080-dbg.js +++ b/versions/pc8080/1.21.7/pc8080-dbg.js @@ -9,77 +9,77 @@ function oa(){return window?window.navigator.userAgent:""}function t(a){window&& function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=oa();return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Aa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0=this.U?10:20>=this.U?12:24>=this.U?14:15;this.ma=1<>2;this.F=this.ma-1;this.K=this.Y/this.ma|0;this.W=this.K-1;this.u=[];this.A=[];this.I=this.J=!1;this.ba=[];this.fa=[];a=new C;sb(a,this.C);this.D=Array(this.K);for(b=0;b=this.U?10:20>=this.U?12:24>=this.U?14:15;this.ma=1<>2;this.F=this.ma-1;this.K=this.Y/this.ma|0;this.W=this.K-1;this.u=[];this.A=[];this.I=this.J=!1;this.ba=[];this.ea=[];a=new C;sb(a,this.C);this.D=Array(this.K);for(b=0;b>>a.Z;0c&&(g=c);if(f&&f.size){if(f.type==d){if(b+c<=f.B)return f.kb+=f.B-b,f.B=b,!0;if(b>=f.B+f.kb){g=f.size-(b-h);g>c&&(g=c);f.kb=b-f.B+g;b=h+a.ma;c-=g;e++;continue}}return ub(1,b,c)}b=new C(b,g,a.ma,d);sb(b,a.C,f);a.D[e++]=b;b=h+a.ma;c-=g}return 0>=c?!0:ub(2,b,c)} rb.prototype.V=function(a){return this.D[(a&this.H)>>>this.Z].Ka(a&this.F,a)};function vb(a,b){return a.D[(b&a.H)>>>a.Z].ib(b&a.F,b)}function wb(a,b,c){a.D[(b&a.H)>>>a.Z].lb(b&a.F,c&255,b)}function Fb(a,b){if(void 0===b)return a.I=!a.I,a.I;void 0===a.u[b]&&(a.u[b]=[null,!1]);a.u[b][1]=!a.u[b][1];return a.u[b][1]} function Gb(a,b){for(var c=1,d=0,e=0;0>>=e)&g;if(void 0!==f){if(f[0])f[0](b,g,void 0);a.C&&a.J!=f[1]&&Kb(a.C,b,g)}else a.C&&(gb(a.C,a,b,g,void 0),a.J&&Kb(a.C,b,g));e+=h<<3;b+=h;d-=h}}function ub(a,b,c){t("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Lb;if(mb){var Mb=new ArrayBuffer(2);(new DataView(Mb)).setUint16(0,256,!0);Lb=256===(new Uint16Array(Mb))[0]}else Lb=!1;var Nb=Lb; +function Jb(a,b,c){for(var d=1,e=0;0>>=e)&g;if(void 0!==f){if(f[0])f[0](b,g,void 0);a.C&&a.J!=f[1]&&Kb(a.C,b,g)}else a.C&&(gb(a.C,a,b,g,void 0),a.J&&Kb(a.C,b,g));e+=h<<3;b+=h;d-=h}}function ub(a,b,c){t("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Lb;if(mb){var Mb=new ArrayBuffer(2);(new DataView(Mb)).setUint16(0,256,!0);Lb=256===(new Uint16Array(Mb))[0]}else Lb=!1;var Nb=Lb; function C(a,b,c,d){this.id=Ob+=2;this.b=null;this.B=a;this.kb=b;this.size=c||0;this.type=d||Pb;this.u=d==Qb;sb(this);this.Aa=this.Yb=!1;if(c)if(mb)this.H=new ArrayBuffer(c),this.I=new DataView(this.H,0,c),this.D=new Uint8Array(this.H,0,c),this.K=new Uint16Array(this.H,0,c>>1),this.b=new Int32Array(this.H,0,c>>2),Rb(this,Nb?Sb:Tb);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},fa:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ta:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Da:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.Aa=!0},aa:function(a,b){if(this.C&&null!=this.B){var c=this.C;Zb(c,this.B+a,1,c.ba)&&c.ea(!0)}return this.ib(a,b)},ka:function(a,b){if(this.C&&null!=this.B){var c=this.C;Zb(c,this.B+a,2,c.ba)&&c.ea(!0)}return this.yb(a,b)},za:function(a,b,c){if(this.C&&null!=this.B){var d=this.C;Zb(d,this.B+a,1,d.I)&&d.ea(!0)}this.u?this.F(a,b,c):this.lb(a,b,c)},Ma:function(a, -b,c){if(this.C&&null!=this.B){var d=this.C;Zb(d,this.B+a,2,d.I)&&d.ea(!0)}this.u?this.F(a,b,c):this.zb(a,b,c)},Y:function(a){return this.D[a]},ba:function(a){return this.D[a]},ja:function(a){return this.I.getUint16(a,!0)},sa:function(a){return a&1?this.D[a]|this.D[a+1]<<8:this.K[a>>1]},ua:function(a,b){this.D[a]=b;this.Aa=!0},Ca:function(a,b){this.D[a]=b;this.Aa=!0},Ea:function(a,b){this.I.setUint16(a,b,!0);this.Aa=!0},$a:function(a,b){a&1?(this.D[a]=b,this.D[a+1]=b>>8):this.K[a>>1]=b;this.Aa=!0}}; +return 255},F:function(a,b){this.C&&hb(this.C,129)&&this.C.message("attempt to write "+r(b)+" to invalid block %"+q(this.B),!0)},W:function(a,b){return this.Ka(a++,b++)|this.Ka(a,b)<<8},J:function(a,b,c){this.Za(a++,b&255,c++);this.Za(a,b>>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ta:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Da:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.Aa=!0},aa:function(a,b){if(this.C&&null!=this.B){var c=this.C;Zb(c,this.B+a,1,c.ba)&&c.da(!0)}return this.ib(a,b)},ka:function(a,b){if(this.C&&null!=this.B){var c=this.C;Zb(c,this.B+a,2,c.ba)&&c.da(!0)}return this.yb(a,b)},za:function(a,b,c){if(this.C&&null!=this.B){var d=this.C;Zb(d,this.B+a,1,d.I)&&d.da(!0)}this.u?this.F(a,b,c):this.lb(a,b,c)},Ma:function(a, +b,c){if(this.C&&null!=this.B){var d=this.C;Zb(d,this.B+a,2,d.I)&&d.da(!0)}this.u?this.F(a,b,c):this.zb(a,b,c)},Y:function(a){return this.D[a]},ba:function(a){return this.D[a]},ja:function(a){return this.I.getUint16(a,!0)},sa:function(a){return a&1?this.D[a]|this.D[a+1]<<8:this.K[a>>1]},ua:function(a,b){this.D[a]=b;this.Aa=!0},Ca:function(a,b){this.D[a]=b;this.Aa=!0},Ea:function(a,b){this.I.setUint16(a,b,!0);this.Aa=!0},$a:function(a,b){a&1?(this.D[a]=b,this.D[a+1]=b>>8):this.K[a>>1]=b;this.Aa=!0}}; function sb(a,b,c){a.C=b;a.T=a.A=0;c&&((a.T=c.T)&&Yb(a,Xb,!1),(a.A=c.A)&&Wb(a,Xb,!1))}function $b(a,b){b?0===--a.A&&(a.Za=a.u?a.F:a.lb,a.Tb=a.u?a.J:a.zb):0===--a.T&&(a.Ka=a.ib,a.Rb=a.yb)}function Wb(a,b,c){c&&a.A||(a.Za=!a.u&&b[2]||a.F,a.Tb=!a.u&&b[3]||a.J);if(c||void 0===c)a.lb=b[2]||a.F,a.zb=b[3]||a.J}function Yb(a,b,c){c&&a.T||(a.Ka=b[0]||a.U,a.Rb=b[1]||a.W);if(c||void 0===c)a.ib=b[0]||a.U,a.yb=b[1]||a.W}function Rb(a,b){b||(b=ac);Yb(a,b,void 0);Wb(a,b,void 0)} -var ac=[],Ub=[C.prototype.fa,C.prototype.ta,C.prototype.Da,C.prototype.ab],Xb=[C.prototype.aa,C.prototype.ka,C.prototype.za,C.prototype.Ma];if(mb)var Tb=[C.prototype.Y,C.prototype.ja,C.prototype.ua,C.prototype.Ea],Sb=[C.prototype.ba,C.prototype.sa,C.prototype.Ca,C.prototype.$a]; +var ac=[],Ub=[C.prototype.ea,C.prototype.ta,C.prototype.Da,C.prototype.ab],Xb=[C.prototype.aa,C.prototype.ka,C.prototype.za,C.prototype.Ma];if(mb)var Tb=[C.prototype.Y,C.prototype.ja,C.prototype.ua,C.prototype.Ea],Sb=[C.prototype.ba,C.prototype.sa,C.prototype.Ca,C.prototype.$a]; function bc(a,b){u.call(this,"CPU",a,bc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.Xa=c;this.i.qb=0;this.i.Ja=d;this.i.vb=Math.round(this.i.Xa/1E4)/100;this.i.Ha=this.i.vb*this.i.Ja;this.w.ia=!1;this.w.ub=!1;this.w.Ib=a.autoStart;this.w.Jb=!1;this.w.Oa=!1;this.i.bb=this.i.Ua=0;this.i.cb=a.csStart;this.i.Ta=a.csInterval;this.i.Va=a.csStop;this.ka=this.La.bind(this);B(this)}x(bc);var nc=["power","reset"];m=bc.prototype; m.Ba=function(a,b,c,d){this.u=a;this.D=b;this.C=d;for(b=0;b=a.i.Ua&&(a.i.Ua+=a.i.Ta,c=!0);0<=a.i.Va&&a.i.Va<=vc(a)&&(a.i.Ta=a.i.Va=-1,qc(a),a.ea(),c=!0);c&&a.g(vc(a)+" cycles: checksum="+q(a.i.bb))}} -m.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.T[b]=c;a=!0;break;case "run":this.T[b]=c;c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.w.ha)a=!0;else{var b=null,c,g=ab(a.id);for(c=0;c=a.i.Ua&&(a.i.Ua+=a.i.Ta,c=!0);0<=a.i.Va&&a.i.Va<=vc(a)&&(a.i.Ta=a.i.Va=-1,qc(a),a.da(),c=!0);c&&a.g(vc(a)+" cycles: checksum="+q(a.i.bb))}} +m.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.T[b]=c;a=!0;break;case "run":this.T[b]=c;c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.w.ga)a=!0;else{var b=null,c,g=ab(a.id);for(c=0;cc&&(c=2);var d=1;b&&1a.i.Ga/a.i.Ha?b=1:d=!0;a.i.Ja=b;b=a.i.vb*a.i.Ja;if(a.i.Ha!=b){a.i.Ha=b;b=a.i.Ha.toFixed(2)+"Mhz";var e=a.T.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.u&&a.u.jb()}xc(a,a.I);a.I=0;a.i.Sa=ja();a.i.Ia=0;yc(a);return d} m.La=function(a){if(ib(this,!0)){if(!this.w.ia){wc(this);this.u&&this.u.start(this.i.Sa,vc(this));this.w.ia=!0;this.w.ub=!0;this.W&&this.W.mc();var b=this.T.run;b&&(b.textContent="Halt");this.u&&(this.u.ra(!0),a&&this.u.jb(!0))}this.i.xb>=this.i.Xa&&yc(this,!0);this.i.gb=0;this.i.pb=ja();this.i.Ia&&(a=this.i.pb-this.i.Ia,a>this.i.Nb&&(this.i.Sa+=a,this.i.Sa>this.i.pb&&(this.i.Sa=this.i.pb)));try{do{var c=this.w.Oa?1:this.i.hc;try{this.Ya(c)}catch(e){if("number"!=typeof e)throw e;}var d=this.F-this.b; -this.I+=d;this.i.gb+=d;xc(this,0,!0);uc(this,d);this.i.fb-=d;0>=this.i.fb&&(this.i.fb+=this.i.Pb,this.u&&zc(this.u,this.i.qb++),this.i.qb>this.za&&(this.i.qb=0));this.i.eb-=d;0>=this.i.eb&&(this.i.eb+=this.i.Ob,this.u&&this.u.ra());this.i.Wa-=d;if(0>=this.i.Wa){this.i.Wa+=this.i.wb;break}}while(this.w.ia)}catch(e){this.ea();sc(this);this.u&&this.u.stop(ja(),vc(this));ib(this,!1);lb(this,e.stack||e.message);return}c=setTimeout;d=this.ka;this.i.Ia=ja();a=this.i.Nb;this.i.gb&&(a=Math.round(a*this.i.gb/ -this.i.wb));a-=this.i.Ia-this.i.pb;if(b=this.i.Ia-this.i.Sa)this.i.Ga=Math.round(this.I/(10*b))/100,864E5<=b&&(this.J=0,wc(this));if(0>a||this.i.Ga=this.i.fb&&(this.i.fb+=this.i.Pb,this.u&&zc(this.u,this.i.qb++),this.i.qb>this.za&&(this.i.qb=0));this.i.eb-=d;0>=this.i.eb&&(this.i.eb+=this.i.Ob,this.u&&this.u.ra());this.i.Wa-=d;if(0>=this.i.Wa){this.i.Wa+=this.i.wb;break}}while(this.w.ia)}catch(e){this.da();sc(this);this.u&&this.u.stop(ja(),vc(this));ib(this,!1);lb(this,e.stack||e.message);return}c=setTimeout;d=this.ka;this.i.Ia=ja();a=this.i.Nb;this.i.gb&&(a=Math.round(a*this.i.gb/ +this.i.wb));a-=this.i.Ia-this.i.pb;if(b=this.i.Ia-this.i.Sa)this.i.Ga=Math.round(this.I/(10*b))/100,864E5<=b&&(this.J=0,wc(this));if(0>a||this.i.Ga>8&255;a.M=b&255}function Jc(a){return a.N<<8|a.O}function Kc(a,b){a.N=b>>8&255;a.O=b&255}function J(a){return a.P<<8|a.S} -function L(a,b){a.P=b>>8&255;a.S=b&255}function G(a,b){a.R=b&65535}function Lc(a){return a.G&256?1:0}function Mc(a){return nb[a.X&255]?4:0}function Nc(a){return(a.X^a.da)&16?16:0}function Oc(a){return a.G&255?0:64}function Pc(a){return a.X&128?128:0}function Gc(a){return a.oa&-214|Pc(a)|Oc(a)|Nc(a)|Mc(a)|Lc(a)}function Ec(a,b){a.G=a.X=a.da=0;b&1&&(a.G|=256);b&4||(a.X|=1);b&16&&(a.da|=16);b&64||(a.G|=255);b&128&&(a.X^=192);a.oa=a.oa&-513|b&512|2} -function Qc(a,b){a.da=a.j^b;return a.X=(a.G=a.j+b)&255}function Rc(a,b){a.da=a.j^b;return a.X=(a.G=a.j+b+(a.G&256?1:0))&255}function id(a,b){a.G=a.X=a.da=a.j&b;(a.j|b)&8&&(a.da^=16);return a.G}function jd(a,b){a.da=b^255;b=a.X=b+255&255;a.G=a.G&-256|b;return b}function kd(a,b){a.da=b;b=a.X=b+1&255;a.G=a.G&-256|b;return b}function ld(a,b){return a.X=a.G=a.da=a.j|b}function M(a,b){b^=255;a.da=a.j^b;return a.X=(a.G=a.j+b+1^256)&255} -function md(a,b){b^=255;a.da=a.j^b;return a.X=(a.G=a.j+b+(a.G&256?0:1)^256)&255}function nd(a,b){return a.X=a.G=a.da=a.j^b}m.V=function(a){return this.la[(a&this.K)>>>this.Z].Ka(a&this.H,a)};function od(a,b){var c=b&a.H,d=(b&a.K)>>>a.Z;if(c>>a.Z].Za(b&a.H,c&255,b)} +function L(a,b){a.P=b>>8&255;a.S=b&255}function G(a,b){a.R=b&65535}function Lc(a){return a.G&256?1:0}function Mc(a){return nb[a.X&255]?4:0}function Nc(a){return(a.X^a.ha)&16?16:0}function Oc(a){return a.G&255?0:64}function Pc(a){return a.X&128?128:0}function Gc(a){return a.oa&-214|Pc(a)|Oc(a)|Nc(a)|Mc(a)|Lc(a)}function Ec(a,b){a.G=a.X=a.ha=0;b&1&&(a.G|=256);b&4||(a.X|=1);b&16&&(a.ha|=16);b&64||(a.G|=255);b&128&&(a.X^=192);a.oa=a.oa&-513|b&512|2} +function Qc(a,b){a.ha=a.j^b;return a.X=(a.G=a.j+b)&255}function Rc(a,b){a.ha=a.j^b;return a.X=(a.G=a.j+b+(a.G&256?1:0))&255}function id(a,b){a.G=a.X=a.ha=a.j&b;(a.j|b)&8&&(a.ha^=16);return a.G}function jd(a,b){a.ha=b^255;b=a.X=b+255&255;a.G=a.G&-256|b;return b}function kd(a,b){a.ha=b;b=a.X=b+1&255;a.G=a.G&-256|b;return b}function ld(a,b){return a.X=a.G=a.ha=a.j|b}function M(a,b){b^=255;a.ha=a.j^b;return a.X=(a.G=a.j+b+1^256)&255} +function md(a,b){b^=255;a.ha=a.j^b;return a.X=(a.G=a.j+b+(a.G&256?0:1)^256)&255}function nd(a,b){return a.X=a.G=a.ha=a.j^b}m.V=function(a){return this.la[(a&this.K)>>>this.Z].Ka(a&this.H,a)};function od(a,b){var c=b&a.H,d=(b&a.K)>>>a.Z;if(c>>a.Z].Za(b&a.H,c&255,b)} function pd(a,b,c){var d=b&a.H,e=(b&a.K)>>>a.Z;d>8&255,b+1))}function O(a){var b=a.V(a.R);G(a,a.R+1);return b}function P(a){var b=od(a,a.R);G(a,a.R+2);return b}function Q(a){var b=od(a,a.ca);a.ca=a.ca+2&65535;return b}function S(a,b){a.ca=a.ca-2&65535;pd(a,a.ca,b)} -function T(a,b,c,d){d=d||2;a.T[b]&&(void 0===c&&(lb(a,"Value for "+b+" is invalid"),a.ea()),c=!a.w.ia||a.w.Jb?q(c,d):"--------".substr(0,d),a.T[b].textContent!=c&&(a.T[b].textContent=c))} +function T(a,b,c,d){d=d||2;a.T[b]&&(void 0===c&&(lb(a,"Value for "+b+" is invalid"),a.da()),c=!a.w.ia||a.w.Jb?q(c,d):"--------".substr(0,d),a.T[b].textContent!=c&&(a.T[b].textContent=c))} m.ra=function(a){this.ja&&(a||!this.w.ia||this.w.Jb)&&(T(this,"A",this.j),T(this,"B",this.L),T(this,"C",this.M),T(this,"BC",Hc(this),4),T(this,"D",this.N),T(this,"E",this.O),T(this,"DE",Jc(this),4),T(this,"H",this.P),T(this,"L",this.S),T(this,"HL",J(this),4),T(this,"SP",this.ca,4),T(this,"PC",this.R,4),a=Gc(this),T(this,"PS",a,4),T(this,"SF",a&128,1),T(this,"ZF",a&64,1),T(this,"AF",a&16,1),T(this,"PF",a&4,1),T(this,"CF",a&1,1));if(a=this.T.speed)a.textContent=this.w.ia&&this.i.Ga?this.i.Ga.toFixed(2)+ -"Mhz":"Stopped"};m.Ya=function(a){this.w.nb=!0;var b=this.w.Xb=this.C&&qd(this.C),c=a?this.w.ub?0:1:-1;this.w.ub=!1;this.F=this.b=a;do{if(this.A){var d;this.A&8&&this.oa&512?(d=199|(this.A&7)<<3,this.A&=-16,this.oa&=-513,this.ba[d].call(this),d=!0):d=!1;if(d){if(!a){this.g("interrupt dispatched");break}}else if(this.A&16){this.b=0;break}}if(b){if(rd(this.C,this.R,c)){this.ea();break}c=1}this.ba[O(this)].call(this)}while(0>8;this.G=this.G&255|a&256;this.b-=4},sd,function(){var a;L(this,a=J(this)+Hc(this));this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(Hc(this));this.b-=7},function(){Ic(this,Hc(this)- 1);this.b-=5},function(){this.M=kd(this,this.M);this.b-=5},function(){this.M=jd(this,this.M);this.b-=5},function(){this.M=O(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;this.G=this.G&255|a;this.b-=4},sd,function(){Kc(this,P(this));this.b-=10},function(){N(this,Jc(this),this.j);this.b-=7},function(){Kc(this,Jc(this)+1);this.b-=5},function(){this.N=kd(this,this.N);this.b-=5},function(){this.N=jd(this,this.N);this.b-=5},function(){this.N=O(this);this.b-=7},function(){var a=this.j<< 1;this.j=a&255|this.G>>8;this.G=this.G&255|a&256;this.b-=4},sd,function(){var a;L(this,a=J(this)+Jc(this));this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(Jc(this));this.b-=7},function(){Kc(this,Jc(this)-1);this.b-=5},function(){this.O=kd(this,this.O);this.b-=5},function(){this.O=jd(this,this.O);this.b-=5},function(){this.O=O(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(this.G&256|this.j)>>1;this.G=this.G&255|a;this.b-=4},sd,function(){L(this,P(this));this.b-=10},function(){pd(this, -P(this),J(this));this.b-=16},function(){L(this,J(this)+1);this.b-=5},function(){this.P=kd(this,this.P);this.b-=5},function(){this.P=jd(this,this.P);this.b-=5},function(){this.P=O(this);this.b-=7},function(){var a=this.j,b=!!Lc(this),c=!!Nc(this);9<(a&15)||c?(a+=6,c=!0):c=!1;160<=a||b?(a+=96,b=!0):b=!1;this.G=this.X=this.j=a&255;this.G=b?this.G|256:this.G&-257;this.da=c?~this.X&16|this.da&-17:this.X&16|this.da&-17;this.b-=4},sd,function(){var a;L(this,a=J(this)+J(this));this.G=this.G&255|a>>8&256; -this.b-=10},function(){L(this,od(this,P(this)));this.b-=16},function(){L(this,J(this)-1);this.b-=5},function(){this.S=kd(this,this.S);this.b-=5},function(){this.S=jd(this,this.S);this.b-=5},function(){this.S=O(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},sd,function(){this.ca=P(this)&65535;this.b-=10},function(){N(this,P(this),this.j);this.b-=13},function(){this.ca=this.ca+1&65535;this.b-=5},function(){var a=J(this);N(this,a,kd(this,this.V(a)));this.b-=10},function(){var a=J(this);N(this, -a,jd(this,this.V(a)));this.b-=10},function(){N(this,J(this),O(this));this.b-=10},function(){this.G|=256;this.b-=4},sd,function(){var a;L(this,a=J(this)+this.ca);this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(P(this));this.b-=13},function(){this.ca=this.ca-1&65535;this.b-=5},function(){this.j=kd(this,this.j);this.b-=5},function(){this.j=jd(this,this.j);this.b-=5},function(){this.j=O(this);this.b-=7},function(){this.G=Lc(this)?this.G&-257:this.G|256;this.b-=4},function(){this.b-=5}, -function(){this.L=this.M;this.b-=5},function(){this.L=this.N;this.b-=5},function(){this.L=this.O;this.b-=5},function(){this.L=this.P;this.b-=5},function(){this.L=this.S;this.b-=5},function(){this.L=this.V(J(this));this.b-=7},function(){this.L=this.j;this.b-=5},function(){this.M=this.L;this.b-=5},function(){this.b-=5},function(){this.M=this.N;this.b-=5},function(){this.M=this.O;this.b-=5},function(){this.M=this.P;this.b-=5},function(){this.M=this.S;this.b-=5},function(){this.M=this.V(J(this));this.b-= -7},function(){this.M=this.j;this.b-=5},function(){this.N=this.L;this.b-=5},function(){this.N=this.M;this.b-=5},function(){this.b-=5},function(){this.N=this.O;this.b-=5},function(){this.N=this.P;this.b-=5},function(){this.N=this.S;this.b-=5},function(){this.N=this.V(J(this));this.b-=7},function(){this.N=this.j;this.b-=5},function(){this.O=this.L;this.b-=5},function(){this.O=this.M;this.b-=5},function(){this.O=this.N;this.b-=5},function(){this.b-=5},function(){this.O=this.P;this.b-=5},function(){this.O= -this.S;this.b-=5},function(){this.O=this.V(J(this));this.b-=7},function(){this.O=this.j;this.b-=5},function(){this.P=this.L;this.b-=5},function(){this.P=this.M;this.b-=5},function(){this.P=this.N;this.b-=5},function(){this.P=this.O;this.b-=5},function(){this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.V(J(this));this.b-=7},function(){this.P=this.j;this.b-=5},function(){this.S=this.L;this.b-=5},function(){this.S=this.M;this.b-=5},function(){this.S=this.N;this.b-=5},function(){this.S= -this.O;this.b-=5},function(){this.S=this.P;this.b-=5},function(){this.b-=5},function(){this.S=this.V(J(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){N(this,J(this),this.L);this.b-=7},function(){N(this,J(this),this.M);this.b-=7},function(){N(this,J(this),this.N);this.b-=7},function(){N(this,J(this),this.O);this.b-=7},function(){N(this,J(this),this.P);this.b-=7},function(){N(this,J(this),this.S);this.b-=7},function(){var a=this.R-1;if(this.U.length)for(var b=0;b>8;this.b-=10},function(){var a=P(this);Pc(this)||G(this,a);this.b-=10},function(){this.oa&=-513;this.b-=4},function(){var a=P(this);Pc(this)||(S(this,this.R),G(this,a),this.b-=6);this.b-=11},function(){S(this,Gc(this)&255|this.j<<8);this.b-=11},function(){this.j=ld(this,O(this));this.b-=7},function(){S(this,this.R);G(this, -48);this.b-=11},function(){Pc(this)&&(G(this,Q(this)),this.b-=6);this.b-=5},function(){this.ca=J(this)&65535;this.b-=5},function(){var a=P(this);Pc(this)&&G(this,a);this.b-=10},function(){this.oa|=512;this.b-=4},function(){var a=P(this);Pc(this)&&(S(this,this.R),G(this,a),this.b-=6);this.b-=11},vd,function(){M(this,O(this));this.b-=7},function(){S(this,this.R);G(this,56);this.b-=11}]; +P(this),J(this));this.b-=16},function(){L(this,J(this)+1);this.b-=5},function(){this.P=kd(this,this.P);this.b-=5},function(){this.P=jd(this,this.P);this.b-=5},function(){this.P=O(this);this.b-=7},function(){var a=0,b=Lc(this);if(Nc(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=Qc(this,a);this.G=b?this.G|256:this.G&-257;this.b-=4},sd,function(){var a;L(this,a=J(this)+J(this));this.G=this.G&255|a>>8&256;this.b-=10},function(){L(this,od(this,P(this)));this.b-=16},function(){L(this,J(this)- +1);this.b-=5},function(){this.S=kd(this,this.S);this.b-=5},function(){this.S=jd(this,this.S);this.b-=5},function(){this.S=O(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},sd,function(){this.ca=P(this)&65535;this.b-=10},function(){N(this,P(this),this.j);this.b-=13},function(){this.ca=this.ca+1&65535;this.b-=5},function(){var a=J(this);N(this,a,kd(this,this.V(a)));this.b-=10},function(){var a=J(this);N(this,a,jd(this,this.V(a)));this.b-=10},function(){N(this,J(this),O(this));this.b-=10}, +function(){this.G|=256;this.b-=4},sd,function(){var a;L(this,a=J(this)+this.ca);this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(P(this));this.b-=13},function(){this.ca=this.ca-1&65535;this.b-=5},function(){this.j=kd(this,this.j);this.b-=5},function(){this.j=jd(this,this.j);this.b-=5},function(){this.j=O(this);this.b-=7},function(){this.G=Lc(this)?this.G&-257:this.G|256;this.b-=4},function(){this.b-=5},function(){this.L=this.M;this.b-=5},function(){this.L=this.N;this.b-=5},function(){this.L= +this.O;this.b-=5},function(){this.L=this.P;this.b-=5},function(){this.L=this.S;this.b-=5},function(){this.L=this.V(J(this));this.b-=7},function(){this.L=this.j;this.b-=5},function(){this.M=this.L;this.b-=5},function(){this.b-=5},function(){this.M=this.N;this.b-=5},function(){this.M=this.O;this.b-=5},function(){this.M=this.P;this.b-=5},function(){this.M=this.S;this.b-=5},function(){this.M=this.V(J(this));this.b-=7},function(){this.M=this.j;this.b-=5},function(){this.N=this.L;this.b-=5},function(){this.N= +this.M;this.b-=5},function(){this.b-=5},function(){this.N=this.O;this.b-=5},function(){this.N=this.P;this.b-=5},function(){this.N=this.S;this.b-=5},function(){this.N=this.V(J(this));this.b-=7},function(){this.N=this.j;this.b-=5},function(){this.O=this.L;this.b-=5},function(){this.O=this.M;this.b-=5},function(){this.O=this.N;this.b-=5},function(){this.b-=5},function(){this.O=this.P;this.b-=5},function(){this.O=this.S;this.b-=5},function(){this.O=this.V(J(this));this.b-=7},function(){this.O=this.j; +this.b-=5},function(){this.P=this.L;this.b-=5},function(){this.P=this.M;this.b-=5},function(){this.P=this.N;this.b-=5},function(){this.P=this.O;this.b-=5},function(){this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.V(J(this));this.b-=7},function(){this.P=this.j;this.b-=5},function(){this.S=this.L;this.b-=5},function(){this.S=this.M;this.b-=5},function(){this.S=this.N;this.b-=5},function(){this.S=this.O;this.b-=5},function(){this.S=this.P;this.b-=5},function(){this.b-=5},function(){this.S= +this.V(J(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){N(this,J(this),this.L);this.b-=7},function(){N(this,J(this),this.M);this.b-=7},function(){N(this,J(this),this.N);this.b-=7},function(){N(this,J(this),this.O);this.b-=7},function(){N(this,J(this),this.P);this.b-=7},function(){N(this,J(this),this.S);this.b-=7},function(){var a=this.R-1;if(this.U.length)for(var b=0;b>8;this.b-=10},function(){var a=P(this);Pc(this)||G(this,a);this.b-=10},function(){this.oa&=-513;this.b-=4},function(){var a=P(this);Pc(this)||(S(this,this.R),G(this,a),this.b-=6);this.b-=11},function(){S(this,Gc(this)&255|this.j<<8);this.b-=11},function(){this.j=ld(this,O(this));this.b-=7},function(){S(this,this.R);G(this,48);this.b-=11},function(){Pc(this)&&(G(this,Q(this)),this.b-=6);this.b-=5},function(){this.ca= +J(this)&65535;this.b-=5},function(){var a=P(this);Pc(this)&&G(this,a);this.b-=10},function(){this.oa|=512;this.b-=4},function(){var a=P(this);Pc(this)&&(S(this,this.R),G(this,a),this.b-=6);this.b-=11},vd,function(){M(this,O(this));this.b-=7},function(){S(this,this.R);G(this,56);this.b-=11}]; function U(a){u.call(this,"ChipSet",a,U,32768);var b=a.model;b&&!wd[b]&&t("Unrecognized ChipSet model: "+b);this.Ra=wd[b];a.sound&&(this.W=null,window&&(this.W=window.AudioContext||window.webkitAudioContext),this.W&&new this.W);B(this)}x(U);var wd={SI1978:1978.1};m=U.prototype;m.pa=function(){return!1}; m.Ba=function(a,b,c,d){this.D=b;this.b=c;this.C=d;this.u=a;if(1978.1==this.Ra){var e;a=xd;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.u[g]?t("Input port "+r(g)+" already registered"):c.u[g]=[h,!1]}var k;e=yd;void 0===k&&(k=0);for(var l in e)if(f=b,a=+l+k,c=e[l].bind(this),void 0!==c)for(d=+l+k;d<=a;d++)void 0!==f.A[d]?t("Output port "+r(d)+" already registered"):f.A[d]=[c,!1]}}; m.xa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.wa=function(a){return a?this.save():!0};m.reset=function(){this.H=this.I=this.A=this.F=this.U=this.K=this.J=0};m.save=function(){var a=new H(this);1978.1==this.Ra&&I(a,0,[this.J,this.K,this.U,this.F,this.A,this.H,this.I]);return a.data()};m.restore=function(a){a=a[0];1978.1==this.Ra&&(this.J=a[0],this.K=a[1],this.U=a[2],this.F=a[3],this.A=a[4],this.H=a[5],this.I=a[6]);return!0}; @@ -90,7 +90,7 @@ zd.prototype.xa=function(){if(this.ya){if(this.C){var a=this.C,b=this.id,c=this. function Ad(a,b,c,d){if(d)a.na("Unable to load system ROM (error "+d+": "+b+")");else{Xa(a.Hb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.u=f;else if(h)for(a.u=Array(4*h.length),d=c=0;c>8&255,a.u[d++]=h[c]>>16&255,a.u[d++]=h[c]>>24&255;else a.u=e;a.ya=e.symbols;if(!a.u.length){t("Empty ROM: "+b);return}if(1==a.u.length){t(a.u[0]);return}}catch(g){a.na("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, " ").replace(/ +$/,"").split(" "),a.u=Array(b.length),e=0;e>>f.Z;0>>=f.Z;0>>c.Z,c=e!=c.F?c.D[f].yb(e,d):c.D[f++].ib(e,d)|c.D[f&c.W].ib(0,d+1)<<8;b&&Ud(a,b)}return c}; m.Ab=function(a,b,c){var d=X(a);-1!==d&&(wb(this.D,d,b),c&&Ud(a,c),sc(this.b,!0))};m.Ub=function(a,b,c){var d=X(a);if(-1!==d){var e=this.D,f=d&e.F,h=(d&e.H)>>>e.Z;f!=e.F?e.D[h].zb(f,b&65535,d):(e.D[h++].lb(f,b&255,d),e.D[h&e.W].lb(0,b>>8&255,d+1));c&&Ud(a,c);sc(this.b,!0)}};function W(a){return{B:a,va:!1}}function Vd(a){return[a.B,a.va]}function Wd(a){return{B:a[0],va:a[1]}} function Y(a,b,c){var d;c=(c?a.Y:a.Fb).B;if(void 0!==b){d=b=Xd(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=la(Qd,a.substr(b,2))));return c}function ce(a,b){var c=0,d=de(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:c=4}return c?q(d,c):"??"} function de(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.L;break;case 1:c=d.M;break;case 8:c=Hc(d);break;case 2:c=d.N;break;case 3:c=d.O;break;case 9:c=Jc(d);break;case 4:c=d.P;break;case 5:c=d.S;break;case 10:c=J(d);break;case 6:c=d.V(J(d));break;case 11:c=d.ca;break;case 12:c=d.R;break;case 13:c=d.j<<8|Gc(d)&255}}return c} function ee(a,b){b=Xd(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=be(b,c+1),0<=e&&(b=b.substr(0,c)+ce(a,e)+b.substr(c+1+Qd[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Y(a,e))?(d=e+' "'+ae(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Y(a,e))?(Ud(d),d=e+' "'+ -ae(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(W(this.b.R).B));if(!this.Ea||a!=this.Ea)if(this.Ea=a,this.ga&-2147483648&&(this.ea(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.Wa=0;c.F-=c.b;c.b=0;sc(c)}};function gb(a,b,c,d,e,f,h,g){g|=256;null!=e&&(a.ga&g)!=g||a.message(b.ab+"."+(null!=d?"outPort":"inPort")+"("+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d,2):"")+")"+(null!=h?": 0x"+q(h,2):"")+(null!=e?" at "+Z(e):""))} +ae(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(W(this.b.R).B));if(!this.Ea||a!=this.Ea)if(this.Ea=a,this.fa&-2147483648&&(this.da(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.Wa=0;c.F-=c.b;c.b=0;sc(c)}};function gb(a,b,c,d,e,f,h,g){g|=256;null!=e&&(a.fa&g)!=g||a.message(b.ab+"."+(null!=d?"outPort":"inPort")+"("+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d,2):"")+")"+(null!=h?": 0x"+q(h,2):"")+(null!=e?" at "+Z(e):""))} function Ld(a){var b;if(qd(a)){if(!a.W||!a.W.length){a.W=Array(1E3);for(b=0;b>>d.Z],!1)}a.ba=["br"];if(void 0!==a.I)for(b=1;b>>d.Z],!0);a.I=["bw"];a.Kb=0}m.Fa=function(a,b,c){var d=!0;c||je(this,a,b,!1,!0);if(a!=this.A){var e=X(b);if(-1===e)this.g("invalid address: "+Z(b.B)),d=!1;else{var f=this.b;f.la[e>>>f.Z].Fa(e&f.H,a==this.I)}}d&&(a.push(b),c?b.va=!0:(ke(this,a,a.length-1,"set"),Ld(this)));return d}; function je(a,b,c,d,e){var f=!1;c=X(c);for(var h=1;h>>d.Z],b==a.I));g.va||Ld(a);break}}return f}function le(a,b){for(var c=1;c>24,4);break;case 3:E=q(D.mb(Da,2),4);break;default:D="imm("+r(v)+")";break a}8086==D.aa&&v&64?E="["+E+"]":v&16||(E=(D.aa==Jd?"$":"0x")+E);D=E}else v& 16?(D=(p&3840)>>8,v=Qd[D],8086==a.aa&&p&64&&(6==D&&(v="HL"),v="["+v+"]"),D=v):v&128&&(D=(f>>3&7).toString());if(!D||!D.length){g="INVALID";break}0>8&255;case "C":d.M=g&255;break;case "D":d.N= -g&255;break;case "DE":d.N=g>>8&255;case "E":d.O=g&255;break;case "H":d.P=g&255;break;case "HL":d.P=g>>8&255;case "L":d.S=g&255;break;case "SP":d.ca=g&65535;break;case "PC":G(d,g);a.Y=W(d.R);break;case "PS":Ec(d,g);break;case "C":d.G=g?d.G|256:d.G&255;break;case "P":g?Mc(d)||(d.X^=1):Mc(d)&&(d.X^=1);break;case "A":d.da=g?~d.X&16|d.da&-17:d.X&16|d.da&-17;break;case "Z":d.G=g?d.G&-256:d.G|255;break;case "S":g?Pc(d)||(d.X^=192):Pc(d)&&(d.X^=192);break;case "I":d.oa=g?d.oa|512:d.oa&-513;break;default:a.g("unknown register: "+ +g&255;break;case "DE":d.N=g>>8&255;case "E":d.O=g&255;break;case "H":d.P=g&255;break;case "HL":d.P=g>>8&255;case "L":d.S=g&255;break;case "SP":d.ca=g&65535;break;case "PC":G(d,g);a.Y=W(d.R);break;case "PS":Ec(d,g);break;case "C":d.G=g?d.G|256:d.G&255;break;case "P":g?Mc(d)||(d.X^=1):Mc(d)&&(d.X^=1);break;case "A":d.ha=g?~d.X&16|d.ha&-17:d.X&16|d.ha&-17;break;case "Z":d.G=g?d.G&-256:d.G|255;break;case "S":g?Pc(d)||(d.X^=192):Pc(d)&&(d.X^=192);break;case "I":d.oa=g?d.oa|512:d.oa&-513;break;default:a.g("unknown register: "+ e);return}if(!h){a.g("invalid value: "+f);return}sc(d);a.g("updated registers:")}a.g(Oe(a));c&&(a.Y=W(d.R),he(a,Z(a.Y.B)))}}function $e(a,b){b=ha(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(ee(a,c[2])):Yd(a,b,!0)}function af(a,b,c){var d="t"!=b;c=Re(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Aa(c,function(){return ib(a,!0)&&a.Ya(e,d,!1)},function(){sc(a.b);ib(a,!1)})} -function he(a,b,c,d){if(b=Y(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Y(a,c,!0);if(!d||d.Bg[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=ne(a,b,h,f);a.g(f);a.Y=b;e-=b.B-k;c++}}} +function he(a,b,c,d){if(b=Y(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Y(a,c,!0);if(!d||d.Bg[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=ne(a,b,h,f);a.g(f);a.Y=b;e-=b.B-k;c++}}} function $d(a,b,c,d){if(c)if(b){0>a.H&&a.F.length&&(a.H=0);if(0>a.H||b!=a.F[a.H])a.F.splice(0,0,b),a.H=0;a.H--}else b=a.F[a.H+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ha(b.substring(c,f))),c=f+1}}return a} function me(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ta&&(a.g("ended assemble at "+Z(a.ka.B)),a.Y=a.ka,a.ta=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Ea=null;if(kb(a)&&0l||"z"=ta.length&&(R=0);a.Lb=V;ve++;cb--}}ve||(a.g("no "+ue+"history available"),a.Lb=void 0)}else{var cc=Y(a,ra);if(cc){var dc=0;Ia&&("l"==Ia.charAt(0)&&(Ia=Ia.substr(1)||xf),dc=Re(a,Ia)>>>0,65536>4||1;zf--&&0hc?String.fromCharCode(hc):".";fc--}Ja&&(Ja+="\n");Ja+=ra+" "+zb+(0==yb?" "+Wc:"")}Ja&&a.g(Ja);a.Fb=cc}}}}break;case "e":if("else"==f[0])break;var ic=1,ye=255,ze=a.V,Ae=a.Ab;"ew"==f[0]&&(ic=2,ye=65535,ze=a.mb,Ae=a.Ub);var Be=ic<<1,Ce=f[1];if(null== Ce)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var jc=Y(a,Ce);if(jc)for(var kc=2;kcbd;){for(var Ka=null,Ef=256;65536>Cb.B>>>0;){Ee.B=a.mb(Cb,2);if(null==Cb.B||!Ef--)break;for(var Ff=a,lc=Ee,Fe=null,Db=lc.B,Ge=Db,cd=1;6>=cd&&Db;cd++){if(2lf){if(gf(d,this.W)){this.I=new H(this,nf,"failsafe");gf(this.I)&&(rf(this,d),a=2,df(this.I));I(this.I,"timestamp",ka());ef(this.I);var e=this.u&&!this.J;if(1==a||pa("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=ff(d)){var f=hf(d,"code"),h=hf(d,"data");f&&("ok"==f?gf(d,h):("error"==f&&"no machine state"!= h?(this.na("Error: "+h),"unable to verify user"==h&&(ya("user",""),this.A=null)):this.g(f+": "+h),df(d),gf(d)?(c=ff(d),e=!0):c=!1))}e&&qf(this,c?d:null)}else 2==a&&d.clear()}else qf(this);delete this.W;delete this.Y}e=ab(this.id);for(f=0;fa[1];a=a[2];this.w.ha=!0;var d=this.T.power;d&&(d.textContent="Shutdown");this.ja||(this.g("PC8080 v"+nf+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ja=!0);this.b&&(sf(this,this.b,b,c,a),tc(this.b));this.ka&&(rf(this,b),b.clear());!c&&this.I&&(this.I.clear(),delete this.I);this.F=0}; +function sf(a,b,c,d,e){if(!b.w.ga){b.w.ga=!0;if(b.xa){var f=null;e&&((f=hf(c,b.id))||(f=hf(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.xa(f,d)&&f&&(t("Unable to restore state for "+b.type),a.ea&&!a.sa?(c.clear(),a.u=lf,window&&window.location.reload()):a.ka=!0,b.xa(null),e=!1)}if(!d&&b.Db)for(a=b.Db.split("|"),c=0;ca[1];a=a[2];this.w.ga=!0;var d=this.T.power;d&&(d.textContent="Shutdown");this.ja||(this.g("PC8080 v"+nf+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ja=!0);this.b&&(sf(this,this.b,b,c,a),tc(this.b));this.ka&&(rf(this,b),b.clear());!c&&this.I&&(this.I.clear(),delete this.I);this.F=0}; function rf(a,b){if(pa("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.ua,d=a.A||"",e=b.toString(),f={app:"PC8080"};f.ver=nf;f.url=c;f.user=d;f.type="bug";f.data=e;ma("http://www.pcjs.org/api/v1/report",f,!0)}} -function bf(a,b,c){var d,e="none";if(a.F)return null;a.F--;var f=new H(a,nf),h=new H(a,nf,"validate"),g=ka();I(h,"timestamp",g);I(f,"timestamp",g);I(f,"version","1.21.7");I(f,"url",window?window.location.href:null);I(f,"browser",oa());a.b&&a.b.wa&&(c&&a.b.ea(),d=a.b.wa(b,c),"object"===typeof d&&I(f,a.b.id,d),c&&(a.b.w.ha=!1,!1===d&&(e=null)));for(var g=ab(a.id),k=0;kg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ma(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, diff --git a/versions/pc8080/1.21.7/pc8080.js b/versions/pc8080/1.21.7/pc8080.js index 570aa1eef..32aed4f04 100644 --- a/versions/pc8080/1.21.7/pc8080.js +++ b/versions/pc8080/1.21.7/pc8080.js @@ -16,64 +16,64 @@ v.prototype={constructor:v,parent:null,toString:function(){return this.name?this this.K=function(a,b,c){this.O(a,"notice",c)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.Sa+": "+a)},K:function(a,b){b||q(a)},W:function(){return this.g.J=!0},V:function(a,b){b&&(this.g.J=!1);return!0}};function Fa(a,b){if(a.g.Ja)return a.g.ra&&(a.g.ra=!1),a.g.Ja=!1;if(a.g.ba)return a.O(a.toString()+" error"),!1;a.g.ra=b;return a.g.ra}function B(a){if(!a.g.ba&&(a.g.ia=!0,a.g.ia)){var b=a.Da;a.Da=null;b&&b()}} function Ga(a,b){b&&(a.g.ia?b():a.Da=b);return a.g.ia} var Ha="undefined"!==typeof ArrayBuffer,Ia=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1, -0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1];function Ja(a){v.call(this,"Panel",a,Ja)}x(Ja);m=Ja.prototype;m.P=function(a,b,c,d){return this.v&&this.v.P(a,b,c,d)||this.a&&this.a.P(a,b,c,d)||this.b&&this.b.P(a,b,c,d)?!0:this.parent.P.call(this,a,b,c,d)};m.ca=function(a,b,c,d){this.v=a;this.A=b;this.a=c;this.I=d;this.b=Ka(a,"Keyboard")};m.W=function(a,b){b||La();return!0};m.V=function(){return!0};m.fa=function(){}; +0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1];function Ja(a){v.call(this,"Panel",a,Ja)}x(Ja);m=Ja.prototype;m.P=function(a,b,c,d){return this.o&&this.o.P(a,b,c,d)||this.a&&this.a.P(a,b,c,d)||this.b&&this.b.P(a,b,c,d)?!0:this.parent.P.call(this,a,b,c,d)};m.ca=function(a,b,c,d){this.o=a;this.A=b;this.a=c;this.I=d;this.b=Ka(a,"Keyboard")};m.W=function(a,b){b||La();return!0};m.V=function(){return!0};m.fa=function(){}; function La(){for(var a=!1,b=A(document,"pc8080","panel"),c=0;c=this.c?10:20>=this.c?12:24>=this.c?14:15;this.H=1<>2;this.l=this.H-1;this.f=this.m/this.H|0;this.i=[];this.j=[];this.v=[];this.A=[];a=new C;Na(a,this.I);this.b=Array(this.f);for(b=0;b>>a.G;0c&&(g=c);if(f&&f.size){if(f.type==d){if(b+c<=f.qa)return f.Ia+=f.qa-b,f.qa=b,!0;if(b>=f.qa+f.Ia){g=f.size-(b-h);g>c&&(g=c);f.Ia=b-f.qa+g;b=h+a.H;c-=g;e++;continue}}return Pa(1,b,c)}b=new C(b,g,a.H,d);Na(b,a.I,f);a.b[e++]=b;b=h+a.H;c-=g}return 0>=c?!0:Pa(2,b,c)} -Ma.prototype.D=function(a){return this.b[(a&this.h)>>>this.G].oa(a&this.l,a)};function Ra(a,b,c){a.b[(b&a.h)>>>a.G].eb(b&a.l,c&255,b)}function Pa(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Sa;if(Ha){var Ta=new ArrayBuffer(2);(new DataView(Ta)).setUint16(0,256,!0);Sa=256===(new Uint16Array(Ta))[0]}else Sa=!1;var Ua=Sa; +Ma.prototype.B=function(a){return this.b[(a&this.h)>>>this.G].oa(a&this.l,a)};function Ra(a,b,c){a.b[(b&a.h)>>>a.G].eb(b&a.l,c&255,b)}function Pa(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Sa;if(Ha){var Ta=new ArrayBuffer(2);(new DataView(Ta)).setUint16(0,256,!0);Sa=256===(new Uint16Array(Ta))[0]}else Sa=!1;var Ua=Sa; function C(a,b,c,d){this.id=Va+=2;this.a=null;this.qa=a;this.Ia=b;this.size=c||0;this.type=d||Wa;this.h=d==Xa;Na(this);this.Z=this.ib=!1;if(c)if(Ha)this.c=new ArrayBuffer(c),this.f=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.l=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),Ya(this,Ua?Za:$a);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},G:function(a){return this.a[a>> -2]>>>((a&3)<<3)&255},S:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},$:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<>8);this.Z=!0},B:function(a,b){return this.C(a,b)},L:function(a,b){return this.M(a,b)},U:function(a,b,c){this.h||this.eb(a,b,c)},ga:function(a,b, +2]>>>((a&3)<<3)&255},S:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},$:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<>8);this.Z=!0},C:function(a,b){return this.D(a,b)},L:function(a,b){return this.M(a,b)},U:function(a,b,c){this.h||this.eb(a,b,c)},ga:function(a,b, c){this.h||this.ha(a,b,c)},A:function(a){return this.b[a]},F:function(a){return this.b[a]},H:function(a){return this.f.getUint16(a,!0)},N:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},T:function(a,b){this.b[a]=b;this.Z=!0},X:function(a,b){this.b[a]=b;this.Z=!0},aa:function(a,b){this.f.setUint16(a,b,!0);this.Z=!0},pa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.Z=!0}};function Na(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&bb(a,cb,!1),(a.j=c.j)&&db(a,cb,!1))} -function db(a,b,c){c&&a.j||(a.za=!a.h&&b[2]||a.o,a.ub=!a.h&&b[3]||a.v);if(c||void 0===c)a.eb=b[2]||a.o,a.ha=b[3]||a.v}function bb(a,b,c){c&&a.i||(a.oa=b[0]||a.w,a.sb=b[1]||a.m);if(c||void 0===c)a.C=b[0]||a.w,a.M=b[1]||a.m}function Ya(a,b){b||(b=eb);bb(a,b,void 0);db(a,b,void 0)}var eb=[],ab=[C.prototype.G,C.prototype.S,C.prototype.$,C.prototype.Aa],cb=[C.prototype.B,C.prototype.L,C.prototype.U,C.prototype.ga]; +function db(a,b,c){c&&a.j||(a.za=!a.h&&b[2]||a.o,a.ub=!a.h&&b[3]||a.v);if(c||void 0===c)a.eb=b[2]||a.o,a.ha=b[3]||a.v}function bb(a,b,c){c&&a.i||(a.oa=b[0]||a.w,a.sb=b[1]||a.m);if(c||void 0===c)a.D=b[0]||a.w,a.M=b[1]||a.m}function Ya(a,b){b||(b=eb);bb(a,b,void 0);db(a,b,void 0)}var eb=[],ab=[C.prototype.G,C.prototype.S,C.prototype.$,C.prototype.Aa],cb=[C.prototype.C,C.prototype.L,C.prototype.U,C.prototype.ga]; if(Ha)var $a=[C.prototype.A,C.prototype.H,C.prototype.T,C.prototype.aa],Za=[C.prototype.F,C.prototype.N,C.prototype.X,C.prototype.pa]; -function fb(a,b){v.call(this,"CPU",a,fb);var c=a.cycles||b,d=a.multiplier||1;this.b={};this.b.na=c;this.b.Ha=0;this.b.ma=d;this.b.Ka=Math.round(this.b.na/1E4)/100;this.b.ja=this.b.Ka*this.b.ma;this.g.R=!1;this.g.Xa=!1;this.g.Va=a.autoStart;this.g.Wa=!1;this.g.Ba=!1;this.b.Fa=this.b.la=0;this.b.Ga=a.csStart;this.b.sa=a.csInterval;this.b.ta=a.csStop;this.fb=this.Na.bind(this);B(this)}x(fb);var gb=["power","reset"];m=fb.prototype; -m.ca=function(a,b,c,d){this.v=a;this.A=b;this.I=d;for(b=0;bc&&(c=2);var d=1;b&&1a.b.da/a.b.ja&&(b=1);a.b.ma=b;var c=a.b.Ka*a.b.ma;if(a.b.ja!=c){a.b.ja=c;var c=a.b.ja.toFixed(2)+"Mhz",d=a.w.setSpeed;d&&(d.textContent=c);a.O("target speed: "+c)}}ob(a,a.N);a.N=0;a.b.ka=ga();a.b.ea=0;pb(a)} -m.Na=function(){if(Fa(this,!0)){if(!this.g.R){nb(this);this.v&&this.v.start(this.b.ka,qb(this));this.g.R=!0;this.g.Xa=!0;this.ha&&this.ha.tb();var a=this.w.run;a&&(a.textContent="Halt");this.v&&this.v.fa(!0)}this.b.Ma>=this.b.na&&pb(this,!0);this.b.xa=0;this.b.Ea=ga();this.b.ea&&(a=this.b.Ea-this.b.ea,a>this.b.Za&&(this.b.ka+=a,this.b.ka>this.b.Ea&&(this.b.ka=this.b.Ea)));try{do{var b=this.g.Ba?1:this.b.nb;try{this.cb(b)}catch(e){if("number"!=typeof e)throw e;}var c=this.T-this.a;this.N+=c;this.b.xa+= -c;ob(this,0,!0);a=c;if(this.g.Ba){var d=!1;this.b.Fa=this.b.Fa+this.Ya()|0;this.b.la-=a;0>=this.b.la&&(this.b.la+=this.b.sa,d=!0);0<=this.b.ta&&this.b.ta<=qb(this)&&(this.b.sa=this.b.ta=-1,jb(this),mb(this),d=!0);d&&this.O(qb(this)+" cycles: checksum="+n(this.b.Fa))}this.b.va-=c;0>=this.b.va&&(this.b.va+=this.b.ab,this.v&&rb(this.v,this.b.Ha++),this.b.Ha>this.X&&(this.b.Ha=0));this.b.ua-=c;0>=this.b.ua&&(this.b.ua+=this.b.$a,this.v&&this.v.fa());this.b.wa-=c;if(0>=this.b.wa){this.b.wa+=this.b.La; -break}}while(this.g.R)}catch(e){mb(this);kb(this);this.v&&this.v.stop(ga(),qb(this));Fa(this,!1);b=e.stack||e.message;this.g.ba=!0;this.K(b);return}b=setTimeout;c=this.fb;this.b.ea=ga();a=this.b.Za;this.b.xa&&(a=Math.round(a*this.b.xa/this.b.La));a-=this.b.ea-this.b.Ea;if(d=this.b.ea-this.b.ka)this.b.da=Math.round(this.N/(10*d))/100,864E5<=d&&(this.U=0,nb(this));if(0>a||this.b.dac&&(c=2);var d=1;b&&1a.c.da/a.c.ja&&(b=1);a.c.ma=b;var c=a.c.Ka*a.c.ma;if(a.c.ja!=c){a.c.ja=c;var c=a.c.ja.toFixed(2)+"Mhz",d=a.w.setSpeed;d&&(d.textContent=c);a.O("target speed: "+c)}}ob(a,a.N);a.N=0;a.c.ka=ga();a.c.ea=0;pb(a)} +m.Na=function(){if(Fa(this,!0)){if(!this.g.R){nb(this);this.o&&this.o.start(this.c.ka,qb(this));this.g.R=!0;this.g.Xa=!0;this.ha&&this.ha.tb();var a=this.w.run;a&&(a.textContent="Halt");this.o&&this.o.fa(!0)}this.c.Ma>=this.c.na&&pb(this,!0);this.c.xa=0;this.c.Ea=ga();this.c.ea&&(a=this.c.Ea-this.c.ea,a>this.c.Za&&(this.c.ka+=a,this.c.ka>this.c.Ea&&(this.c.ka=this.c.Ea)));try{do{var b=this.g.Ba?1:this.c.nb;try{this.cb(b)}catch(e){if("number"!=typeof e)throw e;}var c=this.T-this.a;this.N+=c;this.c.xa+= +c;ob(this,0,!0);a=c;if(this.g.Ba){var d=!1;this.c.Fa=this.c.Fa+this.Ya()|0;this.c.la-=a;0>=this.c.la&&(this.c.la+=this.c.sa,d=!0);0<=this.c.ta&&this.c.ta<=qb(this)&&(this.c.sa=this.c.ta=-1,jb(this),mb(this),d=!0);d&&this.O(qb(this)+" cycles: checksum="+n(this.c.Fa))}this.c.va-=c;0>=this.c.va&&(this.c.va+=this.c.ab,this.o&&rb(this.o,this.c.Ha++),this.c.Ha>this.X&&(this.c.Ha=0));this.c.ua-=c;0>=this.c.ua&&(this.c.ua+=this.c.$a,this.o&&this.o.fa());this.c.wa-=c;if(0>=this.c.wa){this.c.wa+=this.c.La; +break}}while(this.g.R)}catch(e){mb(this);kb(this);this.o&&this.o.stop(ga(),qb(this));Fa(this,!1);b=e.stack||e.message;this.g.ba=!0;this.K(b);return}b=setTimeout;c=this.fb;this.c.ea=ga();a=this.c.Za;this.c.xa&&(a=Math.round(a*this.c.xa/this.c.La));a-=this.c.ea-this.c.Ea;if(d=this.c.ea-this.c.ka)this.c.da=Math.round(this.N/(10*d))/100,864E5<=d&&(this.U=0,nb(this));if(0>a||this.c.da>8&255;a.s=b&255}function H(a){return a.i<<8|a.u}function Bb(a,b){a.i=b>>8&255;a.u=b&255}function I(a){return a.j<<8|a.l} -function J(a,b){a.j=b>>8&255;a.l=b&255}function E(a,b){a.o=b&65535}function K(a){return a.f&256?1:0}function Cb(a){return Ia[a.m&255]?4:0}function yb(a){return a.L&-214|(a.m&128?128:0)|(a.f&255?0:64)|((a.m^a.B)&16?16:0)|Cb(a)|K(a)}function wb(a,b){a.f=a.m=a.B=0;b&1&&(a.f|=256);b&4||(a.m|=1);b&16&&(a.B|=16);b&64||(a.f|=255);b&128&&(a.m^=192);a.L=a.L&-513|b&512|2}function L(a,b){a.B=a.c^b;return a.m=(a.f=a.c+b)&255}function M(a,b){a.B=a.c^b;return a.m=(a.f=a.c+b+(a.f&256?1:0))&255} -function N(a,b){a.f=a.m=a.B=a.c&b;(a.c|b)&8&&(a.B^=16);return a.f}function Db(a,b){a.B=b^255;b=a.m=b+255&255;a.f=a.f&-256|b;return b}function Eb(a,b){a.B=b;b=a.m=b+1&255;a.f=a.f&-256|b;return b}function O(a,b){return a.m=a.f=a.B=a.c|b}function P(a,b){b^=255;a.B=a.c^b;return a.m=(a.f=a.c+b+1^256)&255}function Q(a,b){b^=255;a.B=a.c^b;return a.m=(a.f=a.c+b+(a.f&256?0:1)^256)&255}function R(a,b){return a.m=a.f=a.B=a.c^b}m.D=function(a){return this.M[(a&this.$)>>>this.G].oa(a&this.S,a)}; -function Fb(a,b){var c=b&a.S,d=(b&a.$)>>>a.G;if(c>>a.G].za(b&a.S,c&255,b)}function Gb(a,b,c){var d=b&a.S,e=(b&a.$)>>>a.G;d>8&255,b+1))}function T(a){var b=a.D(a.o);E(a,a.o+1);return b}function U(a){var b=Fb(a,a.o);E(a,a.o+2);return b}function V(a){var b=Fb(a,a.C);a.C=a.C+2&65535;return b} +function J(a,b){a.j=b>>8&255;a.l=b&255}function E(a,b){a.m=b&65535}function K(a){return a.f&256?1:0}function Cb(a){return Ia[a.v&255]?4:0}function yb(a){return a.L&-214|(a.v&128?128:0)|(a.f&255?0:64)|((a.v^a.D)&16?16:0)|Cb(a)|K(a)}function wb(a,b){a.f=a.v=a.D=0;b&1&&(a.f|=256);b&4||(a.v|=1);b&16&&(a.D|=16);b&64||(a.f|=255);b&128&&(a.v^=192);a.L=a.L&-513|b&512|2}function L(a,b){a.D=a.b^b;return a.v=(a.f=a.b+b)&255}function M(a,b){a.D=a.b^b;return a.v=(a.f=a.b+b+(a.f&256?1:0))&255} +function N(a,b){a.f=a.v=a.D=a.b&b;(a.b|b)&8&&(a.D^=16);return a.f}function Db(a,b){a.D=b^255;b=a.v=b+255&255;a.f=a.f&-256|b;return b}function Eb(a,b){a.D=b;b=a.v=b+1&255;a.f=a.f&-256|b;return b}function O(a,b){return a.v=a.f=a.D=a.b|b}function P(a,b){b^=255;a.D=a.b^b;return a.v=(a.f=a.b+b+1^256)&255}function Q(a,b){b^=255;a.D=a.b^b;return a.v=(a.f=a.b+b+(a.f&256?0:1)^256)&255}function R(a,b){return a.v=a.f=a.D=a.b^b}m.B=function(a){return this.M[(a&this.$)>>>this.G].oa(a&this.S,a)}; +function Fb(a,b){var c=b&a.S,d=(b&a.$)>>>a.G;if(c>>a.G].za(b&a.S,c&255,b)}function Gb(a,b,c){var d=b&a.S,e=(b&a.$)>>>a.G;d>8&255,b+1))}function T(a){var b=a.B(a.m);E(a,a.m+1);return b}function U(a){var b=Fb(a,a.m);E(a,a.m+2);return b}function V(a){var b=Fb(a,a.C);a.C=a.C+2&65535;return b} function W(a,b){a.C=a.C-2&65535;Gb(a,a.C,b)}function X(a,b,c,d){d=d||2;a.w[b]&&(void 0===c&&(a.g.ba=!0,a.K("Value for "+b+" is invalid"),mb(a)),c=!a.g.R||a.g.Wa?n(c,d):"--------".substr(0,d),a.w[b].textContent!=c&&(a.w[b].textContent=c))} -m.fa=function(a){this.Qa&&(a||!this.g.R||this.g.Wa)&&(X(this,"A",this.c),X(this,"B",this.h),X(this,"C",this.s),X(this,"BC",zb(this),4),X(this,"D",this.i),X(this,"E",this.u),X(this,"DE",H(this),4),X(this,"H",this.j),X(this,"L",this.l),X(this,"HL",I(this),4),X(this,"SP",this.C,4),X(this,"PC",this.o,4),a=yb(this),X(this,"PS",a,4),X(this,"SF",a&128,1),X(this,"ZF",a&64,1),X(this,"AF",a&16,1),X(this,"PF",a&4,1),X(this,"CF",a&1,1));if(a=this.w.speed)a.textContent=this.g.R&&this.b.da?this.b.da.toFixed(2)+ +m.fa=function(a){this.Qa&&(a||!this.g.R||this.g.Wa)&&(X(this,"A",this.b),X(this,"B",this.h),X(this,"C",this.s),X(this,"BC",zb(this),4),X(this,"D",this.i),X(this,"E",this.u),X(this,"DE",H(this),4),X(this,"H",this.j),X(this,"L",this.l),X(this,"HL",I(this),4),X(this,"SP",this.C,4),X(this,"PC",this.m,4),a=yb(this),X(this,"PS",a,4),X(this,"SF",a&128,1),X(this,"ZF",a&64,1),X(this,"AF",a&16,1),X(this,"PF",a&4,1),X(this,"CF",a&1,1));if(a=this.w.speed)a.textContent=this.g.R&&this.c.da?this.c.da.toFixed(2)+ "Mhz":"Stopped"};m.cb=function(a){this.g.Ca=!0;this.g.hb=!1;this.g.Xa=!1;this.T=this.a=a;do{if(a=this.F)this.F&8&&this.L&512?(a=199|(this.F&7)<<3,this.F&=-16,this.L&=-513,this.Oa[a].call(this),a=!0):a=!1,a=!a;if(a&&this.F&16){this.a=0;break}this.Oa[T(this)].call(this)}while(0>8;this.f=this.f&255|a&256;this.a-=4},Hb,function(){var a;J(this,a=I(this)+zb(this));this.f=this.f&255|a>>8&256;this.a-=10},function(){this.c=this.D(zb(this));this.a-=7},function(){Ab(this,zb(this)- -1);this.a-=5},function(){this.s=Eb(this,this.s);this.a-=5},function(){this.s=Db(this,this.s);this.a-=5},function(){this.s=T(this);this.a-=7},function(){var a=this.c<<8&256;this.c=(a|this.c)>>1;this.f=this.f&255|a;this.a-=4},Hb,function(){Bb(this,U(this));this.a-=10},function(){S(this,H(this),this.c);this.a-=7},function(){Bb(this,H(this)+1);this.a-=5},function(){this.i=Eb(this,this.i);this.a-=5},function(){this.i=Db(this,this.i);this.a-=5},function(){this.i=T(this);this.a-=7},function(){var a=this.c<< -1;this.c=a&255|this.f>>8;this.f=this.f&255|a&256;this.a-=4},Hb,function(){var a;J(this,a=I(this)+H(this));this.f=this.f&255|a>>8&256;this.a-=10},function(){this.c=this.D(H(this));this.a-=7},function(){Bb(this,H(this)-1);this.a-=5},function(){this.u=Eb(this,this.u);this.a-=5},function(){this.u=Db(this,this.u);this.a-=5},function(){this.u=T(this);this.a-=7},function(){var a=this.c<<8&256;this.c=(this.f&256|this.c)>>1;this.f=this.f&255|a;this.a-=4},Hb,function(){J(this,U(this));this.a-=10},function(){Gb(this, -U(this),I(this));this.a-=16},function(){J(this,I(this)+1);this.a-=5},function(){this.j=Eb(this,this.j);this.a-=5},function(){this.j=Db(this,this.j);this.a-=5},function(){this.j=T(this);this.a-=7},function(){var a=this.c,b=!!K(this),c=!!((this.m^this.B)&16);9<(a&15)||c?(a+=6,c=!0):c=!1;160<=a||b?(a+=96,b=!0):b=!1;this.f=this.m=this.c=a&255;this.f=b?this.f|256:this.f&-257;this.B=c?~this.m&16|this.B&-17:this.m&16|this.B&-17;this.a-=4},Hb,function(){var a;J(this,a=I(this)+I(this));this.f=this.f&255|a>> -8&256;this.a-=10},function(){J(this,Fb(this,U(this)));this.a-=16},function(){J(this,I(this)-1);this.a-=5},function(){this.l=Eb(this,this.l);this.a-=5},function(){this.l=Db(this,this.l);this.a-=5},function(){this.l=T(this);this.a-=7},function(){this.c=~this.c&255;this.a-=4},Hb,function(){this.C=U(this)&65535;this.a-=10},function(){S(this,U(this),this.c);this.a-=13},function(){this.C=this.C+1&65535;this.a-=5},function(){var a=I(this);S(this,a,Eb(this,this.D(a)));this.a-=10},function(){var a=I(this); -S(this,a,Db(this,this.D(a)));this.a-=10},function(){S(this,I(this),T(this));this.a-=10},function(){this.f|=256;this.a-=4},Hb,function(){var a;J(this,a=I(this)+this.C);this.f=this.f&255|a>>8&256;this.a-=10},function(){this.c=this.D(U(this));this.a-=13},function(){this.C=this.C-1&65535;this.a-=5},function(){this.c=Eb(this,this.c);this.a-=5},function(){this.c=Db(this,this.c);this.a-=5},function(){this.c=T(this);this.a-=7},function(){this.f=K(this)?this.f&-257:this.f|256;this.a-=4},function(){this.a-= -5},function(){this.h=this.s;this.a-=5},function(){this.h=this.i;this.a-=5},function(){this.h=this.u;this.a-=5},function(){this.h=this.j;this.a-=5},function(){this.h=this.l;this.a-=5},function(){this.h=this.D(I(this));this.a-=7},function(){this.h=this.c;this.a-=5},function(){this.s=this.h;this.a-=5},function(){this.a-=5},function(){this.s=this.i;this.a-=5},function(){this.s=this.u;this.a-=5},function(){this.s=this.j;this.a-=5},function(){this.s=this.l;this.a-=5},function(){this.s=this.D(I(this));this.a-= -7},function(){this.s=this.c;this.a-=5},function(){this.i=this.h;this.a-=5},function(){this.i=this.s;this.a-=5},function(){this.a-=5},function(){this.i=this.u;this.a-=5},function(){this.i=this.j;this.a-=5},function(){this.i=this.l;this.a-=5},function(){this.i=this.D(I(this));this.a-=7},function(){this.i=this.c;this.a-=5},function(){this.u=this.h;this.a-=5},function(){this.u=this.s;this.a-=5},function(){this.u=this.i;this.a-=5},function(){this.a-=5},function(){this.u=this.j;this.a-=5},function(){this.u= -this.l;this.a-=5},function(){this.u=this.D(I(this));this.a-=7},function(){this.u=this.c;this.a-=5},function(){this.j=this.h;this.a-=5},function(){this.j=this.s;this.a-=5},function(){this.j=this.i;this.a-=5},function(){this.j=this.u;this.a-=5},function(){this.a-=5},function(){this.j=this.l;this.a-=5},function(){this.j=this.D(I(this));this.a-=7},function(){this.j=this.c;this.a-=5},function(){this.l=this.h;this.a-=5},function(){this.l=this.s;this.a-=5},function(){this.l=this.i;this.a-=5},function(){this.l= -this.u;this.a-=5},function(){this.l=this.j;this.a-=5},function(){this.a-=5},function(){this.l=this.D(I(this));this.a-=7},function(){this.l=this.c;this.a-=5},function(){S(this,I(this),this.h);this.a-=7},function(){S(this,I(this),this.s);this.a-=7},function(){S(this,I(this),this.i);this.a-=7},function(){S(this,I(this),this.u);this.a-=7},function(){S(this,I(this),this.j);this.a-=7},function(){S(this,I(this),this.l);this.a-=7},function(){var a=this.o-1;if(this.ga.length)for(var b=0;b>>=e)&g;if(void 0!==f&&f[0])f[0](a,g,void 0);e+=h<<3;a+=h;d-=h}this.a-=10},function(){var a=U(this);K(this)||(W(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){W(this,H(this));this.a-=11},function(){this.c=P(this,T(this));this.a-=7},function(){W(this,this.o);E(this,16);this.a-=11},function(){K(this)&&(E(this,V(this)),this.a-=6);this.a-=5},Jb,function(){var a=U(this); -K(this)&&E(this,a);this.a-=10},function(){for(var a=T(this),b=this.A,c=1,d=0,e=0;0>8;this.a-=10},function(){var a=U(this);this.m&128||E(this,a);this.a-=10},function(){this.L&=-513;this.a-=4},function(){var a=U(this);this.m& -128||(W(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){W(this,yb(this)&255|this.c<<8);this.a-=11},function(){this.c=O(this,T(this));this.a-=7},function(){W(this,this.o);E(this,48);this.a-=11},function(){this.m&128&&(E(this,V(this)),this.a-=6);this.a-=5},function(){this.C=I(this)&65535;this.a-=5},function(){var a=U(this);this.m&128&&E(this,a);this.a-=10},function(){this.L|=512;this.a-=4},function(){var a=U(this);this.m&128&&(W(this,this.o),E(this,a),this.a-=6);this.a-=11},Kb,function(){P(this, -T(this));this.a-=7},function(){W(this,this.o);E(this,56);this.a-=11}];function Y(a){v.call(this,"ChipSet",a,Y);var b=a.model;b&&!Lb[b]&&q("Unrecognized ChipSet model: "+b);this.aa=Lb[b];a.sound&&(this.m=null,window&&(this.m=window.AudioContext||window.webkitAudioContext),this.m&&new this.m);B(this)}x(Y);var Lb={SI1978:1978.1};m=Y.prototype;m.P=function(){return!1}; -m.ca=function(a,b,c,d){this.A=b;this.a=c;this.I=d;this.v=a;if(1978.1==this.aa){var e;a=Mb;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.i[g]?q("Input port 0x"+n(g,4)+" already registered"):c.i[g]=[h,!1]}var l;e=Nb;void 0===l&&(l=0);for(var k in e)if(f=b,a=+k+l,c=e[k].bind(this),void 0!==c)for(d=+k+l;d<=a;d++)void 0!==f.j[d]?q("Output port 0x"+n(d,4)+" already registered"):f.j[d]=[c,!1]}}; +function Ib(){E(this,U(this));this.a-=10}function Jb(){E(this,V(this));this.a-=10}function Kb(){var a=U(this);W(this,this.m);E(this,a);this.a-=17} +var tb=[Hb,function(){Ab(this,U(this));this.a-=10},function(){S(this,zb(this),this.b);this.a-=7},function(){Ab(this,zb(this)+1);this.a-=5},function(){this.h=Eb(this,this.h);this.a-=5},function(){this.h=Db(this,this.h);this.a-=5},function(){this.h=T(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|a>>8;this.f=this.f&255|a&256;this.a-=4},Hb,function(){var a;J(this,a=I(this)+zb(this));this.f=this.f&255|a>>8&256;this.a-=10},function(){this.b=this.B(zb(this));this.a-=7},function(){Ab(this,zb(this)- +1);this.a-=5},function(){this.s=Eb(this,this.s);this.a-=5},function(){this.s=Db(this,this.s);this.a-=5},function(){this.s=T(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;this.f=this.f&255|a;this.a-=4},Hb,function(){Bb(this,U(this));this.a-=10},function(){S(this,H(this),this.b);this.a-=7},function(){Bb(this,H(this)+1);this.a-=5},function(){this.i=Eb(this,this.i);this.a-=5},function(){this.i=Db(this,this.i);this.a-=5},function(){this.i=T(this);this.a-=7},function(){var a=this.b<< +1;this.b=a&255|this.f>>8;this.f=this.f&255|a&256;this.a-=4},Hb,function(){var a;J(this,a=I(this)+H(this));this.f=this.f&255|a>>8&256;this.a-=10},function(){this.b=this.B(H(this));this.a-=7},function(){Bb(this,H(this)-1);this.a-=5},function(){this.u=Eb(this,this.u);this.a-=5},function(){this.u=Db(this,this.u);this.a-=5},function(){this.u=T(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(this.f&256|this.b)>>1;this.f=this.f&255|a;this.a-=4},Hb,function(){J(this,U(this));this.a-=10},function(){Gb(this, +U(this),I(this));this.a-=16},function(){J(this,I(this)+1);this.a-=5},function(){this.j=Eb(this,this.j);this.a-=5},function(){this.j=Db(this,this.j);this.a-=5},function(){this.j=T(this);this.a-=7},function(){var a=0,b=K(this);if((this.v^this.D)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=L(this,a);this.f=b?this.f|256:this.f&-257;this.a-=4},Hb,function(){var a;J(this,a=I(this)+I(this));this.f=this.f&255|a>>8&256;this.a-=10},function(){J(this,Fb(this,U(this)));this.a-=16},function(){J(this, +I(this)-1);this.a-=5},function(){this.l=Eb(this,this.l);this.a-=5},function(){this.l=Db(this,this.l);this.a-=5},function(){this.l=T(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},Hb,function(){this.C=U(this)&65535;this.a-=10},function(){S(this,U(this),this.b);this.a-=13},function(){this.C=this.C+1&65535;this.a-=5},function(){var a=I(this);S(this,a,Eb(this,this.B(a)));this.a-=10},function(){var a=I(this);S(this,a,Db(this,this.B(a)));this.a-=10},function(){S(this,I(this),T(this));this.a-= +10},function(){this.f|=256;this.a-=4},Hb,function(){var a;J(this,a=I(this)+this.C);this.f=this.f&255|a>>8&256;this.a-=10},function(){this.b=this.B(U(this));this.a-=13},function(){this.C=this.C-1&65535;this.a-=5},function(){this.b=Eb(this,this.b);this.a-=5},function(){this.b=Db(this,this.b);this.a-=5},function(){this.b=T(this);this.a-=7},function(){this.f=K(this)?this.f&-257:this.f|256;this.a-=4},function(){this.a-=5},function(){this.h=this.s;this.a-=5},function(){this.h=this.i;this.a-=5},function(){this.h= +this.u;this.a-=5},function(){this.h=this.j;this.a-=5},function(){this.h=this.l;this.a-=5},function(){this.h=this.B(I(this));this.a-=7},function(){this.h=this.b;this.a-=5},function(){this.s=this.h;this.a-=5},function(){this.a-=5},function(){this.s=this.i;this.a-=5},function(){this.s=this.u;this.a-=5},function(){this.s=this.j;this.a-=5},function(){this.s=this.l;this.a-=5},function(){this.s=this.B(I(this));this.a-=7},function(){this.s=this.b;this.a-=5},function(){this.i=this.h;this.a-=5},function(){this.i= +this.s;this.a-=5},function(){this.a-=5},function(){this.i=this.u;this.a-=5},function(){this.i=this.j;this.a-=5},function(){this.i=this.l;this.a-=5},function(){this.i=this.B(I(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.u=this.h;this.a-=5},function(){this.u=this.s;this.a-=5},function(){this.u=this.i;this.a-=5},function(){this.a-=5},function(){this.u=this.j;this.a-=5},function(){this.u=this.l;this.a-=5},function(){this.u=this.B(I(this));this.a-=7},function(){this.u=this.b; +this.a-=5},function(){this.j=this.h;this.a-=5},function(){this.j=this.s;this.a-=5},function(){this.j=this.i;this.a-=5},function(){this.j=this.u;this.a-=5},function(){this.a-=5},function(){this.j=this.l;this.a-=5},function(){this.j=this.B(I(this));this.a-=7},function(){this.j=this.b;this.a-=5},function(){this.l=this.h;this.a-=5},function(){this.l=this.s;this.a-=5},function(){this.l=this.i;this.a-=5},function(){this.l=this.u;this.a-=5},function(){this.l=this.j;this.a-=5},function(){this.a-=5},function(){this.l= +this.B(I(this));this.a-=7},function(){this.l=this.b;this.a-=5},function(){S(this,I(this),this.h);this.a-=7},function(){S(this,I(this),this.s);this.a-=7},function(){S(this,I(this),this.i);this.a-=7},function(){S(this,I(this),this.u);this.a-=7},function(){S(this,I(this),this.j);this.a-=7},function(){S(this,I(this),this.l);this.a-=7},function(){var a=this.m-1;if(this.ga.length)for(var b=0;b>>=e)&g;if(void 0!==f&&f[0])f[0](a,g,void 0);e+=h<<3;a+=h;d-=h}this.a-=10},function(){var a=U(this);K(this)||(W(this,this.m),E(this,a),this.a-=6);this.a-=11},function(){W(this,H(this));this.a-=11},function(){this.b=P(this,T(this));this.a-=7},function(){W(this,this.m);E(this,16);this.a-=11},function(){K(this)&&(E(this,V(this)),this.a-=6);this.a-=5},Jb,function(){var a=U(this);K(this)&&E(this,a);this.a-=10},function(){for(var a= +T(this),b=this.A,c=1,d=0,e=0;0>8;this.a-=10},function(){var a=U(this);this.v&128||E(this,a);this.a-=10},function(){this.L&=-513;this.a-=4},function(){var a=U(this);this.v&128||(W(this,this.m),E(this,a),this.a-=6);this.a-= +11},function(){W(this,yb(this)&255|this.b<<8);this.a-=11},function(){this.b=O(this,T(this));this.a-=7},function(){W(this,this.m);E(this,48);this.a-=11},function(){this.v&128&&(E(this,V(this)),this.a-=6);this.a-=5},function(){this.C=I(this)&65535;this.a-=5},function(){var a=U(this);this.v&128&&E(this,a);this.a-=10},function(){this.L|=512;this.a-=4},function(){var a=U(this);this.v&128&&(W(this,this.m),E(this,a),this.a-=6);this.a-=11},Kb,function(){P(this,T(this));this.a-=7},function(){W(this,this.m); +E(this,56);this.a-=11}];function Y(a){v.call(this,"ChipSet",a,Y);var b=a.model;b&&!Lb[b]&&q("Unrecognized ChipSet model: "+b);this.aa=Lb[b];a.sound&&(this.m=null,window&&(this.m=window.AudioContext||window.webkitAudioContext),this.m&&new this.m);B(this)}x(Y);var Lb={SI1978:1978.1};m=Y.prototype;m.P=function(){return!1}; +m.ca=function(a,b,c,d){this.A=b;this.a=c;this.I=d;this.o=a;if(1978.1==this.aa){var e;a=Mb;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.i[g]?q("Input port 0x"+n(g,4)+" already registered"):c.i[g]=[h,!1]}var l;e=Nb;void 0===l&&(l=0);for(var k in e)if(f=b,a=+k+l,c=e[k].bind(this),void 0!==c)for(d=+k+l;d<=a;d++)void 0!==f.j[d]?q("Output port 0x"+n(d,4)+" already registered"):f.j[d]=[c,!1]}}; m.W=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.V=function(a){return a?this.save():!0};m.reset=function(){this.f=this.h=this.b=this.c=this.l=this.j=this.i=0};m.save=function(){var a=new F(this);1978.1==this.aa&&G(a,0,[this.i,this.j,this.l,this.c,this.b,this.f,this.h]);return a.data()};m.restore=function(a){a=a[0];1978.1==this.aa&&(this.i=a[0],this.j=a[1],this.l=a[2],this.c=a[3],this.b=a[4],this.f=a[5],this.h=a[6]);return!0};m.kb=function(){return this.i}; m.lb=function(){return this.j};m.mb=function(){return this.l};m.jb=function(){return this.c<>8&255};m.ob=function(a,b){this.b=b};m.qb=function(a,b){this.f=b};m.pb=function(a,b){this.c=b};m.rb=function(a,b){this.h=b};var Mb={0:Y.prototype.kb,1:Y.prototype.lb,2:Y.prototype.mb,3:Y.prototype.jb},Nb={2:Y.prototype.ob,3:Y.prototype.qb,4:Y.prototype.pb,5:Y.prototype.rb};t(function(){for(var a=A(document,"pc8080","chipset"),b=0;b>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(g){a.K("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, " ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>f.G;0>>=f.G;0Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a, b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||wa.aspect);f&&.3<=f&&3.33>=f&&(ra("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");oa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);e.getContext("2d");d=new Wb(d);Ea(d,c)}}); function F(a,b,c){this.id=a.id;this.key=Xb(a,b,c);this.I=a.I;Yb(this,a.bb)}function Xb(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0ec){if(ac(d,this.o)){this.i=new F(this,Z,"failsafe");ac(this.i)&&(jc(this,d),a=2,Yb(this.i));G(this.i,"timestamp",ha());Zb(this.i);var e=this.b&&!this.j;if(1==a||ja("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=$b(d)){var f=bc(d,"code"),h=bc(d,"data");f&&("ok"==f?ac(d,h):("error"==f&&"no machine state"!= @@ -108,7 +108,7 @@ c;c.onclick=function(){var a=fc(d,!0);if(a){var b=!!(d.b&&!d.m||d.F),c=lc(d,b);b function fc(a,b){var c=a.c;c||(c=ma("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=nc(a,c))||a.K("The user ID is invalid."))):b&&a.K("Browser local storage is not available"));return c} function nc(a,b){a.c=null;var c=p(ia()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na("user",c.data),a.c=c.data)}catch(e){q(e.message+" ("+d+")")}return a.c}function gc(a){var b=null;a.c&&(b=ia()+"/api/v1/user?req=load&user="+a.c+"&state="+Xb(a,Z));return b} function mc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Xb(a,Z);d.data=c;b=p(ia()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){g=null,a=u.message}else a="unrecognized XML: "+(255