Renamed flags to be more consistent with DEC's names, and updated JSR and JSP to clear the BIS flag
This commit is contained in:
parent
bf6d6dcba9
commit
f8bf346eab
6 changed files with 285 additions and 275 deletions
|
|
@ -1696,14 +1696,14 @@ PDP10.opASH = function(op, ac)
|
|||
* If all those bits in the original value (w) were 0s, then adding bits to it could NOT
|
||||
* produce a value > INT_MASK.
|
||||
*/
|
||||
if (w + bits > PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.OVFL;
|
||||
if (w + bits > PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.AROV;
|
||||
} else {
|
||||
/*
|
||||
* Since w was negative, overflow occurs ONLY if any of the bits we shifted out were 0s.
|
||||
* If all those bits in the original value (w) were 1s, subtracting bits from it could NOT
|
||||
* produce a value <= INT_MASK.
|
||||
*/
|
||||
if (w - bits <= PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.OVFL;
|
||||
if (w - bits <= PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.AROV;
|
||||
}
|
||||
} else {
|
||||
if (s <= -35) {
|
||||
|
|
@ -1873,7 +1873,7 @@ PDP10.opASHC = function(op, ac)
|
|||
* other than WORD_MASK indicates an overflow.
|
||||
*/
|
||||
if (wLeft > 0 && wLeft < PDP10.INT_LIMIT || wLeft > PDP10.INT_MASK && wLeft < PDP10.WORD_MASK) {
|
||||
this.regPS |= PDP10.PSFLAG.OVFL;
|
||||
this.regPS |= PDP10.PSFLAG.AROV;
|
||||
}
|
||||
if (s >= 71) {
|
||||
/*
|
||||
|
|
@ -1881,7 +1881,7 @@ PDP10.opASHC = function(op, ac)
|
|||
* other than WORD_MASK indicates an overflow.
|
||||
*/
|
||||
if (wRight > 0 && wRight < PDP10.INT_LIMIT || wRight > PDP10.INT_MASK && wRight < PDP10.WORD_MASK) {
|
||||
this.regPS |= PDP10.PSFLAG.OVFL;
|
||||
this.regPS |= PDP10.PSFLAG.AROV;
|
||||
}
|
||||
wLeft = 0;
|
||||
} else {
|
||||
|
|
@ -1896,14 +1896,14 @@ PDP10.opASHC = function(op, ac)
|
|||
* If all those bits in the original value were 0s, then adding bits to it could NOT produce
|
||||
* a value > INT_MASK.
|
||||
*/
|
||||
if (wRight + bits > PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.OVFL;
|
||||
if (wRight + bits > PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.AROV;
|
||||
} else {
|
||||
/*
|
||||
* Since wLeft was negative, overflow occurs ONLY if any of the bits we shifted out were 0s.
|
||||
* If all those bits in the original value were 1s, subtracting bits from it could NOT produce
|
||||
* a value <= INT_MASK.
|
||||
*/
|
||||
if (wRight - bits <= PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.OVFL;
|
||||
if (wRight - bits <= PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.AROV;
|
||||
}
|
||||
}
|
||||
wRight = 0;
|
||||
|
|
@ -1927,14 +1927,14 @@ PDP10.opASHC = function(op, ac)
|
|||
* If all those bits in the original value were 0s, then adding bits to it could NOT produce
|
||||
* a value > INT_MASK.
|
||||
*/
|
||||
if (wLeftOrig + bits > PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.OVFL;
|
||||
if (wLeftOrig + bits > PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.AROV;
|
||||
} else {
|
||||
/*
|
||||
* Since wLeft was negative, overflow occurs ONLY if any of the bits we shifted out were 0s.
|
||||
* If all those bits in the original value were 1s, subtracting bits from it could NOT produce
|
||||
* a value <= INT_MASK.
|
||||
*/
|
||||
if (wLeftOrig - bits <= PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.OVFL;
|
||||
if (wLeftOrig - bits <= PDP10.INT_MASK) this.regPS |= PDP10.PSFLAG.AROV;
|
||||
/*
|
||||
* Last but not least, update the sign bits of wLeft and wRight to indicate negative values.
|
||||
*/
|
||||
|
|
@ -2372,7 +2372,7 @@ PDP10.opPUSH = function(op, ac)
|
|||
p += 0o000001000001;
|
||||
this.writeWord(p & PDP10.HALF_MASK, this.readWord(this.regEA));
|
||||
if (p >= PDP10.WORD_LIMIT) p -= PDP10.WORD_LIMIT;
|
||||
if (!((p / PDP10.HALF_SHIFT)|0)) this.regPS |= PDP10.PSFLAG.PD_OVFL;
|
||||
if (!((p / PDP10.HALF_SHIFT)|0)) this.regPS |= PDP10.PSFLAG.PDOV;
|
||||
} else {
|
||||
/*
|
||||
* This is the SIMH behavior, which appears to increment each half of AC independently.
|
||||
|
|
@ -2382,7 +2382,7 @@ PDP10.opPUSH = function(op, ac)
|
|||
p = (p + 0o000001000000) - (p & PDP10.HALF_MASK) + addr;
|
||||
if (p >= PDP10.WORD_LIMIT) {
|
||||
p -= PDP10.WORD_LIMIT;
|
||||
this.regPS |= PDP10.PSFLAG.PD_OVFL;
|
||||
this.regPS |= PDP10.PSFLAG.PDOV;
|
||||
}
|
||||
}
|
||||
this.writeWord(ac, p);
|
||||
|
|
@ -2412,7 +2412,7 @@ PDP10.opPOP = function(op, ac)
|
|||
if (this.regEA == ac) p = src; // this avoids re-reading the accumulator if the write just overwrote it
|
||||
p -= 0o000001000001;
|
||||
if (p < 0) p += PDP10.WORD_LIMIT;
|
||||
if (((p / PDP10.HALF_SHIFT)|0) == PDP10.HALF_MASK) this.regPS |= PDP10.PSFLAG.PD_OVFL;
|
||||
if (((p / PDP10.HALF_SHIFT)|0) == PDP10.HALF_MASK) this.regPS |= PDP10.PSFLAG.PDOV;
|
||||
this.writeWord(ac, p);
|
||||
};
|
||||
|
||||
|
|
@ -2448,6 +2448,7 @@ PDP10.opPOPJ = function(op, ac)
|
|||
PDP10.opJSR = function(op, ac)
|
||||
{
|
||||
this.writeWord(this.regEA, this.getPS() + this.getPC());
|
||||
this.regPS &= ~PDP10.PSFLAG.BIS; // TODO: Verify that BIS is cleared AFTER writing
|
||||
this.setPC(this.regEA + 1);
|
||||
};
|
||||
|
||||
|
|
@ -2471,6 +2472,7 @@ PDP10.opJSR = function(op, ac)
|
|||
PDP10.opJSP = function(op, ac)
|
||||
{
|
||||
this.writeWord(ac, this.getPS() + this.getPC());
|
||||
this.regPS &= ~PDP10.PSFLAG.BIS; // TODO: Verify that BIS is cleared AFTER writing
|
||||
this.setPC(this.regEA);
|
||||
};
|
||||
|
||||
|
|
@ -2513,7 +2515,7 @@ PDP10.opJSA = function(op, ac)
|
|||
* Place the contents of the location addressed by AC left into AC. Take the next instruction from location E and
|
||||
* continue sequential operation from there.
|
||||
*
|
||||
* This opcode functions as the counterpart to JSA, but ONLY if location E (the effective address stored in the JRA) indexes
|
||||
* This opcode functions as the counterpart to JSA, but ONLY if location E (the effective address calculated by the JRA) indexes
|
||||
* with the same AC that was used with the JSA.
|
||||
*
|
||||
* JSA 17,F1
|
||||
|
|
@ -6119,7 +6121,7 @@ PDP10.doABS = function(src)
|
|||
if (src != PDP10.INT_LIMIT) {
|
||||
src = PDP10.TWO_POW36 - src;
|
||||
} else {
|
||||
this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1);
|
||||
this.regPS |= (PDP10.PSFLAG.AROV | PDP10.PSFLAG.CRY1);
|
||||
}
|
||||
}
|
||||
return src;
|
||||
|
|
@ -6181,7 +6183,7 @@ PDP10.doDIV = function(dst, ext, src)
|
|||
}
|
||||
|
||||
if (ext >= src) {
|
||||
this.regPS |= PDP10.PSFLAG.NO_DIVIDE | PDP10.PSFLAG.OVFL;
|
||||
this.regPS |= PDP10.PSFLAG.DCK | PDP10.PSFLAG.AROV;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
@ -6304,7 +6306,7 @@ PDP10.doMUL = function(dst, src, fTruncate)
|
|||
* If ext is something OTHER than an extension of the res sign bit, then we have overflow.
|
||||
*/
|
||||
if ((ext || res > PDP10.INT_MASK) && (ext != PDP10.WORD_MASK || res <= PDP10.INT_MASK)) {
|
||||
this.regPS |= PDP10.PSFLAG.OVFL;
|
||||
this.regPS |= PDP10.PSFLAG.AROV;
|
||||
}
|
||||
/*
|
||||
* Also note that, in the truncate case, we return the low order bits (res), rather than the
|
||||
|
|
@ -6328,7 +6330,7 @@ PDP10.doMUL = function(dst, src, fTruncate)
|
|||
PDP10.doNEG = function(src)
|
||||
{
|
||||
if (!src) {
|
||||
this.regPS |= (PDP10.PSFLAG.CARRY0 | PDP10.PSFLAG.CARRY1);
|
||||
this.regPS |= (PDP10.PSFLAG.CRY0 | PDP10.PSFLAG.CRY1);
|
||||
}
|
||||
else {
|
||||
/*
|
||||
|
|
@ -6336,7 +6338,7 @@ PDP10.doNEG = function(src)
|
|||
* the INT_LIMIT case anyway, and since subtraction in that case doesn't alter src, we skip the subtraction.
|
||||
*/
|
||||
if (src == PDP10.INT_LIMIT) {
|
||||
this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1);
|
||||
this.regPS |= (PDP10.PSFLAG.AROV | PDP10.PSFLAG.CRY1);
|
||||
} else {
|
||||
src = PDP10.TWO_POW36 - src;
|
||||
}
|
||||
|
|
@ -6423,7 +6425,7 @@ PDP10.split72 = function(res, ext)
|
|||
var signNew = ext - (ext % PDP10.INT_LIMIT);
|
||||
if (sign != signNew) {
|
||||
ext = sign + (ext - signNew);
|
||||
this.regPS |= PDP10.PSFLAG.OVFL;
|
||||
this.regPS |= PDP10.PSFLAG.AROV;
|
||||
}
|
||||
this.regExt = res;
|
||||
return ext;
|
||||
|
|
@ -6483,7 +6485,7 @@ PDP10.setAddFlags = function(dst, src, res)
|
|||
* 1 1 1 0 0 0 no
|
||||
*/
|
||||
var fOverflow = ((dst01 ^ res01) & (src01 ^ res01)) & 0b10;
|
||||
this.regPS |= (fCarry0? PDP10.PSFLAG.CARRY0 : 0) | (fCarry1? PDP10.PSFLAG.CARRY1 : 0) | (fOverflow? PDP10.PSFLAG.OVFL : 0);
|
||||
this.regPS |= (fCarry0? PDP10.PSFLAG.CRY0 : 0) | (fCarry1? PDP10.PSFLAG.CRY1 : 0) | (fOverflow? PDP10.PSFLAG.AROV : 0);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -374,11 +374,11 @@ class CPUStatePDP10 extends CPUPDP10 {
|
|||
{
|
||||
w = (w / PDP10.HALF_SHIFT)|0;
|
||||
this.regPS = (this.regPS & ~PDP10.PSFLAG.SET_MASK) | (w & PDP10.PSFLAG.SET_MASK);
|
||||
this.regPS |= (w & PDP10.PSFLAG.USER_MODE);
|
||||
if (!(w & PDP10.PSFLAG.USER_IO)) {
|
||||
this.regPS &= ~PDP10.PSFLAG.USER_IO;
|
||||
this.regPS |= (w & PDP10.PSFLAG.USERF);
|
||||
if (!(w & PDP10.PSFLAG.EXIOT)) {
|
||||
this.regPS &= ~PDP10.PSFLAG.EXIOT;
|
||||
} else {
|
||||
if (!(this.regPS & PDP10.PSFLAG.USER_MODE)) this.regPS |= PDP10.PSFLAG.USER_IO;
|
||||
if (!(this.regPS & PDP10.PSFLAG.USERF)) this.regPS |= PDP10.PSFLAG.EXIOT;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -391,7 +391,7 @@ class CPUStatePDP10 extends CPUPDP10 {
|
|||
*/
|
||||
setUserMode()
|
||||
{
|
||||
this.regPS |= PDP10.PSFLAG.USER_MODE;
|
||||
this.regPS |= PDP10.PSFLAG.USERF;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -405,8 +405,8 @@ class CPUStatePDP10 extends CPUPDP10 {
|
|||
readFlags()
|
||||
{
|
||||
var flags = 0;
|
||||
if (this.regPS & PDP10.PSFLAG.OVFL) flags |= PDP10.RFLAG.OVFL;
|
||||
if (this.regPS & PDP10.PSFLAG.PD_OVFL) flags |= PDP10.RFLAG.PD_OVFL;
|
||||
if (this.regPS & PDP10.PSFLAG.AROV) flags |= PDP10.RFLAG.AROV;
|
||||
if (this.regPS & PDP10.PSFLAG.PDOV) flags |= PDP10.RFLAG.PDOV;
|
||||
return flags;
|
||||
}
|
||||
|
||||
|
|
@ -420,8 +420,8 @@ class CPUStatePDP10 extends CPUPDP10 {
|
|||
*/
|
||||
writeFlags(w)
|
||||
{
|
||||
if (w & PDP10.WFLAG.OVFL_CL) this.regPS &= ~PDP10.PSFLAG.OVFL;
|
||||
if (w & PDP10.WFLAG.PD_OVFL_CL) this.regPS &= ~PDP10.PSFLAG.PD_OVFL;
|
||||
if (w & PDP10.WFLAG.AROV_CL) this.regPS &= ~PDP10.PSFLAG.AROV;
|
||||
if (w & PDP10.WFLAG.PDOV_CL) this.regPS &= ~PDP10.PSFLAG.PDOV;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -919,20 +919,23 @@ class DebuggerPDP10 extends Debugger {
|
|||
case DebuggerPDP10.REGS.EA:
|
||||
value = cpu.regEA;
|
||||
break;
|
||||
case DebuggerPDP10.REGS.PS:
|
||||
value = (cpu.getPS() / PDP10.HALF_SHIFT)|0;
|
||||
break;
|
||||
case DebuggerPDP10.REGS.C0:
|
||||
value = (cpu.regPS & PDP10.PSFLAG.CARRY0)? 1 : 0;
|
||||
value = (cpu.regPS & PDP10.PSFLAG.CRY0)? 1 : 0;
|
||||
break;
|
||||
case DebuggerPDP10.REGS.C1:
|
||||
value = (cpu.regPS & PDP10.PSFLAG.CARRY1)? 1 : 0;
|
||||
value = (cpu.regPS & PDP10.PSFLAG.CRY1)? 1 : 0;
|
||||
break;
|
||||
case DebuggerPDP10.REGS.OV:
|
||||
value = (cpu.regPS & PDP10.PSFLAG.OVFL)? 1 : 0;
|
||||
value = (cpu.regPS & PDP10.PSFLAG.AROV)? 1 : 0;
|
||||
break;
|
||||
case DebuggerPDP10.REGS.ND:
|
||||
value = (cpu.regPS & PDP10.PSFLAG.NO_DIVIDE)? 1 : 0;
|
||||
value = (cpu.regPS & PDP10.PSFLAG.DCK)? 1 : 0;
|
||||
break;
|
||||
case DebuggerPDP10.REGS.PD:
|
||||
value = (cpu.regPS & PDP10.PSFLAG.PD_OVFL)? 1 : 0;
|
||||
value = (cpu.regPS & PDP10.PSFLAG.PDOV)? 1 : 0;
|
||||
break;
|
||||
}
|
||||
return value;
|
||||
|
|
@ -955,20 +958,23 @@ class DebuggerPDP10 extends Debugger {
|
|||
cpu.setPC(value);
|
||||
this.setAddr(this.dbgAddrCode, cpu.getPC());
|
||||
break;
|
||||
case DebuggerPDP10.REGS.PS:
|
||||
cpu.setPS(value * PDP10.HALF_SHIFT);
|
||||
break;
|
||||
case DebuggerPDP10.REGS.C0:
|
||||
flag = PDP10.PSFLAG.CARRY0;
|
||||
flag = PDP10.PSFLAG.CRY0;
|
||||
break;
|
||||
case DebuggerPDP10.REGS.C1:
|
||||
flag = PDP10.PSFLAG.CARRY1;
|
||||
flag = PDP10.PSFLAG.CRY1;
|
||||
break;
|
||||
case DebuggerPDP10.REGS.OV:
|
||||
flag = PDP10.PSFLAG.OVFL;
|
||||
flag = PDP10.PSFLAG.AROV;
|
||||
break;
|
||||
case DebuggerPDP10.REGS.ND:
|
||||
flag = PDP10.PSFLAG.NO_DIVIDE;
|
||||
flag = PDP10.PSFLAG.DCK;
|
||||
break;
|
||||
case DebuggerPDP10.REGS.PD:
|
||||
flag = PDP10.PSFLAG.PD_OVFL;
|
||||
flag = PDP10.PSFLAG.PDOV;
|
||||
break;
|
||||
}
|
||||
if (flag) {
|
||||
|
|
@ -4069,15 +4075,16 @@ if (DEBUGGER) {
|
|||
PC: 0,
|
||||
RA: 1,
|
||||
EA: 2,
|
||||
C0: 3, // single-bit "register" representing the Carry 0 flag
|
||||
C1: 4, // single-bit "register" representing the Carry 1 flag
|
||||
OV: 5, // single-bit "register" representing the Overflow flag
|
||||
ND: 6, // single-bit "register" representing the No Divide flag
|
||||
PD: 7, // single-bit "register" representing the Pushdown Overflow flag
|
||||
PS: 3,
|
||||
C0: 4, // single-bit "register" representing the Carry 0 flag
|
||||
C1: 5, // single-bit "register" representing the Carry 1 flag
|
||||
OV: 6, // single-bit "register" representing the Overflow flag
|
||||
ND: 7, // single-bit "register" representing the No Divide flag
|
||||
PD: 8, // single-bit "register" representing the Pushdown Overflow flag
|
||||
};
|
||||
|
||||
DebuggerPDP10.REGNAMES = [
|
||||
"PC", "RA", "EA", "C0", "C1", "OV", "ND", "PD"
|
||||
"PC", "RA", "EA", "PS", "C0", "C1", "OV", "ND", "PD"
|
||||
];
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -201,21 +201,21 @@ var PDP10 = {
|
|||
* binary, the only options you can set relate to the operating system to be run -- which seems very hacky.
|
||||
*/
|
||||
PSFLAG: {
|
||||
OVFL: 0o400000, // Overflow
|
||||
CARRY0: 0o200000, // Carry 0
|
||||
CARRY1: 0o100000, // Carry 1
|
||||
FP_OVFL: 0o040000, // Floating-Point Overflow
|
||||
BYTE_INT: 0o020000, // Byte Interrupt
|
||||
USER_MODE: 0o010000, // Processor is in User Mode
|
||||
USER_IO: 0o004000, // User I/O
|
||||
FP_UNFL: 0o000100, // Floating-Point Underflow
|
||||
NO_DIVIDE: 0o000040, // No Divide
|
||||
SET_MASK: 0o760140, // the flags that are always settable/clearable
|
||||
AROV: 0o400000, // Arithmetic Overflow
|
||||
CRY0: 0o200000, // Carry 0
|
||||
CRY1: 0o100000, // Carry 1
|
||||
FOV: 0o040000, // Floating-Point Overflow
|
||||
BIS: 0o020000, // Byte Interrupt
|
||||
USERF: 0o010000, // User Mode Flag
|
||||
EXIOT: 0o004000, // User Privileged I/O Flag
|
||||
FXU: 0o000100, // Floating-Point Underflow
|
||||
DCK: 0o000040, // Divide Check (aka No Divide)
|
||||
/*
|
||||
* Only the low 18 bits (above) are returned by getPS(); the following (bits 18 to 31)
|
||||
* are defined for internal use only.
|
||||
*/
|
||||
PD_OVFL: 0o1000000 // Pushdown Overflow
|
||||
PDOV: 0o1000000, // Pushdown Overflow
|
||||
SET_MASK: 0o0760140 // flags that are always settable/clearable
|
||||
},
|
||||
|
||||
/*
|
||||
|
|
@ -223,18 +223,18 @@ var PDP10 = {
|
|||
*/
|
||||
RFLAG: {
|
||||
PIA: 0o000007, // Priority Interrupt Assignment
|
||||
OVFL: 0o000010, // Overflow
|
||||
OVFL_IE: 0o000020, // Overflow Interrupt Enabled
|
||||
AROV: 0o000010, // Arithmetic Overflow
|
||||
AROV_IE: 0o000020, // Arithmetic Overflow Interrupt Enabled
|
||||
TRAP_OFF: 0o000040, // Trap Offset
|
||||
FP_OVFL: 0o000100, // Floating-Point Overflow
|
||||
FP_OVFL_IE: 0o000200, // Floating-Point Overflow Interrupt Enabled
|
||||
CLOCK: 0o001000, // Clock Flag
|
||||
CLOCK_IE: 0o002000, // Clock Interrupt Enabled
|
||||
FOV: 0o000100, // Floating-Point Overflow
|
||||
FOV_IE: 0o000200, // Floating-Point Overflow Interrupt Enabled
|
||||
CLK: 0o001000, // Clock Flag
|
||||
CLK_IE: 0o002000, // Clock Interrupt Enabled
|
||||
NXM: 0o010000, // Non-Existent Memory
|
||||
PRM: 0o020000, // Memory Protection
|
||||
ADB: 0o040000, // Address Break
|
||||
UIO: 0o100000, // User In-Out
|
||||
PD_OVFL: 0o200000 // Pushdown Overflow (TODO: Verify this is correct; the May 1968 doc may have a typo)
|
||||
PDOV: 0o200000 // Pushdown Overflow (TODO: Verify this is correct; the May 1968 doc may have a typo)
|
||||
},
|
||||
|
||||
/*
|
||||
|
|
@ -244,20 +244,20 @@ var PDP10 = {
|
|||
*/
|
||||
WFLAG: {
|
||||
PIA: 0o000007, // Priority Interrupt Assignment
|
||||
OVFL_CL: 0o000010, // Clear Overflow
|
||||
OVFL_IE: 0o000020, // Enable Overflow Interrupt
|
||||
OVFL_ID: 0o000040, // Disable Overflow Interrupt
|
||||
FP_OVFL_CL: 0o000100, // Clear Floating-Point Overflow
|
||||
FP_OVFL_IE: 0o000200, // Enable Floating-Point Overflow Interrupt
|
||||
FP_OVFL_ID: 0o000400, // Disable Floating-Point Overflow Interrupt
|
||||
CLOCK_CL: 0o001000, // Clear Clock Flag
|
||||
CLOCK_IE: 0o002000, // Enable Clock Interrupt
|
||||
CLOCK_ID: 0o004000, // Disable Clock Interrupt
|
||||
AROV_CL: 0o000010, // Clear Overflow
|
||||
AROV_IE: 0o000020, // Enable Overflow Interrupt
|
||||
AROV_ID: 0o000040, // Disable Overflow Interrupt
|
||||
FOV_CL: 0o000100, // Clear Floating-Point Overflow
|
||||
FOV_IE: 0o000200, // Enable Floating-Point Overflow Interrupt
|
||||
FOV_ID: 0o000400, // Disable Floating-Point Overflow Interrupt
|
||||
CLK_CL: 0o001000, // Clear Clock Flag
|
||||
CLK_IE: 0o002000, // Enable Clock Interrupt
|
||||
CLK_ID: 0o004000, // Disable Clock Interrupt
|
||||
NXM_CL: 0o010000, // Clear Non-Existent Memory
|
||||
PRM_CL: 0o020000, // Clear Memory Protection
|
||||
ADB_CL: 0o040000, // Clear Address Break
|
||||
UIO_CL: 0o200000, // Clear All In-Out Devices
|
||||
PD_OVFL_CL: 0o400000 // Clear Pushdown Overflow
|
||||
PDOV_CL: 0o400000 // Clear Pushdown Overflow
|
||||
},
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -98,192 +98,193 @@ function od(a){var b=+a.model||1001;Yc.call(this,a,1E6);this.Db=b;this.Za=+a.add
|
|||
m.reset=function(){this.status("Model "+this.Db);this.A.O&&this.W();this.Ia=this.Ja=this.b=this.K=0;this.i=this.Da=this.Za;this.I=this.ua=-1;this.F=this.j=0;this.ob=[0,0];this.sa=[0,0];this.ja=[0,0];this.ta=[0,0];this.Ba=this.i;this.C=0;this.f=this.fc;this.g=this.qc;this.Ca=null;ad(this);this.A.error=!1;Yc.prototype.reset.call(this)};m.Ib=function(){return 0};
|
||||
m.save=function(){var a=new F(this);a.set(0,[this.b,this.K,this.Ia,this.Ja,this.i,this.ua,this.I,this.j,this.C,this.Da,this.Ba,this.Za]);a.set(1,[]);a.set(2,[this.U,this.ga,this.A.ea]);a.set(3,qd(this));a.set(4,ld(this));return a.data()};
|
||||
m.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.b=b.next().value;this.K=b.next().value;this.Ia=b.next().value;this.Ja=b.next().value;this.i=b.next().value;this.ua=b.next().value;this.I=b.next().value;this.j=b.next().value;this.C=b.next().value;this.Da=b.next().value;this.Ba=b.next().value;this.Za=b.next().value;b=a[2];this.U=b[0];gd(this,b[1]);this.A.ea=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.vb.length;d++){var e=this.vb[d];
|
||||
if(e.nc===b[c]){d=e;break a}}d=null}d&&(d.next=this.Ca,this.Ca=d)}a=a[4];for(b=0;b<this.P.length&&b<a.length;b++)this.P[b][0]=a[b];return!0};function rd(a,b){var c=a.i;a.i=(c+b)%Tb;return c}function G(a,b){a.i=b%Tb}function qd(a){var b=[];for(a=a.Ca;a;)b.push(a.nc),a=a.next;return b}m.fc=function(a){var b=this.G;a=this.Ba=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};m.qc=function(a,b){var c=this.G;a=this.Ba=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b};
|
||||
m.Ya=function(a){this.A.complete=!0;var b=this.D?sd(this.D)?1:this.A.ib?-1:0:0,c=a?this.A.ib?0:1:-1;this.A.ib=!1;this.T=this.N=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(td(this.D,this.i,c)){this.W();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.Ca||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&td(this.D,this.i,c)){this.W();break}if(0>c)break}}this.C&=15;this.K&4194304?this.K=this.Ia=this.f(this.b):0<=this.ua?(this.K=this.Ja=this.f(this.ua),this.ua=-1):(this.K=
|
||||
this.Ja=this.f(this.Da=this.i),this.i=(this.i+1)%Tb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+(this.Ia=this.f(a))&Sb;a=this.K&4194304?-1:this.Ja/Zb|0;0<=a&&this.Pb(a);this.N--}while(0<this.N);return this.A.complete?this.T-this.N:!1===this.A.complete?-1:0};Xa(function(){for(var a=w(document,v,"cpu"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new od(d);tb(d,c)}});function pd(a){ud[a>>4].call(this,a,a&15)}function N(a){this.w(a)}
|
||||
function vd(){var a=0,b=this.f(this.b),c=b/$b&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$b+(d<<24)+(b&16777215);a&&(b=(b+a)%C);this.g(this.b,b)}function wd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/$b&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
|
||||
function xd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/$b&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%C;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function yd(a,b){this.g(b,this.f(this.b))}function zd(a,b){this.g(b,this.b)}function Ad(a,b){this.g(this.b,this.f(b))}function Bd(a,b){this.g(b,0)}function Cd(a,b){this.g(b,B-this.f(b))}function Dd(a,b){this.g(b,B)}
|
||||
function Ed(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Fd(a,d,c)+(c-(c&x)))}function Gd(a,b){var c=this.f(b);this.g(b,Fd(a,c,0))}function Hd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Fd(a,c,b)+(b-(b&x)))}function Id(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Jd(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,Fd(a,d,c)+c)}
|
||||
function ae(a,b){var c=this.b*y,d=this.f(b);this.g(b,Fd(a,d,c)+c)}function be(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Fd(a,c,b)+b)}function ce(a,b){var c=this.f(this.b),d=(c&x)*y,c=Fd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function de(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,ee(a,d,c)+c)}function fe(a,b){var c=this.f(b);this.g(b,ee(a,c,this.b)+this.b)}function ge(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,ee(a,c,b)+b)}
|
||||
function he(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>Ub?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ie(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,ee(a,d,c)+c)}function je(a,b){var c=this.f(b);this.g(b,ee(a,c,0))}function ke(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,ee(a,c,b)+b)}function le(a,b){var c=this.f(this.b),d=c/y|0,c=ee(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function O(a){me[a&7].call(this,a,a>>3&127)}
|
||||
function ne(){}function oe(){}function L(a){this.u("undefined opcode: "+ua(a));rd(this,-1);this.W()}function pe(a){a>z&&(a!=A?a=Wb-a:this.j|=163840);return a}function Q(a,b){var c=(a+b)%C;qe.call(this,a,b,c);return c}
|
||||
function re(a,b,c){var d=!1,e=!1,f=b-b%A;a=a%A+b*A%C;b=this.F=f+Math.trunc(b/2);c>z&&(c=C-c,d=!d);b>z&&(a?(b=B-b,a=C-a):b&&(b=C-b),e=!0,d=!d);if(b>=c)return this.j|=131104,-1;f=this.ob;f[0]=0;f[1]=0;f=this.sa;f[0]=1;f[1]=0;f=this.ja;f[0]=c;f[1]=0;c=this.ta;c[0]=a;for(c[1]=b;0<se(this.ta,this.ja);)te(this.ja,this.ja),te(this.sa,this.sa);do{if(0<=se(this.ta,this.ja)&&(b=this.ta,a=this.ja,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=C,b[1]--),te(this.ob,this.sa),ue(this.ta)))break;ve(this.ja);ve(this.sa)}while(!ue(this.sa));
|
||||
if(e.nc===b[c]){d=e;break a}}d=null}d&&(d.next=this.Ca,this.Ca=d)}a=a[4];for(b=0;b<this.P.length&&b<a.length;b++)this.P[b][0]=a[b];return!0};function rd(a,b){b=b/y|0;a.j=a.j&-254049|b&254048;a.j|=b&4096;b&2048?a.j&4096||(a.j|=2048):a.j&=-2049}function sd(a,b){var c=a.i;a.i=(c+b)%Tb;return c}function G(a,b){a.i=b%Tb}function qd(a){var b=[];for(a=a.Ca;a;)b.push(a.nc),a=a.next;return b}m.fc=function(a){var b=this.G;a=this.Ba=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};
|
||||
m.qc=function(a,b){var c=this.G;a=this.Ba=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b};
|
||||
m.Ya=function(a){this.A.complete=!0;var b=this.D?td(this.D)?1:this.A.ib?-1:0:0,c=a?this.A.ib?0:1:-1;this.A.ib=!1;this.T=this.N=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(ud(this.D,this.i,c)){this.W();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.Ca||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&ud(this.D,this.i,c)){this.W();break}if(0>c)break}}this.C&=15;this.K&4194304?this.K=this.Ia=this.f(this.b):0<=this.ua?(this.K=this.Ja=this.f(this.ua),this.ua=-1):(this.K=
|
||||
this.Ja=this.f(this.Da=this.i),this.i=(this.i+1)%Tb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+(this.Ia=this.f(a))&Sb;a=this.K&4194304?-1:this.Ja/Zb|0;0<=a&&this.Pb(a);this.N--}while(0<this.N);return this.A.complete?this.T-this.N:!1===this.A.complete?-1:0};Xa(function(){for(var a=w(document,v,"cpu"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new od(d);tb(d,c)}});function pd(a){vd[a>>4].call(this,a,a&15)}function N(a){this.w(a)}
|
||||
function wd(){var a=0,b=this.f(this.b),c=b/$b&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$b+(d<<24)+(b&16777215);a&&(b=(b+a)%C);this.g(this.b,b)}function xd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/$b&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
|
||||
function yd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/$b&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%C;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function zd(a,b){this.g(b,this.f(this.b))}function Ad(a,b){this.g(b,this.b)}function Bd(a,b){this.g(this.b,this.f(b))}function Cd(a,b){this.g(b,0)}function Dd(a,b){this.g(b,B-this.f(b))}function Ed(a,b){this.g(b,B)}
|
||||
function Fd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Gd(a,d,c)+(c-(c&x)))}function Hd(a,b){var c=this.f(b);this.g(b,Gd(a,c,0))}function Id(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Gd(a,c,b)+(b-(b&x)))}function Jd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ae(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,Gd(a,d,c)+c)}
|
||||
function be(a,b){var c=this.b*y,d=this.f(b);this.g(b,Gd(a,d,c)+c)}function ce(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Gd(a,c,b)+b)}function de(a,b){var c=this.f(this.b),d=(c&x)*y,c=Gd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ee(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,fe(a,c,this.b)+this.b)}function he(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)}
|
||||
function ie(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>Ub?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function je(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ke(a,b){var c=this.f(b);this.g(b,fe(a,c,0))}function le(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)}function me(a,b){var c=this.f(this.b),d=c/y|0,c=fe(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function O(a){ne[a&7].call(this,a,a>>3&127)}
|
||||
function oe(){}function pe(){}function L(a){this.u("undefined opcode: "+ua(a));sd(this,-1);this.W()}function qe(a){a>z&&(a!=A?a=Wb-a:this.j|=163840);return a}function Q(a,b){var c=(a+b)%C;re.call(this,a,b,c);return c}
|
||||
function se(a,b,c){var d=!1,e=!1,f=b-b%A;a=a%A+b*A%C;b=this.F=f+Math.trunc(b/2);c>z&&(c=C-c,d=!d);b>z&&(a?(b=B-b,a=C-a):b&&(b=C-b),e=!0,d=!d);if(b>=c)return this.j|=131104,-1;f=this.ob;f[0]=0;f[1]=0;f=this.sa;f[0]=1;f[1]=0;f=this.ja;f[0]=c;f[1]=0;c=this.ta;c[0]=a;for(c[1]=b;0<te(this.ta,this.ja);)ue(this.ja,this.ja),ue(this.sa,this.sa);do{if(0<=te(this.ta,this.ja)&&(b=this.ta,a=this.ja,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=C,b[1]--),ue(this.ob,this.sa),ve(this.ta)))break;we(this.ja);we(this.sa)}while(!ve(this.sa));
|
||||
a=this.ob[0];this.F=this.ta[0];d&&a&&(a=C-a);e&&this.F&&(this.F=C-this.F);return a}
|
||||
function we(a,b,c){var d=a,e=b;b=!1;var f;d>z&&(d=C-d,b=!b);e>z&&(e=C-e,b=!b);if(d<y&&e<y)a=d*e,f=0;else{a=d&x;d=Math.trunc(d/y);f=e&x;var e=Math.trunc(e/y),g=a*f,h=d*f+Math.trunc(g/y);f=Math.trunc(h/y);h=(h&x)+a*e;a=h*y+(g&x);f+=Math.trunc(h/y)+d*e}b&&(a?(f=B-f,a=C-a):f&&(f=C-f));if(c)return(f||a>z)&&(f!=B||a<=z)&&(this.j|=131072),a;c=a;b=f;a=b-b%A;b=2*b%C+Math.trunc(c/A);c=a+c%A;d=b-b%A;a!=d&&(b=a+(b-d),this.j|=131072);this.F=c;return b}
|
||||
function xe(a){a?a==A?this.j|=163840:a=Wb-a:this.j|=98304;return a}function ye(a,b){var c=a-b;0>c&&(c+=C);qe.call(this,c,b,a);return c}function qe(a,b,c){a=Math.trunc(a/Vb);b=Math.trunc(b/Vb);c=Math.trunc(c/Vb);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function S(a,b){return R(a,(~(b/E|0)&15)*E+(~b>>>0))}function T(a,b){return(a<A?a:a-C)-(b<A?b:b-C)}
|
||||
function ze(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function V(a){return a<A?a:a-C}function W(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function X(a){return(a/y|0)+(a&x)*y}function ee(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>Ub?x*y:0}return b}function Fd(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b}
|
||||
function te(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=C&&(a[0]%=C,a[1]++)}function se(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function ve(a){a[1]%2&&(a[0]+=C);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function ue(a){return!a[0]&&!a[1]}
|
||||
var ud=[N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},vd,function(a,b){0>this.I&&vd.call(this);wd.call(this,0,b)},wd,function(a,b){0>this.I&&vd.call(this);xd.call(this,0,b)},xd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
||||
function xe(a,b,c){var d=a,e=b;b=!1;var f;d>z&&(d=C-d,b=!b);e>z&&(e=C-e,b=!b);if(d<y&&e<y)a=d*e,f=0;else{a=d&x;d=Math.trunc(d/y);f=e&x;var e=Math.trunc(e/y),g=a*f,h=d*f+Math.trunc(g/y);f=Math.trunc(h/y);h=(h&x)+a*e;a=h*y+(g&x);f+=Math.trunc(h/y)+d*e}b&&(a?(f=B-f,a=C-a):f&&(f=C-f));if(c)return(f||a>z)&&(f!=B||a<=z)&&(this.j|=131072),a;c=a;b=f;a=b-b%A;b=2*b%C+Math.trunc(c/A);c=a+c%A;d=b-b%A;a!=d&&(b=a+(b-d),this.j|=131072);this.F=c;return b}
|
||||
function ye(a){a?a==A?this.j|=163840:a=Wb-a:this.j|=98304;return a}function ze(a,b){var c=a-b;0>c&&(c+=C);re.call(this,c,b,a);return c}function re(a,b,c){a=Math.trunc(a/Vb);b=Math.trunc(b/Vb);c=Math.trunc(c/Vb);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function S(a,b){return R(a,(~(b/E|0)&15)*E+(~b>>>0))}function T(a,b){return(a<A?a:a-C)-(b<A?b:b-C)}
|
||||
function Ae(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function V(a){return a<A?a:a-C}function W(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function X(a){return(a/y|0)+(a&x)*y}function fe(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>Ub?x*y:0}return b}function Gd(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b}
|
||||
function ue(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=C&&(a[0]%=C,a[1]++)}function te(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function we(a){a[1]%2&&(a[0]+=C);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function ve(a){return!a[0]&&!a[1]}
|
||||
var vd=[N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},wd,function(a,b){0>this.I&&wd.call(this);xd.call(this,0,b)},xd,function(a,b){0>this.I&&wd.call(this);yd.call(this,0,b)},yd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
||||
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
||||
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},yd,zd,Ad,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,xe.call(this,this.f(this.b)))},function(a,b){this.g(b,xe.call(this,this.b))},function(a,b){this.g(this.b,
|
||||
xe.call(this,this.f(b)))},function(a,b){a=xe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,pe.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,pe.call(this,this.f(b)))},function(a,b){a=pe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,we.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,we.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,we.call(this,this.f(b),this.f(this.b),
|
||||
!0))},function(a,b){this.g(this.b,this.g(b,we.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,we.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,we.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,we.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,we.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=re.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
|
||||
1&15,this.F))},function(a,b){a=re.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=re.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=re.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=re.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=re.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
|
||||
function(a,b){a=this.f(b);b=this.f(b+1&15);b=re.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=re.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>z?-(C-a):a;0<c?(35<=c?(d=0>d?A:0,c=z):(d=d*Math.pow(2,c)%A,c=A-Math.pow(2,35-c)),a<=z?a+c>z&&(this.j|=131072):a-c<=z&&(this.j|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+C:d;
|
||||
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},zd,Ad,Bd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ye.call(this,this.f(this.b)))},function(a,b){this.g(b,ye.call(this,this.b))},function(a,b){this.g(this.b,
|
||||
ye.call(this,this.f(b)))},function(a,b){a=ye.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,qe.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,qe.call(this,this.f(b)))},function(a,b){a=qe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,xe.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,xe.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,xe.call(this,this.f(b),this.f(this.b),
|
||||
!0))},function(a,b){this.g(this.b,this.g(b,xe.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,xe.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,xe.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,xe.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,xe.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
|
||||
1&15,this.F))},function(a,b){a=se.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
|
||||
function(a,b){a=this.f(b);b=this.f(b+1&15);b=se.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>z?-(C-a):a;0<c?(35<=c?(d=0>d?A:0,c=z):(d=d*Math.pow(2,c)%A,c=A-Math.pow(2,35-c)),a<=z?a+c>z&&(this.j|=131072):a-c<=z&&(this.j|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+C:d;
|
||||
this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%C+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%C:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<A;)a++,c*=2;G(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<A||d>z&&
|
||||
d<B)this.j|=131072;if(71<=a){if(0<e&&e<A||e>z&&e<B)this.j|=131072;d=0}else d=e*Math.pow(2,a-35)%A,c=A-Math.pow(2,70-a),f<=z?e+c>z&&(this.j|=131072):e-c<=z&&(this.j|=131072);e=0;f>z&&(d+=A,e+=A)}else d=d*Math.pow(2,a)%A+Math.trunc(e%A/Math.pow(2,35-a)),e=e*Math.pow(2,a)%A,c=A-Math.pow(2,35-a),f<=z?f+c>z&&(this.j|=131072):(f-c<=z&&(this.j|=131072),d+=A,e+=A)}else-36>=a?(e=-72>=a?d>z?B:0:Math.trunc(d%A/Math.pow(2,-a-35)),d<=z?d=0:(d=B,e+=A)):(c=d>z?C-Math.pow(2,36+a):0,e=Math.trunc(e%A/Math.pow(2,-a))+
|
||||
d%A*Math.pow(2,35+a)%A,d=Math.trunc(d/Math.pow(2,-a))+c,d>z&&(e+=A));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%C+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%C+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%C+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%C+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+
|
||||
1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%C,d=0):(c=c*Math.pow(2,a)%C+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%C):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%C,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},L,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/y|0,c=c&x;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&x,c=c+1&x,this.A.O||(this.g(b,d*
|
||||
y+c),a||rd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<A&&G(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=A&&G(this,this.b)},function(a,b){b&1&&(this.j|=4096);if(b&2){var c=this.Ia,c=c/y|0;this.j=this.j&-254049|c&254048;this.j|=c&4096;c&2048?this.j&4096||(this.j|=2048):this.j&=-2049}b&4&&this.W();b&8&&this.w(a);G(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,G(this,this.b))},function(){this.ua=this.b},L,function(a){this.w(a)},function(a,b){a=
|
||||
this.f(b);a+=262145;this.g(a&x,this.f(this.b));a>=C&&(a-=C);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&x);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=C);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.j&x)*y+this.i);G(this,this.b+1)},function(a,b){this.g(b,(this.j&x)*y+this.i);G(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);G(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,
|
||||
this.f(a/y|0));G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,ye.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,ye.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,ye.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,
|
||||
this.g(b,ye.call(this,this.f(b),this.f(this.b))))},ne,function(a,b){0>T(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){T(this.f(b),this.b)||G(this,this.i+1)},function(a,b){0>=T(this.f(b),this.b)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=T(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){T(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0<T(this.f(b),this.b)&&G(this,this.i+1)},oe,function(a,b){0>T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){T(this.f(b),
|
||||
this.f(this.b))||G(this,this.i+1)},function(a,b){0>=T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0<T(this.f(b),this.f(this.b))&&G(this,this.i+1)},ne,function(a,b){0>V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))||G(this,this.b)},function(a,b){0>=V(this.f(b))&&G(this,this.b)},function(){G(this,this.b)},function(a,b){0<=V(this.f(b))&&
|
||||
G(this,this.b)},function(a,b){V(this.f(b))&&G(this,this.b)},function(a,b){0<V(this.f(b))&&G(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)||G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){G(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,
|
||||
b){a=this.f(this.b);V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)||G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,
|
||||
this.f(b),1));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<V(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)||G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,
|
||||
this.f(this.b),1));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),
|
||||
B))},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));V(a)||G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),B));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<V(a)&&
|
||||
G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));V(a)||G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));G(this,this.i+1);b&&this.g(b,a)},function(a,
|
||||
b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},Bd,Bd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),
|
||||
this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(B-this.f(b),this.b))},function(a,b){this.g(this.b,R(B-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(B-this.f(b),this.f(this.b))))},yd,zd,oe,yd,function(a,b){this.g(b,R(this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),B-this.b))},function(a,b){this.g(this.b,R(this.f(b),B-this.f(this.b)))},function(a,
|
||||
b){this.g(this.b,this.g(b,R(this.f(b),B-this.f(this.b))))},ne,ne,Ad,Ad,function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(this.b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,W(this.f(b),this.f(this.b))))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(this.b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),this.f(this.b))))},
|
||||
function(a,b){this.g(b,R(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,R(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,R(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(B-this.f(b),B-this.f(this.b))))},function(a,b){this.g(b,ze(this.f(b),this.f(this.b)))},function(a,b){this.g(b,ze(this.f(b),this.b))},function(a,b){this.g(this.b,ze(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ze(this.f(b),this.f(this.b))))},Cd,Cd,function(a,b){this.g(this.b,
|
||||
B-this.f(b))},function(a,b){this.g(this.b,this.g(b,B-this.f(b)))},function(a,b){this.g(b,U(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(B-this.f(b),this.b))},function(a,b){this.g(this.b,U(B-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(B-this.f(b),this.f(this.b))))},function(a,b){this.g(b,B-this.f(this.b))},function(a,b){this.g(b,B-this.b)},function(){this.g(this.b,B-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,B-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),
|
||||
B-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),B-this.b))},function(a,b){this.g(this.b,U(this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),B-this.f(this.b))))},function(a,b){this.g(b,U(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,U(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,U(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(B-this.f(b),B-this.f(this.b))))},Dd,Dd,function(){this.g(this.b,B)},function(a,b){this.g(this.b,this.g(b,
|
||||
B))},Ed,Gd,Hd,Id,Jd,ae,be,ce,Ed,Gd,Hd,Id,Jd,ae,be,ce,Ed,Gd,Hd,Id,Jd,ae,be,ce,Ed,Gd,Hd,Id,Jd,ae,be,ce,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,ne,ne,function(a,b){R(this.f(b),this.b)||G(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)||G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){R(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)&&G(this,this.i+1)},oe,oe,function(a,b){R(this.f(b),
|
||||
this.f(this.b))||G(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))||G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){R(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))&&G(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||
|
||||
G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||G(this,this.i+
|
||||
1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(b,
|
||||
W(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&G(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,W(this.f(b),
|
||||
this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,
|
||||
b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);R(a,this.b*y)||G(this,this.i+1);this.g(b,U(a,this.b*y))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&
|
||||
G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){G(this,
|
||||
this.i+1);this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O],me=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);
|
||||
a&8&&(this.j&=-131073);a&131072&&(this.j&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.j&131072&&(a|=8);this.j&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
|
||||
function Ae(a){r.call(this,"ROM",a,128);this.X=this.b=null;this.C=+a.addr;this.j=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=wa(this.w);if(this.w){a=this.w;var b=xa(this.F);"json"!=b&&"hex"!=b&&(a=Ja()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.ha("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(mb(c.ab,a,b),(a=Ia(a,b))?(c.b=a.da,c.X=a.X):c.w=null);Be(c)})}}ka(Ae,r);
|
||||
Ae.prototype.Ka=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Be(this)};Ae.prototype.za=function(){this.X&&(this.D&&Ce(this.D,this.id,this.C,this.j,this.X),delete this.X);return!0};Ae.prototype.pa=function(){return!0};
|
||||
function Be(a){if(!Lb(a)){if(a.w){if(!a.b||!a.G)return;a.j||(a.j=a.b.length);if(a.b.length!=a.j)zb(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.j,8,!0)+")");else{var b;b=a.C;if(Dc(a.G,b,a.j,Pc)){var c;for(c=0;c<a.b.length;c++)xc(a.G,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.G,g=d.j,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.G;d=d.j;g=0;for(e>>>=
|
||||
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Mb(a)}}Xa(function(){for(var a=w(document,v,"rom"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Ae(d);tb(d,c)}});
|
||||
function De(a){r.call(this,"RAM",a);this.X=this.Oa=null;this.i=+a.addr;this.j=+a.size;this.wa=a.load;this.va=a.exec;null!=this.wa&&(this.wa=+this.wa);null!=this.va&&(this.va=+this.va);this.w=this.F=!1;this.b=a.file;this.C=wa(this.b);if(this.b){a=this.b;var b=xa(this.C);"json"!=b&&"hex"!=b&&(a=Ja()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.ha("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(mb(c.ab,a,b),(a=Ia(a,b))?(c.Oa=a.Oa,
|
||||
c.X=a.X,null==c.wa&&(c.wa=a.wa),null==c.va&&(c.va=a.va)):c.b=null);Ee(c)})}}ka(De,r);De.prototype.Ka=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Ee(this)};De.prototype.za=function(a,b){this.X&&(this.D&&Ce(this.D,this.id,this.i,this.j,this.X),delete this.X);b||this.reset();return!0};De.prototype.pa=function(){return!0};
|
||||
function Ee(a){if(a.G&&(!a.w&&a.j&&(Dc(a.G,a.i,a.j,1)?a.w=!0:a.j=0),!Lb(a))){if(!a.w)q("No RAM allocated");else if(a.b){if(!a.Oa)return;Fe(a,a.Oa,a.wa,a.va,a.i)?a.status('Loaded image "'+a.C+'"'):a.ha('Error loading image "'+a.C+'"')}a.F=!0;Mb(a)}}
|
||||
De.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.G,b=this.i,c=this.j,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-A&&(g+=C);for(var g=Math.trunc(Math.abs(g))%C,h=d;f--&&h<e.size;h++)e.D(g,d,e.B+d);c-=16384;b++;d=0}this.Oa&&Fe(this,this.Oa,this.wa,this.va,this.i,!this.D)}this.F=!1};
|
||||
function Fe(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)xc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Za=d,G(a,d),f?a.A.Y?a.A.O||rc(a):a.A.ea=!0:a.D&&a.A.Y?a.W()||a.H.A.reset||(cd(a.D),J(a.H,-1)):!1===f&&a.W(),!a.A.O&&a.Na&&a.Na.stop()));return g}Xa(function(){for(var a=w(document,v,"ram"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new De(d);tb(d,c)}});
|
||||
function Ge(a){r.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=He;b&&(void 0===c&&(c="Panel"),(c=sb(c,this.id))&&(b=c.J[b])&&this.qa(null,a,b))}this.b=this.C=null;this.exports={connect:this.Jb,receiveData:this.gb,receiveStatus:this.hc,setConnection:this.kc}}ka(Ge,r);m=Ge.prototype;
|
||||
m.qa=function(a,b,c){var d=this;switch(b){case He:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ra.xb:ra.Nb:46==c?b=ra.xb:a.ctrlKey&&c>=ra.wb&&c<=ra.Ob&&(b=c-(ra.wb-ra.Kb));b&&(a.preventDefault&&a.preventDefault(),d.gb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ra.Mb&&(b=ra.Lb);d.gb(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
||||
y+c),a||sd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<A&&G(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=A&&G(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&rd(this,this.Ia);b&4&&this.W();b&8&&this.w(a);G(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,G(this,this.b))},function(){this.ua=this.b},L,function(a){this.w(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&x,this.f(this.b));a>=C&&(a-=C);a/y|0||(this.j|=262144);this.g(b,a)},function(a,
|
||||
b){a=this.f(b);var c=this.f(a&x);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=C);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b+1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);G(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},
|
||||
function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,ze.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ze.call(this,this.f(b),this.f(this.b))))},oe,function(a,b){0>T(this.f(b),this.b)&&
|
||||
G(this,this.i+1)},function(a,b){T(this.f(b),this.b)||G(this,this.i+1)},function(a,b){0>=T(this.f(b),this.b)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=T(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){T(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0<T(this.f(b),this.b)&&G(this,this.i+1)},pe,function(a,b){0>T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))||G(this,this.i+1)},function(a,b){0>=T(this.f(b),this.f(this.b))&&G(this,this.i+
|
||||
1)},function(){G(this,this.i+1)},function(a,b){0<=T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0<T(this.f(b),this.f(this.b))&&G(this,this.i+1)},oe,function(a,b){0>V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))||G(this,this.b)},function(a,b){0>=V(this.f(b))&&G(this,this.b)},function(){G(this,this.b)},function(a,b){0<=V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))&&G(this,this.b)},function(a,b){0<V(this.f(b))&&
|
||||
G(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)||G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){G(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);
|
||||
0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)||G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),
|
||||
1));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<V(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)||G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,
|
||||
Q.call(this,this.f(this.b),1));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),B))},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>V(a)&&G(this,this.b)},function(a,
|
||||
b){a=this.g(b,Q.call(this,this.f(b),B));V(a)||G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),B));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<V(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));b&&this.g(b,a)},
|
||||
function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));V(a)||G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},
|
||||
function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},Cd,Cd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},
|
||||
function(a,b){this.g(b,R(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(B-this.f(b),this.b))},function(a,b){this.g(this.b,R(B-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(B-this.f(b),this.f(this.b))))},zd,Ad,pe,zd,function(a,b){this.g(b,R(this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),B-this.b))},function(a,b){this.g(this.b,R(this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),B-this.f(this.b))))},oe,oe,Bd,Bd,function(a,b){this.g(b,
|
||||
W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(this.b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,W(this.f(b),this.f(this.b))))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(this.b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,
|
||||
R(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,R(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(B-this.f(b),B-this.f(this.b))))},function(a,b){this.g(b,Ae(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Ae(this.f(b),this.b))},function(a,b){this.g(this.b,Ae(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Ae(this.f(b),this.f(this.b))))},Dd,Dd,function(a,b){this.g(this.b,B-this.f(b))},function(a,b){this.g(this.b,this.g(b,B-this.f(b)))},function(a,b){this.g(b,
|
||||
U(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(B-this.f(b),this.b))},function(a,b){this.g(this.b,U(B-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(B-this.f(b),this.f(this.b))))},function(a,b){this.g(b,B-this.f(this.b))},function(a,b){this.g(b,B-this.b)},function(){this.g(this.b,B-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,B-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),B-this.b))},function(a,b){this.g(this.b,
|
||||
U(this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),B-this.f(this.b))))},function(a,b){this.g(b,U(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,U(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,U(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(B-this.f(b),B-this.f(this.b))))},Ed,Ed,function(){this.g(this.b,B)},function(a,b){this.g(this.b,this.g(b,B))},Fd,Hd,Id,Jd,ae,be,ce,de,Fd,Hd,Id,Jd,ae,be,ce,de,Fd,Hd,Id,Jd,ae,be,ce,de,Fd,Hd,Id,Jd,
|
||||
ae,be,ce,de,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,oe,oe,function(a,b){R(this.f(b),this.b)||G(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)||G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){R(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)&&G(this,this.i+1)},pe,pe,function(a,b){R(this.f(b),this.f(this.b))||G(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))||
|
||||
G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){R(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))&&G(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),
|
||||
this.b))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||G(this,
|
||||
this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);
|
||||
this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&G(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),X(this.f(this.b))))},
|
||||
function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,W(a,
|
||||
c))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);R(a,this.b*y)||G(this,this.i+1);this.g(b,U(a,this.b*y))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);var c=this.b*
|
||||
y;R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);
|
||||
var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O],ne=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.j&=-131073);a&131072&&(this.j&=-262145);break;default:this.w(a)}},
|
||||
function(a,b){switch(b){case 0:a=0;this.j&131072&&(a|=8);this.j&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
|
||||
function Be(a){r.call(this,"ROM",a,128);this.X=this.b=null;this.C=+a.addr;this.j=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=wa(this.w);if(this.w){a=this.w;var b=xa(this.F);"json"!=b&&"hex"!=b&&(a=Ja()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.ha("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(mb(c.ab,a,b),(a=Ia(a,b))?(c.b=a.da,c.X=a.X):c.w=null);Ce(c)})}}ka(Be,r);
|
||||
Be.prototype.Ka=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Ce(this)};Be.prototype.za=function(){this.X&&(this.D&&De(this.D,this.id,this.C,this.j,this.X),delete this.X);return!0};Be.prototype.pa=function(){return!0};
|
||||
function Ce(a){if(!Lb(a)){if(a.w){if(!a.b||!a.G)return;a.j||(a.j=a.b.length);if(a.b.length!=a.j)zb(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.j,8,!0)+")");else{var b;b=a.C;if(Dc(a.G,b,a.j,Pc)){var c;for(c=0;c<a.b.length;c++)xc(a.G,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.G,g=d.j,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.G;d=d.j;g=0;for(e>>>=
|
||||
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Mb(a)}}Xa(function(){for(var a=w(document,v,"rom"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Be(d);tb(d,c)}});
|
||||
function Ee(a){r.call(this,"RAM",a);this.X=this.Oa=null;this.i=+a.addr;this.j=+a.size;this.wa=a.load;this.va=a.exec;null!=this.wa&&(this.wa=+this.wa);null!=this.va&&(this.va=+this.va);this.w=this.F=!1;this.b=a.file;this.C=wa(this.b);if(this.b){a=this.b;var b=xa(this.C);"json"!=b&&"hex"!=b&&(a=Ja()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.ha("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(mb(c.ab,a,b),(a=Ia(a,b))?(c.Oa=a.Oa,
|
||||
c.X=a.X,null==c.wa&&(c.wa=a.wa),null==c.va&&(c.va=a.va)):c.b=null);Fe(c)})}}ka(Ee,r);Ee.prototype.Ka=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Fe(this)};Ee.prototype.za=function(a,b){this.X&&(this.D&&De(this.D,this.id,this.i,this.j,this.X),delete this.X);b||this.reset();return!0};Ee.prototype.pa=function(){return!0};
|
||||
function Fe(a){if(a.G&&(!a.w&&a.j&&(Dc(a.G,a.i,a.j,1)?a.w=!0:a.j=0),!Lb(a))){if(!a.w)q("No RAM allocated");else if(a.b){if(!a.Oa)return;Ge(a,a.Oa,a.wa,a.va,a.i)?a.status('Loaded image "'+a.C+'"'):a.ha('Error loading image "'+a.C+'"')}a.F=!0;Mb(a)}}
|
||||
Ee.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.G,b=this.i,c=this.j,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-A&&(g+=C);for(var g=Math.trunc(Math.abs(g))%C,h=d;f--&&h<e.size;h++)e.D(g,d,e.B+d);c-=16384;b++;d=0}this.Oa&&Ge(this,this.Oa,this.wa,this.va,this.i,!this.D)}this.F=!1};
|
||||
function Ge(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)xc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Za=d,G(a,d),f?a.A.Y?a.A.O||rc(a):a.A.ea=!0:a.D&&a.A.Y?a.W()||a.H.A.reset||(cd(a.D),J(a.H,-1)):!1===f&&a.W(),!a.A.O&&a.Na&&a.Na.stop()));return g}Xa(function(){for(var a=w(document,v,"ram"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Ee(d);tb(d,c)}});
|
||||
function He(a){r.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Ie;b&&(void 0===c&&(c="Panel"),(c=sb(c,this.id))&&(b=c.J[b])&&this.qa(null,a,b))}this.b=this.C=null;this.exports={connect:this.Jb,receiveData:this.gb,receiveStatus:this.hc,setConnection:this.kc}}ka(He,r);m=He.prototype;
|
||||
m.qa=function(a,b,c){var d=this;switch(b){case Ie:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ra.xb:ra.Nb:46==c?b=ra.xb:a.ctrlKey&&c>=ra.wb&&c<=ra.Ob&&(b=c-(ra.wb-ra.Kb));b&&(a.preventDefault&&a.preventDefault(),d.gb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ra.Mb&&(b=ra.Lb);d.gb(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
||||
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.gb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.Ka=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Mb(this)};
|
||||
m.Jb=function(a){if(!this.b){var b=$c(this.H,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ea(c[0]);if(d!=this.$a)return;c=Ea(c[1]);if(this.b=rb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.ab+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};m.za=function(a,b){if(!b)if(this.Jb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
m.pa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new F(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.gb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};m.hc=function(){};m.kc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var He="buffer";
|
||||
Xa(function(){for(var a=w(document,v,"serial"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Ge(d);tb(d,c)}});function Ie(a){r.call(this,"Debugger",a);this.S=+a.base||16;this.L=32;this.ja=null;this.aa=["{","}"];this.sa=["[","]"];this.C=0;this.T=!1;this.w=-1;this.j=[];this.I={}}ka(Ie,r);Ie.prototype.sb=function(){return-1};Ie.prototype.tb=function(){};
|
||||
function Je(a,b,c,d){if(c)if(b){0>a.w&&a.j.length&&(a.w=0);if(0>a.w||b!=a.j[a.w])a.j.splice(0,0,b),a.w=0;a.w--}else a.T?b="end":b=a.j[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ea(b.substring(c,f))),c=f+1}}return a}function Ke(a,b,c){if(32>=a.L)return b&c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Le|0)&(c/Le|0))*Le+((b&c)>>>0)}
|
||||
function Me(a,b,c){if(32>=a.L)return b|c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Le|0)^(c/Le|0))*Le+((b^c)>>>0)}function Y(a,b,c,d){var e=b;c=c||a.L;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else 32>=c?e=b|0:(a=Math.pow(2,c-1),b<-a?(b<2*-a&&(e=b%(2*a)),e+=2*a):e>=a&&(b>=2*a&&(e=b%(2*a)),e-=2*a));b!=e&&(b=e);return b}
|
||||
function Ne(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f,g=b.pop();f=b.pop();switch(e){case "*":f*=g;break;case "/":if(!g)return!1;f=Math.trunc(f/g);break;case "%":if(!g)return!1;f%=g;break;case "+":f+=g;break;case "-":f-=g;break;case "<<":f<<=g;break;case ">>":f>>=g;break;case ">>>":f>>>=g;break;case "<":f=f<g?1:0;break;case "<=":f=f<=g?1:0;break;case ">":f=f>g?1:0;break;case ">=":f=f>=g?1:0;break;case "==":f=f==g?1:0;break;case "!=":f=f!=g?1:0;break;
|
||||
case "&":f=Ke(a,f,g);break;case "!":case "|":e=a;32>=e.L?f|=g:(f=Y(e,f,0,!0),g=Y(e,g,0,!0),f=(f/Le|0|g/Le|0)*Le+((f|g)>>>0));break;case "^!":f=Me(a,f,g);break;case "&&":f=f&&g?1:0;break;case "||":f=f||g?1:0;break;case "_":case "^_":"^_"==e&&(g=35-(g&255));g&&(f=Y(a,f,0,!0),f=0<g?f*Math.pow(2,g):Math.trunc(f/Math.pow(2,-g)));break;default:return!1}b.push(Y(a,f))}return!0}
|
||||
function Oe(a,b,c,d,e,f){var g,h,k,l=!1,p=0,u=[],D=[],I=a.S;for(a.S=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=Pe(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Oe(a,b,p,c-1,a.S,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.S=2;continue}if("^O"==k){a.S=8;continue}if("^D"==k){a.S=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==k||"^-"==k){p=p<<2|2;continue}if("^L"==
|
||||
k){p=p<<2|3;continue}}l=!0;break}if(void 0===p)if(null==a.ja&&f)a.ja=h,p=0;else{l=!0;f=!f;break}u.push(Y(a,p));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{l=!0;break}if(!k)break;D.length&&Qe[k]<=Qe[D[D.length-1]]&&Ne(a,u,D,1);D.push(k);a.S="^_"==k?10:e;p=0}if(l||!Ne(a,u,D)||1!=u.length)l=!0;l?!1===f&&a.u("parse error ("+(h||k)+")"):g=u.pop();a.S=I;return g}
|
||||
function Re(a,b,c,d,e,f){for(var g;0<=(g=b.indexOf(c));){for(var h=0,k=g+1,l=e;k<b.length;){var p=b[k++];if(p==c){l=-1;break}if(!l)break;l--;p=p.charCodeAt(0);7==d?p&=127:p=p-32&63;h=Y(a,h*Math.pow(2,d)+p,d*e,!0)}if(0<=l){!1===f&&a.u("parse error ("+b+")");break}else b=b.substr(0,g)+K(a,h,-1)+b.substr(k)}return b}
|
||||
function Se(a,b,c){var d=void 0;a.ja=null;if(b){"{"!=a.aa[0]&&(b=b.split(a.aa[0]).join("{").split(a.aa[1]).join("}"));b=Re(a,b,'"',7,5,c);if(!b)return d;b=Re(a,b,"'",6,6,c);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/(\{|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*| )/);d=Oe(a,b,0,b.length,a.S,c);void 0!==d&&!1===c&&Te(a,null,d)}return d}
|
||||
function Pe(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b)if(f=a.sb(b),0<=f?f=a.tb(f):(f=a.I[b],null==f&&(f=sa(b,1<b.length?a.S:10))),null!=f){for(;e;){switch(e&3){case 1:f=-Y(a,f);break;case 2:f=Me(a,f,-1);break;case 3:for(b=35;0<=b&&!Ke(a,f,Math.pow(2,b));)b--;f=35-b}e>>>=2}f=Y(a,f)}else d||a.u("invalid "+(c?c:"value")+": "+b);else d||a.u("missing "+(c||"value"));return f}
|
||||
function Te(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.S?K(a,c,a.L,8,1)+" "+c+".":K(a,c,a.L,16,1)+" "+K(a,c,a.L,8,1)+" "+K(a,c,a.L,2,32>=a.L?8:6)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.u((null!=b?b+": ":"")+d);return e}function Ue(a){var b=a.I;a.I={};return b}function Ve(a,b){if(b)return Te(a,b,a.I[b]);var c=0;for(b in a.I)Te(a,b,a.I[b]),c++;return 0<c}
|
||||
m.pa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new F(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.gb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};m.hc=function(){};m.kc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Ie="buffer";
|
||||
Xa(function(){for(var a=w(document,v,"serial"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new He(d);tb(d,c)}});function Je(a){r.call(this,"Debugger",a);this.S=+a.base||16;this.L=32;this.ja=null;this.aa=["{","}"];this.sa=["[","]"];this.C=0;this.T=!1;this.w=-1;this.j=[];this.I={}}ka(Je,r);Je.prototype.sb=function(){return-1};Je.prototype.tb=function(){};
|
||||
function Ke(a,b,c,d){if(c)if(b){0>a.w&&a.j.length&&(a.w=0);if(0>a.w||b!=a.j[a.w])a.j.splice(0,0,b),a.w=0;a.w--}else a.T?b="end":b=a.j[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ea(b.substring(c,f))),c=f+1}}return a}function Le(a,b,c){if(32>=a.L)return b&c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Me|0)&(c/Me|0))*Me+((b&c)>>>0)}
|
||||
function Ne(a,b,c){if(32>=a.L)return b|c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Me|0)^(c/Me|0))*Me+((b^c)>>>0)}function Y(a,b,c,d){var e=b;c=c||a.L;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else 32>=c?e=b|0:(a=Math.pow(2,c-1),b<-a?(b<2*-a&&(e=b%(2*a)),e+=2*a):e>=a&&(b>=2*a&&(e=b%(2*a)),e-=2*a));b!=e&&(b=e);return b}
|
||||
function Oe(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f,g=b.pop();f=b.pop();switch(e){case "*":f*=g;break;case "/":if(!g)return!1;f=Math.trunc(f/g);break;case "%":if(!g)return!1;f%=g;break;case "+":f+=g;break;case "-":f-=g;break;case "<<":f<<=g;break;case ">>":f>>=g;break;case ">>>":f>>>=g;break;case "<":f=f<g?1:0;break;case "<=":f=f<=g?1:0;break;case ">":f=f>g?1:0;break;case ">=":f=f>=g?1:0;break;case "==":f=f==g?1:0;break;case "!=":f=f!=g?1:0;break;
|
||||
case "&":f=Le(a,f,g);break;case "!":case "|":e=a;32>=e.L?f|=g:(f=Y(e,f,0,!0),g=Y(e,g,0,!0),f=(f/Me|0|g/Me|0)*Me+((f|g)>>>0));break;case "^!":f=Ne(a,f,g);break;case "&&":f=f&&g?1:0;break;case "||":f=f||g?1:0;break;case "_":case "^_":"^_"==e&&(g=35-(g&255));g&&(f=Y(a,f,0,!0),f=0<g?f*Math.pow(2,g):Math.trunc(f/Math.pow(2,-g)));break;default:return!1}b.push(Y(a,f))}return!0}
|
||||
function Pe(a,b,c,d,e,f){var g,h,k,l=!1,p=0,u=[],D=[],I=a.S;for(a.S=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=Qe(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Pe(a,b,p,c-1,a.S,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.S=2;continue}if("^O"==k){a.S=8;continue}if("^D"==k){a.S=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==k||"^-"==k){p=p<<2|2;continue}if("^L"==
|
||||
k){p=p<<2|3;continue}}l=!0;break}if(void 0===p)if(null==a.ja&&f)a.ja=h,p=0;else{l=!0;f=!f;break}u.push(Y(a,p));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{l=!0;break}if(!k)break;D.length&&Re[k]<=Re[D[D.length-1]]&&Oe(a,u,D,1);D.push(k);a.S="^_"==k?10:e;p=0}if(l||!Oe(a,u,D)||1!=u.length)l=!0;l?!1===f&&a.u("parse error ("+(h||k)+")"):g=u.pop();a.S=I;return g}
|
||||
function Se(a,b,c,d,e,f){for(var g;0<=(g=b.indexOf(c));){for(var h=0,k=g+1,l=e;k<b.length;){var p=b[k++];if(p==c){l=-1;break}if(!l)break;l--;p=p.charCodeAt(0);7==d?p&=127:p=p-32&63;h=Y(a,h*Math.pow(2,d)+p,d*e,!0)}if(0<=l){!1===f&&a.u("parse error ("+b+")");break}else b=b.substr(0,g)+K(a,h,-1)+b.substr(k)}return b}
|
||||
function Te(a,b,c){var d=void 0;a.ja=null;if(b){"{"!=a.aa[0]&&(b=b.split(a.aa[0]).join("{").split(a.aa[1]).join("}"));b=Se(a,b,'"',7,5,c);if(!b)return d;b=Se(a,b,"'",6,6,c);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/(\{|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*| )/);d=Pe(a,b,0,b.length,a.S,c);void 0!==d&&!1===c&&Ue(a,null,d)}return d}
|
||||
function Qe(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b)if(f=a.sb(b),0<=f?f=a.tb(f):(f=a.I[b],null==f&&(f=sa(b,1<b.length?a.S:10))),null!=f){for(;e;){switch(e&3){case 1:f=-Y(a,f);break;case 2:f=Ne(a,f,-1);break;case 3:for(b=35;0<=b&&!Le(a,f,Math.pow(2,b));)b--;f=35-b}e>>>=2}f=Y(a,f)}else d||a.u("invalid "+(c?c:"value")+": "+b);else d||a.u("missing "+(c||"value"));return f}
|
||||
function Ue(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.S?K(a,c,a.L,8,1)+" "+c+".":K(a,c,a.L,16,1)+" "+K(a,c,a.L,8,1)+" "+K(a,c,a.L,2,32>=a.L?8:6)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.u((null!=b?b+": ":"")+d);return e}function Ve(a){var b=a.I;a.I={};return b}function We(a,b){if(b)return Ue(a,b,a.I[b]);var c=0;for(b in a.I)Ue(a,b,a.I[b]),c++;return 0<c}
|
||||
function K(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.S){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=ta(b,2,a,"",e);break;case 8:b=ua(b,0<c?(c+2)/3|0:0,!!e);break;case 10:b=va(b,0<c?Math.ceil(.3*c):0);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
||||
var Qe={"||":0,"&&":1,"!":2,"|":2,"^!":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,_:10,"^_":10,"{":11,"}":11},Le=Math.pow(2,32);
|
||||
function We(a){Ie.call(this,a);this.Ha=!1;this.Fa=18;this.L=36;this.aa=["<",">"];this.sa=[];this.Ga=Z();this.M=Z(0);this.la=Z(0);this.ia=Z(0);this.F=[];this.b=this.N=this.K=[];Xe(this);this.U=this.ma=0;this.i=[];this.Da=void 0;Ye(this);this.D=this;this.Ba={};this.ba=this.Eb=0;this.Z=null;this.R=[];Ze(this,a.messages);this.ua=a.commands;this.P=0;this.Na=this.Ea=null;this.C=this.Ja=this.Ia=this.ka=this.Ca=0;this.ta=this.ra=this.ga=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return ed(b,
|
||||
a)}):void 0===global[v]&&(global[v]=function(a){return ed(b,a)})}ka(We,Ie);function $e(a){a=a&&a.B;null==a&&(a=-1);return a}function Z(a,b,c){return{B:void 0===a?null:a,cb:void 0===b?!1:b,oa:!1,S:c}}function af(a,b,c,d){a.B=b;a.cb=c||!1;a.oa=!1;a.S=d}function bf(a){return[a.B,a.cb,a.oa,a.S,a.hb]}function cf(a,b){var c=Z(b[0],b[1],b[2]);c.oa=b[3];b[4]&&(c.zb=Je(a,c.hb=b[4]));return c}m=We.prototype;
|
||||
m.Ka=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.ra=a.j;this.Fa=b.F;(b=$c(a,"messages"))&&Ze(this,b);if(a=$c(a,"commands"))this.ua=a;df(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=$e(ef(d,c,d.la));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Kc[c],p&&d.u(n(p.id,8)+" %"+
|
||||
var Re={"||":0,"&&":1,"!":2,"|":2,"^!":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,_:10,"^_":10,"{":11,"}":11},Me=Math.pow(2,32);
|
||||
function Xe(a){Je.call(this,a);this.Ha=!1;this.Fa=18;this.L=36;this.aa=["<",">"];this.sa=[];this.Ga=Z();this.M=Z(0);this.la=Z(0);this.ia=Z(0);this.F=[];this.b=this.N=this.K=[];Ye(this);this.U=this.ma=0;this.i=[];this.Da=void 0;Ze(this);this.D=this;this.Ba={};this.ba=this.Eb=0;this.Z=null;this.R=[];$e(this,a.messages);this.ua=a.commands;this.P=0;this.Na=this.Ea=null;this.C=this.Ja=this.Ia=this.ka=this.Ca=0;this.ta=this.ra=this.ga=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return ed(b,
|
||||
a)}):void 0===global[v]&&(global[v]=function(a){return ed(b,a)})}ka(Xe,Je);function af(a){a=a&&a.B;null==a&&(a=-1);return a}function Z(a,b,c){return{B:void 0===a?null:a,cb:void 0===b?!1:b,oa:!1,S:c}}function bf(a,b,c,d){a.B=b;a.cb=c||!1;a.oa=!1;a.S=d}function cf(a){return[a.B,a.cb,a.oa,a.S,a.hb]}function df(a,b){var c=Z(b[0],b[1],b[2]);c.oa=b[3];b[4]&&(c.zb=Ke(a,c.hb=b[4]));return c}m=Xe.prototype;
|
||||
m.Ka=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.ra=a.j;this.Fa=b.F;(b=$c(a,"messages"))&&$e(this,b);if(a=$c(a,"commands"))this.ua=a;ef(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=af(ff(d,c,d.la));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Kc[c],p&&d.u(n(p.id,8)+" %"+
|
||||
n(e<<d.G.i,8)+" %"+n(p.B,8)+" "+n(p.Wa,4,!0)+" "+n(p.size,4,!0)+" "+l),c!=Oc&&(c=-1),l=0);a+=16384;e++}}});Mb(this)};
|
||||
m.qa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ga=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ed(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.j.length-1&&(b=d.j[++d.w])):40==a.keyCode&&(0<d.w?b=d.j[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Va(c,function(){if(d.ga){var a=d.ga.value;
|
||||
d.ga.value="";ed(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Va(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=sc(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function dd(a){if(a.ga){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ga.focus();window&&window.scrollTo(b,c)}}m.Ma=function(a,b){var c=-1,d=$e(a);-1!==d&&(c=yc(this.G,d),b&&null!=a.B&&(a.B+=b||1));return c};m.yb=function(a,b,c){var d=$e(a);-1!==d&&(xc(this.G,d,b),c&&null!=a.B&&(a.B+=c||1),J(this.H,-1))};
|
||||
function ef(a,b,c){var d,e;c||(c=Z());var f=c.B;if(void 0!==b){a:{var g,f=a.aa[0],h=a.aa[1];g="("==f||"{"==f||"["==f?"\\":"";for(var k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);){var l=Se(a,g[1]);if(void 0===l){b=void 0;break a}b=b.replace(f+g[1]+h,null!=l?K(a,l):"undefined")}if(a.sa.length)for(f=a.sa[0],h=a.sa[1],g="("==f||"{"==f||"["==f?"\\":"",k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);)b=b.replace("["+g[1]+"]","unimplemented");for(;f=b.match(/\$([a-z]+)/i);){h=
|
||||
null;switch(f[1].toLowerCase()){case "ops":h=0}if(null==h)break;b=b.replace(f[0],h.toString())}}"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var p,f=b,u;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(f=f.toUpperCase(),h=0;h<a.F.length;h++)if(g=a.F[h].X[f],null!=g){u=g.o;break}null!=u&&(p=Z(u));if(p)return p;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Se(a,b)}null!=f&&(f=ff(f,a.Fa),af(c,f,d,e));return c}function gf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.zb=Je(a,b.hb=c[2]))}
|
||||
function ff(a,b){0>a&&a>=-A&&(a+=C);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function hf(a,b){return K(a,b/Tb,18)+" "+K(a,b%Tb,18)}
|
||||
function Ze(a,b){a.D=a;a.ba=a.Eb=536870916;a.Z=null;a.R=[];b=Je(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in ac){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ba|=ac[c],a.u(c+" messages enabled"))}}function df(a,b){for(var c in ac)if(16==ac[c]){a.Ba[c]=b;break}}m.sb=function(a){return jf.indexOf(a.toUpperCase())};
|
||||
m.tb=function(a){var b,c=this.v;switch(a){case kf:b=c.i;break;case lf:b=c.K;break;case mf:b=c.b;break;case nf:b=c.j&65536?1:0;break;case of:b=c.j&32768?1:0;break;case pf:b=c.j&131072?1:0;break;case qf:b=c.j&32?1:0;break;case rf:b=c.j&262144?1:0}return b};
|
||||
d.ga.value="";ed(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Va(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=sc(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function dd(a){if(a.ga){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ga.focus();window&&window.scrollTo(b,c)}}m.Ma=function(a,b){var c=-1,d=af(a);-1!==d&&(c=yc(this.G,d),b&&null!=a.B&&(a.B+=b||1));return c};m.yb=function(a,b,c){var d=af(a);-1!==d&&(xc(this.G,d,b),c&&null!=a.B&&(a.B+=c||1),J(this.H,-1))};
|
||||
function ff(a,b,c){var d,e;c||(c=Z());var f=c.B;if(void 0!==b){a:{var g,f=a.aa[0],h=a.aa[1];g="("==f||"{"==f||"["==f?"\\":"";for(var k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);){var l=Te(a,g[1]);if(void 0===l){b=void 0;break a}b=b.replace(f+g[1]+h,null!=l?K(a,l):"undefined")}if(a.sa.length)for(f=a.sa[0],h=a.sa[1],g="("==f||"{"==f||"["==f?"\\":"",k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);)b=b.replace("["+g[1]+"]","unimplemented");for(;f=b.match(/\$([a-z]+)/i);){h=
|
||||
null;switch(f[1].toLowerCase()){case "ops":h=0}if(null==h)break;b=b.replace(f[0],h.toString())}}"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var p,f=b,u;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(f=f.toUpperCase(),h=0;h<a.F.length;h++)if(g=a.F[h].X[f],null!=g){u=g.o;break}null!=u&&(p=Z(u));if(p)return p;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Te(a,b)}null!=f&&(f=gf(f,a.Fa),bf(c,f,d,e));return c}function hf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.zb=Ke(a,b.hb=c[2]))}
|
||||
function gf(a,b){0>a&&a>=-A&&(a+=C);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function jf(a,b){return K(a,b/Tb,18)+" "+K(a,b%Tb,18)}
|
||||
function $e(a,b){a.D=a;a.ba=a.Eb=536870916;a.Z=null;a.R=[];b=Ke(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in ac){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ba|=ac[c],a.u(c+" messages enabled"))}}function ef(a,b){for(var c in ac)if(16==ac[c]){a.Ba[c]=b;break}}m.sb=function(a){return kf.indexOf(a.toUpperCase())};
|
||||
m.tb=function(a){var b,c=this.v;switch(a){case lf:b=c.i;break;case mf:b=c.K;break;case nf:b=c.b;break;case of:b=(c.j&x)*y/y|0;break;case pf:b=c.j&65536?1:0;break;case qf:b=c.j&32768?1:0;break;case rf:b=c.j&131072?1:0;break;case sf:b=c.j&32?1:0;break;case tf:b=c.j&262144?1:0}return b};
|
||||
m.message=function(a,b){b&&(a+=" @"+K(this,Z(this.v.Da).B,18));if(!this.Z||a!=this.Z)if(this.Z=a,this.ba&1073741824)this.R.push(a);else{var c;if(this.ba&-2147483648&&this.v&&(c=this.v.A.O)||Nb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,md(a),a.ia=0,a.H&&J(a.H,void 0))}};
|
||||
function Ye(a){var b;if(!sd(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.U=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(sf);for(b=0;b<a.i.length;b++)a.i[b]=Z();a.U=0;a.u("instruction history buffer allocated")}}function tf(a,b,c){if(!uf(a,c))return!1;rc(a.v,b);return!0}
|
||||
function sc(a,b,c,d){if(!uf(a))return!1;var e="";null===c&&(e=(c=!a.Ea||"tr"==a.Ea)?"tr":"t");a.C=0;b||sd(a)&&td(a,a.v.i,0);try{b=kd(a.v,b);var f=a.v.Ya(b);0<f&&(tc(a.v,f),a.C+=f,uc(a.v,f,!0),vc(a.v,f),a.ka++)}catch(g){"number"!=typeof g&&(a.C=0,zb(a.v,g.stack||g.message))}!1!==d&&(a.ra&&a.ra.stop(),J(a.H,-1));cd(a,c||!1,e);return 0<a.C}m.W=function(a){this.v&&this.v.W(a)};function cd(a,b,c){b=void 0===b?!0:b;a.Ha&&(c&&a.u(vf+c),af(a.M,a.v.i),b&&1!=a.P?wf(a):xf(a))}
|
||||
function uf(a,b){var c;(c=!a.v||!Lb(a.v))||(c=a.v,c.A.Y?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.O?(b||a.u("cpu busy or unavailable, command ignored"),!1):!Bb(a.v)}m.za=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};m.pa=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){Ye(this);this.ka=0;this.Z=null;this.C=0;af(this.M,this.v.i);this.A.O=!1;yf(this);a||cd(this)};
|
||||
m.save=function(){var a=new F(this);a.set(0,bf(this.M));a.set(1,bf(this.la));a.set(2,bf(this.ia));a.set(3,[this.j,this.T,this.ba]);a.set(4,this.F);return a.data()};m.restore=function(a){var b=0;void 0!==a[3]&&(this.M=cf(this,a[b++]),this.la=cf(this,a[b++]),this.ia=cf(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.T=a[b][1],this.ba|=a[b][2]);a[4]&&(this.F=a[4]);return!0};m.start=function(a,b){this.P||this.u("running");this.A.O=!0;this.Ia=a;this.Ja=b};
|
||||
m.stop=function(a,b){if(this.A.O){this.A.O=!1;this.C=b-this.Ja;if(!this.P){b="stopped";if(this.C){a-=this.Ia;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";sd(this)&&(b+=this.ka+" instructions, ",this.ka=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Pb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}cd(this,!0);dd(this);yf(this,this.v.i);this.Z=null}};function sd(a){return 1<a.b.length||!!a.ma}
|
||||
function td(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.Da==b&&(b=rd(a.v,1)));if(0<c&&(a.ma&&!--a.ma||Xc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ka++,0>d&&(d=a.v.f(b)),0<=d&&(af(a.i[a.U],b),++a.U==a.i.length&&(a.U=0)));return!1}
|
||||
function zf(a,b,c,d){var e=Z(b.B),f=a.Ma(b,1),g,h,k,l=0,p=f/Xb|0,u;for(u in Af)if(g=Af[u][p&u]){h=+u;p>>=6;switch(h){case 32512:k=Bf;l=p&3;break;case 32256:k=Cf;l=p&7;break;case 29248:k=Df,l=(p&48)>>2|(p&6)>>1}break}k=k&&k[l]||"";"S"==k&&g>Ef&&(k="B");k=Ff[g||0]+k;if(g){if(28700==h)h=f/Yb&127,l=K(a,h,-1);else for(h=f>>23&15,l=K(a,h,-1),p=0;l&&p<Gf.length;p++)if(g==Gf[p][0]&&(u=Gf[p][h])){k=Ff[u];l="";break}k=Da(k,8)+(l?l+",":"");f&4194304&&(k+="@");k+=K(a,f&262143,-1);(f=f>>18&15)&&(k+="("+K(a,f,
|
||||
-1)+")")}else k=Da(k,8)+hf(a,f);f=k;g="";h=K(a,e.B,18)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ma(e,1),g+=" "+hf(a,k),null==e.B)break;while(e.B!=b.B)}h+=Da(g,16)+f;c&&(h=Da(h,48)+";"+(c||""),h=a.v.A.Ta?h+("cycles="+fd(a.v).toString()+" cs="+n(a.v.Fa)):h+(null!=d?"="+d.toString():""));return h}
|
||||
function Hf(a,b,c,d,e){var f=-1,g,h;a.ja=null;if(b){for(var k=b.toUpperCase(),l=0;l<Gf.length;l++)for(var p in Gf[l])if(+p&&(h=Gf[l][p],k==Ff[h])){k=Ff[Gf[l][0]];c&&(c=K(a,+p)+","+c);break}for(var u in Af){g=+u;p=Af[u];switch(g){case 32512:l=Bf;break;case 32256:l=Cf;break;case 29248:l=Df;break;default:l=[""]}for(var D in p){h=p[D];for(var I=0;I<l.length;I++){var P=l[I];"S"==P&&h>Ef&&(P="B");if(k==Ff[h]+P){f=29248!=g?I:(I&3)<<1|(I&12)<<2;f=(D|f<<6)*Xb;break}}if(0<=f)break}if(0<=f)break}0>f&&c&&!c.match(/^[0-9A-Z$%.?]/i)&&
|
||||
(c=b+c,b="",f=0)}else c&&(f=g=0);if(0<=f&&c)for(k=c.split(","),u=0;u<k.length;u++)if(h=k[u].trim()){if(1<u){a.u("too many operands: "+c);f=-1;break}D=h.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!D){a.u("unknown operand: "+h);f=-1;break}D[1]&&(f+=4194304);if(h=D[3]){h=Se(a,h,e);if(void 0==h){f=-1;break}if(0>h||15<h)h&=15;f+=h<<18}h=D[2];if(u||1==k.length)h=h?h.replace(/(^|[^0-9])\./g,"$1"+K(a,d,18)):"0";h=Se(a,h,e);if(void 0==h){f=-1;break}if(!u&&1<k.length)if(28700==g){if(0>h||127<h)h&=127;f+=h*Yb}else{if(0>
|
||||
h||15<h)h&=15;f+=h<<23}else{if(b||u)if(0>h||262143<h)h&=Sb;f+=h}}0>f&&!e&&a.u("unknown instruction: "+b+" "+c);return f}function Xe(a){var b,c;a.b=["bp"];if(a.N)for(b=1;b<a.N.length;b++){c=a.N[b];c=$e(c);var d=a.G;Wc(d.b[c>>>d.i],!1)}a.N=["br"];if(a.K)for(b=1;b<a.K.length;b++)c=a.K[b],c=$e(c),d=a.G,Wc(d.b[c>>>d.i],!0);a.K=["bw"];a.Ca=0;a.ma=0}
|
||||
m.Qa=function(a,b,c){var d=!0;c||If(this,a,b,!1,!0);if(a!=this.b){var e=$e(b);if(-1===e)this.u("invalid address: "+K(this,b.B,18)),d=!1;else{var f=this.G;f.b[e>>>f.i].Qa(e&16383,a==this.K)}}d&&(a.push(b),c?b.oa=!0:(Jf(this,a,a.length-1,"set"),Ye(this)));return d};function If(a,b,c,d,e){var f=!1;c=$e(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==$e(h)&&(!d||h.oa)){f=!0;h.oa||e||Jf(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.G,Wc(d.b[c>>>d.i],b==a.K));h.oa||Ye(a);break}}return f}
|
||||
function Kf(a,b){for(var c=1;c<b.length;c++)Jf(a,b,c);return b.length-1}function Jf(a,b,c,d){c=b[c];a.u(b[0]+" "+K(a,c.B,18)+(d?" "+d:c.hb?' "'+c.hb+'"':""))}function yf(a,b){if(void 0!==b)Xc(a,b,1,a.b,!0),a.P=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.oa){if(!If(a,a.b,c,!0))break;b=0}}}
|
||||
function Xc(a,b,c,d,e){var f=!1;if(!a.Ca++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.oa)for(var k=$e(h)&(d==a.b?65535:-1),l=0;l<c;l++)if(b+l==k){var p,f=!0;h.oa&&(If(a,d,h,!0),e=!0);if(p=h.zb){for(var f=!1,u=0;u<p.length;u++)if(!Lf(a,p[u],!0)){if(p[u].indexOf("if")){f=!0;break}for(var D=u+1;D<p.length&&p[D].indexOf("else");D++)u++;if(D==p.length){f=!0;break}}a.v.A.O||(f=!0)}if(f){e||Jf(a,d,g,"hit");break}}}a.Ca--;return f}
|
||||
function lg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=ua(d,2);af(e.Ga,d);f+="="+K(e,e.Ma(e.Ga),36)+" ";c+=f}if(b){b="";for(d=0;d<jf.length;d++)(e=jf[d]||"")&&(e+="="+K(a,a.tb(d),d>=nf?1:d==lf?23:18)+" "),b+=e;c+="\n"+b}return c}m.Gb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Ce(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,l=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],u=Fa(p,k,a.Gb);0>u&&p.splice(-(u+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.F.push({wd:b,B:c,Ub:d,X:e,Bb:f})}function ng(a,b,c){var d=[],e=$e(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Ub;if(e>=g&&e<g+h){e=Fa(f.Bb,[e-g],a.Gb);0<=e?og(a,b,e,d):c&&(e=~e,og(a,b,e-1,d),og(a,b,e,d));break}}return d}
|
||||
function pg(a,b,c){var d=0,e=a.G;b.forEach(function(a,b){xc(e,b,a);null==c&&(c=b);d++});d?(a.u(d+" words loaded at "+K(a,c)+"-"+K(a,c+d-1)),G(a.v,c||0),cd(a)):a.u("no data")}function og(a,b,c,d){var e={},f=a.F[b].Bb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].X[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function qg(a,b){var c=ef(a,b[1],a.ia);if(c){var d=b[2];if(void 0==d)a.u("begin assemble at "+K(a,c.B,18)),a.T=!0,J(a.H);else{var e=b[0].substr(1),f=d.match(/^(['"]?)(.*\.mac|.*\.html)\1$/i);if(f)if(a.ta)a.u("assembly already in progress");else{var g=f[2],h=c.B;a.ta=new rg(g,h,e,a,function(b,c){if(b)a.u("error ("+b+") processing "+(c||g));else try{pg(a,a.ta.V,h)}catch(p){a.u(p.message)}a.ta=null})}else b.shift(),b.shift(),b.shift(),b=Hf(a,d,b.join(""),c.B||0),0<=b&&(a.yb(c,b),a.u(zf(a,c)))}}}
|
||||
function sg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ve(a)||a.u("no variables"),!0;if(!c[2])return Ve(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=Se(a,c[3]);return void 0!==b?(a.I[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
|
||||
function tg(a,b,c){var d=null;if(b=ef(a,b)){var e=ng(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+n(f,4,!0)),f=e[0]+" ("+K(a,e[1],18)+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+K(a,e[5],18)+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
|
||||
function wf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=Se(a,b);if(void 0===g)return;b=a.sb(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case kf:G(h,
|
||||
g);af(a.M,h.i);break;case nf:f=65536;break;case of:f=32768;break;case pf:f=131072;break;case qf:f=32;break;case rf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);J(a.H);a.u("updated registers:")}}a.u(lg(a,e));c&&(af(a.M,d.i),xf(a,K(a,a.M.B,18)))}}function ug(a,b){b=Ea(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):Te(a,null,c[2].charCodeAt(0)):Se(a,b,!1)}
|
||||
function vg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Pe(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Ea=b;Ua(c,function(){return Ob(a,!0)&&sc(a,e,d,!1)},function(){a.ra&&a.ra.stop();J(a.H,-1);Ob(a,!1)})}}
|
||||
function xf(a,b,c,d){if(b=ef(a,b,a.M)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Pe(a,c.substr(1)),null!=c&&(d=c);else{d=ef(a,c);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Nb(a,!1)||a.P?a.C:null,g=null!=f?"cycles":null,h=ng(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ia;l=b;h.B=l.B;h.cb=l.cb;h.oa=l.oa;h.S=l.S;a.u(zf(a,b,g,f));e-=b.B-k;c++}}}
|
||||
function Lf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(vf+b):(a.T&&(a.u("ended assemble at "+K(a,a.ia.B,18)),a.T=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Z=null;if(Lb(a)&&0<b.length){a.T&&(b="a "+K(a,a.ia.B,18)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),l=1;l<h.length;l++){var p=h.charAt(l);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(l);g.unshift(h.substr(0,l));break}}switch(g[0].charAt(0)){case "a":qg(a,
|
||||
g);break;case "b":a:{var u=g[0],D=g[1],I=b;if("?"==D)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var P=u.charAt(1);if("l"==P){var cb;cb=0+Kf(a,a.b);cb+=Kf(a,a.N);(cb+=Kf(a,a.K))||a.u("no breakpoints")}else if("n"==P){var Ab=+D||0;D&&(a.ma=Ab);a.u("break after "+Ab+" instruction(s)")}else if(void 0===
|
||||
D)a.u("missing breakpoint address");else{var H=Z();if("*"!=D&&(H=ef(a,D,a.M),!H))break a;"c"==P?null==H.B?(Xe(a),a.u("all breakpoints cleared")):If(a,a.b,H)||If(a,a.N,H)||If(a,a.K,H)||a.u("breakpoint missing: "+K(a,H.B,18)):null!=H.B&&(gf(a,H,I),"p"==P?a.Qa(a.b,H):"r"==P?a.Qa(a.N,H):"w"==P?a.Qa(a.K,H):a.u("unknown breakpoint command: "+P))}}}break;case "c":a.xa&&(a.xa.value="");break;case "d":a:{var db,eb=g[0],ma=g[1],Ba=g[2],wh=g[3];if("?"==ma){var fb="";for(db in ac)a.Ba[db]&&(fb&&(fb+=","),fb+=
|
||||
db);fb+=",state,symbols";a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");fb.length&&a.u("dump extension commands:\n\t"+fb)}else if("state"==ma){var Kd=wg(a.H,!0);"console"==Ba?console.log(Kd):(a.xa&&(a.xa.value=""),Kd&&a.u(Kd))}else if("symbols"==ma)for(var Ld=0;Ld<a.F.length;Ld++){var Md=a.F[Ld],gb;for(gb in Md.X)if("."!=gb.charAt(0)){var Mf=Md.X[gb].o;
|
||||
if(void 0!==Mf){var Nf=Md.X[gb].l;Nf&&(gb=Nf);a.u(K(a,Mf,18)+" "+gb)}}}else{if("d"==eb){for(db in ac)if(g[1]==db){var Of=a.Ba[db];Of?(g.shift(),g.shift(),Of(g)):a.u("no dump registered for "+ma);break a}ma||(eb=a.Na||"dw")}else a.Na=eb;if("dh"==eb){var Pf=ma,Qf=Ba,Rf="",Sf=0,ia=a.U,na=a.i;if(na.length){var da=+Pf||a.Da,Cb=+Qf||10;isNaN(da)?da=Cb:Rf="more ";da>na.length&&(a.u("note: only "+na.length+" available"),da=na.length);ia-=da;0>ia&&(null==na[na.length-1].B?(da=ia+da,ia=0):ia+=na.length);var Nd=
|
||||
[];"call"==Qf&&(Cb=1E5,Nd=["CALL"]);for(void 0!==Pf&&a.u(da+" instructions earlier:");0<Cb&&ia!=a.U;){var Tf=na[ia++];if(null==Tf.B)break;var Db=Z(Tf.B),xh=da--,Uf=zf(a,Db,"history",xh);(!Nd.length||0<=Uf.indexOf(Nd[0]))&&a.u(Uf);Db.qb&&(ia+=Db.qb,Cb-=Db.qb,da-=Db.qb);ia>=na.length&&(ia=0);a.Da=da;Sf++;Cb--}}Sf||(a.u("no "+Rf+"history available"),a.Da=void 0)}else{var hb=ef(a,ma,a.la);if(hb){var Ka=0,Vf="ds"==eb;if(Ba){if("l"==Ba.charAt(0))Ba=Ba.substr(1)||wh,Ka=Pe(a,Ba);else{var Wf=ef(a,Ba);Wf&&
|
||||
(Ka=Wf.B-hb.B)}0>Ka&&(Ka=0);65536<Ka&&(Ka=65536)}var yh=a.S;hb.S&&(a.S=hb.S);for(var Xf="db"==eb?1:2,Od=Ka||32,Pd=1==Xf?1:4,zh=(Od+Pd-1)/Pd|0||1,La="";zh--&&0<Od;){for(var oa="",Qd="",ma=K(a,hb.B,18),Yf=Pd;0<Yf--&&0<Od--;){var Rd=a.Ma(hb,1);Vf?(oa&&(oa+=","),oa+=Rd):(oa+=hf(a,Rd),oa+=" ");for(var Gc=29,Ah=0;1==Xf&&0<=Gc;Ah++)var Eb=Rd/Math.pow(2,Gc)%Math.pow(2,7),oa=oa+(K(a,Eb,7)+" "),Eb=Eb+0,Qd=Qd+(32>Eb?".":String.fromCharCode(Eb)),Gc=Gc-7}La&&(La+="\n");La=Vf?La+(oa+","):La+(ma+": "+oa+(0>Yf?
|
||||
" "+Qd:""))}La&&a.u(La);a.S=yh}}}}break;case "e":if("else"==g[0])break;var Zf,$f,ag=g[0],Sd=g[1];"e"==ag||"ew"==ag?(Zf=a.Ma,$f=a.yb):Sd=null;if(null==Sd)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else{var Hc=ef(a,Sd,a.la);if(Hc)for(var Td=2;Td<g.length;Td++){var Fb=Se(a,g[Td]);if(void 0===Fb)break;Fb=ff(Fb);a.u("changing "+K(a,Hc.B,18)+" from "+hf(a,Zf.call(a,Hc))+" to "+hf(a,Fb));$f.call(a,Hc,Fb,1)}}break;case "g":a:{var bg=g[1],Bh=b;if(void 0!==bg){var Ud=ef(a,bg);
|
||||
if(!Ud)break a;gf(a,Ud,Bh);a.Qa(a.b,Ud,!0)}tf(a,!0,c)}break;case "h":a.A.O?(c||a.u("halting"),a.W()):Nb(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var Vd;var Gb=b.substr(2),Gb=Ea(Gb);Se(a,Gb)?(c||a.u("true: "+Gb),Vd=!0):(c||a.u("false: "+Gb),Vd=!1);Vd||(d=!1);break}f=!0;break;case "k":var Ch=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var Wd=0,Xd=Z(),Hb=Z();for(a.u("stack trace for "+K(a,Hb.B,18));10>
|
||||
Wd;){for(var Ma=null,Dh=256;65536>Hb.B>>>0;){Xd.B=a.Ma(Hb,2);if(null==Hb.B||!Dh--)break;if(!(Xd.B&1)){for(var Eh=a,Ic=Xd,cg=null,Ib=Ic.B,dg=Ib,Yd=1;6>=Yd&&Ib;Yd++){if(2<Yd){Ic.B=Ib;var Jc=zf(Eh,Ic);if(0<=Jc.indexOf("JSR")){var eg=Jc.indexOf(" ");if(Ib+(Jc.indexOf(" ",eg+1)-eg-1)/2==dg){cg=Jc;break}}}Ib-=2}Ic.B=dg;if(Ma=cg)break}}if(!Ma||null==Ma)break;var fg=null;if("ks"==Ch){var gg=Ma.match(/[0-9A-F]+$/);gg&&(fg=tg(a,gg[0]))}Ma=Da(Ma,50)+" ;"+(fg||"stack="+K(a,Hb.B,18));a.u(Ma);Wd++}Wd||a.u("no return addresses found")}break;
|
||||
case "l":if("ln"==g[0]){tg(a,g[1],!0);break}f=!0;break;case "m":a:{var pa,qa=null,M=g[1];"?"==M&&(M=void 0);if(void 0!==M){var Ca=0;if("all"==M)Ca=1879046143,M=null;else if("on"==M)qa=!0,M=null;else if("off"==M)qa=!1,M=null;else{"keys"==M&&(M="key");"kbd"==M&&(M="keyboard");for(pa in ac)if(M==pa){Ca=ac[pa];qa=!!(a.ba&Ca);break}if(!Ca){a.u("unknown message category: "+M);break a}}if(Ca)if("on"==g[2])a.ba|=Ca,qa=!0;else if("off"==g[2]&&(a.ba&=~Ca,qa=!1,1073741824==Ca)){for(var hg=1E3<=a.R.length?a.R.length-
|
||||
1E3:0;hg<a.R.length;)a.u(a.R[hg++]);a.R=[]}}var Fh=0,Jb="";for(pa in ac)if(!M||M==pa){var Gh=!!(a.ba&ac[pa]);if(null===qa||qa==Gh)Jb&&(Jb+=","),++Fh%10||(Jb+="\n\t"),"key"==pa&&(pa="keys"),Jb+=pa}void 0===M&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==qa?qa?"messages on: ":"messages off: ":"message categories:\n\t")+(Jb||"none"));Ye(a)}break;case "p":if("print"==g[0]){ug(a,b.substr(5));break}var ig=g[0],jg="p"==ig?0:"pr"==ig?1:-1;if("?"==g[1]||0>jg)a.u("step commands:"),
|
||||
a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else if(a.P)a.u("step in progress");else{var kg=Z(a.v.i);a.Ma(kg);a.P?(a.Qa(a.b,kg,!0),tf(a)||(a.H&&jd(a.H),a.P=0)):vg(a,jg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}wf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var ib=+g[2];if(2==ib||8==ib||10==ib||16==ib)a.S=ib;else{a.u("invalid base: "+ib);break}}a.u("default base: "+a.S);break;case "cs":var Kb;void 0!==g[3]&&(Kb=+g[3]);switch(g[2]){case "int":a.v.ra=
|
||||
function Ze(a){var b;if(!td(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.U=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(uf);for(b=0;b<a.i.length;b++)a.i[b]=Z();a.U=0;a.u("instruction history buffer allocated")}}function vf(a,b,c){if(!wf(a,c))return!1;rc(a.v,b);return!0}
|
||||
function sc(a,b,c,d){if(!wf(a))return!1;var e="";null===c&&(e=(c=!a.Ea||"tr"==a.Ea)?"tr":"t");a.C=0;b||td(a)&&ud(a,a.v.i,0);try{b=kd(a.v,b);var f=a.v.Ya(b);0<f&&(tc(a.v,f),a.C+=f,uc(a.v,f,!0),vc(a.v,f),a.ka++)}catch(g){"number"!=typeof g&&(a.C=0,zb(a.v,g.stack||g.message))}!1!==d&&(a.ra&&a.ra.stop(),J(a.H,-1));cd(a,c||!1,e);return 0<a.C}m.W=function(a){this.v&&this.v.W(a)};function cd(a,b,c){b=void 0===b?!0:b;a.Ha&&(c&&a.u(xf+c),bf(a.M,a.v.i),b&&1!=a.P?yf(a):zf(a))}
|
||||
function wf(a,b){var c;(c=!a.v||!Lb(a.v))||(c=a.v,c.A.Y?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.O?(b||a.u("cpu busy or unavailable, command ignored"),!1):!Bb(a.v)}m.za=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};m.pa=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){Ze(this);this.ka=0;this.Z=null;this.C=0;bf(this.M,this.v.i);this.A.O=!1;Af(this);a||cd(this)};
|
||||
m.save=function(){var a=new F(this);a.set(0,cf(this.M));a.set(1,cf(this.la));a.set(2,cf(this.ia));a.set(3,[this.j,this.T,this.ba]);a.set(4,this.F);return a.data()};m.restore=function(a){var b=0;void 0!==a[3]&&(this.M=df(this,a[b++]),this.la=df(this,a[b++]),this.ia=df(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.T=a[b][1],this.ba|=a[b][2]);a[4]&&(this.F=a[4]);return!0};m.start=function(a,b){this.P||this.u("running");this.A.O=!0;this.Ia=a;this.Ja=b};
|
||||
m.stop=function(a,b){if(this.A.O){this.A.O=!1;this.C=b-this.Ja;if(!this.P){b="stopped";if(this.C){a-=this.Ia;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";td(this)&&(b+=this.ka+" instructions, ",this.ka=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Pb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}cd(this,!0);dd(this);Af(this,this.v.i);this.Z=null}};function td(a){return 1<a.b.length||!!a.ma}
|
||||
function ud(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.Da==b&&(b=sd(a.v,1)));if(0<c&&(a.ma&&!--a.ma||Xc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ka++,0>d&&(d=a.v.f(b)),0<=d&&(bf(a.i[a.U],b),++a.U==a.i.length&&(a.U=0)));return!1}
|
||||
function Bf(a,b,c,d){var e=Z(b.B),f=a.Ma(b,1),g,h,k,l=0,p=f/Xb|0,u;for(u in Cf)if(g=Cf[u][p&u]){h=+u;p>>=6;switch(h){case 32512:k=Df;l=p&3;break;case 32256:k=Ef;l=p&7;break;case 29248:k=Ff,l=(p&48)>>2|(p&6)>>1}break}k=k&&k[l]||"";"S"==k&&g>Gf&&(k="B");k=Hf[g||0]+k;if(g){if(28700==h)h=f/Yb&127,l=K(a,h,-1);else for(h=f>>23&15,l=K(a,h,-1),p=0;l&&p<If.length;p++)if(g==If[p][0]&&(u=If[p][h])){k=Hf[u];l="";break}k=Da(k,8)+(l?l+",":"");f&4194304&&(k+="@");k+=K(a,f&262143,-1);(f=f>>18&15)&&(k+="("+K(a,f,
|
||||
-1)+")")}else k=Da(k,8)+jf(a,f);f=k;g="";h=K(a,e.B,18)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ma(e,1),g+=" "+jf(a,k),null==e.B)break;while(e.B!=b.B)}h+=Da(g,16)+f;c&&(h=Da(h,48)+";"+(c||""),h=a.v.A.Ta?h+("cycles="+fd(a.v).toString()+" cs="+n(a.v.Fa)):h+(null!=d?"="+d.toString():""));return h}
|
||||
function Jf(a,b,c,d,e){var f=-1,g,h;a.ja=null;if(b){for(var k=b.toUpperCase(),l=0;l<If.length;l++)for(var p in If[l])if(+p&&(h=If[l][p],k==Hf[h])){k=Hf[If[l][0]];c&&(c=K(a,+p)+","+c);break}for(var u in Cf){g=+u;p=Cf[u];switch(g){case 32512:l=Df;break;case 32256:l=Ef;break;case 29248:l=Ff;break;default:l=[""]}for(var D in p){h=p[D];for(var I=0;I<l.length;I++){var P=l[I];"S"==P&&h>Gf&&(P="B");if(k==Hf[h]+P){f=29248!=g?I:(I&3)<<1|(I&12)<<2;f=(D|f<<6)*Xb;break}}if(0<=f)break}if(0<=f)break}0>f&&c&&!c.match(/^[0-9A-Z$%.?]/i)&&
|
||||
(c=b+c,b="",f=0)}else c&&(f=g=0);if(0<=f&&c)for(k=c.split(","),u=0;u<k.length;u++)if(h=k[u].trim()){if(1<u){a.u("too many operands: "+c);f=-1;break}D=h.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!D){a.u("unknown operand: "+h);f=-1;break}D[1]&&(f+=4194304);if(h=D[3]){h=Te(a,h,e);if(void 0==h){f=-1;break}if(0>h||15<h)h&=15;f+=h<<18}h=D[2];if(u||1==k.length)h=h?h.replace(/(^|[^0-9])\./g,"$1"+K(a,d,18)):"0";h=Te(a,h,e);if(void 0==h){f=-1;break}if(!u&&1<k.length)if(28700==g){if(0>h||127<h)h&=127;f+=h*Yb}else{if(0>
|
||||
h||15<h)h&=15;f+=h<<23}else{if(b||u)if(0>h||262143<h)h&=Sb;f+=h}}0>f&&!e&&a.u("unknown instruction: "+b+" "+c);return f}function Ye(a){var b,c;a.b=["bp"];if(a.N)for(b=1;b<a.N.length;b++){c=a.N[b];c=af(c);var d=a.G;Wc(d.b[c>>>d.i],!1)}a.N=["br"];if(a.K)for(b=1;b<a.K.length;b++)c=a.K[b],c=af(c),d=a.G,Wc(d.b[c>>>d.i],!0);a.K=["bw"];a.Ca=0;a.ma=0}
|
||||
m.Qa=function(a,b,c){var d=!0;c||Kf(this,a,b,!1,!0);if(a!=this.b){var e=af(b);if(-1===e)this.u("invalid address: "+K(this,b.B,18)),d=!1;else{var f=this.G;f.b[e>>>f.i].Qa(e&16383,a==this.K)}}d&&(a.push(b),c?b.oa=!0:(Lf(this,a,a.length-1,"set"),Ze(this)));return d};function Kf(a,b,c,d,e){var f=!1;c=af(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==af(h)&&(!d||h.oa)){f=!0;h.oa||e||Lf(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.G,Wc(d.b[c>>>d.i],b==a.K));h.oa||Ze(a);break}}return f}
|
||||
function Mf(a,b){for(var c=1;c<b.length;c++)Lf(a,b,c);return b.length-1}function Lf(a,b,c,d){c=b[c];a.u(b[0]+" "+K(a,c.B,18)+(d?" "+d:c.hb?' "'+c.hb+'"':""))}function Af(a,b){if(void 0!==b)Xc(a,b,1,a.b,!0),a.P=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.oa){if(!Kf(a,a.b,c,!0))break;b=0}}}
|
||||
function Xc(a,b,c,d,e){var f=!1;if(!a.Ca++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.oa)for(var k=af(h)&(d==a.b?65535:-1),l=0;l<c;l++)if(b+l==k){var p,f=!0;h.oa&&(Kf(a,d,h,!0),e=!0);if(p=h.zb){for(var f=!1,u=0;u<p.length;u++)if(!Nf(a,p[u],!0)){if(p[u].indexOf("if")){f=!0;break}for(var D=u+1;D<p.length&&p[D].indexOf("else");D++)u++;if(D==p.length){f=!0;break}}a.v.A.O||(f=!0)}if(f){e||Lf(a,d,g,"hit");break}}}a.Ca--;return f}
|
||||
function ng(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=ua(d,2);bf(e.Ga,d);f+="="+K(e,e.Ma(e.Ga),36)+" ";c+=f}if(b){b="";for(d=0;d<kf.length;d++)(e=kf[d]||"")&&(e+="="+K(a,a.tb(d),d>=pf?1:d==mf?23:18)+" "),b+=e;c+="\n"+b}return c}m.Gb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function De(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,l=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],u=Fa(p,k,a.Gb);0>u&&p.splice(-(u+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.F.push({wd:b,B:c,Ub:d,X:e,Bb:f})}function pg(a,b,c){var d=[],e=af(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Ub;if(e>=g&&e<g+h){e=Fa(f.Bb,[e-g],a.Gb);0<=e?qg(a,b,e,d):c&&(e=~e,qg(a,b,e-1,d),qg(a,b,e,d));break}}return d}
|
||||
function rg(a,b,c){var d=0,e=a.G;b.forEach(function(a,b){xc(e,b,a);null==c&&(c=b);d++});d?(a.u(d+" words loaded at "+K(a,c)+"-"+K(a,c+d-1)),G(a.v,c||0),cd(a)):a.u("no data")}function qg(a,b,c,d){var e={},f=a.F[b].Bb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].X[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function sg(a,b){var c=ff(a,b[1],a.ia);if(c){var d=b[2];if(void 0==d)a.u("begin assemble at "+K(a,c.B,18)),a.T=!0,J(a.H);else{var e=b[0].substr(1),f=d.match(/^(['"]?)(.*\.mac|.*\.html)\1$/i);if(f)if(a.ta)a.u("assembly already in progress");else{var g=f[2],h=c.B;a.ta=new tg(g,h,e,a,function(b,c){if(b)a.u("error ("+b+") processing "+(c||g));else try{rg(a,a.ta.V,h)}catch(p){a.u(p.message)}a.ta=null})}else b.shift(),b.shift(),b.shift(),b=Jf(a,d,b.join(""),c.B||0),0<=b&&(a.yb(c,b),a.u(Bf(a,c)))}}}
|
||||
function ug(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return We(a)||a.u("no variables"),!0;if(!c[2])return We(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=Te(a,c[3]);return void 0!==b?(a.I[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
|
||||
function vg(a,b,c){var d=null;if(b=ff(a,b)){var e=pg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+n(f,4,!0)),f=e[0]+" ("+K(a,e[1],18)+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+K(a,e[5],18)+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
|
||||
function yf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=Te(a,b);if(void 0===g)return;b=a.sb(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case lf:G(h,
|
||||
g);bf(a.M,h.i);break;case of:rd(h,g*y);break;case pf:f=65536;break;case qf:f=32768;break;case rf:f=131072;break;case sf:f=32;break;case tf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);J(a.H);a.u("updated registers:")}}a.u(ng(a,e));c&&(bf(a.M,d.i),zf(a,K(a,a.M.B,18)))}}function wg(a,b){b=Ea(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):Ue(a,null,c[2].charCodeAt(0)):Te(a,b,!1)}
|
||||
function xg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Qe(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Ea=b;Ua(c,function(){return Ob(a,!0)&&sc(a,e,d,!1)},function(){a.ra&&a.ra.stop();J(a.H,-1);Ob(a,!1)})}}
|
||||
function zf(a,b,c,d){if(b=ff(a,b,a.M)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Qe(a,c.substr(1)),null!=c&&(d=c);else{d=ff(a,c);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Nb(a,!1)||a.P?a.C:null,g=null!=f?"cycles":null,h=pg(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ia;l=b;h.B=l.B;h.cb=l.cb;h.oa=l.oa;h.S=l.S;a.u(Bf(a,b,g,f));e-=b.B-k;c++}}}
|
||||
function Nf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(xf+b):(a.T&&(a.u("ended assemble at "+K(a,a.ia.B,18)),a.T=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Z=null;if(Lb(a)&&0<b.length){a.T&&(b="a "+K(a,a.ia.B,18)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),l=1;l<h.length;l++){var p=h.charAt(l);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(l);g.unshift(h.substr(0,l));break}}switch(g[0].charAt(0)){case "a":sg(a,
|
||||
g);break;case "b":a:{var u=g[0],D=g[1],I=b;if("?"==D)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var P=u.charAt(1);if("l"==P){var cb;cb=0+Mf(a,a.b);cb+=Mf(a,a.N);(cb+=Mf(a,a.K))||a.u("no breakpoints")}else if("n"==P){var Ab=+D||0;D&&(a.ma=Ab);a.u("break after "+Ab+" instruction(s)")}else if(void 0===
|
||||
D)a.u("missing breakpoint address");else{var H=Z();if("*"!=D&&(H=ff(a,D,a.M),!H))break a;"c"==P?null==H.B?(Ye(a),a.u("all breakpoints cleared")):Kf(a,a.b,H)||Kf(a,a.N,H)||Kf(a,a.K,H)||a.u("breakpoint missing: "+K(a,H.B,18)):null!=H.B&&(hf(a,H,I),"p"==P?a.Qa(a.b,H):"r"==P?a.Qa(a.N,H):"w"==P?a.Qa(a.K,H):a.u("unknown breakpoint command: "+P))}}}break;case "c":a.xa&&(a.xa.value="");break;case "d":a:{var db,eb=g[0],ma=g[1],Ba=g[2],yh=g[3];if("?"==ma){var fb="";for(db in ac)a.Ba[db]&&(fb&&(fb+=","),fb+=
|
||||
db);fb+=",state,symbols";a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");fb.length&&a.u("dump extension commands:\n\t"+fb)}else if("state"==ma){var Kd=yg(a.H,!0);"console"==Ba?console.log(Kd):(a.xa&&(a.xa.value=""),Kd&&a.u(Kd))}else if("symbols"==ma)for(var Ld=0;Ld<a.F.length;Ld++){var Md=a.F[Ld],gb;for(gb in Md.X)if("."!=gb.charAt(0)){var Of=Md.X[gb].o;
|
||||
if(void 0!==Of){var Pf=Md.X[gb].l;Pf&&(gb=Pf);a.u(K(a,Of,18)+" "+gb)}}}else{if("d"==eb){for(db in ac)if(g[1]==db){var Qf=a.Ba[db];Qf?(g.shift(),g.shift(),Qf(g)):a.u("no dump registered for "+ma);break a}ma||(eb=a.Na||"dw")}else a.Na=eb;if("dh"==eb){var Rf=ma,Sf=Ba,Tf="",Uf=0,ia=a.U,na=a.i;if(na.length){var da=+Rf||a.Da,Cb=+Sf||10;isNaN(da)?da=Cb:Tf="more ";da>na.length&&(a.u("note: only "+na.length+" available"),da=na.length);ia-=da;0>ia&&(null==na[na.length-1].B?(da=ia+da,ia=0):ia+=na.length);var Nd=
|
||||
[];"call"==Sf&&(Cb=1E5,Nd=["CALL"]);for(void 0!==Rf&&a.u(da+" instructions earlier:");0<Cb&&ia!=a.U;){var Vf=na[ia++];if(null==Vf.B)break;var Db=Z(Vf.B),zh=da--,Wf=Bf(a,Db,"history",zh);(!Nd.length||0<=Wf.indexOf(Nd[0]))&&a.u(Wf);Db.qb&&(ia+=Db.qb,Cb-=Db.qb,da-=Db.qb);ia>=na.length&&(ia=0);a.Da=da;Uf++;Cb--}}Uf||(a.u("no "+Tf+"history available"),a.Da=void 0)}else{var hb=ff(a,ma,a.la);if(hb){var Ka=0,Xf="ds"==eb;if(Ba){if("l"==Ba.charAt(0))Ba=Ba.substr(1)||yh,Ka=Qe(a,Ba);else{var Yf=ff(a,Ba);Yf&&
|
||||
(Ka=Yf.B-hb.B)}0>Ka&&(Ka=0);65536<Ka&&(Ka=65536)}var Ah=a.S;hb.S&&(a.S=hb.S);for(var Zf="db"==eb?1:2,Od=Ka||32,Pd=1==Zf?1:4,Bh=(Od+Pd-1)/Pd|0||1,La="";Bh--&&0<Od;){for(var oa="",Qd="",ma=K(a,hb.B,18),$f=Pd;0<$f--&&0<Od--;){var Rd=a.Ma(hb,1);Xf?(oa&&(oa+=","),oa+=Rd):(oa+=jf(a,Rd),oa+=" ");for(var Gc=29,Ch=0;1==Zf&&0<=Gc;Ch++)var Eb=Rd/Math.pow(2,Gc)%Math.pow(2,7),oa=oa+(K(a,Eb,7)+" "),Eb=Eb+0,Qd=Qd+(32>Eb?".":String.fromCharCode(Eb)),Gc=Gc-7}La&&(La+="\n");La=Xf?La+(oa+","):La+(ma+": "+oa+(0>$f?
|
||||
" "+Qd:""))}La&&a.u(La);a.S=Ah}}}}break;case "e":if("else"==g[0])break;var ag,bg,cg=g[0],Sd=g[1];"e"==cg||"ew"==cg?(ag=a.Ma,bg=a.yb):Sd=null;if(null==Sd)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else{var Hc=ff(a,Sd,a.la);if(Hc)for(var Td=2;Td<g.length;Td++){var Fb=Te(a,g[Td]);if(void 0===Fb)break;Fb=gf(Fb);a.u("changing "+K(a,Hc.B,18)+" from "+jf(a,ag.call(a,Hc))+" to "+jf(a,Fb));bg.call(a,Hc,Fb,1)}}break;case "g":a:{var dg=g[1],Dh=b;if(void 0!==dg){var Ud=ff(a,dg);
|
||||
if(!Ud)break a;hf(a,Ud,Dh);a.Qa(a.b,Ud,!0)}vf(a,!0,c)}break;case "h":a.A.O?(c||a.u("halting"),a.W()):Nb(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var Vd;var Gb=b.substr(2),Gb=Ea(Gb);Te(a,Gb)?(c||a.u("true: "+Gb),Vd=!0):(c||a.u("false: "+Gb),Vd=!1);Vd||(d=!1);break}f=!0;break;case "k":var Eh=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var Wd=0,Xd=Z(),Hb=Z();for(a.u("stack trace for "+K(a,Hb.B,18));10>
|
||||
Wd;){for(var Ma=null,Fh=256;65536>Hb.B>>>0;){Xd.B=a.Ma(Hb,2);if(null==Hb.B||!Fh--)break;if(!(Xd.B&1)){for(var Gh=a,Ic=Xd,eg=null,Ib=Ic.B,fg=Ib,Yd=1;6>=Yd&&Ib;Yd++){if(2<Yd){Ic.B=Ib;var Jc=Bf(Gh,Ic);if(0<=Jc.indexOf("JSR")){var gg=Jc.indexOf(" ");if(Ib+(Jc.indexOf(" ",gg+1)-gg-1)/2==fg){eg=Jc;break}}}Ib-=2}Ic.B=fg;if(Ma=eg)break}}if(!Ma||null==Ma)break;var hg=null;if("ks"==Eh){var ig=Ma.match(/[0-9A-F]+$/);ig&&(hg=vg(a,ig[0]))}Ma=Da(Ma,50)+" ;"+(hg||"stack="+K(a,Hb.B,18));a.u(Ma);Wd++}Wd||a.u("no return addresses found")}break;
|
||||
case "l":if("ln"==g[0]){vg(a,g[1],!0);break}f=!0;break;case "m":a:{var pa,qa=null,M=g[1];"?"==M&&(M=void 0);if(void 0!==M){var Ca=0;if("all"==M)Ca=1879046143,M=null;else if("on"==M)qa=!0,M=null;else if("off"==M)qa=!1,M=null;else{"keys"==M&&(M="key");"kbd"==M&&(M="keyboard");for(pa in ac)if(M==pa){Ca=ac[pa];qa=!!(a.ba&Ca);break}if(!Ca){a.u("unknown message category: "+M);break a}}if(Ca)if("on"==g[2])a.ba|=Ca,qa=!0;else if("off"==g[2]&&(a.ba&=~Ca,qa=!1,1073741824==Ca)){for(var jg=1E3<=a.R.length?a.R.length-
|
||||
1E3:0;jg<a.R.length;)a.u(a.R[jg++]);a.R=[]}}var Hh=0,Jb="";for(pa in ac)if(!M||M==pa){var Ih=!!(a.ba&ac[pa]);if(null===qa||qa==Ih)Jb&&(Jb+=","),++Hh%10||(Jb+="\n\t"),"key"==pa&&(pa="keys"),Jb+=pa}void 0===M&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==qa?qa?"messages on: ":"messages off: ":"message categories:\n\t")+(Jb||"none"));Ze(a)}break;case "p":if("print"==g[0]){wg(a,b.substr(5));break}var kg=g[0],lg="p"==kg?0:"pr"==kg?1:-1;if("?"==g[1]||0>lg)a.u("step commands:"),
|
||||
a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else if(a.P)a.u("step in progress");else{var mg=Z(a.v.i);a.Ma(mg);a.P?(a.Qa(a.b,mg,!0),vf(a)||(a.H&&jd(a.H),a.P=0)):xg(a,lg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}yf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var ib=+g[2];if(2==ib||8==ib||10==ib||16==ib)a.S=ib;else{a.u("invalid base: "+ib);break}}a.u("default base: "+a.S);break;case "cs":var Kb;void 0!==g[3]&&(Kb=+g[3]);switch(g[2]){case "int":a.v.ra=
|
||||
Kb;break;case "start":a.v.Ga=Kb;break;case "stop":a.v.la=Kb;break;default:a.u("unknown cs option");break a}void 0!==Kb&&bd(a.v);a.u("checksums "+(a.v.A.Ta?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(gd(a.v,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.aa.toFixed(2)+"Mhz")+" ("+a.v.ga+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),
|
||||
a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":vg(a,g[0],g[1]);break;case "u":xf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){sg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.3 ("+a.v.Db+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){ug(a,b.substr(1));break}var Zd="commands:",$d;for($d in xg)Zd+="\n"+
|
||||
Da($d,9)+xg[$d];sd(a)||(Zd+="\nnote: history disabled if no exec breakpoints");a.u(Zd);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(mg){a.u("Debugger "+(mg.stack||mg.message)),d=!1}return d}function ed(a,b,c){b=Je(a,b,c);for(var d in b)if(!Lf(a,b[+d]))return!1;return!0}
|
||||
var xg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Ef=20,Ff=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
|
||||
kf=0,lf=1,mf=2,nf=3,of=4,pf=5,qf=6,rf=7,jf="PC RA EA C0 C1 OV ND PD".split(" "),yg={},Af=(yg[28672]={0:101},yg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},yg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Ef,9216:53,9472:52,
|
||||
9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},yg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},yg[29248]={24576:79,24640:80,25088:81,25152:82},yg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
|
||||
28692:98,28696:99,28700:100},yg),Bf=["","I","M","S"],Cf=" L E LE A GE N G".split(" "),Df="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Gf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],sf=1E3,vf=">> ";Xa(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new We(d);tb(d,c)}});
|
||||
function rg(a,b,c,d,e){this.T=b||0;this.ga=c||"";this.b=d;this.done=e;this.C=null;this.u("starting PCjs MACRO-10 Mini-Assembler...");this.j={};this.N={};this.L=[];this.K=[];this.V=[];this.na=[];this.Z=this.U=this.ca=0;this.fa=this.T;this.La=-1;this.w=[];this.I=null;this.i=0;this.F=null;this.J=this.M="";this.aa=/^[ \t]*([A-Z$%.?][0-9A-Z$%.]*:|)[ \t]*([A-Z$%.][0-9A-Z$%.]*|)([ \t]*)([^;]+|)(;?[\s\S]*)/i;this.D=this.v=null;this.H="";this.G=[];this.R=0;this.P=a.split(";");zg(this)}
|
||||
function zg(a){if(a.R==a.P.length)a.done(Ag(a));else{var b=a.P[a.R++];a.u("loading "+wa(b));".MAC"==b.slice(-4).toUpperCase()&&(b+=".txt");Ha(b,null,!0,function(b,d,e){if(e)a.done(e,b);else{e=d;if(ya(b,".html")){e="";var c;for(b=/<pre>([\s\S]*?)<\/pre>/gi;c=b.exec(d);)c=c[1],0<=c.indexOf("&")&&(c=c.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&")),e+=c;(c=e.match(/&[a-z]+;/i))&&Bg(a,"unrecognized HTML entity: "+c[0])}a.G=a.G.concat(e.split(/(\r?\n)/));setTimeout(function(){zg(a)},
|
||||
a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":xg(a,g[0],g[1]);break;case "u":zf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ug(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.3 ("+a.v.Db+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){wg(a,b.substr(1));break}var Zd="commands:",$d;for($d in zg)Zd+="\n"+
|
||||
Da($d,9)+zg[$d];td(a)||(Zd+="\nnote: history disabled if no exec breakpoints");a.u(Zd);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(og){a.u("Debugger "+(og.stack||og.message)),d=!1}return d}function ed(a,b,c){b=Ke(a,b,c);for(var d in b)if(!Nf(a,b[+d]))return!1;return!0}
|
||||
var zg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Gf=20,Hf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
|
||||
lf=0,mf=1,nf=2,of=3,pf=4,qf=5,rf=6,sf=7,tf=8,kf="PC RA EA PS C0 C1 OV ND PD".split(" "),Ag={},Cf=(Ag[28672]={0:101},Ag[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Ag[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Gf,9216:53,
|
||||
9472:52,9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Ag[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Ag[29248]={24576:79,24640:80,25088:81,25152:82},Ag[28700]={28672:93,28676:94,28680:95,28684:96,
|
||||
28688:97,28692:98,28696:99,28700:100},Ag),Df=["","I","M","S"],Ef=" L E LE A GE N G".split(" "),Ff="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),If=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],uf=1E3,xf=">> ";Xa(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Xe(d);tb(d,c)}});
|
||||
function tg(a,b,c,d,e){this.T=b||0;this.ga=c||"";this.b=d;this.done=e;this.C=null;this.u("starting PCjs MACRO-10 Mini-Assembler...");this.j={};this.N={};this.L=[];this.K=[];this.V=[];this.na=[];this.Z=this.U=this.ca=0;this.fa=this.T;this.La=-1;this.w=[];this.I=null;this.i=0;this.F=null;this.J=this.M="";this.aa=/^[ \t]*([A-Z$%.?][0-9A-Z$%.]*:|)[ \t]*([A-Z$%.][0-9A-Z$%.]*|)([ \t]*)([^;]+|)(;?[\s\S]*)/i;this.D=this.v=null;this.H="";this.G=[];this.R=0;this.P=a.split(";");Bg(this)}
|
||||
function Bg(a){if(a.R==a.P.length)a.done(Cg(a));else{var b=a.P[a.R++];a.u("loading "+wa(b));".MAC"==b.slice(-4).toUpperCase()&&(b+=".txt");Ha(b,null,!0,function(b,d,e){if(e)a.done(e,b);else{e=d;if(ya(b,".html")){e="";var c;for(b=/<pre>([\s\S]*?)<\/pre>/gi;c=b.exec(d);)c=c[1],0<=c.indexOf("&")&&(c=c.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&")),e+=c;(c=e.match(/&[a-z]+;/i))&&Dg(a,"unrecognized HTML entity: "+c[0])}a.G=a.G.concat(e.split(/(\r?\n)/));setTimeout(function(){Bg(a)},
|
||||
0)}})}}
|
||||
function Ag(a){if(0<=a.ga.indexOf("p"))return a.u(a.G.join("")),0;var b=Ue(a.b);try{for(var c=0;c<a.G.length;c+=2){a.ca++;if(!Cg(a,a.G[c]+"\r\n"))break;if(null!==a.C)break}a.i&&a.error("open block from line "+a.j[a.F].ca);a.w.length&&a.error("open scope from line "+a.w[0].ca);for(var d=a.fa,c={},e=0;e<a.L.length;c={V:c.V,Ra:c.Ra,ya:c.ya},e++){c.ya=a.L[e];c.V=[];c.Ra=0;c.ya.V.forEach(function(a){return function(b,c){c===a.V.length&&a.V.push(b);a.Ra++}}(c));if(c.Ra==c.V.length)for(var f=d;f+c.Ra<=a.fa;f++){for(var g=
|
||||
void 0,g=0;g<c.Ra&&c.V[g]===a.V[f+g]&&c.ya.na[g]==a.na[f];g++);if(g==c.Ra){Dg(a,c.ya.name,f,Eg);c.ya=null;break}}c.ya&&(Dg(a,c.ya.name,a.fa,Eg),c.ya.V.forEach(function(b){return function(c,d){Fg(a,c,b.ya.na[d])}}(c)))}for(d=0;d<a.K.length;d++){var h=a.K[d],k=a.j[h];k?Gg(a,k.Aa):a.error("missing definition for variable: "+h)}a.na.forEach(function(b,c){var d=Hg(a,b,void 0,c);void 0===d?a.error("unable to parse expression: "+b):(d+=a.V[c],a.V[c]=Ig(a,d,c))})}catch(l){a.u(l.message),a.U=-1}a.b.I=b;return a.U}
|
||||
function Cg(a,b,c,d,e){var f;if(a.i&&(1==a.i&&(f=b.indexOf(a.J),0<=f?(a.i++,b=b.substr(f+1)):a.error("expected "+a.I+" definition: "+b)),1<a.i&&(b=Jg(a,b)),a.i))return!0;null!=a.D&&(b=Kg(a,b));var g=!0;f="";for(var h;g;){h=b.match(a.aa);if(!h||h[5]&&";"!=h[5].slice(0,1))return a.error("failed to parse line: "+b),!1;g=!1;f=h[2].toUpperCase();if(f==Lg||f==Mg)c=null;if(c){for(var k=0;k<c.length;k++)for(var l=c[k],p=d[k]||e[k]||"",u=0,D=b.length-h[5].length;u<D;){var I=b.indexOf(l,u);if(0>I)break;var u=
|
||||
I+1,P=I+l.length,cb="",Ab="";I&&(cb=b[I-1]).match(/[0-9A-Z$%.]/i)||!(P>=b.length)&&(Ab=b[P]).match(/[0-9A-Z$%.]/i)||("'"==cb&&I--,"'"==Ab&&P++,b=b.substr(0,I)+p+b.substr(P),u=I+p.length,g=!0)}c=null}}d=h[1];c=h[3];b=h[4].trim();h=h[4]+h[5];d&&(d=d.slice(0,-1),Dg(a,d,a.fa,Eg));var H;f&&(H=b.match(/^([=:]+)(.*)/))&&(e=0,d=f,f=H[1],b=H[2],"=="==f?e|=Ng:"=:"==f&&(e|=Og),Dg(a,d,b,e),f=b="");if(!f&&!b)return!0;a.I=f;for((H=Pg(a,b))&&(b=b.replace(H,Qg(a,Rg,Pg(a,h))));H=Sg(a,b);)b=b.replace(H,H.slice(0,-1));
|
||||
if(!Tg(a,f,b))switch(f){case Ug:case Vg:case Wg:Kg(a,h);break;case Xg:(f=b)?(a.C=Hg(a,f,!0),void 0===a.C&&a.error("unrecognized expression: "+f)):a.C=a.T;break;case Yg:Zg(a,b);break;case $g:Zg(a,b.replace(",",",,"));break;case ah:case bh:case ch:case Lg:case Mg:case dh:Qg(a,f,h);break;case eh:case fh:case gh:case hh:break;default:H=-1,h=(f+c+b).trim(),0>b.indexOf(",,")&&(H=Hf(a.b,f,b,a.fa,!0)),0>H&&(H=Hg(a,h,!0)),void 0!==H?Fg(a,H,a.b.ja):a.error("unrecognized expression: "+h)}return!0}
|
||||
function Tg(a,b,c){var d=a.j[b];if(!d)return!1;if(null!=c)return b=a.v,a.v=d,d.Pa=ih(a,c,!0),Gg(a,d.Aa,d.Sa,d.Pa,d.Ab),a.v=b,!0;if("?"!=b[0])return!1;switch(b.substr(1)){case bh:d.fb||Gg(a,d.Aa);break;case ch:d.fb&&Gg(a,d.Aa);break;case Lg:case Mg:for(b=0;b<d.Pa.length;b++)Gg(a,d.Aa,d.Sa,[d.Pa[b]],[]);break;case dh:for(;0<d.fb--;)Gg(a,d.Aa);break;default:d=d.Aa,a.w.push({name:b,V:a.V,na:a.na,fa:a.fa,La:a.La,ca:a.ca}),a.V=[],a.na=[],a.La=a.fa,a.fa=0,Gg(a,d),a.w.length?(a.L.push({name:a.w[a.w.length-
|
||||
1].name,V:a.V,na:a.na}),d=a.w.pop(),a.V=d.V,a.na=d.na,a.fa=d.fa,a.La=d.La,a.w.length||-1==a.La||a.error("scope restore error")):a.error("scope nesting error")}return!0}function Gg(a,b,c,d,e){b=b.split(/\r?\n/);for(var f=0;f<b.length&&Cg(a,b[f]+"\r\n",c,d,e);f++);}rg.prototype.error=function(a){throw Error("error"+(this.ca?" at line "+va(this.ca):"")+": "+a);};function Bg(a,b){a.u("warning"+(a.ca?" at line "+va(a.ca):"")+": "+b)}
|
||||
function jh(a,b){var c;c=void 0===c?",":c;for(var d=0,e=!1,f=null,g=0;d<b.length;){var h=b[d++];if('"'==h)e=!e;else if(!e){if(0<=c.indexOf(h)){d--;break}if("<"==h)g++;else if(">"==h&&0>--g){a.error("missing bracket(s): "+b);break}}}g?0<g&&a.error("extra bracket(s): "+b):f=b.substr(0,d);return f}
|
||||
function Hg(a,b,c,d){var e,f=b.match(/^([^,]*),,([^,]*)$/);f?(b=f[1]?Hg(a,f[1],c,d):0,void 0!==b&&(c=f[2]?Hg(a,f[2],c,d):0,void 0!==c&&(e=Y(a.b,b,18,!0)*Math.pow(2,18)+Y(a.b,c,18,!0)))):(void 0===d&&(d=0<=a.La?a.La:a.fa),e=Se(a.b,b.replace(/\.([^0-9]|$)/g,K(a.b,d,-1)+"$1"),c),void 0===e&&a.error("error parsing expression: "+b));return e}
|
||||
function Pg(a,b){for(var c=0,d="",e=0,f=-1,g=b.length;e<b.length;){var h=b[e];if(";"==h)break;"["==h&&(c++||(f=e));e++;if("]"==h&&0>=--c){g=e;break}}0>c&&a.error("missing bracket(s): "+b);0<=f&&(d=b.substr(f,g-f));return d}function Sg(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="?"+b;a.j[d]&&a.error("reserved symbol redefined: "+c);var e,f,g;e=f=g=[];a.j[d]={name:d,fb:kh,Sa:e,Ab:f,Pa:g,Aa:b+": 0",ca:a.ca};a.K.push(d)}return c}
|
||||
function ih(a,b,c){var d=[];for(c&&(b=b.replace(/^\(?(.*?)\)?$/,"$1"));b;){b=b.trim();c=jh(a,b);if(!c)break;d.push(c);b=b.substr(c.length+1)}return d}
|
||||
function Kg(a,b){var c=b;null==a.D&&(a.D=a.H="",b&&(a.D=b[0],c=b=b.substr(1)));if(a.D){var d=b.indexOf(a.D);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.D=null);a.H+=b}if(null==a.D){var d=b=0,e,f,g=a.H.length;a.I==Vg&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.I==Wg&&(e--,f++));var k=a.H.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Fg(a,d),b=0)}b&&Fg(a,d)}return c}
|
||||
function Qg(a,b,c){var d,e,f,g,h,k;a.J="<";a.M=">";g=h=k=[];if(b==ah){e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+": "+c),c;f=e[1];if(e[2]){h=g=ih(a,e[2],!0);b=[];for(c=0;c<h.length;c++)if(d=h[c].indexOf("<"),0<=d){var l=h[c].lastIndexOf(">");0>l&&(l=h[c].length);b[c]=h[c].substr(d,l-d);h[c]=h[c].substr(0,d)}h=b}b=lh;c=3}else if(b==Rg)a.J="[",a.M="]",f="?"+va(++a.Z,5),a.j[f]&&a.error("literal symbol redefined: "+f),e=[c[0],c.substr(1)],
|
||||
b=mh,c=0;else if(b==Lg||b==Mg){a.v||a.error(b+" outside of macro");e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*,\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+": "+c),c;for(d=0;d<a.v.Sa.length&&e[1]!=a.v.Sa[d];d++);if(d==a.v.Sa.length)return a.error("invalid "+b+" parameter: "+e[1]),c;f="?"+b;g=[e[1]];b==Mg?k=a.v.Pa[d].split(""):k=ih(a,a.v.Pa[d]);b=k.length;c=2}else{d=jh(a,c);if(!d)return a.error("missing "+b+" expression: "+c),c;c=c.substr(d.length+1);d=d.trim();e=c.match(/\s*(<|)([\s\S]*)/i);
|
||||
f="?"+b;b=Hg(a,d)||0;c=1}f=f.toUpperCase();a.i=1;a.F=f;a.j[f]={name:f,fb:b,Sa:g,Ab:h,Pa:k,Aa:"",ca:a.ca};e[c]&&(a.i=2,Jg(a,e[c+1]));return f}function Jg(a,b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.J)a.i++;else if(b[d]==a.M&&(a.i--,1==a.i)){a.i=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.F||"";a.j[d].Aa+=b;a.i||(a.F=null,Tg(a,d));return c}function Zg(a,b){var c=Hg(a,b,!0);void 0!==c?Fg(a,c,a.b.ja):a.error("unrecognized expression: "+b)}
|
||||
function Dg(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&Eg&&a.N[b])a.error("label "+b+" redefined");else{if("string"==typeof c){var e=Hg(a,c);if(void 0===e){a.error("parseExpression("+c+")");return}c=e}(e=a.N[b])?(e.value=c,e.Vb=d,e.ca=a.ca):a.N[b]={name:b,value:c,Vb:d,ca:a.ca};a.b.I[b]=c}}function Fg(a,b,c){a.V[a.fa]=Ig(a,b);null!=c&&(a.na[a.fa]=c);a.fa++}
|
||||
function Ig(a,b,c){c=void 0===c?a.fa:c;var d=Y(a.b,b||0,36,!0);(b<-A||b>=C)&&Bg(a,"truncated value "+ua(b)+" at location "+ua(c)+" to "+ua(d));return d}rg.prototype.u=function(a){this.b?this.b.u(a):console.log(a)};var Eg=1,Ng=2,Og=4,Ug="ASCII",Vg="ASCIZ",ah="DEFINE",Xg="END",Yg="EXP",bh="IFE",ch="IFN",Lg="IRP",Mg="IRPC",eh="LALL",Rg="LITERAL",fh="PAGE",dh="REPEAT",Wg="SIXBIT",gh="SUBTTL",hh="TITLE",$g="XWD",lh=-1,mh=-2,kh=-3;
|
||||
function nh(a,b,c){r.call(this,"Computer",a,33554432);this.A.Y=!1;this.R=null;oh(this,b);this.N=$c(this,"autoPower",a,6);this.w=0;this.Z=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.U=!1;this.I=this.C=null;this.T=this.P=!1;this.aa=$c(this,"url")||"";(Math.random()+.1).toString(36);this.i=ph(this);if(this.v=sb("CPU",this.id)){this.D=sb("Debugger",this.id);this.G=new zc({id:this.ab+".bus",busWidth:this.Z},this.v,this.D);var d,e=qb(this.id);if((this.j=sb("Panel",this.id))&&this.j.xa)for(b=
|
||||
0;b<e.length;b++)d=e[b],d.ha=this.j.ha,d.u=this.j.u,d.xa=this.j.xa;this.u(Rb+" v1.34.3\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ka&&d.Ka(this,this.G,this.v,this.D);b=null;d=$c(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=$c(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=qh),this.b&&(this.I=new F(this,"1.34.3"),rh(this.I)?b=null:
|
||||
delete this.I);!b&&this.b&&(b=sh(this))&&(this.K=!0);if(b){var g=this;Ha(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.ha("Unable to load machine state from server (error "+c+(b?": "+Ea(b):"")+")")):(g.L=b,g.U=!0);Mb(g)})}else Mb(this);this.J.power||(this.N=!0);!c&&this.N&&th(this,this.Va)}else q("Unable to find CPU component")}ka(nh,r);function oh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.R=b}
|
||||
function $c(a,b,c,d){var e=b.toLowerCase(),e=Sa(b)||Sa(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function th(a,b,c){for(var d=qb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Lb(f)){Lb(f,function(){th(a,b,c)});return}}b.call(a,c)}
|
||||
function uh(a,b){var c=new F(a,"1.34.3",vh);if(rh(c)&&Hh(c)){var d=c.get(Ih),e=b?b.get(Ih):"unknown";d!=e&&(a.ha("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=nh.prototype;
|
||||
m.Va=function(a){void 0===a&&(a=this.b||(this.L?Jh:qh));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new F(this,"1.34.3");if(a==Kh)b=!0;else if(a>qh){if(rh(d,this.L)){this.C=new F(this,"1.34.3",Lh);rh(this.C)&&(Mh(this,d),a=Nh,Oh(this.C));this.C.set(Ih,Ga());Ph(this.C);var e=this.b&&!this.K;if(a==Jh||pb("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Hh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?rh(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.ha("Error: "+g),"unable to verify user"==g&&(Qa(Qh,""),this.i=null)):this.u(f+": "+g),Oh(d),rh(d)?(c=Hh(d),e=!0):c=!1))}e&&uh(this,c?d:null)}else a==Nh&&d.clear()}else uh(this);delete this.L;delete this.I}e=qb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Rh(this,g,d,b,c));b=[d,a,c];a!=Kh?th(this,this.Hb,b):this.Hb(b)}};
|
||||
function Rh(a,b,c,d,e){if(!b.A.Y){b.A.Y=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.za(f,d)&&f&&(q("Unable to restore state for "+b.type),a.M&&!a.U?(c.clear(),a.b=qh,window&&window.location.reload()):a.P=!0,b.za(null),e=!1),!d&&b.Cb){var g=b.Cb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||
m.Hb=function(a){var b=a[0],c=0>a[1];a=a[2];this.T=!0;this.A.Y=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Rh(this,this.v,b,c,a),J(this,-2),this.v.ea());this.P&&(Mh(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
||||
function Mh(a,b){if(pb("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.aa;a=a.i||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.3";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function wg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.3"),g=new F(a,"1.34.3",vh),h=Ga();g.set(Ih,h);f.set(Ih,h);f.set(Sh,"1.34.3");f.set(Th,window?window.location.href:null);f.set(Uh,window?window.navigator.userAgent:"");a.v&&a.v.pa&&(c&&(b&&(a.v.A.ea=a.v.A.O),a.v.W()),d=a.v.pa(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.Y=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k<h.length;k++){var l=h[k];l.A.Y&&(l.pa&&(d=l.pa(b,c),"object"===typeof d&&f.set(l.id,d)),c&&(l.A.Y=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Vh(a,a.i,f.toString()),Ph(g)&&Ph(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Wh),d&&f.clear(h)):e=f.toString());c&&(a.A.Y=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
|
||||
function Cg(a){if(0<=a.ga.indexOf("p"))return a.u(a.G.join("")),0;var b=Ve(a.b);try{for(var c=0;c<a.G.length;c+=2){a.ca++;if(!Eg(a,a.G[c]+"\r\n"))break;if(null!==a.C)break}a.i&&a.error("open block from line "+a.j[a.F].ca);a.w.length&&a.error("open scope from line "+a.w[0].ca);for(var d=a.fa,c={},e=0;e<a.L.length;c={V:c.V,Ra:c.Ra,ya:c.ya},e++){c.ya=a.L[e];c.V=[];c.Ra=0;c.ya.V.forEach(function(a){return function(b,c){c===a.V.length&&a.V.push(b);a.Ra++}}(c));if(c.Ra==c.V.length)for(var f=d;f+c.Ra<=a.fa;f++){for(var g=
|
||||
void 0,g=0;g<c.Ra&&c.V[g]===a.V[f+g]&&c.ya.na[g]==a.na[f];g++);if(g==c.Ra){Fg(a,c.ya.name,f,Gg);c.ya=null;break}}c.ya&&(Fg(a,c.ya.name,a.fa,Gg),c.ya.V.forEach(function(b){return function(c,d){Hg(a,c,b.ya.na[d])}}(c)))}for(d=0;d<a.K.length;d++){var h=a.K[d],k=a.j[h];k?Ig(a,k.Aa):a.error("missing definition for variable: "+h)}a.na.forEach(function(b,c){var d=Jg(a,b,void 0,c);void 0===d?a.error("unable to parse expression: "+b):(d+=a.V[c],a.V[c]=Kg(a,d,c))})}catch(l){a.u(l.message),a.U=-1}a.b.I=b;return a.U}
|
||||
function Eg(a,b,c,d,e){var f;if(a.i&&(1==a.i&&(f=b.indexOf(a.J),0<=f?(a.i++,b=b.substr(f+1)):a.error("expected "+a.I+" definition: "+b)),1<a.i&&(b=Lg(a,b)),a.i))return!0;null!=a.D&&(b=Mg(a,b));var g=!0;f="";for(var h;g;){h=b.match(a.aa);if(!h||h[5]&&";"!=h[5].slice(0,1))return a.error("failed to parse line: "+b),!1;g=!1;f=h[2].toUpperCase();if(f==Ng||f==Og)c=null;if(c){for(var k=0;k<c.length;k++)for(var l=c[k],p=d[k]||e[k]||"",u=0,D=b.length-h[5].length;u<D;){var I=b.indexOf(l,u);if(0>I)break;var u=
|
||||
I+1,P=I+l.length,cb="",Ab="";I&&(cb=b[I-1]).match(/[0-9A-Z$%.]/i)||!(P>=b.length)&&(Ab=b[P]).match(/[0-9A-Z$%.]/i)||("'"==cb&&I--,"'"==Ab&&P++,b=b.substr(0,I)+p+b.substr(P),u=I+p.length,g=!0)}c=null}}d=h[1];c=h[3];b=h[4].trim();h=h[4]+h[5];d&&(d=d.slice(0,-1),Fg(a,d,a.fa,Gg));var H;f&&(H=b.match(/^([=:]+)(.*)/))&&(e=0,d=f,f=H[1],b=H[2],"=="==f?e|=Pg:"=:"==f&&(e|=Qg),Fg(a,d,b,e),f=b="");if(!f&&!b)return!0;a.I=f;for((H=Rg(a,b))&&(b=b.replace(H,Sg(a,Tg,Rg(a,h))));H=Ug(a,b);)b=b.replace(H,H.slice(0,-1));
|
||||
if(!Vg(a,f,b))switch(f){case Wg:case Xg:case Yg:Mg(a,h);break;case Zg:(f=b)?(a.C=Jg(a,f,!0),void 0===a.C&&a.error("unrecognized expression: "+f)):a.C=a.T;break;case $g:ah(a,b);break;case bh:ah(a,b.replace(",",",,"));break;case ch:case dh:case eh:case Ng:case Og:case fh:Sg(a,f,h);break;case gh:case hh:case ih:case jh:break;default:H=-1,h=(f+c+b).trim(),0>b.indexOf(",,")&&(H=Jf(a.b,f,b,a.fa,!0)),0>H&&(H=Jg(a,h,!0)),void 0!==H?Hg(a,H,a.b.ja):a.error("unrecognized expression: "+h)}return!0}
|
||||
function Vg(a,b,c){var d=a.j[b];if(!d)return!1;if(null!=c)return b=a.v,a.v=d,d.Pa=kh(a,c,!0),Ig(a,d.Aa,d.Sa,d.Pa,d.Ab),a.v=b,!0;if("?"!=b[0])return!1;switch(b.substr(1)){case dh:d.fb||Ig(a,d.Aa);break;case eh:d.fb&&Ig(a,d.Aa);break;case Ng:case Og:for(b=0;b<d.Pa.length;b++)Ig(a,d.Aa,d.Sa,[d.Pa[b]],[]);break;case fh:for(;0<d.fb--;)Ig(a,d.Aa);break;default:d=d.Aa,a.w.push({name:b,V:a.V,na:a.na,fa:a.fa,La:a.La,ca:a.ca}),a.V=[],a.na=[],a.La=a.fa,a.fa=0,Ig(a,d),a.w.length?(a.L.push({name:a.w[a.w.length-
|
||||
1].name,V:a.V,na:a.na}),d=a.w.pop(),a.V=d.V,a.na=d.na,a.fa=d.fa,a.La=d.La,a.w.length||-1==a.La||a.error("scope restore error")):a.error("scope nesting error")}return!0}function Ig(a,b,c,d,e){b=b.split(/\r?\n/);for(var f=0;f<b.length&&Eg(a,b[f]+"\r\n",c,d,e);f++);}tg.prototype.error=function(a){throw Error("error"+(this.ca?" at line "+va(this.ca):"")+": "+a);};function Dg(a,b){a.u("warning"+(a.ca?" at line "+va(a.ca):"")+": "+b)}
|
||||
function lh(a,b){var c;c=void 0===c?",":c;for(var d=0,e=!1,f=null,g=0;d<b.length;){var h=b[d++];if('"'==h)e=!e;else if(!e){if(0<=c.indexOf(h)){d--;break}if("<"==h)g++;else if(">"==h&&0>--g){a.error("missing bracket(s): "+b);break}}}g?0<g&&a.error("extra bracket(s): "+b):f=b.substr(0,d);return f}
|
||||
function Jg(a,b,c,d){var e,f=b.match(/^([^,]*),,([^,]*)$/);f?(b=f[1]?Jg(a,f[1],c,d):0,void 0!==b&&(c=f[2]?Jg(a,f[2],c,d):0,void 0!==c&&(e=Y(a.b,b,18,!0)*Math.pow(2,18)+Y(a.b,c,18,!0)))):(void 0===d&&(d=0<=a.La?a.La:a.fa),e=Te(a.b,b.replace(/\.([^0-9]|$)/g,K(a.b,d,-1)+"$1"),c),void 0===e&&a.error("error parsing expression: "+b));return e}
|
||||
function Rg(a,b){for(var c=0,d="",e=0,f=-1,g=b.length;e<b.length;){var h=b[e];if(";"==h)break;"["==h&&(c++||(f=e));e++;if("]"==h&&0>=--c){g=e;break}}0>c&&a.error("missing bracket(s): "+b);0<=f&&(d=b.substr(f,g-f));return d}function Ug(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="?"+b;a.j[d]&&a.error("reserved symbol redefined: "+c);var e,f,g;e=f=g=[];a.j[d]={name:d,fb:mh,Sa:e,Ab:f,Pa:g,Aa:b+": 0",ca:a.ca};a.K.push(d)}return c}
|
||||
function kh(a,b,c){var d=[];for(c&&(b=b.replace(/^\(?(.*?)\)?$/,"$1"));b;){b=b.trim();c=lh(a,b);if(!c)break;d.push(c);b=b.substr(c.length+1)}return d}
|
||||
function Mg(a,b){var c=b;null==a.D&&(a.D=a.H="",b&&(a.D=b[0],c=b=b.substr(1)));if(a.D){var d=b.indexOf(a.D);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.D=null);a.H+=b}if(null==a.D){var d=b=0,e,f,g=a.H.length;a.I==Xg&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.I==Yg&&(e--,f++));var k=a.H.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Hg(a,d),b=0)}b&&Hg(a,d)}return c}
|
||||
function Sg(a,b,c){var d,e,f,g,h,k;a.J="<";a.M=">";g=h=k=[];if(b==ch){e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+": "+c),c;f=e[1];if(e[2]){h=g=kh(a,e[2],!0);b=[];for(c=0;c<h.length;c++)if(d=h[c].indexOf("<"),0<=d){var l=h[c].lastIndexOf(">");0>l&&(l=h[c].length);b[c]=h[c].substr(d,l-d);h[c]=h[c].substr(0,d)}h=b}b=nh;c=3}else if(b==Tg)a.J="[",a.M="]",f="?"+va(++a.Z,5),a.j[f]&&a.error("literal symbol redefined: "+f),e=[c[0],c.substr(1)],
|
||||
b=oh,c=0;else if(b==Ng||b==Og){a.v||a.error(b+" outside of macro");e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*,\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+": "+c),c;for(d=0;d<a.v.Sa.length&&e[1]!=a.v.Sa[d];d++);if(d==a.v.Sa.length)return a.error("invalid "+b+" parameter: "+e[1]),c;f="?"+b;g=[e[1]];b==Og?k=a.v.Pa[d].split(""):k=kh(a,a.v.Pa[d]);b=k.length;c=2}else{d=lh(a,c);if(!d)return a.error("missing "+b+" expression: "+c),c;c=c.substr(d.length+1);d=d.trim();e=c.match(/\s*(<|)([\s\S]*)/i);
|
||||
f="?"+b;b=Jg(a,d)||0;c=1}f=f.toUpperCase();a.i=1;a.F=f;a.j[f]={name:f,fb:b,Sa:g,Ab:h,Pa:k,Aa:"",ca:a.ca};e[c]&&(a.i=2,Lg(a,e[c+1]));return f}function Lg(a,b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.J)a.i++;else if(b[d]==a.M&&(a.i--,1==a.i)){a.i=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.F||"";a.j[d].Aa+=b;a.i||(a.F=null,Vg(a,d));return c}function ah(a,b){var c=Jg(a,b,!0);void 0!==c?Hg(a,c,a.b.ja):a.error("unrecognized expression: "+b)}
|
||||
function Fg(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&Gg&&a.N[b])a.error("label "+b+" redefined");else{if("string"==typeof c){var e=Jg(a,c);if(void 0===e){a.error("parseExpression("+c+")");return}c=e}(e=a.N[b])?(e.value=c,e.Vb=d,e.ca=a.ca):a.N[b]={name:b,value:c,Vb:d,ca:a.ca};a.b.I[b]=c}}function Hg(a,b,c){a.V[a.fa]=Kg(a,b);null!=c&&(a.na[a.fa]=c);a.fa++}
|
||||
function Kg(a,b,c){c=void 0===c?a.fa:c;var d=Y(a.b,b||0,36,!0);(b<-A||b>=C)&&Dg(a,"truncated value "+ua(b)+" at location "+ua(c)+" to "+ua(d));return d}tg.prototype.u=function(a){this.b?this.b.u(a):console.log(a)};var Gg=1,Pg=2,Qg=4,Wg="ASCII",Xg="ASCIZ",ch="DEFINE",Zg="END",$g="EXP",dh="IFE",eh="IFN",Ng="IRP",Og="IRPC",gh="LALL",Tg="LITERAL",hh="PAGE",fh="REPEAT",Yg="SIXBIT",ih="SUBTTL",jh="TITLE",bh="XWD",nh=-1,oh=-2,mh=-3;
|
||||
function ph(a,b,c){r.call(this,"Computer",a,33554432);this.A.Y=!1;this.R=null;qh(this,b);this.N=$c(this,"autoPower",a,6);this.w=0;this.Z=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.U=!1;this.I=this.C=null;this.T=this.P=!1;this.aa=$c(this,"url")||"";(Math.random()+.1).toString(36);this.i=rh(this);if(this.v=sb("CPU",this.id)){this.D=sb("Debugger",this.id);this.G=new zc({id:this.ab+".bus",busWidth:this.Z},this.v,this.D);var d,e=qb(this.id);if((this.j=sb("Panel",this.id))&&this.j.xa)for(b=
|
||||
0;b<e.length;b++)d=e[b],d.ha=this.j.ha,d.u=this.j.u,d.xa=this.j.xa;this.u(Rb+" v1.34.3\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ka&&d.Ka(this,this.G,this.v,this.D);b=null;d=$c(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=$c(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=sh),this.b&&(this.I=new F(this,"1.34.3"),th(this.I)?b=null:
|
||||
delete this.I);!b&&this.b&&(b=uh(this))&&(this.K=!0);if(b){var g=this;Ha(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.ha("Unable to load machine state from server (error "+c+(b?": "+Ea(b):"")+")")):(g.L=b,g.U=!0);Mb(g)})}else Mb(this);this.J.power||(this.N=!0);!c&&this.N&&vh(this,this.Va)}else q("Unable to find CPU component")}ka(ph,r);function qh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.R=b}
|
||||
function $c(a,b,c,d){var e=b.toLowerCase(),e=Sa(b)||Sa(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function vh(a,b,c){for(var d=qb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Lb(f)){Lb(f,function(){vh(a,b,c)});return}}b.call(a,c)}
|
||||
function wh(a,b){var c=new F(a,"1.34.3",xh);if(th(c)&&Jh(c)){var d=c.get(Kh),e=b?b.get(Kh):"unknown";d!=e&&(a.ha("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=ph.prototype;
|
||||
m.Va=function(a){void 0===a&&(a=this.b||(this.L?Lh:sh));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new F(this,"1.34.3");if(a==Mh)b=!0;else if(a>sh){if(th(d,this.L)){this.C=new F(this,"1.34.3",Nh);th(this.C)&&(Oh(this,d),a=Ph,Qh(this.C));this.C.set(Kh,Ga());Rh(this.C);var e=this.b&&!this.K;if(a==Lh||pb("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Jh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?th(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.ha("Error: "+g),"unable to verify user"==g&&(Qa(Sh,""),this.i=null)):this.u(f+": "+g),Qh(d),th(d)?(c=Jh(d),e=!0):c=!1))}e&&wh(this,c?d:null)}else a==Ph&&d.clear()}else wh(this);delete this.L;delete this.I}e=qb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Th(this,g,d,b,c));b=[d,a,c];a!=Mh?vh(this,this.Hb,b):this.Hb(b)}};
|
||||
function Th(a,b,c,d,e){if(!b.A.Y){b.A.Y=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.za(f,d)&&f&&(q("Unable to restore state for "+b.type),a.M&&!a.U?(c.clear(),a.b=sh,window&&window.location.reload()):a.P=!0,b.za(null),e=!1),!d&&b.Cb){var g=b.Cb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||
m.Hb=function(a){var b=a[0],c=0>a[1];a=a[2];this.T=!0;this.A.Y=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Th(this,this.v,b,c,a),J(this,-2),this.v.ea());this.P&&(Oh(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
||||
function Oh(a,b){if(pb("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.aa;a=a.i||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.3";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function yg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.3"),g=new F(a,"1.34.3",xh),h=Ga();g.set(Kh,h);f.set(Kh,h);f.set(Uh,"1.34.3");f.set(Vh,window?window.location.href:null);f.set(Wh,window?window.navigator.userAgent:"");a.v&&a.v.pa&&(c&&(b&&(a.v.A.ea=a.v.A.O),a.v.W()),d=a.v.pa(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.Y=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k<h.length;k++){var l=h[k];l.A.Y&&(l.pa&&(d=l.pa(b,c),"object"===typeof d&&f.set(l.id,d)),c&&(l.A.Y=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Xh(a,a.i,f.toString()),Rh(g)&&Rh(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Yh),d&&f.clear(h)):e=f.toString());c&&(a.A.Y=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
|
||||
m.reset=function(){this.A.reset=!0;this.G&&this.G.reset&&(Qb(this,"Resetting "+this.G.type),this.G.reset());this.v&&this.v.reset&&(Qb(this,"Resetting "+this.v.type),this.v.reset());for(var a=qb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.v&&c.reset&&(Qb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;J(this,-1)};m.start=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}J(this,-1)};
|
||||
m.stop=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}J(this,-1)};
|
||||
function J(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.jb+=d))&&(e.textContent=c.A.O?c.Z.toFixed(2)+"Mhz":"Stopped",c.jb=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.O;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.S||8,e=e||0,e=8==f?ua(e,void 0):n(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.Ba);jc(a,a.i);dc(a,a.w)}}
|
||||
m.qa=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.Y?wg(d,!1,!0):th(d,d.Va))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.Y&&!d.w)if(d.b&&!d.F){var a=pb("Click OK to save changes to this "+Rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");wg(d,a,!0);!a&&d.M?window&&window.location.reload():d.Va(qh)}else d.reset(),d.v&&!d.D&&d.v.ea()},!0;case "save":if(ya(Ja(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.J[b]=c,c.onclick=function(){var a=ph(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=wg(d,b);b?Vh(d,a,c):d.ha("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function ph(a,b){var c=a.i;c||((c=Pa(Qh),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Xh(a,c))||a.ha("The user ID is invalid.")):b&&a.ha("Browser local storage is not available"));return c}
|
||||
function Xh(a,b){a.i=null;b=Ha(Ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Qa(Qh,b.data),a.i=b.data)}catch(d){q(d.message+" ("+c+")")}return a.i}function sh(a){var b=null;a.i&&(b=Ja()+"/api/v1/user?req=load&user="+a.i+"&state="+Yh(a,"1.34.3"));return b}
|
||||
function Vh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Yh(a,"1.34.3");d.data=c;b=Ha(Ja()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ha("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.ha(c),Qa(Qh,""),a.i=null)}}
|
||||
function jd(a,b){if(a.xa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.xa.focus();!b&&window&&window.scrollTo(c,d)}}var Lh="failsafe",vh="validate",Ih="timestamp",Sh="version",Th="url",Uh="browser",Qh="user",Kh=-1,qh=0,Jh=1,Nh=2,Wh=3;Xa(function(){for(var a=w(document,v+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=t(c),c=w(c,v,"computer"),e=0;e<c.length;e++){var f=c[e],g=t(f),g=new nh(g,d,!0);tb(g,f);g.N&&th(g,g.Va)}});
|
||||
Ya.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=sb("Computer",c.id))&&c.T&&!c.A.Y&&c.Va(Kh)}});Ya.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=sb("Computer",c.id))&&c.A.Y&&wg(c,!(!c.b||c.F),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=Yh(a,b,c);Oh(this,a.Sb)}m=F.prototype;m.set=function(a,b){try{this.b[a]=b}catch(c){}};m.get=function(a){return this.b[a]||null};
|
||||
m.data=function(){return this.b};function rh(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:Na()&&(b=Pa(a.key))?(a.i=b,a.v=!0):!1}function Hh(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){q(c.message||c),b=!1}return b}function Ph(a){var b=!0;if(Na()){var c=JSON.stringify(a.b);Qa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}m.toString=function(){return this.b?JSON.stringify(this.b):this.i};
|
||||
function Oh(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}m.clear=function(a){Oh(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Yh(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Zh=0;
|
||||
function $h(a,b,c,d,e,f,g){f("Loading "+a+"...");Ha(a,null,!0,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):ai(k,a,b,c,d,e,f,g)})}
|
||||
function ai(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(mb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){g=null,a=u.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?bi(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function bi(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);bi(a,b,c)}})}else c(a,null)}
|
||||
function ci(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function g(a){f("Error: "+a);l&&(--Zh||ab(!0));l=!1}var h,k,l=!0;Zh++;nb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=p:D.appendChild(document.createTextNode(p));u.appendChild(D)}d||
|
||||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.3/components.xsl");p=function(e,k){k?$h(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Zh||ab(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Zh||
|
||||
ab(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?$h(c,b,a,e,!0,f,p):ai(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(I){g(I.message)}return l}window.embedPDP10=function(a,b,c,d){ab(!1);return ci("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ab(!1);return ci("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return sb(b,a+".machine")};
|
||||
m.qa=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.Y?yg(d,!1,!0):vh(d,d.Va))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.Y&&!d.w)if(d.b&&!d.F){var a=pb("Click OK to save changes to this "+Rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");yg(d,a,!0);!a&&d.M?window&&window.location.reload():d.Va(sh)}else d.reset(),d.v&&!d.D&&d.v.ea()},!0;case "save":if(ya(Ja(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.J[b]=c,c.onclick=function(){var a=rh(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=yg(d,b);b?Xh(d,a,c):d.ha("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function rh(a,b){var c=a.i;c||((c=Pa(Sh),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Zh(a,c))||a.ha("The user ID is invalid.")):b&&a.ha("Browser local storage is not available"));return c}
|
||||
function Zh(a,b){a.i=null;b=Ha(Ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Qa(Sh,b.data),a.i=b.data)}catch(d){q(d.message+" ("+c+")")}return a.i}function uh(a){var b=null;a.i&&(b=Ja()+"/api/v1/user?req=load&user="+a.i+"&state="+$h(a,"1.34.3"));return b}
|
||||
function Xh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=$h(a,"1.34.3");d.data=c;b=Ha(Ja()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ha("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.ha(c),Qa(Sh,""),a.i=null)}}
|
||||
function jd(a,b){if(a.xa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.xa.focus();!b&&window&&window.scrollTo(c,d)}}var Nh="failsafe",xh="validate",Kh="timestamp",Uh="version",Vh="url",Wh="browser",Sh="user",Mh=-1,sh=0,Lh=1,Ph=2,Yh=3;Xa(function(){for(var a=w(document,v+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=t(c),c=w(c,v,"computer"),e=0;e<c.length;e++){var f=c[e],g=t(f),g=new ph(g,d,!0);tb(g,f);g.N&&vh(g,g.Va)}});
|
||||
Ya.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=sb("Computer",c.id))&&c.T&&!c.A.Y&&c.Va(Mh)}});Ya.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=sb("Computer",c.id))&&c.A.Y&&yg(c,!(!c.b||c.F),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=$h(a,b,c);Qh(this,a.Sb)}m=F.prototype;m.set=function(a,b){try{this.b[a]=b}catch(c){}};m.get=function(a){return this.b[a]||null};
|
||||
m.data=function(){return this.b};function th(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:Na()&&(b=Pa(a.key))?(a.i=b,a.v=!0):!1}function Jh(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){q(c.message||c),b=!1}return b}function Rh(a){var b=!0;if(Na()){var c=JSON.stringify(a.b);Qa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}m.toString=function(){return this.b?JSON.stringify(this.b):this.i};
|
||||
function Qh(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}m.clear=function(a){Qh(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function $h(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var ai=0;
|
||||
function bi(a,b,c,d,e,f,g){f("Loading "+a+"...");Ha(a,null,!0,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):ci(k,a,b,c,d,e,f,g)})}
|
||||
function ci(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(mb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){g=null,a=u.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?di(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function di(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);di(a,b,c)}})}else c(a,null)}
|
||||
function ei(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function g(a){f("Error: "+a);l&&(--ai||ab(!0));l=!1}var h,k,l=!0;ai++;nb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=p:D.appendChild(document.createTextNode(p));u.appendChild(D)}d||
|
||||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.3/components.xsl");p=function(e,k){k?bi(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--ai||ab(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--ai||
|
||||
ab(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?bi(c,b,a,e,!0,f,p):ci(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(I){g(I.message)}return l}window.embedPDP10=function(a,b,c,d){ab(!1);return ei("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ab(!1);return ei("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return sb(b,a+".machine")};
|
||||
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!vb[a]){for(var c=!0,d=vb,e=a,f=b.length,g=[],h=[],k="",l=null,p=0;p<f;p++){var u=b[p];if('"'==u||"'"==u)l&&u!=l?k+=u:(l?l=null:l=u,k&&(h.push(k),k=""));else{if(!l){if("\r"==u||"\n"==u)u=";";if(" "==u||"\t"==u||";"==u){k&&(h.push(k),k="");";"==u&&h.length&&(g.push(h),h=[]);continue}}k+=u}}k&&h.push(k);h.length&&g.push(h);d[e]=g;ub(a)||(c=!1)}return c};window.enableEvents=ab;window.sendEvent=jb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.3/pdp10-dbg.map
|
||||
|
|
|
|||
|
|
@ -73,10 +73,10 @@ function nb(a,b){a.f=b&a.s.g;if(a.D!==a.f){a.D=a.f;b=a.D;for(var c=0;22>c;c++){v
|
|||
function mb(){for(var a=A(document,z,"panel"),b=0;b<a.length;b++){var c=a[b],d=y(c),e=Pa(d.id);e||(e=new fb(d,!0));Qa(e,c)}}var gb=7,sb="DEP",ub="ENABLE",tb="EXAM",rb="STEP";Ea(mb);function Cb(a,b,c){t.call(this,"Bus",a);this.j=b;this.w=c;this.u=+a.busWidth||18;this.o=1<<this.u;this.g=this.o-1;this.f=Math.log2(16384);this.l=this.o/16384|0;this.h=0;this.a=[];a=new Db(this);Eb(a);this.a=Array(this.l);for(b=0;b<this.l;b++)this.a[b]=a;B(this)}l(Cb,t);k=Cb.prototype;k.reset=function(){};
|
||||
k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new L(this);a.set(0,Fb(this));return a.data()};k.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],m=d[g++];h--;)f[e++]=m;d=f}e=this.a[c];if(!e||!e.restore(d)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||
function Gb(a,b,c,d){for(var e=b,f=c,g=e>>>a.f;0<f&&g<a.a.length;){var h=a.a[g],m=16384*g,u=16384-(e-m);u>f&&(u=f);if(h&&h.size){if(h.type==d){if(e+f<=h.ea)return h.Ea+=h.ea-e,h.ea=e,!0;if(e>=h.ea+h.Ea){u=h.size-(e-m);u>f&&(u=f);h.Ea=e-h.ea+u;e=m+16384;f-=u;g++;continue}}return Hb(Ib,e,f)}e=new Db(a,e,u,16384,d);Eb(e,h);a.a[g++]=e;e=m+16384;f-=u}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Jb[d]+" at "+ka(b)),!0):Hb(Kb,b,c)}
|
||||
function Bb(a,b,c){var d=a.a[(b&a.g)>>>a.f];a.h++;d.g(c,b&16383,b);a.h--}function Fb(a){for(var b=0,c=[],d=0;d<a.l;d++){var e=a.a[d];if(e.Oa||e.hb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,m=[];g<e.length;){for(var u=e[g],D=g+1;D<e.length&&e[D]===u;)D++;m[h++]=D-g;m[h++]=u;g=D}m.length<e.length&&(e=m)}c[f]=e}}return c}function Hb(a,b,c){q("Memory block error ("+a+": "+la(b)+","+la(c)+")");return!1}var Ib=1,Kb=2;function Lb(a){t.call(this,"Device",a)}l(Lb,t);k=Lb.prototype;
|
||||
function Bb(a,b,c){var d=a.a[(b&a.g)>>>a.f];a.h++;d.j(c,b&16383,b);a.h--}function Fb(a){for(var b=0,c=[],d=0;d<a.l;d++){var e=a.a[d];if(e.Oa||e.hb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,m=[];g<e.length;){for(var u=e[g],D=g+1;D<e.length&&e[D]===u;)D++;m[h++]=D-g;m[h++]=u;g=D}m.length<e.length&&(e=m)}c[f]=e}}return c}function Hb(a,b,c){q("Memory block error ("+a+": "+la(b)+","+la(c)+")");return!1}var Ib=1,Kb=2;function Lb(a){t.call(this,"Device",a)}l(Lb,t);k=Lb.prototype;
|
||||
k.Z=function(a,b,c,d){this.s=b;this.v=a;this.j=c;this.w=d;B(this)};k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){return(new L(this)).data()};k.restore=function(){return!0};Ea(function(){for(var a=A(document,z,"device"),b=0;b<a.length;b++){var c,d=a[b];c=y(d);switch(c.type){case "default":c=new Lb(c),Qa(c,d)}}});
|
||||
function Db(a,b,c,d,e){this.s=a;this.id=Mb+=2;this.ea=b;this.Ea=c;this.size=d||0;this.type=e||Nb;this.m=e==Ob;this.b=this.h=this.Pa;this.c=this.g=this.Ra;this.f=this.j=0;Eb(this);this.Oa=this.hb=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Pb(this,Qb)}else Pb(this)}k=Db.prototype;k.save=function(){return this.a};k.restore=function(a){return a&&this.size==a.length?(this.a=a,this.Oa=!0):!1};function Pb(a,b){b||(b=Rb);Sb(a,b,void 0);Tb(a,b,void 0)}
|
||||
function Sb(a,b,c){c&&a.f||(a.b=b[0]||a.Pa);if(c||void 0===c)a.h=b[0]||a.Pa}function Tb(a,b,c){c&&a.j||(a.c=!a.m&&b[1]||a.Ra);if(c||void 0===c)a.g=b[1]||a.Ra}function Eb(a,b){a.f=a.j=0;b&&((a.f=b.f)&&Sb(a,Ub,!1),(a.j=b.j)&&Tb(a,Ub,!1))}k.Pa=function(){var a=this.s;a.h||N(a.j);return-1};k.Ra=function(){};k.vb=function(a){return this.a[a]};k.Eb=function(a,b){this.a[b]!=a&&(this.a[b]=a,this.Oa=!0)};k.tb=function(a,b){return this.h(a,b)};k.Db=function(a,b,c){this.m||this.g(a,b,c)};
|
||||
function Db(a,b,c,d,e){this.s=a;this.id=Mb+=2;this.ea=b;this.Ea=c;this.size=d||0;this.type=e||Nb;this.m=e==Ob;this.b=this.h=this.Pa;this.c=this.j=this.Ra;this.f=this.g=0;Eb(this);this.Oa=this.hb=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Pb(this,Qb)}else Pb(this)}k=Db.prototype;k.save=function(){return this.a};k.restore=function(a){return a&&this.size==a.length?(this.a=a,this.Oa=!0):!1};function Pb(a,b){b||(b=Rb);Sb(a,b,void 0);Tb(a,b,void 0)}
|
||||
function Sb(a,b,c){c&&a.f||(a.b=b[0]||a.Pa);if(c||void 0===c)a.h=b[0]||a.Pa}function Tb(a,b,c){c&&a.g||(a.c=!a.m&&b[1]||a.Ra);if(c||void 0===c)a.j=b[1]||a.Ra}function Eb(a,b){a.f=a.g=0;b&&((a.f=b.f)&&Sb(a,Ub,!1),(a.g=b.g)&&Tb(a,Ub,!1))}k.Pa=function(){var a=this.s;a.h||N(a.j);return-1};k.Ra=function(){};k.vb=function(a){return this.a[a]};k.Eb=function(a,b){this.a[b]!=a&&(this.a[b]=a,this.Oa=!0)};k.tb=function(a,b){return this.h(a,b)};k.Db=function(a,b,c){this.m||this.j(a,b,c)};
|
||||
var Nb=0,Ob=2,Jb=["NONE","RAM","ROM"],Mb=0,Rb=[],Qb=[Db.prototype.vb,Db.prototype.Eb],Ub=[Db.prototype.tb,Db.prototype.Db];
|
||||
function Vb(a,b){t.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.Ga=0;this.Ka=b;this.ia=c;this.Ia=Math.round(this.Ka/1E4)/100;this.ga=this.Ia*this.ia;this.Ja=this.pa=this.ja=this.za=0;this.i.B=this.i.Qa=!1;this.i.J=a.autoStart;"string"==typeof this.i.J&&(this.i.J="true"==this.i.J);this.i.Ba=!1;this.xa=this.ha=0;this.ya=+a.csStart;this.na=+a.csInterval;this.oa=+a.csStop;this.K=[];this.Wa=this.yb.bind(this);this.P=this.D=this.N=this.H=this.C=this.ma=this.L=this.aa=this.La=this.W=0;this.ta=
|
||||
null;B(this)}l(Vb,t);k=Vb.prototype;k.Z=function(a,b,c,d){this.v=a;this.s=b;this.w=d;this.ta=a.g;for(a=0;a<Wb.length;a++)(b=this.m[Wb[a]])&&this.v.U(null,Wb[a],b);B(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
|
||||
|
|
@ -119,32 +119,32 @@ a)}},function(a,b){if(a=(this.a<<14>>14)%36){var c=this.b(b);0>a&&(a=36+a);c=c*M
|
|||
35+a)%G,d=Math.trunc(d/Math.pow(2,-a))+c,d>F&&(e+=G));this.c(b,d);this.c(b+1&15,e)}},function(a,b){if(a=(this.a<<14>>14)%72){var c=this.b(b),d=this.b(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%J+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%J+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%J+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%J+Math.trunc(d/Math.pow(2,72-a)));this.c(b,c);this.c(b+1&15,d)}},function(a,b){if(a=(this.a<<14>>14)%256){var c=this.b(b),d=this.b(b+1&15);0<
|
||||
a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%J,d=0):(c=c*Math.pow(2,a)%J+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%J):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%J,c=Math.trunc(c/Math.pow(2,-a)));this.c(b,c);this.c(b+1&15,d)}},O,function(a,b){a=this.b(b);this.c(b,this.b(this.a));this.c(this.a,a)},function(a,b){a=!1;for(var c=this.b(b),d=c/E|0,c=c&C;!a;)this.c(c,this.b(d)),c==this.a&&(a=!0),d=d+1&C,c=c+1&C,this.i.B||(this.c(b,d*E+c),a||
|
||||
(this.f=(this.f+-1)%$a),a=!0)},function(a,b){a=(this.b(b)+262145)%J;this.c(b,a);a<G&&M(this,this.a)},function(a,b){a=(this.b(b)+262145)%J;this.c(b,a);a>=G&&M(this,this.a)},function(a,b){b&1&&(this.g|=4096);if(b&2){var c=this.qa,c=c/E|0;this.g=this.g&-254049|c&254048;this.g|=c&4096;c&2048?this.g&4096||(this.g|=2048):this.g&=-2049}b&4&&N(this);b&8&&this.h(a);M(this,this.a)},function(a,b){a=b<<14;this.g&a&&(this.g&=~a,M(this,this.a))},function(){this.da=this.a},O,function(a){this.h(a)},function(a,b){a=
|
||||
this.b(b);a+=262145;this.c(a&C,this.b(this.a));a>=J&&(a-=J);a/E|0||(this.g|=262144);this.c(b,a)},function(a,b){a=this.b(b);var c=this.b(a&C);this.c(this.a,c);this.a==b&&(a=c);a-=262145;0>a&&(a+=J);(a/E|0)==C&&(this.g|=262144);this.c(b,a)},function(a){this.h(a)},function(){this.c(this.a,(this.g&C)*E+this.f);M(this,this.a+1)},function(a,b){this.c(b,(this.g&C)*E+this.f);M(this,this.a)},function(a,b){this.c(this.a,this.b(b));this.c(b,this.a*E+this.f);M(this,this.a+1)},function(a,b){a=this.b(b);this.c(b,
|
||||
this.b(a/E|0));M(this,this.a)},function(a,b){this.c(b,R.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(b,R.call(this,this.b(b),this.a))},function(a,b){this.c(this.a,R.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,R.call(this,this.b(b),this.b(this.a))))},function(a,b){this.c(b,Wc.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(b,Wc.call(this,this.b(b),this.a))},function(a,b){this.c(this.a,Wc.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,
|
||||
this.c(b,Wc.call(this,this.b(b),this.b(this.a))))},Mc,function(a,b){0>V(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){V(this.b(b),this.a)||M(this,this.f+1)},function(a,b){0>=V(this.b(b),this.a)&&M(this,this.f+1)},function(){M(this,this.f+1)},function(a,b){0<=V(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){V(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){0<V(this.b(b),this.a)&&M(this,this.f+1)},Nc,function(a,b){0>V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){V(this.b(b),
|
||||
this.b(this.a))||M(this,this.f+1)},function(a,b){0>=V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(){M(this,this.f+1)},function(a,b){0<=V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){0<V(this.b(b),this.b(this.a))&&M(this,this.f+1)},Mc,function(a,b){0>X(this.b(b))&&M(this,this.a)},function(a,b){X(this.b(b))||M(this,this.a)},function(a,b){0>=X(this.b(b))&&M(this,this.a)},function(){M(this,this.a)},function(a,b){0<=X(this.b(b))&&
|
||||
M(this,this.a)},function(a,b){X(this.b(b))&&M(this,this.a)},function(a,b){0<X(this.b(b))&&M(this,this.a)},function(a,b){b&&this.c(b,this.b(this.a))},function(a,b){a=this.b(this.a);0>X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);X(a)||M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0>=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){M(this,this.f+1);b&&this.c(b,this.b(this.a))},function(a,b){a=this.b(this.a);0<=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,
|
||||
b){a=this.b(this.a);X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0<X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){this.c(b,R.call(this,this.b(b),1))},function(a,b){a=this.c(b,R.call(this,this.b(b),1));0>X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));X(a)||M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));0>=X(a)&&M(this,this.a)},function(a,b){this.c(b,R.call(this,this.b(b),1));M(this,this.a)},function(a,b){a=this.c(b,R.call(this,
|
||||
this.b(b),1));0<=X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));0<X(a)&&M(this,this.a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));0>X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));X(a)||M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,
|
||||
this.b(this.a),1));0>=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));0<=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));0<X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){this.c(b,R.call(this,this.b(b),
|
||||
I))},function(a,b){a=this.c(b,R.call(this,this.b(b),I));0>X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));X(a)||M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));0>=X(a)&&M(this,this.a)},function(a,b){this.c(b,R.call(this,this.b(b),I));M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));0<=X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));0<X(a)&&
|
||||
M(this,this.a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));0>X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));X(a)||M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));0>=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));M(this,this.f+1);b&&this.c(b,a)},function(a,
|
||||
b){a=this.c(this.a,R.call(this,this.b(this.a),I));0<=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));0<X(a)&&M(this,this.f+1);b&&this.c(b,a)},qc,qc,function(){this.c(this.a,0)},function(a,b){this.c(this.a,this.c(b,0))},function(a,b){this.c(b,T(this.b(b),this.b(this.a)))},function(a,b){this.c(b,T(this.b(b),this.a))},function(a,b){this.c(this.a,T(this.b(b),
|
||||
this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,T(this.b(b),this.b(this.a))))},function(a,b){this.c(b,T(I-this.b(b),this.b(this.a)))},function(a,b){this.c(b,T(I-this.b(b),this.a))},function(a,b){this.c(this.a,T(I-this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,T(I-this.b(b),this.b(this.a))))},nc,oc,Nc,nc,function(a,b){this.c(b,T(this.b(b),I-this.b(this.a)))},function(a,b){this.c(b,T(this.b(b),I-this.a))},function(a,b){this.c(this.a,T(this.b(b),I-this.b(this.a)))},function(a,
|
||||
b){this.c(this.a,this.c(b,T(this.b(b),I-this.b(this.a))))},Mc,Mc,pc,pc,function(a,b){this.c(b,Y(this.b(b),this.b(this.a)))},function(a,b){this.c(b,Y(this.b(b),this.a))},function(a,b){this.c(this.a,Y(this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,Y(this.b(b),this.b(this.a))))},function(a,b){this.c(b,W(this.b(b),this.b(this.a)))},function(a,b){this.c(b,W(this.b(b),this.a))},function(a,b){this.c(this.a,W(this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,W(this.b(b),this.b(this.a))))},
|
||||
function(a,b){this.c(b,T(I-this.b(b),I-this.b(this.a)))},function(a,b){this.c(b,T(I-this.b(b),I-this.a))},function(a,b){this.c(this.a,T(I-this.b(b),I-this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,T(I-this.b(b),I-this.b(this.a))))},function(a,b){this.c(b,Xc(this.b(b),this.b(this.a)))},function(a,b){this.c(b,Xc(this.b(b),this.a))},function(a,b){this.c(this.a,Xc(this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,Xc(this.b(b),this.b(this.a))))},rc,rc,function(a,b){this.c(this.a,
|
||||
I-this.b(b))},function(a,b){this.c(this.a,this.c(b,I-this.b(b)))},function(a,b){this.c(b,W(I-this.b(b),this.b(this.a)))},function(a,b){this.c(b,W(I-this.b(b),this.a))},function(a,b){this.c(this.a,W(I-this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,W(I-this.b(b),this.b(this.a))))},function(a,b){this.c(b,I-this.b(this.a))},function(a,b){this.c(b,I-this.a)},function(){this.c(this.a,I-this.b(this.a))},function(a,b){this.c(this.a,this.c(b,I-this.b(this.a)))},function(a,b){this.c(b,W(this.b(b),
|
||||
I-this.b(this.a)))},function(a,b){this.c(b,W(this.b(b),I-this.a))},function(a,b){this.c(this.a,W(this.b(b),I-this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,W(this.b(b),I-this.b(this.a))))},function(a,b){this.c(b,W(I-this.b(b),I-this.b(this.a)))},function(a,b){this.c(b,W(I-this.b(b),I-this.a))},function(a,b){this.c(this.a,W(I-this.b(b),I-this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,W(I-this.b(b),I-this.b(this.a))))},sc,sc,function(){this.c(this.a,I)},function(a,b){this.c(this.a,this.c(b,
|
||||
I))},tc,vc,wc,xc,yc,zc,Ac,Bc,tc,vc,wc,xc,yc,zc,Ac,Bc,tc,vc,wc,xc,yc,zc,Ac,Bc,tc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Cc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Cc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Cc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Mc,Mc,function(a,b){T(this.b(b),this.a)||M(this,this.f+1)},function(a,b){T(this.b(b),this.a*E)||M(this,this.f+1)},function(){M(this,this.f+1)},function(){M(this,this.f+1)},function(a,b){T(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){T(this.b(b),this.a*E)&&M(this,this.f+1)},Nc,Nc,function(a,b){T(this.b(b),
|
||||
this.b(this.a))||M(this,this.f+1)},function(a,b){T(this.b(b),Z(this.b(this.a)))||M(this,this.f+1)},function(){M(this,this.f+1)},function(){M(this,this.f+1)},function(a,b){T(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){T(this.b(b),Z(this.b(this.a)))&&M(this,this.f+1)},function(a,b){this.c(b,U(this.b(b),this.a))},function(a,b){this.c(b,U(this.b(b),this.a*E))},function(a,b){a=this.b(b);T(a,this.a)||M(this,this.f+1);this.c(b,U(a,this.a))},function(a,b){a=this.b(b);var c=this.a*E;T(a,c)||
|
||||
M(this,this.f+1);this.c(b,U(a,c))},function(a,b){M(this,this.f+1);this.c(b,U(this.b(b),this.a))},function(a,b){M(this,this.f+1);this.c(b,U(this.b(b),this.a*E))},function(a,b){a=this.b(b);T(a,this.a)&&M(this,this.f+1);this.c(b,U(a,this.a))},function(a,b){a=this.b(b);var c=this.a*E;T(a,c)&&M(this,this.f+1);this.c(b,U(a,c))},function(a,b){this.c(b,U(this.b(b),this.b(this.a)))},function(a,b){this.c(b,U(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);T(a,c)||M(this,this.f+
|
||||
1);this.c(b,U(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)||M(this,this.f+1);this.c(b,U(a,c))},function(a,b){M(this,this.f+1);this.c(b,U(this.b(b),this.b(this.a)))},function(a,b){M(this,this.f+1);this.c(b,U(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);T(a,c)&&M(this,this.f+1);this.c(b,U(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)&&M(this,this.f+1);this.c(b,U(a,c))},function(a,b){this.c(b,Y(this.b(b),this.a))},function(a,b){this.c(b,
|
||||
Y(this.b(b),this.a*E))},function(a,b){a=this.b(b);T(a,this.a)||M(this,this.f+1);this.c(b,Y(a,this.a))},function(a,b){a=this.b(b);var c=this.a*E;T(a,c)||M(this,this.f+1);this.c(b,Y(a,c))},function(a,b){M(this,this.f+1);this.c(b,Y(this.b(b),this.a))},function(a,b){M(this,this.f+1);this.c(b,Y(this.b(b),this.a*E))},function(a,b){a=this.b(b);T(a,this.a)&&M(this,this.f+1);this.c(b,Y(a,this.a))},function(a,b){a=this.b(b);var c=this.a*E;T(a,c)&&M(this,this.f+1);this.c(b,Y(a,c))},function(a,b){this.c(b,Y(this.b(b),
|
||||
this.b(this.a)))},function(a,b){this.c(b,Y(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);T(a,c)||M(this,this.f+1);this.c(b,Y(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)||M(this,this.f+1);this.c(b,Y(a,c))},function(a,b){M(this,this.f+1);this.c(b,Y(this.b(b),this.b(this.a)))},function(a,b){M(this,this.f+1);this.c(b,Y(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);T(a,c)&&M(this,this.f+1);this.c(b,Y(a,c))},function(a,
|
||||
b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)&&M(this,this.f+1);this.c(b,Y(a,c))},function(a,b){this.c(b,W(this.b(b),this.a))},function(a,b){this.c(b,W(this.b(b),this.a*E))},function(a,b){a=this.b(b);T(a,this.a)||M(this,this.f+1);this.c(b,W(a,this.a))},function(a,b){a=this.b(b);T(a,this.a*E)||M(this,this.f+1);this.c(b,W(a,this.a*E))},function(a,b){M(this,this.f+1);this.c(b,W(this.b(b),this.a))},function(a,b){M(this,this.f+1);this.c(b,W(this.b(b),this.a*E))},function(a,b){a=this.b(b);T(a,this.a)&&
|
||||
M(this,this.f+1);this.c(b,W(a,this.a))},function(a,b){a=this.b(b);var c=this.a*E;T(a,c)&&M(this,this.f+1);this.c(b,W(a,c))},function(a,b){this.c(b,W(this.b(b),this.b(this.a)))},function(a,b){this.c(b,W(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);T(a,c)||M(this,this.f+1);this.c(b,W(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)||M(this,this.f+1);this.c(b,W(a,c))},function(a,b){M(this,this.f+1);this.c(b,W(this.b(b),this.b(this.a)))},function(a,b){M(this,
|
||||
this.f+1);this.c(b,W(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);T(a,c)&&M(this,this.f+1);this.c(b,W(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)&&M(this,this.f+1);this.c(b,W(a,c))},Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],Lc=[function(a){this.h(a)},function(a){this.h(a)},function(a){this.h(a)},function(a){this.h(a)},function(a,b){switch(b){case 0:a=this.b(this.a);
|
||||
a&8&&(this.g&=-131073);a&131072&&(this.g&=-262145);break;default:this.h(a)}},function(a,b){switch(b){case 0:a=0;this.g&131072&&(a|=8);this.g&262144&&(a|=65536);this.c(this.a,a);break;default:this.h(a)}},function(a){this.h(a)},function(a){this.h(a)}];
|
||||
this.b(b);a+=262145;this.c(a&C,this.b(this.a));a>=J&&(a-=J);a/E|0||(this.g|=262144);this.c(b,a)},function(a,b){a=this.b(b);var c=this.b(a&C);this.c(this.a,c);this.a==b&&(a=c);a-=262145;0>a&&(a+=J);(a/E|0)==C&&(this.g|=262144);this.c(b,a)},function(a){this.h(a)},function(){this.c(this.a,(this.g&C)*E+this.f);this.g&=-8193;M(this,this.a+1)},function(a,b){this.c(b,(this.g&C)*E+this.f);this.g&=-8193;M(this,this.a)},function(a,b){this.c(this.a,this.b(b));this.c(b,this.a*E+this.f);M(this,this.a+1)},function(a,
|
||||
b){a=this.b(b);this.c(b,this.b(a/E|0));M(this,this.a)},function(a,b){this.c(b,R.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(b,R.call(this,this.b(b),this.a))},function(a,b){this.c(this.a,R.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,R.call(this,this.b(b),this.b(this.a))))},function(a,b){this.c(b,Wc.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(b,Wc.call(this,this.b(b),this.a))},function(a,b){this.c(this.a,Wc.call(this,this.b(b),this.b(this.a)))},
|
||||
function(a,b){this.c(this.a,this.c(b,Wc.call(this,this.b(b),this.b(this.a))))},Mc,function(a,b){0>V(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){V(this.b(b),this.a)||M(this,this.f+1)},function(a,b){0>=V(this.b(b),this.a)&&M(this,this.f+1)},function(){M(this,this.f+1)},function(a,b){0<=V(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){V(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){0<V(this.b(b),this.a)&&M(this,this.f+1)},Nc,function(a,b){0>V(this.b(b),this.b(this.a))&&M(this,this.f+
|
||||
1)},function(a,b){V(this.b(b),this.b(this.a))||M(this,this.f+1)},function(a,b){0>=V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(){M(this,this.f+1)},function(a,b){0<=V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){0<V(this.b(b),this.b(this.a))&&M(this,this.f+1)},Mc,function(a,b){0>X(this.b(b))&&M(this,this.a)},function(a,b){X(this.b(b))||M(this,this.a)},function(a,b){0>=X(this.b(b))&&M(this,this.a)},function(){M(this,
|
||||
this.a)},function(a,b){0<=X(this.b(b))&&M(this,this.a)},function(a,b){X(this.b(b))&&M(this,this.a)},function(a,b){0<X(this.b(b))&&M(this,this.a)},function(a,b){b&&this.c(b,this.b(this.a))},function(a,b){a=this.b(this.a);0>X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);X(a)||M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0>=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){M(this,this.f+1);b&&this.c(b,this.b(this.a))},function(a,b){a=this.b(this.a);0<=X(a)&&
|
||||
M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0<X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){this.c(b,R.call(this,this.b(b),1))},function(a,b){a=this.c(b,R.call(this,this.b(b),1));0>X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));X(a)||M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));0>=X(a)&&M(this,this.a)},function(a,b){this.c(b,R.call(this,this.b(b),1));M(this,
|
||||
this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));0<=X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));0<X(a)&&M(this,this.a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));0>X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));X(a)||M(this,this.f+1);b&&this.c(b,
|
||||
a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));0>=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));0<=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));0<X(a)&&M(this,this.f+1);b&&this.c(b,
|
||||
a)},function(a,b){this.c(b,R.call(this,this.b(b),I))},function(a,b){a=this.c(b,R.call(this,this.b(b),I));0>X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));X(a)||M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));0>=X(a)&&M(this,this.a)},function(a,b){this.c(b,R.call(this,this.b(b),I));M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));0<=X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));X(a)&&M(this,this.a)},function(a,
|
||||
b){a=this.c(b,R.call(this,this.b(b),I));0<X(a)&&M(this,this.a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));0>X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));X(a)||M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));0>=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),
|
||||
I));M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));0<=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));0<X(a)&&M(this,this.f+1);b&&this.c(b,a)},qc,qc,function(){this.c(this.a,0)},function(a,b){this.c(this.a,this.c(b,0))},function(a,b){this.c(b,T(this.b(b),this.b(this.a)))},function(a,b){this.c(b,T(this.b(b),
|
||||
this.a))},function(a,b){this.c(this.a,T(this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,T(this.b(b),this.b(this.a))))},function(a,b){this.c(b,T(I-this.b(b),this.b(this.a)))},function(a,b){this.c(b,T(I-this.b(b),this.a))},function(a,b){this.c(this.a,T(I-this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,T(I-this.b(b),this.b(this.a))))},nc,oc,Nc,nc,function(a,b){this.c(b,T(this.b(b),I-this.b(this.a)))},function(a,b){this.c(b,T(this.b(b),I-this.a))},function(a,b){this.c(this.a,
|
||||
T(this.b(b),I-this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,T(this.b(b),I-this.b(this.a))))},Mc,Mc,pc,pc,function(a,b){this.c(b,Y(this.b(b),this.b(this.a)))},function(a,b){this.c(b,Y(this.b(b),this.a))},function(a,b){this.c(this.a,Y(this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,Y(this.b(b),this.b(this.a))))},function(a,b){this.c(b,W(this.b(b),this.b(this.a)))},function(a,b){this.c(b,W(this.b(b),this.a))},function(a,b){this.c(this.a,W(this.b(b),this.b(this.a)))},function(a,
|
||||
b){this.c(this.a,this.c(b,W(this.b(b),this.b(this.a))))},function(a,b){this.c(b,T(I-this.b(b),I-this.b(this.a)))},function(a,b){this.c(b,T(I-this.b(b),I-this.a))},function(a,b){this.c(this.a,T(I-this.b(b),I-this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,T(I-this.b(b),I-this.b(this.a))))},function(a,b){this.c(b,Xc(this.b(b),this.b(this.a)))},function(a,b){this.c(b,Xc(this.b(b),this.a))},function(a,b){this.c(this.a,Xc(this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,Xc(this.b(b),
|
||||
this.b(this.a))))},rc,rc,function(a,b){this.c(this.a,I-this.b(b))},function(a,b){this.c(this.a,this.c(b,I-this.b(b)))},function(a,b){this.c(b,W(I-this.b(b),this.b(this.a)))},function(a,b){this.c(b,W(I-this.b(b),this.a))},function(a,b){this.c(this.a,W(I-this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,W(I-this.b(b),this.b(this.a))))},function(a,b){this.c(b,I-this.b(this.a))},function(a,b){this.c(b,I-this.a)},function(){this.c(this.a,I-this.b(this.a))},function(a,b){this.c(this.a,this.c(b,
|
||||
I-this.b(this.a)))},function(a,b){this.c(b,W(this.b(b),I-this.b(this.a)))},function(a,b){this.c(b,W(this.b(b),I-this.a))},function(a,b){this.c(this.a,W(this.b(b),I-this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,W(this.b(b),I-this.b(this.a))))},function(a,b){this.c(b,W(I-this.b(b),I-this.b(this.a)))},function(a,b){this.c(b,W(I-this.b(b),I-this.a))},function(a,b){this.c(this.a,W(I-this.b(b),I-this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,W(I-this.b(b),I-this.b(this.a))))},sc,sc,function(){this.c(this.a,
|
||||
I)},function(a,b){this.c(this.a,this.c(b,I))},tc,vc,wc,xc,yc,zc,Ac,Bc,tc,vc,wc,xc,yc,zc,Ac,Bc,tc,vc,wc,xc,yc,zc,Ac,Bc,tc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Cc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Cc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Cc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Mc,Mc,function(a,b){T(this.b(b),this.a)||M(this,this.f+1)},function(a,b){T(this.b(b),this.a*E)||M(this,this.f+1)},function(){M(this,this.f+1)},function(){M(this,this.f+1)},function(a,b){T(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){T(this.b(b),this.a*E)&&M(this,
|
||||
this.f+1)},Nc,Nc,function(a,b){T(this.b(b),this.b(this.a))||M(this,this.f+1)},function(a,b){T(this.b(b),Z(this.b(this.a)))||M(this,this.f+1)},function(){M(this,this.f+1)},function(){M(this,this.f+1)},function(a,b){T(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){T(this.b(b),Z(this.b(this.a)))&&M(this,this.f+1)},function(a,b){this.c(b,U(this.b(b),this.a))},function(a,b){this.c(b,U(this.b(b),this.a*E))},function(a,b){a=this.b(b);T(a,this.a)||M(this,this.f+1);this.c(b,U(a,this.a))},function(a,
|
||||
b){a=this.b(b);var c=this.a*E;T(a,c)||M(this,this.f+1);this.c(b,U(a,c))},function(a,b){M(this,this.f+1);this.c(b,U(this.b(b),this.a))},function(a,b){M(this,this.f+1);this.c(b,U(this.b(b),this.a*E))},function(a,b){a=this.b(b);T(a,this.a)&&M(this,this.f+1);this.c(b,U(a,this.a))},function(a,b){a=this.b(b);var c=this.a*E;T(a,c)&&M(this,this.f+1);this.c(b,U(a,c))},function(a,b){this.c(b,U(this.b(b),this.b(this.a)))},function(a,b){this.c(b,U(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=
|
||||
this.b(this.a);T(a,c)||M(this,this.f+1);this.c(b,U(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)||M(this,this.f+1);this.c(b,U(a,c))},function(a,b){M(this,this.f+1);this.c(b,U(this.b(b),this.b(this.a)))},function(a,b){M(this,this.f+1);this.c(b,U(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);T(a,c)&&M(this,this.f+1);this.c(b,U(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)&&M(this,this.f+1);this.c(b,U(a,c))},function(a,b){this.c(b,Y(this.b(b),
|
||||
this.a))},function(a,b){this.c(b,Y(this.b(b),this.a*E))},function(a,b){a=this.b(b);T(a,this.a)||M(this,this.f+1);this.c(b,Y(a,this.a))},function(a,b){a=this.b(b);var c=this.a*E;T(a,c)||M(this,this.f+1);this.c(b,Y(a,c))},function(a,b){M(this,this.f+1);this.c(b,Y(this.b(b),this.a))},function(a,b){M(this,this.f+1);this.c(b,Y(this.b(b),this.a*E))},function(a,b){a=this.b(b);T(a,this.a)&&M(this,this.f+1);this.c(b,Y(a,this.a))},function(a,b){a=this.b(b);var c=this.a*E;T(a,c)&&M(this,this.f+1);this.c(b,Y(a,
|
||||
c))},function(a,b){this.c(b,Y(this.b(b),this.b(this.a)))},function(a,b){this.c(b,Y(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);T(a,c)||M(this,this.f+1);this.c(b,Y(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)||M(this,this.f+1);this.c(b,Y(a,c))},function(a,b){M(this,this.f+1);this.c(b,Y(this.b(b),this.b(this.a)))},function(a,b){M(this,this.f+1);this.c(b,Y(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);T(a,c)&&M(this,
|
||||
this.f+1);this.c(b,Y(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)&&M(this,this.f+1);this.c(b,Y(a,c))},function(a,b){this.c(b,W(this.b(b),this.a))},function(a,b){this.c(b,W(this.b(b),this.a*E))},function(a,b){a=this.b(b);T(a,this.a)||M(this,this.f+1);this.c(b,W(a,this.a))},function(a,b){a=this.b(b);T(a,this.a*E)||M(this,this.f+1);this.c(b,W(a,this.a*E))},function(a,b){M(this,this.f+1);this.c(b,W(this.b(b),this.a))},function(a,b){M(this,this.f+1);this.c(b,W(this.b(b),this.a*E))},
|
||||
function(a,b){a=this.b(b);T(a,this.a)&&M(this,this.f+1);this.c(b,W(a,this.a))},function(a,b){a=this.b(b);var c=this.a*E;T(a,c)&&M(this,this.f+1);this.c(b,W(a,c))},function(a,b){this.c(b,W(this.b(b),this.b(this.a)))},function(a,b){this.c(b,W(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);T(a,c)||M(this,this.f+1);this.c(b,W(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)||M(this,this.f+1);this.c(b,W(a,c))},function(a,b){M(this,this.f+1);this.c(b,W(this.b(b),
|
||||
this.b(this.a)))},function(a,b){M(this,this.f+1);this.c(b,W(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);T(a,c)&&M(this,this.f+1);this.c(b,W(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));T(a,c)&&M(this,this.f+1);this.c(b,W(a,c))},Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],Lc=[function(a){this.h(a)},function(a){this.h(a)},function(a){this.h(a)},function(a){this.h(a)},function(a,
|
||||
b){switch(b){case 0:a=this.b(this.a);a&8&&(this.g&=-131073);a&131072&&(this.g&=-262145);break;default:this.h(a)}},function(a,b){switch(b){case 0:a=0;this.g&131072&&(a|=8);this.g&262144&&(a|=65536);this.c(this.a,a);break;default:this.h(a)}},function(a){this.h(a)},function(a){this.h(a)}];
|
||||
function Yc(a){t.call(this,"ROM",a);this.O=this.a=null;this.l=+a.addr;this.g=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.h=a.file;this.o=ma(this.h);if(this.h){a=this.h;var b=na(this.o);"json"!=b&&"hex"!=b&&(a=pa()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,f){f?(c.G("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(La(c.wa,a,b),(a=ua(a,b))?(c.a=a.I,c.O=a.O):c.h=null);Zc(c)})}}l(Yc,t);
|
||||
Yc.prototype.Z=function(a,b,c,d){this.s=b;this.j=c;this.w=d;Zc(this)};Yc.prototype.V=function(){this.O&&(this.w&&this.w.a(this.id,this.l,this.g,this.O),delete this.O);return!0};Yc.prototype.R=function(){return!0};
|
||||
function Zc(a){if(!Wa(a)){if(a.h){if(!a.a||!a.s)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+la(a.a.length,8,!0)+") does not match specified size ("+la(a.g,8,!0)+")";a.i.error=!0;a.G(b)}else{b=a.l;if(Gb(a.s,b,a.g,Ob)){var c;for(c=0;c<a.a.length;c++)Bb(a.s,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.s,g=d.g,h=[],m=d.l>>>f.f;0<g&&m<f.a.length;)h.push(f.a[m++]),g-=16384;f=d.s;
|
||||
|
|
@ -152,7 +152,7 @@ d=d.g;g=0;for(e>>>=f.f;0<d&&e<f.a.length;){m=h[g++];if(!m)break;f.a[e++]=m;d-=16
|
|||
function $c(a){t.call(this,"RAM",a);this.O=this.Y=null;this.f=+a.addr;this.g=+a.size;this.T=a.load;this.S=a.exec;null!=this.T&&(this.T=+this.T);null!=this.S&&(this.S=+this.S);this.h=this.o=!1;this.a=a.file;this.l=ma(this.a);if(this.a){a=this.a;var b=na(this.l);"json"!=b&&"hex"!=b&&(a=pa()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,f){f?(c.G("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(La(c.wa,a,b),(a=ua(a,b))?(c.Y=a.Y,c.O=a.O,null==
|
||||
c.T&&(c.T=a.T),null==c.S&&(c.S=a.S)):c.a=null);ad(c)})}}l($c,t);$c.prototype.Z=function(a,b,c,d){this.s=b;this.j=c;this.w=d;ad(this)};$c.prototype.V=function(a,b){this.O&&(this.w&&this.w.a(this.id,this.f,this.g,this.O),delete this.O);b||this.reset();return!0};$c.prototype.R=function(){return!0};
|
||||
function ad(a){if(a.s&&(!a.h&&a.g&&(Gb(a.s,a.f,a.g,1)?a.h=!0:a.g=0),!Wa(a))){if(!a.h)q("No RAM allocated");else if(a.a){if(!a.Y)return;bd(a,a.Y,a.T,a.S,a.f)?a.status('Loaded image "'+a.l+'"'):a.G('Error loading image "'+a.l+'"')}a.o=!0;B(a)}}
|
||||
$c.prototype.reset=function(){if(this.h&&!this.o){for(var a=this.s,b=this.f,c=this.g,d=b&16383,b=b>>>a.f;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-G&&(g+=J);for(var g=Math.trunc(Math.abs(g))%J,h=d;f--&&h<e.size;h++)e.g(g,d,e.ea+d);c-=16384;b++;d=0}this.Y&&bd(this,this.Y,this.T,this.S,this.f,!this.w)}this.o=!1};
|
||||
$c.prototype.reset=function(){if(this.h&&!this.o){for(var a=this.s,b=this.f,c=this.g,d=b&16383,b=b>>>a.f;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-G&&(g+=J);for(var g=Math.trunc(Math.abs(g))%J,h=d;f--&&h<e.size;h++)e.j(g,d,e.ea+d);c-=16384;b++;d=0}this.Y&&bd(this,this.Y,this.T,this.S,this.f,!this.w)}this.o=!1};
|
||||
function bd(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)Bb(a.s,c+g,b[g]);g=!0}g&&(null==d&&(N(a.j),f=!1),null!=d&&(a=a.j,a.ua=d,M(a,d),f?a.i.F?a.i.B||vb(a):a.i.J=!0:a.w&&a.i.F?N(a)||a.v.i.reset||(a.w.g(),zb(a.v,-1)):!1===f&&N(a),!a.i.B&&a.ta&&a.ta.stop()));return g}Ea(function(){for(var a=A(document,z,"ram"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new $c(d);Qa(d,c)}});
|
||||
function cd(a){t.call(this,"SerialPort",a);this.h=a.upperCase;"string"==typeof this.h&&(this.h="true"==this.h);this.g=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=dd;b&&(void 0===c&&(c="Panel"),(c=x(c,this.id))&&(b=c.m[b])&&this.U(null,a,b))}this.a=this.l=null;this.exports={connect:this.Za,receiveData:this.Da,receiveStatus:this.wb,setConnection:this.zb}}l(cd,t);k=cd.prototype;
|
||||
k.U=function(a,b,c){var d=this;switch(b){case dd:return this.m[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?n.Ua:n.cb:46==c?b=n.Ua:a.ctrlKey&&c>=n.Ta&&c<=n.eb&&(b=c-(n.Ta-n.$a));b&&(a.preventDefault&&a.preventDefault(),d.Da(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==n.bb&&(b=n.ab);d.Da(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
||||
|
|
@ -179,8 +179,8 @@ c,c.onclick=function(){var a=gd(d,!0);if(a){var b=!!(d.a&&!d.o||d.D),c=yd(d,b);b
|
|||
function Ed(a,b){a.f=null;b=p(pa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ya(wd,b.data),a.f=b.data)}catch(d){q(d.message+" ("+c+")")}return a.f}function jd(a){var b=null;a.f&&(b=pa()+"/api/v1/user?req=load&user="+a.f+"&state="+Fd(a,"1.34.3"));return b}
|
||||
function Cd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Fd(a,"1.34.3");d.data=c;b=p(pa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.G("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.G(c),ya(wd,""),a.f=null)}}
|
||||
var rd="failsafe",md="validate",od="timestamp",zd="version",Ad="url",Bd="browser",wd="user",qd=-1,hd=0,pd=1,td=2,Dd=3;Ea(function(){for(var a=A(document,z+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=y(c),c=A(c,z,"computer"),e=0;e<c.length;e++){var f=c[e],g=y(f),g=new ed(g,d,!0);Qa(g,f);g.H&&kd(g,g.sa)}});r.show.push(function(){for(var a=A(document,z,"computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=x("Computer",c.id))&&c.N&&!c.i.F&&c.sa(qd)}});
|
||||
r.exit.push(function(){for(var a=A(document,z,"computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=x("Computer",c.id))&&c.i.F&&yd(c,!(!c.a||c.o),!0)}});function L(a,b,c){this.id=a.id;this.f="";this.a={};this.j=this.g=!1;this.key=Fd(a,b,c);ud(this,a.ib)}k=L.prototype;k.set=function(a,b){try{this.a[a]=b}catch(c){}};k.get=function(a){return this.a[a]||null};k.data=function(){return this.a};function id(a,b){return b?(a.f=b,a.j=!0,a.g=!1,!0):a.j?!0:va()&&(b=xa(a.key))?(a.f=b,a.j=!0):!1}
|
||||
function nd(a){var b=!0;if(!a.g)try{a.a=JSON.parse(a.f),a.g=!0}catch(c){q(c.message||c),b=!1}return b}function vd(a){var b=!0;if(va()){var c=JSON.stringify(a.a);ya(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.a?JSON.stringify(this.a):this.f};function ud(a,b){a.f="";a.a={};a.j=a.g=!1;b&&a.set("parms",b)}
|
||||
r.exit.push(function(){for(var a=A(document,z,"computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=x("Computer",c.id))&&c.i.F&&yd(c,!(!c.a||c.o),!0)}});function L(a,b,c){this.id=a.id;this.f="";this.a={};this.g=this.j=!1;this.key=Fd(a,b,c);ud(this,a.ib)}k=L.prototype;k.set=function(a,b){try{this.a[a]=b}catch(c){}};k.get=function(a){return this.a[a]||null};k.data=function(){return this.a};function id(a,b){return b?(a.f=b,a.g=!0,a.j=!1,!0):a.g?!0:va()&&(b=xa(a.key))?(a.f=b,a.g=!0):!1}
|
||||
function nd(a){var b=!0;if(!a.j)try{a.a=JSON.parse(a.f),a.j=!0}catch(c){q(c.message||c),b=!1}return b}function vd(a){var b=!0;if(va()){var c=JSON.stringify(a.a);ya(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.a?JSON.stringify(this.a):this.f};function ud(a,b){a.f="";a.a={};a.g=a.j=!1;b&&a.set("parms",b)}
|
||||
k.clear=function(a){ud(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Fd(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Gd=0;
|
||||
function Hd(a,b,c,d,e,f,g){f("Loading "+a+"...");p(a,null,!0,function(h,m,u){u?(m||(m="unable to load "+a+" ("+u+")"),g(m,null)):Id(m,a,b,c,d,e,f,g)})}
|
||||
function Id(a,b,c,d,e,f,g,h){function m(a,g){if(g)h(g,null);else{c&&(La(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
|
|
|
|||
Loading…
Reference in a new issue