Fixed Debugger memory editing and register handling, tidied up some flag operations, and removed more now-unnecessary address checks in cpustate
This commit is contained in:
parent
c7dbfc02be
commit
44a2ec9f03
9 changed files with 576 additions and 519 deletions
|
|
@ -39,18 +39,19 @@ if (NODE) {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Decoding starts at the bottom of this file, in op1170(). The basic decoding approach is to
|
* Decoding starts at the bottom of this file, in op1170(). The basic decoding approach is to
|
||||||
* dispatch on the top 4 bits of the opcode, and if further decoding is required, then dispatch on
|
* dispatch on the top 4 bits of the opcode, and if further decoding is required, the dispatched
|
||||||
* the next 4 bits, and so on (although some of the intermediate levels dispatch only on 2 bits).
|
* function will dispatch on the next 4 bits, and so on (although some of the intermediate levels
|
||||||
|
* dispatch only on 2 bits, which could also handled with a switch statement).
|
||||||
*
|
*
|
||||||
* Eventually, every opcode should end up either in an opXXX() function or opUndefined(). For
|
* Eventually, every opcode should end up either in an opXXX() function or opUndefined(). For
|
||||||
* opcodes that perform a simple read and/or write operation, the entire functionality is handled
|
* opcodes that perform a simple read and/or write operation, the entire operation is handled by
|
||||||
* by the opXXX() function. For opcodes that perform a more extensive read/modify/write operation
|
* the opXXX() function. For opcodes that perform a more extensive read/modify/write operation
|
||||||
* (also known as an update operation), those opXXX() functions usually rely on a corresponding
|
* (also known as an update operation), those opXXX() functions usually rely on a corresponding
|
||||||
* fnXXX() helper function.
|
* fnXXX() helper function.
|
||||||
*
|
*
|
||||||
* For example, opADD() passes the helper function fnADD() to the appropriate update method. This
|
* For example, opADD() passes the helper function fnADD() to the appropriate update method. This
|
||||||
* allows the update method to perform the entire read/modify/write operation, because the modification
|
* allows the update method to perform the entire read/modify/write operation, because the modification
|
||||||
* is handled by the helper function.
|
* is performed internally via the helper function.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -94,7 +95,7 @@ PDP11.fnADDB = function(src, dst)
|
||||||
PDP11.fnASL = function(src, dst)
|
PDP11.fnASL = function(src, dst)
|
||||||
{
|
{
|
||||||
var result = dst << 1;
|
var result = dst << 1;
|
||||||
this.updateLogFlags(result);
|
this.updateShiftFlags(result);
|
||||||
return result & 0xffff;
|
return result & 0xffff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -109,7 +110,7 @@ PDP11.fnASL = function(src, dst)
|
||||||
PDP11.fnASLB = function(src, dst)
|
PDP11.fnASLB = function(src, dst)
|
||||||
{
|
{
|
||||||
var result = dst << 1;
|
var result = dst << 1;
|
||||||
this.updateLogFlags(result << 8);
|
this.updateShiftFlags(result << 8);
|
||||||
return result & 0xff;
|
return result & 0xff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -124,7 +125,7 @@ PDP11.fnASLB = function(src, dst)
|
||||||
PDP11.fnASR = function(src, dst)
|
PDP11.fnASR = function(src, dst)
|
||||||
{
|
{
|
||||||
var result = (dst & 0x8000) | (dst >> 1) | (dst << 16);
|
var result = (dst & 0x8000) | (dst >> 1) | (dst << 16);
|
||||||
this.updateLogFlags(result);
|
this.updateShiftFlags(result);
|
||||||
return result & 0xffff;
|
return result & 0xffff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -139,7 +140,7 @@ PDP11.fnASR = function(src, dst)
|
||||||
PDP11.fnASRB = function(src, dst)
|
PDP11.fnASRB = function(src, dst)
|
||||||
{
|
{
|
||||||
var result = (dst & 0x800) | (dst >> 1) | (dst << 8);
|
var result = (dst & 0x800) | (dst >> 1) | (dst << 8);
|
||||||
this.updateLogFlags(result << 8);
|
this.updateShiftFlags(result << 8);
|
||||||
return result & 0xff;
|
return result & 0xff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -214,7 +215,7 @@ PDP11.fnBISB = function(src, dst)
|
||||||
PDP11.fnCOM = function(src, dst)
|
PDP11.fnCOM = function(src, dst)
|
||||||
{
|
{
|
||||||
var result = ~dst | 0x10000;
|
var result = ~dst | 0x10000;
|
||||||
this.updateNZCFlags(result);
|
this.updateAllFlags(result);
|
||||||
return result & 0xffff;
|
return result & 0xffff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -229,7 +230,7 @@ PDP11.fnCOM = function(src, dst)
|
||||||
PDP11.fnCOMB = function(src, dst)
|
PDP11.fnCOMB = function(src, dst)
|
||||||
{
|
{
|
||||||
var result = ~dst | 0x100;
|
var result = ~dst | 0x100;
|
||||||
this.updateNZCFlags(result << 8);
|
this.updateAllFlags(result << 8);
|
||||||
return result & 0xff;
|
return result & 0xff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -307,7 +308,7 @@ PDP11.fnNEG = function(src, dst)
|
||||||
/*
|
/*
|
||||||
* If the sign bit of both dst and result are set, the original value must have been 0x8000, triggering overflow.
|
* If the sign bit of both dst and result are set, the original value must have been 0x8000, triggering overflow.
|
||||||
*/
|
*/
|
||||||
this.updateNZCFlags(result, result & dst & 0x8000);
|
this.updateAllFlags(result, result & dst & 0x8000);
|
||||||
return result & 0xffff;
|
return result & 0xffff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -325,7 +326,7 @@ PDP11.fnNEGB = function(src, dst)
|
||||||
/*
|
/*
|
||||||
* If the sign bit of both dst and result are set, the original value must have been 0x80, which triggers overflow.
|
* If the sign bit of both dst and result are set, the original value must have been 0x80, which triggers overflow.
|
||||||
*/
|
*/
|
||||||
this.updateNZCFlags(result << 8, (result & dst & 0x80) << 8);
|
this.updateAllFlags(result << 8, (result & dst & 0x80) << 8);
|
||||||
return result & 0xff;
|
return result & 0xff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -340,7 +341,7 @@ PDP11.fnNEGB = function(src, dst)
|
||||||
PDP11.fnROL = function(src, dst)
|
PDP11.fnROL = function(src, dst)
|
||||||
{
|
{
|
||||||
var result = (dst << 1) | ((this.flagC >> 16) & 1);
|
var result = (dst << 1) | ((this.flagC >> 16) & 1);
|
||||||
this.updateLogFlags(result);
|
this.updateShiftFlags(result);
|
||||||
return result & 0xffff;
|
return result & 0xffff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -355,7 +356,7 @@ PDP11.fnROL = function(src, dst)
|
||||||
PDP11.fnROLB = function(src, dst)
|
PDP11.fnROLB = function(src, dst)
|
||||||
{
|
{
|
||||||
var result = (dst << 1) | ((this.flagC >> 16) & 1);
|
var result = (dst << 1) | ((this.flagC >> 16) & 1);
|
||||||
this.updateLogFlags(result << 8);
|
this.updateShiftFlags(result << 8);
|
||||||
return result & 0xff;
|
return result & 0xff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -370,7 +371,7 @@ PDP11.fnROLB = function(src, dst)
|
||||||
PDP11.fnROR = function(src, dst)
|
PDP11.fnROR = function(src, dst)
|
||||||
{
|
{
|
||||||
var result = (((this.flagC & 0x10000) | dst) >> 1) | (dst << 16);
|
var result = (((this.flagC & 0x10000) | dst) >> 1) | (dst << 16);
|
||||||
this.updateLogFlags(result);
|
this.updateShiftFlags(result);
|
||||||
return result & 0xffff;
|
return result & 0xffff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -385,7 +386,7 @@ PDP11.fnROR = function(src, dst)
|
||||||
PDP11.fnRORB = function(src, dst)
|
PDP11.fnRORB = function(src, dst)
|
||||||
{
|
{
|
||||||
var result = ((((this.flagC & 0x10000) >> 8) | dst) >> 1) | (dst << 8);
|
var result = ((((this.flagC & 0x10000) >> 8) | dst) >> 1) | (dst << 8);
|
||||||
this.updateLogFlags(result << 8);
|
this.updateShiftFlags(result << 8);
|
||||||
return result & 0xff;
|
return result & 0xff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -867,7 +868,7 @@ PDP11.opBVS = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opCLR = function(opCode)
|
PDP11.opCLR = function(opCode)
|
||||||
{
|
{
|
||||||
this.updateNZCFlags(this.writeWordByMode(opCode, 0));
|
this.updateAllFlags(this.writeWordByMode(opCode, 0));
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -879,7 +880,7 @@ PDP11.opCLR = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opCLRB = function(opCode)
|
PDP11.opCLRB = function(opCode)
|
||||||
{
|
{
|
||||||
this.updateNZCFlags(this.writeByteByMode(opCode, 0));
|
this.updateAllFlags(this.writeByteByMode(opCode, 0));
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1040,6 +1041,9 @@ PDP11.opDECB = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opDIV = function(opCode)
|
PDP11.opDIV = function(opCode)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
* TODO: Review and determine if flag updates can be encapsulated in an updateDivFlags() function.
|
||||||
|
*/
|
||||||
var src = this.readWordByMode(opCode);
|
var src = this.readWordByMode(opCode);
|
||||||
if (!src) {
|
if (!src) {
|
||||||
this.flagN = 0; // NZVC
|
this.flagN = 0; // NZVC
|
||||||
|
|
@ -1159,7 +1163,7 @@ PDP11.opJSR = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opMARK = function(opCode)
|
PDP11.opMARK = function(opCode)
|
||||||
{
|
{
|
||||||
var addr = (this.regsGen[7] + ((opCode & 0x3F) << 1)) & 0xffff;
|
var addr = (this.regsGen[PDP11.REG.PC] + ((opCode & 0x3F) << 1)) & 0xffff;
|
||||||
var src = this.readWordFromVirtual(addr | 0x10000);
|
var src = this.readWordFromVirtual(addr | 0x10000);
|
||||||
this.setPC(this.regsGen[5]);
|
this.setPC(this.regsGen[5]);
|
||||||
this.setSP(addr + 2);
|
this.setSP(addr + 2);
|
||||||
|
|
@ -1264,10 +1268,7 @@ PDP11.opMUL = function(opCode)
|
||||||
var result = ~~(src * dst);
|
var result = ~~(src * dst);
|
||||||
this.regsGen[reg] = (result >> 16) & 0xffff;
|
this.regsGen[reg] = (result >> 16) & 0xffff;
|
||||||
this.regsGen[reg | 1] = result & 0xffff;
|
this.regsGen[reg | 1] = result & 0xffff;
|
||||||
this.flagN = result >> 16;
|
this.updateMulFlags(result);
|
||||||
this.flagZ = this.flagN | result;
|
|
||||||
this.flagV = 0;
|
|
||||||
this.flagC = (result < -32768 || result > 32767)? 0x10000 : 0;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1511,7 +1512,7 @@ PDP11.opSOB = function(opCode)
|
||||||
{
|
{
|
||||||
var reg = (opCode & PDP11.SRCMODE.REG) >> PDP11.SRCMODE.SHIFT;
|
var reg = (opCode & PDP11.SRCMODE.REG) >> PDP11.SRCMODE.SHIFT;
|
||||||
if ((this.regsGen[reg] = ((this.regsGen[reg] - 1) & 0xffff))) {
|
if ((this.regsGen[reg] = ((this.regsGen[reg] - 1) & 0xffff))) {
|
||||||
this.setPC(this.regsGen[7] - ((opCode & 0x3F) << 1));
|
this.setPC(this.regsGen[PDP11.REG.PC] - ((opCode & 0x3F) << 1));
|
||||||
}
|
}
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
@ -1578,7 +1579,7 @@ PDP11.opTST = function(opCode)
|
||||||
{
|
{
|
||||||
var result = this.readWordByMode(opCode);
|
var result = this.readWordByMode(opCode);
|
||||||
this.assert(!(result & ~0xffff)); // assert that C flag will be clear
|
this.assert(!(result & ~0xffff)); // assert that C flag will be clear
|
||||||
this.updateNZCFlags(result);
|
this.updateAllFlags(result);
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1592,7 +1593,7 @@ PDP11.opTSTB = function(opCode)
|
||||||
{
|
{
|
||||||
var result = this.readByteByMode(opCode);
|
var result = this.readByteByMode(opCode);
|
||||||
this.assert(!(result & ~0xff)); // assert that C flag will be clear
|
this.assert(!(result & ~0xff)); // assert that C flag will be clear
|
||||||
this.updateNZCFlags(result << 8);
|
this.updateAllFlags(result << 8);
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1643,45 +1644,45 @@ PDP11.op0Xnn_1170 = function(opCode)
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* op0Ann_1170(opCode)
|
* op0AXn_1170(opCode)
|
||||||
*
|
*
|
||||||
* @this {CPUStatePDP11}
|
* @this {CPUStatePDP11}
|
||||||
* @param {number} opCode
|
* @param {number} opCode
|
||||||
*/
|
*/
|
||||||
PDP11.op0Ann_1170 = function(opCode)
|
PDP11.op0AXn_1170 = function(opCode)
|
||||||
{
|
{
|
||||||
PDP11.aOps0AXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
|
PDP11.aOps0AXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* op0Bnn_1170(opCode)
|
* op0BXn_1170(opCode)
|
||||||
*
|
*
|
||||||
* @this {CPUStatePDP11}
|
* @this {CPUStatePDP11}
|
||||||
* @param {number} opCode
|
* @param {number} opCode
|
||||||
*/
|
*/
|
||||||
PDP11.op0Bnn_1170 = function(opCode)
|
PDP11.op0BXn_1170 = function(opCode)
|
||||||
{
|
{
|
||||||
PDP11.aOps0BXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
|
PDP11.aOps0BXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* op0Cnn_1170(opCode)
|
* op0CXn_1170(opCode)
|
||||||
*
|
*
|
||||||
* @this {CPUStatePDP11}
|
* @this {CPUStatePDP11}
|
||||||
* @param {number} opCode
|
* @param {number} opCode
|
||||||
*/
|
*/
|
||||||
PDP11.op0Cnn_1170 = function(opCode)
|
PDP11.op0CXn_1170 = function(opCode)
|
||||||
{
|
{
|
||||||
PDP11.aOps0CXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
|
PDP11.aOps0CXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* op0Dnn_1170(opCode)
|
* op0DXn_1170(opCode)
|
||||||
*
|
*
|
||||||
* @this {CPUStatePDP11}
|
* @this {CPUStatePDP11}
|
||||||
* @param {number} opCode
|
* @param {number} opCode
|
||||||
*/
|
*/
|
||||||
PDP11.op0Dnn_1170 = function(opCode)
|
PDP11.op0DXn_1170 = function(opCode)
|
||||||
{
|
{
|
||||||
PDP11.aOps0DXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
|
PDP11.aOps0DXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
|
||||||
};
|
};
|
||||||
|
|
@ -1848,14 +1849,42 @@ PDP11.aOps0Xnn_1170 = [
|
||||||
PDP11.opBLE, // 0x07nn
|
PDP11.opBLE, // 0x07nn
|
||||||
PDP11.opJSR, // 0x08nn
|
PDP11.opJSR, // 0x08nn
|
||||||
PDP11.opJSR, // 0x09nn
|
PDP11.opJSR, // 0x09nn
|
||||||
PDP11.op0Ann_1170, // 0x0Ann
|
PDP11.op0AXn_1170, // 0x0Ann
|
||||||
PDP11.op0Bnn_1170, // 0x0Bnn
|
PDP11.op0BXn_1170, // 0x0Bnn
|
||||||
PDP11.op0Cnn_1170, // 0x0Cnn
|
PDP11.op0CXn_1170, // 0x0Cnn
|
||||||
PDP11.op0Dnn_1170, // 0x0Dnn
|
PDP11.op0DXn_1170, // 0x0Dnn
|
||||||
PDP11.opUndefined, // 0x0Enn
|
PDP11.opUndefined, // 0x0Enn
|
||||||
PDP11.opUndefined // 0x0Fnn
|
PDP11.opUndefined // 0x0Fnn
|
||||||
];
|
];
|
||||||
|
|
||||||
|
PDP11.aOps0AXn_1170 = [
|
||||||
|
PDP11.opCLR, // 0x0A0n
|
||||||
|
PDP11.opCOM, // 0x0A4n
|
||||||
|
PDP11.opINC, // 0x0A8n
|
||||||
|
PDP11.opDEC // 0x0ACn
|
||||||
|
];
|
||||||
|
|
||||||
|
PDP11.aOps0BXn_1170 = [
|
||||||
|
PDP11.opNEG, // 0x0B0n
|
||||||
|
PDP11.opADC, // 0x0B4n
|
||||||
|
PDP11.opSBC, // 0x0B8n
|
||||||
|
PDP11.opTST // 0x0BCn
|
||||||
|
];
|
||||||
|
|
||||||
|
PDP11.aOps0CXn_1170 = [
|
||||||
|
PDP11.opROR, // 0x0C0n
|
||||||
|
PDP11.opROL, // 0x0C4n
|
||||||
|
PDP11.opASR, // 0x0C8n
|
||||||
|
PDP11.opASL // 0x0CCn
|
||||||
|
];
|
||||||
|
|
||||||
|
PDP11.aOps0DXn_1170 = [
|
||||||
|
PDP11.opMARK, // 0x0D0n
|
||||||
|
PDP11.opMFPI, // 0x0D4n
|
||||||
|
PDP11.opMTPI, // 0x0D8n
|
||||||
|
PDP11.opSXT // 0x0DCn
|
||||||
|
];
|
||||||
|
|
||||||
PDP11.aOps00Xn_1170 = [
|
PDP11.aOps00Xn_1170 = [
|
||||||
PDP11.op000X_1170, // 0x000n
|
PDP11.op000X_1170, // 0x000n
|
||||||
PDP11.opUndefined, // 0x001n
|
PDP11.opUndefined, // 0x001n
|
||||||
|
|
@ -1914,13 +1943,13 @@ PDP11.aOps00BX_1170 = [
|
||||||
];
|
];
|
||||||
|
|
||||||
PDP11.aOps000X_1170 = [
|
PDP11.aOps000X_1170 = [
|
||||||
PDP11.opHALT, // 0x0000
|
PDP11.opHALT, // 0x0000 000000
|
||||||
PDP11.opWAIT, // 0x0001
|
PDP11.opWAIT, // 0x0001 000001
|
||||||
PDP11.opRTI, // 0x0002
|
PDP11.opRTI, // 0x0002 000002
|
||||||
PDP11.opBPT, // 0x0003
|
PDP11.opBPT, // 0x0003 000003
|
||||||
PDP11.opIOT, // 0x0004
|
PDP11.opIOT, // 0x0004 000004
|
||||||
PDP11.opRESET, // 0x0005
|
PDP11.opRESET, // 0x0005 000005
|
||||||
PDP11.opRTT, // 0x0006
|
PDP11.opRTT, // 0x0006 000006
|
||||||
PDP11.opUndefined, // 0x0007
|
PDP11.opUndefined, // 0x0007
|
||||||
PDP11.opUndefined, // 0x0008
|
PDP11.opUndefined, // 0x0008
|
||||||
PDP11.opUndefined, // 0x0009
|
PDP11.opUndefined, // 0x0009
|
||||||
|
|
@ -1970,34 +1999,6 @@ PDP11.aOps8Xnn_1170 = [
|
||||||
PDP11.opUndefined // 0x8Fnn
|
PDP11.opUndefined // 0x8Fnn
|
||||||
];
|
];
|
||||||
|
|
||||||
PDP11.aOps0AXn_1170 = [
|
|
||||||
PDP11.opCLR, // 0x0A0n
|
|
||||||
PDP11.opCOM, // 0x0A4n
|
|
||||||
PDP11.opINC, // 0x0A8n
|
|
||||||
PDP11.opDEC // 0x0ACn
|
|
||||||
];
|
|
||||||
|
|
||||||
PDP11.aOps0BXn_1170 = [
|
|
||||||
PDP11.opNEG, // 0x0B0n
|
|
||||||
PDP11.opADC, // 0x0B4n
|
|
||||||
PDP11.opSBC, // 0x0B8n
|
|
||||||
PDP11.opTST // 0x0BCn
|
|
||||||
];
|
|
||||||
|
|
||||||
PDP11.aOps0CXn_1170 = [
|
|
||||||
PDP11.opROR, // 0x0C0n
|
|
||||||
PDP11.opROL, // 0x0C4n
|
|
||||||
PDP11.opASR, // 0x0C8n
|
|
||||||
PDP11.opASL // 0x0CCn
|
|
||||||
];
|
|
||||||
|
|
||||||
PDP11.aOps0DXn_1170 = [
|
|
||||||
PDP11.opMARK, // 0x0D0n
|
|
||||||
PDP11.opMFPI, // 0x0D4n
|
|
||||||
PDP11.opMTPI, // 0x0D8n
|
|
||||||
PDP11.opSXT // 0x0DCn
|
|
||||||
];
|
|
||||||
|
|
||||||
PDP11.aOps8AXn_1170 = [
|
PDP11.aOps8AXn_1170 = [
|
||||||
PDP11.opCLRB, // 0x8A0n
|
PDP11.opCLRB, // 0x8A0n
|
||||||
PDP11.opCOMB, // 0x8A4n
|
PDP11.opCOMB, // 0x8A4n
|
||||||
|
|
|
||||||
|
|
@ -165,7 +165,6 @@ CPUStatePDP11.prototype.initRegs = function()
|
||||||
this.controlReg = [ // various control registers we don't really care about
|
this.controlReg = [ // various control registers we don't really care about
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
];
|
];
|
||||||
this.regOp = -1; // current opcode
|
|
||||||
this.opFlags = 0;
|
this.opFlags = 0;
|
||||||
this.cpuType = 70;
|
this.cpuType = 70;
|
||||||
this.trapPSW = -1;
|
this.trapPSW = -1;
|
||||||
|
|
@ -504,6 +503,19 @@ CPUStatePDP11.prototype.getPC = function()
|
||||||
return this.regsGen[7];
|
return this.regsGen[7];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* getPCWord()
|
||||||
|
*
|
||||||
|
* @this {CPUStatePDP11}
|
||||||
|
* @return {number}
|
||||||
|
*/
|
||||||
|
CPUStatePDP11.prototype.getPCWord = function()
|
||||||
|
{
|
||||||
|
var data = this.readWordFromVirtual(this.regsGen[7]);
|
||||||
|
this.regsGen[7] = (this.regsGen[7] + 2) & 0xffff;
|
||||||
|
return data;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setPC()
|
* setPC()
|
||||||
*
|
*
|
||||||
|
|
@ -728,28 +740,10 @@ CPUStatePDP11.prototype.setPSW = function(newPSW)
|
||||||
this.regPSW = newPSW;
|
this.regPSW = newPSW;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* updateNZCFlags(result, overflow)
|
|
||||||
*
|
|
||||||
* NOTE: The V flag is simply zeroed, it is not "updated" based on the result;
|
|
||||||
* however, a specific overflow value may be provided (used by NEG, for example).
|
|
||||||
*
|
|
||||||
* @this {CPUStatePDP11}
|
|
||||||
* @param {number} result
|
|
||||||
* @param {number} [overflow]
|
|
||||||
*/
|
|
||||||
CPUStatePDP11.prototype.updateNZCFlags = function(result, overflow)
|
|
||||||
{
|
|
||||||
if (!(this.opFlags & PDP11.OPFLAG.SKIP_FLAGS)) {
|
|
||||||
this.flagN = this.flagZ = this.flagC = result;
|
|
||||||
this.flagV = overflow || 0;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* updateNZFlags(result)
|
* updateNZFlags(result)
|
||||||
*
|
*
|
||||||
* NOTE: The V flag is simply zeroed, it is not "updated" based on the result.
|
* NOTE: The V flag is simply zeroed, and the C flag is unchanged.
|
||||||
*
|
*
|
||||||
* @this {CPUStatePDP11}
|
* @this {CPUStatePDP11}
|
||||||
* @param {number} result
|
* @param {number} result
|
||||||
|
|
@ -762,6 +756,23 @@ CPUStatePDP11.prototype.updateNZFlags = function(result)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* updateAllFlags(result, overflow)
|
||||||
|
*
|
||||||
|
* NOTE: The V flag is simply zeroed, unless a specific value is provided (eg, by NEG).
|
||||||
|
*
|
||||||
|
* @this {CPUStatePDP11}
|
||||||
|
* @param {number} result
|
||||||
|
* @param {number} [overflow]
|
||||||
|
*/
|
||||||
|
CPUStatePDP11.prototype.updateAllFlags = function(result, overflow)
|
||||||
|
{
|
||||||
|
if (!(this.opFlags & PDP11.OPFLAG.SKIP_FLAGS)) {
|
||||||
|
this.flagN = this.flagZ = this.flagC = result;
|
||||||
|
this.flagV = overflow || 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* updateAddFlags(result, src, dst)
|
* updateAddFlags(result, src, dst)
|
||||||
*
|
*
|
||||||
|
|
@ -815,12 +826,26 @@ CPUStatePDP11.prototype.updateIncFlags = function(result, dst)
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* updateLogFlags(result)
|
* updateMulFlags(result)
|
||||||
*
|
*
|
||||||
* @this {CPUStatePDP11}
|
* @this {CPUStatePDP11}
|
||||||
* @param {number} result
|
* @param {number} result
|
||||||
*/
|
*/
|
||||||
CPUStatePDP11.prototype.updateLogFlags = function(result)
|
CPUStatePDP11.prototype.updateMulFlags = function(result)
|
||||||
|
{
|
||||||
|
this.flagN = result >> 16;
|
||||||
|
this.flagZ = this.flagN | result;
|
||||||
|
this.flagV = 0;
|
||||||
|
this.flagC = (result < -32768 || result > 32767)? 0x10000 : 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* updateShiftFlags(result)
|
||||||
|
*
|
||||||
|
* @this {CPUStatePDP11}
|
||||||
|
* @param {number} result
|
||||||
|
*/
|
||||||
|
CPUStatePDP11.prototype.updateShiftFlags = function(result)
|
||||||
{
|
{
|
||||||
if (!(this.opFlags & PDP11.OPFLAG.SKIP_FLAGS)) {
|
if (!(this.opFlags & PDP11.OPFLAG.SKIP_FLAGS)) {
|
||||||
this.flagN = this.flagZ = this.flagC = result;
|
this.flagN = this.flagZ = this.flagC = result;
|
||||||
|
|
@ -913,7 +938,7 @@ CPUStatePDP11.prototype.trap = function(vector, reason)
|
||||||
|
|
||||||
if (DEBUG && this.dbg) {
|
if (DEBUG && this.dbg) {
|
||||||
if (this.messageEnabled(MessagesPDP11.TRAP)) {
|
if (this.messageEnabled(MessagesPDP11.TRAP)) {
|
||||||
this.printMessage("trap to vector " + this.dbg.toBase(vector, 0, true) + (reason? " (reason " + reason + ")" : ""), MessagesPDP11.TRAP, true);
|
this.printMessage("trap to vector " + this.dbg.toStrBase(vector, 0, true) + (reason? " (reason " + reason + ")" : ""), MessagesPDP11.TRAP, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1319,9 +1344,7 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
|
||||||
stepSize = 2;
|
stepSize = 2;
|
||||||
virtualAddress = this.regsGen[reg];
|
virtualAddress = this.regsGen[reg];
|
||||||
if (reg !== 7) virtualAddress |= addrDSpace;
|
if (reg !== 7) virtualAddress |= addrDSpace;
|
||||||
if ((virtualAddress = this.readWordFromVirtual(virtualAddress)) < 0) {
|
virtualAddress = this.readWordFromVirtual(virtualAddress);
|
||||||
return virtualAddress;
|
|
||||||
}
|
|
||||||
// if (reg === 7) LOG_ADDRESS(virtualAddress); // @#n not operational
|
// if (reg === 7) LOG_ADDRESS(virtualAddress); // @#n not operational
|
||||||
virtualAddress |= addrDSpace;
|
virtualAddress |= addrDSpace;
|
||||||
break;
|
break;
|
||||||
|
|
@ -1345,44 +1368,25 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
|
||||||
stepSize = -2;
|
stepSize = -2;
|
||||||
virtualAddress = (this.regsGen[reg] - 2) & 0xffff;
|
virtualAddress = (this.regsGen[reg] - 2) & 0xffff;
|
||||||
if (reg !== 7) virtualAddress |= addrDSpace;
|
if (reg !== 7) virtualAddress |= addrDSpace;
|
||||||
if ((virtualAddress = this.readWordFromVirtual(virtualAddress)) < 0) {
|
virtualAddress = this.readWordFromVirtual(virtualAddress) | addrDSpace;
|
||||||
return virtualAddress;
|
|
||||||
}
|
|
||||||
virtualAddress |= addrDSpace;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mode 6: d(R)
|
* Mode 6: d(R)
|
||||||
*/
|
*/
|
||||||
case 6:
|
case 6:
|
||||||
if ((virtualAddress = this.readWordFromVirtual(this.regsGen[7])) < 0) {
|
virtualAddress = this.getPCWord();
|
||||||
return virtualAddress;
|
virtualAddress = ((virtualAddress + this.regsGen[reg]) & 0xffff) | addrDSpace;
|
||||||
}
|
return virtualAddress;
|
||||||
this.regsGen[7] = (this.regsGen[7] + 2) & 0xffff;
|
|
||||||
if (reg < 7) {
|
|
||||||
virtualAddress = (virtualAddress + this.regsGen[reg]) & 0xffff;
|
|
||||||
} else {
|
|
||||||
virtualAddress = (virtualAddress + this.regsGen[reg]) & 0xffff;
|
|
||||||
}
|
|
||||||
return virtualAddress | addrDSpace;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mode 7: @d(R)
|
* Mode 7: @d(R)
|
||||||
*/
|
*/
|
||||||
case 7:
|
case 7:
|
||||||
if ((virtualAddress = this.readWordFromVirtual(this.regsGen[7])) < 0) {
|
virtualAddress = this.getPCWord();
|
||||||
return virtualAddress;
|
virtualAddress = (virtualAddress + this.regsGen[reg]) & 0xffff;
|
||||||
}
|
virtualAddress = this.readWordFromVirtual(virtualAddress | PDP11.ACCESS.DSPACE) | addrDSpace;
|
||||||
this.regsGen[7] = (this.regsGen[7] + 2) & 0xffff;
|
return virtualAddress;
|
||||||
if (reg < 7) {
|
|
||||||
virtualAddress = (virtualAddress + this.regsGen[reg]) & 0xffff;
|
|
||||||
} else {
|
|
||||||
virtualAddress = (virtualAddress + this.regsGen[reg]) & 0xffff;
|
|
||||||
}
|
|
||||||
if ((virtualAddress = this.readWordFromVirtual(virtualAddress | PDP11.ACCESS.DSPACE)) < 0) {
|
|
||||||
return virtualAddress;
|
|
||||||
}
|
|
||||||
return virtualAddress | addrDSpace;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.regsGen[reg] = (this.regsGen[reg] + stepSize) & 0xffff;
|
this.regsGen[reg] = (this.regsGen[reg] + stepSize) & 0xffff;
|
||||||
|
|
@ -1727,7 +1731,7 @@ CPUStatePDP11.prototype.stepCPU = function(nMinCycles)
|
||||||
this.checkInterruptQueue();
|
this.checkInterruptQueue();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(this.regMMR0 & 0xe000)) {
|
if (!(this.regMMR0 & PDP11.MMR0.ABORT)) {
|
||||||
this.regMMR1 = 0;
|
this.regMMR1 = 0;
|
||||||
this.regMMR2 = this.regsGen[7];
|
this.regMMR2 = this.regsGen[7];
|
||||||
}
|
}
|
||||||
|
|
@ -1738,22 +1742,7 @@ CPUStatePDP11.prototype.stepCPU = function(nMinCycles)
|
||||||
*/
|
*/
|
||||||
this.opFlags = this.regPSW & PDP11.PSW.TF;
|
this.opFlags = this.regPSW & PDP11.PSW.TF;
|
||||||
|
|
||||||
/*
|
this.decode(this.getPCWord());
|
||||||
* TODO: Determine (later) if this.regOp is a useful (internal) register to maintain;
|
|
||||||
* perhaps it would alleviate lots of opCode parameter-passing. In the meantime, we use
|
|
||||||
* it to detect if our new decode() function has processed (ie, "consumed") the opcode,
|
|
||||||
* by setting it to -1. If it has, then we can skip the older opcode decode logic below.
|
|
||||||
*/
|
|
||||||
var opCode = this.regOp = this.readWordFromVirtual(this.regsGen[7]);
|
|
||||||
if (opCode >= 0) this.regsGen[7] = (this.regsGen[7] + 2) & 0xffff;
|
|
||||||
|
|
||||||
this.decode(opCode);
|
|
||||||
|
|
||||||
if (DEBUG && this.regOp < 0) {
|
|
||||||
this.regsGen[7] = (this.regsGen[7] - 2) & 0xffff;
|
|
||||||
this.println("unimplemented");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
} while (this.nStepCycles > 0);
|
} while (this.nStepCycles > 0);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -777,7 +777,7 @@ if (DEBUGGER) {
|
||||||
*/
|
*/
|
||||||
DebuggerPDP11.prototype.toStrOffset = function(off)
|
DebuggerPDP11.prototype.toStrOffset = function(off)
|
||||||
{
|
{
|
||||||
return this.toBase(off);
|
return this.toStrBase(off);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -1036,9 +1036,82 @@ if (DEBUGGER) {
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* getRegIndex(sReg, off)
|
||||||
|
*
|
||||||
|
* @this {DebuggerPDP11}
|
||||||
|
* @param {string} sReg
|
||||||
|
* @param {number} [off] optional offset into sReg
|
||||||
|
* @return {number} register index, or -1 if not found
|
||||||
|
*/
|
||||||
|
DebuggerPDP11.prototype.getRegIndex = function(sReg, off)
|
||||||
|
{
|
||||||
|
var iReg = -1;
|
||||||
|
sReg = sReg.toUpperCase();
|
||||||
|
switch(sReg) {
|
||||||
|
case "SP":
|
||||||
|
iReg = 6;
|
||||||
|
break;
|
||||||
|
case "PC":
|
||||||
|
iReg = 7;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (sReg.charAt(0) == "R") {
|
||||||
|
iReg = +sReg.charAt(1);
|
||||||
|
if (iReg < 0 || iReg > 7) iReg = -1;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return iReg;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* getRegName(iReg)
|
||||||
|
*
|
||||||
|
* @this {DebuggerPDP11}
|
||||||
|
* @param {number} iReg
|
||||||
|
* @return {string}
|
||||||
|
*/
|
||||||
|
DebuggerPDP11.prototype.getRegName = function(iReg)
|
||||||
|
{
|
||||||
|
return (iReg < 6? ("R" + iReg) : (iReg == 6? "SP" : "PC"));
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* getRegValue(iReg)
|
||||||
|
*
|
||||||
|
* Register numbers 0-7 are reserved for cpu.regsGen, 8-15 are reserved for cpu.regsAlt,
|
||||||
|
* 16-19 for cpu.regsAltStack, and 20 for regPSW.
|
||||||
|
*
|
||||||
|
* @this {DebuggerPDP11}
|
||||||
|
* @param {number} iReg
|
||||||
|
* @return {number|undefined}
|
||||||
|
*/
|
||||||
|
DebuggerPDP11.prototype.getRegValue = function(iReg)
|
||||||
|
{
|
||||||
|
var value;
|
||||||
|
if (iReg >= 0) {
|
||||||
|
if (iReg < 8) {
|
||||||
|
value = this.cpu.regsGen[iReg];
|
||||||
|
}
|
||||||
|
else if (iReg < 16) {
|
||||||
|
value = this.cpu.regsAlt[iReg-8];
|
||||||
|
}
|
||||||
|
else if (iReg < 20) {
|
||||||
|
value = this.cpu.regsAltStack[iReg-16];
|
||||||
|
}
|
||||||
|
else if (iReg == DebuggerPDP11.REG_PSW) {
|
||||||
|
value = this.cpu.getPSW();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* replaceRegs(s)
|
* replaceRegs(s)
|
||||||
*
|
*
|
||||||
|
* TODO: Implement or eliminate.
|
||||||
|
*
|
||||||
* @this {DebuggerPDP11}
|
* @this {DebuggerPDP11}
|
||||||
* @param {string} s
|
* @param {string} s
|
||||||
* @return {string}
|
* @return {string}
|
||||||
|
|
@ -1929,7 +2002,7 @@ if (DEBUGGER) {
|
||||||
var sLine = this.toStrAddr(dbgAddrOp) + ":";
|
var sLine = this.toStrAddr(dbgAddrOp) + ":";
|
||||||
if (dbgAddrOp.addr !== PDP11.ADDR_INVALID && dbgAddr.addr !== PDP11.ADDR_INVALID) {
|
if (dbgAddrOp.addr !== PDP11.ADDR_INVALID && dbgAddr.addr !== PDP11.ADDR_INVALID) {
|
||||||
do {
|
do {
|
||||||
sOpcodes += ' ' + this.toBase(this.getWord(dbgAddrOp, 2));
|
sOpcodes += ' ' + this.toStrBase(this.getWord(dbgAddrOp, 2));
|
||||||
if (dbgAddrOp.addr == null) break;
|
if (dbgAddrOp.addr == null) break;
|
||||||
} while (dbgAddrOp.addr != dbgAddr.addr);
|
} while (dbgAddrOp.addr != dbgAddr.addr);
|
||||||
}
|
}
|
||||||
|
|
@ -1973,20 +2046,20 @@ if (DEBUGGER) {
|
||||||
if (opTypeOther == DebuggerPDP11.OP_BRANCH) {
|
if (opTypeOther == DebuggerPDP11.OP_BRANCH) {
|
||||||
disp = ((opCode & 0xff) << 24) >> 23;
|
disp = ((opCode & 0xff) << 24) >> 23;
|
||||||
addr = (dbgAddr.addr + disp) & 0xffff;
|
addr = (dbgAddr.addr + disp) & 0xffff;
|
||||||
sOperand = this.toBase(addr);
|
sOperand = this.toStrBase(addr);
|
||||||
}
|
}
|
||||||
else if (opTypeOther == DebuggerPDP11.OP_DSTOFF) {
|
else if (opTypeOther == DebuggerPDP11.OP_DSTOFF) {
|
||||||
disp = (opCode & 0x3f) << 1;
|
disp = (opCode & 0x3f) << 1;
|
||||||
addr = (dbgAddr.addr - disp) & 0xffff;
|
addr = (dbgAddr.addr - disp) & 0xffff;
|
||||||
sOperand = this.toBase(addr);
|
sOperand = this.toStrBase(addr);
|
||||||
}
|
}
|
||||||
else if (opTypeOther == DebuggerPDP11.OP_DSTNUM3) {
|
else if (opTypeOther == DebuggerPDP11.OP_DSTNUM3) {
|
||||||
disp = (opCode & 0x7);
|
disp = (opCode & 0x7);
|
||||||
sOperand = this.toBase(disp, 1);
|
sOperand = this.toStrBase(disp, 1);
|
||||||
}
|
}
|
||||||
else if (opTypeOther == DebuggerPDP11.OP_DSTNUM6) {
|
else if (opTypeOther == DebuggerPDP11.OP_DSTNUM6) {
|
||||||
disp = (opCode & 0x3f);
|
disp = (opCode & 0x3f);
|
||||||
sOperand = this.toBase(disp, 1);
|
sOperand = this.toStrBase(disp, 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/*
|
/*
|
||||||
|
|
@ -2022,7 +2095,7 @@ if (DEBUGGER) {
|
||||||
* When using R7 (aka PC), POST-INCREMENT is known as IMMEDIATE
|
* When using R7 (aka PC), POST-INCREMENT is known as IMMEDIATE
|
||||||
*/
|
*/
|
||||||
wIndex = this.getWord(dbgAddr, 2);
|
wIndex = this.getWord(dbgAddr, 2);
|
||||||
sOperand = '#' + this.toBase(wIndex, 0, true);
|
sOperand = '#' + this.toStrBase(wIndex, 0, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PDP11.OPMODE.POSTINCD: // 0x3: POST-INCREMENT DEFERRED
|
case PDP11.OPMODE.POSTINCD: // 0x3: POST-INCREMENT DEFERRED
|
||||||
|
|
@ -2033,7 +2106,7 @@ if (DEBUGGER) {
|
||||||
* When using R7 (aka PC), POST-INCREMENT DEFERRED is known as ABSOLUTE
|
* When using R7 (aka PC), POST-INCREMENT DEFERRED is known as ABSOLUTE
|
||||||
*/
|
*/
|
||||||
wIndex = this.getWord(dbgAddr, 2);
|
wIndex = this.getWord(dbgAddr, 2);
|
||||||
sOperand = "@#" + this.toBase(wIndex, 0, true);
|
sOperand = "@#" + this.toStrBase(wIndex, 0, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PDP11.OPMODE.PREDEC: // 0x4: PRE-DECREMENT
|
case PDP11.OPMODE.PREDEC: // 0x4: PRE-DECREMENT
|
||||||
|
|
@ -2044,22 +2117,22 @@ if (DEBUGGER) {
|
||||||
break;
|
break;
|
||||||
case PDP11.OPMODE.INDEX: // 0x6: INDEX
|
case PDP11.OPMODE.INDEX: // 0x6: INDEX
|
||||||
wIndex = this.getWord(dbgAddr, 2);
|
wIndex = this.getWord(dbgAddr, 2);
|
||||||
sOperand = this.toBase(wIndex, 0, true) + '(' + this.getRegName(reg) + ')';
|
sOperand = this.toStrBase(wIndex, 0, true) + '(' + this.getRegName(reg) + ')';
|
||||||
if (reg == 7) {
|
if (reg == 7) {
|
||||||
/*
|
/*
|
||||||
* When using R7 (aka PC), INDEX is known as RELATIVE
|
* When using R7 (aka PC), INDEX is known as RELATIVE
|
||||||
*/
|
*/
|
||||||
sOperand = [sOperand, this.toBase((wIndex + dbgAddr.addr) & 0xffff)];
|
sOperand = [sOperand, this.toStrBase((wIndex + dbgAddr.addr) & 0xffff)];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PDP11.OPMODE.INDEXD: // 0x7: INDEX DEFERRED
|
case PDP11.OPMODE.INDEXD: // 0x7: INDEX DEFERRED
|
||||||
wIndex = this.getWord(dbgAddr, 2);
|
wIndex = this.getWord(dbgAddr, 2);
|
||||||
sOperand = '@' + this.toBase(wIndex) + '(' + this.getRegName(reg) + ')';
|
sOperand = '@' + this.toStrBase(wIndex) + '(' + this.getRegName(reg) + ')';
|
||||||
if (reg == 7) {
|
if (reg == 7) {
|
||||||
/*
|
/*
|
||||||
* When using R7 (aka PC), INDEX DEFERRED is known as RELATIVE DEFERRED
|
* When using R7 (aka PC), INDEX DEFERRED is known as RELATIVE DEFERRED
|
||||||
*/
|
*/
|
||||||
sOperand = [sOperand, this.toBase((wIndex + dbgAddr.addr) & 0xffff)];
|
sOperand = [sOperand, this.toStrBase((wIndex + dbgAddr.addr) & 0xffff)];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -2122,18 +2195,6 @@ if (DEBUGGER) {
|
||||||
return sFlag.charAt(0) + (b? '1' : '0') + ' ';
|
return sFlag.charAt(0) + (b? '1' : '0') + ' ';
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* getRegName(iReg)
|
|
||||||
*
|
|
||||||
* @this {DebuggerPDP11}
|
|
||||||
* @param {number} iReg
|
|
||||||
* @return {string}
|
|
||||||
*/
|
|
||||||
DebuggerPDP11.prototype.getRegName = function(iReg)
|
|
||||||
{
|
|
||||||
return (iReg < 6? ("R" + iReg) : (iReg == 6? "SP" : "PC"));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* getRegOutput(iReg)
|
* getRegOutput(iReg)
|
||||||
*
|
*
|
||||||
|
|
@ -2148,16 +2209,16 @@ if (DEBUGGER) {
|
||||||
|
|
||||||
if (iReg < 8) {
|
if (iReg < 8) {
|
||||||
sReg = this.getRegName(iReg);
|
sReg = this.getRegName(iReg);
|
||||||
sReg += '=' + this.toBase(cpu.regsGen[iReg]);
|
sReg += '=' + this.toStrBase(cpu.regsGen[iReg]);
|
||||||
}
|
}
|
||||||
else if (iReg < 13) {
|
else if (iReg < 13) {
|
||||||
sReg = "A" + (iReg - 8) + '=' + this.toBase(cpu.regsAlt[iReg - 8]);
|
sReg = "A" + (iReg - 8) + '=' + this.toStrBase(cpu.regsAlt[iReg - 8]);
|
||||||
}
|
}
|
||||||
else if (iReg >= 16 && iReg < 20) {
|
else if (iReg >= 16 && iReg < 20) {
|
||||||
sReg = "S" + (iReg - 16) + '=' + this.toBase(cpu.regsAltStack[iReg - 16]);
|
sReg = "S" + (iReg - 16) + '=' + this.toStrBase(cpu.regsAltStack[iReg - 16]);
|
||||||
}
|
}
|
||||||
else if (iReg == DebuggerPDP11.REG_PSW) {
|
else if (iReg == DebuggerPDP11.REG_PSW) {
|
||||||
sReg = "PS=" + this.toBase(cpu.getPSW());
|
sReg = "PS=" + this.toStrBase(cpu.getPSW());
|
||||||
}
|
}
|
||||||
if (sReg) sReg += ' ';
|
if (sReg) sReg += ' ';
|
||||||
return sReg;
|
return sReg;
|
||||||
|
|
@ -2762,29 +2823,32 @@ if (DEBUGGER) {
|
||||||
*/
|
*/
|
||||||
DebuggerPDP11.prototype.doEdit = function(asArgs)
|
DebuggerPDP11.prototype.doEdit = function(asArgs)
|
||||||
{
|
{
|
||||||
var size = 1;
|
var size, mask;
|
||||||
var mask = 0xff;
|
var fnGet, fnSet;
|
||||||
var fnGet = this.getByte;
|
var sCmd = asArgs[0];
|
||||||
var fnSet = this.setByte;
|
var sAddr = asArgs[1];
|
||||||
if (asArgs[0] == "ew") {
|
if (sCmd == "eb") {
|
||||||
|
size = 1;
|
||||||
|
mask = 0xff;
|
||||||
|
fnGet = this.getByte;
|
||||||
|
fnSet = this.setByte;
|
||||||
|
}
|
||||||
|
else if (sCmd == "e" || sCmd == "ew") {
|
||||||
size = 2;
|
size = 2;
|
||||||
mask = 0xffff;
|
mask = 0xffff;
|
||||||
fnGet = this.getWord;
|
fnGet = this.getWord;
|
||||||
fnSet = this.setWord;
|
fnSet = this.setWord;
|
||||||
|
} else {
|
||||||
|
sAddr = null;
|
||||||
}
|
}
|
||||||
var cch = size << 1;
|
|
||||||
|
|
||||||
var sAddr = asArgs[1];
|
|
||||||
if (sAddr == null) {
|
if (sAddr == null) {
|
||||||
this.println("edit memory commands:");
|
this.println("edit memory commands:");
|
||||||
this.println("\teb [a] [...] edit bytes at address a");
|
this.println("\teb [a] [...] edit bytes at address a");
|
||||||
this.println("\tew [a] [...] edit words at address a");
|
this.println("\tew [a] [...] edit words at address a");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var dbgAddr = this.parseAddr(sAddr);
|
var dbgAddr = this.parseAddr(sAddr);
|
||||||
if (!dbgAddr) return;
|
if (!dbgAddr) return;
|
||||||
|
|
||||||
for (var i = 2; i < asArgs.length; i++) {
|
for (var i = 2; i < asArgs.length; i++) {
|
||||||
var vNew = this.parseExpression(asArgs[i]);
|
var vNew = this.parseExpression(asArgs[i]);
|
||||||
if (vNew === undefined) {
|
if (vNew === undefined) {
|
||||||
|
|
@ -2795,7 +2859,7 @@ if (DEBUGGER) {
|
||||||
this.println("warning: " + str.toHex(vNew) + " exceeds " + size + "-byte value");
|
this.println("warning: " + str.toHex(vNew) + " exceeds " + size + "-byte value");
|
||||||
}
|
}
|
||||||
var vOld = fnGet.call(this, dbgAddr);
|
var vOld = fnGet.call(this, dbgAddr);
|
||||||
this.println("changing " + this.toStrAddr(dbgAddr) + " from " + str.toHex(vOld, cch, true) + " to " + str.toHex(vNew, cch, true));
|
this.println("changing " + this.toStrAddr(dbgAddr) + " from " + this.toStrBase(vOld, size) + " to " + this.toStrBase(vNew, size));
|
||||||
fnSet.call(this, dbgAddr, vNew, size);
|
fnSet.call(this, dbgAddr, vNew, size);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -281,7 +281,8 @@ var PDP11 = {
|
||||||
TRAP_MMU: 0x1000, // trap: MMU
|
TRAP_MMU: 0x1000, // trap: MMU
|
||||||
ABORT_RO: 0x2000, // abort: read-only
|
ABORT_RO: 0x2000, // abort: read-only
|
||||||
ABORT_PL: 0x4000, // abort: page length
|
ABORT_PL: 0x4000, // abort: page length
|
||||||
ABORT_NR: 0x8000 // abort: non-resident
|
ABORT_NR: 0x8000, // abort: non-resident
|
||||||
|
ABORT: 0xE000
|
||||||
},
|
},
|
||||||
MMR1: { // general purpose auto-inc/auto-dec register
|
MMR1: { // general purpose auto-inc/auto-dec register
|
||||||
REG1_NUM: 0x0007,
|
REG1_NUM: 0x0007,
|
||||||
|
|
|
||||||
|
|
@ -659,7 +659,7 @@ if (DEBUGGER) {
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* toBase(n, nBytes, fStripLeadingZeros)
|
* toStrBase(n, nBytes, fStripLeadingZeros)
|
||||||
*
|
*
|
||||||
* Use this instead of str.toHex() or str.toOct() to convert bytes/words to the Debugger's default base.
|
* Use this instead of str.toHex() or str.toOct() to convert bytes/words to the Debugger's default base.
|
||||||
*
|
*
|
||||||
|
|
@ -669,7 +669,7 @@ if (DEBUGGER) {
|
||||||
* @param {boolean} [fStripLeadingZeros]
|
* @param {boolean} [fStripLeadingZeros]
|
||||||
* @return {string}
|
* @return {string}
|
||||||
*/
|
*/
|
||||||
Debugger.prototype.toBase = function(n, nBytes, fStripLeadingZeros)
|
Debugger.prototype.toStrBase = function(n, nBytes, fStripLeadingZeros)
|
||||||
{
|
{
|
||||||
var s;
|
var s;
|
||||||
switch(this.nBase) {
|
switch(this.nBase) {
|
||||||
|
|
|
||||||
|
|
@ -4,16 +4,16 @@ function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b
|
||||||
function u(a){window&&window.alert(a)}function v(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
function u(a){window&&window.alert(a)}function v(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||||
function ga(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);g=!0}}var w={init:[],show:[],exit:[]},ha=!1,ia=!1,ja=!0;function ka(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){w.init.push(a)}
|
function ga(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);g=!0}}var w={init:[],show:[],exit:[]},ha=!1,ia=!1,ja=!0;function ka(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){w.init.push(a)}
|
||||||
function la(a){if(ja)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){u(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function y(a){!ja&&a?(ja=!0,ha&&ma("init"),ia&&ma("show")):ja=a}function ma(a){w[a]&&la(w[a])}ka("onload",function(){ha=!0;la(w.init)});ka("onpageshow",function(){ia=!0;la(w.show)});ka(v("Opera")||v("iOS")?"onunload":"onbeforeunload",function(){la(w.exit)});
|
function la(a){if(ja)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){u(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function y(a){!ja&&a?(ja=!0,ha&&ma("init"),ia&&ma("show")):ja=a}function ma(a){w[a]&&la(w[a])}ka("onload",function(){ha=!0;la(w.init)});ka("onpageshow",function(){ia=!0;la(w.show)});ka(v("Opera")||v("iOS")?"onunload":"onbeforeunload",function(){la(w.exit)});
|
||||||
function z(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;b=this.id.indexOf(".");0>b?this.bb=this.id:(this.pb=this.id.substr(0,b),this.bb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,Ba:!1,eb:!1,M:!1,error:!1};this.ab=null;this.C.error=!1;this.H={};this.u=null;this.la=d||0;A.push(this)}var na=void 0,oa={};
|
function z(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;b=this.id.indexOf(".");0>b?this.bb=this.id:(this.pb=this.id.substr(0,b),this.bb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,Ja:!1,eb:!1,M:!1,error:!1};this.ab=null;this.C.error=!1;this.H={};this.u=null;this.la=d||0;A.push(this)}var na=void 0,oa={};
|
||||||
if(window){na||(na=window.location.search.substr(1));for(var pa,qa=/\+/g,ra=/([^&=]+)=?([^&]*)/g;pa=ra.exec(na);)oa[decodeURIComponent(pa[1].replace(qa," "))]=decodeURIComponent(pa[2].replace(qa," "))}function sa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
if(window){na||(na=window.location.search.substr(1));for(var pa,qa=/\+/g,ra=/([^&=]+)=?([^&]*)/g;pa=ra.exec(na);)oa[decodeURIComponent(pa[1].replace(qa," "))]=decodeURIComponent(pa[2].replace(qa," "))}function sa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||||
function B(a){var b;b||(b=z);a.prototype=sa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var D=window.PCjs.Machines||(window.PCjs.Machines={}),A=window.PCjs.Components||(window.PCjs.Components=[])}else D={},A=[];function ta(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<A.length;c++)if(A[c].id===a)return A[c]}return null}
|
function B(a){var b;b||(b=z);a.prototype=sa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var D=window.PCjs.Machines||(window.PCjs.Machines={}),A=window.PCjs.Components||(window.PCjs.Components=[])}else D={},A=[];function ta(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<A.length;c++)if(A[c].id===a)return A[c]}return null}
|
||||||
function E(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}function F(a,b){b=G(b.parentNode,"c1pjs-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var g=d[e];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var l=h.split(" "),k=0;k<l.length;k++)switch(h=l[k],h){case "c1pjs-binding":(h=E(g))&&h.binding&&a.T(h.type,h.binding,g,h.value),k=l.length}}}}
|
function E(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}function F(a,b){b=G(b.parentNode,"c1pjs-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var g=d[e];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var l=h.split(" "),k=0;k<l.length;k++)switch(h=l[k],h){case "c1pjs-binding":(h=E(g))&&h.binding&&a.T(h.type,h.binding,g,h.value),k=l.length}}}}
|
||||||
function G(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
function G(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||||
z.prototype={constructor:z,parent:null,toString:function(){return this.name?this.name:this.id||this.type},T:function(a,b,c){switch(b){case "clear":return this.H[b]||(this.H[b]=c,c.onclick=function(a){return function(){a.H.print&&(a.H.print.value="")}}(this)),!0;case "print":return this.H[b]||(this.gb=this.H[b]=c,c.value="",this.l=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
z.prototype={constructor:z,parent:null,toString:function(){return this.name?this.name:this.id||this.type},T:function(a,b,c){switch(b){case "clear":return this.H[b]||(this.H[b]=c,c.onclick=function(a){return function(){a.H.print&&(a.H.print.value="")}}(this)),!0;case "print":return this.H[b]||(this.gb=this.H[b]=c,c.value="",this.l=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||||
this.Ya=function(a){this.l(a,this.bb)}),!0;default:return!1}},log:function(){},l:function(){},status:function(a){this.l(this.bb+": "+a)},Ya:function(a,b,c){c=c||this.type;b||u((c?c+": ":"")+a)},X:function(a){this.C.error||(this.C.ready=!1!==a,this.C.ready&&(a=this.ab,this.ab=null,a&&a()))}};function H(a,b){if(a.u){a===a.u?b|=0:b=b||a.la;var c=a.u.la&b;return!!b&&c===b||!!(c&a.u.Ne)}return!1}
|
this.Ya=function(a){this.l(a,this.bb)}),!0;default:return!1}},log:function(){},l:function(){},status:function(a){this.l(this.bb+": "+a)},Ya:function(a,b,c){c=c||this.type;b||u((c?c+": ":"")+a)},X:function(a){this.C.error||(this.C.ready=!1!==a,this.C.ready&&(a=this.ab,this.ab=null,a&&a()))}};function H(a,b){if(a.u){a===a.u?b|=0:b=b||a.la;var c=a.u.la&b;return!!b&&c===b||!!(c&a.u.Ne)}return!1}
|
||||||
function I(a,b){if(a.C.eb)return a.C.Ba&&(a.C.Ba=!1),a.C.eb=!1;if(a.C.error)return a.l(a.toString()+" error"),!1;a.C.Ba=b;return a.C.Ba}function J(a,b){a.C.Ba&&(b?a.C.eb=!0:void 0===b&&a.l(a.toString()+" busy"));return a.C.Ba}function K(a,b){b&&(a.C.ready?b():a.ab=b);return a.C.ready}function ua(a,b){a.C.error=!0;a.Ya(b)}function va(a){z.call(this,"C1PPanel",a);this.C.M=!1}B(va);
|
function I(a,b){if(a.C.eb)return a.C.Ja=!1,a.C.eb=!1;if(a.C.error)return a.l(a.toString()+" error"),!1;a.C.Ja=b;return a.C.Ja}function J(a,b){a.C.Ja&&(b?a.C.eb=!0:void 0===b&&a.l(a.toString()+" busy"));return a.C.Ja}function K(a,b){b&&(a.C.ready?b():a.ab=b);return a.C.ready}function ua(a,b){a.C.error=!0;a.Ya(b)}function va(a){z.call(this,"C1PPanel",a);this.C.M=!1}B(va);
|
||||||
va.prototype.T=function(a,b,c,d){return this.J&&this.J.T(a,b,c,d)||this.s&&this.s.T(a,b,c,d)||this.b&&this.b.T(a,b,c,d)||this.u&&this.u.T(a,b,c,d)?!0:z.prototype.T.call(this,a,b,c,d)};va.prototype.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.s=L(b,"cpu"),this.b=L(b,"keyboard"),this.u=L(b,"debugger"),wa())};function wa(){for(var a=!1,b=G(document,"c1pjs","panel"),c=0;c<b.length;c++){var d=b[c],e=E(d),g=ta(e.id);g||(a=!0,g=new va(e));F(g,d);a&&g.X()}}x(wa);
|
va.prototype.T=function(a,b,c,d){return this.J&&this.J.T(a,b,c,d)||this.s&&this.s.T(a,b,c,d)||this.b&&this.b.T(a,b,c,d)||this.u&&this.u.T(a,b,c,d)?!0:z.prototype.T.call(this,a,b,c,d)};va.prototype.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.s=L(b,"cpu"),this.b=L(b,"keyboard"),this.u=L(b,"debugger"),wa())};function wa(){for(var a=!1,b=G(document,"c1pjs","panel"),c=0;c<b.length;c++){var d=b[c],e=E(d),g=ta(e.id);g||(a=!0,g=new va(e));F(g,d);a&&g.X()}}x(wa);
|
||||||
function xa(a){z.call(this,"C1PCPU",a);ya(this);this.C.M=!1;this.C.na=!1;this.Sa=a.autoStart;this.Qa=0;this.Lb=1;this.cb=2;this.speed=this.Qa;this.Ia=30;this.Ha=5;this.La=8;this.Ra=["Slow","Fast","Max"];this.ib=["(1Mhz)","(up to "+this.La+"Mhz)","(unlimited)"];this.P=[];this.K=[];this.oa=65536;this.pa=0;this.da=65536;this.ea=0;this.Pa=32;this.$a=2;this.Kb=1;this.o=[this.uc,this.Od,this.Fe,this.m,this.m,this.Qd,this.kc,this.m,this.Td,this.Nd,this.jc,this.m,this.m,this.Kd,this.hc,this.m,this.tc,this.Pd,
|
function xa(a){z.call(this,"C1PCPU",a);ya(this);this.C.M=!1;this.C.na=!1;this.Sa=a.autoStart;this.Qa=0;this.Lb=1;this.cb=2;this.speed=this.Qa;this.Ha=30;this.Ga=5;this.La=8;this.Ra=["Slow","Fast","Max"];this.ib=["(1Mhz)","(up to "+this.La+"Mhz)","(unlimited)"];this.P=[];this.K=[];this.oa=65536;this.pa=0;this.da=65536;this.ea=0;this.Pa=32;this.$a=2;this.Kb=1;this.o=[this.uc,this.Od,this.Fe,this.m,this.m,this.Qd,this.kc,this.m,this.Td,this.Nd,this.jc,this.m,this.m,this.Kd,this.hc,this.m,this.tc,this.Pd,
|
||||||
this.m,this.m,this.m,this.Rd,this.lc,this.m,this.xc,this.Md,this.m,this.m,this.m,this.Ld,this.ic,this.m,this.ld,this.dc,this.m,this.m,this.qc,this.fc,this.Zd,this.m,this.Vd,this.cc,this.Yd,this.m,this.pc,this.$b,this.Wd,this.m,this.rc,this.ec,this.m,this.m,this.m,this.gc,this.$d,this.m,this.pe,this.bc,this.m,this.m,this.m,this.ac,this.Xd,this.m,this.fe,this.Zc,this.m,this.m,this.m,this.ad,this.Hd,this.m,this.Sd,this.Yc,this.Gd,this.m,this.kd,this.Vc,this.Ed,this.m,this.vc,this.$c,this.m,this.m,this.m,
|
this.m,this.m,this.m,this.Rd,this.lc,this.m,this.xc,this.Md,this.m,this.m,this.m,this.Ld,this.ic,this.m,this.ld,this.dc,this.m,this.m,this.qc,this.fc,this.Zd,this.m,this.Vd,this.cc,this.Yd,this.m,this.pc,this.$b,this.Wd,this.m,this.rc,this.ec,this.m,this.m,this.m,this.gc,this.$d,this.m,this.pe,this.bc,this.m,this.m,this.m,this.ac,this.Xd,this.m,this.fe,this.Zc,this.m,this.m,this.m,this.ad,this.Hd,this.m,this.Sd,this.Yc,this.Gd,this.m,this.kd,this.Vc,this.Ed,this.m,this.vc,this.$c,this.m,this.m,this.m,
|
||||||
this.bd,this.Id,this.m,this.zc,this.Xc,this.m,this.m,this.m,this.Wc,this.Fd,this.m,this.ge,this.vb,this.m,this.m,this.m,this.xb,this.de,this.m,this.Ud,this.ub,this.ce,this.m,this.jd,this.rb,this.ae,this.m,this.wc,this.wb,this.m,this.m,this.m,this.yb,this.ee,this.m,this.re,this.tb,this.m,this.m,this.m,this.sb,this.be,this.m,this.m,this.ve,this.m,this.m,this.De,this.xe,this.Ae,this.m,this.Uc,this.m,this.Je,this.m,this.Ce,this.se,this.ze,this.m,this.mc,this.we,this.m,this.m,this.Ee,this.ye,this.Be,this.m,
|
this.bd,this.Id,this.m,this.zc,this.Xc,this.m,this.m,this.m,this.Wc,this.Fd,this.m,this.ge,this.vb,this.m,this.m,this.m,this.xb,this.de,this.m,this.Ud,this.ub,this.ce,this.m,this.jd,this.rb,this.ae,this.m,this.wc,this.wb,this.m,this.m,this.m,this.yb,this.ee,this.m,this.re,this.tb,this.m,this.m,this.m,this.sb,this.be,this.m,this.m,this.ve,this.m,this.m,this.De,this.xe,this.Ae,this.m,this.Uc,this.m,this.Je,this.m,this.Ce,this.se,this.ze,this.m,this.mc,this.we,this.m,this.m,this.Ee,this.ye,this.Be,this.m,
|
||||||
this.Le,this.ue,this.Ke,this.m,this.m,this.te,this.m,this.m,this.Bd,this.qd,this.wd,this.m,this.Cd,this.sd,this.xd,this.m,this.He,this.pd,this.Ge,this.m,this.zd,this.md,this.ud,this.m,this.nc,this.rd,this.m,this.m,this.Dd,this.td,this.yd,this.m,this.Ac,this.od,this.Ie,this.m,this.Ad,this.nd,this.vd,this.m,this.Nc,this.Fc,this.m,this.m,this.Oc,this.Hc,this.Rc,this.m,this.hd,this.Ec,this.Tc,this.m,this.Mc,this.Bc,this.Pc,this.m,this.sc,this.Gc,this.m,this.m,this.m,this.Ic,this.Sc,this.m,this.yc,this.Dc,
|
this.Le,this.ue,this.Ke,this.m,this.m,this.te,this.m,this.m,this.Bd,this.qd,this.wd,this.m,this.Cd,this.sd,this.xd,this.m,this.He,this.pd,this.Ge,this.m,this.zd,this.md,this.ud,this.m,this.nc,this.rd,this.m,this.m,this.Dd,this.td,this.yd,this.m,this.Ac,this.od,this.Ie,this.m,this.Ad,this.nd,this.vd,this.m,this.Nc,this.Fc,this.m,this.m,this.Oc,this.Hc,this.Rc,this.m,this.hd,this.Ec,this.Tc,this.m,this.Mc,this.Bc,this.Pc,this.m,this.sc,this.Gc,this.m,this.m,this.m,this.Ic,this.Sc,this.m,this.yc,this.Dc,
|
||||||
|
|
@ -21,11 +21,11 @@ this.m,this.m,this.m,this.Cc,this.Qc,this.m,this.Kc,this.Db,this.m,this.m,this.L
|
||||||
5,0,4,2,2,0,5,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,0,6,0,0,3,3,3,0,2,0,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,0,4,0,0,2,6,2,0,3,3,3,0,2,2,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,4,4,4,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0]}B(xa);f=xa.prototype;
|
5,0,4,2,2,0,5,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,0,6,0,0,3,3,3,0,2,0,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,0,4,0,0,2,6,2,0,3,3,3,0,2,2,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,4,4,4,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0]}B(xa);f=xa.prototype;
|
||||||
f.reset=function(a){this.C.na&&this.aa();ya(this);this.f=this.a[65532]|this.a[65533]<<8;this.C.error=!1;this.u?this.u.reset():a&&(!0===this.Sa||null===this.Sa&&!this.u&&void 0===this.H.run)&&this.va()};
|
f.reset=function(a){this.C.na&&this.aa();ya(this);this.f=this.a[65532]|this.a[65533]<<8;this.C.error=!1;this.u?this.u.reset():a&&(!0===this.Sa||null===this.Sa&&!this.u&&void 0===this.H.run)&&this.va()};
|
||||||
f.T=function(a,b,c){a=!1;switch(b){case "run":this.H[b]=c;c.onclick=function(a){return function(){a.C.na?a.aa():a.va()}}(this);a=!0;break;case "A":case "X":case "Y":case "S":case "PC":case "C":case "Z":case "I":case "D":case "B":case "V":case "N":case "speed":this.H[b]=c;a=!0;break;case "setSpeed":this.H[b]=c,c.onclick=function(a){return function(){M(a,2<=a.speed?a.Qa:a.speed+1,!0)}}(this),a=!0}return a};
|
f.T=function(a,b,c){a=!1;switch(b){case "run":this.H[b]=c;c.onclick=function(a){return function(){a.C.na?a.aa():a.va()}}(this);a=!0;break;case "A":case "X":case "Y":case "S":case "PC":case "C":case "Z":case "I":case "D":case "B":case "V":case "N":case "speed":this.H[b]=c;a=!0;break;case "setSpeed":this.H[b]=c,c.onclick=function(a){return function(){M(a,2<=a.speed?a.Qa:a.speed+1,!0)}}(this),a=!0}return a};
|
||||||
f.ba=function(a,b,c){this.a=a;this.N=b;this.qa=c-b+1;this.Fa=this.N+this.qa;this.N?u("unsupported CPU address buffer offset ("+this.N+")"):this.X()};f.ia=function(a,b){if(a&&!this.C.M){this.J=b;(this.u=L(b,"debugger"))&&this.u.Qb();if(a=L(b,"video"))this.hb=function(a){return function(){za(a)}}(a),this.ca=function(a){return function(){a.ca()}}(a);this.C.M=!0;this.reset(!0);this.update()}};function Aa(a,b,c,d,e){0>Ba(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa<c&&(a.pa=c),a.P.push([b,c,d,e]))}
|
f.ba=function(a,b,c){this.a=a;this.N=b;this.qa=c-b+1;this.Ea=this.N+this.qa;this.N?u("unsupported CPU address buffer offset ("+this.N+")"):this.X()};f.ia=function(a,b){if(a&&!this.C.M){this.J=b;(this.u=L(b,"debugger"))&&this.u.Qb();if(a=L(b,"video"))this.hb=function(a){return function(){za(a)}}(a),this.ca=function(a){return function(){a.ca()}}(a);this.C.M=!0;this.reset(!0);this.update()}};function Aa(a,b,c,d,e){0>Ba(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa<c&&(a.pa=c),a.P.push([b,c,d,e]))}
|
||||||
function Ca(a,b,c){for(var d=0;d<a.P.length;d++)b>=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Ba(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea<c&&(a.ea=c),a.K.push([b,c,d,e]))}function Da(a,b,c){for(var d=0;d<a.K.length;d++)b>=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Ba(a,b,c,d,e){for(var g=0;g<a.length;g++)if(a[g][0]==b&&a[g][1]==c&&a[g][2]==d&&a[g][3]==e)return g;return-1}
|
function Ca(a,b,c){for(var d=0;d<a.P.length;d++)b>=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Ba(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea<c&&(a.ea=c),a.K.push([b,c,d,e]))}function Da(a,b,c){for(var d=0;d<a.K.length;d++)b>=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Ba(a,b,c,d,e){for(var g=0;g<a.length;g++)if(a[g][0]==b&&a[g][1]==c&&a[g][2]==d&&a[g][3]==e)return g;return-1}
|
||||||
function M(a,b,c){void 0!==b&&(a.speed=b,a.H.setSpeed&&(a.H.setSpeed.innerHTML=a.Ra[2<=b?0:b+1]),a.l("running at "+a.Ra[b].toLowerCase()+" speed "+a.ib[b]),c&&a.ca());a.U=0;a.Na=ea();Ea(a)}f.hb=function(){};f.ca=function(){};function O(a,b,c,d){void 0!==a.H[b]&&(void 0===d&&(d=1),c="0000"+c.toString(16),a.H[b].innerHTML=c.slice(c.length-d).toUpperCase())}
|
function M(a,b,c){void 0!==b&&(a.speed=b,a.H.setSpeed&&(a.H.setSpeed.innerHTML=a.Ra[2<=b?0:b+1]),a.l("running at "+a.Ra[b].toLowerCase()+" speed "+a.ib[b]),c&&a.ca());a.U=0;a.Na=ea();Ea(a)}f.hb=function(){};f.ca=function(){};function O(a,b,c,d){void 0!==a.H[b]&&(void 0===d&&(d=1),c="0000"+c.toString(16),a.H[b].innerHTML=c.slice(c.length-d).toUpperCase())}
|
||||||
function Fa(a){O(a,"A",a.h,2);O(a,"X",a.w,2);O(a,"Y",a.F,2);var b=Ga(a);O(a,"C",b&1?1:0);O(a,"Z",b&2?1:0);O(a,"I",b&4?1:0);O(a,"D",b&8?1:0);O(a,"B",b&16?1:0);O(a,"V",b&64?1:0);O(a,"N",b&128?1:0);O(a,"S",a.G,4);O(a,"PC",a.f,4);a.H.speed&&a.ta&&(a.H.speed.innerHTML=a.ta.toFixed(1)+"Mhz")}
|
function Fa(a){O(a,"A",a.h,2);O(a,"X",a.w,2);O(a,"Y",a.F,2);var b=Ga(a);O(a,"C",b&1?1:0);O(a,"Z",b&2?1:0);O(a,"I",b&4?1:0);O(a,"D",b&8?1:0);O(a,"B",b&16?1:0);O(a,"V",b&64?1:0);O(a,"N",b&128?1:0);O(a,"S",a.G,4);O(a,"PC",a.f,4);a.H.speed&&a.ta&&(a.H.speed.innerHTML=a.ta.toFixed(1)+"Mhz")}
|
||||||
function Ea(a,b){var c=30;c<a.Ia&&(c=a.Ia);c<a.Ha&&(c=a.Ha);var d=1;b&&a.speed>a.Qa&&a.ta&&(d=a.ta);d>a.La&&2>a.speed&&(d=a.La);a.jb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Wa=Math.floor(1E6/a.Ia*d);a.Va=Math.floor(1E6/a.Ha*d);b||(a.R=a.ra,a.Z=a.Wa,a.V=a.Va);a.Aa=0}
|
function Ea(a,b){var c=30;c<a.Ha&&(c=a.Ha);c<a.Ga&&(c=a.Ga);var d=1;b&&a.speed>a.Qa&&a.ta&&(d=a.ta);d>a.La&&2>a.speed&&(d=a.La);a.jb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Wa=Math.floor(1E6/a.Ha*d);a.Va=Math.floor(1E6/a.Ga*d);b||(a.R=a.ra,a.Z=a.Wa,a.V=a.Va);a.Aa=0}
|
||||||
function Ha(a){var b=ea(),c=a.jb;a.$&&(c=Math.round(c*a.$/a.ra));c-=b-a.kb;if(b-=a.Na)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.La&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c}
|
function Ha(a){var b=ea(),c=a.jb;a.$&&(c=Math.round(c*a.$/a.ra));c-=b-a.kb;if(b-=a.Na)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.La&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c}
|
||||||
f.va=function(){if(I(this,!0)){this.C.na||(M(this),this.J&&this.J.start(),this.C.na=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ea(this,!0);this.$=0;this.kb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Wa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Va,Fa(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.na)}catch(b){this.aa();this.update();I(this,!1);ua(this,
|
f.va=function(){if(I(this,!0)){this.C.na||(M(this),this.J&&this.J.start(),this.C.na=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ea(this,!0);this.$=0;this.kb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Wa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Va,Fa(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.na)}catch(b){this.aa();this.update();I(this,!1);ua(this,
|
||||||
b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ha(this))}else this.update(),this.J&&this.J.stop(this.Na,this.U)};
|
b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ha(this))}else this.update(),this.J&&this.J.stop(this.Na,this.U)};
|
||||||
|
|
@ -81,11 +81,11 @@ R.prototype.ba=function(a,b,c,d){this.a=a;this.v=b;a=c-b+1;this.g||(this.g=a);a!
|
||||||
function Na(a,b,c,d){if(d)a.l('Error loading ROM "'+b+'" ('+d+")");else{if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),g=e.bytes;g?a.b=g:a.b=e}catch(h){a.l('Error processing ROM "'+b+'": '+h.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),c=0;c<b.length;c++)a.b[c]=parseInt(b[c],16);Oa(a)}}
|
function Na(a,b,c,d){if(d)a.l('Error loading ROM "'+b+'" ('+d+")");else{if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),g=e.bytes;g?a.b=g:a.b=e}catch(h){a.l('Error processing ROM "'+b+'": '+h.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),c=0;c<b.length;c++)a.b[c]=parseInt(b[c],16);Oa(a)}}
|
||||||
function Oa(a){if(!K(a))if(!a.o)a.X();else if(a.b&&a.a){var b=a.b.length;if(b!=a.g)ua(a,"ROM image size ("+r(b)+") does not match component-specified size ("+r(a.g)+")");else{for(var c=0;c<b;c++)a.a[a.v+c]=a.b[c];a.X()}}}x(function(){for(var a=G(document,"c1pjs","rom"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new R(d);F(d,c)}});function Pa(a){z.call(this,"C1PRAM",a)}B(Pa);Pa.prototype.ba=function(a){this.a=a;this.X()};
|
function Oa(a){if(!K(a))if(!a.o)a.X();else if(a.b&&a.a){var b=a.b.length;if(b!=a.g)ua(a,"ROM image size ("+r(b)+") does not match component-specified size ("+r(a.g)+")");else{for(var c=0;c<b;c++)a.a[a.v+c]=a.b[c];a.X()}}}x(function(){for(var a=G(document,"c1pjs","rom"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new R(d);F(d,c)}});function Pa(a){z.call(this,"C1PRAM",a)}B(Pa);Pa.prototype.ba=function(a){this.a=a;this.X()};
|
||||||
x(function(){for(var a=G(document,"c1pjs","ram"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Pa(d);F(d,c)}});
|
x(function(){for(var a=G(document,"c1pjs","ram"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Pa(d);F(d,c)}});
|
||||||
function Qa(a){z.call(this,"C1PKeyboard",a);this.C.M=!1;this.Ha=a.model;this.da=8;this.fb=10;this.Wa=13;this.ea=27;this.Na=this.da;this.Va=this.fb;this.Ia=this.Wa;this.$=this.ea;this.L=241;this.Z=224;this.Ra=3;this.Sa=15;this.K=1;this.D={};this.D["break"]=this.Z;this.D.esc=this.$;this.D["ctrl-c"]=this.Ra;this.D["ctrl-o"]=this.Sa;this.b=[];this.b[49]=30464;this.b[33]=30704;this.b[50]=30208;this.b[34]=30448;this.b[51]=29952;this.b[35]=30192;this.b[52]=29696;this.b[36]=29936;this.b[53]=29440;this.b[37]=
|
function Qa(a){z.call(this,"C1PKeyboard",a);this.C.M=!1;this.Ga=a.model;this.da=8;this.fb=10;this.Wa=13;this.ea=27;this.Na=this.da;this.Va=this.fb;this.Ha=this.Wa;this.$=this.ea;this.L=241;this.Z=224;this.Ra=3;this.Sa=15;this.K=1;this.D={};this.D["break"]=this.Z;this.D.esc=this.$;this.D["ctrl-c"]=this.Ra;this.D["ctrl-o"]=this.Sa;this.b=[];this.b[49]=30464;this.b[33]=30704;this.b[50]=30208;this.b[34]=30448;this.b[51]=29952;this.b[35]=30192;this.b[52]=29696;this.b[36]=29936;this.b[53]=29440;this.b[37]=
|
||||||
29680;this.b[54]=29184;this.b[38]=29424;this.b[55]=28928;this.b[39]=29168;this.b[56]=26368;this.b[40]=26608;this.b[57]=26112;this.b[41]=26352;this.b[48]=25856;this.b[58]=25600;this.b[42]=25840;this.b[45]=25344;this.b[61]=25584;this.b[46]=22272;this.b[62]=22512;this.b[108]=22016;this.b[76]=22256;this.b[92]=22256;this.b[111]=21760;this.b[79]=22E3;this.b[this.Na]=22E3;this.b[this.Va]=21504;this.b[this.Ia]=21248;this.b[119]=18176;this.b[87]=18416;this.b[101]=17920;this.b[69]=18160;this.b[114]=17664;this.b[82]=
|
29680;this.b[54]=29184;this.b[38]=29424;this.b[55]=28928;this.b[39]=29168;this.b[56]=26368;this.b[40]=26608;this.b[57]=26112;this.b[41]=26352;this.b[48]=25856;this.b[58]=25600;this.b[42]=25840;this.b[45]=25344;this.b[61]=25584;this.b[46]=22272;this.b[62]=22512;this.b[108]=22016;this.b[76]=22256;this.b[92]=22256;this.b[111]=21760;this.b[79]=22E3;this.b[this.Na]=22E3;this.b[this.Va]=21504;this.b[this.Ha]=21248;this.b[119]=18176;this.b[87]=18416;this.b[101]=17920;this.b[69]=18160;this.b[114]=17664;this.b[82]=
|
||||||
17904;this.b[116]=17408;this.b[84]=17648;this.b[121]=17152;this.b[89]=17392;this.b[117]=16896;this.b[85]=17136;this.b[105]=16640;this.b[73]=16880;this.b[115]=14080;this.b[83]=14320;this.b[100]=13824;this.b[68]=14064;this.b[102]=13568;this.b[70]=13808;this.b[103]=13312;this.b[71]=13552;this.b[104]=13056;this.b[72]=13296;this.b[106]=12800;this.b[74]=13040;this.b[107]=12544;this.b[75]=12784;this.b[91]=12784;this.b[120]=9984;this.b[88]=10224;this.b[99]=9728;this.b[67]=9968;this.b[118]=9472;this.b[86]=
|
17904;this.b[116]=17408;this.b[84]=17648;this.b[121]=17152;this.b[89]=17392;this.b[117]=16896;this.b[85]=17136;this.b[105]=16640;this.b[73]=16880;this.b[115]=14080;this.b[83]=14320;this.b[100]=13824;this.b[68]=14064;this.b[102]=13568;this.b[70]=13808;this.b[103]=13312;this.b[71]=13552;this.b[104]=13056;this.b[72]=13296;this.b[106]=12800;this.b[74]=13040;this.b[107]=12544;this.b[75]=12784;this.b[91]=12784;this.b[120]=9984;this.b[88]=10224;this.b[99]=9728;this.b[67]=9968;this.b[118]=9472;this.b[86]=
|
||||||
9712;this.b[98]=9216;this.b[66]=9456;this.b[110]=8960;this.b[78]=9200;this.b[94]=9200;this.b[109]=8704;this.b[77]=8944;this.b[93]=8944;this.b[44]=8448;this.b[60]=8688;this.b[113]=5888;this.b[81]=6128;this.b[97]=5632;this.b[65]=5872;this.b[122]=5376;this.b[90]=5616;this.b[32]=5120;this.b[47]=4864;this.b[63]=5104;this.b[59]=4608;this.b[43]=4848;this.b[112]=4352;this.b[80]=4592;this.b[64]=4592;this.b[this.L]=1536;this.b[this.$]=1280;this.b[240]=512;this.b[242]=256;this.b[244]=0;this.reset()}B(Qa);
|
9712;this.b[98]=9216;this.b[66]=9456;this.b[110]=8960;this.b[78]=9200;this.b[94]=9200;this.b[109]=8704;this.b[77]=8944;this.b[93]=8944;this.b[44]=8448;this.b[60]=8688;this.b[113]=5888;this.b[81]=6128;this.b[97]=5632;this.b[65]=5872;this.b[122]=5376;this.b[90]=5616;this.b[32]=5120;this.b[47]=4864;this.b[63]=5104;this.b[59]=4608;this.b[43]=4848;this.b[112]=4352;this.b[80]=4592;this.b[64]=4592;this.b[this.L]=1536;this.b[this.$]=1280;this.b[240]=512;this.b[242]=256;this.b[244]=0;this.reset()}B(Qa);
|
||||||
f=Qa.prototype;f.reset=function(){this.Ma(this.Ha);this.g=this.K;this.oa=0;this.o=[this.K,0,0,0,0,0,0,0];this.P=[];if(this.v)for(var a in this.v)isNaN(+a)||this.v[a]&&clearTimeout(this.v[a]);this.v=[];this.Aa=this.A=0;this.pa=-1;this.ja=this.o;this.qa=this.V=0;this.B=""};
|
f=Qa.prototype;f.reset=function(){this.Ma(this.Ga);this.g=this.K;this.oa=0;this.o=[this.K,0,0,0,0,0,0,0];this.P=[];if(this.v)for(var a in this.v)isNaN(+a)||this.v[a]&&clearTimeout(this.v[a]);this.v=[];this.Aa=this.A=0;this.pa=-1;this.ja=this.o;this.qa=this.V=0;this.B=""};
|
||||||
f.T=function(a,b,c){if(void 0===this.H[b])switch(b){case "keyDown":return this.H[b]=c,c.onkeydown=function(a){return function(b){return Ra(a,b,!0)}}(this),!0;case "keyPress":return this.H[b]=c,c.onkeypress=function(a){return function(b){var c=!0;b=b||window.event;b=b.which||b.keyCode;a.B="";a.g&8?a.g&=-9:c=!Sa(a,b);a.u&&H(a.u,a.u.za)&&a.u.message("keyPress("+q(b)+"): "+(c?"pass":"consume"));return c}}(this),!0;case "keyUp":return this.H[b]=c,c.onkeyup=function(a){return function(b){return Ra(a,b,
|
f.T=function(a,b,c){if(void 0===this.H[b])switch(b){case "keyDown":return this.H[b]=c,c.onkeydown=function(a){return function(b){return Ra(a,b,!0)}}(this),!0;case "keyPress":return this.H[b]=c,c.onkeypress=function(a){return function(b){var c=!0;b=b||window.event;b=b.which||b.keyCode;a.B="";a.g&8?a.g&=-9:c=!Sa(a,b);a.u&&H(a.u,a.u.za)&&a.u.message("keyPress("+q(b)+"): "+(c?"pass":"consume"));return c}}(this),!0;case "keyUp":return this.H[b]=c,c.onkeyup=function(a){return function(b){return Ra(a,b,
|
||||||
!1)}}(this),!0;case "break":return this.H[b]=c,c.onclick=function(a){return function(){a.J&&a.J.reset(!0)}}(this),!0;default:if(void 0!==this.D[b])return this.H[b]=c,c.onclick=function(a,b,c){return function(){a.s&&a.s.ca();return!Sa(a,c)}}(this,b,this.D[b]),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.ra=b;this.ib=c-b+1;this.kb=this.ra+this.ib;d&&(this.s=d,N(d,b,c,this,this.W));this.X()};f.Ma=function(a){this.N=a;this.R=255;600!=this.N&&(this.R=0,this.l("updated keyboard model: "+this.N))};
|
!1)}}(this),!0;case "break":return this.H[b]=c,c.onclick=function(a){return function(){a.J&&a.J.reset(!0)}}(this),!0;default:if(void 0!==this.D[b])return this.H[b]=c,c.onclick=function(a,b,c){return function(){a.s&&a.s.ca();return!Sa(a,c)}}(this,b,this.D[b]),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.ra=b;this.ib=c-b+1;this.kb=this.ra+this.ib;d&&(this.s=d,N(d,b,c,this,this.W));this.X()};f.Ma=function(a){this.N=a;this.R=255;600!=this.N&&(this.R=0,this.l("updated keyboard model: "+this.N))};
|
||||||
f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.u=L(b,"debugger"))};f.X=function(){this.U=(this.jb=v("iOS"))||v("Android");this.u&&H(this.u,this.u.za)&&this.u.message("mobile keyboard support: "+(this.U?"true":"false")+" ("+window.navigator.userAgent+")");z.prototype.X.call(this)};function Ta(a,b){b=b?100:250;a.s&&a.s.ta&&(b/=a.s.ta);return b}function Ua(a,b){!a.A||void 0!==b&&b==a.A||(a.u&&H(a.u,a.u.za)&&a.u.message("autoClear("+q(a.A)+")"),clearTimeout(a.v[a.A]),T(a,a.A,!1,4))}
|
f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.u=L(b,"debugger"))};f.X=function(){this.U=(this.jb=v("iOS"))||v("Android");this.u&&H(this.u,this.u.za)&&this.u.message("mobile keyboard support: "+(this.U?"true":"false")+" ("+window.navigator.userAgent+")");z.prototype.X.call(this)};function Ta(a,b){b=b?100:250;a.s&&a.s.ta&&(b/=a.s.ta);return b}function Ua(a,b){!a.A||void 0!==b&&b==a.A||(a.u&&H(a.u,a.u.za)&&a.u.message("autoClear("+q(a.A)+")"),clearTimeout(a.v[a.A]),T(a,a.A,!1,4))}
|
||||||
|
|
@ -108,50 +108,50 @@ f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0
|
||||||
b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))};
|
b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))};
|
||||||
function ab(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c<e.length;c++)d+=String.fromCharCode(e[c]);a.g=d;a.B=!1}catch(g){a.l('Error processing file "'+b+'": '+g.message);return}a.J&&a.b&&a.s.C.na?(a.l("auto-loading "+b),a.s.ca(),"."!=a.g.charAt(0)?(a.o=1,U(a.b,"NEW\nLOAD\n")):(a.o=2,a.J.reset(!0),U(a.b,"ML"))):a.l(b+" ready to load")}else a.l('Error loading file "'+b+'" ('+d+")")}
|
function ab(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c<e.length;c++)d+=String.fromCharCode(e[c]);a.g=d;a.B=!1}catch(g){a.l('Error processing file "'+b+'": '+g.message);return}a.J&&a.b&&a.s.C.na?(a.l("auto-loading "+b),a.s.ca(),"."!=a.g.charAt(0)?(a.o=1,U(a.b,"NEW\nLOAD\n")):(a.o=2,a.J.reset(!0),U(a.b,"ML"))):a.l(b+" ready to load")}else a.l('Error loading file "'+b+'" ('+d+")")}
|
||||||
f.S=function(a,b){void 0!==b&&(a&1?bb(this):this.g&&!this.A&&bb(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Ob,!0)};function bb(a){if(void 0!==a.g){a.v=-1;if(a.A<a.g.length){var b=a.g.charCodeAt(a.A++)&255;a.B&&10==b&&(b=13);a.v=b}else a.g="",a.A=0,1==a.o&&a.b&&U(a.b," \nRUN\n"),a.o=0;for(b=a.N+0;b<a.K;b+=2)a.a[b]=0<=a.v?1:0;for(b=a.N+1;b<a.K;b+=2)a.a[b]=0<=a.v?a.v:0}}
|
f.S=function(a,b){void 0!==b&&(a&1?bb(this):this.g&&!this.A&&bb(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Ob,!0)};function bb(a){if(void 0!==a.g){a.v=-1;if(a.A<a.g.length){var b=a.g.charCodeAt(a.A++)&255;a.B&&10==b&&(b=13);a.v=b}else a.g="",a.A=0,1==a.o&&a.b&&U(a.b," \nRUN\n"),a.o=0;for(b=a.N+0;b<a.K;b+=2)a.a[b]=0<=a.v?1:0;for(b=a.N+1;b<a.K;b+=2)a.a[b]=0<=a.v?a.v:0}}
|
||||||
x(function(){for(var a=G(document,"c1pjs","serial"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new $a(d);F(d,c)}});function cb(a){z.call(this,"C1PDiskController",a);this.C.M=!1;this.reset(!0)}B(cb);f=cb.prototype;f.reset=function(a){db(this);this.b=-1;a&&(this.g=[],this.g[0]={Oe:0,qb:40,Pb:!0,Ea:20,ma:0,Da:-1,Ua:[]})};
|
x(function(){for(var a=G(document,"c1pjs","serial"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new $a(d);F(d,c)}});function cb(a){z.call(this,"C1PDiskController",a);this.C.M=!1;this.reset(!0)}B(cb);f=cb.prototype;f.reset=function(a){db(this);this.b=-1;a&&(this.g=[],this.g[0]={Oe:0,qb:40,Pb:!0,Da:20,ma:0,Ca:-1,Ua:[]})};
|
||||||
function db(a){a.K={I:64,read:function(){},update:function(a){return function(b){void 0!==b&&(this.I=b);a.B.I&4||V(a,0,this)}}(a)};a.o={I:255,read:function(){this.update()},update:function(a){return function(b){void 0===b?b=a.o.I:eb(a,b,a.A.I);b=(b|190)&-2;if(0<=a.b&&a.g[a.b].Ua.length){var c=a.g[a.b];c.Pb&&(b&=-33);c.ma||(b&=-3);10>=--c.Ea&&(0<c.Ea?(b&=-129,fb(a)):(c.Ea=100,0<=a.b&&(a.g[a.b].Da=0,gb(a))))}this.I=b;a.B.I&4&&V(a,0,this)}}(a)};a.B={I:0,read:function(){},update:function(a){return function(b){void 0!==
|
function db(a){a.K={I:64,read:function(){},update:function(a){return function(b){void 0!==b&&(this.I=b);a.B.I&4||V(a,0,this)}}(a)};a.o={I:255,read:function(){this.update()},update:function(a){return function(b){void 0===b?b=a.o.I:eb(a,b,a.A.I);b=(b|190)&-2;if(0<=a.b&&a.g[a.b].Ua.length){var c=a.g[a.b];c.Pb&&(b&=-33);c.ma||(b&=-3);10>=--c.Da&&(0<c.Da?(b&=-129,fb(a)):(c.Da=100,0<=a.b&&(a.g[a.b].Ca=0,gb(a))))}this.I=b;a.B.I&4&&V(a,0,this)}}(a)};a.B={I:0,read:function(){},update:function(a){return function(b){void 0!==
|
||||||
b&&(this.I=b&-193);V(a,1,this);a.o.update();a.K.update()}}(a)};a.L={I:255,read:function(){},update:function(a){return function(b){void 0!==b&&(this.I=b);a.D.I&4||V(a,2,this)}}(a)};a.A={I:255,read:function(){},update:function(a){return function(b){void 0===b?b=a.A.I:eb(a,a.o.I,b);if(0<=a.b&&a.b<a.g.length){var c=a.g[a.b];c.Ua.length&&a.A.I&8&&!(b&8)&&(b&4?c.ma--:c.ma++,a.u&&H(a.u,a.u.Ga)&&a.u.message("stepping "+(b&4?"down":"up")+" to track "+c.ma),c.ma>=c.qb&&(c.ma=c.qb),0>c.ma&&(c.ma=0),c.Ea=20,
|
b&&(this.I=b&-193);V(a,1,this);a.o.update();a.K.update()}}(a)};a.L={I:255,read:function(){},update:function(a){return function(b){void 0!==b&&(this.I=b);a.D.I&4||V(a,2,this)}}(a)};a.A={I:255,read:function(){},update:function(a){return function(b){void 0===b?b=a.A.I:eb(a,a.o.I,b);if(0<=a.b&&a.b<a.g.length){var c=a.g[a.b];c.Ua.length&&a.A.I&8&&!(b&8)&&(b&4?c.ma--:c.ma++,a.u&&H(a.u,a.u.Fa)&&a.u.message("stepping "+(b&4?"down":"up")+" to track "+c.ma),c.ma>=c.qb&&(c.ma=c.qb),0>c.ma&&(c.ma=0),c.Da=20,
|
||||||
a.o.update(a.o.I|128),fb(a))}this.I=b;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(this.I=b&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.v.I=14),this.I=b);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.v.I);b&=-2;0<=a.b&&0<=a.g[a.b].Da&&(b|=1);this.I=b;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){gb(a)}}(a),
|
a.o.update(a.o.I|128),fb(a))}this.I=b;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(this.I=b&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.v.I=14),this.I=b);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.v.I);b&=-2;0<=a.b&&0<=a.g[a.b].Ca&&(b|=1);this.I=b;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){gb(a)}}(a),
|
||||||
update:function(a){return function(b){void 0!==b&&(this.I=b);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,d){hb(a,b,c,d)})}}}(this),!0}return!1};
|
update:function(a){return function(b){void 0!==b&&(this.I=b);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,d){hb(a,b,c,d)})}}}(this),!0}return!1};
|
||||||
f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))};
|
f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))};
|
||||||
function hb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c<e.length;c++){var g,h=e[c],l=h.sectors;if(void 0===(g=h.trackNum)||void 0===l)throw Error("track "+c+" missing data");g!=c&&u("track "+g+" out of order (expected "+c+")");d=[];var k,m,n;if(g){ib(d,h,"trackSig");jb(d,h);W(d,h,"trackType");for(var C=0;C<l.length;C++){k=l[C];
|
function hb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c<e.length;c++){var g,h=e[c],l=h.sectors;if(void 0===(g=h.trackNum)||void 0===l)throw Error("track "+c+" missing data");g!=c&&u("track "+g+" out of order (expected "+c+")");d=[];var k,m,n;if(g){ib(d,h,"trackSig");jb(d,h);W(d,h,"trackType");for(var C=0;C<l.length;C++){k=l[C];
|
||||||
m=k.sectorData;W(d,k,"sectorSig");W(d,k,"sectorNum");W(d,k,"sectorPages");for(n=0;n<m.length;n++)d.push(m[n]);ib(d,k,"sectorEndSig")}}else for(k=l[0],m=k.sectorData,W(d,h,"trackLoad",2),W(d,k,"sectorPages"),n=0;n<m.length;n++)d.push(m[n]);e[g].Ib=d;a.u&&H(a.u,a.u.Ga)&&a.u.message("track "+g+": "+d.length+" bytes")}a.g[0].Ua=e;a.l("mount of "+b+" complete")}else a.l("no available drives")}else a.l("no tracks: "+b);else a.l("no data: "+b)}catch(Bb){a.l("disk data error: "+Bb.message)}}}
|
m=k.sectorData;W(d,k,"sectorSig");W(d,k,"sectorNum");W(d,k,"sectorPages");for(n=0;n<m.length;n++)d.push(m[n]);ib(d,k,"sectorEndSig")}}else for(k=l[0],m=k.sectorData,W(d,h,"trackLoad",2),W(d,k,"sectorPages"),n=0;n<m.length;n++)d.push(m[n]);e[g].Ib=d;a.u&&H(a.u,a.u.Fa)&&a.u.message("track "+g+": "+d.length+" bytes")}a.g[0].Ua=e;a.l("mount of "+b+" complete")}else a.l("no available drives")}else a.l("no tracks: "+b);else a.l("no data: "+b)}catch(Bb){a.l("disk data error: "+Bb.message)}}}
|
||||||
function jb(a,b){b=b.trackNum;if(void 0===b)throw Error("missing bcd value: trackNum");a.push(Math.floor(b/10)<<4|b%10)}function W(a,b,c,d){b=b[c];if(void 0===b)throw Error("missing binary value: "+c);2==d&&a.push(b>>8&255);a.push(b&255)}function ib(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;c<b.length;c++)a.push(b.charCodeAt(c))}
|
function jb(a,b){b=b.trackNum;if(void 0===b)throw Error("missing bcd value: trackNum");a.push(Math.floor(b/10)<<4|b%10)}function W(a,b,c,d){b=b[c];if(void 0===b)throw Error("missing binary value: "+c);2==d&&a.push(b>>8&255);a.push(b&255)}function ib(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;c<b.length;c++)a.push(b.charCodeAt(c))}
|
||||||
function kb(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=kb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ga,!1,c.Hb);c.read()}};
|
function kb(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=kb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Fa,!1,c.Hb);c.read()}};
|
||||||
f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=kb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ga|this.u.ob)&&(S(this.u,this,a,b,this.u.Ga,!0,d.Hb),d.Mb))for(a=128,b=d.I^c;b&&a;)b&a&&this.u.message(" changed "+d.Hb+"."+d.Mb[a]+" to "+(c&a?"1":"0")),a>>=1;d.update(c)}};function eb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function fb(a){0<=a.b&&(a.g[a.b].Da=-1,a.N.update(255),a.v.update())}
|
f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=kb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Fa|this.u.ob)&&(S(this.u,this,a,b,this.u.Fa,!0,d.Hb),d.Mb))for(a=128,b=d.I^c;b&&a;)b&a&&this.u.message(" changed "+d.Hb+"."+d.Mb[a]+" to "+(c&a?"1":"0")),a>>=1;d.update(c)}};function eb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function fb(a){0<=a.b&&(a.g[a.b].Ca=-1,a.N.update(255),a.v.update())}
|
||||||
function gb(a){var b;if(0<=a.b){b=a.g[a.b];var c=b.Ua[b.ma];void 0!==c&&(0<=b.Da&&b.Da<c.Ib.length?(b.Ea=100,b=c.Ib[b.Da++],a.N.update(b),a.v.update()):(b.Ea=10,fb(a)))}}function V(a,b,c){a.s.W(b+a.J,c.I)}x(function(){for(var a=G(document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new cb(d);F(d,c)}});
|
function gb(a){var b;if(0<=a.b){b=a.g[a.b];var c=b.Ua[b.ma];void 0!==c&&(0<=b.Ca&&b.Ca<c.Ib.length?(b.Da=100,b=c.Ib[b.Ca++],a.N.update(b),a.v.update()):(b.Da=10,fb(a)))}}function V(a,b,c){a.s.W(b+a.J,c.I)}x(function(){for(var a=G(document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new cb(d);F(d,c)}});
|
||||||
function lb(a){z.call(this,"C1PDebugger",a);this.u=this;this.L=-1;this.ua=0;this.mb=null;this.Xa=!1;this.ha=0;this.sa=[];this.wa=[];this.ya=[];this.Ka=0;this.xa=[];this.B=[];this.ob=1;this.za=16;this.Za=32;this.Ga=64;this.Ob=128;this.la=this.Z=0;this.Ta={port:1,kbd:16,video:32,disk:64,serial:128};this.Pa=28;this.$a=56;this.Ja="ADC AND ASL BCC BCS BEQ BIT BMI BNE BPL BRK BVC BVS CLC CLD CLI CLV CMP CPX CPY DEC DEX DEY EOR INC INX INY JMP JSR LDA LDX LDY LSR NOP ORA PHA PHP PLA PLP ROL ROR RTI RTS SBC SEC SED SEI STA STX STY TAX TAY TSX TXA TXS TYA SIM .DB".split(" ");
|
function lb(a){z.call(this,"C1PDebugger",a);this.u=this;this.L=-1;this.ua=0;this.mb=null;this.Xa=!1;this.ha=0;this.sa=[];this.wa=[];this.ya=[];this.Ka=0;this.xa=[];this.B=[];this.ob=1;this.za=16;this.Za=32;this.Fa=64;this.Ob=128;this.la=this.Z=0;this.Ta={port:1,kbd:16,video:32,disk:64,serial:128};this.Pa=28;this.$a=56;this.Ia="ADC AND ASL BCC BCS BEQ BIT BMI BNE BPL BRK BVC BVS CLC CLD CLI CLV CMP CPX CPY DEC DEX DEY EOR INC INX INY JMP JSR LDA LDX LDY LSR NOP ORA PHA PHP PLA PLP ROL ROR RTI RTS SBC SEC SED SEI STA STX STY TAX TAY TSX TXA TXS TYA SIM .DB".split(" ");
|
||||||
this.V=["HLT","MSG"];mb(this,!0);this.ga=[[10],[34,1,this.D],[this.$a,1],[],[],[34,1,this.b],[2,1,this.b],[],[36],[34,1,this.v],[2,0,this.P],[],[],[34,2,this.O],[2,2,this.O],[],[9,1,this.fa],[34,1,this.J],[],[],[],[34,1,this.g],[2,1,this.g],[],[13],[34,2,this.A],[],[],[],[34,2,this.o],[2,2,this.o],[],[this.Pa,2,this.Oa],[1,1,this.D],[],[],[6,1,this.b],[1,1,this.b],[39,1,this.b],[],[38],[1,1,this.v],[39,0,this.P],[],[6,2,this.O],[1,2,this.O],[39,2,this.O],[],[7,1,this.fa],[1,1,this.J],[],[],[],[1,
|
this.V=["HLT","MSG"];mb(this,!0);this.ga=[[10],[34,1,this.D],[this.$a,1],[],[],[34,1,this.b],[2,1,this.b],[],[36],[34,1,this.v],[2,0,this.P],[],[],[34,2,this.O],[2,2,this.O],[],[9,1,this.fa],[34,1,this.J],[],[],[],[34,1,this.g],[2,1,this.g],[],[13],[34,2,this.A],[],[],[],[34,2,this.o],[2,2,this.o],[],[this.Pa,2,this.Oa],[1,1,this.D],[],[],[6,1,this.b],[1,1,this.b],[39,1,this.b],[],[38],[1,1,this.v],[39,0,this.P],[],[6,2,this.O],[1,2,this.O],[39,2,this.O],[],[7,1,this.fa],[1,1,this.J],[],[],[],[1,
|
||||||
1,this.g],[39,1,this.g],[],[44],[1,2,this.A],[],[],[],[1,2,this.o],[39,2,this.o],[],[41],[23,1,this.D],[],[],[],[23,1,this.b],[32,1,this.b],[],[35],[23,1,this.v],[32,0,this.P],[],[27,2,this.Oa],[23,2,this.O],[32,2,this.O],[],[11,1,this.fa],[23,1,this.J],[],[],[],[23,1,this.g],[32,1,this.g],[],[15],[23,2,this.A],[],[],[],[23,2,this.o],[32,2,this.o],[],[42],[0,1,this.D],[],[],[],[0,1,this.b],[40,1,this.b],[],[37],[0,1,this.v],[40,0,this.P],[],[27,2,this.nb],[0,2,this.O],[40,2,this.O],[],[12,1,this.fa],
|
1,this.g],[39,1,this.g],[],[44],[1,2,this.A],[],[],[],[1,2,this.o],[39,2,this.o],[],[41],[23,1,this.D],[],[],[],[23,1,this.b],[32,1,this.b],[],[35],[23,1,this.v],[32,0,this.P],[],[27,2,this.Oa],[23,2,this.O],[32,2,this.O],[],[11,1,this.fa],[23,1,this.J],[],[],[],[23,1,this.g],[32,1,this.g],[],[15],[23,2,this.A],[],[],[],[23,2,this.o],[32,2,this.o],[],[42],[0,1,this.D],[],[],[],[0,1,this.b],[40,1,this.b],[],[37],[0,1,this.v],[40,0,this.P],[],[27,2,this.nb],[0,2,this.O],[40,2,this.O],[],[12,1,this.fa],
|
||||||
[0,1,this.J],[],[],[],[0,1,this.g],[40,1,this.g],[],[46],[0,2,this.A],[],[],[],[0,2,this.o],[40,2,this.o],[],[],[47,1,this.D],[],[],[49,1,this.b],[47,1,this.b],[48,1,this.b],[],[22],[],[53],[],[49,2,this.O],[47,2,this.O],[48,2,this.O],[],[3,1,this.fa],[47,1,this.J],[],[],[49,1,this.g],[47,1,this.g],[48,1,this.U],[],[55],[47,2,this.A],[54],[],[],[47,2,this.o],[],[],[31,1,this.v],[29,1,this.D],[30,1,this.v],[],[31,1,this.b],[29,1,this.b],[30,1,this.b],[],[51],[29,1,this.v],[50],[],[31,2,this.O],[29,
|
[0,1,this.J],[],[],[],[0,1,this.g],[40,1,this.g],[],[46],[0,2,this.A],[],[],[],[0,2,this.o],[40,2,this.o],[],[],[47,1,this.D],[],[],[49,1,this.b],[47,1,this.b],[48,1,this.b],[],[22],[],[53],[],[49,2,this.O],[47,2,this.O],[48,2,this.O],[],[3,1,this.fa],[47,1,this.J],[],[],[49,1,this.g],[47,1,this.g],[48,1,this.U],[],[55],[47,2,this.A],[54],[],[],[47,2,this.o],[],[],[31,1,this.v],[29,1,this.D],[30,1,this.v],[],[31,1,this.b],[29,1,this.b],[30,1,this.b],[],[51],[29,1,this.v],[50],[],[31,2,this.O],[29,
|
||||||
2,this.O],[30,2,this.O],[],[4,1,this.fa],[29,1,this.J],[],[],[31,1,this.g],[29,1,this.g],[30,1,this.U],[],[16],[29,2,this.A],[52],[],[31,2,this.o],[29,2,this.o],[30,2,this.A],[],[19,1,this.v],[17,1,this.D],[],[],[19,1,this.b],[17,1,this.b],[20,1,this.b],[],[26],[17,1,this.v],[21],[],[19,2,this.O],[17,2,this.O],[20,2,this.O],[],[8,1,this.fa],[17,1,this.J],[],[],[],[17,1,this.g],[20,1,this.g],[],[14],[17,2,this.A],[],[],[],[17,2,this.o],[20,2,this.o],[],[18,1,this.v],[43,1,this.D],[],[],[18,1,this.b],
|
2,this.O],[30,2,this.O],[],[4,1,this.fa],[29,1,this.J],[],[],[31,1,this.g],[29,1,this.g],[30,1,this.U],[],[16],[29,2,this.A],[52],[],[31,2,this.o],[29,2,this.o],[30,2,this.A],[],[19,1,this.v],[17,1,this.D],[],[],[19,1,this.b],[17,1,this.b],[20,1,this.b],[],[26],[17,1,this.v],[21],[],[19,2,this.O],[17,2,this.O],[20,2,this.O],[],[8,1,this.fa],[17,1,this.J],[],[],[],[17,1,this.g],[20,1,this.g],[],[14],[17,2,this.A],[],[],[],[17,2,this.o],[20,2,this.o],[],[18,1,this.v],[43,1,this.D],[],[],[18,1,this.b],
|
||||||
[43,1,this.b],[24,1,this.b],[],[25],[43,1,this.v],[33],[],[18,2,this.O],[43,2,this.O],[24,2,this.O],[],[5,1,this.fa],[43,1,this.J],[],[],[],[43,1,this.g],[24,1,this.g],[],[45],[43,2,this.A],[],[],[],[43,2,this.o],[24,2,this.o],[]]}B(lb);f=lb.prototype;
|
[43,1,this.b],[24,1,this.b],[],[25],[43,1,this.v],[33],[],[18,2,this.O],[43,2,this.O],[24,2,this.O],[],[5,1,this.fa],[43,1,this.J],[],[],[],[43,1,this.g],[24,1,this.g],[],[45],[43,2,this.A],[],[],[],[43,2,this.o],[24,2,this.o],[]]}B(lb);f=lb.prototype;
|
||||||
f.T=function(a,b,c){var d=this;switch(b){case "debugInput":return this.R=this.H[b]=c,this.R.focus(),c.onkeypress=function(a,c){return function(d){13==d.keyCode&&(b=c.value,c.value="",nb(a,b))}}(this,c),!0;case "debugEnter":return this.H[b]=c,ga(c,function(){return d.R?(b=d.R.value,nb(d,b),!0):!1}),!0;case "step":return this.H[b]=c,ga(c,function(a){var b=!1;J(d,!0)||(I(d,!0),b=d.step(a?1:0),I(d,!1));return b}),!0}return!1};
|
f.T=function(a,b,c){var d=this;switch(b){case "debugInput":return this.R=this.H[b]=c,this.R.focus(),c.onkeypress=function(a,c){return function(d){13==d.keyCode&&(b=c.value,c.value="",nb(a,b))}}(this,c),!0;case "debugEnter":return this.H[b]=c,ga(c,function(){return d.R?(b=d.R.value,nb(d,b),!0):!1}),!0;case "step":return this.H[b]=c,ga(c,function(a){var b=!1;J(d,!0)||(I(d,!0),b=d.step(a?1:0),I(d,!1));return b}),!0}return!1};
|
||||||
f.ba=function(a,b,c){this.a=a;this.N=b;this.qa=c-b+1;this.Fa=this.N+this.qa;this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.s=L(b,"cpu"))};f.ca=function(){this.R.focus()};
|
f.ba=function(a,b,c){this.a=a;this.N=b;this.qa=c-b+1;this.Ea=this.N+this.qa;this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.s=L(b,"cpu"))};f.ca=function(){this.R.focus()};
|
||||||
function mb(a,b){a.P=0;a.v=1;a.o=2;a.A=3;a.Oa=4;a.nb=5;a.g=6;a.U=7;a.D=8;a.J=9;a.O=10;a.b=11;a.fa=a.Oa;var c="",d;if(b)for(a.ka="A #$nn $nnnn,X $nnnn,Y $nnnn ($nnnn) $nn,X $nn,Y ($nn,X) ($nn),Y $nnnn $nn".split(" "),b=0;b<a.ka.length;b++)d=a.ka[b],c+="("+d.replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\$/g,"\\$")+"|)";else for(a.ka="A nn [nnnn+X] [nnnn+Y] nnnn [nnnn] [nn+X] [nn+Y] [[nn+X]] [[nn]+Y] [nnnn] [nn]".split(" "),
|
function mb(a,b){a.P=0;a.v=1;a.o=2;a.A=3;a.Oa=4;a.nb=5;a.g=6;a.U=7;a.D=8;a.J=9;a.O=10;a.b=11;a.fa=a.Oa;var c="",d;if(b)for(a.ka="A #$nn $nnnn,X $nnnn,Y $nnnn ($nnnn) $nn,X $nn,Y ($nn,X) ($nn),Y $nnnn $nn".split(" "),b=0;b<a.ka.length;b++)d=a.ka[b],c+="("+d.replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\$/g,"\\$")+"|)";else for(a.ka="A nn [nnnn+X] [nnnn+Y] nnnn [nnnn] [nn+X] [nn+Y] [[nn+X]] [[nn]+Y] [nnnn] [nn]".split(" "),
|
||||||
b=0;b<a.ka.length;b++)d=a.ka[b],c+="("+d.replace(/\[/g,"\\[").replace(/]/g,"\\]").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\+/g,"\\+")+"|)";a.Me=new RegExp(c);a.Nb=[27,a.Pa,9,7,11,12,3,4,8,5]}f.aa=function(){this.s.aa()};function S(a,b,c,d,e,g,h){(a.la&e)==e&&(e=a.s.S(c),a.message(b.id+"."+(g?"setByte":"getByte")+"("+r(c)+")"+(void 0!==d?" @"+r(d):"")+": "+(h?h+"=":"")+q(e)))}f.message=function(a){this.l(a);Ja(this.s)};f.Qb=function(){this.l("Type ? for list of debugger commands\n")};
|
b=0;b<a.ka.length;b++)d=a.ka[b],c+="("+d.replace(/\[/g,"\\[").replace(/]/g,"\\]").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\+/g,"\\+")+"|)";a.Me=new RegExp(c);a.Nb=[27,a.Pa,9,7,11,12,3,4,8,5]}f.aa=function(){this.s.aa()};function S(a,b,c,d,e,g,h){(a.la&e)==e&&(e=a.s.S(c),a.message(b.id+"."+(g?"setByte":"getByte")+"("+r(c)+")"+(void 0!==d?" @"+r(d):"")+": "+(h?h+"=":"")+q(e)))}f.message=function(a){this.l(a);Ja(this.s)};f.Qb=function(){this.l("Type ? for list of debugger commands\n")};
|
||||||
f.va=function(){if(!ob(this))return!1;this.s.va();return!0};f.step=function(a){if(!ob(this))return!1;var b;try{b=this.s.step(a)}catch(c){b=void 0,ua(this.s,c.stack||c.message)}void 0!==b&&this.L++;this.s.update(!0);this.update(!0);return b};f.update=function(a){this.ua=this.s.f;a||this.Ca?pb(this):qb(this)};function ob(a){a.s&&K(a.s)&&!J(a.s)?(a=a.s,a.C.error?(a.l(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}
|
f.va=function(){if(!ob(this))return!1;this.s.va();return!0};f.step=function(a){if(!ob(this))return!1;var b;try{b=this.s.step(a)}catch(c){b=void 0,ua(this.s,c.stack||c.message)}void 0!==b&&this.L++;this.s.update(!0);this.update(!0);return b};f.update=function(a){this.ua=this.s.f;a||this.Ba?pb(this):qb(this)};function ob(a){a.s&&K(a.s)&&!J(a.s)?(a=a.s,a.C.error?(a.l(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}
|
||||||
f.reset=function(){var a;this.xa.length||(this.xa=Array(1E3));for(a=0;a<this.xa.length;a++)this.xa[a]=-1;this.B.length||(this.B=Array(256));for(a=0;a<this.B.length;a++)this.B[a]=[a,0];this.L&&this.update();this.L=0};f.start=function(){this.Ca||this.l("running")};f.stop=function(a,b){if(!this.Ca&&(this.l("stopped"),b)){var c=ea();this.l(c-a+"ms ("+b+" cycles)")}this.update();this.ca();this.Ca||(this.L=0);rb(this,this.s.f)};function sb(a,b){return a+(b<<24>>24)}
|
f.reset=function(){var a;this.xa.length||(this.xa=Array(1E3));for(a=0;a<this.xa.length;a++)this.xa[a]=-1;this.B.length||(this.B=Array(256));for(a=0;a<this.B.length;a++)this.B[a]=[a,0];this.L&&this.update();this.L=0};f.start=function(){this.Ba||this.l("running")};f.stop=function(a,b){if(!this.Ba&&(this.l("stopped"),b)){var c=ea();this.l(c-a+"ms ("+b+" cycles)")}this.update();this.ca();this.Ba||(this.L=0);rb(this,this.s.f)};function sb(a,b){return a+(b<<24>>24)}
|
||||||
f.S=function(a){var b;a>=this.N&&a<this.Fa&&(Ca(this.s,a),b=this.a[this.N+a],b&=255);return b};f.W=function(a,b){a<this.N||a>=this.Fa?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Da(this.s,a),this.s.update())};function tb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;e<a.length;e++)if(a[e]==b){c&&a.splice(e,1);d=!0;break}return d}function ub(a,b){void 0!==b&&(rb(a,a.K),tb(a,b)&&(a.K=b))}
|
f.S=function(a){var b;a>=this.N&&a<this.Ea&&(Ca(this.s,a),b=this.a[this.N+a],b&=255);return b};f.W=function(a,b){a<this.N||a>=this.Ea?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Da(this.s,a),this.s.update())};function tb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;e<a.length;e++)if(a[e]==b){c&&a.splice(e,1);d=!0;break}return d}function ub(a,b){void 0!==b&&(rb(a,a.K),tb(a,b)&&(a.K=b))}
|
||||||
function rb(a,b){void 0!==a.K&&b==a.K&&X(a.sa,a.K,!0)&&(a.K=void 0);a.Ca=!1}function Ia(a,b,c,d){for(var e=!1,g=0;g<c.length;g++)if(c[g]==b){b!=a.K&&a.l("breakpoint hit: "+r(b)+" ("+d+")");e=!0;break}return e}
|
function rb(a,b){void 0!==a.K&&b==a.K&&X(a.sa,a.K,!0)&&(a.K=void 0);a.Ba=!1}function Ia(a,b,c,d){for(var e=!1,g=0;g<c.length;g++)if(c[g]==b){b!=a.K&&a.l("breakpoint hit: "+r(b)+" ("+d+")");e=!0;break}return e}
|
||||||
function vb(a,b,c){var d=p(b,4),e=a.S(b++),g=void 0===e?0:e,h=a.ga[g],l=[],k=void 0===h[1]?0:h[1];do{d+=" "+p(g,2);if(!k--)break;g=a.S(b++);if(void 0===g)break;l.push(g)}while(1);void 0===h[0]&&(h=[57,1,a.v],l.push(e));var d=(d+" ").substr(0,15),d=d+a.Ja[h[0]],m=null;if(void 0!==h[2]){k=h[2];m=a.ka[k];if(1==h[1]&&k==a.fa)m=m.replace(/nnnn/,p(sb(b,g=l.pop()),4));else for(;l.length;)m=m.replace(/nn/,p(g=l.pop(),2));k==a.v&&1==h[1]&&32<=g&&128>g&&(m+=" ;'"+String.fromCharCode(g)+"'")}if(e==a.s.$a&&
|
function vb(a,b,c){var d=p(b,4),e=a.S(b++),g=void 0===e?0:e,h=a.ga[g],l=[],k=void 0===h[1]?0:h[1];do{d+=" "+p(g,2);if(!k--)break;g=a.S(b++);if(void 0===g)break;l.push(g)}while(1);void 0===h[0]&&(h=[57,1,a.v],l.push(e));var d=(d+" ").substr(0,15),d=d+a.Ia[h[0]],m=null;if(void 0!==h[2]){k=h[2];m=a.ka[k];if(1==h[1]&&k==a.fa)m=m.replace(/nnnn/,p(sb(b,g=l.pop()),4));else for(;l.length;)m=m.replace(/nn/,p(g=l.pop(),2));k==a.v&&1==h[1]&&32<=g&&128>g&&(m+=" ;'"+String.fromCharCode(g)+"'")}if(e==a.s.$a&&
|
||||||
(g<a.V.length&&(m=a.V[g]),g==a.s.Kb)){k=0;for(m='"';g=a.S(b++);)16>k?m+=String.fromCharCode(g):16==k&&(m+="\u2026"),k++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d}
|
(g<a.V.length&&(m=a.V[g]),g==a.s.Kb)){k=0;for(m='"';g=a.S(b++);)16>k?m+=String.fromCharCode(g):16==k&&(m+="\u2026"),k++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d}
|
||||||
function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c<a.N||c>=a.Fa)&&(a.l("address out of range: "+p(c)),c=void 0);return c}
|
function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c<a.N||c>=a.Ea)&&(a.l("address out of range: "+p(c)),c=void 0);return c}
|
||||||
function wb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0;if(a.B)if("clear"==b){for(b=0;b<a.B.length;b++)a.B[b]=[b,0];a.l("frequency data cleared");c++}else if(void 0!==b)a.l("unknown frequency command: "+b),c++;else{var d=a.B.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],g=d[b][1];g&&(a.l(a.Ja[a.ga[e][0]]+" ("+q(e)+"): "+g+" times"),c++)}}c||a.l("no frequency data available")}}
|
function wb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0;if(a.B)if("clear"==b){for(b=0;b<a.B.length;b++)a.B[b]=[b,0];a.l("frequency data cleared");c++}else if(void 0!==b)a.l("unknown frequency command: "+b),c++;else{var d=a.B.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],g=d[b][1];g&&(a.l(a.Ia[a.ga[e][0]]+" ("+q(e)+"): "+g+" times"),c++)}}c||a.l("no frequency data available")}}
|
||||||
function pb(a,b,c,d){var e=Y(a,b);if(void 0!==e){void 0===d&&(d=1);b=a.Fa;if(void 0!==c){b=Y(a,c);if(void 0===b||b<e)return;if(256<b-e){a.l("range too large");return}b++;d=-1}for(e!=a.ua&&a.l();d--&&e<b;)c=vb(a,e,J(a,!1)||a.Ca?a.L:0),a.l(c),a.ua=e=a.$}}
|
function pb(a,b,c,d){var e=Y(a,b);if(void 0!==e){void 0===d&&(d=1);b=a.Ea;if(void 0!==c){b=Y(a,c);if(void 0===b||b<e)return;if(256<b-e){a.l("range too large");return}b++;d=-1}for(e!=a.ua&&a.l();d--&&e<b;)c=vb(a,e,J(a,!1)||a.Ba?a.L:0),a.l(c),a.ua=e=a.$}}
|
||||||
function qb(a,b){if(b&&"?"==b[1])a.l("\nregister commands:"),a.l("r to display all"),a.l("r [target=value] to modify"),a.l("supported targets:"),a.l("A,X,Y,S,PC and flags C,Z,D,V,N");else{var c=!0;if(b&&1<b.length){var c=!1,d=b[1],e=d.indexOf("=");if(0<e)b=d.substr(e+1),d=d.substr(0,e);else if(2<b.length)b=b[2];else{a.l("missing value for "+b[1]);return}e=parseInt(b,16);if(isNaN(e)){a.l("invalid value: "+b);return}switch(d.toUpperCase()){case "A":a.s.h=e&255;break;case "X":a.s.w=e&255;break;case "Y":a.s.F=
|
function qb(a,b){if(b&&"?"==b[1])a.l("\nregister commands:"),a.l("r to display all"),a.l("r [target=value] to modify"),a.l("supported targets:"),a.l("A,X,Y,S,PC and flags C,Z,D,V,N");else{var c=!0;if(b&&1<b.length){var c=!1,d=b[1],e=d.indexOf("=");if(0<e)b=d.substr(e+1),d=d.substr(0,e);else if(2<b.length)b=b[2];else{a.l("missing value for "+b[1]);return}e=parseInt(b,16);if(isNaN(e)){a.l("invalid value: "+b);return}switch(d.toUpperCase()){case "A":a.s.h=e&255;break;case "X":a.s.w=e&255;break;case "Y":a.s.F=
|
||||||
e&255;break;case "C":a.s.c=e?256:0;break;case "Z":a.s.j=e?0:1;break;case "D":e?La(a.s):Ma(a.s);break;case "V":e?(d=a.s,d.v=0,d.A=128):(d=a.s,d.v=0,d.A=0);break;case "N":a.s.i=e?128:0;break;case "S":if(256!=(e&-256)){a.l("invalid stack pointer: "+b);return}a.s.G=e;break;case "PC":c=!0;a.s.f=e&65535;a.ua=a.s.f;break;default:a.l("unknown register: "+d);return}a.s.update()}a.l("A="+p(a.s.h,2)+" X="+p(a.s.w,2)+" Y="+p(a.s.F,2)+" P="+p(Ga(a.s),2)+" S="+p(a.s.G,4)+" PC="+p(a.s.f,4));c&&pb(a,p(a.ua=a.s.f,
|
e&255;break;case "C":a.s.c=e?256:0;break;case "Z":a.s.j=e?0:1;break;case "D":e?La(a.s):Ma(a.s);break;case "V":e?(d=a.s,d.v=0,d.A=128):(d=a.s,d.v=0,d.A=0);break;case "N":a.s.i=e?128:0;break;case "S":if(256!=(e&-256)){a.l("invalid stack pointer: "+b);return}a.s.G=e;break;case "PC":c=!0;a.s.f=e&65535;a.ua=a.s.f;break;default:a.l("unknown register: "+d);return}a.s.update()}a.l("A="+p(a.s.h,2)+" X="+p(a.s.w,2)+" Y="+p(a.s.F,2)+" P="+p(Ga(a.s),2)+" S="+p(a.s.G,4)+" PC="+p(a.s.f,4));c&&pb(a,p(a.ua=a.s.f,
|
||||||
4))}}function xb(a,b){b=void 0===b?1:parseInt(b,10);var c=1==b?0:1;fa(b,function(a){return function(){return I(a,!0)&&a.step(c)}}(a),function(a){return function(){I(a,!1)}}(a))}
|
4))}}function xb(a,b){b=void 0===b?1:parseInt(b,10);var c=1==b?0:1;fa(b,function(a){return function(){return I(a,!0)&&a.step(c)}}(a),function(a){return function(){I(a,!1)}}(a))}
|
||||||
function nb(a,b){b.length||(a.Xa?(a.l("ended assemble @"+p(a.ha,4)),a.ua=a.ha,a.Xa=!1):a.mb&&(b=a.mb));if(K(a)&&!J(a,!0)&&0<b.length){a.Xa?b="a "+p(a.ha,4)+" "+b:1<b.length&&1!=b.indexOf(" ")&&(b=b.charAt(0).toLowerCase()+" "+b.substr(1));var c=b.split(" ");a.mb=c[0];switch(c[0].toLowerCase()){case "a":var d=Y(a,c[1]);if(void 0!==d)if(a.ha=d,void 0===c[2])a.l("begin assemble @"+r(a.ha)),a.Xa=!0,a.s.update();else{var e;b=c[2];var g=c[3],c=a.ha,d=[];if(void 0!==b){var h;b=b.toUpperCase();"?"==b.charAt(b.length-
|
function nb(a,b){b.length||(a.Xa?(a.l("ended assemble @"+p(a.ha,4)),a.ua=a.ha,a.Xa=!1):a.mb&&(b=a.mb));if(K(a)&&!J(a,!0)&&0<b.length){a.Xa?b="a "+p(a.ha,4)+" "+b:1<b.length&&1!=b.indexOf(" ")&&(b=b.charAt(0).toLowerCase()+" "+b.substr(1));var c=b.split(" ");a.mb=c[0];switch(c[0].toLowerCase()){case "a":var d=Y(a,c[1]);if(void 0!==d)if(a.ha=d,void 0===c[2])a.l("begin assemble @"+r(a.ha)),a.Xa=!0,a.s.update();else{var e;b=c[2];var g=c[3],c=a.ha,d=[];if(void 0!==b){var h;b=b.toUpperCase();"?"==b.charAt(b.length-
|
||||||
1)&&(g="?",b=b.substr(0,b.length-1));for(h=0;h<a.Ja.length&&b!=a.Ja[h];h++);h==a.Ja.length&&(a.l("unknown operation: "+b),h=-1);var l="",k;if(0<=h&&void 0!==g)if(l=g.toUpperCase(),"?"==l){for(g=k=0;g<a.ga.length;g++)a.ga[g][0]===h&&(k||a.l("supported opcodes:"),a.l(" "+p(g,2)+": "+b+(void 0!==a.ga[g][2]?" "+a.ka[a.ga[g][2]]:"")),k++);h=-1}else if((k=l.match(a.Me))&&k[0]==l){for(g=1;g<k.length;g++)if(k[g]==l)if(void 0===e)e=g-1;else{a.l("too many operand matches (both "+a.ka[e]+" and "+a.ka[g-
|
1)&&(g="?",b=b.substr(0,b.length-1));for(h=0;h<a.Ia.length&&b!=a.Ia[h];h++);h==a.Ia.length&&(a.l("unknown operation: "+b),h=-1);var l="",k;if(0<=h&&void 0!==g)if(l=g.toUpperCase(),"?"==l){for(g=k=0;g<a.ga.length;g++)a.ga[g][0]===h&&(k||a.l("supported opcodes:"),a.l(" "+p(g,2)+": "+b+(void 0!==a.ga[g][2]?" "+a.ka[a.ga[g][2]]:"")),k++);h=-1}else if((k=l.match(a.Me))&&k[0]==l){for(g=1;g<k.length;g++)if(k[g]==l)if(void 0===e)e=g-1;else{a.l("too many operand matches (both "+a.ka[e]+" and "+a.ka[g-
|
||||||
1]+")");h=-1;break}e==a.Oa&&0>a.Nb.indexOf(h)&&(e=a.O);e==a.nb&&27!=h&&(e=a.O)}else a.l("unknown operand: "+l),h=-1;if(0<=h){k=-1;for(g=0;g<a.ga.length;g++)if(a.ga[g][0]===h&&a.ga[g][2]===e)if(0>k)k=g;else{a.l("too many instruction matches (both "+q(k)+" and "+q(g)+")");k=-2;break}if(0<=k){if(d.push(k),void 0!==e)if(b=a.ga[k][1],l=l.match(/[0-9A-F]+/))for(l=parseInt(l[0],16),1==b&&e==a.fa&&(l-=c+2,-128>l||127<l)&&(a.l("branch out of range ("+l+")"),d=[],b=0),g=0;g<b;g++)d.push(l&255),l>>>=8;else b&&
|
1]+")");h=-1;break}e==a.Oa&&0>a.Nb.indexOf(h)&&(e=a.O);e==a.nb&&27!=h&&(e=a.O)}else a.l("unknown operand: "+l),h=-1;if(0<=h){k=-1;for(g=0;g<a.ga.length;g++)if(a.ga[g][0]===h&&a.ga[g][2]===e)if(0>k)k=g;else{a.l("too many instruction matches (both "+q(k)+" and "+q(g)+")");k=-2;break}if(0<=k){if(d.push(k),void 0!==e)if(b=a.ga[k][1],l=l.match(/[0-9A-F]+/))for(l=parseInt(l[0],16),1==b&&e==a.fa&&(l-=c+2,-128>l||127<l)&&(a.l("branch out of range ("+l+")"),d=[],b=0),g=0;g<b;g++)d.push(l&255),l>>>=8;else b&&
|
||||||
a.l("instruction missing "+b+" bytes")}else a.l("unknown instruction: "+b+" "+l+"")}}e=d;if(e.length){for(c=0;c<e.length;c++)a.W(a.ha+c,e[c]);a.l(vb(a,a.ha));a.ha+=e.length}}break;case "b":e=c[1];c=c[2];if(void 0===e||"?"==e)a.l("\nbreakpoint commands:"),a.l("bp [a]\tset exec breakpoint at [a]"),a.l("br [a]\tset read breakpoint at [a]"),a.l("bw [a]\tset write breakpoint at [a]"),a.l("bc [a]\tclear breakpoint at [a]"),a.l("bl\tlist all breakpoints");else if(void 0===c&&1<e.length&&(c=e.substr(1),e=
|
a.l("instruction missing "+b+" bytes")}else a.l("unknown instruction: "+b+" "+l+"")}}e=d;if(e.length){for(c=0;c<e.length;c++)a.W(a.ha+c,e[c]);a.l(vb(a,a.ha));a.ha+=e.length}}break;case "b":e=c[1];c=c[2];if(void 0===e||"?"==e)a.l("\nbreakpoint commands:"),a.l("bp [a]\tset exec breakpoint at [a]"),a.l("br [a]\tset read breakpoint at [a]"),a.l("bw [a]\tset write breakpoint at [a]"),a.l("bc [a]\tclear breakpoint at [a]"),a.l("bl\tlist all breakpoints");else if(void 0===c&&1<e.length&&(c=e.substr(1),e=
|
||||||
e.substr(0,1)),"l"==e){e=0;d=a.sa;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+r(d[c])+" (exec)"),e++;d=a.wa;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+r(d[c])+" (read)"),e++;d=a.ya;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+r(d[c])+" (write)"),e++;e||a.l("no breakpoints")}else void 0===c?a.l("missing breakpoint address"):"c"==e&&"*"==c?(a.sa=[],a.wa=[],a.ya=[],a.l("all breakpoints cleared")):(c=Y(a,c),void 0!==c&&("p"==e?tb(a,c)?a.l("breakpoint enabled: "+r(c)+" (exec)"):a.l("breakpoint not set: "+
|
e.substr(0,1)),"l"==e){e=0;d=a.sa;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+r(d[c])+" (exec)"),e++;d=a.wa;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+r(d[c])+" (read)"),e++;d=a.ya;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+r(d[c])+" (write)"),e++;e||a.l("no breakpoints")}else void 0===c?a.l("missing breakpoint address"):"c"==e&&"*"==c?(a.sa=[],a.wa=[],a.ya=[],a.l("all breakpoints cleared")):(c=Y(a,c),void 0!==c&&("p"==e?tb(a,c)?a.l("breakpoint enabled: "+r(c)+" (exec)"):a.l("breakpoint not set: "+
|
||||||
r(c)):"c"==e?X(a.sa,c,!0)?a.l("breakpoint cleared: "+r(c)+" (exec)"):X(a.wa,c,!0)?a.l("breakpoint cleared: "+r(c)+" (read)"):X(a.ya,c,!0)?a.l("breakpoint cleared: "+r(c)+" (write)"):a.l("breakpoint missing: "+r(c)):"r"==e?(X(a.wa,c,void 0)||a.wa.push(c),a.l("breakpoint enabled: "+r(c)+" (read)")):"w"==e?(X(a.ya,c,void 0)||a.ya.push(c),a.l("breakpoint enabled: "+r(c)+" (write)")):a.l("unknown breakpoint command: "+e)));break;case "d":e=c[1];d=c[2];if("?"==e)a.l("\ndump commands:"),a.l("d [a] [#] dump # lines of memory");
|
r(c)):"c"==e?X(a.sa,c,!0)?a.l("breakpoint cleared: "+r(c)+" (exec)"):X(a.wa,c,!0)?a.l("breakpoint cleared: "+r(c)+" (read)"):X(a.ya,c,!0)?a.l("breakpoint cleared: "+r(c)+" (write)"):a.l("breakpoint missing: "+r(c)):"r"==e?(X(a.wa,c,void 0)||a.wa.push(c),a.l("breakpoint enabled: "+r(c)+" (read)")):"w"==e?(X(a.ya,c,void 0)||a.ya.push(c),a.l("breakpoint enabled: "+r(c)+" (write)")):a.l("unknown breakpoint command: "+e)));break;case "d":e=c[1];d=c[2];if("?"==e)a.l("\ndump commands:"),a.l("d [a] [#] dump # lines of memory");
|
||||||
else if(e=Y(a,e),void 0!==e){c=0;void 0!==d&&("l"==d.charAt(0)&&(d=d.substr(1)),c=parseInt(d,10));c||(c=1);for(d=0;d<c;d++){l=b="";g=e;for(h=0;8>h&&e<a.Fa;h++)k=a.S(e),void 0===k&&(k=0),b+=p(k,2)+" ",l+=32<=k&&128>k?String.fromCharCode(k):".",e++;a.l(p(g,4)+" "+b+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;d<c.length;d++)b=parseInt(c[d],16),a.W(e++,b);break;case "f":wb(a,c[1]);break;case "g":e=c[1];void 0!==e&&ub(a,Y(a,e));a.va()||a.s.ca();
|
else if(e=Y(a,e),void 0!==e){c=0;void 0!==d&&("l"==d.charAt(0)&&(d=d.substr(1)),c=parseInt(d,10));c||(c=1);for(d=0;d<c;d++){l=b="";g=e;for(h=0;8>h&&e<a.Ea;h++)k=a.S(e),void 0===k&&(k=0),b+=p(k,2)+" ",l+=32<=k&&128>k?String.fromCharCode(k):".",e++;a.l(p(g,4)+" "+b+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;d<c.length;d++)b=parseInt(c[d],16),a.W(e++,b);break;case "f":wb(a,c[1]);break;case "g":e=c[1];void 0!==e&&ub(a,Y(a,e));a.va()||a.s.ca();
|
||||||
break;case "h":a.aa();break;case "o":if(void 0===c[1]||"?"==c[1])a.l("\noption commands:"),a.l("max\trun at maximum speed"),a.l("fast\trun faster (up to "+a.s.La+"Mhz)"),a.l("slow\trun at normal speed (1Mhz)"),a.l("classic\tuse classic operand syntax"),a.l("modern\tuse modern operand syntax"),a.l("msg\tenable message categories");else switch(e=c[1],e){case "slow":M(a.s,a.s.Qa);break;case "fast":M(a.s,a.s.Lb);break;case "max":M(a.s,a.s.cb);break;case "classic":mb(a,!0);a.l("classic syntax enabled");
|
break;case "h":a.aa();break;case "o":if(void 0===c[1]||"?"==c[1])a.l("\noption commands:"),a.l("max\trun at maximum speed"),a.l("fast\trun faster (up to "+a.s.La+"Mhz)"),a.l("slow\trun at normal speed (1Mhz)"),a.l("classic\tuse classic operand syntax"),a.l("modern\tuse modern operand syntax"),a.l("msg\tenable message categories");else switch(e=c[1],e){case "slow":M(a.s,a.s.Qa);break;case "fast":M(a.s,a.s.Lb);break;case "max":M(a.s,a.s.cb);break;case "classic":mb(a,!0);a.l("classic syntax enabled");
|
||||||
break;case "modern":mb(a,!1);a.l("modern syntax enabled");break;case "msg":e=0;void 0!==c[2]&&("all"==c[2]?e=255:void 0!==a.Ta[c[2]]&&(e=a.Ta[c[2]]),e&&("on"==c[3]?a.la|=e:"off"==c[3]&&(a.la&=~e)));for(d in a.Ta)if(void 0===c[2]||"all"==c[2]||c[2]==d)e=a.Ta[d],a.l(d+" messages: "+(a.la&e?"on":"off"));break;default:a.l("unknown option: "+e)}break;case "p":l=c[1];e=10;c=a.Ka;if(d=a.xa){b=void 0===l?a.Rb:parseInt(l,10);void 0===b&&(b=10);b>d.length&&(a.l("note: only "+d.length+" available"),b=d.length);
|
break;case "modern":mb(a,!1);a.l("modern syntax enabled");break;case "msg":e=0;void 0!==c[2]&&("all"==c[2]?e=255:void 0!==a.Ta[c[2]]&&(e=a.Ta[c[2]]),e&&("on"==c[3]?a.la|=e:"off"==c[3]&&(a.la&=~e)));for(d in a.Ta)if(void 0===c[2]||"all"==c[2]||c[2]==d)e=a.Ta[d],a.l(d+" messages: "+(a.la&e?"on":"off"));break;default:a.l("unknown option: "+e)}break;case "p":l=c[1];e=10;c=a.Ka;if(d=a.xa){b=void 0===l?a.Rb:parseInt(l,10);void 0===b&&(b=10);b>d.length&&(a.l("note: only "+d.length+" available"),b=d.length);
|
||||||
void 0!==l&&(a.lb=0,a.l(b+" instructions earlier:"));l=a.lb?a.lb:1;c-=b;for(0>c&&(c=d.length-1);e&&c!=a.Ka;){g=d[c];if(0>g)break;a.l(vb(a,g,l++));++c==d.length&&(c=0);e--;b--}a.Rb=b;a.lb=l}10==e&&a.l("no history available");break;case "r":qb(a,c);break;case "s":a.S(a.s.f)==a.s.Pa?(ub(a,a.s.f+3),a.Ca=!0,a.va()||a.s.ca()):xb(a);break;case "t":xb(a,c[1]);break;case "u":pb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble");
|
void 0!==l&&(a.lb=0,a.l(b+" instructions earlier:"));l=a.lb?a.lb:1;c-=b;for(0>c&&(c=d.length-1);e&&c!=a.Ka;){g=d[c];if(0>g)break;a.l(vb(a,g,l++));++c==d.length&&(c=0);e--;b--}a.Rb=b;a.lb=l}10==e&&a.l("no history available");break;case "r":qb(a,c);break;case "s":a.S(a.s.f)==a.s.Pa?(ub(a,a.s.f+3),a.Ba=!0,a.va()||a.s.ca()):xb(a);break;case "t":xb(a,c[1]);break;case "u":pb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble");
|
||||||
a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new lb(d);F(d,c)}});function Z(a,b){z.call(this,"C1PComputer",a);this.Y=b}B(Z);Z.prototype.reset=function(a){var b=null,c;for(c in this.Y)for(var d=0;d<this.Y[c].length;d++){var e=this.Y[c][d];e&&e.reset&&(e.reset(),"cpu"==c&&(b=e))}b&&(b.update(),a&&b.va())};
|
a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new lb(d);F(d,c)}});function Z(a,b){z.call(this,"C1PComputer",a);this.Y=b}B(Z);Z.prototype.reset=function(a){var b=null,c;for(c in this.Y)for(var d=0;d<this.Y[c].length;d++){var e=this.Y[c][d];e&&e.reset&&(e.reset(),"cpu"==c&&(b=e))}b&&(b.update(),a&&b.va())};
|
||||||
Z.prototype.start=function(){for(var a in this.Y)if("cpu"!=a)for(var b=0;b<this.Y[a].length;b++){var c=this.Y[a][b];c&&c.start&&c.start()}};Z.prototype.stop=function(a,b){for(var c in this.Y)if("cpu"!=c)for(var d=0;d<this.Y[c].length;d++){var e=this.Y[c][d];e&&e.stop&&e.stop(a,b)}};Z.prototype.T=function(a,b,c){switch(b){case "reset":return this.H[b]=c,c.onclick=function(a){return function(){a.reset()}}(this),!0}return!1};function L(a,b){return a.Y[b]?a.Y[b][0]:null}
|
Z.prototype.start=function(){for(var a in this.Y)if("cpu"!=a)for(var b=0;b<this.Y[a].length;b++){var c=this.Y[a][b];c&&c.start&&c.start()}};Z.prototype.stop=function(a,b){for(var c in this.Y)if("cpu"!=c)for(var d=0;d<this.Y[c].length;d++){var e=this.Y[c][d];e&&e.stop&&e.stop(a,b)}};Z.prototype.T=function(a,b,c){switch(b){case "reset":return this.H[b]=c,c.onclick=function(a){return function(){a.reset()}}(this),!0}return!1};function L(a,b){return a.Y[b]?a.Y[b][0]:null}
|
||||||
function yb(a){var b=null,c;for(c in a.Y)for(var d=0;d<a.Y[c].length;d++){var e=a.Y[c][d];if(e){if(!K(e)){K(e,function(a){return function(){yb(a)}}(a));return}"cpu"==c?b=e:e.ia&&e.ia(!0,a)}}a.X();a.l("C1Pjs v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>");b&&b.ia(!0,a)}
|
function yb(a){var b=null,c;for(c in a.Y)for(var d=0;d<a.Y[c].length;d++){var e=a.Y[c][d];if(e){if(!K(e)){K(e,function(a){return function(){yb(a)}}(a));return}"cpu"==c?b=e:e.ia&&e.ia(!0,a)}}a.X();a.l("C1Pjs v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>");b&&b.ia(!0,a)}
|
||||||
|
|
|
||||||
|
|
@ -3,30 +3,30 @@ function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date
|
||||||
function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}}
|
function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}}
|
||||||
function t(a){window&&window.alert(a)}function u(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var v={init:[],show:[],exit:[]},ea=!1,fa=!1,w=!0;function ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){v.init.push(a)}
|
function t(a){window&&window.alert(a)}function u(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var v={init:[],show:[],exit:[]},ea=!1,fa=!1,w=!0;function ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){v.init.push(a)}
|
||||||
function z(a){if(w)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function A(a){!w&&a?(w=!0,ea&&ha("init"),fa&&ha("show")):w=a}function ha(a){v[a]&&z(v[a])}ga("onload",function(){ea=!0;z(v.init)});ga("onpageshow",function(){fa=!0;z(v.show)});ga(u("Opera")||u("iOS")?"onunload":"onbeforeunload",function(){z(v.exit)});
|
function z(a){if(w)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function A(a){!w&&a?(w=!0,ea&&ha("init"),fa&&ha("show")):w=a}function ha(a){v[a]&&z(v[a])}ga("onload",function(){ea=!0;z(v.init)});ga("onpageshow",function(){fa=!0;z(v.show)});ga(u("Opera")||u("iOS")?"onunload":"onbeforeunload",function(){z(v.exit)});
|
||||||
function B(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;b=this.id.indexOf(".");0>b?this.wa=this.id:(this.Ba=this.id.substr(0,b),this.wa=this.id.substr(b+1));this[a]=c;this.u={ready:!1,pa:!1,xa:!1,H:!1,error:!1};this.va=null;this.u.error=!1;this.A={};C.push(this)}var ia=void 0,ja={};
|
function B(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;b=this.id.indexOf(".");0>b?this.wa=this.id:(this.Ba=this.id.substr(0,b),this.wa=this.id.substr(b+1));this[a]=c;this.u={ready:!1,ta:!1,xa:!1,H:!1,error:!1};this.va=null;this.u.error=!1;this.A={};C.push(this)}var ia=void 0,ja={};
|
||||||
if(window){ia||(ia=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ia);)ja[decodeURIComponent(ka[1].replace(la," "))]=decodeURIComponent(ka[2].replace(la," "))}function na(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
if(window){ia||(ia=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ia);)ja[decodeURIComponent(ka[1].replace(la," "))]=decodeURIComponent(ka[2].replace(la," "))}function na(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||||
function D(a){var b;b||(b=B);a.prototype=na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var E=window.PCjs.Machines||(window.PCjs.Machines={}),C=window.PCjs.Components||(window.PCjs.Components=[])}else E={},C=[];function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<C.length;c++)if(C[c].id===a)return C[c]}return null}
|
function D(a){var b;b||(b=B);a.prototype=na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var E=window.PCjs.Machines||(window.PCjs.Machines={}),C=window.PCjs.Components||(window.PCjs.Components=[])}else E={},C=[];function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<C.length;c++)if(C[c].id===a)return C[c]}return null}
|
||||||
function G(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}function H(a,b){b=I(b.parentNode,"c1pjs-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var g=d[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var l=h.split(" "),k=0;k<l.length;k++)switch(h=l[k],h){case "c1pjs-binding":(h=G(g))&&h.binding&&a.J(h.type,h.binding,g,h.value),k=l.length}}}}
|
function G(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}function H(a,b){b=I(b.parentNode,"c1pjs-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var g=d[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var l=h.split(" "),k=0;k<l.length;k++)switch(h=l[k],h){case "c1pjs-binding":(h=G(g))&&h.binding&&a.J(h.type,h.binding,g,h.value),k=l.length}}}}
|
||||||
function I(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
function I(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
||||||
B.prototype={constructor:B,parent:null,toString:function(){return this.name?this.name:this.id||this.type},J:function(a,b,c){switch(b){case "clear":return this.A[b]||(this.A[b]=c,c.onclick=function(a){return function(){a.A.print&&(a.A.print.value="")}}(this)),!0;case "print":return this.A[b]||(this.ya=this.A[b]=c,c.value="",this.F=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
B.prototype={constructor:B,parent:null,toString:function(){return this.name?this.name:this.id||this.type},J:function(a,b,c){switch(b){case "clear":return this.A[b]||(this.A[b]=c,c.onclick=function(a){return function(){a.A.print&&(a.A.print.value="")}}(this)),!0;case "print":return this.A[b]||(this.ya=this.A[b]=c,c.value="",this.F=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||||
this.ua=function(a){this.F(a,this.wa)}),!0;default:return!1}},log:function(){},F:function(){},status:function(a){this.F(this.wa+": "+a)},ua:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},N:function(a){this.u.error||(this.u.ready=!1!==a,this.u.ready&&(a=this.va,this.va=null,a&&a()))}};function oa(a,b){if(a.u.xa)return a.u.pa&&(a.u.pa=!1),a.u.xa=!1;if(a.u.error)return a.F(a.toString()+" error"),!1;a.u.pa=b;return a.u.pa}function J(a,b){b&&(a.u.ready?b():a.va=b);return a.u.ready}
|
this.ua=function(a){this.F(a,this.wa)}),!0;default:return!1}},log:function(){},F:function(){},status:function(a){this.F(this.wa+": "+a)},ua:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},N:function(a){this.u.error||(this.u.ready=!1!==a,this.u.ready&&(a=this.va,this.va=null,a&&a()))}};function oa(a,b){if(a.u.xa)return a.u.ta=!1,a.u.xa=!1;if(a.u.error)return a.F(a.toString()+" error"),!1;a.u.ta=b;return a.u.ta}function J(a,b){b&&(a.u.ready?b():a.va=b);return a.u.ready}
|
||||||
function pa(a,b){a.u.error=!0;a.ua(b)}function K(a){B.call(this,"C1PPanel",a);this.u.H=!1}D(K);K.prototype.J=function(a,b,c,d){return this.I&&this.I.J(a,b,c,d)||this.f&&this.f.J(a,b,c,d)||this.b&&this.b.J(a,b,c,d)?!0:B.prototype.J.call(this,a,b,c,d)};K.prototype.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.f=L(b,"cpu"),this.b=L(b,"keyboard"),qa())};
|
function pa(a,b){a.u.error=!0;a.ua(b)}function K(a){B.call(this,"C1PPanel",a);this.u.H=!1}D(K);K.prototype.J=function(a,b,c,d){return this.I&&this.I.J(a,b,c,d)||this.f&&this.f.J(a,b,c,d)||this.b&&this.b.J(a,b,c,d)?!0:B.prototype.J.call(this,a,b,c,d)};K.prototype.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.f=L(b,"cpu"),this.b=L(b,"keyboard"),qa())};
|
||||||
function qa(){for(var a=!1,b=I(document,"c1pjs","panel"),c=0;c<b.length;c++){var d=b[c],f=G(d),g=F(f.id);g||(a=!0,g=new K(f));H(g,d);a&&g.N()}}x(qa);
|
function qa(){for(var a=!1,b=I(document,"c1pjs","panel"),c=0;c<b.length;c++){var d=b[c],f=G(d),g=F(f.id);g||(a=!0,g=new K(f));H(g,d);a&&g.N()}}x(qa);
|
||||||
function ra(a){B.call(this,"C1PCPU",a);sa(this);this.u.H=!1;this.u.Z=!1;this.ta=a.autoStart;this.ia=0;this.Aa=2;this.speed=this.ia;this.oa=30;this.na=5;this.ea=8;this.ra=["Slow","Fast","Max"];this.ab=["(1Mhz)","(up to "+this.ea+"Mhz)","(unlimited)"];this.O=[];this.K=[];this.ja=65536;this.ka=0;this.Y=65536;this.ca=0;this.v=[this.Hb,this.$c,this.Sd,this.l,this.l,this.bd,this.xb,this.l,this.ed,this.Zc,this.wb,this.l,this.l,this.Wc,this.ub,this.l,this.Gb,this.ad,this.l,this.l,this.l,this.cd,this.yb,this.l,
|
function ra(a){B.call(this,"C1PCPU",a);sa(this);this.u.H=!1;this.u.Z=!1;this.sa=a.autoStart;this.ia=0;this.Aa=2;this.speed=this.ia;this.oa=30;this.na=5;this.ea=8;this.qa=["Slow","Fast","Max"];this.ab=["(1Mhz)","(up to "+this.ea+"Mhz)","(unlimited)"];this.O=[];this.K=[];this.ja=65536;this.ka=0;this.Y=65536;this.ca=0;this.v=[this.Hb,this.$c,this.Sd,this.l,this.l,this.bd,this.xb,this.l,this.ed,this.Zc,this.wb,this.l,this.l,this.Wc,this.ub,this.l,this.Gb,this.ad,this.l,this.l,this.l,this.cd,this.yb,this.l,
|
||||||
this.Kb,this.Yc,this.l,this.l,this.l,this.Xc,this.vb,this.l,this.xc,this.qb,this.l,this.l,this.Db,this.sb,this.ld,this.l,this.gd,this.pb,this.kd,this.l,this.Cb,this.mb,this.hd,this.l,this.Eb,this.rb,this.l,this.l,this.l,this.tb,this.md,this.l,this.Cd,this.ob,this.l,this.l,this.l,this.nb,this.jd,this.l,this.sd,this.lc,this.l,this.l,this.l,this.nc,this.Tc,this.l,this.dd,this.kc,this.Sc,this.l,this.wc,this.hc,this.Qc,this.l,this.Ib,this.mc,this.l,this.l,this.l,this.oc,this.Uc,this.l,this.Mb,this.jc,
|
this.Kb,this.Yc,this.l,this.l,this.l,this.Xc,this.vb,this.l,this.xc,this.qb,this.l,this.l,this.Db,this.sb,this.ld,this.l,this.gd,this.pb,this.kd,this.l,this.Cb,this.mb,this.hd,this.l,this.Eb,this.rb,this.l,this.l,this.l,this.tb,this.md,this.l,this.Cd,this.ob,this.l,this.l,this.l,this.nb,this.jd,this.l,this.sd,this.lc,this.l,this.l,this.l,this.nc,this.Tc,this.l,this.dd,this.kc,this.Sc,this.l,this.wc,this.hc,this.Qc,this.l,this.Ib,this.mc,this.l,this.l,this.l,this.oc,this.Uc,this.l,this.Mb,this.jc,
|
||||||
this.l,this.l,this.l,this.ic,this.Rc,this.l,this.td,this.La,this.l,this.l,this.l,this.Na,this.qd,this.l,this.fd,this.Ka,this.pd,this.l,this.vc,this.Ha,this.nd,this.l,this.Jb,this.Ma,this.l,this.l,this.l,this.Oa,this.rd,this.l,this.Ed,this.Ja,this.l,this.l,this.l,this.Ia,this.od,this.l,this.l,this.Id,this.l,this.l,this.Qd,this.Kd,this.Nd,this.l,this.gc,this.l,this.Wd,this.l,this.Pd,this.Fd,this.Md,this.l,this.zb,this.Jd,this.l,this.l,this.Rd,this.Ld,this.Od,this.l,this.Yd,this.Hd,this.Xd,this.l,this.l,
|
this.l,this.l,this.l,this.ic,this.Rc,this.l,this.td,this.La,this.l,this.l,this.l,this.Na,this.qd,this.l,this.fd,this.Ka,this.pd,this.l,this.vc,this.Ha,this.nd,this.l,this.Jb,this.Ma,this.l,this.l,this.l,this.Oa,this.rd,this.l,this.Ed,this.Ja,this.l,this.l,this.l,this.Ia,this.od,this.l,this.l,this.Id,this.l,this.l,this.Qd,this.Kd,this.Nd,this.l,this.gc,this.l,this.Wd,this.l,this.Pd,this.Fd,this.Md,this.l,this.zb,this.Jd,this.l,this.l,this.Rd,this.Ld,this.Od,this.l,this.Yd,this.Hd,this.Xd,this.l,this.l,
|
||||||
this.Gd,this.l,this.l,this.Nc,this.Cc,this.Ic,this.l,this.Oc,this.Ec,this.Jc,this.l,this.Ud,this.Bc,this.Td,this.l,this.Lc,this.yc,this.Gc,this.l,this.Ab,this.Dc,this.l,this.l,this.Pc,this.Fc,this.Kc,this.l,this.Nb,this.Ac,this.Vd,this.l,this.Mc,this.zc,this.Hc,this.l,this.$b,this.Sb,this.l,this.l,this.ac,this.Ub,this.dc,this.l,this.uc,this.Rb,this.fc,this.l,this.Zb,this.Ob,this.bc,this.l,this.Fb,this.Tb,this.l,this.l,this.l,this.Vb,this.ec,this.l,this.Lb,this.Qb,this.l,this.l,this.l,this.Pb,this.cc,
|
this.Gd,this.l,this.l,this.Nc,this.Cc,this.Ic,this.l,this.Oc,this.Ec,this.Jc,this.l,this.Ud,this.Bc,this.Td,this.l,this.Lc,this.yc,this.Gc,this.l,this.Ab,this.Dc,this.l,this.l,this.Pc,this.Fc,this.Kc,this.l,this.Nb,this.Ac,this.Vd,this.l,this.Mc,this.zc,this.Hc,this.l,this.$b,this.Sb,this.l,this.l,this.ac,this.Ub,this.dc,this.l,this.uc,this.Rb,this.fc,this.l,this.Zb,this.Ob,this.bc,this.l,this.Fb,this.Tb,this.l,this.l,this.l,this.Vb,this.ec,this.l,this.Lb,this.Qb,this.l,this.l,this.l,this.Pb,this.cc,
|
||||||
this.l,this.Xb,this.Ta,this.l,this.l,this.Yb,this.Va,this.rc,this.l,this.tc,this.Sa,this.Vc,this.l,this.Wb,this.Pa,this.pc,this.l,this.Bb,this.Ua,this.l,this.l,this.l,this.Wa,this.sc,this.l,this.Dd,this.Ra,this.l,this.l,this.l,this.Qa,this.qc,this.l];this.$a=[7,6,0,0,0,3,5,0,3,2,2,0,0,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,3,6,0,0,3,3,5,0,4,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,3,2,2,0,3,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,4,2,2,0,5,4,6,0,2,5,0,0,0,4,6,0,2,
|
this.l,this.Xb,this.Ta,this.l,this.l,this.Yb,this.Va,this.rc,this.l,this.tc,this.Sa,this.Vc,this.l,this.Wb,this.Pa,this.pc,this.l,this.Bb,this.Ua,this.l,this.l,this.l,this.Wa,this.sc,this.l,this.Dd,this.Ra,this.l,this.l,this.l,this.Qa,this.qc,this.l];this.$a=[7,6,0,0,0,3,5,0,3,2,2,0,0,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,3,6,0,0,3,3,5,0,4,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,3,2,2,0,3,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,4,2,2,0,5,4,6,0,2,5,0,0,0,4,6,0,2,
|
||||||
4,0,0,0,4,7,0,0,6,0,0,3,3,3,0,2,0,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,0,4,0,0,2,6,2,0,3,3,3,0,2,2,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,4,4,4,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0]}D(ra);e=ra.prototype;e.reset=function(a){this.u.Z&&M(this);sa(this);this.c=this.a[65532]|this.a[65533]<<8;this.u.error=!1;a&&(!0===this.ta||null===this.ta&&void 0===this.A.run)&&N(this)};
|
4,0,0,0,4,7,0,0,6,0,0,3,3,3,0,2,0,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,0,4,0,0,2,6,2,0,3,3,3,0,2,2,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,4,4,4,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0]}D(ra);e=ra.prototype;e.reset=function(a){this.u.Z&&M(this);sa(this);this.c=this.a[65532]|this.a[65533]<<8;this.u.error=!1;a&&(!0===this.sa||null===this.sa&&void 0===this.A.run)&&N(this)};
|
||||||
e.J=function(a,b,c){a=!1;switch(b){case "run":this.A[b]=c;c.onclick=function(a){return function(){a.u.Z?M(a):N(a)}}(this);a=!0;break;case "A":case "X":case "Y":case "S":case "PC":case "C":case "Z":case "I":case "D":case "B":case "V":case "N":case "speed":this.A[b]=c;a=!0;break;case "setSpeed":this.A[b]=c,c.onclick=function(a){return function(){ta(a,2<=a.speed?a.ia:a.speed+1,!0)}}(this),a=!0}return a};e.X=function(a,b){this.a=a;(this.Fa=b)?t("unsupported CPU address buffer offset ("+this.Fa+")"):this.N()};
|
e.J=function(a,b,c){a=!1;switch(b){case "run":this.A[b]=c;c.onclick=function(a){return function(){a.u.Z?M(a):N(a)}}(this);a=!0;break;case "A":case "X":case "Y":case "S":case "PC":case "C":case "Z":case "I":case "D":case "B":case "V":case "N":case "speed":this.A[b]=c;a=!0;break;case "setSpeed":this.A[b]=c,c.onclick=function(a){return function(){ta(a,2<=a.speed?a.ia:a.speed+1,!0)}}(this),a=!0}return a};e.X=function(a,b){this.a=a;(this.Fa=b)?t("unsupported CPU address buffer offset ("+this.Fa+")"):this.N()};
|
||||||
e.$=function(a,b){if(a&&!this.u.H){this.I=b;if(a=L(b,"video"))this.za=function(a){return function(){ua(a)}}(a),this.da=function(a){return function(){a.da()}}(a);this.u.H=!0;this.reset(!0);this.update()}};function va(a,b,c,d,f){0>wa(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.ka<c&&(a.ka=c),a.O.push([b,c,d,f]))}function O(a,b,c,d,f){0>wa(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.ca<c&&(a.ca=c),a.K.push([b,c,d,f]))}
|
e.$=function(a,b){if(a&&!this.u.H){this.I=b;if(a=L(b,"video"))this.za=function(a){return function(){ua(a)}}(a),this.da=function(a){return function(){a.da()}}(a);this.u.H=!0;this.reset(!0);this.update()}};function va(a,b,c,d,f){0>wa(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.ka<c&&(a.ka=c),a.O.push([b,c,d,f]))}function O(a,b,c,d,f){0>wa(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.ca<c&&(a.ca=c),a.K.push([b,c,d,f]))}
|
||||||
function wa(a,b,c,d,f){for(var g=0;g<a.length;g++)if(a[g][0]==b&&a[g][1]==c&&a[g][2]==d&&a[g][3]==f)return g;return-1}function ta(a,b,c){void 0!==b&&(a.speed=b,a.A.setSpeed&&(a.A.setSpeed.innerHTML=a.ra[2<=b?0:b+1]),a.F("running at "+a.ra[b].toLowerCase()+" speed "+a.ab[b]),c&&a.da());a.S=0;a.Ca=q();xa(a)}e.za=function(){};e.da=function(){};function P(a,b,c,d){void 0!==a.A[b]&&(void 0===d&&(d=1),c="0000"+c.toString(16),a.A[b].innerHTML=c.slice(c.length-d).toUpperCase())}
|
function wa(a,b,c,d,f){for(var g=0;g<a.length;g++)if(a[g][0]==b&&a[g][1]==c&&a[g][2]==d&&a[g][3]==f)return g;return-1}function ta(a,b,c){void 0!==b&&(a.speed=b,a.A.setSpeed&&(a.A.setSpeed.innerHTML=a.qa[2<=b?0:b+1]),a.F("running at "+a.qa[b].toLowerCase()+" speed "+a.ab[b]),c&&a.da());a.S=0;a.Ca=q();xa(a)}e.za=function(){};e.da=function(){};function P(a,b,c,d){void 0!==a.A[b]&&(void 0===d&&(d=1),c="0000"+c.toString(16),a.A[b].innerHTML=c.slice(c.length-d).toUpperCase())}
|
||||||
function ya(a){P(a,"A",a.g,2);P(a,"X",a.m,2);P(a,"Y",a.o,2);var b=za(a);P(a,"C",b&1?1:0);P(a,"Z",b&2?1:0);P(a,"I",b&4?1:0);P(a,"D",b&8?1:0);P(a,"B",b&16?1:0);P(a,"V",b&64?1:0);P(a,"N",b&128?1:0);P(a,"S",a.s,4);P(a,"PC",a.c,4);a.A.speed&&a.ba&&(a.A.speed.innerHTML=a.ba.toFixed(1)+"Mhz")}
|
function ya(a){P(a,"A",a.g,2);P(a,"X",a.m,2);P(a,"Y",a.o,2);var b=za(a);P(a,"C",b&1?1:0);P(a,"Z",b&2?1:0);P(a,"I",b&4?1:0);P(a,"D",b&8?1:0);P(a,"B",b&16?1:0);P(a,"V",b&64?1:0);P(a,"N",b&128?1:0);P(a,"S",a.s,4);P(a,"PC",a.c,4);a.A.speed&&a.ba&&(a.A.speed.innerHTML=a.ba.toFixed(1)+"Mhz")}
|
||||||
function xa(a,b){var c=30;c<a.oa&&(c=a.oa);c<a.na&&(c=a.na);var d=1;b&&a.speed>a.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.bb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ea=Math.floor(1E6/a.oa*d);a.Da=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ea,a.T=a.Da);a.ma=0}function Aa(a){1E6<=a.ma&&xa(a,!0);a.V=0;a.cb=q()}
|
function xa(a,b){var c=30;c<a.oa&&(c=a.oa);c<a.na&&(c=a.na);var d=1;b&&a.speed>a.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.bb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ea=Math.floor(1E6/a.oa*d);a.Da=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ea,a.T=a.Da);a.ma=0}function Aa(a){1E6<=a.ma&&xa(a,!0);a.V=0;a.cb=q()}
|
||||||
function Ba(a){var b=q(),c=a.bb;a.V&&(c=Math.round(c*a.V/a.la));c-=b-a.cb;if(b-=a.Ca)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ta(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c}
|
function Ba(a){var b=q(),c=a.bb;a.V&&(c=Math.round(c*a.V/a.la));c-=b-a.cb;if(b-=a.Ca)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ta(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c}
|
||||||
function N(a){if(oa(a,!0)){a.u.Z||(ta(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());Aa(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ea,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Da,ya(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();oa(a,!1);pa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Ba(a))}else a.update(),a.I&&a.I.stop(a.Ca,a.S)}
|
function N(a){if(oa(a,!0)){a.u.Z||(ta(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());Aa(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ea,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Da,ya(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();oa(a,!1);pa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Ba(a))}else a.update(),a.I&&a.I.stop(a.Ca,a.S)}
|
||||||
e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d<this.O.length;d++)b>=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d<this.K.length;d++)b>=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.$a[a]}while(0<this.G);return!0};
|
e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d<this.O.length;d++)b>=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d<this.K.length;d++)b>=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.$a[a]}while(0<this.G);return!0};
|
||||||
function M(a){a.u.pa&&(a.u.xa=!0);a.L-=a.G;a.G=0;a.u.Z&&(a.u.Z=!1,a.A.run&&(a.A.run.innerHTML="Run"))}e.update=function(){this.za();ya(this)};function Ca(a){return a.u.Z?a.S+a.L-a.G:0}e.W=function(a){return this.a[a]};e.R=function(a,b){this.a[a]=b};function za(a){var b=a.f&256?1:0,b=b|(a.i&255?0:2),b=b|((a.w&255^a.C^a.w>>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b}
|
function M(a){a.u.ta&&(a.u.xa=!0);a.L-=a.G;a.G=0;a.u.Z&&(a.u.Z=!1,a.A.run&&(a.A.run.innerHTML="Run"))}e.update=function(){this.za();ya(this)};function Ca(a){return a.u.Z?a.S+a.L-a.G:0}e.W=function(a){return this.a[a]};e.R=function(a,b){this.a[a]=b};function za(a){var b=a.f&256?1:0,b=b|(a.i&255?0:2),b=b|((a.w&255^a.C^a.w>>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b}
|
||||||
function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function sa(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0}
|
function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function sa(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0}
|
||||||
e.Hb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=za(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.$c=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.bd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]};
|
e.Hb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=za(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.$c=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.bd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]};
|
||||||
e.xb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.ed=function(){this.B=za(this);this.a[this.s--]=this.B;this.s|=256};e.Zc=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.wb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Wc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]};
|
e.xb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.ed=function(){this.B=za(this);this.a[this.s--]=this.B;this.s|=256};e.Zc=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.wb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Wc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]};
|
||||||
|
|
@ -82,19 +82,19 @@ function Ga(a){B.call(this,"C1PKeyboard",a);this.u.H=!1;this.ea=a.model;this.L=8
|
||||||
29680;this.b[54]=29184;this.b[38]=29424;this.b[55]=28928;this.b[39]=29168;this.b[56]=26368;this.b[40]=26608;this.b[57]=26112;this.b[41]=26352;this.b[48]=25856;this.b[58]=25600;this.b[42]=25840;this.b[45]=25344;this.b[61]=25584;this.b[46]=22272;this.b[62]=22512;this.b[108]=22016;this.b[76]=22256;this.b[92]=22256;this.b[111]=21760;this.b[79]=22E3;this.b[this.ka]=22E3;this.b[this.la]=21504;this.b[this.fa]=21248;this.b[119]=18176;this.b[87]=18416;this.b[101]=17920;this.b[69]=18160;this.b[114]=17664;this.b[82]=
|
29680;this.b[54]=29184;this.b[38]=29424;this.b[55]=28928;this.b[39]=29168;this.b[56]=26368;this.b[40]=26608;this.b[57]=26112;this.b[41]=26352;this.b[48]=25856;this.b[58]=25600;this.b[42]=25840;this.b[45]=25344;this.b[61]=25584;this.b[46]=22272;this.b[62]=22512;this.b[108]=22016;this.b[76]=22256;this.b[92]=22256;this.b[111]=21760;this.b[79]=22E3;this.b[this.ka]=22E3;this.b[this.la]=21504;this.b[this.fa]=21248;this.b[119]=18176;this.b[87]=18416;this.b[101]=17920;this.b[69]=18160;this.b[114]=17664;this.b[82]=
|
||||||
17904;this.b[116]=17408;this.b[84]=17648;this.b[121]=17152;this.b[89]=17392;this.b[117]=16896;this.b[85]=17136;this.b[105]=16640;this.b[73]=16880;this.b[115]=14080;this.b[83]=14320;this.b[100]=13824;this.b[68]=14064;this.b[102]=13568;this.b[70]=13808;this.b[103]=13312;this.b[71]=13552;this.b[104]=13056;this.b[72]=13296;this.b[106]=12800;this.b[74]=13040;this.b[107]=12544;this.b[75]=12784;this.b[91]=12784;this.b[120]=9984;this.b[88]=10224;this.b[99]=9728;this.b[67]=9968;this.b[118]=9472;this.b[86]=
|
17904;this.b[116]=17408;this.b[84]=17648;this.b[121]=17152;this.b[89]=17392;this.b[117]=16896;this.b[85]=17136;this.b[105]=16640;this.b[73]=16880;this.b[115]=14080;this.b[83]=14320;this.b[100]=13824;this.b[68]=14064;this.b[102]=13568;this.b[70]=13808;this.b[103]=13312;this.b[71]=13552;this.b[104]=13056;this.b[72]=13296;this.b[106]=12800;this.b[74]=13040;this.b[107]=12544;this.b[75]=12784;this.b[91]=12784;this.b[120]=9984;this.b[88]=10224;this.b[99]=9728;this.b[67]=9968;this.b[118]=9472;this.b[86]=
|
||||||
9712;this.b[98]=9216;this.b[66]=9456;this.b[110]=8960;this.b[78]=9200;this.b[94]=9200;this.b[109]=8704;this.b[77]=8944;this.b[93]=8944;this.b[44]=8448;this.b[60]=8688;this.b[113]=5888;this.b[81]=6128;this.b[97]=5632;this.b[65]=5872;this.b[122]=5376;this.b[90]=5616;this.b[32]=5120;this.b[47]=4864;this.b[63]=5104;this.b[59]=4608;this.b[43]=4848;this.b[112]=4352;this.b[80]=4592;this.b[64]=4592;this.b[this.v]=1536;this.b[this.K]=1280;this.b[240]=512;this.b[242]=256;this.b[244]=0;this.reset()}D(Ga);
|
9712;this.b[98]=9216;this.b[66]=9456;this.b[110]=8960;this.b[78]=9200;this.b[94]=9200;this.b[109]=8704;this.b[77]=8944;this.b[93]=8944;this.b[44]=8448;this.b[60]=8688;this.b[113]=5888;this.b[81]=6128;this.b[97]=5632;this.b[65]=5872;this.b[122]=5376;this.b[90]=5616;this.b[32]=5120;this.b[47]=4864;this.b[63]=5104;this.b[59]=4608;this.b[43]=4848;this.b[112]=4352;this.b[80]=4592;this.b[64]=4592;this.b[this.v]=1536;this.b[this.K]=1280;this.b[240]=512;this.b[242]=256;this.b[244]=0;this.reset()}D(Ga);
|
||||||
e=Ga.prototype;e.reset=function(){this.qa(this.ea);this.c=this.s;this.S=0;this.g=[this.s,0,0,0,0,0,0,0];this.w=[];if(this.h)for(var a in this.h)isNaN(+a)||this.h[a]&&clearTimeout(this.h[a]);this.h=[];this.ca=this.i=0;this.T=-1;this.P=this.g;this.V=this.C=0;this.j=""};
|
e=Ga.prototype;e.reset=function(){this.pa(this.ea);this.c=this.s;this.S=0;this.g=[this.s,0,0,0,0,0,0,0];this.w=[];if(this.h)for(var a in this.h)isNaN(+a)||this.h[a]&&clearTimeout(this.h[a]);this.h=[];this.ca=this.i=0;this.T=-1;this.P=this.g;this.V=this.C=0;this.j=""};
|
||||||
e.J=function(a,b,c){if(void 0===this.A[b])switch(b){case "keyDown":return this.A[b]=c,c.onkeydown=function(a){return function(b){return Ha(a,b,!0)}}(this),!0;case "keyPress":return this.A[b]=c,c.onkeypress=function(a){return function(b){var c=!0;b=b||window.event;b=b.which||b.keyCode;a.j="";a.c&8?a.c&=-9:c=!T(a,b);return c}}(this),!0;case "keyUp":return this.A[b]=c,c.onkeyup=function(a){return function(b){return Ha(a,b,!1)}}(this),!0;case "break":return this.A[b]=c,c.onclick=function(a){return function(){a.I&&
|
e.J=function(a,b,c){if(void 0===this.A[b])switch(b){case "keyDown":return this.A[b]=c,c.onkeydown=function(a){return function(b){return Ha(a,b,!0)}}(this),!0;case "keyPress":return this.A[b]=c,c.onkeypress=function(a){return function(b){var c=!0;b=b||window.event;b=b.which||b.keyCode;a.j="";a.c&8?a.c&=-9:c=!T(a,b);return c}}(this),!0;case "keyUp":return this.A[b]=c,c.onkeyup=function(a){return function(b){return Ha(a,b,!1)}}(this),!0;case "break":return this.A[b]=c,c.onclick=function(a){return function(){a.I&&
|
||||||
a.I.reset(!0)}}(this),!0;default:if(void 0!==this.m[b])return this.A[b]=c,c.onclick=function(a,b,c){return function(){a.f&&a.f.da();return!T(a,c)}}(this,b,this.m[b]),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.Y=b;this.oa=c-b+1;this.ta=this.Y+this.oa;d&&(this.f=d,O(d,b,c,this,this.R));this.N()};e.qa=function(a){this.o=a;this.B=255;600!=this.o&&(this.B=0,this.F("updated keyboard model: "+this.o))};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b)};
|
a.I.reset(!0)}}(this),!0;default:if(void 0!==this.m[b])return this.A[b]=c,c.onclick=function(a,b,c){return function(){a.f&&a.f.da();return!T(a,c)}}(this,b,this.m[b]),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.Y=b;this.oa=c-b+1;this.sa=this.Y+this.oa;d&&(this.f=d,O(d,b,c,this,this.R));this.N()};e.pa=function(a){this.o=a;this.B=255;600!=this.o&&(this.B=0,this.F("updated keyboard model: "+this.o))};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b)};
|
||||||
e.N=function(){this.U=(this.ra=u("iOS"))||u("Android");B.prototype.N.call(this)};function Ia(a,b){b=b?100:250;a.f&&a.f.ba&&(b/=a.f.ba);return b}function Ja(a,b){!a.i||void 0!==b&&b==a.i||(clearTimeout(a.h[a.i]),U(a,a.i,!1,4))}function V(a,b,c){a.j=b;Ka(a,c||300)}function Ka(a,b){if(0<a.j.length){var c=a.j.charCodeAt(0);10==c&&(c=13);65<=c&&90>=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0<a.j.length&&setTimeout(function(a){return function(){Ka(a,b)}}(a),b)}
|
e.N=function(){this.U=(this.qa=u("iOS"))||u("Android");B.prototype.N.call(this)};function Ia(a,b){b=b?100:250;a.f&&a.f.ba&&(b/=a.f.ba);return b}function Ja(a,b){!a.i||void 0!==b&&b==a.i||(clearTimeout(a.h[a.i]),U(a,a.i,!1,4))}function V(a,b,c){a.j=b;Ka(a,c||300)}function Ka(a,b){if(0<a.j.length){var c=a.j.charCodeAt(0);10==c&&(c=13);65<=c&&90>=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0<a.j.length&&setTimeout(function(a){return function(){Ka(a,b)}}(a),b)}
|
||||||
function Ha(a,b,c){var d,f=!c;b=b.keyCode;c&&(a.ca=b);16==b?(a.c&=-5,c&&(a.c|=4),b+=224,f=!1):18==b?(a.c&=-3,c&&(a.c|=2),b+=224,f=!1):b==a.v-224?(a.c&=-65,c&&(a.c|=64),b+=224,f=!1):20==b?(c=!c,a.c&=~a.s,c&&(a.c|=a.s),b+=224,f=!1):91==b?(a.c&=-9,c&&(a.c|=8),f=!1,d=!0):d=9==b?f=!1:b==a.O||b==a.L?c?!T(a,b):!1:!0;f&&(a.c&=-9,a.U||b!=a.ca||Ja(a));void 0===d&&(d=!U(a,b,c,2));return d}
|
function Ha(a,b,c){var d,f=!c;b=b.keyCode;c&&(a.ca=b);16==b?(a.c&=-5,c&&(a.c|=4),b+=224,f=!1):18==b?(a.c&=-3,c&&(a.c|=2),b+=224,f=!1):b==a.v-224?(a.c&=-65,c&&(a.c|=64),b+=224,f=!1):20==b?(c=!c,a.c&=~a.s,c&&(a.c|=a.s),b+=224,f=!1):91==b?(a.c&=-9,c&&(a.c|=8),f=!1,d=!0):d=9==b?f=!1:b==a.O||b==a.L?c?!T(a,b):!1:!0;f&&(a.c&=-9,a.U||b!=a.ca||Ja(a));void 0===d&&(d=!U(a,b,c,2));return d}
|
||||||
function T(a,b){var c=!1;b==a.G?a.I&&(a.I.reset(!0),c=!0):(a.U&&65<=b&&90>=b&&(b+=32),Ja(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Aa?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ia(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c}
|
function T(a,b){var c=!1;b==a.G?a.I&&(a.I.reset(!0),c=!0):(a.U&&65<=b&&90>=b&&(b+=32),Ja(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Aa?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ia(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c}
|
||||||
function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.v),h=a.b[b]);void 0!==h&&(b=h>>12,f=h>>8&15,g||(g=h&255),c?(a.g[b]|=1<<f,a.g[0]=g==a.v?a.g[0]|64:240==g?a.g[0]|4:242==g?a.g[0]|2:a.g[0]&-71):(a.g[b]&=~(1<<f),a.g[0]&=-71,a.g[0]|=a.c&70),c=!d&&!a.w.length,a.w.push(a.g.slice()),La(a,c),f=!0);return f}e.W=function(){};e.R=function(a){this.S=this.f.W(a)^this.B;this.C++;La(this,!1,a)};
|
function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.v),h=a.b[b]);void 0!==h&&(b=h>>12,f=h>>8&15,g||(g=h&255),c?(a.g[b]|=1<<f,a.g[0]=g==a.v?a.g[0]|64:240==g?a.g[0]|4:242==g?a.g[0]|2:a.g[0]&-71):(a.g[b]&=~(1<<f),a.g[0]&=-71,a.g[0]|=a.c&70),c=!d&&!a.w.length,a.w.push(a.g.slice()),La(a,c),f=!0);return f}e.W=function(){};e.R=function(a){this.S=this.f.W(a)^this.B;this.C++;La(this,!1,a)};
|
||||||
function La(a,b,c){var d=Ca(a.f);b||(a.f.speed==a.f.Aa?b=void 0!==c&&32<=a.C:(b=d-a.V,b=0>b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<<b&&(d|=a.P[b]);d^=a.B;if(void 0!==c)a.a[c]=d;else if(c=a.Y,d!=a.T)for(;c<a.ta;c++)a.a[c]=d;a.T=d}x(function(){for(var a=I(document,"c1pjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new Ga(d);H(d,c)}});
|
function La(a,b,c){var d=Ca(a.f);b||(a.f.speed==a.f.Aa?b=void 0!==c&&32<=a.C:(b=d-a.V,b=0>b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<<b&&(d|=a.P[b]);d^=a.B;if(void 0!==c)a.a[c]=d;else if(c=a.Y,d!=a.T)for(;c<a.sa;c++)a.a[c]=d;a.T=d}x(function(){for(var a=I(document,"c1pjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new Ga(d);H(d,c)}});
|
||||||
function Ma(a,b,c,d){B.call(this,"C1PVideo",a);this.S=a.model;this.L=a.charCols;this.O=a.charRows;this.U=a.screenWidth;this.V=a.screenHeight;this.j=a.charWidth;this.m=a.charHeight;Na(this);this.i=b;this.B=c;this.g=d;b=["","moz","ms","webkit"];a=a.smoothing;(c=ja.smoothing)&&(a="true"==c);if(null!=a)for(c=0;c<b.length;c++)if(d=(d=b[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.B[d]){this.B[d]=a;break}}D(Ma);e=Ma.prototype;
|
function Ma(a,b,c,d){B.call(this,"C1PVideo",a);this.S=a.model;this.L=a.charCols;this.O=a.charRows;this.U=a.screenWidth;this.V=a.screenHeight;this.j=a.charWidth;this.m=a.charHeight;Na(this);this.i=b;this.B=c;this.g=d;b=["","moz","ms","webkit"];a=a.smoothing;(c=ja.smoothing)&&(a="true"==c);if(null!=a)for(c=0;c<b.length;c++)if(d=(d=b[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.B[d]){this.B[d]=a;break}}D(Ma);e=Ma.prototype;
|
||||||
e.reset=function(a){this.qa(this.S);if(this.a)for(var b=this.v;b<this.C;b++)this.a[b]=a?Math.floor(256*Math.random()):32};e.J=function(a,b,c){switch(b){case "refresh":return this.A[b]=c,c.onclick=function(a){return function(){Oa(a);ua(a)}}(this),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.v=b;this.T=c-b+1;this.C=this.v+this.T;d&&(this.f=d,va(d,56832,56832,this,this.W),O(d,56832,56832,this,this.R));this.reset(!0)};
|
e.reset=function(a){this.pa(this.S);if(this.a)for(var b=this.v;b<this.C;b++)this.a[b]=a?Math.floor(256*Math.random()):32};e.J=function(a,b,c){switch(b){case "refresh":return this.A[b]=c,c.onclick=function(a){return function(){Oa(a);ua(a)}}(this),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.v=b;this.T=c-b+1;this.C=this.v+this.T;d&&(this.f=d,va(d,56832,56832,this,this.W),O(d,56832,56832,this,this.R));this.reset(!0)};
|
||||||
function Na(a,b,c,d,f){a.s=void 0!==b?b:a.L;a.Y=void 0!==c?c:a.O;a.c=a.s*a.Y;a.C=a.v+a.c;a.K=void 0!==d?d:0;a.P=void 0!==f?f:c;a.G=Math.floor(a.U/a.s);a.I=Math.floor(a.V/a.P)}e.da=function(){this.i.focus()};e.qa=function(a){this.o=a;600==this.o?(Na(this,this.L,this.O,3,25),1024==this.c&&this.f&&(this.h=this.C+this.c-1,O(this.f,this.h,this.h,this,this.Ya))):(this.F("updated video model: "+this.o),Na(this,64,32));Oa(this);ua(this)};
|
function Na(a,b,c,d,f){a.s=void 0!==b?b:a.L;a.Y=void 0!==c?c:a.O;a.c=a.s*a.Y;a.C=a.v+a.c;a.K=void 0!==d?d:0;a.P=void 0!==f?f:c;a.G=Math.floor(a.U/a.s);a.I=Math.floor(a.V/a.P)}e.da=function(){this.i.focus()};e.pa=function(a){this.o=a;600==this.o?(Na(this,this.L,this.O,3,25),1024==this.c&&this.f&&(this.h=this.C+this.c-1,O(this.f,this.h,this.h,this,this.Ya))):(this.F("updated video model: "+this.o),Na(this,64,32));Oa(this);ua(this)};
|
||||||
e.$=function(a,b){if(a&&!this.u.H&&J(this)){if(this.u.H=!0,this.b=L(b,"keyboard"))this.b.J("canvas","keyDown",this.i),this.b.J("canvas","keyPress",this.i),this.b.J("canvas","keyUp",this.i)}else!a&&this.u.H&&(this.u.H=!1)};e.N=function(){this.j||(this.j=Math.floor(this.g.width/16));this.m||(this.m=Math.floor(this.g.height/16));B.prototype.N.call(this)};e.W=function(a){var b=this.f.W(a);this.f.R(a,b&127|(Math.floor(Ca(this.f)/8333)&1?128:0))};e.R=function(){};
|
e.$=function(a,b){if(a&&!this.u.H&&J(this)){if(this.u.H=!0,this.b=L(b,"keyboard"))this.b.J("canvas","keyDown",this.i),this.b.J("canvas","keyPress",this.i),this.b.J("canvas","keyUp",this.i)}else!a&&this.u.H&&(this.u.H=!1)};e.N=function(){this.j||(this.j=Math.floor(this.g.width/16));this.m||(this.m=Math.floor(this.g.height/16));B.prototype.N.call(this)};e.W=function(a){var b=this.f.W(a);this.f.R(a,b&127|(Math.floor(Ca(this.f)/8333)&1?128:0))};e.R=function(){};
|
||||||
e.Ya=function(a,b){if(void 0!==b){this.qa(540);this.b&&this.b.qa(542);a=this.f;b=a.K;var c=[],d=wa(b,this.h,this.h,this,this.Ya);if(0<=d){c.push(b[d][0]);c.push(b[d][1]);b.splice(d,1);for(var f=65536,g=0,d=0;d<b.length;d++)f>b[d][0]&&(f=b[d][0]),g<b[d][1]&&(g=b[d][1]);c.push(f);c.push(g)}4==c.length&&(a.Y=c[2],a.ca=c[3])}};function Oa(a){a.w=Array(a.c);for(var b=0;b<=a.c;b++)a.w[b]=-1}
|
e.Ya=function(a,b){if(void 0!==b){this.pa(540);this.b&&this.b.pa(542);a=this.f;b=a.K;var c=[],d=wa(b,this.h,this.h,this,this.Ya);if(0<=d){c.push(b[d][0]);c.push(b[d][1]);b.splice(d,1);for(var f=65536,g=0,d=0;d<b.length;d++)f>b[d][0]&&(f=b[d][0]),g<b[d][1]&&(g=b[d][1]);c.push(f);c.push(g)}4==c.length&&(a.Y=c[2],a.ca=c[3])}};function Oa(a){a.w=Array(a.c);for(var b=0;b<=a.c;b++)a.w[b]=-1}
|
||||||
function ua(a){var b=0;if(a.u.H)for(;b<a.c;){var c=a.a[a.v+b];if(a.w[b]!=c){var d=Math.floor(b/a.s);if(d>=a.K&&(d-=a.K,d<a.P)){var f=c*a.j;a.B.drawImage(a.g,f%a.g.width,Math.floor(f/a.g.width)*a.m,a.j,a.m,b%a.s*a.G,d*a.I,a.G,a.I)}a.w[b]=c}b++}}
|
function ua(a){var b=0;if(a.u.H)for(;b<a.c;){var c=a.a[a.v+b];if(a.w[b]!=c){var d=Math.floor(b/a.s);if(d>=a.K&&(d-=a.K,d<a.P)){var f=c*a.j;a.B.drawImage(a.g,f%a.g.width,Math.floor(f/a.g.width)*a.m,a.j,a.m,b%a.s*a.G,d*a.I,a.G,a.I)}a.w[b]=c}b++}}
|
||||||
x(function(){for(var a=I(document,"c1pjs","video"),b=0;b<a.length;b++){var c=a[b],d=G(c),f=document.createElement("canvas");if(!f||!f.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor;
|
x(function(){for(var a=I(document,"c1pjs","video"),b=0;b<a.length;b++){var c=a[b],d=G(c),f=document.createElement("canvas");if(!f||!f.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor;
|
||||||
f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,h=f.getContext("2d"),f=new Ma(d,f,h,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}});
|
f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,h=f.getContext("2d"),f=new Ma(d,f,h,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}});
|
||||||
|
|
@ -103,17 +103,17 @@ e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0
|
||||||
b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))};
|
b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))};
|
||||||
function Qa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c<f.length;c++)d+=String.fromCharCode(f[c]);a.c=d;a.j=!1}catch(g){a.F('Error processing file "'+b+'": '+g.message);return}a.I&&a.b&&a.f.u.Z?(a.F("auto-loading "+b),a.f.da(),"."!=a.c.charAt(0)?(a.g=1,V(a.b,"NEW\nLOAD\n")):(a.g=2,a.I.reset(!0),V(a.b,"ML"))):a.F(b+" ready to load")}else a.F('Error loading file "'+b+'" ('+d+")")}
|
function Qa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c<f.length;c++)d+=String.fromCharCode(f[c]);a.c=d;a.j=!1}catch(g){a.F('Error processing file "'+b+'": '+g.message);return}a.I&&a.b&&a.f.u.Z?(a.F("auto-loading "+b),a.f.da(),"."!=a.c.charAt(0)?(a.g=1,V(a.b,"NEW\nLOAD\n")):(a.g=2,a.I.reset(!0),V(a.b,"ML"))):a.F(b+" ready to load")}else a.F('Error loading file "'+b+'" ('+d+")")}
|
||||||
e.W=function(a,b){void 0!==b&&(a&1?Ra(this):this.c&&!this.i&&Ra(this))};e.R=function(){};function Ra(a){if(void 0!==a.c){a.h=-1;if(a.i<a.c.length){var b=a.c.charCodeAt(a.i++)&255;a.j&&10==b&&(b=13);a.h=b}else a.c="",a.i=0,1==a.g&&a.b&&V(a.b," \nRUN\n"),a.g=0;for(b=a.o+0;b<a.s;b+=2)a.a[b]=0<=a.h?1:0;for(b=a.o+1;b<a.s;b+=2)a.a[b]=0<=a.h?a.h:0}}x(function(){for(var a=I(document,"c1pjs","serial"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new Pa(d);H(d,c)}});
|
e.W=function(a,b){void 0!==b&&(a&1?Ra(this):this.c&&!this.i&&Ra(this))};e.R=function(){};function Ra(a){if(void 0!==a.c){a.h=-1;if(a.i<a.c.length){var b=a.c.charCodeAt(a.i++)&255;a.j&&10==b&&(b=13);a.h=b}else a.c="",a.i=0,1==a.g&&a.b&&V(a.b," \nRUN\n"),a.g=0;for(b=a.o+0;b<a.s;b+=2)a.a[b]=0<=a.h?1:0;for(b=a.o+1;b<a.s;b+=2)a.a[b]=0<=a.h?a.h:0}}x(function(){for(var a=I(document,"c1pjs","serial"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new Pa(d);H(d,c)}});
|
||||||
function Sa(a){B.call(this,"C1PDiskController",a);this.u.H=!1;this.reset(!0)}D(Sa);e=Sa.prototype;e.reset=function(a){Ta(this);this.b=-1;a&&(this.c=[],this.c[0]={Zd:0,Ga:40,Za:!0,ha:20,aa:0,ga:-1,sa:[]})};
|
function Sa(a){B.call(this,"C1PDiskController",a);this.u.H=!1;this.reset(!0)}D(Sa);e=Sa.prototype;e.reset=function(a){Ta(this);this.b=-1;a&&(this.c=[],this.c[0]={Zd:0,Ga:40,Za:!0,ha:20,aa:0,ga:-1,ra:[]})};
|
||||||
function Ta(a){a.v={D:64,read:function(){},update:function(a){return function(b){void 0!==b&&(this.D=b);a.j.D&4||W(a,0,this)}}(a)};a.g={D:255,read:function(){this.update()},update:function(a){return function(b){void 0===b?b=a.g.D:Ua(a,b,a.i.D);b=(b|190)&-2;if(0<=a.b&&a.c[a.b].sa.length){var c=a.c[a.b];c.Za&&(b&=-33);c.aa||(b&=-3);10>=--c.ha&&(0<c.ha?(b&=-129,Va(a)):(c.ha=100,0<=a.b&&(a.c[a.b].ga=0,Wa(a))))}this.D=b;a.j.D&4&&W(a,0,this)}}(a)};a.j={D:0,read:function(){},update:function(a){return function(b){void 0!==
|
function Ta(a){a.v={D:64,read:function(){},update:function(a){return function(b){void 0!==b&&(this.D=b);a.j.D&4||W(a,0,this)}}(a)};a.g={D:255,read:function(){this.update()},update:function(a){return function(b){void 0===b?b=a.g.D:Ua(a,b,a.i.D);b=(b|190)&-2;if(0<=a.b&&a.c[a.b].ra.length){var c=a.c[a.b];c.Za&&(b&=-33);c.aa||(b&=-3);10>=--c.ha&&(0<c.ha?(b&=-129,Va(a)):(c.ha=100,0<=a.b&&(a.c[a.b].ga=0,Wa(a))))}this.D=b;a.j.D&4&&W(a,0,this)}}(a)};a.j={D:0,read:function(){},update:function(a){return function(b){void 0!==
|
||||||
b&&(this.D=b&-193);W(a,1,this);a.g.update();a.v.update()}}(a)};a.w={D:255,read:function(){},update:function(a){return function(b){void 0!==b&&(this.D=b);a.m.D&4||W(a,2,this)}}(a)};a.i={D:255,read:function(){},update:function(a){return function(b){void 0===b?b=a.i.D:Ua(a,a.g.D,b);if(0<=a.b&&a.b<a.c.length){var c=a.c[a.b];c.sa.length&&a.i.D&8&&!(b&8)&&(b&4?c.aa--:c.aa++,c.aa>=c.Ga&&(c.aa=c.Ga),0>c.aa&&(c.aa=0),c.ha=20,a.g.update(a.g.D|128),Va(a))}this.D=b;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){},
|
b&&(this.D=b&-193);W(a,1,this);a.g.update();a.v.update()}}(a)};a.w={D:255,read:function(){},update:function(a){return function(b){void 0!==b&&(this.D=b);a.m.D&4||W(a,2,this)}}(a)};a.i={D:255,read:function(){},update:function(a){return function(b){void 0===b?b=a.i.D:Ua(a,a.g.D,b);if(0<=a.b&&a.b<a.c.length){var c=a.c[a.b];c.ra.length&&a.i.D&8&&!(b&8)&&(b&4?c.aa--:c.aa++,c.aa>=c.Ga&&(c.aa=c.Ga),0>c.aa&&(c.aa=0),c.ha=20,a.g.update(a.g.D|128),Va(a))}this.D=b;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){},
|
||||||
update:function(a){return function(b){void 0!==b&&(this.D=b&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.h.D=14),this.D=b);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.h.D);b&=-2;0<=a.b&&0<=a.c[a.b].ga&&(b|=1);this.D=b;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Wa(a)}}(a),update:function(a){return function(b){void 0!==b&&(this.D=
|
update:function(a){return function(b){void 0!==b&&(this.D=b&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.h.D=14),this.D=b);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.h.D);b&=-2;0<=a.b&&0<=a.c[a.b].ga&&(b|=1);this.D=b;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Wa(a)}}(a),update:function(a){return function(b){void 0!==b&&(this.D=
|
||||||
b);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,d){Xa(a,b,c,d)})}}}(this),!0}return!1};
|
b);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,d){Xa(a,b,c,d)})}}}(this),!0}return!1};
|
||||||
e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)};
|
e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)};
|
||||||
function Xa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c<f.length;c++){var g,h=f[c],l=h.sectors;if(void 0===(g=h.trackNum)||void 0===l)throw Error("track "+c+" missing data");g!=c&&t("track "+g+" out of order (expected "+c+")");d=[];var k,n,m;if(g){Ya(d,h,"trackSig");Za(d,h);X(d,h,"trackType");for(var y=0;y<l.length;y++){k=l[y];
|
function Xa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c<f.length;c++){var g,h=f[c],l=h.sectors;if(void 0===(g=h.trackNum)||void 0===l)throw Error("track "+c+" missing data");g!=c&&t("track "+g+" out of order (expected "+c+")");d=[];var k,n,m;if(g){Ya(d,h,"trackSig");Za(d,h);X(d,h,"trackType");for(var y=0;y<l.length;y++){k=l[y];
|
||||||
n=k.sectorData;X(d,k,"sectorSig");X(d,k,"sectorNum");X(d,k,"sectorPages");for(m=0;m<n.length;m++)d.push(n[m]);Ya(d,k,"sectorEndSig")}}else for(k=l[0],n=k.sectorData,X(d,h,"trackLoad",2),X(d,k,"sectorPages"),m=0;m<n.length;m++)d.push(n[m]);f[g].Xa=d}a.c[0].sa=f;a.F("mount of "+b+" complete")}else a.F("no available drives")}else a.F("no tracks: "+b);else a.F("no data: "+b)}catch(eb){a.F("disk data error: "+eb.message)}}}
|
n=k.sectorData;X(d,k,"sectorSig");X(d,k,"sectorNum");X(d,k,"sectorPages");for(m=0;m<n.length;m++)d.push(n[m]);Ya(d,k,"sectorEndSig")}}else for(k=l[0],n=k.sectorData,X(d,h,"trackLoad",2),X(d,k,"sectorPages"),m=0;m<n.length;m++)d.push(n[m]);f[g].Xa=d}a.c[0].ra=f;a.F("mount of "+b+" complete")}else a.F("no available drives")}else a.F("no tracks: "+b);else a.F("no data: "+b)}catch(eb){a.F("disk data error: "+eb.message)}}}
|
||||||
function Za(a,b){b=b.trackNum;if(void 0===b)throw Error("missing bcd value: trackNum");a.push(Math.floor(b/10)<<4|b%10)}function X(a,b,c,d){b=b[c];if(void 0===b)throw Error("missing binary value: "+c);2==d&&a.push(b>>8&255);a.push(b&255)}function Ya(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;c<b.length;c++)a.push(b.charCodeAt(c))}
|
function Za(a,b){b=b.trackNum;if(void 0===b)throw Error("missing bcd value: trackNum");a.push(Math.floor(b/10)<<4|b%10)}function X(a,b,c,d){b=b[c];if(void 0===b)throw Error("missing binary value: "+c);2==d&&a.push(b>>8&255);a.push(b&255)}function Ya(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;c<b.length;c++)a.push(b.charCodeAt(c))}
|
||||||
function $a(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&$a(this,a-this.o,!1).read()};e.R=function(a,b){void 0!==b&&(b=this.f.W(a),$a(this,a-this.o,!0).update(b))};function Ua(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())}
|
function $a(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&$a(this,a-this.o,!1).read()};e.R=function(a,b){void 0!==b&&(b=this.f.W(a),$a(this,a-this.o,!0).update(b))};function Ua(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())}
|
||||||
function Va(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Wa(a){var b;if(0<=a.b){b=a.c[a.b];var c=b.sa[b.aa];void 0!==c&&(0<=b.ga&&b.ga<c.Xa.length?(b.ha=100,b=c.Xa[b.ga++],a.s.update(b),a.h.update()):(b.ha=10,Va(a)))}}function W(a,b,c){a.f.R(b+a.o,c.D)}x(function(){for(var a=I(document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new Sa(d);H(d,c)}});function Y(a,b){B.call(this,"C1PComputer",a);this.M=b}D(Y);
|
function Va(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Wa(a){var b;if(0<=a.b){b=a.c[a.b];var c=b.ra[b.aa];void 0!==c&&(0<=b.ga&&b.ga<c.Xa.length?(b.ha=100,b=c.Xa[b.ga++],a.s.update(b),a.h.update()):(b.ha=10,Va(a)))}}function W(a,b,c){a.f.R(b+a.o,c.D)}x(function(){for(var a=I(document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new Sa(d);H(d,c)}});function Y(a,b){B.call(this,"C1PComputer",a);this.M=b}D(Y);
|
||||||
Y.prototype.reset=function(a){var b=null,c;for(c in this.M)for(var d=0;d<this.M[c].length;d++){var f=this.M[c][d];f&&f.reset&&(f.reset(),"cpu"==c&&(b=f))}b&&(b.update(),a&&N(b))};Y.prototype.start=function(){for(var a in this.M)if("cpu"!=a)for(var b=0;b<this.M[a].length;b++){var c=this.M[a][b];c&&c.start&&c.start()}};Y.prototype.stop=function(a,b){for(var c in this.M)if("cpu"!=c)for(var d=0;d<this.M[c].length;d++){var f=this.M[c][d];f&&f.stop&&f.stop(a,b)}};
|
Y.prototype.reset=function(a){var b=null,c;for(c in this.M)for(var d=0;d<this.M[c].length;d++){var f=this.M[c][d];f&&f.reset&&(f.reset(),"cpu"==c&&(b=f))}b&&(b.update(),a&&N(b))};Y.prototype.start=function(){for(var a in this.M)if("cpu"!=a)for(var b=0;b<this.M[a].length;b++){var c=this.M[a][b];c&&c.start&&c.start()}};Y.prototype.stop=function(a,b){for(var c in this.M)if("cpu"!=c)for(var d=0;d<this.M[c].length;d++){var f=this.M[c][d];f&&f.stop&&f.stop(a,b)}};
|
||||||
Y.prototype.J=function(a,b,c){switch(b){case "reset":return this.A[b]=c,c.onclick=function(a){return function(){a.reset()}}(this),!0}return!1};function L(a,b){return a.M[b]?a.M[b][0]:null}function ab(a){var b=null,c;for(c in a.M)for(var d=0;d<a.M[c].length;d++){var f=a.M[c][d];if(f){if(!J(f)){J(f,function(a){return function(){ab(a)}}(a));return}"cpu"==c?b=f:f.$&&f.$(!0,a)}}a.N();a.F("C1Pjs v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>");b&&b.$(!0,a)}
|
Y.prototype.J=function(a,b,c){switch(b){case "reset":return this.A[b]=c,c.onclick=function(a){return function(){a.reset()}}(this),!0}return!1};function L(a,b){return a.M[b]?a.M[b][0]:null}function ab(a){var b=null,c;for(c in a.M)for(var d=0;d<a.M[c].length;d++){var f=a.M[c][d];if(f){if(!J(f)){J(f,function(a){return function(){ab(a)}}(a));return}"cpu"==c?b=f:f.$&&f.$(!0,a)}}a.N();a.F("C1Pjs v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>");b&&b.$(!0,a)}
|
||||||
x(function(){for(var a=I(document,"c1pjs","computer"),b=0;b<a.length;b++){for(var c=a[b],d=G(c),f,g={},h,l=0,k=0,n=0;n<d.modules.length;n++){var m=d.modules[n];if(!n){if("cpu"!=m.type)break;l=m.start;k=m.end;h=Array(k+1-l);for(f=l;f<h.length;f++)h[f]=0}if(f=F(m.refID,d.id)){var y=m.type;void 0===g[y]&&(g[y]=[]);g[y].push(f);f.X&&void 0!==m.start&&f.X(h,m.start,m.end,g.cpu[0])}else{t('no component for <module refid="'+m.refID+'">');return}}if(!h){t('<module type="cpu"> definition must appear first in the <computer> specification');
|
x(function(){for(var a=I(document,"c1pjs","computer"),b=0;b<a.length;b++){for(var c=a[b],d=G(c),f,g={},h,l=0,k=0,n=0;n<d.modules.length;n++){var m=d.modules[n];if(!n){if("cpu"!=m.type)break;l=m.start;k=m.end;h=Array(k+1-l);for(f=l;f<h.length;f++)h[f]=0}if(f=F(m.refID,d.id)){var y=m.type;void 0===g[y]&&(g[y]=[]);g[y].push(f);f.X&&void 0!==m.start&&f.X(h,m.start,m.end,g.cpu[0])}else{t('no component for <module refid="'+m.refID+'">');return}}if(!h){t('<module type="cpu"> definition must appear first in the <computer> specification');
|
||||||
|
|
|
||||||
|
|
@ -7,207 +7,209 @@ function sa(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=res
|
||||||
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ja(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ja(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||||
function u(a){window&&window.alert(a)}function ta(a){var b=!1;window&&(b=window.confirm(a));return b}var xa=null;function ya(){if(null==xa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}xa=a}return xa}function za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
function u(a){window&&window.alert(a)}function ta(a){var b=!1;window&&(b=window.confirm(a));return b}var xa=null;function ya(){if(null==xa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}xa=a}return xa}function za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||||
function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ca(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ca(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||||
function Da(a,b){function c(){b(100===d)&&(f=setTimeout(c,d),d=100)}var d=0,f=null,e=!1;a.onmousedown=function(){e||f||(d=500,c())};a.ontouchstart=function(){f||(d=500,c())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Ea={init:[],show:[],exit:[]},Fa=!1,La=!1,Ma=!0;function Na(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Oa(a){Ea.init.push(a)}
|
function Da(a,b){function c(){b(100===d)&&(f=setTimeout(c,d),d=100)}var d=0,f=null,e=!1;a.onmousedown=function(){e||f||(d=500,c())};a.ontouchstart=function(){f||(d=500,c())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Ea={init:[],show:[],exit:[]},Fa=!1,Ga=!1,Ha=!0;function Oa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Pa(a){Ea.init.push(a)}
|
||||||
function Pa(a){if(Ma)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){u(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Qa(a){!Ma&&a?(Ma=!0,Fa&&Ra("init"),La&&Ra("show")):Ma=a}function Ra(a){Ea[a]&&Pa(Ea[a])}Na("onload",function(){Fa=!0;Pa(Ea.init)});Na("onpageshow",function(){La=!0;Pa(Ea.show)});Na(Ba("Opera")||Ba("iOS")?"onunload":"onbeforeunload",function(){Pa(Ea.exit)});
|
function Qa(a){if(Ha)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){u(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ra(a){!Ha&&a?(Ha=!0,Fa&&Sa("init"),Ga&&Sa("show")):Ha=a}function Sa(a){Ea[a]&&Qa(Ea[a])}Oa("onload",function(){Fa=!0;Qa(Ea.init)});Oa("onpageshow",function(){Ga=!0;Qa(Ea.show)});Oa(Ba("Opera")||Ba("iOS")?"onunload":"onbeforeunload",function(){Qa(Ea.exit)});
|
||||||
function v(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.sc=b.comment;this.Pc=b;b=this.id.indexOf(".");0>b?this.Db=this.id:(this.uc=this.id.substr(0,b),this.Db=this.id.substr(b+1));this[a]=c;this.u={ready:!1,Kb:!1,gc:!1,ia:!1,error:!1};this.Zb=null;this.u.error=!1;this.I={};this.C=null;this.ka=d||0;x.push(this)}var Sa=void 0,Ta={};
|
function w(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.sc=b.comment;this.Rc=b;b=this.id.indexOf(".");0>b?this.Db=this.id:(this.uc=this.id.substr(0,b),this.Db=this.id.substr(b+1));this[a]=c;this.u={ready:!1,Kb:!1,gc:!1,ia:!1,error:!1};this.Zb=null;this.u.error=!1;this.I={};this.C=null;this.ka=d||0;x.push(this)}var Ta=void 0,Ua={};
|
||||||
if(window){Sa||(Sa=window.location.search.substr(1));for(var Ua,Va=/\+/g,Wa=/([^&=]+)=?([^&]*)/g;Ua=Wa.exec(Sa);)Ta[decodeURIComponent(Ua[1].replace(Va," "))]=decodeURIComponent(Ua[2].replace(Va," "))}function Xa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
if(window){Ta||(Ta=window.location.search.substr(1));for(var Va,Wa=/\+/g,Xa=/([^&=]+)=?([^&]*)/g;Va=Xa.exec(Ta);)Ua[decodeURIComponent(Va[1].replace(Wa," "))]=decodeURIComponent(Va[2].replace(Wa," "))}function Ya(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||||
function B(a,b){b||(b=v);a.prototype=Xa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ya=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Ya={},x=[];function Za(a,b,c){Ya[a]&&b&&(Ya[a][b]=c)}function $a(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
function B(a,b){b||(b=w);a.prototype=Ya(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Za=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Za={},x=[];function $a(a,b,c){Za[a]&&b&&(Za[a][b]=c)}function ab(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||||
function ab(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}
|
function bb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}
|
||||||
function bb(a,b){b=D(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=C(e))&&g.binding&&a.va(g.type,g.binding,e,g.value),k=h.length}}}}
|
function cb(a,b){b=D(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=C(e))&&g.binding&&a.va(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||||
function D(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
function D(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
||||||
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},va:function(a,b,c){switch(b){case "clear":return this.I[b]||(this.I[b]=c,c.onclick=function(a){return function(){a.I.print&&(a.I.print.value="")}}(this)),!0;case "print":return this.I[b]||(this.kb=this.I[b]=c,c.value="",this.f=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
w.prototype={constructor:w,parent:null,toString:function(){return this.name?this.name:this.id||this.type},va:function(a,b,c){switch(b){case "clear":return this.I[b]||(this.I[b]=c,c.onclick=function(a){return function(){a.I.print&&(a.I.print.value="")}}(this)),!0;case "print":return this.I[b]||(this.kb=this.I[b]=c,c.value="",this.f=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||||
this.qa=function(a){this.f(a,this.Db)}),!0;default:return!1}},log:function(){},f:function(){},status:function(a){this.f(this.Db+": "+a)},qa:function(a,b,c){c=c||this.type;b||u((c?c+": ":"")+a)},Ra:function(){return this.u.ia=!0},Qa:function(a,b){b&&(this.u.ia=!1);return!0}};function cb(a,b,c,d){a.C&&(!0===c||E(a,c|0))&&a.C.message(b,d)}function E(a,b){if(a.C){a===a.C?b|=0:b=b||a.ka;var c=a.C.ka&b;return!!b&&c===b||!!(c&a.C.Kc)}return!1}
|
this.qa=function(a){this.f(a,this.Db)}),!0;default:return!1}},log:function(){},f:function(){},status:function(a){this.f(this.Db+": "+a)},qa:function(a,b,c){c=c||this.type;b||u((c?c+": ":"")+a)},Ra:function(){return this.u.ia=!0},Qa:function(a,b){b&&(this.u.ia=!1);return!0}};function db(a,b,c,d){a.C&&(!0===c||E(a,c|0))&&a.C.message(b,d)}function E(a,b){if(a.C){a===a.C?b|=0:b=b||a.ka;var c=a.C.ka&b;return!!b&&c===b||!!(c&a.C.Mc)}return!1}
|
||||||
function db(a,b){if(a.u.gc)return a.u.Kb=!1,a.u.gc=!1;if(a.u.error)return a.f(a.toString()+" error"),!1;a.u.Kb=b;return a.u.Kb}function qb(a,b){a.u.Kb&&(b?a.u.gc=!0:void 0===b&&a.f(a.toString()+" busy"));return a.u.Kb}function F(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.Zb;a.Zb=null;b&&b()}}function rb(a,b){b&&(a.u.ready?b():a.Zb=b);return a.u.ready}function sb(a){return a.u.error?(a.f(a.toString()+" error"),!0):!1}function tb(a,b){a.u.error=!0;a.qa(b)}
|
function eb(a,b){if(a.u.gc)return a.u.Kb=!1,a.u.gc=!1;if(a.u.error)return a.f(a.toString()+" error"),!1;a.u.Kb=b;return a.u.Kb}function fb(a,b){a.u.Kb&&(b?a.u.gc=!0:void 0===b&&a.f(a.toString()+" busy"));return a.u.Kb}function F(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.Zb;a.Zb=null;b&&b()}}function sb(a,b){b&&(a.u.ready?b():a.Zb=b);return a.u.ready}function tb(a){return a.u.error?(a.f(a.toString()+" error"),!0):!1}function ub(a,b){a.u.error=!0;a.qa(b)}
|
||||||
var ub="undefined"!==typeof ArrayBuffer,G={cpu:1,trap:16,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function vb(a){v.call(this,"Panel",a,vb)}B(vb);l=vb.prototype;l.va=function(a,b,c,d){return this.i&&this.i.va(a,b,c,d)||this.b&&this.b.va(a,b,c,d)||this.C&&this.C.va(a,b,c,d)?!0:this.parent.va.call(this,a,b,c,d)};l.Ya=function(a,b,c,d){this.i=a;this.F=b;this.b=c;this.C=d};
|
var vb="undefined"!==typeof ArrayBuffer,G={cpu:1,trap:16,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function wb(a){w.call(this,"Panel",a,wb)}B(wb);l=wb.prototype;l.va=function(a,b,c,d){return this.i&&this.i.va(a,b,c,d)||this.b&&this.b.va(a,b,c,d)||this.C&&this.C.va(a,b,c,d)?!0:this.parent.va.call(this,a,b,c,d)};l.Za=function(a,b,c,d){this.i=a;this.F=b;this.b=c;this.C=d};
|
||||||
l.Ra=function(a,b){b||wb();return!0};l.Qa=function(){return!0};l.Ga=function(){};function wb(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=C(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<x.length;g++)if(x[g].id===e){e=x[g];break a}}e=null}e||(a=!0,e=new vb(f));bb(e,d);a&&F(e)}}Oa(wb);
|
l.Ra=function(a,b){b||xb();return!0};l.Qa=function(){return!0};l.Fa=function(){};function xb(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=C(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<x.length;g++)if(x[g].id===e){e=x[g];break a}}e=null}e||(a=!0,e=new wb(f));cb(e,d);a&&F(e)}}Pa(xb);
|
||||||
function xb(a,b,c){v.call(this,"Bus",a,xb,64);this.b=b;this.C=c;this.J=a.busWidth||16;this.D=Math.pow(2,this.J);this.j=this.D-1|0;this.Y=(this.J>>1)+2;10>this.Y&&(this.Y=10);15<this.Y&&(this.Y=15);this.Ca=1<<this.Y;this.R=this.Ca>>2;this.i=this.Ca-1;this.B=this.D/this.Ca|0;this.A=this.B-1;this.Ua=[];this.G=null;this.Mb=this.Gc;a=new H;yb(a,this.C);this.M=Array(this.B);for(b=0;b<this.B;b++)this.M[b]=a;this.Gb=Array(4);this.Gb[0]=zb;this.Gb[1]=Ab;this.Gb[2]=Bb;this.Gb[3]=Cb;Db(this,this.D-8192,8192,
|
function yb(a,b,c){w.call(this,"Bus",a,yb,64);this.b=b;this.C=c;this.J=a.busWidth||16;this.D=Math.pow(2,this.J);this.j=this.D-1|0;this.Y=(this.J>>1)+2;10>this.Y&&(this.Y=10);15<this.Y&&(this.Y=15);this.Ca=1<<this.Y;this.R=this.Ca>>2;this.i=this.Ca-1;this.B=this.D/this.Ca|0;this.A=this.B-1;this.Va=[];this.G=null;this.Mb=this.Ic;a=new H;zb(a,this.C);this.M=Array(this.B);for(b=0;b<this.B;b++)this.M[b]=a;this.Gb=Array(4);this.Gb[0]=Ab;this.Gb[1]=Bb;this.Gb[2]=Cb;this.Gb[3]=Db;Eb(this,this.D-8192,8192,
|
||||||
Eb,this);Db(this,57344,8192,Eb,this);F(this)}B(xb);function zb(a,b){var c=this.controller,d=c.Ua[a];if(d){E(c)&&cb(c,d[5]+".readByte("+r(b)+")",0,!0);if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.Ua[a&-2])&&(E(c)&&cb(c,d[5]+".readByte("+r(b)+")",0,!0),d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+r(b));return c.Mb(b,-1,1)}
|
Fb,this);Eb(this,57344,8192,Fb,this);F(this)}B(yb);function Ab(a,b){var c=this.controller,d=c.Va[a];if(d){E(c)&&db(c,d[5]+".readByte("+r(b)+")",0,!0);if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.Va[a&-2])&&(E(c)&&db(c,d[5]+".readByte("+r(b)+")",0,!0),d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+r(b));return c.Mb(b,-1,1)}
|
||||||
function Ab(a,b,c){var d=this.controller,f=d.Ua[a];if(f){E(d)&&cb(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0);if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.Ua[a&-2])&&(E(d)&&cb(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0),f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.f("warning: unconverted write access to byte @"+r(c));d.Mb(c,b,1)}
|
function Bb(a,b,c){var d=this.controller,f=d.Va[a];if(f){E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0);if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.Va[a&-2])&&(E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0),f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.f("warning: unconverted write access to byte @"+r(c));d.Mb(c,b,1)}
|
||||||
function Bb(a,b){var c=this.controller;if(a=c.Ua[a]){E(c)&&cb(c,a[5]+".readWord("+r(b)+")",0,!0);if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.f("warning: unconverted read access to word @"+r(b));return c.Mb(b,-1,0)}function Cb(a,b,c){var d=this.controller;if(a=d.Ua[a]){E(d)&&cb(d,a[5]+".writeWord("+r(c)+","+r(b)+")",0,!0);if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.f("warning: unconverted write access to word @"+r(c));d.Mb(c,b,0)}l=xb.prototype;
|
function Cb(a,b){var c=this.controller;if(a=c.Va[a]){E(c)&&db(c,a[5]+".readWord("+r(b)+")",0,!0);if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.f("warning: unconverted read access to word @"+r(b));return c.Mb(b,-1,0)}function Db(a,b,c){var d=this.controller;if(a=d.Va[a]){E(d)&&db(d,a[5]+".writeWord("+r(c)+","+r(b)+")",0,!0);if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.f("warning: unconverted write access to word @"+r(c));d.Mb(c,b,0)}l=yb.prototype;
|
||||||
l.reset=function(){this.G&&this.G()};l.Gc=function(){return 0};l.Ra=function(a,b){b||this.reset();return!0};
|
l.reset=function(){this.G&&this.G()};l.Ic=function(){return 0};l.Ra=function(a,b){b||this.reset();return!0};
|
||||||
function Db(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.Y;0<g&&h<a.M.length;){var k=a.M[h],m=h*a.Ca,n=a.Ca-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Yb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Yb){n=k.size-(e-m);n>g&&(n=g);k.Yb=e-k.w+n;e=m+a.Ca;g-=n;h++;continue}}return Fb(1,e,g)}e=new H(e,n,a.Ca,d,f);yb(e,a.C,k);a.M[h++]=e;e=m+a.Ca;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Gb[d]+" at "+t(b,8,!0)),!0):Fb(2,b,c)}
|
function Eb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.Y;0<g&&h<a.M.length;){var k=a.M[h],m=h*a.Ca,n=a.Ca-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Yb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Yb){n=k.size-(e-m);n>g&&(n=g);k.Yb=e-k.w+n;e=m+a.Ca;g-=n;h++;continue}}return Gb(1,e,g)}e=new H(e,n,a.Ca,d,f);zb(e,a.C,k);a.M[h++]=e;e=m+a.Ca;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Hb[d]+" at "+t(b,8,!0)),!0):Gb(2,b,c)}
|
||||||
l.rb=function(a){return this.M[(a&this.j)>>>this.Y].vb(a&this.i,a)};l.Ka=function(a){var b=a&this.i,c=(a&this.j)>>>this.Y;return b!=this.i?this.M[c].Rb(b,a):this.M[c++].vb(b,a)|this.M[c&this.A].vb(0,a+1)<<8};function Hb(a,b){var c=b&a.i,d=(b&a.j)>>>a.Y;return c!=a.i?a.M[d].mc(c,b):a.M[d++].Qb(c,b)|a.M[d&a.A].Qb(0,b+1)<<8}l.Vb=function(a,b){this.M[(a&this.j)>>>this.Y].Bb(a&this.i,b&255,a)};
|
l.rb=function(a){return this.M[(a&this.j)>>>this.Y].vb(a&this.i,a)};l.Ja=function(a){var b=a&this.i,c=(a&this.j)>>>this.Y;return b!=this.i?this.M[c].Rb(b,a):this.M[c++].vb(b,a)|this.M[c&this.A].vb(0,a+1)<<8};function Ib(a,b){var c=b&a.i,d=(b&a.j)>>>a.Y;return c!=a.i?a.M[d].mc(c,b):a.M[d++].Qb(c,b)|a.M[d&a.A].Qb(0,b+1)<<8}l.Vb=function(a,b){this.M[(a&this.j)>>>this.Y].Bb(a&this.i,b&255,a)};
|
||||||
l.pb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.Y;c!=this.i?this.M[d].Fc(c,b&65535,a):(this.M[d++].Bb(c,b&255,a),this.M[d&this.A].Bb(0,b>>8&255,a+1))};function Ib(a){for(var b=0,c=[],d=0;d<a.B;d++){var f=a.M[d];if(f.Xa||f.Oc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],n=g+1;n<f.length&&f[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
l.pb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.Y;c!=this.i?this.M[d].Hc(c,b&65535,a):(this.M[d++].Bb(c,b&255,a),this.M[d&this.A].Bb(0,b>>8&255,a+1))};function Jb(a){for(var b=0,c=[],d=0;d<a.B;d++){var f=a.M[d];if(f.Ya||f.Qc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],n=g+1;n<f.length&&f[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
||||||
function Jb(a,b){var c=Kb,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,n=f[3]?f[3].bind(b):null,f=f[4],p=+d;p<=g;p+=2){var q=p&8191;void 0!==e.Ua[q]?u("I/O address already registered: "+t(p,8,!0)):e.Ua[q]=[h,k,m,n,!1,f||"unknown"]}}function Lb(a,b,c){a.G=b;a.Mb=c}function Fb(a,b,c){u("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}
|
function Kb(a,b){var c=Lb,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,n=f[3]?f[3].bind(b):null,f=f[4],p=+d;p<=g;p+=2){var q=p&8191;void 0!==e.Va[q]?u("I/O address already registered: "+t(p,8,!0)):e.Va[q]=[h,k,m,n,!1,f||"unknown"]}}function Mb(a,b,c){a.G=b;a.Mb=c}function Gb(a,b,c){u("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}
|
||||||
function I(a){v.call(this,"Device",a,I);this.i={lc:[],ta:0,wa:128,C:127,Mc:0};this.A={data:0,ud:0,sb:20,nd:0};this.j={K:0,qc:-1};this.B={Tb:2496,ma:0,P:128,Ub:0,Sb:0,ua:0,Ac:0,pa:[],ib:[406,406,406,406],aa:[12,12,12,12]};this.D={K:129,Jb:0,fa:0,$a:0,Va:0,gb:0,pa:[],aa:[40,40,40,40],ib:[1024,1024,512,512],Ic:[157,157,29,29]};this.G={b:[8210,8208,8210,8226],aa:[22,22,22,50],hb:[19,19,19,32],fc:[815,411,815,630],pa:[],S:2176,yb:0,wb:0,Fa:[0,0,0,0,0,0,0,0],Ea:0,ra:[4544,4544,4544,4544,4544,4544,4544,
|
function I(a){w.call(this,"Device",a,I);this.i={lc:[],ta:0,wa:128,C:127,Oc:0};this.A={data:0,wd:0,sb:20,pd:0};this.j={K:0,qc:-1};this.B={Tb:2496,ma:0,P:128,Ub:0,Sb:0,ua:0,Cc:0,pa:[],ib:[406,406,406,406],aa:[12,12,12,12]};this.D={K:129,Jb:0,fa:0,ab:0,Wa:0,gb:0,pa:[],aa:[40,40,40,40],ib:[1024,1024,512,512],Kc:[157,157,29,29]};this.G={b:[8210,8208,8210,8226],aa:[22,22,22,50],hb:[19,19,19,32],fc:[815,411,815,630],pa:[],S:2176,yb:0,wb:0,Ea:[0,0,0,0,0,0,0,0],Da:0,ra:[4544,4544,4544,4544,4544,4544,4544,
|
||||||
4544],xb:[0,0,0,0,0,0,0,0],ob:0,kd:[0,0,0,0,0,0,0,0],Bc:0,Cc:[0,0,0,0,0,0,0,0],I:[0,0,0,0,0,0,0,0],ld:[1,2,3,4,5,6,7,8],Dc:[0,0,0,0,0,0,0,0],Ta:[0,0,0,0,0,0,0,0],ec:[0,0,0,0,0,0,0,0],hd:[0,0,0,0,0,0,0,0],jd:[0,0,0,0,0,0,0,0],fd:[0,0,0,0,0,0,0,0],gd:[0,0,0,0,0,0,0,0],fb:0,oc:0}}B(I);
|
4544],xb:[0,0,0,0,0,0,0,0],ob:0,md:[0,0,0,0,0,0,0,0],Dc:0,Ec:[0,0,0,0,0,0,0,0],I:[0,0,0,0,0,0,0,0],nd:[1,2,3,4,5,6,7,8],Fc:[0,0,0,0,0,0,0,0],Ua:[0,0,0,0,0,0,0,0],ec:[0,0,0,0,0,0,0,0],kd:[0,0,0,0,0,0,0,0],ld:[0,0,0,0,0,0,0,0],hd:[0,0,0,0,0,0,0,0],jd:[0,0,0,0,0,0,0,0],fb:0,oc:0}}B(I);
|
||||||
var Mb=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
var Nb=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
||||||
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
||||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=I.prototype;l.Ya=function(a,b,c,d){this.F=b;this.b=c;this.C=d;var f=this;this.j.qc=Nb(this.b,function(){f.j.Za|=128;f.j.Za&64&&(J(f.b,0,6,64),Xb(f.b,f.j.qc))});Jb(b,this);Lb(b,this.reset.bind(this),this.Hc.bind(this));F(this)};l.Yc=function(){var a=this.j.Za;this.j.Za&=-129;return a};
|
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=I.prototype;l.Za=function(a,b,c,d){this.F=b;this.b=c;this.C=d;var f=this;this.j.qc=Ob(this.b,function(){f.j.$a|=128;f.j.$a&64&&(J(f.b,0,6,64),Xb(f.b,f.j.qc))});Kb(b,this);Mb(b,this.reset.bind(this),this.Jc.bind(this));F(this)};l.$c=function(){var a=this.j.$a;this.j.$a&=-129;return a};
|
||||||
l.pd=function(a){this.j.Za=a;a&64&&Xb(this.b,this.j.qc);this.j.Za=a&-129};l.Zc=function(){var a=this.b;return a.B&62337|a.sa<<5|a.xa<<1};l.qd=function(a){var b=4,c=this.b;c.B=a&=62337;c.sa=a>>5&3;c.xa=a>>1&15;c.$b=a&257?a&1?6:4:0;Yb(c);a=c.B;a&1|256&&(b=this.b.nb&16?1:2);this.A.sb=this.A.sb&-8|b};l.ad=function(){return this.i.ta};l.sd=function(a){this.i.ta=this.i.ta&128|a&-129};l.bd=function(){return this.i.wa};
|
l.rd=function(a){this.j.$a=a;a&64&&Xb(this.b,this.j.qc);this.j.$a=a&-129};l.ad=function(){var a=this.b;return a.B&62337|a.sa<<5|a.xa<<1};l.sd=function(a){var b=4,c=this.b;c.B=a&=62337;c.sa=a>>5&3;c.xa=a>>1&15;c.$b=a&257?a&1?6:4:0;Yb(c);a=c.B;a&1|256&&(b=this.b.nb&16?1:2);this.A.sb=this.A.sb&-8|b};l.cd=function(){return this.i.ta};l.ud=function(a){this.i.ta=this.i.ta&128|a&-129};l.dd=function(){return this.i.wa};
|
||||||
l.td=function(a){if(128==(this.i.wa&192)&&a&64){var b=this;J(this.b,8,4,52,function(){b.i.wa|=128;return!!(b.i.wa&64)})}this.i.wa=this.i.wa&128|a&-129};l.$c=function(){return Zb(this.b)};l.rd=function(a){$b(this.b,a&-1809|Zb(this.b)&1808);this.b.N|=128};
|
l.vd=function(a){if(128==(this.i.wa&192)&&a&64){var b=this;J(this.b,8,4,52,function(){b.i.wa|=128;return!!(b.i.wa&64)})}this.i.wa=this.i.wa&128|a&-129};l.bd=function(){return Zb(this.b)};l.td=function(a){$b(this.b,a&-1809|Zb(this.b)&1808);this.b.N|=128};
|
||||||
function ac(a){var b=a.B,c,d,f,e=b.ua>>13&7;"undefined"===typeof b.pa[e]&&(b.pa[e]={cache:[],postProcess:a.cd,drive:e,blocksize:256,mapped:0,maxblock:b.ib[e]*b.aa[e],url:"rk"+e+".dsk"});b.P&=-129;switch(b.P>>1&7){case 0:b.Tb=2496;b.ma=0;b.P=128;b.ua=0;break;case 1:if((b.ua>>4&511)>=b.ib[e]){b.ma|=32832;b.P|=49152;break}if((b.ua&15)>=b.aa[e]){b.ma|=32800;b.P|=49152;break}c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Sb;f=65536-b.Ub&65535;bc(a,b.pa[e],c,d,f);return;case 2:if((b.ua>>4&511)>=b.ib[e])b.ma|=
|
function ac(a){var b=a.B,c,d,f,e=b.ua>>13&7;"undefined"===typeof b.pa[e]&&(b.pa[e]={cache:[],postProcess:a.ed,drive:e,blocksize:256,mapped:0,maxblock:b.ib[e]*b.aa[e],url:"rk"+e+".dsk"});b.P&=-129;switch(b.P>>1&7){case 0:b.Tb=2496;b.ma=0;b.P=128;b.ua=0;break;case 1:if((b.ua>>4&511)>=b.ib[e]){b.ma|=32832;b.P|=49152;break}if((b.ua&15)>=b.aa[e]){b.ma|=32800;b.P|=49152;break}c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Sb;f=65536-b.Ub&65535;bc(a,b.pa[e],c,d,f);return;case 2:if((b.ua>>4&511)>=b.ib[e])b.ma|=
|
||||||
32832,b.P|=49152;else if((b.ua&15)>=b.aa[e])b.ma|=32800,b.P|=49152;else{c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Sb;f=65536-b.Ub&65535;a.bc(b.pa[e],c,d,f);return}}b.Tb=e<<13|b.Tb&8176|b.ua%9&15;J(a.b,20,5,144,function(){b.P=b.P&65534|128;return!!(b.P&64)})}l.cd=function(a,b,c,d,f){var e=this.B;e.Sb=d&65535;e.P=e.P&-49|d>>12&48;e.Ub=65536-f&65535;switch(a){case 1:e.ma|=33024;e.P|=49152;break;case 2:e.ma|=33792,e.P|=49152}J(this.b,20,5,144,function(){e.P=e.P&65534|128;return!!(e.P&64)})};
|
32832,b.P|=49152;else if((b.ua&15)>=b.aa[e])b.ma|=32800,b.P|=49152;else{c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Sb;f=65536-b.Ub&65535;a.bc(b.pa[e],c,d,f);return}}b.Tb=e<<13|b.Tb&8176|b.ua%9&15;J(a.b,20,5,144,function(){b.P=b.P&65534|128;return!!(b.P&64)})}l.ed=function(a,b,c,d,f){var e=this.B;e.Sb=d&65535;e.P=e.P&-49|d>>12&48;e.Ub=65536-f&65535;switch(a){case 1:e.ma|=33024;e.P|=49152;break;case 2:e.ma|=33792,e.P|=49152}J(this.b,20,5,144,function(){e.P=e.P&65534|128;return!!(e.P&64)})};
|
||||||
function cc(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.pa[e]&&(b.pa[e]={cache:[],postProcess:a.dd,drive:e,blocksize:128,mapped:1,maxblock:b.ib[e]*b.aa[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.$a&8&&(b.K&=63);b.$a=b.Ic[e]|b.gb&64;break;case 3:1==(b.fa&3)&&(b.gb=b.fa&4?b.gb+(b.fa&65408)&65408|b.fa<<2&64:b.gb-(b.fa&65408)&65408|b.fa<<2&64,b.fa=b.gb);break;case 4:b.$a=b.gb;break;case 5:if(b.fa>>6>=b.ib[e]){b.K|=37888;break}if((b.fa&63)>=b.aa[e]){b.K|=37888;break}c=(b.fa>>6)*
|
function cc(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.pa[e]&&(b.pa[e]={cache:[],postProcess:a.fd,drive:e,blocksize:128,mapped:1,maxblock:b.ib[e]*b.aa[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.ab&8&&(b.K&=63);b.ab=b.Kc[e]|b.gb&64;break;case 3:1==(b.fa&3)&&(b.gb=b.fa&4?b.gb+(b.fa&65408)&65408|b.fa<<2&64:b.gb-(b.fa&65408)&65408|b.fa<<2&64,b.fa=b.gb);break;case 4:b.ab=b.gb;break;case 5:if(b.fa>>6>=b.ib[e]){b.K|=37888;break}if((b.fa&63)>=b.aa[e]){b.K|=37888;break}c=(b.fa>>6)*
|
||||||
b.aa[e]+(b.fa&63);d=(b.Va&63)<<16|b.Jb;f=65536-b.$a&65535;bc(a,b.pa[e],c,d,f);return;case 6:if(b.fa>>6>=b.ib[e])b.K|=37888;else if((b.fa&63)>=b.aa[e])b.K|=37888;else{c=(b.fa>>6)*b.aa[e]+(b.fa&63);d=(b.Va&63)<<16|b.Jb;f=65536-b.$a&65535;a.bc(b.pa[e],c,d,f);return}}J(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})}
|
b.aa[e]+(b.fa&63);d=(b.Wa&63)<<16|b.Jb;f=65536-b.ab&65535;bc(a,b.pa[e],c,d,f);return;case 6:if(b.fa>>6>=b.ib[e])b.K|=37888;else if((b.fa&63)>=b.aa[e])b.K|=37888;else{c=(b.fa>>6)*b.aa[e]+(b.fa&63);d=(b.Wa&63)<<16|b.Jb;f=65536-b.ab&65535;a.bc(b.pa[e],c,d,f);return}}J(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})}
|
||||||
l.dd=function(a,b,c,d,f){var e=this.D;e.Jb=d&65535;e.K=e.K&-49|d>>12&48;e.Va=d>>16&63;e.fa=~~(c/e.aa[b.Oa])<<6|c%e.aa[b.Oa];e.gb=e.fa;e.$a=65536-f&65535;switch(a){case 1:e.K|=33792;break;case 2:e.K|=40960}J(this.b,20,5,112,function(){e.K|=129;return!!(e.K&64)})};function dc(a){a=a.G;a.S=2176;a.Ea=0;a.ra=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.ob=a.yb=a.wb=a.fb=a.oc=0}
|
l.fd=function(a,b,c,d,f){var e=this.D;e.Jb=d&65535;e.K=e.K&-49|d>>12&48;e.Wa=d>>16&63;e.fa=~~(c/e.aa[b.Oa])<<6|c%e.aa[b.Oa];e.gb=e.fa;e.ab=65536-f&65535;switch(a){case 1:e.K|=33792;break;case 2:e.K|=40960}J(this.b,20,5,112,function(){e.K|=129;return!!(e.K&64)})};function dc(a){a=a.G;a.S=2176;a.Da=0;a.ra=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.ob=a.yb=a.wb=a.fb=a.oc=0}
|
||||||
function ec(a,b){var c=a.G,d,f,e;c.S&=-16513;c.Ea&=-2049;c.ra[b]&=-1153;J(a.b,-1,0,172);"undefined"===typeof c.pa[b]&&(c.pa[b]={cache:[],postProcess:a.ed,drive:b,blocksize:256,mapped:0,maxblock:c.fc[0]*c.hb[0]*c.aa[0],url:"rp"+b+".dsk"});switch(c.S&63){case 5:c.ec[b]=c.Ta[b];c.S|=32896;c.ra[b]|=32896;c.ob|=1<<b;break;case 9:dc(a);break;case 19:c.ra[b]|=64;break;case 49:if(c.Ta[b]>=c.fc[0]||c.Fa[b]>>8>=c.hb[0]||(c.Fa[b]&255)>=c.aa[0]){c.xb[b]|=1024;c.S|=49152;break}d=(c.Ta[b]*c.hb[0]+(c.Fa[b]>>8))*
|
function ec(a,b){var c=a.G,d,f,e;c.S&=-16513;c.Da&=-2049;c.ra[b]&=-1153;J(a.b,-1,0,172);"undefined"===typeof c.pa[b]&&(c.pa[b]={cache:[],postProcess:a.gd,drive:b,blocksize:256,mapped:0,maxblock:c.fc[0]*c.hb[0]*c.aa[0],url:"rp"+b+".dsk"});switch(c.S&63){case 5:c.ec[b]=c.Ua[b];c.S|=32896;c.ra[b]|=32896;c.ob|=1<<b;break;case 9:dc(a);break;case 19:c.ra[b]|=64;break;case 49:if(c.Ua[b]>=c.fc[0]||c.Ea[b]>>8>=c.hb[0]||(c.Ea[b]&255)>=c.aa[0]){c.xb[b]|=1024;c.S|=49152;break}d=(c.Ua[b]*c.hb[0]+(c.Ea[b]>>8))*
|
||||||
c.aa[0]+(c.Fa[b]&255);f=(c.fb&63)<<16|c.wb;e=65536-c.yb&65535;bc(a,c.pa[b],d,f,e);return;case 57:if(c.Ta[b]>=c.fc[0]||c.Fa[b]>>8>=c.hb[0]||(c.Fa[b]&255)>=c.aa[0])c.xb[b]|=1024,c.S|=49152;else{d=(c.Ta[b]*c.hb[0]+(c.Fa[b]>>8))*c.aa[0]+(c.Fa[b]&255);f=(c.fb&63)<<16|c.wb;e=65536-c.yb&65535;a.bc(c.pa[b],d,f,e);return}}J(a.b,3,5,172,function(){c.S=c.S&65534|128;c.ra[b]|=128;return!!(c.S&64)})}
|
c.aa[0]+(c.Ea[b]&255);f=(c.fb&63)<<16|c.wb;e=65536-c.yb&65535;bc(a,c.pa[b],d,f,e);return;case 57:if(c.Ua[b]>=c.fc[0]||c.Ea[b]>>8>=c.hb[0]||(c.Ea[b]&255)>=c.aa[0])c.xb[b]|=1024,c.S|=49152;else{d=(c.Ua[b]*c.hb[0]+(c.Ea[b]>>8))*c.aa[0]+(c.Ea[b]&255);f=(c.fb&63)<<16|c.wb;e=65536-c.yb&65535;a.bc(c.pa[b],d,f,e);return}}J(a.b,3,5,172,function(){c.S=c.S&65534|128;c.ra[b]|=128;return!!(c.S&64)})}
|
||||||
l.ed=function(a,b,c,d,f){var e=this.G;e.yb=65536-f&65535;e.wb=d&65535;e.S=e.S&-769|d>>8&768;e.fb=d>>16&63;f=~~(c/e.aa[0]);d=~~(f/e.hb[0]);e.Fa[b.Oa]=f%e.hb[0]<<8|c%e.aa[0];e.ec[b.Oa]=e.Ta[b.Oa]=d;e.ob|=1<<b.Oa;c>=b.Vc-1&&(e.ra[b.Oa]|=1024);switch(a){case 1:e.Ea|=512;e.S|=49152;break;case 2:e.Ea|=2048,e.S|=49152}J(this.b,20,5,172,function(){e.ra[b.Oa]|=128;e.S=e.S&65534|128;return!!(e.S&64)})};
|
l.gd=function(a,b,c,d,f){var e=this.G;e.yb=65536-f&65535;e.wb=d&65535;e.S=e.S&-769|d>>8&768;e.fb=d>>16&63;f=~~(c/e.aa[0]);d=~~(f/e.hb[0]);e.Ea[b.Oa]=f%e.hb[0]<<8|c%e.aa[0];e.ec[b.Oa]=e.Ua[b.Oa]=d;e.ob|=1<<b.Oa;c>=b.Xc-1&&(e.ra[b.Oa]|=1024);switch(a){case 1:e.Da|=512;e.S|=49152;break;case 2:e.Da|=2048,e.S|=49152}J(this.b,20,5,172,function(){e.ra[b.Oa]|=128;e.S=e.S&65534|128;return!!(e.S&64)})};
|
||||||
function fc(a,b,c,d,f,e){var g=~~((e+c.Wa-1)/c.Wa),h=new XMLHttpRequest;2048>g&&d+2048<c.Vc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Wa<<1)+"-"+(((d+g)*c.Wa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,p,q;m=h.response;if(h.status&&206!=h.status||!m)c.kc(1,c,d,f,e);else{m=new Uint8Array(m);n=d;for(q=0;q<m.length;){if("undefined"===typeof c.cache[n])for(c.cache[n]=[],p=0;p<c.Wa;p++)c.cache[n][p]=q<m.length?
|
function fc(a,b,c,d,f,e){var g=~~((e+c.Xa-1)/c.Xa),h=new XMLHttpRequest;2048>g&&d+2048<c.Xc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Xa<<1)+"-"+(((d+g)*c.Xa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,p,q;m=h.response;if(h.status&&206!=h.status||!m)c.kc(1,c,d,f,e);else{m=new Uint8Array(m);n=d;for(q=0;q<m.length;){if("undefined"===typeof c.cache[n])for(c.cache[n]=[],p=0;p<c.Xa;p++)c.cache[n][p]=q<m.length?
|
||||||
m[q]&255|m[q+1]<<8&65280:0,q+=2;else q+=c.Wa<<1;n++}g(c,d,f,e)}}};h.send(null)}function K(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:a.b.L(4,122):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.bc=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){fc(this,this.bc,a,b,c,d);return}for(f=0;f<a.Wa&&0<d;f++){var e=a.Uc?gc(this.b,c):c;this.b.F.pb(e,a.cache[b][f]&65535);c+=2;--d}b++}a.kc(0,a,b,c,d)};
|
m[q]&255|m[q+1]<<8&65280:0,q+=2;else q+=c.Xa<<1;n++}g(c,d,f,e)}}};h.send(null)}function K(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:a.b.L(4,122):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.bc=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){fc(this,this.bc,a,b,c,d);return}for(f=0;f<a.Xa&&0<d;f++){var e=a.Wc?gc(this.b,c):c;this.b.F.pb(e,a.cache[b][f]&65535);c+=2;--d}b++}a.kc(0,a,b,c,d)};
|
||||||
function bc(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.Wa;e++)b.cache[c][e]=0;for(e=0;e<b.Wa&&0<f;e++){g=a.b.cc(b.Uc?gc(a.b,d):d);if(0>g){b.kc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.kc(0,b,c,d,f)}l.reset=function(){this.A.sb=this.A.sb&-120|20;this.i.ta=0;this.i.wa=128;this.j.Za=0;this.B.P=128;this.D.K=128;dc(this)};
|
function bc(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.Xa;e++)b.cache[c][e]=0;for(e=0;e<b.Xa&&0<f;e++){g=a.b.cc(b.Wc?gc(a.b,d):d);if(0>g){b.kc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.kc(0,b,c,d,f)}l.reset=function(){this.A.sb=this.A.sb&-120|20;this.i.ta=0;this.i.wa=128;this.j.$a=0;this.B.P=128;this.D.K=128;dc(this)};
|
||||||
l.Hc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.cb&65280:(a&1&&(b<<=8),e.cb=b|255,d=0);break;case 4194298:if(0>b)d=e.nc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.nc=d;e.Sa=2}break;case 4194294:if(70!==e.lb)return e.L(4,222);0>b?d=e.H:d=e.H=0;break;case 4194292:if(70!==e.lb)return e.L(4,224);d=1;break;case 4194290:if(70!==e.lb)return e.L(4,226);d=0;break;case 4194288:if(70!==e.lb)return e.L(4,228);d=61183;break;case 4194296:0<=
|
l.Jc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.eb&65280:(a&1&&(b<<=8),e.eb=b|255,d=0);break;case 4194298:if(0>b)d=e.nc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.nc=d;e.Sa=2}break;case 4194294:if(70!==e.lb)return e.L(4,222);0>b?d=e.H:d=e.H=0;break;case 4194292:if(70!==e.lb)return e.L(4,224);d=1;break;case 4194290:if(70!==e.lb)return e.L(4,226);d=0;break;case 4194288:if(70!==e.lb)return e.L(4,228);d=61183;break;case 4194296:0<=
|
||||||
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.lb)return e.L(4,232);f=a-4194272>>1;0>b?d=e.ic[f]:(d=K(this,e.ic[f],a,b,c),0<=d&&(e.ic[f]=d));break;case 4194254:return a&1?e.O>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Da[3]=b),d=e.Da[3]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Da[1]=b),d=e.Da[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.O&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.eb[f]=
|
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.lb)return e.L(4,232);f=a-4194272>>1;0>b?d=e.ic[f]:(d=K(this,e.ic[f],a,b,c),0<=d&&(e.ic[f]=d));break;case 4194254:return a&1?e.O>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[3]=b),d=e.Aa[3]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[1]=b),d=e.Aa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.O&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.Ta[f]=
|
||||||
b),d=e.eb[f]),d;case 4194246:return a&1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Da[0]=b),d=e.Da[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.O&2048?(0<=b&&(e.eb[f]=b),d=e.eb[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.H|=16,e.L(4,124)}break;case 4194176:f=a>>1&31;d=K(this,e.la[3][f],a,b,c);0<=d&&(e.la[3][f]=d,e.la[3][f&15]&=65295);break;case 4194112:var g=this.i;switch(a&-2){case 4194174:d=K(this,e.dc,a,b,c);0<=d&&(e.dc=d);break;case 4194172:d=
|
b),d=e.Ta[f]),d;case 4194246:return a&1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[0]=b),d=e.Aa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.O&2048?(0<=b&&(e.Ta[f]=b),d=e.Ta[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.H|=16,e.L(4,124)}break;case 4194176:f=a>>1&31;d=K(this,e.la[3][f],a,b,c);0<=d&&(e.la[3][f]=d,e.la[3][f&15]&=65295);break;case 4194112:var g=this.i;switch(a&-2){case 4194174:d=K(this,e.dc,a,b,c);0<=d&&(e.dc=d);break;case 4194172:d=
|
||||||
e.bb;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.A.nd&65535:(d=K(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Mc=0),g.wa&=-129,J(e,100,4,52,function(){g.wa|=128;return!!(g.wa&64)}));d=0;break;case 4194162:d=0;0>b&&(g.ta&=-129,0<g.lc.length&&(d=g.lc.shift(),0<g.lc.length&&setTimeout(function(){g.ta|=128;g.ta&64&&J(e,40,4,48)},50)));break;case 4194160:0>b?d=g.ta:(d=K(this,g.ta,a,b,c),0<=d&&(g.ta=g.ta&128|d&-129));break;default:return e.H|=16,e.L(4,
|
e.cb;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.A.pd&65535:(d=K(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Oc=0),g.wa&=-129,J(e,100,4,52,function(){g.wa|=128;return!!(g.wa&64)}));d=0;break;case 4194162:d=0;0>b&&(g.ta&=-129,0<g.lc.length&&(d=g.lc.shift(),0<g.lc.length&&setTimeout(function(){g.ta|=128;g.ta&64&&J(e,40,4,48)},50)));break;case 4194160:0>b?d=g.ta:(d=K(this,g.ta,a,b,c),0<=d&&(g.ta=g.ta&128|d&-129));break;default:return e.H|=16,e.L(4,
|
||||||
126)}break;case 4194048:f=this.B;switch(a&-2){case 4194048:d=K(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194050:d=K(this,f.ma,a,b,c);0<=d&&(f.ma=d);break;case 4194052:d=K(this,f.P,a,b,c);0<=b&&0<=d&&(f.P=d&-36993|f.P&36992,f.P&1&&ac(this));break;case 4194054:d=K(this,f.Ub,a,b,c);0<=d&&(f.Ub=d);break;case 4194056:d=K(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194058:d=K(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;case 4194060:break;case 4194062:d=K(this,f.Ac,a,b,c);0<=d&&(f.Ac=d);break;default:return e.H|=
|
126)}break;case 4194048:f=this.B;switch(a&-2){case 4194048:d=K(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194050:d=K(this,f.ma,a,b,c);0<=d&&(f.ma=d);break;case 4194052:d=K(this,f.P,a,b,c);0<=b&&0<=d&&(f.P=d&-36993|f.P&36992,f.P&1&&ac(this));break;case 4194054:d=K(this,f.Ub,a,b,c);0<=d&&(f.Ub=d);break;case 4194056:d=K(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194058:d=K(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;case 4194060:break;case 4194062:d=K(this,f.Cc,a,b,c);0<=d&&(f.Cc=d);break;default:return e.H|=
|
||||||
16,e.L(4,128)}break;case 4193728:var h=this.G;f=h.Ea&7;switch(a&-2){case 4193728:d=K(this,h.S,a,b,c);0<=b&&0<=d&&(h.fb=h.fb&60|d>>8&3,h.S=d&17279|h.S&34944|2048,d&1&&h.S&128?ec(this,f):192==(d&192)&&J(e,0,5,172));break;case 4193730:d=K(this,h.yb,a,b,c);0<=d&&(h.yb=d);break;case 4193732:d=K(this,h.wb,a,b,c);0<=d&&(h.wb=d&65534);break;case 4193734:d=K(this,h.Fa[f],a,b,c);0<=d&&(h.Fa[f]=d&7967);break;case 4193736:d=K(this,h.Ea,a,b,c);0<=d&&(h.Ea=d&63|h.Ea&65472,d&128&&dc(this));break;case 4193738:d=
|
16,e.L(4,128)}break;case 4193728:var h=this.G;f=h.Da&7;switch(a&-2){case 4193728:d=K(this,h.S,a,b,c);0<=b&&0<=d&&(h.fb=h.fb&60|d>>8&3,h.S=d&17279|h.S&34944|2048,d&1&&h.S&128?ec(this,f):192==(d&192)&&J(e,0,5,172));break;case 4193730:d=K(this,h.yb,a,b,c);0<=d&&(h.yb=d);break;case 4193732:d=K(this,h.wb,a,b,c);0<=d&&(h.wb=d&65534);break;case 4193734:d=K(this,h.Ea[f],a,b,c);0<=d&&(h.Ea[f]=d&7967);break;case 4193736:d=K(this,h.Da,a,b,c);0<=d&&(h.Da=d&63|h.Da&65472,d&128&&dc(this));break;case 4193738:d=
|
||||||
h.ra[f];break;case 4193740:d=h.xb[f];break;case 4193742:d=K(this,h.ob,a,b,c);0<=d&&(h.ob=d&255);break;case 4193744:d=h.kd[f];break;case 4193746:d=K(this,h.Bc,a,b,c);0<=d&&(h.Bc=d);break;case 4193748:d=K(this,h.Cc[f],a,b,c);0<=d&&(h.Cc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.ld[f];break;case 4193754:d=K(this,h.Dc[f],a,b,c);0<=d&&(h.Dc[f]=d);break;case 4193756:d=K(this,h.Ta[f],a,b,c);0<=d&&(h.Ta[f]=d&511);break;case 4193758:h.ec[f]=h.Ta[f];d=h.ec[f];break;case 4193760:d=h.hd[f];
|
h.ra[f];break;case 4193740:d=h.xb[f];break;case 4193742:d=K(this,h.ob,a,b,c);0<=d&&(h.ob=d&255);break;case 4193744:d=h.md[f];break;case 4193746:d=K(this,h.Dc,a,b,c);0<=d&&(h.Dc=d);break;case 4193748:d=K(this,h.Ec[f],a,b,c);0<=d&&(h.Ec[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.nd[f];break;case 4193754:d=K(this,h.Fc[f],a,b,c);0<=d&&(h.Fc[f]=d);break;case 4193756:d=K(this,h.Ua[f],a,b,c);0<=d&&(h.Ua[f]=d&511);break;case 4193758:h.ec[f]=h.Ua[f];d=h.ec[f];break;case 4193760:d=h.kd[f];
|
||||||
break;case 4193762:d=h.jd[f];break;case 4193764:d=h.fd[f];break;case 4193766:d=h.gd[f];break;case 4193768:d=K(this,h.fb,a,b,c);0<=d&&(h.fb=d&63,h.S=h.S&-769|(d&3)<<8);break;case 4193770:d=K(this,h.oc,a,b,c);0<=d&&(h.oc=d);break;default:return e.H|=16,e.L(4,132)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=K(this,f.K,a,b,c);0<=b&&0<=d&&(f.Va=f.Va&60|d>>4&3,f.K=f.K&-1023|d&1022,f.K&128||cc(this));break;case 4192514:d=K(this,f.Jb,a,b,c);0<=d&&(f.Jb=d&65534);break;case 4192516:d=K(this,f.fa,
|
break;case 4193762:d=h.ld[f];break;case 4193764:d=h.hd[f];break;case 4193766:d=h.jd[f];break;case 4193768:d=K(this,h.fb,a,b,c);0<=d&&(h.fb=d&63,h.S=h.S&-769|(d&3)<<8);break;case 4193770:d=K(this,h.oc,a,b,c);0<=d&&(h.oc=d);break;default:return e.H|=16,e.L(4,132)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=K(this,f.K,a,b,c);0<=b&&0<=d&&(f.Wa=f.Wa&60|d>>4&3,f.K=f.K&-1023|d&1022,f.K&128||cc(this));break;case 4192514:d=K(this,f.Jb,a,b,c);0<=d&&(f.Jb=d&65534);break;case 4192516:d=K(this,f.fa,
|
||||||
a,b,c);0<=d&&(f.fa=d);break;case 4192518:d=K(this,f.$a,a,b,c);0<=d&&(f.$a=d);break;case 4192520:d=K(this,f.Va,a,b,c);0<=d&&(f.Va=d&63,f.K=f.K&-49|(f.Va&3)<<4);break;default:return e.H|=16,e.L(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.nb:(d=K(this,e.nb,a,b,c),0<=d&&(70!==e.lb&&(d&=-49),e.nb=d,e.ac[0]=d&4?15:7,e.ac[1]=d&2?15:7,e.ac[3]=d&1?15:7,e.$b&&(f=2,e.nb&16&&(f=1),this.A.sb=this.A.sb&-8|f)));break;default:return e.H|=16,e.L(4,136)}break;case 4191424:f=a>>1&31;d=K(this,e.la[0][f],
|
a,b,c);0<=d&&(f.fa=d);break;case 4192518:d=K(this,f.ab,a,b,c);0<=d&&(f.ab=d);break;case 4192520:d=K(this,f.Wa,a,b,c);0<=d&&(f.Wa=d&63,f.K=f.K&-49|(f.Wa&3)<<4);break;default:return e.H|=16,e.L(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.nb:(d=K(this,e.nb,a,b,c),0<=d&&(70!==e.lb&&(d&=-49),e.nb=d,e.ac[0]=d&4?15:7,e.ac[1]=d&2?15:7,e.ac[3]=d&1?15:7,e.$b&&(f=2,e.nb&16&&(f=1),this.A.sb=this.A.sb&-8|f)));break;default:return e.H|=16,e.L(4,136)}break;case 4191424:f=a>>1&31;d=K(this,e.la[0][f],
|
||||||
a,b,c);0<=d&&(e.la[0][f]=d,e.la[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=K(this,e.la[1][f],a,b,c);0<=d&&(e.la[1][f]=d,e.la[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.lb)return e.L(4,234);f=a>>2&31;d=e.Wb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=K(this,d,a,b,c),0<=d&&(e.Wb[f]=a&2?d<<16|e.Wb[f]&65535:e.Wb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Mb[a>>1&255];else return e.H|=16,e.L(4,
|
a,b,c);0<=d&&(e.la[0][f]=d,e.la[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=K(this,e.la[1][f],a,b,c);0<=d&&(e.la[1][f]=d,e.la[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.lb)return e.L(4,234);f=a>>2&31;d=e.Wb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=K(this,d,a,b,c),0<=d&&(e.Wb[f]=a&2?d<<16|e.Wb[f]&65535:e.Wb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Nb[a>>1&255];else return e.H|=16,e.L(4,
|
||||||
138);break;default:return e.H|=16,e.L(4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var hc={},Kb=(hc[65382]=[null,null,I.prototype.Yc,I.prototype.pd,"LKS"],hc[65392]=[null,null,I.prototype.ad,I.prototype.sd,"RCSR"],hc[65396]=[null,null,I.prototype.bd,I.prototype.td,"XCSR"],hc[65402]=[null,null,I.prototype.Zc,I.prototype.qd,"MMR0"],hc[65534]=[null,null,I.prototype.$c,I.prototype.rd,"PSW"],hc);
|
138);break;default:return e.H|=16,e.L(4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var hc={},Lb=(hc[65382]=[null,null,I.prototype.$c,I.prototype.rd,"LKS"],hc[65392]=[null,null,I.prototype.cd,I.prototype.ud,"RCSR"],hc[65396]=[null,null,I.prototype.dd,I.prototype.vd,"XCSR"],hc[65402]=[null,null,I.prototype.ad,I.prototype.sd,"MMR0"],hc[65534]=[null,null,I.prototype.bd,I.prototype.td,"PSW"],hc);
|
||||||
Oa(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new I(d);bb(d,c)}});var ic;if(ub){var jc=new ArrayBuffer(2);(new DataView(jc)).setUint16(0,256,!0);ic=256===(new Uint16Array(jc))[0]}else ic=!1;var kc=ic;
|
Pa(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new I(d);cb(d,c)}});var ic;if(vb){var jc=new ArrayBuffer(2);(new DataView(jc)).setUint16(0,256,!0);ic=256===(new Uint16Array(jc))[0]}else ic=!1;var kc=ic;
|
||||||
function H(a,b,c,d,f){this.id=lc+=2;this.b=null;this.w=a;this.Yb=b;this.size=c||0;this.type=d||mc;this.i=d==nc;this.controller=null;yb(this);this.Xa=this.Oc=!1;if(c)if(f)this.controller=f,this.b=null,oc(this,f.Gb);else if(ub)this.D=new ArrayBuffer(c),this.G=new DataView(this.D,0,c),this.I=new Uint8Array(this.D,0,c),this.R=new Uint16Array(this.D,0,c>>1),this.b=new Int32Array(this.D,0,c>>2),oc(this,kc?pc:qc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;oc(this,rc)}else oc(this)}
|
function H(a,b,c,d,f){this.id=lc+=2;this.b=null;this.w=a;this.Yb=b;this.size=c||0;this.type=d||mc;this.i=d==nc;this.controller=null;zb(this);this.Ya=this.Qc=!1;if(c)if(f)this.controller=f,this.b=null,oc(this,f.Gb);else if(vb)this.D=new ArrayBuffer(c),this.G=new DataView(this.D,0,c),this.I=new Uint8Array(this.D,0,c),this.R=new Uint16Array(this.D,0,c>>1),this.b=new Int32Array(this.D,0,c>>2),oc(this,kc?pc:qc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;oc(this,rc)}else oc(this)}
|
||||||
var mc=0,nc=2,Eb=4,Gb=["NONE","RAM","ROM","VID","H/W"],lc=0;
|
var mc=0,nc=2,Fb=4,Hb=["NONE","RAM","ROM","VID","H/W"],lc=0;
|
||||||
H.prototype={constructor:H,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(ub)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(ub)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Xa=!0}return!1},jb:function(a,b){b?this.A++||sc(this,tc,!1):this.j++||uc(this,tc,!1)},T:function(){this.C&&E(this.C,129)&&this.C.message("attempt to read invalid block %"+
|
H.prototype={constructor:H,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(vb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ya=!0}return!1},jb:function(a,b){b?this.A++||sc(this,tc,!1):this.j++||uc(this,tc,!1)},T:function(){this.C&&E(this.C,129)&&this.C.message("attempt to read invalid block %"+
|
||||||
t(this.w),!0);return 255},B:function(a,b){this.C&&E(this.C,129)&&this.C.message("attempt to write "+t(b,4,!0)+" to invalid block %"+t(this.w),!0)},W:function(a,b){return this.vb(a++,b++)|this.vb(a,b)<<8},J:function(a,b,c){this.Bb(a++,b&255,c++);this.Bb(a,b>>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},sa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Ba:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Xa=
|
t(this.w),!0);return 255},B:function(a,b){this.C&&E(this.C,129)&&this.C.message("attempt to write "+t(b,4,!0)+" to invalid block %"+t(this.w),!0)},W:function(a,b){return this.vb(a++,b++)|this.vb(a,b)<<8},J:function(a,b,c){this.Bb(a++,b&255,c++);this.Bb(a,b>>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},sa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Ba:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Ya=
|
||||||
!0},Ma:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Xa=!0},ca:function(a,b){if(this.C&&null!=this.w){var c=this.C;vc(c,this.w+a,1,c.W)&&c.na(!0)}return this.Qb(a,b)},ja:function(a,b){if(this.C&&null!=this.w){var c=this.C;vc(c,this.w+a,2,c.W)&&c.na(!0)}return this.mc(a,b)},ya:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;vc(d,this.w+a,1,d.D)&&d.na(!0)}this.i?this.B(a,b,c):this.Cb(a,
|
!0},Ma:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ya=!0},ca:function(a,b){if(this.C&&null!=this.w){var c=this.C;vc(c,this.w+a,1,c.W)&&c.na(!0)}return this.Qb(a,b)},ja:function(a,b){if(this.C&&null!=this.w){var c=this.C;vc(c,this.w+a,2,c.W)&&c.na(!0)}return this.mc(a,b)},ya:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;vc(d,this.w+a,1,d.D)&&d.na(!0)}this.i?this.B(a,b,c):this.Cb(a,
|
||||||
b,c)},La:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;vc(d,this.w+a,2,d.D)&&d.na(!0)}this.i?this.B(a,b,c):this.rc(a,b,c)},$:function(a){return this.I[a]},da:function(a){return this.I[a]},ha:function(a){return this.G.getUint16(a,!0)},oa:function(a){return a&1?this.I[a]|this.I[a+1]<<8:this.R[a>>1]},xa:function(a,b){this.I[a]=b;this.Xa=!0},za:function(a,b){this.I[a]=b;this.Xa=!0},Ha:function(a,b){this.G.setUint16(a,b,!0);this.Xa=!0},Db:function(a,b){a&1?(this.I[a]=b,this.I[a+1]=b>>8):this.R[a>>
|
b,c)},La:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;vc(d,this.w+a,2,d.D)&&d.na(!0)}this.i?this.B(a,b,c):this.rc(a,b,c)},$:function(a){return this.I[a]},da:function(a){return this.I[a]},ha:function(a){return this.G.getUint16(a,!0)},oa:function(a){return a&1?this.I[a]|this.I[a+1]<<8:this.R[a>>1]},xa:function(a,b){this.I[a]=b;this.Ya=!0},za:function(a,b){this.I[a]=b;this.Ya=!0},Ga:function(a,b){this.G.setUint16(a,b,!0);this.Ya=!0},Db:function(a,b){a&1?(this.I[a]=b,this.I[a+1]=b>>8):this.R[a>>
|
||||||
1]=b;this.Xa=!0}};function yb(a,b,c){a.C=b;a.j=a.A=0;c&&((a.j=c.j)&&uc(a,tc,!1),(a.A=c.A)&&sc(a,tc,!1))}function wc(a,b){b?--a.A||(a.Bb=a.i?a.B:a.Cb,a.Fc=a.i?a.J:a.rc):--a.j||(a.vb=a.Qb,a.Rb=a.mc)}function sc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.B,a.Fc=!a.i&&b[3]||a.J);if(c||void 0===c)a.Cb=b[1]||a.B,a.rc=b[3]||a.J}function uc(a,b,c){c&&a.j||(a.vb=b[0]||a.T,a.Rb=b[2]||a.W);if(c||void 0===c)a.Qb=b[0]||a.T,a.mc=b[2]||a.W}function oc(a,b){b||(b=xc);uc(a,b,void 0);sc(a,b,void 0)}
|
1]=b;this.Ya=!0}};function zb(a,b,c){a.C=b;a.j=a.A=0;c&&((a.j=c.j)&&uc(a,tc,!1),(a.A=c.A)&&sc(a,tc,!1))}function wc(a,b){b?--a.A||(a.Bb=a.i?a.B:a.Cb,a.Hc=a.i?a.J:a.rc):--a.j||(a.vb=a.Qb,a.Rb=a.mc)}function sc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.B,a.Hc=!a.i&&b[3]||a.J);if(c||void 0===c)a.Cb=b[1]||a.B,a.rc=b[3]||a.J}function uc(a,b,c){c&&a.j||(a.vb=b[0]||a.T,a.Rb=b[2]||a.W);if(c||void 0===c)a.Qb=b[0]||a.T,a.mc=b[2]||a.W}function oc(a,b){b||(b=xc);uc(a,b,void 0);sc(a,b,void 0)}
|
||||||
var xc=[],rc=[H.prototype.ea,H.prototype.Ba,H.prototype.sa,H.prototype.Ma],tc=[H.prototype.ca,H.prototype.ya,H.prototype.ja,H.prototype.La];if(ub)var qc=[H.prototype.$,H.prototype.xa,H.prototype.ha,H.prototype.Ha],pc=[H.prototype.da,H.prototype.za,H.prototype.oa,H.prototype.Db];
|
var xc=[],rc=[H.prototype.ea,H.prototype.Ba,H.prototype.sa,H.prototype.Ma],tc=[H.prototype.ca,H.prototype.ya,H.prototype.ja,H.prototype.La];if(vb)var qc=[H.prototype.$,H.prototype.xa,H.prototype.ha,H.prototype.Ga],pc=[H.prototype.da,H.prototype.za,H.prototype.oa,H.prototype.Db];
|
||||||
function yc(a,b){v.call(this,"CPU",a,yc,1);var c=a.multiplier||1;this.za=a.cycles||b;this.ab=c;this.Ha=Math.round(this.za/1E4)/100;this.mb=this.Ha*this.ab;this.u.ga=!1;this.u.pc=!1;this.u.Hb=a.autoStart;this.u.xc=!1;this.u.qb=!1;this.Nb=this.ca=0;this.Ob=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.D=[];this.Ma=this.md.bind(this);F(this)}B(yc);var zc=["power","reset"];l=yc.prototype;
|
function yc(a,b){w.call(this,"CPU",a,yc,1);var c=a.multiplier||1;this.za=a.cycles||b;this.bb=c;this.Ga=Math.round(this.za/1E4)/100;this.mb=this.Ga*this.bb;this.u.ga=!1;this.u.pc=!1;this.u.Hb=a.autoStart;this.u.xc=!1;this.u.qb=!1;this.Nb=this.ca=0;this.Ob=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.D=[];this.Ma=this.od.bind(this);F(this)}B(yc);var zc=["power","reset"];l=yc.prototype;
|
||||||
l.Ya=function(a,b,c,d){this.i=a;this.F=b;this.C=d;for(b=0;b<zc.length;b++)(c=this.I[zc[b]])&&this.i.va(null,zc[b],c);this.ha=null;a=Ac(a,"autoStart");null!=a&&(this.u.Hb="true"==a?!0:"false"==a?!1:!!a);F(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
l.Za=function(a,b,c,d){this.i=a;this.F=b;this.C=d;for(b=0;b<zc.length;b++)(c=this.I[zc[b]])&&this.i.va(null,zc[b],c);this.ha=null;a=Ac(a,"autoStart");null!=a&&(this.u.Hb="true"==a?!0:"false"==a?!1:!!a);F(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
||||||
l.Ra=function(a,b){if(!b){if(a&&this.restore){Pc(this);if(!this.restore(a))return!1;Qc(this)}else this.reset();this.C?(a=this.C,a.f("Type ? for help with PDP11 Debugger commands"),a.Ga(),a.Ma&&(b=a.Ma,a.Ma=null,Rc(a,b))):this.f("No debugger detected")}L(this);return!0};l.Qa=function(a){return a?this.save():!0};l.Hb=function(){return this.u.Hb||!this.C&&void 0===this.I.run?(this.zb(!0),!0):!1};l.zc=function(){return 0};
|
l.Ra=function(a,b){if(!b){if(a&&this.restore){Bc(this);if(!this.restore(a))return!1;Vc(this)}else this.reset();this.C?(a=this.C,a.f("Type ? for help with PDP11 Debugger commands"),a.Fa(),a.Ma&&(b=a.Ma,a.Ma=null,Wc(a,b))):this.f("No debugger detected")}L(this);return!0};l.Qa=function(a){return a?this.save():!0};l.Hb=function(){return this.u.Hb||!this.C&&void 0===this.I.run?(this.zb(!0),!0):!1};l.zc=function(){return 0};
|
||||||
function Qc(a){void 0===a.Ob&&(a.Ob=0);void 0===a.tb&&(a.tb=-1);void 0===a.ub&&(a.ub=-1);a.u.qb=0<=a.Ob&&0<a.tb;a.u.qb&&(a.Nb=0,a.ca=a.Ob-a.$)}function Sc(a,b){if(a.u.qb){var c=!1;a.Nb=a.Nb+a.zc()|0;a.ca-=b;0>=a.ca&&(a.ca+=a.tb,c=!0);0<=a.ub&&a.ub<=Tc(a)&&(a.tb=a.ub=-1,Qc(a),a.na(),c=!0);c&&a.f(Tc(a)+" cycles: checksum="+t(a.Nb))}}
|
function Vc(a){void 0===a.Ob&&(a.Ob=0);void 0===a.tb&&(a.tb=-1);void 0===a.ub&&(a.ub=-1);a.u.qb=0<=a.Ob&&0<a.tb;a.u.qb&&(a.Nb=0,a.ca=a.Ob-a.$)}function Xc(a,b){if(a.u.qb){var c=!1;a.Nb=a.Nb+a.zc()|0;a.ca-=b;0>=a.ca&&(a.ca+=a.tb,c=!0);0<=a.ub&&a.ub<=Yc(a)&&(a.tb=a.ub=-1,Vc(a),a.na(),c=!0);c&&a.f(Yc(a)+" cycles: checksum="+t(a.Nb))}}
|
||||||
function Uc(a,b,c,d){if(a.I[b]){void 0===c&&(tb(a,"Value for "+b+" is invalid"),a.na());var f=a.C&&a.C.ea||8;c=!a.u.ga||a.u.xc?8==f?r(c,d):t(c,d):"--------".substr(0,d||4);a.I[b].textContent!=c&&(a.I[b].textContent=c)}}
|
function Zc(a,b,c,d){if(a.I[b]){void 0===c&&(ub(a,"Value for "+b+" is invalid"),a.na());var f=a.C&&a.C.ea||8;c=!a.u.ga||a.u.xc?8==f?r(c,d):t(c,d):"--------".substr(0,d||4);a.I[b].textContent!=c&&(a.I[b].textContent=c)}}
|
||||||
l.va=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.I[b]=c;a=!0;break;case "run":this.I[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ia)a=!0;else{var b=null,c,h=$a(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.u.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.u.ia);c++);c==h.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.u.ready?"powered yet":"ready yet"+(b.Zb?" (waiting for notification)":""))+".");a=!1}a&&(d.u.ga?d.na():d.zb())};
|
l.va=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.I[b]=c;a=!0;break;case "run":this.I[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ia)a=!0;else{var b=null,c,h=ab(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.u.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.u.ia);c++);c==h.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.u.ready?"powered yet":"ready yet"+(b.Zb?" (waiting for notification)":""))+".");a=!1}a&&(d.u.ga?d.na():d.zb())};
|
||||||
a=!0;break;case "speed":this.I[b]=c;a=!0;break;case "setSpeed":this.I[b]=c,c.onclick=function(){Vc(d,d.ab<<1,!0)},c.textContent=this.mb.toFixed(2)+"Mhz",a=!0}return a};function Wc(a,b,c){a.$+=b;c&&(a.W=a.b=0)}function Xc(a,b){var c=1;b&&1<a.ab&&a.R&&(c=a.R/a.Ha);a.Ib=Math.round(1E3/30);a.Ba=Math.floor(a.za/30*c);b||(a.da=a.Ba);a.La=0}function Tc(a){return a.$+a.J+a.W-a.b}function Pc(a){a.R=0;a.Lb=0;a.$=a.J=a.W=a.b=0;Qc(a);Vc(a,1)}
|
a=!0;break;case "speed":this.I[b]=c;a=!0;break;case "setSpeed":this.I[b]=c,c.onclick=function(){$c(d,d.bb<<1,!0)},c.textContent=this.mb.toFixed(2)+"Mhz",a=!0}return a};function ad(a,b,c){a.$+=b;c&&(a.W=a.b=0)}function bd(a,b){var c=1;b&&1<a.bb&&a.R&&(c=a.R/a.Ga);a.Ib=Math.round(1E3/30);a.Ba=Math.floor(a.za/30*c);b||(a.da=a.Ba);a.La=0}function Yc(a){return a.$+a.J+a.W-a.b}function Bc(a){a.R=0;a.Lb=0;a.$=a.J=a.W=a.b=0;Vc(a);$c(a,1)}
|
||||||
function Vc(a,b,c){var d=!1;if(void 0!==b){.8>a.R/a.mb?b=1:d=!0;a.ab=b;b=a.Ha*a.ab;if(a.mb!=b){a.mb=b;b=a.mb.toFixed(2)+"Mhz";var f=a.I.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Xb()}Wc(a,a.J);a.J=0;a.G=pa();a.T=0;Xc(a);return d}function Nb(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Xb(a,b){var c;0<=b&&b<a.D.length&&0>a.D[b][0]&&(c=a.za*a.ab/1E3*(1E3/60),a.D[b][0]=c)}function Yc(a){a.W-=a.b;a.b=0}
|
function $c(a,b,c){var d=!1;if(void 0!==b){.8>a.R/a.mb?b=1:d=!0;a.bb=b;b=a.Ga*a.bb;if(a.mb!=b){a.mb=b;b=a.mb.toFixed(2)+"Mhz";var f=a.I.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Xb()}ad(a,a.J);a.J=0;a.G=pa();a.T=0;bd(a);return d}function Ob(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Xb(a,b){var c;0<=b&&b<a.D.length&&0>a.D[b][0]&&(c=a.za*a.bb/1E3*(1E3/60),a.D[b][0]=c)}function cd(a){a.W-=a.b;a.b=0}
|
||||||
l.md=function(){if(this.u.ga){this.La>=this.za&&Xc(this,!0);this.ja=0;this.ya=pa();if(this.T){var a=this.ya-this.T;a>this.Ib&&(this.G+=a,this.G>this.ya&&(this.G=this.ya))}try{do{for(var b,c=this.u.qb?1:this.Ba,d=this.D.length-1;0<=d;d--){var f=this.D[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Ab(b)}catch(k){if("number"!=typeof k)throw k;}for(var e=this.W-this.b,a=e,g=this.D.length-1;0<=g;g--){var h=this.D[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.ja+=e;this.J+=e;Wc(this,0,!0);Sc(this,e);this.da-=
|
l.od=function(){if(this.u.ga){this.La>=this.za&&bd(this,!0);this.ja=0;this.ya=pa();if(this.T){var a=this.ya-this.T;a>this.Ib&&(this.G+=a,this.G>this.ya&&(this.G=this.ya))}try{do{for(var b,c=this.u.qb?1:this.Ba,d=this.D.length-1;0<=d;d--){var f=this.D[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Ab(b)}catch(k){if("number"!=typeof k)throw k;}for(var e=this.W-this.b,a=e,g=this.D.length-1;0<=g;g--){var h=this.D[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.ja+=e;this.J+=e;ad(this,0,!0);Xc(this,e);this.da-=
|
||||||
e;if(0>=this.da){this.da+=this.Ba;15<=++this.Lb&&(this.i&&this.i.Ga(),this.Lb=0);break}}while(this.u.ga)}catch(k){this.na();L(this);this.i&&this.i.stop(pa(),Tc(this));tb(this,k.stack||k.message);return}if(this.u.ga){b=setTimeout;c=this.Ma;this.T=pa();d=this.Ib;this.ja&&(d=Math.round(d*this.ja/this.Ba));d-=this.T-this.ya;if(f=this.T-this.G)this.R=Math.round(this.J/(10*f))/100,864E5<=f&&(this.$=0,Vc(this));if(0>d||this.R<this.mb)-1E3>d&&(this.G-=d),d=0;this.La+=this.ja;this.T+=d;b(c,d)}}};
|
e;if(0>=this.da){this.da+=this.Ba;15<=++this.Lb&&(this.i&&this.i.Fa(),this.Lb=0);break}}while(this.u.ga)}catch(k){this.na();L(this);this.i&&this.i.stop(pa(),Yc(this));ub(this,k.stack||k.message);return}if(this.u.ga){b=setTimeout;c=this.Ma;this.T=pa();d=this.Ib;this.ja&&(d=Math.round(d*this.ja/this.Ba));d-=this.T-this.ya;if(f=this.T-this.G)this.R=Math.round(this.J/(10*f))/100,864E5<=f&&(this.$=0,$c(this));if(0>d||this.R<this.mb)-1E3>d&&(this.G-=d),d=0;this.La+=this.ja;this.T+=d;b(c,d)}}};
|
||||||
l.zb=function(a){if(sb(this))return!1;if(this.u.ga)return this.f(this.toString()+" busy"),!1;Vc(this);this.u.ga=!0;this.u.pc=!0;this.ha&&this.ha.start();var b=this.I.run;b&&(b.textContent="Halt");this.i&&(this.i.start(this.G,Tc(this)),a&&this.i.Xb(!0));L(this,!0);setTimeout(this.Ma,0);return!0};l.Ab=function(){return 0};
|
l.zb=function(a){if(tb(this))return!1;if(this.u.ga)return this.f(this.toString()+" busy"),!1;$c(this);this.u.ga=!0;this.u.pc=!0;this.ha&&this.ha.start();var b=this.I.run;b&&(b.textContent="Halt");this.i&&(this.i.start(this.G,Yc(this)),a&&this.i.Xb(!0));L(this,!0);setTimeout(this.Ma,0);return!0};l.Ab=function(){return 0};
|
||||||
l.na=function(a){if(this.u.ga){Yc(this);Wc(this,this.J);this.J=0;this.u.ga=!1;this.ha&&this.ha.stop();var b=this.I.run;b&&(b.textContent="Run");this.i&&this.i.stop(pa(),Tc(this));L(this)}this.u.complete=a};function L(a,b){a.i&&a.i.Ga(b)}
|
l.na=function(a){if(this.u.ga){cd(this);ad(this,this.J);this.J=0;this.u.ga=!1;this.ha&&this.ha.stop();var b=this.I.run;b&&(b.textContent="Run");this.i&&this.i.stop(pa(),Yc(this));L(this)}this.u.complete=a};function L(a,b){a.i&&a.i.Fa(b)}
|
||||||
function Zc(a){this.Wc=+a.model||1170;this.jc=a.resetAddr||0;yc.call(this,a,1E6);this.Fb=0;this.decode=$c.bind(this);this.U=65536;this.V=32768;this.Z=65535;this.X=32768;this.O=15;this.g=[0,0,0,0,0,0,0,this.jc];this.eb=[0,0,0,0,0,0];this.Da=[0,0,0,0];this.xa=this.A=0;this.la=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
function dd(a){this.Yc=+a.model||1170;this.jc=a.resetAddr||0;yc.call(this,a,1E6);this.Fb=0;this.decode=ed.bind(this);this.U=65536;this.V=32768;this.Z=65535;this.X=32768;this.O=15;this.g=[0,0,0,0,0,0,0,this.jc];this.Ta=[0,0,0,0,0,0];this.Aa=[0,0,0,0];this.xa=this.A=0;this.la=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Wb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.ic=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.N=0;this.lb=70;this.ea=-1;this.oa=0;ad(this);this.u.complete=this.u.Lc=!1}B(Zc,yc);l=Zc.prototype;l.reset=function(){this.u.ga&&this.na();ad(this);Pc(this);this.u.error=!1;this.parent.reset.call(this)};
|
0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Wb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.ic=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.N=0;this.lb=70;this.ea=-1;this.oa=0;fd(this);this.u.complete=this.u.Nc=!1}B(dd,yc);l=dd.prototype;l.reset=function(){this.u.ga&&this.na();fd(this);Bc(this);this.u.error=!1;this.parent.reset.call(this)};
|
||||||
function ad(a){a.cb=255;a.H=0;a.nc=0;a.B=0;a.bb=0;a.dc=0;a.nb=0;a.$b=0;a.sa=0;a.ac=[7,7,7,7];a.j=[];a.Sa=2;Yb(a)}function Yb(a){a.$b?(a.Eb=65536,a.ba=a.Sc,a.Rb=a.Aa):(a.Eb=0,a.ba=a.Rc,a.Rb=a.cc)}l.zc=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.$,this.ab]);a.set(2,Ib(this.F));return a.data()};
|
function fd(a){a.eb=255;a.H=0;a.nc=0;a.B=0;a.cb=0;a.dc=0;a.nb=0;a.$b=0;a.sa=0;a.ac=[7,7,7,7];a.j=[];a.Sa=2;Yb(a)}function Yb(a){a.$b?(a.Eb=65536,a.ba=a.Uc,a.Rb=a.Ka):(a.Eb=0,a.ba=a.Tc,a.Rb=a.cc)}l.zc=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.$,this.bb]);a.set(2,Jb(this.F));return a.data()};
|
||||||
l.restore=function(a){var b=a[1];this.$=b[1];Vc(this,b[3]);a:{b=this.F;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.R){for(var e=0,g=Array(b.R),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.M[d];if(!e||!e.restore(f)){u("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
l.restore=function(a){var b=a[1];this.$=b[1];$c(this,b[3]);a:{b=this.F;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.R){for(var e=0,g=Array(b.R),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.M[d];if(!e||!e.restore(f)){u("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||||
l.va=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.I[b]=c;this.Fb++;a=!0;break;default:a=this.parent.va.call(this,a,b,c)}return a};
|
l.va=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.I[b]=c;this.Fb++;a=!0;break;default:a=this.parent.va.call(this,a,b,c)}return a};
|
||||||
l.Ga=function(a){if(this.Fb&&(a||!this.u.ga||this.u.xc)){for(a=0;a<this.g.length;a++)Uc(this,"R"+a,this.g[a]);a=Zb(this);Uc(this,"PS",a);Uc(this,"NF",a&8?1:0,1);Uc(this,"ZF",a&4?1:0,1);Uc(this,"VF",a&2?1:0,1);Uc(this,"CF",a&1?1:0,1)}if(a=this.I.speed)a.textContent=this.u.ga&&this.R?this.R.toFixed(2)+"Mhz":"Stopped"};function N(a){return a.U&65536?1:0}function bd(a){return a.V&32768?2:0}function cd(a){return a.Z&65535?0:4}l.Pa=function(){return this.X&32768?8:0};
|
l.Fa=function(a){if(this.Fb&&(a||!this.u.ga||this.u.xc)){for(a=0;a<this.g.length;a++)Zc(this,"R"+a,this.g[a]);a=Zb(this);Zc(this,"PS",a);Zc(this,"NF",a&8?1:0,1);Zc(this,"ZF",a&4?1:0,1);Zc(this,"VF",a&2?1:0,1);Zc(this,"CF",a&1?1:0,1)}if(a=this.I.speed)a.textContent=this.u.ga&&this.R?this.R.toFixed(2)+"Mhz":"Stopped"};function N(a){return a.U&65536?1:0}function gd(a){return a.V&32768?2:0}function hd(a){return a.Z&65535?0:4}l.Pa=function(){return this.X&32768?8:0};
|
||||||
function J(a,b,c,d,f){for(var e=a.j.length;0<e--;)if(a.j[e].od===d){0<e&&(a.j[e-1].Ia+=a.j[e].Ia);a.j.splice(e,1);break}if(0<=b){2===a.oa&&(b=0,a.oa=0,setTimeout(a.Ma,0));for(e=a.j.length;0<e--;){if(a.j[e].Ia>b){a.j[e].Ia-=b;break}b-=a.j[e].Ia}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Sa=2}function Zb(a){return a.O=a.O&63728|a.Pa()|cd(a)|bd(a)|N(a)}
|
function id(a){var b=a.Ka(a.g[7]);a.g[7]=a.g[7]+2&65535;return b}function J(a,b,c,d,f){for(var e=a.j.length;0<e--;)if(a.j[e].qd===d){0<e&&(a.j[e-1].Ha+=a.j[e].Ha);a.j.splice(e,1);break}if(0<=b){2===a.oa&&(b=0,a.oa=0,setTimeout(a.Ma,0));for(e=a.j.length;0<e--;){if(a.j[e].Ha>b){a.j[e].Ha-=b;break}b-=a.j[e].Ha}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Sa=2}function Zb(a){return a.O=a.O&63728|a.Pa()|hd(a)|gd(a)|N(a)}
|
||||||
function $b(a,b){a.X=b<<12;a.Z=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.O)&2048)for(var c=a.eb.length;0<=--c;){var d=a.g[c];a.g[c]=a.eb[c];a.eb[c]=d}a.A=b>>14&3;c=a.O>>14&3;a.A!=c&&(a.Da[c]=a.g[6],a.g[6]=a.Da[a.A]);a.Sa=2;a.O=b}function dd(a,b,c){a.N&128||(a.X=a.Z=a.U=b,a.V=c||0)}function O(a,b){a.N&128||(a.X=a.Z=b,a.V=0)}function ed(a,b,c,d){a.N&128||(a.X=a.Z=a.U=b,a.V=(c^b)&(d^b))}function fd(a,b){a.N&128||(a.X=a.Z=a.U=b,a.V=a.X^a.U>>1)}function gd(a,b,c,d){a.N&128||(a.X=a.Z=a.U=b,a.V=(c^d)&(d^b))}
|
function $b(a,b){a.X=b<<12;a.Z=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.O)&2048)for(var c=a.Ta.length;0<=--c;){var d=a.g[c];a.g[c]=a.Ta[c];a.Ta[c]=d}a.A=b>>14&3;c=a.O>>14&3;a.A!=c&&(a.Aa[c]=a.g[6],a.g[6]=a.Aa[a.A]);a.Sa=2;a.O=b}function O(a,b){a.N&128||(a.X=a.Z=b,a.V=0)}function jd(a,b,c){a.N&128||(a.X=a.Z=a.U=b,a.V=c||0)}function kd(a,b,c,d){a.N&128||(a.X=a.Z=a.U=b,a.V=(c^b)&(d^b))}function ld(a,b){a.N&128||(a.X=a.Z=a.U=b,a.V=a.X^a.U>>1)}function md(a,b,c,d){a.N&128||(a.X=a.Z=a.U=b,a.V=(c^d)&(d^b))}
|
||||||
l.L=function(a){var b=!1;0>this.ea?this.ea=Zb(this):this.A||(a=4,b=!0);this.B&57344||(this.bb=63222,this.dc=a);this.A=0;var c=this.Aa(a|65536),d=this.Aa(a+2&65535|65536);$b(this,d&-12289|this.ea>>2&12288);b&&(this.H|=4,this.g[6]=4);hd(this,this.ea);hd(this,this.g[7]);this.g[7]=c;this.N&=-113;this.ea=-1;throw a;};function id(a){var b=jd(a),c=jd(a)&-1793;a.O&49152&&(c=c&-225|a.O&63712);a.g[7]=b&65535;$b(a,c);a.N&=-17}
|
l.L=function(a){var b=!1;0>this.ea?this.ea=Zb(this):this.A||(a=4,b=!0);this.B&57344||(this.cb=63222,this.dc=a);this.A=0;var c=this.Ka(a|65536),d=this.Ka(a+2&65535|65536);$b(this,d&-12289|this.ea>>2&12288);b&&(this.H|=4,this.g[6]=4);nd(this,this.ea);nd(this,this.g[7]);this.g[7]=c;this.N&=-113;this.ea=-1;throw a;};function od(a){var b=pd(a),c=pd(a)&-1793;a.O&49152&&(c=c&-225|a.O&63712);a.g[7]=b&65535;$b(a,c);a.N&=-17}
|
||||||
function gc(a,b){var c=b>>13&31;31>c?a.nb&32&&(b=a.Wb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
function gc(a,b){var c=b>>13&31;31>c?a.nb&32&&(b=a.Wb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||||
function kd(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.A];f=a.la[a.A][d];e=(a.la[a.A][d+16]<<6)+(b&8191)&4194303;a.nb&16?3932160<=e&&4186112>e&&(e=gc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,a.L(4,12)),e&1&&!(c&1)&&(a.H|=64,a.L(4,14)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&
|
function qd(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.A];f=a.la[a.A][d];e=(a.la[a.A][d+16]<<6)+(b&8191)&4194303;a.nb&16?3932160<=e&&4186112>e&&(e=gc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,a.L(4,12)),e&1&&!(c&1)&&(a.H|=64,a.L(4,14)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&
|
||||||
8128)&&(g|=16384));a.la[a.A][d]=f;if(4194170!==e||a.A)a.sa=a.A,a.xa=d;g&&(g&57344&&(0<=a.ea&&(g|=128),a.B&57344||(a.B=a.B|g|a.sa<<5|a.xa<<1),a.L(168,16)),a.B&61440||!(4191360>e||4194239<e)||(a.B|=4096,a.B&512&&(a.N|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.H|=64,a.L(4,10));return e}l.cc=function(a){return 4194304<=a?this.g[a-4194304]:0<=a?this.F.Ka(a):a};l.Aa=function(a){return this.cc(kd(this,a,2))};function jd(a){var b=a.Aa(a.g[6]|65536);a.g[6]=a.g[6]+2&65535;return b}
|
8128)&&(g|=16384));a.la[a.A][d]=f;if(4194170!==e||a.A)a.sa=a.A,a.xa=d;g&&(g&57344&&(0<=a.ea&&(g|=128),a.B&57344||(a.B=a.B|g|a.sa<<5|a.xa<<1),a.L(168,16)),a.B&61440||!(4191360>e||4194239<e)||(a.B|=4096,a.B&512&&(a.N|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.H|=64,a.L(4,10));return e}l.cc=function(a){return 4194304<=a?this.g[a-4194304]:0<=a?this.F.Ja(a):a};l.Ka=function(a){return this.cc(qd(this,a,2))};function pd(a){var b=a.Ka(a.g[6]|65536);a.g[6]=a.g[6]+2&65535;return b}
|
||||||
function hd(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.B&57344||(a.bb=a.bb<<8|246);!a.A&&c<=a.cb&&4<c&&(c<=a.cb-32?(a.H|=4,a.g[6]=4,a.L(4,18)):(a.H|=8,a.N|=4));c=kd(a,c|65536,4);a.F.pb(c,b&65535)}
|
function nd(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.B&57344||(a.cb=a.cb<<8|246);!a.A&&c<=a.eb&&4<c&&(c<=a.eb-32?(a.H|=4,a.g[6]=4,a.L(4,18)):(a.H|=8,a.N|=4));c=qd(a,c|65536,4);a.F.pb(c,b&65535)}
|
||||||
function ld(a,b,c){var d,f,e=b&7,g=c&8?0:a.Eb;switch(b>>3&7){case 0:a.L(4,20);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.cb||65534<=a.g[6])&&(a.g[6]<=a.cb-32||65534<=a.g[6]?(a.H|=4,a.g[6]=4,a.L(4,22)):(a.H|=8,a.N|=64)),7===e?a.g[e]:a.g[e]|g;case 2:f=2;d=a.g[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.g[e];7!==e&&(d|=g);if(0>(d=a.Aa(d)))return d;d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.g[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.g[e]-2&65535;7!==e&&(d|=g);if(0>(d=a.Aa(d)))return d;
|
function rd(a,b,c){var d,f,e=b&7,g=c&8?0:a.Eb;switch(b>>3&7){case 0:a.L(4,20);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.eb||65534<=a.g[6])&&(a.g[6]<=a.eb-32||65534<=a.g[6]?(a.H|=4,a.g[6]=4,a.L(4,22)):(a.H|=8,a.N|=64)),7===e?a.g[e]:a.g[e]|g;case 2:f=2;d=a.g[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.g[e];7!==e&&(d|=g);d=a.Ka(d);d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.g[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.g[e]-2&65535;7!==e&&(d|=g);d=a.Ka(d)|g;break;case 6:return d=
|
||||||
d|=g;break;case 6:if(0>(d=a.Aa(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return d|g;case 7:if(0>(d=a.Aa(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return 0>(d=a.Aa(d|65536))?d:d|g}a.g[e]=a.g[e]+f&65535;!g||a.B&57344||(a.bb=a.bb<<8|f<<3&248|e);6==e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.cb||65534<=a.g[6])&&(a.g[6]<=a.cb-32?(a.H|=4,a.g[6]=4,a.L(4,24)):(a.H|=8,a.N|=64));return d}l.Rc=function(a,b){return ld(this,a,b)};l.Sc=function(a,b){return kd(this,ld(this,a,b),b)};
|
id(a),d=d+a.g[e]&65535|g;case 7:return d=id(a),d=d+a.g[e]&65535,d=a.Ka(d|65536)|g}a.g[e]=a.g[e]+f&65535;!g||a.B&57344||(a.cb=a.cb<<8|f<<3&248|e);6==e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.eb||65534<=a.g[6])&&(a.g[6]<=a.eb-32?(a.H|=4,a.g[6]=4,a.L(4,24)):(a.H|=8,a.N|=64));return d}l.Tc=function(a,b){return rd(this,a,b)};l.Uc=function(a,b){return qd(this,rd(this,a,b),b)};
|
||||||
function md(a,b,c){b&56?(b=ld(a,b,0),c&65536||61440!==(a.O&61440)&&(b&=65535),a.A=a.O>>12&3,c=a.Aa(b|c&65536),a.A=a.O>>14&3):(c=b&7,c=6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]:a.Da[a.O>>12&3]);return c}function nd(a,b,c,d){a.B&57344||(a.bb=22);b&56?(b=ld(a,b,0),c&65536||(b&=65535),a.A=a.O>>12&3,b=kd(a,b|c&65536,4),a.A=a.O>>14&3,a.F.pb(b,d&65535)):(c=b&7,6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]=d:a.Da[a.O>>12&3]=d)}function P(a,b){return b&56?a.Rb(ld(a,b,2)):a.g[b&7]}
|
function sd(a,b,c){b&56?(b=rd(a,b,0),c&65536||61440!==(a.O&61440)&&(b&=65535),a.A=a.O>>12&3,c=a.Ka(b|c&65536),a.A=a.O>>14&3):(c=b&7,c=6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]:a.Aa[a.O>>12&3]);return c}function td(a,b,c,d){a.B&57344||(a.cb=22);b&56?(b=rd(a,b,0),c&65536||(b&=65535),a.A=a.O>>12&3,b=qd(a,b|c&65536,4),a.A=a.O>>14&3,a.F.pb(b,d&65535)):(c=b&7,6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]=d:a.Aa[a.O>>12&3]=d)}function P(a,b){return b&56?a.Rb(rd(a,b,2)):a.g[b&7]}
|
||||||
function od(a,b){b&56?(b=a.ba(b,3),a=a.F.rb(b)):a=a.g[b&7]&255;return a}function R(a,b,c,d){b&56?(b=a.ba(b,6),c=d.call(a,c,a.cc(b)),a.F.pb(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function S(a,b,c,d){b&56?(b=a.ba(b,7),c=d.call(a,c,a.F.rb(b)),a.F.Vb(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function pd(a,b,c){b&56?(b=a.ba(b,4),a.F.pb(b,c&65535)):a.g[b&7]=c&65535;return c}
|
function ud(a,b){b&56?(b=a.ba(b,3),a=a.F.rb(b)):a=a.g[b&7]&255;return a}function R(a,b,c,d){b&56?(b=a.ba(b,6),c=d.call(a,c,a.cc(b)),a.F.pb(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function S(a,b,c,d){b&56?(b=a.ba(b,7),c=d.call(a,c,a.F.rb(b)),a.F.Vb(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function vd(a,b,c){b&56?(b=a.ba(b,4),a.F.pb(b,c&65535)):a.g[b&7]=c&65535;return c}
|
||||||
function qd(a,b,c,d){b&56?(d=a.ba(b,5),a.F.Vb(d,c&255)):(b&=7,a.g[b]=c?d&1?c<<24>>24&65535:a.g[b]&-256|c&255:a.g[b]&-256);return c}function T(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535}
|
function wd(a,b,c,d){b&56?(d=a.ba(b,5),a.F.Vb(d,c&255)):(b&=7,a.g[b]=c?d&1?c<<24>>24&65535:a.g[b]&-256|c&255:a.g[b]&-256);return c}function T(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535}
|
||||||
l.Ab=function(a){this.u.complete=!0;var b=this.u.Lc=this.C&&rd(this.C),c=a?this.u.pc?0:1:-1;this.u.pc=!1;this.W=this.b=a;do{if(b){if(sd(this.C,this.g[7],c)){this.na();break}c=1}this.N&112&&(this.N&32?this.L(168,28):this.N&64?this.L(4,30):this.N&16&&this.L(12,32),this.N&=-113);if(a&&this.Sa)if(1==this.Sa)this.Sa=2;else{this.Sa=0;for(var d=null,f=this.nc&224,e=this.j.length;0<=--e;){if(0<this.j[e].Ia){this.j[e].Ia--;this.Sa=2;break}if(this.j[e].vc){if(!this.j[e].vc()){this.j.splice(e,1);continue}this.j[e].vc=
|
l.Ab=function(a){this.u.complete=!0;var b=this.u.Nc=this.C&&xd(this.C),c=a?this.u.pc?0:1:-1;this.u.pc=!1;this.W=this.b=a;do{if(b){if(yd(this.C,this.g[7],c)){this.na();break}c=1}this.N&112&&(this.N&32?this.L(168,28):this.N&64?this.L(4,30):this.N&16&&this.L(12,32),this.N&=-113);if(a&&this.Sa)if(1==this.Sa)this.Sa=2;else{this.Sa=0;for(var d=null,f=this.nc&224,e=this.j.length;0<=--e;){if(0<this.j[e].Ha){this.j[e].Ha--;this.Sa=2;break}if(this.j[e].vc){if(!this.j[e].vc()){this.j.splice(e,1);continue}this.j[e].vc=
|
||||||
null}this.j[e].Xc>f&&(f=this.j[e].Xc,d=this.j[e],this.j.splice(e,1))}f>(this.O&224)&&(d?this.L(d.od,26):this.L(160,26))}this.B&57344||(this.bb=0,this.dc=this.g[7]);this.N=this.O&16;d=this.Aa(this.g[7]);0<=d&&(this.g[7]=this.g[7]+2&65535);this.decode(d)}while(0<this.b);return this.u.complete?this.W-this.b:void 0===this.u.complete?0:-1};Oa(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Zc(d);bb(d,c)}});
|
null}this.j[e].Zc>f&&(f=this.j[e].Zc,d=this.j[e],this.j.splice(e,1))}f>(this.O&224)&&(d?this.L(d.qd,26):this.L(160,26))}this.B&57344||(this.cb=0,this.dc=this.g[7]);this.N=this.O&16;this.decode(id(this))}while(0<this.b);return this.u.complete?this.W-this.b:void 0===this.u.complete?0:-1};Pa(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new dd(d);cb(d,c)}});function zd(a,b){var c=b+a;kd(this,c,a,b);return c&65535}
|
||||||
function td(a,b){var c=b+a;ed(this,c,a,b);return c&65535}function ud(a,b){var c=b+a;ed(this,c<<8,a<<8,b<<8);return c&255}function vd(a,b){a=b<<1;fd(this,a);return a&65535}function wd(a,b){a=b<<1;fd(this,a<<8);return a&255}function xd(a,b){a=b&32768|b>>1|b<<16;fd(this,a);return a&65535}function yd(a,b){a=b&2048|b>>1|b<<8;fd(this,a<<8);return a&255}function zd(a,b){a=b&~a;O(this,a);return a}function Ad(a,b){a=b&~a;O(this,a<<8);return a}function Bd(a,b){a|=b;O(this,a);return a}
|
function Ad(a,b){var c=b+a;kd(this,c<<8,a<<8,b<<8);return c&255}function Bd(a,b){a=b<<1;ld(this,a);return a&65535}function Cd(a,b){a=b<<1;ld(this,a<<8);return a&255}function Dd(a,b){a=b&32768|b>>1|b<<16;ld(this,a);return a&65535}function Ed(a,b){a=b&2048|b>>1|b<<8;ld(this,a<<8);return a&255}function Fd(a,b){a=b&~a;O(this,a);return a}function Gd(a,b){a=b&~a;O(this,a<<8);return a}function Hd(a,b){a|=b;O(this,a);return a}function Id(a,b){a|=b;O(this,a<<8);return a}
|
||||||
function Cd(a,b){a|=b;O(this,a<<8);return a}function Dd(a,b){a=~b|65536;dd(this,a);return a&65535}function Ed(a,b){a=~b|256;dd(this,a<<8);return a&255}function Fd(a,b){a=b-a;this.N&128||(this.X=this.Z=a,this.V=b&(b^a));return a&65535}function Gd(a,b){a=b-a;var c=a<<8;b<<=8;this.N&128||(this.X=this.Z=c,this.V=b&(b^c));return a&255}function Hd(a,b){a=b+a;this.N&128||(this.X=this.Z=a,this.V=a&(b^a));return a&65535}
|
function Jd(a,b){a=~b|65536;jd(this,a);return a&65535}function Kd(a,b){a=~b|256;jd(this,a<<8);return a&255}function Ld(a,b){a=b-a;this.N&128||(this.X=this.Z=a,this.V=b&(b^a));return a&65535}function Md(a,b){a=b-a;var c=a<<8;b<<=8;this.N&128||(this.X=this.Z=c,this.V=b&(b^c));return a&255}function Nd(a,b){a=b+a;this.N&128||(this.X=this.Z=a,this.V=a&(b^a));return a&65535}function Od(a,b){a=b+a;var c=a<<8;this.N&128||(this.X=this.Z=c,this.V=c&(b<<8^c));return a&255}
|
||||||
function Id(a,b){a=b+a;var c=a<<8;this.N&128||(this.X=this.Z=c,this.V=c&(b<<8^c));return a&255}function Jd(a,b){a=-b;dd(this,a,a&b&32768);return a&65535}function Kd(a,b){a=-b;dd(this,a<<8,(a&b&128)<<8);return a&255}function Ld(a,b){a=b<<1|this.U>>16&1;fd(this,a);return a&65535}function Md(a,b){a=b<<1|this.U>>16&1;fd(this,a<<8);return a&255}function Nd(a,b){a=(this.U&65536|b)>>1|b<<16;fd(this,a);return a&65535}function Od(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;fd(this,a<<8);return a&255}
|
function Pd(a,b){a=-b;jd(this,a,a&b&32768);return a&65535}function Qd(a,b){a=-b;jd(this,a<<8,(a&b&128)<<8);return a&255}function Rd(a,b){a=b<<1|this.U>>16&1;ld(this,a);return a&65535}function Sd(a,b){a=b<<1|this.U>>16&1;ld(this,a<<8);return a&255}function Td(a,b){a=(this.U&65536|b)>>1|b<<16;ld(this,a);return a&65535}function Ud(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;ld(this,a<<8);return a&255}function Vd(a,b){var c=b-a;md(this,c,a,b);return c&65535}
|
||||||
function Pd(a,b){var c=b-a;gd(this,c,a,b);return c&65535}function Qd(a,b){var c=b-a;gd(this,c<<8,a<<8,b<<8);return c&255}function Rd(a,b){a^=b;O(this,a);return a&65535}function Sd(a){var b=P(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;b&32?(b=64-b,16<b&&(b=16),this.U=c<<17-b,c>>=b):b&&(16<b?(this.V=c,c=0):(this.U=c<<=b,(b=c>>15&65535)&&65535!==b&&(this.V=32768)));this.g[a]=c&65535;this.X=this.Z=c;--this.b}
|
function Wd(a,b){var c=b-a;md(this,c<<8,a<<8,b<<8);return c&255}function Xd(a,b){a^=b;O(this,a);return a&65535}function Yd(a){var b=P(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;b&32?(b=64-b,16<b&&(b=16),this.U=c<<17-b,c>>=b):b&&(16<b?(this.V=c,c=0):(this.U=c<<=b,(b=c>>15&65535)&&65535!==b&&(this.V=32768)));this.g[a]=c&65535;this.X=this.Z=c;--this.b}
|
||||||
function Td(a){var b=P(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.U=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.V=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.X=d>>16;this.Z=d>>16|d;--this.b}function U(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Z=1);a&8&&(this.X=0);--this.b}
|
function Zd(a){var b=P(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.U=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.V=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.X=d>>16;this.Z=d>>16|d;--this.b}function U(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Z=1);a&8&&(this.X=0);--this.b}
|
||||||
function Ud(a){var b=P(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.Z=d>>16|d,this.X=d>>16):(this.V=32768,this.Z=d>>15|d,this.X=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1))}else this.Z=this.X=0,this.V=32768,this.U=65536;--this.b}function Vd(a){var b=ld(this,a,8);a=a>>6&7;hd(this,this.g[a]);this.g[a]=this.g[7];this.g[7]=b;--this.b}
|
function $d(a){var b=P(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.Z=d>>16|d,this.X=d>>16):(this.V=32768,this.Z=d>>15|d,this.X=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1))}else this.Z=this.X=0,this.V=32768,this.U=65536;--this.b}function ae(a){var b=rd(this,a,8);a=a>>6&7;nd(this,this.g[a]);this.g[a]=this.g[7];this.g[7]=b;--this.b}
|
||||||
function Wd(a){var b=P(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.X=b>>16;this.Z=this.X|b;this.V=0;this.U=-32768>b||32767<b?65536:0;--this.b}function Xd(){--this.b}function W(a){a&1&&(this.U=65536);a&2&&(this.V=32768);a&4&&(this.Z=0);a&8&&(this.X=32768);--this.b}function we(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)this.g[7]=this.g[7]-((a&63)<<1)&65535;--this.b}
|
function be(a){var b=P(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.X=b>>16;this.Z=this.X|b;this.V=0;this.U=-32768>b||32767<b?65536:0;--this.b}function ce(){--this.b}function W(a){a&1&&(this.U=65536);a&2&&(this.V=32768);a&4&&(this.Z=0);a&8&&(this.X=32768);--this.b}function xe(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)this.g[7]=this.g[7]-((a&63)<<1)&65535;--this.b}
|
||||||
function xe(a){R(this,a,P(this,(a&448)>>6),Rd);--this.b}function X(){this.L(8,6)}function $c(a){ye[a>>12].call(this,a)}
|
function ye(a){R(this,a,P(this,(a&448)>>6),Xd);--this.b}function X(){this.L(8,6)}function ed(a){ze[a>>12].call(this,a)}
|
||||||
var ye=[function(a){ze[a>>8&15].call(this,a)},function(a){O(this,pd(this,a,P(this,a>>6)));--this.b},function(a){var b=P(this,a>>6);a=P(this,a);gd(this,b-a,a,b);--this.b},function(a){O(this,P(this,a>>6)&P(this,a));--this.b},function(a){R(this,a,P(this,a>>6),zd);--this.b},function(a){R(this,a,P(this,a>>6),Bd);--this.b},function(a){R(this,a,P(this,a>>6),td);--this.b},function(a){Ae[a>>8&15].call(this,a)},function(a){Be[a>>8&15].call(this,a)},function(a){var b=od(this,a>>6);O(this,qd(this,a,b,1)<<8);
|
var ze=[function(a){Ae[a>>8&15].call(this,a)},function(a){O(this,vd(this,a,P(this,a>>6)));--this.b},function(a){var b=P(this,a>>6);a=P(this,a);md(this,b-a,a,b);--this.b},function(a){O(this,P(this,a>>6)&P(this,a));--this.b},function(a){R(this,a,P(this,a>>6),Fd);--this.b},function(a){R(this,a,P(this,a>>6),Hd);--this.b},function(a){R(this,a,P(this,a>>6),zd);--this.b},function(a){Be[a>>8&15].call(this,a)},function(a){Ce[a>>8&15].call(this,a)},function(a){var b=ud(this,a>>6);O(this,wd(this,a,b,1)<<8);
|
||||||
--this.b},function(a){var b=od(this,a>>6)<<8;a=od(this,a)<<8;gd(this,b-a,a,b);--this.b},function(a){O(this,(od(this,a>>6)&od(this,a))<<8);--this.b},function(a){S(this,a,od(this,a>>6),Ad);--this.b},function(a){S(this,a,od(this,a>>6),Cd);--this.b},function(a){R(this,a,P(this,a>>6),Pd);--this.b},X],ze=[function(a){Ce[a>>4&15].call(this,a)},function(a){T(this,a);--this.b},function(a){cd(this)||T(this,a);--this.b},function(a){cd(this)&&T(this,a);--this.b},function(a){!this.Pa()==!bd(this)&&T(this,a);--this.b},
|
--this.b},function(a){var b=ud(this,a>>6)<<8;a=ud(this,a)<<8;md(this,b-a,a,b);--this.b},function(a){O(this,(ud(this,a>>6)&ud(this,a))<<8);--this.b},function(a){S(this,a,ud(this,a>>6),Gd);--this.b},function(a){S(this,a,ud(this,a>>6),Id);--this.b},function(a){R(this,a,P(this,a>>6),Vd);--this.b},X],Ae=[function(a){De[a>>4&15].call(this,a)},function(a){T(this,a);--this.b},function(a){hd(this)||T(this,a);--this.b},function(a){hd(this)&&T(this,a);--this.b},function(a){!this.Pa()==!gd(this)&&T(this,a);--this.b},
|
||||||
function(a){!this.Pa()!=!bd(this)&&T(this,a);--this.b},function(a){cd(this)||!this.Pa()!=!bd(this)||T(this,a);--this.b},function(a){(cd(this)||!this.Pa()!=!bd(this))&&T(this,a);--this.b},Vd,Vd,function(a){De[a>>6&3].call(this,a)},function(a){Ee[a>>6&3].call(this,a)},function(a){Fe[a>>6&3].call(this,a)},function(a){Ge[a>>6&3].call(this,a)},X,X],Ce=[function(a){He[a&15].call(this,a)},X,X,X,X,X,X,X,function(a){var b=jd(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.O&49152||(this.O=
|
function(a){!this.Pa()!=!gd(this)&&T(this,a);--this.b},function(a){hd(this)||!this.Pa()!=!gd(this)||T(this,a);--this.b},function(a){(hd(this)||!this.Pa()!=!gd(this))&&T(this,a);--this.b},ae,ae,function(a){Ee[a>>6&3].call(this,a)},function(a){Fe[a>>6&3].call(this,a)},function(a){Ge[a>>6&3].call(this,a)},function(a){He[a>>6&3].call(this,a)},X,X],Ee=[function(a){jd(this,vd(this,a,0));--this.b},function(a){R(this,a,0,Jd);--this.b},function(a){R(this,a,1,Nd);--this.b},function(a){R(this,a,1,Ld);--this.b}],
|
||||||
this.O&-2017|(a&7)<<5,this.Sa=1);--this.b},function(a){Ie[a&15].call(this,a)},function(a){Je[a&15].call(this,a)},X,X,X,X],Ie=[Xd,function(){this.U=0;--this.b},function(){this.V=0;--this.b},U,function(){this.Z=1;--this.b},U,U,U,function(){this.X=0;--this.b},U,U,U,U,U,U,U],Je=[Xd,function(){this.U=65536;--this.b},function(){this.V=32768;--this.b},W,function(){this.Z=0;--this.b},W,W,W,function(){this.X=32768;--this.b},W,W,W,W,W,W,W],He=[function(){this.O&49152?(this.H|=128,this.L(4,3)):(this.oa=3,Yc(this));
|
Fe=[function(a){R(this,a,0,Pd);--this.b},function(a){R(this,a,N(this)?1:0,zd);--this.b},function(a){R(this,a,N(this)?1:0,Vd);--this.b},function(a){a=P(this,a);jd(this,a);--this.b}],Ge=[function(a){R(this,a,0,Td);--this.b},function(a){R(this,a,0,Rd);--this.b},function(a){R(this,a,0,Dd);--this.b},function(a){R(this,a,0,Bd);--this.b}],He=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.Ka(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;this.g[5]=b;--this.b},function(a){a=sd(this,a,0);nd(this,
|
||||||
--this.b},function(){for(var a=0,b=this.j.length;0<=--b;)a+=this.j[b].Ia,this.j[b].Ia=0;a||0!==this.oa||(this.oa=2,Yc(this));--this.b},function(){id(this);this.N|=this.O&16;--this.b},function(){this.L(12,1);--this.b},function(){this.L(16,4);--this.b},function(){this.O&49152||(ad(this),this.F.reset());--this.b},function(){id(this);--this.b},X,X,X,X,X,X,X,X,X],Ae=[Wd,Wd,Ud,Ud,Sd,Sd,Td,Td,xe,xe,X,X,X,X,we,we],Be=[function(a){this.Pa()||T(this,a);--this.b},function(a){this.Pa()&&T(this,a);--this.b},function(a){N(this)||
|
a);O(this,a);--this.b},function(a){var b=pd(this);td(this,a,0,b);O(this,b);--this.b},function(a){O(this,vd(this,a,this.Pa?65535:0));--this.b}],De=[function(a){Ie[a&15].call(this,a)},X,X,X,X,X,X,X,function(a){var b=pd(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.O&49152||(this.O=this.O&-2017|(a&7)<<5,this.Sa=1);--this.b},function(a){Je[a&15].call(this,a)},function(a){Ke[a&15].call(this,a)},X,X,X,X],Je=[ce,function(){this.U=0;--this.b},function(){this.V=0;--this.b},U,function(){this.Z=
|
||||||
cd(this)||T(this,a);--this.b},function(a){(N(this)||cd(this))&&T(this,a);--this.b},function(a){bd(this)||T(this,a);--this.b},function(a){bd(this)&&T(this,a);--this.b},function(a){N(this)||T(this,a);--this.b},function(a){N(this)&&T(this,a);--this.b},function(){this.L(24,2);--this.b},function(){this.L(28,5);--this.b},function(a){Ke[a>>6&3].call(this,a)},function(a){Le[a>>6&3].call(this,a)},function(a){Me[a>>6&3].call(this,a)},function(a){Ne[a>>6&3].call(this,a)},X,X],De=[function(a){dd(this,pd(this,
|
1;--this.b},U,U,U,function(){this.X=0;--this.b},U,U,U,U,U,U,U],Ke=[ce,function(){this.U=65536;--this.b},function(){this.V=32768;--this.b},W,function(){this.Z=0;--this.b},W,W,W,function(){this.X=32768;--this.b},W,W,W,W,W,W,W],Ie=[function(){this.O&49152?(this.H|=128,this.L(4,3)):(this.oa=3,cd(this));--this.b},function(){for(var a=0,b=this.j.length;0<=--b;)a+=this.j[b].Ha,this.j[b].Ha=0;a||0!==this.oa||(this.oa=2,cd(this));--this.b},function(){od(this);this.N|=this.O&16;--this.b},function(){this.L(12,
|
||||||
a,0));--this.b},function(a){R(this,a,0,Dd);--this.b},function(a){R(this,a,1,Hd);--this.b},function(a){R(this,a,1,Fd);--this.b}],Ee=[function(a){R(this,a,0,Jd);--this.b},function(a){R(this,a,N(this)?1:0,td);--this.b},function(a){R(this,a,N(this)?1:0,Pd);--this.b},function(a){a=P(this,a);dd(this,a);--this.b}],Fe=[function(a){R(this,a,0,Nd);--this.b},function(a){R(this,a,0,Ld);--this.b},function(a){R(this,a,0,xd);--this.b},function(a){R(this,a,0,vd);--this.b}],Ge=[function(a){a=this.g[7]+((a&63)<<1)&
|
1);--this.b},function(){this.L(16,4);--this.b},function(){this.O&49152||(fd(this),this.F.reset());--this.b},function(){od(this);--this.b},X,X,X,X,X,X,X,X,X],Be=[be,be,$d,$d,Yd,Yd,Zd,Zd,ye,ye,X,X,X,X,xe,xe],Ce=[function(a){this.Pa()||T(this,a);--this.b},function(a){this.Pa()&&T(this,a);--this.b},function(a){N(this)||hd(this)||T(this,a);--this.b},function(a){(N(this)||hd(this))&&T(this,a);--this.b},function(a){gd(this)||T(this,a);--this.b},function(a){gd(this)&&T(this,a);--this.b},function(a){N(this)||
|
||||||
65535;var b=this.Aa(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;this.g[5]=b;--this.b},function(a){a=md(this,a,0);hd(this,a);O(this,a);--this.b},function(a){var b=jd(this);nd(this,a,0,b);O(this,b);--this.b},function(a){O(this,pd(this,a,this.Pa?65535:0));--this.b}],Ke=[function(a){dd(this,qd(this,a,0));--this.b},function(a){S(this,a,0,Ed);--this.b},function(a){S(this,a,1,Id);--this.b},function(a){S(this,a,1,Gd);--this.b}],Le=[function(a){S(this,a,0,Kd);--this.b},function(a){S(this,a,N(this)?
|
T(this,a);--this.b},function(a){N(this)&&T(this,a);--this.b},function(){this.L(24,2);--this.b},function(){this.L(28,5);--this.b},function(a){Le[a>>6&3].call(this,a)},function(a){Me[a>>6&3].call(this,a)},function(a){Ne[a>>6&3].call(this,a)},function(a){Oe[a>>6&3].call(this,a)},X,X],Le=[function(a){jd(this,wd(this,a,0));--this.b},function(a){S(this,a,0,Kd);--this.b},function(a){S(this,a,1,Od);--this.b},function(a){S(this,a,1,Md);--this.b}],Me=[function(a){S(this,a,0,Qd);--this.b},function(a){S(this,
|
||||||
1:0,ud);--this.b},function(a){S(this,a,N(this)?1:0,Qd);--this.b},function(a){a=od(this,a);dd(this,a<<8);--this.b}],Me=[function(a){S(this,a,0,Od);--this.b},function(a){S(this,a,0,Md);--this.b},function(a){S(this,a,0,yd);--this.b},function(a){S(this,a,0,wd);--this.b}],Ne=[X,function(a){a=md(this,a,65536);hd(this,a);O(this,a);--this.b},function(a){var b=jd(this);nd(this,a,65536,b);O(this,b);--this.b},X];
|
a,N(this)?1:0,Ad);--this.b},function(a){S(this,a,N(this)?1:0,Wd);--this.b},function(a){a=ud(this,a);jd(this,a<<8);--this.b}],Ne=[function(a){S(this,a,0,Ud);--this.b},function(a){S(this,a,0,Sd);--this.b},function(a){S(this,a,0,Ed);--this.b},function(a){S(this,a,0,Cd);--this.b}],Oe=[X,function(a){a=sd(this,a,65536);nd(this,a);O(this,a);--this.b},function(a){var b=pd(this);td(this,a,65536,b);O(this,b);--this.b},X];
|
||||||
function Oe(a){v.call(this,"ROM",a,Oe);this.i=null;this.D=a.addr;this.j=a.size;this.G=a.writable;this.A=a.alias;this.B=a.file;this.J=ca(this.B);if(this.B){a=this.B;var b=ha(this.J);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;sa(a,null,!0,function(a,b,e){Pe(c,a,b,e)})}}B(Oe);Oe.prototype.Ya=function(a,b,c,d){this.F=b;this.b=c;this.C=d;Qe(this)};
|
function Pe(a){w.call(this,"ROM",a,Pe);this.i=null;this.D=a.addr;this.j=a.size;this.G=a.writable;this.A=a.alias;this.B=a.file;this.J=ca(this.B);if(this.B){a=this.B;var b=ha(this.J);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;sa(a,null,!0,function(a,b,e){Qe(c,a,b,e)})}}B(Pe);Pe.prototype.Za=function(a,b,c,d){this.F=b;this.b=c;this.C=d;Re(this)};
|
||||||
Oe.prototype.Ra=function(){if(this.Na){if(this.C){var a=this.C,b=this.id,c=this.D,d=this.j,f=this.Na,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],p=oa(n,k,a.wc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({vd:b,w:c,Tc:d,Na:f,tc:e})}delete this.Na}return!0};Oe.prototype.Qa=function(){return!0};
|
Pe.prototype.Ra=function(){if(this.Na){if(this.C){var a=this.C,b=this.id,c=this.D,d=this.j,f=this.Na,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],p=oa(n,k,a.wc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({xd:b,w:c,Vc:d,Na:f,tc:e})}delete this.Na}return!0};Pe.prototype.Qa=function(){return!0};
|
||||||
function Pe(a,b,c,d){if(d)a.qa("Unable to load system ROM (error "+d+": "+b+")");else{Za(a.uc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.i=e;else if(e=h.words)for(a.i=Array(2*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255;else if(e=h.data)for(a.i=Array(4*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255,a.i[g++]=e[f]>>16&255,a.i[g++]=e[f]>>24&255;else a.i=h;a.Na=h.symbols;if(!a.i.length){u("Empty ROM: "+
|
function Qe(a,b,c,d){if(d)a.qa("Unable to load system ROM (error "+d+": "+b+")");else{$a(a.uc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.i=e;else if(e=h.words)for(a.i=Array(2*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255;else if(e=h.data)for(a.i=Array(4*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255,a.i[g++]=e[f]>>16&255,a.i[g++]=e[f]>>24&255;else a.i=h;a.Na=h.symbols;if(!a.i.length){u("Empty ROM: "+
|
||||||
b);return}if(1==a.i.length){u(a.i[0]);return}}catch(k){a.qa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.i=Array(b.length),f=0;f<b.length;f++)a.i[f]=ba(b[f],16);Qe(a)}}
|
b);return}if(1==a.i.length){u(a.i[0]);return}}catch(k){a.qa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.i=Array(b.length),f=0;f<b.length;f++)a.i[f]=ba(b[f],16);Re(a)}}
|
||||||
function Qe(a){if(!rb(a))if(!a.B)F(a);else if(a.i&&a.F){a.j||(a.j=a.i.length);if(a.i.length!=a.j)tb(a,"ROM size ("+t(a.i.length,8,!0)+") does not match specified size ("+t(a.j,8,!0)+")");else{var b;b=a.D;if(Db(a.F,b,a.j,a.G?1:nc)){var c;for(c=0;c<a.i.length;c++){var d=a.F,f=b+c;d.M[(f&d.j)>>>d.Y].Cb(f&d.i,a.i[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.A?b.push(a.A):null!=a.A&&a.A.length&&(b=a.A);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.F,g=e.j,h=[],k=e.D>>>f.Y;0<g&&k<f.M.length;)h.push(f.M[k++]),
|
function Re(a){if(!sb(a))if(!a.B)F(a);else if(a.i&&a.F){a.j||(a.j=a.i.length);if(a.i.length!=a.j)ub(a,"ROM size ("+t(a.i.length,8,!0)+") does not match specified size ("+t(a.j,8,!0)+")");else{var b;b=a.D;if(Eb(a.F,b,a.j,a.G?1:nc)){var c;for(c=0;c<a.i.length;c++){var d=a.F,f=b+c;d.M[(f&d.j)>>>d.Y].Cb(f&d.i,a.i[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.A?b.push(a.A):null!=a.A&&a.A.length&&(b=a.A);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.F,g=e.j,h=[],k=e.D>>>f.Y;0<g&&k<f.M.length;)h.push(f.M[k++]),
|
||||||
g-=f.Ca;f=e.F;e=e.j;g=0;for(d>>>=f.Y;0<e&&d<f.M.length;){k=h[g++];if(!k)break;f.M[d++]=k;e-=f.Ca}}delete a.i}}F(a)}}Oa(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Oe(d);bb(d,c)}});function Re(a){v.call(this,"RAM",a,Re);this.A=a.addr;this.j=a.size;this.i=!1}B(Re);l=Re.prototype;l.Ya=function(a,b,c,d){this.F=b;this.b=c;this.C=d;F(this)};l.Ra=function(a,b){b||this.reset();return!0};l.Qa=function(a){return a?this.save():!0};
|
g-=f.Ca;f=e.F;e=e.j;g=0;for(d>>>=f.Y;0<e&&d<f.M.length;){k=h[g++];if(!k)break;f.M[d++]=k;e-=f.Ca}}delete a.i}}F(a)}}Pa(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Pe(d);cb(d,c)}});function Se(a){w.call(this,"RAM",a,Se);this.A=a.addr;this.j=a.size;this.i=!1}B(Se);l=Se.prototype;l.Za=function(a,b,c,d){this.F=b;this.b=c;this.C=d;F(this)};l.Ra=function(a,b){b||this.reset();return!0};l.Qa=function(a){return a?this.save():!0};
|
||||||
l.reset=function(){!this.i&&this.j&&Db(this.F,this.A,this.j,1)&&(this.i=!0);this.i||u("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Oa(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Re(d);bb(d,c)}});function Se(a){v.call(this,"Keyboard",a,Se,65536);F(this)}B(Se);Se.prototype.va=function(){return!1};Se.prototype.Ya=function(a,b,c,d){this.i=a;this.b=c;this.C=d;this.ha=null};
|
l.reset=function(){!this.i&&this.j&&Eb(this.F,this.A,this.j,1)&&(this.i=!0);this.i||u("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Pa(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Se(d);cb(d,c)}});function Te(a){w.call(this,"Keyboard",a,Te,65536);F(this)}B(Te);Te.prototype.va=function(){return!1};Te.prototype.Za=function(a,b,c,d){this.i=a;this.b=c;this.C=d;this.ha=null};
|
||||||
Oa(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Se(d);bb(d,c)}});function Te(a){v.call(this,"Debugger",a,Te);this.ea=a.base||16;this.$=this.Ha=this.J=0;this.da=!1;this.B=-1;this.A=[];this.ja={}}B(Te);var Ue={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
Pa(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Te(d);cb(d,c)}});function Ue(a){w.call(this,"Debugger",a,Ue);this.ea=a.base||16;this.$=this.Ga=this.J=0;this.da=!1;this.B=-1;this.A=[];this.ja={}}B(Ue);var Ve={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};Ue.prototype.Ac=function(){return-1};Ue.prototype.Bc=function(){};
|
||||||
function Ve(a,b,c,d){if(c)if(b){0>a.B&&a.A.length&&(a.B=0);if(0>a.B||b!=a.A[a.B])a.A.splice(0,0,b),a.B=0;a.B--}else a.da?b="end":b=a.A[a.B+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(na(b.substring(c,e))),c=e+1}}return a}
|
function We(a,b,c,d){if(c)if(b){0>a.B&&a.A.length&&(a.B=0);if(0>a.B||b!=a.A[a.B])a.A.splice(0,0,b),a.B=0;a.B--}else a.da?b="end":b=a.A[a.B+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(na(b.substring(c,e))),c=e+1}}return a}
|
||||||
function We(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<<f;break;case ">>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e<f?1:0;break;case "<=":d=e<=f?1:0;break;case ">":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break;
|
function Xe(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<<f;break;case ">>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e<f?1:0;break;case "<=":d=e<=f?1:0;break;case ">":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break;
|
||||||
case "^":d=e^f;break;case "|":d=e|f;break;case "&&":d=e&&f?1:0;break;case "||":d=e||f?1:0;break;default:return!1}a.push(d|0)}return!0}
|
case "^":d=e^f;break;case "|":d=e|f;break;case "&&":d=e&&f?1:0;break;case "||":d=e||f?1:0;break;default:return!1}a.push(d|0)}return!0}
|
||||||
function Xe(a,b,c){var d;if(b){b=Ye(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],p=n.length,n=na(n);if(!n){e=!0;break}n=Ze(a,n,null,!1===c);if(void 0===n){e=!0;c=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],q=n.length;k.length&&Ue[n]<Ue[k[k.length-1]]&&We(h,k,1);k.push(n);b=b.substr(p+q)}We(h,k)&&1==h.length||(e=!0);e?c&&a.f("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&$e(a,null,
|
function Ye(a,b,c){var d;if(b){b=Ze(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],p=n.length,n=na(n);if(!n){e=!0;break}n=$e(a,n,null,!1===c);if(void 0===n){e=!0;c=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],q=n.length;k.length&&Ve[n]<Ve[k[k.length-1]]&&Xe(h,k,1);k.push(n);b=b.substr(p+q)}Xe(h,k)&&1==h.length||(e=!0);e?c&&a.f("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&af(a,null,
|
||||||
d))}return d}function Ye(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Xe(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?t(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.$-a.Ha}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
d))}return d}function Ze(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Ye(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?t(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.$-a.Ga}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||||
function Ze(a,b,c,d){var f;null!=b?(f=a.ja[b],null==f&&(f=ba(b,a.ea)),null!=f||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return f}function $e(a,b,c){var d,f=!1;if(void 0!==c){f=!0;d=c;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(k&1?"1":"0")+n,k>>=1;g=n+g;d>>=8}d=t(c,0,!0)+" "+c+". "+r(c,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+d);return f}
|
function $e(a,b,c,d){var f;null!=b?(f=a.Ac(b),0<=f?f=a.Bc(f):(f=a.ja[b],null==f&&(f=ba(b,a.ea))),null!=f||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return f}
|
||||||
function af(a,b){if(b)return $e(a,b,a.ja[b]);var c=0;for(b in a.ja)$e(a,b,a.ja[b]),c++;return 0<c}function Y(a,b,c,d){switch(a.ea){case 8:a=r(b,3*c);break;case 10:a=b.toString();break;default:a=t(b,2*c)}d&&"0"==a.charAt(0)&&(a=a.replace(/^0+([0-9A-F]+)$/i,"$1"));return a}
|
function af(a,b,c){var d,f=!1;if(void 0!==c){f=!0;d=c;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(k&1?"1":"0")+n,k>>=1;g=n+g;d>>=8}d=t(c,0,!0)+" "+c+". "+r(c,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+d);return f}function bf(a,b){if(b)return af(a,b,a.ja[b]);var c=0;for(b in a.ja)af(a,b,a.ja[b]),c++;return 0<c}
|
||||||
function bf(a){Te.call(this,a);this.T=Z();this.Eb=Z();this.ca=Z();this.G=[];this.j=this.W=this.D=[];cf(this);this.ya=0;df(this);this.La={};ef(this,a.messages);this.Ma=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Rc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Rc(b,a)})}B(bf,Te);
|
function Y(a,b,c,d){switch(a.ea){case 8:a=r(b,3*c);break;case 10:a=b.toString();break;default:a=t(b,2*c)}d&&"0"==a.charAt(0)&&(a=a.replace(/^0+([0-9A-F]+)$/i,"$1"));return a}
|
||||||
var ff={"?":"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",v:"print version","var":"assign variable"},gf="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
function cf(a){Ue.call(this,a);this.T=Z();this.Eb=Z();this.ca=Z();this.G=[];this.j=this.W=this.D=[];df(this);this.ya=0;ef(this);this.La={};ff(this,a.messages);this.Ma=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Wc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Wc(b,a)})}B(cf,Ue);
|
||||||
hf={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
|
var gf={"?":"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",v:"print version","var":"assign variable"},hf="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
||||||
|
jf={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
|
||||||
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,
|
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,
|
||||||
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};l=bf.prototype;
|
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};l=cf.prototype;
|
||||||
l.Ya=function(a,b,c,d){this.F=b;this.b=c;this.i=a;(a=Ac(a,"messages"))&&ef(this,a);this.Lb=hf;jf(this,function(a){a:{var b=d.F.M,c=a[0],f=a=0,k=b.length;if(c){a=d.ba(kf(d,c));if(-1===a){d.f("invalid address: "+c);break a}f=a>>>d.F.Y;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.f("..."):(c=n.type,m=Gb[c],n&&d.f(t(n.id,8)+" %"+t(f<<d.F.Y,8)+" %%"+t(n.w,8)+" "+t(n.Yb,
|
l.Za=function(a,b,c,d){this.F=b;this.b=c;this.i=a;(a=Ac(a,"messages"))&&ff(this,a);this.Lb=jf;kf(this,function(a){a:{var b=d.F.M,c=a[0],f=a=0,k=b.length;if(c){a=d.ba(lf(d,c));if(-1===a){d.f("invalid address: "+c);break a}f=a>>>d.F.Y;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.f("..."):(c=n.type,m=Hb[c],n&&d.f(t(n.id,8)+" %"+t(f<<d.F.Y,8)+" %%"+t(n.w,8)+" "+t(n.Yb,
|
||||||
4,!0)+" "+t(n.size,4,!0)+" "+m),c!=mc&&(c=-1),m=0);a+=d.F.Ca;f++}}});F(this)};
|
4,!0)+" "+t(n.size,4,!0)+" "+m),c!=mc&&(c=-1),m=0);a+=d.F.Ca;f++}}});F(this)};
|
||||||
l.va=function(a,b,c){var d=this;switch(b){case "debugInput":return this.xa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Rc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.B<d.A.length-1&&(b=d.A[++d.B])):40==a.keyCode&&(0<d.B?b=d.A[--d.B]:(b="",d.B=-1)),null!=b){var f=b.length;c.value=b;c.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.I[b]=c,Da(c,function(){if(d.xa){var a=d.xa.value;
|
l.va=function(a,b,c){var d=this;switch(b){case "debugInput":return this.xa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Wc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.B<d.A.length-1&&(b=d.A[++d.B])):40==a.keyCode&&(0<d.B?b=d.A[--d.B]:(b="",d.B=-1)),null!=b){var f=b.length;c.value=b;c.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.I[b]=c,Da(c,function(){if(d.xa){var a=d.xa.value;
|
||||||
d.xa.value="";Rc(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,Da(c,function(a){var b=!1;qb(d,!0)||(db(d,!0),b=d.Ab(a?1:0),db(d,!1));return b}),!0}return!1};l.Xb=function(){this.xa&&this.xa.focus()};l.ba=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.rb=function(a,b){var c=255,d=this.ba(a,!1,1);-1!==d&&(c=this.F,c=c.M[(d&c.j)>>>c.Y].Qb(d&c.i,d),b&&lf(a,b));return c};l.Ka=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(c=Hb(this.F,d),b&&lf(a,b));return c};
|
d.xa.value="";Wc(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,Da(c,function(a){var b=!1;fb(d,!0)||(eb(d,!0),b=d.Ab(a?1:0),eb(d,!1));return b}),!0}return!1};l.Xb=function(){this.xa&&this.xa.focus()};l.ba=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.rb=function(a,b){var c=255,d=this.ba(a,!1,1);-1!==d&&(c=this.F,c=c.M[(d&c.j)>>>c.Y].Qb(d&c.i,d),b&&mf(a,b));return c};l.Ja=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(c=Ib(this.F,d),b&&mf(a,b));return c};
|
||||||
l.Vb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){var f=this.F;f.M[(d&f.j)>>>f.Y].Cb(d&f.i,b&255,d);c&&lf(a,c);L(this.b,!0)}};l.pb=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.Y;e!=f.i?f.M[g].rc(e,b&65535,d):(f.M[g++].Cb(e,b&255,d),f.M[g&f.A].Cb(0,b>>8&255,d+1));c&&lf(a,c);L(this.b,!0)}};function Z(a){return{w:a,Ja:!1}}function mf(a){return[a.w,a.Ja]}function nf(a){return{w:a[0],Ja:a[1]}}
|
l.Vb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){var f=this.F;f.M[(d&f.j)>>>f.Y].Cb(d&f.i,b&255,d);c&&mf(a,c);L(this.b,!0)}};l.pb=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.Y;e!=f.i?f.M[g].rc(e,b&65535,d):(f.M[g++].Cb(e,b&255,d),f.M[g&f.A].Cb(0,b>>8&255,d+1));c&&mf(a,c);L(this.b,!0)}};function Z(a){return{w:a,Ia:!1}}function nf(a){return[a.w,a.Ia]}function of(a){return{w:a[0],Ia:a[1]}}
|
||||||
function kf(a,b,c){var d;c=(c?a.T:a.Eb).w;if(void 0!==b){d=b=Ye(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var e=a.G[c].Na[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;c=Xe(a,b,void 0)}null!=c&&(d=Z(c));return d}function of(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Jc=Ve(a,b.Ec=c[2]))}function lf(a,b){null!=a.w&&(a.w+=b||1)}
|
function lf(a,b,c){var d;c=(c?a.T:a.Eb).w;if(void 0!==b){d=b=Ze(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var e=a.G[c].Na[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;c=Ye(a,b,void 0)}null!=c&&(d=Z(c));return d}function pf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Lc=We(a,b.Gc=c[2]))}function mf(a,b){null!=a.w&&(a.w+=b||1)}
|
||||||
function ef(a,b){a.C=a;a.ka=a.Kc=536870912;a.za=null;a.Ba=[];b=Ve(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in G){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 f=b.length;d<f;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ka|=G[c],a.f(c+" messages enabled"))}}function jf(a,b){for(var c in G)if(64==G[c]){a.La[c]=b;break}}
|
function ff(a,b){a.C=a;a.ka=a.Mc=536870912;a.za=null;a.Ba=[];b=We(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in G){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 f=b.length;d<f;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ka|=G[c],a.f(c+" messages enabled"))}}function kf(a,b){for(var c in G)if(64==G[c]){a.La[c]=b;break}}
|
||||||
l.message=function(a,b){b&&(a+=" at "+Y(this,Z(this.b.g[7]).w));this.ka&1073741824?this.Ba.push(a):this.za&&a==this.za||(this.za=a,this.ka&-2147483648&&(this.na(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,Yc(a),a.da=0,L(a)))};
|
l.Ac=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function qf(a){return 6>a?"R"+a:6==a?"SP":"PC"}l.Bc=function(a){var b;0<=a&&(8>a?b=this.b.g[a]:16>a?b=this.b.Ta[a-8]:20>a?b=this.b.Aa[a-16]:20==a&&(b=Zb(this.b)));return b};
|
||||||
function df(a){var b;if(rd(a)){if(!a.R||!a.R.length){a.R=Array(1E3);for(b=0;b<a.R.length;b++)a.R[b]=Z();a.sa=0;a.f("instruction history buffer allocated")}if(!a.oa||!a.oa.length)for(a.oa=Array(256),b=0;b<a.oa.length;b++)a.oa[b]=[b,0]}else a.R&&a.R.length&&a.f("instruction history buffer freed"),a.sa=0,a.R=[],a.oa=[]}l.zb=function(a){if(!pf(this))return!1;this.b.zb(a);return!0};
|
l.message=function(a,b){b&&(a+=" at "+Y(this,Z(this.b.g[7]).w));this.ka&1073741824?this.Ba.push(a):this.za&&a==this.za||(this.za=a,this.ka&-2147483648&&(this.na(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,cd(a),a.da=0,L(a)))};
|
||||||
l.Ab=function(a,b,c){if(!pf(this))return!1;this.J=0;a||rd(this)&&sd(this,this.b.g[7],0);try{var d=this.b.Ab(a);0<d&&(this.J+=d,Wc(this.b,d,!0),Sc(this.b,d),this.$++)}catch(f){"number"!=typeof f&&(this.J=0,tb(this.b,f.stack||f.message))}!1!==c&&L(this.b);this.Ga(b||!1);return 0<this.J};l.na=function(a){this.b&&this.b.na(a)};l.Ga=function(a){void 0===a&&(a=!0);this.T=Z(this.b.g[7]);a&&1!=this.ha?qf(this):rf(this)};
|
function ef(a){var b;if(xd(a)){if(!a.R||!a.R.length){a.R=Array(1E3);for(b=0;b<a.R.length;b++)a.R[b]=Z();a.sa=0;a.f("instruction history buffer allocated")}if(!a.oa||!a.oa.length)for(a.oa=Array(256),b=0;b<a.oa.length;b++)a.oa[b]=[b,0]}else a.R&&a.R.length&&a.f("instruction history buffer freed"),a.sa=0,a.R=[],a.oa=[]}l.zb=function(a){if(!rf(this))return!1;this.b.zb(a);return!0};
|
||||||
function pf(a){var b;if(b=a.b&&rb(a.b))b=a.b,b.u.ia?b=!0:(b.f(b.toString()+" not powered"),b=!1);return b&&!a.b.u.ga?!sb(a.b):!1}l.Ra=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Qa=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){df(this);this.$=this.Ha=0;this.za=null;this.J=0;this.T=Z(this.b.g[7]);this.u.ga=!1;sf(this);a||this.Ga()};
|
l.Ab=function(a,b,c){if(!rf(this))return!1;this.J=0;a||xd(this)&&yd(this,this.b.g[7],0);try{var d=this.b.Ab(a);0<d&&(this.J+=d,ad(this.b,d,!0),Xc(this.b,d),this.$++)}catch(f){"number"!=typeof f&&(this.J=0,ub(this.b,f.stack||f.message))}!1!==c&&L(this.b);this.Fa(b||!1);return 0<this.J};l.na=function(a){this.b&&this.b.na(a)};l.Fa=function(a){void 0===a&&(a=!0);this.T=Z(this.b.g[7]);a&&1!=this.ha?sf(this):tf(this)};
|
||||||
l.save=function(){var a=new M(this);a.set(0,mf(this.T));a.set(1,mf(this.ca));a.set(2,[this.A,this.da,this.ka]);a.set(3,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.T=nf(a[b++]),this.ca=nf(a[b++]),this.A=a[b][0],"string"==typeof this.A&&(this.A=[this.A]),this.da=a[b][1],this.ka|=a[b][2]);a[3]&&(this.G=a[3]);return!0};l.start=function(a,b){this.ha||this.f("running");this.u.ga=!0;this.jc=a;this.Nc=b};
|
function rf(a){var b;if(b=a.b&&sb(a.b))b=a.b,b.u.ia?b=!0:(b.f(b.toString()+" not powered"),b=!1);return b&&!a.b.u.ga?!tb(a.b):!1}l.Ra=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Qa=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){ef(this);this.$=this.Ga=0;this.za=null;this.J=0;this.T=Z(this.b.g[7]);this.u.ga=!1;uf(this);a||this.Fa()};
|
||||||
l.stop=function(a,b){if(this.u.ga){this.u.ga=!1;this.J=b-this.Nc;if(!this.ha){b="stopped";if(this.J){a-=this.jc;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";rd(this)&&(b+=this.$+" opcodes, ",this.Ha-=this.$,this.$=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}this.Ga(!0);this.Xb();sf(this,this.b.g[7])}};function rd(a){return 1<a.j.length||!!a.ya}
|
l.save=function(){var a=new M(this);a.set(0,nf(this.T));a.set(1,nf(this.ca));a.set(2,[this.A,this.da,this.ka]);a.set(3,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.T=of(a[b++]),this.ca=of(a[b++]),this.A=a[b][0],"string"==typeof this.A&&(this.A=[this.A]),this.da=a[b][1],this.ka|=a[b][2]);a[3]&&(this.G=a[3]);return!0};l.start=function(a,b){this.ha||this.f("running");this.u.ga=!0;this.jc=a;this.Pc=b};
|
||||||
function sd(a,b,c){var d=a.b;if(0<c&&(a.ya&&!--a.ya||vc(a,b,1,a.j)))return!0;0<=c&&a.oa.length&&(a.$++,null!=Hb(a.F,b)&&(b=a.R[a.sa],b.w=d.g[7],b.Ja=!1,++a.sa==a.R.length&&(a.sa=0)));return!1}function cf(a){var b,c;a.j=["bp"];if(a.W)for(b=1;b<a.W.length;b++){c=a.W[b];var d=a.F;c=a.ba(c);wc(d.M[c>>>d.Y],!1)}a.W=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.F,c=a.ba(c),wc(d.M[c>>>d.Y],!0);a.D=["bw"];a.Fb=0}
|
l.stop=function(a,b){if(this.u.ga){this.u.ga=!1;this.J=b-this.Pc;if(!this.ha){b="stopped";if(this.J){a-=this.jc;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";xd(this)&&(b+=this.$+" opcodes, ",this.Ga-=this.$,this.$=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}this.Fa(!0);this.Xb();uf(this,this.b.g[7])}};function xd(a){return 1<a.j.length||!!a.ya}
|
||||||
l.jb=function(a,b,c){var d=!0;c||tf(this,a,b,!1,!0);if(a!=this.j){var f=this.ba(b);if(-1===f)this.f("invalid address: "+Y(this,b.w)),d=!1;else{var e=this.F;e.M[f>>>e.Y].jb(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Ja=!0:(uf(this,a,a.length-1,"set"),df(this)));return d};function tf(a,b,c,d,f){var e=!1;c=a.ba(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.ba(h)&&(!d||h.Ja)){e=!0;h.Ja||f||uf(a,b,g,"cleared");b.splice(g,1);b!=a.j&&(d=a.F,wc(d.M[c>>>d.Y],b==a.D));h.Ja||df(a);break}}return e}
|
function yd(a,b,c){var d=a.b;if(0<c&&(a.ya&&!--a.ya||vc(a,b,1,a.j)))return!0;0<=c&&a.oa.length&&(a.$++,null!=Ib(a.F,b)&&(b=a.R[a.sa],b.w=d.g[7],b.Ia=!1,++a.sa==a.R.length&&(a.sa=0)));return!1}function df(a){var b,c;a.j=["bp"];if(a.W)for(b=1;b<a.W.length;b++){c=a.W[b];var d=a.F;c=a.ba(c);wc(d.M[c>>>d.Y],!1)}a.W=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.F,c=a.ba(c),wc(d.M[c>>>d.Y],!0);a.D=["bw"];a.Fb=0}
|
||||||
function vf(a,b){for(var c=1;c<b.length;c++)uf(a,b,c);return b.length-1}function uf(a,b,c,d){c=b[c];a.f(b[0]+" "+Y(a,c.w)+(d?" "+d:c.Ec?' "'+c.Ec+'"':""))}function sf(a,b){if(void 0!==b)vc(a,b,1,a.j,!0),a.ha=0;else for(b=1;b<a.j.length;b++){var c=a.j[b];if(c.Ja){if(!tf(a,a.j,c,!0))break;b=0}}}
|
l.jb=function(a,b,c){var d=!0;c||vf(this,a,b,!1,!0);if(a!=this.j){var f=this.ba(b);if(-1===f)this.f("invalid address: "+Y(this,b.w)),d=!1;else{var e=this.F;e.M[f>>>e.Y].jb(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Ia=!0:(wf(this,a,a.length-1,"set"),ef(this)));return d};function vf(a,b,c,d,f){var e=!1;c=a.ba(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.ba(h)&&(!d||h.Ia)){e=!0;h.Ia||f||wf(a,b,g,"cleared");b.splice(g,1);b!=a.j&&(d=a.F,wc(d.M[c>>>d.Y],b==a.D));h.Ia||ef(a);break}}return e}
|
||||||
function vc(a,b,c,d,f){var e=!1;if(!a.Fb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ja)for(var k=a.ba(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Ja&&(tf(a,d,h,!0),f=!0);if(n=h.Jc){for(var e=!1,p=0;p<n.length;p++)if(!wf(a,n[p],!0)){if(n[p].indexOf("if")){e=!0;break}for(var q=p+1;q<n.length&&n[q].indexOf("else");q++)p++;if(q==n.length){e=!0;break}}a.b.u.ga||(e=!0)}if(e){f||uf(a,d,g,"hit");break}}}a.Fb--;return e}
|
function xf(a,b){for(var c=1;c<b.length;c++)wf(a,b,c);return b.length-1}function wf(a,b,c,d){c=b[c];a.f(b[0]+" "+Y(a,c.w)+(d?" "+d:c.Gc?' "'+c.Gc+'"':""))}function uf(a,b){if(void 0!==b)vc(a,b,1,a.j,!0),a.ha=0;else for(b=1;b<a.j.length;b++){var c=a.j[b];if(c.Ia){if(!vf(a,a.j,c,!0))break;b=0}}}
|
||||||
function xf(a,b,c,d){var f=Z(b.w),e=a.Ka(b,2),g,h;for(h in a.Lb)if(g=a.Lb[h][e&h])break;g||(g=[0]);h="";for(var k=gf[g[0]],m=g.length-1,n=1;n<=m;n++){var p=g[n];if(void 0!==p){var q;q=a;var y=p,p=b,w="",z=y&61440;if(4096==z)p=p.w+((e&255)<<24>>23)&65535,w=Y(q,p);else if(8192==z)p=p.w-((e&63)<<1)&65535,w=Y(q,p);else if(12288==z)w=Y(q,e&7,1);else if(24576==z)w=Y(q,e&63,1);else if(z=e&y,y&4032&&(z>>=6,y>>=6),y&63)switch(y=z&7,z&56){case 0:w=yf(y);break;case 8:w="@"+yf(y);break;case 16:7>y?w="("+yf(y)+
|
function vc(a,b,c,d,f){var e=!1;if(!a.Fb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ia)for(var k=a.ba(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Ia&&(vf(a,d,h,!0),f=!0);if(n=h.Lc){for(var e=!1,p=0;p<n.length;p++)if(!yf(a,n[p],!0)){if(n[p].indexOf("if")){e=!0;break}for(var q=p+1;q<n.length&&n[q].indexOf("else");q++)p++;if(q==n.length){e=!0;break}}a.b.u.ga||(e=!0)}if(e){f||wf(a,d,g,"hit");break}}}a.Fb--;return e}
|
||||||
")+":(z=q.Ka(p,2),w="#"+Y(q,z,0,!0));break;case 24:7>y?w="@("+yf(y)+")+":(z=q.Ka(p,2),w="@#"+Y(q,z,0,!0));break;case 32:w="-("+yf(y)+")";break;case 40:w="@-("+yf(y)+")";break;case 48:z=q.Ka(p,2);w=Y(q,z,0,!0)+"("+yf(y)+")";7==y&&(w=[w,Y(q,z+p.w&65535)]);break;case 56:z=q.Ka(p,2),w="@"+Y(q,z)+"("+yf(y)+")",7==y&&(w=[w,Y(q,z+p.w&65535)])}q=w;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0<h.length&&(h+=",");h+=q||"???"}}e="";g=Y(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+=
|
function zf(a,b,c,d){var f=Z(b.w),e=a.Ja(b,2),g,h;for(h in a.Lb)if(g=a.Lb[h][e&h])break;g||(g=[0]);h="";for(var k=hf[g[0]],m=g.length-1,n=1;n<=m;n++){var p=g[n];if(void 0!==p){var q;q=a;var y=p,p=b,v="",z=y&61440;if(4096==z)p=p.w+((e&255)<<24>>23)&65535,v=Y(q,p);else if(8192==z)p=p.w-((e&63)<<1)&65535,v=Y(q,p);else if(12288==z)v=Y(q,e&7,1);else if(24576==z)v=Y(q,e&63,1);else if(z=e&y,y&4032&&(z>>=6,y>>=6),y&63)switch(y=z&7,z&56){case 0:v=qf(y);break;case 8:v="@"+qf(y);break;case 16:7>y?v="("+qf(y)+
|
||||||
" "+Y(a,a.Ka(f,2)),null==f.w)break;while(f.w!=b.w)}g+=ma(e,24);g+=ma(k,5);h&&(g+=" "+h);c&&(g=ma(g,60)+";"+c,g=a.b.u.qb?g+("cycles="+Tc(a.b).toString()+" cs="+t(a.b.Nb)):g+(null!=d?"="+d.toString():""));return g}function zf(a,b){switch(b){case "N":a=a.b.Pa();break;case "Z":a=cd(a.b);break;case "V":a=bd(a.b);break;case "C":a=N(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function yf(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
")+":(z=q.Ja(p,2),v="#"+Y(q,z,0,!0));break;case 24:7>y?v="@("+qf(y)+")+":(z=q.Ja(p,2),v="@#"+Y(q,z,0,!0));break;case 32:v="-("+qf(y)+")";break;case 40:v="@-("+qf(y)+")";break;case 48:z=q.Ja(p,2);v=Y(q,z,0,!0)+"("+qf(y)+")";7==y&&(v=[v,Y(q,z+p.w&65535)]);break;case 56:z=q.Ja(p,2),v="@"+Y(q,z)+"("+qf(y)+")",7==y&&(v=[v,Y(q,z+p.w&65535)])}q=v;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0<h.length&&(h+=",");h+=q||"???"}}e="";g=Y(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+=
|
||||||
function Af(a,b){var c="",d=a.b;8>b?(c=yf(b),c+="="+Y(a,d.g[b])):13>b?c="A"+(b-8)+"="+Y(a,d.eb[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+Y(a,d.Da[b-16]):20==b&&(c="PS="+Y(a,Zb(d)));c&&(c+=" ");return c}function Bf(a){var b,c="";for(b=0;6>b;b++)c+=Af(a,b);c=c+"\n"+(Af(a,6)+Af(a,7)+Af(a,20));return c+=zf(a,"T")+zf(a,"N")+zf(a,"Z")+zf(a,"V")+zf(a,"C")}l.wc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
" "+Y(a,a.Ja(f,2)),null==f.w)break;while(f.w!=b.w)}g+=ma(e,24);g+=ma(k,5);h&&(g+=" "+h);c&&(g=ma(g,60)+";"+c,g=a.b.u.qb?g+("cycles="+Yc(a.b).toString()+" cs="+t(a.b.Nb)):g+(null!=d?"="+d.toString():""));return g}function Af(a,b){switch(b){case "N":a=a.b.Pa();break;case "Z":a=hd(a.b);break;case "V":a=gd(a.b);break;case "C":a=N(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
||||||
function Cf(a,b,c){var d=[],f=a.ba(b)>>>0;for(b=0;b<a.G.length;b++){var e=a.G[b],g=e.w>>>0,h=e.Tc;if(f>=g&&f<g+h){f=oa(e.tc,[f-g],a.wc);0<=f?Df(a,b,f,d):c&&(f=~f,Df(a,b,f-1,d),Df(a,b,f,d));break}}return d}function Df(a,b,c,d){var f={},e=a.G[b].tc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.G[b].Na[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
|
function Bf(a,b){var c="",d=a.b;8>b?(c=qf(b),c+="="+Y(a,d.g[b])):13>b?c="A"+(b-8)+"="+Y(a,d.Ta[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+Y(a,d.Aa[b-16]):20==b&&(c="PS="+Y(a,Zb(d)));c&&(c+=" ");return c}function Cf(a){var b,c="";for(b=0;6>b;b++)c+=Bf(a,b);c=c+"\n"+(Bf(a,6)+Bf(a,7)+Bf(a,20));return c+=Af(a,"T")+Af(a,"N")+Af(a,"Z")+Af(a,"V")+Af(a,"C")}l.wc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||||
function Ef(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return af(a)||a.f("no variables"),!0;if(!c[2])return af(a,c[1]);if(!c[3])return delete a.ja[c[1]],!0;b=Xe(a,c[3]);return void 0!==b?(a.ja[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
|
function Df(a,b,c){var d=[],f=a.ba(b)>>>0;for(b=0;b<a.G.length;b++){var e=a.G[b],g=e.w>>>0,h=e.Vc;if(f>=g&&f<g+h){f=oa(e.tc,[f-g],a.wc);0<=f?Ef(a,b,f,d):c&&(f=~f,Ef(a,b,f-1,d),Ef(a,b,f,d));break}}return d}function Ef(a,b,c,d){var f={},e=a.G[b].tc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.G[b].Na[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
|
||||||
function Ff(a,b,c){var d=null;if(b=kf(a,b,!0)){a.ba(b);var f=Cf(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.w-f[1])&&(g=" + "+t(e,4,!0)),e=f[0]+" ("+Y(a,f[1])+")"+g,c&&a.f(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.w)&&(g=" - "+t(e,4,!0)),e=f[4]+" ("+Y(a,f[5])+")"+g,c&&a.f(e),d||(d=e))}else c&&a.f("no symbols")}return d}
|
function Ff(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return bf(a)||a.f("no variables"),!0;if(!c[2])return bf(a,c[1]);if(!c[3])return delete a.ja[c[1]],!0;b=Ye(a,c[3]);return void 0!==b?(a.ja[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
|
||||||
function qf(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var f=b[1],e=f.indexOf("=");if(0<e)b=f.substr(e+1),f=f.substr(0,e);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}e=Xe(a,b);if(void 0===e)return;b=f.toUpperCase();switch(b){case "SP":case "R6":d.g[6]=e&65535;break;case "PC":case "R7":d.g[7]=e&65535;a.T=Z(d.g[7]);break;case "N":d.X=e?32768:0;
|
function Gf(a,b,c){var d=null;if(b=lf(a,b,!0)){a.ba(b);var f=Df(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.w-f[1])&&(g=" + "+t(e,4,!0)),e=f[0]+" ("+Y(a,f[1])+")"+g,c&&a.f(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.w)&&(g=" - "+t(e,4,!0)),e=f[4]+" ("+Y(a,f[5])+")"+g,c&&a.f(e),d||(d=e))}else c&&a.f("no symbols")}return d}
|
||||||
break;case "Z":d.Z=e?0:1;break;case "V":d.V=e?32768:0;break;case "C":d.U=e?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.g[b]=e&65535;break}a.f("unknown register: "+f);return}L(d);a.f("updated registers:")}a.f(Bf(a));c&&(a.T=Z(d.g[7]),rf(a,Y(a,a.T.w)))}}function Gf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):Xe(a,b,!0)}
|
function sf(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var f=b[1],e=f.indexOf("=");if(0<e)b=f.substr(e+1),f=f.substr(0,e);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}e=Ye(a,b);if(void 0===e)return;b=f.toUpperCase();switch(b){case "SP":case "R6":d.g[6]=e&65535;break;case "PC":case "R7":d.g[7]=e&65535;a.T=Z(d.g[7]);break;case "N":d.X=e?32768:0;
|
||||||
function Hf(a,b,c){var d="t"!=b;c=Ze(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return db(a,!0)&&a.Ab(f,d,!1)},function(){L(a.b);db(a,!1)})}
|
break;case "Z":d.Z=e?0:1;break;case "V":d.V=e?32768:0;break;case "C":d.U=e?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.g[b]=e&65535;break}a.f("unknown register: "+f);return}L(d);a.f("updated registers:")}a.f(Cf(a));c&&(a.T=Z(d.g[7]),tf(a,Y(a,a.T.w)))}}function Hf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):Ye(a,b,!0)}
|
||||||
function rf(a,b,c,d){if(b=kf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=kf(a,c,!0);if(!d||d.w<b.w)return;f=d.w-b.w;if(256<f){a.f("range too large");return}d=-1}c=0;for(var e;0<f&&d--;){e=qb(a,!1)||a.ha?a.J:null;var g=null!=e?"cycles":null,h=Cf(a,b),k=b.w;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(g=h[3],e=null);e=xf(a,b,g,e);a.f(e);a.T=b;f-=b.w-k;c++}}}
|
function If(a,b,c){var d="t"!=b;c=$e(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return eb(a,!0)&&a.Ab(f,d,!1)},function(){L(a.b);eb(a,!1)})}
|
||||||
function wf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(">> "+b):(a.da&&(a.f("ended assemble at "+Y(a,a.ca.w)),a.T=a.ca,a.da=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(rb(a)&&0<b.length){a.da&&(b="a "+Y(a,a.ca.w)+" "+b);var e=b.replace(/ +/g," ").split(" ");if(e&&e.length)for(var g=e[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){e[0]=g.substr(k);e.unshift(g.substr(0,k));break}}switch(e[0].charAt(0)){case "a":var n=kf(a,e[1],!0);
|
function tf(a,b,c,d){if(b=lf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=lf(a,c,!0);if(!d||d.w<b.w)return;f=d.w-b.w;if(256<f){a.f("range too large");return}d=-1}c=0;for(var e;0<f&&d--;){e=fb(a,!1)||a.ha?a.J:null;var g=null!=e?"cycles":null,h=Df(a,b),k=b.w;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(g=h[3],e=null);e=zf(a,b,g,e);a.f(e);a.T=b;f-=b.w-k;c++}}}
|
||||||
if(n)if(a.ca=n,void 0===e[2])a.f("begin assemble at "+Y(a,n.w)),a.da=!0,L(a.b);else{var p;a.f("not supported yet");p=[];if(p.length){for(var q=0;q<p.length;q++)a.Vb(n,p[q],1);a.f(xf(a,a.ca))}}break;case "b":a:{var y=e[0],w=e[1],z=b;if("?"==w)a.f("breakpoint commands:"),a.f("\tbp [a]\tset exec breakpoint at addr [a]"),a.f("\tbr [a]\tset read breakpoint at addr [a]"),a.f("\tbw [a]\tset write breakpoint at addr [a]"),a.f("\tbc [a]\tclear breakpoint at addr [a]"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [n]\tbreak after [n] instruction(s)");
|
function yf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(">> "+b):(a.da&&(a.f("ended assemble at "+Y(a,a.ca.w)),a.T=a.ca,a.da=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(sb(a)&&0<b.length){a.da&&(b="a "+Y(a,a.ca.w)+" "+b);var e=b.replace(/ +/g," ").split(" ");if(e&&e.length)for(var g=e[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){e[0]=g.substr(k);e.unshift(g.substr(0,k));break}}switch(e[0].charAt(0)){case "a":var n=lf(a,e[1],!0);
|
||||||
else{var ua=y.charAt(1);if("l"==ua){var Bc;Bc=0+vf(a,a.j);Bc+=vf(a,a.W);(Bc+=vf(a,a.D))||a.f("no breakpoints")}else if("n"==ua)a.ya=Ze(a,w),a.f("break after "+a.ya+" instruction(s)");else if(void 0===w)a.f("missing breakpoint address");else{var Q=Z();if("*"!=w&&(Q=kf(a,w,!0),!Q))break a;"c"==ua?null==Q.w?(cf(a),a.f("all breakpoints cleared")):tf(a,a.j,Q)||tf(a,a.W,Q)||tf(a,a.D,Q)||a.f("breakpoint missing: "+Y(a,Q.w)):null!=Q.w&&(of(a,Q,z),"p"==ua?a.jb(a.j,Q):"r"==ua?a.jb(a.W,Q):"w"==ua?a.jb(a.D,Q):
|
if(n)if(a.ca=n,void 0===e[2])a.f("begin assemble at "+Y(a,n.w)),a.da=!0,L(a.b);else{var p;a.f("not supported yet");p=[];if(p.length){for(var q=0;q<p.length;q++)a.Vb(n,p[q],1);a.f(zf(a,a.ca))}}break;case "b":a:{var y=e[0],v=e[1],z=b;if("?"==v)a.f("breakpoint commands:"),a.f("\tbp [a]\tset exec breakpoint at addr [a]"),a.f("\tbr [a]\tset read breakpoint at addr [a]"),a.f("\tbw [a]\tset write breakpoint at addr [a]"),a.f("\tbc [a]\tclear breakpoint at addr [a]"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [n]\tbreak after [n] instruction(s)");
|
||||||
a.f("unknown breakpoint command: "+ua))}}}break;case "c":a.kb&&(a.kb.value="");break;case "d":a:{var Ga,Ha=e[0],da=e[1],va=e[2],$f=e[3];if("?"==da){var Ia="";for(Ga in G)a.La[Ga]&&(Ia&&(Ia+=","),Ia+=Ga);Ia+=",state,symbols";a.f("dump memory commands:");a.f("\tdb [a] [#] dump # bytes at address a");a.f("\tdw [a] [#] dump # words at address a");a.f("\tdd [a] [#] dump # dwords at address a");a.f("\tdh [#] [#] dump # instructions from history");Ia.length&&a.f("dump extension commands:\n\t"+
|
else{var ua=y.charAt(1);if("l"==ua){var Cc;Cc=0+xf(a,a.j);Cc+=xf(a,a.W);(Cc+=xf(a,a.D))||a.f("no breakpoints")}else if("n"==ua)a.ya=$e(a,v),a.f("break after "+a.ya+" instruction(s)");else if(void 0===v)a.f("missing breakpoint address");else{var Q=Z();if("*"!=v&&(Q=lf(a,v,!0),!Q))break a;"c"==ua?null==Q.w?(df(a),a.f("all breakpoints cleared")):vf(a,a.j,Q)||vf(a,a.W,Q)||vf(a,a.D,Q)||a.f("breakpoint missing: "+Y(a,Q.w)):null!=Q.w&&(pf(a,Q,z),"p"==ua?a.jb(a.j,Q):"r"==ua?a.jb(a.W,Q):"w"==ua?a.jb(a.D,Q):
|
||||||
Ia)}else if("state"==da){var Yd=If(a.i,!0);"console"==va?console.log(Yd):(a.kb&&(a.kb.value=""),a.f(Yd))}else if("symbols"==da)for(var Cc=0;Cc<a.G.length;Cc++){var Dc=a.G[Cc],Ja;for(Ja in Dc.Na)if("."!=Ja.charAt(0)){var Zd=Dc.Na[Ja].o;if(void 0!==Zd){var $d=Dc.Na[Ja].l;$d&&(Ja=$d);a.f(Y(a,Zd)+" "+Ja)}}}else{if("d"==Ha){for(Ga in G)if(e[1]==Ga){var ae=a.La[Ga];ae?(e.shift(),e.shift(),ae(e)):a.f("no dump registered for "+da);break a}da||(Ha=a.Qc||"db")}else a.Qc=Ha;if("dh"==Ha){var be=da,ce=va,de="",
|
a.f("unknown breakpoint command: "+ua))}}}break;case "c":a.kb&&(a.kb.value="");break;case "d":a:{var Ia,Ja=e[0],da=e[1],va=e[2],ag=e[3];if("?"==da){var Ka="";for(Ia in G)a.La[Ia]&&(Ka&&(Ka+=","),Ka+=Ia);Ka+=",state,symbols";a.f("dump memory commands:");a.f("\tdb [a] [#] dump # bytes at address a");a.f("\tdw [a] [#] dump # words at address a");a.f("\tdd [a] [#] dump # dwords at address a");a.f("\tdh [#] [#] dump # instructions from history");Ka.length&&a.f("dump extension commands:\n\t"+
|
||||||
ee=0,aa=a.sa,ea=a.R;if(ea.length){var V=+be||a.Ib,eb=+ce||10;isNaN(V)?V=eb:de="more ";V>ea.length&&(a.f("note: only "+ea.length+" available"),V=ea.length);aa-=V;0>aa&&(null==ea[ea.length-1].w?(V=aa+V,aa=0):aa+=ea.length);var Ec=[];"call"==ce&&(eb=1E5,Ec=["CALL"]);for(void 0!==be&&a.f(V+" instructions earlier:");0<eb&&aa!=a.sa;){var fe=ea[aa++];if(null==fe.w)break;var fb=Z(fe.w),ag=V--,ge=xf(a,fb,"history",ag);(!Ec.length||0<=ge.indexOf(Ec[0]))&&a.f(ge);fb.hc&&(aa+=fb.hc,eb-=fb.hc,V-=fb.hc);aa>=ea.length&&
|
Ka)}else if("state"==da){var de=Jf(a.i,!0);"console"==va?console.log(de):(a.kb&&(a.kb.value=""),a.f(de))}else if("symbols"==da)for(var Dc=0;Dc<a.G.length;Dc++){var Ec=a.G[Dc],La;for(La in Ec.Na)if("."!=La.charAt(0)){var ee=Ec.Na[La].o;if(void 0!==ee){var fe=Ec.Na[La].l;fe&&(La=fe);a.f(Y(a,ee)+" "+La)}}}else{if("d"==Ja){for(Ia in G)if(e[1]==Ia){var ge=a.La[Ia];ge?(e.shift(),e.shift(),ge(e)):a.f("no dump registered for "+da);break a}da||(Ja=a.Sc||"db")}else a.Sc=Ja;if("dh"==Ja){var he=da,ie=va,je="",
|
||||||
(aa=0);a.Ib=V;ee++;eb--}}ee||(a.f("no "+de+"history available"),a.Ib=void 0)}else{var Ob=kf(a,da);if(Ob){var Pb=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||$f),Pb=Ze(a,va)>>>0,65536<Pb&&(Pb=65536));for(var gb="",Ka="dd"==Ha?4:"dw"==Ha?2:1,Qb=Ka*Pb||128,bg=Qb+15>>4||1;bg--&&0<Qb;){var hb=0,Fc=0,ib,Gc="",he="",da=Y(a,Ob.w);for(ib=4==Ka?16:a.ea;0<ib&&0<Qb;ib--){var Rb=a.rb(Ob,1),hb=hb|Rb<<(Fc++<<3);Fc==Ka&&(Gc+=8==a.ea?r(hb,3*Ka):t(hb,2*Ka),Gc+=1==Ka?9==ib?"-":" ":" ",hb=Fc=0);he+=32<=Rb&&128>Rb?String.fromCharCode(Rb):
|
ke=0,aa=a.sa,ea=a.R;if(ea.length){var V=+he||a.Ib,gb=+ie||10;isNaN(V)?V=gb:je="more ";V>ea.length&&(a.f("note: only "+ea.length+" available"),V=ea.length);aa-=V;0>aa&&(null==ea[ea.length-1].w?(V=aa+V,aa=0):aa+=ea.length);var Fc=[];"call"==ie&&(gb=1E5,Fc=["CALL"]);for(void 0!==he&&a.f(V+" instructions earlier:");0<gb&&aa!=a.sa;){var le=ea[aa++];if(null==le.w)break;var hb=Z(le.w),bg=V--,me=zf(a,hb,"history",bg);(!Fc.length||0<=me.indexOf(Fc[0]))&&a.f(me);hb.hc&&(aa+=hb.hc,gb-=hb.hc,V-=hb.hc);aa>=ea.length&&
|
||||||
".";Qb--}gb&&(gb+="\n");gb+=da+" "+Gc+(0==ib?" "+he:"")}gb&&a.f(gb);a.Eb=Ob}}}}break;case "e":if("else"==e[0])break;var Sb=1,ie=255,je=a.rb,ke=a.Vb;"ew"==e[0]&&(Sb=2,ie=65535,je=a.Ka,ke=a.pb);var le=Sb<<1,me=e[1];if(null==me)a.f("edit memory commands:"),a.f("\teb [a] [...] edit bytes at address a"),a.f("\tew [a] [...] edit words at address a");else{var Tb=kf(a,me);if(Tb)for(var Ub=2;Ub<e.length;Ub++){var jb=Xe(a,e[Ub]);if(void 0===jb){a.f("unrecognized value: "+e[Ub]);break}jb&~ie&&a.f("warning: "+
|
(aa=0);a.Ib=V;ke++;gb--}}ke||(a.f("no "+je+"history available"),a.Ib=void 0)}else{var Pb=lf(a,da);if(Pb){var Qb=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||ag),Qb=$e(a,va)>>>0,65536<Qb&&(Qb=65536));for(var ib="",Ma="dd"==Ja?4:"dw"==Ja?2:1,Rb=Ma*Qb||128,cg=Rb+15>>4||1;cg--&&0<Rb;){var jb=0,Gc=0,kb,Hc="",ne="",da=Y(a,Pb.w);for(kb=4==Ma?16:a.ea;0<kb&&0<Rb;kb--){var Sb=a.rb(Pb,1),jb=jb|Sb<<(Gc++<<3);Gc==Ma&&(Hc+=8==a.ea?r(jb,3*Ma):t(jb,2*Ma),Hc+=1==Ma?9==kb?"-":" ":" ",jb=Gc=0);ne+=32<=Sb&&128>Sb?String.fromCharCode(Sb):
|
||||||
t(jb)+" exceeds "+Sb+"-byte value");var cg=je.call(a,Tb);a.f("changing "+Y(a,Tb.w)+" from "+t(cg,le,!0)+" to "+t(jb,le,!0));ke.call(a,Tb,jb,Sb)}}break;case "g":a:{var ne=e[1],dg=b;if(void 0!==ne){var Hc=kf(a,ne,!0);if(!Hc)break a;of(a,Hc,dg);a.jb(a.j,Hc,!0)}a.zb(!0)||c||a.f("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Ic;if(a.u.ga)Ic="halting",a.na();else{if(qb(a,!0))break a;Ic="already halted"}c||a.f(Ic)}break;case "i":if("if"==e[0]){var Jc;var kb=b.substr(2),kb=na(kb);Xe(a,
|
".";Rb--}ib&&(ib+="\n");ib+=da+" "+Hc+(0==kb?" "+ne:"")}ib&&a.f(ib);a.Eb=Pb}}}}break;case "e":if("else"==e[0])break;var Na,Ic,Jc,Kc,Lc=e[0],Mc=e[1];"eb"==Lc?(Na=1,Ic=255,Jc=a.rb,Kc=a.Vb):"e"==Lc||"ew"==Lc?(Na=2,Ic=65535,Jc=a.Ja,Kc=a.pb):Mc=null;if(null==Mc)a.f("edit memory commands:"),a.f("\teb [a] [...] edit bytes at address a"),a.f("\tew [a] [...] edit words at address a");else{var Tb=lf(a,Mc);if(Tb)for(var Ub=2;Ub<e.length;Ub++){var lb=Ye(a,e[Ub]);if(void 0===lb){a.f("unrecognized value: "+
|
||||||
kb)?(c||a.f("true: "+kb),Jc=!0):(c||a.f("false: "+kb),Jc=!1);Jc||(d=!1)}break;case "k":var eg=e[0];if("?"==e[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");else{var Kc=0,oe=Z(),lb=Z(a.b.g[6]);for(a.f("stack trace for "+Y(a,lb.w));10>Kc;){for(var wa=null,fg=256;65536>lb.w>>>0;){oe.w=a.Ka(lb,2);if(null==lb.w||!fg--)break;for(var gg=a,Vb=oe,pe=null,mb=Vb.w,qe=mb,Lc=1;6>=Lc&&mb;Lc++){if(2<Lc){Vb.w=mb;var Wb=xf(gg,Vb);if(0<=Wb.indexOf("JSR")){var re=
|
e[Ub]);break}lb&~Ic&&a.f("warning: "+t(lb)+" exceeds "+Na+"-byte value");var dg=Jc.call(a,Tb);a.f("changing "+Y(a,Tb.w)+" from "+Y(a,dg,Na)+" to "+Y(a,lb,Na));Kc.call(a,Tb,lb,Na)}}break;case "g":a:{var oe=e[1],eg=b;if(void 0!==oe){var Nc=lf(a,oe,!0);if(!Nc)break a;pf(a,Nc,eg);a.jb(a.j,Nc,!0)}a.zb(!0)||c||a.f("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Oc;if(a.u.ga)Oc="halting",a.na();else{if(fb(a,!0))break a;Oc="already halted"}c||a.f(Oc)}break;case "i":if("if"==e[0]){var Pc;
|
||||||
Wb.indexOf(" ");if(mb+(Wb.indexOf(" ",re+1)-re-1)/2==qe){pe=Wb;break}}}mb--}Vb.w=qe;if(wa=pe)break}if(!wa||null==wa)break;var se=null;if("ks"==eg){var te=wa.match(/[0-9A-F]+$/);te&&(se=Ff(a,te[0]))}wa=ma(wa,50)+" ;"+(se||"stack="+Y(a,lb.w));a.f(wa);Kc++}Kc||a.f("no return addresses found")}break;case "l":"ln"==e[0]&&Ff(a,e[1],!0);break;case "m":a:{var fa,ga=null,A=e[1];"?"==A&&(A=void 0);if(void 0!==A){var ra=0;if("all"==A)ra=1878917119,A=null;else if("on"==A)ga=!0,A=null;else if("off"==A)ga=!1,
|
var mb=b.substr(2),mb=na(mb);Ye(a,mb)?(c||a.f("true: "+mb),Pc=!0):(c||a.f("false: "+mb),Pc=!1);Pc||(d=!1)}break;case "k":var fg=e[0];if("?"==e[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");else{var Qc=0,pe=Z(),nb=Z(a.b.g[6]);for(a.f("stack trace for "+Y(a,nb.w));10>Qc;){for(var wa=null,gg=256;65536>nb.w>>>0;){pe.w=a.Ja(nb,2);if(null==nb.w||!gg--)break;for(var hg=a,Vb=pe,qe=null,ob=Vb.w,re=ob,Rc=1;6>=Rc&&ob;Rc++){if(2<Rc){Vb.w=ob;var Wb=zf(hg,
|
||||||
A=null;else{"keys"==A&&(A="key");"kbd"==A&&(A="keyboard");for(fa in G)if(A==fa){ra=G[fa];ga=!!(a.ka&ra);break}if(!ra){a.f("unknown message category: "+A);break a}}if(ra)if("on"==e[2])a.ka|=ra,ga=!0;else if("off"==e[2]&&(a.ka&=~ra,ga=!1,1073741824==ra)){for(var Mc=0;Mc<a.Ba.length;Mc++)a.f(a.Ba[Mc]);a.Ba=[]}}var hg=0,nb="";for(fa in G)if(!A||A==fa){var ig=!!(a.ka&G[fa]);if(null===ga||ga==ig)nb&&(nb+=","),++hg%10||(nb+="\n\t"),"key"==fa&&(fa="keys"),nb+=fa}void 0===A&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
Vb);if(0<=Wb.indexOf("JSR")){var se=Wb.indexOf(" ");if(ob+(Wb.indexOf(" ",se+1)-se-1)/2==re){qe=Wb;break}}}ob--}Vb.w=re;if(wa=qe)break}if(!wa||null==wa)break;var te=null;if("ks"==fg){var ue=wa.match(/[0-9A-F]+$/);ue&&(te=Gf(a,ue[0]))}wa=ma(wa,50)+" ;"+(te||"stack="+Y(a,nb.w));a.f(wa);Qc++}Qc||a.f("no return addresses found")}break;case "l":"ln"==e[0]&&Gf(a,e[1],!0);break;case "m":a:{var fa,ga=null,A=e[1];"?"==A&&(A=void 0);if(void 0!==A){var ra=0;if("all"==A)ra=1878917119,A=null;else if("on"==A)ga=
|
||||||
a.f((null!==ga?ga?"messages on: ":"messages off: ":"message categories:\n\t")+(nb||"none"));df(a)}break;case "p":if("print"==e[0]){Gf(a,b.substr(5));break}var jg="pr"==e[0]?1:0;if(a.ha)a.f("step in progress");else{var ue=Z(a.b.g[7]);a.rb(ue);a.ha?(a.jb(a.j,ue,!0),a.zb()||(a.i&&a.i.Xb(),a.ha=0)):Hf(a,jg?"tr":"t")}break;case "r":if("reset"==b){a.i&&a.i.reset();break}qf(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var ob=+e[2];if(8==ob||10==ob||16==ob)a.ea=ob;else{a.f("invalid base: "+ob);
|
!0,A=null;else if("off"==A)ga=!1,A=null;else{"keys"==A&&(A="key");"kbd"==A&&(A="keyboard");for(fa in G)if(A==fa){ra=G[fa];ga=!!(a.ka&ra);break}if(!ra){a.f("unknown message category: "+A);break a}}if(ra)if("on"==e[2])a.ka|=ra,ga=!0;else if("off"==e[2]&&(a.ka&=~ra,ga=!1,1073741824==ra)){for(var Sc=0;Sc<a.Ba.length;Sc++)a.f(a.Ba[Sc]);a.Ba=[]}}var ig=0,pb="";for(fa in G)if(!A||A==fa){var jg=!!(a.ka&G[fa]);if(null===ga||ga==jg)pb&&(pb+=","),++ig%10||(pb+="\n\t"),"key"==fa&&(fa="keys"),pb+=fa}void 0===
|
||||||
break}}a.f("default base: "+a.ea);break;case "cs":var pb;void 0!==e[3]&&(pb=+e[3]);switch(e[2]){case "int":a.b.tb=pb;break;case "start":a.b.Ob=pb;break;case "stop":a.b.ub=pb;break;default:a.f("unknown cs option");break a}void 0!==pb&&Qc(a.b);a.f("checksums "+(a.b.u.qb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Vc(a.b,+e[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.mb.toFixed(2)+"Mhz")+" ("+a.b.ab+"x)");break;case "?":a.f("debugger options:");
|
A&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==ga?ga?"messages on: ":"messages off: ":"message categories:\n\t")+(pb||"none"));ef(a)}break;case "p":if("print"==e[0]){Hf(a,b.substr(5));break}var kg="pr"==e[0]?1:0;if(a.ha)a.f("step in progress");else{var ve=Z(a.b.g[7]);a.rb(ve);a.ha?(a.jb(a.j,ve,!0),a.zb()||(a.i&&a.i.Xb(),a.ha=0)):If(a,kg?"tr":"t")}break;case "r":if("reset"==b){a.i&&a.i.reset();break}sf(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var qb=
|
||||||
a.f("\tbase #\t\tset default base to #");a.f("\tcs int #\tset checksum cycle interval to #");a.f("\tcs start #\tset checksum cycle start count to #");a.f("\tcs stop #\tset checksum cycle stop count to #");a.f("\tsp #\t\tset speed multiplier to #");break;default:e[1]&&a.f("unknown option: "+e[1])}break;case "t":Hf(a,e[0],e[1]);break;case "u":rf(a,e[1],e[2],8);break;case "v":if("var"==e[0]){Ef(a,b.substr(3))||(d=!1);break}a.f("PDP11js version 1.30.0 ("+a.b.Wc+",RELEASE"+(ub?",TYPEDARRAYS":",LONGARRAYS")+
|
+e[2];if(8==qb||10==qb||16==qb)a.ea=qb;else{a.f("invalid base: "+qb);break}}a.f("default base: "+a.ea);break;case "cs":var rb;void 0!==e[3]&&(rb=+e[3]);switch(e[2]){case "int":a.b.tb=rb;break;case "start":a.b.Ob=rb;break;case "stop":a.b.ub=rb;break;default:a.f("unknown cs option");break a}void 0!==rb&&Vc(a.b);a.f("checksums "+(a.b.u.qb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&($c(a.b,+e[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.mb.toFixed(2)+
|
||||||
")");a.f(window?window.navigator.userAgent:"");break;case "?":if(e[1]){Gf(a,b.substr(1));break}var Nc="commands:",Oc;for(Oc in ff)Nc+="\n"+ma(Oc,9)+ff[Oc];rd(a)||(Nc+="\nnote: history disabled if no exec breakpoints");a.f(Nc);break;default:a.f("unknown command: "+b),d=!1}}}catch(ve){a.f("debugger error: "+(ve.stack||ve.message)),d=!1}return d}function Rc(a,b,c){b=Ve(a,b,c);for(var d in b)if(!wf(a,b[+d]))return!1;return!0}
|
"Mhz")+" ("+a.b.bb+"x)");break;case "?":a.f("debugger options:");a.f("\tbase #\t\tset default base to #");a.f("\tcs int #\tset checksum cycle interval to #");a.f("\tcs start #\tset checksum cycle start count to #");a.f("\tcs stop #\tset checksum cycle stop count to #");a.f("\tsp #\t\tset speed multiplier to #");break;default:e[1]&&a.f("unknown option: "+e[1])}break;case "t":If(a,e[0],e[1]);break;case "u":tf(a,e[1],e[2],8);break;case "v":if("var"==e[0]){Ff(a,b.substr(3))||(d=!1);break}a.f("PDP11js version 1.30.0 ("+
|
||||||
Oa(function(){for(var a=D(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new bf(d);bb(d,c)}});
|
a.b.Yc+",RELEASE"+(vb?",TYPEDARRAYS":",LONGARRAYS")+")");a.f(window?window.navigator.userAgent:"");break;case "?":if(e[1]){Hf(a,b.substr(1));break}var Tc="commands:",Uc;for(Uc in gf)Tc+="\n"+ma(Uc,9)+gf[Uc];xd(a)||(Tc+="\nnote: history disabled if no exec breakpoints");a.f(Tc);break;default:a.f("unknown command: "+b),d=!1}}}catch(we){a.f("debugger error: "+(we.stack||we.message)),d=!1}return d}function Wc(a,b,c){b=We(a,b,c);for(var d in b)if(!yf(a,b[+d]))return!1;return!0}
|
||||||
function Jf(a,b,c){v.call(this,"Computer",a,Jf,67108864);this.u.ia=!1;Kf(this,b);this.W=Ac(this,"autoPower",a);this.A=0;this.ha=a.busWidth||a.buswidth;this.i=Lf;this.R=null;this.G=this.da=!1;this.url=Ac(this,"url")||"";(Math.random()+.1).toString(36);this.j=Mf(this);if(this.b=ab("CPU",this.id)){this.C=ab("Debugger",this.id);this.F=new xb({id:this.uc+".bus",busWidth:this.ha},this.b,this.C);var d,f=$a(this.id);if((this.B=ab("Panel",this.id))&&this.B.kb)for(b=0;b<f.length;b++)d=f[b],d.qa=this.B.qa,d.f=
|
Pa(function(){for(var a=D(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new cf(d);cb(d,c)}});
|
||||||
this.B.f,d.kb=this.B.kb;this.f("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.f("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ya&&d.Ya(this,this.F,this.b,this.C);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.i=parseInt(d,10));var e;if(a=Ac(this,"state")||(e=!0,a.state))b=this.$=a,e||(this.G=!0,this.i=Lf),this.i&&
|
function Kf(a,b,c){w.call(this,"Computer",a,Kf,67108864);this.u.ia=!1;Lf(this,b);this.W=Ac(this,"autoPower",a);this.A=0;this.ha=a.busWidth||a.buswidth;this.i=Mf;this.R=null;this.G=this.da=!1;this.url=Ac(this,"url")||"";(Math.random()+.1).toString(36);this.j=Nf(this);if(this.b=bb("CPU",this.id)){this.C=bb("Debugger",this.id);this.F=new yb({id:this.uc+".bus",busWidth:this.ha},this.b,this.C);var d,f=ab(this.id);if((this.B=bb("Panel",this.id))&&this.B.kb)for(b=0;b<f.length;b++)d=f[b],d.qa=this.B.qa,d.f=
|
||||||
(this.T=new M(this,"1.30.0"),Nf(this.T)?b=null:delete this.T);!b&&this.i&&(b=Of(this))&&(this.G=!0);if(b){var g=this;sa(b,null,!0,function(a,b,c){c?(g.J=null,g.G=!1,g.qa("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.R=b,g.da=!0);F(g)})}else F(this);this.I.power||(this.W=!0);!c&&this.W&&Pf(this,this.Pb)}else u("Unable to find CPU component")}B(Jf);var Lf=0;
|
this.B.f,d.kb=this.B.kb;this.f("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.f("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Za&&d.Za(this,this.F,this.b,this.C);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.i=parseInt(d,10));var e;if(a=Ac(this,"state")||(e=!0,a.state))b=this.$=a,e||(this.G=!0,this.i=Mf),this.i&&
|
||||||
function Kf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.ea=b}function Ac(a,b,c){var d=b.toLowerCase(),d=Ta[b]||Ta[d];void 0===d&&a.ea&&(d=a.ea[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Pf(a,b,c){for(var d=$a(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!rb(e)){rb(e,function(){Pf(a,b,c)});return}}b.call(a,c)}
|
(this.T=new M(this,"1.30.0"),Of(this.T)?b=null:delete this.T);!b&&this.i&&(b=Pf(this))&&(this.G=!0);if(b){var g=this;sa(b,null,!0,function(a,b,c){c?(g.J=null,g.G=!1,g.qa("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.R=b,g.da=!0);F(g)})}else F(this);this.I.power||(this.W=!0);!c&&this.W&&Qf(this,this.Pb)}else u("Unable to find CPU component")}B(Kf);var Mf=0;
|
||||||
function Qf(a,b){var c=new M(a,"1.30.0","validate");if(Nf(c)&&Rf(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.qa("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Jf.prototype;
|
function Lf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.ea=b}function Ac(a,b,c){var d=b.toLowerCase(),d=Ua[b]||Ua[d];void 0===d&&a.ea&&(d=a.ea[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Qf(a,b,c){for(var d=ab(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!sb(e)){sb(e,function(){Qf(a,b,c)});return}}b.call(a,c)}
|
||||||
l.Pb=function(a){void 0===a&&(a=this.i||(this.R?1:Lf));if(!this.A){this.A++;var b=!1,c=!1;this.ca=!1;var d=this.T||new M(this,"1.30.0");if(-1==a)b=!0;else if(a>Lf){if(Nf(d,this.R)){this.D=new M(this,"1.30.0","failsafe");Nf(this.D)&&(Sf(this,d),a=2,Tf(this.D));this.D.set("timestamp",qa());Uf(this.D);var f=this.i&&!this.G;if(1==a||ta("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Rf(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Nf(d,g):("error"==
|
function Rf(a,b){var c=new M(a,"1.30.0","validate");if(Of(c)&&Sf(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.qa("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Kf.prototype;
|
||||||
e&&"no machine state"!=g?(this.qa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.j=null)):this.f(e+": "+g),Tf(d),Nf(d)?(c=Rf(d),f=!0):c=!1))}f&&Qf(this,c?d:null)}else 2==a&&d.clear()}else Qf(this);delete this.R;delete this.T}f=$a(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(c=Vf(this,g,d,b,c));b=[d,a,c];-1!=a?Pf(this,this.yc,b):this.yc(b)}};
|
l.Pb=function(a){void 0===a&&(a=this.i||(this.R?1:Mf));if(!this.A){this.A++;var b=!1,c=!1;this.ca=!1;var d=this.T||new M(this,"1.30.0");if(-1==a)b=!0;else if(a>Mf){if(Of(d,this.R)){this.D=new M(this,"1.30.0","failsafe");Of(this.D)&&(Tf(this,d),a=2,Uf(this.D));this.D.set("timestamp",qa());Vf(this.D);var f=this.i&&!this.G;if(1==a||ta("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Sf(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Of(d,g):("error"==
|
||||||
function Vf(a,b,c,d,f){if(!b.u.ia){b.u.ia=!0;if(b.Ra){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.Ra(e,d)&&e&&(u("Unable to restore state for "+b.type),a.$&&!a.da?(c.clear(),a.i=Lf,window&&window.location.reload()):a.ca=!0,b.Ra(null),f=!1)}if(!d&&b.sc)for(a=b.sc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
e&&"no machine state"!=g?(this.qa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.j=null)):this.f(e+": "+g),Uf(d),Of(d)?(c=Sf(d),f=!0):c=!1))}f&&Rf(this,c?d:null)}else 2==a&&d.clear()}else Rf(this);delete this.R;delete this.T}f=ab(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(c=Wf(this,g,d,b,c));b=[d,a,c];-1!=a?Qf(this,this.yc,b):this.yc(b)}};
|
||||||
l.yc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ja=!0;this.u.ia=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.b&&(Vf(this,this.b,b,c,a),this.b.Hb());this.ca&&(Sf(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0};
|
function Wf(a,b,c,d,f){if(!b.u.ia){b.u.ia=!0;if(b.Ra){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.Ra(e,d)&&e&&(u("Unable to restore state for "+b.type),a.$&&!a.da?(c.clear(),a.i=Mf,window&&window.location.reload()):a.ca=!0,b.Ra(null),f=!1)}if(!d&&b.sc)for(a=b.sc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||||
function Sf(a,b){if(ta("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;sa("http://www.pcjs.org/api/v1/report",d,!0)}}
|
l.yc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ja=!0;this.u.ia=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.b&&(Wf(this,this.b,b,c,a),this.b.Hb());this.ca&&(Tf(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0};
|
||||||
function If(a,b,c){var d,f="none";if(a.A)return null;a.A--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=qa();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Qa&&(c&&a.b.na(),d=a.b.Qa(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.u.ia=!1,!1===d&&(f=null)));for(var h=$a(a.id),k=0;k<h.length;k++){var m=h[k];m.u.ia&&(m.Qa&&(d=m.Qa(b,c),"object"===typeof d&&e.set(m.id,
|
function Tf(a,b){if(ta("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;sa("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
d)),c&&(m.u.ia=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.j&&Wf(a,a.j,e.toString()),Uf(g)&&Uf(e)||(f=null,d=h=!0)):a.i&&(d=!0,h=3==a.i),d&&e.clear(h)):f=e.toString());c&&(a.u.ia=!1,b=a.I.power)&&(b.textContent="Power");a.A=0;return f}l.reset=function(){this.F&&this.F.reset&&(cb(this,"Resetting "+this.F.type),this.F.reset());for(var a=$a(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.F&&c.reset&&(cb(this,"Resetting "+c.type),c.reset())}};
|
function Jf(a,b,c){var d,f="none";if(a.A)return null;a.A--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=qa();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Qa&&(c&&a.b.na(),d=a.b.Qa(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.u.ia=!1,!1===d&&(f=null)));for(var h=ab(a.id),k=0;k<h.length;k++){var m=h[k];m.u.ia&&(m.Qa&&(d=m.Qa(b,c),"object"===typeof d&&e.set(m.id,
|
||||||
l.start=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};l.stop=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
d)),c&&(m.u.ia=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.j&&Xf(a,a.j,e.toString()),Vf(g)&&Vf(e)||(f=null,d=h=!0)):a.i&&(d=!0,h=3==a.i),d&&e.clear(h)):f=e.toString());c&&(a.u.ia=!1,b=a.I.power)&&(b.textContent="Power");a.A=0;return f}l.reset=function(){this.F&&this.F.reset&&(db(this,"Resetting "+this.F.type),this.F.reset());for(var a=ab(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.F&&c.reset&&(db(this,"Resetting "+c.type),c.reset())}};
|
||||||
l.va=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.A||(d.u.ia?If(d,!1,!0):Pf(d,d.Pb))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.u.ia&&!d.A)if(d.i&&!d.J){var a=ta("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");If(d,a,!0);!a&&d.$?window&&window.location.reload():d.Pb(Lf)}else d.reset(),d.b&&d.b.Hb()},!0;case "save":if(ia())c.parentNode.removeChild(c);else return this.I[b]=
|
l.start=function(a,b){for(var c=ab(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};l.stop=function(a,b){for(var c=ab(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||||
c,c.onclick=function(){var a=Mf(d,!0);if(a){var b=!!(d.i&&!d.J||d.$),c=If(d,b);b?Wf(d,a,c):d.qa("Resume disabled, machine state not saved")}},!0}return!1};
|
l.va=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.A||(d.u.ia?Jf(d,!1,!0):Qf(d,d.Pb))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.u.ia&&!d.A)if(d.i&&!d.J){var a=ta("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Jf(d,a,!0);!a&&d.$?window&&window.location.reload():d.Pb(Mf)}else d.reset(),d.b&&d.b.Hb()},!0;case "save":if(ia())c.parentNode.removeChild(c);else return this.I[b]=
|
||||||
function Mf(a,b){var c=a.j;c||((c=za("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Xf(a,c))||a.qa("The user ID is invalid.")):b&&a.qa("Browser local storage is not available"));return c}
|
c,c.onclick=function(){var a=Nf(d,!0);if(a){var b=!!(d.i&&!d.J||d.$),c=Jf(d,b);b?Xf(d,a,c):d.qa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function Xf(a,b){a.j=null;b=sa(ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.j=b.data)}catch(d){u(d.message+" ("+c+")")}return a.j}function Of(a){var b=null;a.j&&(b=ja()+"/api/v1/user?req=load&user="+a.j+"&state="+Yf(a,"1.30.0"));return b}
|
function Nf(a,b){var c=a.j;c||((c=za("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Yf(a,c))||a.qa("The user ID is invalid.")):b&&a.qa("Browser local storage is not available"));return c}
|
||||||
function Wf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Yf(a,"1.30.0");d.data=c;b=sa(ja()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.qa("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.qa(c),Aa("user",""),a.j=null)}}l.Xb=function(){};
|
function Yf(a,b){a.j=null;b=sa(ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.j=b.data)}catch(d){u(d.message+" ("+c+")")}return a.j}function Pf(a){var b=null;a.j&&(b=ja()+"/api/v1/user?req=load&user="+a.j+"&state="+Zf(a,"1.30.0"));return b}
|
||||||
l.Ga=function(a){this.b&&this.b.Ga(a);this.B&&this.B.Ga(a)};Oa(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=D(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=C(e),g=new Jf(g,d,!0);bb(g,e);g.W&&Pf(g,g.Pb)}});Ea.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=ab("Computer",c.id))&&c.ja&&!c.u.ia&&c.Pb(-1)}});
|
function Xf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Zf(a,"1.30.0");d.data=c;b=sa(ja()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.qa("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.qa(c),Aa("user",""),a.j=null)}}l.Xb=function(){};
|
||||||
Ea.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=ab("Computer",c.id))&&c.u.ia&&If(c,!(!c.i||c.J),!0)}});function M(a,b,c){this.id=a.id;this.key=Yf(a,b,c);this.C=a.C;Tf(this,a.Pc)}function Yf(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}
|
l.Fa=function(a){this.b&&this.b.Fa(a);this.B&&this.B.Fa(a)};Pa(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=D(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=C(e),g=new Kf(g,d,!0);cb(g,e);g.W&&Qf(g,g.Pb)}});Ea.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=bb("Computer",c.id))&&c.ja&&!c.u.ia&&c.Pb(-1)}});
|
||||||
M.prototype={constructor:M,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Tf(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}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(f){}b.splice(c,
|
Ea.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=bb("Computer",c.id))&&c.u.ia&&Jf(c,!(!c.i||c.J),!0)}});function M(a,b,c){this.id=a.id;this.key=Zf(a,b,c);this.C=a.C;Uf(this,a.Rc)}function Zf(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}
|
||||||
1);c=0}}};function Tf(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function Uf(a){var b=!0;if(ya()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Rf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){u(c.message||c),b=!1}return b}function Nf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ya()&&(b=za(a.key))?(a[a.id]=b,a.b=!0):!1}var Zf=0;
|
M.prototype={constructor:M,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Uf(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}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(f){}b.splice(c,
|
||||||
function kg(a,b,c,d,f,e){f("Loading "+a+"...");sa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):lg(h,a,b,c,d,f,e)})}
|
1);c=0}}};function Uf(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function Vf(a){var b=!0;if(ya()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Sf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){u(c.message||c),b=!1}return b}function Of(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ya()&&(b=za(a.key))?(a[a.id]=b,a.b=!0):!1}var $f=0;
|
||||||
function lg(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Za(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
function lg(a,b,c,d,f,e){f("Loading "+a+"...");sa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):mg(h,a,b,c,d,f,e)})}
|
||||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){e=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?mg(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
function mg(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&($a(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||||
function mg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");sa(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){e=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?ng(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||||
"");a=a.replace(d[0],g);mg(a,b,c)}})}else c(a,null)}
|
function ng(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");sa(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||||
function ng(a,b,c,d){function f(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function e(a){f("Error: "+a);k&&(--Zf||Qa(!0));k=!1}var g,h,k=!0;Zf++;Ya[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=m:p.appendChild(document.createTextNode(m));n.appendChild(p)}c||
|
"");a=a.replace(d[0],g);ng(a,b,c)}})}else c(a,null)}
|
||||||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?kg(c,null,null,!1,f,function(d,k){k?(Za(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Zf||Qa(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Zf||Qa(!0)):e("invalid machine element: "+
|
function og(a,b,c,d){function f(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function e(a){f("Error: "+a);k&&(--$f||Ra(!0));k=!1}var g,h,k=!0;$f++;Za[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=m:p.appendChild(document.createTextNode(m));n.appendChild(p)}c||
|
||||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?kg(b,a,d,!0,f,m):lg(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(q){e(q.message)}return k}window.embedPDP11=function(a,b,c,d){Qa(!1);return ng(a,b,c,d)};window.enableEvents=Qa;window.sendEvent=Ra;})();
|
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?lg(c,null,null,!1,f,function(d,k){k?($a(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--$f||Ra(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--$f||Ra(!0)):e("invalid machine element: "+
|
||||||
|
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?lg(b,a,d,!0,f,m):mg(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(q){e(q.message)}return k}window.embedPDP11=function(a,b,c,d){Ra(!1);return og(a,b,c,d)};window.enableEvents=Ra;window.sendEvent=Sa;})();
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,11 @@ function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=
|
||||||
if(window){xa||(xa=window.location.search.substr(1));for(var za,Aa=/\+/g,Ba=/([^&=]+)=?([^&]*)/g;za=Ba.exec(xa);)ya[decodeURIComponent(za[1].replace(Aa," "))]=decodeURIComponent(za[2].replace(Aa," "))}function Ca(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
if(window){xa||(xa=window.location.search.substr(1));for(var za,Aa=/\+/g,Ba=/([^&=]+)=?([^&]*)/g;za=Ba.exec(xa);)ya[decodeURIComponent(za[1].replace(Aa," "))]=decodeURIComponent(za[2].replace(Aa," "))}function Ca(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||||
function y(a,b){b||(b=w);a.prototype=Ca(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Da=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},x=[];function Ea(a,b,c){Da[a]&&b&&(Da[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
function y(a,b){b||(b=w);a.prototype=Ca(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Da=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},x=[];function Ea(a,b,c){Da[a]&&b&&(Da[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||||
function Fa(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
|
function Fa(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
|
||||||
function B(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=A(e))&&g.binding&&a.ea(g.type,g.binding,e,g.value),k=h.length}}}}
|
function B(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=A(e))&&g.binding&&a.da(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||||
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
||||||
w.prototype={constructor:w,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ea:function(a,b,c){switch(b){case "clear":return this.u[b]||(this.u[b]=c,c.onclick=function(a){return function(){a.u.print&&(a.u.print.value="")}}(this)),!0;case "print":return this.u[b]||(this.Bb=this.u[b]=c,c.value="",this.K=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
w.prototype={constructor:w,parent:null,toString:function(){return this.name?this.name:this.id||this.type},da:function(a,b,c){switch(b){case "clear":return this.u[b]||(this.u[b]=c,c.onclick=function(a){return function(){a.u.print&&(a.u.print.value="")}}(this)),!0;case "print":return this.u[b]||(this.Bb=this.u[b]=c,c.value="",this.K=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||||
this.M=function(a){this.K(a,this.yb)}),!0;default:return!1}},log:function(){},K:function(){},status:function(a){this.K(this.yb+": "+a)},M:function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)},wa:function(){return this.h.N=!0},va:function(a,b){b&&(this.h.N=!1);return!0}};function E(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.nb;a.nb=null;b&&b()}}function Ga(a,b){b&&(a.h.ready?b():a.nb=b);return a.h.ready}var Ha="undefined"!==typeof ArrayBuffer;function Ia(a){w.call(this,"Panel",a,Ia)}y(Ia);
|
this.M=function(a){this.K(a,this.yb)}),!0;default:return!1}},log:function(){},K:function(){},status:function(a){this.K(this.yb+": "+a)},M:function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)},wa:function(){return this.h.N=!0},va:function(a,b){b&&(this.h.N=!1);return!0}};function E(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.nb;a.nb=null;b&&b()}}function Ga(a,b){b&&(a.h.ready?b():a.nb=b);return a.h.ready}var Ha="undefined"!==typeof ArrayBuffer;function Ia(a){w.call(this,"Panel",a,Ia)}y(Ia);
|
||||||
l=Ia.prototype;l.ea=function(a,b,c,d){return this.v&&this.v.ea(a,b,c,d)||this.a&&this.a.ea(a,b,c,d)?!0:this.parent.ea.call(this,a,b,c,d)};l.Ka=function(a,b,c,d){this.v=a;this.B=b;this.a=c;this.I=d};l.wa=function(a,b){b||Ja();return!0};l.va=function(){return!0};l.Va=function(){};
|
l=Ia.prototype;l.da=function(a,b,c,d){return this.v&&this.v.da(a,b,c,d)||this.a&&this.a.da(a,b,c,d)?!0:this.parent.da.call(this,a,b,c,d)};l.Ka=function(a,b,c,d){this.v=a;this.B=b;this.a=c;this.I=d};l.wa=function(a,b){b||Ja();return!0};l.va=function(){return!0};l.Va=function(){};
|
||||||
function Ja(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=A(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<x.length;g++)if(x[g].id===e){e=x[g];break a}}e=null}e||(a=!0,e=new Ia(f));B(e,d);a&&E(e)}}u(Ja);
|
function Ja(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=A(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<x.length;g++)if(x[g].id===e){e=x[g];break a}}e=null}e||(a=!0,e=new Ia(f));B(e,d);a&&E(e)}}u(Ja);
|
||||||
function F(a,b,c){w.call(this,"Bus",a,F);this.a=b;this.I=c;this.G=a.busWidth||16;this.v=Math.pow(2,this.G);this.j=this.v-1|0;this.f=(this.G>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.g=1<<this.f;this.J=this.g>>2;this.i=this.g-1;this.l=this.v/this.g|0;this.L=this.l-1;this.oa=[];this.C=null;this.ab=this.T;a=new G;Ka(a,this.I);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;this.Ya=Array(4);this.Ya[0]=La;this.Ya[1]=Ma;this.Ya[2]=Na;this.Ya[3]=Oa;Pa(this,this.v-8192,8192,Qa,this);
|
function F(a,b,c){w.call(this,"Bus",a,F);this.a=b;this.I=c;this.G=a.busWidth||16;this.v=Math.pow(2,this.G);this.j=this.v-1|0;this.f=(this.G>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.g=1<<this.f;this.J=this.g>>2;this.i=this.g-1;this.l=this.v/this.g|0;this.L=this.l-1;this.oa=[];this.C=null;this.ab=this.T;a=new G;Ka(a,this.I);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;this.Ya=Array(4);this.Ya[0]=La;this.Ya[1]=Ma;this.Ya[2]=Na;this.Ya[3]=Oa;Pa(this,this.v-8192,8192,Qa,this);
|
||||||
Pa(this,57344,8192,Qa,this);E(this)}y(F);function La(a,b){var c=this.controller,d=c.oa[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.oa[a&-2])&&d[2])return d[2](b&-2)>>8;c.K("warning: unconverted read access to byte @"+ba(b));return c.ab(b,-1,1)}
|
Pa(this,57344,8192,Qa,this);E(this)}y(F);function La(a,b){var c=this.controller,d=c.oa[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.oa[a&-2])&&d[2])return d[2](b&-2)>>8;c.K("warning: unconverted read access to byte @"+ba(b));return c.ab(b,-1,1)}
|
||||||
|
|
@ -25,7 +25,7 @@ function Na(a,b){var c=this.controller;if(a=c.oa[a]){if(a[2])return a[2](b);if(a
|
||||||
F.prototype.wa=function(a,b){b||this.reset();return!0};function Pa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0<g&&h<a.b.length;){var k=a.b[h],m=h*a.g,r=a.g-(e-m);r>g&&(r=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Xa)return k.vb+=k.Xa-e,k.Xa=e,!0;if(e>=k.Xa+k.vb){r=k.size-(e-m);r>g&&(r=g);k.vb=e-k.Xa+r;e=m+a.g;g-=r;h++;continue}}return Ra(1,e,g)}e=new G(e,r,a.g,d,f);Ka(e,a.I,k);a.b[h++]=e;e=m+a.g;g-=r}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Sa[d]+" at "+n(b,8,!0)),!0):Ra(2,b,c)}
|
F.prototype.wa=function(a,b){b||this.reset();return!0};function Pa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0<g&&h<a.b.length;){var k=a.b[h],m=h*a.g,r=a.g-(e-m);r>g&&(r=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Xa)return k.vb+=k.Xa-e,k.Xa=e,!0;if(e>=k.Xa+k.vb){r=k.size-(e-m);r>g&&(r=g);k.vb=e-k.Xa+r;e=m+a.g;g-=r;h++;continue}}return Ra(1,e,g)}e=new G(e,r,a.g,d,f);Ka(e,a.I,k);a.b[h++]=e;e=m+a.g;g-=r}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Sa[d]+" at "+n(b,8,!0)),!0):Ra(2,b,c)}
|
||||||
function Ta(a,b){return a.b[(b&a.j)>>>a.f].cb(b&a.i,b)}function Ua(a,b,c){var d=b&a.i,f=(b&a.j)>>>a.f;d!=a.i?a.b[f].Fc(d,c&65535,b):(a.b[f++].Wa(d,c&255,b),a.b[f&a.L].Wa(0,c>>8&255,b+1))}function Va(a){for(var b=0,c=[],d=0;d<a.l;d++){var f=a.b[d];if(f.ra||f.cc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],r=g+1;r<f.length&&f[r]===m;)r++;k[h++]=r-g;k[h++]=m;g=r}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
function Ta(a,b){return a.b[(b&a.j)>>>a.f].cb(b&a.i,b)}function Ua(a,b,c){var d=b&a.i,f=(b&a.j)>>>a.f;d!=a.i?a.b[f].Fc(d,c&65535,b):(a.b[f++].Wa(d,c&255,b),a.b[f&a.L].Wa(0,c>>8&255,b+1))}function Va(a){for(var b=0,c=[],d=0;d<a.l;d++){var f=a.b[d];if(f.ra||f.cc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],r=g+1;r<f.length&&f[r]===m;)r++;k[h++]=r-g;k[h++]=m;g=r}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
||||||
function Wa(a,b){var c=Xa,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,r=f[3]?f[3].bind(b):null,f=f[4],v=+d;v<=g;v+=2){var D=v&8191;void 0!==e.oa[D]?q("I/O address already registered: "+n(v,8,!0)):e.oa[D]=[h,k,m,r,!1,f||"unknown"]}}function Ya(a,b,c){a.C=b;a.ab=c}function Ra(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
|
function Wa(a,b){var c=Xa,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,r=f[3]?f[3].bind(b):null,f=f[4],v=+d;v<=g;v+=2){var D=v&8191;void 0!==e.oa[D]?q("I/O address already registered: "+n(v,8,!0)):e.oa[D]=[h,k,m,r,!1,f||"unknown"]}}function Ya(a,b,c){a.C=b;a.ab=c}function Ra(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
|
||||||
function H(a){w.call(this,"Device",a,H);this.b={Eb:[],U:0,W:128,b:127,bc:0};this.g={data:0,Hc:0,Ra:20,zc:0};this.f={o:0,Hb:-1};this.i={fb:2496,P:0,A:128,gb:0,eb:0,V:0,Sb:0,R:[],Ia:[406,406,406,406],F:[12,12,12,12]};this.j={o:129,$a:0,H:0,ua:0,pa:0,Aa:0,R:[],F:[40,40,40,40],Ia:[1024,1024,512,512],$b:[157,157,29,29]};this.l={a:[8210,8208,8210,8226],F:[22,22,22,50],Ha:[19,19,19,32],xb:[815,411,815,630],R:[],D:2176,Ua:0,Sa:0,da:[0,0,0,0,0,0,0,0],ca:0,S:[4544,4544,4544,4544,4544,4544,4544,4544],Ta:[0,
|
function H(a){w.call(this,"Device",a,H);this.b={Eb:[],U:0,W:128,b:127,bc:0};this.g={data:0,Hc:0,Ra:20,zc:0};this.f={o:0,Hb:-1};this.i={fb:2496,P:0,A:128,gb:0,eb:0,V:0,Sb:0,R:[],Ia:[406,406,406,406],F:[12,12,12,12]};this.j={o:129,$a:0,H:0,ua:0,pa:0,Aa:0,R:[],F:[40,40,40,40],Ia:[1024,1024,512,512],$b:[157,157,29,29]};this.l={a:[8210,8208,8210,8226],F:[22,22,22,50],Ha:[19,19,19,32],xb:[815,411,815,630],R:[],D:2176,Ua:0,Sa:0,ca:[0,0,0,0,0,0,0,0],ba:0,S:[4544,4544,4544,4544,4544,4544,4544,4544],Ta:[0,
|
||||||
0,0,0,0,0,0,0],Na:0,wc:[0,0,0,0,0,0,0,0],Tb:0,Ub:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],xc:[1,2,3,4,5,6,7,8],Vb:[0,0,0,0,0,0,0,0],ja:[0,0,0,0,0,0,0,0],ub:[0,0,0,0,0,0,0,0],uc:[0,0,0,0,0,0,0,0],vc:[0,0,0,0,0,0,0,0],sc:[0,0,0,0,0,0,0,0],tc:[0,0,0,0,0,0,0,0],za:0,Gb:0}}y(H);
|
0,0,0,0,0,0,0],Na:0,wc:[0,0,0,0,0,0,0,0],Tb:0,Ub:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],xc:[1,2,3,4,5,6,7,8],Vb:[0,0,0,0,0,0,0,0],ja:[0,0,0,0,0,0,0,0],ub:[0,0,0,0,0,0,0,0],uc:[0,0,0,0,0,0,0,0],vc:[0,0,0,0,0,0,0,0],sc:[0,0,0,0,0,0,0,0],tc:[0,0,0,0,0,0,0,0],za:0,Gb:0}}y(H);
|
||||||
var Za=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
var Za=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
||||||
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
||||||
|
|
@ -36,10 +36,10 @@ function eb(a){var b=a.i,c,d,f,e=b.V>>13&7;"undefined"===typeof b.R[e]&&(b.R[e]=
|
||||||
b.A|=49152;else if((b.V&15)>=b.F[e])b.P|=32800,b.A|=49152;else{c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.eb;f=65536-b.gb&65535;a.qb(b.R[e],c,d,f);return}}b.fb=e<<13|b.fb&8176|b.V%9&15;I(a.a,20,5,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}l.pc=function(a,b,c,d,f){var e=this.i;e.eb=d&65535;e.A=e.A&-49|d>>12&48;e.gb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}I(this.a,20,5,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})};
|
b.A|=49152;else if((b.V&15)>=b.F[e])b.P|=32800,b.A|=49152;else{c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.eb;f=65536-b.gb&65535;a.qb(b.R[e],c,d,f);return}}b.fb=e<<13|b.fb&8176|b.V%9&15;I(a.a,20,5,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}l.pc=function(a,b,c,d,f){var e=this.i;e.eb=d&65535;e.A=e.A&-49|d>>12&48;e.gb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}I(this.a,20,5,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})};
|
||||||
function gb(a){var b=a.j,c,d,f,e=b.o>>8&3;b.o&=-2;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.qc,drive:e,blocksize:128,mapped:1,maxblock:b.Ia[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.o>>1&7){case 2:b.ua&8&&(b.o&=63);b.ua=b.$b[e]|b.Aa&64;break;case 3:1==(b.H&3)&&(b.Aa=b.H&4?b.Aa+(b.H&65408)&65408|b.H<<2&64:b.Aa-(b.H&65408)&65408|b.H<<2&64,b.H=b.Aa);break;case 4:b.ua=b.Aa;break;case 5:if(b.H>>6>=b.Ia[e]){b.o|=37888;break}if((b.H&63)>=b.F[e]){b.o|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63);
|
function gb(a){var b=a.j,c,d,f,e=b.o>>8&3;b.o&=-2;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.qc,drive:e,blocksize:128,mapped:1,maxblock:b.Ia[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.o>>1&7){case 2:b.ua&8&&(b.o&=63);b.ua=b.$b[e]|b.Aa&64;break;case 3:1==(b.H&3)&&(b.Aa=b.H&4?b.Aa+(b.H&65408)&65408|b.H<<2&64:b.Aa-(b.H&65408)&65408|b.H<<2&64,b.H=b.Aa);break;case 4:b.ua=b.Aa;break;case 5:if(b.H>>6>=b.Ia[e]){b.o|=37888;break}if((b.H&63)>=b.F[e]){b.o|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63);
|
||||||
d=(b.pa&63)<<16|b.$a;f=65536-b.ua&65535;fb(a,b.R[e],c,d,f);return;case 6:if(b.H>>6>=b.Ia[e])b.o|=37888;else if((b.H&63)>=b.F[e])b.o|=37888;else{c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.pa&63)<<16|b.$a;f=65536-b.ua&65535;a.qb(b.R[e],c,d,f);return}}I(a.a,20,5,112,function(){b.o|=129;return!!(b.o&64)})}
|
d=(b.pa&63)<<16|b.$a;f=65536-b.ua&65535;fb(a,b.R[e],c,d,f);return;case 6:if(b.H>>6>=b.Ia[e])b.o|=37888;else if((b.H&63)>=b.F[e])b.o|=37888;else{c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.pa&63)<<16|b.$a;f=65536-b.ua&65535;a.qb(b.R[e],c,d,f);return}}I(a.a,20,5,112,function(){b.o|=129;return!!(b.o&64)})}
|
||||||
l.qc=function(a,b,c,d,f){var e=this.j;e.$a=d&65535;e.o=e.o&-49|d>>12&48;e.pa=d>>16&63;e.H=~~(c/e.F[b.ha])<<6|c%e.F[b.ha];e.Aa=e.H;e.ua=65536-f&65535;switch(a){case 1:e.o|=33792;break;case 2:e.o|=40960}I(this.a,20,5,112,function(){e.o|=129;return!!(e.o&64)})};function hb(a){a=a.l;a.D=2176;a.ca=0;a.S=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ta=[0,0,0,0,0,0,0,0];a.Na=a.Ua=a.Sa=a.za=a.Gb=0}
|
l.qc=function(a,b,c,d,f){var e=this.j;e.$a=d&65535;e.o=e.o&-49|d>>12&48;e.pa=d>>16&63;e.H=~~(c/e.F[b.ha])<<6|c%e.F[b.ha];e.Aa=e.H;e.ua=65536-f&65535;switch(a){case 1:e.o|=33792;break;case 2:e.o|=40960}I(this.a,20,5,112,function(){e.o|=129;return!!(e.o&64)})};function hb(a){a=a.l;a.D=2176;a.ba=0;a.S=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ta=[0,0,0,0,0,0,0,0];a.Na=a.Ua=a.Sa=a.za=a.Gb=0}
|
||||||
function ib(a,b){var c=a.l,d,f,e;c.D&=-16513;c.ca&=-2049;c.S[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.R[b]&&(c.R[b]={cache:[],postProcess:a.rc,drive:b,blocksize:256,mapped:0,maxblock:c.xb[0]*c.Ha[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.D&63){case 5:c.ub[b]=c.ja[b];c.D|=32896;c.S[b]|=32896;c.Na|=1<<b;break;case 9:hb(a);break;case 19:c.S[b]|=64;break;case 49:if(c.ja[b]>=c.xb[0]||c.da[b]>>8>=c.Ha[0]||(c.da[b]&255)>=c.F[0]){c.Ta[b]|=1024;c.D|=49152;break}d=(c.ja[b]*c.Ha[0]+(c.da[b]>>8))*c.F[0]+
|
function ib(a,b){var c=a.l,d,f,e;c.D&=-16513;c.ba&=-2049;c.S[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.R[b]&&(c.R[b]={cache:[],postProcess:a.rc,drive:b,blocksize:256,mapped:0,maxblock:c.xb[0]*c.Ha[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.D&63){case 5:c.ub[b]=c.ja[b];c.D|=32896;c.S[b]|=32896;c.Na|=1<<b;break;case 9:hb(a);break;case 19:c.S[b]|=64;break;case 49:if(c.ja[b]>=c.xb[0]||c.ca[b]>>8>=c.Ha[0]||(c.ca[b]&255)>=c.F[0]){c.Ta[b]|=1024;c.D|=49152;break}d=(c.ja[b]*c.Ha[0]+(c.ca[b]>>8))*c.F[0]+
|
||||||
(c.da[b]&255);f=(c.za&63)<<16|c.Sa;e=65536-c.Ua&65535;fb(a,c.R[b],d,f,e);return;case 57:if(c.ja[b]>=c.xb[0]||c.da[b]>>8>=c.Ha[0]||(c.da[b]&255)>=c.F[0])c.Ta[b]|=1024,c.D|=49152;else{d=(c.ja[b]*c.Ha[0]+(c.da[b]>>8))*c.F[0]+(c.da[b]&255);f=(c.za&63)<<16|c.Sa;e=65536-c.Ua&65535;a.qb(c.R[b],d,f,e);return}}I(a.a,3,5,172,function(){c.D=c.D&65534|128;c.S[b]|=128;return!!(c.D&64)})}
|
(c.ca[b]&255);f=(c.za&63)<<16|c.Sa;e=65536-c.Ua&65535;fb(a,c.R[b],d,f,e);return;case 57:if(c.ja[b]>=c.xb[0]||c.ca[b]>>8>=c.Ha[0]||(c.ca[b]&255)>=c.F[0])c.Ta[b]|=1024,c.D|=49152;else{d=(c.ja[b]*c.Ha[0]+(c.ca[b]>>8))*c.F[0]+(c.ca[b]&255);f=(c.za&63)<<16|c.Sa;e=65536-c.Ua&65535;a.qb(c.R[b],d,f,e);return}}I(a.a,3,5,172,function(){c.D=c.D&65534|128;c.S[b]|=128;return!!(c.D&64)})}
|
||||||
l.rc=function(a,b,c,d,f){var e=this.l;e.Ua=65536-f&65535;e.Sa=d&65535;e.D=e.D&-769|d>>8&768;e.za=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Ha[0]);e.da[b.ha]=f%e.Ha[0]<<8|c%e.F[0];e.ub[b.ha]=e.ja[b.ha]=d;e.Na|=1<<b.ha;c>=b.ic-1&&(e.S[b.ha]|=1024);switch(a){case 1:e.ca|=512;e.D|=49152;break;case 2:e.ca|=2048,e.D|=49152}I(this.a,20,5,172,function(){e.S[b.ha]|=128;e.D=e.D&65534|128;return!!(e.D&64)})};
|
l.rc=function(a,b,c,d,f){var e=this.l;e.Ua=65536-f&65535;e.Sa=d&65535;e.D=e.D&-769|d>>8&768;e.za=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Ha[0]);e.ca[b.ha]=f%e.Ha[0]<<8|c%e.F[0];e.ub[b.ha]=e.ja[b.ha]=d;e.Na|=1<<b.ha;c>=b.ic-1&&(e.S[b.ha]|=1024);switch(a){case 1:e.ba|=512;e.D|=49152;break;case 2:e.ba|=2048,e.D|=49152}I(this.a,20,5,172,function(){e.S[b.ha]|=128;e.D=e.D&65534|128;return!!(e.D&64)})};
|
||||||
function jb(a,b,c,d,f,e){var g=~~((e+c.qa-1)/c.qa),h=new XMLHttpRequest;2048>g&&d+2048<c.ic&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.qa<<1)+"-"+(((d+g)*c.qa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,r,v,D;m=h.response;if(h.status&&206!=h.status||!m)c.Db(1,c,d,f,e);else{m=new Uint8Array(m);r=d;for(D=0;D<m.length;){if("undefined"===typeof c.cache[r])for(c.cache[r]=[],v=0;v<c.qa;v++)c.cache[r][v]=D<m.length?
|
function jb(a,b,c,d,f,e){var g=~~((e+c.qa-1)/c.qa),h=new XMLHttpRequest;2048>g&&d+2048<c.ic&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.qa<<1)+"-"+(((d+g)*c.qa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,r,v,D;m=h.response;if(h.status&&206!=h.status||!m)c.Db(1,c,d,f,e);else{m=new Uint8Array(m);r=d;for(D=0;D<m.length;){if("undefined"===typeof c.cache[r])for(c.cache[r]=[],v=0;v<c.qa;v++)c.cache[r][v]=D<m.length?
|
||||||
m[D]&255|m[D+1]<<8&65280:0,D+=2;else D+=c.qa<<1;r++}g(c,d,f,e)}}};h.send(null)}function J(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:K(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.qb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){jb(this,this.qb,a,b,c,d);return}for(f=0;f<a.qa&&0<d;f++){var e=a.hc?kb(this.a,c):c;Ua(this.a.B,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Db(0,a,b,c,d)};
|
m[D]&255|m[D+1]<<8&65280:0,D+=2;else D+=c.qa<<1;r++}g(c,d,f,e)}}};h.send(null)}function J(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:K(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.qb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){jb(this,this.qb,a,b,c,d);return}for(f=0;f<a.qa&&0<d;f++){var e=a.hc?kb(this.a,c):c;Ua(this.a.B,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Db(0,a,b,c,d)};
|
||||||
function fb(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.qa;e++)b.cache[c][e]=0;for(e=0;e<b.qa&&0<f;e++){g=a.a.sb(b.hc?kb(a.a,d):d);if(0>g){b.Db(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Db(0,b,c,d,f)}l.reset=function(){this.g.Ra=this.g.Ra&-120|20;this.b.U=0;this.b.W=128;this.f.ta=0;this.i.A=128;this.j.o=128;hb(this)};
|
function fb(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.qa;e++)b.cache[c][e]=0;for(e=0;e<b.qa&&0<f;e++){g=a.a.sb(b.hc?kb(a.a,d):d);if(0>g){b.Db(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Db(0,b,c,d,f)}l.reset=function(){this.g.Ra=this.g.Ra&-120|20;this.b.U=0;this.b.W=128;this.f.ta=0;this.i.A=128;this.j.o=128;hb(this)};
|
||||||
|
|
@ -47,8 +47,8 @@ l.Zb=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){ca
|
||||||
255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ja)return K(e,4);f=a-4194272>>1;0>b?d=e.Cb[f]:(d=J(this,e.Cb[f],a,b,c),0<=d&&(e.Cb[f]=d));break;case 4194254:return a&1?e.w>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ga[3]=b),d=e.ga[3]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ga[1]=b),d=e.ga[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.w&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Ma[f]=b),d=e.Ma[f]),d;case 4194246:return a&
|
255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ja)return K(e,4);f=a-4194272>>1;0>b?d=e.Cb[f]:(d=J(this,e.Cb[f],a,b,c),0<=d&&(e.Cb[f]=d));break;case 4194254:return a&1?e.w>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ga[3]=b),d=e.ga[3]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ga[1]=b),d=e.ga[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.w&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Ma[f]=b),d=e.Ma[f]),d;case 4194246:return a&
|
||||||
1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ga[0]=b),d=e.ga[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.w&2048?(0<=b&&(e.Ma[f]=b),d=e.Ma[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.m|=16,K(e,4)}break;case 4194176:f=a>>1&31;d=J(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var g=this.b;switch(a&-2){case 4194174:d=J(this,e.tb,a,b,c);0<=d&&(e.tb=d);break;case 4194172:d=e.xa;d&65280&&(d=(d<<8|d>>8)&65535);break;
|
1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ga[0]=b),d=e.ga[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.w&2048?(0<=b&&(e.Ma[f]=b),d=e.Ma[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.m|=16,K(e,4)}break;case 4194176:f=a>>1&31;d=J(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var g=this.b;switch(a&-2){case 4194174:d=J(this,e.tb,a,b,c);0<=d&&(e.tb=d);break;case 4194172:d=e.xa;d&65280&&(d=(d<<8|d>>8)&65535);break;
|
||||||
case 4194168:0>b?d=this.g.zc&65535:(d=J(this,this.g.data,a,b,c),0<=d&&(this.g.data=d));break;case 4194166:0<=b&&(b&127&&(g.bc=0),g.W&=-129,I(e,100,4,52,function(){g.W|=128;return!!(g.W&64)}));d=0;break;case 4194162:d=0;0>b&&(g.U&=-129,0<g.Eb.length&&(d=g.Eb.shift(),0<g.Eb.length&&setTimeout(function(){g.U|=128;g.U&64&&I(e,40,4,48)},50)));break;case 4194160:0>b?d=g.U:(d=J(this,g.U,a,b,c),0<=d&&(g.U=g.U&128|d&-129));break;default:return e.m|=16,K(e,4)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d=
|
case 4194168:0>b?d=this.g.zc&65535:(d=J(this,this.g.data,a,b,c),0<=d&&(this.g.data=d));break;case 4194166:0<=b&&(b&127&&(g.bc=0),g.W&=-129,I(e,100,4,52,function(){g.W|=128;return!!(g.W&64)}));d=0;break;case 4194162:d=0;0>b&&(g.U&=-129,0<g.Eb.length&&(d=g.Eb.shift(),0<g.Eb.length&&setTimeout(function(){g.U|=128;g.U&64&&I(e,40,4,48)},50)));break;case 4194160:0>b?d=g.U:(d=J(this,g.U,a,b,c),0<=d&&(g.U=g.U&128|d&-129));break;default:return e.m|=16,K(e,4)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d=
|
||||||
J(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194050:d=J(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=J(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&eb(this));break;case 4194054:d=J(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194056:d=J(this,f.eb,a,b,c);0<=d&&(f.eb=d);break;case 4194058:d=J(this,f.V,a,b,c);0<=d&&(f.V=d);break;case 4194060:break;case 4194062:d=J(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;default:return e.m|=16,K(e,4)}break;case 4193728:var h=this.l;f=h.ca&7;switch(a&
|
J(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194050:d=J(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=J(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&eb(this));break;case 4194054:d=J(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194056:d=J(this,f.eb,a,b,c);0<=d&&(f.eb=d);break;case 4194058:d=J(this,f.V,a,b,c);0<=d&&(f.V=d);break;case 4194060:break;case 4194062:d=J(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;default:return e.m|=16,K(e,4)}break;case 4193728:var h=this.l;f=h.ba&7;switch(a&
|
||||||
-2){case 4193728:d=J(this,h.D,a,b,c);0<=b&&0<=d&&(h.za=h.za&60|d>>8&3,h.D=d&17279|h.D&34944|2048,d&1&&h.D&128?ib(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,h.Ua,a,b,c);0<=d&&(h.Ua=d);break;case 4193732:d=J(this,h.Sa,a,b,c);0<=d&&(h.Sa=d&65534);break;case 4193734:d=J(this,h.da[f],a,b,c);0<=d&&(h.da[f]=d&7967);break;case 4193736:d=J(this,h.ca,a,b,c);0<=d&&(h.ca=d&63|h.ca&65472,d&128&&hb(this));break;case 4193738:d=h.S[f];break;case 4193740:d=h.Ta[f];break;case 4193742:d=J(this,
|
-2){case 4193728:d=J(this,h.D,a,b,c);0<=b&&0<=d&&(h.za=h.za&60|d>>8&3,h.D=d&17279|h.D&34944|2048,d&1&&h.D&128?ib(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,h.Ua,a,b,c);0<=d&&(h.Ua=d);break;case 4193732:d=J(this,h.Sa,a,b,c);0<=d&&(h.Sa=d&65534);break;case 4193734:d=J(this,h.ca[f],a,b,c);0<=d&&(h.ca[f]=d&7967);break;case 4193736:d=J(this,h.ba,a,b,c);0<=d&&(h.ba=d&63|h.ba&65472,d&128&&hb(this));break;case 4193738:d=h.S[f];break;case 4193740:d=h.Ta[f];break;case 4193742:d=J(this,
|
||||||
h.Na,a,b,c);0<=d&&(h.Na=d&255);break;case 4193744:d=h.wc[f];break;case 4193746:d=J(this,h.Tb,a,b,c);0<=d&&(h.Tb=d);break;case 4193748:d=J(this,h.Ub[f],a,b,c);0<=d&&(h.Ub[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.xc[f];break;case 4193754:d=J(this,h.Vb[f],a,b,c);0<=d&&(h.Vb[f]=d);break;case 4193756:d=J(this,h.ja[f],a,b,c);0<=d&&(h.ja[f]=d&511);break;case 4193758:h.ub[f]=h.ja[f];d=h.ub[f];break;case 4193760:d=h.uc[f];break;case 4193762:d=h.vc[f];break;case 4193764:d=h.sc[f];break;case 4193766:d=
|
h.Na,a,b,c);0<=d&&(h.Na=d&255);break;case 4193744:d=h.wc[f];break;case 4193746:d=J(this,h.Tb,a,b,c);0<=d&&(h.Tb=d);break;case 4193748:d=J(this,h.Ub[f],a,b,c);0<=d&&(h.Ub[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.xc[f];break;case 4193754:d=J(this,h.Vb[f],a,b,c);0<=d&&(h.Vb[f]=d);break;case 4193756:d=J(this,h.ja[f],a,b,c);0<=d&&(h.ja[f]=d&511);break;case 4193758:h.ub[f]=h.ja[f];d=h.ub[f];break;case 4193760:d=h.uc[f];break;case 4193762:d=h.vc[f];break;case 4193764:d=h.sc[f];break;case 4193766:d=
|
||||||
h.tc[f];break;case 4193768:d=J(this,h.za,a,b,c);0<=d&&(h.za=d&63,h.D=h.D&-769|(d&3)<<8);break;case 4193770:d=J(this,h.Gb,a,b,c);0<=d&&(h.Gb=d);break;default:return e.m|=16,K(e,4)}break;case 4192512:f=this.j;switch(a&-2){case 4192512:d=J(this,f.o,a,b,c);0<=b&&0<=d&&(f.pa=f.pa&60|d>>4&3,f.o=f.o&-1023|d&1022,f.o&128||gb(this));break;case 4192514:d=J(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=J(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=J(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;
|
h.tc[f];break;case 4193768:d=J(this,h.za,a,b,c);0<=d&&(h.za=d&63,h.D=h.D&-769|(d&3)<<8);break;case 4193770:d=J(this,h.Gb,a,b,c);0<=d&&(h.Gb=d);break;default:return e.m|=16,K(e,4)}break;case 4192512:f=this.j;switch(a&-2){case 4192512:d=J(this,f.o,a,b,c);0<=b&&0<=d&&(f.pa=f.pa&60|d>>4&3,f.o=f.o&-1023|d&1022,f.o&128||gb(this));break;case 4192514:d=J(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=J(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=J(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;
|
||||||
case 4192520:d=J(this,f.pa,a,b,c);0<=d&&(f.pa=d&63,f.o=f.o&-49|(f.pa&3)<<4);break;default:return e.m|=16,K(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.La:(d=J(this,e.La,a,b,c),0<=d&&(70!==e.Ja&&(d&=-49),e.La=d,e.pb[0]=d&4?15:7,e.pb[1]=d&2?15:7,e.pb[3]=d&1?15:7,e.ob&&(f=2,e.La&16&&(f=1),this.g.Ra=this.g.Ra&-8|f)));break;default:return e.m|=16,K(e,4)}break;case 4191424:f=a>>1&31;d=J(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=J(this,e.O[1][f],
|
case 4192520:d=J(this,f.pa,a,b,c);0<=d&&(f.pa=d&63,f.o=f.o&-49|(f.pa&3)<<4);break;default:return e.m|=16,K(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.La:(d=J(this,e.La,a,b,c),0<=d&&(70!==e.Ja&&(d&=-49),e.La=d,e.pb[0]=d&4?15:7,e.pb[1]=d&2?15:7,e.pb[3]=d&1?15:7,e.ob&&(f=2,e.La&16&&(f=1),this.g.Ra=this.g.Ra&-8|f)));break;default:return e.m|=16,K(e,4)}break;case 4191424:f=a>>1&31;d=J(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=J(this,e.O[1][f],
|
||||||
|
|
@ -58,91 +58,91 @@ if(Ha){var mb=new ArrayBuffer(2);(new DataView(mb)).setUint16(0,256,!0);lb=256==
|
||||||
function G(a,b,c,d,f){this.id=ob+=2;this.a=null;this.Xa=a;this.vb=b;this.size=c||0;this.type=d||pb;this.g=d==qb;this.controller=null;Ka(this);this.ra=this.cc=!1;if(c)if(f)this.controller=f,this.a=null,rb(this,f.Ya);else if(Ha)this.f=new ArrayBuffer(c),this.u=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.l=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),rb(this,nb?sb:tb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;rb(this,ub)}else rb(this)}
|
function G(a,b,c,d,f){this.id=ob+=2;this.a=null;this.Xa=a;this.vb=b;this.size=c||0;this.type=d||pb;this.g=d==qb;this.controller=null;Ka(this);this.ra=this.cc=!1;if(c)if(f)this.controller=f,this.a=null,rb(this,f.Ya);else if(Ha)this.f=new ArrayBuffer(c),this.u=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.l=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),rb(this,nb?sb:tb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;rb(this,ub)}else rb(this)}
|
||||||
var pb=0,qb=2,Qa=4,Sa=["NONE","RAM","ROM","VID","H/W"],ob=0;
|
var pb=0,qb=2,Qa=4,Sa=["NONE","RAM","ROM","VID","H/W"],ob=0;
|
||||||
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ha)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.u.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ha)for(b=0;b<a.length;b++)this.u.setInt32(b<<2,a[b],!0);else this.a=a;return this.ra=!0}return!1},v:function(){return 255},G:function(){},C:function(a,b){return this.cb(a++,b++)|this.cb(a,b)<<8},J:function(a,b,c){this.Wa(a++,
|
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ha)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.u.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ha)for(b=0;b<a.length;b++)this.u.setInt32(b<<2,a[b],!0);else this.a=a;return this.ra=!0}return!1},v:function(){return 255},G:function(){},C:function(a,b){return this.cb(a++,b++)|this.cb(a,b)<<8},J:function(a,b,c){this.Wa(a++,
|
||||||
b&255,c++);this.Wa(a,b>>8,c)},aa:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},na:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Ea:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ra=!0},Qa:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ra=!0},T:function(a,b){return this.X(a,b)},ka:function(a,b){return this.la(a,
|
b&255,c++);this.Wa(a,b>>8,c)},$:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},na:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Ea:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ra=!0},Qa:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ra=!0},T:function(a,b){return this.X(a,b)},ka:function(a,b){return this.la(a,
|
||||||
b)},Ca:function(a,b,c){this.g||this.Yb(a,b,c)},Ga:function(a,b,c){this.g||this.Oa(a,b,c)},L:function(a){return this.b[a]},Y:function(a){return this.b[a]},ba:function(a){return this.u.getUint16(a,!0)},ma:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},Ba:function(a,b){this.b[a]=b;this.ra=!0},Da:function(a,b){this.b[a]=b;this.ra=!0},Fa:function(a,b){this.u.setUint16(a,b,!0);this.ra=!0},Pa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.ra=!0}};
|
b)},Ca:function(a,b,c){this.g||this.Yb(a,b,c)},Ga:function(a,b,c){this.g||this.Oa(a,b,c)},L:function(a){return this.b[a]},Y:function(a){return this.b[a]},aa:function(a){return this.u.getUint16(a,!0)},ma:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},Ba:function(a,b){this.b[a]=b;this.ra=!0},Da:function(a,b){this.b[a]=b;this.ra=!0},Fa:function(a,b){this.u.setUint16(a,b,!0);this.ra=!0},Pa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.ra=!0}};
|
||||||
function Ka(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&vb(a,wb,!1),(a.j=c.j)&&xb(a,wb,!1))}function xb(a,b,c){c&&a.j||(a.Wa=!a.g&&b[1]||a.G,a.Fc=!a.g&&b[3]||a.J);if(c||void 0===c)a.Yb=b[1]||a.G,a.Oa=b[3]||a.J}function vb(a,b,c){c&&a.i||(a.cb=b[0]||a.v,a.rb=b[2]||a.C);if(c||void 0===c)a.X=b[0]||a.v,a.la=b[2]||a.C}function rb(a,b){b||(b=yb);vb(a,b,void 0);xb(a,b,void 0)}var yb=[],ub=[G.prototype.aa,G.prototype.Ea,G.prototype.na,G.prototype.Qa],wb=[G.prototype.T,G.prototype.Ca,G.prototype.ka,G.prototype.Ga];
|
function Ka(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&vb(a,wb,!1),(a.j=c.j)&&xb(a,wb,!1))}function xb(a,b,c){c&&a.j||(a.Wa=!a.g&&b[1]||a.G,a.Fc=!a.g&&b[3]||a.J);if(c||void 0===c)a.Yb=b[1]||a.G,a.Oa=b[3]||a.J}function vb(a,b,c){c&&a.i||(a.cb=b[0]||a.v,a.rb=b[2]||a.C);if(c||void 0===c)a.X=b[0]||a.v,a.la=b[2]||a.C}function rb(a,b){b||(b=yb);vb(a,b,void 0);xb(a,b,void 0)}var yb=[],ub=[G.prototype.$,G.prototype.Ea,G.prototype.na,G.prototype.Qa],wb=[G.prototype.T,G.prototype.Ca,G.prototype.ka,G.prototype.Ga];
|
||||||
if(Ha)var tb=[G.prototype.L,G.prototype.Ba,G.prototype.ba,G.prototype.Fa],sb=[G.prototype.Y,G.prototype.Da,G.prototype.ma,G.prototype.Pa];function zb(a,b){w.call(this,"CPU",a,zb);var c=a.multiplier||1;this.kb=a.cycles||b;this.aa=c;this.zb=Math.round(this.kb/1E4)/100;this.la=this.zb*this.aa;this.h.$=!1;this.h.Wb=!1;this.h.Za=a.autoStart;this.h.Nb=!1;this.h.mb=!1;this.ib=this.ma=0;this.jb=a.csStart;this.Ca=a.csInterval;this.Da=a.csStop;this.G=[];this.wb=this.yc.bind(this);E(this)}y(zb);
|
if(Ha)var tb=[G.prototype.L,G.prototype.Ba,G.prototype.aa,G.prototype.Fa],sb=[G.prototype.Y,G.prototype.Da,G.prototype.ma,G.prototype.Pa];function zb(a,b){w.call(this,"CPU",a,zb);var c=a.multiplier||1;this.kb=a.cycles||b;this.$=c;this.zb=Math.round(this.kb/1E4)/100;this.la=this.zb*this.$;this.h.Z=!1;this.h.Wb=!1;this.h.Za=a.autoStart;this.h.Nb=!1;this.h.mb=!1;this.ib=this.ma=0;this.jb=a.csStart;this.Ca=a.csInterval;this.Da=a.csStop;this.G=[];this.wb=this.yc.bind(this);E(this)}y(zb);
|
||||||
var Ab=["power","reset"];l=zb.prototype;l.Ka=function(a,b,c,d){this.v=a;this.B=b;this.I=d;for(b=0;b<Ab.length;b++)(c=this.u[Ab[b]])&&this.v.ea(null,Ab[b],c);this.Ba=null;a=Bb(a,"autoStart");null!=a&&(this.h.Za="true"==a?!0:"false"==a?!1:!!a);E(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.wa=function(a,b){if(!b){if(a&&this.restore){Cb(this);if(!this.restore(a))return!1;Db(this)}else this.reset();this.K("No debugger detected")}Eb(this);return!0};
|
var Ab=["power","reset"];l=zb.prototype;l.Ka=function(a,b,c,d){this.v=a;this.B=b;this.I=d;for(b=0;b<Ab.length;b++)(c=this.u[Ab[b]])&&this.v.da(null,Ab[b],c);this.Ba=null;a=Bb(a,"autoStart");null!=a&&(this.h.Za="true"==a?!0:"false"==a?!1:!!a);E(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.wa=function(a,b){if(!b){if(a&&this.restore){Cb(this);if(!this.restore(a))return!1;Db(this)}else this.reset();this.K("No debugger detected")}Eb(this);return!0};
|
||||||
l.va=function(a){return a?this.save():!0};l.Za=function(){return this.h.Za||void 0===this.u.run?(Fb(this),!0):!1};l.Rb=function(){return 0};function Db(a){void 0===a.jb&&(a.jb=0);void 0===a.Ca&&(a.Ca=-1);void 0===a.Da&&(a.Da=-1);a.h.mb=0<=a.jb&&0<a.Ca;a.h.mb&&(a.ib=0,a.ma=a.jb-a.ba)}
|
l.va=function(a){return a?this.save():!0};l.Za=function(){return this.h.Za||void 0===this.u.run?(Fb(this),!0):!1};l.Rb=function(){return 0};function Db(a){void 0===a.jb&&(a.jb=0);void 0===a.Ca&&(a.Ca=-1);void 0===a.Da&&(a.Da=-1);a.h.mb=0<=a.jb&&0<a.Ca;a.h.mb&&(a.ib=0,a.ma=a.jb-a.aa)}
|
||||||
function M(a,b,c,d){if(a.u[b]){void 0===c&&(a.h.error=!0,a.M("Value for "+b+" is invalid"),Gb(a));var f=a.I&&a.I.b||8;c=!a.h.$||a.h.Nb?8==f?ba(c,d):n(c,d):"--------".substr(0,d||4);a.u[b].textContent!=c&&(a.u[b].textContent=c)}}
|
function M(a,b,c,d){if(a.u[b]){void 0===c&&(a.h.error=!0,a.M("Value for "+b+" is invalid"),Gb(a));var f=a.I&&a.I.b||8;c=!a.h.Z||a.h.Nb?8==f?ba(c,d):n(c,d):"--------".substr(0,d||4);a.u[b].textContent!=c&&(a.u[b].textContent=c)}}
|
||||||
l.ea=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.u[b]=c;a=!0;break;case "run":this.u[b]=c;c.onclick=function(){var a;if(a=d.v)if(a=d.v,a.h.N)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.h.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.h.N);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.nb?" (waiting for notification)":""))+".");a=!1}a&&(d.h.$?Gb(d):Fb(d))};a=!0;break;
|
l.da=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.u[b]=c;a=!0;break;case "run":this.u[b]=c;c.onclick=function(){var a;if(a=d.v)if(a=d.v,a.h.N)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.h.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.h.N);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.nb?" (waiting for notification)":""))+".");a=!1}a&&(d.h.Z?Gb(d):Fb(d))};a=!0;break;
|
||||||
case "speed":this.u[b]=c;a=!0;break;case "setSpeed":this.u[b]=c,c.onclick=function(){Hb(d,d.aa<<1)},c.textContent=this.la.toFixed(2)+"Mhz",a=!0}return a};function Ib(a,b,c){a.ba+=b;c&&(a.Y=a.a=0)}function Jb(a,b){var c=1;b&&1<a.aa&&a.T&&(c=a.T/a.zb);a.Pb=Math.round(1E3/30);a.lb=Math.floor(a.kb/30*c);b||(a.Ea=a.lb);a.Ab=0}function Kb(a){return a.ba+a.L+a.Y-a.a}function Cb(a){a.T=0;a.Qb=0;a.ba=a.L=a.Y=a.a=0;Db(a);Hb(a,1)}
|
case "speed":this.u[b]=c;a=!0;break;case "setSpeed":this.u[b]=c,c.onclick=function(){Hb(d,d.$<<1)},c.textContent=this.la.toFixed(2)+"Mhz",a=!0}return a};function Ib(a,b,c){a.aa+=b;c&&(a.Y=a.a=0)}function Jb(a,b){var c=1;b&&1<a.$&&a.T&&(c=a.T/a.zb);a.Pb=Math.round(1E3/30);a.lb=Math.floor(a.kb/30*c);b||(a.Ea=a.lb);a.Ab=0}function Kb(a){return a.aa+a.L+a.Y-a.a}function Cb(a){a.T=0;a.Qb=0;a.aa=a.L=a.Y=a.a=0;Db(a);Hb(a,1)}
|
||||||
function Hb(a,b){if(void 0!==b&&(.8>a.T/a.la&&(b=1),a.aa=b,b=a.zb*a.aa,a.la!=b)){a.la=b;b=a.la.toFixed(2)+"Mhz";var c=a.u.setSpeed;c&&(c.textContent=b);a.K("target speed: "+b)}Ib(a,a.L);a.L=0;a.J=ia();a.X=0;Jb(a)}function $a(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function ab(a,b){var c;0<=b&&b<a.G.length&&0>a.G[b][0]&&(c=a.kb*a.aa/1E3*(1E3/60),a.G[b][0]=c)}function Lb(a){a.Y-=a.a;a.a=0}
|
function Hb(a,b){if(void 0!==b&&(.8>a.T/a.la&&(b=1),a.$=b,b=a.zb*a.$,a.la!=b)){a.la=b;b=a.la.toFixed(2)+"Mhz";var c=a.u.setSpeed;c&&(c.textContent=b);a.K("target speed: "+b)}Ib(a,a.L);a.L=0;a.J=ia();a.X=0;Jb(a)}function $a(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function ab(a,b){var c;0<=b&&b<a.G.length&&0>a.G[b][0]&&(c=a.kb*a.$/1E3*(1E3/60),a.G[b][0]=c)}function Lb(a){a.Y-=a.a;a.a=0}
|
||||||
l.yc=function(){if(this.h.$){this.Ab>=this.kb&&Jb(this,!0);this.Fa=0;this.Qa=ia();if(this.X){var a=this.Qa-this.X;a>this.Pb&&(this.J+=a,this.J>this.Qa&&(this.J=this.Qa))}try{do{for(var b,c=this.h.mb?1:this.lb,d=this.G.length-1;0<=d;d--){var f=this.G[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Xb(b)}catch(m){if("number"!=typeof m)throw m;}for(var e=this.Y-this.a,a=e,g=this.G.length-1;0<=g;g--){var h=this.G[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Fa+=e;this.L+=e;Ib(this,0,!0);a=e;if(this.h.mb){var k=
|
l.yc=function(){if(this.h.Z){this.Ab>=this.kb&&Jb(this,!0);this.Fa=0;this.Qa=ia();if(this.X){var a=this.Qa-this.X;a>this.Pb&&(this.J+=a,this.J>this.Qa&&(this.J=this.Qa))}try{do{for(var b,c=this.h.mb?1:this.lb,d=this.G.length-1;0<=d;d--){var f=this.G[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Xb(b)}catch(m){if("number"!=typeof m)throw m;}for(var e=this.Y-this.a,a=e,g=this.G.length-1;0<=g;g--){var h=this.G[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Fa+=e;this.L+=e;Ib(this,0,!0);a=e;if(this.h.mb){var k=
|
||||||
!1;this.ib=this.ib+this.Rb()|0;this.ma-=a;0>=this.ma&&(this.ma+=this.Ca,k=!0);0<=this.Da&&this.Da<=Kb(this)&&(this.Ca=this.Da=-1,Db(this),Gb(this),k=!0);k&&this.K(Kb(this)+" cycles: checksum="+n(this.ib))}this.Ea-=e;if(0>=this.Ea){this.Ea+=this.lb;15<=++this.Qb&&(this.v&&this.v.Va(),this.Qb=0);break}}while(this.h.$)}catch(m){Gb(this);Eb(this);this.v&&this.v.stop(ia(),Kb(this));b=m.stack||m.message;this.h.error=!0;this.M(b);return}if(this.h.$){b=setTimeout;c=this.wb;this.X=ia();d=this.Pb;this.Fa&&
|
!1;this.ib=this.ib+this.Rb()|0;this.ma-=a;0>=this.ma&&(this.ma+=this.Ca,k=!0);0<=this.Da&&this.Da<=Kb(this)&&(this.Ca=this.Da=-1,Db(this),Gb(this),k=!0);k&&this.K(Kb(this)+" cycles: checksum="+n(this.ib))}this.Ea-=e;if(0>=this.Ea){this.Ea+=this.lb;15<=++this.Qb&&(this.v&&this.v.Va(),this.Qb=0);break}}while(this.h.Z)}catch(m){Gb(this);Eb(this);this.v&&this.v.stop(ia(),Kb(this));b=m.stack||m.message;this.h.error=!0;this.M(b);return}if(this.h.Z){b=setTimeout;c=this.wb;this.X=ia();d=this.Pb;this.Fa&&
|
||||||
(d=Math.round(d*this.Fa/this.lb));d-=this.X-this.Qa;if(f=this.X-this.J)this.T=Math.round(this.L/(10*f))/100,864E5<=f&&(this.ba=0,Hb(this));if(0>d||this.T<this.la)-1E3>d&&(this.J-=d),d=0;this.Ab+=this.Fa;this.X+=d;b(c,d)}}};function Fb(a){var b;a.h.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.$)a.K(a.toString()+" busy");else{Hb(a);a.h.$=!0;a.h.Wb=!0;a.Ba&&a.Ba.start();if(b=a.u.run)b.textContent="Halt";a.v&&a.v.start(a.J,Kb(a));Eb(a,!0);setTimeout(a.wb,0)}}l.Xb=function(){return 0};
|
(d=Math.round(d*this.Fa/this.lb));d-=this.X-this.Qa;if(f=this.X-this.J)this.T=Math.round(this.L/(10*f))/100,864E5<=f&&(this.aa=0,Hb(this));if(0>d||this.T<this.la)-1E3>d&&(this.J-=d),d=0;this.Ab+=this.Fa;this.X+=d;b(c,d)}}};function Fb(a){var b;a.h.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.Z)a.K(a.toString()+" busy");else{Hb(a);a.h.Z=!0;a.h.Wb=!0;a.Ba&&a.Ba.start();if(b=a.u.run)b.textContent="Halt";a.v&&a.v.start(a.J,Kb(a));Eb(a,!0);setTimeout(a.wb,0)}}l.Xb=function(){return 0};
|
||||||
function Gb(a){if(a.h.$){Lb(a);Ib(a,a.L);a.L=0;a.h.$=!1;a.Ba&&a.Ba.stop();var b=a.u.run;b&&(b.textContent="Run");a.v&&a.v.stop(ia(),Kb(a));Eb(a)}a.h.complete=void 0}function Eb(a,b){a.v&&a.v.Va(b)}
|
function Gb(a){if(a.h.Z){Lb(a);Ib(a,a.L);a.L=0;a.h.Z=!1;a.Ba&&a.Ba.stop();var b=a.u.run;b&&(b.textContent="Run");a.v&&a.v.stop(ia(),Kb(a));Eb(a)}a.h.complete=void 0}function Eb(a,b){a.v&&a.v.Va(b)}
|
||||||
function Mb(a){this.gc=a.resetAddr||0;zb.call(this,a,1E6);this.Jb=0;this.decode=Nb.bind(this);this.i=65536;this.b=32768;this.f=65535;this.j=32768;this.w=15;this.c=[0,0,0,0,0,0,0,this.gc];this.Ma=[0,0,0,0,0,0];this.ga=[0,0,0,0];this.Pa=this.l=0;this.O=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,
|
function Mb(a){this.gc=a.resetAddr||0;zb.call(this,a,1E6);this.Jb=0;this.decode=Nb.bind(this);this.i=65536;this.b=32768;this.f=65535;this.j=32768;this.w=15;this.c=[0,0,0,0,0,0,0,this.gc];this.Ma=[0,0,0,0,0,0];this.ga=[0,0,0,0];this.Pa=this.l=0;this.O=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.hb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Cb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.s=0;this.Ja=70;this.na=-1;this.Ga=0;Ob(this);this.h.complete=this.h.ac=!1}y(Mb,zb);l=Mb.prototype;l.reset=function(){this.h.$&&Gb(this);Ob(this);Cb(this);this.h.error=!1;this.parent.reset.call(this)};
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.hb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Cb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.s=0;this.Ja=70;this.na=-1;this.Ga=0;Ob(this);this.h.complete=this.h.ac=!1}y(Mb,zb);l=Mb.prototype;l.reset=function(){this.h.Z&&Gb(this);Ob(this);Cb(this);this.h.error=!1;this.parent.reset.call(this)};
|
||||||
function Ob(a){a.ya=255;a.m=0;a.Fb=0;a.C=0;a.xa=0;a.tb=0;a.La=0;a.ob=0;a.Oa=0;a.pb=[7,7,7,7];a.g=[];a.ia=2;bb(a)}function bb(a){a.ob?(a.Ib=65536,a.ka=a.fc,a.rb=a.Z):(a.Ib=0,a.ka=a.ec,a.rb=a.sb)}l.Rb=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.ba,this.aa]);a.set(2,Va(this.B));return a.data()};
|
function Ob(a){a.ya=255;a.m=0;a.Fb=0;a.C=0;a.xa=0;a.tb=0;a.La=0;a.ob=0;a.Oa=0;a.pb=[7,7,7,7];a.g=[];a.ia=2;bb(a)}function bb(a){a.ob?(a.Ib=65536,a.ka=a.fc,a.rb=a.fa):(a.Ib=0,a.ka=a.ec,a.rb=a.sb)}l.Rb=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.aa,this.$]);a.set(2,Va(this.B));return a.data()};
|
||||||
l.restore=function(a){var b=a[1];this.ba=b[1];Hb(this,b[3]);a:{b=this.B;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.J){for(var e=0,g=Array(b.J),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.b[d];if(!e||!e.restore(f)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
l.restore=function(a){var b=a[1];this.aa=b[1];Hb(this,b[3]);a:{b=this.B;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.J){for(var e=0,g=Array(b.J),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.b[d];if(!e||!e.restore(f)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||||
l.ea=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.u[b]=c;this.Jb++;a=!0;break;default:a=this.parent.ea.call(this,a,b,c)}return a};
|
l.da=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.u[b]=c;this.Jb++;a=!0;break;default:a=this.parent.da.call(this,a,b,c)}return a};
|
||||||
l.Va=function(a){if(this.Jb&&(a||!this.h.$||this.h.Nb)){for(a=0;a<this.c.length;a++)M(this,"R"+a,this.c[a]);a=cb(this);M(this,"PS",a);M(this,"NF",a&8?1:0,1);M(this,"ZF",a&4?1:0,1);M(this,"VF",a&2?1:0,1);M(this,"CF",a&1?1:0,1)}if(a=this.u.speed)a.textContent=this.h.$&&this.T?this.T.toFixed(2)+"Mhz":"Stopped"};function O(a){return a.i&65536?1:0}l.sa=function(){return this.j&32768?8:0};
|
l.Va=function(a){if(this.Jb&&(a||!this.h.Z||this.h.Nb)){for(a=0;a<this.c.length;a++)M(this,"R"+a,this.c[a]);a=cb(this);M(this,"PS",a);M(this,"NF",a&8?1:0,1);M(this,"ZF",a&4?1:0,1);M(this,"VF",a&2?1:0,1);M(this,"CF",a&1?1:0,1)}if(a=this.u.speed)a.textContent=this.h.Z&&this.T?this.T.toFixed(2)+"Mhz":"Stopped"};function O(a){return a.i&65536?1:0}l.sa=function(){return this.j&32768?8:0};function Pb(a){var b=a.fa(a.c[7]);a.c[7]=a.c[7]+2&65535;return b}
|
||||||
function I(a,b,c,d,f){for(var e=a.g.length;0<e--;)if(a.g[e].Ac===d){0<e&&(a.g[e-1].fa+=a.g[e].fa);a.g.splice(e,1);break}if(0<=b){2===a.Ga&&(b=0,a.Ga=0,setTimeout(a.wb,0));for(e=a.g.length;0<e--;){if(a.g[e].fa>b){a.g[e].fa-=b;break}b-=a.g[e].fa}a.g.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.ia=2}function cb(a){return a.w=a.w&63728|a.sa()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)}
|
function I(a,b,c,d,f){for(var e=a.g.length;0<e--;)if(a.g[e].Ac===d){0<e&&(a.g[e-1].ea+=a.g[e].ea);a.g.splice(e,1);break}if(0<=b){2===a.Ga&&(b=0,a.Ga=0,setTimeout(a.wb,0));for(e=a.g.length;0<e--;){if(a.g[e].ea>b){a.g[e].ea-=b;break}b-=a.g[e].ea}a.g.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.ia=2}function cb(a){return a.w=a.w&63728|a.sa()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)}
|
||||||
function db(a,b){a.j=b<<12;a.f=~b&4;a.b=b<<14;a.i=b<<16;if((b^a.w)&2048)for(var c=a.Ma.length;0<=--c;){var d=a.c[c];a.c[c]=a.Ma[c];a.Ma[c]=d}a.l=b>>14&3;c=a.w>>14&3;a.l!=c&&(a.ga[c]=a.c[6],a.c[6]=a.ga[a.l]);a.ia=2;a.w=b}function P(a,b,c){a.s&128||(a.j=a.f=a.i=b,a.b=c||0)}function Q(a,b){a.s&128||(a.j=a.f=b,a.b=0)}function Pb(a,b,c,d){a.s&128||(a.j=a.f=a.i=b,a.b=(c^b)&(d^b))}function R(a,b){a.s&128||(a.j=a.f=a.i=b,a.b=a.j^a.i>>1)}function Qb(a,b,c,d){a.s&128||(a.j=a.f=a.i=b,a.b=(c^d)&(d^b))}
|
function db(a,b){a.j=b<<12;a.f=~b&4;a.b=b<<14;a.i=b<<16;if((b^a.w)&2048)for(var c=a.Ma.length;0<=--c;){var d=a.c[c];a.c[c]=a.Ma[c];a.Ma[c]=d}a.l=b>>14&3;c=a.w>>14&3;a.l!=c&&(a.ga[c]=a.c[6],a.c[6]=a.ga[a.l]);a.ia=2;a.w=b}function P(a,b){a.s&128||(a.j=a.f=b,a.b=0)}function Q(a,b,c){a.s&128||(a.j=a.f=a.i=b,a.b=c||0)}function Qb(a,b,c,d){a.s&128||(a.j=a.f=a.i=b,a.b=(c^b)&(d^b))}function R(a,b){a.s&128||(a.j=a.f=a.i=b,a.b=a.j^a.i>>1)}function Rb(a,b,c,d){a.s&128||(a.j=a.f=a.i=b,a.b=(c^d)&(d^b))}
|
||||||
function K(a,b){var c=!1;0>a.na?a.na=cb(a):a.l||(b=4,c=!0);a.C&57344||(a.xa=63222,a.tb=b);a.l=0;var d=a.Z(b|65536),f=a.Z(b+2&65535|65536);db(a,f&-12289|a.na>>2&12288);c&&(a.m|=4,a.c[6]=4);Rb(a,a.na);Rb(a,a.c[7]);a.c[7]=d;a.s&=-113;a.na=-1;throw b;}function Sb(a){var b=Tb(a),c=Tb(a)&-1793;a.w&49152&&(c=c&-225|a.w&63712);a.c[7]=b&65535;db(a,c);a.s&=-17}function kb(a,b){var c=b>>13&31;31>c?a.La&32&&(b=a.hb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
function K(a,b){var c=!1;0>a.na?a.na=cb(a):a.l||(b=4,c=!0);a.C&57344||(a.xa=63222,a.tb=b);a.l=0;var d=a.fa(b|65536),f=a.fa(b+2&65535|65536);db(a,f&-12289|a.na>>2&12288);c&&(a.m|=4,a.c[6]=4);Sb(a,a.na);Sb(a,a.c[7]);a.c[7]=d;a.s&=-113;a.na=-1;throw b;}function Tb(a){var b=Ub(a),c=Ub(a)&-1793;a.w&49152&&(c=c&-225|a.w&63712);a.c[7]=b&65535;db(a,c);a.s&=-17}function kb(a,b){var c=b>>13&31;31>c?a.La&32&&(b=a.hb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||||
function Ub(a,b,c){var d,f,e,g=0;if(c&a.ob){d=b>>13&a.pb[a.l];f=a.O[a.l][d];e=(a.O[a.l][d+16]<<6)+(b&8191)&4194303;a.La&16?3932160<=e&&4186112>e&&(e=kb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.m|=32,K(a,4)),e&1&&!(c&1)&&(a.m|=64,K(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|=
|
function Vb(a,b,c){var d,f,e,g=0;if(c&a.ob){d=b>>13&a.pb[a.l];f=a.O[a.l][d];e=(a.O[a.l][d+16]<<6)+(b&8191)&4194303;a.La&16?3932160<=e&&4186112>e&&(e=kb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.m|=32,K(a,4)),e&1&&!(c&1)&&(a.m|=64,K(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|=
|
||||||
16384));a.O[a.l][d]=f;if(4194170!==e||a.l)a.Oa=a.l,a.Pa=d;g&&(g&57344&&(0<=a.na&&(g|=128),a.C&57344||(a.C=a.C|g|a.Oa<<5|a.Pa<<1),K(a,168)),a.C&61440||!(4191360>e||4194239<e)||(a.C|=4096,a.C&512&&(a.s|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.m|=64,K(a,4));return e}l.sb=function(a){if(4194304<=a)a=this.c[a-4194304];else if(0<=a){var b=this.B,c=a&b.i,d=(a&b.j)>>>b.f;a=c!=b.i?b.b[d].rb(c,a):b.b[d++].cb(c,a)|b.b[d&b.L].cb(0,a+1)<<8}return a};l.Z=function(a){return this.sb(Ub(this,a,2))};
|
16384));a.O[a.l][d]=f;if(4194170!==e||a.l)a.Oa=a.l,a.Pa=d;g&&(g&57344&&(0<=a.na&&(g|=128),a.C&57344||(a.C=a.C|g|a.Oa<<5|a.Pa<<1),K(a,168)),a.C&61440||!(4191360>e||4194239<e)||(a.C|=4096,a.C&512&&(a.s|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.m|=64,K(a,4));return e}l.sb=function(a){if(4194304<=a)a=this.c[a-4194304];else if(0<=a){var b=this.B,c=a&b.i,d=(a&b.j)>>>b.f;a=c!=b.i?b.b[d].rb(c,a):b.b[d++].cb(c,a)|b.b[d&b.L].cb(0,a+1)<<8}return a};l.fa=function(a){return this.sb(Vb(this,a,2))};
|
||||||
function Tb(a){var b=a.Z(a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Rb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.C&57344||(a.xa=a.xa<<8|246);!a.l&&c<=a.ya&&4<c&&(c<=a.ya-32?(a.m|=4,a.c[6]=4,K(a,4)):(a.m|=8,a.s|=4));c=Ub(a,c|65536,4);Ua(a.B,c,b&65535)}
|
function Ub(a){var b=a.fa(a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Sb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.C&57344||(a.xa=a.xa<<8|246);!a.l&&c<=a.ya&&4<c&&(c<=a.ya-32?(a.m|=4,a.c[6]=4,K(a,4)):(a.m|=8,a.s|=4));c=Vb(a,c|65536,4);Ua(a.B,c,b&65535)}
|
||||||
function Vb(a,b,c){var d,f,e=b&7,g=c&8?0:a.Ib;switch(b>>3&7){case 0:K(a,4);break;case 1:return 6===e&&!a.l&&c&4&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32||65534<=a.c[6]?(a.m|=4,a.c[6]=4,K(a,4)):(a.m|=8,a.s|=64)),7===e?a.c[e]:a.c[e]|g;case 2:f=2;d=a.c[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.c[e];7!==e&&(d|=g);if(0>(d=a.Z(d)))return d;d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.c[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.c[e]-2&65535;7!==e&&(d|=g);if(0>(d=a.Z(d)))return d;
|
function Wb(a,b,c){var d,f,e=b&7,g=c&8?0:a.Ib;switch(b>>3&7){case 0:K(a,4);break;case 1:return 6===e&&!a.l&&c&4&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32||65534<=a.c[6]?(a.m|=4,a.c[6]=4,K(a,4)):(a.m|=8,a.s|=64)),7===e?a.c[e]:a.c[e]|g;case 2:f=2;d=a.c[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.c[e];7!==e&&(d|=g);d=a.fa(d);d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.c[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.c[e]-2&65535;7!==e&&(d|=g);d=a.fa(d)|g;break;case 6:return d=Pb(a),
|
||||||
d|=g;break;case 6:if(0>(d=a.Z(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return d|g;case 7:if(0>(d=a.Z(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return 0>(d=a.Z(d|65536))?d:d|g}a.c[e]=a.c[e]+f&65535;!g||a.C&57344||(a.xa=a.xa<<8|f<<3&248|e);6==e&&!a.l&&c&4&&0>=f&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32?(a.m|=4,a.c[6]=4,K(a,4)):(a.m|=8,a.s|=64));return d}l.ec=function(a,b){return Vb(this,a,b)};l.fc=function(a,b){return Ub(this,Vb(this,a,b),b)};
|
d=d+a.c[e]&65535|g;case 7:return d=Pb(a),d=d+a.c[e]&65535,d=a.fa(d|65536)|g}a.c[e]=a.c[e]+f&65535;!g||a.C&57344||(a.xa=a.xa<<8|f<<3&248|e);6==e&&!a.l&&c&4&&0>=f&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32?(a.m|=4,a.c[6]=4,K(a,4)):(a.m|=8,a.s|=64));return d}l.ec=function(a,b){return Wb(this,a,b)};l.fc=function(a,b){return Vb(this,Wb(this,a,b),b)};
|
||||||
function Wb(a,b,c){b&56?(b=Vb(a,b,0),c&65536||61440!==(a.w&61440)&&(b&=65535),a.l=a.w>>12&3,c=a.Z(b|c&65536),a.l=a.w>>14&3):(c=b&7,c=6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]:a.ga[a.w>>12&3]);return c}function Xb(a,b,c,d){a.C&57344||(a.xa=22);b&56?(b=Vb(a,b,0),c&65536||(b&=65535),a.l=a.w>>12&3,b=Ub(a,b|c&65536,4),a.l=a.w>>14&3,Ua(a.B,b,d&65535)):(c=b&7,6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]=d:a.ga[a.w>>12&3]=d)}function S(a,b){return b&56?a.rb(Vb(a,b,2)):a.c[b&7]}
|
function Xb(a,b,c){b&56?(b=Wb(a,b,0),c&65536||61440!==(a.w&61440)&&(b&=65535),a.l=a.w>>12&3,c=a.fa(b|c&65536),a.l=a.w>>14&3):(c=b&7,c=6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]:a.ga[a.w>>12&3]);return c}function Yb(a,b,c,d){a.C&57344||(a.xa=22);b&56?(b=Wb(a,b,0),c&65536||(b&=65535),a.l=a.w>>12&3,b=Vb(a,b|c&65536,4),a.l=a.w>>14&3,Ua(a.B,b,d&65535)):(c=b&7,6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]=d:a.ga[a.w>>12&3]=d)}function S(a,b){return b&56?a.rb(Wb(a,b,2)):a.c[b&7]}
|
||||||
function T(a,b){b&56?(b=a.ka(b,3),a=Ta(a.B,b)):a=a.c[b&7]&255;return a}function U(a,b,c,d){b&56?(b=a.ka(b,6),c=d.call(a,c,a.sb(b)),Ua(a.B,b,c&65535)):(b&=7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.ka(b,7),c=d.call(a,c,Ta(a.B,b)),a=a.B,a.b[(b&a.j)>>>a.f].Wa(b&a.i,c&255,b)):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}function Yb(a,b,c){b&56?(b=a.ka(b,4),Ua(a.B,b,c&65535)):a.c[b&7]=c&65535;return c}
|
function T(a,b){b&56?(b=a.ka(b,3),a=Ta(a.B,b)):a=a.c[b&7]&255;return a}function U(a,b,c,d){b&56?(b=a.ka(b,6),c=d.call(a,c,a.sb(b)),Ua(a.B,b,c&65535)):(b&=7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.ka(b,7),c=d.call(a,c,Ta(a.B,b)),a=a.B,a.b[(b&a.j)>>>a.f].Wa(b&a.i,c&255,b)):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}function Zb(a,b,c){b&56?(b=a.ka(b,4),Ua(a.B,b,c&65535)):a.c[b&7]=c&65535;return c}
|
||||||
function Zb(a,b,c,d){b&56?(d=a.ka(b,5),a=a.B,a.b[(d&a.j)>>>a.f].Wa(d&a.i,c&255,d)):(b&=7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b){a.c[7]=a.c[7]+(b<<24>>23)&65535}
|
function $b(a,b,c,d){b&56?(d=a.ka(b,5),a=a.B,a.b[(d&a.j)>>>a.f].Wa(d&a.i,c&255,d)):(b&=7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b){a.c[7]=a.c[7]+(b<<24>>23)&65535}
|
||||||
l.Xb=function(a){this.h.complete=!0;this.h.ac=!1;this.h.Wb=!1;this.Y=this.a=a;do{this.s&112&&(this.s&32?K(this,168):this.s&64?K(this,4):this.s&16&&K(this,12),this.s&=-113);if(a&&this.ia)if(1==this.ia)this.ia=2;else{this.ia=0;for(var b=null,c=this.Fb&224,d=this.g.length;0<=--d;){if(0<this.g[d].fa){this.g[d].fa--;this.ia=2;break}if(this.g[d].Lb){if(!this.g[d].Lb()){this.g.splice(d,1);continue}this.g[d].Lb=null}this.g[d].jc>c&&(c=this.g[d].jc,b=this.g[d],this.g.splice(d,1))}c>(this.w&224)&&(b?K(this,
|
l.Xb=function(a){this.h.complete=!0;this.h.ac=!1;this.h.Wb=!1;this.Y=this.a=a;do{this.s&112&&(this.s&32?K(this,168):this.s&64?K(this,4):this.s&16&&K(this,12),this.s&=-113);if(a&&this.ia)if(1==this.ia)this.ia=2;else{this.ia=0;for(var b=null,c=this.Fb&224,d=this.g.length;0<=--d;){if(0<this.g[d].ea){this.g[d].ea--;this.ia=2;break}if(this.g[d].Lb){if(!this.g[d].Lb()){this.g.splice(d,1);continue}this.g[d].Lb=null}this.g[d].jc>c&&(c=this.g[d].jc,b=this.g[d],this.g.splice(d,1))}c>(this.w&224)&&(b?K(this,
|
||||||
b.Ac):K(this,160))}this.C&57344||(this.xa=0,this.tb=this.c[7]);this.s=this.w&16;b=this.Z(this.c[7]);0<=b&&(this.c[7]=this.c[7]+2&65535);this.decode(b)}while(0<this.a);return this.h.complete?this.Y-this.a:void 0===this.h.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Mb(d);B(d,c)}});function $b(a,b){var c=b+a;Pb(this,c,a,b);return c&65535}function ac(a,b){var c=b+a;Pb(this,c<<8,a<<8,b<<8);return c&255}
|
b.Ac):K(this,160))}this.C&57344||(this.xa=0,this.tb=this.c[7]);this.s=this.w&16;this.decode(Pb(this))}while(0<this.a);return this.h.complete?this.Y-this.a:void 0===this.h.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Mb(d);B(d,c)}});function ac(a,b){var c=b+a;Qb(this,c,a,b);return c&65535}function bc(a,b){var c=b+a;Qb(this,c<<8,a<<8,b<<8);return c&255}function cc(a,b){a=b<<1;R(this,a);return a&65535}
|
||||||
function bc(a,b){a=b<<1;R(this,a);return a&65535}function cc(a,b){a=b<<1;R(this,a<<8);return a&255}function dc(a,b){a=b&32768|b>>1|b<<16;R(this,a);return a&65535}function ec(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function fc(a,b){a=b&~a;Q(this,a);return a}function gc(a,b){a=b&~a;Q(this,a<<8);return a}function hc(a,b){a|=b;Q(this,a);return a}function ic(a,b){a|=b;Q(this,a<<8);return a}function jc(a,b){a=~b|65536;P(this,a);return a&65535}
|
function dc(a,b){a=b<<1;R(this,a<<8);return a&255}function ec(a,b){a=b&32768|b>>1|b<<16;R(this,a);return a&65535}function fc(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function gc(a,b){a=b&~a;P(this,a);return a}function hc(a,b){a=b&~a;P(this,a<<8);return a}function ic(a,b){a|=b;P(this,a);return a}function jc(a,b){a|=b;P(this,a<<8);return a}function kc(a,b){a=~b|65536;Q(this,a);return a&65535}function lc(a,b){a=~b|256;Q(this,a<<8);return a&255}
|
||||||
function kc(a,b){a=~b|256;P(this,a<<8);return a&255}function lc(a,b){a=b-a;this.s&128||(this.j=this.f=a,this.b=b&(b^a));return a&65535}function mc(a,b){a=b-a;var c=a<<8;b<<=8;this.s&128||(this.j=this.f=c,this.b=b&(b^c));return a&255}function nc(a,b){a=b+a;this.s&128||(this.j=this.f=a,this.b=a&(b^a));return a&65535}function oc(a,b){a=b+a;var c=a<<8;this.s&128||(this.j=this.f=c,this.b=c&(b<<8^c));return a&255}function pc(a,b){a=-b;P(this,a,a&b&32768);return a&65535}
|
function mc(a,b){a=b-a;this.s&128||(this.j=this.f=a,this.b=b&(b^a));return a&65535}function nc(a,b){a=b-a;var c=a<<8;b<<=8;this.s&128||(this.j=this.f=c,this.b=b&(b^c));return a&255}function oc(a,b){a=b+a;this.s&128||(this.j=this.f=a,this.b=a&(b^a));return a&65535}function pc(a,b){a=b+a;var c=a<<8;this.s&128||(this.j=this.f=c,this.b=c&(b<<8^c));return a&255}function qc(a,b){a=-b;Q(this,a,a&b&32768);return a&65535}function rc(a,b){a=-b;Q(this,a<<8,(a&b&128)<<8);return a&255}
|
||||||
function qc(a,b){a=-b;P(this,a<<8,(a&b&128)<<8);return a&255}function rc(a,b){a=b<<1|this.i>>16&1;R(this,a);return a&65535}function sc(a,b){a=b<<1|this.i>>16&1;R(this,a<<8);return a&255}function tc(a,b){a=(this.i&65536|b)>>1|b<<16;R(this,a);return a&65535}function uc(a,b){a=((this.i&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function vc(a,b){var c=b-a;Qb(this,c,a,b);return c&65535}function wc(a,b){var c=b-a;Qb(this,c<<8,a<<8,b<<8);return c&255}function xc(a,b){a^=b;Q(this,a);return a&65535}
|
function sc(a,b){a=b<<1|this.i>>16&1;R(this,a);return a&65535}function tc(a,b){a=b<<1|this.i>>16&1;R(this,a<<8);return a&255}function uc(a,b){a=(this.i&65536|b)>>1|b<<16;R(this,a);return a&65535}function vc(a,b){a=((this.i&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function wc(a,b){var c=b-a;Rb(this,c,a,b);return c&65535}function xc(a,b){var c=b-a;Rb(this,c<<8,a<<8,b<<8);return c&255}function yc(a,b){a^=b;P(this,a);return a&65535}
|
||||||
function yc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a];c&32768&&(c|=4294901760);this.i=this.b=0;b&=63;b&32?(b=64-b,16<b&&(b=16),this.i=c<<17-b,c>>=b):b&&(16<b?(this.b=c,c=0):(this.i=c<<=b,(b=c>>15&65535)&&65535!==b&&(this.b=32768)));this.c[a]=c&65535;this.j=this.f=c;--this.a}
|
function zc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a];c&32768&&(c|=4294901760);this.i=this.b=0;b&=63;b&32?(b=64-b,16<b&&(b=16),this.i=c<<17-b,c>>=b):b&&(16<b?(this.b=c,c=0):(this.i=c<<=b,(b=c>>15&65535)&&65535!==b&&(this.b=32768)));this.c[a]=c&65535;this.j=this.f=c;--this.a}
|
||||||
function zc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.i=this.b=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.i=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.i=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.b=32768)):d=c;this.c[a]=d>>16&65535;this.c[a|1]=d&65535;this.j=d>>16;this.f=d>>16|d;--this.a}function X(a){a&1&&(this.i=0);a&2&&(this.b=0);a&4&&(this.f=1);a&8&&(this.j=0);--this.a}
|
function Ac(a){var b=S(this,a);a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.i=this.b=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.i=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.i=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.b=32768)):d=c;this.c[a]=d>>16&65535;this.c[a|1]=d&65535;this.j=d>>16;this.f=d>>16|d;--this.a}function X(a){a&1&&(this.i=0);a&2&&(this.b=0);a&4&&(this.f=1);a&8&&(this.j=0);--this.a}
|
||||||
function Ac(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.i=this.b=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.c[a]=d&65535,this.c[a|1]=c-d*b&65535,this.f=d>>16|d,this.j=d>>16):(this.b=32768,this.f=d>>15|d,this.j=c>>16,-1===b&&65534===this.c[a]&&(this.c[a]=this.c[a|1]=1))}else this.f=this.j=0,this.b=32768,this.i=65536;--this.a}function Bc(a){var b=Vb(this,a,8);a=a>>6&7;Rb(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=b;--this.a}
|
function Bc(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.i=this.b=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.c[a]=d&65535,this.c[a|1]=c-d*b&65535,this.f=d>>16|d,this.j=d>>16):(this.b=32768,this.f=d>>15|d,this.j=c>>16,-1===b&&65534===this.c[a]&&(this.c[a]=this.c[a|1]=1))}else this.f=this.j=0,this.b=32768,this.i=65536;--this.a}function Cc(a){var b=Wb(this,a,8);a=a>>6&7;Sb(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=b;--this.a}
|
||||||
function Cc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.j=b>>16;this.f=this.j|b;this.b=0;this.i=-32768>b||32767<b?65536:0;--this.a}function Dc(){--this.a}function Y(a){a&1&&(this.i=65536);a&2&&(this.b=32768);a&4&&(this.f=0);a&8&&(this.j=32768);--this.a}function Ec(a){var b=(a&448)>>6;if(this.c[b]=this.c[b]-1&65535)this.c[7]=this.c[7]-((a&63)<<1)&65535;--this.a}
|
function Dc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.j=b>>16;this.f=this.j|b;this.b=0;this.i=-32768>b||32767<b?65536:0;--this.a}function Ec(){--this.a}function Y(a){a&1&&(this.i=65536);a&2&&(this.b=32768);a&4&&(this.f=0);a&8&&(this.j=32768);--this.a}function Fc(a){var b=(a&448)>>6;if(this.c[b]=this.c[b]-1&65535)this.c[7]=this.c[7]-((a&63)<<1)&65535;--this.a}
|
||||||
function Fc(a){U(this,a,S(this,(a&448)>>6),xc);--this.a}function Z(){K(this,8)}function Nb(a){Gc[a>>12].call(this,a)}
|
function Gc(a){U(this,a,S(this,(a&448)>>6),yc);--this.a}function Z(){K(this,8)}function Nb(a){Hc[a>>12].call(this,a)}
|
||||||
var Gc=[function(a){Hc[a>>8&15].call(this,a)},function(a){Q(this,Yb(this,a,S(this,a>>6)));--this.a},function(a){var b=S(this,a>>6);a=S(this,a);Qb(this,b-a,a,b);--this.a},function(a){Q(this,S(this,a>>6)&S(this,a));--this.a},function(a){U(this,a,S(this,a>>6),fc);--this.a},function(a){U(this,a,S(this,a>>6),hc);--this.a},function(a){U(this,a,S(this,a>>6),$b);--this.a},function(a){Ic[a>>8&15].call(this,a)},function(a){Jc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);Q(this,Zb(this,a,b,1)<<8);--this.a},
|
var Hc=[function(a){Ic[a>>8&15].call(this,a)},function(a){P(this,Zb(this,a,S(this,a>>6)));--this.a},function(a){var b=S(this,a>>6);a=S(this,a);Rb(this,b-a,a,b);--this.a},function(a){P(this,S(this,a>>6)&S(this,a));--this.a},function(a){U(this,a,S(this,a>>6),gc);--this.a},function(a){U(this,a,S(this,a>>6),ic);--this.a},function(a){U(this,a,S(this,a>>6),ac);--this.a},function(a){Jc[a>>8&15].call(this,a)},function(a){Kc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);P(this,$b(this,a,b,1)<<8);--this.a},
|
||||||
function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Qb(this,b-a,a,b);--this.a},function(a){Q(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){V(this,a,T(this,a>>6),gc);--this.a},function(a){V(this,a,T(this,a>>6),ic);--this.a},function(a){U(this,a,S(this,a>>6),vc);--this.a},Z],Hc=[function(a){Kc[a>>4&15].call(this,a)},function(a){W(this,a);--this.a},function(a){this.f&65535&&W(this,a);--this.a},function(a){this.f&65535||W(this,a);--this.a},function(a){!this.sa()==!(this.b&32768)&&W(this,a);--this.a},
|
function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Rb(this,b-a,a,b);--this.a},function(a){P(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){V(this,a,T(this,a>>6),hc);--this.a},function(a){V(this,a,T(this,a>>6),jc);--this.a},function(a){U(this,a,S(this,a>>6),wc);--this.a},Z],Ic=[function(a){Lc[a>>4&15].call(this,a)},function(a){W(this,a);--this.a},function(a){this.f&65535&&W(this,a);--this.a},function(a){this.f&65535||W(this,a);--this.a},function(a){!this.sa()==!(this.b&32768)&&W(this,a);--this.a},
|
||||||
function(a){!this.sa()!=!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.sa()==!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.sa()==!(this.b&32768)||W(this,a);--this.a},Bc,Bc,function(a){Lc[a>>6&3].call(this,a)},function(a){Mc[a>>6&3].call(this,a)},function(a){Nc[a>>6&3].call(this,a)},function(a){Oc[a>>6&3].call(this,a)},Z,Z],Kc=[function(a){Pc[a&15].call(this,a)},Z,Z,Z,Z,Z,Z,Z,function(a){var b=Tb(this);a&=7;this.c[7]=this.c[a];this.c[a]=b;--this.a},function(a){this.w&
|
function(a){!this.sa()!=!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.sa()==!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.sa()==!(this.b&32768)||W(this,a);--this.a},Cc,Cc,function(a){Mc[a>>6&3].call(this,a)},function(a){Nc[a>>6&3].call(this,a)},function(a){Oc[a>>6&3].call(this,a)},function(a){Pc[a>>6&3].call(this,a)},Z,Z],Mc=[function(a){Q(this,Zb(this,a,0));--this.a},function(a){U(this,a,0,kc);--this.a},function(a){U(this,a,1,oc);--this.a},function(a){U(this,
|
||||||
49152||(this.w=this.w&-2017|(a&7)<<5,this.ia=1);--this.a},function(a){Qc[a&15].call(this,a)},function(a){Rc[a&15].call(this,a)},Z,Z,Z,Z],Qc=[Dc,function(){this.i=0;--this.a},function(){this.b=0;--this.a},X,function(){this.f=1;--this.a},X,X,X,function(){this.j=0;--this.a},X,X,X,X,X,X,X],Rc=[Dc,function(){this.i=65536;--this.a},function(){this.b=32768;--this.a},Y,function(){this.f=0;--this.a},Y,Y,Y,function(){this.j=32768;--this.a},Y,Y,Y,Y,Y,Y,Y],Pc=[function(){this.w&49152?(this.m|=128,K(this,4)):
|
a,1,mc);--this.a}],Nc=[function(a){U(this,a,0,qc);--this.a},function(a){U(this,a,O(this)?1:0,ac);--this.a},function(a){U(this,a,O(this)?1:0,wc);--this.a},function(a){a=S(this,a);Q(this,a);--this.a}],Oc=[function(a){U(this,a,0,uc);--this.a},function(a){U(this,a,0,sc);--this.a},function(a){U(this,a,0,ec);--this.a},function(a){U(this,a,0,cc);--this.a}],Pc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=this.fa(a|65536);this.c[7]=this.c[5]&65535;this.c[6]=a+2&65535;this.c[5]=b;--this.a},function(a){a=
|
||||||
(this.Ga=3,Lb(this));--this.a},function(){for(var a=0,b=this.g.length;0<=--b;)a+=this.g[b].fa,this.g[b].fa=0;a||0!==this.Ga||(this.Ga=2,Lb(this));--this.a},function(){Sb(this);this.s|=this.w&16;--this.a},function(){K(this,12);--this.a},function(){K(this,16);--this.a},function(){this.w&49152||(Ob(this),this.B.reset());--this.a},function(){Sb(this);--this.a},Z,Z,Z,Z,Z,Z,Z,Z,Z],Ic=[Cc,Cc,Ac,Ac,yc,yc,zc,zc,Fc,Fc,Z,Z,Z,Z,Ec,Ec],Jc=[function(a){this.sa()||W(this,a);--this.a},function(a){this.sa()&&W(this,
|
Xb(this,a,0);Sb(this,a);P(this,a);--this.a},function(a){var b=Ub(this);Yb(this,a,0,b);P(this,b);--this.a},function(a){P(this,Zb(this,a,this.sa?65535:0));--this.a}],Lc=[function(a){Qc[a&15].call(this,a)},Z,Z,Z,Z,Z,Z,Z,function(a){var b=Ub(this);a&=7;this.c[7]=this.c[a];this.c[a]=b;--this.a},function(a){this.w&49152||(this.w=this.w&-2017|(a&7)<<5,this.ia=1);--this.a},function(a){Rc[a&15].call(this,a)},function(a){Sc[a&15].call(this,a)},Z,Z,Z,Z],Rc=[Ec,function(){this.i=0;--this.a},function(){this.b=
|
||||||
a);--this.a},function(a){!O(this)&&this.f&65535&&W(this,a);--this.a},function(a){!O(this)&&this.f&65535||W(this,a);--this.a},function(a){this.b&32768||W(this,a);--this.a},function(a){this.b&32768&&W(this,a);--this.a},function(a){O(this)||W(this,a);--this.a},function(a){O(this)&&W(this,a);--this.a},function(){K(this,24);--this.a},function(){K(this,28);--this.a},function(a){Sc[a>>6&3].call(this,a)},function(a){Tc[a>>6&3].call(this,a)},function(a){Uc[a>>6&3].call(this,a)},function(a){Vc[a>>6&3].call(this,
|
0;--this.a},X,function(){this.f=1;--this.a},X,X,X,function(){this.j=0;--this.a},X,X,X,X,X,X,X],Sc=[Ec,function(){this.i=65536;--this.a},function(){this.b=32768;--this.a},Y,function(){this.f=0;--this.a},Y,Y,Y,function(){this.j=32768;--this.a},Y,Y,Y,Y,Y,Y,Y],Qc=[function(){this.w&49152?(this.m|=128,K(this,4)):(this.Ga=3,Lb(this));--this.a},function(){for(var a=0,b=this.g.length;0<=--b;)a+=this.g[b].ea,this.g[b].ea=0;a||0!==this.Ga||(this.Ga=2,Lb(this));--this.a},function(){Tb(this);this.s|=this.w&16;
|
||||||
a)},Z,Z],Lc=[function(a){P(this,Yb(this,a,0));--this.a},function(a){U(this,a,0,jc);--this.a},function(a){U(this,a,1,nc);--this.a},function(a){U(this,a,1,lc);--this.a}],Mc=[function(a){U(this,a,0,pc);--this.a},function(a){U(this,a,O(this)?1:0,$b);--this.a},function(a){U(this,a,O(this)?1:0,vc);--this.a},function(a){a=S(this,a);P(this,a);--this.a}],Nc=[function(a){U(this,a,0,tc);--this.a},function(a){U(this,a,0,rc);--this.a},function(a){U(this,a,0,dc);--this.a},function(a){U(this,a,0,bc);--this.a}],
|
--this.a},function(){K(this,12);--this.a},function(){K(this,16);--this.a},function(){this.w&49152||(Ob(this),this.B.reset());--this.a},function(){Tb(this);--this.a},Z,Z,Z,Z,Z,Z,Z,Z,Z],Jc=[Dc,Dc,Bc,Bc,zc,zc,Ac,Ac,Gc,Gc,Z,Z,Z,Z,Fc,Fc],Kc=[function(a){this.sa()||W(this,a);--this.a},function(a){this.sa()&&W(this,a);--this.a},function(a){!O(this)&&this.f&65535&&W(this,a);--this.a},function(a){!O(this)&&this.f&65535||W(this,a);--this.a},function(a){this.b&32768||W(this,a);--this.a},function(a){this.b&32768&&
|
||||||
Oc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=this.Z(a|65536);this.c[7]=this.c[5]&65535;this.c[6]=a+2&65535;this.c[5]=b;--this.a},function(a){a=Wb(this,a,0);Rb(this,a);Q(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,0,b);Q(this,b);--this.a},function(a){Q(this,Yb(this,a,this.sa?65535:0));--this.a}],Sc=[function(a){P(this,Zb(this,a,0));--this.a},function(a){V(this,a,0,kc);--this.a},function(a){V(this,a,1,oc);--this.a},function(a){V(this,a,1,mc);--this.a}],Tc=[function(a){V(this,a,0,qc);
|
W(this,a);--this.a},function(a){O(this)||W(this,a);--this.a},function(a){O(this)&&W(this,a);--this.a},function(){K(this,24);--this.a},function(){K(this,28);--this.a},function(a){Tc[a>>6&3].call(this,a)},function(a){Uc[a>>6&3].call(this,a)},function(a){Vc[a>>6&3].call(this,a)},function(a){Wc[a>>6&3].call(this,a)},Z,Z],Tc=[function(a){Q(this,$b(this,a,0));--this.a},function(a){V(this,a,0,lc);--this.a},function(a){V(this,a,1,pc);--this.a},function(a){V(this,a,1,nc);--this.a}],Uc=[function(a){V(this,
|
||||||
--this.a},function(a){V(this,a,O(this)?1:0,ac);--this.a},function(a){V(this,a,O(this)?1:0,wc);--this.a},function(a){a=T(this,a);P(this,a<<8);--this.a}],Uc=[function(a){V(this,a,0,uc);--this.a},function(a){V(this,a,0,sc);--this.a},function(a){V(this,a,0,ec);--this.a},function(a){V(this,a,0,cc);--this.a}],Vc=[Z,function(a){a=Wb(this,a,65536);Rb(this,a);Q(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,65536,b);Q(this,b);--this.a},Z];
|
a,0,rc);--this.a},function(a){V(this,a,O(this)?1:0,bc);--this.a},function(a){V(this,a,O(this)?1:0,xc);--this.a},function(a){a=T(this,a);Q(this,a<<8);--this.a}],Vc=[function(a){V(this,a,0,vc);--this.a},function(a){V(this,a,0,tc);--this.a},function(a){V(this,a,0,fc);--this.a},function(a){V(this,a,0,dc);--this.a}],Wc=[Z,function(a){a=Xb(this,a,65536);Sb(this,a);P(this,a);--this.a},function(a){var b=Ub(this);Yb(this,a,65536,b);P(this,b);--this.a},Z];
|
||||||
function Wc(a){w.call(this,"ROM",a,Wc);this.b=null;this.l=a.addr;this.f=a.size;this.v=a.writable;this.g=a.alias;this.i=a.file;this.C=ca(this.i);if(this.i){a=this.i;var b=da(this.C);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){Xc(c,a,b,e)})}}y(Wc);Wc.prototype.Ka=function(a,b,c,d){this.B=b;this.a=c;this.I=d;Yc(this)};Wc.prototype.wa=function(){this.j&&(this.I&&this.I.a(this.id,this.l,this.f,this.j),delete this.j);return!0};
|
function Xc(a){w.call(this,"ROM",a,Xc);this.b=null;this.l=a.addr;this.f=a.size;this.v=a.writable;this.g=a.alias;this.i=a.file;this.C=ca(this.i);if(this.i){a=this.i;var b=da(this.C);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){Yc(c,a,b,e)})}}y(Xc);Xc.prototype.Ka=function(a,b,c,d){this.B=b;this.a=c;this.I=d;Zc(this)};Xc.prototype.wa=function(){this.j&&(this.I&&this.I.a(this.id,this.l,this.f,this.j),delete this.j);return!0};
|
||||||
Wc.prototype.va=function(){return!0};
|
Xc.prototype.va=function(){return!0};
|
||||||
function Xc(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Mb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.j=h.symbols;if(!a.b.length){q("Empty ROM: "+b);
|
function Yc(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Mb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.j=h.symbols;if(!a.b.length){q("Empty ROM: "+b);
|
||||||
return}if(1==a.b.length){q(a.b[0]);return}}catch(k){a.M("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);Yc(a)}}
|
return}if(1==a.b.length){q(a.b[0]);return}}catch(k){a.M("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);Zc(a)}}
|
||||||
function Yc(a){if(!Ga(a))if(!a.i)E(a);else if(a.b&&a.B){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.h.error=!0;a.M(b)}else{b=a.l;if(Pa(a.B,b,a.f,a.v?1:qb)){var c;for(c=0;c<a.b.length;c++){var d=a.B,f=b+c;d.b[(f&d.j)>>>d.f].Yb(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.B,g=e.f,h=[],k=e.l>>>f.f;0<g&&
|
function Zc(a){if(!Ga(a))if(!a.i)E(a);else if(a.b&&a.B){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.h.error=!0;a.M(b)}else{b=a.l;if(Pa(a.B,b,a.f,a.v?1:qb)){var c;for(c=0;c<a.b.length;c++){var d=a.B,f=b+c;d.b[(f&d.j)>>>d.f].Yb(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.B,g=e.f,h=[],k=e.l>>>f.f;0<g&&
|
||||||
k<f.b.length;)h.push(f.b[k++]),g-=f.g;f=e.B;e=e.f;g=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.g}}delete a.b}}E(a)}}u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Wc(d);B(d,c)}});function Zc(a){w.call(this,"RAM",a,Zc);this.g=a.addr;this.f=a.size;this.b=!1}y(Zc);l=Zc.prototype;l.Ka=function(a,b,c,d){this.B=b;this.a=c;this.I=d;E(this)};l.wa=function(a,b){b||this.reset();return!0};l.va=function(a){return a?this.save():!0};
|
k<f.b.length;)h.push(f.b[k++]),g-=f.g;f=e.B;e=e.f;g=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.g}}delete a.b}}E(a)}}u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Xc(d);B(d,c)}});function $c(a){w.call(this,"RAM",a,$c);this.g=a.addr;this.f=a.size;this.b=!1}y($c);l=$c.prototype;l.Ka=function(a,b,c,d){this.B=b;this.a=c;this.I=d;E(this)};l.wa=function(a,b){b||this.reset();return!0};l.va=function(a){return a?this.save():!0};
|
||||||
l.reset=function(){!this.b&&this.f&&Pa(this.B,this.g,this.f,1)&&(this.b=!0);this.b||q("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Zc(d);B(d,c)}});function $c(a){w.call(this,"Keyboard",a,$c);E(this)}y($c);$c.prototype.ea=function(){return!1};$c.prototype.Ka=function(a,b,c,d){this.v=a;this.a=c;this.I=d;this.Ba=null};
|
l.reset=function(){!this.b&&this.f&&Pa(this.B,this.g,this.f,1)&&(this.b=!0);this.b||q("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new $c(d);B(d,c)}});function ad(a){w.call(this,"Keyboard",a,ad);E(this)}y(ad);ad.prototype.da=function(){return!1};ad.prototype.Ka=function(a,b,c,d){this.v=a;this.a=c;this.I=d;this.Ba=null};
|
||||||
u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new $c(d);B(d,c)}});
|
u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new ad(d);B(d,c)}});
|
||||||
function ad(a,b,c){w.call(this,"Computer",a,ad);this.h.N=!1;bd(this,b);this.J=Bb(this,"autoPower",a);this.g=0;this.aa=a.busWidth||a.buswidth;this.b=cd;this.C=null;this.l=this.X=!1;this.url=Bb(this,"url")||"";(Math.random()+.1).toString(36);this.f=dd(this);if(this.a=Fa("CPU",this.id)){this.I=Fa("Debugger",this.id);this.B=new F({id:this.Mb+".bus",busWidth:this.aa},this.a,this.I);var d,f=z(this.id);if((this.i=Fa("Panel",this.id))&&this.i.Bb)for(b=0;b<f.length;b++)d=f[b],d.M=this.i.M,d.K=this.i.K,d.Bb=
|
function bd(a,b,c){w.call(this,"Computer",a,bd);this.h.N=!1;cd(this,b);this.J=Bb(this,"autoPower",a);this.g=0;this.$=a.busWidth||a.buswidth;this.b=dd;this.C=null;this.l=this.X=!1;this.url=Bb(this,"url")||"";(Math.random()+.1).toString(36);this.f=ed(this);if(this.a=Fa("CPU",this.id)){this.I=Fa("Debugger",this.id);this.B=new F({id:this.Mb+".bus",busWidth:this.$},this.a,this.I);var d,f=z(this.id);if((this.i=Fa("Panel",this.id))&&this.i.Bb)for(b=0;b<f.length;b++)d=f[b],d.M=this.i.M,d.K=this.i.K,d.Bb=
|
||||||
this.i.Bb;this.K("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.K("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ka&&d.Ka(this,this.B,this.a,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.v=d:this.b=parseInt(d,10));var e;if(a=Bb(this,"state")||(e=!0,a.state))b=this.L=a,e||(this.l=!0,this.b=cd),this.b&&(this.G=
|
this.i.Bb;this.K("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.K("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ka&&d.Ka(this,this.B,this.a,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.v=d:this.b=parseInt(d,10));var e;if(a=Bb(this,"state")||(e=!0,a.state))b=this.L=a,e||(this.l=!0,this.b=dd),this.b&&(this.G=
|
||||||
new N(this,"1.30.0"),ed(this.G)?b=null:delete this.G);!b&&this.b&&(b=fd(this))&&(this.l=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.v=null,g.l=!1,g.M("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.C=b,g.X=!0);E(g)})}else E(this);this.u.power||(this.J=!0);!c&&this.J&&gd(this,this.bb)}else q("Unable to find CPU component")}y(ad);var cd=0;
|
new N(this,"1.30.0"),fd(this.G)?b=null:delete this.G);!b&&this.b&&(b=gd(this))&&(this.l=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.v=null,g.l=!1,g.M("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.C=b,g.X=!0);E(g)})}else E(this);this.u.power||(this.J=!0);!c&&this.J&&hd(this,this.bb)}else q("Unable to find CPU component")}y(bd);var dd=0;
|
||||||
function bd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.Y=b}function Bb(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[d];void 0===d&&a.Y&&(d=a.Y[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function gd(a,b,c){for(var d=z(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ga(e)){Ga(e,function(){gd(a,b,c)});return}}b.call(a,c)}
|
function cd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.Y=b}function Bb(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[d];void 0===d&&a.Y&&(d=a.Y[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function hd(a,b,c){for(var d=z(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ga(e)){Ga(e,function(){hd(a,b,c)});return}}b.call(a,c)}
|
||||||
function hd(a,b){var c=new N(a,"1.30.0","validate");if(ed(c)&&id(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.M("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=ad.prototype;
|
function id(a,b){var c=new N(a,"1.30.0","validate");if(fd(c)&&jd(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.M("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=bd.prototype;
|
||||||
l.bb=function(a){void 0===a&&(a=this.b||(this.C?1:cd));if(!this.g){this.g++;var b=!1,c=!1;this.T=!1;var d=this.G||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>cd){if(ed(d,this.C)){this.j=new N(this,"1.30.0","failsafe");ed(this.j)&&(jd(this,d),a=2,kd(this.j));this.j.set("timestamp",ja());ld(this.j);var f=this.b&&!this.l;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=id(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?ed(d,g):("error"==
|
l.bb=function(a){void 0===a&&(a=this.b||(this.C?1:dd));if(!this.g){this.g++;var b=!1,c=!1;this.T=!1;var d=this.G||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>dd){if(fd(d,this.C)){this.j=new N(this,"1.30.0","failsafe");fd(this.j)&&(kd(this,d),a=2,ld(this.j));this.j.set("timestamp",ja());md(this.j);var f=this.b&&!this.l;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=jd(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?fd(d,g):("error"==
|
||||||
e&&"no machine state"!=g?(this.M("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.K(e+": "+g),kd(d),ed(d)?(c=id(d),f=!0):c=!1))}f&&hd(this,c?d:null)}else 2==a&&d.clear()}else hd(this);delete this.C;delete this.G}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=md(this,g,d,b,c));b=[d,a,c];-1!=a?gd(this,this.Ob,b):this.Ob(b)}};
|
e&&"no machine state"!=g?(this.M("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.K(e+": "+g),ld(d),fd(d)?(c=jd(d),f=!0):c=!1))}f&&id(this,c?d:null)}else 2==a&&d.clear()}else id(this);delete this.C;delete this.G}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=nd(this,g,d,b,c));b=[d,a,c];-1!=a?hd(this,this.Ob,b):this.Ob(b)}};
|
||||||
function md(a,b,c,d,f){if(!b.h.N){b.h.N=!0;if(b.wa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.wa(e,d)&&e&&(q("Unable to restore state for "+b.type),a.L&&!a.X?(c.clear(),a.b=cd,window&&window.location.reload()):a.T=!0,b.wa(null),f=!1)}if(!d&&b.Kb)for(a=b.Kb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
function nd(a,b,c,d,f){if(!b.h.N){b.h.N=!0;if(b.wa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.wa(e,d)&&e&&(q("Unable to restore state for "+b.type),a.L&&!a.X?(c.clear(),a.b=dd,window&&window.location.reload()):a.T=!0,b.wa(null),f=!1)}if(!d&&b.Kb)for(a=b.Kb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||||
l.Ob=function(a){var b=a[0],c=0>a[1];a=a[2];this.ba=!0;this.h.N=!0;var d=this.u.power;d&&(d.textContent="Shutdown");this.a&&(md(this,this.a,b,c,a),this.a.Za());this.T&&(jd(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.g=0};
|
l.Ob=function(a){var b=a[0],c=0>a[1];a=a[2];this.aa=!0;this.h.N=!0;var d=this.u.power;d&&(d.textContent="Shutdown");this.a&&(nd(this,this.a,b,c,a),this.a.Za());this.T&&(kd(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.g=0};
|
||||||
function jd(a,b){if(ka("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}}
|
function kd(a,b){if(ka("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
function nd(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=ja();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.va&&(c&&Gb(a.a),d=a.a.va(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.h.N=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;k<h.length;k++){var m=h[k];m.h.N&&(m.va&&(d=m.va(b,c),"object"===typeof d&&e.set(m.id,
|
function od(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=ja();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.va&&(c&&Gb(a.a),d=a.a.va(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.h.N=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;k<h.length;k++){var m=h[k];m.h.N&&(m.va&&(d=m.va(b,c),"object"===typeof d&&e.set(m.id,
|
||||||
d)),c&&(m.h.N=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&od(a,a.f,e.toString()),ld(g)&&ld(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.h.N=!1,b=a.u.power)&&(b.textContent="Power");a.g=0;return f}l.reset=function(){this.B&&this.B.reset&&this.B.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.B&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
d)),c&&(m.h.N=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&pd(a,a.f,e.toString()),md(g)&&md(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.h.N=!1,b=a.u.power)&&(b.textContent="Power");a.g=0;return f}l.reset=function(){this.B&&this.B.reset&&this.B.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.B&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||||
l.stop=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
l.stop=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||||
l.ea=function(a,b,c){var d=this;switch(b){case "power":return this.u[b]=c,c.onclick=function(){d.g||(d.h.N?nd(d,!1,!0):gd(d,d.bb))},!0;case "reset":return this.u[b]=c,c.onclick=function(){if(d.h.N&&!d.g)if(d.b&&!d.v){var a=ka("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");nd(d,a,!0);!a&&d.L?window&&window.location.reload():d.bb(cd)}else d.reset(),d.a&&d.a.Za()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.u[b]=
|
l.da=function(a,b,c){var d=this;switch(b){case "power":return this.u[b]=c,c.onclick=function(){d.g||(d.h.N?od(d,!1,!0):hd(d,d.bb))},!0;case "reset":return this.u[b]=c,c.onclick=function(){if(d.h.N&&!d.g)if(d.b&&!d.v){var a=ka("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");od(d,a,!0);!a&&d.L?window&&window.location.reload():d.bb(dd)}else d.reset(),d.a&&d.a.Za()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.u[b]=
|
||||||
c,c.onclick=function(){var a=dd(d,!0);if(a){var b=!!(d.b&&!d.v||d.L),c=nd(d,b);b?od(d,a,c):d.M("Resume disabled, machine state not saved")}},!0}return!1};
|
c,c.onclick=function(){var a=ed(d,!0);if(a){var b=!!(d.b&&!d.v||d.L),c=od(d,b);b?pd(d,a,c):d.M("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function dd(a,b){var c=a.f;c||((c=na("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=pd(a,c))||a.M("The user ID is invalid.")):b&&a.M("Browser local storage is not available"));return c}
|
function ed(a,b){var c=a.f;c||((c=na("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=qd(a,c))||a.M("The user ID is invalid.")):b&&a.M("Browser local storage is not available"));return c}
|
||||||
function pd(a,b){a.f=null;b=p(fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(oa("user",b.data),a.f=b.data)}catch(d){q(d.message+" ("+c+")")}return a.f}function fd(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+qd(a,"1.30.0"));return b}
|
function qd(a,b){a.f=null;b=p(fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(oa("user",b.data),a.f=b.data)}catch(d){q(d.message+" ("+c+")")}return a.f}function gd(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+rd(a,"1.30.0"));return b}
|
||||||
function od(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=qd(a,"1.30.0");d.data=c;b=p(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.M("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.M(c),oa("user",""),a.f=null)}}
|
function pd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=rd(a,"1.30.0");d.data=c;b=p(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.M("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.M(c),oa("user",""),a.f=null)}}
|
||||||
l.Va=function(a){this.a&&this.a.Va(a);this.i&&this.i.Va(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=A(e),g=new ad(g,d,!0);B(g,e);g.J&&gd(g,g.bb)}});t.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.ba&&!c.h.N&&c.bb(-1)}});
|
l.Va=function(a){this.a&&this.a.Va(a);this.i&&this.i.Va(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=A(e),g=new bd(g,d,!0);B(g,e);g.J&&hd(g,g.bb)}});t.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.aa&&!c.h.N&&c.bb(-1)}});
|
||||||
t.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.h.N&&nd(c,!(!c.b||c.v),!0)}});function N(a,b,c){this.id=a.id;this.key=qd(a,b,c);this.I=a.I;kd(this,a.dc)}function qd(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}
|
t.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.h.N&&od(c,!(!c.b||c.v),!0)}});function N(a,b,c){this.id=a.id;this.key=rd(a,b,c);this.I=a.I;ld(this,a.dc)}function rd(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}
|
||||||
N.prototype={constructor:N,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){kd(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}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(f){}b.splice(c,
|
N.prototype={constructor:N,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){ld(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}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(f){}b.splice(c,
|
||||||
1);c=0}}};function kd(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function ld(a){var b=!0;if(ma()){var c=JSON.stringify(a[a.id]);oa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function id(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function ed(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:ma()&&(b=na(a.key))?(a[a.id]=b,a.a=!0):!1}var rd=0;
|
1);c=0}}};function ld(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function md(a){var b=!0;if(ma()){var c=JSON.stringify(a[a.id]);oa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function jd(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function fd(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:ma()&&(b=na(a.key))?(a[a.id]=b,a.a=!0):!1}var sd=0;
|
||||||
function sd(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):td(h,a,b,c,d,f,e)})}
|
function td(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):ud(h,a,b,c,d,f,e)})}
|
||||||
function td(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Ea(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
function ud(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Ea(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){e=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?ud(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){e=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?vd(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||||
function ud(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,r=/( [a-z]+=)(['"])(.*?)\2/g;m=r.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
function vd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,r=/( [a-z]+=)(['"])(.*?)\2/g;m=r.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||||
"");a=a.replace(d[0],g);ud(a,b,c)}})}else c(a,null)}
|
"");a=a.replace(d[0],g);vd(a,b,c)}})}else c(a,null)}
|
||||||
function vd(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--rd||va(!0));k=!1}var g,h,k=!0;rd++;Da[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));r.appendChild(v)}c||
|
function wd(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--sd||va(!0));k=!1}var g,h,k=!0;sd++;Da[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));r.appendChild(v)}c||
|
||||||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?sd(c,null,null,!1,f,function(d,k){k?(Ea(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--rd||va(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--rd||va(!0)):e("invalid machine element: "+
|
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?td(c,null,null,!1,f,function(d,k){k?(Ea(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--sd||va(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--sd||va(!0)):e("invalid machine element: "+
|
||||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?sd(b,a,d,!0,f,m):td(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(D){e(D.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return vd(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})();
|
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?td(b,a,d,!0,f,m):ud(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(D){e(D.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return wd(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue