Merge branch 'next-release'
This commit is contained in:
commit
ccac473dec
13 changed files with 847 additions and 672 deletions
|
|
@ -256,7 +256,7 @@ MD-11 11/70 CPU EXERCISER
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
When started in a [PDP-11/70](/devices/pdp11/machine/1170/panel/debugger/cpuexer/) with no disk drives attached,
|
When started in a [PDP-11/70](/devices/pdp11/machine/1170/panel/debugger/cpuexer/) with no disk drives attached,
|
||||||
this diagnostic displays the following startup information:
|
this diagnostic displays the following startup information ("EXERCISOR" is DEC's typo, not mine):
|
||||||
|
|
||||||
MAINDEC-11-DEQKC-B...PDP 11/70 CPU EXERCISOR
|
MAINDEC-11-DEQKC-B...PDP 11/70 CPU EXERCISOR
|
||||||
OPT.CP=145406
|
OPT.CP=145406
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ var l,aa,ba={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],3686
|
||||||
"{":123,"|":124,"}":125,"~":126,Wo:127},ca={};ca[186]=p[";"];ca[187]=p["="];ca[188]=p[","];ca[189]=p["-"];ca[190]=p["."];ca[191]=p["/"];ca[192]=p["`"];ca[219]=p["["];ca[220]=p["\\"];ca[221]=p["]"];ca[222]=p["'"];ca[173]=p["-"];var da={};da[p["1"]]=p["!"];da[p["2"]]=p["@"];da[p["3"]]=p["#"];da[p["4"]]=p.$;da[p["5"]]=p["%"];da[p["6"]]=p["^"];da[p["7"]]=p["&"];da[p["8"]]=p["*"];da[p["9"]]=p["("];da[p["0"]]=p[")"];da[186]=p[":"];da[187]=p["+"];da[188]=p["<"];da[189]=p._;da[190]=p[">"];da[191]=p["?"];
|
"{":123,"|":124,"}":125,"~":126,Wo:127},ca={};ca[186]=p[";"];ca[187]=p["="];ca[188]=p[","];ca[189]=p["-"];ca[190]=p["."];ca[191]=p["/"];ca[192]=p["`"];ca[219]=p["["];ca[220]=p["\\"];ca[221]=p["]"];ca[222]=p["'"];ca[173]=p["-"];var da={};da[p["1"]]=p["!"];da[p["2"]]=p["@"];da[p["3"]]=p["#"];da[p["4"]]=p.$;da[p["5"]]=p["%"];da[p["6"]]=p["^"];da[p["7"]]=p["&"];da[p["8"]]=p["*"];da[p["9"]]=p["("];da[p["0"]]=p[")"];da[186]=p[":"];da[187]=p["+"];da[188]=p["<"];da[189]=p._;da[190]=p[">"];da[191]=p["?"];
|
||||||
da[192]=p["~"];da[219]=p["{"];da[220]=p["|"];da[221]=p["}"];da[222]=p['"'];da[173]=p._;da[61]=p["+"];da[59]=p[":"];
|
da[192]=p["~"];da[219]=p["{"];da[220]=p["|"];da[221]=p["}"];da[222]=p['"'];da[173]=p._;da[61]=p["+"];da[59]=p[":"];
|
||||||
function ea(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(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&&e&&(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 f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
function ea(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(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&&e&&(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 f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
||||||
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function fa(a,b){var c="";b?32<b&&(b=32):b=32;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=(a&1?"1":"0")+c,a>>=1;return c}function ha(a,b,c){var d="";if(!b||4<b)b=4;for(var e=0;e<b;e++)d&&(d=","+d),d=fa(a&255,8)+d,a>>=8;return(c?"0b":"")+d}
|
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function fa(a,b){var c,d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function ha(a,b,c){var d="";if(!b||4<b)b=4;for(var e=0;e<b;e++)d&&(d=","+d),d=fa(a&255,8)+d,a>>=8;return(c?"0b":"")+d}
|
||||||
function ia(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function r(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 e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function u(a){return r(a,2,!0)}function v(a){return r(a,4,!0)}
|
function ia(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function r(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 e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function u(a){return r(a,2,!0)}function v(a){return r(a,4,!0)}
|
||||||
function ja(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ka(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ma(a,b){return-1!==a.indexOf(b,a.length-b.length)}var na={"&":"&","<":"<",">":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})}
|
function ja(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ka(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ma(a,b){return-1!==a.indexOf(b,a.length-b.length)}var na={"&":"&","<":"<",">":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})}
|
||||||
function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
|
function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
|
||||||
|
|
|
||||||
|
|
@ -1221,6 +1221,7 @@ CPUPDP11.prototype.stopCPU = function(fComplete)
|
||||||
this.cmp.stop(usr.getTime(), this.getCycles());
|
this.cmp.stop(usr.getTime(), this.getCycles());
|
||||||
}
|
}
|
||||||
fStopped = true;
|
fStopped = true;
|
||||||
|
if (!this.dbg) this.status("Stopped");
|
||||||
}
|
}
|
||||||
this.flags.complete = fComplete;
|
this.flags.complete = fComplete;
|
||||||
return fStopped;
|
return fStopped;
|
||||||
|
|
|
||||||
|
|
@ -161,8 +161,8 @@ CPUStatePDP11.prototype.initProcessor = function()
|
||||||
* finish()
|
* finish()
|
||||||
*
|
*
|
||||||
* TODO: This function simply ensures that we don't leave any IRQs installed with unresolved floating
|
* TODO: This function simply ensures that we don't leave any IRQs installed with unresolved floating
|
||||||
* (negative) vectors; properly assigning vectors according to device type (ie, auto-configuration) is an
|
* (negative) vectors; however, properly assigning vectors according to device type (ie, auto-configuration)
|
||||||
* exercise left for another day.
|
* is an exercise left for another day.
|
||||||
*
|
*
|
||||||
* @this {CPUStatePDP11}
|
* @this {CPUStatePDP11}
|
||||||
*/
|
*/
|
||||||
|
|
@ -185,7 +185,7 @@ CPUStatePDP11.prototype.finish = function()
|
||||||
*/
|
*/
|
||||||
CPUStatePDP11.prototype.reset = function()
|
CPUStatePDP11.prototype.reset = function()
|
||||||
{
|
{
|
||||||
this.status("model " + this.model);
|
this.status("Model " + this.model);
|
||||||
if (this.flags.running) this.stopCPU();
|
if (this.flags.running) this.stopCPU();
|
||||||
this.initRegs();
|
this.initRegs();
|
||||||
this.resetCycles();
|
this.resetCycles();
|
||||||
|
|
@ -220,8 +220,7 @@ CPUStatePDP11.prototype.initRegs = function()
|
||||||
this.regsAltStack = [ // Alternate R6 stack pointers (KERNEL, SUPER, UNUSED, USER)
|
this.regsAltStack = [ // Alternate R6 stack pointers (KERNEL, SUPER, UNUSED, USER)
|
||||||
0, 0, 0, 0
|
0, 0, 0, 0
|
||||||
];
|
];
|
||||||
this.mmuMode = 0; // current memory management mode (see PDP11.MODE.KERNEL | SUPER | UNUSED | USER)
|
this.pswMode = 0; // current memory management mode (see PDP11.MODE.KERNEL | SUPER | UNUSED | USER)
|
||||||
this.mmuLastPage = 0;
|
|
||||||
this.mapMMR3 = [4,2,0,1]; // map from mode to MMR3 I/D bit
|
this.mapMMR3 = [4,2,0,1]; // map from mode to MMR3 I/D bit
|
||||||
this.mmuPDR = [ // memory management PDR registers by mode
|
this.mmuPDR = [ // memory management PDR registers by mode
|
||||||
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // KERNEL (8 KIPDR regs followed by 8 KDPDR regs)
|
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // KERNEL (8 KIPDR regs followed by 8 KDPDR regs)
|
||||||
|
|
@ -257,8 +256,9 @@ CPUStatePDP11.prototype.initRegs = function()
|
||||||
this.srcMode = this.srcReg = 0;
|
this.srcMode = this.srcReg = 0;
|
||||||
this.dstMode = this.dstReg = this.dstAddr = 0;
|
this.dstMode = this.dstReg = this.dstAddr = 0;
|
||||||
|
|
||||||
this.trapPSW = -1;
|
this.pswTrap = -1;
|
||||||
this.resetMMU();
|
|
||||||
|
this.resetRegs();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -269,25 +269,30 @@ CPUStatePDP11.prototype.initRegs = function()
|
||||||
CPUStatePDP11.prototype.resetCPU = function()
|
CPUStatePDP11.prototype.resetCPU = function()
|
||||||
{
|
{
|
||||||
this.bus.reset();
|
this.bus.reset();
|
||||||
this.resetMMU();
|
this.resetRegs();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* resetMMU()
|
* resetRegs()
|
||||||
|
*
|
||||||
|
* Reset all registers required as part of a RESET instruction.
|
||||||
|
*
|
||||||
|
* TODO: Do we ever need to automatically clear regErr, or is it cleared manually?
|
||||||
*
|
*
|
||||||
* @this {CPUStatePDP11}
|
* @this {CPUStatePDP11}
|
||||||
*/
|
*/
|
||||||
CPUStatePDP11.prototype.resetMMU = function()
|
CPUStatePDP11.prototype.resetRegs = function()
|
||||||
{
|
{
|
||||||
this.regMMR0 = 0; // 177572
|
this.regMMR0 = 0; // 177572
|
||||||
this.regMMR1 = 0; // 177574
|
this.regMMR1 = 0; // 177574
|
||||||
this.regMMR2 = 0; // 177576
|
this.regMMR2 = 0; // 177576
|
||||||
this.regMMR3 = 0; // 172516
|
this.regMMR3 = 0; // 172516
|
||||||
this.regErr = 0; // 177766 TODO: Do we ever need to automatically clear this, or is it manually cleared?
|
this.regErr = 0; // 177766
|
||||||
this.regPIR = 0; // 177772
|
this.regPIR = 0; // 177772
|
||||||
this.regSL = 0xff; // 177774
|
this.regSL = 0xff; // 177774
|
||||||
this.mmuEnable = 0; // MMU enabled for PDP11.ACCESS.READ or PDP11.ACCESS.WRITE
|
this.mmuEnable = 0; // MMU enabled for PDP11.ACCESS.READ or PDP11.ACCESS.WRITE
|
||||||
this.mmuLastMode = 0;
|
this.mmuLastMode = 0;
|
||||||
|
this.mmuLastPage = 0;
|
||||||
this.mmuMask = 0x3ffff;
|
this.mmuMask = 0x3ffff;
|
||||||
|
|
||||||
this.addrLast = 0; // this is queried by the Panel when it's not using its own ADDRESS register
|
this.addrLast = 0; // this is queried by the Panel when it's not using its own ADDRESS register
|
||||||
|
|
@ -317,8 +322,8 @@ CPUStatePDP11.prototype.getMMUState = function()
|
||||||
/**
|
/**
|
||||||
* setMemoryAccess()
|
* setMemoryAccess()
|
||||||
*
|
*
|
||||||
* Define handlers and DSPACE setting appropriate for the current MMU mode, in order to eliminate
|
* Define handlers and DSPACE setting appropriate for the current MMU mode, in order to eliminate unnecessary calls
|
||||||
* unnecessary calls to mapVirtualToPhysical().
|
* to mapVirtualToPhysical().
|
||||||
*
|
*
|
||||||
* TODO: We could further optimize readWord(), splitting it into readWordFromDSpace() and readWordFromISpace(),
|
* TODO: We could further optimize readWord(), splitting it into readWordFromDSpace() and readWordFromISpace(),
|
||||||
* eliminating the need to OR the addrDSpace bit when we know that bit is zero, but that's a pretty tiny optimization.
|
* eliminating the need to OR the addrDSpace bit when we know that bit is zero, but that's a pretty tiny optimization.
|
||||||
|
|
@ -389,14 +394,12 @@ CPUStatePDP11.prototype.setMMR0 = function(newMMR0)
|
||||||
* NOTE: We are not protecting the read-only state of the COMPLETED bit here; that's handled by writeMMR0().
|
* NOTE: We are not protecting the read-only state of the COMPLETED bit here; that's handled by writeMMR0().
|
||||||
*/
|
*/
|
||||||
this.regMMR0 = newMMR0;
|
this.regMMR0 = newMMR0;
|
||||||
this.mmuLastMode = (newMMR0 >> 5) & 3;
|
this.mmuLastMode = (newMMR0 & PDP11.MMR0.MODE) >> PDP11.MMR0.SHIFT.MODE;
|
||||||
this.mmuLastPage = (newMMR0 >> 1) & 0xf;
|
this.mmuLastPage = (newMMR0 & PDP11.MMR0.PAGE) >> PDP11.MMR0.SHIFT.PAGE;
|
||||||
var mmuEnable = 0;
|
var mmuEnable = 0;
|
||||||
if (newMMR0 & 0x101) {
|
if (newMMR0 & (PDP11.MMR0.ENABLED | PDP11.MMR0.MAINT)) {
|
||||||
mmuEnable = PDP11.ACCESS.WRITE;
|
mmuEnable = PDP11.ACCESS.WRITE;
|
||||||
if (newMMR0 & 0x1) {
|
if (newMMR0 & PDP11.MMR0.ENABLED) mmuEnable |= PDP11.ACCESS.READ;
|
||||||
mmuEnable |= PDP11.ACCESS.READ;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (this.mmuEnable != mmuEnable) {
|
if (this.mmuEnable != mmuEnable) {
|
||||||
this.mmuEnable = mmuEnable;
|
this.mmuEnable = mmuEnable;
|
||||||
|
|
@ -528,7 +531,33 @@ CPUStatePDP11.prototype.getChecksum = function()
|
||||||
CPUStatePDP11.prototype.save = function()
|
CPUStatePDP11.prototype.save = function()
|
||||||
{
|
{
|
||||||
var state = new State(this);
|
var state = new State(this);
|
||||||
state.set(0, []);
|
state.set(0, [
|
||||||
|
this.regsGen,
|
||||||
|
this.regsAlt,
|
||||||
|
this.regsAltStack,
|
||||||
|
this.regsUniMap,
|
||||||
|
this.regsControl,
|
||||||
|
this.regErr,
|
||||||
|
this.regMB,
|
||||||
|
this.regPIR,
|
||||||
|
this.regSL,
|
||||||
|
this.getPSW(),
|
||||||
|
this.pswTrap,
|
||||||
|
this.pswMode,
|
||||||
|
this.opFlags,
|
||||||
|
this.regMMR0,
|
||||||
|
this.regMMR1,
|
||||||
|
this.regMMR2,
|
||||||
|
this.regMMR3,
|
||||||
|
this.mmuLastMode,
|
||||||
|
this.mmuLastPage,
|
||||||
|
this.mmuPDR,
|
||||||
|
this.mmuPAR,
|
||||||
|
this.mmuEnable,
|
||||||
|
this.mmuMask,
|
||||||
|
this.addrLast,
|
||||||
|
this.opLast
|
||||||
|
]);
|
||||||
state.set(1, [this.nTotalCycles, this.getSpeed()]);
|
state.set(1, [this.nTotalCycles, this.getSpeed()]);
|
||||||
state.set(2, this.bus.saveMemory());
|
state.set(2, this.bus.saveMemory());
|
||||||
return state.data();
|
return state.data();
|
||||||
|
|
@ -1106,14 +1135,14 @@ CPUStatePDP11.prototype.setPSW = function(newPSW)
|
||||||
this.regsAlt[i] = tmp;
|
this.regsAlt[i] = tmp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.mmuMode = (newPSW >> PDP11.PSW.SHIFT.CMODE) & PDP11.MODE.MASK;
|
this.pswMode = (newPSW >> PDP11.PSW.SHIFT.CMODE) & PDP11.MODE.MASK;
|
||||||
var oldMode = (this.regPSW >> PDP11.PSW.SHIFT.CMODE) & PDP11.MODE.MASK;
|
var oldMode = (this.regPSW >> PDP11.PSW.SHIFT.CMODE) & PDP11.MODE.MASK;
|
||||||
if (this.mmuMode != oldMode) {
|
if (this.pswMode != oldMode) {
|
||||||
/*
|
/*
|
||||||
* Swap stack pointers
|
* Swap stack pointers
|
||||||
*/
|
*/
|
||||||
this.regsAltStack[oldMode] = this.regsGen[6];
|
this.regsAltStack[oldMode] = this.regsGen[6];
|
||||||
this.regsGen[6] = this.regsAltStack[this.mmuMode];
|
this.regsGen[6] = this.regsAltStack[this.pswMode];
|
||||||
}
|
}
|
||||||
this.regPSW = newPSW;
|
this.regPSW = newPSW;
|
||||||
|
|
||||||
|
|
@ -1337,9 +1366,9 @@ CPUStatePDP11.prototype.trap = function(vector, flag, reason)
|
||||||
|
|
||||||
if (this.nDisableTraps) return;
|
if (this.nDisableTraps) return;
|
||||||
|
|
||||||
if (this.trapPSW < 0) {
|
if (this.pswTrap < 0) {
|
||||||
this.trapPSW = this.getPSW();
|
this.pswTrap = this.getPSW();
|
||||||
} else if (!this.mmuMode) {
|
} else if (!this.pswMode) {
|
||||||
reason = PDP11.REASON.RED; // double-fault (nested trap) forces a RED condition
|
reason = PDP11.REASON.RED; // double-fault (nested trap) forces a RED condition
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1374,16 +1403,16 @@ CPUStatePDP11.prototype.trap = function(vector, flag, reason)
|
||||||
/*
|
/*
|
||||||
* Read from kernel D space
|
* Read from kernel D space
|
||||||
*/
|
*/
|
||||||
this.mmuMode = 0;
|
this.pswMode = 0;
|
||||||
var newPC = this.readWord(vector | this.addrDSpace);
|
var newPC = this.readWord(vector | this.addrDSpace);
|
||||||
var newPSW = this.readWord(((vector + 2) & 0xffff) | this.addrDSpace);
|
var newPSW = this.readWord(((vector + 2) & 0xffff) | this.addrDSpace);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set new PSW with previous mode
|
* Set new PSW with previous mode
|
||||||
*/
|
*/
|
||||||
this.setPSW((newPSW & ~PDP11.PSW.PMODE) | ((this.trapPSW >> 2) & PDP11.PSW.PMODE));
|
this.setPSW((newPSW & ~PDP11.PSW.PMODE) | ((this.pswTrap >> 2) & PDP11.PSW.PMODE));
|
||||||
|
|
||||||
this.pushWord(this.trapPSW);
|
this.pushWord(this.pswTrap);
|
||||||
this.pushWord(this.regsGen[7]);
|
this.pushWord(this.regsGen[7]);
|
||||||
this.setPC(newPC);
|
this.setPC(newPC);
|
||||||
}
|
}
|
||||||
|
|
@ -1428,7 +1457,7 @@ CPUStatePDP11.prototype.trap = function(vector, flag, reason)
|
||||||
this.opFlags &= ~(flag | PDP11.OPFLAG.TRAP_TF | PDP11.OPFLAG.IRQ_MASK);
|
this.opFlags &= ~(flag | PDP11.OPFLAG.TRAP_TF | PDP11.OPFLAG.IRQ_MASK);
|
||||||
this.opFlags |= PDP11.OPFLAG.IRQ_DELAY | PDP11.OPFLAG.TRAP_LAST;
|
this.opFlags |= PDP11.OPFLAG.IRQ_DELAY | PDP11.OPFLAG.TRAP_LAST;
|
||||||
|
|
||||||
this.trapPSW = -1; // reset flag that we have a trap within a trap
|
this.pswTrap = -1; // reset flag that we have a trap within a trap
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These next properties (in conjunction with setting PDP11.OPFLAG.TRAP_LAST) are purely an aid for the Debugger;
|
* These next properties (in conjunction with setting PDP11.OPFLAG.TRAP_LAST) are purely an aid for the Debugger;
|
||||||
|
|
@ -1539,55 +1568,88 @@ CPUStatePDP11.prototype.mapUnibus = function(addr)
|
||||||
return addr;
|
return addr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* getAddrInfo(addrVirtual)
|
||||||
|
*
|
||||||
|
* @this {CPUStatePDP11}
|
||||||
|
* @param {number} addrVirtual
|
||||||
|
* @return {Array}
|
||||||
|
*/
|
||||||
|
CPUStatePDP11.prototype.getAddrInfo = function(addrVirtual)
|
||||||
|
{
|
||||||
|
var addr;
|
||||||
|
var a = [];
|
||||||
|
|
||||||
|
if (!this.mmuEnable) {
|
||||||
|
addr = addrVirtual & 0xffff;
|
||||||
|
if (addr >= BusPDP11.IOPAGE_16BIT) addr |= this.addrIOPage;
|
||||||
|
a.push(addr);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var mode = this.pswMode << 1;
|
||||||
|
var page = addrVirtual >> 13;
|
||||||
|
if (page > 7) mode |= 1;
|
||||||
|
if (!(this.regMMR3 & this.mapMMR3[this.pswMode])) page &= 7;
|
||||||
|
var pdr = this.mmuPDR[this.pswMode][page];
|
||||||
|
var off = addrVirtual & 0x1fff;
|
||||||
|
var paf = (this.mmuPAR[this.pswMode][page] << 6);
|
||||||
|
addr = (paf + off) & this.mmuMask;
|
||||||
|
if (addr >= BusPDP11.UNIBUS_22BIT) addr = this.mapUnibus(addr);
|
||||||
|
a.push(addr); // a[0]
|
||||||
|
a.push(off); // a[1]
|
||||||
|
a.push(mode); // a[2] (0=KI, 1=KD, 2=SI, 3=SD, 4=??, 5=??, 6=UI, 7=UD)
|
||||||
|
a.push(page & 7); // a[3]
|
||||||
|
a.push(paf); // a[4]
|
||||||
|
a.push(this.mmuMask); // a[5]
|
||||||
|
}
|
||||||
|
return a;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* mapVirtualToPhysical(addrVirtual, access)
|
* mapVirtualToPhysical(addrVirtual, access)
|
||||||
*
|
*
|
||||||
* mapVirtualToPhysical() does memory management. It converts a 17-bit I/D virtual address to a
|
* mapVirtualToPhysical() does memory management. It converts a 17-bit I/D virtual address to a
|
||||||
* 22-bit physical address. A real PDP 11/70 memory management unit can be enabled separately
|
* 22-bit physical address. A real PDP 11/70 memory management unit can be enabled separately for
|
||||||
* for read and write for diagnostic purposes. This is handled here by having an enable mask
|
* read and write for diagnostic purposes. This is handled here by having an enable mask (mmuEnable)
|
||||||
* (mmuEnable) which is tested against the operation access mask (access). If there is no
|
* which is tested against the operation access mask (access). If there is no match, then the virtual
|
||||||
* match, then the virtual address is simply mapped as a 16 bit physical address with the upper
|
* address is simply mapped as a 16 bit physical address with the upper page going to the IO address
|
||||||
* page going to the IO address space. Significant access mask values used are PDP11.ACCESS.READ
|
* space. Significant access mask values used are PDP11.ACCESS.READ and PDP11.ACCESS.WRITE.
|
||||||
* and PDP11.ACCESS.WRITE.
|
|
||||||
*
|
*
|
||||||
* As an aside it turns out that it is the memory management unit that does odd address and
|
* When doing mapping, pswMode is used to decide what address space is to be used (0 = kernel,
|
||||||
* non-existent memory trapping: who knew? :-) I thought these would have been handled at
|
* 1 = supervisor, 2 = illegal, 3 = user). Normally, pswMode is set by the setPSW() function, but
|
||||||
* access time.
|
* there are exceptions for instructions which move data between address spaces (MFPD, MFPI, MTPD,
|
||||||
*
|
* and MTPI) and trap(). These will modify pswMode outside of setPSW() and then restore it again if
|
||||||
* When doing mapping, mmuMode is used to decide what address space is to be used (0 = kernel,
|
* all worked. If however something happens to cause a trap then no restore is done as setPSW()
|
||||||
* 1 = supervisor, 2 = illegal, 3 = user). Normally, mmuMode is set by the setPSW() function,
|
* will have been invoked as part of the trap, which will resynchronize pswMode.
|
||||||
* but there are exceptions for instructions which move data between address spaces (MFPD, MFPI,
|
|
||||||
* MTPD, and MTPI) and trap(). These will modify mmuMode outside of setPSW() and then restore
|
|
||||||
* it again if all worked. If however something happens to cause a trap then no restore is
|
|
||||||
* done as setPSW() will have been invoked as part of the trap, which will resynchronize mmuMode.
|
|
||||||
*
|
*
|
||||||
* A PDP-11/70 is different from other PDP-11s in that the highest 18 bit space (017000000 & above)
|
* A PDP-11/70 is different from other PDP-11s in that the highest 18 bit space (017000000 & above)
|
||||||
* maps directly to UNIBUS space - including low memory. This doesn't appear to be particularly
|
* maps directly to UNIBUS space - including low memory. This doesn't appear to be particularly useful
|
||||||
* useful as it restricts maximum system memory - although it does appear to allow software
|
* as it restricts maximum system memory - although it does appear to allow software testing of the
|
||||||
* testing of the UNIBUS map. This feature also appears to confuse some OSes which test consecutive
|
* UNIBUS map. This feature also appears to confuse some OSes which test consecutive memory locations
|
||||||
* memory locations to find maximum memory -- and on a full memory system find themselves accessing
|
* to find maximum memory -- and on a full memory system find themselves accessing low memory again at
|
||||||
* low memory again at high addresses.
|
* high addresses.
|
||||||
*
|
*
|
||||||
* Construction of a Physical Address
|
* Construction of a Physical Address
|
||||||
* ----------------------------------
|
* ----------------------------------
|
||||||
*
|
*
|
||||||
* Virtual Addr (VA) 12 11 10 9 8 7 6 5 4 3 2 1 0
|
* Virtual Addr (VA) 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||||
* Page Addr Field (PAF) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
* + Page Addr Field (PAF) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||||
* + -----------------------------------------------------------------
|
* -----------------------------------------------------------------
|
||||||
* Physical Addr (PA) 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
* = Physical Addr (PA) 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||||
*
|
*
|
||||||
* The Page Address Field (PAF) comes from a Page Address Register (PAR) that is selected by Virtual Address (VA)
|
* The Page Address Field (PAF) comes from a Page Address Register (PAR) that is selected by Virtual
|
||||||
* bits 15-13. You can see from the above alignments that the VA contributes to the low 13 bits, providing an 8Kb
|
* Address (VA) bits 15-13. You can see from the above alignments that the VA contributes to the low
|
||||||
* range.
|
* 13 bits, providing an 8Kb range.
|
||||||
*
|
*
|
||||||
* VA bits 0-5 pass directly through to the PA; those are also called the DIB (Displacement in Block) bits.
|
* VA bits 0-5 pass directly through to the PA; those are also called the DIB (Displacement in Block) bits.
|
||||||
* VA bits 6-12 are added to the low 7 bits of the PAF and are also called the BN (Block Number) bits.
|
* VA bits 6-12 are added to the low 7 bits of the PAF and are also called the BN (Block Number) bits.
|
||||||
*
|
*
|
||||||
* You can also think of the entire PAF as a block number, where each block is 64 bytes. This is consistent with
|
* You can also think of the entire PAF as a block number, where each block is 64 bytes. This is consistent
|
||||||
* the LSIZE register at 177760, which is supposed to contain the number of 64-byte blocks of memory installed.
|
* with the LSIZE register at 177760, which is supposed to contain the block number of the last 64-byte block
|
||||||
|
* of memory installed.
|
||||||
*
|
*
|
||||||
* Note that if a PAR is initialized to zero, successively adding 0200 (0x80) to the PAR will advance the base
|
* Note that if a PAR is initialized to zero, successively adding 0200 (0x80) to the PAR will advance the
|
||||||
* physical address to the next 8Kb page.
|
* base physical address to the next 8Kb page.
|
||||||
*
|
*
|
||||||
* @this {CPUStatePDP11}
|
* @this {CPUStatePDP11}
|
||||||
* @param {number} addrVirtual
|
* @param {number} addrVirtual
|
||||||
|
|
@ -1599,7 +1661,7 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(addrVirtual, access)
|
||||||
var page, pdr, addr;
|
var page, pdr, addr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This can happen when the DSTMODE (MAINT) bit of MMR0 is set but not the ENABLED bit.
|
* This can happen when the MAINT bit of MMR0 is set but not the ENABLED bit.
|
||||||
*/
|
*/
|
||||||
if (!(access & this.mmuEnable)) {
|
if (!(access & this.mmuEnable)) {
|
||||||
addr = addrVirtual & 0xffff;
|
addr = addrVirtual & 0xffff;
|
||||||
|
|
@ -1608,17 +1670,17 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(addrVirtual, access)
|
||||||
}
|
}
|
||||||
|
|
||||||
page = addrVirtual >> 13;
|
page = addrVirtual >> 13;
|
||||||
if (!(this.regMMR3 & this.mapMMR3[this.mmuMode])) page &= 7;
|
if (!(this.regMMR3 & this.mapMMR3[this.pswMode])) page &= 7;
|
||||||
pdr = this.mmuPDR[this.mmuMode][page];
|
pdr = this.mmuPDR[this.pswMode][page];
|
||||||
addr = ((this.mmuPAR[this.mmuMode][page] << 6) + (addrVirtual & 0x1fff)) & this.mmuMask;
|
addr = ((this.mmuPAR[this.pswMode][page] << 6) + (addrVirtual & 0x1fff)) & this.mmuMask;
|
||||||
|
|
||||||
if (addr >= BusPDP11.UNIBUS_22BIT) addr = this.mapUnibus(addr);
|
if (addr >= BusPDP11.UNIBUS_22BIT) addr = this.mapUnibus(addr);
|
||||||
|
|
||||||
if (this.nDisableTraps) return addr;
|
if (this.nDisableTraps) return addr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TEST #122 ("KT BEND") in the "EKBEE1" diagnostic (PC 076060) triggers a NOMEMORY error
|
* TEST #122 ("KT BEND") in the "EKBEE1" diagnostic (PC 076060) triggers a NOMEMORY error using
|
||||||
* using this instruction:
|
* this instruction:
|
||||||
*
|
*
|
||||||
* 076170: 005037 140100 CLR @#140100
|
* 076170: 005037 140100 CLR @#140100
|
||||||
*
|
*
|
||||||
|
|
@ -1626,7 +1688,14 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(addrVirtual, access)
|
||||||
*
|
*
|
||||||
* 076356: 005037 140001 CLR @#140001
|
* 076356: 005037 140001 CLR @#140001
|
||||||
*
|
*
|
||||||
* These tests exercise the MMU checks that Paul mentions in the function description above.
|
* @paulnank: So it turns out that the memory management unit that does odd address and non-existent
|
||||||
|
* memory trapping: who knew? :-) I thought these would have been handled at access time.
|
||||||
|
*
|
||||||
|
* @jeffpar: We're assuming, at least, that the MMU does its "NEXM" (NOMEMORY) non-existent memory test
|
||||||
|
* very simplistically, by range-checking the address against something like the memory SIZE registers,
|
||||||
|
* because otherwise the MMU would have to wait for a bus time-out: something so prohibitively expensive
|
||||||
|
* that the MMU could not afford to do it. I rely on addrInvalid, which is derived from the same Bus
|
||||||
|
* getMemoryLimit() service that the SIZE registers (177760--177762) use to derive their value.
|
||||||
*/
|
*/
|
||||||
if (addr >= this.addrInvalid && addr < this.addrIOPage) {
|
if (addr >= this.addrInvalid && addr < this.addrIOPage) {
|
||||||
this.regErr |= PDP11.CPUERR.NOMEMORY;
|
this.regErr |= PDP11.CPUERR.NOMEMORY;
|
||||||
|
|
@ -1692,16 +1761,15 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(addrVirtual, access)
|
||||||
/*
|
/*
|
||||||
* Aborts and traps: log FIRST trap and MOST RECENT abort
|
* Aborts and traps: log FIRST trap and MOST RECENT abort
|
||||||
*/
|
*/
|
||||||
|
this.mmuPDR[this.pswMode][page] = pdr;
|
||||||
this.mmuPDR[this.mmuMode][page] = pdr;
|
if (addr != ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.MMR0) & this.mmuMask) || this.pswMode) {
|
||||||
if (addr != ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.MMR0) & this.mmuMask) || this.mmuMode) {
|
this.mmuLastMode = this.pswMode;
|
||||||
this.mmuLastMode = this.mmuMode;
|
|
||||||
this.mmuLastPage = page;
|
this.mmuLastPage = page;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newMMR0) {
|
if (newMMR0) {
|
||||||
if (newMMR0 & PDP11.MMR0.ABORT) {
|
if (newMMR0 & PDP11.MMR0.ABORT) {
|
||||||
if (this.trapPSW >= 0) {
|
if (this.pswTrap >= 0) {
|
||||||
newMMR0 |= PDP11.MMR0.COMPLETED;
|
newMMR0 |= PDP11.MMR0.COMPLETED;
|
||||||
}
|
}
|
||||||
if (!(this.regMMR0 & PDP11.MMR0.ABORT)) {
|
if (!(this.regMMR0 & PDP11.MMR0.ABORT)) {
|
||||||
|
|
@ -1710,9 +1778,13 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(addrVirtual, access)
|
||||||
this.setMMR0((this.regMMR0 & ~PDP11.MMR0.UPDATE) | (newMMR0 & PDP11.MMR0.UPDATE));
|
this.setMMR0((this.regMMR0 & ~PDP11.MMR0.UPDATE) | (newMMR0 & PDP11.MMR0.UPDATE));
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* TODO: In unusual circumstances, if regMMR0 already indicated an ABORT condition above,
|
* NOTE: In unusual circumstances, if regMMR0 already indicated an ABORT condition above,
|
||||||
* we run the risk of infinitely looping; eg, we call trap(), which calls mapVirtualToPhysical()
|
* we run the risk of infinitely looping; eg, we call trap(), which calls mapVirtualToPhysical()
|
||||||
* on the trap vector, which faults again, etc. We should add some safeguards against that.
|
* on the trap vector, which faults again, etc.
|
||||||
|
*
|
||||||
|
* TODO: Determine what a real PDP-11 does in that situation; in our case, trap() deals with it
|
||||||
|
* by checking an internal OPFLAG (TRAP_RED) and turning the next trap into a PANIC, triggering an
|
||||||
|
* immediate HALT.
|
||||||
*/
|
*/
|
||||||
this.trap(PDP11.TRAP.MMU, PDP11.OPFLAG.TRAP_MMU, PDP11.REASON.ABORT);
|
this.trap(PDP11.TRAP.MMU, PDP11.OPFLAG.TRAP_MMU, PDP11.REASON.ABORT);
|
||||||
}
|
}
|
||||||
|
|
@ -1723,9 +1795,7 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(addrVirtual, access)
|
||||||
if (addr < ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.SIPDR0) & this.mmuMask) ||
|
if (addr < ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.SIPDR0) & this.mmuMask) ||
|
||||||
addr > ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.UDPAR7 | 0x1) & this.mmuMask)) {
|
addr > ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.UDPAR7 | 0x1) & this.mmuMask)) {
|
||||||
this.regMMR0 |= PDP11.MMR0.TRAP_MMU;
|
this.regMMR0 |= PDP11.MMR0.TRAP_MMU;
|
||||||
if (this.regMMR0 & PDP11.MMR0.MMU_TRAPS) {
|
if (this.regMMR0 & PDP11.MMR0.MMU_TRAPS) this.opFlags |= PDP11.OPFLAG.TRAP_MMU;
|
||||||
this.opFlags |= PDP11.OPFLAG.TRAP_MMU;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1958,7 +2028,7 @@ CPUStatePDP11.prototype.checkStackLimit1120 = function(access, step, addr)
|
||||||
*
|
*
|
||||||
* so if the step parameter is positive, we let it go.
|
* so if the step parameter is positive, we let it go.
|
||||||
*/
|
*/
|
||||||
if (!this.mmuMode && step <= 0 && addr <= this.regSL) {
|
if (!this.pswMode && step <= 0 && addr <= this.regSL) {
|
||||||
/*
|
/*
|
||||||
* On older machines (eg, the PDP-11/20), there is no "YELLOW" and "RED" distinction, and the
|
* On older machines (eg, the PDP-11/20), there is no "YELLOW" and "RED" distinction, and the
|
||||||
* instruction is always allowed to complete, so the trap must always be issued in this fashion.
|
* instruction is always allowed to complete, so the trap must always be issued in this fashion.
|
||||||
|
|
@ -1977,7 +2047,7 @@ CPUStatePDP11.prototype.checkStackLimit1120 = function(access, step, addr)
|
||||||
*/
|
*/
|
||||||
CPUStatePDP11.prototype.checkStackLimit1145 = function(access, step, addr)
|
CPUStatePDP11.prototype.checkStackLimit1145 = function(access, step, addr)
|
||||||
{
|
{
|
||||||
if (!this.mmuMode) {
|
if (!this.pswMode) {
|
||||||
/*
|
/*
|
||||||
* NOTE: The 11/70 CPU Instruction Exerciser does NOT expect reads to trigger a stack overflow,
|
* NOTE: The 11/70 CPU Instruction Exerciser does NOT expect reads to trigger a stack overflow,
|
||||||
* so we check the access parameter.
|
* so we check the access parameter.
|
||||||
|
|
@ -2191,9 +2261,9 @@ CPUStatePDP11.prototype.readWordFromPrevSpace = function(opCode, access)
|
||||||
if (!(access & PDP11.ACCESS.DSPACE)) {
|
if (!(access & PDP11.ACCESS.DSPACE)) {
|
||||||
if ((this.regPSW & 0xf000) !== 0xf000) addr &= 0xffff;
|
if ((this.regPSW & 0xf000) !== 0xf000) addr &= 0xffff;
|
||||||
}
|
}
|
||||||
this.mmuMode = (this.regPSW >> 12) & 3;
|
this.pswMode = (this.regPSW >> 12) & 3;
|
||||||
data = this.readWord(addr | (access & this.addrDSpace));
|
data = this.readWord(addr | (access & this.addrDSpace));
|
||||||
this.mmuMode = (this.regPSW >> 14) & 3;
|
this.pswMode = (this.regPSW >> 14) & 3;
|
||||||
}
|
}
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
@ -2221,14 +2291,14 @@ CPUStatePDP11.prototype.writeWordToPrevSpace = function(opCode, access, data)
|
||||||
var addr = this.getAddrByMode(mode, reg, PDP11.ACCESS.WRITE_WORD);
|
var addr = this.getAddrByMode(mode, reg, PDP11.ACCESS.WRITE_WORD);
|
||||||
if (!(access & PDP11.ACCESS.DSPACE)) addr &= 0xffff;
|
if (!(access & PDP11.ACCESS.DSPACE)) addr &= 0xffff;
|
||||||
/*
|
/*
|
||||||
* TODO: Consider replacing the following code with writeWord(), by adding optional mmuMode
|
* TODO: Consider replacing the following code with writeWord(), by adding optional pswMode
|
||||||
* parameters for each of the discrete mapVirtualToPhysical() and bus.setWord() operations, because
|
* parameters for each of the discrete mapVirtualToPhysical() and bus.setWord() operations, because
|
||||||
* as it stands, this is the only remaining call to mapVirtualToPhysical() outside of our
|
* as it stands, this is the only remaining call to mapVirtualToPhysical() outside of our
|
||||||
* setMemoryAccess() handlers.
|
* setMemoryAccess() handlers.
|
||||||
*/
|
*/
|
||||||
this.mmuMode = (this.regPSW >> 12) & 3;
|
this.pswMode = (this.regPSW >> 12) & 3;
|
||||||
addr = this.mapVirtualToPhysical(addr | (access & PDP11.ACCESS.DSPACE), PDP11.ACCESS.WRITE);
|
addr = this.mapVirtualToPhysical(addr | (access & PDP11.ACCESS.DSPACE), PDP11.ACCESS.WRITE);
|
||||||
this.mmuMode = (this.regPSW >> 14) & 3;
|
this.pswMode = (this.regPSW >> 14) & 3;
|
||||||
this.bus.setWord(addr, data);
|
this.bus.setWord(addr, data);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -294,6 +294,8 @@ if (DEBUGGER) {
|
||||||
"SR": DebuggerPDP11.REG_SR
|
"SR": DebuggerPDP11.REG_SR
|
||||||
};
|
};
|
||||||
|
|
||||||
|
DebuggerPDP11.MODES = ["KI","KD","SI","SD","??","??","UI","UD"];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Operand type masks; anything that's not covered by OP_SRC or OP_DST must be a OP_OTHER value.
|
* Operand type masks; anything that's not covered by OP_SRC or OP_DST must be a OP_OTHER value.
|
||||||
*/
|
*/
|
||||||
|
|
@ -3013,6 +3015,7 @@ if (DEBUGGER) {
|
||||||
}
|
}
|
||||||
sDumpers += ",state,symbols";
|
sDumpers += ",state,symbols";
|
||||||
this.println("dump memory commands:");
|
this.println("dump memory commands:");
|
||||||
|
this.println("\tda [a] dump info for address a");
|
||||||
this.println("\tdb [a] [n] dump n bytes at address a");
|
this.println("\tdb [a] [n] dump n bytes at address a");
|
||||||
this.println("\tdw [a] [n] dump n words at address a");
|
this.println("\tdw [a] [n] dump n words at address a");
|
||||||
this.println("\tdd [a] [n] dump n dwords at address a");
|
this.println("\tdd [a] [n] dump n dwords at address a");
|
||||||
|
|
@ -3077,6 +3080,27 @@ if (DEBUGGER) {
|
||||||
var dbgAddr = this.parseAddr(sAddr);
|
var dbgAddr = this.parseAddr(sAddr);
|
||||||
if (!dbgAddr) return;
|
if (!dbgAddr) return;
|
||||||
|
|
||||||
|
if (sCmd == "da") {
|
||||||
|
/*
|
||||||
|
* Sample output ("da 23042"):
|
||||||
|
*
|
||||||
|
* 00,010,011,000,100,010 00000023042
|
||||||
|
* 0,011,000,100,010 00000003042
|
||||||
|
* + KIPAR[1]: 0,000,001,101,111,010,000,000 00000157200
|
||||||
|
* & MMU MASK: 1,111,111,111,111,111,111,111 00017777777
|
||||||
|
* = PHYSICAL: 0,000,001,110,010,010,100,010 00000162242
|
||||||
|
*/
|
||||||
|
var a = this.cpu.getAddrInfo(dbgAddr.addr);
|
||||||
|
this.println(str.pad("", 19) + str.toBin(dbgAddr.addr, 17, 3) + " " + str.toOct(dbgAddr.addr, 8));
|
||||||
|
if (a.length > 1) {
|
||||||
|
this.println(str.pad("", 24) + str.toBin(a[1], 13, 3) + " " + str.toOct(a[1], 8));
|
||||||
|
this.println("+ " + DebuggerPDP11.MODES[a[2]] + "PAR[" + a[3] + "]: " + str.toBin(a[4], 22, 3) + " " + str.toOct(a[4], 8));
|
||||||
|
this.println("& MMU MASK: " + str.toBin(a[5], 22, 3) + " " + str.toOct(a[5], 8));
|
||||||
|
this.println("= PHYSICAL: " + str.toBin(a[0], 22, 3) + " " + str.toOct(a[0], 8))
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var len = 0; // 0 is not a default; it triggers the appropriate default below
|
var len = 0; // 0 is not a default; it triggers the appropriate default below
|
||||||
var fRange = false;
|
var fRange = false;
|
||||||
var fJSON = (sCmd == "ds");
|
var fJSON = (sCmd == "ds");
|
||||||
|
|
|
||||||
|
|
@ -349,7 +349,7 @@ var PDP11 = {
|
||||||
PAGE: 0x001E, // 000176 (all of the PAGE bits)
|
PAGE: 0x001E, // 000176 (all of the PAGE bits)
|
||||||
MODE: 0x0060, // 000140 processor mode as of last fault
|
MODE: 0x0060, // 000140 processor mode as of last fault
|
||||||
COMPLETED: 0x0080, // 000200 last instruction completed (R/O) (11/70 only)
|
COMPLETED: 0x0080, // 000200 last instruction completed (R/O) (11/70 only)
|
||||||
DSTMODE: 0x0100, // 000400 only destination mode references will be relocated (aka MAINT bit)
|
MAINT: 0x0100, // 000400 only destination mode references will be relocated
|
||||||
MMU_TRAPS: 0x0200, // 001000 enable MMU traps (11/70 only)
|
MMU_TRAPS: 0x0200, // 001000 enable MMU traps (11/70 only)
|
||||||
UNUSED: 0x0C00, // 006000
|
UNUSED: 0x0C00, // 006000
|
||||||
TRAP_MMU: 0x1000, // 010000 trap: MMU (11/70 only)
|
TRAP_MMU: 0x1000, // 010000 trap: MMU (11/70 only)
|
||||||
|
|
@ -357,7 +357,11 @@ var PDP11 = {
|
||||||
ABORT_PL: 0x4000, // 040000 abort: page length
|
ABORT_PL: 0x4000, // 040000 abort: page length
|
||||||
ABORT_NR: 0x8000, // 100000 abort: non-resident
|
ABORT_NR: 0x8000, // 100000 abort: non-resident
|
||||||
ABORT: 0xE000, // 160000 (all of the ABORT bits)
|
ABORT: 0xE000, // 160000 (all of the ABORT bits)
|
||||||
UPDATE: 0xF0FE // Includes all of: ABORT, TRAP, COMPLETED, MODE, and PAGE bits
|
UPDATE: 0xF0FE, // Includes all of: ABORT, TRAP, COMPLETED, MODE, and PAGE bits
|
||||||
|
SHIFT: {
|
||||||
|
PAGE: 1,
|
||||||
|
MODE: 5
|
||||||
|
}
|
||||||
},
|
},
|
||||||
MMR1: { // 177574: general purpose auto-inc/auto-dec register (11/44 and 11/70 only)
|
MMR1: { // 177574: general purpose auto-inc/auto-dec register (11/44 and 11/70 only)
|
||||||
REG1_NUM: 0x0007, //
|
REG1_NUM: 0x0007, //
|
||||||
|
|
@ -743,15 +747,15 @@ var PDP11 = {
|
||||||
DS: 13
|
DS: 13
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
FUNC: { // NOTE: These function codes are pre-shifted to read/write directly from/to RKCS.FUNC
|
FUNC: {
|
||||||
CRESET: 0b0000, // Controller Reset
|
CRESET: 0b000, // Controller Reset
|
||||||
WRITE: 0b0010, // Write
|
WRITE: 0b001, // Write
|
||||||
READ: 0b0100, // Read
|
READ: 0b010, // Read
|
||||||
WCHK: 0b0110, // Write Check
|
WCHK: 0b011, // Write Check
|
||||||
SEEK: 0b1000, // Seek
|
SEEK: 0b100, // Seek
|
||||||
RCHK: 0b1010, // Read Check
|
RCHK: 0b101, // Read Check
|
||||||
DRESET: 0b1100, // Drive Reset
|
DRESET: 0b110, // Drive Reset
|
||||||
WLOCK: 0b1110 // Write Lock
|
WLOCK: 0b111 // Write Lock
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
RL11: { // RL11 Disk Controller
|
RL11: { // RL11 Disk Controller
|
||||||
|
|
|
||||||
|
|
@ -125,6 +125,9 @@ DevicePDP11.prototype.dumpMMU = function(asArgs)
|
||||||
this.dumpRegs("UDPDR", cpu.mmuPDR[3], 8, asArgs[0]);
|
this.dumpRegs("UDPDR", cpu.mmuPDR[3], 8, asArgs[0]);
|
||||||
this.dumpRegs("UIPAR", cpu.mmuPAR[3], 0, asArgs[0]);
|
this.dumpRegs("UIPAR", cpu.mmuPAR[3], 0, asArgs[0]);
|
||||||
this.dumpRegs("UDPAR", cpu.mmuPAR[3], 8, asArgs[0], true);
|
this.dumpRegs("UDPAR", cpu.mmuPAR[3], 8, asArgs[0], true);
|
||||||
|
if (cpu.regMMR3 & PDP11.MMR3.UNIBUS_MAP) {
|
||||||
|
this.dumpRegs("UNIMAP", cpu.regsUniMap, -1, asArgs[0]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -143,9 +146,24 @@ DevicePDP11.prototype.dumpRegs = function(sName, aRegs, offset, sFilter, fBreak)
|
||||||
if (DEBUGGER) {
|
if (DEBUGGER) {
|
||||||
var dbg = this.dbg;
|
var dbg = this.dbg;
|
||||||
if (sFilter && sName.indexOf(sFilter.toUpperCase()) < 0) return;
|
if (sFilter && sName.indexOf(sFilter.toUpperCase()) < 0) return;
|
||||||
var sDump = sName + ":";
|
var nRegs = 8;
|
||||||
for (var i = 0; i < 8; i++) {
|
var sDump = "";
|
||||||
sDump += ' ' + dbg.toStrBase(aRegs[offset + i]);
|
var fIndex = false;
|
||||||
|
var nBytes = 0;
|
||||||
|
var nWidth = 8;
|
||||||
|
if (offset < 0) {
|
||||||
|
nRegs = aRegs.length;
|
||||||
|
offset = 0;
|
||||||
|
fIndex = true;
|
||||||
|
nBytes = 4;
|
||||||
|
nWidth = 4;
|
||||||
|
}
|
||||||
|
for (var i = 0; i < nRegs; i++) {
|
||||||
|
if (i % nWidth == 0) {
|
||||||
|
if (sDump) sDump += '\n';
|
||||||
|
sDump += sName + (fIndex? ('[' + str.toOct(i, 2) + ']') : '') + ':';
|
||||||
|
}
|
||||||
|
sDump += ' ' + dbg.toStrBase(aRegs[offset + i], nBytes);
|
||||||
}
|
}
|
||||||
dbg.println(sDump + (fBreak? '\n' : ''));
|
dbg.println(sDump + (fBreak? '\n' : ''));
|
||||||
}
|
}
|
||||||
|
|
@ -292,7 +310,7 @@ DevicePDP11.prototype.writeMMR3 = function(data, addr)
|
||||||
/**
|
/**
|
||||||
* readUNIMAP(addr)
|
* readUNIMAP(addr)
|
||||||
*
|
*
|
||||||
* NOTE: The UNIBUS map is 32 registers spread across 64 words, so we first calculate the word index.
|
* NOTE: The UNIBUS map ("UNIMAP") is 32 registers spread across 64 words, so we first calculate the word index.
|
||||||
*
|
*
|
||||||
* @this {DevicePDP11}
|
* @this {DevicePDP11}
|
||||||
* @param {number} addr (eg, PDP11.UNIBUS.UNIMAP)
|
* @param {number} addr (eg, PDP11.UNIBUS.UNIMAP)
|
||||||
|
|
@ -308,7 +326,7 @@ DevicePDP11.prototype.readUNIMAP = function(addr)
|
||||||
/**
|
/**
|
||||||
* writeUNIMAP(data, addr)
|
* writeUNIMAP(data, addr)
|
||||||
*
|
*
|
||||||
* NOTE: The UNIBUS map is 32 registers spread across 64 words, so we first calculate the word index.
|
* NOTE: The UNIBUS map ("UNIMAP") is 32 registers spread across 64 words, so we first calculate the word index.
|
||||||
*
|
*
|
||||||
* @this {DevicePDP11}
|
* @this {DevicePDP11}
|
||||||
* @param {number} data
|
* @param {number} data
|
||||||
|
|
|
||||||
|
|
@ -887,7 +887,7 @@ RK11.prototype.initDrive = function(drive, iDrive, data)
|
||||||
|
|
||||||
if (!drive.disk) drive.sDiskPath = ""; // ensure this is initialized to a default that displayDisk() can deal with
|
if (!drive.disk) drive.sDiskPath = ""; // ensure this is initialized to a default that displayDisk() can deal with
|
||||||
|
|
||||||
drive.status = PDP11.RK11.RKDS.RK05 | PDP11.RK11.RKDS.SOK | PDP11.RK11.RKDS.DRDY | PDP11.RK11.RKDS.RRDY;
|
drive.status = PDP11.RK11.RKDS.RK05 | PDP11.RK11.RKDS.SOK | PDP11.RK11.RKDS.RRDY;
|
||||||
|
|
||||||
return fSuccess;
|
return fSuccess;
|
||||||
};
|
};
|
||||||
|
|
@ -899,32 +899,59 @@ RK11.prototype.initDrive = function(drive, iDrive, data)
|
||||||
*/
|
*/
|
||||||
RK11.prototype.processCommand = function()
|
RK11.prototype.processCommand = function()
|
||||||
{
|
{
|
||||||
var fnReadWrite;
|
|
||||||
var fInterrupt = true;
|
var fInterrupt = true;
|
||||||
|
var fnReadWrite, sFunc = "";
|
||||||
var iDrive = (this.regRKDA & PDP11.RK11.RKDA.DS) >> PDP11.RK11.RKDA.SHIFT.DS;
|
var iDrive = (this.regRKDA & PDP11.RK11.RKDA.DS) >> PDP11.RK11.RKDA.SHIFT.DS;
|
||||||
var drive = this.aDrives[iDrive];
|
var drive = this.aDrives[iDrive];
|
||||||
var iCylinder, iHead, iSector, nWords, addr;
|
var iCylinder, iHead, iSector, nWords, addr;
|
||||||
|
|
||||||
this.regRKCS &= ~PDP11.RK11.RKCS.CRDY;
|
this.regRKCS &= ~PDP11.RK11.RKCS.CRDY;
|
||||||
|
var func = (this.regRKCS & PDP11.RK11.RKCS.FUNC) >> PDP11.RK11.RKCS.SHIFT.FUNC;
|
||||||
|
|
||||||
switch(this.regRKCS & PDP11.RK11.RKCS.FUNC) {
|
switch(func) {
|
||||||
|
|
||||||
case PDP11.RK11.FUNC.CRESET:
|
case PDP11.RK11.FUNC.CRESET:
|
||||||
this.regRKDS = drive.status;
|
if (this.messageEnabled()) this.printMessage(this.type + ": CRESET(" + iDrive + ")", true);
|
||||||
this.regRKER = 0;
|
this.regRKER = 0;
|
||||||
this.regRKCS = PDP11.RK11.RKCS.CRDY;
|
this.regRKCS = PDP11.RK11.RKCS.CRDY;
|
||||||
this.regRKDA = 0;
|
this.regRKDA = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PDP11.RK11.FUNC.SEEK:
|
||||||
|
iCylinder = (this.regRKDA & PDP11.RK11.RKDA.CA) >> PDP11.RK11.RKDA.SHIFT.CA;
|
||||||
|
if (this.messageEnabled()) this.printMessage(this.type + ": SEEK(" + iCylinder + ")", true);
|
||||||
|
if (iCylinder >= drive.nCylinders) {
|
||||||
|
this.regRKER |= PDP11.RK11.RKER.DRE | PDP11.RK11.RKER.NXC;
|
||||||
|
this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PDP11.RK11.FUNC.RCHK:
|
||||||
|
sFunc = "RCHK";
|
||||||
|
/* falls through */
|
||||||
|
|
||||||
case PDP11.RK11.FUNC.READ:
|
case PDP11.RK11.FUNC.READ:
|
||||||
|
if (!sFunc) sFunc = "READ";
|
||||||
fnReadWrite = this.readData;
|
fnReadWrite = this.readData;
|
||||||
/* falls through */
|
/* falls through */
|
||||||
|
|
||||||
|
case PDP11.RK11.FUNC.WCHK:
|
||||||
|
if (!sFunc) sFunc = "WCHK";
|
||||||
|
/* falls through */
|
||||||
|
|
||||||
case PDP11.RK11.FUNC.WRITE:
|
case PDP11.RK11.FUNC.WRITE:
|
||||||
if (!fnReadWrite) fnReadWrite = this.writeData;
|
if (!sFunc) sFunc = "WRITE";
|
||||||
|
|
||||||
iCylinder = (this.regRKDA & PDP11.RK11.RKDA.CA) >> PDP11.RK11.RKDA.SHIFT.CA;
|
iCylinder = (this.regRKDA & PDP11.RK11.RKDA.CA) >> PDP11.RK11.RKDA.SHIFT.CA;
|
||||||
iHead = (this.regRKDA & PDP11.RK11.RKDA.HS) >> PDP11.RK11.RKDA.SHIFT.HS;
|
iHead = (this.regRKDA & PDP11.RK11.RKDA.HS) >> PDP11.RK11.RKDA.SHIFT.HS;
|
||||||
iSector = this.regRKDA & PDP11.RK11.RKDA.SA;
|
iSector = this.regRKDA & PDP11.RK11.RKDA.SA;
|
||||||
|
nWords = (0x10000 - this.regRKWC) & 0xffff;
|
||||||
|
addr = (((this.regRKCS & PDP11.RK11.RKCS.MEX)) << (16 - PDP11.RK11.RKCS.SHIFT.MEX)) | this.regRKBA;
|
||||||
|
|
||||||
|
if (this.messageEnabled()) this.printMessage(this.type + ": " + sFunc + "(" + iCylinder + ":" + iHead + ":" + iSector + ") @" + str.toOct(addr) + "-" + str.toOct(addr + ((nWords - 1) << 1)), true);
|
||||||
|
|
||||||
|
if (!fnReadWrite) fnReadWrite = this.writeData;
|
||||||
|
|
||||||
if (iCylinder >= drive.nCylinders) {
|
if (iCylinder >= drive.nCylinders) {
|
||||||
this.regRKER |= PDP11.RK11.RKER.DRE | PDP11.RK11.RKER.NXC;
|
this.regRKER |= PDP11.RK11.RKER.DRE | PDP11.RK11.RKER.NXC;
|
||||||
this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR;
|
this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR;
|
||||||
|
|
@ -935,23 +962,24 @@ RK11.prototype.processCommand = function()
|
||||||
this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR;
|
this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
addr = (((this.regRKCS & PDP11.RK11.RKCS.MEX)) << (16 - PDP11.RK11.RKCS.SHIFT.MEX)) | this.regRKBA;
|
|
||||||
nWords = (0x10000 - this.regRKWC) & 0xffff;
|
fInterrupt = fnReadWrite.call(this, drive, iCylinder, iHead, iSector, nWords, addr, (func >= PDP11.RK11.FUNC.WCHK), this.endReadWrite.bind(this));
|
||||||
if (DEBUG && (this.messageEnabled(MessagesPDP11.READ) || this.messageEnabled(MessagesPDP11.WRITE))) {
|
break;
|
||||||
var pos = ((((iCylinder << 1) + iHead) * drive.nSectors) + iSector) * 256;
|
|
||||||
console.log((fnReadWrite == this.readData? "readData" : "writeData") + "(pos=" + pos + ",addr=" + str.toOct(addr) + ",bytes=" + (nWords * 2) + ")");
|
case PDP11.RK11.FUNC.DRESET:
|
||||||
}
|
if (this.messageEnabled()) this.printMessage(this.type + ": DRESET(" + iDrive + ")");
|
||||||
fInterrupt = fnReadWrite.call(this, drive, iCylinder, iHead, iSector, nWords, addr, this.endReadWrite.bind(this));
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
if (this.messageEnabled()) this.printMessage(this.type + ": UNSUPPORTED(" + func + ")");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
this.regRKDS = drive.status | (drive.disk? PDP11.RK11.RKDS.DRDY : 0) | (iDrive << PDP11.RK11.RKDS.SHIFT.ID) | (this.regRKDA & PDP11.RK11.RKDS.SC);
|
||||||
* TODO: Determine what's up with the "regRKDA % 9"....
|
|
||||||
*/
|
if (this.regRKER & PDP11.RK11.RKER.DRE) {
|
||||||
this.regRKDS = drive.status | (iDrive << PDP11.RK11.RKDS.SHIFT.ID) | ((this.regRKDA % 9) & PDP11.RK11.RKDS.SC);
|
if (this.messageEnabled()) this.printMessage(this.type + ": ERROR: " + str.toOct(this.regRKER) + ")");
|
||||||
|
}
|
||||||
|
|
||||||
if (fInterrupt) {
|
if (fInterrupt) {
|
||||||
this.regRKCS &= ~PDP11.RK11.RKCS.GO;
|
this.regRKCS &= ~PDP11.RK11.RKCS.GO;
|
||||||
|
|
@ -977,6 +1005,7 @@ RK11.prototype.endReadWrite = function(err, iCylinder, iHead, iSector, nWords, a
|
||||||
this.regRKBA = addr & 0xffff;
|
this.regRKBA = addr & 0xffff;
|
||||||
this.regRKCS = (this.regRKCS & ~PDP11.RK11.RKCS.MEX) | ((addr >> (16 - PDP11.RK11.RKCS.SHIFT.MEX)) & PDP11.RK11.RKCS.MEX);
|
this.regRKCS = (this.regRKCS & ~PDP11.RK11.RKCS.MEX) | ((addr >> (16 - PDP11.RK11.RKCS.SHIFT.MEX)) & PDP11.RK11.RKCS.MEX);
|
||||||
this.regRKWC = (0x10000 - nWords) & 0xffff;
|
this.regRKWC = (0x10000 - nWords) & 0xffff;
|
||||||
|
this.regRKDA = (this.regRKDA & ~PDP11.RK11.RKDA.SA) | (iSector & PDP11.RK11.RKDA.SA);
|
||||||
if (err) {
|
if (err) {
|
||||||
this.regRKER |= err | PDP11.RK11.RKER.DRE;
|
this.regRKER |= err | PDP11.RK11.RKER.DRE;
|
||||||
this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR;
|
this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR;
|
||||||
|
|
@ -985,7 +1014,7 @@ RK11.prototype.endReadWrite = function(err, iCylinder, iHead, iSector, nWords, a
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* readData(drive, iCylinder, iHead, iSector, nWords, addr, done)
|
* readData(drive, iCylinder, iHead, iSector, nWords, addr, fCheck, done)
|
||||||
*
|
*
|
||||||
* @this {RK11}
|
* @this {RK11}
|
||||||
* @param {Object} drive
|
* @param {Object} drive
|
||||||
|
|
@ -994,10 +1023,11 @@ RK11.prototype.endReadWrite = function(err, iCylinder, iHead, iSector, nWords, a
|
||||||
* @param {number} iSector
|
* @param {number} iSector
|
||||||
* @param {number} nWords
|
* @param {number} nWords
|
||||||
* @param {number} addr
|
* @param {number} addr
|
||||||
|
* @param {boolean} fCheck
|
||||||
* @param {function(...)} done
|
* @param {function(...)} done
|
||||||
* @return {boolean} true if complete, false if queued
|
* @return {boolean} true if complete, false if queued
|
||||||
*/
|
*/
|
||||||
RK11.prototype.readData = function(drive, iCylinder, iHead, iSector, nWords, addr, done)
|
RK11.prototype.readData = function(drive, iCylinder, iHead, iSector, nWords, addr, fCheck, done)
|
||||||
{
|
{
|
||||||
var err = 0;
|
var err = 0;
|
||||||
var disk = drive.disk;
|
var disk = drive.disk;
|
||||||
|
|
@ -1018,23 +1048,26 @@ RK11.prototype.readData = function(drive, iCylinder, iHead, iSector, nWords, add
|
||||||
}
|
}
|
||||||
ibSector = 0;
|
ibSector = 0;
|
||||||
}
|
}
|
||||||
var b0, b1, data;
|
var b0, b1;
|
||||||
if ((b0 = disk.read(sector, ibSector++)) < 0 || (b1 = disk.read(sector, ibSector++)) < 0) {
|
if ((b0 = disk.read(sector, ibSector++)) < 0 || (b1 = disk.read(sector, ibSector++)) < 0) {
|
||||||
err = PDP11.RK11.RKER.NXS;
|
err = PDP11.RK11.RKER.NXS;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
this.bus.setWordDirect(addr, data = b0 | (b1 << 8));
|
if (!fCheck) {
|
||||||
if (DEBUG && this.messageEnabled(MessagesPDP11.READ)) {
|
var data = b0 | (b1 << 8);
|
||||||
if (!sWords) sWords = str.toOct(addr) + ": ";
|
this.bus.setWordDirect(addr, data);
|
||||||
sWords += str.toOct(data) + ' ';
|
if (DEBUG && this.messageEnabled(MessagesPDP11.READ)) {
|
||||||
if (sWords.length >= 64) {
|
if (!sWords) sWords = str.toOct(addr) + ": ";
|
||||||
console.log(sWords);
|
sWords += str.toOct(data) + ' ';
|
||||||
sWords = "";
|
if (sWords.length >= 64) {
|
||||||
|
console.log(sWords);
|
||||||
|
sWords = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.bus.checkFault()) {
|
||||||
|
err = PDP11.RK11.RKER.NXM;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (this.bus.checkFault()) {
|
|
||||||
err = PDP11.RK11.RKER.NXM;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
addr += 2;
|
addr += 2;
|
||||||
if (ibSector >= disk.cbSector) {
|
if (ibSector >= disk.cbSector) {
|
||||||
|
|
@ -1055,7 +1088,7 @@ RK11.prototype.readData = function(drive, iCylinder, iHead, iSector, nWords, add
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* writeData(drive, iCylinder, iHead, iSector, nWords, addr, done)
|
* writeData(drive, iCylinder, iHead, iSector, nWords, addr, fCheck, done)
|
||||||
*
|
*
|
||||||
* @this {RK11}
|
* @this {RK11}
|
||||||
* @param {Object} drive
|
* @param {Object} drive
|
||||||
|
|
@ -1064,10 +1097,11 @@ RK11.prototype.readData = function(drive, iCylinder, iHead, iSector, nWords, add
|
||||||
* @param {number} iSector
|
* @param {number} iSector
|
||||||
* @param {number} nWords
|
* @param {number} nWords
|
||||||
* @param {number} addr
|
* @param {number} addr
|
||||||
|
* @param {boolean} fCheck
|
||||||
* @param {function(...)} done
|
* @param {function(...)} done
|
||||||
* @return {boolean} true if complete, false if queued
|
* @return {boolean} true if complete, false if queued
|
||||||
*/
|
*/
|
||||||
RK11.prototype.writeData = function(drive, iCylinder, iHead, iSector, nWords, addr, done)
|
RK11.prototype.writeData = function(drive, iCylinder, iHead, iSector, nWords, addr, fCheck, done)
|
||||||
{
|
{
|
||||||
var err = 0;
|
var err = 0;
|
||||||
var disk = drive.disk;
|
var disk = drive.disk;
|
||||||
|
|
@ -1093,9 +1127,21 @@ RK11.prototype.writeData = function(drive, iCylinder, iHead, iSector, nWords, ad
|
||||||
}
|
}
|
||||||
ibSector = 0;
|
ibSector = 0;
|
||||||
}
|
}
|
||||||
if (!disk.write(sector, ibSector++, data & 0xff) || !disk.write(sector, ibSector++, data >> 8)) {
|
if (fCheck) {
|
||||||
err = PDP11.RK11.RKER.NXS;
|
var b0, b1;
|
||||||
break;
|
if ((b0 = disk.read(sector, ibSector++)) < 0 || (b1 = disk.read(sector, ibSector++)) < 0) {
|
||||||
|
err = PDP11.RK11.RKER.NXS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (data != (b0 | (b1 << 8))) {
|
||||||
|
err = PDP11.RK11.RKER.WCE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!disk.write(sector, ibSector++, data & 0xff) || !disk.write(sector, ibSector++, data >> 8)) {
|
||||||
|
err = PDP11.RK11.RKER.NXS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (ibSector >= disk.cbSector) {
|
if (ibSector >= disk.cbSector) {
|
||||||
sector = null;
|
sector = null;
|
||||||
|
|
|
||||||
|
|
@ -140,15 +140,16 @@ str.parseInt = function(s, base)
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* toBin(n, cch)
|
* toBin(n, cch, grouping)
|
||||||
*
|
*
|
||||||
* Converts an integer to binary, with the specified number of digits (up to the default of 32).
|
* Converts an integer to binary, with the specified number of digits (up to the default of 32).
|
||||||
*
|
*
|
||||||
* @param {number|null|undefined} n is a 32-bit value
|
* @param {number|null|undefined} n is a 32-bit value
|
||||||
* @param {number} [cch] is the desired number of binary digits (32 is both the default and the maximum)
|
* @param {number} [cch] is the desired number of binary digits (32 is both the default and the maximum)
|
||||||
|
* @param {number} [grouping]
|
||||||
* @return {string} the binary representation of n
|
* @return {string} the binary representation of n
|
||||||
*/
|
*/
|
||||||
str.toBin = function(n, cch)
|
str.toBin = function(n, cch, grouping)
|
||||||
{
|
{
|
||||||
var s = "";
|
var s = "";
|
||||||
if (!cch) {
|
if (!cch) {
|
||||||
|
|
@ -164,13 +165,16 @@ str.toBin = function(n, cch)
|
||||||
* since JavaScript coerces such operands to zero, but I think there's "value" in seeing those
|
* since JavaScript coerces such operands to zero, but I think there's "value" in seeing those
|
||||||
* values displayed differently.
|
* values displayed differently.
|
||||||
*/
|
*/
|
||||||
if (n == null || isNaN(n)) {
|
var fInvalid = (n == null || isNaN(n));
|
||||||
while (cch-- > 0) s = '?' + s;
|
var group = (grouping = grouping || cch);
|
||||||
} else {
|
while (cch-- > 0) {
|
||||||
while (cch-- > 0) {
|
if (!group) {
|
||||||
s = ((n & 0x1)? '1' : '0') + s;
|
s = "," + s;
|
||||||
n >>= 1;
|
group = grouping;
|
||||||
}
|
}
|
||||||
|
s = (fInvalid? '?' : ((n & 0x1)? '1' : '0')) + s;
|
||||||
|
n >>= 1;
|
||||||
|
group--;
|
||||||
}
|
}
|
||||||
return s;
|
return s;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ var l,n={qe:0,te:1,ue:2,ve:3,we:4,xe:5,ye:6,ze:7,Ae:8,Be:9,Ce:10,De:11,Ee:12,Fe:
|
||||||
Hd:88,Id:89,Pb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Jd:97,Bf:98,Cf:99,d:100,e:101,Df:102,Ef:103,Ff:104,Gf:105,Hf:106,k:107,If:108,Jf:109,n:110,Kf:111,p:112,q:113,r:114,Lf:115,t:116,Nf:117,Of:118,Pf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Te:127};
|
Hd:88,Id:89,Pb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Jd:97,Bf:98,Cf:99,d:100,e:101,Df:102,Ef:103,Ff:104,Gf:105,Hf:106,k:107,If:108,Jf:109,n:110,Kf:111,p:112,q:113,r:114,Lf:115,t:116,Nf:117,Of:118,Pf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Te:127};
|
||||||
function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(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&&e&&(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 f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(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&&e&&(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 f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
||||||
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ba(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function t(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 e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ca(a){return t(a,2,!0)}
|
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ba(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function t(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 e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ca(a){return t(a,2,!0)}
|
||||||
function u(a){return t(a,4,!0)}function da(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 fa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ga(){var a=ia();return-1!==a.indexOf("pcjs.org",a.length-8)}var ka={"&":"&","<":"<",">":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})}
|
function v(a){return t(a,4,!0)}function da(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 fa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ga(){var a=ia();return-1!==a.indexOf("pcjs.org",a.length-8)}var ka={"&":"&","<":"<",">":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})}
|
||||||
function ma(a,b){return(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
|
function ma(a,b){return(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
|
||||||
function pa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}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 pa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}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 sa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
|
function sa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
|
||||||
|
|
@ -61,16 +61,16 @@ var ob="undefined"!==typeof ArrayBuffer,pb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,
|
||||||
0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1],sb={cpu:1,bus:64,mem:128,port:256,nvr:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function tb(a){x.call(this,"Panel",a,tb)}A(tb);l=tb.prototype;
|
0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1],sb={cpu:1,bus:64,mem:128,port:256,nvr:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function tb(a){x.call(this,"Panel",a,tb)}A(tb);l=tb.prototype;
|
||||||
l.pa=function(a,b,c,d){return this.A&&this.A.pa(a,b,c,d)||this.b&&this.b.pa(a,b,c,d)||this.I&&this.I.pa(a,b,c,d)||this.H&&this.H.pa(a,b,c,d)?!0:this.parent.pa.call(this,a,b,c,d)};l.Qa=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.H=d;this.I=ub(a,"Keyboard")};l.Ga=function(a,b){b||vb();return!0};l.Ka=function(){return!0};l.Aa=function(){};function vb(){for(var a=!1,b=D(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f=eb(e.id);f||(a=!0,f=new tb(e));gb(f,d);a&&F(f)}}Oa(vb);
|
l.pa=function(a,b,c,d){return this.A&&this.A.pa(a,b,c,d)||this.b&&this.b.pa(a,b,c,d)||this.I&&this.I.pa(a,b,c,d)||this.H&&this.H.pa(a,b,c,d)?!0:this.parent.pa.call(this,a,b,c,d)};l.Qa=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.H=d;this.I=ub(a,"Keyboard")};l.Ga=function(a,b){b||vb();return!0};l.Ka=function(){return!0};l.Aa=function(){};function vb(){for(var a=!1,b=D(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f=eb(e.id);f||(a=!0,f=new tb(e));gb(f,d);a&&F(f)}}Oa(vb);
|
||||||
function wb(a,b,c){x.call(this,"Bus",a,wb);this.b=b;this.H=c;this.J=a.busWidth||16;this.K=Math.pow(2,this.J);this.u=this.K-1|0;this.ha=(this.J>>1)+2;10>this.ha&&(this.ha=10);15<this.ha&&(this.ha=15);this.Ja=1<<this.ha;this.L=this.Ja>>2;this.w=this.Ja-1;this.I=this.K/this.Ja|0;this.D=this.I-1;this.A=[];this.j=[];this.F=this.B=!1;this.N=[];this.O=[];a=new G;xb(a,this.H);this.W=Array(this.I);for(b=0;b<this.I;b++)this.W[b]=a;F(this)}A(wb);l=wb.prototype;l.reset=function(){};
|
function wb(a,b,c){x.call(this,"Bus",a,wb);this.b=b;this.H=c;this.J=a.busWidth||16;this.K=Math.pow(2,this.J);this.u=this.K-1|0;this.ha=(this.J>>1)+2;10>this.ha&&(this.ha=10);15<this.ha&&(this.ha=15);this.Ja=1<<this.ha;this.L=this.Ja>>2;this.w=this.Ja-1;this.I=this.K/this.Ja|0;this.D=this.I-1;this.A=[];this.j=[];this.F=this.B=!1;this.N=[];this.O=[];a=new G;xb(a,this.H);this.W=Array(this.I);for(b=0;b<this.I;b++)this.W[b]=a;F(this)}A(wb);l=wb.prototype;l.reset=function(){};
|
||||||
l.Ga=function(a,b){b||this.reset();return!0};function yb(a,b,c,d){for(var e=b,f=c,g=e>>>a.ha;0<f&&g<a.W.length;){var h=a.W[g],k=g*a.Ja,m=a.Ja-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.G)return h.Cb+=h.G-e,h.G=e,!0;if(e>=h.G+h.Cb){m=h.size-(e-k);m>f&&(m=f);h.Cb=e-h.G+m;e=k+a.Ja;f-=m;g++;continue}}return zb(1,e,f)}e=new G(e,m,a.Ja,d);xb(e,a.H,h);a.W[g++]=e;e=k+a.Ja;f-=m}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ab[d]+" at "+u(b)),!0):zb(2,b,c)}
|
l.Ga=function(a,b){b||this.reset();return!0};function yb(a,b,c,d){for(var e=b,f=c,g=e>>>a.ha;0<f&&g<a.W.length;){var h=a.W[g],k=g*a.Ja,m=a.Ja-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.G)return h.Cb+=h.G-e,h.G=e,!0;if(e>=h.G+h.Cb){m=h.size-(e-k);m>f&&(m=f);h.Cb=e-h.G+m;e=k+a.Ja;f-=m;g++;continue}}return zb(1,e,f)}e=new G(e,m,a.Ja,d);xb(e,a.H,h);a.W[g++]=e;e=k+a.Ja;f-=m}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ab[d]+" at "+v(b)),!0):zb(2,b,c)}
|
||||||
l.Z=function(a){return this.W[(a&this.u)>>>this.ha].nb(a&this.w,a)};function Bb(a,b){return a.W[(b&a.u)>>>a.ha].Ab(b&a.w,b)}l.bb=function(a){var b=a&this.w,c=(a&this.u)>>>this.ha;return b!=this.w?this.W[c].Fc(b,a):this.W[c++].nb(b,a)|this.W[c&this.D].nb(0,a+1)<<8};function Cb(a,b){var c=b&a.w,d=(b&a.u)>>>a.ha;return c!=a.w?a.W[d].Vb(c,b):a.W[d++].Ab(c,b)|a.W[d&a.D].Ab(0,b+1)<<8}l.ua=function(a,b){this.W[(a&this.u)>>>this.ha].pb(a&this.w,b&255,a)};
|
l.Z=function(a){return this.W[(a&this.u)>>>this.ha].nb(a&this.w,a)};function Bb(a,b){return a.W[(b&a.u)>>>a.ha].Ab(b&a.w,b)}l.bb=function(a){var b=a&this.w,c=(a&this.u)>>>this.ha;return b!=this.w?this.W[c].Fc(b,a):this.W[c++].nb(b,a)|this.W[c&this.D].nb(0,a+1)<<8};function Cb(a,b){var c=b&a.w,d=(b&a.u)>>>a.ha;return c!=a.w?a.W[d].Vb(c,b):a.W[d++].Ab(c,b)|a.W[d&a.D].Ab(0,b+1)<<8}l.ua=function(a,b){this.W[(a&this.u)>>>this.ha].pb(a&this.w,b&255,a)};
|
||||||
function Db(a,b,c){a.W[(b&a.u)>>>a.ha].Db(b&a.w,c&255,b)}l.Mb=function(a,b){var c=a&this.w,d=(a&this.u)>>>this.ha;c!=this.w?this.W[d].Hc(c,b&65535,a):(this.W[d++].pb(c,b&255,a),this.W[d&this.D].pb(0,b>>8&255,a+1))};function Eb(a){for(var b=0,c=[],d=0;d<a.I;d++){var e=a.W[d];if(e.Oa||e.Cc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],p=g+1;p<e.length&&e[p]===m;)p++;k[h++]=p-g;k[h++]=m;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
function Db(a,b,c){a.W[(b&a.u)>>>a.ha].Db(b&a.w,c&255,b)}l.Mb=function(a,b){var c=a&this.w,d=(a&this.u)>>>this.ha;c!=this.w?this.W[d].Hc(c,b&65535,a):(this.W[d++].pb(c,b&255,a),this.W[d&this.D].pb(0,b>>8&255,a+1))};function Eb(a){for(var b=0,c=[],d=0;d<a.I;d++){var e=a.W[d];if(e.Oa||e.Cc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],p=g+1;p<e.length&&e[p]===m;)p++;k[h++]=p-g;k[h++]=m;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
||||||
function Fb(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}function Gb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.A[k]?w("Input port "+u(k)+" already registered"):f.A[k]=[h,!1]}}
|
function Fb(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}function Gb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.A[k]?w("Input port "+v(k)+" already registered"):f.A[k]=[h,!1]}}
|
||||||
function Ib(a,b,c){for(var d=1,e=0,f=0;0<d;){var g=a.A[b],h=a.N[b]||1,k=1==h?255:2==h?65535:-1,m=k;void 0!==g?(g[0]&&(m=g[0](b,c),void 0===m?m=k:m&=k),a.H&&a.F!=g[1]&&Jb(a.H,b,m)):a.H&&(hb(a.H,a,b,null,c),a.F&&Jb(a.H,b,m));e|=m<<f;f+=h<<3;b+=h;d-=h}return e}function Kb(a,b){if(void 0===b)return a.B=!a.B,a.B;void 0===a.j[b]&&(a.j[b]=[null,!1]);a.j[b][1]=!a.j[b][1];return a.j[b][1]}
|
function Ib(a,b,c){for(var d=1,e=0,f=0;0<d;){var g=a.A[b],h=a.N[b]||1,k=1==h?255:2==h?65535:-1,m=k;void 0!==g?(g[0]&&(m=g[0](b,c),void 0===m?m=k:m&=k),a.H&&a.F!=g[1]&&Jb(a.H,b,m)):a.H&&(hb(a.H,a,b,null,c),a.F&&Jb(a.H,b,m));e|=m<<f;f+=h<<3;b+=h;d-=h}return e}function Kb(a,b){if(void 0===b)return a.B=!a.B,a.B;void 0===a.j[b]&&(a.j[b]=[null,!1]);a.j[b][1]=!a.j[b][1];return a.j[b][1]}
|
||||||
function Ub(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.j[k]?w("Output port "+u(k)+" already registered"):f.j[k]=[h,!1]}}function Vb(a,b,c,d){for(var e=1,f=0;0<e;){var g=a.j[b],h=a.O[b]||1,k=1==h?255:2==h?65535:-1,k=(c>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.H&&a.B!=g[1]&&Wb(a.H,b,k)}else a.H&&(hb(a.H,a,b,k,d),a.B&&Wb(a.H,b,k));f+=h<<3;b+=h;e-=h}}
|
function Ub(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.j[k]?w("Output port "+v(k)+" already registered"):f.j[k]=[h,!1]}}function Vb(a,b,c,d){for(var e=1,f=0;0<e;){var g=a.j[b],h=a.O[b]||1,k=1==h?255:2==h?65535:-1,k=(c>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.H&&a.B!=g[1]&&Wb(a.H,b,k)}else a.H&&(hb(a.H,a,b,k,d),a.B&&Wb(a.H,b,k));f+=h<<3;b+=h;e-=h}}
|
||||||
function zb(a,b,c){w("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Xb;if(ob){var Yb=new ArrayBuffer(2);(new DataView(Yb)).setUint16(0,256,!0);Xb=256===(new Uint16Array(Yb))[0]}else Xb=!1;var Zb=Xb;
|
function zb(a,b,c){w("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Xb;if(ob){var Yb=new ArrayBuffer(2);(new DataView(Yb)).setUint16(0,256,!0);Xb=256===(new Uint16Array(Yb))[0]}else Xb=!1;var Zb=Xb;
|
||||||
function G(a,b,c,d){this.id=$b+=2;this.b=null;this.G=a;this.Cb=b;this.size=c||0;this.type=d||ac;this.M=d==bc;xb(this);this.Oa=this.Cc=!1;if(c)if(ob)this.F=new ArrayBuffer(c),this.B=new DataView(this.F,0,c),this.w=new Uint8Array(this.F,0,c),this.I=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),cc(this,Zb?dc:ec);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;cc(this,fc)}else cc(this)}var ac=0,bc=2,Ab=["NONE","RAM","ROM","VID","H/W"],$b=0;
|
function G(a,b,c,d){this.id=$b+=2;this.b=null;this.G=a;this.Cb=b;this.size=c||0;this.type=d||ac;this.M=d==bc;xb(this);this.Oa=this.Cc=!1;if(c)if(ob)this.F=new ArrayBuffer(c),this.B=new DataView(this.F,0,c),this.w=new Uint8Array(this.F,0,c),this.I=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),cc(this,Zb?dc:ec);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;cc(this,fc)}else cc(this)}var ac=0,bc=2,Ab=["NONE","RAM","ROM","VID","H/W"],$b=0;
|
||||||
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(ob)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.B.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(ob)for(b=0;b<a.length;b++)this.B.setInt32(b<<2,a[b],!0);else this.b=a;return this.Oa=!0}return!1},$a:function(a,b){b?this.j++||gc(this,hc,!1):this.A++||ic(this,hc,!1)},J:function(){this.H&&jb(this.H,129)&&this.H.message("attempt to read invalid block %"+t(this.G),!0);return 255},
|
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(ob)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.B.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(ob)for(b=0;b<a.length;b++)this.B.setInt32(b<<2,a[b],!0);else this.b=a;return this.Oa=!0}return!1},$a:function(a,b){b?this.j++||gc(this,hc,!1):this.A++||ic(this,hc,!1)},J:function(){this.H&&jb(this.H,129)&&this.H.message("attempt to read invalid block %"+t(this.G),!0);return 255},
|
||||||
u:function(a,b){this.H&&jb(this.H,129)&&this.H.message("attempt to write "+u(b)+" to invalid block %"+t(this.G),!0)},K:function(a,b){return this.nb(a++,b++)|this.nb(a,b)<<8},D:function(a,b,c){this.pb(a++,b&255,c++);this.pb(a,b>>8,c)},X:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ea:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},hb:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Oa=!0},va:function(a,b){var c=a>>
|
u:function(a,b){this.H&&jb(this.H,129)&&this.H.message("attempt to write "+v(b)+" to invalid block %"+t(this.G),!0)},K:function(a,b){return this.nb(a++,b++)|this.nb(a,b)<<8},D:function(a,b,c){this.pb(a++,b&255,c++);this.pb(a,b>>8,c)},X:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ea:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},hb:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Oa=!0},va:function(a,b){var c=a>>
|
||||||
2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Oa=!0},N:function(a,b){if(this.H&&null!=this.G){var c=this.H;jc(c,this.G+a,1,c.N)&&c.qa(!0)}return this.Ab(a,b)},ba:function(a,b){if(this.H&&null!=this.G){var c=this.H;jc(c,this.G+a,2,c.N)&&c.qa(!0)}return this.Vb(a,b)},ia:function(a,b,c){if(this.H&&null!=this.G){var d=this.H;jc(d,this.G+a,1,d.B)&&d.qa(!0)}this.M?this.u(a,b,c):this.Db(a,b,c)},la:function(a,b,c){if(this.H&&
|
2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Oa=!0},N:function(a,b){if(this.H&&null!=this.G){var c=this.H;jc(c,this.G+a,1,c.N)&&c.qa(!0)}return this.Ab(a,b)},ba:function(a,b){if(this.H&&null!=this.G){var c=this.H;jc(c,this.G+a,2,c.N)&&c.qa(!0)}return this.Vb(a,b)},ia:function(a,b,c){if(this.H&&null!=this.G){var d=this.H;jc(d,this.G+a,1,d.B)&&d.qa(!0)}this.M?this.u(a,b,c):this.Db(a,b,c)},la:function(a,b,c){if(this.H&&
|
||||||
null!=this.G){var d=this.H;jc(d,this.G+a,2,d.B)&&d.qa(!0)}this.M?this.u(a,b,c):this.Zb(a,b,c)},L:function(a){return this.w[a]},O:function(a){return this.w[a]},aa:function(a){return this.B.getUint16(a,!0)},da:function(a){return a&1?this.w[a]|this.w[a+1]<<8:this.I[a>>1]},ga:function(a,b){this.w[a]=b;this.Oa=!0},gb:function(a,b){this.w[a]=b;this.Oa=!0},ka:function(a,b){this.B.setUint16(a,b,!0);this.Oa=!0},ma:function(a,b){a&1?(this.w[a]=b,this.w[a+1]=b>>8):this.I[a>>1]=b;this.Oa=!0}};
|
null!=this.G){var d=this.H;jc(d,this.G+a,2,d.B)&&d.qa(!0)}this.M?this.u(a,b,c):this.Zb(a,b,c)},L:function(a){return this.w[a]},O:function(a){return this.w[a]},aa:function(a){return this.B.getUint16(a,!0)},da:function(a){return a&1?this.w[a]|this.w[a+1]<<8:this.I[a>>1]},ga:function(a,b){this.w[a]=b;this.Oa=!0},gb:function(a,b){this.w[a]=b;this.Oa=!0},ka:function(a,b){this.B.setUint16(a,b,!0);this.Oa=!0},ma:function(a,b){a&1?(this.w[a]=b,this.w[a+1]=b>>8):this.I[a>>1]=b;this.Oa=!0}};
|
||||||
function xb(a,b,c){a.H=b;a.A=a.j=0;c&&((a.A=c.A)&&ic(a,hc,!1),(a.j=c.j)&&gc(a,hc,!1))}function kc(a,b){b?--a.j||(a.pb=a.M?a.u:a.Db,a.Hc=a.M?a.D:a.Zb):--a.A||(a.nb=a.Ab,a.Fc=a.Vb)}function gc(a,b,c){c&&a.j||(a.pb=!a.M&&b[1]||a.u,a.Hc=!a.M&&b[3]||a.D);if(c||void 0===c)a.Db=b[1]||a.u,a.Zb=b[3]||a.D}function ic(a,b,c){c&&a.A||(a.nb=b[0]||a.J,a.Fc=b[2]||a.K);if(c||void 0===c)a.Ab=b[0]||a.J,a.Vb=b[2]||a.K}function cc(a,b){b||(b=lc);ic(a,b,void 0);gc(a,b,void 0)}
|
function xb(a,b,c){a.H=b;a.A=a.j=0;c&&((a.A=c.A)&&ic(a,hc,!1),(a.j=c.j)&&gc(a,hc,!1))}function kc(a,b){b?--a.j||(a.pb=a.M?a.u:a.Db,a.Hc=a.M?a.D:a.Zb):--a.A||(a.nb=a.Ab,a.Fc=a.Vb)}function gc(a,b,c){c&&a.j||(a.pb=!a.M&&b[1]||a.u,a.Hc=!a.M&&b[3]||a.D);if(c||void 0===c)a.Db=b[1]||a.u,a.Zb=b[3]||a.D}function ic(a,b,c){c&&a.A||(a.nb=b[0]||a.J,a.Fc=b[2]||a.K);if(c||void 0===c)a.Ab=b[0]||a.J,a.Vb=b[2]||a.K}function cc(a,b){b||(b=lc);ic(a,b,void 0);gc(a,b,void 0)}
|
||||||
|
|
@ -121,7 +121,7 @@ J(this));this.b-=11},function(){this.i=id(this,L(this));this.b-=7},function(){P(
|
||||||
N(this)),this.b-=6);this.b-=5},function(){this.oa=J(this)&65535;this.b-=5},function(){var a=M(this);fd(this)&&I(this,a);this.b-=10},function(){this.ta|=512;this.b-=4;Id(this)},function(){var a=M(this);fd(this)&&(P(this,this.P),I(this,a),this.b-=6);this.b-=11},Pd,function(){K(this,L(this));this.b-=7},function(){P(this,this.P);I(this,56);this.b-=11}];
|
N(this)),this.b-=6);this.b-=5},function(){this.oa=J(this)&65535;this.b-=5},function(){var a=M(this);fd(this)&&I(this,a);this.b-=10},function(){this.ta|=512;this.b-=4;Id(this)},function(){var a=M(this);fd(this)&&(P(this,this.P),I(this,a),this.b-=6);this.b-=11},Pd,function(){K(this,L(this));this.b-=7},function(){P(this,this.P);I(this,56);this.b-=11}];
|
||||||
function R(a){x.call(this,"ChipSet",a,R,32768);var b=a.model;b&&!Qd[b]&&Qa("Unrecognized ChipSet model: "+b);this.u=Qd[b]||{};a.sound&&(this.ga=null,window&&(this.ga=window.AudioContext||window.webkitAudioContext),this.ga&&new this.ga);F(this)}A(R);
|
function R(a){x.call(this,"ChipSet",a,R,32768);var b=a.model;b&&!Qd[b]&&Qa("Unrecognized ChipSet model: "+b);this.u=Qd[b]||{};a.sound&&(this.ga=null,window&&(this.ga=window.AudioContext||window.webkitAudioContext),this.ga&&new this.ga);F(this)}A(R);
|
||||||
var S={Da:1978.1,Ad:{Ea:0,Ve:1,Ze:16,ff:32,qf:64,pf:128,qb:14},Za:{Ea:1,Pc:1,sd:2,od:4,pd:16,qd:32,rd:64,qb:8},Bd:{Ea:2,Ue:3,yf:4,We:8,kf:16,lf:32,mf:64,Xe:128,qb:0},uf:{Ea:3},sf:{Ea:2,gf:7},wf:{Ea:3,zf:1,vf:2,nf:4,df:8,Ye:16,pe:32},tf:{Ea:4},xf:{Ea:5,$e:1,af:2,bf:4,cf:8,Af:16}},T={Da:100,La:{Ea:66,rc:1,gc:2,ld:4,jf:8,hf:16,ic:32,hc:64,cc:128},Nc:{Ea:66,INIT:0},Ua:{Ea:194,se:0,ac:16,ud:32,nc:48,Xc:0,Yc:32},Fb:{Ea:162,rf:0,$c:0,Wc:0,Zc:0,Vc:0},Ma:{ef:{Ea:98},Ta:{Kc:0,Jc:1,xd:2,Gd:4,Qc:5,vd:6,yd:7},
|
var S={Da:1978.1,Ad:{Ea:0,Ve:1,Ze:16,ff:32,qf:64,pf:128,qb:14},Za:{Ea:1,Pc:1,sd:2,od:4,pd:16,qd:32,rd:64,qb:8},Bd:{Ea:2,Ue:3,yf:4,We:8,kf:16,lf:32,mf:64,Xe:128,qb:0},uf:{Ea:3},sf:{Ea:2,gf:7},wf:{Ea:3,zf:1,vf:2,nf:4,df:8,Ye:16,pe:32},tf:{Ea:4},xf:{Ea:5,$e:1,af:2,bf:4,cf:8,Af:16}},T={Da:100,La:{Ea:66,rc:1,gc:2,ld:4,jf:8,hf:16,ic:32,hc:64,cc:128},Nc:{Ea:66,INIT:0},Ua:{Ea:194,se:0,ac:16,ud:32,nc:48,Xc:0,Yc:32},Fb:{Ea:162,rf:0,$c:0,Wc:0,Zc:0,Vc:0},Ma:{ef:{Ea:98},Ta:{Kc:0,Jc:1,xd:2,Gd:4,Qc:5,vd:6,yd:7},
|
||||||
Gb:16383}},Qd={SI1978:S,VT100:T};R.prototype.pa=function(){return!1};R.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.H=d;this.A=a;this.I=ub(a,"Keyboard");this.J=ub(a,"SerialPort");this.video=ub(a,"Video");Gb(b,this,this.u.Kb);Ub(b,this,this.u.Lb);if(d){var e=this;Rd(d,16384,function(){for(var a="",b=0;b<e.F.length;b++)a&&(a+=b&&b%10?", ":",\n"),a+=u(e.F[b]);e.H.g(a)})}};R.prototype.Ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
Gb:16383}},Qd={SI1978:S,VT100:T};R.prototype.pa=function(){return!1};R.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.H=d;this.A=a;this.I=ub(a,"Keyboard");this.J=ub(a,"SerialPort");this.video=ub(a,"Video");Gb(b,this,this.u.Kb);Ub(b,this,this.u.Lb);if(d){var e=this;Rd(d,16384,function(){for(var a="",b=0;b<e.F.length;b++)a&&(a+=b&&b%10?", ":",\n"),a+=v(e.F[b]);e.H.g(a)})}};R.prototype.Ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||||
R.prototype.Ka=function(a){return a?this.save():!0};S.INIT=[[S.Ad.qb,S.Za.qb,S.Bd.qb,0,0,0,0]];
|
R.prototype.Ka=function(a){return a?this.save():!0};S.INIT=[[S.Ad.qb,S.Za.qb,S.Bd.qb,0,0,0,0]];
|
||||||
T.INIT=[[T.Nc.INIT,T.La.gc|T.La.ld],[T.Ua.Xc,T.Ua.Yc],[T.Fb.$c,T.Fb.Wc,T.Fb.Zc,T.Fb.Vc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
T.INIT=[[T.Nc.INIT,T.La.gc|T.La.ld],[T.Ua.Xc,T.Ua.Yc],[T.Fb.$c,T.Fb.Wc,T.Fb.Zc,T.Fb.Vc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||||||
[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];l=R.prototype;l.reset=function(){this.u.INIT&&!this.restore(this.u.INIT)&&this.ja("reset error")};
|
[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];l=R.prototype;l.reset=function(){this.u.INIT&&!this.restore(this.u.INIT)&&this.ja("reset error")};
|
||||||
|
|
@ -129,8 +129,8 @@ l.save=function(){var a=new Vc(this);switch(this.u.Da){case S.Da:a.set(0,[this.C
|
||||||
l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.u.Da){case S.Da:return this.Ca=b[0],this.D=b[1],this.Ha=b[2],this.aa=b[3],this.ea=b[4],this.ma=b[5],this.va=b[6],!0;case T.Da:return this.ia=b[0],this.K=b[1],b=a[1],this.L=b[0],this.N=b[1],b=a[2],this.B=b[0],this.ba=b[1],this.la=b[2],this.ka=b[3],b=a[3],this.X=b[0],this.j=b[1],this.O=b[2],this.da=b[3],this.F=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.Vd=function(a,b){var c=this.Ca;E(this,a,null,b,"STATUS0",c,!0);return c};
|
l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.u.Da){case S.Da:return this.Ca=b[0],this.D=b[1],this.Ha=b[2],this.aa=b[3],this.ea=b[4],this.ma=b[5],this.va=b[6],!0;case T.Da:return this.ia=b[0],this.K=b[1],b=a[1],this.L=b[0],this.N=b[1],b=a[2],this.B=b[0],this.ba=b[1],this.la=b[2],this.ka=b[3],b=a[3],this.X=b[0],this.j=b[1],this.O=b[2],this.da=b[3],this.F=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.Vd=function(a,b){var c=this.Ca;E(this,a,null,b,"STATUS0",c,!0);return c};
|
||||||
l.Wd=function(a,b){var c=this.D;E(this,a,null,b,"STATUS1",c,!0);return c};l.Xd=function(a,b){var c=this.Ha;E(this,a,null,b,"STATUS2",c,!0);return c};l.Ud=function(a,b){var c=this.aa>>8-this.ea&255;E(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.ee=function(a,b,c){E(this,a,b,c,"SHIFT.COUNT",null,!0);this.ea=b};l.ge=function(a,b,c){E(this,a,b,c,"SOUND1",null,!0);this.ma=b};l.fe=function(a,b,c){E(this,a,b,c,"SHIFT.DATA",null,!0);this.aa=b<<8|this.aa>>8};
|
l.Wd=function(a,b){var c=this.D;E(this,a,null,b,"STATUS1",c,!0);return c};l.Xd=function(a,b){var c=this.Ha;E(this,a,null,b,"STATUS2",c,!0);return c};l.Ud=function(a,b){var c=this.aa>>8-this.ea&255;E(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.ee=function(a,b,c){E(this,a,b,c,"SHIFT.COUNT",null,!0);this.ea=b};l.ge=function(a,b,c){E(this,a,b,c,"SOUND1",null,!0);this.ma=b};l.fe=function(a,b,c){E(this,a,b,c,"SHIFT.DATA",null,!0);this.aa=b<<8|this.aa>>8};
|
||||||
l.he=function(a,b,c){E(this,a,b,c,"SOUND2",null,!0);this.va=b};l.ie=function(a,b,c){E(this,a,b,c,"WATCHDOG",null,!0)};function Sd(a){var b=0,c=0,d=~a.X;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c}
|
l.he=function(a,b,c){E(this,a,b,c,"SOUND2",null,!0);this.va=b};l.ie=function(a,b,c){E(this,a,b,c,"WATCHDOG",null,!0)};function Sd(a){var b=0,c=0,d=~a.X;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c}
|
||||||
l.Yd=function(a,b){var c=this.K,c=c&~T.La.hc;if((Gc(this.b)&64)<<1&&(c|=T.La.hc,c!=this.K)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case T.Ma.Ta.yd:break;case T.Ma.Ta.Jc:this.X=this.X<<1|d;break;case T.Ma.Ta.Qc:d=Sd(this);this.F[d]=T.Ma.Gb;ib(this,"doNVRCommand(): erase data at addr "+u(d));break;case T.Ma.Ta.Kc:this.j=this.j<<1|d;break;case T.Ma.Ta.Gd:d=Sd(this);e=this.j&T.Ma.Gb;this.F[d]=e;ib(this,"doNVRCommand(): write data "+u(e)+" to addr "+u(d));break;case T.Ma.Ta.vd:d=Sd(this);e=this.F[d];
|
l.Yd=function(a,b){var c=this.K,c=c&~T.La.hc;if((Gc(this.b)&64)<<1&&(c|=T.La.hc,c!=this.K)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case T.Ma.Ta.yd:break;case T.Ma.Ta.Jc:this.X=this.X<<1|d;break;case T.Ma.Ta.Qc:d=Sd(this);this.F[d]=T.Ma.Gb;ib(this,"doNVRCommand(): erase data at addr "+v(d));break;case T.Ma.Ta.Kc:this.j=this.j<<1|d;break;case T.Ma.Ta.Gd:d=Sd(this);e=this.j&T.Ma.Gb;this.F[d]=e;ib(this,"doNVRCommand(): write data "+v(e)+" to addr "+v(d));break;case T.Ma.Ta.vd:d=Sd(this);e=this.F[d];
|
||||||
null==e&&(e=T.Ma.Gb);this.j=e;ib(this,"doNVRCommand(): read data "+u(e)+" from addr "+u(d));break;case T.Ma.Ta.xd:this.j<<=1;this.da=this.j&T.Ma.Gb+1;break;default:ib(this,"doNVRCommand(): unrecognized command "+ca(e))}}c&=~T.La.ic;this.da&&(c|=T.La.ic);c&=~T.La.cc;if(d=this.I){d=this.I;if(e=d.D)e=d.b,e=Gc(d.b)>=d.L+e.X*e.Ra/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=T.La.cc);c&=~T.La.rc;this.J&&this.J.wa&1&&(c|=T.La.rc);this.K=c;E(this,a,null,b,"FLAGS",c);return c};
|
null==e&&(e=T.Ma.Gb);this.j=e;ib(this,"doNVRCommand(): read data "+v(e)+" from addr "+v(d));break;case T.Ma.Ta.xd:this.j<<=1;this.da=this.j&T.Ma.Gb+1;break;default:ib(this,"doNVRCommand(): unrecognized command "+ca(e))}}c&=~T.La.ic;this.da&&(c|=T.La.ic);c&=~T.La.cc;if(d=this.I){d=this.I;if(e=d.D)e=d.b,e=Gc(d.b)>=d.L+e.X*e.Ra/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=T.La.cc);c&=~T.La.rc;this.J&&this.J.wa&1&&(c|=T.La.rc);this.K=c;E(this,a,null,b,"FLAGS",c);return c};
|
||||||
l.je=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ia=b};l.me=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.le=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.B=this.B&-4|a;break;case 1:this.B=this.B&-13|a<<2;this.video&&(b=this.video,a=this.B,ib(b,"updateScrollOffset("+a+")"),b.ib!==a&&((b.ib=a)?Nc(b,!0):b.sb=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.la=3-a}break;case 3:this.ka=a}};
|
l.je=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ia=b};l.me=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.le=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.B=this.B&-4|a;break;case 1:this.B=this.B&-13|a<<2;this.video&&(b=this.video,a=this.B,ib(b,"updateScrollOffset("+a+")"),b.ib!==a&&((b.ib=a)?Nc(b,!0):b.sb=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.la=3-a}break;case 3:this.ka=a}};
|
||||||
l.ke=function(a,b,c){E(this,a,b,c,"DC011");b&T.Ua.ud?(b&=T.Ua.nc,this.N!=b&&(this.N=b,this.video&&(a=this.video,b=this.N==T.Ua.nc?50:60,ib(a,"updateRate("+b+")"),a.vc=b))):(b&=T.Ua.ac,this.L!=b&&(this.L=b,this.video&&(a=this.L==T.Ua.ac?132:80,b=this.video,ib(b,"updateDimensions("+a+","+(80<a&&this.K&T.La.gc?14:24)+")"),b.ba=a,b.ra=b.kc,80<a&&b.ra--,Td(b)&&Ud(b))))};S.Kb={0:R.prototype.Vd,1:R.prototype.Wd,2:R.prototype.Xd,3:R.prototype.Ud};
|
l.ke=function(a,b,c){E(this,a,b,c,"DC011");b&T.Ua.ud?(b&=T.Ua.nc,this.N!=b&&(this.N=b,this.video&&(a=this.video,b=this.N==T.Ua.nc?50:60,ib(a,"updateRate("+b+")"),a.vc=b))):(b&=T.Ua.ac,this.L!=b&&(this.L=b,this.video&&(a=this.L==T.Ua.ac?132:80,b=this.video,ib(b,"updateDimensions("+a+","+(80<a&&this.K&T.La.gc?14:24)+")"),b.ba=a,b.ra=b.kc,80<a&&b.ra--,Td(b)&&Ud(b))))};S.Kb={0:R.prototype.Vd,1:R.prototype.Wd,2:R.prototype.Xd,3:R.prototype.Ud};
|
||||||
S.Lb={2:R.prototype.ee,3:R.prototype.ge,4:R.prototype.fe,5:R.prototype.he,6:R.prototype.ie};T.Kb={66:R.prototype.Yd};T.Lb={66:R.prototype.je,98:R.prototype.me,162:R.prototype.le,194:R.prototype.ke};Oa(function(){for(var a=D(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new R(d);gb(d,c)}});
|
S.Lb={2:R.prototype.ee,3:R.prototype.ge,4:R.prototype.fe,5:R.prototype.he,6:R.prototype.ie};T.Kb={66:R.prototype.Yd};T.Lb={66:R.prototype.je,98:R.prototype.me,162:R.prototype.le,194:R.prototype.ke};Oa(function(){for(var a=D(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new R(d);gb(d,c)}});
|
||||||
|
|
@ -143,7 +143,7 @@ f.ha;0<d&&e<f.W.length;){k=h[g++];if(!k)break;f.W[e++]=k;d-=f.Ja}}delete a.A}}F(
|
||||||
function Yd(a){x.call(this,"RAM",a,Yd);this.Fa=this.j=null;this.F=a.addr;this.B=a.size;this.ab=a.load;this.Sa=a.exec;this.u=!1;this.A=a.file;this.D=da(this.A);if(this.A){a=this.A;var b=fa(this.D);"json"!=b&&"hex"!=b&&(a=ia()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;ta(a,null,!0,function(a,b,f){f?c.ja("Unable to load RAM resource (error "+f+": "+a+")"):(cb(c.hb,a,b),(a=ua(a,b))?(c.j=a.Ba,c.Fa=a.Fa,null==c.ab&&(c.ab=a.ab),null==c.Sa&&(c.Sa=a.Sa)):c.A=null,Zd(c))})}}A(Yd);
|
function Yd(a){x.call(this,"RAM",a,Yd);this.Fa=this.j=null;this.F=a.addr;this.B=a.size;this.ab=a.load;this.Sa=a.exec;this.u=!1;this.A=a.file;this.D=da(this.A);if(this.A){a=this.A;var b=fa(this.D);"json"!=b&&"hex"!=b&&(a=ia()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;ta(a,null,!0,function(a,b,f){f?c.ja("Unable to load RAM resource (error "+f+": "+a+")"):(cb(c.hb,a,b),(a=ua(a,b))?(c.j=a.Ba,c.Fa=a.Fa,null==c.ab&&(c.ab=a.ab),null==c.Sa&&(c.Sa=a.Sa)):c.A=null,Zd(c))})}}A(Yd);
|
||||||
var $d=[0,5];Yd.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.H=d;Zd(this)};Yd.prototype.Ga=function(){return!0};Yd.prototype.Ka=function(){return!0};
|
var $d=[0,5];Yd.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.H=d;Zd(this)};Yd.prototype.Ga=function(){return!0};Yd.prototype.Ka=function(){return!0};
|
||||||
function Zd(a){!a.u&&a.B&&yb(a.w,a.F,a.B,1)&&(a.u=!0);if(!mb(a)){if(!a.u)w("No RAM allocated");else if(a.A){if(!a.j||!a.w)return;var b=a.F;null!==a.ab&&(b=a.ab);for(var c=0;c<a.j.length;c++)Db(a.w,b+c,a.j[c]);if(null!==a.Sa){if(256==a.Sa){for(c=0;c<$d.length;c++)Db(a.w,$d[c],118);Rc(a.b,function(a){return function(b){if(0<=$d.indexOf(b)){var c=!1,d=a.b,e=a.H;if(5==b)switch(c=!0,d.S){case 2:ae(a,String.fromCharCode(d.U));break;case 9:for(var k=Yc(d),m="",p=255;p--;){var q=a.b.Z(k++);if(36==q)break;
|
function Zd(a){!a.u&&a.B&&yb(a.w,a.F,a.B,1)&&(a.u=!0);if(!mb(a)){if(!a.u)w("No RAM allocated");else if(a.A){if(!a.j||!a.w)return;var b=a.F;null!==a.ab&&(b=a.ab);for(var c=0;c<a.j.length;c++)Db(a.w,b+c,a.j[c]);if(null!==a.Sa){if(256==a.Sa){for(c=0;c<$d.length;c++)Db(a.w,$d[c],118);Rc(a.b,function(a){return function(b){if(0<=$d.indexOf(b)){var c=!1,d=a.b,e=a.H;if(5==b)switch(c=!0,d.S){case 2:ae(a,String.fromCharCode(d.U));break;case 9:for(var k=Yc(d),m="",p=255;p--;){var q=a.b.Z(k++);if(36==q)break;
|
||||||
m+=String.fromCharCode(q)}ae(a,m);break;default:c=!1}c?Od.call(d):e&&(a.g("\nCP/M vector "+u(b)),I(d,b),e.qa());b=!0}else b=!1;return b}}(a))}Tc(a.b,a.Sa)}delete a.j}F(a)}}Yd.prototype.reset=function(){};function ae(a,b){b=b.replace(/\r/g,"");a.Ia&&(a.Ia.value+=b,a.Ia.scrollTop=a.Ia.scrollHeight)}Oa(function(){for(var a=D(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Yd(d);gb(d,c)}});
|
m+=String.fromCharCode(q)}ae(a,m);break;default:c=!1}c?Od.call(d):e&&(a.g("\nCP/M vector "+v(b)),I(d,b),e.qa());b=!0}else b=!1;return b}}(a))}Tc(a.b,a.Sa)}delete a.j}F(a)}}Yd.prototype.reset=function(){};function ae(a,b){b=b.replace(/\r/g,"");a.Ia&&(a.Ia.value+=b,a.Ia.scrollTop=a.Ia.scrollHeight)}Oa(function(){for(var a=D(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Yd(d);gb(d,c)}});
|
||||||
function be(a){x.call(this,"Keyboard",a,be,65536);(a=a.model)&&!ce[a]&&Qa("Unrecognized Keyboard8080 model: "+a);this.w=ce[a]||{};this.reset();F(this)}A(be);var de={};de[n.Eb]=37;de[n.bc]=39;de[n.dc]=32;
|
function be(a){x.call(this,"Keyboard",a,be,65536);(a=a.model)&&!ce[a]&&Qa("Unrecognized Keyboard8080 model: "+a);this.w=ce[a]||{};this.reset();F(this)}A(be);var de={};de[n.Eb]=37;de[n.bc]=39;de[n.dc]=32;
|
||||||
var ee={Da:1978.1,Nb:{},$b:de,tb:{},Ya:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},V={},W={Da:100,Nb:(V[8]=3,V[n.nd]=5,V[n.md]=6,V[n.Id]=7,V[n.Cd]=8,V[n.Fd]=9,V[n.Q]=10,V[39]=16,V[221]=20,V[219]=21,V[n.Uc]=22,V[n.Dd]=23,V[n.td]=24,V[n.E]=25,V[49]=26,V[37]=32,V[40]=34,V[117]=35,V[19]=35,V[192]=36,V[189]=37,V[57]=38,V[55]=39,V[52]=40,V[51]=41,V[27]=42,V[38]=48,V[114]=49,V[112]=50,V[46]=51,V[187]=52,V[48]=53,V[56]=54,V[54]=55,V[53]=56,V[50]=57,V[9]=58,V[103]=64,V[115]=65,V[113]=66,V[96]=67,V[118]=
|
var ee={Da:1978.1,Nb:{},$b:de,tb:{},Ya:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},V={},W={Da:100,Nb:(V[8]=3,V[n.nd]=5,V[n.md]=6,V[n.Id]=7,V[n.Cd]=8,V[n.Fd]=9,V[n.Q]=10,V[39]=16,V[221]=20,V[219]=21,V[n.Uc]=22,V[n.Dd]=23,V[n.td]=24,V[n.E]=25,V[49]=26,V[37]=32,V[40]=34,V[117]=35,V[19]=35,V[192]=36,V[189]=37,V[57]=38,V[55]=39,V[52]=40,V[51]=41,V[27]=42,V[38]=48,V[114]=49,V[112]=50,V[46]=51,V[187]=52,V[48]=53,V[56]=54,V[54]=55,V[53]=56,V[50]=57,V[9]=58,V[103]=64,V[115]=65,V[113]=66,V[96]=67,V[118]=
|
||||||
68,V[220]=69,V[n.dc]=70,V[n.bd]=71,V[n.Sc]=72,V[n.Rc]=73,V[n.Eb]=74,V[104]=80,V[2013]=81,V[98]=82,V[97]=83,V[222]=85,V[186]=86,V[n.ad]=87,V[n.Tc]=88,V[n.bc]=89,V[n.wd]=90,V[110]=96,V[116]=97,V[101]=98,V[100]=99,V[13]=100,V[190]=101,V[188]=102,V[n.kd]=103,V[n.Mc]=104,V[n.Hd]=105,V[119]=106,V[105]=112,V[99]=113,V[102]=114,V[109]=115,V[191]=117,V[n.jd]=118,V[n[" "]]=119,V[n.Ed]=120,V[n.Oc]=121,V[n.Pb]=122,V[120]=123,V[17]=124,V[16]=125,V[20]=126,V),$b:{},tb:{},Ya:{"num-comma":116,"break":117,"line-feed":118,
|
68,V[220]=69,V[n.dc]=70,V[n.bd]=71,V[n.Sc]=72,V[n.Rc]=73,V[n.Eb]=74,V[104]=80,V[2013]=81,V[98]=82,V[97]=83,V[222]=85,V[186]=86,V[n.ad]=87,V[n.Tc]=88,V[n.bc]=89,V[n.wd]=90,V[110]=96,V[116]=97,V[101]=98,V[100]=99,V[13]=100,V[190]=101,V[188]=102,V[n.kd]=103,V[n.Mc]=104,V[n.Hd]=105,V[119]=106,V[105]=112,V[99]=113,V[102]=114,V[109]=115,V[191]=117,V[n.jd]=118,V[n[" "]]=119,V[n.Ed]=120,V[n.Oc]=121,V[n.Pb]=122,V[120]=123,V[17]=124,V[16]=125,V[20]=126,V),$b:{},tb:{},Ya:{"num-comma":116,"break":117,"line-feed":118,
|
||||||
|
|
@ -165,13 +165,13 @@ function Td(a){a.J=a.ba*a.ra;a.aa=a.va*a.na;var b=a.J,c=a.aa;a.u&&(b=a.aa,c=a.J)
|
||||||
a.Ha=Array(a.ba));return!0}ke.prototype.Qa=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.H=d;Td(this);if(this.I=ub(a,"Keyboard")){for(var e in this.Ob)this.I.pa("led",e,this.Ob[e]);this.L&&this.I.pa(this.Rd?"textarea":"canvas","kbd",this.ka)}var f=this;this.xc=Kc(this.b,function(){Nc(f)});Lc(this.b,this.xc,1E3/Math.max(this.wc,this.Xa));this.uc=0;this.da||F(this)};
|
a.Ha=Array(a.ba));return!0}ke.prototype.Qa=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.H=d;Td(this);if(this.I=ub(a,"Keyboard")){for(var e in this.Ob)this.I.pa("led",e,this.Ob[e]);this.L&&this.I.pa(this.Rd?"textarea":"canvas","kbd",this.ka)}var f=this;this.xc=Kc(this.b,function(){Nc(f)});Lc(this.b,this.xc,1E3/Math.max(this.wc,this.Xa));this.uc=0;this.da||F(this)};
|
||||||
function oe(a,b,c,d){if(d)a.ja("Unable to load font ROM (error "+d+": "+b+")");else{cb(a.hb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(2048==f.length)a.Ca=f,Ud(a);else{a.ja("Unrecognized font data length ("+f.length+")");return}}catch(g){a.ja("Font ROM data error: "+g.message);return}(a.F||a.H)&&F(a)}}
|
function oe(a,b,c,d){if(d)a.ja("Unable to load font ROM (error "+d+": "+b+")");else{cb(a.hb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(2048==f.length)a.Ca=f,Ud(a);else{a.ja("Unrecognized font data length ("+f.length+")");return}}catch(g){a.ja("Font ROM data error: "+g.message);return}(a.F||a.H)&&F(a)}}
|
||||||
function Ud(a){a.Ca&&(a.oc=2==a.ma,a.ea[96]=[qe(a,a.ra,a.na),qe(a,a.ra,a.na,a.ub)],a.ea[64]=[qe(a,2*a.ra,a.na),qe(a,2*a.ra,a.na,a.ub)],a.ea[32]=a.ea[0]=[qe(a,2*a.ra,2*a.na),qe(a,2*a.ra,2*a.na,a.ub)])}
|
function Ud(a){a.Ca&&(a.oc=2==a.ma,a.ea[96]=[qe(a,a.ra,a.na),qe(a,a.ra,a.na,a.ub)],a.ea[64]=[qe(a,2*a.ra,a.na),qe(a,2*a.ra,a.na,a.ub)],a.ea[32]=a.ea[0]=[qe(a,2*a.ra,2*a.na),qe(a,2*a.ra,2*a.na,a.ub)])}
|
||||||
function qe(a,b,c,d){var e=8>=a.kc?8:16,f=8<e?15:0,g=a.Ca.length/e,h=!1===d,k={ra:b,na:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=g/16*c;k.context=k.canvas.getContext("2d");for(var m=k.context.createImageData(b,c),p=0;p<g;p++){for(var q=0,y=q;q<a.na;q++)for(var v=p*e+(f+q&e-1),v=d&&8==q?255:a.Ca[v],r=0;r<c/a.na;r++){for(var z=0,H=0,ha=H;H<a.ra;H++){for(var C=v&128>>(7<H?7:H),z=a.oc&&!C&&z?z:C,U=0;U<b/a.ra;U++)h&&(z=!z),re(a,m,ha,y,z?1:0),ha++;z=C}y++}k.context.putImageData(m,
|
function qe(a,b,c,d){var e=8>=a.kc?8:16,f=8<e?15:0,g=a.Ca.length/e,h=!1===d,k={ra:b,na:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=g/16*c;k.context=k.canvas.getContext("2d");for(var m=k.context.createImageData(b,c),p=0;p<g;p++){for(var q=0,y=q;q<a.na;q++)for(var u=p*e+(f+q&e-1),u=d&&8==q?255:a.Ca[u],r=0;r<c/a.na;r++){for(var z=0,H=0,ha=H;H<a.ra;H++){for(var C=u&128>>(7<H?7:H),z=a.oc&&!C&&z?z:C,U=0;U<b/a.ra;U++)h&&(z=!z),re(a,m,ha,y,z?1:0),ha++;z=C}y++}k.context.putImageData(m,
|
||||||
(p&15)*b,(p>>4)*c)}return k}ke.prototype.Ga=function(){return!0};ke.prototype.pa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Ob[b]=c,!0;switch(b){case "fullScreen":return this.M[b]=c,this.j&&this.j.kb?c.onclick=function(){d.kb()}:c.parentNode.removeChild(c),!0}return!1};
|
(p&15)*b,(p>>4)*c)}return k}ke.prototype.Ga=function(){return!0};ke.prototype.pa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Ob[b]=c,!0;switch(b){case "fullScreen":return this.M[b]=c,this.j&&this.j.kb?c.onclick=function(){d.kb()}:c.parentNode.removeChild(c),!0}return!1};
|
||||||
ke.prototype.kb=function(){var a=!1;if(this.j){if(this.j.kb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.X/this.N;b>c&&(a=Math.round(c/b*100)+"%")}this.pc?(this.L.style.width=a,this.L.style.width=a,this.L.style.display="block",this.L.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.kb();a=!0}this.ka&&this.ka.focus()}return a};
|
ke.prototype.kb=function(){var a=!1;if(this.j){if(this.j.kb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.X/this.N;b>c&&(a=Math.round(c/b*100)+"%")}this.pc?(this.L.style.width=a,this.L.style.width=a,this.L.style.display="block",this.L.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.kb();a=!0}this.ka&&this.ka.focus()}return a};
|
||||||
function ne(a,b){!b&&a.j&&(a.pc?a.L.style.width=a.L.style.height="":a.j.style.width=a.j.style.height="");ib(a,"notifyFullScreen("+b+")")}function pe(a,b){a.sc=b;a.ia=!1;if(void 0===a.D||a.D.length!=a.sc)a.D=Array(a.sc)}function re(a,b,c,d,e){d=a.u?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ma&&(208<=c&&236>c?e=a.la+0:28<=c&&72>c&&(e=a.la+1));a=a.ga[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]}
|
function ne(a,b){!b&&a.j&&(a.pc?a.L.style.width=a.L.style.height="":a.j.style.width=a.j.style.height="");ib(a,"notifyFullScreen("+b+")")}function pe(a,b){a.sc=b;a.ia=!1;if(void 0===a.D||a.D.length!=a.sc)a.D=Array(a.sc)}function re(a,b,c,d,e){d=a.u?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ma&&(208<=c&&236>c?e=a.la+0:28<=c&&72>c&&(e=a.la+1));a=a.ga[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]}
|
||||||
function Nc(a,b){var c=!0;if(!b){a.Xa&&(120==a.Xa?a.uc&1?(Jd(a.b,2),c=!1):Jd(a.b,1):Jd(a.b,4));if(c&&a.ia&&a.O){for(var d=a.w,e=a.O,f=!0,g=a.Va>>>d.ha;0<e&&g<d.W.length;)d.W[g].Oa&&(d.W[g].Oa=f=!1,d.W[g].Cc=!0),e-=d.Ja,g++;f&&(c=!1)}Lc(a.b,a.xc,1E3/Math.max(a.wc,a.Xa));a.uc++}if(c)if(1<a.ra)switch(a.ma){case 2:for(var c=a.Va,d=-1,e=0,f=60==a.vc?2:5,h=g=0,k=-1;e<a.va;){var m=0,p=c,q=d,y=a.ba;for(96!=q&&(y>>=1);;){var v=Bb(a.w,p++);if(127==(v&127)){var r=Bb(a.w,p++),d=r&96,c=(r&15)<<8|Bb(a.w,p),c=c+
|
function Nc(a,b){var c=!0;if(!b){a.Xa&&(120==a.Xa?a.uc&1?(Jd(a.b,2),c=!1):Jd(a.b,1):Jd(a.b,4));if(c&&a.ia&&a.O){for(var d=a.w,e=a.O,f=!0,g=a.Va>>>d.ha;0<e&&g<d.W.length;)d.W[g].Oa&&(d.W[g].Oa=f=!1,d.W[g].Cc=!0),e-=d.Ja,g++;f&&(c=!1)}Lc(a.b,a.xc,1E3/Math.max(a.wc,a.Xa));a.uc++}if(c)if(1<a.ra)switch(a.ma){case 2:for(var c=a.Va,d=-1,e=0,f=60==a.vc?2:5,h=g=0,k=-1;e<a.va;){var m=0,p=c,q=d,y=a.ba;for(96!=q&&(y>>=1);;){var u=Bb(a.w,p++);if(127==(u&127)){var r=Bb(a.w,p++),d=r&96,c=(r&15)<<8|Bb(a.w,p),c=c+
|
||||||
(r&16?8192:16384);break}if(m<y)a.Ha[m++]=v;else break}if(f)f--;else{for(;m<a.Ha.length;)a.Ha[m++]=0;if(0<=q)for(p=a.ia&&a.D[g]==y,a.D[g++]=y,y=0;y<m;y++){v=a.Ha[y];if(!p||v!==a.D[g]){a.D[k=g]=v;var r=a,z=a.rb,H=v&127;if(v=r.ea[q][v&128?1:0]){var ha=(H&15)*v.ra,H=(H>>4)*v.na,C,U,ea,Y,va=v.ra,Hb=v.na;z?(C=y*r.ra,U=e*r.na,ea=r.ra,Y=r.na):(C=y*r.lc,U=e*r.mc,ea=r.lc,Y=r.mc);v.ra>r.ra&&(C*=2,ea*=2);v.na>r.na&&(q||(H+=r.na),Hb=r.na);z?z.drawImage(v.canvas,ha,H,va,Hb,C,U,ea,Y):(C+=0,U+=0,r.F.drawImage(v.canvas,
|
(r&16?8192:16384);break}if(m<y)a.Ha[m++]=u;else break}if(f)f--;else{for(;m<a.Ha.length;)a.Ha[m++]=0;if(0<=q)for(p=a.ia&&a.D[g]==y,a.D[g++]=y,y=0;y<m;y++){u=a.Ha[y];if(!p||u!==a.D[g]){a.D[k=g]=u;var r=a,z=a.rb,H=u&127;if(u=r.ea[q][u&128?1:0]){var ha=(H&15)*u.ra,H=(H>>4)*u.na,C,U,ea,Y,va=u.ra,Hb=u.na;z?(C=y*r.ra,U=e*r.na,ea=r.ra,Y=r.na):(C=y*r.lc,U=e*r.mc,ea=r.lc,Y=r.mc);u.ra>r.ra&&(C*=2,ea*=2);u.na>r.na&&(q||(H+=r.na),Hb=r.na);z?z.drawImage(u.canvas,ha,H,va,Hb,C,U,ea,Y):(C+=0,U+=0,r.F.drawImage(u.canvas,
|
||||||
ha,H,va,Hb,C,U,ea,Y))}h++}g++}e++}}a.ia=!0;!b&&a.sb&&1==h&&(a.D[k]=-1,h=0);a.sb=!1;(h||b)&&a.rb&&a.F.drawImage(a.K,0,a.ib,a.J,a.aa-a.na,0,0,a.Ic,a.Ld)}else{e=a.Va;f=e+a.O;k=h=g=0;b=a.J;m=0;c=a.aa;q=d=0;p=a.Wa;y=(1<<p)-1;a.Od&&(p=-p,q=16+p);for(;e<f;){r=Cb(a.w,e);if(a.ia&&r===a.D[g])h+=a.tc;else{a.D[g]=r;(z=q)&&(r=r>>8|(r&255)<<8);h<b&&(b=h);for(v=a.tc;v--;)ha=r>>z&y,re(a,a.qc,h++,k,ha),z+=p;h>m&&(m=h);k<c&&(c=k);k>=d&&(d=k+1)}e+=2;g++;if(h>=a.J&&(h=0,k++,k>a.aa))break}a.ia=!0;b<a.J&&(e=m-b,d-=c,a.u&&
|
ha,H,va,Hb,C,U,ea,Y))}h++}g++}e++}}a.ia=!0;!b&&a.sb&&1==h&&(a.D[k]=-1,h=0);a.sb=!1;(h||b)&&a.rb&&a.F.drawImage(a.K,0,a.ib,a.J,a.aa-a.na,0,0,a.Ic,a.Ld)}else{e=a.Va;f=e+a.O;k=h=g=0;b=a.J;m=0;c=a.aa;q=d=0;p=a.Wa;y=(1<<p)-1;a.Od&&(p=-p,q=16+p);for(;e<f;){r=Cb(a.w,e);if(a.ia&&r===a.D[g])h+=a.tc;else{a.D[g]=r;(z=q)&&(r=r>>8|(r&255)<<8);h<b&&(b=h);for(u=a.tc;u--;)ha=r>>z&y,re(a,a.qc,h++,k,ha),z+=p;h>m&&(m=h);k<c&&(c=k);k>=d&&(d=k+1)}e+=2;g++;if(h>=a.J&&(h=0,k++,k>a.aa))break}a.ia=!0;b<a.J&&(e=m-b,d-=c,a.u&&
|
||||||
(f=b,g=e,b=c,e=d,c=a.J-(f+g),d=g),a.rb.putImageData(a.qc,0,0,b,c,e,d),a.F.drawImage(a.K,0,0,a.K.width,a.K.height,0,0,a.X,a.N))}}
|
(f=b,g=e,b=c,e=d,c=a.J-(f+g),d=g),a.rb.putImageData(a.qc,0,0,b,c,e,d),a.F.drawImage(a.K,0,0,a.K.width,a.K.height,0,0,a.X,a.N))}}
|
||||||
Oa(function(){for(var a=D(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=B(c),e=document.createElement("canvas");if(!e||!e.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=xa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
|
Oa(function(){for(var a=D(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=B(c),e=document.createElement("canvas");if(!e||!e.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=xa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
|
||||||
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Wa.aspect);f&&.3<=f&&3.33>=f&&(Na("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Da("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new ke(d,e,g,f,c);gb(d,c)}});
|
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Wa.aspect);f&&.3<=f&&3.33>=f&&(Na("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Da("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new ke(d,e,g,f,c);gb(d,c)}});
|
||||||
|
|
@ -192,8 +192,9 @@ case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d
|
||||||
function Ee(a,b,c){var d;if(b){b=Fe(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],q=p.length,p=na(p);if(!p){f=!0;break}p=Ge(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==m.length)break;var p=m[e++],y=p.length;k.length&&Ce[p]<Ce[k[k.length-1]]&&De(h,k,1);k.push(p);b=b.substr(q+y)}De(h,k)&&1==h.length||(f=!0);f?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&He(a,null,
|
function Ee(a,b,c){var d;if(b){b=Fe(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],q=p.length,p=na(p);if(!p){f=!0;break}p=Ge(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==m.length)break;var p=m[e++],y=p.length;k.length&&Ce[p]<Ce[k[k.length-1]]&&De(h,k,1);k.push(p);b=b.substr(q+y)}De(h,k)&&1==h.length||(f=!0);f?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&He(a,null,
|
||||||
d))}return d}function Fe(a,b){for(var c,d=/\{(.*?)\}/;(c=b.match(d))&&!(0<=c[1].indexOf("{"));){var e=Ee(a,c[1]);b=b.replace("{"+c[1]+"}",null!=e?Ie(a,e):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.aa-a.ma}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
d))}return d}function Fe(a,b){for(var c,d=/\{(.*?)\}/;(c=b.match(d))&&!(0<=c[1].indexOf("{"));){var e=Ee(a,c[1]);b=b.replace("{"+c[1]+"}",null!=e?Ie(a,e):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.aa-a.ma}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||||
function Ge(a,b,c,d){var e;null!=b?(e=a.Sb(b),0<=e?e=a.Tb(e):(e=a.da[b],null==e&&(e=aa(b,a.Wa))),null!=e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
|
function Ge(a,b,c,d){var e;null!=b?(e=a.Sb(b),0<=e?e=a.Tb(e):(e=a.da[b],null==e&&(e=aa(b,a.Wa))),null!=e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
|
||||||
function He(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,m=8,p="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)p="?"+p;else for(;0<m--;)p=(k&1?"1":"0")+p,k>>=1;g=p+g;d>>=8}d=t(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}function Je(a,b){if(b)return He(a,b,a.da[b]);var c=0;for(b in a.da)He(a,b,a.da[b]),c++;return 0<c}
|
function He(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,m=void 0,p=8,q="";p?32<p&&(p=32):p=32;for(var y=null==k||isNaN(k),u=m=m||p;0<p--;)u||(q=","+q,u=m),q=(y?"?":k&1?"1":"0")+q,k>>=1,u--;g=q+g;d>>=8}d=t(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}
|
||||||
function Ie(a,b){switch(a.Wa){case 8:a=ba(b,NaN);break;case 10:a=b.toString();break;default:a=t(b,NaN)}return a}function Ke(a){Be.call(this,a);this.style=Le;this.L=X();this.Va=X();this.ba=X();this.D=[];this.F=this.N=this.B=[];Me(this);this.ia=0;Ne(this);this.va={};Oe(this,a.messages);this.Ca=a.commands;var b=this;window?void 0===window.pc8080&&(window.pc8080=function(a){return Dc(b,a)}):void 0===global.pc8080&&(global.pc8080=function(a){return Dc(b,a)})}A(Ke,Be);
|
function Je(a,b){if(b)return He(a,b,a.da[b]);var c=0;for(b in a.da)He(a,b,a.da[b]),c++;return 0<c}function Ie(a,b){switch(a.Wa){case 8:a=ba(b,NaN);break;case 10:a=b.toString();break;default:a=t(b,NaN)}return a}
|
||||||
|
function Ke(a){Be.call(this,a);this.style=Le;this.L=X();this.Va=X();this.ba=X();this.D=[];this.F=this.N=this.B=[];Me(this);this.ia=0;Ne(this);this.va={};Oe(this,a.messages);this.Ca=a.commands;var b=this;window?void 0===window.pc8080&&(window.pc8080=function(a){return Dc(b,a)}):void 0===global.pc8080&&(global.pc8080=function(a){return Dc(b,a)})}A(Ke,Be);
|
||||||
var Pe={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",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"},
|
var Pe={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",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"},
|
||||||
Le=8080,Qe="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "),Re="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ MOV MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),
|
Le=8080,Qe="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "),Re="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ MOV MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),
|
||||||
Se="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Te=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768],[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,
|
Se="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Te=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768],[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,
|
||||||
|
|
@ -203,8 +204,8 @@ Se="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Te=[[45],[42,2067,32],[71,
|
||||||
18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785],[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,
|
18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785],[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,
|
||||||
785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62],[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,
|
785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62],[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,
|
||||||
18193,33],[65,128],[59],[50,3603],[35,51],[24],[12,51],[51,3603],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19,18193,33],[65,128]];l=Ke.prototype;
|
18193,33],[65,128],[59],[50,3603],[35,51],[24],[12,51],[51,3603],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19,18193,33],[65,128]];l=Ke.prototype;
|
||||||
l.Qa=function(a,b,c,d){this.w=b;this.b=c;this.A=a;(a=oc(a,"messages"))&&Oe(this,a);this.Ha=Te;Rd(this,64,function(a){a:{var b=d.w.W,c=a[0],e=a=0,k=b.length;if(c){a=Ue(Ve(d,c));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.w.ha;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var p=b[e];p.type==c?m++||d.g("..."):(c=p.type,m=Ab[c],p&&d.g(t(p.id)+" %"+t(e<<d.w.ha)+" %%"+t(p.G)+" "+u(p.Cb)+" "+
|
l.Qa=function(a,b,c,d){this.w=b;this.b=c;this.A=a;(a=oc(a,"messages"))&&Oe(this,a);this.Ha=Te;Rd(this,64,function(a){a:{var b=d.w.W,c=a[0],e=a=0,k=b.length;if(c){a=Ue(Ve(d,c));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.w.ha;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var p=b[e];p.type==c?m++||d.g("..."):(c=p.type,m=Ab[c],p&&d.g(t(p.id)+" %"+t(e<<d.w.ha)+" %%"+t(p.G)+" "+v(p.Cb)+" "+
|
||||||
u(p.size)+" "+m),c!=ac&&(c=-1),m=0);a+=d.w.Ja;e++}}});F(this)};
|
v(p.size)+" "+m),c!=ac&&(c=-1),m=0);a+=d.w.Ja;e++}}});F(this)};
|
||||||
l.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ga=this.M[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Dc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.j<d.u.length-1&&(b=d.u[++d.j])):40==a.keyCode&&(0<d.j?b=d.u[--d.j]:(b="",d.j=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.M[b]=c,Fa(c,function(){if(d.ga){var a=d.ga.value;
|
l.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ga=this.M[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Dc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.j<d.u.length-1&&(b=d.u[++d.j])):40==a.keyCode&&(0<d.j?b=d.u[--d.j]:(b="",d.j=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.M[b]=c,Fa(c,function(){if(d.ga){var a=d.ga.value;
|
||||||
d.ga.value="";Dc(d,a,!0);return!0}return!1}),!0;case "step":return this.M[b]=c,Fa(c,function(a){var b=!1;lb(d,!0)||(kb(d,!0),b=d.ob(a?1:0),kb(d,!1));return b}),!0}return!1};l.Bb=function(){this.ga&&this.ga.focus()};function Ue(a){a=a&&a.G;null==a&&(a=-1);return a}l.Z=function(a,b){var c=255,d=Ue(a);-1!==d&&(c=Bb(this.w,d),b&&We(a,b));return c};l.bb=function(a,b){var c=65535,d=Ue(a);-1!==d&&(c=Cb(this.w,d),b&&We(a,b));return c};
|
d.ga.value="";Dc(d,a,!0);return!0}return!1}),!0;case "step":return this.M[b]=c,Fa(c,function(a){var b=!1;lb(d,!0)||(kb(d,!0),b=d.ob(a?1:0),kb(d,!1));return b}),!0}return!1};l.Bb=function(){this.ga&&this.ga.focus()};function Ue(a){a=a&&a.G;null==a&&(a=-1);return a}l.Z=function(a,b){var c=255,d=Ue(a);-1!==d&&(c=Bb(this.w,d),b&&We(a,b));return c};l.bb=function(a,b){var c=65535,d=Ue(a);-1!==d&&(c=Cb(this.w,d),b&&We(a,b));return c};
|
||||||
l.ua=function(a,b,c){var d=Ue(a);-1!==d&&(Db(this.w,d,b),c&&We(a,c),Ec(this.b,!0))};l.Mb=function(a,b,c){var d=Ue(a);if(-1!==d){var e=this.w,f=d&e.w,g=(d&e.u)>>>e.ha;f!=e.w?e.W[g].Zb(f,b&65535,d):(e.W[g++].Db(f,b&255,d),e.W[g&e.D].Db(0,b>>8&255,d+1));c&&We(a,c);Ec(this.b,!0)}};function X(a){return{G:a,Pa:!1}}function wf(a){return[a.G,a.Pa]}function xf(a){return{G:a[0],Pa:a[1]}}
|
l.ua=function(a,b,c){var d=Ue(a);-1!==d&&(Db(this.w,d,b),c&&We(a,c),Ec(this.b,!0))};l.Mb=function(a,b,c){var d=Ue(a);if(-1!==d){var e=this.w,f=d&e.w,g=(d&e.u)>>>e.ha;f!=e.w?e.W[g].Zb(f,b&65535,d):(e.W[g++].Db(f,b&255,d),e.W[g&e.D].Db(0,b>>8&255,d+1));c&&We(a,c);Ec(this.b,!0)}};function X(a){return{G:a,Pa:!1}}function wf(a){return[a.G,a.Pa]}function xf(a){return{G:a[0],Pa:a[1]}}
|
||||||
|
|
@ -214,24 +215,24 @@ l.Sb=function(a,b){var c;a=a.toUpperCase();null==b?c=sa(Se,a):(c=sa(Se,a.substr(
|
||||||
l.Tb=function(a){var b;if(0<=a){var c=this.b;switch(a){case 7:b=c.i;break;case 0:b=c.R;break;case 1:b=c.S;break;case 8:b=Wc(c);break;case 2:b=c.T;break;case 3:b=c.U;break;case 9:b=Yc(c);break;case 4:b=c.V;break;case 5:b=c.Y;break;case 10:b=J(c);break;case 6:b=c.Z(J(c));break;case 11:b=c.oa;break;case 12:b=c.P;break;case 13:b=Uc(c);break;case 14:b=Uc(c)&255|c.i<<8}}return b};
|
l.Tb=function(a){var b;if(0<=a){var c=this.b;switch(a){case 7:b=c.i;break;case 0:b=c.R;break;case 1:b=c.S;break;case 8:b=Wc(c);break;case 2:b=c.T;break;case 3:b=c.U;break;case 9:b=Yc(c);break;case 4:b=c.V;break;case 5:b=c.Y;break;case 10:b=J(c);break;case 6:b=c.Z(J(c));break;case 11:b=c.oa;break;case 12:b=c.P;break;case 13:b=Uc(c);break;case 14:b=Uc(c)&255|c.i<<8}}return b};
|
||||||
function Bf(a,b){b=Fe(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Sb(b,c+1),0<=e&&(b=b.substr(0,c)+Af(a,e)+b.substr(c+1+Se[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Ve(a,e))?(d=e+' "'+zf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Ve(a,e))?(We(d),d=e+
|
function Bf(a,b){b=Fe(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Sb(b,c+1),0<=e&&(b=b.substr(0,c)+Af(a,e)+b.substr(c+1+Se[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Ve(a,e))?(d=e+' "'+zf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Ve(a,e))?(We(d),d=e+
|
||||||
' "'+zf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Z(X(this.b.P).G));this.sa&1073741824?this.la.push(a):this.ka&&a==this.ka||(this.ka=a,this.sa&-2147483648&&(this.qa(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Mc(a),a.O=0,Ec(a)))};
|
' "'+zf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Z(X(this.b.P).G));this.sa&1073741824?this.la.push(a):this.ka&&a==this.ka||(this.ka=a,this.sa&-2147483648&&(this.qa(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Mc(a),a.O=0,Ec(a)))};
|
||||||
function hb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.sa&h)!=h||a.message(b.gb+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+ca(d):"")+")"+(null!=g?": "+ca(g):"")+(null!=e?" at "+Z(e):""))}
|
function hb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.sa&h)!=h||a.message(b.gb+"."+(null!=d?"outPort":"inPort")+"("+v(c)+","+(f?f:"unknown")+(null!=d?","+ca(d):"")+")"+(null!=g?": "+ca(g):"")+(null!=e?" at "+Z(e):""))}
|
||||||
function Ne(a){var b;if(Kd(a)){if(!a.K||!a.K.length){a.K=Array(1E3);for(b=0;b<a.K.length;b++)a.K[b]=X();a.ea=0;a.g("instruction history buffer allocated")}if(!a.I||!a.I.length)for(a.I=Array(256),b=0;b<a.I.length;b++)a.I[b]=[b,0]}else a.K&&a.K.length&&a.g("instruction history buffer freed"),a.ea=0,a.K=[],a.I=[]}l.eb=function(a){if(!Cf(this))return!1;this.b.eb(a);return!0};
|
function Ne(a){var b;if(Kd(a)){if(!a.K||!a.K.length){a.K=Array(1E3);for(b=0;b<a.K.length;b++)a.K[b]=X();a.ea=0;a.g("instruction history buffer allocated")}if(!a.I||!a.I.length)for(a.I=Array(256),b=0;b<a.I.length;b++)a.I[b]=[b,0]}else a.K&&a.K.length&&a.g("instruction history buffer freed"),a.ea=0,a.K=[],a.I=[]}l.eb=function(a){if(!Cf(this))return!1;this.b.eb(a);return!0};
|
||||||
l.ob=function(a,b,c){if(!Cf(this))return!1;this.J=0;a||Kd(this)&&Ld(this,this.b.P,0);try{var d=this.b.ob(a);0<d&&(this.J+=d,Ic(this.b,d,!0),Fc(this.b,d),this.aa++)}catch(e){"number"!=typeof e&&(this.J=0,nb(this.b,e.stack||e.message))}!1!==c&&Ec(this.b);this.Aa(b||!1);return 0<this.J};l.qa=function(a){this.b&&this.b.qa(a)};l.Aa=function(a){void 0===a&&(a=!0);this.L=X(this.b.P);a&&1!=this.X?Df(this):Ef(this)};
|
l.ob=function(a,b,c){if(!Cf(this))return!1;this.J=0;a||Kd(this)&&Ld(this,this.b.P,0);try{var d=this.b.ob(a);0<d&&(this.J+=d,Ic(this.b,d,!0),Fc(this.b,d),this.aa++)}catch(e){"number"!=typeof e&&(this.J=0,nb(this.b,e.stack||e.message))}!1!==c&&Ec(this.b);this.Aa(b||!1);return 0<this.J};l.qa=function(a){this.b&&this.b.qa(a)};l.Aa=function(a){void 0===a&&(a=!0);this.L=X(this.b.P);a&&1!=this.X?Df(this):Ef(this)};
|
||||||
function Cf(a){var b;if(b=a.b&&mb(a.b))b=a.b,b.C.xa?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!lb(a.b)?(a=a.b,a.C.error?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Ga=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Ka=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ne(this);this.aa=this.ma=0;this.ka=null;this.J=0;this.L=X(this.b.P);this.C.za=!1;Ff(this);a||this.Aa()};
|
function Cf(a){var b;if(b=a.b&&mb(a.b))b=a.b,b.C.xa?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!lb(a.b)?(a=a.b,a.C.error?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Ga=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Ka=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ne(this);this.aa=this.ma=0;this.ka=null;this.J=0;this.L=X(this.b.P);this.C.za=!1;Ff(this);a||this.Aa()};
|
||||||
l.save=function(){var a=new Vc(this);a.set(0,wf(this.L));a.set(1,wf(this.ba));a.set(2,[this.u,this.O,this.sa]);a.set(3,this.D);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.L=xf(a[b++]),this.ba=xf(a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.O=a[b][1],this.sa|=a[b][2]);a[3]&&(this.D=a[3]);return!0};l.start=function(a,b){this.X||this.g("running");this.C.za=!0;this.rb=a;this.sb=b};
|
l.save=function(){var a=new Vc(this);a.set(0,wf(this.L));a.set(1,wf(this.ba));a.set(2,[this.u,this.O,this.sa]);a.set(3,this.D);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.L=xf(a[b++]),this.ba=xf(a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.O=a[b][1],this.sa|=a[b][2]);a[3]&&(this.D=a[3]);return!0};l.start=function(a,b){this.X||this.g("running");this.C.za=!0;this.rb=a;this.sb=b};
|
||||||
l.stop=function(a,b){if(this.C.za){this.C.za=!1;this.J=b-this.sb;if(!this.X){b="stopped";if(this.J){a-=this.rb;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";Kd(this)&&(b+=this.aa+" opcodes, ",this.ma-=this.aa,this.aa=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else jb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.Aa(!0);this.Bb();Ff(this,this.b.P)}};function Kd(a){return 1<a.F.length||!!a.ia}
|
l.stop=function(a,b){if(this.C.za){this.C.za=!1;this.J=b-this.sb;if(!this.X){b="stopped";if(this.J){a-=this.rb;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";Kd(this)&&(b+=this.aa+" opcodes, ",this.ma-=this.aa,this.aa=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else jb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.Aa(!0);this.Bb();Ff(this,this.b.P)}};function Kd(a){return 1<a.F.length||!!a.ia}
|
||||||
function Ld(a,b,c){var d=a.b;if(0<c&&(a.ia&&!--a.ia||jc(a,b,1,a.F)))return!0;0<=c&&a.I.length&&(a.aa++,b=Bb(a.w,b),null!=b&&(a.I[b][1]++,b=a.K[a.ea],b.G=d.P,b.Pa=!1,++a.ea==a.K.length&&(a.ea=0)));return!1}function Jb(a,b,c){a.g("break on input from port "+u(b)+": "+t(c));a.qa(!0)}function Wb(a,b,c){a.g("break on output to port "+u(b)+": "+t(c));a.qa(!0)}
|
function Ld(a,b,c){var d=a.b;if(0<c&&(a.ia&&!--a.ia||jc(a,b,1,a.F)))return!0;0<=c&&a.I.length&&(a.aa++,b=Bb(a.w,b),null!=b&&(a.I[b][1]++,b=a.K[a.ea],b.G=d.P,b.Pa=!1,++a.ea==a.K.length&&(a.ea=0)));return!1}function Jb(a,b,c){a.g("break on input from port "+v(b)+": "+t(c));a.qa(!0)}function Wb(a,b,c){a.g("break on output to port "+v(b)+": "+t(c));a.qa(!0)}
|
||||||
function Me(a){var b,c;a.F=["bp"];if(a.N)for(b=1;b<a.N.length;b++){c=a.N[b];var d=a.w;kc(d.W[Ue(c)>>>d.ha],!1)}a.N=["br"];if(a.B)for(b=1;b<a.B.length;b++)c=a.B[b],d=a.w,kc(d.W[Ue(c)>>>d.ha],!0);a.B=["bw"];a.Xa=0}l.$a=function(a,b,c){var d=!0;c||Gf(this,a,b,!1,!0);if(a!=this.F){var e=Ue(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.w;f.W[e>>>f.ha].$a(e&f.w,a==this.B)}}d&&(a.push(b),c?b.Pa=!0:(Hf(this,a,a.length-1,"set"),Ne(this)));return d};
|
function Me(a){var b,c;a.F=["bp"];if(a.N)for(b=1;b<a.N.length;b++){c=a.N[b];var d=a.w;kc(d.W[Ue(c)>>>d.ha],!1)}a.N=["br"];if(a.B)for(b=1;b<a.B.length;b++)c=a.B[b],d=a.w,kc(d.W[Ue(c)>>>d.ha],!0);a.B=["bw"];a.Xa=0}l.$a=function(a,b,c){var d=!0;c||Gf(this,a,b,!1,!0);if(a!=this.F){var e=Ue(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.w;f.W[e>>>f.ha].$a(e&f.w,a==this.B)}}d&&(a.push(b),c?b.Pa=!0:(Hf(this,a,a.length-1,"set"),Ne(this)));return d};
|
||||||
function Gf(a,b,c,d,e){var f=!1;c=Ue(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Ue(h)&&(!d||h.Pa)){f=!0;h.Pa||e||Hf(a,b,g,"cleared");b.splice(g,1);b!=a.F&&(d=a.w,kc(d.W[c>>>d.ha],b==a.B));h.Pa||Ne(a);break}}return f}function If(a,b){for(var c=1;c<b.length;c++)Hf(a,b,c);return b.length-1}function Hf(a,b,c,d){c=b[c];a.g(b[0]+" "+Z(c.G)+(d?" "+d:c.Gc?' "'+c.Gc+'"':""))}
|
function Gf(a,b,c,d,e){var f=!1;c=Ue(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Ue(h)&&(!d||h.Pa)){f=!0;h.Pa||e||Hf(a,b,g,"cleared");b.splice(g,1);b!=a.F&&(d=a.w,kc(d.W[c>>>d.ha],b==a.B));h.Pa||Ne(a);break}}return f}function If(a,b){for(var c=1;c<b.length;c++)Hf(a,b,c);return b.length-1}function Hf(a,b,c,d){c=b[c];a.g(b[0]+" "+Z(c.G)+(d?" "+d:c.Gc?' "'+c.Gc+'"':""))}
|
||||||
function Ff(a,b){if(void 0!==b)jc(a,b,1,a.F,!0),a.X=0;else for(b=1;b<a.F.length;b++){var c=a.F[b];if(c.Pa){if(!Gf(a,a.F,c,!0))break;b=0}}}
|
function Ff(a,b){if(void 0!==b)jc(a,b,1,a.F,!0),a.X=0;else for(b=1;b<a.F.length;b++){var c=a.F[b];if(c.Pa){if(!Gf(a,a.F,c,!0))break;b=0}}}
|
||||||
function jc(a,b,c,d,e){var f=!1;if(!a.Xa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Pa)for(var k=Ue(h),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.Pa&&(Gf(a,d,h,!0),e=!0);if(p=h.Kd){for(var f=!1,q=0;q<p.length;q++)if(!Jf(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var y=q+1;y<p.length&&p[y].indexOf("else");y++)q++;if(y==p.length){f=!0;break}}a.b.C.za||(f=!0)}if(f){e||Hf(a,d,g,"hit");break}}}a.Xa--;return f}
|
function jc(a,b,c,d,e){var f=!1;if(!a.Xa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Pa)for(var k=Ue(h),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.Pa&&(Gf(a,d,h,!0),e=!0);if(p=h.Kd){for(var f=!1,q=0;q<p.length;q++)if(!Jf(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var y=q+1;y<p.length&&p[y].indexOf("else");y++)q++;if(y==p.length){f=!0;break}}a.b.C.za||(f=!0)}if(f){e||Hf(a,d,g,"hit");break}}}a.Xa--;return f}
|
||||||
function Kf(a,b,c,d){for(var e=X(b.G),f=a.Z(b,1),g=a.Ha[f],h="",k=(8086!=a.style?Qe:Re)[g[0]],m=g.length-1,p=0,q,y=1;y<=m;y++){var v="";q=g[y];if(void 0!==q&&!(q&16384&&a.style==Le)){var r=q&240;if(r){var z=q&15;z?p=z:q|=p;q&61440||(q|=1==y?8192:4096);if(r&32)a:{v=a;r=q;z=b;switch(r&15){case 1:z=t(v.Z(z,1),2);break;case 2:z=t(v.Z(z,1)<<24>>24,4);break;case 3:z=t(v.bb(z,2),4);break;default:v="imm("+u(r)+")";break a}8086==v.style&&r&64?z="["+z+"]":r&16||(z=(v.style==Le?"$":"0x")+z);v=z}else r&16?(v=
|
function Kf(a,b,c,d){for(var e=X(b.G),f=a.Z(b,1),g=a.Ha[f],h="",k=(8086!=a.style?Qe:Re)[g[0]],m=g.length-1,p=0,q,y=1;y<=m;y++){var u="";q=g[y];if(void 0!==q&&!(q&16384&&a.style==Le)){var r=q&240;if(r){var z=q&15;z?p=z:q|=p;q&61440||(q|=1==y?8192:4096);if(r&32)a:{u=a;r=q;z=b;switch(r&15){case 1:z=t(u.Z(z,1),2);break;case 2:z=t(u.Z(z,1)<<24>>24,4);break;case 3:z=t(u.bb(z,2),4);break;default:u="imm("+v(r)+")";break a}8086==u.style&&r&64?z="["+z+"]":r&16||(z=(u.style==Le?"$":"0x")+z);u=z}else r&16?(u=
|
||||||
(q&3840)>>8,r=Se[v],8086==a.style&&q&64&&(6==v&&(r="HL"),r="["+r+"]"),v=r):r&128&&(v=(f>>3&7).toString());if(!v||!v.length){h="INVALID";break}0<h.length&&(h+=",");h+=v||"???"}}}f="";g=Z(e.G)+" ";if(-1!==e.G&&-1!==b.G){do if(f+=t(a.Z(e,1),2),null==e.G)break;while(e.G!=b.G)}g+=ma(f,10);g=g+(q&32768?"*":" ")+ma(k,7);h&&(g+=" "+h);c&&(g=ma(g,40)+";"+c,g=a.b.C.jb?g+("cycles="+Gc(a.b).toString()+" cs="+t(a.b.xb)):g+(null!=d?"="+d.toString():""));return g}
|
(q&3840)>>8,r=Se[u],8086==a.style&&q&64&&(6==u&&(r="HL"),r="["+r+"]"),u=r):r&128&&(u=(f>>3&7).toString());if(!u||!u.length){h="INVALID";break}0<h.length&&(h+=",");h+=u||"???"}}}f="";g=Z(e.G)+" ";if(-1!==e.G&&-1!==b.G){do if(f+=t(a.Z(e,1),2),null==e.G)break;while(e.G!=b.G)}g+=ma(f,10);g=g+(q&32768?"*":" ")+ma(k,7);h&&(g+=" "+h);c&&(g=ma(g,40)+";"+c,g=a.b.C.jb?g+("cycles="+Gc(a.b).toString()+" cs="+t(a.b.xb)):g+(null!=d?"="+d.toString():""));return g}
|
||||||
function Lf(a,b){switch(b){case "IF":a=a.b.ta&512;break;case "SF":a=fd(a.b);break;case "ZF":a=ed(a.b);break;case "AF":a=dd(a.b);break;case "PF":a=cd(a.b);break;case "CF":a=ad(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Mf(a,b){return Se[b]+"="+Af(a,b)+" "}function Nf(a){return Mf(a,7)+Mf(a,8)+Mf(a,9)+Mf(a,10)+Mf(a,11)+Lf(a,"IF")+Lf(a,"SF")+Lf(a,"ZF")+Lf(a,"AF")+Lf(a,"PF")+Lf(a,"CF")}l.zc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
function Lf(a,b){switch(b){case "IF":a=a.b.ta&512;break;case "SF":a=fd(a.b);break;case "ZF":a=ed(a.b);break;case "AF":a=dd(a.b);break;case "PF":a=cd(a.b);break;case "CF":a=ad(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Mf(a,b){return Se[b]+"="+Af(a,b)+" "}function Nf(a){return Mf(a,7)+Mf(a,8)+Mf(a,9)+Mf(a,10)+Mf(a,11)+Lf(a,"IF")+Lf(a,"SF")+Lf(a,"ZF")+Lf(a,"AF")+Lf(a,"PF")+Lf(a,"CF")}l.zc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||||
function Of(a,b,c){var d=[],e=Ue(b)>>>0;for(b=0;b<a.D.length;b++){var f=a.D[b],g=f.G>>>0,h=f.$d;if(e>=g&&e<g+h){e=pa(f.yc,[e-g],a.zc);0<=e?Pf(a,b,e,d):c&&(e=~e,Pf(a,b,e-1,d),Pf(a,b,e,d));break}}return d}function Pf(a,b,c,d){var e={},f=a.D[b].yc,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.D[b].Fa[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
function Of(a,b,c){var d=[],e=Ue(b)>>>0;for(b=0;b<a.D.length;b++){var f=a.D[b],g=f.G>>>0,h=f.$d;if(e>=g&&e<g+h){e=pa(f.yc,[e-g],a.zc);0<=e?Pf(a,b,e,d):c&&(e=~e,Pf(a,b,e-1,d),Pf(a,b,e,d));break}}return d}function Pf(a,b,c,d){var e={},f=a.D[b].yc,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.D[b].Fa[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||||
function Qf(a,b){if("?"==b)a.g("frequency commands:"),a.g("\tclear\tclear all frequency counts");else{var c=0;if(a.I)if("clear"==b){for(b=0;b<a.I.length;b++)a.I[b]=[b,0];a.g("frequency data cleared");c++}else if(void 0!==b)a.g("unknown frequency command: "+b),c++;else{var d=a.I.slice();d.sort(function(a,b){return b[1]-a[1]});var e=8086!=a.style?Qe:Re;for(b=0;b<d.length;b++){var f=d[b][0],g=d[b][1];g&&(a.g((e[a.Ha[f][0]]+" ").substr(0,5)+" ("+ca(f)+"): "+g+" times"),c++)}}c||a.g("no frequency data available")}}
|
function Qf(a,b){if("?"==b)a.g("frequency commands:"),a.g("\tclear\tclear all frequency counts");else{var c=0;if(a.I)if("clear"==b){for(b=0;b<a.I.length;b++)a.I[b]=[b,0];a.g("frequency data cleared");c++}else if(void 0!==b)a.g("unknown frequency command: "+b),c++;else{var d=a.I.slice();d.sort(function(a,b){return b[1]-a[1]});var e=8086!=a.style?Qe:Re;for(b=0;b<d.length;b++){var f=d[b][0],g=d[b][1];g&&(a.g((e[a.Ha[f][0]]+" ").substr(0,5)+" ("+ca(f)+"): "+g+" times"),c++)}}c||a.g("no frequency data available")}}
|
||||||
function Rf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Je(a)||a.g("no variables"),!0;if(!c[2])return Je(a,c[1]);if(!c[3])return delete a.da[c[1]],!0;b=Ee(a,c[3]);return void 0!==b?(a.da[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
|
function Rf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Je(a)||a.g("no variables"),!0;if(!c[2])return Je(a,c[1]);if(!c[3])return delete a.da[c[1]],!0;b=Ee(a,c[3]);return void 0!==b?(a.da[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
|
||||||
function Sf(a,b,c){var d=null;if(b=Ve(a,b,!0)){var e=Of(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.G-e[1])&&(g=" + "+u(f)),f=e[0]+" ("+Z(e[1])+")"+g,c&&a.g(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.G)&&(g=" - "+u(f)),f=e[4]+" ("+Z(e[5])+")"+g,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d}
|
function Sf(a,b,c){var d=null;if(b=Ve(a,b,!0)){var e=Of(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.G-e[1])&&(g=" + "+v(f)),f=e[0]+" ("+Z(e[1])+")"+g,c&&a.g(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.G)&&(g=" - "+v(f)),f=e[4]+" ("+Z(e[5])+")"+g,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d}
|
||||||
function Tf(a,b){switch(b[1]){case "8080":a.style=Le;break;case "8086":a.style=8086;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.b.lb=c;break;case "start":a.b.yb=c;break;case "stop":a.b.mb=c;break;default:a.g("unknown cs option");return}void 0!==c&&qc(a.b);a.g("checksums "+(a.b.C.jb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Hc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.cb.toFixed(2)+"Mhz")+" ("+
|
function Tf(a,b){switch(b[1]){case "8080":a.style=Le;break;case "8086":a.style=8086;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.b.lb=c;break;case "start":a.b.yb=c;break;case "stop":a.b.mb=c;break;default:a.g("unknown cs option");return}void 0!==c&&qc(a.b);a.g("checksums "+(a.b.C.jb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Hc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.cb.toFixed(2)+"Mhz")+" ("+
|
||||||
a.b.Ra+"x)");return;case "?":a.g("debugger options:");a.g("\t8080\t\tselect 8080-style mnemonics");a.g("\t8086\t\tselect 8086-style mnemonics");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:if(b[1]){a.g("unknown option: "+b[1]);return}}a.g(a.style+"-style mnemonics enabled")}
|
a.b.Ra+"x)");return;case "?":a.g("debugger options:");a.g("\t8080\t\tselect 8080-style mnemonics");a.g("\t8086\t\tselect 8086-style mnemonics");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:if(b[1]){a.g("unknown option: "+b[1]);return}}a.g(a.style+"-style mnemonics enabled")}
|
||||||
function Df(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var e=b[1],f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.g("missing value for "+b[1]);return}f=Ee(a,b);if(void 0===f)return;switch(e.toUpperCase()){case "A":d.i=f&255;break;case "B":d.R=f&255;break;case "BC":d.R=f>>8&255;case "C":d.S=f&255;break;case "D":d.T=f&255;break;
|
function Df(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var e=b[1],f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.g("missing value for "+b[1]);return}f=Ee(a,b);if(void 0===f)return;switch(e.toUpperCase()){case "A":d.i=f&255;break;case "B":d.R=f&255;break;case "BC":d.R=f>>8&255;case "C":d.S=f&255;break;case "D":d.T=f&255;break;
|
||||||
|
|
@ -240,8 +241,8 @@ case "IF":d.ta=f?d.ta|512:d.ta&-513;break;default:a.g("unknown register: "+e);re
|
||||||
function Ef(a,b,c,d){if(b=Ve(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Ve(a,c,!0);if(!d||d.G<b.G)return;e=d.G-b.G;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=lb(a,!1)||a.X?a.J:null;var g=null!=f?"cycles":null,h=Of(a,b),k=b.G;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(g=h[3],f=null);f=Kf(a,b,g,f);a.g(f);a.L=b;e-=b.G-k;c++}}}
|
function Ef(a,b,c,d){if(b=Ve(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Ve(a,c,!0);if(!d||d.G<b.G)return;e=d.G-b.G;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=lb(a,!1)||a.X?a.J:null;var g=null!=f?"cycles":null,h=Of(a,b),k=b.G;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(g=h[3],f=null);f=Kf(a,b,g,f);a.g(f);a.L=b;e-=b.G-k;c++}}}
|
||||||
l.Jb=function(a,b,c){if(b)if(a){0>this.j&&this.u.length&&(this.j=0);if(0>this.j||a!=this.u[this.j])this.u.splice(0,0,a),this.j=0;this.j--}else this.O?a="end":a=this.u[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b};
|
l.Jb=function(a,b,c){if(b)if(a){0>this.j&&this.u.length&&(this.j=0);if(0>this.j||a!=this.u[this.j])this.u.splice(0,0,a),this.j=0;this.j--}else this.O?a="end":a=this.u[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b};
|
||||||
function Jf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.O&&(a.g("ended assemble at "+Z(a.ba.G)),a.L=a.ba,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ka=null;if(mb(a)&&0<b.length){a.O&&(b="a "+Z(a.ba.G)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var g=f[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){f[0]=g.substr(k);f.unshift(g.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var p=Ve(a,f[1],!0);if(p)if(a.ba=
|
function Jf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.O&&(a.g("ended assemble at "+Z(a.ba.G)),a.L=a.ba,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ka=null;if(mb(a)&&0<b.length){a.O&&(b="a "+Z(a.ba.G)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var g=f[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){f[0]=g.substr(k);f.unshift(g.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var p=Ve(a,f[1],!0);if(p)if(a.ba=
|
||||||
p,void 0===f[2])a.g("begin assemble at "+Z(p.G)),a.O=!0,Ec(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var y=0;y<q.length;y++)a.ua(p,q[y],1);a.g(Kf(a,a.ba))}}break;case "b":a:{var v=f[0],r=f[1],z=b;if("?"==r)a.g("breakpoint commands:"),a.g("\tbi [p]\ttoggle break on input port [p]"),a.g("\tbo [p]\ttoggle break on output port [p]"),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]"),
|
p,void 0===f[2])a.g("begin assemble at "+Z(p.G)),a.O=!0,Ec(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var y=0;y<q.length;y++)a.ua(p,q[y],1);a.g(Kf(a,a.ba))}}break;case "b":a:{var u=f[0],r=f[1],z=b;if("?"==r)a.g("breakpoint commands:"),a.g("\tbi [p]\ttoggle break on input port [p]"),a.g("\tbo [p]\ttoggle break on output port [p]"),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 H=v.charAt(1);if("l"==H){var ha;ha=0+If(a,a.F);ha+=If(a,a.N);(ha+=If(a,a.B))||a.g("no breakpoints")}else if("n"==H)a.ia=Ge(a,r),a.g("break after "+a.ia+" instruction(s)");else if(void 0===r)a.g("missing breakpoint address");else{var C=X();if("*"!=r&&(C=Ve(a,r,!0),!C))break a;r=u(C.G);"c"==H?null==C.G?(Me(a),a.g("all breakpoints cleared")):Gf(a,a.F,C)||Gf(a,a.N,C)||Gf(a,a.B,C)||a.g("breakpoint missing: "+Z(C.G)):
|
a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");else{var H=u.charAt(1);if("l"==H){var ha;ha=0+If(a,a.F);ha+=If(a,a.N);(ha+=If(a,a.B))||a.g("no breakpoints")}else if("n"==H)a.ia=Ge(a,r),a.g("break after "+a.ia+" instruction(s)");else if(void 0===r)a.g("missing breakpoint address");else{var C=X();if("*"!=r&&(C=Ve(a,r,!0),!C))break a;r=v(C.G);"c"==H?null==C.G?(Me(a),a.g("all breakpoints cleared")):Gf(a,a.F,C)||Gf(a,a.N,C)||Gf(a,a.B,C)||a.g("breakpoint missing: "+Z(C.G)):
|
||||||
"i"==H?a.g("breakpoint "+(Fb(a.w,C.G)?"enabled":"cleared")+": port "+r+" (input)"):"o"==H?a.g("breakpoint "+(Kb(a.w,C.G)?"enabled":"cleared")+": port "+r+" (output)"):null!=C.G&&(yf(a,C,z),"p"==H?a.$a(a.F,C):"r"==H?a.$a(a.N,C):"w"==H?a.$a(a.B,C):a.g("unknown breakpoint command: "+H))}}}break;case "c":a.Ia&&(a.Ia.value="");break;case "d":a:{var U,ea=f[0],Y=f[1],va=f[2],Hb=f[3];if("?"==Y){var qb="";for(U in sb)a.va[U]&&(qb&&(qb+=","),qb+=U);qb+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");
|
"i"==H?a.g("breakpoint "+(Fb(a.w,C.G)?"enabled":"cleared")+": port "+r+" (input)"):"o"==H?a.g("breakpoint "+(Kb(a.w,C.G)?"enabled":"cleared")+": port "+r+" (output)"):null!=C.G&&(yf(a,C,z),"p"==H?a.$a(a.F,C):"r"==H?a.$a(a.N,C):"w"==H?a.$a(a.B,C):a.g("unknown breakpoint command: "+H))}}}break;case "c":a.Ia&&(a.Ia.value="");break;case "d":a:{var U,ea=f[0],Y=f[1],va=f[2],Hb=f[3];if("?"==Y){var qb="";for(U in sb)a.va[U]&&(qb&&(qb+=","),qb+=U);qb+=",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");qb.length&&a.g("dump extension commands:\n\t"+qb)}else if("state"==Y){var Xe=Wf(a.A,!0);"console"==va?console.log(Xe):(a.Ia&&(a.Ia.value=""),a.g(Xe))}else if("symbols"==Y)for(var md=0;md<a.D.length;md++){var nd=a.D[md],rb;for(rb in nd.Fa)if("."!=rb.charAt(0)){var Ye=nd.Fa[rb].o;if(void 0!==Ye){var Ze=nd.Fa[rb].l;Ze&&(rb=Ze);a.g(Z(Ye)+" "+rb)}}}else{if("d"==
|
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");qb.length&&a.g("dump extension commands:\n\t"+qb)}else if("state"==Y){var Xe=Wf(a.A,!0);"console"==va?console.log(Xe):(a.Ia&&(a.Ia.value=""),a.g(Xe))}else if("symbols"==Y)for(var md=0;md<a.D.length;md++){var nd=a.D[md],rb;for(rb in nd.Fa)if("."!=rb.charAt(0)){var Ye=nd.Fa[rb].o;if(void 0!==Ye){var Ze=nd.Fa[rb].l;Ze&&(rb=Ze);a.g(Z(Ye)+" "+rb)}}}else{if("d"==
|
||||||
ea){for(U in sb)if(f[1]==U){var $e=a.va[U];$e?(f.shift(),f.shift(),$e(f)):a.g("no dump registered for "+Y);break a}Y||(ea=a.ub||"db")}else a.ub=ea;if("dh"==ea){var af=Y,bf=va,cf="",df=0,wa=a.ea,Ha=a.K;if(Ha.length){var ja=+af||a.ib,Lb=+bf||10;isNaN(ja)?ja=Lb:cf="more ";ja>Ha.length&&(a.g("note: only "+Ha.length+" available"),ja=Ha.length);wa-=ja;0>wa&&(null==Ha[Ha.length-1].G?(ja=wa+ja,wa=0):wa+=Ha.length);var od=[];"call"==bf&&(Lb=1E5,od=["CALL"]);for(void 0!==af&&a.g(ja+" instructions earlier:");0<
|
ea){for(U in sb)if(f[1]==U){var $e=a.va[U];$e?(f.shift(),f.shift(),$e(f)):a.g("no dump registered for "+Y);break a}Y||(ea=a.ub||"db")}else a.ub=ea;if("dh"==ea){var af=Y,bf=va,cf="",df=0,wa=a.ea,Ha=a.K;if(Ha.length){var ja=+af||a.ib,Lb=+bf||10;isNaN(ja)?ja=Lb:cf="more ";ja>Ha.length&&(a.g("note: only "+Ha.length+" available"),ja=Ha.length);wa-=ja;0>wa&&(null==Ha[Ha.length-1].G?(ja=wa+ja,wa=0):wa+=Ha.length);var od=[];"call"==bf&&(Lb=1E5,od=["CALL"]);for(void 0!==af&&a.g(ja+" instructions earlier:");0<
|
||||||
|
|
@ -249,10 +250,10 @@ Lb&&wa!=a.ea;){var ef=Ha[wa++];if(null==ef.G)break;var Mb=X(ef.G),ng=ja--,ff=Kf(
|
||||||
gf="",Y=Z(rc.G);for(Ob=16;0<Ob&&0<uc;Ob--){var wc=a.Z(rc,1),vc=vc|wc<<(pd++<<3);pd==tc&&(qd+=t(vc,2*tc),qd+=1==tc?9==Ob?"-":" ":" ",vc=pd=0);gf+=32<=wc&&128>wc?String.fromCharCode(wc):".";uc--}Nb&&(Nb+="\n");Nb+=Y+" "+qd+(Ob?"":" "+gf)}Nb&&a.g(Nb);a.Va=rc}}}}break;case "e":if("else"==f[0])break;var xc=1,hf=255,jf=a.Z,kf=a.ua;"ew"==f[0]&&(xc=2,hf=65535,jf=a.bb,kf=a.Mb);var lf=xc<<1,mf=f[1];if(null==mf)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");
|
gf="",Y=Z(rc.G);for(Ob=16;0<Ob&&0<uc;Ob--){var wc=a.Z(rc,1),vc=vc|wc<<(pd++<<3);pd==tc&&(qd+=t(vc,2*tc),qd+=1==tc?9==Ob?"-":" ":" ",vc=pd=0);gf+=32<=wc&&128>wc?String.fromCharCode(wc):".";uc--}Nb&&(Nb+="\n");Nb+=Y+" "+qd+(Ob?"":" "+gf)}Nb&&a.g(Nb);a.Va=rc}}}}break;case "e":if("else"==f[0])break;var xc=1,hf=255,jf=a.Z,kf=a.ua;"ew"==f[0]&&(xc=2,hf=65535,jf=a.bb,kf=a.Mb);var lf=xc<<1,mf=f[1];if(null==mf)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 yc=Ve(a,mf);if(yc)for(var zc=2;zc<f.length;zc++){var Pb=Ee(a,f[zc]);if(void 0===Pb){a.g("unrecognized value: "+f[zc]);break}Pb&~hf&&a.g("warning: "+t(Pb)+" exceeds "+xc+"-byte value");var pg=jf.call(a,yc);a.g("changing "+Z(yc.G)+" from "+t(pg,lf,!0)+" to "+t(Pb,lf,!0));kf.call(a,yc,Pb,xc)}}break;case "f":Qf(a,f[1]);break;case "g":a:{var nf=f[1],qg=b;if(void 0!==nf){var rd=Ve(a,nf,!0);if(!rd)break a;yf(a,rd,qg);a.$a(a.F,rd,!0)}a.eb(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;
|
else{var yc=Ve(a,mf);if(yc)for(var zc=2;zc<f.length;zc++){var Pb=Ee(a,f[zc]);if(void 0===Pb){a.g("unrecognized value: "+f[zc]);break}Pb&~hf&&a.g("warning: "+t(Pb)+" exceeds "+xc+"-byte value");var pg=jf.call(a,yc);a.g("changing "+Z(yc.G)+" from "+t(pg,lf,!0)+" to "+t(Pb,lf,!0));kf.call(a,yc,Pb,xc)}}break;case "f":Qf(a,f[1]);break;case "g":a:{var nf=f[1],qg=b;if(void 0!==nf){var rd=Ve(a,nf,!0);if(!rd)break a;yf(a,rd,qg);a.$a(a.F,rd,!0)}a.eb(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;
|
||||||
case "h":a:{var sd;if(a.C.za)sd="halting",a.qa();else{if(lb(a,!0))break a;sd="already halted"}c||a.g(sd)}break;case "i":if("if"==f[0]){var td;var Qb=b.substr(2),Qb=na(Qb);Ee(a,Qb)?(c||a.g("true: "+Qb),td=!0):(c||a.g("false: "+Qb),td=!1);td||(d=!1);break}if("int"==f[0]){var Ac;var rg=f[1];if(a.b.ta&512){var ud=Ee(a,rg);null==ud?Ac=!1:(a.g("requesting interrupt level "+ud),Jd(a.b,ud),Ac=!0)}else a.g("interrupts disabled (use rif=1 to enable)"),Ac=!1;Ac||(d=!1);break}var vd=f[1];if(vd&&"?"!=vd){var wd=
|
case "h":a:{var sd;if(a.C.za)sd="halting",a.qa();else{if(lb(a,!0))break a;sd="already halted"}c||a.g(sd)}break;case "i":if("if"==f[0]){var td;var Qb=b.substr(2),Qb=na(Qb);Ee(a,Qb)?(c||a.g("true: "+Qb),td=!0):(c||a.g("false: "+Qb),td=!1);td||(d=!1);break}if("int"==f[0]){var Ac;var rg=f[1];if(a.b.ta&512){var ud=Ee(a,rg);null==ud?Ac=!1:(a.g("requesting interrupt level "+ud),Jd(a.b,ud),Ac=!0)}else a.g("interrupts disabled (use rif=1 to enable)"),Ac=!1;Ac||(d=!1);break}var vd=f[1];if(vd&&"?"!=vd){var wd=
|
||||||
Ge(a,vd);if(void 0!==wd){var sg=Ib(a.w,wd);a.g(u(wd)+": "+ca(sg))}}else a.g("input commands:"),a.g("\ti [p]\tread port [p]"),a.g("warning: port accesses can affect hardware state");break;case "k":var tg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var xd=0,of=X(),Rb=X(a.b.oa);for(a.g("stack trace for "+Z(Rb.G));10>xd;){for(var $a=null,ug=256;65536>Rb.G>>>0;){of.G=a.bb(Rb,2);if(null==Rb.G||!ug--)break;for(var vg=a,Bc=of,pf=
|
Ge(a,vd);if(void 0!==wd){var sg=Ib(a.w,wd);a.g(v(wd)+": "+ca(sg))}}else a.g("input commands:"),a.g("\ti [p]\tread port [p]"),a.g("warning: port accesses can affect hardware state");break;case "k":var tg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var xd=0,of=X(),Rb=X(a.b.oa);for(a.g("stack trace for "+Z(Rb.G));10>xd;){for(var $a=null,ug=256;65536>Rb.G>>>0;){of.G=a.bb(Rb,2);if(null==Rb.G||!ug--)break;for(var vg=a,Bc=of,pf=
|
||||||
null,Sb=Bc.G,qf=Sb,yd=1;6>=yd&&Sb;yd++){if(2<yd){Bc.G=Sb;var Cc=Kf(vg,Bc);if(0<=Cc.indexOf("CALL")){var rf=Cc.indexOf(" ");if(Sb+(Cc.indexOf(" ",rf+1)-rf-1)/2==qf){pf=Cc;break}}}Sb--}Bc.G=qf;if($a=pf)break}if(!$a||null==$a)break;var sf=null;if("ks"==tg){var tf=$a.match(/[0-9A-F]+$/);tf&&(sf=Sf(a,tf[0]))}$a=ma($a,50)+" ;"+(sf||"stack="+Z(Rb.G));a.g($a);xd++}xd||a.g("no return addresses found")}break;case "l":"ln"==f[0]&&Sf(a,f[1],!0);break;case "m":a:{var Ia,Ja=null,O=f[1];"?"==O&&(O=void 0);if(void 0!==
|
null,Sb=Bc.G,qf=Sb,yd=1;6>=yd&&Sb;yd++){if(2<yd){Bc.G=Sb;var Cc=Kf(vg,Bc);if(0<=Cc.indexOf("CALL")){var rf=Cc.indexOf(" ");if(Sb+(Cc.indexOf(" ",rf+1)-rf-1)/2==qf){pf=Cc;break}}}Sb--}Bc.G=qf;if($a=pf)break}if(!$a||null==$a)break;var sf=null;if("ks"==tg){var tf=$a.match(/[0-9A-F]+$/);tf&&(sf=Sf(a,tf[0]))}$a=ma($a,50)+" ;"+(sf||"stack="+Z(Rb.G));a.g($a);xd++}xd||a.g("no return addresses found")}break;case "l":"ln"==f[0]&&Sf(a,f[1],!0);break;case "m":a:{var Ia,Ja=null,O=f[1];"?"==O&&(O=void 0);if(void 0!==
|
||||||
O){var Sa=0;if("all"==O)Sa=1878917119,O=null;else if("on"==O)Ja=!0,O=null;else if("off"==O)Ja=!1,O=null;else{"keys"==O&&(O="key");"kbd"==O&&(O="keyboard");for(Ia in sb)if(O==Ia){Sa=sb[Ia];Ja=!!(a.sa&Sa);break}if(!Sa){a.g("unknown message category: "+O);break a}}if(Sa)if("on"==f[2])a.sa|=Sa,Ja=!0;else if("off"==f[2]&&(a.sa&=~Sa,Ja=!1,1073741824==Sa)){for(var zd=0;zd<a.la.length;zd++)a.g(a.la[zd]);a.la=[]}}var wg=0,Tb="";for(Ia in sb)if(!O||O==Ia){var xg=!!(a.sa&sb[Ia]);if(null===Ja||Ja==xg)Tb&&(Tb+=
|
O){var Sa=0;if("all"==O)Sa=1878917119,O=null;else if("on"==O)Ja=!0,O=null;else if("off"==O)Ja=!1,O=null;else{"keys"==O&&(O="key");"kbd"==O&&(O="keyboard");for(Ia in sb)if(O==Ia){Sa=sb[Ia];Ja=!!(a.sa&Sa);break}if(!Sa){a.g("unknown message category: "+O);break a}}if(Sa)if("on"==f[2])a.sa|=Sa,Ja=!0;else if("off"==f[2]&&(a.sa&=~Sa,Ja=!1,1073741824==Sa)){for(var zd=0;zd<a.la.length;zd++)a.g(a.la[zd]);a.la=[]}}var wg=0,Tb="";for(Ia in sb)if(!O||O==Ia){var xg=!!(a.sa&sb[Ia]);if(null===Ja||Ja==xg)Tb&&(Tb+=
|
||||||
","),++wg%10||(Tb+="\n\t"),"key"==Ia&&(Ia="keys"),Tb+=Ia}void 0===O&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Ja?Ja?"messages on: ":"messages off: ":"message categories:\n\t")+(Tb||"none"));Ne(a)}break;case "o":var Ad=f[1],yg=f[2];if(Ad&&"?"!=Ad){var Bd=Ge(a,Ad,"port #"),Cd=Ge(a,yg);void 0!==Bd&&void 0!==Cd&&(Vb(a.w,Bd,Cd),a.g(u(Bd)+": "+ca(Cd)))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");
|
","),++wg%10||(Tb+="\n\t"),"key"==Ia&&(Ia="keys"),Tb+=Ia}void 0===O&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Ja?Ja?"messages on: ":"messages off: ":"message categories:\n\t")+(Tb||"none"));Ne(a)}break;case "o":var Ad=f[1],yg=f[2];if(Ad&&"?"!=Ad){var Bd=Ge(a,Ad,"port #"),Cd=Ge(a,yg);void 0!==Bd&&void 0!==Cd&&(Vb(a.w,Bd,Cd),a.g(v(Bd)+": "+ca(Cd)))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");
|
||||||
break;case "p":if("print"==f[0]){Uf(a,b.substr(5));break}var uf="pr"==f[0]?1:0,zg=1+uf;if(a.X)a.g("step in progress");else{var Dd=X(a.b.P);switch(a.Z(Dd)){case 205:a.X=zg,We(Dd,3)}a.X?(a.$a(a.F,Dd,!0),a.eb()||(a.A&&a.A.Bb(),a.X=0)):Vf(a,uf?"tr":"t")}break;case "r":if("reset"==b){a.A&&a.A.reset();break}Df(a,f);break;case "s":Tf(a,f);break;case "t":Vf(a,f[0],f[1]);break;case "u":Ef(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Rf(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.30.5 ("+a.b.ae+",RELEASE"+
|
break;case "p":if("print"==f[0]){Uf(a,b.substr(5));break}var uf="pr"==f[0]?1:0,zg=1+uf;if(a.X)a.g("step in progress");else{var Dd=X(a.b.P);switch(a.Z(Dd)){case 205:a.X=zg,We(Dd,3)}a.X?(a.$a(a.F,Dd,!0),a.eb()||(a.A&&a.A.Bb(),a.X=0)):Vf(a,uf?"tr":"t")}break;case "r":if("reset"==b){a.A&&a.A.reset();break}Df(a,f);break;case "s":Tf(a,f);break;case "t":Vf(a,f[0],f[1]);break;case "u":Ef(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Rf(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.30.5 ("+a.b.ae+",RELEASE"+
|
||||||
(ob?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(xa());break;case "?":if(f[1]){Uf(a,b.substr(1));break}var Ed="commands:",Fd;for(Fd in Pe)Ed+="\n"+ma(Fd,9)+Pe[Fd];Kd(a)||(Ed+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Ed);break;default:a.g("unknown command: "+b),d=!1}}}catch(vf){a.g("debugger error: "+(vf.stack||vf.message)),d=!1}return d}function Dc(a,b,c){b=a.Jb(b,c);for(var d in b)if(!Jf(a,b[+d]))return!1;return!0}
|
(ob?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(xa());break;case "?":if(f[1]){Uf(a,b.substr(1));break}var Ed="commands:",Fd;for(Fd in Pe)Ed+="\n"+ma(Fd,9)+Pe[Fd];Kd(a)||(Ed+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Ed);break;default:a.g("unknown command: "+b),d=!1}}}catch(vf){a.g("debugger error: "+(vf.stack||vf.message)),d=!1}return d}function Dc(a,b,c){b=a.Jb(b,c);for(var d in b)if(!Jf(a,b[+d]))return!1;return!0}
|
||||||
Oa(function(){for(var a=D(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Ke(d);gb(d,c)}});
|
Oa(function(){for(var a=D(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Ke(d);gb(d,c)}});
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ var l,aa,ba={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],3686
|
||||||
"{":123,"|":124,"}":125,"~":126,Wo:127},ca={};ca[186]=p[";"];ca[187]=p["="];ca[188]=p[","];ca[189]=p["-"];ca[190]=p["."];ca[191]=p["/"];ca[192]=p["`"];ca[219]=p["["];ca[220]=p["\\"];ca[221]=p["]"];ca[222]=p["'"];ca[173]=p["-"];var da={};da[p["1"]]=p["!"];da[p["2"]]=p["@"];da[p["3"]]=p["#"];da[p["4"]]=p.$;da[p["5"]]=p["%"];da[p["6"]]=p["^"];da[p["7"]]=p["&"];da[p["8"]]=p["*"];da[p["9"]]=p["("];da[p["0"]]=p[")"];da[186]=p[":"];da[187]=p["+"];da[188]=p["<"];da[189]=p._;da[190]=p[">"];da[191]=p["?"];
|
"{":123,"|":124,"}":125,"~":126,Wo:127},ca={};ca[186]=p[";"];ca[187]=p["="];ca[188]=p[","];ca[189]=p["-"];ca[190]=p["."];ca[191]=p["/"];ca[192]=p["`"];ca[219]=p["["];ca[220]=p["\\"];ca[221]=p["]"];ca[222]=p["'"];ca[173]=p["-"];var da={};da[p["1"]]=p["!"];da[p["2"]]=p["@"];da[p["3"]]=p["#"];da[p["4"]]=p.$;da[p["5"]]=p["%"];da[p["6"]]=p["^"];da[p["7"]]=p["&"];da[p["8"]]=p["*"];da[p["9"]]=p["("];da[p["0"]]=p[")"];da[186]=p[":"];da[187]=p["+"];da[188]=p["<"];da[189]=p._;da[190]=p[">"];da[191]=p["?"];
|
||||||
da[192]=p["~"];da[219]=p["{"];da[220]=p["|"];da[221]=p["}"];da[222]=p['"'];da[173]=p._;da[61]=p["+"];da[59]=p[":"];
|
da[192]=p["~"];da[219]=p["{"];da[220]=p["|"];da[221]=p["}"];da[222]=p['"'];da[173]=p._;da[61]=p["+"];da[59]=p[":"];
|
||||||
function ea(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(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&&e&&(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 f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
function ea(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(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&&e&&(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 f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
||||||
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function fa(a,b){var c="";b?32<b&&(b=32):b=32;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=(a&1?"1":"0")+c,a>>=1;return c}function ha(a,b,c){var d="";if(!b||4<b)b=4;for(var e=0;e<b;e++)d&&(d=","+d),d=fa(a&255,8)+d,a>>=8;return(c?"0b":"")+d}
|
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function fa(a,b){var c,d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function ha(a,b,c){var d="";if(!b||4<b)b=4;for(var e=0;e<b;e++)d&&(d=","+d),d=fa(a&255,8)+d,a>>=8;return(c?"0b":"")+d}
|
||||||
function ia(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function r(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 e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function u(a){return r(a,2,!0)}function v(a){return r(a,4,!0)}
|
function ia(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function r(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 e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function u(a){return r(a,2,!0)}function v(a){return r(a,4,!0)}
|
||||||
function ja(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ka(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ma(a,b){return-1!==a.indexOf(b,a.length-b.length)}var na={"&":"&","<":"<",">":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})}
|
function ja(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ka(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ma(a,b){return-1!==a.indexOf(b,a.length-b.length)}var na={"&":"&","<":"<",">":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})}
|
||||||
function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
|
function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
|
||||||
|
|
|
||||||
|
|
@ -32,328 +32,332 @@
|
||||||
http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016
|
http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016
|
||||||
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016
|
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016
|
||||||
*/
|
*/
|
||||||
for(var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],ea=0;ea<ca.length-1;ea++){var fa=ca[ea];fa in ba||(ba[fa]={});ba=ba[fa]}var ga=ca[ca.length-1],ia=ba[ga],ja=ia?ia:function(a){return Math.log(a)/Math.LN2};
|
for(var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da<ca.length-1;da++){var ea=ca[da];ea in ba||(ba[ea]={});ba=ba[ea]}var ha=ca[ca.length-1],ia=ba[ha],ja=ia?ia:function(a){return Math.log(a)/Math.LN2};
|
||||||
ja!=ia&&null!=ja&&aa(ba,ga,{configurable:!0,writable:!0,value:ja});
|
ja!=ia&&null!=ja&&aa(ba,ha,{configurable:!0,writable:!0,value:ja});
|
||||||
var ka={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},la={Ff:0,Uc:1,Hf:2,If:3,Jf:4,Kf:5,Lf:6,Mf:7,xc:8,Nf:9,Vc:10,Of:11,Pf:12,Wc:13,Qf:14,Rf:15,Sf:16,Tf:17,Uf:18,Vf:19,Wf:20,Xf:21,Yf:22,Zf:23,$f:24,ag:25,bg:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
|
var la={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},ma={Ff:0,Vc:1,Hf:2,If:3,Jf:4,Kf:5,Lf:6,Mf:7,zc:8,Nf:9,Wc:10,Of:11,Pf:12,Xc:13,Qf:14,Rf:15,Sf:16,Tf:17,Uf:18,Vf:19,Wf:20,Xf:21,Yf:22,Zf:23,$f:24,ag:25,bg:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
|
||||||
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,vc:65,Ef:66,Gf:67,cg:68,E:69,dg:70,eg:71,fg:72,gg:73,hg:74,ig:75,jg:76,kg:77,lg:78,mg:79,ng:80,Q:81,og:82,pg:83,qg:84,rg:85,sg:86,tg:87,ug:88,vg:89,fd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,wg:97,xg:98,yg:99,d:100,e:101,Ag:102,Bg:103,Cg:104,Dg:105,Gg:106,k:107,Hg:108,Ig:109,n:110,Jg:111,p:112,q:113,r:114,Kg:115,t:116,Mg:117,Ng:118,Og:119,x:120,y:121,z:122,"{":123,
|
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,xc:65,Ef:66,Gf:67,cg:68,E:69,dg:70,eg:71,fg:72,gg:73,hg:74,ig:75,jg:76,kg:77,lg:78,mg:79,ng:80,Q:81,og:82,pg:83,qg:84,rg:85,sg:86,tg:87,ug:88,vg:89,gd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,wg:97,xg:98,yg:99,d:100,e:101,Ag:102,Bg:103,Cg:104,Dg:105,Gg:106,k:107,Hg:108,Ig:109,n:110,Jg:111,p:112,q:113,r:114,Kg:115,t:116,Mg:117,Ng:118,Og:119,x:120,y:121,z:122,"{":123,
|
||||||
"|":124,"}":125,"~":126,Xc:127};
|
"|":124,"}":125,"~":126,Yc:127};
|
||||||
function ma(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(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&&e&&(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 f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(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&&e&&(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 f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
||||||
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function na(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function p(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 e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function q(a){return p(a,4,!0)}
|
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function oa(a,b,c){var d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function p(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
|
||||||
function u(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function oa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function pa(a,b){return-1!==a.indexOf(b,a.length-b.length)}var qa={"&":"&","<":"<",">":">",'"':""","'":"'"};function sa(a){return a.replace(/[&<>"']/g,function(a){return qa[a]})}
|
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 e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function v(a){return q(a,4,!0)}function w(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function pa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}
|
||||||
function ta(a,b){return(a+" ").slice(0,b)}function ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var za={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
|
function qa(a,b){return-1!==a.indexOf(b,a.length-b.length)}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"};function sa(a){return a.replace(/[&<>"']/g,function(a){return ra[a]})}function ua(a,b){return(a+" ").slice(0,b)}function va(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
|
||||||
function Aa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}var Ba=Date.now||function(){return+new Date};function Ca(){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())}
|
var Ca={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function Da(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}var Ea=Date.now||function(){return+new Date};
|
||||||
function Da(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];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&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
function Fa(){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 Ga(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];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&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
||||||
typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||||
function Ea(a,b){var c,d={ga:null,ia:null,Ta:null,Sa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ta=g.load;d.Sa=g.exec;if(e=g.bytes)d.ga=e;else if(e=g.words)for(d.ga=Array(2*e.length),f=c=0;c<e.length;c++)d.ga[f++]=e[c]&255,d.ga[f++]=e[c]>>8&255;else if(e=g.data)for(d.ga=Array(4*e.length),f=c=0;c<e.length;c++)d.ga[f++]=
|
function Ha(a,b){var c,d={ha:null,ja:null,Ua:null,Ta:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ua=g.load;d.Ta=g.exec;if(e=g.bytes)d.ha=e;else if(e=g.words)for(d.ha=Array(2*e.length),f=c=0;c<e.length;c++)d.ha[f++]=e[c]&255,d.ha[f++]=e[c]>>8&255;else if(e=g.data)for(d.ha=Array(4*e.length),f=c=0;c<e.length;c++)d.ha[f++]=
|
||||||
e[c]&255,d.ga[f++]=e[c]>>8&255,d.ga[f++]=e[c]>>16&255,d.ga[f++]=e[c]>>24&255;else d.ga=g;d.ia=g.symbols;d.ga.length?1==d.ga.length&&(v(d.ga[0]),d=null):(v("Empty resource: "+a),d=null)}catch(h){v("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ga=e)}return d}
|
e[c]&255,d.ha[f++]=e[c]>>8&255,d.ha[f++]=e[c]>>16&255,d.ha[f++]=e[c]>>24&255;else d.ha=g;d.ja=g.symbols;d.ha.length?1==d.ha.length&&(x(d.ha[0]),d=null):(x("Empty resource: "+a),d=null)}catch(h){x("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){x("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ha=e)}return d}
|
||||||
function Fa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function v(a){window&&window.alert(a)}function Ga(a){var b=!1;window&&(b=window.confirm(a));return b}var Ia=null;function Ja(){if(null==Ia){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}Ia=a}return Ia}
|
function Ia(){return"http://"+(window?window.location.host:"www.pcjs.org")}function x(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 Ka(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function La(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ma(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 Oa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Pa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Qa(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 Na(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}function Pa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
function Ra(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}function Sa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||||
function Wa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Xa={init:[],show:[],exit:[]},Ya=!1,Za=!1,$a=!0;function ab(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function bb(a){Xa.init.push(a)}
|
function Ta(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Ua={init:[],show:[],exit:[]},Wa=!1,bb=!1,cb=!0;function db(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function eb(a){Ua.init.push(a)}
|
||||||
function cb(a){if($a)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function db(a){!$a&&a?($a=!0,Ya&&eb("init"),Za&&eb("show")):$a=a}function eb(a){Xa[a]&&cb(Xa[a])}ab("onload",function(){Ya=!0;cb(Xa.init)});ab("onpageshow",function(){Za=!0;cb(Xa.show)});ab(Ma("Opera")||Ma("iOS")?"onunload":"onbeforeunload",function(){cb(Xa.exit)});
|
function fb(a){if(cb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function gb(a){!cb&&a?(cb=!0,Wa&&hb("init"),bb&&hb("show")):cb=a}function hb(a){Ua[a]&&fb(Ua[a])}db("onload",function(){Wa=!0;fb(Ua.init)});db("onpageshow",function(){bb=!0;fb(Ua.show)});db(Qa("Opera")||Qa("iOS")?"onunload":"onbeforeunload",function(){fb(Ua.exit)});
|
||||||
function x(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.zc=b.comment;this.jd=b;b=this.id.indexOf(".");0>b?this.gb=this.id:(this.hb=this.id.substr(0,b),this.gb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,jb:!1,nc:!1,la:!1,error:!1};this.cc=null;this.C.error=!1;this.D={};this.j=null;this.oa=d||0;z.push(this)}var fb=void 0,gb={};
|
function y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Bc=b.comment;this.jd=b;b=this.id.indexOf(".");0>b?this.hb=this.id:(this.ib=this.id.substr(0,b),this.hb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,kb:!1,nc:!1,la:!1,error:!1};this.cc=null;this.C.error=!1;this.D={};this.j=null;this.pa=d||0;A.push(this)}var ib=void 0,jb={};
|
||||||
if(window){fb||(fb=window.location.search.substr(1));for(var hb,ib=/\+/g,jb=/([^&=]+)=?([^&]*)/g;hb=jb.exec(fb);)gb[decodeURIComponent(hb[1].replace(ib," "))]=decodeURIComponent(hb[2].replace(ib," "))}function kb(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){ib||(ib=window.location.search.substr(1));for(var kb,lb=/\+/g,mb=/([^&=]+)=?([^&]*)/g;kb=mb.exec(ib);)jb[decodeURIComponent(kb[1].replace(lb," "))]=decodeURIComponent(kb[2].replace(lb," "))}function nb(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||||
function B(a,b){b||(b=x);a.prototype=kb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var lb=window.PCjs.Machines||(window.PCjs.Machines={}),z=window.PCjs.Components||(window.PCjs.Components=[])}else lb={},z=[];function mb(a,b,c){lb[a]&&b&&(lb[a][b]=c)}function nb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<z.length;b++){var d=z[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
function D(a,b){b||(b=y);a.prototype=nb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var ob=window.PCjs.Machines||(window.PCjs.Machines={}),A=window.PCjs.Components||(window.PCjs.Components=[])}else ob={},A=[];function pb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<A.length;b++){var d=A[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||||
function ob(a){if(void 0!==a){var b;for(b=0;b<z.length;b++)if(z[b].id===a)return z[b]}return null}function vb(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<z.length;d++)if(c)c==z[d]&&(c=null);else if(!(a!=z[d].type||b&&z[d].id.indexOf(b)))return z[d]}return null}function D(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
|
function rb(a){if(void 0!==a){var b;for(b=0;b<A.length;b++)if(A[b].id===a)return A[b]}return null}function sb(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<A.length;d++)if(c)c==A[d]&&(c=null);else if(!(a!=A[d].type||b&&A[d].id.indexOf(b)))return A[d]}return null}function E(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b}
|
||||||
function E(a,b){b=F(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),l=0;l<h.length;l++)switch(g=h[l],g){case "pdp11-binding":(g=D(f))&&g.binding&&a.wa(g.type,g.binding,f,g.value),l=h.length}}}}
|
function F(a,b){b=G(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),l=0;l<h.length;l++)switch(g=h[l],g){case "pdp11-binding":(g=E(f))&&g.binding&&a.xa(g.type,g.binding,f,g.value),l=h.length}}}}
|
||||||
function F(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
function G(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||||
x.prototype={constructor:x,parent:null,toString:function(){return this.name?this.name:this.id||this.type},wa:function(a,b,c){switch(b){case "clear":return this.D[b]||(this.D[b]=c,c.onclick=function(a){return function(){a.D.print&&(a.D.print.value="")}}(this)),!0;case "print":return this.D[b]||(this.ab=this.D[b]=c,c.value="",this.i=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
y.prototype={constructor:y,parent:null,toString:function(){return this.name?this.name:this.id||this.type},xa:function(a,b,c){switch(b){case "clear":return this.D[b]||(this.D[b]=c,c.onclick=function(a){return function(){a.D.print&&(a.D.print.value="")}}(this)),!0;case "print":return this.D[b]||(this.bb=this.D[b]=c,c.value="",this.i=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||||
this.N=function(a){this.i(a,this.gb)}),!0;default:return!1}},log:function(){},i:function(){},status:function(a){this.i(this.gb+": "+a)},N:function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)},Ja:function(){return this.C.la=!0},Ia:function(a,b){b&&(this.C.la=!1);return!0}};function G(a,b,c,d){a.j&&(!0===c||I(a,c|0))&&a.j.message(b,d)}function I(a,b){if(a.j){a===a.j?b|=0:b=b||a.oa;var c=a.j.oa&b;return!!b&&c===b||!!(c&a.j.pd)}return!1}
|
this.N=function(a){this.i(a,this.hb)}),!0;default:return!1}},log:function(){},i:function(){},status:function(a){this.i(this.hb+": "+a)},N:function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)},La:function(){return this.C.la=!0},Ka:function(a,b){b&&(this.C.la=!1);return!0}};function H(a,b,c,d){a.j&&(!0===c||K(a,c|0))&&a.j.message(b,d)}function K(a,b){if(a.j){a===a.j?b|=0:b=b||a.pa;var c=a.j.pa&b;return!!b&&c===b||!!(c&a.j.pd)}return!1}
|
||||||
function wb(a,b){if(a.C.nc)return a.C.jb=!1,a.C.nc=!1;if(a.C.error)return a.i(a.toString()+" error"),!1;a.C.jb=b;return a.C.jb}function xb(a,b){a.C.jb&&(b?a.C.nc=!0:void 0===b&&a.i(a.toString()+" busy"));return a.C.jb}function J(a,b){a.C.error||(a.C.ready=!1!==b,a.C.ready&&(b=a.cc,a.cc=null,b&&b()))}function yb(a,b){b&&(a.C.ready?b():a.cc=b);return a.C.ready}function zb(a){return a.C.error?(a.i(a.toString()+" error"),!0):!1}function Ab(a,b){a.C.error=!0;a.N(b)}
|
function tb(a,b){if(a.C.nc)return a.C.kb=!1,a.C.nc=!1;if(a.C.error)return a.i(a.toString()+" error"),!1;a.C.kb=b;return a.C.kb}function zb(a,b){a.C.kb&&(b?a.C.nc=!0:void 0===b&&a.i(a.toString()+" busy"));return a.C.kb}function L(a,b){a.C.error||(a.C.ready=!1!==b,a.C.ready&&(b=a.cc,a.cc=null,b&&b()))}function Ab(a,b){b&&(a.C.ready?b():a.cc=b);return a.C.ready}function Bb(a){return a.C.error?(a.i(a.toString()+" error"),!0):!1}function Cb(a,b){a.C.error=!0;a.N(b)}
|
||||||
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
||||||
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
|
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
|
||||||
var Bb="undefined"!==typeof ArrayBuffer,Cb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Db={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},Eb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,kw11:524288,timer:524288,speaker:16777216,computer:33554432,log:268435456,warn:536870912,
|
var Db="undefined"!==typeof ArrayBuffer,Eb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Fb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},Gb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,kw11:524288,timer:524288,speaker:16777216,computer:33554432,log:268435456,warn:536870912,
|
||||||
buffer:1073741824,halt:-2147483648};function Fb(a){x.call(this,"Panel",a,Fb,512);this.Ca=this.v=this.eb=this.Ab=this.B=this.F=0;this.I=this.J=this.G=!1;this.K=Gb;this.g={};this.f={START:[1,1,!0,!1,this.Ed],STEP:[1,1,!1,!1,this.Fd],ENABLE:[1,1,!1,!1,this.Ad],CONT:[1,1,!0,!1,this.yd],DEP:[0,0,!0,!1,this.zd],EXAM:[1,1,!0,!1,this.Bd],LOAD:[1,1,!0,!1,this.Dd],TEST:[0,0,!0,!1,this.Cd]};for(a=0;22>a;a++)this.f["S"+a]=[0,0,!1,!1,this.Gd,a]}B(Fb);var Gb=7;function Hb(a,b){return a.f[b]&&a.f[b][1]}k=Fb.prototype;
|
buffer:1073741824,halt:-2147483648};function Hb(a){y.call(this,"Panel",a,Hb,512);this.Da=this.v=this.gb=this.Ab=this.A=this.F=0;this.I=this.J=this.H=!1;this.K=Ib;this.g={};this.f={START:[1,1,!0,!1,this.Ed],STEP:[1,1,!1,!1,this.Fd],ENABLE:[1,1,!1,!1,this.Ad],CONT:[1,1,!0,!1,this.yd],DEP:[0,0,!0,!1,this.zd],EXAM:[1,1,!0,!1,this.Bd],LOAD:[1,1,!0,!1,this.Dd],TEST:[0,0,!0,!1,this.Cd]};for(a=0;22>a;a++)this.f["S"+a]=[0,0,!1,!1,this.Gd,a]}D(Hb);var Ib=7;function Jb(a,b){return a.f[b]&&a.f[b][1]}k=Hb.prototype;
|
||||||
k.reset=function(){this.stop()};
|
k.reset=function(){this.stop()};
|
||||||
k.wa=function(a,b,c,d){if(this.A&&this.A.wa(a,b,c,d)||this.b&&this.b.wa(a,b,c,d)||this.j&&this.j.wa(a,b,c,d))return!0;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":return this.D[b]=c,this.F++,!0;default:return"led"==a||"rled"==a?(this.D[b]=c,this.g[b]=d?1:0,this.F++,!0):"switch"==a?(void 0===this.f[b]&&(this.f[b]=[d?1:0,d?1:0]),this.D[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
|
k.xa=function(a,b,c,d){if(this.B&&this.B.xa(a,b,c,d)||this.b&&this.b.xa(a,b,c,d)||this.j&&this.j.xa(a,b,c,d))return!0;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":return this.D[b]=c,this.F++,!0;default:return"led"==a||"rled"==a?(this.D[b]=c,this.g[b]=d?1:0,this.F++,!0):"switch"==a?(void 0===this.f[b]&&(this.f[b]=[d?1:0,d?1:0]),this.D[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
|
||||||
b){return function(){Ib(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Jb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Ib(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Jb(a,b)}}(this,b),!0):this.parent.wa.call(this,a,b,c,d)}};k.Ga=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.j=d;Kb(b,this,Lb);Mb(b,this.reset.bind(this));Nb(this);Ob(this)};k.Ja=function(a,b){b||(Pb(),this.reset());return!0};k.Ia=function(){return!0};
|
b){return function(){Kb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Lb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Kb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Lb(a,b)}}(this,b),!0):this.parent.xa.call(this,a,b,c,d)}};k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.j=d;Mb(b,this,Nb);Ob(b,this.reset.bind(this));Pb(this);Qb(this)};k.La=function(a,b){b||(Rb(),this.reset());return!0};k.Ka=function(){return!0};
|
||||||
function Qb(a,b,c){if(a=a.D[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Nb(a,b){for(var c in a.g)Qb(a,c,null!=b?b:a.g[c])}function Rb(a,b,c){if(a=a.D[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Ob(a){for(var b in a.f)Rb(a,b,a.f[b][1])}function Sb(a,b,c,d){a.D[b]&&(void 0===c&&(Ab(a,"Value for "+b+" is invalid"),a.b.ba()),c=8==(a.j&&a.j.ma||8)?na(c,d):p(c,d),a.D[b].textContent!=c&&(a.D[b].textContent=c))}
|
function Sb(a,b,c){if(a=a.D[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Pb(a,b){for(var c in a.g)Sb(a,c,null!=b?b:a.g[c])}function Tb(a,b,c){if(a=a.D[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Qb(a){for(var b in a.f)Tb(a,b,a.f[b][1])}function Ub(a,b,c,d){a.D[b]&&(void 0===c&&(Cb(a,"Value for "+b+" is invalid"),a.b.ba()),c=8==(a.j&&a.j.ma||8)?p(c,d):q(c,d),a.D[b].textContent!=c&&(a.D[b].textContent=c))}
|
||||||
function Ib(a,b){var c=a.f[b];Rb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.I="DEP"==b,a.J="EXAM"==b)}function Jb(a,b){var c=a.f[b];c[2]&&c[3]&&(Rb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}k.Ed=function(a){a||this.b.C.X||(a=this.b,a.w.reset(),Tb(a),Hb(this,"ENABLE")&&this.b.pb())};k.Fd=function(){};k.Ad=function(a){a||this.b.ba()};
|
function Kb(a,b){var c=a.f[b];Tb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.I="DEP"==b,a.J="EXAM"==b)}function Lb(a,b){var c=a.f[b];c[2]&&c[3]&&(Tb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}k.Ed=function(a){a||this.b.C.X||(a=this.b,a.w.reset(),Vb(a),Jb(this,"ENABLE")&&this.b.pb())};k.Fd=function(){};k.Ad=function(a){a||this.b.ba()};
|
||||||
k.yd=function(a){if(!a&&!this.b.C.X)if(Hb(this,"ENABLE"))this.b.pb();else{if((a=this.j)&&!xb(a,!0))wb(a,!0),a.qb(0,null),wb(a,!1);else try{var b=this.b.qb(1);0<b&&(Ub(this.b,b),Vb(this.b,b,!0),Wb(this.b,b))}catch(c){"number"!=typeof c&&Ab(this.b,c.stack||c.message)}this.stop();this.A&&this.A.xa()}};k.zd=function(a){if(a&&!this.b.C.X)if(this.I&&Xb(this),a=kc(this,this.eb),this.K==Gb)lc(this.w,this.Ca,a);else{var b=this.b,c=this.Ca;b.J++;b.uc(mc(b,c,4),a);b.J--}};
|
k.yd=function(a){if(!a&&!this.b.C.X)if(Jb(this,"ENABLE"))this.b.pb();else{if((a=this.j)&&!zb(a,!0))tb(a,!0),a.qb(0,null),tb(a,!1);else try{var b=this.b.qb(1);0<b&&(Wb(this.b,b),Xb(this.b,b,!0),Yb(this.b,b))}catch(c){"number"!=typeof c&&Cb(this.b,c.stack||c.message)}this.stop();this.B&&this.B.ya()}};k.zd=function(a){if(a&&!this.b.C.X)if(this.I&&Zb(this),a=$b(this,this.gb),this.K==Ib)ac(this.w,this.Da,a);else{var b=this.b,c=this.Da;b.J++;b.wc(oc(b,c,4),a);b.J--}};
|
||||||
k.Bd=function(a){a||this.b.C.X||(this.J&&Xb(this),a=this.K==Gb?nc(this.w,this.Ca):oc(this.b,this.Ca),kc(this,a))};k.Dd=function(a){a||this.b.C.X||pc(this,this.eb)};k.Cd=function(a){a?(this.G=!0,Nb(this,!0)):(this.G=!1,Nb(this),qc(this,0))};k.Gd=function(a,b){this.eb=a?this.eb|1<<b:this.eb&~(1<<b)};function Xb(a){var b=1145>a.b.kb?8:16,c=65472<=a.Ca&&a.Ca<65472+b,b=c?1:2,c=c?15:a.w.Gb;Hb(a,"STEP")||(b=-b);pc(a,a.Ca&~c|a.Ca+b&c)}
|
k.Bd=function(a){a||this.b.C.X||(this.J&&Zb(this),a=this.K==Ib?pc(this.w,this.Da):qc(this.b,this.Da),$b(this,a))};k.Dd=function(a){a||this.b.C.X||rc(this,this.gb)};k.Cd=function(a){a?(this.H=!0,Pb(this,!0)):(this.H=!1,Pb(this),sc(this,0))};k.Gd=function(a,b){this.gb=a?this.gb|1<<b:this.gb&~(1<<b)};function Zb(a){var b=1145>a.b.lb?8:16,c=65472<=a.Da&&a.Da<65472+b,b=c?1:2,c=c?15:a.w.Mb;Jb(a,"STEP")||(b=-b);rc(a,a.Da&~c|a.Da+b&c)}
|
||||||
function pc(a,b){a.Ca=b&a.w.Gb;b=a.Ca;for(var c=0;22>c;c++)rc(a,"A"+c,b&1<<c)}function kc(a,b){a.v=b&65535;b=a.v;for(var c=0;16>c;c++)rc(a,"D"+c,b&1<<c);return a.v}function rc(a,b,c){a.g[b]=c;a.G||Qb(a,b,c)}function sc(a){return void 0!==a.D.S0}function qc(a,b){if(sc(a)){a.eb=b;for(var c=0;22>c;c++)a.f["S"+c][1]=b&1<<c?1:0;Ob(a)}}k.stop=function(){pc(this,this.b.u[7])};k.sc=function(a){this.Ca=a};k.setData=function(a,b){b?this.Ab=a:this.v=a};k.Hd=function(a,b){return(b?this.Ab:this.eb)&65535};
|
function rc(a,b){a.Da=b&a.w.Mb;b=a.Da;for(var c=0;22>c;c++)tc(a,"A"+c,b&1<<c)}function $b(a,b){a.v=b&65535;b=a.v;for(var c=0;16>c;c++)tc(a,"D"+c,b&1<<c);return a.v}function tc(a,b,c){a.g[b]=c;a.H||Sb(a,b,c)}function uc(a){return void 0!==a.D.S0}function sc(a,b){if(uc(a)){a.gb=b;for(var c=0;22>c;c++)a.f["S"+c][1]=b&1<<c?1:0;Qb(a)}}k.stop=function(){rc(this,this.b.u[7])};k.uc=function(a){this.Da=a};k.setData=function(a,b){b?this.Ab=a:this.v=a};k.Hd=function(a,b){return(b?this.Ab:this.gb)&65535};
|
||||||
k.He=function(a){this.Ab=a};var tc={},Lb=(tc[65400]=[null,null,Fb.prototype.Hd,Fb.prototype.He,"CNSW"],tc);function Pb(){for(var a=!1,b=F(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=D(d),f=ob(e.id);f||(a=!0,f=new Fb(e));E(f,d);a&&J(f)}}bb(Pb);
|
k.He=function(a){this.Ab=a};var vc={},Nb=(vc[65400]=[null,null,Hb.prototype.Hd,Hb.prototype.He,"CNSW"],vc);function Rb(){for(var a=!1,b=G(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=E(d),f=rb(e.id);f||(a=!0,f=new Hb(e));F(f,d);a&&L(f)}}eb(Rb);
|
||||||
function uc(a,b,c){x.call(this,"Bus",a,uc,16);this.b=b;this.j=c;this.M=a.busWidth||16;this.B=1<<this.M;this.Gb=this.B-1;this.Ha=vc;this.pa=Math.log2(this.Ha);this.K=this.Ha>>2;this.w=this.Ha-1;this.v=this.B/this.Ha|0;this.ib=[];this.qa=0;this.A=!1;this.F=[];this.kd=[wc,xc,yc,zc];a=new K(this);Ac(a,this.j);this.ea=Array(this.v);this.f=Array(this.v);for(b=0;b<this.v;b++)this.ea[b]=this.f[b]=a;a=this.B-vc;Bc(this,a,vc,Cc,this);this.J=this.I=(a&this.Gb)>>>this.pa;this.G=0;this.g=this.Gb;J(this)}B(uc);
|
function wc(a,b,c){y.call(this,"Bus",a,wc,16);this.b=b;this.j=c;this.M=a.busWidth||16;this.A=1<<this.M;this.Mb=this.A-1;this.Ja=xc;this.qa=Math.log2(this.Ja);this.K=this.Ja>>2;this.w=this.Ja-1;this.v=this.A/this.Ja|0;this.jb=[];this.ra=0;this.B=!1;this.F=[];this.kd=[yc,zc,Ac,Bc];a=new M(this);Cc(a,this.j);this.ea=Array(this.v);this.f=Array(this.v);for(b=0;b<this.v;b++)this.ea[b]=this.f[b]=a;a=this.A-xc;Dc(this,a,xc,Ec,this);this.J=this.I=(a&this.Mb)>>>this.qa;this.H=0;this.g=this.Mb;L(this)}D(wc);
|
||||||
var vc=8192,Dc=vc-1;function wc(a,b){var c=-1,d=this.controller,e=d.ib[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.ib[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.j&&I(this.j,16|e[5])&&G(this.j,e[4]+".readByte("+L(this.j,b)+"): "+L(this.j,c),!0,!d.qa),c;d.Na(b,16,3);c=255;this.j&&I(this.j,16)&&G(this.j,"warning: unconverted read access to byte @"+L(this.j,b)+": "+L(this.j,c),!0,!d.qa);return c}
|
var xc=8192,Fc=xc-1;function yc(a,b){var c=-1,d=this.controller,e=d.jb[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.jb[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.j&&K(this.j,16|e[5])&&H(this.j,e[4]+".readByte("+N(this.j,b)+"): "+N(this.j,c),!0,!d.ra),c;d.Ra(b,16,3);c=255;this.j&&K(this.j,16)&&H(this.j,"warning: unconverted read access to byte @"+N(this.j,b)+": "+N(this.j,c),!0,!d.ra);return c}
|
||||||
function xc(a,b,c){var d=!1,e=this.controller,f=e.ib[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.ib[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.j&&I(this.j,16|f[5])&&G(this.j,f[4]+".writeByte("+L(this.j,c)+","+L(this.j,b)+")",!0,!e.qa):(e.Na(c,16,5),this.j&&I(this.j,16)&&G(this.j,"warning: unconverted write access to byte @"+L(this.j,c)+": "+L(this.j,
|
function zc(a,b,c){var d=!1,e=this.controller,f=e.jb[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.jb[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.j&&K(this.j,16|f[5])&&H(this.j,f[4]+".writeByte("+N(this.j,c)+","+N(this.j,b)+")",!0,!e.ra):(e.Ra(c,16,5),this.j&&K(this.j,16)&&H(this.j,"warning: unconverted write access to byte @"+N(this.j,c)+": "+N(this.j,
|
||||||
b),!0,!e.qa))}function yc(a,b){var c=-1,d=this.controller;a=d.ib[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.j&&I(this.j,16|a[5])&&G(this.j,a[4]+".readWord("+L(this.j,b)+"): "+L(this.j,c),!0,!d.qa),c;d.Na(b,16,2);c=65535;this.j&&I(this.j,16)&&G(this.j,"warning: unconverted read access to word @"+L(this.j,b)+": "+L(this.j,c),!0,!d.qa);return c}
|
b),!0,!e.ra))}function Ac(a,b){var c=-1,d=this.controller;a=d.jb[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.j&&K(this.j,16|a[5])&&H(this.j,a[4]+".readWord("+N(this.j,b)+"): "+N(this.j,c),!0,!d.ra),c;d.Ra(b,16,2);c=65535;this.j&&K(this.j,16)&&H(this.j,"warning: unconverted read access to word @"+N(this.j,b)+": "+N(this.j,c),!0,!d.ra);return c}
|
||||||
function zc(a,b,c){var d=!1,e=this.controller;a=e.ib[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.j&&I(this.j,16|a[5])&&G(this.j,a[4]+".writeWord("+L(this.j,c)+","+L(this.j,b)+")",!0,!e.qa):(e.Na(c,16,4),this.j&&I(this.j,16)&&G(this.j,"warning: unconverted write access to word @"+L(this.j,c)+": "+L(this.j,b),!0,!e.qa))}
|
function Bc(a,b,c){var d=!1,e=this.controller;a=e.jb[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.j&&K(this.j,16|a[5])&&H(this.j,a[4]+".writeWord("+N(this.j,c)+","+N(this.j,b)+")",!0,!e.ra):(e.Ra(c,16,4),this.j&&K(this.j,16)&&H(this.j,"warning: unconverted write access to word @"+N(this.j,c)+": "+N(this.j,b),!0,!e.ra))}
|
||||||
function Ec(a,b){if(b!=a.G){for(var c=0;c<a.v;c++)a.f[c]=a.ea[c];a.G=0;a.g=a.Gb;b&&(a.G=b,b=1<<b,a.g=b-1,b-=vc,a.J=(b&a.g)>>>a.pa,a.f[a.J]=a.ea[a.I])}}k=uc.prototype;k.reset=function(){for(var a=0;a<this.F.length;a++)this.F[a]();Ec(this,16)};k.Ja=function(a,b){b||this.reset();return!0};
|
function Gc(a,b){if(b!=a.H){for(var c=0;c<a.v;c++)a.f[c]=a.ea[c];a.H=0;a.g=a.Mb;b&&(a.H=b,b=1<<b,a.g=b-1,b-=xc,a.J=(b&a.g)>>>a.qa,a.f[a.J]=a.ea[a.I])}}k=wc.prototype;k.reset=function(){for(var a=0;a<this.F.length;a++)this.F[a]();Gc(this,16)};k.La=function(a,b){b||this.reset();return!0};
|
||||||
function Bc(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.pa;0<g&&h<a.ea.length;){var l=a.ea[h],m=h*a.Ha,n=a.Ha-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.H)return l.Nb+=l.H-f,l.H=f,!0;if(f>=l.H+l.Nb){n=l.size-(f-m);n>g&&(n=g);l.Nb=f-l.H+n;f=m+a.Ha;g-=n;h++;continue}}return Fc(1,f,g)}f=new K(a,f,n,a.Ha,d,e);Ac(f,a.j,l);a.ea[h++]=f;f=m+a.Ha;g-=n}return 0>=g?(a.status((c>>10)+"Kb "+Gc[d]+" at "+na(b)),!0):Fc(2,b,c)}k.dc=function(a){return this.f[(a&this.g)>>>this.pa].ec(a&this.w,a)};
|
function Dc(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.qa;0<g&&h<a.ea.length;){var l=a.ea[h],m=h*a.Ja,n=a.Ja-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.G)return l.Sb+=l.G-f,l.G=f,!0;if(f>=l.G+l.Sb){n=l.size-(f-m);n>g&&(n=g);l.Sb=f-l.G+n;f=m+a.Ja;g-=n;h++;continue}}return Hc(1,f,g)}f=new M(a,f,n,a.Ja,d,e);Cc(f,a.j,l);a.ea[h++]=f;f=m+a.Ja;g-=n}return 0>=g?(a.status((c>>10)+"Kb "+Ic[d]+" at "+p(b)),!0):Hc(2,b,c)}k.dc=function(a){return this.f[(a&this.g)>>>this.qa].ec(a&this.w,a)};
|
||||||
k.ua=function(a){return this.f[(a&this.g)>>>this.pa].Ba(a&this.w,a)};k.Mb=function(a,b){this.f[(a&this.g)>>>this.pa].hc(a&this.w,b,a)};k.Bb=function(a,b){this.f[(a&this.g)>>>this.pa].$b(a&this.w,b,a)};function Hc(a,b){return a.ea[(b&a.Gb)>>>a.pa]}function nc(a,b){a.A=!1;a.qa++;b=Hc(a,b).J(b&a.w,b);a.qa--;return b}function Ic(a,b,c){a.A=!1;a.qa++;Hc(a,b).G(b&a.w,c&255,b);a.qa--}function lc(a,b,c){a.A=!1;a.qa++;Hc(a,b).M(b&a.w,c&65535,b);a.qa--}
|
k.wa=function(a){return this.f[(a&this.g)>>>this.qa].Ca(a&this.w,a)};k.Rb=function(a,b){this.f[(a&this.g)>>>this.qa].hc(a&this.w,b,a)};k.Db=function(a,b){this.f[(a&this.g)>>>this.qa].$b(a&this.w,b,a)};function Jc(a,b){return a.ea[(b&a.Mb)>>>a.qa]}function pc(a,b){a.B=!1;a.ra++;b=Jc(a,b).J(b&a.w,b);a.ra--;return b}function Kc(a,b,c){a.B=!1;a.ra++;Jc(a,b).H(b&a.w,c&255,b);a.ra--}function ac(a,b,c){a.B=!1;a.ra++;Jc(a,b).M(b&a.w,c&65535,b);a.ra--}
|
||||||
function Jc(a){for(var b=0,c=[],d=0;d<a.v;d++){var e=a.ea[d];if(e.bb||e.td){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[h++]=n-g;l[h++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function Kc(a){for(var b=Lc,c=0,d=0;d<a.ea.length;d++){var e=a.ea[d];e.type==b&&(c=e.H+e.Nb)}return c}
|
function Lc(a){for(var b=0,c=[],d=0;d<a.v;d++){var e=a.ea[d];if(e.cb||e.td){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[h++]=n-g;l[h++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function Mc(a){for(var b=Nc,c=0,d=0;d<a.ea.length;d++){var e=a.ea[d];e.type==b&&(c=e.G+e.Sb)}return c}
|
||||||
function Mc(a,b,c,d,e,f,g,h,l){for(;b<=c;b+=2){var m=b&Dc;if(void 0!==a.ib[m])return v("I/O address already registered: "+p(b,8,!0)),!1;a.ib[m]=[d,e,f,g,l||"unknown",h||16,!1]}return!0}
|
function Oc(a,b,c,d,e,f,g,h,l){for(;b<=c;b+=2){var m=b&Fc;if(void 0!==a.jb[m])return x("I/O address already registered: "+q(b,8,!0)),!1;a.jb[m]=[d,e,f,g,l||"unknown",h||16,!1]}return!0}
|
||||||
function Kb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.b.kb)){var h=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!h&&m&&(h=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],w=g[5]||1,t=0;t<w;t++,f+=2)if(r&&1<w&&(r=g[4]+t),!Mc(a,f,f,h,l,m,n,g[7]||b.oa,r||b.gb))return!1}}return!0}
|
function Mb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.b.lb)){var h=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!h&&m&&(h=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!Oc(a,f,f,h,l,m,n,g[7]||b.pa,r||b.hb))return!1}}return!0}
|
||||||
function Mb(a,b){a.F.push(b)}k.Na=function(a,b,c){this.A=!0;this.qa||(this.j&&I(this.j,4)&&G(this.j,"memory fault ("+c+") on "+L(this.j,a),!0,!0),b&&(this.b.ra|=b),this.b.sa(4,0,a))};function Nc(a){var b=a.A;a.A=!1;return b}function Fc(a,b,c){v("Memory block error ("+a+": "+p(b)+","+p(c)+")");return!1}function M(a){x.call(this,"Device",a,M,256);this.f={zg:0,tc:-1}}B(M);k=M.prototype;
|
function Ob(a,b){a.F.push(b)}k.Ra=function(a,b,c){this.B=!0;this.ra||(this.j&&K(this.j,4)&&H(this.j,"memory fault ("+c+") on "+N(this.j,a),!0,!0),b&&(this.b.oa|=b),this.b.ta(4,0,a))};function Pc(a){var b=a.B;a.B=!1;return b}function Hc(a,b,c){x("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}function O(a){y.call(this,"Device",a,O,256);this.f={zg:0,vc:-1}}D(O);k=O.prototype;
|
||||||
k.Ga=function(a,b,c,d){this.w=b;this.A=a;this.b=c;this.j=d;var e=this;this.f.tc=Oc(c,function(){e.f.Fb|=128;e.f.Fb&64&&Pc(e.b,e.f.Eb);e.A&&e.A.xa(1);Qc(e.b,e.f.tc,1E3/60)});this.f.Eb=Rc(c,64,6,524288);Kb(b,this,$c);Mb(b,this.reset.bind(this));d&&ad(d,64,function(a){var b=e.b;N(e,"KIPDR",b.R[0],0,a[0]);N(e,"KDPDR",b.R[0],8,a[0]);N(e,"KIPAR",b.ja[0],0,a[0]);N(e,"KDPAR",b.ja[0],8,a[0],!0);N(e,"SIPDR",b.R[1],0,a[0]);N(e,"SDPDR",b.R[1],8,a[0]);N(e,"SIPAR",b.ja[1],0,a[0]);N(e,"SDPAR",b.ja[1],8,a[0],!0);
|
k.Ha=function(a,b,c,d){this.w=b;this.B=a;this.b=c;this.j=d;var e=this;this.f.vc=Qc(c,function(){e.f.Lb|=128;e.f.Lb&64&&Rc(e.b,e.f.Kb);e.B&&e.B.ya(1);Sc(e.b,e.f.vc,1E3/60)});this.f.Kb=Tc(c,64,6,524288);Mb(b,this,Uc);Ob(b,this.reset.bind(this));d&&Vc(d,64,function(a){var b=e.b;P(e,"KIPDR",b.R[0],0,a[0]);P(e,"KDPDR",b.R[0],8,a[0]);P(e,"KIPAR",b.ga[0],0,a[0]);P(e,"KDPAR",b.ga[0],8,a[0],!0);P(e,"SIPDR",b.R[1],0,a[0]);P(e,"SDPDR",b.R[1],8,a[0]);P(e,"SIPAR",b.ga[1],0,a[0]);P(e,"SDPAR",b.ga[1],8,a[0],!0);
|
||||||
N(e,"UIPDR",b.R[3],0,a[0]);N(e,"UDPDR",b.R[3],8,a[0]);N(e,"UIPAR",b.ja[3],0,a[0]);N(e,"UDPAR",b.ja[3],8,a[0],!0)});J(this)};function N(a,b,c,d,e,f){a=a.j;if(!(e&&0>b.indexOf(e.toUpperCase()))){b+=":";for(e=0;8>e;e++)b+=" "+L(a,c[d+e]);a.i(b+(f?"\n":""))}}k.reset=function(){this.f.Fb=128;Qc(this.b,this.f.tc,1E3/60,!0)};k.Od=function(){return this.f.Fb};k.Oe=function(a){this.f.Fb=a&192;this.f.Fb&64||bd(this.b,this.f.Eb)};k.Qd=function(){return cd(this.b)};
|
P(e,"UIPDR",b.R[3],0,a[0]);P(e,"UDPDR",b.R[3],8,a[0]);P(e,"UIPAR",b.ga[3],0,a[0]);P(e,"UDPAR",b.ga[3],8,a[0],!0);b.Ma&32&&P(e,"UNIMAP",b.Cb,-1,a[0])});L(this)};function P(a,b,c,d,e,f){a=a.j;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",h=!1,l=0,m=8;0>d&&(e=c.length,d=0,h=!0,m=l=4);for(var n=0;n<e;n++)n%m||(g&&(g+="\n"),g+=b+(h?"["+p(n,2)+"]":"")+":"),g+=" "+N(a,c[d+n],l);a.i(g+(f?"\n":""))}}k.reset=function(){this.f.Lb=128;Sc(this.b,this.f.vc,1E3/60,!0)};k.Od=function(){return this.f.Lb};
|
||||||
k.Qe=function(a){dd(this.b,a&-129|this.b.Ea&128)};k.Rd=function(){return ed(this.b)};k.Sd=function(){return fd(this.b)};k.Td=function(){return this.b.Xa};k.Re=function(a){gd(this.b,a)};k.Ae=function(a){a=a>>1&63;var b=this.b.Yb[a>>1];return a&1?b>>16:b&65535};k.Af=function(a,b){b=b>>1&63;var c=b>>1;this.b.Yb[c]=b&1?this.b.Yb[c]&65535|(a&63)<<16:this.b.Yb[c]&-65536|a&65534};k.te=function(a){return this.b.R[1][a>>1&7]};k.tf=function(a,b){this.b.R[1][b>>1&7]=a&65295};
|
k.Oe=function(a){this.f.Lb=a&192;this.f.Lb&64||ed(this.b,this.f.Kb)};k.Qd=function(){return fd(this.b)};k.Qe=function(a){gd(this.b,a&-129|this.b.Ea&128)};k.Rd=function(){return hd(this.b)};k.Sd=function(){return id(this.b)};k.Td=function(){return this.b.Ma};k.Re=function(a){jd(this.b,a)};k.Ae=function(a){a=a>>1&63;var b=this.b.Cb[a>>1];return a&1?b>>16:b&65535};k.Af=function(a,b){b=b>>1&63;var c=b>>1;this.b.Cb[c]=b&1?this.b.Cb[c]&65535|(a&63)<<16:this.b.Cb[c]&-65536|a&65534};
|
||||||
k.re=function(a){return this.b.R[1][(a>>1&7)+8]};k.rf=function(a,b){this.b.R[1][(b>>1&7)+8]=a&65295};k.se=function(a){return this.b.ja[1][a>>1&7]};k.sf=function(a,b){b=b>>1&7;this.b.ja[1][b]=a;this.b.R[1][b]&=65295};k.qe=function(a){return this.b.ja[1][(a>>1&7)+8]};k.qf=function(a,b){b=(b>>1&7)+8;this.b.ja[1][b]=a;this.b.R[1][b]&=65295};k.Nd=function(a){return this.b.R[0][a>>1&7]};k.Ne=function(a,b){this.b.R[0][b>>1&7]=a&65295};k.Ld=function(a){return this.b.R[0][(a>>1&7)+8]};
|
k.te=function(a){return this.b.R[1][a>>1&7]};k.tf=function(a,b){this.b.R[1][b>>1&7]=a&65295};k.re=function(a){return this.b.R[1][(a>>1&7)+8]};k.rf=function(a,b){this.b.R[1][(b>>1&7)+8]=a&65295};k.se=function(a){return this.b.ga[1][a>>1&7]};k.sf=function(a,b){b=b>>1&7;this.b.ga[1][b]=a;this.b.R[1][b]&=65295};k.qe=function(a){return this.b.ga[1][(a>>1&7)+8]};k.qf=function(a,b){b=(b>>1&7)+8;this.b.ga[1][b]=a;this.b.R[1][b]&=65295};k.Nd=function(a){return this.b.R[0][a>>1&7]};
|
||||||
k.Le=function(a,b){this.b.R[0][(b>>1&7)+8]=a&65295};k.Md=function(a){return this.b.ja[0][a>>1&7]};k.Me=function(a,b){b=b>>1&7;this.b.ja[0][b]=a;this.b.R[0][b]&=65295};k.Kd=function(a){return this.b.ja[0][(a>>1&7)+8]};k.Ke=function(a,b){b=(b>>1&7)+8;this.b.ja[0][b]=a;this.b.R[0][b]&=65295};k.ze=function(a){return this.b.R[3][a>>1&7]};k.zf=function(a,b){this.b.R[3][b>>1&7]=a&65295};k.xe=function(a){return this.b.R[3][(a>>1&7)+8]};k.xf=function(a,b){this.b.R[3][(b>>1&7)+8]=a&65295};
|
k.Ne=function(a,b){this.b.R[0][b>>1&7]=a&65295};k.Ld=function(a){return this.b.R[0][(a>>1&7)+8]};k.Le=function(a,b){this.b.R[0][(b>>1&7)+8]=a&65295};k.Md=function(a){return this.b.ga[0][a>>1&7]};k.Me=function(a,b){b=b>>1&7;this.b.ga[0][b]=a;this.b.R[0][b]&=65295};k.Kd=function(a){return this.b.ga[0][(a>>1&7)+8]};k.Ke=function(a,b){b=(b>>1&7)+8;this.b.ga[0][b]=a;this.b.R[0][b]&=65295};k.ze=function(a){return this.b.R[3][a>>1&7]};k.zf=function(a,b){this.b.R[3][b>>1&7]=a&65295};
|
||||||
k.ye=function(a){return this.b.ja[3][a>>1&7]};k.yf=function(a,b){b=b>>1&7;this.b.ja[3][b]=a;this.b.R[3][b]&=65295};k.we=function(a){return this.b.ja[3][(a>>1&7)+8]};k.wf=function(a,b){b=(b>>1&7)+8;this.b.ja[3][b]=a;this.b.R[3][b]&=65295};k.Jb=function(a){a&=7;return this.b.O&2048?this.b.fb[a]:this.b.u[a]};k.Ob=function(a,b){b&=7;this.b.O&2048?this.b.fb[b]=a:this.b.u[b]=a};k.Yd=function(){return this.b.O&49152?this.b.Pa[0]:this.b.u[6]};k.We=function(a){this.b.O&49152?this.b.Pa[0]=a:this.b.u[6]=a};
|
k.xe=function(a){return this.b.R[3][(a>>1&7)+8]};k.xf=function(a,b){this.b.R[3][(b>>1&7)+8]=a&65295};k.ye=function(a){return this.b.ga[3][a>>1&7]};k.yf=function(a,b){b=b>>1&7;this.b.ga[3][b]=a;this.b.R[3][b]&=65295};k.we=function(a){return this.b.ga[3][(a>>1&7)+8]};k.wf=function(a,b){b=(b>>1&7)+8;this.b.ga[3][b]=a;this.b.R[3][b]&=65295};k.Pb=function(a){a&=7;return this.b.O&2048?this.b.$a[a]:this.b.u[a]};k.Tb=function(a,b){b&=7;this.b.O&2048?this.b.$a[b]=a:this.b.u[b]=a};
|
||||||
k.ae=function(){return this.b.u[7]};k.Ze=function(a){this.b.u[7]=a};k.Kb=function(a){a&=7;return this.b.O&2048?this.b.u[a]:this.b.fb[a]};k.Pb=function(a,b){b&=7;this.b.O&2048?this.b.u[b]=a:this.b.fb[b]=a};k.Zd=function(){return 1==(this.b.O&49152)>>14?this.b.u[6]:this.b.Pa[1]};k.Xe=function(a){1==(this.b.O&49152)>>14?this.b.u[6]=a:this.b.Pa[1]=a};k.$d=function(){return 3==(this.b.O&49152)>>14?this.b.u[6]:this.b.Pa[3]};k.Ye=function(a){3==(this.b.O&49152)>>14?this.b.u[6]=a:this.b.Pa[3]=a};
|
k.Yd=function(){return this.b.O&49152?this.b.Na[0]:this.b.u[6]};k.We=function(a){this.b.O&49152?this.b.Na[0]=a:this.b.u[6]=a};k.ae=function(){return this.b.u[7]};k.Ze=function(a){this.b.u[7]=a};k.Qb=function(a){a&=7;return this.b.O&2048?this.b.u[a]:this.b.$a[a]};k.Ub=function(a,b){b&=7;this.b.O&2048?this.b.u[b]=a:this.b.$a[b]=a};k.Zd=function(){return 1==(this.b.O&49152)>>14?this.b.u[6]:this.b.Na[1]};k.Xe=function(a){1==(this.b.O&49152)>>14?this.b.u[6]=a:this.b.Na[1]=a};
|
||||||
k.Jd=function(a){return this.b.Pc[a-65504>>1]};k.Je=function(a,b){this.b.Pc[b-65504>>1]=a};k.Mc=function(a){return 65520==a?(Kc(this.w)>>6)-1:0};k.Sc=function(){};k.ve=function(){return 1};k.vf=function(){};k.Id=function(){return this.b.ra};k.Ie=function(){this.b.ra=0};k.Pd=function(){return this.b.Oc};k.Pe=function(a,b){b&1||(a&=255);this.b.Oc=a};k.Ud=function(a,b){return b?0:this.b.Lb};k.Se=function(a){hd(this.b,a)};k.ue=function(a,b){return b?0:this.b.nb&65280};k.uf=function(a){this.b.nb=a|255};
|
k.$d=function(){return 3==(this.b.O&49152)>>14?this.b.u[6]:this.b.Na[3]};k.Ye=function(a){3==(this.b.O&49152)>>14?this.b.u[6]=a:this.b.Na[3]=a};k.Jd=function(a){return this.b.sc[a-65504>>1]};k.Je=function(a,b){this.b.sc[b-65504>>1]=a};k.Pc=function(a){return 65520==a?(Mc(this.w)>>6)-1:0};k.Tc=function(){};k.ve=function(){return 1};k.vf=function(){};k.Id=function(){return this.b.oa};k.Ie=function(){this.b.oa=0};k.Pd=function(){return this.b.rc};k.Pe=function(a,b){b&1||(a&=255);this.b.rc=a};
|
||||||
k.Xd=function(){return id(this.b)};k.Ve=function(a){jd(this.b,a&-1793|id(this.b)&1792)};k.Rc=function(a,b){I(this)&&G(this,"writeIgnored("+na(b)+"): "+na(a),!0,!0)};
|
k.Ud=function(a,b){return b?0:this.b.Bb};k.Se=function(a){kd(this.b,a)};k.ue=function(a,b){return b?0:this.b.fb&65280};k.uf=function(a){this.b.fb=a|255};k.Xd=function(){return ld(this.b)};k.Ve=function(a){md(this.b,a&-1793|ld(this.b)&1792)};k.Sc=function(a,b){K(this)&&H(this,"writeIgnored("+p(b)+"): "+p(a),!0,!0)};
|
||||||
var O={},$c=(O[61568]=[null,null,M.prototype.Ae,M.prototype.Af,"UNIMAP",64,1170],O[62592]=[null,null,M.prototype.te,M.prototype.tf,"SIPDR",8,1145,64],O[62608]=[null,null,M.prototype.re,M.prototype.rf,"SDPDR",8,1145,64],O[62624]=[null,null,M.prototype.se,M.prototype.sf,"SIPAR",8,1145,64],O[62640]=[null,null,M.prototype.qe,M.prototype.qf,"SDPAR",8,1145,64],O[62656]=[null,null,M.prototype.Nd,M.prototype.Ne,"KIPDR",8,1145,64],O[62672]=[null,null,M.prototype.Ld,M.prototype.Le,"KDPDR",8,1145,64],O[62688]=
|
var Q={},Uc=(Q[61568]=[null,null,O.prototype.Ae,O.prototype.Af,"UNIMAP",64,1170],Q[62592]=[null,null,O.prototype.te,O.prototype.tf,"SIPDR",8,1145,64],Q[62608]=[null,null,O.prototype.re,O.prototype.rf,"SDPDR",8,1145,64],Q[62624]=[null,null,O.prototype.se,O.prototype.sf,"SIPAR",8,1145,64],Q[62640]=[null,null,O.prototype.qe,O.prototype.qf,"SDPAR",8,1145,64],Q[62656]=[null,null,O.prototype.Nd,O.prototype.Ne,"KIPDR",8,1145,64],Q[62672]=[null,null,O.prototype.Ld,O.prototype.Le,"KDPDR",8,1145,64],Q[62688]=
|
||||||
[null,null,M.prototype.Md,M.prototype.Me,"KIPAR",8,1145,64],O[62704]=[null,null,M.prototype.Kd,M.prototype.Ke,"KDPAR",8,1145,64],O[62798]=[null,null,M.prototype.Td,M.prototype.Re,"MMR3",1,1145,64],O[65382]=[null,null,M.prototype.Od,M.prototype.Oe,"LKS"],O[65402]=[null,null,M.prototype.Qd,M.prototype.Qe,"MMR0",1,1145,64],O[65404]=[null,null,M.prototype.Rd,M.prototype.Rc,"MMR1",1,1145,64],O[65406]=[null,null,M.prototype.Sd,M.prototype.Rc,"MMR2",1,1145,64],O[65408]=[null,null,M.prototype.ze,M.prototype.zf,
|
[null,null,O.prototype.Md,O.prototype.Me,"KIPAR",8,1145,64],Q[62704]=[null,null,O.prototype.Kd,O.prototype.Ke,"KDPAR",8,1145,64],Q[62798]=[null,null,O.prototype.Td,O.prototype.Re,"MMR3",1,1145,64],Q[65382]=[null,null,O.prototype.Od,O.prototype.Oe,"LKS"],Q[65402]=[null,null,O.prototype.Qd,O.prototype.Qe,"MMR0",1,1145,64],Q[65404]=[null,null,O.prototype.Rd,O.prototype.Sc,"MMR1",1,1145,64],Q[65406]=[null,null,O.prototype.Sd,O.prototype.Sc,"MMR2",1,1145,64],Q[65408]=[null,null,O.prototype.ze,O.prototype.zf,
|
||||||
"UIPDR",8,1145,64],O[65424]=[null,null,M.prototype.xe,M.prototype.xf,"UDPDR",8,1145,64],O[65440]=[null,null,M.prototype.ye,M.prototype.yf,"UIPAR",8,1145,64],O[65456]=[null,null,M.prototype.we,M.prototype.wf,"UDPAR",8,1145,64],O[65472]=[null,null,M.prototype.Jb,M.prototype.Ob,"R0SET0"],O[65473]=[null,null,M.prototype.Jb,M.prototype.Ob,"R1SET0"],O[65474]=[null,null,M.prototype.Jb,M.prototype.Ob,"R2SET0"],O[65475]=[null,null,M.prototype.Jb,M.prototype.Ob,"R3SET0"],O[65476]=[null,null,M.prototype.Jb,
|
"UIPDR",8,1145,64],Q[65424]=[null,null,O.prototype.xe,O.prototype.xf,"UDPDR",8,1145,64],Q[65440]=[null,null,O.prototype.ye,O.prototype.yf,"UIPAR",8,1145,64],Q[65456]=[null,null,O.prototype.we,O.prototype.wf,"UDPAR",8,1145,64],Q[65472]=[null,null,O.prototype.Pb,O.prototype.Tb,"R0SET0"],Q[65473]=[null,null,O.prototype.Pb,O.prototype.Tb,"R1SET0"],Q[65474]=[null,null,O.prototype.Pb,O.prototype.Tb,"R2SET0"],Q[65475]=[null,null,O.prototype.Pb,O.prototype.Tb,"R3SET0"],Q[65476]=[null,null,O.prototype.Pb,
|
||||||
M.prototype.Ob,"R4SET0"],O[65477]=[null,null,M.prototype.Jb,M.prototype.Ob,"R5SET0"],O[65478]=[null,null,M.prototype.Yd,M.prototype.We,"R6KERNEL"],O[65479]=[null,null,M.prototype.ae,M.prototype.Ze,"R7KERNEL"],O[65480]=[null,null,M.prototype.Kb,M.prototype.Pb,"R0SET1",1,1145],O[65481]=[null,null,M.prototype.Kb,M.prototype.Pb,"R1SET1",1,1145],O[65482]=[null,null,M.prototype.Kb,M.prototype.Pb,"R2SET1",1,1145],O[65483]=[null,null,M.prototype.Kb,M.prototype.Pb,"R3SET1",1,1145],O[65484]=[null,null,M.prototype.Kb,
|
O.prototype.Tb,"R4SET0"],Q[65477]=[null,null,O.prototype.Pb,O.prototype.Tb,"R5SET0"],Q[65478]=[null,null,O.prototype.Yd,O.prototype.We,"R6KERNEL"],Q[65479]=[null,null,O.prototype.ae,O.prototype.Ze,"R7KERNEL"],Q[65480]=[null,null,O.prototype.Qb,O.prototype.Ub,"R0SET1",1,1145],Q[65481]=[null,null,O.prototype.Qb,O.prototype.Ub,"R1SET1",1,1145],Q[65482]=[null,null,O.prototype.Qb,O.prototype.Ub,"R2SET1",1,1145],Q[65483]=[null,null,O.prototype.Qb,O.prototype.Ub,"R3SET1",1,1145],Q[65484]=[null,null,O.prototype.Qb,
|
||||||
M.prototype.Pb,"R4SET1",1,1145],O[65485]=[null,null,M.prototype.Kb,M.prototype.Pb,"R5SET1",1,1145],O[65486]=[null,null,M.prototype.Zd,M.prototype.Xe,"R6SUPER",1,1145],O[65487]=[null,null,M.prototype.$d,M.prototype.Ye,"R6USER",1,1145],O[65504]=[null,null,M.prototype.Jd,M.prototype.Je,"CTRL",8,1170],O[65520]=[null,null,M.prototype.Mc,M.prototype.Sc,"LSIZE",1,1170],O[65522]=[null,null,M.prototype.Mc,M.prototype.Sc,"HSIZE",1,1170],O[65524]=[null,null,M.prototype.ve,M.prototype.vf,"SYSID",1,1170],O[65526]=
|
O.prototype.Ub,"R4SET1",1,1145],Q[65485]=[null,null,O.prototype.Qb,O.prototype.Ub,"R5SET1",1,1145],Q[65486]=[null,null,O.prototype.Zd,O.prototype.Xe,"R6SUPER",1,1145],Q[65487]=[null,null,O.prototype.$d,O.prototype.Ye,"R6USER",1,1145],Q[65504]=[null,null,O.prototype.Jd,O.prototype.Je,"CTRL",8,1170],Q[65520]=[null,null,O.prototype.Pc,O.prototype.Tc,"LSIZE",1,1170],Q[65522]=[null,null,O.prototype.Pc,O.prototype.Tc,"HSIZE",1,1170],Q[65524]=[null,null,O.prototype.ve,O.prototype.vf,"SYSID",1,1170],Q[65526]=
|
||||||
[null,null,M.prototype.Id,M.prototype.Ie,"CPUERR",1,1170],O[65528]=[null,null,M.prototype.Pd,M.prototype.Pe,"MB",1,1170],O[65530]=[null,null,M.prototype.Ud,M.prototype.Se,"PIR"],O[65532]=[null,null,M.prototype.ue,M.prototype.uf,"SL"],O[65534]=[null,null,M.prototype.Xd,M.prototype.Ve,"PSW"],O);
|
[null,null,O.prototype.Id,O.prototype.Ie,"CPUERR",1,1170],Q[65528]=[null,null,O.prototype.Pd,O.prototype.Pe,"MB",1,1170],Q[65530]=[null,null,O.prototype.Ud,O.prototype.Se,"PIR"],Q[65532]=[null,null,O.prototype.ue,O.prototype.uf,"SL"],Q[65534]=[null,null,O.prototype.Xd,O.prototype.Ve,"PSW"],Q);
|
||||||
bb(function(){for(var a=F(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=D(d);switch(c.type){case "default":c=new M(c);E(c,d);break;case "pc11":c=new kd(c);E(c,d);break;case "rl11":c=new P(c);E(c,d);break;case "rk11":c=new R(c),E(c,d)}}});var ld;if(Bb){var md=new ArrayBuffer(2);(new DataView(md)).setUint16(0,256,!0);ld=256===(new Uint16Array(md))[0]}else ld=!1;var nd=ld;
|
eb(function(){for(var a=G(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=E(d);switch(c.type){case "default":c=new O(c);F(c,d);break;case "pc11":c=new nd(c);F(c,d);break;case "rl11":c=new R(c);F(c,d);break;case "rk11":c=new T(c),F(c,d)}}});var od;if(Db){var pd=new ArrayBuffer(2);(new DataView(pd)).setUint16(0,256,!0);od=256===(new Uint16Array(pd))[0]}else od=!1;var qd=od;
|
||||||
function K(a,b,c,d,e,f){this.w=a;this.id=od+=2;this.b=null;this.H=b;this.Nb=c;this.size=d||0;this.type=e||pd;this.f=e==qd;this.controller=null;Ac(this);this.bb=this.td=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],rd(this,f.kd);else if(Bb)this.B=new ArrayBuffer(this.size),this.F=new DataView(this.B,0,this.size),this.D=new Uint8Array(this.B,0,this.size),this.P=new Uint16Array(this.B,0,this.size>>1),this.b=new Int32Array(this.B,0,this.size>>2),rd(this,nd?sd:td);else{a=this.b=Array(this.size>>
|
function M(a,b,c,d,e,f){this.w=a;this.id=rd+=2;this.b=null;this.G=b;this.Sb=c;this.size=d||0;this.type=e||sd;this.f=e==td;this.controller=null;Cc(this);this.cb=this.td=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],ud(this,f.kd);else if(Db)this.A=new ArrayBuffer(this.size),this.F=new DataView(this.A,0,this.size),this.D=new Uint8Array(this.A,0,this.size),this.P=new Uint16Array(this.A,0,this.size>>1),this.b=new Int32Array(this.A,0,this.size>>2),ud(this,qd?vd:wd);else{a=this.b=Array(this.size>>
|
||||||
2);for(f=0;f<a.length;f++)a[f]=0;rd(this,ud)}else rd(this)}var pd=0,Lc=1,qd=2,Cc=4,Gc=["NONE","RAM","ROM","VID","H/W"],od=0;
|
2);for(f=0;f<a.length;f++)a[f]=0;ud(this,xd)}else ud(this)}var sd=0,Nc=1,td=2,Ec=4,Ic=["NONE","RAM","ROM","VID","H/W"],rd=0;
|
||||||
K.prototype={constructor:K,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Bb)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(Bb)for(b=0;b<a.length;b++)this.F.setInt32(b<<2,a[b],!0);else this.b=a;return this.bb=!0}return!1},vb:function(a,b){b?this.g++||vd(this,wd,!1):this.A++||xd(this,wd,!1)},S:function(a,b){this.j&&I(this.j,32)&&G(this.j,
|
M.prototype={constructor:M,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Db)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(Db)for(b=0;b<a.length;b++)this.F.setInt32(b<<2,a[b],!0);else this.b=a;return this.cb=!0}return!1},vb:function(a,b){b?this.g++||yd(this,zd,!1):this.B++||Ad(this,zd,!1)},S:function(a,b){this.j&&K(this.j,32)&&H(this.j,
|
||||||
"attempt to read invalid address "+L(this.j,b),!0);this.w.Na(b,32,2);return 255},v:function(a,b,c){this.j&&I(this.j,32)&&G(this.j,"attempt to write "+L(this.j,b)+" to invalid addresses "+L(this.j,c),!0);this.w.Na(c,32,4)},T:function(a,b){return this.ec(a++,b++)|this.ec(a,b)<<8},K:function(a,b,c){this.hc(a++,b&255,c++);this.hc(a,b>>8,c)},ca:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ya:function(a,b){a&1&&this.w.Na(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+
|
"attempt to read invalid address "+N(this.j,b),!0);this.w.Ra(b,32,2);return 255},v:function(a,b,c){this.j&&K(this.j,32)&&H(this.j,"attempt to write "+N(this.j,b)+" to invalid addresses "+N(this.j,c),!0);this.w.Ra(c,32,4)},T:function(a,b){return this.ec(a++,b++)|this.ec(a,b)<<8},K:function(a,b,c){this.hc(a++,b&255,c++);this.hc(a,b>>8,c)},ca:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ua:function(a,b){a&1&&this.w.Ra(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+
|
||||||
1]&255)<<8},Qa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.bb=!0},$a:function(a,b,c){a&1&&this.w.Na(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.bb=!0},hb:function(a,b){if(this.j&&null!=this.H){var c=this.j;yd(c,this.H+a,1,c.M)&&c.ba(!0)}return this.I(a,b)},ma:function(a,b){if(this.j&&null!=this.H){var c=this.j;yd(c,this.H+a,2,c.M)&&c.ba(!0)}return this.J(a,b)},za:function(a,
|
1]&255)<<8},Pa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.cb=!0},ab:function(a,b,c){a&1&&this.w.Ra(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.cb=!0},hb:function(a,b){if(this.j&&null!=this.G){var c=this.j;Bd(c,this.G+a,1,c.M)&&c.ba(!0)}return this.I(a,b)},ma:function(a,b){if(this.j&&null!=this.G){var c=this.j;Bd(c,this.G+a,2,c.M)&&c.ba(!0)}return this.J(a,b)},za:function(a,
|
||||||
b,c){if(this.j&&null!=this.H){var d=this.j;yd(d,this.H+a,1,d.F)&&d.ba(!0)}this.f?this.v(a,b,c):this.G(a,b,c)},Ya:function(a,b,c){if(this.j&&null!=this.H){var d=this.j;yd(d,this.H+a,2,d.F)&&d.ba(!0)}this.f?this.v(a,b,c):this.M(a,b,c)},gb:function(a){return this.D[a]},Z:function(a,b){a=this.D[a];this.j&&I(this.j,32)&&G(this.j,"Memory.readByte("+L(this.j,b)+"): "+L(this.j,a),!0);return a},da:function(a,b){a&1&&this.w.Na(b,64,2);return this.F.getUint16(a,!0)},na:function(a,b){a&1&&this.w.Na(b,64,2);a=
|
b,c){if(this.j&&null!=this.G){var d=this.j;Bd(d,this.G+a,1,d.F)&&d.ba(!0)}this.f?this.v(a,b,c):this.H(a,b,c)},Wa:function(a,b,c){if(this.j&&null!=this.G){var d=this.j;Bd(d,this.G+a,2,d.F)&&d.ba(!0)}this.f?this.v(a,b,c):this.M(a,b,c)},Y:function(a){return this.D[a]},ib:function(a,b){a=this.D[a];this.j&&K(this.j,32)&&H(this.j,"Memory.readByte("+N(this.j,b)+"): "+N(this.j,a),!0);return a},da:function(a,b){a&1&&this.w.Ra(b,64,2);return this.F.getUint16(a,!0)},na:function(a,b){a&1&&this.w.Ra(b,64,2);a=
|
||||||
this.P[a>>1];this.j&&I(this.j,32)&&G(this.j,"Memory.readWord("+L(this.j,b)+"): "+L(this.j,a),!0);return a},ta:function(a,b){this.D[a]=b;this.bb=!0},La:function(a,b,c){this.D[a]=b;this.bb=!0;this.j&&I(this.j,32)&&G(this.j,"Memory.writeByte("+L(this.j,c)+","+L(this.j,b)+")",!0)},Ra:function(a,b,c){a&1&&this.w.Na(c,64,4);this.F.setUint16(a,b,!0);this.bb=!0},Za:function(a,b,c){a&1&&this.w.Na(c,64,4);this.P[a>>1]=b;this.bb=!0;this.j&&I(this.j,32)&&G(this.j,"Memory.writeWord("+L(this.j,c)+","+L(this.j,
|
this.P[a>>1];this.j&&K(this.j,32)&&H(this.j,"Memory.readWord("+N(this.j,b)+"): "+N(this.j,a),!0);return a},va:function(a,b){this.D[a]=b;this.cb=!0},Ga:function(a,b,c){this.D[a]=b;this.cb=!0;this.j&&K(this.j,32)&&H(this.j,"Memory.writeByte("+N(this.j,c)+","+N(this.j,b)+")",!0)},Sa:function(a,b,c){a&1&&this.w.Ra(c,64,4);this.F.setUint16(a,b,!0);this.cb=!0},Xa:function(a,b,c){a&1&&this.w.Ra(c,64,4);this.P[a>>1]=b;this.cb=!0;this.j&&K(this.j,32)&&H(this.j,"Memory.writeWord("+N(this.j,c)+","+N(this.j,
|
||||||
b)+")",!0)}};function Ac(a,b,c){a.j=b;a.A=a.g=0;c&&((a.A=c.A)&&xd(a,wd,!1),(a.g=c.g)&&vd(a,wd,!1))}function zd(a,b){b?--a.g||(a.hc=a.f?a.v:a.G,a.$b=a.f?a.K:a.M):--a.A||(a.ec=a.I,a.Ba=a.J)}function vd(a,b,c){c&&a.g||(a.hc=!a.f&&b[1]||a.v,a.$b=!a.f&&b[3]||a.K);if(c||void 0===c)a.G=b[1]||a.v,a.M=b[3]||a.K}function xd(a,b,c){c&&a.A||(a.ec=b[0]||a.S,a.Ba=b[2]||a.T);if(c||void 0===c)a.I=b[0]||a.S,a.J=b[2]||a.T}function rd(a,b){b||(b=Ad);xd(a,b,void 0);vd(a,b,void 0)}
|
b)+")",!0)}};function Cc(a,b,c){a.j=b;a.B=a.g=0;c&&((a.B=c.B)&&Ad(a,zd,!1),(a.g=c.g)&&yd(a,zd,!1))}function Cd(a,b){b?--a.g||(a.hc=a.f?a.v:a.H,a.$b=a.f?a.K:a.M):--a.B||(a.ec=a.I,a.Ca=a.J)}function yd(a,b,c){c&&a.g||(a.hc=!a.f&&b[1]||a.v,a.$b=!a.f&&b[3]||a.K);if(c||void 0===c)a.H=b[1]||a.v,a.M=b[3]||a.K}function Ad(a,b,c){c&&a.B||(a.ec=b[0]||a.S,a.Ca=b[2]||a.T);if(c||void 0===c)a.I=b[0]||a.S,a.J=b[2]||a.T}function ud(a,b){b||(b=Dd);Ad(a,b,void 0);yd(a,b,void 0)}
|
||||||
var Ad=[],ud=[K.prototype.ca,K.prototype.Qa,K.prototype.ya,K.prototype.$a],wd=[K.prototype.hb,K.prototype.za,K.prototype.ma,K.prototype.Ya];if(Bb)var td=[K.prototype.gb,K.prototype.ta,K.prototype.da,K.prototype.Ra],sd=[K.prototype.Z,K.prototype.La,K.prototype.na,K.prototype.Za];
|
var Dd=[],xd=[M.prototype.ca,M.prototype.Pa,M.prototype.ua,M.prototype.ab],zd=[M.prototype.hb,M.prototype.za,M.prototype.ma,M.prototype.Wa];if(Db)var wd=[M.prototype.Y,M.prototype.va,M.prototype.da,M.prototype.Sa],vd=[M.prototype.ib,M.prototype.Ga,M.prototype.na,M.prototype.Xa];
|
||||||
function Bd(a,b){x.call(this,"CPU",a,Bd,1);b=a.cycles||b;var c=a.multiplier||1;this.Qb=0;this.sb=b;this.lb=c;this.ic=Math.round(this.sb/1E4)/100;this.zb=this.ic*this.lb;this.C.X=!1;this.C.gc=!1;this.C.Cb=a.autoStart;this.C.Db=!1;this.Vb=this.ya=0;this.Wb=a.csStart;this.Hb=a.csInterval;this.Ib=a.csStop;this.M=[];this.Dc=this.Fe.bind(this);J(this)}B(Bd);var Cd=["power","reset"];k=Bd.prototype;
|
function Ed(a,b){y.call(this,"CPU",a,Ed,1);b=a.cycles||b;var c=a.multiplier||1;this.Vb=0;this.tb=b;this.mb=c;this.kc=Math.round(this.tb/1E4)/100;this.zb=this.kc*this.mb;this.C.X=!1;this.C.gc=!1;this.C.Ib=a.autoStart;this.C.Jb=!1;this.Wb=this.Ga=0;this.Xb=a.csStart;this.Nb=a.csInterval;this.Ob=a.csStop;this.M=[];this.Gc=this.Fe.bind(this);L(this)}D(Ed);var Fd=["power","reset"];k=Ed.prototype;
|
||||||
k.Ga=function(a,b,c,d){this.A=a;this.w=b;this.j=d;this.v=a.v;for(b=0;b<Cd.length;b++)(c=this.D[Cd[b]])&&this.A.wa(null,Cd[b],c);a=Dd(a,"autoStart");null!=a&&(this.C.Cb="true"==a?!0:"false"==a?!1:!!a);J(this)};k.wc=function(){};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
|
k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.j=d;this.v=a.v;for(b=0;b<Fd.length;b++)(c=this.D[Fd[b]])&&this.B.xa(null,Fd[b],c);a=Gd(a,"autoStart");null!=a&&(this.C.Ib="true"==a?!0:"false"==a?!1:!!a);L(this)};k.yc=function(){};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
|
||||||
k.Ja=function(a,b){if(!b){this.wc();if(a&&this.restore){Ed(this);if(!this.restore(a))return!1;Fd(this)}else this.reset();this.j?(a=this.j,b=this.C.Cb,a.Za=!0,a.i("Type ? for help with PDPjs Debugger commands"),Gd(a),b||a.ob(),a.Ra&&(b=a.Ra,a.Ra=null,Hd(a,b))):this.i("No debugger detected")}return!0};k.Ia=function(a){return a?this.save():!0};k.Cb=function(){return this.C.Cb||!this.j&&void 0===this.D.run?(this.pb(),!0):!1};k.Ic=function(){return 0};
|
k.La=function(a,b){if(!b){this.yc();if(a&&this.restore){Hd(this);if(!this.restore(a))return!1;Id(this)}else this.reset();this.j?(a=this.j,b=this.C.Ib,a.Xa=!0,a.i("Type ? for help with PDPjs Debugger commands"),Jd(a),b||a.ob(),a.Sa&&(b=a.Sa,a.Sa=null,Kd(a,b))):this.i("No debugger detected")}return!0};k.Ka=function(a){return a?this.save():!0};k.Ib=function(){return this.C.Ib||!this.j&&void 0===this.D.run?(this.pb(),!0):!1};k.Lc=function(){return 0};
|
||||||
function Fd(a){void 0===a.Wb&&(a.Wb=0);void 0===a.Hb&&(a.Hb=-1);void 0===a.Ib&&(a.Ib=-1);a.C.Db=0<=a.Wb&&0<a.Hb;a.C.Db&&(a.Vb=0,a.ya=a.Wb-a.da)}function Wb(a,b){if(a.C.Db){var c=!1;a.Vb=a.Vb+a.Ic()|0;a.ya-=b;0>=a.ya&&(a.ya+=a.Hb,c=!0);0<=a.Ib&&a.Ib<=Id(a)&&(a.Hb=a.Ib=-1,Fd(a),a.ba(),c=!0);c&&a.i(Id(a)+" cycles: checksum="+p(a.Vb))}}
|
function Id(a){void 0===a.Xb&&(a.Xb=0);void 0===a.Nb&&(a.Nb=-1);void 0===a.Ob&&(a.Ob=-1);a.C.Jb=0<=a.Xb&&0<a.Nb;a.C.Jb&&(a.Wb=0,a.Ga=a.Xb-a.na)}function Yb(a,b){if(a.C.Jb){var c=!1;a.Wb=a.Wb+a.Lc()|0;a.Ga-=b;0>=a.Ga&&(a.Ga+=a.Nb,c=!0);0<=a.Ob&&a.Ob<=Ld(a)&&(a.Nb=a.Ob=-1,Id(a),a.ba(),c=!0);c&&a.i(Ld(a)+" cycles: checksum="+q(a.Wb))}}
|
||||||
k.wa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.D[b]=c,!0;case "run":return this.D[b]=c,c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.C.la)a=!0;else{var b=null,c,h=nb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.C.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.C.la);c++);c==h.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.C.ready?"powered yet":"ready yet"+(b.cc?" (waiting for notification)":""))+".");a=!1}a&&(d.C.X?d.ba():d.pb())},
|
k.xa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.D[b]=c,!0;case "run":return this.D[b]=c,c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.C.la)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.C.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.C.la);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.C.ready?"powered yet":"ready yet"+(b.cc?" (waiting for notification)":""))+".");a=!1}a&&(d.C.X?d.ba():d.pb())},
|
||||||
!0;case "speed":return this.D[b]=c,!0;case "setSpeed":return this.D[b]=c,c.onclick=function(){Jd(d,d.lb<<1,!0)},c.textContent=this.zb.toFixed(2)+"Mhz",!0}return!1};k.xa=function(a){this.A&&this.A.xa(a)};function Vb(a,b,c){a.da+=b;c&&(a.ca=a.b=a.K=0)}function Kd(a,b){var c=1;b&&1<a.lb&&a.na&&(c=a.na/a.ic);a.Bc=Math.round(1E3/30);a.tb=Math.floor(a.sb/30*c);b||(a.ta=a.tb);a.jc=0}function Id(a){return a.da+a.T+a.ca-a.b}function Ed(a){a.na=0;a.Cc=0;a.da=a.T=a.ca=a.b=a.K=0;Fd(a);Jd(a,1)}
|
!0;case "speed":return this.D[b]=c,!0;case "setSpeed":return this.D[b]=c,c.onclick=function(){Md(d,d.mb<<1,!0)},c.textContent=this.zb.toFixed(2)+"Mhz",!0}return!1};k.ya=function(a){this.B&&this.B.ya(a)};function Xb(a,b,c){a.na+=b;c&&(a.ma=a.b=a.K=0)}function Nd(a,b){var c=1;b&&1<a.mb&&a.za&&(c=a.za/a.kc);a.Ec=Math.round(1E3/30);a.ub=Math.floor(a.tb/30*c);b||(a.Pa=a.ub);a.lc=0}function Ld(a){return a.na+a.Y+a.ma-a.b}function Hd(a){a.za=0;a.Fc=0;a.na=a.Y=a.ma=a.b=a.K=0;Id(a);Md(a,1)}
|
||||||
function Jd(a,b,c){var d=!1;if(void 0!==b){.8>a.na/a.zb?b=1:d=!0;a.lb=b;b=a.ic*a.lb;if(a.zb!=b){a.zb=b;b=a.zb.toFixed(2)+"Mhz";var e=a.D.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.A&&a.A.ob()}Vb(a,a.T);a.T=0;a.S=Ba();a.Z=0;Kd(a);return d}function Oc(a,b){var c=a.M.length;a.M.push([-1,b]);return c}function Qc(a,b,c,d){0<=b&&b<a.M.length&&(d||0>a.M[b][0])&&(c=a.sb*a.lb/1E3*c|0,a.C.X&&(c+=Ld(a)),a.M[b][0]=c)}
|
function Md(a,b,c){var d=!1;if(void 0!==b){.8>a.za/a.zb?b=1:d=!0;a.mb=b;b=a.kc*a.mb;if(a.zb!=b){a.zb=b;b=a.zb.toFixed(2)+"Mhz";var e=a.D.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.B&&a.B.ob()}Xb(a,a.Y);a.Y=0;a.T=Ea();a.da=0;Nd(a);return d}function Qc(a,b){var c=a.M.length;a.M.push([-1,b]);return c}function Sc(a,b,c,d){0<=b&&b<a.M.length&&(d||0>a.M[b][0])&&(c=a.tb*a.mb/1E3*c|0,a.C.X&&(c+=Od(a)),a.M[b][0]=c)}
|
||||||
function Md(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Ub(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Ld(a,b){var c=a.ca-=a.b;a.b=a.K=0;b&&(a.ca=0);return c}
|
function Pd(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Wb(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Od(a,b){var c=a.ma-=a.b;a.b=a.K=0;b&&(a.ma=0);return c}
|
||||||
k.Fe=function(){if(this.C.X){this.jc>=this.sb&&Kd(this,!0);this.Ra=0;this.$a=Ba();if(this.Z){var a=this.$a-this.Z;a>this.Bc&&(this.S+=a,this.S>this.$a&&(this.S=this.$a))}try{do{var b=Md(this,this.C.Db?1:this.tb);try{this.qb(b)}catch(e){if("number"!=typeof e)throw e;}b=Ld(this,!0);this.Ra+=b;this.T+=b;Wb(this,b);Ub(this,b);this.ta-=b;if(0>=this.ta){this.ta+=this.tb;15<=++this.Cc&&(this.xa(),this.Cc=0);break}}while(this.C.X)}catch(e){this.ba();this.A&&this.A.stop(Ba(),Id(this));Ab(this,e.stack||e.message);
|
k.Fe=function(){if(this.C.X){this.lc>=this.tb&&Nd(this,!0);this.Xa=0;this.sb=Ea();if(this.da){var a=this.sb-this.da;a>this.Ec&&(this.T+=a,this.T>this.sb&&(this.T=this.sb))}try{do{var b=Pd(this,this.C.Jb?1:this.ub);try{this.qb(b)}catch(e){if("number"!=typeof e)throw e;}b=Od(this,!0);this.Xa+=b;this.Y+=b;Yb(this,b);Wb(this,b);this.Pa-=b;if(0>=this.Pa){this.Pa+=this.ub;15<=++this.Fc&&(this.ya(),this.Fc=0);break}}while(this.C.X)}catch(e){this.ba();this.B&&this.B.stop(Ea(),Ld(this));Cb(this,e.stack||e.message);
|
||||||
return}if(this.C.X){a=setTimeout;b=this.Dc;this.Z=Ba();var c=this.Bc;this.Ra&&(c=Math.round(c*this.Ra/this.tb));var c=c-(this.Z-this.$a),d=this.Z-this.S;d&&(this.na=Math.round(this.T/(10*d))/100,864E5<=d&&(this.da=0,Jd(this)));if(0>c||this.na<this.zb)-1E3>c&&(this.S-=c),c=0;this.jc+=this.Ra;this.Z+=c;a(b,c)}}};
|
return}if(this.C.X){a=setTimeout;b=this.Gc;this.da=Ea();var c=this.Ec;this.Xa&&(c=Math.round(c*this.Xa/this.ub));var c=c-(this.da-this.sb),d=this.da-this.T;d&&(this.za=Math.round(this.Y/(10*d))/100,864E5<=d&&(this.na=0,Md(this)));if(0>c||this.za<this.zb)-1E3>c&&(this.T-=c),c=0;this.lc+=this.Xa;this.da+=c;a(b,c)}}};
|
||||||
k.pb=function(a){if(zb(this))return!1;if(this.C.X)return this.i(this.toString()+" busy"),!1;Jd(this);this.C.X=!0;this.C.gc=!0;var b=this.D.run;b&&(b.textContent="Halt");this.A&&(a&&this.A.ob(!0),this.A.start(this.S,Id(this)));setTimeout(this.Dc,0);return!0};k.qb=function(){return 0};k.ba=function(a){var b=!1;if(this.C.X){Ld(this);Vb(this,this.T);this.T=0;this.C.X=!1;if(b=this.D.run)b.textContent="Run";this.A&&this.A.stop(Ba(),Id(this));b=!0}this.C.complete=a;return b};
|
k.pb=function(a){if(Bb(this))return!1;if(this.C.X)return this.i(this.toString()+" busy"),!1;Md(this);this.C.X=!0;this.C.gc=!0;var b=this.D.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.ob(!0),this.B.start(this.T,Ld(this)));setTimeout(this.Gc,0);return!0};k.qb=function(){return 0};k.ba=function(a){var b=!1;if(this.C.X){Od(this);Xb(this,this.Y);this.Y=0;this.C.X=!1;if(b=this.D.run)b.textContent="Run";this.B&&this.B.stop(Ea(),Ld(this));b=!0;this.j||this.status("Stopped")}this.C.complete=a;return b};
|
||||||
function Nd(a){this.kb=+a.model||1170;this.yc=a.addrReset||0;Bd.call(this,a,6666667);this.ub=0;this.Ac=255;1120==this.kb?(this.decode=Od.bind(this),this.ma=this.rd,this.ub=8,this.Ac=-1):(this.decode=Pd.bind(this),this.ma=this.sd);Qd(this);this.J=0;this.I=null;this.Rb=[];this.C.complete=!1}B(Nd,Bd);k=Nd.prototype;k.wc=function(){for(var a=192,b=0;b<this.Rb.length;b++){var c=this.Rb[b];0>c.Zb&&(c.Zb=a,a+=4)}};
|
function Qd(a){this.lb=+a.model||1170;this.Ac=a.addrReset||0;Ed.call(this,a,6666667);this.Eb=0;this.Dc=255;1120==this.lb?(this.decode=Rd.bind(this),this.va=this.rd,this.Eb=8,this.Dc=-1):(this.decode=Sd.bind(this),this.va=this.sd);Td(this);this.J=0;this.I=null;this.ic=[];this.C.complete=!1}D(Qd,Ed);k=Qd.prototype;k.yc=function(){for(var a=192,b=0;b<this.ic.length;b++){var c=this.ic[b];0>c.Zb&&(c.Zb=a,a+=4)}};
|
||||||
k.reset=function(){this.status("model "+this.kb);this.C.X&&this.ba();Qd(this);Ed(this);this.C.error=!1;this.parent.reset.call(this)};
|
k.reset=function(){this.status("Model "+this.lb);this.C.X&&this.ba();Td(this);Hd(this);this.C.error=!1;this.parent.reset.call(this)};
|
||||||
function Qd(a){a.U=65536;a.V=32768;a.Y=65535;a.W=32768;a.O=15;a.u=[0,0,0,0,0,0,0,a.yc,-1,-2,-3,-4,-5,-6,-7,-8];a.fb=[0,0,0,0,0,0];a.Pa=[0,0,0,0];a.B=0;a.Za=0;a.Tc=[4,2,0,1];a.R=[[0,0,0,0,0,0,0,0,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,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.ja=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,
|
function Td(a){a.U=65536;a.V=32768;a.Z=65535;a.W=32768;a.O=15;a.u=[0,0,0,0,0,0,0,a.Ac,-1,-2,-3,-4,-5,-6,-7,-8];a.$a=[0,0,0,0,0,0];a.Na=[0,0,0,0];a.A=0;a.Cc=[4,2,0,1];a.R=[[0,0,0,0,0,0,0,0,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,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.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,0,0,0]];a.Yb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.Pc=[0,0,0,0,0,0,0,0];a.Oc=0;a.L=0;a.F=a.G=0;a.g=a.f=a.Tb=0;a.za=-1;Tb(a)}function Tb(a){a.Ea=0;a.kc=0;a.lc=0;a.Xa=0;a.ra=0;a.Lb=0;a.nb=255;a.La=0;a.Ya=0;a.Qa=262143;a.Ub=0;a.va=0;a.I=null;a.w&&(Rd(a),a.gd=Kc(a.w))}function Rd(a){a.La?(a.P=65536,a.Sb=a.Xa&16?4186112:253952,a.aa=a.vd,a.Ba=a.Be,a.$b=a.Bf,Ec(a.w,a.Xa&16?22:18)):(a.P=0,a.Sb=57344,a.aa=a.ud,a.Ba=a.Nc,a.$b=a.uc,Ec(a.w,16))}
|
0,0,0,0,0,0]];a.Cb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.sc=[0,0,0,0,0,0,0,0];a.rc=0;a.L=0;a.F=a.H=0;a.g=a.f=a.jc=0;a.ua=-1;Vb(a)}function Vb(a){a.Ea=0;a.Fb=0;a.Gb=0;a.Ma=0;a.oa=0;a.Bb=0;a.fb=255;a.ca=0;a.Sa=0;a.Wa=0;a.S=262143;a.Hb=0;a.sa=0;a.I=null;a.w&&(Ud(a),a.Uc=Mc(a.w))}function Ud(a){a.ca?(a.P=65536,a.ab=a.Ma&16?4186112:253952,a.aa=a.vd,a.Ca=a.Be,a.$b=a.Bf,Gc(a.w,a.Ma&16?22:18)):(a.P=0,a.ab=57344,a.aa=a.ud,a.Ca=a.Qc,a.$b=a.wc,Gc(a.w,16))}
|
||||||
function cd(a){var b=a.Ea;b&57344||(b=b&-3199|a.Ya<<5|a.Za<<1);return b}function dd(a,b){b&=-3073;if(a.Ea!=b){b&57344&&!(a.Ea&57344)&&(a.kc=a.va>>16&65535,a.lc=a.va&65535);a.Ea=b;a.Ya=b>>5&3;a.Za=b>>1&15;var c=0;b&257&&(c=4,b&1&&(c|=2));a.La!=c&&(a.La=c,Rd(a))}}function ed(a){a.Ea&57344||(a.kc=a.va>>16&65535);a=a.kc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function fd(a){a.Ea&57344||(a.lc=a.va&65535);return a.lc}
|
function fd(a){var b=a.Ea;b&57344||(b=b&-3199|a.Sa<<5|a.Wa<<1);return b}function gd(a,b){b&=-3073;if(a.Ea!=b){b&57344&&!(a.Ea&57344)&&(a.Fb=a.sa>>16&65535,a.Gb=a.sa&65535);a.Ea=b;a.Sa=(b&96)>>5;a.Wa=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.ca!=c&&(a.ca=c,Ud(a))}}function hd(a){a.Ea&57344||(a.Fb=a.sa>>16&65535);a=a.Fb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function id(a){a.Ea&57344||(a.Gb=a.sa&65535);return a.Gb}
|
||||||
function gd(a,b){1170>a.kb&&(b&=-49);a.Xa!=b&&(a.Xa=b,a.Qa=b&16?4194303:262143,Rd(a))}k.Ic=function(){return 0};k.save=function(){var a=new S(this);a.set(0,[]);a.set(1,[this.da,this.lb]);a.set(2,Jc(this.w));return a.data()};
|
function jd(a,b){1170>a.lb&&(b&=-49);a.Ma!=b&&(a.Ma=b,a.S=b&16?4194303:262143,Ud(a))}k.Lc=function(){return 0};k.save=function(){var a=new U(this);a.set(0,[this.u,this.$a,this.Na,this.Cb,this.sc,this.oa,this.rc,this.Bb,this.fb,ld(this),this.ua,this.A,this.L,this.Ea,this.Fb,this.Gb,this.Ma,this.Sa,this.Wa,this.R,this.ga,this.ca,this.S,this.Hb,this.sa]);a.set(1,[this.na,this.mb]);a.set(2,Lc(this.w));return a.data()};
|
||||||
k.restore=function(a){var b=a[1];this.da=b[1];Jd(this,b[3]);a:{b=this.w;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.K){for(var f=0,g=Array(b.K),h=0;h<e.length-1;)for(var l=e[h++],m=e[h++];l--;)g[f++]=m;e=g}f=b.ea[d];if(!f||!f.restore(e)){v("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function Sd(a){return a.U&65536?1:0}function Td(a){return a.V&32768?2:0}function Ud(a){return a.Y&65535?0:4}function Vd(a){return a.W&32768?8:0}
|
k.restore=function(a){var b=a[1];this.na=b[1];Md(this,b[3]);a:{b=this.w;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.K){for(var f=0,g=Array(b.K),h=0;h<e.length-1;)for(var l=e[h++],m=e[h++];l--;)g[f++]=m;e=g}f=b.ea[d];if(!f||!f.restore(e)){x("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function Vd(a){return a.U&65536?1:0}function Wd(a){return a.V&32768?2:0}function Xd(a){return a.Z&65535?0:4}function Yd(a){return a.W&32768?8:0}
|
||||||
function Wd(a){var b=a.u[7];a.va=b;var c=a.Ba(b);a.u[7]=b+2&65535;return c}function Xd(a,b){var c=a.u[7];a.u[7]=c+b&65535;return c}function T(a,b){a.u[7]=b&65535}function Rc(a,b,c,d){c={Zb:b,mb:c,message:d||0,next:null};c.name=Db[b];a.Rb.push(c);return c}function Yd(a,b){var c=a.I;if(c==b)a.I=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.I&&(a.L|=1)}
|
function Zd(a){var b=a.u[7];a.sa=b;var c=a.Ca(b);a.u[7]=b+2&65535;return c}function $d(a,b){var c=a.u[7];a.u[7]=c+b&65535;return c}function ae(a,b){a.u[7]=b&65535}function Tc(a,b,c,d){c={Zb:b,nb:c,message:d||0,next:null};c.name=Fb[b];a.ic.push(c);return c}function be(a,b){var c=a.I;if(c==b)a.I=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.I&&(a.L|=1)}
|
||||||
function Pc(a,b){if(b!=a.I){var c=a.I;if(!c||c.mb<=b.mb)b.next=c,a.I=b;else{do{var d=c.next;if(!d||d.mb<=b.mb){b.next=d;c.next=b;break}c=d}while(c)}}a.L|=1;b.message&&I(a,b.message|8)&&G(a,"setIRQ(vector="+na(b.Zb)+",priority="+b.mb+")",!0,!0)}function bd(a,b){Yd(a,b);b.message&&I(a,b.message|8)&&G(a,"clearIRQ(vector="+na(b.Zb)+",priority="+b.mb+")",!0,!0)}function se(a){return a.L&64?(a.sa(168,64,-6),!0):a.L&32?(a.sa(4,32,-5),!0):a.L&16?(a.sa(12,16,-7),!0):!1}
|
function Rc(a,b){if(b!=a.I){var c=a.I;if(!c||c.nb<=b.nb)b.next=c,a.I=b;else{do{var d=c.next;if(!d||d.nb<=b.nb){b.next=d;c.next=b;break}c=d}while(c)}}a.L|=1;b.message&&K(a,b.message|8)&&H(a,"setIRQ(vector="+p(b.Zb)+",priority="+b.nb+")",!0,!0)}function ed(a,b){be(a,b);b.message&&K(a,b.message|8)&&H(a,"clearIRQ(vector="+p(b.Zb)+",priority="+b.nb+")",!0,!0)}function ce(a){return a.L&64?(a.ta(168,64,-6),!0):a.L&32?(a.ta(4,32,-5),!0):a.L&16?(a.ta(12,16,-7),!0):!1}
|
||||||
function id(a){return a.O=a.O&63728|Vd(a)|Ud(a)|Td(a)|Sd(a)}function jd(a,b){a.W=b<<12;a.Y=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.O)&2048)for(var c=a.fb.length;0<=--c;){var d=a.u[c];a.u[c]=a.fb[c];a.fb[c]=d}a.B=b>>14&3;c=a.O>>14&3;a.B!=c&&(a.Pa[c]=a.u[6],a.u[6]=a.Pa[a.B]);a.O=b;a.L&=-3;a.L|=a.I?2:1}function hd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.L|=1}a.Lb=b}k.Fa=function(a){this.W=this.Y=a;this.V=0};k.rb=function(a,b){this.W=this.Y=this.U=a;this.V=b||0};
|
function ld(a){return a.O=a.O&63728|Yd(a)|Xd(a)|Wd(a)|Vd(a)}function md(a,b){a.W=b<<12;a.Z=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.O)&2048)for(var c=a.$a.length;0<=--c;){var d=a.u[c];a.u[c]=a.$a[c];a.$a[c]=d}a.A=b>>14&3;c=a.O>>14&3;a.A!=c&&(a.Na[c]=a.u[6],a.u[6]=a.Na[a.A]);a.O=b;a.L&=-3;a.L|=a.I?2:1}function kd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.L|=1}a.Bb=b}k.Fa=function(a){this.W=this.Z=a;this.V=0};k.rb=function(a,b){this.W=this.Z=this.U=a;this.V=b||0};
|
||||||
function te(a,b){a.W=a.Y=a.U=b;a.V=a.W^a.U>>1}function ue(a,b,c,d){a.W=a.Y=a.U=b;a.V=(c^d)&(d^b)}
|
function ye(a,b){a.W=a.Z=a.U=b;a.V=a.W^a.U>>1}function ze(a,b,c,d){a.W=a.Z=a.U=b;a.V=(c^d)&(d^b)}
|
||||||
k.sa=function(a,b,c){if(!this.J){0>this.za?this.za=id(this):this.B||(c=-4);-4==c&&(this.L&256&&(c=-1),this.L|=256,this.ra|=4,this.u[6]=a=4);if(-1!=c){this.va=a|4143316992;this.B=0;var d=this.Ba(a|this.P),e=this.Ba(a+2&65535|this.P);jd(this,e&-12289|this.za>>2&12288);ve(this,this.za);ve(this,this.u[7]);T(this,d)}this.b-=5;this.L&=~(b|19);this.L|=129;this.za=-1;this.qd=a;this.od=c;-1==c&&this.ba();if(-4<=c)throw a;}};
|
k.ta=function(a,b,c){if(!this.J){0>this.ua?this.ua=ld(this):this.A||(c=-4);-4==c&&(this.L&256&&(c=-1),this.L|=256,this.oa|=4,this.u[6]=a=4);if(-1!=c){this.sa=a|4143316992;this.A=0;var d=this.Ca(a|this.P),e=this.Ca(a+2&65535|this.P);md(this,e&-12289|this.ua>>2&12288);Ae(this,this.ua);Ae(this,this.u[7]);ae(this,d)}this.b-=5;this.L&=~(b|19);this.L|=129;this.ua=-1;this.qd=a;this.od=c;-1==c&&this.ba();if(-4<=c)throw a;}};
|
||||||
function we(a){var b=xe(a),c=xe(a)&-1793;a.O&49152&&(c=c&-225|a.O&63712);T(a,b);jd(a,c);a.L&=-17}k.Oa=function(a){var b=a>>13&31;31>b&&(a=this.Xa&32?this.Yb[b]+(a&8190)&4194302:a&-3932161);return a};
|
function Be(a){var b=Ce(a),c=Ce(a)&-1793;a.O&49152&&(c=c&-225|a.O&63712);ae(a,b);md(a,c);a.L&=-17}k.Ia=function(a){var b=a>>13&31;31>b&&(a=this.Ma&32?this.Cb[b]+(a&8190)&4194302:a&-3932161);return a};
|
||||||
function mc(a,b,c){var d,e,f;if(!(c&a.La))return f=b&65535,57344<=f&&(f|=a.Sb),f;d=b>>13;a.Xa&a.Tc[a.B]||(d&=7);e=a.R[a.B][d];f=(a.ja[a.B][d]<<6)+(b&8191)&a.Qa;3932160<=f&&(f=a.Oa(f));if(a.J)return f;f>=a.gd&&f<a.Sb?(a.ra|=32,a.sa(4,0,f)):f&1&&!(c&1)&&(a.ra|=64,a.sa(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&
|
function oc(a,b,c){var d,e,f;if(!(c&a.ca))return f=b&65535,57344<=f&&(f|=a.ab),f;d=b>>13;a.Ma&a.Cc[a.A]||(d&=7);e=a.R[a.A][d];f=(a.ga[a.A][d]<<6)+(b&8191)&a.S;3932160<=f&&(f=a.Ia(f));if(a.J)return f;f>=a.Uc&&f<a.ab?(a.oa|=32,a.ta(4,0,f)):f&1&&!(c&1)&&(a.oa|=64,a.ta(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&
|
||||||
8128)&&(g|=16384));a.R[a.B][d]=e;if(f!=(4194170&a.Qa)||a.B)a.Ya=a.B,a.Za=d;g&&(g&57344&&(0<=a.za&&(g|=128),a.Ea&57344||(g|=a.Ea&4096|a.Ya<<5|a.Za<<1,dd(a,a.Ea&-61695|g&61694)),a.sa(168,64,-2)),a.Ea&61440||!(f<(4191360&a.Qa)||f>(4194239&a.Qa))||(a.Ea|=4096,a.Ea&512&&(a.L|=64)));return f}function ye(a,b){return a.w.dc(b)}function xe(a){var b=a.Ba(a.u[6]|a.P);a.u[6]=a.u[6]+2&65535;return b}
|
8128)&&(g|=16384));a.R[a.A][d]=e;if(f!=(4194170&a.S)||a.A)a.Sa=a.A,a.Wa=d;g&&(g&57344&&(0<=a.ua&&(g|=128),a.Ea&57344||(g|=a.Ea&4096|a.Sa<<5|a.Wa<<1,gd(a,a.Ea&-61695|g&61694)),a.ta(168,64,-2)),a.Ea&61440||!(f<(4191360&a.S)||f>(4194239&a.S))||(a.Ea|=4096,a.Ea&512&&(a.L|=64)));return f}function De(a,b){return a.w.dc(b)}function Ce(a){var b=a.Ca(a.u[6]|a.P);a.u[6]=a.u[6]+2&65535;return b}
|
||||||
function ve(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.va=a.va&65535|(a.va&-65536)<<8|16121856;a.L&256||a.ma(4,-2,c);a.$b(c,b)}
|
function Ae(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.sa=a.sa&65535|(a.sa&-65536)<<8|16121856;a.L&256||a.va(4,-2,c);a.$b(c,b)}
|
||||||
function ze(a,b,c,d){var e,f,g=d&8?0:a.P;switch(b){case 0:return a.sa(4,0,-3),0;case 1:return 6==c&&a.ma(d,0,a.u[6]),a.b-=3,7==c?a.u[c]:a.u[c]|g;case 2:f=2;e=a.u[c];6==c&&a.ma(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!=c&&(e|=g);e=a.Ba(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;6==c&&a.ma(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!=c&&(e|=g);e=a.Ba(e)|g;a.b-=8;break;case 6:return e=a.Ba(Xd(a,2)),e=e+a.u[c]&65535,6==c&&a.ma(d,
|
function Ee(a,b,c,d){var e,f,g=d&8?0:a.P;switch(b){case 0:return a.ta(4,0,-3),0;case 1:return 6==c&&a.va(d,0,a.u[6]),a.b-=3,7==c?a.u[c]:a.u[c]|g;case 2:f=2;e=a.u[c];6==c&&a.va(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!=c&&(e|=g);e=a.Ca(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;6==c&&a.va(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!=c&&(e|=g);e=a.Ca(e)|g;a.b-=8;break;case 6:return e=a.Ca($d(a,2)),e=e+a.u[c]&65535,6==c&&a.va(d,
|
||||||
0,e),a.b-=6,e|g;case 7:return e=a.Ba(Xd(a,2)),e=e+a.u[c]&65535,e=a.Ba(e|a.P),a.b-=10,e|g}a.u[c]=a.u[c]+f&65535;a.va=a.va&65535|(a.va&-65536)<<8|(f<<3&248|c)<<16;return e}k.rd=function(a,b,c){!this.B&&0>=b&&c<=this.nb&&(this.L|=32)};k.sd=function(a,b,c){this.B||(65534<=c&&(c|=-65536),a&4&&c<=this.nb&&(c<=this.nb-32?this.sa(4,0,-4):(this.ra|=8,this.L|=32)))};function oc(a,b){a.J++;b=a.Nc(mc(a,b,2));a.J--;return b}k.ud=function(a,b,c){a=ze(this,a,b,c);3932160<=a&&(a=this.Oa(a));return a};
|
0,e),a.b-=6,e|g;case 7:return e=a.Ca($d(a,2)),e=e+a.u[c]&65535,e=a.Ca(e|a.P),a.b-=10,e|g}a.u[c]=a.u[c]+f&65535;a.sa=a.sa&65535|(a.sa&-65536)<<8|(f<<3&248|c)<<16;return e}k.rd=function(a,b,c){!this.A&&0>=b&&c<=this.fb&&(this.L|=32)};k.sd=function(a,b,c){this.A||(65534<=c&&(c|=-65536),a&4&&c<=this.fb&&(c<=this.fb-32?this.ta(4,0,-4):(this.oa|=8,this.L|=32)))};function qc(a,b){a.J++;b=a.Qc(oc(a,b,2));a.J--;return b}k.ud=function(a,b,c){a=Ee(this,a,b,c);3932160<=a&&(a=this.Ia(a));return a};
|
||||||
k.vd=function(a,b,c){return mc(this,ze(this,a,b,c),c)};k.Nc=function(a){3932160<=a&&(a=this.Oa(a));return this.w.ua(this.Ub=a)};k.Be=function(a){return this.w.ua(this.Ub=mc(this,a,2))};k.uc=function(a,b){3932160<=a&&(a=this.Oa(a));this.w.Bb(this.Ub=a,b)};k.Bf=function(a,b){this.w.Bb(this.Ub=mc(this,a,4),b)};
|
k.vd=function(a,b,c){return oc(this,Ee(this,a,b,c),c)};k.Qc=function(a){3932160<=a&&(a=this.Ia(a));return this.w.wa(this.Hb=a)};k.Be=function(a){return this.w.wa(this.Hb=oc(this,a,2))};k.wc=function(a,b){3932160<=a&&(a=this.Ia(a));this.w.Db(this.Hb=a,b)};k.Bf=function(a,b){this.w.Db(this.Hb=oc(this,a,4),b)};
|
||||||
function Ae(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=ze(a,b,d,2),c&65536||61440!==(a.O&61440)&&(d&=65535),a.B=a.O>>12&3,c=a.Ba(d|c&a.P),a.B=a.O>>14&3):c=6!=d||(a.O>>2&12288)===(a.O&12288)?a.u[d]:a.Pa[a.O>>12&3];return c}function Be(a,b,c,d){a.va=a.va&65535|1441792;var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=ze(a,b,e,4),c&65536||(e&=65535),a.B=a.O>>12&3,e=mc(a,e|c&65536,4),a.B=a.O>>14&3,a.w.Bb(e,d)):6!=e||(a.O>>2&12288)===(a.O&12288)?a.u[e]=d:a.Pa[a.O>>12&3]=d}
|
function Fe(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=Ee(a,b,d,2),c&65536||61440!==(a.O&61440)&&(d&=65535),a.A=a.O>>12&3,c=a.Ca(d|c&a.P),a.A=a.O>>14&3):c=6!=d||(a.O>>2&12288)===(a.O&12288)?a.u[d]:a.Na[a.O>>12&3];return c}function Ge(a,b,c,d){a.sa=a.sa&65535|1441792;var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=Ee(a,b,e,4),c&65536||(e&=65535),a.A=a.O>>12&3,e=oc(a,e|c&65536,4),a.A=a.O>>14&3,a.w.Db(e,d)):6!=e||(a.O>>2&12288)===(a.O&12288)?a.u[e]=d:a.Na[a.O>>12&3]=d}
|
||||||
function Ce(a,b){b>>=6;var c=a.G=b&7;return(b=a.F=(b&56)>>3)?ye(a,a.aa(b,c,3)):a.u[c+a.ub]&a.Ac}function De(a,b){b>>=6;var c=a.G=b&7;return(b=a.F=(b&56)>>3)?a.w.ua(a.aa(b,c,2)):a.u[c+a.ub]}function Ee(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return ze(a,b,c,8)}function Fe(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?ye(a,a.aa(b,c,3)):a.u[c]&255}function Ge(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.w.ua(a.aa(b,c,2)):a.u[c]}
|
function He(a,b){b>>=6;var c=a.H=b&7;return(b=a.F=(b&56)>>3)?De(a,a.aa(b,c,3)):a.u[c+a.Eb]&a.Dc}function Ie(a,b){b>>=6;var c=a.H=b&7;return(b=a.F=(b&56)>>3)?a.w.wa(a.aa(b,c,2)):a.u[c+a.Eb]}function Je(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return Ee(a,b,c,8)}function Ke(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?De(a,a.aa(b,c,3)):a.u[c]&255}function Le(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.w.wa(a.aa(b,c,2)):a.u[c]}
|
||||||
function U(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.Tb=a.aa(b,e,7),c=0>c?a.u[-c-1]&255:c,c=d.call(a,c,ye(a,e)),e&1&&a.b--,a.w.Mb(e,c)):(b=a.u[e],c=0>c?a.u[-c-1]&255:c,a.u[e]=b&65280|d.call(a,c,b&255))}function V(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.aa(b,e,6),a.w.Bb(e,d.call(a,0>c?a.u[-c-1]:c,a.w.ua(e)))):a.u[e]=d.call(a,0>c?a.u[-c-1]:c,a.u[e])}
|
function Me(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.jc=a.aa(b,e,7),c=0>c?a.u[-c-1]&255:c,c=d.call(a,c,De(a,e)),e&1&&a.b--,a.w.Rb(e,c)):(b=a.u[e],c=0>c?a.u[-c-1]&255:c,a.u[e]=b&65280|d.call(a,c,b&255))}function V(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.aa(b,e,6),a.w.Db(e,d.call(a,0>c?a.u[-c-1]:c,a.w.wa(e)))):a.u[e]=d.call(a,0>c?a.u[-c-1]:c,a.u[e])}
|
||||||
function He(a,b,c,d,e){var f=a.f=b&7;(b=a.g=(b&56)>>3)?(d=a.aa(b,f,5),e.call(a,(c=0>c?a.u[-c-1]&255:c)<<8),d&1&&a.b--,a.w.Mb(d,c)):(c?(c=0>c?a.u[-c-1]&255:c,a.u[f]=a.u[f]&~d|c<<24>>24&d):a.u[f]&=~d,e.call(a,c<<8))}function Ie(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.aa(b,e,4),d.call(a,c=0>c?a.u[-c-1]:c),a.w.Bb(e,c)):(a.u[e]=c=0>c?a.u[-c-1]:c,d.call(a,c))}function W(a,b,c){c&&(T(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3}
|
function Ne(a,b,c,d,e){var f=a.f=b&7;(b=a.g=(b&56)>>3)?(d=a.aa(b,f,5),e.call(a,(c=0>c?a.u[-c-1]&255:c)<<8),d&1&&a.b--,a.w.Rb(d,c)):(c?(c=0>c?a.u[-c-1]&255:c,a.u[f]=a.u[f]&~d|c<<24>>24&d):a.u[f]&=~d,e.call(a,c<<8))}function Oe(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.aa(b,e,4),d.call(a,c=0>c?a.u[-c-1]:c),a.w.Db(e,c)):(a.u[e]=c=0>c?a.u[-c-1]:c,d.call(a,c))}function W(a,b,c){c&&(ae(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3}
|
||||||
k.qb=function(a){this.C.complete=!0;var b=this.j?Je(this.j)?1:this.C.gc?-1:0:0,c=a?this.C.gc?0:1:-1;this.C.gc=!1;this.ca=this.b=a;do{if(b){if(Ke(this.j,this.u[7],c)){this.ba();break}c||c++;b++}if(this.L){if(a=this.L&11)if(a=!1,this.L&2){var d=160,e=(this.Lb&224)>>5,f=this.I&&this.I.mb>e?this.I:null;f&&(d=f.Zb,e=f.mb);e>(this.O&224)>>5?(this.L&8&&(Xd(this,2),this.L&=-9),this.sa(d,0,-10),e=!0):e=!1;e&&(f&&Yd(this,f),a=!0);this.I||this.Lb||(this.L&=-3)}else this.L&1&&this.L++;if(a){if(b&&Ke(this.j,this.u[7],
|
k.qb=function(a){this.C.complete=!0;var b=this.j?Pe(this.j)?1:this.C.gc?-1:0:0,c=a?this.C.gc?0:1:-1;this.C.gc=!1;this.ma=this.b=a;do{if(b){if(Qe(this.j,this.u[7],c)){this.ba();break}c||c++;b++}if(this.L){if(a=this.L&11)if(a=!1,this.L&2){var d=160,e=(this.Bb&224)>>5,f=this.I&&this.I.nb>e?this.I:null;f&&(d=f.Zb,e=f.nb);e>(this.O&224)>>5?(this.L&8&&($d(this,2),this.L&=-9),this.ta(d,0,-10),e=!0):e=!1;e&&(f&&be(this,f),a=!0);this.I||this.Bb||(this.L&=-3)}else this.L&1&&this.L++;if(a){if(b&&Qe(this.j,this.u[7],
|
||||||
c)){this.ba();break}if(0>c)break}if(this.L&112&&se(this)){if(b&&Ke(this.j,this.u[7],c)){this.ba();break}if(0>c)break}}this.L=this.L&15|this.O&16;this.decode(Wd(this))}while(0<this.b);return this.C.complete?this.ca-this.b:void 0===this.C.complete?0:-1};bb(function(){for(var a=F(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Nd(d);E(d,c)}});function Le(a,b){var c=b+a;this.W=this.Y=this.U=c;this.V=(a^c)&(b^c);return c&65535}
|
c)){this.ba();break}if(0>c)break}if(this.L&112&&ce(this)){if(b&&Qe(this.j,this.u[7],c)){this.ba();break}if(0>c)break}}this.L=this.L&15|this.O&16;this.decode(Zd(this))}while(0<this.b);return this.C.complete?this.ma-this.b:void 0===this.C.complete?0:-1};eb(function(){for(var a=G(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Qd(d);F(d,c)}});function Re(a,b){var c=b+a;this.W=this.Z=this.U=c;this.V=(a^c)&(b^c);return c&65535}
|
||||||
function Me(a,b){var c=b+a,d=c<<8;this.W=this.Y=this.U=d;this.V=(a<<8^d)&(b<<8^d);return c&255}function Ne(a,b){a=b<<1;te(this,a);return a&65535}function Oe(a,b){a=b<<1;te(this,a<<8);return a&255}function Pe(a,b){a=b&32768|b>>1|b<<16;te(this,a);return a&65535}function Qe(a,b){a=b&128|b>>1|b<<8;te(this,a<<8);return a&255}function Re(a,b){a=b&~a;this.Fa(a);return a}function Se(a,b){a=b&~a;this.Fa(a<<8);return a}function Te(a,b){a|=b;this.Fa(a);return a}function Ue(a,b){a|=b;this.Fa(a<<8);return a}
|
function Se(a,b){var c=b+a,d=c<<8;this.W=this.Z=this.U=d;this.V=(a<<8^d)&(b<<8^d);return c&255}function Te(a,b){a=b<<1;ye(this,a);return a&65535}function Ue(a,b){a=b<<1;ye(this,a<<8);return a&255}function Ve(a,b){a=b&32768|b>>1|b<<16;ye(this,a);return a&65535}function We(a,b){a=b&128|b>>1|b<<8;ye(this,a<<8);return a&255}function Xe(a,b){a=b&~a;this.Fa(a);return a}function Ye(a,b){a=b&~a;this.Fa(a<<8);return a}function Ze(a,b){a|=b;this.Fa(a);return a}function $e(a,b){a|=b;this.Fa(a<<8);return a}
|
||||||
function Ve(a,b){a=~b|65536;this.rb(a);return a&65535}function We(a,b){a=~b|256;this.rb(a<<8);return a&255}function Xe(a,b){this.W=this.Y=a=b-a;this.V=b&(b^a);return a&65535}function Ye(a,b){a=b-a;var c=a<<8;b<<=8;this.W=this.Y=c;this.V=b&(b^c);return a&255}function Ze(a,b){this.W=this.Y=a=b+a;this.V=a&(b^a);return a&65535}function $e(a,b){a=b+a;var c=a<<8;this.W=this.Y=c;this.V=c&(b<<8^c);return a&255}function af(a,b){a=-b;this.rb(a,a&b&32768);return a&65535}
|
function af(a,b){a=~b|65536;this.rb(a);return a&65535}function bf(a,b){a=~b|256;this.rb(a<<8);return a&255}function cf(a,b){this.W=this.Z=a=b-a;this.V=b&(b^a);return a&65535}function df(a,b){a=b-a;var c=a<<8;b<<=8;this.W=this.Z=c;this.V=b&(b^c);return a&255}function ef(a,b){this.W=this.Z=a=b+a;this.V=a&(b^a);return a&65535}function ff(a,b){a=b+a;var c=a<<8;this.W=this.Z=c;this.V=c&(b<<8^c);return a&255}function gf(a,b){a=-b;this.rb(a,a&b&32768);return a&65535}
|
||||||
function bf(a,b){a=-b;this.rb(a<<8,(a&b&128)<<8);return a&255}function cf(a,b){a=b<<1|this.U>>16&1;te(this,a);return a&65535}function df(a,b){a=b<<1|this.U>>16&1;te(this,a<<8);return a&255}function ef(a,b){a=(this.U&65536|b)>>1|b<<16;te(this,a);return a&65535}function ff(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;te(this,a<<8);return a&255}function gf(a,b){var c=b-a;ue(this,c,a,b);return c&65535}function hf(a,b){var c=b-a;ue(this,c<<8,a<<8,b<<8);return c&255}
|
function hf(a,b){a=-b;this.rb(a<<8,(a&b&128)<<8);return a&255}function jf(a,b){a=b<<1|this.U>>16&1;ye(this,a);return a&65535}function kf(a,b){a=b<<1|this.U>>16&1;ye(this,a<<8);return a&255}function lf(a,b){a=(this.U&65536|b)>>1|b<<16;ye(this,a);return a&65535}function mf(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;ye(this,a<<8);return a&255}function nf(a,b){var c=b-a;ze(this,c,a,b);return c&65535}function of(a,b){var c=b-a;ze(this,c<<8,a<<8,b<<8);return c&255}
|
||||||
function jf(a,b){this.W=this.Y=b&65280;this.V=this.U=0;return(b<<8|b>>8)&65535}function kf(a,b){a^=b;this.Fa(a);return a&65535}function lf(a){V(this,a,De(this,a),Le);this.b-=this.g?9+(this.G&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}
|
function pf(a,b){this.W=this.Z=b&65280;this.V=this.U=0;return(b<<8|b>>8)&65535}function qf(a,b){a^=b;this.Fa(a);return a&65535}function rf(a){V(this,a,Ie(this,a),Re);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}
|
||||||
function mf(a){var b=Ge(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.U=c<<17-b,c>>=b;else if(b)if(16<b)this.V=c,c=0;else{this.U=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.V=32768)}this.u[a]=c&65535;this.W=this.Y=c;this.b-=(this.g?6:7)+b}
|
function sf(a){var b=Le(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.U=c<<17-b,c>>=b;else if(b)if(16<b)this.V=c,c=0;else{this.U=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.V=32768)}this.u[a]=c&65535;this.W=this.Z=c;this.b-=(this.g?6:7)+b}
|
||||||
function nf(a){var b=Ge(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.U=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.V=32768)):d=c;this.u[a]=d>>16&65535;this.u[a|1]=d&65535;this.W=d>>16;this.Y=d>>16|d;this.b-=(this.g?6:7)+b}function of(a){W(this,a,!Sd(this))}function pf(a){W(this,a,Sd(this))}
|
function tf(a){var b=Le(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.U=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.V=32768)):d=c;this.u[a]=d>>16&65535;this.u[a|1]=d&65535;this.W=d>>16;this.Z=d>>16|d;this.b-=(this.g?6:7)+b}function uf(a){W(this,a,!Vd(this))}function vf(a){W(this,a,Vd(this))}
|
||||||
function qf(a){V(this,a,De(this,a),Re);this.b-=this.g?9+(this.G&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function rf(a){U(this,a,Ce(this,a),Se);this.b-=this.g?9+(this.G&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function sf(a){V(this,a,De(this,a),Te);this.b-=this.g?9+(this.G&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function tf(a){U(this,a,Ce(this,a),Ue);this.b-=this.g?9+(this.G&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}
|
function wf(a){V(this,a,Ie(this,a),Xe);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function xf(a){Me(this,a,He(this,a),Ye);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function yf(a){V(this,a,Ie(this,a),Ze);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function zf(a){Me(this,a,He(this,a),$e);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}
|
||||||
function uf(a){var b=De(this,a);a=Ge(this,a);this.Fa((0>b?this.u[-b-1]:b)&a);this.b-=this.g?4+(this.G&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function vf(a){var b=Ce(this,a);a=Fe(this,a);this.Fa(((0>b?this.u[-b-1]&255:b)&a)<<8);this.b-=this.g?4+(this.G&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function wf(a){W(this,a,Ud(this))}function xf(a){W(this,a,!Vd(this)==!Td(this))}function yf(a){W(this,a,!Ud(this)&&!Vd(this)==!Td(this))}function zf(a){W(this,a,!Sd(this)&&!Ud(this))}
|
function Af(a){var b=Ie(this,a);a=Le(this,a);this.Fa((0>b?this.u[-b-1]:b)&a);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function Bf(a){var b=He(this,a);a=Ke(this,a);this.Fa(((0>b?this.u[-b-1]&255:b)&a)<<8);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function Cf(a){W(this,a,Xd(this))}function Df(a){W(this,a,!Yd(this)==!Wd(this))}function Ef(a){W(this,a,!Xd(this)&&!Yd(this)==!Wd(this))}function Ff(a){W(this,a,!Vd(this)&&!Xd(this))}
|
||||||
function Af(a){W(this,a,Ud(this)||!Vd(this)!=!Td(this))}function Bf(a){W(this,a,Sd(this)||Ud(this))}function Cf(a){W(this,a,!Vd(this)!=!Td(this))}function Df(a){W(this,a,Vd(this))}function Ef(a){W(this,a,!Ud(this))}function Ff(a){W(this,a,!Vd(this))}function Gf(){this.sa(12,0,-9)}function Hf(a){W(this,a,!0)}function If(a){W(this,a,!Td(this))}function Jf(a){W(this,a,Td(this))}function Kf(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Y=1);a&8&&(this.W=0);this.b-=5}
|
function Gf(a){W(this,a,Xd(this)||!Yd(this)!=!Wd(this))}function Hf(a){W(this,a,Vd(this)||Xd(this))}function If(a){W(this,a,!Yd(this)!=!Wd(this))}function Jf(a){W(this,a,Yd(this))}function Kf(a){W(this,a,!Xd(this))}function Lf(a){W(this,a,!Yd(this))}function Mf(){this.ta(12,0,-9)}function Nf(a){W(this,a,!0)}function Of(a){W(this,a,!Wd(this))}function Pf(a){W(this,a,Wd(this))}function Qf(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Z=1);a&8&&(this.W=0);this.b-=5}
|
||||||
function Lf(a){var b=De(this,a);a=Ge(this,a);var c=(b=0>b?this.u[-b-1]:b)-a;ue(this,c,a,b);this.b-=this.g?4+(this.G&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function Mf(a){var b=Ce(this,a);a=Fe(this,a);var c=(b=(0>b?this.u[-b-1]&255:b)<<8)-(a<<=8);ue(this,c,a,b);this.b-=this.g?4+(this.G&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}
|
function Rf(a){var b=Ie(this,a);a=Le(this,a);var c=(b=0>b?this.u[-b-1]:b)-a;ze(this,c,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function Sf(a){var b=He(this,a);a=Ke(this,a);var c=(b=(0>b?this.u[-b-1]&255:b)<<8)-(a<<=8);ze(this,c,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}
|
||||||
function Nf(a){var b=Ge(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.Y=d>>16|d,this.W=d>>16):(this.V=32768,this.Y=d>>15|d,this.W=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.Y=this.W=0,this.V=32768,this.U=65536,this.b-=7}function Of(){this.sa(24,0,-9);this.b-=20}
|
function Tf(a){var b=Le(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.Z=d>>16|d,this.W=d>>16):(this.V=32768,this.Z=d>>15|d,this.W=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.Z=this.W=0,this.V=32768,this.U=65536,this.b-=7}function Uf(){this.ta(24,0,-9);this.b-=20}
|
||||||
function Pf(){this.O&49152?(this.ra|=128,this.sa(4,0,-8)):(this.v&&1120==this.kb&&this.v.setData(this.u[0],!0),this.j?Qf(this.j):this.ba());this.b-=7}function Rf(){this.sa(16,0,-9);this.b-=20}var Sf=[0,7,7,10,7,11,9,13];function Tf(a){this.K=this.b;T(this,Ee(this,a));this.b=this.K-Sf[this.g]}var Uf=[0,14,14,17,14,18,16,20];function Vf(a){this.K=this.b;var b=Ee(this,a);a=a>>6&7;ve(this,this.u[a]);this.u[a]=this.u[7];T(this,b);this.b=this.K-Uf[this.g]}
|
function Vf(){this.O&49152?(this.oa|=128,this.ta(4,0,-8)):(this.v&&1120==this.lb&&this.v.setData(this.u[0],!0),this.j?Wf(this.j):this.ba());this.b-=7}function Xf(){this.ta(16,0,-9);this.b-=20}var Yf=[0,7,7,10,7,11,9,13];function Zf(a){this.K=this.b;ae(this,Je(this,a));this.b=this.K-Yf[this.g]}var $f=[0,14,14,17,14,18,16,20];function ag(a){this.K=this.b;var b=Je(this,a);a=a>>6&7;Ae(this,this.u[a]);this.u[a]=this.u[7];ae(this,b);this.b=this.K-$f[this.g]}
|
||||||
var Wf=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Xf(a){var b=De(this,a);this.K=this.b;Ie(this,a,b,this.Fa);this.b=this.K-Wf[(this.F?8:0)+this.g]+(7!=this.f||this.g?0:2)}function Yf(a){var b=Ce(this,a);He(this,a,b,65535,this.Fa);this.b-=this.g?9+(this.G&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}var Zf=[7,13,13,17,14,18,17,21];
|
var bg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function cg(a){var b=Ie(this,a);this.K=this.b;Oe(this,a,b,this.Fa);this.b=this.K-bg[(this.F?8:0)+this.g]+(7!=this.f||this.g?0:2)}function dg(a){var b=He(this,a);Ne(this,a,b,65535,this.Fa);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}var eg=[7,13,13,17,14,18,17,21];
|
||||||
function $f(a){var b=Ge(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.W=b>>16;this.Y=this.W|b;this.V=0;this.U=-32768>b||32767<b?65536:0;this.b-=23}function ag(){this.b-=5}function bg(){this.O&49152||(this.w.reset(),Tb(this),this.v&&this.v.setData(this.u[0],!0));this.b-=667}function cg(a){if(a&8)X.call(this,a);else{var b=xe(this);a&=7;7==a?T(this,b):(T(this,this.u[a]),this.u[a]=b);this.b-=9}}
|
function fg(a){var b=Le(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.W=b>>16;this.Z=this.W|b;this.V=0;this.U=-32768>b||32767<b?65536:0;this.b-=23}function gg(){this.b-=5}function hg(){this.O&49152||(this.w.reset(),Vb(this),this.v&&this.v.setData(this.u[0],!0));this.b-=667}function ig(a){if(a&8)X.call(this,a);else{var b=Ce(this);a&=7;7==a?ae(this,b):(ae(this,this.u[a]),this.u[a]=b);this.b-=9}}
|
||||||
function dg(){we(this);this.b-=13}function eg(a){a&1&&(this.U=65536);a&2&&(this.V=32768);a&4&&(this.Y=0);a&8&&(this.W=32768);this.b-=5}function fg(a){var b=(a&448)>>6;if(this.u[b]=this.u[b]-1&65535)T(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function gg(a){V(this,a,De(this,a),gf);this.b-=this.g?9+(this.G&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function hg(a){V(this,a,0,jf);this.b-=this.g?9:3+(7==this.f?2:0)}function ig(){this.sa(28,0,-9)}
|
function jg(){Be(this);this.b-=13}function kg(a){a&1&&(this.U=65536);a&2&&(this.V=32768);a&4&&(this.Z=0);a&8&&(this.W=32768);this.b-=5}function lg(a){var b=(a&448)>>6;if(this.u[b]=this.u[b]-1&65535)ae(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function mg(a){V(this,a,Ie(this,a),nf);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function ng(a){V(this,a,0,pf);this.b-=this.g?9:3+(7==this.f?2:0)}function og(){this.ta(28,0,-9)}
|
||||||
function jg(){this.v&&(this.v.sc(this.u[7],!0),this.v.setData(this.u[0],!0));this.L|=8;Xd(this,-2);this.b-=3}function kg(a){V(this,a,this.u[(a>>6&7)+this.ub],kf);this.b-=this.g?9:3+(7==this.f?2:0)}function X(a){var b;if(b=this.j)b=this.j,I(b,1)?(G(b,"undefined opcode "+L(b,a),!0,!0),b=Qf(b)):b=!1;b||this.sa(8,0,-9)}function Od(a){lg[a>>12].call(this,a)}function mg(a){ng[a>>6&3].call(this,a)}function og(a){pg[a>>6&3].call(this,a)}function qg(a){rg[a>>6&3].call(this,a)}
|
function pg(){this.v&&(this.v.uc(this.u[7],!0),this.v.setData(this.u[0],!0));this.L|=8;$d(this,-2);this.b-=3}function qg(a){V(this,a,this.u[(a>>6&7)+this.Eb],qf);this.b-=this.g?9:3+(7==this.f?2:0)}function X(a){var b;if(b=this.j)b=this.j,K(b,1)?(H(b,"undefined opcode "+N(b,a),!0,!0),b=Wf(b)):b=!1;b||this.ta(8,0,-9)}function Rd(a){rg[a>>12].call(this,a)}function sg(a){tg[a>>6&3].call(this,a)}function ug(a){vg[a>>6&3].call(this,a)}function wg(a){xg[a>>6&3].call(this,a)}
|
||||||
function sg(a){tg[a&15].call(this,a)}function ug(a){vg[a&15].call(this,a)}function wg(a){xg[a>>6&3].call(this,a)}function yg(a){zg[a>>6&3].call(this,a)}function Ag(a){Bg[a>>6&3].call(this,a)}
|
function yg(a){zg[a&15].call(this,a)}function Ag(a){Bg[a&15].call(this,a)}function Cg(a){Dg[a>>6&3].call(this,a)}function Eg(a){Fg[a>>6&3].call(this,a)}function Gg(a){Hg[a>>6&3].call(this,a)}
|
||||||
var lg=[function(a){Cg[a>>8&15].call(this,a)},Xf,Lf,uf,qf,sf,lf,X,function(a){Dg[a>>8&15].call(this,a)},Yf,Mf,vf,rf,tf,gg,X],Cg=[function(a){Eg[a>>4&15].call(this,a)},Hf,Ef,wf,xf,Cf,yf,Af,Vf,Vf,mg,og,qg,X,X,X],ng=[function(a){Ie(this,a,0,this.rb);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,Ve);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,1,Ze);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,1,Xe);this.b-=this.g?9:3+(7==this.f?2:0)}],pg=[function(a){V(this,a,0,af);
|
var rg=[function(a){Ig[a>>8&15].call(this,a)},cg,Rf,Af,wf,yf,rf,X,function(a){Jg[a>>8&15].call(this,a)},dg,Sf,Bf,xf,zf,mg,X],Ig=[function(a){Kg[a>>4&15].call(this,a)},Nf,Kf,Cf,Df,If,Ef,Gf,ag,ag,sg,ug,wg,X,X,X],tg=[function(a){Oe(this,a,0,this.rb);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,af);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,1,ef);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,1,cf);this.b-=this.g?9:3+(7==this.f?2:0)}],vg=[function(a){V(this,a,0,gf);
|
||||||
this.b-=this.g?11:6},function(a){V(this,a,Sd(this)?1:0,Le);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,Sd(this)?1:0,gf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Ge(this,a);this.rb(a);this.b-=this.g?4:3+(7==this.f?2:0)}],rg=[function(a){V(this,a,0,ef);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,cf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,Pe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,Ne);this.b-=this.g?9:3+(7==this.f?2:0)}],Eg=
|
this.b-=this.g?11:6},function(a){V(this,a,Vd(this)?1:0,Re);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,Vd(this)?1:0,nf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Le(this,a);this.rb(a);this.b-=this.g?4:3+(7==this.f?2:0)}],xg=[function(a){V(this,a,0,lf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,jf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,Ve);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,Te);this.b-=this.g?9:3+(7==this.f?2:0)}],Kg=
|
||||||
[function(a){Fg[a&15].call(this,a)},X,X,X,Tf,Tf,Tf,Tf,cg,X,sg,ug,hg,hg,hg,hg],Fg=[Pf,jg,dg,Gf,Rf,bg,X,X,X,X,X,X,X,X,X,X],tg=[ag,function(){this.U=0;this.b-=5},function(){this.V=0;this.b-=5},Kf,function(){this.Y=1;this.b-=5},Kf,Kf,Kf,function(){this.W=0;this.b-=5},Kf,Kf,Kf,Kf,Kf,Kf,Kf],vg=[ag,function(){this.U=65536;this.b-=5},function(){this.V=32768;this.b-=5},eg,function(){this.Y=0;this.b-=5},eg,eg,eg,function(){this.W=32768;this.b-=5},eg,eg,eg,eg,eg,eg,eg],Dg=[Ff,Df,zf,Bf,If,Jf,of,pf,Of,ig,wg,yg,
|
[function(a){Lg[a&15].call(this,a)},X,X,X,Zf,Zf,Zf,Zf,ig,X,yg,Ag,ng,ng,ng,ng],Lg=[Vf,pg,jg,Mf,Xf,hg,X,X,X,X,X,X,X,X,X,X],zg=[gg,function(){this.U=0;this.b-=5},function(){this.V=0;this.b-=5},Qf,function(){this.Z=1;this.b-=5},Qf,Qf,Qf,function(){this.W=0;this.b-=5},Qf,Qf,Qf,Qf,Qf,Qf,Qf],Bg=[gg,function(){this.U=65536;this.b-=5},function(){this.V=32768;this.b-=5},kg,function(){this.Z=0;this.b-=5},kg,kg,kg,function(){this.W=32768;this.b-=5},kg,kg,kg,kg,kg,kg,kg],Jg=[Lf,Jf,Ff,Hf,Of,Pf,uf,vf,Uf,og,Cg,Eg,
|
||||||
Ag,X,X,X],xg=[function(a){He(this,a,0,255,this.rb);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,0,We);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,1,$e);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,1,Ye);this.b-=this.g?9:3+(7==this.f?2:0)}],zg=[function(a){U(this,a,0,bf);this.b-=this.g?11:6},function(a){U(this,a,Sd(this)?1:0,Me);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,Sd(this)?1:0,hf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Fe(this,a);
|
Gg,X,X,X],Dg=[function(a){Ne(this,a,0,255,this.rb);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Me(this,a,0,bf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Me(this,a,1,ff);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Me(this,a,1,df);this.b-=this.g?9:3+(7==this.f?2:0)}],Fg=[function(a){Me(this,a,0,hf);this.b-=this.g?11:6},function(a){Me(this,a,Vd(this)?1:0,Se);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Me(this,a,Vd(this)?1:0,of);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Ke(this,
|
||||||
this.rb(a<<8);this.b-=this.g?4:3+(7==this.f?2:0)}],Bg=[function(a){U(this,a,0,ff);this.b-=this.g?9+(this.Tb&1):3+(7==this.f?2:0)},function(a){U(this,a,0,df);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,0,Qe);this.b-=this.g?9+(this.Tb&1):3+(7==this.f?2:0)},function(a){U(this,a,0,Oe);this.b-=this.g?9:3+(7==this.f?2:0)}];function Pd(a){Gg[a>>12].call(this,a)}
|
a);this.rb(a<<8);this.b-=this.g?4:3+(7==this.f?2:0)}],Hg=[function(a){Me(this,a,0,mf);this.b-=this.g?9+(this.jc&1):3+(7==this.f?2:0)},function(a){Me(this,a,0,kf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Me(this,a,0,We);this.b-=this.g?9+(this.jc&1):3+(7==this.f?2:0)},function(a){Me(this,a,0,Ue);this.b-=this.g?9:3+(7==this.f?2:0)}];function Sd(a){Mg[a>>12].call(this,a)}
|
||||||
var Gg=[function(a){Hg[a>>8&15].call(this,a)},Xf,Lf,uf,qf,sf,lf,function(a){Ig[a>>8&15].call(this,a)},function(a){Jg[a>>8&15].call(this,a)},Yf,Mf,vf,rf,tf,gg,X],Hg=[function(a){Kg[a>>4&15].call(this,a)},Hf,Ef,wf,xf,Cf,yf,Af,Vf,Vf,mg,og,qg,function(a){Lg[a>>6&3].call(this,a)},X,X],Lg=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.Ba(a|this.P);T(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Ae(this,a,0);this.Fa(a);ve(this,a);this.b-=11},function(a){var b=xe(this);this.K=
|
var Mg=[function(a){Ng[a>>8&15].call(this,a)},cg,Rf,Af,wf,yf,rf,function(a){Og[a>>8&15].call(this,a)},function(a){Pg[a>>8&15].call(this,a)},dg,Sf,Bf,xf,zf,mg,X],Ng=[function(a){Qg[a>>4&15].call(this,a)},Nf,Kf,Cf,Df,If,Ef,Gf,ag,ag,sg,ug,wg,function(a){Rg[a>>6&3].call(this,a)},X,X],Rg=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.Ca(a|this.P);ae(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Fe(this,a,0);this.Fa(a);Ae(this,a);this.b-=11},function(a){var b=Ce(this);
|
||||||
this.b;this.Fa(b);Be(this,a,0,b);this.b=this.K-Zf[this.g]},function(a){Ie(this,a,Vd(this)?65535:0,this.Fa);this.b-=this.g?9:3+(7==this.f?2:0)}],Kg=[function(a){Mg[a&15].call(this,a)},X,X,X,Tf,Tf,Tf,Tf,cg,function(a){a&8?(this.O&49152||(this.O=this.O&-2017|(a&7)<<5,this.L|=1,this.L&=-3),this.b-=5):X.call(this,a)},sg,ug,hg,hg,hg,hg],Mg=[Pf,jg,function(){we(this);this.L|=this.O&16;this.b-=13},Gf,Rf,bg,dg,function(){this.sa(8,0,-9)},X,X,X,X,X,X,X,X],Ig=[$f,$f,Nf,Nf,mf,mf,nf,nf,kg,kg,X,X,X,X,fg,fg],Jg=
|
this.K=this.b;this.Fa(b);Ge(this,a,0,b);this.b=this.K-eg[this.g]},function(a){Oe(this,a,Yd(this)?65535:0,this.Fa);this.b-=this.g?9:3+(7==this.f?2:0)}],Qg=[function(a){Sg[a&15].call(this,a)},X,X,X,Zf,Zf,Zf,Zf,ig,function(a){a&8?(this.O&49152||(this.O=this.O&-2017|(a&7)<<5,this.L|=1,this.L&=-3),this.b-=5):X.call(this,a)},yg,Ag,ng,ng,ng,ng],Sg=[Vf,pg,function(){Be(this);this.L|=this.O&16;this.b-=13},Mf,Xf,hg,jg,function(){this.ta(8,0,-9)},X,X,X,X,X,X,X,X],Og=[fg,fg,Tf,Tf,sf,sf,tf,tf,qg,qg,X,X,X,X,lg,
|
||||||
[Ff,Df,zf,Bf,If,Jf,of,pf,Of,ig,wg,yg,Ag,function(a){Ng[a>>6&3].call(this,a)},X,X],Ng=[X,function(a){a=Ae(this,a,65536);this.Fa(a);ve(this,a);this.b-=11},function(a){var b=xe(this);this.K=this.b;this.Fa(b);Be(this,a,65536,b);this.b=this.K-Zf[this.g]},X];
|
lg],Pg=[Lf,Jf,Ff,Hf,Of,Pf,uf,vf,Uf,og,Cg,Eg,Gg,function(a){Tg[a>>6&3].call(this,a)},X,X],Tg=[X,function(a){a=Fe(this,a,65536);this.Fa(a);Ae(this,a);this.b-=11},function(a){var b=Ce(this);this.K=this.b;this.Fa(b);Ge(this,a,65536,b);this.b=this.K-eg[this.g]},X];
|
||||||
function Og(a){x.call(this,"ROM",a,Og,128);this.ia=this.A=null;this.B=a.addr;this.f=a.size;this.F=!1;this.v=a.alias;this.g=a.file;this.G=u(this.g);if(this.g){a=this.g;var b=oa(this.G);"json"!=b&&"hex"!=b&&(a=Fa()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;Da(a,null,!0,function(a,b,f){f?(c.N("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(mb(c.hb,a,b),(a=Ea(a,b))?(c.A=a.ga,c.ia=a.ia):c.g=null);Pg(c)})}}B(Og);k=Og.prototype;
|
function Ug(a){y.call(this,"ROM",a,Ug,128);this.ja=this.B=null;this.A=a.addr;this.f=a.size;this.F=!1;this.v=a.alias;this.g=a.file;this.H=w(this.g);if(this.g){a=this.g;var b=pa(this.H);"json"!=b&&"hex"!=b&&(a=Ia()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.N("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(pb(c.ib,a,b),(a=Ha(a,b))?(c.B=a.ha,c.ja=a.ja):c.g=null);Vg(c)})}}D(Ug);k=Ug.prototype;
|
||||||
k.Ga=function(a,b,c,d){this.w=b;this.b=c;this.j=d;Pg(this)};k.Ja=function(){this.ia&&(this.j&&Qg(this.j,this.id,this.B,this.f,this.ia),delete this.ia);return!0};k.Ia=function(){return!0};
|
k.Ha=function(a,b,c,d){this.w=b;this.b=c;this.j=d;Vg(this)};k.La=function(){this.ja&&(this.j&&Wg(this.j,this.id,this.A,this.f,this.ja),delete this.ja);return!0};k.Ka=function(){return!0};
|
||||||
function Pg(a){if(!yb(a)){if(a.g){if(!a.A||!a.w)return;a.f||(a.f=a.A.length);if(a.A.length!=a.f)Ab(a,"ROM size ("+p(a.A.length,8,!0)+") does not match specified size ("+p(a.f,8,!0)+")");else{var b;a:{b=a.B;a.status(a.f+"-byte ROM at "+na(b));if(57344<=b&&b<57344+vc){var c={};b=(c[b]=[Og.prototype.pe,Og.prototype.pf,null,null,null,a.f>>1],c);if(Kb(a.w,a,b)){b=a.F=!0;break a}}else if(Bc(a.w,b,a.f,qd)){for(c=0;c<a.A.length;c++)Ic(a.w,b+c,a.A[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.v?b.push(a.v):
|
function Vg(a){if(!Ab(a)){if(a.g){if(!a.B||!a.w)return;a.f||(a.f=a.B.length);if(a.B.length!=a.f)Cb(a,"ROM size ("+q(a.B.length,8,!0)+") does not match specified size ("+q(a.f,8,!0)+")");else{var b;a:{b=a.A;a.status(a.f+"-byte ROM at "+p(b));if(57344<=b&&b<57344+xc){var c={};b=(c[b]=[Ug.prototype.pe,Ug.prototype.pf,null,null,null,a.f>>1],c);if(Mb(a.w,a,b)){b=a.F=!0;break a}}else if(Dc(a.w,b,a.f,td)){for(c=0;c<a.B.length;c++)Kc(a.w,b+c,a.B[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.v?b.push(a.v):
|
||||||
null!=a.v&&a.v.length&&(b=a.v);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.w,g=d.f,h=[],l=d.B>>>f.pa;0<g&&l<f.ea.length;)h.push(f.ea[l++]),g-=f.Ha;f=d.w;d=d.f;g=0;for(e>>>=f.pa;0<d&&e<f.ea.length;){l=h[g++];if(!l)break;f.ea[e++]=l;d-=f.Ha}}a.F||delete a.A}}}J(a)}}k.pe=function(a){return this.A[a-this.B]};k.pf=function(){};bb(function(){for(var a=F(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Og(d);E(d,c)}});
|
null!=a.v&&a.v.length&&(b=a.v);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.w,g=d.f,h=[],l=d.A>>>f.qa;0<g&&l<f.ea.length;)h.push(f.ea[l++]),g-=f.Ja;f=d.w;d=d.f;g=0;for(e>>>=f.qa;0<d&&e<f.ea.length;){l=h[g++];if(!l)break;f.ea[e++]=l;d-=f.Ja}}a.F||delete a.B}}}L(a)}}k.pe=function(a){return this.B[a-this.A]};k.pf=function(){};eb(function(){for(var a=G(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Ug(d);F(d,c)}});
|
||||||
function Rg(a){x.call(this,"RAM",a,Rg);this.ia=this.A=null;this.g=a.addr;this.v=a.size;this.Ta=a.load;this.Sa=a.exec;this.B=!1;this.f=a.file;this.F=u(this.f);if(this.f){a=this.f;var b=oa(this.F);"json"!=b&&"hex"!=b&&(a=Fa()+"/api/v1/dump?file="+this.f+"&format=bytes&decimal=true");var c=this;Da(a,null,!0,function(a,b,f){f?(c.N("Unable to load RAM resource (error "+f+": "+a+")"),c.f=null):(mb(c.hb,a,b),(a=Ea(a,b))?(c.A=a.ga,c.ia=a.ia,null==c.Ta&&(c.Ta=a.Ta),null==c.Sa&&(c.Sa=a.Sa)):c.f=null);Sg(c)})}}
|
function Xg(a){y.call(this,"RAM",a,Xg);this.ja=this.B=null;this.g=a.addr;this.v=a.size;this.Ua=a.load;this.Ta=a.exec;this.A=!1;this.f=a.file;this.F=w(this.f);if(this.f){a=this.f;var b=pa(this.F);"json"!=b&&"hex"!=b&&(a=Ia()+"/api/v1/dump?file="+this.f+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.N("Unable to load RAM resource (error "+f+": "+a+")"),c.f=null):(pb(c.ib,a,b),(a=Ha(a,b))?(c.B=a.ha,c.ja=a.ja,null==c.Ua&&(c.Ua=a.Ua),null==c.Ta&&(c.Ta=a.Ta)):c.f=null);Yg(c)})}}
|
||||||
B(Rg);Rg.prototype.Ga=function(a,b,c,d){this.w=b;this.b=c;this.j=d;Sg(this)};Rg.prototype.Ja=function(){this.ia&&(this.j&&Qg(this.j,this.id,this.g,this.v,this.ia),delete this.ia);return!0};Rg.prototype.Ia=function(){return!0};function Sg(a){if(a.w&&(!a.B&&a.v&&(Bc(a.w,a.g,a.v,Lc)?a.B=!0:a.v=0),!yb(a))){if(!a.B)v("No RAM allocated");else if(a.f){if(!a.A||!a.w)return;Tg(a,a.A,a.Ta,a.Sa,a.g)}J(a)}}
|
D(Xg);Xg.prototype.Ha=function(a,b,c,d){this.w=b;this.b=c;this.j=d;Yg(this)};Xg.prototype.La=function(){this.ja&&(this.j&&Wg(this.j,this.id,this.g,this.v,this.ja),delete this.ja);return!0};Xg.prototype.Ka=function(){return!0};function Yg(a){if(a.w&&(!a.A&&a.v&&(Dc(a.w,a.g,a.v,Nc)?a.A=!0:a.v=0),!Ab(a))){if(!a.A)x("No RAM allocated");else if(a.f){if(!a.B||!a.w)return;Zg(a,a.B,a.Ua,a.Ta,a.g)}L(a)}}
|
||||||
Rg.prototype.reset=function(){if(this.B){for(var a=this.w,b=this.g,c=this.v,d=b&a.w,b=b>>>a.pa;0<c&&b<a.ea.length;){var e=a.ea[b],f=c,g=0,h,d=d||0,g=g&255;void 0===f&&(f=e.size);if(Bb&&e.D)for(h=d;f--&&h<e.D.length;h++)e.D[h]=g;else for(h=d;f--&&h<e.size;h++)e.G(d,g,e.H+d);c-=a.Ha;b++;d=0}this.A&&Tg(this,this.A,this.Ta,this.Sa,this.g,!0)}};
|
Xg.prototype.reset=function(){if(this.A){for(var a=this.w,b=this.g,c=this.v,d=b&a.w,b=b>>>a.qa;0<c&&b<a.ea.length;){var e=a.ea[b],f=c,g=0,h,d=d||0,g=g&255;void 0===f&&(f=e.size);if(Db&&e.D)for(h=d;f--&&h<e.D.length;h++)e.D[h]=g;else for(h=d;f--&&h<e.size;h++)e.H(d,g,e.G+d);c-=a.Ja;b++;d=0}this.B&&Zg(this,this.B,this.Ua,this.Ta,this.g,!0)}};
|
||||||
function Tg(a,b,c,d,e,f){var g=!1;if(null==c)for(var h=0;h<b.length-1;){var l=b[h]&255|(b[h+1]&255)<<8;if(l)if(l&255){var m=h;if(1!=l){G(a,"invalid signature ("+q(l)+") at offset "+q(m),4096);break}if(h+6>=b.length){G(a,"invalid block at offset "+q(m),4096);break}for(var h=h+2,n=b[h++]&255|(b[h++]&255)<<8,r=b[h++]&255|(b[h++]&255)<<8,l=l+((n&255)+(n>>8)+(r&255)+(r>>8)),w=h,t=n-=6;0<n&&h<b.length;)l+=b[h++]&255,n--;if(n||h>=b.length){G(a,"insufficient data for block at offset "+q(m),4096);break}l+=
|
function Zg(a,b,c,d,e,f){var g=!1;if(null==c)for(var h=0;h<b.length-1;){var l=b[h]&255|(b[h+1]&255)<<8;if(l)if(l&255){var m=h;if(1!=l){H(a,"invalid signature ("+v(l)+") at offset "+v(m),4096);break}if(h+6>=b.length){H(a,"invalid block at offset "+v(m),4096);break}for(var h=h+2,n=b[h++]&255|(b[h++]&255)<<8,r=b[h++]&255|(b[h++]&255)<<8,l=l+((n&255)+(n>>8)+(r&255)+(r>>8)),u=h,t=n-=6;0<n&&h<b.length;)l+=b[h++]&255,n--;if(n||h>=b.length){H(a,"insufficient data for block at offset "+v(m),4096);break}l+=
|
||||||
b[h++]&255;if(l&255){G(a,"invalid checksum ("+p(l,2,!0)+") for block at offset "+q(m),4096);break}if(t)for(G(a,"loading "+q(t)+" bytes at "+q(r)+"-"+q(r+t-1),4096);t--;)Ic(a.w,r++,b[w++]&255);else r&1?a.b.ba():null==d&&(d=r),null!=d&&G(a,"starting address: "+q(d),4096);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g<b.length;g++)Ic(a.w,c+g,b[g]);g=!0}g&&null!=d&&(a=a.b,a.yc=d,a.w.reset(),Tb(a),T(a,d),jd(a,0),!f&&a.j&&(a.ba()||Gd(a.j)));return g}
|
b[h++]&255;if(l&255){H(a,"invalid checksum ("+q(l,2,!0)+") for block at offset "+v(m),4096);break}if(t)for(H(a,"loading "+v(t)+" bytes at "+v(r)+"-"+v(r+t-1),4096);t--;)Kc(a.w,r++,b[u++]&255);else r&1?a.b.ba():null==d&&(d=r),null!=d&&H(a,"starting address: "+v(d),4096);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g<b.length;g++)Kc(a.w,c+g,b[g]);g=!0}g&&null!=d&&(a=a.b,a.Ac=d,a.w.reset(),Vb(a),ae(a,d),md(a,0),!f&&a.j&&(a.ba()||Jd(a.j)));return g}
|
||||||
bb(function(){for(var a=F(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Rg(d);E(d,c)}});function Ug(a){x.call(this,"Keyboard",a,Ug,1024);J(this)}B(Ug);Ug.prototype.wa=function(){return!1};Ug.prototype.Ga=function(a,b,c,d){this.A=a;this.b=c;this.j=d};bb(function(){for(var a=F(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Ug(d);E(d,c)}});
|
eb(function(){for(var a=G(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Xg(d);F(d,c)}});function $g(a){y.call(this,"Keyboard",a,$g,1024);L(this)}D($g);$g.prototype.xa=function(){return!1};$g.prototype.Ha=function(a,b,c,d){this.B=a;this.b=c;this.j=d};eb(function(){for(var a=G(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new $g(d);F(d,c)}});
|
||||||
function Vg(a){this.K=a.adapter;this.Z=a.baudReceive||9600;this.ta=a.baudTransmit||9600;this.ya=a.upperCase;this.v=this.F=null;this.ma=a.tabSize;this.ca=a.charBOL;this.G=0;this.J=!0;x.call(this,"SerialPort",a,Vg,262144);var b=a.binding;if("console"==b)this.F="";else{var c;a=Wg;b&&(void 0===c&&(c="Panel"),(c=vb(c,this.id))&&(b=c.D[b])&&this.wa(null,a,b))}this.B=this.P=this.S=null;this.exports={connect:this.Lc,receiveData:this.fc,receiveStatus:this.Ee}}B(Vg);var Wg="buffer";k=Vg.prototype;
|
function ah(a){this.K=a.adapter;this.Y=a.baudReceive||9600;this.va=a.baudTransmit||9600;this.ua=a.upperCase;this.v=this.F=null;this.ma=a.tabSize;this.ca=a.charBOL;this.H=0;this.J=!0;y.call(this,"SerialPort",a,ah,262144);var b=a.binding;if("console"==b)this.F="";else{var c;a=bh;b&&(void 0===c&&(c="Panel"),(c=sb(c,this.id))&&(b=c.D[b])&&this.xa(null,a,b))}this.A=this.P=this.S=null;this.exports={connect:this.Oc,receiveData:this.fc,receiveStatus:this.Ee}}D(ah);var bh="buffer";k=ah.prototype;
|
||||||
k.wa=function(a,b,c){var d=this;switch(b){case Wg:return this.D[b]=this.v=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?la.xc:la.Xc:46==c?b=la.xc:a.ctrlKey&&c>=la.vc&&c<=la.fd&&(b=c-(la.vc-la.Uc));b&&(a.preventDefault&&a.preventDefault(),d.fc(b));return!0},c.onkeypress=function(a){a=a||window.event;var b=a.which||a.keyCode;a.altKey&&b==la.Wc&&(b=la.Vc);d.fc(b);a.preventDefault&&a.preventDefault();return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
k.xa=function(a,b,c){var d=this;switch(b){case bh:return this.D[b]=this.v=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ma.zc:ma.Yc:46==c?b=ma.zc:a.ctrlKey&&c>=ma.xc&&c<=ma.gd&&(b=c-(ma.xc-ma.Vc));b&&(a.preventDefault&&a.preventDefault(),d.fc(b));return!0},c.onkeypress=function(a){a=a||window.event;var b=a.which||a.keyCode;a.altKey&&b==ma.Xc&&(b=ma.Wc);d.fc(b);a.preventDefault&&a.preventDefault();return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
||||||
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.fc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
|
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.fc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
|
||||||
k.Ga=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.j=d;var e=this;this.da=Rc(this.b,this.K?-1:48,4,262144);this.na=Oc(this.b,function(){var a;a=-1;e.I.length&&(a=e.I.shift()&255,G(e,"receiveByte("+p(a,2,!0)+")"),e.ya&&97<=a&&122>a&&(a-=32),Qc(e.b,e.na,1E3/Math.round(e.Z/10)));0<=a&&(e.M=a,e.f&128?e.M|=49152:e.f|=128,e.f&64&&Pc(c,e.da))});this.T=Rc(this.b,this.K?-1:52,4,262144);this.za=Oc(this.b,function(){e.g|=128;e.g&64&&Pc(c,e.T)});Kb(b,this,Xg,this.K?64832+8*(this.K-1)-65392:0);Mb(b,this.reset.bind(this));
|
k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.j=d;var e=this;this.da=Tc(this.b,this.K?-1:48,4,262144);this.na=Qc(this.b,function(){var a;a=-1;e.I.length&&(a=e.I.shift()&255,H(e,"receiveByte("+q(a,2,!0)+")"),e.ua&&97<=a&&122>a&&(a-=32),Sc(e.b,e.na,1E3/Math.round(e.Y/10)));0<=a&&(e.M=a,e.f&128?e.M|=49152:e.f|=128,e.f&64&&Rc(c,e.da))});this.T=Tc(this.b,this.K?-1:52,4,262144);this.za=Qc(this.b,function(){e.g|=128;e.g&64&&Rc(c,e.T)});Mb(b,this,ch,this.K?64832+8*(this.K-1)-65392:0);Ob(b,this.reset.bind(this));
|
||||||
J(this)};k.Lc=function(a){if(!this.B){var b=Dd(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ya(c[0]);if(d!=this.gb)return;c=ya(c[1]);if(this.B=ob(c)){var e=this.B.exports;if(e){var f=e.connect;f&&f.call(this.B,this.J);if(this.P=e.receiveData){this.J=a;this.S=e.receiveStatus;this.status(this.hb+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
|
L(this)};k.Oc=function(a){if(!this.A){var b=Gd(this.B,"connection");if(b){var c=b.split("->");if(2==c.length){var d=va(c[0]);if(d!=this.hb)return;c=va(c[1]);if(this.A=rb(c)){var e=this.A.exports;if(e){var f=e.connect;f&&f.call(this.A,this.J);if(this.P=e.receiveData){this.J=a;this.S=e.receiveStatus;this.status(this.ib+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
|
||||||
k.Ja=function(a,b){if(!b)if(this.Lc(this.J),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Ia=function(a){return a?this.save():!0};k.reset=function(){Yg(this)};k.save=function(){var a=new S(this);a.set(0,[]);return a.data()};k.restore=function(){return Yg(this)};function Yg(a){a.M=0;a.f=8192;a.g=128;a.I=[];return!0}
|
k.La=function(a,b){if(!b)if(this.Oc(this.J),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Ka=function(a){return a?this.save():!0};k.reset=function(){dh(this)};k.save=function(){var a=new U(this);a.set(0,[]);return a.data()};k.restore=function(){return dh(this)};function dh(a){a.M=0;a.f=8192;a.g=128;a.I=[];return!0}
|
||||||
k.fc=function(a){if("number"==typeof a)this.I.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.I.push(b)}else this.I=this.I.concat(a);Qc(this.b,this.na,1E3/Math.round(this.Z/10));return!0};k.Ee=function(a){var b=this.f;this.f&=-12289;a&32&&(this.f|=8192);a&256&&(this.f|=4096);b!=this.f&&(this.f|=32768,this.f&32&&Pc(this.b,this.da))};k.ce=function(){var a=this.f&65534;this.f&=-32769;return a};
|
k.fc=function(a){if("number"==typeof a)this.I.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.I.push(b)}else this.I=this.I.concat(a);Sc(this.b,this.na,1E3/Math.round(this.Y/10));return!0};k.Ee=function(a){var b=this.f;this.f&=-12289;a&32&&(this.f|=8192);a&256&&(this.f|=4096);b!=this.f&&(this.f|=32768,this.f&32&&Rc(this.b,this.da))};k.ce=function(){var a=this.f&65534;this.f&=-32769;return a};
|
||||||
k.af=function(a){var b=a^this.f;this.f=this.f&-112|a&111;this.S&&b&6&&(b=0,b=this.J?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.S.call(this.B,b))};k.be=function(){this.f&=-129;return this.M};k.$e=function(){};k.De=function(){return this.g};k.Df=function(a){this.g&128&&(a&64?Pc(this.b,this.T):bd(this.b,this.T));this.g=this.g&-70|a&69};k.Ce=function(){return 0};
|
k.af=function(a){var b=a^this.f;this.f=this.f&-112|a&111;this.S&&b&6&&(b=0,b=this.J?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.S.call(this.A,b))};k.be=function(){this.f&=-129;return this.M};k.$e=function(){};k.De=function(){return this.g};k.Df=function(a){this.g&128&&(a&64?Rc(this.b,this.T):ed(this.b,this.T));this.g=this.g&-70|a&69};k.Ce=function(){return 0};
|
||||||
k.Cf=function(a){a&=255;G(this,"transmitByte("+p(a,2,!0)+")");this.P&&this.P.call(this.B,a);a&=127;if(this.v)if(13==a)this.G=0;else if(8==a)this.v.value=this.v.value.slice(0,-1),0<this.G&&this.G--;else{if(a){var b;b=(b=za[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.ma||8,c=a-this.G%a,this.ma&&(b=ta("",c)));this.ca&&!this.G&&c&&(b=String.fromCharCode(this.ca)+b);this.v.value+=b;this.v.scrollTop=this.v.scrollHeight;this.G+=c}}else if(null!=this.F){if(10==a||1024<=
|
k.Cf=function(a){a&=255;H(this,"transmitByte("+q(a,2,!0)+")");this.P&&this.P.call(this.A,a);a&=127;if(this.v)if(13==a)this.H=0;else if(8==a)this.v.value=this.v.value.slice(0,-1),0<this.H&&this.H--;else{if(a){var b;b=(b=Ca[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.ma||8,c=a-this.H%a,this.ma&&(b=ua("",c)));this.ca&&!this.H&&c&&(b=String.fromCharCode(this.ca)+b);this.v.value+=b;this.v.scrollTop=this.v.scrollHeight;this.H+=c}}else if(null!=this.F){if(10==a||1024<=
|
||||||
this.F.length)this.i(this.F),this.F="";10!=a&&(this.F+=String.fromCharCode(a))}Qc(this.b,this.za,1E3/Math.round(this.ta/10));this.g&=-129};var sh={},Xg=(sh[65392]=[null,null,Vg.prototype.ce,Vg.prototype.af,"RCSR"],sh[65394]=[null,null,Vg.prototype.be,Vg.prototype.$e,"RBUF"],sh[65396]=[null,null,Vg.prototype.De,Vg.prototype.Df,"XCSR"],sh[65398]=[null,null,Vg.prototype.Ce,Vg.prototype.Cf,"XBUF"],sh);
|
this.F.length)this.i(this.F),this.F="";10!=a&&(this.F+=String.fromCharCode(a))}Sc(this.b,this.za,1E3/Math.round(this.va/10));this.g&=-129};var Bh={},ch=(Bh[65392]=[null,null,ah.prototype.ce,ah.prototype.af,"RCSR"],Bh[65394]=[null,null,ah.prototype.be,ah.prototype.$e,"RBUF"],Bh[65396]=[null,null,ah.prototype.De,ah.prototype.Df,"XCSR"],Bh[65398]=[null,null,ah.prototype.Ce,ah.prototype.Cf,"XBUF"],Bh);
|
||||||
bb(function(){for(var a=F(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Vg(d);E(d,c)}});function kd(a){x.call(this,"PC11",a,kd);this.g=a.autoMount||null;this.F=0;this.ca=a.baudReceive||3600;this.J=this.K=this.f=0;this.I=[];this.G=th;this.v=uh;this.M=this.B="";this.ga=this.Ta=this.Sa=null;this.T=-1;this.P=!Ma("Mobi")&&window&&"FileReader"in window}B(kd);var th="",uh=0;k=kd.prototype;
|
eb(function(){for(var a=G(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new ah(d);F(d,c)}});function nd(a){y.call(this,"PC11",a,nd);this.g=a.autoMount||null;this.F=0;this.ca=a.baudReceive||3600;this.J=this.K=this.f=0;this.I=[];this.H=Ch;this.v=Dh;this.M=this.A="";this.ha=this.Ua=this.Ta=null;this.T=-1;this.P=!Qa("Mobi")&&window&&"FileReader"in window}D(nd);var Ch="",Dh=0;k=nd.prototype;
|
||||||
k.wa=function(a,b,c){var d=this,e=uh;switch(b){case "listTapes":return this.D[b]=c,c.onchange=function(){var a=d.D.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){v("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.D[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.D[b]=c,c.onclick=
|
k.xa=function(a,b,c){var d=this,e=Dh;switch(b){case "listTapes":return this.D[b]=c,c.onchange=function(){var a=d.D.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){x("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.D[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.D[b]=c,c.onclick=
|
||||||
function(){var a=d.D.listTapes;a&&vh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.P){c.parentNode.removeChild(c);break}this.D[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;vh(d,u(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.D[b]=c,!0}return!1};
|
function(){var a=d.D.listTapes;a&&Eh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.P){c.parentNode.removeChild(c);break}this.D[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Eh(d,w(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.D[b]=c,!0}return!1};
|
||||||
k.Ga=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.j=d;this.Z=wh(a);var e=this;if((this.g=Dd(this.A,"autoMount")||this.g)&&"string"==typeof this.g)try{this.g=eval("("+this.g+")")}catch(f){v("PC11 auto-mount error: "+f.message+" ("+this.g+")"),this.g=null}this.S=Rc(this.b,56,4,4096);this.da=Oc(this.b,function(){1==(e.f&32769)&&!(e.f&128)&&e.J<e.I.length&&(e.K=e.I[e.J++]&255,xh(e,e.J/e.I.length*100),e.f|=128,e.f&=-2049,e.f&64&&Pc(e.b,e.S))});Kb(b,this,yh);Mb(b,this.reset.bind(this));zh(this,"None",
|
k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.j=d;this.Y=Fh(a);var e=this;if((this.g=Gd(this.B,"autoMount")||this.g)&&"string"==typeof this.g)try{this.g=eval("("+this.g+")")}catch(f){x("PC11 auto-mount error: "+f.message+" ("+this.g+")"),this.g=null}this.S=Tc(this.b,56,4,4096);this.da=Qc(this.b,function(){1==(e.f&32769)&&!(e.f&128)&&e.J<e.I.length&&(e.K=e.I[e.J++]&255,Gh(e,e.J/e.I.length*100),e.f|=128,e.f&=-2049,e.f&64&&Rc(e.b,e.S))});Mb(b,this,Hh);Ob(b,this.reset.bind(this));Ih(this,"None",
|
||||||
th,!0);this.P&&zh(this,"Local Tape","?");zh(this,"Remote Tape","??");Ah(this)||J(this)};k.Ja=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Ia=function(a){return a?this.save():!0};k.reset=function(){this.f&=-2241;this.K=0};
|
Ch,!0);this.P&&Ih(this,"Local Tape","?");Ih(this,"Remote Tape","??");Jh(this)||L(this)};k.La=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Ka=function(a){return a?this.save():!0};k.reset=function(){this.f&=-2241;this.K=0};
|
||||||
function Ah(a){a.F=0;if(a.g){var b=a.g.path||"",c;if(!(c=a.g.name))a:{if((c=a.D.listTapes)&&c.options)for(var d=0;d<c.options.length;d++){var e=c.options[d];if(e.value==b){c=e.text;break a}}c=u(b,!0)}b&&c?Bh(a,c,b,1,!0):Ch(a)}return!!a.F}
|
function Jh(a){a.F=0;if(a.g){var b=a.g.path||"",c;if(!(c=a.g.name))a:{if((c=a.D.listTapes)&&c.options)for(var d=0;d<c.options.length;d++){var e=c.options[d];if(e.value==b){c=e.text;break a}}c=w(b,!0)}b&&c?Kh(a,c,b,1,!0):Lh(a)}return!!a.F}
|
||||||
function vh(a,b,c,d,e){if(c)if("?"==c)a.N('Use "Choose File" and "Mount" to select and load a local tape.');else{if("??"==c){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=u(c);a.status("Attempting to load "+c+' as "'+b+'"');a.G="??"}else a.G=c;Bh(a,b,c,d,!1,e)}else Dh(a,!1)}
|
function Eh(a,b,c,d,e){if(c)if("?"==c)a.N('Use "Choose File" and "Mount" to select and load a local tape.');else{if("??"==c){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=w(c);a.status("Attempting to load "+c+' as "'+b+'"');a.H="??"}else a.H=c;Kh(a,b,c,d,!1,e)}else Mh(a,!1)}
|
||||||
function Bh(a,b,c,d,e,f){var g=-1;if(a.B.toLowerCase()!=c.toLowerCase()||a.v!=d)g++,Dh(a,!0),a.C.jb?a.N("PC11 busy"):(e&&(a.F++,I(a)&&G(a,"auto-loading tape: "+b)),Eh(a,b,c,d,f)?g++:a.C.jb=!0);g&&Fh(a,a.M,a.B,a.v,a.ga,a.Ta,a.Sa)}
|
function Kh(a,b,c,d,e,f){var g=-1;if(a.A.toLowerCase()!=c.toLowerCase()||a.v!=d)g++,Mh(a,!0),a.C.kb?a.N("PC11 busy"):(e&&(a.F++,K(a)&&H(a,"auto-loading tape: "+b)),Nh(a,b,c,d,f)?g++:a.C.kb=!0);g&&Oh(a,a.M,a.A,a.v,a.ha,a.Ua,a.Ta)}
|
||||||
function Eh(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Fh(a,b,c,d,e),a.G="?");Ch(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=oa(c),f="json"==e||"gz"==e?encodeURI(c):Fa()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Da(f,null,!0,function(e,f,g){var h=0>g&&a.A&&!a.A.C.la;g?a.N('Unable to load tape "'+b+'" (error '+g+": "+e+")",h):(mb(a.hb,e,f),(e=Ea(e,f))&&Fh(a,b,c,d,e.ga,e.Ta,
|
function Nh(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Oh(a,b,c,d,e),a.H="?");Lh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=pa(c),f="json"==e||"gz"==e?encodeURI(c):Ia()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ga(f,null,!0,function(e,f,g){var h=0>g&&a.B&&!a.B.C.la;g?a.N('Unable to load tape "'+b+'" (error '+g+": "+e+")",h):(pb(a.ib,e,f),(e=Ha(e,f))&&Oh(a,b,c,d,e.ha,e.Ua,
|
||||||
e.Sa));a.C.jb=!1;a.F&&(a.F--,a.F||J(a));Ch(a)})}function zh(a,b,c,d){if((a=a.D.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
e.Ta));a.C.kb=!1;a.F&&(a.F--,a.F||L(a));Lh(a)})}function Ih(a,b,c,d){if((a=a.D.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||||
function Ch(a){var b=a.D.listTapes;if(b&&b.options){a=a.G||a.B;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function xh(a,b){b|=0;if(b!==a.T){var c=a.D.readProgress;c&&(c=(c=F(c,"pcjs-progress-bar"))&&c[0])&&c.style&&(c.style.width=b+"%");a.T=b}}
|
function Lh(a){var b=a.D.listTapes;if(b&&b.options){a=a.H||a.A;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Gh(a,b){b|=0;if(b!==a.T){var c=a.D.readProgress;c&&(c=(c=G(c,"pcjs-progress-bar"))&&c[0])&&c.style&&(c.style.width=b+"%");a.T=b}}
|
||||||
function Fh(a,b,c,d,e,f,g){a.M=b;a.B=c;a.v=d;a.ga=e;a.Ta=f;a.Sa=g;2==d?a.Z&&Tg(a.Z,e,f,g)?a.status('Loaded tape "'+b+'"'):(a.M="",a.B="",a.G=th,a.v=uh,a.N('No load address available for tape "'+b+'"')):(a.J=0,a.I=e,a.status('Attached tape "'+b+'"'),xh(a,0))}function Dh(a,b){if(a.B||!1===b)a.M="",a.B="",b||(a.v&&a.status(1==a.v?"tape detached":"tape unloaded"),a.G=th,a.v=uh,Ch(a))}k.save=function(){return(new S(this)).data()};k.restore=function(){return!0};k.Wd=function(){return this.f&65534};
|
function Oh(a,b,c,d,e,f,g){a.M=b;a.A=c;a.v=d;a.ha=e;a.Ua=f;a.Ta=g;2==d?a.Y&&Zg(a.Y,e,f,g)?a.status('Loaded tape "'+b+'"'):(a.M="",a.A="",a.H=Ch,a.v=Dh,a.N('No load address available for tape "'+b+'"')):(a.J=0,a.I=e,a.status('Attached tape "'+b+'"'),Gh(a,0))}function Mh(a,b){if(a.A||!1===b)a.M="",a.A="",b||(a.v&&a.status(1==a.v?"tape detached":"tape unloaded"),a.H=Ch,a.v=Dh,Lh(a))}k.save=function(){return(new U(this)).data()};k.restore=function(){return!0};k.Wd=function(){return this.f&65534};
|
||||||
k.Ue=function(a){a&1&&(this.f&32768?(a&=-2,this.f&64&&Pc(this.b,this.S)):(this.f&=-129,this.f|=2048,this.K=0,Qc(this.b,this.da,1E3/Math.round(this.ca/10))));this.f=this.f&-66|a&65};k.Vd=function(){this.f&=-129;this.f|=2048;return this.K};k.Te=function(){};var Gh={},yh=(Gh[65384]=[null,null,kd.prototype.Wd,kd.prototype.Ue,"PRS"],Gh[65386]=[null,null,kd.prototype.Vd,kd.prototype.Te,"PRB"],Gh);
|
k.Ue=function(a){a&1&&(this.f&32768?(a&=-2,this.f&64&&Rc(this.b,this.S)):(this.f&=-129,this.f|=2048,this.K=0,Sc(this.b,this.da,1E3/Math.round(this.ca/10))));this.f=this.f&-66|a&65};k.Vd=function(){this.f&=-129;this.f|=2048;return this.K};k.Te=function(){};var Ph={},Hh=(Ph[65384]=[null,null,nd.prototype.Wd,nd.prototype.Ue,"PRS"],Ph[65386]=[null,null,nd.prototype.Vd,nd.prototype.Te,"PRB"],Ph);
|
||||||
function Hh(a,b,c){x.call(this,"Disk",{id:a.hb+".disk"+p(++Ih,4)},Hh,8192);this.controller=a;this.A=a.A;this.j=a.j;this.v=b;this.Ua=b.name;this.bc=b.bc;Jh(this,c,b.fa,b.ka,b.ha,b.Aa);J(this)}var Ih=0;B(Hh);k=Hh.prototype;k.Ga=function(a,b,c,d){this.j=d};
|
function Qh(a,b,c){y.call(this,"Disk",{id:a.ib+".disk"+q(++Rh,4)},Qh,8192);this.controller=a;this.B=a.B;this.j=a.j;this.v=b;this.Va=b.name;this.bc=b.bc;Sh(this,c,b.fa,b.ka,b.ia,b.Aa);L(this)}var Rh=0;D(Qh);k=Qh.prototype;k.Ha=function(a,b,c,d){this.j=d};
|
||||||
function Jh(a,b,c,d,e,f){a.mode=b;a.fa=c;a.ka=d;a.ha=e;a.Aa=f;a.b=[];if("preload"!=a.mode){b=Array(a.fa);for(c=0;c<b.length;c++){d=Array(a.ka);for(e=0;e<d.length;e++){f=Array(a.ha);for(var g=1;g<=f.length;g++)f[g-1]=Kh(null,c,e,g,a.Aa,0);d[e]=f}b[c]=d}a.b=b}a.f=null}
|
function Sh(a,b,c,d,e,f){a.mode=b;a.fa=c;a.ka=d;a.ia=e;a.Aa=f;a.b=[];if("preload"!=a.mode){b=Array(a.fa);for(c=0;c<b.length;c++){d=Array(a.ka);for(e=0;e<d.length;e++){f=Array(a.ia);for(var g=1;g<=f.length;g++)f[g-1]=Th(null,c,e,g,a.Aa,0);d[e]=f}b[c]=d}a.b=b}a.f=null}
|
||||||
function Lh(a,b,c,d,e){var f=c;if(a.w)return!0;a.Ua=b;a.Ka=c;a.rc=u(c);a.w=e;a.B=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.fa=e[0];a.ka=e[1];a.ha=e[2];a.Aa=e[3]||512;c=a.Aa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.fa);for(d=0;d<a.b.length;d++)for(var w=a.b[d]=Array(a.ka),t=0;t<w.length;t++)for(var A=w[t]=Array(a.ha),y=0;y<A.length;y++){for(var C=Kh(null,d,t,y+1,a.Aa,0),ra=C.data,Oa=0;Oa<c;Oa++,f+=4)var Q=ra[Oa]=b.getInt32(f,
|
function Uh(a,b,c,d,e){var f=c;if(a.w)return!0;a.Va=b;a.Oa=c;a.tc=w(c);a.w=e;a.A=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=la[d];if(e){a.fa=e[0];a.ka=e[1];a.ia=e[2];a.Aa=e[3]||512;c=a.Aa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.fa);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.ka),t=0;t<u.length;t++)for(var B=u[t]=Array(a.ia),z=0;z<B.length;z++){for(var C=Th(null,d,t,z+1,a.Aa,0),ta=C.data,Va=0;Va<c;Va++,f+=4)var S=ta[Va]=b.getInt32(f,
|
||||||
!0),e=e+Q&-1;C.Ma=c;A[y]=C}a.f=e;c=a}else a.N("Unrecognized disk format ("+d+" bytes)");a.w&&(a.w.call(a.controller,a.v,c,a.Ua,a.Ka),a.w=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=oa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):pa(c,"/")&&(d="dir"),f=Fa()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.bc?"":e)+"&format=json"));return!!Da(f,
|
!0),e=e+S&-1;C.Qa=c;B[z]=C}a.f=e;c=a}else a.N("Unrecognized disk format ("+d+" bytes)");a.w&&(a.w.call(a.controller,a.v,c,a.Va,a.Oa),a.w=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=pa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):qa(c,"/")&&(d="dir"),f=Ia()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.bc?"":e)+"&format=json"));return!!Ga(f,
|
||||||
null,!0,function(b,c,d){Mh(a,b,c,d)})}
|
null,!0,function(b,c,d){Vh(a,b,c,d)})}
|
||||||
function Mh(a,b,c,d){var e=null;a.g=!1;var f=0>d&&a.A&&!a.A.C.la;if(d)a.controller.N('Unable to load disk "'+a.Ua+'" (error '+d+": "+b+")",f);else{mb(a.controller.hb,b,c);try{if(0<u(a.rc,!0).toLowerCase().indexOf("-readonly"))a.g=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.g=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+a.Ua]:h=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
|
function Vh(a,b,c,d){var e=null;a.g=!1;var f=0>d&&a.B&&!a.B.C.la;if(d)a.controller.N('Unable to load disk "'+a.Va+'" (error '+d+": "+b+")",f);else{pb(a.controller.ib,b,c);try{if(0<w(a.tc,!0).toLowerCase().indexOf("-readonly"))a.g=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.g=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+a.Va]:h=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
|
||||||
c+")");if(h.length)if(1==h.length)v(h[0]);else{a.fa=h.length;a.ka=h[0].length;a.ha=h[0][0].length;var l=h[0][0][0];a.Aa=l&&l.length||512;for(d=c=0;d<a.fa;d++)for(f=0;f<a.ka;f++)for(g=0;g<a.ha;g++)if(l=h[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var w=l.bytes;if(void 0!==w&&w.length){for(var t=m<<2,A=w.length;A<t;A++)w[A]=n;Nh(l,w)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}Kh(l,d,f);for(t=
|
c+")");if(h.length)if(1==h.length)x(h[0]);else{a.fa=h.length;a.ka=h[0].length;a.ia=h[0][0].length;var l=h[0][0][0];a.Aa=l&&l.length||512;for(d=c=0;d<a.fa;d++)for(f=0;f<a.ka;f++)for(g=0;g<a.ia;g++)if(l=h[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,B=u.length;B<t;B++)u[B]=n;Wh(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}Th(l,d,f);for(t=
|
||||||
0;t<r.length;t++)c=c+r[t]&-1}a.b=h;a.f=c;e=a}else v("Empty disk image: "+a.Ua)}catch(y){v("Disk image error ("+b+"): "+y.message)}}a.w&&(a.w.call(a.B,a.v,e,a.Ua,a.Ka),a.w=null)}function Kh(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Eg=b;a.Fg=c;a.Wa=a.Ma=0;a.bb=!1;return a}
|
0;t<r.length;t++)c=c+r[t]&-1}a.b=h;a.f=c;e=a}else x("Empty disk image: "+a.Va)}catch(z){x("Disk image error ("+b+"): "+z.message)}}a.w&&(a.w.call(a.A,a.v,e,a.Va,a.Oa),a.w=null)}function Th(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Eg=b;a.Fg=c;a.Za=a.Qa=0;a.cb=!1;return a}
|
||||||
k.seek=function(a,b,c,d,e){d=null;var f=this.v,g=this.b[a];if(g){var h=g[b];if(!h&&f.md&&b<f.ka)for(h=g[b]=Array(f.Fc),g=0;g<h.length;g++)h[g]=Kh(null,a,b,g+1,f.qc,0);if(h){for(g=0;g<h.length;g++)if(h[g]&&h[g].sector==c){d=h[g];break}!d&&f.md&&9==f.mc&&(d=h[g]=Kh(null,a,b,f.mc,f.qc,0))}}e&&e(d,!1);return d};function Nh(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
k.seek=function(a,b,c,d,e){d=null;var f=this.v,g=this.b[a];if(g){var h=g[b];if(!h&&f.md&&b<f.ka)for(h=g[b]=Array(f.Ic),g=0;g<h.length;g++)h[g]=Th(null,a,b,g+1,f.qc,0);if(h){for(g=0;g<h.length;g++)if(h[g]&&h[g].sector==c){d=h[g];break}!d&&f.md&&9==f.mc&&(d=h[g]=Th(null,a,b,f.mc,f.qc,0))}}e&&e(d,!1);return d};function Wh(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
||||||
k.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};k.write=function(a,b,c){if(this.g)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ma?f<a.Wa?(a.Ma+=a.Wa-f,a.Wa=f):f>=a.Wa+a.Ma&&(a.Ma+=f-(a.Wa+a.Ma)+1):(a.Wa=f,a.Ma=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
k.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};k.write=function(a,b,c){if(this.g)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Qa?f<a.Za?(a.Qa+=a.Za-f,a.Za=f):f>=a.Za+a.Qa&&(a.Qa+=f-(a.Za+a.Qa)+1):(a.Za=f,a.Qa=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
||||||
function Oh(a,b){var c=a.ka*a.ha,d=b/c|0;return d<a.fa?(b%=c,a.seek(d,b/a.ha|0,b%a.ha+1)):null}function Ph(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function Qh(a){for(var b="",c=0,d;d=Oh(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(Ph(a,d,e));return btoa(b)}
|
function Xh(a,b){var c=a.ka*a.ia,d=b/c|0;return d<a.fa?(b%=c,a.seek(d,b/a.ia|0,b%a.ia+1)):null}function Yh(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function Zh(a){for(var b="",c=0,d;d=Xh(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(Yh(a,d,e));return btoa(b)}
|
||||||
k.save=function(){var a=0,b=[];b[a++]=[this.Ka,this.f,this.fa,this.ka,this.ha,this.Aa];if(!this.g)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ma){for(var h=[],l=0,m=g.Wa,n=g.Wa+g.Ma;m<n;)h[l++]=g.data[m++];b[a++]=[d,e,f,g.Wa,h]}}return b};
|
k.save=function(){var a=0,b=[];b[a++]=[this.Oa,this.f,this.fa,this.ka,this.ia,this.Aa];if(!this.g)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Qa){for(var h=[],l=0,m=g.Za,n=g.Za+g.Qa;m<n;)h[l++]=g.data[m++];b[a++]=[d,e,f,g.Za,h]}}return b};
|
||||||
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?Jh(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.f&&e[1]!=this.f&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.f+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],l=g[f++],m=g[f++];if(h>=this.b.length||l>=this.b[h].length||m>=this.b[h][l].length){c="sector (CHS="+h+":"+l+":"+m+") out of range ("+
|
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?Sh(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.f&&e[1]!=this.f&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.f+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],l=g[f++],m=g[f++];if(h>=this.b.length||l>=this.b[h].length||m>=this.b[h][l].length){c="sector (CHS="+h+":"+l+":"+m+") out of range ("+
|
||||||
b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.b[h][l][m]){for(l=h.data.length;l<e;)h.data[l++]=h.pattern;l=0;h.Wa=e;for(h.Ma=f.length;e<g;)h.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.N("Unable to restore disk '"+this.Ua+": "+c);return b};
|
b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.b[h][l][m]){for(l=h.data.length;l<e;)h.data[l++]=h.pattern;l=0;h.Za=e;for(h.Qa=f.length;e<g;)h.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.N("Unable to restore disk '"+this.Va+": "+c);return b};
|
||||||
k.toJSON=function(){var a;a=0;for(var b;b=Oh(this,a++);)Rh(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
k.toJSON=function(){var a;a=0;for(var b;b=Xh(this,a++);)$h(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
||||||
function Rh(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function R(a){x.call(this,"RK11",a,R,65536);this.J=a.autoMount||{};this.F=0;this.g=Array(8);this.K=!Ma("Mobi")&&window&&"FileReader"in window}B(R);k=R.prototype;
|
function $h(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function T(a){y.call(this,"RK11",a,T,65536);this.J=a.autoMount||{};this.F=0;this.g=Array(8);this.K=!Qa("Mobi")&&window&&"FileReader"in window}D(T);k=T.prototype;
|
||||||
k.wa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.D[b]=c,c.onchange=function(){var a=d.D.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){v("RK11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.D[b]=c,c.onchange=function(){var a=ma(c.value,10);null!=a&&Sh(d,a)},!0;case "loadDrive":return this.D[b]=
|
k.xa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.D[b]=c,c.onchange=function(){var a=d.D.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){x("RK11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.D[b]=c,c.onchange=function(){var a=na(c.value,10);null!=a&&ai(d,a)},!0;case "loadDrive":return this.D[b]=
|
||||||
c,c.onclick=function(){var a=d.D.listDisks;a&&Th(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.K){c.parentNode.removeChild(c);break}this.D[b]=c;c.onclick=function(){var a=d.D.listDrives;a&&a.options&&d.g&&((a=d.g[ma(a.value,10)||0])?(a=a.Da)?(a=Na(Qh(a),a.rc.replace(".json",".img")),v(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDrive":if(this.K)return this.D[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=
|
c,c.onclick=function(){var a=d.D.listDisks;a&&bi(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.K){c.parentNode.removeChild(c);break}this.D[b]=c;c.onclick=function(){var a=d.D.listDrives;a&&a.options&&d.g&&((a=d.g[na(a.value,10)||0])?(a=a.Ba)?(a=Ra(Zh(a),a.tc.replace(".json",".img")),x(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDrive":if(this.K)return this.D[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=
|
||||||
!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Th(d,u(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;bi(d,w(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||||
k.Ga=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.j=d;if((a=Dd(this.A,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){v(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.J[e]=a[e]);Uh(this);this.Eb=Rc(this.b,144,5,65536);Kb(b,this,Vh);Mb(b,this.reset.bind(this));Wh(this,"None","",!0);this.K&&Wh(this,"Local Disk","?");Wh(this,"Remote Disk","??");Xh(this)||J(this)};
|
k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.j=d;if((a=Gd(this.B,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){x(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.J[e]=a[e]);ci(this);this.Kb=Tc(this.b,144,5,65536);Mb(b,this,di);Ob(b,this.reset.bind(this));ei(this,"None","",!0);this.K&&ei(this,"Local Disk","?");ei(this,"Remote Disk","??");fi(this)||L(this)};
|
||||||
k.Ja=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.A.pc){for(a=0;a<this.g.length;a++)Yh(this,a,!0);Xh(this,!0)}}else if(!this.restore(a))return!1;if(a=this.D.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";Sh(this,0)}}return!0};k.Ia=function(a){return a?this.save():!0};k.reset=function(){Uh(this)};k.save=function(){return(new S(this)).data()};
|
k.La=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.B.pc){for(a=0;a<this.g.length;a++)gi(this,a,!0);fi(this,!0)}}else if(!this.restore(a))return!1;if(a=this.D.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";ai(this,0)}}return!0};k.Ka=function(a){return a?this.save():!0};k.reset=function(){ci(this)};k.save=function(){return(new U(this)).data()};
|
||||||
k.restore=function(a){return Uh(this,a[0])};function Xh(a,b){b||(a.F=0);for(var c in a.J){var d=a.J[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.D.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=u(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!Zh(a,g,f,e,!0)&&b&&J(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.F}
|
k.restore=function(a){return ci(this,a[0])};function fi(a,b){b||(a.F=0);for(var c in a.J){var d=a.J[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.D.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=w(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!hi(a,g,f,e,!0)&&b&&L(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.F}
|
||||||
function Th(a,b,c,d){var e=a.D.listDrives,e=e&&ma(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if("?"==c)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=u(c);a.status("Attempting to load "+c+' as "'+b+'"')}Zh(a,e,b,c,!1,d)}else Yh(a,e)}
|
function bi(a,b,c,d){var e=a.D.listDrives,e=e&&na(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if("?"==c)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=w(c);a.status("Attempting to load "+c+' as "'+b+'"')}hi(a,e,b,c,!1,d)}else gi(a,e)}
|
||||||
function Zh(a,b,c,d,e,f){var g=-1,h=a.g[b];h.Ka.toLowerCase()!=d.toLowerCase()&&(g++,Yh(a,b,!0),h.xb?a.N("RK11 busy"):(h.xb=!0,e&&(h.wb=!0,a.F++,I(a)&&G(a,"auto-loading disk: "+c)),h.cb=!!f,Lh(new Hh(a,h,"preload"),c,d,f,a.Zc)&&g++));return g}
|
function hi(a,b,c,d,e,f){var g=-1,h=a.g[b];h.Oa.toLowerCase()!=d.toLowerCase()&&(g++,gi(a,b,!0),h.xb?a.N("RK11 busy"):(h.xb=!0,e&&(h.wb=!0,a.F++,K(a)&&H(a,"auto-loading disk: "+c)),h.eb=!!f,Uh(new Qh(a,h,"preload"),c,d,f,a.$c)&&g++));return g}
|
||||||
k.Zc=function(a,b,c,d,e){a.xb=!1;b&&(b.fa>a.fa||b.ka>a.ka)&&(this.N('Disk "'+c+'" too large for drive '+("RK"+a.yb)),b=null);b?(a.Da=b,a.Ua=c,a.Ka=d,this.N('Mounted disk "'+c+'" in drive '+("RK"+a.yb),a.wb||e),this.A&&this.A.ob()):a.cb=!1;a.wb&&(a.wb=!1,--this.F||J(this));Sh(this,a.yb)};
|
k.$c=function(a,b,c,d,e){a.xb=!1;b&&(b.fa>a.fa||b.ka>a.ka)&&(this.N('Disk "'+c+'" too large for drive '+("RK"+a.yb)),b=null);b?(a.Ba=b,a.Va=c,a.Oa=d,this.N('Mounted disk "'+c+'" in drive '+("RK"+a.yb),a.wb||e),this.B&&this.B.ob()):a.eb=!1;a.wb&&(a.wb=!1,--this.F||L(this));ai(this,a.yb)};
|
||||||
function Wh(a,b,c,d){if((a=a.D.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
|
||||||
function Sh(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.D.listDisks;a=a.D.listDrives;if(d&&a&&d.options&&a.options&&(a=ma(a.value,10),c=c.cb?"?":c.Ka,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Yh(a,b,c){var d=a.g[b];if(d.Da||!1===c)d.Ua="",d.Ka="",d.Da=null,d.cb=!1,c||(a.N("Drive RK"+b+" unloaded",c),Sh(a,b))}
|
|
||||||
function Uh(a,b){var c=0;b||(b=[]);a.M=b[c++]||2496;a.B=b[c++]||0;a.f=b[c++]||128;a.I=b[c++]||0;a.G=b[c++]||0;a.v=b[c++]||0;a.P=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.yb=b;d.name=c.gb;d.xb=d.cb=!1;d.fa=203;d.ka=2;d.ha=12;d.Aa=512;d.bc=!0;d.nd=0;d.ld=0;d.mc=1;d.Fc=d.ha;d.qc=d.Aa;d.wd=0;d.Ge=null;d.Da||(d.Ka="");d.status=2496}return!0}
|
|
||||||
k.Yc=function(a,b,c,d,e,f){this.G=f&65535;this.f=this.f&-49|f>>12&48;this.I=65536-e&65535;a&&(this.B=this.B|a|32768,this.f|=49152);return!0};k.$c=function(a,b,c,d,e,f,g){var h=0;a=a.Da;var l=null,m;a||(h=128,e=0);for(;e--;){if(!l){l=a.seek(b,c,d+1);if(!l){h=4096;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){h=32;break}lc(this.w,f,n|r<<8);if(Nc(this.w)){h=1024;break}f+=2;if(m>=a.Aa&&(l=null,++d>=a.ha&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){h=64;break}}return g(h,b,c,d,e,f)};
|
|
||||||
k.ad=function(a,b,c,d,e,f,g){var h=0;a=a.Da;var l=null,m;a||(h=128,e=0);for(;e--;){var n=nc(this.w,f);if(Nc(this.w)){h=1024;break}f+=2;if(!l){l=a.seek(b,c,d+1,!0);if(!l){h=4096;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){h=32;break}if(m>=a.Aa&&(l=null,++d>=a.ha&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){h=64;break}}return g(h,b,c,d,e,f)};k.he=function(){return this.M};k.ff=function(){};k.ie=function(){return this.B};k.gf=function(){};k.ee=function(){return this.f&61438};
|
|
||||||
k.cf=function(a){this.f=this.f&-3968|a&3967;if(this.f&1){var b,c=!0;a=(this.v&57344)>>13;var d=this.g[a],e,f,g,h;this.f&=-129;switch(this.f&14){case 0:this.M=d.status;this.B=0;this.f=128;this.v=0;break;case 4:b=this.$c;case 2:b||(b=this.ad),e=(this.v&8160)>>5,f=(this.v&16)>>4,g=this.v&15,e>=d.fa?(this.B|=32832,this.f|=49152):g>=d.ha?(this.B|=32800,this.f|=49152):(h=(this.f&48)<<12|this.G,c=65536-this.I&65535,c=b.call(this,d,e,f,g,c,h,this.Yc.bind(this)))}this.M=d.status|a<<13|this.v%9&15;c&&(this.f&=
|
|
||||||
-2,this.f|=128,this.f&64&&Pc(this.b,this.Eb))}};k.je=function(){return this.I};k.hf=function(a){this.I=a};k.de=function(){return this.G};k.bf=function(a){this.G=a};k.fe=function(){return this.v};k.df=function(a){this.v=a};k.ge=function(){return this.P};k.ef=function(a){this.P=a};
|
|
||||||
var $h={},Vh=($h[65280]=[null,null,R.prototype.he,R.prototype.ff,"RKDS"],$h[65282]=[null,null,R.prototype.ie,R.prototype.gf,"RKER"],$h[65284]=[null,null,R.prototype.ee,R.prototype.cf,"RKCS"],$h[65286]=[null,null,R.prototype.je,R.prototype.hf,"RKWC"],$h[65288]=[null,null,R.prototype.de,R.prototype.bf,"RKBA"],$h[65290]=[null,null,R.prototype.fe,R.prototype.df,"RKDA"],$h[65294]=[null,null,R.prototype.ge,R.prototype.ef,"RKDB"],$h);
|
|
||||||
function P(a){x.call(this,"RL11",a,P,131072);this.K=a.autoMount||{};this.I=0;this.g=Array(4);this.M=!Ma("Mobi")&&window&&"FileReader"in window}B(P);k=P.prototype;
|
|
||||||
k.wa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.D[b]=c,c.onchange=function(){var a=d.D.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){v("RL11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.D[b]=c,c.onchange=function(){var a=ma(c.value,10);null!=a&&ai(d,a)},!0;case "loadDrive":return this.D[b]=
|
|
||||||
c,c.onclick=function(){var a=d.D.listDisks;a&&bi(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.M){c.parentNode.removeChild(c);break}this.D[b]=c;c.onclick=function(){var a=d.D.listDrives;a&&a.options&&d.g&&((a=d.g[ma(a.value,10)||0])?(a=a.Da)?(a=Na(Qh(a),a.rc.replace(".json",".img")),v(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDrive":if(this.M)return this.D[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=
|
|
||||||
!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;bi(d,u(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
|
||||||
k.Ga=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.j=d;if((a=Dd(this.A,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){v(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.K[e]=a[e]);ci(this);this.Eb=Rc(this.b,112,5,131072);Kb(b,this,di);Mb(b,this.reset.bind(this));ei(this,"None","",!0);this.M&&ei(this,"Local Disk","?");ei(this,"Remote Disk","??");fi(this)||J(this)};
|
|
||||||
k.Ja=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.A.pc){for(a=0;a<this.g.length;a++)gi(this,a,!0);fi(this,!0)}}else if(!this.restore(a))return!1;if(a=this.D.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";ai(this,0)}}return!0};k.Ia=function(a){return a?this.save():!0};k.reset=function(){ci(this)};k.save=function(){return(new S(this)).data()};
|
|
||||||
k.restore=function(a){return ci(this,a[0])};function fi(a,b){b||(a.I=0);for(var c in a.K){var d=a.K[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.D.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=u(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!hi(a,g,f,e,!0)&&b&&J(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.I}
|
|
||||||
function bi(a,b,c,d){var e=a.D.listDrives,e=e&&ma(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if("?"==c)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=u(c);a.status("Attempting to load "+c+' as "'+b+'"')}hi(a,e,b,c,!1,d)}else gi(a,e)}
|
|
||||||
function hi(a,b,c,d,e,f){var g=-1,h=a.g[b];h.Ka.toLowerCase()!=d.toLowerCase()&&(g++,gi(a,b,!0),h.xb?a.N("RL11 busy"):(h.xb=!0,e&&(h.wb=!0,a.I++,I(a)&&G(a,"auto-loading disk: "+c)),h.cb=!!f,Lh(new Hh(a,h,"preload"),c,d,f,a.cd)&&g++));return g}
|
|
||||||
k.cd=function(a,b,c,d,e){a.xb=!1;b&&(b.fa>a.fa||b.ka>a.ka)&&(this.N('Disk "'+c+'" too large for drive '+("RL"+a.yb)),b=null);b?(a.Da=b,a.Ua=c,a.Ka=d,this.N('Mounted disk "'+c+'" in drive '+("RL"+a.yb),a.wb||e),this.A&&this.A.ob()):a.cb=!1;a.wb&&(a.wb=!1,--this.I||J(this));ai(this,a.yb)};
|
|
||||||
function ei(a,b,c,d){if((a=a.D.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
function ei(a,b,c,d){if((a=a.D.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||||
function ai(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.D.listDisks;a=a.D.listDrives;if(d&&a&&d.options&&a.options&&(a=ma(a.value,10),c=c.cb?"?":c.Ka,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function gi(a,b,c){var d=a.g[b];if(d.Da||!1===c)d.Ua="",d.Ka="",d.Da=null,d.cb=!1,c||(a.N("Drive RL"+b+" unloaded",c),ai(a,b))}
|
function ai(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.D.listDisks;a=a.D.listDrives;if(d&&a&&d.options&&a.options&&(a=na(a.value,10),c=c.eb?"?":c.Oa,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function gi(a,b,c){var d=a.g[b];if(d.Ba||!1===c)d.Va="",d.Oa="",d.Ba=null,d.eb=!1,c||(a.N("Drive RK"+b+" unloaded",c),ai(a,b))}
|
||||||
function ci(a,b){var c=0;b||(b=[]);a.f=b[c++]||0;a.J=b[c++]||0;a.v=b[c++]||0;a.B=b[c++]||0;a.G=b[c++]||0;a.F=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.yb=b;d.name=c.gb;d.xb=d.cb=!1;d.fa=512;d.ka=2;d.ha=40;d.Aa=256;d.bc=!0;d.nd=0;d.ld=0;d.mc=1;d.Fc=d.ha;d.qc=d.Aa;d.wd=0;d.Ge=null;d.Da||(d.Ka="");d.status=29}return!0}
|
function ci(a,b){var c=0;b||(b=[]);a.P=b[c++]||2496;a.v=b[c++]||0;a.f=b[c++]||128;a.I=b[c++]||0;a.H=b[c++]||0;a.A=b[c++]||0;a.M=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.yb=b;d.name=c.hb;d.xb=d.eb=!1;d.fa=203;d.ka=2;d.ia=12;d.Aa=512;d.bc=!0;d.nd=0;d.ld=0;d.mc=1;d.Ic=d.ia;d.qc=d.Aa;d.wd=0;d.Ge=null;d.Ba||(d.Oa="");d.status=2368}return!0}
|
||||||
k.bd=function(a,b,c,d,e,f){this.J=f&65535;this.f=this.f&-49|f>>12&48;this.F=f>>16&63;this.B=this.v=b<<7|(c?64:0)|d&63;this.G=65536-e&65535;a&&(this.f=this.f|a|32768);return!0};
|
k.Zc=function(a,b,c,d,e,f){this.H=f&65535;this.f=this.f&-49|f>>12&48;this.I=65536-e&65535;this.A=this.A&-16|d&15;a&&(this.v=this.v|a|32768,this.f|=49152);return!0};
|
||||||
k.dd=function(a,b,c,d,e,f,g){var h=0;a=a.Da;var l=null,m;a||(h=5120,e=0);for(;e--;){if(!l){l=a.seek(b,c,d+1);if(!l){h=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){h=5120;break}lc(this.w,this.b.Oa(f),n|r<<8);if(Nc(this.w)){h=8192;break}f+=2;if(m>=a.Aa&&(l=null,++d>=a.ha&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){h=5120;break}}return g(h,b,c,d,e,f)};
|
k.ad=function(a,b,c,d,e,f,g,h){var l=0;a=a.Ba;var m=null,n;a||(l=128,e=0);for(;e--;){if(!m){m=a.seek(b,c,d+1);if(!m){l=4096;break}n=0}var r,u;if(0>(r=a.read(m,n++))||0>(u=a.read(m,n++))){l=32;break}if(!g&&(ac(this.w,f,r|u<<8),Pc(this.w))){l=1024;break}f+=2;if(n>=a.Aa&&(m=null,++d>=a.ia&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){l=64;break}}return h(l,b,c,d,e,f)};
|
||||||
k.ed=function(a,b,c,d,e,f,g){var h=0;a=a.Da;var l=null,m;a||(h=5120,e=0);for(;e--;){var n=nc(this.w,this.b.Oa(f));if(Nc(this.w)){h=8192;break}f+=2;if(!l){l=a.seek(b,c,d+1,!0);if(!l){h=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){h=5120;break}if(m>=a.Aa&&(l=null,++d>=a.ha&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){h=5120;break}}return g(h,b,c,d,e,f)};k.me=function(){return this.f&65535};
|
k.bd=function(a,b,c,d,e,f,g,h){var l=0;a=a.Ba;var m=null,n;a||(l=128,e=0);for(;e--;){var r=pc(this.w,f);if(Pc(this.w)){l=1024;break}f+=2;if(!m){m=a.seek(b,c,d+1,!0);if(!m){l=4096;break}n=0}if(g){var u,t;if(0>(u=a.read(m,n++))||0>(t=a.read(m,n++))){l=32;break}if(r!=(u|t<<8)){l=1;break}}else if(!a.write(m,n++,r&255)||!a.write(m,n++,r>>8)){l=32;break}if(n>=a.Aa&&(m=null,++d>=a.ia&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){l=64;break}}return h(l,b,c,d,e,f)};k.he=function(){return this.P};k.ff=function(){};
|
||||||
k.lf=function(a){this.f=this.f&-1023|a&1022;this.F=this.F&60|(a&48)>>4;if(!(this.f&128)){var b;a=!0;var c=this.g[(this.f&768)>>8],d=c.Da,e,f,g;this.f&=-2;switch(this.f&14){case 4:this.G&8&&(this.f&=63);this.G=c.status|this.B&64|(d&&512==d.fa?128:0);break;case 6:1==(this.v&3)&&(b=this.v&65408,c=(this.v&16)<<2,this.B=this.v&4?this.B+b:this.B-b,this.v=this.B=this.B&65408|c);break;case 8:this.G=this.B;break;case 12:b=this.dd;case 10:b||(b=this.ed),e=this.v>>7,f=this.v&64?1:0,g=this.v&63,!d||e>=d.fa||
|
k.ie=function(){return this.v};k.gf=function(){};k.ee=function(){return this.f&61438};
|
||||||
g>=d.ha?this.f|=37888:(d=(this.F&63)<<16|this.J,a=65536-this.G&65535,a=b.call(this,c,e,f,g,a,d,this.bd.bind(this)))}a&&(this.f|=129,this.f&64&&Pc(this.b,this.Eb))}};k.ke=function(){return this.J};k.jf=function(a){this.J=a&65534};k.ne=function(){return this.v};k.mf=function(a){this.v=a};k.oe=function(){return this.G};k.nf=function(a){this.G=a};k.le=function(){return this.F};k.kf=function(a){this.F=a&63;this.f=this.f&-49|(this.F&3)<<4};
|
k.cf=function(a){this.f=this.f&-3968|a&3967;if(this.f&1){a=!0;var b,c="",d=(this.A&57344)>>13,e=this.g[d],f,g,h,l,m;this.f&=-129;var n=(this.f&14)>>1;switch(n){case 0:K(this)&&H(this,this.type+": CRESET("+d+")",!0);this.v=0;this.f=128;this.A=0;break;case 4:f=(this.A&8160)>>5;K(this)&&H(this,this.type+": SEEK("+f+")",!0);f>=e.fa&&(this.v|=32832,this.f|=49152);break;case 5:c="RCHK";case 2:c||(c="READ"),b=this.ad;case 3:c||(c="WCHK");case 1:c||(c="WRITE");f=(this.A&8160)>>5;g=(this.A&16)>>4;h=this.A&
|
||||||
var ii={},di=(ii[63744]=[null,null,P.prototype.me,P.prototype.lf,"RLCS"],ii[63746]=[null,null,P.prototype.ke,P.prototype.jf,"RLBA"],ii[63748]=[null,null,P.prototype.ne,P.prototype.mf,"RLDA"],ii[63750]=[null,null,P.prototype.oe,P.prototype.nf,"RLMP"],ii[63752]=[null,null,P.prototype.le,P.prototype.kf,"RLBE"],ii);function ji(a){x.call(this,"Debugger",a,ji);this.ma=a.base||16;this.La=!1;this.J=0;this.T=!1;this.B=-1;this.g=[];this.ca={}}B(ji);
|
15;l=65536-this.I&65535;m=(this.f&48)<<12|this.H;K(this)&&H(this,this.type+": "+c+"("+f+":"+g+":"+h+") @"+p(m)+"-"+p(m+(l-1<<1)),!0);b||(b=this.bd);if(f>=e.fa){this.v|=32832;this.f|=49152;break}if(h>=e.ia){this.v|=32800;this.f|=49152;break}a=b.call(this,e,f,g,h,l,m,3<=n,this.Zc.bind(this));break;case 6:K(this)&&H(this,this.type+": DRESET("+d+")");break;default:K(this)&&H(this,this.type+": UNSUPPORTED("+n+")")}this.P=e.status|(e.Ba?128:0)|d<<13|this.A&15;this.v&32768&&K(this)&&H(this,this.type+": ERROR: "+
|
||||||
var ki={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ji.prototype.Jc=function(){return-1};ji.prototype.Kc=function(){};
|
p(this.v)+")");a&&(this.f&=-2,this.f|=128,this.f&64&&Rc(this.b,this.Kb))}};k.je=function(){return this.I};k.hf=function(a){this.I=a};k.de=function(){return this.H};k.bf=function(a){this.H=a};k.fe=function(){return this.A};k.df=function(a){this.A=a};k.ge=function(){return this.M};k.ef=function(a){this.M=a};
|
||||||
function li(a,b,c,d){if(c)if(b){0>a.B&&a.g.length&&(a.B=0);if(0>a.B||b!=a.g[a.B])a.g.splice(0,0,b),a.B=0;a.B--}else a.T?b="end":b=a.g[a.B+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(ya(b.substring(c,f))),c=f+1}}return a}
|
var ii={},di=(ii[65280]=[null,null,T.prototype.he,T.prototype.ff,"RKDS"],ii[65282]=[null,null,T.prototype.ie,T.prototype.gf,"RKER"],ii[65284]=[null,null,T.prototype.ee,T.prototype.cf,"RKCS"],ii[65286]=[null,null,T.prototype.je,T.prototype.hf,"RKWC"],ii[65288]=[null,null,T.prototype.de,T.prototype.bf,"RKBA"],ii[65290]=[null,null,T.prototype.fe,T.prototype.df,"RKDA"],ii[65294]=[null,null,T.prototype.ge,T.prototype.ef,"RKDB"],ii);
|
||||||
function mi(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
function R(a){y.call(this,"RL11",a,R,131072);this.K=a.autoMount||{};this.I=0;this.g=Array(4);this.M=!Qa("Mobi")&&window&&"FileReader"in window}D(R);k=R.prototype;
|
||||||
|
k.xa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.D[b]=c,c.onchange=function(){var a=d.D.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){x("RL11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.D[b]=c,c.onchange=function(){var a=na(c.value,10);null!=a&&ji(d,a)},!0;case "loadDrive":return this.D[b]=
|
||||||
|
c,c.onclick=function(){var a=d.D.listDisks;a&&ki(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.M){c.parentNode.removeChild(c);break}this.D[b]=c;c.onclick=function(){var a=d.D.listDrives;a&&a.options&&d.g&&((a=d.g[na(a.value,10)||0])?(a=a.Ba)?(a=Ra(Zh(a),a.tc.replace(".json",".img")),x(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDrive":if(this.M)return this.D[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=
|
||||||
|
!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ki(d,w(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||||
|
k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.j=d;if((a=Gd(this.B,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){x(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.K[e]=a[e]);li(this);this.Kb=Tc(this.b,112,5,131072);Mb(b,this,mi);Ob(b,this.reset.bind(this));ni(this,"None","",!0);this.M&&ni(this,"Local Disk","?");ni(this,"Remote Disk","??");oi(this)||L(this)};
|
||||||
|
k.La=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.B.pc){for(a=0;a<this.g.length;a++)pi(this,a,!0);oi(this,!0)}}else if(!this.restore(a))return!1;if(a=this.D.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";ji(this,0)}}return!0};k.Ka=function(a){return a?this.save():!0};k.reset=function(){li(this)};k.save=function(){return(new U(this)).data()};
|
||||||
|
k.restore=function(a){return li(this,a[0])};function oi(a,b){b||(a.I=0);for(var c in a.K){var d=a.K[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.D.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=w(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!qi(a,g,f,e,!0)&&b&&L(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.I}
|
||||||
|
function ki(a,b,c,d){var e=a.D.listDrives,e=e&&na(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if("?"==c)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=w(c);a.status("Attempting to load "+c+' as "'+b+'"')}qi(a,e,b,c,!1,d)}else pi(a,e)}
|
||||||
|
function qi(a,b,c,d,e,f){var g=-1,h=a.g[b];h.Oa.toLowerCase()!=d.toLowerCase()&&(g++,pi(a,b,!0),h.xb?a.N("RL11 busy"):(h.xb=!0,e&&(h.wb=!0,a.I++,K(a)&&H(a,"auto-loading disk: "+c)),h.eb=!!f,Uh(new Qh(a,h,"preload"),c,d,f,a.dd)&&g++));return g}
|
||||||
|
k.dd=function(a,b,c,d,e){a.xb=!1;b&&(b.fa>a.fa||b.ka>a.ka)&&(this.N('Disk "'+c+'" too large for drive '+("RL"+a.yb)),b=null);b?(a.Ba=b,a.Va=c,a.Oa=d,this.N('Mounted disk "'+c+'" in drive '+("RL"+a.yb),a.wb||e),this.B&&this.B.ob()):a.eb=!1;a.wb&&(a.wb=!1,--this.I||L(this));ji(this,a.yb)};
|
||||||
|
function ni(a,b,c,d){if((a=a.D.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||||
|
function ji(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.D.listDisks;a=a.D.listDrives;if(d&&a&&d.options&&a.options&&(a=na(a.value,10),c=c.eb?"?":c.Oa,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function pi(a,b,c){var d=a.g[b];if(d.Ba||!1===c)d.Va="",d.Oa="",d.Ba=null,d.eb=!1,c||(a.N("Drive RL"+b+" unloaded",c),ji(a,b))}
|
||||||
|
function li(a,b){var c=0;b||(b=[]);a.f=b[c++]||0;a.J=b[c++]||0;a.v=b[c++]||0;a.A=b[c++]||0;a.H=b[c++]||0;a.F=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.yb=b;d.name=c.hb;d.xb=d.eb=!1;d.fa=512;d.ka=2;d.ia=40;d.Aa=256;d.bc=!0;d.nd=0;d.ld=0;d.mc=1;d.Ic=d.ia;d.qc=d.Aa;d.wd=0;d.Ge=null;d.Ba||(d.Oa="");d.status=29}return!0}
|
||||||
|
k.cd=function(a,b,c,d,e,f){this.J=f&65535;this.f=this.f&-49|f>>12&48;this.F=f>>16&63;this.A=this.v=b<<7|(c?64:0)|d&63;this.H=65536-e&65535;a&&(this.f=this.f|a|32768);return!0};
|
||||||
|
k.ed=function(a,b,c,d,e,f,g){var h=0;a=a.Ba;var l=null,m;a||(h=5120,e=0);for(;e--;){if(!l){l=a.seek(b,c,d+1);if(!l){h=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){h=5120;break}ac(this.w,this.b.Ia(f),n|r<<8);if(Pc(this.w)){h=8192;break}f+=2;if(m>=a.Aa&&(l=null,++d>=a.ia&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){h=5120;break}}return g(h,b,c,d,e,f)};
|
||||||
|
k.fd=function(a,b,c,d,e,f,g){var h=0;a=a.Ba;var l=null,m;a||(h=5120,e=0);for(;e--;){var n=pc(this.w,this.b.Ia(f));if(Pc(this.w)){h=8192;break}f+=2;if(!l){l=a.seek(b,c,d+1,!0);if(!l){h=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){h=5120;break}if(m>=a.Aa&&(l=null,++d>=a.ia&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){h=5120;break}}return g(h,b,c,d,e,f)};k.me=function(){return this.f&65535};
|
||||||
|
k.lf=function(a){this.f=this.f&-1023|a&1022;this.F=this.F&60|(a&48)>>4;if(!(this.f&128)){var b;a=!0;var c=this.g[(this.f&768)>>8],d=c.Ba,e,f,g;this.f&=-2;switch(this.f&14){case 4:this.H&8&&(this.f&=63);this.H=c.status|this.A&64|(d&&512==d.fa?128:0);break;case 6:1==(this.v&3)&&(b=this.v&65408,c=(this.v&16)<<2,this.A=this.v&4?this.A+b:this.A-b,this.v=this.A=this.A&65408|c);break;case 8:this.H=this.A;break;case 12:b=this.ed;case 10:b||(b=this.fd),e=this.v>>7,f=this.v&64?1:0,g=this.v&63,!d||e>=d.fa||
|
||||||
|
g>=d.ia?this.f|=37888:(d=(this.F&63)<<16|this.J,a=65536-this.H&65535,a=b.call(this,c,e,f,g,a,d,this.cd.bind(this)))}a&&(this.f|=129,this.f&64&&Rc(this.b,this.Kb))}};k.ke=function(){return this.J};k.jf=function(a){this.J=a&65534};k.ne=function(){return this.v};k.mf=function(a){this.v=a};k.oe=function(){return this.H};k.nf=function(a){this.H=a};k.le=function(){return this.F};k.kf=function(a){this.F=a&63;this.f=this.f&-49|(this.F&3)<<4};
|
||||||
|
var ri={},mi=(ri[63744]=[null,null,R.prototype.me,R.prototype.lf,"RLCS"],ri[63746]=[null,null,R.prototype.ke,R.prototype.jf,"RLBA"],ri[63748]=[null,null,R.prototype.ne,R.prototype.mf,"RLDA"],ri[63750]=[null,null,R.prototype.oe,R.prototype.nf,"RLMP"],ri[63752]=[null,null,R.prototype.le,R.prototype.kf,"RLBE"],ri);function si(a){y.call(this,"Debugger",a,si);this.ma=a.base||16;this.Ga=!1;this.J=0;this.T=!1;this.A=-1;this.g=[];this.ca={}}D(si);
|
||||||
|
var ti={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};si.prototype.Mc=function(){return-1};si.prototype.Nc=function(){};
|
||||||
|
function ui(a,b,c,d){if(c)if(b){0>a.A&&a.g.length&&(a.A=0);if(0>a.A||b!=a.g[a.A])a.g.splice(0,0,b),a.A=0;a.A--}else a.T?b="end":b=a.g[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(va(b.substring(c,f))),c=f+1}}return a}
|
||||||
|
function vi(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
||||||
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
|
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
|
||||||
function ni(a,b,c){var d;if(b){b=oi(a,b);for(var e=0,f=!1,g=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=ya(n);if(!n){f=!0;break}n=pi(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],w=n.length;l.length&&ki[n]<ki[l[l.length-1]]&&mi(h,l,1);l.push(n);b=b.substr(r+w)}mi(h,l)&&1==h.length||(f=!0);f?c&&a.i("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&qi(a,null,
|
function wi(a,b,c){var d;if(b){b=xi(a,b);for(var e=0,f=!1,g=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=va(n);if(!n){f=!0;break}n=yi(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],u=n.length;l.length&&ti[n]<ti[l[l.length-1]]&&vi(h,l,1);l.push(n);b=b.substr(r+u)}vi(h,l)&&1==h.length||(f=!0);f?c&&a.i("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&zi(a,null,
|
||||||
d))}return d}function oi(a,b){for(var c,d=a.La?"(":"{",e=a.La?")":"}",f=new RegExp(a.La?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=ni(a,c[1]);b=b.replace(d+c[1]+e,null!=g?L(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
|
d))}return d}function xi(a,b){for(var c,d=a.Ga?"(":"{",e=a.Ga?")":"}",f=new RegExp(a.Ga?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=wi(a,c[1]);b=b.replace(d+c[1]+e,null!=g?N(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
|
||||||
function pi(a,b,c,d){var e;null!=b?(e=a.Jc(b),0<=e?e=a.Kc(e):(e=a.ca[b],null==e&&(e=ma(b,a.ma))),null!=e||d||a.i("invalid "+(c?c:"value")+": "+b)):d||a.i("missing "+(c||"value"));return e}
|
function yi(a,b,c,d){var e;null!=b?(e=a.Mc(b),0<=e?e=a.Nc(e):(e=a.ca[b],null==e&&(e=na(b,a.ma))),null!=e||d||a.i("invalid "+(c?c:"value")+": "+b)):d||a.i("missing "+(c||"value"));return e}function zi(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++)g&&(g=","+g),g=oa(d&255,8)+g,d>>=8;d=q(c,0,!0)+" "+c+". "+p(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}
|
||||||
function qi(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var l=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==l||isNaN(l))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(l&1?"1":"0")+n,l>>=1;g=n+g;d>>=8}d=p(c,0,!0)+" "+c+". "+na(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}function ri(a,b){if(b)return qi(a,b,a.ca[b]);var c=0;for(b in a.ca)qi(a,b,a.ca[b]),c++;return 0<c}
|
function Ai(a,b){if(b)return zi(a,b,a.ca[b]);var c=0;for(b in a.ca)zi(a,b,a.ca[b]),c++;return 0<c}function N(a,b,c,d){switch(a.ma){case 8:a=p(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=q(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}
|
||||||
function L(a,b,c,d){switch(a.ma){case 8:a=na(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=p(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}
|
function Bi(a){si.call(this,a);this.Xa=!1;this.Ga=!0;this.K=Y(0);this.Wa=Y(0);this.S=Y(0);this.I=[];this.f=this.M=this.F=[];Ci(this);this.va=0;Di(this);this.Pa={};Ei(this,a.messages);this.Sa=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Kd(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Kd(b,a)})}D(Bi,si);
|
||||||
function si(a){ji.call(this,a);this.Za=!1;this.La=!0;this.K=Y(0);this.Ya=Y(0);this.S=Y(0);this.I=[];this.f=this.M=this.F=[];ti(this);this.ta=0;ui(this);this.Qa={};vi(this,a.messages);this.Ra=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Hd(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Hd(b,a)})}B(si,ji);
|
var Fi={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Gi=".WORD 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 wi={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},xi=".WORD 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(" "),
|
Hi={SP:6,PC:7,PS:20,IR:21,ER:22,SL:23,MMR0:24,MMR1:25,MMR2:26,MMR3:27,AR:28,DR:29,SR:30},Ii="KI KD SI SD ?? ?? UI UD".split(" "),Ji={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]},
|
||||||
yi={SP:6,PC:7,PS:20,IR:21,ER:22,SL:23,MMR0:24,MMR1:25,MMR2:26,MMR3:27,AR:28,DR:29,SR:30},zi={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],
|
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,32768],35072:[107,32768]},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,
|
||||||
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,32768],35072:[107,32768]},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],
|
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],
|
||||||
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],
|
180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Ki=[0],Li=[58,60,65,96,108,110,100,101,102,103,104,105,59,64];k=Bi.prototype;
|
||||||
183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Ai=[0],Bi=[58,60,65,96,108,110,100,101,102,103,104,105,59,64];k=si.prototype;
|
k.Ha=function(a,b,c,d){this.w=b;this.B=a;this.b=c;this.v=a.v;(a=Gd(a,"messages"))&&Ei(this,a);this.tb=Ji;this.Eb=1145>this.b.lb?Li:[];Vc(this,16,function(a){a:{var b=d.w.ea,c=a[0],e=a=0,l=b.length;if(c){a=d.aa(Mi(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.w.qa;l=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Ic[c],n&&d.i(q(n.id,8)+" %"+
|
||||||
k.Ga=function(a,b,c,d){this.w=b;this.A=a;this.b=c;this.v=a.v;(a=Dd(a,"messages"))&&vi(this,a);this.tb=zi;this.Qb=1145>this.b.kb?Bi:[];ad(this,16,function(a){a:{var b=d.w.ea,c=a[0],e=a=0,l=b.length;if(c){a=d.aa(Ci(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.w.pa;l=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Gc[c],n&&d.i(p(n.id,8)+" %"+
|
q(e<<d.w.qa,8)+" %%"+q(n.G,8)+" "+v(n.Sb)+" "+v(n.size)+" "+m),c!=sd&&(c=-1),m=0);a+=d.w.Ja;e++}}});L(this)};
|
||||||
p(e<<d.w.pa,8)+" %%"+p(n.H,8)+" "+q(n.Nb)+" "+q(n.size)+" "+m),c!=pd&&(c=-1),m=0);a+=d.w.Ha;e++}}});J(this)};
|
k.xa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ua=this.D[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Kd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.g.length-1&&(b=d.g[++d.A])):40==a.keyCode&&(0<d.A?b=d.g[--d.A]:(b="",d.A=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.D[b]=c,Ta(c,function(){if(d.ua){var a=d.ua.value;
|
||||||
k.wa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ya=this.D[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Hd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.B<d.g.length-1&&(b=d.g[++d.B])):40==a.keyCode&&(0<d.B?b=d.g[--d.B]:(b="",d.B=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.D[b]=c,Wa(c,function(){if(d.ya){var a=d.ya.value;
|
d.ua.value="";Kd(d,a,!0);return!0}return!1}),!0;case "step":return this.D[b]=c,Ta(c,function(a){var b=!1;zb(d,!0)||(tb(d,!0),b=d.qb(a?1:0,null),tb(d,!1));return b}),!0}return!1};k.ob=function(a){if(this.ua){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);this.ua.focus();!a&&window&&window.scrollTo(b,c)}};k.aa=function(a){a=a&&a.G;null==a&&(a=-1);return a};k.Ia=function(a){return 3932160<=a?this.b.Ia(a):a};
|
||||||
d.ya.value="";Hd(d,a,!0);return!0}return!1}),!0;case "step":return this.D[b]=c,Wa(c,function(a){var b=!1;xb(d,!0)||(wb(d,!0),b=d.qb(a?1:0,null),wb(d,!1));return b}),!0}return!1};k.ob=function(a){if(this.ya){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);this.ya.focus();!a&&window&&window.scrollTo(b,c)}};k.aa=function(a){a=a&&a.H;null==a&&(a=-1);return a};k.Oa=function(a){return 3932160<=a?this.b.Oa(a):a};
|
k.dc=function(a,b){var c=255,d=this.aa(a,!1,1);-1!==d&&(a.ac||65535<d?(c=this.w,d=this.Ia(d),c.B=!1,c.ra++,d=Jc(c,d).I(d&c.w,d),c.ra--):(c=this.b,c.J++,d=De(c,oc(c,d,3)),c.J--),c=d,b&&Ni(a,b));return c};k.wa=function(a,b){var c=65535,d=this.aa(a,!1,2);-1!==d&&(c=a.ac||65535<d?pc(this.w,this.Ia(d)):qc(this.b,d),b&&Ni(a,b));return c};
|
||||||
k.dc=function(a,b){var c=255,d=this.aa(a,!1,1);-1!==d&&(a.ac||65535<d?(c=this.w,d=this.Oa(d),c.A=!1,c.qa++,d=Hc(c,d).I(d&c.w,d),c.qa--):(c=this.b,c.J++,d=ye(c,mc(c,d,3)),c.J--),c=d,b&&Di(a,b));return c};k.ua=function(a,b){var c=65535,d=this.aa(a,!1,2);-1!==d&&(c=a.ac||65535<d?nc(this.w,this.Oa(d)):oc(this.b,d),b&&Di(a,b));return c};
|
k.Rb=function(a,b,c){var d=this.aa(a,!0,1);if(-1!==d){if(a.ac||65535<d)Kc(this.w,this.Ia(d),b);else{var e=this.b;e.J++;d=oc(e,d,5);d&1&&e.b--;e.w.Rb(d,b);e.J--}c&&Ni(a,c);this.B.ya(-1)}};k.Db=function(a,b,c){var d=this.aa(a,!0,2);if(-1!==d){if(a.ac||65535<d)ac(this.w,this.Ia(d),b);else{var e=this.b;e.J++;e.wc(oc(e,d,4),b);e.J--}c&&Ni(a,c);this.B.ya(-1)}};function Y(a,b){return{G:a,ac:b,Ya:!1}}k.uc=function(a,b){a.G=b;a.Ya=!1;return a};function Oi(a){return[a.G,a.Ya]}
|
||||||
k.Mb=function(a,b,c){var d=this.aa(a,!0,1);if(-1!==d){if(a.ac||65535<d)Ic(this.w,this.Oa(d),b);else{var e=this.b;e.J++;d=mc(e,d,5);d&1&&e.b--;e.w.Mb(d,b);e.J--}c&&Di(a,c);this.A.xa(-1)}};k.Bb=function(a,b,c){var d=this.aa(a,!0,2);if(-1!==d){if(a.ac||65535<d)lc(this.w,this.Oa(d),b);else{var e=this.b;e.J++;e.uc(mc(e,d,4),b);e.J--}c&&Di(a,c);this.A.xa(-1)}};function Y(a,b){return{H:a,ac:b,Va:!1}}k.sc=function(a,b){a.H=b;a.Va=!1;return a};function Ei(a){return[a.H,a.Va]}
|
function Pi(a){return{G:a[0],Ya:a[1]}}function Mi(a,b,c){var d,e=(c?a.K:a.Wa).G;c=!1;if(void 0!==b){b=xi(a,b);"%"==b.charAt(0)&&(c=!0,b=b.substr(1));d=b;var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),e=0;e<a.I.length;e++){var g=a.I[e].ja[d];if(void 0!==g){d=g.o;void 0!==d&&(f=Y(d));break}}if(d=f)return d;e=wi(a,b,void 0)}null!=e&&(d=Y(e,c));return d}function Qi(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.hd=ui(a,b.Rc=c[2]))}function Ni(a,b){null!=a.G&&(a.G+=b||1)}
|
||||||
function Fi(a){return{H:a[0],Va:a[1]}}function Ci(a,b,c){var d,e=(c?a.K:a.Ya).H;c=!1;if(void 0!==b){b=oi(a,b);"%"==b.charAt(0)&&(c=!0,b=b.substr(1));d=b;var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),e=0;e<a.I.length;e++){var g=a.I[e].ia[d];if(void 0!==g){d=g.o;void 0!==d&&(f=Y(d));break}}if(d=f)return d;e=ni(a,b,void 0)}null!=e&&(d=Y(e,c));return d}function Gi(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.hd=li(a,b.Qc=c[2]))}function Di(a,b){null!=a.H&&(a.H+=b||1)}
|
function Ei(a,b){a.j=a;a.pa=a.pd=536870912;a.na=null;a.Y=[];b=ui(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Gb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.pa|=Gb[c],a.i(c+" messages enabled"))}}function Vc(a,b,c){for(var d in Gb)if(b==Gb[d]){a.Pa[d]=c;break}}
|
||||||
function vi(a,b){a.j=a;a.oa=a.pd=536870912;a.na=null;a.Z=[];b=li(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Eb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.oa|=Eb[c],a.i(c+" messages enabled"))}}function ad(a,b,c){for(var d in Eb)if(b==Eb[d]){a.Qa[d]=c;break}}
|
k.Mc=function(a){a=a.toUpperCase();var b=Hi[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Ri(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
||||||
k.Jc=function(a){a=a.toUpperCase();var b=yi[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Hi(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
k.Nc=function(a){var b;if(0<=a)if(8>a)b=this.b.u[a];else if(16>a)b=this.b.$a[a-8];else if(20>a)b=this.b.Na[a-16];else{var c=this.b,d=this.v;switch(a){case 20:b=ld(this.b);break;case 21:b=c.Bb;break;case 22:b=c.oa;break;case 23:b=c.fb;break;case 24:b=fd(c);break;case 25:b=hd(c);break;case 26:b=id(c);break;case 27:b=c.Ma;break;case 28:d&&(b=d.Da);break;case 29:d&&(b=d.Ab);break;case 30:d&&uc(d)&&(b=d.gb)}}return b};
|
||||||
k.Kc=function(a){var b;if(0<=a)if(8>a)b=this.b.u[a];else if(16>a)b=this.b.fb[a-8];else if(20>a)b=this.b.Pa[a-16];else{var c=this.b,d=this.v;switch(a){case 20:b=id(this.b);break;case 21:b=c.Lb;break;case 22:b=c.ra;break;case 23:b=c.nb;break;case 24:b=cd(c);break;case 25:b=ed(c);break;case 26:b=fd(c);break;case 27:b=c.Xa;break;case 28:d&&(b=d.Ca);break;case 29:d&&(b=d.Ab);break;case 30:d&&sc(d)&&(b=d.eb)}}return b};
|
k.message=function(a,b){b&&(a+=" @"+N(this,Y(this.b.sa&65535).G));if(!this.na||a!=this.na)if(this.na=a,this.pa&1073741824)this.Y.push(a);else{var c;if(this.pa&-2147483648&&this.b&&(c=this.b.C.X)||zb(this,!0))this.ba(),c&&(a+=" (cpu halted)");this.i(a);this.b&&(a=this.b,Od(a),a.Pa=0,a.ya())}};
|
||||||
k.message=function(a,b){b&&(a+=" @"+L(this,Y(this.b.va&65535).H));if(!this.na||a!=this.na)if(this.na=a,this.oa&1073741824)this.Z.push(a);else{var c;if(this.oa&-2147483648&&this.b&&(c=this.b.C.X)||xb(this,!0))this.ba(),c&&(a+=" (cpu halted)");this.i(a);this.b&&(a=this.b,Ld(a),a.ta=0,a.xa())}};
|
function Di(a){var b;if(!Pe(a))a.H&&a.H.length&&a.i("instruction history buffer freed"),a.da=0,a.H=[];else if(!a.H||!a.H.length){a.H=Array(1E3);for(b=0;b<a.H.length;b++)a.H[b]=Y();a.da=0;a.i("instruction history buffer allocated")}}k.pb=function(a,b){if(!Si(this,b))return!1;this.b.pb(a);return!0};
|
||||||
function ui(a){var b;if(!Je(a))a.G&&a.G.length&&a.i("instruction history buffer freed"),a.da=0,a.G=[];else if(!a.G||!a.G.length){a.G=Array(1E3);for(b=0;b<a.G.length;b++)a.G[b]=Y();a.da=0;a.i("instruction history buffer allocated")}}k.pb=function(a,b){if(!Ii(this,b))return!1;this.b.pb(a);return!0};
|
k.qb=function(a,b,c){if(!Si(this))return!1;null===b&&(b=!this.ub||"tr"==this.ub);this.J=0;a||Pe(this)&&Qe(this,this.b.u[7],0);try{a=Pd(this.b,a);var d=this.b.qb(a);0<d&&(Wb(this.b,d),this.J+=d,Xb(this.b,d,!0),Yb(this.b,d),this.za++)}catch(e){"number"!=typeof e&&(this.J=0,Cb(this.b,e.stack||e.message))}!1!==c&&(this.v&&this.v.stop&&this.v.stop(),this.B.ya(-1));Jd(this,b||!1);return 0<this.J};k.ba=function(a){this.b&&this.b.ba(a)};
|
||||||
k.qb=function(a,b,c){if(!Ii(this))return!1;null===b&&(b=!this.ub||"tr"==this.ub);this.J=0;a||Je(this)&&Ke(this,this.b.u[7],0);try{a=Md(this.b,a);var d=this.b.qb(a);0<d&&(Ub(this.b,d),this.J+=d,Vb(this.b,d,!0),Wb(this.b,d),this.za++)}catch(e){"number"!=typeof e&&(this.J=0,Ab(this.b,e.stack||e.message))}!1!==c&&(this.v&&this.v.stop&&this.v.stop(),this.A.xa(-1));Gd(this,b||!1);return 0<this.J};k.ba=function(a){this.b&&this.b.ba(a)};
|
function Jd(a,b){if(a.Xa){void 0===b&&(b=!0);var c;c=a.b;if(c=c.L&128?c.qd|c.od<<8:0){var d=c>>8;a.i("trapped to "+N(a,c&255,1)+" ("+(0>d?Eb[-d]:N(a,d))+")")}a.K=Y(a.b.u[7]);b&&1!=a.P?Ti(a):Ui(a)}}function Si(a,b){var c;(c=!a.b||!Ab(a.b))||(c=a.b,c.C.la?c=!0:(c.i(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.C.X?(b||a.i("cpu busy or unavailable, command ignored"),!1):!Bb(a.b)}k.La=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
|
||||||
function Gd(a,b){if(a.Za){void 0===b&&(b=!0);var c;c=a.b;if(c=c.L&128?c.qd|c.od<<8:0){var d=c>>8;a.i("trapped to "+L(a,c&255,1)+" ("+(0>d?Cb[-d]:L(a,d))+")")}a.K=Y(a.b.u[7]);b&&1!=a.P?Ji(a):Ki(a)}}function Ii(a,b){var c;(c=!a.b||!yb(a.b))||(c=a.b,c.C.la?c=!0:(c.i(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.C.X?(b||a.i("cpu busy or unavailable, command ignored"),!1):!zb(a.b)}k.Ja=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
|
k.Ka=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){Di(this);this.za=0;this.na=null;this.J=0;this.K=Y(this.b.u[7]);this.C.X=!1;Vi(this);a||Jd(this)};k.save=function(){var a=new U(this);a.set(0,Oi(this.K));a.set(1,Oi(this.S));a.set(2,[this.g,this.T,this.pa]);a.set(3,this.I);return a.data()};
|
||||||
k.Ia=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){ui(this);this.za=0;this.na=null;this.J=0;this.K=Y(this.b.u[7]);this.C.X=!1;Li(this);a||Gd(this)};k.save=function(){var a=new S(this);a.set(0,Ei(this.K));a.set(1,Ei(this.S));a.set(2,[this.g,this.T,this.oa]);a.set(3,this.I);return a.data()};
|
k.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Pi(a[b++]),this.S=Pi(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.T=a[b][1],this.pa|=a[b][2]);a[3]&&(this.I=a[3]);return!0};k.start=function(a,b){this.P||this.i("running");this.C.X=!0;this.Fb=a;this.Gb=b};
|
||||||
k.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Fi(a[b++]),this.S=Fi(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.T=a[b][1],this.oa|=a[b][2]);a[3]&&(this.I=a[3]);return!0};k.start=function(a,b){this.P||this.i("running");this.C.X=!0;this.Rb=a;this.Sb=b};
|
k.stop=function(a,b){if(this.C.X){this.C.X=!1;this.J=b-this.Gb;if(!this.P){b="stopped";if(this.J){a-=this.Fb;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";Pe(this)&&(b+=this.za+" instructions, ",this.za=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else K(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.i(b)}Jd(this,!0);this.ob();Vi(this,this.b.u[7]);this.na=null}};function Pe(a){return 1<a.f.length||!!a.va}
|
||||||
k.stop=function(a,b){if(this.C.X){this.C.X=!1;this.J=b-this.Sb;if(!this.P){b="stopped";if(this.J){a-=this.Rb;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";Je(this)&&(b+=this.za+" instructions, ",this.za=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else I(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.i(b)}Gd(this,!0);this.ob();Li(this,this.b.u[7]);this.na=null}};function Je(a){return 1<a.f.length||!!a.ta}
|
function Qe(a,b,c){var d=-1;c||(d=qc(a.b,b),0==d&&(b=$d(a.b,2)));if(0<c&&(a.va&&!--a.va||Bd(a,b,1,a.f)))return!0;0<=c&&a.H.length&&(a.za++,0>d&&(d=qc(a.b,b)),65535!=(d&65535)&&(a.uc(a.H[a.da],b),++a.da==a.H.length&&(a.da=0)));return!1}function Wf(a){var b=a.b;if(b.C.X)throw ae(b,a.b.sa&65535),a.ba(),-1;return!1}
|
||||||
function Ke(a,b,c){var d=-1;c||(d=oc(a.b,b),0==d&&(b=Xd(a.b,2)));if(0<c&&(a.ta&&!--a.ta||yd(a,b,1,a.f)))return!0;0<=c&&a.G.length&&(a.za++,0>d&&(d=oc(a.b,b)),65535!=(d&65535)&&(a.sc(a.G[a.da],b),++a.da==a.G.length&&(a.da=0)));return!1}function Qf(a){var b=a.b;if(b.C.X)throw T(b,a.b.va&65535),a.ba(),-1;return!1}
|
function Ci(a){var b,c;a.f=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];var d=a.w;c=a.aa(c);Cd(d.ea[c>>>d.qa],!1)}a.M=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],d=a.w,c=a.aa(c),Cd(d.ea[c>>>d.qa],!0);a.F=["bw"];a.ab=0}k.vb=function(a,b,c){var d=!0;c||Wi(this,a,b,!1,!0);if(a!=this.f){var e=this.aa(b);if(-1===e)this.i("invalid address: "+N(this,b.G)),d=!1;else{var f=this.w;f.ea[e>>>f.qa].vb(e&f.w,a==this.F)}}d&&(a.push(b),c?b.Ya=!0:(Xi(this,a,a.length-1,"set"),Di(this)));return d};
|
||||||
function ti(a){var b,c;a.f=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];var d=a.w;c=a.aa(c);zd(d.ea[c>>>d.pa],!1)}a.M=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],d=a.w,c=a.aa(c),zd(d.ea[c>>>d.pa],!0);a.F=["bw"];a.$a=0}k.vb=function(a,b,c){var d=!0;c||Mi(this,a,b,!1,!0);if(a!=this.f){var e=this.aa(b);if(-1===e)this.i("invalid address: "+L(this,b.H)),d=!1;else{var f=this.w;f.ea[e>>>f.pa].vb(e&f.w,a==this.F)}}d&&(a.push(b),c?b.Va=!0:(Ni(this,a,a.length-1,"set"),ui(this)));return d};
|
function Wi(a,b,c,d,e){var f=!1;c=a.aa(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.aa(h)&&(!d||h.Ya)){f=!0;h.Ya||e||Xi(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.w,Cd(d.ea[c>>>d.qa],b==a.F));h.Ya||Di(a);break}}return f}function Yi(a,b){for(var c=1;c<b.length;c++)Xi(a,b,c);return b.length-1}function Xi(a,b,c,d){c=b[c];a.i(b[0]+" "+N(a,c.G)+(d?" "+d:c.Rc?' "'+c.Rc+'"':""))}
|
||||||
function Mi(a,b,c,d,e){var f=!1;c=a.aa(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.aa(h)&&(!d||h.Va)){f=!0;h.Va||e||Ni(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.w,zd(d.ea[c>>>d.pa],b==a.F));h.Va||ui(a);break}}return f}function Oi(a,b){for(var c=1;c<b.length;c++)Ni(a,b,c);return b.length-1}function Ni(a,b,c,d){c=b[c];a.i(b[0]+" "+L(a,c.H)+(d?" "+d:c.Qc?' "'+c.Qc+'"':""))}
|
function Vi(a,b){if(void 0!==b)Bd(a,b,1,a.f,!0),a.P=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.Ya){if(!Wi(a,a.f,c,!0))break;b=0}}}
|
||||||
function Li(a,b){if(void 0!==b)yd(a,b,1,a.f,!0),a.P=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.Va){if(!Mi(a,a.f,c,!0))break;b=0}}}
|
function Bd(a,b,c,d,e){var f=!1;if(!a.ab++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Ya)for(var l=a.aa(h)&65535,m=0;m<c;m++)if(b+m==l){var n,f=!0;h.Ya&&(Wi(a,d,h,!0),e=!0);if(n=h.hd){for(var f=!1,r=0;r<n.length;r++)if(!Zi(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.b.C.X||(f=!0)}if(f){e||Xi(a,d,g,"hit");break}}}a.ab--;return f}
|
||||||
function yd(a,b,c,d,e){var f=!1;if(!a.$a++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Va)for(var l=a.aa(h)&65535,m=0;m<c;m++)if(b+m==l){var n,f=!0;h.Va&&(Mi(a,d,h,!0),e=!0);if(n=h.hd){for(var f=!1,r=0;r<n.length;r++)if(!Pi(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var w=r+1;w<n.length&&n[w].indexOf("else");w++)r++;if(w==n.length){f=!0;break}}a.b.C.X||(f=!0)}if(f){e||Ni(a,d,g,"hit");break}}}a.$a--;return f}
|
function $i(a,b,c,d){var e=Y(b.G),f=a.wa(b,2),g,h;for(h in a.tb)if(g=a.tb[h][f&h])break;g||(g=Ki);var l=g[0];0<=a.Eb.indexOf(l)&&(g=Ki,l=g[0]);var m=h="",n=Gi[l],r=g.length-1;l||r||(h=N(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var B=u,u=b,z="",C=B&61440;if(4096==C)u=u.G+((f&255)<<24>>23)&65535,z=N(t,u);else if(8192==C)u=u.G-((f&63)<<1)&65535,z=N(t,u);else if(12288==C)z=N(t,f&7,1);else if(24576==C)z=N(t,f&63,1);else if(32768==C)z=N(t,f&255,1);else if(C=f&B,B&4032&&(C>>=6,B>>=6),
|
||||||
function Qi(a,b,c,d){var e=Y(b.H),f=a.ua(b,2),g,h;for(h in a.tb)if(g=a.tb[h][f&h])break;g||(g=Ai);var l=g[0];0<=a.Qb.indexOf(l)&&(g=Ai,l=g[0]);var m=h="",n=xi[l],r=g.length-1;l||r||(h=L(a,f));for(l=1;l<=r;l++){var w=g[l];if(void 0!==w){var t;t=a;var A=w,w=b,y="",C=A&61440;if(4096==C)w=w.H+((f&255)<<24>>23)&65535,y=L(t,w);else if(8192==C)w=w.H-((f&63)<<1)&65535,y=L(t,w);else if(12288==C)y=L(t,f&7,1);else if(24576==C)y=L(t,f&63,1);else if(32768==C)y=L(t,f&255,1);else if(C=f&A,A&4032&&(C>>=6,A>>=6),
|
B&63)switch(B=C&7,C&56){case 0:z=Ri(B);break;case 8:z="@"+Ri(B);break;case 16:7>B?z="("+Ri(B)+")+":(C=t.wa(u,2),z="#"+N(t,C,0,!0));break;case 24:7>B?z="@("+Ri(B)+")+":(C=t.wa(u,2),z="@#"+N(t,C,0,!0));break;case 32:z="-("+Ri(B)+")";break;case 40:z="@-("+Ri(B)+")";break;case 48:C=t.wa(u,2);z=N(t,C,0,!0)+"("+Ri(B)+")";7==B&&(z=N(t,C+u.G&65535));break;case 56:C=t.wa(u,2),z="@"+N(t,C)+"("+Ri(B)+")",7==B&&(z="@"+N(t,C+u.G&65535))}t=z;if(!t||!t.length){h="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);
|
||||||
A&63)switch(A=C&7,C&56){case 0:y=Hi(A);break;case 8:y="@"+Hi(A);break;case 16:7>A?y="("+Hi(A)+")+":(C=t.ua(w,2),y="#"+L(t,C,0,!0));break;case 24:7>A?y="@("+Hi(A)+")+":(C=t.ua(w,2),y="@#"+L(t,C,0,!0));break;case 32:y="-("+Hi(A)+")";break;case 40:y="@-("+Hi(A)+")";break;case 48:C=t.ua(w,2);y=L(t,C,0,!0)+"("+Hi(A)+")";7==A&&(y=L(t,C+w.H&65535));break;case 56:C=t.ua(w,2),y="@"+L(t,C)+"("+Hi(A)+")",7==A&&(y="@"+L(t,C+w.H&65535))}t=y;if(!t||!t.length){h="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);
|
0<h.length&&(h+=",");h+=t||"???"}}f="";g=N(a,e.G)+":";if(-1!==e.G&&-1!==b.G){do if(f+=" "+N(a,a.wa(e,2)),null==e.G)break;while(e.G!=b.G)}g+=ua(f,24);g+=ua(n,5);h&&(g+=" "+h);if(c||m)g=ua(g,60)+";"+(c||""),g=a.b.C.Jb?g+("cycles="+Ld(a.b).toString()+" cs="+q(a.b.Wb)):g+(null!=d?"="+d.toString():""),m&&(g+=" @"+m);return g}function aj(a,b){switch(b){case "N":a=Yd(a.b);break;case "Z":a=Xd(a.b);break;case "V":a=Wd(a.b);break;case "C":a=Vd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
||||||
0<h.length&&(h+=",");h+=t||"???"}}f="";g=L(a,e.H)+":";if(-1!==e.H&&-1!==b.H){do if(f+=" "+L(a,a.ua(e,2)),null==e.H)break;while(e.H!=b.H)}g+=ta(f,24);g+=ta(n,5);h&&(g+=" "+h);if(c||m)g=ta(g,60)+";"+(c||""),g=a.b.C.Db?g+("cycles="+Id(a.b).toString()+" cs="+p(a.b.Vb)):g+(null!=d?"="+d.toString():""),m&&(g+=" @"+m);return g}function Ri(a,b){switch(b){case "N":a=Vd(a.b);break;case "Z":a=Ud(a.b);break;case "V":a=Td(a.b);break;case "C":a=Sd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
function Z(a,b){var c="",d=a.b;if(8>b)c=Ri(b),c+="="+N(a,d.u[b]);else if(13>b)c="A"+(b-8)+"="+N(a,d.$a[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+N(a,d.Na[b-16]);else switch(b){case 20:c="PS="+N(a,ld(d));break;case 21:c="IR="+N(a,d.Bb);break;case 22:c="ER="+N(a,d.oa);break;case 23:c="SL="+N(a,d.fb);break;case 24:c="MMR0="+N(a,fd(d));break;case 25:c="MMR1="+N(a,hd(d));break;case 26:c="MMR2="+N(a,id(d));break;case 27:c="MMR3="+N(a,d.Ma);break;case 28:a.v&&(c="AR="+N(a,a.v.Da,3));break;case 29:a.v&&
|
||||||
function Z(a,b){var c="",d=a.b;if(8>b)c=Hi(b),c+="="+L(a,d.u[b]);else if(13>b)c="A"+(b-8)+"="+L(a,d.fb[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+L(a,d.Pa[b-16]);else switch(b){case 20:c="PS="+L(a,id(d));break;case 21:c="IR="+L(a,d.Lb);break;case 22:c="ER="+L(a,d.ra);break;case 23:c="SL="+L(a,d.nb);break;case 24:c="MMR0="+L(a,cd(d));break;case 25:c="MMR1="+L(a,ed(d));break;case 26:c="MMR2="+L(a,fd(d));break;case 27:c="MMR3="+L(a,d.Xa);break;case 28:a.v&&(c="AR="+L(a,a.v.Ca,3));break;case 29:a.v&&
|
(c="DR="+N(a,a.v.Ab));break;case 30:a.v&&uc(a.v)&&(c="SR="+N(a,a.v.gb,3))}c&&(c+=" ");return c}function bj(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,20)+Z(a,21)+Z(a,23);d+=aj(a,"T")+aj(a,"N")+aj(a,"Z")+aj(a,"V")+aj(a,"C");b&&(b=d,c=""+(Z(a,24)+Z(a,25)),c+=Z(a,26)+Z(a,27)+Z(a,22),c=c+"\n"+(Z(a,30)+Z(a,28)+Z(a,29)),d=b+("\n"+c));return d}k.Jc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||||
(c="DR="+L(a,a.v.Ab));break;case 30:a.v&&sc(a.v)&&(c="SR="+L(a,a.v.eb,3))}c&&(c+=" ");return c}function Si(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,20)+Z(a,21)+Z(a,23);d+=Ri(a,"T")+Ri(a,"N")+Ri(a,"Z")+Ri(a,"V")+Ri(a,"C");b&&(b=d,c=""+(Z(a,24)+Z(a,25)),c+=Z(a,26)+Z(a,27)+Z(a,22),c=c+"\n"+(Z(a,30)+Z(a,28)+Z(a,29)),d=b+("\n"+c));return d}k.Gc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
function Wg(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var l=h.o,m=h.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=Da(n,l,a.Jc);0>r&&n.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.I.push({Lg:b,G:c,xd:d,ja:e,Hc:f})}function cj(a,b,c){var d=[],e=a.aa(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],g=f.G>>>0,h=f.xd;if(e>=g&&e<g+h){e=Da(f.Hc,[e-g],a.Jc);0<=e?dj(a,b,e,d):c&&(e=~e,dj(a,b,e-1,d),dj(a,b,e,d));break}}return d}
|
||||||
function Qg(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var l=h.o,m=h.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=Aa(n,l,a.Gc);0>r&&n.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.I.push({Lg:b,H:c,xd:d,ia:e,Ec:f})}function Ti(a,b,c){var d=[],e=a.aa(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],g=f.H>>>0,h=f.xd;if(e>=g&&e<g+h){e=Aa(f.Ec,[e-g],a.Gc);0<=e?Ui(a,b,e,d):c&&(e=~e,Ui(a,b,e-1,d),Ui(a,b,e,d));break}}return d}
|
function dj(a,b,c,d){var e={},f=a.I[b].Hc,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.I[b].ja[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function ej(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ai(a)||a.i("no variables"),!0;if(!c[2])return Ai(a,c[1]);if(!c[3])return delete a.ca[c[1]],!0;b=wi(a,c[3]);return void 0!==b?(a.ca[c[1]]=b,!0):!1}a.i("invalid assignment:"+b);return!1}
|
||||||
function Ui(a,b,c,d){var e={},f=a.I[b].Ec,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.I[b].ia[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function Vi(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return ri(a)||a.i("no variables"),!0;if(!c[2])return ri(a,c[1]);if(!c[3])return delete a.ca[c[1]],!0;b=ni(a,c[3]);return void 0!==b?(a.ca[c[1]]=b,!0):!1}a.i("invalid assignment:"+b);return!1}
|
function fj(a,b,c){var d=null;if(b=Mi(a,b,!0)){a.aa(b);var e=cj(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.G-e[1])&&(g=" + "+v(f)),f=e[0]+" ("+N(a,e[1])+")"+g,c&&a.i(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.G)&&(g=" - "+v(f)),f=e[4]+" ("+N(a,e[5])+")"+g,c&&a.i(f),d||(d=f))}else c&&a.i("no symbols")}return d}
|
||||||
function Wi(a,b,c){var d=null;if(b=Ci(a,b,!0)){a.aa(b);var e=Ti(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.H-e[1])&&(g=" + "+q(f)),f=e[0]+" ("+L(a,e[1])+")"+g,c&&a.i(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.H)&&(g=" - "+q(f)),f=e[4]+" ("+L(a,e[5])+")"+g,c&&a.i(f),d||(d=f))}else c&&a.i("no symbols")}return d}
|
function Ti(a,b){var c;if(b&&"?"==b[1])a.i("register commands:"),a.i("\tr\tdump registers"),a.i("\trm\tdump misc registers"),a.i("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.b;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.i("missing value for "+b[1]);return}g=wi(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.u[6]=g&65535;break;case "PC":case "R7":ae(e,
|
||||||
function Ji(a,b){var c;if(b&&"?"==b[1])a.i("register commands:"),a.i("\tr\tdump registers"),a.i("\trm\tdump misc registers"),a.i("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.b;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.i("missing value for "+b[1]);return}g=ni(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.u[6]=g&65535;break;case "PC":case "R7":T(e,
|
g);a.K=Y(e.u[7]);break;case "N":e.W=g?32768:0;break;case "Z":e.Z=g?0:1;break;case "V":e.V=g?32768:0;break;case "C":e.U=g?65536:0;break;case "PS":md(e,g);break;case "IR":kd(e,g);break;case "ER":e.oa=g;d=!0;break;case "SL":e.fb=g|255;break;case "MMR0":gd(e,g);d=!0;break;case "MMR3":jd(e,g);d=!0;break;case "AR":a.v&&(d=a.v,rc(d,d.Da=g));d=!0;break;case "DR":a.v&&(d=a.v,$b(d,d.Ab=g));d=!0;break;case "SR":if(a.v&&uc(a.v)){sc(a.v,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.u[b]=
|
||||||
g);a.K=Y(e.u[7]);break;case "N":e.W=g?32768:0;break;case "Z":e.Y=g?0:1;break;case "V":e.V=g?32768:0;break;case "C":e.U=g?65536:0;break;case "PS":jd(e,g);break;case "IR":hd(e,g);break;case "ER":e.ra=g;d=!0;break;case "SL":e.nb=g|255;break;case "MMR0":dd(e,g);d=!0;break;case "MMR3":gd(e,g);d=!0;break;case "AR":a.v&&(d=a.v,pc(d,d.Ca=g));d=!0;break;case "DR":a.v&&(d=a.v,kc(d,d.Ab=g));d=!0;break;case "SR":if(a.v&&sc(a.v)){qc(a.v,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.u[b]=
|
g&65535;break}a.i("unknown register: "+f);return}a.B.ya();a.i("updated registers:")}}a.i(bj(a,d));c&&(a.K=Y(e.u[7]),Ui(a,N(a,a.K.G)))}}function gj(a,b){b=va(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.i(c[2]):zi(a,null,c[2].charCodeAt(0)):wi(a,b,!0)}
|
||||||
g&65535;break}a.i("unknown register: "+f);return}a.A.xa();a.i("updated registers:")}}a.i(Si(a,d));c&&(a.K=Y(e.u[7]),Ki(a,L(a,a.K.H)))}}function Xi(a,b){b=ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.i(c[2]):qi(a,null,c[2].charCodeAt(0)):ni(a,b,!0)}
|
function hj(a,b,c){if("?"==c)a.i("trace commands:"),a.i("\tt [#]\ttrace # instructions"),a.i("\ttr [#]\ttrace # instructions with register updates"),a.i("\ttc [#]\ttrace # cycles"),a.i("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=yi(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ub=b;Sa(c,function(){return tb(a,!0)&&a.qb(e,d,!1)},function(){a.v&&a.v.stop&&a.v.stop();a.B.ya(-1);tb(a,!1)})}}
|
||||||
function Yi(a,b,c){if("?"==c)a.i("trace commands:"),a.i("\tt [#]\ttrace # instructions"),a.i("\ttr [#]\ttrace # instructions with register updates"),a.i("\ttc [#]\ttrace # cycles"),a.i("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=pi(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ub=b;Pa(c,function(){return wb(a,!0)&&a.qb(e,d,!1)},function(){a.v&&a.v.stop&&a.v.stop();a.A.xa(-1);wb(a,!1)})}}
|
function Ui(a,b,c,d){if(b=Mi(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=yi(a,c.substr(1)),null!=c&&(d=c);else{d=Mi(a,c,!0);if(!d||d.G<b.G)return;e=d.G-b.G;if(256<e){a.i("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=zb(a,!1)||a.P?a.J:null;var g=null!=f?"cycles":null,h=cj(a,b),l=b.G;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(g=h[3],f=null);f=$i(a,b,g,f);a.i(f);a.K=b;e-=b.G-l;c++}}}
|
||||||
function Ki(a,b,c,d){if(b=Ci(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=pi(a,c.substr(1)),null!=c&&(d=c);else{d=Ci(a,c,!0);if(!d||d.H<b.H)return;e=d.H-b.H;if(256<e){a.i("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=xb(a,!1)||a.P?a.J:null;var g=null!=f?"cycles":null,h=Ti(a,b),l=b.H;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(g=h[3],f=null);f=Qi(a,b,g,f);a.i(f);a.K=b;e-=b.H-l;c++}}}
|
function Zi(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(">> "+b):(a.T&&(a.i("ended assemble at "+N(a,a.S.G)),a.K=a.S,a.T=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.na=null;if(Ab(a)&&0<b.length){a.T&&(b="a "+N(a,a.S.G)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],l=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
|
||||||
function Pi(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(">> "+b):(a.T&&(a.i("ended assemble at "+L(a,a.S.H)),a.K=a.S,a.T=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.na=null;if(yb(a)&&0<b.length){a.T&&(b="a "+L(a,a.S.H)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],l=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
|
Mi(a,g[1],!0);if(r)if(a.S=r,void 0===g[2])a.i("begin assemble at "+N(a,r.G)),a.T=!0,a.B.ya();else{var u;a.i("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Rb(r,u[t],1);a.i($i(a,a.S))}}break;case "b":a:{var B=g[0],z=g[1],C=b;if("?"==z)a.i("breakpoint commands:"),a.i("\tbp [#]\tset exec breakpoint at addr #"),a.i("\tbr [#]\tset read breakpoint at addr #"),a.i("\tbw [#]\tset write breakpoint at addr #"),a.i("\tbc [#]\tclear breakpoint at addr #"),a.i("\tbl\tlist all breakpoints"),
|
||||||
Ci(a,g[1],!0);if(r)if(a.S=r,void 0===g[2])a.i("begin assemble at "+L(a,r.H)),a.T=!0,a.A.xa();else{var w;a.i("not supported yet");w=[];if(w.length){for(var t=0;t<w.length;t++)a.Mb(r,w[t],1);a.i(Qi(a,a.S))}}break;case "b":a:{var A=g[0],y=g[1],C=b;if("?"==y)a.i("breakpoint commands:"),a.i("\tbp [#]\tset exec breakpoint at addr #"),a.i("\tbr [#]\tset read breakpoint at addr #"),a.i("\tbw [#]\tset write breakpoint at addr #"),a.i("\tbc [#]\tclear breakpoint at addr #"),a.i("\tbl\tlist all breakpoints"),
|
a.i("\tbn [#]\tbreak after # instruction(s)");else{var ta=B.charAt(1);if("l"==ta){var Va;Va=0+Yi(a,a.f);Va+=Yi(a,a.M);(Va+=Yi(a,a.F))||a.i("no breakpoints")}else if("n"==ta)a.va=yi(a,z),a.i("break after "+a.va+" instruction(s)");else if(void 0===z)a.i("missing breakpoint address");else{var S=Y();if("*"!=z&&(S=Mi(a,z,!0),!S))break a;"c"==ta?null==S.G?(Ci(a),a.i("all breakpoints cleared")):Wi(a,a.f,S)||Wi(a,a.M,S)||Wi(a,a.F,S)||a.i("breakpoint missing: "+N(a,S.G)):null!=S.G&&(Qi(a,S,C),"p"==ta?a.vb(a.f,
|
||||||
a.i("\tbn [#]\tbreak after # instruction(s)");else{var ra=A.charAt(1);if("l"==ra){var Oa;Oa=0+Oi(a,a.f);Oa+=Oi(a,a.M);(Oa+=Oi(a,a.F))||a.i("no breakpoints")}else if("n"==ra)a.ta=pi(a,y),a.i("break after "+a.ta+" instruction(s)");else if(void 0===y)a.i("missing breakpoint address");else{var Q=Y();if("*"!=y&&(Q=Ci(a,y,!0),!Q))break a;"c"==ra?null==Q.H?(ti(a),a.i("all breakpoints cleared")):Mi(a,a.f,Q)||Mi(a,a.M,Q)||Mi(a,a.F,Q)||a.i("breakpoint missing: "+L(a,Q.H)):null!=Q.H&&(Gi(a,Q,C),"p"==ra?a.vb(a.f,
|
S):"r"==ta?a.vb(a.M,S):"w"==ta?a.vb(a.F,S):a.i("unknown breakpoint command: "+ta))}}}break;case "c":a.bb&&(a.bb.value="");break;case "d":a:{var ub,Ma=g[0],wa=g[1],Xa=g[2],Aj=g[3];if("?"==wa){var vb="";for(ub in Gb)a.Pa[ub]&&(vb&&(vb+=","),vb+=ub);vb+=",state,symbols";a.i("dump memory commands:");a.i("\tda [a] dump info for address a");a.i("\tdb [a] [n] dump n bytes at address a");a.i("\tdw [a] [n] dump n words at address a");a.i("\tdd [a] [n] dump n dwords at address a");a.i("\tds [a] [n] dump n words at address a as JSON");
|
||||||
Q):"r"==ra?a.vb(a.M,Q):"w"==ra?a.vb(a.F,Q):a.i("unknown breakpoint command: "+ra))}}}break;case "c":a.ab&&(a.ab.value="");break;case "d":a:{var pb,Qa=g[0],ua=g[1],Ra=g[2],qj=g[3];if("?"==ua){var qb="";for(pb in Eb)a.Qa[pb]&&(qb&&(qb+=","),qb+=pb);qb+=",state,symbols";a.i("dump memory commands:");a.i("\tdb [a] [n] dump n bytes at address a");a.i("\tdw [a] [n] dump n words at address a");a.i("\tdd [a] [n] dump n dwords at address a");a.i("\tds [a] [n] dump n words at address a as JSON");
|
a.i("\tdh [p] [n] dump n instructions from history position p");vb.length&&a.i("dump extension commands:\n\t"+vb)}else if("state"==wa){var eh=ij(a.B,!0);"console"==Xa?console.log(eh):(a.bb&&(a.bb.value=""),a.i(eh))}else if("symbols"==wa)for(var de=0;de<a.I.length;de++){var ee=a.I[de],wb;for(wb in ee.ja)if("."!=wb.charAt(0)){var fh=ee.ja[wb].o;if(void 0!==fh){var gh=ee.ja[wb].l;gh&&(wb=gh);a.i(N(a,fh)+" "+wb)}}}else{if("d"==Ma){for(ub in Gb)if(g[1]==ub){var hh=a.Pa[ub];hh?(g.shift(),g.shift(),hh(g)):
|
||||||
a.i("\tdh [p] [n] dump n instructions from history position p");qb.length&&a.i("dump extension commands:\n\t"+qb)}else if("state"==ua){var Zg=Zi(a.A,!0);"console"==Ra?console.log(Zg):(a.ab&&(a.ab.value=""),a.i(Zg))}else if("symbols"==ua)for(var Zd=0;Zd<a.I.length;Zd++){var $d=a.I[Zd],rb;for(rb in $d.ia)if("."!=rb.charAt(0)){var $g=$d.ia[rb].o;if(void 0!==$g){var ah=$d.ia[rb].l;ah&&(rb=ah);a.i(L(a,$g)+" "+rb)}}}else{if("d"==Qa){for(pb in Eb)if(g[1]==pb){var bh=a.Qa[pb];bh?(g.shift(),g.shift(),bh(g)):
|
a.i("no dump registered for "+wa);break a}wa||(Ma=a.Vb||"dw")}else a.Vb=Ma;if("dh"==Ma){var ih=wa,jh=Xa,kh="",lh=0,ka=a.da,xa=a.H;if(xa.length){var fa=+ih||a.sb,bc=+jh||10;isNaN(fa)?fa=bc:kh="more ";fa>xa.length&&(a.i("note: only "+xa.length+" available"),fa=xa.length);ka-=fa;0>ka&&(null==xa[xa.length-1].G?(fa=ka+fa,ka=0):ka+=xa.length);var fe=[];"call"==jh&&(bc=1E5,fe=["CALL"]);for(void 0!==ih&&a.i(fa+" instructions earlier:");0<bc&&ka!=a.da;){var mh=xa[ka++];if(null==mh.G)break;var cc=Y(mh.G),Bj=
|
||||||
a.i("no dump registered for "+ua);break a}ua||(Qa=a.Tb||"dw")}else a.Tb=Qa;if("dh"==Qa){var ch=ua,dh=Ra,eh="",fh=0,ha=a.da,va=a.G;if(va.length){var da=+ch||a.sb,Yb=+dh||10;isNaN(da)?da=Yb:eh="more ";da>va.length&&(a.i("note: only "+va.length+" available"),da=va.length);ha-=da;0>ha&&(null==va[va.length-1].H?(da=ha+da,ha=0):ha+=va.length);var ae=[];"call"==dh&&(Yb=1E5,ae=["CALL"]);for(void 0!==ch&&a.i(da+" instructions earlier:");0<Yb&&ha!=a.da;){var gh=va[ha++];if(null==gh.H)break;var Zb=Y(gh.H),rj=
|
fa--,nh=$i(a,cc,"history",Bj);(!fe.length||0<=nh.indexOf(fe[0]))&&a.i(nh);cc.oc&&(ka+=cc.oc,bc-=cc.oc,fa-=cc.oc);ka>=xa.length&&(ka=0);a.sb=fa;lh++;bc--}}lh||(a.i("no "+kh+"history available"),a.sb=void 0)}else{var ya=Mi(a,wa);if(ya)if("da"==Ma){var ga=a.b,ge=ya.G,za,I=[];if(ga.ca){var oh=ga.A<<1,Wc=ge>>13;7<Wc&&(oh|=1);ga.Ma&ga.Cc[ga.A]||(Wc&=7);var ph=ge&8191,qh=ga.ga[ga.A][Wc]<<6;za=qh+ph&ga.S;3932160<=za&&(za=ga.Ia(za));I.push(za);I.push(ph);I.push(oh);I.push(Wc&7);I.push(qh);I.push(ga.S)}else za=
|
||||||
da--,hh=Qi(a,Zb,"history",rj);(!ae.length||0<=hh.indexOf(ae[0]))&&a.i(hh);Zb.oc&&(ha+=Zb.oc,Yb-=Zb.oc,da-=Zb.oc);ha>=va.length&&(ha=0);a.sb=da;fh++;Yb--}}fh||(a.i("no "+eh+"history available"),a.sb=void 0)}else{var sb=Ci(a,ua);if(sb){var $b=0,be=!1,ce="ds"==Qa;Ra&&(be=!0,"l"==Ra.charAt(0)&&(be=!1,Ra=Ra.substr(1)||qj),$b=pi(a,Ra)>>>0,65536<$b&&($b=65536));for(var Sa="dd"==Qa?4:"db"==Qa?1:2,Sc=(be?$b-sb.H:Sa*$b)||128,de=ce?16:a.ma,sj=(Sc+de-1)/de|0||1,Ta="";sj--&&0<Sc;){for(var Ua="",ee="",ua=L(a,sb.H),
|
ge&65535,57344<=za&&(za|=ga.ab),I.push(za);a.i(ua("",19)+oa(ya.G,17,3)+" "+p(ya.G,8));1<I.length&&(a.i(ua("",24)+oa(I[1],13,3)+" "+p(I[1],8)),a.i("+ "+Ii[I[2]]+"PAR["+I[3]+"]: "+oa(I[4],22,3)+" "+p(I[4],8)),a.i("& MMU MASK: "+oa(I[5],22,3)+" "+p(I[5],8)),a.i("= PHYSICAL: "+oa(I[0],22,3)+" "+p(I[0],8)))}else{var dc=0,he=!1,ie="ds"==Ma;Xa&&(he=!0,"l"==Xa.charAt(0)&&(he=!1,Xa=Xa.substr(1)||Aj),dc=yi(a,Xa)>>>0,65536<dc&&(dc=65536));for(var Ya="dd"==Ma?4:"db"==Ma?1:2,Xc=(he?dc-ya.G:Ya*dc)||128,je=
|
||||||
Tc=de,ac=0,bc=0;0<Tc&&0<Sc;){var tb=1,Uc=1==Sa?a.dc(sb,tb):a.ua(sb,tb=2),ac=ac|Uc<<(bc<<3),bc=bc+tb;bc==Sa&&(ce?(Ua&&(Ua+=","),Ua+="0x"+p(ac,2*Sa)):(Ua+=L(a,ac,Sa),Ua+=1==Sa?9==Tc?"-":" ":" "),ac=bc=0);Tc-=tb;for(Sc-=tb;1==Sa&&tb--;)var fe=Uc&255,ee=ee+(32<=fe&&128>fe?String.fromCharCode(fe):"."),Uc=Uc>>8}Ta&&(Ta+="\n");Ta=ce?Ta+(Ua+","):Ta+(ua+": "+Ua+(0==Tc?" "+ee:""))}Ta&&a.i(Ta);a.Ya=sb}}}}break;case "e":if("else"==g[0])break;var ub,ge,he,ie,je=g[0],ke=g[1];"eb"==je?(ub=1,ge=255,he=a.dc,ie=
|
ie?16:a.ma,Cj=(Xc+je-1)/je|0||1,Za="";Cj--&&0<Xc;){for(var $a="",ke="",wa=N(a,ya.G),Yc=je,ec=0,fc=0;0<Yc&&0<Xc;){var xb=1,Zc=1==Ya?a.dc(ya,xb):a.wa(ya,xb=2),ec=ec|Zc<<(fc<<3),fc=fc+xb;fc==Ya&&(ie?($a&&($a+=","),$a+="0x"+q(ec,2*Ya)):($a+=N(a,ec,Ya),$a+=1==Ya?9==Yc?"-":" ":" "),ec=fc=0);Yc-=xb;for(Xc-=xb;1==Ya&&xb--;)var le=Zc&255,ke=ke+(32<=le&&128>le?String.fromCharCode(le):"."),Zc=Zc>>8}Za&&(Za+="\n");Za=ie?Za+($a+","):Za+(wa+": "+$a+(0==Yc?" "+ke:""))}Za&&a.i(Za);a.Wa=ya}}}}break;case "e":if("else"==
|
||||||
a.Mb):"e"==je||"ew"==je?(ub=2,ge=65535,he=a.ua,ie=a.Bb):ke=null;if(null==ke)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),a.i("\tew [a] [...] edit words at address a");else{var Vc=Ci(a,ke);if(Vc)for(var Wc=2;Wc<g.length;Wc++){var cc=ni(a,g[Wc]);if(void 0===cc){a.i("unrecognized value: "+g[Wc]);break}cc&~ge&&a.i("warning: "+p(cc)+" exceeds "+ub+"-byte value");a.i("changing "+L(a,Vc.H)+(I(a,16)?"":" from "+L(a,he.call(a,Vc),ub))+" to "+L(a,cc,ub));ie.call(a,Vc,cc,ub)}}break;
|
g[0])break;var yb,me,ne,oe,pe=g[0],qe=g[1];"eb"==pe?(yb=1,me=255,ne=a.dc,oe=a.Rb):"e"==pe||"ew"==pe?(yb=2,me=65535,ne=a.wa,oe=a.Db):qe=null;if(null==qe)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),a.i("\tew [a] [...] edit words at address a");else{var $c=Mi(a,qe);if($c)for(var ad=2;ad<g.length;ad++){var gc=wi(a,g[ad]);if(void 0===gc){a.i("unrecognized value: "+g[ad]);break}gc&~me&&a.i("warning: "+q(gc)+" exceeds "+yb+"-byte value");a.i("changing "+N(a,$c.G)+(K(a,16)?
|
||||||
case "g":a:{var ih=g[1],tj=b;if(void 0!==ih){var le=Ci(a,ih,!0);if(!le)break a;Gi(a,le,tj);a.vb(a.f,le,!0)}a.pb(!0,c)}break;case "h":a.C.X?(c||a.i("halting"),a.ba()):xb(a,!0)||c||a.i("already halted");break;case "i":if("if"==g[0]){var me;var dc=b.substr(2),dc=ya(dc);ni(a,dc)?(c||a.i("true: "+dc),me=!0):(c||a.i("false: "+dc),me=!1);me||(d=!1);break}f=!0;break;case "k":var uj=g[0];if("?"==g[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var ne=
|
"":" from "+N(a,ne.call(a,$c),yb))+" to "+N(a,gc,yb));oe.call(a,$c,gc,yb)}}break;case "g":a:{var rh=g[1],Dj=b;if(void 0!==rh){var re=Mi(a,rh,!0);if(!re)break a;Qi(a,re,Dj);a.vb(a.f,re,!0)}a.pb(!0,c)}break;case "h":a.C.X?(c||a.i("halting"),a.ba()):zb(a,!0)||c||a.i("already halted");break;case "i":if("if"==g[0]){var se;var hc=b.substr(2),hc=va(hc);wi(a,hc)?(c||a.i("true: "+hc),se=!0):(c||a.i("false: "+hc),se=!1);se||(d=!1);break}f=!0;break;case "k":var Ej=g[0];if("?"==g[1])a.i("stack trace commands:"),
|
||||||
0,oe=Y(),ec=Y(a.b.u[6]);for(a.i("stack trace for "+L(a,ec.H));10>ne;){for(var Va=null,vj=256;65536>ec.H>>>0;){oe.H=a.ua(ec,2);if(null==ec.H||!vj--)break;if(!(oe.H&1)){for(var wj=a,Xc=oe,jh=null,fc=Xc.H,kh=fc,pe=1;6>=pe&&fc;pe++){if(2<pe){Xc.H=fc;var Yc=Qi(wj,Xc);if(0<=Yc.indexOf("JSR")){var lh=Yc.indexOf(" ");if(fc+(Yc.indexOf(" ",lh+1)-lh-1)/2==kh){jh=Yc;break}}}fc-=2}Xc.H=kh;if(Va=jh)break}}if(!Va||null==Va)break;var mh=null;if("ks"==uj){var nh=Va.match(/[0-9A-F]+$/);nh&&(mh=Wi(a,nh[0]))}Va=ta(Va,
|
a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var te=0,ue=Y(),ic=Y(a.b.u[6]);for(a.i("stack trace for "+N(a,ic.G));10>te;){for(var ab=null,Fj=256;65536>ic.G>>>0;){ue.G=a.wa(ic,2);if(null==ic.G||!Fj--)break;if(!(ue.G&1)){for(var Gj=a,bd=ue,sh=null,jc=bd.G,th=jc,ve=1;6>=ve&&jc;ve++){if(2<ve){bd.G=jc;var cd=$i(Gj,bd);if(0<=cd.indexOf("JSR")){var uh=cd.indexOf(" ");if(jc+(cd.indexOf(" ",uh+1)-uh-1)/2==th){sh=cd;break}}}jc-=2}bd.G=th;if(ab=sh)break}}if(!ab||null==ab)break;
|
||||||
50)+" ;"+(mh||"stack="+L(a,ec.H));a.i(Va);ne++}ne||a.i("no return addresses found")}break;case "l":if("ln"==g[0]){Wi(a,g[1],!0);break}f=!0;break;case "m":a:{var wa,xa=null,H=g[1];"?"==H&&(H=void 0);if(void 0!==H){var Ha=0;if("all"==H)Ha=1879046143,H=null;else if("on"==H)xa=!0,H=null;else if("off"==H)xa=!1,H=null;else{"keys"==H&&(H="key");"kbd"==H&&(H="keyboard");for(wa in Eb)if(H==wa){Ha=Eb[wa];xa=!!(a.oa&Ha);break}if(!Ha){a.i("unknown message category: "+H);break a}}if(Ha)if("on"==g[2])a.oa|=Ha,
|
var vh=null;if("ks"==Ej){var wh=ab.match(/[0-9A-F]+$/);wh&&(vh=fj(a,wh[0]))}ab=ua(ab,50)+" ;"+(vh||"stack="+N(a,ic.G));a.i(ab);te++}te||a.i("no return addresses found")}break;case "l":if("ln"==g[0]){fj(a,g[1],!0);break}f=!0;break;case "m":a:{var Aa,Ba=null,J=g[1];"?"==J&&(J=void 0);if(void 0!==J){var Na=0;if("all"==J)Na=1879046143,J=null;else if("on"==J)Ba=!0,J=null;else if("off"==J)Ba=!1,J=null;else{"keys"==J&&(J="key");"kbd"==J&&(J="keyboard");for(Aa in Gb)if(J==Aa){Na=Gb[Aa];Ba=!!(a.pa&Na);break}if(!Na){a.i("unknown message category: "+
|
||||||
xa=!0;else if("off"==g[2]&&(a.oa&=~Ha,xa=!1,1073741824==Ha)){for(var oh=1E3<=a.Z.length?a.Z.length-1E3:0;oh<a.Z.length;)a.i(a.Z[oh++]);a.Z=[]}}var xj=0,gc="";for(wa in Eb)if(!H||H==wa){var yj=!!(a.oa&Eb[wa]);if(null===xa||xa==yj)gc&&(gc+=","),++xj%10||(gc+="\n\t"),"key"==wa&&(wa="keys"),gc+=wa}void 0===H&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.i((null!==xa?xa?"messages on: ":"messages off: ":"message categories:\n\t")+(gc||"none"));ui(a)}break;case "p":if("print"==
|
J);break a}}if(Na)if("on"==g[2])a.pa|=Na,Ba=!0;else if("off"==g[2]&&(a.pa&=~Na,Ba=!1,1073741824==Na)){for(var xh=1E3<=a.Y.length?a.Y.length-1E3:0;xh<a.Y.length;)a.i(a.Y[xh++]);a.Y=[]}}var Hj=0,kc="";for(Aa in Gb)if(!J||J==Aa){var Ij=!!(a.pa&Gb[Aa]);if(null===Ba||Ba==Ij)kc&&(kc+=","),++Hj%10||(kc+="\n\t"),"key"==Aa&&(Aa="keys"),kc+=Aa}void 0===J&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.i((null!==Ba?Ba?"messages on: ":"messages off: ":"message categories:\n\t")+
|
||||||
g[0]){Xi(a,b.substr(5));break}var zj=g[0];if("?"==g[1])a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else{var ph="pr"==zj?1:0,qh=1+ph;if(a.P)a.i("step in progress");else{var Zc=Y(a.b.u[7]),hc=a.ua(Zc);3==hc||4==hc||34816==(hc&65280)||35072==(hc&65280)?(a.P=qh,Di(Zc,2)):2048==(hc&65024)&&(Qi(a,Zc),a.P=qh);a.P?(a.vb(a.f,Zc,!0),a.pb()||(a.A&&a.A.ob(),a.P=0)):Yi(a,ph?"tr":"t")}}break;case "r":if("reset"==b){a.A&&a.A.reset();break}Ji(a,
|
(kc||"none"));Di(a)}break;case "p":if("print"==g[0]){gj(a,b.substr(5));break}var Jj=g[0];if("?"==g[1])a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else{var yh="pr"==Jj?1:0,zh=1+yh;if(a.P)a.i("step in progress");else{var dd=Y(a.b.u[7]),lc=a.wa(dd);3==lc||4==lc||34816==(lc&65280)||35072==(lc&65280)?(a.P=zh,Ni(dd,2)):2048==(lc&65024)&&($i(a,dd),a.P=zh);a.P?(a.vb(a.f,dd,!0),a.pb()||(a.B&&a.B.ob(),a.P=0)):hj(a,yh?"tr":"t")}}break;case "r":if("reset"==
|
||||||
g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var ic=+g[2];if(8==ic||10==ic||16==ic)a.ma=ic;else{a.i("invalid base: "+ic);break}}a.i("default base: "+a.ma);break;case "cs":var jc;void 0!==g[3]&&(jc=+g[3]);switch(g[2]){case "int":a.b.Hb=jc;break;case "start":a.b.Wb=jc;break;case "stop":a.b.Ib=jc;break;default:a.i("unknown cs option");break a}void 0!==jc&&Fd(a.b);a.i("checksums "+(a.b.C.Db?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Jd(a.b,+g[2])||a.i("warning: using 1x multiplier, previous target not reached"));
|
b){a.B&&a.B.reset();break}Ti(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var mc=+g[2];if(8==mc||10==mc||16==mc)a.ma=mc;else{a.i("invalid base: "+mc);break}}a.i("default base: "+a.ma);break;case "cs":var nc;void 0!==g[3]&&(nc=+g[3]);switch(g[2]){case "int":a.b.Nb=nc;break;case "start":a.b.Xb=nc;break;case "stop":a.b.Ob=nc;break;default:a.i("unknown cs option");break a}void 0!==nc&&Id(a.b);a.i("checksums "+(a.b.C.Jb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Md(a.b,+g[2])||a.i("warning: using 1x multiplier, previous target not reached"));
|
||||||
a.i("target speed: "+(a.b.zb.toFixed(2)+"Mhz")+" ("+a.b.lb+"x)");break;default:if(g[1]){a.i("unknown option: "+g[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":Yi(a,g[0],g[1]);break;case "u":Ki(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Vi(a,
|
a.i("target speed: "+(a.b.zb.toFixed(2)+"Mhz")+" ("+a.b.mb+"x)");break;default:if(g[1]){a.i("unknown option: "+g[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":hj(a,g[0],g[1]);break;case "u":Ui(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ej(a,
|
||||||
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.i("PDPjs version 1.30.5 ("+a.b.kb+",RELEASE"+(Bb?",TYPEDARRAYS":",LONGARRAYS")+")");a.i(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Xi(a,b.substr(1));break}var qe="commands:",re;for(re in wi)qe+="\n"+ta(re,9)+wi[re];Je(a)||(qe+="\nnote: history disabled if no exec breakpoints");a.i(qe);break;default:f=!0}f&&(a.i("unknown command: "+b),d=!1)}}catch(rh){a.i("debugger error: "+(rh.stack||rh.message)),d=!1}return d}
|
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.i("PDPjs version 1.30.5 ("+a.b.lb+",RELEASE"+(Db?",TYPEDARRAYS":",LONGARRAYS")+")");a.i(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){gj(a,b.substr(1));break}var we="commands:",xe;for(xe in Fi)we+="\n"+ua(xe,9)+Fi[xe];Pe(a)||(we+="\nnote: history disabled if no exec breakpoints");a.i(we);break;default:f=!0}f&&(a.i("unknown command: "+b),d=!1)}}catch(Ah){a.i("debugger error: "+(Ah.stack||Ah.message)),d=!1}return d}
|
||||||
function Hd(a,b,c){b=li(a,b,c);for(var d in b)if(!Pi(a,b[+d]))return!1;return!0}bb(function(){for(var a=F(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new si(d);E(d,c)}});
|
function Kd(a,b,c){b=ui(a,b,c);for(var d in b)if(!Zi(a,b[+d]))return!1;return!0}eb(function(){for(var a=G(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Bi(d);F(d,c)}});
|
||||||
function $i(a,b,c){x.call(this,"Computer",a,$i,33554432);this.C.la=!1;aj(this,b);this.K=Dd(this,"autoPower",a);this.g=0;this.Z=a.busWidth||a.buswidth;this.f=bj;this.I=null;this.F=this.S=!1;this.ca=Dd(this,"url")||"";(Math.random()+.1).toString(36);this.A=cj(this);if(this.b=vb("CPU",this.id)){this.j=vb("Debugger",this.id);this.w=new uc({id:this.hb+".bus",busWidth:this.Z},this.b,this.j);var d,e=nb(this.id);if((this.v=vb("Panel",this.id))&&this.v.ab)for(b=0;b<e.length;b++)d=e[b],d.N=this.v.N,d.i=this.v.i,
|
function jj(a,b,c){y.call(this,"Computer",a,jj,33554432);this.C.la=!1;kj(this,b);this.K=Gd(this,"autoPower",a);this.g=0;this.Y=a.busWidth||a.buswidth;this.f=lj;this.I=null;this.F=this.S=!1;this.ca=Gd(this,"url")||"";(Math.random()+.1).toString(36);this.B=mj(this);if(this.b=sb("CPU",this.id)){this.j=sb("Debugger",this.id);this.w=new wc({id:this.ib+".bus",busWidth:this.Y},this.b,this.j);var d,e=qb(this.id);if((this.v=sb("Panel",this.id))&&this.v.bb)for(b=0;b<e.length;b++)d=e[b],d.N=this.v.N,d.i=this.v.i,
|
||||||
d.ab=this.v.ab;this.i("PDPjs v1.30.5\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.i("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.Ga&&d.Ga(this,this.w,this.b,this.j);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.G=d:this.f=parseInt(d,10));var f;if(a=Dd(this,"state")||(f=!0,a.state))b=this.M=a,f||(this.F=!0,this.f=bj),this.f&&(this.J=
|
d.bb=this.v.bb;this.i("PDPjs v1.30.5\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.i("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.Ha&&d.Ha(this,this.w,this.b,this.j);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.H=d:this.f=parseInt(d,10));var f;if(a=Gd(this,"state")||(f=!0,a.state))b=this.M=a,f||(this.F=!0,this.f=lj),this.f&&(this.J=
|
||||||
new S(this,"1.30.5"),dj(this.J)?b=null:delete this.J);!b&&this.f&&(b=ej(this))&&(this.F=!0);if(b){var g=this;Da(b,null,!0,function(a,b,c){c?(g.G=null,g.F=!1,g.N("Unable to load machine state from server (error "+c+(b?": "+ya(b):"")+")")):(g.I=b,g.S=!0);J(g)})}else J(this);this.D.power||(this.K=!0);!c&&this.K&&fj(this,this.Xb)}else v("Unable to find CPU component")}B($i);var bj=0;
|
new U(this,"1.30.5"),nj(this.J)?b=null:delete this.J);!b&&this.f&&(b=oj(this))&&(this.F=!0);if(b){var g=this;Ga(b,null,!0,function(a,b,c){c?(g.H=null,g.F=!1,g.N("Unable to load machine state from server (error "+c+(b?": "+va(b):"")+")")):(g.I=b,g.S=!0);L(g)})}else L(this);this.D.power||(this.K=!0);!c&&this.K&&pj(this,this.Yb)}else x("Unable to find CPU component")}D(jj);var lj=0;
|
||||||
function aj(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.T=b}function Dd(a,b,c){var d=b.toLowerCase(),d=gb[b]||gb[d];void 0===d&&a.T&&(d=a.T[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function fj(a,b,c){for(var d=nb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!yb(f)){yb(f,function(){fj(a,b,c)});return}}b.call(a,c)}
|
function kj(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.T=b}function Gd(a,b,c){var d=b.toLowerCase(),d=jb[b]||jb[d];void 0===d&&a.T&&(d=a.T[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function pj(a,b,c){for(var d=qb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ab(f)){Ab(f,function(){pj(a,b,c)});return}}b.call(a,c)}
|
||||||
function gj(a,b){var c=new S(a,"1.30.5","validate");if(dj(c)&&hj(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.N("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=$i.prototype;
|
function qj(a,b){var c=new U(a,"1.30.5","validate");if(nj(c)&&rj(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.N("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=jj.prototype;
|
||||||
k.Xb=function(a){void 0===a&&(a=this.f||(this.I?1:bj));if(!this.g){this.g++;var b=!1,c=!1;this.P=!1;var d=this.J||new S(this,"1.30.5");if(-1==a)b=!0;else if(a>bj){if(dj(d,this.I)){this.B=new S(this,"1.30.5","failsafe");dj(this.B)&&(ij(this,d),a=2,jj(this.B));this.B.set("timestamp",Ca());kj(this.B);var e=this.f&&!this.F;if(1==a||Ga("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=hj(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?dj(d,g):("error"==
|
k.Yb=function(a){void 0===a&&(a=this.f||(this.I?1:lj));if(!this.g){this.g++;var b=!1,c=!1;this.P=!1;var d=this.J||new U(this,"1.30.5");if(-1==a)b=!0;else if(a>lj){if(nj(d,this.I)){this.A=new U(this,"1.30.5","failsafe");nj(this.A)&&(sj(this,d),a=2,tj(this.A));this.A.set("timestamp",Fa());uj(this.A);var e=this.f&&!this.F;if(1==a||Ja("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=rj(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?nj(d,g):("error"==
|
||||||
f&&"no machine state"!=g?(this.N("Error: "+g),"unable to verify user"==g&&(La("user",""),this.A=null)):this.i(f+": "+g),jj(d),dj(d)?(c=hj(d),e=!0):c=!1))}e&&gj(this,c?d:null)}else 2==a&&d.clear()}else gj(this);delete this.I;delete this.J}e=nb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(c=lj(this,g,d,b,c));b=[d,a,c];-1!=a?fj(this,this.Hc,b):this.Hc(b)}};
|
f&&"no machine state"!=g?(this.N("Error: "+g),"unable to verify user"==g&&(Pa("user",""),this.B=null)):this.i(f+": "+g),tj(d),nj(d)?(c=rj(d),e=!0):c=!1))}e&&qj(this,c?d:null)}else 2==a&&d.clear()}else qj(this);delete this.I;delete this.J}e=qb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(c=vj(this,g,d,b,c));b=[d,a,c];-1!=a?pj(this,this.Kc,b):this.Kc(b)}};
|
||||||
function lj(a,b,c,d,e){if(!b.C.la){b.C.la=!0;if(b.Ja){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ja(f,d)&&f&&(v("Unable to restore state for "+b.type),a.M&&!a.S?(c.clear(),a.f=bj,window&&window.location.reload()):a.P=!0,b.Ja(null),e=!1)}if(!d&&b.zc)for(a=b.zc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
function vj(a,b,c,d,e){if(!b.C.la){b.C.la=!0;if(b.La){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.La(f,d)&&f&&(x("Unable to restore state for "+b.type),a.M&&!a.S?(c.clear(),a.f=lj,window&&window.location.reload()):a.P=!0,b.La(null),e=!1)}if(!d&&b.Bc)for(a=b.Bc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||||
k.Hc=function(a){var b=a[0],c=0>a[1];a=a[2];this.da=!0;this.C.la=!0;var d=this.D.power;d&&(d.textContent="Shutdown");this.b&&(lj(this,this.b,b,c,a),this.xa(),this.b.Cb());this.P&&(ij(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.g=0};
|
k.Kc=function(a){var b=a[0],c=0>a[1];a=a[2];this.da=!0;this.C.la=!0;var d=this.D.power;d&&(d.textContent="Shutdown");this.b&&(vj(this,this.b,b,c,a),this.ya(),this.b.Ib());this.P&&(sj(this,b),b.clear());!c&&this.A&&(this.A.clear(),delete this.A);this.g=0};
|
||||||
function ij(a,b){if(Ga("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.A||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.5"};d.url=a.ca;d.user=c;d.type="bug";d.data=b;Da("http://www.pcjs.org/api/v1/report",d,!0)}}
|
function sj(a,b){if(Ja("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.5"};d.url=a.ca;d.user=c;d.type="bug";d.data=b;Ga("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
function Zi(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new S(a,"1.30.5"),g=new S(a,"1.30.5","validate"),h=Ca();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.5");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Ia&&(c&&a.b.ba(),d=a.b.Ia(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.C.la=!1,!1===d&&(e=null)));for(var h=nb(a.id),l=0;l<h.length;l++){var m=h[l];m.C.la&&(m.Ia&&(d=m.Ia(b,c),"object"===typeof d&&f.set(m.id,
|
function ij(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new U(a,"1.30.5"),g=new U(a,"1.30.5","validate"),h=Fa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.5");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Ka&&(c&&a.b.ba(),d=a.b.Ka(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.C.la=!1,!1===d&&(e=null)));for(var h=qb(a.id),l=0;l<h.length;l++){var m=h[l];m.C.la&&(m.Ka&&(d=m.Ka(b,c),"object"===typeof d&&f.set(m.id,
|
||||||
d)),c&&(m.C.la=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.A&&mj(a,a.A,f.toString()),kj(g)&&kj(f)||(e=null,d=h=!0)):a.f&&(d=!0,h=3==a.f),d&&f.clear(h)):e=f.toString());c&&(a.C.la=!1,b=a.D.power)&&(b.textContent="Power");a.g=0;return e}
|
d)),c&&(m.C.la=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.B&&wj(a,a.B,f.toString()),uj(g)&&uj(f)||(e=null,d=h=!0)):a.f&&(d=!0,h=3==a.f),d&&f.clear(h)):e=f.toString());c&&(a.C.la=!1,b=a.D.power)&&(b.textContent="Power");a.g=0;return e}
|
||||||
k.reset=function(){this.w&&this.w.reset&&(G(this,"Resetting "+this.w.type),this.w.reset());this.b&&this.b.reset&&(G(this,"Resetting "+this.b.type),this.b.reset());for(var a=nb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c!==this.b&&c.reset&&(G(this,"Resetting "+c.type),c.reset())}this.xa(-1)};k.start=function(a,b){for(var c=nb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.xa(-1)};
|
k.reset=function(){this.w&&this.w.reset&&(H(this,"Resetting "+this.w.type),this.w.reset());this.b&&this.b.reset&&(H(this,"Resetting "+this.b.type),this.b.reset());for(var a=qb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c!==this.b&&c.reset&&(H(this,"Resetting "+c.type),c.reset())}this.ya(-1)};k.start=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.ya(-1)};
|
||||||
k.stop=function(a,b){for(var c=nb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.xa(-1)};
|
k.stop=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.ya(-1)};
|
||||||
k.xa=function(a){if(this.b){var b=this.b,c=a||0,d=b.D.speed;d&&(0>=c||30<=(b.Qb+=c))&&(d.textContent=b.C.X?b.na.toFixed(2)+"Mhz":"Stopped",b.Qb=0)}if(this.v&&(b=this.v,a=a||0,b.F)){c=b.b.C.X;d=!!(b.b.L&8);if(0>=a||60<=(b.B+=a)){for(var e=0;e<b.b.u.length;e++)Sb(b,"R"+e,b.b.u[e]);e=id(b.b);Sb(b,"PS",e);Sb(b,"NF",e&8?1:0,1);Sb(b,"ZF",e&4?1:0,1);Sb(b,"VF",e&2?1:0,1);Sb(b,"CF",e&1?1:0,1);b.B=0}pc(b,0<a&&c&&!d?b.b.Ub:b.Ca);kc(b,b.Ab);a=b.b;a=a.La?a.Xa&16?1:2:4;rc(b,"B22",a&1);rc(b,"B18",a&2);rc(b,"B16",
|
k.ya=function(a){if(this.b){var b=this.b,c=a||0,d=b.D.speed;d&&(0>=c||30<=(b.Vb+=c))&&(d.textContent=b.C.X?b.za.toFixed(2)+"Mhz":"Stopped",b.Vb=0)}if(this.v&&(b=this.v,a=a||0,b.F)){c=b.b.C.X;d=!!(b.b.L&8);if(0>=a||60<=(b.A+=a)){for(var e=0;e<b.b.u.length;e++)Ub(b,"R"+e,b.b.u[e]);e=ld(b.b);Ub(b,"PS",e);Ub(b,"NF",e&8?1:0,1);Ub(b,"ZF",e&4?1:0,1);Ub(b,"VF",e&2?1:0,1);Ub(b,"CF",e&1?1:0,1);b.A=0}rc(b,0<a&&c&&!d?b.b.Hb:b.Da);$b(b,b.Ab);a=b.b;a=a.ca?a.Ma&16?1:2:4;tc(b,"B22",a&1);tc(b,"B18",a&2);tc(b,"B16",
|
||||||
a&4)}};
|
a&4)}};
|
||||||
k.wa=function(a,b,c){var d=this;switch(b){case "power":return this.D[b]=c,c.onclick=function(){d.g||(d.C.la?Zi(d,!1,!0):fj(d,d.Xb))},!0;case "reset":return this.D[b]=c,c.onclick=function(){if(d.C.la&&!d.g)if(d.f&&!d.G){var a=Ga("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Zi(d,a,!0);!a&&d.M?window&&window.location.reload():(a||(d.pc=!0),d.Xb(bj),d.pc=!1)}else d.reset(),d.b&&d.b.Cb()},!0;case "save":if(pa(Fa(),"pcjs.org"))c.parentNode.removeChild(c);else return this.D[b]=
|
k.xa=function(a,b,c){var d=this;switch(b){case "power":return this.D[b]=c,c.onclick=function(){d.g||(d.C.la?ij(d,!1,!0):pj(d,d.Yb))},!0;case "reset":return this.D[b]=c,c.onclick=function(){if(d.C.la&&!d.g)if(d.f&&!d.H){var a=Ja("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");ij(d,a,!0);!a&&d.M?window&&window.location.reload():(a||(d.pc=!0),d.Yb(lj),d.pc=!1)}else d.reset(),d.b&&d.b.Ib()},!0;case "save":if(qa(Ia(),"pcjs.org"))c.parentNode.removeChild(c);else return this.D[b]=
|
||||||
c,c.onclick=function(){var a=cj(d,!0);if(a){var b=!!(d.f&&!d.G||d.M),c=Zi(d,b);b?mj(d,a,c):d.N("Resume disabled, machine state not saved")}},!0}return!1};
|
c,c.onclick=function(){var a=mj(d,!0);if(a){var b=!!(d.f&&!d.H||d.M),c=ij(d,b);b?wj(d,a,c):d.N("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function cj(a,b){var c=a.A;c||((c=Ka("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=nj(a,c))||a.N("The user ID is invalid.")):b&&a.N("Browser local storage is not available"));return c}
|
function mj(a,b){var c=a.B;c||((c=Oa("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=xj(a,c))||a.N("The user ID is invalid.")):b&&a.N("Browser local storage is not available"));return c}
|
||||||
function nj(a,b){a.A=null;b=Da(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&&(La("user",b.data),a.A=b.data)}catch(d){v(d.message+" ("+c+")")}return a.A}function ej(a){var b=null;a.A&&(b=Fa()+"/api/v1/user?req=load&user="+a.A+"&state="+oj(a,"1.30.5"));return b}
|
function xj(a,b){a.B=null;b=Ga(Ia()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Pa("user",b.data),a.B=b.data)}catch(d){x(d.message+" ("+c+")")}return a.B}function oj(a){var b=null;a.B&&(b=Ia()+"/api/v1/user?req=load&user="+a.B+"&state="+yj(a,"1.30.5"));return b}
|
||||||
function mj(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=oj(a,"1.30.5");d.data=c;b=Da(Fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.N("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.N(c),La("user",""),a.A=null)}}
|
function wj(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=yj(a,"1.30.5");d.data=c;b=Ga(Ia()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.N("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.N(c),Pa("user",""),a.B=null)}}
|
||||||
function wh(a){var b;a=nb(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}k.ob=function(a){if(this.ab){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);this.ab.focus();!a&&window&&window.scrollTo(b,c)}};bb(function(){for(var a=F(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=D(c),c=F(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=D(f),g=new $i(g,d,!0);E(g,f);g.K&&fj(g,g.Xb)}});
|
function Fh(a){var b;a=qb(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}k.ob=function(a){if(this.bb){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);this.bb.focus();!a&&window&&window.scrollTo(b,c)}};eb(function(){for(var a=G(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=E(c),c=G(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=E(f),g=new jj(g,d,!0);F(g,f);g.K&&pj(g,g.Yb)}});
|
||||||
Xa.show.push(function(){for(var a=F(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=vb("Computer",c.id))&&c.da&&!c.C.la&&c.Xb(-1)}});Xa.exit.push(function(){for(var a=F(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=vb("Computer",c.id))&&c.C.la&&Zi(c,!(!c.f||c.G),!0)}});function S(a,b,c){this.id=a.id;this.key=oj(a,b,c);this.j=a.j;jj(this,a.jd)}function oj(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}
|
Ua.show.push(function(){for(var a=G(document,"pdp11","computer"),b=0;b<a.length;b++){var c=E(a[b]);(c=sb("Computer",c.id))&&c.da&&!c.C.la&&c.Yb(-1)}});Ua.exit.push(function(){for(var a=G(document,"pdp11","computer"),b=0;b<a.length;b++){var c=E(a[b]);(c=sb("Computer",c.id))&&c.C.la&&ij(c,!(!c.f||c.H),!0)}});function U(a,b,c){this.id=a.id;this.key=yj(a,b,c);this.j=a.j;tj(this,a.jd)}function yj(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}
|
||||||
S.prototype={constructor:S,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){jj(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
U.prototype={constructor:U,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){tj(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
||||||
1);c=0}}};function jj(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function kj(a){var b=!0;if(Ja()){var c=JSON.stringify(a[a.id]);La(a.key,c)||(v("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function hj(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){v(c.message||c),b=!1}return b}function dj(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:Ja()&&(b=Ka(a.key))?(a[a.id]=b,a.b=!0):!1}var pj=0;
|
1);c=0}}};function tj(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function uj(a){var b=!0;if(La()){var c=JSON.stringify(a[a.id]);Pa(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function rj(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){x(c.message||c),b=!1}return b}function nj(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:La()&&(b=Oa(a.key))?(a[a.id]=b,a.b=!0):!1}var zj=0;
|
||||||
function Aj(a,b,c,d,e,f){e("Loading "+a+"...");Da(a,null,!0,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),f(h,null)):Bj(h,a,b,c,d,e,f)})}
|
function Kj(a,b,c,d,e,f){e("Loading "+a+"...");Ga(a,null,!0,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),f(h,null)):Lj(h,a,b,c,d,e,f)})}
|
||||||
function Bj(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(mb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
function Lj(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(pb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Cj(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Mj(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||||
function Cj(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Da(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
function Mj(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ga(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||||
"");a=a.replace(d[0],g);Cj(a,b,c)}})}else c(a,null)}
|
"");a=a.replace(d[0],g);Mj(a,b,c)}})}else c(a,null)}
|
||||||
function Dj(a,b,c,d){function e(a){if(void 0===h){var b=g&&F(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=sa(a))}function f(a){e("Error: "+a);l&&(--pj||db(!0));l=!1}var g,h,l=!0;pj++;lb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
|
function Nj(a,b,c,d){function e(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=sa(a))}function f(a){e("Error: "+a);l&&(--zj||gb(!0));l=!1}var g,h,l=!0;zj++;ob[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
|
||||||
(c="/versions/pdpjs/1.30.5/components.xsl");m=function(d,h){h?Aj(c,null,null,!1,e,function(d,l){l?(mb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--pj||db(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--pj||db(!0)):f("invalid machine element: "+
|
(c="/versions/pdpjs/1.30.5/components.xsl");m=function(d,h){h?Kj(c,null,null,!1,e,function(d,l){l?(pb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--zj||gb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--zj||gb(!0)):f("invalid machine element: "+
|
||||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Aj(b,a,d,!0,e,m):Bj(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(w){f(w.message)}return l}window.embedPDP11=function(a,b,c,d){db(!1);return Dj(a,b,c,d)};window.enableEvents=db;window.sendEvent=eb;})();//# sourceMappingURL=/tmp/pdpjs/1.30.5/pdp11-dbg.map
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Kj(b,a,d,!0,e,m):Lj(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){gb(!1);return Nj(a,b,c,d)};window.enableEvents=gb;window.sendEvent=hb;})();//# sourceMappingURL=/tmp/pdpjs/1.30.5/pdp11-dbg.map
|
||||||
|
|
|
||||||
|
|
@ -34,237 +34,240 @@
|
||||||
*/
|
*/
|
||||||
for(var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da<ca.length-1;da++){var ea=ca[da];ea in ba||(ba[ea]={});ba=ba[ea]}var fa=ca[ca.length-1],ga=ba[fa],ha=ga?ga:function(a){return Math.log(a)/Math.LN2};
|
for(var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da<ca.length-1;da++){var ea=ca[da];ea in ba||(ba[ea]={});ba=ba[ea]}var fa=ca[ca.length-1],ga=ba[fa],ha=ga?ga:function(a){return Math.log(a)/Math.LN2};
|
||||||
ha!=ga&&null!=ha&&aa(ba,fa,{configurable:!0,writable:!0,value:ha});
|
ha!=ga&&null!=ha&&aa(ba,fa,{configurable:!0,writable:!0,value:ha});
|
||||||
var ia={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},m={Ve:0,oc:1,Xe:2,Ye:3,Ze:4,$e:5,af:6,bf:7,Vb:8,cf:9,pc:10,df:11,ef:12,qc:13,ff:14,gf:15,hf:16,jf:17,kf:18,lf:19,mf:20,nf:21,pf:22,qf:23,rf:24,sf:25,tf:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
|
var ia={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},m={Ve:0,oc:1,Xe:2,Ye:3,Ze:4,$e:5,af:6,bf:7,Xb:8,cf:9,pc:10,df:11,ef:12,qc:13,ff:14,gf:15,hf:16,jf:17,kf:18,lf:19,mf:20,nf:21,pf:22,qf:23,rf:24,sf:25,tf:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
|
||||||
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Tb:65,Ue:66,We:67,uf:68,E:69,vf:70,wf:71,xf:72,yf:73,zf:74,Af:75,Bf:76,Cf:77,Df:78,Ef:79,Ff:80,Q:81,Gf:82,Hf:83,If:84,Jf:85,Kf:86,Lf:87,Mf:88,Nf:89,Ac:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Of:97,Pf:98,Qf:99,d:100,e:101,Sf:102,Tf:103,Uf:104,Vf:105,Yf:106,k:107,Zf:108,$f:109,n:110,ag:111,p:112,q:113,r:114,bg:115,t:116,cg:117,dg:118,eg:119,x:120,y:121,z:122,"{":123,
|
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Vb:65,Ue:66,We:67,uf:68,E:69,vf:70,wf:71,xf:72,yf:73,zf:74,Af:75,Bf:76,Cf:77,Df:78,Ef:79,Ff:80,Q:81,Gf:82,Hf:83,If:84,Jf:85,Kf:86,Lf:87,Mf:88,Nf:89,Ac:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Of:97,Pf:98,Qf:99,d:100,e:101,Sf:102,Tf:103,Uf:104,Vf:105,Yf:106,k:107,Zf:108,$f:109,n:110,ag:111,p:112,q:113,r:114,bg:115,t:116,cg:117,dg:118,eg:119,x:120,y:121,z:122,"{":123,
|
||||||
"|":124,"}":125,"~":126,rc:127};
|
"|":124,"}":125,"~":126,rc:127};
|
||||||
function q(a){var b=10,c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(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&&e&&(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 f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==
|
function q(a){var b=10,c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(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&&e&&(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 f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==
|
||||||
e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ja(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 r(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 e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
|
e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ja(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 r(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 e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
|
||||||
function t(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ka(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function la(a,b){return-1!==a.indexOf(b,a.length-b.length)}var ma={"&":"&","<":"<",">":">",'"':""","'":"'"};function na(a){return a.replace(/[&<>"']/g,function(a){return ma[a]})}
|
function t(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ka(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function la(a,b){return-1!==a.indexOf(b,a.length-b.length)}var ma={"&":"&","<":"<",">":">",'"':""","'":"'"};function na(a){return a.replace(/[&<>"']/g,function(a){return ma[a]})}
|
||||||
function oa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var pa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},qa=Date.now||function(){return+new Date};
|
function oa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var pa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},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 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 v(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
function w(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
||||||
typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");k.open("POST",a,!!c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,!!c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");k.open("POST",a,!!c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,!!c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||||
function sa(a,b){var c,d={M:null,ca:null,pa:null,oa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.pa=g.load;d.oa=g.exec;if(e=g.bytes)d.M=e;else if(e=g.words)for(d.M=Array(2*e.length),f=c=0;c<e.length;c++)d.M[f++]=e[c]&255,d.M[f++]=e[c]>>8&255;else if(e=g.data)for(d.M=Array(4*e.length),f=c=0;c<e.length;c++)d.M[f++]=e[c]&
|
function sa(a,b){var c,d={M:null,da:null,pa:null,oa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.pa=g.load;d.oa=g.exec;if(e=g.bytes)d.M=e;else if(e=g.words)for(d.M=Array(2*e.length),f=c=0;c<e.length;c++)d.M[f++]=e[c]&255,d.M[f++]=e[c]>>8&255;else if(e=g.data)for(d.M=Array(4*e.length),f=c=0;c<e.length;c++)d.M[f++]=e[c]&
|
||||||
255,d.M[f++]=e[c]>>8&255,d.M[f++]=e[c]>>16&255,d.M[f++]=e[c]>>24&255;else d.M=g;d.ca=g.symbols;d.M.length?1==d.M.length&&(w(d.M[0]),d=null):(w("Empty resource: "+a),d=null)}catch(k){w("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){w("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.M=e)}return d}
|
255,d.M[f++]=e[c]>>8&255,d.M[f++]=e[c]>>16&255,d.M[f++]=e[c]>>24&255;else d.M=g;d.da=g.symbols;d.M.length?1==d.M.length&&(x(d.M[0]),d=null):(x("Empty resource: "+a),d=null)}catch(k){x("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){x("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.M=e)}return d}
|
||||||
function ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}function w(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 ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}function x(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 za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}
|
function za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}
|
||||||
function Ca(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}var Da={init:[],show:[],exit:[]},Ea=!1,Fa=!1,Ga=!0;
|
function Ca(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}var Da={init:[],show:[],exit:[]},Ea=!1,Fa=!1,Ga=!0;
|
||||||
function Ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ia(a){Da.init.push(a)}function Ja(a){if(Ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ka(a){!Ga&&a?(Ga=!0,Ea&&La("init"),Fa&&La("show")):Ga=a}function La(a){Da[a]&&Ja(Da[a])}Ha("onload",function(){Ea=!0;Ja(Da.init)});Ha("onpageshow",function(){Fa=!0;Ja(Da.show)});
|
function Ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ia(a){Da.init.push(a)}function Ja(a){if(Ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ka(a){!Ga&&a?(Ga=!0,Ea&&La("init"),Fa&&La("show")):Ga=a}function La(a){Da[a]&&Ja(Da[a])}Ha("onload",function(){Ea=!0;Ja(Da.init)});Ha("onpageshow",function(){Fa=!0;Ja(Da.show)});
|
||||||
Ha(Ba("Opera")||Ba("iOS")?"onunload":"onbeforeunload",function(){Ja(Da.exit)});function x(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Zb=b.comment;this.Oc=b;b=this.id.indexOf(".");0>b?this.ya=this.id:(this.za=this.id.substr(0,b),this.ya=this.id.substr(b+1));this[a]=c;this.o={ready:!1,Ha:!1,Ib:!1,P:!1,error:!1};this.vb=null;this.o.error=!1;this.l={};this.G=null;this.Mc=d||0;y.push(this)}var Ma=void 0,Na={};
|
Ha(Ba("Opera")||Ba("iOS")?"onunload":"onbeforeunload",function(){Ja(Da.exit)});function y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ac=b.comment;this.Oc=b;b=this.id.indexOf(".");0>b?this.Aa=this.id:(this.Ba=this.id.substr(0,b),this.Aa=this.id.substr(b+1));this[a]=c;this.o={ready:!1,Ia:!1,Ib:!1,P:!1,error:!1};this.yb=null;this.o.error=!1;this.l={};this.G=null;this.Mc=d||0;z.push(this)}var Ma=void 0,Na={};
|
||||||
if(window){Ma||(Ma=window.location.search.substr(1));for(var Oa,Pa=/\+/g,Qa=/([^&=]+)=?([^&]*)/g;Oa=Qa.exec(Ma);)Na[decodeURIComponent(Oa[1].replace(Pa," "))]=decodeURIComponent(Oa[2].replace(Pa," "))}function Ra(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){Ma||(Ma=window.location.search.substr(1));for(var Oa,Pa=/\+/g,Qa=/([^&=]+)=?([^&]*)/g;Oa=Qa.exec(Ma);)Na[decodeURIComponent(Oa[1].replace(Pa," "))]=decodeURIComponent(Oa[2].replace(Pa," "))}function Ra(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 z(a,b){b||(b=x);a.prototype=Ra(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Sa=window.PCjs.Machines||(window.PCjs.Machines={}),y=window.PCjs.Components||(window.PCjs.Components=[])}else Sa={},y=[];function Ta(a,b,c){Sa[a]&&b&&(Sa[a][b]=c)}function B(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<y.length;b++){var d=y[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
function B(a,b){b||(b=y);a.prototype=Ra(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Sa=window.PCjs.Machines||(window.PCjs.Machines={}),z=window.PCjs.Components||(window.PCjs.Components=[])}else Sa={},z=[];function Ta(a,b,c){Sa[a]&&b&&(Sa[a][b]=c)}function C(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<z.length;b++){var d=z[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||||
function Ua(a){if(void 0!==a){var b;for(b=0;b<y.length;b++)if(y[b].id===a)return y[b]}return null}function Va(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<y.length;d++)if(c)c==y[d]&&(c=null);else if(!(a!=y[d].type||b&&y[d].id.indexOf(b)))return y[d]}return null}function C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}
|
function Ua(a){if(void 0!==a){var b;for(b=0;b<z.length;b++)if(z[b].id===a)return z[b]}return null}function Va(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<z.length;d++)if(c)c==z[d]&&(c=null);else if(!(a!=z[d].type||b&&z[d].id.indexOf(b)))return z[d]}return null}function D(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b}
|
||||||
function D(a,b){b=E(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=C(f))&&g.binding&&a.aa(g.type,g.binding,f,g.value),l=k.length}}}}
|
function E(a,b){b=F(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=D(f))&&g.binding&&a.ba(g.type,g.binding,f,g.value),l=k.length}}}}
|
||||||
function E(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
function F(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||||
x.prototype={constructor:x,parent:null,toString:function(){return this.name?this.name:this.id||this.type},aa:function(a,b,c){switch(b){case "clear":return this.l[b]||(this.l[b]=c,c.onclick=function(a){return function(){a.l.print&&(a.l.print.value="")}}(this)),!0;case "print":return this.l[b]||(this.gb=this.l[b]=c,c.value="",this.V=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
y.prototype={constructor:y,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ba:function(a,b,c){switch(b){case "clear":return this.l[b]||(this.l[b]=c,c.onclick=function(a){return function(){a.l.print&&(a.l.print.value="")}}(this)),!0;case "print":return this.l[b]||(this.kb=this.l[b]=c,c.value="",this.W=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||||
this.C=function(a){this.V(a,this.ya)}),!0;default:return!1}},log:function(){},V:function(){},status:function(a){this.V(this.ya+": "+a)},C:function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)},ka:function(){return this.o.P=!0},ja:function(a,b){b&&(this.o.P=!1);return!0}};function Wa(a,b){a.o.Ib?(a.o.Ha=!1,a.o.Ib=!1):a.o.error?a.V(a.toString()+" error"):a.o.Ha=b}function G(a,b){a.o.error||(a.o.ready=!1!==b,a.o.ready&&(b=a.vb,a.vb=null,b&&b()))}
|
this.C=function(a){this.W(a,this.Aa)}),!0;default:return!1}},log:function(){},W:function(){},status:function(a){this.W(this.Aa+": "+a)},C:function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)},ka:function(){return this.o.P=!0},ja:function(a,b){b&&(this.o.P=!1);return!0}};function Wa(a,b){a.o.Ib?(a.o.Ia=!1,a.o.Ib=!1):a.o.error?a.W(a.toString()+" error"):a.o.Ia=b}function G(a,b){a.o.error||(a.o.ready=!1!==b,a.o.ready&&(b=a.yb,a.yb=null,b&&b()))}
|
||||||
function Xa(a,b){b&&(a.o.ready?b():a.vb=b);return a.o.ready}function Ya(a,b){a.o.error=!0;a.C(b)}Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
function Xa(a,b){b&&(a.o.ready?b():a.yb=b);return a.o.ready}function Ya(a,b){a.o.error=!0;a.C(b)}Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
||||||
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});var Za="undefined"!==typeof ArrayBuffer,$a={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"};
|
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});var Za="undefined"!==typeof ArrayBuffer,$a={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"};
|
||||||
function ab(a){x.call(this,"Panel",a,ab,512);this.la=this.i=this.c=this.j=this.s=this.u=0;this.A=this.B=this.w=!1;this.F=bb;this.f={};this.b={START:[1,1,!0,!1,this.Vc],STEP:[1,1,!1,!1,this.Wc],ENABLE:[1,1,!1,!1,this.Rc],CONT:[1,1,!0,!1,this.Pc],DEP:[0,0,!0,!1,this.Qc],EXAM:[1,1,!0,!1,this.Sc],LOAD:[1,1,!0,!1,this.Uc],TEST:[0,0,!0,!1,this.Tc]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Xc,a]}z(ab);var bb=7;function cb(a,b){return a.b[b]&&a.b[b][1]}h=ab.prototype;h.reset=function(){this.stop()};
|
function ab(a){y.call(this,"Panel",a,ab,512);this.la=this.i=this.c=this.j=this.s=this.u=0;this.w=this.B=this.A=!1;this.F=bb;this.f={};this.b={START:[1,1,!0,!1,this.Vc],STEP:[1,1,!1,!1,this.Wc],ENABLE:[1,1,!1,!1,this.Rc],CONT:[1,1,!0,!1,this.Pc],DEP:[0,0,!0,!1,this.Qc],EXAM:[1,1,!0,!1,this.Sc],LOAD:[1,1,!0,!1,this.Uc],TEST:[0,0,!0,!1,this.Tc]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Xc,a]}B(ab);var bb=7;function cb(a,b){return a.b[b]&&a.b[b][1]}h=ab.prototype;h.reset=function(){this.stop()};
|
||||||
h.aa=function(a,b,c,d){if(this.m&&this.m.aa(a,b,c,d)||this.a&&this.a.aa(a,b,c,d))return!0;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":return this.l[b]=c,this.u++,!0;default:return"led"==a||"rled"==a?(this.l[b]=c,this.f[b]=d?1:0,this.u++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.l[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){db(a,
|
h.ba=function(a,b,c,d){if(this.m&&this.m.ba(a,b,c,d)||this.a&&this.a.ba(a,b,c,d))return!0;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":return this.l[b]=c,this.u++,!0;default:return"led"==a||"rled"==a?(this.l[b]=c,this.f[b]=d?1:0,this.u++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.l[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){db(a,
|
||||||
b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){eb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){db(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){eb(a,b)}}(this,b),!0):this.parent.aa.call(this,a,b,c,d)}};h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;fb(b,this,gb);hb(b,this.reset.bind(this));ib(this);jb(this)};h.ka=function(a,b){b||(kb(),this.reset());return!0};h.ja=function(){return!0};
|
b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){eb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){db(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){eb(a,b)}}(this,b),!0):this.parent.ba.call(this,a,b,c,d)}};h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;fb(b,this,gb);hb(b,this.reset.bind(this));ib(this);jb(this)};h.ka=function(a,b){b||(kb(),this.reset());return!0};h.ja=function(){return!0};
|
||||||
function lb(a,b,c){if(a=a.l[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ib(a,b){for(var c in a.f)lb(a,c,null!=b?b:a.f[c])}function mb(a,b,c){if(a=a.l[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function jb(a){for(var b in a.b)mb(a,b,a.b[b][1])}function nb(a,b,c,d){a.l[b]&&(void 0===c&&(Ya(a,"Value for "+b+" is invalid"),H(a.a)),c=8==(a.G&&a.G.b||8)?ja(c,d):r(c,d),a.l[b].textContent!=c&&(a.l[b].textContent=c))}
|
function lb(a,b,c){if(a=a.l[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ib(a,b){for(var c in a.f)lb(a,c,null!=b?b:a.f[c])}function mb(a,b,c){if(a=a.l[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function jb(a){for(var b in a.b)mb(a,b,a.b[b][1])}function nb(a,b,c,d){a.l[b]&&(void 0===c&&(Ya(a,"Value for "+b+" is invalid"),H(a.a)),c=8==(a.G&&a.G.b||8)?ja(c,d):r(c,d),a.l[b].textContent!=c&&(a.l[b].textContent=c))}
|
||||||
function db(a,b){var c=a.b[b];mb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.A="DEP"==b,a.B="EXAM"==b)}function eb(a,b){var c=a.b[b];c[2]&&c[3]&&(mb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Vc=function(a){a||this.a.o.S||(a=this.a,a.h.reset(),ob(a),cb(this,"ENABLE")&&pb(this.a))};h.Wc=function(){};h.Rc=function(a){a||H(this.a)};
|
function db(a,b){var c=a.b[b];mb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.w="DEP"==b,a.B="EXAM"==b)}function eb(a,b){var c=a.b[b];c[2]&&c[3]&&(mb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Vc=function(a){a||this.a.o.S||(a=this.a,a.h.reset(),ob(a),cb(this,"ENABLE")&&pb(this.a))};h.Wc=function(){};h.Rc=function(a){a||H(this.a)};
|
||||||
h.Pc=function(a){if(!a&&!this.a.o.S)if(cb(this,"ENABLE"))pb(this.a);else{a=this.G;var b;if(b=a)a.o.Ha&&(a.o.Ib=!0),b=!a.o.Ha;if(b)Wa(a,!0),a.yb(0,null),Wa(a,!1);else try{var c=this.a.yb(1);0<c&&(qb(this.a,c),rb(this.a,c,!0),sb(this.a,c))}catch(d){"number"!=typeof d&&Ya(this.a,d.stack||d.message)}this.stop();this.m&&this.m.xa()}};h.Qc=function(a){if(a&&!this.a.o.S)if(this.A&&tb(this),a=ub(this,this.c),this.F==bb)vb(this.h,this.la,a);else{var b=this.a,c=this.la;b.Oa++;b.nc(wb(b,c,4),a);b.Oa--}};
|
h.Pc=function(a){if(!a&&!this.a.o.S)if(cb(this,"ENABLE"))pb(this.a);else{a=this.G;var b;if(b=a)a.o.Ia&&(a.o.Ib=!0),b=!a.o.Ia;if(b)Wa(a,!0),a.Ab(0,null),Wa(a,!1);else try{var c=this.a.Ab(1);0<c&&(qb(this.a,c),rb(this.a,c,!0),sb(this.a,c))}catch(d){"number"!=typeof d&&Ya(this.a,d.stack||d.message)}this.stop();this.m&&this.m.za()}};h.Qc=function(a){if(a&&!this.a.o.S)if(this.w&&tb(this),a=ub(this,this.c),this.F==bb)vb(this.h,this.la,a);else{var b=this.a,c=this.la;b.Ra++;b.nc(wb(b,c,4),a);b.Ra--}};
|
||||||
h.Sc=function(a){if(!a&&!this.a.o.S){this.B&&tb(this);if(this.F==bb)a=xb(this.h,this.la);else{a=this.a;var b=this.la;a.Oa++;b=a.hc(wb(a,b,2));a.Oa--;a=b}ub(this,a)}};h.Uc=function(a){a||this.a.o.S||yb(this,this.c)};h.Tc=function(a){if(a)this.w=!0,ib(this,!0);else if(this.w=!1,ib(this),void 0!==this.l.S0){for(a=this.c=0;22>a;a++)this.b["S"+a][1]=0&1<<a?1:0;jb(this)}};h.Xc=function(a,b){this.c=a?this.c|1<<b:this.c&~(1<<b)};
|
h.Sc=function(a){if(!a&&!this.a.o.S){this.B&&tb(this);if(this.F==bb)a=xb(this.h,this.la);else{a=this.a;var b=this.la;a.Ra++;b=a.jc(wb(a,b,2));a.Ra--;a=b}ub(this,a)}};h.Uc=function(a){a||this.a.o.S||yb(this,this.c)};h.Tc=function(a){if(a)this.A=!0,ib(this,!0);else if(this.A=!1,ib(this),void 0!==this.l.S0){for(a=this.c=0;22>a;a++)this.b["S"+a][1]=0&1<<a?1:0;jb(this)}};h.Xc=function(a,b){this.c=a?this.c|1<<b:this.c&~(1<<b)};
|
||||||
function tb(a){var b=1145>a.a.Sa?8:16,c=65472<=a.la&&a.la<65472+b,b=c?1:2,c=c?15:a.h.Da;cb(a,"STEP")||(b=-b);yb(a,a.la&~c|a.la+b&c)}function yb(a,b){a.la=b&a.h.Da;b=a.la;for(var c=0;22>c;c++)zb(a,"A"+c,b&1<<c)}function ub(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)zb(a,"D"+c,b&1<<c);return a.i}function zb(a,b,c){a.f[b]=c;a.w||lb(a,b,c)}h.stop=function(){yb(this,this.a.g[7])};h.setData=function(a,b){b?this.j=a:this.i=a};h.Yc=function(a,b){return(b?this.j:this.c)&65535};h.Zd=function(a){this.j=a};
|
function tb(a){var b=1145>a.a.Va?8:16,c=65472<=a.la&&a.la<65472+b,b=c?1:2,c=c?15:a.h.Ea;cb(a,"STEP")||(b=-b);yb(a,a.la&~c|a.la+b&c)}function yb(a,b){a.la=b&a.h.Ea;b=a.la;for(var c=0;22>c;c++)zb(a,"A"+c,b&1<<c)}function ub(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)zb(a,"D"+c,b&1<<c);return a.i}function zb(a,b,c){a.f[b]=c;a.A||lb(a,b,c)}h.stop=function(){yb(this,this.a.g[7])};h.setData=function(a,b){b?this.j=a:this.i=a};h.Yc=function(a,b){return(b?this.j:this.c)&65535};h.Zd=function(a){this.j=a};
|
||||||
var Ab={},gb=(Ab[65400]=[null,null,ab.prototype.Yc,ab.prototype.Zd,"CNSW"],Ab);function kb(){for(var a=!1,b=E(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=C(d),f=Ua(e.id);f||(a=!0,f=new ab(e));D(f,d);a&&G(f)}}Ia(kb);
|
var Ab={},gb=(Ab[65400]=[null,null,ab.prototype.Yc,ab.prototype.Zd,"CNSW"],Ab);function kb(){for(var a=!1,b=F(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=D(d),f=Ua(e.id);f||(a=!0,f=new ab(e));E(f,d);a&&G(f)}}Ia(kb);
|
||||||
function Bb(a,b,c){x.call(this,"Bus",a,Bb,16);this.a=b;this.G=c;this.L=a.busWidth||16;this.w=1<<this.L;this.Da=this.w-1;this.c=Cb;this.b=Math.log2(this.c);this.I=this.c>>2;this.m=this.c-1;this.u=this.w/this.c|0;this.Ca=[];this.j=0;this.s=!1;this.A=[];this.Bc=[Db,Eb,Fb,Gb];a=new I(this);Hb(a,this.G);this.h=Array(this.u);this.f=Array(this.u);for(b=0;b<this.u;b++)this.h[b]=this.f[b]=a;a=this.w-Cb;Ib(this,a,Cb,Jb,this);this.H=this.F=(a&this.Da)>>>this.b;this.B=0;this.i=this.Da;G(this)}z(Bb);
|
function Bb(a,b,c){y.call(this,"Bus",a,Bb,16);this.a=b;this.G=c;this.L=a.busWidth||16;this.A=1<<this.L;this.Ea=this.A-1;this.c=Cb;this.b=Math.log2(this.c);this.J=this.c>>2;this.m=this.c-1;this.u=this.A/this.c|0;this.Da=[];this.j=0;this.s=!1;this.w=[];this.Bc=[Db,Eb,Fb,Gb];a=new I(this);Hb(a,this.G);this.h=Array(this.u);this.f=Array(this.u);for(b=0;b<this.u;b++)this.h[b]=this.f[b]=a;a=this.A-Cb;Ib(this,a,Cb,Jb,this);this.I=this.F=(a&this.Ea)>>>this.b;this.B=0;this.i=this.Ea;G(this)}B(Bb);
|
||||||
var Cb=8192,Kb=Cb-1;function Db(a,b){var c=-1,d=this.controller,e=d.Ca[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ca[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;J(d,b,16);return 255}
|
var Cb=8192,Kb=Cb-1;function Db(a,b){var c=-1,d=this.controller,e=d.Da[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Da[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;J(d,b,16);return 255}
|
||||||
function Eb(a,b,c){var d=!1,e=this.controller,f=e.Ca[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ca[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||J(e,c,16)}function Fb(a,b){var c=-1,d=this.controller;a=d.Ca[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;J(d,b,16);return 65535}
|
function Eb(a,b,c){var d=!1,e=this.controller,f=e.Da[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Da[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||J(e,c,16)}function Fb(a,b){var c=-1,d=this.controller;a=d.Da[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;J(d,b,16);return 65535}
|
||||||
function Gb(a,b,c){var d=!1,e=this.controller;a=e.Ca[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||J(e,c,16)}function Lb(a,b){if(b!=a.B){for(var c=0;c<a.u;c++)a.f[c]=a.h[c];a.B=0;a.i=a.Da;b&&(a.B=b,b=1<<b,a.i=b-1,b-=Cb,a.H=(b&a.i)>>>a.b,a.f[a.H]=a.h[a.F])}}Bb.prototype.reset=function(){for(var a=0;a<this.A.length;a++)this.A[a]();Lb(this,16)};Bb.prototype.ka=function(a,b){b||this.reset();return!0};
|
function Gb(a,b,c){var d=!1,e=this.controller;a=e.Da[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||J(e,c,16)}function Lb(a,b){if(b!=a.B){for(var c=0;c<a.u;c++)a.f[c]=a.h[c];a.B=0;a.i=a.Ea;b&&(a.B=b,b=1<<b,a.i=b-1,b-=Cb,a.I=(b&a.i)>>>a.b,a.f[a.I]=a.h[a.F])}}Bb.prototype.reset=function(){for(var a=0;a<this.w.length;a++)this.w[a]();Lb(this,16)};Bb.prototype.ka=function(a,b){b||this.reset();return!0};
|
||||||
function Ib(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.b;0<g&&k<a.h.length;){var l=a.h[k],n=k*a.c,p=a.c-(f-n);p>g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Ga)return l.kb+=l.Ga-f,l.Ga=f,!0;if(f>=l.Ga+l.kb){p=l.size-(f-n);p>g&&(p=g);l.kb=f-l.Ga+p;f=n+a.c;g-=p;k++;continue}}return Mb(1,f,g)}f=new I(a,f,p,a.c,d,e);Hb(f,a.G,l);a.h[k++]=f;f=n+a.c;g-=p}return 0>=g?(a.status((c>>10)+"Kb "+Nb[d]+" at "+ja(b)),!0):Mb(2,b,c)}function Ob(a,b){return a.f[(b&a.i)>>>a.b].Nb(b&a.m,b)}
|
function Ib(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.b;0<g&&k<a.h.length;){var l=a.h[k],n=k*a.c,p=a.c-(f-n);p>g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Ha)return l.nb+=l.Ha-f,l.Ha=f,!0;if(f>=l.Ha+l.nb){p=l.size-(f-n);p>g&&(p=g);l.nb=f-l.Ha+p;f=n+a.c;g-=p;k++;continue}}return Mb(1,f,g)}f=new I(a,f,p,a.c,d,e);Hb(f,a.G,l);a.h[k++]=f;f=n+a.c;g-=p}return 0>=g?(a.status((c>>10)+"Kb "+Nb[d]+" at "+ja(b)),!0):Mb(2,b,c)}function Ob(a,b){return a.f[(b&a.i)>>>a.b].Nb(b&a.m,b)}
|
||||||
function Pb(a,b){return a.f[(b&a.i)>>>a.b].X(b&a.m,b)}function Qb(a,b,c){a.f[(b&a.i)>>>a.b].Ab(b&a.m,c,b)}function xb(a,b){a.s=!1;a.j++;b=a.h[(b&a.Da)>>>a.b].gc(b&a.m,b);a.j--;return b}function Rb(a,b,c){a.s=!1;a.j++;a.h[(b&a.Da)>>>a.b].Sb(b&a.m,c&255,b);a.j--}function vb(a,b,c){a.s=!1;a.j++;a.h[(b&a.Da)>>>a.b].mc(b&a.m,c&65535,b);a.j--}
|
function Pb(a,b){return a.f[(b&a.i)>>>a.b].aa(b&a.m,b)}function Qb(a,b,c){a.f[(b&a.i)>>>a.b].Cb(b&a.m,c,b)}function xb(a,b){a.s=!1;a.j++;b=a.h[(b&a.Ea)>>>a.b].ic(b&a.m,b);a.j--;return b}function Rb(a,b,c){a.s=!1;a.j++;a.h[(b&a.Ea)>>>a.b].Ub(b&a.m,c&255,b);a.j--}function vb(a,b,c){a.s=!1;a.j++;a.h[(b&a.Ea)>>>a.b].mc(b&a.m,c&65535,b);a.j--}
|
||||||
function Sb(a){for(var b=0,c=[],d=0;d<a.u;d++){var e=a.h[d];if(e.va||e.Hc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;l[k++]=p-g;l[k++]=n;g=p}l.length<e.length&&(e=l)}c[f]=e}}return c}function Tb(a){for(var b=Ub,c=0,d=0;d<a.h.length;d++){var e=a.h[d];e.type==b&&(c=e.Ga+e.kb)}return c}
|
function Sb(a){for(var b=0,c=[],d=0;d<a.u;d++){var e=a.h[d];if(e.wa||e.Hc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;l[k++]=p-g;l[k++]=n;g=p}l.length<e.length&&(e=l)}c[f]=e}}return c}function Tb(a){for(var b=Ub,c=0,d=0;d<a.h.length;d++){var e=a.h[d];e.type==b&&(c=e.Ha+e.nb)}return c}
|
||||||
function Vb(a,b,c,d,e,f,g,k,l){for(;b<=c;b+=2){var n=b&Kb;if(void 0!==a.Ca[n])return w("I/O address already registered: "+r(b,8,!0)),!1;a.Ca[n]=[d,e,f,g,l||"unknown",k||16,!1]}return!0}
|
function Vb(a,b,c,d,e,f,g,k,l){for(;b<=c;b+=2){var n=b&Kb;if(void 0!==a.Da[n])return x("I/O address already registered: "+r(b,8,!0)),!1;a.Da[n]=[d,e,f,g,l||"unknown",k||16,!1]}return!0}
|
||||||
function fb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.a.Sa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,n=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&n&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var u=g[4],A=g[5]||1,F=0;F<A;F++,f+=2)if(u&&1<A&&(u=g[4]+F),!Vb(a,f,f,k,l,n,p,g[7]||b.Mc,u||b.ya))return!1}}return!0}
|
function fb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.a.Va)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,n=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&n&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var u=g[4],v=g[5]||1,A=0;A<v;A++,f+=2)if(u&&1<v&&(u=g[4]+A),!Vb(a,f,f,k,l,n,p,g[7]||b.Mc,u||b.Aa))return!1}}return!0}
|
||||||
function hb(a,b){a.A.push(b)}function J(a,b,c){a.s=!0;a.j||(c&&(a.a.Y|=c),K(a.a,4,0,b))}function Wb(a){var b=a.s;a.s=!1;return b}function Mb(a,b,c){w("Memory block error ("+a+": "+r(b)+","+r(c)+")");return!1}function L(a){x.call(this,"Device",a,L,256);this.b={Rf:0,Qb:-1}}z(L);h=L.prototype;
|
function hb(a,b){a.w.push(b)}function J(a,b,c){a.s=!0;a.j||(c&&(a.a.X|=c),K(a.a,4,0,b))}function Wb(a){var b=a.s;a.s=!1;return b}function Mb(a,b,c){x("Memory block error ("+a+": "+r(b)+","+r(c)+")");return!1}function L(a){y.call(this,"Device",a,L,256);this.b={Rf:0,Sb:-1}}B(L);h=L.prototype;
|
||||||
h.ia=function(a,b,c,d){this.h=b;this.m=a;this.a=c;this.G=d;var e=this;this.b.Qb=Xb(c,function(){e.b.Ra|=128;e.b.Ra&64&&M(e.a,e.b.Qa);e.m&&e.m.xa(1);Yb(e.a,e.b.Qb,1E3/60)});this.b.Qa=Zb(c,64,6,524288);fb(b,this,$b);hb(b,this.reset.bind(this));G(this)};h.reset=function(){this.b.Ra=128;Yb(this.a,this.b.Qb,1E3/60,!0)};h.ed=function(){return this.b.Ra};h.fe=function(a){this.b.Ra=a&192;this.b.Ra&64||bc(this.a,this.b.Qa)};h.gd=function(){var a=this.a,b=a.Z;b&57344||(b=b&-3199|a.lb<<5|a.mb<<1);return b};
|
h.ia=function(a,b,c,d){this.h=b;this.m=a;this.a=c;this.G=d;var e=this;this.b.Sb=Xb(c,function(){e.b.Ua|=128;e.b.Ua&64&&M(e.a,e.b.Ta);e.m&&e.m.za(1);Yb(e.a,e.b.Sb,1E3/60)});this.b.Ta=Zb(c,64,6,524288);fb(b,this,$b);hb(b,this.reset.bind(this));G(this)};h.reset=function(){this.b.Ua=128;Yb(this.a,this.b.Sb,1E3/60,!0)};h.ed=function(){return this.b.Ua};h.fe=function(a){this.b.Ua=a&192;this.b.Ua&64||bc(this.a,this.b.Ta)};h.gd=function(){var a=this.a,b=a.Y;b&57344||(b=b&-3199|a.cb<<5|a.eb<<1);return b};
|
||||||
h.he=function(a){cc(this.a,a&-129|this.a.Z&128)};h.hd=function(){var a=this.a;a.Z&57344||(a.Jb=a.A>>16&65535);a=a.Jb;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.jd=function(){var a=this.a;a.Z&57344||(a.Kb=a.A&65535);return a.Kb};h.kd=function(){return this.a.Ea};h.ie=function(a){var b=this.a;1170>b.Sa&&(a&=-49);b.Ea!=a&&(b.Ea=a,b.Za=a&16?4194303:262143,dc(b))};h.Sd=function(a){a=a>>1&63;var b=this.a.jb[a>>1];return a&1?b>>16:b&65535};
|
h.he=function(a){cc(this.a,a&-129|this.a.Y&128)};h.hd=function(){var a=this.a;a.Y&57344||(a.ub=a.w>>16&65535);a=a.ub;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.jd=function(){var a=this.a;a.Y&57344||(a.vb=a.w&65535);return a.vb};h.kd=function(){return this.a.ya};h.ie=function(a){var b=this.a;1170>b.Va&&(a&=-49);b.ya!=a&&(b.ya=a,b.Pa=a&16?4194303:262143,dc(b))};h.Sd=function(a){a=a>>1&63;var b=this.a.$a[a>>1];return a&1?b>>16:b&65535};
|
||||||
h.Qe=function(a,b){b=b>>1&63;var c=b>>1;this.a.jb[c]=b&1?this.a.jb[c]&65535|(a&63)<<16:this.a.jb[c]&-65536|a&65534};h.Ld=function(a){return this.a.J[1][a>>1&7]};h.Je=function(a,b){this.a.J[1][b>>1&7]=a&65295};h.Jd=function(a){return this.a.J[1][(a>>1&7)+8]};h.He=function(a,b){this.a.J[1][(b>>1&7)+8]=a&65295};h.Kd=function(a){return this.a.da[1][a>>1&7]};h.Ie=function(a,b){b=b>>1&7;this.a.da[1][b]=a;this.a.J[1][b]&=65295};h.Id=function(a){return this.a.da[1][(a>>1&7)+8]};
|
h.Qe=function(a,b){b=b>>1&63;var c=b>>1;this.a.$a[c]=b&1?this.a.$a[c]&65535|(a&63)<<16:this.a.$a[c]&-65536|a&65534};h.Ld=function(a){return this.a.H[1][a>>1&7]};h.Je=function(a,b){this.a.H[1][b>>1&7]=a&65295};h.Jd=function(a){return this.a.H[1][(a>>1&7)+8]};h.He=function(a,b){this.a.H[1][(b>>1&7)+8]=a&65295};h.Kd=function(a){return this.a.Z[1][a>>1&7]};h.Ie=function(a,b){b=b>>1&7;this.a.Z[1][b]=a;this.a.H[1][b]&=65295};h.Id=function(a){return this.a.Z[1][(a>>1&7)+8]};
|
||||||
h.Ge=function(a,b){b=(b>>1&7)+8;this.a.da[1][b]=a;this.a.J[1][b]&=65295};h.dd=function(a){return this.a.J[0][a>>1&7]};h.ee=function(a,b){this.a.J[0][b>>1&7]=a&65295};h.bd=function(a){return this.a.J[0][(a>>1&7)+8]};h.ce=function(a,b){this.a.J[0][(b>>1&7)+8]=a&65295};h.cd=function(a){return this.a.da[0][a>>1&7]};h.de=function(a,b){b=b>>1&7;this.a.da[0][b]=a;this.a.J[0][b]&=65295};h.ad=function(a){return this.a.da[0][(a>>1&7)+8]};h.be=function(a,b){b=(b>>1&7)+8;this.a.da[0][b]=a;this.a.J[0][b]&=65295};
|
h.Ge=function(a,b){b=(b>>1&7)+8;this.a.Z[1][b]=a;this.a.H[1][b]&=65295};h.dd=function(a){return this.a.H[0][a>>1&7]};h.ee=function(a,b){this.a.H[0][b>>1&7]=a&65295};h.bd=function(a){return this.a.H[0][(a>>1&7)+8]};h.ce=function(a,b){this.a.H[0][(b>>1&7)+8]=a&65295};h.cd=function(a){return this.a.Z[0][a>>1&7]};h.de=function(a,b){b=b>>1&7;this.a.Z[0][b]=a;this.a.H[0][b]&=65295};h.ad=function(a){return this.a.Z[0][(a>>1&7)+8]};h.be=function(a,b){b=(b>>1&7)+8;this.a.Z[0][b]=a;this.a.H[0][b]&=65295};
|
||||||
h.Rd=function(a){return this.a.J[3][a>>1&7]};h.Pe=function(a,b){this.a.J[3][b>>1&7]=a&65295};h.Pd=function(a){return this.a.J[3][(a>>1&7)+8]};h.Ne=function(a,b){this.a.J[3][(b>>1&7)+8]=a&65295};h.Qd=function(a){return this.a.da[3][a>>1&7]};h.Oe=function(a,b){b=b>>1&7;this.a.da[3][b]=a;this.a.J[3][b]&=65295};h.Od=function(a){return this.a.da[3][(a>>1&7)+8]};h.Me=function(a,b){b=(b>>1&7)+8;this.a.da[3][b]=a;this.a.J[3][b]&=65295};h.Ua=function(a){a&=7;return this.a.D&2048?this.a.La[a]:this.a.g[a]};
|
h.Rd=function(a){return this.a.H[3][a>>1&7]};h.Pe=function(a,b){this.a.H[3][b>>1&7]=a&65295};h.Pd=function(a){return this.a.H[3][(a>>1&7)+8]};h.Ne=function(a,b){this.a.H[3][(b>>1&7)+8]=a&65295};h.Qd=function(a){return this.a.Z[3][a>>1&7]};h.Oe=function(a,b){b=b>>1&7;this.a.Z[3][b]=a;this.a.H[3][b]&=65295};h.Od=function(a){return this.a.Z[3][(a>>1&7)+8]};h.Me=function(a,b){b=(b>>1&7)+8;this.a.Z[3][b]=a;this.a.H[3][b]&=65295};h.Xa=function(a){a&=7;return this.a.D&2048?this.a.Fa[a]:this.a.g[a]};
|
||||||
h.Wa=function(a,b){b&=7;this.a.D&2048?this.a.La[b]=a:this.a.g[b]=a};h.pd=function(){return this.a.D&49152?this.a.ta[0]:this.a.g[6]};h.ne=function(a){this.a.D&49152?this.a.ta[0]=a:this.a.g[6]=a};h.sd=function(){return this.a.g[7]};h.qe=function(a){this.a.g[7]=a};h.Va=function(a){a&=7;return this.a.D&2048?this.a.g[a]:this.a.La[a]};h.Xa=function(a,b){b&=7;this.a.D&2048?this.a.g[b]=a:this.a.La[b]=a};h.qd=function(){return 1==(this.a.D&49152)>>14?this.a.g[6]:this.a.ta[1]};
|
h.ab=function(a,b){b&=7;this.a.D&2048?this.a.Fa[b]=a:this.a.g[b]=a};h.pd=function(){return this.a.D&49152?this.a.qa[0]:this.a.g[6]};h.ne=function(a){this.a.D&49152?this.a.qa[0]=a:this.a.g[6]=a};h.sd=function(){return this.a.g[7]};h.qe=function(a){this.a.g[7]=a};h.Ya=function(a){a&=7;return this.a.D&2048?this.a.g[a]:this.a.Fa[a]};h.bb=function(a,b){b&=7;this.a.D&2048?this.a.g[b]=a:this.a.Fa[b]=a};h.qd=function(){return 1==(this.a.D&49152)>>14?this.a.g[6]:this.a.qa[1]};
|
||||||
h.oe=function(a){1==(this.a.D&49152)>>14?this.a.g[6]=a:this.a.ta[1]=a};h.rd=function(){return 3==(this.a.D&49152)>>14?this.a.g[6]:this.a.ta[3]};h.pe=function(a){3==(this.a.D&49152)>>14?this.a.g[6]=a:this.a.ta[3]=a};h.$c=function(a){return this.a.jc[a-65504>>1]};h.ae=function(a,b){this.a.jc[b-65504>>1]=a};h.fc=function(a){return 65520==a?(Tb(this.h)>>6)-1:0};h.lc=function(){};h.Nd=function(){return 1};h.Le=function(){};h.Zc=function(){return this.a.Y};h.$d=function(){this.a.Y=0};h.fd=function(){return this.a.ic};
|
h.oe=function(a){1==(this.a.D&49152)>>14?this.a.g[6]=a:this.a.qa[1]=a};h.rd=function(){return 3==(this.a.D&49152)>>14?this.a.g[6]:this.a.qa[3]};h.pe=function(a){3==(this.a.D&49152)>>14?this.a.g[6]=a:this.a.qa[3]=a};h.$c=function(a){return this.a.Pb[a-65504>>1]};h.ae=function(a,b){this.a.Pb[b-65504>>1]=a};h.hc=function(a){return 65520==a?(Tb(this.h)>>6)-1:0};h.lc=function(){};h.Nd=function(){return 1};h.Le=function(){};h.Zc=function(){return this.a.X};h.$d=function(){this.a.X=0};h.fd=function(){return this.a.Ob};
|
||||||
h.ge=function(a,b){b&1||(a&=255);this.a.ic=a};h.ld=function(a,b){return b?0:this.a.xb};h.je=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.v|=1}b.xb=a};h.Md=function(a,b){return b?0:this.a.ib&65280};h.Ke=function(a){this.a.ib=a|255};h.od=function(){return ec(this.a)};h.me=function(a){fc(this.a,a&-1793|ec(this.a)&1792)};h.kc=function(){};
|
h.ge=function(a,b){b&1||(a&=255);this.a.Ob=a};h.ld=function(a,b){return b?0:this.a.mb};h.je=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.v|=1}b.mb=a};h.Md=function(a,b){return b?0:this.a.Za&65280};h.Ke=function(a){this.a.Za=a|255};h.od=function(){return ec(this.a)};h.me=function(a){fc(this.a,a&-1793|ec(this.a)&1792)};h.kc=function(){};
|
||||||
var N={},$b=(N[61568]=[null,null,L.prototype.Sd,L.prototype.Qe,"UNIMAP",64,1170],N[62592]=[null,null,L.prototype.Ld,L.prototype.Je,"SIPDR",8,1145,64],N[62608]=[null,null,L.prototype.Jd,L.prototype.He,"SDPDR",8,1145,64],N[62624]=[null,null,L.prototype.Kd,L.prototype.Ie,"SIPAR",8,1145,64],N[62640]=[null,null,L.prototype.Id,L.prototype.Ge,"SDPAR",8,1145,64],N[62656]=[null,null,L.prototype.dd,L.prototype.ee,"KIPDR",8,1145,64],N[62672]=[null,null,L.prototype.bd,L.prototype.ce,"KDPDR",8,1145,64],N[62688]=
|
var N={},$b=(N[61568]=[null,null,L.prototype.Sd,L.prototype.Qe,"UNIMAP",64,1170],N[62592]=[null,null,L.prototype.Ld,L.prototype.Je,"SIPDR",8,1145,64],N[62608]=[null,null,L.prototype.Jd,L.prototype.He,"SDPDR",8,1145,64],N[62624]=[null,null,L.prototype.Kd,L.prototype.Ie,"SIPAR",8,1145,64],N[62640]=[null,null,L.prototype.Id,L.prototype.Ge,"SDPAR",8,1145,64],N[62656]=[null,null,L.prototype.dd,L.prototype.ee,"KIPDR",8,1145,64],N[62672]=[null,null,L.prototype.bd,L.prototype.ce,"KDPDR",8,1145,64],N[62688]=
|
||||||
[null,null,L.prototype.cd,L.prototype.de,"KIPAR",8,1145,64],N[62704]=[null,null,L.prototype.ad,L.prototype.be,"KDPAR",8,1145,64],N[62798]=[null,null,L.prototype.kd,L.prototype.ie,"MMR3",1,1145,64],N[65382]=[null,null,L.prototype.ed,L.prototype.fe,"LKS"],N[65402]=[null,null,L.prototype.gd,L.prototype.he,"MMR0",1,1145,64],N[65404]=[null,null,L.prototype.hd,L.prototype.kc,"MMR1",1,1145,64],N[65406]=[null,null,L.prototype.jd,L.prototype.kc,"MMR2",1,1145,64],N[65408]=[null,null,L.prototype.Rd,L.prototype.Pe,
|
[null,null,L.prototype.cd,L.prototype.de,"KIPAR",8,1145,64],N[62704]=[null,null,L.prototype.ad,L.prototype.be,"KDPAR",8,1145,64],N[62798]=[null,null,L.prototype.kd,L.prototype.ie,"MMR3",1,1145,64],N[65382]=[null,null,L.prototype.ed,L.prototype.fe,"LKS"],N[65402]=[null,null,L.prototype.gd,L.prototype.he,"MMR0",1,1145,64],N[65404]=[null,null,L.prototype.hd,L.prototype.kc,"MMR1",1,1145,64],N[65406]=[null,null,L.prototype.jd,L.prototype.kc,"MMR2",1,1145,64],N[65408]=[null,null,L.prototype.Rd,L.prototype.Pe,
|
||||||
"UIPDR",8,1145,64],N[65424]=[null,null,L.prototype.Pd,L.prototype.Ne,"UDPDR",8,1145,64],N[65440]=[null,null,L.prototype.Qd,L.prototype.Oe,"UIPAR",8,1145,64],N[65456]=[null,null,L.prototype.Od,L.prototype.Me,"UDPAR",8,1145,64],N[65472]=[null,null,L.prototype.Ua,L.prototype.Wa,"R0SET0"],N[65473]=[null,null,L.prototype.Ua,L.prototype.Wa,"R1SET0"],N[65474]=[null,null,L.prototype.Ua,L.prototype.Wa,"R2SET0"],N[65475]=[null,null,L.prototype.Ua,L.prototype.Wa,"R3SET0"],N[65476]=[null,null,L.prototype.Ua,
|
"UIPDR",8,1145,64],N[65424]=[null,null,L.prototype.Pd,L.prototype.Ne,"UDPDR",8,1145,64],N[65440]=[null,null,L.prototype.Qd,L.prototype.Oe,"UIPAR",8,1145,64],N[65456]=[null,null,L.prototype.Od,L.prototype.Me,"UDPAR",8,1145,64],N[65472]=[null,null,L.prototype.Xa,L.prototype.ab,"R0SET0"],N[65473]=[null,null,L.prototype.Xa,L.prototype.ab,"R1SET0"],N[65474]=[null,null,L.prototype.Xa,L.prototype.ab,"R2SET0"],N[65475]=[null,null,L.prototype.Xa,L.prototype.ab,"R3SET0"],N[65476]=[null,null,L.prototype.Xa,
|
||||||
L.prototype.Wa,"R4SET0"],N[65477]=[null,null,L.prototype.Ua,L.prototype.Wa,"R5SET0"],N[65478]=[null,null,L.prototype.pd,L.prototype.ne,"R6KERNEL"],N[65479]=[null,null,L.prototype.sd,L.prototype.qe,"R7KERNEL"],N[65480]=[null,null,L.prototype.Va,L.prototype.Xa,"R0SET1",1,1145],N[65481]=[null,null,L.prototype.Va,L.prototype.Xa,"R1SET1",1,1145],N[65482]=[null,null,L.prototype.Va,L.prototype.Xa,"R2SET1",1,1145],N[65483]=[null,null,L.prototype.Va,L.prototype.Xa,"R3SET1",1,1145],N[65484]=[null,null,L.prototype.Va,
|
L.prototype.ab,"R4SET0"],N[65477]=[null,null,L.prototype.Xa,L.prototype.ab,"R5SET0"],N[65478]=[null,null,L.prototype.pd,L.prototype.ne,"R6KERNEL"],N[65479]=[null,null,L.prototype.sd,L.prototype.qe,"R7KERNEL"],N[65480]=[null,null,L.prototype.Ya,L.prototype.bb,"R0SET1",1,1145],N[65481]=[null,null,L.prototype.Ya,L.prototype.bb,"R1SET1",1,1145],N[65482]=[null,null,L.prototype.Ya,L.prototype.bb,"R2SET1",1,1145],N[65483]=[null,null,L.prototype.Ya,L.prototype.bb,"R3SET1",1,1145],N[65484]=[null,null,L.prototype.Ya,
|
||||||
L.prototype.Xa,"R4SET1",1,1145],N[65485]=[null,null,L.prototype.Va,L.prototype.Xa,"R5SET1",1,1145],N[65486]=[null,null,L.prototype.qd,L.prototype.oe,"R6SUPER",1,1145],N[65487]=[null,null,L.prototype.rd,L.prototype.pe,"R6USER",1,1145],N[65504]=[null,null,L.prototype.$c,L.prototype.ae,"CTRL",8,1170],N[65520]=[null,null,L.prototype.fc,L.prototype.lc,"LSIZE",1,1170],N[65522]=[null,null,L.prototype.fc,L.prototype.lc,"HSIZE",1,1170],N[65524]=[null,null,L.prototype.Nd,L.prototype.Le,"SYSID",1,1170],N[65526]=
|
L.prototype.bb,"R4SET1",1,1145],N[65485]=[null,null,L.prototype.Ya,L.prototype.bb,"R5SET1",1,1145],N[65486]=[null,null,L.prototype.qd,L.prototype.oe,"R6SUPER",1,1145],N[65487]=[null,null,L.prototype.rd,L.prototype.pe,"R6USER",1,1145],N[65504]=[null,null,L.prototype.$c,L.prototype.ae,"CTRL",8,1170],N[65520]=[null,null,L.prototype.hc,L.prototype.lc,"LSIZE",1,1170],N[65522]=[null,null,L.prototype.hc,L.prototype.lc,"HSIZE",1,1170],N[65524]=[null,null,L.prototype.Nd,L.prototype.Le,"SYSID",1,1170],N[65526]=
|
||||||
[null,null,L.prototype.Zc,L.prototype.$d,"CPUERR",1,1170],N[65528]=[null,null,L.prototype.fd,L.prototype.ge,"MB",1,1170],N[65530]=[null,null,L.prototype.ld,L.prototype.je,"PIR"],N[65532]=[null,null,L.prototype.Md,L.prototype.Ke,"SL"],N[65534]=[null,null,L.prototype.od,L.prototype.me,"PSW"],N);
|
[null,null,L.prototype.Zc,L.prototype.$d,"CPUERR",1,1170],N[65528]=[null,null,L.prototype.fd,L.prototype.ge,"MB",1,1170],N[65530]=[null,null,L.prototype.ld,L.prototype.je,"PIR"],N[65532]=[null,null,L.prototype.Md,L.prototype.Ke,"SL"],N[65534]=[null,null,L.prototype.od,L.prototype.me,"PSW"],N);
|
||||||
Ia(function(){for(var a=E(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=C(d);switch(c.type){case "default":c=new L(c);D(c,d);break;case "pc11":c=new gc(c);D(c,d);break;case "rl11":c=new O(c);D(c,d);break;case "rk11":c=new P(c),D(c,d)}}});var hc;if(Za){var ic=new ArrayBuffer(2);(new DataView(ic)).setUint16(0,256,!0);hc=256===(new Uint16Array(ic))[0]}else hc=!1;var jc=hc;
|
Ia(function(){for(var a=F(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=D(d);switch(c.type){case "default":c=new L(c);E(c,d);break;case "pc11":c=new gc(c);E(c,d);break;case "rl11":c=new O(c);E(c,d);break;case "rk11":c=new P(c),E(c,d)}}});var hc;if(Za){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 I(a,b,c,d,e,f){this.h=a;this.id=kc+=2;this.a=null;this.Ga=b;this.kb=c;this.size=d||0;this.type=e||lc;this.m=e==mc;this.controller=null;Hb(this);this.va=this.Hc=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.a=a[0],nc(this,f.Bc);else if(Za)this.b=new ArrayBuffer(this.size),this.c=new DataView(this.b,0,this.size),this.l=new Uint8Array(this.b,0,this.size),this.s=new Uint16Array(this.b,0,this.size>>1),this.a=new Int32Array(this.b,0,this.size>>2),nc(this,jc?oc:qc);else{a=this.a=Array(this.size>>
|
function I(a,b,c,d,e,f){this.h=a;this.id=kc+=2;this.a=null;this.Ha=b;this.nb=c;this.size=d||0;this.type=e||lc;this.m=e==mc;this.controller=null;Hb(this);this.wa=this.Hc=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.a=a[0],nc(this,f.Bc);else if(Za)this.b=new ArrayBuffer(this.size),this.c=new DataView(this.b,0,this.size),this.l=new Uint8Array(this.b,0,this.size),this.s=new Uint16Array(this.b,0,this.size>>1),this.a=new Int32Array(this.b,0,this.size>>2),nc(this,jc?oc:qc);else{a=this.a=Array(this.size>>
|
||||||
2);for(f=0;f<a.length;f++)a[f]=0;nc(this,rc)}else nc(this)}var lc=0,Ub=1,mc=2,Jb=4,Nb=["NONE","RAM","ROM","VID","H/W"],kc=0;
|
2);for(f=0;f<a.length;f++)a[f]=0;nc(this,rc)}else nc(this)}var lc=0,Ub=1,mc=2,Jb=4,Nb=["NONE","RAM","ROM","VID","H/W"],kc=0;
|
||||||
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Za)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.c.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(Za)for(b=0;b<a.length;b++)this.c.setInt32(b<<2,a[b],!0);else this.a=a;return this.va=!0}return!1},u:function(a,b){J(this.h,b,32);return 255},f:function(a,b,c){J(this.h,c,32)},w:function(a,b){return this.Nb(a++,b++)|
|
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Za)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.c.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(Za)for(b=0;b<a.length;b++)this.c.setInt32(b<<2,a[b],!0);else this.a=a;return this.wa=!0}return!1},u:function(a,b){J(this.h,b,32);return 255},f:function(a,b,c){J(this.h,c,32)},A:function(a,b){return this.Nb(a++,b++)|
|
||||||
this.Nb(a,b)<<8},A:function(a,b,c){this.zb(a++,b&255,c++);this.zb(a,b>>8,c)},L:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ga:function(a,b){a&1&&J(this.h,b,64);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},ma:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.va=!0},Ba:function(a,b,c){a&1&&J(this.h,c,64);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|
|
this.Nb(a,b)<<8},w:function(a,b,c){this.Bb(a++,b&255,c++);this.Bb(a,b>>8,c)},L:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ga:function(a,b){a&1&&J(this.h,b,64);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},ma:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.wa=!0},Ca:function(a,b,c){a&1&&J(this.h,c,64);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.va=!0},F:function(a,b){return this.H(a,b)},T:function(a,b){return this.gc(a,b)},za:function(a,b,c){this.m?this.f(a,b,c):this.Sb(a,b,c)},ua:function(a,b,c){this.m?this.f(a,b,c):this.mc(a,b,c)},B:function(a){return this.l[a]},I:function(a){return this.l[a]},R:function(a,b){a&1&&J(this.h,b,64);return this.c.getUint16(a,!0)},fa:function(a,b){a&1&&J(this.h,b,64);return this.s[a>>1]},ya:function(a,b){this.l[a]=b;this.va=!0},ra:function(a,b){this.l[a]=b;this.va=!0},na:function(a,b,c){a&1&&J(this.h,
|
b>>8);this.wa=!0},F:function(a,b){return this.I(a,b)},T:function(a,b){return this.ic(a,b)},Ba:function(a,b,c){this.m?this.f(a,b,c):this.Ub(a,b,c)},ua:function(a,b,c){this.m?this.f(a,b,c):this.mc(a,b,c)},B:function(a){return this.l[a]},J:function(a){return this.l[a]},R:function(a,b){a&1&&J(this.h,b,64);return this.c.getUint16(a,!0)},fa:function(a,b){a&1&&J(this.h,b,64);return this.s[a>>1]},Aa:function(a,b){this.l[a]=b;this.wa=!0},sa:function(a,b){this.l[a]=b;this.wa=!0},na:function(a,b,c){a&1&&J(this.h,
|
||||||
c,64);this.c.setUint16(a,b,!0);this.va=!0},Aa:function(a,b,c){a&1&&J(this.h,c,64);this.s[a>>1]=b;this.va=!0}};function Hb(a,b,c){a.G=b;a.i=a.j=0;c&&((a.i=c.i)&&sc(a,tc,!1),(a.j=c.j)&&uc(a,tc,!1))}function uc(a,b,c){c&&a.j||(a.zb=!a.m&&b[1]||a.f,a.Ab=!a.m&&b[3]||a.A);if(c||void 0===c)a.Sb=b[1]||a.f,a.mc=b[3]||a.A}function sc(a,b,c){c&&a.i||(a.Nb=b[0]||a.u,a.X=b[2]||a.w);if(c||void 0===c)a.H=b[0]||a.u,a.gc=b[2]||a.w}function nc(a,b){b||(b=vc);sc(a,b,void 0);uc(a,b,void 0)}
|
c,64);this.c.setUint16(a,b,!0);this.wa=!0},va:function(a,b,c){a&1&&J(this.h,c,64);this.s[a>>1]=b;this.wa=!0}};function Hb(a,b,c){a.G=b;a.i=a.j=0;c&&((a.i=c.i)&&sc(a,tc,!1),(a.j=c.j)&&uc(a,tc,!1))}function uc(a,b,c){c&&a.j||(a.Bb=!a.m&&b[1]||a.f,a.Cb=!a.m&&b[3]||a.w);if(c||void 0===c)a.Ub=b[1]||a.f,a.mc=b[3]||a.w}function sc(a,b,c){c&&a.i||(a.Nb=b[0]||a.u,a.aa=b[2]||a.A);if(c||void 0===c)a.I=b[0]||a.u,a.ic=b[2]||a.A}function nc(a,b){b||(b=vc);sc(a,b,void 0);uc(a,b,void 0)}
|
||||||
var vc=[],rc=[I.prototype.L,I.prototype.ma,I.prototype.ga,I.prototype.Ba],tc=[I.prototype.F,I.prototype.za,I.prototype.T,I.prototype.ua];if(Za)var qc=[I.prototype.B,I.prototype.ya,I.prototype.R,I.prototype.na],oc=[I.prototype.I,I.prototype.ra,I.prototype.fa,I.prototype.Aa];
|
var vc=[],rc=[I.prototype.L,I.prototype.ma,I.prototype.ga,I.prototype.Ca],tc=[I.prototype.F,I.prototype.Ba,I.prototype.T,I.prototype.ua];if(Za)var qc=[I.prototype.B,I.prototype.Aa,I.prototype.R,I.prototype.na],oc=[I.prototype.J,I.prototype.sa,I.prototype.fa,I.prototype.va];
|
||||||
function wc(a,b){x.call(this,"CPU",a,wc,1);b=a.cycles||b;var c=a.multiplier||1;this.Cb=0;this.qb=b;this.na=c;this.Fb=Math.round(this.qb/1E4)/100;this.Ma=this.Fb*this.na;this.o.S=!1;this.o.Pb=!1;this.o.fb=a.autoStart;this.o.tb=!1;this.ob=this.Na=0;this.pb=a.csStart;this.$a=a.csInterval;this.ab=a.csStop;this.L=[];this.ec=this.Xd.bind(this);G(this)}z(wc);var xc=["power","reset"];h=wc.prototype;
|
function wc(a,b){y.call(this,"CPU",a,wc,1);b=a.cycles||b;var c=a.multiplier||1;this.Eb=0;this.rb=b;this.na=c;this.Jb=Math.round(this.rb/1E4)/100;this.Na=this.Jb*this.na;this.o.S=!1;this.o.Rb=!1;this.o.jb=a.autoStart;this.o.wb=!1;this.pb=this.Qa=0;this.qb=a.csStart;this.fb=a.csInterval;this.gb=a.csStop;this.L=[];this.gc=this.Xd.bind(this);G(this)}B(wc);var xc=["power","reset"];h=wc.prototype;
|
||||||
h.ia=function(a,b,c,d){this.m=a;this.h=b;this.G=d;this.w=a.w;for(b=0;b<xc.length;b++)(c=this.l[xc[b]])&&this.m.aa(null,xc[b],c);a=yc(a,"autoStart");null!=a&&(this.o.fb="true"==a?!0:"false"==a?!1:!!a);G(this)};h.Ub=function(){};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};h.ka=function(a,b){if(!b){this.Ub();if(a&&this.restore){zc(this);if(!this.restore(a))return!1;Ac(this)}else this.reset();this.V("No debugger detected")}return!0};
|
h.ia=function(a,b,c,d){this.m=a;this.h=b;this.G=d;this.A=a.A;for(b=0;b<xc.length;b++)(c=this.l[xc[b]])&&this.m.ba(null,xc[b],c);a=yc(a,"autoStart");null!=a&&(this.o.jb="true"==a?!0:"false"==a?!1:!!a);G(this)};h.Wb=function(){};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};h.ka=function(a,b){if(!b){this.Wb();if(a&&this.restore){zc(this);if(!this.restore(a))return!1;Ac(this)}else this.reset();this.W("No debugger detected")}return!0};
|
||||||
h.ja=function(a){return a?this.save():!0};h.fb=function(){return this.o.fb||void 0===this.l.run?(pb(this),!0):!1};h.$b=function(){return 0};function Ac(a){void 0===a.pb&&(a.pb=0);void 0===a.$a&&(a.$a=-1);void 0===a.ab&&(a.ab=-1);a.o.tb=0<=a.pb&&0<a.$a;a.o.tb&&(a.ob=0,a.Na=a.pb-a.ua)}function sb(a,b){if(a.o.tb){var c=!1;a.ob=a.ob+a.$b()|0;a.Na-=b;0>=a.Na&&(a.Na+=a.$a,c=!0);0<=a.ab&&a.ab<=Bc(a)&&(a.$a=a.ab=-1,Ac(a),H(a),c=!0);c&&a.V(Bc(a)+" cycles: checksum="+r(a.ob))}}
|
h.ja=function(a){return a?this.save():!0};h.jb=function(){return this.o.jb||void 0===this.l.run?(pb(this),!0):!1};h.bc=function(){return 0};function Ac(a){void 0===a.qb&&(a.qb=0);void 0===a.fb&&(a.fb=-1);void 0===a.gb&&(a.gb=-1);a.o.wb=0<=a.qb&&0<a.fb;a.o.wb&&(a.pb=0,a.Qa=a.qb-a.ua)}function sb(a,b){if(a.o.wb){var c=!1;a.pb=a.pb+a.bc()|0;a.Qa-=b;0>=a.Qa&&(a.Qa+=a.fb,c=!0);0<=a.gb&&a.gb<=Bc(a)&&(a.fb=a.gb=-1,Ac(a),H(a),c=!0);c&&a.W(Bc(a)+" cycles: checksum="+r(a.pb))}}
|
||||||
h.aa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.l[b]=c,!0;case "run":return this.l[b]=c,c.onclick=function(){var a;if(a=d.m)if(a=d.m,a.o.P)a=!0;else{var b=null,c,k=B(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.o.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.o.P);c++);c==k.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.o.ready?"powered yet":"ready yet"+(b.vb?" (waiting for notification)":""))+".");a=!1}a&&(d.o.S?H(d):pb(d))},!0;case "speed":return this.l[b]=
|
h.ba=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.l[b]=c,!0;case "run":return this.l[b]=c,c.onclick=function(){var a;if(a=d.m)if(a=d.m,a.o.P)a=!0;else{var b=null,c,k=C(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.o.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.o.P);c++);c==k.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.o.ready?"powered yet":"ready yet"+(b.yb?" (waiting for notification)":""))+".");a=!1}a&&(d.o.S?H(d):pb(d))},!0;case "speed":return this.l[b]=
|
||||||
c,!0;case "setSpeed":return this.l[b]=c,c.onclick=function(){Cc(d,d.na<<1,!0)},c.textContent=this.Ma.toFixed(2)+"Mhz",!0}return!1};h.xa=function(a){this.m&&this.m.xa(a)};function rb(a,b,c){a.ua+=b;c&&(a.ma=a.a=a.I=0)}function Dc(a,b){var c=1;b&&1<a.na&&a.Ba&&(c=a.Ba/a.Fb);a.bc=Math.round(1E3/30);a.rb=Math.floor(a.qb/30*c);b||(a.bb=a.rb);a.Hb=0}function Bc(a){return a.ua+a.ga+a.ma-a.a}function zc(a){a.Ba=0;a.dc=0;a.ua=a.ga=a.ma=a.a=a.I=0;Ac(a);Cc(a,1)}
|
c,!0;case "setSpeed":return this.l[b]=c,c.onclick=function(){Cc(d,d.na<<1,!0)},c.textContent=this.Na.toFixed(2)+"Mhz",!0}return!1};h.za=function(a){this.m&&this.m.za(a)};function rb(a,b,c){a.ua+=b;c&&(a.ma=a.a=a.J=0)}function Dc(a,b){var c=1;b&&1<a.na&&a.Ma&&(c=a.Ma/a.Jb);a.dc=Math.round(1E3/30);a.sb=Math.floor(a.rb/30*c);b||(a.hb=a.sb);a.Kb=0}function Bc(a){return a.ua+a.ga+a.ma-a.a}function zc(a){a.Ma=0;a.fc=0;a.ua=a.ga=a.ma=a.a=a.J=0;Ac(a);Cc(a,1)}
|
||||||
function Cc(a,b,c){if(void 0!==b){.8>a.Ba/a.Ma&&(b=1);a.na=b;b=a.Fb*a.na;if(a.Ma!=b){a.Ma=b;b=a.Ma.toFixed(2)+"Mhz";var d=a.l.setSpeed;d&&(d.textContent=b);a.V("target speed: "+b)}c&&a.m&&Ec(a.m)}rb(a,a.ga);a.ga=0;a.fa=qa();a.ra=0;Dc(a)}function Xb(a,b){var c=a.L.length;a.L.push([-1,b]);return c}function Yb(a,b,c,d){0<=b&&b<a.L.length&&(d||0>a.L[b][0])&&(c=a.qb*a.na/1E3*c|0,a.o.S&&(c+=Fc(a)),a.L[b][0]=c)}
|
function Cc(a,b,c){if(void 0!==b){.8>a.Ma/a.Na&&(b=1);a.na=b;b=a.Jb*a.na;if(a.Na!=b){a.Na=b;b=a.Na.toFixed(2)+"Mhz";var d=a.l.setSpeed;d&&(d.textContent=b);a.W("target speed: "+b)}c&&a.m&&Ec(a.m)}rb(a,a.ga);a.ga=0;a.fa=qa();a.sa=0;Dc(a)}function Xb(a,b){var c=a.L.length;a.L.push([-1,b]);return c}function Yb(a,b,c,d){0<=b&&b<a.L.length&&(d||0>a.L[b][0])&&(c=a.rb*a.na/1E3*c|0,a.o.S&&(c+=Fc(a)),a.L[b][0]=c)}
|
||||||
function qb(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Fc(a,b){var c=a.ma-=a.a;a.a=a.I=0;b&&(a.ma=0);return c}
|
function qb(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Fc(a,b){var c=a.ma-=a.a;a.a=a.J=0;b&&(a.ma=0);return c}
|
||||||
h.Xd=function(){if(this.o.S){this.Hb>=this.qb&&Dc(this,!0);this.cb=0;this.nb=qa();if(this.ra){var a=this.nb-this.ra;a>this.bc&&(this.fa+=a,this.fa>this.nb&&(this.fa=this.nb))}try{do{for(var b,c=this.o.tb?1:this.rb,d=this.L.length-1;0<=d;d--){var e=this.L[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.yb(b)}catch(f){if("number"!=typeof f)throw f;}b=Fc(this,!0);this.cb+=b;this.ga+=b;sb(this,b);qb(this,b);this.bb-=b;if(0>=this.bb){this.bb+=this.rb;15<=++this.dc&&(this.xa(),this.dc=0);break}}while(this.o.S)}catch(f){H(this);
|
h.Xd=function(){if(this.o.S){this.Kb>=this.rb&&Dc(this,!0);this.ib=0;this.ob=qa();if(this.sa){var a=this.ob-this.sa;a>this.dc&&(this.fa+=a,this.fa>this.ob&&(this.fa=this.ob))}try{do{for(var b,c=this.o.wb?1:this.sb,d=this.L.length-1;0<=d;d--){var e=this.L[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Ab(b)}catch(f){if("number"!=typeof f)throw f;}b=Fc(this,!0);this.ib+=b;this.ga+=b;sb(this,b);qb(this,b);this.hb-=b;if(0>=this.hb){this.hb+=this.sb;15<=++this.fc&&(this.za(),this.fc=0);break}}while(this.o.S)}catch(f){H(this);
|
||||||
this.m&&this.m.stop(qa(),Bc(this));Ya(this,f.stack||f.message);return}if(this.o.S){a=setTimeout;b=this.ec;this.ra=qa();c=this.bc;this.cb&&(c=Math.round(c*this.cb/this.rb));c-=this.ra-this.nb;if(d=this.ra-this.fa)this.Ba=Math.round(this.ga/(10*d))/100,864E5<=d&&(this.ua=0,Cc(this));if(0>c||this.Ba<this.Ma)-1E3>c&&(this.fa-=c),c=0;this.Hb+=this.cb;this.ra+=c;a(b,c)}}};
|
this.m&&this.m.stop(qa(),Bc(this));Ya(this,f.stack||f.message);return}if(this.o.S){a=setTimeout;b=this.gc;this.sa=qa();c=this.dc;this.ib&&(c=Math.round(c*this.ib/this.sb));c-=this.sa-this.ob;if(d=this.sa-this.fa)this.Ma=Math.round(this.ga/(10*d))/100,864E5<=d&&(this.ua=0,Cc(this));if(0>c||this.Ma<this.Na)-1E3>c&&(this.fa-=c),c=0;this.Kb+=this.ib;this.sa+=c;a(b,c)}}};
|
||||||
function pb(a){var b;a.o.error?(a.V(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.o.S)a.V(a.toString()+" busy");else{Cc(a);a.o.S=!0;a.o.Pb=!0;if(b=a.l.run)b.textContent="Halt";a.m&&a.m.start(a.fa,Bc(a));setTimeout(a.ec,0)}}h.yb=function(){return 0};function H(a){var b=!1;if(a.o.S){Fc(a);rb(a,a.ga);a.ga=0;a.o.S=!1;if(b=a.l.run)b.textContent="Run";a.m&&a.m.stop(qa(),Bc(a));b=!0}a.o.complete=void 0;return b}
|
function pb(a){var b;a.o.error?(a.W(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.o.S)a.W(a.toString()+" busy");else{Cc(a);a.o.S=!0;a.o.Rb=!0;if(b=a.l.run)b.textContent="Halt";a.m&&a.m.start(a.fa,Bc(a));setTimeout(a.gc,0)}}h.Ab=function(){return 0};function H(a){var b=!1;if(a.o.S){Fc(a);rb(a,a.ga);a.ga=0;a.o.S=!1;if(b=a.l.run)b.textContent="Run";a.m&&a.m.stop(qa(),Bc(a));b=!0;a.G||a.status("Stopped")}a.o.complete=void 0;return b}
|
||||||
function Gc(a){this.Sa=+a.model||1170;this.Yb=a.addrReset||0;wc.call(this,a,6666667);this.sb=0;this.ac=255;1120==this.Sa?(this.decode=Hc.bind(this),this.Aa=this.Fc,this.sb=8,this.ac=-1):(this.decode=Ic.bind(this),this.Aa=this.Gc);Jc(this);this.Oa=0;this.H=null;this.Db=[];this.o.complete=!1}z(Gc,wc);h=Gc.prototype;h.Ub=function(){for(var a=192,b=0;b<this.Db.length;b++){var c=this.Db[b];0>c.Rb&&(c.Rb=a,a+=4)}};
|
function Gc(a){this.Va=+a.model||1170;this.$b=a.addrReset||0;wc.call(this,a,6666667);this.tb=0;this.cc=255;1120==this.Va?(this.decode=Hc.bind(this),this.Ca=this.Fc,this.tb=8,this.cc=-1):(this.decode=Ic.bind(this),this.Ca=this.Gc);Jc(this);this.Ra=0;this.I=null;this.Db=[];this.o.complete=!1}B(Gc,wc);h=Gc.prototype;h.Wb=function(){for(var a=192,b=0;b<this.Db.length;b++){var c=this.Db[b];0>c.Tb&&(c.Tb=a,a+=4)}};
|
||||||
h.reset=function(){this.status("model "+this.Sa);this.o.S&&H(this);Jc(this);zc(this);this.o.error=!1;this.parent.reset.call(this)};
|
h.reset=function(){this.status("Model "+this.Va);this.o.S&&H(this);Jc(this);zc(this);this.o.error=!1;this.parent.reset.call(this)};
|
||||||
function Jc(a){a.j=65536;a.f=32768;a.i=65535;a.s=32768;a.D=15;a.g=[0,0,0,0,0,0,0,a.Yb,-1,-2,-3,-4,-5,-6,-7,-8];a.La=[0,0,0,0,0,0];a.ta=[0,0,0,0];a.u=0;a.mb=0;a.Nc=[4,2,0,1];a.J=[[0,0,0,0,0,0,0,0,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,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.da=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,
|
function Jc(a){a.j=65536;a.f=32768;a.i=65535;a.s=32768;a.D=15;a.g=[0,0,0,0,0,0,0,a.$b,-1,-2,-3,-4,-5,-6,-7,-8];a.Fa=[0,0,0,0,0,0];a.qa=[0,0,0,0];a.u=0;a.Nc=[4,2,0,1];a.H=[[0,0,0,0,0,0,0,0,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,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Z=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,
|
||||||
0,0,0,0,0,0,0,0,0]];a.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];a.jc=[0,0,0,0,0,0,0,0];a.ic=0;a.v=0;a.B=a.F=0;a.c=a.b=a.Bb=0;a.Pa=-1;ob(a)}function ob(a){a.Z=0;a.Jb=0;a.Kb=0;a.Ea=0;a.Y=0;a.xb=0;a.ib=255;a.Ya=0;a.lb=0;a.Za=262143;a.eb=0;a.A=0;a.H=null;a.h&&(dc(a),a.Lc=Tb(a.h))}function dc(a){a.Ya?(a.T=65536,a.Eb=a.Ea&16?4186112:253952,a.R=a.Jc,a.X=a.Td,a.Ab=a.Re,Lb(a.h,a.Ea&16?22:18)):(a.T=0,a.Eb=57344,a.R=a.Ic,a.X=a.hc,a.Ab=a.nc,Lb(a.h,16))}
|
0,0,0,0,0]];a.$a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.Pb=[0,0,0,0,0,0,0,0];a.Ob=0;a.v=0;a.B=a.F=0;a.c=a.b=a.Hb=0;a.va=-1;ob(a)}function ob(a){a.Y=0;a.ub=0;a.vb=0;a.ya=0;a.X=0;a.mb=0;a.Za=255;a.Oa=0;a.cb=0;a.eb=0;a.Pa=262143;a.Sa=0;a.w=0;a.I=null;a.h&&(dc(a),a.Lc=Tb(a.h))}function dc(a){a.Oa?(a.T=65536,a.Fb=a.ya&16?4186112:253952,a.R=a.Jc,a.aa=a.Td,a.Cb=a.Re,Lb(a.h,a.ya&16?22:18)):(a.T=0,a.Fb=57344,a.R=a.Ic,a.aa=a.jc,a.Cb=a.nc,Lb(a.h,16))}
|
||||||
function cc(a,b){b&=-3073;if(a.Z!=b){b&57344&&!(a.Z&57344)&&(a.Jb=a.A>>16&65535,a.Kb=a.A&65535);a.Z=b;a.lb=b>>5&3;a.mb=b>>1&15;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Ya!=c&&(a.Ya=c,dc(a))}}h.$b=function(){return 0};h.save=function(){var a=new Q(this);a.set(0,[]);a.set(1,[this.ua,this.na]);a.set(2,Sb(this.h));return a.data()};
|
function cc(a,b){b&=-3073;if(a.Y!=b){b&57344&&!(a.Y&57344)&&(a.ub=a.w>>16&65535,a.vb=a.w&65535);a.Y=b;a.cb=(b&96)>>5;a.eb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Oa!=c&&(a.Oa=c,dc(a))}}h.bc=function(){return 0};
|
||||||
h.restore=function(a){var b=a[1];this.ua=b[1];Cc(this,b[3]);a:{b=this.h;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.I){for(var f=0,g=Array(b.I),k=0;k<e.length-1;)for(var l=e[k++],n=e[k++];l--;)g[f++]=n;e=g}f=b.h[d];if(!f||!f.restore(e)){w("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function R(a){return a.j&65536?1:0}function Kc(a){return a.s&32768?8:0}function Lc(a){var b=a.g[7];a.A=b;var c=a.X(b);a.g[7]=b+2&65535;return c}
|
h.save=function(){var a=new Q(this);a.set(0,[this.g,this.Fa,this.qa,this.$a,this.Pb,this.X,this.Ob,this.mb,this.Za,ec(this),this.va,this.u,this.v,this.Y,this.ub,this.vb,this.ya,this.cb,this.eb,this.H,this.Z,this.Oa,this.Pa,this.Sa,this.w]);a.set(1,[this.ua,this.na]);a.set(2,Sb(this.h));return a.data()};
|
||||||
function Mc(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b){a.g[7]=b&65535}function Zb(a,b,c,d){c={Rb:b,Ta:c,message:d||0,next:null};c.name=$a[b];a.Db.push(c);return c}function bc(a,b){var c=a.H;if(c==b)a.H=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.H&&(a.v|=1)}function M(a,b){if(b!=a.H){var c=a.H;if(!c||c.Ta<=b.Ta)b.next=c,a.H=b;else{do{var d=c.next;if(!d||d.Ta<=b.Ta){b.next=d;c.next=b;break}c=d}while(c)}}a.v|=1}
|
h.restore=function(a){var b=a[1];this.ua=b[1];Cc(this,b[3]);a:{b=this.h;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.J){for(var f=0,g=Array(b.J),k=0;k<e.length-1;)for(var l=e[k++],n=e[k++];l--;)g[f++]=n;e=g}f=b.h[d];if(!f||!f.restore(e)){x("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function R(a){return a.j&65536?1:0}function Kc(a){return a.s&32768?8:0}function Lc(a){var b=a.g[7];a.w=b;var c=a.aa(b);a.g[7]=b+2&65535;return c}
|
||||||
function Nc(a){return a.v&64?(K(a,168,64,-6),!0):a.v&32?(K(a,4,32,-5),!0):a.v&16?(K(a,12,16,-7),!0):!1}function ec(a){return a.D=a.D&63728|Kc(a)|(a.i&65535?0:4)|(a.f&32768?2:0)|R(a)}function fc(a,b){a.s=b<<12;a.i=~b&4;a.f=b<<14;a.j=b<<16;if((b^a.D)&2048)for(var c=a.La.length;0<=--c;){var d=a.g[c];a.g[c]=a.La[c];a.La[c]=d}a.u=b>>14&3;c=a.D>>14&3;a.u!=c&&(a.ta[c]=a.g[6],a.g[6]=a.ta[a.u]);a.D=b;a.v&=-3;a.v|=a.H?2:1}h.ba=function(a){this.s=this.i=a;this.f=0};
|
function Mc(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b){a.g[7]=b&65535}function Zb(a,b,c,d){c={Tb:b,Wa:c,message:d||0,next:null};c.name=$a[b];a.Db.push(c);return c}function bc(a,b){var c=a.I;if(c==b)a.I=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.I&&(a.v|=1)}function M(a,b){if(b!=a.I){var c=a.I;if(!c||c.Wa<=b.Wa)b.next=c,a.I=b;else{do{var d=c.next;if(!d||d.Wa<=b.Wa){b.next=d;c.next=b;break}c=d}while(c)}}a.v|=1}
|
||||||
h.Fa=function(a,b){this.s=this.i=this.j=a;this.f=b||0};function Oc(a,b){a.s=a.i=a.j=b;a.f=a.s^a.j>>1}function Pc(a,b,c,d){a.s=a.i=a.j=b;a.f=(c^d)&(d^b)}function K(a,b,c,d){if(!a.Oa){0>a.Pa?a.Pa=ec(a):a.u||(d=-4);-4==d&&(a.v&256&&(d=-1),a.v|=256,a.Y|=4,a.g[6]=b=4);if(-1!=d){a.A=b|4143316992;a.u=0;var e=a.X(b|a.T),f=a.X(b+2&65535|a.T);fc(a,f&-12289|a.Pa>>2&12288);Qc(a,a.Pa);Qc(a,a.g[7]);S(a,e)}a.a-=5;a.v&=~(c|19);a.v|=129;a.Pa=-1;-1==d&&H(a);if(-4<=d)throw b;}}
|
function Nc(a){return a.v&64?(K(a,168,64,-6),!0):a.v&32?(K(a,4,32,-5),!0):a.v&16?(K(a,12,16,-7),!0):!1}function ec(a){return a.D=a.D&63728|Kc(a)|(a.i&65535?0:4)|(a.f&32768?2:0)|R(a)}function fc(a,b){a.s=b<<12;a.i=~b&4;a.f=b<<14;a.j=b<<16;if((b^a.D)&2048)for(var c=a.Fa.length;0<=--c;){var d=a.g[c];a.g[c]=a.Fa[c];a.Fa[c]=d}a.u=b>>14&3;c=a.D>>14&3;a.u!=c&&(a.qa[c]=a.g[6],a.g[6]=a.qa[a.u]);a.D=b;a.v&=-3;a.v|=a.I?2:1}h.ca=function(a){this.s=this.i=a;this.f=0};
|
||||||
function Rc(a){var b=Sc(a),c=Sc(a)&-1793;a.D&49152&&(c=c&-225|a.D&63712);S(a,b);fc(a,c);a.v&=-17}function Tc(a,b){var c=b>>13&31;31>c&&(b=a.Ea&32?a.jb[c]+(b&8190)&4194302:b&-3932161);return b}
|
h.Ga=function(a,b){this.s=this.i=this.j=a;this.f=b||0};function Oc(a,b){a.s=a.i=a.j=b;a.f=a.s^a.j>>1}function Pc(a,b,c,d){a.s=a.i=a.j=b;a.f=(c^d)&(d^b)}function K(a,b,c,d){if(!a.Ra){0>a.va?a.va=ec(a):a.u||(d=-4);-4==d&&(a.v&256&&(d=-1),a.v|=256,a.X|=4,a.g[6]=b=4);if(-1!=d){a.w=b|4143316992;a.u=0;var e=a.aa(b|a.T),f=a.aa(b+2&65535|a.T);fc(a,f&-12289|a.va>>2&12288);Qc(a,a.va);Qc(a,a.g[7]);S(a,e)}a.a-=5;a.v&=~(c|19);a.v|=129;a.va=-1;-1==d&&H(a);if(-4<=d)throw b;}}
|
||||||
function wb(a,b,c){var d,e,f;if(!(c&a.Ya))return f=b&65535,57344<=f&&(f|=a.Eb),f;d=b>>13;a.Ea&a.Nc[a.u]||(d&=7);e=a.J[a.u][d];f=(a.da[a.u][d]<<6)+(b&8191)&a.Za;3932160<=f&&(f=Tc(a,f));if(a.Oa)return f;f>=a.Lc&&f<a.Eb?(a.Y|=32,K(a,4,0,f)):f&1&&!(c&1)&&(a.Y|=64,K(a,4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
|
function Rc(a){var b=Sc(a),c=Sc(a)&-1793;a.D&49152&&(c=c&-225|a.D&63712);S(a,b);fc(a,c);a.v&=-17}function Tc(a,b){var c=b>>13&31;31>c&&(b=a.ya&32?a.$a[c]+(b&8190)&4194302:b&-3932161);return b}
|
||||||
(g|=16384));a.J[a.u][d]=e;if(f!=(4194170&a.Za)||a.u)a.lb=a.u,a.mb=d;g&&(g&57344&&(0<=a.Pa&&(g|=128),a.Z&57344||(g|=a.Z&4096|a.lb<<5|a.mb<<1,cc(a,a.Z&-61695|g&61694)),K(a,168,64,-2)),a.Z&61440||!(f<(4191360&a.Za)||f>(4194239&a.Za))||(a.Z|=4096,a.Z&512&&(a.v|=64)));return f}function Sc(a){var b=a.X(a.g[6]|a.T);a.g[6]=a.g[6]+2&65535;return b}function Qc(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.A=a.A&65535|(a.A&-65536)<<8|16121856;a.v&256||a.Aa(4,-2,c);a.Ab(c,b)}
|
function wb(a,b,c){var d,e,f;if(!(c&a.Oa))return f=b&65535,57344<=f&&(f|=a.Fb),f;d=b>>13;a.ya&a.Nc[a.u]||(d&=7);e=a.H[a.u][d];f=(a.Z[a.u][d]<<6)+(b&8191)&a.Pa;3932160<=f&&(f=Tc(a,f));if(a.Ra)return f;f>=a.Lc&&f<a.Fb?(a.X|=32,K(a,4,0,f)):f&1&&!(c&1)&&(a.X|=64,K(a,4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
|
||||||
function Uc(a,b,c,d){var e,f,g=d&8?0:a.T;switch(b){case 0:return K(a,4,0,-3),0;case 1:return 6==c&&a.Aa(d,0,a.g[6]),a.a-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Aa(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.X(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Aa(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.X(e)|g;a.a-=8;break;case 6:return e=a.X(Mc(a,2)),e=e+a.g[c]&65535,6==c&&a.Aa(d,0,
|
(g|=16384));a.H[a.u][d]=e;if(f!=(4194170&a.Pa)||a.u)a.cb=a.u,a.eb=d;g&&(g&57344&&(0<=a.va&&(g|=128),a.Y&57344||(g|=a.Y&4096|a.cb<<5|a.eb<<1,cc(a,a.Y&-61695|g&61694)),K(a,168,64,-2)),a.Y&61440||!(f<(4191360&a.Pa)||f>(4194239&a.Pa))||(a.Y|=4096,a.Y&512&&(a.v|=64)));return f}function Sc(a){var b=a.aa(a.g[6]|a.T);a.g[6]=a.g[6]+2&65535;return b}function Qc(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.w=a.w&65535|(a.w&-65536)<<8|16121856;a.v&256||a.Ca(4,-2,c);a.Cb(c,b)}
|
||||||
e),a.a-=6,e|g;case 7:return e=a.X(Mc(a,2)),e=e+a.g[c]&65535,e=a.X(e|a.T),a.a-=10,e|g}a.g[c]=a.g[c]+f&65535;a.A=a.A&65535|(a.A&-65536)<<8|(f<<3&248|c)<<16;return e}h.Fc=function(a,b,c){!this.u&&0>=b&&c<=this.ib&&(this.v|=32)};h.Gc=function(a,b,c){this.u||(65534<=c&&(c|=-65536),a&4&&c<=this.ib&&(c<=this.ib-32?K(this,4,0,-4):(this.Y|=8,this.v|=32)))};h.Ic=function(a,b,c){a=Uc(this,a,b,c);3932160<=a&&(a=Tc(this,a));return a};h.Jc=function(a,b,c){return wb(this,Uc(this,a,b,c),c)};
|
function Uc(a,b,c,d){var e,f,g=d&8?0:a.T;switch(b){case 0:return K(a,4,0,-3),0;case 1:return 6==c&&a.Ca(d,0,a.g[6]),a.a-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Ca(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.aa(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Ca(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.aa(e)|g;a.a-=8;break;case 6:return e=a.aa(Mc(a,2)),e=e+a.g[c]&65535,6==c&&a.Ca(d,
|
||||||
h.hc=function(a){3932160<=a&&(a=Tc(this,a));return Pb(this.h,this.eb=a)};h.Td=function(a){return Pb(this.h,this.eb=wb(this,a,2))};h.nc=function(a,b){3932160<=a&&(a=Tc(this,a));Qb(this.h,this.eb=a,b)};h.Re=function(a,b){Qb(this.h,this.eb=wb(this,a,4),b)};function Vc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Uc(a,b,d,2),c&65536||61440!==(a.D&61440)&&(d&=65535),a.u=a.D>>12&3,c=a.X(d|c&a.T),a.u=a.D>>14&3):c=6!=d||(a.D>>2&12288)===(a.D&12288)?a.g[d]:a.ta[a.D>>12&3];return c}
|
0,e),a.a-=6,e|g;case 7:return e=a.aa(Mc(a,2)),e=e+a.g[c]&65535,e=a.aa(e|a.T),a.a-=10,e|g}a.g[c]=a.g[c]+f&65535;a.w=a.w&65535|(a.w&-65536)<<8|(f<<3&248|c)<<16;return e}h.Fc=function(a,b,c){!this.u&&0>=b&&c<=this.Za&&(this.v|=32)};h.Gc=function(a,b,c){this.u||(65534<=c&&(c|=-65536),a&4&&c<=this.Za&&(c<=this.Za-32?K(this,4,0,-4):(this.X|=8,this.v|=32)))};h.Ic=function(a,b,c){a=Uc(this,a,b,c);3932160<=a&&(a=Tc(this,a));return a};h.Jc=function(a,b,c){return wb(this,Uc(this,a,b,c),c)};
|
||||||
function Wc(a,b,c,d){a.A=a.A&65535|1441792;var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Uc(a,b,e,4),c&65536||(e&=65535),a.u=a.D>>12&3,e=wb(a,e|c&65536,4),a.u=a.D>>14&3,Qb(a.h,e,d)):6!=e||(a.D>>2&12288)===(a.D&12288)?a.g[e]=d:a.ta[a.D>>12&3]=d}function Xc(a,b){b>>=6;var c=a.F=b&7;(b=a.B=(b&56)>>3)?(c=a.R(b,c,3),a=Ob(a.h,c)):a=a.g[c+a.sb]&a.ac;return a}function Yc(a,b){b>>=6;var c=a.F=b&7;return(b=a.B=(b&56)>>3)?Pb(a.h,a.R(b,c,2)):a.g[c+a.sb]}
|
h.jc=function(a){3932160<=a&&(a=Tc(this,a));return Pb(this.h,this.Sa=a)};h.Td=function(a){return Pb(this.h,this.Sa=wb(this,a,2))};h.nc=function(a,b){3932160<=a&&(a=Tc(this,a));Qb(this.h,this.Sa=a,b)};h.Re=function(a,b){Qb(this.h,this.Sa=wb(this,a,4),b)};function Vc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Uc(a,b,d,2),c&65536||61440!==(a.D&61440)&&(d&=65535),a.u=a.D>>12&3,c=a.aa(d|c&a.T),a.u=a.D>>14&3):c=6!=d||(a.D>>2&12288)===(a.D&12288)?a.g[d]:a.qa[a.D>>12&3];return c}
|
||||||
function Zc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Uc(a,b,c,8)}function $c(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.R(b,c,3),a=Ob(a.h,c)):a=a.g[c]&255;return a}function ad(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?Pb(a.h,a.R(b,c,2)):a.g[c]}function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.Bb=a.R(b,e,7),c=0>c?a.g[-c-1]&255:c,c=d.call(a,c,Ob(a.h,e)),e&1&&a.a--,a=a.h,a.f[(e&a.i)>>>a.b].zb(e&a.m,c,e)):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
|
function Wc(a,b,c,d){a.w=a.w&65535|1441792;var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Uc(a,b,e,4),c&65536||(e&=65535),a.u=a.D>>12&3,e=wb(a,e|c&65536,4),a.u=a.D>>14&3,Qb(a.h,e,d)):6!=e||(a.D>>2&12288)===(a.D&12288)?a.g[e]=d:a.qa[a.D>>12&3]=d}function Xc(a,b){b>>=6;var c=a.F=b&7;(b=a.B=(b&56)>>3)?(c=a.R(b,c,3),a=Ob(a.h,c)):a=a.g[c+a.tb]&a.cc;return a}function Yc(a,b){b>>=6;var c=a.F=b&7;return(b=a.B=(b&56)>>3)?Pb(a.h,a.R(b,c,2)):a.g[c+a.tb]}
|
||||||
function U(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.R(b,e,6),Qb(a.h,e,d.call(a,0>c?a.g[-c-1]:c,Pb(a.h,e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function bd(a,b,c,d,e){var f=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.R(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),d&1&&a.a--,a=a.h,a.f[(d&a.i)>>>a.b].zb(d&a.m,c,d)):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
|
function Zc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Uc(a,b,c,8)}function $c(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.R(b,c,3),a=Ob(a.h,c)):a=a.g[c]&255;return a}function ad(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?Pb(a.h,a.R(b,c,2)):a.g[c]}function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.Hb=a.R(b,e,7),c=0>c?a.g[-c-1]&255:c,c=d.call(a,c,Ob(a.h,e)),e&1&&a.a--,a=a.h,a.f[(e&a.i)>>>a.b].Bb(e&a.m,c,e)):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
|
||||||
|
function U(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.R(b,e,6),Qb(a.h,e,d.call(a,0>c?a.g[-c-1]:c,Pb(a.h,e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function bd(a,b,c,d,e){var f=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.R(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),d&1&&a.a--,a=a.h,a.f[(d&a.i)>>>a.b].Bb(d&a.m,c,d)):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
|
||||||
function cd(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.R(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),Qb(a.h,e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}function V(a,b,c){c&&(S(a,a.g[7]+(b<<24>>23)),a.a-=2);a.a-=3}
|
function cd(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.R(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),Qb(a.h,e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}function V(a,b,c){c&&(S(a,a.g[7]+(b<<24>>23)),a.a-=2);a.a-=3}
|
||||||
h.yb=function(a){this.o.complete=!0;var b=a?this.o.Pb?0:1:-1;this.o.Pb=!1;this.ma=this.a=a;do{if(this.v){if(a=this.v&11){a=!1;if(this.v&2){var c=160,d=(this.xb&224)>>5,e=this.H&&this.H.Ta>d?this.H:null;e&&(c=e.Rb,d=e.Ta);d>(this.D&224)>>5?(this.v&8&&(Mc(this,2),this.v&=-9),K(this,c,0,-10),d=!0):d=!1;d&&(e&&bc(this,e),a=!0);this.H||this.xb||(this.v&=-3)}else this.v&1&&this.v++;a=a&&0>b}if(a)break;if(this.v&112&&Nc(this)&&0>b)break}this.v=this.v&15|this.D&16;this.decode(Lc(this))}while(0<this.a);return this.o.complete?
|
h.Ab=function(a){this.o.complete=!0;var b=a?this.o.Rb?0:1:-1;this.o.Rb=!1;this.ma=this.a=a;do{if(this.v){if(a=this.v&11){a=!1;if(this.v&2){var c=160,d=(this.mb&224)>>5,e=this.I&&this.I.Wa>d?this.I:null;e&&(c=e.Tb,d=e.Wa);d>(this.D&224)>>5?(this.v&8&&(Mc(this,2),this.v&=-9),K(this,c,0,-10),d=!0):d=!1;d&&(e&&bc(this,e),a=!0);this.I||this.mb||(this.v&=-3)}else this.v&1&&this.v++;a=a&&0>b}if(a)break;if(this.v&112&&Nc(this)&&0>b)break}this.v=this.v&15|this.D&16;this.decode(Lc(this))}while(0<this.a);return this.o.complete?
|
||||||
this.ma-this.a:void 0===this.o.complete?0:-1};Ia(function(){for(var a=E(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Gc(d);D(d,c)}});function dd(a,b){var c=b+a;this.s=this.i=this.j=c;this.f=(a^c)&(b^c);return c&65535}function ed(a,b){var c=b+a,d=c<<8;this.s=this.i=this.j=d;this.f=(a<<8^d)&(b<<8^d);return c&255}function fd(a,b){a=b<<1;Oc(this,a);return a&65535}function gd(a,b){a=b<<1;Oc(this,a<<8);return a&255}function hd(a,b){a=b&32768|b>>1|b<<16;Oc(this,a);return a&65535}
|
this.ma-this.a:void 0===this.o.complete?0:-1};Ia(function(){for(var a=F(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Gc(d);E(d,c)}});function dd(a,b){var c=b+a;this.s=this.i=this.j=c;this.f=(a^c)&(b^c);return c&65535}function ed(a,b){var c=b+a,d=c<<8;this.s=this.i=this.j=d;this.f=(a<<8^d)&(b<<8^d);return c&255}function fd(a,b){a=b<<1;Oc(this,a);return a&65535}function gd(a,b){a=b<<1;Oc(this,a<<8);return a&255}function hd(a,b){a=b&32768|b>>1|b<<16;Oc(this,a);return a&65535}
|
||||||
function id(a,b){a=b&128|b>>1|b<<8;Oc(this,a<<8);return a&255}function jd(a,b){a=b&~a;this.ba(a);return a}function kd(a,b){a=b&~a;this.ba(a<<8);return a}function ld(a,b){a|=b;this.ba(a);return a}function md(a,b){a|=b;this.ba(a<<8);return a}function nd(a,b){a=~b|65536;this.Fa(a);return a&65535}function od(a,b){a=~b|256;this.Fa(a<<8);return a&255}function pd(a,b){this.s=this.i=a=b-a;this.f=b&(b^a);return a&65535}function qd(a,b){a=b-a;var c=a<<8;b<<=8;this.s=this.i=c;this.f=b&(b^c);return a&255}
|
function id(a,b){a=b&128|b>>1|b<<8;Oc(this,a<<8);return a&255}function jd(a,b){a=b&~a;this.ca(a);return a}function kd(a,b){a=b&~a;this.ca(a<<8);return a}function ld(a,b){a|=b;this.ca(a);return a}function md(a,b){a|=b;this.ca(a<<8);return a}function nd(a,b){a=~b|65536;this.Ga(a);return a&65535}function od(a,b){a=~b|256;this.Ga(a<<8);return a&255}function pd(a,b){this.s=this.i=a=b-a;this.f=b&(b^a);return a&65535}function qd(a,b){a=b-a;var c=a<<8;b<<=8;this.s=this.i=c;this.f=b&(b^c);return a&255}
|
||||||
function rd(a,b){this.s=this.i=a=b+a;this.f=a&(b^a);return a&65535}function sd(a,b){a=b+a;var c=a<<8;this.s=this.i=c;this.f=c&(b<<8^c);return a&255}function td(a,b){a=-b;this.Fa(a,a&b&32768);return a&65535}function ud(a,b){a=-b;this.Fa(a<<8,(a&b&128)<<8);return a&255}function vd(a,b){a=b<<1|this.j>>16&1;Oc(this,a);return a&65535}function wd(a,b){a=b<<1|this.j>>16&1;Oc(this,a<<8);return a&255}function xd(a,b){a=(this.j&65536|b)>>1|b<<16;Oc(this,a);return a&65535}
|
function rd(a,b){this.s=this.i=a=b+a;this.f=a&(b^a);return a&65535}function sd(a,b){a=b+a;var c=a<<8;this.s=this.i=c;this.f=c&(b<<8^c);return a&255}function td(a,b){a=-b;this.Ga(a,a&b&32768);return a&65535}function ud(a,b){a=-b;this.Ga(a<<8,(a&b&128)<<8);return a&255}function vd(a,b){a=b<<1|this.j>>16&1;Oc(this,a);return a&65535}function wd(a,b){a=b<<1|this.j>>16&1;Oc(this,a<<8);return a&255}function xd(a,b){a=(this.j&65536|b)>>1|b<<16;Oc(this,a);return a&65535}
|
||||||
function yd(a,b){a=((this.j&65536)>>8|b)>>1|b<<8;Oc(this,a<<8);return a&255}function zd(a,b){var c=b-a;Pc(this,c,a,b);return c&65535}function Ad(a,b){var c=b-a;Pc(this,c<<8,a<<8,b<<8);return c&255}function Bd(a,b){this.s=this.i=b&65280;this.f=this.j=0;return(b<<8|b>>8)&65535}function Cd(a,b){a^=b;this.ba(a);return a&65535}function Dd(a){U(this,a,Yc(this,a),dd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
|
function yd(a,b){a=((this.j&65536)>>8|b)>>1|b<<8;Oc(this,a<<8);return a&255}function zd(a,b){var c=b-a;Pc(this,c,a,b);return c&65535}function Ad(a,b){var c=b-a;Pc(this,c<<8,a<<8,b<<8);return c&255}function Bd(a,b){this.s=this.i=b&65280;this.f=this.j=0;return(b<<8|b>>8)&65535}function Cd(a,b){a^=b;this.ca(a);return a&65535}function Dd(a){U(this,a,Yc(this,a),dd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
|
||||||
function Ed(a){var b=ad(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.j=this.f=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.j=c<<17-b,c>>=b;else if(b)if(16<b)this.f=c,c=0;else{this.j=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.f=32768)}this.g[a]=c&65535;this.s=this.i=c;this.a-=(this.c?6:7)+b}
|
function Ed(a){var b=ad(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.j=this.f=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.j=c<<17-b,c>>=b;else if(b)if(16<b)this.f=c,c=0;else{this.j=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.f=32768)}this.g[a]=c&65535;this.s=this.i=c;this.a-=(this.c?6:7)+b}
|
||||||
function Fd(a){var b=ad(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.j=this.f=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.j=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.j=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.f=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.s=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function Gd(a){V(this,a,!R(this))}function Hd(a){V(this,a,R(this))}
|
function Fd(a){var b=ad(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.j=this.f=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.j=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.j=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.f=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.s=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function Gd(a){V(this,a,!R(this))}function Hd(a){V(this,a,R(this))}
|
||||||
function Id(a){U(this,a,Yc(this,a),jd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Jd(a){T(this,a,Xc(this,a),kd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Kd(a){U(this,a,Yc(this,a),ld);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Ld(a){T(this,a,Xc(this,a),md);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
|
function Id(a){U(this,a,Yc(this,a),jd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Jd(a){T(this,a,Xc(this,a),kd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Kd(a){U(this,a,Yc(this,a),ld);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Ld(a){T(this,a,Xc(this,a),md);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
|
||||||
function Md(a){var b=Yc(this,a);a=ad(this,a);this.ba((0>b?this.g[-b-1]:b)&a);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function Nd(a){var b=Xc(this,a);a=$c(this,a);this.ba(((0>b?this.g[-b-1]&255:b)&a)<<8);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function Od(a){V(this,a,this.i&65535?0:4)}function Pd(a){V(this,a,!Kc(this)==!(this.f&32768))}function Qd(a){V(this,a,!!(this.i&65535)&&!Kc(this)==!(this.f&32768))}
|
function Md(a){var b=Yc(this,a);a=ad(this,a);this.ca((0>b?this.g[-b-1]:b)&a);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function Nd(a){var b=Xc(this,a);a=$c(this,a);this.ca(((0>b?this.g[-b-1]&255:b)&a)<<8);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function Od(a){V(this,a,this.i&65535?0:4)}function Pd(a){V(this,a,!Kc(this)==!(this.f&32768))}function Qd(a){V(this,a,!!(this.i&65535)&&!Kc(this)==!(this.f&32768))}
|
||||||
function Rd(a){V(this,a,!R(this)&&!!(this.i&65535))}function Sd(a){V(this,a,(this.i&65535?0:4)||!Kc(this)!=!(this.f&32768))}function Td(a){V(this,a,R(this)||(this.i&65535?0:4))}function Ud(a){V(this,a,!Kc(this)!=!(this.f&32768))}function Vd(a){V(this,a,Kc(this))}function Wd(a){V(this,a,!!(this.i&65535))}function Xd(a){V(this,a,!Kc(this))}function Yd(){K(this,12,0,-9)}function Zd(a){V(this,a,!0)}function $d(a){V(this,a,!(this.f&32768))}function ae(a){V(this,a,this.f&32768?2:0)}
|
function Rd(a){V(this,a,!R(this)&&!!(this.i&65535))}function Sd(a){V(this,a,(this.i&65535?0:4)||!Kc(this)!=!(this.f&32768))}function Td(a){V(this,a,R(this)||(this.i&65535?0:4))}function Ud(a){V(this,a,!Kc(this)!=!(this.f&32768))}function Vd(a){V(this,a,Kc(this))}function Wd(a){V(this,a,!!(this.i&65535))}function Xd(a){V(this,a,!Kc(this))}function Yd(){K(this,12,0,-9)}function Zd(a){V(this,a,!0)}function $d(a){V(this,a,!(this.f&32768))}function ae(a){V(this,a,this.f&32768?2:0)}
|
||||||
function W(a){a&1&&(this.j=0);a&2&&(this.f=0);a&4&&(this.i=1);a&8&&(this.s=0);this.a-=5}function be(a){var b=Yc(this,a);a=ad(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Pc(this,c,a,b);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function ce(a){var b=Xc(this,a);a=$c(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Pc(this,c,a,b);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}
|
function W(a){a&1&&(this.j=0);a&2&&(this.f=0);a&4&&(this.i=1);a&8&&(this.s=0);this.a-=5}function be(a){var b=Yc(this,a);a=ad(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Pc(this,c,a,b);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function ce(a){var b=Xc(this,a);a=$c(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Pc(this,c,a,b);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}
|
||||||
function de(a){var b=ad(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.j=this.f=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.i=d>>16|d,this.s=d>>16):(this.f=32768,this.i=d>>15|d,this.s=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.a-=53}else this.i=this.s=0,this.f=32768,this.j=65536,this.a-=7}function ee(){K(this,24,0,-9);this.a-=20}
|
function de(a){var b=ad(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.j=this.f=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.i=d>>16|d,this.s=d>>16):(this.f=32768,this.i=d>>15|d,this.s=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.a-=53}else this.i=this.s=0,this.f=32768,this.j=65536,this.a-=7}function ee(){K(this,24,0,-9);this.a-=20}
|
||||||
function fe(){this.D&49152?(this.Y|=128,K(this,4,0,-8)):(this.w&&1120==this.Sa&&this.w.setData(this.g[0],!0),this.G?this.G.c():H(this));this.a-=7}function ge(){K(this,16,0,-9);this.a-=20}var he=[0,7,7,10,7,11,9,13];function ie(a){this.I=this.a;S(this,Zc(this,a));this.a=this.I-he[this.c]}var je=[0,14,14,17,14,18,16,20];function ke(a){this.I=this.a;var b=Zc(this,a);a=a>>6&7;Qc(this,this.g[a]);this.g[a]=this.g[7];S(this,b);this.a=this.I-je[this.c]}var le=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];
|
function fe(){this.D&49152?(this.X|=128,K(this,4,0,-8)):(this.A&&1120==this.Va&&this.A.setData(this.g[0],!0),this.G?this.G.c():H(this));this.a-=7}function ge(){K(this,16,0,-9);this.a-=20}var he=[0,7,7,10,7,11,9,13];function ie(a){this.J=this.a;S(this,Zc(this,a));this.a=this.J-he[this.c]}var je=[0,14,14,17,14,18,16,20];function ke(a){this.J=this.a;var b=Zc(this,a);a=a>>6&7;Qc(this,this.g[a]);this.g[a]=this.g[7];S(this,b);this.a=this.J-je[this.c]}var le=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];
|
||||||
function me(a){var b=Yc(this,a);this.I=this.a;cd(this,a,b,this.ba);this.a=this.I-le[(this.B?8:0)+this.c]+(7!=this.b||this.c?0:2)}function ne(a){var b=Xc(this,a);bd(this,a,b,65535,this.ba);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}var oe=[7,13,13,17,14,18,17,21];
|
function me(a){var b=Yc(this,a);this.J=this.a;cd(this,a,b,this.ca);this.a=this.J-le[(this.B?8:0)+this.c]+(7!=this.b||this.c?0:2)}function ne(a){var b=Xc(this,a);bd(this,a,b,65535,this.ca);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}var oe=[7,13,13,17,14,18,17,21];
|
||||||
function pe(a){var b=ad(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.s=b>>16;this.i=this.s|b;this.f=0;this.j=-32768>b||32767<b?65536:0;this.a-=23}function qe(){this.a-=5}function re(){this.D&49152||(this.h.reset(),ob(this),this.w&&this.w.setData(this.g[0],!0));this.a-=667}function se(a){if(a&8)K(this,8,0,-9);else{var b=Sc(this);a&=7;7==a?S(this,b):(S(this,this.g[a]),this.g[a]=b);this.a-=9}}
|
function pe(a){var b=ad(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.s=b>>16;this.i=this.s|b;this.f=0;this.j=-32768>b||32767<b?65536:0;this.a-=23}function qe(){this.a-=5}function re(){this.D&49152||(this.h.reset(),ob(this),this.A&&this.A.setData(this.g[0],!0));this.a-=667}function se(a){if(a&8)K(this,8,0,-9);else{var b=Sc(this);a&=7;7==a?S(this,b):(S(this,this.g[a]),this.g[a]=b);this.a-=9}}
|
||||||
function te(){Rc(this);this.a-=13}function X(a){a&1&&(this.j=65536);a&2&&(this.f=32768);a&4&&(this.i=0);a&8&&(this.s=32768);this.a-=5}function ue(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)S(this,this.g[7]-((a&63)<<1)),this.a+=1;this.a-=6}function ve(a){U(this,a,Yc(this,a),zd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function we(a){U(this,a,0,Bd);this.a-=this.c?9:3+(7==this.b?2:0)}function xe(){K(this,28,0,-9)}
|
function te(){Rc(this);this.a-=13}function X(a){a&1&&(this.j=65536);a&2&&(this.f=32768);a&4&&(this.i=0);a&8&&(this.s=32768);this.a-=5}function ue(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)S(this,this.g[7]-((a&63)<<1)),this.a+=1;this.a-=6}function ve(a){U(this,a,Yc(this,a),zd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function we(a){U(this,a,0,Bd);this.a-=this.c?9:3+(7==this.b?2:0)}function xe(){K(this,28,0,-9)}
|
||||||
function ye(){this.w&&(this.w.la=this.g[7],this.w.setData(this.g[0],!0));this.v|=8;Mc(this,-2);this.a-=3}function ze(a){U(this,a,this.g[(a>>6&7)+this.sb],Cd);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){K(this,8,0,-9)}function Hc(a){Ae[a>>12].call(this,a)}function Be(a){Ce[a>>6&3].call(this,a)}function De(a){Ee[a>>6&3].call(this,a)}function Fe(a){Ge[a>>6&3].call(this,a)}function He(a){Ie[a&15].call(this,a)}function Je(a){Ke[a&15].call(this,a)}function Le(a){Me[a>>6&3].call(this,a)}
|
function ye(){this.A&&(this.A.la=this.g[7],this.A.setData(this.g[0],!0));this.v|=8;Mc(this,-2);this.a-=3}function ze(a){U(this,a,this.g[(a>>6&7)+this.tb],Cd);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){K(this,8,0,-9)}function Hc(a){Ae[a>>12].call(this,a)}function Be(a){Ce[a>>6&3].call(this,a)}function De(a){Ee[a>>6&3].call(this,a)}function Fe(a){Ge[a>>6&3].call(this,a)}function He(a){Ie[a&15].call(this,a)}function Je(a){Ke[a&15].call(this,a)}function Le(a){Me[a>>6&3].call(this,a)}
|
||||||
function Ne(a){Oe[a>>6&3].call(this,a)}function Pe(a){Qe[a>>6&3].call(this,a)}
|
function Ne(a){Oe[a>>6&3].call(this,a)}function Pe(a){Qe[a>>6&3].call(this,a)}
|
||||||
var Ae=[function(a){Re[a>>8&15].call(this,a)},me,be,Md,Id,Kd,Dd,Y,function(a){Se[a>>8&15].call(this,a)},ne,ce,Nd,Jd,Ld,ve,Y],Re=[function(a){Te[a>>4&15].call(this,a)},Zd,Wd,Od,Pd,Ud,Qd,Sd,ke,ke,Be,De,Fe,Y,Y,Y],Ce=[function(a){cd(this,a,0,this.Fa);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,nd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,rd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,pd);this.a-=this.c?9:3+(7==this.b?2:0)}],Ee=[function(a){U(this,a,0,td);
|
var Ae=[function(a){Re[a>>8&15].call(this,a)},me,be,Md,Id,Kd,Dd,Y,function(a){Se[a>>8&15].call(this,a)},ne,ce,Nd,Jd,Ld,ve,Y],Re=[function(a){Te[a>>4&15].call(this,a)},Zd,Wd,Od,Pd,Ud,Qd,Sd,ke,ke,Be,De,Fe,Y,Y,Y],Ce=[function(a){cd(this,a,0,this.Ga);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,nd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,rd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,pd);this.a-=this.c?9:3+(7==this.b?2:0)}],Ee=[function(a){U(this,a,0,td);
|
||||||
this.a-=this.c?11:6},function(a){U(this,a,R(this)?1:0,dd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,R(this)?1:0,zd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=ad(this,a);this.Fa(a);this.a-=this.c?4:3+(7==this.b?2:0)}],Ge=[function(a){U(this,a,0,xd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,vd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,hd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,fd);this.a-=this.c?9:3+(7==this.b?2:0)}],Te=[function(a){Ue[a&
|
this.a-=this.c?11:6},function(a){U(this,a,R(this)?1:0,dd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,R(this)?1:0,zd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=ad(this,a);this.Ga(a);this.a-=this.c?4:3+(7==this.b?2:0)}],Ge=[function(a){U(this,a,0,xd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,vd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,hd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,fd);this.a-=this.c?9:3+(7==this.b?2:0)}],Te=[function(a){Ue[a&
|
||||||
15].call(this,a)},Y,Y,Y,ie,ie,ie,ie,se,Y,He,Je,we,we,we,we],Ue=[fe,ye,te,Yd,ge,re,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],Ie=[qe,function(){this.j=0;this.a-=5},function(){this.f=0;this.a-=5},W,function(){this.i=1;this.a-=5},W,W,W,function(){this.s=0;this.a-=5},W,W,W,W,W,W,W],Ke=[qe,function(){this.j=65536;this.a-=5},function(){this.f=32768;this.a-=5},X,function(){this.i=0;this.a-=5},X,X,X,function(){this.s=32768;this.a-=5},X,X,X,X,X,X,X],Se=[Xd,Vd,Rd,Td,$d,ae,Gd,Hd,ee,xe,Le,Ne,Pe,Y,Y,Y],Me=[function(a){bd(this,a,0,
|
15].call(this,a)},Y,Y,Y,ie,ie,ie,ie,se,Y,He,Je,we,we,we,we],Ue=[fe,ye,te,Yd,ge,re,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],Ie=[qe,function(){this.j=0;this.a-=5},function(){this.f=0;this.a-=5},W,function(){this.i=1;this.a-=5},W,W,W,function(){this.s=0;this.a-=5},W,W,W,W,W,W,W],Ke=[qe,function(){this.j=65536;this.a-=5},function(){this.f=32768;this.a-=5},X,function(){this.i=0;this.a-=5},X,X,X,function(){this.s=32768;this.a-=5},X,X,X,X,X,X,X],Se=[Xd,Vd,Rd,Td,$d,ae,Gd,Hd,ee,xe,Le,Ne,Pe,Y,Y,Y],Me=[function(a){bd(this,a,0,
|
||||||
255,this.Fa);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,od);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,sd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,qd);this.a-=this.c?9:3+(7==this.b?2:0)}],Oe=[function(a){T(this,a,0,ud);this.a-=this.c?11:6},function(a){T(this,a,R(this)?1:0,ed);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,R(this)?1:0,Ad);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=$c(this,a);this.Fa(a<<8);this.a-=this.c?4:3+(7==this.b?
|
255,this.Ga);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,od);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,sd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,qd);this.a-=this.c?9:3+(7==this.b?2:0)}],Oe=[function(a){T(this,a,0,ud);this.a-=this.c?11:6},function(a){T(this,a,R(this)?1:0,ed);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,R(this)?1:0,Ad);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=$c(this,a);this.Ga(a<<8);this.a-=this.c?4:3+(7==this.b?
|
||||||
2:0)}],Qe=[function(a){T(this,a,0,yd);this.a-=this.c?9+(this.Bb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,wd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,id);this.a-=this.c?9+(this.Bb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,gd);this.a-=this.c?9:3+(7==this.b?2:0)}];function Ic(a){Ve[a>>12].call(this,a)}
|
2:0)}],Qe=[function(a){T(this,a,0,yd);this.a-=this.c?9+(this.Hb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,wd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,id);this.a-=this.c?9+(this.Hb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,gd);this.a-=this.c?9:3+(7==this.b?2:0)}];function Ic(a){Ve[a>>12].call(this,a)}
|
||||||
var Ve=[function(a){We[a>>8&15].call(this,a)},me,be,Md,Id,Kd,Dd,function(a){Xe[a>>8&15].call(this,a)},function(a){Ye[a>>8&15].call(this,a)},ne,ce,Nd,Jd,Ld,ve,Y],We=[function(a){Ze[a>>4&15].call(this,a)},Zd,Wd,Od,Pd,Ud,Qd,Sd,ke,ke,Be,De,Fe,function(a){$e[a>>6&3].call(this,a)},Y,Y],$e=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.X(a|this.T);S(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.a-=8},function(a){a=Vc(this,a,0);this.ba(a);Qc(this,a);this.a-=11},function(a){var b=Sc(this);this.I=
|
var Ve=[function(a){We[a>>8&15].call(this,a)},me,be,Md,Id,Kd,Dd,function(a){Xe[a>>8&15].call(this,a)},function(a){Ye[a>>8&15].call(this,a)},ne,ce,Nd,Jd,Ld,ve,Y],We=[function(a){Ze[a>>4&15].call(this,a)},Zd,Wd,Od,Pd,Ud,Qd,Sd,ke,ke,Be,De,Fe,function(a){$e[a>>6&3].call(this,a)},Y,Y],$e=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.aa(a|this.T);S(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.a-=8},function(a){a=Vc(this,a,0);this.ca(a);Qc(this,a);this.a-=11},function(a){var b=Sc(this);this.J=
|
||||||
this.a;this.ba(b);Wc(this,a,0,b);this.a=this.I-oe[this.c]},function(a){cd(this,a,Kc(this)?65535:0,this.ba);this.a-=this.c?9:3+(7==this.b?2:0)}],Ze=[function(a){af[a&15].call(this,a)},Y,Y,Y,ie,ie,ie,ie,se,function(a){a&8?(this.D&49152||(this.D=this.D&-2017|(a&7)<<5,this.v|=1,this.v&=-3),this.a-=5):K(this,8,0,-9)},He,Je,we,we,we,we],af=[fe,ye,function(){Rc(this);this.v|=this.D&16;this.a-=13},Yd,ge,re,te,function(){K(this,8,0,-9)},Y,Y,Y,Y,Y,Y,Y,Y],Xe=[pe,pe,de,de,Ed,Ed,Fd,Fd,ze,ze,Y,Y,Y,Y,ue,ue],Ye=
|
this.a;this.ca(b);Wc(this,a,0,b);this.a=this.J-oe[this.c]},function(a){cd(this,a,Kc(this)?65535:0,this.ca);this.a-=this.c?9:3+(7==this.b?2:0)}],Ze=[function(a){af[a&15].call(this,a)},Y,Y,Y,ie,ie,ie,ie,se,function(a){a&8?(this.D&49152||(this.D=this.D&-2017|(a&7)<<5,this.v|=1,this.v&=-3),this.a-=5):K(this,8,0,-9)},He,Je,we,we,we,we],af=[fe,ye,function(){Rc(this);this.v|=this.D&16;this.a-=13},Yd,ge,re,te,function(){K(this,8,0,-9)},Y,Y,Y,Y,Y,Y,Y,Y],Xe=[pe,pe,de,de,Ed,Ed,Fd,Fd,ze,ze,Y,Y,Y,Y,ue,ue],Ye=
|
||||||
[Xd,Vd,Rd,Td,$d,ae,Gd,Hd,ee,xe,Le,Ne,Pe,function(a){bf[a>>6&3].call(this,a)},Y,Y],bf=[Y,function(a){a=Vc(this,a,65536);this.ba(a);Qc(this,a);this.a-=11},function(a){var b=Sc(this);this.I=this.a;this.ba(b);Wc(this,a,65536,b);this.a=this.I-oe[this.c]},Y];
|
[Xd,Vd,Rd,Td,$d,ae,Gd,Hd,ee,xe,Le,Ne,Pe,function(a){bf[a>>6&3].call(this,a)},Y,Y],bf=[Y,function(a){a=Vc(this,a,65536);this.ca(a);Qc(this,a);this.a-=11},function(a){var b=Sc(this);this.J=this.a;this.ca(b);Wc(this,a,65536,b);this.a=this.J-oe[this.c]},Y];
|
||||||
function cf(a){x.call(this,"ROM",a,cf,128);this.ca=this.c=null;this.i=a.addr;this.b=a.size;this.j=!1;this.f=a.alias;this.m=a.file;this.s=t(this.m);if(this.m){a=this.m;var b=ka(this.s);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.m+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.C("Unable to load ROM resource (error "+f+": "+a+")"),c.m=null):(Ta(c.za,a,b),(a=sa(a,b))?(c.c=a.M,c.ca=a.ca):c.m=null);df(c)})}}z(cf);h=cf.prototype;
|
function cf(a){y.call(this,"ROM",a,cf,128);this.da=this.c=null;this.i=a.addr;this.b=a.size;this.j=!1;this.f=a.alias;this.m=a.file;this.s=t(this.m);if(this.m){a=this.m;var b=ka(this.s);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.m+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.C("Unable to load ROM resource (error "+f+": "+a+")"),c.m=null):(Ta(c.Ba,a,b),(a=sa(a,b))?(c.c=a.M,c.da=a.da):c.m=null);df(c)})}}B(cf);h=cf.prototype;
|
||||||
h.ia=function(a,b,c,d){this.h=b;this.a=c;this.G=d;df(this)};h.ka=function(){this.ca&&(this.G&&this.G.a(this.id,this.i,this.b,this.ca),delete this.ca);return!0};h.ja=function(){return!0};
|
h.ia=function(a,b,c,d){this.h=b;this.a=c;this.G=d;df(this)};h.ka=function(){this.da&&(this.G&&this.G.a(this.id,this.i,this.b,this.da),delete this.da);return!0};h.ja=function(){return!0};
|
||||||
function df(a){if(!Xa(a)){if(a.m){if(!a.c||!a.h)return;a.b||(a.b=a.c.length);if(a.c.length!=a.b)Ya(a,"ROM size ("+r(a.c.length,8,!0)+") does not match specified size ("+r(a.b,8,!0)+")");else{var b;a:{b=a.i;a.status(a.b+"-byte ROM at "+ja(b));if(57344<=b&&b<57344+Cb){var c={};b=(c[b]=[cf.prototype.Hd,cf.prototype.Fe,null,null,null,a.b>>1],c);if(fb(a.h,a,b)){b=a.j=!0;break a}}else if(Ib(a.h,b,a.b,mc)){for(c=0;c<a.c.length;c++)Rb(a.h,b+c,a.c[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.f?b.push(a.f):
|
function df(a){if(!Xa(a)){if(a.m){if(!a.c||!a.h)return;a.b||(a.b=a.c.length);if(a.c.length!=a.b)Ya(a,"ROM size ("+r(a.c.length,8,!0)+") does not match specified size ("+r(a.b,8,!0)+")");else{var b;a:{b=a.i;a.status(a.b+"-byte ROM at "+ja(b));if(57344<=b&&b<57344+Cb){var c={};b=(c[b]=[cf.prototype.Hd,cf.prototype.Fe,null,null,null,a.b>>1],c);if(fb(a.h,a,b)){b=a.j=!0;break a}}else if(Ib(a.h,b,a.b,mc)){for(c=0;c<a.c.length;c++)Rb(a.h,b+c,a.c[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.f?b.push(a.f):
|
||||||
null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.h,g=d.b,k=[],l=d.i>>>f.b;0<g&&l<f.h.length;)k.push(f.h[l++]),g-=f.c;f=d.h;d=d.b;g=0;for(e>>>=f.b;0<d&&e<f.h.length;){l=k[g++];if(!l)break;f.h[e++]=l;d-=f.c}}a.j||delete a.c}}}G(a)}}h.Hd=function(a){return this.c[a-this.i]};h.Fe=function(){};Ia(function(){for(var a=E(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new cf(d);D(d,c)}});
|
null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.h,g=d.b,k=[],l=d.i>>>f.b;0<g&&l<f.h.length;)k.push(f.h[l++]),g-=f.c;f=d.h;d=d.b;g=0;for(e>>>=f.b;0<d&&e<f.h.length;){l=k[g++];if(!l)break;f.h[e++]=l;d-=f.c}}a.j||delete a.c}}}G(a)}}h.Hd=function(a){return this.c[a-this.i]};h.Fe=function(){};Ia(function(){for(var a=F(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new cf(d);E(d,c)}});
|
||||||
function ef(a){x.call(this,"RAM",a,ef);this.ca=this.c=null;this.m=a.addr;this.f=a.size;this.pa=a.load;this.oa=a.exec;this.i=!1;this.b=a.file;this.j=t(this.b);if(this.b){a=this.b;var b=ka(this.j);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.C("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(Ta(c.za,a,b),(a=sa(a,b))?(c.c=a.M,c.ca=a.ca,null==c.pa&&(c.pa=a.pa),null==c.oa&&(c.oa=a.oa)):c.b=null);ff(c)})}}
|
function ef(a){y.call(this,"RAM",a,ef);this.da=this.c=null;this.m=a.addr;this.f=a.size;this.pa=a.load;this.oa=a.exec;this.i=!1;this.b=a.file;this.j=t(this.b);if(this.b){a=this.b;var b=ka(this.j);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.C("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(Ta(c.Ba,a,b),(a=sa(a,b))?(c.c=a.M,c.da=a.da,null==c.pa&&(c.pa=a.pa),null==c.oa&&(c.oa=a.oa)):c.b=null);ff(c)})}}
|
||||||
z(ef);ef.prototype.ia=function(a,b,c,d){this.h=b;this.a=c;this.G=d;ff(this)};ef.prototype.ka=function(){this.ca&&(this.G&&this.G.a(this.id,this.m,this.f,this.ca),delete this.ca);return!0};ef.prototype.ja=function(){return!0};function ff(a){if(a.h&&(!a.i&&a.f&&(Ib(a.h,a.m,a.f,Ub)?a.i=!0:a.f=0),!Xa(a))){if(!a.i)w("No RAM allocated");else if(a.b){if(!a.c||!a.h)return;gf(a,a.c,a.pa,a.oa,a.m)}G(a)}}
|
B(ef);ef.prototype.ia=function(a,b,c,d){this.h=b;this.a=c;this.G=d;ff(this)};ef.prototype.ka=function(){this.da&&(this.G&&this.G.a(this.id,this.m,this.f,this.da),delete this.da);return!0};ef.prototype.ja=function(){return!0};function ff(a){if(a.h&&(!a.i&&a.f&&(Ib(a.h,a.m,a.f,Ub)?a.i=!0:a.f=0),!Xa(a))){if(!a.i)x("No RAM allocated");else if(a.b){if(!a.c||!a.h)return;gf(a,a.c,a.pa,a.oa,a.m)}G(a)}}
|
||||||
ef.prototype.reset=function(){if(this.i){for(var a=this.h,b=this.m,c=this.f,d=b&a.m,b=b>>>a.b;0<c&&b<a.h.length;){var e=a.h[b],f=c,g=0,k,d=d||0,g=g&255;void 0===f&&(f=e.size);if(Za&&e.l)for(k=d;f--&&k<e.l.length;k++)e.l[k]=g;else for(k=d;f--&&k<e.size;k++)e.Sb(d,g,e.Ga+d);c-=a.c;b++;d=0}this.c&&gf(this,this.c,this.pa,this.oa,this.m,!0)}};
|
ef.prototype.reset=function(){if(this.i){for(var a=this.h,b=this.m,c=this.f,d=b&a.m,b=b>>>a.b;0<c&&b<a.h.length;){var e=a.h[b],f=c,g=0,k,d=d||0,g=g&255;void 0===f&&(f=e.size);if(Za&&e.l)for(k=d;f--&&k<e.l.length;k++)e.l[k]=g;else for(k=d;f--&&k<e.size;k++)e.Ub(d,g,e.Ha+d);c-=a.c;b++;d=0}this.c&&gf(this,this.c,this.pa,this.oa,this.m,!0)}};
|
||||||
function gf(a,b,c,d,e,f){var g=!1;if(null==c)for(var k=0;k<b.length-1;){var l=b[k]&255|(b[k+1]&255)<<8;if(l)if(l&255){if(1!=l)break;if(k+6>=b.length)break;for(var k=k+2,n=b[k++]&255|(b[k++]&255)<<8,p=b[k++]&255|(b[k++]&255)<<8,l=l+((n&255)+(n>>8)+(p&255)+(p>>8)),u=k,A=n-=6;0<n&&k<b.length;)l+=b[k++]&255,n--;if(n||k>=b.length)break;l+=b[k++]&255;if(l&255)break;if(A)for(;A--;)Rb(a.h,p++,b[u++]&255);else p&1?H(a.a):null==d&&(d=p);g=!0}else k++;else k+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g<b.length;g++)Rb(a.h,
|
function gf(a,b,c,d,e,f){var g=!1;if(null==c)for(var k=0;k<b.length-1;){var l=b[k]&255|(b[k+1]&255)<<8;if(l)if(l&255){if(1!=l)break;if(k+6>=b.length)break;for(var k=k+2,n=b[k++]&255|(b[k++]&255)<<8,p=b[k++]&255|(b[k++]&255)<<8,l=l+((n&255)+(n>>8)+(p&255)+(p>>8)),u=k,v=n-=6;0<n&&k<b.length;)l+=b[k++]&255,n--;if(n||k>=b.length)break;l+=b[k++]&255;if(l&255)break;if(v)for(;v--;)Rb(a.h,p++,b[u++]&255);else p&1?H(a.a):null==d&&(d=p);g=!0}else k++;else k+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g<b.length;g++)Rb(a.h,
|
||||||
c+g,b[g]);g=!0}g&&null!=d&&(a=a.a,a.Yb=d,a.h.reset(),ob(a),S(a,d),fc(a,0),!f&&a.G&&(H(a)||a.G.h()));return g}Ia(function(){for(var a=E(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new ef(d);D(d,c)}});function hf(a){x.call(this,"Keyboard",a,hf,1024);G(this)}z(hf);hf.prototype.aa=function(){return!1};hf.prototype.ia=function(a,b,c,d){this.m=a;this.a=c;this.G=d};Ia(function(){for(var a=E(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new hf(d);D(d,c)}});
|
c+g,b[g]);g=!0}g&&null!=d&&(a=a.a,a.$b=d,a.h.reset(),ob(a),S(a,d),fc(a,0),!f&&a.G&&(H(a)||a.G.h()));return g}Ia(function(){for(var a=F(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new ef(d);E(d,c)}});function hf(a){y.call(this,"Keyboard",a,hf,1024);G(this)}B(hf);hf.prototype.ba=function(){return!1};hf.prototype.ia=function(a,b,c,d){this.m=a;this.a=c;this.G=d};Ia(function(){for(var a=F(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new hf(d);E(d,c)}});
|
||||||
function Z(a){this.A=a.adapter;this.L=a.baudReceive||9600;this.ma=a.baudTransmit||9600;this.ra=a.upperCase;this.f=this.j=null;this.fa=a.tabSize;this.R=a.charBOL;this.s=0;this.w=!0;x.call(this,"SerialPort",a,Z,262144);var b=a.binding;if("console"==b)this.j="";else{var c;a=jf;b&&(void 0===c&&(c="Panel"),(c=Va(c,this.id))&&(b=c.l[b])&&this.aa(null,a,b))}this.i=this.F=this.H=null;this.exports={connect:this.cc,receiveData:this.wb,receiveStatus:this.Wd}}z(Z);var jf="buffer";h=Z.prototype;
|
function Z(a){this.w=a.adapter;this.L=a.baudReceive||9600;this.ma=a.baudTransmit||9600;this.sa=a.upperCase;this.f=this.j=null;this.fa=a.tabSize;this.R=a.charBOL;this.s=0;this.A=!0;y.call(this,"SerialPort",a,Z,262144);var b=a.binding;if("console"==b)this.j="";else{var c;a=jf;b&&(void 0===c&&(c="Panel"),(c=Va(c,this.id))&&(b=c.l[b])&&this.ba(null,a,b))}this.i=this.F=this.I=null;this.exports={connect:this.ec,receiveData:this.zb,receiveStatus:this.Wd}}B(Z);var jf="buffer";h=Z.prototype;
|
||||||
h.aa=function(a,b,c){var d=this;switch(b){case jf:return this.l[b]=this.f=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?m.Vb:m.rc:46==c?b=m.Vb:a.ctrlKey&&c>=m.Tb&&c<=m.Ac&&(b=c-(m.Tb-m.oc));b&&(a.preventDefault&&a.preventDefault(),d.wb(b));return!0},c.onkeypress=function(a){a=a||window.event;var b=a.which||a.keyCode;a.altKey&&b==m.qc&&(b=m.pc);d.wb(b);a.preventDefault&&a.preventDefault();return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();a.preventDefault&&
|
h.ba=function(a,b,c){var d=this;switch(b){case jf:return this.l[b]=this.f=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?m.Xb:m.rc:46==c?b=m.Xb:a.ctrlKey&&c>=m.Vb&&c<=m.Ac&&(b=c-(m.Vb-m.oc));b&&(a.preventDefault&&a.preventDefault(),d.zb(b));return!0},c.onkeypress=function(a){a=a||window.event;var b=a.which||a.keyCode;a.altKey&&b==m.qc&&(b=m.pc);d.zb(b);a.preventDefault&&a.preventDefault();return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();a.preventDefault&&
|
||||||
a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.wb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
|
a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.zb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
|
||||||
h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;var e=this;this.T=Zb(this.a,this.A?-1:48,4,262144);this.ga=Xb(this.a,function(){var a;a=-1;e.u.length&&(a=e.u.shift()&255,e.ra&&97<=a&&122>a&&(a-=32),Yb(e.a,e.ga,1E3/Math.round(e.L/10)));0<=a&&(e.B=a,e.b&128?e.B|=49152:e.b|=128,e.b&64&&M(c,e.T))});this.I=Zb(this.a,this.A?-1:52,4,262144);this.na=Xb(this.a,function(){e.c|=128;e.c&64&&M(c,e.I)});fb(b,this,kf,this.A?64832+8*(this.A-1)-65392:0);hb(b,this.reset.bind(this));G(this)};
|
h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;var e=this;this.T=Zb(this.a,this.w?-1:48,4,262144);this.ga=Xb(this.a,function(){var a;a=-1;e.u.length&&(a=e.u.shift()&255,e.sa&&97<=a&&122>a&&(a-=32),Yb(e.a,e.ga,1E3/Math.round(e.L/10)));0<=a&&(e.B=a,e.b&128?e.B|=49152:e.b|=128,e.b&64&&M(c,e.T))});this.J=Zb(this.a,this.w?-1:52,4,262144);this.na=Xb(this.a,function(){e.c|=128;e.c&64&&M(c,e.J)});fb(b,this,kf,this.w?64832+8*(this.w-1)-65392:0);hb(b,this.reset.bind(this));G(this)};
|
||||||
h.cc=function(a){if(!this.i){var b=yc(this.m,"connection");if(b){var c=b.split("->");if(2==c.length){var d=oa(c[0]);if(d!=this.ya)return;c=oa(c[1]);if(this.i=Ua(c)){var e=this.i.exports;if(e){var f=e.connect;f&&f.call(this.i,this.w);if(this.F=e.receiveData){this.w=a;this.H=e.receiveStatus;this.status(this.za+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
|
h.ec=function(a){if(!this.i){var b=yc(this.m,"connection");if(b){var c=b.split("->");if(2==c.length){var d=oa(c[0]);if(d!=this.Aa)return;c=oa(c[1]);if(this.i=Ua(c)){var e=this.i.exports;if(e){var f=e.connect;f&&f.call(this.i,this.A);if(this.F=e.receiveData){this.A=a;this.I=e.receiveStatus;this.status(this.Ba+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
|
||||||
h.ka=function(a,b){if(!b)if(this.cc(this.w),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){lf(this)};h.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};h.restore=function(){return lf(this)};function lf(a){a.B=0;a.b=8192;a.c=128;a.u=[];return!0}
|
h.ka=function(a,b){if(!b)if(this.ec(this.A),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){lf(this)};h.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};h.restore=function(){return lf(this)};function lf(a){a.B=0;a.b=8192;a.c=128;a.u=[];return!0}
|
||||||
h.wb=function(a){if("number"==typeof a)this.u.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.u.push(b)}else this.u=this.u.concat(a);Yb(this.a,this.ga,1E3/Math.round(this.L/10));return!0};h.Wd=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&M(this.a,this.T))};h.ud=function(){var a=this.b&65534;this.b&=-32769;return a};
|
h.zb=function(a){if("number"==typeof a)this.u.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.u.push(b)}else this.u=this.u.concat(a);Yb(this.a,this.ga,1E3/Math.round(this.L/10));return!0};h.Wd=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&M(this.a,this.T))};h.ud=function(){var a=this.b&65534;this.b&=-32769;return a};
|
||||||
h.se=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.H&&b&6&&(b=0,b=this.w?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.H.call(this.i,b))};h.td=function(){this.b&=-129;return this.B};h.re=function(){};h.Vd=function(){return this.c};h.Te=function(a){this.c&128&&(a&64?M(this.a,this.I):bc(this.a,this.I));this.c=this.c&-70|a&69};h.Ud=function(){return 0};
|
h.se=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.I&&b&6&&(b=0,b=this.A?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.I.call(this.i,b))};h.td=function(){this.b&=-129;return this.B};h.re=function(){};h.Vd=function(){return this.c};h.Te=function(a){this.c&128&&(a&64?M(this.a,this.J):bc(this.a,this.J));this.c=this.c&-70|a&69};h.Ud=function(){return 0};
|
||||||
h.Se=function(a){a&=255;this.F&&this.F.call(this.i,a);a&=127;if(this.f)if(13==a)this.s=0;else if(8==a)this.f.value=this.f.value.slice(0,-1),0<this.s&&this.s--;else{if(a){var b;b=(b=pa[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.fa||8,c=a-this.s%a,this.fa&&(b=" ".slice(0,c)));this.R&&!this.s&&c&&(b=String.fromCharCode(this.R)+b);this.f.value+=b;this.f.scrollTop=this.f.scrollHeight;this.s+=c}}else if(null!=this.j){if(10==
|
h.Se=function(a){a&=255;this.F&&this.F.call(this.i,a);a&=127;if(this.f)if(13==a)this.s=0;else if(8==a)this.f.value=this.f.value.slice(0,-1),0<this.s&&this.s--;else{if(a){var b;b=(b=pa[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.fa||8,c=a-this.s%a,this.fa&&(b=" ".slice(0,c)));this.R&&!this.s&&c&&(b=String.fromCharCode(this.R)+b);this.f.value+=b;this.f.scrollTop=this.f.scrollHeight;this.s+=c}}else if(null!=this.j){if(10==
|
||||||
a||1024<=this.j.length)this.V(this.j),this.j="";10!=a&&(this.j+=String.fromCharCode(a))}Yb(this.a,this.na,1E3/Math.round(this.ma/10));this.c&=-129};var mf={},kf=(mf[65392]=[null,null,Z.prototype.ud,Z.prototype.se,"RCSR"],mf[65394]=[null,null,Z.prototype.td,Z.prototype.re,"RBUF"],mf[65396]=[null,null,Z.prototype.Vd,Z.prototype.Te,"XCSR"],mf[65398]=[null,null,Z.prototype.Ud,Z.prototype.Se,"XBUF"],mf);
|
a||1024<=this.j.length)this.W(this.j),this.j="";10!=a&&(this.j+=String.fromCharCode(a))}Yb(this.a,this.na,1E3/Math.round(this.ma/10));this.c&=-129};var mf={},kf=(mf[65392]=[null,null,Z.prototype.ud,Z.prototype.se,"RCSR"],mf[65394]=[null,null,Z.prototype.td,Z.prototype.re,"RBUF"],mf[65396]=[null,null,Z.prototype.Vd,Z.prototype.Te,"XCSR"],mf[65398]=[null,null,Z.prototype.Ud,Z.prototype.Se,"XBUF"],mf);
|
||||||
Ia(function(){for(var a=E(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Z(d);D(d,c)}});function gc(a){x.call(this,"PC11",a,gc);this.c=a.autoMount||null;this.j=0;this.R=a.baudReceive||3600;this.w=this.A=this.b=0;this.u=[];this.s=nf;this.f=of;this.B=this.i="";this.M=this.pa=this.oa=null;this.I=-1;this.F=!Ba("Mobi")&&window&&"FileReader"in window}z(gc);var nf="",of=0;h=gc.prototype;
|
Ia(function(){for(var a=F(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Z(d);E(d,c)}});function gc(a){y.call(this,"PC11",a,gc);this.c=a.autoMount||null;this.j=0;this.R=a.baudReceive||3600;this.A=this.w=this.b=0;this.u=[];this.s=nf;this.f=of;this.B=this.i="";this.M=this.pa=this.oa=null;this.J=-1;this.F=!Ba("Mobi")&&window&&"FileReader"in window}B(gc);var nf="",of=0;h=gc.prototype;
|
||||||
h.aa=function(a,b,c){var d=this,e=of;switch(b){case "listTapes":return this.l[b]=c,c.onchange=function(){var a=d.l.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){w("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.l[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.l[b]=c,c.onclick=
|
h.ba=function(a,b,c){var d=this,e=of;switch(b){case "listTapes":return this.l[b]=c,c.onchange=function(){var a=d.l.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){x("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.l[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.l[b]=c,c.onclick=
|
||||||
function(){var a=d.l.listTapes;a&&pf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.l[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;pf(d,t(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.l[b]=c,!0}return!1};
|
function(){var a=d.l.listTapes;a&&pf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.l[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;pf(d,t(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.l[b]=c,!0}return!1};
|
||||||
h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;this.L=qf(a);var e=this;if((this.c=yc(this.m,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){w("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.H=Zb(this.a,56,4,4096);this.T=Xb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.w<e.u.length&&(e.A=e.u[e.w++]&255,rf(e,e.w/e.u.length*100),e.b|=128,e.b&=-2049,e.b&64&&M(e.a,e.H))});fb(b,this,sf);hb(b,this.reset.bind(this));tf(this,"None",
|
h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;this.L=qf(a);var e=this;if((this.c=yc(this.m,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){x("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.I=Zb(this.a,56,4,4096);this.T=Xb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.A<e.u.length&&(e.w=e.u[e.A++]&255,rf(e,e.A/e.u.length*100),e.b|=128,e.b&=-2049,e.b&64&&M(e.a,e.I))});fb(b,this,sf);hb(b,this.reset.bind(this));tf(this,"None",
|
||||||
nf,!0);this.F&&tf(this,"Local Tape","?");tf(this,"Remote Tape","??");uf(this)||G(this)};h.ka=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.A=0};
|
nf,!0);this.F&&tf(this,"Local Tape","?");tf(this,"Remote Tape","??");uf(this)||G(this)};h.ka=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.w=0};
|
||||||
function uf(a){a.j=0;if(a.c){var b=a.c.path||"",c;if(!(c=a.c.name))a:{if((c=a.l.listTapes)&&c.options)for(var d=0;d<c.options.length;d++){var e=c.options[d];if(e.value==b){c=e.text;break a}}c=t(b,!0)}b&&c?vf(a,c,b,1,!0):wf(a)}return!!a.j}
|
function uf(a){a.j=0;if(a.c){var b=a.c.path||"",c;if(!(c=a.c.name))a:{if((c=a.l.listTapes)&&c.options)for(var d=0;d<c.options.length;d++){var e=c.options[d];if(e.value==b){c=e.text;break a}}c=t(b,!0)}b&&c?vf(a,c,b,1,!0):wf(a)}return!!a.j}
|
||||||
function pf(a,b,c,d,e){if(c)if("?"==c)a.C('Use "Choose File" and "Mount" to select and load a local tape.');else{if("??"==c){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=t(c);a.status("Attempting to load "+c+' as "'+b+'"');a.s="??"}else a.s=c;vf(a,b,c,d,!1,e)}else xf(a,!1)}function vf(a,b,c,d,e,f){var g=-1;if(a.i.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,xf(a,!0),a.o.Ha?a.C("PC11 busy"):(e&&a.j++,yf(a,b,c,d,f)?g++:a.o.Ha=!0);g&&zf(a,a.B,a.i,a.f,a.M,a.pa,a.oa)}
|
function pf(a,b,c,d,e){if(c)if("?"==c)a.C('Use "Choose File" and "Mount" to select and load a local tape.');else{if("??"==c){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=t(c);a.status("Attempting to load "+c+' as "'+b+'"');a.s="??"}else a.s=c;vf(a,b,c,d,!1,e)}else xf(a,!1)}function vf(a,b,c,d,e,f){var g=-1;if(a.i.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,xf(a,!0),a.o.Ia?a.C("PC11 busy"):(e&&a.j++,yf(a,b,c,d,f)?g++:a.o.Ia=!0);g&&zf(a,a.B,a.i,a.f,a.M,a.pa,a.oa)}
|
||||||
function yf(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),zf(a,b,c,d,e),a.s="?");wf(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=ka(c),f="json"==e||"gz"==e?encodeURI(c):ta()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!v(f,null,!0,function(e,f,g){var k=0>g&&a.m&&!a.m.o.P;g?a.C('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ta(a.za,e,f),(e=sa(e,f))&&zf(a,b,c,d,e.M,e.pa,e.oa));
|
function yf(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),zf(a,b,c,d,e),a.s="?");wf(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=ka(c),f="json"==e||"gz"==e?encodeURI(c):ta()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!w(f,null,!0,function(e,f,g){var k=0>g&&a.m&&!a.m.o.P;g?a.C('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ta(a.Ba,e,f),(e=sa(e,f))&&zf(a,b,c,d,e.M,e.pa,e.oa));
|
||||||
a.o.Ha=!1;a.j&&(a.j--,a.j||G(a));wf(a)})}function tf(a,b,c,d){if((a=a.l.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}function wf(a){var b=a.l.listTapes;if(b&&b.options){a=a.s||a.i;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}
|
a.o.Ia=!1;a.j&&(a.j--,a.j||G(a));wf(a)})}function tf(a,b,c,d){if((a=a.l.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}function wf(a){var b=a.l.listTapes;if(b&&b.options){a=a.s||a.i;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}
|
||||||
function rf(a,b){b|=0;if(b!==a.I){var c=a.l.readProgress;c&&(c=(c=E(c,"pcjs-progress-bar"))&&c[0])&&c.style&&(c.style.width=b+"%");a.I=b}}function zf(a,b,c,d,e,f,g){a.B=b;a.i=c;a.f=d;a.M=e;a.pa=f;a.oa=g;2==d?a.L&&gf(a.L,e,f,g)?a.status('Loaded tape "'+b+'"'):(a.B="",a.i="",a.s=nf,a.f=of,a.C('No load address available for tape "'+b+'"')):(a.w=0,a.u=e,a.status('Attached tape "'+b+'"'),rf(a,0))}
|
function rf(a,b){b|=0;if(b!==a.J){var c=a.l.readProgress;c&&(c=(c=F(c,"pcjs-progress-bar"))&&c[0])&&c.style&&(c.style.width=b+"%");a.J=b}}function zf(a,b,c,d,e,f,g){a.B=b;a.i=c;a.f=d;a.M=e;a.pa=f;a.oa=g;2==d?a.L&&gf(a.L,e,f,g)?a.status('Loaded tape "'+b+'"'):(a.B="",a.i="",a.s=nf,a.f=of,a.C('No load address available for tape "'+b+'"')):(a.A=0,a.u=e,a.status('Attached tape "'+b+'"'),rf(a,0))}
|
||||||
function xf(a,b){if(a.i||!1===b)a.B="",a.i="",b||(a.f&&a.status(1==a.f?"tape detached":"tape unloaded"),a.s=nf,a.f=of,wf(a))}h.save=function(){return(new Q(this)).data()};h.restore=function(){return!0};h.nd=function(){return this.b&65534};h.le=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&M(this.a,this.H)):(this.b&=-129,this.b|=2048,this.A=0,Yb(this.a,this.T,1E3/Math.round(this.R/10))));this.b=this.b&-66|a&65};h.md=function(){this.b&=-129;this.b|=2048;return this.A};h.ke=function(){};
|
function xf(a,b){if(a.i||!1===b)a.B="",a.i="",b||(a.f&&a.status(1==a.f?"tape detached":"tape unloaded"),a.s=nf,a.f=of,wf(a))}h.save=function(){return(new Q(this)).data()};h.restore=function(){return!0};h.nd=function(){return this.b&65534};h.le=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&M(this.a,this.I)):(this.b&=-129,this.b|=2048,this.w=0,Yb(this.a,this.T,1E3/Math.round(this.R/10))));this.b=this.b&-66|a&65};h.md=function(){this.b&=-129;this.b|=2048;return this.w};h.ke=function(){};
|
||||||
var Af={},sf=(Af[65384]=[null,null,gc.prototype.nd,gc.prototype.le,"PRS"],Af[65386]=[null,null,gc.prototype.md,gc.prototype.ke,"PRB"],Af);function Bf(a,b,c){x.call(this,"Disk",{id:a.za+".disk"+r(++Cf,4)},Bf,8192);this.controller=a;this.m=a.m;this.G=a.G;this.f=b;this.qa=b.name;this.ub=b.ub;Df(this,c,b.K,b.O,b.N,b.U);G(this)}var Cf=0;z(Bf);h=Bf.prototype;h.ia=function(a,b,c,d){this.G=d};
|
var Af={},sf=(Af[65384]=[null,null,gc.prototype.nd,gc.prototype.le,"PRS"],Af[65386]=[null,null,gc.prototype.md,gc.prototype.ke,"PRB"],Af);function Bf(a,b,c){y.call(this,"Disk",{id:a.Ba+".disk"+r(++Cf,4)},Bf,8192);this.controller=a;this.m=a.m;this.G=a.G;this.f=b;this.ra=b.name;this.xb=b.xb;Df(this,c,b.K,b.O,b.N,b.U);G(this)}var Cf=0;B(Bf);h=Bf.prototype;h.ia=function(a,b,c,d){this.G=d};
|
||||||
function Df(a,b,c,d,e,f){a.mode=b;a.K=c;a.O=d;a.N=e;a.U=f;a.a=[];if("preload"!=a.mode){b=Array(a.K);for(c=0;c<b.length;c++){d=Array(a.O);for(e=0;e<d.length;e++){f=Array(a.N);for(var g=1;g<=f.length;g++)f[g-1]=Ef(null,c,e,g,a.U,0);d[e]=f}b[c]=d}a.a=b}a.b=null}
|
function Df(a,b,c,d,e,f){a.mode=b;a.K=c;a.O=d;a.N=e;a.U=f;a.a=[];if("preload"!=a.mode){b=Array(a.K);for(c=0;c<b.length;c++){d=Array(a.O);for(e=0;e<d.length;e++){f=Array(a.N);for(var g=1;g<=f.length;g++)f[g-1]=Ef(null,c,e,g,a.U,0);d[e]=f}b[c]=d}a.a=b}a.b=null}
|
||||||
function Ff(a,b,c,d,e){var f=c;if(a.h)return!0;a.qa=b;a.ea=c;a.Ob=t(c);a.h=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ia[d];if(e){a.K=e[0];a.O=e[1];a.N=e[2];a.U=e[3]||512;c=a.U>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.K);for(d=0;d<a.a.length;d++)for(var A=a.a[d]=Array(a.O),F=0;F<A.length;F++)for(var xa=A[F]=Array(a.N),ya=0;ya<xa.length;ya++){for(var ac=Ef(null,d,F,ya+1,a.U,0),pg=ac.data,pc=0;pc<c;pc++,f+=4)var qg=pg[pc]=b.getInt32(f,
|
function Ff(a,b,c,d,e){var f=c;if(a.h)return!0;a.ra=b;a.ea=c;a.Qb=t(c);a.h=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ia[d];if(e){a.K=e[0];a.O=e[1];a.N=e[2];a.U=e[3]||512;c=a.U>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.K);for(d=0;d<a.a.length;d++)for(var v=a.a[d]=Array(a.O),A=0;A<v.length;A++)for(var xa=v[A]=Array(a.N),ya=0;ya<xa.length;ya++){for(var ac=Ef(null,d,A,ya+1,a.U,0),pg=ac.data,pc=0;pc<c;pc++,f+=4)var qg=pg[pc]=b.getInt32(f,
|
||||||
!0),e=e+qg&-1;ac.ha=c;xa[ya]=ac}a.b=e;c=a}else a.C("Unrecognized disk format ("+d+" bytes)");a.h&&(a.h.call(a.controller,a.f,c,a.qa,a.ea),a.h=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=ka(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):la(c,"/")&&(d="dir"),f=ta()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.ub?"":e)+"&format=json"));return!!v(f,
|
!0),e=e+qg&-1;ac.ha=c;xa[ya]=ac}a.b=e;c=a}else a.C("Unrecognized disk format ("+d+" bytes)");a.h&&(a.h.call(a.controller,a.f,c,a.ra,a.ea),a.h=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=ka(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):la(c,"/")&&(d="dir"),f=ta()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.xb?"":e)+"&format=json"));return!!w(f,
|
||||||
null,!0,function(b,c,d){Gf(a,b,c,d)})}
|
null,!0,function(b,c,d){Gf(a,b,c,d)})}
|
||||||
function Gf(a,b,c,d){var e=null;a.c=!1;var f=0>d&&a.m&&!a.m.o.P;if(d)a.controller.C('Unable to load disk "'+a.qa+'" (error '+d+": "+b+")",f);else{Ta(a.controller.za,b,c);try{if(0<t(a.Ob,!0).toLowerCase().indexOf("-readonly"))a.c=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.c=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.qa]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
|
function Gf(a,b,c,d){var e=null;a.c=!1;var f=0>d&&a.m&&!a.m.o.P;if(d)a.controller.C('Unable to load disk "'+a.ra+'" (error '+d+": "+b+")",f);else{Ta(a.controller.Ba,b,c);try{if(0<t(a.Qb,!0).toLowerCase().indexOf("-readonly"))a.c=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.c=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.ra]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
|
||||||
c+")");if(k.length)if(1==k.length)w(k[0]);else{a.K=k.length;a.O=k[0].length;a.N=k[0][0].length;var l=k[0][0][0];a.U=l&&l.length||512;for(d=c=0;d<a.K;d++)for(f=0;f<a.O;f++)for(g=0;g<a.N;g++)if(l=k[d][f][g]){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var u=l.data;if(void 0===u){var A=l.bytes;if(void 0!==A&&A.length){for(var F=n<<2,xa=A.length;xa<F;xa++)A[xa]=p;Hf(l,A)}else u=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=u;delete l.bytes}Ef(l,d,f);for(F=
|
c+")");if(k.length)if(1==k.length)x(k[0]);else{a.K=k.length;a.O=k[0].length;a.N=k[0][0].length;var l=k[0][0][0];a.U=l&&l.length||512;for(d=c=0;d<a.K;d++)for(f=0;f<a.O;f++)for(g=0;g<a.N;g++)if(l=k[d][f][g]){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var u=l.data;if(void 0===u){var v=l.bytes;if(void 0!==v&&v.length){for(var A=n<<2,xa=v.length;xa<A;xa++)v[xa]=p;Hf(l,v)}else u=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=u;delete l.bytes}Ef(l,d,f);for(A=
|
||||||
0;F<u.length;F++)c=c+u[F]&-1}a.a=k;a.b=c;e=a}else w("Empty disk image: "+a.qa)}catch(ya){w("Disk image error ("+b+"): "+ya.message)}}a.h&&(a.h.call(a.i,a.f,e,a.qa,a.ea),a.h=null)}function Ef(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Wf=b;a.Xf=c;a.sa=a.ha=0;a.va=!1;return a}
|
0;A<u.length;A++)c=c+u[A]&-1}a.a=k;a.b=c;e=a}else x("Empty disk image: "+a.ra)}catch(ya){x("Disk image error ("+b+"): "+ya.message)}}a.h&&(a.h.call(a.i,a.f,e,a.ra,a.ea),a.h=null)}function Ef(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Wf=b;a.Xf=c;a.ta=a.ha=0;a.wa=!1;return a}
|
||||||
h.seek=function(a,b,c,d,e){d=null;var f=this.f,g=this.a[a];if(g){var k=g[b];if(!k&&f.Dc&&b<f.O)for(k=g[b]=Array(f.Wb),g=0;g<k.length;g++)k[g]=Ef(null,a,b,g+1,f.Mb,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Dc&&9==f.Gb&&(d=k[g]=Ef(null,a,b,f.Gb,f.Mb,0))}}e&&e(d,!1);return d};function Hf(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
h.seek=function(a,b,c,d,e){d=null;var f=this.f,g=this.a[a];if(g){var k=g[b];if(!k&&f.Dc&&b<f.O)for(k=g[b]=Array(f.Yb),g=0;g<k.length;g++)k[g]=Ef(null,a,b,g+1,f.Mb,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Dc&&9==f.Gb&&(d=k[g]=Ef(null,a,b,f.Gb,f.Mb,0))}}e&&e(d,!1);return d};function Hf(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
||||||
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.c)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.ha?f<a.sa?(a.ha+=a.sa-f,a.sa=f):f>=a.sa+a.ha&&(a.ha+=f-(a.sa+a.ha)+1):(a.sa=f,a.ha=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.c)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.ha?f<a.ta?(a.ha+=a.ta-f,a.ta=f):f>=a.ta+a.ha&&(a.ha+=f-(a.ta+a.ha)+1):(a.ta=f,a.ha=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
||||||
function If(a,b){var c=a.O*a.N,d=b/c|0;return d<a.K?(b%=c,a.seek(d,b/a.N|0,b%a.N+1)):null}function Jf(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function Kf(a){for(var b="",c=0,d;d=If(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(Jf(a,d,e));return btoa(b)}
|
function If(a,b){var c=a.O*a.N,d=b/c|0;return d<a.K?(b%=c,a.seek(d,b/a.N|0,b%a.N+1)):null}function Jf(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function Kf(a){for(var b="",c=0,d;d=If(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(Jf(a,d,e));return btoa(b)}
|
||||||
h.save=function(){var a=0,b=[];b[a++]=[this.ea,this.b,this.K,this.O,this.N,this.U];if(!this.c)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.ha){for(var k=[],l=0,n=g.sa,p=g.sa+g.ha;n<p;)k[l++]=g.data[n++];b[a++]=[d,e,f,g.sa,k]}}return b};
|
h.save=function(){var a=0,b=[];b[a++]=[this.ea,this.b,this.K,this.O,this.N,this.U];if(!this.c)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.ha){for(var k=[],l=0,n=g.ta,p=g.ta+g.ha;n<p;)k[l++]=g.data[n++];b[a++]=[d,e,f,g.ta,k]}}return b};
|
||||||
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.a.length&&6<=e.length?Df(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.b&&e[1]!=this.b&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.b+")",b=-2));for(this.a.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],n=g[f++];if(k>=this.a.length||l>=this.a[k].length||n>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+n+") out of range ("+
|
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.a.length&&6<=e.length?Df(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.b&&e[1]!=this.b&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.b+")",b=-2));for(this.a.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],n=g[f++];if(k>=this.a.length||l>=this.a[k].length||n>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+n+") out of range ("+
|
||||||
b+" changes applied)";b=-1;break}if(this.c){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][n]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.sa=e;for(k.ha=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.C("Unable to restore disk '"+this.qa+": "+c);return b};
|
b+" changes applied)";b=-1;break}if(this.c){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][n]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.ta=e;for(k.ha=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.C("Unable to restore disk '"+this.ra+": "+c);return b};
|
||||||
h.toJSON=function(){var a;a=0;for(var b;b=If(this,a++);)Lf(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
h.toJSON=function(){var a;a=0;for(var b;b=If(this,a++);)Lf(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
||||||
function Lf(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function P(a){x.call(this,"RK11",a,P,65536);this.w=a.autoMount||{};this.j=0;this.c=Array(8);this.A=!Ba("Mobi")&&window&&"FileReader"in window}z(P);h=P.prototype;
|
function Lf(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function P(a){y.call(this,"RK11",a,P,65536);this.A=a.autoMount||{};this.j=0;this.c=Array(8);this.w=!Ba("Mobi")&&window&&"FileReader"in window}B(P);h=P.prototype;
|
||||||
h.aa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.l[b]=c,c.onchange=function(){var a=d.l.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){w("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.l[b]=c,c.onchange=function(){var a=q(c.value);null!=a&&Mf(d,a)},!0;case "loadDrive":return this.l[b]=
|
h.ba=function(a,b,c){var d=this;switch(b){case "listDisks":return this.l[b]=c,c.onchange=function(){var a=d.l.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){x("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.l[b]=c,c.onchange=function(){var a=q(c.value);null!=a&&Mf(d,a)},!0;case "loadDrive":return this.l[b]=
|
||||||
c,c.onclick=function(){var a=d.l.listDisks;a&&Nf(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.A){c.parentNode.removeChild(c);break}this.l[b]=c;c.onclick=function(){var a=d.l.listDrives;a&&a.options&&d.c&&((a=d.c[q(a.value)||0])?(a=a.W)?(a=Ca(Kf(a),a.Ob.replace(".json",".img")),w(a)):d.C("No disk loaded in drive."):d.C("No disk drive selected."))};return!0;case "mountDrive":if(this.A)return this.l[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=
|
c,c.onclick=function(){var a=d.l.listDisks;a&&Nf(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.w){c.parentNode.removeChild(c);break}this.l[b]=c;c.onclick=function(){var a=d.l.listDrives;a&&a.options&&d.c&&((a=d.c[q(a.value)||0])?(a=a.V)?(a=Ca(Kf(a),a.Qb.replace(".json",".img")),x(a)):d.C("No disk loaded in drive."):d.C("No disk drive selected."))};return!0;case "mountDrive":if(this.w)return this.l[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=
|
||||||
!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Nf(d,t(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Nf(d,t(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||||
h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;if((a=yc(this.m,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){w(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.w[e]=a[e]);Of(this);this.Qa=Zb(this.a,144,5,65536);fb(b,this,Pf);hb(b,this.reset.bind(this));Qf(this,"None","",!0);this.A&&Qf(this,"Local Disk","?");Qf(this,"Remote Disk","??");Rf(this)||G(this)};
|
h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;if((a=yc(this.m,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){x(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.A[e]=a[e]);Of(this);this.Ta=Zb(this.a,144,5,65536);fb(b,this,Pf);hb(b,this.reset.bind(this));Qf(this,"None","",!0);this.w&&Qf(this,"Local Disk","?");Qf(this,"Remote Disk","??");Rf(this)||G(this)};
|
||||||
h.ka=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.m.Lb){for(a=0;a<this.c.length;a++)Sf(this,a,!0);Rf(this,!0)}}else if(!this.restore(a))return!1;if(a=this.l.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";Mf(this,0)}}return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){Of(this)};h.save=function(){return(new Q(this)).data()};
|
h.ka=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.m.Lb){for(a=0;a<this.c.length;a++)Sf(this,a,!0);Rf(this,!0)}}else if(!this.restore(a))return!1;if(a=this.l.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";Mf(this,0)}}return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){Of(this)};h.save=function(){return(new Q(this)).data()};
|
||||||
h.restore=function(a){return Of(this,a[0])};function Rf(a,b){b||(a.j=0);for(var c in a.w){var d=a.w[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.l.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=t(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.c.length)){!Tf(a,g,f,e,!0)&&b&&G(a,!1);continue}a.C("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.j}
|
h.restore=function(a){return Of(this,a[0])};function Rf(a,b){b||(a.j=0);for(var c in a.A){var d=a.A[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.l.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=t(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.c.length)){!Tf(a,g,f,e,!0)&&b&&G(a,!1);continue}a.C("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.j}
|
||||||
function Nf(a,b,c,d){var e=a.l.listDrives,e=e&&q(e.value);if(void 0===e||0>e||e>=a.c.length)a.C("Unable to load the selected drive");else if(c)if("?"==c)a.C('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=t(c);a.status("Attempting to load "+c+' as "'+b+'"')}Tf(a,e,b,c,!1,d)}else Sf(a,e)}
|
function Nf(a,b,c,d){var e=a.l.listDrives,e=e&&q(e.value);if(void 0===e||0>e||e>=a.c.length)a.C("Unable to load the selected drive");else if(c)if("?"==c)a.C('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=t(c);a.status("Attempting to load "+c+' as "'+b+'"')}Tf(a,e,b,c,!1,d)}else Sf(a,e)}
|
||||||
function Tf(a,b,c,d,e,f){var g=-1,k=a.c[b];k.ea.toLowerCase()!=d.toLowerCase()&&(g++,Sf(a,b,!0),k.Ja?a.C("RK11 busy"):(k.Ja=!0,e&&(k.Ia=!0,a.j++),k.wa=!!f,Ff(new Bf(a,k,"preload"),c,d,f,a.tc)&&g++));return g}h.tc=function(a,b,c,d,e){a.Ja=!1;b&&(b.K>a.K||b.O>a.O)&&(this.C('Disk "'+c+'" too large for drive '+("RK"+a.Ka)),b=null);b?(a.W=b,a.qa=c,a.ea=d,this.C('Mounted disk "'+c+'" in drive '+("RK"+a.Ka),a.Ia||e),this.m&&Ec(this.m)):a.wa=!1;a.Ia&&(a.Ia=!1,--this.j||G(this));Mf(this,a.Ka)};
|
function Tf(a,b,c,d,e,f){var g=-1,k=a.c[b];k.ea.toLowerCase()!=d.toLowerCase()&&(g++,Sf(a,b,!0),k.Ka?a.C("RK11 busy"):(k.Ka=!0,e&&(k.Ja=!0,a.j++),k.xa=!!f,Ff(new Bf(a,k,"preload"),c,d,f,a.tc)&&g++));return g}h.tc=function(a,b,c,d,e){a.Ka=!1;b&&(b.K>a.K||b.O>a.O)&&(this.C('Disk "'+c+'" too large for drive '+("RK"+a.La)),b=null);b?(a.V=b,a.ra=c,a.ea=d,this.C('Mounted disk "'+c+'" in drive '+("RK"+a.La),a.Ja||e),this.m&&Ec(this.m)):a.xa=!1;a.Ja&&(a.Ja=!1,--this.j||G(this));Mf(this,a.La)};
|
||||||
function Qf(a,b,c,d){if((a=a.l.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
function Qf(a,b,c,d){if((a=a.l.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||||
function Mf(a,b){if(0<=b&&b<a.c.length){var c=a.c[b],d=a.l.listDisks;a=a.l.listDrives;if(d&&a&&d.options&&a.options&&(a=q(a.value),c=c.wa?"?":c.ea,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Sf(a,b,c){var d=a.c[b];if(d.W||!1===c)d.qa="",d.ea="",d.W=null,d.wa=!1,c||(a.C("Drive RK"+b+" unloaded",c),Mf(a,b))}
|
function Mf(a,b){if(0<=b&&b<a.c.length){var c=a.c[b],d=a.l.listDisks;a=a.l.listDrives;if(d&&a&&d.options&&a.options&&(a=q(a.value),c=c.xa?"?":c.ea,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Sf(a,b,c){var d=a.c[b];if(d.V||!1===c)d.ra="",d.ea="",d.V=null,d.xa=!1,c||(a.C("Drive RK"+b+" unloaded",c),Mf(a,b))}
|
||||||
function Of(a,b){var c=0;b||(b=[]);a.B=b[c++]||2496;a.i=b[c++]||0;a.b=b[c++]||128;a.u=b[c++]||0;a.s=b[c++]||0;a.f=b[c++]||0;a.F=b[c]||0;for(b=0;b<a.c.length;b++){var d=a.c[b];void 0===d&&(d=a.c[b]={});c=a;d.Ka=b;d.name=c.ya;d.Ja=d.wa=!1;d.K=203;d.O=2;d.N=12;d.U=512;d.ub=!0;d.Ec=0;d.Cc=0;d.Gb=1;d.Wb=d.N;d.Mb=d.U;d.Kc=0;d.Yd=null;d.W||(d.ea="");d.status=2496}return!0}h.sc=function(a,b,c,d,e,f){this.s=f&65535;this.b=this.b&-49|f>>12&48;this.u=65536-e&65535;a&&(this.i=this.i|a|32768,this.b|=49152);return!0};
|
function Of(a,b){var c=0;b||(b=[]);a.F=b[c++]||2496;a.i=b[c++]||0;a.b=b[c++]||128;a.u=b[c++]||0;a.s=b[c++]||0;a.f=b[c++]||0;a.B=b[c]||0;for(b=0;b<a.c.length;b++){var d=a.c[b];void 0===d&&(d=a.c[b]={});c=a;d.La=b;d.name=c.Aa;d.Ka=d.xa=!1;d.K=203;d.O=2;d.N=12;d.U=512;d.xb=!0;d.Ec=0;d.Cc=0;d.Gb=1;d.Yb=d.N;d.Mb=d.U;d.Kc=0;d.Yd=null;d.V||(d.ea="");d.status=2368}return!0}
|
||||||
h.uc=function(a,b,c,d,e,f,g){var k=0;a=a.W;var l=null,n;a||(k=128,e=0);for(;e--;){if(!l){l=a.seek(b,c,d+1);if(!l){k=4096;break}n=0}var p,u;if(0>(p=a.read(l,n++))||0>(u=a.read(l,n++))){k=32;break}vb(this.h,f,p|u<<8);if(Wb(this.h)){k=1024;break}f+=2;if(n>=a.U&&(l=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){k=64;break}}return g(k,b,c,d,e,f)};
|
h.sc=function(a,b,c,d,e,f){this.s=f&65535;this.b=this.b&-49|f>>12&48;this.u=65536-e&65535;this.f=this.f&-16|d&15;a&&(this.i=this.i|a|32768,this.b|=49152);return!0};
|
||||||
h.vc=function(a,b,c,d,e,f,g){var k=0;a=a.W;var l=null,n;a||(k=128,e=0);for(;e--;){var p=xb(this.h,f);if(Wb(this.h)){k=1024;break}f+=2;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=4096;break}n=0}if(!a.write(l,n++,p&255)||!a.write(l,n++,p>>8)){k=32;break}if(n>=a.U&&(l=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){k=64;break}}return g(k,b,c,d,e,f)};h.zd=function(){return this.B};h.xe=function(){};h.Ad=function(){return this.i};h.ye=function(){};h.wd=function(){return this.b&61438};
|
h.uc=function(a,b,c,d,e,f,g,k){var l=0;a=a.V;var n=null,p;a||(l=128,e=0);for(;e--;){if(!n){n=a.seek(b,c,d+1);if(!n){l=4096;break}p=0}var u,v;if(0>(u=a.read(n,p++))||0>(v=a.read(n,p++))){l=32;break}if(!g&&(vb(this.h,f,u|v<<8),Wb(this.h))){l=1024;break}f+=2;if(p>=a.U&&(n=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){l=64;break}}return k(l,b,c,d,e,f)};
|
||||||
h.ue=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){var b,c=!0;a=(this.f&57344)>>13;var d=this.c[a],e,f,g,k;this.b&=-129;switch(this.b&14){case 0:this.B=d.status;this.i=0;this.b=128;this.f=0;break;case 4:b=this.uc;case 2:b||(b=this.vc),e=(this.f&8160)>>5,f=(this.f&16)>>4,g=this.f&15,e>=d.K?(this.i|=32832,this.b|=49152):g>=d.N?(this.i|=32800,this.b|=49152):(k=(this.b&48)<<12|this.s,c=65536-this.u&65535,c=b.call(this,d,e,f,g,c,k,this.sc.bind(this)))}this.B=d.status|a<<13|this.f%9&15;c&&(this.b&=
|
h.vc=function(a,b,c,d,e,f,g,k){var l=0;a=a.V;var n=null,p;a||(l=128,e=0);for(;e--;){var u=xb(this.h,f);if(Wb(this.h)){l=1024;break}f+=2;if(!n){n=a.seek(b,c,d+1,!0);if(!n){l=4096;break}p=0}if(g){var v,A;if(0>(v=a.read(n,p++))||0>(A=a.read(n,p++))){l=32;break}if(u!=(v|A<<8)){l=1;break}}else if(!a.write(n,p++,u&255)||!a.write(n,p++,u>>8)){l=32;break}if(p>=a.U&&(n=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){l=64;break}}return k(l,b,c,d,e,f)};h.zd=function(){return this.F};h.xe=function(){};h.Ad=function(){return this.i};
|
||||||
-2,this.b|=128,this.b&64&&M(this.a,this.Qa))}};h.Bd=function(){return this.u};h.ze=function(a){this.u=a};h.vd=function(){return this.s};h.te=function(a){this.s=a};h.xd=function(){return this.f};h.ve=function(a){this.f=a};h.yd=function(){return this.F};h.we=function(a){this.F=a};
|
h.ye=function(){};h.wd=function(){return this.b&61438};
|
||||||
|
h.ue=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){a=!0;var b,c=(this.f&57344)>>13,d=this.c[c],e,f,g,k,l;this.b&=-129;var n=(this.b&14)>>1;switch(n){case 0:this.i=0;this.b=128;this.f=0;break;case 4:e=(this.f&8160)>>5;e>=d.K&&(this.i|=32832,this.b|=49152);break;case 5:case 2:b=this.uc;case 3:case 1:e=(this.f&8160)>>5,f=(this.f&16)>>4,g=this.f&15,k=65536-this.u&65535,l=(this.b&48)<<12|this.s,b||(b=this.vc),e>=d.K?(this.i|=32832,this.b|=49152):g>=d.N?(this.i|=32800,this.b|=49152):a=b.call(this,
|
||||||
|
d,e,f,g,k,l,3<=n,this.sc.bind(this))}this.F=d.status|(d.V?128:0)|c<<13|this.f&15;a&&(this.b&=-2,this.b|=128,this.b&64&&M(this.a,this.Ta))}};h.Bd=function(){return this.u};h.ze=function(a){this.u=a};h.vd=function(){return this.s};h.te=function(a){this.s=a};h.xd=function(){return this.f};h.ve=function(a){this.f=a};h.yd=function(){return this.B};h.we=function(a){this.B=a};
|
||||||
var Uf={},Pf=(Uf[65280]=[null,null,P.prototype.zd,P.prototype.xe,"RKDS"],Uf[65282]=[null,null,P.prototype.Ad,P.prototype.ye,"RKER"],Uf[65284]=[null,null,P.prototype.wd,P.prototype.ue,"RKCS"],Uf[65286]=[null,null,P.prototype.Bd,P.prototype.ze,"RKWC"],Uf[65288]=[null,null,P.prototype.vd,P.prototype.te,"RKBA"],Uf[65290]=[null,null,P.prototype.xd,P.prototype.ve,"RKDA"],Uf[65294]=[null,null,P.prototype.yd,P.prototype.we,"RKDB"],Uf);
|
var Uf={},Pf=(Uf[65280]=[null,null,P.prototype.zd,P.prototype.xe,"RKDS"],Uf[65282]=[null,null,P.prototype.Ad,P.prototype.ye,"RKER"],Uf[65284]=[null,null,P.prototype.wd,P.prototype.ue,"RKCS"],Uf[65286]=[null,null,P.prototype.Bd,P.prototype.ze,"RKWC"],Uf[65288]=[null,null,P.prototype.vd,P.prototype.te,"RKBA"],Uf[65290]=[null,null,P.prototype.xd,P.prototype.ve,"RKDA"],Uf[65294]=[null,null,P.prototype.yd,P.prototype.we,"RKDB"],Uf);
|
||||||
function O(a){x.call(this,"RL11",a,O,131072);this.A=a.autoMount||{};this.u=0;this.c=Array(4);this.B=!Ba("Mobi")&&window&&"FileReader"in window}z(O);h=O.prototype;
|
function O(a){y.call(this,"RL11",a,O,131072);this.w=a.autoMount||{};this.u=0;this.c=Array(4);this.B=!Ba("Mobi")&&window&&"FileReader"in window}B(O);h=O.prototype;
|
||||||
h.aa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.l[b]=c,c.onchange=function(){var a=d.l.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){w("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.l[b]=c,c.onchange=function(){var a=q(c.value);null!=a&&Vf(d,a)},!0;case "loadDrive":return this.l[b]=
|
h.ba=function(a,b,c){var d=this;switch(b){case "listDisks":return this.l[b]=c,c.onchange=function(){var a=d.l.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){x("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.l[b]=c,c.onchange=function(){var a=q(c.value);null!=a&&Vf(d,a)},!0;case "loadDrive":return this.l[b]=
|
||||||
c,c.onclick=function(){var a=d.l.listDisks;a&&Wf(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.B){c.parentNode.removeChild(c);break}this.l[b]=c;c.onclick=function(){var a=d.l.listDrives;a&&a.options&&d.c&&((a=d.c[q(a.value)||0])?(a=a.W)?(a=Ca(Kf(a),a.Ob.replace(".json",".img")),w(a)):d.C("No disk loaded in drive."):d.C("No disk drive selected."))};return!0;case "mountDrive":if(this.B)return this.l[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=
|
c,c.onclick=function(){var a=d.l.listDisks;a&&Wf(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.B){c.parentNode.removeChild(c);break}this.l[b]=c;c.onclick=function(){var a=d.l.listDrives;a&&a.options&&d.c&&((a=d.c[q(a.value)||0])?(a=a.V)?(a=Ca(Kf(a),a.Qb.replace(".json",".img")),x(a)):d.C("No disk loaded in drive."):d.C("No disk drive selected."))};return!0;case "mountDrive":if(this.B)return this.l[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=
|
||||||
!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Wf(d,t(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Wf(d,t(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||||
h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;if((a=yc(this.m,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){w(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.A[e]=a[e]);Xf(this);this.Qa=Zb(this.a,112,5,131072);fb(b,this,Yf);hb(b,this.reset.bind(this));Zf(this,"None","",!0);this.B&&Zf(this,"Local Disk","?");Zf(this,"Remote Disk","??");$f(this)||G(this)};
|
h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;if((a=yc(this.m,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){x(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.w[e]=a[e]);Xf(this);this.Ta=Zb(this.a,112,5,131072);fb(b,this,Yf);hb(b,this.reset.bind(this));Zf(this,"None","",!0);this.B&&Zf(this,"Local Disk","?");Zf(this,"Remote Disk","??");$f(this)||G(this)};
|
||||||
h.ka=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.m.Lb){for(a=0;a<this.c.length;a++)ag(this,a,!0);$f(this,!0)}}else if(!this.restore(a))return!1;if(a=this.l.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Vf(this,0)}}return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){Xf(this)};h.save=function(){return(new Q(this)).data()};
|
h.ka=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.m.Lb){for(a=0;a<this.c.length;a++)ag(this,a,!0);$f(this,!0)}}else if(!this.restore(a))return!1;if(a=this.l.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Vf(this,0)}}return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){Xf(this)};h.save=function(){return(new Q(this)).data()};
|
||||||
h.restore=function(a){return Xf(this,a[0])};function $f(a,b){b||(a.u=0);for(var c in a.A){var d=a.A[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.l.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=t(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.c.length)){!bg(a,g,f,e,!0)&&b&&G(a,!1);continue}a.C("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.u}
|
h.restore=function(a){return Xf(this,a[0])};function $f(a,b){b||(a.u=0);for(var c in a.w){var d=a.w[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.l.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=t(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.c.length)){!bg(a,g,f,e,!0)&&b&&G(a,!1);continue}a.C("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.u}
|
||||||
function Wf(a,b,c,d){var e=a.l.listDrives,e=e&&q(e.value);if(void 0===e||0>e||e>=a.c.length)a.C("Unable to load the selected drive");else if(c)if("?"==c)a.C('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=t(c);a.status("Attempting to load "+c+' as "'+b+'"')}bg(a,e,b,c,!1,d)}else ag(a,e)}
|
function Wf(a,b,c,d){var e=a.l.listDrives,e=e&&q(e.value);if(void 0===e||0>e||e>=a.c.length)a.C("Unable to load the selected drive");else if(c)if("?"==c)a.C('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=t(c);a.status("Attempting to load "+c+' as "'+b+'"')}bg(a,e,b,c,!1,d)}else ag(a,e)}
|
||||||
function bg(a,b,c,d,e,f){var g=-1,k=a.c[b];k.ea.toLowerCase()!=d.toLowerCase()&&(g++,ag(a,b,!0),k.Ja?a.C("RL11 busy"):(k.Ja=!0,e&&(k.Ia=!0,a.u++),k.wa=!!f,Ff(new Bf(a,k,"preload"),c,d,f,a.xc)&&g++));return g}h.xc=function(a,b,c,d,e){a.Ja=!1;b&&(b.K>a.K||b.O>a.O)&&(this.C('Disk "'+c+'" too large for drive '+("RL"+a.Ka)),b=null);b?(a.W=b,a.qa=c,a.ea=d,this.C('Mounted disk "'+c+'" in drive '+("RL"+a.Ka),a.Ia||e),this.m&&Ec(this.m)):a.wa=!1;a.Ia&&(a.Ia=!1,--this.u||G(this));Vf(this,a.Ka)};
|
function bg(a,b,c,d,e,f){var g=-1,k=a.c[b];k.ea.toLowerCase()!=d.toLowerCase()&&(g++,ag(a,b,!0),k.Ka?a.C("RL11 busy"):(k.Ka=!0,e&&(k.Ja=!0,a.u++),k.xa=!!f,Ff(new Bf(a,k,"preload"),c,d,f,a.xc)&&g++));return g}h.xc=function(a,b,c,d,e){a.Ka=!1;b&&(b.K>a.K||b.O>a.O)&&(this.C('Disk "'+c+'" too large for drive '+("RL"+a.La)),b=null);b?(a.V=b,a.ra=c,a.ea=d,this.C('Mounted disk "'+c+'" in drive '+("RL"+a.La),a.Ja||e),this.m&&Ec(this.m)):a.xa=!1;a.Ja&&(a.Ja=!1,--this.u||G(this));Vf(this,a.La)};
|
||||||
function Zf(a,b,c,d){if((a=a.l.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
function Zf(a,b,c,d){if((a=a.l.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||||
function Vf(a,b){if(0<=b&&b<a.c.length){var c=a.c[b],d=a.l.listDisks;a=a.l.listDrives;if(d&&a&&d.options&&a.options&&(a=q(a.value),c=c.wa?"?":c.ea,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function ag(a,b,c){var d=a.c[b];if(d.W||!1===c)d.qa="",d.ea="",d.W=null,d.wa=!1,c||(a.C("Drive RL"+b+" unloaded",c),Vf(a,b))}
|
function Vf(a,b){if(0<=b&&b<a.c.length){var c=a.c[b],d=a.l.listDisks;a=a.l.listDrives;if(d&&a&&d.options&&a.options&&(a=q(a.value),c=c.xa?"?":c.ea,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function ag(a,b,c){var d=a.c[b];if(d.V||!1===c)d.ra="",d.ea="",d.V=null,d.xa=!1,c||(a.C("Drive RL"+b+" unloaded",c),Vf(a,b))}
|
||||||
function Xf(a,b){var c=0;b||(b=[]);a.b=b[c++]||0;a.w=b[c++]||0;a.f=b[c++]||0;a.i=b[c++]||0;a.s=b[c++]||0;a.j=b[c]||0;for(b=0;b<a.c.length;b++){var d=a.c[b];void 0===d&&(d=a.c[b]={});c=a;d.Ka=b;d.name=c.ya;d.Ja=d.wa=!1;d.K=512;d.O=2;d.N=40;d.U=256;d.ub=!0;d.Ec=0;d.Cc=0;d.Gb=1;d.Wb=d.N;d.Mb=d.U;d.Kc=0;d.Yd=null;d.W||(d.ea="");d.status=29}return!0}
|
function Xf(a,b){var c=0;b||(b=[]);a.b=b[c++]||0;a.A=b[c++]||0;a.f=b[c++]||0;a.i=b[c++]||0;a.s=b[c++]||0;a.j=b[c]||0;for(b=0;b<a.c.length;b++){var d=a.c[b];void 0===d&&(d=a.c[b]={});c=a;d.La=b;d.name=c.Aa;d.Ka=d.xa=!1;d.K=512;d.O=2;d.N=40;d.U=256;d.xb=!0;d.Ec=0;d.Cc=0;d.Gb=1;d.Yb=d.N;d.Mb=d.U;d.Kc=0;d.Yd=null;d.V||(d.ea="");d.status=29}return!0}
|
||||||
h.wc=function(a,b,c,d,e,f){this.w=f&65535;this.b=this.b&-49|f>>12&48;this.j=f>>16&63;this.i=this.f=b<<7|(c?64:0)|d&63;this.s=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};
|
h.wc=function(a,b,c,d,e,f){this.A=f&65535;this.b=this.b&-49|f>>12&48;this.j=f>>16&63;this.i=this.f=b<<7|(c?64:0)|d&63;this.s=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};
|
||||||
h.yc=function(a,b,c,d,e,f,g){var k=0;a=a.W;var l=null,n;a||(k=5120,e=0);for(;e--;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}n=0}var p,u;if(0>(p=a.read(l,n++))||0>(u=a.read(l,n++))){k=5120;break}vb(this.h,Tc(this.a,f),p|u<<8);if(Wb(this.h)){k=8192;break}f+=2;if(n>=a.U&&(l=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){k=5120;break}}return g(k,b,c,d,e,f)};
|
h.yc=function(a,b,c,d,e,f,g){var k=0;a=a.V;var l=null,n;a||(k=5120,e=0);for(;e--;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}n=0}var p,u;if(0>(p=a.read(l,n++))||0>(u=a.read(l,n++))){k=5120;break}vb(this.h,Tc(this.a,f),p|u<<8);if(Wb(this.h)){k=8192;break}f+=2;if(n>=a.U&&(l=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){k=5120;break}}return g(k,b,c,d,e,f)};
|
||||||
h.zc=function(a,b,c,d,e,f,g){var k=0;a=a.W;var l=null,n;a||(k=5120,e=0);for(;e--;){var p=xb(this.h,Tc(this.a,f));if(Wb(this.h)){k=8192;break}f+=2;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}n=0}if(!a.write(l,n++,p&255)||!a.write(l,n++,p>>8)){k=5120;break}if(n>=a.U&&(l=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){k=5120;break}}return g(k,b,c,d,e,f)};h.Ed=function(){return this.b&65535};
|
h.zc=function(a,b,c,d,e,f,g){var k=0;a=a.V;var l=null,n;a||(k=5120,e=0);for(;e--;){var p=xb(this.h,Tc(this.a,f));if(Wb(this.h)){k=8192;break}f+=2;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}n=0}if(!a.write(l,n++,p&255)||!a.write(l,n++,p>>8)){k=5120;break}if(n>=a.U&&(l=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){k=5120;break}}return g(k,b,c,d,e,f)};h.Ed=function(){return this.b&65535};
|
||||||
h.Ce=function(a){this.b=this.b&-1023|a&1022;this.j=this.j&60|(a&48)>>4;if(!(this.b&128)){var b;a=!0;var c=this.c[(this.b&768)>>8],d=c.W,e,f,g;this.b&=-2;switch(this.b&14){case 4:this.s&8&&(this.b&=63);this.s=c.status|this.i&64|(d&&512==d.K?128:0);break;case 6:1==(this.f&3)&&(b=this.f&65408,c=(this.f&16)<<2,this.i=this.f&4?this.i+b:this.i-b,this.f=this.i=this.i&65408|c);break;case 8:this.s=this.i;break;case 12:b=this.yc;case 10:b||(b=this.zc),e=this.f>>7,f=this.f&64?1:0,g=this.f&63,!d||e>=d.K||g>=
|
h.Ce=function(a){this.b=this.b&-1023|a&1022;this.j=this.j&60|(a&48)>>4;if(!(this.b&128)){var b;a=!0;var c=this.c[(this.b&768)>>8],d=c.V,e,f,g;this.b&=-2;switch(this.b&14){case 4:this.s&8&&(this.b&=63);this.s=c.status|this.i&64|(d&&512==d.K?128:0);break;case 6:1==(this.f&3)&&(b=this.f&65408,c=(this.f&16)<<2,this.i=this.f&4?this.i+b:this.i-b,this.f=this.i=this.i&65408|c);break;case 8:this.s=this.i;break;case 12:b=this.yc;case 10:b||(b=this.zc),e=this.f>>7,f=this.f&64?1:0,g=this.f&63,!d||e>=d.K||g>=
|
||||||
d.N?this.b|=37888:(d=(this.j&63)<<16|this.w,a=65536-this.s&65535,a=b.call(this,c,e,f,g,a,d,this.wc.bind(this)))}a&&(this.b|=129,this.b&64&&M(this.a,this.Qa))}};h.Cd=function(){return this.w};h.Ae=function(a){this.w=a&65534};h.Fd=function(){return this.f};h.De=function(a){this.f=a};h.Gd=function(){return this.s};h.Ee=function(a){this.s=a};h.Dd=function(){return this.j};h.Be=function(a){this.j=a&63;this.b=this.b&-49|(this.j&3)<<4};
|
d.N?this.b|=37888:(d=(this.j&63)<<16|this.A,a=65536-this.s&65535,a=b.call(this,c,e,f,g,a,d,this.wc.bind(this)))}a&&(this.b|=129,this.b&64&&M(this.a,this.Ta))}};h.Cd=function(){return this.A};h.Ae=function(a){this.A=a&65534};h.Fd=function(){return this.f};h.De=function(a){this.f=a};h.Gd=function(){return this.s};h.Ee=function(a){this.s=a};h.Dd=function(){return this.j};h.Be=function(a){this.j=a&63;this.b=this.b&-49|(this.j&3)<<4};
|
||||||
var cg={},Yf=(cg[63744]=[null,null,O.prototype.Ed,O.prototype.Ce,"RLCS"],cg[63746]=[null,null,O.prototype.Cd,O.prototype.Ae,"RLBA"],cg[63748]=[null,null,O.prototype.Fd,O.prototype.De,"RLDA"],cg[63750]=[null,null,O.prototype.Gd,O.prototype.Ee,"RLMP"],cg[63752]=[null,null,O.prototype.Dd,O.prototype.Be,"RLBE"],cg);
|
var cg={},Yf=(cg[63744]=[null,null,O.prototype.Ed,O.prototype.Ce,"RLCS"],cg[63746]=[null,null,O.prototype.Cd,O.prototype.Ae,"RLBA"],cg[63748]=[null,null,O.prototype.Fd,O.prototype.De,"RLDA"],cg[63750]=[null,null,O.prototype.Gd,O.prototype.Ee,"RLMP"],cg[63752]=[null,null,O.prototype.Dd,O.prototype.Be,"RLBE"],cg);
|
||||||
function dg(a,b,c){x.call(this,"Computer",a,dg,33554432);this.o.P=!1;eg(this,b);this.A=yc(this,"autoPower",a);this.m=0;this.L=a.busWidth||a.buswidth;this.b=fg;this.s=null;this.i=this.H=!1;this.R=yc(this,"url")||"";(Math.random()+.1).toString(36);this.c=gg(this);if(this.a=Va("CPU",this.id)){this.G=Va("Debugger",this.id);this.h=new Bb({id:this.za+".bus",busWidth:this.L},this.a,this.G);var d,e=B(this.id);if((this.w=Va("Panel",this.id))&&this.w.gb)for(b=0;b<e.length;b++)d=e[b],d.C=this.w.C,d.V=this.w.V,
|
function dg(a,b,c){y.call(this,"Computer",a,dg,33554432);this.o.P=!1;eg(this,b);this.w=yc(this,"autoPower",a);this.m=0;this.L=a.busWidth||a.buswidth;this.b=fg;this.s=null;this.i=this.I=!1;this.R=yc(this,"url")||"";(Math.random()+.1).toString(36);this.c=gg(this);if(this.a=Va("CPU",this.id)){this.G=Va("Debugger",this.id);this.h=new Bb({id:this.Ba+".bus",busWidth:this.L},this.a,this.G);var d,e=C(this.id);if((this.A=Va("Panel",this.id))&&this.A.kb)for(b=0;b<e.length;b++)d=e[b],d.C=this.A.C,d.W=this.A.W,
|
||||||
d.gb=this.w.gb;this.V("PDPjs v1.30.5\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.V("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ia&&d.ia(this,this.h,this.a,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.j=d:this.b=parseInt(d,10));var f;if(a=yc(this,"state")||(f=!0,a.state))b=this.B=a,f||(this.i=!0,this.b=fg),this.b&&(this.u=
|
d.kb=this.A.kb;this.W("PDPjs v1.30.5\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.W("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ia&&d.ia(this,this.h,this.a,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.j=d:this.b=parseInt(d,10));var f;if(a=yc(this,"state")||(f=!0,a.state))b=this.B=a,f||(this.i=!0,this.b=fg),this.b&&(this.u=
|
||||||
new Q(this,"1.30.5"),hg(this.u)?b=null:delete this.u);!b&&this.b&&(b=ig(this))&&(this.i=!0);if(b){var g=this;v(b,null,!0,function(a,b,c){c?(g.j=null,g.i=!1,g.C("Unable to load machine state from server (error "+c+(b?": "+oa(b):"")+")")):(g.s=b,g.H=!0);G(g)})}else G(this);this.l.power||(this.A=!0);!c&&this.A&&jg(this,this.hb)}else w("Unable to find CPU component")}z(dg);var fg=0;
|
new Q(this,"1.30.5"),hg(this.u)?b=null:delete this.u);!b&&this.b&&(b=ig(this))&&(this.i=!0);if(b){var g=this;w(b,null,!0,function(a,b,c){c?(g.j=null,g.i=!1,g.C("Unable to load machine state from server (error "+c+(b?": "+oa(b):"")+")")):(g.s=b,g.I=!0);G(g)})}else G(this);this.l.power||(this.w=!0);!c&&this.w&&jg(this,this.lb)}else x("Unable to find CPU component")}B(dg);var fg=0;
|
||||||
function eg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.I=b}function yc(a,b,c){var d=b.toLowerCase(),d=Na[b]||Na[d];void 0===d&&a.I&&(d=a.I[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function jg(a,b,c){for(var d=B(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Xa(f)){Xa(f,function(){jg(a,b,c)});return}}b.call(a,c)}
|
function eg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.J=b}function yc(a,b,c){var d=b.toLowerCase(),d=Na[b]||Na[d];void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function jg(a,b,c){for(var d=C(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Xa(f)){Xa(f,function(){jg(a,b,c)});return}}b.call(a,c)}
|
||||||
function kg(a,b){var c=new Q(a,"1.30.5","validate");if(hg(c)&&lg(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.C("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=dg.prototype;
|
function kg(a,b){var c=new Q(a,"1.30.5","validate");if(hg(c)&&lg(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.C("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=dg.prototype;
|
||||||
h.hb=function(a){void 0===a&&(a=this.b||(this.s?1:fg));if(!this.m){this.m++;var b=!1,c=!1;this.F=!1;var d=this.u||new Q(this,"1.30.5");if(-1==a)b=!0;else if(a>fg){if(hg(d,this.s)){this.f=new Q(this,"1.30.5","failsafe");hg(this.f)&&(mg(this,d),a=2,ng(this.f));this.f.set("timestamp",ra());og(this.f);var e=this.b&&!this.i;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=lg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?hg(d,g):("error"==
|
h.lb=function(a){void 0===a&&(a=this.b||(this.s?1:fg));if(!this.m){this.m++;var b=!1,c=!1;this.F=!1;var d=this.u||new Q(this,"1.30.5");if(-1==a)b=!0;else if(a>fg){if(hg(d,this.s)){this.f=new Q(this,"1.30.5","failsafe");hg(this.f)&&(mg(this,d),a=2,ng(this.f));this.f.set("timestamp",ra());og(this.f);var e=this.b&&!this.i;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=lg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?hg(d,g):("error"==
|
||||||
f&&"no machine state"!=g?(this.C("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.c=null)):this.V(f+": "+g),ng(d),hg(d)?(c=lg(d),e=!0):c=!1))}e&&kg(this,c?d:null)}else 2==a&&d.clear()}else kg(this);delete this.s;delete this.u}e=B(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.a&&(c=rg(this,g,d,b,c));b=[d,a,c];-1!=a?jg(this,this.Xb,b):this.Xb(b)}};
|
f&&"no machine state"!=g?(this.C("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.c=null)):this.W(f+": "+g),ng(d),hg(d)?(c=lg(d),e=!0):c=!1))}e&&kg(this,c?d:null)}else 2==a&&d.clear()}else kg(this);delete this.s;delete this.u}e=C(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.a&&(c=rg(this,g,d,b,c));b=[d,a,c];-1!=a?jg(this,this.Zb,b):this.Zb(b)}};
|
||||||
function rg(a,b,c,d,e){if(!b.o.P){b.o.P=!0;if(b.ka){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ka(f,d)&&f&&(w("Unable to restore state for "+b.type),a.B&&!a.H?(c.clear(),a.b=fg,window&&window.location.reload()):a.F=!0,b.ka(null),e=!1)}if(!d&&b.Zb)for(a=b.Zb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
function rg(a,b,c,d,e){if(!b.o.P){b.o.P=!0;if(b.ka){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ka(f,d)&&f&&(x("Unable to restore state for "+b.type),a.B&&!a.I?(c.clear(),a.b=fg,window&&window.location.reload()):a.F=!0,b.ka(null),e=!1)}if(!d&&b.ac)for(a=b.ac.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||||
h.Xb=function(a){var b=a[0],c=0>a[1];a=a[2];this.T=!0;this.o.P=!0;var d=this.l.power;d&&(d.textContent="Shutdown");this.a&&(rg(this,this.a,b,c,a),this.xa(),this.a.fb());this.F&&(mg(this,b),b.clear());!c&&this.f&&(this.f.clear(),delete this.f);this.m=0};
|
h.Zb=function(a){var b=a[0],c=0>a[1];a=a[2];this.T=!0;this.o.P=!0;var d=this.l.power;d&&(d.textContent="Shutdown");this.a&&(rg(this,this.a,b,c,a),this.za(),this.a.jb());this.F&&(mg(this,b),b.clear());!c&&this.f&&(this.f.clear(),delete this.f);this.m=0};
|
||||||
function mg(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.5"};d.url=a.R;d.user=c;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}}
|
function mg(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.5"};d.url=a.R;d.user=c;d.type="bug";d.data=b;w("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
function sg(a,b,c){var d,e="none";if(a.m)return null;a.m--;var f=new Q(a,"1.30.5"),g=new Q(a,"1.30.5","validate"),k=ra();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.5");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ja&&(c&&H(a.a),d=a.a.ja(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.o.P=!1,!1===d&&(e=null)));for(var k=B(a.id),l=0;l<k.length;l++){var n=k[l];n.o.P&&(n.ja&&(d=n.ja(b,c),"object"===typeof d&&f.set(n.id,
|
function sg(a,b,c){var d,e="none";if(a.m)return null;a.m--;var f=new Q(a,"1.30.5"),g=new Q(a,"1.30.5","validate"),k=ra();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.5");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ja&&(c&&H(a.a),d=a.a.ja(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.o.P=!1,!1===d&&(e=null)));for(var k=C(a.id),l=0;l<k.length;l++){var n=k[l];n.o.P&&(n.ja&&(d=n.ja(b,c),"object"===typeof d&&f.set(n.id,
|
||||||
d)),c&&(n.o.P=!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.c&&tg(a,a.c,f.toString()),og(g)&&og(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=3==a.b),d&&f.clear(k)):e=f.toString());c&&(a.o.P=!1,b=a.l.power)&&(b.textContent="Power");a.m=0;return e}h.reset=function(){this.h&&this.h.reset&&this.h.reset();this.a&&this.a.reset&&this.a.reset();for(var a=B(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.h&&c!==this.a&&c.reset&&c.reset()}this.xa(-1)};
|
d)),c&&(n.o.P=!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.c&&tg(a,a.c,f.toString()),og(g)&&og(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=3==a.b),d&&f.clear(k)):e=f.toString());c&&(a.o.P=!1,b=a.l.power)&&(b.textContent="Power");a.m=0;return e}h.reset=function(){this.h&&this.h.reset&&this.h.reset();this.a&&this.a.reset&&this.a.reset();for(var a=C(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.h&&c!==this.a&&c.reset&&c.reset()}this.za(-1)};
|
||||||
h.start=function(a,b){for(var c=B(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.xa(-1)};h.stop=function(a,b){for(var c=B(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.xa(-1)};
|
h.start=function(a,b){for(var c=C(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.za(-1)};h.stop=function(a,b){for(var c=C(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.za(-1)};
|
||||||
h.xa=function(a){if(this.a){var b=this.a,c=a||0,d=b.l.speed;d&&(0>=c||30<=(b.Cb+=c))&&(d.textContent=b.o.S?b.Ba.toFixed(2)+"Mhz":"Stopped",b.Cb=0)}if(this.w&&(b=this.w,a=a||0,b.u)){c=b.a.o.S;d=!!(b.a.v&8);if(0>=a||60<=(b.s+=a)){for(var e=0;e<b.a.g.length;e++)nb(b,"R"+e,b.a.g[e]);e=ec(b.a);nb(b,"PS",e);nb(b,"NF",e&8?1:0,1);nb(b,"ZF",e&4?1:0,1);nb(b,"VF",e&2?1:0,1);nb(b,"CF",e&1?1:0,1);b.s=0}yb(b,0<a&&c&&!d?b.a.eb:b.la);ub(b,b.j);a=b.a;a=a.Ya?a.Ea&16?1:2:4;zb(b,"B22",a&1);zb(b,"B18",a&2);zb(b,"B16",
|
h.za=function(a){if(this.a){var b=this.a,c=a||0,d=b.l.speed;d&&(0>=c||30<=(b.Eb+=c))&&(d.textContent=b.o.S?b.Ma.toFixed(2)+"Mhz":"Stopped",b.Eb=0)}if(this.A&&(b=this.A,a=a||0,b.u)){c=b.a.o.S;d=!!(b.a.v&8);if(0>=a||60<=(b.s+=a)){for(var e=0;e<b.a.g.length;e++)nb(b,"R"+e,b.a.g[e]);e=ec(b.a);nb(b,"PS",e);nb(b,"NF",e&8?1:0,1);nb(b,"ZF",e&4?1:0,1);nb(b,"VF",e&2?1:0,1);nb(b,"CF",e&1?1:0,1);b.s=0}yb(b,0<a&&c&&!d?b.a.Sa:b.la);ub(b,b.j);a=b.a;a=a.Oa?a.ya&16?1:2:4;zb(b,"B22",a&1);zb(b,"B18",a&2);zb(b,"B16",
|
||||||
a&4)}};
|
a&4)}};
|
||||||
h.aa=function(a,b,c){var d=this;switch(b){case "power":return this.l[b]=c,c.onclick=function(){d.m||(d.o.P?sg(d,!1,!0):jg(d,d.hb))},!0;case "reset":return this.l[b]=c,c.onclick=function(){if(d.o.P&&!d.m)if(d.b&&!d.j){var a=ua("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");sg(d,a,!0);!a&&d.B?window&&window.location.reload():(a||(d.Lb=!0),d.hb(fg),d.Lb=!1)}else d.reset(),d.a&&d.a.fb()},!0;case "save":if(la(ta(),"pcjs.org"))c.parentNode.removeChild(c);else return this.l[b]=
|
h.ba=function(a,b,c){var d=this;switch(b){case "power":return this.l[b]=c,c.onclick=function(){d.m||(d.o.P?sg(d,!1,!0):jg(d,d.lb))},!0;case "reset":return this.l[b]=c,c.onclick=function(){if(d.o.P&&!d.m)if(d.b&&!d.j){var a=ua("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");sg(d,a,!0);!a&&d.B?window&&window.location.reload():(a||(d.Lb=!0),d.lb(fg),d.Lb=!1)}else d.reset(),d.a&&d.a.jb()},!0;case "save":if(la(ta(),"pcjs.org"))c.parentNode.removeChild(c);else return this.l[b]=
|
||||||
c,c.onclick=function(){var a=gg(d,!0);if(a){var b=!!(d.b&&!d.j||d.B),c=sg(d,b);b?tg(d,a,c):d.C("Resume disabled, machine state not saved")}},!0}return!1};
|
c,c.onclick=function(){var a=gg(d,!0);if(a){var b=!!(d.b&&!d.j||d.B),c=sg(d,b);b?tg(d,a,c):d.C("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function gg(a,b){var c=a.c;c||((c=za("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=ug(a,c))||a.C("The user ID is invalid.")):b&&a.C("Browser local storage is not available"));return c}
|
function gg(a,b){var c=a.c;c||((c=za("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=ug(a,c))||a.C("The user ID is invalid.")):b&&a.C("Browser local storage is not available"));return c}
|
||||||
function ug(a,b){a.c=null;b=v(ta()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.c=b.data)}catch(d){w(d.message+" ("+c+")")}return a.c}function ig(a){var b=null;a.c&&(b=ta()+"/api/v1/user?req=load&user="+a.c+"&state="+vg(a,"1.30.5"));return b}
|
function ug(a,b){a.c=null;b=w(ta()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.c=b.data)}catch(d){x(d.message+" ("+c+")")}return a.c}function ig(a){var b=null;a.c&&(b=ta()+"/api/v1/user?req=load&user="+a.c+"&state="+vg(a,"1.30.5"));return b}
|
||||||
function tg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=vg(a,"1.30.5");d.data=c;b=v(ta()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.C("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.C(c),Aa("user",""),a.c=null)}}
|
function tg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=vg(a,"1.30.5");d.data=c;b=w(ta()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.C("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.C(c),Aa("user",""),a.c=null)}}
|
||||||
function qf(a){var b;a=B(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function Ec(a){if(a.gb){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.gb.focus();window&&window.scrollTo(b,c)}}Ia(function(){for(var a=E(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=E(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=C(f),g=new dg(g,d,!0);D(g,f);g.A&&jg(g,g.hb)}});
|
function qf(a){var b;a=C(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function Ec(a){if(a.kb){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.kb.focus();window&&window.scrollTo(b,c)}}Ia(function(){for(var a=F(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=D(c),c=F(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=D(f),g=new dg(g,d,!0);E(g,f);g.w&&jg(g,g.lb)}});
|
||||||
Da.show.push(function(){for(var a=E(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=Va("Computer",c.id))&&c.T&&!c.o.P&&c.hb(-1)}});Da.exit.push(function(){for(var a=E(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=Va("Computer",c.id))&&c.o.P&&sg(c,!(!c.b||c.j),!0)}});function Q(a,b,c){this.id=a.id;this.key=vg(a,b,c);this.G=a.G;ng(this,a.Oc)}function vg(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}
|
Da.show.push(function(){for(var a=F(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=Va("Computer",c.id))&&c.T&&!c.o.P&&c.lb(-1)}});Da.exit.push(function(){for(var a=F(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=Va("Computer",c.id))&&c.o.P&&sg(c,!(!c.b||c.j),!0)}});function Q(a,b,c){this.id=a.id;this.key=vg(a,b,c);this.G=a.G;ng(this,a.Oc)}function vg(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}
|
||||||
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){ng(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
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){ng(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
||||||
1);c=0}}};function ng(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function og(a){var b=!0;if(wa()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function lg(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function hg(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:wa()&&(b=za(a.key))?(a[a.id]=b,a.a=!0):!1}var wg=0;
|
1);c=0}}};function ng(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function og(a){var b=!0;if(wa()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function lg(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){x(c.message||c),b=!1}return b}function hg(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:wa()&&(b=za(a.key))?(a[a.id]=b,a.a=!0):!1}var wg=0;
|
||||||
function xg(a,b,c,d,e,f){e("Loading "+a+"...");v(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):yg(k,a,b,c,d,e,f)})}
|
function xg(a,b,c,d,e,f){e("Loading "+a+"...");w(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):yg(k,a,b,c,d,e,f)})}
|
||||||
function yg(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(Ta(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
function yg(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(Ta(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?zg(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?zg(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||||
function zg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");v(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
function zg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");w(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||||
"");a=a.replace(d[0],g);zg(a,b,c)}})}else c(a,null)}
|
"");a=a.replace(d[0],g);zg(a,b,c)}})}else c(a,null)}
|
||||||
function Ag(a,b,c,d){function e(a){if(void 0===k){var b=g&&E(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=na(a))}function f(a){e("Error: "+a);l&&(--wg||Ka(!0));l=!1}var g,k,l=!0;wg++;Sa[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],u=document.createElement("style");u.type="text/css";u.styleSheet?u.styleSheet.cssText=n:u.appendChild(document.createTextNode(n));p.appendChild(u)}c||
|
function Ag(a,b,c,d){function e(a){if(void 0===k){var b=g&&F(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=na(a))}function f(a){e("Error: "+a);l&&(--wg||Ka(!0));l=!1}var g,k,l=!0;wg++;Sa[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],u=document.createElement("style");u.type="text/css";u.styleSheet?u.styleSheet.cssText=n:u.appendChild(document.createTextNode(n));p.appendChild(u)}c||
|
||||||
(c="/versions/pdpjs/1.30.5/components.xsl");n=function(d,k){k?xg(c,null,null,!1,e,function(d,l){l?(Ta(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--wg||Ka(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--wg||Ka(!0)):f("invalid machine element: "+
|
(c="/versions/pdpjs/1.30.5/components.xsl");n=function(d,k){k?xg(c,null,null,!1,e,function(d,l){l?(Ta(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--wg||Ka(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--wg||Ka(!0)):f("invalid machine element: "+
|
||||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?xg(b,a,d,!0,e,n):yg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(A){f(A.message)}return l}window.embedPDP11=function(a,b,c,d){Ka(!1);return Ag(a,b,c,d)};window.enableEvents=Ka;window.sendEvent=La;})();//# sourceMappingURL=/tmp/pdpjs/1.30.5/pdp11.map
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?xg(b,a,d,!0,e,n):yg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(v){f(v.message)}return l}window.embedPDP11=function(a,b,c,d){Ka(!1);return Ag(a,b,c,d)};window.enableEvents=Ka;window.sendEvent=La;})();//# sourceMappingURL=/tmp/pdpjs/1.30.5/pdp11.map
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue