Improved debugger messages for bus and memory accesses

This commit is contained in:
Jeff 2016-10-04 10:45:18 -07:00 committed by Jeff Parsons
commit 7923529aee
7 changed files with 457 additions and 391 deletions

View file

@ -9,5 +9,5 @@
<ram id="ram" addr="0x10000" size="0x34000"/>
<device id="unibus" name="unibus"/>
<panel ref="/devices/pdp11/panel/1170/wide.xml"/>
<debugger id="debugger" base="8" messages="bus|trap" commands="bp 140270"/>
<debugger id="debugger" base="8" messages="bus|mem|trap" commands="bp 140270"/>
</machine>

View file

@ -3,15 +3,22 @@
; REBASE HIGHER LINK/BOT:140000
; WANT PERFORMANCE COUNTER - CLOCK TICKS TO DO SOMETHING?
PSW = 177776
DL11_XCSR = 177564
DL11_VEC = 64
KW11_LKS = 177546
KW11_VEC = 100
START: RESET ; 140000
CLR @#177776
CLR @#PSW
MOV #START,SP
CLR @#177564
CLR @#DL11_XCSR ; CLEAR THE XCSR
MOV #BANNER,R0
JSR PC,PRINT
MOV #CLKAST,@#100
MOV #340,@#102
BIS #100,@#177546 ; SET CLOCK TICKING
MOV #CLKAST,@#KW11_VEC
MOV #340,@#KW11_VEC+2
BIS #100,@#KW11_LKS ; SET CLOCK TICKING
MOV #PROMPT,R0
JSR PC,PRINT
@ -35,20 +42,20 @@ CLKAST: ; 140124
RTT
ONECHR:
TSTB @#177564 ; 140132
TSTB @#DL11_XCSR ; 140132
BPL ONECHR
MOVB R0,@#177566
RTS PC
PRTPTR: .WORD 0
PRTPTR: .WORD 0 ; 140146
PRINT: ; 140150
BITB #100,@#177564
BITB #100,@#DL11_XCSR
BNE PRINT
MOV R0,PRTPTR
MOV #PRTAST,@#64
MOV #200,@#66
BISB #100,@#177564
MOV #PRTAST,@#DL11_VEC
MOV #200,@#DL11_VEC+2
BISB #100,@#DL11_XCSR
RTS PC
PRTAST: ; 140210

View file

@ -187,30 +187,38 @@ BusPDP11.IOController = {
*/
readByte: function(off, addr)
{
var b = -1;
var bus = this.controller;
var afn = bus.aIOHandlers[off];
if (afn) {
if (bus.messageEnabled()) bus.printMessage(afn[5] + ".readByte(" + str.toOct(addr) + ")", 0, true);
if (afn[0]) {
return afn[0](addr);
b = afn[0](addr);
} else if (afn[2]) {
if (!(addr & 0x1)) {
return afn[2](addr) & 0xff;
b = afn[2](addr) & 0xff;
} else {
return afn[2](addr & ~0x1) >> 8;
b = afn[2](addr & ~0x1) >> 8;
}
}
} else if (addr & 0x1) {
afn = bus.aIOHandlers[off & ~0x1];
if (afn) {
if (bus.messageEnabled()) bus.printMessage(afn[5] + ".readByte(" + str.toOct(addr) + ")", 0, true);
if (afn[2]) {
return afn[2](addr & ~0x1) >> 8;
b = afn[2](addr & ~0x1) >> 8;
}
}
}
bus.println("warning: unconverted read access to byte @" + str.toOct(addr));
return bus.fnAccess(addr, -1, 1);
if (b >= 0) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.message(afn[5] + ".readByte(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(b), true);
}
return b;
}
b = bus.fnAccess(addr, -1, 1);
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.message("warning: unconverted read access to byte @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(b));
}
return b;
},
/**
@ -224,29 +232,30 @@ BusPDP11.IOController = {
writeByte: function(off, b, addr)
{
var w;
var fWrite = false;
var bus = this.controller;
var afn = bus.aIOHandlers[off];
if (afn) {
if (bus.messageEnabled()) bus.printMessage(afn[5] + ".writeByte(" + str.toOct(addr) + "," + str.toOct(b) + ")", 0, true);
/*
* If a writeByte() handler exists, call it; we're done
*/
if (afn[1]) {
afn[1](b, addr);
return;
fWrite = true;
}
/*
* If a writeWord() handler exists, call the readWord() handler first to get the original data,
* then call writeWord() with the new data pre-inserted into the original data.
*/
if (afn[3]) {
else if (afn[3]) {
w = afn[2]? afn[2](addr) : 0;
if (!(addr & 0x1)) {
afn[3]((w & ~0xff) | b, addr)
afn[3]((w & ~0xff) | b, addr);
fWrite = true;
} else {
afn[3]((w & 0xff) | (b << 8), addr & ~0x1);
fWrite = true;
}
return;
}
} else if (addr & 0x1) {
/*
@ -256,17 +265,24 @@ BusPDP11.IOController = {
*/
afn = bus.aIOHandlers[off & ~0x1];
if (afn) {
if (bus.messageEnabled()) bus.printMessage(afn[5] + ".writeByte(" + str.toOct(addr) + "," + str.toOct(b) + ")", 0, true);
if (afn[3]) {
addr &= ~0x1;
w = afn[2]? afn[2](addr) : 0;
afn[3]((w & 0xff) | (b << 8), addr);
return;
fWrite = true;
}
}
}
bus.println("warning: unconverted write access to byte @" + str.toOct(addr));
if (fWrite) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.message(afn[5] + ".writeByte(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(b) + ")", true);
}
return;
}
bus.fnAccess(addr, b, 1);
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.message("warning: unconverted write access to byte @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(b));
}
},
/**
@ -279,19 +295,28 @@ BusPDP11.IOController = {
*/
readWord: function(off, addr)
{
var w = -1;
var bus = this.controller;
Component.assert(!(addr & 1)); // unaligned addresses should be getting trapped at a higher level
var afn = bus.aIOHandlers[off];
if (afn) {
if (bus.messageEnabled()) bus.printMessage(afn[5] + ".readWord(" + str.toOct(addr) + ")", 0, true);
if (afn[2]) {
return afn[2](addr);
w = afn[2](addr);
} else if (afn[0]) {
return afn[0](addr) | (afn[0](addr + 1) << 8);
w = afn[0](addr) | (afn[0](addr + 1) << 8);
}
}
bus.println("warning: unconverted read access to word @" + str.toOct(addr));
return bus.fnAccess(addr, -1, 0);
if (w >= 0) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.message(afn[5] + ".readWord(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(w), true);
}
return w;
}
w = bus.fnAccess(addr, -1, 0);
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.message("warning: unconverted read access to word @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(w));
}
return w;
},
/**
@ -304,22 +329,30 @@ BusPDP11.IOController = {
*/
writeWord: function(off, w, addr)
{
var fWrite = false;
var bus = this.controller;
Component.assert(!(addr & 1)); // unaligned addresses should be getting trapped at a higher level
var afn = bus.aIOHandlers[off];
if (afn) {
if (bus.messageEnabled()) bus.printMessage(afn[5] + ".writeWord(" + str.toOct(addr) + "," + str.toOct(w) + ")", 0, true);
if (afn[3]) {
afn[3](w, addr);
return;
fWrite = true;
} else if (afn[1]) {
afn[1](w & 0xff, addr);
afn[1](w >> 8, addr + 1);
return;
fWrite = true;
}
}
bus.println("warning: unconverted write access to word @" + str.toOct(addr));
if (fWrite) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.message(afn[5] + ".writeWord(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(w) + ")", true);
}
return;
}
bus.fnAccess(addr, w, 0);
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.message("warning: unconverted write access to word @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(w));
}
}
};

View file

@ -588,7 +588,9 @@ if (DEBUGGER) {
var b = 0xff;
var addr = this.getAddr(dbgAddr, false, 1);
if (addr !== PDP11.ADDR_INVALID) {
this.nDisableMessages++;
b = this.bus.getByteDirect(addr);
this.nDisableMessages--;
if (inc) this.incAddr(dbgAddr, inc);
}
return b;
@ -607,7 +609,9 @@ if (DEBUGGER) {
var w = 0xffff;
var addr = this.getAddr(dbgAddr, false, 2);
if (addr !== PDP11.ADDR_INVALID) {
this.nDisableMessages++;
w = this.bus.getWordDirect(addr);
this.nDisableMessages--;
if (inc) this.incAddr(dbgAddr, inc);
}
return w;
@ -625,7 +629,9 @@ if (DEBUGGER) {
{
var addr = this.getAddr(dbgAddr, true, 1);
if (addr !== PDP11.ADDR_INVALID) {
this.nDisableMessages++;
this.bus.setByteDirect(addr, b);
this.nDisableMessages--;
if (inc) this.incAddr(dbgAddr, inc);
this.cpu.updateCPU(true); // we set fForce to true in case video memory was the target
}
@ -643,7 +649,9 @@ if (DEBUGGER) {
{
var addr = this.getAddr(dbgAddr, true, 2);
if (addr !== PDP11.ADDR_INVALID) {
this.nDisableMessages++;
this.bus.setWordDirect(addr, w);
this.nDisableMessages--;
if (inc) this.incAddr(dbgAddr, inc);
this.cpu.updateCPU(true); // we set fForce to true in case video memory was the target
}
@ -1007,6 +1015,7 @@ if (DEBUGGER) {
this.bitsMessage = this.bitsWarning = MessagesPDP11.WARN;
this.sMessagePrev = null;
this.aMessageBuffer = [];
this.nDisableMessages = 0;
/*
* Internally, we use "key" instead of "keys", since the latter is a method on JavasScript objects,
* but externally, we allow the user to specify "keys"; "kbd" is also allowed as shorthand for "keyboard".
@ -1135,6 +1144,8 @@ if (DEBUGGER) {
*/
DebuggerPDP11.prototype.message = function(sMessage, fAddress)
{
if (this.nDisableMessages) return;
if (fAddress) {
sMessage += " at " + this.toStrAddr(this.newAddr(this.cpu.getPC()));
}
@ -1582,7 +1593,9 @@ if (DEBUGGER) {
*/
if (nState >= 0 && this.aaOpcodeCounts.length) {
this.cOpcodes++;
this.nDisableMessages++;
var opCode = this.bus.getWordDirect(addr);
this.nDisableMessages--;
if (opCode != null) {
var dbgAddr = this.aOpcodeHistory[this.iOpcodeHistory];
this.setAddr(dbgAddr, cpu.getPC());

View file

@ -556,7 +556,7 @@ MemoryPDP11.prototype = {
* @return {number}
*/
readNone: function readNone(off, addr) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.CPU | MessagesPDP11.MEM) /* && !off */) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEM) /* && !off */) {
this.dbg.message("attempt to read invalid block %" + str.toHex(this.addr), true);
}
return 0xff;
@ -570,7 +570,7 @@ MemoryPDP11.prototype = {
* @param {number} addr
*/
writeNone: function writeNone(off, v, addr) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.CPU | MessagesPDP11.MEM) /* && !off */) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEM) /* && !off */) {
this.dbg.message("attempt to write " + str.toHexWord(v) + " to invalid block %" + str.toHex(this.addr), true);
}
},
@ -753,7 +753,11 @@ MemoryPDP11.prototype = {
* @return {number}
*/
readByteLE: function readByteLE(off, addr) {
return this.ab[off];
var b = this.ab[off];
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEM)) {
this.dbg.message("Memory.readByteLE(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(b), true);
}
return b;
},
/**
* readWordBE(off, addr)
@ -779,7 +783,11 @@ MemoryPDP11.prototype = {
* TODO: It remains to be seen if there's any advantage to checking the offset for an aligned read
* vs. always reading the bytes separately.
*/
return (off & 0x1)? (this.ab[off] | (this.ab[off+1] << 8)) : this.aw[off >> 1];
var w = (off & 0x1)? (this.ab[off] | (this.ab[off+1] << 8)) : this.aw[off >> 1];
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEM)) {
this.dbg.message("Memory.readWordLE(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(w), true);
}
return w;
},
/**
* writeByteBE(off, b, addr)
@ -804,6 +812,9 @@ MemoryPDP11.prototype = {
writeByteLE: function writeByteLE(off, b, addr) {
this.ab[off] = b;
this.fDirty = true;
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEM)) {
this.dbg.message("Memory.writeByteLE(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(b) + ")", true);
}
},
/**
* writeWordBE(off, w, addr)
@ -837,6 +848,9 @@ MemoryPDP11.prototype = {
this.aw[off >> 1] = w;
}
this.fDirty = true;
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEM)) {
this.dbg.message("Memory.writeWordLE(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(w) + ")", true);
}
}
};

View file

@ -1,222 +1,223 @@
(function(){var l;
function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==f&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function r(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 f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}
function ca(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function da(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ea(){var a=fa();return-1!==a.indexOf("pcjs.org",a.length-8)}var ka={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};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,"")}function oa(a,b,c){var d=0,f=a.length,e=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<f;){var g=d+f>>1,h;h=c(b,a[g]);0<h?d=g+1:(f=g,e=!h)}return e?d:~d}var pa=Date.now||function(){return+new Date};function qa(){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(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function fa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function x(a){window&&window.alert(a)}function sa(a){var b=!1;window&&(b=window.confirm(a));return b}var ta=null;function va(){if(null==ta){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}ta=a}return ta}function wa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function za(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Aa(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 Ba(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Ca(a,b){function c(){b(100===d)&&(f=setTimeout(c,d),d=100)}var d=0,f=null,e=!1;a.onmousedown=function(){e||f||(d=500,c())};a.ontouchstart=function(){f||(d=500,c())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var 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){x(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Qa(a){!Ga&&a?(Ga=!0,Ea&&Ra("init"),Fa&&Ra("show")):Ga=a}function Ra(a){Da[a]&&Ja(Da[a])}Ha("onload",function(){Ea=!0;Ja(Da.init)});Ha("onpageshow",function(){Fa=!0;Ja(Da.show)});Ha(Aa("Opera")||Aa("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.sc=b.comment;this.Sc=b;b=this.id.indexOf(".");0>b?this.fc=this.id:(this.vc=this.id.substr(0,b),this.fc=this.id.substr(b+1));this[a]=c;this.u={ready:!1,Jb:!1,gc:!1,ja:!1,error:!1};this.Yb=null;this.u.error=!1;this.M={};this.G=null;this.ka=d||0;A.push(this)}var Sa=void 0,Ta={};
if(window){Sa||(Sa=window.location.search.substr(1));for(var Ua,Va=/\+/g,Wa=/([^&=]+)=?([^&]*)/g;Ua=Wa.exec(Sa);)Ta[decodeURIComponent(Ua[1].replace(Va," "))]=decodeURIComponent(Ua[2].replace(Va," "))}function Xa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function C(a,b){b||(b=y);a.prototype=Xa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ya=window.PCjs.Machines||(window.PCjs.Machines={}),A=window.PCjs.Components||(window.PCjs.Components=[])}else Ya={},A=[];function Za(a,b,c){Ya[a]&&b&&(Ya[a][b]=c)}function $a(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<A.length;b++){var d=A[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function ab(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<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 D(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b}
function bb(a,b){b=E(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=D(e))&&g.binding&&a.xa(g.type,g.binding,e,g.value),k=h.length}}}}
function E(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
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.M[b]||(this.M[b]=c,c.onclick=function(a){return function(){a.M.print&&(a.M.print.value="")}}(this)),!0;case "print":return this.M[b]||(this.jb=this.M[b]=c,c.value="",this.g=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.ra=function(a){this.g(a,this.fc)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.fc+": "+a)},ra:function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)},Qa:function(){return this.u.ja=!0},Pa:function(a,b){b&&(this.u.ja=!1);return!0}};function cb(a,b,c,d){a.G&&(!0===c||F(a,c|0))&&a.G.message(b,d)}function F(a,b){if(a.G){a===a.G?b|=0:b=b||a.ka;var c=a.G.ka&b;return!!b&&c===b||!!(c&a.G.Mc)}return!1}
function db(a,b){if(a.u.gc)return a.u.Jb=!1,a.u.gc=!1;if(a.u.error)return a.g(a.toString()+" error"),!1;a.u.Jb=b;return a.u.Jb}function eb(a,b){a.u.Jb&&(b?a.u.gc=!0:void 0===b&&a.g(a.toString()+" busy"));return a.u.Jb}function G(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.Yb;a.Yb=null;b&&b()}}function fb(a,b){b&&(a.u.ready?b():a.Yb=b);return a.u.ready}function gb(a){return a.u.error?(a.g(a.toString()+" error"),!0):!1}function hb(a,b){a.u.error=!0;a.ra(b)}
function ba(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==f&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function ca(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 f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}
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 ea(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ja(){var a=ka();return-1!==a.indexOf("pcjs.org",a.length-8)}var la={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ma(a){return a.replace(/[&<>"']/g,function(a){return la[a]})}function na(a,b){return(a+" ").slice(0,b)}
function oa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function pa(a,b,c){var d=0,f=a.length,e=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<f;){var g=d+f>>1,h;h=c(b,a[g]);0<h?d=g+1:(f=g,e=!h)}return e?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 ta(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ka(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function t(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var xa=null;function ya(){if(null==xa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}xa=a}return xa}function za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ca(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Da(a,b){function c(){b(100===d)&&(f=setTimeout(c,d),d=100)}var d=0,f=null,e=!1;a.onmousedown=function(){e||f||(d=500,c())};a.ontouchstart=function(){f||(d=500,c())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Ea={init:[],show:[],exit:[]},Fa=!1,Ga=!1,Ha=!0;function Oa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Pa(a){Ea.init.push(a)}
function Qa(a){if(Ha)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ra(a){!Ha&&a?(Ha=!0,Fa&&Sa("init"),Ga&&Sa("show")):Ha=a}function Sa(a){Ea[a]&&Qa(Ea[a])}Oa("onload",function(){Fa=!0;Qa(Ea.init)});Oa("onpageshow",function(){Ga=!0;Qa(Ea.show)});Oa(Ba("Opera")||Ba("iOS")?"onunload":"onbeforeunload",function(){Qa(Ea.exit)});
function x(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.tc=b.comment;this.Tc=b;b=this.id.indexOf(".");0>b?this.fc=this.id:(this.wc=this.id.substr(0,b),this.fc=this.id.substr(b+1));this[a]=c;this.w={ready:!1,Jb:!1,gc:!1,ja:!1,error:!1};this.Yb=null;this.w.error=!1;this.M={};this.i=null;this.ka=d||0;y.push(this)}var Ta=void 0,Ua={};
if(window){Ta||(Ta=window.location.search.substr(1));for(var Va,Wa=/\+/g,Xa=/([^&=]+)=?([^&]*)/g;Va=Xa.exec(Ta);)Ua[decodeURIComponent(Va[1].replace(Wa," "))]=decodeURIComponent(Va[2].replace(Wa," "))}function Ya(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function A(a,b){b||(b=x);a.prototype=Ya(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Za=window.PCjs.Machines||(window.PCjs.Machines={}),y=window.PCjs.Components||(window.PCjs.Components=[])}else Za={},y=[];function $a(a,b,c){Za[a]&&b&&(Za[a][b]=c)}function ab(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<y.length;b++){var d=y[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function bb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<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){t(c.message+" ("+a+")")}return b}
function cb(a,b){b=D(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=C(e))&&g.binding&&a.xa(g.type,g.binding,e,g.value),k=h.length}}}}
function D(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
x.prototype={constructor:x,parent:null,toString:function(){return this.name?this.name:this.id||this.type},xa:function(a,b,c){switch(b){case "clear":return this.M[b]||(this.M[b]=c,c.onclick=function(a){return function(){a.M.print&&(a.M.print.value="")}}(this)),!0;case "print":return this.M[b]||(this.kb=this.M[b]=c,c.value="",this.g=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.sa=function(a){this.g(a,this.fc)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.fc+": "+a)},sa:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},Qa:function(){return this.w.ja=!0},Pa:function(a,b){b&&(this.w.ja=!1);return!0}};function E(a,b){if(a.i){a===a.i?b|=0:b=b||a.ka;var c=a.i.ka&b;return!!b&&c===b||!!(c&a.i.Nc)}return!1}
function db(a,b){if(a.w.gc)return a.w.Jb=!1,a.w.gc=!1;if(a.w.error)return a.g(a.toString()+" error"),!1;a.w.Jb=b;return a.w.Jb}function eb(a,b){a.w.Jb&&(b?a.w.gc=!0:void 0===b&&a.g(a.toString()+" busy"));return a.w.Jb}function F(a){if(!a.w.error&&(a.w.ready=!0,a.w.ready)){var b=a.Yb;a.Yb=null;b&&b()}}function fb(a,b){b&&(a.w.ready?b():a.Yb=b);return a.w.ready}function sb(a){return a.w.error?(a.g(a.toString()+" error"),!0):!1}function tb(a,b){a.w.error=!0;a.sa(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});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return f.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),f=this;c.prototype=this.prototype;b.prototype=new c;return b});
var ub="undefined"!==typeof ArrayBuffer,H={cpu:1,trap:16,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function vb(a){y.call(this,"Panel",a,vb)}C(vb);l=vb.prototype;l.xa=function(a,b,c,d){return this.B&&this.B.xa(a,b,c,d)||this.b&&this.b.xa(a,b,c,d)||this.G&&this.G.xa(a,b,c,d)?!0:this.parent.xa.call(this,a,b,c,d)};l.Ya=function(a,b,c,d){this.B=a;this.I=b;this.b=c;this.G=d};
l.Qa=function(a,b){b||wb();return!0};l.Pa=function(){return!0};l.Ha=function(){};function wb(){for(var a=!1,b=E(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=D(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<A.length;g++)if(A[g].id===e){e=A[g];break a}}e=null}e||(a=!0,e=new vb(f));bb(e,d);a&&G(e)}}Ia(wb);
function xb(a,b,c){y.call(this,"Bus",a,xb,64);this.b=b;this.G=c;this.H=a.busWidth||16;this.C=Math.pow(2,this.H);this.j=this.C-1|0;this.Z=(this.H>>1)+2;10>this.Z&&(this.Z=10);15<this.Z&&(this.Z=15);this.Ea=1<<this.Z;this.K=this.Ea>>2;this.f=this.Ea-1;this.A=this.C/this.Ea|0;this.B=this.A-1;this.Ta=[];this.F=null;this.Kb=this.Ic;a=new I;yb(a,this.G);this.O=Array(this.A);for(b=0;b<this.A;b++)this.O[b]=a;this.Fb=Array(4);this.Fb[0]=zb;this.Fb[1]=Ab;this.Fb[2]=Bb;this.Fb[3]=Cb;Db(this,this.C-8192,8192,
Eb,this);Db(this,57344,8192,Eb,this);G(this)}C(xb);function zb(a,b){var c=this.controller,d=c.Ta[a];if(d){F(c)&&cb(c,d[5]+".readByte("+r(b)+")",0,!0);if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.Ta[a&-2])&&(F(c)&&cb(c,d[5]+".readByte("+r(b)+")",0,!0),d[2]))return d[2](b&-2)>>8;c.g("warning: unconverted read access to byte @"+r(b));return c.Kb(b,-1,1)}
function Ab(a,b,c){var d=this.controller,f=d.Ta[a];if(f){F(d)&&cb(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0);if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.Ta[a&-2])&&(F(d)&&cb(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0),f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.g("warning: unconverted write access to byte @"+r(c));d.Kb(c,b,1)}
function Bb(a,b){var c=this.controller;if(a=c.Ta[a]){F(c)&&cb(c,a[5]+".readWord("+r(b)+")",0,!0);if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.g("warning: unconverted read access to word @"+r(b));return c.Kb(b,-1,0)}function Cb(a,b,c){var d=this.controller;if(a=d.Ta[a]){F(d)&&cb(d,a[5]+".writeWord("+r(c)+","+r(b)+")",0,!0);if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.g("warning: unconverted write access to word @"+r(c));d.Kb(c,b,0)}l=xb.prototype;
l.reset=function(){this.F&&this.F()};l.Ic=function(){return 0};l.Qa=function(a,b){b||this.reset();return!0};
function Db(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.Z;0<g&&h<a.O.length;){var k=a.O[h],m=h*a.Ea,n=a.Ea-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Vb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Vb){n=k.size-(e-m);n>g&&(n=g);k.Vb=e-k.w+n;e=m+a.Ea;g-=n;h++;continue}}return Fb(1,e,g)}e=new I(e,n,a.Ea,d,f);yb(e,a.G,k);a.O[h++]=e;e=m+a.Ea;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Gb[d]+" at "+t(b,8,!0)),!0):Fb(2,b,c)}
l.sb=function(a){return this.O[(a&this.j)>>>this.Z].wb(a&this.f,a)};l.Ka=function(a){var b=a&this.f,c=(a&this.j)>>>this.Z;return b!=this.f?this.O[c].Bc(b,a):this.O[c++].wb(b,a)|this.O[c&this.B].wb(0,a+1)<<8};function Hb(a,b){var c=b&a.f,d=(b&a.j)>>>a.Z;return c!=a.f?a.O[d].lc(c,b):a.O[d++].Ob(c,b)|a.O[d&a.B].Ob(0,b+1)<<8}l.Sb=function(a,b){this.O[(a&this.j)>>>this.Z].Cb(a&this.f,b&255,a)};
l.ob=function(a,b){var c=a&this.f,d=(a&this.j)>>>this.Z;c!=this.f?this.O[d].Hc(c,b&65535,a):(this.O[d++].Cb(c,b&255,a),this.O[d&this.B].Cb(0,b>>8&255,a+1))};function Ib(a){for(var b=0,c=[],d=0;d<a.A;d++){var f=a.O[d];if(f.Xa||f.Pc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],n=g+1;n<f.length&&f[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<f.length&&(f=k)}c[e]=f}}return c}
function Jb(a,b){var c=Kb,d;for(d in c)for(var f=c[d],e=f[0]?f[0].bind(b):null,g=f[1]?f[1].bind(b):null,h=f[2]?f[2].bind(b):null,k=f[3]?f[3].bind(b):null,m=a,n=+d,f=f[4],q=+d;q<=n;q+=2){var p=q&8191;void 0!==m.Ta[p]?x("I/O address already registered: "+t(q,8,!0)):m.Ta[p]=[e,g,h,k,!1,f||"unknown"]}}function Lb(a,b,c){a.F=b;a.Kb=c}function Fb(a,b,c){x("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}
function J(a){y.call(this,"Device",a,J);this.f={kc:[],va:0,ya:128,G:127,Oc:0};this.B={data:0,vd:0,tb:20,od:0};this.j={N:0,pc:-1};this.A={Qb:2496,oa:0,R:128,Rb:0,Pb:0,wa:0,Cc:0,qa:[],hb:[406,406,406,406],aa:[12,12,12,12]};this.C={N:129,Ib:0,ga:0,$a:0,Ua:0,fb:0,qa:[],aa:[40,40,40,40],hb:[1024,1024,512,512],Kc:[157,157,29,29]};this.F={b:[8210,8208,8210,8226],aa:[22,22,22,50],gb:[19,19,19,32],ec:[815,411,815,630],qa:[],T:2176,zb:0,xb:0,Ga:[0,0,0,0,0,0,0,0],Fa:0,sa:[4544,4544,4544,4544,4544,4544,4544,
4544],yb:[0,0,0,0,0,0,0,0],nb:0,ld:[0,0,0,0,0,0,0,0],Dc:0,Ec:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],md:[1,2,3,4,5,6,7,8],Fc:[0,0,0,0,0,0,0,0],Sa:[0,0,0,0,0,0,0,0],dc:[0,0,0,0,0,0,0,0],jd:[0,0,0,0,0,0,0,0],kd:[0,0,0,0,0,0,0,0],gd:[0,0,0,0,0,0,0,0],hd:[0,0,0,0,0,0,0,0],eb:0,nc:0}}C(J);
var ub="undefined"!==typeof ArrayBuffer,G={cpu:1,trap:16,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function vb(a){x.call(this,"Panel",a,vb)}A(vb);l=vb.prototype;l.xa=function(a,b,c,d){return this.C&&this.C.xa(a,b,c,d)||this.b&&this.b.xa(a,b,c,d)||this.i&&this.i.xa(a,b,c,d)?!0:this.parent.xa.call(this,a,b,c,d)};l.Ya=function(a,b,c,d){this.C=a;this.I=b;this.b=c;this.i=d};
l.Qa=function(a,b){b||wb();return!0};l.Pa=function(){return!0};l.Ia=function(){};function wb(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=C(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<y.length;g++)if(y[g].id===e){e=y[g];break a}}e=null}e||(a=!0,e=new vb(f));cb(e,d);a&&F(e)}}Pa(wb);
function xb(a,b,c){x.call(this,"Bus",a,xb,64);this.b=b;this.i=c;this.H=a.busWidth||16;this.D=Math.pow(2,this.H);this.u=this.D-1|0;this.$=(this.H>>1)+2;10>this.$&&(this.$=10);15<this.$&&(this.$=15);this.Fa=1<<this.$;this.K=this.Fa>>2;this.f=this.Fa-1;this.B=this.D/this.Fa|0;this.C=this.B-1;this.Ta=[];this.G=null;this.Lb=this.Jc;a=new H;yb(a,this.i);this.O=Array(this.B);for(b=0;b<this.B;b++)this.O[b]=a;this.Fb=Array(4);this.Fb[0]=zb;this.Fb[1]=Ab;this.Fb[2]=Bb;this.Fb[3]=Cb;Db(this,this.D-8192,8192,
Eb,this);Db(this,57344,8192,Eb,this);F(this)}A(xb);function zb(a,b){var c=-1,d=this.controller,f=d.Ta[a];f?f[0]?c=f[0](b):f[2]&&(c=b&1?f[2](b&-2)>>8:f[2](b)&255):b&1&&(f=d.Ta[a&-2])&&f[2]&&(c=f[2](b&-2)>>8);if(0<=c)return this.i&&E(this.i,64)&&this.i.message(f[5]+".readByte("+I(this.i,b)+"): "+I(this.i,c),!0),c;c=d.Lb(b,-1,1);this.i&&E(this.i,64)&&this.i.message("warning: unconverted read access to byte @"+I(this.i,b)+": "+I(this.i,c));return c}
function Ab(a,b,c){var d=!1,f=this.controller,e=f.Ta[a];if(e)if(e[1])e[1](b,c),d=!0;else{if(e[3]){a=e[2]?e[2](c):0;if(c&1)e[3](a&255|b<<8,c&-2);else e[3](a&-256|b,c);d=!0}}else c&1&&(e=f.Ta[a&-2])&&e[3]&&(c&=-2,a=e[2]?e[2](c):0,e[3](a&255|b<<8,c),d=!0);d?this.i&&E(this.i,64)&&this.i.message(e[5]+".writeByte("+I(this.i,c)+","+I(this.i,b)+")",!0):(f.Lb(c,b,1),this.i&&E(this.i,64)&&this.i.message("warning: unconverted write access to byte @"+I(this.i,c)+": "+I(this.i,b)))}
function Bb(a,b){var c=-1,d=this.controller;(a=d.Ta[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.i&&E(this.i,64)&&this.i.message(a[5]+".readWord("+I(this.i,b)+"): "+I(this.i,c),!0),c;c=d.Lb(b,-1,0);this.i&&E(this.i,64)&&this.i.message("warning: unconverted read access to word @"+I(this.i,b)+": "+I(this.i,c));return c}
function Cb(a,b,c){var d=!1,f=this.controller;if(a=f.Ta[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d?this.i&&E(this.i,64)&&this.i.message(a[5]+".writeWord("+I(this.i,c)+","+I(this.i,b)+")",!0):(f.Lb(c,b,0),this.i&&E(this.i,64)&&this.i.message("warning: unconverted write access to word @"+I(this.i,c)+": "+I(this.i,b)))}l=xb.prototype;l.reset=function(){this.G&&this.G()};l.Jc=function(){return 0};l.Qa=function(a,b){b||this.reset();return!0};
function Db(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.$;0<g&&h<a.O.length;){var k=a.O[h],m=h*a.Fa,n=a.Fa-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.A)return k.Wb+=k.A-e,k.A=e,!0;if(e>=k.A+k.Wb){n=k.size-(e-m);n>g&&(n=g);k.Wb=e-k.A+n;e=m+a.Fa;g-=n;h++;continue}}return Fb(1,e,g)}e=new H(e,n,a.Fa,d,f);yb(e,a.i,k);a.O[h++]=e;e=m+a.Fa;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Gb[d]+" at "+p(b,8,!0)),!0):Fb(2,b,c)}
l.sb=function(a){return this.O[(a&this.u)>>>this.$].wb(a&this.f,a)};l.Ka=function(a){var b=a&this.f,c=(a&this.u)>>>this.$;return b!=this.f?this.O[c].Cc(b,a):this.O[c++].wb(b,a)|this.O[c&this.C].wb(0,a+1)<<8};function Hb(a,b){var c=b&a.f,d=(b&a.u)>>>a.$;return c!=a.f?a.O[d].mc(c,b):a.O[d++].Pb(c,b)|a.O[d&a.C].Pb(0,b+1)<<8}l.Tb=function(a,b){this.O[(a&this.u)>>>this.$].Cb(a&this.f,b&255,a)};
l.pb=function(a,b){var c=a&this.f,d=(a&this.u)>>>this.$;c!=this.f?this.O[d].Ic(c,b&65535,a):(this.O[d++].Cb(c,b&255,a),this.O[d&this.C].Cb(0,b>>8&255,a+1))};function Ib(a){for(var b=0,c=[],d=0;d<a.B;d++){var f=a.O[d];if(f.Xa||f.Qc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],n=g+1;n<f.length&&f[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<f.length&&(f=k)}c[e]=f}}return c}
function Jb(a,b){var c=Kb,d;for(d in c)for(var f=c[d],e=f[0]?f[0].bind(b):null,g=f[1]?f[1].bind(b):null,h=f[2]?f[2].bind(b):null,k=f[3]?f[3].bind(b):null,m=a,n=+d,f=f[4],r=+d;r<=n;r+=2){var q=r&8191;void 0!==m.Ta[q]?t("I/O address already registered: "+p(r,8,!0)):m.Ta[q]=[e,g,h,k,!1,f||"unknown"]}}function Lb(a,b,c){a.G=b;a.Lb=c}function Fb(a,b,c){t("Memory block error ("+a+": "+p(b)+","+p(c)+")");return!1}
function J(a){x.call(this,"Device",a,J);this.f={lc:[],va:0,ya:128,i:127,Pc:0};this.C={data:0,vd:0,tb:20,od:0};this.u={N:0,qc:-1};this.B={Rb:2496,oa:0,R:128,Sb:0,Qb:0,wa:0,Dc:0,ra:[],hb:[406,406,406,406],aa:[12,12,12,12]};this.D={N:129,Ib:0,ga:0,$a:0,Ua:0,fb:0,ra:[],aa:[40,40,40,40],hb:[1024,1024,512,512],Lc:[157,157,29,29]};this.G={b:[8210,8208,8210,8226],aa:[22,22,22,50],gb:[19,19,19,32],ec:[815,411,815,630],ra:[],T:2176,zb:0,xb:0,Ha:[0,0,0,0,0,0,0,0],Ga:0,ta:[4544,4544,4544,4544,4544,4544,4544,
4544],yb:[0,0,0,0,0,0,0,0],ob:0,ld:[0,0,0,0,0,0,0,0],Ec:0,Fc:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],md:[1,2,3,4,5,6,7,8],Gc:[0,0,0,0,0,0,0,0],Sa:[0,0,0,0,0,0,0,0],dc:[0,0,0,0,0,0,0,0],jd:[0,0,0,0,0,0,0,0],kd:[0,0,0,0,0,0,0,0],gd:[0,0,0,0,0,0,0,0],hd:[0,0,0,0,0,0,0,0],eb:0,oc:0}}A(J);
var Mb=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=J.prototype;l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.G=d;var f=this;this.j.pc=Nb(this.b,function(){f.j.Za|=128;f.j.Za&64&&(K(f.b,0,6,64),Ob(f.b,f.j.pc))});Jb(b,this);Lb(b,this.reset.bind(this),this.Jc.bind(this));G(this)};l.Zc=function(){var a=this.j.Za;this.j.Za&=-129;return a};
l.qd=function(a){this.j.Za=a;a&64&&Ob(this.b,this.j.pc);this.j.Za=a&-129};l.$c=function(){var a=this.b;return a.K&62337|a.za<<5|a.Ba<<1};l.rd=function(a){var b=4,c=this.b;c.K=a&=62337;c.za=a>>5&3;c.Ba=a>>1&15;c.$b=a&257?a&1?6:4:0;Pb(c);a=c.K;a&1|256&&(b=this.b.mb&16?1:2);this.B.tb=this.B.tb&-8|b};l.bd=function(){return this.f.va};l.td=function(a){this.f.va=this.f.va&128|a&-129};l.cd=function(){return this.f.ya};
l.ud=function(a){if(128==(this.f.ya&192)&&a&64){var b=this;K(this.b,8,4,52,function(){b.f.ya|=128;return!!(b.f.ya&64)})}this.f.ya=this.f.ya&128|a&-129};l.ad=function(){return Qb(this.b)};l.sd=function(a){Rb(this.b,a&-1809|Qb(this.b)&1808);this.b.D|=128};
function Sb(a){var b=a.A,c,d,f,e=b.wa>>13&7;"undefined"===typeof b.qa[e]&&(b.qa[e]={cache:[],postProcess:a.dd,drive:e,blocksize:256,mapped:0,maxblock:b.hb[e]*b.aa[e],url:"rk"+e+".dsk"});b.R&=-129;switch(b.R>>1&7){case 0:b.Qb=2496;b.oa=0;b.R=128;b.wa=0;break;case 1:if((b.wa>>4&511)>=b.hb[e]){b.oa|=32832;b.R|=49152;break}if((b.wa&15)>=b.aa[e]){b.oa|=32800;b.R|=49152;break}c=(b.wa>>4&511)*b.aa[e]+(b.wa&15);d=(b.R&48)<<12|b.Pb;f=65536-b.Rb&65535;ac(a,b.qa[e],c,d,f);return;case 2:if((b.wa>>4&511)>=b.hb[e])b.oa|=
32832,b.R|=49152;else if((b.wa&15)>=b.aa[e])b.oa|=32800,b.R|=49152;else{c=(b.wa>>4&511)*b.aa[e]+(b.wa&15);d=(b.R&48)<<12|b.Pb;f=65536-b.Rb&65535;a.bc(b.qa[e],c,d,f);return}}b.Qb=e<<13|b.Qb&8176|b.wa%9&15;K(a.b,20,5,144,function(){b.R=b.R&65534|128;return!!(b.R&64)})}l.dd=function(a,b,c,d,f){var e=this.A;e.Pb=d&65535;e.R=e.R&-49|d>>12&48;e.Rb=65536-f&65535;switch(a){case 1:e.oa|=33024;e.R|=49152;break;case 2:e.oa|=33792,e.R|=49152}K(this.b,20,5,144,function(){e.R=e.R&65534|128;return!!(e.R&64)})};
function bc(a){var b=a.C,c,d,f,e=b.N>>8&3;b.N&=-2;"undefined"===typeof b.qa[e]&&(b.qa[e]={cache:[],postProcess:a.ed,drive:e,blocksize:128,mapped:1,maxblock:b.hb[e]*b.aa[e],url:"rl"+e+".dsk"});switch(b.N>>1&7){case 2:b.$a&8&&(b.N&=63);b.$a=b.Kc[e]|b.fb&64;break;case 3:1==(b.ga&3)&&(b.fb=b.ga&4?b.fb+(b.ga&65408)&65408|b.ga<<2&64:b.fb-(b.ga&65408)&65408|b.ga<<2&64,b.ga=b.fb);break;case 4:b.$a=b.fb;break;case 5:if(b.ga>>6>=b.hb[e]){b.N|=37888;break}if((b.ga&63)>=b.aa[e]){b.N|=37888;break}c=(b.ga>>6)*
b.aa[e]+(b.ga&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;ac(a,b.qa[e],c,d,f);return;case 6:if(b.ga>>6>=b.hb[e])b.N|=37888;else if((b.ga&63)>=b.aa[e])b.N|=37888;else{c=(b.ga>>6)*b.aa[e]+(b.ga&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;a.bc(b.qa[e],c,d,f);return}}K(a.b,20,5,112,function(){b.N|=129;return!!(b.N&64)})}
l.ed=function(a,b,c,d,f){var e=this.C;e.Ib=d&65535;e.N=e.N&-49|d>>12&48;e.Ua=d>>16&63;e.ga=~~(c/e.aa[b.Na])<<6|c%e.aa[b.Na];e.fb=e.ga;e.$a=65536-f&65535;switch(a){case 1:e.N|=33792;break;case 2:e.N|=40960}K(this.b,20,5,112,function(){e.N|=129;return!!(e.N&64)})};function cc(a){a=a.F;a.T=2176;a.Fa=0;a.sa=[4544,4544,4544,4544,4544,4544,4544,4544];a.yb=[0,0,0,0,0,0,0,0];a.nb=a.zb=a.xb=a.eb=a.nc=0}
function dc(a,b){var c=a.F,d,f,e;c.T&=-16513;c.Fa&=-2049;c.sa[b]&=-1153;K(a.b,-1,0,172);"undefined"===typeof c.qa[b]&&(c.qa[b]={cache:[],postProcess:a.fd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.gb[0]*c.aa[0],url:"rp"+b+".dsk"});switch(c.T&63){case 5:c.dc[b]=c.Sa[b];c.T|=32896;c.sa[b]|=32896;c.nb|=1<<b;break;case 9:cc(a);break;case 19:c.sa[b]|=64;break;case 49:if(c.Sa[b]>=c.ec[0]||c.Ga[b]>>8>=c.gb[0]||(c.Ga[b]&255)>=c.aa[0]){c.yb[b]|=1024;c.T|=49152;break}d=(c.Sa[b]*c.gb[0]+(c.Ga[b]>>8))*
c.aa[0]+(c.Ga[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;ac(a,c.qa[b],d,f,e);return;case 57:if(c.Sa[b]>=c.ec[0]||c.Ga[b]>>8>=c.gb[0]||(c.Ga[b]&255)>=c.aa[0])c.yb[b]|=1024,c.T|=49152;else{d=(c.Sa[b]*c.gb[0]+(c.Ga[b]>>8))*c.aa[0]+(c.Ga[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;a.bc(c.qa[b],d,f,e);return}}K(a.b,3,5,172,function(){c.T=c.T&65534|128;c.sa[b]|=128;return!!(c.T&64)})}
l.fd=function(a,b,c,d,f){var e=this.F;e.zb=65536-f&65535;e.xb=d&65535;e.T=e.T&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.aa[0]);d=~~(f/e.gb[0]);e.Ga[b.Na]=f%e.gb[0]<<8|c%e.aa[0];e.dc[b.Na]=e.Sa[b.Na]=d;e.nb|=1<<b.Na;c>=b.Wc-1&&(e.sa[b.Na]|=1024);switch(a){case 1:e.Fa|=512;e.T|=49152;break;case 2:e.Fa|=2048,e.T|=49152}K(this.b,20,5,172,function(){e.sa[b.Na]|=128;e.T=e.T&65534|128;return!!(e.T&64)})};
function ec(a,b,c,d,f,e){var g=~~((e+c.Va-1)/c.Va),h=new XMLHttpRequest;2048>g&&d+2048<c.Wc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Va<<1)+"-"+(((d+g)*c.Va<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,q,p;m=h.response;if(h.status&&206!=h.status||!m)c.jc(1,c,d,f,e);else{m=new Uint8Array(m);n=d;for(p=0;p<m.length;){if("undefined"===typeof c.cache[n])for(c.cache[n]=[],q=0;q<c.Va;q++)c.cache[n][q]=p<m.length?
m[p]&255|m[p+1]<<8&65280:0,p+=2;else p+=c.Va<<1;n++}g(c,d,f,e)}}};h.send(null)}function L(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:a.b.L(4,122):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.bc=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){ec(this,this.bc,a,b,c,d);return}for(f=0;f<a.Va&&0<d;f++){var e=a.Vc?fc(this.b,c):c;this.b.I.ob(e,a.cache[b][f]&65535);c+=2;--d}b++}a.jc(0,a,b,c,d)};
function ac(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.Va;e++)b.cache[c][e]=0;for(e=0;e<b.Va&&0<f;e++){g=gc(a.b,b.Vc?fc(a.b,d):d);if(0>g){b.jc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.jc(0,b,c,d,f)}l.reset=function(){this.B.tb=this.B.tb&-120|20;this.f.va=0;this.f.ya=128;this.j.Za=0;this.A.R=128;this.C.N=128;cc(this)};
l.Jc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.cb&65280:(a&1&&(b<<=8),e.cb=b|255,d=0);break;case 4194298:if(0>b)d=e.mc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.mc=d;e.D|=2}break;case 4194294:if(70!==e.kb)return e.L(4,222);0>b?d=e.J:d=e.J=0;break;case 4194292:if(70!==e.kb)return e.L(4,224);d=1;break;case 4194290:if(70!==e.kb)return e.L(4,226);d=0;break;case 4194288:if(70!==e.kb)return e.L(4,228);d=61183;break;case 4194296:0<=
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.kb)return e.L(4,232);f=a-4194272>>1;0>b?d=e.ic[f]:(d=L(this,e.ic[f],a,b,c),0<=d&&(e.ic[f]=d));break;case 4194254:return a&1?e.P>>14&1?(0<=b&&(e.i[6]=b),d=e.i[6]):(0<=b&&(e.Aa[3]=b),d=e.Aa[3]):e.P>>14&0?(0<=b&&(e.i[6]=b),d=e.i[6]):(0<=b&&(e.Aa[1]=b),d=e.Aa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.P&2048?(0<=b&&(e.i[f]=b),d=e.i[f]):(0<=b&&(e.Ra[f]=
b),d=e.Ra[f]),d;case 4194246:return a&1?(0<=b&&(e.i[7]=b),d=e.i[7]):e.P>>14&0?(0<=b&&(e.i[6]=b),d=e.i[6]):(0<=b&&(e.Aa[0]=b),d=e.Aa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.P&2048?(0<=b&&(e.Ra[f]=b),d=e.Ra[f]):(0<=b&&(e.i[f]=b),d=e.i[f]),d;default:return e.J|=16,e.L(4,124)}break;case 4194176:f=a>>1&31;d=L(this,e.na[3][f],a,b,c);0<=d&&(e.na[3][f]=d,e.na[3][f&15]&=65295);break;case 4194112:var g=this.f;switch(a&-2){case 4194174:d=L(this,e.cc,a,b,c);0<=d&&(e.cc=d);break;case 4194172:d=
e.bb;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.B.od&65535:(d=L(this,this.B.data,a,b,c),0<=d&&(this.B.data=d));break;case 4194166:0<=b&&(b&127&&(g.Oc=0),g.ya&=-129,K(e,100,4,52,function(){g.ya|=128;return!!(g.ya&64)}));d=0;break;case 4194162:d=0;0>b&&(g.va&=-129,0<g.kc.length&&(d=g.kc.shift(),0<g.kc.length&&setTimeout(function(){g.va|=128;g.va&64&&K(e,40,4,48)},50)));break;case 4194160:0>b?d=g.va:(d=L(this,g.va,a,b,c),0<=d&&(g.va=g.va&128|d&-129));break;default:return e.J|=16,e.L(4,
126)}break;case 4194048:f=this.A;switch(a&-2){case 4194048:d=L(this,f.Qb,a,b,c);0<=d&&(f.Qb=d);break;case 4194050:d=L(this,f.oa,a,b,c);0<=d&&(f.oa=d);break;case 4194052:d=L(this,f.R,a,b,c);0<=b&&0<=d&&(f.R=d&-36993|f.R&36992,f.R&1&&Sb(this));break;case 4194054:d=L(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194056:d=L(this,f.Pb,a,b,c);0<=d&&(f.Pb=d);break;case 4194058:d=L(this,f.wa,a,b,c);0<=d&&(f.wa=d);break;case 4194060:break;case 4194062:d=L(this,f.Cc,a,b,c);0<=d&&(f.Cc=d);break;default:return e.J|=
16,e.L(4,128)}break;case 4193728:var h=this.F;f=h.Fa&7;switch(a&-2){case 4193728:d=L(this,h.T,a,b,c);0<=b&&0<=d&&(h.eb=h.eb&60|d>>8&3,h.T=d&17279|h.T&34944|2048,d&1&&h.T&128?dc(this,f):192==(d&192)&&K(e,0,5,172));break;case 4193730:d=L(this,h.zb,a,b,c);0<=d&&(h.zb=d);break;case 4193732:d=L(this,h.xb,a,b,c);0<=d&&(h.xb=d&65534);break;case 4193734:d=L(this,h.Ga[f],a,b,c);0<=d&&(h.Ga[f]=d&7967);break;case 4193736:d=L(this,h.Fa,a,b,c);0<=d&&(h.Fa=d&63|h.Fa&65472,d&128&&cc(this));break;case 4193738:d=
h.sa[f];break;case 4193740:d=h.yb[f];break;case 4193742:d=L(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.ld[f];break;case 4193746:d=L(this,h.Dc,a,b,c);0<=d&&(h.Dc=d);break;case 4193748:d=L(this,h.Ec[f],a,b,c);0<=d&&(h.Ec[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.md[f];break;case 4193754:d=L(this,h.Fc[f],a,b,c);0<=d&&(h.Fc[f]=d);break;case 4193756:d=L(this,h.Sa[f],a,b,c);0<=d&&(h.Sa[f]=d&511);break;case 4193758:h.dc[f]=h.Sa[f];d=h.dc[f];break;case 4193760:d=h.jd[f];
break;case 4193762:d=h.kd[f];break;case 4193764:d=h.gd[f];break;case 4193766:d=h.hd[f];break;case 4193768:d=L(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.T=h.T&-769|(d&3)<<8);break;case 4193770:d=L(this,h.nc,a,b,c);0<=d&&(h.nc=d);break;default:return e.J|=16,e.L(4,132)}break;case 4192512:f=this.C;switch(a&-2){case 4192512:d=L(this,f.N,a,b,c);0<=b&&0<=d&&(f.Ua=f.Ua&60|d>>4&3,f.N=f.N&-1023|d&1022,f.N&128||bc(this));break;case 4192514:d=L(this,f.Ib,a,b,c);0<=d&&(f.Ib=d&65534);break;case 4192516:d=L(this,f.ga,
a,b,c);0<=d&&(f.ga=d);break;case 4192518:d=L(this,f.$a,a,b,c);0<=d&&(f.$a=d);break;case 4192520:d=L(this,f.Ua,a,b,c);0<=d&&(f.Ua=d&63,f.N=f.N&-49|(f.Ua&3)<<4);break;default:return e.J|=16,e.L(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.mb:(d=L(this,e.mb,a,b,c),0<=d&&(70!==e.kb&&(d&=-49),e.mb=d,e.ac[0]=d&4?15:7,e.ac[1]=d&2?15:7,e.ac[3]=d&1?15:7,e.$b&&(f=2,e.mb&16&&(f=1),this.B.tb=this.B.tb&-8|f)));break;default:return e.J|=16,e.L(4,136)}break;case 4191424:f=a>>1&31;d=L(this,e.na[0][f],
a,b,c);0<=d&&(e.na[0][f]=d,e.na[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=L(this,e.na[1][f],a,b,c);0<=d&&(e.na[1][f]=d,e.na[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.kb)return e.L(4,234);f=a>>2&31;d=e.Tb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=L(this,d,a,b,c),0<=d&&(e.Tb[f]=a&2?d<<16|e.Tb[f]&65535:e.Tb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Mb[a>>1&255];else return e.J|=16,e.L(4,
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=J.prototype;l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.i=d;var f=this;this.u.qc=Nb(this.b,function(){f.u.Za|=128;f.u.Za&64&&(K(f.b,0,6,64),Ob(f.b,f.u.qc))});Jb(b,this);Lb(b,this.reset.bind(this),this.Kc.bind(this));F(this)};l.Zc=function(){var a=this.u.Za;this.u.Za&=-129;return a};
l.qd=function(a){this.u.Za=a;a&64&&Ob(this.b,this.u.qc);this.u.Za=a&-129};l.$c=function(){var a=this.b;return a.K&62337|a.za<<5|a.Aa<<1};l.rd=function(a){var b=4,c=this.b;c.K=a&=62337;c.za=a>>5&3;c.Aa=a>>1&15;c.$b=a&257?a&1?6:4:0;Pb(c);a=c.K;a&1|256&&(b=this.b.nb&16?1:2);this.C.tb=this.C.tb&-8|b};l.bd=function(){return this.f.va};l.td=function(a){this.f.va=this.f.va&128|a&-129};l.cd=function(){return this.f.ya};
l.ud=function(a){if(128==(this.f.ya&192)&&a&64){var b=this;K(this.b,8,4,52,function(){b.f.ya|=128;return!!(b.f.ya&64)})}this.f.ya=this.f.ya&128|a&-129};l.ad=function(){return Qb(this.b)};l.sd=function(a){Rb(this.b,a&-1809|Qb(this.b)&1808);this.b.F|=128};
function $b(a){var b=a.B,c,d,f,e=b.wa>>13&7;"undefined"===typeof b.ra[e]&&(b.ra[e]={cache:[],postProcess:a.dd,drive:e,blocksize:256,mapped:0,maxblock:b.hb[e]*b.aa[e],url:"rk"+e+".dsk"});b.R&=-129;switch(b.R>>1&7){case 0:b.Rb=2496;b.oa=0;b.R=128;b.wa=0;break;case 1:if((b.wa>>4&511)>=b.hb[e]){b.oa|=32832;b.R|=49152;break}if((b.wa&15)>=b.aa[e]){b.oa|=32800;b.R|=49152;break}c=(b.wa>>4&511)*b.aa[e]+(b.wa&15);d=(b.R&48)<<12|b.Qb;f=65536-b.Sb&65535;ac(a,b.ra[e],c,d,f);return;case 2:if((b.wa>>4&511)>=b.hb[e])b.oa|=
32832,b.R|=49152;else if((b.wa&15)>=b.aa[e])b.oa|=32800,b.R|=49152;else{c=(b.wa>>4&511)*b.aa[e]+(b.wa&15);d=(b.R&48)<<12|b.Qb;f=65536-b.Sb&65535;a.bc(b.ra[e],c,d,f);return}}b.Rb=e<<13|b.Rb&8176|b.wa%9&15;K(a.b,20,5,144,function(){b.R=b.R&65534|128;return!!(b.R&64)})}l.dd=function(a,b,c,d,f){var e=this.B;e.Qb=d&65535;e.R=e.R&-49|d>>12&48;e.Sb=65536-f&65535;switch(a){case 1:e.oa|=33024;e.R|=49152;break;case 2:e.oa|=33792,e.R|=49152}K(this.b,20,5,144,function(){e.R=e.R&65534|128;return!!(e.R&64)})};
function bc(a){var b=a.D,c,d,f,e=b.N>>8&3;b.N&=-2;"undefined"===typeof b.ra[e]&&(b.ra[e]={cache:[],postProcess:a.ed,drive:e,blocksize:128,mapped:1,maxblock:b.hb[e]*b.aa[e],url:"rl"+e+".dsk"});switch(b.N>>1&7){case 2:b.$a&8&&(b.N&=63);b.$a=b.Lc[e]|b.fb&64;break;case 3:1==(b.ga&3)&&(b.fb=b.ga&4?b.fb+(b.ga&65408)&65408|b.ga<<2&64:b.fb-(b.ga&65408)&65408|b.ga<<2&64,b.ga=b.fb);break;case 4:b.$a=b.fb;break;case 5:if(b.ga>>6>=b.hb[e]){b.N|=37888;break}if((b.ga&63)>=b.aa[e]){b.N|=37888;break}c=(b.ga>>6)*
b.aa[e]+(b.ga&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;ac(a,b.ra[e],c,d,f);return;case 6:if(b.ga>>6>=b.hb[e])b.N|=37888;else if((b.ga&63)>=b.aa[e])b.N|=37888;else{c=(b.ga>>6)*b.aa[e]+(b.ga&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;a.bc(b.ra[e],c,d,f);return}}K(a.b,20,5,112,function(){b.N|=129;return!!(b.N&64)})}
l.ed=function(a,b,c,d,f){var e=this.D;e.Ib=d&65535;e.N=e.N&-49|d>>12&48;e.Ua=d>>16&63;e.ga=~~(c/e.aa[b.Na])<<6|c%e.aa[b.Na];e.fb=e.ga;e.$a=65536-f&65535;switch(a){case 1:e.N|=33792;break;case 2:e.N|=40960}K(this.b,20,5,112,function(){e.N|=129;return!!(e.N&64)})};function cc(a){a=a.G;a.T=2176;a.Ga=0;a.ta=[4544,4544,4544,4544,4544,4544,4544,4544];a.yb=[0,0,0,0,0,0,0,0];a.ob=a.zb=a.xb=a.eb=a.oc=0}
function dc(a,b){var c=a.G,d,f,e;c.T&=-16513;c.Ga&=-2049;c.ta[b]&=-1153;K(a.b,-1,0,172);"undefined"===typeof c.ra[b]&&(c.ra[b]={cache:[],postProcess:a.fd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.gb[0]*c.aa[0],url:"rp"+b+".dsk"});switch(c.T&63){case 5:c.dc[b]=c.Sa[b];c.T|=32896;c.ta[b]|=32896;c.ob|=1<<b;break;case 9:cc(a);break;case 19:c.ta[b]|=64;break;case 49:if(c.Sa[b]>=c.ec[0]||c.Ha[b]>>8>=c.gb[0]||(c.Ha[b]&255)>=c.aa[0]){c.yb[b]|=1024;c.T|=49152;break}d=(c.Sa[b]*c.gb[0]+(c.Ha[b]>>8))*
c.aa[0]+(c.Ha[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;ac(a,c.ra[b],d,f,e);return;case 57:if(c.Sa[b]>=c.ec[0]||c.Ha[b]>>8>=c.gb[0]||(c.Ha[b]&255)>=c.aa[0])c.yb[b]|=1024,c.T|=49152;else{d=(c.Sa[b]*c.gb[0]+(c.Ha[b]>>8))*c.aa[0]+(c.Ha[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;a.bc(c.ra[b],d,f,e);return}}K(a.b,3,5,172,function(){c.T=c.T&65534|128;c.ta[b]|=128;return!!(c.T&64)})}
l.fd=function(a,b,c,d,f){var e=this.G;e.zb=65536-f&65535;e.xb=d&65535;e.T=e.T&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.aa[0]);d=~~(f/e.gb[0]);e.Ha[b.Na]=f%e.gb[0]<<8|c%e.aa[0];e.dc[b.Na]=e.Sa[b.Na]=d;e.ob|=1<<b.Na;c>=b.Wc-1&&(e.ta[b.Na]|=1024);switch(a){case 1:e.Ga|=512;e.T|=49152;break;case 2:e.Ga|=2048,e.T|=49152}K(this.b,20,5,172,function(){e.ta[b.Na]|=128;e.T=e.T&65534|128;return!!(e.T&64)})};
function ec(a,b,c,d,f,e){var g=~~((e+c.Va-1)/c.Va),h=new XMLHttpRequest;2048>g&&d+2048<c.Wc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Va<<1)+"-"+(((d+g)*c.Va<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,r,q;m=h.response;if(h.status&&206!=h.status||!m)c.kc(1,c,d,f,e);else{m=new Uint8Array(m);n=d;for(q=0;q<m.length;){if("undefined"===typeof c.cache[n])for(c.cache[n]=[],r=0;r<c.Va;r++)c.cache[n][r]=q<m.length?
m[q]&255|m[q+1]<<8&65280:0,q+=2;else q+=c.Va<<1;n++}g(c,d,f,e)}}};h.send(null)}function L(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:a.b.L(4,122):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.bc=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){ec(this,this.bc,a,b,c,d);return}for(f=0;f<a.Va&&0<d;f++){var e=a.Vc?fc(this.b,c):c;this.b.I.pb(e,a.cache[b][f]&65535);c+=2;--d}b++}a.kc(0,a,b,c,d)};
function ac(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.Va;e++)b.cache[c][e]=0;for(e=0;e<b.Va&&0<f;e++){g=gc(a.b,b.Vc?fc(a.b,d):d);if(0>g){b.kc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.kc(0,b,c,d,f)}l.reset=function(){this.C.tb=this.C.tb&-120|20;this.f.va=0;this.f.ya=128;this.u.Za=0;this.B.R=128;this.D.N=128;cc(this)};
l.Kc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.cb&65280:(a&1&&(b<<=8),e.cb=b|255,d=0);break;case 4194298:if(0>b)d=e.nc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.nc=d;e.F|=2}break;case 4194294:if(70!==e.lb)return e.L(4,222);0>b?d=e.J:d=e.J=0;break;case 4194292:if(70!==e.lb)return e.L(4,224);d=1;break;case 4194290:if(70!==e.lb)return e.L(4,226);d=0;break;case 4194288:if(70!==e.lb)return e.L(4,228);d=61183;break;case 4194296:0<=
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.lb)return e.L(4,232);f=a-4194272>>1;0>b?d=e.ic[f]:(d=L(this,e.ic[f],a,b,c),0<=d&&(e.ic[f]=d));break;case 4194254:return a&1?e.P>>14&1?(0<=b&&(e.j[6]=b),d=e.j[6]):(0<=b&&(e.Ba[3]=b),d=e.Ba[3]):e.P>>14&0?(0<=b&&(e.j[6]=b),d=e.j[6]):(0<=b&&(e.Ba[1]=b),d=e.Ba[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.P&2048?(0<=b&&(e.j[f]=b),d=e.j[f]):(0<=b&&(e.Ra[f]=
b),d=e.Ra[f]),d;case 4194246:return a&1?(0<=b&&(e.j[7]=b),d=e.j[7]):e.P>>14&0?(0<=b&&(e.j[6]=b),d=e.j[6]):(0<=b&&(e.Ba[0]=b),d=e.Ba[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.P&2048?(0<=b&&(e.Ra[f]=b),d=e.Ra[f]):(0<=b&&(e.j[f]=b),d=e.j[f]),d;default:return e.J|=16,e.L(4,124)}break;case 4194176:f=a>>1&31;d=L(this,e.na[3][f],a,b,c);0<=d&&(e.na[3][f]=d,e.na[3][f&15]&=65295);break;case 4194112:var g=this.f;switch(a&-2){case 4194174:d=L(this,e.cc,a,b,c);0<=d&&(e.cc=d);break;case 4194172:d=
e.bb;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.C.od&65535:(d=L(this,this.C.data,a,b,c),0<=d&&(this.C.data=d));break;case 4194166:0<=b&&(b&127&&(g.Pc=0),g.ya&=-129,K(e,100,4,52,function(){g.ya|=128;return!!(g.ya&64)}));d=0;break;case 4194162:d=0;0>b&&(g.va&=-129,0<g.lc.length&&(d=g.lc.shift(),0<g.lc.length&&setTimeout(function(){g.va|=128;g.va&64&&K(e,40,4,48)},50)));break;case 4194160:0>b?d=g.va:(d=L(this,g.va,a,b,c),0<=d&&(g.va=g.va&128|d&-129));break;default:return e.J|=16,e.L(4,
126)}break;case 4194048:f=this.B;switch(a&-2){case 4194048:d=L(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194050:d=L(this,f.oa,a,b,c);0<=d&&(f.oa=d);break;case 4194052:d=L(this,f.R,a,b,c);0<=b&&0<=d&&(f.R=d&-36993|f.R&36992,f.R&1&&$b(this));break;case 4194054:d=L(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194056:d=L(this,f.Qb,a,b,c);0<=d&&(f.Qb=d);break;case 4194058:d=L(this,f.wa,a,b,c);0<=d&&(f.wa=d);break;case 4194060:break;case 4194062:d=L(this,f.Dc,a,b,c);0<=d&&(f.Dc=d);break;default:return e.J|=
16,e.L(4,128)}break;case 4193728:var h=this.G;f=h.Ga&7;switch(a&-2){case 4193728:d=L(this,h.T,a,b,c);0<=b&&0<=d&&(h.eb=h.eb&60|d>>8&3,h.T=d&17279|h.T&34944|2048,d&1&&h.T&128?dc(this,f):192==(d&192)&&K(e,0,5,172));break;case 4193730:d=L(this,h.zb,a,b,c);0<=d&&(h.zb=d);break;case 4193732:d=L(this,h.xb,a,b,c);0<=d&&(h.xb=d&65534);break;case 4193734:d=L(this,h.Ha[f],a,b,c);0<=d&&(h.Ha[f]=d&7967);break;case 4193736:d=L(this,h.Ga,a,b,c);0<=d&&(h.Ga=d&63|h.Ga&65472,d&128&&cc(this));break;case 4193738:d=
h.ta[f];break;case 4193740:d=h.yb[f];break;case 4193742:d=L(this,h.ob,a,b,c);0<=d&&(h.ob=d&255);break;case 4193744:d=h.ld[f];break;case 4193746:d=L(this,h.Ec,a,b,c);0<=d&&(h.Ec=d);break;case 4193748:d=L(this,h.Fc[f],a,b,c);0<=d&&(h.Fc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.md[f];break;case 4193754:d=L(this,h.Gc[f],a,b,c);0<=d&&(h.Gc[f]=d);break;case 4193756:d=L(this,h.Sa[f],a,b,c);0<=d&&(h.Sa[f]=d&511);break;case 4193758:h.dc[f]=h.Sa[f];d=h.dc[f];break;case 4193760:d=h.jd[f];
break;case 4193762:d=h.kd[f];break;case 4193764:d=h.gd[f];break;case 4193766:d=h.hd[f];break;case 4193768:d=L(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.T=h.T&-769|(d&3)<<8);break;case 4193770:d=L(this,h.oc,a,b,c);0<=d&&(h.oc=d);break;default:return e.J|=16,e.L(4,132)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=L(this,f.N,a,b,c);0<=b&&0<=d&&(f.Ua=f.Ua&60|d>>4&3,f.N=f.N&-1023|d&1022,f.N&128||bc(this));break;case 4192514:d=L(this,f.Ib,a,b,c);0<=d&&(f.Ib=d&65534);break;case 4192516:d=L(this,f.ga,
a,b,c);0<=d&&(f.ga=d);break;case 4192518:d=L(this,f.$a,a,b,c);0<=d&&(f.$a=d);break;case 4192520:d=L(this,f.Ua,a,b,c);0<=d&&(f.Ua=d&63,f.N=f.N&-49|(f.Ua&3)<<4);break;default:return e.J|=16,e.L(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.nb:(d=L(this,e.nb,a,b,c),0<=d&&(70!==e.lb&&(d&=-49),e.nb=d,e.ac[0]=d&4?15:7,e.ac[1]=d&2?15:7,e.ac[3]=d&1?15:7,e.$b&&(f=2,e.nb&16&&(f=1),this.C.tb=this.C.tb&-8|f)));break;default:return e.J|=16,e.L(4,136)}break;case 4191424:f=a>>1&31;d=L(this,e.na[0][f],
a,b,c);0<=d&&(e.na[0][f]=d,e.na[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=L(this,e.na[1][f],a,b,c);0<=d&&(e.na[1][f]=d,e.na[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.lb)return e.L(4,234);f=a>>2&31;d=e.Ub[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=L(this,d,a,b,c),0<=d&&(e.Ub[f]=a&2?d<<16|e.Ub[f]&65535:e.Ub[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Mb[a>>1&255];else return e.J|=16,e.L(4,
138);break;default:return e.J|=16,e.L(4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var hc={},Kb=(hc[65382]=[null,null,J.prototype.Zc,J.prototype.qd,"LKS"],hc[65392]=[null,null,J.prototype.bd,J.prototype.td,"RCSR"],hc[65396]=[null,null,J.prototype.cd,J.prototype.ud,"XCSR"],hc[65402]=[null,null,J.prototype.$c,J.prototype.rd,"MMR0"],hc[65534]=[null,null,J.prototype.ad,J.prototype.sd,"PSW"],hc);
Ia(function(){for(var a=E(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new J(d);bb(d,c)}});var ic;if(ub){var jc=new ArrayBuffer(2);(new DataView(jc)).setUint16(0,256,!0);ic=256===(new Uint16Array(jc))[0]}else ic=!1;var kc=ic;
function I(a,b,c,d,f){this.id=lc+=2;this.b=null;this.w=a;this.Vb=b;this.size=c||0;this.type=d||mc;this.j=d==nc;this.controller=null;yb(this);this.Xa=this.Pc=!1;if(c)if(f)this.controller=f,this.b=null,oc(this,f.Fb);else if(ub)this.C=new ArrayBuffer(c),this.F=new DataView(this.C,0,c),this.f=new Uint8Array(this.C,0,c),this.K=new Uint16Array(this.C,0,c>>1),this.b=new Int32Array(this.C,0,c>>2),oc(this,kc?pc:qc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;oc(this,rc)}else oc(this)}
Pa(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new J(d);cb(d,c)}});var ic;if(ub){var jc=new ArrayBuffer(2);(new DataView(jc)).setUint16(0,256,!0);ic=256===(new Uint16Array(jc))[0]}else ic=!1;var kc=ic;
function H(a,b,c,d,f){this.id=lc+=2;this.b=null;this.A=a;this.Wb=b;this.size=c||0;this.type=d||mc;this.u=d==nc;this.controller=null;yb(this);this.Xa=this.Qc=!1;if(c)if(f)this.controller=f,this.b=null,oc(this,f.Fb);else if(ub)this.D=new ArrayBuffer(c),this.G=new DataView(this.D,0,c),this.f=new Uint8Array(this.D,0,c),this.K=new Uint16Array(this.D,0,c>>1),this.b=new Int32Array(this.D,0,c>>2),oc(this,kc?pc:qc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;oc(this,rc)}else oc(this)}
var mc=0,nc=2,Eb=4,Gb=["NONE","RAM","ROM","VID","H/W"],lc=0;
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(ub)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.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(ub)for(b=0;b<a.length;b++)this.F.setInt32(b<<2,a[b],!0);else this.b=a;return this.Xa=!0}return!1},ib:function(a,b){b?this.B++||sc(this,tc,!1):this.M++||uc(this,tc,!1)},S:function(){this.G&&F(this.G,129)&&this.G.message("attempt to read invalid block %"+
t(this.w),!0);return 255},A:function(a,b){this.G&&F(this.G,129)&&this.G.message("attempt to write "+t(b,4,!0)+" to invalid block %"+t(this.w),!0)},W:function(a,b){return this.wb(a++,b++)|this.wb(a,b)<<8},H:function(a,b,c){this.Cb(a++,b&255,c++);this.Cb(a,b>>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ma:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Ba:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Xa=
!0},La:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Xa=!0},ca:function(a,b){if(this.G&&null!=this.w){var c=this.G;vc(c,this.w+a,1,c.W)&&c.pa(!0)}return this.Ob(a,b)},ia:function(a,b){if(this.G&&null!=this.w){var c=this.G;vc(c,this.w+a,2,c.W)&&c.pa(!0)}return this.lc(a,b)},ua:function(a,b,c){if(this.G&&null!=this.w){var d=this.G;vc(d,this.w+a,1,d.C)&&d.pa(!0)}this.j?this.A(a,b,c):this.Db(a,
b,c)},Da:function(a,b,c){if(this.G&&null!=this.w){var d=this.G;vc(d,this.w+a,2,d.C)&&d.pa(!0)}this.j?this.A(a,b,c):this.qc(a,b,c)},$:function(a){return this.f[a]},da:function(a){return this.f[a]},fa:function(a){return this.F.getUint16(a,!0)},la:function(a){return a&1?this.f[a]|this.f[a+1]<<8:this.K[a>>1]},ta:function(a,b){this.f[a]=b;this.Xa=!0},za:function(a,b){this.f[a]=b;this.Xa=!0},Ca:function(a,b){this.F.setUint16(a,b,!0);this.Xa=!0},Ia:function(a,b){a&1?(this.f[a]=b,this.f[a+1]=b>>8):this.K[a>>
1]=b;this.Xa=!0}};function yb(a,b,c){a.G=b;a.M=a.B=0;c&&((a.M=c.M)&&uc(a,tc,!1),(a.B=c.B)&&sc(a,tc,!1))}function wc(a,b){b?--a.B||(a.Cb=a.j?a.A:a.Db,a.Hc=a.j?a.H:a.qc):--a.M||(a.wb=a.Ob,a.Bc=a.lc)}function sc(a,b,c){c&&a.B||(a.Cb=!a.j&&b[1]||a.A,a.Hc=!a.j&&b[3]||a.H);if(c||void 0===c)a.Db=b[1]||a.A,a.qc=b[3]||a.H}function uc(a,b,c){c&&a.M||(a.wb=b[0]||a.S,a.Bc=b[2]||a.W);if(c||void 0===c)a.Ob=b[0]||a.S,a.lc=b[2]||a.W}function oc(a,b){b||(b=xc);uc(a,b,void 0);sc(a,b,void 0)}
var xc=[],rc=[I.prototype.ea,I.prototype.Ba,I.prototype.ma,I.prototype.La],tc=[I.prototype.ca,I.prototype.ua,I.prototype.ia,I.prototype.Da];if(ub)var qc=[I.prototype.$,I.prototype.ta,I.prototype.fa,I.prototype.Ca],pc=[I.prototype.da,I.prototype.za,I.prototype.la,I.prototype.Ia];
function yc(a,b){y.call(this,"CPU",a,yc,1);var c=a.multiplier||1;this.Da=a.cycles||b;this.ab=c;this.qb=Math.round(this.Da/1E4)/100;this.lb=this.qb*this.ab;this.u.ha=!1;this.u.oc=!1;this.u.Gb=a.autoStart;this.u.wc=!1;this.u.rb=!1;this.Lb=this.ia=0;this.Mb=a.csStart;this.ub=a.csInterval;this.vb=a.csStop;this.S=[];this.Zb=this.nd.bind(this);G(this)}C(yc);var zc=["power","reset"];l=yc.prototype;
l.Ya=function(a,b,c,d){this.B=a;this.I=b;this.G=d;for(b=0;b<zc.length;b++)(c=this.M[zc[b]])&&this.B.xa(null,zc[b],c);this.ta=null;a=Ac(a,"autoStart");null!=a&&(this.u.Gb="true"==a?!0:"false"==a?!1:!!a);G(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.Qa=function(a,b){if(!b){if(a&&this.restore){Bc(this);if(!this.restore(a))return!1;Cc(this)}else this.reset();this.G?(a=this.G,a.g("Type ? for help with PDP11 Debugger commands"),a.Ha(),a.La&&(b=a.La,a.La=null,Dc(a,b))):this.g("No debugger detected")}M(this);return!0};l.Pa=function(a){return a?this.save():!0};l.Gb=function(){return this.u.Gb||!this.G&&void 0===this.M.run?(this.Ab(!0),!0):!1};l.yc=function(){return 0};
function Cc(a){void 0===a.Mb&&(a.Mb=0);void 0===a.ub&&(a.ub=-1);void 0===a.vb&&(a.vb=-1);a.u.rb=0<=a.Mb&&0<a.ub;a.u.rb&&(a.Lb=0,a.ia=a.Mb-a.fa)}function Ec(a,b){if(a.u.rb){var c=!1;a.Lb=a.Lb+a.yc()|0;a.ia-=b;0>=a.ia&&(a.ia+=a.ub,c=!0);0<=a.vb&&a.vb<=Fc(a)&&(a.ub=a.vb=-1,Cc(a),a.pa(),c=!0);c&&a.g(Fc(a)+" cycles: checksum="+t(a.Lb))}}
function Gc(a,b,c,d){if(a.M[b]){void 0===c&&(hb(a,"Value for "+b+" is invalid"),a.pa());var f=a.G&&a.G.ea||8;c=!a.u.ha||a.u.wc?8==f?r(c,d):t(c,d):"--------".substr(0,d||4);a.M[b].textContent!=c&&(a.M[b].textContent=c)}}
l.xa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.M[b]=c;a=!0;break;case "run":this.M[b]=c;c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.u.ja)a=!0;else{var b=null,c,h=$a(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.u.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.u.ja);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.u.ready?"powered yet":"ready yet"+(b.Yb?" (waiting for notification)":""))+".");a=!1}a&&(d.u.ha?d.pa():d.Ab())};
a=!0;break;case "speed":this.M[b]=c;a=!0;break;case "setSpeed":this.M[b]=c,c.onclick=function(){Zc(d,d.ab<<1,!0)},c.textContent=this.lb.toFixed(2)+"Mhz",a=!0}return a};function $c(a,b,c){a.fa+=b;c&&(a.ea=a.b=0)}function ad(a,b){var c=1;b&&1<a.ab&&a.ca&&(c=a.ca/a.qb);a.Wb=Math.round(1E3/30);a.Ia=Math.floor(a.Da/30*c);b||(a.la=a.Ia);a.pb=0}function Fc(a){return a.fa+a.$+a.ea-a.b}function Bc(a){a.ca=0;a.Xb=0;a.fa=a.$=a.ea=a.b=0;Cc(a);Zc(a,1)}
function Zc(a,b,c){var d=!1;if(void 0!==b){.8>a.ca/a.lb?b=1:d=!0;a.ab=b;b=a.qb*a.ab;if(a.lb!=b){a.lb=b;b=a.lb.toFixed(2)+"Mhz";var f=a.M.setSpeed;f&&(f.textContent=b);a.g("target speed: "+b)}c&&a.B&&a.B.Ub()}$c(a,a.$);a.$=0;a.W=pa();a.da=0;ad(a);return d}function Nb(a,b){var c=a.S.length;a.S.push([-1,b]);return c}function Ob(a,b){var c;0<=b&&b<a.S.length&&0>a.S[b][0]&&(c=a.Da*a.ab/1E3*(1E3/60),a.S[b][0]=c)}
H.prototype={constructor:H,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(ub)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(ub)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Xa=!0}return!1},jb:function(a,b){b?this.C++||sc(this,tc,!1):this.M++||uc(this,tc,!1)},S:function(){this.i&&E(this.i,128)&&this.i.message("attempt to read invalid block %"+
p(this.A),!0);return 255},B:function(a,b){this.i&&E(this.i,128)&&this.i.message("attempt to write "+p(b,4,!0)+" to invalid block %"+p(this.A),!0)},U:function(a,b){return this.wb(a++,b++)|this.wb(a,b)<<8},H:function(a,b,c){this.Cb(a++,b&255,c++);this.Cb(a,b>>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ma:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Aa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Xa=
!0},La:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Xa=!0},ca:function(a,b){if(this.i&&null!=this.A){var c=this.i;vc(c,this.A+a,1,c.Y)&&c.pa(!0)}return this.Pb(a,b)},ia:function(a,b){if(this.i&&null!=this.A){var c=this.i;vc(c,this.A+a,2,c.Y)&&c.pa(!0)}return this.mc(a,b)},ua:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;vc(d,this.A+a,1,d.D)&&d.pa(!0)}this.u?this.B(a,b,c):this.Db(a,
b,c)},Da:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;vc(d,this.A+a,2,d.D)&&d.pa(!0)}this.u?this.B(a,b,c):this.rc(a,b,c)},Y:function(a){return this.f[a]},da:function(a,b){a=this.f[a];this.i&&E(this.i,128)&&this.i.message("Memory.readByteLE("+I(this.i,b)+"): "+I(this.i,a),!0);return a},fa:function(a){return this.G.getUint16(a,!0)},la:function(a,b){a=a&1?this.f[a]|this.f[a+1]<<8:this.K[a>>1];this.i&&E(this.i,128)&&this.i.message("Memory.readWordLE("+I(this.i,b)+"): "+I(this.i,a),!0);return a},
qa:function(a,b){this.f[a]=b;this.Xa=!0},za:function(a,b,c){this.f[a]=b;this.Xa=!0;this.i&&E(this.i,128)&&this.i.message("Memory.writeByteLE("+I(this.i,c)+","+I(this.i,b)+")",!0)},Ca:function(a,b){this.G.setUint16(a,b,!0);this.Xa=!0},Ea:function(a,b,c){a&1?(this.f[a]=b,this.f[a+1]=b>>8):this.K[a>>1]=b;this.Xa=!0;this.i&&E(this.i,128)&&this.i.message("Memory.writeWordLE("+I(this.i,c)+","+I(this.i,b)+")",!0)}};function yb(a,b,c){a.i=b;a.M=a.C=0;c&&((a.M=c.M)&&uc(a,tc,!1),(a.C=c.C)&&sc(a,tc,!1))}
function wc(a,b){b?--a.C||(a.Cb=a.u?a.B:a.Db,a.Ic=a.u?a.H:a.rc):--a.M||(a.wb=a.Pb,a.Cc=a.mc)}function sc(a,b,c){c&&a.C||(a.Cb=!a.u&&b[1]||a.B,a.Ic=!a.u&&b[3]||a.H);if(c||void 0===c)a.Db=b[1]||a.B,a.rc=b[3]||a.H}function uc(a,b,c){c&&a.M||(a.wb=b[0]||a.S,a.Cc=b[2]||a.U);if(c||void 0===c)a.Pb=b[0]||a.S,a.mc=b[2]||a.U}function oc(a,b){b||(b=xc);uc(a,b,void 0);sc(a,b,void 0)}var xc=[],rc=[H.prototype.ea,H.prototype.Aa,H.prototype.ma,H.prototype.La],tc=[H.prototype.ca,H.prototype.ua,H.prototype.ia,H.prototype.Da];
if(ub)var qc=[H.prototype.Y,H.prototype.qa,H.prototype.fa,H.prototype.Ca],pc=[H.prototype.da,H.prototype.za,H.prototype.la,H.prototype.Ea];function yc(a,b){x.call(this,"CPU",a,yc,1);var c=a.multiplier||1;this.Da=a.cycles||b;this.ab=c;this.ib=Math.round(this.Da/1E4)/100;this.mb=this.ib*this.ab;this.w.ha=!1;this.w.pc=!1;this.w.Gb=a.autoStart;this.w.xc=!1;this.w.rb=!1;this.Mb=this.ia=0;this.Nb=a.csStart;this.ub=a.csInterval;this.vb=a.csStop;this.S=[];this.Zb=this.nd.bind(this);F(this)}A(yc);
var zc=["power","reset"];l=yc.prototype;l.Ya=function(a,b,c,d){this.C=a;this.I=b;this.i=d;for(b=0;b<zc.length;b++)(c=this.M[zc[b]])&&this.C.xa(null,zc[b],c);this.qa=null;a=Ac(a,"autoStart");null!=a&&(this.w.Gb="true"==a?!0:"false"==a?!1:!!a);F(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.Qa=function(a,b){if(!b){if(a&&this.restore){Bc(this);if(!this.restore(a))return!1;Cc(this)}else this.reset();this.i?(a=this.i,a.g("Type ? for help with PDP11 Debugger commands"),a.Ia(),a.ib&&(b=a.ib,a.ib=null,Dc(a,b))):this.g("No debugger detected")}M(this);return!0};l.Pa=function(a){return a?this.save():!0};l.Gb=function(){return this.w.Gb||!this.i&&void 0===this.M.run?(this.Ab(!0),!0):!1};l.zc=function(){return 0};
function Cc(a){void 0===a.Nb&&(a.Nb=0);void 0===a.ub&&(a.ub=-1);void 0===a.vb&&(a.vb=-1);a.w.rb=0<=a.Nb&&0<a.ub;a.w.rb&&(a.Mb=0,a.ia=a.Nb-a.fa)}function Ec(a,b){if(a.w.rb){var c=!1;a.Mb=a.Mb+a.zc()|0;a.ia-=b;0>=a.ia&&(a.ia+=a.ub,c=!0);0<=a.vb&&a.vb<=Fc(a)&&(a.ub=a.vb=-1,Cc(a),a.pa(),c=!0);c&&a.g(Fc(a)+" cycles: checksum="+p(a.Mb))}}
function Yc(a,b,c,d){if(a.M[b]){void 0===c&&(tb(a,"Value for "+b+" is invalid"),a.pa());var f=a.i&&a.i.fa||8;c=!a.w.ha||a.w.xc?8==f?ca(c,d):p(c,d):"--------".substr(0,d||4);a.M[b].textContent!=c&&(a.M[b].textContent=c)}}
l.xa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.M[b]=c;a=!0;break;case "run":this.M[b]=c;c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.w.ja)a=!0;else{var b=null,c,h=ab(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.w.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.w.ja);c++);c==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.w.ready?"powered yet":"ready yet"+(b.Yb?" (waiting for notification)":""))+".");a=!1}a&&(d.w.ha?d.pa():d.Ab())};
a=!0;break;case "speed":this.M[b]=c;a=!0;break;case "setSpeed":this.M[b]=c,c.onclick=function(){Zc(d,d.ab<<1,!0)},c.textContent=this.mb.toFixed(2)+"Mhz",a=!0}return a};function $c(a,b,c){a.fa+=b;c&&(a.ea=a.b=0)}function ad(a,b){var c=1;b&&1<a.ab&&a.ca&&(c=a.ca/a.ib);a.Kb=Math.round(1E3/30);a.Ea=Math.floor(a.Da/30*c);b||(a.la=a.Ea);a.qb=0}function Fc(a){return a.fa+a.Y+a.ea-a.b}function Bc(a){a.ca=0;a.Xb=0;a.fa=a.Y=a.ea=a.b=0;Cc(a);Zc(a,1)}
function Zc(a,b,c){var d=!1;if(void 0!==b){.8>a.ca/a.mb?b=1:d=!0;a.ab=b;b=a.ib*a.ab;if(a.mb!=b){a.mb=b;b=a.mb.toFixed(2)+"Mhz";var f=a.M.setSpeed;f&&(f.textContent=b);a.g("target speed: "+b)}c&&a.C&&a.C.Vb()}$c(a,a.Y);a.Y=0;a.U=qa();a.da=0;ad(a);return d}function Nb(a,b){var c=a.S.length;a.S.push([-1,b]);return c}function Ob(a,b){var c;0<=b&&b<a.S.length&&0>a.S[b][0]&&(c=a.Da*a.ab/1E3*(1E3/60),a.S[b][0]=c)}
function bd(a,b){for(var c=a.S.length-1;0<=c;c--){var d=a.S[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function cd(a,b){for(var c=a.S.length-1;0<=c;c--){var d=a.S[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function dd(a){a.ea-=a.b;a.b=0}
l.nd=function(){if(this.u.ha){this.pb>=this.Da&&ad(this,!0);this.ua=0;this.Ca=pa();if(this.da){var a=this.Ca-this.da;a>this.Wb&&(this.W+=a,this.W>this.Ca&&(this.W=this.Ca))}try{do{var b=bd(this,this.u.rb?1:this.Ia);try{this.Bb(b)}catch(f){if("number"!=typeof f)throw f;}var c=this.ea-this.b;cd(this,c);this.ua+=c;this.$+=c;$c(this,0,!0);Ec(this,c);this.la-=c;if(0>=this.la){this.la+=this.Ia;15<=++this.Xb&&(this.B&&this.B.Ha(),this.Xb=0);break}}while(this.u.ha)}catch(f){this.pa();M(this);this.B&&this.B.stop(pa(),
Fc(this));hb(this,f.stack||f.message);return}if(this.u.ha){a=setTimeout;b=this.Zb;this.da=pa();c=this.Wb;this.ua&&(c=Math.round(c*this.ua/this.Ia));var c=c-(this.da-this.Ca),d=this.da-this.W;d&&(this.ca=Math.round(this.$/(10*d))/100,864E5<=d&&(this.fa=0,Zc(this)));if(0>c||this.ca<this.lb)-1E3>c&&(this.W-=c),c=0;this.pb+=this.ua;this.da+=c;a(b,c)}}};
l.Ab=function(a){if(gb(this))return!1;if(this.u.ha)return this.g(this.toString()+" busy"),!1;Zc(this);this.u.ha=!0;this.u.oc=!0;this.ta&&this.ta.start();var b=this.M.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.Ub(!0),this.B.start(this.W,Fc(this)));M(this,!0);setTimeout(this.Zb,0);return!0};l.Bb=function(){return 0};
l.pa=function(a){if(this.u.ha){dd(this);$c(this,this.$);this.$=0;this.u.ha=!1;this.ta&&this.ta.stop();var b=this.M.run;b&&(b.textContent="Run");this.B&&this.B.stop(pa(),Fc(this));M(this)}this.u.complete=a};function M(a,b){a.B&&a.B.Ha(b)}
function ed(a){this.Xc=+a.model||1170;this.Tc=a.resetAddr||0;yc.call(this,a,6666667);this.Hb=0;this.decode=fd.bind(this);this.U=65536;this.V=32768;this.Y=65535;this.X=32768;this.P=15;this.i=[0,0,0,0,0,0,0,this.Tc];this.Ra=[0,0,0,0,0,0];this.Aa=[0,0,0,0];this.Ba=this.H=0;this.na=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Tb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.ic=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.C=this.f=this.A=this.j=this.La=this.D=0;this.kb=70;this.ma=-1;gd(this);this.u.complete=this.u.Nc=!1}C(ed,yc);l=ed.prototype;l.reset=function(){this.u.ha&&this.pa();gd(this);Bc(this);this.u.error=!1;this.parent.reset.call(this)};
function gd(a){a.cb=255;a.J=0;a.mc=0;a.K=0;a.bb=0;a.cc=0;a.mb=0;a.$b=0;a.za=0;a.ac=[7,7,7,7];a.F=[];a.D|=2;Pb(a)}function Pb(a){a.$b?(a.Eb=65536,a.ba=a.Rc):(a.Eb=0,a.ba=a.Qc)}l.yc=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.fa,this.ab]);a.set(2,Ib(this.I));return a.data()};
l.restore=function(a){var b=a[1];this.fa=b[1];Zc(this,b[3]);a:{b=this.I;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.K){for(var e=0,g=Array(b.K),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.O[d];if(!e||!e.restore(f)){x("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
l.nd=function(){if(this.w.ha){this.qb>=this.Da&&ad(this,!0);this.ua=0;this.Ca=qa();if(this.da){var a=this.Ca-this.da;a>this.Kb&&(this.U+=a,this.U>this.Ca&&(this.U=this.Ca))}try{do{var b=bd(this,this.w.rb?1:this.Ea);try{this.Bb(b)}catch(f){if("number"!=typeof f)throw f;}var c=this.ea-this.b;cd(this,c);this.ua+=c;this.Y+=c;$c(this,0,!0);Ec(this,c);this.la-=c;if(0>=this.la){this.la+=this.Ea;15<=++this.Xb&&(this.C&&this.C.Ia(),this.Xb=0);break}}while(this.w.ha)}catch(f){this.pa();M(this);this.C&&this.C.stop(qa(),
Fc(this));tb(this,f.stack||f.message);return}if(this.w.ha){a=setTimeout;b=this.Zb;this.da=qa();c=this.Kb;this.ua&&(c=Math.round(c*this.ua/this.Ea));var c=c-(this.da-this.Ca),d=this.da-this.U;d&&(this.ca=Math.round(this.Y/(10*d))/100,864E5<=d&&(this.fa=0,Zc(this)));if(0>c||this.ca<this.mb)-1E3>c&&(this.U-=c),c=0;this.qb+=this.ua;this.da+=c;a(b,c)}}};
l.Ab=function(a){if(sb(this))return!1;if(this.w.ha)return this.g(this.toString()+" busy"),!1;Zc(this);this.w.ha=!0;this.w.pc=!0;this.qa&&this.qa.start();var b=this.M.run;b&&(b.textContent="Halt");this.C&&(a&&this.C.Vb(!0),this.C.start(this.U,Fc(this)));M(this,!0);setTimeout(this.Zb,0);return!0};l.Bb=function(){return 0};
l.pa=function(a){if(this.w.ha){dd(this);$c(this,this.Y);this.Y=0;this.w.ha=!1;this.qa&&this.qa.stop();var b=this.M.run;b&&(b.textContent="Run");this.C&&this.C.stop(qa(),Fc(this));M(this)}this.w.complete=a};function M(a,b){a.C&&a.C.Ia(b)}
function ed(a){this.Xc=+a.model||1170;this.jc=a.resetAddr||0;yc.call(this,a,6666667);this.Hb=0;this.decode=fd.bind(this);this.V=65536;this.W=32768;this.Z=65535;this.X=32768;this.P=15;this.j=[0,0,0,0,0,0,0,this.jc];this.Ra=[0,0,0,0,0,0];this.Ba=[0,0,0,0];this.Aa=this.H=0;this.na=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ub=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.ic=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.D=this.f=this.B=this.u=this.La=this.F=0;this.lb=70;this.ma=-1;gd(this);this.w.complete=this.w.Oc=!1}A(ed,yc);l=ed.prototype;l.reset=function(){this.w.ha&&this.pa();gd(this);Bc(this);this.w.error=!1;this.parent.reset.call(this)};
function gd(a){a.cb=255;a.J=0;a.nc=0;a.K=0;a.bb=0;a.cc=0;a.nb=0;a.$b=0;a.za=0;a.ac=[7,7,7,7];a.G=[];a.F|=2;Pb(a)}function Pb(a){a.$b?(a.Eb=65536,a.ba=a.Sc):(a.Eb=0,a.ba=a.Rc)}l.zc=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.fa,this.ab]);a.set(2,Ib(this.I));return a.data()};
l.restore=function(a){var b=a[1];this.fa=b[1];Zc(this,b[3]);a:{b=this.I;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.K){for(var e=0,g=Array(b.K),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.O[d];if(!e||!e.restore(f)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
l.xa=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.M[b]=c;this.Hb++;a=!0;break;default:a=this.parent.xa.call(this,a,b,c)}return a};
l.Ha=function(a){if(this.Hb&&(a||!this.u.ha||this.u.wc)){for(a=0;a<this.i.length;a++)Gc(this,"R"+a,this.i[a]);a=Qb(this);Gc(this,"PS",a);Gc(this,"NF",a&8?1:0,1);Gc(this,"ZF",a&4?1:0,1);Gc(this,"VF",a&2?1:0,1);Gc(this,"CF",a&1?1:0,1)}if(a=this.M.speed)a.textContent=this.u.ha&&this.ca?this.ca.toFixed(2)+"Mhz":"Stopped"};function hd(a){return a.U&65536?1:0}function id(a){return a.V&32768?2:0}function jd(a){return a.Y&65535?0:4}l.Oa=function(){return this.X&32768?8:0};
function kd(a){var b=ld(a,a.i[7]);a.i[7]=a.i[7]+2&65535;return b}function md(a,b){a.i[7]=b&65535}function K(a,b,c,d,f){for(var e=a.F.length;0<e--;)if(a.F[e].pd===d){0<e&&(a.F[e-1].Wa+=a.F[e].Wa);a.F.splice(e,1);break}if(0<=b){for(e=a.F.length;0<e--;){if(a.F[e].Wa>b){a.F[e].Wa-=b;break}b-=a.F[e].Wa}a.F.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.D|=2}function Qb(a){return a.P=a.P&63728|a.Oa()|jd(a)|id(a)|hd(a)}
function Rb(a,b){a.X=b<<12;a.Y=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.P)&2048)for(var c=a.Ra.length;0<=--c;){var d=a.i[c];a.i[c]=a.Ra[c];a.Ra[c]=d}a.H=b>>14&3;c=a.P>>14&3;a.H!=c&&(a.Aa[c]=a.i[6],a.i[6]=a.Aa[a.H]);a.D|=2;a.P=b}function O(a,b){a.D&128||(a.X=a.Y=b,a.V=0)}function nd(a,b,c){a.D&128||(a.X=a.Y=a.U=b,a.V=c||0)}function od(a,b,c,d){a.D&128||(a.X=a.Y=a.U=b,a.V=(c^b)&(d^b))}function pd(a,b){a.D&128||(a.X=a.Y=a.U=b,a.V=a.X^a.U>>1)}function qd(a,b,c,d){a.D&128||(a.X=a.Y=a.U=b,a.V=(c^d)&(d^b))}
l.L=function(a){var b=!1;0>this.ma?this.ma=Qb(this):this.H||(a=4,b=!0);this.K&57344||(this.bb=63222,this.cc=a);this.H=0;var c=ld(this,a|65536),d=ld(this,a+2&65535|65536);Rb(this,d&-12289|this.ma>>2&12288);b&&(this.J|=4,this.i[6]=4);rd(this,this.ma);rd(this,this.i[7]);md(this,c);this.D&=-113;this.ma=-1;throw a;};function sd(a){var b=td(a),c=td(a)&-1793;a.P&49152&&(c=c&-225|a.P&63712);md(a,b);Rb(a,c);a.D&=-17}
function fc(a,b){var c=b>>13&31;31>c?a.mb&32&&(b=a.Tb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
function ud(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.H];f=a.na[a.H][d];e=(a.na[a.H][d+16]<<6)+(b&8191)&4194303;a.mb&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.J|=32,a.L(4,12)),e&1&&!(c&1)&&(a.J|=64,a.L(4,14)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&
8128)&&(g|=16384));a.na[a.H][d]=f;if(4194170!==e||a.H)a.za=a.H,a.Ba=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.K&57344||(a.K=a.K|g|a.za<<5|a.Ba<<1),a.L(168,16)),a.K&61440||!(4191360>e||4194239<e)||(a.K|=4096,a.K&512&&(a.D|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.J|=64,a.L(4,10));return e}function gc(a,b){return 4194304<=b?a.i[b-4194304]:0<=b?a.I.Ka(b):b}function ld(a,b){return gc(a,ud(a,b,2))}function td(a){var b=ld(a,a.i[6]|65536);a.i[6]=a.i[6]+2&65535;return b}
function rd(a,b){var c=a.i[6]-2&65535;a.i[6]=c;a.K&57344||(a.bb=a.bb<<8|246);!a.H&&c<=a.cb&&4<c&&(c<=a.cb-32?(a.J|=4,a.i[6]=4,a.L(4,18)):(a.J|=8,a.D|=4));c=ud(a,c|65536,4);a.I.ob(c,b&65535)}
function vd(a,b,c){var d,f,e=c&8?0:a.Eb,g=b>>3&7;b&=7;c&4?(a.j=g,a.f=b):(a.A=g,a.C=b);switch(g){case 0:return a.L(4,20),0;case 1:return 6===b&&!a.H&&c&4&&(a.i[6]<=a.cb||65534<=a.i[6])&&(a.i[6]<=a.cb-32||65534<=a.i[6]?(a.J|=4,a.i[6]=4,a.L(4,22)):(a.J|=8,a.D|=64)),a.b-=3,7===b?a.i[b]:a.i[b]|e;case 2:f=2;d=a.i[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.b-=3;break;case 3:f=2;d=a.i[b];7!==b&&(d|=e);d=ld(a,d);d|=e;a.b-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.i[b]+f&65535;7!==b&&(d|=e);a.b-=4;break;case 5:f=-2;
d=a.i[b]-2&65535;7!==b&&(d|=e);d=ld(a,d)|e;a.b-=8;break;case 6:return d=kd(a),d=d+a.i[b]&65535|e,a.b-=6,d;case 7:return d=kd(a),d=d+a.i[b]&65535,d=ld(a,d|65536)|e,a.b-=10,d}a.i[b]=a.i[b]+f&65535;!e||a.K&57344||(a.bb=a.bb<<8|f<<3&248|b);6==b&&!a.H&&c&4&&0>=f&&(a.i[6]<=a.cb||65534<=a.i[6])&&(a.i[6]<=a.cb-32?(a.J|=4,a.i[6]=4,a.L(4,24)):(a.J|=8,a.D|=64));return d}l.Qc=function(a,b){return vd(this,a,b)};l.Rc=function(a,b){return ud(this,vd(this,a,b),b)};
function wd(a,b,c){b&56?(b=vd(a,b,2),c&65536||61440!==(a.P&61440)&&(b&=65535),a.H=a.P>>12&3,c=ld(a,b|c&65536),a.H=a.P>>14&3):(a.A=0,c=a.C=b&7,c=6!=c||(a.P>>2&12288)===(a.P&12288)?a.i[c]:a.Aa[a.P>>12&3]);return c}function xd(a,b,c,d){a.K&57344||(a.bb=22);b&56?(b=vd(a,b,4),c&65536||(b&=65535),a.H=a.P>>12&3,b=ud(a,b|c&65536,4),a.H=a.P>>14&3,a.I.ob(b,d&65535)):(a.j=0,c=a.f=b&7,6!=c||(a.P>>2&12288)===(a.P&12288)?a.i[c]=d:a.Aa[a.P>>12&3]=d)}
function P(a,b){b&56?a=gc(a,a.ba(b,2)):(a.A=0,a=a.i[a.C=b&7]);return a}function yd(a,b){b&56?(b=a.ba(b,3),a=a.I.sb(b)):(a.A=0,a=a.i[a.C=b&7]&255);return a}function Q(a,b,c,d){b&56?(b=a.ba(b,6),c=d.call(a,c,gc(a,b)),a.I.ob(b,c&65535)):(a.j=0,b=a.f=b&7,a.i[b]=d.call(a,c,a.i[b]))}function S(a,b,c,d){b&56?(b=a.La=a.ba(b,7),c=d.call(a,c,a.I.sb(b)),b&1&&a.b--,a.I.Sb(b,c&255)):(a.j=0,b=a.f=b&7,a.i[b]=a.i[b]&65280|d.call(a,c,a.i[b]))}
function zd(a,b,c){b&56?(b=a.ba(b,4),a.I.ob(b,c&65535)):(a.j=0,a.i[a.f=b&7]=c&65535);return c}function Ad(a,b,c,d){b&56?(d=a.ba(b,5),d&1&&a.b--,a.I.Sb(d,c&255)):(a.j=0,b=a.f=b&7,a.i[b]=c?d&1?c<<24>>24&65535:a.i[b]&-256|c&255:a.i[b]&-256);return c}function T(a,b,c){c&&(md(a,a.i[7]+(b<<24>>23)),a.b-=2);a.b-=3}
l.Bb=function(a){this.u.complete=!0;var b=this.u.Nc=this.G&&Bd(this.G),c=a?this.u.oc?0:1:-1;this.u.oc=!1;this.ea=this.b=a;do{if(b){if(Cd(this.G,this.i[7],c)){this.pa();break}c=1}if(this.D&&(this.D&112&&(this.D&32?this.L(168,28):this.D&64?this.L(4,30):this.D&16&&this.L(12,32),this.D&=-113),this.D&7))if(this.D&2){this.D&=-3;a=null;for(var d=this.mc&224,f=this.F.length;0<=--f;){if(0<this.F[f].Wa){this.F[f].Wa--;this.D|=2;break}if(this.F[f].tc){if(!this.F[f].tc()){this.F.splice(f,1);continue}this.F[f].tc=
null}this.F[f].Yc>d&&(d=this.F[f].Yc,a=this.F[f],this.F.splice(f,1))}d>(this.P&224)&&(this.D&4&&(this.i[7]=this.i[7]+2&65535,this.D&=-5),a?this.L(a.pd,26):this.L(160,26))}else this.D&1&&this.D++;this.K&57344||(this.bb=0,this.cc=this.i[7]);this.D=this.D&7|this.P&16;this.decode(kd(this))}while(0<this.b);return this.u.complete?this.ea-this.b:void 0===this.u.complete?0:-1};Ia(function(){for(var a=E(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new ed(d);bb(d,c)}});
function Dd(a,b){var c=b+a;od(this,c,a,b);return c&65535}function Ed(a,b){var c=b+a;od(this,c<<8,a<<8,b<<8);return c&255}function Fd(a,b){a=b<<1;pd(this,a);return a&65535}function Gd(a,b){a=b<<1;pd(this,a<<8);return a&255}function Hd(a,b){a=b&32768|b>>1|b<<16;pd(this,a);return a&65535}function Id(a,b){a=b&2048|b>>1|b<<8;pd(this,a<<8);return a&255}function Jd(a,b){a=b&~a;O(this,a);return a}function Kd(a,b){a=b&~a;O(this,a<<8);return a}function Ld(a,b){a|=b;O(this,a);return a}
function Md(a,b){a|=b;O(this,a<<8);return a}function Nd(a,b){a=~b|65536;nd(this,a);return a&65535}function Od(a,b){a=~b|256;nd(this,a<<8);return a&255}function Pd(a,b){a=b-a;this.D&128||(this.X=this.Y=a,this.V=b&(b^a));return a&65535}function Qd(a,b){a=b-a;var c=a<<8;b<<=8;this.D&128||(this.X=this.Y=c,this.V=b&(b^c));return a&255}function Rd(a,b){a=b+a;this.D&128||(this.X=this.Y=a,this.V=a&(b^a));return a&65535}
function Sd(a,b){a=b+a;var c=a<<8;this.D&128||(this.X=this.Y=c,this.V=c&(b<<8^c));return a&255}function Td(a,b){a=-b;nd(this,a,a&b&32768);return a&65535}function Ud(a,b){a=-b;nd(this,a<<8,(a&b&128)<<8);return a&255}function Vd(a,b){a=b<<1|this.U>>16&1;pd(this,a);return a&65535}function Wd(a,b){a=b<<1|this.U>>16&1;pd(this,a<<8);return a&255}function Xd(a,b){a=(this.U&65536|b)>>1|b<<16;pd(this,a);return a&65535}function Yd(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;pd(this,a<<8);return a&255}
function Zd(a,b){var c=b-a;qd(this,c,a,b);return c&65535}function $d(a,b){var c=b-a;qd(this,c<<8,a<<8,b<<8);return c&255}function ae(a,b){this.D&128||(this.X=this.Y=b&65280,this.V=this.U=0);return(b<<8|b>>8)&65535}function be(a,b){a^=b;O(this,a);return a&65535}
function ce(a){var b=P(this,a);a=a>>6&7;var c=this.i[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.i[a]=c&65535;this.X=this.Y=c;this.b-=(this.A?6:7)+b}
function de(a){var b=P(this,a);a=a>>6&7;var c=this.i[a]<<16|this.i[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.i[a]=d>>16&65535;this.i[a|1]=d&65535;this.X=d>>16;this.Y=d>>16|d;this.b-=(this.A?6:7)+b}function U(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Y=1);a&8&&(this.X=0);this.b-=5}
function ee(a){var b=P(this,a);if(b){a=a>>6&7;var c=this.i[a]<<16|this.i[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.i[a]=d&65535,this.i[a|1]=c-d*b&65535,this.Y=d>>16|d,this.X=d>>16):(this.V=32768,this.Y=d>>15|d,this.X=c>>16,-1===b&&65534===this.i[a]&&(this.i[a]=this.i[a|1]=1));this.b-=53}else this.Y=this.X=0,this.V=32768,this.U=65536,this.b-=7}var fe=[0,7,7,10,7,11,9,13];function ge(a){var b=this.b;md(this,vd(this,a,8));this.b=b-fe[this.A]}
var he=[0,14,14,17,14,18,16,20];function ie(a){var b=this.b,c=vd(this,a,8);a=a>>6&7;rd(this,this.i[a]);this.i[a]=this.i[7];md(this,c);this.b=b-he[this.A]}var je=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],Ee=[7,13,13,17,14,18,17,21];function Fe(a){var b=P(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.i[a];c&32768&&(c|=-65536);b=~~(b*c);this.i[a]=b>>16&65535;this.i[a|1]=b&65535;this.D&128||(this.X=b>>16,this.Y=this.X|b,this.V=0,this.U=-32768>b||32767<b?65536:0);this.b-=23}
function Ge(){this.b-=5}function V(a){a&1&&(this.U=65536);a&2&&(this.V=32768);a&4&&(this.Y=0);a&8&&(this.X=32768);this.b-=5}function He(a){var b=(a&448)>>6;if(this.i[b]=this.i[b]-1&65535)md(this,this.i[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Ie(a){Q(this,a,0,ae);this.b-=this.j?9:3+(7==this.f?2:0)}function Je(a){Q(this,a,P(this,(a&448)>>6),be);this.b-=this.j?9:3+(7==this.f?2:0)}function X(){this.L(8,6)}function fd(a){Ke[a>>12].call(this,a)}
var Ke=[function(a){Le[a>>8&15].call(this,a)},function(a){var b=P(this,a>>6),c=this.b;O(this,zd(this,a,b));this.b=c-je[(this.A?8:0)+this.j]+(7!=this.f||this.j?0:2)},function(a){var b=P(this,a>>6),c=this.A,d=this.C;a=P(this,a);qd(this,b-a,a,b);this.b-=this.A?4+(d&&6<=this.C?1:0):(c?4:3)+(7==this.C?2:0)},function(a){var b=P(this,a>>6),c=this.A,d=this.C;a=P(this,a);O(this,b&a);this.b-=this.A?4+(d&&6<=this.C?1:0):(c?4:3)+(7==this.C?2:0)},function(a){Q(this,a,P(this,a>>6),Jd);this.b-=this.j?9+(this.C&&
6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,a>>6),Ld);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,a>>6),Dd);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){Me[a>>8&15].call(this,a)},function(a){Ne[a>>8&15].call(this,a)},function(a){var b=yd(this,a>>6);O(this,Ad(this,a,b,1)<<8);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){var b=yd(this,a>>6)<<
8,c=this.A,d=this.C;a=yd(this,a)<<8;qd(this,b-a,a,b);this.b-=this.A?4+(d&&6<=this.C?1:0):(c?4:3)+(7==this.C?2:0)},function(a){var b=yd(this,a>>6),c=this.A,d=this.C;a=yd(this,a);O(this,(b&a)<<8);this.b-=this.A?4+(d&&6<=this.C?1:0):(c?4:3)+(7==this.C?2:0)},function(a){S(this,a,yd(this,a>>6),Kd);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){S(this,a,yd(this,a>>6),Md);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,
a>>6),Zd);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},X],Le=[function(a){Oe[a>>4&15].call(this,a)},function(a){T(this,a,!0)},function(a){T(this,a,!jd(this))},function(a){T(this,a,jd(this))},function(a){T(this,a,!this.Oa()==!id(this))},function(a){T(this,a,!this.Oa()!=!id(this))},function(a){T(this,a,!jd(this)&&!this.Oa()==!id(this))},function(a){T(this,a,jd(this)||!this.Oa()!=!id(this))},ie,ie,function(a){Pe[a>>6&3].call(this,a)},function(a){Qe[a>>6&3].call(this,a)},function(a){Re[a>>
6&3].call(this,a)},function(a){Se[a>>6&3].call(this,a)},X,X],Pe=[function(a){nd(this,zd(this,a,0));this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Nd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Rd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Pd);this.b-=this.j?9:3+(7==this.f?2:0)}],Qe=[function(a){Q(this,a,0,Td);this.b-=this.j?11:6},function(a){Q(this,a,hd(this)?1:0,Dd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,hd(this)?1:0,Zd);this.b-=this.j?
9:3+(7==this.f?2:0)},function(a){a=P(this,a);nd(this,a);this.b-=this.A?4:3+(7==this.C?2:0)}],Re=[function(a){Q(this,a,0,Xd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Vd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Hd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Fd);this.b-=this.j?9:3+(7==this.f?2:0)}],Se=[function(a){a=this.i[7]+((a&63)<<1)&65535;var b=ld(this,a|65536);md(this,this.i[5]);this.i[6]=a+2&65535;this.i[5]=b;this.b-=8},function(a){a=wd(this,
a,0);rd(this,a);O(this,a);this.b-=11},function(a){var b=td(this),c=this.b;xd(this,a,0,b);O(this,b);this.b=c-Ee[this.j]},function(a){O(this,zd(this,a,this.Oa?65535:0));this.b-=this.j?9:3+(7==this.f?2:0)}],Oe=[function(a){Te[a&15].call(this,a)},X,X,X,ge,ge,ge,ge,function(a){if(a&8)this.L(8,6);else{var b=td(this);a&=7;md(this,this.i[a]);this.i[a]=b;this.b-=9}},function(a){a&8?(this.P&49152||(this.P=this.P&-2017|(a&7)<<5,this.D|=1),this.b-=5):this.L(8,6)},function(a){Ue[a&15].call(this,a)},function(a){Ve[a&
15].call(this,a)},Ie,Ie,Ie,Ie],Te=[function(){this.P&49152?(this.J|=128,this.L(4,3)):dd(this);this.b-=7},function(){this.D|=4;this.i[7]=this.i[7]+-2&65535;this.b-=3},function(){sd(this);this.D|=this.P&16;this.b-=13},function(){this.L(12,1);this.b-=5},function(){this.L(16,4);this.b-=25},function(){this.P&49152||(gd(this),this.I.reset());this.b-=667},function(){sd(this);this.b-=13},X,X,X,X,X,X,X,X,X],Ue=[Ge,function(){this.U=0;this.b-=5},function(){this.V=0;this.b-=5},U,function(){this.Y=1;this.b-=
5},U,U,U,function(){this.X=0;this.b-=5},U,U,U,U,U,U,U],Ve=[Ge,function(){this.U=65536;this.b-=5},function(){this.V=32768;this.b-=5},V,function(){this.Y=0;this.b-=5},V,V,V,function(){this.X=32768;this.b-=5},V,V,V,V,V,V,V],Me=[Fe,Fe,ee,ee,ce,ce,de,de,Je,Je,X,X,X,X,He,He],Ne=[function(a){T(this,a,!this.Oa())},function(a){T(this,a,this.Oa())},function(a){T(this,a,!hd(this)&&!jd(this))},function(a){T(this,a,hd(this)||jd(this))},function(a){T(this,a,!id(this))},function(a){T(this,a,id(this))},function(a){T(this,
a,!hd(this))},function(a){T(this,a,hd(this))},function(){this.L(24,2);this.b-=25},function(){this.L(28,5);this.b-=5},function(a){We[a>>6&3].call(this,a)},function(a){Xe[a>>6&3].call(this,a)},function(a){Ye[a>>6&3].call(this,a)},function(a){Ze[a>>6&3].call(this,a)},X,X],We=[function(a){nd(this,Ad(this,a,0));this.b-=this.j?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Od);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Sd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Qd);this.b-=
this.j?9:3+(7==this.f?2:0)}],Xe=[function(a){S(this,a,0,Ud);this.b-=this.j?11:6},function(a){S(this,a,hd(this)?1:0,Ed);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){S(this,a,hd(this)?1:0,$d);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){a=yd(this,a);nd(this,a<<8);this.b-=this.A?4:3+(7==this.C?2:0)}],Ye=[function(a){S(this,a,0,Yd);this.b-=this.j?9+(this.La&1):3+(7==this.f?2:0)},function(a){S(this,a,0,Wd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Id);this.b-=this.j?9+(this.La&1):
3+(7==this.f?2:0)},function(a){S(this,a,0,Gd);this.b-=this.j?9:3+(7==this.f?2:0)}],Ze=[X,function(a){a=wd(this,a,65536);rd(this,a);O(this,a);this.b-=11},function(a){var b=td(this),c=this.b;xd(this,a,65536,b);O(this,b);this.b=c-Ee[this.j]},X];
function $e(a){y.call(this,"ROM",a,$e);this.f=null;this.C=a.addr;this.j=a.size;this.F=a.writable;this.B=a.alias;this.A=a.file;this.H=ca(this.A);if(this.A){a=this.A;var b=da(this.H);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;ra(a,null,!0,function(a,b,e){af(c,a,b,e)})}}C($e);$e.prototype.Ya=function(a,b,c,d){this.I=b;this.b=c;this.G=d;bf(this)};
$e.prototype.Qa=function(){if(this.Ma){if(this.G){var a=this.G,b=this.id,c=this.C,d=this.j,f=this.Ma,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],q=oa(n,k,a.uc);0>q&&n.splice(-(q+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({wd:b,w:c,Uc:d,Ma:f,rc:e})}delete this.Ma}return!0};$e.prototype.Pa=function(){return!0};
function af(a,b,c,d){if(d)a.ra("Unable to load system ROM (error "+d+": "+b+")");else{Za(a.vc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.f=e;else if(e=h.words)for(a.f=Array(2*e.length),g=f=0;f<e.length;f++)a.f[g++]=e[f]&255,a.f[g++]=e[f]>>8&255;else if(e=h.data)for(a.f=Array(4*e.length),g=f=0;f<e.length;f++)a.f[g++]=e[f]&255,a.f[g++]=e[f]>>8&255,a.f[g++]=e[f]>>16&255,a.f[g++]=e[f]>>24&255;else a.f=h;a.Ma=h.symbols;if(!a.f.length){x("Empty ROM: "+
b);return}if(1==a.f.length){x(a.f[0]);return}}catch(k){a.ra("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.f=Array(b.length),f=0;f<b.length;f++)a.f[f]=aa(b[f],16);bf(a)}}
function bf(a){if(!fb(a))if(!a.A)G(a);else if(a.f&&a.I){a.j||(a.j=a.f.length);if(a.f.length!=a.j)hb(a,"ROM size ("+t(a.f.length,8,!0)+") does not match specified size ("+t(a.j,8,!0)+")");else{var b;b=a.C;if(Db(a.I,b,a.j,a.F?1:nc)){var c;for(c=0;c<a.f.length;c++){var d=a.I,f=b+c;d.O[(f&d.j)>>>d.Z].Db(f&d.f,a.f[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.B?b.push(a.B):null!=a.B&&a.B.length&&(b=a.B);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.I,g=e.j,h=[],k=e.C>>>f.Z;0<g&&k<f.O.length;)h.push(f.O[k++]),
g-=f.Ea;f=e.I;e=e.j;g=0;for(d>>>=f.Z;0<e&&d<f.O.length;){k=h[g++];if(!k)break;f.O[d++]=k;e-=f.Ea}}delete a.f}}G(a)}}Ia(function(){for(var a=E(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new $e(d);bb(d,c)}});function cf(a){y.call(this,"RAM",a,cf);this.B=a.addr;this.j=a.size;this.f=!1}C(cf);l=cf.prototype;l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.G=d;G(this)};l.Qa=function(a,b){b||this.reset();return!0};l.Pa=function(a){return a?this.save():!0};
l.reset=function(){!this.f&&this.j&&Db(this.I,this.B,this.j,1)&&(this.f=!0);this.f||x("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Ia(function(){for(var a=E(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new cf(d);bb(d,c)}});function df(a){y.call(this,"Keyboard",a,df,65536);G(this)}C(df);df.prototype.xa=function(){return!1};df.prototype.Ya=function(a,b,c,d){this.B=a;this.b=c;this.G=d;this.ta=null};
Ia(function(){for(var a=E(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new df(d);bb(d,c)}});function ef(a){y.call(this,"Debugger",a,ef);this.ea=a.base||16;this.Da=!1;this.$=this.Ca=this.H=0;this.da=!1;this.A=-1;this.j=[];this.ia={}}C(ef);var ff={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ef.prototype.zc=function(){return-1};ef.prototype.Ac=function(){};
function gf(a,b,c,d){if(c)if(b){0>a.A&&a.j.length&&(a.A=0);if(0>a.A||b!=a.j[a.A])a.j.splice(0,0,b),a.A=0;a.A--}else a.da?b="end":b=a.j[a.A+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(na(b.substring(c,e))),c=e+1}}return a}
function hf(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<<f;break;case ">>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e<f?1:0;break;case "<=":d=e<=f?1:0;break;case ">":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break;
l.Ia=function(a){if(this.Hb&&(a||!this.w.ha||this.w.xc)){for(a=0;a<this.j.length;a++)Yc(this,"R"+a,this.j[a]);a=Qb(this);Yc(this,"PS",a);Yc(this,"NF",a&8?1:0,1);Yc(this,"ZF",a&4?1:0,1);Yc(this,"VF",a&2?1:0,1);Yc(this,"CF",a&1?1:0,1)}if(a=this.M.speed)a.textContent=this.w.ha&&this.ca?this.ca.toFixed(2)+"Mhz":"Stopped"};function O(a){return a.V&65536?1:0}function hd(a){return a.W&32768?2:0}function id(a){return a.Z&65535?0:4}l.Oa=function(){return this.X&32768?8:0};
function jd(a){var b=kd(a,a.j[7]);a.j[7]=a.j[7]+2&65535;return b}function ld(a,b){a.j[7]=b&65535}function K(a,b,c,d,f){for(var e=a.G.length;0<e--;)if(a.G[e].pd===d){0<e&&(a.G[e-1].Wa+=a.G[e].Wa);a.G.splice(e,1);break}if(0<=b){for(e=a.G.length;0<e--;){if(a.G[e].Wa>b){a.G[e].Wa-=b;break}b-=a.G[e].Wa}a.G.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.F|=2}function Qb(a){return a.P=a.P&63728|a.Oa()|id(a)|hd(a)|O(a)}
function Rb(a,b){a.X=b<<12;a.Z=~b&4;a.W=b<<14;a.V=b<<16;if((b^a.P)&2048)for(var c=a.Ra.length;0<=--c;){var d=a.j[c];a.j[c]=a.Ra[c];a.Ra[c]=d}a.H=b>>14&3;c=a.P>>14&3;a.H!=c&&(a.Ba[c]=a.j[6],a.j[6]=a.Ba[a.H]);a.F|=2;a.P=b}function P(a,b){a.F&128||(a.X=a.Z=b,a.W=0)}function md(a,b,c){a.F&128||(a.X=a.Z=a.V=b,a.W=c||0)}function nd(a,b,c,d){a.F&128||(a.X=a.Z=a.V=b,a.W=(c^b)&(d^b))}function od(a,b){a.F&128||(a.X=a.Z=a.V=b,a.W=a.X^a.V>>1)}function pd(a,b,c,d){a.F&128||(a.X=a.Z=a.V=b,a.W=(c^d)&(d^b))}
l.L=function(a){var b=!1;0>this.ma?this.ma=Qb(this):this.H||(a=4,b=!0);this.K&57344||(this.bb=63222,this.cc=a);this.H=0;var c=kd(this,a|65536),d=kd(this,a+2&65535|65536);Rb(this,d&-12289|this.ma>>2&12288);b&&(this.J|=4,this.j[6]=4);qd(this,this.ma);qd(this,this.j[7]);ld(this,c);this.F&=-113;this.ma=-1;throw a;};function rd(a){var b=sd(a),c=sd(a)&-1793;a.P&49152&&(c=c&-225|a.P&63712);ld(a,b);Rb(a,c);a.F&=-17}
function fc(a,b){var c=b>>13&31;31>c?a.nb&32&&(b=a.Ub[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
function td(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.H];f=a.na[a.H][d];e=(a.na[a.H][d+16]<<6)+(b&8191)&4194303;a.nb&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.J|=32,a.L(4,12)),e&1&&!(c&1)&&(a.J|=64,a.L(4,14)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&
8128)&&(g|=16384));a.na[a.H][d]=f;if(4194170!==e||a.H)a.za=a.H,a.Aa=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.K&57344||(a.K=a.K|g|a.za<<5|a.Aa<<1),a.L(168,16)),a.K&61440||!(4191360>e||4194239<e)||(a.K|=4096,a.K&512&&(a.F|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.J|=64,a.L(4,10));return e}function gc(a,b){return a.I.Ka(b)}function kd(a,b){return gc(a,td(a,b,2))}function sd(a){var b=kd(a,a.j[6]|65536);a.j[6]=a.j[6]+2&65535;return b}
function qd(a,b){var c=a.j[6]-2&65535;a.j[6]=c;a.K&57344||(a.bb=a.bb<<8|246);!a.H&&c<=a.cb&&4<c&&(c<=a.cb-32?(a.J|=4,a.j[6]=4,a.L(4,18)):(a.J|=8,a.F|=4));c=td(a,c|65536,4);a.I.pb(c,b&65535)}
function ud(a,b,c){var d,f,e=c&8?0:a.Eb,g=b>>3&7;b&=7;c&4?(a.u=g,a.f=b):(a.B=g,a.D=b);switch(g){case 0:return a.L(4,20),0;case 1:return 6===b&&!a.H&&c&4&&(a.j[6]<=a.cb||65534<=a.j[6])&&(a.j[6]<=a.cb-32||65534<=a.j[6]?(a.J|=4,a.j[6]=4,a.L(4,22)):(a.J|=8,a.F|=64)),a.b-=3,7===b?a.j[b]:a.j[b]|e;case 2:f=2;d=a.j[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.b-=3;break;case 3:f=2;d=a.j[b];7!==b&&(d|=e);d=kd(a,d);d|=e;a.b-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.j[b]+f&65535;7!==b&&(d|=e);a.b-=4;break;case 5:f=-2;
d=a.j[b]-2&65535;7!==b&&(d|=e);d=kd(a,d)|e;a.b-=8;break;case 6:return d=jd(a),d=d+a.j[b]&65535|e,a.b-=6,d;case 7:return d=jd(a),d=d+a.j[b]&65535,d=kd(a,d|65536)|e,a.b-=10,d}a.j[b]=a.j[b]+f&65535;!e||a.K&57344||(a.bb=a.bb<<8|f<<3&248|b);6==b&&!a.H&&c&4&&0>=f&&(a.j[6]<=a.cb||65534<=a.j[6])&&(a.j[6]<=a.cb-32?(a.J|=4,a.j[6]=4,a.L(4,24)):(a.J|=8,a.F|=64));return d}l.Rc=function(a,b){return ud(this,a,b)};l.Sc=function(a,b){return td(this,ud(this,a,b),b)};
function vd(a,b,c){b&56?(b=ud(a,b,2),c&65536||61440!==(a.P&61440)&&(b&=65535),a.H=a.P>>12&3,c=kd(a,b|c&65536),a.H=a.P>>14&3):(a.B=0,c=a.D=b&7,c=6!=c||(a.P>>2&12288)===(a.P&12288)?a.j[c]:a.Ba[a.P>>12&3]);return c}function wd(a,b,c,d){a.K&57344||(a.bb=22);b&56?(b=ud(a,b,4),c&65536||(b&=65535),a.H=a.P>>12&3,b=td(a,b|c&65536,4),a.H=a.P>>14&3,a.I.pb(b,d&65535)):(a.u=0,c=a.f=b&7,6!=c||(a.P>>2&12288)===(a.P&12288)?a.j[c]=d:a.Ba[a.P>>12&3]=d)}
function Q(a,b){b&56?a=gc(a,a.ba(b,2)):(a.B=0,a=a.j[a.D=b&7]);return a}function xd(a,b){b&56?(b=a.ba(b,3),a=a.I.sb(b)):(a.B=0,a=a.j[a.D=b&7]&255);return a}function S(a,b,c,d){b&56?(b=a.ba(b,6),c=d.call(a,c,gc(a,b)),a.I.pb(b,c&65535)):(a.u=0,b=a.f=b&7,a.j[b]=d.call(a,c,a.j[b]))}function T(a,b,c,d){b&56?(b=a.La=a.ba(b,7),c=d.call(a,c,a.I.sb(b)),b&1&&a.b--,a.I.Tb(b,c&255)):(a.u=0,b=a.f=b&7,a.j[b]=a.j[b]&65280|d.call(a,c,a.j[b]))}
function yd(a,b,c){b&56?(b=a.ba(b,4),a.I.pb(b,c&65535)):(a.u=0,a.j[a.f=b&7]=c&65535);return c}function zd(a,b,c,d){b&56?(d=a.ba(b,5),d&1&&a.b--,a.I.Tb(d,c&255)):(a.u=0,b=a.f=b&7,a.j[b]=c?d&1?c<<24>>24&65535:a.j[b]&-256|c&255:a.j[b]&-256);return c}function U(a,b,c){c&&(ld(a,a.j[7]+(b<<24>>23)),a.b-=2);a.b-=3}
l.Bb=function(a){this.w.complete=!0;var b=this.w.Oc=this.i&&Ad(this.i),c=a?this.w.pc?0:1:-1;this.w.pc=!1;this.ea=this.b=a;do{if(b){if(Bd(this.i,this.j[7],c)){this.pa();break}c=1}if(this.F&&(this.F&112&&(this.F&32?this.L(168,28):this.F&64?this.L(4,30):this.F&16&&this.L(12,32),this.F&=-113),this.F&7))if(this.F&2){this.F&=-3;a=null;for(var d=this.nc&224,f=this.G.length;0<=--f;){if(0<this.G[f].Wa){this.G[f].Wa--;this.F|=2;break}if(this.G[f].uc){if(!this.G[f].uc()){this.G.splice(f,1);continue}this.G[f].uc=
null}this.G[f].Yc>d&&(d=this.G[f].Yc,a=this.G[f],this.G.splice(f,1))}d>(this.P&224)&&(this.F&4&&(this.j[7]=this.j[7]+2&65535,this.F&=-5),a?this.L(a.pd,26):this.L(160,26))}else this.F&1&&this.F++;this.K&57344||(this.bb=0,this.cc=this.j[7]);this.F=this.F&7|this.P&16;this.decode(jd(this))}while(0<this.b);return this.w.complete?this.ea-this.b:void 0===this.w.complete?0:-1};Pa(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new ed(d);cb(d,c)}});
function Cd(a,b){var c=b+a;nd(this,c,a,b);return c&65535}function Dd(a,b){var c=b+a;nd(this,c<<8,a<<8,b<<8);return c&255}function Ed(a,b){a=b<<1;od(this,a);return a&65535}function Fd(a,b){a=b<<1;od(this,a<<8);return a&255}function Gd(a,b){a=b&32768|b>>1|b<<16;od(this,a);return a&65535}function Hd(a,b){a=b&2048|b>>1|b<<8;od(this,a<<8);return a&255}function Id(a,b){a=b&~a;P(this,a);return a}function Jd(a,b){a=b&~a;P(this,a<<8);return a}function Kd(a,b){a|=b;P(this,a);return a}
function Ld(a,b){a|=b;P(this,a<<8);return a}function Md(a,b){a=~b|65536;md(this,a);return a&65535}function Nd(a,b){a=~b|256;md(this,a<<8);return a&255}function Od(a,b){a=b-a;this.F&128||(this.X=this.Z=a,this.W=b&(b^a));return a&65535}function Pd(a,b){a=b-a;var c=a<<8;b<<=8;this.F&128||(this.X=this.Z=c,this.W=b&(b^c));return a&255}function Qd(a,b){a=b+a;this.F&128||(this.X=this.Z=a,this.W=a&(b^a));return a&65535}
function Rd(a,b){a=b+a;var c=a<<8;this.F&128||(this.X=this.Z=c,this.W=c&(b<<8^c));return a&255}function Sd(a,b){a=-b;md(this,a,a&b&32768);return a&65535}function Td(a,b){a=-b;md(this,a<<8,(a&b&128)<<8);return a&255}function Ud(a,b){a=b<<1|this.V>>16&1;od(this,a);return a&65535}function Vd(a,b){a=b<<1|this.V>>16&1;od(this,a<<8);return a&255}function Wd(a,b){a=(this.V&65536|b)>>1|b<<16;od(this,a);return a&65535}function Xd(a,b){a=((this.V&65536)>>8|b)>>1|b<<8;od(this,a<<8);return a&255}
function Yd(a,b){var c=b-a;pd(this,c,a,b);return c&65535}function Zd(a,b){var c=b-a;pd(this,c<<8,a<<8,b<<8);return c&255}function $d(a,b){this.F&128||(this.X=this.Z=b&65280,this.W=this.V=0);return(b<<8|b>>8)&65535}function ae(a,b){a^=b;P(this,a);return a&65535}
function be(a){var b=Q(this,a);a=a>>6&7;var c=this.j[a];c&32768&&(c|=4294901760);this.V=this.W=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.V=c<<17-b,c>>=b;else if(b)if(16<b)this.W=c,c=0;else{this.V=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.W=32768)}this.j[a]=c&65535;this.X=this.Z=c;this.b-=(this.B?6:7)+b}
function ce(a){var b=Q(this,a);a=a>>6&7;var c=this.j[a]<<16|this.j[a|1];this.V=this.W=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.V=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.V=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.W=32768)):d=c;this.j[a]=d>>16&65535;this.j[a|1]=d&65535;this.X=d>>16;this.Z=d>>16|d;this.b-=(this.B?6:7)+b}function V(a){a&1&&(this.V=0);a&2&&(this.W=0);a&4&&(this.Z=1);a&8&&(this.X=0);this.b-=5}
function de(a){var b=Q(this,a);if(b){a=a>>6&7;var c=this.j[a]<<16|this.j[a|1];this.V=this.W=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.j[a]=d&65535,this.j[a|1]=c-d*b&65535,this.Z=d>>16|d,this.X=d>>16):(this.W=32768,this.Z=d>>15|d,this.X=c>>16,-1===b&&65534===this.j[a]&&(this.j[a]=this.j[a|1]=1));this.b-=53}else this.Z=this.X=0,this.W=32768,this.V=65536,this.b-=7}var ee=[0,7,7,10,7,11,9,13];function fe(a){var b=this.b;ld(this,ud(this,a,8));this.b=b-ee[this.B]}
var ge=[0,14,14,17,14,18,16,20];function he(a){var b=this.b,c=ud(this,a,8);a=a>>6&7;qd(this,this.j[a]);this.j[a]=this.j[7];ld(this,c);this.b=b-ge[this.B]}var ie=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],De=[7,13,13,17,14,18,17,21];function Ee(a){var b=Q(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.j[a];c&32768&&(c|=-65536);b=~~(b*c);this.j[a]=b>>16&65535;this.j[a|1]=b&65535;this.F&128||(this.X=b>>16,this.Z=this.X|b,this.W=0,this.V=-32768>b||32767<b?65536:0);this.b-=23}
function Fe(){this.b-=5}function X(a){a&1&&(this.V=65536);a&2&&(this.W=32768);a&4&&(this.Z=0);a&8&&(this.X=32768);this.b-=5}function Ge(a){var b=(a&448)>>6;if(this.j[b]=this.j[b]-1&65535)ld(this,this.j[7]-((a&63)<<1)),this.b+=1;this.b-=6}function He(a){S(this,a,0,$d);this.b-=this.u?9:3+(7==this.f?2:0)}function Ie(a){S(this,a,Q(this,(a&448)>>6),ae);this.b-=this.u?9:3+(7==this.f?2:0)}function Y(){this.L(8,6)}function fd(a){Je[a>>12].call(this,a)}
var Je=[function(a){Ke[a>>8&15].call(this,a)},function(a){var b=Q(this,a>>6),c=this.b;P(this,yd(this,a,b));this.b=c-ie[(this.B?8:0)+this.u]+(7!=this.f||this.u?0:2)},function(a){var b=Q(this,a>>6),c=this.B,d=this.D;a=Q(this,a);pd(this,b-a,a,b);this.b-=this.B?4+(d&&6<=this.D?1:0):(c?4:3)+(7==this.D?2:0)},function(a){var b=Q(this,a>>6),c=this.B,d=this.D;a=Q(this,a);P(this,b&a);this.b-=this.B?4+(d&&6<=this.D?1:0):(c?4:3)+(7==this.D?2:0)},function(a){S(this,a,Q(this,a>>6),Id);this.b-=this.u?9+(this.D&&
6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){S(this,a,Q(this,a>>6),Kd);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){S(this,a,Q(this,a>>6),Cd);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){Le[a>>8&15].call(this,a)},function(a){Me[a>>8&15].call(this,a)},function(a){var b=xd(this,a>>6);P(this,zd(this,a,b,1)<<8);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){var b=xd(this,a>>6)<<
8,c=this.B,d=this.D;a=xd(this,a)<<8;pd(this,b-a,a,b);this.b-=this.B?4+(d&&6<=this.D?1:0):(c?4:3)+(7==this.D?2:0)},function(a){var b=xd(this,a>>6),c=this.B,d=this.D;a=xd(this,a);P(this,(b&a)<<8);this.b-=this.B?4+(d&&6<=this.D?1:0):(c?4:3)+(7==this.D?2:0)},function(a){T(this,a,xd(this,a>>6),Jd);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){T(this,a,xd(this,a>>6),Ld);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){S(this,a,Q(this,
a>>6),Yd);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},Y],Ke=[function(a){Ne[a>>4&15].call(this,a)},function(a){U(this,a,!0)},function(a){U(this,a,!id(this))},function(a){U(this,a,id(this))},function(a){U(this,a,!this.Oa()==!hd(this))},function(a){U(this,a,!this.Oa()!=!hd(this))},function(a){U(this,a,!id(this)&&!this.Oa()==!hd(this))},function(a){U(this,a,id(this)||!this.Oa()!=!hd(this))},he,he,function(a){Oe[a>>6&3].call(this,a)},function(a){Pe[a>>6&3].call(this,a)},function(a){Qe[a>>
6&3].call(this,a)},function(a){Re[a>>6&3].call(this,a)},Y,Y],Oe=[function(a){md(this,yd(this,a,0));this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Md);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Qd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Od);this.b-=this.u?9:3+(7==this.f?2:0)}],Pe=[function(a){S(this,a,0,Sd);this.b-=this.u?11:6},function(a){S(this,a,O(this)?1:0,Cd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,O(this)?1:0,Yd);this.b-=this.u?
9:3+(7==this.f?2:0)},function(a){a=Q(this,a);md(this,a);this.b-=this.B?4:3+(7==this.D?2:0)}],Qe=[function(a){S(this,a,0,Wd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Ud);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Gd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Ed);this.b-=this.u?9:3+(7==this.f?2:0)}],Re=[function(a){a=this.j[7]+((a&63)<<1)&65535;var b=kd(this,a|65536);ld(this,this.j[5]);this.j[6]=a+2&65535;this.j[5]=b;this.b-=8},function(a){a=vd(this,
a,0);qd(this,a);P(this,a);this.b-=11},function(a){var b=sd(this),c=this.b;wd(this,a,0,b);P(this,b);this.b=c-De[this.u]},function(a){P(this,yd(this,a,this.Oa?65535:0));this.b-=this.u?9:3+(7==this.f?2:0)}],Ne=[function(a){Se[a&15].call(this,a)},Y,Y,Y,fe,fe,fe,fe,function(a){if(a&8)this.L(8,6);else{var b=sd(this);a&=7;ld(this,this.j[a]);this.j[a]=b;this.b-=9}},function(a){a&8?(this.P&49152||(this.P=this.P&-2017|(a&7)<<5,this.F|=1),this.b-=5):this.L(8,6)},function(a){Te[a&15].call(this,a)},function(a){Ue[a&
15].call(this,a)},He,He,He,He],Se=[function(){this.P&49152?(this.J|=128,this.L(4,3)):dd(this);this.b-=7},function(){this.F|=4;this.j[7]=this.j[7]+-2&65535;this.b-=3},function(){rd(this);this.F|=this.P&16;this.b-=13},function(){this.L(12,1);this.b-=5},function(){this.L(16,4);this.b-=25},function(){this.P&49152||(gd(this),this.I.reset());this.b-=667},function(){rd(this);this.b-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],Te=[Fe,function(){this.V=0;this.b-=5},function(){this.W=0;this.b-=5},V,function(){this.Z=1;this.b-=
5},V,V,V,function(){this.X=0;this.b-=5},V,V,V,V,V,V,V],Ue=[Fe,function(){this.V=65536;this.b-=5},function(){this.W=32768;this.b-=5},X,function(){this.Z=0;this.b-=5},X,X,X,function(){this.X=32768;this.b-=5},X,X,X,X,X,X,X],Le=[Ee,Ee,de,de,be,be,ce,ce,Ie,Ie,Y,Y,Y,Y,Ge,Ge],Me=[function(a){U(this,a,!this.Oa())},function(a){U(this,a,this.Oa())},function(a){U(this,a,!O(this)&&!id(this))},function(a){U(this,a,O(this)||id(this))},function(a){U(this,a,!hd(this))},function(a){U(this,a,hd(this))},function(a){U(this,
a,!O(this))},function(a){U(this,a,O(this))},function(){this.L(24,2);this.b-=25},function(){this.L(28,5);this.b-=5},function(a){Ve[a>>6&3].call(this,a)},function(a){We[a>>6&3].call(this,a)},function(a){Xe[a>>6&3].call(this,a)},function(a){Ye[a>>6&3].call(this,a)},Y,Y],Ve=[function(a){md(this,zd(this,a,0));this.b-=this.u?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Nd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Rd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Pd);this.b-=
this.u?9:3+(7==this.f?2:0)}],We=[function(a){T(this,a,0,Td);this.b-=this.u?11:6},function(a){T(this,a,O(this)?1:0,Dd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){T(this,a,O(this)?1:0,Zd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){a=xd(this,a);md(this,a<<8);this.b-=this.B?4:3+(7==this.D?2:0)}],Xe=[function(a){T(this,a,0,Xd);this.b-=this.u?9+(this.La&1):3+(7==this.f?2:0)},function(a){T(this,a,0,Vd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Hd);this.b-=this.u?9+(this.La&1):
3+(7==this.f?2:0)},function(a){T(this,a,0,Fd);this.b-=this.u?9:3+(7==this.f?2:0)}],Ye=[Y,function(a){a=vd(this,a,65536);qd(this,a);P(this,a);this.b-=11},function(a){var b=sd(this),c=this.b;wd(this,a,65536,b);P(this,b);this.b=c-De[this.u]},Y];
function Ze(a){x.call(this,"ROM",a,Ze);this.f=null;this.D=a.addr;this.u=a.size;this.G=a.writable;this.C=a.alias;this.B=a.file;this.H=da(this.B);if(this.B){a=this.B;var b=ea(this.H);"json"!=b&&"hex"!=b&&(a=ka()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;ta(a,null,!0,function(a,b,e){$e(c,a,b,e)})}}A(Ze);Ze.prototype.Ya=function(a,b,c,d){this.I=b;this.b=c;this.i=d;af(this)};
Ze.prototype.Qa=function(){if(this.Ma){if(this.i){var a=this.i,b=this.id,c=this.D,d=this.u,f=this.Ma,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],r=pa(n,k,a.vc);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({wd:b,A:c,Uc:d,Ma:f,sc:e})}delete this.Ma}return!0};Ze.prototype.Pa=function(){return!0};
function $e(a,b,c,d){if(d)a.sa("Unable to load system ROM (error "+d+": "+b+")");else{$a(a.wc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.f=e;else if(e=h.words)for(a.f=Array(2*e.length),g=f=0;f<e.length;f++)a.f[g++]=e[f]&255,a.f[g++]=e[f]>>8&255;else if(e=h.data)for(a.f=Array(4*e.length),g=f=0;f<e.length;f++)a.f[g++]=e[f]&255,a.f[g++]=e[f]>>8&255,a.f[g++]=e[f]>>16&255,a.f[g++]=e[f]>>24&255;else a.f=h;a.Ma=h.symbols;if(!a.f.length){t("Empty ROM: "+
b);return}if(1==a.f.length){t(a.f[0]);return}}catch(k){a.sa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.f=Array(b.length),f=0;f<b.length;f++)a.f[f]=ba(b[f],16);af(a)}}
function af(a){if(!fb(a))if(!a.B)F(a);else if(a.f&&a.I){a.u||(a.u=a.f.length);if(a.f.length!=a.u)tb(a,"ROM size ("+p(a.f.length,8,!0)+") does not match specified size ("+p(a.u,8,!0)+")");else{var b;b=a.D;if(Db(a.I,b,a.u,a.G?1:nc)){var c;for(c=0;c<a.f.length;c++){var d=a.I,f=b+c;d.O[(f&d.u)>>>d.$].Db(f&d.f,a.f[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.C?b.push(a.C):null!=a.C&&a.C.length&&(b=a.C);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.I,g=e.u,h=[],k=e.D>>>f.$;0<g&&k<f.O.length;)h.push(f.O[k++]),
g-=f.Fa;f=e.I;e=e.u;g=0;for(d>>>=f.$;0<e&&d<f.O.length;){k=h[g++];if(!k)break;f.O[d++]=k;e-=f.Fa}}delete a.f}}F(a)}}Pa(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Ze(d);cb(d,c)}});function bf(a){x.call(this,"RAM",a,bf);this.C=a.addr;this.u=a.size;this.f=!1}A(bf);l=bf.prototype;l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.i=d;F(this)};l.Qa=function(a,b){b||this.reset();return!0};l.Pa=function(a){return a?this.save():!0};
l.reset=function(){!this.f&&this.u&&Db(this.I,this.C,this.u,1)&&(this.f=!0);this.f||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Pa(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new bf(d);cb(d,c)}});function cf(a){x.call(this,"Keyboard",a,cf,65536);F(this)}A(cf);cf.prototype.xa=function(){return!1};cf.prototype.Ya=function(a,b,c,d){this.C=a;this.b=c;this.i=d;this.qa=null};
Pa(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new cf(d);cb(d,c)}});function df(a){x.call(this,"Debugger",a,df);this.fa=a.base||16;this.Ea=!1;this.ca=this.Da=this.H=0;this.ea=!1;this.B=-1;this.u=[];this.la={}}A(df);var ef={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};df.prototype.Ac=function(){return-1};df.prototype.Bc=function(){};
function ff(a,b,c,d){if(c)if(b){0>a.B&&a.u.length&&(a.B=0);if(0>a.B||b!=a.u[a.B])a.u.splice(0,0,b),a.B=0;a.B--}else a.ea?b="end":b=a.u[a.B+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(oa(b.substring(c,e))),c=e+1}}return a}
function gf(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<<f;break;case ">>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e<f?1:0;break;case "<=":d=e<=f?1:0;break;case ">":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break;
case "^":d=e^f;break;case "|":d=e|f;break;case "&&":d=e&&f?1:0;break;case "||":d=e||f?1:0;break;default:return!1}a.push(d|0)}return!0}
function jf(a,b,c){var d;if(b){b=kf(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],q=n.length,n=na(n);if(!n){e=!0;break}n=lf(a,n,null,!1===c);if(void 0===n){e=!0;c=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],p=n.length;k.length&&ff[n]<ff[k[k.length-1]]&&hf(h,k,1);k.push(n);b=b.substr(q+p)}hf(h,k)&&1==h.length||(e=!0);e?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&mf(a,null,
d))}return d}function kf(a,b){for(var c,d=a.Da?"(":"{",f=a.Da?")":"}",e=new RegExp(a.Da?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(e))&&!(0<=c[1].indexOf(d));){var g=jf(a,c[1]);b=b.replace(d+c[1]+f,null!=g?Y(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.$-a.Ca}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
function lf(a,b,c,d){var f;null!=b?(f=a.zc(b),0<=f?f=a.Ac(f):(f=a.ia[b],null==f&&(f=aa(b,a.ea))),null!=f||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return f}
function mf(a,b,c){var d,f=!1;if(void 0!==c){f=!0;d=c;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(k&1?"1":"0")+n,k>>=1;g=n+g;d>>=8}d=t(c,0,!0)+" "+c+". "+r(c,0,!0)+" "+("0b"+g)}a.g((null!=b?b+": ":"")+d);return f}function nf(a,b){if(b)return mf(a,b,a.ia[b]);var c=0;for(b in a.ia)mf(a,b,a.ia[b]),c++;return 0<c}
function Y(a,b,c,d){switch(a.ea){case 8:a=r(b,3*c);break;case 10:a=b.toString();break;default:a=t(b,2*c)}d&&"0"==a.charAt(0)&&(a=a.replace(/^0+([0-9A-F]+)$/i,"$1"));return a}
function of(a){ef.call(this,a);this.Da=!0;this.S=Z();this.qb=Z();this.ca=Z();this.F=[];this.f=this.W=this.C=[];pf(this);this.ua=0;qf(this);this.Ia={};rf(this,a.messages);this.La=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Dc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Dc(b,a)})}C(of,ef);
var sf={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},tf="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
uf={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
function hf(a,b,c){var d;if(b){b=jf(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],r=n.length,n=oa(n);if(!n){e=!0;break}n=kf(a,n,null,!1===c);if(void 0===n){e=!0;c=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],q=n.length;k.length&&ef[n]<ef[k[k.length-1]]&&gf(h,k,1);k.push(n);b=b.substr(r+q)}gf(h,k)&&1==h.length||(e=!0);e?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&lf(a,null,
d))}return d}function jf(a,b){for(var c,d=a.Ea?"(":"{",f=a.Ea?")":"}",e=new RegExp(a.Ea?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(e))&&!(0<=c[1].indexOf(d));){var g=hf(a,c[1]);b=b.replace(d+c[1]+f,null!=g?I(a,g):"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.ca-a.Da}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
function kf(a,b,c,d){var f;null!=b?(f=a.Ac(b),0<=f?f=a.Bc(f):(f=a.la[b],null==f&&(f=ba(b,a.fa))),null!=f||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return f}
function lf(a,b,c){var d,f=!1;if(void 0!==c){f=!0;d=c;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(k&1?"1":"0")+n,k>>=1;g=n+g;d>>=8}d=p(c,0,!0)+" "+c+". "+ca(c,0,!0)+" "+("0b"+g)}a.g((null!=b?b+": ":"")+d);return f}function mf(a,b){if(b)return lf(a,b,a.la[b]);var c=0;for(b in a.la)lf(a,b,a.la[b]),c++;return 0<c}
function I(a,b,c,d){switch(a.fa){case 8:a=ca(b,3*c);break;case 10:a=b.toString();break;default:a=p(b,2*c)}d&&"0"==a.charAt(0)&&(a=a.replace(/^0+([0-9A-F]+)$/i,"$1"));return a}
function nf(a){df.call(this,a);this.Ea=!0;this.U=Z();this.qb=Z();this.da=Z();this.G=[];this.f=this.Y=this.D=[];of(this);this.za=0;pf(this);this.La={};qf(this,a.messages);this.ib=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Dc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Dc(b,a)})}A(nf,df);
var rf={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},sf="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
tf={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};l=of.prototype;
l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.B=a;(a=Ac(a,"messages"))&&rf(this,a);this.Hb=uf;vf(this,function(a){a:{var b=d.I.O,c=a[0],f=a=0,k=b.length;if(c){a=d.ba(wf(d,c));if(-1===a){d.g("invalid address: "+c);break a}f=a>>>d.I.Z;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.g("..."):(c=n.type,m=Gb[c],n&&d.g(t(n.id,8)+" %"+t(f<<d.I.Z,8)+" %%"+t(n.w,8)+" "+t(n.Vb,
4,!0)+" "+t(n.size,4,!0)+" "+m),c!=mc&&(c=-1),m=0);a+=d.I.Ea;f++}}});G(this)};
l.xa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ta=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.A<d.j.length-1&&(b=d.j[++d.A])):40==a.keyCode&&(0<d.A?b=d.j[--d.A]:(b="",d.A=-1)),null!=b){var f=b.length;c.value=b;c.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.M[b]=c,Ca(c,function(){if(d.ta){var a=d.ta.value;
d.ta.value="";Dc(d,a,!0);return!0}return!1}),!0;case "step":return this.M[b]=c,Ca(c,function(a){var b=!1;eb(d,!0)||(db(d,!0),b=d.Bb(a?1:0),db(d,!1));return b}),!0}return!1};l.Ub=function(){this.ta&&this.ta.focus()};l.ba=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.sb=function(a,b){var c=255,d=this.ba(a,!1,1);-1!==d&&(c=this.I,c=c.O[(d&c.j)>>>c.Z].Ob(d&c.f,d),b&&xf(a,b));return c};l.Ka=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(c=Hb(this.I,d),b&&xf(a,b));return c};
l.Sb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){var f=this.I;f.O[(d&f.j)>>>f.Z].Db(d&f.f,b&255,d);c&&xf(a,c);M(this.b,!0)}};l.ob=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){var f=this.I,e=d&f.f,g=(d&f.j)>>>f.Z;e!=f.f?f.O[g].qc(e,b&65535,d):(f.O[g++].Db(e,b&255,d),f.O[g&f.B].Db(0,b>>8&255,d+1));c&&xf(a,c);M(this.b,!0)}};function Z(a){return{w:a,Ja:!1}}function yf(a){return[a.w,a.Ja]}function zf(a){return{w:a[0],Ja:a[1]}}
function wf(a,b,c){var d;c=(c?a.S:a.qb).w;if(void 0!==b){d=b=kf(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.F.length;c++){var e=a.F[c].Ma[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;c=jf(a,b,void 0)}null!=c&&(d=Z(c));return d}function Af(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Lc=gf(a,b.Gc=c[2]))}function xf(a,b){null!=a.w&&(a.w+=b||1)}
function rf(a,b){a.G=a;a.ka=a.Mc=536870912;a.za=null;a.Ba=[];b=gf(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in H){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var f=b.length;d<f;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ka|=H[c],a.g(c+" messages enabled"))}}function vf(a,b){for(var c in H)if(64==H[c]){a.Ia[c]=b;break}}
l.zc=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function Bf(a){return 6>a?"R"+a:6==a?"SP":"PC"}l.Ac=function(a){var b;0<=a&&(8>a?b=this.b.i[a]:16>a?b=this.b.Ra[a-8]:20>a?b=this.b.Aa[a-16]:20==a&&(b=Qb(this.b)));return b};
l.message=function(a,b){b&&(a+=" at "+Y(this,Z(this.b.i[7]).w));this.ka&1073741824?this.Ba.push(a):this.za&&a==this.za||(this.za=a,this.ka&-2147483648&&(this.pa(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,dd(a),a.la=0,M(a)))};
function qf(a){var b;if(Bd(a)){if(!a.K||!a.K.length){a.K=Array(1E3);for(b=0;b<a.K.length;b++)a.K[b]=Z();a.ma=0;a.g("instruction history buffer allocated")}if(!a.la||!a.la.length)for(a.la=Array(256),b=0;b<a.la.length;b++)a.la[b]=[b,0]}else a.K&&a.K.length&&a.g("instruction history buffer freed"),a.ma=0,a.K=[],a.la=[]}l.Ab=function(a){if(!Cf(this))return!1;this.b.Ab(a);return!0};
l.Bb=function(a,b,c){if(!Cf(this))return!1;this.H=0;a||Bd(this)&&Cd(this,this.b.i[7],0);try{a=bd(this.b,a);var d=this.b.Bb(a);0<d&&(cd(this.b,a),this.H+=d,$c(this.b,d,!0),Ec(this.b,d),this.$++)}catch(f){"number"!=typeof f&&(this.H=0,hb(this.b,f.stack||f.message))}!1!==c&&M(this.b);this.Ha(b||!1);return 0<this.H};l.pa=function(a){this.b&&this.b.pa(a)};l.Ha=function(a){void 0===a&&(a=!0);this.S=Z(this.b.i[7]);a&&1!=this.fa?Df(this):Ef(this)};
function Cf(a){var b;if(b=a.b&&fb(a.b))b=a.b,b.u.ja?b=!0:(b.g(b.toString()+" not powered"),b=!1);return b&&!a.b.u.ha?!gb(a.b):!1}l.Qa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Pa=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){qf(this);this.$=this.Ca=0;this.za=null;this.H=0;this.S=Z(this.b.i[7]);this.u.ha=!1;Ff(this);a||this.Ha()};
l.save=function(){var a=new N(this);a.set(0,yf(this.S));a.set(1,yf(this.ca));a.set(2,[this.j,this.da,this.ka]);a.set(3,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.S=zf(a[b++]),this.ca=zf(a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.da=a[b][1],this.ka|=a[b][2]);a[3]&&(this.F=a[3]);return!0};l.start=function(a,b){this.fa||this.g("running");this.u.ha=!0;this.Wb=a;this.Xb=b};
l.stop=function(a,b){if(this.u.ha){this.u.ha=!1;this.H=b-this.Xb;if(!this.fa){b="stopped";if(this.H){a-=this.Wb;var c=0<a?Math.round(1E3*this.H/a):0;b+=" (";Bd(this)&&(b+=this.$+" opcodes, ",this.Ca-=this.$,this.$=0);b+=this.H+" cycles, "+a+" ms, "+c+" hz)"}else F(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.Ha(!0);this.Ub();Ff(this,this.b.i[7])}};function Bd(a){return 1<a.f.length||!!a.ua}
function Cd(a,b,c){var d=a.b;if(0<c&&(a.ua&&!--a.ua||vc(a,b,1,a.f)))return!0;0<=c&&a.la.length&&(a.$++,null!=Hb(a.I,b)&&(b=a.K[a.ma],b.w=d.i[7],b.Ja=!1,++a.ma==a.K.length&&(a.ma=0)));return!1}function pf(a){var b,c;a.f=["bp"];if(a.W)for(b=1;b<a.W.length;b++){c=a.W[b];var d=a.I;c=a.ba(c);wc(d.O[c>>>d.Z],!1)}a.W=["br"];if(a.C)for(b=1;b<a.C.length;b++)c=a.C[b],d=a.I,c=a.ba(c),wc(d.O[c>>>d.Z],!0);a.C=["bw"];a.pb=0}
l.ib=function(a,b,c){var d=!0;c||Gf(this,a,b,!1,!0);if(a!=this.f){var f=this.ba(b);if(-1===f)this.g("invalid address: "+Y(this,b.w)),d=!1;else{var e=this.I;e.O[f>>>e.Z].ib(f&e.f,a==this.C)}}d&&(a.push(b),c?b.Ja=!0:(Hf(this,a,a.length-1,"set"),qf(this)));return d};function Gf(a,b,c,d,f){var e=!1;c=a.ba(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.ba(h)&&(!d||h.Ja)){e=!0;h.Ja||f||Hf(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.I,wc(d.O[c>>>d.Z],b==a.C));h.Ja||qf(a);break}}return e}
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]+" "+Y(a,c.w)+(d?" "+d:c.Gc?' "'+c.Gc+'"':""))}function Ff(a,b){if(void 0!==b)vc(a,b,1,a.f,!0),a.fa=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.Ja){if(!Gf(a,a.f,c,!0))break;b=0}}}
function vc(a,b,c,d,f){var e=!1;if(!a.pb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ja)for(var k=a.ba(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Ja&&(Gf(a,d,h,!0),f=!0);if(n=h.Lc){for(var e=!1,q=0;q<n.length;q++)if(!Jf(a,n[q],!0)){if(n[q].indexOf("if")){e=!0;break}for(var p=q+1;p<n.length&&n[p].indexOf("else");p++)q++;if(p==n.length){e=!0;break}}a.b.u.ha||(e=!0)}if(e){f||Hf(a,d,g,"hit");break}}}a.pb--;return e}
function Kf(a,b,c,d){var f=Z(b.w),e=a.Ka(b,2),g,h;for(h in a.Hb)if(g=a.Hb[h][e&h])break;g||(g=[0]);for(var k=h="",m=tf[g[0]],n=g.length-1,q=1;q<=n;q++){var p=g[q];if(void 0!==p){var v;v=a;var w=p,p=b,z="",u=w&61440;if(4096==u)p=p.w+((e&255)<<24>>23)&65535,z=Y(v,p);else if(8192==u)p=p.w-((e&63)<<1)&65535,z=Y(v,p);else if(12288==u)z=Y(v,e&7,1);else if(24576==u)z=Y(v,e&63,1);else if(u=e&w,w&4032&&(u>>=6,w>>=6),w&63)switch(w=u&7,u&56){case 0:z=Bf(w);break;case 8:z="@"+Bf(w);break;case 16:7>w?z="("+Bf(w)+
")+":(u=v.Ka(p,2),z="#"+Y(v,u,0,!0));break;case 24:7>w?z="@("+Bf(w)+")+":(u=v.Ka(p,2),z="@#"+Y(v,u,0,!0));break;case 32:z="-("+Bf(w)+")";break;case 40:z="@-("+Bf(w)+")";break;case 48:u=v.Ka(p,2);z=Y(v,u,0,!0)+"("+Bf(w)+")";7==w&&(z=[z,Y(v,u+p.w&65535)]);break;case 56:u=v.Ka(p,2),z="@"+Y(v,u)+"("+Bf(w)+")",7==w&&(z=[z,Y(v,u+p.w&65535)])}v=z;if(!v||!v.length){h="INVALID";break}"string"!=typeof v&&(k=v[1],v=v[0]);0<h.length&&(h+=",");h+=v||"???"}}e="";g=Y(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+=" "+
Y(a,a.Ka(f,2)),null==f.w)break;while(f.w!=b.w)}g+=ma(e,24);g+=ma(m,5);h&&(g+=" "+h);if(c||k)g=ma(g,60)+";"+(c||""),g=a.b.u.rb?g+("cycles="+Fc(a.b).toString()+" cs="+t(a.b.Lb)):g+(null!=d?"="+d.toString():""),k&&(g+=" @"+k);return g}function Lf(a,b){switch(b){case "N":a=a.b.Oa();break;case "Z":a=jd(a.b);break;case "V":a=id(a.b);break;case "C":a=hd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Mf(a,b){var c="",d=a.b;8>b?(c=Bf(b),c+="="+Y(a,d.i[b])):13>b?c="A"+(b-8)+"="+Y(a,d.Ra[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+Y(a,d.Aa[b-16]):20==b&&(c="PS="+Y(a,Qb(d)));c&&(c+=" ");return c}function Nf(a){var b,c="";for(b=0;6>b;b++)c+=Mf(a,b);c=c+"\n"+(Mf(a,6)+Mf(a,7)+Mf(a,20));return c+=Lf(a,"T")+Lf(a,"N")+Lf(a,"Z")+Lf(a,"V")+Lf(a,"C")}l.uc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Of(a,b,c){var d=[],f=a.ba(b)>>>0;for(b=0;b<a.F.length;b++){var e=a.F[b],g=e.w>>>0,h=e.Uc;if(f>=g&&f<g+h){f=oa(e.rc,[f-g],a.uc);0<=f?Pf(a,b,f,d):c&&(f=~f,Pf(a,b,f-1,d),Pf(a,b,f,d));break}}return d}function Pf(a,b,c,d){var f={},e=a.F[b].rc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.F[b].Ma[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
function Qf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return nf(a)||a.g("no variables"),!0;if(!c[2])return nf(a,c[1]);if(!c[3])return delete a.ia[c[1]],!0;b=jf(a,c[3]);return void 0!==b?(a.ia[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
function Rf(a,b,c){var d=null;if(b=wf(a,b,!0)){a.ba(b);var f=Of(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.w-f[1])&&(g=" + "+t(e,4,!0)),e=f[0]+" ("+Y(a,f[1])+")"+g,c&&a.g(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.w)&&(g=" - "+t(e,4,!0)),e=f[4]+" ("+Y(a,f[5])+")"+g,c&&a.g(e),d||(d=e))}else c&&a.g("no symbols")}return d}
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 f=b[1],e=f.indexOf("=");if(0<e)b=f.substr(e+1),f=f.substr(0,e);else if(2<b.length)b=b[2];else{a.g("missing value for "+b[1]);return}e=jf(a,b);if(void 0===e)return;b=f.toUpperCase();switch(b){case "SP":case "R6":d.i[6]=e&65535;break;case "PC":case "R7":md(d,e);a.S=Z(d.i[7]);break;case "N":d.X=e?32768:0;break;
case "Z":d.Y=e?0:1;break;case "V":d.V=e?32768:0;break;case "C":d.U=e?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.i[b]=e&65535;break}a.g("unknown register: "+f);return}M(d);a.g("updated registers:")}a.g(Nf(a));c&&(a.S=Z(d.i[7]),Ef(a,Y(a,a.S.w)))}}function Sf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(c[2]):jf(a,b,!0)}
function Tf(a,b,c){var d="t"!=b;c=lf(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ba(c,function(){return db(a,!0)&&a.Bb(f,d,!1)},function(){M(a.b);db(a,!1)})}
function Ef(a,b,c,d){if(b=wf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=wf(a,c,!0);if(!d||d.w<b.w)return;f=d.w-b.w;if(256<f){a.g("range too large");return}d=-1}c=0;for(var e;0<f&&d--;){e=eb(a,!1)||a.fa?a.H:null;var g=null!=e?"cycles":null,h=Of(a,b),k=b.w;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(g=h[3],e=null);e=Kf(a,b,g,e);a.g(e);a.S=b;f-=b.w-k;c++}}}
function Jf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.da&&(a.g("ended assemble at "+Y(a,a.ca.w)),a.S=a.ca,a.da=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(fb(a)&&0<b.length){a.da&&(b="a "+Y(a,a.ca.w)+" "+b);var e=b.replace(/ +/g," ").split(" ");if(e&&e.length)for(var g=e[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){e[0]=g.substr(k);e.unshift(g.substr(0,k));break}}switch(e[0].charAt(0)){case "a":var n=wf(a,e[1],!0);
if(n)if(a.ca=n,void 0===e[2])a.g("begin assemble at "+Y(a,n.w)),a.da=!0,M(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var p=0;p<q.length;p++)a.Sb(n,q[p],1);a.g(Kf(a,a.ca))}}break;case "b":a:{var v=e[0],w=e[1],z=b;if("?"==w)a.g("breakpoint commands:"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");
else{var u=v.charAt(1);if("l"==u){var Hc;Hc=0+If(a,a.f);Hc+=If(a,a.W);(Hc+=If(a,a.C))||a.g("no breakpoints")}else if("n"==u)a.ua=lf(a,w),a.g("break after "+a.ua+" instruction(s)");else if(void 0===w)a.g("missing breakpoint address");else{var R=Z();if("*"!=w&&(R=wf(a,w,!0),!R))break a;"c"==u?null==R.w?(pf(a),a.g("all breakpoints cleared")):Gf(a,a.f,R)||Gf(a,a.W,R)||Gf(a,a.C,R)||a.g("breakpoint missing: "+Y(a,R.w)):null!=R.w&&(Af(a,R,z),"p"==u?a.ib(a.f,R):"r"==u?a.ib(a.W,R):"w"==u?a.ib(a.C,R):a.g("unknown breakpoint command: "+
u))}}}break;case "c":a.jb&&(a.jb.value="");break;case "d":a:{var Ka,La=e[0],ga=e[1],xa=e[2],lg=e[3];if("?"==ga){var Ma="";for(Ka in H)a.Ia[Ka]&&(Ma&&(Ma+=","),Ma+=Ka);Ma+=",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");Ma.length&&a.g("dump extension commands:\n\t"+Ma)}else if("state"==ga){var ke=Uf(a.B,
!0);"console"==xa?console.log(ke):(a.jb&&(a.jb.value=""),a.g(ke))}else if("symbols"==ga)for(var Ic=0;Ic<a.F.length;Ic++){var Jc=a.F[Ic],Na;for(Na in Jc.Ma)if("."!=Na.charAt(0)){var le=Jc.Ma[Na].o;if(void 0!==le){var me=Jc.Ma[Na].l;me&&(Na=me);a.g(Y(a,le)+" "+Na)}}}else{if("d"==La){for(Ka in H)if(e[1]==Ka){var ne=a.Ia[Ka];ne?(e.shift(),e.shift(),ne(e)):a.g("no dump registered for "+ga);break a}ga||(La=a.Zb||"db")}else a.Zb=La;if("dh"==La){var oe=ga,pe=xa,qe="",re=0,ba=a.ma,ha=a.K;if(ha.length){var W=
+oe||a.Eb,ib=+pe||10;isNaN(W)?W=ib:qe="more ";W>ha.length&&(a.g("note: only "+ha.length+" available"),W=ha.length);ba-=W;0>ba&&(null==ha[ha.length-1].w?(W=ba+W,ba=0):ba+=ha.length);var Kc=[];"call"==pe&&(ib=1E5,Kc=["CALL"]);for(void 0!==oe&&a.g(W+" instructions earlier:");0<ib&&ba!=a.ma;){var se=ha[ba++];if(null==se.w)break;var jb=Z(se.w),mg=W--,te=Kf(a,jb,"history",mg);(!Kc.length||0<=te.indexOf(Kc[0]))&&a.g(te);jb.hc&&(ba+=jb.hc,ib-=jb.hc,W-=jb.hc);ba>=ha.length&&(ba=0);a.Eb=W;re++;ib--}}re||(a.g("no "+
qe+"history available"),a.Eb=void 0)}else{var Tb=wf(a,ga);if(Tb){var Ub=0;xa&&("l"==xa.charAt(0)&&(xa=xa.substr(1)||lg),Ub=lf(a,xa)>>>0,65536<Ub&&(Ub=65536));for(var kb="",Oa="dd"==La?4:"dw"==La?2:1,Vb=Oa*Ub||128,ng=Vb+15>>4||1;ng--&&0<Vb;){var lb=0,Lc=0,mb,Mc="",ue="",ga=Y(a,Tb.w);for(mb=4==Oa?16:a.ea;0<mb&&0<Vb;mb--){var Wb=a.sb(Tb,1),lb=lb|Wb<<(Lc++<<3);Lc==Oa&&(Mc+=8==a.ea?r(lb,3*Oa):t(lb,2*Oa),Mc+=1==Oa?9==mb?"-":" ":" ",lb=Lc=0);ue+=32<=Wb&&128>Wb?String.fromCharCode(Wb):".";Vb--}kb&&(kb+=
"\n");kb+=ga+" "+Mc+(0==mb?" "+ue:"")}kb&&a.g(kb);a.qb=Tb}}}}break;case "e":if("else"==e[0])break;var Pa,Nc,Oc,Pc,Qc=e[0],Rc=e[1];"eb"==Qc?(Pa=1,Nc=255,Oc=a.sb,Pc=a.Sb):"e"==Qc||"ew"==Qc?(Pa=2,Nc=65535,Oc=a.Ka,Pc=a.ob):Rc=null;if(null==Rc)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 Xb=wf(a,Rc);if(Xb)for(var Yb=2;Yb<e.length;Yb++){var nb=jf(a,e[Yb]);if(void 0===nb){a.g("unrecognized value: "+e[Yb]);break}nb&~Nc&&
a.g("warning: "+t(nb)+" exceeds "+Pa+"-byte value");var og=Oc.call(a,Xb);a.g("changing "+Y(a,Xb.w)+" from "+Y(a,og,Pa)+" to "+Y(a,nb,Pa));Pc.call(a,Xb,nb,Pa)}}break;case "g":a:{var ve=e[1],pg=b;if(void 0!==ve){var Sc=wf(a,ve,!0);if(!Sc)break a;Af(a,Sc,pg);a.ib(a.f,Sc,!0)}a.Ab(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a.u.ha?(c||a.g("halting"),a.pa()):eb(a,!0)||c||a.g("already halted");break;case "i":if("if"==e[0]){var Tc;var ob=b.substr(2),ob=na(ob);jf(a,ob)?(c||a.g("true: "+
ob),Tc=!0):(c||a.g("false: "+ob),Tc=!1);Tc||(d=!1)}break;case "k":var qg=e[0];if("?"==e[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Uc=0,we=Z(),pb=Z(a.b.i[6]);for(a.g("stack trace for "+Y(a,pb.w));10>Uc;){for(var ya=null,rg=256;65536>pb.w>>>0;){we.w=a.Ka(pb,2);if(null==pb.w||!rg--)break;for(var sg=a,Zb=we,xe=null,qb=Zb.w,ye=qb,Vc=1;6>=Vc&&qb;Vc++){if(2<Vc){Zb.w=qb;var $b=Kf(sg,Zb);if(0<=$b.indexOf("JSR")){var ze=$b.indexOf(" ");if(qb+
($b.indexOf(" ",ze+1)-ze-1)/2==ye){xe=$b;break}}}qb--}Zb.w=ye;if(ya=xe)break}if(!ya||null==ya)break;var Ae=null;if("ks"==qg){var Be=ya.match(/[0-9A-F]+$/);Be&&(Ae=Rf(a,Be[0]))}ya=ma(ya,50)+" ;"+(Ae||"stack="+Y(a,pb.w));a.g(ya);Uc++}Uc||a.g("no return addresses found")}break;case "l":"ln"==e[0]&&Rf(a,e[1],!0);break;case "m":a:{var ia,ja=null,B=e[1];"?"==B&&(B=void 0);if(void 0!==B){var ua=0;if("all"==B)ua=1878917119,B=null;else if("on"==B)ja=!0,B=null;else if("off"==B)ja=!1,B=null;else{"keys"==B&&
(B="key");"kbd"==B&&(B="keyboard");for(ia in H)if(B==ia){ua=H[ia];ja=!!(a.ka&ua);break}if(!ua){a.g("unknown message category: "+B);break a}}if(ua)if("on"==e[2])a.ka|=ua,ja=!0;else if("off"==e[2]&&(a.ka&=~ua,ja=!1,1073741824==ua)){for(var Wc=0;Wc<a.Ba.length;Wc++)a.g(a.Ba[Wc]);a.Ba=[]}}var tg=0,rb="";for(ia in H)if(!B||B==ia){var ug=!!(a.ka&H[ia]);if(null===ja||ja==ug)rb&&(rb+=","),++tg%10||(rb+="\n\t"),"key"==ia&&(ia="keys"),rb+=ia}void 0===B&&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")+(rb||"none"));qf(a)}break;case "p":if("print"==e[0]){Sf(a,b.substr(5));break}var vg="pr"==e[0]?1:0;if(a.fa)a.g("step in progress");else{var Ce=Z(a.b.i[7]);a.sb(Ce);a.fa?(a.ib(a.f,Ce,!0),a.Ab()||(a.B&&a.B.Ub(),a.fa=0)):Tf(a,vg?"tr":"t")}break;case "r":if("reset"==b){a.B&&a.B.reset();break}Df(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var sb=+e[2];if(8==sb||10==sb||16==sb)a.ea=sb;else{a.g("invalid base: "+sb);
break}}a.g("default base: "+a.ea);break;case "cs":var tb;void 0!==e[3]&&(tb=+e[3]);switch(e[2]){case "int":a.b.ub=tb;break;case "start":a.b.Mb=tb;break;case "stop":a.b.vb=tb;break;default:a.g("unknown cs option");break a}void 0!==tb&&Cc(a.b);a.g("checksums "+(a.b.u.rb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Zc(a.b,+e[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.lb.toFixed(2)+"Mhz")+" ("+a.b.ab+"x)");break;case "?":a.g("debugger options:");
a.g("\tbase #\t\tset default base to #");a.g("\tcs int #\tset checksum cycle interval to #");a.g("\tcs start #\tset checksum cycle start count to #");a.g("\tcs stop #\tset checksum cycle stop count to #");a.g("\tsp #\t\tset speed multiplier to #");break;default:e[1]&&a.g("unknown option: "+e[1])}break;case "t":Tf(a,e[0],e[1]);break;case "u":Ef(a,e[1],e[2],8);break;case "v":if("var"==e[0]){Qf(a,b.substr(3))||(d=!1);break}a.g("PDP11js version 1.30.0 ("+a.b.Xc+",RELEASE"+(ub?",TYPEDARRAYS":",LONGARRAYS")+
")");a.g(window?window.navigator.userAgent:"");break;case "?":if(e[1]){Sf(a,b.substr(1));break}var Xc="commands:",Yc;for(Yc in sf)Xc+="\n"+ma(Yc,9)+sf[Yc];Bd(a)||(Xc+="\nnote: history disabled if no exec breakpoints");a.g(Xc);break;default:a.g("unknown command: "+b),d=!1}}}catch(De){a.g("debugger error: "+(De.stack||De.message)),d=!1}return d}function Dc(a,b,c){b=gf(a,b,c);for(var d in b)if(!Jf(a,b[+d]))return!1;return!0}
Ia(function(){for(var a=E(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new of(d);bb(d,c)}});
function Vf(a,b,c){y.call(this,"Computer",a,Vf,67108864);this.u.ja=!1;Wf(this,b);this.W=Ac(this,"autoPower",a);this.B=0;this.fa=a.busWidth||a.buswidth;this.f=Xf;this.K=null;this.F=this.da=!1;this.url=Ac(this,"url")||"";(Math.random()+.1).toString(36);this.j=Yf(this);if(this.b=ab("CPU",this.id)){this.G=ab("Debugger",this.id);this.I=new xb({id:this.vc+".bus",busWidth:this.fa},this.b,this.G);var d,f=$a(this.id);if((this.A=ab("Panel",this.id))&&this.A.jb)for(b=0;b<f.length;b++)d=f[b],d.ra=this.A.ra,d.g=
this.A.g,d.jb=this.A.jb;this.g("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.g("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ya&&d.Ya(this,this.I,this.b,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.H=d:this.f=parseInt(d,10));var e;if(a=Ac(this,"state")||(e=!0,a.state))b=this.$=a,e||(this.F=!0,this.f=Xf),this.f&&
(this.S=new N(this,"1.30.0"),Zf(this.S)?b=null:delete this.S);!b&&this.f&&(b=$f(this))&&(this.F=!0);if(b){var g=this;ra(b,null,!0,function(a,b,c){c?(g.H=null,g.F=!1,g.ra("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.K=b,g.da=!0);G(g)})}else G(this);this.M.power||(this.W=!0);!c&&this.W&&ag(this,this.Nb)}else x("Unable to find CPU component")}C(Vf);var Xf=0;
function Wf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.ea=b}function Ac(a,b,c){var d=b.toLowerCase(),d=Ta[b]||Ta[d];void 0===d&&a.ea&&(d=a.ea[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function ag(a,b,c){for(var d=$a(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!fb(e)){fb(e,function(){ag(a,b,c)});return}}b.call(a,c)}
function bg(a,b){var c=new N(a,"1.30.0","validate");if(Zf(c)&&cg(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.ra("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Vf.prototype;
l.Nb=function(a){void 0===a&&(a=this.f||(this.K?1:Xf));if(!this.B){this.B++;var b=!1,c=!1;this.ca=!1;var d=this.S||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>Xf){if(Zf(d,this.K)){this.C=new N(this,"1.30.0","failsafe");Zf(this.C)&&(dg(this,d),a=2,eg(this.C));this.C.set("timestamp",qa());fg(this.C);var f=this.f&&!this.F;if(1==a||sa("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=cg(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Zf(d,g):("error"==
e&&"no machine state"!=g?(this.ra("Error: "+g),"unable to verify user"==g&&(za("user",""),this.j=null)):this.g(e+": "+g),eg(d),Zf(d)?(c=cg(d),f=!0):c=!1))}f&&bg(this,c?d:null)}else 2==a&&d.clear()}else bg(this);delete this.K;delete this.S}f=$a(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(c=gg(this,g,d,b,c));b=[d,a,c];-1!=a?ag(this,this.xc,b):this.xc(b)}};
function gg(a,b,c,d,f){if(!b.u.ja){b.u.ja=!0;if(b.Qa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.Qa(e,d)&&e&&(x("Unable to restore state for "+b.type),a.$&&!a.da?(c.clear(),a.f=Xf,window&&window.location.reload()):a.ca=!0,b.Qa(null),f=!1)}if(!d&&b.sc)for(a=b.sc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
l.xc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ia=!0;this.u.ja=!0;var d=this.M.power;d&&(d.textContent="Shutdown");this.b&&(gg(this,this.b,b,c,a),this.b.Gb());this.ca&&(dg(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.B=0};
function dg(a,b){if(sa("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;ra("http://www.pcjs.org/api/v1/report",d,!0)}}
function Uf(a,b,c){var d,f="none";if(a.B)return null;a.B--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=qa();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Pa&&(c&&a.b.pa(),d=a.b.Pa(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.u.ja=!1,!1===d&&(f=null)));for(var h=$a(a.id),k=0;k<h.length;k++){var m=h[k];m.u.ja&&(m.Pa&&(d=m.Pa(b,c),"object"===typeof d&&e.set(m.id,
d)),c&&(m.u.ja=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.j&&hg(a,a.j,e.toString()),fg(g)&&fg(e)||(f=null,d=h=!0)):a.f&&(d=!0,h=3==a.f),d&&e.clear(h)):f=e.toString());c&&(a.u.ja=!1,b=a.M.power)&&(b.textContent="Power");a.B=0;return f}l.reset=function(){this.I&&this.I.reset&&(cb(this,"Resetting "+this.I.type),this.I.reset());for(var a=$a(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.I&&c.reset&&(cb(this,"Resetting "+c.type),c.reset())}};
l.start=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};l.stop=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
l.xa=function(a,b,c){var d=this;switch(b){case "power":return this.M[b]=c,c.onclick=function(){d.B||(d.u.ja?Uf(d,!1,!0):ag(d,d.Nb))},!0;case "reset":return this.M[b]=c,c.onclick=function(){if(d.u.ja&&!d.B)if(d.f&&!d.H){var a=sa("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Uf(d,a,!0);!a&&d.$?window&&window.location.reload():d.Nb(Xf)}else d.reset(),d.b&&d.b.Gb()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.M[b]=
c,c.onclick=function(){var a=Yf(d,!0);if(a){var b=!!(d.f&&!d.H||d.$),c=Uf(d,b);b?hg(d,a,c):d.ra("Resume disabled, machine state not saved")}},!0}return!1};
function Yf(a,b){var c=a.j;c||((c=wa("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=ig(a,c))||a.ra("The user ID is invalid.")):b&&a.ra("Browser local storage is not available"));return c}
function ig(a,b){a.j=null;b=ra(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&&(za("user",b.data),a.j=b.data)}catch(d){x(d.message+" ("+c+")")}return a.j}function $f(a){var b=null;a.j&&(b=fa()+"/api/v1/user?req=load&user="+a.j+"&state="+jg(a,"1.30.0"));return b}
function hg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=jg(a,"1.30.0");d.data=c;b=ra(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ra("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.ra(c),za("user",""),a.j=null)}}l.Ub=function(){};
l.Ha=function(a){this.b&&this.b.Ha(a);this.A&&this.A.Ha(a)};Ia(function(){for(var a=E(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=D(c),c=E(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=D(e),g=new Vf(g,d,!0);bb(g,e);g.W&&ag(g,g.Nb)}});Da.show.push(function(){for(var a=E(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=ab("Computer",c.id))&&c.ia&&!c.u.ja&&c.Nb(-1)}});
Da.exit.push(function(){for(var a=E(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=ab("Computer",c.id))&&c.u.ja&&Uf(c,!(!c.f||c.H),!0)}});function N(a,b,c){this.id=a.id;this.key=jg(a,b,c);this.G=a.G;eg(this,a.Sc)}function jg(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
N.prototype={constructor:N,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){eg(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
1);c=0}}};function eg(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function fg(a){var b=!0;if(va()){var c=JSON.stringify(a[a.id]);za(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function cg(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){x(c.message||c),b=!1}return b}function Zf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:va()&&(b=wa(a.key))?(a[a.id]=b,a.b=!0):!1}var kg=0;
function wg(a,b,c,d,f,e){f("Loading "+a+"...");ra(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):xg(h,a,b,c,d,f,e)})}
function xg(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Za(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){e=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?yg(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function yg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");ra(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);yg(a,b,c)}})}else c(a,null)}
function zg(a,b,c,d){function f(a){if(void 0===h){var b=g&&E(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function e(a){f("Error: "+a);k&&(--kg||Qa(!0));k=!1}var g,h,k=!0;kg++;Ya[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=m:q.appendChild(document.createTextNode(m));n.appendChild(q)}c||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?wg(c,null,null,!1,f,function(d,k){k?(Za(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--kg||Qa(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--kg||Qa(!0)):e("invalid machine element: "+
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?wg(b,a,d,!0,f,m):xg(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(p){e(p.message)}return k}window.embedPDP11=function(a,b,c,d){Qa(!1);return zg(a,b,c,d)};window.enableEvents=Qa;window.sendEvent=Ra;})();
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};l=nf.prototype;
l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.C=a;(a=Ac(a,"messages"))&&qf(this,a);this.Kb=tf;uf(this,function(a){a:{var b=d.I.O,c=a[0],f=a=0,k=b.length;if(c){a=d.ba(vf(d,c));if(-1===a){d.g("invalid address: "+c);break a}f=a>>>d.I.$;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.g("..."):(c=n.type,m=Gb[c],n&&d.g(p(n.id,8)+" %"+p(f<<d.I.$,8)+" %%"+p(n.A,8)+" "+p(n.Wb,
4,!0)+" "+p(n.size,4,!0)+" "+m),c!=mc&&(c=-1),m=0);a+=d.I.Fa;f++}}});F(this)};
l.xa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ua=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.B<d.u.length-1&&(b=d.u[++d.B])):40==a.keyCode&&(0<d.B?b=d.u[--d.B]:(b="",d.B=-1)),null!=b){var f=b.length;c.value=b;c.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.M[b]=c,Da(c,function(){if(d.ua){var a=d.ua.value;
d.ua.value="";Dc(d,a,!0);return!0}return!1}),!0;case "step":return this.M[b]=c,Da(c,function(a){var b=!1;eb(d,!0)||(db(d,!0),b=d.Bb(a?1:0),db(d,!1));return b}),!0}return!1};l.Vb=function(){this.ua&&this.ua.focus()};l.ba=function(a){a=a&&a.A;null==a&&(a=-1);return a};l.sb=function(a,b){var c=255,d=this.ba(a,!1,1);-1!==d&&(this.K++,c=this.I,c=c.O[(d&c.u)>>>c.$].Pb(d&c.f,d),this.K--,b&&wf(a,b));return c};
l.Ka=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(this.K++,c=Hb(this.I,d),this.K--,b&&wf(a,b));return c};l.Tb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){this.K++;var f=this.I;f.O[(d&f.u)>>>f.$].Db(d&f.f,b&255,d);this.K--;c&&wf(a,c);M(this.b,!0)}};l.pb=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){this.K++;var f=this.I,e=d&f.f,g=(d&f.u)>>>f.$;e!=f.f?f.O[g].rc(e,b&65535,d):(f.O[g++].Db(e,b&255,d),f.O[g&f.C].Db(0,b>>8&255,d+1));this.K--;c&&wf(a,c);M(this.b,!0)}};
function Z(a){return{A:a,Ja:!1}}function xf(a){return[a.A,a.Ja]}function yf(a){return{A:a[0],Ja:a[1]}}function vf(a,b,c){var d;c=(c?a.U:a.qb).A;if(void 0!==b){d=b=jf(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var e=a.G[c].Ma[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;c=hf(a,b,void 0)}null!=c&&(d=Z(c));return d}function zf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Mc=ff(a,b.Hc=c[2]))}function wf(a,b){null!=a.A&&(a.A+=b||1)}
function qf(a,b){a.i=a;a.ka=a.Nc=536870912;a.Aa=null;a.Ca=[];a.K=0;b=ff(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in G){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var f=b.length;d<f;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ka|=G[c],a.g(c+" messages enabled"))}}function uf(a,b){for(var c in G)if(64==G[c]){a.La[c]=b;break}}
l.Ac=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function Af(a){return 6>a?"R"+a:6==a?"SP":"PC"}l.Bc=function(a){var b;0<=a&&(8>a?b=this.b.j[a]:16>a?b=this.b.Ra[a-8]:20>a?b=this.b.Ba[a-16]:20==a&&(b=Qb(this.b)));return b};
l.message=function(a,b){this.K||(b&&(a+=" at "+I(this,Z(this.b.j[7]).A)),this.ka&1073741824?this.Ca.push(a):this.Aa&&a==this.Aa||(this.Aa=a,this.ka&-2147483648&&(this.pa(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,dd(a),a.la=0,M(a))))};
function pf(a){var b;if(Ad(a)){if(!a.S||!a.S.length){a.S=Array(1E3);for(b=0;b<a.S.length;b++)a.S[b]=Z();a.qa=0;a.g("instruction history buffer allocated")}if(!a.ma||!a.ma.length)for(a.ma=Array(256),b=0;b<a.ma.length;b++)a.ma[b]=[b,0]}else a.S&&a.S.length&&a.g("instruction history buffer freed"),a.qa=0,a.S=[],a.ma=[]}l.Ab=function(a){if(!Bf(this))return!1;this.b.Ab(a);return!0};
l.Bb=function(a,b,c){if(!Bf(this))return!1;this.H=0;a||Ad(this)&&Bd(this,this.b.j[7],0);try{a=bd(this.b,a);var d=this.b.Bb(a);0<d&&(cd(this.b,a),this.H+=d,$c(this.b,d,!0),Ec(this.b,d),this.ca++)}catch(f){"number"!=typeof f&&(this.H=0,tb(this.b,f.stack||f.message))}!1!==c&&M(this.b);this.Ia(b||!1);return 0<this.H};l.pa=function(a){this.b&&this.b.pa(a)};l.Ia=function(a){void 0===a&&(a=!0);this.U=Z(this.b.j[7]);a&&1!=this.ia?Cf(this):Df(this)};
function Bf(a){var b;if(b=a.b&&fb(a.b))b=a.b,b.w.ja?b=!0:(b.g(b.toString()+" not powered"),b=!1);return b&&!a.b.w.ha?!sb(a.b):!1}l.Qa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Pa=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){pf(this);this.ca=this.Da=0;this.Aa=null;this.H=0;this.U=Z(this.b.j[7]);this.w.ha=!1;Ef(this);a||this.Ia()};
l.save=function(){var a=new N(this);a.set(0,xf(this.U));a.set(1,xf(this.da));a.set(2,[this.u,this.ea,this.ka]);a.set(3,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.U=yf(a[b++]),this.da=yf(a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.ea=a[b][1],this.ka|=a[b][2]);a[3]&&(this.G=a[3]);return!0};l.start=function(a,b){this.ia||this.g("running");this.w.ha=!0;this.Xb=a;this.Zb=b};
l.stop=function(a,b){if(this.w.ha){this.w.ha=!1;this.H=b-this.Zb;if(!this.ia){b="stopped";if(this.H){a-=this.Xb;var c=0<a?Math.round(1E3*this.H/a):0;b+=" (";Ad(this)&&(b+=this.ca+" opcodes, ",this.Da-=this.ca,this.ca=0);b+=this.H+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.Ia(!0);this.Vb();Ef(this,this.b.j[7])}};function Ad(a){return 1<a.f.length||!!a.za}
function Bd(a,b,c){var d=a.b;if(0<c&&(a.za&&!--a.za||vc(a,b,1,a.f)))return!0;0<=c&&a.ma.length&&(a.ca++,a.K++,b=Hb(a.I,b),a.K--,null!=b&&(b=a.S[a.qa],b.A=d.j[7],b.Ja=!1,++a.qa==a.S.length&&(a.qa=0)));return!1}function of(a){var b,c;a.f=["bp"];if(a.Y)for(b=1;b<a.Y.length;b++){c=a.Y[b];var d=a.I;c=a.ba(c);wc(d.O[c>>>d.$],!1)}a.Y=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.I,c=a.ba(c),wc(d.O[c>>>d.$],!0);a.D=["bw"];a.Eb=0}
l.jb=function(a,b,c){var d=!0;c||Ff(this,a,b,!1,!0);if(a!=this.f){var f=this.ba(b);if(-1===f)this.g("invalid address: "+I(this,b.A)),d=!1;else{var e=this.I;e.O[f>>>e.$].jb(f&e.f,a==this.D)}}d&&(a.push(b),c?b.Ja=!0:(Gf(this,a,a.length-1,"set"),pf(this)));return d};function Ff(a,b,c,d,f){var e=!1;c=a.ba(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.ba(h)&&(!d||h.Ja)){e=!0;h.Ja||f||Gf(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.I,wc(d.O[c>>>d.$],b==a.D));h.Ja||pf(a);break}}return e}
function Hf(a,b){for(var c=1;c<b.length;c++)Gf(a,b,c);return b.length-1}function Gf(a,b,c,d){c=b[c];a.g(b[0]+" "+I(a,c.A)+(d?" "+d:c.Hc?' "'+c.Hc+'"':""))}function Ef(a,b){if(void 0!==b)vc(a,b,1,a.f,!0),a.ia=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.Ja){if(!Ff(a,a.f,c,!0))break;b=0}}}
function vc(a,b,c,d,f){var e=!1;if(!a.Eb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ja)for(var k=a.ba(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Ja&&(Ff(a,d,h,!0),f=!0);if(n=h.Mc){for(var e=!1,r=0;r<n.length;r++)if(!If(a,n[r],!0)){if(n[r].indexOf("if")){e=!0;break}for(var q=r+1;q<n.length&&n[q].indexOf("else");q++)r++;if(q==n.length){e=!0;break}}a.b.w.ha||(e=!0)}if(e){f||Gf(a,d,g,"hit");break}}}a.Eb--;return e}
function Jf(a,b,c,d){var f=Z(b.A),e=a.Ka(b,2),g,h;for(h in a.Kb)if(g=a.Kb[h][e&h])break;g||(g=[0]);for(var k=h="",m=sf[g[0]],n=g.length-1,r=1;r<=n;r++){var q=g[r];if(void 0!==q){var v;v=a;var w=q,q=b,z="",u=w&61440;if(4096==u)q=q.A+((e&255)<<24>>23)&65535,z=I(v,q);else if(8192==u)q=q.A-((e&63)<<1)&65535,z=I(v,q);else if(12288==u)z=I(v,e&7,1);else if(24576==u)z=I(v,e&63,1);else if(u=e&w,w&4032&&(u>>=6,w>>=6),w&63)switch(w=u&7,u&56){case 0:z=Af(w);break;case 8:z="@"+Af(w);break;case 16:7>w?z="("+Af(w)+
")+":(u=v.Ka(q,2),z="#"+I(v,u,0,!0));break;case 24:7>w?z="@("+Af(w)+")+":(u=v.Ka(q,2),z="@#"+I(v,u,0,!0));break;case 32:z="-("+Af(w)+")";break;case 40:z="@-("+Af(w)+")";break;case 48:u=v.Ka(q,2);z=I(v,u,0,!0)+"("+Af(w)+")";7==w&&(z=[z,I(v,u+q.A&65535)]);break;case 56:u=v.Ka(q,2),z="@"+I(v,u)+"("+Af(w)+")",7==w&&(z=[z,I(v,u+q.A&65535)])}v=z;if(!v||!v.length){h="INVALID";break}"string"!=typeof v&&(k=v[1],v=v[0]);0<h.length&&(h+=",");h+=v||"???"}}e="";g=I(a,f.A)+":";if(-1!==f.A&&-1!==b.A){do if(e+=" "+
I(a,a.Ka(f,2)),null==f.A)break;while(f.A!=b.A)}g+=na(e,24);g+=na(m,5);h&&(g+=" "+h);if(c||k)g=na(g,60)+";"+(c||""),g=a.b.w.rb?g+("cycles="+Fc(a.b).toString()+" cs="+p(a.b.Mb)):g+(null!=d?"="+d.toString():""),k&&(g+=" @"+k);return g}function Kf(a,b){switch(b){case "N":a=a.b.Oa();break;case "Z":a=id(a.b);break;case "V":a=hd(a.b);break;case "C":a=O(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Lf(a,b){var c="",d=a.b;8>b?(c=Af(b),c+="="+I(a,d.j[b])):13>b?c="A"+(b-8)+"="+I(a,d.Ra[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+I(a,d.Ba[b-16]):20==b&&(c="PS="+I(a,Qb(d)));c&&(c+=" ");return c}function Mf(a){var b,c="";for(b=0;6>b;b++)c+=Lf(a,b);c=c+"\n"+(Lf(a,6)+Lf(a,7)+Lf(a,20));return c+=Kf(a,"T")+Kf(a,"N")+Kf(a,"Z")+Kf(a,"V")+Kf(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Nf(a,b,c){var d=[],f=a.ba(b)>>>0;for(b=0;b<a.G.length;b++){var e=a.G[b],g=e.A>>>0,h=e.Uc;if(f>=g&&f<g+h){f=pa(e.sc,[f-g],a.vc);0<=f?Of(a,b,f,d):c&&(f=~f,Of(a,b,f-1,d),Of(a,b,f,d));break}}return d}function Of(a,b,c,d){var f={},e=a.G[b].sc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.G[b].Ma[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
function Pf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return mf(a)||a.g("no variables"),!0;if(!c[2])return mf(a,c[1]);if(!c[3])return delete a.la[c[1]],!0;b=hf(a,c[3]);return void 0!==b?(a.la[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
function Qf(a,b,c){var d=null;if(b=vf(a,b,!0)){a.ba(b);var f=Nf(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.A-f[1])&&(g=" + "+p(e,4,!0)),e=f[0]+" ("+I(a,f[1])+")"+g,c&&a.g(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.A)&&(g=" - "+p(e,4,!0)),e=f[4]+" ("+I(a,f[5])+")"+g,c&&a.g(e),d||(d=e))}else c&&a.g("no symbols")}return d}
function Cf(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 f=b[1],e=f.indexOf("=");if(0<e)b=f.substr(e+1),f=f.substr(0,e);else if(2<b.length)b=b[2];else{a.g("missing value for "+b[1]);return}e=hf(a,b);if(void 0===e)return;b=f.toUpperCase();switch(b){case "SP":case "R6":d.j[6]=e&65535;break;case "PC":case "R7":ld(d,e);a.U=Z(d.j[7]);break;case "N":d.X=e?32768:0;break;
case "Z":d.Z=e?0:1;break;case "V":d.W=e?32768:0;break;case "C":d.V=e?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.j[b]=e&65535;break}a.g("unknown register: "+f);return}M(d);a.g("updated registers:")}a.g(Mf(a));c&&(a.U=Z(d.j[7]),Df(a,I(a,a.U.A)))}}function Rf(a,b){b=oa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(c[2]):hf(a,b,!0)}
function Sf(a,b,c){var d="t"!=b;c=kf(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return db(a,!0)&&a.Bb(f,d,!1)},function(){M(a.b);db(a,!1)})}
function Df(a,b,c,d){if(b=vf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=vf(a,c,!0);if(!d||d.A<b.A)return;f=d.A-b.A;if(256<f){a.g("range too large");return}d=-1}c=0;for(var e;0<f&&d--;){e=eb(a,!1)||a.ia?a.H:null;var g=null!=e?"cycles":null,h=Nf(a,b),k=b.A;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],e=null);e=Jf(a,b,g,e);a.g(e);a.U=b;f-=b.A-k;c++}}}
function If(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ea&&(a.g("ended assemble at "+I(a,a.da.A)),a.U=a.da,a.ea=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Aa=null;if(fb(a)&&0<b.length){a.ea&&(b="a "+I(a,a.da.A)+" "+b);var e=b.replace(/ +/g," ").split(" ");if(e&&e.length)for(var g=e[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){e[0]=g.substr(k);e.unshift(g.substr(0,k));break}}switch(e[0].charAt(0)){case "a":var n=vf(a,e[1],!0);
if(n)if(a.da=n,void 0===e[2])a.g("begin assemble at "+I(a,n.A)),a.ea=!0,M(a.b);else{var r;a.g("not supported yet");r=[];if(r.length){for(var q=0;q<r.length;q++)a.Tb(n,r[q],1);a.g(Jf(a,a.da))}}break;case "b":a:{var v=e[0],w=e[1],z=b;if("?"==w)a.g("breakpoint commands:"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");
else{var u=v.charAt(1);if("l"==u){var Gc;Gc=0+Hf(a,a.f);Gc+=Hf(a,a.Y);(Gc+=Hf(a,a.D))||a.g("no breakpoints")}else if("n"==u)a.za=kf(a,w),a.g("break after "+a.za+" instruction(s)");else if(void 0===w)a.g("missing breakpoint address");else{var R=Z();if("*"!=w&&(R=vf(a,w,!0),!R))break a;"c"==u?null==R.A?(of(a),a.g("all breakpoints cleared")):Ff(a,a.f,R)||Ff(a,a.Y,R)||Ff(a,a.D,R)||a.g("breakpoint missing: "+I(a,R.A)):null!=R.A&&(zf(a,R,z),"p"==u?a.jb(a.f,R):"r"==u?a.jb(a.Y,R):"w"==u?a.jb(a.D,R):a.g("unknown breakpoint command: "+
u))}}}break;case "c":a.kb&&(a.kb.value="");break;case "d":a:{var Ia,Ja=e[0],fa=e[1],va=e[2],kg=e[3];if("?"==fa){var Ka="";for(Ia in G)a.La[Ia]&&(Ka&&(Ka+=","),Ka+=Ia);Ka+=",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");Ka.length&&a.g("dump extension commands:\n\t"+Ka)}else if("state"==fa){var je=Tf(a.C,
!0);"console"==va?console.log(je):(a.kb&&(a.kb.value=""),a.g(je))}else if("symbols"==fa)for(var Hc=0;Hc<a.G.length;Hc++){var Ic=a.G[Hc],La;for(La in Ic.Ma)if("."!=La.charAt(0)){var ke=Ic.Ma[La].o;if(void 0!==ke){var le=Ic.Ma[La].l;le&&(La=le);a.g(I(a,ke)+" "+La)}}}else{if("d"==Ja){for(Ia in G)if(e[1]==Ia){var me=a.La[Ia];me?(e.shift(),e.shift(),me(e)):a.g("no dump registered for "+fa);break a}fa||(Ja=a.jc||"db")}else a.jc=Ja;if("dh"==Ja){var ne=fa,oe=va,pe="",qe=0,aa=a.qa,ga=a.S;if(ga.length){var W=
+ne||a.Hb,gb=+oe||10;isNaN(W)?W=gb:pe="more ";W>ga.length&&(a.g("note: only "+ga.length+" available"),W=ga.length);aa-=W;0>aa&&(null==ga[ga.length-1].A?(W=aa+W,aa=0):aa+=ga.length);var Jc=[];"call"==oe&&(gb=1E5,Jc=["CALL"]);for(void 0!==ne&&a.g(W+" instructions earlier:");0<gb&&aa!=a.qa;){var re=ga[aa++];if(null==re.A)break;var hb=Z(re.A),lg=W--,se=Jf(a,hb,"history",lg);(!Jc.length||0<=se.indexOf(Jc[0]))&&a.g(se);hb.hc&&(aa+=hb.hc,gb-=hb.hc,W-=hb.hc);aa>=ga.length&&(aa=0);a.Hb=W;qe++;gb--}}qe||(a.g("no "+
pe+"history available"),a.Hb=void 0)}else{var Sb=vf(a,fa);if(Sb){var Tb=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||kg),Tb=kf(a,va)>>>0,65536<Tb&&(Tb=65536));for(var ib="",Ma="dd"==Ja?4:"dw"==Ja?2:1,Ub=Ma*Tb||128,mg=Ub+15>>4||1;mg--&&0<Ub;){var jb=0,Kc=0,kb,Lc="",te="",fa=I(a,Sb.A);for(kb=4==Ma?16:a.fa;0<kb&&0<Ub;kb--){var Vb=a.sb(Sb,1),jb=jb|Vb<<(Kc++<<3);Kc==Ma&&(Lc+=8==a.fa?ca(jb,3*Ma):p(jb,2*Ma),Lc+=1==Ma?9==kb?"-":" ":" ",jb=Kc=0);te+=32<=Vb&&128>Vb?String.fromCharCode(Vb):".";Ub--}ib&&(ib+=
"\n");ib+=fa+" "+Lc+(0==kb?" "+te:"")}ib&&a.g(ib);a.qb=Sb}}}}break;case "e":if("else"==e[0])break;var Na,Mc,Nc,Oc,Pc=e[0],Qc=e[1];"eb"==Pc?(Na=1,Mc=255,Nc=a.sb,Oc=a.Tb):"e"==Pc||"ew"==Pc?(Na=2,Mc=65535,Nc=a.Ka,Oc=a.pb):Qc=null;if(null==Qc)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 Wb=vf(a,Qc);if(Wb)for(var Xb=2;Xb<e.length;Xb++){var lb=hf(a,e[Xb]);if(void 0===lb){a.g("unrecognized value: "+e[Xb]);break}lb&~Mc&&
a.g("warning: "+p(lb)+" exceeds "+Na+"-byte value");var ng=Nc.call(a,Wb);a.g("changing "+I(a,Wb.A)+" from "+I(a,ng,Na)+" to "+I(a,lb,Na));Oc.call(a,Wb,lb,Na)}}break;case "g":a:{var ue=e[1],og=b;if(void 0!==ue){var Rc=vf(a,ue,!0);if(!Rc)break a;zf(a,Rc,og);a.jb(a.f,Rc,!0)}a.Ab(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a.w.ha?(c||a.g("halting"),a.pa()):eb(a,!0)||c||a.g("already halted");break;case "i":if("if"==e[0]){var Sc;var mb=b.substr(2),mb=oa(mb);hf(a,mb)?(c||a.g("true: "+
mb),Sc=!0):(c||a.g("false: "+mb),Sc=!1);Sc||(d=!1)}break;case "k":var pg=e[0];if("?"==e[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Tc=0,ve=Z(),nb=Z(a.b.j[6]);for(a.g("stack trace for "+I(a,nb.A));10>Tc;){for(var wa=null,qg=256;65536>nb.A>>>0;){ve.A=a.Ka(nb,2);if(null==nb.A||!qg--)break;for(var rg=a,Yb=ve,we=null,ob=Yb.A,xe=ob,Uc=1;6>=Uc&&ob;Uc++){if(2<Uc){Yb.A=ob;var Zb=Jf(rg,Yb);if(0<=Zb.indexOf("JSR")){var ye=Zb.indexOf(" ");if(ob+
(Zb.indexOf(" ",ye+1)-ye-1)/2==xe){we=Zb;break}}}ob--}Yb.A=xe;if(wa=we)break}if(!wa||null==wa)break;var ze=null;if("ks"==pg){var Ae=wa.match(/[0-9A-F]+$/);Ae&&(ze=Qf(a,Ae[0]))}wa=na(wa,50)+" ;"+(ze||"stack="+I(a,nb.A));a.g(wa);Tc++}Tc||a.g("no return addresses found")}break;case "l":"ln"==e[0]&&Qf(a,e[1],!0);break;case "m":a:{var ha,ia=null,B=e[1];"?"==B&&(B=void 0);if(void 0!==B){var sa=0;if("all"==B)sa=1878917119,B=null;else if("on"==B)ia=!0,B=null;else if("off"==B)ia=!1,B=null;else{"keys"==B&&
(B="key");"kbd"==B&&(B="keyboard");for(ha in G)if(B==ha){sa=G[ha];ia=!!(a.ka&sa);break}if(!sa){a.g("unknown message category: "+B);break a}}if(sa)if("on"==e[2])a.ka|=sa,ia=!0;else if("off"==e[2]&&(a.ka&=~sa,ia=!1,1073741824==sa)){for(var Vc=0;Vc<a.Ca.length;Vc++)a.g(a.Ca[Vc]);a.Ca=[]}}var sg=0,pb="";for(ha in G)if(!B||B==ha){var tg=!!(a.ka&G[ha]);if(null===ia||ia==tg)pb&&(pb+=","),++sg%10||(pb+="\n\t"),"key"==ha&&(ha="keys"),pb+=ha}void 0===B&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.g((null!==ia?ia?"messages on: ":"messages off: ":"message categories:\n\t")+(pb||"none"));pf(a)}break;case "p":if("print"==e[0]){Rf(a,b.substr(5));break}var ug="pr"==e[0]?1:0;if(a.ia)a.g("step in progress");else{var Be=Z(a.b.j[7]);a.sb(Be);a.ia?(a.jb(a.f,Be,!0),a.Ab()||(a.C&&a.C.Vb(),a.ia=0)):Sf(a,ug?"tr":"t")}break;case "r":if("reset"==b){a.C&&a.C.reset();break}Cf(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var qb=+e[2];if(8==qb||10==qb||16==qb)a.fa=qb;else{a.g("invalid base: "+qb);
break}}a.g("default base: "+a.fa);break;case "cs":var rb;void 0!==e[3]&&(rb=+e[3]);switch(e[2]){case "int":a.b.ub=rb;break;case "start":a.b.Nb=rb;break;case "stop":a.b.vb=rb;break;default:a.g("unknown cs option");break a}void 0!==rb&&Cc(a.b);a.g("checksums "+(a.b.w.rb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Zc(a.b,+e[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.mb.toFixed(2)+"Mhz")+" ("+a.b.ab+"x)");break;case "?":a.g("debugger options:");
a.g("\tbase #\t\tset default base to #");a.g("\tcs int #\tset checksum cycle interval to #");a.g("\tcs start #\tset checksum cycle start count to #");a.g("\tcs stop #\tset checksum cycle stop count to #");a.g("\tsp #\t\tset speed multiplier to #");break;default:e[1]&&a.g("unknown option: "+e[1])}break;case "t":Sf(a,e[0],e[1]);break;case "u":Df(a,e[1],e[2],8);break;case "v":if("var"==e[0]){Pf(a,b.substr(3))||(d=!1);break}a.g("PDP11js version 1.30.0 ("+a.b.Xc+",RELEASE"+(ub?",TYPEDARRAYS":",LONGARRAYS")+
")");a.g(window?window.navigator.userAgent:"");break;case "?":if(e[1]){Rf(a,b.substr(1));break}var Wc="commands:",Xc;for(Xc in rf)Wc+="\n"+na(Xc,9)+rf[Xc];Ad(a)||(Wc+="\nnote: history disabled if no exec breakpoints");a.g(Wc);break;default:a.g("unknown command: "+b),d=!1}}}catch(Ce){a.g("debugger error: "+(Ce.stack||Ce.message)),d=!1}return d}function Dc(a,b,c){b=ff(a,b,c);for(var d in b)if(!If(a,b[+d]))return!1;return!0}
Pa(function(){for(var a=D(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new nf(d);cb(d,c)}});
function Uf(a,b,c){x.call(this,"Computer",a,Uf,67108864);this.w.ja=!1;Vf(this,b);this.U=Ac(this,"autoPower",a);this.C=0;this.fa=a.busWidth||a.buswidth;this.f=Wf;this.K=null;this.G=this.da=!1;this.url=Ac(this,"url")||"";(Math.random()+.1).toString(36);this.u=Xf(this);if(this.b=bb("CPU",this.id)){this.i=bb("Debugger",this.id);this.I=new xb({id:this.wc+".bus",busWidth:this.fa},this.b,this.i);var d,f=ab(this.id);if((this.B=bb("Panel",this.id))&&this.B.kb)for(b=0;b<f.length;b++)d=f[b],d.sa=this.B.sa,d.g=
this.B.g,d.kb=this.B.kb;this.g("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.g("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ya&&d.Ya(this,this.I,this.b,this.i);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.H=d:this.f=parseInt(d,10));var e;if(a=Ac(this,"state")||(e=!0,a.state))b=this.Y=a,e||(this.G=!0,this.f=Wf),this.f&&
(this.S=new N(this,"1.30.0"),Yf(this.S)?b=null:delete this.S);!b&&this.f&&(b=Zf(this))&&(this.G=!0);if(b){var g=this;ta(b,null,!0,function(a,b,c){c?(g.H=null,g.G=!1,g.sa("Unable to load machine state from server (error "+c+(b?": "+oa(b):"")+")")):(g.K=b,g.da=!0);F(g)})}else F(this);this.M.power||(this.U=!0);!c&&this.U&&$f(this,this.Ob)}else t("Unable to find CPU component")}A(Uf);var Wf=0;
function Vf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.ea=b}function Ac(a,b,c){var d=b.toLowerCase(),d=Ua[b]||Ua[d];void 0===d&&a.ea&&(d=a.ea[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function $f(a,b,c){for(var d=ab(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!fb(e)){fb(e,function(){$f(a,b,c)});return}}b.call(a,c)}
function ag(a,b){var c=new N(a,"1.30.0","validate");if(Yf(c)&&bg(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.sa("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Uf.prototype;
l.Ob=function(a){void 0===a&&(a=this.f||(this.K?1:Wf));if(!this.C){this.C++;var b=!1,c=!1;this.ca=!1;var d=this.S||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>Wf){if(Yf(d,this.K)){this.D=new N(this,"1.30.0","failsafe");Yf(this.D)&&(cg(this,d),a=2,dg(this.D));this.D.set("timestamp",ra());eg(this.D);var f=this.f&&!this.G;if(1==a||ua("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=bg(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Yf(d,g):("error"==
e&&"no machine state"!=g?(this.sa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.u=null)):this.g(e+": "+g),dg(d),Yf(d)?(c=bg(d),f=!0):c=!1))}f&&ag(this,c?d:null)}else 2==a&&d.clear()}else ag(this);delete this.K;delete this.S}f=ab(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(c=fg(this,g,d,b,c));b=[d,a,c];-1!=a?$f(this,this.yc,b):this.yc(b)}};
function fg(a,b,c,d,f){if(!b.w.ja){b.w.ja=!0;if(b.Qa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.Qa(e,d)&&e&&(t("Unable to restore state for "+b.type),a.Y&&!a.da?(c.clear(),a.f=Wf,window&&window.location.reload()):a.ca=!0,b.Qa(null),f=!1)}if(!d&&b.tc)for(a=b.tc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
l.yc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ia=!0;this.w.ja=!0;var d=this.M.power;d&&(d.textContent="Shutdown");this.b&&(fg(this,this.b,b,c,a),this.b.Gb());this.ca&&(cg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.C=0};
function cg(a,b){if(ua("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.u||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;ta("http://www.pcjs.org/api/v1/report",d,!0)}}
function Tf(a,b,c){var d,f="none";if(a.C)return null;a.C--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=ra();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Pa&&(c&&a.b.pa(),d=a.b.Pa(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.w.ja=!1,!1===d&&(f=null)));for(var h=ab(a.id),k=0;k<h.length;k++){var m=h[k];m.w.ja&&(m.Pa&&(d=m.Pa(b,c),"object"===typeof d&&e.set(m.id,
d)),c&&(m.w.ja=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.u&&gg(a,a.u,e.toString()),eg(g)&&eg(e)||(f=null,d=h=!0)):a.f&&(d=!0,h=3==a.f),d&&e.clear(h)):f=e.toString());c&&(a.w.ja=!1,b=a.M.power)&&(b.textContent="Power");a.C=0;return f}
l.reset=function(){this.I&&this.I.reset&&(this.i&&E(this,0)&&this.i.message("Resetting "+this.I.type,void 0),this.I.reset());for(var a=ab(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.I&&c.reset&&(this.i&&E(this,0)&&this.i.message("Resetting "+c.type,void 0),c.reset())}};l.start=function(a,b){for(var c=ab(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
l.stop=function(a,b){for(var c=ab(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
l.xa=function(a,b,c){var d=this;switch(b){case "power":return this.M[b]=c,c.onclick=function(){d.C||(d.w.ja?Tf(d,!1,!0):$f(d,d.Ob))},!0;case "reset":return this.M[b]=c,c.onclick=function(){if(d.w.ja&&!d.C)if(d.f&&!d.H){var a=ua("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Tf(d,a,!0);!a&&d.Y?window&&window.location.reload():d.Ob(Wf)}else d.reset(),d.b&&d.b.Gb()},!0;case "save":if(ja())c.parentNode.removeChild(c);else return this.M[b]=
c,c.onclick=function(){var a=Xf(d,!0);if(a){var b=!!(d.f&&!d.H||d.Y),c=Tf(d,b);b?gg(d,a,c):d.sa("Resume disabled, machine state not saved")}},!0}return!1};
function Xf(a,b){var c=a.u;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=hg(a,c))||a.sa("The user ID is invalid.")):b&&a.sa("Browser local storage is not available"));return c}
function hg(a,b){a.u=null;b=ta(ka()+"/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.u=b.data)}catch(d){t(d.message+" ("+c+")")}return a.u}function Zf(a){var b=null;a.u&&(b=ka()+"/api/v1/user?req=load&user="+a.u+"&state="+ig(a,"1.30.0"));return b}
function gg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ig(a,"1.30.0");d.data=c;b=ta(ka()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.sa("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.sa(c),Aa("user",""),a.u=null)}}l.Vb=function(){};
l.Ia=function(a){this.b&&this.b.Ia(a);this.B&&this.B.Ia(a)};Pa(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=D(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=C(e),g=new Uf(g,d,!0);cb(g,e);g.U&&$f(g,g.Ob)}});Ea.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=bb("Computer",c.id))&&c.ia&&!c.w.ja&&c.Ob(-1)}});
Ea.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=bb("Computer",c.id))&&c.w.ja&&Tf(c,!(!c.f||c.H),!0)}});function N(a,b,c){this.id=a.id;this.key=ig(a,b,c);this.i=a.i;dg(this,a.Tc)}function ig(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
N.prototype={constructor:N,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){dg(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
1);c=0}}};function dg(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function eg(a){var b=!0;if(ya()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function bg(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Yf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ya()&&(b=za(a.key))?(a[a.id]=b,a.b=!0):!1}var jg=0;
function vg(a,b,c,d,f,e){f("Loading "+a+"...");ta(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):wg(h,a,b,c,d,f,e)})}
function wg(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&($a(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){e=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?xg(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function xg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");ta(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);xg(a,b,c)}})}else c(a,null)}
function yg(a,b,c,d){function f(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ma(a))}function e(a){f("Error: "+a);k&&(--jg||Ra(!0));k=!1}var g,h,k=!0;jg++;Za[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],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/pdp11/1.30.0/components.xsl");m=function(d,h){h?vg(c,null,null,!1,f,function(d,k){k?($a(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--jg||Ra(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--jg||Ra(!0)):e("invalid machine element: "+
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?vg(b,a,d,!0,f,m):wg(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(q){e(q.message)}return k}window.embedPDP11=function(a,b,c,d){Ra(!1);return yg(a,b,c,d)};window.enableEvents=Ra;window.sendEvent=Sa;})();

View file

@ -1,153 +1,151 @@
(function(){var l;
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==
f&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function ba(a,b){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function n(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}
function ca(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function da(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ea(){var a=fa();return-1!==a.indexOf("pcjs.org",a.length-8)}var ga={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}var ia=Date.now||function(){return+new Date};
function ja(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
f&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function n(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}
function da(){var a=ea();return-1!==a.indexOf("pcjs.org",a.length-8)}var fa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}var ha=Date.now||function(){return+new Date};function ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function p(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function fa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function r(a){window&&window.alert(a)}function ka(a){var b=!1;window&&(b=window.confirm(a));return b}var la=null;function ma(){if(null==la){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}la=a}return la}function na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},qa=!1,ra=!1,sa=!0;function ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){t.init.push(a)}
function ua(a){if(sa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function va(a){!sa&&a?(sa=!0,qa&&wa("init"),ra&&wa("show")):sa=a}function wa(a){t[a]&&ua(t[a])}ta("onload",function(){qa=!0;ua(t.init)});ta("onpageshow",function(){ra=!0;ua(t.show)});ta(pa("Opera")||pa("iOS")?"onunload":"onbeforeunload",function(){ua(t.exit)});
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Mb=b.comment;this.fc=b;b=this.id.indexOf(".");0>b?this.xb=this.id:(this.Nb=this.id.substr(0,b),this.xb=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Jc:!1,Kc:!1,O:!1,error:!1};this.ob=null;this.h.error=!1;this.C={};this.L=null;x.push(this)}var xa=void 0,ya={};
if(window){xa||(xa=window.location.search.substr(1));for(var za,Aa=/\+/g,Ba=/([^&=]+)=?([^&]*)/g;za=Ba.exec(xa);)ya[decodeURIComponent(za[1].replace(Aa," "))]=decodeURIComponent(za[2].replace(Aa," "))}function Ca(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function y(a,b){b||(b=v);a.prototype=Ca(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Da=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},x=[];function Ea(a,b,c){Da[a]&&b&&(Da[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function Fa(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function r(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},pa=!1,qa=!1,ra=!0;function sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){t.init.push(a)}
function ta(a){if(ra)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ua(a){!ra&&a?(ra=!0,pa&&va("init"),qa&&va("show")):ra=a}function va(a){t[a]&&ta(t[a])}sa("onload",function(){pa=!0;ta(t.init)});sa("onpageshow",function(){qa=!0;ta(t.show)});sa(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){ta(t.exit)});
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Mb=b.comment;this.fc=b;b=this.id.indexOf(".");0>b?this.xb=this.id:(this.Nb=this.id.substr(0,b),this.xb=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Jc:!1,Kc:!1,N:!1,error:!1};this.ob=null;this.h.error=!1;this.C={};this.L=null;x.push(this)}var wa=void 0,xa={};
if(window){wa||(wa=window.location.search.substr(1));for(var ya,za=/\+/g,Aa=/([^&=]+)=?([^&]*)/g;ya=Aa.exec(wa);)xa[decodeURIComponent(ya[1].replace(za," "))]=decodeURIComponent(ya[2].replace(za," "))}function Ba(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function y(a,b){b||(b=v);a.prototype=Ba(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ca=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Ca={},x=[];function Da(a,b,c){Ca[a]&&b&&(Ca[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function Ea(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function B(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=A(e))&&g.binding&&a.da(g.type,g.binding,e,g.value),k=h.length}}}}
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},da:function(a,b,c){switch(b){case "clear":return this.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Ab=this.C[b]=c,c.value="",this.M=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.M(a,this.xb)}),!0;default:return!1}},log:function(){},M:function(){},status:function(a){this.M(this.xb+": "+a)},N:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},ya:function(){return this.h.O=!0},xa:function(a,b){b&&(this.h.O=!1);return!0}};function E(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.ob;a.ob=null;b&&b()}}function Ga(a,b){b&&(a.h.ready?b():a.ob=b);return a.h.ready}
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},da:function(a,b,c){switch(b){case "clear":return this.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Ab=this.C[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),
this.M=function(a){this.V(a,this.xb)}),!0;default:return!1}},log:function(){},V:function(){},status:function(a){this.V(this.xb+": "+a)},M:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},ya:function(){return this.h.N=!0},xa:function(a,b){b&&(this.h.N=!1);return!0}};function E(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.ob;a.ob=null;b&&b()}}function Fa(a,b){b&&(a.h.ready?b():a.ob=b);return a.h.ready}
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});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return f.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),f=this;c.prototype=this.prototype;b.prototype=new c;return b});var Ha="undefined"!==typeof ArrayBuffer;function Ia(a){v.call(this,"Panel",a,Ia)}y(Ia);l=Ia.prototype;
l.da=function(a,b,c,d){return this.H&&this.H.da(a,b,c,d)||this.a&&this.a.da(a,b,c,d)?!0:this.parent.da.call(this,a,b,c,d)};l.La=function(a,b,c,d){this.H=a;this.D=b;this.a=c;this.L=d};l.ya=function(a,b){b||Ja();return!0};l.xa=function(){return!0};l.Ta=function(){};function Ja(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=A(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<x.length;g++)if(x[g].id===e){e=x[g];break a}}e=null}e||(a=!0,e=new Ia(f));B(e,d);a&&E(e)}}u(Ja);
function F(a,b,c){v.call(this,"Bus",a,F);this.a=b;this.L=c;this.w=a.busWidth||16;this.s=Math.pow(2,this.w);this.l=this.s-1|0;this.f=(this.w>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.g=1<<this.f;this.G=this.g>>2;this.i=this.g-1;this.m=this.s/this.g|0;this.H=this.m-1;this.pa=[];this.u=null;this.Za=this.I;a=new G;Ka(a,this.L);this.b=Array(this.m);for(b=0;b<this.m;b++)this.b[b]=a;this.Wa=Array(4);this.Wa[0]=La;this.Wa[1]=Ma;this.Wa[2]=Na;this.Wa[3]=Oa;Pa(this,this.s-8192,8192,Qa,this);
Pa(this,57344,8192,Qa,this);E(this)}y(F);function La(a,b){var c=this.controller,d=c.pa[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.pa[a&-2])&&d[2])return d[2](b&-2)>>8;c.M("warning: unconverted read access to byte @"+ba(b));return c.Za(b,-1,1)}
function Ma(a,b,c){var d=this.controller,f=d.pa[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.pa[a&-2])&&f[3]){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.M("warning: unconverted write access to byte @"+ba(c));d.Za(c,b,1)}
function Na(a,b){var c=this.controller;if(a=c.pa[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.M("warning: unconverted read access to word @"+ba(b));return c.Za(b,-1,0)}function Oa(a,b,c){var d=this.controller;if(a=d.pa[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.M("warning: unconverted write access to word @"+ba(c));d.Za(c,b,0)}F.prototype.reset=function(){this.u&&this.u()};F.prototype.I=function(){return 0};
F.prototype.ya=function(a,b){b||this.reset();return!0};function Pa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0<g&&h<a.b.length;){var k=a.b[h],m=h*a.g,q=a.g-(e-m);q>g&&(q=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Va)return k.ub+=k.Va-e,k.Va=e,!0;if(e>=k.Va+k.ub){q=k.size-(e-m);q>g&&(q=g);k.ub=e-k.Va+q;e=m+a.g;g-=q;h++;continue}}return Ra(1,e,g)}e=new G(e,q,a.g,d,f);Ka(e,a.L,k);a.b[h++]=e;e=m+a.g;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Sa[d]+" at "+n(b,8,!0)),!0):Ra(2,b,c)}
function Ta(a,b){return a.b[(b&a.l)>>>a.f].ab(b&a.i,b)}function Ua(a,b,c){var d=b&a.i,f=(b&a.l)>>>a.f;d!=a.i?a.b[f].Gc(d,c&65535,b):(a.b[f++].Ua(d,c&255,b),a.b[f&a.H].Ua(0,c>>8&255,b+1))}function Va(a){for(var b=0,c=[],d=0;d<a.m;d++){var f=a.b[d];if(f.ta||f.cc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],q=g+1;q<f.length&&f[q]===m;)q++;k[h++]=q-g;k[h++]=m;g=q}k.length<f.length&&(f=k)}c[e]=f}}return c}
function Wa(a,b){var c=Xa,d;for(d in c)for(var f=c[d],e=f[0]?f[0].bind(b):null,g=f[1]?f[1].bind(b):null,h=f[2]?f[2].bind(b):null,k=f[3]?f[3].bind(b):null,m=a,q=+d,f=f[4],w=+d;w<=q;w+=2){var D=w&8191;void 0!==m.pa[D]?r("I/O address already registered: "+n(w,8,!0)):m.pa[D]=[e,g,h,k,!1,f||"unknown"]}}function Ya(a,b,c){a.u=b;a.Za=c}function Ra(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
function H(a){v.call(this,"Device",a,H);this.b={Db:[],W:0,Y:128,b:127,bc:0};this.g={data:0,Ic:0,Pa:20,Ac:0};this.f={v:0,Gb:-1};this.i={cb:2496,R:0,B:128,eb:0,bb:0,X:0,Sb:0,U:[],Ja:[406,406,406,406],J:[12,12,12,12]};this.l={v:129,Ya:0,K:0,wa:0,qa:0,Ca:0,U:[],J:[40,40,40,40],Ja:[1024,1024,512,512],$b:[157,157,29,29]};this.m={a:[8210,8208,8210,8226],J:[22,22,22,50],Ia:[19,19,19,32],wb:[815,411,815,630],U:[],F:2176,Sa:0,Qa:0,ca:[0,0,0,0,0,0,0,0],ba:0,V:[4544,4544,4544,4544,4544,4544,4544,4544],Ra:[0,
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return f.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),f=this;c.prototype=this.prototype;b.prototype=new c;return b});var Ga="undefined"!==typeof ArrayBuffer;function Ha(a){v.call(this,"Panel",a,Ha)}y(Ha);l=Ha.prototype;
l.da=function(a,b,c,d){return this.H&&this.H.da(a,b,c,d)||this.a&&this.a.da(a,b,c,d)?!0:this.parent.da.call(this,a,b,c,d)};l.La=function(a,b,c,d){this.H=a;this.D=b;this.a=c;this.L=d};l.ya=function(a,b){b||Ia();return!0};l.xa=function(){return!0};l.Ta=function(){};function Ia(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=A(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<x.length;g++)if(x[g].id===e){e=x[g];break a}}e=null}e||(a=!0,e=new Ha(f));B(e,d);a&&E(e)}}u(Ia);
function F(a,b,c){v.call(this,"Bus",a,F);this.a=b;this.L=c;this.w=a.busWidth||16;this.s=Math.pow(2,this.w);this.l=this.s-1|0;this.f=(this.w>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.g=1<<this.f;this.G=this.g>>2;this.i=this.g-1;this.m=this.s/this.g|0;this.H=this.m-1;this.pa=[];this.u=null;this.Za=this.I;a=new G;Ja(a,this.L);this.b=Array(this.m);for(b=0;b<this.m;b++)this.b[b]=a;this.Wa=Array(4);this.Wa[0]=Ka;this.Wa[1]=La;this.Wa[2]=Ma;this.Wa[3]=Na;Oa(this,this.s-8192,8192,Pa,this);
Oa(this,57344,8192,Pa,this);E(this)}y(F);function Ka(a,b){var c=-1,d=this.controller,f=d.pa[a];f?f[0]?c=f[0](b):f[2]&&(c=b&1?f[2](b&-2)>>8:f[2](b)&255):b&1&&(f=d.pa[a&-2])&&f[2]&&(c=f[2](b&-2)>>8);return 0<=c?c:c=d.Za(b,-1,1)}function La(a,b,c){var d=!1,f=this.controller,e=f.pa[a];if(e)if(e[1])e[1](b,c),d=!0;else{if(e[3]){a=e[2]?e[2](c):0;if(c&1)e[3](a&255|b<<8,c&-2);else e[3](a&-256|b,c);d=!0}}else c&1&&(e=f.pa[a&-2])&&e[3]&&(c&=-2,a=e[2]?e[2](c):0,e[3](a&255|b<<8,c),d=!0);d||f.Za(c,b,1)}
function Ma(a,b){var c=-1,d=this.controller;(a=d.pa[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));return 0<=c?c:c=d.Za(b,-1,0)}function Na(a,b,c){var d=!1,f=this.controller;if(a=f.pa[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||f.Za(c,b,0)}F.prototype.reset=function(){this.u&&this.u()};F.prototype.I=function(){return 0};F.prototype.ya=function(a,b){b||this.reset();return!0};
function Oa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0<g&&h<a.b.length;){var k=a.b[h],m=h*a.g,q=a.g-(e-m);q>g&&(q=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Va)return k.ub+=k.Va-e,k.Va=e,!0;if(e>=k.Va+k.ub){q=k.size-(e-m);q>g&&(q=g);k.ub=e-k.Va+q;e=m+a.g;g-=q;h++;continue}}return Qa(1,e,g)}e=new G(e,q,a.g,d,f);Ja(e,a.L,k);a.b[h++]=e;e=m+a.g;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ra[d]+" at "+n(b,8,!0)),!0):Qa(2,b,c)}function Sa(a,b){return a.b[(b&a.l)>>>a.f].ab(b&a.i,b)}
function Ta(a,b,c){var d=b&a.i,f=(b&a.l)>>>a.f;d!=a.i?a.b[f].Gc(d,c&65535,b):(a.b[f++].Ua(d,c&255,b),a.b[f&a.H].Ua(0,c>>8&255,b+1))}function Ua(a){for(var b=0,c=[],d=0;d<a.m;d++){var f=a.b[d];if(f.ta||f.cc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],q=g+1;q<f.length&&f[q]===m;)q++;k[h++]=q-g;k[h++]=m;g=q}k.length<f.length&&(f=k)}c[e]=f}}return c}
function Va(a,b){var c=Wa,d;for(d in c)for(var f=c[d],e=f[0]?f[0].bind(b):null,g=f[1]?f[1].bind(b):null,h=f[2]?f[2].bind(b):null,k=f[3]?f[3].bind(b):null,m=a,q=+d,f=f[4],w=+d;w<=q;w+=2){var D=w&8191;void 0!==m.pa[D]?r("I/O address already registered: "+n(w,8,!0)):m.pa[D]=[e,g,h,k,!1,f||"unknown"]}}function Xa(a,b,c){a.u=b;a.Za=c}function Qa(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
function H(a){v.call(this,"Device",a,H);this.b={Db:[],W:0,Y:128,b:127,bc:0};this.g={data:0,Ic:0,Pa:20,Ac:0};this.f={v:0,Gb:-1};this.i={cb:2496,P:0,B:128,eb:0,bb:0,X:0,Sb:0,T:[],Ja:[406,406,406,406],J:[12,12,12,12]};this.l={v:129,Ya:0,K:0,wa:0,qa:0,Ca:0,T:[],J:[40,40,40,40],Ja:[1024,1024,512,512],$b:[157,157,29,29]};this.m={a:[8210,8208,8210,8226],J:[22,22,22,50],Ia:[19,19,19,32],wb:[815,411,815,630],T:[],F:2176,Sa:0,Qa:0,ca:[0,0,0,0,0,0,0,0],ba:0,U:[4544,4544,4544,4544,4544,4544,4544,4544],Ra:[0,
0,0,0,0,0,0,0],Oa:0,xc:[0,0,0,0,0,0,0,0],Tb:0,Ub:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],yc:[1,2,3,4,5,6,7,8],Vb:[0,0,0,0,0,0,0,0],la:[0,0,0,0,0,0,0,0],tb:[0,0,0,0,0,0,0,0],vc:[0,0,0,0,0,0,0,0],wc:[0,0,0,0,0,0,0,0],tc:[0,0,0,0,0,0,0,0],uc:[0,0,0,0,0,0,0,0],Ba:0,Fb:0}}y(H);
var Za=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
var Ya=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=H.prototype;l.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;var f=this;this.f.Gb=$a(this.a,function(){f.f.va|=128;f.f.va&64&&(I(f.a,0,6,64),ab(f.a,f.f.Gb))});Wa(b,this);Ya(b,this.reset.bind(this),this.Zb.bind(this));E(this)};l.kc=function(){var a=this.f.va;this.f.va&=-129;return a};
l.Cc=function(a){this.f.va=a;a&64&&ab(this.a,this.f.Gb);this.f.va=a&-129};l.lc=function(){var a=this.a;return a.I&62337|a.gb<<5|a.hb<<1};l.Dc=function(a){var b=4,c=this.a;c.I=a&=62337;c.gb=a>>5&3;c.hb=a>>1&15;c.pb=a&257?a&1?6:4:0;bb(c);a=c.I;a&1|256&&(b=this.a.Ma&16?1:2);this.g.Pa=this.g.Pa&-8|b};l.nc=function(){return this.b.W};l.Fc=function(a){this.b.W=this.b.W&128|a&-129};l.pc=function(){return this.b.Y};
l.Hc=function(a){if(128==(this.b.Y&192)&&a&64){var b=this;I(this.a,8,4,52,function(){b.b.Y|=128;return!!(b.b.Y&64)})}this.b.Y=this.b.Y&128|a&-129};l.mc=function(){return cb(this.a)};l.Ec=function(a){db(this.a,a&-1809|cb(this.a)&1808);this.a.j|=128};
function eb(a){var b=a.i,c,d,f,e=b.X>>13&7;"undefined"===typeof b.U[e]&&(b.U[e]={cache:[],postProcess:a.qc,drive:e,blocksize:256,mapped:0,maxblock:b.Ja[e]*b.J[e],url:"rk"+e+".dsk"});b.B&=-129;switch(b.B>>1&7){case 0:b.cb=2496;b.R=0;b.B=128;b.X=0;break;case 1:if((b.X>>4&511)>=b.Ja[e]){b.R|=32832;b.B|=49152;break}if((b.X&15)>=b.J[e]){b.R|=32800;b.B|=49152;break}c=(b.X>>4&511)*b.J[e]+(b.X&15);d=(b.B&48)<<12|b.bb;f=65536-b.eb&65535;fb(a,b.U[e],c,d,f);return;case 2:if((b.X>>4&511)>=b.Ja[e])b.R|=32832,
b.B|=49152;else if((b.X&15)>=b.J[e])b.R|=32800,b.B|=49152;else{c=(b.X>>4&511)*b.J[e]+(b.X&15);d=(b.B&48)<<12|b.bb;f=65536-b.eb&65535;a.rb(b.U[e],c,d,f);return}}b.cb=e<<13|b.cb&8176|b.X%9&15;I(a.a,20,5,144,function(){b.B=b.B&65534|128;return!!(b.B&64)})}l.qc=function(a,b,c,d,f){var e=this.i;e.bb=d&65535;e.B=e.B&-49|d>>12&48;e.eb=65536-f&65535;switch(a){case 1:e.R|=33024;e.B|=49152;break;case 2:e.R|=33792,e.B|=49152}I(this.a,20,5,144,function(){e.B=e.B&65534|128;return!!(e.B&64)})};
function gb(a){var b=a.l,c,d,f,e=b.v>>8&3;b.v&=-2;"undefined"===typeof b.U[e]&&(b.U[e]={cache:[],postProcess:a.rc,drive:e,blocksize:128,mapped:1,maxblock:b.Ja[e]*b.J[e],url:"rl"+e+".dsk"});switch(b.v>>1&7){case 2:b.wa&8&&(b.v&=63);b.wa=b.$b[e]|b.Ca&64;break;case 3:1==(b.K&3)&&(b.Ca=b.K&4?b.Ca+(b.K&65408)&65408|b.K<<2&64:b.Ca-(b.K&65408)&65408|b.K<<2&64,b.K=b.Ca);break;case 4:b.wa=b.Ca;break;case 5:if(b.K>>6>=b.Ja[e]){b.v|=37888;break}if((b.K&63)>=b.J[e]){b.v|=37888;break}c=(b.K>>6)*b.J[e]+(b.K&63);
d=(b.qa&63)<<16|b.Ya;f=65536-b.wa&65535;fb(a,b.U[e],c,d,f);return;case 6:if(b.K>>6>=b.Ja[e])b.v|=37888;else if((b.K&63)>=b.J[e])b.v|=37888;else{c=(b.K>>6)*b.J[e]+(b.K&63);d=(b.qa&63)<<16|b.Ya;f=65536-b.wa&65535;a.rb(b.U[e],c,d,f);return}}I(a.a,20,5,112,function(){b.v|=129;return!!(b.v&64)})}
l.rc=function(a,b,c,d,f){var e=this.l;e.Ya=d&65535;e.v=e.v&-49|d>>12&48;e.qa=d>>16&63;e.K=~~(c/e.J[b.ka])<<6|c%e.J[b.ka];e.Ca=e.K;e.wa=65536-f&65535;switch(a){case 1:e.v|=33792;break;case 2:e.v|=40960}I(this.a,20,5,112,function(){e.v|=129;return!!(e.v&64)})};function hb(a){a=a.m;a.F=2176;a.ba=0;a.V=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ra=[0,0,0,0,0,0,0,0];a.Oa=a.Sa=a.Qa=a.Ba=a.Fb=0}
function ib(a,b){var c=a.m,d,f,e;c.F&=-16513;c.ba&=-2049;c.V[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.U[b]&&(c.U[b]={cache:[],postProcess:a.sc,drive:b,blocksize:256,mapped:0,maxblock:c.wb[0]*c.Ia[0]*c.J[0],url:"rp"+b+".dsk"});switch(c.F&63){case 5:c.tb[b]=c.la[b];c.F|=32896;c.V[b]|=32896;c.Oa|=1<<b;break;case 9:hb(a);break;case 19:c.V[b]|=64;break;case 49:if(c.la[b]>=c.wb[0]||c.ca[b]>>8>=c.Ia[0]||(c.ca[b]&255)>=c.J[0]){c.Ra[b]|=1024;c.F|=49152;break}d=(c.la[b]*c.Ia[0]+(c.ca[b]>>8))*c.J[0]+
(c.ca[b]&255);f=(c.Ba&63)<<16|c.Qa;e=65536-c.Sa&65535;fb(a,c.U[b],d,f,e);return;case 57:if(c.la[b]>=c.wb[0]||c.ca[b]>>8>=c.Ia[0]||(c.ca[b]&255)>=c.J[0])c.Ra[b]|=1024,c.F|=49152;else{d=(c.la[b]*c.Ia[0]+(c.ca[b]>>8))*c.J[0]+(c.ca[b]&255);f=(c.Ba&63)<<16|c.Qa;e=65536-c.Sa&65535;a.rb(c.U[b],d,f,e);return}}I(a.a,3,5,172,function(){c.F=c.F&65534|128;c.V[b]|=128;return!!(c.F&64)})}
l.sc=function(a,b,c,d,f){var e=this.m;e.Sa=65536-f&65535;e.Qa=d&65535;e.F=e.F&-769|d>>8&768;e.Ba=d>>16&63;f=~~(c/e.J[0]);d=~~(f/e.Ia[0]);e.ca[b.ka]=f%e.Ia[0]<<8|c%e.J[0];e.tb[b.ka]=e.la[b.ka]=d;e.Oa|=1<<b.ka;c>=b.ic-1&&(e.V[b.ka]|=1024);switch(a){case 1:e.ba|=512;e.F|=49152;break;case 2:e.ba|=2048,e.F|=49152}I(this.a,20,5,172,function(){e.V[b.ka]|=128;e.F=e.F&65534|128;return!!(e.F&64)})};
function jb(a,b,c,d,f,e){var g=~~((e+c.ra-1)/c.ra),h=new XMLHttpRequest;2048>g&&d+2048<c.ic&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.ra<<1)+"-"+(((d+g)*c.ra<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,q,w,D;m=h.response;if(h.status&&206!=h.status||!m)c.Cb(1,c,d,f,e);else{m=new Uint8Array(m);q=d;for(D=0;D<m.length;){if("undefined"===typeof c.cache[q])for(c.cache[q]=[],w=0;w<c.ra;w++)c.cache[q][w]=D<m.length?
m[D]&255|m[D+1]<<8&65280:0,D+=2;else D+=c.ra<<1;q++}g(c,d,f,e)}}};h.send(null)}function J(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:K(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.rb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){jb(this,this.rb,a,b,c,d);return}for(f=0;f<a.ra&&0<d;f++){var e=a.hc?kb(this.a,c):c;Ua(this.a.D,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Cb(0,a,b,c,d)};
function fb(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.ra;e++)b.cache[c][e]=0;for(e=0;e<b.ra&&0<f;e++){g=lb(a.a,b.hc?kb(a.a,d):d);if(0>g){b.Cb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Cb(0,b,c,d,f)}l.reset=function(){this.g.Pa=this.g.Pa&-120|20;this.b.W=0;this.b.Y=128;this.f.va=0;this.i.B=128;this.l.v=128;hb(this)};
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=H.prototype;l.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;var f=this;this.f.Gb=Za(this.a,function(){f.f.va|=128;f.f.va&64&&(I(f.a,0,6,64),$a(f.a,f.f.Gb))});Va(b,this);Xa(b,this.reset.bind(this),this.Zb.bind(this));E(this)};l.kc=function(){var a=this.f.va;this.f.va&=-129;return a};
l.Cc=function(a){this.f.va=a;a&64&&$a(this.a,this.f.Gb);this.f.va=a&-129};l.lc=function(){var a=this.a;return a.I&62337|a.gb<<5|a.hb<<1};l.Dc=function(a){var b=4,c=this.a;c.I=a&=62337;c.gb=a>>5&3;c.hb=a>>1&15;c.pb=a&257?a&1?6:4:0;ab(c);a=c.I;a&1|256&&(b=this.a.Ma&16?1:2);this.g.Pa=this.g.Pa&-8|b};l.nc=function(){return this.b.W};l.Fc=function(a){this.b.W=this.b.W&128|a&-129};l.pc=function(){return this.b.Y};
l.Hc=function(a){if(128==(this.b.Y&192)&&a&64){var b=this;I(this.a,8,4,52,function(){b.b.Y|=128;return!!(b.b.Y&64)})}this.b.Y=this.b.Y&128|a&-129};l.mc=function(){return bb(this.a)};l.Ec=function(a){cb(this.a,a&-1809|bb(this.a)&1808);this.a.j|=128};
function db(a){var b=a.i,c,d,f,e=b.X>>13&7;"undefined"===typeof b.T[e]&&(b.T[e]={cache:[],postProcess:a.qc,drive:e,blocksize:256,mapped:0,maxblock:b.Ja[e]*b.J[e],url:"rk"+e+".dsk"});b.B&=-129;switch(b.B>>1&7){case 0:b.cb=2496;b.P=0;b.B=128;b.X=0;break;case 1:if((b.X>>4&511)>=b.Ja[e]){b.P|=32832;b.B|=49152;break}if((b.X&15)>=b.J[e]){b.P|=32800;b.B|=49152;break}c=(b.X>>4&511)*b.J[e]+(b.X&15);d=(b.B&48)<<12|b.bb;f=65536-b.eb&65535;eb(a,b.T[e],c,d,f);return;case 2:if((b.X>>4&511)>=b.Ja[e])b.P|=32832,
b.B|=49152;else if((b.X&15)>=b.J[e])b.P|=32800,b.B|=49152;else{c=(b.X>>4&511)*b.J[e]+(b.X&15);d=(b.B&48)<<12|b.bb;f=65536-b.eb&65535;a.rb(b.T[e],c,d,f);return}}b.cb=e<<13|b.cb&8176|b.X%9&15;I(a.a,20,5,144,function(){b.B=b.B&65534|128;return!!(b.B&64)})}l.qc=function(a,b,c,d,f){var e=this.i;e.bb=d&65535;e.B=e.B&-49|d>>12&48;e.eb=65536-f&65535;switch(a){case 1:e.P|=33024;e.B|=49152;break;case 2:e.P|=33792,e.B|=49152}I(this.a,20,5,144,function(){e.B=e.B&65534|128;return!!(e.B&64)})};
function fb(a){var b=a.l,c,d,f,e=b.v>>8&3;b.v&=-2;"undefined"===typeof b.T[e]&&(b.T[e]={cache:[],postProcess:a.rc,drive:e,blocksize:128,mapped:1,maxblock:b.Ja[e]*b.J[e],url:"rl"+e+".dsk"});switch(b.v>>1&7){case 2:b.wa&8&&(b.v&=63);b.wa=b.$b[e]|b.Ca&64;break;case 3:1==(b.K&3)&&(b.Ca=b.K&4?b.Ca+(b.K&65408)&65408|b.K<<2&64:b.Ca-(b.K&65408)&65408|b.K<<2&64,b.K=b.Ca);break;case 4:b.wa=b.Ca;break;case 5:if(b.K>>6>=b.Ja[e]){b.v|=37888;break}if((b.K&63)>=b.J[e]){b.v|=37888;break}c=(b.K>>6)*b.J[e]+(b.K&63);
d=(b.qa&63)<<16|b.Ya;f=65536-b.wa&65535;eb(a,b.T[e],c,d,f);return;case 6:if(b.K>>6>=b.Ja[e])b.v|=37888;else if((b.K&63)>=b.J[e])b.v|=37888;else{c=(b.K>>6)*b.J[e]+(b.K&63);d=(b.qa&63)<<16|b.Ya;f=65536-b.wa&65535;a.rb(b.T[e],c,d,f);return}}I(a.a,20,5,112,function(){b.v|=129;return!!(b.v&64)})}
l.rc=function(a,b,c,d,f){var e=this.l;e.Ya=d&65535;e.v=e.v&-49|d>>12&48;e.qa=d>>16&63;e.K=~~(c/e.J[b.ka])<<6|c%e.J[b.ka];e.Ca=e.K;e.wa=65536-f&65535;switch(a){case 1:e.v|=33792;break;case 2:e.v|=40960}I(this.a,20,5,112,function(){e.v|=129;return!!(e.v&64)})};function gb(a){a=a.m;a.F=2176;a.ba=0;a.U=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ra=[0,0,0,0,0,0,0,0];a.Oa=a.Sa=a.Qa=a.Ba=a.Fb=0}
function hb(a,b){var c=a.m,d,f,e;c.F&=-16513;c.ba&=-2049;c.U[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.T[b]&&(c.T[b]={cache:[],postProcess:a.sc,drive:b,blocksize:256,mapped:0,maxblock:c.wb[0]*c.Ia[0]*c.J[0],url:"rp"+b+".dsk"});switch(c.F&63){case 5:c.tb[b]=c.la[b];c.F|=32896;c.U[b]|=32896;c.Oa|=1<<b;break;case 9:gb(a);break;case 19:c.U[b]|=64;break;case 49:if(c.la[b]>=c.wb[0]||c.ca[b]>>8>=c.Ia[0]||(c.ca[b]&255)>=c.J[0]){c.Ra[b]|=1024;c.F|=49152;break}d=(c.la[b]*c.Ia[0]+(c.ca[b]>>8))*c.J[0]+
(c.ca[b]&255);f=(c.Ba&63)<<16|c.Qa;e=65536-c.Sa&65535;eb(a,c.T[b],d,f,e);return;case 57:if(c.la[b]>=c.wb[0]||c.ca[b]>>8>=c.Ia[0]||(c.ca[b]&255)>=c.J[0])c.Ra[b]|=1024,c.F|=49152;else{d=(c.la[b]*c.Ia[0]+(c.ca[b]>>8))*c.J[0]+(c.ca[b]&255);f=(c.Ba&63)<<16|c.Qa;e=65536-c.Sa&65535;a.rb(c.T[b],d,f,e);return}}I(a.a,3,5,172,function(){c.F=c.F&65534|128;c.U[b]|=128;return!!(c.F&64)})}
l.sc=function(a,b,c,d,f){var e=this.m;e.Sa=65536-f&65535;e.Qa=d&65535;e.F=e.F&-769|d>>8&768;e.Ba=d>>16&63;f=~~(c/e.J[0]);d=~~(f/e.Ia[0]);e.ca[b.ka]=f%e.Ia[0]<<8|c%e.J[0];e.tb[b.ka]=e.la[b.ka]=d;e.Oa|=1<<b.ka;c>=b.ic-1&&(e.U[b.ka]|=1024);switch(a){case 1:e.ba|=512;e.F|=49152;break;case 2:e.ba|=2048,e.F|=49152}I(this.a,20,5,172,function(){e.U[b.ka]|=128;e.F=e.F&65534|128;return!!(e.F&64)})};
function ib(a,b,c,d,f,e){var g=~~((e+c.ra-1)/c.ra),h=new XMLHttpRequest;2048>g&&d+2048<c.ic&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.ra<<1)+"-"+(((d+g)*c.ra<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,q,w,D;m=h.response;if(h.status&&206!=h.status||!m)c.Cb(1,c,d,f,e);else{m=new Uint8Array(m);q=d;for(D=0;D<m.length;){if("undefined"===typeof c.cache[q])for(c.cache[q]=[],w=0;w<c.ra;w++)c.cache[q][w]=D<m.length?
m[D]&255|m[D+1]<<8&65280:0,D+=2;else D+=c.ra<<1;q++}g(c,d,f,e)}}};h.send(null)}function J(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:K(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.rb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){ib(this,this.rb,a,b,c,d);return}for(f=0;f<a.ra&&0<d;f++){var e=a.hc?jb(this.a,c):c;Ta(this.a.D,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Cb(0,a,b,c,d)};
function eb(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.ra;e++)b.cache[c][e]=0;for(e=0;e<b.ra&&0<f;e++){g=kb(a.a,b.hc?jb(a.a,d):d);if(0>g){b.Cb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Cb(0,b,c,d,f)}l.reset=function(){this.g.Pa=this.g.Pa&-120|20;this.b.W=0;this.b.Y=128;this.f.va=0;this.i.B=128;this.l.v=128;gb(this)};
l.Zb=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.Aa&65280:(a&1&&(b<<=8),e.Aa=b|255,d=0);break;case 4194298:if(0>b)d=e.Eb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Eb=d;e.j|=2}break;case 4194294:if(70!==e.Ka)return K(e,4);0>b?d=e.o:d=e.o=0;break;case 4194292:if(70!==e.Ka)return K(e,4);d=1;break;case 4194290:if(70!==e.Ka)return K(e,4);d=0;break;case 4194288:if(70!==e.Ka)return K(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&=
255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ka)return K(e,4);f=a-4194272>>1;0>b?d=e.Bb[f]:(d=J(this,e.Bb[f],a,b,c),0<=d&&(e.Bb[f]=d));break;case 4194254:return a&1?e.A>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ea[3]=b),d=e.ea[3]):e.A>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ea[1]=b),d=e.ea[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.A&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Na[f]=b),d=e.Na[f]),d;case 4194246:return a&
1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.A>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ea[0]=b),d=e.ea[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.A&2048?(0<=b&&(e.Na[f]=b),d=e.Na[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.o|=16,K(e,4)}break;case 4194176:f=a>>1&31;d=J(this,e.P[3][f],a,b,c);0<=d&&(e.P[3][f]=d,e.P[3][f&15]&=65295);break;case 4194112:var g=this.b;switch(a&-2){case 4194174:d=J(this,e.sb,a,b,c);0<=d&&(e.sb=d);break;case 4194172:d=e.za;d&65280&&(d=(d<<8|d>>8)&65535);break;
1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.A>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ea[0]=b),d=e.ea[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.A&2048?(0<=b&&(e.Na[f]=b),d=e.Na[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.o|=16,K(e,4)}break;case 4194176:f=a>>1&31;d=J(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var g=this.b;switch(a&-2){case 4194174:d=J(this,e.sb,a,b,c);0<=d&&(e.sb=d);break;case 4194172:d=e.za;d&65280&&(d=(d<<8|d>>8)&65535);break;
case 4194168:0>b?d=this.g.Ac&65535:(d=J(this,this.g.data,a,b,c),0<=d&&(this.g.data=d));break;case 4194166:0<=b&&(b&127&&(g.bc=0),g.Y&=-129,I(e,100,4,52,function(){g.Y|=128;return!!(g.Y&64)}));d=0;break;case 4194162:d=0;0>b&&(g.W&=-129,0<g.Db.length&&(d=g.Db.shift(),0<g.Db.length&&setTimeout(function(){g.W|=128;g.W&64&&I(e,40,4,48)},50)));break;case 4194160:0>b?d=g.W:(d=J(this,g.W,a,b,c),0<=d&&(g.W=g.W&128|d&-129));break;default:return e.o|=16,K(e,4)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d=
J(this,f.cb,a,b,c);0<=d&&(f.cb=d);break;case 4194050:d=J(this,f.R,a,b,c);0<=d&&(f.R=d);break;case 4194052:d=J(this,f.B,a,b,c);0<=b&&0<=d&&(f.B=d&-36993|f.B&36992,f.B&1&&eb(this));break;case 4194054:d=J(this,f.eb,a,b,c);0<=d&&(f.eb=d);break;case 4194056:d=J(this,f.bb,a,b,c);0<=d&&(f.bb=d);break;case 4194058:d=J(this,f.X,a,b,c);0<=d&&(f.X=d);break;case 4194060:break;case 4194062:d=J(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;default:return e.o|=16,K(e,4)}break;case 4193728:var h=this.m;f=h.ba&7;switch(a&
-2){case 4193728:d=J(this,h.F,a,b,c);0<=b&&0<=d&&(h.Ba=h.Ba&60|d>>8&3,h.F=d&17279|h.F&34944|2048,d&1&&h.F&128?ib(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,h.Sa,a,b,c);0<=d&&(h.Sa=d);break;case 4193732:d=J(this,h.Qa,a,b,c);0<=d&&(h.Qa=d&65534);break;case 4193734:d=J(this,h.ca[f],a,b,c);0<=d&&(h.ca[f]=d&7967);break;case 4193736:d=J(this,h.ba,a,b,c);0<=d&&(h.ba=d&63|h.ba&65472,d&128&&hb(this));break;case 4193738:d=h.V[f];break;case 4193740:d=h.Ra[f];break;case 4193742:d=J(this,
J(this,f.cb,a,b,c);0<=d&&(f.cb=d);break;case 4194050:d=J(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=J(this,f.B,a,b,c);0<=b&&0<=d&&(f.B=d&-36993|f.B&36992,f.B&1&&db(this));break;case 4194054:d=J(this,f.eb,a,b,c);0<=d&&(f.eb=d);break;case 4194056:d=J(this,f.bb,a,b,c);0<=d&&(f.bb=d);break;case 4194058:d=J(this,f.X,a,b,c);0<=d&&(f.X=d);break;case 4194060:break;case 4194062:d=J(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;default:return e.o|=16,K(e,4)}break;case 4193728:var h=this.m;f=h.ba&7;switch(a&
-2){case 4193728:d=J(this,h.F,a,b,c);0<=b&&0<=d&&(h.Ba=h.Ba&60|d>>8&3,h.F=d&17279|h.F&34944|2048,d&1&&h.F&128?hb(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,h.Sa,a,b,c);0<=d&&(h.Sa=d);break;case 4193732:d=J(this,h.Qa,a,b,c);0<=d&&(h.Qa=d&65534);break;case 4193734:d=J(this,h.ca[f],a,b,c);0<=d&&(h.ca[f]=d&7967);break;case 4193736:d=J(this,h.ba,a,b,c);0<=d&&(h.ba=d&63|h.ba&65472,d&128&&gb(this));break;case 4193738:d=h.U[f];break;case 4193740:d=h.Ra[f];break;case 4193742:d=J(this,
h.Oa,a,b,c);0<=d&&(h.Oa=d&255);break;case 4193744:d=h.xc[f];break;case 4193746:d=J(this,h.Tb,a,b,c);0<=d&&(h.Tb=d);break;case 4193748:d=J(this,h.Ub[f],a,b,c);0<=d&&(h.Ub[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.yc[f];break;case 4193754:d=J(this,h.Vb[f],a,b,c);0<=d&&(h.Vb[f]=d);break;case 4193756:d=J(this,h.la[f],a,b,c);0<=d&&(h.la[f]=d&511);break;case 4193758:h.tb[f]=h.la[f];d=h.tb[f];break;case 4193760:d=h.vc[f];break;case 4193762:d=h.wc[f];break;case 4193764:d=h.tc[f];break;case 4193766:d=
h.uc[f];break;case 4193768:d=J(this,h.Ba,a,b,c);0<=d&&(h.Ba=d&63,h.F=h.F&-769|(d&3)<<8);break;case 4193770:d=J(this,h.Fb,a,b,c);0<=d&&(h.Fb=d);break;default:return e.o|=16,K(e,4)}break;case 4192512:f=this.l;switch(a&-2){case 4192512:d=J(this,f.v,a,b,c);0<=b&&0<=d&&(f.qa=f.qa&60|d>>4&3,f.v=f.v&-1023|d&1022,f.v&128||gb(this));break;case 4192514:d=J(this,f.Ya,a,b,c);0<=d&&(f.Ya=d&65534);break;case 4192516:d=J(this,f.K,a,b,c);0<=d&&(f.K=d);break;case 4192518:d=J(this,f.wa,a,b,c);0<=d&&(f.wa=d);break;
case 4192520:d=J(this,f.qa,a,b,c);0<=d&&(f.qa=d&63,f.v=f.v&-49|(f.qa&3)<<4);break;default:return e.o|=16,K(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.Ma:(d=J(this,e.Ma,a,b,c),0<=d&&(70!==e.Ka&&(d&=-49),e.Ma=d,e.qb[0]=d&4?15:7,e.qb[1]=d&2?15:7,e.qb[3]=d&1?15:7,e.pb&&(f=2,e.Ma&16&&(f=1),this.g.Pa=this.g.Pa&-8|f)));break;default:return e.o|=16,K(e,4)}break;case 4191424:f=a>>1&31;d=J(this,e.P[0][f],a,b,c);0<=d&&(e.P[0][f]=d,e.P[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=J(this,e.P[1][f],
a,b,c);0<=d&&(e.P[1][f]=d,e.P[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Ka)return K(e,4);f=a>>2&31;d=e.fb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=J(this,d,a,b,c),0<=d&&(e.fb[f]=a&2?d<<16|e.fb[f]&65535:e.fb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Za[a>>1&255];else return e.o|=16,K(e,4);break;default:return e.o|=16,K(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");
return d};var L={},Xa=(L[65382]=[null,null,H.prototype.kc,H.prototype.Cc,"LKS"],L[65392]=[null,null,H.prototype.nc,H.prototype.Fc,"RCSR"],L[65396]=[null,null,H.prototype.pc,H.prototype.Hc,"XCSR"],L[65402]=[null,null,H.prototype.lc,H.prototype.Dc,"MMR0"],L[65534]=[null,null,H.prototype.mc,H.prototype.Ec,"PSW"],L);u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new H(d);B(d,c)}});var mb;
if(Ha){var nb=new ArrayBuffer(2);(new DataView(nb)).setUint16(0,256,!0);mb=256===(new Uint16Array(nb))[0]}else mb=!1;var ob=mb;
function G(a,b,c,d,f){this.id=pb+=2;this.a=null;this.Va=a;this.ub=b;this.size=c||0;this.type=d||qb;this.i=d==rb;this.controller=null;Ka(this);this.ta=this.cc=!1;if(c)if(f)this.controller=f,this.a=null,sb(this,f.Wa);else if(Ha)this.f=new ArrayBuffer(c),this.g=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.m=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),sb(this,ob?tb:ub);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;sb(this,vb)}else sb(this)}
var qb=0,rb=2,Qa=4,Sa=["NONE","RAM","ROM","VID","H/W"],pb=0;
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ha)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.g.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ha)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.a=a;return this.ta=!0}return!1},s:function(){return 255},w:function(){},u:function(a,b){return this.ab(a++,b++)|this.ab(a,b)<<8},G:function(a,b,c){this.Ua(a++,
b&255,c++);this.Ua(a,b>>8,c)},Z:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ia:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},oa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ta=!0},Ha:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ta=!0},I:function(a,b){return this.S(a,b)},fa:function(a,b){return this.ga(a,
b)},ma:function(a,b,c){this.i||this.Yb(a,b,c)},Ea:function(a,b,c){this.i||this.Fa(a,b,c)},H:function(a){return this.b[a]},T:function(a){return this.b[a]},$:function(a){return this.g.getUint16(a,!0)},ha:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.m[a>>1]},ja:function(a,b){this.b[a]=b;this.ta=!0},na:function(a,b){this.b[a]=b;this.ta=!0},Da:function(a,b){this.g.setUint16(a,b,!0);this.ta=!0},Ga:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.m[a>>1]=b;this.ta=!0}};
function Ka(a,b,c){a.L=b;a.C=a.l=0;c&&((a.C=c.C)&&wb(a,xb,!1),(a.l=c.l)&&yb(a,xb,!1))}function yb(a,b,c){c&&a.l||(a.Ua=!a.i&&b[1]||a.w,a.Gc=!a.i&&b[3]||a.G);if(c||void 0===c)a.Yb=b[1]||a.w,a.Fa=b[3]||a.G}function wb(a,b,c){c&&a.C||(a.ab=b[0]||a.s,a.oc=b[2]||a.u);if(c||void 0===c)a.S=b[0]||a.s,a.ga=b[2]||a.u}function sb(a,b){b||(b=zb);wb(a,b,void 0);yb(a,b,void 0)}var zb=[],vb=[G.prototype.Z,G.prototype.oa,G.prototype.ia,G.prototype.Ha],xb=[G.prototype.I,G.prototype.ma,G.prototype.fa,G.prototype.Ea];
if(Ha)var ub=[G.prototype.H,G.prototype.ja,G.prototype.$,G.prototype.Da],tb=[G.prototype.T,G.prototype.na,G.prototype.ha,G.prototype.Ga];function Ab(a,b){v.call(this,"CPU",a,Ab);var c=a.multiplier||1;this.lb=a.cycles||b;this.ia=c;this.yb=Math.round(this.lb/1E4)/100;this.ma=this.yb*this.ia;this.h.aa=!1;this.h.Wb=!1;this.h.Xa=a.autoStart;this.h.Jb=!1;this.h.nb=!1;this.jb=this.na=0;this.kb=a.csStart;this.Ea=a.csInterval;this.Fa=a.csStop;this.S=[];this.Rb=this.zc.bind(this);E(this)}y(Ab);
var Bb=["power","reset"];l=Ab.prototype;l.La=function(a,b,c,d){this.H=a;this.D=b;this.L=d;for(b=0;b<Bb.length;b++)(c=this.C[Bb[b]])&&this.H.da(null,Bb[b],c);this.Da=null;a=Cb(a,"autoStart");null!=a&&(this.h.Xa="true"==a?!0:"false"==a?!1:!!a);E(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.ya=function(a,b){if(!b){if(a&&this.restore){Db(this);if(!this.restore(a))return!1;Eb(this)}else this.reset();this.M("No debugger detected")}Fb(this);return!0};
l.xa=function(a){return a?this.save():!0};l.Xa=function(){return this.h.Xa||void 0===this.C.run?(Gb(this),!0):!1};l.Ob=function(){return 0};function Eb(a){void 0===a.kb&&(a.kb=0);void 0===a.Ea&&(a.Ea=-1);void 0===a.Fa&&(a.Fa=-1);a.h.nb=0<=a.kb&&0<a.Ea;a.h.nb&&(a.jb=0,a.na=a.kb-a.ja)}
function Hb(a,b,c,d){if(a.C[b]){void 0===c&&(a.h.error=!0,a.N("Value for "+b+" is invalid"),Ib(a));var f=a.L&&a.L.b||8;c=!a.h.aa||a.h.Jb?8==f?ba(c,d):n(c,d):"--------".substr(0,d||4);a.C[b].textContent!=c&&(a.C[b].textContent=c)}}
l.da=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.C[b]=c;a=!0;break;case "run":this.C[b]=c;c.onclick=function(){var a;if(a=d.H)if(a=d.H,a.h.O)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.h.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.h.O);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.ob?" (waiting for notification)":""))+".");a=!1}a&&(d.h.aa?Ib(d):Gb(d))};a=!0;
break;case "speed":this.C[b]=c;a=!0;break;case "setSpeed":this.C[b]=c,c.onclick=function(){Jb(d,d.ia<<1)},c.textContent=this.ma.toFixed(2)+"Mhz",a=!0}return a};function Kb(a,b,c){a.ja+=b;c&&(a.T=a.a=0)}function Lb(a,b){var c=1;b&&1<a.ia&&a.ga&&(c=a.ga/a.yb);a.Pb=Math.round(1E3/30);a.mb=Math.floor(a.lb/30*c);b||(a.Ga=a.mb);a.zb=0}function Mb(a){return a.ja+a.$+a.T-a.a}function Db(a){a.ga=0;a.Qb=0;a.ja=a.$=a.T=a.a=0;Eb(a);Jb(a,1)}
function Jb(a,b){if(void 0!==b&&(.8>a.ga/a.ma&&(b=1),a.ia=b,b=a.yb*a.ia,a.ma!=b)){a.ma=b;b=a.ma.toFixed(2)+"Mhz";var c=a.C.setSpeed;c&&(c.textContent=b);a.M("target speed: "+b)}Kb(a,a.$);a.$=0;a.Z=ia();a.ha=0;Lb(a)}function $a(a,b){var c=a.S.length;a.S.push([-1,b]);return c}function ab(a,b){var c;0<=b&&b<a.S.length&&0>a.S[b][0]&&(c=a.lb*a.ia/1E3*(1E3/60),a.S[b][0]=c)}
l.zc=function(){if(this.h.aa){this.zb>=this.lb&&Lb(this,!0);this.Ha=0;this.ib=ia();if(this.ha){var a=this.ib-this.ha;a>this.Pb&&(this.Z+=a,this.Z>this.ib&&(this.Z=this.ib))}try{do{for(var b,c=this.h.nb?1:this.mb,d=this.S.length-1;0<=d;d--){var f=this.S[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Xb(b)}catch(m){if("number"!=typeof m)throw m;}for(var e=this.T-this.a,a=e,g=this.S.length-1;0<=g;g--){var h=this.S[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ha+=e;this.$+=e;Kb(this,0,!0);a=e;if(this.h.nb){var k=
!1;this.jb=this.jb+this.Ob()|0;this.na-=a;0>=this.na&&(this.na+=this.Ea,k=!0);0<=this.Fa&&this.Fa<=Mb(this)&&(this.Ea=this.Fa=-1,Eb(this),Ib(this),k=!0);k&&this.M(Mb(this)+" cycles: checksum="+n(this.jb))}this.Ga-=e;if(0>=this.Ga){this.Ga+=this.mb;15<=++this.Qb&&(this.H&&this.H.Ta(),this.Qb=0);break}}while(this.h.aa)}catch(m){Ib(this);Fb(this);this.H&&this.H.stop(ia(),Mb(this));b=m.stack||m.message;this.h.error=!0;this.N(b);return}if(this.h.aa){b=setTimeout;c=this.Rb;this.ha=ia();d=this.Pb;this.Ha&&
(d=Math.round(d*this.Ha/this.mb));d-=this.ha-this.ib;if(f=this.ha-this.Z)this.ga=Math.round(this.$/(10*f))/100,864E5<=f&&(this.ja=0,Jb(this));if(0>d||this.ga<this.ma)-1E3>d&&(this.Z-=d),d=0;this.zb+=this.Ha;this.ha+=d;b(c,d)}}};function Gb(a){var b;a.h.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.aa)a.M(a.toString()+" busy");else{Jb(a);a.h.aa=!0;a.h.Wb=!0;a.Da&&a.Da.start();if(b=a.C.run)b.textContent="Halt";a.H&&a.H.start(a.Z,Mb(a));Fb(a,!0);setTimeout(a.Rb,0)}}l.Xb=function(){return 0};
function Ib(a){if(a.h.aa){a.T-=a.a;a.a=0;Kb(a,a.$);a.$=0;a.h.aa=!1;a.Da&&a.Da.stop();var b=a.C.run;b&&(b.textContent="Run");a.H&&a.H.stop(ia(),Mb(a));Fb(a)}a.h.complete=void 0}function Fb(a,b){a.H&&a.H.Ta(b)}
function Nb(a){this.gc=a.resetAddr||0;Ab.call(this,a,6666667);this.Lb=0;this.decode=Ob.bind(this);this.m=65536;this.g=32768;this.i=65535;this.u=32768;this.A=15;this.c=[0,0,0,0,0,0,0,this.gc];this.Na=[0,0,0,0,0,0];this.ea=[0,0,0,0];this.hb=this.G=0;this.P=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.fb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.s=this.b=this.l=this.f=this.vb=this.j=0;this.Ka=70;this.oa=-1;Pb(this);this.h.complete=this.h.ac=!1}y(Nb,Ab);l=Nb.prototype;l.reset=function(){this.h.aa&&Ib(this);Pb(this);Db(this);this.h.error=!1;this.parent.reset.call(this)};
function Pb(a){a.Aa=255;a.o=0;a.Eb=0;a.I=0;a.za=0;a.sb=0;a.Ma=0;a.pb=0;a.gb=0;a.qb=[7,7,7,7];a.w=[];a.j|=2;bb(a)}function bb(a){a.pb?(a.Ib=65536,a.fa=a.ec):(a.Ib=0,a.fa=a.dc)}l.Ob=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.ja,this.ia]);a.set(2,Va(this.D));return a.data()};
l.restore=function(a){var b=a[1];this.ja=b[1];Jb(this,b[3]);a:{b=this.D;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.G){for(var e=0,g=Array(b.G),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.b[d];if(!e||!e.restore(f)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
h.uc[f];break;case 4193768:d=J(this,h.Ba,a,b,c);0<=d&&(h.Ba=d&63,h.F=h.F&-769|(d&3)<<8);break;case 4193770:d=J(this,h.Fb,a,b,c);0<=d&&(h.Fb=d);break;default:return e.o|=16,K(e,4)}break;case 4192512:f=this.l;switch(a&-2){case 4192512:d=J(this,f.v,a,b,c);0<=b&&0<=d&&(f.qa=f.qa&60|d>>4&3,f.v=f.v&-1023|d&1022,f.v&128||fb(this));break;case 4192514:d=J(this,f.Ya,a,b,c);0<=d&&(f.Ya=d&65534);break;case 4192516:d=J(this,f.K,a,b,c);0<=d&&(f.K=d);break;case 4192518:d=J(this,f.wa,a,b,c);0<=d&&(f.wa=d);break;
case 4192520:d=J(this,f.qa,a,b,c);0<=d&&(f.qa=d&63,f.v=f.v&-49|(f.qa&3)<<4);break;default:return e.o|=16,K(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.Ma:(d=J(this,e.Ma,a,b,c),0<=d&&(70!==e.Ka&&(d&=-49),e.Ma=d,e.qb[0]=d&4?15:7,e.qb[1]=d&2?15:7,e.qb[3]=d&1?15:7,e.pb&&(f=2,e.Ma&16&&(f=1),this.g.Pa=this.g.Pa&-8|f)));break;default:return e.o|=16,K(e,4)}break;case 4191424:f=a>>1&31;d=J(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=J(this,e.O[1][f],
a,b,c);0<=d&&(e.O[1][f]=d,e.O[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Ka)return K(e,4);f=a>>2&31;d=e.fb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=J(this,d,a,b,c),0<=d&&(e.fb[f]=a&2?d<<16|e.fb[f]&65535:e.fb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Ya[a>>1&255];else return e.o|=16,K(e,4);break;default:return e.o|=16,K(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");
return d};var L={},Wa=(L[65382]=[null,null,H.prototype.kc,H.prototype.Cc,"LKS"],L[65392]=[null,null,H.prototype.nc,H.prototype.Fc,"RCSR"],L[65396]=[null,null,H.prototype.pc,H.prototype.Hc,"XCSR"],L[65402]=[null,null,H.prototype.lc,H.prototype.Dc,"MMR0"],L[65534]=[null,null,H.prototype.mc,H.prototype.Ec,"PSW"],L);u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new H(d);B(d,c)}});var lb;
if(Ga){var mb=new ArrayBuffer(2);(new DataView(mb)).setUint16(0,256,!0);lb=256===(new Uint16Array(mb))[0]}else lb=!1;var nb=lb;
function G(a,b,c,d,f){this.id=ob+=2;this.a=null;this.Va=a;this.ub=b;this.size=c||0;this.type=d||pb;this.i=d==qb;this.controller=null;Ja(this);this.ta=this.cc=!1;if(c)if(f)this.controller=f,this.a=null,rb(this,f.Wa);else if(Ga)this.f=new ArrayBuffer(c),this.g=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.m=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),rb(this,nb?sb:tb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;rb(this,ub)}else rb(this)}
var pb=0,qb=2,Pa=4,Ra=["NONE","RAM","ROM","VID","H/W"],ob=0;
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ga)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.g.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(Ga)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.a=a;return this.ta=!0}return!1},s:function(){return 255},w:function(){},u:function(a,b){return this.ab(a++,b++)|this.ab(a,b)<<8},G:function(a,b,c){this.Ua(a++,
b&255,c++);this.Ua(a,b>>8,c)},Z:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ia:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},oa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ta=!0},Ha:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ta=!0},I:function(a,b){return this.R(a,b)},fa:function(a,b){return this.ga(a,
b)},ma:function(a,b,c){this.i||this.Yb(a,b,c)},Ea:function(a,b,c){this.i||this.Fa(a,b,c)},H:function(a){return this.b[a]},S:function(a){return this.b[a]},$:function(a){return this.g.getUint16(a,!0)},ha:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.m[a>>1]},ja:function(a,b){this.b[a]=b;this.ta=!0},na:function(a,b){this.b[a]=b;this.ta=!0},Da:function(a,b){this.g.setUint16(a,b,!0);this.ta=!0},Ga:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.m[a>>1]=b;this.ta=!0}};
function Ja(a,b,c){a.L=b;a.C=a.l=0;c&&((a.C=c.C)&&vb(a,wb,!1),(a.l=c.l)&&xb(a,wb,!1))}function xb(a,b,c){c&&a.l||(a.Ua=!a.i&&b[1]||a.w,a.Gc=!a.i&&b[3]||a.G);if(c||void 0===c)a.Yb=b[1]||a.w,a.Fa=b[3]||a.G}function vb(a,b,c){c&&a.C||(a.ab=b[0]||a.s,a.oc=b[2]||a.u);if(c||void 0===c)a.R=b[0]||a.s,a.ga=b[2]||a.u}function rb(a,b){b||(b=yb);vb(a,b,void 0);xb(a,b,void 0)}var yb=[],ub=[G.prototype.Z,G.prototype.oa,G.prototype.ia,G.prototype.Ha],wb=[G.prototype.I,G.prototype.ma,G.prototype.fa,G.prototype.Ea];
if(Ga)var tb=[G.prototype.H,G.prototype.ja,G.prototype.$,G.prototype.Da],sb=[G.prototype.S,G.prototype.na,G.prototype.ha,G.prototype.Ga];function zb(a,b){v.call(this,"CPU",a,zb);var c=a.multiplier||1;this.lb=a.cycles||b;this.ia=c;this.yb=Math.round(this.lb/1E4)/100;this.ma=this.yb*this.ia;this.h.aa=!1;this.h.Wb=!1;this.h.Xa=a.autoStart;this.h.Jb=!1;this.h.nb=!1;this.jb=this.na=0;this.kb=a.csStart;this.Ea=a.csInterval;this.Fa=a.csStop;this.R=[];this.Rb=this.zc.bind(this);E(this)}y(zb);
var Ab=["power","reset"];l=zb.prototype;l.La=function(a,b,c,d){this.H=a;this.D=b;this.L=d;for(b=0;b<Ab.length;b++)(c=this.C[Ab[b]])&&this.H.da(null,Ab[b],c);this.Da=null;a=Bb(a,"autoStart");null!=a&&(this.h.Xa="true"==a?!0:"false"==a?!1:!!a);E(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.ya=function(a,b){if(!b){if(a&&this.restore){Cb(this);if(!this.restore(a))return!1;Db(this)}else this.reset();this.V("No debugger detected")}Eb(this);return!0};
l.xa=function(a){return a?this.save():!0};l.Xa=function(){return this.h.Xa||void 0===this.C.run?(Fb(this),!0):!1};l.Ob=function(){return 0};function Db(a){void 0===a.kb&&(a.kb=0);void 0===a.Ea&&(a.Ea=-1);void 0===a.Fa&&(a.Fa=-1);a.h.nb=0<=a.kb&&0<a.Ea;a.h.nb&&(a.jb=0,a.na=a.kb-a.ja)}
function Gb(a,b,c,d){if(a.C[b]){void 0===c&&(a.h.error=!0,a.M("Value for "+b+" is invalid"),Hb(a));var f=a.L&&a.L.b||8;if(!a.h.aa||a.h.Jb)if(8==f){f="";d?11<d&&(d=11):d=c&-65536?11:6;if(null==c||isNaN(c))for(;0<d--;)f="?"+f;else for(;0<d--;)f=String.fromCharCode((c&7)+48)+f,c>>=3;d=""+f}else d=n(c,d);else d="--------".substr(0,d||4);a.C[b].textContent!=d&&(a.C[b].textContent=d)}}
l.da=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.C[b]=c;a=!0;break;case "run":this.C[b]=c;c.onclick=function(){var a;if(a=d.H)if(a=d.H,a.h.N)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.h.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.h.N);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.ob?" (waiting for notification)":""))+".");a=!1}a&&(d.h.aa?Hb(d):Fb(d))};a=!0;
break;case "speed":this.C[b]=c;a=!0;break;case "setSpeed":this.C[b]=c,c.onclick=function(){Ib(d,d.ia<<1)},c.textContent=this.ma.toFixed(2)+"Mhz",a=!0}return a};function Jb(a,b,c){a.ja+=b;c&&(a.S=a.a=0)}function Kb(a,b){var c=1;b&&1<a.ia&&a.ga&&(c=a.ga/a.yb);a.Pb=Math.round(1E3/30);a.mb=Math.floor(a.lb/30*c);b||(a.Ga=a.mb);a.zb=0}function Lb(a){return a.ja+a.$+a.S-a.a}function Cb(a){a.ga=0;a.Qb=0;a.ja=a.$=a.S=a.a=0;Db(a);Ib(a,1)}
function Ib(a,b){if(void 0!==b&&(.8>a.ga/a.ma&&(b=1),a.ia=b,b=a.yb*a.ia,a.ma!=b)){a.ma=b;b=a.ma.toFixed(2)+"Mhz";var c=a.C.setSpeed;c&&(c.textContent=b);a.V("target speed: "+b)}Jb(a,a.$);a.$=0;a.Z=ha();a.ha=0;Kb(a)}function Za(a,b){var c=a.R.length;a.R.push([-1,b]);return c}function $a(a,b){var c;0<=b&&b<a.R.length&&0>a.R[b][0]&&(c=a.lb*a.ia/1E3*(1E3/60),a.R[b][0]=c)}
l.zc=function(){if(this.h.aa){this.zb>=this.lb&&Kb(this,!0);this.Ha=0;this.ib=ha();if(this.ha){var a=this.ib-this.ha;a>this.Pb&&(this.Z+=a,this.Z>this.ib&&(this.Z=this.ib))}try{do{for(var b,c=this.h.nb?1:this.mb,d=this.R.length-1;0<=d;d--){var f=this.R[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Xb(b)}catch(m){if("number"!=typeof m)throw m;}for(var e=this.S-this.a,a=e,g=this.R.length-1;0<=g;g--){var h=this.R[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ha+=e;this.$+=e;Jb(this,0,!0);a=e;if(this.h.nb){var k=
!1;this.jb=this.jb+this.Ob()|0;this.na-=a;0>=this.na&&(this.na+=this.Ea,k=!0);0<=this.Fa&&this.Fa<=Lb(this)&&(this.Ea=this.Fa=-1,Db(this),Hb(this),k=!0);k&&this.V(Lb(this)+" cycles: checksum="+n(this.jb))}this.Ga-=e;if(0>=this.Ga){this.Ga+=this.mb;15<=++this.Qb&&(this.H&&this.H.Ta(),this.Qb=0);break}}while(this.h.aa)}catch(m){Hb(this);Eb(this);this.H&&this.H.stop(ha(),Lb(this));b=m.stack||m.message;this.h.error=!0;this.M(b);return}if(this.h.aa){b=setTimeout;c=this.Rb;this.ha=ha();d=this.Pb;this.Ha&&
(d=Math.round(d*this.Ha/this.mb));d-=this.ha-this.ib;if(f=this.ha-this.Z)this.ga=Math.round(this.$/(10*f))/100,864E5<=f&&(this.ja=0,Ib(this));if(0>d||this.ga<this.ma)-1E3>d&&(this.Z-=d),d=0;this.zb+=this.Ha;this.ha+=d;b(c,d)}}};function Fb(a){var b;a.h.error?(a.V(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.aa)a.V(a.toString()+" busy");else{Ib(a);a.h.aa=!0;a.h.Wb=!0;a.Da&&a.Da.start();if(b=a.C.run)b.textContent="Halt";a.H&&a.H.start(a.Z,Lb(a));Eb(a,!0);setTimeout(a.Rb,0)}}l.Xb=function(){return 0};
function Hb(a){if(a.h.aa){a.S-=a.a;a.a=0;Jb(a,a.$);a.$=0;a.h.aa=!1;a.Da&&a.Da.stop();var b=a.C.run;b&&(b.textContent="Run");a.H&&a.H.stop(ha(),Lb(a));Eb(a)}a.h.complete=void 0}function Eb(a,b){a.H&&a.H.Ta(b)}
function Mb(a){this.gc=a.resetAddr||0;zb.call(this,a,6666667);this.Lb=0;this.decode=Nb.bind(this);this.m=65536;this.g=32768;this.i=65535;this.u=32768;this.A=15;this.c=[0,0,0,0,0,0,0,this.gc];this.Na=[0,0,0,0,0,0];this.ea=[0,0,0,0];this.hb=this.G=0;this.O=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.fb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.s=this.b=this.l=this.f=this.vb=this.j=0;this.Ka=70;this.oa=-1;Ob(this);this.h.complete=this.h.ac=!1}y(Mb,zb);l=Mb.prototype;l.reset=function(){this.h.aa&&Hb(this);Ob(this);Cb(this);this.h.error=!1;this.parent.reset.call(this)};
function Ob(a){a.Aa=255;a.o=0;a.Eb=0;a.I=0;a.za=0;a.sb=0;a.Ma=0;a.pb=0;a.gb=0;a.qb=[7,7,7,7];a.w=[];a.j|=2;ab(a)}function ab(a){a.pb?(a.Ib=65536,a.fa=a.ec):(a.Ib=0,a.fa=a.dc)}l.Ob=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.ja,this.ia]);a.set(2,Ua(this.D));return a.data()};
l.restore=function(a){var b=a[1];this.ja=b[1];Ib(this,b[3]);a:{b=this.D;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.G){for(var e=0,g=Array(b.G),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.b[d];if(!e||!e.restore(f)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
l.da=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.C[b]=c;this.Lb++;a=!0;break;default:a=this.parent.da.call(this,a,b,c)}return a};
l.Ta=function(a){if(this.Lb&&(a||!this.h.aa||this.h.Jb)){for(a=0;a<this.c.length;a++)Hb(this,"R"+a,this.c[a]);a=cb(this);Hb(this,"PS",a);Hb(this,"NF",a&8?1:0,1);Hb(this,"ZF",a&4?1:0,1);Hb(this,"VF",a&2?1:0,1);Hb(this,"CF",a&1?1:0,1)}if(a=this.C.speed)a.textContent=this.h.aa&&this.ga?this.ga.toFixed(2)+"Mhz":"Stopped"};function N(a){return a.m&65536?1:0}l.ua=function(){return this.u&32768?8:0};function Qb(a){var b=O(a,a.c[7]);a.c[7]=a.c[7]+2&65535;return b}
function I(a,b,c,d,f){for(var e=a.w.length;0<e--;)if(a.w[e].Bc===d){0<e&&(a.w[e-1].sa+=a.w[e].sa);a.w.splice(e,1);break}if(0<=b){for(e=a.w.length;0<e--;){if(a.w[e].sa>b){a.w[e].sa-=b;break}b-=a.w[e].sa}a.w.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.j|=2}function cb(a){return a.A=a.A&63728|a.ua()|(a.i&65535?0:4)|(a.g&32768?2:0)|N(a)}
function db(a,b){a.u=b<<12;a.i=~b&4;a.g=b<<14;a.m=b<<16;if((b^a.A)&2048)for(var c=a.Na.length;0<=--c;){var d=a.c[c];a.c[c]=a.Na[c];a.Na[c]=d}a.G=b>>14&3;c=a.A>>14&3;a.G!=c&&(a.ea[c]=a.c[6],a.c[6]=a.ea[a.G]);a.j|=2;a.A=b}function P(a,b){a.j&128||(a.u=a.i=b,a.g=0)}function Q(a,b,c){a.j&128||(a.u=a.i=a.m=b,a.g=c||0)}function Rb(a,b,c,d){a.j&128||(a.u=a.i=a.m=b,a.g=(c^b)&(d^b))}function R(a,b){a.j&128||(a.u=a.i=a.m=b,a.g=a.u^a.m>>1)}function Sb(a,b,c,d){a.j&128||(a.u=a.i=a.m=b,a.g=(c^d)&(d^b))}
function K(a,b){var c=!1;0>a.oa?a.oa=cb(a):a.G||(b=4,c=!0);a.I&57344||(a.za=63222,a.sb=b);a.G=0;var d=O(a,b|65536),f=O(a,b+2&65535|65536);db(a,f&-12289|a.oa>>2&12288);c&&(a.o|=4,a.c[6]=4);Tb(a,a.oa);Tb(a,a.c[7]);a.c[7]=d&65535;a.j&=-113;a.oa=-1;throw b;}function Ub(a){var b=Vb(a),c=Vb(a)&-1793;a.A&49152&&(c=c&-225|a.A&63712);a.c[7]=b&65535;db(a,c);a.j&=-17}
function kb(a,b){var c=b>>13&31;31>c?a.Ma&32&&(b=a.fb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
function Wb(a,b,c){var d,f,e,g=0;if(c&a.pb){d=b>>13&a.qb[a.G];f=a.P[a.G][d];e=(a.P[a.G][d+16]<<6)+(b&8191)&4194303;a.Ma&16?3932160<=e&&4186112>e&&(e=kb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.o|=32,K(a,4)),e&1&&!(c&1)&&(a.o|=64,K(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|=
16384));a.P[a.G][d]=f;if(4194170!==e||a.G)a.gb=a.G,a.hb=d;g&&(g&57344&&(0<=a.oa&&(g|=128),a.I&57344||(a.I=a.I|g|a.gb<<5|a.hb<<1),K(a,168)),a.I&61440||!(4191360>e||4194239<e)||(a.I|=4096,a.I&512&&(a.j|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.o|=64,K(a,4));return e}function lb(a,b){if(4194304<=b)b=a.c[b-4194304];else if(0<=b){a=a.D;var c=b&a.i,d=(b&a.l)>>>a.f;b=c!=a.i?a.b[d].oc(c,b):a.b[d++].ab(c,b)|a.b[d&a.H].ab(0,b+1)<<8}return b}function O(a,b){return lb(a,Wb(a,b,2))}
function Vb(a){var b=O(a,a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Tb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.I&57344||(a.za=a.za<<8|246);!a.G&&c<=a.Aa&&4<c&&(c<=a.Aa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=4));c=Wb(a,c|65536,4);Ua(a.D,c,b&65535)}
function Xb(a,b,c){var d,f,e=c&8?0:a.Ib,g=b>>3&7;b&=7;c&4?(a.f=g,a.b=b):(a.l=g,a.s=b);switch(g){case 0:return K(a,4),0;case 1:return 6===b&&!a.G&&c&4&&(a.c[6]<=a.Aa||65534<=a.c[6])&&(a.c[6]<=a.Aa-32||65534<=a.c[6]?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=64)),a.a-=3,7===b?a.c[b]:a.c[b]|e;case 2:f=2;d=a.c[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.a-=3;break;case 3:f=2;d=a.c[b];7!==b&&(d|=e);d=O(a,d);d|=e;a.a-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.c[b]+f&65535;7!==b&&(d|=e);a.a-=4;break;case 5:f=-2;d=a.c[b]-
2&65535;7!==b&&(d|=e);d=O(a,d)|e;a.a-=8;break;case 6:return d=Qb(a),d=d+a.c[b]&65535|e,a.a-=6,d;case 7:return d=Qb(a),d=d+a.c[b]&65535,d=O(a,d|65536)|e,a.a-=10,d}a.c[b]=a.c[b]+f&65535;!e||a.I&57344||(a.za=a.za<<8|f<<3&248|b);6==b&&!a.G&&c&4&&0>=f&&(a.c[6]<=a.Aa||65534<=a.c[6])&&(a.c[6]<=a.Aa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=64));return d}l.dc=function(a,b){return Xb(this,a,b)};l.ec=function(a,b){return Wb(this,Xb(this,a,b),b)};
function Yb(a,b,c){b&56?(b=Xb(a,b,2),c&65536||61440!==(a.A&61440)&&(b&=65535),a.G=a.A>>12&3,c=O(a,b|c&65536),a.G=a.A>>14&3):(a.l=0,c=a.s=b&7,c=6!=c||(a.A>>2&12288)===(a.A&12288)?a.c[c]:a.ea[a.A>>12&3]);return c}function Zb(a,b,c,d){a.I&57344||(a.za=22);b&56?(b=Xb(a,b,4),c&65536||(b&=65535),a.G=a.A>>12&3,b=Wb(a,b|c&65536,4),a.G=a.A>>14&3,Ua(a.D,b,d&65535)):(a.f=0,c=a.b=b&7,6!=c||(a.A>>2&12288)===(a.A&12288)?a.c[c]=d:a.ea[a.A>>12&3]=d)}
function S(a,b){b&56?a=lb(a,a.fa(b,2)):(a.l=0,a=a.c[a.s=b&7]);return a}function T(a,b){b&56?(b=a.fa(b,3),a=Ta(a.D,b)):(a.l=0,a=a.c[a.s=b&7]&255);return a}function U(a,b,c,d){b&56?(b=a.fa(b,6),c=d.call(a,c,lb(a,b)),Ua(a.D,b,c&65535)):(a.f=0,b=a.b=b&7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.vb=a.fa(b,7),c=d.call(a,c,Ta(a.D,b)),b&1&&a.a--,a=a.D,a.b[(b&a.l)>>>a.f].Ua(b&a.i,c&255,b)):(a.f=0,b=a.b=b&7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}
function $b(a,b,c){b&56?(b=a.fa(b,4),Ua(a.D,b,c&65535)):(a.f=0,a.c[a.b=b&7]=c&65535);return c}function ac(a,b,c,d){b&56?(d=a.fa(b,5),d&1&&a.a--,a=a.D,a.b[(d&a.l)>>>a.f].Ua(d&a.i,c&255,d)):(a.f=0,b=a.b=b&7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b,c){c&&(a.c[7]=a.c[7]+(b<<24>>23)&65535,a.a-=2);a.a-=3}
l.Xb=function(a){this.h.complete=!0;this.h.ac=!1;this.h.Wb=!1;this.T=this.a=a;do{if(this.j&&(this.j&112&&(this.j&32?K(this,168):this.j&64?K(this,4):this.j&16&&K(this,12),this.j&=-113),this.j&7))if(this.j&2){this.j&=-3;a=null;for(var b=this.Eb&224,c=this.w.length;0<=--c;){if(0<this.w[c].sa){this.w[c].sa--;this.j|=2;break}if(this.w[c].Hb){if(!this.w[c].Hb()){this.w.splice(c,1);continue}this.w[c].Hb=null}this.w[c].jc>b&&(b=this.w[c].jc,a=this.w[c],this.w.splice(c,1))}b>(this.A&224)&&(this.j&4&&(this.c[7]=
this.c[7]+2&65535,this.j&=-5),a?K(this,a.Bc):K(this,160))}else this.j&1&&this.j++;this.I&57344||(this.za=0,this.sb=this.c[7]);this.j=this.j&7|this.A&16;this.decode(Qb(this))}while(0<this.a);return this.h.complete?this.T-this.a:void 0===this.h.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Nb(d);B(d,c)}});function bc(a,b){var c=b+a;Rb(this,c,a,b);return c&65535}function cc(a,b){var c=b+a;Rb(this,c<<8,a<<8,b<<8);return c&255}
function dc(a,b){a=b<<1;R(this,a);return a&65535}function ec(a,b){a=b<<1;R(this,a<<8);return a&255}function fc(a,b){a=b&32768|b>>1|b<<16;R(this,a);return a&65535}function gc(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function hc(a,b){a=b&~a;P(this,a);return a}function ic(a,b){a=b&~a;P(this,a<<8);return a}function jc(a,b){a|=b;P(this,a);return a}function kc(a,b){a|=b;P(this,a<<8);return a}function lc(a,b){a=~b|65536;Q(this,a);return a&65535}
function mc(a,b){a=~b|256;Q(this,a<<8);return a&255}function nc(a,b){a=b-a;this.j&128||(this.u=this.i=a,this.g=b&(b^a));return a&65535}function oc(a,b){a=b-a;var c=a<<8;b<<=8;this.j&128||(this.u=this.i=c,this.g=b&(b^c));return a&255}function pc(a,b){a=b+a;this.j&128||(this.u=this.i=a,this.g=a&(b^a));return a&65535}function qc(a,b){a=b+a;var c=a<<8;this.j&128||(this.u=this.i=c,this.g=c&(b<<8^c));return a&255}function rc(a,b){a=-b;Q(this,a,a&b&32768);return a&65535}
function sc(a,b){a=-b;Q(this,a<<8,(a&b&128)<<8);return a&255}function tc(a,b){a=b<<1|this.m>>16&1;R(this,a);return a&65535}function uc(a,b){a=b<<1|this.m>>16&1;R(this,a<<8);return a&255}function vc(a,b){a=(this.m&65536|b)>>1|b<<16;R(this,a);return a&65535}function wc(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function xc(a,b){var c=b-a;Sb(this,c,a,b);return c&65535}function yc(a,b){var c=b-a;Sb(this,c<<8,a<<8,b<<8);return c&255}
function zc(a,b){this.j&128||(this.u=this.i=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535}function Ac(a,b){a^=b;P(this,a);return a&65535}function Bc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a];c&32768&&(c|=4294901760);this.m=this.g=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.m=c<<17-b,c>>=b;else if(b)if(16<b)this.g=c,c=0;else{this.m=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.g=32768)}this.c[a]=c&65535;this.u=this.i=c;this.a-=(this.l?6:7)+b}
function Cc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.m=this.g=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.m=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.g=32768)):d=c;this.c[a]=d>>16&65535;this.c[a|1]=d&65535;this.u=d>>16;this.i=d>>16|d;this.a-=(this.l?6:7)+b}function X(a){a&1&&(this.m=0);a&2&&(this.g=0);a&4&&(this.i=1);a&8&&(this.u=0);this.a-=5}
function Dc(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.c[a]=d&65535,this.c[a|1]=c-d*b&65535,this.i=d>>16|d,this.u=d>>16):(this.g=32768,this.i=d>>15|d,this.u=c>>16,-1===b&&65534===this.c[a]&&(this.c[a]=this.c[a|1]=1));this.a-=53}else this.i=this.u=0,this.g=32768,this.m=65536,this.a-=7}var Ec=[0,7,7,10,7,11,9,13];function Fc(a){var b=this.a;a=Xb(this,a,8);this.c[7]=a&65535;this.a=b-Ec[this.l]}
var Gc=[0,14,14,17,14,18,16,20];function Hc(a){var b=this.a,c=Xb(this,a,8);a=a>>6&7;Tb(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=c&65535;this.a=b-Gc[this.l]}var Ic=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],Jc=[7,13,13,17,14,18,17,21];function Kc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.j&128||(this.u=b>>16,this.i=this.u|b,this.g=0,this.m=-32768>b||32767<b?65536:0);this.a-=23}
function Lc(){this.a-=5}function Y(a){a&1&&(this.m=65536);a&2&&(this.g=32768);a&4&&(this.i=0);a&8&&(this.u=32768);this.a-=5}function Mc(a){var b=(a&448)>>6;if(this.c[b]=this.c[b]-1&65535)this.c[7]=this.c[7]-((a&63)<<1)&65535,this.a+=1;this.a-=6}function Nc(a){U(this,a,0,zc);this.a-=this.f?9:3+(7==this.b?2:0)}function Oc(a){U(this,a,S(this,(a&448)>>6),Ac);this.a-=this.f?9:3+(7==this.b?2:0)}function Z(){K(this,8)}function Ob(a){Pc[a>>12].call(this,a)}
var Pc=[function(a){Qc[a>>8&15].call(this,a)},function(a){var b=S(this,a>>6),c=this.a;P(this,$b(this,a,b));this.a=c-Ic[(this.l?8:0)+this.f]+(7!=this.b||this.f?0:2)},function(a){var b=S(this,a>>6),c=this.l,d=this.s;a=S(this,a);Sb(this,b-a,a,b);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){var b=S(this,a>>6),c=this.l,d=this.s;a=S(this,a);P(this,b&a);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){U(this,a,S(this,a>>6),hc);this.a-=this.f?9+(this.s&&
6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),jc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),bc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){Rc[a>>8&15].call(this,a)},function(a){Sc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);P(this,ac(this,a,b,1)<<8);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){var b=T(this,a>>6)<<8,
c=this.l,d=this.s;a=T(this,a)<<8;Sb(this,b-a,a,b);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){var b=T(this,a>>6),c=this.l,d=this.s;a=T(this,a);P(this,(b&a)<<8);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){V(this,a,T(this,a>>6),ic);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){V(this,a,T(this,a>>6),kc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),
xc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},Z],Qc=[function(a){Tc[a>>4&15].call(this,a)},function(a){W(this,a,!0)},function(a){W(this,a,!!(this.i&65535))},function(a){W(this,a,this.i&65535?0:4)},function(a){W(this,a,!this.ua()==!(this.g&32768))},function(a){W(this,a,!this.ua()!=!(this.g&32768))},function(a){W(this,a,!!(this.i&65535)&&!this.ua()==!(this.g&32768))},function(a){W(this,a,(this.i&65535?0:4)||!this.ua()!=!(this.g&32768))},Hc,Hc,function(a){Uc[a>>6&3].call(this,
a)},function(a){Vc[a>>6&3].call(this,a)},function(a){Wc[a>>6&3].call(this,a)},function(a){Xc[a>>6&3].call(this,a)},Z,Z],Uc=[function(a){Q(this,$b(this,a,0));this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,lc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,1,pc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,1,nc);this.a-=this.f?9:3+(7==this.b?2:0)}],Vc=[function(a){U(this,a,0,rc);this.a-=this.f?11:6},function(a){U(this,a,N(this)?1:0,bc);this.a-=this.f?9:3+(7==this.b?
2:0)},function(a){U(this,a,N(this)?1:0,xc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){a=S(this,a);Q(this,a);this.a-=this.l?4:3+(7==this.s?2:0)}],Wc=[function(a){U(this,a,0,vc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,tc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,fc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,dc);this.a-=this.f?9:3+(7==this.b?2:0)}],Xc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=O(this,a|65536);this.c[7]=this.c[5]&65535;
this.c[6]=a+2&65535;this.c[5]=b;this.a-=8},function(a){a=Yb(this,a,0);Tb(this,a);P(this,a);this.a-=11},function(a){var b=Vb(this),c=this.a;Zb(this,a,0,b);P(this,b);this.a=c-Jc[this.f]},function(a){P(this,$b(this,a,this.ua?65535:0));this.a-=this.f?9:3+(7==this.b?2:0)}],Tc=[function(a){Yc[a&15].call(this,a)},Z,Z,Z,Fc,Fc,Fc,Fc,function(a){if(a&8)K(this,8);else{var b=Vb(this);a&=7;this.c[7]=this.c[a]&65535;this.c[a]=b;this.a-=9}},function(a){a&8?(this.A&49152||(this.A=this.A&-2017|(a&7)<<5,this.j|=1),
this.a-=5):K(this,8)},function(a){Zc[a&15].call(this,a)},function(a){$c[a&15].call(this,a)},Nc,Nc,Nc,Nc],Yc=[function(){this.A&49152?(this.o|=128,K(this,4)):(this.T-=this.a,this.a=0);this.a-=7},function(){this.j|=4;this.c[7]=this.c[7]+-2&65535;this.a-=3},function(){Ub(this);this.j|=this.A&16;this.a-=13},function(){K(this,12);this.a-=5},function(){K(this,16);this.a-=25},function(){this.A&49152||(Pb(this),this.D.reset());this.a-=667},function(){Ub(this);this.a-=13},Z,Z,Z,Z,Z,Z,Z,Z,Z],Zc=[Lc,function(){this.m=
0;this.a-=5},function(){this.g=0;this.a-=5},X,function(){this.i=1;this.a-=5},X,X,X,function(){this.u=0;this.a-=5},X,X,X,X,X,X,X],$c=[Lc,function(){this.m=65536;this.a-=5},function(){this.g=32768;this.a-=5},Y,function(){this.i=0;this.a-=5},Y,Y,Y,function(){this.u=32768;this.a-=5},Y,Y,Y,Y,Y,Y,Y],Rc=[Kc,Kc,Dc,Dc,Bc,Bc,Cc,Cc,Oc,Oc,Z,Z,Z,Z,Mc,Mc],Sc=[function(a){W(this,a,!this.ua())},function(a){W(this,a,this.ua())},function(a){W(this,a,!N(this)&&!!(this.i&65535))},function(a){W(this,a,N(this)||(this.i&
65535?0:4))},function(a){W(this,a,!(this.g&32768))},function(a){W(this,a,this.g&32768?2:0)},function(a){W(this,a,!N(this))},function(a){W(this,a,N(this))},function(){K(this,24);this.a-=25},function(){K(this,28);this.a-=5},function(a){ad[a>>6&3].call(this,a)},function(a){bd[a>>6&3].call(this,a)},function(a){cd[a>>6&3].call(this,a)},function(a){dd[a>>6&3].call(this,a)},Z,Z],ad=[function(a){Q(this,ac(this,a,0));this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,0,mc);this.a-=this.f?9:3+(7==this.b?
2:0)},function(a){V(this,a,1,qc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,1,oc);this.a-=this.f?9:3+(7==this.b?2:0)}],bd=[function(a){V(this,a,0,sc);this.a-=this.f?11:6},function(a){V(this,a,N(this)?1:0,cc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,N(this)?1:0,yc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){a=T(this,a);Q(this,a<<8);this.a-=this.l?4:3+(7==this.s?2:0)}],cd=[function(a){V(this,a,0,wc);this.a-=this.f?9+(this.vb&1):3+(7==this.b?2:0)},function(a){V(this,
a,0,uc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,0,gc);this.a-=this.f?9+(this.vb&1):3+(7==this.b?2:0)},function(a){V(this,a,0,ec);this.a-=this.f?9:3+(7==this.b?2:0)}],dd=[Z,function(a){a=Yb(this,a,65536);Tb(this,a);P(this,a);this.a-=11},function(a){var b=Vb(this),c=this.a;Zb(this,a,65536,b);P(this,b);this.a=c-Jc[this.f]},Z];
function ed(a){v.call(this,"ROM",a,ed);this.b=null;this.m=a.addr;this.f=a.size;this.s=a.writable;this.g=a.alias;this.i=a.file;this.u=ca(this.i);if(this.i){a=this.i;var b=da(this.u);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){fd(c,a,b,e)})}}y(ed);ed.prototype.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;gd(this)};ed.prototype.ya=function(){this.l&&(this.L&&this.L.a(this.id,this.m,this.f,this.l),delete this.l);return!0};
ed.prototype.xa=function(){return!0};
function fd(a,b,c,d){if(d)a.N("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Nb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.l=h.symbols;if(!a.b.length){r("Empty ROM: "+b);
return}if(1==a.b.length){r(a.b[0]);return}}catch(k){a.N("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);gd(a)}}
function gd(a){if(!Ga(a))if(!a.i)E(a);else if(a.b&&a.D){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.h.error=!0;a.N(b)}else{b=a.m;if(Pa(a.D,b,a.f,a.s?1:rb)){var c;for(c=0;c<a.b.length;c++){var d=a.D,f=b+c;d.b[(f&d.l)>>>d.f].Yb(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.D,g=e.f,h=[],k=e.m>>>f.f;0<g&&
k<f.b.length;)h.push(f.b[k++]),g-=f.g;f=e.D;e=e.f;g=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.g}}delete a.b}}E(a)}}u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new ed(d);B(d,c)}});function hd(a){v.call(this,"RAM",a,hd);this.g=a.addr;this.f=a.size;this.b=!1}y(hd);l=hd.prototype;l.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;E(this)};l.ya=function(a,b){b||this.reset();return!0};l.xa=function(a){return a?this.save():!0};
l.reset=function(){!this.b&&this.f&&Pa(this.D,this.g,this.f,1)&&(this.b=!0);this.b||r("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new hd(d);B(d,c)}});function id(a){v.call(this,"Keyboard",a,id);E(this)}y(id);id.prototype.da=function(){return!1};id.prototype.La=function(a,b,c,d){this.H=a;this.a=c;this.L=d;this.Da=null};
u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new id(d);B(d,c)}});
function jd(a,b,c){v.call(this,"Computer",a,jd);this.h.O=!1;kd(this,b);this.G=Cb(this,"autoPower",a);this.g=0;this.Z=a.busWidth||a.buswidth;this.b=ld;this.u=null;this.m=this.S=!1;this.url=Cb(this,"url")||"";(Math.random()+.1).toString(36);this.f=md(this);if(this.a=Fa("CPU",this.id)){this.L=Fa("Debugger",this.id);this.D=new F({id:this.Nb+".bus",busWidth:this.Z},this.a,this.L);var d,f=z(this.id);if((this.i=Fa("Panel",this.id))&&this.i.Ab)for(b=0;b<f.length;b++)d=f[b],d.N=this.i.N,d.M=this.i.M,d.Ab=
this.i.Ab;this.M("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.M("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.La&&d.La(this,this.D,this.a,this.L);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.s=d:this.b=parseInt(d,10));var e;if(a=Cb(this,"state")||(e=!0,a.state))b=this.H=a,e||(this.m=!0,this.b=ld),this.b&&(this.w=
new M(this,"1.30.0"),nd(this.w)?b=null:delete this.w);!b&&this.b&&(b=od(this))&&(this.m=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.s=null,g.m=!1,g.N("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.u=b,g.S=!0);E(g)})}else E(this);this.C.power||(this.G=!0);!c&&this.G&&pd(this,this.$a)}else r("Unable to find CPU component")}y(jd);var ld=0;
function kd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.T=b}function Cb(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[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 pd(a,b,c){for(var d=z(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ga(e)){Ga(e,function(){pd(a,b,c)});return}}b.call(a,c)}
function qd(a,b){var c=new M(a,"1.30.0","validate");if(nd(c)&&rd(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.N("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=jd.prototype;
l.$a=function(a){void 0===a&&(a=this.b||(this.u?1:ld));if(!this.g){this.g++;var b=!1,c=!1;this.I=!1;var d=this.w||new M(this,"1.30.0");if(-1==a)b=!0;else if(a>ld){if(nd(d,this.u)){this.l=new M(this,"1.30.0","failsafe");nd(this.l)&&(sd(this,d),a=2,td(this.l));this.l.set("timestamp",ja());ud(this.l);var f=this.b&&!this.m;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=rd(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?nd(d,g):("error"==
e&&"no machine state"!=g?(this.N("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.M(e+": "+g),td(d),nd(d)?(c=rd(d),f=!0):c=!1))}f&&qd(this,c?d:null)}else 2==a&&d.clear()}else qd(this);delete this.u;delete this.w}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=vd(this,g,d,b,c));b=[d,a,c];-1!=a?pd(this,this.Kb,b):this.Kb(b)}};
function vd(a,b,c,d,f){if(!b.h.O){b.h.O=!0;if(b.ya){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.ya(e,d)&&e&&(r("Unable to restore state for "+b.type),a.H&&!a.S?(c.clear(),a.b=ld,window&&window.location.reload()):a.I=!0,b.ya(null),f=!1)}if(!d&&b.Mb)for(a=b.Mb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
l.Kb=function(a){var b=a[0],c=0>a[1];a=a[2];this.$=!0;this.h.O=!0;var d=this.C.power;d&&(d.textContent="Shutdown");this.a&&(vd(this,this.a,b,c,a),this.a.Xa());this.I&&(sd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.g=0};
function sd(a,b){if(ka("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}}
function wd(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=ja();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.xa&&(c&&Ib(a.a),d=a.a.xa(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.h.O=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;k<h.length;k++){var m=h[k];m.h.O&&(m.xa&&(d=m.xa(b,c),"object"===typeof d&&e.set(m.id,
d)),c&&(m.h.O=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&xd(a,a.f,e.toString()),ud(g)&&ud(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.h.O=!1,b=a.C.power)&&(b.textContent="Power");a.g=0;return f}l.reset=function(){this.D&&this.D.reset&&this.D.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
l.Ta=function(a){if(this.Lb&&(a||!this.h.aa||this.h.Jb)){for(a=0;a<this.c.length;a++)Gb(this,"R"+a,this.c[a]);a=bb(this);Gb(this,"PS",a);Gb(this,"NF",a&8?1:0,1);Gb(this,"ZF",a&4?1:0,1);Gb(this,"VF",a&2?1:0,1);Gb(this,"CF",a&1?1:0,1)}if(a=this.C.speed)a.textContent=this.h.aa&&this.ga?this.ga.toFixed(2)+"Mhz":"Stopped"};function N(a){return a.m&65536?1:0}l.ua=function(){return this.u&32768?8:0};function Pb(a){var b=O(a,a.c[7]);a.c[7]=a.c[7]+2&65535;return b}
function I(a,b,c,d,f){for(var e=a.w.length;0<e--;)if(a.w[e].Bc===d){0<e&&(a.w[e-1].sa+=a.w[e].sa);a.w.splice(e,1);break}if(0<=b){for(e=a.w.length;0<e--;){if(a.w[e].sa>b){a.w[e].sa-=b;break}b-=a.w[e].sa}a.w.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.j|=2}function bb(a){return a.A=a.A&63728|a.ua()|(a.i&65535?0:4)|(a.g&32768?2:0)|N(a)}
function cb(a,b){a.u=b<<12;a.i=~b&4;a.g=b<<14;a.m=b<<16;if((b^a.A)&2048)for(var c=a.Na.length;0<=--c;){var d=a.c[c];a.c[c]=a.Na[c];a.Na[c]=d}a.G=b>>14&3;c=a.A>>14&3;a.G!=c&&(a.ea[c]=a.c[6],a.c[6]=a.ea[a.G]);a.j|=2;a.A=b}function P(a,b){a.j&128||(a.u=a.i=b,a.g=0)}function Q(a,b,c){a.j&128||(a.u=a.i=a.m=b,a.g=c||0)}function Qb(a,b,c,d){a.j&128||(a.u=a.i=a.m=b,a.g=(c^b)&(d^b))}function R(a,b){a.j&128||(a.u=a.i=a.m=b,a.g=a.u^a.m>>1)}function Rb(a,b,c,d){a.j&128||(a.u=a.i=a.m=b,a.g=(c^d)&(d^b))}
function K(a,b){var c=!1;0>a.oa?a.oa=bb(a):a.G||(b=4,c=!0);a.I&57344||(a.za=63222,a.sb=b);a.G=0;var d=O(a,b|65536),f=O(a,b+2&65535|65536);cb(a,f&-12289|a.oa>>2&12288);c&&(a.o|=4,a.c[6]=4);Sb(a,a.oa);Sb(a,a.c[7]);a.c[7]=d&65535;a.j&=-113;a.oa=-1;throw b;}function Tb(a){var b=Ub(a),c=Ub(a)&-1793;a.A&49152&&(c=c&-225|a.A&63712);a.c[7]=b&65535;cb(a,c);a.j&=-17}
function jb(a,b){var c=b>>13&31;31>c?a.Ma&32&&(b=a.fb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
function Vb(a,b,c){var d,f,e,g=0;if(c&a.pb){d=b>>13&a.qb[a.G];f=a.O[a.G][d];e=(a.O[a.G][d+16]<<6)+(b&8191)&4194303;a.Ma&16?3932160<=e&&4186112>e&&(e=jb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.o|=32,K(a,4)),e&1&&!(c&1)&&(a.o|=64,K(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|=
16384));a.O[a.G][d]=f;if(4194170!==e||a.G)a.gb=a.G,a.hb=d;g&&(g&57344&&(0<=a.oa&&(g|=128),a.I&57344||(a.I=a.I|g|a.gb<<5|a.hb<<1),K(a,168)),a.I&61440||!(4191360>e||4194239<e)||(a.I|=4096,a.I&512&&(a.j|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.o|=64,K(a,4));return e}function kb(a,b){a=a.D;var c=b&a.i,d=(b&a.l)>>>a.f;return c!=a.i?a.b[d].oc(c,b):a.b[d++].ab(c,b)|a.b[d&a.H].ab(0,b+1)<<8}function O(a,b){return kb(a,Vb(a,b,2))}
function Ub(a){var b=O(a,a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Sb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.I&57344||(a.za=a.za<<8|246);!a.G&&c<=a.Aa&&4<c&&(c<=a.Aa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=4));c=Vb(a,c|65536,4);Ta(a.D,c,b&65535)}
function Wb(a,b,c){var d,f,e=c&8?0:a.Ib,g=b>>3&7;b&=7;c&4?(a.f=g,a.b=b):(a.l=g,a.s=b);switch(g){case 0:return K(a,4),0;case 1:return 6===b&&!a.G&&c&4&&(a.c[6]<=a.Aa||65534<=a.c[6])&&(a.c[6]<=a.Aa-32||65534<=a.c[6]?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=64)),a.a-=3,7===b?a.c[b]:a.c[b]|e;case 2:f=2;d=a.c[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.a-=3;break;case 3:f=2;d=a.c[b];7!==b&&(d|=e);d=O(a,d);d|=e;a.a-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.c[b]+f&65535;7!==b&&(d|=e);a.a-=4;break;case 5:f=-2;d=a.c[b]-
2&65535;7!==b&&(d|=e);d=O(a,d)|e;a.a-=8;break;case 6:return d=Pb(a),d=d+a.c[b]&65535|e,a.a-=6,d;case 7:return d=Pb(a),d=d+a.c[b]&65535,d=O(a,d|65536)|e,a.a-=10,d}a.c[b]=a.c[b]+f&65535;!e||a.I&57344||(a.za=a.za<<8|f<<3&248|b);6==b&&!a.G&&c&4&&0>=f&&(a.c[6]<=a.Aa||65534<=a.c[6])&&(a.c[6]<=a.Aa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=64));return d}l.dc=function(a,b){return Wb(this,a,b)};l.ec=function(a,b){return Vb(this,Wb(this,a,b),b)};
function Xb(a,b,c){b&56?(b=Wb(a,b,2),c&65536||61440!==(a.A&61440)&&(b&=65535),a.G=a.A>>12&3,c=O(a,b|c&65536),a.G=a.A>>14&3):(a.l=0,c=a.s=b&7,c=6!=c||(a.A>>2&12288)===(a.A&12288)?a.c[c]:a.ea[a.A>>12&3]);return c}function Yb(a,b,c,d){a.I&57344||(a.za=22);b&56?(b=Wb(a,b,4),c&65536||(b&=65535),a.G=a.A>>12&3,b=Vb(a,b|c&65536,4),a.G=a.A>>14&3,Ta(a.D,b,d&65535)):(a.f=0,c=a.b=b&7,6!=c||(a.A>>2&12288)===(a.A&12288)?a.c[c]=d:a.ea[a.A>>12&3]=d)}
function S(a,b){b&56?a=kb(a,a.fa(b,2)):(a.l=0,a=a.c[a.s=b&7]);return a}function T(a,b){b&56?(b=a.fa(b,3),a=Sa(a.D,b)):(a.l=0,a=a.c[a.s=b&7]&255);return a}function U(a,b,c,d){b&56?(b=a.fa(b,6),c=d.call(a,c,kb(a,b)),Ta(a.D,b,c&65535)):(a.f=0,b=a.b=b&7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.vb=a.fa(b,7),c=d.call(a,c,Sa(a.D,b)),b&1&&a.a--,a=a.D,a.b[(b&a.l)>>>a.f].Ua(b&a.i,c&255,b)):(a.f=0,b=a.b=b&7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}
function Zb(a,b,c){b&56?(b=a.fa(b,4),Ta(a.D,b,c&65535)):(a.f=0,a.c[a.b=b&7]=c&65535);return c}function $b(a,b,c,d){b&56?(d=a.fa(b,5),d&1&&a.a--,a=a.D,a.b[(d&a.l)>>>a.f].Ua(d&a.i,c&255,d)):(a.f=0,b=a.b=b&7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b,c){c&&(a.c[7]=a.c[7]+(b<<24>>23)&65535,a.a-=2);a.a-=3}
l.Xb=function(a){this.h.complete=!0;this.h.ac=!1;this.h.Wb=!1;this.S=this.a=a;do{if(this.j&&(this.j&112&&(this.j&32?K(this,168):this.j&64?K(this,4):this.j&16&&K(this,12),this.j&=-113),this.j&7))if(this.j&2){this.j&=-3;a=null;for(var b=this.Eb&224,c=this.w.length;0<=--c;){if(0<this.w[c].sa){this.w[c].sa--;this.j|=2;break}if(this.w[c].Hb){if(!this.w[c].Hb()){this.w.splice(c,1);continue}this.w[c].Hb=null}this.w[c].jc>b&&(b=this.w[c].jc,a=this.w[c],this.w.splice(c,1))}b>(this.A&224)&&(this.j&4&&(this.c[7]=
this.c[7]+2&65535,this.j&=-5),a?K(this,a.Bc):K(this,160))}else this.j&1&&this.j++;this.I&57344||(this.za=0,this.sb=this.c[7]);this.j=this.j&7|this.A&16;this.decode(Pb(this))}while(0<this.a);return this.h.complete?this.S-this.a:void 0===this.h.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Mb(d);B(d,c)}});function ac(a,b){var c=b+a;Qb(this,c,a,b);return c&65535}function bc(a,b){var c=b+a;Qb(this,c<<8,a<<8,b<<8);return c&255}
function cc(a,b){a=b<<1;R(this,a);return a&65535}function dc(a,b){a=b<<1;R(this,a<<8);return a&255}function ec(a,b){a=b&32768|b>>1|b<<16;R(this,a);return a&65535}function fc(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function gc(a,b){a=b&~a;P(this,a);return a}function hc(a,b){a=b&~a;P(this,a<<8);return a}function ic(a,b){a|=b;P(this,a);return a}function jc(a,b){a|=b;P(this,a<<8);return a}function kc(a,b){a=~b|65536;Q(this,a);return a&65535}
function lc(a,b){a=~b|256;Q(this,a<<8);return a&255}function mc(a,b){a=b-a;this.j&128||(this.u=this.i=a,this.g=b&(b^a));return a&65535}function nc(a,b){a=b-a;var c=a<<8;b<<=8;this.j&128||(this.u=this.i=c,this.g=b&(b^c));return a&255}function oc(a,b){a=b+a;this.j&128||(this.u=this.i=a,this.g=a&(b^a));return a&65535}function pc(a,b){a=b+a;var c=a<<8;this.j&128||(this.u=this.i=c,this.g=c&(b<<8^c));return a&255}function qc(a,b){a=-b;Q(this,a,a&b&32768);return a&65535}
function rc(a,b){a=-b;Q(this,a<<8,(a&b&128)<<8);return a&255}function sc(a,b){a=b<<1|this.m>>16&1;R(this,a);return a&65535}function tc(a,b){a=b<<1|this.m>>16&1;R(this,a<<8);return a&255}function uc(a,b){a=(this.m&65536|b)>>1|b<<16;R(this,a);return a&65535}function vc(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function wc(a,b){var c=b-a;Rb(this,c,a,b);return c&65535}function xc(a,b){var c=b-a;Rb(this,c<<8,a<<8,b<<8);return c&255}
function yc(a,b){this.j&128||(this.u=this.i=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535}function zc(a,b){a^=b;P(this,a);return a&65535}function Ac(a){var b=S(this,a);a=a>>6&7;var c=this.c[a];c&32768&&(c|=4294901760);this.m=this.g=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.m=c<<17-b,c>>=b;else if(b)if(16<b)this.g=c,c=0;else{this.m=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.g=32768)}this.c[a]=c&65535;this.u=this.i=c;this.a-=(this.l?6:7)+b}
function Bc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.m=this.g=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.m=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.g=32768)):d=c;this.c[a]=d>>16&65535;this.c[a|1]=d&65535;this.u=d>>16;this.i=d>>16|d;this.a-=(this.l?6:7)+b}function X(a){a&1&&(this.m=0);a&2&&(this.g=0);a&4&&(this.i=1);a&8&&(this.u=0);this.a-=5}
function Cc(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.c[a]=d&65535,this.c[a|1]=c-d*b&65535,this.i=d>>16|d,this.u=d>>16):(this.g=32768,this.i=d>>15|d,this.u=c>>16,-1===b&&65534===this.c[a]&&(this.c[a]=this.c[a|1]=1));this.a-=53}else this.i=this.u=0,this.g=32768,this.m=65536,this.a-=7}var Dc=[0,7,7,10,7,11,9,13];function Ec(a){var b=this.a;a=Wb(this,a,8);this.c[7]=a&65535;this.a=b-Dc[this.l]}
var Fc=[0,14,14,17,14,18,16,20];function Gc(a){var b=this.a,c=Wb(this,a,8);a=a>>6&7;Sb(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=c&65535;this.a=b-Fc[this.l]}var Hc=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],Ic=[7,13,13,17,14,18,17,21];function Jc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.j&128||(this.u=b>>16,this.i=this.u|b,this.g=0,this.m=-32768>b||32767<b?65536:0);this.a-=23}
function Kc(){this.a-=5}function Y(a){a&1&&(this.m=65536);a&2&&(this.g=32768);a&4&&(this.i=0);a&8&&(this.u=32768);this.a-=5}function Lc(a){var b=(a&448)>>6;if(this.c[b]=this.c[b]-1&65535)this.c[7]=this.c[7]-((a&63)<<1)&65535,this.a+=1;this.a-=6}function Mc(a){U(this,a,0,yc);this.a-=this.f?9:3+(7==this.b?2:0)}function Nc(a){U(this,a,S(this,(a&448)>>6),zc);this.a-=this.f?9:3+(7==this.b?2:0)}function Z(){K(this,8)}function Nb(a){Oc[a>>12].call(this,a)}
var Oc=[function(a){Pc[a>>8&15].call(this,a)},function(a){var b=S(this,a>>6),c=this.a;P(this,Zb(this,a,b));this.a=c-Hc[(this.l?8:0)+this.f]+(7!=this.b||this.f?0:2)},function(a){var b=S(this,a>>6),c=this.l,d=this.s;a=S(this,a);Rb(this,b-a,a,b);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){var b=S(this,a>>6),c=this.l,d=this.s;a=S(this,a);P(this,b&a);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){U(this,a,S(this,a>>6),gc);this.a-=this.f?9+(this.s&&
6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),ic);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),ac);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){Qc[a>>8&15].call(this,a)},function(a){Rc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);P(this,$b(this,a,b,1)<<8);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){var b=T(this,a>>6)<<8,
c=this.l,d=this.s;a=T(this,a)<<8;Rb(this,b-a,a,b);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){var b=T(this,a>>6),c=this.l,d=this.s;a=T(this,a);P(this,(b&a)<<8);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){V(this,a,T(this,a>>6),hc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){V(this,a,T(this,a>>6),jc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),
wc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},Z],Pc=[function(a){Sc[a>>4&15].call(this,a)},function(a){W(this,a,!0)},function(a){W(this,a,!!(this.i&65535))},function(a){W(this,a,this.i&65535?0:4)},function(a){W(this,a,!this.ua()==!(this.g&32768))},function(a){W(this,a,!this.ua()!=!(this.g&32768))},function(a){W(this,a,!!(this.i&65535)&&!this.ua()==!(this.g&32768))},function(a){W(this,a,(this.i&65535?0:4)||!this.ua()!=!(this.g&32768))},Gc,Gc,function(a){Tc[a>>6&3].call(this,
a)},function(a){Uc[a>>6&3].call(this,a)},function(a){Vc[a>>6&3].call(this,a)},function(a){Wc[a>>6&3].call(this,a)},Z,Z],Tc=[function(a){Q(this,Zb(this,a,0));this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,kc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,1,oc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,1,mc);this.a-=this.f?9:3+(7==this.b?2:0)}],Uc=[function(a){U(this,a,0,qc);this.a-=this.f?11:6},function(a){U(this,a,N(this)?1:0,ac);this.a-=this.f?9:3+(7==this.b?
2:0)},function(a){U(this,a,N(this)?1:0,wc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){a=S(this,a);Q(this,a);this.a-=this.l?4:3+(7==this.s?2:0)}],Vc=[function(a){U(this,a,0,uc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,sc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,ec);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,cc);this.a-=this.f?9:3+(7==this.b?2:0)}],Wc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=O(this,a|65536);this.c[7]=this.c[5]&65535;
this.c[6]=a+2&65535;this.c[5]=b;this.a-=8},function(a){a=Xb(this,a,0);Sb(this,a);P(this,a);this.a-=11},function(a){var b=Ub(this),c=this.a;Yb(this,a,0,b);P(this,b);this.a=c-Ic[this.f]},function(a){P(this,Zb(this,a,this.ua?65535:0));this.a-=this.f?9:3+(7==this.b?2:0)}],Sc=[function(a){Xc[a&15].call(this,a)},Z,Z,Z,Ec,Ec,Ec,Ec,function(a){if(a&8)K(this,8);else{var b=Ub(this);a&=7;this.c[7]=this.c[a]&65535;this.c[a]=b;this.a-=9}},function(a){a&8?(this.A&49152||(this.A=this.A&-2017|(a&7)<<5,this.j|=1),
this.a-=5):K(this,8)},function(a){Yc[a&15].call(this,a)},function(a){Zc[a&15].call(this,a)},Mc,Mc,Mc,Mc],Xc=[function(){this.A&49152?(this.o|=128,K(this,4)):(this.S-=this.a,this.a=0);this.a-=7},function(){this.j|=4;this.c[7]=this.c[7]+-2&65535;this.a-=3},function(){Tb(this);this.j|=this.A&16;this.a-=13},function(){K(this,12);this.a-=5},function(){K(this,16);this.a-=25},function(){this.A&49152||(Ob(this),this.D.reset());this.a-=667},function(){Tb(this);this.a-=13},Z,Z,Z,Z,Z,Z,Z,Z,Z],Yc=[Kc,function(){this.m=
0;this.a-=5},function(){this.g=0;this.a-=5},X,function(){this.i=1;this.a-=5},X,X,X,function(){this.u=0;this.a-=5},X,X,X,X,X,X,X],Zc=[Kc,function(){this.m=65536;this.a-=5},function(){this.g=32768;this.a-=5},Y,function(){this.i=0;this.a-=5},Y,Y,Y,function(){this.u=32768;this.a-=5},Y,Y,Y,Y,Y,Y,Y],Qc=[Jc,Jc,Cc,Cc,Ac,Ac,Bc,Bc,Nc,Nc,Z,Z,Z,Z,Lc,Lc],Rc=[function(a){W(this,a,!this.ua())},function(a){W(this,a,this.ua())},function(a){W(this,a,!N(this)&&!!(this.i&65535))},function(a){W(this,a,N(this)||(this.i&
65535?0:4))},function(a){W(this,a,!(this.g&32768))},function(a){W(this,a,this.g&32768?2:0)},function(a){W(this,a,!N(this))},function(a){W(this,a,N(this))},function(){K(this,24);this.a-=25},function(){K(this,28);this.a-=5},function(a){$c[a>>6&3].call(this,a)},function(a){ad[a>>6&3].call(this,a)},function(a){bd[a>>6&3].call(this,a)},function(a){cd[a>>6&3].call(this,a)},Z,Z],$c=[function(a){Q(this,$b(this,a,0));this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,0,lc);this.a-=this.f?9:3+(7==this.b?
2:0)},function(a){V(this,a,1,pc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,1,nc);this.a-=this.f?9:3+(7==this.b?2:0)}],ad=[function(a){V(this,a,0,rc);this.a-=this.f?11:6},function(a){V(this,a,N(this)?1:0,bc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,N(this)?1:0,xc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){a=T(this,a);Q(this,a<<8);this.a-=this.l?4:3+(7==this.s?2:0)}],bd=[function(a){V(this,a,0,vc);this.a-=this.f?9+(this.vb&1):3+(7==this.b?2:0)},function(a){V(this,
a,0,tc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,0,fc);this.a-=this.f?9+(this.vb&1):3+(7==this.b?2:0)},function(a){V(this,a,0,dc);this.a-=this.f?9:3+(7==this.b?2:0)}],cd=[Z,function(a){a=Xb(this,a,65536);Sb(this,a);P(this,a);this.a-=11},function(a){var b=Ub(this),c=this.a;Yb(this,a,65536,b);P(this,b);this.a=c-Ic[this.f]},Z];
function dd(a){v.call(this,"ROM",a,dd);this.b=null;this.m=a.addr;this.f=a.size;this.s=a.writable;this.g=a.alias;this.i=a.file;this.u=ba(this.i);if(this.i){a=this.i;var b=ca(this.u);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){ed(c,a,b,e)})}}y(dd);dd.prototype.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;fd(this)};dd.prototype.ya=function(){this.l&&(this.L&&this.L.a(this.id,this.m,this.f,this.l),delete this.l);return!0};
dd.prototype.xa=function(){return!0};
function ed(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Da(a.Nb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.l=h.symbols;if(!a.b.length){r("Empty ROM: "+b);
return}if(1==a.b.length){r(a.b[0]);return}}catch(k){a.M("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);fd(a)}}
function fd(a){if(!Fa(a))if(!a.i)E(a);else if(a.b&&a.D){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.h.error=!0;a.M(b)}else{b=a.m;if(Oa(a.D,b,a.f,a.s?1:qb)){var c;for(c=0;c<a.b.length;c++){var d=a.D,f=b+c;d.b[(f&d.l)>>>d.f].Yb(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.D,g=e.f,h=[],k=e.m>>>f.f;0<g&&
k<f.b.length;)h.push(f.b[k++]),g-=f.g;f=e.D;e=e.f;g=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.g}}delete a.b}}E(a)}}u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new dd(d);B(d,c)}});function gd(a){v.call(this,"RAM",a,gd);this.g=a.addr;this.f=a.size;this.b=!1}y(gd);l=gd.prototype;l.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;E(this)};l.ya=function(a,b){b||this.reset();return!0};l.xa=function(a){return a?this.save():!0};
l.reset=function(){!this.b&&this.f&&Oa(this.D,this.g,this.f,1)&&(this.b=!0);this.b||r("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new gd(d);B(d,c)}});function hd(a){v.call(this,"Keyboard",a,hd);E(this)}y(hd);hd.prototype.da=function(){return!1};hd.prototype.La=function(a,b,c,d){this.H=a;this.a=c;this.L=d;this.Da=null};
u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new hd(d);B(d,c)}});
function id(a,b,c){v.call(this,"Computer",a,id);this.h.N=!1;jd(this,b);this.G=Bb(this,"autoPower",a);this.g=0;this.Z=a.busWidth||a.buswidth;this.b=kd;this.u=null;this.m=this.R=!1;this.url=Bb(this,"url")||"";(Math.random()+.1).toString(36);this.f=ld(this);if(this.a=Ea("CPU",this.id)){this.L=Ea("Debugger",this.id);this.D=new F({id:this.Nb+".bus",busWidth:this.Z},this.a,this.L);var d,f=z(this.id);if((this.i=Ea("Panel",this.id))&&this.i.Ab)for(b=0;b<f.length;b++)d=f[b],d.M=this.i.M,d.V=this.i.V,d.Ab=
this.i.Ab;this.V("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.V("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.La&&d.La(this,this.D,this.a,this.L);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.s=d:this.b=parseInt(d,10));var e;if(a=Bb(this,"state")||(e=!0,a.state))b=this.H=a,e||(this.m=!0,this.b=kd),this.b&&(this.w=
new M(this,"1.30.0"),md(this.w)?b=null:delete this.w);!b&&this.b&&(b=nd(this))&&(this.m=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.s=null,g.m=!1,g.M("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.u=b,g.R=!0);E(g)})}else E(this);this.C.power||(this.G=!0);!c&&this.G&&od(this,this.$a)}else r("Unable to find CPU component")}y(id);var kd=0;
function jd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.S=b}function Bb(a,b,c){var d=b.toLowerCase(),d=xa[b]||xa[d];void 0===d&&a.S&&(d=a.S[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function od(a,b,c){for(var d=z(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Fa(e)){Fa(e,function(){od(a,b,c)});return}}b.call(a,c)}
function pd(a,b){var c=new M(a,"1.30.0","validate");if(md(c)&&qd(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.M("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=id.prototype;
l.$a=function(a){void 0===a&&(a=this.b||(this.u?1:kd));if(!this.g){this.g++;var b=!1,c=!1;this.I=!1;var d=this.w||new M(this,"1.30.0");if(-1==a)b=!0;else if(a>kd){if(md(d,this.u)){this.l=new M(this,"1.30.0","failsafe");md(this.l)&&(rd(this,d),a=2,sd(this.l));this.l.set("timestamp",ia());td(this.l);var f=this.b&&!this.m;if(1==a||ja("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=qd(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?md(d,g):("error"==
e&&"no machine state"!=g?(this.M("Error: "+g),"unable to verify user"==g&&(na("user",""),this.f=null)):this.V(e+": "+g),sd(d),md(d)?(c=qd(d),f=!0):c=!1))}f&&pd(this,c?d:null)}else 2==a&&d.clear()}else pd(this);delete this.u;delete this.w}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=ud(this,g,d,b,c));b=[d,a,c];-1!=a?od(this,this.Kb,b):this.Kb(b)}};
function ud(a,b,c,d,f){if(!b.h.N){b.h.N=!0;if(b.ya){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.ya(e,d)&&e&&(r("Unable to restore state for "+b.type),a.H&&!a.R?(c.clear(),a.b=kd,window&&window.location.reload()):a.I=!0,b.ya(null),f=!1)}if(!d&&b.Mb)for(a=b.Mb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
l.Kb=function(a){var b=a[0],c=0>a[1];a=a[2];this.$=!0;this.h.N=!0;var d=this.C.power;d&&(d.textContent="Shutdown");this.a&&(ud(this,this.a,b,c,a),this.a.Xa());this.I&&(rd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.g=0};
function rd(a,b){if(ja("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}}
function vd(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=ia();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.xa&&(c&&Hb(a.a),d=a.a.xa(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.h.N=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;k<h.length;k++){var m=h[k];m.h.N&&(m.xa&&(d=m.xa(b,c),"object"===typeof d&&e.set(m.id,
d)),c&&(m.h.N=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&wd(a,a.f,e.toString()),td(g)&&td(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.h.N=!1,b=a.C.power)&&(b.textContent="Power");a.g=0;return f}l.reset=function(){this.D&&this.D.reset&&this.D.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
l.stop=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
l.da=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.g||(d.h.O?wd(d,!1,!0):pd(d,d.$a))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.h.O&&!d.g)if(d.b&&!d.s){var a=ka("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");wd(d,a,!0);!a&&d.H?window&&window.location.reload():d.$a(ld)}else d.reset(),d.a&&d.a.Xa()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.C[b]=
c,c.onclick=function(){var a=md(d,!0);if(a){var b=!!(d.b&&!d.s||d.H),c=wd(d,b);b?xd(d,a,c):d.N("Resume disabled, machine state not saved")}},!0}return!1};
function md(a,b){var c=a.f;c||((c=na("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=yd(a,c))||a.N("The user ID is invalid.")):b&&a.N("Browser local storage is not available"));return c}
function yd(a,b){a.f=null;b=p(fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(oa("user",b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function od(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+zd(a,"1.30.0"));return b}
function xd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=zd(a,"1.30.0");d.data=c;b=p(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.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),oa("user",""),a.f=null)}}
l.Ta=function(a){this.a&&this.a.Ta(a);this.i&&this.i.Ta(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=A(e),g=new jd(g,d,!0);B(g,e);g.G&&pd(g,g.$a)}});t.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.$&&!c.h.O&&c.$a(-1)}});
t.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.h.O&&wd(c,!(!c.b||c.s),!0)}});function M(a,b,c){this.id=a.id;this.key=zd(a,b,c);this.L=a.L;td(this,a.fc)}function zd(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}
M.prototype={constructor:M,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){td(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
1);c=0}}};function td(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function ud(a){var b=!0;if(ma()){var c=JSON.stringify(a[a.id]);oa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function rd(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){r(c.message||c),b=!1}return b}function nd(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:ma()&&(b=na(a.key))?(a[a.id]=b,a.a=!0):!1}var Ad=0;
function Bd(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):Cd(h,a,b,c,d,f,e)})}
function Cd(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Ea(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){e=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?Dd(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Dd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Dd(a,b,c)}})}else c(a,null)}
function Ed(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--Ad||va(!0));k=!1}var g,h,k=!0;Ad++;Da[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=m:w.appendChild(document.createTextNode(m));q.appendChild(w)}c||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?Bd(c,null,null,!1,f,function(d,k){k?(Ea(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Ad||va(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Ad||va(!0)):e("invalid machine element: "+
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Bd(b,a,d,!0,f,m):Cd(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(D){e(D.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return Ed(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})();
l.da=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.g||(d.h.N?vd(d,!1,!0):od(d,d.$a))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.h.N&&!d.g)if(d.b&&!d.s){var a=ja("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");vd(d,a,!0);!a&&d.H?window&&window.location.reload():d.$a(kd)}else d.reset(),d.a&&d.a.Xa()},!0;case "save":if(da())c.parentNode.removeChild(c);else return this.C[b]=
c,c.onclick=function(){var a=ld(d,!0);if(a){var b=!!(d.b&&!d.s||d.H),c=vd(d,b);b?wd(d,a,c):d.M("Resume disabled, machine state not saved")}},!0}return!1};
function ld(a,b){var c=a.f;c||((c=ma("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=xd(a,c))||a.M("The user ID is invalid.")):b&&a.M("Browser local storage is not available"));return c}
function xd(a,b){a.f=null;b=p(ea()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(na("user",b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function nd(a){var b=null;a.f&&(b=ea()+"/api/v1/user?req=load&user="+a.f+"&state="+yd(a,"1.30.0"));return b}
function wd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=yd(a,"1.30.0");d.data=c;b=p(ea()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.M("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.M(c),na("user",""),a.f=null)}}
l.Ta=function(a){this.a&&this.a.Ta(a);this.i&&this.i.Ta(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=A(e),g=new id(g,d,!0);B(g,e);g.G&&od(g,g.$a)}});t.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.$&&!c.h.N&&c.$a(-1)}});
t.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.h.N&&vd(c,!(!c.b||c.s),!0)}});function M(a,b,c){this.id=a.id;this.key=yd(a,b,c);this.L=a.L;sd(this,a.fc)}function yd(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}
M.prototype={constructor:M,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){sd(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
1);c=0}}};function sd(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function td(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function qd(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){r(c.message||c),b=!1}return b}function md(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.a=!0):!1}var zd=0;
function Ad(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):Bd(h,a,b,c,d,f,e)})}
function Bd(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Da(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){e=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?Cd(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Cd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Cd(a,b,c)}})}else c(a,null)}
function Dd(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function e(a){f("Error: "+a);k&&(--zd||ua(!0));k=!1}var g,h,k=!0;zd++;Ca[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=m:w.appendChild(document.createTextNode(m));q.appendChild(w)}c||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?Ad(c,null,null,!1,f,function(d,k){k?(Da(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--zd||ua(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--zd||ua(!0)):e("invalid machine element: "+
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Ad(b,a,d,!0,f,m):Bd(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(D){e(D.message)}return k}window.embedPDP11=function(a,b,c,d){ua(!1);return Dd(a,b,c,d)};window.enableEvents=ua;window.sendEvent=va;})();