From d7b8122a409daf3fc62b71bab7283094464e5678 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Tue, 28 Feb 2017 10:24:29 -0800 Subject: [PATCH] All HLL and HRL permutations implemented now (up next: HRR and HLR) --- modules/pdp10/lib/cpuops.js | 209 +++++++----------------- versions/pdpjs/1.34.0/pdp10-dbg.js | 246 ++++++++++++++--------------- versions/pdpjs/1.34.0/pdp10.js | 168 ++++++++++---------- 3 files changed, 264 insertions(+), 359 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 0ee28dbe9..1aca404bf 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -2668,8 +2668,7 @@ PDP10.opHLL = function(op) var a = op & PDP10.OPCODE.A_MASK; var src = this.readWord(this.regEA); var dst = this.readWord(a); - dst = PDP10.setHR(op, dst, src) + (src - (src & PDP10.WORD_MASK)); - this.writeWord(a, dst); + this.writeWord(a, PDP10.getHR(op, dst, src) + (src - (src & PDP10.WORD_MASK))); }; /** @@ -2692,8 +2691,7 @@ PDP10.opHLLI = function(op) { var a = op & PDP10.OPCODE.A_MASK; var dst = this.readWord(a); - dst = PDP10.setHR(op, dst, 0); - this.writeWord(a, dst); + this.writeWord(a, PDP10.getHR(op, dst, 0)); }; /** @@ -2714,8 +2712,7 @@ PDP10.opHLLM = function(op) var a = op & PDP10.OPCODE.A_MASK; var src = this.readWord(a); var dst = this.readWord(this.regEA); - dst = PDP10.setHR(op, dst, src) + (src - (src & PDP10.WORD_MASK)); - this.writeWord(this.regEA, dst); + this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + (src - (src & PDP10.WORD_MASK))); }; /** @@ -2761,10 +2758,9 @@ PDP10.opHLLS = function(op) PDP10.opHRL = function(op) { var a = op & PDP10.OPCODE.A_MASK; - var src = this.readWord(this.regEA) & PDP10.WORD_MASK; + var src = (this.readWord(this.regEA) & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; var dst = this.readWord(a); - dst = (dst & PDP10.WORD_MASK) + src * PDP10.WORD_SHIFT; - this.writeWord(a, dst); + this.writeWord(a, PDP10.getHR(op, dst, src) + src); }; /** @@ -2784,9 +2780,9 @@ PDP10.opHRL = function(op) PDP10.opHRLI = function(op) { var a = op & PDP10.OPCODE.A_MASK; + var src = this.regEA * PDP10.WORD_SHIFT; var dst = this.readWord(a); - dst = (dst & PDP10.WORD_MASK) + this.regEA * PDP10.WORD_SHIFT; - this.writeWord(a, dst); + this.writeWord(a, PDP10.getHR(op, dst, src) + src); }; /** @@ -2806,10 +2802,9 @@ PDP10.opHRLI = function(op) PDP10.opHRLM = function(op) { var a = op & PDP10.OPCODE.A_MASK; - var src = this.readWord(a) & PDP10.WORD_MASK; + var src = (this.readWord(a) & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; var dst = this.readWord(this.regEA); - dst = (dst & PDP10.WORD_MASK) + src * PDP10.WORD_SHIFT; - this.writeWord(this.regEA, dst); + this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + src); }; /** @@ -2828,147 +2823,17 @@ PDP10.opHRLM = function(op) */ PDP10.opHRLS = function(op) { - var dst = this.readWord(this.regEA) & PDP10.WORD_MASK; - this.writeWord(this.regEA, dst + dst * PDP10.WORD_SHIFT); + var dst = this.readWord(this.regEA); + var src = (dst & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; + this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + src); var a = op & PDP10.OPCODE.A_MASK; if (a) { - dst = this.readWord(a) & PDP10.WORD_MASK; - this.writeWord(a, dst + dst * PDP10.WORD_SHIFT); + dst = this.readWord(a); + src = (dst & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; + this.writeWord(a, PDP10.getHR(op, dst, src) + src); } }; -/** - * opHRLZ(0o514000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLZ = function(op) -{ - this.opUndefined(op); -}; - -/** - * opHRLZI(0o515000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLZI = function(op) -{ - this.opUndefined(op); -}; - -/** - * opHRLZM(0o516000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLZM = function(op) -{ - this.opUndefined(op); -}; - -/** - * opHRLZS(0o517000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLZS = function(op) -{ - this.opUndefined(op); -}; - -/** - * opHRLO(0o524000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLO = function(op) -{ - this.opUndefined(op); -}; - -/** - * opHRLOI(0o525000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLOI = function(op) -{ - this.opUndefined(op); -}; - -/** - * opHRLOM(0o526000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLOM = function(op) -{ - this.opUndefined(op); -}; - -/** - * opHRLOS(0o527000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLOS = function(op) -{ - this.opUndefined(op); -}; - -/** - * opHRLE(0o534000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLE = function(op) -{ - this.opUndefined(op); -}; - -/** - * opHRLEI(0o535000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLEI = function(op) -{ - this.opUndefined(op); -}; - -/** - * opHRLEM(0o536000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLEM = function(op) -{ - this.opUndefined(op); -}; - -/** - * opHRLES(0o537000) - * - * @this {CPUStatePDP10} - * @param {number} op - */ -PDP10.opHRLES = function(op) -{ - this.opUndefined(op); -}; - /** * opHRR(0o540000): Half Word Right to Right * @@ -4230,14 +4095,16 @@ PDP10.opUndefined = function(op) }; /** - * setHR(op, dst, src) + * getHR(op, dst, src) + * + * Used by callers to obtain HR (half-word right) with HL (half-word left) zeroed. * * @param {number} op * @param {number} dst (36-bit value whose 18-bit right half is either preserved or modified) * @param {number} src (36-bit value used to determine the sign extension, if any, for the right half of dst) * @return {number} (updated dst) */ -PDP10.setHR = function(op, dst, src) +PDP10.getHR = function(op, dst, src) { switch(op & 0o600) { case 0o000: @@ -4256,6 +4123,32 @@ PDP10.setHR = function(op, dst, src) return dst; }; +/** + * setHR(op, dst, src) + * + * Used by callers to obtain HR (half-word right) with HL (half-word left) preserved. + * + * @param {number} op + * @param {number} dst (36-bit value whose 18-bit right half is either preserved or modified) + * @param {number} src (36-bit value used to determine the sign extension, if any, for the right half of dst) + * @return {number} (updated dst) + */ +PDP10.setHR = function(op, dst, src) +{ + if (op &= 0o600) { + dst -= (dst & PDP10.WORD_MASK); + switch(op) { + case 0o400: + dst += PDP10.WORD_MASK; + break; + case 0o600: + dst += (src > PDP10.MAX_POS? PDP10.WORD_MASK : 0); + break; + } + } + return dst; +}; + /* * If we want the basic half-word operations to handle all the sub-operations; ie: * @@ -4278,6 +4171,18 @@ PDP10.opHLLE = PDP10.opHLL; PDP10.opHLLEI = PDP10.opHLLI; PDP10.opHLLEM = PDP10.opHLLM; PDP10.opHLLES = PDP10.opHLLS; +PDP10.opHRLZ = PDP10.opHRL; +PDP10.opHRLZI = PDP10.opHRLI; +PDP10.opHRLZM = PDP10.opHRLM; +PDP10.opHRLZS = PDP10.opHRLS; +PDP10.opHRLO = PDP10.opHRL; +PDP10.opHRLOI = PDP10.opHRLI; +PDP10.opHRLOM = PDP10.opHRLM; +PDP10.opHRLOS = PDP10.opHRLS; +PDP10.opHRLE = PDP10.opHRL; +PDP10.opHRLEI = PDP10.opHRLI; +PDP10.opHRLEM = PDP10.opHRLM; +PDP10.opHRLES = PDP10.opHRLS; PDP10.aOpXXX_KA10 = [ PDP10.opUUO, // 0o000xxx diff --git a/versions/pdpjs/1.34.0/pdp10-dbg.js b/versions/pdpjs/1.34.0/pdp10-dbg.js index 92f72d240..7f3b12ab1 100644 --- a/versions/pdpjs/1.34.0/pdp10-dbg.js +++ b/versions/pdpjs/1.34.0/pdp10-dbg.js @@ -30,11 +30,11 @@ */ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++} function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return ba?-b:b}});ka("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); +function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function ia(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;da?-b:b}});ia("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); var la=Math.pow(2,36),ma=-Math.pow(2,35),q={Xb:0,ob:1,Zb:2,$b:3,ac:4,bc:5,cc:6,dc:7,Za:8,ec:9,pb:10,fc:11,gc:12,qb:13,hc:14,ic:15,jc:16,kc:17,lc:18,mc:19,nc:20,oc:21,pc:22,qc:23,rc:24,sc:25,tc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ya:65,Wb:66,Yb:67,uc:68,E:69,vc:70,wc:71,xc:72,yc:73,zc:74,Ac:75,Bc:76,Cc:77,Dc:78,Ec:79,Fc:80,Q:81, Gc:82,Hc:83,Ic:84,Jc:85,Kc:86,Lc:87,Mc:88,Nc:89,ub:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Oc:97,Pc:98,Qc:99,d:100,e:101,Rc:102,Sc:103,Tc:104,Uc:105,Vc:106,k:107,Wc:108,Xc:109,n:110,Yc:111,p:112,q:113,r:114,Zc:115,t:116,ad:117,bd:118,cd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,rb:127}; -function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.cb=b.comment;this.tb=b;this.exports={};this.G=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Ta:!1,V:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.g=this.D=this.C=this.ma=null;u.push(this)}function na(a,b,c){oa[a]&&b&&(oa[a][b]=c)}function va(){return Date.now()||+new Date} +function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.cb=b.comment;this.tb=b;this.exports={};this.G=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Ta:!1,V:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.g=this.D=this.C=this.ma=null;u.push(this)}function na(a,b,c){oa[a]&&b&&(oa[a][b]=c)}function pa(){return Date.now()||+new Date} function v(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.confirm(a));return b}function xa(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.g=this.D=this.C=null;this.exports={hold:this.yb,toggle:this.Rb,reset:this.Nb, -set:this.Qb};C(this)}p(Yb,t);l=Yb.prototype;l.reset=function(a){this.stop();a&&$b(this,this.v=0)}; +var A="pdp10",Jb="PDPjs",Kb=Math.pow(2,18),Lb=Math.pow(2,18)-1,Mb=Math.pow(2,36),F=Math.pow(2,18),Nb=Math.pow(2,35)-1,Ob=Math.pow(2,21),Pb=Math.pow(2,26),Qb=Math.pow(2,23),A="pdp10",Jb="PDPjs",G={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648}; +function Rb(a,b){t.call(this,"Panel",a,512);this.J=this.L=0;this.T=b;this.i=this.I=this.u=this.v=0;this.M=this.N=-1;this.O=this.R=this.F=!1;this.S=Sb;this.B={};this.b={START:[1,1,!0,!1,this.Hb],STEP:[1,1,!1,!1,this.Ib],ENABLE:[1,1,!1,!1,this.Cb],CONT:[1,1,!0,!1,this.Ab],DEP:[0,0,!0,!1,this.Bb],EXAM:[1,1,!0,!1,this.Db],LOAD:[1,1,!0,!1,this.Fb],TEST:[0,0,!0,!1,this.Eb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.g=this.D=this.C=null;this.exports={hold:this.yb,toggle:this.Rb,reset:this.Nb, +set:this.Qb};C(this)}p(Rb,t);l=Rb.prototype;l.reset=function(a){this.stop();a&&Tb(this,this.v=0)}; l.ga=function(a,b,c,d){if(this.C&&this.C.ga(a,b,c,d)||this.g&&this.g.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.G[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.G[b]=c,this.B[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.G[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ac(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){bc(a,b)}}(this,b),a.ontouchstart= function(a,b){return function(c){ac(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bc(a,b)}}(this,b),!0):t.prototype.ga.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;cc(this);dc(this)};l.na=function(a,b){if(!b)if(this.T&&ec(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.i,this.v,this.u]);return a.data()}; -l.restore=function(a){if(a=a[0])fc(this,this.i=a[0]),$b(this,this.v=a[1]),gc(this,a[2]);return!0};l.Nb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}dc(this);return!0};function hc(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cc(a,b){for(var c in a.B)hc(a,c,null!=b?b:a.B[c])}function ic(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function dc(a){for(var b in a.b)ic(a,b,a.b[b][1])} +l.restore=function(a){if(a=a[0])fc(this,this.i=a[0]),Tb(this,this.v=a[1]),gc(this,a[2]);return!0};l.Nb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}dc(this);return!0};function hc(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cc(a,b){for(var c in a.B)hc(a,c,null!=b?b:a.B[c])}function ic(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function dc(a){for(var b in a.b)ic(a,b,a.b[b][1])} l.yb=function(a,b,c){if(ac(this,b)){if(c){var d=this;setTimeout(function(){bc(d,b);a&&a()},+c);return!1}bc(this,b)}return!0};l.Qb=function(a,b){if("SR"==a)return gc(this,Ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,ic(this,a,c[1]),!0):!1};l.Rb=function(a){return ac(this,a)?(bc(this,a),!0):!1};function ac(a,b){var c=a.b[b];return c?(ic(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=jc&&(a.O=b==kc,a.R=b==lc),!0):!1} function bc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(ic(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Hb=function(a){a||this.g.j.K||(this.g.u=this.i%Kb,this.b[mc]&&this.b[mc][1]&&nc(this.g))};l.Ib=function(){};l.Cb=function(a){a||this.g.W()}; -l.Ab=function(a){if(!a&&!this.g.j.K)if(this.b[mc]&&this.b[mc][1])nc(this.g);else{if((a=this.A)&&!Qa(a,!0))Ra(a,!0),oc(a,0,null),Ra(a,!1);else try{var b=this.g.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.i;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Ac(Bc,e,g)}e=new wc(a,e,m,16384,d);xc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Cc[d]+" at "+Wa(b)),!0):Ac(Dc,b,c)} function uc(a,b){var c=a.b[(b&a.u)>>>a.i];a.v++;b=c.G(b&16383,b);a.v--;return b}function tc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.v++;d.D(c,b&16383,b);a.v--}function yc(a){for(var b=0,c=[],d=0;d=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=rd(a)&&(a.da=a.ia=-1,nd(a),a.W(),c=!0);c&&a.f(rd(a)+" cycles: checksum="+E(a.sa))}} l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.V)a=!0;else{var b=null,c,h=xa(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.T=b;b=a.Da*a.T;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&vd(a.C)}qc(a,a.F);a.F=0;a.B=va();a.J=0;td(a);return d}function wd(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function xd(a){for(var b=[],c=0;ca.R/a.S?b=1:d=!0;a.T=b;b=a.Da*a.T;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&vd(a.C)}qc(a,a.F);a.F=0;a.B=pa();a.J=0;td(a);return d}function wd(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function xd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function yd(a,b){var c=a.L-=a.M;a.M=0;b&&(a.L=0);return c} -l.Ob=function(){if(this.j.K){this.ya>=this.Ra&&td(this,!0);this.ja=0;this.ra=va();if(this.J){var a=this.ra-this.J;a>this.Qa&&(this.B+=a,this.B>this.ra&&(this.B=this.ra))}try{do{var b=wd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=yd(this,!0);this.ja+=b;this.F+=b;rc(this,b);pc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=zd&&(this.C&&J(this.C,void 0),this.Sa=0);break}}while(this.j.K)}catch(e){this.W();this.C&&this.C.stop(va(),rd(this));Ga(this, -e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.fb;this.J=va();var c=this.Qa;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.J-this.ra),d=this.J-this.B;d&&(this.R=Math.round(this.F/(10*d))/100,864E5<=d&&(this.N=0,sd(this)));if(0>c||this.Rc&&(this.B-=c),c=0;this.ya+=this.ja;this.J+=c;a(b,c)}}}; -function nc(a,b){if(!Oa(a))if(a.j.K)a.f(a.toString()+" busy");else{sd(a);a.j.K=!0;a.j.Pa=!0;var c=a.G.run;c&&(c.textContent="Halt");a.C&&(b&&vd(a.C,!0),a.C.start(a.B,rd(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.W=function(a){var b=!1;if(this.j.K){yd(this);qc(this,this.F);this.F=0;this.j.K=!1;if(b=this.G.run)b.textContent="Run";this.C&&this.C.stop(va(),rd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var ud=30,zd=15,kd=["power","reset"]; +l.Ob=function(){if(this.j.K){this.ya>=this.Ra&&td(this,!0);this.ja=0;this.ra=pa();if(this.J){var a=this.ra-this.J;a>this.Qa&&(this.B+=a,this.B>this.ra&&(this.B=this.ra))}try{do{var b=wd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=yd(this,!0);this.ja+=b;this.F+=b;rc(this,b);pc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=zd&&(this.C&&J(this.C,void 0),this.Sa=0);break}}while(this.j.K)}catch(e){this.W();this.C&&this.C.stop(pa(),rd(this));Ga(this, +e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.fb;this.J=pa();var c=this.Qa;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.J-this.ra),d=this.J-this.B;d&&(this.R=Math.round(this.F/(10*d))/100,864E5<=d&&(this.N=0,sd(this)));if(0>c||this.Rc&&(this.B-=c),c=0;this.ya+=this.ja;this.J+=c;a(b,c)}}}; +function nc(a,b){if(!Ha(a))if(a.j.K)a.f(a.toString()+" busy");else{sd(a);a.j.K=!0;a.j.Pa=!0;var c=a.G.run;c&&(c.textContent="Halt");a.C&&(b&&vd(a.C,!0),a.C.start(a.B,rd(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.W=function(a){var b=!1;if(this.j.K){yd(this);qc(this,this.F);this.F=0;this.j.K=!1;if(b=this.G.run)b.textContent="Run";this.C&&this.C.stop(pa(),rd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var ud=30,zd=15,kd=["power","reset"]; function Ad(a){var b=+a.model||1001;jd.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.sb=Bd.bind(this);this.b=L.bind(this);this.oa=null;this.ab=[];this.j.complete=!1}p(Ad,jd);l=Ad.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.K&&this.W();this.i=this.O=this.za=0;this.pa=this.u=this.qa=this.bb;this.v=0;this.H=this.Kb;this.P=this.Vb;this.oa=null;md(this);this.j.error=!1;jd.prototype.reset.call(this)};l.lb=function(){return 0}; l.save=function(){var a=new H(this);a.set(0,[this.i,this.O,this.za,this.u,this.qa,this.pa,this.v]);a.set(1,[]);a.set(2,[this.N,this.T,this.j.Z]);a.set(3,Cd(this));a.set(4,xd(this));return a.data()}; l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.i=b.next().value;this.O=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.pa=b.next().value;this.v=b.next().value;b=a[2];this.N=b[0];sd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.i].H(a&16383,a)};l.Vb=function(a,b){var c=this.D;a=this.pa=a;c.b[(a&c.u)>>>c.i].P(b,a&16383,a)}; l.Ja=function(a){this.j.complete=!0;var b=this.A?Ed(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.L=this.M=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Fd(this.A,this.u,c)){this.W();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.oa||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Fd(this.A,this.u,c)){this.W();break}if(0>c)break}}this.v&=15;this.O=this.O&4194304?this.H(this.i)&8388607:(this.za=this.H(this.qa=this.u))&8388607;this.i=this.O&262143; -if(a=this.O>>18&15)this.i=this.i+this.H(a)&Lb;this.O&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Xb|0);0<=a&&this.sb(a)}while(0>4].call(this,a)}function N(a){this.b(a)}function Hd(a){this.b(a)}function Id(a){this.b(a)} -function Jd(a){var b=a&15,c=this.H(this.i),d=this.H(b),d=Kd(a,d,c)+(c-(c&262143));this.P(b,d)}function Ld(a){var b=a&15,c=this.H(b),c=Kd(a,c,0);this.P(b,c)}function Md(a){var b=this.H(a&15),c=this.H(this.i),c=Kd(a,c,b)+(b-(b&262143));this.P(this.i,c)}function Nd(a){var b=this.H(this.i);this.P(this.i,Kd(a,b,b));var c=a&15;c&&(b=this.H(c),this.P(c,Kd(a,b,b)))}function Od(a){a&=15;var b=this.H(this.i)&262143,c=this.H(a);this.P(a,c-(c&262143)+b)}function O(a){this.b(a)} -function L(a){this.f("undefined opcode: "+Wa(a));Dd(this,-1);this.W()}function Kd(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Nb?262143:0}return b} +if(a=this.O>>18&15)this.i=this.i+this.H(a)&Lb;this.O&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Qb|0);0<=a&&this.sb(a)}while(0>4].call(this,a)}function N(a){this.b(a)}function Hd(a){this.b(a)}function Id(a){this.b(a)} +function Jd(a){var b=a&15,c=this.H(this.i),d=this.H(b);this.P(b,Kd(a,d,c)+(c-(c&262143)))}function Ld(a){var b=a&15,c=this.H(b);this.P(b,Kd(a,c,0))}function Md(a){var b=this.H(a&15),c=this.H(this.i);this.P(this.i,Kd(a,c,b)+(b-(b&262143)))}function Nd(a){var b=this.H(this.i);this.P(this.i,Od(a,b,b));var c=a&15;c&&(b=this.H(c),this.P(c,Od(a,b,b)))}function Pd(a){var b=a&15,c=(this.H(this.i)&262143)*F,d=this.H(b);this.P(b,Kd(a,d,c)+c)} +function Qd(a){var b=a&15,c=this.i*F,d=this.H(b);this.P(b,Kd(a,d,c)+c)}function Rd(a){var b=(this.H(a&15)&262143)*F,c=this.H(this.i);this.P(this.i,Kd(a,c,b)+b)}function Sd(a){var b=this.H(this.i),c=(b&262143)*F;this.P(this.i,Kd(a,b,c)+c);var d=a&15;d&&(b=this.H(d),c=(b&262143)*F,this.P(d,Kd(a,b,c)+c))}function Td(a){a&=15;var b=this.H(this.i)&262143,c=this.H(a);this.P(a,c-(c&262143)+b)}function O(a){this.b(a)}function L(a){this.f("undefined opcode: "+Wa(a));Dd(this,-1);this.W()} +function Kd(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Nb?262143:0}return b}function Od(a,b,c){if(a&=384)switch(b-=b&262143,a){case 256:b+=262143;break;case 384:b+=c>Nb?262143:0}return b} var Gd=[N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Hd,Id,Id,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Hd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, @@ -110,117 +111,116 @@ function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a) function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Jd,Ld,Md,Nd,function(a){a&=15;var b=this.H(this.i)&262143,c=this.H(a),c=(c&262143)+b*F;this.P(a,c)},function(a){a&=15;var b=this.H(a),b=(b&262143)+this.i*F;this.P(a,b)},function(a){a= -this.H(a&15)&262143;var b=this.H(this.i),b=(b&262143)+a*F;this.P(this.i,b)},function(a){var b=this.H(this.i)&262143;this.P(this.i,b+b*F);if(a&=15)b=this.H(a)&262143,this.P(a,b+b*F)},Jd,Ld,Md,Nd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Jd,Ld,Md,Nd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Jd,Ld,Md,Nd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Od,function(a){a&= -15;var b=this.H(a),b=b-(b&262143)+this.i;this.P(a,b)},function(a){a=this.H(a&15)&262143;var b=this.H(this.i);this.P(this.i,b-(b&262143)+a)},function(a){a&15&&Od.call(this,a)},function(a){a&=15;var b=this.H(this.i)/F|0,c=this.H(a);this.P(a,c-(c&262143)+b)},function(a){a&=15;var b=this.H(a);this.P(a,b-(b&262143))},function(a){a=this.H(a&15)/F|0;var b=this.H(this.i);this.P(this.i,b-(b&262143)+a)},function(a){var b=this.H(this.i);this.P(this.i,(b&262143)+(b/F|0));if(a&=15)b=this.H(a),this.P(a,(b&262143)+ -(b/F|0))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Jd,Ld,Md,Nd,Pd,Qd,Rd,Sd,Jd,Ld,Md,Nd,Pd,Qd,Rd,Sd,Jd,Ld,Md,Nd,Pd,Qd,Rd,Sd,Jd,Ld,Md,Nd,Pd,Qd,Rd,Sd,Td,function(a){a&=15;var b=this.H(a),b=b-(b&262143)+this.i;this.P(a,b)},function(a){a= +this.H(a&15)&262143;var b=this.H(this.i);this.P(this.i,b-(b&262143)+a)},function(a){a&15&&Td.call(this,a)},function(a){a&=15;var b=this.H(this.i)/F|0,c=this.H(a);this.P(a,c-(c&262143)+b)},function(a){a&=15;var b=this.H(a);this.P(a,b-(b&262143))},function(a){a=this.H(a&15)/F|0;var b=this.H(this.i);this.P(this.i,b-(b&262143)+a)},function(a){var b=this.H(this.i);this.P(this.i,(b&262143)+(b/F|0));if(a&=15)b=this.H(a),this.P(a,(b&262143)+(b/F|0))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O]; -function Pd(a){t.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.v=a.file;this.F=Xa(this.v);if(this.v){a=this.v;var b=Ya(this.F);"json"!=b&&"hex"!=b&&(a=$a()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;pb(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(na(c.La,a,b),(a=qb(a,b))?(c.b=a.Y,c.U=a.U):c.v=null);Qd(c)})}}p(Pd,t); -Pd.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;Qd(this)};Pd.prototype.na=function(){this.U&&(this.A&&Rd(this.A,this.id,this.B,this.u,this.U),delete this.U);return!0};Pd.prototype.fa=function(){return!0}; -function Qd(a){if(!Pa(a)){if(a.v){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ga(a,"ROM size ("+E(a.b.length,8,!0)+") does not match specified size ("+E(a.u,8,!0)+")");else{var b;b=a.B;if(zc(a.D,b,a.u,Hc)){var c;for(c=0;c>>g.i;0>>= -g.i;0>>a.i;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.Ya&&c<=q.ub&&(b=c-(q.Ya-q.ob));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.qb&&(b=q.pb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O, +O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O]; +function Ud(a){t.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.v=a.file;this.F=Xa(this.v);if(this.v){a=this.v;var b=Ya(this.F);"json"!=b&&"hex"!=b&&(a=$a()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;pb(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(na(c.La,a,b),(a=qb(a,b))?(c.b=a.Y,c.U=a.U):c.v=null);Vd(c)})}}p(Ud,t); +Ud.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;Vd(this)};Ud.prototype.na=function(){this.U&&(this.A&&Wd(this.A,this.id,this.B,this.u,this.U),delete this.U);return!0};Ud.prototype.fa=function(){return!0}; +function Vd(a){if(!Pa(a)){if(a.v){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ga(a,"ROM size ("+E(a.b.length,8,!0)+") does not match specified size ("+E(a.u,8,!0)+")");else{var b;b=a.B;if(zc(a.D,b,a.u,Hc)){var c;for(c=0;c>>g.i;0>>= +g.i;0>>a.i;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.Ya&&c<=q.ub&&(b=c-(q.Ya-q.ob));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.qb&&(b=q.pb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;C(this)}; l.nb=function(a){if(!this.b){var b=ld(this.C,"connection");if(b){var c=b.split("->");if(2==c.length){var d=db(c[0]);if(d!=this.Ka)return;c=db(c[1]);if(this.b=ya(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.na=function(a,b){if(!b)if(this.nb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.R?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(db(b.substring(c,g))),c=g+1}}return a} -function Zd(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.R?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(db(b.substring(c,g))),c=g+1}}return a} +function de(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function P(a,b,c){var d;if(b){b=$d(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=E(c,0,!0)+" "+c+". "+Wa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} -function de(a,b){if(b)return ce(a,b,a.aa[b]);var c=0;for(b in a.aa)ce(a,b,a.aa[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var be={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function ee(a){Xd.call(this,a);this.ya=!1;this.oa=!0;this.ua=R();this.J=R();this.xa=R();this.O=R();this.F=[];this.b=this.L=this.I=[];fe(this);this.S=this.ja=0;this.i=[];this.ra=void 0;ge(this);this.A=this;this.pa={};this.X=this.ib=0;this.T=null;this.N=[];he(this,a.messages);this.ta=a.commands;this.M=0;this.Da=this.sa=null;this.B=this.Ca=this.za=this.ia=this.qa=0;this.ha=this.da=null;var b=this;window?void 0===window[A]&&(window[A]=function(a){return qd(b,a)}):void 0===global[A]&&(global[A]=function(a){return qd(b, -a)})}p(ee,Xd);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function R(a,b,c){return{w:void 0===a?null:a,wb:void 0===b?!1:b,ea:!1,ba:c}}function ie(a,b){a.w=b.w;a.ea=b.ea;a.ba=b.ba}function je(a,b){a.w=b;a.ea=!1;a.ba=void 0}function ke(a){return[a.w,a.wb,a.ba,a.ea,a.Oa]}function le(a,b){var c=R(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.gb=Yd(a,c.Oa=b[4]));return c}l=ee.prototype; -l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.ha=a.u;(a=ld(a,"messages"))&&he(this,a);me(this,function(a){a:{var b=d.D.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.D.i;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Cc[c],n&&d.f(E(n.id,8)+" %"+E(e<=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=E(c,0,!0)+" "+c+". "+Wa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} +function ie(a,b){if(b)return he(a,b,a.aa[b]);var c=0;for(b in a.aa)he(a,b,a.aa[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var ge={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function je(a){be.call(this,a);this.ya=!1;this.oa=!0;this.ua=R();this.J=R();this.xa=R();this.O=R();this.F=[];this.b=this.L=this.I=[];ke(this);this.S=this.ja=0;this.i=[];this.ra=void 0;le(this);this.A=this;this.pa={};this.X=this.ib=0;this.T=null;this.N=[];me(this,a.messages);this.ta=a.commands;this.M=0;this.Da=this.sa=null;this.B=this.Ca=this.za=this.ia=this.qa=0;this.ha=this.da=null;var b=this;window?void 0===window[A]&&(window[A]=function(a){return qd(b,a)}):void 0===global[A]&&(global[A]=function(a){return qd(b, +a)})}p(je,be);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function R(a,b,c){return{w:void 0===a?null:a,wb:void 0===b?!1:b,ea:!1,ba:c}}function ne(a,b){a.w=b.w;a.ea=b.ea;a.ba=b.ba}function oe(a,b){a.w=b;a.ea=!1;a.ba=void 0}function pe(a){return[a.w,a.wb,a.ba,a.ea,a.Oa]}function qe(a,b){var c=R(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.gb=ce(a,c.Oa=b[4]));return c}l=je.prototype; +l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.ha=a.u;(a=ld(a,"messages"))&&me(this,a);re(this,function(a){a:{var b=d.D.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.D.i;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Cc[c],n&&d.f(E(n.id,8)+" %"+E(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.g.qa==b&&(b=Dd(a.g,1)));if(0d&&(d=a.g.H(b)),0<=d&&(je(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1} -function Ae(a,b,c,d){var e=R(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Ob|0,r;for(r in ff)if(f=ff[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=hf;m=n&3;break;case 32256:k=jf;m=n&7;break;case 29248:k=kf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>lf&&(k="B");k=mf[f||0]+k;k=cb(k,8);f?(k=28700==h?k+K(a,g/Pb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=oe(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+oe(k),null== -e.w)break;while(e.w!=b.w)}h+=cb(f,16)+g;c&&(h=cb(h,48)+";"+(c||""),h=a.g.j.Ea?h+("cycles="+rd(a.g).toString()+" cs="+E(a.g.sa)):h+(null!=d?"="+d.toString():""));return h}function fe(a){var b,c;a.b=["bp"];if(a.L)for(b=1;b>>d.i],!1)}a.L=["br"];if(a.I)for(b=1;b>>d.i],!0);a.I=["bw"];a.qa=0;a.ja=0} -l.Ba=function(a,b,c){var d=!0;c||nf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.f("invalid address: "+K(this,b.w)),d=!1;else{var g=this.D;g.b[e>>>g.i].Ba(e&16383,a==this.I)}}d&&(a.push(b),c?b.ea=!0:(of(this,a,a.length-1,"set"),ge(this)));return d};function nf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.i],b==a.I));h.ea||ge(a);break}}return g} -function pf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=Wa(d,2);je(e.ua,d);g+="="+K(e,e.wa(e.ua),36)+" ";c+=g}b&&(c+="\n"+(rf(a,qe)+rf(a,re)+rf(a,se)));return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=fb(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({$c:b,w:c,zb:d,U:e,hb:g})}function tf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.zb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);g=Ae(a,b,f,g);a.f(g);ie(a.J,b);e-=b.w-k;c++}}} -function qf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(we+b):(a.R&&(a.f("ended assemble at "+K(a,a.O.w)),ie(a.J,a.O),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Pa(a)&&0n||"z"lf&&(Nc="B");if($f==mf[Ee]+Nc){De=29248!=Qb?Ia:(Ia&3)<<1|(Ia&12)<<2;x=(Mc|De<<6)*Ob;break}}if(0<= -x)break}if(0<=x)break}if(0<=x)if(Be)for(var Oc=Be.split(","),eb=0;ebD||127D||15D||262143< -D){a.f("memory address out of range: "+V[2]);x=-1;break}x+=D;if(V[3]){D=P(a,V[3]);if(void 0==D){x=-1;break}if(0>D||15X.length&&(a.f("note: only "+X.length+" available"),M=X.length);Q-=M;0>Q&&(null==X[X.length-1].w?(M=Q+M,Q=0):Q+=X.length);var Tc=[];"call"==Ke&&(gb=1E5,Tc=["CALL"]);for(void 0!==Je&&a.f(M+" instructions earlier:");0=X.length&&(Q=0);a.ra=M;Me++;gb--}}Me||(a.f("no "+Le+"history available"),a.ra=void 0)}else{var qa=T(a,W);if(qa){var ra=0,Pe="ds"==La;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||cg,ra=ae(a,ia);else{var Qe=T(a,ia);Qe&&(ra=Qe.w-qa.w)}0>ra&&(ra=0);65536Ue;Ue++)Se+=String.fromCharCode((Sb%64|0)+32),Sb/=64}sa&&(sa+="\n");sa=Pe?sa+(ta+","):sa+(W+": "+ta+(0>Te?" "+Se:""))}sa&&a.f(sa);ie(a.xa,qa);a.ba=eg}}}}break;case "e":if("else"==f[0])break;var Ve,We,Xe=f[0],Wc=f[1];"e"==Xe||"ew"==Xe?(Ve=a.wa,We=a.$a):Wc=null;if(null==Wc)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var Tb=T(a,Wc);if(Tb)for(var Ub=2;Ub$c;){for(var ua=null,ig=256;65536>jb.w>>>0;){ad.w=a.wa(jb,2);if(null==jb.w||!ig--)break;if(!(ad.w&1)){for(var jg=a,Vb=ad,Ze=null,kb=Vb.w,$e=kb,bd=1;6>=bd&&kb;bd++){if(2d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.g.qa==b&&(b=Dd(a.g,1)));if(0d&&(d=a.g.H(b)),0<=d&&(oe(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1} +function Fe(a,b,c,d){var e=R(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Ob|0,r;for(r in Ge)if(f=Ge[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=mf;m=n&3;break;case 32256:k=of;m=n&7;break;case 29248:k=pf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>qf&&(k="B");k=rf[f||0]+k;k=cb(k,8);f?(k=28700==h?k+K(a,g/Pb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=te(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+te(k),null== +e.w)break;while(e.w!=b.w)}h+=cb(f,16)+g;c&&(h=cb(h,48)+";"+(c||""),h=a.g.j.Ea?h+("cycles="+rd(a.g).toString()+" cs="+E(a.g.sa)):h+(null!=d?"="+d.toString():""));return h}function ke(a){var b,c;a.b=["bp"];if(a.L)for(b=1;b>>d.i],!1)}a.L=["br"];if(a.I)for(b=1;b>>d.i],!0);a.I=["bw"];a.qa=0;a.ja=0} +l.Ba=function(a,b,c){var d=!0;c||sf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.f("invalid address: "+K(this,b.w)),d=!1;else{var g=this.D;g.b[e>>>g.i].Ba(e&16383,a==this.I)}}d&&(a.push(b),c?b.ea=!0:(tf(this,a,a.length-1,"set"),le(this)));return d};function sf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.i],b==a.I));h.ea||le(a);break}}return g} +function uf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=Wa(d,2);oe(e.ua,d);g+="="+K(e,e.wa(e.ua),36)+" ";c+=g}b&&(c+="\n"+(wf(a,ve)+wf(a,we)+wf(a,xe)));return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=fb(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({$c:b,w:c,zb:d,U:e,hb:g})}function yf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.zb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);g=Fe(a,b,f,g);a.f(g);ne(a.J,b);e-=b.w-k;c++}}} +function vf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Be+b):(a.R&&(a.f("ended assemble at "+K(a,a.O.w)),ne(a.J,a.O),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Pa(a)&&0n||"z"qf&&(Rc="B");if(eg==rf[Ke]+Rc){Je=29248!=Ub?Ja:(Ja&3)<<1|(Ja&12)<<2;x=(Qc|Je<<6)*Ob;break}}if(0<= +x)break}if(0<=x)break}if(0<=x)if(He)for(var Sc=He.split(","),eb=0;ebD||127D||15D||262143< +D){a.f("memory address out of range: "+V[2]);x=-1;break}x+=D;if(V[3]){D=P(a,V[3]);if(void 0==D){x=-1;break}if(0>D||15X.length&&(a.f("note: only "+X.length+" available"),M=X.length);Q-=M;0>Q&&(null==X[X.length-1].w?(M=Q+M,Q=0):Q+=X.length);var Xc=[];"call"==Qe&&(gb=1E5,Xc=["CALL"]);for(void 0!==Pe&&a.f(M+" instructions earlier:");0=X.length&&(Q=0);a.ra=M;Se++;gb--}}Se||(a.f("no "+Re+"history available"),a.ra=void 0)}else{var ra=T(a,W);if(ra){var sa=0,Ve="ds"==Ma;if(ja){if("l"==ja.charAt(0))ja=ja.substr(1)||hg,sa=fe(a,ja);else{var We=T(a,ja);We&&(sa=We.w-ra.w)}0>sa&&(sa=0);65536$e;$e++)Ye+=String.fromCharCode((Wb%64|0)+32),Wb/=64}ta&&(ta+="\n");ta=Ve?ta+(ua+","):ta+(W+": "+ua+(0>Ze?" "+Ye:""))}ta&&a.f(ta);ne(a.xa,ra);a.ba=jg}}}}break;case "e":if("else"==f[0])break;var af,bf,cf=f[0],$c=f[1];"e"==cf||"ew"==cf?(af=a.wa,bf=a.$a):$c=null;if(null==$c)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var Xb=T(a,$c);if(Xb)for(var Yb=2;Ybdd;){for(var va=null,ng=256;65536>jb.w>>>0;){ed.w=a.wa(jb,2);if(null==jb.w||!ng--)break;if(!(ed.w&1)){for(var og=a,Zb=ed,ef=null,kb=Zb.w,ff=kb,fd=1;6>=fd&&kb;fd++){if(2> ";Bb(function(){for(var a=B(document,A,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bFf){if(Gf(d,this.L)){this.B=new H(this,"1.34.0",Pf);Gf(this.B)&&(Qf(this,d),a=Rf,Sf(this.B));this.B.set(Mf,ob());Tf(this.B);var e=this.b&&!this.J;if(a==Nf||wa("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=Lf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Gf(d,f):("error"==g&&"no machine state"!= -f?(this.ca("Error: "+f),"unable to verify user"==f&&(ub(Uf,""),this.i=null)):this.f(g+": "+f),Sf(d),Gf(d)?(c=Lf(d),e=!0):c=!1))}e&&Jf(this,c?d:null)}else a==Rf&&d.clear()}else Jf(this);delete this.L;delete this.I}e=xa(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.V=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.g&&(Vf(this,this.g,b,c,a),J(this,-2),this.g.Z());this.O&&(Qf(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; -function Qf(a,b){if(wa("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.i||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;pb("http://www.pcjs.org/api/v1/report",d,!0)}} -function zf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.0"),f=new H(a,"1.34.0",Kf),h=ob();f.set(Mf,h);g.set(Mf,h);g.set(Wf,"1.34.0");g.set(Xf,window?window.location.href:null);g.set(Yf,window?window.navigator.userAgent:"");a.g&&a.g.fa&&(c&&(b&&(a.g.j.Z=a.g.j.K),a.g.W()),d=a.g.fa(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.V=!1,!1===d&&(e=null)));for(var h=xa(a.id),k=0;k> ";Bb(function(){for(var a=B(document,A,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bKf){if(Lf(d,this.L)){this.B=new H(this,"1.34.0",Uf);Lf(this.B)&&(Vf(this,d),a=Wf,Xf(this.B));this.B.set(Rf,ob());Yf(this.B);var e=this.b&&!this.J;if(a==Sf||wa("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=Qf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Lf(d,f):("error"==g&&"no machine state"!= +f?(this.ca("Error: "+f),"unable to verify user"==f&&(ub(Zf,""),this.i=null)):this.f(g+": "+f),Xf(d),Lf(d)?(c=Qf(d),e=!0):c=!1))}e&&Of(this,c?d:null)}else a==Wf&&d.clear()}else Of(this);delete this.L;delete this.I}e=xa(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.V=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.g&&($f(this,this.g,b,c,a),J(this,-2),this.g.Z());this.O&&(Vf(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; +function Vf(a,b){if(wa("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.i||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;pb("http://www.pcjs.org/api/v1/report",d,!0)}} +function Ef(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.0"),f=new H(a,"1.34.0",Pf),h=ob();f.set(Rf,h);g.set(Rf,h);g.set(ag,"1.34.0");g.set(bg,window?window.location.href:null);g.set(cg,window?window.navigator.userAgent:"");a.g&&a.g.fa&&(c&&(b&&(a.g.j.Z=a.g.j.K),a.g.W()),d=a.g.fa(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.V=!1,!1===d&&(e=null)));for(var h=xa(a.id),k=0;k=d||30<=(c.Ca+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.L)){c=a.g.j.K;d=!!(a.g.v&8);if(0>=b||60<=(a.J+=b)){e=a.g.u;if(a.G.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?Wa(e,void 0):E(e,void 0);a.G.PC.textContent!=e&&(a.G.PC.textContent=e)}a.J=0}-1>b?a.i=a.g.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");pb(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);ug(a,b,c)}})}else c(a,null)} -function vg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&B(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=ab(a))}function f(a){g("Error: "+a);m&&(--rg||Fb(!0));m=!1}var h,k,m=!0;rg++;oa[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=n:y.appendChild(document.createTextNode(n));r.appendChild(y)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.0/components.xsl");n=function(e,k){k?sg(d,null,a,null,!1,g,function(a,e){e?(na(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--rg||Fb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--rg|| -Fb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?sg(c,b,a,e,!0,g,n):tg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){Fb(!1);return vg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Fb(!1);return vg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return za(b,a+".machine")}; +function J(a,b){if(a.g){var c=a.g,d=b||0,e=c.G.speed;e&&(0>=d||30<=(c.Ca+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.L)){c=a.g.j.K;d=!!(a.g.v&8);if(0>=b||60<=(a.J+=b)){e=a.g.u;if(a.G.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?Wa(e,void 0):E(e,void 0);a.G.PC.textContent!=e&&(a.G.PC.textContent=e)}a.J=0}-1>b?a.i=a.g.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");pb(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);zg(a,b,c)}})}else c(a,null)} +function Ag(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&B(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=ab(a))}function f(a){g("Error: "+a);m&&(--wg||Fb(!0));m=!1}var h,k,m=!0;wg++;oa[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=n:y.appendChild(document.createTextNode(n));r.appendChild(y)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.0/components.xsl");n=function(e,k){k?xg(d,null,a,null,!1,g,function(a,e){e?(na(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--wg||Fb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--wg|| +Fb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?xg(c,b,a,e,!0,g,n):yg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){Fb(!1);return Ag("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Fb(!1);return Ag("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return za(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ca[a]){for(var c=!0,d=Ca,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n>>a.c];a.h++;b=c.o(b&16383,b);a.h--;a=b}else a=this.f.m(this.c);N(this,this.h=a)}};k.gb=function(a){a||this.f.b.A||Q(this,this.g)};k.fb=function(a){a?(this.s=!0,ab(this,!0)):(this.s=!1,ab(this),db(this,0))};k.hb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.c;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return ub(vb,e,f)}e=new T(a,e,p,16384,d);rb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+wb[d]+" at "+xa(b)),!0):ub(xb,b,c)}function pb(a,b,c){var d=a.a[(b&a.g)>>>a.c];a.h++;d.l(c,b&16383,b);a.h--} -function sb(a){for(var b=0,c=[],d=0;d=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Mb(a)&&(a.da=a.ea=-1,Lb(a),R(a),c=!0);c&&a.K(Mb(a)+" cycles: checksum="+F(a.na))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.o)if(a=d.o,a.b.B)a=!0;else{var b=null,c,h=y(a.id);for(c=0;ca.L/a.O&&(b=1);a.W=b;b=a.za*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.K("target speed: "+b)}c&&a.o&&(c=a.o,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}mb(a,a.s);a.s=0;a.j=w();a.C=0;Ob(a)}function Qb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Rb(a,b){var c=a.D-=a.G;a.G=0;b&&(a.D=0);return c} -k.pb=function(){if(this.b.A){this.pa>=this.Ba&&Ob(this,!0);this.ca=0;this.ja=w();if(this.C){var a=this.ja-this.C;a>this.Aa&&(this.j+=a,this.j>this.ja&&(this.j=this.ja))}try{do{for(var b,c=this.b.sa?1:this.fa,d=this.w.length-1;0<=d;d--){var e=this.w[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Rb(this,!0);this.ca+=b;this.s+=b;nb(this,b);lb(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Sb&&(this.o&&S(this.o,void 0),this.Ca=0);break}}while(this.b.A)}catch(f){R(this); -this.o&&this.o.stop(w(),Mb(this));a=f.stack||f.message;this.b.error=!0;this.F(a);return}if(this.b.A){a=setTimeout;b=this.Na;this.C=w();c=this.Aa;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.C-this.ja;if(d=this.C-this.j)this.L=Math.round(this.s/(10*d))/100,864E5<=d&&(this.I=0,Nb(this));if(0>c||this.Lc&&(this.j-=c),c=0;this.pa+=this.ca;this.C+=c;a(b,c)}}}; -function kb(a){var b;a.b.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.b.A)a.K(a.toString()+" busy");else{Nb(a);a.b.A=!0;a.b.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.o&&a.o.start(a.j,Mb(a));a.u||a.status("Started");setTimeout(a.Na,0)}}k.wa=function(){return 0};function R(a){var b=!1;if(a.b.A){Rb(a);mb(a,a.s);a.s=0;a.b.A=!1;if(b=a.i.run)b.textContent="Run";a.o&&a.o.stop(w(),Mb(a));b=!0;a.u||a.status("Stopped")}a.b.complete=void 0;return b}var Pb=30,Sb=15,Jb=["power","reset"]; -function Tb(a){var b=+a.model||1001;Ib.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Ub.bind(this);this.a=V.bind(this);this.ha=null;this.Ka=[];this.b.complete=!1}n(Tb,Ib);k=Tb.prototype;k.reset=function(){this.status("Model "+this.Va);this.b.A&&R(this);this.c=this.M=this.qa=0;this.ia=this.h=this.ya=this.La;this.g=0;this.m=this.lb;this.v=this.wb;this.ha=null;Kb(this);this.b.error=!1;Ib.prototype.reset.call(this)};k.Pa=function(){return 0}; -k.save=function(){var a=new P(this);a.set(0,[this.c,this.M,this.qa,this.h,this.ya,this.ia,this.g]);a.set(1,[]);a.set(2,[this.I,this.W,this.b.J]);a.set(3,Vb(this));a.set(4,Qb(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.c=b.next().value;this.M=b.next().value;this.qa=b.next().value;this.h=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.g=b.next().value;b=a[2];this.I=b[0];Nb(this,b[1]);this.b.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.c].m(a&16383,a)};k.wb=function(a,b){var c=this.l;a=this.ia=a;c.a[(a&c.g)>>>c.c].v(b,a&16383,a)}; -k.wa=function(a){this.b.complete=!0;var b=a?this.b.Ga?0:1:-1;this.b.Ga=!1;this.D=this.G=a;this.g=this.g&-5|0;do{if(a=this.g)if(a=this.g&11)this.g&2?this.ha||(this.g&=-3):this.g&1&&this.g++,a=!1;if(a){if(this.g&4&&this.u.h(this.h,b)){R(this);break}if(0>b)break}this.g&=15;this.M=this.M&4194304?this.m(this.c)&8388607:(this.qa=this.m(this.ya=this.h))&8388607;this.c=this.M&262143;if(a=this.M>>18&15)this.c=this.c+this.m(a)&Ua;this.M&4194304?a=-1:(this.h=(this.h+1)%Ta,a=this.qa/Xa|0);0<=a&&this.Wa(a)}while(0< -this.G);return this.b.complete?this.D-this.G:!1===this.b.complete?-1:0};I(function(){for(var a=D(document,C,"cpu"),b=0;b>4].call(this,a)}function W(a){this.a(a)}function Xb(a){this.a(a)}function Yb(a){this.a(a)}function Zb(a){var b=a&15,c=this.m(this.c),d=this.m(b),d=$b(a,d,c)+(c-(c&262143));this.v(b,d)}function ac(a){var b=a&15,c=this.m(b),c=$b(a,c,0);this.v(b,c)} -function bc(a){var b=this.m(a&15),c=this.m(this.c),c=$b(a,c,b)+(b-(b&262143));this.v(this.c,c)}function cc(a){var b=this.m(this.c);this.v(this.c,$b(a,b,b));var c=a&15;c&&(b=this.m(c),this.v(c,$b(a,b,b)))}function dc(a){a&=15;var b=this.m(this.c)&262143,c=this.m(a);this.v(a,c-(c&262143)+b)}function X(a){this.a(a)}function V(a){this.K("undefined opcode: "+xa(a));this.h=(this.h+-1)%Ta;R(this)} -function $b(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} -var Wb=[W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return eb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,gb(this,a,c[1]),!0):!1};k.sb=function(a){return $a(this,a)?(O(this,a),!0):!1};function $a(a,b){var c=a.a[b];return c?(gb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=hb&&(a.L=b==ib,a.M=b==jb),!0):!1}function O(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(gb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} +k.ib=function(a){a||this.f.b.A||(this.f.h=this.c%Ta,this.a[kb]&&this.a[kb][1]&&lb(this.f))};k.jb=function(){};k.cb=function(a){a||Q(this.f)};k.ab=function(a){if(!a&&!this.f.b.A)if(this.a[kb]&&this.a[kb][1])lb(this.f);else{a=this.u;var b;if(b=a)a.b.ra&&(a.b.Da=!0),b=!a.b.ra;if(b)va(a,!0),a.c(0,null),va(a,!1);else try{var c=this.f.wa(1);0>>a.c];a.h++;b=c.o(b&16383,b);a.h--;a=b}else a=this.f.m(this.c);N(this,this.h=a)}};k.gb=function(a){a||this.f.b.A||db(this,this.g)};k.fb=function(a){a?(this.s=!0,ab(this,!0)):(this.s=!1,ab(this),eb(this,0))};k.hb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.c;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return vb(wb,e,f)}e=new S(a,e,p,16384,d);sb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+xb[d]+" at "+xa(b)),!0):vb(yb,b,c)}function qb(a,b,c){var d=a.a[(b&a.g)>>>a.c];a.h++;d.l(c,b&16383,b);a.h--} +function tb(a){for(var b=0,c=[],d=0;d=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Nb(a)&&(a.da=a.ea=-1,Mb(a),Q(a),c=!0);c&&a.K(Nb(a)+" cycles: checksum="+F(a.na))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.o)if(a=d.o,a.b.B)a=!0;else{var b=null,c,h=y(a.id);for(c=0;ca.L/a.O&&(b=1);a.W=b;b=a.za*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.K("target speed: "+b)}c&&a.o&&(c=a.o,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}nb(a,a.s);a.s=0;a.j=w();a.C=0;Pb(a)}function Rb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Sb(a,b){var c=a.D-=a.G;a.G=0;b&&(a.D=0);return c} +k.pb=function(){if(this.b.A){this.pa>=this.Ba&&Pb(this,!0);this.ca=0;this.ja=w();if(this.C){var a=this.ja-this.C;a>this.Aa&&(this.j+=a,this.j>this.ja&&(this.j=this.ja))}try{do{for(var b,c=this.b.sa?1:this.fa,d=this.w.length-1;0<=d;d--){var e=this.w[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Sb(this,!0);this.ca+=b;this.s+=b;ob(this,b);mb(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Tb&&(this.o&&R(this.o,void 0),this.Ca=0);break}}while(this.b.A)}catch(f){Q(this); +this.o&&this.o.stop(w(),Nb(this));a=f.stack||f.message;this.b.error=!0;this.F(a);return}if(this.b.A){a=setTimeout;b=this.Na;this.C=w();c=this.Aa;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.C-this.ja;if(d=this.C-this.j)this.L=Math.round(this.s/(10*d))/100,864E5<=d&&(this.I=0,Ob(this));if(0>c||this.Lc&&(this.j-=c),c=0;this.pa+=this.ca;this.C+=c;a(b,c)}}}; +function lb(a){var b;a.b.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.b.A)a.K(a.toString()+" busy");else{Ob(a);a.b.A=!0;a.b.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.o&&a.o.start(a.j,Nb(a));a.u||a.status("Started");setTimeout(a.Na,0)}}k.wa=function(){return 0};function Q(a){var b=!1;if(a.b.A){Sb(a);nb(a,a.s);a.s=0;a.b.A=!1;if(b=a.i.run)b.textContent="Run";a.o&&a.o.stop(w(),Nb(a));b=!0;a.u||a.status("Stopped")}a.b.complete=void 0;return b}var Qb=30,Tb=15,Kb=["power","reset"]; +function Ub(a){var b=+a.model||1001;Jb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Vb.bind(this);this.a=U.bind(this);this.ha=null;this.Ka=[];this.b.complete=!1}n(Ub,Jb);k=Ub.prototype;k.reset=function(){this.status("Model "+this.Va);this.b.A&&Q(this);this.c=this.M=this.qa=0;this.ia=this.h=this.ya=this.La;this.g=0;this.m=this.lb;this.v=this.wb;this.ha=null;Lb(this);this.b.error=!1;Jb.prototype.reset.call(this)};k.Pa=function(){return 0}; +k.save=function(){var a=new P(this);a.set(0,[this.c,this.M,this.qa,this.h,this.ya,this.ia,this.g]);a.set(1,[]);a.set(2,[this.I,this.W,this.b.J]);a.set(3,Wb(this));a.set(4,Rb(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.c=b.next().value;this.M=b.next().value;this.qa=b.next().value;this.h=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.g=b.next().value;b=a[2];this.I=b[0];Ob(this,b[1]);this.b.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.c].m(a&16383,a)};k.wb=function(a,b){var c=this.l;a=this.ia=a;c.a[(a&c.g)>>>c.c].v(b,a&16383,a)}; +k.wa=function(a){this.b.complete=!0;var b=a?this.b.Ga?0:1:-1;this.b.Ga=!1;this.D=this.G=a;this.g=this.g&-5|0;do{if(a=this.g)if(a=this.g&11)this.g&2?this.ha||(this.g&=-3):this.g&1&&this.g++,a=!1;if(a){if(this.g&4&&this.u.h(this.h,b)){Q(this);break}if(0>b)break}this.g&=15;this.M=this.M&4194304?this.m(this.c)&8388607:(this.qa=this.m(this.ya=this.h))&8388607;this.c=this.M&262143;if(a=this.M>>18&15)this.c=this.c+this.m(a)&Ua;this.M&4194304?a=-1:(this.h=(this.h+1)%Ta,a=this.qa/Xa|0);0<=a&&this.Wa(a)}while(0< +this.G);return this.b.complete?this.D-this.G:!1===this.b.complete?-1:0};I(function(){for(var a=D(document,C,"cpu"),b=0;b>4].call(this,a)}function V(a){this.a(a)}function Yb(a){this.a(a)}function Zb(a){this.a(a)}function $b(a){var b=a&15,c=this.m(this.c),d=this.m(b);this.v(b,W(a,d,c)+(c-(c&262143)))}function ac(a){var b=a&15,c=this.m(b);this.v(b,W(a,c,0))} +function bc(a){var b=this.m(a&15),c=this.m(this.c);this.v(this.c,W(a,c,b)+(b-(b&262143)))}function cc(a){var b=this.m(this.c);this.v(this.c,dc(a,b,b));var c=a&15;c&&(b=this.m(c),this.v(c,dc(a,b,b)))}function ec(a){var b=a&15,c=(this.m(this.c)&262143)*M,d=this.m(b);this.v(b,W(a,d,c)+c)}function fc(a){var b=a&15,c=this.c*M,d=this.m(b);this.v(b,W(a,d,c)+c)}function gc(a){var b=(this.m(a&15)&262143)*M,c=this.m(this.c);this.v(this.c,W(a,c,b)+b)} +function hc(a){var b=this.m(this.c),c=(b&262143)*M;this.v(this.c,W(a,b,c)+c);var d=a&15;d&&(b=this.m(d),c=(b&262143)*M,this.v(d,W(a,b,c)+c))}function ic(a){a&=15;var b=this.m(this.c)&262143,c=this.m(a);this.v(a,c-(c&262143)+b)}function X(a){this.a(a)}function U(a){this.K("undefined opcode: "+xa(a));this.h=(this.h+-1)%Ta;Q(this)}function W(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} +function dc(a,b,c){if(a&=384)switch(b-=b&262143,a){case 256:b+=262143;break;case 384:b+=c>Wa?262143:0}return b} +var Xb=[V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Xb,Yb,Yb,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Xb,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Yb,Zb,Zb,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Yb,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Zb,ac,bc,cc,function(a){a&=15;var b=this.m(this.c)&262143,c=this.m(a),c=(c&262143)+b*M;this.v(a,c)},function(a){a&=15;var b=this.m(a),b=(b&262143)+this.c*M;this.v(a,b)},function(a){a= -this.m(a&15)&262143;var b=this.m(this.c),b=(b&262143)+a*M;this.v(this.c,b)},function(a){var b=this.m(this.c)&262143;this.v(this.c,b+b*M);if(a&=15)b=this.m(a)&262143,this.v(a,b+b*M)},Zb,ac,bc,cc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Zb,ac,bc,cc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Zb,ac,bc,cc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},dc,function(a){a&= -15;var b=this.m(a),b=b-(b&262143)+this.c;this.v(a,b)},function(a){a=this.m(a&15)&262143;var b=this.m(this.c);this.v(this.c,b-(b&262143)+a)},function(a){a&15&&dc.call(this,a)},function(a){a&=15;var b=this.m(this.c)/M|0,c=this.m(a);this.v(a,c-(c&262143)+b)},function(a){a&=15;var b=this.m(a);this.v(a,b-(b&262143))},function(a){a=this.m(a&15)/M|0;var b=this.m(this.c);this.v(this.c,b-(b&262143)+a)},function(a){var b=this.m(this.c);this.v(this.c,(b&262143)+(b/M|0));if(a&=15)b=this.m(a),this.v(a,(b&262143)+ -(b/M|0))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},$b,ac,bc,cc,ec,fc,gc,hc,$b,ac,bc,cc,ec,fc,gc,hc,$b,ac,bc,cc,ec,fc,gc,hc,$b,ac,bc,cc,ec,fc,gc,hc,ic,function(a){a&=15;var b=this.m(a),b=b-(b&262143)+this.c;this.v(a,b)},function(a){a= +this.m(a&15)&262143;var b=this.m(this.c);this.v(this.c,b-(b&262143)+a)},function(a){a&15&&ic.call(this,a)},function(a){a&=15;var b=this.m(this.c)/M|0,c=this.m(a);this.v(a,c-(c&262143)+b)},function(a){a&=15;var b=this.m(a);this.v(a,b-(b&262143))},function(a){a=this.m(a&15)/M|0;var b=this.m(this.c);this.v(this.c,b-(b&262143)+a)},function(a){var b=this.m(this.c);this.v(this.c,(b&262143)+(b/M|0));if(a&=15)b=this.m(a),this.v(a,(b&262143)+(b/M|0))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; -function ec(a){t.call(this,"ROM",a);this.N=this.a=null;this.j=+a.addr;this.g=+a.size;this.c=a.alias;"string"==typeof this.c&&(this.c=eval(this.c));this.h=a.file;this.s=ya(this.h);if(this.h){a=this.h;var b=za(this.s);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(la(c.ma,a,b),(a=Fa(a,b))?(c.a=a.H,c.N=a.N):c.h=null);fc(c)})}}n(ec,t); -ec.prototype.Z=function(a,b,c,d){this.l=b;this.f=c;this.u=d;fc(this)};ec.prototype.V=function(){this.N&&(this.u&&this.u.a(this.id,this.j,this.g,this.N),delete this.N);return!0};ec.prototype.P=function(){return!0}; -function fc(a){if(!ua(a)){if(a.h){if(!a.a||!a.l)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+F(a.a.length,8,!0)+") does not match specified size ("+F(a.g,8,!0)+")";a.b.error=!0;a.F(b)}else{b=a.j;if(tb(a.l,b,a.g,Bb)){var c;for(c=0;c>>f.c;0>>=f.c;0>>f.c;0>>=f.c;0>>a.c;0g&&g>=ka&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ia&&c<=q.Ya&&(b=c-(q.Ia-q.Ra));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ta&&(b=q.Sa);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +c.T&&(c.T=a.T),null==c.S&&(c.S=a.S)):c.a=null);lc(c)})}}n(Y,t);Y.prototype.Z=function(a,b,c,d){this.l=b;this.f=c;this.u=d;lc(this)};Y.prototype.V=function(a,b){this.N&&(this.u&&this.u.a(this.id,this.c,this.g,this.N),delete this.N);b||this.reset();return!0};Y.prototype.P=function(){return!0}; +function lc(a){if(a.l&&(!a.h&&a.g&&(ub(a.l,a.c,a.g,1)?a.h=!0:a.g=0),!ua(a))){if(!a.h)x("No RAM allocated");else if(a.a){if(!a.Y)return;mc(a,a.Y,a.T,a.S,a.c)?a.status('Loaded image "'+a.j+'"'):a.F('Error loading image "'+a.j+'"')}a.s=!0;E(a)}} +Y.prototype.reset=function(){if(this.h&&!this.s){for(var a=this.l,b=this.c,c=this.g,d=b&16383,b=b>>>a.c;0g&&g>=ka&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ia&&c<=q.Ya&&(b=c-(q.Ia-q.Ra));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ta&&(b=q.Sa);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.o=a;this.l=b;this.f=c;this.u=d;E(this)}; -k.Qa=function(a){if(!this.a){var b=U(this.o,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Da(c[0]);if(d!=this.la)return;c=Da(c[1]);if(this.a=oa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.j=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Qa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.c.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bnc){if(Z(d,this.D)){this.j=new P(this,"1.34.0",wc);Z(this.j)&&(xc(this,d),a=yc,zc(this.j));this.j.set(tc,Ea());Ac(this.j);var e=this.a&&!this.C;if(a==uc||na("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=sc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(Ja(Bc,""),this.c=null)):this.K(f+": "+g),zc(d),Z(d)?(c=sc(d),e=!0):c=!1))}e&&qc(this,c?d:null)}else a==yc&&d.clear()}else qc(this);delete this.D;delete this.w}e=y(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.b.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(Cc(this,this.f,b,c,a),S(this,-2),this.f.J());this.L&&(xc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0}; -function xc(a,b){if(na("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.c||"";b=b.toString();var d={};d.app=L;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;H("http://www.pcjs.org/api/v1/report",d,!0)}} -function Dc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new P(a,"1.34.0"),g=new P(a,"1.34.0",rc),h=Ea();g.set(tc,h);f.set(tc,h);f.set(Ec,"1.34.0");f.set(Fc,window?window.location.href:null);f.set(Gc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.b.J=a.f.b.A),R(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.b.B=!1,!1===d&&(e=null)));for(var h=y(a.id),l=0;l=d||30<=(c.xa+=d))&&(e.textContent=c.b.A?c.L.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.b.A;d=!!(a.f.g&8);if(0>=b||60<=(a.C+=b)){e=a.f.h;if(a.i.PC){var f=a.u&&a.u.j||8,e=e||0,e=8==f?xa(e,void 0):F(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.c=a.f.h:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(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(v){g=null,a=v.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");H(e,null,!0,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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Oc(a,b,c)}})}else c(a,null)} -function Pc(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&D(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=Ba(a))}function g(a){f("Error: "+a);p&&(--Lc||K(!0));p=!1}var h,l,p=!0;Lc++;ma[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],ja=document.createElement("style");ja.type="text/css";ja.styleSheet?ja.styleSheet.cssText=r:ja.appendChild(document.createTextNode(r));v.appendChild(ja)}d|| -(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.0/components.xsl");r=function(e,l){l?Mc(d,null,a,null,!1,f,function(a,e){e?(la(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Lc||K(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Lc|| -K(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Mc(c,b,a,e,!0,f,r):Nc(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(Qc){g(Qc.message)}return p}window.embedPDP10=function(a,b,c,d){K(!1);return Pc("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){K(!1);return Pc("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return z(b,a+".machine")}; +k.Qa=function(a){if(!this.a){var b=T(this.o,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Da(c[0]);if(d!=this.la)return;c=Da(c[1]);if(this.a=oa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.j=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Qa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.c.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bsc){if(Z(d,this.D)){this.j=new P(this,"1.34.0",Bc);Z(this.j)&&(Cc(this,d),a=Dc,Ec(this.j));this.j.set(yc,Ea());Fc(this.j);var e=this.a&&!this.C;if(a==zc||na("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=xc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(Ja(Gc,""),this.c=null)):this.K(f+": "+g),Ec(d),Z(d)?(c=xc(d),e=!0):c=!1))}e&&vc(this,c?d:null)}else a==Dc&&d.clear()}else vc(this);delete this.D;delete this.w}e=y(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.b.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(Hc(this,this.f,b,c,a),R(this,-2),this.f.J());this.L&&(Cc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0}; +function Cc(a,b){if(na("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.c||"";b=b.toString();var d={};d.app=L;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;H("http://www.pcjs.org/api/v1/report",d,!0)}} +function Ic(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new P(a,"1.34.0"),g=new P(a,"1.34.0",wc),h=Ea();g.set(yc,h);f.set(yc,h);f.set(Jc,"1.34.0");f.set(Kc,window?window.location.href:null);f.set(Lc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.b.J=a.f.b.A),Q(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.b.B=!1,!1===d&&(e=null)));for(var h=y(a.id),l=0;l=d||30<=(c.xa+=d))&&(e.textContent=c.b.A?c.L.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.b.A;d=!!(a.f.g&8);if(0>=b||60<=(a.C+=b)){e=a.f.h;if(a.i.PC){var f=a.u&&a.u.j||8,e=e||0,e=8==f?xa(e,void 0):F(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.c=a.f.h:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(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(v){g=null,a=v.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");H(e,null,!0,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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Tc(a,b,c)}})}else c(a,null)} +function Uc(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&D(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=Ba(a))}function g(a){f("Error: "+a);p&&(--Qc||K(!0));p=!1}var h,l,p=!0;Qc++;ma[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],ja=document.createElement("style");ja.type="text/css";ja.styleSheet?ja.styleSheet.cssText=r:ja.appendChild(document.createTextNode(r));v.appendChild(ja)}d|| +(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.0/components.xsl");r=function(e,l){l?Rc(d,null,a,null,!1,f,function(a,e){e?(la(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Qc||K(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Qc|| +K(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Rc(c,b,a,e,!0,f,r):Sc(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(Vc){g(Vc.message)}return p}window.embedPDP10=function(a,b,c,d){K(!1);return Uc("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){K(!1);return Uc("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return z(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!qa[a]){for(var c=!0,d=qa,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r