diff --git a/apps/pdp10/tests/optest-v01.json b/apps/pdp10/tests/optest-v01.json index 8bc0fc825..589a6e0e8 100644 --- a/apps/pdp10/tests/optest-v01.json +++ b/apps/pdp10/tests/optest-v01.json @@ -2,15 +2,30 @@ "load": 0o100, "exec": 0o100, "data": [ - 0o505040111111, // HRLI 1,111111 - 0o541040444444, // HRRI 1,444444 - 0o544100000001, // HLR 2,1 - 0o504100000001, // HRL 2,1 - 0o570140000001, // HRRE 3,1 - 0o530200000002, // HLLE 4,2 - 0o544240000003, // HLR 5,3 - 0o504300000004, // HRL 6,4 - 0o573000000005, // HRRES 0,5 - 0o533000000006, // HLLES 0,6 + 0o505040111111, // 000100: HRLI 1,111111 + 0o541040444444, // 000101: HRRI 1,444444 + 0o544100000001, // 000102: HLR 2,1 + 0o504100000001, // 000103: HRL 2,1 + 0o570140000001, // 000104: HRRE 3,1 + 0o530200000002, // 000105: HLLE 4,2 + 0o544240000003, // 000106: HLR 5,3 + 0o504300000004, // 000107: HRL 6,4 + 0o573000000005, // 000110: HRRES 0,5 + 0o533000000006, // 000111: HLLES 0,6 + 0o541000000010, // 000112: HRRI 0,10 + 0o251000000017, // 000113: BLT 0,17 +// +// 00=000000000010 01=111111444444 02=444444111111 03=777777444444 +// 04=444444777777 05=777777777777 06=777777777777 07=000000000000 +// 10=000000000010 11=111111444444 12=444444111111 13=777777444444 +// 14=444444777777 15=777777777777 16=777777777777 17=000000000000 +// + 0o577040000002, // 000114: HLRES 1,2 +// +// 00=000000000010 01=000000111111 02=777777444444 03=777777444444 +// 04=444444777777 05=777777777777 06=777777777777 07=000000000000 +// 10=000000000010 11=111111444444 12=444444111111 13=777777444444 +// 14=444444777777 15=777777777777 16=777777777777 17=000000000000 +// ] } diff --git a/apps/pdp10/tests/optest-v01.simh b/apps/pdp10/tests/optest-v01.simh index 361f2636e..4e26c08b8 100644 --- a/apps/pdp10/tests/optest-v01.simh +++ b/apps/pdp10/tests/optest-v01.simh @@ -8,6 +8,34 @@ dep 106 544240000003 dep 107 504300000004 dep 110 573000000005 dep 111 533000000006 -ex -m 100-111 +dep 112 541000000010 +dep 113 251000000017 +dep 114 577040000002 +ex -m 100-114 dep pc 100 -step 10 +step 11 +ex 0-17 +; +echo Execute the BLT 8 times... +; +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +; +echo next up: HLRES 1,2 +; +step 1 +ex 0-17 diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 56acea09f..246379de7 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -583,40 +583,84 @@ PDP10.opFDVRB = function(op) }; /** - * opMOV(0o200000) + * opMOVE(0o200000) + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Move one word from the source to the destination specified by M. The source is unaffected, + * the original contents of the destination are lost. + * + * NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A] (opposite of "Memory"). * * @this {CPUStatePDP10} * @param {number} op */ -PDP10.opMOV = function(op) +PDP10.opMOVE = function(op) { - this.opUndefined(op); + this.writeWord(op & PDP10.OPCODE.A_MASK, this.readWord(this.regEA)); }; /** - * opMOVI(0o201000) + * opMOVEI(0o201000) + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Move one word from the source to the destination specified by M. The source is unaffected, + * the original contents of the destination are lost. + * + * SIDEBAR: MOVEI loads the word 0,E into AC and is thus equivalent to HRRZI. + * + * NOTE: This is an "Immediate" mode instruction: the source is the word 0,E and the destination is [A]. * * @this {CPUStatePDP10} * @param {number} op */ -PDP10.opMOVI = function(op) +PDP10.opMOVEI = function(op) { - this.opUndefined(op); + this.writeWord(op & PDP10.OPCODE.A_MASK, this.regEA); }; /** - * opMOVM(0o200000) + * opMOVEM(0o202000) + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Move one word from the source to the destination specified by M. The source is unaffected, + * the original contents of the destination are lost. + * + * NOTE: This is a "Memory" mode instruction: the source is [A] and the destination is [E] (opposite of "Basic"). * * @this {CPUStatePDP10} * @param {number} op */ -PDP10.opMOVM = function(op) +PDP10.opMOVEM = function(op) { - this.opUndefined(op); + this.writeWord(this.regEA, this.readWord(op & PDP10.OPCODE.A_MASK)); }; /** - * opMOVS(0o200000) + * opMOVES(0o203000) + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Move one word from the source to the destination specified by M. The source is unaffected, + * the original contents of the destination are lost. + * + * SIDEBAR: If A is zero, MOVES is a no-op; otherwise it is equivalent to MOVE. + * + * NOTE: This is a "Self" mode instruction: the source AND destination is [E] (and also [A] if A is non-zero). + * + * @this {CPUStatePDP10} + * @param {number} op + */ +PDP10.opMOVES = function(op) +{ + var acc = op & PDP10.OPCODE.A_MASK; + if (acc) this.writeWord(acc, this.readWord(this.regEA)); +}; + +/** + * opMOVS(0o204000) * * @this {CPUStatePDP10} * @param {number} op @@ -703,6 +747,17 @@ PDP10.opMOVNS = function(op) this.opUndefined(op); }; +/** + * opMOVM(0o214000) + * + * @this {CPUStatePDP10} + * @param {number} op + */ +PDP10.opMOVM = function(op) +{ + this.opUndefined(op); +}; + /** * opMOVMI(0o215000) * @@ -1025,23 +1080,30 @@ PDP10.opEXCH = function(op) * is the final location being loaded. Furthermore, the program cannot assume that AC is the same after the BLT * as it was before. * - * NOTE: As currently implemented, we will NEVER acknowledge an interrupt during a block transfer, so the above - * caution can be ignored (for now). - * * @this {CPUStatePDP10} * @param {number} op */ PDP10.opBLT = function(op) { + var fDone = false; var acc = op & PDP10.OPCODE.A_MASK; var addrDst = this.readWord(acc); var addrSrc = (addrDst / PDP10.WORD_SHIFT)|0; addrDst &= PDP10.WORD_MASK; - while (true) { + while (!fDone) { this.writeWord(addrDst, this.readWord(addrSrc)); - if (addrDst == this.regEA) break; + if (addrDst == this.regEA) fDone = true; addrSrc = (addrSrc + 1) & PDP10.WORD_MASK; addrDst = (addrDst + 1) & PDP10.WORD_MASK; + if (!this.isRunning()) { + /* + * Since the CPU isn't currently running, the CPU is presumably being stepped, so we'll treat that the + * same as the "priority interrupt" condition described above, update the accumulator, rewind the PC, and leave. + */ + this.writeWord(acc, addrSrc * PDP10.WORD_SHIFT + addrDst); + if (!fDone) this.advancePC(-1); + fDone = true; + } } }; @@ -2759,7 +2821,7 @@ PDP10.opHLLM = function(op) * * SIDEBAR: If A is zero, HLLS is a no-op, otherwise it is equivalent to HLL. * - * For HLLS, the source is [E] and the destination is [E] (and also [A] if A is non-zero). + * For HLLS, the source AND destination is [E] (and also [A] if A is non-zero). * * @this {CPUStatePDP10} * @param {number} op @@ -2767,12 +2829,10 @@ PDP10.opHLLM = function(op) PDP10.opHLLS = function(op) { var dst = this.readWord(this.regEA); - this.writeWord(this.regEA, PDP10.setHR(op, dst, dst)); + dst = PDP10.setHR(op, dst, dst); + this.writeWord(this.regEA, dst); var acc = op & PDP10.OPCODE.A_MASK; - if (acc) { - dst = this.readWord(acc); - this.writeWord(acc, PDP10.setHR(op, dst, dst)); - } + if (acc) this.writeWord(acc, dst); }; /** @@ -2850,7 +2910,7 @@ PDP10.opHRLM = function(op) * The source and the destination right half are unaffected; the original contents of the destination left * half are lost. * - * For HRLS, the source is [E] and the destination is [E] (and also [A] if A is non-zero). + * For HRLS, the source AND destination is [E] (and also [A] if A is non-zero). * * @this {CPUStatePDP10} * @param {number} op @@ -2859,13 +2919,10 @@ PDP10.opHRLS = function(op) { 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); + dst = PDP10.getHR(op, dst, src) + src; + this.writeWord(this.regEA, dst); var acc = op & PDP10.OPCODE.A_MASK; - if (acc) { - dst = this.readWord(acc); - src = (dst & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; - this.writeWord(acc, PDP10.getHR(op, dst, src) + src); - } + if (acc) this.writeWord(acc, dst); }; /** @@ -2944,7 +3001,7 @@ PDP10.opHRRM = function(op) * * SIDEBAR: If A is zero, HRRS is a no-op; otherwise it is equivalent to HRR. * - * For HRRS, the source is [E] and the destination is [E] (and also [A] if A is non-zero). + * For HRRS, the source AND destination is [E] (and also [A] if A is non-zero). * * @this {CPUStatePDP10} * @param {number} op @@ -2952,12 +3009,10 @@ PDP10.opHRRM = function(op) PDP10.opHRRS = function(op) { var dst = this.readWord(this.regEA); - this.writeWord(this.regEA, PDP10.setHL(op, dst, dst)); + dst = PDP10.setHL(op, dst, dst); + this.writeWord(this.regEA, dst); var acc = op & PDP10.OPCODE.A_MASK; - if (acc) { - dst = this.readWord(acc); - this.writeWord(acc, PDP10.setHL(op, dst, dst)); - } + if (acc) this.writeWord(acc, dst); }; /** @@ -3032,7 +3087,7 @@ PDP10.opHLRM = function(op) * Move the left half of the source word specified by M to the right half of the specified destination. * The source and the destination left half are unaffected; the original contents of the destination right half are lost. * - * For HLRS, the source is [E] and the destination is [E] (and also [A] if A is non-zero). + * For HLRS, the source AND destination is [E] (and also [A] if A is non-zero). * * @this {CPUStatePDP10} * @param {number} op @@ -3041,13 +3096,10 @@ PDP10.opHLRS = function(op) { var dst = this.readWord(this.regEA); var src = (dst / PDP10.WORD_SHIFT)|0; - this.writeWord(this.regEA, PDP10.getHL(op, dst, src) + src); + dst = PDP10.getHL(op, dst, src) + src; + this.writeWord(this.regEA, dst); var acc = op & PDP10.OPCODE.A_MASK; - if (acc) { - dst = this.readWord(acc); - src = (dst / PDP10.WORD_SHIFT)|0; - this.writeWord(acc, PDP10.getHL(op, dst, src) + src); - } + if (acc) this.writeWord(acc, dst); }; /** @@ -4164,10 +4216,10 @@ PDP10.aOpXXX_KA10 = [ PDP10.opFDVRI, // 0o175xxx PDP10.opFDVRM, // 0o176xxx PDP10.opFDVRB, // 0o177xxx - PDP10.opMOV, // 0o200xxx - PDP10.opMOVI, // 0o201xxx - PDP10.opMOVM, // 0o202xxx - PDP10.opMOVS, // 0o203xxx + PDP10.opMOVE, // 0o200xxx + PDP10.opMOVEI, // 0o201xxx + PDP10.opMOVEM, // 0o202xxx + PDP10.opMOVES, // 0o203xxx PDP10.opMOVS, // 0o204xxx PDP10.opMOVSI, // 0o205xxx PDP10.opMOVSM, // 0o206xxx diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index 89cd50bec..38e151e9c 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -3738,7 +3738,7 @@ if (DEBUGGER) { HRL: 5, HRLZ: 6, HRLO: 7, HRLE: 8, HRR: 9, HRRZ: 10, HRRO: 11, HRRE: 12, HLR: 13, HLRZ: 14, HLRO: 15, HLRE: 16, - MOV: 17, MOVS: 18, MOVN: 19, MOVM: 20, + MOVE: 17, MOVS: 18, MOVN: 19, MOVM: 20, EXCH: 21, BLT: 22, PUSH: 23, POP: 24, LDB: 25, DPB: 26, IBP: 27, ILDB: 28, IDPB: 29, SETZ: 30, SETO: 31, SETA: 32, @@ -3771,7 +3771,7 @@ if (DEBUGGER) { "HRL", "HRLZ", "HRLO", "HRLE", "HRR", "HRRZ", "HRRO", "HRRE", "HLR", "HLRZ", "HLRO", "HLRE", - "MOV", "MOVS", "MOVN", "MOVM", + "MOVE", "MOVS", "MOVN", "MOVM", "EXCH", "BLT", "PUSH", "POP", "LDB", "DPB", "IBP", "ILDB", "IDPB", "SETZ", "SETO", "SETA", @@ -3856,7 +3856,7 @@ if (DEBUGGER) { 0o16400: DebuggerPDP10.OPS.FMPR, 0o17000: DebuggerPDP10.OPS.FDV, 0o17400: DebuggerPDP10.OPS.FDVR, - 0o20000: DebuggerPDP10.OPS.MOV, + 0o20000: DebuggerPDP10.OPS.MOVE, 0o20400: DebuggerPDP10.OPS.MOVS, 0o21000: DebuggerPDP10.OPS.MOVN, 0o21400: DebuggerPDP10.OPS.MOVM, diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index cc8225f4b..f8b980a3a 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -29,9 +29,9 @@ */ 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}});ia("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ja=Math.pow(2,36),ma=-Math.pow(2,35),q={Xb:0,pb:1,Zb:2,$b:3,ac:4,bc:5,cc:6,dc:7,Za:8,ec:9,qb:10,fc:11,gc:12,rb: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, +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 ka(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;da?-b:b}});ka("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,pb:1,Zb:2,$b:3,ac:4,bc:5,cc:6,dc:7,Za:8,ec:9,qb:10,fc:11,gc:12,rb: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,vb: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,sb:127}; function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){b?12a;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, +function Sb(a,b){v.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.i=this.J=this.u=this.v=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=Tb;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};E(this)}p(Sb,v);l=Sb.prototype;l.reset=function(a){this.stop();a&&Ub(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.H[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.H[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Vb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Wb(a,b)}}(this,b),a.ontouchstart= function(a,b){return function(c){Vb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Wb(a,b)}}(this,b),!0):v.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;Xb(this);Yb(this)};l.pa=function(a,b){if(!b)if(this.W&&Zb(),!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])$b(this,this.i=a[0]),Ub(this,this.v=a[1]),ac(this,a[2]);return!0};l.Nb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}Yb(this);return!0};function bc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Xb(a,b){for(var c in a.B)bc(a,c,null!=b?b:a.B[c])}function jc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Yb(a){for(var b in a.b)jc(a,b,a.b[b][1])} l.yb=function(a,b,c){if(Vb(this,b)){if(c){var d=this;setTimeout(function(){Wb(d,b);a&&a()},+c);return!1}Wb(this,b)}return!0};l.Qb=function(a,b){if("SR"==a)return ac(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,jc(this,a,c[1]),!0):!1};l.Rb=function(a){return Vb(this,a)?(Wb(this,a),!0):!1};function Vb(a,b){var c=a.b[b];return c?(jc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=kc&&(a.P=b==lc,a.R=b==mc),!0):!1} -function Wb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(jc(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.J||(this.g.u=this.i%Kb,this.b[nc]&&this.b[nc][1]&&oc(this.g))};l.Ib=function(){};l.Cb=function(a){a||this.g.V()}; -l.Ab=function(a){if(!a&&!this.g.j.J)if(this.b[nc]&&this.b[nc][1])oc(this.g);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),pc(a,0,null),Gb(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 Bc(Cc,e,g)}e=new xc(a,e,m,16384,d);yc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Dc[d]+" at "+pa(b)),!0):Bc(Ec,b,c)} -function vc(a,b){var c=a.b[(b&a.u)>>>a.i];a.v++;b=c.H(b&16383,b);a.v--;return b}function uc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.v++;d.D(c,b&16383,b);a.v--}function zc(a){for(var b=0,c=[],d=0;d>>a.i];a.v++;b=c.i(b&16383,b);a.v--;return b}function uc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.v++;d.D(c,b&16383,b);a.v--}function zc(a){for(var b=0,c=[],d=0;d=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=sd(a)&&(a.da=a.ia=-1,Vc(a),a.V(),c=!0);c&&a.f(sd(a)+" cycles: checksum="+t(a.sa))}} -l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Da*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&wd(a.C)}rc(a,a.G);a.G=0;a.B=rb();a.L=0;ud(a);return d}function xd(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 yd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function zd(a,b){var c=a.M-=a.N;a.N=0;b&&(a.M=0);return c} -l.Ob=function(){if(this.j.J){this.ya>=this.Ra&&ud(this,!0);this.ja=0;this.ra=rb();if(this.L){var a=this.ra-this.L;a>this.Qa&&(this.B+=a,this.B>this.ra&&(this.B=this.ra))}try{do{var b=xd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=zd(this,!0);this.ja+=b;this.G+=b;sc(this,b);qc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=Ad&&(this.C&&I(this.C,void 0),this.Sa=0);break}}while(this.j.J)}catch(e){this.V();this.C&&this.C.stop(rb(),sd(this));Cb(this, -e.stack||e.message);return}if(this.j.J){a=setTimeout;b=this.fb;this.L=rb();var c=this.Qa;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.L-this.ra),d=this.L-this.B;d&&(this.R=Math.round(this.G/(10*d))/100,864E5<=d&&(this.O=0,td(this)));if(0>c||this.Rc&&(this.B-=c),c=0;this.ya+=this.ja;this.L+=c;a(b,c)}}}; -function oc(a,b){if(!Db(a))if(a.j.J)a.f(a.toString()+" busy");else{td(a);a.j.J=!0;a.j.Pa=!0;var c=a.H.run;c&&(c.textContent="Halt");a.C&&(b&&wd(a.C,!0),a.C.start(a.B,sd(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.J){zd(this);rc(this,this.G);this.G=0;this.j.J=!1;if(b=this.H.run)b.textContent="Run";this.C&&this.C.stop(rb(),sd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var vd=30,Ad=15,Sc=["power","reset"]; -function Bd(a){var b=+a.model||1001;Rc.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.tb=Cd.bind(this);this.b=L.bind(this);this.ka=null;this.ab=[];this.j.complete=!1}p(Bd,Rc);l=Bd.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.J&&this.V();this.i=this.P=this.za=0;this.la=this.u=this.qa=this.bb;this.v=0;this.F=this.Kb;this.K=this.Vb;this.ka=null;Uc(this);this.j.error=!1;Rc.prototype.reset.call(this)};l.mb=function(){return 0}; +l.fa=function(a){return a?this.save():!0};l.Z=function(){return this.j.K?!0:this.j.Z?(oc(this),!0):!1};l.mb=function(){return 0};function Vc(a){void 0===a.ta&&(a.ta=0);void 0===a.da&&(a.da=-1);void 0===a.ia&&(a.ia=-1);a.j.Ea=0<=a.ta&&0=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=Zc(a)&&(a.da=a.ia=-1,Vc(a),a.V(),c=!0);c&&a.f(Zc(a)+" cycles: checksum="+t(a.sa))}} +l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Da*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&wd(a.C)}rc(a,a.F);a.F=0;a.B=rb();a.L=0;ud(a);return d}function xd(a,b){for(var c=a.J.length-1;0<=c;c--){var d=a.J[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function yd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function zd(a,b){var c=a.M-=a.N;a.N=0;b&&(a.M=0);return c} +l.Ob=function(){if(this.j.K){this.ya>=this.Ra&&ud(this,!0);this.ja=0;this.ra=rb();if(this.L){var a=this.ra-this.L;a>this.Qa&&(this.B+=a,this.B>this.ra&&(this.B=this.ra))}try{do{var b=xd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=zd(this,!0);this.ja+=b;this.F+=b;sc(this,b);qc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=Ad&&(this.C&&I(this.C,void 0),this.Sa=0);break}}while(this.j.K)}catch(e){this.V();this.C&&this.C.stop(rb(),Zc(this));Cb(this, +e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.fb;this.L=rb();var c=this.Qa;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.L-this.ra),d=this.L-this.B;d&&(this.R=Math.round(this.F/(10*d))/100,864E5<=d&&(this.O=0,td(this)));if(0>c||this.Rc&&(this.B-=c),c=0;this.ya+=this.ja;this.L+=c;a(b,c)}}}; +function oc(a,b){if(!Db(a))if(a.j.K)a.f(a.toString()+" busy");else{td(a);a.j.K=!0;a.j.Pa=!0;var c=a.H.run;c&&(c.textContent="Halt");a.C&&(b&&wd(a.C,!0),a.C.start(a.B,Zc(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){zd(this);rc(this,this.F);this.F=0;this.j.K=!1;if(b=this.H.run)b.textContent="Run";this.C&&this.C.stop(rb(),Zc(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var vd=30,Ad=15,Sc=["power","reset"]; +function Bd(a){var b=+a.model||1001;Rc.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.tb=Cd.bind(this);this.b=L.bind(this);this.ka=null;this.ab=[];this.j.complete=!1}p(Bd,Rc);l=Bd.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.K&&this.V();this.i=this.P=this.za=0;this.la=this.u=this.qa=this.bb;this.v=0;this.G=this.Kb;this.I=this.Vb;this.ka=null;Uc(this);this.j.error=!1;Rc.prototype.reset.call(this)};l.mb=function(){return 0}; l.save=function(){var a=new H(this);a.set(0,[this.i,this.P,this.za,this.u,this.qa,this.la,this.v]);a.set(1,[]);a.set(2,[this.O,this.W,this.j.Z]);a.set(3,Dd(this));a.set(4,yd(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.P=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.O=b[0];td(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].F(a&16383,a)};l.Vb=function(a,b){var c=this.D;a=this.la=a;c.b[(a&c.u)>>>c.i].K(b,a&16383,a)}; -l.Ja=function(a){this.j.complete=!0;var b=this.A?Fd(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.M=this.N=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Gd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Gd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.P=this.P&4194304?this.F(this.i)&8388607:(this.za=this.F(this.qa=this.u))&8388607;this.i=this.P&262143; -if(a=this.P>>18&15)this.i=this.i+this.F(a)&Lb;this.P&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Rb|0);0<=a&&this.tb(a)}while(0>4].call(this,a)}function M(a){this.b(a)}function Id(a){this.b(a)}function Jd(a){this.b(a)} -function Kd(a){var b=a&15,c=this.F(this.i),d=this.F(b);this.K(b,Ld(a,d,c)+(c-(c&262143)))}function Md(a){var b=a&15,c=this.F(b);this.K(b,Ld(a,c,0))}function Nd(a){var b=this.F(a&15),c=this.F(this.i);this.K(this.i,Ld(a,c,b)+(b-(b&262143)))}function Od(a){var b=this.F(this.i);this.K(this.i,Pd(a,b,b));var c=a&15;c&&(b=this.F(c),this.K(c,Pd(a,b,b)))}function Qd(a){var b=a&15,c=(this.F(this.i)&262143)*F,d=this.F(b);this.K(b,Ld(a,d,c)+c)} -function Rd(a){var b=a&15,c=this.i*F,d=this.F(b);this.K(b,Ld(a,d,c)+c)}function Sd(a){var b=(this.F(a&15)&262143)*F,c=this.F(this.i);this.K(this.i,Ld(a,c,b)+b)}function Td(a){var b=this.F(this.i),c=(b&262143)*F;this.K(this.i,Ld(a,b,c)+c);var d=a&15;d&&(b=this.F(d),c=(b&262143)*F,this.K(d,Ld(a,b,c)+c))}function Ud(a){var b=a&15,c=this.F(this.i)&262143,d=this.F(b);this.K(b,Vd(a,d,c)+c)}function Wd(a){var b=a&15,c=this.F(b);this.K(b,Vd(a,c,this.i)+this.i)} -function Xd(a){var b=this.F(a&15)&262143,c=this.F(this.i);this.K(this.i,Vd(a,c,b)+b)}function Yd(a){var b=this.F(this.i);this.K(this.i,Zd(a,b,b));var c=a&15;c&&(b=this.F(c),this.K(c,Zd(a,b,b)))}function $d(a){var b=a&15,c=this.F(this.i)/F|0,d=this.F(b);this.K(b,Vd(a,d,c)+c)}function ae(a){var b=a&15,c=this.F(b);this.K(b,Vd(a,c,0))}function be(a){var b=this.F(a&15)/F|0,c=this.F(this.i);this.K(this.i,Vd(a,c,b)+b)} -function ce(a){var b=this.F(this.i),c=b/F|0;this.K(this.i,Vd(a,b,c)+c);var d=a&15;d&&(b=this.F(d),c=b/F|0,this.K(d,Vd(a,b,c)+c))}function O(a){this.b(a)}function L(a){this.f("undefined opcode: "+pa(a));Ed(this,-1);this.V()}function Vd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Zd(a,b,c){if(a&=384)switch(b&=262143,a){case 256:b+=262143*F;break;case 384:b+=c>Nb?262143*F:0}return b} -function Ld(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>Ob?262143:0}return b}function Pd(a,b,c){if(a&=384)switch(b-=b&262143,a){case 256:b+=262143;break;case 384:b+=c>Ob?262143:0}return b} +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.P=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.O=b[0];td(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].G(a&16383,a)};l.Vb=function(a,b){var c=this.D;a=this.la=a;c.b[(a&c.u)>>>c.i].I(b,a&16383,a)}; +l.Ja=function(a){this.j.complete=!0;var b=this.A?Fd(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.M=this.N=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Gd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Gd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.P=this.P&4194304?this.G(this.i)&8388607:(this.za=this.G(this.qa=this.u))&8388607;this.i=this.P&262143; +if(a=this.P>>18&15)this.i=this.i+this.G(a)&Lb;this.P&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Rb|0);0<=a&&this.tb(a)}while(0>4].call(this,a)}function M(a){this.b(a)}function Id(a){var b=a&15,c=this.G(this.i),d=this.G(b);this.I(b,Jd(a,d,c)+(c-(c&262143)))} +function Kd(a){var b=a&15,c=this.G(b);this.I(b,Jd(a,c,0))}function Ld(a){var b=this.G(a&15),c=this.G(this.i);this.I(this.i,Jd(a,c,b)+(b-(b&262143)))}function Md(a){var b=this.G(this.i),c,d=b;if(c=a&384)switch(d-=d&262143,c){case 256:d+=262143;break;case 384:d+=b>Ob?262143:0}b=d;this.I(this.i,b);(a&=15)&&this.I(a,b)}function Nd(a){var b=a&15,c=(this.G(this.i)&262143)*F,d=this.G(b);this.I(b,Jd(a,d,c)+c)}function Od(a){var b=a&15,c=this.i*F,d=this.G(b);this.I(b,Jd(a,d,c)+c)} +function Pd(a){var b=(this.G(a&15)&262143)*F,c=this.G(this.i);this.I(this.i,Jd(a,c,b)+b)}function Qd(a){var b=this.G(this.i),c=(b&262143)*F,b=Jd(a,b,c)+c;this.I(this.i,b);(a&=15)&&this.I(a,b)}function Rd(a){var b=a&15,c=this.G(this.i)&262143,d=this.G(b);this.I(b,Sd(a,d,c)+c)}function Td(a){var b=a&15,c=this.G(b);this.I(b,Sd(a,c,this.i)+this.i)}function Ud(a){var b=this.G(a&15)&262143,c=this.G(this.i);this.I(this.i,Sd(a,c,b)+b)} +function Vd(a){var b=this.G(this.i),c,d=b;if(c=a&384)switch(d&=262143,c){case 256:d+=262143*F;break;case 384:d+=b>Nb?262143*F:0}b=d;this.I(this.i,b);(a&=15)&&this.I(a,b)}function Wd(a){var b=a&15,c=this.G(this.i)/F|0,d=this.G(b);this.I(b,Sd(a,d,c)+c)}function Xd(a){var b=a&15,c=this.G(b);this.I(b,Sd(a,c,0))}function Yd(a){var b=this.G(a&15)/F|0,c=this.G(this.i);this.I(this.i,Sd(a,c,b)+b)}function Zd(a){var b=this.G(this.i),c=b/F|0,b=Sd(a,b,c)+c;this.I(this.i,b);(a&=15)&&this.I(a,b)} +function O(a){this.b(a)}function L(a){this.f("undefined opcode: "+pa(a));Ed(this,-1);this.V()}function Sd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Jd(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>Ob?262143:0}return b} var Hd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,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)},Id,Jd,Jd,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)},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)},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)},L,function(a){a&=15;var b=this.F(a);this.K(a,this.F(this.i));this.K(this.i,b)},function(a){a=this.F(a&15);var b= -a/F|0;for(a&=262143;;){this.K(a,this.F(b));if(a==this.i)break;b=b+1&262143;a=a+1&262143}},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)},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.I(a&15,this.G(this.i))},function(a){this.I(a&15,this.i)},function(a){this.I(this.i,this.G(a&15))},function(a){(a&=15)&&this.I(a,this.G(this.i))},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)},L,function(a){a&=15;var b=this.G(a);this.I(a,this.G(this.i));this.I(this.i,b)},function(a){var b=!1;a&=15;for(var c=this.G(a),d=c/F|0,c=c&262143;!b;)this.I(c,this.G(d)),c==this.i&&(b=!0),d=d+1&262143,c=c+1&262143,this.j.K||(this.I(a,d*F+c),b||Ed(this,-1),b=!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)},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)},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)},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)},Kd,Md,Nd,Od,Qd,Rd, -Sd,Td,Kd,Md,Nd,Od,Qd,Rd,Sd,Td,Kd,Md,Nd,Od,Qd,Rd,Sd,Td,Kd,Md,Nd,Od,Qd,Rd,Sd,Td,Ud,Wd,Xd,Yd,$d,ae,be,ce,Ud,Wd,Xd,Yd,$d,ae,be,ce,Ud,Wd,Xd,Yd,$d,ae,be,ce,Ud,Wd,Xd,Yd,$d,ae,be,ce,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)},Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,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 de(a){v.call(this,"ROM",a,128);this.T=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.G=qa(this.v);if(this.v){a=this.v;var b=ra(this.G);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(pb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);ee(c)})}}p(de,v); -de.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;ee(this)};de.prototype.pa=function(){this.T&&(this.A&&fe(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};de.prototype.fa=function(){return!0}; -function ee(a){if(!Eb(a)){if(a.v){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Ac(a.D,b,a.u,Ic)){var c;for(c=0;c>>g.i;0>>= -g.i;0>>a.i;0f&&f>=ma&&(f+=ja);f=Math.trunc(Math.abs(f))%ja;void 0===g&&(g=e.size);for(h=d;g--&&h=q.Ya&&c<=q.vb&&(b=c-(q.Ya-q.pb));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.rb&&(b=q.qb);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)},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 $d(a){v.call(this,"ROM",a,128);this.T=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=qa(this.v);if(this.v){a=this.v;var b=ra(this.F);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(pb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);ae(c)})}}p($d,v); +$d.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;ae(this)};$d.prototype.pa=function(){this.T&&(this.A&&be(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};$d.prototype.fa=function(){return!0}; +function ae(a){if(!Eb(a)){if(a.v){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Ac(a.D,b,a.u,Ic)){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.vb&&(b=c-(q.Ya-q.pb));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.rb&&(b=q.qb);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;E(this)}; l.ob=function(a){if(!this.b){var b=Tc(this.C,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(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.pa=function(a,b){if(!b)if(this.ob(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.P?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(Ca(b.substring(c,g))),c=g+1}}return a} -function ne(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.P?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(Ca(b.substring(c,g))),c=g+1}}return a} +function je(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=oe(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} -function se(a,b){if(b)return re(a,b,a.W[b]);var c=0;for(b in a.W)re(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var qe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function te(a){le.call(this,a);this.ya=!1;this.la=!0;this.xa=Q();this.L=Q(0);this.ja=Q(0);this.da=Q(0);this.G=[];this.b=this.M=this.I=[];ue(this);this.R=this.ka=0;this.i=[];this.sa=void 0;ve(this);this.A=this;this.qa={};this.X=this.ib=0;this.S=null;this.O=[];we(this,a.messages);this.ua=a.commands;this.N=0;this.Da=this.ta=null;this.B=this.Ca=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return Yc(b,a)}):void 0===global[B]&&(global[B]=function(a){return Yc(b, -a)})}p(te,le);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,lb:void 0===b?!1:b,ea:!1,ba:c}}function xe(a,b,c,d){a.w=b;a.lb=c||!1;a.ea=!1;a.ba=d}function ye(a){return[a.w,a.lb,a.ba,a.ea,a.Oa]}function ze(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.gb=me(a,c.Oa=b[4]));return c}l=te.prototype; -l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.ha=a.u;(a=Tc(a,"messages"))&&we(this,a);Ae(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,d.ja));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=Dc[c],n&&d.f(t(n.id,8)+" %"+t(e<=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} +function oe(a,b){if(b)return ne(a,b,a.W[b]);var c=0;for(b in a.W)ne(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var me={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function pe(a){he.call(this,a);this.ya=!1;this.la=!0;this.xa=Q();this.L=Q(0);this.ja=Q(0);this.da=Q(0);this.F=[];this.b=this.M=this.J=[];qe(this);this.R=this.ka=0;this.i=[];this.sa=void 0;re(this);this.A=this;this.qa={};this.X=this.ib=0;this.S=null;this.O=[];se(this,a.messages);this.ua=a.commands;this.N=0;this.Da=this.ta=null;this.B=this.Ca=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return Yc(b,a)}):void 0===global[B]&&(global[B]=function(a){return Yc(b, +a)})}p(pe,he);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,lb:void 0===b?!1:b,ea:!1,ba:c}}function te(a,b,c,d){a.w=b;a.lb=c||!1;a.ea=!1;a.ba=d}function ue(a){return[a.w,a.lb,a.ba,a.ea,a.Oa]}function ve(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.gb=ie(a,c.Oa=b[4]));return c}l=pe.prototype; +l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.ha=a.u;(a=Tc(a,"messages"))&&se(this,a);we(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,d.ja));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=Dc[c],n&&d.f(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.g.qa==b&&(b=Ed(a.g,1)));if(0d&&(d=a.g.F(b)),0<=d&&(xe(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1} -function Oe(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Pb|0,r;for(r in Pe)if(f=Pe[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=vf;m=n&3;break;case 32256:k=xf;m=n&7;break;case 29248:k=yf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>zf&&(k="B");k=Af[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Qb&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+=Ce(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+Ce(k),null== -e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.g.j.Ea?h+("cycles="+sd(a.g).toString()+" cs="+t(a.g.sa)):h+(null!=d?"="+d.toString():""));return h}function ue(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b>>d.i],!0);a.I=["bw"];a.ra=0;a.ka=0} -l.Ba=function(a,b,c){var d=!0;c||Bf(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:(Cf(this,a,a.length-1,"set"),ve(this)));return d};function Bf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.i],b==a.I));h.ea||ve(a);break}}return g} -function Df(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);xe(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}b&&(c+="\n"+(Ff(a,Ee)+Ff(a,Fe)+Ff(a,Ge)));return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({$c:b,w:c,zb:d,T:e,hb:g})}function Hf(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);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.f(Oe(a,b,f,g));e-=b.w-k;c++}}} -function Ef(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Ke+b):(a.P&&(a.f("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"zf&&(ad="B");if(ng==Af[Te]+ad){Se=29248!=cc?Ja:(Ja&3)<<1|(Ja&12)<<2;x=($c|Se<<6)*Pb;break}}if(0<= -x)break}if(0<=x)break}if(0<=x)if(Qe)for(var bd=Qe.split(","),fb=0;fbD||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"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var gd=[];"call"==Ze&&(hb=1E5,gd=["CALL"]);for(void 0!==Ye&&a.f(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;af++;hb--}}af||(a.f("no "+$e+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,df="ds"==Ma;if(ka){if("l"==ka.charAt(0))ka=ka.substr(1)||qg,ta=pe(a,ka);else{var ef=T(a,ka);ef&&(ta=ef.w-Pa.w)}0>ta&&(ta=0);65536jf;jf++)gf+=String.fromCharCode((ec%64|0)+32),ec/=64}ua&&(ua+="\n");ua=df?ua+(va+","):ua+(W+": "+va+(0>hf?" "+gf:""))}ua&&a.f(ua);a.ba=sg}}}}break;case "e":if("else"==f[0])break;var kf,lf,mf=f[0],jd=f[1];"e"==mf||"ew"==mf?(kf=a.wa,lf=a.$a):jd=null;if(null==jd)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var fc=T(a,jd,a.ja);if(fc)for(var gc=2;gcnd;){for(var wa=null,wg=256;65536>kb.w>>>0;){od.w=a.wa(kb,2);if(null==kb.w||!wg--)break;if(!(od.w&1)){for(var xg=a,hc=od,of=null,lb=hc.w,pf=lb,pd=1;6>=pd&&lb;pd++){if(2d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.g.qa==b&&(b=Ed(a.g,1)));if(0d&&(d=a.g.G(b)),0<=d&&(te(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1} +function Ke(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Pb|0,r;for(r in Le)if(f=Le[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=rf;m=n&3;break;case 32256:k=tf;m=n&7;break;case 29248:k=uf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>vf&&(k="B");k=wf[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Qb&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+=ye(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+ye(k),null== +e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.g.j.Ea?h+("cycles="+Zc(a.g).toString()+" cs="+t(a.g.sa)):h+(null!=d?"="+d.toString():""));return h}function qe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.i],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.i],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Ba=function(a,b,c){var d=!0;c||xf(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.J)}}d&&(a.push(b),c?b.ea=!0:(yf(this,a,a.length-1,"set"),re(this)));return d};function xf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.i],b==a.J));h.ea||re(a);break}}return g} +function zf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);te(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}b&&(c+="\n"+(Bf(a,Ae)+Bf(a,Be)+Bf(a,Ce)));return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(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,T:e,hb:g})}function Df(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);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.f(Ke(a,b,f,g));e-=b.w-k;c++}}} +function Af(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Ge+b):(a.P&&(a.f("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"vf&&(bd="B");if(jg==wf[Pe]+bd){Oe=29248!=cc?Ja:(Ja&3)<<1|(Ja&12)<<2;x=(ad|Oe<<6)*Pb;break}}if(0<= +x)break}if(0<=x)break}if(0<=x)if(Me)for(var cd=Me.split(","),fb=0;fbD||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"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var hd=[];"call"==Ve&&(hb=1E5,hd=["CALL"]);for(void 0!==Ue&&a.f(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;Xe++;hb--}}Xe||(a.f("no "+We+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,$e="ds"==Ma;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||mg,ta=le(a,ia);else{var af=T(a,ia);af&&(ta=af.w-Pa.w)}0>ta&&(ta=0);65536ef;ef++)cf+=String.fromCharCode((ec%64|0)+32),ec/=64}ua&&(ua+="\n");ua=$e?ua+(va+","):ua+(W+": "+va+(0>df?" "+cf:""))}ua&&a.f(ua);a.ba=og}}}}break;case "e":if("else"==f[0])break;var ff,gf,hf=f[0],kd=f[1];"e"==hf||"ew"==hf?(ff=a.wa,gf=a.$a):kd=null;if(null==kd)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var fc=T(a,kd,a.ja);if(fc)for(var gc=2;gcod;){for(var wa=null,sg=256;65536>kb.w>>>0;){pd.w=a.wa(kb,2);if(null==kb.w||!sg--)break;if(!(pd.w&1)){for(var tg=a,hc=pd,kf=null,lb=hc.w,lf=lb,qd=1;6>=qd&&lb;qd++){if(2> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bTf){if(Uf(d,this.M)){this.B=new H(this,"1.34.2",cg);Uf(this.B)&&(dg(this,d),a=eg,fg(this.B));this.B.set($f,Ea());gg(this.B);var e=this.b&&!this.L;if(a==ag||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=Zf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Uf(d,f):("error"==g&&"no machine state"!= -f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(hg,""),this.i=null)):this.f(g+": "+f),fg(d),Uf(d)?(c=Zf(d),e=!0):c=!1))}e&&Xf(this,c?d:null)}else a==eg&&d.clear()}else Xf(this);delete this.M;delete this.I}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.g&&(ig(this,this.g,b,c,a),I(this,-2),this.g.Z());this.P&&(dg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; -function dg(a,b){if(sb("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.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Nf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",Yf),h=Ea();f.set($f,h);g.set($f,h);g.set(jg,"1.34.2");g.set(kg,window?window.location.href:null);g.set(lg,window?window.navigator.userAgent:"");a.g&&a.g.fa&&(c&&(b&&(a.g.j.Z=a.g.j.J),a.g.V()),d=a.g.fa(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bPf){if(Qf(d,this.M)){this.B=new H(this,"1.34.2",Zf);Qf(this.B)&&($f(this,d),a=ag,bg(this.B));this.B.set(Wf,Ea());cg(this.B);var e=this.b&&!this.L;if(a==Xf||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=Vf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Qf(d,f):("error"==g&&"no machine state"!= +f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(dg,""),this.i=null)):this.f(g+": "+f),bg(d),Qf(d)?(c=Vf(d),e=!0):c=!1))}e&&Tf(this,c?d:null)}else a==ag&&d.clear()}else Tf(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.g&&(eg(this,this.g,b,c,a),I(this,-2),this.g.Z());this.P&&($f(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; +function $f(a,b){if(sb("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.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} +function Jf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",Uf),h=Ea();f.set(Wf,h);g.set(Wf,h);g.set(fg,"1.34.2");g.set(gg,window?window.location.href:null);g.set(hg,window?window.navigator.userAgent:"");a.g&&a.g.fa&&(c&&(b&&(a.g.j.Z=a.g.j.K),a.g.V()),d=a.g.fa(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=d||30<=(c.Ca+=d))&&(e.textContent=c.j.J?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.g.j.J;d=!!(a.g.v&8);if(0>=b||60<=(a.L+=b)){e=a.g.u;if(a.H.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.H.PC.textContent!=e&&(a.H.PC.textContent=e)}a.L=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+"...");Fa(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);Ig(a,b,c)}})}else c(a,null)} -function Jg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Fg||cb(!0));m=!1}var h,k,m=!0;Fg++;qb[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.2/components.xsl");n=function(e,k){k?Gg(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Fg||cb(!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),--Fg|| -cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Gg(c,b,a,e,!0,g,n):Hg(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){cb(!1);return Jg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Jg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; +function I(a,b){if(a.g){var c=a.g,d=b||0,e=c.H.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.M)){c=a.g.j.K;d=!!(a.g.v&8);if(0>=b||60<=(a.L+=b)){e=a.g.u;if(a.H.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.H.PC.textContent!=e&&(a.H.PC.textContent=e)}a.L=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+"...");Fa(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);Eg(a,b,c)}})}else c(a,null)} +function Fg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Bg||cb(!0));m=!1}var h,k,m=!0;Bg++;qb[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.2/components.xsl");n=function(e,k){k?Cg(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Bg||cb(!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),--Bg|| +cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Cg(c,b,a,e,!0,g,n):Dg(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){cb(!1);return Fg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Fg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={yb:0,Ra:1,Ab:2,Bb:3,Cb:4,Db:5,Eb:6,Fb:7,Ja:8,Gb:9,Sa:10,Hb:11,Ib:12,Ta:13,Jb:14,Kb:15,Lb:16,Mb:17,Nb:18,Ob:19,Pb:20,Qb:21,Rb:22,Sb:23,Tb:24,Ub:25,Vb: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,Ia:65,xb:66,zb:67,Wb:68,E:69,Xb:70,Yb:71,Zb:72,$b:73,ac:74,bc:75,cc:76,dc:77,ec:78,fc:79,gc:80,Q:81, hc:82,ic:83,jc:84,kc:85,lc:86,mc:87,nc:88,oc:89,Ya:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pc:97,qc:98,rc:99,d:100,e:101,sc:102,tc:103,uc:104,vc:105,wc:106,k:107,xc:108,yc:109,n:110,zc:111,p:112,q:113,r:114,Ac:115,t:116,Bc:117,Cc:118,Dc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ua:127}; -function la(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; function ta(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} function w(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, @@ -44,7 +44,7 @@ function u(){return"http://"+(window?window.location.host:"www.pcjs.org")}functi function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1} function Aa(a){if(!Ba){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ba=c}return Ba[a]}function Ca(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){z.init.push(a)} function Da(a){if(Ea)try{for(var b=0;ba?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Da:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.u=this.f=this.m=this.o=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} +function B(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ma=b.comment;this.Xa=b;this.exports={};this.i=this.bindings={};a=this.id.indexOf(".");0>a?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Da:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.v=this.f=this.m=this.s=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} function x(a){window&&window.alert(a)}function Ka(a){var b=!1;window&&(b=window.confirm(a));return b}function E(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.hb,a];this.u=this.f=this.m=this.o=null;this.exports={hold:this.$a,toggle:this.sb,reset:this.ob, -set:this.rb};K(this)}n(Za,B);k=Za.prototype;k.reset=function(a){this.stop();a&&N(this,this.h=0)}; -k.U=function(a,b,c,d){if(this.o&&this.o.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.j[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ab(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){bb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){ab(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.o=a;this.m=b;this.f=c;this.u=d;cb(this);db(this)};k.V=function(a,b){if(!b)if(this.R&&eb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.h,this.g]);return a.data()}; -k.restore=function(a){if(a=a[0])fb(this,this.b=a[0]),N(this,this.h=a[1]),gb(this,a[2]);return!0};k.ob=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}db(this);return!0};function hb(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cb(a,b){for(var c in a.j)hb(a,c,null!=b?b:a.j[c])}function ib(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function db(a){for(var b in a.a)ib(a,b,a.a[b][1])} +var I="pdp10",L="PDPjs",M=Math.pow(2,18),Ta=Math.pow(2,18)-1,Ua=Math.pow(2,36),N=Math.pow(2,18),Va=Math.pow(2,17)-1,Wa=Math.pow(2,35)-1,Xa=Math.pow(2,23),I="pdp10",L="PDPjs"; +function Ya(a,b){B.call(this,"Panel",a);this.C=this.D=0;this.R=b;this.b=this.w=this.g=this.h=0;this.G=this.I=-1;this.L=this.M=this.u=!1;this.O=Za;this.j={};this.a={START:[1,1,!0,!1,this.ib],STEP:[1,1,!1,!1,this.jb],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.eb],LOAD:[1,1,!0,!1,this.gb],TEST:[0,0,!0,!1,this.fb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.hb,a];this.v=this.f=this.m=this.s=null;this.exports={hold:this.$a,toggle:this.sb,reset:this.ob, +set:this.rb};K(this)}n(Ya,B);k=Ya.prototype;k.reset=function(a){this.stop();a&&$a(this,this.h=0)}; +k.U=function(a,b,c,d){if(this.s&&this.s.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.j[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ab(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){bb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){ab(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.s=a;this.m=b;this.f=c;this.v=d;cb(this);db(this)};k.V=function(a,b){if(!b)if(this.R&&eb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.h,this.g]);return a.data()}; +k.restore=function(a){if(a=a[0])fb(this,this.b=a[0]),$a(this,this.h=a[1]),gb(this,a[2]);return!0};k.ob=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}db(this);return!0};function hb(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cb(a,b){for(var c in a.j)hb(a,c,null!=b?b:a.j[c])}function ib(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function db(a){for(var b in a.a)ib(a,b,a.a[b][1])} k.$a=function(a,b,c){if(ab(this,b)){if(c){var d=this;setTimeout(function(){bb(d,b);a&&a()},+c);return!1}bb(this,b)}return!0}; k.rb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.h++;b=c.m(b&16383,b);a.h--;a=b}else a=this.f.l(this.b);N(this,this.h=a)}};k.gb=function(a){a||this.f.c.A||fb(this,this.g)};k.fb=function(a){a?(this.s=!0,cb(this,!0)):(this.s=!1,cb(this),gb(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<>>a.b];a.h++;b=c.m(b&16383,b);a.h--;a=b}else a=this.f.l(this.b);$a(this,this.h=a)}};k.gb=function(a){a||this.f.c.A||fb(this,this.g)};k.fb=function(a){a?(this.u=!0,cb(this,!0)):(this.u=!1,cb(this),gb(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.b;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 xb(yb,e,f)}e=new R(a,e,p,16384,d);ub(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+zb[d]+" at "+ma(b)),!0):xb(Ab,b,c)}function sb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.b(c,b&16383,b);a.h--} -function vb(a){for(var b=0,c=[],d=0;d>>a.b;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 xb(yb,e,f)}e=new R(a,e,p,16384,d);ub(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+zb[d]+" at "+ma(b)),!0):xb(Ab,b,c)}function sb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.i(c,b&16383,b);a.h--} +function vb(a){for(var b=0,c=[],d=0;d=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Pb(a)&&(a.da=a.ea=-1,Ob(a),P(a),c=!0);c&&a.K(Pb(a)+" cycles: checksum="+t(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.c.B)a=!0;else{var b=null,c,h=E(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)))}pb(a,a.s);a.s=0;a.j=D();a.C=0;Rb(a)}function Tb(a){for(var b=[],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.s&&(c=a.s,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}pb(a,a.u);a.u=0;a.j=D();a.C=0;Rb(a)}function Tb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Ub(a,b){var c=a.D-=a.G;a.G=0;b&&(a.D=0);return c} -k.pb=function(){if(this.c.A){this.pa>=this.Ba&&Rb(this,!0);this.ca=0;this.ja=D();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.c.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=Ub(this,!0);this.ca+=b;this.s+=b;qb(this,b);ob(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Vb&&(this.o&&Q(this.o,void 0),this.Ca=0);break}}while(this.c.A)}catch(f){P(this); -this.o&&this.o.stop(D(),Pb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Na;this.C=D();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,Qb(this));if(0>c||this.Lc&&(this.j-=c),c=0;this.pa+=this.ca;this.C+=c;a(b,c)}}}; -function nb(a){var b;a.c.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.K(a.toString()+" busy");else{Qb(a);a.c.A=!0;a.c.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.o&&a.o.start(a.j,Pb(a));a.u||a.status("Started");setTimeout(a.Na,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Ub(a);pb(a,a.s);a.s=0;a.c.A=!1;if(b=a.i.run)b.textContent="Run";a.o&&a.o.stop(D(),Pb(a));b=!0;a.u||a.status("Stopped")}a.c.complete=void 0;return b}var Sb=30,Vb=15,Mb=["power","reset"]; -function Wb(a){var b=+a.model||1001;Lb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Xb.bind(this);this.a=T.bind(this);this.ha=null;this.Ka=[];this.c.complete=!1}n(Wb,Lb);k=Wb.prototype;k.reset=function(){this.status("Model "+this.Va);this.c.A&&P(this);this.b=this.M=this.qa=0;this.ia=this.h=this.ya=this.La;this.g=0;this.l=this.lb;this.v=this.wb;this.ha=null;Nb(this);this.c.error=!1;Lb.prototype.reset.call(this)};k.Pa=function(){return 0}; -k.save=function(){var a=new O(this);a.set(0,[this.b,this.M,this.qa,this.h,this.ya,this.ia,this.g]);a.set(1,[]);a.set(2,[this.I,this.W,this.c.J]);a.set(3,Yb(this));a.set(4,Tb(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.b=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];Qb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].l(a&16383,a)};k.wb=function(a,b){var c=this.m;a=this.ia=a;c.a[(a&c.g)>>>c.b].v(b,a&16383,a)}; -k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ga?0:1:-1;this.c.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)){P(this);break}if(0>b)break}this.g&=15;this.M=this.M&4194304?this.l(this.b)&8388607:(this.qa=this.l(this.ya=this.h))&8388607;this.b=this.M&262143;if(a=this.M>>18&15)this.b=this.b+this.l(a)&Ua;this.M&4194304?a=-1:(this.h=(this.h+1)%Ta,a=this.qa/Ya|0);0<=a&&this.Wa(a)}while(0< -this.G);return this.c.complete?this.D-this.G:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a)}function U(a){this.a(a)}function $b(a){this.a(a)}function ac(a){this.a(a)}function bc(a){var b=a&15,c=this.l(this.b),d=this.l(b);this.v(b,V(a,d,c)+(c-(c&262143)))}function cc(a){var b=a&15,c=this.l(b);this.v(b,V(a,c,0))} -function dc(a){var b=this.l(a&15),c=this.l(this.b);this.v(this.b,V(a,c,b)+(b-(b&262143)))}function ec(a){var b=this.l(this.b);this.v(this.b,fc(a,b,b));var c=a&15;c&&(b=this.l(c),this.v(c,fc(a,b,b)))}function gc(a){var b=a&15,c=(this.l(this.b)&262143)*M,d=this.l(b);this.v(b,V(a,d,c)+c)}function hc(a){var b=a&15,c=this.b*M,d=this.l(b);this.v(b,V(a,d,c)+c)}function ic(a){var b=(this.l(a&15)&262143)*M,c=this.l(this.b);this.v(this.b,V(a,c,b)+b)} -function jc(a){var b=this.l(this.b),c=(b&262143)*M;this.v(this.b,V(a,b,c)+c);var d=a&15;d&&(b=this.l(d),c=(b&262143)*M,this.v(d,V(a,b,c)+c))}function kc(a){var b=a&15,c=this.l(this.b)&262143,d=this.l(b);this.v(b,W(a,d,c)+c)}function lc(a){var b=a&15,c=this.l(b);this.v(b,W(a,c,this.b)+this.b)}function mc(a){var b=this.l(a&15)&262143,c=this.l(this.b);this.v(this.b,W(a,c,b)+b)}function nc(a){var b=this.l(this.b);this.v(this.b,oc(a,b,b));var c=a&15;c&&(b=this.l(c),this.v(c,oc(a,b,b)))} -function pc(a){var b=a&15,c=this.l(this.b)/M|0,d=this.l(b);this.v(b,W(a,d,c)+c)}function qc(a){var b=a&15,c=this.l(b);this.v(b,W(a,c,0))}function rc(a){var b=this.l(a&15)/M|0,c=this.l(this.b);this.v(this.b,W(a,c,b)+b)}function sc(a){var b=this.l(this.b),c=b/M|0;this.v(this.b,W(a,b,c)+c);var d=a&15;d&&(b=this.l(d),c=b/M|0,this.v(d,W(a,b,c)+c))}function X(a){this.a(a)}function T(a){this.K("undefined opcode: "+ma(a));this.h=(this.h+-1)%Ta;P(this)} -function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*M;break;case 384:b=c>Wa?262143*M:0}return b}function oc(a,b,c){if(a&=384)switch(b&=262143,a){case 256:b+=262143*M;break;case 384:b+=c>Wa?262143*M:0}return b}function V(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>Xa?262143:0}return b}function fc(a,b,c){if(a&=384)switch(b-=b&262143,a){case 256:b+=262143;break;case 384:b+=c>Xa?262143:0}return b} +k.pb=function(){if(this.c.A){this.pa>=this.Ba&&Rb(this,!0);this.ca=0;this.ja=D();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.c.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=Ub(this,!0);this.ca+=b;this.u+=b;qb(this,b);ob(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Vb&&(this.s&&Q(this.s,void 0),this.Ca=0);break}}while(this.c.A)}catch(f){P(this); +this.s&&this.s.stop(D(),Pb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Na;this.C=D();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.u/(10*d))/100,864E5<=d&&(this.I=0,Qb(this));if(0>c||this.Lc&&(this.j-=c),c=0;this.pa+=this.ca;this.C+=c;a(b,c)}}}; +function nb(a){var b;a.c.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.K(a.toString()+" busy");else{Qb(a);a.c.A=!0;a.c.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.s&&a.s.start(a.j,Pb(a));a.v||a.status("Started");setTimeout(a.Na,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Ub(a);pb(a,a.u);a.u=0;a.c.A=!1;if(b=a.i.run)b.textContent="Run";a.s&&a.s.stop(D(),Pb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Sb=30,Vb=15,Mb=["power","reset"]; +function Wb(a){var b=+a.model||1001;Lb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Xb.bind(this);this.a=T.bind(this);this.ha=null;this.Ka=[];this.c.complete=!1}n(Wb,Lb);k=Wb.prototype;k.reset=function(){this.status("Model "+this.Va);this.c.A&&P(this);this.b=this.M=this.qa=0;this.ia=this.g=this.ya=this.La;this.h=0;this.l=this.lb;this.o=this.wb;this.ha=null;Nb(this);this.c.error=!1;Lb.prototype.reset.call(this)};k.Pa=function(){return 0}; +k.save=function(){var a=new O(this);a.set(0,[this.b,this.M,this.qa,this.g,this.ya,this.ia,this.h]);a.set(1,[]);a.set(2,[this.I,this.W,this.c.J]);a.set(3,Yb(this));a.set(4,Tb(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.b=b.next().value;this.M=b.next().value;this.qa=b.next().value;this.g=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.h=b.next().value;b=a[2];this.I=b[0];Qb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].l(a&16383,a)};k.wb=function(a,b){var c=this.m;a=this.ia=a;c.a[(a&c.g)>>>c.b].o(b,a&16383,a)}; +k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ga?0:1:-1;this.c.Ga=!1;this.D=this.G=a;this.h=this.h&-5|0;do{if(a=this.h)if(a=this.h&11)this.h&2?this.ha||(this.h&=-3):this.h&1&&this.h++,a=!1;if(a){if(this.h&4&&this.v.h(this.g,b)){P(this);break}if(0>b)break}this.h&=15;this.M=this.M&4194304?this.l(this.b)&8388607:(this.qa=this.l(this.ya=this.g))&8388607;this.b=this.M&262143;if(a=this.M>>18&15)this.b=this.b+this.l(a)&Ta;this.M&4194304?a=-1:(this.g=(this.g+1)%M,a=this.qa/Xa|0);0<=a&&this.Wa(a)}while(0< +this.G);return this.c.complete?this.D-this.G:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a)}function U(a){this.a(a)}function $b(a){var b=a&15,c=this.l(this.b),d=this.l(b);this.o(b,V(a,d,c)+(c-(c&262143)))}function ac(a){var b=a&15,c=this.l(b);this.o(b,V(a,c,0))}function bc(a){var b=this.l(a&15),c=this.l(this.b);this.o(this.b,V(a,c,b)+(b-(b&262143)))} +function cc(a){var b=this.l(this.b),c,d=b;if(c=a&384)switch(d-=d&262143,c){case 256:d+=262143;break;case 384:d+=b>Wa?262143:0}b=d;this.o(this.b,b);(a&=15)&&this.o(a,b)}function dc(a){var b=a&15,c=(this.l(this.b)&262143)*N,d=this.l(b);this.o(b,V(a,d,c)+c)}function ec(a){var b=a&15,c=this.b*N,d=this.l(b);this.o(b,V(a,d,c)+c)}function fc(a){var b=(this.l(a&15)&262143)*N,c=this.l(this.b);this.o(this.b,V(a,c,b)+b)} +function gc(a){var b=this.l(this.b),c=(b&262143)*N,b=V(a,b,c)+c;this.o(this.b,b);(a&=15)&&this.o(a,b)}function hc(a){var b=a&15,c=this.l(this.b)&262143,d=this.l(b);this.o(b,W(a,d,c)+c)}function ic(a){var b=a&15,c=this.l(b);this.o(b,W(a,c,this.b)+this.b)}function jc(a){var b=this.l(a&15)&262143,c=this.l(this.b);this.o(this.b,W(a,c,b)+b)} +function kc(a){var b=this.l(this.b),c,d=b;if(c=a&384)switch(d&=262143,c){case 256:d+=262143*N;break;case 384:d+=b>Va?262143*N:0}b=d;this.o(this.b,b);(a&=15)&&this.o(a,b)}function lc(a){var b=a&15,c=this.l(this.b)/N|0,d=this.l(b);this.o(b,W(a,d,c)+c)}function mc(a){var b=a&15,c=this.l(b);this.o(b,W(a,c,0))}function nc(a){var b=this.l(a&15)/N|0,c=this.l(this.b);this.o(this.b,W(a,c,b)+b)}function oc(a){var b=this.l(this.b),c=b/N|0,b=W(a,b,c)+c;this.o(this.b,b);(a&=15)&&this.o(a,b)} +function X(a){this.a(a)}function T(a){this.K("undefined opcode: "+ma(a));this.g=(this.g+-1)%M;P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b}function V(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 Zb=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(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,ac,function(a){this.a(a)},function(a){this.a(a)},function(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,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){a&=15;var b=this.l(a);this.v(a,this.l(this.b));this.v(this.b,b)},function(a){a=this.l(a&15);var b= -a/M|0;for(a&=262143;;){this.v(a,this.l(b));if(a==this.b)break;b=b+1&262143;a=a+1&262143}},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.o(a&15,this.l(this.b))},function(a){this.o(a&15,this.b)},function(a){this.o(this.b,this.l(a&15))},function(a){(a&=15)&&this.o(a,this.l(this.b))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},T,function(a){a&=15;var b=this.l(a);this.o(a,this.l(this.b));this.o(this.b,b)},function(a){var b=!1;a&=15;for(var c=this.l(a),d=c/N|0,c=c&262143;!b;)this.o(c,this.l(d)),c==this.b&&(b=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.o(a,d*N+c),b||(this.g=(this.g+-1)%M),b=!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)},T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},bc,cc,dc,ec,gc,hc, -ic,jc,bc,cc,dc,ec,gc,hc,ic,jc,bc,cc,dc,ec,gc,hc,ic,jc,bc,cc,dc,ec,gc,hc,ic,jc,kc,lc,mc,nc,pc,qc,rc,sc,kc,lc,mc,nc,pc,qc,rc,sc,kc,lc,mc,nc,pc,qc,rc,sc,kc,lc,mc,nc,pc,qc,rc,sc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(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,dc,ec,fc,gc,$b,ac,bc,cc,dc,ec,fc,gc,$b,ac,bc,cc,dc,ec,fc,gc,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(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 tc(a){B.call(this,"ROM",a);this.N=this.a=null;this.j=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.h=a.file;this.s=na(this.h);if(this.h){a=this.h;var b=oa(this.s);"json"!=b&&"hex"!=b&&(a=u()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(Ia(c.ma,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.h=null);uc(c)})}}n(tc,B); -tc.prototype.Z=function(a,b,c,d){this.m=b;this.f=c;this.u=d;uc(this)};tc.prototype.V=function(){this.N&&(this.u&&this.u.a(this.id,this.j,this.g,this.N),delete this.N);return!0};tc.prototype.P=function(){return!0}; -function uc(a){if(!Ra(a)){if(a.h){if(!a.a||!a.m)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+t(a.a.length,8,!0)+") does not match specified size ("+t(a.g,8,!0)+")";a.c.error=!0;a.F(b)}else{b=a.j;if(wb(a.m,b,a.g,Eb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(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.m=b;this.f=c;this.u=d;K(this)}; -k.Qa=function(a){if(!this.a){var b=S(this.o,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(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 O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bCc){if(Z(d,this.D)){this.j=new O(this,"1.34.2",Lc);Z(this.j)&&(Mc(this,d),a=Nc,Oc(this.j));this.j.set(Ic,ta());Pc(this.j);var e=this.a&&!this.C;if(a==Jc||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Hc(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&&(ya(Qc,""),this.b=null)):this.K(f+": "+g),Oc(d),Z(d)?(c=Hc(d),e=!0):c=!1))}e&&Fc(this,c?d:null)}else a==Nc&&d.clear()}else Fc(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(Rc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.L&&(Mc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0}; -function Mc(a,b){if(Ka("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.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;w("http://www.pcjs.org/api/v1/report",d,!0)}} -function Sc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Gc),h=ta();g.set(Ic,h);f.set(Ic,h);f.set(Tc,"1.34.2");f.set(Uc,window?window.location.href:null);f.set(Vc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.B=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(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.s=a;this.m=b;this.f=c;this.v=d;K(this)}; +k.Qa=function(a){if(!this.a){var b=S(this.s,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(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 O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;byc){if(Z(d,this.D)){this.j=new O(this,"1.34.2",Hc);Z(this.j)&&(Ic(this,d),a=Jc,Kc(this.j));this.j.set(Ec,ta());Lc(this.j);var e=this.a&&!this.C;if(a==Fc||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Dc(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&&(ya(Mc,""),this.b=null)):this.K(f+": "+g),Kc(d),Z(d)?(c=Dc(d),e=!0):c=!1))}e&&Bc(this,c?d:null)}else a==Jc&&d.clear()}else Bc(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(Nc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.L&&(Ic(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0}; +function Ic(a,b){if(Ka("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.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;w("http://www.pcjs.org/api/v1/report",d,!0)}} +function Oc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Cc),h=ta();g.set(Ec,h);f.set(Ec,h);f.set(Pc,"1.34.2");f.set(Qc,window?window.location.href:null);f.set(Rc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.B=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.L.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.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?ma(e,void 0):t(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.b=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+"...");w(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);cd(a,b,c)}})}else c(a,null)} -function dd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--$c||A(!0));p=!1}var h,l,p=!0;$c++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],ka=document.createElement("style");ka.type="text/css";ka.styleSheet?ka.styleSheet.cssText=r:ka.appendChild(document.createTextNode(r));v.appendChild(ka)}d|| -(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?ad(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--$c||A(!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),--$c|| -A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ad(c,b,a,e,!0,f,r):bd(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(ed){g(ed.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return dd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return dd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")}; +function Q(a,b){if(a.f){var c=a.f,d=b||0,e=c.i.speed;e&&(0>=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.L.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.h&8);if(0>=b||60<=(a.C+=b)){e=a.f.g;if(a.i.PC){var f=a.v&&a.v.j||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.b=a.f.g: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+"...");w(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);Zc(a,b,c)}})}else c(a,null)} +function $c(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--Wc||A(!0));p=!1}var h,l,p=!0;Wc++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],la=document.createElement("style");la.type="text/css";la.styleSheet?la.styleSheet.cssText=r:la.appendChild(document.createTextNode(r));v.appendChild(la)}d|| +(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?Xc(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Wc||A(!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),--Wc|| +A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Xc(c,b,a,e,!0,f,r):Yc(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(ad){g(ad.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return $c("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return $c("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Na[a]){for(var c=!0,d=Na,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r