From 98d3700fa4bcfeb564e16fd73bed0a31ecfd3ac1 Mon Sep 17 00:00:00 2001 From: Jeff Date: Thu, 29 Sep 2016 14:02:37 -0700 Subject: [PATCH] Cleaned up OPFLAG handling --- modules/pdp11/lib/cpu.js | 4 +- modules/pdp11/lib/cpuops.js | 12 +- modules/pdp11/lib/cpustate.js | 75 +++--- modules/pdp11/lib/debugger.js | 5 +- modules/pdp11/lib/defines.js | 7 +- modules/pdp11/lib/device.js | 2 +- versions/pdp11/1.30.0/pdp11-dbg.js | 384 ++++++++++++++--------------- versions/pdp11/1.30.0/pdp11.js | 253 +++++++++---------- 8 files changed, 381 insertions(+), 361 deletions(-) diff --git a/modules/pdp11/lib/cpu.js b/modules/pdp11/lib/cpu.js index fd3459ee7..8d029c42a 100644 --- a/modules/pdp11/lib/cpu.js +++ b/modules/pdp11/lib/cpu.js @@ -1092,7 +1092,9 @@ CPUPDP11.prototype.runCPU = function() } /* - * nCycles is how many cycles stepCPU() actually ran (nBurstCycles less any remaining nStepCycles). + * nCycles is how many cycles stepCPU() actually ran (nBurstCycles less any remaining nStepCycles); + * that calculation matches the return value from stepCPU(), but since it may have thrown an exception, + * we can't rely on it. */ var nCycles = this.nBurstCycles - this.nStepCycles; diff --git a/modules/pdp11/lib/cpuops.js b/modules/pdp11/lib/cpuops.js index 19eff05d0..df465cf1b 100644 --- a/modules/pdp11/lib/cpuops.js +++ b/modules/pdp11/lib/cpuops.js @@ -1527,7 +1527,7 @@ PDP11.opSPL = function(opCode) this.assert(opCode & 0x08); if (!(this.regPSW & PDP11.PSW.CMODE)) { this.regPSW = (this.regPSW & ~(PDP11.PSW.UNUSED | PDP11.PSW.PRI)) | ((opCode & 0x7) << PDP11.PSW.SHIFT.PRI); - this.priorityReview = 1; + this.opFlags |= PDP11.OPFLAG.INTQ_SPL; } this.nStepCycles -= 1; }; @@ -1618,13 +1618,21 @@ PDP11.opWAIT = function(opCode) * However, the PCjs approach requires the CPU to continue running. One simple solution to this dilemma: * * 1) opWAIT() sets a new opFlags bit (OPFLAG.WAIT) - * 2) When stepCPU() sees OPFLAG.WAIT, it checks for interrupts; if none, it rewinds the PC back to the WAIT + * 2) Rewind PC back to WAIT + * 3) Whenever stepCPU() detects OPFLAG.WAIT, call checkInterruptQueue() + * 4) If checkInterruptQueue() detects an interrupt, advance PC past WAIT before dispatching it + * + * Technically, the PC is already exactly where it's supposed to be, so why are we wasting time with steps + * 2 and 4? It's largely for the Debugger's sake, so that as long as execution is "blocked" by a WAIT, that's + * what you'll see in the Debugger. I could make those steps conditioned on the presence of the Debugger, + * but I feel it's better to keep all code paths the same. * * NOTE: It's almost always a bad idea to add more checks to the inner stepCPU() loop, because every additional * check can have a measurable (negative) impact on performance. Which is why it's important to use opFlags bits * whenever possible, since we can test for multiple (up to 32) exceptional conditions with a single check. */ this.opFlags |= PDP11.OPFLAG.WAIT; + this.advancePC(-2); this.nStepCycles -= 1; }; diff --git a/modules/pdp11/lib/cpustate.js b/modules/pdp11/lib/cpustate.js index f816aac65..570a88048 100644 --- a/modules/pdp11/lib/cpustate.js +++ b/modules/pdp11/lib/cpustate.js @@ -194,8 +194,8 @@ CPUStatePDP11.prototype.resetRegs = function() /** * @type {Array.} */ - this.interruptQueue = []; // List of interrupts pending - this.priorityReview = 2; // flag to mark if we need to check priority change + this.interruptQueue = []; + this.opFlags |= PDP11.OPFLAG.INTQ; this.initMemoryAccess(); }; @@ -511,10 +511,21 @@ CPUStatePDP11.prototype.getPC = function() CPUStatePDP11.prototype.getPCWord = function() { var data = this.readWordFromVirtual(this.regsGen[7]); - this.regsGen[7] = (this.regsGen[7] + 2) & 0xffff; + this.advancePC(2); return data; }; +/** + * advancePC(off) + * + * @this {CPUStatePDP11} + * @param {number} off + */ +CPUStatePDP11.prototype.advancePC = function(off) +{ + this.regsGen[7] = (this.regsGen[7] + off) & 0xffff; +}; + /** * setPC() * @@ -601,7 +612,7 @@ CPUStatePDP11.prototype.interrupt = function(delay, priority, vector, callback) "callback": callback }); } - this.priorityReview = 2; + this.opFlags |= PDP11.OPFLAG.INTQ; }; /** @@ -611,16 +622,14 @@ CPUStatePDP11.prototype.interrupt = function(delay, priority, vector, callback) */ CPUStatePDP11.prototype.checkInterruptQueue = function() { - if (this.priorityReview == 1) { - this.priorityReview = 2; // SPL delay - } else { - this.priorityReview = 0; + if (this.opFlags & PDP11.OPFLAG.INTQ) { + this.opFlags &= ~PDP11.OPFLAG.INTQ; var interruptEvent = null; var savePSW = this.regPIR & 0xe0; for (var i = this.interruptQueue.length; --i >= 0;) { if (this.interruptQueue[i].delay > 0) { this.interruptQueue[i].delay--; - this.priorityReview = 2; + this.opFlags |= PDP11.OPFLAG.INTQ; break; // Decrement only one delay 'difference' per cycle } //if (typeof this.interruptQueue[i].callback !== "undefined") { @@ -639,7 +648,10 @@ CPUStatePDP11.prototype.checkInterruptQueue = function() } } if (savePSW > (this.regPSW & 0xe0)) { - this.opFlags &= ~PDP11.OPFLAG.WAIT; + if (this.opFlags & PDP11.OPFLAG.WAIT) { + this.advancePC(2); + this.opFlags &= ~PDP11.OPFLAG.WAIT; + } if (!interruptEvent) { this.trap(PDP11.TRAP.PIRQ, PDP11.REASON.INTERRUPT); } else { @@ -647,6 +659,13 @@ CPUStatePDP11.prototype.checkInterruptQueue = function() } } } + else if (this.opFlags & PDP11.OPFLAG.INTQ_SPL) { + /* + * We know that INTQ (bit 1) is clear, so since INTQ_SPL (bit 0) is set, incrementing opFlags + * will transform INTQ_SPL into INTQ, without affecting any other (higher) bits. + */ + this.opFlags++; + } }; /** @@ -708,9 +727,9 @@ CPUStatePDP11.prototype.setPSW = function(newPSW) this.regsGen[6] = this.regsAltStack[this.mmuMode]; } /* - * Trigger check of priority levels + * Trigger a call to checkInterruptQueue() */ - this.priorityReview = 2; + this.opFlags |= PDP11.OPFLAG.INTQ; this.regPSW = newPSW; }; @@ -911,7 +930,7 @@ CPUStatePDP11.prototype.trap = function(vector, reason) this.pushWord(this.trapPSW); this.pushWord(this.regsGen[7]); - this.regsGen[7] = newPC; + this.setPC(newPC); this.opFlags &= ~PDP11.OPFLAG.TRAP_MASK; // lose interest in traps after an abort this.trapPSW = -1; // reset flag that we have a trap within a trap @@ -1704,42 +1723,26 @@ CPUStatePDP11.prototype.stepCPU = function(nMinCycles) this.opFlags &= ~PDP11.OPFLAG.TRAP_MASK; } /* - * If we're in WAIT state, see if any interrupts are ready to kick us out of that state. + * If we're in the INTQ or WAIT state, see if any interrupts can kick us out of that state. + * + * By also requiring nMinCycles to be non-zero before checking the interrupt queue, we avoid + * interrupting the natural flow of instructions whenever the Debugger is stepping through code. */ - if (this.opFlags & PDP11.OPFLAG.WAIT) { - /* - * If checkInterruptQueue() found an interrupt, it will have dispatched it AND cleared - * the WAIT flag; it won't return, so we're done. - */ + if ((this.opFlags & (PDP11.OPFLAG.INTQ_SPL | PDP11.OPFLAG.INTQ | PDP11.OPFLAG.WAIT)) /*&& nMinCycles*/) { this.checkInterruptQueue(); - /* - * Since checkInterruptQueue() returned, we need to rewind the PC to the WAIT instruction; - * we're going to play it safe and turn off the WAIT flag, because assuming the WAIT instruction - * is still there, it will automatically re-enable it. TODO: Assert that the WAIT is still there. - */ - this.opFlags &= ~PDP11.OPFLAG.WAIT; - this.regsGen[7] = (this.regsGen[7] - 2) & 0xffff; } } - /* - * By requiring nMinCycles to be non-zero before checking the interrupt queue, we avoid - * interrupting the natural flow of instructions when the Debugger is stepping through code. - */ - if (nMinCycles && this.priorityReview) { - this.checkInterruptQueue(); - } - if (!(this.regMMR0 & PDP11.MMR0.ABORT)) { this.regMMR1 = 0; this.regMMR2 = this.regsGen[7]; } /* - * Snapshot the TF bit in opFlags, while simultaneously clearing all other opFlags (except WAIT); + * Snapshot the TF bit in opFlags, while clearing all other opFlags (except those in PRESERVE); * we'll check the TRAP_TF bit in opFlags when we come back around for another opcode. */ - this.opFlags = (this.opFlags & PDP11.OPFLAG.WAIT) | (this.regPSW & PDP11.PSW.TF); + this.opFlags = (this.opFlags & PDP11.OPFLAG.PRESERVE) | (this.regPSW & PDP11.PSW.TF); this.decode(this.getPCWord()); diff --git a/modules/pdp11/lib/debugger.js b/modules/pdp11/lib/debugger.js index cb6e57438..389a1786e 100644 --- a/modules/pdp11/lib/debugger.js +++ b/modules/pdp11/lib/debugger.js @@ -1269,8 +1269,10 @@ if (DEBUGGER) { * For our typically tiny bursts (usually single instructions), mimic what runCPU() does. */ try { + nCycles = this.cpu.getBurstCycles(nCycles); var nCyclesStep = this.cpu.stepCPU(nCycles); if (nCyclesStep > 0) { + this.cpu.updateTimers(nCycles); this.nCycles += nCyclesStep; this.cpu.addCycles(nCyclesStep, true); this.cpu.updateChecksum(nCyclesStep); @@ -3460,7 +3462,8 @@ if (DEBUGGER) { * * The "tc" command interprets the count as a number of cycles rather than instructions, * allowing you to quickly execute large chunks of instructions with a single command; it - * doesn't display anything until the the chunk has finished. + * doesn't display anything until the the chunk has finished. "tc 1" is also a useful + * command in that it doesn't inhibit interrupts like "t" or "tr" does. * * However, generally a more useful command is "bn", which allows you to break after some * number of instructions have been executed (as opposed to some number of cycles). diff --git a/modules/pdp11/lib/defines.js b/modules/pdp11/lib/defines.js index 01b9a8b53..7934b8bb5 100644 --- a/modules/pdp11/lib/defines.js +++ b/modules/pdp11/lib/defines.js @@ -161,12 +161,15 @@ var PDP11 = { * Internal operation state flags */ OPFLAG: { - WAIT: 0x01, // WAIT operation in progress + INTQ_SPL: 0x01, // INTQ triggered by SPL + INTQ: 0x02, // call checkInterruptQueue() + WAIT: 0x04, // WAIT operation in progress TRAP_TF: 0x10, // aka PDP11.PSW.TF TRAP_MMU: 0x20, TRAP_SP: 0x40, TRAP_MASK: 0x70, - NO_FLAGS: 0x80 // set whenever the PSW is written directly, requiring all updateXXXFlags() functions to leave flags unchanged + NO_FLAGS: 0x80, // set whenever the PSW is written directly, requiring all updateXXXFlags() functions to leave flags unchanged + PRESERVE: 0x07 // OPFLAG bits to preserve prior to the next instruction }, /* * Opcode reg (opcode bits 2-0) diff --git a/modules/pdp11/lib/device.js b/modules/pdp11/lib/device.js index 3b7556ffa..181343bd3 100644 --- a/modules/pdp11/lib/device.js +++ b/modules/pdp11/lib/device.js @@ -994,7 +994,7 @@ DevicePDP11.prototype.access = function(physicalAddress, data, byteFlag) } while (idx >>= 1); } cpu.regPIR = result; - cpu.priorityReview = 2; + cpu.opFlags |= PDP11.OPFLAG.INTQ; } break; case 0x3FFFF6: /*017777766*/ // CPU error diff --git a/versions/pdp11/1.30.0/pdp11-dbg.js b/versions/pdp11/1.30.0/pdp11-dbg.js index 56502ed5b..3a5db0e2a 100644 --- a/versions/pdp11/1.30.0/pdp11-dbg.js +++ b/versions/pdp11/1.30.0/pdp11-dbg.js @@ -9,208 +9,208 @@ function u(a){window&&window.alert(a)}function ta(a){var b=!1;window&&(b=window. function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(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)?!0:!1}return!1}function Ca(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.Eb=this.id:(this.uc=this.id.substr(0,b),this.Eb=this.id.substr(b+1));this[a]=c;this.u={ready:!1,Kb:!1,hc:!1,ia:!1,error:!1};this.$b=null;this.u.error=!1;this.J={};this.C=null;this.ka=d||0;x.push(this)}var Ta=void 0,Ua={}; +function w(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.qc=b.comment;this.Rc=b;b=this.id.indexOf(".");0>b?this.Eb=this.id:(this.sc=this.id.substr(0,b),this.Eb=this.id.substr(b+1));this[a]=c;this.u={ready:!1,Jb:!1,fc:!1,ia:!1,error:!1};this.Yb=null;this.u.error=!1;this.J={};this.D=null;this.ka=d||0;x.push(this)}var Ta=void 0,Ua={}; if(window){Ta||(Ta=window.location.search.substr(1));for(var Va,Wa=/\+/g,Xa=/([^&=]+)=?([^&]*)/g;Va=Xa.exec(Ta);)Ua[decodeURIComponent(Va[1].replace(Wa," "))]=decodeURIComponent(Va[2].replace(Wa," "))}function Ya(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} function B(a,b){b||(b=w);a.prototype=Ya(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Za=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Za={},x=[];function $a(a,b,c){Za[a]&&b&&(Za[a][b]=c)}function ab(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.Y&&(this.Y=10);15>2;this.i=this.Ba-1;this.B=this.D/this.Ba|0;this.A=this.B-1;this.Ua=[];this.H=null;this.Mb=this.Ic;a=new H;zb(a,this.C);this.N=Array(this.B);for(b=0;b>8:d[2](b)&255}else if(b&1&&(d=c.Ua[a&-2])&&(E(c)&&db(c,d[5]+".readByte("+r(b)+")",0,!0),d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+r(b));return c.Mb(b,-1,1)} -function Bb(a,b,c){var d=this.controller,f=d.Ua[a];if(f){E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0);if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.Ua[a&-2])&&(E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0),f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.f("warning: unconverted write access to byte @"+r(c));d.Mb(c,b,1)} -function Cb(a,b){var c=this.controller;if(a=c.Ua[a]){E(c)&&db(c,a[5]+".readWord("+r(b)+")",0,!0);if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.f("warning: unconverted read access to word @"+r(b));return c.Mb(b,-1,0)}function Db(a,b,c){var d=this.controller;if(a=d.Ua[a]){E(d)&&db(d,a[5]+".writeWord("+r(c)+","+r(b)+")",0,!0);if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.f("warning: unconverted write access to word @"+r(c));d.Mb(c,b,0)}l=yb.prototype; -l.reset=function(){this.H&&this.H()};l.Ic=function(){return 0};l.Qa=function(a,b){b||this.reset();return!0}; -function Eb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.Y;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Yb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Yb){n=k.size-(e-m);n>g&&(n=g);k.Yb=e-k.w+n;e=m+a.Ba;g-=n;h++;continue}}return Gb(1,e,g)}e=new H(e,n,a.Ba,d,f);zb(e,a.C,k);a.N[h++]=e;e=m+a.Ba;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Hb[d]+" at "+t(b,8,!0)),!0):Gb(2,b,c)} -l.sb=function(a){return this.N[(a&this.j)>>>this.Y].wb(a&this.i,a)};l.Ja=function(a){var b=a&this.i,c=(a&this.j)>>>this.Y;return b!=this.i?this.N[c].Rb(b,a):this.N[c++].wb(b,a)|this.N[c&this.A].wb(0,a+1)<<8};function Ib(a,b){var c=b&a.i,d=(b&a.j)>>>a.Y;return c!=a.i?a.N[d].mc(c,b):a.N[d++].Qb(c,b)|a.N[d&a.A].Qb(0,b+1)<<8}l.Vb=function(a,b){this.N[(a&this.j)>>>this.Y].Cb(a&this.i,b&255,a)}; -l.pb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.Y;c!=this.i?this.N[d].Hc(c,b&65535,a):(this.N[d++].Cb(c,b&255,a),this.N[d&this.A].Cb(0,b>>8&255,a+1))};function Jb(a){for(var b=0,c=[],d=0;d>1)+2;10>this.Y&&(this.Y=10);15>2;this.i=this.Ba-1;this.C=this.F/this.Ba|0;this.A=this.C-1;this.Ta=[];this.H=null;this.Kb=this.Hc;a=new H;zb(a,this.D);this.N=Array(this.C);for(b=0;b>8:d[2](b)&255}else if(b&1&&(d=c.Ta[a&-2])&&(E(c)&&db(c,d[5]+".readByte("+r(b)+")",0,!0),d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+r(b));return c.Kb(b,-1,1)} +function Bb(a,b,c){var d=this.controller,f=d.Ta[a];if(f){E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0);if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.Ta[a&-2])&&(E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0),f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.f("warning: unconverted write access to byte @"+r(c));d.Kb(c,b,1)} +function Cb(a,b){var c=this.controller;if(a=c.Ta[a]){E(c)&&db(c,a[5]+".readWord("+r(b)+")",0,!0);if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.f("warning: unconverted read access to word @"+r(b));return c.Kb(b,-1,0)}function Db(a,b,c){var d=this.controller;if(a=d.Ta[a]){E(d)&&db(d,a[5]+".writeWord("+r(c)+","+r(b)+")",0,!0);if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.f("warning: unconverted write access to word @"+r(c));d.Kb(c,b,0)}l=yb.prototype; +l.reset=function(){this.H&&this.H()};l.Hc=function(){return 0};l.Pa=function(a,b){b||this.reset();return!0}; +function Eb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.Y;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Wb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Wb){n=k.size-(e-m);n>g&&(n=g);k.Wb=e-k.w+n;e=m+a.Ba;g-=n;h++;continue}}return Gb(1,e,g)}e=new H(e,n,a.Ba,d,f);zb(e,a.D,k);a.N[h++]=e;e=m+a.Ba;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Hb[d]+" at "+t(b,8,!0)),!0):Gb(2,b,c)} +l.rb=function(a){return this.N[(a&this.j)>>>this.Y].vb(a&this.i,a)};l.Ia=function(a){var b=a&this.i,c=(a&this.j)>>>this.Y;return b!=this.i?this.N[c].Pb(b,a):this.N[c++].vb(b,a)|this.N[c&this.A].vb(0,a+1)<<8};function Ib(a,b){var c=b&a.i,d=(b&a.j)>>>a.Y;return c!=a.i?a.N[d].kc(c,b):a.N[d++].Ob(c,b)|a.N[d&a.A].Ob(0,b+1)<<8}l.Tb=function(a,b){this.N[(a&this.j)>>>this.Y].Bb(a&this.i,b&255,a)}; +l.ob=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.Y;c!=this.i?this.N[d].Gc(c,b&65535,a):(this.N[d++].Bb(c,b&255,a),this.N[d&this.A].Bb(0,b>>8&255,a+1))};function Jb(a){for(var b=0,c=[],d=0;d>5&3;c.sa=a>>1&15;c.ac=a&257?a&1?6:4:0;Yb(c);a=c.B;a&1|256&&(b=this.b.nb&16?1:2);this.A.tb=this.A.tb&-8|b};l.dd=function(){return this.i.ta};l.vd=function(a){this.i.ta=this.i.ta&128|a&-129};l.ed=function(){return this.i.wa}; -l.wd=function(a){if(128==(this.i.wa&192)&&a&64){var b=this;J(this.b,8,4,52,function(){b.i.wa|=128;return!!(b.i.wa&64)})}this.i.wa=this.i.wa&128|a&-129};l.cd=function(){return Zb(this.b)};l.ud=function(a){$b(this.b,a&-1809|Zb(this.b)&1808);this.b.G|=128}; -function ac(a){var b=a.B,c,d,f,e=b.ua>>13&7;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.fd,drive:e,blocksize:256,mapped:0,maxblock:b.ib[e]*b.aa[e],url:"rk"+e+".dsk"});b.P&=-129;switch(b.P>>1&7){case 0:b.Tb=2496;b.ma=0;b.P=128;b.ua=0;break;case 1:if((b.ua>>4&511)>=b.ib[e]){b.ma|=32832;b.P|=49152;break}if((b.ua&15)>=b.aa[e]){b.ma|=32800;b.P|=49152;break}c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Sb;f=65536-b.Ub&65535;bc(a,b.oa[e],c,d,f);return;case 2:if((b.ua>>4&511)>=b.ib[e])b.ma|= -32832,b.P|=49152;else if((b.ua&15)>=b.aa[e])b.ma|=32800,b.P|=49152;else{c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Sb;f=65536-b.Ub&65535;a.cc(b.oa[e],c,d,f);return}}b.Tb=e<<13|b.Tb&8176|b.ua%9&15;J(a.b,20,5,144,function(){b.P=b.P&65534|128;return!!(b.P&64)})}l.fd=function(a,b,c,d,f){var e=this.B;e.Sb=d&65535;e.P=e.P&-49|d>>12&48;e.Ub=65536-f&65535;switch(a){case 1:e.ma|=33024;e.P|=49152;break;case 2:e.ma|=33792,e.P|=49152}J(this.b,20,5,144,function(){e.P=e.P&65534|128;return!!(e.P&64)})}; -function cc(a){var b=a.D,c,d,f,e=b.L>>8&3;b.L&=-2;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.gd,drive:e,blocksize:128,mapped:1,maxblock:b.ib[e]*b.aa[e],url:"rl"+e+".dsk"});switch(b.L>>1&7){case 2:b.ab&8&&(b.L&=63);b.ab=b.Kc[e]|b.gb&64;break;case 3:1==(b.fa&3)&&(b.gb=b.fa&4?b.gb+(b.fa&65408)&65408|b.fa<<2&64:b.gb-(b.fa&65408)&65408|b.fa<<2&64,b.fa=b.gb);break;case 4:b.ab=b.gb;break;case 5:if(b.fa>>6>=b.ib[e]){b.L|=37888;break}if((b.fa&63)>=b.aa[e]){b.L|=37888;break}c=(b.fa>>6)* -b.aa[e]+(b.fa&63);d=(b.Va&63)<<16|b.Jb;f=65536-b.ab&65535;bc(a,b.oa[e],c,d,f);return;case 6:if(b.fa>>6>=b.ib[e])b.L|=37888;else if((b.fa&63)>=b.aa[e])b.L|=37888;else{c=(b.fa>>6)*b.aa[e]+(b.fa&63);d=(b.Va&63)<<16|b.Jb;f=65536-b.ab&65535;a.cc(b.oa[e],c,d,f);return}}J(a.b,20,5,112,function(){b.L|=129;return!!(b.L&64)})} -l.gd=function(a,b,c,d,f){var e=this.D;e.Jb=d&65535;e.L=e.L&-49|d>>12&48;e.Va=d>>16&63;e.fa=~~(c/e.aa[b.Na])<<6|c%e.aa[b.Na];e.gb=e.fa;e.ab=65536-f&65535;switch(a){case 1:e.L|=33792;break;case 2:e.L|=40960}J(this.b,20,5,112,function(){e.L|=129;return!!(e.L&64)})};function dc(a){a=a.H;a.S=2176;a.Ca=0;a.qa=[4544,4544,4544,4544,4544,4544,4544,4544];a.yb=[0,0,0,0,0,0,0,0];a.ob=a.zb=a.xb=a.fb=a.oc=0} -function ec(a,b){var c=a.H,d,f,e;c.S&=-16513;c.Ca&=-2049;c.qa[b]&=-1153;J(a.b,-1,0,172);"undefined"===typeof c.oa[b]&&(c.oa[b]={cache:[],postProcess:a.hd,drive:b,blocksize:256,mapped:0,maxblock:c.gc[0]*c.hb[0]*c.aa[0],url:"rp"+b+".dsk"});switch(c.S&63){case 5:c.fc[b]=c.Ta[b];c.S|=32896;c.qa[b]|=32896;c.ob|=1<=c.gc[0]||c.Da[b]>>8>=c.hb[0]||(c.Da[b]&255)>=c.aa[0]){c.yb[b]|=1024;c.S|=49152;break}d=(c.Ta[b]*c.hb[0]+(c.Da[b]>>8))* -c.aa[0]+(c.Da[b]&255);f=(c.fb&63)<<16|c.xb;e=65536-c.zb&65535;bc(a,c.oa[b],d,f,e);return;case 57:if(c.Ta[b]>=c.gc[0]||c.Da[b]>>8>=c.hb[0]||(c.Da[b]&255)>=c.aa[0])c.yb[b]|=1024,c.S|=49152;else{d=(c.Ta[b]*c.hb[0]+(c.Da[b]>>8))*c.aa[0]+(c.Da[b]&255);f=(c.fb&63)<<16|c.xb;e=65536-c.zb&65535;a.cc(c.oa[b],d,f,e);return}}J(a.b,3,5,172,function(){c.S=c.S&65534|128;c.qa[b]|=128;return!!(c.S&64)})} -l.hd=function(a,b,c,d,f){var e=this.H;e.zb=65536-f&65535;e.xb=d&65535;e.S=e.S&-769|d>>8&768;e.fb=d>>16&63;f=~~(c/e.aa[0]);d=~~(f/e.hb[0]);e.Da[b.Na]=f%e.hb[0]<<8|c%e.aa[0];e.fc[b.Na]=e.Ta[b.Na]=d;e.ob|=1<=b.Yc-1&&(e.qa[b.Na]|=1024);switch(a){case 1:e.Ca|=512;e.S|=49152;break;case 2:e.Ca|=2048,e.S|=49152}J(this.b,20,5,172,function(){e.qa[b.Na]|=128;e.S=e.S&65534|128;return!!(e.S&64)})}; -function fc(a,b,c,d,f,e){var g=~~((e+c.Wa-1)/c.Wa),h=new XMLHttpRequest;2048>g&&d+2048g){b.kc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.kc(0,b,c,d,f)}l.reset=function(){this.A.tb=this.A.tb&-120|20;this.i.ta=0;this.i.wa=128;this.j.$a=0;this.B.P=128;this.D.L=128;dc(this)}; -l.Jc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.eb&65280:(a&1&&(b<<=8),e.eb=b|255,d=0);break;case 4194298:if(0>b)d=e.nc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.nc=d;e.Ra=2}break;case 4194294:if(70!==e.lb)return e.M(4,222);0>b?d=e.I:d=e.I=0;break;case 4194292:if(70!==e.lb)return e.M(4,224);d=1;break;case 4194290:if(70!==e.lb)return e.M(4,226);d=0;break;case 4194288:if(70!==e.lb)return e.M(4,228);d=61183;break;case 4194296:0<= -b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.lb)return e.M(4,232);f=a-4194272>>1;0>b?d=e.jc[f]:(d=K(this,e.jc[f],a,b,c),0<=d&&(e.jc[f]=d));break;case 4194254:return a&1?e.O>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[3]=b),d=e.Aa[3]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[1]=b),d=e.Aa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.O&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.Sa[f]= -b),d=e.Sa[f]),d;case 4194246:return a&1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[0]=b),d=e.Aa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.O&2048?(0<=b&&(e.Sa[f]=b),d=e.Sa[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.I|=16,e.M(4,124)}break;case 4194176:f=a>>1&31;d=K(this,e.la[3][f],a,b,c);0<=d&&(e.la[3][f]=d,e.la[3][f&15]&=65295);break;case 4194112:var g=this.i;switch(a&-2){case 4194174:d=K(this,e.ec,a,b,c);0<=d&&(e.ec=d);break;case 4194172:d= -e.cb;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.A.qd&65535:(d=K(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Oc=0),g.wa&=-129,J(e,100,4,52,function(){g.wa|=128;return!!(g.wa&64)}));d=0;break;case 4194162:d=0;0>b&&(g.ta&=-129,0b?d=g.ta:(d=K(this,g.ta,a,b,c),0<=d&&(g.ta=g.ta&128|d&-129));break;default:return e.I|=16,e.M(4, -126)}break;case 4194048:f=this.B;switch(a&-2){case 4194048:d=K(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194050:d=K(this,f.ma,a,b,c);0<=d&&(f.ma=d);break;case 4194052:d=K(this,f.P,a,b,c);0<=b&&0<=d&&(f.P=d&-36993|f.P&36992,f.P&1&&ac(this));break;case 4194054:d=K(this,f.Ub,a,b,c);0<=d&&(f.Ub=d);break;case 4194056:d=K(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194058:d=K(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;case 4194060:break;case 4194062:d=K(this,f.Cc,a,b,c);0<=d&&(f.Cc=d);break;default:return e.I|= -16,e.M(4,128)}break;case 4193728:var h=this.H;f=h.Ca&7;switch(a&-2){case 4193728:d=K(this,h.S,a,b,c);0<=b&&0<=d&&(h.fb=h.fb&60|d>>8&3,h.S=d&17279|h.S&34944|2048,d&1&&h.S&128?ec(this,f):192==(d&192)&&J(e,0,5,172));break;case 4193730:d=K(this,h.zb,a,b,c);0<=d&&(h.zb=d);break;case 4193732:d=K(this,h.xb,a,b,c);0<=d&&(h.xb=d&65534);break;case 4193734:d=K(this,h.Da[f],a,b,c);0<=d&&(h.Da[f]=d&7967);break;case 4193736:d=K(this,h.Ca,a,b,c);0<=d&&(h.Ca=d&63|h.Ca&65472,d&128&&dc(this));break;case 4193738:d= -h.qa[f];break;case 4193740:d=h.yb[f];break;case 4193742:d=K(this,h.ob,a,b,c);0<=d&&(h.ob=d&255);break;case 4193744:d=h.nd[f];break;case 4193746:d=K(this,h.Dc,a,b,c);0<=d&&(h.Dc=d);break;case 4193748:d=K(this,h.Ec[f],a,b,c);0<=d&&(h.Ec[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.od[f];break;case 4193754:d=K(this,h.Fc[f],a,b,c);0<=d&&(h.Fc[f]=d);break;case 4193756:d=K(this,h.Ta[f],a,b,c);0<=d&&(h.Ta[f]=d&511);break;case 4193758:h.fc[f]=h.Ta[f];d=h.fc[f];break;case 4193760:d=h.ld[f]; -break;case 4193762:d=h.md[f];break;case 4193764:d=h.jd[f];break;case 4193766:d=h.kd[f];break;case 4193768:d=K(this,h.fb,a,b,c);0<=d&&(h.fb=d&63,h.S=h.S&-769|(d&3)<<8);break;case 4193770:d=K(this,h.oc,a,b,c);0<=d&&(h.oc=d);break;default:return e.I|=16,e.M(4,132)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=K(this,f.L,a,b,c);0<=b&&0<=d&&(f.Va=f.Va&60|d>>4&3,f.L=f.L&-1023|d&1022,f.L&128||cc(this));break;case 4192514:d=K(this,f.Jb,a,b,c);0<=d&&(f.Jb=d&65534);break;case 4192516:d=K(this,f.fa, -a,b,c);0<=d&&(f.fa=d);break;case 4192518:d=K(this,f.ab,a,b,c);0<=d&&(f.ab=d);break;case 4192520:d=K(this,f.Va,a,b,c);0<=d&&(f.Va=d&63,f.L=f.L&-49|(f.Va&3)<<4);break;default:return e.I|=16,e.M(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.nb:(d=K(this,e.nb,a,b,c),0<=d&&(70!==e.lb&&(d&=-49),e.nb=d,e.bc[0]=d&4?15:7,e.bc[1]=d&2?15:7,e.bc[3]=d&1?15:7,e.ac&&(f=2,e.nb&16&&(f=1),this.A.tb=this.A.tb&-8|f)));break;default:return e.I|=16,e.M(4,136)}break;case 4191424:f=a>>1&31;d=K(this,e.la[0][f], -a,b,c);0<=d&&(e.la[0][f]=d,e.la[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=K(this,e.la[1][f],a,b,c);0<=d&&(e.la[1][f]=d,e.la[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.lb)return e.M(4,234);f=a>>2&31;d=e.Wb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=K(this,d,a,b,c),0<=d&&(e.Wb[f]=a&2?d<<16|e.Wb[f]&65535:e.Wb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Nb[a>>1&255];else return e.I|=16,e.M(4, -138);break;default:return e.I|=16,e.M(4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var hc={},Lb=(hc[65382]=[null,null,I.prototype.ad,I.prototype.sd,"LKS"],hc[65392]=[null,null,I.prototype.dd,I.prototype.vd,"RCSR"],hc[65396]=[null,null,I.prototype.ed,I.prototype.wd,"XCSR"],hc[65402]=[null,null,I.prototype.bd,I.prototype.td,"MMR0"],hc[65534]=[null,null,I.prototype.cd,I.prototype.ud,"PSW"],hc); +0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=I.prototype;l.Ya=function(a,b,c,d){this.G=b;this.b=c;this.D=d;var f=this;this.j.oc=Wb(this.b,function(){f.j.Za|=128;f.j.Za&64&&(J(f.b,0,6,64),Xb(f.b,f.j.oc))});Kb(b,this);Mb(b,this.reset.bind(this),this.Ic.bind(this));F(this)};l.$c=function(){var a=this.j.Za;this.j.Za&=-129;return a}; +l.rd=function(a){this.j.Za=a;a&64&&Xb(this.b,this.j.oc);this.j.Za=a&-129};l.ad=function(){var a=this.b;return a.C&62337|a.ra<<5|a.sa<<1};l.sd=function(a){var b=4,c=this.b;c.C=a&=62337;c.ra=a>>5&3;c.sa=a>>1&15;c.Zb=a&257?a&1?6:4:0;Yb(c);a=c.C;a&1|256&&(b=this.b.mb&16?1:2);this.A.sb=this.A.sb&-8|b};l.cd=function(){return this.i.ta};l.ud=function(a){this.i.ta=this.i.ta&128|a&-129};l.dd=function(){return this.i.wa}; +l.vd=function(a){if(128==(this.i.wa&192)&&a&64){var b=this;J(this.b,8,4,52,function(){b.i.wa|=128;return!!(b.i.wa&64)})}this.i.wa=this.i.wa&128|a&-129};l.bd=function(){return Zb(this.b)};l.td=function(a){$b(this.b,a&-1809|Zb(this.b)&1808);this.b.B|=128}; +function ac(a){var b=a.C,c,d,f,e=b.ua>>13&7;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.ed,drive:e,blocksize:256,mapped:0,maxblock:b.hb[e]*b.aa[e],url:"rk"+e+".dsk"});b.P&=-129;switch(b.P>>1&7){case 0:b.Rb=2496;b.ma=0;b.P=128;b.ua=0;break;case 1:if((b.ua>>4&511)>=b.hb[e]){b.ma|=32832;b.P|=49152;break}if((b.ua&15)>=b.aa[e]){b.ma|=32800;b.P|=49152;break}c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Qb;f=65536-b.Sb&65535;bc(a,b.oa[e],c,d,f);return;case 2:if((b.ua>>4&511)>=b.hb[e])b.ma|= +32832,b.P|=49152;else if((b.ua&15)>=b.aa[e])b.ma|=32800,b.P|=49152;else{c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Qb;f=65536-b.Sb&65535;a.ac(b.oa[e],c,d,f);return}}b.Rb=e<<13|b.Rb&8176|b.ua%9&15;J(a.b,20,5,144,function(){b.P=b.P&65534|128;return!!(b.P&64)})}l.ed=function(a,b,c,d,f){var e=this.C;e.Qb=d&65535;e.P=e.P&-49|d>>12&48;e.Sb=65536-f&65535;switch(a){case 1:e.ma|=33024;e.P|=49152;break;case 2:e.ma|=33792,e.P|=49152}J(this.b,20,5,144,function(){e.P=e.P&65534|128;return!!(e.P&64)})}; +function cc(a){var b=a.F,c,d,f,e=b.L>>8&3;b.L&=-2;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.fd,drive:e,blocksize:128,mapped:1,maxblock:b.hb[e]*b.aa[e],url:"rl"+e+".dsk"});switch(b.L>>1&7){case 2:b.$a&8&&(b.L&=63);b.$a=b.Jc[e]|b.fb&64;break;case 3:1==(b.fa&3)&&(b.fb=b.fa&4?b.fb+(b.fa&65408)&65408|b.fa<<2&64:b.fb-(b.fa&65408)&65408|b.fa<<2&64,b.fa=b.fb);break;case 4:b.$a=b.fb;break;case 5:if(b.fa>>6>=b.hb[e]){b.L|=37888;break}if((b.fa&63)>=b.aa[e]){b.L|=37888;break}c=(b.fa>>6)* +b.aa[e]+(b.fa&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;bc(a,b.oa[e],c,d,f);return;case 6:if(b.fa>>6>=b.hb[e])b.L|=37888;else if((b.fa&63)>=b.aa[e])b.L|=37888;else{c=(b.fa>>6)*b.aa[e]+(b.fa&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;a.ac(b.oa[e],c,d,f);return}}J(a.b,20,5,112,function(){b.L|=129;return!!(b.L&64)})} +l.fd=function(a,b,c,d,f){var e=this.F;e.Ib=d&65535;e.L=e.L&-49|d>>12&48;e.Ua=d>>16&63;e.fa=~~(c/e.aa[b.Ma])<<6|c%e.aa[b.Ma];e.fb=e.fa;e.$a=65536-f&65535;switch(a){case 1:e.L|=33792;break;case 2:e.L|=40960}J(this.b,20,5,112,function(){e.L|=129;return!!(e.L&64)})};function dc(a){a=a.H;a.S=2176;a.Ca=0;a.qa=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.nb=a.yb=a.wb=a.eb=a.mc=0} +function ec(a,b){var c=a.H,d,f,e;c.S&=-16513;c.Ca&=-2049;c.qa[b]&=-1153;J(a.b,-1,0,172);"undefined"===typeof c.oa[b]&&(c.oa[b]={cache:[],postProcess:a.gd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.gb[0]*c.aa[0],url:"rp"+b+".dsk"});switch(c.S&63){case 5:c.dc[b]=c.Ra[b];c.S|=32896;c.qa[b]|=32896;c.nb|=1<=c.ec[0]||c.Da[b]>>8>=c.gb[0]||(c.Da[b]&255)>=c.aa[0]){c.xb[b]|=1024;c.S|=49152;break}d=(c.Ra[b]*c.gb[0]+(c.Da[b]>>8))* +c.aa[0]+(c.Da[b]&255);f=(c.eb&63)<<16|c.wb;e=65536-c.yb&65535;bc(a,c.oa[b],d,f,e);return;case 57:if(c.Ra[b]>=c.ec[0]||c.Da[b]>>8>=c.gb[0]||(c.Da[b]&255)>=c.aa[0])c.xb[b]|=1024,c.S|=49152;else{d=(c.Ra[b]*c.gb[0]+(c.Da[b]>>8))*c.aa[0]+(c.Da[b]&255);f=(c.eb&63)<<16|c.wb;e=65536-c.yb&65535;a.ac(c.oa[b],d,f,e);return}}J(a.b,3,5,172,function(){c.S=c.S&65534|128;c.qa[b]|=128;return!!(c.S&64)})} +l.gd=function(a,b,c,d,f){var e=this.H;e.yb=65536-f&65535;e.wb=d&65535;e.S=e.S&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.aa[0]);d=~~(f/e.gb[0]);e.Da[b.Ma]=f%e.gb[0]<<8|c%e.aa[0];e.dc[b.Ma]=e.Ra[b.Ma]=d;e.nb|=1<=b.Xc-1&&(e.qa[b.Ma]|=1024);switch(a){case 1:e.Ca|=512;e.S|=49152;break;case 2:e.Ca|=2048,e.S|=49152}J(this.b,20,5,172,function(){e.qa[b.Ma]|=128;e.S=e.S&65534|128;return!!(e.S&64)})}; +function fc(a,b,c,d,f,e){var g=~~((e+c.Va-1)/c.Va),h=new XMLHttpRequest;2048>g&&d+2048g){b.ic(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.ic(0,b,c,d,f)}l.reset=function(){this.A.sb=this.A.sb&-120|20;this.i.ta=0;this.i.wa=128;this.j.Za=0;this.C.P=128;this.F.L=128;dc(this)}; +l.Ic=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.cb&65280:(a&1&&(b<<=8),e.cb=b|255,d=0);break;case 4194298:if(0>b)d=e.lc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.lc=d;e.B|=2}break;case 4194294:if(70!==e.kb)return e.M(4,222);0>b?d=e.I:d=e.I=0;break;case 4194292:if(70!==e.kb)return e.M(4,224);d=1;break;case 4194290:if(70!==e.kb)return e.M(4,226);d=0;break;case 4194288:if(70!==e.kb)return e.M(4,228);d=61183;break;case 4194296:0<= +b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.kb)return e.M(4,232);f=a-4194272>>1;0>b?d=e.hc[f]:(d=K(this,e.hc[f],a,b,c),0<=d&&(e.hc[f]=d));break;case 4194254:return a&1?e.O>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[3]=b),d=e.Aa[3]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[1]=b),d=e.Aa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.O&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.Qa[f]= +b),d=e.Qa[f]),d;case 4194246:return a&1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[0]=b),d=e.Aa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.O&2048?(0<=b&&(e.Qa[f]=b),d=e.Qa[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.I|=16,e.M(4,124)}break;case 4194176:f=a>>1&31;d=K(this,e.la[3][f],a,b,c);0<=d&&(e.la[3][f]=d,e.la[3][f&15]&=65295);break;case 4194112:var g=this.i;switch(a&-2){case 4194174:d=K(this,e.cc,a,b,c);0<=d&&(e.cc=d);break;case 4194172:d= +e.bb;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.A.pd&65535:(d=K(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Nc=0),g.wa&=-129,J(e,100,4,52,function(){g.wa|=128;return!!(g.wa&64)}));d=0;break;case 4194162:d=0;0>b&&(g.ta&=-129,0b?d=g.ta:(d=K(this,g.ta,a,b,c),0<=d&&(g.ta=g.ta&128|d&-129));break;default:return e.I|=16,e.M(4, +126)}break;case 4194048:f=this.C;switch(a&-2){case 4194048:d=K(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194050:d=K(this,f.ma,a,b,c);0<=d&&(f.ma=d);break;case 4194052:d=K(this,f.P,a,b,c);0<=b&&0<=d&&(f.P=d&-36993|f.P&36992,f.P&1&&ac(this));break;case 4194054:d=K(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194056:d=K(this,f.Qb,a,b,c);0<=d&&(f.Qb=d);break;case 4194058:d=K(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;case 4194060:break;case 4194062:d=K(this,f.Bc,a,b,c);0<=d&&(f.Bc=d);break;default:return e.I|= +16,e.M(4,128)}break;case 4193728:var h=this.H;f=h.Ca&7;switch(a&-2){case 4193728:d=K(this,h.S,a,b,c);0<=b&&0<=d&&(h.eb=h.eb&60|d>>8&3,h.S=d&17279|h.S&34944|2048,d&1&&h.S&128?ec(this,f):192==(d&192)&&J(e,0,5,172));break;case 4193730:d=K(this,h.yb,a,b,c);0<=d&&(h.yb=d);break;case 4193732:d=K(this,h.wb,a,b,c);0<=d&&(h.wb=d&65534);break;case 4193734:d=K(this,h.Da[f],a,b,c);0<=d&&(h.Da[f]=d&7967);break;case 4193736:d=K(this,h.Ca,a,b,c);0<=d&&(h.Ca=d&63|h.Ca&65472,d&128&&dc(this));break;case 4193738:d= +h.qa[f];break;case 4193740:d=h.xb[f];break;case 4193742:d=K(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.md[f];break;case 4193746:d=K(this,h.Cc,a,b,c);0<=d&&(h.Cc=d);break;case 4193748:d=K(this,h.Dc[f],a,b,c);0<=d&&(h.Dc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.nd[f];break;case 4193754:d=K(this,h.Ec[f],a,b,c);0<=d&&(h.Ec[f]=d);break;case 4193756:d=K(this,h.Ra[f],a,b,c);0<=d&&(h.Ra[f]=d&511);break;case 4193758:h.dc[f]=h.Ra[f];d=h.dc[f];break;case 4193760:d=h.kd[f]; +break;case 4193762:d=h.ld[f];break;case 4193764:d=h.hd[f];break;case 4193766:d=h.jd[f];break;case 4193768:d=K(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.S=h.S&-769|(d&3)<<8);break;case 4193770:d=K(this,h.mc,a,b,c);0<=d&&(h.mc=d);break;default:return e.I|=16,e.M(4,132)}break;case 4192512:f=this.F;switch(a&-2){case 4192512:d=K(this,f.L,a,b,c);0<=b&&0<=d&&(f.Ua=f.Ua&60|d>>4&3,f.L=f.L&-1023|d&1022,f.L&128||cc(this));break;case 4192514:d=K(this,f.Ib,a,b,c);0<=d&&(f.Ib=d&65534);break;case 4192516:d=K(this,f.fa, +a,b,c);0<=d&&(f.fa=d);break;case 4192518:d=K(this,f.$a,a,b,c);0<=d&&(f.$a=d);break;case 4192520:d=K(this,f.Ua,a,b,c);0<=d&&(f.Ua=d&63,f.L=f.L&-49|(f.Ua&3)<<4);break;default:return e.I|=16,e.M(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.mb:(d=K(this,e.mb,a,b,c),0<=d&&(70!==e.kb&&(d&=-49),e.mb=d,e.$b[0]=d&4?15:7,e.$b[1]=d&2?15:7,e.$b[3]=d&1?15:7,e.Zb&&(f=2,e.mb&16&&(f=1),this.A.sb=this.A.sb&-8|f)));break;default:return e.I|=16,e.M(4,136)}break;case 4191424:f=a>>1&31;d=K(this,e.la[0][f], +a,b,c);0<=d&&(e.la[0][f]=d,e.la[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=K(this,e.la[1][f],a,b,c);0<=d&&(e.la[1][f]=d,e.la[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.kb)return e.M(4,234);f=a>>2&31;d=e.Ub[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=K(this,d,a,b,c),0<=d&&(e.Ub[f]=a&2?d<<16|e.Ub[f]&65535:e.Ub[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Nb[a>>1&255];else return e.I|=16,e.M(4, +138);break;default:return e.I|=16,e.M(4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var hc={},Lb=(hc[65382]=[null,null,I.prototype.$c,I.prototype.rd,"LKS"],hc[65392]=[null,null,I.prototype.cd,I.prototype.ud,"RCSR"],hc[65396]=[null,null,I.prototype.dd,I.prototype.vd,"XCSR"],hc[65402]=[null,null,I.prototype.ad,I.prototype.sd,"MMR0"],hc[65534]=[null,null,I.prototype.bd,I.prototype.td,"PSW"],hc); Pa(function(){for(var a=D(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.D,0,c>>2),oc(this,kc?pc:qc);else{this.b=Array(c>>2);for(a=0;a>1),this.b=new Int32Array(this.F,0,c>>2),oc(this,kc?pc:qc);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},sa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Fa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Ya=!0},ca:function(a,b){if(this.C&&null!=this.w){var c=this.C;vc(c,this.w+a,1,c.W)&&c.na(!0)}return this.Qb(a,b)},ja:function(a,b){if(this.C&&null!=this.w){var c=this.C;vc(c,this.w+a,2,c.W)&&c.na(!0)}return this.mc(a,b)},ya:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;vc(d,this.w+a,1,d.D)&&d.na(!0)}this.i?this.B(a,b,c):this.Db(a, -b,c)},Ha:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;vc(d,this.w+a,2,d.D)&&d.na(!0)}this.i?this.B(a,b,c):this.rc(a,b,c)},$:function(a){return this.J[a]},da:function(a){return this.J[a]},ha:function(a){return this.H.getUint16(a,!0)},ra:function(a){return a&1?this.J[a]|this.J[a+1]<<8:this.R[a>>1]},xa:function(a,b){this.J[a]=b;this.Ya=!0},za:function(a,b){this.J[a]=b;this.Ya=!0},Ga:function(a,b){this.H.setUint16(a,b,!0);this.Ya=!0},La:function(a,b){a&1?(this.J[a]=b,this.J[a+1]=b>>8):this.R[a>> -1]=b;this.Ya=!0}};function zb(a,b,c){a.C=b;a.j=a.A=0;c&&((a.j=c.j)&&uc(a,tc,!1),(a.A=c.A)&&sc(a,tc,!1))}function wc(a,b){b?--a.A||(a.Cb=a.i?a.B:a.Db,a.Hc=a.i?a.K:a.rc):--a.j||(a.wb=a.Qb,a.Rb=a.mc)}function sc(a,b,c){c&&a.A||(a.Cb=!a.i&&b[1]||a.B,a.Hc=!a.i&&b[3]||a.K);if(c||void 0===c)a.Db=b[1]||a.B,a.rc=b[3]||a.K}function uc(a,b,c){c&&a.j||(a.wb=b[0]||a.T,a.Rb=b[2]||a.W);if(c||void 0===c)a.Qb=b[0]||a.T,a.mc=b[2]||a.W}function oc(a,b){b||(b=xc);uc(a,b,void 0);sc(a,b,void 0)} -var xc=[],rc=[H.prototype.ea,H.prototype.Fa,H.prototype.sa,H.prototype.Eb],tc=[H.prototype.ca,H.prototype.ya,H.prototype.ja,H.prototype.Ha];if(vb)var qc=[H.prototype.$,H.prototype.xa,H.prototype.ha,H.prototype.Ga],pc=[H.prototype.da,H.prototype.za,H.prototype.ra,H.prototype.La]; -function yc(a,b){w.call(this,"CPU",a,yc,1);var c=a.multiplier||1;this.ya=a.cycles||b;this.bb=c;this.Fa=Math.round(this.ya/1E4)/100;this.mb=this.Fa*this.bb;this.u.ga=!1;this.u.pc=!1;this.u.Hb=a.autoStart;this.u.xc=!1;this.u.rb=!1;this.Nb=this.ca=0;this.Ob=a.csStart;this.ub=a.csInterval;this.vb=a.csStop;this.D=[];this.Ha=this.pd.bind(this);F(this)}B(yc);var zc=["power","reset"];l=yc.prototype; -l.Za=function(a,b,c,d){this.i=a;this.F=b;this.C=d;for(b=0;b=a.ca&&(a.ca+=a.ub,c=!0);0<=a.vb&&a.vb<=Yc(a)&&(a.ub=a.vb=-1,Vc(a),a.na(),c=!0);c&&a.f(Yc(a)+" cycles: checksum="+t(a.Nb))}} -function Zc(a,b,c,d){if(a.J[b]){void 0===c&&(ub(a,"Value for "+b+" is invalid"),a.na());var f=a.C&&a.C.ea||8;c=!a.u.ga||a.u.xc?8==f?r(c,d):t(c,d):"--------".substr(0,d||4);a.J[b].textContent!=c&&(a.J[b].textContent=c)}} -l.va=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.J[b]=c;a=!0;break;case "run":this.J[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ia)a=!0;else{var b=null,c,h=ab(a.id);for(c=0;ca.R/a.mb?b=1:d=!0;a.bb=b;b=a.Fa*a.bb;if(a.mb!=b){a.mb=b;b=a.mb.toFixed(2)+"Mhz";var f=a.J.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Xb()}ad(a,a.K);a.K=0;a.H=pa();a.T=0;bd(a);return d}function Wb(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Xb(a,b){var c;0<=b&&ba.D[b][0]&&(c=a.ya*a.bb/1E3*(1E3/60),a.D[b][0]=c)}function cd(a){a.W-=a.b;a.b=0} -l.pd=function(){if(this.u.ga){this.Ga>=this.ya&&bd(this,!0);this.ja=0;this.xa=pa();if(this.T){var a=this.xa-this.T;a>this.Ib&&(this.H+=a,this.H>this.xa&&(this.H=this.xa))}try{do{for(var b,c=this.u.rb?1:this.za,d=this.D.length-1;0<=d;d--){var f=this.D[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Bb(b)}catch(k){if("number"!=typeof k)throw k;}for(var e=this.W-this.b,a=e,g=this.D.length-1;0<=g;g--){var h=this.D[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.ja+=e;this.K+=e;ad(this,0,!0);Xc(this,e);this.da-= -e;if(0>=this.da){this.da+=this.za;15<=++this.Lb&&(this.i&&this.i.Ea(),this.Lb=0);break}}while(this.u.ga)}catch(k){this.na();L(this);this.i&&this.i.stop(pa(),Yc(this));ub(this,k.stack||k.message);return}if(this.u.ga){b=setTimeout;c=this.Ha;this.T=pa();d=this.Ib;this.ja&&(d=Math.round(d*this.ja/this.za));d-=this.T-this.xa;if(f=this.T-this.H)this.R=Math.round(this.K/(10*f))/100,864E5<=f&&(this.$=0,$c(this));if(0>d||this.Rd&&(this.H-=d),d=0;this.Ga+=this.ja;this.T+=d;b(c,d)}}}; -l.Ab=function(a){if(tb(this))return!1;if(this.u.ga)return this.f(this.toString()+" busy"),!1;$c(this);this.u.ga=!0;this.u.pc=!0;this.ha&&this.ha.start();var b=this.J.run;b&&(b.textContent="Halt");this.i&&(a&&this.i.Xb(!0),this.i.start(this.H,Yc(this)));L(this,!0);setTimeout(this.Ha,0);return!0};l.Bb=function(){return 0}; -l.na=function(a){if(this.u.ga){cd(this);ad(this,this.K);this.K=0;this.u.ga=!1;this.ha&&this.ha.stop();var b=this.J.run;b&&(b.textContent="Run");this.i&&this.i.stop(pa(),Yc(this));L(this)}this.u.complete=a};function L(a,b){a.i&&a.i.Ea(b)} -function dd(a){this.Zc=+a.model||1170;this.Zb=a.resetAddr||0;yc.call(this,a,1E6);this.Fb=0;this.decode=ed.bind(this);this.U=65536;this.V=32768;this.Z=65535;this.X=32768;this.O=15;this.g=[0,0,0,0,0,0,0,this.Zb];this.Sa=[0,0,0,0,0,0];this.Aa=[0,0,0,0];this.sa=this.A=0;this.la=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Wb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.jc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.G=0;this.lb=70;this.ea=-1;this.La=0;fd(this);this.u.complete=this.u.Nc=!1}B(dd,yc);l=dd.prototype;l.reset=function(){this.u.ga&&this.na();fd(this);Bc(this);this.u.error=!1;this.parent.reset.call(this)}; -function fd(a){a.eb=255;a.I=0;a.nc=0;a.B=0;a.cb=0;a.ec=0;a.nb=0;a.ac=0;a.ra=0;a.bc=[7,7,7,7];a.j=[];a.Ra=2;Yb(a)}function Yb(a){a.ac?(a.qb=65536,a.ba=a.Uc,a.Rb=a.Ka):(a.qb=0,a.ba=a.Tc,a.Rb=a.dc)}l.zc=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.$,this.bb]);a.set(2,Jb(this.F));return a.data()}; -l.restore=function(a){var b=a[1];this.$=b[1];$c(this,b[3]);a:{b=this.F;a=a[2];var c;for(c=0;cb){a.j[e].Xa-=b;break}b-=a.j[e].Xa}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Ra=2} -function jd(a){if(1==a.Ra)a.Ra=2;else{a.Ra=0;for(var b=null,c=a.nc&224,d=a.j.length;0<=--d;){if(0c&&(c=a.j[d].$c,b=a.j[d],a.j.splice(d,1))}c>(a.O&224)&&(a.G&=-2,b?a.M(b.rd,26):a.M(160,26))}}function Zb(a){return a.O=a.O&63728|a.Oa()|hd(a)|gd(a)|N(a)} -function $b(a,b){a.X=b<<12;a.Z=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.O)&2048)for(var c=a.Sa.length;0<=--c;){var d=a.g[c];a.g[c]=a.Sa[c];a.Sa[c]=d}a.A=b>>14&3;c=a.O>>14&3;a.A!=c&&(a.Aa[c]=a.g[6],a.g[6]=a.Aa[a.A]);a.Ra=2;a.O=b}function O(a,b){a.G&128||(a.X=a.Z=b,a.V=0)}function kd(a,b,c){a.G&128||(a.X=a.Z=a.U=b,a.V=c||0)}function ld(a,b,c,d){a.G&128||(a.X=a.Z=a.U=b,a.V=(c^b)&(d^b))}function md(a,b){a.G&128||(a.X=a.Z=a.U=b,a.V=a.X^a.U>>1)}function nd(a,b,c,d){a.G&128||(a.X=a.Z=a.U=b,a.V=(c^d)&(d^b))} -l.M=function(a){var b=!1;0>this.ea?this.ea=Zb(this):this.A||(a=4,b=!0);this.B&57344||(this.cb=63222,this.ec=a);this.A=0;var c=this.Ka(a|65536),d=this.Ka(a+2&65535|65536);$b(this,d&-12289|this.ea>>2&12288);b&&(this.I|=4,this.g[6]=4);od(this,this.ea);od(this,this.g[7]);this.g[7]=c;this.G&=-113;this.ea=-1;throw a;};function pd(a){var b=qd(a),c=qd(a)&-1793;a.O&49152&&(c=c&-225|a.O&63712);a.g[7]=b&65535;$b(a,c);a.G&=-17} -function gc(a,b){var c=b>>13&31;31>c?a.nb&32&&(b=a.Wb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} -function rd(a,b,c){var d,f,e,g=0;if(c&a.ac){d=b>>13&a.bc[a.A];f=a.la[a.A][d];e=(a.la[a.A][d+16]<<6)+(b&8191)&4194303;a.nb&16?3932160<=e&&4186112>e&&(e=gc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.I|=32,a.M(4,12)),e&1&&!(c&1)&&(a.I|=64,a.M(4,14)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2& -8128)&&(g|=16384));a.la[a.A][d]=f;if(4194170!==e||a.A)a.ra=a.A,a.sa=d;g&&(g&57344&&(0<=a.ea&&(g|=128),a.B&57344||(a.B=a.B|g|a.ra<<5|a.sa<<1),a.M(168,16)),a.B&61440||!(4191360>e||4194239>3&7){case 0:a.M(4,20);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.eb||65534<=a.g[6])&&(a.g[6]<=a.eb-32||65534<=a.g[6]?(a.I|=4,a.g[6]=4,a.M(4,22)):(a.I|=8,a.G|=64)),7===e?a.g[e]:a.g[e]|g;case 2:f=2;d=a.g[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.g[e];7!==e&&(d|=g);d=a.Ka(d);d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.g[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.g[e]-2&65535;7!==e&&(d|=g);d=a.Ka(d)|g;break;case 6:return d= -id(a),d=d+a.g[e]&65535|g;case 7:return d=id(a),d=d+a.g[e]&65535,d=a.Ka(d|65536)|g}a.g[e]=a.g[e]+f&65535;!g||a.B&57344||(a.cb=a.cb<<8|f<<3&248|e);6==e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.eb||65534<=a.g[6])&&(a.g[6]<=a.eb-32?(a.I|=4,a.g[6]=4,a.M(4,24)):(a.I|=8,a.G|=64));return d}l.Tc=function(a,b){return sd(this,a,b)};l.Uc=function(a,b){return rd(this,sd(this,a,b),b)}; -function td(a,b,c){b&56?(b=sd(a,b,0),c&65536||61440!==(a.O&61440)&&(b&=65535),a.A=a.O>>12&3,c=a.Ka(b|c&65536),a.A=a.O>>14&3):(c=b&7,c=6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]:a.Aa[a.O>>12&3]);return c}function ud(a,b,c,d){a.B&57344||(a.cb=22);b&56?(b=sd(a,b,0),c&65536||(b&=65535),a.A=a.O>>12&3,b=rd(a,b|c&65536,4),a.A=a.O>>14&3,a.F.pb(b,d&65535)):(c=b&7,6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]=d:a.Aa[a.O>>12&3]=d)}function P(a,b){return b&56?a.Rb(sd(a,b,2)):a.g[b&7]} -function vd(a,b){b&56?(b=a.ba(b,3),a=a.F.sb(b)):a=a.g[b&7]&255;return a}function R(a,b,c,d){b&56?(b=a.ba(b,6),c=d.call(a,c,a.dc(b)),a.F.pb(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function S(a,b,c,d){b&56?(b=a.ba(b,7),c=d.call(a,c,a.F.sb(b)),a.F.Vb(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function wd(a,b,c){b&56?(b=a.ba(b,4),a.F.pb(b,c&65535)):a.g[b&7]=c&65535;return c} -function xd(a,b,c,d){b&56?(d=a.ba(b,5),a.F.Vb(d,c&255)):(b&=7,a.g[b]=c?d&1?c<<24>>24&65535:a.g[b]&-256|c&255:a.g[b]&-256);return c}function T(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535} -l.Bb=function(a){this.u.complete=!0;var b=this.u.Nc=this.C&&yd(this.C),c=a?this.u.pc?0:1:-1;this.u.pc=!1;this.W=this.b=a;do{if(b){if(zd(this.C,this.g[7],c)){this.na();break}c=1}this.G&&(this.G&112&&(this.G&32?this.M(168,28):this.G&64?this.M(4,30):this.G&16&&this.M(12,32),this.G&=-113),this.G&1&&(jd(this),this.G&=-2,this.g[7]=this.g[7]-2&65535));a&&this.Ra&&jd(this);this.B&57344||(this.cb=0,this.ec=this.g[7]);this.G=this.G&1|this.O&16;this.decode(id(this))}while(0>1|b<<16;md(this,a);return a&65535}function Fd(a,b){a=b&2048|b>>1|b<<8;md(this,a<<8);return a&255} -function Gd(a,b){a=b&~a;O(this,a);return a}function Hd(a,b){a=b&~a;O(this,a<<8);return a}function Id(a,b){a|=b;O(this,a);return a}function Jd(a,b){a|=b;O(this,a<<8);return a}function Kd(a,b){a=~b|65536;kd(this,a);return a&65535}function Ld(a,b){a=~b|256;kd(this,a<<8);return a&255}function Md(a,b){a=b-a;this.G&128||(this.X=this.Z=a,this.V=b&(b^a));return a&65535}function Nd(a,b){a=b-a;var c=a<<8;b<<=8;this.G&128||(this.X=this.Z=c,this.V=b&(b^c));return a&255} -function Od(a,b){a=b+a;this.G&128||(this.X=this.Z=a,this.V=a&(b^a));return a&65535}function Pd(a,b){a=b+a;var c=a<<8;this.G&128||(this.X=this.Z=c,this.V=c&(b<<8^c));return a&255}function Qd(a,b){a=-b;kd(this,a,a&b&32768);return a&65535}function Rd(a,b){a=-b;kd(this,a<<8,(a&b&128)<<8);return a&255}function Sd(a,b){a=b<<1|this.U>>16&1;md(this,a);return a&65535}function Td(a,b){a=b<<1|this.U>>16&1;md(this,a<<8);return a&255}function Ud(a,b){a=(this.U&65536|b)>>1|b<<16;md(this,a);return a&65535} -function Vd(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;md(this,a<<8);return a&255}function Wd(a,b){var c=b-a;nd(this,c,a,b);return c&65535}function Xd(a,b){var c=b-a;nd(this,c<<8,a<<8,b<<8);return c&255}function Yd(a,b){a^=b;O(this,a);return a&65535} -function Zd(a){var b=P(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;b&32?(b=64-b,16>=b):b&&(16>15&65535)&&65535!==b&&(this.V=32768)));this.g[a]=c&65535;this.X=this.Z=c;--this.b} -function $d(a){var b=P(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.g[a|1]=d&65535;this.X=d>>16;this.Z=d>>16|d;--this.b}function U(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Z=1);a&8&&(this.X=0);--this.b} -function ae(a){var b=P(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.Z=d>>16|d,this.X=d>>16):(this.V=32768,this.Z=d>>15|d,this.X=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1))}else this.Z=this.X=0,this.V=32768,this.U=65536;--this.b}function be(a){var b=sd(this,a,8);a=a>>6&7;od(this,this.g[a]);this.g[a]=this.g[7];this.g[7]=b;--this.b} -function ce(a){var b=P(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.G&128||(this.X=b>>16,this.Z=this.X|b,this.V=0,this.U=-32768>b||32767>6;if(this.g[b]=this.g[b]-1&65535)this.g[7]=this.g[7]-((a&63)<<1)&65535;--this.b} -function ze(a){R(this,a,P(this,(a&448)>>6),Yd);--this.b}function X(){this.M(8,6)}function ed(a){Ae[a>>12].call(this,a)} -var Ae=[function(a){Be[a>>8&15].call(this,a)},function(a){O(this,wd(this,a,P(this,a>>6)));--this.b},function(a){var b=P(this,a>>6);a=P(this,a);nd(this,b-a,a,b);--this.b},function(a){O(this,P(this,a>>6)&P(this,a));--this.b},function(a){R(this,a,P(this,a>>6),Gd);--this.b},function(a){R(this,a,P(this,a>>6),Id);--this.b},function(a){R(this,a,P(this,a>>6),Ad);--this.b},function(a){Ce[a>>8&15].call(this,a)},function(a){De[a>>8&15].call(this,a)},function(a){var b=vd(this,a>>6);O(this,xd(this,a,b,1)<<8); ---this.b},function(a){var b=vd(this,a>>6)<<8;a=vd(this,a)<<8;nd(this,b-a,a,b);--this.b},function(a){O(this,(vd(this,a>>6)&vd(this,a))<<8);--this.b},function(a){S(this,a,vd(this,a>>6),Hd);--this.b},function(a){S(this,a,vd(this,a>>6),Jd);--this.b},function(a){R(this,a,P(this,a>>6),Wd);--this.b},X],Be=[function(a){Ee[a>>4&15].call(this,a)},function(a){T(this,a);--this.b},function(a){hd(this)||T(this,a);--this.b},function(a){hd(this)&&T(this,a);--this.b},function(a){!this.Oa()==!gd(this)&&T(this,a);--this.b}, -function(a){!this.Oa()!=!gd(this)&&T(this,a);--this.b},function(a){hd(this)||!this.Oa()!=!gd(this)||T(this,a);--this.b},function(a){(hd(this)||!this.Oa()!=!gd(this))&&T(this,a);--this.b},be,be,function(a){Fe[a>>6&3].call(this,a)},function(a){Ge[a>>6&3].call(this,a)},function(a){He[a>>6&3].call(this,a)},function(a){Ie[a>>6&3].call(this,a)},X,X],Fe=[function(a){kd(this,wd(this,a,0));--this.b},function(a){R(this,a,0,Kd);--this.b},function(a){R(this,a,1,Od);--this.b},function(a){R(this,a,1,Md);--this.b}], -Ge=[function(a){R(this,a,0,Qd);--this.b},function(a){R(this,a,N(this)?1:0,Ad);--this.b},function(a){R(this,a,N(this)?1:0,Wd);--this.b},function(a){a=P(this,a);kd(this,a);--this.b}],He=[function(a){R(this,a,0,Ud);--this.b},function(a){R(this,a,0,Sd);--this.b},function(a){R(this,a,0,Ed);--this.b},function(a){R(this,a,0,Cd);--this.b}],Ie=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.Ka(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;this.g[5]=b;--this.b},function(a){a=td(this,a,0);od(this, -a);O(this,a);--this.b},function(a){var b=qd(this);ud(this,a,0,b);O(this,b);--this.b},function(a){O(this,wd(this,a,this.Oa?65535:0));--this.b}],Ee=[function(a){Je[a&15].call(this,a)},X,X,X,X,X,X,X,function(a){var b=qd(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.O&49152||(this.O=this.O&-2017|(a&7)<<5,this.Ra=1);--this.b},function(a){Ke[a&15].call(this,a)},function(a){Le[a&15].call(this,a)},X,X,X,X],Ke=[de,function(){this.U=0;--this.b},function(){this.V=0;--this.b},U,function(){this.Z= -1;--this.b},U,U,U,function(){this.X=0;--this.b},U,U,U,U,U,U,U],Le=[de,function(){this.U=65536;--this.b},function(){this.V=32768;--this.b},W,function(){this.Z=0;--this.b},W,W,W,function(){this.X=32768;--this.b},W,W,W,W,W,W,W],Je=[function(){this.O&49152?(this.I|=128,this.M(4,3)):(this.La=3,cd(this));--this.b},function(){this.G|=1;--this.b},function(){pd(this);this.G|=this.O&16;--this.b},function(){this.M(12,1);--this.b},function(){this.M(16,4);--this.b},function(){this.O&49152||(fd(this),this.F.reset()); ---this.b},function(){pd(this);--this.b},X,X,X,X,X,X,X,X,X],Ce=[ce,ce,ae,ae,Zd,Zd,$d,$d,ze,ze,X,X,X,X,ye,ye],De=[function(a){this.Oa()||T(this,a);--this.b},function(a){this.Oa()&&T(this,a);--this.b},function(a){N(this)||hd(this)||T(this,a);--this.b},function(a){(N(this)||hd(this))&&T(this,a);--this.b},function(a){gd(this)||T(this,a);--this.b},function(a){gd(this)&&T(this,a);--this.b},function(a){N(this)||T(this,a);--this.b},function(a){N(this)&&T(this,a);--this.b},function(){this.M(24,2);--this.b}, -function(){this.M(28,5);--this.b},function(a){Me[a>>6&3].call(this,a)},function(a){Ne[a>>6&3].call(this,a)},function(a){Oe[a>>6&3].call(this,a)},function(a){Pe[a>>6&3].call(this,a)},X,X],Me=[function(a){kd(this,xd(this,a,0));--this.b},function(a){S(this,a,0,Ld);--this.b},function(a){S(this,a,1,Pd);--this.b},function(a){S(this,a,1,Nd);--this.b}],Ne=[function(a){S(this,a,0,Rd);--this.b},function(a){S(this,a,N(this)?1:0,Bd);--this.b},function(a){S(this,a,N(this)?1:0,Xd);--this.b},function(a){a=vd(this, -a);kd(this,a<<8);--this.b}],Oe=[function(a){S(this,a,0,Vd);--this.b},function(a){S(this,a,0,Td);--this.b},function(a){S(this,a,0,Fd);--this.b},function(a){S(this,a,0,Dd);--this.b}],Pe=[X,function(a){a=td(this,a,65536);od(this,a);O(this,a);--this.b},function(a){var b=qd(this);ud(this,a,65536,b);O(this,b);--this.b},X]; -function Qe(a){w.call(this,"ROM",a,Qe);this.i=null;this.D=a.addr;this.j=a.size;this.H=a.writable;this.A=a.alias;this.B=a.file;this.K=ca(this.B);if(this.B){a=this.B;var b=ha(this.K);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;sa(a,null,!0,function(a,b,e){Re(c,a,b,e)})}}B(Qe);Qe.prototype.Za=function(a,b,c,d){this.F=b;this.b=c;this.C=d;Se(this)}; -Qe.prototype.Qa=function(){if(this.Ma){if(this.C){var a=this.C,b=this.id,c=this.D,d=this.j,f=this.Ma,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],p=oa(n,k,a.wc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({yd:b,w:c,Wc:d,Ma:f,tc:e})}delete this.Ma}return!0};Qe.prototype.Pa=function(){return!0}; -function Re(a,b,c,d){if(d)a.pa("Unable to load system ROM (error "+d+": "+b+")");else{$a(a.uc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.i=e;else if(e=h.words)for(a.i=Array(2*e.length),g=f=0;f>8&255;else if(e=h.data)for(a.i=Array(4*e.length),g=f=0;f>8&255,a.i[g++]=e[f]>>16&255,a.i[g++]=e[f]>>24&255;else a.i=h;a.Ma=h.symbols;if(!a.i.length){u("Empty ROM: "+ -b);return}if(1==a.i.length){u(a.i[0]);return}}catch(k){a.pa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.i=Array(b.length),f=0;f>>d.Y].Db(f&d.i,a.i[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.A?b.push(a.A):null!=a.A&&a.A.length&&(b=a.A);for(c=0;c>>f.Y;0>>=f.Y;0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};Ve.prototype.Ac=function(){return-1};Ve.prototype.Bc=function(){}; -function Xe(a,b,c,d){if(c)if(b){0>a.B&&a.A.length&&(a.B=0);if(0>a.B||b!=a.A[a.B])a.A.splice(0,0,b),a.B=0;a.B--}else a.da?b="end":b=a.A[a.B+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(na(b.substring(c,e))),c=e+1}}return a} -function Ye(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break; +H.prototype={constructor:H,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},sa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Fa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Xa=!0},ca:function(a,b){if(this.D&&null!=this.w){var c=this.D;vc(c,this.w+a,1,c.W)&&c.na(!0)}return this.Ob(a,b)},ja:function(a,b){if(this.D&&null!=this.w){var c=this.D;vc(c,this.w+a,2,c.W)&&c.na(!0)}return this.kc(a,b)},ya:function(a,b,c){if(this.D&&null!=this.w){var d=this.D;vc(d,this.w+a,1,d.F)&&d.na(!0)}this.i?this.C(a,b,c):this.Cb(a, +b,c)},Ka:function(a,b,c){if(this.D&&null!=this.w){var d=this.D;vc(d,this.w+a,2,d.F)&&d.na(!0)}this.i?this.C(a,b,c):this.pc(a,b,c)},$:function(a){return this.J[a]},da:function(a){return this.J[a]},ha:function(a){return this.H.getUint16(a,!0)},ra:function(a){return a&1?this.J[a]|this.J[a+1]<<8:this.R[a>>1]},xa:function(a,b){this.J[a]=b;this.Xa=!0},za:function(a,b){this.J[a]=b;this.Xa=!0},Ga:function(a,b){this.H.setUint16(a,b,!0);this.Xa=!0},Sa:function(a,b){a&1?(this.J[a]=b,this.J[a+1]=b>>8):this.R[a>> +1]=b;this.Xa=!0}};function zb(a,b,c){a.D=b;a.j=a.A=0;c&&((a.j=c.j)&&uc(a,tc,!1),(a.A=c.A)&&sc(a,tc,!1))}function wc(a,b){b?--a.A||(a.Bb=a.i?a.C:a.Cb,a.Gc=a.i?a.K:a.pc):--a.j||(a.vb=a.Ob,a.Pb=a.kc)}function sc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.C,a.Gc=!a.i&&b[3]||a.K);if(c||void 0===c)a.Cb=b[1]||a.C,a.pc=b[3]||a.K}function uc(a,b,c){c&&a.j||(a.vb=b[0]||a.T,a.Pb=b[2]||a.W);if(c||void 0===c)a.Ob=b[0]||a.T,a.kc=b[2]||a.W}function oc(a,b){b||(b=xc);uc(a,b,void 0);sc(a,b,void 0)} +var xc=[],rc=[H.prototype.ea,H.prototype.Fa,H.prototype.sa,H.prototype.Eb],tc=[H.prototype.ca,H.prototype.ya,H.prototype.ja,H.prototype.Ka];if(vb)var qc=[H.prototype.$,H.prototype.xa,H.prototype.ha,H.prototype.Ga],pc=[H.prototype.da,H.prototype.za,H.prototype.ra,H.prototype.Sa]; +function yc(a,b){w.call(this,"CPU",a,yc,1);var c=a.multiplier||1;this.ya=a.cycles||b;this.ab=c;this.Fa=Math.round(this.ya/1E4)/100;this.lb=this.Fa*this.ab;this.u.ga=!1;this.u.nc=!1;this.u.Gb=a.autoStart;this.u.wc=!1;this.u.qb=!1;this.Lb=this.ca=0;this.Mb=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.F=[];this.Hb=this.od.bind(this);F(this)}B(yc);var zc=["power","reset"];l=yc.prototype; +l.Ya=function(a,b,c,d){this.i=a;this.G=b;this.D=d;for(b=0;b=a.ca&&(a.ca+=a.tb,c=!0);0<=a.ub&&a.ub<=Yc(a)&&(a.tb=a.ub=-1,Vc(a),a.na(),c=!0);c&&a.f(Yc(a)+" cycles: checksum="+t(a.Lb))}} +function Zc(a,b,c,d){if(a.J[b]){void 0===c&&(ub(a,"Value for "+b+" is invalid"),a.na());var f=a.D&&a.D.ea||8;c=!a.u.ga||a.u.wc?8==f?r(c,d):t(c,d):"--------".substr(0,d||4);a.J[b].textContent!=c&&(a.J[b].textContent=c)}} +l.va=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.J[b]=c;a=!0;break;case "run":this.J[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ia)a=!0;else{var b=null,c,h=ab(a.id);for(c=0;ca.R/a.lb?b=1:d=!0;a.ab=b;b=a.Fa*a.ab;if(a.lb!=b){a.lb=b;b=a.lb.toFixed(2)+"Mhz";var f=a.J.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Vb()}ad(a,a.K);a.K=0;a.H=pa();a.T=0;bd(a);return d}function Wb(a,b){var c=a.F.length;a.F.push([-1,b]);return c}function Xb(a,b){var c;0<=b&&ba.F[b][0]&&(c=a.ya*a.ab/1E3*(1E3/60),a.F[b][0]=c)} +function cd(a,b){for(var c=a.F.length-1;0<=c;c--){var d=a.F[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function dd(a,b){for(var c=a.F.length-1;0<=c;c--){var d=a.F[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ed(a){a.W-=a.b;a.b=0} +l.od=function(){if(this.u.ga){this.Ga>=this.ya&&bd(this,!0);this.ja=0;this.xa=pa();if(this.T){var a=this.xa-this.T;a>this.pb&&(this.H+=a,this.H>this.xa&&(this.H=this.xa))}try{do{var b=cd(this,this.u.qb?1:this.za);try{this.Ab(b)}catch(f){if("number"!=typeof f)throw f;}var c=this.W-this.b;dd(this,c);this.ja+=c;this.K+=c;ad(this,0,!0);Xc(this,c);this.da-=c;if(0>=this.da){this.da+=this.za;15<=++this.Db&&(this.i&&this.i.Ea(),this.Db=0);break}}while(this.u.ga)}catch(f){this.na();L(this);this.i&&this.i.stop(pa(), +Yc(this));ub(this,f.stack||f.message);return}if(this.u.ga){a=setTimeout;b=this.Hb;this.T=pa();c=this.pb;this.ja&&(c=Math.round(c*this.ja/this.za));var c=c-(this.T-this.xa),d=this.T-this.H;d&&(this.R=Math.round(this.K/(10*d))/100,864E5<=d&&(this.$=0,$c(this)));if(0>c||this.Rc&&(this.H-=c),c=0;this.Ga+=this.ja;this.T+=c;a(b,c)}}}; +l.zb=function(a){if(tb(this))return!1;if(this.u.ga)return this.f(this.toString()+" busy"),!1;$c(this);this.u.ga=!0;this.u.nc=!0;this.ha&&this.ha.start();var b=this.J.run;b&&(b.textContent="Halt");this.i&&(a&&this.i.Vb(!0),this.i.start(this.H,Yc(this)));L(this,!0);setTimeout(this.Hb,0);return!0};l.Ab=function(){return 0}; +l.na=function(a){if(this.u.ga){ed(this);ad(this,this.K);this.K=0;this.u.ga=!1;this.ha&&this.ha.stop();var b=this.J.run;b&&(b.textContent="Run");this.i&&this.i.stop(pa(),Yc(this));L(this)}this.u.complete=a};function L(a,b){a.i&&a.i.Ea(b)} +function fd(a){this.Yc=+a.model||1170;this.Xb=a.resetAddr||0;yc.call(this,a,1E6);this.Sa=0;this.decode=gd.bind(this);this.U=65536;this.V=32768;this.Z=65535;this.X=32768;this.O=15;this.g=[0,0,0,0,0,0,0,this.Xb];this.Qa=[0,0,0,0,0,0];this.Aa=[0,0,0,0];this.sa=this.A=0;this.la=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ub=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.hc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.B=0;this.kb=70;this.ea=-1;hd(this);this.u.complete=this.u.Mc=!1}B(fd,yc);l=fd.prototype;l.reset=function(){this.u.ga&&this.na();hd(this);Bc(this);this.u.error=!1;this.parent.reset.call(this)}; +function hd(a){a.cb=255;a.I=0;a.lc=0;a.C=0;a.bb=0;a.cc=0;a.mb=0;a.Zb=0;a.ra=0;a.$b=[7,7,7,7];a.j=[];a.B|=2;Yb(a)}function Yb(a){a.Zb?(a.Ka=65536,a.ba=a.Tc,a.Pb=a.Ja):(a.Ka=0,a.ba=a.Sc,a.Pb=a.bc)}l.yc=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.$,this.ab]);a.set(2,Jb(this.G));return a.data()}; +l.restore=function(a){var b=a[1];this.$=b[1];$c(this,b[3]);a:{b=this.G;a=a[2];var c;for(c=0;cb){a.j[e].Wa-=b;break}b-=a.j[e].Wa}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.B|=2}function Zb(a){return a.O=a.O&63728|a.Na()|jd(a)|id(a)|N(a)} +function $b(a,b){a.X=b<<12;a.Z=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.O)&2048)for(var c=a.Qa.length;0<=--c;){var d=a.g[c];a.g[c]=a.Qa[c];a.Qa[c]=d}a.A=b>>14&3;c=a.O>>14&3;a.A!=c&&(a.Aa[c]=a.g[6],a.g[6]=a.Aa[a.A]);a.B|=2;a.O=b}function O(a,b){a.B&128||(a.X=a.Z=b,a.V=0)}function ld(a,b,c){a.B&128||(a.X=a.Z=a.U=b,a.V=c||0)}function md(a,b,c,d){a.B&128||(a.X=a.Z=a.U=b,a.V=(c^b)&(d^b))}function nd(a,b){a.B&128||(a.X=a.Z=a.U=b,a.V=a.X^a.U>>1)}function od(a,b,c,d){a.B&128||(a.X=a.Z=a.U=b,a.V=(c^d)&(d^b))} +l.M=function(a){var b=!1;0>this.ea?this.ea=Zb(this):this.A||(a=4,b=!0);this.C&57344||(this.bb=63222,this.cc=a);this.A=0;var c=this.Ja(a|65536),d=this.Ja(a+2&65535|65536);$b(this,d&-12289|this.ea>>2&12288);b&&(this.I|=4,this.g[6]=4);pd(this,this.ea);pd(this,this.g[7]);this.g[7]=c&65535;this.B&=-113;this.ea=-1;throw a;};function qd(a){var b=rd(a),c=rd(a)&-1793;a.O&49152&&(c=c&-225|a.O&63712);a.g[7]=b&65535;$b(a,c);a.B&=-17} +function gc(a,b){var c=b>>13&31;31>c?a.mb&32&&(b=a.Ub[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} +function sd(a,b,c){var d,f,e,g=0;if(c&a.Zb){d=b>>13&a.$b[a.A];f=a.la[a.A][d];e=(a.la[a.A][d+16]<<6)+(b&8191)&4194303;a.mb&16?3932160<=e&&4186112>e&&(e=gc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.I|=32,a.M(4,12)),e&1&&!(c&1)&&(a.I|=64,a.M(4,14)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2& +8128)&&(g|=16384));a.la[a.A][d]=f;if(4194170!==e||a.A)a.ra=a.A,a.sa=d;g&&(g&57344&&(0<=a.ea&&(g|=128),a.C&57344||(a.C=a.C|g|a.ra<<5|a.sa<<1),a.M(168,16)),a.C&61440||!(4191360>e||4194239>3&7){case 0:a.M(4,20);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.cb||65534<=a.g[6])&&(a.g[6]<=a.cb-32||65534<=a.g[6]?(a.I|=4,a.g[6]=4,a.M(4,22)):(a.I|=8,a.B|=64)),7===e?a.g[e]:a.g[e]|g;case 2:f=2;d=a.g[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.g[e];7!==e&&(d|=g);d=a.Ja(d);d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.g[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.g[e]-2&65535;7!==e&&(d|=g);d=a.Ja(d)|g;break;case 6:return d= +kd(a),d=d+a.g[e]&65535|g;case 7:return d=kd(a),d=d+a.g[e]&65535,d=a.Ja(d|65536)|g}a.g[e]=a.g[e]+f&65535;!g||a.C&57344||(a.bb=a.bb<<8|f<<3&248|e);6==e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.cb||65534<=a.g[6])&&(a.g[6]<=a.cb-32?(a.I|=4,a.g[6]=4,a.M(4,24)):(a.I|=8,a.B|=64));return d}l.Sc=function(a,b){return td(this,a,b)};l.Tc=function(a,b){return sd(this,td(this,a,b),b)}; +function ud(a,b,c){b&56?(b=td(a,b,0),c&65536||61440!==(a.O&61440)&&(b&=65535),a.A=a.O>>12&3,c=a.Ja(b|c&65536),a.A=a.O>>14&3):(c=b&7,c=6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]:a.Aa[a.O>>12&3]);return c}function vd(a,b,c,d){a.C&57344||(a.bb=22);b&56?(b=td(a,b,0),c&65536||(b&=65535),a.A=a.O>>12&3,b=sd(a,b|c&65536,4),a.A=a.O>>14&3,a.G.ob(b,d&65535)):(c=b&7,6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]=d:a.Aa[a.O>>12&3]=d)}function P(a,b){return b&56?a.Pb(td(a,b,2)):a.g[b&7]} +function wd(a,b){b&56?(b=a.ba(b,3),a=a.G.rb(b)):a=a.g[b&7]&255;return a}function R(a,b,c,d){b&56?(b=a.ba(b,6),c=d.call(a,c,a.bc(b)),a.G.ob(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function S(a,b,c,d){b&56?(b=a.ba(b,7),c=d.call(a,c,a.G.rb(b)),a.G.Tb(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function xd(a,b,c){b&56?(b=a.ba(b,4),a.G.ob(b,c&65535)):a.g[b&7]=c&65535;return c} +function yd(a,b,c,d){b&56?(d=a.ba(b,5),a.G.Tb(d,c&255)):(b&=7,a.g[b]=c?d&1?c<<24>>24&65535:a.g[b]&-256|c&255:a.g[b]&-256);return c}function T(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535} +l.Ab=function(a){this.u.complete=!0;var b=this.u.Mc=this.D&&zd(this.D),c=a?this.u.nc?0:1:-1;this.u.nc=!1;this.W=this.b=a;do{if(b){if(Ad(this.D,this.g[7],c)){this.na();break}c=1}if(this.B&&(this.B&112&&(this.B&32?this.M(168,28):this.B&64?this.M(4,30):this.B&16&&this.M(12,32),this.B&=-113),this.B&7))if(this.B&2){this.B&=-3;a=null;for(var d=this.lc&224,f=this.j.length;0<=--f;){if(0d&&(d=this.j[f].Zc,a=this.j[f],this.j.splice(f,1))}d>(this.O&224)&&(this.B&4&&(this.g[7]=this.g[7]+2&65535,this.B&=-5),a?this.M(a.qd,26):this.M(160,26))}else this.B&1&&this.B++;this.C&57344||(this.bb=0,this.cc=this.g[7]);this.B=this.B&7|this.O&16;this.decode(kd(this))}while(0>1|b<<16;nd(this,a);return a&65535}function Gd(a,b){a=b&2048|b>>1|b<<8;nd(this,a<<8);return a&255}function Hd(a,b){a=b&~a;O(this,a);return a}function Id(a,b){a=b&~a;O(this,a<<8);return a}function Jd(a,b){a|=b;O(this,a);return a} +function Kd(a,b){a|=b;O(this,a<<8);return a}function Ld(a,b){a=~b|65536;ld(this,a);return a&65535}function Md(a,b){a=~b|256;ld(this,a<<8);return a&255}function Nd(a,b){a=b-a;this.B&128||(this.X=this.Z=a,this.V=b&(b^a));return a&65535}function Od(a,b){a=b-a;var c=a<<8;b<<=8;this.B&128||(this.X=this.Z=c,this.V=b&(b^c));return a&255}function Pd(a,b){a=b+a;this.B&128||(this.X=this.Z=a,this.V=a&(b^a));return a&65535} +function Qd(a,b){a=b+a;var c=a<<8;this.B&128||(this.X=this.Z=c,this.V=c&(b<<8^c));return a&255}function Rd(a,b){a=-b;ld(this,a,a&b&32768);return a&65535}function Sd(a,b){a=-b;ld(this,a<<8,(a&b&128)<<8);return a&255}function Td(a,b){a=b<<1|this.U>>16&1;nd(this,a);return a&65535}function Ud(a,b){a=b<<1|this.U>>16&1;nd(this,a<<8);return a&255}function Vd(a,b){a=(this.U&65536|b)>>1|b<<16;nd(this,a);return a&65535}function Wd(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;nd(this,a<<8);return a&255} +function Xd(a,b){var c=b-a;od(this,c,a,b);return c&65535}function Yd(a,b){var c=b-a;od(this,c<<8,a<<8,b<<8);return c&255}function Zd(a,b){a^=b;O(this,a);return a&65535}function $d(a){var b=P(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;b&32?(b=64-b,16>=b):b&&(16>15&65535)&&65535!==b&&(this.V=32768)));this.g[a]=c&65535;this.X=this.Z=c;--this.b} +function ae(a){var b=P(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.g[a|1]=d&65535;this.X=d>>16;this.Z=d>>16|d;--this.b}function U(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Z=1);a&8&&(this.X=0);--this.b} +function be(a){var b=P(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.Z=d>>16|d,this.X=d>>16):(this.V=32768,this.Z=d>>15|d,this.X=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1))}else this.Z=this.X=0,this.V=32768,this.U=65536;--this.b}function ce(a){var b=td(this,a,8);a=a>>6&7;pd(this,this.g[a]);this.g[a]=this.g[7];this.g[7]=b;--this.b} +function de(a){var b=P(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.B&128||(this.X=b>>16,this.Z=this.X|b,this.V=0,this.U=-32768>b||32767>6;if(this.g[b]=this.g[b]-1&65535)this.g[7]=this.g[7]-((a&63)<<1)&65535;--this.b} +function Ae(a){R(this,a,P(this,(a&448)>>6),Zd);--this.b}function X(){this.M(8,6)}function gd(a){Be[a>>12].call(this,a)} +var Be=[function(a){Ce[a>>8&15].call(this,a)},function(a){O(this,xd(this,a,P(this,a>>6)));--this.b},function(a){var b=P(this,a>>6);a=P(this,a);od(this,b-a,a,b);--this.b},function(a){O(this,P(this,a>>6)&P(this,a));--this.b},function(a){R(this,a,P(this,a>>6),Hd);--this.b},function(a){R(this,a,P(this,a>>6),Jd);--this.b},function(a){R(this,a,P(this,a>>6),Bd);--this.b},function(a){De[a>>8&15].call(this,a)},function(a){Ee[a>>8&15].call(this,a)},function(a){var b=wd(this,a>>6);O(this,yd(this,a,b,1)<<8); +--this.b},function(a){var b=wd(this,a>>6)<<8;a=wd(this,a)<<8;od(this,b-a,a,b);--this.b},function(a){O(this,(wd(this,a>>6)&wd(this,a))<<8);--this.b},function(a){S(this,a,wd(this,a>>6),Id);--this.b},function(a){S(this,a,wd(this,a>>6),Kd);--this.b},function(a){R(this,a,P(this,a>>6),Xd);--this.b},X],Ce=[function(a){Fe[a>>4&15].call(this,a)},function(a){T(this,a);--this.b},function(a){jd(this)||T(this,a);--this.b},function(a){jd(this)&&T(this,a);--this.b},function(a){!this.Na()==!id(this)&&T(this,a);--this.b}, +function(a){!this.Na()!=!id(this)&&T(this,a);--this.b},function(a){jd(this)||!this.Na()!=!id(this)||T(this,a);--this.b},function(a){(jd(this)||!this.Na()!=!id(this))&&T(this,a);--this.b},ce,ce,function(a){Ge[a>>6&3].call(this,a)},function(a){He[a>>6&3].call(this,a)},function(a){Ie[a>>6&3].call(this,a)},function(a){Je[a>>6&3].call(this,a)},X,X],Ge=[function(a){ld(this,xd(this,a,0));--this.b},function(a){R(this,a,0,Ld);--this.b},function(a){R(this,a,1,Pd);--this.b},function(a){R(this,a,1,Nd);--this.b}], +He=[function(a){R(this,a,0,Rd);--this.b},function(a){R(this,a,N(this)?1:0,Bd);--this.b},function(a){R(this,a,N(this)?1:0,Xd);--this.b},function(a){a=P(this,a);ld(this,a);--this.b}],Ie=[function(a){R(this,a,0,Vd);--this.b},function(a){R(this,a,0,Td);--this.b},function(a){R(this,a,0,Fd);--this.b},function(a){R(this,a,0,Dd);--this.b}],Je=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.Ja(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;this.g[5]=b;--this.b},function(a){a=ud(this,a,0);pd(this, +a);O(this,a);--this.b},function(a){var b=rd(this);vd(this,a,0,b);O(this,b);--this.b},function(a){O(this,xd(this,a,this.Na?65535:0));--this.b}],Fe=[function(a){Ke[a&15].call(this,a)},X,X,X,X,X,X,X,function(a){var b=rd(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.O&49152||(this.O=this.O&-2017|(a&7)<<5,this.B|=1);--this.b},function(a){Le[a&15].call(this,a)},function(a){Me[a&15].call(this,a)},X,X,X,X],Le=[ee,function(){this.U=0;--this.b},function(){this.V=0;--this.b},U,function(){this.Z= +1;--this.b},U,U,U,function(){this.X=0;--this.b},U,U,U,U,U,U,U],Me=[ee,function(){this.U=65536;--this.b},function(){this.V=32768;--this.b},W,function(){this.Z=0;--this.b},W,W,W,function(){this.X=32768;--this.b},W,W,W,W,W,W,W],Ke=[function(){this.O&49152?(this.I|=128,this.M(4,3)):ed(this);--this.b},function(){this.B|=4;this.g[7]=this.g[7]+-2&65535;--this.b},function(){qd(this);this.B|=this.O&16;--this.b},function(){this.M(12,1);--this.b},function(){this.M(16,4);--this.b},function(){this.O&49152||(hd(this), +this.G.reset());--this.b},function(){qd(this);--this.b},X,X,X,X,X,X,X,X,X],De=[de,de,be,be,$d,$d,ae,ae,Ae,Ae,X,X,X,X,ze,ze],Ee=[function(a){this.Na()||T(this,a);--this.b},function(a){this.Na()&&T(this,a);--this.b},function(a){N(this)||jd(this)||T(this,a);--this.b},function(a){(N(this)||jd(this))&&T(this,a);--this.b},function(a){id(this)||T(this,a);--this.b},function(a){id(this)&&T(this,a);--this.b},function(a){N(this)||T(this,a);--this.b},function(a){N(this)&&T(this,a);--this.b},function(){this.M(24, +2);--this.b},function(){this.M(28,5);--this.b},function(a){Ne[a>>6&3].call(this,a)},function(a){Oe[a>>6&3].call(this,a)},function(a){Pe[a>>6&3].call(this,a)},function(a){Qe[a>>6&3].call(this,a)},X,X],Ne=[function(a){ld(this,yd(this,a,0));--this.b},function(a){S(this,a,0,Md);--this.b},function(a){S(this,a,1,Qd);--this.b},function(a){S(this,a,1,Od);--this.b}],Oe=[function(a){S(this,a,0,Sd);--this.b},function(a){S(this,a,N(this)?1:0,Cd);--this.b},function(a){S(this,a,N(this)?1:0,Yd);--this.b},function(a){a= +wd(this,a);ld(this,a<<8);--this.b}],Pe=[function(a){S(this,a,0,Wd);--this.b},function(a){S(this,a,0,Ud);--this.b},function(a){S(this,a,0,Gd);--this.b},function(a){S(this,a,0,Ed);--this.b}],Qe=[X,function(a){a=ud(this,a,65536);pd(this,a);O(this,a);--this.b},function(a){var b=rd(this);vd(this,a,65536,b);O(this,b);--this.b},X]; +function Re(a){w.call(this,"ROM",a,Re);this.i=null;this.F=a.addr;this.j=a.size;this.H=a.writable;this.A=a.alias;this.C=a.file;this.K=ca(this.C);if(this.C){a=this.C;var b=ha(this.K);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.C+"&format=bytes&decimal=true");var c=this;sa(a,null,!0,function(a,b,e){Se(c,a,b,e)})}}B(Re);Re.prototype.Ya=function(a,b,c,d){this.G=b;this.b=c;this.D=d;Te(this)}; +Re.prototype.Pa=function(){if(this.La){if(this.D){var a=this.D,b=this.id,c=this.F,d=this.j,f=this.La,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],p=oa(n,k,a.uc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({xd:b,w:c,Vc:d,La:f,rc:e})}delete this.La}return!0};Re.prototype.Oa=function(){return!0}; +function Se(a,b,c,d){if(d)a.pa("Unable to load system ROM (error "+d+": "+b+")");else{$a(a.sc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.i=e;else if(e=h.words)for(a.i=Array(2*e.length),g=f=0;f>8&255;else if(e=h.data)for(a.i=Array(4*e.length),g=f=0;f>8&255,a.i[g++]=e[f]>>16&255,a.i[g++]=e[f]>>24&255;else a.i=h;a.La=h.symbols;if(!a.i.length){u("Empty ROM: "+ +b);return}if(1==a.i.length){u(a.i[0]);return}}catch(k){a.pa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.i=Array(b.length),f=0;f>>d.Y].Cb(f&d.i,a.i[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.A?b.push(a.A):null!=a.A&&a.A.length&&(b=a.A);for(c=0;c>>f.Y;0>>=f.Y;0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};We.prototype.zc=function(){return-1};We.prototype.Ac=function(){}; +function Ye(a,b,c,d){if(c)if(b){0>a.C&&a.A.length&&(a.C=0);if(0>a.C||b!=a.A[a.C])a.A.splice(0,0,b),a.C=0;a.C--}else a.da?b="end":b=a.A[a.C+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(na(b.substring(c,e))),c=e+1}}return a} +function Ze(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break; case "^":d=e^f;break;case "|":d=e|f;break;case "&&":d=e&&f?1:0;break;case "||":d=e||f?1:0;break;default:return!1}a.push(d|0)}return!0} -function Ze(a,b,c){var d;if(b){b=$e(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f>=1;g=n+g;d>>=8}d=t(c,0,!0)+" "+c+". "+r(c,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+d);return f}function cf(a,b){if(b)return bf(a,b,a.ja[b]);var c=0;for(b in a.ja)bf(a,b,a.ja[b]),c++;return 0=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f>=1;g=n+g;d>>=8}d=t(c,0,!0)+" "+c+". "+r(c,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+d);return f}function df(a,b){if(b)return cf(a,b,a.ja[b]);var c=0;for(b in a.ja)cf(a,b,a.ja[b]),c++;return 0>>d.F.Y;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.f("..."):(c=n.type,m=Hb[c],n&&d.f(t(n.id,8)+" %"+t(f<>>c.Y].Qb(d&c.i,d),b&&nf(a,b));return c};l.Ja=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(c=Ib(this.F,d),b&&nf(a,b));return c}; -l.Vb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){var f=this.F;f.N[(d&f.j)>>>f.Y].Db(d&f.i,b&255,d);c&&nf(a,c);L(this.b,!0)}};l.pb=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.Y;e!=f.i?f.N[g].rc(e,b&65535,d):(f.N[g++].Db(e,b&255,d),f.N[g&f.A].Db(0,b>>8&255,d+1));c&&nf(a,c);L(this.b,!0)}};function Z(a){return{w:a,Ia:!1}}function of(a){return[a.w,a.Ia]}function pf(a){return{w:a[0],Ia:a[1]}} -function mf(a,b,c){var d;c=(c?a.T:a.Fb).w;if(void 0!==b){d=b=$e(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cd&&(d+=b.length);0>d&&(d=0);for(var f=b.length;db||7a?"R"+a:6==a?"SP":"PC"}l.Bc=function(a){var b;0<=a&&(8>a?b=this.b.g[a]:16>a?b=this.b.Sa[a-8]:20>a?b=this.b.Aa[a-16]:20==a&&(b=Zb(this.b)));return b}; -l.message=function(a,b){b&&(a+=" at "+Y(this,Z(this.b.g[7]).w));this.ka&1073741824?this.Fa.push(a):this.za&&a==this.za||(this.za=a,this.ka&-2147483648&&(this.na(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,cd(a),a.da=0,L(a)))}; -function ff(a){var b;if(yd(a)){if(!a.R||!a.R.length){a.R=Array(1E3);for(b=0;b>>d.Y],!1)}a.W=["br"];if(a.D)for(b=1;b>>d.Y],!0);a.D=["bw"];a.Ib=0} -l.jb=function(a,b,c){var d=!0;c||wf(this,a,b,!1,!0);if(a!=this.j){var f=this.ba(b);if(-1===f)this.f("invalid address: "+Y(this,b.w)),d=!1;else{var e=this.F;e.N[f>>>e.Y].jb(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Ia=!0:(xf(this,a,a.length-1,"set"),ff(this)));return d};function wf(a,b,c,d,f){var e=!1;c=a.ba(c);for(var g=1;g>>d.Y],b==a.D));h.Ia||ff(a);break}}return e} -function yf(a,b){for(var c=1;c>23)&65535,v=Y(q,p);else if(8192==z)p=p.w-((e&63)<<1)&65535,v=Y(q,p);else if(12288==z)v=Y(q,e&7,1);else if(24576==z)v=Y(q,e&63,1);else if(z=e&y,y&4032&&(z>>=6,y>>=6),y&63)switch(y=z&7,z&56){case 0:v=rf(y);break;case 8:v="@"+rf(y);break;case 16:7>y?v="("+rf(y)+ -")+":(z=q.Ja(p,2),v="#"+Y(q,z,0,!0));break;case 24:7>y?v="@("+rf(y)+")+":(z=q.Ja(p,2),v="@#"+Y(q,z,0,!0));break;case 32:v="-("+rf(y)+")";break;case 40:v="@-("+rf(y)+")";break;case 48:z=q.Ja(p,2);v=Y(q,z,0,!0)+"("+rf(y)+")";7==y&&(v=[v,Y(q,z+p.w&65535)]);break;case 56:z=q.Ja(p,2),v="@"+Y(q,z)+"("+rf(y)+")",7==y&&(v=[v,Y(q,z+p.w&65535)])}q=v;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0b?(c=rf(b),c+="="+Y(a,d.g[b])):13>b?c="A"+(b-8)+"="+Y(a,d.Sa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+Y(a,d.Aa[b-16]):20==b&&(c="PS="+Y(a,Zb(d)));c&&(c+=" ");return c}function Df(a){var b,c="";for(b=0;6>b;b++)c+=Cf(a,b);c=c+"\n"+(Cf(a,6)+Cf(a,7)+Cf(a,20));return c+=Bf(a,"T")+Bf(a,"N")+Bf(a,"Z")+Bf(a,"V")+Bf(a,"C")}l.wc=function(a,b){return a[0]>b[0]?1:a[0]>>0;for(b=0;b>>0,h=e.Wc;if(f>=g&&fb)){d.g[b]=e&65535;break}a.f("unknown register: "+f);return}L(d);a.f("updated registers:")}a.f(Df(a));c&&(a.T=Z(d.g[7]),uf(a,Y(a,a.T.w)))}}function If(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):Ze(a,b,!0)} -function Jf(a,b,c){var d="t"!=b;c=af(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return eb(a,!0)&&a.Bb(f,d,!1)},function(){L(a.b);eb(a,!1)})} -function uf(a,b,c,d){if(b=mf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=mf(a,c,!0);if(!d||d.wh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(g=h[3],e=null);e=Af(a,b,g,e);a.f(e);a.T=b;f-=b.w-k;c++}}} -function zf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(">> "+b):(a.da&&(a.f("ended assemble at "+Y(a,a.ca.w)),a.T=a.ca,a.da=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(sb(a)&&0m||"z"ea.length&&(a.f("note: only "+ea.length+" available"),V=ea.length);aa-=V;0>aa&&(null==ea[ea.length-1].w?(V=aa+V,aa=0):aa+=ea.length);var Fc=[];"call"==je&&(gb=1E5,Fc=["CALL"]);for(void 0!==ie&&a.f(V+" instructions earlier:");0=ea.length&& -(aa=0);a.Lb=V;le++;gb--}}le||(a.f("no "+ke+"history available"),a.Lb=void 0)}else{var Ob=mf(a,da);if(Ob){var Pb=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||bg),Pb=af(a,va)>>>0,65536>4||1;dg--&&0Rb?String.fromCharCode(Rb): -".";Qb--}ib&&(ib+="\n");ib+=da+" "+Hc+(0==kb?" "+oe:"")}ib&&a.f(ib);a.Fb=Ob}}}}break;case "e":if("else"==e[0])break;var Na,Ic,Jc,Kc,Lc=e[0],Mc=e[1];"eb"==Lc?(Na=1,Ic=255,Jc=a.sb,Kc=a.Vb):"e"==Lc||"ew"==Lc?(Na=2,Ic=65535,Jc=a.Ja,Kc=a.pb):Mc=null;if(null==Mc)a.f("edit memory commands:"),a.f("\teb [a] [...] edit bytes at address a"),a.f("\tew [a] [...] edit words at address a");else{var Sb=mf(a,Mc);if(Sb)for(var Tb=2;TbQc;){for(var wa=null,hg=256;65536>nb.w>>>0;){qe.w=a.Ja(nb,2);if(null==nb.w||!hg--)break;for(var ig=a,Ub=qe,re=null,ob=Ub.w,se=ob,Rc=1;6>=Rc&&ob;Rc++){if(2\nLicense: GPL version 3 or later ");this.f("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;bNf){if(Pf(d,this.R)){this.D=new M(this,"1.30.0","failsafe");Pf(this.D)&&(Uf(this,d),a=2,Vf(this.D));this.D.set("timestamp",qa());Wf(this.D);var f=this.i&&!this.H;if(1==a||ta("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Tf(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Pf(d,g):("error"== -e&&"no machine state"!=g?(this.pa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.j=null)):this.f(e+": "+g),Vf(d),Pf(d)?(c=Tf(d),f=!0):c=!1))}f&&Sf(this,c?d:null)}else 2==a&&d.clear()}else Sf(this);delete this.R;delete this.T}f=ab(this.id);for(e=0;ea[1];a=a[2];this.ja=!0;this.u.ia=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.b&&(Xf(this,this.b,b,c,a),this.b.Hb());this.ca&&(Uf(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; -function Uf(a,b){if(ta("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;sa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Kf(a,b,c){var d,f="none";if(a.A)return null;a.A--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=qa();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Pa&&(c&&a.b.na(),d=a.b.Pa(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.u.ia=!1,!1===d&&(f=null)));for(var h=ab(a.id),k=0;k>>d.G.Y;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.f("..."):(c=n.type,m=Hb[c],n&&d.f(t(n.id,8)+" %"+t(f<>>c.Y].Ob(d&c.i,d),b&&of(a,b));return c};l.Ia=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(c=Ib(this.G,d),b&&of(a,b));return c}; +l.Tb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){var f=this.G;f.N[(d&f.j)>>>f.Y].Cb(d&f.i,b&255,d);c&&of(a,c);L(this.b,!0)}};l.ob=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){var f=this.G,e=d&f.i,g=(d&f.j)>>>f.Y;e!=f.i?f.N[g].pc(e,b&65535,d):(f.N[g++].Cb(e,b&255,d),f.N[g&f.A].Cb(0,b>>8&255,d+1));c&&of(a,c);L(this.b,!0)}};function Z(a){return{w:a,Ha:!1}}function pf(a){return[a.w,a.Ha]}function qf(a){return{w:a[0],Ha:a[1]}} +function nf(a,b,c){var d;c=(c?a.T:a.Db).w;if(void 0!==b){d=b=af(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cd&&(d+=b.length);0>d&&(d=0);for(var f=b.length;db||7a?"R"+a:6==a?"SP":"PC"}l.Ac=function(a){var b;0<=a&&(8>a?b=this.b.g[a]:16>a?b=this.b.Qa[a-8]:20>a?b=this.b.Aa[a-16]:20==a&&(b=Zb(this.b)));return b}; +l.message=function(a,b){b&&(a+=" at "+Y(this,Z(this.b.g[7]).w));this.ka&1073741824?this.Fa.push(a):this.za&&a==this.za||(this.za=a,this.ka&-2147483648&&(this.na(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,ed(a),a.da=0,L(a)))}; +function gf(a){var b;if(zd(a)){if(!a.R||!a.R.length){a.R=Array(1E3);for(b=0;b>>d.Y],!1)}a.W=["br"];if(a.F)for(b=1;b>>d.Y],!0);a.F=["bw"];a.Hb=0} +l.ib=function(a,b,c){var d=!0;c||xf(this,a,b,!1,!0);if(a!=this.j){var f=this.ba(b);if(-1===f)this.f("invalid address: "+Y(this,b.w)),d=!1;else{var e=this.G;e.N[f>>>e.Y].ib(f&e.i,a==this.F)}}d&&(a.push(b),c?b.Ha=!0:(yf(this,a,a.length-1,"set"),gf(this)));return d};function xf(a,b,c,d,f){var e=!1;c=a.ba(c);for(var g=1;g>>d.Y],b==a.F));h.Ha||gf(a);break}}return e} +function zf(a,b){for(var c=1;c>23)&65535,v=Y(q,p);else if(8192==z)p=p.w-((e&63)<<1)&65535,v=Y(q,p);else if(12288==z)v=Y(q,e&7,1);else if(24576==z)v=Y(q,e&63,1);else if(z=e&y,y&4032&&(z>>=6,y>>=6),y&63)switch(y=z&7,z&56){case 0:v=sf(y);break;case 8:v="@"+sf(y);break;case 16:7>y?v="("+sf(y)+ +")+":(z=q.Ia(p,2),v="#"+Y(q,z,0,!0));break;case 24:7>y?v="@("+sf(y)+")+":(z=q.Ia(p,2),v="@#"+Y(q,z,0,!0));break;case 32:v="-("+sf(y)+")";break;case 40:v="@-("+sf(y)+")";break;case 48:z=q.Ia(p,2);v=Y(q,z,0,!0)+"("+sf(y)+")";7==y&&(v=[v,Y(q,z+p.w&65535)]);break;case 56:z=q.Ia(p,2),v="@"+Y(q,z)+"("+sf(y)+")",7==y&&(v=[v,Y(q,z+p.w&65535)])}q=v;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0b?(c=sf(b),c+="="+Y(a,d.g[b])):13>b?c="A"+(b-8)+"="+Y(a,d.Qa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+Y(a,d.Aa[b-16]):20==b&&(c="PS="+Y(a,Zb(d)));c&&(c+=" ");return c}function Ef(a){var b,c="";for(b=0;6>b;b++)c+=Df(a,b);c=c+"\n"+(Df(a,6)+Df(a,7)+Df(a,20));return c+=Cf(a,"T")+Cf(a,"N")+Cf(a,"Z")+Cf(a,"V")+Cf(a,"C")}l.uc=function(a,b){return a[0]>b[0]?1:a[0]>>0;for(b=0;b>>0,h=e.Vc;if(f>=g&&fb)){d.g[b]=e&65535;break}a.f("unknown register: "+f);return}L(d);a.f("updated registers:")}a.f(Ef(a));c&&(a.T=Z(d.g[7]),vf(a,Y(a,a.T.w)))}}function Jf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):$e(a,b,!0)} +function Kf(a,b,c){var d="t"!=b;c=bf(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return eb(a,!0)&&a.Ab(f,d,!1)},function(){L(a.b);eb(a,!1)})} +function vf(a,b,c,d){if(b=nf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=nf(a,c,!0);if(!d||d.wh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(g=h[3],e=null);e=Bf(a,b,g,e);a.f(e);a.T=b;f-=b.w-k;c++}}} +function Af(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(">> "+b):(a.da&&(a.f("ended assemble at "+Y(a,a.ca.w)),a.T=a.ca,a.da=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(sb(a)&&0m||"z"ea.length&&(a.f("note: only "+ea.length+" available"),V=ea.length);aa-=V;0>aa&&(null==ea[ea.length-1].w?(V=aa+V,aa=0):aa+=ea.length);var Fc=[];"call"==ke&&(gb=1E5,Fc=["CALL"]);for(void 0!==je&&a.f(V+" instructions earlier:");0=ea.length&& +(aa=0);a.Xb=V;me++;gb--}}me||(a.f("no "+le+"history available"),a.Xb=void 0)}else{var Ob=nf(a,da);if(Ob){var Pb=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||cg),Pb=bf(a,va)>>>0,65536>4||1;eg--&&0Rb?String.fromCharCode(Rb): +".";Qb--}ib&&(ib+="\n");ib+=da+" "+Hc+(0==kb?" "+pe:"")}ib&&a.f(ib);a.Db=Ob}}}}break;case "e":if("else"==e[0])break;var Na,Ic,Jc,Kc,Lc=e[0],Mc=e[1];"eb"==Lc?(Na=1,Ic=255,Jc=a.rb,Kc=a.Tb):"e"==Lc||"ew"==Lc?(Na=2,Ic=65535,Jc=a.Ia,Kc=a.ob):Mc=null;if(null==Mc)a.f("edit memory commands:"),a.f("\teb [a] [...] edit bytes at address a"),a.f("\tew [a] [...] edit words at address a");else{var Sb=nf(a,Mc);if(Sb)for(var Tb=2;TbQc;){for(var wa=null,ig=256;65536>nb.w>>>0;){re.w=a.Ia(nb,2);if(null==nb.w||!ig--)break;for(var jg=a,Ub=re,se=null,ob=Ub.w,te=ob,Rc=1;6>=Rc&&ob;Rc++){if(2\nLicense: GPL version 3 or later ");this.f("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;bOf){if(Qf(d,this.R)){this.F=new M(this,"1.30.0","failsafe");Qf(this.F)&&(Vf(this,d),a=2,Wf(this.F));this.F.set("timestamp",qa());Xf(this.F);var f=this.i&&!this.H;if(1==a||ta("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Uf(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Qf(d,g):("error"== +e&&"no machine state"!=g?(this.pa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.j=null)):this.f(e+": "+g),Wf(d),Qf(d)?(c=Uf(d),f=!0):c=!1))}f&&Tf(this,c?d:null)}else 2==a&&d.clear()}else Tf(this);delete this.R;delete this.T}f=ab(this.id);for(e=0;ea[1];a=a[2];this.ja=!0;this.u.ia=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.b&&(Yf(this,this.b,b,c,a),this.b.Gb());this.ca&&(Vf(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.A=0}; +function Vf(a,b){if(ta("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;sa("http://www.pcjs.org/api/v1/report",d,!0)}} +function Lf(a,b,c){var d,f="none";if(a.A)return null;a.A--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=qa();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Oa&&(c&&a.b.na(),d=a.b.Oa(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.u.ia=!1,!1===d&&(f=null)));for(var h=ab(a.id),k=0;ke.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDP11js$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){e=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");sa(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);og(a,b,c)}})}else c(a,null)} -function pg(a,b,c,d){function f(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function e(a){f("Error: "+a);k&&(--ag||Ra(!0));k=!1}var g,h,k=!0;ag++;Za[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=m:p.appendChild(document.createTextNode(m));n.appendChild(p)}c|| -(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?mg(c,null,null,!1,f,function(d,k){k?($a(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--ag||Ra(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--ag||Ra(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?mg(b,a,d,!0,f,m):ng(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(q){e(q.message)}return k}window.embedPDP11=function(a,b,c,d){Ra(!1);return pg(a,b,c,d)};window.enableEvents=Ra;window.sendEvent=Sa;})(); +l.va=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.A||(d.u.ia?Lf(d,!1,!0):Sf(d,d.Nb))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.u.ia&&!d.A)if(d.i&&!d.K){var a=ta("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Lf(d,a,!0);!a&&d.$?window&&window.location.reload():d.Nb(Of)}else d.reset(),d.b&&d.b.Gb()},!0;case "save":if(ia())c.parentNode.removeChild(c);else return this.J[b]= +c,c.onclick=function(){var a=Pf(d,!0);if(a){var b=!!(d.i&&!d.K||d.$),c=Lf(d,b);b?Zf(d,a,c):d.pa("Resume disabled, machine state not saved")}},!0}return!1}; +function Pf(a,b){var c=a.j;c||((c=za("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=$f(a,c))||a.pa("The user ID is invalid.")):b&&a.pa("Browser local storage is not available"));return c} +function $f(a,b){a.j=null;b=sa(ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.j=b.data)}catch(d){u(d.message+" ("+c+")")}return a.j}function Rf(a){var b=null;a.j&&(b=ja()+"/api/v1/user?req=load&user="+a.j+"&state="+ag(a,"1.30.0"));return b} +function Zf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ag(a,"1.30.0");d.data=c;b=sa(ja()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDP11js$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){e=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");sa(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);pg(a,b,c)}})}else c(a,null)} +function qg(a,b,c,d){function f(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function e(a){f("Error: "+a);k&&(--bg||Ra(!0));k=!1}var g,h,k=!0;bg++;Za[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=m:p.appendChild(document.createTextNode(m));n.appendChild(p)}c|| +(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?ng(c,null,null,!1,f,function(d,k){k?($a(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--bg||Ra(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--bg||Ra(!0)):e("invalid machine element: "+ +a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?ng(b,a,d,!0,f,m):og(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(q){e(q.message)}return k}window.embedPDP11=function(a,b,c,d){Ra(!1);return qg(a,b,c,d)};window.enableEvents=Ra;window.sendEvent=Sa;})(); diff --git a/versions/pdp11/1.30.0/pdp11.js b/versions/pdp11/1.30.0/pdp11.js index ce72fc6e1..9d8759d4c 100644 --- a/versions/pdp11/1.30.0/pdp11.js +++ b/versions/pdp11/1.30.0/pdp11.js @@ -8,141 +8,142 @@ typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encod function q(a){window&&window.alert(a)}function ka(a){var b=!1;window&&(b=window.confirm(a));return b}var la=null;function ma(){if(null==la){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}la=a}return la}function na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pa(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)?!0:!1}return!1}var t={init:[],show:[],exit:[]},qa=!1,ra=!1,sa=!0;function ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){t.init.push(a)} function ua(a){if(sa)try{for(var b=0;bb?this.xb=this.id:(this.Mb=this.id.substr(0,b),this.xb=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Ic:!1,Jc:!1,N:!1,error:!1};this.mb=null;this.h.error=!1;this.u={};this.I=null;x.push(this)}var xa=void 0,ya={}; +function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Hb=b.comment;this.bc=b;b=this.id.indexOf(".");0>b?this.vb=this.id:(this.Ib=this.id.substr(0,b),this.vb=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Gc:!1,Hc:!1,N:!1,error:!1};this.lb=null;this.h.error=!1;this.u={};this.I=null;x.push(this)}var xa=void 0,ya={}; if(window){xa||(xa=window.location.search.substr(1));for(var za,Aa=/\+/g,Ba=/([^&=]+)=?([^&]*)/g;za=Ba.exec(xa);)ya[decodeURIComponent(za[1].replace(Aa," "))]=decodeURIComponent(za[2].replace(Aa," "))}function Ca(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} function y(a,b){b||(b=w);a.prototype=Ca(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Da=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},x=[];function Ea(a,b,c){Da[a]&&b&&(Da[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.f&&(this.f=10);15>2;this.i=this.g-1;this.m=this.v/this.g|0;this.L=this.m-1;this.na=[];this.C=null;this.ab=this.R;a=new G;Ka(a,this.I);this.b=Array(this.m);for(b=0;b>8:d[2](b)&255}else if(b&1&&(d=c.na[a&-2])&&d[2])return d[2](b&-2)>>8;c.K("warning: unconverted read access to byte @"+ba(b));return c.ab(b,-1,1)} -function Ma(a,b,c){var d=this.controller,f=d.na[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.na[a&-2])&&f[3]){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.K("warning: unconverted write access to byte @"+ba(c));d.ab(c,b,1)} -function Na(a,b){var c=this.controller;if(a=c.na[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.K("warning: unconverted read access to word @"+ba(b));return c.ab(b,-1,0)}function Oa(a,b,c){var d=this.controller;if(a=d.na[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.K("warning: unconverted write access to word @"+ba(c));d.ab(c,b,0)}F.prototype.reset=function(){this.C&&this.C()};F.prototype.R=function(){return 0}; -F.prototype.wa=function(a,b){b||this.reset();return!0};function Pa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0g&&(r=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Xa)return k.ub+=k.Xa-e,k.Xa=e,!0;if(e>=k.Xa+k.ub){r=k.size-(e-m);r>g&&(r=g);k.ub=e-k.Xa+r;e=m+a.g;g-=r;h++;continue}}return Ra(1,e,g)}e=new G(e,r,a.g,d,f);Ka(e,a.I,k);a.b[h++]=e;e=m+a.g;g-=r}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Sa[d]+" at "+n(b,8,!0)),!0):Ra(2,b,c)} -function Ta(a,b){return a.b[(b&a.j)>>>a.f].cb(b&a.i,b)}function Ua(a,b,c){var d=b&a.i,f=(b&a.j)>>>a.f;d!=a.i?a.b[f].Fc(d,c&65535,b):(a.b[f++].Wa(d,c&255,b),a.b[f&a.L].Wa(0,c>>8&255,b+1))}function Va(a){for(var b=0,c=[],d=0;d>1)+2;10>this.f&&(this.f=10);15>2;this.j=this.g-1;this.m=this.v/this.g|0;this.L=this.m-1;this.ma=[];this.C=null;this.$a=this.R;a=new G;Ka(a,this.I);this.b=Array(this.m);for(b=0;b>8:d[2](b)&255}else if(b&1&&(d=c.ma[a&-2])&&d[2])return d[2](b&-2)>>8;c.K("warning: unconverted read access to byte @"+ba(b));return c.$a(b,-1,1)} +function Ma(a,b,c){var d=this.controller,f=d.ma[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.ma[a&-2])&&f[3]){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.K("warning: unconverted write access to byte @"+ba(c));d.$a(c,b,1)} +function Na(a,b){var c=this.controller;if(a=c.ma[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.K("warning: unconverted read access to word @"+ba(b));return c.$a(b,-1,0)}function Oa(a,b,c){var d=this.controller;if(a=d.ma[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.K("warning: unconverted write access to word @"+ba(c));d.$a(c,b,0)}F.prototype.reset=function(){this.C&&this.C()};F.prototype.R=function(){return 0}; +F.prototype.va=function(a,b){b||this.reset();return!0};function Pa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0g&&(r=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Wa)return k.tb+=k.Wa-e,k.Wa=e,!0;if(e>=k.Wa+k.tb){r=k.size-(e-m);r>g&&(r=g);k.tb=e-k.Wa+r;e=m+a.g;g-=r;h++;continue}}return Ra(1,e,g)}e=new G(e,r,a.g,d,f);Ka(e,a.I,k);a.b[h++]=e;e=m+a.g;g-=r}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Sa[d]+" at "+n(b,8,!0)),!0):Ra(2,b,c)} +function Ta(a,b){return a.b[(b&a.l)>>>a.f].bb(b&a.j,b)}function Ua(a,b,c){var d=b&a.j,f=(b&a.l)>>>a.f;d!=a.j?a.b[f].Dc(d,c&65535,b):(a.b[f++].Va(d,c&255,b),a.b[f&a.L].Va(0,c>>8&255,b+1))}function Va(a){for(var b=0,c=[],d=0;d>5&3;c.Oa=a>>1&15;c.nb=a&257?a&1?6:4:0;bb(c);a=c.C;a&1|256&&(b=this.a.Ka&16?1:2);this.g.Ra=this.g.Ra&-8|b};l.nc=function(){return this.b.U};l.Ec=function(a){this.b.U=this.b.U&128|a&-129};l.oc=function(){return this.b.W}; -l.Gc=function(a){if(128==(this.b.W&192)&&a&64){var b=this;I(this.a,8,4,52,function(){b.b.W|=128;return!!(b.b.W&64)})}this.b.W=this.b.W&128|a&-129};l.mc=function(){return cb(this.a)};l.Dc=function(a){db(this.a,a&-1809|cb(this.a)&1808);this.a.l|=128}; -function eb(a){var b=a.i,c,d,f,e=b.V>>13&7;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.pc,drive:e,blocksize:256,mapped:0,maxblock:b.Ha[e]*b.F[e],url:"rk"+e+".dsk"});b.A&=-129;switch(b.A>>1&7){case 0:b.fb=2496;b.P=0;b.A=128;b.V=0;break;case 1:if((b.V>>4&511)>=b.Ha[e]){b.P|=32832;b.A|=49152;break}if((b.V&15)>=b.F[e]){b.P|=32800;b.A|=49152;break}c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.eb;f=65536-b.gb&65535;fb(a,b.S[e],c,d,f);return;case 2:if((b.V>>4&511)>=b.Ha[e])b.P|=32832, -b.A|=49152;else if((b.V&15)>=b.F[e])b.P|=32800,b.A|=49152;else{c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.eb;f=65536-b.gb&65535;a.pb(b.S[e],c,d,f);return}}b.fb=e<<13|b.fb&8176|b.V%9&15;I(a.a,20,5,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}l.pc=function(a,b,c,d,f){var e=this.i;e.eb=d&65535;e.A=e.A&-49|d>>12&48;e.gb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}I(this.a,20,5,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})}; -function gb(a){var b=a.j,c,d,f,e=b.s>>8&3;b.s&=-2;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.qc,drive:e,blocksize:128,mapped:1,maxblock:b.Ha[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.s>>1&7){case 2:b.ua&8&&(b.s&=63);b.ua=b.$b[e]|b.Aa&64;break;case 3:1==(b.H&3)&&(b.Aa=b.H&4?b.Aa+(b.H&65408)&65408|b.H<<2&64:b.Aa-(b.H&65408)&65408|b.H<<2&64,b.H=b.Aa);break;case 4:b.ua=b.Aa;break;case 5:if(b.H>>6>=b.Ha[e]){b.s|=37888;break}if((b.H&63)>=b.F[e]){b.s|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63); -d=(b.oa&63)<<16|b.$a;f=65536-b.ua&65535;fb(a,b.S[e],c,d,f);return;case 6:if(b.H>>6>=b.Ha[e])b.s|=37888;else if((b.H&63)>=b.F[e])b.s|=37888;else{c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.oa&63)<<16|b.$a;f=65536-b.ua&65535;a.pb(b.S[e],c,d,f);return}}I(a.a,20,5,112,function(){b.s|=129;return!!(b.s&64)})} -l.qc=function(a,b,c,d,f){var e=this.j;e.$a=d&65535;e.s=e.s&-49|d>>12&48;e.oa=d>>16&63;e.H=~~(c/e.F[b.ga])<<6|c%e.F[b.ga];e.Aa=e.H;e.ua=65536-f&65535;switch(a){case 1:e.s|=33792;break;case 2:e.s|=40960}I(this.a,20,5,112,function(){e.s|=129;return!!(e.s&64)})};function hb(a){a=a.m;a.D=2176;a.ba=0;a.T=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ta=[0,0,0,0,0,0,0,0];a.Ma=a.Ua=a.Sa=a.za=a.Gb=0} -function ib(a,b){var c=a.m,d,f,e;c.D&=-16513;c.ba&=-2049;c.T[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.S[b]&&(c.S[b]={cache:[],postProcess:a.rc,drive:b,blocksize:256,mapped:0,maxblock:c.wb[0]*c.Ga[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.D&63){case 5:c.tb[b]=c.ia[b];c.D|=32896;c.T[b]|=32896;c.Ma|=1<=c.wb[0]||c.ca[b]>>8>=c.Ga[0]||(c.ca[b]&255)>=c.F[0]){c.Ta[b]|=1024;c.D|=49152;break}d=(c.ia[b]*c.Ga[0]+(c.ca[b]>>8))*c.F[0]+ -(c.ca[b]&255);f=(c.za&63)<<16|c.Sa;e=65536-c.Ua&65535;fb(a,c.S[b],d,f,e);return;case 57:if(c.ia[b]>=c.wb[0]||c.ca[b]>>8>=c.Ga[0]||(c.ca[b]&255)>=c.F[0])c.Ta[b]|=1024,c.D|=49152;else{d=(c.ia[b]*c.Ga[0]+(c.ca[b]>>8))*c.F[0]+(c.ca[b]&255);f=(c.za&63)<<16|c.Sa;e=65536-c.Ua&65535;a.pb(c.S[b],d,f,e);return}}I(a.a,3,5,172,function(){c.D=c.D&65534|128;c.T[b]|=128;return!!(c.D&64)})} -l.rc=function(a,b,c,d,f){var e=this.m;e.Ua=65536-f&65535;e.Sa=d&65535;e.D=e.D&-769|d>>8&768;e.za=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Ga[0]);e.ca[b.ga]=f%e.Ga[0]<<8|c%e.F[0];e.tb[b.ga]=e.ia[b.ga]=d;e.Ma|=1<=b.ic-1&&(e.T[b.ga]|=1024);switch(a){case 1:e.ba|=512;e.D|=49152;break;case 2:e.ba|=2048,e.D|=49152}I(this.a,20,5,172,function(){e.T[b.ga]|=128;e.D=e.D&65534|128;return!!(e.D&64)})}; -function jb(a,b,c,d,f,e){var g=~~((e+c.pa-1)/c.pa),h=new XMLHttpRequest;2048>g&&d+2048g){b.Db(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Db(0,b,c,d,f)}l.reset=function(){this.g.Ra=this.g.Ra&-120|20;this.b.U=0;this.b.W=128;this.f.ta=0;this.i.A=128;this.j.s=128;hb(this)}; -l.Zb=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.ya&65280:(a&1&&(b<<=8),e.ya=b|255,d=0);break;case 4194298:if(0>b)d=e.Fb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Fb=d;e.ha=2}break;case 4194294:if(70!==e.Ia)return K(e,4);0>b?d=e.o:d=e.o=0;break;case 4194292:if(70!==e.Ia)return K(e,4);d=1;break;case 4194290:if(70!==e.Ia)return K(e,4);d=0;break;case 4194288:if(70!==e.Ia)return K(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&= -255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ia)return K(e,4);f=a-4194272>>1;0>b?d=e.Cb[f]:(d=J(this,e.Cb[f],a,b,c),0<=d&&(e.Cb[f]=d));break;case 4194254:return a&1?e.w>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[3]=b),d=e.fa[3]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[1]=b),d=e.fa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.w&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.La[f]=b),d=e.La[f]),d;case 4194246:return a& -1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[0]=b),d=e.fa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.w&2048?(0<=b&&(e.La[f]=b),d=e.La[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.o|=16,K(e,4)}break;case 4194176:f=a>>1&31;d=J(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var g=this.b;switch(a&-2){case 4194174:d=J(this,e.sb,a,b,c);0<=d&&(e.sb=d);break;case 4194172:d=e.xa;d&65280&&(d=(d<<8|d>>8)&65535);break; -case 4194168:0>b?d=this.g.zc&65535:(d=J(this,this.g.data,a,b,c),0<=d&&(this.g.data=d));break;case 4194166:0<=b&&(b&127&&(g.bc=0),g.W&=-129,I(e,100,4,52,function(){g.W|=128;return!!(g.W&64)}));d=0;break;case 4194162:d=0;0>b&&(g.U&=-129,0b?d=g.U:(d=J(this,g.U,a,b,c),0<=d&&(g.U=g.U&128|d&-129));break;default:return e.o|=16,K(e,4)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d= -J(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194050:d=J(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=J(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&eb(this));break;case 4194054:d=J(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194056:d=J(this,f.eb,a,b,c);0<=d&&(f.eb=d);break;case 4194058:d=J(this,f.V,a,b,c);0<=d&&(f.V=d);break;case 4194060:break;case 4194062:d=J(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;default:return e.o|=16,K(e,4)}break;case 4193728:var h=this.m;f=h.ba&7;switch(a& --2){case 4193728:d=J(this,h.D,a,b,c);0<=b&&0<=d&&(h.za=h.za&60|d>>8&3,h.D=d&17279|h.D&34944|2048,d&1&&h.D&128?ib(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,h.Ua,a,b,c);0<=d&&(h.Ua=d);break;case 4193732:d=J(this,h.Sa,a,b,c);0<=d&&(h.Sa=d&65534);break;case 4193734:d=J(this,h.ca[f],a,b,c);0<=d&&(h.ca[f]=d&7967);break;case 4193736:d=J(this,h.ba,a,b,c);0<=d&&(h.ba=d&63|h.ba&65472,d&128&&hb(this));break;case 4193738:d=h.T[f];break;case 4193740:d=h.Ta[f];break;case 4193742:d=J(this, -h.Ma,a,b,c);0<=d&&(h.Ma=d&255);break;case 4193744:d=h.wc[f];break;case 4193746:d=J(this,h.Tb,a,b,c);0<=d&&(h.Tb=d);break;case 4193748:d=J(this,h.Ub[f],a,b,c);0<=d&&(h.Ub[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.xc[f];break;case 4193754:d=J(this,h.Vb[f],a,b,c);0<=d&&(h.Vb[f]=d);break;case 4193756:d=J(this,h.ia[f],a,b,c);0<=d&&(h.ia[f]=d&511);break;case 4193758:h.tb[f]=h.ia[f];d=h.tb[f];break;case 4193760:d=h.uc[f];break;case 4193762:d=h.vc[f];break;case 4193764:d=h.sc[f];break;case 4193766:d= -h.tc[f];break;case 4193768:d=J(this,h.za,a,b,c);0<=d&&(h.za=d&63,h.D=h.D&-769|(d&3)<<8);break;case 4193770:d=J(this,h.Gb,a,b,c);0<=d&&(h.Gb=d);break;default:return e.o|=16,K(e,4)}break;case 4192512:f=this.j;switch(a&-2){case 4192512:d=J(this,f.s,a,b,c);0<=b&&0<=d&&(f.oa=f.oa&60|d>>4&3,f.s=f.s&-1023|d&1022,f.s&128||gb(this));break;case 4192514:d=J(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=J(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=J(this,f.ua,a,b,c);0<=d&&(f.ua=d);break; -case 4192520:d=J(this,f.oa,a,b,c);0<=d&&(f.oa=d&63,f.s=f.s&-49|(f.oa&3)<<4);break;default:return e.o|=16,K(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.Ka:(d=J(this,e.Ka,a,b,c),0<=d&&(70!==e.Ia&&(d&=-49),e.Ka=d,e.ob[0]=d&4?15:7,e.ob[1]=d&2?15:7,e.ob[3]=d&1?15:7,e.nb&&(f=2,e.Ka&16&&(f=1),this.g.Ra=this.g.Ra&-8|f)));break;default:return e.o|=16,K(e,4)}break;case 4191424:f=a>>1&31;d=J(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=J(this,e.O[1][f], -a,b,c);0<=d&&(e.O[1][f]=d,e.O[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Ia)return K(e,4);f=a>>2&31;d=e.hb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=J(this,d,a,b,c),0<=d&&(e.hb[f]=a&2?d<<16|e.hb[f]&65535:e.hb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Za[a>>1&255];else return e.o|=16,K(e,4);break;default:return e.o|=16,K(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)"); -return d};var L={},Xa=(L[65382]=[null,null,H.prototype.kc,H.prototype.Bc,"LKS"],L[65392]=[null,null,H.prototype.nc,H.prototype.Ec,"RCSR"],L[65396]=[null,null,H.prototype.oc,H.prototype.Gc,"XCSR"],L[65402]=[null,null,H.prototype.lc,H.prototype.Cc,"MMR0"],L[65534]=[null,null,H.prototype.mc,H.prototype.Dc,"PSW"],L);u(function(){for(var a=C(document,"pdp11","device"),b=0;b>5&3;c.Na=a>>1&15;c.mb=a&257?a&1?6:4:0;bb(c);a=c.C;a&1|256&&(b=this.a.Ja&16?1:2);this.g.Qa=this.g.Qa&-8|b};l.lc=function(){return this.b.U};l.Cc=function(a){this.b.U=this.b.U&128|a&-129};l.mc=function(){return this.b.W}; +l.Ec=function(a){if(128==(this.b.W&192)&&a&64){var b=this;I(this.a,8,4,52,function(){b.b.W|=128;return!!(b.b.W&64)})}this.b.W=this.b.W&128|a&-129};l.kc=function(){return cb(this.a)};l.Bc=function(a){db(this.a,a&-1809|cb(this.a)&1808);this.a.i|=128}; +function eb(a){var b=a.j,c,d,f,e=b.V>>13&7;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.nc,drive:e,blocksize:256,mapped:0,maxblock:b.Ga[e]*b.F[e],url:"rk"+e+".dsk"});b.A&=-129;switch(b.A>>1&7){case 0:b.eb=2496;b.P=0;b.A=128;b.V=0;break;case 1:if((b.V>>4&511)>=b.Ga[e]){b.P|=32832;b.A|=49152;break}if((b.V&15)>=b.F[e]){b.P|=32800;b.A|=49152;break}c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.cb;f=65536-b.fb&65535;fb(a,b.S[e],c,d,f);return;case 2:if((b.V>>4&511)>=b.Ga[e])b.P|=32832, +b.A|=49152;else if((b.V&15)>=b.F[e])b.P|=32800,b.A|=49152;else{c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.cb;f=65536-b.fb&65535;a.ob(b.S[e],c,d,f);return}}b.eb=e<<13|b.eb&8176|b.V%9&15;I(a.a,20,5,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}l.nc=function(a,b,c,d,f){var e=this.j;e.cb=d&65535;e.A=e.A&-49|d>>12&48;e.fb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}I(this.a,20,5,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})}; +function gb(a){var b=a.l,c,d,f,e=b.s>>8&3;b.s&=-2;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.oc,drive:e,blocksize:128,mapped:1,maxblock:b.Ga[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.s>>1&7){case 2:b.ta&8&&(b.s&=63);b.ta=b.Yb[e]|b.za&64;break;case 3:1==(b.H&3)&&(b.za=b.H&4?b.za+(b.H&65408)&65408|b.H<<2&64:b.za-(b.H&65408)&65408|b.H<<2&64,b.H=b.za);break;case 4:b.ta=b.za;break;case 5:if(b.H>>6>=b.Ga[e]){b.s|=37888;break}if((b.H&63)>=b.F[e]){b.s|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63); +d=(b.na&63)<<16|b.Za;f=65536-b.ta&65535;fb(a,b.S[e],c,d,f);return;case 6:if(b.H>>6>=b.Ga[e])b.s|=37888;else if((b.H&63)>=b.F[e])b.s|=37888;else{c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.na&63)<<16|b.Za;f=65536-b.ta&65535;a.ob(b.S[e],c,d,f);return}}I(a.a,20,5,112,function(){b.s|=129;return!!(b.s&64)})} +l.oc=function(a,b,c,d,f){var e=this.l;e.Za=d&65535;e.s=e.s&-49|d>>12&48;e.na=d>>16&63;e.H=~~(c/e.F[b.ga])<<6|c%e.F[b.ga];e.za=e.H;e.ta=65536-f&65535;switch(a){case 1:e.s|=33792;break;case 2:e.s|=40960}I(this.a,20,5,112,function(){e.s|=129;return!!(e.s&64)})};function hb(a){a=a.m;a.D=2176;a.ba=0;a.T=[4544,4544,4544,4544,4544,4544,4544,4544];a.Sa=[0,0,0,0,0,0,0,0];a.La=a.Ta=a.Ra=a.ya=a.Db=0} +function ib(a,b){var c=a.m,d,f,e;c.D&=-16513;c.ba&=-2049;c.T[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.S[b]&&(c.S[b]={cache:[],postProcess:a.pc,drive:b,blocksize:256,mapped:0,maxblock:c.ub[0]*c.Fa[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.D&63){case 5:c.sb[b]=c.ha[b];c.D|=32896;c.T[b]|=32896;c.La|=1<=c.ub[0]||c.ca[b]>>8>=c.Fa[0]||(c.ca[b]&255)>=c.F[0]){c.Sa[b]|=1024;c.D|=49152;break}d=(c.ha[b]*c.Fa[0]+(c.ca[b]>>8))*c.F[0]+ +(c.ca[b]&255);f=(c.ya&63)<<16|c.Ra;e=65536-c.Ta&65535;fb(a,c.S[b],d,f,e);return;case 57:if(c.ha[b]>=c.ub[0]||c.ca[b]>>8>=c.Fa[0]||(c.ca[b]&255)>=c.F[0])c.Sa[b]|=1024,c.D|=49152;else{d=(c.ha[b]*c.Fa[0]+(c.ca[b]>>8))*c.F[0]+(c.ca[b]&255);f=(c.ya&63)<<16|c.Ra;e=65536-c.Ta&65535;a.ob(c.S[b],d,f,e);return}}I(a.a,3,5,172,function(){c.D=c.D&65534|128;c.T[b]|=128;return!!(c.D&64)})} +l.pc=function(a,b,c,d,f){var e=this.m;e.Ta=65536-f&65535;e.Ra=d&65535;e.D=e.D&-769|d>>8&768;e.ya=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Fa[0]);e.ca[b.ga]=f%e.Fa[0]<<8|c%e.F[0];e.sb[b.ga]=e.ha[b.ga]=d;e.La|=1<=b.gc-1&&(e.T[b.ga]|=1024);switch(a){case 1:e.ba|=512;e.D|=49152;break;case 2:e.ba|=2048,e.D|=49152}I(this.a,20,5,172,function(){e.T[b.ga]|=128;e.D=e.D&65534|128;return!!(e.D&64)})}; +function jb(a,b,c,d,f,e){var g=~~((e+c.oa-1)/c.oa),h=new XMLHttpRequest;2048>g&&d+2048g){b.Ab(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Ab(0,b,c,d,f)}l.reset=function(){this.g.Qa=this.g.Qa&-120|20;this.b.U=0;this.b.W=128;this.f.sa=0;this.j.A=128;this.l.s=128;hb(this)}; +l.Xb=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.xa&65280:(a&1&&(b<<=8),e.xa=b|255,d=0);break;case 4194298:if(0>b)d=e.Cb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Cb=d;e.i|=2}break;case 4194294:if(70!==e.Ha)return K(e,4);0>b?d=e.o:d=e.o=0;break;case 4194292:if(70!==e.Ha)return K(e,4);d=1;break;case 4194290:if(70!==e.Ha)return K(e,4);d=0;break;case 4194288:if(70!==e.Ha)return K(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&= +255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ha)return K(e,4);f=a-4194272>>1;0>b?d=e.zb[f]:(d=J(this,e.zb[f],a,b,c),0<=d&&(e.zb[f]=d));break;case 4194254:return a&1?e.w>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[3]=b),d=e.fa[3]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[1]=b),d=e.fa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.w&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Ka[f]=b),d=e.Ka[f]),d;case 4194246:return a& +1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[0]=b),d=e.fa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.w&2048?(0<=b&&(e.Ka[f]=b),d=e.Ka[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.o|=16,K(e,4)}break;case 4194176:f=a>>1&31;d=J(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var g=this.b;switch(a&-2){case 4194174:d=J(this,e.rb,a,b,c);0<=d&&(e.rb=d);break;case 4194172:d=e.wa;d&65280&&(d=(d<<8|d>>8)&65535);break; +case 4194168:0>b?d=this.g.xc&65535:(d=J(this,this.g.data,a,b,c),0<=d&&(this.g.data=d));break;case 4194166:0<=b&&(b&127&&(g.$b=0),g.W&=-129,I(e,100,4,52,function(){g.W|=128;return!!(g.W&64)}));d=0;break;case 4194162:d=0;0>b&&(g.U&=-129,0b?d=g.U:(d=J(this,g.U,a,b,c),0<=d&&(g.U=g.U&128|d&-129));break;default:return e.o|=16,K(e,4)}break;case 4194048:f=this.j;switch(a&-2){case 4194048:d= +J(this,f.eb,a,b,c);0<=d&&(f.eb=d);break;case 4194050:d=J(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=J(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&eb(this));break;case 4194054:d=J(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194056:d=J(this,f.cb,a,b,c);0<=d&&(f.cb=d);break;case 4194058:d=J(this,f.V,a,b,c);0<=d&&(f.V=d);break;case 4194060:break;case 4194062:d=J(this,f.Qb,a,b,c);0<=d&&(f.Qb=d);break;default:return e.o|=16,K(e,4)}break;case 4193728:var h=this.m;f=h.ba&7;switch(a& +-2){case 4193728:d=J(this,h.D,a,b,c);0<=b&&0<=d&&(h.ya=h.ya&60|d>>8&3,h.D=d&17279|h.D&34944|2048,d&1&&h.D&128?ib(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,h.Ta,a,b,c);0<=d&&(h.Ta=d);break;case 4193732:d=J(this,h.Ra,a,b,c);0<=d&&(h.Ra=d&65534);break;case 4193734:d=J(this,h.ca[f],a,b,c);0<=d&&(h.ca[f]=d&7967);break;case 4193736:d=J(this,h.ba,a,b,c);0<=d&&(h.ba=d&63|h.ba&65472,d&128&&hb(this));break;case 4193738:d=h.T[f];break;case 4193740:d=h.Sa[f];break;case 4193742:d=J(this, +h.La,a,b,c);0<=d&&(h.La=d&255);break;case 4193744:d=h.uc[f];break;case 4193746:d=J(this,h.Rb,a,b,c);0<=d&&(h.Rb=d);break;case 4193748:d=J(this,h.Sb[f],a,b,c);0<=d&&(h.Sb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.vc[f];break;case 4193754:d=J(this,h.Tb[f],a,b,c);0<=d&&(h.Tb[f]=d);break;case 4193756:d=J(this,h.ha[f],a,b,c);0<=d&&(h.ha[f]=d&511);break;case 4193758:h.sb[f]=h.ha[f];d=h.sb[f];break;case 4193760:d=h.sc[f];break;case 4193762:d=h.tc[f];break;case 4193764:d=h.qc[f];break;case 4193766:d= +h.rc[f];break;case 4193768:d=J(this,h.ya,a,b,c);0<=d&&(h.ya=d&63,h.D=h.D&-769|(d&3)<<8);break;case 4193770:d=J(this,h.Db,a,b,c);0<=d&&(h.Db=d);break;default:return e.o|=16,K(e,4)}break;case 4192512:f=this.l;switch(a&-2){case 4192512:d=J(this,f.s,a,b,c);0<=b&&0<=d&&(f.na=f.na&60|d>>4&3,f.s=f.s&-1023|d&1022,f.s&128||gb(this));break;case 4192514:d=J(this,f.Za,a,b,c);0<=d&&(f.Za=d&65534);break;case 4192516:d=J(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=J(this,f.ta,a,b,c);0<=d&&(f.ta=d);break; +case 4192520:d=J(this,f.na,a,b,c);0<=d&&(f.na=d&63,f.s=f.s&-49|(f.na&3)<<4);break;default:return e.o|=16,K(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.Ja:(d=J(this,e.Ja,a,b,c),0<=d&&(70!==e.Ha&&(d&=-49),e.Ja=d,e.nb[0]=d&4?15:7,e.nb[1]=d&2?15:7,e.nb[3]=d&1?15:7,e.mb&&(f=2,e.Ja&16&&(f=1),this.g.Qa=this.g.Qa&-8|f)));break;default:return e.o|=16,K(e,4)}break;case 4191424:f=a>>1&31;d=J(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=J(this,e.O[1][f], +a,b,c);0<=d&&(e.O[1][f]=d,e.O[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Ha)return K(e,4);f=a>>2&31;d=e.gb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=J(this,d,a,b,c),0<=d&&(e.gb[f]=a&2?d<<16|e.gb[f]&65535:e.gb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Za[a>>1&255];else return e.o|=16,K(e,4);break;default:return e.o|=16,K(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)"); +return d};var L={},Xa=(L[65382]=[null,null,H.prototype.ic,H.prototype.zc,"LKS"],L[65392]=[null,null,H.prototype.lc,H.prototype.Cc,"RCSR"],L[65396]=[null,null,H.prototype.mc,H.prototype.Ec,"XCSR"],L[65402]=[null,null,H.prototype.jc,H.prototype.Ac,"MMR0"],L[65534]=[null,null,H.prototype.kc,H.prototype.Bc,"PSW"],L);u(function(){for(var a=C(document,"pdp11","device"),b=0;b>1),this.a=new Int32Array(this.f,0,c>>2),rb(this,nb?sb:tb);else{this.a=Array(c>>2);for(a=0;a>1),this.a=new Int32Array(this.f,0,c>>2),rb(this,nb?sb:tb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},$:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ma:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Ea:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.ra=!0},R:function(a,b){return this.X(a,b)},ja:function(a,b){return this.ka(a, -b)},Ca:function(a,b,c){this.g||this.Yb(a,b,c)},Na:function(a,b,c){this.g||this.Oa(a,b,c)},L:function(a){return this.b[a]},Y:function(a){return this.b[a]},aa:function(a){return this.u.getUint16(a,!0)},la:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.m[a>>1]},Ba:function(a,b){this.b[a]=b;this.ra=!0},Da:function(a,b){this.b[a]=b;this.ra=!0},Fa:function(a,b){this.u.setUint16(a,b,!0);this.ra=!0},Pa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.m[a>>1]=b;this.ra=!0}}; -function Ka(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&vb(a,wb,!1),(a.j=c.j)&&xb(a,wb,!1))}function xb(a,b,c){c&&a.j||(a.Wa=!a.g&&b[1]||a.G,a.Fc=!a.g&&b[3]||a.J);if(c||void 0===c)a.Yb=b[1]||a.G,a.Oa=b[3]||a.J}function vb(a,b,c){c&&a.i||(a.cb=b[0]||a.v,a.qb=b[2]||a.C);if(c||void 0===c)a.X=b[0]||a.v,a.ka=b[2]||a.C}function rb(a,b){b||(b=yb);vb(a,b,void 0);xb(a,b,void 0)}var yb=[],ub=[G.prototype.$,G.prototype.Ea,G.prototype.ma,G.prototype.Qa],wb=[G.prototype.R,G.prototype.Ca,G.prototype.ja,G.prototype.Na]; -if(Ha)var tb=[G.prototype.L,G.prototype.Ba,G.prototype.aa,G.prototype.Fa],sb=[G.prototype.Y,G.prototype.Da,G.prototype.la,G.prototype.Pa];function zb(a,b){w.call(this,"CPU",a,zb);var c=a.multiplier||1;this.jb=a.cycles||b;this.$=c;this.yb=Math.round(this.jb/1E4)/100;this.ka=this.yb*this.$;this.h.Z=!1;this.h.Wb=!1;this.h.Za=a.autoStart;this.h.Nb=!1;this.h.lb=!1;this.Qa=this.la=0;this.ib=a.csStart;this.Ca=a.csInterval;this.Da=a.csStop;this.G=[];this.Ab=this.yc.bind(this);E(this)}y(zb); -var Ab=["power","reset"];l=zb.prototype;l.Ja=function(a,b,c,d){this.v=a;this.B=b;this.I=d;for(b=0;ba.X/a.ka&&(b=1),a.$=b,b=a.yb*a.$,a.ka!=b)){a.ka=b;b=a.ka.toFixed(2)+"Mhz";var c=a.u.setSpeed;c&&(c.textContent=b);a.K("target speed: "+b)}Ib(a,a.R);a.R=0;a.L=ia();a.Y=0;Jb(a)}function $a(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function ab(a,b){var c;0<=b&&ba.G[b][0]&&(c=a.jb*a.$/1E3*(1E3/60),a.G[b][0]=c)} -l.yc=function(){if(this.h.Z){this.zb>=this.jb&&Jb(this,!0);this.Fa=0;this.Pa=ia();if(this.Y){var a=this.Pa-this.Y;a>this.Pb&&(this.L+=a,this.L>this.Pa&&(this.L=this.Pa))}try{do{for(var b,c=this.h.lb?1:this.kb,d=this.G.length-1;0<=d;d--){var f=this.G[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Xb(b)}catch(m){if("number"!=typeof m)throw m;}for(var e=this.J-this.a,a=e,g=this.G.length-1;0<=g;g--){var h=this.G[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Fa+=e;this.R+=e;Ib(this,0,!0);a=e;if(this.h.lb){var k= -!1;this.Qa=this.Qa+this.Rb()|0;this.la-=a;0>=this.la&&(this.la+=this.Ca,k=!0);0<=this.Da&&this.Da<=Kb(this)&&(this.Ca=this.Da=-1,Db(this),Gb(this),k=!0);k&&this.K(Kb(this)+" cycles: checksum="+n(this.Qa))}this.Ea-=e;if(0>=this.Ea){this.Ea+=this.kb;15<=++this.Qb&&(this.v&&this.v.Va(),this.Qb=0);break}}while(this.h.Z)}catch(m){Gb(this);Eb(this);this.v&&this.v.stop(ia(),Kb(this));b=m.stack||m.message;this.h.error=!0;this.M(b);return}if(this.h.Z){b=setTimeout;c=this.Ab;this.Y=ia();d=this.Pb;this.Fa&& -(d=Math.round(d*this.Fa/this.kb));d-=this.Y-this.Pa;if(f=this.Y-this.L)this.X=Math.round(this.R/(10*f))/100,864E5<=f&&(this.aa=0,Hb(this));if(0>d||this.Xd&&(this.L-=d),d=0;this.zb+=this.Fa;this.Y+=d;b(c,d)}}};function Fb(a){var b;a.h.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.Z)a.K(a.toString()+" busy");else{Hb(a);a.h.Z=!0;a.h.Wb=!0;a.Ba&&a.Ba.start();if(b=a.u.run)b.textContent="Halt";a.v&&a.v.start(a.L,Kb(a));Eb(a,!0);setTimeout(a.Ab,0)}}l.Xb=function(){return 0}; -function Gb(a){if(a.h.Z){a.J-=a.a;a.a=0;Ib(a,a.R);a.R=0;a.h.Z=!1;a.Ba&&a.Ba.stop();var b=a.u.run;b&&(b.textContent="Run");a.v&&a.v.stop(ia(),Kb(a));Eb(a)}a.h.complete=void 0}function Eb(a,b){a.v&&a.v.Va(b)} -function Lb(a){this.gc=a.resetAddr||0;zb.call(this,a,1E6);this.Jb=0;this.decode=Mb.bind(this);this.g=65536;this.b=32768;this.f=65535;this.i=32768;this.w=15;this.c=[0,0,0,0,0,0,0,this.gc];this.La=[0,0,0,0,0,0];this.fa=[0,0,0,0];this.Oa=this.m=0;this.O=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.hb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Cb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.l=0;this.Ia=70;this.ma=-1;this.vb=0;Nb(this);this.h.complete=this.h.ac=!1}y(Lb,zb);l=Lb.prototype;l.reset=function(){this.h.Z&&Gb(this);Nb(this);Cb(this);this.h.error=!1;this.parent.reset.call(this)}; -function Nb(a){a.ya=255;a.o=0;a.Fb=0;a.C=0;a.xa=0;a.sb=0;a.Ka=0;a.nb=0;a.Na=0;a.ob=[7,7,7,7];a.j=[];a.ha=2;bb(a)}function bb(a){a.nb?(a.Ib=65536,a.ja=a.fc,a.qb=a.ea):(a.Ib=0,a.ja=a.ec,a.qb=a.rb)}l.Rb=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.aa,this.$]);a.set(2,Va(this.B));return a.data()}; +G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ha)for(a=Array(this.size>>2),b=0;b>8,c)},$:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},la:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Da:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.qa=!0},R:function(a,b){return this.X(a,b)},ia:function(a,b){return this.ja(a, +b)},Ba:function(a,b,c){this.g||this.Wb(a,b,c)},Ma:function(a,b,c){this.g||this.Na(a,b,c)},L:function(a){return this.b[a]},Y:function(a){return this.b[a]},aa:function(a){return this.u.getUint16(a,!0)},ka:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.m[a>>1]},Aa:function(a,b){this.b[a]=b;this.qa=!0},Ca:function(a,b){this.b[a]=b;this.qa=!0},Ea:function(a,b){this.u.setUint16(a,b,!0);this.qa=!0},Oa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.m[a>>1]=b;this.qa=!0}}; +function Ka(a,b,c){a.I=b;a.j=a.l=0;c&&((a.j=c.j)&&vb(a,wb,!1),(a.l=c.l)&&xb(a,wb,!1))}function xb(a,b,c){c&&a.l||(a.Va=!a.g&&b[1]||a.G,a.Dc=!a.g&&b[3]||a.J);if(c||void 0===c)a.Wb=b[1]||a.G,a.Na=b[3]||a.J}function vb(a,b,c){c&&a.j||(a.bb=b[0]||a.v,a.pb=b[2]||a.C);if(c||void 0===c)a.X=b[0]||a.v,a.ja=b[2]||a.C}function rb(a,b){b||(b=yb);vb(a,b,void 0);xb(a,b,void 0)}var yb=[],ub=[G.prototype.$,G.prototype.Da,G.prototype.la,G.prototype.Pa],wb=[G.prototype.R,G.prototype.Ba,G.prototype.ia,G.prototype.Ma]; +if(Ha)var tb=[G.prototype.L,G.prototype.Aa,G.prototype.aa,G.prototype.Ea],sb=[G.prototype.Y,G.prototype.Ca,G.prototype.ka,G.prototype.Oa];function zb(a,b){w.call(this,"CPU",a,zb);var c=a.multiplier||1;this.ib=a.cycles||b;this.$=c;this.wb=Math.round(this.ib/1E4)/100;this.ja=this.wb*this.$;this.h.Z=!1;this.h.Ub=!1;this.h.Ya=a.autoStart;this.h.Mb=!1;this.h.kb=!1;this.Pa=this.ka=0;this.hb=a.csStart;this.Ba=a.csInterval;this.Ca=a.csStop;this.G=[];this.Ob=this.wc.bind(this);E(this)}y(zb); +var Ab=["power","reset"];l=zb.prototype;l.Ia=function(a,b,c,d){this.v=a;this.B=b;this.I=d;for(b=0;ba.X/a.ja&&(b=1),a.$=b,b=a.wb*a.$,a.ja!=b)){a.ja=b;b=a.ja.toFixed(2)+"Mhz";var c=a.u.setSpeed;c&&(c.textContent=b);a.K("target speed: "+b)}Ib(a,a.R);a.R=0;a.L=ia();a.Y=0;Jb(a)}function $a(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function ab(a,b){var c;0<=b&&ba.G[b][0]&&(c=a.ib*a.$/1E3*(1E3/60),a.G[b][0]=c)} +l.wc=function(){if(this.h.Z){this.xb>=this.ib&&Jb(this,!0);this.Ea=0;this.Oa=ia();if(this.Y){var a=this.Oa-this.Y;a>this.Jb&&(this.L+=a,this.L>this.Oa&&(this.L=this.Oa))}try{do{for(var b,c=this.h.kb?1:this.jb,d=this.G.length-1;0<=d;d--){var f=this.G[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Vb(b)}catch(m){if("number"!=typeof m)throw m;}for(var e=this.J-this.a,a=e,g=this.G.length-1;0<=g;g--){var h=this.G[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ea+=e;this.R+=e;Ib(this,0,!0);a=e;if(this.h.kb){var k= +!1;this.Pa=this.Pa+this.Pb()|0;this.ka-=a;0>=this.ka&&(this.ka+=this.Ba,k=!0);0<=this.Ca&&this.Ca<=Kb(this)&&(this.Ba=this.Ca=-1,Db(this),Gb(this),k=!0);k&&this.K(Kb(this)+" cycles: checksum="+n(this.Pa))}this.Da-=e;if(0>=this.Da){this.Da+=this.jb;15<=++this.Lb&&(this.v&&this.v.Ua(),this.Lb=0);break}}while(this.h.Z)}catch(m){Gb(this);Eb(this);this.v&&this.v.stop(ia(),Kb(this));b=m.stack||m.message;this.h.error=!0;this.M(b);return}if(this.h.Z){b=setTimeout;c=this.Ob;this.Y=ia();d=this.Jb;this.Ea&& +(d=Math.round(d*this.Ea/this.jb));d-=this.Y-this.Oa;if(f=this.Y-this.L)this.X=Math.round(this.R/(10*f))/100,864E5<=f&&(this.aa=0,Hb(this));if(0>d||this.Xd&&(this.L-=d),d=0;this.xb+=this.Ea;this.Y+=d;b(c,d)}}};function Fb(a){var b;a.h.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.Z)a.K(a.toString()+" busy");else{Hb(a);a.h.Z=!0;a.h.Ub=!0;a.Aa&&a.Aa.start();if(b=a.u.run)b.textContent="Halt";a.v&&a.v.start(a.L,Kb(a));Eb(a,!0);setTimeout(a.Ob,0)}}l.Vb=function(){return 0}; +function Gb(a){if(a.h.Z){a.J-=a.a;a.a=0;Ib(a,a.R);a.R=0;a.h.Z=!1;a.Aa&&a.Aa.stop();var b=a.u.run;b&&(b.textContent="Run");a.v&&a.v.stop(ia(),Kb(a));Eb(a)}a.h.complete=void 0}function Eb(a,b){a.v&&a.v.Ua(b)} +function Lb(a){this.cc=a.resetAddr||0;zb.call(this,a,1E6);this.Fb=0;this.decode=Mb.bind(this);this.g=65536;this.b=32768;this.f=65535;this.j=32768;this.w=15;this.c=[0,0,0,0,0,0,0,this.cc];this.Ka=[0,0,0,0,0,0];this.fa=[0,0,0,0];this.Na=this.m=0;this.O=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.gb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.zb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.i=0;this.Ha=70;this.la=-1;Nb(this);this.h.complete=this.h.Zb=!1}y(Lb,zb);l=Lb.prototype;l.reset=function(){this.h.Z&&Gb(this);Nb(this);Cb(this);this.h.error=!1;this.parent.reset.call(this)}; +function Nb(a){a.xa=255;a.o=0;a.Cb=0;a.C=0;a.wa=0;a.rb=0;a.Ja=0;a.mb=0;a.Ma=0;a.nb=[7,7,7,7];a.l=[];a.i|=2;bb(a)}function bb(a){a.mb?(a.Gb=65536,a.ia=a.ec,a.pb=a.ea):(a.Gb=0,a.ia=a.dc,a.pb=a.qb)}l.Pb=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.aa,this.$]);a.set(2,Va(this.B));return a.data()}; l.restore=function(a){var b=a[1];this.aa=b[1];Hb(this,b[3]);a:{b=this.B;a=a[2];var c;for(c=0;cb){a.j[e].qa-=b;break}b-=a.j[e].qa}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.ha=2} -function Pb(a){if(1==a.ha)a.ha=2;else{a.ha=0;for(var b=null,c=a.Fb&224,d=a.j.length;0<=--d;){if(0c&&(c=a.j[d].jc,b=a.j[d],a.j.splice(d,1))}c>(a.w&224)&&(a.l&=-2,b?K(a,b.Ac):K(a,160))}}function cb(a){return a.w=a.w&63728|a.sa()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)} -function db(a,b){a.i=b<<12;a.f=~b&4;a.b=b<<14;a.g=b<<16;if((b^a.w)&2048)for(var c=a.La.length;0<=--c;){var d=a.c[c];a.c[c]=a.La[c];a.La[c]=d}a.m=b>>14&3;c=a.w>>14&3;a.m!=c&&(a.fa[c]=a.c[6],a.c[6]=a.fa[a.m]);a.ha=2;a.w=b}function P(a,b){a.l&128||(a.i=a.f=b,a.b=0)}function Q(a,b,c){a.l&128||(a.i=a.f=a.g=b,a.b=c||0)}function Qb(a,b,c,d){a.l&128||(a.i=a.f=a.g=b,a.b=(c^b)&(d^b))}function R(a,b){a.l&128||(a.i=a.f=a.g=b,a.b=a.i^a.g>>1)}function Rb(a,b,c,d){a.l&128||(a.i=a.f=a.g=b,a.b=(c^d)&(d^b))} -function K(a,b){var c=!1;0>a.ma?a.ma=cb(a):a.m||(b=4,c=!0);a.C&57344||(a.xa=63222,a.sb=b);a.m=0;var d=a.ea(b|65536),f=a.ea(b+2&65535|65536);db(a,f&-12289|a.ma>>2&12288);c&&(a.o|=4,a.c[6]=4);Sb(a,a.ma);Sb(a,a.c[7]);a.c[7]=d;a.l&=-113;a.ma=-1;throw b;}function Tb(a){var b=Ub(a),c=Ub(a)&-1793;a.w&49152&&(c=c&-225|a.w&63712);a.c[7]=b&65535;db(a,c);a.l&=-17}function kb(a,b){var c=b>>13&31;31>c?a.Ka&32&&(b=a.hb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} -function Vb(a,b,c){var d,f,e,g=0;if(c&a.nb){d=b>>13&a.ob[a.m];f=a.O[a.m][d];e=(a.O[a.m][d+16]<<6)+(b&8191)&4194303;a.Ka&16?3932160<=e&&4186112>e&&(e=kb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.o|=32,K(a,4)),e&1&&!(c&1)&&(a.o|=64,K(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|= -16384));a.O[a.m][d]=f;if(4194170!==e||a.m)a.Na=a.m,a.Oa=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.C&57344||(a.C=a.C|g|a.Na<<5|a.Oa<<1),K(a,168)),a.C&61440||!(4191360>e||4194239>>b.f;a=c!=b.i?b.b[d].qb(c,a):b.b[d++].cb(c,a)|b.b[d&b.L].cb(0,a+1)<<8}return a};l.ea=function(a){return this.rb(Vb(this,a,2))}; -function Ub(a){var b=a.ea(a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Sb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.C&57344||(a.xa=a.xa<<8|246);!a.m&&c<=a.ya&&4>3&7){case 0:K(a,4);break;case 1:return 6===e&&!a.m&&c&4&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32||65534<=a.c[6]?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.l|=64)),7===e?a.c[e]:a.c[e]|g;case 2:f=2;d=a.c[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.c[e];7!==e&&(d|=g);d=a.ea(d);d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.c[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.c[e]-2&65535;7!==e&&(d|=g);d=a.ea(d)|g;break;case 6:return d=Ob(a), -d=d+a.c[e]&65535|g;case 7:return d=Ob(a),d=d+a.c[e]&65535,d=a.ea(d|65536)|g}a.c[e]=a.c[e]+f&65535;!g||a.C&57344||(a.xa=a.xa<<8|f<<3&248|e);6==e&&!a.m&&c&4&&0>=f&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.l|=64));return d}l.ec=function(a,b){return Wb(this,a,b)};l.fc=function(a,b){return Vb(this,Wb(this,a,b),b)}; -function Xb(a,b,c){b&56?(b=Wb(a,b,0),c&65536||61440!==(a.w&61440)&&(b&=65535),a.m=a.w>>12&3,c=a.ea(b|c&65536),a.m=a.w>>14&3):(c=b&7,c=6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]:a.fa[a.w>>12&3]);return c}function Yb(a,b,c,d){a.C&57344||(a.xa=22);b&56?(b=Wb(a,b,0),c&65536||(b&=65535),a.m=a.w>>12&3,b=Vb(a,b|c&65536,4),a.m=a.w>>14&3,Ua(a.B,b,d&65535)):(c=b&7,6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]=d:a.fa[a.w>>12&3]=d)}function S(a,b){return b&56?a.qb(Wb(a,b,2)):a.c[b&7]} -function T(a,b){b&56?(b=a.ja(b,3),a=Ta(a.B,b)):a=a.c[b&7]&255;return a}function U(a,b,c,d){b&56?(b=a.ja(b,6),c=d.call(a,c,a.rb(b)),Ua(a.B,b,c&65535)):(b&=7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.ja(b,7),c=d.call(a,c,Ta(a.B,b)),a=a.B,a.b[(b&a.j)>>>a.f].Wa(b&a.i,c&255,b)):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}function Zb(a,b,c){b&56?(b=a.ja(b,4),Ua(a.B,b,c&65535)):a.c[b&7]=c&65535;return c} -function $b(a,b,c,d){b&56?(d=a.ja(b,5),a=a.B,a.b[(d&a.j)>>>a.f].Wa(d&a.i,c&255,d)):(b&=7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b){a.c[7]=a.c[7]+(b<<24>>23)&65535} -l.Xb=function(a){this.h.complete=!0;this.h.ac=!1;this.h.Wb=!1;this.J=this.a=a;do this.l&&(this.l&112&&(this.l&32?K(this,168):this.l&64?K(this,4):this.l&16&&K(this,12),this.l&=-113),this.l&1&&(Pb(this),this.l&=-2,this.c[7]=this.c[7]-2&65535)),a&&this.ha&&Pb(this),this.C&57344||(this.xa=0,this.sb=this.c[7]),this.l=this.l&1|this.w&16,this.decode(Ob(this));while(0>1|b<<16;R(this,a);return a&65535}function fc(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function gc(a,b){a=b&~a;P(this,a);return a} -function hc(a,b){a=b&~a;P(this,a<<8);return a}function ic(a,b){a|=b;P(this,a);return a}function jc(a,b){a|=b;P(this,a<<8);return a}function kc(a,b){a=~b|65536;Q(this,a);return a&65535}function lc(a,b){a=~b|256;Q(this,a<<8);return a&255}function mc(a,b){a=b-a;this.l&128||(this.i=this.f=a,this.b=b&(b^a));return a&65535}function nc(a,b){a=b-a;var c=a<<8;b<<=8;this.l&128||(this.i=this.f=c,this.b=b&(b^c));return a&255}function oc(a,b){a=b+a;this.l&128||(this.i=this.f=a,this.b=a&(b^a));return a&65535} -function pc(a,b){a=b+a;var c=a<<8;this.l&128||(this.i=this.f=c,this.b=c&(b<<8^c));return a&255}function qc(a,b){a=-b;Q(this,a,a&b&32768);return a&65535}function rc(a,b){a=-b;Q(this,a<<8,(a&b&128)<<8);return a&255}function sc(a,b){a=b<<1|this.g>>16&1;R(this,a);return a&65535}function tc(a,b){a=b<<1|this.g>>16&1;R(this,a<<8);return a&255}function uc(a,b){a=(this.g&65536|b)>>1|b<<16;R(this,a);return a&65535}function vc(a,b){a=((this.g&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255} -function wc(a,b){var c=b-a;Rb(this,c,a,b);return c&65535}function xc(a,b){var c=b-a;Rb(this,c<<8,a<<8,b<<8);return c&255}function yc(a,b){a^=b;P(this,a);return a&65535}function zc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a];c&32768&&(c|=4294901760);this.g=this.b=0;b&=63;b&32?(b=64-b,16>=b):b&&(16>15&65535)&&65535!==b&&(this.b=32768)));this.c[a]=c&65535;this.i=this.f=c;--this.a} -function Ac(a){var b=S(this,a);a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.g=this.b=0;b&=63;if(b&32){b=64-b;32>b-1;this.g=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.c[a|1]=d&65535;this.i=d>>16;this.f=d>>16|d;--this.a}function X(a){a&1&&(this.g=0);a&2&&(this.b=0);a&4&&(this.f=1);a&8&&(this.i=0);--this.a} -function Bc(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.g=this.b=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.c[a]=d&65535,this.c[a|1]=c-d*b&65535,this.f=d>>16|d,this.i=d>>16):(this.b=32768,this.f=d>>15|d,this.i=c>>16,-1===b&&65534===this.c[a]&&(this.c[a]=this.c[a|1]=1))}else this.f=this.i=0,this.b=32768,this.g=65536;--this.a}function Cc(a){var b=Wb(this,a,8);a=a>>6&7;Sb(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=b;--this.a} -function Dc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.l&128||(this.i=b>>16,this.f=this.i|b,this.b=0,this.g=-32768>b||32767>6;if(this.c[b]=this.c[b]-1&65535)this.c[7]=this.c[7]-((a&63)<<1)&65535;--this.a} -function Gc(a){U(this,a,S(this,(a&448)>>6),yc);--this.a}function Z(){K(this,8)}function Mb(a){Hc[a>>12].call(this,a)} -var Hc=[function(a){Ic[a>>8&15].call(this,a)},function(a){P(this,Zb(this,a,S(this,a>>6)));--this.a},function(a){var b=S(this,a>>6);a=S(this,a);Rb(this,b-a,a,b);--this.a},function(a){P(this,S(this,a>>6)&S(this,a));--this.a},function(a){U(this,a,S(this,a>>6),gc);--this.a},function(a){U(this,a,S(this,a>>6),ic);--this.a},function(a){U(this,a,S(this,a>>6),ac);--this.a},function(a){Jc[a>>8&15].call(this,a)},function(a){Kc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);P(this,$b(this,a,b,1)<<8);--this.a}, -function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Rb(this,b-a,a,b);--this.a},function(a){P(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){V(this,a,T(this,a>>6),hc);--this.a},function(a){V(this,a,T(this,a>>6),jc);--this.a},function(a){U(this,a,S(this,a>>6),wc);--this.a},Z],Ic=[function(a){Lc[a>>4&15].call(this,a)},function(a){W(this,a);--this.a},function(a){this.f&65535&&W(this,a);--this.a},function(a){this.f&65535||W(this,a);--this.a},function(a){!this.sa()==!(this.b&32768)&&W(this,a);--this.a}, -function(a){!this.sa()!=!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.sa()==!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.sa()==!(this.b&32768)||W(this,a);--this.a},Cc,Cc,function(a){Mc[a>>6&3].call(this,a)},function(a){Nc[a>>6&3].call(this,a)},function(a){Oc[a>>6&3].call(this,a)},function(a){Pc[a>>6&3].call(this,a)},Z,Z],Mc=[function(a){Q(this,Zb(this,a,0));--this.a},function(a){U(this,a,0,kc);--this.a},function(a){U(this,a,1,oc);--this.a},function(a){U(this, -a,1,mc);--this.a}],Nc=[function(a){U(this,a,0,qc);--this.a},function(a){U(this,a,O(this)?1:0,ac);--this.a},function(a){U(this,a,O(this)?1:0,wc);--this.a},function(a){a=S(this,a);Q(this,a);--this.a}],Oc=[function(a){U(this,a,0,uc);--this.a},function(a){U(this,a,0,sc);--this.a},function(a){U(this,a,0,ec);--this.a},function(a){U(this,a,0,cc);--this.a}],Pc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=this.ea(a|65536);this.c[7]=this.c[5]&65535;this.c[6]=a+2&65535;this.c[5]=b;--this.a},function(a){a= -Xb(this,a,0);Sb(this,a);P(this,a);--this.a},function(a){var b=Ub(this);Yb(this,a,0,b);P(this,b);--this.a},function(a){P(this,Zb(this,a,this.sa?65535:0));--this.a}],Lc=[function(a){Qc[a&15].call(this,a)},Z,Z,Z,Z,Z,Z,Z,function(a){var b=Ub(this);a&=7;this.c[7]=this.c[a];this.c[a]=b;--this.a},function(a){this.w&49152||(this.w=this.w&-2017|(a&7)<<5,this.ha=1);--this.a},function(a){Rc[a&15].call(this,a)},function(a){Sc[a&15].call(this,a)},Z,Z,Z,Z],Rc=[Ec,function(){this.g=0;--this.a},function(){this.b= -0;--this.a},X,function(){this.f=1;--this.a},X,X,X,function(){this.i=0;--this.a},X,X,X,X,X,X,X],Sc=[Ec,function(){this.g=65536;--this.a},function(){this.b=32768;--this.a},Y,function(){this.f=0;--this.a},Y,Y,Y,function(){this.i=32768;--this.a},Y,Y,Y,Y,Y,Y,Y],Qc=[function(){this.w&49152?(this.o|=128,K(this,4)):(this.vb=3,this.J-=this.a,this.a=0);--this.a},function(){this.l|=1;--this.a},function(){Tb(this);this.l|=this.w&16;--this.a},function(){K(this,12);--this.a},function(){K(this,16);--this.a},function(){this.w& -49152||(Nb(this),this.B.reset());--this.a},function(){Tb(this);--this.a},Z,Z,Z,Z,Z,Z,Z,Z,Z],Jc=[Dc,Dc,Bc,Bc,zc,zc,Ac,Ac,Gc,Gc,Z,Z,Z,Z,Fc,Fc],Kc=[function(a){this.sa()||W(this,a);--this.a},function(a){this.sa()&&W(this,a);--this.a},function(a){!O(this)&&this.f&65535&&W(this,a);--this.a},function(a){!O(this)&&this.f&65535||W(this,a);--this.a},function(a){this.b&32768||W(this,a);--this.a},function(a){this.b&32768&&W(this,a);--this.a},function(a){O(this)||W(this,a);--this.a},function(a){O(this)&&W(this, -a);--this.a},function(){K(this,24);--this.a},function(){K(this,28);--this.a},function(a){Tc[a>>6&3].call(this,a)},function(a){Uc[a>>6&3].call(this,a)},function(a){Vc[a>>6&3].call(this,a)},function(a){Wc[a>>6&3].call(this,a)},Z,Z],Tc=[function(a){Q(this,$b(this,a,0));--this.a},function(a){V(this,a,0,lc);--this.a},function(a){V(this,a,1,pc);--this.a},function(a){V(this,a,1,nc);--this.a}],Uc=[function(a){V(this,a,0,rc);--this.a},function(a){V(this,a,O(this)?1:0,bc);--this.a},function(a){V(this,a,O(this)? -1:0,xc);--this.a},function(a){a=T(this,a);Q(this,a<<8);--this.a}],Vc=[function(a){V(this,a,0,vc);--this.a},function(a){V(this,a,0,tc);--this.a},function(a){V(this,a,0,fc);--this.a},function(a){V(this,a,0,dc);--this.a}],Wc=[Z,function(a){a=Xb(this,a,65536);Sb(this,a);P(this,a);--this.a},function(a){var b=Ub(this);Yb(this,a,65536,b);P(this,b);--this.a},Z]; -function Xc(a){w.call(this,"ROM",a,Xc);this.b=null;this.m=a.addr;this.f=a.size;this.v=a.writable;this.g=a.alias;this.i=a.file;this.C=ca(this.i);if(this.i){a=this.i;var b=da(this.C);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){Yc(c,a,b,e)})}}y(Xc);Xc.prototype.Ja=function(a,b,c,d){this.B=b;this.a=c;this.I=d;Zc(this)};Xc.prototype.wa=function(){this.j&&(this.I&&this.I.a(this.id,this.m,this.f,this.j),delete this.j);return!0}; -Xc.prototype.va=function(){return!0}; -function Yc(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Mb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.j=h.symbols;if(!a.b.length){q("Empty ROM: "+b); -return}if(1==a.b.length){q(a.b[0]);return}}catch(k){a.M("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f>>d.f].Yb(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c>>f.f;0>>=f.f;0\nLicense: GPL version 3 or later ");this.K("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;bdd){if(fd(d,this.C)){this.j=new N(this,"1.30.0","failsafe");fd(this.j)&&(kd(this,d),a=2,ld(this.j));this.j.set("timestamp",ja());md(this.j);var f=this.b&&!this.m;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=jd(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?fd(d,g):("error"== -e&&"no machine state"!=g?(this.M("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.K(e+": "+g),ld(d),fd(d)?(c=jd(d),f=!0):c=!1))}f&&id(this,c?d:null)}else 2==a&&d.clear()}else id(this);delete this.C;delete this.G}f=z(this.id);for(e=0;ea[1];a=a[2];this.aa=!0;this.h.N=!0;var d=this.u.power;d&&(d.textContent="Shutdown");this.a&&(nd(this,this.a,b,c,a),this.a.Za());this.R&&(kd(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.g=0}; -function kd(a,b){if(ka("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}} -function od(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=ja();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.va&&(c&&Gb(a.a),d=a.a.va(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.h.N=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;kb){a.l[e].pa-=b;break}b-=a.l[e].pa}a.l.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.i|=2}function cb(a){return a.w=a.w&63728|a.ra()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)} +function db(a,b){a.j=b<<12;a.f=~b&4;a.b=b<<14;a.g=b<<16;if((b^a.w)&2048)for(var c=a.Ka.length;0<=--c;){var d=a.c[c];a.c[c]=a.Ka[c];a.Ka[c]=d}a.m=b>>14&3;c=a.w>>14&3;a.m!=c&&(a.fa[c]=a.c[6],a.c[6]=a.fa[a.m]);a.i|=2;a.w=b}function P(a,b){a.i&128||(a.j=a.f=b,a.b=0)}function Q(a,b,c){a.i&128||(a.j=a.f=a.g=b,a.b=c||0)}function Pb(a,b,c,d){a.i&128||(a.j=a.f=a.g=b,a.b=(c^b)&(d^b))}function R(a,b){a.i&128||(a.j=a.f=a.g=b,a.b=a.j^a.g>>1)}function Qb(a,b,c,d){a.i&128||(a.j=a.f=a.g=b,a.b=(c^d)&(d^b))} +function K(a,b){var c=!1;0>a.la?a.la=cb(a):a.m||(b=4,c=!0);a.C&57344||(a.wa=63222,a.rb=b);a.m=0;var d=a.ea(b|65536),f=a.ea(b+2&65535|65536);db(a,f&-12289|a.la>>2&12288);c&&(a.o|=4,a.c[6]=4);Rb(a,a.la);Rb(a,a.c[7]);a.c[7]=d&65535;a.i&=-113;a.la=-1;throw b;}function Sb(a){var b=Tb(a),c=Tb(a)&-1793;a.w&49152&&(c=c&-225|a.w&63712);a.c[7]=b&65535;db(a,c);a.i&=-17} +function kb(a,b){var c=b>>13&31;31>c?a.Ja&32&&(b=a.gb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} +function Ub(a,b,c){var d,f,e,g=0;if(c&a.mb){d=b>>13&a.nb[a.m];f=a.O[a.m][d];e=(a.O[a.m][d+16]<<6)+(b&8191)&4194303;a.Ja&16?3932160<=e&&4186112>e&&(e=kb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.o|=32,K(a,4)),e&1&&!(c&1)&&(a.o|=64,K(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|= +16384));a.O[a.m][d]=f;if(4194170!==e||a.m)a.Ma=a.m,a.Na=d;g&&(g&57344&&(0<=a.la&&(g|=128),a.C&57344||(a.C=a.C|g|a.Ma<<5|a.Na<<1),K(a,168)),a.C&61440||!(4191360>e||4194239>>b.f;a=c!=b.j?b.b[d].pb(c,a):b.b[d++].bb(c,a)|b.b[d&b.L].bb(0,a+1)<<8}return a};l.ea=function(a){return this.qb(Ub(this,a,2))}; +function Tb(a){var b=a.ea(a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Rb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.C&57344||(a.wa=a.wa<<8|246);!a.m&&c<=a.xa&&4>3&7){case 0:K(a,4);break;case 1:return 6===e&&!a.m&&c&4&&(a.c[6]<=a.xa||65534<=a.c[6])&&(a.c[6]<=a.xa-32||65534<=a.c[6]?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.i|=64)),7===e?a.c[e]:a.c[e]|g;case 2:f=2;d=a.c[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.c[e];7!==e&&(d|=g);d=a.ea(d);d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.c[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.c[e]-2&65535;7!==e&&(d|=g);d=a.ea(d)|g;break;case 6:return d=Ob(a), +d=d+a.c[e]&65535|g;case 7:return d=Ob(a),d=d+a.c[e]&65535,d=a.ea(d|65536)|g}a.c[e]=a.c[e]+f&65535;!g||a.C&57344||(a.wa=a.wa<<8|f<<3&248|e);6==e&&!a.m&&c&4&&0>=f&&(a.c[6]<=a.xa||65534<=a.c[6])&&(a.c[6]<=a.xa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.i|=64));return d}l.dc=function(a,b){return Vb(this,a,b)};l.ec=function(a,b){return Ub(this,Vb(this,a,b),b)}; +function Wb(a,b,c){b&56?(b=Vb(a,b,0),c&65536||61440!==(a.w&61440)&&(b&=65535),a.m=a.w>>12&3,c=a.ea(b|c&65536),a.m=a.w>>14&3):(c=b&7,c=6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]:a.fa[a.w>>12&3]);return c}function Xb(a,b,c,d){a.C&57344||(a.wa=22);b&56?(b=Vb(a,b,0),c&65536||(b&=65535),a.m=a.w>>12&3,b=Ub(a,b|c&65536,4),a.m=a.w>>14&3,Ua(a.B,b,d&65535)):(c=b&7,6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]=d:a.fa[a.w>>12&3]=d)}function S(a,b){return b&56?a.pb(Vb(a,b,2)):a.c[b&7]} +function T(a,b){b&56?(b=a.ia(b,3),a=Ta(a.B,b)):a=a.c[b&7]&255;return a}function U(a,b,c,d){b&56?(b=a.ia(b,6),c=d.call(a,c,a.qb(b)),Ua(a.B,b,c&65535)):(b&=7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.ia(b,7),c=d.call(a,c,Ta(a.B,b)),a=a.B,a.b[(b&a.l)>>>a.f].Va(b&a.j,c&255,b)):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}function Yb(a,b,c){b&56?(b=a.ia(b,4),Ua(a.B,b,c&65535)):a.c[b&7]=c&65535;return c} +function Zb(a,b,c,d){b&56?(d=a.ia(b,5),a=a.B,a.b[(d&a.l)>>>a.f].Va(d&a.j,c&255,d)):(b&=7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b){a.c[7]=a.c[7]+(b<<24>>23)&65535} +l.Vb=function(a){this.h.complete=!0;this.h.Zb=!1;this.h.Ub=!1;this.J=this.a=a;do{if(this.i&&(this.i&112&&(this.i&32?K(this,168):this.i&64?K(this,4):this.i&16&&K(this,12),this.i&=-113),this.i&7))if(this.i&2){this.i&=-3;a=null;for(var b=this.Cb&224,c=this.l.length;0<=--c;){if(0b&&(b=this.l[c].hc,a=this.l[c],this.l.splice(c,1))}b>(this.w&224)&&(this.i&4&&(this.c[7]= +this.c[7]+2&65535,this.i&=-5),a?K(this,a.yc):K(this,160))}else this.i&1&&this.i++;this.C&57344||(this.wa=0,this.rb=this.c[7]);this.i=this.i&7|this.w&16;this.decode(Ob(this))}while(0>1|b<<16;R(this,a);return a&65535}function ec(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function fc(a,b){a=b&~a;P(this,a);return a}function gc(a,b){a=b&~a;P(this,a<<8);return a}function hc(a,b){a|=b;P(this,a);return a}function ic(a,b){a|=b;P(this,a<<8);return a}function jc(a,b){a=~b|65536;Q(this,a);return a&65535} +function kc(a,b){a=~b|256;Q(this,a<<8);return a&255}function lc(a,b){a=b-a;this.i&128||(this.j=this.f=a,this.b=b&(b^a));return a&65535}function mc(a,b){a=b-a;var c=a<<8;b<<=8;this.i&128||(this.j=this.f=c,this.b=b&(b^c));return a&255}function nc(a,b){a=b+a;this.i&128||(this.j=this.f=a,this.b=a&(b^a));return a&65535}function oc(a,b){a=b+a;var c=a<<8;this.i&128||(this.j=this.f=c,this.b=c&(b<<8^c));return a&255}function pc(a,b){a=-b;Q(this,a,a&b&32768);return a&65535} +function qc(a,b){a=-b;Q(this,a<<8,(a&b&128)<<8);return a&255}function rc(a,b){a=b<<1|this.g>>16&1;R(this,a);return a&65535}function sc(a,b){a=b<<1|this.g>>16&1;R(this,a<<8);return a&255}function tc(a,b){a=(this.g&65536|b)>>1|b<<16;R(this,a);return a&65535}function uc(a,b){a=((this.g&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function vc(a,b){var c=b-a;Qb(this,c,a,b);return c&65535}function wc(a,b){var c=b-a;Qb(this,c<<8,a<<8,b<<8);return c&255}function xc(a,b){a^=b;P(this,a);return a&65535} +function yc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a];c&32768&&(c|=4294901760);this.g=this.b=0;b&=63;b&32?(b=64-b,16>=b):b&&(16>15&65535)&&65535!==b&&(this.b=32768)));this.c[a]=c&65535;this.j=this.f=c;--this.a} +function zc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.g=this.b=0;b&=63;if(b&32){b=64-b;32>b-1;this.g=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.c[a|1]=d&65535;this.j=d>>16;this.f=d>>16|d;--this.a}function X(a){a&1&&(this.g=0);a&2&&(this.b=0);a&4&&(this.f=1);a&8&&(this.j=0);--this.a} +function Ac(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.g=this.b=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.c[a]=d&65535,this.c[a|1]=c-d*b&65535,this.f=d>>16|d,this.j=d>>16):(this.b=32768,this.f=d>>15|d,this.j=c>>16,-1===b&&65534===this.c[a]&&(this.c[a]=this.c[a|1]=1))}else this.f=this.j=0,this.b=32768,this.g=65536;--this.a}function Bc(a){var b=Vb(this,a,8);a=a>>6&7;Rb(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=b;--this.a} +function Cc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.i&128||(this.j=b>>16,this.f=this.j|b,this.b=0,this.g=-32768>b||32767>6;if(this.c[b]=this.c[b]-1&65535)this.c[7]=this.c[7]-((a&63)<<1)&65535;--this.a} +function Fc(a){U(this,a,S(this,(a&448)>>6),xc);--this.a}function Z(){K(this,8)}function Mb(a){Gc[a>>12].call(this,a)} +var Gc=[function(a){Hc[a>>8&15].call(this,a)},function(a){P(this,Yb(this,a,S(this,a>>6)));--this.a},function(a){var b=S(this,a>>6);a=S(this,a);Qb(this,b-a,a,b);--this.a},function(a){P(this,S(this,a>>6)&S(this,a));--this.a},function(a){U(this,a,S(this,a>>6),fc);--this.a},function(a){U(this,a,S(this,a>>6),hc);--this.a},function(a){U(this,a,S(this,a>>6),$b);--this.a},function(a){Ic[a>>8&15].call(this,a)},function(a){Jc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);P(this,Zb(this,a,b,1)<<8);--this.a}, +function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Qb(this,b-a,a,b);--this.a},function(a){P(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){V(this,a,T(this,a>>6),gc);--this.a},function(a){V(this,a,T(this,a>>6),ic);--this.a},function(a){U(this,a,S(this,a>>6),vc);--this.a},Z],Hc=[function(a){Kc[a>>4&15].call(this,a)},function(a){W(this,a);--this.a},function(a){this.f&65535&&W(this,a);--this.a},function(a){this.f&65535||W(this,a);--this.a},function(a){!this.ra()==!(this.b&32768)&&W(this,a);--this.a}, +function(a){!this.ra()!=!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.ra()==!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.ra()==!(this.b&32768)||W(this,a);--this.a},Bc,Bc,function(a){Lc[a>>6&3].call(this,a)},function(a){Mc[a>>6&3].call(this,a)},function(a){Nc[a>>6&3].call(this,a)},function(a){Oc[a>>6&3].call(this,a)},Z,Z],Lc=[function(a){Q(this,Yb(this,a,0));--this.a},function(a){U(this,a,0,jc);--this.a},function(a){U(this,a,1,nc);--this.a},function(a){U(this, +a,1,lc);--this.a}],Mc=[function(a){U(this,a,0,pc);--this.a},function(a){U(this,a,O(this)?1:0,$b);--this.a},function(a){U(this,a,O(this)?1:0,vc);--this.a},function(a){a=S(this,a);Q(this,a);--this.a}],Nc=[function(a){U(this,a,0,tc);--this.a},function(a){U(this,a,0,rc);--this.a},function(a){U(this,a,0,dc);--this.a},function(a){U(this,a,0,bc);--this.a}],Oc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=this.ea(a|65536);this.c[7]=this.c[5]&65535;this.c[6]=a+2&65535;this.c[5]=b;--this.a},function(a){a= +Wb(this,a,0);Rb(this,a);P(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,0,b);P(this,b);--this.a},function(a){P(this,Yb(this,a,this.ra?65535:0));--this.a}],Kc=[function(a){Pc[a&15].call(this,a)},Z,Z,Z,Z,Z,Z,Z,function(a){var b=Tb(this);a&=7;this.c[7]=this.c[a];this.c[a]=b;--this.a},function(a){this.w&49152||(this.w=this.w&-2017|(a&7)<<5,this.i|=1);--this.a},function(a){Qc[a&15].call(this,a)},function(a){Rc[a&15].call(this,a)},Z,Z,Z,Z],Qc=[Dc,function(){this.g=0;--this.a},function(){this.b= +0;--this.a},X,function(){this.f=1;--this.a},X,X,X,function(){this.j=0;--this.a},X,X,X,X,X,X,X],Rc=[Dc,function(){this.g=65536;--this.a},function(){this.b=32768;--this.a},Y,function(){this.f=0;--this.a},Y,Y,Y,function(){this.j=32768;--this.a},Y,Y,Y,Y,Y,Y,Y],Pc=[function(){this.w&49152?(this.o|=128,K(this,4)):(this.J-=this.a,this.a=0);--this.a},function(){this.i|=4;this.c[7]=this.c[7]+-2&65535;--this.a},function(){Sb(this);this.i|=this.w&16;--this.a},function(){K(this,12);--this.a},function(){K(this, +16);--this.a},function(){this.w&49152||(Nb(this),this.B.reset());--this.a},function(){Sb(this);--this.a},Z,Z,Z,Z,Z,Z,Z,Z,Z],Ic=[Cc,Cc,Ac,Ac,yc,yc,zc,zc,Fc,Fc,Z,Z,Z,Z,Ec,Ec],Jc=[function(a){this.ra()||W(this,a);--this.a},function(a){this.ra()&&W(this,a);--this.a},function(a){!O(this)&&this.f&65535&&W(this,a);--this.a},function(a){!O(this)&&this.f&65535||W(this,a);--this.a},function(a){this.b&32768||W(this,a);--this.a},function(a){this.b&32768&&W(this,a);--this.a},function(a){O(this)||W(this,a);--this.a}, +function(a){O(this)&&W(this,a);--this.a},function(){K(this,24);--this.a},function(){K(this,28);--this.a},function(a){Sc[a>>6&3].call(this,a)},function(a){Tc[a>>6&3].call(this,a)},function(a){Uc[a>>6&3].call(this,a)},function(a){Vc[a>>6&3].call(this,a)},Z,Z],Sc=[function(a){Q(this,Zb(this,a,0));--this.a},function(a){V(this,a,0,kc);--this.a},function(a){V(this,a,1,oc);--this.a},function(a){V(this,a,1,mc);--this.a}],Tc=[function(a){V(this,a,0,qc);--this.a},function(a){V(this,a,O(this)?1:0,ac);--this.a}, +function(a){V(this,a,O(this)?1:0,wc);--this.a},function(a){a=T(this,a);Q(this,a<<8);--this.a}],Uc=[function(a){V(this,a,0,uc);--this.a},function(a){V(this,a,0,sc);--this.a},function(a){V(this,a,0,ec);--this.a},function(a){V(this,a,0,cc);--this.a}],Vc=[Z,function(a){a=Wb(this,a,65536);Rb(this,a);P(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,65536,b);P(this,b);--this.a},Z]; +function Wc(a){w.call(this,"ROM",a,Wc);this.b=null;this.m=a.addr;this.f=a.size;this.v=a.writable;this.g=a.alias;this.j=a.file;this.C=ca(this.j);if(this.j){a=this.j;var b=da(this.C);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){Xc(c,a,b,e)})}}y(Wc);Wc.prototype.Ia=function(a,b,c,d){this.B=b;this.a=c;this.I=d;Yc(this)};Wc.prototype.va=function(){this.l&&(this.I&&this.I.a(this.id,this.m,this.f,this.l),delete this.l);return!0}; +Wc.prototype.ua=function(){return!0}; +function Xc(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Ib,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.l=h.symbols;if(!a.b.length){q("Empty ROM: "+b); +return}if(1==a.b.length){q(a.b[0]);return}}catch(k){a.M("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f>>d.f].Wb(f&d.j,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c>>f.f;0>>=f.f;0\nLicense: GPL version 3 or later ");this.K("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;bcd){if(ed(d,this.C)){this.l=new N(this,"1.30.0","failsafe");ed(this.l)&&(jd(this,d),a=2,kd(this.l));this.l.set("timestamp",ja());ld(this.l);var f=this.b&&!this.m;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=id(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?ed(d,g):("error"== +e&&"no machine state"!=g?(this.M("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.K(e+": "+g),kd(d),ed(d)?(c=id(d),f=!0):c=!1))}f&&hd(this,c?d:null)}else 2==a&&d.clear()}else hd(this);delete this.C;delete this.G}f=z(this.id);for(e=0;ea[1];a=a[2];this.aa=!0;this.h.N=!0;var d=this.u.power;d&&(d.textContent="Shutdown");this.a&&(md(this,this.a,b,c,a),this.a.Ya());this.R&&(jd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.g=0}; +function jd(a,b){if(ka("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}} +function nd(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=ja();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ua&&(c&&Gb(a.a),d=a.a.ua(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.h.N=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;ke.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDP11js$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){e=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,r=/( [a-z]+=)(['"])(.*?)\2/g;m=r.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);vd(a,b,c)}})}else c(a,null)} -function wd(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--sd||va(!0));k=!1}var g,h,k=!0;sd++;Da[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));r.appendChild(v)}c|| -(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?td(c,null,null,!1,f,function(d,k){k?(Ea(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--sd||va(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--sd||va(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?td(b,a,d,!0,f,m):ud(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(D){e(D.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return wd(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})(); +l.da=function(a,b,c){var d=this;switch(b){case "power":return this.u[b]=c,c.onclick=function(){d.g||(d.h.N?nd(d,!1,!0):gd(d,d.ab))},!0;case "reset":return this.u[b]=c,c.onclick=function(){if(d.h.N&&!d.g)if(d.b&&!d.v){var a=ka("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");nd(d,a,!0);!a&&d.L?window&&window.location.reload():d.ab(cd)}else d.reset(),d.a&&d.a.Ya()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.u[b]= +c,c.onclick=function(){var a=dd(d,!0);if(a){var b=!!(d.b&&!d.v||d.L),c=nd(d,b);b?od(d,a,c):d.M("Resume disabled, machine state not saved")}},!0}return!1}; +function dd(a,b){var c=a.f;c||((c=na("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=pd(a,c))||a.M("The user ID is invalid.")):b&&a.M("Browser local storage is not available"));return c} +function pd(a,b){a.f=null;b=p(fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(oa("user",b.data),a.f=b.data)}catch(d){q(d.message+" ("+c+")")}return a.f}function fd(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+qd(a,"1.30.0"));return b} +function od(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=qd(a,"1.30.0");d.data=c;b=p(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDP11js$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){e=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,r=/( [a-z]+=)(['"])(.*?)\2/g;m=r.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);ud(a,b,c)}})}else c(a,null)} +function vd(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--rd||va(!0));k=!1}var g,h,k=!0;rd++;Da[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));r.appendChild(v)}c|| +(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?sd(c,null,null,!1,f,function(d,k){k?(Ea(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--rd||va(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--rd||va(!0)):e("invalid machine element: "+ +a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?sd(b,a,d,!0,f,m):td(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(D){e(D.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return vd(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})();