PDP-11 console output works (first baby step)

This commit is contained in:
Jeff 2016-10-04 15:24:22 -07:00 committed by Jeff Parsons
commit ebfcd5133b
11 changed files with 388 additions and 403 deletions

View file

@ -10,5 +10,5 @@
<device id="unibus" name="unibus"/>
<serial id="console" adapter="1" binding="print"/>
<panel ref="/devices/pdp11/panel/1170/wide.xml"/>
<debugger id="debugger" base="8" messages="bus|mem|trap" commands="bp 140210"/>
<debugger id="debugger" base="8" messages="" commands=""/>
</machine>

View file

@ -22,7 +22,7 @@ function ob(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1
function rb(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=pb(d,a.id))&&(b=d.qa[b])&&a.Pb(null,c,b))}function sb(a,b){b=tb(b.parentNode,"pcx86-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pcx86-binding":(g=qb(f))&&g.binding&&a.Pb(g.type,g.binding,f,g.value),k=h.length}}}}
function tb(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
bb.prototype={constructor:bb,parent:null,toString:function(){return this.name?this.name:this.id||this.type},Pb:function(a,b,c){switch(b){case "clear":return this.qa[b]||(this.qa[b]=c,c.onclick=function(a){return function(){a.qa.print&&(a.qa.print.value="")}}(this)),!0;case "print":return this.qa[b]||(this.Gf=this.qa[b]=c,c.value="",this.O=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.Na=function(a){this.O(a,this.xd)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.xd+": "+a)},Na:function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)},hc:function(){return this.la.ic=!0},gc:function(a,b){b&&(this.la.ic=!1);return!0}};function x(a,b,c,d,e,f,g){a.ha&&(!0===g?g=0:null==g&&(g=a.wc),ub(a.ha,a,b,c,d,e,f,g))}function y(a,b,c,d){a.ha&&(!0===c||z(a,c|0))&&a.ha.message(b,d||!0===c)}
this.Na=function(a){this.O(a,this.xd)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.xd+": "+a)},Na:function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)},hc:function(){return this.la.ic=!0},gc:function(a,b){b&&(this.la.ic=!1);return!0}};function x(a,b,c,d,e,f,g){a.ha&&(!0===g?g=0:null==g&&(g=a.wc),ub(a.ha,a,b,c,d,e,f,g))}function y(a,b,c,d){a.ha&&(!0===c||z(a,c|0))&&a.ha.message(b,d)}
function z(a,b){if(a.ha){a===a.ha?b|=0:b=b||a.wc;var c=a.ha.wc&b;return!!b&&c===b||!!(c&a.ha.pl)}return!1}function vb(a,b){if(a.la.hh)return a.la.Ff=!1,a.la.hh=!1;if(a.la.error)return a.O(a.toString()+" error"),!1;a.la.Ff=b;return a.la.Ff}function wb(a,b){a.la.Ff&&(b?a.la.hh=!0:void 0===b&&a.O(a.toString()+" busy"));return a.la.Ff}function xb(a,b){a.la.error||(a.la.ready=!1!==b,a.la.ready&&(b=a.yg,a.yg=null,b&&b()))}function yb(a,b){b&&(a.la.ready?b():a.yg=b);return a.la.ready}
function zb(a,b){a.la.error=!0;a.Na(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 e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});

View file

@ -210,7 +210,7 @@ BusPDP11.IOController = {
}
if (b >= 0) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.printMessage(afn[5] + ".readByte(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(b), true);
this.dbg.printMessage(afn[5] + ".readByte(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(b), true, true);
}
return b;
}
@ -275,7 +275,7 @@ BusPDP11.IOController = {
}
if (fWrite) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.printMessage(afn[5] + ".writeByte(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(b) + ")", true);
this.dbg.printMessage(afn[5] + ".writeByte(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(b) + ")", true, true);
}
return;
}
@ -308,7 +308,7 @@ BusPDP11.IOController = {
}
if (w >= 0) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.printMessage(afn[5] + ".readWord(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(w), true);
this.dbg.printMessage(afn[5] + ".readWord(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(w), true, true);
}
return w;
}
@ -345,7 +345,7 @@ BusPDP11.IOController = {
}
if (fWrite) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.printMessage(afn[5] + ".writeWord(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(w) + ")", true);
this.dbg.printMessage(afn[5] + ".writeWord(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(w) + ")", true, true);
}
return;
}

View file

@ -1167,7 +1167,7 @@ if (DEBUGGER) {
if (this.nDisableMessages) return;
if (fAddress) {
sMessage += " at " + this.toStrAddr(this.newAddr(this.cpu.getPC()));
sMessage += " @" + this.toStrAddr(this.newAddr(this.cpu.getPC()));
}
if (this.bitsMessage & MessagesPDP11.BUFFER) {

View file

@ -456,7 +456,11 @@ var PDP11 = {
READY: 0x80, // Transmitter Ready (read-only)
INT_ENABLE: 0x40, // Transmitter Interrupt Enable (read-write)
MAINT: 0x04, // Maintenance (read-write)
BREAK: 0x01 // BREAK (read-write)
BREAK: 0x01, // BREAK (read-write)
DELAY: 8
},
XBUF: {
DELAY: 100
}
},
KW11: { // KW11-L LINE TIME CLOCK

View file

@ -344,7 +344,7 @@ SerialPortPDP11.prototype.writeXCSR = function(data, addr)
*/
if ((this.tty.xcsr & (PDP11.DL11.XCSR.READY | PDP11.DL11.XCSR.INT_ENABLE)) == PDP11.DL11.XCSR.READY && (data & PDP11.DL11.XCSR.INT_ENABLE)) {
var device = this;
this.cpu.interrupt(PDP11.DL11.DELAY, PDP11.DL11.PRI, PDP11.DL11.VEC, function() {
this.cpu.interrupt(PDP11.DL11.XCSR.DELAY, PDP11.DL11.PRI, PDP11.DL11.VEC, function() {
device.tty.xcsr |= PDP11.DL11.XCSR.READY;
return !!(device.tty.xcsr & PDP11.DL11.XCSR.INT_ENABLE);
});
@ -376,39 +376,16 @@ SerialPortPDP11.prototype.readXBUF = function(addr)
*/
SerialPortPDP11.prototype.writeXBUF = function(data, addr)
{
// data &= 0x7f;
// if (data) {
// switch (data) {
// case 0:
// case 0xD: /*015*/
// /*
// if (document.forms.console.line.value.length > 9000) {
// document.forms.console.line.value = document.forms.console.line.value.substring(document.forms.console.line.value.length - 8192);
// }
// */
// break;
// case 0x8: /*010*/
// /*
// if (!tty.del) {
// document.forms.console.line.value = document.forms.console.line.value.substring(0, document.forms.console.line.value.length - 1);
// }
// */
// break;
// default:
// /*
// document.forms.console.line.value += String.fromCharCode(data);
// if (data == 0x0A) {
// document.forms.console.line.scrollTop = document.forms.console.line.scrollHeight;
// }
// */
// }
// tty.del = 0;
// }
// tty.xcsr &= ~0x80; /*0200*/
// cpu.interrupt(100, 4, 0x34, /*064*/ function() {
// tty.xcsr |= 0x80; /*0200*/
// return !!(tty.xcsr & 0x40); /*0100*/
// });
data &= 0x7f;
if (data) {
var serial = this;
this.transmitByte(data);
this.tty.xcsr &= ~PDP11.DL11.XCSR.READY;
this.cpu.interrupt(PDP11.DL11.XBUF.DELAY, PDP11.DL11.PRI, PDP11.DL11.VEC, function() {
serial.tty.xcsr |= PDP11.DL11.XCSR.READY;
return !!(serial.tty.xcsr & PDP11.DL11.XCSR.INT_ENABLE);
});
}
};
/**
@ -513,7 +490,7 @@ SerialPortPDP11.prototype.powerDown = function(fSave, fShutdown)
SerialPortPDP11.prototype.reset = function()
{
this.tty.rcsr = 0;
this.tty.xcsr = 0x80; /*0200*/
this.tty.xcsr = 0x80;
this.initState();
};

View file

@ -1027,7 +1027,7 @@ Component.prototype = {
printMessage: function(sMessage, bitsMessage, fAddress) {
if (DEBUGGER && this.dbg) {
if (bitsMessage === true || this.messageEnabled(bitsMessage | 0)) {
this.dbg.message(sMessage, fAddress || bitsMessage === true);
this.dbg.message(sMessage, fAddress);
}
}
},

View file

@ -19,7 +19,7 @@ function cb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0
function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}function fb(a,b){b=D(b.parentNode,"pc8080-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pc8080-binding":(g=B(f))&&g.binding&&a.pa(g.type,g.binding,f,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 e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
z.prototype={constructor:z,parent:null,toString:function(){return this.name?this.name:this.id||this.type},pa:function(a,b,c){switch(b){case "clear":return this.N[b]||(this.N[b]=c,c.onclick=function(a){return function(){a.N.print&&(a.N.print.value="")}}(this)),!0;case "print":return this.N[b]||(this.Ga=this.N[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.ka=function(a){this.g(a,this.cb)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.cb+": "+a)},ka:function(a,b,c){Pa(a,b,c||this.type)},Ea:function(){return this.C.xa=!0},Ia:function(a,b){b&&(this.C.xa=!1);return!0}};function E(a,b,c,d,e,f,g){a.H&&(!0===g?g=0:null==g&&(g=a.ta),gb(a.H,a,b,c,d,e,f,g))}function hb(a,b){a.H&&ib(a,0)&&a.H.message(b,!1)}function ib(a,b){if(a.H){a===a.H?b|=0:b=b||a.ta;var c=a.H.ta&b;return!!b&&c===b||!!(c&a.H.Id)}return!1}
this.ka=function(a){this.g(a,this.cb)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.cb+": "+a)},ka:function(a,b,c){Pa(a,b,c||this.type)},Ea:function(){return this.C.xa=!0},Ia:function(a,b){b&&(this.C.xa=!1);return!0}};function E(a,b,c,d,e,f,g){a.H&&(!0===g?g=0:null==g&&(g=a.ta),gb(a.H,a,b,c,d,e,f,g))}function hb(a,b){a.H&&ib(a,0)&&a.H.message(b,void 0)}function ib(a,b){if(a.H){a===a.H?b|=0:b=b||a.ta;var c=a.H.ta&b;return!!b&&c===b||!!(c&a.H.Id)}return!1}
function jb(a,b){if(a.C.Kb)return a.C.sb=!1,a.C.Kb=!1;if(a.C.error)return a.g(a.toString()+" error"),!1;a.C.sb=b;return a.C.sb}function kb(a,b){a.C.sb&&(b?a.C.Kb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.C.sb}function F(a){if(!a.C.error&&(a.C.ready=!0,a.C.ready)){var b=a.Eb;a.Eb=null;b&&b()}}function nb(a,b){b&&(a.C.ready?b():a.Eb=b);return a.C.ready}function ob(a,b){a.C.error=!0;a.ka(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 e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});

View file

@ -22,7 +22,7 @@ function ob(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1
function rb(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=pb(d,a.id))&&(b=d.qa[b])&&a.Pb(null,c,b))}function sb(a,b){b=tb(b.parentNode,"pcx86-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pcx86-binding":(g=qb(f))&&g.binding&&a.Pb(g.type,g.binding,f,g.value),k=h.length}}}}
function tb(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
bb.prototype={constructor:bb,parent:null,toString:function(){return this.name?this.name:this.id||this.type},Pb:function(a,b,c){switch(b){case "clear":return this.qa[b]||(this.qa[b]=c,c.onclick=function(a){return function(){a.qa.print&&(a.qa.print.value="")}}(this)),!0;case "print":return this.qa[b]||(this.Gf=this.qa[b]=c,c.value="",this.O=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.Na=function(a){this.O(a,this.xd)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.xd+": "+a)},Na:function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)},hc:function(){return this.la.ic=!0},gc:function(a,b){b&&(this.la.ic=!1);return!0}};function x(a,b,c,d,e,f,g){a.ha&&(!0===g?g=0:null==g&&(g=a.wc),ub(a.ha,a,b,c,d,e,f,g))}function y(a,b,c,d){a.ha&&(!0===c||z(a,c|0))&&a.ha.message(b,d||!0===c)}
this.Na=function(a){this.O(a,this.xd)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.xd+": "+a)},Na:function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)},hc:function(){return this.la.ic=!0},gc:function(a,b){b&&(this.la.ic=!1);return!0}};function x(a,b,c,d,e,f,g){a.ha&&(!0===g?g=0:null==g&&(g=a.wc),ub(a.ha,a,b,c,d,e,f,g))}function y(a,b,c,d){a.ha&&(!0===c||z(a,c|0))&&a.ha.message(b,d)}
function z(a,b){if(a.ha){a===a.ha?b|=0:b=b||a.wc;var c=a.ha.wc&b;return!!b&&c===b||!!(c&a.ha.pl)}return!1}function vb(a,b){if(a.la.hh)return a.la.Ff=!1,a.la.hh=!1;if(a.la.error)return a.O(a.toString()+" error"),!1;a.la.Ff=b;return a.la.Ff}function wb(a,b){a.la.Ff&&(b?a.la.hh=!0:void 0===b&&a.O(a.toString()+" busy"));return a.la.Ff}function xb(a,b){a.la.error||(a.la.ready=!1!==b,a.la.ready&&(b=a.yg,a.yg=null,b&&b()))}function yb(a,b){b&&(a.la.ready?b():a.yg=b);return a.la.ready}
function zb(a,b){a.la.error=!0;a.Na(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 e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});

View file

@ -2,226 +2,228 @@
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 ba(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function 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 fa(){var a=ga();return-1!==a.indexOf("pcjs.org",a.length-8)}var ha={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ia(a){return a.replace(/[&<>"']/g,function(a){return ha[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 sa(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
function oa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var pa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function qa(a,b,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 ra=Date.now||function(){return+new Date};function sa(){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 l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ga(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function t(a){window&&window.alert(a)}function ta(a){var b=!1;window&&(b=window.confirm(a));return b}var va=null;function wa(){if(null==va){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}va=a}return va}function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Ba(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ca(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Da(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Ea(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 Fa={init:[],show:[],exit:[]},Ga=!1,Ha=!1,Ia=!0;function Ja(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ka(a){Fa.init.push(a)}
function La(a){if(Ia)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 Ma(a){!Ia&&a?(Ia=!0,Ga&&Ta("init"),Ha&&Ta("show")):Ia=a}function Ta(a){Fa[a]&&La(Fa[a])}Ja("onload",function(){Ga=!0;La(Fa.init)});Ja("onpageshow",function(){Ha=!0;La(Fa.show)});Ja(Ca("Opera")||Ca("iOS")?"onunload":"onbeforeunload",function(){La(Fa.exit)});
function w(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.tc=b.comment;this.Qc=b;b=this.id.indexOf(".");0>b?this.pb=this.id:(this.fc=this.id.substr(0,b),this.pb=this.id.substr(b+1));this[a]=c;this.v={ready:!1,Ib:!1,gc:!1,ia:!1,error:!1};this.Yb=null;this.v.error=!1;this.K={};this.i=null;this.ka=d||0;x.push(this)}var Ua=void 0,Va={};
if(window){Ua||(Ua=window.location.search.substr(1));for(var Wa,Xa=/\+/g,Ya=/([^&=]+)=?([^&]*)/g;Wa=Ya.exec(Ua);)Va[decodeURIComponent(Wa[1].replace(Xa," "))]=decodeURIComponent(Wa[2].replace(Xa," "))}function Za(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function y(a,b){b||(b=w);a.prototype=Za(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var $a=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else $a={},x=[];function ab(a,b,c){$a[a]&&b&&($a[a][b]=c)}function bb(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 cb(a){if(void 0!==a){var b;for(b=0;b<x.length;b++)if(x[b].id===a)return x[b]}return null}function db(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
function eb(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(" "),l=0;l<h.length;l++)switch(g=h[l],g){case "pdp11-binding":(g=C(e))&&g.binding&&a.pa(g.type,g.binding,e,g.value),l=h.length}}}}
function t(a){window&&window.alert(a)}function va(a){var b=!1;window&&(b=window.confirm(a));return b}var wa=null;function xa(){if(null==wa){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}wa=a}return wa}function Ba(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Ca(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Da(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 Ea(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Fa(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 Ga={init:[],show:[],exit:[]},Ha=!1,Ia=!1,Ja=!0;function Ka(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function La(a){Ga.init.push(a)}
function Ma(a){if(Ja)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 Na(a){!Ja&&a?(Ja=!0,Ha&&Ua("init"),Ia&&Ua("show")):Ja=a}function Ua(a){Ga[a]&&Ma(Ga[a])}Ka("onload",function(){Ha=!0;Ma(Ga.init)});Ka("onpageshow",function(){Ia=!0;Ma(Ga.show)});Ka(Da("Opera")||Da("iOS")?"onunload":"onbeforeunload",function(){Ma(Ga.exit)});
function w(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.tc=b.comment;this.Qc=b;b=this.id.indexOf(".");0>b?this.pb=this.id:(this.fc=this.id.substr(0,b),this.pb=this.id.substr(b+1));this[a]=c;this.v={ready:!1,Ib:!1,gc:!1,ia:!1,error:!1};this.Yb=null;this.v.error=!1;this.K={};this.i=null;this.ka=d||0;x.push(this)}var Va=void 0,Wa={};
if(window){Va||(Va=window.location.search.substr(1));for(var Xa,Ya=/\+/g,Za=/([^&=]+)=?([^&]*)/g;Xa=Za.exec(Va);)Wa[decodeURIComponent(Xa[1].replace(Ya," "))]=decodeURIComponent(Xa[2].replace(Ya," "))}function $a(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function y(a,b){b||(b=w);a.prototype=$a(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var ab=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else ab={},x=[];function bb(a,b,c){ab[a]&&b&&(ab[a][b]=c)}function cb(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 db(a){if(void 0!==a){var b;for(b=0;b<x.length;b++)if(x[b].id===a)return x[b]}return null}function eb(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 B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
function fb(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(" "),l=0;l<h.length;l++)switch(g=h[l],g){case "pdp11-binding":(g=B(e))&&g.binding&&a.pa(g.type,g.binding,e,g.value),l=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}
w.prototype={constructor:w,parent:null,toString:function(){return this.name?this.name:this.id||this.type},pa:function(a,b,c){switch(b){case "clear":return this.K[b]||(this.K[b]=c,c.onclick=function(a){return function(){a.K.print&&(a.K.print.value="")}}(this)),!0;case "print":return this.K[b]||(this.ib=this.K[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.pb)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.pb+": "+a)},sa:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},Ja:function(){return this.v.ia=!0},Ia:function(a,b){b&&(this.v.ia=!1);return!0}};function E(a,b,c){a.i&&(!0===c||F(a,c|0))&&a.i.message(b,!0===c)}function F(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 fb(a,b){if(a.v.gc)return a.v.Ib=!1,a.v.gc=!1;if(a.v.error)return a.g(a.toString()+" error"),!1;a.v.Ib=b;return a.v.Ib}function gb(a,b){a.v.Ib&&(b?a.v.gc=!0:void 0===b&&a.g(a.toString()+" busy"));return a.v.Ib}function G(a){if(!a.v.error&&(a.v.ready=!0,a.v.ready)){var b=a.Yb;a.Yb=null;b&&b()}}function hb(a,b){b&&(a.v.ready?b():a.Yb=b);return a.v.ready}function ib(a){return a.v.error?(a.g(a.toString()+" error"),!0):!1}function vb(a,b){a.v.error=!0;a.sa(b)}
this.sa=function(a){this.g(a,this.pb)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.pb+": "+a)},sa:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},Ka:function(){return this.v.ia=!0},Ja:function(a,b){b&&(this.v.ia=!1);return!0}};function E(a,b,c,d){a.i&&(!0===c||F(a,c|0))&&a.i.message(b,d)}function F(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 gb(a,b){if(a.v.gc)return a.v.Ib=!1,a.v.gc=!1;if(a.v.error)return a.g(a.toString()+" error"),!1;a.v.Ib=b;return a.v.Ib}function hb(a,b){a.v.Ib&&(b?a.v.gc=!0:void 0===b&&a.g(a.toString()+" busy"));return a.v.Ib}function G(a){if(!a.v.error&&(a.v.ready=!0,a.v.ready)){var b=a.Yb;a.Yb=null;b&&b()}}function ib(a,b){b&&(a.v.ready?b():a.Yb=b);return a.v.ready}function vb(a){return a.v.error?(a.g(a.toString()+" error"),!0):!1}function wb(a,b){a.v.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 wb="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 xb(a){w.call(this,"Panel",a,xb)}y(xb);k=xb.prototype;k.pa=function(a,b,c,d){return this.C&&this.C.pa(a,b,c,d)||this.b&&this.b.pa(a,b,c,d)||this.i&&this.i.pa(a,b,c,d)?!0:this.parent.pa.call(this,a,b,c,d)};k.Na=function(a,b,c,d){this.C=a;this.G=b;this.b=c;this.i=d};
k.Ja=function(a,b){b||yb();return!0};k.Ia=function(){return!0};k.Fa=function(){};function yb(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=C(d),e=cb(f.id);e||(a=!0,e=new xb(f));eb(e,d);a&&G(e)}}Ka(yb);
function zb(a,b,c){w.call(this,"Bus",a,zb,64);this.b=b;this.i=c;this.H=a.busWidth||16;this.B=Math.pow(2,this.H);this.j=this.B-1|0;this.Z=(this.H>>1)+2;10>this.Z&&(this.Z=10);15<this.Z&&(this.Z=15);this.Ca=1<<this.Z;this.J=this.Ca>>2;this.f=this.Ca-1;this.w=this.B/this.Ca|0;this.C=this.w-1;this.Qa=[];this.F=null;this.Kb=this.Jc;a=new I;Ab(a,this.i);this.N=Array(this.w);for(b=0;b<this.w;b++)this.N[b]=a;this.Eb=Array(4);this.Eb[0]=Bb;this.Eb[1]=Cb;this.Eb[2]=Db;this.Eb[3]=Eb;Fb(this,this.B-8192,8192,
Gb,this);Fb(this,57344,8192,Gb,this);G(this)}y(zb);function Bb(a,b){var c=-1,d=this.controller,f=d.Qa[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.Qa[a&-2])&&f[2]&&(c=f[2](b&-2)>>8);if(0<=c)return this.i&&F(this.i,64)&&E(this.i,f[5]+".readByte("+J(this.i,b)+"): "+J(this.i,c),!0),c;c=d.Kb(b|4186112,-1,1);this.i&&F(this.i,64)&&E(this.i,"warning: unconverted read access to byte @"+J(this.i,b)+": "+J(this.i,c));return c}
function Cb(a,b,c){var d=!1,f=this.controller,e=f.Qa[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.Qa[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&&F(this.i,64)&&E(this.i,e[5]+".writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0):(f.Kb(c|4186112,b,1),this.i&&F(this.i,64)&&E(this.i,"warning: unconverted write access to byte @"+J(this.i,c)+": "+J(this.i,b)))}
function Db(a,b){var c=-1,d=this.controller;(a=d.Qa[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.i&&F(this.i,64)&&E(this.i,a[5]+".readWord("+J(this.i,b)+"): "+J(this.i,c),!0),c;c=d.Kb(b|4186112,-1,0);this.i&&F(this.i,64)&&E(this.i,"warning: unconverted read access to word @"+J(this.i,b)+": "+J(this.i,c));return c}
function Eb(a,b,c){var d=!1,f=this.controller;if(a=f.Qa[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&&F(this.i,64)&&E(this.i,a[5]+".writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0):(f.Kb(c|4186112,b,0),this.i&&F(this.i,64)&&E(this.i,"warning: unconverted write access to word @"+J(this.i,c)+": "+J(this.i,b)))}k=zb.prototype;k.reset=function(){this.F&&this.F()};
k.Jc=function(a,b,c){this.i&&F(this.i,64)&&E(this.i,"warning: unrecognized access("+J(this.i,a)+","+J(this.i,b)+","+c+")");return 0};k.Ja=function(a,b){b||this.reset();return!0};
function Fb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.Z;0<g&&h<a.N.length;){var l=a.N[h],m=h*a.Ca,n=a.Ca-(e-m);n>g&&(n=g);if(l&&l.size){if(l.type==d&&l.controller==f){if(e+g<=l.A)return l.Vb+=l.A-e,l.A=e,!0;if(e>=l.A+l.Vb){n=l.size-(e-m);n>g&&(n=g);l.Vb=e-l.A+n;e=m+a.Ca;g-=n;h++;continue}}return Hb(1,e,g)}e=new I(e,n,a.Ca,d,f);Ab(e,a.i,l);a.N[h++]=e;e=m+a.Ca;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ib[d]+" at "+p(b,8,!0)),!0):Hb(2,b,c)}
k.rb=function(a){return this.N[(a&this.j)>>>this.Z].vb(a&this.f,a)};k.Ha=function(a){var b=a&this.f,c=(a&this.j)>>>this.Z;return b!=this.f?this.N[c].Cc(b,a):this.N[c++].vb(b,a)|this.N[c&this.C].vb(0,a+1)<<8};function Jb(a,b){var c=b&a.f,d=(b&a.j)>>>a.Z;return c!=a.f?a.N[d].lc(c,b):a.N[d++].Ob(c,b)|a.N[d&a.C].Ob(0,b+1)<<8}k.Sb=function(a,b){this.N[(a&this.j)>>>this.Z].Bb(a&this.f,b&255,a)};
k.nb=function(a,b){var c=a&this.f,d=(a&this.j)>>>this.Z;c!=this.f?this.N[d].Ic(c,b&65535,a):(this.N[d++].Bb(c,b&255,a),this.N[d&this.C].Bb(0,b>>8&255,a+1))};function Kb(a){for(var b=0,c=[],d=0;d<a.w;d++){var f=a.N[d];if(f.Ua||f.Pc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,l=[];g<f.length;){for(var m=f[g],n=g+1;n<f.length&&f[n]===m;)n++;l[h++]=n-g;l[h++]=m;g=n}l.length<f.length&&(f=l)}c[e]=f}}return c}
function Lb(a,b,c){for(var 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,l=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.Qa[q]?t("I/O address already registered: "+p(r,8,!0)):m.Qa[q]=[e,g,h,l,!1,f||"unknown"]}}function Mb(a,b,c){a.F=b;a.Kb=c}function Hb(a,b,c){t("Memory block error ("+a+": "+p(b)+","+p(c)+")");return!1}
function K(a){w.call(this,"Device",a,K);this.j={data:0,yd:0,sb:20,pd:0};this.f={M:0,qc:-1};this.C={Qb:2496,oa:0,P:128,Rb:0,Pb:0,va:0,Dc:0,ra:[],eb:[406,406,406,406],$:[12,12,12,12]};this.w={M:129,Hb:0,fa:0,Wa:0,Ra:0,bb:0,ra:[],$:[40,40,40,40],eb:[1024,1024,512,512],Lc:[157,157,29,29]};this.B={b:[8210,8208,8210,8226],$:[22,22,22,50],cb:[19,19,19,32],ec:[815,411,815,630],ra:[],S:2176,yb:0,wb:0,Ea:[0,0,0,0,0,0,0,0],Da:0,ta:[4544,4544,4544,4544,4544,4544,4544,4544],xb:[0,0,0,0,0,0,0,0],mb:0,md:[0,0,0,
0,0,0,0,0],Ec:0,Fc:[0,0,0,0,0,0,0,0],K:[0,0,0,0,0,0,0,0],nd:[1,2,3,4,5,6,7,8],Gc:[0,0,0,0,0,0,0,0],Pa:[0,0,0,0,0,0,0,0],dc:[0,0,0,0,0,0,0,0],kd:[0,0,0,0,0,0,0,0],ld:[0,0,0,0,0,0,0,0],hd:[0,0,0,0,0,0,0,0],jd:[0,0,0,0,0,0,0,0],$a:0,oc:0}}y(K);
var Nb=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
var xb="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 yb(a){w.call(this,"Panel",a,yb)}y(yb);k=yb.prototype;k.pa=function(a,b,c,d){return this.C&&this.C.pa(a,b,c,d)||this.b&&this.b.pa(a,b,c,d)||this.i&&this.i.pa(a,b,c,d)?!0:this.parent.pa.call(this,a,b,c,d)};k.Oa=function(a,b,c,d){this.C=a;this.H=b;this.b=c;this.i=d};
k.Ka=function(a,b){b||zb();return!0};k.Ja=function(){return!0};k.Ga=function(){};function zb(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=B(d),e=db(f.id);e||(a=!0,e=new yb(f));fb(e,d);a&&G(e)}}La(zb);
function Ab(a,b,c){w.call(this,"Bus",a,Ab,64);this.b=b;this.i=c;this.G=a.busWidth||16;this.A=Math.pow(2,this.G);this.j=this.A-1|0;this.Z=(this.G>>1)+2;10>this.Z&&(this.Z=10);15<this.Z&&(this.Z=15);this.Da=1<<this.Z;this.I=this.Da>>2;this.f=this.Da-1;this.w=this.A/this.Da|0;this.C=this.w-1;this.Ra=[];this.F=null;this.Kb=this.Jc;a=new I;Bb(a,this.i);this.N=Array(this.w);for(b=0;b<this.w;b++)this.N[b]=a;this.Eb=Array(4);this.Eb[0]=Cb;this.Eb[1]=Db;this.Eb[2]=Eb;this.Eb[3]=Fb;Gb(this,this.A-8192,8192,
Hb,this);Gb(this,57344,8192,Hb,this);G(this)}y(Ab);function Cb(a,b){var c=-1,d=this.controller,f=d.Ra[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.Ra[a&-2])&&f[2]&&(c=f[2](b&-2)>>8);if(0<=c)return this.i&&F(this.i,64)&&E(this.i,f[5]+".readByte("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;c=d.Kb(b|4186112,-1,1);this.i&&F(this.i,64)&&E(this.i,"warning: unconverted read access to byte @"+J(this.i,b)+": "+J(this.i,c));return c}
function Db(a,b,c){var d=!1,f=this.controller,e=f.Ra[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.Ra[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&&F(this.i,64)&&E(this.i,e[5]+".writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0,!0):(f.Kb(c|4186112,b,1),this.i&&F(this.i,64)&&E(this.i,"warning: unconverted write access to byte @"+J(this.i,c)+": "+J(this.i,b)))}
function Eb(a,b){var c=-1,d=this.controller;(a=d.Ra[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.i&&F(this.i,64)&&E(this.i,a[5]+".readWord("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;c=d.Kb(b|4186112,-1,0);this.i&&F(this.i,64)&&E(this.i,"warning: unconverted read access to word @"+J(this.i,b)+": "+J(this.i,c));return c}
function Fb(a,b,c){var d=!1,f=this.controller;if(a=f.Ra[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&&F(this.i,64)&&E(this.i,a[5]+".writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0,!0):(f.Kb(c|4186112,b,0),this.i&&F(this.i,64)&&E(this.i,"warning: unconverted write access to word @"+J(this.i,c)+": "+J(this.i,b)))}k=Ab.prototype;k.reset=function(){this.F&&this.F()};
k.Jc=function(a,b,c){this.i&&F(this.i,64)&&E(this.i,"warning: unrecognized access("+J(this.i,a)+","+J(this.i,b)+","+c+")");return 0};k.Ka=function(a,b){b||this.reset();return!0};
function Gb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.Z;0<g&&h<a.N.length;){var l=a.N[h],m=h*a.Da,n=a.Da-(e-m);n>g&&(n=g);if(l&&l.size){if(l.type==d&&l.controller==f){if(e+g<=l.B)return l.Vb+=l.B-e,l.B=e,!0;if(e>=l.B+l.Vb){n=l.size-(e-m);n>g&&(n=g);l.Vb=e-l.B+n;e=m+a.Da;g-=n;h++;continue}}return Ib(1,e,g)}e=new I(e,n,a.Da,d,f);Bb(e,a.i,l);a.N[h++]=e;e=m+a.Da;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Jb[d]+" at "+p(b,8,!0)),!0):Ib(2,b,c)}
k.rb=function(a){return this.N[(a&this.j)>>>this.Z].vb(a&this.f,a)};k.Ia=function(a){var b=a&this.f,c=(a&this.j)>>>this.Z;return b!=this.f?this.N[c].Cc(b,a):this.N[c++].vb(b,a)|this.N[c&this.C].vb(0,a+1)<<8};function Kb(a,b){var c=b&a.f,d=(b&a.j)>>>a.Z;return c!=a.f?a.N[d].lc(c,b):a.N[d++].Ob(c,b)|a.N[d&a.C].Ob(0,b+1)<<8}k.Sb=function(a,b){this.N[(a&this.j)>>>this.Z].Bb(a&this.f,b&255,a)};
k.nb=function(a,b){var c=a&this.f,d=(a&this.j)>>>this.Z;c!=this.f?this.N[d].Ic(c,b&65535,a):(this.N[d++].Bb(c,b&255,a),this.N[d&this.C].Bb(0,b>>8&255,a+1))};function Lb(a){for(var b=0,c=[],d=0;d<a.w;d++){var f=a.N[d];if(f.Va||f.Pc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,l=[];g<f.length;){for(var m=f[g],n=g+1;n<f.length&&f[n]===m;)n++;l[h++]=n-g;l[h++]=m;g=n}l.length<f.length&&(f=l)}c[e]=f}}return c}
function Mb(a,b,c){for(var 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,l=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.Ra[q]?t("I/O address already registered: "+p(r,8,!0)):m.Ra[q]=[e,g,h,l,!1,f||"unknown"]}}function Nb(a,b,c){a.F=b;a.Kb=c}function Ib(a,b,c){t("Memory block error ("+a+": "+p(b)+","+p(c)+")");return!1}
function Ob(a){w.call(this,"Device",a,Ob);this.j={data:0,yd:0,sb:20,pd:0};this.f={M:0,qc:-1};this.C={Qb:2496,oa:0,R:128,Rb:0,Pb:0,va:0,Dc:0,ra:[],eb:[406,406,406,406],$:[12,12,12,12]};this.w={M:129,Hb:0,fa:0,Xa:0,Sa:0,bb:0,ra:[],$:[40,40,40,40],eb:[1024,1024,512,512],Lc:[157,157,29,29]};this.A={b:[8210,8208,8210,8226],$:[22,22,22,50],cb:[19,19,19,32],ec:[815,411,815,630],ra:[],T:2176,yb:0,wb:0,Fa:[0,0,0,0,0,0,0,0],Ea:0,ta:[4544,4544,4544,4544,4544,4544,4544,4544],xb:[0,0,0,0,0,0,0,0],mb:0,md:[0,0,
0,0,0,0,0,0],Ec:0,Fc:[0,0,0,0,0,0,0,0],K:[0,0,0,0,0,0,0,0],nd:[1,2,3,4,5,6,7,8],Gc:[0,0,0,0,0,0,0,0],Qa:[0,0,0,0,0,0,0,0],dc:[0,0,0,0,0,0,0,0],kd:[0,0,0,0,0,0,0,0],ld:[0,0,0,0,0,0,0,0],hd:[0,0,0,0,0,0,0,0],jd:[0,0,0,0,0,0,0,0],ab:0,oc:0}}y(Ob);
var Pb=[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];k=K.prototype;k.Na=function(a,b,c,d){this.G=b;this.b=c;this.i=d;var f=this;this.f.qc=Ob(this.b,function(){f.f.Va|=128;f.f.Va&64&&(Pb(f.b,0,6,64),Qb(f.b,f.f.qc))});Lb(b,this,Rb);Mb(b,this.reset.bind(this),this.Kc.bind(this));G(this)};k.Yc=function(){var a=this.f.Va;this.f.Va&=-129;return a};
k.rd=function(a){this.f.Va=a;a&64&&Qb(this.b,this.f.qc);this.f.Va=a&-129};k.Zc=function(){var a=this.b;return a.J&62337|a.wa<<5|a.xa<<1};k.sd=function(a){var b=4,c=this.b;c.J=a&=62337;c.wa=a>>5&3;c.xa=a>>1&15;c.Zb=a&257?a&1?6:4:0;Sb(c);a=c.J;a&1|256&&(b=this.b.lb&16?1:2);this.j.sb=this.j.sb&-8|b};k.$c=function(){return Tb(this.b)};k.td=function(a){Ub(this.b,a&-1809|Tb(this.b)&1808);this.b.D|=128};
function Vb(a){var b=a.C,c,d,f,e=b.va>>13&7;"undefined"===typeof b.ra[e]&&(b.ra[e]={cache:[],postProcess:a.ed,drive:e,blocksize:256,mapped:0,maxblock:b.eb[e]*b.$[e],url:"rk"+e+".dsk"});b.P&=-129;switch(b.P>>1&7){case 0:b.Qb=2496;b.oa=0;b.P=128;b.va=0;break;case 1:if((b.va>>4&511)>=b.eb[e]){b.oa|=32832;b.P|=49152;break}if((b.va&15)>=b.$[e]){b.oa|=32800;b.P|=49152;break}c=(b.va>>4&511)*b.$[e]+(b.va&15);d=(b.P&48)<<12|b.Pb;f=65536-b.Rb&65535;Wb(a,b.ra[e],c,d,f);return;case 2:if((b.va>>4&511)>=b.eb[e])b.oa|=
32832,b.P|=49152;else if((b.va&15)>=b.$[e])b.oa|=32800,b.P|=49152;else{c=(b.va>>4&511)*b.$[e]+(b.va&15);d=(b.P&48)<<12|b.Pb;f=65536-b.Rb&65535;a.bc(b.ra[e],c,d,f);return}}b.Qb=e<<13|b.Qb&8176|b.va%9&15;Pb(a.b,20,5,144,function(){b.P=b.P&65534|128;return!!(b.P&64)})}k.ed=function(a,b,c,d,f){var e=this.C;e.Pb=d&65535;e.P=e.P&-49|d>>12&48;e.Rb=65536-f&65535;switch(a){case 1:e.oa|=33024;e.P|=49152;break;case 2:e.oa|=33792,e.P|=49152}Pb(this.b,20,5,144,function(){e.P=e.P&65534|128;return!!(e.P&64)})};
function ec(a){var b=a.w,c,d,f,e=b.M>>8&3;b.M&=-2;"undefined"===typeof b.ra[e]&&(b.ra[e]={cache:[],postProcess:a.fd,drive:e,blocksize:128,mapped:1,maxblock:b.eb[e]*b.$[e],url:"rl"+e+".dsk"});switch(b.M>>1&7){case 2:b.Wa&8&&(b.M&=63);b.Wa=b.Lc[e]|b.bb&64;break;case 3:1==(b.fa&3)&&(b.bb=b.fa&4?b.bb+(b.fa&65408)&65408|b.fa<<2&64:b.bb-(b.fa&65408)&65408|b.fa<<2&64,b.fa=b.bb);break;case 4:b.Wa=b.bb;break;case 5:if(b.fa>>6>=b.eb[e]){b.M|=37888;break}if((b.fa&63)>=b.$[e]){b.M|=37888;break}c=(b.fa>>6)*b.$[e]+
(b.fa&63);d=(b.Ra&63)<<16|b.Hb;f=65536-b.Wa&65535;Wb(a,b.ra[e],c,d,f);return;case 6:if(b.fa>>6>=b.eb[e])b.M|=37888;else if((b.fa&63)>=b.$[e])b.M|=37888;else{c=(b.fa>>6)*b.$[e]+(b.fa&63);d=(b.Ra&63)<<16|b.Hb;f=65536-b.Wa&65535;a.bc(b.ra[e],c,d,f);return}}Pb(a.b,20,5,112,function(){b.M|=129;return!!(b.M&64)})}
k.fd=function(a,b,c,d,f){var e=this.w;e.Hb=d&65535;e.M=e.M&-49|d>>12&48;e.Ra=d>>16&63;e.fa=~~(c/e.$[b.La])<<6|c%e.$[b.La];e.bb=e.fa;e.Wa=65536-f&65535;switch(a){case 1:e.M|=33792;break;case 2:e.M|=40960}Pb(this.b,20,5,112,function(){e.M|=129;return!!(e.M&64)})};function fc(a){a=a.B;a.S=2176;a.Da=0;a.ta=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.mb=a.yb=a.wb=a.$a=a.oc=0}
function gc(a,b){var c=a.B,d,f,e;c.S&=-16513;c.Da&=-2049;c.ta[b]&=-1153;Pb(a.b,-1,0,172);"undefined"===typeof c.ra[b]&&(c.ra[b]={cache:[],postProcess:a.gd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.cb[0]*c.$[0],url:"rp"+b+".dsk"});switch(c.S&63){case 5:c.dc[b]=c.Pa[b];c.S|=32896;c.ta[b]|=32896;c.mb|=1<<b;break;case 9:fc(a);break;case 19:c.ta[b]|=64;break;case 49:if(c.Pa[b]>=c.ec[0]||c.Ea[b]>>8>=c.cb[0]||(c.Ea[b]&255)>=c.$[0]){c.xb[b]|=1024;c.S|=49152;break}d=(c.Pa[b]*c.cb[0]+(c.Ea[b]>>8))*
c.$[0]+(c.Ea[b]&255);f=(c.$a&63)<<16|c.wb;e=65536-c.yb&65535;Wb(a,c.ra[b],d,f,e);return;case 57:if(c.Pa[b]>=c.ec[0]||c.Ea[b]>>8>=c.cb[0]||(c.Ea[b]&255)>=c.$[0])c.xb[b]|=1024,c.S|=49152;else{d=(c.Pa[b]*c.cb[0]+(c.Ea[b]>>8))*c.$[0]+(c.Ea[b]&255);f=(c.$a&63)<<16|c.wb;e=65536-c.yb&65535;a.bc(c.ra[b],d,f,e);return}}Pb(a.b,3,5,172,function(){c.S=c.S&65534|128;c.ta[b]|=128;return!!(c.S&64)})}
k.gd=function(a,b,c,d,f){var e=this.B;e.yb=65536-f&65535;e.wb=d&65535;e.S=e.S&-769|d>>8&768;e.$a=d>>16&63;f=~~(c/e.$[0]);d=~~(f/e.cb[0]);e.Ea[b.La]=f%e.cb[0]<<8|c%e.$[0];e.dc[b.La]=e.Pa[b.La]=d;e.mb|=1<<b.La;c>=b.Vc-1&&(e.ta[b.La]|=1024);switch(a){case 1:e.Da|=512;e.S|=49152;break;case 2:e.Da|=2048,e.S|=49152}Pb(this.b,20,5,172,function(){e.ta[b.La]|=128;e.S=e.S&65534|128;return!!(e.S&64)})};
function hc(a,b,c,d,f,e){var g=~~((e+c.Sa-1)/c.Sa),h=new XMLHttpRequest;2048>g&&d+2048<c.Vc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Sa<<1)+"-"+(((d+g)*c.Sa<<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.Sa;r++)c.cache[n][r]=q<m.length?
m[q]&255|m[q+1]<<8&65280:0,q+=2;else q+=c.Sa<<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}k.bc=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){hc(this,this.bc,a,b,c,d);return}for(f=0;f<a.Sa&&0<d;f++){var e=a.Uc?ic(this.b,c):c;this.b.G.nb(e,a.cache[b][f]&65535);c+=2;--d}b++}a.kc(0,a,b,c,d)};
function Wb(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.Sa;e++)b.cache[c][e]=0;for(e=0;e<b.Sa&&0<f;e++){g=jc(a.b,b.Uc?ic(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)}k.reset=function(){this.j.sb=this.j.sb&-120|20;this.f.Va=0;this.C.P=128;this.w.M=128;fc(this)};
k.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.Za&65280:(a&1&&(b<<=8),e.Za=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.D|=2}break;case 4194294:if(70!==e.jb)return e.L(4,222);0>b?d=e.I:d=e.I=0;break;case 4194292:if(70!==e.jb)return e.L(4,224);d=1;break;case 4194290:if(70!==e.jb)return e.L(4,226);d=0;break;case 4194288:if(70!==e.jb)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.jb)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.O>>14&1?(0<=b&&(e.u[6]=b),d=e.u[6]):(0<=b&&(e.ya[3]=b),d=e.ya[3]):e.O>>14&0?(0<=b&&(e.u[6]=b),d=e.u[6]):(0<=b&&(e.ya[1]=b),d=e.ya[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.O&2048?(0<=b&&(e.u[f]=b),d=e.u[f]):(0<=b&&(e.Oa[f]=
b),d=e.Oa[f]),d;case 4194246:return a&1?(0<=b&&(e.u[7]=b),d=e.u[7]):e.O>>14&0?(0<=b&&(e.u[6]=b),d=e.u[6]):(0<=b&&(e.ya[0]=b),d=e.ya[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.O&2048?(0<=b&&(e.Oa[f]=b),d=e.Oa[f]):(0<=b&&(e.u[f]=b),d=e.u[f]),d;default:return e.I|=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:switch(a&-2){case 4194174:d=L(this,e.cc,a,b,c);0<=d&&(e.cc=d);break;case 4194172:d=e.Ya;d&65280&&
(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.j.pd&65535:(d=L(this,this.j.data,a,b,c),0<=d&&(this.j.data=d));break;default:return e.I|=16,e.L(4,126)}break;case 4194048:f=this.C;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.P,a,b,c);0<=b&&0<=d&&(f.P=d&-36993|f.P&36992,f.P&1&&Vb(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.va,a,b,c);0<=d&&(f.va=d);break;case 4194060:break;case 4194062:d=L(this,f.Dc,a,b,c);0<=d&&(f.Dc=d);break;default:return e.I|=16,e.L(4,128)}break;case 4193728:var g=this.B;f=g.Da&7;switch(a&-2){case 4193728:d=L(this,g.S,a,b,c);0<=b&&0<=d&&(g.$a=g.$a&60|d>>8&3,g.S=d&17279|g.S&34944|2048,d&1&&g.S&128?gc(this,f):192==(d&192)&&Pb(e,0,5,172));break;case 4193730:d=L(this,g.yb,a,b,c);0<=d&&(g.yb=d);break;case 4193732:d=L(this,g.wb,a,b,c);0<=d&&(g.wb=d&65534);break;case 4193734:d=
L(this,g.Ea[f],a,b,c);0<=d&&(g.Ea[f]=d&7967);break;case 4193736:d=L(this,g.Da,a,b,c);0<=d&&(g.Da=d&63|g.Da&65472,d&128&&fc(this));break;case 4193738:d=g.ta[f];break;case 4193740:d=g.xb[f];break;case 4193742:d=L(this,g.mb,a,b,c);0<=d&&(g.mb=d&255);break;case 4193744:d=g.md[f];break;case 4193746:d=L(this,g.Ec,a,b,c);0<=d&&(g.Ec=d);break;case 4193748:d=L(this,g.Fc[f],a,b,c);0<=d&&(g.Fc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=g.nd[f];break;case 4193754:d=L(this,g.Gc[f],a,b,c);0<=d&&
(g.Gc[f]=d);break;case 4193756:d=L(this,g.Pa[f],a,b,c);0<=d&&(g.Pa[f]=d&511);break;case 4193758:g.dc[f]=g.Pa[f];d=g.dc[f];break;case 4193760:d=g.kd[f];break;case 4193762:d=g.ld[f];break;case 4193764:d=g.hd[f];break;case 4193766:d=g.jd[f];break;case 4193768:d=L(this,g.$a,a,b,c);0<=d&&(g.$a=d&63,g.S=g.S&-769|(d&3)<<8);break;case 4193770:d=L(this,g.oc,a,b,c);0<=d&&(g.oc=d);break;default:return e.I|=16,e.L(4,132)}break;case 4192512:f=this.w;switch(a&-2){case 4192512:d=L(this,f.M,a,b,c);0<=b&&0<=d&&(f.Ra=
f.Ra&60|d>>4&3,f.M=f.M&-1023|d&1022,f.M&128||ec(this));break;case 4192514:d=L(this,f.Hb,a,b,c);0<=d&&(f.Hb=d&65534);break;case 4192516:d=L(this,f.fa,a,b,c);0<=d&&(f.fa=d);break;case 4192518:d=L(this,f.Wa,a,b,c);0<=d&&(f.Wa=d);break;case 4192520:d=L(this,f.Ra,a,b,c);0<=d&&(f.Ra=d&63,f.M=f.M&-49|(f.Ra&3)<<4);break;default:return e.I|=16,e.L(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.lb:(d=L(this,e.lb,a,b,c),0<=d&&(70!==e.jb&&(d&=-49),e.lb=d,e.$b[0]=d&4?15:7,e.$b[1]=d&2?15:7,e.$b[3]=
d&1?15:7,e.Zb&&(f=2,e.lb&16&&(f=1),this.j.sb=this.j.sb&-8|f)));break;default:return e.I|=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.jb)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=Nb[a>>1&255];else return e.I|=16,e.L(4,138);break;default:return e.I|=16,e.L(4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var kc={},Rb=(kc[65382]=[null,null,K.prototype.Yc,K.prototype.rd,"LKS"],kc[65402]=[null,null,K.prototype.Zc,K.prototype.sd,"MMR0"],kc[65534]=[null,null,K.prototype.$c,K.prototype.td,"PSW"],kc);
Ka(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new K(d);eb(d,c)}});var lc;if(wb){var mc=new ArrayBuffer(2);(new DataView(mc)).setUint16(0,256,!0);lc=256===(new Uint16Array(mc))[0]}else lc=!1;var nc=lc;
function I(a,b,c,d,f){this.id=oc+=2;this.b=null;this.A=a;this.Vb=b;this.size=c||0;this.type=d||pc;this.j=d==qc;this.controller=null;Ab(this);this.Ua=this.Pc=!1;if(c)if(f)this.controller=f,this.b=null,rc(this,f.Eb);else if(wb)this.B=new ArrayBuffer(c),this.F=new DataView(this.B,0,c),this.f=new Uint8Array(this.B,0,c),this.J=new Uint16Array(this.B,0,c>>1),this.b=new Int32Array(this.B,0,c>>2),rc(this,nc?sc:tc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;rc(this,uc)}else rc(this)}
var pc=0,qc=2,Gb=4,Ib=["NONE","RAM","ROM","VID","H/W"],oc=0;
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(wb)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(wb)for(b=0;b<a.length;b++)this.F.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ua=!0}return!1},hb:function(a,b){b?this.C++||vc(this,wc,!1):this.K++||xc(this,wc,!1)},R:function(){this.i&&F(this.i,128)&&(E(this.i,"attempt to read invalid block %"+
p(this.A),!0),this.i.ja());return 255},w:function(a,b){this.i&&F(this.i,128)&&(E(this.i,"attempt to write "+p(b,4,!0)+" to invalid block %"+p(this.A),!0),this.i.ja())},T:function(a,b){return this.vb(a++,b++)|this.vb(a,b)<<8},H:function(a,b,c){this.Bb(a++,b&255,c++);this.Bb(a,b>>8,c)},da: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},xa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&
~(255<<a)|b<<a;this.Ua=!0},pb: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.Ua=!0},ba:function(a,b){if(this.i&&null!=this.A){var c=this.i;yc(c,this.A+a,1,c.X)&&c.ja(!0)}return this.Ob(a,b)},ha:function(a,b){if(this.i&&null!=this.A){var c=this.i;yc(c,this.A+a,2,c.X)&&c.ja(!0)}return this.lc(a,b)},ua:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;yc(d,this.A+a,1,d.F)&&d.ja(!0)}this.j?this.w(a,
b,c):this.Cb(a,b,c)},Aa:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;yc(d,this.A+a,2,d.F)&&d.ja(!0)}this.j?this.w(a,b,c):this.rc(a,b,c)},X:function(a){return this.f[a]},ca:function(a,b){a=this.f[a];this.i&&F(this.i,128)&&E(this.i,"Memory.readByte("+J(this.i,b)+"): "+J(this.i,a),!0);return a},ea:function(a){return this.F.getUint16(a,!0)},la:function(a,b){a=a&1?this.f[a]|this.f[a+1]<<8:this.J[a>>1];this.i&&F(this.i,128)&&E(this.i,"Memory.readWord("+J(this.i,b)+"): "+J(this.i,a),!0);return a},
qa:function(a,b){this.f[a]=b;this.Ua=!0},wa:function(a,b,c){this.f[a]=b;this.Ua=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0)},za:function(a,b){this.F.setUint16(a,b,!0);this.Ua=!0},Ba:function(a,b,c){a&1?(this.f[a]=b,this.f[a+1]=b>>8):this.J[a>>1]=b;this.Ua=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0)}};function Ab(a,b,c){a.i=b;a.K=a.C=0;c&&((a.K=c.K)&&xc(a,wc,!1),(a.C=c.C)&&vc(a,wc,!1))}
function zc(a,b){b?--a.C||(a.Bb=a.j?a.w:a.Cb,a.Ic=a.j?a.H:a.rc):--a.K||(a.vb=a.Ob,a.Cc=a.lc)}function vc(a,b,c){c&&a.C||(a.Bb=!a.j&&b[1]||a.w,a.Ic=!a.j&&b[3]||a.H);if(c||void 0===c)a.Cb=b[1]||a.w,a.rc=b[3]||a.H}function xc(a,b,c){c&&a.K||(a.vb=b[0]||a.R,a.Cc=b[2]||a.T);if(c||void 0===c)a.Ob=b[0]||a.R,a.lc=b[2]||a.T}function rc(a,b){b||(b=Ac);xc(a,b,void 0);vc(a,b,void 0)}var Ac=[],uc=[I.prototype.da,I.prototype.xa,I.prototype.ma,I.prototype.pb],wc=[I.prototype.ba,I.prototype.ua,I.prototype.ha,I.prototype.Aa];
if(wb)var tc=[I.prototype.X,I.prototype.qa,I.prototype.ea,I.prototype.za],sc=[I.prototype.ca,I.prototype.wa,I.prototype.la,I.prototype.Ba];function Bc(a,b){w.call(this,"CPU",a,Bc,1);var c=a.multiplier||1;this.Aa=a.cycles||b;this.Xa=c;this.gb=Math.round(this.Aa/1E4)/100;this.kb=this.gb*this.Xa;this.v.ga=!1;this.v.pc=!1;this.v.Fb=a.autoStart;this.v.wc=!1;this.v.qb=!1;this.Lb=this.ha=0;this.Mb=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.R=[];this.Xb=this.od.bind(this);G(this)}y(Bc);
var Cc=["power","reset"];k=Bc.prototype;k.Na=function(a,b,c,d){this.C=a;this.G=b;this.i=d;for(b=0;b<Cc.length;b++)(c=this.K[Cc[b]])&&this.C.pa(null,Cc[b],c);this.qa=null;a=Dc(a,"autoStart");null!=a&&(this.v.Fb="true"==a?!0:"false"==a?!1:!!a);G(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
k.Ja=function(a,b){if(!b){if(a&&this.restore){Ec(this);if(!this.restore(a))return!1;Fc(this)}else this.reset();this.i?(a=this.i,a.g("Type ? for help with PDP11 Debugger commands"),a.Fa(),a.gb&&(b=a.gb,a.gb=null,Gc(a,b))):this.g("No debugger detected")}M(this);return!0};k.Ia=function(a){return a?this.save():!0};k.Fb=function(){return this.v.Fb||!this.i&&void 0===this.K.run?(this.zb(!0),!0):!1};k.yc=function(){return 0};
function Fc(a){void 0===a.Mb&&(a.Mb=0);void 0===a.tb&&(a.tb=-1);void 0===a.ub&&(a.ub=-1);a.v.qb=0<=a.Mb&&0<a.tb;a.v.qb&&(a.Lb=0,a.ha=a.Mb-a.ea)}function Hc(a,b){if(a.v.qb){var c=!1;a.Lb=a.Lb+a.yc()|0;a.ha-=b;0>=a.ha&&(a.ha+=a.tb,c=!0);0<=a.ub&&a.ub<=Ic(a)&&(a.tb=a.ub=-1,Fc(a),a.ja(),c=!0);c&&a.g(Ic(a)+" cycles: checksum="+p(a.Lb))}}
function Jc(a,b,c,d){if(a.K[b]){void 0===c&&(vb(a,"Value for "+b+" is invalid"),a.ja());var f=a.i&&a.i.ea||8;c=!a.v.ga||a.v.wc?8==f?ba(c,d):p(c,d):"--------".substr(0,d||4);a.K[b].textContent!=c&&(a.K[b].textContent=c)}}
k.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.K[b]=c;a=!0;break;case "run":this.K[b]=c;c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.v.ia)a=!0;else{var b=null,c,h=bb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.v.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.v.ia);c++);c==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.v.ready?"powered yet":"ready yet"+(b.Yb?" (waiting for notification)":""))+".");a=!1}a&&(d.v.ga?d.ja():d.zb())};
a=!0;break;case "speed":this.K[b]=c;a=!0;break;case "setSpeed":this.K[b]=c,c.onclick=function(){bd(d,d.Xa<<1,!0)},c.textContent=this.kb.toFixed(2)+"Mhz",a=!0}return a};function cd(a,b,c){a.ea+=b;c&&(a.da=a.b=0)}function dd(a,b){var c=1;b&&1<a.Xa&&a.ba&&(c=a.ba/a.gb);a.Jb=Math.round(1E3/30);a.Ba=Math.floor(a.Aa/30*c);b||(a.la=a.Ba);a.ob=0}function Ic(a){return a.ea+a.X+a.da-a.b}function Ec(a){a.ba=0;a.Wb=0;a.ea=a.X=a.da=a.b=0;Fc(a);bd(a,1)}
function bd(a,b,c){var d=!1;if(void 0!==b){.8>a.ba/a.kb?b=1:d=!0;a.Xa=b;b=a.gb*a.Xa;if(a.kb!=b){a.kb=b;b=a.kb.toFixed(2)+"Mhz";var f=a.K.setSpeed;f&&(f.textContent=b);a.g("target speed: "+b)}c&&a.C&&a.C.Ub()}cd(a,a.X);a.X=0;a.T=qa();a.ca=0;dd(a);return d}function Ob(a,b){var c=a.R.length;a.R.push([-1,b]);return c}function Qb(a,b){var c;0<=b&&b<a.R.length&&0>a.R[b][0]&&(c=a.Aa*a.Xa/1E3*(1E3/60),a.R[b][0]=c)}
function ed(a,b){for(var c=a.R.length-1;0<=c;c--){var d=a.R[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function fd(a,b){for(var c=a.R.length-1;0<=c;c--){var d=a.R[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function gd(a){a.da-=a.b;a.b=0}
k.od=function(){if(this.v.ga){this.ob>=this.Aa&&dd(this,!0);this.ua=0;this.za=qa();if(this.ca){var a=this.za-this.ca;a>this.Jb&&(this.T+=a,this.T>this.za&&(this.T=this.za))}try{do{var b=ed(this,this.v.qb?1:this.Ba);try{this.Ab(b)}catch(f){if("number"!=typeof f)throw f;}var c=this.da-this.b;fd(this,c);this.ua+=c;this.X+=c;cd(this,0,!0);Hc(this,c);this.la-=c;if(0>=this.la){this.la+=this.Ba;15<=++this.Wb&&(this.C&&this.C.Fa(),this.Wb=0);break}}while(this.v.ga)}catch(f){this.ja();M(this);this.C&&this.C.stop(qa(),
Ic(this));vb(this,f.stack||f.message);return}if(this.v.ga){a=setTimeout;b=this.Xb;this.ca=qa();c=this.Jb;this.ua&&(c=Math.round(c*this.ua/this.Ba));var c=c-(this.ca-this.za),d=this.ca-this.T;d&&(this.ba=Math.round(this.X/(10*d))/100,864E5<=d&&(this.ea=0,bd(this)));if(0>c||this.ba<this.kb)-1E3>c&&(this.T-=c),c=0;this.ob+=this.ua;this.ca+=c;a(b,c)}}};
k.zb=function(a){if(ib(this))return!1;if(this.v.ga)return this.g(this.toString()+" busy"),!1;bd(this);this.v.ga=!0;this.v.pc=!0;this.qa&&this.qa.start();var b=this.K.run;b&&(b.textContent="Halt");this.C&&(a&&this.C.Ub(!0),this.C.start(this.T,Ic(this)));M(this,!0);setTimeout(this.Xb,0);return!0};k.Ab=function(){return 0};
k.ja=function(a){if(this.v.ga){gd(this);cd(this,this.X);this.X=0;this.v.ga=!1;this.qa&&this.qa.stop();var b=this.K.run;b&&(b.textContent="Run");this.C&&this.C.stop(qa(),Ic(this));M(this)}this.v.complete=a};function M(a,b){a.C&&a.C.Fa(b)}
function hd(a){this.Wc=+a.model||1170;this.jc=a.resetAddr||0;Bc.call(this,a,6666667);this.Gb=0;this.decode=id.bind(this);this.U=65536;this.V=32768;this.Y=65535;this.W=32768;this.O=15;this.u=[0,0,0,0,0,0,0,this.jc];this.Oa=[0,0,0,0,0,0];this.ya=[0,0,0,0];this.xa=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.B=this.f=this.w=this.j=this.fb=this.D=0;this.jb=70;this.ma=-1;jd(this);this.v.complete=this.v.Oc=!1}y(hd,Bc);k=hd.prototype;k.reset=function(){this.v.ga&&this.ja();jd(this);Ec(this);this.v.error=!1;this.parent.reset.call(this)};
function jd(a){a.Za=255;a.I=0;a.nc=0;a.J=0;a.Ya=0;a.cc=0;a.lb=0;a.Zb=0;a.wa=0;a.$b=[7,7,7,7];a.F=[];a.D|=2;Sb(a)}function Sb(a){a.Zb?(a.Db=65536,a.aa=a.Sc):(a.Db=0,a.aa=a.Rc)}k.yc=function(){return 0};k.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.ea,this.Xa]);a.set(2,Kb(this.G));return a.data()};
k.restore=function(a){var b=a[1];this.ea=b[1];bd(this,b[3]);a:{b=this.G;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.J){for(var e=0,g=Array(b.J),h=0;h<f.length-1;)for(var l=f[h++],m=f[h++];l--;)g[e++]=m;f=g}e=b.N[d];if(!e||!e.restore(f)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
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];k=Ob.prototype;k.Oa=function(a,b,c,d){this.H=b;this.b=c;this.i=d;var f=this;this.f.qc=Qb(this.b,function(){f.f.Wa|=128;f.f.Wa&64&&(K(f.b,0,6,64),Rb(f.b,f.f.qc))});Mb(b,this,Sb);Nb(b,this.reset.bind(this),this.Kc.bind(this));G(this)};k.Yc=function(){var a=this.f.Wa;this.f.Wa&=-129;return a};
k.rd=function(a){this.f.Wa=a;a&64&&Rb(this.b,this.f.qc);this.f.Wa=a&-129};k.Zc=function(){var a=this.b;return a.I&62337|a.xa<<5|a.ya<<1};k.sd=function(a){var b=4,c=this.b;c.I=a&=62337;c.xa=a>>5&3;c.ya=a>>1&15;c.Zb=a&257?a&1?6:4:0;Tb(c);a=c.I;a&1|256&&(b=this.b.lb&16?1:2);this.j.sb=this.j.sb&-8|b};k.$c=function(){return Ub(this.b)};k.td=function(a){Vb(this.b,a&-1809|Ub(this.b)&1808);this.b.D|=128};
function Wb(a){var b=a.C,c,d,f,e=b.va>>13&7;"undefined"===typeof b.ra[e]&&(b.ra[e]={cache:[],postProcess:a.ed,drive:e,blocksize:256,mapped:0,maxblock:b.eb[e]*b.$[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.va=0;break;case 1:if((b.va>>4&511)>=b.eb[e]){b.oa|=32832;b.R|=49152;break}if((b.va&15)>=b.$[e]){b.oa|=32800;b.R|=49152;break}c=(b.va>>4&511)*b.$[e]+(b.va&15);d=(b.R&48)<<12|b.Pb;f=65536-b.Rb&65535;ec(a,b.ra[e],c,d,f);return;case 2:if((b.va>>4&511)>=b.eb[e])b.oa|=
32832,b.R|=49152;else if((b.va&15)>=b.$[e])b.oa|=32800,b.R|=49152;else{c=(b.va>>4&511)*b.$[e]+(b.va&15);d=(b.R&48)<<12|b.Pb;f=65536-b.Rb&65535;a.bc(b.ra[e],c,d,f);return}}b.Qb=e<<13|b.Qb&8176|b.va%9&15;K(a.b,20,5,144,function(){b.R=b.R&65534|128;return!!(b.R&64)})}k.ed=function(a,b,c,d,f){var e=this.C;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 fc(a){var b=a.w,c,d,f,e=b.M>>8&3;b.M&=-2;"undefined"===typeof b.ra[e]&&(b.ra[e]={cache:[],postProcess:a.fd,drive:e,blocksize:128,mapped:1,maxblock:b.eb[e]*b.$[e],url:"rl"+e+".dsk"});switch(b.M>>1&7){case 2:b.Xa&8&&(b.M&=63);b.Xa=b.Lc[e]|b.bb&64;break;case 3:1==(b.fa&3)&&(b.bb=b.fa&4?b.bb+(b.fa&65408)&65408|b.fa<<2&64:b.bb-(b.fa&65408)&65408|b.fa<<2&64,b.fa=b.bb);break;case 4:b.Xa=b.bb;break;case 5:if(b.fa>>6>=b.eb[e]){b.M|=37888;break}if((b.fa&63)>=b.$[e]){b.M|=37888;break}c=(b.fa>>6)*b.$[e]+
(b.fa&63);d=(b.Sa&63)<<16|b.Hb;f=65536-b.Xa&65535;ec(a,b.ra[e],c,d,f);return;case 6:if(b.fa>>6>=b.eb[e])b.M|=37888;else if((b.fa&63)>=b.$[e])b.M|=37888;else{c=(b.fa>>6)*b.$[e]+(b.fa&63);d=(b.Sa&63)<<16|b.Hb;f=65536-b.Xa&65535;a.bc(b.ra[e],c,d,f);return}}K(a.b,20,5,112,function(){b.M|=129;return!!(b.M&64)})}
k.fd=function(a,b,c,d,f){var e=this.w;e.Hb=d&65535;e.M=e.M&-49|d>>12&48;e.Sa=d>>16&63;e.fa=~~(c/e.$[b.Ma])<<6|c%e.$[b.Ma];e.bb=e.fa;e.Xa=65536-f&65535;switch(a){case 1:e.M|=33792;break;case 2:e.M|=40960}K(this.b,20,5,112,function(){e.M|=129;return!!(e.M&64)})};function gc(a){a=a.A;a.T=2176;a.Ea=0;a.ta=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.mb=a.yb=a.wb=a.ab=a.oc=0}
function hc(a,b){var c=a.A,d,f,e;c.T&=-16513;c.Ea&=-2049;c.ta[b]&=-1153;K(a.b,-1,0,172);"undefined"===typeof c.ra[b]&&(c.ra[b]={cache:[],postProcess:a.gd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.cb[0]*c.$[0],url:"rp"+b+".dsk"});switch(c.T&63){case 5:c.dc[b]=c.Qa[b];c.T|=32896;c.ta[b]|=32896;c.mb|=1<<b;break;case 9:gc(a);break;case 19:c.ta[b]|=64;break;case 49:if(c.Qa[b]>=c.ec[0]||c.Fa[b]>>8>=c.cb[0]||(c.Fa[b]&255)>=c.$[0]){c.xb[b]|=1024;c.T|=49152;break}d=(c.Qa[b]*c.cb[0]+(c.Fa[b]>>8))*c.$[0]+
(c.Fa[b]&255);f=(c.ab&63)<<16|c.wb;e=65536-c.yb&65535;ec(a,c.ra[b],d,f,e);return;case 57:if(c.Qa[b]>=c.ec[0]||c.Fa[b]>>8>=c.cb[0]||(c.Fa[b]&255)>=c.$[0])c.xb[b]|=1024,c.T|=49152;else{d=(c.Qa[b]*c.cb[0]+(c.Fa[b]>>8))*c.$[0]+(c.Fa[b]&255);f=(c.ab&63)<<16|c.wb;e=65536-c.yb&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)})}
k.gd=function(a,b,c,d,f){var e=this.A;e.yb=65536-f&65535;e.wb=d&65535;e.T=e.T&-769|d>>8&768;e.ab=d>>16&63;f=~~(c/e.$[0]);d=~~(f/e.cb[0]);e.Fa[b.Ma]=f%e.cb[0]<<8|c%e.$[0];e.dc[b.Ma]=e.Qa[b.Ma]=d;e.mb|=1<<b.Ma;c>=b.Vc-1&&(e.ta[b.Ma]|=1024);switch(a){case 1:e.Ea|=512;e.T|=49152;break;case 2:e.Ea|=2048,e.T|=49152}K(this.b,20,5,172,function(){e.ta[b.Ma]|=128;e.T=e.T&65534|128;return!!(e.T&64)})};
function ic(a,b,c,d,f,e){var g=~~((e+c.Ta-1)/c.Ta),h=new XMLHttpRequest;2048>g&&d+2048<c.Vc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Ta<<1)+"-"+(((d+g)*c.Ta<<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.Ta;r++)c.cache[n][r]=q<m.length?
m[q]&255|m[q+1]<<8&65280:0,q+=2;else q+=c.Ta<<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}k.bc=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){ic(this,this.bc,a,b,c,d);return}for(f=0;f<a.Ta&&0<d;f++){var e=a.Uc?jc(this.b,c):c;this.b.H.nb(e,a.cache[b][f]&65535);c+=2;--d}b++}a.kc(0,a,b,c,d)};
function ec(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.Ta;e++)b.cache[c][e]=0;for(e=0;e<b.Ta&&0<f;e++){g=kc(a.b,b.Uc?jc(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)}k.reset=function(){this.j.sb=this.j.sb&-120|20;this.f.Wa=0;this.C.R=128;this.w.M=128;gc(this)};
k.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.$a&65280:(a&1&&(b<<=8),e.$a=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.D|=2}break;case 4194294:if(70!==e.jb)return e.L(4,222);0>b?d=e.J:d=e.J=0;break;case 4194292:if(70!==e.jb)return e.L(4,224);d=1;break;case 4194290:if(70!==e.jb)return e.L(4,226);d=0;break;case 4194288:if(70!==e.jb)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.jb)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.u[6]=b),d=e.u[6]):(0<=b&&(e.za[3]=b),d=e.za[3]):e.P>>14&0?(0<=b&&(e.u[6]=b),d=e.u[6]):(0<=b&&(e.za[1]=b),d=e.za[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.P&2048?(0<=b&&(e.u[f]=b),d=e.u[f]):(0<=b&&(e.Pa[f]=
b),d=e.Pa[f]),d;case 4194246:return a&1?(0<=b&&(e.u[7]=b),d=e.u[7]):e.P>>14&0?(0<=b&&(e.u[6]=b),d=e.u[6]):(0<=b&&(e.za[0]=b),d=e.za[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.P&2048?(0<=b&&(e.Pa[f]=b),d=e.Pa[f]):(0<=b&&(e.u[f]=b),d=e.u[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:switch(a&-2){case 4194174:d=L(this,e.cc,a,b,c);0<=d&&(e.cc=d);break;case 4194172:d=e.Za;d&65280&&
(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.j.pd&65535:(d=L(this,this.j.data,a,b,c),0<=d&&(this.j.data=d));break;default:return e.J|=16,e.L(4,126)}break;case 4194048:f=this.C;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&&Wb(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.va,a,b,c);0<=d&&(f.va=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 g=this.A;f=g.Ea&7;switch(a&-2){case 4193728:d=L(this,g.T,a,b,c);0<=b&&0<=d&&(g.ab=g.ab&60|d>>8&3,g.T=d&17279|g.T&34944|2048,d&1&&g.T&128?hc(this,f):192==(d&192)&&K(e,0,5,172));break;case 4193730:d=L(this,g.yb,a,b,c);0<=d&&(g.yb=d);break;case 4193732:d=L(this,g.wb,a,b,c);0<=d&&(g.wb=d&65534);break;case 4193734:d=
L(this,g.Fa[f],a,b,c);0<=d&&(g.Fa[f]=d&7967);break;case 4193736:d=L(this,g.Ea,a,b,c);0<=d&&(g.Ea=d&63|g.Ea&65472,d&128&&gc(this));break;case 4193738:d=g.ta[f];break;case 4193740:d=g.xb[f];break;case 4193742:d=L(this,g.mb,a,b,c);0<=d&&(g.mb=d&255);break;case 4193744:d=g.md[f];break;case 4193746:d=L(this,g.Ec,a,b,c);0<=d&&(g.Ec=d);break;case 4193748:d=L(this,g.Fc[f],a,b,c);0<=d&&(g.Fc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=g.nd[f];break;case 4193754:d=L(this,g.Gc[f],a,b,c);0<=d&&
(g.Gc[f]=d);break;case 4193756:d=L(this,g.Qa[f],a,b,c);0<=d&&(g.Qa[f]=d&511);break;case 4193758:g.dc[f]=g.Qa[f];d=g.dc[f];break;case 4193760:d=g.kd[f];break;case 4193762:d=g.ld[f];break;case 4193764:d=g.hd[f];break;case 4193766:d=g.jd[f];break;case 4193768:d=L(this,g.ab,a,b,c);0<=d&&(g.ab=d&63,g.T=g.T&-769|(d&3)<<8);break;case 4193770:d=L(this,g.oc,a,b,c);0<=d&&(g.oc=d);break;default:return e.J|=16,e.L(4,132)}break;case 4192512:f=this.w;switch(a&-2){case 4192512:d=L(this,f.M,a,b,c);0<=b&&0<=d&&(f.Sa=
f.Sa&60|d>>4&3,f.M=f.M&-1023|d&1022,f.M&128||fc(this));break;case 4192514:d=L(this,f.Hb,a,b,c);0<=d&&(f.Hb=d&65534);break;case 4192516:d=L(this,f.fa,a,b,c);0<=d&&(f.fa=d);break;case 4192518:d=L(this,f.Xa,a,b,c);0<=d&&(f.Xa=d);break;case 4192520:d=L(this,f.Sa,a,b,c);0<=d&&(f.Sa=d&63,f.M=f.M&-49|(f.Sa&3)<<4);break;default:return e.J|=16,e.L(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.lb:(d=L(this,e.lb,a,b,c),0<=d&&(70!==e.jb&&(d&=-49),e.lb=d,e.$b[0]=d&4?15:7,e.$b[1]=d&2?15:7,e.$b[3]=
d&1?15:7,e.Zb&&(f=2,e.lb&16&&(f=1),this.j.sb=this.j.sb&-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.jb)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=Pb[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 lc={},Sb=(lc[65382]=[null,null,Ob.prototype.Yc,Ob.prototype.rd,"LKS"],lc[65402]=[null,null,Ob.prototype.Zc,Ob.prototype.sd,"MMR0"],lc[65534]=[null,null,Ob.prototype.$c,Ob.prototype.td,"PSW"],lc);
La(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Ob(d);fb(d,c)}});var mc;if(xb){var nc=new ArrayBuffer(2);(new DataView(nc)).setUint16(0,256,!0);mc=256===(new Uint16Array(nc))[0]}else mc=!1;var oc=mc;
function I(a,b,c,d,f){this.id=pc+=2;this.b=null;this.B=a;this.Vb=b;this.size=c||0;this.type=d||qc;this.j=d==rc;this.controller=null;Bb(this);this.Va=this.Pc=!1;if(c)if(f)this.controller=f,this.b=null,sc(this,f.Eb);else if(xb)this.A=new ArrayBuffer(c),this.F=new DataView(this.A,0,c),this.f=new Uint8Array(this.A,0,c),this.I=new Uint16Array(this.A,0,c>>1),this.b=new Int32Array(this.A,0,c>>2),sc(this,oc?tc:uc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;sc(this,vc)}else sc(this)}
var qc=0,rc=2,Hb=4,Jb=["NONE","RAM","ROM","VID","H/W"],pc=0;
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(xb)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(xb)for(b=0;b<a.length;b++)this.F.setInt32(b<<2,a[b],!0);else this.b=a;return this.Va=!0}return!1},hb:function(a,b){b?this.C++||wc(this,xc,!1):this.K++||yc(this,xc,!1)},O:function(){this.i&&F(this.i,128)&&(E(this.i,"attempt to read invalid block %"+
p(this.B),!0),this.i.ja());return 255},w:function(a,b){this.i&&F(this.i,128)&&(E(this.i,"attempt to write "+p(b,4,!0)+" to invalid block %"+p(this.B),!0),this.i.ja())},S:function(a,b){return this.vb(a++,b++)|this.vb(a,b)<<8},G:function(a,b,c){this.Bb(a++,b&255,c++);this.Bb(a,b>>8,c)},da: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},ya:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&
~(255<<a)|b<<a;this.Va=!0},pb: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.Va=!0},ba:function(a,b){if(this.i&&null!=this.B){var c=this.i;zc(c,this.B+a,1,c.X)&&c.ja(!0)}return this.Ob(a,b)},ha:function(a,b){if(this.i&&null!=this.B){var c=this.i;zc(c,this.B+a,2,c.X)&&c.ja(!0)}return this.lc(a,b)},ua:function(a,b,c){if(this.i&&null!=this.B){var d=this.i;zc(d,this.B+a,1,d.F)&&d.ja(!0)}this.j?this.w(a,
b,c):this.Cb(a,b,c)},Ba:function(a,b,c){if(this.i&&null!=this.B){var d=this.i;zc(d,this.B+a,2,d.F)&&d.ja(!0)}this.j?this.w(a,b,c):this.rc(a,b,c)},X:function(a){return this.f[a]},ca:function(a,b){a=this.f[a];this.i&&F(this.i,128)&&E(this.i,"Memory.readByte("+J(this.i,b)+"): "+J(this.i,a),!0);return a},ea:function(a){return this.F.getUint16(a,!0)},la:function(a,b){a=a&1?this.f[a]|this.f[a+1]<<8:this.I[a>>1];this.i&&F(this.i,128)&&E(this.i,"Memory.readWord("+J(this.i,b)+"): "+J(this.i,a),!0);return a},
qa:function(a,b){this.f[a]=b;this.Va=!0},xa:function(a,b,c){this.f[a]=b;this.Va=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0)},Aa:function(a,b){this.F.setUint16(a,b,!0);this.Va=!0},Ca:function(a,b,c){a&1?(this.f[a]=b,this.f[a+1]=b>>8):this.I[a>>1]=b;this.Va=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0)}};function Bb(a,b,c){a.i=b;a.K=a.C=0;c&&((a.K=c.K)&&yc(a,xc,!1),(a.C=c.C)&&wc(a,xc,!1))}
function Ac(a,b){b?--a.C||(a.Bb=a.j?a.w:a.Cb,a.Ic=a.j?a.G:a.rc):--a.K||(a.vb=a.Ob,a.Cc=a.lc)}function wc(a,b,c){c&&a.C||(a.Bb=!a.j&&b[1]||a.w,a.Ic=!a.j&&b[3]||a.G);if(c||void 0===c)a.Cb=b[1]||a.w,a.rc=b[3]||a.G}function yc(a,b,c){c&&a.K||(a.vb=b[0]||a.O,a.Cc=b[2]||a.S);if(c||void 0===c)a.Ob=b[0]||a.O,a.lc=b[2]||a.S}function sc(a,b){b||(b=Bc);yc(a,b,void 0);wc(a,b,void 0)}var Bc=[],vc=[I.prototype.da,I.prototype.ya,I.prototype.ma,I.prototype.pb],xc=[I.prototype.ba,I.prototype.ua,I.prototype.ha,I.prototype.Ba];
if(xb)var uc=[I.prototype.X,I.prototype.qa,I.prototype.ea,I.prototype.Aa],tc=[I.prototype.ca,I.prototype.xa,I.prototype.la,I.prototype.Ca];function Cc(a,b){w.call(this,"CPU",a,Cc,1);var c=a.multiplier||1;this.Ba=a.cycles||b;this.Ya=c;this.gb=Math.round(this.Ba/1E4)/100;this.kb=this.gb*this.Ya;this.v.ga=!1;this.v.pc=!1;this.v.Fb=a.autoStart;this.v.wc=!1;this.v.qb=!1;this.Lb=this.ha=0;this.Mb=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.O=[];this.Xb=this.od.bind(this);G(this)}y(Cc);
var Dc=["power","reset"];k=Cc.prototype;k.Oa=function(a,b,c,d){this.C=a;this.H=b;this.i=d;for(b=0;b<Dc.length;b++)(c=this.K[Dc[b]])&&this.C.pa(null,Dc[b],c);this.qa=null;a=Ec(a,"autoStart");null!=a&&(this.v.Fb="true"==a?!0:"false"==a?!1:!!a);G(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
k.Ka=function(a,b){if(!b){if(a&&this.restore){Fc(this);if(!this.restore(a))return!1;Gc(this)}else this.reset();this.i?(a=this.i,a.g("Type ? for help with PDP11 Debugger commands"),a.Ga(),a.gb&&(b=a.gb,a.gb=null,Hc(a,b))):this.g("No debugger detected")}M(this);return!0};k.Ja=function(a){return a?this.save():!0};k.Fb=function(){return this.v.Fb||!this.i&&void 0===this.K.run?(this.zb(!0),!0):!1};k.yc=function(){return 0};
function Gc(a){void 0===a.Mb&&(a.Mb=0);void 0===a.tb&&(a.tb=-1);void 0===a.ub&&(a.ub=-1);a.v.qb=0<=a.Mb&&0<a.tb;a.v.qb&&(a.Lb=0,a.ha=a.Mb-a.ea)}function Ic(a,b){if(a.v.qb){var c=!1;a.Lb=a.Lb+a.yc()|0;a.ha-=b;0>=a.ha&&(a.ha+=a.tb,c=!0);0<=a.ub&&a.ub<=Jc(a)&&(a.tb=a.ub=-1,Gc(a),a.ja(),c=!0);c&&a.g(Jc(a)+" cycles: checksum="+p(a.Lb))}}
function bd(a,b,c,d){if(a.K[b]){void 0===c&&(wb(a,"Value for "+b+" is invalid"),a.ja());var f=a.i&&a.i.ea||8;c=!a.v.ga||a.v.wc?8==f?ba(c,d):p(c,d):"--------".substr(0,d||4);a.K[b].textContent!=c&&(a.K[b].textContent=c)}}
k.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.K[b]=c;a=!0;break;case "run":this.K[b]=c;c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.v.ia)a=!0;else{var b=null,c,h=cb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.v.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.v.ia);c++);c==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.v.ready?"powered yet":"ready yet"+(b.Yb?" (waiting for notification)":""))+".");a=!1}a&&(d.v.ga?d.ja():d.zb())};
a=!0;break;case "speed":this.K[b]=c;a=!0;break;case "setSpeed":this.K[b]=c,c.onclick=function(){cd(d,d.Ya<<1,!0)},c.textContent=this.kb.toFixed(2)+"Mhz",a=!0}return a};function dd(a,b,c){a.ea+=b;c&&(a.da=a.b=0)}function ed(a,b){var c=1;b&&1<a.Ya&&a.ba&&(c=a.ba/a.gb);a.Jb=Math.round(1E3/30);a.Ca=Math.floor(a.Ba/30*c);b||(a.la=a.Ca);a.ob=0}function Jc(a){return a.ea+a.X+a.da-a.b}function Fc(a){a.ba=0;a.Wb=0;a.ea=a.X=a.da=a.b=0;Gc(a);cd(a,1)}
function cd(a,b,c){var d=!1;if(void 0!==b){.8>a.ba/a.kb?b=1:d=!0;a.Ya=b;b=a.gb*a.Ya;if(a.kb!=b){a.kb=b;b=a.kb.toFixed(2)+"Mhz";var f=a.K.setSpeed;f&&(f.textContent=b);a.g("target speed: "+b)}c&&a.C&&a.C.Ub()}dd(a,a.X);a.X=0;a.S=ra();a.ca=0;ed(a);return d}function Qb(a,b){var c=a.O.length;a.O.push([-1,b]);return c}function Rb(a,b){var c;0<=b&&b<a.O.length&&0>a.O[b][0]&&(c=a.Ba*a.Ya/1E3*(1E3/60),a.O[b][0]=c)}
function fd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function gd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function hd(a){a.da-=a.b;a.b=0}
k.od=function(){if(this.v.ga){this.ob>=this.Ba&&ed(this,!0);this.ua=0;this.Aa=ra();if(this.ca){var a=this.Aa-this.ca;a>this.Jb&&(this.S+=a,this.S>this.Aa&&(this.S=this.Aa))}try{do{var b=fd(this,this.v.qb?1:this.Ca);try{this.Ab(b)}catch(f){if("number"!=typeof f)throw f;}var c=this.da-this.b;gd(this,c);this.ua+=c;this.X+=c;dd(this,0,!0);Ic(this,c);this.la-=c;if(0>=this.la){this.la+=this.Ca;15<=++this.Wb&&(this.C&&this.C.Ga(),this.Wb=0);break}}while(this.v.ga)}catch(f){this.ja();M(this);this.C&&this.C.stop(ra(),
Jc(this));wb(this,f.stack||f.message);return}if(this.v.ga){a=setTimeout;b=this.Xb;this.ca=ra();c=this.Jb;this.ua&&(c=Math.round(c*this.ua/this.Ca));var c=c-(this.ca-this.Aa),d=this.ca-this.S;d&&(this.ba=Math.round(this.X/(10*d))/100,864E5<=d&&(this.ea=0,cd(this)));if(0>c||this.ba<this.kb)-1E3>c&&(this.S-=c),c=0;this.ob+=this.ua;this.ca+=c;a(b,c)}}};
k.zb=function(a){if(vb(this))return!1;if(this.v.ga)return this.g(this.toString()+" busy"),!1;cd(this);this.v.ga=!0;this.v.pc=!0;this.qa&&this.qa.start();var b=this.K.run;b&&(b.textContent="Halt");this.C&&(a&&this.C.Ub(!0),this.C.start(this.S,Jc(this)));M(this,!0);setTimeout(this.Xb,0);return!0};k.Ab=function(){return 0};
k.ja=function(a){if(this.v.ga){hd(this);dd(this,this.X);this.X=0;this.v.ga=!1;this.qa&&this.qa.stop();var b=this.K.run;b&&(b.textContent="Run");this.C&&this.C.stop(ra(),Jc(this));M(this)}this.v.complete=a};function M(a,b){a.C&&a.C.Ga(b)}
function id(a){this.Wc=+a.model||1170;this.jc=a.resetAddr||0;Cc.call(this,a,6666667);this.Gb=0;this.decode=jd.bind(this);this.U=65536;this.V=32768;this.Y=65535;this.W=32768;this.P=15;this.u=[0,0,0,0,0,0,0,this.jc];this.Pa=[0,0,0,0,0,0];this.za=[0,0,0,0];this.ya=this.G=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.A=this.f=this.w=this.j=this.fb=this.D=0;this.jb=70;this.ma=-1;kd(this);this.v.complete=this.v.Oc=!1}y(id,Cc);k=id.prototype;k.reset=function(){this.v.ga&&this.ja();kd(this);Fc(this);this.v.error=!1;this.parent.reset.call(this)};
function kd(a){a.$a=255;a.J=0;a.nc=0;a.I=0;a.Za=0;a.cc=0;a.lb=0;a.Zb=0;a.xa=0;a.$b=[7,7,7,7];a.F=[];a.D|=2;Tb(a)}function Tb(a){a.Zb?(a.Db=65536,a.aa=a.Sc):(a.Db=0,a.aa=a.Rc)}k.yc=function(){return 0};k.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.ea,this.Ya]);a.set(2,Lb(this.H));return a.data()};
k.restore=function(a){var b=a[1];this.ea=b[1];cd(this,b[3]);a:{b=this.H;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.I){for(var e=0,g=Array(b.I),h=0;h<f.length-1;)for(var l=f[h++],m=f[h++];l--;)g[e++]=m;f=g}e=b.N[d];if(!e||!e.restore(f)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
k.pa=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.K[b]=c;this.Gb++;a=!0;break;default:a=this.parent.pa.call(this,a,b,c)}return a};
k.Fa=function(a){if(this.Gb&&(a||!this.v.ga||this.v.wc)){for(a=0;a<this.u.length;a++)Jc(this,"R"+a,this.u[a]);a=Tb(this);Jc(this,"PS",a);Jc(this,"NF",a&8?1:0,1);Jc(this,"ZF",a&4?1:0,1);Jc(this,"VF",a&2?1:0,1);Jc(this,"CF",a&1?1:0,1)}if(a=this.K.speed)a.textContent=this.v.ga&&this.ba?this.ba.toFixed(2)+"Mhz":"Stopped"};function kd(a){return a.U&65536?1:0}function ld(a){return a.V&32768?2:0}function md(a){return a.Y&65535?0:4}k.Ma=function(){return this.W&32768?8:0};
function nd(a){var b=od(a,a.u[7]);a.u[7]=a.u[7]+2&65535;return b}function pd(a,b){a.u[7]=b&65535}function Pb(a,b,c,d,f){for(var e=a.F.length;0<e--;)if(a.F[e].qd===d){0<e&&(a.F[e-1].Ta+=a.F[e].Ta);a.F.splice(e,1);break}if(0<=b){for(e=a.F.length;0<e--;){if(a.F[e].Ta>b){a.F[e].Ta-=b;break}b-=a.F[e].Ta}a.F.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.D|=2}function Tb(a){return a.O=a.O&63728|a.Ma()|md(a)|ld(a)|kd(a)}
function Ub(a,b){a.W=b<<12;a.Y=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.O)&2048)for(var c=a.Oa.length;0<=--c;){var d=a.u[c];a.u[c]=a.Oa[c];a.Oa[c]=d}a.H=b>>14&3;c=a.O>>14&3;a.H!=c&&(a.ya[c]=a.u[6],a.u[6]=a.ya[a.H]);a.D|=2;a.O=b}function O(a,b){a.D&128||(a.W=a.Y=b,a.V=0)}function qd(a,b,c){a.D&128||(a.W=a.Y=a.U=b,a.V=c||0)}function rd(a,b,c,d){a.D&128||(a.W=a.Y=a.U=b,a.V=(c^b)&(d^b))}function sd(a,b){a.D&128||(a.W=a.Y=a.U=b,a.V=a.W^a.U>>1)}function td(a,b,c,d){a.D&128||(a.W=a.Y=a.U=b,a.V=(c^d)&(d^b))}
k.L=function(a){var b=!1;0>this.ma?this.ma=Tb(this):this.H||(a=4,b=!0);this.J&57344||(this.Ya=63222,this.cc=a);this.H=0;var c=od(this,a|65536),d=od(this,a+2&65535|65536);Ub(this,d&-12289|this.ma>>2&12288);b&&(this.I|=4,this.u[6]=4);ud(this,this.ma);ud(this,this.u[7]);pd(this,c);this.D&=-113;this.ma=-1;throw a;};function vd(a){var b=wd(a),c=wd(a)&-1793;a.O&49152&&(c=c&-225|a.O&63712);pd(a,b);Ub(a,c);a.D&=-17}
function ic(a,b){var c=b>>13&31;31>c?a.lb&32&&(b=a.Tb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
function xd(a,b,c){var d,f,e,g=0;if(c&a.Zb){d=b>>13&a.$b[a.H];f=a.na[a.H][d];e=(a.na[a.H][d+16]<<6)+(b&8191)&4194303;a.lb&16?3932160<=e&&4186112>e&&(e=ic(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.I|=32,a.L(4,12)),e&1&&!(c&1)&&(a.I|=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.wa=a.H,a.xa=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.J&57344||(a.J=a.J|g|a.wa<<5|a.xa<<1),a.L(168,16)),a.J&61440||!(4191360>e||4194239<e)||(a.J|=4096,a.J&512&&(a.D|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.I|=64,a.L(4,10));return e}function jc(a,b){return a.G.Ha(b)}function od(a,b){return jc(a,xd(a,b,2))}function wd(a){var b=od(a,a.u[6]|65536);a.u[6]=a.u[6]+2&65535;return b}
function ud(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.J&57344||(a.Ya=a.Ya<<8|246);!a.H&&c<=a.Za&&4<c&&(c<=a.Za-32?(a.I|=4,a.u[6]=4,a.L(4,18)):(a.I|=8,a.D|=4));c=xd(a,c|65536,4);a.G.nb(c,b&65535)}
function yd(a,b,c){var d,f,e=c&8?0:a.Db,g=b>>3&7;b&=7;c&4?(a.j=g,a.f=b):(a.w=g,a.B=b);switch(g){case 0:return a.L(4,20),0;case 1:return 6===b&&!a.H&&c&4&&(a.u[6]<=a.Za||65534<=a.u[6])&&(a.u[6]<=a.Za-32||65534<=a.u[6]?(a.I|=4,a.u[6]=4,a.L(4,22)):(a.I|=8,a.D|=64)),a.b-=3,7===b?a.u[b]:a.u[b]|e;case 2:f=2;d=a.u[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.b-=3;break;case 3:f=2;d=a.u[b];7!==b&&(d|=e);d=od(a,d);d|=e;a.b-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.u[b]+f&65535;7!==b&&(d|=e);a.b-=4;break;case 5:f=-2;
d=a.u[b]-2&65535;7!==b&&(d|=e);d=od(a,d)|e;a.b-=8;break;case 6:return d=nd(a),d=d+a.u[b]&65535|e,a.b-=6,d;case 7:return d=nd(a),d=d+a.u[b]&65535,d=od(a,d|65536)|e,a.b-=10,d}a.u[b]=a.u[b]+f&65535;!e||a.J&57344||(a.Ya=a.Ya<<8|f<<3&248|b);6==b&&!a.H&&c&4&&0>=f&&(a.u[6]<=a.Za||65534<=a.u[6])&&(a.u[6]<=a.Za-32?(a.I|=4,a.u[6]=4,a.L(4,24)):(a.I|=8,a.D|=64));return d}k.Rc=function(a,b){return yd(this,a,b)};k.Sc=function(a,b){return xd(this,yd(this,a,b),b)};
function zd(a,b,c){b&56?(b=yd(a,b,2),c&65536||61440!==(a.O&61440)&&(b&=65535),a.H=a.O>>12&3,c=od(a,b|c&65536),a.H=a.O>>14&3):(a.w=0,c=a.B=b&7,c=6!=c||(a.O>>2&12288)===(a.O&12288)?a.u[c]:a.ya[a.O>>12&3]);return c}function Ad(a,b,c,d){a.J&57344||(a.Ya=22);b&56?(b=yd(a,b,4),c&65536||(b&=65535),a.H=a.O>>12&3,b=xd(a,b|c&65536,4),a.H=a.O>>14&3,a.G.nb(b,d&65535)):(a.j=0,c=a.f=b&7,6!=c||(a.O>>2&12288)===(a.O&12288)?a.u[c]=d:a.ya[a.O>>12&3]=d)}
function P(a,b){b&56?a=jc(a,a.aa(b,2)):(a.w=0,a=a.u[a.B=b&7]);return a}function Bd(a,b){b&56?(b=a.aa(b,3),a=a.G.rb(b)):(a.w=0,a=a.u[a.B=b&7]&255);return a}function Q(a,b,c,d){b&56?(b=a.aa(b,6),c=d.call(a,c,jc(a,b)),a.G.nb(b,c&65535)):(a.j=0,b=a.f=b&7,a.u[b]=d.call(a,c,a.u[b]))}function R(a,b,c,d){b&56?(b=a.fb=a.aa(b,7),c=d.call(a,c,a.G.rb(b)),b&1&&a.b--,a.G.Sb(b,c&255)):(a.j=0,b=a.f=b&7,a.u[b]=a.u[b]&65280|d.call(a,c,a.u[b]))}
function Cd(a,b,c){b&56?(b=a.aa(b,4),a.G.nb(b,c&65535)):(a.j=0,a.u[a.f=b&7]=c&65535);return c}function Dd(a,b,c,d){b&56?(d=a.aa(b,5),d&1&&a.b--,a.G.Sb(d,c&255)):(a.j=0,b=a.f=b&7,a.u[b]=c?d&1?c<<24>>24&65535:a.u[b]&-256|c&255:a.u[b]&-256);return c}function T(a,b,c){c&&(pd(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3}
k.Ab=function(a){this.v.complete=!0;var b=this.v.Oc=this.i&&Ed(this.i),c=a?this.v.pc?0:1:-1;this.v.pc=!1;this.da=this.b=a;do{if(b){if(Fd(this.i,this.u[7],c)){this.ja();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.nc&224,f=this.F.length;0<=--f;){if(0<this.F[f].Ta){this.F[f].Ta--;this.D|=2;break}if(this.F[f].uc){if(!this.F[f].uc()){this.F.splice(f,1);continue}this.F[f].uc=
null}this.F[f].Xc>d&&(d=this.F[f].Xc,a=this.F[f],this.F.splice(f,1))}d>(this.O&224)&&(this.D&4&&(this.u[7]=this.u[7]+2&65535,this.D&=-5),a?this.L(a.qd,26):this.L(160,26))}else this.D&1&&this.D++;this.J&57344||(this.Ya=0,this.cc=this.u[7]);this.D=this.D&7|this.O&16;this.decode(nd(this))}while(0<this.b);return this.v.complete?this.da-this.b:void 0===this.v.complete?0:-1};Ka(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new hd(d);eb(d,c)}});
function Gd(a,b){var c=b+a;rd(this,c,a,b);return c&65535}function Hd(a,b){var c=b+a;rd(this,c<<8,a<<8,b<<8);return c&255}function Id(a,b){a=b<<1;sd(this,a);return a&65535}function Jd(a,b){a=b<<1;sd(this,a<<8);return a&255}function Kd(a,b){a=b&32768|b>>1|b<<16;sd(this,a);return a&65535}function Ld(a,b){a=b&2048|b>>1|b<<8;sd(this,a<<8);return a&255}function Md(a,b){a=b&~a;O(this,a);return a}function Nd(a,b){a=b&~a;O(this,a<<8);return a}function Od(a,b){a|=b;O(this,a);return a}
function Pd(a,b){a|=b;O(this,a<<8);return a}function Qd(a,b){a=~b|65536;qd(this,a);return a&65535}function Rd(a,b){a=~b|256;qd(this,a<<8);return a&255}function Sd(a,b){a=b-a;this.D&128||(this.W=this.Y=a,this.V=b&(b^a));return a&65535}function Td(a,b){a=b-a;var c=a<<8;b<<=8;this.D&128||(this.W=this.Y=c,this.V=b&(b^c));return a&255}function Ud(a,b){a=b+a;this.D&128||(this.W=this.Y=a,this.V=a&(b^a));return a&65535}
function Vd(a,b){a=b+a;var c=a<<8;this.D&128||(this.W=this.Y=c,this.V=c&(b<<8^c));return a&255}function Wd(a,b){a=-b;qd(this,a,a&b&32768);return a&65535}function Xd(a,b){a=-b;qd(this,a<<8,(a&b&128)<<8);return a&255}function Yd(a,b){a=b<<1|this.U>>16&1;sd(this,a);return a&65535}function Zd(a,b){a=b<<1|this.U>>16&1;sd(this,a<<8);return a&255}function $d(a,b){a=(this.U&65536|b)>>1|b<<16;sd(this,a);return a&65535}function ae(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;sd(this,a<<8);return a&255}
function be(a,b){var c=b-a;td(this,c,a,b);return c&65535}function ce(a,b){var c=b-a;td(this,c<<8,a<<8,b<<8);return c&255}function de(a,b){this.D&128||(this.W=this.Y=b&65280,this.V=this.U=0);return(b<<8|b>>8)&65535}function ee(a,b){a^=b;O(this,a);return a&65535}
function fe(a){var b=P(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.U=c<<17-b,c>>=b;else if(b)if(16<b)this.V=c,c=0;else{this.U=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.V=32768)}this.u[a]=c&65535;this.W=this.Y=c;this.b-=(this.w?6:7)+b}
function ge(a){var b=P(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.U=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.V=32768)):d=c;this.u[a]=d>>16&65535;this.u[a|1]=d&65535;this.W=d>>16;this.Y=d>>16|d;this.b-=(this.w?6:7)+b}function U(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Y=1);a&8&&(this.W=0);this.b-=5}
function he(a){var b=P(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.Y=d>>16|d,this.W=d>>16):(this.V=32768,this.Y=d>>15|d,this.W=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.Y=this.W=0,this.V=32768,this.U=65536,this.b-=7}var ie=[0,7,7,10,7,11,9,13];function je(a){var b=this.b;pd(this,yd(this,a,8));this.b=b-ie[this.w]}
var ke=[0,14,14,17,14,18,16,20];function le(a){var b=this.b,c=yd(this,a,8);a=a>>6&7;ud(this,this.u[a]);this.u[a]=this.u[7];pd(this,c);this.b=b-ke[this.w]}var me=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],ne=[7,13,13,17,14,18,17,21];function oe(a){var b=P(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.D&128||(this.W=b>>16,this.Y=this.W|b,this.V=0,this.U=-32768>b||32767<b?65536:0);this.b-=23}
function pe(){this.b-=5}function V(a){a&1&&(this.U=65536);a&2&&(this.V=32768);a&4&&(this.Y=0);a&8&&(this.W=32768);this.b-=5}function Ke(a){var b=(a&448)>>6;if(this.u[b]=this.u[b]-1&65535)pd(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Le(a){Q(this,a,0,de);this.b-=this.j?9:3+(7==this.f?2:0)}function Me(a){Q(this,a,P(this,(a&448)>>6),ee);this.b-=this.j?9:3+(7==this.f?2:0)}function W(){this.L(8,6)}function id(a){Ne[a>>12].call(this,a)}
var Ne=[function(a){Oe[a>>8&15].call(this,a)},function(a){var b=P(this,a>>6),c=this.b;O(this,Cd(this,a,b));this.b=c-me[(this.w?8:0)+this.j]+(7!=this.f||this.j?0:2)},function(a){var b=P(this,a>>6),c=this.w,d=this.B;a=P(this,a);td(this,b-a,a,b);this.b-=this.w?4+(d&&6<=this.B?1:0):(c?4:3)+(7==this.B?2:0)},function(a){var b=P(this,a>>6),c=this.w,d=this.B;a=P(this,a);O(this,b&a);this.b-=this.w?4+(d&&6<=this.B?1:0):(c?4:3)+(7==this.B?2:0)},function(a){Q(this,a,P(this,a>>6),Md);this.b-=this.j?9+(this.B&&
6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,a>>6),Od);this.b-=this.j?9+(this.B&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,a>>6),Gd);this.b-=this.j?9+(this.B&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){Pe[a>>8&15].call(this,a)},function(a){Qe[a>>8&15].call(this,a)},function(a){var b=Bd(this,a>>6);O(this,Dd(this,a,b,1)<<8);this.b-=this.j?9+(this.B&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){var b=Bd(this,a>>6)<<
8,c=this.w,d=this.B;a=Bd(this,a)<<8;td(this,b-a,a,b);this.b-=this.w?4+(d&&6<=this.B?1:0):(c?4:3)+(7==this.B?2:0)},function(a){var b=Bd(this,a>>6),c=this.w,d=this.B;a=Bd(this,a);O(this,(b&a)<<8);this.b-=this.w?4+(d&&6<=this.B?1:0):(c?4:3)+(7==this.B?2:0)},function(a){R(this,a,Bd(this,a>>6),Nd);this.b-=this.j?9+(this.B&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){R(this,a,Bd(this,a>>6),Pd);this.b-=this.j?9+(this.B&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,
a>>6),be);this.b-=this.j?9+(this.B&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},W],Oe=[function(a){Re[a>>4&15].call(this,a)},function(a){T(this,a,!0)},function(a){T(this,a,!md(this))},function(a){T(this,a,md(this))},function(a){T(this,a,!this.Ma()==!ld(this))},function(a){T(this,a,!this.Ma()!=!ld(this))},function(a){T(this,a,!md(this)&&!this.Ma()==!ld(this))},function(a){T(this,a,md(this)||!this.Ma()!=!ld(this))},le,le,function(a){Se[a>>6&3].call(this,a)},function(a){Te[a>>6&3].call(this,a)},function(a){Ue[a>>
6&3].call(this,a)},function(a){Ve[a>>6&3].call(this,a)},W,W],Se=[function(a){qd(this,Cd(this,a,0));this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Qd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Ud);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Sd);this.b-=this.j?9:3+(7==this.f?2:0)}],Te=[function(a){Q(this,a,0,Wd);this.b-=this.j?11:6},function(a){Q(this,a,kd(this)?1:0,Gd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,kd(this)?1:0,be);this.b-=this.j?
9:3+(7==this.f?2:0)},function(a){a=P(this,a);qd(this,a);this.b-=this.w?4:3+(7==this.B?2:0)}],Ue=[function(a){Q(this,a,0,$d);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Yd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Kd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Id);this.b-=this.j?9:3+(7==this.f?2:0)}],Ve=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=od(this,a|65536);pd(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=zd(this,
a,0);ud(this,a);O(this,a);this.b-=11},function(a){var b=wd(this),c=this.b;Ad(this,a,0,b);O(this,b);this.b=c-ne[this.j]},function(a){O(this,Cd(this,a,this.Ma?65535:0));this.b-=this.j?9:3+(7==this.f?2:0)}],Re=[function(a){We[a&15].call(this,a)},W,W,W,je,je,je,je,function(a){if(a&8)this.L(8,6);else{var b=wd(this);a&=7;pd(this,this.u[a]);this.u[a]=b;this.b-=9}},function(a){a&8?(this.O&49152||(this.O=this.O&-2017|(a&7)<<5,this.D|=1),this.b-=5):this.L(8,6)},function(a){Xe[a&15].call(this,a)},function(a){Ye[a&
15].call(this,a)},Le,Le,Le,Le],We=[function(){this.O&49152?(this.I|=128,this.L(4,3)):gd(this);this.b-=7},function(){this.D|=4;this.u[7]=this.u[7]+-2&65535;this.b-=3},function(){vd(this);this.D|=this.O&16;this.b-=13},function(){this.L(12,1);this.b-=5},function(){this.L(16,4);this.b-=25},function(){this.O&49152||(jd(this),this.G.reset());this.b-=667},function(){vd(this);this.b-=13},W,W,W,W,W,W,W,W,W],Xe=[pe,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.W=0;this.b-=5},U,U,U,U,U,U,U],Ye=[pe,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.W=32768;this.b-=5},V,V,V,V,V,V,V],Pe=[oe,oe,he,he,fe,fe,ge,ge,Me,Me,W,W,W,W,Ke,Ke],Qe=[function(a){T(this,a,!this.Ma())},function(a){T(this,a,this.Ma())},function(a){T(this,a,!kd(this)&&!md(this))},function(a){T(this,a,kd(this)||md(this))},function(a){T(this,a,!ld(this))},function(a){T(this,a,ld(this))},function(a){T(this,
a,!kd(this))},function(a){T(this,a,kd(this))},function(){this.L(24,2);this.b-=25},function(){this.L(28,5);this.b-=5},function(a){Ze[a>>6&3].call(this,a)},function(a){$e[a>>6&3].call(this,a)},function(a){af[a>>6&3].call(this,a)},function(a){bf[a>>6&3].call(this,a)},W,W],Ze=[function(a){qd(this,Dd(this,a,0));this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Rd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,1,Vd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,1,Td);this.b-=
this.j?9:3+(7==this.f?2:0)}],$e=[function(a){R(this,a,0,Xd);this.b-=this.j?11:6},function(a){R(this,a,kd(this)?1:0,Hd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,kd(this)?1:0,ce);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){a=Bd(this,a);qd(this,a<<8);this.b-=this.w?4:3+(7==this.B?2:0)}],af=[function(a){R(this,a,0,ae);this.b-=this.j?9+(this.fb&1):3+(7==this.f?2:0)},function(a){R(this,a,0,Zd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Ld);this.b-=this.j?9+(this.fb&1):
3+(7==this.f?2:0)},function(a){R(this,a,0,Jd);this.b-=this.j?9:3+(7==this.f?2:0)}],bf=[W,function(a){a=zd(this,a,65536);ud(this,a);O(this,a);this.b-=11},function(a){var b=wd(this),c=this.b;Ad(this,a,65536,b);O(this,b);this.b=c-ne[this.j]},W];
function cf(a){w.call(this,"ROM",a,cf);this.f=null;this.B=a.addr;this.j=a.size;this.F=a.writable;this.C=a.alias;this.w=a.file;this.H=da(this.w);if(this.w){a=this.w;var b=ea(this.H);"json"!=b&&"hex"!=b&&(a=ga()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;sa(a,null,!0,function(a,b,e){df(c,a,b,e)})}}y(cf);cf.prototype.Na=function(a,b,c,d){this.G=b;this.b=c;this.i=d;ef(this)};
cf.prototype.Ja=function(){if(this.Ka){if(this.i){var a=this.i,b=this.id,c=this.B,d=this.j,f=this.Ka,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var l=h.o,m=h.a;if(void 0!==l){var n=e,l=[l>>>0,g],r=pa(n,l,a.vc);0>r&&n.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({zd:b,A:c,Tc:d,Ka:f,sc:e})}delete this.Ka}return!0};cf.prototype.Ia=function(){return!0};
function df(a,b,c,d){if(d)a.sa("Unable to load system ROM (error "+d+": "+b+")");else{ab(a.fc,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.Ka=h.symbols;if(!a.f.length){t("Empty ROM: "+
b);return}if(1==a.f.length){t(a.f[0]);return}}catch(l){a.sa("ROM data error: "+l.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);ef(a)}}
function ef(a){if(!hb(a))if(!a.w)G(a);else if(a.f&&a.G){a.j||(a.j=a.f.length);if(a.f.length!=a.j)vb(a,"ROM size ("+p(a.f.length,8,!0)+") does not match specified size ("+p(a.j,8,!0)+")");else{var b;b=a.B;if(Fb(a.G,b,a.j,a.F?1:qc)){var c;for(c=0;c<a.f.length;c++){a.i&&a.i.j++;var d=a.G,f=b+c;d.N[(f&d.j)>>>d.Z].Cb(f&d.f,a.f[c]&255,f);a.i&&a.i.j--}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.G,g=e.j,h=[],l=e.B>>>
f.Z;0<g&&l<f.N.length;)h.push(f.N[l++]),g-=f.Ca;f=e.G;e=e.j;g=0;for(d>>>=f.Z;0<e&&d<f.N.length;){l=h[g++];if(!l)break;f.N[d++]=l;e-=f.Ca}}delete a.f}}G(a)}}Ka(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new cf(d);eb(d,c)}});function ff(a){w.call(this,"RAM",a,ff);this.C=a.addr;this.j=a.size;this.f=!1}y(ff);k=ff.prototype;k.Na=function(a,b,c,d){this.G=b;this.b=c;this.i=d;G(this)};k.Ja=function(a,b){b||this.reset();return!0};
k.Ia=function(a){return a?this.save():!0};k.reset=function(){!this.f&&this.j&&Fb(this.G,this.C,this.j,1)&&(this.f=!0);this.f||t("No RAM allocated")};k.save=function(){return null};k.restore=function(){return!0};Ka(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new ff(d);eb(d,c)}});function gf(a){w.call(this,"Keyboard",a,gf,65536);G(this)}y(gf);gf.prototype.pa=function(){return!1};gf.prototype.Na=function(a,b,c,d){this.C=a;this.b=c;this.i=d;this.qa=null};
Ka(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new gf(d);eb(d,c)}});function Y(a){this.f={j:[],ac:0,ab:128,f:127,i:0};w.call(this,"SerialPort",a,Y,8388608);var b=a.binding;if("console"!=b){var c;a=hf;b&&(void 0===c&&(c="Panel"),(c=db(c,this.id))&&(b=c.K[b])&&this.pa(null,a,b))}this.j=this.B=null;this.exports={connect:this.Bc,receiveData:this.mc}}y(Y);var hf="buffer";k=Y.prototype;
k.pa=function(a,b,c){var d=this;switch(b){case hf:return this.K[b]=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.mc(b);return!0},c.onkeypress=function(a){a=a||window.event;d.mc(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};k.Na=function(a,b,c,d){this.C=a;this.G=b;this.b=c;this.i=d;Lb(b,this,jf);G(this)};k.bd=function(){return this.f.ac};
k.vd=function(a){this.f.ac=this.f.ac&128|a&-129};k.ad=function(){return 0};k.ud=function(){};k.dd=function(){return this.f.ab};k.xd=function(a){if(128==(this.f.ab&192)&&a&64){var b=this;Pb(this.b,8,4,52,function(){b.f.ab|=128;return!!(b.f.ab&64)})}this.f.ab=this.f.ab&128|a&-129};k.cd=function(){return 0};k.wd=function(){};
k.Bc=function(){if(!this.j){var a=Dc(this.C,"connection");if(a){var b=a.split("->");if(2==b.length){var c=oa(b[0]);if(c!=this.pb)return;b=oa(b[1]);if(this.j=cb(b)){var d=this.j.exports;if(d){var f=d.connect;f&&f.call(this.j);if(this.B=d.receiveData){this.status(this.fc+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.Ja=function(a,b){if(!b)if(this.Bc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.Ia=function(a){return a?this.save():!0};k.reset=function(){this.f.ac=0;this.f.ab=128};k.save=function(){var a=new N(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.mc=function(a){if("number"==typeof a)this.w.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.w.push(a.charCodeAt(b));else this.w=this.w.concat(a);return!0};
var kf={},jf=(kf[65392]=[null,null,Y.prototype.bd,Y.prototype.vd,"RCSR"],kf[65394]=[null,null,Y.prototype.ad,Y.prototype.ud,"RBUF"],kf[65396]=[null,null,Y.prototype.dd,Y.prototype.xd,"XCSR"],kf[65398]=[null,null,Y.prototype.cd,Y.prototype.wd,"XBUF"],kf);Ka(function(){for(var a=D(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Y(d);eb(d,c)}});
function lf(a){w.call(this,"Debugger",a,lf);this.ea=a.base||16;this.Ba=!1;this.ba=this.Aa=this.J=0;this.da=!1;this.B=-1;this.w=[];this.la={}}y(lf);var mf={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};lf.prototype.zc=function(){return-1};lf.prototype.Ac=function(){};
function nf(a,b,c,d){if(c)if(b){0>a.B&&a.w.length&&(a.B=0);if(0>a.B||b!=a.w[a.B])a.w.splice(0,0,b),a.B=0;a.B--}else a.da?b="end":b=a.w[a.B+1];a=[];if(b){b=b.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 of(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;
k.Ga=function(a){if(this.Gb&&(a||!this.v.ga||this.v.wc)){for(a=0;a<this.u.length;a++)bd(this,"R"+a,this.u[a]);a=Ub(this);bd(this,"PS",a);bd(this,"NF",a&8?1:0,1);bd(this,"ZF",a&4?1:0,1);bd(this,"VF",a&2?1:0,1);bd(this,"CF",a&1?1:0,1)}if(a=this.K.speed)a.textContent=this.v.ga&&this.ba?this.ba.toFixed(2)+"Mhz":"Stopped"};function ld(a){return a.U&65536?1:0}function md(a){return a.V&32768?2:0}function nd(a){return a.Y&65535?0:4}k.Na=function(){return this.W&32768?8:0};
function od(a){var b=pd(a,a.u[7]);a.u[7]=a.u[7]+2&65535;return b}function qd(a,b){a.u[7]=b&65535}function K(a,b,c,d,f){for(var e=a.F.length;0<e--;)if(a.F[e].qd===d){0<e&&(a.F[e-1].Ua+=a.F[e].Ua);a.F.splice(e,1);break}if(0<=b){for(e=a.F.length;0<e--;){if(a.F[e].Ua>b){a.F[e].Ua-=b;break}b-=a.F[e].Ua}a.F.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.D|=2}function Ub(a){return a.P=a.P&63728|a.Na()|nd(a)|md(a)|ld(a)}
function Vb(a,b){a.W=b<<12;a.Y=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.P)&2048)for(var c=a.Pa.length;0<=--c;){var d=a.u[c];a.u[c]=a.Pa[c];a.Pa[c]=d}a.G=b>>14&3;c=a.P>>14&3;a.G!=c&&(a.za[c]=a.u[6],a.u[6]=a.za[a.G]);a.D|=2;a.P=b}function O(a,b){a.D&128||(a.W=a.Y=b,a.V=0)}function rd(a,b,c){a.D&128||(a.W=a.Y=a.U=b,a.V=c||0)}function sd(a,b,c,d){a.D&128||(a.W=a.Y=a.U=b,a.V=(c^b)&(d^b))}function td(a,b){a.D&128||(a.W=a.Y=a.U=b,a.V=a.W^a.U>>1)}function ud(a,b,c,d){a.D&128||(a.W=a.Y=a.U=b,a.V=(c^d)&(d^b))}
k.L=function(a){var b=!1;0>this.ma?this.ma=Ub(this):this.G||(a=4,b=!0);this.I&57344||(this.Za=63222,this.cc=a);this.G=0;var c=pd(this,a|65536),d=pd(this,a+2&65535|65536);Vb(this,d&-12289|this.ma>>2&12288);b&&(this.J|=4,this.u[6]=4);vd(this,this.ma);vd(this,this.u[7]);qd(this,c);this.D&=-113;this.ma=-1;throw a;};function wd(a){var b=xd(a),c=xd(a)&-1793;a.P&49152&&(c=c&-225|a.P&63712);qd(a,b);Vb(a,c);a.D&=-17}
function jc(a,b){var c=b>>13&31;31>c?a.lb&32&&(b=a.Tb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
function yd(a,b,c){var d,f,e,g=0;if(c&a.Zb){d=b>>13&a.$b[a.G];f=a.na[a.G][d];e=(a.na[a.G][d+16]<<6)+(b&8191)&4194303;a.lb&16?3932160<=e&&4186112>e&&(e=jc(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.G][d]=f;if(4194170!==e||a.G)a.xa=a.G,a.ya=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.I&57344||(a.I=a.I|g|a.xa<<5|a.ya<<1),a.L(168,16)),a.I&61440||!(4191360>e||4194239<e)||(a.I|=4096,a.I&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 kc(a,b){return a.H.Ia(b)}function pd(a,b){return kc(a,yd(a,b,2))}function xd(a){var b=pd(a,a.u[6]|65536);a.u[6]=a.u[6]+2&65535;return b}
function vd(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.I&57344||(a.Za=a.Za<<8|246);!a.G&&c<=a.$a&&4<c&&(c<=a.$a-32?(a.J|=4,a.u[6]=4,a.L(4,18)):(a.J|=8,a.D|=4));c=yd(a,c|65536,4);a.H.nb(c,b&65535)}
function zd(a,b,c){var d,f,e=c&8?0:a.Db,g=b>>3&7;b&=7;c&4?(a.j=g,a.f=b):(a.w=g,a.A=b);switch(g){case 0:return a.L(4,20),0;case 1:return 6===b&&!a.G&&c&4&&(a.u[6]<=a.$a||65534<=a.u[6])&&(a.u[6]<=a.$a-32||65534<=a.u[6]?(a.J|=4,a.u[6]=4,a.L(4,22)):(a.J|=8,a.D|=64)),a.b-=3,7===b?a.u[b]:a.u[b]|e;case 2:f=2;d=a.u[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.b-=3;break;case 3:f=2;d=a.u[b];7!==b&&(d|=e);d=pd(a,d);d|=e;a.b-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.u[b]+f&65535;7!==b&&(d|=e);a.b-=4;break;case 5:f=-2;
d=a.u[b]-2&65535;7!==b&&(d|=e);d=pd(a,d)|e;a.b-=8;break;case 6:return d=od(a),d=d+a.u[b]&65535|e,a.b-=6,d;case 7:return d=od(a),d=d+a.u[b]&65535,d=pd(a,d|65536)|e,a.b-=10,d}a.u[b]=a.u[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.u[6]<=a.$a||65534<=a.u[6])&&(a.u[6]<=a.$a-32?(a.J|=4,a.u[6]=4,a.L(4,24)):(a.J|=8,a.D|=64));return d}k.Rc=function(a,b){return zd(this,a,b)};k.Sc=function(a,b){return yd(this,zd(this,a,b),b)};
function Ad(a,b,c){b&56?(b=zd(a,b,2),c&65536||61440!==(a.P&61440)&&(b&=65535),a.G=a.P>>12&3,c=pd(a,b|c&65536),a.G=a.P>>14&3):(a.w=0,c=a.A=b&7,c=6!=c||(a.P>>2&12288)===(a.P&12288)?a.u[c]:a.za[a.P>>12&3]);return c}function Bd(a,b,c,d){a.I&57344||(a.Za=22);b&56?(b=zd(a,b,4),c&65536||(b&=65535),a.G=a.P>>12&3,b=yd(a,b|c&65536,4),a.G=a.P>>14&3,a.H.nb(b,d&65535)):(a.j=0,c=a.f=b&7,6!=c||(a.P>>2&12288)===(a.P&12288)?a.u[c]=d:a.za[a.P>>12&3]=d)}
function P(a,b){b&56?a=kc(a,a.aa(b,2)):(a.w=0,a=a.u[a.A=b&7]);return a}function Cd(a,b){b&56?(b=a.aa(b,3),a=a.H.rb(b)):(a.w=0,a=a.u[a.A=b&7]&255);return a}function Q(a,b,c,d){b&56?(b=a.aa(b,6),c=d.call(a,c,kc(a,b)),a.H.nb(b,c&65535)):(a.j=0,b=a.f=b&7,a.u[b]=d.call(a,c,a.u[b]))}function R(a,b,c,d){b&56?(b=a.fb=a.aa(b,7),c=d.call(a,c,a.H.rb(b)),b&1&&a.b--,a.H.Sb(b,c&255)):(a.j=0,b=a.f=b&7,a.u[b]=a.u[b]&65280|d.call(a,c,a.u[b]))}
function Dd(a,b,c){b&56?(b=a.aa(b,4),a.H.nb(b,c&65535)):(a.j=0,a.u[a.f=b&7]=c&65535);return c}function Ed(a,b,c,d){b&56?(d=a.aa(b,5),d&1&&a.b--,a.H.Sb(d,c&255)):(a.j=0,b=a.f=b&7,a.u[b]=c?d&1?c<<24>>24&65535:a.u[b]&-256|c&255:a.u[b]&-256);return c}function T(a,b,c){c&&(qd(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3}
k.Ab=function(a){this.v.complete=!0;var b=this.v.Oc=this.i&&Fd(this.i),c=a?this.v.pc?0:1:-1;this.v.pc=!1;this.da=this.b=a;do{if(b){if(Gd(this.i,this.u[7],c)){this.ja();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.nc&224,f=this.F.length;0<=--f;){if(0<this.F[f].Ua){this.F[f].Ua--;this.D|=2;break}if(this.F[f].uc){if(!this.F[f].uc()){this.F.splice(f,1);continue}this.F[f].uc=
null}this.F[f].Xc>d&&(d=this.F[f].Xc,a=this.F[f],this.F.splice(f,1))}d>(this.P&224)&&(this.D&4&&(this.u[7]=this.u[7]+2&65535,this.D&=-5),a?this.L(a.qd,26):this.L(160,26))}else this.D&1&&this.D++;this.I&57344||(this.Za=0,this.cc=this.u[7]);this.D=this.D&7|this.P&16;this.decode(od(this))}while(0<this.b);return this.v.complete?this.da-this.b:void 0===this.v.complete?0:-1};La(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new id(d);fb(d,c)}});
function Hd(a,b){var c=b+a;sd(this,c,a,b);return c&65535}function Id(a,b){var c=b+a;sd(this,c<<8,a<<8,b<<8);return c&255}function Jd(a,b){a=b<<1;td(this,a);return a&65535}function Kd(a,b){a=b<<1;td(this,a<<8);return a&255}function Ld(a,b){a=b&32768|b>>1|b<<16;td(this,a);return a&65535}function Md(a,b){a=b&2048|b>>1|b<<8;td(this,a<<8);return a&255}function Nd(a,b){a=b&~a;O(this,a);return a}function Od(a,b){a=b&~a;O(this,a<<8);return a}function Pd(a,b){a|=b;O(this,a);return a}
function Qd(a,b){a|=b;O(this,a<<8);return a}function Rd(a,b){a=~b|65536;rd(this,a);return a&65535}function Sd(a,b){a=~b|256;rd(this,a<<8);return a&255}function Td(a,b){a=b-a;this.D&128||(this.W=this.Y=a,this.V=b&(b^a));return a&65535}function Ud(a,b){a=b-a;var c=a<<8;b<<=8;this.D&128||(this.W=this.Y=c,this.V=b&(b^c));return a&255}function Vd(a,b){a=b+a;this.D&128||(this.W=this.Y=a,this.V=a&(b^a));return a&65535}
function Wd(a,b){a=b+a;var c=a<<8;this.D&128||(this.W=this.Y=c,this.V=c&(b<<8^c));return a&255}function Xd(a,b){a=-b;rd(this,a,a&b&32768);return a&65535}function Yd(a,b){a=-b;rd(this,a<<8,(a&b&128)<<8);return a&255}function Zd(a,b){a=b<<1|this.U>>16&1;td(this,a);return a&65535}function $d(a,b){a=b<<1|this.U>>16&1;td(this,a<<8);return a&255}function ae(a,b){a=(this.U&65536|b)>>1|b<<16;td(this,a);return a&65535}function be(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;td(this,a<<8);return a&255}
function ce(a,b){var c=b-a;ud(this,c,a,b);return c&65535}function de(a,b){var c=b-a;ud(this,c<<8,a<<8,b<<8);return c&255}function ee(a,b){this.D&128||(this.W=this.Y=b&65280,this.V=this.U=0);return(b<<8|b>>8)&65535}function fe(a,b){a^=b;O(this,a);return a&65535}
function ge(a){var b=P(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.U=c<<17-b,c>>=b;else if(b)if(16<b)this.V=c,c=0;else{this.U=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.V=32768)}this.u[a]=c&65535;this.W=this.Y=c;this.b-=(this.w?6:7)+b}
function he(a){var b=P(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.U=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.V=32768)):d=c;this.u[a]=d>>16&65535;this.u[a|1]=d&65535;this.W=d>>16;this.Y=d>>16|d;this.b-=(this.w?6:7)+b}function U(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Y=1);a&8&&(this.W=0);this.b-=5}
function ie(a){var b=P(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.Y=d>>16|d,this.W=d>>16):(this.V=32768,this.Y=d>>15|d,this.W=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.Y=this.W=0,this.V=32768,this.U=65536,this.b-=7}var je=[0,7,7,10,7,11,9,13];function ke(a){var b=this.b;qd(this,zd(this,a,8));this.b=b-je[this.w]}
var le=[0,14,14,17,14,18,16,20];function me(a){var b=this.b,c=zd(this,a,8);a=a>>6&7;vd(this,this.u[a]);this.u[a]=this.u[7];qd(this,c);this.b=b-le[this.w]}var ne=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],oe=[7,13,13,17,14,18,17,21];function pe(a){var b=P(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.D&128||(this.W=b>>16,this.Y=this.W|b,this.V=0,this.U=-32768>b||32767<b?65536:0);this.b-=23}
function Ke(){this.b-=5}function V(a){a&1&&(this.U=65536);a&2&&(this.V=32768);a&4&&(this.Y=0);a&8&&(this.W=32768);this.b-=5}function Le(a){var b=(a&448)>>6;if(this.u[b]=this.u[b]-1&65535)qd(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Me(a){Q(this,a,0,ee);this.b-=this.j?9:3+(7==this.f?2:0)}function Ne(a){Q(this,a,P(this,(a&448)>>6),fe);this.b-=this.j?9:3+(7==this.f?2:0)}function W(){this.L(8,6)}function jd(a){Oe[a>>12].call(this,a)}
var Oe=[function(a){Pe[a>>8&15].call(this,a)},function(a){var b=P(this,a>>6),c=this.b;O(this,Dd(this,a,b));this.b=c-ne[(this.w?8:0)+this.j]+(7!=this.f||this.j?0:2)},function(a){var b=P(this,a>>6),c=this.w,d=this.A;a=P(this,a);ud(this,b-a,a,b);this.b-=this.w?4+(d&&6<=this.A?1:0):(c?4:3)+(7==this.A?2:0)},function(a){var b=P(this,a>>6),c=this.w,d=this.A;a=P(this,a);O(this,b&a);this.b-=this.w?4+(d&&6<=this.A?1:0):(c?4:3)+(7==this.A?2:0)},function(a){Q(this,a,P(this,a>>6),Nd);this.b-=this.j?9+(this.A&&
6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,a>>6),Pd);this.b-=this.j?9+(this.A&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,a>>6),Hd);this.b-=this.j?9+(this.A&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){Qe[a>>8&15].call(this,a)},function(a){Re[a>>8&15].call(this,a)},function(a){var b=Cd(this,a>>6);O(this,Ed(this,a,b,1)<<8);this.b-=this.j?9+(this.A&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){var b=Cd(this,a>>6)<<
8,c=this.w,d=this.A;a=Cd(this,a)<<8;ud(this,b-a,a,b);this.b-=this.w?4+(d&&6<=this.A?1:0):(c?4:3)+(7==this.A?2:0)},function(a){var b=Cd(this,a>>6),c=this.w,d=this.A;a=Cd(this,a);O(this,(b&a)<<8);this.b-=this.w?4+(d&&6<=this.A?1:0):(c?4:3)+(7==this.A?2:0)},function(a){R(this,a,Cd(this,a>>6),Od);this.b-=this.j?9+(this.A&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){R(this,a,Cd(this,a>>6),Qd);this.b-=this.j?9+(this.A&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,
a>>6),ce);this.b-=this.j?9+(this.A&&6<=this.f?1:0):(this.w?5:3)+(7==this.f?2:0)},W],Pe=[function(a){Se[a>>4&15].call(this,a)},function(a){T(this,a,!0)},function(a){T(this,a,!nd(this))},function(a){T(this,a,nd(this))},function(a){T(this,a,!this.Na()==!md(this))},function(a){T(this,a,!this.Na()!=!md(this))},function(a){T(this,a,!nd(this)&&!this.Na()==!md(this))},function(a){T(this,a,nd(this)||!this.Na()!=!md(this))},me,me,function(a){Te[a>>6&3].call(this,a)},function(a){Ue[a>>6&3].call(this,a)},function(a){Ve[a>>
6&3].call(this,a)},function(a){We[a>>6&3].call(this,a)},W,W],Te=[function(a){rd(this,Dd(this,a,0));this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Rd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Vd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Td);this.b-=this.j?9:3+(7==this.f?2:0)}],Ue=[function(a){Q(this,a,0,Xd);this.b-=this.j?11:6},function(a){Q(this,a,ld(this)?1:0,Hd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,ld(this)?1:0,ce);this.b-=this.j?
9:3+(7==this.f?2:0)},function(a){a=P(this,a);rd(this,a);this.b-=this.w?4:3+(7==this.A?2:0)}],Ve=[function(a){Q(this,a,0,ae);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Zd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Ld);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Jd);this.b-=this.j?9:3+(7==this.f?2:0)}],We=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=pd(this,a|65536);qd(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Ad(this,
a,0);vd(this,a);O(this,a);this.b-=11},function(a){var b=xd(this),c=this.b;Bd(this,a,0,b);O(this,b);this.b=c-oe[this.j]},function(a){O(this,Dd(this,a,this.Na?65535:0));this.b-=this.j?9:3+(7==this.f?2:0)}],Se=[function(a){Xe[a&15].call(this,a)},W,W,W,ke,ke,ke,ke,function(a){if(a&8)this.L(8,6);else{var b=xd(this);a&=7;qd(this,this.u[a]);this.u[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){Ye[a&15].call(this,a)},function(a){Ze[a&
15].call(this,a)},Me,Me,Me,Me],Xe=[function(){this.P&49152?(this.J|=128,this.L(4,3)):hd(this);this.b-=7},function(){this.D|=4;this.u[7]=this.u[7]+-2&65535;this.b-=3},function(){wd(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||(kd(this),this.H.reset());this.b-=667},function(){wd(this);this.b-=13},W,W,W,W,W,W,W,W,W],Ye=[Ke,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.W=0;this.b-=5},U,U,U,U,U,U,U],Ze=[Ke,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.W=32768;this.b-=5},V,V,V,V,V,V,V],Qe=[pe,pe,ie,ie,ge,ge,he,he,Ne,Ne,W,W,W,W,Le,Le],Re=[function(a){T(this,a,!this.Na())},function(a){T(this,a,this.Na())},function(a){T(this,a,!ld(this)&&!nd(this))},function(a){T(this,a,ld(this)||nd(this))},function(a){T(this,a,!md(this))},function(a){T(this,a,md(this))},function(a){T(this,
a,!ld(this))},function(a){T(this,a,ld(this))},function(){this.L(24,2);this.b-=25},function(){this.L(28,5);this.b-=5},function(a){$e[a>>6&3].call(this,a)},function(a){af[a>>6&3].call(this,a)},function(a){bf[a>>6&3].call(this,a)},function(a){cf[a>>6&3].call(this,a)},W,W],$e=[function(a){rd(this,Ed(this,a,0));this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Sd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,1,Wd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,1,Ud);this.b-=
this.j?9:3+(7==this.f?2:0)}],af=[function(a){R(this,a,0,Yd);this.b-=this.j?11:6},function(a){R(this,a,ld(this)?1:0,Id);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,ld(this)?1:0,de);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){a=Cd(this,a);rd(this,a<<8);this.b-=this.w?4:3+(7==this.A?2:0)}],bf=[function(a){R(this,a,0,be);this.b-=this.j?9+(this.fb&1):3+(7==this.f?2:0)},function(a){R(this,a,0,$d);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Md);this.b-=this.j?9+(this.fb&1):
3+(7==this.f?2:0)},function(a){R(this,a,0,Kd);this.b-=this.j?9:3+(7==this.f?2:0)}],cf=[W,function(a){a=Ad(this,a,65536);vd(this,a);O(this,a);this.b-=11},function(a){var b=xd(this),c=this.b;Bd(this,a,65536,b);O(this,b);this.b=c-oe[this.j]},W];
function df(a){w.call(this,"ROM",a,df);this.f=null;this.A=a.addr;this.j=a.size;this.F=a.writable;this.C=a.alias;this.w=a.file;this.G=da(this.w);if(this.w){a=this.w;var b=ea(this.G);"json"!=b&&"hex"!=b&&(a=ga()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;ta(a,null,!0,function(a,b,e){ef(c,a,b,e)})}}y(df);df.prototype.Oa=function(a,b,c,d){this.H=b;this.b=c;this.i=d;ff(this)};
df.prototype.Ka=function(){if(this.La){if(this.i){var a=this.i,b=this.id,c=this.A,d=this.j,f=this.La,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var l=h.o,m=h.a;if(void 0!==l){var n=e,l=[l>>>0,g],r=qa(n,l,a.vc);0>r&&n.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({zd:b,B:c,Tc:d,La:f,sc:e})}delete this.La}return!0};df.prototype.Ja=function(){return!0};
function ef(a,b,c,d){if(d)a.sa("Unable to load system ROM (error "+d+": "+b+")");else{bb(a.fc,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.La=h.symbols;if(!a.f.length){t("Empty ROM: "+
b);return}if(1==a.f.length){t(a.f[0]);return}}catch(l){a.sa("ROM data error: "+l.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);ff(a)}}
function ff(a){if(!ib(a))if(!a.w)G(a);else if(a.f&&a.H){a.j||(a.j=a.f.length);if(a.f.length!=a.j)wb(a,"ROM size ("+p(a.f.length,8,!0)+") does not match specified size ("+p(a.j,8,!0)+")");else{var b;b=a.A;if(Gb(a.H,b,a.j,a.F?1:rc)){var c;for(c=0;c<a.f.length;c++){a.i&&a.i.j++;var d=a.H,f=b+c;d.N[(f&d.j)>>>d.Z].Cb(f&d.f,a.f[c]&255,f);a.i&&a.i.j--}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.H,g=e.j,h=[],l=e.A>>>
f.Z;0<g&&l<f.N.length;)h.push(f.N[l++]),g-=f.Da;f=e.H;e=e.j;g=0;for(d>>>=f.Z;0<e&&d<f.N.length;){l=h[g++];if(!l)break;f.N[d++]=l;e-=f.Da}}delete a.f}}G(a)}}La(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new df(d);fb(d,c)}});function gf(a){w.call(this,"RAM",a,gf);this.C=a.addr;this.j=a.size;this.f=!1}y(gf);k=gf.prototype;k.Oa=function(a,b,c,d){this.H=b;this.b=c;this.i=d;G(this)};k.Ka=function(a,b){b||this.reset();return!0};
k.Ja=function(a){return a?this.save():!0};k.reset=function(){!this.f&&this.j&&Gb(this.H,this.C,this.j,1)&&(this.f=!0);this.f||t("No RAM allocated")};k.save=function(){return null};k.restore=function(){return!0};La(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new gf(d);fb(d,c)}});function hf(a){w.call(this,"Keyboard",a,hf,65536);G(this)}y(hf);hf.prototype.pa=function(){return!1};hf.prototype.Oa=function(a,b,c,d){this.C=a;this.b=c;this.i=d;this.qa=null};
La(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new hf(d);fb(d,c)}});function X(a){this.f={j:[],ac:0,wa:128,f:127,i:0};this.j=this.w=null;this.S=a.tabSize;this.O=a.charBOL;this.A=0;w.call(this,"SerialPort",a,X,8388608);var b=a.binding;if("console"==b)this.w="";else{var c;a=jf;b&&(void 0===c&&(c="Panel"),(c=eb(c,this.id))&&(b=c.K[b])&&this.pa(null,a,b))}this.F=this.G=null;this.exports={connect:this.Bc,receiveData:this.mc}}y(X);var jf="buffer";k=X.prototype;
k.pa=function(a,b,c){var d=this;switch(b){case jf:return this.K[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.mc(b);return!0},c.onkeypress=function(a){a=a||window.event;d.mc(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};k.Oa=function(a,b,c,d){this.C=a;this.H=b;this.b=c;this.i=d;Mb(b,this,kf);G(this)};k.bd=function(){return this.f.ac};
k.vd=function(a){this.f.ac=this.f.ac&128|a&-129};k.ad=function(){return 0};k.ud=function(){};k.dd=function(){return this.f.wa};k.xd=function(a){if(128==(this.f.wa&192)&&a&64){var b=this;K(this.b,8,4,52,function(){b.f.wa|=128;return!!(b.f.wa&64)})}this.f.wa=this.f.wa&128|a&-129};k.cd=function(){return 0};k.wd=function(a){if(a&=127){var b=this;lf(this,a);this.f.wa&=-129;K(this.b,100,4,52,function(){b.f.wa|=128;return!!(b.f.wa&64)})}};
k.Bc=function(){if(!this.F){var a=Ec(this.C,"connection");if(a){var b=a.split("->");if(2==b.length){var c=oa(b[0]);if(c!=this.pb)return;b=oa(b[1]);if(this.F=db(b)){var d=this.F.exports;if(d){var f=d.connect;f&&f.call(this.F);if(this.G=d.receiveData){this.status(this.fc+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.Ka=function(a,b){if(!b)if(this.Bc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.Ja=function(a){return a?this.save():!0};k.reset=function(){this.f.ac=0;this.f.wa=128};k.save=function(){var a=new N(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.mc=function(a){if("number"==typeof a)this.I.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.I.push(a.charCodeAt(b));else this.I=this.I.concat(a);return!0};
function lf(a,b){E(a,"transmitByte("+p(b,2,!0)+")");a.G&&a.G.call(a.F,b);if(a.j)if(13==b)a.A=0;else if(8==b)a.j.value=a.j.value.slice(0,-1),0<a.A&&a.A--;else{var c;c=(c=pa[b])?"<"+c+">":String.fromCharCode(b);var d=c.length;32>b&&1==d&&(d=0);9==b&&(b=a.S||8,d=b-a.A%b,a.S&&(c=na("",d)));a.O&&!a.A&&d&&(c=String.fromCharCode(a.O)+c);a.j.value+=c;a.j.scrollTop=a.j.scrollHeight;a.A+=d}else if(null!=a.w){if(10==b||1024<=a.w.length)a.g(a.w),a.w="";10!=b&&(a.w+=String.fromCharCode(b))}}
var mf={},kf=(mf[65392]=[null,null,X.prototype.bd,X.prototype.vd,"RCSR"],mf[65394]=[null,null,X.prototype.ad,X.prototype.ud,"RBUF"],mf[65396]=[null,null,X.prototype.dd,X.prototype.xd,"XCSR"],mf[65398]=[null,null,X.prototype.cd,X.prototype.wd,"XBUF"],mf);La(function(){for(var a=D(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new X(d);fb(d,c)}});
function nf(a){w.call(this,"Debugger",a,nf);this.ea=a.base||16;this.Ca=!1;this.ba=this.Ba=this.I=0;this.da=!1;this.A=-1;this.w=[];this.la={}}y(nf);var of={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};nf.prototype.zc=function(){return-1};nf.prototype.Ac=function(){};
function pf(a,b,c,d){if(c)if(b){0>a.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.da?b="end":b=a.w[a.A+1];a=[];if(b){b=b.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 qf(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 pf(a,b,c){var d;if(b){b=qf(a,b);for(var f=0,e=!1,g=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],r=n.length,n=oa(n);if(!n){e=!0;break}n=rf(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;l.length&&mf[n]<mf[l[l.length-1]]&&of(h,l,1);l.push(n);b=b.substr(r+q)}of(h,l)&&1==h.length||(e=!0);e?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&sf(a,null,
d))}return d}function qf(a,b){for(var c,d=a.Ba?"(":"{",f=a.Ba?")":"}",e=new RegExp(a.Ba?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(e))&&!(0<=c[1].indexOf(d));){var g=pf(a,c[1]);b=b.replace(d+c[1]+f,null!=g?J(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.ba-a.Aa}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
function rf(a,b,c,d){var f;null!=b?(f=a.zc(b),0<=f?f=a.Ac(f):(f=a.la[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 sf(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 l=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==l||isNaN(l))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(l&1?"1":"0")+n,l>>=1;g=n+g;d>>=8}d=p(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return f}function tf(a,b){if(b)return sf(a,b,a.la[b]);var c=0;for(b in a.la)sf(a,b,a.la[b]),c++;return 0<c}
function rf(a,b,c){var d;if(b){b=sf(a,b);for(var f=0,e=!1,g=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],r=n.length,n=oa(n);if(!n){e=!0;break}n=tf(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;l.length&&of[n]<of[l[l.length-1]]&&qf(h,l,1);l.push(n);b=b.substr(r+q)}qf(h,l)&&1==h.length||(e=!0);e?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&uf(a,null,
d))}return d}function sf(a,b){for(var c,d=a.Ca?"(":"{",f=a.Ca?")":"}",e=new RegExp(a.Ca?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(e))&&!(0<=c[1].indexOf(d));){var g=rf(a,c[1]);b=b.replace(d+c[1]+f,null!=g?J(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.ba-a.Ba}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
function tf(a,b,c,d){var f;null!=b?(f=a.zc(b),0<=f?f=a.Ac(f):(f=a.la[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 uf(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 l=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==l||isNaN(l))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(l&1?"1":"0")+n,l>>=1;g=n+g;d>>=8}d=p(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return f}function vf(a,b){if(b)return uf(a,b,a.la[b]);var c=0;for(b in a.la)uf(a,b,a.la[b]),c++;return 0<c}
function J(a,b,c,d){switch(a.ea){case 8:a=ba(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 uf(a){lf.call(this,a);this.Ba=!0;this.T=Z();this.ob=Z();this.ca=Z();this.H=[];this.f=this.X=this.F=[];vf(this);this.wa=0;wf(this);this.fb={};xf(this,a.messages);this.gb=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Gc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Gc(b,a)})}y(uf,lf);
var yf={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},zf="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(" "),
Af={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 wf(a){nf.call(this,a);this.Ca=!0;this.S=Z(0);this.ob=Z(0);this.ca=Z(0);this.G=[];this.f=this.X=this.F=[];xf(this);this.xa=0;yf(this);this.fb={};zf(this,a.messages);this.gb=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Hc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Hc(b,a)})}y(wf,nf);
var Af={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Bf="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(" "),
Cf={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]}};k=uf.prototype;
k.Na=function(a,b,c,d){this.G=b;this.b=c;this.C=a;(a=Dc(a,"messages"))&&xf(this,a);this.Jb=Af;Bf(this,function(a){a:{var b=d.G.N,c=a[0],f=a=0,l=b.length;if(c){a=d.aa(Cf(d,c));if(-1===a){d.g("invalid address: "+c);break a}f=a>>>d.G.Z;l=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[f];n.type==c?m++||d.g("..."):(c=n.type,m=Ib[c],n&&d.g(p(n.id,8)+" %"+p(f<<d.G.Z,8)+" %%"+p(n.A,8)+" "+p(n.Vb,
4,!0)+" "+p(n.size,4,!0)+" "+m),c!=pc&&(c=-1),m=0);a+=d.G.Ca;f++}}});G(this)};
k.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ua=this.K[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Gc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.B<d.w.length-1&&(b=d.w[++d.B])):40==a.keyCode&&(0<d.B?b=d.w[--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.K[b]=c,Ea(c,function(){if(d.ua){var a=d.ua.value;
d.ua.value="";Gc(d,a,!0);return!0}return!1}),!0;case "step":return this.K[b]=c,Ea(c,function(a){var b=!1;gb(d,!0)||(fb(d,!0),b=d.Ab(a?1:0),fb(d,!1));return b}),!0}return!1};k.Ub=function(){this.ua&&this.ua.focus()};k.aa=function(a){a=a&&a.A;null==a&&(a=-1);return a};k.rb=function(a,b){var c=255,d=this.aa(a,!1,1);-1!==d&&(this.j++,c=this.G,c=c.N[(d&c.j)>>>c.Z].Ob(d&c.f,d),this.j--,b&&Df(a,b));return c};
k.Ha=function(a,b){var c=65535,d=this.aa(a,!1,2);-1!==d&&(this.j++,c=Jb(this.G,d),this.j--,b&&Df(a,b));return c};k.Sb=function(a,b,c){var d=this.aa(a,!0,1);if(-1!==d){this.j++;var f=this.G;f.N[(d&f.j)>>>f.Z].Cb(d&f.f,b&255,d);this.j--;c&&Df(a,c);M(this.b,!0)}};k.nb=function(a,b,c){var d=this.aa(a,!0,2);if(-1!==d){this.j++;var f=this.G,e=d&f.f,g=(d&f.j)>>>f.Z;e!=f.f?f.N[g].rc(e,b&65535,d):(f.N[g++].Cb(e,b&255,d),f.N[g&f.C].Cb(0,b>>8&255,d+1));this.j--;c&&Df(a,c);M(this.b,!0)}};
function Z(a){return{A:a,Ga:!1}}function Ef(a){return[a.A,a.Ga]}function Ff(a){return{A:a[0],Ga:a[1]}}function Cf(a,b,c){var d;c=(c?a.T:a.ob).A;if(void 0!==b){d=b=qf(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.H.length;c++){var e=a.H[c].Ka[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;c=pf(a,b,void 0)}null!=c&&(d=Z(c));return d}function Gf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Mc=nf(a,b.Hc=c[2]))}function Df(a,b){null!=a.A&&(a.A+=b||1)}
function xf(a,b){a.i=a;a.ka=a.Nc=536870912;a.xa=null;a.za=[];a.j=0;b=nf(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 Bf(a,b){for(var c in H)if(64==H[c]){a.fb[c]=b;break}}
k.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 Hf(a){return 6>a?"R"+a:6==a?"SP":"PC"}k.Ac=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Oa[a-8]:20>a?b=this.b.ya[a-16]:20==a&&(b=Tb(this.b)));return b};
k.message=function(a,b){this.j||(b&&(a+=" at "+J(this,Z(this.b.u[7]).A)),this.ka&1073741824?this.za.push(a):this.xa&&a==this.xa||(this.xa=a,this.ka&-2147483648&&(this.ja(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,gd(a),a.la=0,M(a))))};
function wf(a){var b;if(Ed(a)){if(!a.R||!a.R.length){a.R=Array(1E3);for(b=0;b<a.R.length;b++)a.R[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.R&&a.R.length&&a.g("instruction history buffer freed"),a.qa=0,a.R=[],a.ma=[]}k.zb=function(a){if(!If(this))return!1;this.b.zb(a);return!0};
k.Ab=function(a,b,c){if(!If(this))return!1;this.J=0;a||Ed(this)&&Fd(this,this.b.u[7],0);try{a=ed(this.b,a);var d=this.b.Ab(a);0<d&&(fd(this.b,a),this.J+=d,cd(this.b,d,!0),Hc(this.b,d),this.ba++)}catch(f){"number"!=typeof f&&(this.J=0,vb(this.b,f.stack||f.message))}!1!==c&&M(this.b);this.Fa(b||!1);return 0<this.J};k.ja=function(a){this.b&&this.b.ja(a)};k.Fa=function(a){void 0===a&&(a=!0);this.T=Z(this.b.u[7]);a&&1!=this.ha?Jf(this):Kf(this)};
function If(a){var b;if(b=a.b&&hb(a.b))b=a.b,b.v.ia?b=!0:(b.g(b.toString()+" not powered"),b=!1);return b&&!a.b.v.ga?!ib(a.b):!1}k.Ja=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};k.Ia=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){wf(this);this.ba=this.Aa=0;this.xa=null;this.J=0;this.T=Z(this.b.u[7]);this.v.ga=!1;Lf(this);a||this.Fa()};
k.save=function(){var a=new N(this);a.set(0,Ef(this.T));a.set(1,Ef(this.ca));a.set(2,[this.w,this.da,this.ka]);a.set(3,this.H);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.T=Ff(a[b++]),this.ca=Ff(a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.da=a[b][1],this.ka|=a[b][2]);a[3]&&(this.H=a[3]);return!0};k.start=function(a,b){this.ha||this.g("running");this.v.ga=!0;this.Wb=a;this.Xb=b};
k.stop=function(a,b){if(this.v.ga){this.v.ga=!1;this.J=b-this.Xb;if(!this.ha){b="stopped";if(this.J){a-=this.Wb;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";Ed(this)&&(b+=this.ba+" opcodes, ",this.Aa-=this.ba,this.ba=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else F(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.Fa(!0);this.Ub();Lf(this,this.b.u[7])}};function Ed(a){return 1<a.f.length||!!a.wa}
function Fd(a,b,c){var d=a.b;if(0<c&&(a.wa&&!--a.wa||yc(a,b,1,a.f)))return!0;0<=c&&a.ma.length&&(a.ba++,a.j++,b=Jb(a.G,b),a.j--,null!=b&&(b=a.R[a.qa],b.A=d.u[7],b.Ga=!1,++a.qa==a.R.length&&(a.qa=0)));return!1}function vf(a){var b,c;a.f=["bp"];if(a.X)for(b=1;b<a.X.length;b++){c=a.X[b];var d=a.G;c=a.aa(c);zc(d.N[c>>>d.Z],!1)}a.X=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],d=a.G,c=a.aa(c),zc(d.N[c>>>d.Z],!0);a.F=["bw"];a.Db=0}
k.hb=function(a,b,c){var d=!0;c||Mf(this,a,b,!1,!0);if(a!=this.f){var f=this.aa(b);if(-1===f)this.g("invalid address: "+J(this,b.A)),d=!1;else{var e=this.G;e.N[f>>>e.Z].hb(f&e.f,a==this.F)}}d&&(a.push(b),c?b.Ga=!0:(Nf(this,a,a.length-1,"set"),wf(this)));return d};function Mf(a,b,c,d,f){var e=!1;c=a.aa(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.aa(h)&&(!d||h.Ga)){e=!0;h.Ga||f||Nf(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.G,zc(d.N[c>>>d.Z],b==a.F));h.Ga||wf(a);break}}return e}
function Of(a,b){for(var c=1;c<b.length;c++)Nf(a,b,c);return b.length-1}function Nf(a,b,c,d){c=b[c];a.g(b[0]+" "+J(a,c.A)+(d?" "+d:c.Hc?' "'+c.Hc+'"':""))}function Lf(a,b){if(void 0!==b)yc(a,b,1,a.f,!0),a.ha=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.Ga){if(!Mf(a,a.f,c,!0))break;b=0}}}
function yc(a,b,c,d,f){var e=!1;if(!a.Db++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ga)for(var l=a.aa(h),m=0;m<c;m++)if(b+m==l){var n,e=!0;h.Ga&&(Mf(a,d,h,!0),f=!0);if(n=h.Mc){for(var e=!1,r=0;r<n.length;r++)if(!Pf(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.v.ga||(e=!0)}if(e){f||Nf(a,d,g,"hit");break}}}a.Db--;return e}
function Qf(a,b,c,d){var f=Z(b.A),e=a.Ha(b,2),g,h;for(h in a.Jb)if(g=a.Jb[h][e&h])break;g||(g=[0]);for(var l=h="",m=zf[g[0]],n=g.length-1,r=1;r<=n;r++){var q=g[r];if(void 0!==q){var u;u=a;var z=q,q=b,v="",A=z&61440;if(4096==A)q=q.A+((e&255)<<24>>23)&65535,v=J(u,q);else if(8192==A)q=q.A-((e&63)<<1)&65535,v=J(u,q);else if(12288==A)v=J(u,e&7,1);else if(24576==A)v=J(u,e&63,1);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:v=Hf(z);break;case 8:v="@"+Hf(z);break;case 16:7>z?v="("+Hf(z)+
")+":(A=u.Ha(q,2),v="#"+J(u,A,0,!0));break;case 24:7>z?v="@("+Hf(z)+")+":(A=u.Ha(q,2),v="@#"+J(u,A,0,!0));break;case 32:v="-("+Hf(z)+")";break;case 40:v="@-("+Hf(z)+")";break;case 48:A=u.Ha(q,2);v=J(u,A,0,!0)+"("+Hf(z)+")";7==z&&(v=[v,J(u,A+q.A&65535)]);break;case 56:A=u.Ha(q,2),v="@"+J(u,A)+"("+Hf(z)+")",7==z&&(v=[v,J(u,A+q.A&65535)])}u=v;if(!u||!u.length){h="INVALID";break}"string"!=typeof u&&(l=u[1],u=u[0]);0<h.length&&(h+=",");h+=u||"???"}}e="";g=J(a,f.A)+":";if(-1!==f.A&&-1!==b.A){do if(e+=" "+
J(a,a.Ha(f,2)),null==f.A)break;while(f.A!=b.A)}g+=na(e,24);g+=na(m,5);h&&(g+=" "+h);if(c||l)g=na(g,60)+";"+(c||""),g=a.b.v.qb?g+("cycles="+Ic(a.b).toString()+" cs="+p(a.b.Lb)):g+(null!=d?"="+d.toString():""),l&&(g+=" @"+l);return g}function Rf(a,b){switch(b){case "N":a=a.b.Ma();break;case "Z":a=md(a.b);break;case "V":a=ld(a.b);break;case "C":a=kd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Sf(a,b){var c="",d=a.b;8>b?(c=Hf(b),c+="="+J(a,d.u[b])):13>b?c="A"+(b-8)+"="+J(a,d.Oa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.ya[b-16]):20==b&&(c="PS="+J(a,Tb(d)));c&&(c+=" ");return c}function Tf(a){var b,c="";for(b=0;6>b;b++)c+=Sf(a,b);c=c+"\n"+(Sf(a,6)+Sf(a,7)+Sf(a,20));return c+=Rf(a,"T")+Rf(a,"N")+Rf(a,"Z")+Rf(a,"V")+Rf(a,"C")}k.vc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Uf(a,b,c){var d=[],f=a.aa(b)>>>0;for(b=0;b<a.H.length;b++){var e=a.H[b],g=e.A>>>0,h=e.Tc;if(f>=g&&f<g+h){f=pa(e.sc,[f-g],a.vc);0<=f?Vf(a,b,f,d):c&&(f=~f,Vf(a,b,f-1,d),Vf(a,b,f,d));break}}return d}function Vf(a,b,c,d){var f={},e=a.H[b].sc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.H[b].Ka[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
function Wf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return tf(a)||a.g("no variables"),!0;if(!c[2])return tf(a,c[1]);if(!c[3])return delete a.la[c[1]],!0;b=pf(a,c[3]);return void 0!==b?(a.la[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
function Xf(a,b,c){var d=null;if(b=Cf(a,b,!0)){a.aa(b);var f=Uf(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]+" ("+J(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]+" ("+J(a,f[5])+")"+g,c&&a.g(e),d||(d=e))}else c&&a.g("no symbols")}return d}
function Jf(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=pf(a,b);if(void 0===e)return;b=f.toUpperCase();switch(b){case "SP":case "R6":d.u[6]=e&65535;break;case "PC":case "R7":pd(d,e);a.T=Z(d.u[7]);break;case "N":d.W=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.u[b]=e&65535;break}a.g("unknown register: "+f);return}M(d);a.g("updated registers:")}a.g(Tf(a));c&&(a.T=Z(d.u[7]),Kf(a,J(a,a.T.A)))}}function Yf(a,b){b=oa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.g(c[2]):sf(a,null,c[2].charCodeAt(0)):pf(a,b,!0)}
function Zf(a,b,c){var d="t"!=b;c=rf(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Da(c,function(){return fb(a,!0)&&a.Ab(f,d,!1)},function(){M(a.b);fb(a,!1)})}
function Kf(a,b,c,d){if(b=Cf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=Cf(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=gb(a,!1)||a.ha?a.J:null;var g=null!=e?"cycles":null,h=Uf(a,b),l=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=Qf(a,b,g,e);a.g(e);a.T=b;f-=b.A-l;c++}}}
function Pf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.da&&(a.g("ended assemble at "+J(a,a.ca.A)),a.T=a.ca,a.da=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.xa=null;if(hb(a)&&0<b.length){a.da&&(b="a "+J(a,a.ca.A)+" "+b);var e=!1,g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],l=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}g[0]=g[0].toLowerCase();switch(g[0].charAt(0)){case "a":var r=
Cf(a,g[1],!0);if(r)if(a.ca=r,void 0===g[2])a.g("begin assemble at "+J(a,r.A)),a.da=!0,M(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var u=0;u<q.length;u++)a.Sb(r,q[u],1);a.g(Qf(a,a.ca))}}break;case "b":a:{var z=g[0],v=g[1],A=b;if("?"==v)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 ya=z.charAt(1);if("l"==ya){var Kc;Kc=0+Of(a,a.f);Kc+=Of(a,a.X);(Kc+=Of(a,a.F))||a.g("no breakpoints")}else if("n"==ya)a.wa=rf(a,v),a.g("break after "+a.wa+" instruction(s)");else if(void 0===v)a.g("missing breakpoint address");else{var S=Z();if("*"!=v&&(S=Cf(a,v,!0),!S))break a;"c"==ya?null==S.A?(vf(a),a.g("all breakpoints cleared")):Mf(a,a.f,S)||Mf(a,a.X,S)||Mf(a,a.F,S)||a.g("breakpoint missing: "+J(a,S.A)):null!=S.A&&(Gf(a,S,A),"p"==ya?a.hb(a.f,
S):"r"==ya?a.hb(a.X,S):"w"==ya?a.hb(a.F,S):a.g("unknown breakpoint command: "+ya))}}}break;case "c":a.ib&&(a.ib.value="");break;case "d":a:{var Na,Oa=g[0],ja=g[1],za=g[2],rg=g[3];if("?"==ja){var Pa="";for(Na in H)a.fb[Na]&&(Pa&&(Pa+=","),Pa+=Na);Pa+=",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");Pa.length&&
a.g("dump extension commands:\n\t"+Pa)}else if("state"==ja){var qe=$f(a.C,!0);"console"==za?console.log(qe):(a.ib&&(a.ib.value=""),a.g(qe))}else if("symbols"==ja)for(var Lc=0;Lc<a.H.length;Lc++){var Mc=a.H[Lc],Qa;for(Qa in Mc.Ka)if("."!=Qa.charAt(0)){var re=Mc.Ka[Qa].o;if(void 0!==re){var se=Mc.Ka[Qa].l;se&&(Qa=se);a.g(J(a,re)+" "+Qa)}}}else{if("d"==Oa){for(Na in H)if(g[1]==Na){var te=a.fb[Na];te?(g.shift(),g.shift(),te(g)):a.g("no dump registered for "+ja);break a}ja||(Oa=a.jc||"db")}else a.jc=Oa;
if("dh"==Oa){var ue=ja,ve=za,we="",xe=0,ca=a.qa,ka=a.R;if(ka.length){var X=+ue||a.Gb,jb=+ve||10;isNaN(X)?X=jb:we="more ";X>ka.length&&(a.g("note: only "+ka.length+" available"),X=ka.length);ca-=X;0>ca&&(null==ka[ka.length-1].A?(X=ca+X,ca=0):ca+=ka.length);var Nc=[];"call"==ve&&(jb=1E5,Nc=["CALL"]);for(void 0!==ue&&a.g(X+" instructions earlier:");0<jb&&ca!=a.qa;){var ye=ka[ca++];if(null==ye.A)break;var kb=Z(ye.A),sg=X--,ze=Qf(a,kb,"history",sg);(!Nc.length||0<=ze.indexOf(Nc[0]))&&a.g(ze);kb.hc&&(ca+=
kb.hc,jb-=kb.hc,X-=kb.hc);ca>=ka.length&&(ca=0);a.Gb=X;xe++;jb--}}xe||(a.g("no "+we+"history available"),a.Gb=void 0)}else{var Xb=Cf(a,ja);if(Xb){var Yb=0;za&&("l"==za.charAt(0)&&(za=za.substr(1)||rg),Yb=rf(a,za)>>>0,65536<Yb&&(Yb=65536));for(var lb="",Ra="dd"==Oa?4:"dw"==Oa?2:1,Zb=Ra*Yb||128,tg=Zb+15>>4||1;tg--&&0<Zb;){var mb=0,Oc=0,nb,Pc="",Ae="",ja=J(a,Xb.A);for(nb=4==Ra?16:a.ea;0<nb&&0<Zb;nb--){var $b=a.rb(Xb,1),mb=mb|$b<<(Oc++<<3);Oc==Ra&&(Pc+=8==a.ea?ba(mb,3*Ra):p(mb,2*Ra),Pc+=1==Ra?9==nb?"-":
" ":" ",mb=Oc=0);Ae+=32<=$b&&128>$b?String.fromCharCode($b):".";Zb--}lb&&(lb+="\n");lb+=ja+" "+Pc+(0==nb?" "+Ae:"")}lb&&a.g(lb);a.ob=Xb}}}}break;case "e":if("else"==g[0])break;var Sa,Qc,Rc,Sc,Tc=g[0],Uc=g[1];"eb"==Tc?(Sa=1,Qc=255,Rc=a.rb,Sc=a.Sb):"e"==Tc||"ew"==Tc?(Sa=2,Qc=65535,Rc=a.Ha,Sc=a.nb):Uc=null;if(null==Uc)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 ac=Cf(a,Uc);if(ac)for(var bc=2;bc<g.length;bc++){var ob=
pf(a,g[bc]);if(void 0===ob){a.g("unrecognized value: "+g[bc]);break}ob&~Qc&&a.g("warning: "+p(ob)+" exceeds "+Sa+"-byte value");var ug=Rc.call(a,ac);a.g("changing "+J(a,ac.A)+" from "+J(a,ug,Sa)+" to "+J(a,ob,Sa));Sc.call(a,ac,ob,Sa)}}break;case "g":a:{var Be=g[1],vg=b;if(void 0!==Be){var Vc=Cf(a,Be,!0);if(!Vc)break a;Gf(a,Vc,vg);a.hb(a.f,Vc,!0)}a.zb(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a.v.ga?(c||a.g("halting"),a.ja()):gb(a,!0)||c||a.g("already halted");break;
case "i":if("if"==g[0]){var Wc;var pb=b.substr(2),pb=oa(pb);pf(a,pb)?(c||a.g("true: "+pb),Wc=!0):(c||a.g("false: "+pb),Wc=!1);Wc||(d=!1);break}e=!0;break;case "k":var wg=g[0];if("?"==g[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Xc=0,Ce=Z(),qb=Z(a.b.u[6]);for(a.g("stack trace for "+J(a,qb.A));10>Xc;){for(var Aa=null,xg=256;65536>qb.A>>>0;){Ce.A=a.Ha(qb,2);if(null==qb.A||!xg--)break;for(var yg=a,cc=Ce,De=null,rb=cc.A,Ee=rb,Yc=1;6>=
Yc&&rb;Yc++){if(2<Yc){cc.A=rb;var dc=Qf(yg,cc);if(0<=dc.indexOf("JSR")){var Fe=dc.indexOf(" ");if(rb+(dc.indexOf(" ",Fe+1)-Fe-1)/2==Ee){De=dc;break}}}rb--}cc.A=Ee;if(Aa=De)break}if(!Aa||null==Aa)break;var Ge=null;if("ks"==wg){var He=Aa.match(/[0-9A-F]+$/);He&&(Ge=Xf(a,He[0]))}Aa=na(Aa,50)+" ;"+(Ge||"stack="+J(a,qb.A));a.g(Aa);Xc++}Xc||a.g("no return addresses found")}break;case "l":if("ln"==g[0]){Xf(a,g[1],!0);break}e=!0;break;case "m":a:{var la,ma=null,B=g[1];"?"==B&&(B=void 0);if(void 0!==B){var ua=
0;if("all"==B)ua=1878917119,B=null;else if("on"==B)ma=!0,B=null;else if("off"==B)ma=!1,B=null;else{"keys"==B&&(B="key");"kbd"==B&&(B="keyboard");for(la in H)if(B==la){ua=H[la];ma=!!(a.ka&ua);break}if(!ua){a.g("unknown message category: "+B);break a}}if(ua)if("on"==g[2])a.ka|=ua,ma=!0;else if("off"==g[2]&&(a.ka&=~ua,ma=!1,1073741824==ua)){for(var Zc=0;Zc<a.za.length;Zc++)a.g(a.za[Zc]);a.za=[]}}var zg=0,sb="";for(la in H)if(!B||B==la){var Ag=!!(a.ka&H[la]);if(null===ma||ma==Ag)sb&&(sb+=","),++zg%10||
(sb+="\n\t"),"key"==la&&(la="keys"),sb+=la}void 0===B&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==ma?ma?"messages on: ":"messages off: ":"message categories:\n\t")+(sb||"none"));wf(a)}break;case "p":if("print"==g[0]){Yf(a,b.substr(5));break}var Bg="pr"==g[0]?1:0;if(a.ha)a.g("step in progress");else{var Ie=Z(a.b.u[7]);a.rb(Ie);a.ha?(a.hb(a.f,Ie,!0),a.zb()||(a.C&&a.C.Ub(),a.ha=0)):Zf(a,Bg?"tr":"t")}break;case "r":if("reset"==b){a.C&&a.C.reset();break}Jf(a,
g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var tb=+g[2];if(8==tb||10==tb||16==tb)a.ea=tb;else{a.g("invalid base: "+tb);break}}a.g("default base: "+a.ea);break;case "cs":var ub;void 0!==g[3]&&(ub=+g[3]);switch(g[2]){case "int":a.b.tb=ub;break;case "start":a.b.Mb=ub;break;case "stop":a.b.ub=ub;break;default:a.g("unknown cs option");break a}void 0!==ub&&Fc(a.b);a.g("checksums "+(a.b.v.qb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(bd(a.b,+g[2])||a.g("warning: using 1x multiplier, previous target not reached"));
a.g("target speed: "+(a.b.kb.toFixed(2)+"Mhz")+" ("+a.b.Xa+"x)");break;default:if(g[1]){a.g("unknown option: "+g[1]);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;case "t":Zf(a,g[0],g[1]);break;case "u":Kf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Wf(a,
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.g("PDP11js version 1.30.0 ("+a.b.Wc+",RELEASE"+(wb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(window?window.navigator.userAgent:"");break}e=!0;break;case "?":if(g[1]){Yf(a,b.substr(1));break}var $c="commands:",ad;for(ad in yf)$c+="\n"+na(ad,9)+yf[ad];Ed(a)||($c+="\nnote: history disabled if no exec breakpoints");a.g($c);break;default:e=!0}e&&(a.g("unknown command: "+b),d=!1)}}catch(Je){a.g("debugger error: "+(Je.stack||Je.message)),d=!1}return d}
function Gc(a,b,c){b=nf(a,b,c);for(var d in b)if(!Pf(a,b[+d]))return!1;return!0}Ka(function(){for(var a=D(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new uf(d);eb(d,c)}});
function ag(a,b,c){w.call(this,"Computer",a,ag,67108864);this.v.ia=!1;bg(this,b);this.T=Dc(this,"autoPower",a);this.C=0;this.ea=a.busWidth||a.buswidth;this.f=cg;this.J=null;this.F=this.ca=!1;this.url=Dc(this,"url")||"";(Math.random()+.1).toString(36);this.j=dg(this);if(this.b=db("CPU",this.id)){this.i=db("Debugger",this.id);this.G=new zb({id:this.fc+".bus",busWidth:this.ea},this.b,this.i);var d,f=bb(this.id);if((this.w=db("Panel",this.id))&&this.w.ib)for(b=0;b<f.length;b++)d=f[b],d.sa=this.w.sa,d.g=
this.w.g,d.ib=this.w.ib;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.Na&&d.Na(this,this.G,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=Dc(this,"state")||(e=!0,a.state))b=this.X=a,e||(this.F=!0,this.f=cg),this.f&&
(this.R=new N(this,"1.30.0"),eg(this.R)?b=null:delete this.R);!b&&this.f&&(b=fg(this))&&(this.F=!0);if(b){var g=this;sa(b,null,!0,function(a,b,c){c?(g.H=null,g.F=!1,g.sa("Unable to load machine state from server (error "+c+(b?": "+oa(b):"")+")")):(g.J=b,g.ca=!0);G(g)})}else G(this);this.K.power||(this.T=!0);!c&&this.T&&gg(this,this.Nb)}else t("Unable to find CPU component")}y(ag);var cg=0;
function bg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.da=b}function Dc(a,b,c){var d=b.toLowerCase(),d=Va[b]||Va[d];void 0===d&&a.da&&(d=a.da[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function gg(a,b,c){for(var d=bb(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!hb(e)){hb(e,function(){gg(a,b,c)});return}}b.call(a,c)}
function hg(a,b){var c=new N(a,"1.30.0","validate");if(eg(c)&&ig(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())}}k=ag.prototype;
k.Nb=function(a){void 0===a&&(a=this.f||(this.J?1:cg));if(!this.C){this.C++;var b=!1,c=!1;this.ba=!1;var d=this.R||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>cg){if(eg(d,this.J)){this.B=new N(this,"1.30.0","failsafe");eg(this.B)&&(jg(this,d),a=2,kg(this.B));this.B.set("timestamp",ra());lg(this.B);var f=this.f&&!this.F;if(1==a||ta("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=ig(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?eg(d,g):("error"==
e&&"no machine state"!=g?(this.sa("Error: "+g),"unable to verify user"==g&&(Ba("user",""),this.j=null)):this.g(e+": "+g),kg(d),eg(d)?(c=ig(d),f=!0):c=!1))}f&&hg(this,c?d:null)}else 2==a&&d.clear()}else hg(this);delete this.J;delete this.R}f=bb(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(c=mg(this,g,d,b,c));b=[d,a,c];-1!=a?gg(this,this.xc,b):this.xc(b)}};
function mg(a,b,c,d,f){if(!b.v.ia){b.v.ia=!0;if(b.Ja){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.Ja(e,d)&&e&&(t("Unable to restore state for "+b.type),a.X&&!a.ca?(c.clear(),a.f=cg,window&&window.location.reload()):a.ba=!0,b.Ja(null),f=!1)}if(!d&&b.tc)for(a=b.tc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
k.xc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ha=!0;this.v.ia=!0;var d=this.K.power;d&&(d.textContent="Shutdown");this.b&&(mg(this,this.b,b,c,a),this.b.Fb());this.ba&&(jg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.C=0};
function jg(a,b){if(ta("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;sa("http://www.pcjs.org/api/v1/report",d,!0)}}
function $f(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.Ia&&(c&&a.b.ja(),d=a.b.Ia(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.v.ia=!1,!1===d&&(f=null)));for(var h=bb(a.id),l=0;l<h.length;l++){var m=h[l];m.v.ia&&(m.Ia&&(d=m.Ia(b,c),"object"===typeof d&&e.set(m.id,
d)),c&&(m.v.ia=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.j&&ng(a,a.j,e.toString()),lg(g)&&lg(e)||(f=null,d=h=!0)):a.f&&(d=!0,h=3==a.f),d&&e.clear(h)):f=e.toString());c&&(a.v.ia=!1,b=a.K.power)&&(b.textContent="Power");a.C=0;return f}k.reset=function(){this.G&&this.G.reset&&(E(this,"Resetting "+this.G.type),this.G.reset());for(var a=bb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c.reset&&(E(this,"Resetting "+c.type),c.reset())}};
k.start=function(a,b){for(var c=bb(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};k.stop=function(a,b){for(var c=bb(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
k.pa=function(a,b,c){var d=this;switch(b){case "power":return this.K[b]=c,c.onclick=function(){d.C||(d.v.ia?$f(d,!1,!0):gg(d,d.Nb))},!0;case "reset":return this.K[b]=c,c.onclick=function(){if(d.v.ia&&!d.C)if(d.f&&!d.H){var a=ta("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");$f(d,a,!0);!a&&d.X?window&&window.location.reload():d.Nb(cg)}else d.reset(),d.b&&d.b.Fb()},!0;case "save":if(fa())c.parentNode.removeChild(c);else return this.K[b]=
c,c.onclick=function(){var a=dg(d,!0);if(a){var b=!!(d.f&&!d.H||d.X),c=$f(d,b);b?ng(d,a,c):d.sa("Resume disabled, machine state not saved")}},!0}return!1};
function dg(a,b){var c=a.j;c||((c=xa("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=og(a,c))||a.sa("The user ID is invalid.")):b&&a.sa("Browser local storage is not available"));return c}
function og(a,b){a.j=null;b=sa(ga()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ba("user",b.data),a.j=b.data)}catch(d){t(d.message+" ("+c+")")}return a.j}function fg(a){var b=null;a.j&&(b=ga()+"/api/v1/user?req=load&user="+a.j+"&state="+pg(a,"1.30.0"));return b}
function ng(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=pg(a,"1.30.0");d.data=c;b=sa(ga()+"/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),Ba("user",""),a.j=null)}}k.Ub=function(){};
k.Fa=function(a){this.b&&this.b.Fa(a);this.w&&this.w.Fa(a)};Ka(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 ag(g,d,!0);eb(g,e);g.T&&gg(g,g.Nb)}});Fa.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=db("Computer",c.id))&&c.ha&&!c.v.ia&&c.Nb(-1)}});
Fa.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=db("Computer",c.id))&&c.v.ia&&$f(c,!(!c.f||c.H),!0)}});function N(a,b,c){this.id=a.id;this.key=pg(a,b,c);this.i=a.i;kg(this,a.Qc)}function pg(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){kg(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 kg(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function lg(a){var b=!0;if(wa()){var c=JSON.stringify(a[a.id]);Ba(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function ig(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function eg(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:wa()&&(b=xa(a.key))?(a[a.id]=b,a.b=!0):!1}var qg=0;
function Cg(a,b,c,d,f,e){f("Loading "+a+"...");sa(a,null,!0,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),e(h,null)):Dg(h,a,b,c,d,f,e)})}
function Dg(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(ab(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?Eg(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Eg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");sa(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Eg(a,b,c)}})}else c(a,null)}
function Fg(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=ia(a))}function e(a){f("Error: "+a);l&&(--qg||Ma(!0));l=!1}var g,h,l=!0;qg++;$a[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?Cg(c,null,null,!1,f,function(d,l){l?(ab(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--qg||Ma(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--qg||Ma(!0)):e("invalid machine element: "+
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Cg(b,a,d,!0,f,m):Dg(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(q){e(q.message)}return l}window.embedPDP11=function(a,b,c,d){Ma(!1);return Fg(a,b,c,d)};window.enableEvents=Ma;window.sendEvent=Ta;})();
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]}};k=wf.prototype;
k.Oa=function(a,b,c,d){this.H=b;this.b=c;this.C=a;(a=Ec(a,"messages"))&&zf(this,a);this.Jb=Cf;Df(this,function(a){a:{var b=d.H.N,c=a[0],f=a=0,l=b.length;if(c){a=d.aa(Ef(d,c));if(-1===a){d.g("invalid address: "+c);break a}f=a>>>d.H.Z;l=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[f];n.type==c?m++||d.g("..."):(c=n.type,m=Jb[c],n&&d.g(p(n.id,8)+" %"+p(f<<d.H.Z,8)+" %%"+p(n.B,8)+" "+p(n.Vb,
4,!0)+" "+p(n.size,4,!0)+" "+m),c!=qc&&(c=-1),m=0);a+=d.H.Da;f++}}});G(this)};
k.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ua=this.K[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Hc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.w.length-1&&(b=d.w[++d.A])):40==a.keyCode&&(0<d.A?b=d.w[--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.K[b]=c,Fa(c,function(){if(d.ua){var a=d.ua.value;
d.ua.value="";Hc(d,a,!0);return!0}return!1}),!0;case "step":return this.K[b]=c,Fa(c,function(a){var b=!1;hb(d,!0)||(gb(d,!0),b=d.Ab(a?1:0),gb(d,!1));return b}),!0}return!1};k.Ub=function(){this.ua&&this.ua.focus()};k.aa=function(a){a=a&&a.B;null==a&&(a=-1);return a};k.rb=function(a,b){var c=255,d=this.aa(a,!1,1);-1!==d&&(this.j++,c=this.H,c=c.N[(d&c.j)>>>c.Z].Ob(d&c.f,d),this.j--,b&&Ff(a,b));return c};
k.Ia=function(a,b){var c=65535,d=this.aa(a,!1,2);-1!==d&&(this.j++,c=Kb(this.H,d),this.j--,b&&Ff(a,b));return c};k.Sb=function(a,b,c){var d=this.aa(a,!0,1);if(-1!==d){this.j++;var f=this.H;f.N[(d&f.j)>>>f.Z].Cb(d&f.f,b&255,d);this.j--;c&&Ff(a,c);M(this.b,!0)}};k.nb=function(a,b,c){var d=this.aa(a,!0,2);if(-1!==d){this.j++;var f=this.H,e=d&f.f,g=(d&f.j)>>>f.Z;e!=f.f?f.N[g].rc(e,b&65535,d):(f.N[g++].Cb(e,b&255,d),f.N[g&f.C].Cb(0,b>>8&255,d+1));this.j--;c&&Ff(a,c);M(this.b,!0)}};
function Z(a){return{B:a,Ha:!1}}function Gf(a){return[a.B,a.Ha]}function Hf(a){return{B:a[0],Ha:a[1]}}function Ef(a,b,c){var d;c=(c?a.S:a.ob).B;if(void 0!==b){d=b=sf(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].La[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;c=rf(a,b,void 0)}null!=c&&(d=Z(c));return d}function If(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Mc=pf(a,b.Hc=c[2]))}function Ff(a,b){null!=a.B&&(a.B+=b||1)}
function zf(a,b){a.i=a;a.ka=a.Nc=536870912;a.ya=null;a.Aa=[];a.j=0;b=pf(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 Df(a,b){for(var c in H)if(64==H[c]){a.fb[c]=b;break}}
k.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 Jf(a){return 6>a?"R"+a:6==a?"SP":"PC"}k.Ac=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Pa[a-8]:20>a?b=this.b.za[a-16]:20==a&&(b=Ub(this.b)));return b};
k.message=function(a,b){this.j||(b&&(a+=" @"+J(this,Z(this.b.u[7]).B)),this.ka&1073741824?this.Aa.push(a):this.ya&&a==this.ya||(this.ya=a,this.ka&-2147483648&&(this.ja(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,hd(a),a.la=0,M(a))))};
function yf(a){var b;if(Fd(a)){if(!a.O||!a.O.length){a.O=Array(1E3);for(b=0;b<a.O.length;b++)a.O[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.O&&a.O.length&&a.g("instruction history buffer freed"),a.qa=0,a.O=[],a.ma=[]}k.zb=function(a){if(!Kf(this))return!1;this.b.zb(a);return!0};
k.Ab=function(a,b,c){if(!Kf(this))return!1;this.I=0;a||Fd(this)&&Gd(this,this.b.u[7],0);try{a=fd(this.b,a);var d=this.b.Ab(a);0<d&&(gd(this.b,a),this.I+=d,dd(this.b,d,!0),Ic(this.b,d),this.ba++)}catch(f){"number"!=typeof f&&(this.I=0,wb(this.b,f.stack||f.message))}!1!==c&&M(this.b);this.Ga(b||!1);return 0<this.I};k.ja=function(a){this.b&&this.b.ja(a)};k.Ga=function(a){void 0===a&&(a=!0);this.S=Z(this.b.u[7]);a&&1!=this.ha?Lf(this):Mf(this)};
function Kf(a){var b;if(b=a.b&&ib(a.b))b=a.b,b.v.ia?b=!0:(b.g(b.toString()+" not powered"),b=!1);return b&&!a.b.v.ga?!vb(a.b):!1}k.Ka=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};k.Ja=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){yf(this);this.ba=this.Ba=0;this.ya=null;this.I=0;this.S=Z(this.b.u[7]);this.v.ga=!1;Nf(this);a||this.Ga()};
k.save=function(){var a=new N(this);a.set(0,Gf(this.S));a.set(1,Gf(this.ca));a.set(2,[this.w,this.da,this.ka]);a.set(3,this.G);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.S=Hf(a[b++]),this.ca=Hf(a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.da=a[b][1],this.ka|=a[b][2]);a[3]&&(this.G=a[3]);return!0};k.start=function(a,b){this.ha||this.g("running");this.v.ga=!0;this.Wb=a;this.Xb=b};
k.stop=function(a,b){if(this.v.ga){this.v.ga=!1;this.I=b-this.Xb;if(!this.ha){b="stopped";if(this.I){a-=this.Wb;var c=0<a?Math.round(1E3*this.I/a):0;b+=" (";Fd(this)&&(b+=this.ba+" opcodes, ",this.Ba-=this.ba,this.ba=0);b+=this.I+" cycles, "+a+" ms, "+c+" hz)"}else F(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.Ga(!0);this.Ub();Nf(this,this.b.u[7])}};function Fd(a){return 1<a.f.length||!!a.xa}
function Gd(a,b,c){var d=a.b;if(0<c&&(a.xa&&!--a.xa||zc(a,b,1,a.f)))return!0;0<=c&&a.ma.length&&(a.ba++,a.j++,b=Kb(a.H,b),a.j--,null!=b&&(b=a.O[a.qa],b.B=d.u[7],b.Ha=!1,++a.qa==a.O.length&&(a.qa=0)));return!1}function xf(a){var b,c;a.f=["bp"];if(a.X)for(b=1;b<a.X.length;b++){c=a.X[b];var d=a.H;c=a.aa(c);Ac(d.N[c>>>d.Z],!1)}a.X=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],d=a.H,c=a.aa(c),Ac(d.N[c>>>d.Z],!0);a.F=["bw"];a.Db=0}
k.hb=function(a,b,c){var d=!0;c||Of(this,a,b,!1,!0);if(a!=this.f){var f=this.aa(b);if(-1===f)this.g("invalid address: "+J(this,b.B)),d=!1;else{var e=this.H;e.N[f>>>e.Z].hb(f&e.f,a==this.F)}}d&&(a.push(b),c?b.Ha=!0:(Pf(this,a,a.length-1,"set"),yf(this)));return d};function Of(a,b,c,d,f){var e=!1;c=a.aa(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.aa(h)&&(!d||h.Ha)){e=!0;h.Ha||f||Pf(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.H,Ac(d.N[c>>>d.Z],b==a.F));h.Ha||yf(a);break}}return e}
function Qf(a,b){for(var c=1;c<b.length;c++)Pf(a,b,c);return b.length-1}function Pf(a,b,c,d){c=b[c];a.g(b[0]+" "+J(a,c.B)+(d?" "+d:c.Hc?' "'+c.Hc+'"':""))}function Nf(a,b){if(void 0!==b)zc(a,b,1,a.f,!0),a.ha=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.Ha){if(!Of(a,a.f,c,!0))break;b=0}}}
function zc(a,b,c,d,f){var e=!1;if(!a.Db++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ha)for(var l=a.aa(h),m=0;m<c;m++)if(b+m==l){var n,e=!0;h.Ha&&(Of(a,d,h,!0),f=!0);if(n=h.Mc){for(var e=!1,r=0;r<n.length;r++)if(!Rf(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.v.ga||(e=!0)}if(e){f||Pf(a,d,g,"hit");break}}}a.Db--;return e}
function Sf(a,b,c,d){var f=Z(b.B),e=a.Ia(b,2),g,h;for(h in a.Jb)if(g=a.Jb[h][e&h])break;g||(g=[0]);for(var l=h="",m=Bf[g[0]],n=g.length-1,r=1;r<=n;r++){var q=g[r];if(void 0!==q){var u;u=a;var z=q,q=b,v="",A=z&61440;if(4096==A)q=q.B+((e&255)<<24>>23)&65535,v=J(u,q);else if(8192==A)q=q.B-((e&63)<<1)&65535,v=J(u,q);else if(12288==A)v=J(u,e&7,1);else if(24576==A)v=J(u,e&63,1);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:v=Jf(z);break;case 8:v="@"+Jf(z);break;case 16:7>z?v="("+Jf(z)+
")+":(A=u.Ia(q,2),v="#"+J(u,A,0,!0));break;case 24:7>z?v="@("+Jf(z)+")+":(A=u.Ia(q,2),v="@#"+J(u,A,0,!0));break;case 32:v="-("+Jf(z)+")";break;case 40:v="@-("+Jf(z)+")";break;case 48:A=u.Ia(q,2);v=J(u,A,0,!0)+"("+Jf(z)+")";7==z&&(v=[v,J(u,A+q.B&65535)]);break;case 56:A=u.Ia(q,2),v="@"+J(u,A)+"("+Jf(z)+")",7==z&&(v=[v,J(u,A+q.B&65535)])}u=v;if(!u||!u.length){h="INVALID";break}"string"!=typeof u&&(l=u[1],u=u[0]);0<h.length&&(h+=",");h+=u||"???"}}e="";g=J(a,f.B)+":";if(-1!==f.B&&-1!==b.B){do if(e+=" "+
J(a,a.Ia(f,2)),null==f.B)break;while(f.B!=b.B)}g+=na(e,24);g+=na(m,5);h&&(g+=" "+h);if(c||l)g=na(g,60)+";"+(c||""),g=a.b.v.qb?g+("cycles="+Jc(a.b).toString()+" cs="+p(a.b.Lb)):g+(null!=d?"="+d.toString():""),l&&(g+=" @"+l);return g}function Tf(a,b){switch(b){case "N":a=a.b.Na();break;case "Z":a=nd(a.b);break;case "V":a=md(a.b);break;case "C":a=ld(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Uf(a,b){var c="",d=a.b;8>b?(c=Jf(b),c+="="+J(a,d.u[b])):13>b?c="A"+(b-8)+"="+J(a,d.Pa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.za[b-16]):20==b&&(c="PS="+J(a,Ub(d)));c&&(c+=" ");return c}function Vf(a){var b,c="";for(b=0;6>b;b++)c+=Uf(a,b);c=c+"\n"+(Uf(a,6)+Uf(a,7)+Uf(a,20));return c+=Tf(a,"T")+Tf(a,"N")+Tf(a,"Z")+Tf(a,"V")+Tf(a,"C")}k.vc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Wf(a,b,c){var d=[],f=a.aa(b)>>>0;for(b=0;b<a.G.length;b++){var e=a.G[b],g=e.B>>>0,h=e.Tc;if(f>=g&&f<g+h){f=qa(e.sc,[f-g],a.vc);0<=f?Xf(a,b,f,d):c&&(f=~f,Xf(a,b,f-1,d),Xf(a,b,f,d));break}}return d}function Xf(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].La[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
function Yf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return vf(a)||a.g("no variables"),!0;if(!c[2])return vf(a,c[1]);if(!c[3])return delete a.la[c[1]],!0;b=rf(a,c[3]);return void 0!==b?(a.la[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
function Zf(a,b,c){var d=null;if(b=Ef(a,b,!0)){a.aa(b);var f=Wf(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.B-f[1])&&(g=" + "+p(e,4,!0)),e=f[0]+" ("+J(a,f[1])+")"+g,c&&a.g(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.B)&&(g=" - "+p(e,4,!0)),e=f[4]+" ("+J(a,f[5])+")"+g,c&&a.g(e),d||(d=e))}else c&&a.g("no symbols")}return d}
function Lf(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=rf(a,b);if(void 0===e)return;b=f.toUpperCase();switch(b){case "SP":case "R6":d.u[6]=e&65535;break;case "PC":case "R7":qd(d,e);a.S=Z(d.u[7]);break;case "N":d.W=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.u[b]=e&65535;break}a.g("unknown register: "+f);return}M(d);a.g("updated registers:")}a.g(Vf(a));c&&(a.S=Z(d.u[7]),Mf(a,J(a,a.S.B)))}}function $f(a,b){b=oa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.g(c[2]):uf(a,null,c[2].charCodeAt(0)):rf(a,b,!0)}
function ag(a,b,c){var d="t"!=b;c=tf(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ea(c,function(){return gb(a,!0)&&a.Ab(f,d,!1)},function(){M(a.b);gb(a,!1)})}
function Mf(a,b,c,d){if(b=Ef(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=Ef(a,c,!0);if(!d||d.B<b.B)return;f=d.B-b.B;if(256<f){a.g("range too large");return}d=-1}c=0;for(var e;0<f&&d--;){e=hb(a,!1)||a.ha?a.I:null;var g=null!=e?"cycles":null,h=Wf(a,b),l=b.B;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=Sf(a,b,g,e);a.g(e);a.S=b;f-=b.B-l;c++}}}
function Rf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.da&&(a.g("ended assemble at "+J(a,a.ca.B)),a.S=a.ca,a.da=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.ya=null;if(ib(a)&&0<b.length){a.da&&(b="a "+J(a,a.ca.B)+" "+b);var e=!1,g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],l=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}g[0]=g[0].toLowerCase();switch(g[0].charAt(0)){case "a":var r=
Ef(a,g[1],!0);if(r)if(a.ca=r,void 0===g[2])a.g("begin assemble at "+J(a,r.B)),a.da=!0,M(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var u=0;u<q.length;u++)a.Sb(r,q[u],1);a.g(Sf(a,a.ca))}}break;case "b":a:{var z=g[0],v=g[1],A=b;if("?"==v)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 ya=z.charAt(1);if("l"==ya){var Kc;Kc=0+Qf(a,a.f);Kc+=Qf(a,a.X);(Kc+=Qf(a,a.F))||a.g("no breakpoints")}else if("n"==ya)a.xa=tf(a,v),a.g("break after "+a.xa+" instruction(s)");else if(void 0===v)a.g("missing breakpoint address");else{var S=Z();if("*"!=v&&(S=Ef(a,v,!0),!S))break a;"c"==ya?null==S.B?(xf(a),a.g("all breakpoints cleared")):Of(a,a.f,S)||Of(a,a.X,S)||Of(a,a.F,S)||a.g("breakpoint missing: "+J(a,S.B)):null!=S.B&&(If(a,S,A),"p"==ya?a.hb(a.f,
S):"r"==ya?a.hb(a.X,S):"w"==ya?a.hb(a.F,S):a.g("unknown breakpoint command: "+ya))}}}break;case "c":a.ib&&(a.ib.value="");break;case "d":a:{var Oa,Pa=g[0],ja=g[1],za=g[2],tg=g[3];if("?"==ja){var Qa="";for(Oa in H)a.fb[Oa]&&(Qa&&(Qa+=","),Qa+=Oa);Qa+=",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");Qa.length&&
a.g("dump extension commands:\n\t"+Qa)}else if("state"==ja){var qe=bg(a.C,!0);"console"==za?console.log(qe):(a.ib&&(a.ib.value=""),a.g(qe))}else if("symbols"==ja)for(var Lc=0;Lc<a.G.length;Lc++){var Mc=a.G[Lc],Ra;for(Ra in Mc.La)if("."!=Ra.charAt(0)){var re=Mc.La[Ra].o;if(void 0!==re){var se=Mc.La[Ra].l;se&&(Ra=se);a.g(J(a,re)+" "+Ra)}}}else{if("d"==Pa){for(Oa in H)if(g[1]==Oa){var te=a.fb[Oa];te?(g.shift(),g.shift(),te(g)):a.g("no dump registered for "+ja);break a}ja||(Pa=a.jc||"db")}else a.jc=Pa;
if("dh"==Pa){var ue=ja,ve=za,we="",xe=0,ca=a.qa,ka=a.O;if(ka.length){var Y=+ue||a.Gb,jb=+ve||10;isNaN(Y)?Y=jb:we="more ";Y>ka.length&&(a.g("note: only "+ka.length+" available"),Y=ka.length);ca-=Y;0>ca&&(null==ka[ka.length-1].B?(Y=ca+Y,ca=0):ca+=ka.length);var Nc=[];"call"==ve&&(jb=1E5,Nc=["CALL"]);for(void 0!==ue&&a.g(Y+" instructions earlier:");0<jb&&ca!=a.qa;){var ye=ka[ca++];if(null==ye.B)break;var kb=Z(ye.B),ug=Y--,ze=Sf(a,kb,"history",ug);(!Nc.length||0<=ze.indexOf(Nc[0]))&&a.g(ze);kb.hc&&(ca+=
kb.hc,jb-=kb.hc,Y-=kb.hc);ca>=ka.length&&(ca=0);a.Gb=Y;xe++;jb--}}xe||(a.g("no "+we+"history available"),a.Gb=void 0)}else{var Xb=Ef(a,ja);if(Xb){var Yb=0;za&&("l"==za.charAt(0)&&(za=za.substr(1)||tg),Yb=tf(a,za)>>>0,65536<Yb&&(Yb=65536));for(var lb="",Sa="dd"==Pa?4:"dw"==Pa?2:1,Zb=Sa*Yb||128,vg=Zb+15>>4||1;vg--&&0<Zb;){var mb=0,Oc=0,nb,Pc="",Ae="",ja=J(a,Xb.B);for(nb=4==Sa?16:a.ea;0<nb&&0<Zb;nb--){var $b=a.rb(Xb,1),mb=mb|$b<<(Oc++<<3);Oc==Sa&&(Pc+=8==a.ea?ba(mb,3*Sa):p(mb,2*Sa),Pc+=1==Sa?9==nb?"-":
" ":" ",mb=Oc=0);Ae+=32<=$b&&128>$b?String.fromCharCode($b):".";Zb--}lb&&(lb+="\n");lb+=ja+" "+Pc+(0==nb?" "+Ae:"")}lb&&a.g(lb);a.ob=Xb}}}}break;case "e":if("else"==g[0])break;var Ta,Qc,Rc,Sc,Tc=g[0],Uc=g[1];"eb"==Tc?(Ta=1,Qc=255,Rc=a.rb,Sc=a.Sb):"e"==Tc||"ew"==Tc?(Ta=2,Qc=65535,Rc=a.Ia,Sc=a.nb):Uc=null;if(null==Uc)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 ac=Ef(a,Uc);if(ac)for(var bc=2;bc<g.length;bc++){var ob=
rf(a,g[bc]);if(void 0===ob){a.g("unrecognized value: "+g[bc]);break}ob&~Qc&&a.g("warning: "+p(ob)+" exceeds "+Ta+"-byte value");var wg=Rc.call(a,ac);a.g("changing "+J(a,ac.B)+" from "+J(a,wg,Ta)+" to "+J(a,ob,Ta));Sc.call(a,ac,ob,Ta)}}break;case "g":a:{var Be=g[1],xg=b;if(void 0!==Be){var Vc=Ef(a,Be,!0);if(!Vc)break a;If(a,Vc,xg);a.hb(a.f,Vc,!0)}a.zb(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a.v.ga?(c||a.g("halting"),a.ja()):hb(a,!0)||c||a.g("already halted");break;
case "i":if("if"==g[0]){var Wc;var pb=b.substr(2),pb=oa(pb);rf(a,pb)?(c||a.g("true: "+pb),Wc=!0):(c||a.g("false: "+pb),Wc=!1);Wc||(d=!1);break}e=!0;break;case "k":var yg=g[0];if("?"==g[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Xc=0,Ce=Z(),qb=Z(a.b.u[6]);for(a.g("stack trace for "+J(a,qb.B));10>Xc;){for(var Aa=null,zg=256;65536>qb.B>>>0;){Ce.B=a.Ia(qb,2);if(null==qb.B||!zg--)break;for(var Ag=a,cc=Ce,De=null,rb=cc.B,Ee=rb,Yc=1;6>=
Yc&&rb;Yc++){if(2<Yc){cc.B=rb;var dc=Sf(Ag,cc);if(0<=dc.indexOf("JSR")){var Fe=dc.indexOf(" ");if(rb+(dc.indexOf(" ",Fe+1)-Fe-1)/2==Ee){De=dc;break}}}rb--}cc.B=Ee;if(Aa=De)break}if(!Aa||null==Aa)break;var Ge=null;if("ks"==yg){var He=Aa.match(/[0-9A-F]+$/);He&&(Ge=Zf(a,He[0]))}Aa=na(Aa,50)+" ;"+(Ge||"stack="+J(a,qb.B));a.g(Aa);Xc++}Xc||a.g("no return addresses found")}break;case "l":if("ln"==g[0]){Zf(a,g[1],!0);break}e=!0;break;case "m":a:{var la,ma=null,C=g[1];"?"==C&&(C=void 0);if(void 0!==C){var ua=
0;if("all"==C)ua=1878917119,C=null;else if("on"==C)ma=!0,C=null;else if("off"==C)ma=!1,C=null;else{"keys"==C&&(C="key");"kbd"==C&&(C="keyboard");for(la in H)if(C==la){ua=H[la];ma=!!(a.ka&ua);break}if(!ua){a.g("unknown message category: "+C);break a}}if(ua)if("on"==g[2])a.ka|=ua,ma=!0;else if("off"==g[2]&&(a.ka&=~ua,ma=!1,1073741824==ua)){for(var Zc=0;Zc<a.Aa.length;Zc++)a.g(a.Aa[Zc]);a.Aa=[]}}var Bg=0,sb="";for(la in H)if(!C||C==la){var Cg=!!(a.ka&H[la]);if(null===ma||ma==Cg)sb&&(sb+=","),++Bg%10||
(sb+="\n\t"),"key"==la&&(la="keys"),sb+=la}void 0===C&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==ma?ma?"messages on: ":"messages off: ":"message categories:\n\t")+(sb||"none"));yf(a)}break;case "p":if("print"==g[0]){$f(a,b.substr(5));break}var Dg="pr"==g[0]?1:0;if(a.ha)a.g("step in progress");else{var Ie=Z(a.b.u[7]);a.rb(Ie);a.ha?(a.hb(a.f,Ie,!0),a.zb()||(a.C&&a.C.Ub(),a.ha=0)):ag(a,Dg?"tr":"t")}break;case "r":if("reset"==b){a.C&&a.C.reset();break}Lf(a,
g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var tb=+g[2];if(8==tb||10==tb||16==tb)a.ea=tb;else{a.g("invalid base: "+tb);break}}a.g("default base: "+a.ea);break;case "cs":var ub;void 0!==g[3]&&(ub=+g[3]);switch(g[2]){case "int":a.b.tb=ub;break;case "start":a.b.Mb=ub;break;case "stop":a.b.ub=ub;break;default:a.g("unknown cs option");break a}void 0!==ub&&Gc(a.b);a.g("checksums "+(a.b.v.qb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(cd(a.b,+g[2])||a.g("warning: using 1x multiplier, previous target not reached"));
a.g("target speed: "+(a.b.kb.toFixed(2)+"Mhz")+" ("+a.b.Ya+"x)");break;default:if(g[1]){a.g("unknown option: "+g[1]);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;case "t":ag(a,g[0],g[1]);break;case "u":Mf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Yf(a,
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.g("PDP11js version 1.30.0 ("+a.b.Wc+",RELEASE"+(xb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(window?window.navigator.userAgent:"");break}e=!0;break;case "?":if(g[1]){$f(a,b.substr(1));break}var $c="commands:",ad;for(ad in Af)$c+="\n"+na(ad,9)+Af[ad];Fd(a)||($c+="\nnote: history disabled if no exec breakpoints");a.g($c);break;default:e=!0}e&&(a.g("unknown command: "+b),d=!1)}}catch(Je){a.g("debugger error: "+(Je.stack||Je.message)),d=!1}return d}
function Hc(a,b,c){b=pf(a,b,c);for(var d in b)if(!Rf(a,b[+d]))return!1;return!0}La(function(){for(var a=D(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new wf(d);fb(d,c)}});
function cg(a,b,c){w.call(this,"Computer",a,cg,67108864);this.v.ia=!1;dg(this,b);this.S=Ec(this,"autoPower",a);this.C=0;this.ea=a.busWidth||a.buswidth;this.f=eg;this.I=null;this.F=this.ca=!1;this.url=Ec(this,"url")||"";(Math.random()+.1).toString(36);this.j=fg(this);if(this.b=eb("CPU",this.id)){this.i=eb("Debugger",this.id);this.H=new Ab({id:this.fc+".bus",busWidth:this.ea},this.b,this.i);var d,f=cb(this.id);if((this.w=eb("Panel",this.id))&&this.w.ib)for(b=0;b<f.length;b++)d=f[b],d.sa=this.w.sa,d.g=
this.w.g,d.ib=this.w.ib;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.Oa&&d.Oa(this,this.H,this.b,this.i);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.G=d:this.f=parseInt(d,10));var e;if(a=Ec(this,"state")||(e=!0,a.state))b=this.X=a,e||(this.F=!0,this.f=eg),this.f&&
(this.O=new N(this,"1.30.0"),gg(this.O)?b=null:delete this.O);!b&&this.f&&(b=hg(this))&&(this.F=!0);if(b){var g=this;ta(b,null,!0,function(a,b,c){c?(g.G=null,g.F=!1,g.sa("Unable to load machine state from server (error "+c+(b?": "+oa(b):"")+")")):(g.I=b,g.ca=!0);G(g)})}else G(this);this.K.power||(this.S=!0);!c&&this.S&&ig(this,this.Nb)}else t("Unable to find CPU component")}y(cg);var eg=0;
function dg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.da=b}function Ec(a,b,c){var d=b.toLowerCase(),d=Wa[b]||Wa[d];void 0===d&&a.da&&(d=a.da[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function ig(a,b,c){for(var d=cb(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!ib(e)){ib(e,function(){ig(a,b,c)});return}}b.call(a,c)}
function jg(a,b){var c=new N(a,"1.30.0","validate");if(gg(c)&&kg(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())}}k=cg.prototype;
k.Nb=function(a){void 0===a&&(a=this.f||(this.I?1:eg));if(!this.C){this.C++;var b=!1,c=!1;this.ba=!1;var d=this.O||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>eg){if(gg(d,this.I)){this.A=new N(this,"1.30.0","failsafe");gg(this.A)&&(lg(this,d),a=2,mg(this.A));this.A.set("timestamp",sa());ng(this.A);var f=this.f&&!this.F;if(1==a||va("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=kg(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?gg(d,g):("error"==
e&&"no machine state"!=g?(this.sa("Error: "+g),"unable to verify user"==g&&(Ca("user",""),this.j=null)):this.g(e+": "+g),mg(d),gg(d)?(c=kg(d),f=!0):c=!1))}f&&jg(this,c?d:null)}else 2==a&&d.clear()}else jg(this);delete this.I;delete this.O}f=cb(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(c=og(this,g,d,b,c));b=[d,a,c];-1!=a?ig(this,this.xc,b):this.xc(b)}};
function og(a,b,c,d,f){if(!b.v.ia){b.v.ia=!0;if(b.Ka){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.Ka(e,d)&&e&&(t("Unable to restore state for "+b.type),a.X&&!a.ca?(c.clear(),a.f=eg,window&&window.location.reload()):a.ba=!0,b.Ka(null),f=!1)}if(!d&&b.tc)for(a=b.tc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
k.xc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ha=!0;this.v.ia=!0;var d=this.K.power;d&&(d.textContent="Shutdown");this.b&&(og(this,this.b,b,c,a),this.b.Fb());this.ba&&(lg(this,b),b.clear());!c&&this.A&&(this.A.clear(),delete this.A);this.C=0};
function lg(a,b){if(va("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;ta("http://www.pcjs.org/api/v1/report",d,!0)}}
function bg(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=sa();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.Ja&&(c&&a.b.ja(),d=a.b.Ja(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.v.ia=!1,!1===d&&(f=null)));for(var h=cb(a.id),l=0;l<h.length;l++){var m=h[l];m.v.ia&&(m.Ja&&(d=m.Ja(b,c),"object"===typeof d&&e.set(m.id,
d)),c&&(m.v.ia=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.j&&pg(a,a.j,e.toString()),ng(g)&&ng(e)||(f=null,d=h=!0)):a.f&&(d=!0,h=3==a.f),d&&e.clear(h)):f=e.toString());c&&(a.v.ia=!1,b=a.K.power)&&(b.textContent="Power");a.C=0;return f}k.reset=function(){this.H&&this.H.reset&&(E(this,"Resetting "+this.H.type),this.H.reset());for(var a=cb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c.reset&&(E(this,"Resetting "+c.type),c.reset())}};
k.start=function(a,b){for(var c=cb(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};k.stop=function(a,b){for(var c=cb(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
k.pa=function(a,b,c){var d=this;switch(b){case "power":return this.K[b]=c,c.onclick=function(){d.C||(d.v.ia?bg(d,!1,!0):ig(d,d.Nb))},!0;case "reset":return this.K[b]=c,c.onclick=function(){if(d.v.ia&&!d.C)if(d.f&&!d.G){var a=va("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");bg(d,a,!0);!a&&d.X?window&&window.location.reload():d.Nb(eg)}else d.reset(),d.b&&d.b.Fb()},!0;case "save":if(fa())c.parentNode.removeChild(c);else return this.K[b]=
c,c.onclick=function(){var a=fg(d,!0);if(a){var b=!!(d.f&&!d.G||d.X),c=bg(d,b);b?pg(d,a,c):d.sa("Resume disabled, machine state not saved")}},!0}return!1};
function fg(a,b){var c=a.j;c||((c=Ba("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=qg(a,c))||a.sa("The user ID is invalid.")):b&&a.sa("Browser local storage is not available"));return c}
function qg(a,b){a.j=null;b=ta(ga()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ca("user",b.data),a.j=b.data)}catch(d){t(d.message+" ("+c+")")}return a.j}function hg(a){var b=null;a.j&&(b=ga()+"/api/v1/user?req=load&user="+a.j+"&state="+rg(a,"1.30.0"));return b}
function pg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=rg(a,"1.30.0");d.data=c;b=ta(ga()+"/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),Ca("user",""),a.j=null)}}k.Ub=function(){};
k.Ga=function(a){this.b&&this.b.Ga(a);this.w&&this.w.Ga(a)};La(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=D(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=B(e),g=new cg(g,d,!0);fb(g,e);g.S&&ig(g,g.Nb)}});Ga.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=eb("Computer",c.id))&&c.ha&&!c.v.ia&&c.Nb(-1)}});
Ga.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=eb("Computer",c.id))&&c.v.ia&&bg(c,!(!c.f||c.G),!0)}});function N(a,b,c){this.id=a.id;this.key=rg(a,b,c);this.i=a.i;mg(this,a.Qc)}function rg(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){mg(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 mg(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function ng(a){var b=!0;if(xa()){var c=JSON.stringify(a[a.id]);Ca(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function kg(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function gg(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:xa()&&(b=Ba(a.key))?(a[a.id]=b,a.b=!0):!1}var sg=0;
function Eg(a,b,c,d,f,e){f("Loading "+a+"...");ta(a,null,!0,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),e(h,null)):Fg(h,a,b,c,d,f,e)})}
function Fg(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(bb(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?Gg(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Gg(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 l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Gg(a,b,c)}})}else c(a,null)}
function Hg(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=ia(a))}function e(a){f("Error: "+a);l&&(--sg||Na(!0));l=!1}var g,h,l=!0;sg++;ab[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?Eg(c,null,null,!1,f,function(d,l){l?(bb(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--sg||Na(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--sg||Na(!0)):e("invalid machine element: "+
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Eg(b,a,d,!0,f,m):Fg(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(q){e(q.message)}return l}window.embedPDP11=function(a,b,c,d){Na(!1);return Hg(a,b,c,d)};window.enableEvents=Na;window.sendEvent=Ua;})();

View file

@ -1,156 +1,158 @@
(function(){var k;
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==
f&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function n(a,b,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]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}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())}
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]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
var ia={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ja=Date.now||function(){return+new Date};
function ka(){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 l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(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 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.Nb=b.comment;this.fc=b;b=this.id.indexOf(".");0>b?this.gb=this.id:(this.yb=this.id.substr(0,b),this.gb=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Nc:!1,Oc:!1,N:!1,error:!1};this.ob=null;this.h.error=!1;this.w={};this.K=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){if(void 0!==a){var b;for(b=0;b<x.length;b++)if(x[b].id===a)return x[b]}return null}function A(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 B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function r(a){window&&window.alert(a)}function la(a){var b=!1;window&&(b=window.confirm(a));return b}var ma=null;function na(){if(null==ma){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}ma=a}return ma}function oa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function pa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function qa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},ra=!1,sa=!1,ta=!0;function ua(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 va(a){if(ta)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 wa(a){!ta&&a?(ta=!0,ra&&xa("init"),sa&&xa("show")):ta=a}function xa(a){t[a]&&va(t[a])}ua("onload",function(){ra=!0;va(t.init)});ua("onpageshow",function(){sa=!0;va(t.show)});ua(qa("Opera")||qa("iOS")?"onunload":"onbeforeunload",function(){va(t.exit)});
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Nb=b.comment;this.fc=b;b=this.id.indexOf(".");0>b?this.gb=this.id:(this.yb=this.id.substr(0,b),this.gb=this.id.substr(b+1));this[a]=c;this.i={ready:!1,Nc:!1,Oc:!1,N:!1,error:!1};this.ob=null;this.i.error=!1;this.A={};this.K=null;x.push(this)}var ya=void 0,za={};
if(window){ya||(ya=window.location.search.substr(1));for(var Aa,Ba=/\+/g,Ca=/([^&=]+)=?([^&]*)/g;Aa=Ca.exec(ya);)za[decodeURIComponent(Aa[1].replace(Ba," "))]=decodeURIComponent(Aa[2].replace(Ba," "))}function Da(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=Da(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ea=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Ea={},x=[];function Fa(a,b,c){Ea[a]&&b&&(Ea[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 Ga(a){if(void 0!==a){var b;for(b=0;b<x.length;b++)if(x[b].id===a)return x[b]}return null}function A(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 B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function C(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(" "),l=0;l<h.length;l++)switch(g=h[l],g){case "pdp11-binding":(g=B(e))&&g.binding&&a.X(g.type,g.binding,e,g.value),l=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}
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},X:function(a,b,c){switch(b){case "clear":return this.w[b]||(this.w[b]=c,c.onclick=function(a){return function(){a.w.print&&(a.w.print.value="")}}(this)),!0;case "print":return this.w[b]||(this.Ab=this.w[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.gb)}),!0;default:return!1}},log:function(){},V:function(){},status:function(a){this.V(this.gb+": "+a)},M:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},ka:function(){return this.h.N=!0},ja: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 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},X:function(a,b,c){switch(b){case "clear":return this.A[b]||(this.A[b]=c,c.onclick=function(a){return function(){a.A.print&&(a.A.print.value="")}}(this)),!0;case "print":return this.A[b]||(this.Ab=this.A[b]=c,c.value="",this.U=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.U(a,this.gb)}),!0;default:return!1}},log:function(){},U:function(){},status:function(a){this.U(this.gb+": "+a)},M:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},la:function(){return this.i.N=!0},ka:function(a,b){b&&(this.i.N=!1);return!0}};function E(a){if(!a.i.error&&(a.i.ready=!0,a.i.ready)){var b=a.ob;a.ob=null;b&&b()}}function Ha(a,b){b&&(a.i.ready?b():a.ob=b);return a.i.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);k=Ia.prototype;
k.X=function(a,b,c,d){return this.F&&this.F.X(a,b,c,d)||this.a&&this.a.X(a,b,c,d)?!0:this.parent.X.call(this,a,b,c,d)};k.va=function(a,b,c,d){this.F=a;this.D=b;this.a=c;this.K=d};k.ka=function(a,b){b||Ja();return!0};k.ja=function(){return!0};k.Sa=function(){};function Ja(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=B(d),e=Fa(f.id);e||(a=!0,e=new Ia(f));C(e,d);a&&E(e)}}u(Ja);
function Ka(a,b,c){v.call(this,"Bus",a,Ka);this.a=b;this.K=c;this.A=a.busWidth||16;this.s=Math.pow(2,this.A);this.l=this.s-1|0;this.c=(this.A>>1)+2;10>this.c&&(this.c=10);15<this.c&&(this.c=15);this.g=1<<this.c;this.F=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.Ya=this.I;a=new G;La(a,this.K);this.b=Array(this.m);for(b=0;b<this.m;b++)this.b[b]=a;this.Va=Array(4);this.Va[0]=Ma;this.Va[1]=Na;this.Va[2]=Oa;this.Va[3]=Pa;Qa(this,this.s-8192,8192,Ra,this);
Qa(this,57344,8192,Ra,this);E(this)}y(Ka);function Ma(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.Ya(b|4186112,-1,1)}
function Na(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.Ya(c|4186112,b,1)}function Oa(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.Ya(b|4186112,-1,0)}
function Pa(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.Ya(c|4186112,b,0)}Ka.prototype.reset=function(){this.u&&this.u()};Ka.prototype.I=function(){return 0};Ka.prototype.ka=function(a,b){b||this.reset();return!0};
function Qa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.c;0<g&&h<a.b.length;){var l=a.b[h],m=h*a.g,q=a.g-(e-m);q>g&&(q=g);if(l&&l.size){if(l.type==d&&l.controller==f){if(e+g<=l.Ua)return l.vb+=l.Ua-e,l.Ua=e,!0;if(e>=l.Ua+l.vb){q=l.size-(e-m);q>g&&(q=g);l.vb=e-l.Ua+q;e=m+a.g;g-=q;h++;continue}}return Sa(1,e,g)}e=new G(e,q,a.g,d,f);La(e,a.K,l);a.b[h++]=e;e=m+a.g;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ta[d]+" at "+n(b,8,!0)),!0):Sa(2,b,c)}function Ua(a,b){return a.b[(b&a.l)>>>a.c].$a(b&a.i,b)}
function Va(a,b,c){var d=b&a.i,f=(b&a.l)>>>a.c;d!=a.i?a.b[f].Jc(d,c&65535,b):(a.b[f++].Ta(d,c&255,b),a.b[f&a.H].Ta(0,c>>8&255,b+1))}function Wa(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,l=[];g<f.length;){for(var m=f[g],q=g+1;q<f.length&&f[q]===m;)q++;l[h++]=q-g;l[h++]=m;g=q}l.length<f.length&&(f=l)}c[e]=f}}return c}
function Xa(a,b,c){for(var 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,l=f[3]?f[3].bind(b):null,m=a,q=+d,f=f[4],w=+d;w<=q;w+=2){var F=w&8191;void 0!==m.pa[F]?r("I/O address already registered: "+n(w,8,!0)):m.pa[F]=[e,g,h,l,!1,f||"unknown"]}}function Ya(a,b,c){a.u=b;a.Ya=c}function Sa(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
function H(a){v.call(this,"Device",a,H);this.c={data:0,Mc:0,Oa:20,Cc:0};this.b={v:0,Hb:-1};this.g={bb:2496,P:0,C:128,cb:0,ab:0,W:0,Tb:0,T:[],Ja:[406,406,406,406],J:[12,12,12,12]};this.i={v:129,Xa:0,L:0,xa:0,qa:0,Ca:0,T:[],J:[40,40,40,40],Ja:[1024,1024,512,512],ac:[157,157,29,29]};this.l={a:[8210,8208,8210,8226],J:[22,22,22,50],Ia:[19,19,19,32],wb:[815,411,815,630],T:[],G:2176,Ra:0,Pa:0,ba:[0,0,0,0,0,0,0,0],aa:0,U:[4544,4544,4544,4544,4544,4544,4544,4544],Qa:[0,0,0,0,0,0,0,0],Na:0,zc:[0,0,0,0,0,0,
0,0],Ub:0,Vb:[0,0,0,0,0,0,0,0],w:[0,0,0,0,0,0,0,0],Ac:[1,2,3,4,5,6,7,8],Wb:[0,0,0,0,0,0,0,0],la:[0,0,0,0,0,0,0,0],ub:[0,0,0,0,0,0,0,0],xc:[0,0,0,0,0,0,0,0],yc:[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],Aa:0,Gb:0}}y(H);
var Za=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
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 Ia="undefined"!==typeof ArrayBuffer;function Ja(a){v.call(this,"Panel",a,Ja)}y(Ja);k=Ja.prototype;
k.X=function(a,b,c,d){return this.F&&this.F.X(a,b,c,d)||this.a&&this.a.X(a,b,c,d)?!0:this.parent.X.call(this,a,b,c,d)};k.wa=function(a,b,c,d){this.F=a;this.D=b;this.a=c;this.K=d};k.la=function(a,b){b||Ka();return!0};k.ka=function(){return!0};k.Sa=function(){};function Ka(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=B(d),e=Ga(f.id);e||(a=!0,e=new Ja(f));C(e,d);a&&E(e)}}u(Ka);
function La(a,b,c){v.call(this,"Bus",a,La);this.a=b;this.K=c;this.v=a.busWidth||16;this.o=Math.pow(2,this.v);this.j=this.o-1|0;this.c=(this.v>>1)+2;10>this.c&&(this.c=10);15<this.c&&(this.c=15);this.g=1<<this.c;this.F=this.g>>2;this.h=this.g-1;this.m=this.o/this.g|0;this.H=this.m-1;this.qa=[];this.s=null;this.Ya=this.I;a=new G;Ma(a,this.K);this.b=Array(this.m);for(b=0;b<this.m;b++)this.b[b]=a;this.Va=Array(4);this.Va[0]=Na;this.Va[1]=Oa;this.Va[2]=Pa;this.Va[3]=Qa;Ra(this,this.o-8192,8192,Sa,this);
Ra(this,57344,8192,Sa,this);E(this)}y(La);function Na(a,b){var c=-1,d=this.controller,f=d.qa[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.qa[a&-2])&&f[2]&&(c=f[2](b&-2)>>8);return 0<=c?c:c=d.Ya(b|4186112,-1,1)}
function Oa(a,b,c){var d=!1,f=this.controller,e=f.qa[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.qa[a&-2])&&e[3]&&(c&=-2,a=e[2]?e[2](c):0,e[3](a&255|b<<8,c),d=!0);d||f.Ya(c|4186112,b,1)}function Pa(a,b){var c=-1,d=this.controller;(a=d.qa[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));return 0<=c?c:c=d.Ya(b|4186112,-1,0)}
function Qa(a,b,c){var d=!1,f=this.controller;if(a=f.qa[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.Ya(c|4186112,b,0)}La.prototype.reset=function(){this.s&&this.s()};La.prototype.I=function(){return 0};La.prototype.la=function(a,b){b||this.reset();return!0};
function Ra(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.c;0<g&&h<a.b.length;){var l=a.b[h],m=h*a.g,q=a.g-(e-m);q>g&&(q=g);if(l&&l.size){if(l.type==d&&l.controller==f){if(e+g<=l.Ua)return l.vb+=l.Ua-e,l.Ua=e,!0;if(e>=l.Ua+l.vb){q=l.size-(e-m);q>g&&(q=g);l.vb=e-l.Ua+q;e=m+a.g;g-=q;h++;continue}}return Ta(1,e,g)}e=new G(e,q,a.g,d,f);Ma(e,a.K,l);a.b[h++]=e;e=m+a.g;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ua[d]+" at "+n(b,8,!0)),!0):Ta(2,b,c)}function Va(a,b){return a.b[(b&a.j)>>>a.c].$a(b&a.h,b)}
function Wa(a,b,c){var d=b&a.h,f=(b&a.j)>>>a.c;d!=a.h?a.b[f].Jc(d,c&65535,b):(a.b[f++].Ta(d,c&255,b),a.b[f&a.H].Ta(0,c>>8&255,b+1))}function Xa(a){for(var b=0,c=[],d=0;d<a.m;d++){var f=a.b[d];if(f.ua||f.cc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,l=[];g<f.length;){for(var m=f[g],q=g+1;q<f.length&&f[q]===m;)q++;l[h++]=q-g;l[h++]=m;g=q}l.length<f.length&&(f=l)}c[e]=f}}return c}
function Ya(a,b,c){for(var 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,l=f[3]?f[3].bind(b):null,m=a,q=+d,f=f[4],w=+d;w<=q;w+=2){var F=w&8191;void 0!==m.qa[F]?r("I/O address already registered: "+n(w,8,!0)):m.qa[F]=[e,g,h,l,!1,f||"unknown"]}}function Za(a,b,c){a.s=b;a.Ya=c}function Ta(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
function H(a){v.call(this,"Device",a,H);this.c={data:0,Mc:0,Oa:20,Cc:0};this.b={w:0,Hb:-1};this.g={bb:2496,P:0,C:128,cb:0,ab:0,W:0,Tb:0,T:[],Ja:[406,406,406,406],J:[12,12,12,12]};this.h={w:129,Xa:0,L:0,ya:0,ra:0,Ca:0,T:[],J:[40,40,40,40],Ja:[1024,1024,512,512],ac:[157,157,29,29]};this.j={a:[8210,8208,8210,8226],J:[22,22,22,50],Ia:[19,19,19,32],wb:[815,411,815,630],T:[],G:2176,Ra:0,Pa:0,ca:[0,0,0,0,0,0,0,0],ba:0,V:[4544,4544,4544,4544,4544,4544,4544,4544],Qa:[0,0,0,0,0,0,0,0],Na:0,zc:[0,0,0,0,0,0,
0,0],Ub:0,Vb:[0,0,0,0,0,0,0,0],A:[0,0,0,0,0,0,0,0],Ac:[1,2,3,4,5,6,7,8],Wb:[0,0,0,0,0,0,0,0],ma:[0,0,0,0,0,0,0,0],ub:[0,0,0,0,0,0,0,0],xc:[0,0,0,0,0,0,0,0],yc:[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],Ba:0,Gb:0}}y(H);
var $a=[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];k=H.prototype;k.va=function(a,b,c,d){this.D=b;this.a=c;this.K=d;var f=this;this.b.Hb=$a(this.a,function(){f.b.wa|=128;f.b.wa&64&&(I(f.a,0,6,64),ab(f.a,f.b.Hb))});Xa(b,this,bb);Ya(b,this.reset.bind(this),this.$b.bind(this));E(this)};k.kc=function(){var a=this.b.wa;this.b.wa&=-129;return a};
k.Ec=function(a){this.b.wa=a;a&64&&ab(this.a,this.b.Hb);this.b.wa=a&-129};k.lc=function(){var a=this.a;return a.I&62337|a.hb<<5|a.ib<<1};k.Fc=function(a){var b=4,c=this.a;c.I=a&=62337;c.hb=a>>5&3;c.ib=a>>1&15;c.pb=a&257?a&1?6:4:0;cb(c);a=c.I;a&1|256&&(b=this.a.La&16?1:2);this.c.Oa=this.c.Oa&-8|b};k.mc=function(){return db(this.a)};k.Gc=function(a){eb(this.a,a&-1809|db(this.a)&1808);this.a.j|=128};
function fb(a){var b=a.g,c,d,f,e=b.W>>13&7;"undefined"===typeof b.T[e]&&(b.T[e]={cache:[],postProcess:a.sc,drive:e,blocksize:256,mapped:0,maxblock:b.Ja[e]*b.J[e],url:"rk"+e+".dsk"});b.C&=-129;switch(b.C>>1&7){case 0:b.bb=2496;b.P=0;b.C=128;b.W=0;break;case 1:if((b.W>>4&511)>=b.Ja[e]){b.P|=32832;b.C|=49152;break}if((b.W&15)>=b.J[e]){b.P|=32800;b.C|=49152;break}c=(b.W>>4&511)*b.J[e]+(b.W&15);d=(b.C&48)<<12|b.ab;f=65536-b.cb&65535;gb(a,b.T[e],c,d,f);return;case 2:if((b.W>>4&511)>=b.Ja[e])b.P|=32832,
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];k=H.prototype;k.wa=function(a,b,c,d){this.D=b;this.a=c;this.K=d;var f=this;this.b.Hb=ab(this.a,function(){f.b.xa|=128;f.b.xa&64&&(I(f.a,0,6,64),bb(f.a,f.b.Hb))});Ya(b,this,cb);Za(b,this.reset.bind(this),this.$b.bind(this));E(this)};k.kc=function(){var a=this.b.xa;this.b.xa&=-129;return a};
k.Ec=function(a){this.b.xa=a;a&64&&bb(this.a,this.b.Hb);this.b.xa=a&-129};k.lc=function(){var a=this.a;return a.I&62337|a.hb<<5|a.ib<<1};k.Fc=function(a){var b=4,c=this.a;c.I=a&=62337;c.hb=a>>5&3;c.ib=a>>1&15;c.pb=a&257?a&1?6:4:0;db(c);a=c.I;a&1|256&&(b=this.a.La&16?1:2);this.c.Oa=this.c.Oa&-8|b};k.mc=function(){return eb(this.a)};k.Gc=function(a){fb(this.a,a&-1809|eb(this.a)&1808);this.a.l|=128};
function gb(a){var b=a.g,c,d,f,e=b.W>>13&7;"undefined"===typeof b.T[e]&&(b.T[e]={cache:[],postProcess:a.sc,drive:e,blocksize:256,mapped:0,maxblock:b.Ja[e]*b.J[e],url:"rk"+e+".dsk"});b.C&=-129;switch(b.C>>1&7){case 0:b.bb=2496;b.P=0;b.C=128;b.W=0;break;case 1:if((b.W>>4&511)>=b.Ja[e]){b.P|=32832;b.C|=49152;break}if((b.W&15)>=b.J[e]){b.P|=32800;b.C|=49152;break}c=(b.W>>4&511)*b.J[e]+(b.W&15);d=(b.C&48)<<12|b.ab;f=65536-b.cb&65535;hb(a,b.T[e],c,d,f);return;case 2:if((b.W>>4&511)>=b.Ja[e])b.P|=32832,
b.C|=49152;else if((b.W&15)>=b.J[e])b.P|=32800,b.C|=49152;else{c=(b.W>>4&511)*b.J[e]+(b.W&15);d=(b.C&48)<<12|b.ab;f=65536-b.cb&65535;a.sb(b.T[e],c,d,f);return}}b.bb=e<<13|b.bb&8176|b.W%9&15;I(a.a,20,5,144,function(){b.C=b.C&65534|128;return!!(b.C&64)})}k.sc=function(a,b,c,d,f){var e=this.g;e.ab=d&65535;e.C=e.C&-49|d>>12&48;e.cb=65536-f&65535;switch(a){case 1:e.P|=33024;e.C|=49152;break;case 2:e.P|=33792,e.C|=49152}I(this.a,20,5,144,function(){e.C=e.C&65534|128;return!!(e.C&64)})};
function hb(a){var b=a.i,c,d,f,e=b.v>>8&3;b.v&=-2;"undefined"===typeof b.T[e]&&(b.T[e]={cache:[],postProcess:a.tc,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.xa&8&&(b.v&=63);b.xa=b.ac[e]|b.Ca&64;break;case 3:1==(b.L&3)&&(b.Ca=b.L&4?b.Ca+(b.L&65408)&65408|b.L<<2&64:b.Ca-(b.L&65408)&65408|b.L<<2&64,b.L=b.Ca);break;case 4:b.xa=b.Ca;break;case 5:if(b.L>>6>=b.Ja[e]){b.v|=37888;break}if((b.L&63)>=b.J[e]){b.v|=37888;break}c=(b.L>>6)*b.J[e]+(b.L&63);
d=(b.qa&63)<<16|b.Xa;f=65536-b.xa&65535;gb(a,b.T[e],c,d,f);return;case 6:if(b.L>>6>=b.Ja[e])b.v|=37888;else if((b.L&63)>=b.J[e])b.v|=37888;else{c=(b.L>>6)*b.J[e]+(b.L&63);d=(b.qa&63)<<16|b.Xa;f=65536-b.xa&65535;a.sb(b.T[e],c,d,f);return}}I(a.a,20,5,112,function(){b.v|=129;return!!(b.v&64)})}
k.tc=function(a,b,c,d,f){var e=this.i;e.Xa=d&65535;e.v=e.v&-49|d>>12&48;e.qa=d>>16&63;e.L=~~(c/e.J[b.ia])<<6|c%e.J[b.ia];e.Ca=e.L;e.xa=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 ib(a){a=a.l;a.G=2176;a.aa=0;a.U=[4544,4544,4544,4544,4544,4544,4544,4544];a.Qa=[0,0,0,0,0,0,0,0];a.Na=a.Ra=a.Pa=a.Aa=a.Gb=0}
function jb(a,b){var c=a.l,d,f,e;c.G&=-16513;c.aa&=-2049;c.U[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.T[b]&&(c.T[b]={cache:[],postProcess:a.uc,drive:b,blocksize:256,mapped:0,maxblock:c.wb[0]*c.Ia[0]*c.J[0],url:"rp"+b+".dsk"});switch(c.G&63){case 5:c.ub[b]=c.la[b];c.G|=32896;c.U[b]|=32896;c.Na|=1<<b;break;case 9:ib(a);break;case 19:c.U[b]|=64;break;case 49:if(c.la[b]>=c.wb[0]||c.ba[b]>>8>=c.Ia[0]||(c.ba[b]&255)>=c.J[0]){c.Qa[b]|=1024;c.G|=49152;break}d=(c.la[b]*c.Ia[0]+(c.ba[b]>>8))*c.J[0]+
(c.ba[b]&255);f=(c.Aa&63)<<16|c.Pa;e=65536-c.Ra&65535;gb(a,c.T[b],d,f,e);return;case 57:if(c.la[b]>=c.wb[0]||c.ba[b]>>8>=c.Ia[0]||(c.ba[b]&255)>=c.J[0])c.Qa[b]|=1024,c.G|=49152;else{d=(c.la[b]*c.Ia[0]+(c.ba[b]>>8))*c.J[0]+(c.ba[b]&255);f=(c.Aa&63)<<16|c.Pa;e=65536-c.Ra&65535;a.sb(c.T[b],d,f,e);return}}I(a.a,3,5,172,function(){c.G=c.G&65534|128;c.U[b]|=128;return!!(c.G&64)})}
k.uc=function(a,b,c,d,f){var e=this.l;e.Ra=65536-f&65535;e.Pa=d&65535;e.G=e.G&-769|d>>8&768;e.Aa=d>>16&63;f=~~(c/e.J[0]);d=~~(f/e.Ia[0]);e.ba[b.ia]=f%e.Ia[0]<<8|c%e.J[0];e.ub[b.ia]=e.la[b.ia]=d;e.Na|=1<<b.ia;c>=b.ic-1&&(e.U[b.ia]|=1024);switch(a){case 1:e.aa|=512;e.G|=49152;break;case 2:e.aa|=2048,e.G|=49152}I(this.a,20,5,172,function(){e.U[b.ia]|=128;e.G=e.G&65534|128;return!!(e.G&64)})};
function kb(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,F;m=h.response;if(h.status&&206!=h.status||!m)c.Db(1,c,d,f,e);else{m=new Uint8Array(m);q=d;for(F=0;F<m.length;){if("undefined"===typeof c.cache[q])for(c.cache[q]=[],w=0;w<c.ra;w++)c.cache[q][w]=F<m.length?
m[F]&255|m[F+1]<<8&65280:0,F+=2;else F+=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}k.sb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){kb(this,this.sb,a,b,c,d);return}for(f=0;f<a.ra&&0<d;f++){var e=a.hc?lb(this.a,c):c;Va(this.a.D,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Db(0,a,b,c,d)};
function gb(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=mb(a.a,b.hc?lb(a.a,d):d);if(0>g){b.Db(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Db(0,b,c,d,f)}k.reset=function(){this.c.Oa=this.c.Oa&-120|20;this.b.wa=0;this.g.C=128;this.i.v=128;ib(this)};
k.$b=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.za&65280:(a&1&&(b<<=8),e.za=b|255,d=0);break;case 4194298:if(0>b)d=e.Fb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Fb=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.B>>14&1?(0<=b&&(e.f[6]=b),d=e.f[6]):(0<=b&&(e.ca[3]=b),d=e.ca[3]):e.B>>14&0?(0<=b&&(e.f[6]=b),d=e.f[6]):(0<=b&&(e.ca[1]=b),d=e.ca[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.B&2048?(0<=b&&(e.f[f]=b),d=e.f[f]):(0<=b&&(e.Ma[f]=b),d=e.Ma[f]),d;case 4194246:return a&
1?(0<=b&&(e.f[7]=b),d=e.f[7]):e.B>>14&0?(0<=b&&(e.f[6]=b),d=e.f[6]):(0<=b&&(e.ca[0]=b),d=e.ca[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.B&2048?(0<=b&&(e.Ma[f]=b),d=e.Ma[f]):(0<=b&&(e.f[f]=b),d=e.f[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:switch(a&-2){case 4194174:d=J(this,e.tb,a,b,c);0<=d&&(e.tb=d);break;case 4194172:d=e.ya;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>
b?d=this.c.Cc&65535:(d=J(this,this.c.data,a,b,c),0<=d&&(this.c.data=d));break;default:return e.o|=16,K(e,4)}break;case 4194048:f=this.g;switch(a&-2){case 4194048:d=J(this,f.bb,a,b,c);0<=d&&(f.bb=d);break;case 4194050:d=J(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=J(this,f.C,a,b,c);0<=b&&0<=d&&(f.C=d&-36993|f.C&36992,f.C&1&&fb(this));break;case 4194054:d=J(this,f.cb,a,b,c);0<=d&&(f.cb=d);break;case 4194056:d=J(this,f.ab,a,b,c);0<=d&&(f.ab=d);break;case 4194058:d=J(this,f.W,a,b,c);0<=d&&(f.W=
d);break;case 4194060:break;case 4194062:d=J(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;default:return e.o|=16,K(e,4)}break;case 4193728:var g=this.l;f=g.aa&7;switch(a&-2){case 4193728:d=J(this,g.G,a,b,c);0<=b&&0<=d&&(g.Aa=g.Aa&60|d>>8&3,g.G=d&17279|g.G&34944|2048,d&1&&g.G&128?jb(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,g.Ra,a,b,c);0<=d&&(g.Ra=d);break;case 4193732:d=J(this,g.Pa,a,b,c);0<=d&&(g.Pa=d&65534);break;case 4193734:d=J(this,g.ba[f],a,b,c);0<=d&&(g.ba[f]=d&7967);break;case 4193736:d=
J(this,g.aa,a,b,c);0<=d&&(g.aa=d&63|g.aa&65472,d&128&&ib(this));break;case 4193738:d=g.U[f];break;case 4193740:d=g.Qa[f];break;case 4193742:d=J(this,g.Na,a,b,c);0<=d&&(g.Na=d&255);break;case 4193744:d=g.zc[f];break;case 4193746:d=J(this,g.Ub,a,b,c);0<=d&&(g.Ub=d);break;case 4193748:d=J(this,g.Vb[f],a,b,c);0<=d&&(g.Vb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=g.Ac[f];break;case 4193754:d=J(this,g.Wb[f],a,b,c);0<=d&&(g.Wb[f]=d);break;case 4193756:d=J(this,g.la[f],a,b,c);0<=d&&(g.la[f]=
d&511);break;case 4193758:g.ub[f]=g.la[f];d=g.ub[f];break;case 4193760:d=g.xc[f];break;case 4193762:d=g.yc[f];break;case 4193764:d=g.vc[f];break;case 4193766:d=g.wc[f];break;case 4193768:d=J(this,g.Aa,a,b,c);0<=d&&(g.Aa=d&63,g.G=g.G&-769|(d&3)<<8);break;case 4193770:d=J(this,g.Gb,a,b,c);0<=d&&(g.Gb=d);break;default:return e.o|=16,K(e,4)}break;case 4192512:f=this.i;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||hb(this));break;case 4192514:d=
J(this,f.Xa,a,b,c);0<=d&&(f.Xa=d&65534);break;case 4192516:d=J(this,f.L,a,b,c);0<=d&&(f.L=d);break;case 4192518:d=J(this,f.xa,a,b,c);0<=d&&(f.xa=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.La:(d=J(this,e.La,a,b,c),0<=d&&(70!==e.Ka&&(d&=-49),e.La=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.La&16&&(f=1),this.c.Oa=this.c.Oa&-8|f)));break;default:return e.o|=
function ib(a){var b=a.h,c,d,f,e=b.w>>8&3;b.w&=-2;"undefined"===typeof b.T[e]&&(b.T[e]={cache:[],postProcess:a.tc,drive:e,blocksize:128,mapped:1,maxblock:b.Ja[e]*b.J[e],url:"rl"+e+".dsk"});switch(b.w>>1&7){case 2:b.ya&8&&(b.w&=63);b.ya=b.ac[e]|b.Ca&64;break;case 3:1==(b.L&3)&&(b.Ca=b.L&4?b.Ca+(b.L&65408)&65408|b.L<<2&64:b.Ca-(b.L&65408)&65408|b.L<<2&64,b.L=b.Ca);break;case 4:b.ya=b.Ca;break;case 5:if(b.L>>6>=b.Ja[e]){b.w|=37888;break}if((b.L&63)>=b.J[e]){b.w|=37888;break}c=(b.L>>6)*b.J[e]+(b.L&63);
d=(b.ra&63)<<16|b.Xa;f=65536-b.ya&65535;hb(a,b.T[e],c,d,f);return;case 6:if(b.L>>6>=b.Ja[e])b.w|=37888;else if((b.L&63)>=b.J[e])b.w|=37888;else{c=(b.L>>6)*b.J[e]+(b.L&63);d=(b.ra&63)<<16|b.Xa;f=65536-b.ya&65535;a.sb(b.T[e],c,d,f);return}}I(a.a,20,5,112,function(){b.w|=129;return!!(b.w&64)})}
k.tc=function(a,b,c,d,f){var e=this.h;e.Xa=d&65535;e.w=e.w&-49|d>>12&48;e.ra=d>>16&63;e.L=~~(c/e.J[b.ja])<<6|c%e.J[b.ja];e.Ca=e.L;e.ya=65536-f&65535;switch(a){case 1:e.w|=33792;break;case 2:e.w|=40960}I(this.a,20,5,112,function(){e.w|=129;return!!(e.w&64)})};function jb(a){a=a.j;a.G=2176;a.ba=0;a.V=[4544,4544,4544,4544,4544,4544,4544,4544];a.Qa=[0,0,0,0,0,0,0,0];a.Na=a.Ra=a.Pa=a.Ba=a.Gb=0}
function kb(a,b){var c=a.j,d,f,e;c.G&=-16513;c.ba&=-2049;c.V[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.T[b]&&(c.T[b]={cache:[],postProcess:a.uc,drive:b,blocksize:256,mapped:0,maxblock:c.wb[0]*c.Ia[0]*c.J[0],url:"rp"+b+".dsk"});switch(c.G&63){case 5:c.ub[b]=c.ma[b];c.G|=32896;c.V[b]|=32896;c.Na|=1<<b;break;case 9:jb(a);break;case 19:c.V[b]|=64;break;case 49:if(c.ma[b]>=c.wb[0]||c.ca[b]>>8>=c.Ia[0]||(c.ca[b]&255)>=c.J[0]){c.Qa[b]|=1024;c.G|=49152;break}d=(c.ma[b]*c.Ia[0]+(c.ca[b]>>8))*c.J[0]+
(c.ca[b]&255);f=(c.Ba&63)<<16|c.Pa;e=65536-c.Ra&65535;hb(a,c.T[b],d,f,e);return;case 57:if(c.ma[b]>=c.wb[0]||c.ca[b]>>8>=c.Ia[0]||(c.ca[b]&255)>=c.J[0])c.Qa[b]|=1024,c.G|=49152;else{d=(c.ma[b]*c.Ia[0]+(c.ca[b]>>8))*c.J[0]+(c.ca[b]&255);f=(c.Ba&63)<<16|c.Pa;e=65536-c.Ra&65535;a.sb(c.T[b],d,f,e);return}}I(a.a,3,5,172,function(){c.G=c.G&65534|128;c.V[b]|=128;return!!(c.G&64)})}
k.uc=function(a,b,c,d,f){var e=this.j;e.Ra=65536-f&65535;e.Pa=d&65535;e.G=e.G&-769|d>>8&768;e.Ba=d>>16&63;f=~~(c/e.J[0]);d=~~(f/e.Ia[0]);e.ca[b.ja]=f%e.Ia[0]<<8|c%e.J[0];e.ub[b.ja]=e.ma[b.ja]=d;e.Na|=1<<b.ja;c>=b.ic-1&&(e.V[b.ja]|=1024);switch(a){case 1:e.ba|=512;e.G|=49152;break;case 2:e.ba|=2048,e.G|=49152}I(this.a,20,5,172,function(){e.V[b.ja]|=128;e.G=e.G&65534|128;return!!(e.G&64)})};
function lb(a,b,c,d,f,e){var g=~~((e+c.sa-1)/c.sa),h=new XMLHttpRequest;2048>g&&d+2048<c.ic&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.sa<<1)+"-"+(((d+g)*c.sa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,q,w,F;m=h.response;if(h.status&&206!=h.status||!m)c.Db(1,c,d,f,e);else{m=new Uint8Array(m);q=d;for(F=0;F<m.length;){if("undefined"===typeof c.cache[q])for(c.cache[q]=[],w=0;w<c.sa;w++)c.cache[q][w]=F<m.length?
m[F]&255|m[F+1]<<8&65280:0,F+=2;else F+=c.sa<<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}k.sb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){lb(this,this.sb,a,b,c,d);return}for(f=0;f<a.sa&&0<d;f++){var e=a.hc?mb(this.a,c):c;Wa(this.a.D,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Db(0,a,b,c,d)};
function hb(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.sa;e++)b.cache[c][e]=0;for(e=0;e<b.sa&&0<f;e++){g=nb(a.a,b.hc?mb(a.a,d):d);if(0>g){b.Db(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Db(0,b,c,d,f)}k.reset=function(){this.c.Oa=this.c.Oa&-120|20;this.b.xa=0;this.g.C=128;this.h.w=128;jb(this)};
k.$b=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.Fb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Fb=d;e.l|=2}break;case 4194294:if(70!==e.Ka)return K(e,4);0>b?d=e.u:d=e.u=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.B>>14&1?(0<=b&&(e.f[6]=b),d=e.f[6]):(0<=b&&(e.da[3]=b),d=e.da[3]):e.B>>14&0?(0<=b&&(e.f[6]=b),d=e.f[6]):(0<=b&&(e.da[1]=b),d=e.da[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.B&2048?(0<=b&&(e.f[f]=b),d=e.f[f]):(0<=b&&(e.Ma[f]=b),d=e.Ma[f]),d;case 4194246:return a&
1?(0<=b&&(e.f[7]=b),d=e.f[7]):e.B>>14&0?(0<=b&&(e.f[6]=b),d=e.f[6]):(0<=b&&(e.da[0]=b),d=e.da[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.B&2048?(0<=b&&(e.Ma[f]=b),d=e.Ma[f]):(0<=b&&(e.f[f]=b),d=e.f[f]),d;default:return e.u|=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:switch(a&-2){case 4194174:d=J(this,e.tb,a,b,c);0<=d&&(e.tb=d);break;case 4194172:d=e.za;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>
b?d=this.c.Cc&65535:(d=J(this,this.c.data,a,b,c),0<=d&&(this.c.data=d));break;default:return e.u|=16,K(e,4)}break;case 4194048:f=this.g;switch(a&-2){case 4194048:d=J(this,f.bb,a,b,c);0<=d&&(f.bb=d);break;case 4194050:d=J(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=J(this,f.C,a,b,c);0<=b&&0<=d&&(f.C=d&-36993|f.C&36992,f.C&1&&gb(this));break;case 4194054:d=J(this,f.cb,a,b,c);0<=d&&(f.cb=d);break;case 4194056:d=J(this,f.ab,a,b,c);0<=d&&(f.ab=d);break;case 4194058:d=J(this,f.W,a,b,c);0<=d&&(f.W=
d);break;case 4194060:break;case 4194062:d=J(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;default:return e.u|=16,K(e,4)}break;case 4193728:var g=this.j;f=g.ba&7;switch(a&-2){case 4193728:d=J(this,g.G,a,b,c);0<=b&&0<=d&&(g.Ba=g.Ba&60|d>>8&3,g.G=d&17279|g.G&34944|2048,d&1&&g.G&128?kb(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,g.Ra,a,b,c);0<=d&&(g.Ra=d);break;case 4193732:d=J(this,g.Pa,a,b,c);0<=d&&(g.Pa=d&65534);break;case 4193734:d=J(this,g.ca[f],a,b,c);0<=d&&(g.ca[f]=d&7967);break;case 4193736:d=
J(this,g.ba,a,b,c);0<=d&&(g.ba=d&63|g.ba&65472,d&128&&jb(this));break;case 4193738:d=g.V[f];break;case 4193740:d=g.Qa[f];break;case 4193742:d=J(this,g.Na,a,b,c);0<=d&&(g.Na=d&255);break;case 4193744:d=g.zc[f];break;case 4193746:d=J(this,g.Ub,a,b,c);0<=d&&(g.Ub=d);break;case 4193748:d=J(this,g.Vb[f],a,b,c);0<=d&&(g.Vb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=g.Ac[f];break;case 4193754:d=J(this,g.Wb[f],a,b,c);0<=d&&(g.Wb[f]=d);break;case 4193756:d=J(this,g.ma[f],a,b,c);0<=d&&(g.ma[f]=
d&511);break;case 4193758:g.ub[f]=g.ma[f];d=g.ub[f];break;case 4193760:d=g.xc[f];break;case 4193762:d=g.yc[f];break;case 4193764:d=g.vc[f];break;case 4193766:d=g.wc[f];break;case 4193768:d=J(this,g.Ba,a,b,c);0<=d&&(g.Ba=d&63,g.G=g.G&-769|(d&3)<<8);break;case 4193770:d=J(this,g.Gb,a,b,c);0<=d&&(g.Gb=d);break;default:return e.u|=16,K(e,4)}break;case 4192512:f=this.h;switch(a&-2){case 4192512:d=J(this,f.w,a,b,c);0<=b&&0<=d&&(f.ra=f.ra&60|d>>4&3,f.w=f.w&-1023|d&1022,f.w&128||ib(this));break;case 4192514:d=
J(this,f.Xa,a,b,c);0<=d&&(f.Xa=d&65534);break;case 4192516:d=J(this,f.L,a,b,c);0<=d&&(f.L=d);break;case 4192518:d=J(this,f.ya,a,b,c);0<=d&&(f.ya=d);break;case 4192520:d=J(this,f.ra,a,b,c);0<=d&&(f.ra=d&63,f.w=f.w&-49|(f.ra&3)<<4);break;default:return e.u|=16,K(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.La:(d=J(this,e.La,a,b,c),0<=d&&(70!==e.Ka&&(d&=-49),e.La=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.La&16&&(f=1),this.c.Oa=this.c.Oa&-8|f)));break;default:return e.u|=
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.eb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=J(this,d,a,b,c),0<=d&&(e.eb[f]=a&2?d<<16|e.eb[f]&65535:e.eb[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 nb={},bb=(nb[65382]=[null,null,H.prototype.kc,H.prototype.Ec,"LKS"],nb[65402]=[null,null,H.prototype.lc,H.prototype.Fc,"MMR0"],nb[65534]=[null,null,H.prototype.mc,H.prototype.Gc,"PSW"],nb);u(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new H(d);C(d,c)}});var ob;
if(Ha){var pb=new ArrayBuffer(2);(new DataView(pb)).setUint16(0,256,!0);ob=256===(new Uint16Array(pb))[0]}else ob=!1;var qb=ob;
function G(a,b,c,d,f){this.id=rb+=2;this.a=null;this.Ua=a;this.vb=b;this.size=c||0;this.type=d||sb;this.w=d==tb;this.controller=null;La(this);this.ta=this.cc=!1;if(c)if(f)this.controller=f,this.a=null,ub(this,f.Va);else if(Ha)this.c=new ArrayBuffer(c),this.g=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.m=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),ub(this,qb?vb:wb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;ub(this,xb)}else ub(this)}
var sb=0,tb=2,Ra=4,Ta=["NONE","RAM","ROM","VID","H/W"],rb=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},A:function(){},u:function(a,b){return this.$a(a++,b++)|this.$a(a,b)<<8},F:function(a,b,c){this.Ta(a++,
b&255,c++);this.Ta(a,b>>8,c)},Y:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ga: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)},da:function(a,b){return this.ea(a,
b)},ma:function(a,b,c){this.w||this.Zb(a,b,c)},Ea:function(a,b,c){this.w||this.Fa(a,b,c)},H:function(a){return this.b[a]},S:function(a){return this.b[a]},Z:function(a){return this.g.getUint16(a,!0)},fa:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.m[a>>1]},ha: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 La(a,b,c){a.K=b;a.i=a.l=0;c&&((a.i=c.i)&&yb(a,zb,!1),(a.l=c.l)&&Ab(a,zb,!1))}function Ab(a,b,c){c&&a.l||(a.Ta=!a.w&&b[1]||a.A,a.Jc=!a.w&&b[3]||a.F);if(c||void 0===c)a.Zb=b[1]||a.A,a.Fa=b[3]||a.F}function yb(a,b,c){c&&a.i||(a.$a=b[0]||a.s,a.pc=b[2]||a.u);if(c||void 0===c)a.R=b[0]||a.s,a.ea=b[2]||a.u}function ub(a,b){b||(b=Bb);yb(a,b,void 0);Ab(a,b,void 0)}var Bb=[],xb=[G.prototype.Y,G.prototype.oa,G.prototype.ga,G.prototype.Ha],zb=[G.prototype.I,G.prototype.ma,G.prototype.da,G.prototype.Ea];
if(Ha)var wb=[G.prototype.H,G.prototype.ha,G.prototype.Z,G.prototype.Da],vb=[G.prototype.S,G.prototype.na,G.prototype.fa,G.prototype.Ga];function Cb(a,b){v.call(this,"CPU",a,Cb);var c=a.multiplier||1;this.mb=a.cycles||b;this.ga=c;this.zb=Math.round(this.mb/1E4)/100;this.ma=this.zb*this.ga;this.h.$=!1;this.h.Xb=!1;this.h.Wa=a.autoStart;this.h.Jb=!1;this.h.nb=!1;this.kb=this.na=0;this.lb=a.csStart;this.Ea=a.csInterval;this.Fa=a.csStop;this.R=[];this.Sb=this.Bc.bind(this);E(this)}y(Cb);
var Db=["power","reset"];k=Cb.prototype;k.va=function(a,b,c,d){this.F=a;this.D=b;this.K=d;for(b=0;b<Db.length;b++)(c=this.w[Db[b]])&&this.F.X(null,Db[b],c);this.Da=null;a=Eb(a,"autoStart");null!=a&&(this.h.Wa="true"==a?!0:"false"==a?!1:!!a);E(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ka=function(a,b){if(!b){if(a&&this.restore){Fb(this);if(!this.restore(a))return!1;Gb(this)}else this.reset();this.V("No debugger detected")}Hb(this);return!0};
k.ja=function(a){return a?this.save():!0};k.Wa=function(){return this.h.Wa||void 0===this.w.run?(Ib(this),!0):!1};k.Ob=function(){return 0};function Gb(a){void 0===a.lb&&(a.lb=0);void 0===a.Ea&&(a.Ea=-1);void 0===a.Fa&&(a.Fa=-1);a.h.nb=0<=a.lb&&0<a.Ea;a.h.nb&&(a.kb=0,a.na=a.lb-a.ha)}
function Jb(a,b,c,d){if(a.w[b]){void 0===c&&(a.h.error=!0,a.M("Value for "+b+" is invalid"),Kb(a));var f=a.K&&a.K.b||8;if(!a.h.$||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.w[b].textContent!=d&&(a.w[b].textContent=d)}}
k.X=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.w[b]=c;a=!0;break;case "run":this.w[b]=c;c.onclick=function(){var a;if(a=d.F)if(a=d.F,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.$?Kb(d):Ib(d))};a=!0;break;
case "speed":this.w[b]=c;a=!0;break;case "setSpeed":this.w[b]=c,c.onclick=function(){Lb(d,d.ga<<1)},c.textContent=this.ma.toFixed(2)+"Mhz",a=!0}return a};function Mb(a,b,c){a.ha+=b;c&&(a.S=a.a=0)}function Nb(a,b){var c=1;b&&1<a.ga&&a.ea&&(c=a.ea/a.zb);a.Pb=Math.round(1E3/30);a.fb=Math.floor(a.mb/30*c);b||(a.Ga=a.fb);a.Cb=0}function Ob(a){return a.ha+a.Z+a.S-a.a}function Fb(a){a.ea=0;a.Qb=0;a.ha=a.Z=a.S=a.a=0;Gb(a);Lb(a,1)}
function Lb(a,b){if(void 0!==b&&(.8>a.ea/a.ma&&(b=1),a.ga=b,b=a.zb*a.ga,a.ma!=b)){a.ma=b;b=a.ma.toFixed(2)+"Mhz";var c=a.w.setSpeed;c&&(c.textContent=b);a.V("target speed: "+b)}Mb(a,a.Z);a.Z=0;a.Y=ia();a.fa=0;Nb(a)}function $a(a,b){var c=a.R.length;a.R.push([-1,b]);return c}function ab(a,b){var c;0<=b&&b<a.R.length&&0>a.R[b][0]&&(c=a.mb*a.ga/1E3*(1E3/60),a.R[b][0]=c)}
k.Bc=function(){if(this.h.$){this.Cb>=this.mb&&Nb(this,!0);this.Ha=0;this.jb=ia();if(this.fa){var a=this.jb-this.fa;a>this.Pb&&(this.Y+=a,this.Y>this.jb&&(this.Y=this.jb))}try{do{for(var b,c=this.h.nb?1:this.fb,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.Yb(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.Z+=e;Mb(this,0,!0);a=e;if(this.h.nb){var l=
!1;this.kb=this.kb+this.Ob()|0;this.na-=a;0>=this.na&&(this.na+=this.Ea,l=!0);0<=this.Fa&&this.Fa<=Ob(this)&&(this.Ea=this.Fa=-1,Gb(this),Kb(this),l=!0);l&&this.V(Ob(this)+" cycles: checksum="+n(this.kb))}this.Ga-=e;if(0>=this.Ga){this.Ga+=this.fb;15<=++this.Qb&&(this.F&&this.F.Sa(),this.Qb=0);break}}while(this.h.$)}catch(m){Kb(this);Hb(this);this.F&&this.F.stop(ia(),Ob(this));b=m.stack||m.message;this.h.error=!0;this.M(b);return}if(this.h.$){b=setTimeout;c=this.Sb;this.fa=ia();d=this.Pb;this.Ha&&
(d=Math.round(d*this.Ha/this.fb));d-=this.fa-this.jb;if(f=this.fa-this.Y)this.ea=Math.round(this.Z/(10*f))/100,864E5<=f&&(this.ha=0,Lb(this));if(0>d||this.ea<this.ma)-1E3>d&&(this.Y-=d),d=0;this.Cb+=this.Ha;this.fa+=d;b(c,d)}}};function Ib(a){var b;a.h.error?(a.V(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.$)a.V(a.toString()+" busy");else{Lb(a);a.h.$=!0;a.h.Xb=!0;a.Da&&a.Da.start();if(b=a.w.run)b.textContent="Halt";a.F&&a.F.start(a.Y,Ob(a));Hb(a,!0);setTimeout(a.Sb,0)}}k.Yb=function(){return 0};
function Kb(a){if(a.h.$){a.S-=a.a;a.a=0;Mb(a,a.Z);a.Z=0;a.h.$=!1;a.Da&&a.Da.stop();var b=a.w.run;b&&(b.textContent="Run");a.F&&a.F.stop(ia(),Ob(a));Hb(a)}a.h.complete=void 0}function Hb(a,b){a.F&&a.F.Sa(b)}
function Pb(a){this.gc=a.resetAddr||0;Cb.call(this,a,6666667);this.Mb=0;this.decode=Qb.bind(this);this.m=65536;this.g=32768;this.i=65535;this.u=32768;this.B=15;this.f=[0,0,0,0,0,0,0,this.gc];this.Ma=[0,0,0,0,0,0];this.ca=[0,0,0,0];this.ib=this.H=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.eb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.c=this.xb=this.j=0;this.Ka=70;this.oa=-1;Rb(this);this.h.complete=this.h.bc=!1}y(Pb,Cb);k=Pb.prototype;k.reset=function(){this.h.$&&Kb(this);Rb(this);Fb(this);this.h.error=!1;this.parent.reset.call(this)};
function Rb(a){a.za=255;a.o=0;a.Fb=0;a.I=0;a.ya=0;a.tb=0;a.La=0;a.pb=0;a.hb=0;a.qb=[7,7,7,7];a.A=[];a.j|=2;cb(a)}function cb(a){a.pb?(a.Lb=65536,a.da=a.ec):(a.Lb=0,a.da=a.dc)}k.Ob=function(){return 0};k.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.ha,this.ga]);a.set(2,Wa(this.D));return a.data()};
k.restore=function(a){var b=a[1];this.ha=b[1];Lb(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.F){for(var e=0,g=Array(b.F),h=0;h<f.length-1;)for(var l=f[h++],m=f[h++];l--;)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};
k.X=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.w[b]=c;this.Mb++;a=!0;break;default:a=this.parent.X.call(this,a,b,c)}return a};
k.Sa=function(a){if(this.Mb&&(a||!this.h.$||this.h.Jb)){for(a=0;a<this.f.length;a++)Jb(this,"R"+a,this.f[a]);a=db(this);Jb(this,"PS",a);Jb(this,"NF",a&8?1:0,1);Jb(this,"ZF",a&4?1:0,1);Jb(this,"VF",a&2?1:0,1);Jb(this,"CF",a&1?1:0,1)}if(a=this.w.speed)a.textContent=this.h.$&&this.ea?this.ea.toFixed(2)+"Mhz":"Stopped"};function M(a){return a.m&65536?1:0}k.ua=function(){return this.u&32768?8:0};function Sb(a){var b=N(a,a.f[7]);a.f[7]=a.f[7]+2&65535;return b}
function I(a,b,c,d,f){for(var e=a.A.length;0<e--;)if(a.A[e].Dc===d){0<e&&(a.A[e-1].sa+=a.A[e].sa);a.A.splice(e,1);break}if(0<=b){for(e=a.A.length;0<e--;){if(a.A[e].sa>b){a.A[e].sa-=b;break}b-=a.A[e].sa}a.A.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.j|=2}function db(a){return a.B=a.B&63728|a.ua()|(a.i&65535?0:4)|(a.g&32768?2:0)|M(a)}
function eb(a,b){a.u=b<<12;a.i=~b&4;a.g=b<<14;a.m=b<<16;if((b^a.B)&2048)for(var c=a.Ma.length;0<=--c;){var d=a.f[c];a.f[c]=a.Ma[c];a.Ma[c]=d}a.H=b>>14&3;c=a.B>>14&3;a.H!=c&&(a.ca[c]=a.f[6],a.f[6]=a.ca[a.H]);a.j|=2;a.B=b}function O(a,b){a.j&128||(a.u=a.i=b,a.g=0)}function P(a,b,c){a.j&128||(a.u=a.i=a.m=b,a.g=c||0)}function Tb(a,b,c,d){a.j&128||(a.u=a.i=a.m=b,a.g=(c^b)&(d^b))}function Q(a,b){a.j&128||(a.u=a.i=a.m=b,a.g=a.u^a.m>>1)}function Ub(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=db(a):a.H||(b=4,c=!0);a.I&57344||(a.ya=63222,a.tb=b);a.H=0;var d=N(a,b|65536),f=N(a,b+2&65535|65536);eb(a,f&-12289|a.oa>>2&12288);c&&(a.o|=4,a.f[6]=4);Vb(a,a.oa);Vb(a,a.f[7]);a.f[7]=d&65535;a.j&=-113;a.oa=-1;throw b;}function Wb(a){var b=Xb(a),c=Xb(a)&-1793;a.B&49152&&(c=c&-225|a.B&63712);a.f[7]=b&65535;eb(a,c);a.j&=-17}
function lb(a,b){var c=b>>13&31;31>c?a.La&32&&(b=a.eb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
function Yb(a,b,c){var d,f,e,g=0;if(c&a.pb){d=b>>13&a.qb[a.H];f=a.O[a.H][d];e=(a.O[a.H][d+16]<<6)+(b&8191)&4194303;a.La&16?3932160<=e&&4186112>e&&(e=lb(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.H][d]=f;if(4194170!==e||a.H)a.hb=a.H,a.ib=d;g&&(g&57344&&(0<=a.oa&&(g|=128),a.I&57344||(a.I=a.I|g|a.hb<<5|a.ib<<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 mb(a,b){a=a.D;var c=b&a.i,d=(b&a.l)>>>a.c;return c!=a.i?a.b[d].pc(c,b):a.b[d++].$a(c,b)|a.b[d&a.H].$a(0,b+1)<<8}function N(a,b){return mb(a,Yb(a,b,2))}
function Xb(a){var b=N(a,a.f[6]|65536);a.f[6]=a.f[6]+2&65535;return b}function Vb(a,b){var c=a.f[6]-2&65535;a.f[6]=c;a.I&57344||(a.ya=a.ya<<8|246);!a.H&&c<=a.za&&4<c&&(c<=a.za-32?(a.o|=4,a.f[6]=4,K(a,4)):(a.o|=8,a.j|=4));c=Yb(a,c|65536,4);Va(a.D,c,b&65535)}
function Zb(a,b,c){var d,f,e=c&8?0:a.Lb,g=b>>3&7;b&=7;c&4?(a.c=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.H&&c&4&&(a.f[6]<=a.za||65534<=a.f[6])&&(a.f[6]<=a.za-32||65534<=a.f[6]?(a.o|=4,a.f[6]=4,K(a,4)):(a.o|=8,a.j|=64)),a.a-=3,7===b?a.f[b]:a.f[b]|e;case 2:f=2;d=a.f[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.a-=3;break;case 3:f=2;d=a.f[b];7!==b&&(d|=e);d=N(a,d);d|=e;a.a-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.f[b]+f&65535;7!==b&&(d|=e);a.a-=4;break;case 5:f=-2;d=a.f[b]-
2&65535;7!==b&&(d|=e);d=N(a,d)|e;a.a-=8;break;case 6:return d=Sb(a),d=d+a.f[b]&65535|e,a.a-=6,d;case 7:return d=Sb(a),d=d+a.f[b]&65535,d=N(a,d|65536)|e,a.a-=10,d}a.f[b]=a.f[b]+f&65535;!e||a.I&57344||(a.ya=a.ya<<8|f<<3&248|b);6==b&&!a.H&&c&4&&0>=f&&(a.f[6]<=a.za||65534<=a.f[6])&&(a.f[6]<=a.za-32?(a.o|=4,a.f[6]=4,K(a,4)):(a.o|=8,a.j|=64));return d}k.dc=function(a,b){return Zb(this,a,b)};k.ec=function(a,b){return Yb(this,Zb(this,a,b),b)};
function $b(a,b,c){b&56?(b=Zb(a,b,2),c&65536||61440!==(a.B&61440)&&(b&=65535),a.H=a.B>>12&3,c=N(a,b|c&65536),a.H=a.B>>14&3):(a.l=0,c=a.s=b&7,c=6!=c||(a.B>>2&12288)===(a.B&12288)?a.f[c]:a.ca[a.B>>12&3]);return c}function ac(a,b,c,d){a.I&57344||(a.ya=22);b&56?(b=Zb(a,b,4),c&65536||(b&=65535),a.H=a.B>>12&3,b=Yb(a,b|c&65536,4),a.H=a.B>>14&3,Va(a.D,b,d&65535)):(a.c=0,c=a.b=b&7,6!=c||(a.B>>2&12288)===(a.B&12288)?a.f[c]=d:a.ca[a.B>>12&3]=d)}
function R(a,b){b&56?a=mb(a,a.da(b,2)):(a.l=0,a=a.f[a.s=b&7]);return a}function S(a,b){b&56?(b=a.da(b,3),a=Ua(a.D,b)):(a.l=0,a=a.f[a.s=b&7]&255);return a}function T(a,b,c,d){b&56?(b=a.da(b,6),c=d.call(a,c,mb(a,b)),Va(a.D,b,c&65535)):(a.c=0,b=a.b=b&7,a.f[b]=d.call(a,c,a.f[b]))}function U(a,b,c,d){b&56?(b=a.xb=a.da(b,7),c=d.call(a,c,Ua(a.D,b)),b&1&&a.a--,a=a.D,a.b[(b&a.l)>>>a.c].Ta(b&a.i,c&255,b)):(a.c=0,b=a.b=b&7,a.f[b]=a.f[b]&65280|d.call(a,c,a.f[b]))}
function bc(a,b,c){b&56?(b=a.da(b,4),Va(a.D,b,c&65535)):(a.c=0,a.f[a.b=b&7]=c&65535);return c}function cc(a,b,c,d){b&56?(d=a.da(b,5),d&1&&a.a--,a=a.D,a.b[(d&a.l)>>>a.c].Ta(d&a.i,c&255,d)):(a.c=0,b=a.b=b&7,a.f[b]=c?d&1?c<<24>>24&65535:a.f[b]&-256|c&255:a.f[b]&-256);return c}function V(a,b,c){c&&(a.f[7]=a.f[7]+(b<<24>>23)&65535,a.a-=2);a.a-=3}
k.Yb=function(a){this.h.complete=!0;this.h.bc=!1;this.h.Xb=!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.Fb&224,c=this.A.length;0<=--c;){if(0<this.A[c].sa){this.A[c].sa--;this.j|=2;break}if(this.A[c].Ib){if(!this.A[c].Ib()){this.A.splice(c,1);continue}this.A[c].Ib=null}this.A[c].jc>b&&(b=this.A[c].jc,a=this.A[c],this.A.splice(c,1))}b>(this.B&224)&&(this.j&4&&(this.f[7]=
this.f[7]+2&65535,this.j&=-5),a?K(this,a.Dc):K(this,160))}else this.j&1&&this.j++;this.I&57344||(this.ya=0,this.tb=this.f[7]);this.j=this.j&7|this.B&16;this.decode(Sb(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=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Pb(d);C(d,c)}});function dc(a,b){var c=b+a;Tb(this,c,a,b);return c&65535}function ec(a,b){var c=b+a;Tb(this,c<<8,a<<8,b<<8);return c&255}
function fc(a,b){a=b<<1;Q(this,a);return a&65535}function gc(a,b){a=b<<1;Q(this,a<<8);return a&255}function hc(a,b){a=b&32768|b>>1|b<<16;Q(this,a);return a&65535}function ic(a,b){a=b&2048|b>>1|b<<8;Q(this,a<<8);return a&255}function jc(a,b){a=b&~a;O(this,a);return a}function kc(a,b){a=b&~a;O(this,a<<8);return a}function lc(a,b){a|=b;O(this,a);return a}function mc(a,b){a|=b;O(this,a<<8);return a}function nc(a,b){a=~b|65536;P(this,a);return a&65535}
function oc(a,b){a=~b|256;P(this,a<<8);return a&255}function pc(a,b){a=b-a;this.j&128||(this.u=this.i=a,this.g=b&(b^a));return a&65535}function qc(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 rc(a,b){a=b+a;this.j&128||(this.u=this.i=a,this.g=a&(b^a));return a&65535}function sc(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 tc(a,b){a=-b;P(this,a,a&b&32768);return a&65535}
function uc(a,b){a=-b;P(this,a<<8,(a&b&128)<<8);return a&255}function vc(a,b){a=b<<1|this.m>>16&1;Q(this,a);return a&65535}function wc(a,b){a=b<<1|this.m>>16&1;Q(this,a<<8);return a&255}function xc(a,b){a=(this.m&65536|b)>>1|b<<16;Q(this,a);return a&65535}function yc(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;Q(this,a<<8);return a&255}function zc(a,b){var c=b-a;Ub(this,c,a,b);return c&65535}function Ac(a,b){var c=b-a;Ub(this,c<<8,a<<8,b<<8);return c&255}
function Bc(a,b){this.j&128||(this.u=this.i=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535}function Cc(a,b){a^=b;O(this,a);return a&65535}function Dc(a){var b=R(this,a);a=a>>6&7;var c=this.f[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.f[a]=c&65535;this.u=this.i=c;this.a-=(this.l?6:7)+b}
function Ec(a){var b=R(this,a);a=a>>6&7;var c=this.f[a]<<16|this.f[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.f[a]=d>>16&65535;this.f[a|1]=d&65535;this.u=d>>16;this.i=d>>16|d;this.a-=(this.l?6:7)+b}function W(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 Fc(a){var b=R(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.f[a]=d&65535,this.f[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.f[a]&&(this.f[a]=this.f[a|1]=1));this.a-=53}else this.i=this.u=0,this.g=32768,this.m=65536,this.a-=7}var Gc=[0,7,7,10,7,11,9,13];function Hc(a){var b=this.a;a=Zb(this,a,8);this.f[7]=a&65535;this.a=b-Gc[this.l]}
var Ic=[0,14,14,17,14,18,16,20];function Jc(a){var b=this.a,c=Zb(this,a,8);a=a>>6&7;Vb(this,this.f[a]);this.f[a]=this.f[7];this.f[7]=c&65535;this.a=b-Ic[this.l]}var Kc=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],Lc=[7,13,13,17,14,18,17,21];function Mc(a){var b=R(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.f[a];c&32768&&(c|=-65536);b=~~(b*c);this.f[a]=b>>16&65535;this.f[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 Nc(){this.a-=5}function X(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 Oc(a){var b=(a&448)>>6;if(this.f[b]=this.f[b]-1&65535)this.f[7]=this.f[7]-((a&63)<<1)&65535,this.a+=1;this.a-=6}function Pc(a){T(this,a,0,Bc);this.a-=this.c?9:3+(7==this.b?2:0)}function Qc(a){T(this,a,R(this,(a&448)>>6),Cc);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){K(this,8)}function Qb(a){Rc[a>>12].call(this,a)}
var Rc=[function(a){Sc[a>>8&15].call(this,a)},function(a){var b=R(this,a>>6),c=this.a;O(this,bc(this,a,b));this.a=c-Kc[(this.l?8:0)+this.c]+(7!=this.b||this.c?0:2)},function(a){var b=R(this,a>>6),c=this.l,d=this.s;a=R(this,a);Ub(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=R(this,a>>6),c=this.l,d=this.s;a=R(this,a);O(this,b&a);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){T(this,a,R(this,a>>6),jc);this.a-=this.c?9+(this.s&&
6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){T(this,a,R(this,a>>6),lc);this.a-=this.c?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){T(this,a,R(this,a>>6),dc);this.a-=this.c?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){Tc[a>>8&15].call(this,a)},function(a){Uc[a>>8&15].call(this,a)},function(a){var b=S(this,a>>6);O(this,cc(this,a,b,1)<<8);this.a-=this.c?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){var b=S(this,a>>6)<<8,
c=this.l,d=this.s;a=S(this,a)<<8;Ub(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);O(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){U(this,a,S(this,a>>6),kc);this.a-=this.c?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),mc);this.a-=this.c?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){T(this,a,R(this,a>>6),
zc);this.a-=this.c?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},Y],Sc=[function(a){Vc[a>>4&15].call(this,a)},function(a){V(this,a,!0)},function(a){V(this,a,!!(this.i&65535))},function(a){V(this,a,this.i&65535?0:4)},function(a){V(this,a,!this.ua()==!(this.g&32768))},function(a){V(this,a,!this.ua()!=!(this.g&32768))},function(a){V(this,a,!!(this.i&65535)&&!this.ua()==!(this.g&32768))},function(a){V(this,a,(this.i&65535?0:4)||!this.ua()!=!(this.g&32768))},Jc,Jc,function(a){Wc[a>>6&3].call(this,
a)},function(a){Xc[a>>6&3].call(this,a)},function(a){Yc[a>>6&3].call(this,a)},function(a){Zc[a>>6&3].call(this,a)},Y,Y],Wc=[function(a){P(this,bc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,nc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,rc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,pc);this.a-=this.c?9:3+(7==this.b?2:0)}],Xc=[function(a){T(this,a,0,tc);this.a-=this.c?11:6},function(a){T(this,a,M(this)?1:0,dc);this.a-=this.c?9:3+(7==this.b?
2:0)},function(a){T(this,a,M(this)?1:0,zc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=R(this,a);P(this,a);this.a-=this.l?4:3+(7==this.s?2:0)}],Yc=[function(a){T(this,a,0,xc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,vc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,hc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,fc);this.a-=this.c?9:3+(7==this.b?2:0)}],Zc=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=N(this,a|65536);this.f[7]=this.f[5]&65535;
this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=$b(this,a,0);Vb(this,a);O(this,a);this.a-=11},function(a){var b=Xb(this),c=this.a;ac(this,a,0,b);O(this,b);this.a=c-Lc[this.c]},function(a){O(this,bc(this,a,this.ua?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],Vc=[function(a){$c[a&15].call(this,a)},Y,Y,Y,Hc,Hc,Hc,Hc,function(a){if(a&8)K(this,8);else{var b=Xb(this);a&=7;this.f[7]=this.f[a]&65535;this.f[a]=b;this.a-=9}},function(a){a&8?(this.B&49152||(this.B=this.B&-2017|(a&7)<<5,this.j|=1),
this.a-=5):K(this,8)},function(a){ad[a&15].call(this,a)},function(a){bd[a&15].call(this,a)},Pc,Pc,Pc,Pc],$c=[function(){this.B&49152?(this.o|=128,K(this,4)):(this.S-=this.a,this.a=0);this.a-=7},function(){this.j|=4;this.f[7]=this.f[7]+-2&65535;this.a-=3},function(){Wb(this);this.j|=this.B&16;this.a-=13},function(){K(this,12);this.a-=5},function(){K(this,16);this.a-=25},function(){this.B&49152||(Rb(this),this.D.reset());this.a-=667},function(){Wb(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],ad=[Nc,function(){this.m=
0;this.a-=5},function(){this.g=0;this.a-=5},W,function(){this.i=1;this.a-=5},W,W,W,function(){this.u=0;this.a-=5},W,W,W,W,W,W,W],bd=[Nc,function(){this.m=65536;this.a-=5},function(){this.g=32768;this.a-=5},X,function(){this.i=0;this.a-=5},X,X,X,function(){this.u=32768;this.a-=5},X,X,X,X,X,X,X],Tc=[Mc,Mc,Fc,Fc,Dc,Dc,Ec,Ec,Qc,Qc,Y,Y,Y,Y,Oc,Oc],Uc=[function(a){V(this,a,!this.ua())},function(a){V(this,a,this.ua())},function(a){V(this,a,!M(this)&&!!(this.i&65535))},function(a){V(this,a,M(this)||(this.i&
65535?0:4))},function(a){V(this,a,!(this.g&32768))},function(a){V(this,a,this.g&32768?2:0)},function(a){V(this,a,!M(this))},function(a){V(this,a,M(this))},function(){K(this,24);this.a-=25},function(){K(this,28);this.a-=5},function(a){cd[a>>6&3].call(this,a)},function(a){dd[a>>6&3].call(this,a)},function(a){ed[a>>6&3].call(this,a)},function(a){fd[a>>6&3].call(this,a)},Y,Y],cd=[function(a){P(this,cc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,oc);this.a-=this.c?9:3+(7==this.b?
2:0)},function(a){U(this,a,1,sc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,qc);this.a-=this.c?9:3+(7==this.b?2:0)}],dd=[function(a){U(this,a,0,uc);this.a-=this.c?11:6},function(a){U(this,a,M(this)?1:0,ec);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,M(this)?1:0,Ac);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=S(this,a);P(this,a<<8);this.a-=this.l?4:3+(7==this.s?2:0)}],ed=[function(a){U(this,a,0,yc);this.a-=this.c?9+(this.xb&1):3+(7==this.b?2:0)},function(a){U(this,
a,0,wc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,ic);this.a-=this.c?9+(this.xb&1):3+(7==this.b?2:0)},function(a){U(this,a,0,gc);this.a-=this.c?9:3+(7==this.b?2:0)}],fd=[Y,function(a){a=$b(this,a,65536);Vb(this,a);O(this,a);this.a-=11},function(a){var b=Xb(this),c=this.a;ac(this,a,65536,b);O(this,b);this.a=c-Lc[this.c]},Y];
function gd(a){v.call(this,"ROM",a,gd);this.b=null;this.m=a.addr;this.c=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){hd(c,a,b,e)})}}y(gd);gd.prototype.va=function(a,b,c,d){this.D=b;this.a=c;this.K=d;id(this)};gd.prototype.ka=function(){this.l&&(this.K&&this.K.a(this.id,this.m,this.c,this.l),delete this.l);return!0};
gd.prototype.ja=function(){return!0};
function hd(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.yb,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(l){a.M("ROM data error: "+l.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]);id(a)}}
function id(a){if(!Ga(a))if(!a.i)E(a);else if(a.b&&a.D){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.c,8,!0)+")";a.h.error=!0;a.M(b)}else{b=a.m;if(Qa(a.D,b,a.c,a.s?1:tb)){var c;for(c=0;c<a.b.length;c++){var d=a.D,f=b+c;d.b[(f&d.l)>>>d.c].Zb(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.c,h=[],l=e.m>>>f.c;0<g&&
l<f.b.length;)h.push(f.b[l++]),g-=f.g;f=e.D;e=e.c;g=0;for(d>>>=f.c;0<e&&d<f.b.length;){l=h[g++];if(!l)break;f.b[d++]=l;e-=f.g}}delete a.b}}E(a)}}u(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new gd(d);C(d,c)}});function jd(a){v.call(this,"RAM",a,jd);this.g=a.addr;this.c=a.size;this.b=!1}y(jd);k=jd.prototype;k.va=function(a,b,c,d){this.D=b;this.a=c;this.K=d;E(this)};k.ka=function(a,b){b||this.reset();return!0};k.ja=function(a){return a?this.save():!0};
k.reset=function(){!this.b&&this.c&&Qa(this.D,this.g,this.c,1)&&(this.b=!0);this.b||r("No RAM allocated")};k.save=function(){return null};k.restore=function(){return!0};u(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new jd(d);C(d,c)}});function kd(a){v.call(this,"Keyboard",a,kd);E(this)}y(kd);kd.prototype.X=function(){return!1};kd.prototype.va=function(a,b,c,d){this.F=a;this.a=c;this.K=d;this.Da=null};
u(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new kd(d);C(d,c)}});function Z(a){this.b={g:[],rb:0,Ba:128,c:127,b:0};v.call(this,"SerialPort",a,Z);var b=a.binding;if("console"!=b){var c;a=ld;b&&(void 0===c&&(c="Panel"),(c=A(c,this.id))&&(b=c.w[b])&&this.X(null,a,b))}this.c=this.i=null;this.exports={connect:this.Rb,receiveData:this.Eb}}y(Z);var ld="buffer";k=Z.prototype;
k.X=function(a,b,c){var d=this;switch(b){case ld:return this.w[b]=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.Eb(b);return!0},c.onkeypress=function(a){a=a||window.event;d.Eb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};k.va=function(a,b,c,d){this.F=a;this.D=b;this.a=c;this.K=d;Xa(b,this,md);E(this)};k.oc=function(){return this.b.rb};
k.Ic=function(a){this.b.rb=this.b.rb&128|a&-129};k.nc=function(){return 0};k.Hc=function(){};k.rc=function(){return this.b.Ba};k.Lc=function(a){if(128==(this.b.Ba&192)&&a&64){var b=this;I(this.a,8,4,52,function(){b.b.Ba|=128;return!!(b.b.Ba&64)})}this.b.Ba=this.b.Ba&128|a&-129};k.qc=function(){return 0};k.Kc=function(){};
k.Rb=function(){if(!this.c){var a=Eb(this.F,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ha(b[0]);if(c!=this.gb)return;b=ha(b[1]);if(this.c=Fa(b)){var d=this.c.exports;if(d){var f=d.connect;f&&f.call(this.c);if(this.i=d.receiveData){this.status(this.yb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ka=function(a,b){if(!b)if(this.Rb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.ja=function(a){return a?this.save():!0};k.reset=function(){this.b.rb=0;this.b.Ba=128};k.save=function(){var a=new L(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.Eb=function(a){if("number"==typeof a)this.g.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.g.push(a.charCodeAt(b));else this.g=this.g.concat(a);return!0};
var nd={},md=(nd[65392]=[null,null,Z.prototype.oc,Z.prototype.Ic,"RCSR"],nd[65394]=[null,null,Z.prototype.nc,Z.prototype.Hc,"RBUF"],nd[65396]=[null,null,Z.prototype.rc,Z.prototype.Lc,"XCSR"],nd[65398]=[null,null,Z.prototype.qc,Z.prototype.Kc,"XBUF"],nd);u(function(){for(var a=D(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Z(d);C(d,c)}});
function od(a,b,c){v.call(this,"Computer",a,od);this.h.N=!1;pd(this,b);this.F=Eb(this,"autoPower",a);this.g=0;this.Y=a.busWidth||a.buswidth;this.b=qd;this.u=null;this.m=this.R=!1;this.url=Eb(this,"url")||"";(Math.random()+.1).toString(36);this.c=rd(this);if(this.a=A("CPU",this.id)){this.K=A("Debugger",this.id);this.D=new Ka({id:this.yb+".bus",busWidth:this.Y},this.a,this.K);var d,f=z(this.id);if((this.i=A("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.va&&d.va(this,this.D,this.a,this.K);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.s=d:this.b=parseInt(d,10));var e;if(a=Eb(this,"state")||(e=!0,a.state))b=this.H=a,e||(this.m=!0,this.b=qd),this.b&&(this.A=new L(this,
"1.30.0"),sd(this.A)?b=null:delete this.A);!b&&this.b&&(b=td(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?": "+ha(b):"")+")")):(g.u=b,g.R=!0);E(g)})}else E(this);this.w.power||(this.F=!0);!c&&this.F&&ud(this,this.Za)}else r("Unable to find CPU component")}y(od);var qd=0;
function pd(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 Eb(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[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 ud(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(){ud(a,b,c)});return}}b.call(a,c)}
function vd(a,b){var c=new L(a,"1.30.0","validate");if(sd(c)&&wd(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())}}k=od.prototype;
k.Za=function(a){void 0===a&&(a=this.b||(this.u?1:qd));if(!this.g){this.g++;var b=!1,c=!1;this.I=!1;var d=this.A||new L(this,"1.30.0");if(-1==a)b=!0;else if(a>qd){if(sd(d,this.u)){this.l=new L(this,"1.30.0","failsafe");sd(this.l)&&(xd(this,d),a=2,yd(this.l));this.l.set("timestamp",ja());zd(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=wd(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?sd(d,g):("error"==
e&&"no machine state"!=g?(this.M("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.c=null)):this.V(e+": "+g),yd(d),sd(d)?(c=wd(d),f=!0):c=!1))}f&&vd(this,c?d:null)}else 2==a&&d.clear()}else vd(this);delete this.u;delete this.A}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=Ad(this,g,d,b,c));b=[d,a,c];-1!=a?ud(this,this.Kb,b):this.Kb(b)}};
function Ad(a,b,c,d,f){if(!b.h.N){b.h.N=!0;if(b.ka){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.ka(e,d)&&e&&(r("Unable to restore state for "+b.type),a.H&&!a.R?(c.clear(),a.b=qd,window&&window.location.reload()):a.I=!0,b.ka(null),f=!1)}if(!d&&b.Nb)for(a=b.Nb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
k.Kb=function(a){var b=a[0],c=0>a[1];a=a[2];this.Z=!0;this.h.N=!0;var d=this.w.power;d&&(d.textContent="Shutdown");this.a&&(Ad(this,this.a,b,c,a),this.a.Wa());this.I&&(xd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.g=0};
function xd(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.c||"";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 Bd(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new L(a,"1.30.0"),g=new L(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.ja&&(c&&Kb(a.a),d=a.a.ja(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),l=0;l<h.length;l++){var m=h[l];m.h.N&&(m.ja&&(d=m.ja(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.c&&Cd(a,a.c,e.toString()),zd(g)&&zd(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.w.power)&&(b.textContent="Power");a.g=0;return f}k.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()}};k.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)}};
b)d=$a[a>>1&255];else return e.u|=16,K(e,4);break;default:return e.u|=16,K(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var ob={},cb=(ob[65382]=[null,null,H.prototype.kc,H.prototype.Ec,"LKS"],ob[65402]=[null,null,H.prototype.lc,H.prototype.Fc,"MMR0"],ob[65534]=[null,null,H.prototype.mc,H.prototype.Gc,"PSW"],ob);u(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new H(d);C(d,c)}});var pb;
if(Ia){var qb=new ArrayBuffer(2);(new DataView(qb)).setUint16(0,256,!0);pb=256===(new Uint16Array(qb))[0]}else pb=!1;var rb=pb;
function G(a,b,c,d,f){this.id=sb+=2;this.a=null;this.Ua=a;this.vb=b;this.size=c||0;this.type=d||tb;this.A=d==ub;this.controller=null;Ma(this);this.ua=this.cc=!1;if(c)if(f)this.controller=f,this.a=null,vb(this,f.Va);else if(Ia)this.c=new ArrayBuffer(c),this.g=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.m=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),vb(this,rb?wb:xb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;vb(this,yb)}else vb(this)}
var tb=0,ub=2,Sa=4,Ua=["NONE","RAM","ROM","VID","H/W"],sb=0;
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ia)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.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(Ia)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.a=a;return this.ua=!0}return!1},o:function(){return 255},v:function(){},s:function(a,b){return this.$a(a++,b++)|this.$a(a,b)<<8},F:function(a,b,c){this.Ta(a++,
b&255,c++);this.Ta(a,b>>8,c)},Z:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ha: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},pa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ua=!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.ua=!0},I:function(a,b){return this.R(a,b)},ea:function(a,b){return this.fa(a,
b)},na:function(a,b,c){this.A||this.Zb(a,b,c)},Ea:function(a,b,c){this.A||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)},ga:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.m[a>>1]},ia:function(a,b){this.b[a]=b;this.ua=!0},oa:function(a,b){this.b[a]=b;this.ua=!0},Da:function(a,b){this.g.setUint16(a,b,!0);this.ua=!0},Ga:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.m[a>>1]=b;this.ua=!0}};
function Ma(a,b,c){a.K=b;a.h=a.j=0;c&&((a.h=c.h)&&zb(a,Ab,!1),(a.j=c.j)&&Bb(a,Ab,!1))}function Bb(a,b,c){c&&a.j||(a.Ta=!a.A&&b[1]||a.v,a.Jc=!a.A&&b[3]||a.F);if(c||void 0===c)a.Zb=b[1]||a.v,a.Fa=b[3]||a.F}function zb(a,b,c){c&&a.h||(a.$a=b[0]||a.o,a.pc=b[2]||a.s);if(c||void 0===c)a.R=b[0]||a.o,a.fa=b[2]||a.s}function vb(a,b){b||(b=Cb);zb(a,b,void 0);Bb(a,b,void 0)}var Cb=[],yb=[G.prototype.Z,G.prototype.pa,G.prototype.ha,G.prototype.Ha],Ab=[G.prototype.I,G.prototype.na,G.prototype.ea,G.prototype.Ea];
if(Ia)var xb=[G.prototype.H,G.prototype.ia,G.prototype.$,G.prototype.Da],wb=[G.prototype.S,G.prototype.oa,G.prototype.ga,G.prototype.Ga];function Db(a,b){v.call(this,"CPU",a,Db);var c=a.multiplier||1;this.mb=a.cycles||b;this.ha=c;this.zb=Math.round(this.mb/1E4)/100;this.na=this.zb*this.ha;this.i.aa=!1;this.i.Xb=!1;this.i.Wa=a.autoStart;this.i.Jb=!1;this.i.nb=!1;this.kb=this.oa=0;this.lb=a.csStart;this.Ea=a.csInterval;this.Fa=a.csStop;this.R=[];this.Sb=this.Bc.bind(this);E(this)}y(Db);
var Eb=["power","reset"];k=Db.prototype;k.wa=function(a,b,c,d){this.F=a;this.D=b;this.K=d;for(b=0;b<Eb.length;b++)(c=this.A[Eb[b]])&&this.F.X(null,Eb[b],c);this.Da=null;a=Fb(a,"autoStart");null!=a&&(this.i.Wa="true"==a?!0:"false"==a?!1:!!a);E(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.la=function(a,b){if(!b){if(a&&this.restore){Gb(this);if(!this.restore(a))return!1;Hb(this)}else this.reset();this.U("No debugger detected")}Ib(this);return!0};
k.ka=function(a){return a?this.save():!0};k.Wa=function(){return this.i.Wa||void 0===this.A.run?(Jb(this),!0):!1};k.Ob=function(){return 0};function Hb(a){void 0===a.lb&&(a.lb=0);void 0===a.Ea&&(a.Ea=-1);void 0===a.Fa&&(a.Fa=-1);a.i.nb=0<=a.lb&&0<a.Ea;a.i.nb&&(a.kb=0,a.oa=a.lb-a.ia)}
function Kb(a,b,c,d){if(a.A[b]){void 0===c&&(a.i.error=!0,a.M("Value for "+b+" is invalid"),Lb(a));var f=a.K&&a.K.b||8;if(!a.i.aa||a.i.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.A[b].textContent!=d&&(a.A[b].textContent=d)}}
k.X=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.A[b]=c;a=!0;break;case "run":this.A[b]=c;c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.i.N)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.i.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.i.N);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.i.ready?"powered yet":"ready yet"+(b.ob?" (waiting for notification)":""))+".");a=!1}a&&(d.i.aa?Lb(d):Jb(d))};a=!0;break;
case "speed":this.A[b]=c;a=!0;break;case "setSpeed":this.A[b]=c,c.onclick=function(){Mb(d,d.ha<<1)},c.textContent=this.na.toFixed(2)+"Mhz",a=!0}return a};function Nb(a,b,c){a.ia+=b;c&&(a.S=a.a=0)}function Ob(a,b){var c=1;b&&1<a.ha&&a.fa&&(c=a.fa/a.zb);a.Pb=Math.round(1E3/30);a.fb=Math.floor(a.mb/30*c);b||(a.Ga=a.fb);a.Cb=0}function Pb(a){return a.ia+a.$+a.S-a.a}function Gb(a){a.fa=0;a.Qb=0;a.ia=a.$=a.S=a.a=0;Hb(a);Mb(a,1)}
function Mb(a,b){if(void 0!==b&&(.8>a.fa/a.na&&(b=1),a.ha=b,b=a.zb*a.ha,a.na!=b)){a.na=b;b=a.na.toFixed(2)+"Mhz";var c=a.A.setSpeed;c&&(c.textContent=b);a.U("target speed: "+b)}Nb(a,a.$);a.$=0;a.Z=ja();a.ga=0;Ob(a)}function ab(a,b){var c=a.R.length;a.R.push([-1,b]);return c}function bb(a,b){var c;0<=b&&b<a.R.length&&0>a.R[b][0]&&(c=a.mb*a.ha/1E3*(1E3/60),a.R[b][0]=c)}
k.Bc=function(){if(this.i.aa){this.Cb>=this.mb&&Ob(this,!0);this.Ha=0;this.jb=ja();if(this.ga){var a=this.jb-this.ga;a>this.Pb&&(this.Z+=a,this.Z>this.jb&&(this.Z=this.jb))}try{do{for(var b,c=this.i.nb?1:this.fb,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.Yb(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;Nb(this,0,!0);a=e;if(this.i.nb){var l=
!1;this.kb=this.kb+this.Ob()|0;this.oa-=a;0>=this.oa&&(this.oa+=this.Ea,l=!0);0<=this.Fa&&this.Fa<=Pb(this)&&(this.Ea=this.Fa=-1,Hb(this),Lb(this),l=!0);l&&this.U(Pb(this)+" cycles: checksum="+n(this.kb))}this.Ga-=e;if(0>=this.Ga){this.Ga+=this.fb;15<=++this.Qb&&(this.F&&this.F.Sa(),this.Qb=0);break}}while(this.i.aa)}catch(m){Lb(this);Ib(this);this.F&&this.F.stop(ja(),Pb(this));b=m.stack||m.message;this.i.error=!0;this.M(b);return}if(this.i.aa){b=setTimeout;c=this.Sb;this.ga=ja();d=this.Pb;this.Ha&&
(d=Math.round(d*this.Ha/this.fb));d-=this.ga-this.jb;if(f=this.ga-this.Z)this.fa=Math.round(this.$/(10*f))/100,864E5<=f&&(this.ia=0,Mb(this));if(0>d||this.fa<this.na)-1E3>d&&(this.Z-=d),d=0;this.Cb+=this.Ha;this.ga+=d;b(c,d)}}};function Jb(a){var b;a.i.error?(a.U(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.i.aa)a.U(a.toString()+" busy");else{Mb(a);a.i.aa=!0;a.i.Xb=!0;a.Da&&a.Da.start();if(b=a.A.run)b.textContent="Halt";a.F&&a.F.start(a.Z,Pb(a));Ib(a,!0);setTimeout(a.Sb,0)}}k.Yb=function(){return 0};
function Lb(a){if(a.i.aa){a.S-=a.a;a.a=0;Nb(a,a.$);a.$=0;a.i.aa=!1;a.Da&&a.Da.stop();var b=a.A.run;b&&(b.textContent="Run");a.F&&a.F.stop(ja(),Pb(a));Ib(a)}a.i.complete=void 0}function Ib(a,b){a.F&&a.F.Sa(b)}
function Qb(a){this.gc=a.resetAddr||0;Db.call(this,a,6666667);this.Mb=0;this.decode=Rb.bind(this);this.m=65536;this.g=32768;this.h=65535;this.s=32768;this.B=15;this.f=[0,0,0,0,0,0,0,this.gc];this.Ma=[0,0,0,0,0,0];this.da=[0,0,0,0];this.ib=this.H=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.eb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.o=this.b=this.j=this.c=this.xb=this.l=0;this.Ka=70;this.pa=-1;Sb(this);this.i.complete=this.i.bc=!1}y(Qb,Db);k=Qb.prototype;k.reset=function(){this.i.aa&&Lb(this);Sb(this);Gb(this);this.i.error=!1;this.parent.reset.call(this)};
function Sb(a){a.Aa=255;a.u=0;a.Fb=0;a.I=0;a.za=0;a.tb=0;a.La=0;a.pb=0;a.hb=0;a.qb=[7,7,7,7];a.v=[];a.l|=2;db(a)}function db(a){a.pb?(a.Lb=65536,a.ea=a.ec):(a.Lb=0,a.ea=a.dc)}k.Ob=function(){return 0};k.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.ia,this.ha]);a.set(2,Xa(this.D));return a.data()};
k.restore=function(a){var b=a[1];this.ia=b[1];Mb(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.F){for(var e=0,g=Array(b.F),h=0;h<f.length-1;)for(var l=f[h++],m=f[h++];l--;)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};
k.X=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.A[b]=c;this.Mb++;a=!0;break;default:a=this.parent.X.call(this,a,b,c)}return a};
k.Sa=function(a){if(this.Mb&&(a||!this.i.aa||this.i.Jb)){for(a=0;a<this.f.length;a++)Kb(this,"R"+a,this.f[a]);a=eb(this);Kb(this,"PS",a);Kb(this,"NF",a&8?1:0,1);Kb(this,"ZF",a&4?1:0,1);Kb(this,"VF",a&2?1:0,1);Kb(this,"CF",a&1?1:0,1)}if(a=this.A.speed)a.textContent=this.i.aa&&this.fa?this.fa.toFixed(2)+"Mhz":"Stopped"};function M(a){return a.m&65536?1:0}k.va=function(){return this.s&32768?8:0};function Tb(a){var b=N(a,a.f[7]);a.f[7]=a.f[7]+2&65535;return b}
function I(a,b,c,d,f){for(var e=a.v.length;0<e--;)if(a.v[e].Dc===d){0<e&&(a.v[e-1].ta+=a.v[e].ta);a.v.splice(e,1);break}if(0<=b){for(e=a.v.length;0<e--;){if(a.v[e].ta>b){a.v[e].ta-=b;break}b-=a.v[e].ta}a.v.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.l|=2}function eb(a){return a.B=a.B&63728|a.va()|(a.h&65535?0:4)|(a.g&32768?2:0)|M(a)}
function fb(a,b){a.s=b<<12;a.h=~b&4;a.g=b<<14;a.m=b<<16;if((b^a.B)&2048)for(var c=a.Ma.length;0<=--c;){var d=a.f[c];a.f[c]=a.Ma[c];a.Ma[c]=d}a.H=b>>14&3;c=a.B>>14&3;a.H!=c&&(a.da[c]=a.f[6],a.f[6]=a.da[a.H]);a.l|=2;a.B=b}function O(a,b){a.l&128||(a.s=a.h=b,a.g=0)}function P(a,b,c){a.l&128||(a.s=a.h=a.m=b,a.g=c||0)}function Ub(a,b,c,d){a.l&128||(a.s=a.h=a.m=b,a.g=(c^b)&(d^b))}function Q(a,b){a.l&128||(a.s=a.h=a.m=b,a.g=a.s^a.m>>1)}function Vb(a,b,c,d){a.l&128||(a.s=a.h=a.m=b,a.g=(c^d)&(d^b))}
function K(a,b){var c=!1;0>a.pa?a.pa=eb(a):a.H||(b=4,c=!0);a.I&57344||(a.za=63222,a.tb=b);a.H=0;var d=N(a,b|65536),f=N(a,b+2&65535|65536);fb(a,f&-12289|a.pa>>2&12288);c&&(a.u|=4,a.f[6]=4);Wb(a,a.pa);Wb(a,a.f[7]);a.f[7]=d&65535;a.l&=-113;a.pa=-1;throw b;}function Xb(a){var b=Yb(a),c=Yb(a)&-1793;a.B&49152&&(c=c&-225|a.B&63712);a.f[7]=b&65535;fb(a,c);a.l&=-17}
function mb(a,b){var c=b>>13&31;31>c?a.La&32&&(b=a.eb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
function Zb(a,b,c){var d,f,e,g=0;if(c&a.pb){d=b>>13&a.qb[a.H];f=a.O[a.H][d];e=(a.O[a.H][d+16]<<6)+(b&8191)&4194303;a.La&16?3932160<=e&&4186112>e&&(e=mb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.u|=32,K(a,4)),e&1&&!(c&1)&&(a.u|=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.H][d]=f;if(4194170!==e||a.H)a.hb=a.H,a.ib=d;g&&(g&57344&&(0<=a.pa&&(g|=128),a.I&57344||(a.I=a.I|g|a.hb<<5|a.ib<<1),K(a,168)),a.I&61440||!(4191360>e||4194239<e)||(a.I|=4096,a.I&512&&(a.l|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.u|=64,K(a,4));return e}function nb(a,b){a=a.D;var c=b&a.h,d=(b&a.j)>>>a.c;return c!=a.h?a.b[d].pc(c,b):a.b[d++].$a(c,b)|a.b[d&a.H].$a(0,b+1)<<8}function N(a,b){return nb(a,Zb(a,b,2))}
function Yb(a){var b=N(a,a.f[6]|65536);a.f[6]=a.f[6]+2&65535;return b}function Wb(a,b){var c=a.f[6]-2&65535;a.f[6]=c;a.I&57344||(a.za=a.za<<8|246);!a.H&&c<=a.Aa&&4<c&&(c<=a.Aa-32?(a.u|=4,a.f[6]=4,K(a,4)):(a.u|=8,a.l|=4));c=Zb(a,c|65536,4);Wa(a.D,c,b&65535)}
function $b(a,b,c){var d,f,e=c&8?0:a.Lb,g=b>>3&7;b&=7;c&4?(a.c=g,a.b=b):(a.j=g,a.o=b);switch(g){case 0:return K(a,4),0;case 1:return 6===b&&!a.H&&c&4&&(a.f[6]<=a.Aa||65534<=a.f[6])&&(a.f[6]<=a.Aa-32||65534<=a.f[6]?(a.u|=4,a.f[6]=4,K(a,4)):(a.u|=8,a.l|=64)),a.a-=3,7===b?a.f[b]:a.f[b]|e;case 2:f=2;d=a.f[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.a-=3;break;case 3:f=2;d=a.f[b];7!==b&&(d|=e);d=N(a,d);d|=e;a.a-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.f[b]+f&65535;7!==b&&(d|=e);a.a-=4;break;case 5:f=-2;d=a.f[b]-
2&65535;7!==b&&(d|=e);d=N(a,d)|e;a.a-=8;break;case 6:return d=Tb(a),d=d+a.f[b]&65535|e,a.a-=6,d;case 7:return d=Tb(a),d=d+a.f[b]&65535,d=N(a,d|65536)|e,a.a-=10,d}a.f[b]=a.f[b]+f&65535;!e||a.I&57344||(a.za=a.za<<8|f<<3&248|b);6==b&&!a.H&&c&4&&0>=f&&(a.f[6]<=a.Aa||65534<=a.f[6])&&(a.f[6]<=a.Aa-32?(a.u|=4,a.f[6]=4,K(a,4)):(a.u|=8,a.l|=64));return d}k.dc=function(a,b){return $b(this,a,b)};k.ec=function(a,b){return Zb(this,$b(this,a,b),b)};
function ac(a,b,c){b&56?(b=$b(a,b,2),c&65536||61440!==(a.B&61440)&&(b&=65535),a.H=a.B>>12&3,c=N(a,b|c&65536),a.H=a.B>>14&3):(a.j=0,c=a.o=b&7,c=6!=c||(a.B>>2&12288)===(a.B&12288)?a.f[c]:a.da[a.B>>12&3]);return c}function bc(a,b,c,d){a.I&57344||(a.za=22);b&56?(b=$b(a,b,4),c&65536||(b&=65535),a.H=a.B>>12&3,b=Zb(a,b|c&65536,4),a.H=a.B>>14&3,Wa(a.D,b,d&65535)):(a.c=0,c=a.b=b&7,6!=c||(a.B>>2&12288)===(a.B&12288)?a.f[c]=d:a.da[a.B>>12&3]=d)}
function R(a,b){b&56?a=nb(a,a.ea(b,2)):(a.j=0,a=a.f[a.o=b&7]);return a}function S(a,b){b&56?(b=a.ea(b,3),a=Va(a.D,b)):(a.j=0,a=a.f[a.o=b&7]&255);return a}function T(a,b,c,d){b&56?(b=a.ea(b,6),c=d.call(a,c,nb(a,b)),Wa(a.D,b,c&65535)):(a.c=0,b=a.b=b&7,a.f[b]=d.call(a,c,a.f[b]))}function U(a,b,c,d){b&56?(b=a.xb=a.ea(b,7),c=d.call(a,c,Va(a.D,b)),b&1&&a.a--,a=a.D,a.b[(b&a.j)>>>a.c].Ta(b&a.h,c&255,b)):(a.c=0,b=a.b=b&7,a.f[b]=a.f[b]&65280|d.call(a,c,a.f[b]))}
function cc(a,b,c){b&56?(b=a.ea(b,4),Wa(a.D,b,c&65535)):(a.c=0,a.f[a.b=b&7]=c&65535);return c}function dc(a,b,c,d){b&56?(d=a.ea(b,5),d&1&&a.a--,a=a.D,a.b[(d&a.j)>>>a.c].Ta(d&a.h,c&255,d)):(a.c=0,b=a.b=b&7,a.f[b]=c?d&1?c<<24>>24&65535:a.f[b]&-256|c&255:a.f[b]&-256);return c}function V(a,b,c){c&&(a.f[7]=a.f[7]+(b<<24>>23)&65535,a.a-=2);a.a-=3}
k.Yb=function(a){this.i.complete=!0;this.i.bc=!1;this.i.Xb=!1;this.S=this.a=a;do{if(this.l&&(this.l&112&&(this.l&32?K(this,168):this.l&64?K(this,4):this.l&16&&K(this,12),this.l&=-113),this.l&7))if(this.l&2){this.l&=-3;a=null;for(var b=this.Fb&224,c=this.v.length;0<=--c;){if(0<this.v[c].ta){this.v[c].ta--;this.l|=2;break}if(this.v[c].Ib){if(!this.v[c].Ib()){this.v.splice(c,1);continue}this.v[c].Ib=null}this.v[c].jc>b&&(b=this.v[c].jc,a=this.v[c],this.v.splice(c,1))}b>(this.B&224)&&(this.l&4&&(this.f[7]=
this.f[7]+2&65535,this.l&=-5),a?K(this,a.Dc):K(this,160))}else this.l&1&&this.l++;this.I&57344||(this.za=0,this.tb=this.f[7]);this.l=this.l&7|this.B&16;this.decode(Tb(this))}while(0<this.a);return this.i.complete?this.S-this.a:void 0===this.i.complete?0:-1};u(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Qb(d);C(d,c)}});function ec(a,b){var c=b+a;Ub(this,c,a,b);return c&65535}function fc(a,b){var c=b+a;Ub(this,c<<8,a<<8,b<<8);return c&255}
function gc(a,b){a=b<<1;Q(this,a);return a&65535}function hc(a,b){a=b<<1;Q(this,a<<8);return a&255}function ic(a,b){a=b&32768|b>>1|b<<16;Q(this,a);return a&65535}function jc(a,b){a=b&2048|b>>1|b<<8;Q(this,a<<8);return a&255}function kc(a,b){a=b&~a;O(this,a);return a}function lc(a,b){a=b&~a;O(this,a<<8);return a}function mc(a,b){a|=b;O(this,a);return a}function nc(a,b){a|=b;O(this,a<<8);return a}function oc(a,b){a=~b|65536;P(this,a);return a&65535}
function pc(a,b){a=~b|256;P(this,a<<8);return a&255}function qc(a,b){a=b-a;this.l&128||(this.s=this.h=a,this.g=b&(b^a));return a&65535}function rc(a,b){a=b-a;var c=a<<8;b<<=8;this.l&128||(this.s=this.h=c,this.g=b&(b^c));return a&255}function sc(a,b){a=b+a;this.l&128||(this.s=this.h=a,this.g=a&(b^a));return a&65535}function tc(a,b){a=b+a;var c=a<<8;this.l&128||(this.s=this.h=c,this.g=c&(b<<8^c));return a&255}function uc(a,b){a=-b;P(this,a,a&b&32768);return a&65535}
function vc(a,b){a=-b;P(this,a<<8,(a&b&128)<<8);return a&255}function wc(a,b){a=b<<1|this.m>>16&1;Q(this,a);return a&65535}function xc(a,b){a=b<<1|this.m>>16&1;Q(this,a<<8);return a&255}function yc(a,b){a=(this.m&65536|b)>>1|b<<16;Q(this,a);return a&65535}function zc(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;Q(this,a<<8);return a&255}function Ac(a,b){var c=b-a;Vb(this,c,a,b);return c&65535}function Bc(a,b){var c=b-a;Vb(this,c<<8,a<<8,b<<8);return c&255}
function Cc(a,b){this.l&128||(this.s=this.h=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535}function Dc(a,b){a^=b;O(this,a);return a&65535}function Ec(a){var b=R(this,a);a=a>>6&7;var c=this.f[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.f[a]=c&65535;this.s=this.h=c;this.a-=(this.j?6:7)+b}
function Fc(a){var b=R(this,a);a=a>>6&7;var c=this.f[a]<<16|this.f[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.f[a]=d>>16&65535;this.f[a|1]=d&65535;this.s=d>>16;this.h=d>>16|d;this.a-=(this.j?6:7)+b}function W(a){a&1&&(this.m=0);a&2&&(this.g=0);a&4&&(this.h=1);a&8&&(this.s=0);this.a-=5}
function Gc(a){var b=R(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.f[a]=d&65535,this.f[a|1]=c-d*b&65535,this.h=d>>16|d,this.s=d>>16):(this.g=32768,this.h=d>>15|d,this.s=c>>16,-1===b&&65534===this.f[a]&&(this.f[a]=this.f[a|1]=1));this.a-=53}else this.h=this.s=0,this.g=32768,this.m=65536,this.a-=7}var Hc=[0,7,7,10,7,11,9,13];function Ic(a){var b=this.a;a=$b(this,a,8);this.f[7]=a&65535;this.a=b-Hc[this.j]}
var Jc=[0,14,14,17,14,18,16,20];function Kc(a){var b=this.a,c=$b(this,a,8);a=a>>6&7;Wb(this,this.f[a]);this.f[a]=this.f[7];this.f[7]=c&65535;this.a=b-Jc[this.j]}var Lc=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],Mc=[7,13,13,17,14,18,17,21];function Nc(a){var b=R(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.f[a];c&32768&&(c|=-65536);b=~~(b*c);this.f[a]=b>>16&65535;this.f[a|1]=b&65535;this.l&128||(this.s=b>>16,this.h=this.s|b,this.g=0,this.m=-32768>b||32767<b?65536:0);this.a-=23}
function Oc(){this.a-=5}function X(a){a&1&&(this.m=65536);a&2&&(this.g=32768);a&4&&(this.h=0);a&8&&(this.s=32768);this.a-=5}function Pc(a){var b=(a&448)>>6;if(this.f[b]=this.f[b]-1&65535)this.f[7]=this.f[7]-((a&63)<<1)&65535,this.a+=1;this.a-=6}function Qc(a){T(this,a,0,Cc);this.a-=this.c?9:3+(7==this.b?2:0)}function Rc(a){T(this,a,R(this,(a&448)>>6),Dc);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){K(this,8)}function Rb(a){Sc[a>>12].call(this,a)}
var Sc=[function(a){Tc[a>>8&15].call(this,a)},function(a){var b=R(this,a>>6),c=this.a;O(this,cc(this,a,b));this.a=c-Lc[(this.j?8:0)+this.c]+(7!=this.b||this.c?0:2)},function(a){var b=R(this,a>>6),c=this.j,d=this.o;a=R(this,a);Vb(this,b-a,a,b);this.a-=this.j?4+(d&&6<=this.o?1:0):(c?4:3)+(7==this.o?2:0)},function(a){var b=R(this,a>>6),c=this.j,d=this.o;a=R(this,a);O(this,b&a);this.a-=this.j?4+(d&&6<=this.o?1:0):(c?4:3)+(7==this.o?2:0)},function(a){T(this,a,R(this,a>>6),kc);this.a-=this.c?9+(this.o&&
6<=this.b?1:0):(this.j?5:3)+(7==this.b?2:0)},function(a){T(this,a,R(this,a>>6),mc);this.a-=this.c?9+(this.o&&6<=this.b?1:0):(this.j?5:3)+(7==this.b?2:0)},function(a){T(this,a,R(this,a>>6),ec);this.a-=this.c?9+(this.o&&6<=this.b?1:0):(this.j?5:3)+(7==this.b?2:0)},function(a){Uc[a>>8&15].call(this,a)},function(a){Vc[a>>8&15].call(this,a)},function(a){var b=S(this,a>>6);O(this,dc(this,a,b,1)<<8);this.a-=this.c?9+(this.o&&6<=this.b?1:0):(this.j?5:3)+(7==this.b?2:0)},function(a){var b=S(this,a>>6)<<8,
c=this.j,d=this.o;a=S(this,a)<<8;Vb(this,b-a,a,b);this.a-=this.j?4+(d&&6<=this.o?1:0):(c?4:3)+(7==this.o?2:0)},function(a){var b=S(this,a>>6),c=this.j,d=this.o;a=S(this,a);O(this,(b&a)<<8);this.a-=this.j?4+(d&&6<=this.o?1:0):(c?4:3)+(7==this.o?2:0)},function(a){U(this,a,S(this,a>>6),lc);this.a-=this.c?9+(this.o&&6<=this.b?1:0):(this.j?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),nc);this.a-=this.c?9+(this.o&&6<=this.b?1:0):(this.j?5:3)+(7==this.b?2:0)},function(a){T(this,a,R(this,a>>6),
Ac);this.a-=this.c?9+(this.o&&6<=this.b?1:0):(this.j?5:3)+(7==this.b?2:0)},Y],Tc=[function(a){Wc[a>>4&15].call(this,a)},function(a){V(this,a,!0)},function(a){V(this,a,!!(this.h&65535))},function(a){V(this,a,this.h&65535?0:4)},function(a){V(this,a,!this.va()==!(this.g&32768))},function(a){V(this,a,!this.va()!=!(this.g&32768))},function(a){V(this,a,!!(this.h&65535)&&!this.va()==!(this.g&32768))},function(a){V(this,a,(this.h&65535?0:4)||!this.va()!=!(this.g&32768))},Kc,Kc,function(a){Xc[a>>6&3].call(this,
a)},function(a){Yc[a>>6&3].call(this,a)},function(a){Zc[a>>6&3].call(this,a)},function(a){$c[a>>6&3].call(this,a)},Y,Y],Xc=[function(a){P(this,cc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,oc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,sc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,qc);this.a-=this.c?9:3+(7==this.b?2:0)}],Yc=[function(a){T(this,a,0,uc);this.a-=this.c?11:6},function(a){T(this,a,M(this)?1:0,ec);this.a-=this.c?9:3+(7==this.b?
2:0)},function(a){T(this,a,M(this)?1:0,Ac);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=R(this,a);P(this,a);this.a-=this.j?4:3+(7==this.o?2:0)}],Zc=[function(a){T(this,a,0,yc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,wc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,ic);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,gc);this.a-=this.c?9:3+(7==this.b?2:0)}],$c=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=N(this,a|65536);this.f[7]=this.f[5]&65535;
this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=ac(this,a,0);Wb(this,a);O(this,a);this.a-=11},function(a){var b=Yb(this),c=this.a;bc(this,a,0,b);O(this,b);this.a=c-Mc[this.c]},function(a){O(this,cc(this,a,this.va?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],Wc=[function(a){ad[a&15].call(this,a)},Y,Y,Y,Ic,Ic,Ic,Ic,function(a){if(a&8)K(this,8);else{var b=Yb(this);a&=7;this.f[7]=this.f[a]&65535;this.f[a]=b;this.a-=9}},function(a){a&8?(this.B&49152||(this.B=this.B&-2017|(a&7)<<5,this.l|=1),
this.a-=5):K(this,8)},function(a){bd[a&15].call(this,a)},function(a){cd[a&15].call(this,a)},Qc,Qc,Qc,Qc],ad=[function(){this.B&49152?(this.u|=128,K(this,4)):(this.S-=this.a,this.a=0);this.a-=7},function(){this.l|=4;this.f[7]=this.f[7]+-2&65535;this.a-=3},function(){Xb(this);this.l|=this.B&16;this.a-=13},function(){K(this,12);this.a-=5},function(){K(this,16);this.a-=25},function(){this.B&49152||(Sb(this),this.D.reset());this.a-=667},function(){Xb(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],bd=[Oc,function(){this.m=
0;this.a-=5},function(){this.g=0;this.a-=5},W,function(){this.h=1;this.a-=5},W,W,W,function(){this.s=0;this.a-=5},W,W,W,W,W,W,W],cd=[Oc,function(){this.m=65536;this.a-=5},function(){this.g=32768;this.a-=5},X,function(){this.h=0;this.a-=5},X,X,X,function(){this.s=32768;this.a-=5},X,X,X,X,X,X,X],Uc=[Nc,Nc,Gc,Gc,Ec,Ec,Fc,Fc,Rc,Rc,Y,Y,Y,Y,Pc,Pc],Vc=[function(a){V(this,a,!this.va())},function(a){V(this,a,this.va())},function(a){V(this,a,!M(this)&&!!(this.h&65535))},function(a){V(this,a,M(this)||(this.h&
65535?0:4))},function(a){V(this,a,!(this.g&32768))},function(a){V(this,a,this.g&32768?2:0)},function(a){V(this,a,!M(this))},function(a){V(this,a,M(this))},function(){K(this,24);this.a-=25},function(){K(this,28);this.a-=5},function(a){dd[a>>6&3].call(this,a)},function(a){ed[a>>6&3].call(this,a)},function(a){fd[a>>6&3].call(this,a)},function(a){gd[a>>6&3].call(this,a)},Y,Y],dd=[function(a){P(this,dc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,pc);this.a-=this.c?9:3+(7==this.b?
2:0)},function(a){U(this,a,1,tc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,rc);this.a-=this.c?9:3+(7==this.b?2:0)}],ed=[function(a){U(this,a,0,vc);this.a-=this.c?11:6},function(a){U(this,a,M(this)?1:0,fc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,M(this)?1:0,Bc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=S(this,a);P(this,a<<8);this.a-=this.j?4:3+(7==this.o?2:0)}],fd=[function(a){U(this,a,0,zc);this.a-=this.c?9+(this.xb&1):3+(7==this.b?2:0)},function(a){U(this,
a,0,xc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,jc);this.a-=this.c?9+(this.xb&1):3+(7==this.b?2:0)},function(a){U(this,a,0,hc);this.a-=this.c?9:3+(7==this.b?2:0)}],gd=[Y,function(a){a=ac(this,a,65536);Wb(this,a);O(this,a);this.a-=11},function(a){var b=Yb(this),c=this.a;bc(this,a,65536,b);O(this,b);this.a=c-Mc[this.c]},Y];
function hd(a){v.call(this,"ROM",a,hd);this.b=null;this.m=a.addr;this.c=a.size;this.o=a.writable;this.g=a.alias;this.h=a.file;this.s=ba(this.h);if(this.h){a=this.h;var b=ca(this.s);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){id(c,a,b,e)})}}y(hd);hd.prototype.wa=function(a,b,c,d){this.D=b;this.a=c;this.K=d;jd(this)};hd.prototype.la=function(){this.j&&(this.K&&this.K.a(this.id,this.m,this.c,this.j),delete this.j);return!0};
hd.prototype.ka=function(){return!0};
function id(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Fa(a.yb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.j=h.symbols;if(!a.b.length){r("Empty ROM: "+b);
return}if(1==a.b.length){r(a.b[0]);return}}catch(l){a.M("ROM data error: "+l.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]);jd(a)}}
function jd(a){if(!Ha(a))if(!a.h)E(a);else if(a.b&&a.D){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.c,8,!0)+")";a.i.error=!0;a.M(b)}else{b=a.m;if(Ra(a.D,b,a.c,a.o?1:ub)){var c;for(c=0;c<a.b.length;c++){var d=a.D,f=b+c;d.b[(f&d.j)>>>d.c].Zb(f&d.h,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.c,h=[],l=e.m>>>f.c;0<g&&
l<f.b.length;)h.push(f.b[l++]),g-=f.g;f=e.D;e=e.c;g=0;for(d>>>=f.c;0<e&&d<f.b.length;){l=h[g++];if(!l)break;f.b[d++]=l;e-=f.g}}delete a.b}}E(a)}}u(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new hd(d);C(d,c)}});function kd(a){v.call(this,"RAM",a,kd);this.g=a.addr;this.c=a.size;this.b=!1}y(kd);k=kd.prototype;k.wa=function(a,b,c,d){this.D=b;this.a=c;this.K=d;E(this)};k.la=function(a,b){b||this.reset();return!0};k.ka=function(a){return a?this.save():!0};
k.reset=function(){!this.b&&this.c&&Ra(this.D,this.g,this.c,1)&&(this.b=!0);this.b||r("No RAM allocated")};k.save=function(){return null};k.restore=function(){return!0};u(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new kd(d);C(d,c)}});function ld(a){v.call(this,"Keyboard",a,ld);E(this)}y(ld);ld.prototype.X=function(){return!1};ld.prototype.wa=function(a,b,c,d){this.F=a;this.a=c;this.K=d;this.Da=null};
u(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new ld(d);C(d,c)}});function Z(a){this.b={g:[],rb:0,Y:128,c:127,b:0};this.c=this.g=null;this.v=a.tabSize;this.s=a.charBOL;this.h=0;v.call(this,"SerialPort",a,Z);var b=a.binding;if("console"==b)this.g="";else{var c;a=md;b&&(void 0===c&&(c="Panel"),(c=A(c,this.id))&&(b=c.A[b])&&this.X(null,a,b))}this.j=this.m=null;this.exports={connect:this.Rb,receiveData:this.Eb}}y(Z);var md="buffer";k=Z.prototype;
k.X=function(a,b,c){var d=this;switch(b){case md:return this.A[b]=this.c=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.Eb(b);return!0},c.onkeypress=function(a){a=a||window.event;d.Eb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};k.wa=function(a,b,c,d){this.F=a;this.D=b;this.a=c;this.K=d;Ya(b,this,nd);E(this)};k.oc=function(){return this.b.rb};
k.Ic=function(a){this.b.rb=this.b.rb&128|a&-129};k.nc=function(){return 0};k.Hc=function(){};k.rc=function(){return this.b.Y};k.Lc=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};k.qc=function(){return 0};k.Kc=function(a){if(a&=127){var b=this;od(this,a);this.b.Y&=-129;I(this.a,100,4,52,function(){b.b.Y|=128;return!!(b.b.Y&64)})}};
k.Rb=function(){if(!this.j){var a=Fb(this.F,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ha(b[0]);if(c!=this.gb)return;b=ha(b[1]);if(this.j=Ga(b)){var d=this.j.exports;if(d){var f=d.connect;f&&f.call(this.j);if(this.m=d.receiveData){this.status(this.yb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.la=function(a,b){if(!b)if(this.Rb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.ka=function(a){return a?this.save():!0};k.reset=function(){this.b.rb=0;this.b.Y=128};k.save=function(){var a=new L(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.Eb=function(a){if("number"==typeof a)this.o.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.o.push(a.charCodeAt(b));else this.o=this.o.concat(a);return!0};
function od(a,b){a.m&&a.m.call(a.j,b);if(a.c)if(13==b)a.h=0;else if(8==b)a.c.value=a.c.value.slice(0,-1),0<a.h&&a.h--;else{var c;c=(c=ia[b])?"<"+c+">":String.fromCharCode(b);var d=c.length;32>b&&1==d&&(d=0);9==b&&(b=a.v||8,d=b-a.h%b,a.v&&(c=" ".slice(0,d)));a.s&&!a.h&&d&&(c=String.fromCharCode(a.s)+c);a.c.value+=c;a.c.scrollTop=a.c.scrollHeight;a.h+=d}else if(null!=a.g){if(10==b||1024<=a.g.length)a.U(a.g),a.g="";10!=b&&(a.g+=String.fromCharCode(b))}}
var pd={},nd=(pd[65392]=[null,null,Z.prototype.oc,Z.prototype.Ic,"RCSR"],pd[65394]=[null,null,Z.prototype.nc,Z.prototype.Hc,"RBUF"],pd[65396]=[null,null,Z.prototype.rc,Z.prototype.Lc,"XCSR"],pd[65398]=[null,null,Z.prototype.qc,Z.prototype.Kc,"XBUF"],pd);u(function(){for(var a=D(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Z(d);C(d,c)}});
function qd(a,b,c){v.call(this,"Computer",a,qd);this.i.N=!1;rd(this,b);this.F=Fb(this,"autoPower",a);this.g=0;this.Z=a.busWidth||a.buswidth;this.b=sd;this.s=null;this.m=this.R=!1;this.url=Fb(this,"url")||"";(Math.random()+.1).toString(36);this.c=td(this);if(this.a=A("CPU",this.id)){this.K=A("Debugger",this.id);this.D=new La({id:this.yb+".bus",busWidth:this.Z},this.a,this.K);var d,f=z(this.id);if((this.h=A("Panel",this.id))&&this.h.Ab)for(b=0;b<f.length;b++)d=f[b],d.M=this.h.M,d.U=this.h.U,d.Ab=this.h.Ab;
this.U("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.U("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.wa&&d.wa(this,this.D,this.a,this.K);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.o=d:this.b=parseInt(d,10));var e;if(a=Fb(this,"state")||(e=!0,a.state))b=this.H=a,e||(this.m=!0,this.b=sd),this.b&&(this.v=new L(this,
"1.30.0"),ud(this.v)?b=null:delete this.v);!b&&this.b&&(b=vd(this))&&(this.m=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.o=null,g.m=!1,g.M("Unable to load machine state from server (error "+c+(b?": "+ha(b):"")+")")):(g.s=b,g.R=!0);E(g)})}else E(this);this.A.power||(this.F=!0);!c&&this.F&&wd(this,this.Za)}else r("Unable to find CPU component")}y(qd);var sd=0;
function rd(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 Fb(a,b,c){var d=b.toLowerCase(),d=za[b]||za[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 wd(a,b,c){for(var d=z(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ha(e)){Ha(e,function(){wd(a,b,c)});return}}b.call(a,c)}
function xd(a,b){var c=new L(a,"1.30.0","validate");if(ud(c)&&yd(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())}}k=qd.prototype;
k.Za=function(a){void 0===a&&(a=this.b||(this.s?1:sd));if(!this.g){this.g++;var b=!1,c=!1;this.I=!1;var d=this.v||new L(this,"1.30.0");if(-1==a)b=!0;else if(a>sd){if(ud(d,this.s)){this.j=new L(this,"1.30.0","failsafe");ud(this.j)&&(zd(this,d),a=2,Ad(this.j));this.j.set("timestamp",ka());Bd(this.j);var f=this.b&&!this.m;if(1==a||la("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=yd(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?ud(d,g):("error"==
e&&"no machine state"!=g?(this.M("Error: "+g),"unable to verify user"==g&&(pa("user",""),this.c=null)):this.U(e+": "+g),Ad(d),ud(d)?(c=yd(d),f=!0):c=!1))}f&&xd(this,c?d:null)}else 2==a&&d.clear()}else xd(this);delete this.s;delete this.v}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=Cd(this,g,d,b,c));b=[d,a,c];-1!=a?wd(this,this.Kb,b):this.Kb(b)}};
function Cd(a,b,c,d,f){if(!b.i.N){b.i.N=!0;if(b.la){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.la(e,d)&&e&&(r("Unable to restore state for "+b.type),a.H&&!a.R?(c.clear(),a.b=sd,window&&window.location.reload()):a.I=!0,b.la(null),f=!1)}if(!d&&b.Nb)for(a=b.Nb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
k.Kb=function(a){var b=a[0],c=0>a[1];a=a[2];this.$=!0;this.i.N=!0;var d=this.A.power;d&&(d.textContent="Shutdown");this.a&&(Cd(this,this.a,b,c,a),this.a.Wa());this.I&&(zd(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.g=0};
function zd(a,b){if(la("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.c||"";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 Dd(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new L(a,"1.30.0"),g=new L(a,"1.30.0","validate"),h=ka();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.ka&&(c&&Lb(a.a),d=a.a.ka(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.i.N=!1,!1===d&&(f=null)));for(var h=z(a.id),l=0;l<h.length;l++){var m=h[l];m.i.N&&(m.ka&&(d=m.ka(b,c),"object"===typeof d&&e.set(m.id,
d)),c&&(m.i.N=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.c&&Ed(a,a.c,e.toString()),Bd(g)&&Bd(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.i.N=!1,b=a.A.power)&&(b.textContent="Power");a.g=0;return f}k.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()}};k.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)}};
k.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)}};
k.X=function(a,b,c){var d=this;switch(b){case "power":return this.w[b]=c,c.onclick=function(){d.g||(d.h.N?Bd(d,!1,!0):ud(d,d.Za))},!0;case "reset":return this.w[b]=c,c.onclick=function(){if(d.h.N&&!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.");Bd(d,a,!0);!a&&d.H?window&&window.location.reload():d.Za(qd)}else d.reset(),d.a&&d.a.Wa()},!0;case "save":if(da())c.parentNode.removeChild(c);else return this.w[b]=
c,c.onclick=function(){var a=rd(d,!0);if(a){var b=!!(d.b&&!d.s||d.H),c=Bd(d,b);b?Cd(d,a,c):d.M("Resume disabled, machine state not saved")}},!0}return!1};
function rd(a,b){var c=a.c;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=Dd(a,c))||a.M("The user ID is invalid.")):b&&a.M("Browser local storage is not available"));return c}
function Dd(a,b){a.c=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&&(oa("user",b.data),a.c=b.data)}catch(d){r(d.message+" ("+c+")")}return a.c}function td(a){var b=null;a.c&&(b=ea()+"/api/v1/user?req=load&user="+a.c+"&state="+Ed(a,"1.30.0"));return b}
function Cd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ed(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),oa("user",""),a.c=null)}}
k.Sa=function(a){this.a&&this.a.Sa(a);this.i&&this.i.Sa(a)};u(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=D(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=B(e),g=new od(g,d,!0);C(g,e);g.F&&ud(g,g.Za)}});t.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=A("Computer",c.id))&&c.Z&&!c.h.N&&c.Za(-1)}});
t.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=A("Computer",c.id))&&c.h.N&&Bd(c,!(!c.b||c.s),!0)}});function L(a,b,c){this.id=a.id;this.key=Ed(a,b,c);this.K=a.K;yd(this,a.fc)}function Ed(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
L.prototype={constructor:L,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){yd(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 yd(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function zd(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 wd(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){r(c.message||c),b=!1}return b}function sd(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 Fd=0;
function Gd(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),e(h,null)):Hd(h,a,b,c,d,f,e)})}
function Hd(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?Id(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Id(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 l=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(e);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Id(a,b,c)}})}else c(a,null)}
function Jd(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=ga(a))}function e(a){f("Error: "+a);l&&(--Fd||va(!0));l=!1}var g,h,l=!0;Fd++;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?Gd(c,null,null,!1,f,function(d,l){l?(Ea(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--Fd||va(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Fd||va(!0)):e("invalid machine element: "+
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Gd(b,a,d,!0,f,m):Hd(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(F){e(F.message)}return l}window.embedPDP11=function(a,b,c,d){va(!1);return Jd(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})();
k.X=function(a,b,c){var d=this;switch(b){case "power":return this.A[b]=c,c.onclick=function(){d.g||(d.i.N?Dd(d,!1,!0):wd(d,d.Za))},!0;case "reset":return this.A[b]=c,c.onclick=function(){if(d.i.N&&!d.g)if(d.b&&!d.o){var a=la("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Dd(d,a,!0);!a&&d.H?window&&window.location.reload():d.Za(sd)}else d.reset(),d.a&&d.a.Wa()},!0;case "save":if(da())c.parentNode.removeChild(c);else return this.A[b]=
c,c.onclick=function(){var a=td(d,!0);if(a){var b=!!(d.b&&!d.o||d.H),c=Dd(d,b);b?Ed(d,a,c):d.M("Resume disabled, machine state not saved")}},!0}return!1};
function td(a,b){var c=a.c;c||((c=oa("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Fd(a,c))||a.M("The user ID is invalid.")):b&&a.M("Browser local storage is not available"));return c}
function Fd(a,b){a.c=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&&(pa("user",b.data),a.c=b.data)}catch(d){r(d.message+" ("+c+")")}return a.c}function vd(a){var b=null;a.c&&(b=ea()+"/api/v1/user?req=load&user="+a.c+"&state="+Gd(a,"1.30.0"));return b}
function Ed(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Gd(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),pa("user",""),a.c=null)}}
k.Sa=function(a){this.a&&this.a.Sa(a);this.h&&this.h.Sa(a)};u(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=D(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=B(e),g=new qd(g,d,!0);C(g,e);g.F&&wd(g,g.Za)}});t.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=A("Computer",c.id))&&c.$&&!c.i.N&&c.Za(-1)}});
t.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=A("Computer",c.id))&&c.i.N&&Dd(c,!(!c.b||c.o),!0)}});function L(a,b,c){this.id=a.id;this.key=Gd(a,b,c);this.K=a.K;Ad(this,a.fc)}function Gd(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
L.prototype={constructor:L,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){Ad(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 Ad(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Bd(a){var b=!0;if(na()){var c=JSON.stringify(a[a.id]);pa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function yd(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){r(c.message||c),b=!1}return b}function ud(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:na()&&(b=oa(a.key))?(a[a.id]=b,a.a=!0):!1}var Hd=0;
function Id(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),e(h,null)):Jd(h,a,b,c,d,f,e)})}
function Jd(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Fa(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?Kd(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Kd(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 l=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(e);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Kd(a,b,c)}})}else c(a,null)}
function Ld(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=ga(a))}function e(a){f("Error: "+a);l&&(--Hd||wa(!0));l=!1}var g,h,l=!0;Hd++;Ea[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?Id(c,null,null,!1,f,function(d,l){l?(Fa(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--Hd||wa(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Hd||wa(!0)):e("invalid machine element: "+
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Id(b,a,d,!0,f,m):Jd(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(F){e(F.message)}return l}window.embedPDP11=function(a,b,c,d){wa(!1);return Ld(a,b,c,d)};window.enableEvents=wa;window.sendEvent=xa;})();