Implemented branches and RTS
This commit is contained in:
parent
5b25dc91ae
commit
6af956b8f0
8 changed files with 1932 additions and 1922 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -6091,11 +6091,16 @@ if (DEBUGGER) {
|
||||||
var data = 0, iByte = 0, i;
|
var data = 0, iByte = 0, i;
|
||||||
var sData = "", sChars = "";
|
var sData = "", sChars = "";
|
||||||
sAddr = this.toHexAddr(dbgAddr);
|
sAddr = this.toHexAddr(dbgAddr);
|
||||||
for (i = 16; i > 0 && cb > 0; i--) {
|
/*
|
||||||
|
* It's just coincidence that we want to dump 8 bytes per line when using base 8 and 16 bytes
|
||||||
|
* per line when using base 16, because octal requires more digits.
|
||||||
|
*/
|
||||||
|
var nBytes = (size == 4? 16 : this.nBase);
|
||||||
|
for (i = nBytes; i > 0 && cb > 0; i--) {
|
||||||
var b = this.getByte(dbgAddr, 1);
|
var b = this.getByte(dbgAddr, 1);
|
||||||
data |= (b << (iByte++ << 3));
|
data |= (b << (iByte++ << 3));
|
||||||
if (iByte == size) {
|
if (iByte == size) {
|
||||||
sData += str.toHex(data, size * 2);
|
sData += (this.nBase == 8? str.toOct(data, size * 3) : str.toHex(data, size * 2));
|
||||||
sData += (size == 1? (i == 9? '-' : ' ') : " ");
|
sData += (size == 1? (i == 9? '-' : ' ') : " ");
|
||||||
data = iByte = 0;
|
data = iByte = 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -267,10 +267,7 @@ PDP11.opASRB = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBCC = function(opCode)
|
PDP11.opBCC = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (!this.getCF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -282,10 +279,7 @@ PDP11.opBCC = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBCS = function(opCode)
|
PDP11.opBCS = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (this.getCF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -369,10 +363,7 @@ PDP11.opBITB = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBEQ = function(opCode)
|
PDP11.opBEQ = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (this.getZF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -384,10 +375,7 @@ PDP11.opBEQ = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBGE = function(opCode)
|
PDP11.opBGE = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (!this.getNF() == !this.getVF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -399,10 +387,7 @@ PDP11.opBGE = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBGT = function(opCode)
|
PDP11.opBGT = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (!this.getZF() && (!this.getNF() == !this.getVF())) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -414,10 +399,7 @@ PDP11.opBGT = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBHI = function(opCode)
|
PDP11.opBHI = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (!this.getCF() && !this.getZF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -429,10 +411,7 @@ PDP11.opBHI = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBLE = function(opCode)
|
PDP11.opBLE = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (this.getZF() || (!this.getNF() != !this.getVF())) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -444,10 +423,7 @@ PDP11.opBLE = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBLOS = function(opCode)
|
PDP11.opBLOS = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (this.getCF() || this.getZF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -459,10 +435,7 @@ PDP11.opBLOS = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBLT = function(opCode)
|
PDP11.opBLT = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (!this.getNF() != !this.getVF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -474,10 +447,7 @@ PDP11.opBLT = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBMI = function(opCode)
|
PDP11.opBMI = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (this.getNF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -489,10 +459,7 @@ PDP11.opBMI = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBNE = function(opCode)
|
PDP11.opBNE = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (!this.getZF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -504,10 +471,7 @@ PDP11.opBNE = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBPL = function(opCode)
|
PDP11.opBPL = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (!this.getNF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -534,10 +498,7 @@ PDP11.opBPT = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBR = function(opCode)
|
PDP11.opBR = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -549,10 +510,7 @@ PDP11.opBR = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBVC = function(opCode)
|
PDP11.opBVC = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (!this.getVF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -564,10 +522,7 @@ PDP11.opBVC = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opBVS = function(opCode)
|
PDP11.opBVS = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
if (this.getVF()) this.regsGen[7] = this.branch(opCode);
|
||||||
* TODO: Implement
|
|
||||||
*/
|
|
||||||
this.regOp = -1;
|
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1154,6 +1109,22 @@ PDP11.opRTI = function(opCode)
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* opRTS(opCode)
|
||||||
|
*
|
||||||
|
* @this {CPUStatePDP11}
|
||||||
|
* @param {number} opCode
|
||||||
|
*/
|
||||||
|
PDP11.opRTS = function(opCode)
|
||||||
|
{
|
||||||
|
this.assert(!(opCode & 0x08));
|
||||||
|
var src = this.popWord();
|
||||||
|
var reg = opCode & PDP11.OPREG.MASK;
|
||||||
|
this.regsGen[PDP11.REG.PC] = this.regsGen[reg];
|
||||||
|
this.regsGen[reg] = src;
|
||||||
|
this.nStepCycles -= 1;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* opRTT(opCode)
|
* opRTT(opCode)
|
||||||
*
|
*
|
||||||
|
|
@ -1277,6 +1248,22 @@ PDP11.opSOB = function(opCode)
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* opSPL(opCode)
|
||||||
|
*
|
||||||
|
* @this {CPUStatePDP11}
|
||||||
|
* @param {number} opCode
|
||||||
|
*/
|
||||||
|
PDP11.opSPL = function(opCode)
|
||||||
|
{
|
||||||
|
this.assert(opCode & 0x08);
|
||||||
|
if (!(this.PSW & PDP11.PSW.CMODE)) {
|
||||||
|
this.PSW = (this.PSW & ~(PDP11.PSW.UNUSED | PDP11.PSW.PRI)) | ((opCode & 0x7) << PDP11.PSW.SHIFT.PRI);
|
||||||
|
this.priorityReview = 1;
|
||||||
|
}
|
||||||
|
this.nStepCycles -= 1;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* opSUB(opCode)
|
* opSUB(opCode)
|
||||||
*
|
*
|
||||||
|
|
@ -1467,6 +1454,17 @@ PDP11.op00Xn_1170 = function(opCode)
|
||||||
PDP11.aOps00Xn_1170[(opCode >> 4) & 0xf].call(this, opCode);
|
PDP11.aOps00Xn_1170[(opCode >> 4) & 0xf].call(this, opCode);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* op008X_1170(opCode)
|
||||||
|
*
|
||||||
|
* @this {CPUStatePDP11}
|
||||||
|
* @param {number} opCode
|
||||||
|
*/
|
||||||
|
PDP11.op008X_1170 = function(opCode)
|
||||||
|
{
|
||||||
|
PDP11.aOps00AX_1170[opCode & 0xf].call(this, opCode);
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* op00AX_1170(opCode)
|
* op00AX_1170(opCode)
|
||||||
*
|
*
|
||||||
|
|
@ -1568,20 +1566,20 @@ PDP11.op8DXn_1170 = function(opCode)
|
||||||
|
|
||||||
PDP11.aOpsXnnn_1170 = [
|
PDP11.aOpsXnnn_1170 = [
|
||||||
PDP11.op0Xnn_1170, // 0x0nnn
|
PDP11.op0Xnn_1170, // 0x0nnn
|
||||||
PDP11.opMOV, // 0x1nnn MOV 01SSDD
|
PDP11.opMOV, // 0x1nnn 01SSDD
|
||||||
PDP11.opCMP, // 0x2nnn CMP 02SSDD
|
PDP11.opCMP, // 0x2nnn 02SSDD
|
||||||
PDP11.opBIT, // 0x3nnn BIT 03SSDD
|
PDP11.opBIT, // 0x3nnn 03SSDD
|
||||||
PDP11.opBIC, // 0x4nnn BIC 04SSDD
|
PDP11.opBIC, // 0x4nnn 04SSDD
|
||||||
PDP11.opBIS, // 0x5nnn BIS 05SSDD
|
PDP11.opBIS, // 0x5nnn 05SSDD
|
||||||
PDP11.opADD, // 0x6nnn ADD 06SSDD
|
PDP11.opADD, // 0x6nnn 06SSDD
|
||||||
PDP11.op7Xnn_1170, // 0x7nnn
|
PDP11.op7Xnn_1170, // 0x7nnn
|
||||||
PDP11.op8Xnn_1170, // 0x8nnn
|
PDP11.op8Xnn_1170, // 0x8nnn
|
||||||
PDP11.opMOVB, // 0x9nnn MOVB 11SSDD
|
PDP11.opMOVB, // 0x9nnn 11SSDD
|
||||||
PDP11.opCMPB, // 0xAnnn CMPB 12SSDD
|
PDP11.opCMPB, // 0xAnnn 12SSDD
|
||||||
PDP11.opBITB, // 0xBnnn BITB 13SSDD
|
PDP11.opBITB, // 0xBnnn 13SSDD
|
||||||
PDP11.opBICB, // 0xCnnn BICB 14SSDD
|
PDP11.opBICB, // 0xCnnn 14SSDD
|
||||||
PDP11.opBISB, // 0xDnnn BISB 15SSDD
|
PDP11.opBISB, // 0xDnnn 15SSDD
|
||||||
PDP11.opSUB, // 0xEnnn SUB 16SSDD
|
PDP11.opSUB, // 0xEnnn 16SSDD
|
||||||
PDP11.opUndefined // 0xFnnn
|
PDP11.opUndefined // 0xFnnn
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -1613,10 +1611,10 @@ PDP11.aOps00Xn_1170 = [
|
||||||
PDP11.opUndefined, // 0x005n
|
PDP11.opUndefined, // 0x005n
|
||||||
PDP11.opUndefined, // 0x006n
|
PDP11.opUndefined, // 0x006n
|
||||||
PDP11.opUndefined, // 0x007n
|
PDP11.opUndefined, // 0x007n
|
||||||
PDP11.opUndefined, // 0x008n
|
PDP11.opRTS, // 0x008n 00020R (technically, bit 3 should also be CLR for the RTS opCode)
|
||||||
PDP11.opUndefined, // 0x009n
|
PDP11.opSPL, // 0x009n 00023N (technically, bit 3 should also be SET for the SPL opCode)
|
||||||
PDP11.op00AX_1170, // 0x00An
|
PDP11.op00AX_1170, // 0x00An 000240-000257
|
||||||
PDP11.op00BX_1170, // 0x00Bn
|
PDP11.op00BX_1170, // 0x00Bn 000260-000277
|
||||||
PDP11.opUndefined, // 0x00Cn
|
PDP11.opUndefined, // 0x00Cn
|
||||||
PDP11.opUndefined, // 0x00Dn
|
PDP11.opUndefined, // 0x00Dn
|
||||||
PDP11.opUndefined, // 0x00En
|
PDP11.opUndefined, // 0x00En
|
||||||
|
|
@ -1624,7 +1622,7 @@ PDP11.aOps00Xn_1170 = [
|
||||||
];
|
];
|
||||||
|
|
||||||
PDP11.aOps00AX_1170 = [
|
PDP11.aOps00AX_1170 = [
|
||||||
PDP11.opNOP, // 0x00A0
|
PDP11.opNOP, // 0x00A0 000240
|
||||||
PDP11.opCLC, // 0x00A1
|
PDP11.opCLC, // 0x00A1
|
||||||
PDP11.opCLV, // 0x00A2
|
PDP11.opCLV, // 0x00A2
|
||||||
PDP11.opCLx, // 0x00A3
|
PDP11.opCLx, // 0x00A3
|
||||||
|
|
@ -1639,11 +1637,11 @@ PDP11.aOps00AX_1170 = [
|
||||||
PDP11.opCLx, // 0x00AC
|
PDP11.opCLx, // 0x00AC
|
||||||
PDP11.opCLx, // 0x00AD
|
PDP11.opCLx, // 0x00AD
|
||||||
PDP11.opCLx, // 0x00AE
|
PDP11.opCLx, // 0x00AE
|
||||||
PDP11.opCLx // 0x00AF
|
PDP11.opCLx // 0x00AF 000257
|
||||||
];
|
];
|
||||||
|
|
||||||
PDP11.aOps00BX_1170 = [
|
PDP11.aOps00BX_1170 = [
|
||||||
PDP11.opNOP, // 0x00B0
|
PDP11.opNOP, // 0x00B0 000260
|
||||||
PDP11.opSEC, // 0x00B1
|
PDP11.opSEC, // 0x00B1
|
||||||
PDP11.opSEV, // 0x00B2
|
PDP11.opSEV, // 0x00B2
|
||||||
PDP11.opSEx, // 0x00B3
|
PDP11.opSEx, // 0x00B3
|
||||||
|
|
@ -1658,7 +1656,7 @@ PDP11.aOps00BX_1170 = [
|
||||||
PDP11.opSEx, // 0x00BC
|
PDP11.opSEx, // 0x00BC
|
||||||
PDP11.opSEx, // 0x00BD
|
PDP11.opSEx, // 0x00BD
|
||||||
PDP11.opSEx, // 0x00BE
|
PDP11.opSEx, // 0x00BE
|
||||||
PDP11.opSEx // 0x00BF
|
PDP11.opSEx // 0x00BF 000277
|
||||||
];
|
];
|
||||||
|
|
||||||
PDP11.aOps000X_1170 = [
|
PDP11.aOps000X_1170 = [
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ CPUStatePDP11.prototype.initRegs = function()
|
||||||
/*
|
/*
|
||||||
* TODO: Verify the initial state of all PDP-11 flags and registers (are they well-documented?)
|
* TODO: Verify the initial state of all PDP-11 flags and registers (are they well-documented?)
|
||||||
*/
|
*/
|
||||||
this.flagC = 0x10000; // PSW C bit
|
this.flagC = 0x10000; // PSW C bit
|
||||||
this.flagV = 0x8000; // PSW V bit
|
this.flagV = 0x8000; // PSW V bit
|
||||||
this.flagZ = 0xffff; // ~ PSW Z bit (TODO: Why do we clear instead of set Z, like other flags?)
|
this.flagZ = 0xffff; // ~ PSW Z bit (TODO: Why do we clear instead of set Z, like other flags?)
|
||||||
this.flagN = 0x8000; // PSW N bit
|
this.flagN = 0x8000; // PSW N bit
|
||||||
|
|
@ -1469,21 +1469,15 @@ CPUStatePDP11.prototype.writeByteByMode = function(addressMode, data, writeFlags
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* branch(PC, instruction)
|
* branch(opCode)
|
||||||
*
|
*
|
||||||
* @this {CPUStatePDP11}
|
* @this {CPUStatePDP11}
|
||||||
* @param {number} PC
|
* @param {number} opCode
|
||||||
* @param {number} instruction
|
* @return {number} (PC +/- the word delta specified in the opCode)
|
||||||
* @return {number}
|
|
||||||
*/
|
*/
|
||||||
CPUStatePDP11.prototype.branch = function(PC, instruction)
|
CPUStatePDP11.prototype.branch = function(opCode)
|
||||||
{
|
{
|
||||||
if (instruction & 0x80) { /*0200*/
|
return (this.regsGen[PDP11.REG.PC] + ((opCode << 24) >> 23)) & 0xffff;
|
||||||
instruction |= 0xff00;
|
|
||||||
} else {
|
|
||||||
instruction &= 0xff;
|
|
||||||
}
|
|
||||||
return ((instruction << 1) + PC) & 0xffff;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -1972,70 +1966,70 @@ CPUStatePDP11.prototype.stepCPU = function(nMinCycles)
|
||||||
// switch (opCode & 0xFF00) /*0177400*/ { // Program control instructions & traps
|
// switch (opCode & 0xFF00) /*0177400*/ { // Program control instructions & traps
|
||||||
// case 0x100: /*0000400*/ // BR
|
// case 0x100: /*0000400*/ // BR
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BR");
|
// //LOG_INSTRUCTION(opCode, 4, "BR");
|
||||||
// this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x200: /*0001000*/ // BNE
|
// case 0x200: /*0001000*/ // BNE
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BNE");
|
// //LOG_INSTRUCTION(opCode, 4, "BNE");
|
||||||
// if (this.flagZ & 0xffff) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// if (this.flagZ & 0xffff) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x300: /*0001400*/ // BEQ
|
// case 0x300: /*0001400*/ // BEQ
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BEQ");
|
// //LOG_INSTRUCTION(opCode, 4, "BEQ");
|
||||||
// if (!(this.flagZ & 0xffff)) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// if (!(this.flagZ & 0xffff)) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x400: /*0002000*/ // BGE
|
// case 0x400: /*0002000*/ // BGE
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BGE");
|
// //LOG_INSTRUCTION(opCode, 4, "BGE");
|
||||||
// if ((this.flagN & 0x8000) ===
|
// if ((this.flagN & 0x8000) ===
|
||||||
// (this.flagV & 0x8000)) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// (this.flagV & 0x8000)) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x500: /*0002400*/ // BLT
|
// case 0x500: /*0002400*/ // BLT
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BLT");
|
// //LOG_INSTRUCTION(opCode, 4, "BLT");
|
||||||
// if ((this.flagN & 0x8000) !==
|
// if ((this.flagN & 0x8000) !==
|
||||||
// (this.flagV & 0x8000)) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// (this.flagV & 0x8000)) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x600: /*0003000*/ // BGT
|
// case 0x600: /*0003000*/ // BGT
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BGT");
|
// //LOG_INSTRUCTION(opCode, 4, "BGT");
|
||||||
// if ((this.flagZ & 0xffff) && ((this.flagN & 0x8000) ===
|
// if ((this.flagZ & 0xffff) && ((this.flagN & 0x8000) ===
|
||||||
// (this.flagV & 0x8000))) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// (this.flagV & 0x8000))) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x700: /*0003400*/ // BLE
|
// case 0x700: /*0003400*/ // BLE
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BLE");
|
// //LOG_INSTRUCTION(opCode, 4, "BLE");
|
||||||
// if (!(this.flagZ & 0xffff) || ((this.flagN & 0x8000) !==
|
// if (!(this.flagZ & 0xffff) || ((this.flagN & 0x8000) !==
|
||||||
// (this.flagV & 0x8000))) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// (this.flagV & 0x8000))) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x8000: /*0100000*/ // BPL
|
// case 0x8000: /*0100000*/ // BPL
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BPL");
|
// //LOG_INSTRUCTION(opCode, 4, "BPL");
|
||||||
// if (!(this.flagN & 0x8000)) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// if (!(this.flagN & 0x8000)) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x8200: /*0101000*/ // BHI
|
// case 0x8200: /*0101000*/ // BHI
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BHI");
|
// //LOG_INSTRUCTION(opCode, 4, "BHI");
|
||||||
// if (!(this.flagC & 0x10000) &&
|
// if (!(this.flagC & 0x10000) &&
|
||||||
// (this.flagZ & 0xffff)) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// (this.flagZ & 0xffff)) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x8100: /*0100400*/ // BMI
|
// case 0x8100: /*0100400*/ // BMI
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BMI");
|
// //LOG_INSTRUCTION(opCode, 4, "BMI");
|
||||||
// if ((this.flagN & 0x8000)) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// if ((this.flagN & 0x8000)) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x8300: /*0101400*/ // BLOS
|
// case 0x8300: /*0101400*/ // BLOS
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BLOS");
|
// //LOG_INSTRUCTION(opCode, 4, "BLOS");
|
||||||
// if ((this.flagC & 0x10000) ||
|
// if ((this.flagC & 0x10000) ||
|
||||||
// !(this.flagZ & 0xffff)) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// !(this.flagZ & 0xffff)) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x8400: /*0102000*/ // BVC
|
// case 0x8400: /*0102000*/ // BVC
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BVC");
|
// //LOG_INSTRUCTION(opCode, 4, "BVC");
|
||||||
// if (!(this.flagV & 0x8000)) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// if (!(this.flagV & 0x8000)) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x8500: /*0102400*/ // BVS
|
// case 0x8500: /*0102400*/ // BVS
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BVS");
|
// //LOG_INSTRUCTION(opCode, 4, "BVS");
|
||||||
// if ((this.flagV & 0x8000)) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// if ((this.flagV & 0x8000)) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x8600: /*0103000*/ // BCC
|
// case 0x8600: /*0103000*/ // BCC
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BCC");
|
// //LOG_INSTRUCTION(opCode, 4, "BCC");
|
||||||
// if (!(this.flagC &
|
// if (!(this.flagC &
|
||||||
// 0x10000)) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// 0x10000)) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x8700: /*0103400*/ // BCS
|
// case 0x8700: /*0103400*/ // BCS
|
||||||
// //LOG_INSTRUCTION(opCode, 4, "BCS");
|
// //LOG_INSTRUCTION(opCode, 4, "BCS");
|
||||||
// if (this.flagC & 0x10000) this.regsGen[7] = this.branch(this.regsGen[7], opCode);
|
// if (this.flagC & 0x10000) this.regsGen[7] = this.branch(opCode);
|
||||||
// break;
|
// break;
|
||||||
// case 0x8800: /*0104000*/ // EMT 104000 -> 104377
|
// case 0x8800: /*0104000*/ // EMT 104000 -> 104377
|
||||||
// //LOG_INSTRUCTION(opCode, 7, "EMT");
|
// //LOG_INSTRUCTION(opCode, 7, "EMT");
|
||||||
|
|
|
||||||
|
|
@ -2728,11 +2728,16 @@ if (DEBUGGER) {
|
||||||
var data = 0, iByte = 0, i;
|
var data = 0, iByte = 0, i;
|
||||||
var sData = "", sChars = "";
|
var sData = "", sChars = "";
|
||||||
sAddr = this.toStrAddr(dbgAddr);
|
sAddr = this.toStrAddr(dbgAddr);
|
||||||
for (i = 16; i > 0 && cb > 0; i--) {
|
/*
|
||||||
|
* It's just coincidence that we want to dump 8 bytes per line when using base 8 and 16 bytes
|
||||||
|
* per line when using base 16, because octal requires more digits.
|
||||||
|
*/
|
||||||
|
var nBytes = (size == 4? 16 : this.nBase);
|
||||||
|
for (i = nBytes; i > 0 && cb > 0; i--) {
|
||||||
var b = this.getByte(dbgAddr, 1);
|
var b = this.getByte(dbgAddr, 1);
|
||||||
data |= (b << (iByte++ << 3));
|
data |= (b << (iByte++ << 3));
|
||||||
if (iByte == size) {
|
if (iByte == size) {
|
||||||
sData += str.toHex(data, size * 2);
|
sData += (this.nBase == 8? str.toOct(data, size * 3) : str.toHex(data, size * 2));
|
||||||
sData += (size == 1? (i == 9? '-' : ' ') : " ");
|
sData += (size == 1? (i == 9? '-' : ' ') : " ");
|
||||||
data = iByte = 0;
|
data = iByte = 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,197 +1,201 @@
|
||||||
(function(){var l;
|
(function(){var l;
|
||||||
function ba(a,b){var d;if(a){b||(b=10);var c=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==c?(b=8,c=null):"$"==c&&(b=16,c=null);null==c?a=a.substr(1):("0"==c&&(c=a.charAt(1),"b"==c&&f&&(b=2,c=null),"o"==c?(b=8,c=null):"x"==c&&(b=16,c=null)),null==c?a=a.substr(2):(c=a.charAt(a.length-1).toLowerCase(),"y"==c?(b=2,c=null):"."==c?(b=10,c=null):"h"==c&&(b=16,c=null),null==c&&(a=a.substr(0,a.length-1))));var e,c=a;((f=b)&&10!=f?16==f?c.match(/^[0-9a-f]+$/i):8==f?c.match(/^[0-7]+$/):2==f&&
|
function ca(a,b){var d;if(a){b||(b=10);var c=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==c?(b=8,c=null):"$"==c&&(b=16,c=null);null==c?a=a.substr(1):("0"==c&&(c=a.charAt(1),"b"==c&&f&&(b=2,c=null),"o"==c?(b=8,c=null):"x"==c&&(b=16,c=null)),null==c?a=a.substr(2):(c=a.charAt(a.length-1).toLowerCase(),"y"==c?(b=2,c=null):"."==c?(b=10,c=null):"h"==c&&(b=16,c=null),null==c&&(a=a.substr(0,a.length-1))));var e,c=a;((f=b)&&10!=f?16==f?c.match(/^[0-9a-f]+$/i):8==f?c.match(/^[0-7]+$/):2==f&&
|
||||||
c.match(/^[01]+$/):c.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(d=e|0)}return d}function ca(a,b,d){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return(d?"0o":"")+c}function r(a,b,d){var c="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),c=String.fromCharCode(f)+c;a>>=4}return(d?"0x":"")+c}
|
c.match(/^[01]+$/):c.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(d=e|0)}return d}function da(a,b,d){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return(d?"0o":"")+c}function r(a,b,d){var c="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),c=String.fromCharCode(f)+c;a>>=4}return(d?"0x":"")+c}
|
||||||
function da(a){var b=a,d=a.lastIndexOf("/");0<=d&&(b=a.substr(d+1));d=b.indexOf("&");0<d&&(b=b.substr(0,d));return b}function ea(a){var b="",d=a.lastIndexOf(".");0<=d&&(b=a.substr(d+1).toLowerCase());return b}function fa(){var a=ga();return-1!==a.indexOf("pcjs.org",a.length-8)}var ia={"&":"&","<":"<",">":">",'"':""","'":"'"};function ja(a){return a.replace(/[&<>"']/g,function(a){return ia[a]})}function ka(a,b){return(a+" ").slice(0,b)}
|
function ea(a){var b=a,d=a.lastIndexOf("/");0<=d&&(b=a.substr(d+1));d=b.indexOf("&");0<d&&(b=b.substr(0,d));return b}function fa(a){var b="",d=a.lastIndexOf(".");0<=d&&(b=a.substr(d+1).toLowerCase());return b}function ga(){var a=ha();return-1!==a.indexOf("pcjs.org",a.length-8)}var ia={"&":"&","<":"<",">":">",'"':""","'":"'"};function ja(a){return a.replace(/[&<>"']/g,function(a){return ia[a]})}function ka(a,b){return(a+" ").slice(0,b)}
|
||||||
function la(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function pa(a,b,d){var c=0,f=a.length,e=0;for(d||(d=function(a,b){return a>b?1:a<b?-1:0});c<f;){var g=c+f>>1,h;h=d(b,a[g]);0<h?c=g+1:(f=g,e=!h)}return e?c:~c}var qa=Date.now||function(){return+new Date};function ra(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
function la(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function na(a,b,d){var c=0,f=a.length,e=0;for(d||(d=function(a,b){return a>b?1:a<b?-1:0});c<f;){var g=c+f>>1,h;h=d(b,a[g]);0<h?c=g+1:(f=g,e=!h)}return e?c:~c}var oa=Date.now||function(){return+new Date};function pa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||||
function sa(a,b,d,c){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return c&&c(a,e,f),[e,f];if(d&&"function"==typeof resources)return resources(a,function(b,d){c&&c(a,b,d)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");d&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),c&&c(a,e,f))});if(b&&"object"==
|
function ta(a,b,d,c){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return c&&c(a,e,f),[e,f];if(d&&"function"==typeof resources)return resources(a,function(b,d){c&&c(a,b,d)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");d&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),c&&c(a,e,f))});if(b&&"object"==
|
||||||
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,!!d);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!d),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();d||(e=h.responseText,200!=h.status&&(f=h.status||-1),c&&c(a,e,f),g=[e,f]);return g}function ga(){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,!!d);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!d),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();d||(e=h.responseText,200!=h.status&&(f=h.status||-1),c&&c(a,e,f),g=[e,f]);return g}function ha(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||||
function t(a){window&&window.alert(a)}function ta(a){var b=!1;window&&(b=window.confirm(a));return b}var ua=null;function va(){if(null==ua){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}ua=a}return ua}function wa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(d){}return b}
|
function t(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var va=null;function wa(){if(null==va){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}va=a}return va}function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(d){}return b}
|
||||||
function xa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(d){}return!1}function Ca(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 Da(a,b,d){function c(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(c,0):d()}c()}
|
function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(d){}return!1}function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Aa(a,b,d){function c(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(c,0):d()}c()}
|
||||||
function Ea(a,b){function d(){b(100===c)&&(f=setTimeout(d,c),c=100)}var c=0,f=null,e=!1;a.onmousedown=function(){e||f||(c=500,d())};a.ontouchstart=function(){f||(c=500,d())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Fa={init:[],show:[],exit:[]},Ga=!1,Ha=!1,Ia=!0;function Ja(a,b){if(window){var d=window[a];window[a]="function"!==typeof d?b:function(){d&&d();b()}}}function Ka(a){Fa.init.push(a)}
|
function Ba(a,b){function d(){b(100===c)&&(f=setTimeout(d,c),c=100)}var c=0,f=null,e=!1;a.onmousedown=function(){e||f||(c=500,d())};a.ontouchstart=function(){f||(c=500,d())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Ha={init:[],show:[],exit:[]},Ia=!1,Ja=!1,Ka=!0;function La(a,b){if(window){var d=window[a];window[a]="function"!==typeof d?b:function(){d&&d();b()}}}function Ma(a){Ha.init.push(a)}
|
||||||
function La(a){if(Ia)try{for(var b=0;b<a.length;b++)a[b]()}catch(d){t(""+("An unexpected exception occurred:\n\n"+d.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ma(a){!Ia&&a?(Ia=!0,Ga&&Na("init"),Ha&&Na("show")):Ia=a}function Na(a){Fa[a]&&La(Fa[a])}Ja("onload",function(){Ga=!0;La(Fa.init)});Ja("onpageshow",function(){Ha=!0;La(Fa.show)});Ja(Ca("Opera")||Ca("iOS")?"onunload":"onbeforeunload",function(){La(Fa.exit)});
|
function Na(a){if(Ka)try{for(var b=0;b<a.length;b++)a[b]()}catch(d){t(""+("An unexpected exception occurred:\n\n"+d.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Oa(a){!Ka&&a?(Ka=!0,Ia&&Pa("init"),Ja&&Pa("show")):Ka=a}function Pa(a){Ha[a]&&Na(Ha[a])}La("onload",function(){Ia=!0;Na(Ha.init)});La("onpageshow",function(){Ja=!0;Na(Ha.show)});La(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Na(Ha.exit)});
|
||||||
function u(a,b,d,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.qc=b.comment;this.Pc=b;b=this.id.indexOf(".");0>b?this.Eb=this.id:(this.sc=this.id.substr(0,b),this.Eb=this.id.substr(b+1));this[a]=d;this.u={ready:!1,pb:!1,hc:!1,ba:!1,error:!1};this.Zb=null;this.u.error=!1;this.J={};this.C=null;this.ca=c||0;v.push(this)}var Oa=void 0,Pa={};
|
function u(a,b,d,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.rc=b.comment;this.Pc=b;b=this.id.indexOf(".");0>b?this.Eb=this.id:(this.tc=this.id.substr(0,b),this.Eb=this.id.substr(b+1));this[a]=d;this.j={ready:!1,pb:!1,ic:!1,ca:!1,error:!1};this.$b=null;this.j.error=!1;this.J={};this.D=null;this.da=c||0;v.push(this)}var Qa=void 0,Ra={};
|
||||||
if(window){Oa||(Oa=window.location.search.substr(1));for(var Qa,Ra=/\+/g,Sa=/([^&=]+)=?([^&]*)/g;Qa=Sa.exec(Oa);)Pa[decodeURIComponent(Qa[1].replace(Ra," "))]=decodeURIComponent(Qa[2].replace(Ra," "))}function Ta(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var d=typeof a;if("object"!==d&&"function"!==d)throw new TypeError;}b.prototype=a;return new b}
|
if(window){Qa||(Qa=window.location.search.substr(1));for(var Sa,Ta=/\+/g,Ua=/([^&=]+)=?([^&]*)/g;Sa=Ua.exec(Qa);)Ra[decodeURIComponent(Sa[1].replace(Ta," "))]=decodeURIComponent(Sa[2].replace(Ta," "))}function Va(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var d=typeof a;if("object"!==d&&"function"!==d)throw new TypeError;}b.prototype=a;return new b}
|
||||||
function w(a,b){b||(b=u);a.prototype=Ta(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ua=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ua={},v=[];function Va(a,b,d){Ua[a]&&b&&(Ua[a][b]=d)}function gb(a){var b,d=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var c=v[b];a&&c.id.indexOf(a)||d.push(c)}return d}
|
function w(a,b){b||(b=u);a.prototype=Va(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Wa=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Wa={},v=[];function Xa(a,b,d){Wa[a]&&b&&(Wa[a][b]=d)}function Ya(a){var b,d=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var c=v[b];a&&c.id.indexOf(a)||d.push(c)}return d}
|
||||||
function hb(a,b){var d;if(void 0!==a){var c;b&&(b=0<(c=b.indexOf("."))?b.substr(0,c+1):"");for(c=0;c<v.length;c++)if(d)d==v[c]&&(d=null);else if(!(a!=v[c].type||b&&v[c].id.indexOf(b)))return v[c]}return null}function y(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(d){t(d.message+" ("+a+")")}return b}
|
function Za(a,b){var d;if(void 0!==a){var c;b&&(b=0<(c=b.indexOf("."))?b.substr(0,c+1):"");for(c=0;c<v.length;c++)if(d)d==v[c]&&(d=null);else if(!(a!=v[c].type||b&&v[c].id.indexOf(b)))return v[c]}return null}function y(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(d){t(d.message+" ("+a+")")}return b}
|
||||||
function ib(a,b){b=C(b.parentNode,"pdp11-control");for(var d=0;d<b.length;d++)for(var c=b[d].childNodes,f=0;f<c.length;f++){var e=c[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=y(e))&&g.binding&&a.oa(g.type,g.binding,e,g.value),k=h.length}}}}
|
function $a(a,b){b=C(b.parentNode,"pdp11-control");for(var d=0;d<b.length;d++)for(var c=b[d].childNodes,f=0;f<c.length;f++){var e=c[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=y(e))&&g.binding&&a.ra(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||||
function C(a,b,d){d&&(b+="-"+d+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var c;d=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(c=a.length;b<c;b++)f.test(a[b].className)&&d.push(a[b]);return d}
|
function C(a,b,d){d&&(b+="-"+d+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var c;d=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(c=a.length;b<c;b++)f.test(a[b].className)&&d.push(a[b]);return d}
|
||||||
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},oa:function(a,b,d){switch(b){case "clear":return this.J[b]||(this.J[b]=d,d.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.hb=this.J[b]=d,d.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}}(d),
|
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ra:function(a,b,d){switch(b){case "clear":return this.J[b]||(this.J[b]=d,d.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.hb=this.J[b]=d,d.value="",this.g=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}}(d),
|
||||||
this.ka=function(a){this.f(a,this.Eb)}),!0;default:return!1}},log:function(){},f:function(){},status:function(a){this.f(this.Eb+": "+a)},ka:function(a,b,d){d=d||this.type;b||t((d?d+": ":"")+a)},La:function(){return this.u.ba=!0},Ka:function(a,b){b&&(this.u.ba=!1);return!0}};function jb(a,b){if(a.C){a===a.C?b|=0:b=b||a.ca;var d=a.C.ca&b;return!!b&&d===b||!!(d&a.C.Jc)}return!1}
|
this.ma=function(a){this.g(a,this.Eb)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.Eb+": "+a)},ma:function(a,b,d){d=d||this.type;b||t((d?d+": ":"")+a)},Ma:function(){return this.j.ca=!0},La:function(a,b){b&&(this.j.ca=!1);return!0}};function mb(a,b){if(a.D){a===a.D?b|=0:b=b||a.da;var d=a.D.da&b;return!!b&&d===b||!!(d&a.D.Jc)}return!1}
|
||||||
function kb(a,b){if(a.u.hc)return a.u.pb&&(a.u.pb=!1),a.u.hc=!1;if(a.u.error)return a.f(a.toString()+" error"),!1;a.u.pb=b;return a.u.pb}function lb(a,b){a.u.pb&&(b?a.u.hc=!0:void 0===b&&a.f(a.toString()+" busy"));return a.u.pb}function D(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.Zb;a.Zb=null;b&&b()}}function mb(a,b){b&&(a.u.ready?b():a.Zb=b);return a.u.ready}function nb(a,b){a.u.error=!0;a.ka(b)}
|
function nb(a,b){if(a.j.ic)return a.j.pb&&(a.j.pb=!1),a.j.ic=!1;if(a.j.error)return a.g(a.toString()+" error"),!1;a.j.pb=b;return a.j.pb}function ob(a,b){a.j.pb&&(b?a.j.ic=!0:void 0===b&&a.g(a.toString()+" busy"));return a.j.pb}function D(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.$b;a.$b=null;b&&b()}}function pb(a,b){b&&(a.j.ready?b():a.$b=b);return a.j.ready}function qb(a,b){a.j.error=!0;a.ma(b)}
|
||||||
var ob="undefined"!==typeof ArrayBuffer,pb=2,E=4,qb=6,pb=0|pb,rb=1|pb,E=0|E,sb=1|E,qb=0|qb,tb=1|qb,F={cpu:1,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 ub(a){u.call(this,"Panel",a,ub)}w(ub);l=ub.prototype;l.oa=function(a,b,d,c){return this.g&&this.g.oa(a,b,d,c)||this.b&&this.b.oa(a,b,d,c)||this.C&&this.C.oa(a,b,d,c)?!0:this.parent.oa.call(this,a,b,d,c)};
|
var rb="undefined"!==typeof ArrayBuffer,sb=2,E=4,tb=6,sb=0|sb,ub=1|sb,E=0|E,vb=1|E,tb=0|tb,wb=1|tb,F={cpu:1,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 xb(a){u.call(this,"Panel",a,xb)}w(xb);l=xb.prototype;l.ra=function(a,b,d,c){return this.u&&this.u.ra(a,b,d,c)||this.b&&this.b.ra(a,b,d,c)||this.D&&this.D.ra(a,b,d,c)?!0:this.parent.ra.call(this,a,b,d,c)};
|
||||||
l.Ya=function(a,b,d,c){this.g=a;this.A=b;this.b=d;this.C=c};l.La=function(a,b){b||vb();return!0};l.Ka=function(){return!0};l.ua=function(){};function vb(){for(var a=!1,b=C(document,"pdp11","panel"),d=0;d<b.length;d++){var c=b[d],f=y(c),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<v.length;g++)if(v[g].id===e){e=v[g];break a}}e=null}e||(a=!0,e=new ub(f));ib(e,c);a&&D(e)}}Ka(vb);
|
l.Za=function(a,b,d,c){this.u=a;this.C=b;this.b=d;this.D=c};l.Ma=function(a,b){b||yb();return!0};l.La=function(){return!0};l.ta=function(){};function yb(){for(var a=!1,b=C(document,"pdp11","panel"),d=0;d<b.length;d++){var c=b[d],f=y(c),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<v.length;g++)if(v[g].id===e){e=v[g];break a}}e=null}e||(a=!0,e=new xb(f));$a(e,c);a&&D(e)}}Ma(yb);
|
||||||
function wb(a,b,d){u.call(this,"Bus",a,wb);this.b=b;this.C=d;this.I=a.busWidth||16;this.D=Math.pow(2,this.I);this.g=this.D-1|0;this.R=(this.I>>1)+2;10>this.R&&(this.R=10);15<this.R&&(this.R=15);this.za=1<<this.R;this.K=this.za>>2;this.A=this.za-1;this.B=this.D/this.za|0;this.j=this.B-1;this.Ta=[];this.F=null;this.Jb=this.Fc;a=new G;xb(a,this.C);this.L=Array(this.B);for(b=0;b<this.B;b++)this.L[b]=a;this.Fb=Array(4);this.Fb[0]=yb;this.Fb[1]=zb;this.Fb[2]=Ab;this.Fb[3]=Bb;Cb(this,this.D-8192,8192,Db,
|
function zb(a,b,d){u.call(this,"Bus",a,zb);this.b=b;this.D=d;this.H=a.busWidth||16;this.B=Math.pow(2,this.H);this.C=this.B-1|0;this.S=(this.H>>1)+2;10>this.S&&(this.S=10);15<this.S&&(this.S=15);this.Aa=1<<this.S;this.K=this.Aa>>2;this.f=this.Aa-1;this.w=this.B/this.Aa|0;this.u=this.w-1;this.Ua=[];this.F=null;this.Kb=this.Fc;a=new G;Ab(a,this.D);this.L=Array(this.w);for(b=0;b<this.w;b++)this.L[b]=a;this.Fb=Array(4);this.Fb[0]=Bb;this.Fb[1]=Cb;this.Fb[2]=Db;this.Fb[3]=Eb;Fb(this,this.B-8192,8192,Gb,
|
||||||
this);Cb(this,57344,8192,Db,this);D(this)}w(wb);function yb(a,b){var d=this.controller,c=d.Ta[a];if(c){if(c[0])return c[0](b);if(c[2])return b&1?c[2](b&-2)>>8:c[2](b)&255}else if(b&1&&(c=d.Ta[a&-2],c[2]))return c[2](b&-2)>>8;d.f("warning: unconverted read access to byte @"+ca(b));return d.Jb(b,-1,1)}
|
this);Fb(this,57344,8192,Gb,this);D(this)}w(zb);function Bb(a,b){var d=this.controller,c=d.Ua[a];if(c){if(c[0])return c[0](b);if(c[2])return b&1?c[2](b&-2)>>8:c[2](b)&255}else if(b&1&&(c=d.Ua[a&-2],c[2]))return c[2](b&-2)>>8;d.g("warning: unconverted read access to byte @"+da(b));return d.Kb(b,-1,1)}
|
||||||
function zb(a,b,d){var c=this.controller,f=c.Ta[a];if(f){if(f[1]){f[1](b,d);return}if(f[3]){a=f[2]?f[2](d):0;if(d&1)f[3](a&255|b<<8,d&-2);else f[3](a&-256|b,d);return}}else if(d&1&&(f=c.Ta[a&-2],f[3])){d&=-2;a=f[2]?f[2](d):0;f[3](a&255|b<<8,d);return}c.f("warning: unconverted write access to byte @"+ca(d));c.Jb(d,b,1)}
|
function Cb(a,b,d){var c=this.controller,f=c.Ua[a];if(f){if(f[1]){f[1](b,d);return}if(f[3]){a=f[2]?f[2](d):0;if(d&1)f[3](a&255|b<<8,d&-2);else f[3](a&-256|b,d);return}}else if(d&1&&(f=c.Ua[a&-2],f[3])){d&=-2;a=f[2]?f[2](d):0;f[3](a&255|b<<8,d);return}c.g("warning: unconverted write access to byte @"+da(d));c.Kb(d,b,1)}
|
||||||
function Ab(a,b){var d=this.controller;if(a=d.Ta[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}d.f("warning: unconverted read access to word @"+ca(b));return d.Jb(b,-1,0)}function Bb(a,b,d){var c=this.controller;if(a=c.Ta[a]){if(a[3]){a[3](b,d);return}if(a[1]){a[1](b&255,d);a[1](b>>8,d+1);return}}c.f("warning: unconverted write access to word @"+ca(d));c.Jb(d,b,0)}l=wb.prototype;l.reset=function(){this.F&&this.F()};l.Fc=function(){return 0};l.La=function(a,b){b||this.reset();return!0};
|
function Db(a,b){var d=this.controller;if(a=d.Ua[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}d.g("warning: unconverted read access to word @"+da(b));return d.Kb(b,-1,0)}function Eb(a,b,d){var c=this.controller;if(a=c.Ua[a]){if(a[3]){a[3](b,d);return}if(a[1]){a[1](b&255,d);a[1](b>>8,d+1);return}}c.g("warning: unconverted write access to word @"+da(d));c.Kb(d,b,0)}l=zb.prototype;l.reset=function(){this.F&&this.F()};l.Fc=function(){return 0};l.Ma=function(a,b){b||this.reset();return!0};
|
||||||
function Cb(a,b,d,c,f){for(var e=b,g=d,h=e>>>a.R;0<g&&h<a.L.length;){var k=a.L[h],m=h*a.za,n=a.za-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==c&&k.controller==f){if(e+g<=k.w)return k.Xb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Xb){n=k.size-(e-m);n>g&&(n=g);k.Xb=e-k.w+n;e=m+a.za;g-=n;h++;continue}}return Pb(1,e,g)}e=new G(e,n,a.za,c,f);xb(e,a.C,k);a.L[h++]=e;e=m+a.za;g-=n}return 0>=g?(a.status(Math.floor(d/1024)+"Kb "+Qb[c]+" at "+r(b,8,!0)),!0):Pb(2,b,d)}
|
function Fb(a,b,d,c,f){for(var e=b,g=d,h=e>>>a.S;0<g&&h<a.L.length;){var k=a.L[h],m=h*a.Aa,n=a.Aa-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==c&&k.controller==f){if(e+g<=k.A)return k.Yb+=k.A-e,k.A=e,!0;if(e>=k.A+k.Yb){n=k.size-(e-m);n>g&&(n=g);k.Yb=e-k.A+n;e=m+a.Aa;g-=n;h++;continue}}return Hb(1,e,g)}e=new G(e,n,a.Aa,c,f);Ab(e,a.D,k);a.L[h++]=e;e=m+a.Aa;g-=n}return 0>=g?(a.status(Math.floor(d/1024)+"Kb "+Ib[c]+" at "+r(b,8,!0)),!0):Hb(2,b,d)}
|
||||||
l.Kb=function(a){return this.L[(a&this.g)>>>this.R].vb(a&this.A,a)};l.Ea=function(a){var b=a&this.A,d=(a&this.g)>>>this.R;return b!=this.A?this.L[d].Rb(b,a):this.L[d++].vb(b,a)|this.L[d&this.j].vb(0,a+1)<<8};function Rb(a,b){var d=b&a.A,c=(b&a.g)>>>a.R;return d!=a.A?a.L[c].lc(d,b):a.L[c++].Qb(d,b)|a.L[c&a.j].Qb(0,b+1)<<8}l.fc=function(a,b){this.L[(a&this.g)>>>this.R].Ab(a&this.A,b&255,a)};
|
l.Lb=function(a){return this.L[(a&this.C)>>>this.S].vb(a&this.f,a)};l.Ea=function(a){var b=a&this.f,d=(a&this.C)>>>this.S;return b!=this.f?this.L[d].Sb(b,a):this.L[d++].vb(b,a)|this.L[d&this.u].vb(0,a+1)<<8};function Jb(a,b){var d=b&a.f,c=(b&a.C)>>>a.S;return d!=a.f?a.L[c].mc(d,b):a.L[c++].Rb(d,b)|a.L[c&a.u].Rb(0,b+1)<<8}l.gc=function(a,b){this.L[(a&this.C)>>>this.S].Ab(a&this.f,b&255,a)};
|
||||||
l.nc=function(a,b){var d=a&this.A,c=(a&this.g)>>>this.R;d!=this.A?this.L[c].Ec(d,b&65535,a):(this.L[c++].Ab(d,b&255,a),this.L[c&this.j].Ab(0,b>>8&255,a+1))};function Sb(a){for(var b=0,d=[],c=0;c<a.B;c++){var f=a.L[c];if(f.Xa||f.Nc){d[b++]=c;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)}d[e]=f}}return d}function Pb(a,b,d){t("Memory block error ("+a+": "+r(b)+","+r(d)+")");return!1}
|
l.oc=function(a,b){var d=a&this.f,c=(a&this.C)>>>this.S;d!=this.f?this.L[c].Ec(d,b&65535,a):(this.L[c++].Ab(d,b&255,a),this.L[c&this.u].Ab(0,b>>8&255,a+1))};function Tb(a){for(var b=0,d=[],c=0;c<a.w;c++){var f=a.L[c];if(f.Ya||f.Nc){d[b++]=c;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)}d[e]=f}}return d}function Hb(a,b,d){t("Memory block error ("+a+": "+r(b)+","+r(d)+")");return!1}
|
||||||
function Tb(a){u.call(this,"Device",a,Tb);this.g={kc:[],Fa:0,pa:128,C:127,Lc:0};this.j={data:0,od:0,rb:20,kd:0};this.B={Lb:0,G:0};this.D={Tb:2496,ha:0,M:128,Ub:0,Sb:0,na:0,zc:0,ja:[],fb:[406,406,406,406],U:[12,12,12,12]};this.F={G:129,Ib:0,Y:0,Za:0,Ua:0,cb:0,ja:[],U:[40,40,40,40],fb:[1024,1024,512,512],Hc:[157,157,29,29]};this.I={b:[8210,8208,8210,8226],U:[22,22,22,50],eb:[19,19,19,32],gc:[815,411,815,630],ja:[],N:2176,yb:0,wb:0,Ba:[0,0,0,0,0,0,0,0],Aa:0,la:[4544,4544,4544,4544,4544,4544,4544,4544],
|
function Ub(a){u.call(this,"Device",a,Ub);this.f={lc:[],Fa:0,sa:128,D:127,Lc:0};this.u={data:0,od:0,rb:20,kd:0};this.w={Mb:0,G:0};this.B={Ub:2496,ja:0,M:128,Vb:0,Tb:0,qa:0,zc:0,la:[],fb:[406,406,406,406],U:[12,12,12,12]};this.F={G:129,Ib:0,Z:0,$a:0,Va:0,cb:0,la:[],U:[40,40,40,40],fb:[1024,1024,512,512],Hc:[157,157,29,29]};this.H={b:[8210,8208,8210,8226],U:[22,22,22,50],eb:[19,19,19,32],hc:[815,411,815,630],la:[],N:2176,yb:0,wb:0,Ca:[0,0,0,0,0,0,0,0],Ba:0,na:[4544,4544,4544,4544,4544,4544,4544,4544],
|
||||||
xb:[0,0,0,0,0,0,0,0],mb:0,hd:[0,0,0,0,0,0,0,0],Ac:0,Bc:[0,0,0,0,0,0,0,0],A:[0,0,0,0,0,0,0,0],jd:[1,2,3,4,5,6,7,8],Cc:[0,0,0,0,0,0,0,0],Pa:[0,0,0,0,0,0,0,0],ec:[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],dd:[0,0,0,0,0,0,0,0],ed:[0,0,0,0,0,0,0,0],bb:0,mc:0}}w(Tb);
|
xb:[0,0,0,0,0,0,0,0],mb:0,hd:[0,0,0,0,0,0,0,0],Ac:0,Bc:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],jd:[1,2,3,4,5,6,7,8],Cc:[0,0,0,0,0,0,0,0],Qa:[0,0,0,0,0,0,0,0],fc:[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],dd:[0,0,0,0,0,0,0,0],ed:[0,0,0,0,0,0,0,0],bb:0,nc:0}}w(Ub);
|
||||||
var Ub=[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 Vb=[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=Tb.prototype;
|
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=Ub.prototype;
|
||||||
l.Ya=function(a,b,d,c){this.A=b;this.b=d;this.C=c;a=Vb;for(var f in a){var e=a[f];d=b;c=+f;for(var g=e[0]?e[0].bind(this):null,h=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,m=+f;m<=c;m+=2){var n=m&8191;void 0!==d.Ta[n]?t("I/O address already registered: "+r(m,8,!0)):d.Ta[n]=[g,h,k,e,!1]}}f=this.Gc.bind(this);b.F=this.reset.bind(this);b.Jb=f;D(this)};l.Zc=function(){return Wb(this.b)};l.md=function(a){Xb(this.b,a&-1809|Wb(this.b)&1808);this.b.S|=128};l.$c=function(){return this.g.pa};
|
l.Za=function(a,b,d,c){this.C=b;this.b=d;this.D=c;a=Wb;for(var f in a){var e=a[f];d=b;c=+f;for(var g=e[0]?e[0].bind(this):null,h=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,m=+f;m<=c;m+=2){var n=m&8191;void 0!==d.Ua[n]?t("I/O address already registered: "+r(m,8,!0)):d.Ua[n]=[g,h,k,e,!1]}}f=this.Gc.bind(this);b.F=this.reset.bind(this);b.Kb=f;D(this)};l.Zc=function(){return Xb(this.b)};l.md=function(a){Yb(this.b,a&-1809|Xb(this.b)&1808);this.b.T|=128};l.$c=function(){return this.f.sa};
|
||||||
l.nd=function(a){if(128==(this.g.pa&192)&&a&64){var b=this;H(this.b,8,4,52,function(){b.g.pa|=128;return!!(b.g.pa&64)})}this.g.pa=this.g.pa&128|a&-129};
|
l.nd=function(a){if(128==(this.f.sa&192)&&a&64){var b=this;H(this.b,8,4,52,function(){b.f.sa|=128;return!!(b.f.sa&64)})}this.f.sa=this.f.sa&128|a&-129};
|
||||||
function Yb(a){var b=a.D,d,c,f,e=b.na>>13&7;"undefined"===typeof b.ja[e]&&(b.ja[e]={cache:[],postProcess:a.ad,drive:e,blocksize:256,mapped:0,maxblock:b.fb[e]*b.U[e],url:"rk"+e+".dsk"});b.M&=-129;switch(b.M>>1&7){case 0:b.Tb=2496;b.ha=0;b.M=128;b.na=0;break;case 1:if((b.na>>4&511)>=b.fb[e]){b.ha|=32832;b.M|=49152;break}if((b.na&15)>=b.U[e]){b.ha|=32800;b.M|=49152;break}d=(b.na>>4&511)*b.U[e]+(b.na&15);c=(b.M&48)<<12|b.Sb;f=65536-b.Ub&65535;Zb(a,b.ja[e],d,c,f);return;case 2:if((b.na>>4&511)>=b.fb[e])b.ha|=
|
function Zb(a){var b=a.B,d,c,f,e=b.qa>>13&7;"undefined"===typeof b.la[e]&&(b.la[e]={cache:[],postProcess:a.ad,drive:e,blocksize:256,mapped:0,maxblock:b.fb[e]*b.U[e],url:"rk"+e+".dsk"});b.M&=-129;switch(b.M>>1&7){case 0:b.Ub=2496;b.ja=0;b.M=128;b.qa=0;break;case 1:if((b.qa>>4&511)>=b.fb[e]){b.ja|=32832;b.M|=49152;break}if((b.qa&15)>=b.U[e]){b.ja|=32800;b.M|=49152;break}d=(b.qa>>4&511)*b.U[e]+(b.qa&15);c=(b.M&48)<<12|b.Tb;f=65536-b.Vb&65535;$b(a,b.la[e],d,c,f);return;case 2:if((b.qa>>4&511)>=b.fb[e])b.ja|=
|
||||||
32832,b.M|=49152;else if((b.na&15)>=b.U[e])b.ha|=32800,b.M|=49152;else{d=(b.na>>4&511)*b.U[e]+(b.na&15);c=(b.M&48)<<12|b.Sb;f=65536-b.Ub&65535;a.bc(b.ja[e],d,c,f);return}}b.Tb=e<<13|b.Tb&8176|b.na%9&15;H(a.b,20,5,144,function(){b.M=b.M&65534|128;return!!(b.M&64)})}l.ad=function(a,b,d,c,f){var e=this.D;e.Sb=c&65535;e.M=e.M&-49|c>>12&48;e.Ub=65536-f&65535;switch(a){case 1:e.ha|=33024;e.M|=49152;break;case 2:e.ha|=33792,e.M|=49152}H(this.b,20,5,144,function(){e.M=e.M&65534|128;return!!(e.M&64)})};
|
32832,b.M|=49152;else if((b.qa&15)>=b.U[e])b.ja|=32800,b.M|=49152;else{d=(b.qa>>4&511)*b.U[e]+(b.qa&15);c=(b.M&48)<<12|b.Tb;f=65536-b.Vb&65535;a.cc(b.la[e],d,c,f);return}}b.Ub=e<<13|b.Ub&8176|b.qa%9&15;H(a.b,20,5,144,function(){b.M=b.M&65534|128;return!!(b.M&64)})}l.ad=function(a,b,d,c,f){var e=this.B;e.Tb=c&65535;e.M=e.M&-49|c>>12&48;e.Vb=65536-f&65535;switch(a){case 1:e.ja|=33024;e.M|=49152;break;case 2:e.ja|=33792,e.M|=49152}H(this.b,20,5,144,function(){e.M=e.M&65534|128;return!!(e.M&64)})};
|
||||||
function $b(a){var b=a.F,d,c,f,e=b.G>>8&3;b.G&=-2;"undefined"===typeof b.ja[e]&&(b.ja[e]={cache:[],postProcess:a.bd,drive:e,blocksize:128,mapped:1,maxblock:b.fb[e]*b.U[e],url:"rl"+e+".dsk"});switch(b.G>>1&7){case 2:b.Za&8&&(b.G&=63);b.Za=b.Hc[e]|b.cb&64;break;case 3:1==(b.Y&3)&&(b.cb=b.Y&4?b.cb+(b.Y&65408)&65408|b.Y<<2&64:b.cb-(b.Y&65408)&65408|b.Y<<2&64,b.Y=b.cb);break;case 4:b.Za=b.cb;break;case 5:if(b.Y>>6>=b.fb[e]){b.G|=37888;break}if((b.Y&63)>=b.U[e]){b.G|=37888;break}d=(b.Y>>6)*b.U[e]+(b.Y&
|
function ac(a){var b=a.F,d,c,f,e=b.G>>8&3;b.G&=-2;"undefined"===typeof b.la[e]&&(b.la[e]={cache:[],postProcess:a.bd,drive:e,blocksize:128,mapped:1,maxblock:b.fb[e]*b.U[e],url:"rl"+e+".dsk"});switch(b.G>>1&7){case 2:b.$a&8&&(b.G&=63);b.$a=b.Hc[e]|b.cb&64;break;case 3:1==(b.Z&3)&&(b.cb=b.Z&4?b.cb+(b.Z&65408)&65408|b.Z<<2&64:b.cb-(b.Z&65408)&65408|b.Z<<2&64,b.Z=b.cb);break;case 4:b.$a=b.cb;break;case 5:if(b.Z>>6>=b.fb[e]){b.G|=37888;break}if((b.Z&63)>=b.U[e]){b.G|=37888;break}d=(b.Z>>6)*b.U[e]+(b.Z&
|
||||||
63);c=(b.Ua&63)<<16|b.Ib;f=65536-b.Za&65535;Zb(a,b.ja[e],d,c,f);return;case 6:if(b.Y>>6>=b.fb[e])b.G|=37888;else if((b.Y&63)>=b.U[e])b.G|=37888;else{d=(b.Y>>6)*b.U[e]+(b.Y&63);c=(b.Ua&63)<<16|b.Ib;f=65536-b.Za&65535;a.bc(b.ja[e],d,c,f);return}}H(a.b,20,5,112,function(){b.G|=129;return!!(b.G&64)})}
|
63);c=(b.Va&63)<<16|b.Ib;f=65536-b.$a&65535;$b(a,b.la[e],d,c,f);return;case 6:if(b.Z>>6>=b.fb[e])b.G|=37888;else if((b.Z&63)>=b.U[e])b.G|=37888;else{d=(b.Z>>6)*b.U[e]+(b.Z&63);c=(b.Va&63)<<16|b.Ib;f=65536-b.$a&65535;a.cc(b.la[e],d,c,f);return}}H(a.b,20,5,112,function(){b.G|=129;return!!(b.G&64)})}
|
||||||
l.bd=function(a,b,d,c,f){var e=this.F;e.Ib=c&65535;e.G=e.G&-49|c>>12&48;e.Ua=c>>16&63;e.Y=~~(d/e.U[b.Ja])<<6|d%e.U[b.Ja];e.cb=e.Y;e.Za=65536-f&65535;switch(a){case 1:e.G|=33792;break;case 2:e.G|=40960}H(this.b,20,5,112,function(){e.G|=129;return!!(e.G&64)})};function ac(a){a=a.I;a.N=2176;a.Aa=0;a.la=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.mb=a.yb=a.wb=a.bb=a.mc=0}
|
l.bd=function(a,b,d,c,f){var e=this.F;e.Ib=c&65535;e.G=e.G&-49|c>>12&48;e.Va=c>>16&63;e.Z=~~(d/e.U[b.Ka])<<6|d%e.U[b.Ka];e.cb=e.Z;e.$a=65536-f&65535;switch(a){case 1:e.G|=33792;break;case 2:e.G|=40960}H(this.b,20,5,112,function(){e.G|=129;return!!(e.G&64)})};function bc(a){a=a.H;a.N=2176;a.Ba=0;a.na=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.mb=a.yb=a.wb=a.bb=a.nc=0}
|
||||||
function bc(a,b){var d=a.I,c,f,e;d.N&=-16513;d.Aa&=-2049;d.la[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof d.ja[b]&&(d.ja[b]={cache:[],postProcess:a.cd,drive:b,blocksize:256,mapped:0,maxblock:d.gc[0]*d.eb[0]*d.U[0],url:"rp"+b+".dsk"});switch(d.N&63){case 5:d.ec[b]=d.Pa[b];d.N|=32896;d.la[b]|=32896;d.mb|=1<<b;break;case 9:ac(a);break;case 19:d.la[b]|=64;break;case 49:if(d.Pa[b]>=d.gc[0]||d.Ba[b]>>8>=d.eb[0]||(d.Ba[b]&255)>=d.U[0]){d.xb[b]|=1024;d.N|=49152;break}c=(d.Pa[b]*d.eb[0]+(d.Ba[b]>>8))*d.U[0]+
|
function cc(a,b){var d=a.H,c,f,e;d.N&=-16513;d.Ba&=-2049;d.na[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof d.la[b]&&(d.la[b]={cache:[],postProcess:a.cd,drive:b,blocksize:256,mapped:0,maxblock:d.hc[0]*d.eb[0]*d.U[0],url:"rp"+b+".dsk"});switch(d.N&63){case 5:d.fc[b]=d.Qa[b];d.N|=32896;d.na[b]|=32896;d.mb|=1<<b;break;case 9:bc(a);break;case 19:d.na[b]|=64;break;case 49:if(d.Qa[b]>=d.hc[0]||d.Ca[b]>>8>=d.eb[0]||(d.Ca[b]&255)>=d.U[0]){d.xb[b]|=1024;d.N|=49152;break}c=(d.Qa[b]*d.eb[0]+(d.Ca[b]>>8))*d.U[0]+
|
||||||
(d.Ba[b]&255);f=(d.bb&63)<<16|d.wb;e=65536-d.yb&65535;Zb(a,d.ja[b],c,f,e);return;case 57:if(d.Pa[b]>=d.gc[0]||d.Ba[b]>>8>=d.eb[0]||(d.Ba[b]&255)>=d.U[0])d.xb[b]|=1024,d.N|=49152;else{c=(d.Pa[b]*d.eb[0]+(d.Ba[b]>>8))*d.U[0]+(d.Ba[b]&255);f=(d.bb&63)<<16|d.wb;e=65536-d.yb&65535;a.bc(d.ja[b],c,f,e);return}}H(a.b,3,5,172,function(){d.N=d.N&65534|128;d.la[b]|=128;return!!(d.N&64)})}
|
(d.Ca[b]&255);f=(d.bb&63)<<16|d.wb;e=65536-d.yb&65535;$b(a,d.la[b],c,f,e);return;case 57:if(d.Qa[b]>=d.hc[0]||d.Ca[b]>>8>=d.eb[0]||(d.Ca[b]&255)>=d.U[0])d.xb[b]|=1024,d.N|=49152;else{c=(d.Qa[b]*d.eb[0]+(d.Ca[b]>>8))*d.U[0]+(d.Ca[b]&255);f=(d.bb&63)<<16|d.wb;e=65536-d.yb&65535;a.cc(d.la[b],c,f,e);return}}H(a.b,3,5,172,function(){d.N=d.N&65534|128;d.na[b]|=128;return!!(d.N&64)})}
|
||||||
l.cd=function(a,b,d,c,f){var e=this.I;e.yb=65536-f&65535;e.wb=c&65535;e.N=e.N&-769|c>>8&768;e.bb=c>>16&63;f=~~(d/e.U[0]);c=~~(f/e.eb[0]);e.Ba[b.Ja]=f%e.eb[0]<<8|d%e.U[0];e.ec[b.Ja]=e.Pa[b.Ja]=c;e.mb|=1<<b.Ja;d>=b.Wc-1&&(e.la[b.Ja]|=1024);switch(a){case 1:e.Aa|=512;e.N|=49152;break;case 2:e.Aa|=2048,e.N|=49152}H(this.b,20,5,172,function(){e.la[b.Ja]|=128;e.N=e.N&65534|128;return!!(e.N&64)})};l.Tc=function(){this.B.G|=128;this.B.G&64&&H(this.b,0,6,64)};
|
l.cd=function(a,b,d,c,f){var e=this.H;e.yb=65536-f&65535;e.wb=c&65535;e.N=e.N&-769|c>>8&768;e.bb=c>>16&63;f=~~(d/e.U[0]);c=~~(f/e.eb[0]);e.Ca[b.Ka]=f%e.eb[0]<<8|d%e.U[0];e.fc[b.Ka]=e.Qa[b.Ka]=c;e.mb|=1<<b.Ka;d>=b.Wc-1&&(e.na[b.Ka]|=1024);switch(a){case 1:e.Ba|=512;e.N|=49152;break;case 2:e.Ba|=2048,e.N|=49152}H(this.b,20,5,172,function(){e.na[b.Ka]|=128;e.N=e.N&65534|128;return!!(e.N&64)})};l.Tc=function(){this.w.G|=128;this.w.G&64&&H(this.b,0,6,64)};
|
||||||
function cc(a,b,d,c,f,e){var g=~~((e+d.Va-1)/d.Va),h=new XMLHttpRequest;2048>g&&c+2048<d.Wc&&(g=2048);h.open("GET",d.url,!0);h.setRequestHeader("Range","bytes="+(c*d.Va<<1)+"-"+(((c+g)*d.Va<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,q,p;m=h.response;if(h.status&&206!=h.status||!m)d.ac(1,d,c,f,e);else{m=new Uint8Array(m);n=c;for(p=0;p<m.length;){if("undefined"===typeof d.cache[n])for(d.cache[n]=[],q=0;q<d.Va;q++)d.cache[n][q]=p<m.length?
|
function dc(a,b,d,c,f,e){var g=~~((e+d.Wa-1)/d.Wa),h=new XMLHttpRequest;2048>g&&c+2048<d.Wc&&(g=2048);h.open("GET",d.url,!0);h.setRequestHeader("Range","bytes="+(c*d.Wa<<1)+"-"+(((c+g)*d.Wa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,q,p;m=h.response;if(h.status&&206!=h.status||!m)d.bc(1,d,c,f,e);else{m=new Uint8Array(m);n=c;for(p=0;p<m.length;){if("undefined"===typeof d.cache[n])for(d.cache[n]=[],q=0;q<d.Wa;q++)d.cache[n][q]=p<m.length?
|
||||||
m[p]&255|m[p+1]<<8&65280:0,p+=2;else p+=d.Va<<1;n++}g(d,c,f,e)}}};h.send(null)}function I(a,b,d,c,f){if(d&1){if(!f)return J(a.b,4,122);c=0<=c?c<<8&65280|b&255:b}else 0<=c?f&&(c=b&65280|c&255):c=b;return c}l.bc=function(a,b,d,c){for(var f;0<c;){if("undefined"===typeof a.cache[b]){cc(this,this.bc,a,b,d,c);return}for(f=0;f<a.Va&&0<c;f++){if(0>dc(this.b,a.Vc?ec(this.b,d):d,a.cache[b][f])){a.ac(2,a,b,d,c);return}d+=2;--c}b++}a.ac(0,a,b,d,c)};
|
m[p]&255|m[p+1]<<8&65280:0,p+=2;else p+=d.Wa<<1;n++}g(d,c,f,e)}}};h.send(null)}function I(a,b,d,c,f){if(d&1){if(!f)return J(a.b,4,122);c=0<=c?c<<8&65280|b&255:b}else 0<=c?f&&(c=b&65280|c&255):c=b;return c}l.cc=function(a,b,d,c){for(var f;0<c;){if("undefined"===typeof a.cache[b]){dc(this,this.cc,a,b,d,c);return}for(f=0;f<a.Wa&&0<c;f++){if(0>ec(this.b,a.Vc?fc(this.b,d):d,a.cache[b][f])){a.bc(2,a,b,d,c);return}d+=2;--c}b++}a.bc(0,a,b,d,c)};
|
||||||
function Zb(a,b,d,c,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[d])for(b.cache[d]=[],e=0;e<b.Va;e++)b.cache[d][e]=0;for(e=0;e<b.Va&&0<f;e++){g=a.b.cc(b.Vc?ec(a.b,c):c);if(0>g){b.ac(2,b,d,c,f);return}b.cache[d][e]=g;c+=2;--f}d++}b.ac(0,b,d,c,f)}l.reset=function(){this.j.rb=this.j.rb&-120|20;this.g.Fa=0;this.g.pa=128;this.B.G=0;this.D.M=128;this.F.G=128;ac(this)};
|
function $b(a,b,d,c,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[d])for(b.cache[d]=[],e=0;e<b.Wa;e++)b.cache[d][e]=0;for(e=0;e<b.Wa&&0<f;e++){g=a.b.dc(b.Vc?fc(a.b,c):c);if(0>g){b.bc(2,b,d,c,f);return}b.cache[d][e]=g;c+=2;--f}d++}b.bc(0,b,d,c,f)}l.reset=function(){this.u.rb=this.u.rb&-120|20;this.f.Fa=0;this.f.sa=128;this.w.G=0;this.B.M=128;this.F.G=128;bc(this)};
|
||||||
l.Gc=function(a,b,d){var c,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?c=e.Na&65280:(a&1&&(b<<=8),e.Na=b|255,c=0);break;case 4194298:if(0>b)c=e.dc;else{a&1&&(b<<=8);if(c=b&65024){f=c>>9;do c+=34;while(f>>=1)}e.dc=c;e.$a=2}break;case 4194294:if(70!==e.ib)return J(e,4,222);0>b?c=e.H:c=e.H=0;break;case 4194292:if(70!==e.ib)return J(e,4,224);c=1;break;case 4194290:if(70!==e.ib)return J(e,4,226);c=0;break;case 4194288:if(70!==e.ib)return J(e,4,228);c=61183;break;case 4194296:0<=
|
l.Gc=function(a,b,d){var c,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?c=e.Oa&65280:(a&1&&(b<<=8),e.Oa=b|255,c=0);break;case 4194298:if(0>b)c=e.ec;else{a&1&&(b<<=8);if(c=b&65024){f=c>>9;do c+=34;while(f>>=1)}e.ec=c;e.Na=2}break;case 4194294:if(70!==e.ib)return J(e,4,222);0>b?c=e.I:c=e.I=0;break;case 4194292:if(70!==e.ib)return J(e,4,224);c=1;break;case 4194290:if(70!==e.ib)return J(e,4,226);c=0;break;case 4194288:if(70!==e.ib)return J(e,4,228);c=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.ib)return J(e,4,232);f=a-4194272>>1;0>b?c=e.jc[f]:(c=I(this,e.jc[f],a,b,d),0<=c&&(e.jc[f]=c));break;case 4194254:return a&1?e.qa>>14&1?(0<=b&&(e.i[6]=b),c=e.i[6]):(0<=b&&(e.Oa[3]=b),c=e.Oa[3]):e.qa>>14&0?(0<=b&&(e.i[6]=b),c=e.i[6]):(0<=b&&(e.Oa[1]=b),c=e.Oa[1]),c;case 4194252:case 4194250:case 4194248:return f=a&7,e.qa&2048?(0<=b&&(e.i[f]=b),c=e.i[f]):(0<=b&&(e.ab[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.ib)return J(e,4,232);f=a-4194272>>1;0>b?c=e.kc[f]:(c=I(this,e.kc[f],a,b,d),0<=c&&(e.kc[f]=c));break;case 4194254:return a&1?e.ga>>14&1?(0<=b&&(e.i[6]=b),c=e.i[6]):(0<=b&&(e.Pa[3]=b),c=e.Pa[3]):e.ga>>14&0?(0<=b&&(e.i[6]=b),c=e.i[6]):(0<=b&&(e.Pa[1]=b),c=e.Pa[1]),c;case 4194252:case 4194250:case 4194248:return f=a&7,e.ga&2048?(0<=b&&(e.i[f]=b),c=e.i[f]):(0<=b&&(e.ab[f]=
|
||||||
b),c=e.ab[f]),c;case 4194246:return a&1?(0<=b&&(e.i[7]=b),c=e.i[7]):e.qa>>14&0?(0<=b&&(e.i[6]=b),c=e.i[6]):(0<=b&&(e.Oa[0]=b),c=e.Oa[0]),c;case 4194244:case 4194242:case 4194240:return f=a&7,e.qa&2048?(0<=b&&(e.ab[f]=b),c=e.ab[f]):(0<=b&&(e.i[f]=b),c=e.i[f]),c;default:return e.H|=16,J(e,4,124)}break;case 4194176:f=a>>1&31;c=I(this,e.ga[3][f],a,b,d);0<=c&&(e.ga[3][f]=c,e.ga[3][f&15]&=65295);break;case 4194112:var g=this.g;f=this.B;switch(a&-2){case 4194174:c=I(this,e.Db,a,b,d);0<=c&&(e.Db=c);break;
|
b),c=e.ab[f]),c;case 4194246:return a&1?(0<=b&&(e.i[7]=b),c=e.i[7]):e.ga>>14&0?(0<=b&&(e.i[6]=b),c=e.i[6]):(0<=b&&(e.Pa[0]=b),c=e.Pa[0]),c;case 4194244:case 4194242:case 4194240:return f=a&7,e.ga&2048?(0<=b&&(e.ab[f]=b),c=e.ab[f]):(0<=b&&(e.i[f]=b),c=e.i[f]),c;default:return e.I|=16,J(e,4,124)}break;case 4194176:f=a>>1&31;c=I(this,e.ia[3][f],a,b,d);0<=c&&(e.ia[3][f]=c,e.ia[3][f&15]&=65295);break;case 4194112:var g=this.f;f=this.w;switch(a&-2){case 4194174:c=I(this,e.Db,a,b,d);0<=c&&(e.Db=c);break;
|
||||||
case 4194172:c=e.Qa;c&65280&&(c=(c<<8|c>>8)&65535);break;case 4194170:e.aa=e.aa&62337|e.Mb<<5|e.$b<<1;0>b?c=e.aa:(c=I(this,e.aa,a,b,d),0<=c&&(e.aa=c&=62337,e.Mb=c>>5&3,e.$b=c>>1&15,c&257?(f=2,e.Ra&16&&(f=1),e.sb=c&1?pb|E:E):(e.sb=0,f=4),this.j.rb=this.j.rb&-8|f));break;case 4194168:0>b?c=this.j.kd&65535:(c=I(this,this.j.data,a,b,d),0<=c&&(this.j.data=c));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.pa&=-129,H(e,100,4,52,function(){g.pa|=128;return!!(g.pa&64)}));c=0;break;case 4194164:break;case 4194162:c=
|
case 4194172:c=e.Ra;c&65280&&(c=(c<<8|c>>8)&65535);break;case 4194170:e.ba=e.ba&62337|e.Nb<<5|e.ac<<1;0>b?c=e.ba:(c=I(this,e.ba,a,b,d),0<=c&&(e.ba=c&=62337,e.Nb=c>>5&3,e.ac=c>>1&15,c&257?(f=2,e.Sa&16&&(f=1),e.sb=c&1?sb|E:E):(e.sb=0,f=4),this.u.rb=this.u.rb&-8|f));break;case 4194168:0>b?c=this.u.kd&65535:(c=I(this,this.u.data,a,b,d),0<=c&&(this.u.data=c));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.sa&=-129,H(e,100,4,52,function(){g.sa|=128;return!!(g.sa&64)}));c=0;break;case 4194164:break;case 4194162:c=
|
||||||
0;0>b&&(g.Fa&=-129,0<g.kc.length&&(c=g.kc.shift(),0<g.kc.length&&setTimeout(function(){g.Fa|=128;g.Fa&64&&H(e,40,4,48)},50)));break;case 4194160:0>b?c=g.Fa:(c=I(this,g.Fa,a,b,d),0<=c&&(g.Fa=g.Fa&128|c&-129));break;case 4194150:0>b?(c=f.G,f.G&=-129):(c=I(this,f.G,a,b,d),0<=c&&(c&64&&!f.Lb&&(setInterval(this.Tc.bind(this),25),f.Lb=1),f.G=c&-129));break;default:return e.H|=16,J(e,4,126)}break;case 4194048:f=this.D;switch(a&-2){case 4194048:c=I(this,f.Tb,a,b,d);0<=c&&(f.Tb=c);break;case 4194050:c=I(this,
|
0;0>b&&(g.Fa&=-129,0<g.lc.length&&(c=g.lc.shift(),0<g.lc.length&&setTimeout(function(){g.Fa|=128;g.Fa&64&&H(e,40,4,48)},50)));break;case 4194160:0>b?c=g.Fa:(c=I(this,g.Fa,a,b,d),0<=c&&(g.Fa=g.Fa&128|c&-129));break;case 4194150:0>b?(c=f.G,f.G&=-129):(c=I(this,f.G,a,b,d),0<=c&&(c&64&&!f.Mb&&(setInterval(this.Tc.bind(this),25),f.Mb=1),f.G=c&-129));break;default:return e.I|=16,J(e,4,126)}break;case 4194048:f=this.B;switch(a&-2){case 4194048:c=I(this,f.Ub,a,b,d);0<=c&&(f.Ub=c);break;case 4194050:c=I(this,
|
||||||
f.ha,a,b,d);0<=c&&(f.ha=c);break;case 4194052:c=I(this,f.M,a,b,d);0<=b&&0<=c&&(f.M=c&-36993|f.M&36992,f.M&1&&Yb(this));break;case 4194054:c=I(this,f.Ub,a,b,d);0<=c&&(f.Ub=c);break;case 4194056:c=I(this,f.Sb,a,b,d);0<=c&&(f.Sb=c);break;case 4194058:c=I(this,f.na,a,b,d);0<=c&&(f.na=c);break;case 4194060:break;case 4194062:c=I(this,f.zc,a,b,d);0<=c&&(f.zc=c);break;default:return e.H|=16,J(e,4,128)}break;case 4193728:var h=this.I;f=h.Aa&7;switch(a&-2){case 4193728:c=I(this,h.N,a,b,d);0<=b&&0<=c&&(h.bb=
|
f.ja,a,b,d);0<=c&&(f.ja=c);break;case 4194052:c=I(this,f.M,a,b,d);0<=b&&0<=c&&(f.M=c&-36993|f.M&36992,f.M&1&&Zb(this));break;case 4194054:c=I(this,f.Vb,a,b,d);0<=c&&(f.Vb=c);break;case 4194056:c=I(this,f.Tb,a,b,d);0<=c&&(f.Tb=c);break;case 4194058:c=I(this,f.qa,a,b,d);0<=c&&(f.qa=c);break;case 4194060:break;case 4194062:c=I(this,f.zc,a,b,d);0<=c&&(f.zc=c);break;default:return e.I|=16,J(e,4,128)}break;case 4193728:var h=this.H;f=h.Ba&7;switch(a&-2){case 4193728:c=I(this,h.N,a,b,d);0<=b&&0<=c&&(h.bb=
|
||||||
h.bb&60|c>>8&3,h.N=c&17279|h.N&34944|2048,c&1&&h.N&128?bc(this,f):192==(c&192)&&H(e,0,5,172));break;case 4193730:c=I(this,h.yb,a,b,d);0<=c&&(h.yb=c);break;case 4193732:c=I(this,h.wb,a,b,d);0<=c&&(h.wb=c&65534);break;case 4193734:c=I(this,h.Ba[f],a,b,d);0<=c&&(h.Ba[f]=c&7967);break;case 4193736:c=I(this,h.Aa,a,b,d);0<=c&&(h.Aa=c&63|h.Aa&65472,c&128&&ac(this));break;case 4193738:c=h.la[f];break;case 4193740:c=h.xb[f];break;case 4193742:c=I(this,h.mb,a,b,d);0<=c&&(h.mb=c&255);break;case 4193744:c=h.hd[f];
|
h.bb&60|c>>8&3,h.N=c&17279|h.N&34944|2048,c&1&&h.N&128?cc(this,f):192==(c&192)&&H(e,0,5,172));break;case 4193730:c=I(this,h.yb,a,b,d);0<=c&&(h.yb=c);break;case 4193732:c=I(this,h.wb,a,b,d);0<=c&&(h.wb=c&65534);break;case 4193734:c=I(this,h.Ca[f],a,b,d);0<=c&&(h.Ca[f]=c&7967);break;case 4193736:c=I(this,h.Ba,a,b,d);0<=c&&(h.Ba=c&63|h.Ba&65472,c&128&&bc(this));break;case 4193738:c=h.na[f];break;case 4193740:c=h.xb[f];break;case 4193742:c=I(this,h.mb,a,b,d);0<=c&&(h.mb=c&255);break;case 4193744:c=h.hd[f];
|
||||||
break;case 4193746:c=I(this,h.Ac,a,b,d);0<=c&&(h.Ac=c);break;case 4193748:c=I(this,h.Bc[f],a,b,d);0<=c&&(h.Bc[f]=c&1023);break;case 4193750:c=8210;break;case 4193752:c=h.jd[f];break;case 4193754:c=I(this,h.Cc[f],a,b,d);0<=c&&(h.Cc[f]=c);break;case 4193756:c=I(this,h.Pa[f],a,b,d);0<=c&&(h.Pa[f]=c&511);break;case 4193758:h.ec[f]=h.Pa[f];c=h.ec[f];break;case 4193760:c=h.fd[f];break;case 4193762:c=h.gd[f];break;case 4193764:c=h.dd[f];break;case 4193766:c=h.ed[f];break;case 4193768:c=I(this,h.bb,a,b,d);
|
break;case 4193746:c=I(this,h.Ac,a,b,d);0<=c&&(h.Ac=c);break;case 4193748:c=I(this,h.Bc[f],a,b,d);0<=c&&(h.Bc[f]=c&1023);break;case 4193750:c=8210;break;case 4193752:c=h.jd[f];break;case 4193754:c=I(this,h.Cc[f],a,b,d);0<=c&&(h.Cc[f]=c);break;case 4193756:c=I(this,h.Qa[f],a,b,d);0<=c&&(h.Qa[f]=c&511);break;case 4193758:h.fc[f]=h.Qa[f];c=h.fc[f];break;case 4193760:c=h.fd[f];break;case 4193762:c=h.gd[f];break;case 4193764:c=h.dd[f];break;case 4193766:c=h.ed[f];break;case 4193768:c=I(this,h.bb,a,b,d);
|
||||||
0<=c&&(h.bb=c&63,h.N=h.N&-769|(c&3)<<8);break;case 4193770:c=I(this,h.mc,a,b,d);0<=c&&(h.mc=c);break;default:return e.H|=16,J(e,4,132)}break;case 4192512:f=this.F;switch(a&-2){case 4192512:c=I(this,f.G,a,b,d);0<=b&&0<=c&&(f.Ua=f.Ua&60|c>>4&3,f.G=f.G&-1023|c&1022,f.G&128||$b(this));break;case 4192514:c=I(this,f.Ib,a,b,d);0<=c&&(f.Ib=c&65534);break;case 4192516:c=I(this,f.Y,a,b,d);0<=c&&(f.Y=c);break;case 4192518:c=I(this,f.Za,a,b,d);0<=c&&(f.Za=c);break;case 4192520:c=I(this,f.Ua,a,b,d);0<=c&&(f.Ua=
|
0<=c&&(h.bb=c&63,h.N=h.N&-769|(c&3)<<8);break;case 4193770:c=I(this,h.nc,a,b,d);0<=c&&(h.nc=c);break;default:return e.I|=16,J(e,4,132)}break;case 4192512:f=this.F;switch(a&-2){case 4192512:c=I(this,f.G,a,b,d);0<=b&&0<=c&&(f.Va=f.Va&60|c>>4&3,f.G=f.G&-1023|c&1022,f.G&128||ac(this));break;case 4192514:c=I(this,f.Ib,a,b,d);0<=c&&(f.Ib=c&65534);break;case 4192516:c=I(this,f.Z,a,b,d);0<=c&&(f.Z=c);break;case 4192518:c=I(this,f.$a,a,b,d);0<=c&&(f.$a=c);break;case 4192520:c=I(this,f.Va,a,b,d);0<=c&&(f.Va=
|
||||||
c&63,f.G=f.G&-49|(f.Ua&3)<<4);break;default:return e.H|=16,J(e,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?c=e.Ra:(c=I(this,e.Ra,a,b,d),0<=c&&(70!==e.ib&&(c&=-49),e.Ra=c,e.kb[0]=c&4?15:7,e.kb[1]=c&2?15:7,e.kb[3]=c&1?15:7,e.sb&&(f=2,e.Ra&16&&(f=1),this.j.rb=this.j.rb&-8|f)));break;default:return e.H|=16,J(e,4,136)}break;case 4191424:f=a>>1&31;c=I(this,e.ga[0][f],a,b,d);0<=c&&(e.ga[0][f]=c,e.ga[0][f&15]&=65295);break;case 4191360:f=a>>1&31;c=I(this,e.ga[1][f],a,b,d);0<=c&&(e.ga[1][f]=c,
|
c&63,f.G=f.G&-49|(f.Va&3)<<4);break;default:return e.I|=16,J(e,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?c=e.Sa:(c=I(this,e.Sa,a,b,d),0<=c&&(70!==e.ib&&(c&=-49),e.Sa=c,e.kb[0]=c&4?15:7,e.kb[1]=c&2?15:7,e.kb[3]=c&1?15:7,e.sb&&(f=2,e.Sa&16&&(f=1),this.u.rb=this.u.rb&-8|f)));break;default:return e.I|=16,J(e,4,136)}break;case 4191424:f=a>>1&31;c=I(this,e.ia[0][f],a,b,d);0<=c&&(e.ia[0][f]=c,e.ia[0][f&15]&=65295);break;case 4191360:f=a>>1&31;c=I(this,e.ia[1][f],a,b,d);0<=c&&(e.ia[1][f]=c,
|
||||||
e.ga[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.ib)return J(e,4,234);f=a>>2&31;c=e.Vb[f];a&2&&(c>>=16);c&=65535;0<=b&&(c=I(this,c,a,b,d),0<=c&&(e.Vb[f]=a&2?c<<16|e.Vb[f]&65535:e.Vb[f]&4294901760|c&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)c=Ub[a>>1&255];else return e.H|=16,J(e,4,138);break;default:return e.H|=16,J(e,4,142)}d&&0<=c&&(a&1?c>>=8:c&=255);"undefined"===typeof c&&console.log("panic(76)");
|
e.ia[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.ib)return J(e,4,234);f=a>>2&31;c=e.Wb[f];a&2&&(c>>=16);c&=65535;0<=b&&(c=I(this,c,a,b,d),0<=c&&(e.Wb[f]=a&2?c<<16|e.Wb[f]&65535:e.Wb[f]&4294901760|c&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)c=Vb[a>>1&255];else return e.I|=16,J(e,4,138);break;default:return e.I|=16,J(e,4,142)}d&&0<=c&&(a&1?c>>=8:c&=255);"undefined"===typeof c&&console.log("panic(76)");
|
||||||
return c};var fc={},Vb=(fc[65534]=[null,null,Tb.prototype.Zc,Tb.prototype.md],fc[65396]=[null,null,Tb.prototype.$c,Tb.prototype.nd],fc);Ka(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Tb(c);ib(c,d)}});var gc;if(ob){var hc=new ArrayBuffer(2);(new DataView(hc)).setUint16(0,256,!0);gc=256===(new Uint16Array(hc))[0]}else gc=!1;var ic=gc;
|
return c};var gc={},Wb=(gc[65534]=[null,null,Ub.prototype.Zc,Ub.prototype.md],gc[65396]=[null,null,Ub.prototype.$c,Ub.prototype.nd],gc);Ma(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Ub(c);$a(c,d)}});var hc;if(rb){var ic=new ArrayBuffer(2);(new DataView(ic)).setUint16(0,256,!0);hc=256===(new Uint16Array(ic))[0]}else hc=!1;var jc=hc;
|
||||||
function G(a,b,d,c,f){this.id=jc+=2;this.b=null;this.w=a;this.Xb=b;this.size=d||0;this.type=c||kc;this.J=c==lc;this.controller=null;xb(this);this.Xa=this.Nc=!1;if(d)if(f)this.controller=f,this.b=null,mc(this,f.Fb);else if(ob)this.D=new ArrayBuffer(d),this.F=new DataView(this.D,0,d),this.A=new Uint8Array(this.D,0,d),this.K=new Uint16Array(this.D,0,d>>1),this.b=new Int32Array(this.D,0,d>>2),mc(this,ic?nc:oc);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;mc(this,pc)}else mc(this)}
|
function G(a,b,d,c,f){this.id=kc+=2;this.b=null;this.A=a;this.Yb=b;this.size=d||0;this.type=c||lc;this.C=c==mc;this.controller=null;Ab(this);this.Ya=this.Nc=!1;if(d)if(f)this.controller=f,this.b=null,nc(this,f.Fb);else if(rb)this.B=new ArrayBuffer(d),this.F=new DataView(this.B,0,d),this.f=new Uint8Array(this.B,0,d),this.K=new Uint16Array(this.B,0,d>>1),this.b=new Int32Array(this.B,0,d>>2),nc(this,jc?oc:pc);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;nc(this,qc)}else nc(this)}
|
||||||
var kc=0,lc=2,Db=4,Qb=["NONE","RAM","ROM","VID","H/W"],jc=0;
|
var lc=0,mc=2,Gb=4,Ib=["NONE","RAM","ROM","VID","H/W"],kc=0;
|
||||||
G.prototype={constructor:G,parent:null,Lb:function(a){this.w=a},save:function(){var a,b;if(this.controller)a=null;else if(ob)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.F.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(ob)for(b=0;b<a.length;b++)this.F.setInt32(b<<2,a[b],!0);else this.b=a;return this.Xa=!0}return!1},gb:function(a,b){b?this.j++||qc(this,rc,!1):this.g++||sc(this,rc,!1)},O:function(){this.C&&jb(this.C,
|
G.prototype={constructor:G,parent:null,Mb:function(a){this.A=a},save:function(){var a,b;if(this.controller)a=null;else if(rb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.F.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(rb)for(b=0;b<a.length;b++)this.F.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ya=!0}return!1},gb:function(a,b){b?this.u++||rc(this,sc,!1):this.J++||tc(this,sc,!1)},O:function(){this.D&&mb(this.D,
|
||||||
129)&&this.C.message("attempt to read invalid block %"+r(this.w),!0);return 255},B:function(a,b){this.C&&jb(this.C,129)&&this.C.message("attempt to write "+r(b,4,!0)+" to invalid block %"+r(this.w),!0)},P:function(a,b){return this.vb(a++,b++)|this.vb(a,b)<<8},I:function(a,b,d){this.Ab(a++,b&255,d++);this.Ab(a,b>>8,d)},Z:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ma:function(a){var b=a>>2;a=(a&3)<<3;var d=this.b[b]>>a;return 24>a?d&65535:d&255|(this.b[b+1]&255)<<8},Ca:function(a,b){var d=a>>
|
129)&&this.D.message("attempt to read invalid block %"+r(this.A),!0);return 255},w:function(a,b){this.D&&mb(this.D,129)&&this.D.message("attempt to write "+r(b,4,!0)+" to invalid block %"+r(this.A),!0)},P:function(a,b){return this.vb(a++,b++)|this.vb(a,b)<<8},H:function(a,b,d){this.Ab(a++,b&255,d++);this.Ab(a,b>>8,d)},Y:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},oa:function(a){var b=a>>2;a=(a&3)<<3;var d=this.b[b]>>a;return 24>a?d&65535:d&255|(this.b[b+1]&255)<<8},wa:function(a,b){var d=a>>
|
||||||
2;a=(a&3)<<3;this.b[d]=this.b[d]&~(255<<a)|b<<a;this.Xa=!0},Eb:function(a,b){var d=a>>2;a=(a&3)<<3;24>a?this.b[d]=this.b[d]&~(65535<<a)|b<<a:(this.b[d]=this.b[d]&16777215|b<<24,d++,this.b[d]=this.b[d]&-256|b>>8);this.Xa=!0},V:function(a,b){if(this.C&&null!=this.w){var d=this.C;tc(d,this.w+a,1,d.T)&&d.ia(!0)}return this.Qb(a,b)},ea:function(a,b){if(this.C&&null!=this.w){var d=this.C;tc(d,this.w+a,2,d.T)&&d.ia(!0)}return this.lc(a,b)},wa:function(a,b,d){if(this.C&&null!=this.w){var c=this.C;tc(c,this.w+
|
2;a=(a&3)<<3;this.b[d]=this.b[d]&~(255<<a)|b<<a;this.Ya=!0},Eb:function(a,b){var d=a>>2;a=(a&3)<<3;24>a?this.b[d]=this.b[d]&~(65535<<a)|b<<a:(this.b[d]=this.b[d]&16777215|b<<24,d++,this.b[d]=this.b[d]&-256|b>>8);this.Ya=!0},V:function(a,b){if(this.D&&null!=this.A){var d=this.D;uc(d,this.A+a,1,d.R)&&d.ka(!0)}return this.Rb(a,b)},aa:function(a,b){if(this.D&&null!=this.A){var d=this.D;uc(d,this.A+a,2,d.R)&&d.ka(!0)}return this.mc(a,b)},ua:function(a,b,d){if(this.D&&null!=this.A){var c=this.D;uc(c,this.A+
|
||||||
a,1,c.F)&&c.ia(!0)}this.J?this.B(a,b,d):this.Bb(a,b,d)},Ha:function(a,b,d){if(this.C&&null!=this.w){var c=this.C;tc(c,this.w+a,2,c.F)&&c.ia(!0)}this.J?this.B(a,b,d):this.pc(a,b,d)},T:function(a){return this.A[a]},X:function(a){return this.A[a]},$:function(a){return this.F.getUint16(a,!0)},fa:function(a){return a&1?this.A[a]|this.A[a+1]<<8:this.K[a>>1]},va:function(a,b){this.A[a]=b;this.Xa=!0},xa:function(a,b){this.A[a]=b;this.Xa=!0},Ga:function(a,b){this.F.setUint16(a,b,!0);this.Xa=!0},Sa:function(a,
|
a,1,c.F)&&c.ka(!0)}this.C?this.w(a,b,d):this.Bb(a,b,d)},Ia:function(a,b,d){if(this.D&&null!=this.A){var c=this.D;uc(c,this.A+a,2,c.F)&&c.ka(!0)}this.C?this.w(a,b,d):this.qc(a,b,d)},R:function(a){return this.f[a]},X:function(a){return this.f[a]},$:function(a){return this.F.getUint16(a,!0)},fa:function(a){return a&1?this.f[a]|this.f[a+1]<<8:this.K[a>>1]},pa:function(a,b){this.f[a]=b;this.Ya=!0},va:function(a,b){this.f[a]=b;this.Ya=!0},Ha:function(a,b){this.F.setUint16(a,b,!0);this.Ya=!0},Ta:function(a,
|
||||||
b){a&1?(this.A[a]=b,this.A[a+1]=b>>8):this.K[a>>1]=b;this.Xa=!0}};function xb(a,b,d){a.C=b;a.g=a.j=0;d&&((a.g=d.g)&&sc(a,rc,!1),(a.j=d.j)&&qc(a,rc,!1))}function Ic(a,b){b?--a.j||(a.Ab=a.J?a.B:a.Bb,a.Ec=a.J?a.I:a.pc):--a.g||(a.vb=a.Qb,a.Rb=a.lc)}function qc(a,b,d){d&&a.j||(a.Ab=!a.J&&b[1]||a.B,a.Ec=!a.J&&b[3]||a.I);if(d||void 0===d)a.Bb=b[1]||a.B,a.pc=b[3]||a.I}function sc(a,b,d){d&&a.g||(a.vb=b[0]||a.O,a.Rb=b[2]||a.P);if(d||void 0===d)a.Qb=b[0]||a.O,a.lc=b[2]||a.P}
|
b){a&1?(this.f[a]=b,this.f[a+1]=b>>8):this.K[a>>1]=b;this.Ya=!0}};function Ab(a,b,d){a.D=b;a.J=a.u=0;d&&((a.J=d.J)&&tc(a,sc,!1),(a.u=d.u)&&rc(a,sc,!1))}function vc(a,b){b?--a.u||(a.Ab=a.C?a.w:a.Bb,a.Ec=a.C?a.H:a.qc):--a.J||(a.vb=a.Rb,a.Sb=a.mc)}function rc(a,b,d){d&&a.u||(a.Ab=!a.C&&b[1]||a.w,a.Ec=!a.C&&b[3]||a.H);if(d||void 0===d)a.Bb=b[1]||a.w,a.qc=b[3]||a.H}function tc(a,b,d){d&&a.J||(a.vb=b[0]||a.O,a.Sb=b[2]||a.P);if(d||void 0===d)a.Rb=b[0]||a.O,a.mc=b[2]||a.P}
|
||||||
function mc(a,b){b||(b=Jc);sc(a,b,void 0);qc(a,b,void 0)}var Jc=[],pc=[G.prototype.Z,G.prototype.Ca,G.prototype.ma,G.prototype.Eb],rc=[G.prototype.V,G.prototype.wa,G.prototype.ea,G.prototype.Ha];if(ob)var oc=[G.prototype.T,G.prototype.va,G.prototype.$,G.prototype.Ga],nc=[G.prototype.X,G.prototype.xa,G.prototype.fa,G.prototype.Sa];
|
function nc(a,b){b||(b=wc);tc(a,b,void 0);rc(a,b,void 0)}var wc=[],qc=[G.prototype.Y,G.prototype.wa,G.prototype.oa,G.prototype.Eb],sc=[G.prototype.V,G.prototype.ua,G.prototype.aa,G.prototype.Ia];if(rb)var pc=[G.prototype.R,G.prototype.pa,G.prototype.$,G.prototype.Ha],oc=[G.prototype.X,G.prototype.va,G.prototype.fa,G.prototype.Ta];
|
||||||
function Kc(a,b){u.call(this,"CPU",a,Kc,1);var d=a.multiplier||1;this.wa=a.cycles||b;this.lb=d;this.va=Math.round(this.wa/1E4)/100;this.jb=this.va*this.lb;this.u.da=!1;this.u.oc=!1;this.u.Gb=a.autoStart;this.u.wc=!1;this.u.qb=!1;this.Nb=this.T=0;this.Ob=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.ea=[];this.Cb=this.nb.bind(this);D(this)}w(Kc);var Lc=["power","reset"];l=Kc.prototype;
|
function xc(a,b){u.call(this,"CPU",a,xc,1);var d=a.multiplier||1;this.va=a.cycles||b;this.lb=d;this.ua=Math.round(this.va/1E4)/100;this.jb=this.ua*this.lb;this.j.ea=!1;this.j.pc=!1;this.j.Gb=a.autoStart;this.j.wc=!1;this.j.qb=!1;this.Ob=this.V=0;this.Pb=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.fa=[];this.Hb=this.nb.bind(this);D(this)}w(xc);var Mc=["power","reset"];l=xc.prototype;
|
||||||
l.Ya=function(a,b,d,c){this.g=a;this.A=b;this.C=c;for(b=0;b<Lc.length;b++)(d=this.J[Lc[b]])&&this.g.oa(null,Lc[b],d);this.Z=null;a=Mc(a,"autoStart");null!=a&&(this.u.Gb="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.La=function(a,b){if(!b){if(a&&this.restore){Nc(this);if(!this.restore(a))return!1;Oc(this)}else this.reset();this.C?this.C.Lb():this.f("No debugger detected")}K(this);return!0};
|
l.Za=function(a,b,d,c){this.u=a;this.C=b;this.D=c;for(b=0;b<Mc.length;b++)(d=this.J[Mc[b]])&&this.u.ra(null,Mc[b],d);this.$=null;a=Nc(a,"autoStart");null!=a&&(this.j.Gb="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.Ma=function(a,b){if(!b){if(a&&this.restore){Oc(this);if(!this.restore(a))return!1;Pc(this)}else this.reset();this.D?this.D.Mb():this.g("No debugger detected")}K(this);return!0};
|
||||||
l.Ka=function(a){return a?this.save():!0};l.Gb=function(){return this.u.Gb||!this.C&&void 0===this.J.run?(this.nb(!0),!0):!1};l.yc=function(){return 0};function Oc(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.T=a.Ob-a.P)}function Pc(a,b){if(a.u.qb){var d=!1;a.Nb=a.Nb+a.yc()|0;a.T-=b;0>=a.T&&(a.T+=a.tb,d=!0);0<=a.ub&&a.ub<=Qc(a)&&(a.tb=a.ub=-1,Oc(a),a.ia(),d=!0);d&&a.f(Qc(a)+" cycles: checksum="+r(a.Nb))}}
|
l.La=function(a){return a?this.save():!0};l.Gb=function(){return this.j.Gb||!this.D&&void 0===this.J.run?(this.nb(!0),!0):!1};l.yc=function(){return 0};function Pc(a){void 0===a.Pb&&(a.Pb=0);void 0===a.tb&&(a.tb=-1);void 0===a.ub&&(a.ub=-1);a.j.qb=0<=a.Pb&&0<a.tb;a.j.qb&&(a.Ob=0,a.V=a.Pb-a.R)}function Qc(a,b){if(a.j.qb){var d=!1;a.Ob=a.Ob+a.yc()|0;a.V-=b;0>=a.V&&(a.V+=a.tb,d=!0);0<=a.ub&&a.ub<=Rc(a)&&(a.tb=a.ub=-1,Pc(a),a.ka(),d=!0);d&&a.g(Rc(a)+" cycles: checksum="+r(a.Ob))}}
|
||||||
function Rc(a,b,d,c){if(a.J[b]){void 0===d&&(nb(a,"Value for "+b+" is invalid"),a.ia());var f=a.C&&a.C.wa||8;d=!a.u.da||a.u.wc?8==f?ca(d,c):r(d,c):"--------".substr(0,c||4);a.J[b].textContent!=d&&(a.J[b].textContent=d)}}
|
function Sc(a,b,d,c){if(a.J[b]){void 0===d&&(qb(a,"Value for "+b+" is invalid"),a.ka());var f=a.D&&a.D.$||8;d=!a.j.ea||a.j.wc?8==f?da(d,c):r(d,c):"--------".substr(0,c||4);a.J[b].textContent!=d&&(a.J[b].textContent=d)}}
|
||||||
l.oa=function(a,b,d){var c=this;a=!1;switch(b){case "power":case "reset":this.J[b]=d;a=!0;break;case "run":this.J[b]=d;d.onclick=function(){var a;if(a=c.g)if(a=c.g,a.u.ba)a=!0;else{var b=null,d,h=gb(a.id);for(d=0;d<h.length&&(b=h[d],b===a||b.u.ready);d++);if(d==h.length)for(d=0;d<h.length&&(b=h[d],b===a||b.u.ba);d++);d==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.u.ready?"powered yet":"ready yet"+(b.Zb?" (waiting for notification)":""))+".");a=!1}a&&(c.u.da?c.ia():c.nb())};
|
l.ra=function(a,b,d){var c=this;a=!1;switch(b){case "power":case "reset":this.J[b]=d;a=!0;break;case "run":this.J[b]=d;d.onclick=function(){var a;if(a=c.u)if(a=c.u,a.j.ca)a=!0;else{var b=null,d,h=Ya(a.id);for(d=0;d<h.length&&(b=h[d],b===a||b.j.ready);d++);if(d==h.length)for(d=0;d<h.length&&(b=h[d],b===a||b.j.ca);d++);d==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.$b?" (waiting for notification)":""))+".");a=!1}a&&(c.j.ea?c.ka():c.nb())};
|
||||||
a=!0;break;case "speed":this.J[b]=d;a=!0;break;case "setSpeed":this.J[b]=d,d.onclick=function(){Sc(c,c.lb<<1,!0)},d.textContent=this.jb.toFixed(2)+"Mhz",a=!0}return a};function Tc(a,b,d){a.P+=b;d&&(a.O=a.b=0)}function Uc(a,b){var d=1;b&&1<a.lb&&a.I&&(d=a.I/a.va);a.Sa=Math.round(1E3/30);a.ma=Math.floor(a.wa/30*d);b||(a.V=a.ma);a.xa=0}function Qc(a){return a.P+a.F+a.O-a.b}function Nc(a){a.I=0;a.ob=0;a.P=a.F=a.O=a.b=0;Oc(a);Sc(a,1)}
|
a=!0;break;case "speed":this.J[b]=d;a=!0;break;case "setSpeed":this.J[b]=d,d.onclick=function(){Tc(c,c.lb<<1,!0)},d.textContent=this.jb.toFixed(2)+"Mhz",a=!0}return a};function Uc(a,b,d){a.R+=b;d&&(a.P=a.b=0)}function Vc(a,b){var d=1;b&&1<a.lb&&a.K&&(d=a.K/a.ua);a.ob=Math.round(1E3/30);a.pa=Math.floor(a.va/30*d);b||(a.X=a.pa);a.wa=0}function Rc(a){return a.R+a.H+a.P-a.b}function Oc(a){a.K=0;a.Cb=0;a.R=a.H=a.P=a.b=0;Pc(a);Tc(a,1)}
|
||||||
function Sc(a,b,d){var c=!1;if(void 0!==b){.8>a.I/a.jb?b=1:c=!0;a.lb=b;b=a.va*a.lb;if(a.jb!=b){a.jb=b;b=a.jb.toFixed(2)+"Mhz";var f=a.J.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}d&&a.g&&a.g.Wb()}Tc(a,a.F);a.F=0;a.D=qa();a.K=0;Uc(a);return c}function Vc(a){a.O-=a.b;a.b=0}
|
function Tc(a,b,d){var c=!1;if(void 0!==b){.8>a.K/a.jb?b=1:c=!0;a.lb=b;b=a.ua*a.lb;if(a.jb!=b){a.jb=b;b=a.jb.toFixed(2)+"Mhz";var f=a.J.setSpeed;f&&(f.textContent=b);a.g("target speed: "+b)}d&&a.u&&a.u.Xb()}Uc(a,a.H);a.H=0;a.F=oa();a.O=0;Vc(a);return c}function Wc(a){a.P-=a.b;a.b=0}
|
||||||
l.nb=function(a){if(kb(this,!0)){if(!this.u.da){Sc(this);this.g&&this.g.start(this.D,Qc(this));this.u.da=!0;this.u.oc=!0;this.Z&&this.Z.start();var b=this.J.run;b&&(b.textContent="Halt");this.g&&(this.g.ua(!0),a&&this.g.Wb(!0))}this.xa>=this.wa&&Uc(this,!0);this.$=0;this.fa=qa();this.K&&(a=this.fa-this.K,a>this.Sa&&(this.D+=a,this.D>this.fa&&(this.D=this.fa)));try{do{for(var d,c=this.u.qb?1:this.ma,f=this.ea.length-1;0<=f;f--){var e=this.ea[f];0>e[0]||c>e[0]&&(c=e[0])}d=c;try{this.zb(d)}catch(m){if("number"!=
|
l.nb=function(a){if(nb(this,!0)){if(!this.j.ea){Tc(this);this.u&&this.u.start(this.F,Rc(this));this.j.ea=!0;this.j.pc=!0;this.$&&this.$.start();var b=this.J.run;b&&(b.textContent="Halt");this.u&&(this.u.ta(!0),a&&this.u.Xb(!0))}this.wa>=this.va&&Vc(this,!0);this.aa=0;this.oa=oa();this.O&&(a=this.oa-this.O,a>this.ob&&(this.F+=a,this.F>this.oa&&(this.F=this.oa)));try{do{for(var d,c=this.j.qb?1:this.pa,f=this.fa.length-1;0<=f;f--){var e=this.fa[f];0>e[0]||c>e[0]&&(c=e[0])}d=c;try{this.zb(d)}catch(m){if("number"!=
|
||||||
typeof m)throw m;}var g=this.O-this.b;a=g;for(var h=this.ea.length-1;0<=h;h--){var k=this.ea[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.$+=g;this.F+=g;Tc(this,0,!0);Pc(this,g);this.V-=g;if(0>=this.V){this.V+=this.ma;15<=++this.ob&&(this.g&&this.g.ua(),this.ob=0);break}}while(this.u.da)}catch(m){this.ia();K(this);this.g&&this.g.stop(qa(),Qc(this));kb(this,!1);nb(this,m.stack||m.message);return}d=setTimeout;c=this.Cb;this.K=qa();f=this.Sa;this.$&&(f=Math.round(f*this.$/this.ma));f-=this.K-
|
typeof m)throw m;}var g=this.P-this.b;a=g;for(var h=this.fa.length-1;0<=h;h--){var k=this.fa[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.aa+=g;this.H+=g;Uc(this,0,!0);Qc(this,g);this.X-=g;if(0>=this.X){this.X+=this.pa;15<=++this.Cb&&(this.u&&this.u.ta(),this.Cb=0);break}}while(this.j.ea)}catch(m){this.ka();K(this);this.u&&this.u.stop(oa(),Rc(this));nb(this,!1);qb(this,m.stack||m.message);return}d=setTimeout;c=this.Hb;this.O=oa();f=this.ob;this.aa&&(f=Math.round(f*this.aa/this.pa));f-=this.O-
|
||||||
this.fa;if(e=this.K-this.D)this.I=Math.round(this.F/(10*e))/100,864E5<=e&&(this.P=0,Sc(this));if(0>f||this.I<this.jb)-1E3>f&&(this.D-=f),f=0;this.xa+=this.$;this.K+=f;d(c,f)}else K(this),this.g&&this.g.stop(qa(),Qc(this))};l.zb=function(){return 0};l.ia=function(a){lb(this,!0);Vc(this);Tc(this,this.F);this.F=0;if(this.u.da){this.u.da=!1;this.Z&&this.Z.stop();var b=this.J.run;b&&(b.textContent="Run")}this.u.complete=a};function K(a,b){a.g&&a.g.ua(b)}
|
this.oa;if(e=this.O-this.F)this.K=Math.round(this.H/(10*e))/100,864E5<=e&&(this.R=0,Tc(this));if(0>f||this.K<this.jb)-1E3>f&&(this.F-=f),f=0;this.wa+=this.aa;this.O+=f;d(c,f)}else K(this),this.u&&this.u.stop(oa(),Rc(this))};l.zb=function(){return 0};l.ka=function(a){ob(this,!0);Wc(this);Uc(this,this.H);this.H=0;if(this.j.ea){this.j.ea=!1;this.$&&this.$.stop();var b=this.J.run;b&&(b.textContent="Run")}this.j.complete=a};function K(a,b){a.u&&a.u.ta(b)}
|
||||||
function Wc(a){this.Xc=+a.model||1170;this.Yb=a.resetAddr||0;Kc.call(this,a,1E6);this.Ga=0;this.decode=Xc.bind(this);this.ya=65536;this.sa=32768;this.ta=65535;this.ra=32768;this.i=[0,0,0,0,0,0,0,this.Yb];this.ab=[0,0,0,0,0,0];this.Oa=[0,0,0,0];this.Na=255;this.$b=this.Mb=this.sb=this.B=this.Ra=this.Db=this.Qa=this.aa=this.H=this.dc=0;this.kb=[7,7,7,7];this.ga=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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,
|
function Xc(a){this.Xc=+a.model||1170;this.Zb=a.resetAddr||0;xc.call(this,a,1E6);this.Ia=0;this.decode=Yc.bind(this);this.ha=65536;this.ya=32768;this.za=65535;this.xa=32768;this.i=[0,0,0,0,0,0,0,this.Zb];this.ab=[0,0,0,0,0,0];this.Pa=[0,0,0,0];this.Oa=255;this.ac=this.Nb=this.sb=this.B=this.Sa=this.Db=this.Ra=this.ba=this.I=this.ec=0;this.kb=[7,7,7,7];this.ia=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,
|
||||||
65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Vb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.jc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.S=0;this.ib=70;this.X=-1;this.j=[];this.Hb=0;this.$a=2;Yc(this);this.u.complete=this.u.Kc=!1}w(Wc,Kc);l=Wc.prototype;
|
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.kc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.f=-1;this.T=0;this.ib=70;this.Y=-1;this.w=[];this.Jb=0;this.Na=2;Zc(this);this.j.complete=this.j.Kc=!1}w(Xc,xc);l=Xc.prototype;
|
||||||
l.reset=function(){this.u.da&&this.ia();Zc(this);Nc(this);this.u.error=!1;this.parent.reset.call(this)};function Zc(a){a.Na=255;a.H=0;a.j=[];a.dc=0;a.aa=a.Qa=a.Db=a.Ra=a.sb=0;a.kb[0]=a.kb[1]=a.kb[3]=7;a.Mb=0;Yc(a)}function Yc(a){a.sb?(a.Ca=65536,a.W=a.Rc,a.Rb=a.Ma):(a.Ca=0,a.W=a.Qc,a.Rb=a.cc)}l.yc=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.Ha,this.P,this.lb]);a.set(2,Sb(this.A));return a.data()};
|
l.reset=function(){this.j.ea&&this.ka();$c(this);Oc(this);this.j.error=!1;this.parent.reset.call(this)};function $c(a){a.Oa=255;a.I=0;a.w=[];a.ec=0;a.ba=a.Ra=a.Db=a.Sa=a.sb=0;a.kb[0]=a.kb[1]=a.kb[3]=7;a.Nb=0;Zc(a)}function Zc(a){a.sb?(a.Ha=65536,a.W=a.Rc,a.Sb=a.Ga):(a.Ha=0,a.W=a.Qc,a.Sb=a.dc)}l.yc=function(){return 0};l.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.Ta,this.R,this.lb]);a.set(2,Tb(this.C));return a.data()};
|
||||||
l.restore=function(a){var b=a[1];this.Ha=b[0];this.P=b[1];Sc(this,b[3]);a:{b=this.A;a=a[2];var d;for(d=0;d<a.length-1;d+=2){var c=a[d],f=a[d+1];if(f&&f.length<b.K){for(var e=0,g=Array(b.K),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.L[c];if(!e||!e.restore(f)){t("Unable to restore memory block "+c);b=!1;break a}}b=!0}return b};
|
l.restore=function(a){var b=a[1];this.Ta=b[0];this.R=b[1];Tc(this,b[3]);a:{b=this.C;a=a[2];var d;for(d=0;d<a.length-1;d+=2){var c=a[d],f=a[d+1];if(f&&f.length<b.K){for(var e=0,g=Array(b.K),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.L[c];if(!e||!e.restore(f)){t("Unable to restore memory block "+c);b=!1;break a}}b=!0}return b};
|
||||||
l.oa=function(a,b,d){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.J[b]=d;this.Ga++;a=!0;break;default:a=this.parent.oa.call(this,a,b,d)}return a};
|
l.ra=function(a,b,d){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.J[b]=d;this.Ia++;a=!0;break;default:a=this.parent.ra.call(this,a,b,d)}return a};
|
||||||
l.ua=function(a){if(this.Ga&&(a||!this.u.da||this.u.wc)){for(a=0;a<this.i.length;a++)Rc(this,"R"+a,this.i[a]);a=Wb(this);Rc(this,"PS",a);Rc(this,"NF",a&8?1:0,1);Rc(this,"ZF",a&4?1:0,1);Rc(this,"VF",a&2?1:0,1);Rc(this,"CF",a&1?1:0,1)}if(a=this.J.speed)a.textContent=this.u.da&&this.I?this.I.toFixed(2)+"Mhz":"Stopped"};
|
l.ta=function(a){if(this.Ia&&(a||!this.j.ea||this.j.wc)){for(a=0;a<this.i.length;a++)Sc(this,"R"+a,this.i[a]);a=Xb(this);Sc(this,"PS",a);Sc(this,"NF",a&8?1:0,1);Sc(this,"ZF",a&4?1:0,1);Sc(this,"VF",a&2?1:0,1);Sc(this,"CF",a&1?1:0,1)}if(a=this.J.speed)a.textContent=this.j.ea&&this.K?this.K.toFixed(2)+"Mhz":"Stopped"};function ad(a){return a.ya&32768?2:0}function bd(a){return a.za&65535?0:4}function cd(a){return a.xa&32768?8:0}
|
||||||
function H(a,b,d,c,f){for(var e=a.j.length;0<e--;)if(a.j[e].ld===c){0<e&&(a.j[e-1].Wa+=a.j[e].Wa);a.j.splice(e,1);break}if(0<=b){2===a.Hb&&(b=0,a.Hb=0,setTimeout(a.Cb,0));for(e=a.j.length;0<e--;){if(a.j[e].Wa>b){a.j[e].Wa-=b;break}b-=a.j[e].Wa}a.j.splice(e+1,0,{delay:b,priority:d<<5&224,vector:c,callback:f})}a.$a=2}function Wb(a){return a.qa=a.qa&63728|(a.ra&32768?8:0)|(a.ta&65535?0:4)|(a.sa&32768?2:0)|(a.ya&65536?1:0)}
|
function H(a,b,d,c,f){for(var e=a.w.length;0<e--;)if(a.w[e].ld===c){0<e&&(a.w[e-1].Xa+=a.w[e].Xa);a.w.splice(e,1);break}if(0<=b){2===a.Jb&&(b=0,a.Jb=0,setTimeout(a.Hb,0));for(e=a.w.length;0<e--;){if(a.w[e].Xa>b){a.w[e].Xa-=b;break}b-=a.w[e].Xa}a.w.splice(e+1,0,{delay:b,priority:d<<5&224,vector:c,callback:f})}a.Na=2}function Xb(a){return a.ga=a.ga&63728|cd(a)|bd(a)|ad(a)|(a.ha&65536?1:0)}
|
||||||
function Xb(a,b){a.ra=b<<12;a.ta=~b&4;a.sa=b<<14;a.ya=b<<16;if((b^a.qa)&2048)for(var d=a.ab.length;0<=--d;){var c=a.i[d];a.i[d]=a.ab[d];a.ab[d]=c}a.B=b>>14&3;d=a.qa>>14&3;a.B!=d&&(a.Oa[d]=a.i[6],a.i[6]=a.Oa[a.B]);a.$a=2;a.qa=b}function $c(a,b){a.S&128||(a.ra=a.ta=a.ya=b,a.sa=0)}function ad(a,b){a.S&128||(a.ra=a.ta=b,a.sa=0)}function bd(a,b,d,c){a.S&128||(a.ra=a.ta=a.ya=b,a.sa=(d^c)&(c^b))}
|
function Yb(a,b){a.xa=b<<12;a.za=~b&4;a.ya=b<<14;a.ha=b<<16;if((b^a.ga)&2048)for(var d=a.ab.length;0<=--d;){var c=a.i[d];a.i[d]=a.ab[d];a.ab[d]=c}a.B=b>>14&3;d=a.ga>>14&3;a.B!=d&&(a.Pa[d]=a.i[6],a.i[6]=a.Pa[a.B]);a.Na=2;a.ga=b}function dd(a,b){a.T&128||(a.xa=a.za=a.ha=b,a.ya=0)}function ed(a,b){a.T&128||(a.xa=a.za=b,a.ya=0)}function fd(a,b,d,c){a.T&128||(a.xa=a.za=a.ha=b,a.ya=(d^c)&(c^b))}
|
||||||
function J(a,b,d){var c=!1;0>a.X?a.X=Wb(a):a.B||(b=4,c=!0);a.aa&57344||(a.Qa=63222,a.Db=b);a.B=0;var f=a.Ma(b|65536),e=a.Ma(b+2&65535|65536);Xb(a,e&53247|a.X>>2&12288);c&&(a.H|=4,a.i[6]=4);cd(a,a.X);cd(a,a.i[7]);a.i[7]=f;a.S&=-113;a.X=-1;throw b|d<<8;}function ec(a,b){var d=b>>13&31;31>d?a.Ra&32&&(b=a.Vb[d]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
function J(a,b,d){var c=!1;0>a.Y?a.Y=Xb(a):a.B||(b=4,c=!0);a.ba&57344||(a.Ra=63222,a.Db=b);a.B=0;var f=a.Ga(b|65536),e=a.Ga(b+2&65535|65536);Yb(a,e&53247|a.Y>>2&12288);c&&(a.I|=4,a.i[6]=4);gd(a,a.Y);gd(a,a.i[7]);a.i[7]=f;a.T&=-113;a.Y=-1;throw b|d<<8;}function fc(a,b){var d=b>>13&31;31>d?a.Sa&32&&(b=a.Wb[d]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||||
function dd(a,b,d){var c,f,e,g=0;if(d&a.sb){c=b>>13&a.kb[a.B];f=a.ga[a.B][c];e=(a.ga[a.B][c+16]<<6)+(b&8191)&4194303;a.Ra&16?3932160<=e&&4186112>e&&(e=ec(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,J(a,4,24)),e&1&&!(d&1)&&(a.H|=64,J(a,4,26)));switch(f&7){case 1:g=4096;case 2:f|=128;d&E&&(g=8192);break;case 4:g=4096;case 5:d&E&&(g=4096);case 6:f|=d&E?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 hd(a,b,d){var c,f,e,g=0;if(d&a.sb){c=b>>13&a.kb[a.B];f=a.ia[a.B][c];e=(a.ia[a.B][c+16]<<6)+(b&8191)&4194303;a.Sa&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.I|=32,J(a,4,24)),e&1&&!(d&1)&&(a.I|=64,J(a,4,26)));switch(f&7){case 1:g=4096;case 2:f|=128;d&E&&(g=8192);break;case 4:g=4096;case 5:d&E&&(g=4096);case 6:f|=d&E?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.ga[a.B][c]=f;if(4194170!==e||a.B)a.Mb=a.B,a.$b=c;g&&(g&57344&&(0<=a.X&&(g|=128),a.aa&57344||(a.aa=a.aa|g|a.Mb<<5|a.$b<<1),J(a,168,28)),a.aa&61440||!(4191360>e||4194239<e)||(a.aa|=4096,a.aa&512&&(a.S|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(d&1)&&(a.H|=64,J(a,4,22));return e}l.cc=function(a){return 4194304<=a?this.i[a-4194304]:0<=a?this.A.Ea(a):a};l.Ma=function(a){return this.cc(dd(this,a,pb))};
|
8128)&&(g|=16384));a.ia[a.B][c]=f;if(4194170!==e||a.B)a.Nb=a.B,a.ac=c;g&&(g&57344&&(0<=a.Y&&(g|=128),a.ba&57344||(a.ba=a.ba|g|a.Nb<<5|a.ac<<1),J(a,168,28)),a.ba&61440||!(4191360>e||4194239<e)||(a.ba|=4096,a.ba&512&&(a.T|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(d&1)&&(a.I|=64,J(a,4,22));return e}l.dc=function(a){return 4194304<=a?this.i[a-4194304]:0<=a?this.C.Ea(a):a};l.Ga=function(a){return this.dc(hd(this,a,sb))};
|
||||||
function dc(a,b,d){d&=65535;return 4194304<=b?a.i[b-4194304]=d:0<=b?(a.A.nc(b,d),d):b}function ed(a,b){return 4194304<=b?a.i[b-4194304]&255:0<=b?a.A.Kb(b):b}function fd(a,b,d){d&=255;4194304<=b?a.i[b-4194304]=a.i[b-4194304]&65280|d:0<=b&&a.A.fc(b,d)}function cd(a,b){var d=a.i[6]-2&65535;a.i[6]=d;a.aa&57344||(a.Qa=a.Qa<<8|246);!a.B&&d<=a.Na&&4<d&&(d<=a.Na-32?(a.H|=4,a.i[6]=4,J(a,4,32)):(a.H|=8,a.S|=4));d=dd(a,d|65536,E);dc(a,d,b)}
|
function ec(a,b,d){d&=65535;return 4194304<=b?a.i[b-4194304]=d:0<=b?(a.C.oc(b,d),d):b}function id(a,b){return 4194304<=b?a.i[b-4194304]&255:0<=b?a.C.Lb(b):b}function jd(a,b,d){d&=255;4194304<=b?a.i[b-4194304]=a.i[b-4194304]&65280|d:0<=b&&a.C.gc(b,d)}function gd(a,b){var d=a.i[6]-2&65535;a.i[6]=d;a.ba&57344||(a.Ra=a.Ra<<8|246);!a.B&&d<=a.Oa&&4<d&&(d<=a.Oa-32?(a.I|=4,a.i[6]=4,J(a,4,32)):(a.I|=8,a.T|=4));d=hd(a,d|65536,E);ec(a,d,b)}
|
||||||
function gd(a,b,d){var c,f,e=b&7,g=d&8?0:a.Ca;switch(b>>3&7){case 0:J(a,4,34);break;case 1:return 6===e&&!a.B&&d&E&&(a.i[6]<=a.Na||65534<=a.i[6])&&(a.i[6]<=a.Na-32||65534<=a.i[6]?(a.H|=4,a.i[6]=4,J(a,4,36)):(a.H|=8,a.S|=64)),7===e?a.i[e]:a.i[e]|g;case 2:f=2;c=a.i[e];7!==e&&(c|=g,6>e&&d&1&&(f=1));break;case 3:f=2;c=a.i[e];7!==e&&(c|=g);if(0>(c=a.Ma(c)))return c;c|=g;break;case 4:f=-2;6>e&&d&1&&(f=-1);c=a.i[e]+f&65535;7!==e&&(c|=g);break;case 5:f=-2;c=a.i[e]-2&65535;7!==e&&(c|=g);if(0>(c=a.Ma(c)))return c;
|
function kd(a,b,d){var c,f,e=b&7,g=d&8?0:a.Ha;switch(b>>3&7){case 0:J(a,4,34);break;case 1:return 6===e&&!a.B&&d&E&&(a.i[6]<=a.Oa||65534<=a.i[6])&&(a.i[6]<=a.Oa-32||65534<=a.i[6]?(a.I|=4,a.i[6]=4,J(a,4,36)):(a.I|=8,a.T|=64)),7===e?a.i[e]:a.i[e]|g;case 2:f=2;c=a.i[e];7!==e&&(c|=g,6>e&&d&1&&(f=1));break;case 3:f=2;c=a.i[e];7!==e&&(c|=g);if(0>(c=a.Ga(c)))return c;c|=g;break;case 4:f=-2;6>e&&d&1&&(f=-1);c=a.i[e]+f&65535;7!==e&&(c|=g);break;case 5:f=-2;c=a.i[e]-2&65535;7!==e&&(c|=g);if(0>(c=a.Ga(c)))return c;
|
||||||
c|=g;break;case 6:if(0>(c=a.Ma(a.i[7])))return c;a.i[7]=a.i[7]+2&65535;c=c+a.i[e]&65535;return c|g;case 7:if(0>(c=a.Ma(a.i[7])))return c;a.i[7]=a.i[7]+2&65535;c=c+a.i[e]&65535;return 0>(c=a.Ma(c|65536))?c:c|g}a.i[e]=a.i[e]+f&65535;!g||a.aa&57344||(a.Qa=a.Qa<<8|f<<3&248|e);6===e&&!a.B&&d&E&&0>=f&&(a.i[6]<=a.Na||65534<=a.i[6])&&(a.i[6]<=a.Na-32?(a.H|=4,a.i[6]=4,J(a,4,38)):(a.H|=8,a.S|=64));return c}l.Qc=function(a,b){return gd(this,a,b)};l.Rc=function(a,b){return dd(this,gd(this,a,b),b)};
|
c|=g;break;case 6:if(0>(c=a.Ga(a.i[7])))return c;a.i[7]=a.i[7]+2&65535;c=c+a.i[e]&65535;return c|g;case 7:if(0>(c=a.Ga(a.i[7])))return c;a.i[7]=a.i[7]+2&65535;c=c+a.i[e]&65535;return 0>(c=a.Ga(c|65536))?c:c|g}a.i[e]=a.i[e]+f&65535;!g||a.ba&57344||(a.Ra=a.Ra<<8|f<<3&248|e);6===e&&!a.B&&d&E&&0>=f&&(a.i[6]<=a.Oa||65534<=a.i[6])&&(a.i[6]<=a.Oa-32?(a.I|=4,a.i[6]=4,J(a,4,38)):(a.I|=8,a.T|=64));return c}l.Qc=function(a,b){return kd(this,a,b)};l.Rc=function(a,b){return hd(this,kd(this,a,b),b)};
|
||||||
function N(a,b){return b&56?a.Rb(gd(a,b,pb)):a.i[b&7]}function hd(a,b){return b&56?ed(a,a.W(b,rb)):a.i[b&7]&255}function id(a,b,d,c){b&56?(b=a.W(b,qb),dc(a,b,c.call(a,d,a.cc(b)))):(b&=7,a.i[b]=c.call(a,d,a.i[b])&65535)}function jd(a,b,d,c){b&56?(b=a.W(b,tb),fd(a,b,c.call(a,d,ed(a,b)))):(b&=7,a.i[b]=a.i[b]&65280|c.call(a,d,a.i[b])&255)}function kd(a,b,d){b&56?dc(a,a.W(b,E),d):a.i[b&7]=d&65535;return d}
|
function N(a,b){return b&56?a.Sb(kd(a,b,sb)):a.i[b&7]}function ld(a,b){return b&56?id(a,a.W(b,ub)):a.i[b&7]&255}function md(a,b,d,c){b&56?(b=a.W(b,tb),ec(a,b,c.call(a,d,a.dc(b)))):(b&=7,a.i[b]=c.call(a,d,a.i[b])&65535)}function nd(a,b,d,c){b&56?(b=a.W(b,wb),jd(a,b,c.call(a,d,id(a,b)))):(b&=7,a.i[b]=a.i[b]&65280|c.call(a,d,a.i[b])&255)}function od(a,b,d){b&56?ec(a,a.W(b,E),d):a.i[b&7]=d&65535;return d}
|
||||||
function ld(a,b,d,c){b&56?fd(a,a.W(b,sb),d):(b&=7,a.i[b]=d?c&1?d<<24>>24&65535:a.i[b]&-256|d&255:a.i[b]&-256);return d}
|
function pd(a,b,d,c){b&56?jd(a,a.W(b,vb),d):(b&=7,a.i[b]=d?c&1?d<<24>>24&65535:a.i[b]&-256|d&255:a.i[b]&-256);return d}function O(a,b){return a.i[7]+(b<<24>>23)&65535}
|
||||||
l.zb=function(a){this.u.complete=!0;var b=this.u.Kc=this.C&&md(this.C),d=a?this.u.oc?0:1:-1;this.u.oc=!1;this.O=this.b=a;this.Ha&256?(Vc(this),a=!1):a=!0;if(a){do{if(b){if(nd(this.C,this.i[7],d)){this.ia();break}d=1}var c,f;this.S&112&&(this.S&32?J(this,168,52):this.S&64?J(this,4,54):this.S&16&&J(this,12,56),this.S&=-113);if(this.$a)if(1===this.$a)this.$a=2;else{this.$a=0;f=-1;a=this.dc&224;if(0<(c=this.j.length))for(;0<c--;){if(0<this.j[c].Wa){this.j[c].Wa--;this.$a=2;break}if(this.j[c].tc){if(!this.j[c].tc()){this.j.splice(c,
|
l.zb=function(a){this.j.complete=!0;var b=this.j.Kc=this.D&&qd(this.D),d=a?this.j.pc?0:1:-1;this.j.pc=!1;this.P=this.b=a;this.Ta&256?(Wc(this),a=!1):a=!0;if(a){do{if(b){if(rd(this.D,this.i[7],d)){this.ka();break}d=1}var c,f;this.T&112&&(this.T&32?J(this,168,52):this.T&64?J(this,4,54):this.T&16&&J(this,12,56),this.T&=-113);if(this.Na)if(1===this.Na)this.Na=2;else{this.Na=0;f=-1;a=this.ec&224;if(0<(c=this.w.length))for(;0<c--;){if(0<this.w[c].Xa){this.w[c].Xa--;this.Na=2;break}if(this.w[c].uc){if(!this.w[c].uc()){this.w.splice(c,
|
||||||
1);f--;continue}this.j[c].tc=null}this.j[c].Yc>a&&(a=this.j[c].Yc,f=c)}a>(this.qa&224)&&(0>f?J(this,160,42):(J(this,this.j[f].ld,44),this.j.splice(f,1)))}this.aa&57344||(this.Qa=0,this.Db=this.i[7]);this.S=this.qa&16;a=this.Ma(this.i[7]);0<=a&&(this.i[7]=this.i[7]+2&65535);this.decode(a)}while(0<this.b)}return this.u.complete?this.O-this.b:void 0===this.u.complete?0:-1};Ka(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Wc(c);ib(c,d)}});
|
1);f--;continue}this.w[c].uc=null}this.w[c].Yc>a&&(a=this.w[c].Yc,f=c)}a>(this.ga&224)&&(0>f?J(this,160,42):(J(this,this.w[f].ld,44),this.w.splice(f,1)))}this.ba&57344||(this.Ra=0,this.Db=this.i[7]);this.T=this.ga&16;this.f=a=this.Ga(this.i[7]);0<=a&&(this.i[7]=this.i[7]+2&65535);this.decode(a);if(0>this.f){this.i[7]=this.i[7]-2&65535;this.g("unimplemented");break}}while(0<this.b)}return this.j.complete?this.P-this.b:void 0===this.j.complete?0:-1};
|
||||||
function od(a,b){var d=a+b;this.S&128||(this.ra=this.ta=this.ya=d,this.sa=(a^d)&(b^d));return d&65535}function pd(a,b){a=~a&b;ad(this,a);return a}function qd(a,b){a=~a&b;ad(this,a<<8);return a}function rd(a,b){a|=b;ad(this,a);return a}function sd(a,b){a|=b;ad(this,a<<8);return a}function td(a,b){var d=b-a;bd(this,d,a,b);return d&65535}function ud(){--this.b}function vd(){--this.b}function O(a){a&1&&(this.ya=0);a&2&&(this.sa=0);a&4&&(this.ta=1);a&8&&(this.ra=0);--this.b}function wd(){--this.b}
|
Ma(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Xc(c);$a(c,d)}});function sd(a,b){var d=a+b;this.T&128||(this.xa=this.za=this.ha=d,this.ya=(a^d)&(b^d));return d&65535}function td(a,b){a=~a&b;ed(this,a);return a}function ud(a,b){a=~a&b;ed(this,a<<8);return a}function vd(a,b){a|=b;ed(this,a);return a}function wd(a,b){a|=b;ed(this,a<<8);return a}function xd(a,b){var d=b-a;fd(this,d,a,b);return d&65535}function yd(){this.f=-1;--this.b}
|
||||||
function xd(a){this.f("JSR");var b=gd(this,a,8);a=a>>6&7;cd(this,this.i[a]);this.i[a]=this.i[7];this.i[7]=b;--this.b}function yd(){--this.b}function zd(){--this.b}function Q(a){a&1&&(this.ya=65536);a&2&&(this.sa=32768);a&4&&(this.ta=0);a&8&&(this.ra=32768);--this.b}function Ad(){--this.b}function Bd(){--this.b}function R(){J(this,8,48)}function Xc(a){Cd[a>>12].call(this,a)}
|
function zd(){this.f=-1;--this.b}function P(a){a&1&&(this.ha=0);a&2&&(this.ya=0);a&4&&(this.za=1);a&8&&(this.xa=0);--this.b}function Ad(){this.f=-1;--this.b}function Bd(a){var b=kd(this,a,8);a=a>>6&7;gd(this,this.i[a]);this.i[a]=this.i[7];this.i[7]=b;--this.b}function Cd(){this.f=-1;--this.b}function Dd(){--this.b}function R(a){a&1&&(this.ha=65536);a&2&&(this.ya=32768);a&4&&(this.za=0);a&8&&(this.xa=32768);--this.b}function Ed(){this.f=-1;--this.b}function Fd(){this.f=-1;--this.b}
|
||||||
var Cd=[function(a){Dd[a>>8&15].call(this,a)},function(a){ad(this,kd(this,a,N(this,a>>6)));--this.b},function(a){var b=N(this,a>>6);a=N(this,a);bd(this,b-a,a,b);--this.b},function(a){ad(this,N(this,a>>6)&N(this,a));--this.b},function(a){id(this,a,N(this,a>>6),pd);--this.b},function(a){id(this,a,N(this,a>>6),rd);--this.b},function(a){id(this,a,N(this,a>>6),od);--this.b},function(a){Ed[a>>8&15].call(this,a)},function(a){Fd[a>>8&15].call(this,a)},function(a){var b=hd(this,a>>6);ad(this,ld(this,a,b,1)<<
|
function S(){J(this,8,48)}function Yc(a){Gd[a>>12].call(this,a)}
|
||||||
8);--this.b},function(a){var b=hd(this,a>>6)<<8;a=hd(this,a)<<8;bd(this,b-a,a,b);--this.b},function(a){ad(this,(hd(this,a>>6)&hd(this,a))<<8);--this.b},function(a){jd(this,a,hd(this,a>>6),qd);--this.b},function(a){jd(this,a,hd(this,a>>6),sd);--this.b},function(a){id(this,a,N(this,a>>6),td);--this.b},R],Dd=[function(a){Gd[a>>4&15].call(this,a)},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},xd,xd,function(a){Hd[a>>
|
var Gd=[function(a){Hd[a>>8&15].call(this,a)},function(a){ed(this,od(this,a,N(this,a>>6)));--this.b},function(a){var b=N(this,a>>6);a=N(this,a);fd(this,b-a,a,b);--this.b},function(a){ed(this,N(this,a>>6)&N(this,a));--this.b},function(a){md(this,a,N(this,a>>6),td);--this.b},function(a){md(this,a,N(this,a>>6),vd);--this.b},function(a){md(this,a,N(this,a>>6),sd);--this.b},function(a){Id[a>>8&15].call(this,a)},function(a){Jd[a>>8&15].call(this,a)},function(a){var b=ld(this,a>>6);ed(this,pd(this,a,b,1)<<
|
||||||
6&3].call(this,a)},function(a){Id[a>>6&3].call(this,a)},function(a){Jd[a>>6&3].call(this,a)},function(a){Kd[a>>6&3].call(this,a)},R,R],Gd=[function(a){Ld[a&15].call(this,a)},R,R,R,R,R,R,R,R,R,function(a){Md[a&15].call(this,a)},function(a){Nd[a&15].call(this,a)},R,R,R,R],Md=[zd,function(){this.ya=0;--this.b},function(){this.sa=0;--this.b},O,function(){this.ta=1;--this.b},O,O,O,function(){this.ra=0;--this.b},O,O,O,O,O,O,O],Nd=[zd,function(){this.ya=65536;--this.b},function(){this.sa=32768;--this.b},
|
8);--this.b},function(a){var b=ld(this,a>>6)<<8;a=ld(this,a)<<8;fd(this,b-a,a,b);--this.b},function(a){ed(this,(ld(this,a>>6)&ld(this,a))<<8);--this.b},function(a){nd(this,a,ld(this,a>>6),ud);--this.b},function(a){nd(this,a,ld(this,a>>6),wd);--this.b},function(a){md(this,a,N(this,a>>6),xd);--this.b},S],Hd=[function(a){Kd[a>>4&15].call(this,a)},function(a){this.i[7]=O(this,a);--this.b},function(a){bd(this)||(this.i[7]=O(this,a));--this.b},function(a){bd(this)&&(this.i[7]=O(this,a));--this.b},function(a){!cd(this)==
|
||||||
Q,function(){this.ta=0;--this.b},Q,Q,Q,function(){this.ra=32768;--this.b},Q,Q,Q,Q,Q,Q,Q],Ld=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){this.qa&49152||(Zc(this),this.A.reset());--this.b},function(){--this.b},function(){--this.b},R,R,R,R,R,R,R,R],Ed=[yd,yd,wd,wd,ud,ud,vd,vd,Bd,Bd,R,R,R,R,Ad,Ad],Fd=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},
|
!ad(this)&&(this.i[7]=O(this,a));--this.b},function(a){!cd(this)!=!ad(this)&&(this.i[7]=O(this,a));--this.b},function(a){bd(this)||!cd(this)!=!ad(this)||(this.i[7]=O(this,a));--this.b},function(a){if(bd(this)||!cd(this)!=!ad(this))this.i[7]=O(this,a);--this.b},Bd,Bd,function(a){Ld[a>>6&3].call(this,a)},function(a){Md[a>>6&3].call(this,a)},function(a){Nd[a>>6&3].call(this,a)},function(a){Od[a>>6&3].call(this,a)},S,S],Kd=[function(a){Pd[a&15].call(this,a)},S,S,S,S,S,S,S,function(a){var b=this.Ga(this.i[6]|
|
||||||
function(){--this.b},function(){--this.b},function(){--this.b},function(a){Od[a>>6&3].call(this,a)},function(a){Pd[a>>6&3].call(this,a)},function(a){oe[a>>6&3].call(this,a)},function(a){pe[a>>6&3].call(this,a)},R,R],Hd=[function(a){$c(this,kd(this,a,0));--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],Id=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],Jd=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],
|
65536);0<=b&&(this.i[6]=this.i[6]+2&65535);a&=7;this.i[7]=this.i[a];this.i[a]=b;--this.b},function(a){this.ga&49152||(this.ga=this.ga&-2017|(a&7)<<5,this.Na=1);--this.b},function(a){Qd[a&15].call(this,a)},function(a){Rd[a&15].call(this,a)},S,S,S,S],Qd=[Dd,function(){this.ha=0;--this.b},function(){this.ya=0;--this.b},P,function(){this.za=1;--this.b},P,P,P,function(){this.xa=0;--this.b},P,P,P,P,P,P,P],Rd=[Dd,function(){this.ha=65536;--this.b},function(){this.ya=32768;--this.b},R,function(){this.za=
|
||||||
Kd=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],Od=[function(a){$c(this,ld(this,a,0));--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],Pd=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],oe=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],pe=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}];
|
0;--this.b},R,R,R,function(){this.xa=32768;--this.b},R,R,R,R,R,R,R],Pd=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.ga&49152||($c(this),this.C.reset());--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},S,S,S,S,S,S,S,S],Id=[Cd,Cd,Ad,Ad,yd,yd,zd,zd,Fd,Fd,S,S,S,S,Ed,Ed],Jd=[function(a){cd(this)||(this.i[7]=O(this,a));--this.b},function(a){cd(this)&&(this.i[7]=
|
||||||
function qe(a){u.call(this,"ROM",a,qe);this.g=null;this.F=a.addr;this.j=a.size;this.I=a.writable;this.B=a.alias;this.D=a.file;this.K=da(this.D);if(this.D){a=this.D;var b=ea(this.K);"json"!=b&&"hex"!=b&&(a=ga()+"/api/v1/dump?file="+this.D+"&format=bytes&decimal=true");var d=this;sa(a,null,!0,function(a,b,e){re(d,a,b,e)})}}w(qe);qe.prototype.Ya=function(a,b,d,c){this.A=b;this.b=d;this.C=c;se(this)};
|
O(this,a));--this.b},function(a){this.ha&65536||bd(this)||(this.i[7]=O(this,a));--this.b},function(a){if(this.ha&65536||bd(this))this.i[7]=O(this,a);--this.b},function(a){ad(this)||(this.i[7]=O(this,a));--this.b},function(a){ad(this)&&(this.i[7]=O(this,a));--this.b},function(a){this.ha&65536||(this.i[7]=O(this,a));--this.b},function(a){this.ha&65536&&(this.i[7]=O(this,a));--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(a){Sd[a>>6&3].call(this,a)},function(a){Td[a>>
|
||||||
qe.prototype.La=function(){if(this.Ia){if(this.C){var a=this.C,b=this.id,d=this.F,c=this.j,f=this.Ia,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],q=pa(n,k,a.uc);0>q&&n.splice(-(q+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.I.push({pd:b,w:d,Uc:c,Ia:f,rc:e})}delete this.Ia}return!0};qe.prototype.Ka=function(){return!0};
|
6&3].call(this,a)},function(a){se[a>>6&3].call(this,a)},function(a){te[a>>6&3].call(this,a)},S,S],Ld=[function(a){dd(this,od(this,a,0));--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],Md=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],Nd=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],Od=
|
||||||
function re(a,b,d,c){if(c)a.ka("Unable to load system ROM (error "+c+": "+b+")");else{Va(a.sc,b,d);var f;if("["==d.charAt(0)||"{"==d.charAt(0))try{var e,g,h=eval("("+d+")");if(e=h.bytes)a.g=e;else if(e=h.words)for(a.g=Array(2*e.length),g=f=0;f<e.length;f++)a.g[g++]=e[f]&255,a.g[g++]=e[f]>>8&255;else if(e=h.data)for(a.g=Array(4*e.length),g=f=0;f<e.length;f++)a.g[g++]=e[f]&255,a.g[g++]=e[f]>>8&255,a.g[g++]=e[f]>>16&255,a.g[g++]=e[f]>>24&255;else a.g=h;a.Ia=h.symbols;if(!a.g.length){t("Empty ROM: "+
|
[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],Sd=[function(a){dd(this,pd(this,a,0));--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],Td=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],se=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=
|
||||||
b);return}if(1==a.g.length){t(a.g[0]);return}}catch(k){a.ka("ROM data error: "+k.message);return}else for(b=d.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.g=Array(b.length),f=0;f<b.length;f++)a.g[f]=ba(b[f],16);se(a)}}
|
-1;--this.b}],te=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}];function ue(a){u.call(this,"ROM",a,ue);this.f=null;this.F=a.addr;this.u=a.size;this.H=a.writable;this.w=a.alias;this.B=a.file;this.K=ea(this.B);if(this.B){a=this.B;var b=fa(this.K);"json"!=b&&"hex"!=b&&(a=ha()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var d=this;ta(a,null,!0,function(a,b,e){ve(d,a,b,e)})}}w(ue);
|
||||||
function se(a){if(!mb(a))if(!a.D)D(a);else if(a.g&&a.A){a.j||(a.j=a.g.length);if(a.g.length!=a.j)nb(a,"ROM size ("+r(a.g.length,8,!0)+") does not match specified size ("+r(a.j,8,!0)+")");else{var b;b=a.F;if(Cb(a.A,b,a.j,a.I?1:lc)){var d;for(d=0;d<a.g.length;d++){var c=a.A,f=b+d;c.L[(f&c.g)>>>c.R].Bb(f&c.A,a.g[d]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.B?b.push(a.B):null!=a.B&&a.B.length&&(b=a.B);for(d=0;d<b.length;d++){for(var e=a,c=b[d],f=e.A,g=e.j,h=[],k=e.F>>>f.R;0<g&&k<f.L.length;)h.push(f.L[k++]),
|
ue.prototype.Za=function(a,b,d,c){this.C=b;this.b=d;this.D=c;we(this)};ue.prototype.Ma=function(){if(this.Ja){if(this.D){var a=this.D,b=this.id,d=this.F,c=this.u,f=this.Ja,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],q=na(n,k,a.vc);0>q&&n.splice(-(q+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({pd:b,A:d,Uc:c,Ja:f,sc:e})}delete this.Ja}return!0};ue.prototype.La=function(){return!0};
|
||||||
g-=f.za;f=e.A;e=e.j;g=0;for(c>>>=f.R;0<e&&c<f.L.length;){k=h[g++];if(!k)break;f.L[c++]=k;e-=f.za}}delete a.g}}D(a)}}Ka(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new qe(c);ib(c,d)}});function te(a){u.call(this,"RAM",a,te);this.B=a.addr;this.j=a.size;this.g=!1}w(te);l=te.prototype;l.Ya=function(a,b,d,c){this.A=b;this.b=d;this.C=c;D(this)};l.La=function(a,b){b||this.reset();return!0};l.Ka=function(a){return a?this.save():!0};
|
function ve(a,b,d,c){if(c)a.ma("Unable to load system ROM (error "+c+": "+b+")");else{Xa(a.tc,b,d);var f;if("["==d.charAt(0)||"{"==d.charAt(0))try{var e,g,h=eval("("+d+")");if(e=h.bytes)a.f=e;else if(e=h.words)for(a.f=Array(2*e.length),g=f=0;f<e.length;f++)a.f[g++]=e[f]&255,a.f[g++]=e[f]>>8&255;else if(e=h.data)for(a.f=Array(4*e.length),g=f=0;f<e.length;f++)a.f[g++]=e[f]&255,a.f[g++]=e[f]>>8&255,a.f[g++]=e[f]>>16&255,a.f[g++]=e[f]>>24&255;else a.f=h;a.Ja=h.symbols;if(!a.f.length){t("Empty ROM: "+
|
||||||
l.reset=function(){!this.g&&this.j&&Cb(this.A,this.B,this.j,1)&&(this.g=!0);this.g||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Ka(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new te(c);ib(c,d)}});function ue(a){u.call(this,"Keyboard",a,ue,65536);D(this)}w(ue);ue.prototype.oa=function(){return!1};ue.prototype.Ya=function(a,b,d,c){this.g=a;this.b=d;this.C=c;this.Z=null};
|
b);return}if(1==a.f.length){t(a.f[0]);return}}catch(k){a.ma("ROM data error: "+k.message);return}else for(b=d.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.f=Array(b.length),f=0;f<b.length;f++)a.f[f]=ca(b[f],16);we(a)}}
|
||||||
Ka(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new ue(c);ib(c,d)}});function ve(a){u.call(this,"Debugger",a,ve);this.wa=a.base||16;this.V=this.Ha=this.K=0;this.Z=!1;this.D=-1;this.B=[];this.ea={}}w(ve);var we={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
function we(a){if(!pb(a))if(!a.B)D(a);else if(a.f&&a.C){a.u||(a.u=a.f.length);if(a.f.length!=a.u)qb(a,"ROM size ("+r(a.f.length,8,!0)+") does not match specified size ("+r(a.u,8,!0)+")");else{var b;b=a.F;if(Fb(a.C,b,a.u,a.H?1:mc)){var d;for(d=0;d<a.f.length;d++){var c=a.C,f=b+d;c.L[(f&c.C)>>>c.S].Bb(f&c.f,a.f[d]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.w?b.push(a.w):null!=a.w&&a.w.length&&(b=a.w);for(d=0;d<b.length;d++){for(var e=a,c=b[d],f=e.C,g=e.u,h=[],k=e.F>>>f.S;0<g&&k<f.L.length;)h.push(f.L[k++]),
|
||||||
function xe(a,b,d,c){if(d)if(b){0>a.D&&a.B.length&&(a.D=0);if(0>a.D||b!=a.B[a.D])a.B.splice(0,0,b),a.D=0;a.D--}else a.Z?b="end":b=a.B[a.D+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");d=0;var f=null;c=c||";";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==c&&!f||!g)a.push(la(b.substring(d,e))),d=e+1}}return a}
|
g-=f.Aa;f=e.C;e=e.u;g=0;for(c>>>=f.S;0<e&&c<f.L.length;){k=h[g++];if(!k)break;f.L[c++]=k;e-=f.Aa}}delete a.f}}D(a)}}Ma(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new ue(c);$a(c,d)}});function xe(a){u.call(this,"RAM",a,xe);this.w=a.addr;this.u=a.size;this.f=!1}w(xe);l=xe.prototype;l.Za=function(a,b,d,c){this.C=b;this.b=d;this.D=c;D(this)};l.Ma=function(a,b){b||this.reset();return!0};l.La=function(a){return a?this.save():!0};
|
||||||
function ye(a,b,d){for(d=d||-1;d--&&b.length;){var c=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(c){case "*":c=e*f;break;case "/":if(!f)return!1;c=e/f;break;case "%":if(!f)return!1;c=e%f;break;case "+":c=e+f;break;case "-":c=e-f;break;case "<<":c=e<<f;break;case ">>":c=e>>f;break;case ">>>":c=e>>>f;break;case "<":c=e<f?1:0;break;case "<=":c=e<=f?1:0;break;case ">":c=e>f?1:0;break;case ">=":c=e>=f?1:0;break;case "==":c=e==f?1:0;break;case "!=":c=e!=f?1:0;break;case "&":c=e&f;break;
|
l.reset=function(){!this.f&&this.u&&Fb(this.C,this.w,this.u,1)&&(this.f=!0);this.f||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Ma(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new xe(c);$a(c,d)}});function ye(a){u.call(this,"Keyboard",a,ye,65536);D(this)}w(ye);ye.prototype.ra=function(){return!1};ye.prototype.Za=function(a,b,d,c){this.u=a;this.b=d;this.D=c;this.$=null};
|
||||||
|
Ma(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new ye(c);$a(c,d)}});function ze(a){u.call(this,"Debugger",a,ze);this.$=a.base||16;this.V=this.Ia=this.K=0;this.Y=!1;this.B=-1;this.w=[];this.fa={}}w(ze);var Ae={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||||
|
function Be(a,b,d,c){if(d)if(b){0>a.B&&a.w.length&&(a.B=0);if(0>a.B||b!=a.w[a.B])a.w.splice(0,0,b),a.B=0;a.B--}else a.Y?b="end":b=a.w[a.B+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");d=0;var f=null;c=c||";";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==c&&!f||!g)a.push(la(b.substring(d,e))),d=e+1}}return a}
|
||||||
|
function Ce(a,b,d){for(d=d||-1;d--&&b.length;){var c=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(c){case "*":c=e*f;break;case "/":if(!f)return!1;c=e/f;break;case "%":if(!f)return!1;c=e%f;break;case "+":c=e+f;break;case "-":c=e-f;break;case "<<":c=e<<f;break;case ">>":c=e>>f;break;case ">>>":c=e>>>f;break;case "<":c=e<f?1:0;break;case "<=":c=e<=f?1:0;break;case ">":c=e>f?1:0;break;case ">=":c=e>=f?1:0;break;case "==":c=e==f?1:0;break;case "!=":c=e!=f?1:0;break;case "&":c=e&f;break;
|
||||||
case "^":c=e^f;break;case "|":c=e|f;break;case "&&":c=e&&f?1:0;break;case "||":c=e||f?1:0;break;default:return!1}a.push(c|0)}return!0}
|
case "^":c=e^f;break;case "|":c=e|f;break;case "&&":c=e&&f?1:0;break;case "||":c=e||f?1:0;break;default:return!1}a.push(c|0)}return!0}
|
||||||
function ze(a,b,d){var c;if(b){b=Ae(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],q=n.length,n=la(n);if(!n){e=!0;break}n=Be(a,n,null,!1===d);if(void 0===n){e=!0;d=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],p=n.length;k.length&&we[n]<we[k[k.length-1]]&&ye(h,k,1);k.push(n);b=b.substr(q+p)}ye(h,k)&&1==h.length||(e=!0);e?d&&a.f("error parsing '"+g+"' at character "+(g.length-b.length)):(c=h.pop(),d&&Ce(a,null,
|
function De(a,b,d){var c;if(b){b=Ee(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],q=n.length,n=la(n);if(!n){e=!0;break}n=Fe(a,n,null,!1===d);if(void 0===n){e=!0;d=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],p=n.length;k.length&&Ae[n]<Ae[k[k.length-1]]&&Ce(h,k,1);k.push(n);b=b.substr(q+p)}Ce(h,k)&&1==h.length||(e=!0);e?d&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(c=h.pop(),d&&Ge(a,null,
|
||||||
c))}return c}function Ae(a,b){for(var d;(d=b.match(/\{(.*?)}/))&&!(0<=d[1].indexOf("{"));){var c=ze(a,d[1]);b=b.replace("{"+d[1]+"}",null!=c?r(c):"undefined")}for(;(d=b.match(/\[(.*?)]/))&&!(0<=d[1].indexOf("["));)b=b.replace("["+d[1]+"]","unimplemented");for(;d=b.match(/\$([a-z]+)/i);){c=null;switch(d[1].toLowerCase()){case "ops":c=a.V-a.Ha}if(null==c)break;b=b.replace(d[0],c.toString())}return b}
|
c))}return c}function Ee(a,b){for(var d;(d=b.match(/\{(.*?)}/))&&!(0<=d[1].indexOf("{"));){var c=De(a,d[1]);b=b.replace("{"+d[1]+"}",null!=c?r(c):"undefined")}for(;(d=b.match(/\[(.*?)]/))&&!(0<=d[1].indexOf("["));)b=b.replace("["+d[1]+"]","unimplemented");for(;d=b.match(/\$([a-z]+)/i);){c=null;switch(d[1].toLowerCase()){case "ops":c=a.V-a.Ia}if(null==c)break;b=b.replace(d[0],c.toString())}return b}
|
||||||
function Be(a,b,d,c){var f;null!=b?(f=a.ea[b],null==f&&(f=ba(b,a.wa)),null!=f||c||a.f("invalid "+(d?d:"value")+": "+b)):c||a.f("missing "+(d||"value"));return f}function Ce(a,b,d){var c,f=!1;if(void 0!==d){f=!0;c=d;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=c&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;c>>=8}c=r(d,0,!0)+" "+d+". "+ca(d,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+c);return f}
|
function Fe(a,b,d,c){var f;null!=b?(f=a.fa[b],null==f&&(f=ca(b,a.$)),null!=f||c||a.g("invalid "+(d?d:"value")+": "+b)):c||a.g("missing "+(d||"value"));return f}function Ge(a,b,d){var c,f=!1;if(void 0!==d){f=!0;c=d;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=c&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;c>>=8}c=r(d,0,!0)+" "+d+". "+da(d,0,!0)+" "+("0b"+g)}a.g((null!=b?b+": ":"")+c);return f}
|
||||||
function De(a,b){if(b)return Ce(a,b,a.ea[b]);var d=0;for(b in a.ea)Ce(a,b,a.ea[b]),d++;return 0<d}function S(a,b,d){switch(a.wa){case 8:return ca(b,d);case 10:return b.toString();default:return r(b,d)}}
|
function He(a,b){if(b)return Ge(a,b,a.fa[b]);var d=0;for(b in a.fa)Ge(a,b,a.fa[b]),d++;return 0<d}function T(a,b,d){switch(a.$){case 8:return da(b,d);case 10:return b.toString();default:return r(b,d)}}
|
||||||
function Ee(a){ve.call(this,a);this.P=U();this.Cb=U();this.X=U();this.I=[];this.j=this.T=this.F=[];Fe(this);this.xa=0;Ge(this);this.Sa={};He(this,a.messages);this.ob=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Ie(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Ie(b,a)})}w(Ee,ve);
|
function Ie(a){ze.call(this,a);this.P=V();this.Cb=V();this.X=V();this.H=[];this.f=this.R=this.F=[];Je(this);this.va=0;Ke(this);this.Ta={};Le(this,a.messages);this.ob=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Me(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Me(b,a)})}w(Ie,ze);
|
||||||
var Je={"?":"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"},Ke="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(" "),
|
var Ne={"?":"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"},Oe="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(" "),
|
||||||
Le={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],
|
Pe={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=Ee.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=Ie.prototype;
|
||||||
l.Ya=function(a,b,d,c){this.A=b;this.b=d;this.g=a;(a=Mc(a,"messages"))&&He(this,a);this.vc=Le;Me(this,function(a){a:{var b=c.A.L,d=a[0],f=a=0,k=b.length;if(d){a=c.W(V(c,d));if(-1===a){c.f("invalid address: "+d);break a}f=a>>>c.A.R;k=1}c.f("blockid physical blockaddr used size type");c.f("-------- --------- ---------- ------ ------ ----");for(var d=-1,m=0;k--;){var n=b[f];n.type==d?m++||c.f("..."):(d=n.type,m=Qb[d],n&&c.f(r(n.id,8)+" %"+r(f<<c.A.R,8)+" %%"+r(n.w,8)+" "+r(n.Xb,4,
|
l.Za=function(a,b,d,c){this.C=b;this.b=d;this.u=a;(a=Nc(a,"messages"))&&Le(this,a);this.Zb=Pe;Qe(this,function(a){a:{var b=c.C.L,d=a[0],f=a=0,k=b.length;if(d){a=c.W(W(c,d));if(-1===a){c.g("invalid address: "+d);break a}f=a>>>c.C.S;k=1}c.g("blockid physical blockaddr used size type");c.g("-------- --------- ---------- ------ ------ ----");for(var d=-1,m=0;k--;){var n=b[f];n.type==d?m++||c.g("..."):(d=n.type,m=Ib[d],n&&c.g(r(n.id,8)+" %"+r(f<<c.C.S,8)+" %%"+r(n.A,8)+" "+r(n.Yb,4,
|
||||||
!0)+" "+r(n.size,4,!0)+" "+m),d!=kc&&(d=-1),m=0);a+=c.A.za;f++}}});D(this)};
|
!0)+" "+r(n.size,4,!0)+" "+m),d!=lc&&(d=-1),m=0);a+=c.C.Aa;f++}}});D(this)};
|
||||||
l.oa=function(a,b,d){var c=this;switch(b){case "debugInput":return this.va=this.J[b]=d,d.onkeydown=function(a){var b;if(13==a.keyCode)b=d.value,d.value="",Ie(c,b,!0);else if(27==a.keyCode)d.value=b="";else if(38==a.keyCode?(b=null,c.D<c.B.length-1&&(b=c.B[++c.D])):40==a.keyCode&&(0<c.D?b=c.B[--c.D]:(b="",c.D=-1)),null!=b){var f=b.length;d.value=b;d.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=d,Ea(d,function(){if(c.va){var a=c.va.value;
|
l.ra=function(a,b,d){var c=this;switch(b){case "debugInput":return this.ua=this.J[b]=d,d.onkeydown=function(a){var b;if(13==a.keyCode)b=d.value,d.value="",Me(c,b,!0);else if(27==a.keyCode)d.value=b="";else if(38==a.keyCode?(b=null,c.B<c.w.length-1&&(b=c.w[++c.B])):40==a.keyCode&&(0<c.B?b=c.w[--c.B]:(b="",c.B=-1)),null!=b){var f=b.length;d.value=b;d.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=d,Ba(d,function(){if(c.ua){var a=c.ua.value;
|
||||||
c.va.value="";Ie(c,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=d,Ea(d,function(a){var b=!1;lb(c,!0)||(kb(c,!0),b=c.zb(a?1:0),kb(c,!1));return b}),!0}return!1};l.Wb=function(){this.va&&this.va.focus()};l.W=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.Kb=function(a,b){var d=255,c=this.W(a,!1,1);-1!==c&&(d=this.A,d=d.L[(c&d.g)>>>d.R].Qb(c&d.A,c),b&&Ne(a,b));return d};l.Ea=function(a,b){var d=65535,c=this.W(a,!1,2);-1!==c&&(d=Rb(this.A,c),b&&Ne(a,b));return d};
|
c.ua.value="";Me(c,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=d,Ba(d,function(a){var b=!1;ob(c,!0)||(nb(c,!0),b=c.zb(a?1:0),nb(c,!1));return b}),!0}return!1};l.Xb=function(){this.ua&&this.ua.focus()};l.W=function(a){a=a&&a.A;null==a&&(a=-1);return a};l.Lb=function(a,b){var d=255,c=this.W(a,!1,1);-1!==c&&(d=this.C,d=d.L[(c&d.C)>>>d.S].Rb(c&d.f,c),b&&Re(a,b));return d};l.Ea=function(a,b){var d=65535,c=this.W(a,!1,2);-1!==c&&(d=Jb(this.C,c),b&&Re(a,b));return d};
|
||||||
l.fc=function(a,b,d){var c=this.W(a,!0,1);if(-1!==c){var f=this.A;f.L[(c&f.g)>>>f.R].Bb(c&f.A,b&255,c);d&&Ne(a,d);K(this.b,!0)}};l.nc=function(a,b,d){var c=this.W(a,!0,2);if(-1!==c){var f=this.A,e=c&f.A,g=(c&f.g)>>>f.R;e!=f.A?f.L[g].pc(e,b&65535,c):(f.L[g++].Bb(e,b&255,c),f.L[g&f.j].Bb(0,b>>8&255,c+1));d&&Ne(a,d);K(this.b,!0)}};function U(a){return{w:a,Da:!1}}function Oe(a){return[a.w,a.Da]}function Pe(a){return{w:a[0],Da:a[1]}}
|
l.gc=function(a,b,d){var c=this.W(a,!0,1);if(-1!==c){var f=this.C;f.L[(c&f.C)>>>f.S].Bb(c&f.f,b&255,c);d&&Re(a,d);K(this.b,!0)}};l.oc=function(a,b,d){var c=this.W(a,!0,2);if(-1!==c){var f=this.C,e=c&f.f,g=(c&f.C)>>>f.S;e!=f.f?f.L[g].qc(e,b&65535,c):(f.L[g++].Bb(e,b&255,c),f.L[g&f.u].Bb(0,b>>8&255,c+1));d&&Re(a,d);K(this.b,!0)}};function V(a){return{A:a,Da:!1}}function Se(a){return[a.A,a.Da]}function Te(a){return{A:a[0],Da:a[1]}}
|
||||||
function V(a,b,d){var c;d=(d?a.P:a.Cb).w;if(void 0!==b){c=b=Ae(a,b);var f;if(c.match(/^[a-z_][a-z0-9_]*$/i))for(c=c.toUpperCase(),d=0;d<a.I.length;d++){var e=a.I[d].Ia[c];if(void 0!==e){c=e.o;void 0!==c&&(f=U(c));break}}if(c=f)return c;d=ze(a,b,void 0)}null!=d&&(c=U(d));return c}function Qe(a,b,d){d&&(d=d.match(/(['"])(.*?)\1/))&&(b.Ic=xe(a,b.Dc=d[2]))}function Ne(a,b){null!=a.w&&(a.w+=b||1)}
|
function W(a,b,d){var c;d=(d?a.P:a.Cb).A;if(void 0!==b){c=b=Ee(a,b);var f;if(c.match(/^[a-z_][a-z0-9_]*$/i))for(c=c.toUpperCase(),d=0;d<a.H.length;d++){var e=a.H[d].Ja[c];if(void 0!==e){c=e.o;void 0!==c&&(f=V(c));break}}if(c=f)return c;d=De(a,b,void 0)}null!=d&&(c=V(d));return c}function Ue(a,b,d){d&&(d=d.match(/(['"])(.*?)\1/))&&(b.Ic=Be(a,b.Dc=d[2]))}function Re(a,b){null!=a.A&&(a.A+=b||1)}
|
||||||
function He(a,b){a.C=a;a.ca=a.Jc=536870912;a.Ca=null;a.Ga=[];b=xe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var d in F){var c;a:if(c=void 0,Array.prototype.indexOf)c=b.indexOf(d,c);else{c=c||0;0>c&&(c+=b.length);0>c&&(c=0);for(var f=b.length;c<f;c++)if(c in b&&b[c]===d)break a;c=-1}0<=c&&(a.ca|=F[d],a.f(d+" messages enabled"))}}function Me(a,b){for(var d in F)if(64==F[d]){a.Sa[d]=b;break}}
|
function Le(a,b){a.D=a;a.da=a.Jc=536870912;a.wa=null;a.Ha=[];b=Be(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var d in F){var c;a:if(c=void 0,Array.prototype.indexOf)c=b.indexOf(d,c);else{c=c||0;0>c&&(c+=b.length);0>c&&(c=0);for(var f=b.length;c<f;c++)if(c in b&&b[c]===d)break a;c=-1}0<=c&&(a.da|=F[d],a.g(d+" messages enabled"))}}function Qe(a,b){for(var d in F)if(64==F[d]){a.Ta[d]=b;break}}
|
||||||
l.message=function(a,b){b&&(a+=" at "+S(this,U(this.b.i[7]).w));this.ca&1073741824?this.Ga.push(a):this.Ca&&a==this.Ca||(this.Ca=a,this.ca&-2147483648&&(this.ia(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,Vc(a),a.V=0,K(a)))};l.Lb=function(){this.f("Type ? for help with PDP11 Debugger commands");this.ua();if(this.ob){var a=this.ob;this.ob=null;Ie(this,a)}};
|
l.message=function(a,b){b&&(a+=" at "+T(this,V(this.b.i[7]).A));this.da&1073741824?this.Ha.push(a):this.wa&&a==this.wa||(this.wa=a,this.da&-2147483648&&(this.ka(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Wc(a),a.X=0,K(a)))};l.Mb=function(){this.g("Type ? for help with PDP11 Debugger commands");this.ta();if(this.ob){var a=this.ob;this.ob=null;Me(this,a)}};
|
||||||
function Ge(a){var b;if(md(a)){if(!a.O||!a.O.length){a.O=Array(1E3);for(b=0;b<a.O.length;b++)a.O[b]=U();a.ma=0;a.f("instruction history buffer allocated")}if(!a.fa||!a.fa.length)for(a.fa=Array(256),b=0;b<a.fa.length;b++)a.fa[b]=[b,0]}else a.O&&a.O.length&&a.f("instruction history buffer freed"),a.ma=0,a.O=[],a.fa=[]}l.nb=function(a){if(!Re(this))return!1;this.b.nb(a);return!0};
|
function Ke(a){var b;if(qd(a)){if(!a.O||!a.O.length){a.O=Array(1E3);for(b=0;b<a.O.length;b++)a.O[b]=V();a.pa=0;a.g("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.O&&a.O.length&&a.g("instruction history buffer freed"),a.pa=0,a.O=[],a.oa=[]}l.nb=function(a){if(!Ve(this))return!1;this.b.nb(a);return!0};
|
||||||
l.zb=function(a,b,d){if(!Re(this))return!1;this.K=0;a||md(this)&&nd(this,this.b.i[7],0);try{var c=this.b.zb(a);0<c&&(this.K+=c,Tc(this.b,c,!0),Pc(this.b,c),this.V++)}catch(f){"number"!=typeof f&&(this.K=0,nb(this.b,f.stack||f.message))}!1!==d&&K(this.b);this.ua(b||!1);return 0<this.K};l.ia=function(a){this.b&&this.b.ia(a)};l.ua=function(a){void 0===a&&(a=!0);this.P=U(this.b.i[7]);a&&1!=this.$?Se(this):Te(this)};
|
l.zb=function(a,b,d){if(!Ve(this))return!1;this.K=0;a||qd(this)&&rd(this,this.b.i[7],0);try{var c=this.b.zb(a);0<c&&(this.K+=c,Uc(this.b,c,!0),Qc(this.b,c),this.V++)}catch(f){"number"!=typeof f&&(this.K=0,qb(this.b,f.stack||f.message))}!1!==d&&K(this.b);this.ta(b||!1);return 0<this.K};l.ka=function(a){this.b&&this.b.ka(a)};l.ta=function(a){void 0===a&&(a=!0);this.P=V(this.b.i[7]);a&&1!=this.aa?We(this):Xe(this)};
|
||||||
function Re(a){var b;if(b=a.b&&mb(a.b))b=a.b,b.u.ba?b=!0:(b.f(b.toString()+" not powered"),b=!1);b&&!lb(a.b)?(a=a.b,a.u.error?(a.f(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.La=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Ka=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ge(this);this.V=this.Ha=0;this.Ca=null;this.K=0;this.P=U(this.b.i[7]);this.u.da=!1;Ue(this);a||this.ua()};
|
function Ve(a){var b;if(b=a.b&&pb(a.b))b=a.b,b.j.ca?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!ob(a.b)?(a=a.b,a.j.error?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Ma=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.La=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ke(this);this.V=this.Ia=0;this.wa=null;this.K=0;this.P=V(this.b.i[7]);this.j.ea=!1;Ye(this);a||this.ta()};
|
||||||
l.save=function(){var a=new M(this);a.set(0,Oe(this.P));a.set(1,Oe(this.X));a.set(2,[this.B,this.Z,this.ca]);a.set(3,this.I);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.P=Pe(a[b++]),this.X=Pe(a[b++]),this.B=a[b][0],"string"==typeof this.B&&(this.B=[this.B]),this.Z=a[b][1],this.ca|=a[b][2]);a[3]&&(this.I=a[3]);return!0};l.start=function(a,b){this.$||this.f("running");this.u.da=!0;this.Mc=a;this.Oc=b};
|
l.save=function(){var a=new L(this);a.set(0,Se(this.P));a.set(1,Se(this.X));a.set(2,[this.w,this.Y,this.da]);a.set(3,this.H);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.P=Te(a[b++]),this.X=Te(a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.Y=a[b][1],this.da|=a[b][2]);a[3]&&(this.H=a[3]);return!0};l.start=function(a,b){this.aa||this.g("running");this.j.ea=!0;this.Mc=a;this.Oc=b};
|
||||||
l.stop=function(a,b){if(this.u.da){this.u.da=!1;this.K=b-this.Oc;if(!this.$){b="stopped";if(this.K){a-=this.Mc;var d=0<a?Math.round(1E3*this.K/a):0;b+=" (";md(this)&&(b+=this.V+" opcodes, ",this.Ha-=this.V,this.V=0);b+=this.K+" cycles, "+a+" ms, "+d+" hz)"}else jb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}this.ua(!0);this.Wb();Ue(this,this.b.i[7])}};function md(a){return 1<a.j.length||!!a.xa}
|
l.stop=function(a,b){if(this.j.ea){this.j.ea=!1;this.K=b-this.Oc;if(!this.aa){b="stopped";if(this.K){a-=this.Mc;var d=0<a?Math.round(1E3*this.K/a):0;b+=" (";qd(this)&&(b+=this.V+" opcodes, ",this.Ia-=this.V,this.V=0);b+=this.K+" cycles, "+a+" ms, "+d+" hz)"}else mb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.ta(!0);this.Xb();Ye(this,this.b.i[7])}};function qd(a){return 1<a.f.length||!!a.va}
|
||||||
function nd(a,b,d){var c=a.b;if(0<d&&(a.xa&&!--a.xa||tc(a,b,1,a.j)))return!0;0<=d&&a.fa.length&&(a.V++,null!=Rb(a.A,b)&&(b=a.O[a.ma],b.w=c.i[7],b.Da=!1,++a.ma==a.O.length&&(a.ma=0)));return!1}function Fe(a){var b,d;a.j=["bp"];if(a.T)for(b=1;b<a.T.length;b++){d=a.T[b];var c=a.A;d=a.W(d);Ic(c.L[d>>>c.R],!1)}a.T=["br"];if(a.F)for(b=1;b<a.F.length;b++)d=a.F[b],c=a.A,d=a.W(d),Ic(c.L[d>>>c.R],!0);a.F=["bw"];a.Hb=0}
|
function rd(a,b,d){var c=a.b;if(0<d&&(a.va&&!--a.va||uc(a,b,1,a.f)))return!0;0<=d&&a.oa.length&&(a.V++,null!=Jb(a.C,b)&&(b=a.O[a.pa],b.A=c.i[7],b.Da=!1,++a.pa==a.O.length&&(a.pa=0)));return!1}function Je(a){var b,d;a.f=["bp"];if(a.R)for(b=1;b<a.R.length;b++){d=a.R[b];var c=a.C;d=a.W(d);vc(c.L[d>>>c.S],!1)}a.R=["br"];if(a.F)for(b=1;b<a.F.length;b++)d=a.F[b],c=a.C,d=a.W(d),vc(c.L[d>>>c.S],!0);a.F=["bw"];a.Hb=0}
|
||||||
l.gb=function(a,b,d){var c=!0;d||Ve(this,a,b,!1,!0);if(a!=this.j){var f=this.W(b);if(-1===f)this.f("invalid address: "+S(this,b.w)),c=!1;else{var e=this.A;e.L[f>>>e.R].gb(f&e.A,a==this.F)}}c&&(a.push(b),d?b.Da=!0:(We(this,a,a.length-1,"set"),Ge(this)));return c};function Ve(a,b,d,c,f){var e=!1;d=a.W(d);for(var g=1;g<b.length;g++){var h=b[g];if(d==a.W(h)&&(!c||h.Da)){e=!0;h.Da||f||We(a,b,g,"cleared");b.splice(g,1);b!=a.j&&(c=a.A,Ic(c.L[d>>>c.R],b==a.F));h.Da||Ge(a);break}}return e}
|
l.gb=function(a,b,d){var c=!0;d||Ze(this,a,b,!1,!0);if(a!=this.f){var f=this.W(b);if(-1===f)this.g("invalid address: "+T(this,b.A)),c=!1;else{var e=this.C;e.L[f>>>e.S].gb(f&e.f,a==this.F)}}c&&(a.push(b),d?b.Da=!0:($e(this,a,a.length-1,"set"),Ke(this)));return c};function Ze(a,b,d,c,f){var e=!1;d=a.W(d);for(var g=1;g<b.length;g++){var h=b[g];if(d==a.W(h)&&(!c||h.Da)){e=!0;h.Da||f||$e(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(c=a.C,vc(c.L[d>>>c.S],b==a.F));h.Da||Ke(a);break}}return e}
|
||||||
function Xe(a,b){for(var d=1;d<b.length;d++)We(a,b,d);return b.length-1}function We(a,b,d,c){d=b[d];a.f(b[0]+" "+S(a,d.w)+(c?" "+c:d.Dc?' "'+d.Dc+'"':""))}function Ue(a,b){if(void 0!==b)tc(a,b,1,a.j,!0),a.$=0;else for(b=1;b<a.j.length;b++){var d=a.j[b];if(d.Da){if(!Ve(a,a.j,d,!0))break;b=0}}}
|
function af(a,b){for(var d=1;d<b.length;d++)$e(a,b,d);return b.length-1}function $e(a,b,d,c){d=b[d];a.g(b[0]+" "+T(a,d.A)+(c?" "+c:d.Dc?' "'+d.Dc+'"':""))}function Ye(a,b){if(void 0!==b)uc(a,b,1,a.f,!0),a.aa=0;else for(b=1;b<a.f.length;b++){var d=a.f[b];if(d.Da){if(!Ze(a,a.f,d,!0))break;b=0}}}
|
||||||
function tc(a,b,d,c,f){var e=!1;if(!a.Hb++)for(var g=1;!e&&g<c.length;g++){var h=c[g];if(!f||h.Da)for(var k=a.W(h),m=0;m<d;m++)if(b+m==k){var n,e=!0;h.Da&&(Ve(a,c,h,!0),f=!0);if(n=h.Ic){for(var e=!1,q=0;q<n.length;q++)if(!Ye(a,n[q],!0)){if(n[q].indexOf("if")){e=!0;break}for(var p=q+1;p<n.length&&n[p].indexOf("else");p++)q++;if(p==n.length){e=!0;break}}a.b.u.da||(e=!0)}if(e){f||We(a,c,g,"hit");break}}}a.Hb--;return e}
|
function uc(a,b,d,c,f){var e=!1;if(!a.Hb++)for(var g=1;!e&&g<c.length;g++){var h=c[g];if(!f||h.Da)for(var k=a.W(h),m=0;m<d;m++)if(b+m==k){var n,e=!0;h.Da&&(Ze(a,c,h,!0),f=!0);if(n=h.Ic){for(var e=!1,q=0;q<n.length;q++)if(!bf(a,n[q],!0)){if(n[q].indexOf("if")){e=!0;break}for(var p=q+1;p<n.length&&n[p].indexOf("else");p++)q++;if(p==n.length){e=!0;break}}a.b.j.ea||(e=!0)}if(e){f||$e(a,c,g,"hit");break}}}a.Hb--;return e}
|
||||||
function Ze(a,b,d,c){var f=U(b.w),e=a.Ea(b,2),g,h;for(h in a.vc)if(g=a.vc[h][e&h])break;g||(g=[0]);h="";for(var k=Ke[g[0]],m=g.length-1,n=1;n<=m;n++){var q=g[n];if(void 0!==q){var p;p=a;var z=q,q=b,x="",A=z&61440;if(4096==A)q=q.w+((e&255)<<24>>23)&65535,x=S(p,q);else if(8192==A)q=q.w-((e&63)<<1)&65535,x=S(p,q);else if(12288==A)x=S(p,e&7,2);else if(24576==A)x=S(p,e&63);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:x=W(z);break;case 8:x="@"+W(z);break;case 16:7>z?x="("+W(z)+")+":
|
function cf(a,b,d,c){var f=V(b.A),e=a.Ea(b,2),g,h;for(h in a.Zb)if(g=a.Zb[h][e&h])break;g||(g=[0]);h="";for(var k=Oe[g[0]],m=g.length-1,n=1;n<=m;n++){var q=g[n];if(void 0!==q){var p;p=a;var z=q,q=b,x="",A=z&61440;if(4096==A)q=q.A+((e&255)<<24>>23)&65535,x=T(p,q);else if(8192==A)q=q.A-((e&63)<<1)&65535,x=T(p,q);else if(12288==A)x=T(p,e&7,2);else if(24576==A)x=T(p,e&63);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:x=X(z);break;case 8:x="@"+X(z);break;case 16:7>z?x="("+X(z)+")+":
|
||||||
(A=p.Ea(q,2),x="#"+S(p,A));break;case 24:7>z?x="@("+W(z)+")+":(A=p.Ea(q,2),x="@#"+S(p,A));break;case 32:x="-("+W(z)+")";break;case 40:x="@-("+W(z)+")";break;case 48:A=p.Ea(q,2);x=S(p,A)+"("+W(z)+")";7==z&&(x=[x,S(p,A+q.w&65535)]);break;case 56:A=p.Ea(q,2),x="@"+S(p,A)+"("+W(z)+")",7==z&&(x=[x,S(p,A+q.w&65535)])}p=x;if(!p||!p.length){h="INVALID";break}"string"!=typeof p&&(d||(d=p[1]),p=p[0]);0<h.length&&(h+=",");h+=p||"???"}}e="";g=S(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+=" "+S(a,a.Ea(f,2)),null==
|
(A=p.Ea(q,2),x="#"+T(p,A));break;case 24:7>z?x="@("+X(z)+")+":(A=p.Ea(q,2),x="@#"+T(p,A));break;case 32:x="-("+X(z)+")";break;case 40:x="@-("+X(z)+")";break;case 48:A=p.Ea(q,2);x=T(p,A)+"("+X(z)+")";7==z&&(x=[x,T(p,A+q.A&65535)]);break;case 56:A=p.Ea(q,2),x="@"+T(p,A)+"("+X(z)+")",7==z&&(x=[x,T(p,A+q.A&65535)])}p=x;if(!p||!p.length){h="INVALID";break}"string"!=typeof p&&(d=p[1],c=null,p=p[0]);0<h.length&&(h+=",");h+=p||"???"}}e="";g=T(a,f.A)+":";if(-1!==f.A&&-1!==b.A){do if(e+=" "+T(a,a.Ea(f,2)),
|
||||||
f.w)break;while(f.w!=b.w)}g+=ka(e,24);g+=ka(k,5);h&&(g+=" "+h);d&&(g=ka(g,60)+";"+d,g=a.b.u.qb?g+("cycles="+Qc(a.b).toString()+" cs="+r(a.b.Nb)):g+(null!=c?"="+c.toString():""));return g}function $e(a,b){switch(b){case "N":a=a.b.ra&32768?8:0;break;case "Z":a=a.b.ta&65535?0:4;break;case "V":a=a.b.sa&32768?2:0;break;case "C":a=a.b.ya&65536?1:0;break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function W(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
null==f.A)break;while(f.A!=b.A)}g+=ka(e,24);g+=ka(k,5);h&&(g+=" "+h);d&&(g=ka(g,60)+";"+d,g=a.b.j.qb?g+("cycles="+Rc(a.b).toString()+" cs="+r(a.b.Ob)):g+(null!=c?"="+c.toString():""));return g}function df(a,b){switch(b){case "N":a=cd(a.b);break;case "Z":a=bd(a.b);break;case "V":a=ad(a.b);break;case "C":a=a.b.ha&65536?1:0;break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function X(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
||||||
function af(a,b){var d="",c=a.b;8>b?(d=W(b),d+="="+S(a,c.i[b])):13>b?d="A"+(b-8)+"="+S(a,c.ab[b-8]):16<=b&&20>b?d="S"+(b-16)+"="+S(a,c.Oa[b-16]):20==b&&(d="PS="+S(a,Wb(c)));d&&(d+=" ");return d}function bf(a){var b,d="";for(b=0;6>b;b++)d+=af(a,b);d=d+"\n"+(af(a,6)+af(a,7)+af(a,20));return d+=$e(a,"T")+$e(a,"N")+$e(a,"Z")+$e(a,"V")+$e(a,"C")}l.uc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
function ef(a,b){var d="",c=a.b;8>b?(d=X(b),d+="="+T(a,c.i[b])):13>b?d="A"+(b-8)+"="+T(a,c.ab[b-8]):16<=b&&20>b?d="S"+(b-16)+"="+T(a,c.Pa[b-16]):20==b&&(d="PS="+T(a,Xb(c)));d&&(d+=" ");return d}function ff(a){var b,d="";for(b=0;6>b;b++)d+=ef(a,b);d=d+"\n"+(ef(a,6)+ef(a,7)+ef(a,20));return d+=df(a,"T")+df(a,"N")+df(a,"Z")+df(a,"V")+df(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||||
function cf(a,b,d){var c=[],f=a.W(b)>>>0;for(b=0;b<a.I.length;b++){var e=a.I[b],g=e.w>>>0,h=e.Uc;if(f>=g&&f<g+h){f=pa(e.rc,[f-g],a.uc);0<=f?df(a,b,f,c):d&&(f=~f,df(a,b,f-1,c),df(a,b,f,c));break}}return c}function df(a,b,d,c){var f={},e=a.I[b].rc,g=0,h=null;0<=d&&d<e.length&&(g=e[d][0],h=e[d][1]);h&&(f=a.I[b].Ia[h],h="."==h.charAt(0)?null:f.l||h);c.push(h);c.push(g);c.push(f.a);c.push(f.c)}
|
function gf(a,b,d){var c=[],f=a.W(b)>>>0;for(b=0;b<a.H.length;b++){var e=a.H[b],g=e.A>>>0,h=e.Uc;if(f>=g&&f<g+h){f=na(e.sc,[f-g],a.vc);0<=f?hf(a,b,f,c):d&&(f=~f,hf(a,b,f-1,c),hf(a,b,f,c));break}}return c}function hf(a,b,d,c){var f={},e=a.H[b].sc,g=0,h=null;0<=d&&d<e.length&&(g=e[d][0],h=e[d][1]);h&&(f=a.H[b].Ja[h],h="."==h.charAt(0)?null:f.l||h);c.push(h);c.push(g);c.push(f.a);c.push(f.c)}
|
||||||
function ef(a,b){var d=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(d){if(!d[1])return De(a)||a.f("no variables"),!0;if(!d[2])return De(a,d[1]);if(!d[3])return delete a.ea[d[1]],!0;b=ze(a,d[3]);return void 0!==b?(a.ea[d[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
|
function jf(a,b){var d=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(d){if(!d[1])return He(a)||a.g("no variables"),!0;if(!d[2])return He(a,d[1]);if(!d[3])return delete a.fa[d[1]],!0;b=De(a,d[3]);return void 0!==b?(a.fa[d[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
|
||||||
function ff(a,b,d){var c=null;if(b=V(a,b,!0)){a.W(b);var f=cf(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.w-f[1])&&(g=" + "+r(e,4,!0)),e=f[0]+" ("+S(a,f[1])+")"+g,d&&a.f(e),c=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.w)&&(g=" - "+r(e,4,!0)),e=f[4]+" ("+S(a,f[5])+")"+g,d&&a.f(e),c||(c=e))}else d&&a.f("no symbols")}return c}
|
function kf(a,b,d){var c=null;if(b=W(a,b,!0)){a.W(b);var f=gf(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.A-f[1])&&(g=" + "+r(e,4,!0)),e=f[0]+" ("+T(a,f[1])+")"+g,d&&a.g(e),c=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.A)&&(g=" - "+r(e,4,!0)),e=f[4]+" ("+T(a,f[5])+")"+g,d&&a.g(e),c||(c=e))}else d&&a.g("no symbols")}return c}
|
||||||
function Se(a,b){var d;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var c=a.b;null==d&&(d=!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}var e=!1,g=ze(a,b);if(void 0!==g)switch(e=!0,f.toUpperCase()){case "PC":c.i[7]=g;a.P=U(c.i[7]);break;case "NF":c.ra=g?32768:0;break;case "ZF":c.ta=g?0:1;break;case "VF":c.sa=g?32768:
|
function We(a,b){var d;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var c=a.b;null==d&&(d=!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.g("missing value for "+b[1]);return}var e=!1,g=De(a,b);if(void 0!==g)switch(e=!0,f.toUpperCase()){case "PC":c.i[7]=g;a.P=V(c.i[7]);break;case "NF":c.xa=g?32768:0;break;case "ZF":c.za=g?0:1;break;case "VF":c.ya=g?32768:
|
||||||
0;break;case "CF":c.ya=g?65536:0;break;default:a.f("unknown register: "+f);return}if(!e){a.f("invalid value: "+b);return}K(c);a.f("updated registers:")}a.f(bf(a));d&&(a.P=U(c.i[7]),Te(a,S(a,a.P.w)))}}function gf(a,b){b=la(b);var d=b.match(/^(['"])(.*?)\1$/);d?a.f(d[2]):ze(a,b,!0)}function hf(a,b,d){var c="t"!=b;d=Be(a,d,null,!0)||1;var f=1==d?0:1;"tc"==b&&(f=d,d=1);Da(d,function(){return kb(a,!0)&&a.zb(f,c,!1)},function(){K(a.b);kb(a,!1)})}
|
0;break;case "CF":c.ha=g?65536:0;break;default:a.g("unknown register: "+f);return}if(!e){a.g("invalid value: "+b);return}K(c);a.g("updated registers:")}a.g(ff(a));d&&(a.P=V(c.i[7]),Xe(a,T(a,a.P.A)))}}function lf(a,b){b=la(b);var d=b.match(/^(['"])(.*?)\1$/);d?a.g(d[2]):De(a,b,!0)}function mf(a,b,d){var c="t"!=b;d=Fe(a,d,null,!0)||1;var f=1==d?0:1;"tc"==b&&(f=d,d=1);Aa(d,function(){return nb(a,!0)&&a.zb(f,c,!1)},function(){K(a.b);nb(a,!1)})}
|
||||||
function Te(a,b,d,c){if(b=V(a,b,!0)){void 0===c&&(c=1);var f=256;if(void 0!==d){c=V(a,d,!0);if(!c||c.w<b.w)return;f=c.w-b.w;if(256<f){a.f("range too large");return}c=-1}d=0;for(var e;0<f&&c--;){e=lb(a,!1)||a.$?a.K:null;var g=null!=e?"cycles":null,h=cf(a,b),k=b.w;if(h[0]&&c&&(!d&&c||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(g=h[3],e=null);e=Ze(a,b,g,e);a.f(e);a.P=b;f-=b.w-k;d++}}}
|
function Xe(a,b,d,c){if(b=W(a,b,!0)){void 0===c&&(c=1);var f=256;if(void 0!==d){c=W(a,d,!0);if(!c||c.A<b.A)return;f=c.A-b.A;if(256<f){a.g("range too large");return}c=-1}d=0;for(var e;0<f&&c--;){e=ob(a,!1)||a.aa?a.K:null;var g=null!=e?"cycles":null,h=gf(a,b),k=b.A;if(h[0]&&c&&(!d&&c||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(g=h[3],e=null);e=cf(a,b,g,e);a.g(e);a.P=b;f-=b.A-k;d++}}}
|
||||||
function Ye(a,b,d){var c=!0;try{b.length&&"end"!=b?d||a.f(">> "+b):(a.Z&&(a.f("ended assemble at "+S(a,a.X.w)),a.P=a.X,a.Z=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Ca=null;if(mb(a)&&0<b.length){a.Z&&(b="a "+S(a,a.X.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=V(a,e[1],!0);if(n)if(a.X=
|
function bf(a,b,d){var c=!0;try{b.length&&"end"!=b?d||a.g(">> "+b):(a.Y&&(a.g("ended assemble at "+T(a,a.X.A)),a.P=a.X,a.Y=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.wa=null;if(pb(a)&&0<b.length){a.Y&&(b="a "+T(a,a.X.A)+" "+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=W(a,e[1],!0);if(n)if(a.X=
|
||||||
n,void 0===e[2])a.f("begin assemble at "+S(a,n.w)),a.Z=!0,K(a.b);else{var q;a.f("not supported yet");q=[];if(q.length){for(var p=0;p<q.length;p++)a.fc(n,q[p],1);a.f(Ze(a,a.X))}}break;case "b":a:{var z=e[0],x=e[1],A=b;if("?"==x)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)");
|
n,void 0===e[2])a.g("begin assemble at "+T(a,n.A)),a.Y=!0,K(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var p=0;p<q.length;p++)a.gc(n,q[p],1);a.g(cf(a,a.X))}}break;case "b":a:{var z=e[0],x=e[1],A=b;if("?"==x)a.g("breakpoint commands:"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");
|
||||||
else{var ma=z.charAt(1);if("l"==ma){var uc;uc=0+Xe(a,a.j);uc+=Xe(a,a.T);(uc+=Xe(a,a.F))||a.f("no breakpoints")}else if("n"==ma)a.xa=Be(a,x),a.f("break after "+a.xa+" instruction(s)");else if(void 0===x)a.f("missing breakpoint address");else{var L=U();if("*"!=x&&(L=V(a,x,!0),!L))break a;"c"==ma?null==L.w?(Fe(a),a.f("all breakpoints cleared")):Ve(a,a.j,L)||Ve(a,a.T,L)||Ve(a,a.F,L)||a.f("breakpoint missing: "+S(a,L.w)):null!=L.w&&(Qe(a,L,A),"p"==ma?a.gb(a.j,L):"r"==ma?a.gb(a.T,L):"w"==ma?a.gb(a.F,L):
|
else{var qa=z.charAt(1);if("l"==qa){var yc;yc=0+af(a,a.f);yc+=af(a,a.R);(yc+=af(a,a.F))||a.g("no breakpoints")}else if("n"==qa)a.va=Fe(a,x),a.g("break after "+a.va+" instruction(s)");else if(void 0===x)a.g("missing breakpoint address");else{var M=V();if("*"!=x&&(M=W(a,x,!0),!M))break a;"c"==qa?null==M.A?(Je(a),a.g("all breakpoints cleared")):Ze(a,a.f,M)||Ze(a,a.R,M)||Ze(a,a.F,M)||a.g("breakpoint missing: "+T(a,M.A)):null!=M.A&&(Ue(a,M,A),"p"==qa?a.gb(a.f,M):"r"==qa?a.gb(a.R,M):"w"==qa?a.gb(a.F,M):
|
||||||
a.f("unknown breakpoint command: "+ma))}}}break;case "c":a.hb&&(a.hb.value="");break;case "d":a:{var ya,za=e[0],X=e[1],na=e[2],Bf=e[3];if("?"==X){var Aa="";for(ya in F)a.Sa[ya]&&(Aa&&(Aa+=","),Aa+=ya);Aa+=",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");Aa.length&&a.f("dump extension commands:\n\t"+
|
a.g("unknown breakpoint command: "+qa))}}}break;case "c":a.hb&&(a.hb.value="");break;case "d":a:{var Ca,Da=e[0],Y=e[1],ra=e[2],Ff=e[3];if("?"==Y){var Ea="";for(Ca in F)a.Ta[Ca]&&(Ea&&(Ea+=","),Ea+=Ca);Ea+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");Ea.length&&a.g("dump extension commands:\n\t"+
|
||||||
Aa)}else if("state"==X){var Qd=jf(a.g,!0);"console"==na?console.log(Qd):(a.hb&&(a.hb.value=""),a.f(Qd))}else if("symbols"==X)for(var vc=0;vc<a.I.length;vc++){var wc=a.I[vc],Ba;for(Ba in wc.Ia)if("."!=Ba.charAt(0)){var Rd=wc.Ia[Ba].o;if(void 0!==Rd){var Sd=wc.Ia[Ba].l;Sd&&(Ba=Sd);a.f(S(a,Rd)+" "+Ba)}}}else{if("d"==za){for(ya in F)if(e[1]==ya){var Td=a.Sa[ya];Td?(e.shift(),e.shift(),Td(e)):a.f("no dump registered for "+X);break a}X||(za=a.Sc||"db")}else a.Sc=za;if("dh"==za){var Ud=X,Vd=na,Wd="",Xd=
|
Ea)}else if("state"==Y){var Ud=nf(a.u,!0);"console"==ra?console.log(Ud):(a.hb&&(a.hb.value=""),a.g(Ud))}else if("symbols"==Y)for(var zc=0;zc<a.H.length;zc++){var Ac=a.H[zc],Fa;for(Fa in Ac.Ja)if("."!=Fa.charAt(0)){var Vd=Ac.Ja[Fa].o;if(void 0!==Vd){var Wd=Ac.Ja[Fa].l;Wd&&(Fa=Wd);a.g(T(a,Vd)+" "+Fa)}}}else{if("d"==Da){for(Ca in F)if(e[1]==Ca){var Xd=a.Ta[Ca];Xd?(e.shift(),e.shift(),Xd(e)):a.g("no dump registered for "+Y);break a}Y||(Da=a.Sc||"db")}else a.Sc=Da;if("dh"==Da){var Yd=Y,Zd=ra,$d="",ae=
|
||||||
0,T=a.ma,Y=a.O;if(Y.length){var P=+Ud||a.Yb,Wa=+Vd||10;isNaN(P)?P=Wa:Wd="more ";P>Y.length&&(a.f("note: only "+Y.length+" available"),P=Y.length);T-=P;0>T&&(null==Y[Y.length-1].w?(P=T+P,T=0):T+=Y.length);var xc=[];"call"==Vd&&(Wa=1E5,xc=["CALL"]);for(void 0!==Ud&&a.f(P+" instructions earlier:");0<Wa&&T!=a.ma;){var Yd=Y[T++];if(null==Yd.w)break;var Xa=U(Yd.w),Cf=P--,Zd=Ze(a,Xa,"history",Cf);(!xc.length||0<=Zd.indexOf(xc[0]))&&a.f(Zd);Xa.ic&&(T+=Xa.ic,Wa-=Xa.ic,P-=Xa.ic);T>=Y.length&&(T=0);a.Yb=P;Xd++;
|
0,U=a.pa,Z=a.O;if(Z.length){var Q=+Yd||a.Jb,ab=+Zd||10;isNaN(Q)?Q=ab:$d="more ";Q>Z.length&&(a.g("note: only "+Z.length+" available"),Q=Z.length);U-=Q;0>U&&(null==Z[Z.length-1].A?(Q=U+Q,U=0):U+=Z.length);var Bc=[];"call"==Zd&&(ab=1E5,Bc=["CALL"]);for(void 0!==Yd&&a.g(Q+" instructions earlier:");0<ab&&U!=a.pa;){var be=Z[U++];if(null==be.A)break;var bb=V(be.A),Gf=Q--,ce=cf(a,bb,"history",Gf);(!Bc.length||0<=ce.indexOf(Bc[0]))&&a.g(ce);bb.jc&&(U+=bb.jc,ab-=bb.jc,Q-=bb.jc);U>=Z.length&&(U=0);a.Jb=Q;ae++;
|
||||||
Wa--}}Xd||(a.f("no "+Wd+"history available"),a.Yb=void 0)}else{var Eb=V(a,X);if(Eb){var Fb=0;na&&("l"==na.charAt(0)&&(na=na.substr(1)||Bf),Fb=Be(a,na)>>>0,65536<Fb&&(Fb=65536));for(var Ya="",Gb="dd"==za?4:"dw"==za?2:1,Hb=Gb*Fb||128,Df=Hb+15>>4||1;Df--&&0<Hb;){var Ib=0,yc=0,Za,zc="",$d="",X=S(a,Eb.w);for(Za=16;0<Za&&0<Hb;Za--){var Jb=a.Kb(Eb,1),Ib=Ib|Jb<<(yc++<<3);yc==Gb&&(zc+=r(Ib,2*Gb),zc+=1==Gb?9==Za?"-":" ":" ",Ib=yc=0);$d+=32<=Jb&&128>Jb?String.fromCharCode(Jb):".";Hb--}Ya&&(Ya+="\n");Ya+=X+
|
ab--}}ae||(a.g("no "+$d+"history available"),a.Jb=void 0)}else{var Kb=W(a,Y);if(Kb){var Lb=0;ra&&("l"==ra.charAt(0)&&(ra=ra.substr(1)||Ff),Lb=Fe(a,ra)>>>0,65536<Lb&&(Lb=65536));for(var cb="",Ga="dd"==Da?4:"dw"==Da?2:1,Mb=Ga*Lb||128,Hf=Mb+15>>4||1;Hf--&&0<Mb;){var db=0,Cc=0,eb,Dc="",de="",Y=T(a,Kb.A);for(eb=4==Ga?16:a.$;0<eb&&0<Mb;eb--){var Nb=a.Lb(Kb,1),db=db|Nb<<(Cc++<<3);Cc==Ga&&(Dc+=8==a.$?da(db,3*Ga):r(db,2*Ga),Dc+=1==Ga?9==eb?"-":" ":" ",db=Cc=0);de+=32<=Nb&&128>Nb?String.fromCharCode(Nb):".";
|
||||||
" "+zc+(Za?"":" "+$d)}Ya&&a.f(Ya);a.Cb=Eb}}}}break;case "e":if("else"==e[0])break;var Kb=1,ae=255,be=a.Kb,ce=a.fc;"ew"==e[0]&&(Kb=2,ae=65535,be=a.Ea,ce=a.nc);var de=Kb<<1,ee=e[1];if(null==ee)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 Lb=V(a,ee);if(Lb)for(var Mb=2;Mb<e.length;Mb++){var $a=ze(a,e[Mb]);if(void 0===$a){a.f("unrecognized value: "+e[Mb]);break}$a&~ae&&a.f("warning: "+r($a)+" exceeds "+Kb+"-byte value");
|
Mb--}cb&&(cb+="\n");cb+=Y+" "+Dc+(0==eb?" "+de:"")}cb&&a.g(cb);a.Cb=Kb}}}}break;case "e":if("else"==e[0])break;var Ob=1,ee=255,fe=a.Lb,ge=a.gc;"ew"==e[0]&&(Ob=2,ee=65535,fe=a.Ea,ge=a.oc);var he=Ob<<1,ie=e[1];if(null==ie)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var Pb=W(a,ie);if(Pb)for(var Qb=2;Qb<e.length;Qb++){var fb=De(a,e[Qb]);if(void 0===fb){a.g("unrecognized value: "+e[Qb]);break}fb&~ee&&a.g("warning: "+r(fb)+
|
||||||
var Ef=be.call(a,Lb);a.f("changing "+S(a,Lb.w)+" from "+r(Ef,de,!0)+" to "+r($a,de,!0));ce.call(a,Lb,$a,Kb)}}break;case "g":a:{var fe=e[1],Ff=b;if(void 0!==fe){var Ac=V(a,fe,!0);if(!Ac)break a;Qe(a,Ac,Ff);a.gb(a.j,Ac,!0)}a.nb(!0)||d||a.f("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Bc;if(a.u.da)Bc="halting",a.ia();else{if(lb(a,!0))break a;Bc="already halted"}d||a.f(Bc)}break;case "i":if("if"==e[0]){var Cc;var ab=b.substr(2),ab=la(ab);ze(a,ab)?(d||a.f("true: "+ab),Cc=!0):(d||
|
" exceeds "+Ob+"-byte value");var If=fe.call(a,Pb);a.g("changing "+T(a,Pb.A)+" from "+r(If,he,!0)+" to "+r(fb,he,!0));ge.call(a,Pb,fb,Ob)}}break;case "g":a:{var je=e[1],Jf=b;if(void 0!==je){var Ec=W(a,je,!0);if(!Ec)break a;Ue(a,Ec,Jf);a.gb(a.f,Ec,!0)}a.nb(!0)||d||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Fc;if(a.j.ea)Fc="halting",a.ka();else{if(ob(a,!0))break a;Fc="already halted"}d||a.g(Fc)}break;case "i":if("if"==e[0]){var Gc;var gb=b.substr(2),gb=la(gb);De(a,gb)?
|
||||||
a.f("false: "+ab),Cc=!1);Cc||(c=!1)}break;case "k":var Gf=e[0];if("?"==e[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");else{var Dc=0,ge=U(),bb=U(a.b.i[6]);for(a.f("stack trace for "+S(a,bb.w));10>Dc;){for(var oa=null,Hf=256;65536>bb.w>>>0;){ge.w=a.Ea(bb,2);if(null==bb.w||!Hf--)break;for(var If=a,Nb=ge,he=null,cb=Nb.w,ie=cb,Ec=1;6>=Ec&&cb;Ec++){if(2<Ec){Nb.w=cb;var Ob=Ze(If,Nb);if(0<=Ob.indexOf("JSR")){var je=Ob.indexOf(" ");if(cb+(Ob.indexOf(" ",
|
(d||a.g("true: "+gb),Gc=!0):(d||a.g("false: "+gb),Gc=!1);Gc||(c=!1)}break;case "k":var Kf=e[0];if("?"==e[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Hc=0,ke=V(),hb=V(a.b.i[6]);for(a.g("stack trace for "+T(a,hb.A));10>Hc;){for(var sa=null,Lf=256;65536>hb.A>>>0;){ke.A=a.Ea(hb,2);if(null==hb.A||!Lf--)break;for(var Mf=a,Rb=ke,le=null,ib=Rb.A,me=ib,Ic=1;6>=Ic&&ib;Ic++){if(2<Ic){Rb.A=ib;var Sb=cf(Mf,Rb);if(0<=Sb.indexOf("JSR")){var ne=Sb.indexOf(" ");
|
||||||
je+1)-je-1)/2==ie){he=Ob;break}}}cb--}Nb.w=ie;if(oa=he)break}if(!oa||null==oa)break;var ke=null;if("ks"==Gf){var le=oa.match(/[0-9A-F]+$/);le&&(ke=ff(a,le[0]))}oa=ka(oa,50)+" ;"+(ke||"stack="+S(a,bb.w));a.f(oa);Dc++}Dc||a.f("no return addresses found")}break;case "l":"ln"==e[0]&&ff(a,e[1],!0);break;case "m":a:{var Z,aa=null,B=e[1];"?"==B&&(B=void 0);if(void 0!==B){var ha=0;if("all"==B)ha=1878917119,B=null;else if("on"==B)aa=!0,B=null;else if("off"==B)aa=!1,B=null;else{"keys"==B&&(B="key");"kbd"==
|
if(ib+(Sb.indexOf(" ",ne+1)-ne-1)/2==me){le=Sb;break}}}ib--}Rb.A=me;if(sa=le)break}if(!sa||null==sa)break;var oe=null;if("ks"==Kf){var pe=sa.match(/[0-9A-F]+$/);pe&&(oe=kf(a,pe[0]))}sa=ka(sa,50)+" ;"+(oe||"stack="+T(a,hb.A));a.g(sa);Hc++}Hc||a.g("no return addresses found")}break;case "l":"ln"==e[0]&&kf(a,e[1],!0);break;case "m":a:{var aa,ba=null,B=e[1];"?"==B&&(B=void 0);if(void 0!==B){var ma=0;if("all"==B)ma=1878917119,B=null;else if("on"==B)ba=!0,B=null;else if("off"==B)ba=!1,B=null;else{"keys"==
|
||||||
B&&(B="keyboard");for(Z in F)if(B==Z){ha=F[Z];aa=!!(a.ca&ha);break}if(!ha){a.f("unknown message category: "+B);break a}}if(ha)if("on"==e[2])a.ca|=ha,aa=!0;else if("off"==e[2]&&(a.ca&=~ha,aa=!1,1073741824==ha)){for(var Fc=0;Fc<a.Ga.length;Fc++)a.f(a.Ga[Fc]);a.Ga=[]}}var Jf=0,db="";for(Z in F)if(!B||B==Z){var Kf=!!(a.ca&F[Z]);if(null===aa||aa==Kf)db&&(db+=","),++Jf%10||(db+="\n\t"),"key"==Z&&(Z="keys"),db+=Z}void 0===B&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==
|
B&&(B="key");"kbd"==B&&(B="keyboard");for(aa in F)if(B==aa){ma=F[aa];ba=!!(a.da&ma);break}if(!ma){a.g("unknown message category: "+B);break a}}if(ma)if("on"==e[2])a.da|=ma,ba=!0;else if("off"==e[2]&&(a.da&=~ma,ba=!1,1073741824==ma)){for(var Jc=0;Jc<a.Ha.length;Jc++)a.g(a.Ha[Jc]);a.Ha=[]}}var Nf=0,jb="";for(aa in F)if(!B||B==aa){var Of=!!(a.da&F[aa]);if(null===ba||ba==Of)jb&&(jb+=","),++Nf%10||(jb+="\n\t"),"key"==aa&&(aa="keys"),jb+=aa}void 0===B&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||||
aa?aa?"messages on: ":"messages off: ":"message categories:\n\t")+(db||"none"));Ge(a)}break;case "p":if("print"==e[0]){gf(a,b.substr(5));break}var Lf="pr"==e[0]?1:0;if(a.$)a.f("step in progress");else{var me=U(a.b.i[7]);a.Kb(me);a.$?(a.gb(a.j,me,!0),a.nb()||(a.g&&a.g.Wb(),a.$=0)):hf(a,Lf?"tr":"t")}break;case "r":if("reset"==b){a.g&&a.g.reset();break}Se(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var eb=+e[2];if(8==eb||10==eb||16==eb)a.wa=eb;else{a.f("invalid base: "+eb);break}}a.f("default base: "+
|
a.g((null!==ba?ba?"messages on: ":"messages off: ":"message categories:\n\t")+(jb||"none"));Ke(a)}break;case "p":if("print"==e[0]){lf(a,b.substr(5));break}var Pf="pr"==e[0]?1:0;if(a.aa)a.g("step in progress");else{var qe=V(a.b.i[7]);a.Lb(qe);a.aa?(a.gb(a.f,qe,!0),a.nb()||(a.u&&a.u.Xb(),a.aa=0)):mf(a,Pf?"tr":"t")}break;case "r":if("reset"==b){a.u&&a.u.reset();break}We(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var kb=+e[2];if(8==kb||10==kb||16==kb)a.$=kb;else{a.g("invalid base: "+kb);
|
||||||
a.wa);break;case "cs":var fb;void 0!==e[3]&&(fb=+e[3]);switch(e[2]){case "int":a.b.tb=fb;break;case "start":a.b.Ob=fb;break;case "stop":a.b.ub=fb;break;default:a.f("unknown cs option");break a}void 0!==fb&&Oc(a.b);a.f("checksums "+(a.b.u.qb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Sc(a.b,+e[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.jb.toFixed(2)+"Mhz")+" ("+a.b.lb+"x)");break;case "?":a.f("debugger options:");a.f("\tbase #\t\tset default base to #");
|
break}}a.g("default base: "+a.$);break;case "cs":var lb;void 0!==e[3]&&(lb=+e[3]);switch(e[2]){case "int":a.b.tb=lb;break;case "start":a.b.Pb=lb;break;case "stop":a.b.ub=lb;break;default:a.g("unknown cs option");break a}void 0!==lb&&Pc(a.b);a.g("checksums "+(a.b.j.qb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Tc(a.b,+e[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.jb.toFixed(2)+"Mhz")+" ("+a.b.lb+"x)");break;case "?":a.g("debugger options:");
|
||||||
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":Te(a,e[1],e[2],8);break;case "v":if("var"==e[0]){ef(a,b.substr(3))||(c=!1);break}a.f("PDP11js version 1.30.0 ("+a.b.Xc+",RELEASE"+(ob?",TYPEDARRAYS":",LONGARRAYS")+")");a.f(window?window.navigator.userAgent:
|
a.g("\tbase #\t\tset default base to #");a.g("\tcs int #\tset checksum cycle interval to #");a.g("\tcs start #\tset checksum cycle start count to #");a.g("\tcs stop #\tset checksum cycle stop count to #");a.g("\tsp #\t\tset speed multiplier to #");break;default:e[1]&&a.g("unknown option: "+e[1])}break;case "t":mf(a,e[0],e[1]);break;case "u":Xe(a,e[1],e[2],8);break;case "v":if("var"==e[0]){jf(a,b.substr(3))||(c=!1);break}a.g("PDP11js version 1.30.0 ("+a.b.Xc+",RELEASE"+(rb?",TYPEDARRAYS":",LONGARRAYS")+
|
||||||
"");break;case "?":if(e[1]){gf(a,b.substr(1));break}var Gc="commands:",Hc;for(Hc in Je)Gc+="\n"+ka(Hc,9)+Je[Hc];md(a)||(Gc+="\nnote: history disabled if no exec breakpoints");a.f(Gc);break;default:a.f("unknown command: "+b),c=!1}}}catch(ne){a.f("debugger error: "+(ne.stack||ne.message)),c=!1}return c}function Ie(a,b,d){b=xe(a,b,d);for(var c in b)if(!Ye(a,b[+c]))return!1;return!0}Ka(function(){for(var a=C(document,"pdp11","debugger"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Ee(c);ib(c,d)}});
|
")");a.g(window?window.navigator.userAgent:"");break;case "?":if(e[1]){lf(a,b.substr(1));break}var Kc="commands:",Lc;for(Lc in Ne)Kc+="\n"+ka(Lc,9)+Ne[Lc];qd(a)||(Kc+="\nnote: history disabled if no exec breakpoints");a.g(Kc);break;default:a.g("unknown command: "+b),c=!1}}}catch(re){a.g("debugger error: "+(re.stack||re.message)),c=!1}return c}function Me(a,b,d){b=Be(a,b,d);for(var c in b)if(!bf(a,b[+c]))return!1;return!0}
|
||||||
function kf(a,b,d){u.call(this,"Computer",a,kf,67108864);this.u.ba=!1;lf(this,b);this.T=Mc(this,"autoPower",a);this.B=0;this.ea=a.busWidth||a.buswidth;this.g=mf;this.O=null;this.I=this.Z=!1;this.url=Mc(this,"url")||"";(Math.random()+.1).toString(36);this.j=nf(this);if(this.b=hb("CPU",this.id)){this.C=hb("Debugger",this.id);this.A=new wb({id:this.sc+".bus",busWidth:this.ea},this.b,this.C);var c,f=gb(this.id);if((this.D=hb("Panel",this.id))&&this.D.hb)for(b=0;b<f.length;b++)c=f[b],c.ka=this.D.ka,c.f=
|
Ma(function(){for(var a=C(document,"pdp11","debugger"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Ie(c);$a(c,d)}});
|
||||||
this.D.f,c.hb=this.D.hb;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++)c=f[b],c.Ya&&c.Ya(this,this.A,this.b,this.C);b=null;c=a.resume;void 0!==c&&(1<c.length?b=this.K=c:this.g=parseInt(c,10));var e;if(a=Mc(this,"state")||(e=!0,a.state))b=this.V=a,e||(this.I=!0,this.g=mf),this.g&&
|
function of(a,b,d){u.call(this,"Computer",a,of,67108864);this.j.ca=!1;pf(this,b);this.R=Nc(this,"autoPower",a);this.w=0;this.aa=a.busWidth||a.buswidth;this.f=qf;this.O=null;this.H=this.Y=!1;this.url=Nc(this,"url")||"";(Math.random()+.1).toString(36);this.u=rf(this);if(this.b=Za("CPU",this.id)){this.D=Za("Debugger",this.id);this.C=new zb({id:this.tc+".bus",busWidth:this.aa},this.b,this.D);var c,f=Ya(this.id);if((this.B=Za("Panel",this.id))&&this.B.hb)for(b=0;b<f.length;b++)c=f[b],c.ma=this.B.ma,c.g=
|
||||||
(this.P=new M(this,"1.30.0"),of(this.P)?b=null:delete this.P);!b&&this.g&&(b=pf(this))&&(this.I=!0);if(b){var g=this;sa(b,null,!0,function(a,b,c){c?(g.K=null,g.I=!1,g.ka("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):(g.O=b,g.Z=!0);D(g)})}else D(this);this.J.power||(this.T=!0);!d&&this.T&&qf(this,this.Pb)}else t("Unable to find CPU component")}w(kf);var mf=0;
|
this.B.g,c.hb=this.B.hb;this.g("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.g("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)c=f[b],c.Za&&c.Za(this,this.C,this.b,this.D);b=null;c=a.resume;void 0!==c&&(1<c.length?b=this.K=c:this.f=parseInt(c,10));var e;if(a=Nc(this,"state")||(e=!0,a.state))b=this.V=a,e||(this.H=!0,this.f=qf),this.f&&
|
||||||
function lf(a,b){if(!b){var d;if("object"==typeof resources&&(d=resources.parms))try{b=eval("("+d+")")}catch(c){t(c.message+" ("+d+")")}}a.$=b}function Mc(a,b,d){var c=b.toLowerCase(),c=Pa[b]||Pa[c];void 0===c&&a.$&&(c=a.$[b]);void 0===c&&d&&(c=d[b]);void 0===c&&"object"==typeof resources&&resources[b]&&(c=b);return c}function qf(a,b,d){for(var c=gb(a.id),f=0;f<=c.length;f++){var e=f<c.length?c[f]:a;if(!mb(e)){mb(e,function(){qf(a,b,d)});return}}b.call(a,d)}
|
(this.P=new L(this,"1.30.0"),sf(this.P)?b=null:delete this.P);!b&&this.f&&(b=tf(this))&&(this.H=!0);if(b){var g=this;ta(b,null,!0,function(a,b,c){c?(g.K=null,g.H=!1,g.ma("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):(g.O=b,g.Y=!0);D(g)})}else D(this);this.J.power||(this.R=!0);!d&&this.R&&uf(this,this.Qb)}else t("Unable to find CPU component")}w(of);var qf=0;
|
||||||
function rf(a,b){var d=new M(a,"1.30.0","validate");if(of(d)&&sf(d)){var c=d.get("timestamp"),f=b?b.get("timestamp"):"unknown";c!=f&&(a.ka("Machine state may be out-of-date\n("+c+" vs. "+f+")\nCheck your browser's local storage limits"),b||d.clear())}}l=kf.prototype;
|
function pf(a,b){if(!b){var d;if("object"==typeof resources&&(d=resources.parms))try{b=eval("("+d+")")}catch(c){t(c.message+" ("+d+")")}}a.$=b}function Nc(a,b,d){var c=b.toLowerCase(),c=Ra[b]||Ra[c];void 0===c&&a.$&&(c=a.$[b]);void 0===c&&d&&(c=d[b]);void 0===c&&"object"==typeof resources&&resources[b]&&(c=b);return c}function uf(a,b,d){for(var c=Ya(a.id),f=0;f<=c.length;f++){var e=f<c.length?c[f]:a;if(!pb(e)){pb(e,function(){uf(a,b,d)});return}}b.call(a,d)}
|
||||||
l.Pb=function(a){void 0===a&&(a=this.g||(this.O?1:mf));if(!this.B){this.B++;var b=!1,d=!1;this.X=!1;var c=this.P||new M(this,"1.30.0");if(-1==a)b=!0;else if(a>mf){if(of(c,this.O)){this.F=new M(this,"1.30.0","failsafe");of(this.F)&&(tf(this,c),a=2,uf(this.F));this.F.set("timestamp",ra());vf(this.F);var f=this.g&&!this.I;if(1==a||ta("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(d=sf(c)){var e=c.get("code"),g=c.get("data");e&&("ok"==e?of(c,g):("error"==
|
function vf(a,b){var d=new L(a,"1.30.0","validate");if(sf(d)&&wf(d)){var c=d.get("timestamp"),f=b?b.get("timestamp"):"unknown";c!=f&&(a.ma("Machine state may be out-of-date\n("+c+" vs. "+f+")\nCheck your browser's local storage limits"),b||d.clear())}}l=of.prototype;
|
||||||
e&&"no machine state"!=g?(this.ka("Error: "+g),"unable to verify user"==g&&(xa("user",""),this.j=null)):this.f(e+": "+g),uf(c),of(c)?(d=sf(c),f=!0):d=!1))}f&&rf(this,d?c:null)}else 2==a&&c.clear()}else rf(this);delete this.O;delete this.P}f=gb(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(d=wf(this,g,c,b,d));b=[c,a,d];-1!=a?qf(this,this.xc,b):this.xc(b)}};
|
l.Qb=function(a){void 0===a&&(a=this.f||(this.O?1:qf));if(!this.w){this.w++;var b=!1,d=!1;this.X=!1;var c=this.P||new L(this,"1.30.0");if(-1==a)b=!0;else if(a>qf){if(sf(c,this.O)){this.F=new L(this,"1.30.0","failsafe");sf(this.F)&&(xf(this,c),a=2,yf(this.F));this.F.set("timestamp",pa());zf(this.F);var f=this.f&&!this.H;if(1==a||ua("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(d=wf(c)){var e=c.get("code"),g=c.get("data");e&&("ok"==e?sf(c,g):("error"==
|
||||||
function wf(a,b,d,c,f){if(!b.u.ba){b.u.ba=!0;if(b.La){var e=null;f&&((e=d.get(b.id))||(e=d.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.La(e,c)&&e&&(t("Unable to restore state for "+b.type),a.V&&!a.Z?(d.clear(),a.g=mf,window&&window.location.reload()):a.X=!0,b.La(null),f=!1)}if(!c&&b.qc)for(a=b.qc.split("|"),d=0;d<a.length;d++)b.status(a[d])}return f}
|
e&&"no machine state"!=g?(this.ma("Error: "+g),"unable to verify user"==g&&(ya("user",""),this.u=null)):this.g(e+": "+g),yf(c),sf(c)?(d=wf(c),f=!0):d=!1))}f&&vf(this,d?c:null)}else 2==a&&c.clear()}else vf(this);delete this.O;delete this.P}f=Ya(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(d=Af(this,g,c,b,d));b=[c,a,d];-1!=a?uf(this,this.xc,b):this.xc(b)}};
|
||||||
l.xc=function(a){var b=a[0],d=0>a[1];a=a[2];this.fa=!0;this.u.ba=!0;var c=this.J.power;c&&(c.textContent="Shutdown");this.b&&(wf(this,this.b,b,d,a),this.b.Gb());this.X&&(tf(this,b),b.clear());!d&&this.F&&(this.F.clear(),delete this.F);this.B=0};
|
function Af(a,b,d,c,f){if(!b.j.ca){b.j.ca=!0;if(b.Ma){var e=null;f&&((e=d.get(b.id))||(e=d.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.Ma(e,c)&&e&&(t("Unable to restore state for "+b.type),a.V&&!a.Y?(d.clear(),a.f=qf,window&&window.location.reload()):a.X=!0,b.Ma(null),f=!1)}if(!c&&b.rc)for(a=b.rc.split("|"),d=0;d<a.length;d++)b.status(a[d])}return f}
|
||||||
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 d=a.j||"";b=b.toString();var c={app:"PDP11js",ver:"1.30.0"};c.url=a.url;c.user=d;c.type="bug";c.data=b;sa("http://www.pcjs.org/api/v1/report",c,!0)}}
|
l.xc=function(a){var b=a[0],d=0>a[1];a=a[2];this.fa=!0;this.j.ca=!0;var c=this.J.power;c&&(c.textContent="Shutdown");this.b&&(Af(this,this.b,b,d,a),this.b.Gb());this.X&&(xf(this,b),b.clear());!d&&this.F&&(this.F.clear(),delete this.F);this.w=0};
|
||||||
function jf(a,b,d){var c,f="none";if(a.B)return null;a.B--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=ra();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.Ka&&(d&&a.b.ia(),c=a.b.Ka(b,d),"object"===typeof c&&e.set(a.b.id,c),d&&(a.b.u.ba=!1,!1===c&&(f=null)));for(var h=gb(a.id),k=0;k<h.length;k++){var m=h[k];m.u.ba&&(m.Ka&&(c=m.Ka(b,d),"object"===typeof c&&e.set(m.id,
|
function xf(a,b){if(ua("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 d=a.u||"";b=b.toString();var c={app:"PDP11js",ver:"1.30.0"};c.url=a.url;c.user=d;c.type="bug";c.data=b;ta("http://www.pcjs.org/api/v1/report",c,!0)}}
|
||||||
c)),d&&(m.u.ba=!1,!1===c&&(f=null)))}f&&(d?(h=c=!1,b?(a.j&&xf(a,a.j,e.toString()),vf(g)&&vf(e)||(f=null,c=h=!0)):a.g&&(c=!0,h=3==a.g),c&&e.clear(h)):f=e.toString());d&&(a.u.ba=!1,b=a.J.power)&&(b.textContent="Power");a.B=0;return f}
|
function nf(a,b,d){var c,f="none";if(a.w)return null;a.w--;var e=new L(a,"1.30.0"),g=new L(a,"1.30.0","validate"),h=pa();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.La&&(d&&a.b.ka(),c=a.b.La(b,d),"object"===typeof c&&e.set(a.b.id,c),d&&(a.b.j.ca=!1,!1===c&&(f=null)));for(var h=Ya(a.id),k=0;k<h.length;k++){var m=h[k];m.j.ca&&(m.La&&(c=m.La(b,d),"object"===typeof c&&e.set(m.id,
|
||||||
l.reset=function(){this.A&&this.A.reset&&(this.C&&jb(this,0)&&this.C.message("Resetting "+this.A.type,void 0),this.A.reset());for(var a=gb(this.id),b=0;b<a.length;b++){var d=a[b];d!==this&&d!==this.A&&d.reset&&(this.C&&jb(this,0)&&this.C.message("Resetting "+d.type,void 0),d.reset())}};l.start=function(a,b){for(var d=gb(this.id),c=0;c<d.length;c++){var f=d[c];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
c)),d&&(m.j.ca=!1,!1===c&&(f=null)))}f&&(d?(h=c=!1,b?(a.u&&Bf(a,a.u,e.toString()),zf(g)&&zf(e)||(f=null,c=h=!0)):a.f&&(c=!0,h=3==a.f),c&&e.clear(h)):f=e.toString());d&&(a.j.ca=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return f}
|
||||||
l.stop=function(a,b){for(var d=gb(this.id),c=0;c<d.length;c++){var f=d[c];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
l.reset=function(){this.C&&this.C.reset&&(this.D&&mb(this,0)&&this.D.message("Resetting "+this.C.type,void 0),this.C.reset());for(var a=Ya(this.id),b=0;b<a.length;b++){var d=a[b];d!==this&&d!==this.C&&d.reset&&(this.D&&mb(this,0)&&this.D.message("Resetting "+d.type,void 0),d.reset())}};l.start=function(a,b){for(var d=Ya(this.id),c=0;c<d.length;c++){var f=d[c];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||||
l.oa=function(a,b,d){var c=this;switch(b){case "power":return this.J[b]=d,d.onclick=function(){c.B||(c.u.ba?jf(c,!1,!0):qf(c,c.Pb))},!0;case "reset":return this.J[b]=d,d.onclick=function(){if(c.u.ba&&!c.B)if(c.g&&!c.K){var a=ta("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");jf(c,a,!0);!a&&c.V?window&&window.location.reload():c.Pb(mf)}else c.reset(),c.b&&c.b.Gb()},!0;case "save":if(fa())d.parentNode.removeChild(d);else return this.J[b]=
|
l.stop=function(a,b){for(var d=Ya(this.id),c=0;c<d.length;c++){var f=d[c];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||||
d,d.onclick=function(){var a=nf(c,!0);if(a){var b=!!(c.g&&!c.K||c.V),d=jf(c,b);b?xf(c,a,d):c.ka("Resume disabled, machine state not saved")}},!0}return!1};
|
l.ra=function(a,b,d){var c=this;switch(b){case "power":return this.J[b]=d,d.onclick=function(){c.w||(c.j.ca?nf(c,!1,!0):uf(c,c.Qb))},!0;case "reset":return this.J[b]=d,d.onclick=function(){if(c.j.ca&&!c.w)if(c.f&&!c.K){var a=ua("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");nf(c,a,!0);!a&&c.V?window&&window.location.reload():c.Qb(qf)}else c.reset(),c.b&&c.b.Gb()},!0;case "save":if(ga())d.parentNode.removeChild(d);else return this.J[b]=
|
||||||
function nf(a,b){var d=a.j;d||((d=wa("user"),void 0!==d)?!d&&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.","")),d=b)&&((d=yf(a,d))||a.ka("The user ID is invalid.")):b&&a.ka("Browser local storage is not available"));return d}
|
d,d.onclick=function(){var a=rf(c,!0);if(a){var b=!!(c.f&&!c.K||c.V),d=nf(c,b);b?Bf(c,a,d):c.ma("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function yf(a,b){a.j=null;b=sa(ga()+"/api/v1/user?req=verify&user="+b);var d=b[1];if(!b[0]&&d)try{b=eval("("+d+")"),b.code&&"ok"==b.code&&(xa("user",b.data),a.j=b.data)}catch(c){t(c.message+" ("+d+")")}return a.j}function pf(a){var b=null;a.j&&(b=ga()+"/api/v1/user?req=load&user="+a.j+"&state="+zf(a,"1.30.0"));return b}
|
function rf(a,b){var d=a.u;d||((d=xa("user"),void 0!==d)?!d&&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.","")),d=b)&&((d=Cf(a,d))||a.ma("The user ID is invalid.")):b&&a.ma("Browser local storage is not available"));return d}
|
||||||
function xf(a,b,d){if(d){var c={req:"store"};c.user=b;c.state=zf(a,"1.30.0");c.data=d;b=sa(ga()+"/api/v1/user",c);c=b[0];if(b[1]){if(c){var f=c.indexOf("\n");0<f&&(c=c.substr(0,f));c.indexOf("Error: ")||(c=c.substr(7))}c='{"code":'+b[1]+',"data":"'+c+'"}'}b=JSON.parse(c);b&&"ok"==b.code?a.ka("Machine state saved to server"):d&&(d=b&&b.data||"unable to save machine state",d="error"==b.code?"Error: "+d:"Error "+b.code+": "+d,a.ka(d),xa("user",""),a.j=null)}}l.Wb=function(){};
|
function Cf(a,b){a.u=null;b=ta(ha()+"/api/v1/user?req=verify&user="+b);var d=b[1];if(!b[0]&&d)try{b=eval("("+d+")"),b.code&&"ok"==b.code&&(ya("user",b.data),a.u=b.data)}catch(c){t(c.message+" ("+d+")")}return a.u}function tf(a){var b=null;a.u&&(b=ha()+"/api/v1/user?req=load&user="+a.u+"&state="+Df(a,"1.30.0"));return b}
|
||||||
l.ua=function(a){this.b&&this.b.ua(a);this.D&&this.D.ua(a)};Ka(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var d=a[b],c=y(d),d=C(d,"pdp11","computer"),f=0;f<d.length;f++){var e=d[f],g=y(e),g=new kf(g,c,!0);ib(g,e);g.T&&qf(g,g.Pb)}});Fa.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var d=y(a[b]);(d=hb("Computer",d.id))&&d.fa&&!d.u.ba&&d.Pb(-1)}});
|
function Bf(a,b,d){if(d){var c={req:"store"};c.user=b;c.state=Df(a,"1.30.0");c.data=d;b=ta(ha()+"/api/v1/user",c);c=b[0];if(b[1]){if(c){var f=c.indexOf("\n");0<f&&(c=c.substr(0,f));c.indexOf("Error: ")||(c=c.substr(7))}c='{"code":'+b[1]+',"data":"'+c+'"}'}b=JSON.parse(c);b&&"ok"==b.code?a.ma("Machine state saved to server"):d&&(d=b&&b.data||"unable to save machine state",d="error"==b.code?"Error: "+d:"Error "+b.code+": "+d,a.ma(d),ya("user",""),a.u=null)}}l.Xb=function(){};
|
||||||
Fa.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var d=y(a[b]);(d=hb("Computer",d.id))&&d.u.ba&&jf(d,!(!d.g||d.K),!0)}});function M(a,b,d){this.id=a.id;this.key=zf(a,b,d);this.C=a.C;uf(this,a.Pc)}function zf(a,b,d){a=a.id;if(b){var c=b.indexOf(".");0<c&&(a+=".v"+b.substr(0,c))}d&&(a+="."+d);return a}
|
l.ta=function(a){this.b&&this.b.ta(a);this.B&&this.B.ta(a)};Ma(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var d=a[b],c=y(d),d=C(d,"pdp11","computer"),f=0;f<d.length;f++){var e=d[f],g=y(e),g=new of(g,c,!0);$a(g,e);g.R&&uf(g,g.Qb)}});Ha.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var d=y(a[b]);(d=Za("Computer",d.id))&&d.fa&&!d.j.ca&&d.Qb(-1)}});
|
||||||
M.prototype={constructor:M,set:function(a,b){try{this[this.id][a]=b}catch(d){}},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 d=0,c=window.localStorage.length;d<c;d++)b.push(window.localStorage.key(d))}catch(f){}for(d=0;d<b.length;d++)if((c=b[d])&&(a||c.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(c)}catch(f){}b.splice(d,
|
Ha.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var d=y(a[b]);(d=Za("Computer",d.id))&&d.j.ca&&nf(d,!(!d.f||d.K),!0)}});function L(a,b,d){this.id=a.id;this.key=Df(a,b,d);this.D=a.D;yf(this,a.Pc)}function Df(a,b,d){a=a.id;if(b){var c=b.indexOf(".");0<c&&(a+=".v"+b.substr(0,c))}d&&(a+="."+d);return a}
|
||||||
1);d=0}}};function uf(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function vf(a){var b=!0;if(va()){var d=JSON.stringify(a[a.id]);xa(a.key,d)||(t("Unable to store "+d.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(d){t(d.message||d),b=!1}return b}function of(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:va()&&(b=wa(a.key))?(a[a.id]=b,a.b=!0):!1}var Af=0;
|
L.prototype={constructor:L,set:function(a,b){try{this[this.id][a]=b}catch(d){}},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){yf(this);var b=[];try{for(var d=0,c=window.localStorage.length;d<c;d++)b.push(window.localStorage.key(d))}catch(f){}for(d=0;d<b.length;d++)if((c=b[d])&&(a||c.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(c)}catch(f){}b.splice(d,
|
||||||
function Mf(a,b,d,c,f,e){f("Loading "+a+"...");sa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):Nf(h,a,b,d,c,f,e)})}
|
1);d=0}}};function yf(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function zf(a){var b=!0;if(wa()){var d=JSON.stringify(a[a.id]);ya(a.key,d)||(t("Unable to store "+d.length+" bytes in browser local storage"),b=!1)}return b}function wf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(d){t(d.message||d),b=!1}return b}function sf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:wa()&&(b=xa(a.key))?(a[a.id]=b,a.b=!0):!1}var Ef=0;
|
||||||
function Nf(a,b,d,c,f,e,g){function h(a,e){if(e)g(e,null);else{d&&(Va(d,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),c?"}"==c.slice(-1)?(c=c.slice(0,-1),1<c.length&&(c+=",")):c='{state:"'+c+'",':c="{",c+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+d+"$2"+(c?" parms='"+c+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
function Qf(a,b,d,c,f,e){f("Loading "+a+"...");ta(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):Rf(h,a,b,d,c,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?Of(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
function Rf(a,b,d,c,f,e,g){function h(a,e){if(e)g(e,null);else{d&&(Xa(d,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),c?"}"==c.slice(-1)?(c=c.slice(0,-1),1<c.length&&(c+=",")):c='{state:"'+c+'",':c="{",c+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+d+"$2"+(c?" parms='"+c+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||||
function Of(a,b,d){var c;if(c=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=c[2];b("Loading "+f+"...");sa(f,null,!0,function(e,g,h){if(h||!g)d(a,"unable to resolve XML reference: "+c[0]+" ("+h+")");else{if(e=c[3])if(h=g.match(new RegExp("<"+c[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{d(a,"missing <"+c[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?Sf(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||||
"");a=a.replace(c[0],g);Of(a,b,d)}})}else d(a,null)}
|
function Sf(a,b,d){var c;if(c=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=c[2];b("Loading "+f+"...");ta(f,null,!0,function(e,g,h){if(h||!g)d(a,"unable to resolve XML reference: "+c[0]+" ("+h+")");else{if(e=c[3])if(h=g.match(new RegExp("<"+c[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{d(a,"missing <"+c[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||||
function Pf(a,b,d,c){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function e(a){f("Error: "+a);k&&(--Af||Ma(!0));k=!1}var g,h,k=!0;Af++;Ua[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=m:q.appendChild(document.createTextNode(m));n.appendChild(q)}d||
|
"");a=a.replace(c[0],g);Sf(a,b,d)}})}else d(a,null)}
|
||||||
(d="/versions/pdp11/1.30.0/components.xsl");m=function(c,h){h?Mf(d,null,null,!1,f,function(c,k){k?(Va(a,d,c),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Af||Ma(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(c=new XSLTProcessor,c.importStylesheet(k),(k=c.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Af||Ma(!0)):e("invalid machine element: "+
|
function Tf(a,b,d,c){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function e(a){f("Error: "+a);k&&(--Ef||Oa(!0));k=!1}var g,h,k=!0;Ef++;Wa[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=m:q.appendChild(document.createTextNode(m));n.appendChild(q)}d||
|
||||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(c)}):e(c)};"<"!=b.charAt(0)?Mf(b,a,c,!0,f,m):Nf(b,null,a,c,!1,f,m)}else e("missing machine element: "+a)}catch(p){e(p.message)}return k}window.embedPDP11=function(a,b,d,c){Ma(!1);return Pf(a,b,d,c)};window.enableEvents=Ma;window.sendEvent=Na;})();
|
(d="/versions/pdp11/1.30.0/components.xsl");m=function(c,h){h?Qf(d,null,null,!1,f,function(c,k){k?(Xa(a,d,c),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Ef||Oa(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(c=new XSLTProcessor,c.importStylesheet(k),(k=c.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Ef||Oa(!0)):e("invalid machine element: "+
|
||||||
|
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(c)}):e(c)};"<"!=b.charAt(0)?Qf(b,a,c,!0,f,m):Rf(b,null,a,c,!1,f,m)}else e("missing machine element: "+a)}catch(p){e(p.message)}return k}window.embedPDP11=function(a,b,d,c){Oa(!1);return Tf(a,b,d,c)};window.enableEvents=Oa;window.sendEvent=Pa;})();
|
||||||
|
|
|
||||||
|
|
@ -1,138 +1,142 @@
|
||||||
(function(){var l;
|
(function(){var l;
|
||||||
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==
|
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==
|
||||||
f&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function n(a,b){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function q(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}
|
f&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function ba(a,b){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function n(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}
|
||||||
function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function da(){var a=ea();return-1!==a.indexOf("pcjs.org",a.length-8)}var fa={"&":"&","<":"<",">":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}var ha=Date.now||function(){return+new Date};
|
function ca(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function da(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ea(){var a=fa();return-1!==a.indexOf("pcjs.org",a.length-8)}var ga={"&":"&","<":"<",">":">",'"':""","'":"'"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}var ia=Date.now||function(){return+new Date};
|
||||||
function ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
function ja(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||||
function r(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
|
function q(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
|
||||||
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 ea(){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 fa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||||
function t(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){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}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
function r(a){window&&window.alert(a)}function ka(a){var b=!1;window&&(b=window.confirm(a));return b}var la=null;function ma(){if(null==la){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}la=a}return la}function na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||||
function na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(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 u={init:[],show:[],exit:[]},pa=!1,qa=!1,ra=!0;function sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function v(a){u.init.push(a)}
|
function oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},qa=!1,ra=!1,sa=!0;function ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){t.init.push(a)}
|
||||||
function ta(a){if(ra)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 ua(a){!ra&&a?(ra=!0,pa&&va("init"),qa&&va("show")):ra=a}function va(a){u[a]&&ta(u[a])}sa("onload",function(){pa=!0;ta(u.init)});sa("onpageshow",function(){qa=!0;ta(u.show)});sa(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){ta(u.exit)});
|
function ua(a){if(sa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function va(a){!sa&&a?(sa=!0,qa&&wa("init"),ra&&wa("show")):sa=a}function wa(a){t[a]&&ua(t[a])}ta("onload",function(){qa=!0;ua(t.init)});ta("onpageshow",function(){ra=!0;ua(t.show)});ta(pa("Opera")||pa("iOS")?"onunload":"onbeforeunload",function(){ua(t.exit)});
|
||||||
function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Kb=b.comment;this.fc=b;b=this.id.indexOf(".");0>b?this.wb=this.id:(this.Hb=this.id.substr(0,b),this.wb=this.id.substr(b+1));this[a]=c;this.f={ready:!1,ab:!1,Ab:!1,M:!1,error:!1};this.mb=null;this.f.error=!1;this.o={};this.G=null;x.push(this)}var wa=void 0,xa={};
|
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ib=b.comment;this.gc=b;b=this.id.indexOf(".");0>b?this.xb=this.id:(this.Lb=this.id.substr(0,b),this.xb=this.id.substr(b+1));this[a]=c;this.g={ready:!1,ab:!1,Bb:!1,M:!1,error:!1};this.nb=null;this.g.error=!1;this.u={};this.H=null;w.push(this)}var xa=void 0,ya={};
|
||||||
if(window){wa||(wa=window.location.search.substr(1));for(var ya,za=/\+/g,Aa=/([^&=]+)=?([^&]*)/g;ya=Aa.exec(wa);)xa[decodeURIComponent(ya[1].replace(za," "))]=decodeURIComponent(ya[2].replace(za," "))}function Ba(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=Ba(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ca=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Ca={},x=[];function Da(a,b,c){Ca[a]&&b&&(Ca[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 x(a,b){b||(b=v);a.prototype=Ca(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Da=window.PCjs.Machines||(window.PCjs.Machines={}),w=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},w=[];function Ea(a,b,c){Da[a]&&b&&(Da[a][b]=c)}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||||
function Ea(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){t(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<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(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.aa(g.type,g.binding,e,g.value),k=h.length}}}}
|
function A(a,b){b=B(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=z(e))&&g.binding&&a.aa(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 B(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},aa:function(a,b,c){switch(b){case "clear":return this.o[b]||(this.o[b]=c,c.onclick=function(a){return function(){a.o.print&&(a.o.print.value="")}}(this)),!0;case "print":return this.o[b]||(this.Bb=this.o[b]=c,c.value="",this.J=function(a){return function(b,d){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==d?d+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},aa: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.Cb=this.u[b]=c,c.value="",this.J=function(a){return function(b,d){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==d?d+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||||
this.L=function(a){this.J(a,this.wb)}),!0;default:return!1}},log:function(){},J:function(){},status:function(a){this.J(this.wb+": "+a)},L:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},ua:function(){return this.f.M=!0},ta:function(a,b){b&&(this.f.M=!1);return!0}};function Fa(a,b){if(a.f.Ab)return a.f.ab&&(a.f.ab=!1),a.f.Ab=!1;if(a.f.error)return a.J(a.toString()+" error"),!1;a.f.ab=b;return a.f.ab}function D(a){if(!a.f.error&&(a.f.ready=!0,a.f.ready)){var b=a.mb;a.mb=null;b&&b()}}
|
this.L=function(a){this.J(a,this.xb)}),!0;default:return!1}},log:function(){},J:function(){},status:function(a){this.J(this.xb+": "+a)},L:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},wa:function(){return this.g.M=!0},va:function(a,b){b&&(this.g.M=!1);return!0}};function Ga(a,b){if(a.g.Bb)return a.g.ab&&(a.g.ab=!1),a.g.Bb=!1;if(a.g.error)return a.J(a.toString()+" error"),!1;a.g.ab=b;return a.g.ab}function C(a){if(!a.g.error&&(a.g.ready=!0,a.g.ready)){var b=a.nb;a.nb=null;b&&b()}}
|
||||||
function Ga(a,b){b&&(a.f.ready?b():a.mb=b);return a.f.ready}var Ha="undefined"!==typeof ArrayBuffer,F=2,H=4,Ia=6,F=0|F,Ja=1|F,H=0|H,Ka=1|H,Ia=0|Ia,La=1|Ia;function Ma(a){w.call(this,"Panel",a,Ma)}y(Ma);l=Ma.prototype;l.aa=function(a,b,c,d){return this.g&&this.g.aa(a,b,c,d)||this.a&&this.a.aa(a,b,c,d)?!0:this.parent.aa.call(this,a,b,c,d)};l.Ha=function(a,b,c,d){this.g=a;this.j=b;this.a=c;this.G=d};l.ua=function(a,b){b||Na();return!0};l.ta=function(){return!0};l.La=function(){};
|
function Ha(a,b){b&&(a.g.ready?b():a.nb=b);return a.g.ready}var Ia="undefined"!==typeof ArrayBuffer,D=2,E=4,Ja=6,D=0|D,Ka=1|D,E=0|E,La=1|E,Ja=0|Ja,Ma=1|Ja;function Na(a){v.call(this,"Panel",a,Na)}x(Na);l=Na.prototype;l.aa=function(a,b,c,d){return this.h&&this.h.aa(a,b,c,d)||this.a&&this.a.aa(a,b,c,d)?!0:this.parent.aa.call(this,a,b,c,d)};l.Ia=function(a,b,c,d){this.h=a;this.m=b;this.a=c;this.H=d};l.wa=function(a,b){b||Oa();return!0};l.va=function(){return!0};l.Ma=function(){};
|
||||||
function Na(){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 Ma(f));B(e,d);a&&D(e)}}v(Na);
|
function Oa(){for(var a=!1,b=B(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=z(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<w.length;g++)if(w[g].id===e){e=w[g];break a}}e=null}e||(a=!0,e=new Na(f));A(e,d);a&&C(e)}}u(Oa);
|
||||||
function I(a,b,c){w.call(this,"Bus",a,I);this.a=b;this.G=c;this.C=a.busWidth||16;this.u=Math.pow(2,this.C);this.l=this.u-1|0;this.j=(this.C>>1)+2;10>this.j&&(this.j=10);15<this.j&&(this.j=15);this.g=1<<this.j;this.H=this.g>>2;this.h=this.g-1;this.s=this.u/this.g|0;this.K=this.s-1;this.na=[];this.A=null;this.bb=this.P;a=new J;Oa(a,this.G);this.b=Array(this.s);for(b=0;b<this.s;b++)this.b[b]=a;this.Ya=Array(4);this.Ya[0]=Pa;this.Ya[1]=Qa;this.Ya[2]=Ra;this.Ya[3]=Sa;Ta(this,this.u-8192,8192,Ua,this);
|
function G(a,b,c){v.call(this,"Bus",a,G);this.a=b;this.H=c;this.B=a.busWidth||16;this.s=Math.pow(2,this.B);this.i=this.s-1|0;this.f=(this.B>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.m=1<<this.f;this.F=this.m>>2;this.h=this.m-1;this.l=this.s/this.m|0;this.K=this.l-1;this.pa=[];this.w=null;this.bb=this.N;a=new I;Pa(a,this.H);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;this.Ya=Array(4);this.Ya[0]=Qa;this.Ya[1]=Ra;this.Ya[2]=Sa;this.Ya[3]=Ta;Ua(this,this.s-8192,8192,Va,this);
|
||||||
Ta(this,57344,8192,Ua,this);D(this)}y(I);function Pa(a,b){var c=this.controller,d=c.na[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.na[a&-2],d[2]))return d[2](b&-2)>>8;c.J("warning: unconverted read access to byte @"+n(b));return c.bb(b,-1,1)}
|
Ua(this,57344,8192,Va,this);C(this)}x(G);function Qa(a,b){var c=this.controller,d=c.pa[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.pa[a&-2],d[2]))return d[2](b&-2)>>8;c.J("warning: unconverted read access to byte @"+ba(b));return c.bb(b,-1,1)}
|
||||||
function Qa(a,b,c){var d=this.controller,f=d.na[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.na[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.J("warning: unconverted write access to byte @"+n(c));d.bb(c,b,1)}
|
function Ra(a,b,c){var d=this.controller,f=d.pa[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.pa[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.J("warning: unconverted write access to byte @"+ba(c));d.bb(c,b,1)}
|
||||||
function Ra(a,b){var c=this.controller;if(a=c.na[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.J("warning: unconverted read access to word @"+n(b));return c.bb(b,-1,0)}function Sa(a,b,c){var d=this.controller;if(a=d.na[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.J("warning: unconverted write access to word @"+n(c));d.bb(c,b,0)}I.prototype.reset=function(){this.A&&this.A()};I.prototype.P=function(){return 0};
|
function Sa(a,b){var c=this.controller;if(a=c.pa[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.J("warning: unconverted read access to word @"+ba(b));return c.bb(b,-1,0)}function Ta(a,b,c){var d=this.controller;if(a=d.pa[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.J("warning: unconverted write access to word @"+ba(c));d.bb(c,b,0)}G.prototype.reset=function(){this.w&&this.w()};G.prototype.N=function(){return 0};
|
||||||
I.prototype.ua=function(a,b){b||this.reset();return!0};function Ta(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.j;0<g&&h<a.b.length;){var k=a.b[h],m=h*a.g,p=a.g-(e-m);p>g&&(p=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Ra)return k.ub+=k.Ra-e,k.Ra=e,!0;if(e>=k.Ra+k.ub){p=k.size-(e-m);p>g&&(p=g);k.ub=e-k.Ra+p;e=m+a.g;g-=p;h++;continue}}return Va(1,e,g)}e=new J(e,p,a.g,d,f);Oa(e,a.G,k);a.b[h++]=e;e=m+a.g;g-=p}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Wa[d]+" at "+q(b,8,!0)),!0):Va(2,b,c)}
|
G.prototype.wa=function(a,b){b||this.reset();return!0};function Ua(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.m,p=a.m-(e-m);p>g&&(p=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Ra)return k.vb+=k.Ra-e,k.Ra=e,!0;if(e>=k.Ra+k.vb){p=k.size-(e-m);p>g&&(p=g);k.vb=e-k.Ra+p;e=m+a.m;g-=p;h++;continue}}return Wa(1,e,g)}e=new I(e,p,a.m,d,f);Pa(e,a.H,k);a.b[h++]=e;e=m+a.m;g-=p}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Xa[d]+" at "+n(b,8,!0)),!0):Wa(2,b,c)}
|
||||||
function Xa(a){for(var b=0,c=[],d=0;d<a.s;d++){var f=a.b[d];if(f.ra||f.ec){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],p=g+1;p<f.length&&f[p]===m;)p++;k[h++]=p-g;k[h++]=m;g=p}k.length<f.length&&(f=k)}c[e]=f}}return c}function Va(a,b,c){t("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}
|
function Ya(a){for(var b=0,c=[],d=0;d<a.l;d++){var f=a.b[d];if(f.ta||f.fc){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],p=g+1;p<f.length&&f[p]===m;)p++;k[h++]=p-g;k[h++]=m;g=p}k.length<f.length&&(f=k)}c[e]=f}}return c}function Wa(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
|
||||||
function K(a){w.call(this,"Device",a,K);this.b={Eb:[],da:0,U:128,o:127,dc:0};this.g={data:0,Dc:0,Sa:20,yc:0};this.h={Db:0,i:0};this.l={hb:2496,O:0,v:128,ib:0,gb:0,T:0,Ub:0,R:[],Fa:[406,406,406,406],D:[12,12,12,12]};this.s={i:129,$a:0,F:0,sa:0,oa:0,ya:0,R:[],D:[40,40,40,40],Fa:[1024,1024,512,512],bc:[157,157,29,29]};this.u={a:[8210,8208,8210,8226],D:[22,22,22,50],Ea:[19,19,19,32],vb:[815,411,815,630],R:[],w:2176,Wa:0,Ua:0,$:[0,0,0,0,0,0,0,0],Z:0,S:[4544,4544,4544,4544,4544,4544,4544,4544],Va:[0,0,
|
function J(a){v.call(this,"Device",a,J);this.b={Fb:[],da:0,V:128,b:127,ec:0};this.f={data:0,Ec:0,Sa:20,zc:0};this.h={Eb:0,j:0};this.i={hb:2496,R:0,v:128,ib:0,gb:0,U:0,Vb:0,S:[],Ga:[406,406,406,406],D:[12,12,12,12]};this.l={j:129,$a:0,G:0,ua:0,qa:0,za:0,S:[],D:[40,40,40,40],Ga:[1024,1024,512,512],cc:[157,157,29,29]};this.s={a:[8210,8208,8210,8226],D:[22,22,22,50],Fa:[19,19,19,32],wb:[815,411,815,630],S:[],A:2176,Wa:0,Ua:0,$:[0,0,0,0,0,0,0,0],Z:0,T:[4544,4544,4544,4544,4544,4544,4544,4544],Va:[0,0,
|
||||||
0,0,0,0,0,0],Ka:0,wc:[0,0,0,0,0,0,0,0],Vb:0,Wb:[0,0,0,0,0,0,0,0],b:[0,0,0,0,0,0,0,0],xc:[1,2,3,4,5,6,7,8],Xb:[0,0,0,0,0,0,0,0],ia:[0,0,0,0,0,0,0,0],tb:[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],xa:0,Fb:0}}y(K);
|
0,0,0,0,0,0],La:0,xc:[0,0,0,0,0,0,0,0],Wb:0,Xb:[0,0,0,0,0,0,0,0],u:[0,0,0,0,0,0,0,0],yc:[1,2,3,4,5,6,7,8],Yb:[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],vc:[0,0,0,0,0,0,0,0],wc:[0,0,0,0,0,0,0,0],tc:[0,0,0,0,0,0,0,0],uc:[0,0,0,0,0,0,0,0],ya:0,Gb:0}}x(J);
|
||||||
var Ya=[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,
|
||||||
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=K.prototype;
|
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=J.prototype;
|
||||||
l.Ha=function(a,b,c,d){this.j=b;this.a=c;this.G=d;a=Za;for(var f in a){var e=a[f];c=b;d=+f;for(var g=e[0]?e[0].bind(this):null,h=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,m=+f;m<=d;m+=2){var p=m&8191;void 0!==c.na[p]?t("I/O address already registered: "+q(m,8,!0)):c.na[p]=[g,h,k,e,!1]}}f=this.ac.bind(this);b.A=this.reset.bind(this);b.bb=f;D(this)};l.nc=function(){return $a(this.a)};l.Ac=function(a){ab(this.a,a&-1809|$a(this.a)&1808);this.a.B|=128};l.oc=function(){return this.b.U};
|
l.Ia=function(a,b,c,d){this.m=b;this.a=c;this.H=d;a=$a;for(var f in a){var e=a[f];c=b;d=+f;for(var g=e[0]?e[0].bind(this):null,h=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,m=+f;m<=d;m+=2){var p=m&8191;void 0!==c.pa[p]?r("I/O address already registered: "+n(m,8,!0)):c.pa[p]=[g,h,k,e,!1]}}f=this.bc.bind(this);b.w=this.reset.bind(this);b.bb=f;C(this)};l.oc=function(){return ab(this.a)};l.Bc=function(a){bb(this.a,a&-1809|ab(this.a)&1808);this.a.C|=128};l.pc=function(){return this.b.V};
|
||||||
l.Cc=function(a){if(128==(this.b.U&192)&&a&64){var b=this;L(this.a,8,4,52,function(){b.b.U|=128;return!!(b.b.U&64)})}this.b.U=this.b.U&128|a&-129};
|
l.Dc=function(a){if(128==(this.b.V&192)&&a&64){var b=this;K(this.a,8,4,52,function(){b.b.V|=128;return!!(b.b.V&64)})}this.b.V=this.b.V&128|a&-129};
|
||||||
function bb(a){var b=a.l,c,d,f,e=b.T>>13&7;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.pc,drive:e,blocksize:256,mapped:0,maxblock:b.Fa[e]*b.D[e],url:"rk"+e+".dsk"});b.v&=-129;switch(b.v>>1&7){case 0:b.hb=2496;b.O=0;b.v=128;b.T=0;break;case 1:if((b.T>>4&511)>=b.Fa[e]){b.O|=32832;b.v|=49152;break}if((b.T&15)>=b.D[e]){b.O|=32800;b.v|=49152;break}c=(b.T>>4&511)*b.D[e]+(b.T&15);d=(b.v&48)<<12|b.gb;f=65536-b.ib&65535;cb(a,b.R[e],c,d,f);return;case 2:if((b.T>>4&511)>=b.Fa[e])b.O|=32832,
|
function cb(a){var b=a.i,c,d,f,e=b.U>>13&7;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.qc,drive:e,blocksize:256,mapped:0,maxblock:b.Ga[e]*b.D[e],url:"rk"+e+".dsk"});b.v&=-129;switch(b.v>>1&7){case 0:b.hb=2496;b.R=0;b.v=128;b.U=0;break;case 1:if((b.U>>4&511)>=b.Ga[e]){b.R|=32832;b.v|=49152;break}if((b.U&15)>=b.D[e]){b.R|=32800;b.v|=49152;break}c=(b.U>>4&511)*b.D[e]+(b.U&15);d=(b.v&48)<<12|b.gb;f=65536-b.ib&65535;db(a,b.S[e],c,d,f);return;case 2:if((b.U>>4&511)>=b.Ga[e])b.R|=32832,
|
||||||
b.v|=49152;else if((b.T&15)>=b.D[e])b.O|=32800,b.v|=49152;else{c=(b.T>>4&511)*b.D[e]+(b.T&15);d=(b.v&48)<<12|b.gb;f=65536-b.ib&65535;a.pb(b.R[e],c,d,f);return}}b.hb=e<<13|b.hb&8176|b.T%9&15;L(a.a,20,5,144,function(){b.v=b.v&65534|128;return!!(b.v&64)})}l.pc=function(a,b,c,d,f){var e=this.l;e.gb=d&65535;e.v=e.v&-49|d>>12&48;e.ib=65536-f&65535;switch(a){case 1:e.O|=33024;e.v|=49152;break;case 2:e.O|=33792,e.v|=49152}L(this.a,20,5,144,function(){e.v=e.v&65534|128;return!!(e.v&64)})};
|
b.v|=49152;else if((b.U&15)>=b.D[e])b.R|=32800,b.v|=49152;else{c=(b.U>>4&511)*b.D[e]+(b.U&15);d=(b.v&48)<<12|b.gb;f=65536-b.ib&65535;a.qb(b.S[e],c,d,f);return}}b.hb=e<<13|b.hb&8176|b.U%9&15;K(a.a,20,5,144,function(){b.v=b.v&65534|128;return!!(b.v&64)})}l.qc=function(a,b,c,d,f){var e=this.i;e.gb=d&65535;e.v=e.v&-49|d>>12&48;e.ib=65536-f&65535;switch(a){case 1:e.R|=33024;e.v|=49152;break;case 2:e.R|=33792,e.v|=49152}K(this.a,20,5,144,function(){e.v=e.v&65534|128;return!!(e.v&64)})};
|
||||||
function db(a){var b=a.s,c,d,f,e=b.i>>8&3;b.i&=-2;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.qc,drive:e,blocksize:128,mapped:1,maxblock:b.Fa[e]*b.D[e],url:"rl"+e+".dsk"});switch(b.i>>1&7){case 2:b.sa&8&&(b.i&=63);b.sa=b.bc[e]|b.ya&64;break;case 3:1==(b.F&3)&&(b.ya=b.F&4?b.ya+(b.F&65408)&65408|b.F<<2&64:b.ya-(b.F&65408)&65408|b.F<<2&64,b.F=b.ya);break;case 4:b.sa=b.ya;break;case 5:if(b.F>>6>=b.Fa[e]){b.i|=37888;break}if((b.F&63)>=b.D[e]){b.i|=37888;break}c=(b.F>>6)*b.D[e]+(b.F&63);
|
function eb(a){var b=a.l,c,d,f,e=b.j>>8&3;b.j&=-2;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.rc,drive:e,blocksize:128,mapped:1,maxblock:b.Ga[e]*b.D[e],url:"rl"+e+".dsk"});switch(b.j>>1&7){case 2:b.ua&8&&(b.j&=63);b.ua=b.cc[e]|b.za&64;break;case 3:1==(b.G&3)&&(b.za=b.G&4?b.za+(b.G&65408)&65408|b.G<<2&64:b.za-(b.G&65408)&65408|b.G<<2&64,b.G=b.za);break;case 4:b.ua=b.za;break;case 5:if(b.G>>6>=b.Ga[e]){b.j|=37888;break}if((b.G&63)>=b.D[e]){b.j|=37888;break}c=(b.G>>6)*b.D[e]+(b.G&63);
|
||||||
d=(b.oa&63)<<16|b.$a;f=65536-b.sa&65535;cb(a,b.R[e],c,d,f);return;case 6:if(b.F>>6>=b.Fa[e])b.i|=37888;else if((b.F&63)>=b.D[e])b.i|=37888;else{c=(b.F>>6)*b.D[e]+(b.F&63);d=(b.oa&63)<<16|b.$a;f=65536-b.sa&65535;a.pb(b.R[e],c,d,f);return}}L(a.a,20,5,112,function(){b.i|=129;return!!(b.i&64)})}
|
d=(b.qa&63)<<16|b.$a;f=65536-b.ua&65535;db(a,b.S[e],c,d,f);return;case 6:if(b.G>>6>=b.Ga[e])b.j|=37888;else if((b.G&63)>=b.D[e])b.j|=37888;else{c=(b.G>>6)*b.D[e]+(b.G&63);d=(b.qa&63)<<16|b.$a;f=65536-b.ua&65535;a.qb(b.S[e],c,d,f);return}}K(a.a,20,5,112,function(){b.j|=129;return!!(b.j&64)})}
|
||||||
l.qc=function(a,b,c,d,f){var e=this.s;e.$a=d&65535;e.i=e.i&-49|d>>12&48;e.oa=d>>16&63;e.F=~~(c/e.D[b.fa])<<6|c%e.D[b.fa];e.ya=e.F;e.sa=65536-f&65535;switch(a){case 1:e.i|=33792;break;case 2:e.i|=40960}L(this.a,20,5,112,function(){e.i|=129;return!!(e.i&64)})};function eb(a){a=a.u;a.w=2176;a.Z=0;a.S=[4544,4544,4544,4544,4544,4544,4544,4544];a.Va=[0,0,0,0,0,0,0,0];a.Ka=a.Wa=a.Ua=a.xa=a.Fb=0}
|
l.rc=function(a,b,c,d,f){var e=this.l;e.$a=d&65535;e.j=e.j&-49|d>>12&48;e.qa=d>>16&63;e.G=~~(c/e.D[b.ga])<<6|c%e.D[b.ga];e.za=e.G;e.ua=65536-f&65535;switch(a){case 1:e.j|=33792;break;case 2:e.j|=40960}K(this.a,20,5,112,function(){e.j|=129;return!!(e.j&64)})};function fb(a){a=a.s;a.A=2176;a.Z=0;a.T=[4544,4544,4544,4544,4544,4544,4544,4544];a.Va=[0,0,0,0,0,0,0,0];a.La=a.Wa=a.Ua=a.ya=a.Gb=0}
|
||||||
function fb(a,b){var c=a.u,d,f,e;c.w&=-16513;c.Z&=-2049;c.S[b]&=-1153;L(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.vb[0]*c.Ea[0]*c.D[0],url:"rp"+b+".dsk"});switch(c.w&63){case 5:c.tb[b]=c.ia[b];c.w|=32896;c.S[b]|=32896;c.Ka|=1<<b;break;case 9:eb(a);break;case 19:c.S[b]|=64;break;case 49:if(c.ia[b]>=c.vb[0]||c.$[b]>>8>=c.Ea[0]||(c.$[b]&255)>=c.D[0]){c.Va[b]|=1024;c.w|=49152;break}d=(c.ia[b]*c.Ea[0]+(c.$[b]>>8))*c.D[0]+(c.$[b]&
|
function gb(a,b){var c=a.s,d,f,e;c.A&=-16513;c.Z&=-2049;c.T[b]&=-1153;K(a.a,-1,0,172);"undefined"===typeof c.S[b]&&(c.S[b]={cache:[],postProcess:a.sc,drive:b,blocksize:256,mapped:0,maxblock:c.wb[0]*c.Fa[0]*c.D[0],url:"rp"+b+".dsk"});switch(c.A&63){case 5:c.ub[b]=c.ja[b];c.A|=32896;c.T[b]|=32896;c.La|=1<<b;break;case 9:fb(a);break;case 19:c.T[b]|=64;break;case 49:if(c.ja[b]>=c.wb[0]||c.$[b]>>8>=c.Fa[0]||(c.$[b]&255)>=c.D[0]){c.Va[b]|=1024;c.A|=49152;break}d=(c.ja[b]*c.Fa[0]+(c.$[b]>>8))*c.D[0]+(c.$[b]&
|
||||||
255);f=(c.xa&63)<<16|c.Ua;e=65536-c.Wa&65535;cb(a,c.R[b],d,f,e);return;case 57:if(c.ia[b]>=c.vb[0]||c.$[b]>>8>=c.Ea[0]||(c.$[b]&255)>=c.D[0])c.Va[b]|=1024,c.w|=49152;else{d=(c.ia[b]*c.Ea[0]+(c.$[b]>>8))*c.D[0]+(c.$[b]&255);f=(c.xa&63)<<16|c.Ua;e=65536-c.Wa&65535;a.pb(c.R[b],d,f,e);return}}L(a.a,3,5,172,function(){c.w=c.w&65534|128;c.S[b]|=128;return!!(c.w&64)})}
|
255);f=(c.ya&63)<<16|c.Ua;e=65536-c.Wa&65535;db(a,c.S[b],d,f,e);return;case 57:if(c.ja[b]>=c.wb[0]||c.$[b]>>8>=c.Fa[0]||(c.$[b]&255)>=c.D[0])c.Va[b]|=1024,c.A|=49152;else{d=(c.ja[b]*c.Fa[0]+(c.$[b]>>8))*c.D[0]+(c.$[b]&255);f=(c.ya&63)<<16|c.Ua;e=65536-c.Wa&65535;a.qb(c.S[b],d,f,e);return}}K(a.a,3,5,172,function(){c.A=c.A&65534|128;c.T[b]|=128;return!!(c.A&64)})}
|
||||||
l.rc=function(a,b,c,d,f){var e=this.u;e.Wa=65536-f&65535;e.Ua=d&65535;e.w=e.w&-769|d>>8&768;e.xa=d>>16&63;f=~~(c/e.D[0]);d=~~(f/e.Ea[0]);e.$[b.fa]=f%e.Ea[0]<<8|c%e.D[0];e.tb[b.fa]=e.ia[b.fa]=d;e.Ka|=1<<b.fa;c>=b.lc-1&&(e.S[b.fa]|=1024);switch(a){case 1:e.Z|=512;e.w|=49152;break;case 2:e.Z|=2048,e.w|=49152}L(this.a,20,5,172,function(){e.S[b.fa]|=128;e.w=e.w&65534|128;return!!(e.w&64)})};l.jc=function(){this.h.i|=128;this.h.i&64&&L(this.a,0,6,64)};
|
l.sc=function(a,b,c,d,f){var e=this.s;e.Wa=65536-f&65535;e.Ua=d&65535;e.A=e.A&-769|d>>8&768;e.ya=d>>16&63;f=~~(c/e.D[0]);d=~~(f/e.Fa[0]);e.$[b.ga]=f%e.Fa[0]<<8|c%e.D[0];e.ub[b.ga]=e.ja[b.ga]=d;e.La|=1<<b.ga;c>=b.mc-1&&(e.T[b.ga]|=1024);switch(a){case 1:e.Z|=512;e.A|=49152;break;case 2:e.Z|=2048,e.A|=49152}K(this.a,20,5,172,function(){e.T[b.ga]|=128;e.A=e.A&65534|128;return!!(e.A&64)})};l.kc=function(){this.h.j|=128;this.h.j&64&&K(this.a,0,6,64)};
|
||||||
function gb(a,b,c,d,f,e){var g=~~((e+c.pa-1)/c.pa),h=new XMLHttpRequest;2048>g&&d+2048<c.lc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.pa<<1)+"-"+(((d+g)*c.pa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,p,E,G;m=h.response;if(h.status&&206!=h.status||!m)c.ob(1,c,d,f,e);else{m=new Uint8Array(m);p=d;for(G=0;G<m.length;){if("undefined"===typeof c.cache[p])for(c.cache[p]=[],E=0;E<c.pa;E++)c.cache[p][E]=G<m.length?
|
function hb(a,b,c,d,f,e){var g=~~((e+c.ra-1)/c.ra),h=new XMLHttpRequest;2048>g&&d+2048<c.mc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.ra<<1)+"-"+(((d+g)*c.ra<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,p,F,H;m=h.response;if(h.status&&206!=h.status||!m)c.pb(1,c,d,f,e);else{m=new Uint8Array(m);p=d;for(H=0;H<m.length;){if("undefined"===typeof c.cache[p])for(c.cache[p]=[],F=0;F<c.ra;F++)c.cache[p][F]=H<m.length?
|
||||||
m[G]&255|m[G+1]<<8&65280:0,G+=2;else G+=c.pa<<1;p++}g(c,d,f,e)}}};h.send(null)}function M(a,b,c,d,f){if(c&1){if(!f)return N(a.a,4,122);d=0<=d?d<<8&65280|b&255:b}else 0<=d?f&&(d=b&65280|d&255):d=b;return d}l.pb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){gb(this,this.pb,a,b,c,d);return}for(f=0;f<a.pa&&0<d;f++){if(0>hb(this.a,a.kc?ib(this.a,c):c,a.cache[b][f])){a.ob(2,a,b,c,d);return}c+=2;--d}b++}a.ob(0,a,b,c,d)};
|
m[H]&255|m[H+1]<<8&65280:0,H+=2;else H+=c.ra<<1;p++}g(c,d,f,e)}}};h.send(null)}function L(a,b,c,d,f){if(c&1){if(!f)return M(a.a,4,122);d=0<=d?d<<8&65280|b&255:b}else 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]){hb(this,this.qb,a,b,c,d);return}for(f=0;f<a.ra&&0<d;f++){if(0>ib(this.a,a.lc?jb(this.a,c):c,a.cache[b][f])){a.pb(2,a,b,c,d);return}c+=2;--d}b++}a.pb(0,a,b,c,d)};
|
||||||
function cb(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.pa;e++)b.cache[c][e]=0;for(e=0;e<b.pa&&0<f;e++){g=a.a.rb(b.kc?ib(a.a,d):d);if(0>g){b.ob(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.ob(0,b,c,d,f)}l.reset=function(){this.g.Sa=this.g.Sa&-120|20;this.b.da=0;this.b.U=128;this.h.i=0;this.l.v=128;this.s.i=128;eb(this)};
|
function db(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.ra;e++)b.cache[c][e]=0;for(e=0;e<b.ra&&0<f;e++){g=a.a.sb(b.lc?jb(a.a,d):d);if(0>g){b.pb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.pb(0,b,c,d,f)}l.reset=function(){this.f.Sa=this.f.Sa&-120|20;this.b.da=0;this.b.V=128;this.h.j=0;this.i.v=128;this.l.j=128;fb(this)};
|
||||||
l.ac=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.ha&65280:(a&1&&(b<<=8),e.ha=b|255,d=0);break;case 4194298:if(0>b)d=e.sb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.sb=d;e.va=2}break;case 4194294:if(70!==e.Ga)return N(e,4,222);0>b?d=e.m:d=e.m=0;break;case 4194292:if(70!==e.Ga)return N(e,4,224);d=1;break;case 4194290:if(70!==e.Ga)return N(e,4,226);d=0;break;case 4194288:if(70!==e.Ga)return N(e,4,228);d=61183;break;case 4194296:0<=
|
l.bc=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.ia&65280:(a&1&&(b<<=8),e.ia=b|255,d=0);break;case 4194298:if(0>b)d=e.tb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.tb=d;e.ha=2}break;case 4194294:if(70!==e.Ha)return M(e,4,222);0>b?d=e.o:d=e.o=0;break;case 4194292:if(70!==e.Ha)return M(e,4,224);d=1;break;case 4194290:if(70!==e.Ha)return M(e,4,226);d=0;break;case 4194288:if(70!==e.Ha)return M(e,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.Ga)return N(e,4,232);f=a-4194272>>1;0>b?d=e.Cb[f]:(d=M(this,e.Cb[f],a,b,c),0<=d&&(e.Cb[f]=d));break;case 4194254:return a&1?e.X>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.wa[3]=b),d=e.wa[3]):e.X>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.wa[1]=b),d=e.wa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.X&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Ja[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.Ha)return M(e,4,232);f=a-4194272>>1;0>b?d=e.Db[f]:(d=L(this,e.Db[f],a,b,c),0<=d&&(e.Db[f]=d));break;case 4194254:return a&1?e.O>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.xa[3]=b),d=e.xa[3]):e.O>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.xa[1]=b),d=e.xa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.O&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Ka[f]=
|
||||||
b),d=e.Ja[f]),d;case 4194246:return a&1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.X>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.wa[0]=b),d=e.wa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.X&2048?(0<=b&&(e.Ja[f]=b),d=e.Ja[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.m|=16,N(e,4,124)}break;case 4194176:f=a>>1&31;d=M(this,e.N[3][f],a,b,c);0<=d&&(e.N[3][f]=d,e.N[3][f&15]&=65295);break;case 4194112:var g=this.b;f=this.h;switch(a&-2){case 4194174:d=M(this,e.Xa,a,b,c);0<=d&&(e.Xa=d);break;case 4194172:d=
|
b),d=e.Ka[f]),d;case 4194246:return a&1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.O>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.xa[0]=b),d=e.xa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.O&2048?(0<=b&&(e.Ka[f]=b),d=e.Ka[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.o|=16,M(e,4,124)}break;case 4194176:f=a>>1&31;d=L(this,e.P[3][f],a,b,c);0<=d&&(e.P[3][f]=d,e.P[3][f&15]&=65295);break;case 4194112:var g=this.b;f=this.h;switch(a&-2){case 4194174:d=L(this,e.Xa,a,b,c);0<=d&&(e.Xa=d);break;case 4194172:d=
|
||||||
e.la;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194170:e.I=e.I&62337|e.cb<<5|e.nb<<1;0>b?d=e.I:(d=M(this,e.I,a,b,c),0<=d&&(e.I=d&=62337,e.cb=d>>5&3,e.nb=d>>1&15,d&257?(f=2,e.ma&16&&(f=1),e.Ta=d&1?F|H:H):(e.Ta=0,f=4),this.g.Sa=this.g.Sa&-8|f));break;case 4194168:0>b?d=this.g.yc&65535:(d=M(this,this.g.data,a,b,c),0<=d&&(this.g.data=d));break;case 4194166:0<=b&&(b&127&&(g.dc=0),g.U&=-129,L(e,100,4,52,function(){g.U|=128;return!!(g.U&64)}));d=0;break;case 4194164:break;case 4194162:d=0;0>b&&(g.da&=-129,
|
e.na;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194170:e.I=e.I&62337|e.cb<<5|e.ob<<1;0>b?d=e.I:(d=L(this,e.I,a,b,c),0<=d&&(e.I=d&=62337,e.cb=d>>5&3,e.ob=d>>1&15,d&257?(f=2,e.oa&16&&(f=1),e.Ta=d&1?D|E:E):(e.Ta=0,f=4),this.f.Sa=this.f.Sa&-8|f));break;case 4194168:0>b?d=this.f.zc&65535:(d=L(this,this.f.data,a,b,c),0<=d&&(this.f.data=d));break;case 4194166:0<=b&&(b&127&&(g.ec=0),g.V&=-129,K(e,100,4,52,function(){g.V|=128;return!!(g.V&64)}));d=0;break;case 4194164:break;case 4194162:d=0;0>b&&(g.da&=-129,
|
||||||
0<g.Eb.length&&(d=g.Eb.shift(),0<g.Eb.length&&setTimeout(function(){g.da|=128;g.da&64&&L(e,40,4,48)},50)));break;case 4194160:0>b?d=g.da:(d=M(this,g.da,a,b,c),0<=d&&(g.da=g.da&128|d&-129));break;case 4194150:0>b?(d=f.i,f.i&=-129):(d=M(this,f.i,a,b,c),0<=d&&(d&64&&!f.Db&&(setInterval(this.jc.bind(this),25),f.Db=1),f.i=d&-129));break;default:return e.m|=16,N(e,4,126)}break;case 4194048:f=this.l;switch(a&-2){case 4194048:d=M(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194050:d=M(this,f.O,a,b,c);0<=d&&
|
0<g.Fb.length&&(d=g.Fb.shift(),0<g.Fb.length&&setTimeout(function(){g.da|=128;g.da&64&&K(e,40,4,48)},50)));break;case 4194160:0>b?d=g.da:(d=L(this,g.da,a,b,c),0<=d&&(g.da=g.da&128|d&-129));break;case 4194150:0>b?(d=f.j,f.j&=-129):(d=L(this,f.j,a,b,c),0<=d&&(d&64&&!f.Eb&&(setInterval(this.kc.bind(this),25),f.Eb=1),f.j=d&-129));break;default:return e.o|=16,M(e,4,126)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d=L(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194050:d=L(this,f.R,a,b,c);0<=d&&
|
||||||
(f.O=d);break;case 4194052:d=M(this,f.v,a,b,c);0<=b&&0<=d&&(f.v=d&-36993|f.v&36992,f.v&1&&bb(this));break;case 4194054:d=M(this,f.ib,a,b,c);0<=d&&(f.ib=d);break;case 4194056:d=M(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194058:d=M(this,f.T,a,b,c);0<=d&&(f.T=d);break;case 4194060:break;case 4194062:d=M(this,f.Ub,a,b,c);0<=d&&(f.Ub=d);break;default:return e.m|=16,N(e,4,128)}break;case 4193728:var h=this.u;f=h.Z&7;switch(a&-2){case 4193728:d=M(this,h.w,a,b,c);0<=b&&0<=d&&(h.xa=h.xa&60|d>>8&3,h.w=d&
|
(f.R=d);break;case 4194052:d=L(this,f.v,a,b,c);0<=b&&0<=d&&(f.v=d&-36993|f.v&36992,f.v&1&&cb(this));break;case 4194054:d=L(this,f.ib,a,b,c);0<=d&&(f.ib=d);break;case 4194056:d=L(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194058:d=L(this,f.U,a,b,c);0<=d&&(f.U=d);break;case 4194060:break;case 4194062:d=L(this,f.Vb,a,b,c);0<=d&&(f.Vb=d);break;default:return e.o|=16,M(e,4,128)}break;case 4193728:var h=this.s;f=h.Z&7;switch(a&-2){case 4193728:d=L(this,h.A,a,b,c);0<=b&&0<=d&&(h.ya=h.ya&60|d>>8&3,h.A=d&
|
||||||
17279|h.w&34944|2048,d&1&&h.w&128?fb(this,f):192==(d&192)&&L(e,0,5,172));break;case 4193730:d=M(this,h.Wa,a,b,c);0<=d&&(h.Wa=d);break;case 4193732:d=M(this,h.Ua,a,b,c);0<=d&&(h.Ua=d&65534);break;case 4193734:d=M(this,h.$[f],a,b,c);0<=d&&(h.$[f]=d&7967);break;case 4193736:d=M(this,h.Z,a,b,c);0<=d&&(h.Z=d&63|h.Z&65472,d&128&&eb(this));break;case 4193738:d=h.S[f];break;case 4193740:d=h.Va[f];break;case 4193742:d=M(this,h.Ka,a,b,c);0<=d&&(h.Ka=d&255);break;case 4193744:d=h.wc[f];break;case 4193746:d=
|
17279|h.A&34944|2048,d&1&&h.A&128?gb(this,f):192==(d&192)&&K(e,0,5,172));break;case 4193730:d=L(this,h.Wa,a,b,c);0<=d&&(h.Wa=d);break;case 4193732:d=L(this,h.Ua,a,b,c);0<=d&&(h.Ua=d&65534);break;case 4193734:d=L(this,h.$[f],a,b,c);0<=d&&(h.$[f]=d&7967);break;case 4193736:d=L(this,h.Z,a,b,c);0<=d&&(h.Z=d&63|h.Z&65472,d&128&&fb(this));break;case 4193738:d=h.T[f];break;case 4193740:d=h.Va[f];break;case 4193742:d=L(this,h.La,a,b,c);0<=d&&(h.La=d&255);break;case 4193744:d=h.xc[f];break;case 4193746:d=
|
||||||
M(this,h.Vb,a,b,c);0<=d&&(h.Vb=d);break;case 4193748:d=M(this,h.Wb[f],a,b,c);0<=d&&(h.Wb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.xc[f];break;case 4193754:d=M(this,h.Xb[f],a,b,c);0<=d&&(h.Xb[f]=d);break;case 4193756:d=M(this,h.ia[f],a,b,c);0<=d&&(h.ia[f]=d&511);break;case 4193758:h.tb[f]=h.ia[f];d=h.tb[f];break;case 4193760:d=h.uc[f];break;case 4193762:d=h.vc[f];break;case 4193764:d=h.sc[f];break;case 4193766:d=h.tc[f];break;case 4193768:d=M(this,h.xa,a,b,c);0<=d&&(h.xa=d&63,h.w=
|
L(this,h.Wb,a,b,c);0<=d&&(h.Wb=d);break;case 4193748:d=L(this,h.Xb[f],a,b,c);0<=d&&(h.Xb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.yc[f];break;case 4193754:d=L(this,h.Yb[f],a,b,c);0<=d&&(h.Yb[f]=d);break;case 4193756:d=L(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.vc[f];break;case 4193762:d=h.wc[f];break;case 4193764:d=h.tc[f];break;case 4193766:d=h.uc[f];break;case 4193768:d=L(this,h.ya,a,b,c);0<=d&&(h.ya=d&63,h.A=
|
||||||
h.w&-769|(d&3)<<8);break;case 4193770:d=M(this,h.Fb,a,b,c);0<=d&&(h.Fb=d);break;default:return e.m|=16,N(e,4,132)}break;case 4192512:f=this.s;switch(a&-2){case 4192512:d=M(this,f.i,a,b,c);0<=b&&0<=d&&(f.oa=f.oa&60|d>>4&3,f.i=f.i&-1023|d&1022,f.i&128||db(this));break;case 4192514:d=M(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=M(this,f.F,a,b,c);0<=d&&(f.F=d);break;case 4192518:d=M(this,f.sa,a,b,c);0<=d&&(f.sa=d);break;case 4192520:d=M(this,f.oa,a,b,c);0<=d&&(f.oa=d&63,f.i=f.i&-49|(f.oa&
|
h.A&-769|(d&3)<<8);break;case 4193770:d=L(this,h.Gb,a,b,c);0<=d&&(h.Gb=d);break;default:return e.o|=16,M(e,4,132)}break;case 4192512:f=this.l;switch(a&-2){case 4192512:d=L(this,f.j,a,b,c);0<=b&&0<=d&&(f.qa=f.qa&60|d>>4&3,f.j=f.j&-1023|d&1022,f.j&128||eb(this));break;case 4192514:d=L(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=L(this,f.G,a,b,c);0<=d&&(f.G=d);break;case 4192518:d=L(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;case 4192520:d=L(this,f.qa,a,b,c);0<=d&&(f.qa=d&63,f.j=f.j&-49|(f.qa&
|
||||||
3)<<4);break;default:return e.m|=16,N(e,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.ma:(d=M(this,e.ma,a,b,c),0<=d&&(70!==e.Ga&&(d&=-49),e.ma=d,e.Ia[0]=d&4?15:7,e.Ia[1]=d&2?15:7,e.Ia[3]=d&1?15:7,e.Ta&&(f=2,e.ma&16&&(f=1),this.g.Sa=this.g.Sa&-8|f)));break;default:return e.m|=16,N(e,4,136)}break;case 4191424:f=a>>1&31;d=M(this,e.N[0][f],a,b,c);0<=d&&(e.N[0][f]=d,e.N[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=M(this,e.N[1][f],a,b,c);0<=d&&(e.N[1][f]=d,e.N[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==
|
3)<<4);break;default:return e.o|=16,M(e,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.oa:(d=L(this,e.oa,a,b,c),0<=d&&(70!==e.Ha&&(d&=-49),e.oa=d,e.Ja[0]=d&4?15:7,e.Ja[1]=d&2?15:7,e.Ja[3]=d&1?15:7,e.Ta&&(f=2,e.oa&16&&(f=1),this.f.Sa=this.f.Sa&-8|f)));break;default:return e.o|=16,M(e,4,136)}break;case 4191424:f=a>>1&31;d=L(this,e.P[0][f],a,b,c);0<=d&&(e.P[0][f]=d,e.P[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=L(this,e.P[1][f],a,b,c);0<=d&&(e.P[1][f]=d,e.P[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==
|
||||||
e.Ga)return N(e,4,234);f=a>>2&31;d=e.jb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=M(this,d,a,b,c),0<=d&&(e.jb[f]=a&2?d<<16|e.jb[f]&65535:e.jb[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=Ya[a>>1&255];else return e.m|=16,N(e,4,138);break;default:return e.m|=16,N(e,4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};
|
e.Ha)return M(e,4,234);f=a>>2&31;d=e.jb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=L(this,d,a,b,c),0<=d&&(e.jb[f]=a&2?d<<16|e.jb[f]&65535:e.jb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Za[a>>1&255];else return e.o|=16,M(e,4,138);break;default:return e.o|=16,M(e,4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};
|
||||||
var jb={},Za=(jb[65534]=[null,null,K.prototype.nc,K.prototype.Ac],jb[65396]=[null,null,K.prototype.oc,K.prototype.Cc],jb);v(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new K(d);B(d,c)}});var kb;if(Ha){var lb=new ArrayBuffer(2);(new DataView(lb)).setUint16(0,256,!0);kb=256===(new Uint16Array(lb))[0]}else kb=!1;var mb=kb;
|
var kb={},$a=(kb[65534]=[null,null,J.prototype.oc,J.prototype.Bc],kb[65396]=[null,null,J.prototype.pc,J.prototype.Dc],kb);u(function(){for(var a=B(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new J(d);A(d,c)}});var lb;if(Ia){var mb=new ArrayBuffer(2);(new DataView(mb)).setUint16(0,256,!0);lb=256===(new Uint16Array(mb))[0]}else lb=!1;var nb=lb;
|
||||||
function J(a,b,c,d,f){this.id=nb+=2;this.a=null;this.Ra=a;this.ub=b;this.size=c||0;this.type=d||ob;this.g=d==pb;this.controller=null;Oa(this);this.ra=this.ec=!1;if(c)if(f)this.controller=f,this.a=null,qb(this,f.Ya);else if(Ha)this.b=new ArrayBuffer(c),this.j=new DataView(this.b,0,c),this.o=new Uint8Array(this.b,0,c),this.s=new Uint16Array(this.b,0,c>>1),this.a=new Int32Array(this.b,0,c>>2),qb(this,mb?rb:sb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;qb(this,tb)}else qb(this)}
|
function I(a,b,c,d,f){this.id=ob+=2;this.a=null;this.Ra=a;this.vb=b;this.size=c||0;this.type=d||pb;this.m=d==qb;this.controller=null;Pa(this);this.ta=this.fc=!1;if(c)if(f)this.controller=f,this.a=null,rb(this,f.Ya);else if(Ia)this.u=new ArrayBuffer(c),this.f=new DataView(this.u,0,c),this.b=new Uint8Array(this.u,0,c),this.l=new Uint16Array(this.u,0,c>>1),this.a=new Int32Array(this.u,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 ob=0,pb=2,Ua=4,Wa=["NONE","RAM","ROM","VID","H/W"],nb=0;
|
var pb=0,qb=2,Va=4,Xa=["NONE","RAM","ROM","VID","H/W"],ob=0;
|
||||||
J.prototype={constructor:J,parent:null,Db:function(a){this.Ra=a},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.j.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.j.setInt32(b<<2,a[b],!0);else this.a=a;return this.ra=!0}return!1},u:function(){return 255},C:function(){},A:function(a,b){return this.fb(a++,b++)|this.fb(a,b)<<
|
I.prototype={constructor:I,parent:null,Eb:function(a){this.Ra=a},save:function(){var a,b;if(this.controller)a=null;else if(Ia)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.f.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(Ia)for(b=0;b<a.length;b++)this.f.setInt32(b<<2,a[b],!0);else this.a=a;return this.ta=!0}return!1},s:function(){return 255},B:function(){},w:function(a,b){return this.fb(a++,b++)|this.fb(a,b)<<
|
||||||
8},H:function(a,b,c){this.kb(a++,b&255,c++);this.kb(a,b>>8,c)},Y:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},za:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Da:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<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},P:function(a,b){return this.V(a,
|
8},F:function(a,b,c){this.kb(a++,b&255,c++);this.kb(a,b>>8,c)},Y:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ma:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Da:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ta=!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.ta=!0},N:function(a,b){return this.W(a,
|
||||||
b)},ca:function(a,b){return this.ja(a,b)},Ba:function(a,b,c){this.g||this.$b(a,b,c)},Na:function(a,b,c){this.g||this.Oa(a,b,c)},K:function(a){return this.o[a]},W:function(a){return this.o[a]},ba:function(a){return this.j.getUint16(a,!0)},ka:function(a){return a&1?this.o[a]|this.o[a+1]<<8:this.s[a>>1]},Aa:function(a,b){this.o[a]=b;this.ra=!0},Ca:function(a,b){this.o[a]=b;this.ra=!0},Ma:function(a,b){this.j.setUint16(a,b,!0);this.ra=!0},Pa:function(a,b){a&1?(this.o[a]=b,this.o[a+1]=b>>8):this.s[a>>
|
b)},ca:function(a,b){return this.ka(a,b)},Ba:function(a,b,c){this.m||this.ac(a,b,c)},Na:function(a,b,c){this.m||this.Oa(a,b,c)},K:function(a){return this.b[a]},X:function(a){return this.b[a]},ba:function(a){return this.f.getUint16(a,!0)},la:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},Aa:function(a,b){this.b[a]=b;this.ta=!0},Ca:function(a,b){this.b[a]=b;this.ta=!0},Ea:function(a,b){this.f.setUint16(a,b,!0);this.ta=!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 Oa(a,b,c){a.G=b;a.h=a.l=0;c&&((a.h=c.h)&&ub(a,vb,!1),(a.l=c.l)&&wb(a,vb,!1))}function wb(a,b,c){c&&a.l||(a.kb=!a.g&&b[1]||a.C,a.Bc=!a.g&&b[3]||a.H);if(c||void 0===c)a.$b=b[1]||a.C,a.Oa=b[3]||a.H}function ub(a,b,c){c&&a.h||(a.fb=b[0]||a.u,a.qb=b[2]||a.A);if(c||void 0===c)a.V=b[0]||a.u,a.ja=b[2]||a.A}function qb(a,b){b||(b=xb);ub(a,b,void 0);wb(a,b,void 0)}
|
1]=b;this.ta=!0}};function Pa(a,b,c){a.H=b;a.h=a.i=0;c&&((a.h=c.h)&&vb(a,wb,!1),(a.i=c.i)&&xb(a,wb,!1))}function xb(a,b,c){c&&a.i||(a.kb=!a.m&&b[1]||a.B,a.Cc=!a.m&&b[3]||a.F);if(c||void 0===c)a.ac=b[1]||a.B,a.Oa=b[3]||a.F}function vb(a,b,c){c&&a.h||(a.fb=b[0]||a.s,a.rb=b[2]||a.w);if(c||void 0===c)a.W=b[0]||a.s,a.ka=b[2]||a.w}function rb(a,b){b||(b=yb);vb(a,b,void 0);xb(a,b,void 0)}
|
||||||
var xb=[],tb=[J.prototype.Y,J.prototype.Da,J.prototype.za,J.prototype.Qa],vb=[J.prototype.P,J.prototype.Ba,J.prototype.ca,J.prototype.Na];if(Ha)var sb=[J.prototype.K,J.prototype.Aa,J.prototype.ba,J.prototype.Ma],rb=[J.prototype.W,J.prototype.Ca,J.prototype.ka,J.prototype.Pa];
|
var yb=[],ub=[I.prototype.Y,I.prototype.Da,I.prototype.ma,I.prototype.Qa],wb=[I.prototype.N,I.prototype.Ba,I.prototype.ca,I.prototype.Na];if(Ia)var tb=[I.prototype.K,I.prototype.Aa,I.prototype.ba,I.prototype.Ea],sb=[I.prototype.X,I.prototype.Ca,I.prototype.la,I.prototype.Pa];
|
||||||
function yb(a,b){w.call(this,"CPU",a,yb);var c=a.multiplier||1;this.yb=a.cycles||b;this.ja=c;this.xb=Math.round(this.yb/1E4)/100;this.ba=this.xb*this.ja;this.f.ea=!1;this.f.Yb=!1;this.f.Za=a.autoStart;this.f.Qb=!1;this.f.lb=!1;this.Oa=this.ca=0;this.Pa=a.csStart;this.Aa=a.csInterval;this.Ba=a.csStop;this.Ma=[];this.Pb=this.Gb.bind(this);D(this)}y(yb);var zb=["power","reset"];l=yb.prototype;
|
function zb(a,b){v.call(this,"CPU",a,zb);var c=a.multiplier||1;this.zb=a.cycles||b;this.la=c;this.yb=Math.round(this.zb/1E4)/100;this.ca=this.yb*this.la;this.g.fa=!1;this.g.Zb=!1;this.g.Za=a.autoStart;this.g.Qb=!1;this.g.mb=!1;this.Pa=this.ka=0;this.Qa=a.csStart;this.Ba=a.csInterval;this.Ca=a.csStop;this.Na=[];this.Sb=this.Hb.bind(this);C(this)}x(zb);var Ab=["power","reset"];l=zb.prototype;
|
||||||
l.Ha=function(a,b,c,d){this.g=a;this.j=b;this.G=d;for(b=0;b<zb.length;b++)(c=this.o[zb[b]])&&this.g.aa(null,zb[b],c);this.za=null;a=Ab(a,"autoStart");null!=a&&(this.f.Za="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.ua=function(a,b){if(!b){if(a&&this.restore){Bb(this);if(!this.restore(a))return!1;Cb(this)}else this.reset();this.J("No debugger detected")}Db(this);return!0};l.ta=function(a){return a?this.save():!0};
|
l.Ia=function(a,b,c,d){this.h=a;this.m=b;this.H=d;for(b=0;b<Ab.length;b++)(c=this.u[Ab[b]])&&this.h.aa(null,Ab[b],c);this.Aa=null;a=Bb(a,"autoStart");null!=a&&(this.g.Za="true"==a?!0:"false"==a?!1:!!a);C(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.J("No debugger detected")}Eb(this);return!0};l.va=function(a){return a?this.save():!0};
|
||||||
l.Za=function(){return this.f.Za||void 0===this.o.run?(this.Gb(),!0):!1};l.Tb=function(){return 0};function Cb(a){void 0===a.Pa&&(a.Pa=0);void 0===a.Aa&&(a.Aa=-1);void 0===a.Ba&&(a.Ba=-1);a.f.lb=0<=a.Pa&&0<a.Aa;a.f.lb&&(a.Oa=0,a.ca=a.Pa-a.W)}function O(a,b,c,d){if(a.o[b]){void 0===c&&(a.f.error=!0,a.L("Value for "+b+" is invalid"),P(a));var f=a.G&&a.G.b||8;c=!a.f.ea||a.f.Qb?8==f?n(c,d):q(c,d):"--------".substr(0,d||4);a.o[b].textContent!=c&&(a.o[b].textContent=c)}}
|
l.Za=function(){return this.g.Za||void 0===this.u.run?(this.Hb(),!0):!1};l.Ub=function(){return 0};function Db(a){void 0===a.Qa&&(a.Qa=0);void 0===a.Ba&&(a.Ba=-1);void 0===a.Ca&&(a.Ca=-1);a.g.mb=0<=a.Qa&&0<a.Ba;a.g.mb&&(a.Pa=0,a.ka=a.Qa-a.Y)}function N(a,b,c,d){if(a.u[b]){void 0===c&&(a.g.error=!0,a.L("Value for "+b+" is invalid"),O(a));var f=a.H&&a.H.b||8;c=!a.g.fa||a.g.Qb?8==f?ba(c,d):n(c,d):"--------".substr(0,d||4);a.u[b].textContent!=c&&(a.u[b].textContent=c)}}
|
||||||
l.aa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.o[b]=c;a=!0;break;case "run":this.o[b]=c;c.onclick=function(){var a;if(a=d.g)if(a=d.g,a.f.M)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.f.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.f.M);c++);c==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.f.ready?"powered yet":"ready yet"+(b.mb?" (waiting for notification)":""))+".");a=!1}a&&(d.f.ea?P(d):d.Gb())};a=!0;
|
l.aa=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.h)if(a=d.h,a.g.M)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.g.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.g.M);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.g.ready?"powered yet":"ready yet"+(b.nb?" (waiting for notification)":""))+".");a=!1}a&&(d.g.fa?O(d):d.Hb())};a=!0;
|
||||||
break;case "speed":this.o[b]=c;a=!0;break;case "setSpeed":this.o[b]=c,c.onclick=function(){Eb(d,d.ja<<1)},c.textContent=this.ba.toFixed(2)+"Mhz",a=!0}return a};function Fb(a,b,c){a.W+=b;c&&(a.C=a.a=0)}function Gb(a,b){var c=1;b&&1<a.ja&&a.P&&(c=a.P/a.xb);a.Mb=Math.round(1E3/30);a.Qa=Math.floor(a.yb/30*c);b||(a.Ca=a.Qa);a.zb=0}function Hb(a){return a.W+a.K+a.C-a.a}function Bb(a){a.P=0;a.Nb=0;a.W=a.K=a.C=a.a=0;Cb(a);Eb(a,1)}
|
break;case "speed":this.u[b]=c;a=!0;break;case "setSpeed":this.u[b]=c,c.onclick=function(){Fb(d,d.la<<1)},c.textContent=this.ca.toFixed(2)+"Mhz",a=!0}return a};function Gb(a,b,c){a.Y+=b;c&&(a.F=a.a=0)}function Hb(a,b){var c=1;b&&1<a.la&&a.W&&(c=a.W/a.yb);a.Nb=Math.round(1E3/30);a.lb=Math.floor(a.zb/30*c);b||(a.Da=a.lb);a.Ab=0}function Ib(a){return a.Y+a.N+a.F-a.a}function Cb(a){a.W=0;a.Pb=0;a.Y=a.N=a.F=a.a=0;Db(a);Fb(a,1)}
|
||||||
function Eb(a,b){if(void 0!==b&&(.8>a.P/a.ba&&(b=1),a.ja=b,b=a.xb*a.ja,a.ba!=b)){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var c=a.o.setSpeed;c&&(c.textContent=b);a.J("target speed: "+b)}Fb(a,a.K);a.K=0;a.H=ha();a.V=0;Gb(a)}
|
function Fb(a,b){if(void 0!==b&&(.8>a.W/a.ca&&(b=1),a.la=b,b=a.yb*a.la,a.ca!=b)){a.ca=b;b=a.ca.toFixed(2)+"Mhz";var c=a.u.setSpeed;c&&(c.textContent=b);a.J("target speed: "+b)}Gb(a,a.N);a.N=0;a.K=ia();a.X=0;Hb(a)}
|
||||||
l.Gb=function(){if(Fa(this,!0)){if(!this.f.ea){Eb(this);this.g&&this.g.start(this.H,Hb(this));this.f.ea=!0;this.f.Yb=!0;this.za&&this.za.start();var a=this.o.run;a&&(a.textContent="Halt");this.g&&this.g.La(!0)}this.zb>=this.yb&&Gb(this,!0);this.Da=0;this.Na=ha();this.V&&(a=this.Na-this.V,a>this.Mb&&(this.H+=a,this.H>this.Na&&(this.H=this.Na)));try{do{for(var b,c=this.f.lb?1:this.Qa,d=this.Ma.length-1;0<=d;d--){var f=this.Ma[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Zb(b)}catch(m){if("number"!=typeof m)throw m;
|
l.Hb=function(){if(Ga(this,!0)){if(!this.g.fa){Fb(this);this.h&&this.h.start(this.K,Ib(this));this.g.fa=!0;this.g.Zb=!0;this.Aa&&this.Aa.start();var a=this.u.run;a&&(a.textContent="Halt");this.h&&this.h.Ma(!0)}this.Ab>=this.zb&&Hb(this,!0);this.Ea=0;this.Oa=ia();this.X&&(a=this.Oa-this.X,a>this.Nb&&(this.K+=a,this.K>this.Oa&&(this.K=this.Oa)));try{do{for(var b,c=this.g.mb?1:this.lb,d=this.Na.length-1;0<=d;d--){var f=this.Na[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.$b(b)}catch(m){if("number"!=typeof m)throw m;
|
||||||
}for(var e=this.C-this.a,a=e,g=this.Ma.length-1;0<=g;g--){var h=this.Ma[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Da+=e;this.K+=e;Fb(this,0,!0);a=e;if(this.f.lb){var k=!1;this.Oa=this.Oa+this.Tb()|0;this.ca-=a;0>=this.ca&&(this.ca+=this.Aa,k=!0);0<=this.Ba&&this.Ba<=Hb(this)&&(this.Aa=this.Ba=-1,Cb(this),P(this),k=!0);k&&this.J(Hb(this)+" cycles: checksum="+q(this.Oa))}this.Ca-=e;if(0>=this.Ca){this.Ca+=this.Qa;15<=++this.Nb&&(this.g&&this.g.La(),this.Nb=0);break}}while(this.f.ea)}catch(m){P(this);
|
}for(var e=this.F-this.a,a=e,g=this.Na.length-1;0<=g;g--){var h=this.Na[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ea+=e;this.N+=e;Gb(this,0,!0);a=e;if(this.g.mb){var k=!1;this.Pa=this.Pa+this.Ub()|0;this.ka-=a;0>=this.ka&&(this.ka+=this.Ba,k=!0);0<=this.Ca&&this.Ca<=Ib(this)&&(this.Ba=this.Ca=-1,Db(this),O(this),k=!0);k&&this.J(Ib(this)+" cycles: checksum="+n(this.Pa))}this.Da-=e;if(0>=this.Da){this.Da+=this.lb;15<=++this.Pb&&(this.h&&this.h.Ma(),this.Pb=0);break}}while(this.g.fa)}catch(m){O(this);
|
||||||
Db(this);this.g&&this.g.stop(ha(),Hb(this));Fa(this,!1);b=m.stack||m.message;this.f.error=!0;this.L(b);return}b=setTimeout;c=this.Pb;this.V=ha();d=this.Mb;this.Da&&(d=Math.round(d*this.Da/this.Qa));d-=this.V-this.Na;if(f=this.V-this.H)this.P=Math.round(this.K/(10*f))/100,864E5<=f&&(this.W=0,Eb(this));if(0>d||this.P<this.ba)-1E3>d&&(this.H-=d),d=0;this.zb+=this.Da;this.V+=d;b(c,d)}else Db(this),this.g&&this.g.stop(ha(),Hb(this))};l.Zb=function(){return 0};
|
Eb(this);this.h&&this.h.stop(ia(),Ib(this));Ga(this,!1);b=m.stack||m.message;this.g.error=!0;this.L(b);return}b=setTimeout;c=this.Sb;this.X=ia();d=this.Nb;this.Ea&&(d=Math.round(d*this.Ea/this.lb));d-=this.X-this.Oa;if(f=this.X-this.K)this.W=Math.round(this.N/(10*f))/100,864E5<=f&&(this.Y=0,Fb(this));if(0>d||this.W<this.ca)-1E3>d&&(this.K-=d),d=0;this.Ab+=this.Ea;this.X+=d;b(c,d)}else Eb(this),this.h&&this.h.stop(ia(),Ib(this))};l.$b=function(){return 0};
|
||||||
function P(a){a.f.ab&&(a.f.Ab=!0);a.C-=a.a;a.a=0;Fb(a,a.K);a.K=0;if(a.f.ea){a.f.ea=!1;a.za&&a.za.stop();var b=a.o.run;b&&(b.textContent="Run")}a.f.complete=void 0}function Db(a){a.g&&a.g.La(void 0)}
|
function O(a){a.g.ab&&(a.g.Bb=!0);a.F-=a.a;a.a=0;Gb(a,a.N);a.N=0;if(a.g.fa){a.g.fa=!1;a.Aa&&a.Aa.stop();var b=a.u.run;b&&(b.textContent="Run")}a.g.complete=void 0}function Eb(a){a.h&&a.h.Ma(void 0)}
|
||||||
function Ib(a){this.gc=a.resetAddr||0;yb.call(this,a,1E6);this.Jb=0;this.decode=Jb.bind(this);this.A=65536;this.s=32768;this.u=65535;this.l=32768;this.c=[0,0,0,0,0,0,0,this.gc];this.Ja=[0,0,0,0,0,0];this.wa=[0,0,0,0];this.ha=255;this.nb=this.cb=this.Ta=this.h=this.ma=this.Xa=this.la=this.I=this.m=this.sb=0;this.Ia=[7,7,7,7];this.N=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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,
|
function Jb(a){this.jc=a.resetAddr||0;zb.call(this,a,1E6);this.Kb=0;this.decode=Kb.bind(this);this.B=65536;this.l=32768;this.s=65535;this.i=32768;this.c=[0,0,0,0,0,0,0,this.jc];this.Ka=[0,0,0,0,0,0];this.xa=[0,0,0,0];this.ia=255;this.ob=this.cb=this.Ta=this.w=this.oa=this.Xa=this.na=this.I=this.o=this.tb=0;this.Ja=[7,7,7,7];this.P=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.jb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.B=0;this.Ga=70;this.ka=-1;this.b=[];this.Sb=0;this.va=2;Kb(this);this.f.complete=this.f.cc=!1}y(Ib,yb);l=Ib.prototype;
|
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.jb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Db=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.b=-1;this.C=0;this.Ha=70;this.ma=-1;this.f=[];this.Tb=0;this.ha=2;Lb(this);this.g.complete=this.g.dc=!1}x(Jb,zb);l=Jb.prototype;
|
||||||
l.reset=function(){this.f.ea&&P(this);Lb(this);Bb(this);this.f.error=!1;this.parent.reset.call(this)};function Lb(a){a.ha=255;a.m=0;a.b=[];a.sb=0;a.I=a.la=a.Xa=a.ma=a.Ta=0;a.Ia[0]=a.Ia[1]=a.Ia[3]=7;a.cb=0;Kb(a)}function Kb(a){a.Ta?(a.Ib=65536,a.Y=a.ic,a.qb=a.ga):(a.Ib=0,a.Y=a.hc,a.qb=a.rb)}l.Tb=function(){return 0};l.save=function(){var a=new Q(this);a.set(0,[]);a.set(1,[this.Lb,this.W,this.ja]);a.set(2,Xa(this.j));return a.data()};
|
l.reset=function(){this.g.fa&&O(this);Mb(this);Cb(this);this.g.error=!1;this.parent.reset.call(this)};function Mb(a){a.ia=255;a.o=0;a.f=[];a.tb=0;a.I=a.na=a.Xa=a.oa=a.Ta=0;a.Ja[0]=a.Ja[1]=a.Ja[3]=7;a.cb=0;Lb(a)}function Lb(a){a.Ta?(a.Jb=65536,a.ba=a.ic,a.rb=a.ea):(a.Jb=0,a.ba=a.hc,a.rb=a.sb)}l.Ub=function(){return 0};l.save=function(){var a=new P(this);a.set(0,[]);a.set(1,[this.Mb,this.Y,this.la]);a.set(2,Ya(this.m));return a.data()};
|
||||||
l.restore=function(a){var b=a[1];this.Lb=b[0];this.W=b[1];Eb(this,b[3]);a:{b=this.j;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.H){for(var e=0,g=Array(b.H),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)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
l.restore=function(a){var b=a[1];this.Mb=b[0];this.Y=b[1];Fb(this,b[3]);a:{b=this.m;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.F){for(var e=0,g=Array(b.F),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)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||||
l.aa=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.o[b]=c;this.Jb++;a=!0;break;default:a=this.parent.aa.call(this,a,b,c)}return a};
|
l.aa=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.Kb++;a=!0;break;default:a=this.parent.aa.call(this,a,b,c)}return a};
|
||||||
l.La=function(a){if(this.Jb&&(a||!this.f.ea||this.f.Qb)){for(a=0;a<this.c.length;a++)O(this,"R"+a,this.c[a]);a=$a(this);O(this,"PS",a);O(this,"NF",a&8?1:0,1);O(this,"ZF",a&4?1:0,1);O(this,"VF",a&2?1:0,1);O(this,"CF",a&1?1:0,1)}if(a=this.o.speed)a.textContent=this.f.ea&&this.P?this.P.toFixed(2)+"Mhz":"Stopped"};
|
l.Ma=function(a){if(this.Kb&&(a||!this.g.fa||this.g.Qb)){for(a=0;a<this.c.length;a++)N(this,"R"+a,this.c[a]);a=ab(this);N(this,"PS",a);N(this,"NF",a&8?1:0,1);N(this,"ZF",a&4?1:0,1);N(this,"VF",a&2?1:0,1);N(this,"CF",a&1?1:0,1)}if(a=this.u.speed)a.textContent=this.g.fa&&this.W?this.W.toFixed(2)+"Mhz":"Stopped"};
|
||||||
function L(a,b,c,d,f){for(var e=a.b.length;0<e--;)if(a.b[e].zc===d){0<e&&(a.b[e-1].qa+=a.b[e].qa);a.b.splice(e,1);break}if(0<=b){2===a.Sb&&(b=0,a.Sb=0,setTimeout(a.Pb,0));for(e=a.b.length;0<e--;){if(a.b[e].qa>b){a.b[e].qa-=b;break}b-=a.b[e].qa}a.b.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.va=2}function $a(a){return a.X=a.X&63728|(a.l&32768?8:0)|(a.u&65535?0:4)|(a.s&32768?2:0)|(a.A&65536?1:0)}
|
function K(a,b,c,d,f){for(var e=a.f.length;0<e--;)if(a.f[e].Ac===d){0<e&&(a.f[e-1].sa+=a.f[e].sa);a.f.splice(e,1);break}if(0<=b){2===a.Tb&&(b=0,a.Tb=0,setTimeout(a.Sb,0));for(e=a.f.length;0<e--;){if(a.f[e].sa>b){a.f[e].sa-=b;break}b-=a.f[e].sa}a.f.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.ha=2}function ab(a){return a.O=a.O&63728|(a.i&32768?8:0)|(a.s&65535?0:4)|(a.l&32768?2:0)|(a.B&65536?1:0)}
|
||||||
function ab(a,b){a.l=b<<12;a.u=~b&4;a.s=b<<14;a.A=b<<16;if((b^a.X)&2048)for(var c=a.Ja.length;0<=--c;){var d=a.c[c];a.c[c]=a.Ja[c];a.Ja[c]=d}a.h=b>>14&3;c=a.X>>14&3;a.h!=c&&(a.wa[c]=a.c[6],a.c[6]=a.wa[a.h]);a.va=2;a.X=b}function Mb(a,b){a.B&128||(a.l=a.u=a.A=b,a.s=0)}function R(a,b){a.B&128||(a.l=a.u=b,a.s=0)}function Nb(a,b,c,d){a.B&128||(a.l=a.u=a.A=b,a.s=(c^d)&(d^b))}
|
function bb(a,b){a.i=b<<12;a.s=~b&4;a.l=b<<14;a.B=b<<16;if((b^a.O)&2048)for(var c=a.Ka.length;0<=--c;){var d=a.c[c];a.c[c]=a.Ka[c];a.Ka[c]=d}a.w=b>>14&3;c=a.O>>14&3;a.w!=c&&(a.xa[c]=a.c[6],a.c[6]=a.xa[a.w]);a.ha=2;a.O=b}function Nb(a,b){a.C&128||(a.i=a.s=a.B=b,a.l=0)}function Q(a,b){a.C&128||(a.i=a.s=b,a.l=0)}function Ob(a,b,c,d){a.C&128||(a.i=a.s=a.B=b,a.l=(c^d)&(d^b))}
|
||||||
function N(a,b,c){var d=!1;0>a.ka?a.ka=$a(a):a.h||(b=4,d=!0);a.I&57344||(a.la=63222,a.Xa=b);a.h=0;var f=a.ga(b|65536),e=a.ga(b+2&65535|65536);ab(a,e&53247|a.ka>>2&12288);d&&(a.m|=4,a.c[6]=4);Ob(a,a.ka);Ob(a,a.c[7]);a.c[7]=f;a.B&=-113;a.ka=-1;throw b|c<<8;}function ib(a,b){var c=b>>13&31;31>c?a.ma&32&&(b=a.jb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
function M(a,b,c){var d=!1;0>a.ma?a.ma=ab(a):a.w||(b=4,d=!0);a.I&57344||(a.na=63222,a.Xa=b);a.w=0;var f=a.ea(b|65536),e=a.ea(b+2&65535|65536);bb(a,e&53247|a.ma>>2&12288);d&&(a.o|=4,a.c[6]=4);Pb(a,a.ma);Pb(a,a.c[7]);a.c[7]=f;a.C&=-113;a.ma=-1;throw b|c<<8;}function jb(a,b){var c=b>>13&31;31>c?a.oa&32&&(b=a.jb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||||
function Pb(a,b,c){var d,f,e,g=0;if(c&a.Ta){d=b>>13&a.Ia[a.h];f=a.N[a.h][d];e=(a.N[a.h][d+16]<<6)+(b&8191)&4194303;a.ma&16?3932160<=e&&4186112>e&&(e=ib(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.m|=32,N(a,4,24)),e&1&&!(c&1)&&(a.m|=64,N(a,4,26)));switch(f&7){case 1:g=4096;case 2:f|=128;c&H&&(g=8192);break;case 4:g=4096;case 5:c&H&&(g=4096);case 6:f|=c&H?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)&&
|
function Qb(a,b,c){var d,f,e,g=0;if(c&a.Ta){d=b>>13&a.Ja[a.w];f=a.P[a.w][d];e=(a.P[a.w][d+16]<<6)+(b&8191)&4194303;a.oa&16?3932160<=e&&4186112>e&&(e=jb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.o|=32,M(a,4,24)),e&1&&!(c&1)&&(a.o|=64,M(a,4,26)));switch(f&7){case 1:g=4096;case 2:f|=128;c&E&&(g=8192);break;case 4:g=4096;case 5:c&E&&(g=4096);case 6:f|=c&E?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.N[a.h][d]=f;if(4194170!==e||a.h)a.cb=a.h,a.nb=d;g&&(g&57344&&(0<=a.ka&&(g|=128),a.I&57344||(a.I=a.I|g|a.cb<<5|a.nb<<1),N(a,168,28)),a.I&61440||!(4191360>e||4194239<e)||(a.I|=4096,a.I&512&&(a.B|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.m|=64,N(a,4,22));return e}l.rb=function(a){if(4194304<=a)a=this.c[a-4194304];else if(0<=a){var b=this.j,c=a&b.h,d=(a&b.l)>>>b.j;a=c!=b.h?b.b[d].qb(c,a):b.b[d++].fb(c,a)|b.b[d&b.K].fb(0,a+1)<<8}return a};
|
(g|=16384));a.P[a.w][d]=f;if(4194170!==e||a.w)a.cb=a.w,a.ob=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.I&57344||(a.I=a.I|g|a.cb<<5|a.ob<<1),M(a,168,28)),a.I&61440||!(4191360>e||4194239<e)||(a.I|=4096,a.I&512&&(a.C|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.o|=64,M(a,4,22));return e}l.sb=function(a){if(4194304<=a)a=this.c[a-4194304];else if(0<=a){var b=this.m,c=a&b.h,d=(a&b.i)>>>b.f;a=c!=b.h?b.b[d].rb(c,a):b.b[d++].fb(c,a)|b.b[d&b.K].fb(0,a+1)<<8}return a};
|
||||||
l.ga=function(a){return this.rb(Pb(this,a,F))};function hb(a,b,c){c&=65535;if(4194304<=b)return a.c[b-4194304]=c;if(0<=b){a=a.j;var d=c,f=b&a.h,e=(b&a.l)>>>a.j;f!=a.h?a.b[e].Bc(f,d&65535,b):(a.b[e++].kb(f,d&255,b),a.b[e&a.K].kb(0,d>>8&255,b+1));return c}return b}function Qb(a,b){4194304<=b?b=a.c[b-4194304]&255:0<=b&&(a=a.j,b=a.b[(b&a.l)>>>a.j].fb(b&a.h,b));return b}function Rb(a,b,c){c&=255;4194304<=b?a.c[b-4194304]=a.c[b-4194304]&65280|c:0<=b&&(a=a.j,a.b[(b&a.l)>>>a.j].kb(b&a.h,c&255,b))}
|
l.ea=function(a){return this.sb(Qb(this,a,D))};function ib(a,b,c){c&=65535;if(4194304<=b)return a.c[b-4194304]=c;if(0<=b){a=a.m;var d=c,f=b&a.h,e=(b&a.i)>>>a.f;f!=a.h?a.b[e].Cc(f,d&65535,b):(a.b[e++].kb(f,d&255,b),a.b[e&a.K].kb(0,d>>8&255,b+1));return c}return b}function Rb(a,b){4194304<=b?b=a.c[b-4194304]&255:0<=b&&(a=a.m,b=a.b[(b&a.i)>>>a.f].fb(b&a.h,b));return b}function Sb(a,b,c){c&=255;4194304<=b?a.c[b-4194304]=a.c[b-4194304]&65280|c:0<=b&&(a=a.m,a.b[(b&a.i)>>>a.f].kb(b&a.h,c&255,b))}
|
||||||
function Ob(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.I&57344||(a.la=a.la<<8|246);!a.h&&c<=a.ha&&4<c&&(c<=a.ha-32?(a.m|=4,a.c[6]=4,N(a,4,32)):(a.m|=8,a.B|=4));c=Pb(a,c|65536,H);hb(a,c,b)}
|
function Pb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.I&57344||(a.na=a.na<<8|246);!a.w&&c<=a.ia&&4<c&&(c<=a.ia-32?(a.o|=4,a.c[6]=4,M(a,4,32)):(a.o|=8,a.C|=4));c=Qb(a,c|65536,E);ib(a,c,b)}
|
||||||
function Sb(a,b,c){var d,f,e=b&7,g=c&8?0:a.Ib;switch(b>>3&7){case 0:N(a,4,34);break;case 1:return 6===e&&!a.h&&c&H&&(a.c[6]<=a.ha||65534<=a.c[6])&&(a.c[6]<=a.ha-32||65534<=a.c[6]?(a.m|=4,a.c[6]=4,N(a,4,36)):(a.m|=8,a.B|=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.ga(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.ga(d)))return d;
|
function Tb(a,b,c){var d,f,e=b&7,g=c&8?0:a.Jb;switch(b>>3&7){case 0:M(a,4,34);break;case 1:return 6===e&&!a.w&&c&E&&(a.c[6]<=a.ia||65534<=a.c[6])&&(a.c[6]<=a.ia-32||65534<=a.c[6]?(a.o|=4,a.c[6]=4,M(a,4,36)):(a.o|=8,a.C|=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.ea(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.ea(d)))return d;
|
||||||
d|=g;break;case 6:if(0>(d=a.ga(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.ga(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return 0>(d=a.ga(d|65536))?d:d|g}a.c[e]=a.c[e]+f&65535;!g||a.I&57344||(a.la=a.la<<8|f<<3&248|e);6===e&&!a.h&&c&H&&0>=f&&(a.c[6]<=a.ha||65534<=a.c[6])&&(a.c[6]<=a.ha-32?(a.m|=4,a.c[6]=4,N(a,4,38)):(a.m|=8,a.B|=64));return d}l.hc=function(a,b){return Sb(this,a,b)};l.ic=function(a,b){return Pb(this,Sb(this,a,b),b)};
|
d|=g;break;case 6:if(0>(d=a.ea(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.ea(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return 0>(d=a.ea(d|65536))?d:d|g}a.c[e]=a.c[e]+f&65535;!g||a.I&57344||(a.na=a.na<<8|f<<3&248|e);6===e&&!a.w&&c&E&&0>=f&&(a.c[6]<=a.ia||65534<=a.c[6])&&(a.c[6]<=a.ia-32?(a.o|=4,a.c[6]=4,M(a,4,38)):(a.o|=8,a.C|=64));return d}l.hc=function(a,b){return Tb(this,a,b)};l.ic=function(a,b){return Qb(this,Tb(this,a,b),b)};
|
||||||
function S(a,b){return b&56?a.qb(Sb(a,b,F)):a.c[b&7]}function T(a,b){return b&56?Qb(a,a.Y(b,Ja)):a.c[b&7]&255}function Tb(a,b,c,d){b&56?(b=a.Y(b,Ia),hb(a,b,d.call(a,c,a.rb(b)))):(b&=7,a.c[b]=d.call(a,c,a.c[b])&65535)}function Ub(a,b,c,d){b&56?(b=a.Y(b,La),Rb(a,b,d.call(a,c,Qb(a,b)))):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b])&255)}function Vb(a,b,c){b&56?hb(a,a.Y(b,H),c):a.c[b&7]=c&65535;return c}
|
function R(a,b){return b&56?a.rb(Tb(a,b,D)):a.c[b&7]}function S(a,b){return b&56?Rb(a,a.ba(b,Ka)):a.c[b&7]&255}function Ub(a,b,c,d){b&56?(b=a.ba(b,Ja),ib(a,b,d.call(a,c,a.sb(b)))):(b&=7,a.c[b]=d.call(a,c,a.c[b])&65535)}function Vb(a,b,c,d){b&56?(b=a.ba(b,Ma),Sb(a,b,d.call(a,c,Rb(a,b)))):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b])&255)}function Wb(a,b,c){b&56?ib(a,a.ba(b,E),c):a.c[b&7]=c&65535;return c}
|
||||||
function Wb(a,b,c,d){b&56?Rb(a,a.Y(b,Ka),c):(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 Xb(a,b,c,d){b&56?Sb(a,a.ba(b,La),c):(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 T(a,b){return a.c[7]+(b<<24>>23)&65535}
|
||||||
l.Zb=function(a){this.f.complete=!0;this.f.cc=!1;this.f.Yb=!1;this.C=this.a=a;this.Lb&256?(this.C-=this.a,this.a=0,a=!1):a=!0;if(a){do{var b,c;this.B&112&&(this.B&32?N(this,168,52):this.B&64?N(this,4,54):this.B&16&&N(this,12,56),this.B&=-113);if(this.va)if(1===this.va)this.va=2;else{this.va=0;c=-1;a=this.sb&224;if(0<(b=this.b.length))for(;0<b--;){if(0<this.b[b].qa){this.b[b].qa--;this.va=2;break}if(this.b[b].Ob){if(!this.b[b].Ob()){this.b.splice(b,1);c--;continue}this.b[b].Ob=null}this.b[b].mc>a&&
|
l.$b=function(a){this.g.complete=!0;this.g.dc=!1;this.g.Zb=!1;this.F=this.a=a;this.Mb&256?(this.F-=this.a,this.a=0,a=!1):a=!0;if(a){do{var b,c;this.C&112&&(this.C&32?M(this,168,52):this.C&64?M(this,4,54):this.C&16&&M(this,12,56),this.C&=-113);if(this.ha)if(1===this.ha)this.ha=2;else{this.ha=0;c=-1;a=this.tb&224;if(0<(b=this.f.length))for(;0<b--;){if(0<this.f[b].sa){this.f[b].sa--;this.ha=2;break}if(this.f[b].Ob){if(!this.f[b].Ob()){this.f.splice(b,1);c--;continue}this.f[b].Ob=null}this.f[b].nc>a&&
|
||||||
(a=this.b[b].mc,c=b)}a>(this.X&224)&&(0>c?N(this,160,42):(N(this,this.b[c].zc,44),this.b.splice(c,1)))}this.I&57344||(this.la=0,this.Xa=this.c[7]);this.B=this.X&16;a=this.ga(this.c[7]);0<=a&&(this.c[7]=this.c[7]+2&65535);this.decode(a)}while(0<this.a)}return this.f.complete?this.C-this.a:void 0===this.f.complete?0:-1};v(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ib(d);B(d,c)}});
|
(a=this.f[b].nc,c=b)}a>(this.O&224)&&(0>c?M(this,160,42):(M(this,this.f[c].Ac,44),this.f.splice(c,1)))}this.I&57344||(this.na=0,this.Xa=this.c[7]);this.C=this.O&16;this.b=a=this.ea(this.c[7]);0<=a&&(this.c[7]=this.c[7]+2&65535);this.decode(a);if(0>this.b){this.c[7]=this.c[7]-2&65535;this.J("unimplemented");break}}while(0<this.a)}return this.g.complete?this.F-this.a:void 0===this.g.complete?0:-1};
|
||||||
function Xb(a,b){var c=a+b;this.B&128||(this.l=this.u=this.A=c,this.s=(a^c)&(b^c));return c&65535}function Yb(a,b){a=~a&b;R(this,a);return a}function Zb(a,b){a=~a&b;R(this,a<<8);return a}function $b(a,b){a|=b;R(this,a);return a}function ac(a,b){a|=b;R(this,a<<8);return a}function bc(a,b){var c=b-a;Nb(this,c,a,b);return c&65535}function cc(){--this.a}function dc(){--this.a}function U(a){a&1&&(this.A=0);a&2&&(this.s=0);a&4&&(this.u=1);a&8&&(this.l=0);--this.a}function ec(){--this.a}
|
u(function(){for(var a=B(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Jb(d);A(d,c)}});function Yb(a,b){var c=a+b;this.C&128||(this.i=this.s=this.B=c,this.l=(a^c)&(b^c));return c&65535}function Zb(a,b){a=~a&b;Q(this,a);return a}function $b(a,b){a=~a&b;Q(this,a<<8);return a}function ac(a,b){a|=b;Q(this,a);return a}function bc(a,b){a|=b;Q(this,a<<8);return a}function cc(a,b){var c=b-a;Ob(this,c,a,b);return c&65535}function dc(){this.b=-1;--this.a}
|
||||||
function fc(a){this.J("JSR");var b=Sb(this,a,8);a=a>>6&7;Ob(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=b;--this.a}function gc(){--this.a}function hc(){--this.a}function V(a){a&1&&(this.A=65536);a&2&&(this.s=32768);a&4&&(this.u=0);a&8&&(this.l=32768);--this.a}function ic(){--this.a}function jc(){--this.a}function W(){N(this,8,48)}function Jb(a){kc[a>>12].call(this,a)}
|
function ec(){this.b=-1;--this.a}function U(a){a&1&&(this.B=0);a&2&&(this.l=0);a&4&&(this.s=1);a&8&&(this.i=0);--this.a}function fc(){this.b=-1;--this.a}function gc(a){var b=Tb(this,a,8);a=a>>6&7;Pb(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=b;--this.a}function hc(){this.b=-1;--this.a}function ic(){--this.a}function V(a){a&1&&(this.B=65536);a&2&&(this.l=32768);a&4&&(this.s=0);a&8&&(this.i=32768);--this.a}function jc(){this.b=-1;--this.a}function kc(){this.b=-1;--this.a}
|
||||||
var kc=[function(a){lc[a>>8&15].call(this,a)},function(a){R(this,Vb(this,a,S(this,a>>6)));--this.a},function(a){var b=S(this,a>>6);a=S(this,a);Nb(this,b-a,a,b);--this.a},function(a){R(this,S(this,a>>6)&S(this,a));--this.a},function(a){Tb(this,a,S(this,a>>6),Yb);--this.a},function(a){Tb(this,a,S(this,a>>6),$b);--this.a},function(a){Tb(this,a,S(this,a>>6),Xb);--this.a},function(a){mc[a>>8&15].call(this,a)},function(a){nc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);R(this,Wb(this,a,b,1)<<8);
|
function W(){M(this,8,48)}function Kb(a){lc[a>>12].call(this,a)}
|
||||||
--this.a},function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Nb(this,b-a,a,b);--this.a},function(a){R(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){Ub(this,a,T(this,a>>6),Zb);--this.a},function(a){Ub(this,a,T(this,a>>6),ac);--this.a},function(a){Tb(this,a,S(this,a>>6),bc);--this.a},W],lc=[function(a){oc[a>>4&15].call(this,a)},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},fc,fc,function(a){pc[a>>
|
var lc=[function(a){mc[a>>8&15].call(this,a)},function(a){Q(this,Wb(this,a,R(this,a>>6)));--this.a},function(a){var b=R(this,a>>6);a=R(this,a);Ob(this,b-a,a,b);--this.a},function(a){Q(this,R(this,a>>6)&R(this,a));--this.a},function(a){Ub(this,a,R(this,a>>6),Zb);--this.a},function(a){Ub(this,a,R(this,a>>6),ac);--this.a},function(a){Ub(this,a,R(this,a>>6),Yb);--this.a},function(a){nc[a>>8&15].call(this,a)},function(a){oc[a>>8&15].call(this,a)},function(a){var b=S(this,a>>6);Q(this,Xb(this,a,b,1)<<8);
|
||||||
6&3].call(this,a)},function(a){qc[a>>6&3].call(this,a)},function(a){rc[a>>6&3].call(this,a)},function(a){sc[a>>6&3].call(this,a)},W,W],oc=[function(a){tc[a&15].call(this,a)},W,W,W,W,W,W,W,W,W,function(a){uc[a&15].call(this,a)},function(a){vc[a&15].call(this,a)},W,W,W,W],uc=[hc,function(){this.A=0;--this.a},function(){this.s=0;--this.a},U,function(){this.u=1;--this.a},U,U,U,function(){this.l=0;--this.a},U,U,U,U,U,U,U],vc=[hc,function(){this.A=65536;--this.a},function(){this.s=32768;--this.a},V,function(){this.u=
|
--this.a},function(a){var b=S(this,a>>6)<<8;a=S(this,a)<<8;Ob(this,b-a,a,b);--this.a},function(a){Q(this,(S(this,a>>6)&S(this,a))<<8);--this.a},function(a){Vb(this,a,S(this,a>>6),$b);--this.a},function(a){Vb(this,a,S(this,a>>6),bc);--this.a},function(a){Ub(this,a,R(this,a>>6),cc);--this.a},W],mc=[function(a){pc[a>>4&15].call(this,a)},function(a){this.c[7]=T(this,a);--this.a},function(a){this.s&65535&&(this.c[7]=T(this,a));--this.a},function(a){this.s&65535||(this.c[7]=T(this,a));--this.a},function(a){!(this.i&
|
||||||
0;--this.a},V,V,V,function(){this.l=32768;--this.a},V,V,V,V,V,V,V],tc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){this.X&49152||(Lb(this),this.j.reset());--this.a},function(){--this.a},function(){--this.a},W,W,W,W,W,W,W,W],mc=[gc,gc,ec,ec,cc,cc,dc,dc,jc,jc,W,W,W,W,ic,ic],nc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},
|
32768)==!(this.l&32768)&&(this.c[7]=T(this,a));--this.a},function(a){!(this.i&32768)!=!(this.l&32768)&&(this.c[7]=T(this,a));--this.a},function(a){this.s&65535&&!(this.i&32768)==!(this.l&32768)&&(this.c[7]=T(this,a));--this.a},function(a){this.s&65535&&!(this.i&32768)==!(this.l&32768)||(this.c[7]=T(this,a));--this.a},gc,gc,function(a){qc[a>>6&3].call(this,a)},function(a){rc[a>>6&3].call(this,a)},function(a){sc[a>>6&3].call(this,a)},function(a){tc[a>>6&3].call(this,a)},W,W],pc=[function(a){uc[a&15].call(this,
|
||||||
function(){--this.a},function(){--this.a},function(a){wc[a>>6&3].call(this,a)},function(a){xc[a>>6&3].call(this,a)},function(a){yc[a>>6&3].call(this,a)},function(a){zc[a>>6&3].call(this,a)},W,W],pc=[function(a){Mb(this,Vb(this,a,0));--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],qc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],rc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],sc=[function(){--this.a},
|
a)},W,W,W,W,W,W,W,function(a){var b=this.ea(this.c[6]|65536);0<=b&&(this.c[6]=this.c[6]+2&65535);a&=7;this.c[7]=this.c[a];this.c[a]=b;--this.a},function(a){this.O&49152||(this.O=this.O&-2017|(a&7)<<5,this.ha=1);--this.a},function(a){vc[a&15].call(this,a)},function(a){wc[a&15].call(this,a)},W,W,W,W],vc=[ic,function(){this.B=0;--this.a},function(){this.l=0;--this.a},U,function(){this.s=1;--this.a},U,U,U,function(){this.i=0;--this.a},U,U,U,U,U,U,U],wc=[ic,function(){this.B=65536;--this.a},function(){this.l=
|
||||||
function(){--this.a},function(){--this.a},function(){--this.a}],wc=[function(a){Mb(this,Wb(this,a,0));--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],xc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],yc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],zc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a}];
|
32768;--this.a},V,function(){this.s=0;--this.a},V,V,V,function(){this.i=32768;--this.a},V,V,V,V,V,V,V],uc=[function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.O&49152||(Mb(this),this.m.reset());--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},W,W,W,W,W,W,W,W],nc=[hc,hc,fc,fc,dc,dc,ec,ec,kc,kc,W,W,W,W,jc,jc],oc=[function(a){this.i&32768||(this.c[7]=T(this,a));
|
||||||
function X(a){w.call(this,"ROM",a,X);this.b=null;this.u=a.addr;this.g=a.size;this.A=a.writable;this.h=a.alias;this.l=a.file;this.C=ba(this.l);if(this.l){a=this.l;var b=ca(this.C);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.l+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,e){Ac(c,a,b,e)})}}y(X);X.prototype.Ha=function(a,b,c,d){this.j=b;this.a=c;this.G=d;Bc(this)};X.prototype.ua=function(){this.s&&(this.G&&this.G.a(this.id,this.u,this.g,this.s),delete this.s);return!0};
|
--this.a},function(a){this.i&32768&&(this.c[7]=T(this,a));--this.a},function(a){this.B&65536||!(this.s&65535)||(this.c[7]=T(this,a));--this.a},function(a){if(this.B&65536||!(this.s&65535))this.c[7]=T(this,a);--this.a},function(a){this.l&32768||(this.c[7]=T(this,a));--this.a},function(a){this.l&32768&&(this.c[7]=T(this,a));--this.a},function(a){this.B&65536||(this.c[7]=T(this,a));--this.a},function(a){this.B&65536&&(this.c[7]=T(this,a));--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;
|
||||||
X.prototype.ta=function(){return!0};
|
--this.a},function(a){xc[a>>6&3].call(this,a)},function(a){yc[a>>6&3].call(this,a)},function(a){zc[a>>6&3].call(this,a)},function(a){Ac[a>>6&3].call(this,a)},W,W],qc=[function(a){Nb(this,Wb(this,a,0));--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a}],rc=[function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a}],sc=[function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=
|
||||||
function Ac(a,b,c,d){if(d)a.L("Unable to load system ROM (error "+d+": "+b+")");else{Da(a.Hb,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.s=h.symbols;if(!a.b.length){t("Empty ROM: "+b);
|
-1;--this.a},function(){this.b=-1;--this.a}],tc=[function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a}],xc=[function(a){Nb(this,Xb(this,a,0));--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a}],yc=[function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a}],zc=[function(){this.b=-1;--this.a},function(){this.b=-1;
|
||||||
return}if(1==a.b.length){t(a.b[0]);return}}catch(k){a.L("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);Bc(a)}}
|
--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a}],Ac=[function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a},function(){this.b=-1;--this.a}];
|
||||||
function Bc(a){if(!Ga(a))if(!a.l)D(a);else if(a.b&&a.j){a.g||(a.g=a.b.length);if(a.b.length!=a.g){var b="ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.g,8,!0)+")";a.f.error=!0;a.L(b)}else{b=a.u;if(Ta(a.j,b,a.g,a.A?1:pb)){var c;for(c=0;c<a.b.length;c++){var d=a.j,f=b+c;d.b[(f&d.l)>>>d.j].$b(f&d.h,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.h?b.push(a.h):null!=a.h&&a.h.length&&(b=a.h);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.j,g=e.g,h=[],k=e.u>>>f.j;0<g&&
|
function X(a){v.call(this,"ROM",a,X);this.b=null;this.s=a.addr;this.f=a.size;this.w=a.writable;this.h=a.alias;this.i=a.file;this.B=ca(this.i);if(this.i){a=this.i;var b=da(this.B);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;q(a,null,!0,function(a,b,e){Bc(c,a,b,e)})}}x(X);X.prototype.Ia=function(a,b,c,d){this.m=b;this.a=c;this.H=d;Cc(this)};X.prototype.wa=function(){this.l&&(this.H&&this.H.a(this.id,this.s,this.f,this.l),delete this.l);return!0};
|
||||||
k<f.b.length;)h.push(f.b[k++]),g-=f.g;f=e.j;e=e.g;g=0;for(d>>>=f.j;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.g}}delete a.b}}D(a)}}v(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new X(d);B(d,c)}});function Cc(a){w.call(this,"RAM",a,Cc);this.h=a.addr;this.g=a.size;this.b=!1}y(Cc);l=Cc.prototype;l.Ha=function(a,b,c,d){this.j=b;this.a=c;this.G=d;D(this)};l.ua=function(a,b){b||this.reset();return!0};l.ta=function(a){return a?this.save():!0};
|
X.prototype.va=function(){return!0};
|
||||||
l.reset=function(){!this.b&&this.g&&Ta(this.j,this.h,this.g,1)&&(this.b=!0);this.b||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};v(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Cc(d);B(d,c)}});function Dc(a){w.call(this,"Keyboard",a,Dc);D(this)}y(Dc);Dc.prototype.aa=function(){return!1};Dc.prototype.Ha=function(a,b,c,d){this.g=a;this.a=c;this.G=d;this.za=null};
|
function Bc(a,b,c,d){if(d)a.L("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Lb,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.l=h.symbols;if(!a.b.length){r("Empty ROM: "+b);
|
||||||
v(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Dc(d);B(d,c)}});
|
return}if(1==a.b.length){r(a.b[0]);return}}catch(k){a.L("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);Cc(a)}}
|
||||||
function Ec(a,b,c){w.call(this,"Computer",a,Ec);this.f.M=!1;Fc(this,b);this.K=Ab(this,"autoPower",a);this.h=0;this.ba=a.busWidth||a.buswidth;this.b=Y;this.C=null;this.u=this.W=!1;this.url=Ab(this,"url")||"";(Math.random()+.1).toString(36);this.g=Gc(this);if(this.a=Ea("CPU",this.id)){this.G=Ea("Debugger",this.id);this.j=new I({id:this.Hb+".bus",busWidth:this.ba},this.a,this.G);var d,f=z(this.id);if((this.l=Ea("Panel",this.id))&&this.l.Bb)for(b=0;b<f.length;b++)d=f[b],d.L=this.l.L,d.J=this.l.J,d.Bb=
|
function Cc(a){if(!Ha(a))if(!a.i)C(a);else if(a.b&&a.m){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.g.error=!0;a.L(b)}else{b=a.s;if(Ua(a.m,b,a.f,a.w?1:qb)){var c;for(c=0;c<a.b.length;c++){var d=a.m,f=b+c;d.b[(f&d.i)>>>d.f].ac(f&d.h,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.h?b.push(a.h):null!=a.h&&a.h.length&&(b=a.h);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.m,g=e.f,h=[],k=e.s>>>f.f;0<g&&
|
||||||
this.l.Bb;this.J("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.J("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.Ha&&d.Ha(this,this.j,this.a,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.A=d:this.b=parseInt(d,10));var e;if(a=Ab(this,"state")||(e=!0,a.state))b=this.P=a,e||(this.u=!0,this.b=Y),this.b&&(this.H=
|
k<f.b.length;)h.push(f.b[k++]),g-=f.m;f=e.m;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.m}}delete a.b}}C(a)}}u(function(){for(var a=B(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new X(d);A(d,c)}});function Dc(a){v.call(this,"RAM",a,Dc);this.h=a.addr;this.f=a.size;this.b=!1}x(Dc);l=Dc.prototype;l.Ia=function(a,b,c,d){this.m=b;this.a=c;this.H=d;C(this)};l.wa=function(a,b){b||this.reset();return!0};l.va=function(a){return a?this.save():!0};
|
||||||
new Q(this,"1.30.0"),Z(this.H)?b=null:delete this.H);!b&&this.b&&(b=Hc(this))&&(this.u=!0);if(b){var g=this;r(b,null,!0,function(a,b,c){c?(g.A=null,g.u=!1,g.L("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.C=b,g.W=!0);D(g)})}else D(this);this.o.power||(this.K=!0);!c&&this.K&&Ic(this,this.eb)}else t("Unable to find CPU component")}y(Ec);var Y=0;
|
l.reset=function(){!this.b&&this.f&&Ua(this.m,this.h,this.f,1)&&(this.b=!0);this.b||r("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=B(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Dc(d);A(d,c)}});function Ec(a){v.call(this,"Keyboard",a,Ec);C(this)}x(Ec);Ec.prototype.aa=function(){return!1};Ec.prototype.Ia=function(a,b,c,d){this.h=a;this.a=c;this.H=d;this.Aa=null};
|
||||||
function Fc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.Y=b}function Ab(a,b,c){var d=b.toLowerCase(),d=xa[b]||xa[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 Ic(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(){Ic(a,b,c)});return}}b.call(a,c)}
|
u(function(){for(var a=B(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ec(d);A(d,c)}});
|
||||||
function Jc(a,b){var c=new Q(a,"1.30.0","validate");if(Z(c)&&Kc(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.L("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Ec.prototype;
|
function Fc(a,b,c){v.call(this,"Computer",a,Fc);this.g.M=!1;Gc(this,b);this.K=Bb(this,"autoPower",a);this.h=0;this.ba=a.busWidth||a.buswidth;this.b=Y;this.B=null;this.s=this.X=!1;this.url=Bb(this,"url")||"";(Math.random()+.1).toString(36);this.f=Hc(this);if(this.a=Fa("CPU",this.id)){this.H=Fa("Debugger",this.id);this.m=new G({id:this.Lb+".bus",busWidth:this.ba},this.a,this.H);var d,f=y(this.id);if((this.i=Fa("Panel",this.id))&&this.i.Cb)for(b=0;b<f.length;b++)d=f[b],d.L=this.i.L,d.J=this.i.J,d.Cb=
|
||||||
l.eb=function(a){void 0===a&&(a=this.b||(this.C?1:Y));if(!this.h){this.h++;var b=!1,c=!1;this.V=!1;var d=this.H||new Q(this,"1.30.0");if(-1==a)b=!0;else if(a>Y){if(Z(d,this.C)){this.s=new Q(this,"1.30.0","failsafe");Z(this.s)&&(Lc(this,d),a=2,Mc(this.s));this.s.set("timestamp",ia());Nc(this.s);var f=this.b&&!this.u;if(1==a||ja("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Kc(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Z(d,g):("error"==e&&
|
this.i.Cb;this.J("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.J("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.Ia&&d.Ia(this,this.m,this.a,this.H);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.w=d:this.b=parseInt(d,10));var e;if(a=Bb(this,"state")||(e=!0,a.state))b=this.N=a,e||(this.s=!0,this.b=Y),this.b&&(this.F=
|
||||||
"no machine state"!=g?(this.L("Error: "+g),"unable to verify user"==g&&(na("user",""),this.g=null)):this.J(e+": "+g),Mc(d),Z(d)?(c=Kc(d),f=!0):c=!1))}f&&Jc(this,c?d:null)}else 2==a&&d.clear()}else Jc(this);delete this.C;delete this.H}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=Oc(this,g,d,b,c));b=[d,a,c];-1!=a?Ic(this,this.Rb,b):this.Rb(b)}};
|
new P(this,"1.30.0"),Z(this.F)?b=null:delete this.F);!b&&this.b&&(b=Ic(this))&&(this.s=!0);if(b){var g=this;q(b,null,!0,function(a,b,c){c?(g.w=null,g.s=!1,g.L("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.B=b,g.X=!0);C(g)})}else C(this);this.u.power||(this.K=!0);!c&&this.K&&Jc(this,this.eb)}else r("Unable to find CPU component")}x(Fc);var Y=0;
|
||||||
function Oc(a,b,c,d,f){if(!b.f.M){b.f.M=!0;if(b.ua){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.ua(e,d)&&e&&(t("Unable to restore state for "+b.type),a.P&&!a.W?(c.clear(),a.b=Y,window&&window.location.reload()):a.V=!0,b.ua(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 Gc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(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 Jc(a,b,c){for(var d=y(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ha(e)){Ha(e,function(){Jc(a,b,c)});return}}b.call(a,c)}
|
||||||
l.Rb=function(a){var b=a[0],c=0>a[1];a=a[2];this.ca=!0;this.f.M=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.a&&(Oc(this,this.a,b,c,a),this.a.Za());this.V&&(Lc(this,b),b.clear());!c&&this.s&&(this.s.clear(),delete this.s);this.h=0};
|
function Kc(a,b){var c=new P(a,"1.30.0","validate");if(Z(c)&&Lc(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.L("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Fc.prototype;
|
||||||
function Lc(a,b){if(ja("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.g||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}}
|
l.eb=function(a){void 0===a&&(a=this.b||(this.B?1:Y));if(!this.h){this.h++;var b=!1,c=!1;this.W=!1;var d=this.F||new P(this,"1.30.0");if(-1==a)b=!0;else if(a>Y){if(Z(d,this.B)){this.l=new P(this,"1.30.0","failsafe");Z(this.l)&&(Mc(this,d),a=2,Nc(this.l));this.l.set("timestamp",ja());Oc(this.l);var f=this.b&&!this.s;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Lc(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Z(d,g):("error"==e&&
|
||||||
function Pc(a,b,c){var d,f="none";if(a.h)return null;a.h--;var e=new Q(a,"1.30.0"),g=new Q(a,"1.30.0","validate"),h=ia();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.ta&&(c&&P(a.a),d=a.a.ta(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.f.M=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;k<h.length;k++){var m=h[k];m.f.M&&(m.ta&&(d=m.ta(b,c),"object"===typeof d&&e.set(m.id,
|
"no machine state"!=g?(this.L("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.J(e+": "+g),Nc(d),Z(d)?(c=Lc(d),f=!0):c=!1))}f&&Kc(this,c?d:null)}else 2==a&&d.clear()}else Kc(this);delete this.B;delete this.F}f=y(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=Pc(this,g,d,b,c));b=[d,a,c];-1!=a?Jc(this,this.Rb,b):this.Rb(b)}};
|
||||||
d)),c&&(m.f.M=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.g&&Qc(a,a.g,e.toString()),Nc(g)&&Nc(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.f.M=!1,b=a.o.power)&&(b.textContent="Power");a.h=0;return f}l.reset=function(){this.j&&this.j.reset&&this.j.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.j&&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)}};
|
function Pc(a,b,c,d,f){if(!b.g.M){b.g.M=!0;if(b.wa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.wa(e,d)&&e&&(r("Unable to restore state for "+b.type),a.N&&!a.X?(c.clear(),a.b=Y,window&&window.location.reload()):a.W=!0,b.wa(null),f=!1)}if(!d&&b.Ib)for(a=b.Ib.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||||
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.Rb=function(a){var b=a[0],c=0>a[1];a=a[2];this.ca=!0;this.g.M=!0;var d=this.u.power;d&&(d.textContent="Shutdown");this.a&&(Pc(this,this.a,b,c,a),this.a.Za());this.W&&(Mc(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.h=0};
|
||||||
l.aa=function(a,b,c){var d=this;switch(b){case "power":return this.o[b]=c,c.onclick=function(){d.h||(d.f.M?Pc(d,!1,!0):Ic(d,d.eb))},!0;case "reset":return this.o[b]=c,c.onclick=function(){if(d.f.M&&!d.h)if(d.b&&!d.A){var a=ja("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Pc(d,a,!0);!a&&d.P?window&&window.location.reload():d.eb(Y)}else d.reset(),d.a&&d.a.Za()},!0;case "save":if(da())c.parentNode.removeChild(c);else return this.o[b]=
|
function Mc(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;q("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
c,c.onclick=function(){var a=Gc(d,!0);if(a){var b=!!(d.b&&!d.A||d.P),c=Pc(d,b);b?Qc(d,a,c):d.L("Resume disabled, machine state not saved")}},!0}return!1};
|
function Qc(a,b,c){var d,f="none";if(a.h)return null;a.h--;var e=new P(a,"1.30.0"),g=new P(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&&O(a.a),d=a.a.va(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.g.M=!1,!1===d&&(f=null)));for(var h=y(a.id),k=0;k<h.length;k++){var m=h[k];m.g.M&&(m.va&&(d=m.va(b,c),"object"===typeof d&&e.set(m.id,
|
||||||
function Gc(a,b){var c=a.g;c||((c=ma("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=Rc(a,c))||a.L("The user ID is invalid.")):b&&a.L("Browser local storage is not available"));return c}
|
d)),c&&(m.g.M=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&Rc(a,a.f,e.toString()),Oc(g)&&Oc(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.g.M=!1,b=a.u.power)&&(b.textContent="Power");a.h=0;return f}l.reset=function(){this.m&&this.m.reset&&this.m.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.m&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||||
function Rc(a,b){a.g=null;b=r(ea()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(na("user",b.data),a.g=b.data)}catch(d){t(d.message+" ("+c+")")}return a.g}function Hc(a){var b=null;a.g&&(b=ea()+"/api/v1/user?req=load&user="+a.g+"&state="+Sc(a,"1.30.0"));return b}
|
l.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||||
function Qc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Sc(a,"1.30.0");d.data=c;b=r(ea()+"/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.L("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.L(c),na("user",""),a.g=null)}}
|
l.aa=function(a,b,c){var d=this;switch(b){case "power":return this.u[b]=c,c.onclick=function(){d.h||(d.g.M?Qc(d,!1,!0):Jc(d,d.eb))},!0;case "reset":return this.u[b]=c,c.onclick=function(){if(d.g.M&&!d.h)if(d.b&&!d.w){var a=ka("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Qc(d,a,!0);!a&&d.N?window&&window.location.reload():d.eb(Y)}else d.reset(),d.a&&d.a.Za()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.u[b]=
|
||||||
l.La=function(a){this.a&&this.a.La(a);this.l&&this.l.La(a)};v(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 Ec(g,d,!0);B(g,e);g.K&&Ic(g,g.eb)}});u.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.ca&&!c.f.M&&c.eb(-1)}});
|
c,c.onclick=function(){var a=Hc(d,!0);if(a){var b=!!(d.b&&!d.w||d.N),c=Qc(d,b);b?Rc(d,a,c):d.L("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
u.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.f.M&&Pc(c,!(!c.b||c.A),!0)}});function Q(a,b,c){this.id=a.id;this.key=Sc(a,b,c);this.G=a.G;Mc(this,a.fc)}function Sc(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}
|
function Hc(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=Sc(a,c))||a.L("The user ID is invalid.")):b&&a.L("Browser local storage is not available"));return c}
|
||||||
Q.prototype={constructor:Q,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){Mc(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 Sc(a,b){a.f=null;b=q(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){r(d.message+" ("+c+")")}return a.f}function Ic(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+Tc(a,"1.30.0"));return b}
|
||||||
1);c=0}}};function Mc(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Nc(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Kc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Z(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.a=!0):!1}var Tc=0;
|
function Rc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Tc(a,"1.30.0");d.data=c;b=q(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.L("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.L(c),oa("user",""),a.f=null)}}
|
||||||
function Uc(a,b,c,d,f,e){f("Loading "+a+"...");r(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):Vc(h,a,b,c,d,f,e)})}
|
l.Ma=function(a){this.a&&this.a.Ma(a);this.i&&this.i.Ma(a)};u(function(){for(var a=B(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=z(e),g=new Fc(g,d,!0);A(g,e);g.K&&Jc(g,g.eb)}});t.show.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Fa("Computer",c.id))&&c.ca&&!c.g.M&&c.eb(-1)}});
|
||||||
function Vc(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Da(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"),
|
t.exit.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Fa("Computer",c.id))&&c.g.M&&Qc(c,!(!c.b||c.w),!0)}});function P(a,b,c){this.id=a.id;this.key=Tc(a,b,c);this.H=a.H;Nc(this,a.gc)}function Tc(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}
|
||||||
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(p){e=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?Wc(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
P.prototype={constructor:P,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){Nc(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 Wc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(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,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.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]*/,
|
1);c=0}}};function Nc(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Oc(a){var b=!0;if(ma()){var c=JSON.stringify(a[a.id]);oa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Lc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){r(c.message||c),b=!1}return b}function Z(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 Uc=0;
|
||||||
"");a=a.replace(d[0],g);Wc(a,b,c)}})}else c(a,null)}
|
function Vc(a,b,c,d,f,e){f("Loading "+a+"...");q(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):Wc(h,a,b,c,d,f,e)})}
|
||||||
function Xc(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=ga(a))}function e(a){f("Error: "+a);k&&(--Tc||ua(!0));k=!1}var g,h,k=!0;Tc++;Ca[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],E=document.createElement("style");E.type="text/css";E.styleSheet?E.styleSheet.cssText=m:E.appendChild(document.createTextNode(m));p.appendChild(E)}c||
|
function Wc(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"),
|
||||||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?Uc(c,null,null,!1,f,function(d,k){k?(Da(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Tc||ua(!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),--Tc||ua(!0)):e("invalid machine element: "+
|
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(p){e=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?Xc(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Uc(b,a,d,!0,f,m):Vc(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(G){e(G.message)}return k}window.embedPDP11=function(a,b,c,d){ua(!1);return Xc(a,b,c,d)};window.enableEvents=ua;window.sendEvent=va;})();
|
function Xc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");q(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,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.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);Xc(a,b,c)}})}else c(a,null)}
|
||||||
|
function Yc(a,b,c,d){function f(a){if(void 0===h){var b=g&&B(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--Uc||va(!0));k=!1}var g,h,k=!0;Uc++;Da[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],F=document.createElement("style");F.type="text/css";F.styleSheet?F.styleSheet.cssText=m:F.appendChild(document.createTextNode(m));p.appendChild(F)}c||
|
||||||
|
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?Vc(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,--Uc||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),--Uc||va(!0)):e("invalid machine element: "+
|
||||||
|
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Vc(b,a,d,!0,f,m):Wc(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(H){e(H.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return Yc(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue