From c858fd0699bee36bd5c89f2b226d25851c20f784 Mon Sep 17 00:00:00 2001 From: Jeff Date: Wed, 28 Sep 2016 15:35:22 -0700 Subject: [PATCH] Codify reasons for assorted traps --- modules/pdp11/lib/bus.js | 15 +- modules/pdp11/lib/cpuops.js | 50 +++--- modules/pdp11/lib/cpustate.js | 88 ++++++----- modules/pdp11/lib/defines.js | 29 +++- modules/pdp11/lib/device.js | 59 +++++--- versions/pdp11/1.30.0/pdp11-dbg.js | 236 ++++++++++++++--------------- versions/pdp11/1.30.0/pdp11.js | 193 +++++++++++------------ 7 files changed, 375 insertions(+), 295 deletions(-) diff --git a/modules/pdp11/lib/bus.js b/modules/pdp11/lib/bus.js index 4b80a86ba..78adf107e 100644 --- a/modules/pdp11/lib/bus.js +++ b/modules/pdp11/lib/bus.js @@ -219,10 +219,18 @@ BusPDP11.IOController = { var bus = this.controller; var afn = bus.aIOHandlers[off]; if (afn) { + /* + * If a writeByte() handler exists, call it; we're done + */ if (afn[1]) { afn[1](b, addr); return; - } else if (afn[3]) { + } + /* + * If a writeWord() handler exists, call the readWord() handler first to get the original data, + * then call writeWord() with the new data pre-inserted into the original data. + */ + if (afn[3]) { w = afn[2]? afn[2](addr) : 0; if (!(addr & 0x1)) { afn[3]((w & ~0xff) | b, addr) @@ -232,6 +240,11 @@ BusPDP11.IOController = { return; } } else if (addr & 0x1) { + /* + * If no handler existed, and this address was odd, then perhaps a handler exists for the even address; + * if so, call the readWord() handler first to get the original data, then call writeWord() with the new + * data pre-inserted into (the high byte of) the original data. + */ afn = bus.aIOHandlers[off & ~0x1]; if (afn[3]) { addr &= ~0x1; diff --git a/modules/pdp11/lib/cpuops.js b/modules/pdp11/lib/cpuops.js index a5eccf02c..597f0cc88 100644 --- a/modules/pdp11/lib/cpuops.js +++ b/modules/pdp11/lib/cpuops.js @@ -37,6 +37,22 @@ if (NODE) { var PDP11 = require("./defines"); } +/* + * Decoding starts at the bottom of this file, in op1170(). The basic decoding approach is to + * dispatch on the top 4 bits of the opcode, and if further decoding is required, then dispatch on + * the next 4 bits, and so on (although some of the intermediate levels dispatch only on 2 bits). + * + * Eventually, every opcode should end up either in an opXXX() function or opUndefined(). For + * opcodes that perform a simple read and/or write operation, the entire functionality is handled + * by the opXXX() function. For opcodes that perform a more extensive read/modify/write operation + * (also known as an update operation), those opXXX() functions usually rely on a corresponding + * fnXXX() helper function. + * + * For example, opADD() passes the helper function fnADD() to the appropriate update method. This + * allows the update method to perform the entire read/modify/write operation, because the modification + * is handled by the helper function. + */ + /** * fnADD(src, dst) * @@ -803,7 +819,7 @@ PDP11.opBPL = function(opCode) */ PDP11.opBPT = function(opCode) { - this.trap(PDP11.TRAP.BREAKPOINT, 6); + this.trap(PDP11.TRAP.BREAKPOINT, PDP11.REASON.BPT); this.nStepCycles -= 1; }; @@ -1061,7 +1077,7 @@ PDP11.opDIV = function(opCode) */ PDP11.opEMT = function(opCode) { - this.trap(PDP11.TRAP.EMULATOR, 2); + this.trap(PDP11.TRAP.EMULATOR, PDP11.REASON.EMT); this.nStepCycles -= 1; }; @@ -1075,7 +1091,7 @@ PDP11.opHALT = function(opCode) { if (this.regPSW & PDP11.PSW.CMODE) { this.regErr |= PDP11.CPUERR.BADHALT; - this.trap(PDP11.TRAP.BUS_ERROR, 46); + this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.HALT); } else { this.runState = 3; this.endBurst(); @@ -1115,7 +1131,7 @@ PDP11.opINCB = function(opCode) */ PDP11.opIOT = function(opCode) { - this.trap(PDP11.TRAP.IOT, 8); + this.trap(PDP11.TRAP.IOT, PDP11.REASON.IOT); this.nStepCycles -= 1; }; @@ -1548,7 +1564,7 @@ PDP11.opSXT = function(opCode) */ PDP11.opTRAP = function(opCode) { - this.trap(PDP11.TRAP.TRAP, 4); + this.trap(PDP11.TRAP.TRAP, PDP11.REASON.TRAP); this.nStepCycles -= 1; }; @@ -1612,18 +1628,7 @@ PDP11.opXOR = function(opCode) */ PDP11.opUndefined = function(opCode) { - this.trap(PDP11.TRAP.RESERVED, 48); -}; - -/** - * op1170(opCode) - * - * @this {CPUStatePDP11} - * @param {number} opCode - */ -PDP11.op1170 = function(opCode) -{ - PDP11.aOpsXnnn_1170[opCode >> 12].call(this, opCode); + this.trap(PDP11.TRAP.RESERVED, PDP11.REASON.RESERVED); }; /** @@ -1802,6 +1807,17 @@ PDP11.op8DXn_1170 = function(opCode) PDP11.aOps8DXn_1170[(opCode >> 6) & 0x3].call(this, opCode); }; +/** + * op1170(opCode) + * + * @this {CPUStatePDP11} + * @param {number} opCode + */ +PDP11.op1170 = function(opCode) +{ + PDP11.aOpsXnnn_1170[opCode >> 12].call(this, opCode); +}; + PDP11.aOpsXnnn_1170 = [ PDP11.op0Xnn_1170, // 0x0nnn PDP11.opMOV, // 0x1nnn 01SSDD diff --git a/modules/pdp11/lib/cpustate.js b/modules/pdp11/lib/cpustate.js index 01d9b3d6c..50dc284fd 100644 --- a/modules/pdp11/lib/cpustate.js +++ b/modules/pdp11/lib/cpustate.js @@ -184,10 +184,10 @@ CPUStatePDP11.prototype.resetRegs = function() this.regSL = 0xff; // 177774 this.regErr = 0; // 177766 this.regPIR = 0; // 177772 - this.MMR0 = 0; // 177572 - this.MMR1 = 0; // 177574 - this.MMR2 = 0; // 177576 - this.MMR3 = 0; // 172516 + this.regMMR0 = 0; // 177572 + this.regMMR1 = 0; // 177574 + this.regMMR2 = 0; // 177576 + this.regMMR3 = 0; // 172516 this.mmuEnable = 0; // MMU enabled for PDP11.ACCESS.READ or PDP11.ACCESS.WRITE this.mmuLastMode = 0; this.mmuMask = [ // mask to control I&D access for each mode @@ -230,7 +230,7 @@ CPUStatePDP11.prototype.initMemoryAccess = function() */ CPUStatePDP11.prototype.getMMR0 = function() { - return (this.MMR0 & 0xf381) | (this.mmuLastMode << 5) | (this.mmuLastPage << 1); + return (this.regMMR0 & 0xf381) | (this.mmuLastMode << 5) | (this.mmuLastPage << 1); }; /** @@ -242,7 +242,7 @@ CPUStatePDP11.prototype.getMMR0 = function() */ CPUStatePDP11.prototype.setMMR0 = function(newMMR0) { - this.MMR0 = newMMR0 &= 0xf381; + this.regMMR0 = newMMR0 &= 0xf381; this.mmuLastMode = (newMMR0 >> 5) & 3; this.mmuLastPage = (newMMR0 >> 1) & 0xf; if (newMMR0 & 0x101) { @@ -255,7 +255,7 @@ CPUStatePDP11.prototype.setMMR0 = function(newMMR0) this.mmuEnable = 0; } this.initMemoryAccess(); - return this.MMR0; + return this.regMMR0; }; /** @@ -655,9 +655,9 @@ CPUStatePDP11.prototype.checkInterruptQueue = function() } if (savePSW > (this.regPSW & 0xe0)) { if (!interruptEvent) { - this.trap(PDP11.TRAP.PIRQ, 42); + this.trap(PDP11.TRAP.PIRQ, PDP11.REASON.INTERRUPT); } else { - this.trap(interruptEvent.vector, 44); + this.trap(interruptEvent.vector, PDP11.REASON.INTERRUPT); } } } @@ -882,9 +882,9 @@ CPUStatePDP11.prototype.trap = function(vector, reason) doubleTrap = true; } - if (!(this.MMR0 & 0xe000)) { - this.MMR1 = 0xf6f6; - this.MMR2 = vector; + if (!(this.regMMR0 & 0xe000)) { + this.regMMR1 = 0xf6f6; + this.regMMR2 = vector; } /* @@ -897,7 +897,7 @@ CPUStatePDP11.prototype.trap = function(vector, reason) /* * Set new PSW with previous mode */ - this.setPSW((newPSW & 0xcfff) | ((this.trapPSW >> 2) & 0x3000)); + this.setPSW((newPSW & ~PDP11.PSW.PMODE) | ((this.trapPSW >> 2) & PDP11.PSW.PMODE)); if (doubleTrap) { this.regErr |= PDP11.CPUERR.RED; @@ -911,7 +911,11 @@ CPUStatePDP11.prototype.trap = function(vector, reason) 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 - if (DEBUG && this.dbg) this.dbg.println("trap to vector " + this.dbg.toBase(vector) + (reason? " (reason " + reason + ")" : "")); + if (DEBUG && this.dbg) { + if (reason != PDP11.REASON.INTERRUPT) { + this.dbg.println("trap to vector " + this.dbg.toBase(vector, 0, true) + (reason? " (reason " + reason + ")" : "")); + } + } throw vector; }; @@ -954,7 +958,7 @@ CPUStatePDP11.prototype.mapUnibus = function(unibusAddress) { var idx = (unibusAddress >> 13) & 0x1f; if (idx < 31) { - if (this.MMR3 & PDP11.MMR3.UNIBUS_MAP) { + if (this.regMMR3 & PDP11.MMR3.UNIBUS_MAP) { unibusAddress = (this.unibusMap[idx] + (unibusAddress & 0x1ffe)) & 0x3ffffe; if (unibusAddress >= BusPDP11.IOPAGE_UNIBUS && unibusAddress < BusPDP11.IOPAGE_22BIT) this.panic(898); } @@ -1026,7 +1030,7 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(virtualAddress, accessFl } else { // no max_memory check in 16 bit mode if ((physicalAddress & 1) && !(accessFlags & PDP11.ACCESS.BYTE)) { this.regErr |= PDP11.CPUERR.ODDADDR; - this.trap(PDP11.TRAP.BUS_ERROR, 22); + this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.ODDMEMADDR); } } } else { @@ -1034,7 +1038,7 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(virtualAddress, accessFl page = (virtualAddress >> 13) & this.mmuMask[this.mmuMode]; pdr = this.mmuMap[this.mmuMode][page]; physicalAddress = ((this.mmuMap[this.mmuMode][page + 16] << 6) + (virtualAddress & 0x1fff)) & 0x3fffff; - if (this.MMR3 & 0x10) { // if 22 bit MM mode + if (this.regMMR3 & 0x10) { // if 22 bit MM mode if (physicalAddress >= BusPDP11.IOPAGE_UNIBUS && physicalAddress < BusPDP11.IOPAGE_22BIT) { physicalAddress = this.mapUnibus(physicalAddress & 0x3ffff); // 18bit unibus space } @@ -1045,11 +1049,11 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(virtualAddress, accessFl if (physicalAddress < BusPDP11.IOPAGE_UNIBUS) { if (physicalAddress >= BusPDP11.MAX_MEMORY) { this.regErr |= PDP11.CPUERR.NOMEMORY; - this.trap(PDP11.TRAP.BUS_ERROR, 24); // KB11-EM does this after ABORT handling - KB11-CM before + this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.NOMEMORY); // KB11-EM does this after ABORT handling - KB11-CM before } if ((physicalAddress & 1) && !(accessFlags & PDP11.ACCESS.BYTE)) { this.regErr |= PDP11.CPUERR.ODDADDR; - this.trap(PDP11.TRAP.BUS_ERROR, 26); + this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.ODDMMUADDR); } } switch (pdr & 0x7) { @@ -1100,16 +1104,16 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(virtualAddress, accessFl if (errorMask) { if (errorMask & 0xe000) { if (this.trapPSW >= 0) errorMask |= 0x80; // Instruction complete - if (!(this.MMR0 & 0xe000)) { - this.MMR0 |= errorMask | (this.mmuLastMode << 5) | (this.mmuLastPage << 1); + if (!(this.regMMR0 & 0xe000)) { + this.regMMR0 |= errorMask | (this.mmuLastMode << 5) | (this.mmuLastPage << 1); } - this.trap(PDP11.TRAP.MMU_FAULT, 28); + this.trap(PDP11.TRAP.MMU_FAULT, PDP11.REASON.MAPERROR); } - if (!(this.MMR0 & 0xf000)) { + if (!(this.regMMR0 & 0xf000)) { //if (physicalAddress < 017772200 || physicalAddress > 017777677) { if (physicalAddress < 0x3ff480 || physicalAddress > 0x3fffbf) { - this.MMR0 |= 0x1000; // MMU trap flag - if (this.MMR0 & 0x0200) { + this.regMMR0 |= 0x1000; // MMU trap flag + if (this.regMMR0 & 0x0200) { this.opFlags |= PDP11.OPFLAG.TRAP_MMU; } } @@ -1214,15 +1218,15 @@ CPUStatePDP11.prototype.pushWord = function(data) this.regsGen[6] = virtualAddress; // BSD needs SP updated before any fault :-( - if (!(this.MMR0 & 0xe000)) { - this.MMR1 = (this.MMR1 << 8) | 0xf6; + if (!(this.regMMR0 & 0xe000)) { + this.regMMR1 = (this.regMMR1 << 8) | 0xf6; } if ((!this.mmuMode) && virtualAddress <= this.regSL && virtualAddress > 4) { if (virtualAddress <= this.regSL - 32) { this.regErr |= PDP11.CPUERR.RED; this.regsGen[6] = 4; - this.trap(PDP11.TRAP.BUS_ERROR, 32); + this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.PUSHERROR); } else { this.regErr |= PDP11.CPUERR.YELLOW; this.opFlags |= 4; @@ -1274,7 +1278,7 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags) * Mode 0: Registers don't have a virtual address so trap */ case 0: - this.trap(PDP11.TRAP.BUS_ERROR, 34); + this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.NOREGADDR); break; /* @@ -1286,7 +1290,7 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags) if (this.regsGen[6] <= this.regSL - 32 || this.regsGen[6] >= 0xfffe) { this.regErr |= PDP11.CPUERR.RED; this.regsGen[6] = 4; - this.trap(PDP11.TRAP.BUS_ERROR, 36); + this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.STACKMODE1); } else { this.regErr |= PDP11.CPUERR.YELLOW; this.opFlags |= PDP11.OPFLAG.TRAP_SP; @@ -1383,15 +1387,15 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags) this.regsGen[reg] = (this.regsGen[reg] + stepSize) & 0xffff; - if (addrDSpace && !(this.MMR0 & 0xe000)) { - this.MMR1 = (this.MMR1 << 8) | ((stepSize << 3) & 0xf8) | reg; + if (addrDSpace && !(this.regMMR0 & 0xe000)) { + this.regMMR1 = (this.regMMR1 << 8) | ((stepSize << 3) & 0xf8) | reg; } - if (reg === 6 && (!this.mmuMode) && (accessFlags & PDP11.ACCESS.WRITE) && stepSize <= 0 && (this.regsGen[6] <= this.regSL || this.regsGen[6] >= 0xfffe)) { + if (reg == 6 && (!this.mmuMode) && (accessFlags & PDP11.ACCESS.WRITE) && stepSize <= 0 && (this.regsGen[6] <= this.regSL || this.regsGen[6] >= 0xfffe)) { if (this.regsGen[6] <= this.regSL - 32) { this.regErr |= PDP11.CPUERR.RED; this.regsGen[6] = 4; - this.trap(PDP11.TRAP.BUS_ERROR, 38); + this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.STACKERROR); } else { this.regErr |= PDP11.CPUERR.YELLOW; this.opFlags |= PDP11.OPFLAG.TRAP_SP; @@ -1469,8 +1473,8 @@ CPUStatePDP11.prototype.readWordFromPrevSpace = function(opCode, accessFlags) */ CPUStatePDP11.prototype.writeWordToPrevSpace = function(opCode, accessFlags, data) { - if (!(this.MMR0 & 0xe000)) { - this.MMR1 = 0x16; + if (!(this.regMMR0 & 0xe000)) { + this.regMMR1 = 0x16; } if (!(opCode & 0x38)) { var reg = opCode & 7; @@ -1702,13 +1706,13 @@ CPUStatePDP11.prototype.stepCPU = function(nMinCycles) */ if (this.opFlags & PDP11.OPFLAG.TRAP_MASK) { if (this.opFlags & PDP11.OPFLAG.TRAP_MMU) { - this.trap(PDP11.TRAP.MMU_FAULT, 52); // MMU trap has priority + this.trap(PDP11.TRAP.MMU_FAULT, PDP11.REASON.TRAPMMU); // MMU trap has priority } else { if (this.opFlags & PDP11.OPFLAG.TRAP_SP) { - this.trap(PDP11.TRAP.BUS_ERROR, 54); // then SP trap + this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.TRAPSP); // then SP trap } else { if (this.opFlags & PDP11.OPFLAG.TRAP_TF) { - this.trap(PDP11.TRAP.BREAKPOINT, 56); // and finally a TF trap + this.trap(PDP11.TRAP.BREAKPOINT, PDP11.REASON.TRAPTF); // and finally a TF trap } } } @@ -1719,9 +1723,9 @@ CPUStatePDP11.prototype.stepCPU = function(nMinCycles) this.checkInterruptQueue(); } - if (!(this.MMR0 & 0xe000)) { - this.MMR1 = 0; - this.MMR2 = this.regsGen[7]; + if (!(this.regMMR0 & 0xe000)) { + this.regMMR1 = 0; + this.regMMR2 = this.regsGen[7]; } /* diff --git a/modules/pdp11/lib/defines.js b/modules/pdp11/lib/defines.js index 16887f6d1..3bb218a2f 100644 --- a/modules/pdp11/lib/defines.js +++ b/modules/pdp11/lib/defines.js @@ -218,6 +218,26 @@ var PDP11 = { PIRQ: 0xA0, // 240 PIRQ, program interrupt request MMU_FAULT: 0xA8 // 250 MMU aborts and traps }, + REASON: { + BPT: 1, + EMT: 2, + HALT: 3, + IOT: 4, + TRAP: 5, + RESERVED: 6, + ODDMEMADDR: 22, + NOMEMORY: 24, + ODDMMUADDR: 26, + MAPERROR: 28, + PUSHERROR: 32, + NOREGADDR: 34, + STACKMODE1: 36, + STACKERROR: 38, + INTERRUPT: 44, + TRAPMMU: 52, + TRAPSP: 54, + TRAPTF: 56 + }, /* * Internal memory access flags */ @@ -366,11 +386,12 @@ var PDP11 = { MMR3: 0o172516, // 772516 17772516 - XBUF: 0o177566, // Console Terminal: Transmitter Data Buffer Register - XCSR: 0o177564, // Console Terminal: Transmitter Status Register - RBUF: 0o177562, // Console Terminal: Receiver Data Buffer Register - RCSR: 0o177560, // Console Terminal: Receiver Status Register LKS: 0o177546, // KW11-L Clock Status + + RCSR: 0o177560, // Console Terminal: Receiver Status Register + RBUF: 0o177562, // Console Terminal: Receiver Data Buffer Register + XCSR: 0o177564, // Console Terminal: Transmitter Status Register + XBUF: 0o177566, // Console Terminal: Transmitter Data Buffer Register DISPLAY: 0o177570, // Console Switch and Display MMR0: 0o177572, // 777572 17777572 diff --git a/modules/pdp11/lib/device.js b/modules/pdp11/lib/device.js index 7cc01e5a7..8902c33eb 100644 --- a/modules/pdp11/lib/device.js +++ b/modules/pdp11/lib/device.js @@ -263,11 +263,35 @@ DevicePDP11.prototype.writeMMR0 = function(data, addr) var idx = 4; data = this.cpu.setMMR0(data); if (data & PDP11.MMR0.ENABLED | PDP11.MMR0.DSTMODE) { - idx = (this.cpu.MMR3 & PDP11.MMR3.MMU_22BIT)? 1 : 2; + idx = (this.cpu.regMMR3 & PDP11.MMR3.MMU_22BIT)? 1 : 2; } this.display.misc = (this.display.misc & ~7) | idx; }; +/** + * readRCSR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.RCSR or 177560) + * @return {number} + */ +DevicePDP11.prototype.readRCSR = function(addr) +{ + return this.tty.rcsr; +}; + +/** + * writeRCSR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RCSR or 177560) + */ +DevicePDP11.prototype.writeRCSR = function(data, addr) +{ + this.tty.rcsr = (this.tty.rcsr & 0x80) | (data & ~0x80); +}; + /** * readXCSR(addr) * @@ -1090,26 +1114,26 @@ DevicePDP11.prototype.access = function(physicalAddress, data, byteFlag) var kw11 = this.kw11; switch (physicalAddress & ~1) { case 0x3FFF7E: /*017777576*/ // MMR2 - result = this.insertData(cpu.MMR2, physicalAddress, data, byteFlag); - if (result >= 0) cpu.MMR2 = result; + result = this.insertData(cpu.regMMR2, physicalAddress, data, byteFlag); + if (result >= 0) cpu.regMMR2 = result; break; case 0x3FFF7C: /*017777574*/ // MMR1 - result = cpu.MMR1; + result = cpu.regMMR1; if (result & 0xff00) result = ((result << 8) | (result >> 8)) & 0xffff; break; // case 0x3FFF7A: /*017777572*/ // MMR0 - // cpu.MMR0 = (cpu.MMR0 & 0xf381) | (cpu.mmuLastMode << 5) | (cpu.mmuLastPage << 1); + // cpu.regMMR0 = (cpu.regMMR0 & 0xf381) | (cpu.mmuLastMode << 5) | (cpu.mmuLastPage << 1); // if (data < 0) { - // result = cpu.MMR0; + // result = cpu.regMMR0; // } else { - // result = this.insertData(cpu.MMR0, physicalAddress, data, byteFlag); + // result = this.insertData(cpu.regMMR0, physicalAddress, data, byteFlag); // if (result >= 0) { - // cpu.MMR0 = result &= 0xf381; + // cpu.regMMR0 = result &= 0xf381; // cpu.mmuLastMode = (result >> 5) & 3; // cpu.mmuLastPage = (result >> 1) & 0xf; // if (result & 0x101) { // idx = 2; // 18 bit - // if (cpu.MMR3 & 0x10) idx = 1; // 22 bit + // if (cpu.regMMR3 & 0x10) idx = 1; // 22 bit // if (result & 0x1) { // cpu.mmuEnable = PDP11.ACCESS.READ | PDP11.ACCESS.WRITE; // } else { @@ -1421,18 +1445,18 @@ DevicePDP11.prototype.access = function(physicalAddress, data, byteFlag) switch (physicalAddress & ~1) { case 0x3FF54E: /*017772516*/ // MMR3 - UB 22 x K S U if (data < 0) { - result = cpu.MMR3; + result = cpu.regMMR3; } else { - result = this.insertData(cpu.MMR3, physicalAddress, data, byteFlag); + result = this.insertData(cpu.regMMR3, physicalAddress, data, byteFlag); if (result >= 0) { if (cpu.cpuType !== 70) result &= ~0x30; // don't allow 11/45 to do 22 bit or use unibus map - cpu.MMR3 = result; + cpu.regMMR3 = result; cpu.mmuMask[0] = (result & 4 ? 0xf : 0x7); cpu.mmuMask[1] = (result & 2 ? 0xf : 0x7); cpu.mmuMask[3] = (result & 1 ? 0xf : 0x7); if (cpu.mmuEnable) { idx = 2; // 18 bit - if (cpu.MMR3 & 0x10) idx = 1; // 22 bit + if (cpu.regMMR3 & 0x10) idx = 1; // 22 bit this.display.misc = (this.display.misc & ~7) | idx; } } @@ -1514,10 +1538,11 @@ DevicePDP11.prototype.access = function(physicalAddress, data, byteFlag) * ES6 ALERT: As you can see below, I've finally started using computed property names. */ DevicePDP11.UNIBUS_TABLE = { - [PDP11.UNIBUS.LKS]: [null, null, DevicePDP11.prototype.readLKS, DevicePDP11.prototype.writeLKS], - [PDP11.UNIBUS.MMR0]: [null, null, DevicePDP11.prototype.readMMR0, DevicePDP11.prototype.writeMMR0], - [PDP11.UNIBUS.XCSR]: [null, null, DevicePDP11.prototype.readXCSR, DevicePDP11.prototype.writeXCSR], - [PDP11.UNIBUS.PSW]: [null, null, DevicePDP11.prototype.readPSW, DevicePDP11.prototype.writePSW] + [PDP11.UNIBUS.LKS]: /* 177546 */ [null, null, DevicePDP11.prototype.readLKS, DevicePDP11.prototype.writeLKS], + [PDP11.UNIBUS.RCSR]: /* 177560 */ [null, null, DevicePDP11.prototype.readRCSR, DevicePDP11.prototype.writeRCSR], + [PDP11.UNIBUS.XCSR]: /* 177564 */ [null, null, DevicePDP11.prototype.readXCSR, DevicePDP11.prototype.writeXCSR], + [PDP11.UNIBUS.MMR0]: /* 177572 */ [null, null, DevicePDP11.prototype.readMMR0, DevicePDP11.prototype.writeMMR0], + [PDP11.UNIBUS.PSW]: /* 177776 */ [null, null, DevicePDP11.prototype.readPSW, DevicePDP11.prototype.writePSW] }; /** diff --git a/versions/pdp11/1.30.0/pdp11-dbg.js b/versions/pdp11/1.30.0/pdp11-dbg.js index ea3d51745..60562931f 100644 --- a/versions/pdp11/1.30.0/pdp11-dbg.js +++ b/versions/pdp11/1.30.0/pdp11-dbg.js @@ -7,95 +7,95 @@ function sa(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=res typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ja(){return"http://"+(window?window.location.host:"www.pcjs.org")} function t(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.confirm(a));return b}var xa=null;function ya(){if(null==xa){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}xa=a}return xa}function za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} 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.Db=this.id:(this.rc=this.id.substr(0,b),this.Db=this.id.substr(b+1));this[a]=c;this.u={ready:!1,qb:!1,fc:!1,ga:!1,error:!1};this.Zb=null;this.u.error=!1;this.I={};this.C=null;this.ia=d||0;v.push(this)}var Sa=void 0,Ta={}; +function Da(a,b){function c(){b(100===d)&&(f=setTimeout(c,d),d=100)}var d=0,f=null,e=!1;a.onmousedown=function(){e||f||(d=500,c())};a.ontouchstart=function(){f||(d=500,c())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Ea={init:[],show:[],exit:[]},Fa=!1,La=!1,Ma=!0;function Na(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Oa(a){Ea.init.push(a)} +function Pa(a){if(Ma)try{for(var b=0;bb?this.Db=this.id:(this.rc=this.id.substr(0,b),this.Db=this.id.substr(b+1));this[a]=c;this.u={ready:!1,qb:!1,fc:!1,ga:!1,error:!1};this.Yb=null;this.u.error=!1;this.I={};this.C=null;this.ia=d||0;v.push(this)}var Sa=void 0,Ta={}; if(window){Sa||(Sa=window.location.search.substr(1));for(var Ua,Va=/\+/g,Wa=/([^&=]+)=?([^&]*)/g;Ua=Wa.exec(Sa);)Ta[decodeURIComponent(Ua[1].replace(Va," "))]=decodeURIComponent(Ua[2].replace(Va," "))}function Xa(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 w(a,b){b||(b=u);a.prototype=Xa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ya=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ya={},v=[];function Za(a,b,c){Ya[a]&&b&&(Ya[a][b]=c)}function $a(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.X&&(this.X=10);15>2;this.i=this.Ba-1;this.B=this.D/this.Ba|0;this.A=this.B-1;this.Ua=[];this.G=null;this.Lb=this.Fc;a=new F;xb(a,this.C);this.L=Array(this.B);for(b=0;b>8:d[2](b)&255}else if(b&1&&(d=c.Ua[a&-2],d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+ba(b));return c.Lb(b,-1,1)} -function zb(a,b,c){var d=this.controller,f=d.Ua[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.Ua[a&-2],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 @"+ba(c));d.Lb(c,b,1)} -function Ab(a,b){var c=this.controller;if(a=c.Ua[a]){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 @"+ba(b));return c.Lb(b,-1,0)}function Bb(a,b,c){var d=this.controller;if(a=d.Ua[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.f("warning: unconverted write access to word @"+ba(c));d.Lb(c,b,0)}l=wb.prototype;l.reset=function(){this.G&&this.G()};l.Fc=function(){return 0};l.Pa=function(a,b){b||this.reset();return!0}; -function Cb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.X;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Xb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Xb){n=k.size-(e-m);n>g&&(n=g);k.Xb=e-k.w+n;e=m+a.Ba;g-=n;h++;continue}}return Eb(1,e,g)}e=new F(e,n,a.Ba,d,f);xb(e,a.C,k);a.L[h++]=e;e=m+a.Ba;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Fb[d]+" at "+r(b,8,!0)),!0):Eb(2,b,c)} -l.sb=function(a){return this.L[(a&this.j)>>>this.X].wb(a&this.i,a)};l.Ia=function(a){var b=a&this.i,c=(a&this.j)>>>this.X;return b!=this.i?this.L[c].Qb(b,a):this.L[c++].wb(b,a)|this.L[c&this.A].wb(0,a+1)<<8};function Gb(a,b){var c=b&a.i,d=(b&a.j)>>>a.X;return c!=a.i?a.L[d].lc(c,b):a.L[d++].Pb(c,b)|a.L[d&a.A].Pb(0,b+1)<<8}l.Ub=function(a,b){this.L[(a&this.j)>>>this.X].Bb(a&this.i,b&255,a)}; -l.pb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.X;c!=this.i?this.L[d].Ec(c,b&65535,a):(this.L[d++].Bb(c,b&255,a),this.L[d&this.A].Bb(0,b>>8&255,a+1))};function Hb(a){for(var b=0,c=[],d=0;d>1)+2;10>this.X&&(this.X=10);15>2;this.i=this.Ca-1;this.B=this.D/this.Ca|0;this.A=this.B-1;this.Ta=[];this.G=null;this.Lb=this.Fc;a=new F;xb(a,this.C);this.L=Array(this.B);for(b=0;b>8:d[2](b)&255}else if(b&1&&(d=c.Ta[a&-2],d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+ba(b));return c.Lb(b,-1,1)} +function zb(a,b,c){var d=this.controller,f=d.Ta[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.Ta[a&-2],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 @"+ba(c));d.Lb(c,b,1)} +function Ab(a,b){var c=this.controller;if(a=c.Ta[a]){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 @"+ba(b));return c.Lb(b,-1,0)}function Bb(a,b,c){var d=this.controller;if(a=d.Ta[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.f("warning: unconverted write access to word @"+ba(c));d.Lb(c,b,0)}l=wb.prototype;l.reset=function(){this.G&&this.G()};l.Fc=function(){return 0};l.Pa=function(a,b){b||this.reset();return!0}; +function Cb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.X;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Xb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Xb){n=k.size-(e-m);n>g&&(n=g);k.Xb=e-k.w+n;e=m+a.Ca;g-=n;h++;continue}}return Eb(1,e,g)}e=new F(e,n,a.Ca,d,f);xb(e,a.C,k);a.L[h++]=e;e=m+a.Ca;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Fb[d]+" at "+r(b,8,!0)),!0):Eb(2,b,c)} +l.sb=function(a){return this.L[(a&this.j)>>>this.X].wb(a&this.i,a)};l.Ja=function(a){var b=a&this.i,c=(a&this.j)>>>this.X;return b!=this.i?this.L[c].Qb(b,a):this.L[c++].wb(b,a)|this.L[c&this.A].wb(0,a+1)<<8};function Gb(a,b){var c=b&a.i,d=(b&a.j)>>>a.X;return c!=a.i?a.L[d].lc(c,b):a.L[d++].Pb(c,b)|a.L[d&a.A].Pb(0,b+1)<<8}l.Ub=function(a,b){this.L[(a&this.j)>>>this.X].Bb(a&this.i,b&255,a)}; +l.pb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.X;c!=this.i?this.L[d].Ec(c,b&65535,a):(this.L[d++].Bb(c,b&255,a),this.L[d&this.A].Bb(0,b>>8&255,a+1))};function Hb(a){for(var b=0,c=[],d=0;d>5&3;c.va=a>>1&15;c.$b=a&257?a&1?6:4:0;Ob(c);a=c.B;a&1|256&&(b=this.b.gb&16?1:2);this.A.tb=this.A.tb&-8|b};l.$c=function(){return this.j.ua};l.pd=function(a){if(128==(this.j.ua&192)&&a&64){var b=this;H(this.b,8,4,52,function(){b.j.ua|=128;return!!(b.j.ua&64)})}this.j.ua=this.j.ua&128|a&-129};l.Zc=function(){return Yb(this.b)}; -l.od=function(a){Zb(this.b,a&-1809|Yb(this.b)&1808);this.b.M|=128}; -function $b(a){var b=a.B,c,d,f,e=b.sa>>13&7;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.ad,drive:e,blocksize:256,mapped:0,maxblock:b.ib[e]*b.$[e],url:"rk"+e+".dsk"});b.O&=-129;switch(b.O>>1&7){case 0:b.Sb=2496;b.la=0;b.O=128;b.sa=0;break;case 1:if((b.sa>>4&511)>=b.ib[e]){b.la|=32832;b.O|=49152;break}if((b.sa&15)>=b.$[e]){b.la|=32800;b.O|=49152;break}c=(b.sa>>4&511)*b.$[e]+(b.sa&15);d=(b.O&48)<<12|b.Rb;f=65536-b.Tb&65535;ac(a,b.oa[e],c,d,f);return;case 2:if((b.sa>>4&511)>=b.ib[e])b.la|= -32832,b.O|=49152;else if((b.sa&15)>=b.$[e])b.la|=32800,b.O|=49152;else{c=(b.sa>>4&511)*b.$[e]+(b.sa&15);d=(b.O&48)<<12|b.Rb;f=65536-b.Tb&65535;a.bc(b.oa[e],c,d,f);return}}b.Sb=e<<13|b.Sb&8176|b.sa%9&15;H(a.b,20,5,144,function(){b.O=b.O&65534|128;return!!(b.O&64)})}l.ad=function(a,b,c,d,f){var e=this.B;e.Rb=d&65535;e.O=e.O&-49|d>>12&48;e.Tb=65536-f&65535;switch(a){case 1:e.la|=33024;e.O|=49152;break;case 2:e.la|=33792,e.O|=49152}H(this.b,20,5,144,function(){e.O=e.O&65534|128;return!!(e.O&64)})}; -function bc(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.bd,drive:e,blocksize:128,mapped:1,maxblock:b.ib[e]*b.$[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.$a&8&&(b.K&=63);b.$a=b.Hc[e]|b.fb&64;break;case 3:1==(b.ea&3)&&(b.fb=b.ea&4?b.fb+(b.ea&65408)&65408|b.ea<<2&64:b.fb-(b.ea&65408)&65408|b.ea<<2&64,b.ea=b.fb);break;case 4:b.$a=b.fb;break;case 5:if(b.ea>>6>=b.ib[e]){b.K|=37888;break}if((b.ea&63)>=b.$[e]){b.K|=37888;break}c=(b.ea>>6)*b.$[e]+ -(b.ea&63);d=(b.Va&63)<<16|b.Jb;f=65536-b.$a&65535;ac(a,b.oa[e],c,d,f);return;case 6:if(b.ea>>6>=b.ib[e])b.K|=37888;else if((b.ea&63)>=b.$[e])b.K|=37888;else{c=(b.ea>>6)*b.$[e]+(b.ea&63);d=(b.Va&63)<<16|b.Jb;f=65536-b.$a&65535;a.bc(b.oa[e],c,d,f);return}}H(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})} -l.bd=function(a,b,c,d,f){var e=this.D;e.Jb=d&65535;e.K=e.K&-49|d>>12&48;e.Va=d>>16&63;e.ea=~~(c/e.$[b.Ma])<<6|c%e.$[b.Ma];e.fb=e.ea;e.$a=65536-f&65535;switch(a){case 1:e.K|=33792;break;case 2:e.K|=40960}H(this.b,20,5,112,function(){e.K|=129;return!!(e.K&64)})};function cc(a){a=a.G;a.R=2176;a.Da=0;a.qa=[4544,4544,4544,4544,4544,4544,4544,4544];a.yb=[0,0,0,0,0,0,0,0];a.nb=a.zb=a.xb=a.eb=a.nc=0} -function dc(a,b){var c=a.G,d,f,e;c.R&=-16513;c.Da&=-2049;c.qa[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof c.oa[b]&&(c.oa[b]={cache:[],postProcess:a.cd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.hb[0]*c.$[0],url:"rp"+b+".dsk"});switch(c.R&63){case 5:c.dc[b]=c.Ra[b];c.R|=32896;c.qa[b]|=32896;c.nb|=1<=c.ec[0]||c.Ea[b]>>8>=c.hb[0]||(c.Ea[b]&255)>=c.$[0]){c.yb[b]|=1024;c.R|=49152;break}d=(c.Ra[b]*c.hb[0]+(c.Ea[b]>>8))*c.$[0]+ -(c.Ea[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;ac(a,c.oa[b],d,f,e);return;case 57:if(c.Ra[b]>=c.ec[0]||c.Ea[b]>>8>=c.hb[0]||(c.Ea[b]&255)>=c.$[0])c.yb[b]|=1024,c.R|=49152;else{d=(c.Ra[b]*c.hb[0]+(c.Ea[b]>>8))*c.$[0]+(c.Ea[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;a.bc(c.oa[b],d,f,e);return}}H(a.b,3,5,172,function(){c.R=c.R&65534|128;c.qa[b]|=128;return!!(c.R&64)})} -l.cd=function(a,b,c,d,f){var e=this.G;e.zb=65536-f&65535;e.xb=d&65535;e.R=e.R&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.$[0]);d=~~(f/e.hb[0]);e.Ea[b.Ma]=f%e.hb[0]<<8|c%e.$[0];e.dc[b.Ma]=e.Ra[b.Ma]=d;e.nb|=1<=b.Uc-1&&(e.qa[b.Ma]|=1024);switch(a){case 1:e.Da|=512;e.R|=49152;break;case 2:e.Da|=2048,e.R|=49152}H(this.b,20,5,172,function(){e.qa[b.Ma]|=128;e.R=e.R&65534|128;return!!(e.R&64)})}; -function ec(a,b,c,d,f,e){var g=~~((e+c.Wa-1)/c.Wa),h=new XMLHttpRequest;2048>g&&d+2048g){b.jc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.jc(0,b,c,d,f)}l.reset=function(){this.A.tb=this.A.tb&-120|20;this.j.Ja=0;this.j.ua=128;this.i.Za=0;this.B.O=128;this.D.K=128;cc(this)}; -l.Gc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.bb&65280:(a&1&&(b<<=8),e.bb=b|255,d=0);break;case 4194298:if(0>b)d=e.mc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.mc=d;e.Qa=2}break;case 4194294:if(70!==e.lb)return J(e,4);0>b?d=e.H:d=e.H=0;break;case 4194292:if(70!==e.lb)return J(e,4);d=1;break;case 4194290:if(70!==e.lb)return J(e,4);d=0;break;case 4194288:if(70!==e.lb)return J(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.lb)return J(e,4);f=a-4194272>>1;0>b?d=e.hc[f]:(d=I(this,e.hc[f],a,b,c),0<=d&&(e.hc[f]=d));break;case 4194254:return a&1?e.N>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ca[3]=b),d=e.Ca[3]):e.N>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ca[1]=b),d=e.Ca[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.N&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.cb[f]=b),d=e.cb[f]),d;case 4194246:return a& -1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.N>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ca[0]=b),d=e.Ca[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.N&2048?(0<=b&&(e.cb[f]=b),d=e.cb[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.H|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.ka[3][f],a,b,c);0<=d&&(e.ka[3][f]=d,e.ka[3][f&15]&=65295);break;case 4194112:var g=this.j;switch(a&-2){case 4194174:d=I(this,e.Yb,a,b,c);0<=d&&(e.Yb=d);break;case 4194172:d=e.Sa;d&65280&&(d=(d<<8|d>>8)&65535);break; -case 4194168:0>b?d=this.A.kd&65535:(d=I(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.ua&=-129,H(e,100,4,52,function(){g.ua|=128;return!!(g.ua&64)}));d=0;break;case 4194162:d=0;0>b&&(g.Ja&=-129,0b?d=g.Ja:(d=I(this,g.Ja,a,b,c),0<=d&&(g.Ja=g.Ja&128|d&-129));break;default:return e.H|=16,J(e,4)}break;case 4194048:f=this.B;switch(a& --2){case 4194048:d=I(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194050:d=I(this,f.la,a,b,c);0<=d&&(f.la=d);break;case 4194052:d=I(this,f.O,a,b,c);0<=b&&0<=d&&(f.O=d&-36993|f.O&36992,f.O&1&&$b(this));break;case 4194054:d=I(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194056:d=I(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194058:d=I(this,f.sa,a,b,c);0<=d&&(f.sa=d);break;case 4194060:break;case 4194062:d=I(this,f.zc,a,b,c);0<=d&&(f.zc=d);break;default:return e.H|=16,J(e,4)}break;case 4193728:var h=this.G; -f=h.Da&7;switch(a&-2){case 4193728:d=I(this,h.R,a,b,c);0<=b&&0<=d&&(h.eb=h.eb&60|d>>8&3,h.R=d&17279|h.R&34944|2048,d&1&&h.R&128?dc(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.zb,a,b,c);0<=d&&(h.zb=d);break;case 4193732:d=I(this,h.xb,a,b,c);0<=d&&(h.xb=d&65534);break;case 4193734:d=I(this,h.Ea[f],a,b,c);0<=d&&(h.Ea[f]=d&7967);break;case 4193736:d=I(this,h.Da,a,b,c);0<=d&&(h.Da=d&63|h.Da&65472,d&128&&cc(this));break;case 4193738:d=h.qa[f];break;case 4193740:d=h.yb[f];break;case 4193742:d= -I(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.hd[f];break;case 4193746:d=I(this,h.Ac,a,b,c);0<=d&&(h.Ac=d);break;case 4193748:d=I(this,h.Bc[f],a,b,c);0<=d&&(h.Bc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.jd[f];break;case 4193754:d=I(this,h.Cc[f],a,b,c);0<=d&&(h.Cc[f]=d);break;case 4193756:d=I(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.fd[f];break;case 4193762:d=h.gd[f];break;case 4193764:d=h.dd[f]; -break;case 4193766:d=h.ed[f];break;case 4193768:d=I(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.R=h.R&-769|(d&3)<<8);break;case 4193770:d=I(this,h.nc,a,b,c);0<=d&&(h.nc=d);break;default:return e.H|=16,J(e,4)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=I(this,f.K,a,b,c);0<=b&&0<=d&&(f.Va=f.Va&60|d>>4&3,f.K=f.K&-1023|d&1022,f.K&128||bc(this));break;case 4192514:d=I(this,f.Jb,a,b,c);0<=d&&(f.Jb=d&65534);break;case 4192516:d=I(this,f.ea,a,b,c);0<=d&&(f.ea=d);break;case 4192518:d=I(this,f.$a,a,b,c); -0<=d&&(f.$a=d);break;case 4192520:d=I(this,f.Va,a,b,c);0<=d&&(f.Va=d&63,f.K=f.K&-49|(f.Va&3)<<4);break;default:return e.H|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.gb:(d=I(this,e.gb,a,b,c),0<=d&&(70!==e.lb&&(d&=-49),e.gb=d,e.ac[0]=d&4?15:7,e.ac[1]=d&2?15:7,e.ac[3]=d&1?15:7,e.$b&&(f=2,e.gb&16&&(f=1),this.A.tb=this.A.tb&-8|f)));break;default:return e.H|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.ka[0][f],a,b,c);0<=d&&(e.ka[0][f]=d,e.ka[0][f&15]&=65295);break;case 4191360:f= -a>>1&31;d=I(this,e.ka[1][f],a,b,c);0<=d&&(e.ka[1][f]=d,e.ka[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.lb)return J(e,4);f=a>>2&31;d=e.Vb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.Vb[f]=a&2?d<<16|e.Vb[f]&65535:e.Vb[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=Lb[a>>1&255];else return e.H|=16,J(e,4);break;default:return e.H|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"=== -typeof d&&console.log("panic(76)");return d};var gc={},Jb=(gc[65382]=[null,null,G.prototype.Xc,G.prototype.md],gc[65402]=[null,null,G.prototype.Yc,G.prototype.nd],gc[65396]=[null,null,G.prototype.$c,G.prototype.pd],gc[65534]=[null,null,G.prototype.Zc,G.prototype.od],gc);Oa(function(){for(var a=C(document,"pdp11","device"),b=0;b>5&3;c.wa=a>>1&15;c.Zb=a&257?a&1?6:4:0;Ob(c);a=c.B;a&1|256&&(b=this.b.mb&16?1:2);this.A.tb=this.A.tb&-8|b};l.$c=function(){return this.i.sa};l.qd=function(a){this.i.sa=this.i.sa&128|a&-129};l.ad=function(){return this.i.va}; +l.rd=function(a){if(128==(this.i.va&192)&&a&64){var b=this;H(this.b,8,4,52,function(){b.i.va|=128;return!!(b.i.va&64)})}this.i.va=this.i.va&128|a&-129};l.Zc=function(){return Yb(this.b)};l.pd=function(a){Zb(this.b,a&-1809|Yb(this.b)&1808);this.b.M|=128}; +function $b(a){var b=a.B,c,d,f,e=b.ta>>13&7;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.bd,drive:e,blocksize:256,mapped:0,maxblock:b.hb[e]*b.$[e],url:"rk"+e+".dsk"});b.O&=-129;switch(b.O>>1&7){case 0:b.Sb=2496;b.la=0;b.O=128;b.ta=0;break;case 1:if((b.ta>>4&511)>=b.hb[e]){b.la|=32832;b.O|=49152;break}if((b.ta&15)>=b.$[e]){b.la|=32800;b.O|=49152;break}c=(b.ta>>4&511)*b.$[e]+(b.ta&15);d=(b.O&48)<<12|b.Rb;f=65536-b.Tb&65535;ac(a,b.oa[e],c,d,f);return;case 2:if((b.ta>>4&511)>=b.hb[e])b.la|= +32832,b.O|=49152;else if((b.ta&15)>=b.$[e])b.la|=32800,b.O|=49152;else{c=(b.ta>>4&511)*b.$[e]+(b.ta&15);d=(b.O&48)<<12|b.Rb;f=65536-b.Tb&65535;a.ac(b.oa[e],c,d,f);return}}b.Sb=e<<13|b.Sb&8176|b.ta%9&15;H(a.b,20,5,144,function(){b.O=b.O&65534|128;return!!(b.O&64)})}l.bd=function(a,b,c,d,f){var e=this.B;e.Rb=d&65535;e.O=e.O&-49|d>>12&48;e.Tb=65536-f&65535;switch(a){case 1:e.la|=33024;e.O|=49152;break;case 2:e.la|=33792,e.O|=49152}H(this.b,20,5,144,function(){e.O=e.O&65534|128;return!!(e.O&64)})}; +function bc(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.cd,drive:e,blocksize:128,mapped:1,maxblock:b.hb[e]*b.$[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.Za&8&&(b.K&=63);b.Za=b.Hc[e]|b.fb&64;break;case 3:1==(b.ea&3)&&(b.fb=b.ea&4?b.fb+(b.ea&65408)&65408|b.ea<<2&64:b.fb-(b.ea&65408)&65408|b.ea<<2&64,b.ea=b.fb);break;case 4:b.Za=b.fb;break;case 5:if(b.ea>>6>=b.hb[e]){b.K|=37888;break}if((b.ea&63)>=b.$[e]){b.K|=37888;break}c=(b.ea>>6)*b.$[e]+ +(b.ea&63);d=(b.Ua&63)<<16|b.Jb;f=65536-b.Za&65535;ac(a,b.oa[e],c,d,f);return;case 6:if(b.ea>>6>=b.hb[e])b.K|=37888;else if((b.ea&63)>=b.$[e])b.K|=37888;else{c=(b.ea>>6)*b.$[e]+(b.ea&63);d=(b.Ua&63)<<16|b.Jb;f=65536-b.Za&65535;a.ac(b.oa[e],c,d,f);return}}H(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})} +l.cd=function(a,b,c,d,f){var e=this.D;e.Jb=d&65535;e.K=e.K&-49|d>>12&48;e.Ua=d>>16&63;e.ea=~~(c/e.$[b.Ma])<<6|c%e.$[b.Ma];e.fb=e.ea;e.Za=65536-f&65535;switch(a){case 1:e.K|=33792;break;case 2:e.K|=40960}H(this.b,20,5,112,function(){e.K|=129;return!!(e.K&64)})};function cc(a){a=a.G;a.R=2176;a.Ea=0;a.qa=[4544,4544,4544,4544,4544,4544,4544,4544];a.yb=[0,0,0,0,0,0,0,0];a.nb=a.zb=a.xb=a.eb=a.nc=0} +function dc(a,b){var c=a.G,d,f,e;c.R&=-16513;c.Ea&=-2049;c.qa[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof c.oa[b]&&(c.oa[b]={cache:[],postProcess:a.dd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.gb[0]*c.$[0],url:"rp"+b+".dsk"});switch(c.R&63){case 5:c.dc[b]=c.Ra[b];c.R|=32896;c.qa[b]|=32896;c.nb|=1<=c.ec[0]||c.Fa[b]>>8>=c.gb[0]||(c.Fa[b]&255)>=c.$[0]){c.yb[b]|=1024;c.R|=49152;break}d=(c.Ra[b]*c.gb[0]+(c.Fa[b]>>8))*c.$[0]+ +(c.Fa[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;ac(a,c.oa[b],d,f,e);return;case 57:if(c.Ra[b]>=c.ec[0]||c.Fa[b]>>8>=c.gb[0]||(c.Fa[b]&255)>=c.$[0])c.yb[b]|=1024,c.R|=49152;else{d=(c.Ra[b]*c.gb[0]+(c.Fa[b]>>8))*c.$[0]+(c.Fa[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;a.ac(c.oa[b],d,f,e);return}}H(a.b,3,5,172,function(){c.R=c.R&65534|128;c.qa[b]|=128;return!!(c.R&64)})} +l.dd=function(a,b,c,d,f){var e=this.G;e.zb=65536-f&65535;e.xb=d&65535;e.R=e.R&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.$[0]);d=~~(f/e.gb[0]);e.Fa[b.Ma]=f%e.gb[0]<<8|c%e.$[0];e.dc[b.Ma]=e.Ra[b.Ma]=d;e.nb|=1<=b.Uc-1&&(e.qa[b.Ma]|=1024);switch(a){case 1:e.Ea|=512;e.R|=49152;break;case 2:e.Ea|=2048,e.R|=49152}H(this.b,20,5,172,function(){e.qa[b.Ma]|=128;e.R=e.R&65534|128;return!!(e.R&64)})}; +function ec(a,b,c,d,f,e){var g=~~((e+c.Va-1)/c.Va),h=new XMLHttpRequest;2048>g&&d+2048g){b.jc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.jc(0,b,c,d,f)}l.reset=function(){this.A.tb=this.A.tb&-120|20;this.i.sa=0;this.i.va=128;this.j.Ya=0;this.B.O=128;this.D.K=128;cc(this)}; +l.Gc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.bb&65280:(a&1&&(b<<=8),e.bb=b|255,d=0);break;case 4194298:if(0>b)d=e.mc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.mc=d;e.Qa=2}break;case 4194294:if(70!==e.kb)return J(e,4);0>b?d=e.H:d=e.H=0;break;case 4194292:if(70!==e.kb)return J(e,4);d=1;break;case 4194290:if(70!==e.kb)return J(e,4);d=0;break;case 4194288:if(70!==e.kb)return J(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.kb)return J(e,4);f=a-4194272>>1;0>b?d=e.hc[f]:(d=I(this,e.hc[f],a,b,c),0<=d&&(e.hc[f]=d));break;case 4194254:return a&1?e.N>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Da[3]=b),d=e.Da[3]):e.N>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Da[1]=b),d=e.Da[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.N&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.cb[f]=b),d=e.cb[f]),d;case 4194246:return a& +1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.N>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Da[0]=b),d=e.Da[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.N&2048?(0<=b&&(e.cb[f]=b),d=e.cb[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.H|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.ka[3][f],a,b,c);0<=d&&(e.ka[3][f]=d,e.ka[3][f&15]&=65295);break;case 4194112:var g=this.i;switch(a&-2){case 4194174:d=I(this,e.cc,a,b,c);0<=d&&(e.cc=d);break;case 4194172:d=e.ab;d&65280&&(d=(d<<8|d>>8)&65535);break; +case 4194168:0>b?d=this.A.ld&65535:(d=I(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.va&=-129,H(e,100,4,52,function(){g.va|=128;return!!(g.va&64)}));d=0;break;case 4194162:d=0;0>b&&(g.sa&=-129,0b?d=g.sa:(d=I(this,g.sa,a,b,c),0<=d&&(g.sa=g.sa&128|d&-129));break;default:return e.H|=16,J(e,4)}break;case 4194048:f=this.B;switch(a& +-2){case 4194048:d=I(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194050:d=I(this,f.la,a,b,c);0<=d&&(f.la=d);break;case 4194052:d=I(this,f.O,a,b,c);0<=b&&0<=d&&(f.O=d&-36993|f.O&36992,f.O&1&&$b(this));break;case 4194054:d=I(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194056:d=I(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194058:d=I(this,f.ta,a,b,c);0<=d&&(f.ta=d);break;case 4194060:break;case 4194062:d=I(this,f.zc,a,b,c);0<=d&&(f.zc=d);break;default:return e.H|=16,J(e,4)}break;case 4193728:var h=this.G; +f=h.Ea&7;switch(a&-2){case 4193728:d=I(this,h.R,a,b,c);0<=b&&0<=d&&(h.eb=h.eb&60|d>>8&3,h.R=d&17279|h.R&34944|2048,d&1&&h.R&128?dc(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.zb,a,b,c);0<=d&&(h.zb=d);break;case 4193732:d=I(this,h.xb,a,b,c);0<=d&&(h.xb=d&65534);break;case 4193734:d=I(this,h.Fa[f],a,b,c);0<=d&&(h.Fa[f]=d&7967);break;case 4193736:d=I(this,h.Ea,a,b,c);0<=d&&(h.Ea=d&63|h.Ea&65472,d&128&&cc(this));break;case 4193738:d=h.qa[f];break;case 4193740:d=h.yb[f];break;case 4193742:d= +I(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.jd[f];break;case 4193746:d=I(this,h.Ac,a,b,c);0<=d&&(h.Ac=d);break;case 4193748:d=I(this,h.Bc[f],a,b,c);0<=d&&(h.Bc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.kd[f];break;case 4193754:d=I(this,h.Cc[f],a,b,c);0<=d&&(h.Cc[f]=d);break;case 4193756:d=I(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.gd[f];break;case 4193762:d=h.hd[f];break;case 4193764:d=h.ed[f]; +break;case 4193766:d=h.fd[f];break;case 4193768:d=I(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.R=h.R&-769|(d&3)<<8);break;case 4193770:d=I(this,h.nc,a,b,c);0<=d&&(h.nc=d);break;default:return e.H|=16,J(e,4)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=I(this,f.K,a,b,c);0<=b&&0<=d&&(f.Ua=f.Ua&60|d>>4&3,f.K=f.K&-1023|d&1022,f.K&128||bc(this));break;case 4192514:d=I(this,f.Jb,a,b,c);0<=d&&(f.Jb=d&65534);break;case 4192516:d=I(this,f.ea,a,b,c);0<=d&&(f.ea=d);break;case 4192518:d=I(this,f.Za,a,b,c); +0<=d&&(f.Za=d);break;case 4192520:d=I(this,f.Ua,a,b,c);0<=d&&(f.Ua=d&63,f.K=f.K&-49|(f.Ua&3)<<4);break;default:return e.H|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.mb:(d=I(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.tb=this.A.tb&-8|f)));break;default:return e.H|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.ka[0][f],a,b,c);0<=d&&(e.ka[0][f]=d,e.ka[0][f&15]&=65295);break;case 4191360:f= +a>>1&31;d=I(this,e.ka[1][f],a,b,c);0<=d&&(e.ka[1][f]=d,e.ka[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.kb)return J(e,4);f=a>>2&31;d=e.Vb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.Vb[f]=a&2?d<<16|e.Vb[f]&65535:e.Vb[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=Lb[a>>1&255];else return e.H|=16,J(e,4);break;default:return e.H|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"=== +typeof d&&console.log("panic(76)");return d};var gc={},Jb=(gc[65382]=[null,null,G.prototype.Xc,G.prototype.nd],gc[65392]=[null,null,G.prototype.$c,G.prototype.qd],gc[65396]=[null,null,G.prototype.ad,G.prototype.rd],gc[65402]=[null,null,G.prototype.Yc,G.prototype.od],gc[65534]=[null,null,G.prototype.Zc,G.prototype.pd],gc);Oa(function(){for(var a=C(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.D,0,c>>2),nc(this,jc?oc:pc);else{this.b=Array(c>>2);for(a=0;a>1),this.b=new Int32Array(this.D,0,c>>2),nc(this,jc?oc:pc);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},da:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ra: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},Aa: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},ba:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,1,c.V)&&c.ma(!0)}return this.Pb(a,b)},ha:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,2,c.V)&&c.ma(!0)}return this.lc(a,b)},wa:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,1,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.Cb(a, -b,c)},Ka:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,2,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.qc(a,b,c)},Z:function(a){return this.I[a]},ca:function(a){return this.I[a]},fa:function(a){return this.G.getUint16(a,!0)},na:function(a){return a&1?this.I[a]|this.I[a+1]<<8:this.P[a>>1]},va:function(a,b){this.I[a]=b;this.Xa=!0},xa:function(a,b){this.I[a]=b;this.Xa=!0},Fa:function(a,b){this.G.setUint16(a,b,!0);this.Xa=!0},Db:function(a,b){a&1?(this.I[a]=b,this.I[a+1]=b>>8):this.P[a>> -1]=b;this.Xa=!0}};function xb(a,b,c){a.C=b;a.j=a.A=0;c&&((a.j=c.j)&&tc(a,sc,!1),(a.A=c.A)&&rc(a,sc,!1))}function vc(a,b){b?--a.A||(a.Bb=a.i?a.B:a.Cb,a.Ec=a.i?a.J:a.qc):--a.j||(a.wb=a.Pb,a.Qb=a.lc)}function rc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.B,a.Ec=!a.i&&b[3]||a.J);if(c||void 0===c)a.Cb=b[1]||a.B,a.qc=b[3]||a.J}function tc(a,b,c){c&&a.j||(a.wb=b[0]||a.S,a.Qb=b[2]||a.V);if(c||void 0===c)a.Pb=b[0]||a.S,a.lc=b[2]||a.V}function nc(a,b){b||(b=wc);tc(a,b,void 0);rc(a,b,void 0)} -var wc=[],qc=[F.prototype.da,F.prototype.Aa,F.prototype.ra,F.prototype.Ta],sc=[F.prototype.ba,F.prototype.wa,F.prototype.ha,F.prototype.Ka];if(tb)var pc=[F.prototype.Z,F.prototype.va,F.prototype.fa,F.prototype.Fa],oc=[F.prototype.ca,F.prototype.xa,F.prototype.na,F.prototype.Db]; -function xc(a,b){u.call(this,"CPU",a,xc,1);var c=a.multiplier||1;this.xa=a.cycles||b;this.ab=c;this.Fa=Math.round(this.xa/1E4)/100;this.mb=this.Fa*this.ab;this.u.ja=!1;this.u.oc=!1;this.u.Hb=a.autoStart;this.u.wc=!1;this.u.rb=!1;this.Mb=this.ba=0;this.Nb=a.csStart;this.ub=a.csInterval;this.vb=a.csStop;this.D=[];this.Kb=this.ob.bind(this);D(this)}w(xc);var yc=["power","reset"];l=xc.prototype; -l.Ya=function(a,b,c,d){this.i=a;this.F=b;this.C=d;for(b=0;b>2),b=0;b>8,c)},da:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ra: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},Ba: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.Wa=!0},ba:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,1,c.V)&&c.ma(!0)}return this.Pb(a,b)},ha:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,2,c.V)&&c.ma(!0)}return this.lc(a,b)},xa:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,1,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.Cb(a, +b,c)},Ka:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,2,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.qc(a,b,c)},Z:function(a){return this.I[a]},ca:function(a){return this.I[a]},fa:function(a){return this.G.getUint16(a,!0)},na:function(a){return a&1?this.I[a]|this.I[a+1]<<8:this.P[a>>1]},wa:function(a,b){this.I[a]=b;this.Wa=!0},ya:function(a,b){this.I[a]=b;this.Wa=!0},Ga:function(a,b){this.G.setUint16(a,b,!0);this.Wa=!0},Db:function(a,b){a&1?(this.I[a]=b,this.I[a+1]=b>>8):this.P[a>> +1]=b;this.Wa=!0}};function xb(a,b,c){a.C=b;a.j=a.A=0;c&&((a.j=c.j)&&tc(a,sc,!1),(a.A=c.A)&&rc(a,sc,!1))}function vc(a,b){b?--a.A||(a.Bb=a.i?a.B:a.Cb,a.Ec=a.i?a.J:a.qc):--a.j||(a.wb=a.Pb,a.Qb=a.lc)}function rc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.B,a.Ec=!a.i&&b[3]||a.J);if(c||void 0===c)a.Cb=b[1]||a.B,a.qc=b[3]||a.J}function tc(a,b,c){c&&a.j||(a.wb=b[0]||a.S,a.Qb=b[2]||a.V);if(c||void 0===c)a.Pb=b[0]||a.S,a.lc=b[2]||a.V}function nc(a,b){b||(b=wc);tc(a,b,void 0);rc(a,b,void 0)} +var wc=[],qc=[F.prototype.da,F.prototype.Ba,F.prototype.ra,F.prototype.Sa],sc=[F.prototype.ba,F.prototype.xa,F.prototype.ha,F.prototype.Ka];if(tb)var pc=[F.prototype.Z,F.prototype.wa,F.prototype.fa,F.prototype.Ga],oc=[F.prototype.ca,F.prototype.ya,F.prototype.na,F.prototype.Db]; +function xc(a,b){u.call(this,"CPU",a,xc,1);var c=a.multiplier||1;this.ya=a.cycles||b;this.$a=c;this.Ga=Math.round(this.ya/1E4)/100;this.lb=this.Ga*this.$a;this.u.ja=!1;this.u.oc=!1;this.u.Hb=a.autoStart;this.u.wc=!1;this.u.rb=!1;this.Mb=this.ba=0;this.Nb=a.csStart;this.ub=a.csInterval;this.vb=a.csStop;this.D=[];this.Kb=this.ob.bind(this);D(this)}w(xc);var yc=["power","reset"];l=xc.prototype; +l.Xa=function(a,b,c,d){this.i=a;this.F=b;this.C=d;for(b=0;b=a.ba&&(a.ba+=a.ub,c=!0);0<=a.vb&&a.vb<=Sc(a)&&(a.ub=a.vb=-1,Pc(a),a.ma(),c=!0);c&&a.f(Sc(a)+" cycles: checksum="+r(a.Mb))}} function Tc(a,b,c,d){if(a.I[b]){void 0===c&&(sb(a,"Value for "+b+" is invalid"),a.ma());var f=a.C&&a.C.da||8;c=!a.u.ja||a.u.wc?8==f?ba(c,d):r(c,d):"--------".substr(0,d||4);a.I[b].textContent!=c&&(a.I[b].textContent=c)}} -l.ta=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.I[b]=c;a=!0;break;case "run":this.I[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ga)a=!0;else{var b=null,c,h=$a(a.id);for(c=0;ca.P/a.mb?b=1:d=!0;a.ab=b;b=a.Fa*a.ab;if(a.mb!=b){a.mb=b;b=a.mb.toFixed(2)+"Mhz";var f=a.I.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Wb()}Vc(a,a.J);a.J=0;a.G=pa();a.S=0;Wc(a);return d}function Mb(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Nb(a,b){var c;0<=b&&ba.D[b][0]&&(c=a.xa*a.ab/1E3*(1E3/60),a.D[b][0]=c)}function Xc(a){a.V-=a.b;a.b=0} -l.ob=function(a){if(db(this,!0)){if(!this.u.ja){Uc(this);this.i&&this.i.start(this.G,Sc(this));this.u.ja=!0;this.u.oc=!0;this.fa&&this.fa.start();var b=this.I.run;b&&(b.textContent="Halt");this.i&&(this.i.za(!0),a&&this.i.Wb(!0))}this.Ka>=this.xa&&Wc(this,!0);this.ha=0;this.wa=pa();this.S&&(a=this.wa-this.S,a>this.Fb&&(this.G+=a,this.G>this.wa&&(this.G=this.wa)));try{do{for(var c,d=this.u.rb?1:this.Aa,f=this.D.length-1;0<=f;f--){var e=this.D[f];0>e[0]||d>e[0]&&(d=e[0])}c=d;try{this.Ab(c)}catch(m){if("number"!= -typeof m)throw m;}var g=this.V-this.b;a=g;for(var h=this.D.length-1;0<=h;h--){var k=this.D[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.ha+=g;this.J+=g;Vc(this,0,!0);Rc(this,g);this.ca-=g;if(0>=this.ca){this.ca+=this.Aa;15<=++this.Ib&&(this.i&&this.i.za(),this.Ib=0);break}}while(this.u.ja)}catch(m){this.ma();K(this);this.i&&this.i.stop(pa(),Sc(this));db(this,!1);sb(this,m.stack||m.message);return}c=setTimeout;d=this.Kb;this.S=pa();f=this.Fb;this.ha&&(f=Math.round(f*this.ha/this.Aa));f-=this.S- -this.wa;if(e=this.S-this.G)this.P=Math.round(this.J/(10*e))/100,864E5<=e&&(this.Z=0,Uc(this));if(0>f||this.Pf&&(this.G-=f),f=0;this.Ka+=this.ha;this.S+=f;c(d,f)}else K(this),this.i&&this.i.stop(pa(),Sc(this))};l.Ab=function(){return 0};l.ma=function(a){eb(this,!0);Xc(this);Vc(this,this.J);this.J=0;if(this.u.ja){this.u.ja=!1;this.fa&&this.fa.stop();var b=this.I.run;b&&(b.textContent="Run")}this.u.complete=a};function K(a,b){a.i&&a.i.za(b)} -function Yc(a){this.Vc=+a.model||1170;this.ic=a.resetAddr||0;xc.call(this,a,1E6);this.Eb=0;this.decode=Zc.bind(this);this.T=65536;this.U=32768;this.Y=65535;this.W=32768;this.N=15;this.g=[0,0,0,0,0,0,0,this.ic];this.cb=[0,0,0,0,0,0];this.Ca=[0,0,0,0];this.va=this.A=0;this.ka=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.Vb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.M=0;this.lb=70;this.da=-1;this.na=0;$c(this);this.u.complete=this.u.Kc=!1}w(Yc,xc);l=Yc.prototype;l.reset=function(){this.u.ja&&this.ma();$c(this);Ac(this);this.u.error=!1;this.parent.reset.call(this)}; -function $c(a){a.bb=255;a.H=0;a.mc=0;a.B=0;a.Sa=0;a.Yb=0;a.gb=0;a.$b=0;a.ra=0;a.ac=[7,7,7,7];a.j=[];a.Qa=2;Ob(a)}function Ob(a){a.$b?(a.Ta=65536,a.aa=a.Rc,a.Qb=a.ya):(a.Ta=0,a.aa=a.Qc,a.Qb=a.cc)}l.yc=function(){return 0};l.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.Z,this.ab]);a.set(2,Hb(this.F));return a.data()}; +l.ua=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.I[b]=c;a=!0;break;case "run":this.I[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ga)a=!0;else{var b=null,c,h=$a(a.id);for(c=0;ca.P/a.lb?b=1:d=!0;a.$a=b;b=a.Ga*a.$a;if(a.lb!=b){a.lb=b;b=a.lb.toFixed(2)+"Mhz";var f=a.I.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Wb()}Vc(a,a.J);a.J=0;a.G=pa();a.S=0;Wc(a);return d}function Mb(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Nb(a,b){var c;0<=b&&ba.D[b][0]&&(c=a.ya*a.$a/1E3*(1E3/60),a.D[b][0]=c)}function Xc(a){a.V-=a.b;a.b=0} +l.ob=function(a){if(db(this,!0)){if(!this.u.ja){Uc(this);this.i&&this.i.start(this.G,Sc(this));this.u.ja=!0;this.u.oc=!0;this.fa&&this.fa.start();var b=this.I.run;b&&(b.textContent="Halt");this.i&&(this.i.Aa(!0),a&&this.i.Wb(!0))}this.Ka>=this.ya&&Wc(this,!0);this.ha=0;this.xa=pa();this.S&&(a=this.xa-this.S,a>this.Fb&&(this.G+=a,this.G>this.xa&&(this.G=this.xa)));try{do{for(var c,d=this.u.rb?1:this.Ba,f=this.D.length-1;0<=f;f--){var e=this.D[f];0>e[0]||d>e[0]&&(d=e[0])}c=d;try{this.Ab(c)}catch(m){if("number"!= +typeof m)throw m;}var g=this.V-this.b;a=g;for(var h=this.D.length-1;0<=h;h--){var k=this.D[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.ha+=g;this.J+=g;Vc(this,0,!0);Rc(this,g);this.ca-=g;if(0>=this.ca){this.ca+=this.Ba;15<=++this.Ib&&(this.i&&this.i.Aa(),this.Ib=0);break}}while(this.u.ja)}catch(m){this.ma();K(this);this.i&&this.i.stop(pa(),Sc(this));db(this,!1);sb(this,m.stack||m.message);return}c=setTimeout;d=this.Kb;this.S=pa();f=this.Fb;this.ha&&(f=Math.round(f*this.ha/this.Ba));f-=this.S- +this.xa;if(e=this.S-this.G)this.P=Math.round(this.J/(10*e))/100,864E5<=e&&(this.Z=0,Uc(this));if(0>f||this.Pf&&(this.G-=f),f=0;this.Ka+=this.ha;this.S+=f;c(d,f)}else K(this),this.i&&this.i.stop(pa(),Sc(this))};l.Ab=function(){return 0};l.ma=function(a){eb(this,!0);Xc(this);Vc(this,this.J);this.J=0;if(this.u.ja){this.u.ja=!1;this.fa&&this.fa.stop();var b=this.I.run;b&&(b.textContent="Run")}this.u.complete=a};function K(a,b){a.i&&a.i.Aa(b)} +function Yc(a){this.Vc=+a.model||1170;this.ic=a.resetAddr||0;xc.call(this,a,1E6);this.Eb=0;this.decode=Zc.bind(this);this.T=65536;this.U=32768;this.Y=65535;this.W=32768;this.N=15;this.g=[0,0,0,0,0,0,0,this.ic];this.cb=[0,0,0,0,0,0];this.Da=[0,0,0,0];this.wa=this.A=0;this.ka=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.Vb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.M=0;this.kb=70;this.da=-1;this.na=0;$c(this);this.u.complete=this.u.Kc=!1}w(Yc,xc);l=Yc.prototype;l.reset=function(){this.u.ja&&this.ma();$c(this);Ac(this);this.u.error=!1;this.parent.reset.call(this)}; +function $c(a){a.bb=255;a.H=0;a.mc=0;a.B=0;a.ab=0;a.cc=0;a.mb=0;a.Zb=0;a.ra=0;a.$b=[7,7,7,7];a.j=[];a.Qa=2;Ob(a)}function Ob(a){a.Zb?(a.Sa=65536,a.aa=a.Rc,a.Qb=a.za):(a.Sa=0,a.aa=a.Qc,a.Qb=a.bc)}l.yc=function(){return 0};l.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.Z,this.$a]);a.set(2,Hb(this.F));return a.data()}; l.restore=function(a){var b=a[1];this.Z=b[1];Uc(this,b[3]);a:{b=this.F;a=a[2];var c;for(c=0;cb){a.j[e].Ga-=b;break}b-=a.j[e].Ga}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Qa=2}function Yb(a){return a.N=a.N&63728|a.Na()|bd(a)|ad(a)|M(a)} -function Zb(a,b){a.W=b<<12;a.Y=~b&4;a.U=b<<14;a.T=b<<16;if((b^a.N)&2048)for(var c=a.cb.length;0<=--c;){var d=a.g[c];a.g[c]=a.cb[c];a.cb[c]=d}a.A=b>>14&3;c=a.N>>14&3;a.A!=c&&(a.Ca[c]=a.g[6],a.g[6]=a.Ca[a.A]);a.Qa=2;a.N=b}function cd(a,b,c){a.M&128||(a.W=a.Y=a.T=b,a.U=c||0)}function N(a,b){a.M&128||(a.W=a.Y=b,a.U=0)}function dd(a,b,c,d){a.M&128||(a.W=a.Y=a.T=b,a.U=(c^b)&(d^b))}function ed(a,b){a.M&128||(a.W=a.Y=a.T=b,a.U=a.W^a.T>>1)}function fd(a,b,c,d){a.M&128||(a.W=a.Y=a.T=b,a.U=(c^d)&(d^b))} -function J(a,b){var c=!1;0>a.da?a.da=Yb(a):a.A||(b=4,c=!0);a.B&57344||(a.Sa=63222,a.Yb=b);a.A=0;var d=a.ya(b|65536),f=a.ya(b+2&65535|65536);Zb(a,f&53247|a.da>>2&12288);c&&(a.H|=4,a.g[6]=4);gd(a,a.da);gd(a,a.g[7]);a.g[7]=d;a.M&=-113;a.da=-1;throw b;}function hd(a){var b=id(a),c=id(a)&-1793;a.N&49152&&(c=c&-225|a.N&63712);a.g[7]=b&65535;Zb(a,c);a.M&=-17}function fc(a,b){var c=b>>13&31;31>c?a.gb&32&&(b=a.Vb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} -function jd(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.A];f=a.ka[a.A][d];e=(a.ka[a.A][d+16]<<6)+(b&8191)&4194303;a.gb&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,J(a,4)),e&1&&!(c&1)&&(a.H|=64,J(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.ka[a.A][d]=f;if(4194170!==e||a.A)a.ra=a.A,a.va=d;g&&(g&57344&&(0<=a.da&&(g|=128),a.B&57344||(a.B=a.B|g|a.ra<<5|a.va<<1),J(a,168)),a.B&61440||!(4191360>e||4194239>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.bb||65534<=a.g[6])&&(a.g[6]<=a.bb-32||65534<=a.g[6]?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=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);if(0>(d=a.ya(d)))return 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);if(0>(d=a.ya(d)))return d; -d|=g;break;case 6:if(0>(d=a.ya(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return d|g;case 7:if(0>(d=a.ya(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return 0>(d=a.ya(d|65536))?d:d|g}a.g[e]=a.g[e]+f&65535;!g||a.B&57344||(a.Sa=a.Sa<<8|f<<3&248|e);6===e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.bb||65534<=a.g[6])&&(a.g[6]<=a.bb-32?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=64));return d}l.Qc=function(a,b){return kd(this,a,b)};l.Rc=function(a,b){return jd(this,kd(this,a,b),b)}; -function ld(a,b,c){b&56?(b=kd(a,b,0),c&65536||61440!==(a.N&61440)&&(b&=65535),a.A=a.N>>12&3,c=a.ya(b|c&65536),a.A=a.N>>14&3):(c=b&7,c=6!=c||(a.N>>2&12288)===(a.N&12288)?a.g[c]:a.Ca[a.N>>12&3]);return c}function md(a,b,c,d){a.B&57344||(a.Sa=22);b&56?(b=kd(a,b,0),c&65536||(b&=65535),a.A=a.N>>12&3,b=jd(a,b|c&65536,4),a.A=a.N>>14&3,a.F.pb(b,d&65535)):(c=b&7,6!=c||(a.N>>2&12288)===(a.N&12288)?a.g[c]=d:a.Ca[a.N>>12&3]=d)}function O(a,b){return b&56?a.Qb(kd(a,b,2)):a.g[b&7]} -function nd(a,b){b&56?(b=a.aa(b,3),a=a.F.sb(b)):a=a.g[b&7]&255;return a}function P(a,b,c,d){b&56?(b=a.aa(b,6),c=d.call(a,c,a.cc(b)),a.F.pb(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function R(a,b,c,d){b&56?(b=a.aa(b,7),c=d.call(a,c,a.F.sb(b)),a.F.Ub(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function od(a,b,c){b&56?(b=a.aa(b,4),a.F.pb(b,c&65535)):a.g[b&7]=c&65535;return c} +l.ua=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.I[b]=c;this.Eb++;a=!0;break;default:a=this.parent.ua.call(this,a,b,c)}return a}; +l.Aa=function(a){if(this.Eb&&(a||!this.u.ja||this.u.wc)){for(a=0;ab){a.j[e].Ha-=b;break}b-=a.j[e].Ha}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Qa=2}function Yb(a){return a.N=a.N&63728|a.Na()|bd(a)|ad(a)|M(a)} +function Zb(a,b){a.W=b<<12;a.Y=~b&4;a.U=b<<14;a.T=b<<16;if((b^a.N)&2048)for(var c=a.cb.length;0<=--c;){var d=a.g[c];a.g[c]=a.cb[c];a.cb[c]=d}a.A=b>>14&3;c=a.N>>14&3;a.A!=c&&(a.Da[c]=a.g[6],a.g[6]=a.Da[a.A]);a.Qa=2;a.N=b}function cd(a,b,c){a.M&128||(a.W=a.Y=a.T=b,a.U=c||0)}function N(a,b){a.M&128||(a.W=a.Y=b,a.U=0)}function dd(a,b,c,d){a.M&128||(a.W=a.Y=a.T=b,a.U=(c^b)&(d^b))}function ed(a,b){a.M&128||(a.W=a.Y=a.T=b,a.U=a.W^a.T>>1)}function fd(a,b,c,d){a.M&128||(a.W=a.Y=a.T=b,a.U=(c^d)&(d^b))} +function J(a,b){var c=!1;0>a.da?a.da=Yb(a):a.A||(b=4,c=!0);a.B&57344||(a.ab=63222,a.cc=b);a.A=0;var d=a.za(b|65536),f=a.za(b+2&65535|65536);Zb(a,f&-12289|a.da>>2&12288);c&&(a.H|=4,a.g[6]=4);gd(a,a.da);gd(a,a.g[7]);a.g[7]=d;a.M&=-113;a.da=-1;throw b;}function hd(a){var b=id(a),c=id(a)&-1793;a.N&49152&&(c=c&-225|a.N&63712);a.g[7]=b&65535;Zb(a,c);a.M&=-17}function fc(a,b){var c=b>>13&31;31>c?a.mb&32&&(b=a.Vb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} +function jd(a,b,c){var d,f,e,g=0;if(c&a.Zb){d=b>>13&a.$b[a.A];f=a.ka[a.A][d];e=(a.ka[a.A][d+16]<<6)+(b&8191)&4194303;a.mb&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,J(a,4)),e&1&&!(c&1)&&(a.H|=64,J(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.ka[a.A][d]=f;if(4194170!==e||a.A)a.ra=a.A,a.wa=d;g&&(g&57344&&(0<=a.da&&(g|=128),a.B&57344||(a.B=a.B|g|a.ra<<5|a.wa<<1),J(a,168)),a.B&61440||!(4191360>e||4194239>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.bb||65534<=a.g[6])&&(a.g[6]<=a.bb-32||65534<=a.g[6]?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=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);if(0>(d=a.za(d)))return 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);if(0>(d=a.za(d)))return d; +d|=g;break;case 6:if(0>(d=a.za(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return d|g;case 7:if(0>(d=a.za(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return 0>(d=a.za(d|65536))?d:d|g}a.g[e]=a.g[e]+f&65535;!g||a.B&57344||(a.ab=a.ab<<8|f<<3&248|e);6==e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.bb||65534<=a.g[6])&&(a.g[6]<=a.bb-32?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=64));return d}l.Qc=function(a,b){return kd(this,a,b)};l.Rc=function(a,b){return jd(this,kd(this,a,b),b)}; +function ld(a,b,c){b&56?(b=kd(a,b,0),c&65536||61440!==(a.N&61440)&&(b&=65535),a.A=a.N>>12&3,c=a.za(b|c&65536),a.A=a.N>>14&3):(c=b&7,c=6!=c||(a.N>>2&12288)===(a.N&12288)?a.g[c]:a.Da[a.N>>12&3]);return c}function md(a,b,c,d){a.B&57344||(a.ab=22);b&56?(b=kd(a,b,0),c&65536||(b&=65535),a.A=a.N>>12&3,b=jd(a,b|c&65536,4),a.A=a.N>>14&3,a.F.pb(b,d&65535)):(c=b&7,6!=c||(a.N>>2&12288)===(a.N&12288)?a.g[c]=d:a.Da[a.N>>12&3]=d)}function O(a,b){return b&56?a.Qb(kd(a,b,2)):a.g[b&7]} +function nd(a,b){b&56?(b=a.aa(b,3),a=a.F.sb(b)):a=a.g[b&7]&255;return a}function P(a,b,c,d){b&56?(b=a.aa(b,6),c=d.call(a,c,a.bc(b)),a.F.pb(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function R(a,b,c,d){b&56?(b=a.aa(b,7),c=d.call(a,c,a.F.sb(b)),a.F.Ub(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function od(a,b,c){b&56?(b=a.aa(b,4),a.F.pb(b,c&65535)):a.g[b&7]=c&65535;return c} function pd(a,b,c,d){b&56?(d=a.aa(b,5),a.F.Ub(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 S(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535} -l.Ab=function(a){this.u.complete=!0;var b=this.u.Kc=this.C&&qd(this.C),c=a?this.u.oc?0:1:-1;this.u.oc=!1;this.V=this.b=a;do{if(b){if(rd(this.C,this.g[7],c)){this.ma();break}c=1}this.M&112&&(this.M&32?J(this,168):this.M&64?J(this,4):this.M&16&&J(this,12),this.M&=-113);if(this.Qa)if(1==this.Qa)this.Qa=2;else{this.Qa=0;a=null;for(var d=this.mc&224,f=this.j.length;0<=--f;){if(0 -d&&(d=this.j[f].Wc,a=this.j[f],this.j.splice(f,1))}d>(this.N&224)&&(a?J(this,a.ld):J(this,160))}this.B&57344||(this.Sa=0,this.Yb=this.g[7]);this.M=this.N&16;a=this.ya(this.g[7]);0<=a&&(this.g[7]=this.g[7]+2&65535);this.decode(a)}while(0 +d&&(d=this.j[f].Wc,a=this.j[f],this.j.splice(f,1))}d>(this.N&224)&&(a?J(this,a.md):J(this,160))}this.B&57344||(this.ab=0,this.cc=this.g[7]);this.M=this.N&16;a=this.za(this.g[7]);0<=a&&(this.g[7]=this.g[7]+2&65535);this.decode(a)}while(0>1|b<<16;ed(this,a);return a&65535}function xd(a,b){a=b&2048|b>>1|b<<8;ed(this,a<<8);return a&255}function yd(a,b){a=b&~a;N(this,a);return a}function zd(a,b){a=b&~a;N(this,a<<8);return a}function Ad(a,b){a|=b;N(this,a);return a}function Bd(a,b){a|=b;N(this,a<<8);return a} function Cd(a,b){a=~b|65536;cd(this,a);return a&65535}function Dd(a,b){a=~b|256;cd(this,a<<8);return a&255}function Ed(a,b){a=b-a;this.M&128||(this.W=this.Y=a,this.U=b&(b^a));return a&65535}function Fd(a,b){a=b-a;var c=a<<8;b<<=8;this.M&128||(this.W=this.Y=c,this.U=b&(b^c));return a&255}function Gd(a,b){a=b+a;this.M&128||(this.W=this.Y=a,this.U=a&(b^a));return a&65535}function Hd(a,b){a=b+a;var c=a<<8;this.M&128||(this.W=this.Y=c,this.U=c&(b<<8^c));return a&255} function Id(a,b){a=-b;cd(this,a,a&b&32768);return a&65535}function Jd(a,b){a=-b;cd(this,a<<8,(a&b&128)<<8);return a&255}function Kd(a,b){a=b<<1|this.T>>16&1;ed(this,a);return a&65535}function Ld(a,b){a=b<<1|this.T>>16&1;ed(this,a<<8);return a&255}function Md(a,b){a=(this.T&65536|b)>>1|b<<16;ed(this,a);return a&65535}function Nd(a,b){a=((this.T&65536)>>8|b)>>1|b<<8;ed(this,a<<8);return a&255}function Od(a,b){var c=b-a;fd(this,c,a,b);return c&65535} @@ -108,52 +108,52 @@ var xe=[function(a){ye[a>>8&15].call(this,a)},function(a){N(this,od(this,a,O(thi --this.b},function(a){var b=nd(this,a>>6)<<8;a=nd(this,a)<<8;fd(this,b-a,a,b);--this.b},function(a){N(this,(nd(this,a>>6)&nd(this,a))<<8);--this.b},function(a){R(this,a,nd(this,a>>6),zd);--this.b},function(a){R(this,a,nd(this,a>>6),Bd);--this.b},function(a){P(this,a,O(this,a>>6),Od);--this.b},W],ye=[function(a){Be[a>>4&15].call(this,a)},function(a){S(this,a);--this.b},function(a){bd(this)||S(this,a);--this.b},function(a){bd(this)&&S(this,a);--this.b},function(a){!this.Na()==!ad(this)&&S(this,a);--this.b}, function(a){!this.Na()!=!ad(this)&&S(this,a);--this.b},function(a){bd(this)||!this.Na()!=!ad(this)||S(this,a);--this.b},function(a){(bd(this)||!this.Na()!=!ad(this))&&S(this,a);--this.b},Ud,Ud,function(a){Ce[a>>6&3].call(this,a)},function(a){De[a>>6&3].call(this,a)},function(a){Ee[a>>6&3].call(this,a)},function(a){Fe[a>>6&3].call(this,a)},W,W],Be=[function(a){Ge[a&15].call(this,a)},W,W,W,W,W,W,W,function(a){var b=id(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.N&49152||(this.N= this.N&-2017|(a&7)<<5,this.Qa=1);--this.b},function(a){He[a&15].call(this,a)},function(a){Ie[a&15].call(this,a)},W,W,W,W],He=[Wd,function(){this.T=0;--this.b},function(){this.U=0;--this.b},T,function(){this.Y=1;--this.b},T,T,T,function(){this.W=0;--this.b},T,T,T,T,T,T,T],Ie=[Wd,function(){this.T=65536;--this.b},function(){this.U=32768;--this.b},V,function(){this.Y=0;--this.b},V,V,V,function(){this.W=32768;--this.b},V,V,V,V,V,V,V],Ge=[function(){this.N&49152?(this.H|=128,J(this,4)):(this.na=3,Xc(this)); ---this.b},function(){for(var a=0,b=this.j.length;0<=--b;)a+=this.j[b].Ga,this.j[b].Ga=0;a||0!==this.na||(this.na=2,Xc(this));--this.b},function(){hd(this);this.M|=this.N&16;--this.b},function(){J(this,12);--this.b},function(){J(this,16);--this.b},function(){this.N&49152||($c(this),this.F.reset());--this.b},function(){hd(this);--this.b},W,W,W,W,W,W,W,W,W],ze=[Vd,Vd,Td,Td,Rd,Rd,Sd,Sd,we,we,W,W,W,W,ve,ve],Ae=[function(a){this.Na()||S(this,a);--this.b},function(a){this.Na()&&S(this,a);--this.b},function(a){M(this)|| +--this.b},function(){for(var a=0,b=this.j.length;0<=--b;)a+=this.j[b].Ha,this.j[b].Ha=0;a||0!==this.na||(this.na=2,Xc(this));--this.b},function(){hd(this);this.M|=this.N&16;--this.b},function(){J(this,12);--this.b},function(){J(this,16);--this.b},function(){this.N&49152||($c(this),this.F.reset());--this.b},function(){hd(this);--this.b},W,W,W,W,W,W,W,W,W],ze=[Vd,Vd,Td,Td,Rd,Rd,Sd,Sd,we,we,W,W,W,W,ve,ve],Ae=[function(a){this.Na()||S(this,a);--this.b},function(a){this.Na()&&S(this,a);--this.b},function(a){M(this)|| bd(this)||S(this,a);--this.b},function(a){(M(this)||bd(this))&&S(this,a);--this.b},function(a){ad(this)||S(this,a);--this.b},function(a){ad(this)&&S(this,a);--this.b},function(a){M(this)||S(this,a);--this.b},function(a){M(this)&&S(this,a);--this.b},function(){J(this,24);--this.b},function(){J(this,28);--this.b},function(a){Je[a>>6&3].call(this,a)},function(a){Ke[a>>6&3].call(this,a)},function(a){Le[a>>6&3].call(this,a)},function(a){Me[a>>6&3].call(this,a)},W,W],Ce=[function(a){cd(this,od(this,a,0)); --this.b},function(a){P(this,a,0,Cd);--this.b},function(a){P(this,a,1,Gd);--this.b},function(a){P(this,a,1,Ed);--this.b}],De=[function(a){P(this,a,0,Id);--this.b},function(a){P(this,a,M(this)?1:0,sd);--this.b},function(a){P(this,a,M(this)?1:0,Od);--this.b},function(a){a=O(this,a);cd(this,a);--this.b}],Ee=[function(a){P(this,a,0,Md);--this.b},function(a){P(this,a,0,Kd);--this.b},function(a){P(this,a,0,wd);--this.b},function(a){P(this,a,0,ud);--this.b}],Fe=[function(a){a=this.g[7]+((a&63)<<1)&65535; -var b=this.ya(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;this.g[5]=b;--this.b},function(a){a=ld(this,a,0);gd(this,a);N(this,a);--this.b},function(a){var b=id(this);md(this,a,0,b);N(this,b);--this.b},function(a){N(this,od(this,a,this.Na?65535:0));--this.b}],Je=[function(a){cd(this,pd(this,a,0));--this.b},function(a){R(this,a,0,Dd);--this.b},function(a){R(this,a,1,Hd);--this.b},function(a){R(this,a,1,Fd);--this.b}],Ke=[function(a){R(this,a,0,Jd);--this.b},function(a){R(this,a,M(this)?1: +var b=this.za(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;this.g[5]=b;--this.b},function(a){a=ld(this,a,0);gd(this,a);N(this,a);--this.b},function(a){var b=id(this);md(this,a,0,b);N(this,b);--this.b},function(a){N(this,od(this,a,this.Na?65535:0));--this.b}],Je=[function(a){cd(this,pd(this,a,0));--this.b},function(a){R(this,a,0,Dd);--this.b},function(a){R(this,a,1,Hd);--this.b},function(a){R(this,a,1,Fd);--this.b}],Ke=[function(a){R(this,a,0,Jd);--this.b},function(a){R(this,a,M(this)?1: 0,td);--this.b},function(a){R(this,a,M(this)?1:0,Pd);--this.b},function(a){a=nd(this,a);cd(this,a<<8);--this.b}],Le=[function(a){R(this,a,0,Nd);--this.b},function(a){R(this,a,0,Ld);--this.b},function(a){R(this,a,0,xd);--this.b},function(a){R(this,a,0,vd);--this.b}],Me=[W,function(a){a=ld(this,a,65536);gd(this,a);N(this,a);--this.b},function(a){var b=id(this);md(this,a,65536,b);N(this,b);--this.b},W]; -function Ne(a){u.call(this,"ROM",a,Ne);this.i=null;this.D=a.addr;this.j=a.size;this.G=a.writable;this.A=a.alias;this.B=a.file;this.J=ga(this.B);if(this.B){a=this.B;var b=ha(this.J);"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){Oe(c,a,b,e)})}}w(Ne);Ne.prototype.Ya=function(a,b,c,d){this.F=b;this.b=c;this.C=d;Pe(this)}; -Ne.prototype.Pa=function(){if(this.La){if(this.C){var a=this.C,b=this.id,c=this.D,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.vc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({rd:b,w:c,Sc:d,La:f,tc:e})}delete this.La}return!0};Ne.prototype.Oa=function(){return!0}; +function Ne(a){u.call(this,"ROM",a,Ne);this.i=null;this.D=a.addr;this.j=a.size;this.G=a.writable;this.A=a.alias;this.B=a.file;this.J=ga(this.B);if(this.B){a=this.B;var b=ha(this.J);"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){Oe(c,a,b,e)})}}w(Ne);Ne.prototype.Xa=function(a,b,c,d){this.F=b;this.b=c;this.C=d;Pe(this)}; +Ne.prototype.Pa=function(){if(this.La){if(this.C){var a=this.C,b=this.id,c=this.D,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.vc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({td:b,w:c,Sc:d,La:f,tc:e})}delete this.La}return!0};Ne.prototype.Oa=function(){return!0}; function Oe(a,b,c,d){if(d)a.pa("Unable to load system ROM (error "+d+": "+b+")");else{Za(a.rc,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){t("Empty ROM: "+ b);return}if(1==a.i.length){t(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.X].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.X;0>>=f.X;0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +g-=f.Ca;f=e.F;e=e.j;g=0;for(d>>>=f.X;0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function Ue(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.ca?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 Ve(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 We(a,b,c){var d;if(b){b=Xe(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f>=1;g=n+g;d>>=8}d=r(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+d);return f} function $e(a,b){if(b)return Ze(a,b,a.ha[b]);var c=0;for(b in a.ha)Ze(a,b,a.ha[b]),c++;return 0>>d.F.X;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=Fb[c],n&&d.f(r(n.id,8)+" %"+r(f<>>c.X].Pb(d&c.i,d),b&&kf(a,b));return c};l.Ia=function(a,b){var c=65535,d=this.aa(a,!1,2);-1!==d&&(c=Gb(this.F,d),b&&kf(a,b));return c}; -l.Ub=function(a,b,c){var d=this.aa(a,!0,1);if(-1!==d){var f=this.F;f.L[(d&f.j)>>>f.X].Cb(d&f.i,b&255,d);c&&kf(a,c);K(this.b,!0)}};l.pb=function(a,b,c){var d=this.aa(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.X;e!=f.i?f.L[g].qc(e,b&65535,d):(f.L[g++].Cb(e,b&255,d),f.L[g&f.A].Cb(0,b>>8&255,d+1));c&&kf(a,c);K(this.b,!0)}};function Y(a){return{w:a,Ha:!1}}function lf(a){return[a.w,a.Ha]}function mf(a){return{w:a[0],Ha:a[1]}} +l.Xa=function(a,b,c,d){this.F=b;this.b=c;this.i=a;(a=zc(a,"messages"))&&df(this,a);this.Kb=gf;hf(this,function(a){a:{var b=d.F.L,c=a[0],f=a=0,k=b.length;if(c){a=d.aa(jf(d,c));if(-1===a){d.f("invalid address: "+c);break a}f=a>>>d.F.X;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=Fb[c],n&&d.f(r(n.id,8)+" %"+r(f<>>c.X].Pb(d&c.i,d),b&&kf(a,b));return c};l.Ja=function(a,b){var c=65535,d=this.aa(a,!1,2);-1!==d&&(c=Gb(this.F,d),b&&kf(a,b));return c}; +l.Ub=function(a,b,c){var d=this.aa(a,!0,1);if(-1!==d){var f=this.F;f.L[(d&f.j)>>>f.X].Cb(d&f.i,b&255,d);c&&kf(a,c);K(this.b,!0)}};l.pb=function(a,b,c){var d=this.aa(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.X;e!=f.i?f.L[g].qc(e,b&65535,d):(f.L[g++].Cb(e,b&255,d),f.L[g&f.A].Cb(0,b>>8&255,d+1));c&&kf(a,c);K(this.b,!0)}};function Y(a){return{w:a,Ia:!1}}function lf(a){return[a.w,a.Ia]}function mf(a){return{w:a[0],Ia:a[1]}} function jf(a,b,c){var d;c=(c?a.S:a.Eb).w;if(void 0!==b){d=b=Xe(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;dd&&(d+=b.length);0>d&&(d=0);for(var f=b.length;d>>d.X],!1)}a.V=["br"];if(a.D)for(b=1;b>>d.X],!0);a.D=["bw"];a.Fb=0} -l.jb=function(a,b,c){var d=!0;c||sf(this,a,b,!1,!0);if(a!=this.j){var f=this.aa(b);if(-1===f)this.f("invalid address: "+X(this,b.w)),d=!1;else{var e=this.F;e.L[f>>>e.X].jb(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Ha=!0:(tf(this,a,a.length-1,"set"),cf(this)));return d};function sf(a,b,c,d,f){var e=!1;c=a.aa(c);for(var g=1;g>>d.X],b==a.D));h.Ha||cf(a);break}}return e} -function uf(a,b){for(var c=1;c>23)&65535,x=X(q,p);else if(8192==A)p=p.w-((e&63)<<1)&65535,x=X(q,p);else if(12288==A)x=X(q,e&7,1);else if(24576==A)x=X(q,e&63,1);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:x=xf(z);break;case 8:x="@"+xf(z);break;case 16:7>z?x="("+xf(z)+ -")+":(A=q.Ia(p,2),x="#"+X(q,A,0,!0));break;case 24:7>z?x="@("+xf(z)+")+":(A=q.Ia(p,2),x="@#"+X(q,A,0,!0));break;case 32:x="-("+xf(z)+")";break;case 40:x="@-("+xf(z)+")";break;case 48:A=q.Ia(p,2);x=X(q,A,0,!0)+"("+xf(z)+")";7==z&&(x=[x,X(q,A+p.w&65535)]);break;case 56:A=q.Ia(p,2),x="@"+X(q,A)+"("+xf(z)+")",7==z&&(x=[x,X(q,A+p.w&65535)])}q=x;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0a?"R"+a:6==a?"SP":"PC"} -function zf(a,b){var c="",d=a.b;8>b?(c=xf(b),c+="="+X(a,d.g[b])):13>b?c="A"+(b-8)+"="+X(a,d.cb[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+X(a,d.Ca[b-16]):20==b&&(c="PS="+X(a,Yb(d)));c&&(c+=" ");return c}function Af(a){var b,c="";for(b=0;6>b;b++)c+=zf(a,b);c=c+"\n"+(zf(a,6)+zf(a,7)+zf(a,20));return c+=yf(a,"T")+yf(a,"N")+yf(a,"Z")+yf(a,"V")+yf(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]>>d.X],!1)}a.V=["br"];if(a.D)for(b=1;b>>d.X],!0);a.D=["bw"];a.Fb=0} +l.ib=function(a,b,c){var d=!0;c||sf(this,a,b,!1,!0);if(a!=this.j){var f=this.aa(b);if(-1===f)this.f("invalid address: "+X(this,b.w)),d=!1;else{var e=this.F;e.L[f>>>e.X].ib(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Ia=!0:(tf(this,a,a.length-1,"set"),cf(this)));return d};function sf(a,b,c,d,f){var e=!1;c=a.aa(c);for(var g=1;g>>d.X],b==a.D));h.Ia||cf(a);break}}return e} +function uf(a,b){for(var c=1;c>23)&65535,x=X(q,p);else if(8192==A)p=p.w-((e&63)<<1)&65535,x=X(q,p);else if(12288==A)x=X(q,e&7,1);else if(24576==A)x=X(q,e&63,1);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:x=xf(z);break;case 8:x="@"+xf(z);break;case 16:7>z?x="("+xf(z)+ +")+":(A=q.Ja(p,2),x="#"+X(q,A,0,!0));break;case 24:7>z?x="@("+xf(z)+")+":(A=q.Ja(p,2),x="@#"+X(q,A,0,!0));break;case 32:x="-("+xf(z)+")";break;case 40:x="@-("+xf(z)+")";break;case 48:A=q.Ja(p,2);x=X(q,A,0,!0)+"("+xf(z)+")";7==z&&(x=[x,X(q,A+p.w&65535)]);break;case 56:A=q.Ja(p,2),x="@"+X(q,A)+"("+xf(z)+")",7==z&&(x=[x,X(q,A+p.w&65535)])}q=x;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0a?"R"+a:6==a?"SP":"PC"} +function zf(a,b){var c="",d=a.b;8>b?(c=xf(b),c+="="+X(a,d.g[b])):13>b?c="A"+(b-8)+"="+X(a,d.cb[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+X(a,d.Da[b-16]):20==b&&(c="PS="+X(a,Yb(d)));c&&(c+=" ");return c}function Af(a){var b,c="";for(b=0;6>b;b++)c+=zf(a,b);c=c+"\n"+(zf(a,6)+zf(a,7)+zf(a,20));return c+=yf(a,"T")+yf(a,"N")+yf(a,"Z")+yf(a,"V")+yf(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]>>0;for(b=0;b>>0,h=e.Sc;if(f>=g&&fb)){d.g[b]=e&65535;break}a.f("unknown register: "+f);return}K(d);a.f("updated registers:")}a.f(Af(a));c&&(a.S=Y(d.g[7]),qf(a,X(a,a.S.w)))}}function Ff(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):We(a,b,!0)} function Gf(a,b,c){var d="t"!=b;c=Ye(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return db(a,!0)&&a.Ab(f,d,!1)},function(){K(a.b);db(a,!1)})} function qf(a,b,c,d){if(b=jf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=jf(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=wf(a,b,g,e);a.f(e);a.S=b;f-=b.w-k;c++}}} -function vf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(">> "+b):(a.ca&&(a.f("ended assemble at "+X(a,a.ba.w)),a.S=a.ba,a.ca=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.xa=null;if(fb(a)&&0m||"z"> "+b):(a.ca&&(a.f("ended assemble at "+X(a,a.ba.w)),a.S=a.ba,a.ca=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.ya=null;if(fb(a)&&0m||"z"da.length&&(a.f("note: only "+da.length+" available"),U=da.length);Z-=U;0>Z&&(null==da[da.length-1].w?(U=Z+U,Z=0):Z+=da.length);var Ec=[];"call"==be&&(gb=1E5,Ec=["CALL"]);for(void 0!==ae&&a.f(U+" instructions earlier:");0=da.length&&(Z= -0);a.Ib=U;de++;gb--}}de||(a.f("no "+ce+"history available"),a.Ib=void 0)}else{var Pb=jf(a,ca);if(Pb){var Qb=0;ua&&("l"==ua.charAt(0)&&(ua=ua.substr(1)||Zf),Qb=Ye(a,ua)>>>0,65536>4||1;ag--&&0Sb?String.fromCharCode(Sb): -".";Rb--}ib&&(ib+="\n");ib+=ca+" "+Gc+(0==kb?" "+ge:"")}ib&&a.f(ib);a.Eb=Pb}}}}break;case "e":if("else"==e[0])break;var Tb=1,he=255,ie=a.sb,je=a.Ub;"ew"==e[0]&&(Tb=2,he=65535,ie=a.Ia,je=a.pb);var ke=Tb<<1,le=e[1];if(null==le)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 Ub=jf(a,le);if(Ub)for(var Vb=2;VbKc;){for(var va=null,eg=256;65536>nb.w>>>0;){ne.w=a.Ia(nb,2);if(null==nb.w||!eg--)break;for(var fg=a,Wb=ne,oe=null,ob=Wb.w,pe=ob,Lc=1;6>=Lc&&ob;Lc++){if(2>>0,65536>4||1;ag--&&0Sb?String.fromCharCode(Sb): +".";Rb--}ib&&(ib+="\n");ib+=ca+" "+Gc+(0==kb?" "+ge:"")}ib&&a.f(ib);a.Eb=Pb}}}}break;case "e":if("else"==e[0])break;var Tb=1,he=255,ie=a.sb,je=a.Ub;"ew"==e[0]&&(Tb=2,he=65535,ie=a.Ja,je=a.pb);var ke=Tb<<1,le=e[1];if(null==le)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 Ub=jf(a,le);if(Ub)for(var Vb=2;VbKc;){for(var va=null,eg=256;65536>nb.w>>>0;){ne.w=a.Ja(nb,2);if(null==nb.w||!eg--)break;for(var fg=a,Wb=ne,oe=null,ob=Wb.w,pe=ob,Lc=1;6>=Lc&&ob;Lc++){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;b\nLicense: GPL version 3 or later ");this.f("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;bb?this.yb=this.id:(this.Nb=this.id.substr(0,b),this.yb=this.id.substr(b+1));this[a]=c;this.g={ready:!1,ab:!1,Bb:!1,M:!1,error:!1};this.pb=null;this.g.error=!1;this.v={};this.I=null;w.push(this)}var xa=void 0,ya={}; +function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Mb=b.comment;this.gc=b;b=this.id.indexOf(".");0>b?this.yb=this.id:(this.Nb=this.id.substr(0,b),this.yb=this.id.substr(b+1));this[a]=c;this.g={ready:!1,ab:!1,Bb:!1,M:!1,error:!1};this.ob=null;this.g.error=!1;this.v={};this.I=null;w.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 x(a,b){b||(b=v);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={}),w=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},w=[];function Ea(a,b,c){Da[a]&&b&&(Da[a][b]=c)}function y(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.h-1;this.l=this.s/this.h|0;this.K=this.l-1;this.pa=[];this.C=null;this.bb=this.T;a=new F;La(a,this.I);this.b=Array(this.l);for(b=0;b>8:d[2](b)&255}else if(b&1&&(d=c.pa[a&-2],d[2]))return d[2](b&-2)>>8;c.N("warning: unconverted read access to byte @"+ba(b));return c.bb(b,-1,1)} -function Na(a,b,c){var d=this.controller,f=d.pa[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.pa[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.N("warning: unconverted write access to byte @"+ba(c));d.bb(c,b,1)} -function Oa(a,b){var c=this.controller;if(a=c.pa[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.N("warning: unconverted read access to word @"+ba(b));return c.bb(b,-1,0)}function Pa(a,b,c){var d=this.controller;if(a=d.pa[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.N("warning: unconverted write access to word @"+ba(c));d.bb(c,b,0)}E.prototype.reset=function(){this.C&&this.C()};E.prototype.T=function(){return 0}; -E.prototype.xa=function(a,b){b||this.reset();return!0};function Qa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0g&&(q=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Xa)return k.wb+=k.Xa-e,k.Xa=e,!0;if(e>=k.Xa+k.wb){q=k.size-(e-m);q>g&&(q=g);k.wb=e-k.Xa+q;e=m+a.h;g-=q;h++;continue}}return Sa(1,e,g)}e=new F(e,q,a.h,d,f);La(e,a.I,k);a.b[h++]=e;e=m+a.h;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ta[d]+" at "+n(b,8,!0)),!0):Sa(2,b,c)} -function Ua(a,b){return a.b[(b&a.j)>>>a.f].eb(b&a.i,b)}function Va(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.K].Wa(0,c>>8&255,b+1))}function Wa(a){for(var b=0,c=[],d=0;d>1)+2;10>this.f&&(this.f=10);15>2;this.i=this.h-1;this.l=this.s/this.h|0;this.K=this.l-1;this.oa=[];this.C=null;this.bb=this.T;a=new F;La(a,this.I);this.b=Array(this.l);for(b=0;b>8:d[2](b)&255}else if(b&1&&(d=c.oa[a&-2],d[2]))return d[2](b&-2)>>8;c.N("warning: unconverted read access to byte @"+ba(b));return c.bb(b,-1,1)} +function Na(a,b,c){var d=this.controller,f=d.oa[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.oa[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.N("warning: unconverted write access to byte @"+ba(c));d.bb(c,b,1)} +function Oa(a,b){var c=this.controller;if(a=c.oa[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.N("warning: unconverted read access to word @"+ba(b));return c.bb(b,-1,0)}function Pa(a,b,c){var d=this.controller;if(a=d.oa[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.N("warning: unconverted write access to word @"+ba(c));d.bb(c,b,0)}E.prototype.reset=function(){this.C&&this.C()};E.prototype.T=function(){return 0}; +E.prototype.wa=function(a,b){b||this.reset();return!0};function Qa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0g&&(q=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Xa)return k.wb+=k.Xa-e,k.Xa=e,!0;if(e>=k.Xa+k.wb){q=k.size-(e-m);q>g&&(q=g);k.wb=e-k.Xa+q;e=m+a.h;g-=q;h++;continue}}return Sa(1,e,g)}e=new F(e,q,a.h,d,f);La(e,a.I,k);a.b[h++]=e;e=m+a.h;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ta[d]+" at "+n(b,8,!0)),!0):Sa(2,b,c)} +function Ua(a,b){return a.b[(b&a.j)>>>a.f].eb(b&a.i,b)}function Va(a,b,c){var d=b&a.i,f=(b&a.j)>>>a.f;d!=a.i?a.b[f].Hc(d,c&65535,b):(a.b[f++].Wa(d,c&255,b),a.b[f&a.K].Wa(0,c>>8&255,b+1))}function Wa(a){for(var b=0,c=[],d=0;d>5&3;c.Qa=a>>1&15;c.qb=a&257?a&1?6:4:0;cb(c);a=c.C;a&1|256&&(b=this.a.Fa&16?1:2);this.h.Sa=this.h.Sa&-8|b};l.qc=function(){return this.f.V};l.Gc=function(a){if(128==(this.f.V&192)&&a&64){var b=this;H(this.a,8,4,52,function(){b.f.V|=128;return!!(b.f.V&64)})}this.f.V=this.f.V&128|a&-129};l.pc=function(){return db(this.a)}; -l.Ec=function(a){eb(this.a,a&-1809|db(this.a)&1808);this.a.u|=128}; -function fb(a){var b=a.i,c,d,f,e=b.U>>13&7;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.rc,drive:e,blocksize:256,mapped:0,maxblock:b.Ja[e]*b.F[e],url:"rk"+e+".dsk"});b.A&=-129;switch(b.A>>1&7){case 0:b.gb=2496;b.P=0;b.A=128;b.U=0;break;case 1:if((b.U>>4&511)>=b.Ja[e]){b.P|=32832;b.A|=49152;break}if((b.U&15)>=b.F[e]){b.P|=32800;b.A|=49152;break}c=(b.U>>4&511)*b.F[e]+(b.U&15);d=(b.A&48)<<12|b.fb;f=65536-b.hb&65535;gb(a,b.R[e],c,d,f);return;case 2:if((b.U>>4&511)>=b.Ja[e])b.P|=32832, -b.A|=49152;else if((b.U&15)>=b.F[e])b.P|=32800,b.A|=49152;else{c=(b.U>>4&511)*b.F[e]+(b.U&15);d=(b.A&48)<<12|b.fb;f=65536-b.hb&65535;a.sb(b.R[e],c,d,f);return}}b.gb=e<<13|b.gb&8176|b.U%9&15;H(a.a,20,5,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}l.rc=function(a,b,c,d,f){var e=this.i;e.fb=d&65535;e.A=e.A&-49|d>>12&48;e.hb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}H(this.a,20,5,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})}; -function hb(a){var b=a.j,c,d,f,e=b.o>>8&3;b.o&=-2;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.sc,drive:e,blocksize:128,mapped:1,maxblock:b.Ja[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.o>>1&7){case 2:b.va&8&&(b.o&=63);b.va=b.cc[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.va=b.Aa;break;case 5:if(b.H>>6>=b.Ja[e]){b.o|=37888;break}if((b.H&63)>=b.F[e]){b.o|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63); -d=(b.qa&63)<<16|b.$a;f=65536-b.va&65535;gb(a,b.R[e],c,d,f);return;case 6:if(b.H>>6>=b.Ja[e])b.o|=37888;else if((b.H&63)>=b.F[e])b.o|=37888;else{c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.qa&63)<<16|b.$a;f=65536-b.va&65535;a.sb(b.R[e],c,d,f);return}}H(a.a,20,5,112,function(){b.o|=129;return!!(b.o&64)})} -l.sc=function(a,b,c,d,f){var e=this.j;e.$a=d&65535;e.o=e.o&-49|d>>12&48;e.qa=d>>16&63;e.H=~~(c/e.F[b.ha])<<6|c%e.F[b.ha];e.Aa=e.H;e.va=65536-f&65535;switch(a){case 1:e.o|=33792;break;case 2:e.o|=40960}H(this.a,20,5,112,function(){e.o|=129;return!!(e.o&64)})};function ib(a){a=a.l;a.D=2176;a.aa=0;a.S=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ua=[0,0,0,0,0,0,0,0];a.Na=a.Va=a.Ta=a.za=a.Hb=0} -function jb(a,b){var c=a.l,d,f,e;c.D&=-16513;c.aa&=-2049;c.S[b]&=-1153;H(a.a,-1,0,172);"undefined"===typeof c.R[b]&&(c.R[b]={cache:[],postProcess:a.tc,drive:b,blocksize:256,mapped:0,maxblock:c.xb[0]*c.Ia[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.D&63){case 5:c.vb[b]=c.ja[b];c.D|=32896;c.S[b]|=32896;c.Na|=1<=c.xb[0]||c.ba[b]>>8>=c.Ia[0]||(c.ba[b]&255)>=c.F[0]){c.Ua[b]|=1024;c.D|=49152;break}d=(c.ja[b]*c.Ia[0]+(c.ba[b]>>8))*c.F[0]+ -(c.ba[b]&255);f=(c.za&63)<<16|c.Ta;e=65536-c.Va&65535;gb(a,c.R[b],d,f,e);return;case 57:if(c.ja[b]>=c.xb[0]||c.ba[b]>>8>=c.Ia[0]||(c.ba[b]&255)>=c.F[0])c.Ua[b]|=1024,c.D|=49152;else{d=(c.ja[b]*c.Ia[0]+(c.ba[b]>>8))*c.F[0]+(c.ba[b]&255);f=(c.za&63)<<16|c.Ta;e=65536-c.Va&65535;a.sb(c.R[b],d,f,e);return}}H(a.a,3,5,172,function(){c.D=c.D&65534|128;c.S[b]|=128;return!!(c.D&64)})} -l.tc=function(a,b,c,d,f){var e=this.l;e.Va=65536-f&65535;e.Ta=d&65535;e.D=e.D&-769|d>>8&768;e.za=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Ia[0]);e.ba[b.ha]=f%e.Ia[0]<<8|c%e.F[0];e.vb[b.ha]=e.ja[b.ha]=d;e.Na|=1<=b.lc-1&&(e.S[b.ha]|=1024);switch(a){case 1:e.aa|=512;e.D|=49152;break;case 2:e.aa|=2048,e.D|=49152}H(this.a,20,5,172,function(){e.S[b.ha]|=128;e.D=e.D&65534|128;return!!(e.D&64)})}; -function kb(a,b,c,d,f,e){var g=~~((e+c.ra-1)/c.ra),h=new XMLHttpRequest;2048>g&&d+2048g){b.Eb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Eb(0,b,c,d,f)}l.reset=function(){this.h.Sa=this.h.Sa&-120|20;this.f.ea=0;this.f.V=128;this.b.ua=0;this.i.A=128;this.j.o=128;ib(this)}; -l.bc=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.Gb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Gb=d;e.ia=2}break;case 4194294:if(70!==e.Ka)return J(e,4);0>b?d=e.m:d=e.m=0;break;case 4194292:if(70!==e.Ka)return J(e,4);d=1;break;case 4194290:if(70!==e.Ka)return J(e,4);d=0;break;case 4194288:if(70!==e.Ka)return J(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.Ka)return J(e,4);f=a-4194272>>1;0>b?d=e.Db[f]:(d=I(this,e.Db[f],a,b,c),0<=d&&(e.Db[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.Ma[f]=b),d=e.Ma[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.Ma[f]=b),d=e.Ma[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.m|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(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.f;switch(a&-2){case 4194174:d=I(this,e.jb,a,b,c);0<=d&&(e.jb=d);break;case 4194172:d=e.oa;d&65280&&(d=(d<<8|d>>8)&65535);break; -case 4194168:0>b?d=this.h.Ac&65535:(d=I(this,this.h.data,a,b,c),0<=d&&(this.h.data=d));break;case 4194166:0<=b&&(b&127&&(g.ec=0),g.V&=-129,H(e,100,4,52,function(){g.V|=128;return!!(g.V&64)}));d=0;break;case 4194162:d=0;0>b&&(g.ea&=-129,0b?d=g.ea:(d=I(this,g.ea,a,b,c),0<=d&&(g.ea=g.ea&128|d&-129));break;default:return e.m|=16,J(e,4)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d= -I(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194050:d=I(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=I(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&fb(this));break;case 4194054:d=I(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194056:d=I(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194058:d=I(this,f.U,a,b,c);0<=d&&(f.U=d);break;case 4194060:break;case 4194062:d=I(this,f.Vb,a,b,c);0<=d&&(f.Vb=d);break;default:return e.m|=16,J(e,4)}break;case 4193728:var h=this.l;f=h.aa&7;switch(a& --2){case 4193728:d=I(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?jb(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.Va,a,b,c);0<=d&&(h.Va=d);break;case 4193732:d=I(this,h.Ta,a,b,c);0<=d&&(h.Ta=d&65534);break;case 4193734:d=I(this,h.ba[f],a,b,c);0<=d&&(h.ba[f]=d&7967);break;case 4193736:d=I(this,h.aa,a,b,c);0<=d&&(h.aa=d&63|h.aa&65472,d&128&&ib(this));break;case 4193738:d=h.S[f];break;case 4193740:d=h.Ua[f];break;case 4193742:d=I(this, -h.Na,a,b,c);0<=d&&(h.Na=d&255);break;case 4193744:d=h.yc[f];break;case 4193746:d=I(this,h.Wb,a,b,c);0<=d&&(h.Wb=d);break;case 4193748:d=I(this,h.Xb[f],a,b,c);0<=d&&(h.Xb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.zc[f];break;case 4193754:d=I(this,h.Yb[f],a,b,c);0<=d&&(h.Yb[f]=d);break;case 4193756:d=I(this,h.ja[f],a,b,c);0<=d&&(h.ja[f]=d&511);break;case 4193758:h.vb[f]=h.ja[f];d=h.vb[f];break;case 4193760:d=h.wc[f];break;case 4193762:d=h.xc[f];break;case 4193764:d=h.uc[f];break;case 4193766:d= -h.vc[f];break;case 4193768:d=I(this,h.za,a,b,c);0<=d&&(h.za=d&63,h.D=h.D&-769|(d&3)<<8);break;case 4193770:d=I(this,h.Hb,a,b,c);0<=d&&(h.Hb=d);break;default:return e.m|=16,J(e,4)}break;case 4192512:f=this.j;switch(a&-2){case 4192512:d=I(this,f.o,a,b,c);0<=b&&0<=d&&(f.qa=f.qa&60|d>>4&3,f.o=f.o&-1023|d&1022,f.o&128||hb(this));break;case 4192514:d=I(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=I(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=I(this,f.va,a,b,c);0<=d&&(f.va=d);break; -case 4192520:d=I(this,f.qa,a,b,c);0<=d&&(f.qa=d&63,f.o=f.o&-49|(f.qa&3)<<4);break;default:return e.m|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.Fa:(d=I(this,e.Fa,a,b,c),0<=d&&(70!==e.Ka&&(d&=-49),e.Fa=d,e.rb[0]=d&4?15:7,e.rb[1]=d&2?15:7,e.rb[3]=d&1?15:7,e.qb&&(f=2,e.Fa&16&&(f=1),this.h.Sa=this.h.Sa&-8|f)));break;default:return e.m|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(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=I(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.Ka)return J(e,4);f=a>>2&31;d=e.ib[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.ib[f]=a&2?d<<16|e.ib[f]&65535:e.ib[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=$a[a>>1&255];else return e.m|=16,J(e,4);break;default:return e.m|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)"); -return d};var mb={},Ya=(mb[65382]=[null,null,G.prototype.nc,G.prototype.Cc],mb[65402]=[null,null,G.prototype.oc,G.prototype.Dc],mb[65396]=[null,null,G.prototype.qc,G.prototype.Gc],mb[65534]=[null,null,G.prototype.pc,G.prototype.Ec],mb);u(function(){for(var a=C(document,"pdp11","device"),b=0;b>1),this.a=new Int32Array(this.f,0,c>>2),tb(this,pb?ub:vb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},Z:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},na: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.sa=!0},T:function(a,b){return this.W(a,b)},ka:function(a,b){return this.la(a, -b)},Ca:function(a,b,c){this.h||this.ac(a,b,c)},Ha:function(a,b,c){this.h||this.Pa(a,b,c)},K:function(a){return this.b[a]},X:function(a){return this.b[a]},$:function(a){return this.v.getUint16(a,!0)},ma:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},Ba:function(a,b){this.b[a]=b;this.sa=!0},Da:function(a,b){this.b[a]=b;this.sa=!0},Ga:function(a,b){this.v.setUint16(a,b,!0);this.sa=!0},Qa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.sa=!0}}; -function La(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&xb(a,yb,!1),(a.j=c.j)&&zb(a,yb,!1))}function zb(a,b,c){c&&a.j||(a.Wa=!a.h&&b[1]||a.G,a.Fc=!a.h&&b[3]||a.J);if(c||void 0===c)a.ac=b[1]||a.G,a.Pa=b[3]||a.J}function xb(a,b,c){c&&a.i||(a.eb=b[0]||a.s,a.tb=b[2]||a.C);if(c||void 0===c)a.W=b[0]||a.s,a.la=b[2]||a.C}function tb(a,b){b||(b=Ab);xb(a,b,void 0);zb(a,b,void 0)}var Ab=[],wb=[F.prototype.Z,F.prototype.Ea,F.prototype.na,F.prototype.Ra],yb=[F.prototype.T,F.prototype.Ca,F.prototype.ka,F.prototype.Ha]; -if(Ia)var vb=[F.prototype.K,F.prototype.Ba,F.prototype.$,F.prototype.Ga],ub=[F.prototype.X,F.prototype.Da,F.prototype.ma,F.prototype.Qa];function Bb(a,b){v.call(this,"CPU",a,Bb);var c=a.multiplier||1;this.mb=a.cycles||b;this.Z=c;this.zb=Math.round(this.mb/1E4)/100;this.la=this.zb*this.Z;this.g.ga=!1;this.g.Zb=!1;this.g.Za=a.autoStart;this.g.Qb=!1;this.g.ob=!1;this.kb=this.ma=0;this.lb=a.csStart;this.Ca=a.csInterval;this.Da=a.csStop;this.G=[];this.Tb=this.Ib.bind(this);D(this)}x(Bb); -var Cb=["power","reset"];l=Bb.prototype;l.La=function(a,b,c,d){this.l=a;this.B=b;this.I=d;for(b=0;ba.T/a.la&&(b=1),a.Z=b,b=a.zb*a.Z,a.la!=b)){a.la=b;b=a.la.toFixed(2)+"Mhz";var c=a.v.setSpeed;c&&(c.textContent=b);a.N("target speed: "+b)}Ib(a,a.K);a.K=0;a.J=ia();a.W=0;Jb(a)}function ab(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function bb(a,b){var c;0<=b&&ba.G[b][0]&&(c=a.mb*a.Z/1E3*(1E3/60),a.G[b][0]=c)}function Lb(a){a.X-=a.a;a.a=0} -l.Ib=function(){if(Ga(this,!0)){if(!this.g.ga){Hb(this);this.l&&this.l.start(this.J,Kb(this));this.g.ga=!0;this.g.Zb=!0;this.Ba&&this.Ba.start();var a=this.v.run;a&&(a.textContent="Halt");this.l&&this.l.Oa(!0)}this.Ab>=this.mb&&Jb(this,!0);this.Ga=0;this.Ra=ia();this.W&&(a=this.Ra-this.W,a>this.Pb&&(this.J+=a,this.J>this.Ra&&(this.J=this.Ra)));try{do{for(var b,c=this.g.ob?1:this.nb,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.$b(b)}catch(m){if("number"!=typeof m)throw m; -}for(var e=this.X-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.Ga+=e;this.K+=e;Ib(this,0,!0);a=e;if(this.g.ob){var k=!1;this.kb=this.kb+this.Ub()|0;this.ma-=a;0>=this.ma&&(this.ma+=this.Ca,k=!0);0<=this.Da&&this.Da<=Kb(this)&&(this.Ca=this.Da=-1,Fb(this),M(this),k=!0);k&&this.N(Kb(this)+" cycles: checksum="+n(this.kb))}this.Ea-=e;if(0>=this.Ea){this.Ea+=this.nb;15<=++this.Sb&&(this.l&&this.l.Oa(),this.Sb=0);break}}while(this.g.ga)}catch(m){M(this); -Gb(this);this.l&&this.l.stop(ia(),Kb(this));Ga(this,!1);b=m.stack||m.message;this.g.error=!0;this.L(b);return}b=setTimeout;c=this.Tb;this.W=ia();d=this.Pb;this.Ga&&(d=Math.round(d*this.Ga/this.nb));d-=this.W-this.Ra;if(f=this.W-this.J)this.T=Math.round(this.K/(10*f))/100,864E5<=f&&(this.$=0,Hb(this));if(0>d||this.Td&&(this.J-=d),d=0;this.Ab+=this.Ga;this.W+=d;b(c,d)}else Gb(this),this.l&&this.l.stop(ia(),Kb(this))};l.$b=function(){return 0}; -function M(a){a.g.ab&&(a.g.Bb=!0);Lb(a);Ib(a,a.K);a.K=0;if(a.g.ga){a.g.ga=!1;a.Ba&&a.Ba.stop();var b=a.v.run;b&&(b.textContent="Run")}a.g.complete=void 0}function Gb(a){a.l&&a.l.Oa(void 0)} -function Mb(a){this.jc=a.resetAddr||0;Bb.call(this,a,1E6);this.Lb=0;this.decode=Nb.bind(this);this.i=65536;this.b=32768;this.f=65535;this.j=32768;this.w=15;this.c=[0,0,0,0,0,0,0,this.jc];this.Ma=[0,0,0,0,0,0];this.fa=[0,0,0,0];this.Qa=this.s=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.ib=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.Db=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.u=0;this.Ka=70;this.na=-1;this.Ha=0;Ob(this);this.g.complete=this.g.dc=!1}x(Mb,Bb);l=Mb.prototype;l.reset=function(){this.g.ga&&M(this);Ob(this);Eb(this);this.g.error=!1;this.parent.reset.call(this)}; -function Ob(a){a.ya=255;a.m=0;a.Gb=0;a.C=0;a.oa=0;a.jb=0;a.Fa=0;a.qb=0;a.Pa=0;a.rb=[7,7,7,7];a.h=[];a.ia=2;cb(a)}function cb(a){a.qb?(a.Kb=65536,a.ka=a.ic,a.tb=a.Y):(a.Kb=0,a.ka=a.hc,a.tb=a.ub)}l.Ub=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.$,this.Z]);a.set(2,Wa(this.B));return a.data()}; -l.restore=function(a){var b=a[1];this.$=b[1];Hb(this,b[3]);a:{b=this.B;a=a[2];var c;for(c=0;cb){a.h[e].da-=b;break}b-=a.h[e].da}a.h.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.ia=2}function db(a){return a.w=a.w&63728|a.ta()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)} +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=G.prototype;l.Ka=function(a,b,c,d){this.B=b;this.a=c;this.I=d;var f=this;this.f.Jb=ab(this.a,function(){f.f.ta|=128;f.f.ta&64&&(H(f.a,0,6,64),bb(f.a,f.f.Jb))});Xa(b,this);Za(b,this.reset.bind(this),this.bc.bind(this));D(this)};l.nc=function(){var a=this.f.ta;this.f.ta&=-129;return a}; +l.Dc=function(a){this.f.ta=a;a&64&&bb(this.a,this.f.Jb);this.f.ta=a&-129};l.oc=function(){var a=this.a;return a.C&62337|a.Pa<<5|a.Qa<<1};l.Ec=function(a){var b=4,c=this.a;c.C=a&=62337;c.Pa=a>>5&3;c.Qa=a>>1&15;c.pb=a&257?a&1?6:4:0;cb(c);a=c.C;a&1|256&&(b=this.a.La&16?1:2);this.h.Sa=this.h.Sa&-8|b};l.qc=function(){return this.b.U};l.Gc=function(a){this.b.U=this.b.U&128|a&-129};l.rc=function(){return this.b.W}; +l.Ic=function(a){if(128==(this.b.W&192)&&a&64){var b=this;H(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.pc=function(){return db(this.a)};l.Fc=function(a){eb(this.a,a&-1809|db(this.a)&1808);this.a.u|=128}; +function fb(a){var b=a.i,c,d,f,e=b.V>>13&7;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.sc,drive:e,blocksize:256,mapped:0,maxblock:b.Ia[e]*b.F[e],url:"rk"+e+".dsk"});b.A&=-129;switch(b.A>>1&7){case 0:b.gb=2496;b.P=0;b.A=128;b.V=0;break;case 1:if((b.V>>4&511)>=b.Ia[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.fb;f=65536-b.hb&65535;gb(a,b.R[e],c,d,f);return;case 2:if((b.V>>4&511)>=b.Ia[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.fb;f=65536-b.hb&65535;a.rb(b.R[e],c,d,f);return}}b.gb=e<<13|b.gb&8176|b.V%9&15;H(a.a,20,5,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}l.sc=function(a,b,c,d,f){var e=this.i;e.fb=d&65535;e.A=e.A&-49|d>>12&48;e.hb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}H(this.a,20,5,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})}; +function hb(a){var b=a.j,c,d,f,e=b.o>>8&3;b.o&=-2;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.tc,drive:e,blocksize:128,mapped:1,maxblock:b.Ia[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.o>>1&7){case 2:b.ua&8&&(b.o&=63);b.ua=b.cc[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.Ia[e]){b.o|=37888;break}if((b.H&63)>=b.F[e]){b.o|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63); +d=(b.pa&63)<<16|b.$a;f=65536-b.ua&65535;gb(a,b.R[e],c,d,f);return;case 6:if(b.H>>6>=b.Ia[e])b.o|=37888;else if((b.H&63)>=b.F[e])b.o|=37888;else{c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.pa&63)<<16|b.$a;f=65536-b.ua&65535;a.rb(b.R[e],c,d,f);return}}H(a.a,20,5,112,function(){b.o|=129;return!!(b.o&64)})} +l.tc=function(a,b,c,d,f){var e=this.j;e.$a=d&65535;e.o=e.o&-49|d>>12&48;e.pa=d>>16&63;e.H=~~(c/e.F[b.ha])<<6|c%e.F[b.ha];e.Aa=e.H;e.ua=65536-f&65535;switch(a){case 1:e.o|=33792;break;case 2:e.o|=40960}H(this.a,20,5,112,function(){e.o|=129;return!!(e.o&64)})};function ib(a){a=a.l;a.D=2176;a.ba=0;a.S=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ua=[0,0,0,0,0,0,0,0];a.Na=a.Va=a.Ta=a.za=a.Hb=0} +function jb(a,b){var c=a.l,d,f,e;c.D&=-16513;c.ba&=-2049;c.S[b]&=-1153;H(a.a,-1,0,172);"undefined"===typeof c.R[b]&&(c.R[b]={cache:[],postProcess:a.uc,drive:b,blocksize:256,mapped:0,maxblock:c.xb[0]*c.Ha[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.D&63){case 5:c.vb[b]=c.ja[b];c.D|=32896;c.S[b]|=32896;c.Na|=1<=c.xb[0]||c.ca[b]>>8>=c.Ha[0]||(c.ca[b]&255)>=c.F[0]){c.Ua[b]|=1024;c.D|=49152;break}d=(c.ja[b]*c.Ha[0]+(c.ca[b]>>8))*c.F[0]+ +(c.ca[b]&255);f=(c.za&63)<<16|c.Ta;e=65536-c.Va&65535;gb(a,c.R[b],d,f,e);return;case 57:if(c.ja[b]>=c.xb[0]||c.ca[b]>>8>=c.Ha[0]||(c.ca[b]&255)>=c.F[0])c.Ua[b]|=1024,c.D|=49152;else{d=(c.ja[b]*c.Ha[0]+(c.ca[b]>>8))*c.F[0]+(c.ca[b]&255);f=(c.za&63)<<16|c.Ta;e=65536-c.Va&65535;a.rb(c.R[b],d,f,e);return}}H(a.a,3,5,172,function(){c.D=c.D&65534|128;c.S[b]|=128;return!!(c.D&64)})} +l.uc=function(a,b,c,d,f){var e=this.l;e.Va=65536-f&65535;e.Ta=d&65535;e.D=e.D&-769|d>>8&768;e.za=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Ha[0]);e.ca[b.ha]=f%e.Ha[0]<<8|c%e.F[0];e.vb[b.ha]=e.ja[b.ha]=d;e.Na|=1<=b.lc-1&&(e.S[b.ha]|=1024);switch(a){case 1:e.ba|=512;e.D|=49152;break;case 2:e.ba|=2048,e.D|=49152}H(this.a,20,5,172,function(){e.S[b.ha]|=128;e.D=e.D&65534|128;return!!(e.D&64)})}; +function kb(a,b,c,d,f,e){var g=~~((e+c.qa-1)/c.qa),h=new XMLHttpRequest;2048>g&&d+2048g){b.Eb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Eb(0,b,c,d,f)}l.reset=function(){this.h.Sa=this.h.Sa&-120|20;this.b.U=0;this.b.W=128;this.f.ta=0;this.i.A=128;this.j.o=128;ib(this)}; +l.bc=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.Gb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Gb=d;e.ia=2}break;case 4194294:if(70!==e.Ja)return J(e,4);0>b?d=e.m:d=e.m=0;break;case 4194292:if(70!==e.Ja)return J(e,4);d=1;break;case 4194290:if(70!==e.Ja)return J(e,4);d=0;break;case 4194288:if(70!==e.Ja)return J(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.Ja)return J(e,4);f=a-4194272>>1;0>b?d=e.Db[f]:(d=I(this,e.Db[f],a,b,c),0<=d&&(e.Db[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.Ma[f]=b),d=e.Ma[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.Ma[f]=b),d=e.Ma[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.m|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(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=I(this,e.ub,a,b,c);0<=d&&(e.ub=d);break;case 4194172:d=e.xa;d&65280&&(d=(d<<8|d>>8)&65535);break; +case 4194168:0>b?d=this.h.Bc&65535:(d=I(this,this.h.data,a,b,c),0<=d&&(this.h.data=d));break;case 4194166:0<=b&&(b&127&&(g.ec=0),g.W&=-129,H(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=I(this,g.U,a,b,c),0<=d&&(g.U=g.U&128|d&-129));break;default:return e.m|=16,J(e,4)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d= +I(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194050:d=I(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=I(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&fb(this));break;case 4194054:d=I(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194056:d=I(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194058:d=I(this,f.V,a,b,c);0<=d&&(f.V=d);break;case 4194060:break;case 4194062:d=I(this,f.Vb,a,b,c);0<=d&&(f.Vb=d);break;default:return e.m|=16,J(e,4)}break;case 4193728:var h=this.l;f=h.ba&7;switch(a& +-2){case 4193728:d=I(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?jb(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.Va,a,b,c);0<=d&&(h.Va=d);break;case 4193732:d=I(this,h.Ta,a,b,c);0<=d&&(h.Ta=d&65534);break;case 4193734:d=I(this,h.ca[f],a,b,c);0<=d&&(h.ca[f]=d&7967);break;case 4193736:d=I(this,h.ba,a,b,c);0<=d&&(h.ba=d&63|h.ba&65472,d&128&&ib(this));break;case 4193738:d=h.S[f];break;case 4193740:d=h.Ua[f];break;case 4193742:d=I(this, +h.Na,a,b,c);0<=d&&(h.Na=d&255);break;case 4193744:d=h.zc[f];break;case 4193746:d=I(this,h.Wb,a,b,c);0<=d&&(h.Wb=d);break;case 4193748:d=I(this,h.Xb[f],a,b,c);0<=d&&(h.Xb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.Ac[f];break;case 4193754:d=I(this,h.Yb[f],a,b,c);0<=d&&(h.Yb[f]=d);break;case 4193756:d=I(this,h.ja[f],a,b,c);0<=d&&(h.ja[f]=d&511);break;case 4193758:h.vb[f]=h.ja[f];d=h.vb[f];break;case 4193760:d=h.xc[f];break;case 4193762:d=h.yc[f];break;case 4193764:d=h.vc[f];break;case 4193766:d= +h.wc[f];break;case 4193768:d=I(this,h.za,a,b,c);0<=d&&(h.za=d&63,h.D=h.D&-769|(d&3)<<8);break;case 4193770:d=I(this,h.Hb,a,b,c);0<=d&&(h.Hb=d);break;default:return e.m|=16,J(e,4)}break;case 4192512:f=this.j;switch(a&-2){case 4192512:d=I(this,f.o,a,b,c);0<=b&&0<=d&&(f.pa=f.pa&60|d>>4&3,f.o=f.o&-1023|d&1022,f.o&128||hb(this));break;case 4192514:d=I(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=I(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=I(this,f.ua,a,b,c);0<=d&&(f.ua=d);break; +case 4192520:d=I(this,f.pa,a,b,c);0<=d&&(f.pa=d&63,f.o=f.o&-49|(f.pa&3)<<4);break;default:return e.m|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.La:(d=I(this,e.La,a,b,c),0<=d&&(70!==e.Ja&&(d&=-49),e.La=d,e.qb[0]=d&4?15:7,e.qb[1]=d&2?15:7,e.qb[3]=d&1?15:7,e.pb&&(f=2,e.La&16&&(f=1),this.h.Sa=this.h.Sa&-8|f)));break;default:return e.m|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(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=I(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.Ja)return J(e,4);f=a>>2&31;d=e.ib[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.ib[f]=a&2?d<<16|e.ib[f]&65535:e.ib[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=$a[a>>1&255];else return e.m|=16,J(e,4);break;default:return e.m|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)"); +return d};var K={},Ya=(K[65382]=[null,null,G.prototype.nc,G.prototype.Dc],K[65392]=[null,null,G.prototype.qc,G.prototype.Gc],K[65396]=[null,null,G.prototype.rc,G.prototype.Ic],K[65402]=[null,null,G.prototype.oc,G.prototype.Ec],K[65534]=[null,null,G.prototype.pc,G.prototype.Fc],K);u(function(){for(var a=C(document,"pdp11","device"),b=0;b>1),this.a=new Int32Array(this.f,0,c>>2),sb(this,ob?tb:ub);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},na: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},T:function(a,b){return this.X(a,b)},ka:function(a,b){return this.la(a, +b)},Ca:function(a,b,c){this.h||this.ac(a,b,c)},Ga:function(a,b,c){this.h||this.Pa(a,b,c)},K:function(a){return this.b[a]},Y:function(a){return this.b[a]},aa:function(a){return this.v.getUint16(a,!0)},ma:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[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.v.setUint16(a,b,!0);this.ra=!0},Qa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.ra=!0}}; +function La(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&wb(a,xb,!1),(a.j=c.j)&&yb(a,xb,!1))}function yb(a,b,c){c&&a.j||(a.Wa=!a.h&&b[1]||a.G,a.Hc=!a.h&&b[3]||a.J);if(c||void 0===c)a.ac=b[1]||a.G,a.Pa=b[3]||a.J}function wb(a,b,c){c&&a.i||(a.eb=b[0]||a.s,a.sb=b[2]||a.C);if(c||void 0===c)a.X=b[0]||a.s,a.la=b[2]||a.C}function sb(a,b){b||(b=zb);wb(a,b,void 0);yb(a,b,void 0)}var zb=[],vb=[F.prototype.$,F.prototype.Ea,F.prototype.na,F.prototype.Ra],xb=[F.prototype.T,F.prototype.Ca,F.prototype.ka,F.prototype.Ga]; +if(Ia)var ub=[F.prototype.K,F.prototype.Ba,F.prototype.aa,F.prototype.Fa],tb=[F.prototype.Y,F.prototype.Da,F.prototype.ma,F.prototype.Qa];function Ab(a,b){v.call(this,"CPU",a,Ab);var c=a.multiplier||1;this.lb=a.cycles||b;this.$=c;this.zb=Math.round(this.lb/1E4)/100;this.la=this.zb*this.$;this.g.ga=!1;this.g.Zb=!1;this.g.Za=a.autoStart;this.g.Qb=!1;this.g.nb=!1;this.jb=this.ma=0;this.kb=a.csStart;this.Ca=a.csInterval;this.Da=a.csStop;this.G=[];this.Tb=this.Ib.bind(this);D(this)}x(Ab); +var Bb=["power","reset"];l=Ab.prototype;l.Ka=function(a,b,c,d){this.l=a;this.B=b;this.I=d;for(b=0;ba.T/a.la&&(b=1),a.$=b,b=a.zb*a.$,a.la!=b)){a.la=b;b=a.la.toFixed(2)+"Mhz";var c=a.v.setSpeed;c&&(c.textContent=b);a.N("target speed: "+b)}Ib(a,a.K);a.K=0;a.J=ia();a.X=0;Jb(a)}function ab(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function bb(a,b){var c;0<=b&&ba.G[b][0]&&(c=a.lb*a.$/1E3*(1E3/60),a.G[b][0]=c)}function Lb(a){a.Y-=a.a;a.a=0} +l.Ib=function(){if(Ga(this,!0)){if(!this.g.ga){Hb(this);this.l&&this.l.start(this.J,Kb(this));this.g.ga=!0;this.g.Zb=!0;this.Ba&&this.Ba.start();var a=this.v.run;a&&(a.textContent="Halt");this.l&&this.l.Oa(!0)}this.Ab>=this.lb&&Jb(this,!0);this.Fa=0;this.Ra=ia();this.X&&(a=this.Ra-this.X,a>this.Pb&&(this.J+=a,this.J>this.Ra&&(this.J=this.Ra)));try{do{for(var b,c=this.g.nb?1:this.mb,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.$b(b)}catch(m){if("number"!=typeof m)throw m; +}for(var e=this.Y-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.K+=e;Ib(this,0,!0);a=e;if(this.g.nb){var k=!1;this.jb=this.jb+this.Ub()|0;this.ma-=a;0>=this.ma&&(this.ma+=this.Ca,k=!0);0<=this.Da&&this.Da<=Kb(this)&&(this.Ca=this.Da=-1,Eb(this),Gb(this),k=!0);k&&this.N(Kb(this)+" cycles: checksum="+n(this.jb))}this.Ea-=e;if(0>=this.Ea){this.Ea+=this.mb;15<=++this.Sb&&(this.l&&this.l.Oa(),this.Sb=0);break}}while(this.g.ga)}catch(m){Gb(this); +Fb(this);this.l&&this.l.stop(ia(),Kb(this));Ga(this,!1);b=m.stack||m.message;this.g.error=!0;this.L(b);return}b=setTimeout;c=this.Tb;this.X=ia();d=this.Pb;this.Fa&&(d=Math.round(d*this.Fa/this.mb));d-=this.X-this.Ra;if(f=this.X-this.J)this.T=Math.round(this.K/(10*f))/100,864E5<=f&&(this.aa=0,Hb(this));if(0>d||this.Td&&(this.J-=d),d=0;this.Ab+=this.Fa;this.X+=d;b(c,d)}else Fb(this),this.l&&this.l.stop(ia(),Kb(this))};l.$b=function(){return 0}; +function Gb(a){a.g.ab&&(a.g.Bb=!0);Lb(a);Ib(a,a.K);a.K=0;if(a.g.ga){a.g.ga=!1;a.Ba&&a.Ba.stop();var b=a.v.run;b&&(b.textContent="Run")}a.g.complete=void 0}function Fb(a){a.l&&a.l.Oa(void 0)} +function Mb(a){this.jc=a.resetAddr||0;Ab.call(this,a,1E6);this.Lb=0;this.decode=Nb.bind(this);this.i=65536;this.b=32768;this.f=65535;this.j=32768;this.w=15;this.c=[0,0,0,0,0,0,0,this.jc];this.Ma=[0,0,0,0,0,0];this.fa=[0,0,0,0];this.Qa=this.s=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.ib=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.Db=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.u=0;this.Ja=70;this.na=-1;this.Ga=0;Ob(this);this.g.complete=this.g.dc=!1}x(Mb,Ab);l=Mb.prototype;l.reset=function(){this.g.ga&&Gb(this);Ob(this);Db(this);this.g.error=!1;this.parent.reset.call(this)}; +function Ob(a){a.ya=255;a.m=0;a.Gb=0;a.C=0;a.xa=0;a.ub=0;a.La=0;a.pb=0;a.Pa=0;a.qb=[7,7,7,7];a.h=[];a.ia=2;cb(a)}function cb(a){a.pb?(a.Kb=65536,a.ka=a.ic,a.sb=a.Z):(a.Kb=0,a.ka=a.hc,a.sb=a.tb)}l.Ub=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.aa,this.$]);a.set(2,Wa(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.h[e].ea-=b;break}b-=a.h[e].ea}a.h.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.ia=2}function db(a){return a.w=a.w&63728|a.sa()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)} function eb(a,b){a.j=b<<12;a.f=~b&4;a.b=b<<14;a.i=b<<16;if((b^a.w)&2048)for(var c=a.Ma.length;0<=--c;){var d=a.c[c];a.c[c]=a.Ma[c];a.Ma[c]=d}a.s=b>>14&3;c=a.w>>14&3;a.s!=c&&(a.fa[c]=a.c[6],a.c[6]=a.fa[a.s]);a.ia=2;a.w=b}function P(a,b,c){a.u&128||(a.j=a.f=a.i=b,a.b=c||0)}function Q(a,b){a.u&128||(a.j=a.f=b,a.b=0)}function Pb(a,b,c,d){a.u&128||(a.j=a.f=a.i=b,a.b=(c^b)&(d^b))}function R(a,b){a.u&128||(a.j=a.f=a.i=b,a.b=a.j^a.i>>1)}function Qb(a,b,c,d){a.u&128||(a.j=a.f=a.i=b,a.b=(c^d)&(d^b))} -function J(a,b){var c=!1;0>a.na?a.na=db(a):a.s||(b=4,c=!0);a.C&57344||(a.oa=63222,a.jb=b);a.s=0;var d=a.Y(b|65536),f=a.Y(b+2&65535|65536);eb(a,f&53247|a.na>>2&12288);c&&(a.m|=4,a.c[6]=4);Rb(a,a.na);Rb(a,a.c[7]);a.c[7]=d;a.u&=-113;a.na=-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;eb(a,c);a.u&=-17}function lb(a,b){var c=b>>13&31;31>c?a.Fa&32&&(b=a.ib[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.qb){d=b>>13&a.rb[a.s];f=a.O[a.s][d];e=(a.O[a.s][d+16]<<6)+(b&8191)&4194303;a.Fa&16?3932160<=e&&4186112>e&&(e=lb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.m|=32,J(a,4)),e&1&&!(c&1)&&(a.m|=64,J(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.s][d]=f;if(4194170!==e||a.s)a.Pa=a.s,a.Qa=d;g&&(g&57344&&(0<=a.na&&(g|=128),a.C&57344||(a.C=a.C|g|a.Pa<<5|a.Qa<<1),J(a,168)),a.C&61440||!(4191360>e||4194239>>b.f;a=c!=b.i?b.b[d].tb(c,a):b.b[d++].eb(c,a)|b.b[d&b.K].eb(0,a+1)<<8}return a};l.Y=function(a){return this.ub(Ub(this,a,2))}; -function Tb(a){var b=a.Y(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.oa=a.oa<<8|246);!a.s&&c<=a.ya&&4>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.s&&c&4&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32||65534<=a.c[6]?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.u|=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);if(0>(d=a.Y(d)))return 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);if(0>(d=a.Y(d)))return d; -d|=g;break;case 6:if(0>(d=a.Y(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return d|g;case 7:if(0>(d=a.Y(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return 0>(d=a.Y(d|65536))?d:d|g}a.c[e]=a.c[e]+f&65535;!g||a.C&57344||(a.oa=a.oa<<8|f<<3&248|e);6===e&&!a.s&&c&4&&0>=f&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.u|=64));return d}l.hc=function(a,b){return Vb(this,a,b)};l.ic=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.s=a.w>>12&3,c=a.Y(b|c&65536),a.s=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.oa=22);b&56?(b=Vb(a,b,0),c&65536||(b&=65535),a.s=a.w>>12&3,b=Ub(a,b|c&65536,4),a.s=a.w>>14&3,Va(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.tb(Vb(a,b,2)):a.c[b&7]} -function T(a,b){b&56?(b=a.ka(b,3),a=Ua(a.B,b)):a=a.c[b&7]&255;return a}function U(a,b,c,d){b&56?(b=a.ka(b,6),c=d.call(a,c,a.ub(b)),Va(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.ka(b,7),c=d.call(a,c,Ua(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 Yb(a,b,c){b&56?(b=a.ka(b,4),Va(a.B,b,c&65535)):a.c[b&7]=c&65535;return c} +function J(a,b){var c=!1;0>a.na?a.na=db(a):a.s||(b=4,c=!0);a.C&57344||(a.xa=63222,a.ub=b);a.s=0;var d=a.Z(b|65536),f=a.Z(b+2&65535|65536);eb(a,f&-12289|a.na>>2&12288);c&&(a.m|=4,a.c[6]=4);Rb(a,a.na);Rb(a,a.c[7]);a.c[7]=d;a.u&=-113;a.na=-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;eb(a,c);a.u&=-17}function lb(a,b){var c=b>>13&31;31>c?a.La&32&&(b=a.ib[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.pb){d=b>>13&a.qb[a.s];f=a.O[a.s][d];e=(a.O[a.s][d+16]<<6)+(b&8191)&4194303;a.La&16?3932160<=e&&4186112>e&&(e=lb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.m|=32,J(a,4)),e&1&&!(c&1)&&(a.m|=64,J(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.s][d]=f;if(4194170!==e||a.s)a.Pa=a.s,a.Qa=d;g&&(g&57344&&(0<=a.na&&(g|=128),a.C&57344||(a.C=a.C|g|a.Pa<<5|a.Qa<<1),J(a,168)),a.C&61440||!(4191360>e||4194239>>b.f;a=c!=b.i?b.b[d].sb(c,a):b.b[d++].eb(c,a)|b.b[d&b.K].eb(0,a+1)<<8}return a};l.Z=function(a){return this.tb(Ub(this,a,2))}; +function Tb(a){var b=a.Z(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.xa=a.xa<<8|246);!a.s&&c<=a.ya&&4>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.s&&c&4&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32||65534<=a.c[6]?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.u|=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);if(0>(d=a.Z(d)))return 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);if(0>(d=a.Z(d)))return d; +d|=g;break;case 6:if(0>(d=a.Z(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return d|g;case 7:if(0>(d=a.Z(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return 0>(d=a.Z(d|65536))?d:d|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.s&&c&4&&0>=f&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.u|=64));return d}l.hc=function(a,b){return Vb(this,a,b)};l.ic=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.s=a.w>>12&3,c=a.Z(b|c&65536),a.s=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.xa=22);b&56?(b=Vb(a,b,0),c&65536||(b&=65535),a.s=a.w>>12&3,b=Ub(a,b|c&65536,4),a.s=a.w>>14&3,Va(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.sb(Vb(a,b,2)):a.c[b&7]} +function T(a,b){b&56?(b=a.ka(b,3),a=Ua(a.B,b)):a=a.c[b&7]&255;return a}function U(a,b,c,d){b&56?(b=a.ka(b,6),c=d.call(a,c,a.tb(b)),Va(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.ka(b,7),c=d.call(a,c,Ua(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 Yb(a,b,c){b&56?(b=a.ka(b,4),Va(a.B,b,c&65535)):a.c[b&7]=c&65535;return c} function Zb(a,b,c,d){b&56?(d=a.ka(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.$b=function(a){this.g.complete=!0;this.g.dc=!1;this.g.Zb=!1;this.X=this.a=a;do{this.u&112&&(this.u&32?J(this,168):this.u&64?J(this,4):this.u&16&&J(this,12),this.u&=-113);if(this.ia)if(1==this.ia)this.ia=2;else{this.ia=0;a=null;for(var b=this.Gb&224,c=this.h.length;0<=--c;){if(0b&&(b=this.h[c].mc,a=this.h[c],this.h.splice(c,1))}b>(this.w&224)&&(a?J(this,a.Bc): -J(this,160))}this.C&57344||(this.oa=0,this.jb=this.c[7]);this.u=this.w&16;a=this.Y(this.c[7]);0<=a&&(this.c[7]=this.c[7]+2&65535);this.decode(a)}while(0b&&(b=this.h[c].mc,a=this.h[c],this.h.splice(c,1))}b>(this.w&224)&&(a?J(this,a.Cc): +J(this,160))}this.C&57344||(this.xa=0,this.ub=this.c[7]);this.u=this.w&16;a=this.Z(this.c[7]);0<=a&&(this.c[7]=this.c[7]+2&65535);this.decode(a)}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;Q(this,a);return a}function gc(a,b){a=b&~a;Q(this,a<<8);return a}function hc(a,b){a|=b;Q(this,a);return a}function ic(a,b){a|=b;Q(this,a<<8);return a}function jc(a,b){a=~b|65536;P(this,a);return a&65535} function kc(a,b){a=~b|256;P(this,a<<8);return a&255}function lc(a,b){a=b-a;this.u&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.u&128||(this.j=this.f=c,this.b=b&(b^c));return a&255}function nc(a,b){a=b+a;this.u&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.u&128||(this.j=this.f=c,this.b=c&(b<<8^c));return a&255}function pc(a,b){a=-b;P(this,a,a&b&32768);return a&65535} function qc(a,b){a=-b;P(this,a<<8,(a&b&128)<<8);return a&255}function rc(a,b){a=b<<1|this.i>>16&1;R(this,a);return a&65535}function sc(a,b){a=b<<1|this.i>>16&1;R(this,a<<8);return a&255}function tc(a,b){a=(this.i&65536|b)>>1|b<<16;R(this,a);return a&65535}function uc(a,b){a=((this.i&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;Q(this,a);return a&65535} @@ -99,42 +100,42 @@ function Ac(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];th 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.j=b>>16;this.f=this.j|b;this.b=0;this.i=-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(){J(this,8)}function Nb(a){Gc[a>>12].call(this,a)} var Gc=[function(a){Hc[a>>8&15].call(this,a)},function(a){Q(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){Q(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);Q(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){Q(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.ta()==!(this.b&32768)&&W(this,a);--this.a}, -function(a){!this.ta()!=!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.ta()==!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.ta()==!(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],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& +function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Qb(this,b-a,a,b);--this.a},function(a){Q(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.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},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],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.ia=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.i=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.i=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.m|=128,J(this,4)): -(this.Ha=3,Lb(this));--this.a},function(){for(var a=0,b=this.h.length;0<=--b;)a+=this.h[b].da,this.h[b].da=0;a||0!==this.Ha||(this.Ha=2,Lb(this));--this.a},function(){Sb(this);this.u|=this.w&16;--this.a},function(){J(this,12);--this.a},function(){J(this,16);--this.a},function(){this.w&49152||(Ob(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.ta()||W(this,a);--this.a},function(a){this.ta()&&W(this, +(this.Ga=3,Lb(this));--this.a},function(){for(var a=0,b=this.h.length;0<=--b;)a+=this.h[b].ea,this.h[b].ea=0;a||0!==this.Ga||(this.Ga=2,Lb(this));--this.a},function(){Sb(this);this.u|=this.w&16;--this.a},function(){J(this,12);--this.a},function(){J(this,16);--this.a},function(){this.w&49152||(Ob(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.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(){J(this,24);--this.a},function(){J(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],Lc=[function(a){P(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);P(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.Y(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);Q(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,0,b);Q(this,b);--this.a},function(a){Q(this,Yb(this,a,this.ta?65535:0));--this.a}],Sc=[function(a){P(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); +Oc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=this.Z(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);Q(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,0,b);Q(this,b);--this.a},function(a){Q(this,Yb(this,a,this.sa?65535:0));--this.a}],Sc=[function(a){P(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);P(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);Q(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,65536,b);Q(this,b);--this.a},Z]; -function Wc(a){v.call(this,"ROM",a,Wc);this.b=null;this.l=a.addr;this.f=a.size;this.s=a.writable;this.h=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){Xc(c,a,b,e)})}}x(Wc);Wc.prototype.La=function(a,b,c,d){this.B=b;this.a=c;this.I=d;Yc(this)};Wc.prototype.xa=function(){this.j&&(this.I&&this.I.a(this.id,this.l,this.f,this.j),delete this.j);return!0}; -Wc.prototype.wa=function(){return!0}; +function Wc(a){v.call(this,"ROM",a,Wc);this.b=null;this.l=a.addr;this.f=a.size;this.s=a.writable;this.h=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){Xc(c,a,b,e)})}}x(Wc);Wc.prototype.Ka=function(a,b,c,d){this.B=b;this.a=c;this.I=d;Yc(this)};Wc.prototype.wa=function(){this.j&&(this.I&&this.I.a(this.id,this.l,this.f,this.j),delete this.j);return!0}; +Wc.prototype.va=function(){return!0}; function Xc(a,b,c,d){if(d)a.L("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Nb,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){r("Empty ROM: "+b); return}if(1==a.b.length){r(a.b[0]);return}}catch(k){a.L("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].ac(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.h?b.push(a.h):null!=a.h&&a.h.length&&(b=a.h);for(c=0;c>>f.f;0>>=f.f;0\nLicense: GPL version 3 or later ");this.N("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;b>>d.f].ac(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.h?b.push(a.h):null!=a.h&&a.h.length&&(b=a.h);for(c=0;c>>f.f;0>>=f.f;0\nLicense: GPL version 3 or later ");this.N("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;bcd){if(ed(d,this.C)){this.j=new N(this,"1.30.0","failsafe");ed(this.j)&&(jd(this,d),a=2,kd(this.j));this.j.set("timestamp",ja());ld(this.j);var f=this.b&&!this.l;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.L("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.N(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=y(this.id);for(e=0;ea[1];a=a[2];this.$=!0;this.g.M=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.a&&(md(this,this.a,b,c,a),this.a.Za());this.T&&(jd(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0}; +function md(a,b,c,d,f){if(!b.g.M){b.g.M=!0;if(b.wa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.wa(e,d)&&e&&(r("Unable to restore state for "+b.type),a.K&&!a.X?(c.clear(),a.b=cd,window&&window.location.reload()):a.T=!0,b.wa(null),f=!1)}if(!d&&b.Mb)for(a=b.Mb.split("|"),c=0;ca[1];a=a[2];this.aa=!0;this.g.M=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.a&&(md(this,this.a,b,c,a),this.a.Za());this.T&&(jd(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=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.h)return null;a.h--;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.wa&&(c&&M(a.a),d=a.a.wa(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.g.M=!1,!1===d&&(f=null)));for(var h=y(a.id),k=0;k).*?(<\/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(q){e=null,a=q.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,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.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 q=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=m:z.appendChild(document.createTextNode(m));q.appendChild(z)}c|| +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 q=document.head||document.getElementsByTagName("head")[0],A=document.createElement("style");A.type="text/css";A.styleSheet?A.styleSheet.cssText=m:A.appendChild(document.createTextNode(m));q.appendChild(A)}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(L){e(L.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return vd(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})();