Implemented opJSR, removed more "negative address" tests (eg, in pushWord); bad addresses should result in special exceptions, not negative return values
This commit is contained in:
parent
a4613082f8
commit
1ec60573d5
6 changed files with 1315 additions and 1308 deletions
|
|
@ -854,10 +854,11 @@ PDP11.opIOT = function(opCode)
|
||||||
*/
|
*/
|
||||||
PDP11.opJSR = function(opCode)
|
PDP11.opJSR = function(opCode)
|
||||||
{
|
{
|
||||||
/*
|
var addr = this.getVirtualByMode(opCode, PDP11.ACCESS.VIRT);
|
||||||
* TODO: Implement
|
var reg = (opCode >> PDP11.SRCMODE.SHIFT) & PDP11.OPREG.MASK;
|
||||||
*/
|
this.pushWord(this.regsGen[reg]);
|
||||||
this.regOp = -1;
|
this.regsGen[reg] = this.regsGen[PDP11.REG.PC];
|
||||||
|
this.regsGen[PDP11.REG.PC] = addr;
|
||||||
this.nStepCycles -= 1;
|
this.nStepCycles -= 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -203,6 +203,10 @@ var PDP11 = {
|
||||||
MASK: 0x0FC0,
|
MASK: 0x0FC0,
|
||||||
SHIFT: 6
|
SHIFT: 6
|
||||||
},
|
},
|
||||||
|
REG: {
|
||||||
|
SP: 6,
|
||||||
|
PC: 7,
|
||||||
|
},
|
||||||
/*
|
/*
|
||||||
* PDP-11 trap vectors
|
* PDP-11 trap vectors
|
||||||
*/
|
*/
|
||||||
|
|
@ -222,12 +226,13 @@ var PDP11 = {
|
||||||
* Internal memory access flags
|
* Internal memory access flags
|
||||||
*/
|
*/
|
||||||
ACCESS: {
|
ACCESS: {
|
||||||
WORD: 0x0,
|
WORD: 0x00,
|
||||||
BYTE: 0x1,
|
BYTE: 0x01,
|
||||||
READ: 0x2,
|
READ: 0x02,
|
||||||
WRITE: 0x4,
|
WRITE: 0x04,
|
||||||
UPDATE: 0x6,
|
UPDATE: 0x06,
|
||||||
DSPACE: 0x10000 // set bit 17 in any 16-bit virtual address that refers to D space (as opposed to I space)
|
VIRT: 0x08, // getVirtualByMode() leaves bit 17 clear if this is set (otherwise the caller would have to clear it again)
|
||||||
|
DSPACE: 0x10000, // getVirtualByMode() sets bit 17 in any 16-bit virtual address that refers to D space (as opposed to I space)
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* Internal flags passed to writeByteByMode(), etc.
|
* Internal flags passed to writeByteByMode(), etc.
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,8 @@ if (NODE) {
|
||||||
* name: the name of the device to be supported (eg, "unibus" for generic UNIBUS support)
|
* name: the name of the device to be supported (eg, "unibus" for generic UNIBUS support)
|
||||||
*
|
*
|
||||||
* TODO: This is currently a "catch-all" device; ideally, each of the assorted devices emulated here
|
* TODO: This is currently a "catch-all" device; ideally, each of the assorted devices emulated here
|
||||||
* (eg, KW11, RK11, RL11, etc) would be a separate component. But because we're in the middle of porting
|
* (eg, DL11, KW11, RK11, RL11, etc) would be a separate component. But because we're in the middle of
|
||||||
* all this code from a common module (iopage.js), that's the way it is.
|
* porting all this code from a common module (iopage.js), that's the way it is.
|
||||||
*
|
*
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends Component
|
* @extends Component
|
||||||
|
|
@ -63,7 +63,7 @@ function DevicePDP11(parmsDevice)
|
||||||
this.tty = {
|
this.tty = {
|
||||||
rbuf: [],
|
rbuf: [],
|
||||||
rcsr: 0,
|
rcsr: 0,
|
||||||
xcsr: 0x80, /*0200*/
|
xcsr: PDP11.DL11.XCSR.READY,
|
||||||
delCode: 127,
|
delCode: 127,
|
||||||
del: 0
|
del: 0
|
||||||
};
|
};
|
||||||
|
|
@ -248,17 +248,17 @@ DevicePDP11.prototype.readXCSR = function(addr)
|
||||||
DevicePDP11.prototype.writeXCSR = function(data, addr)
|
DevicePDP11.prototype.writeXCSR = function(data, addr)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* If the device is READY and INT_ENABLE is transitioning to *set*, generate an interrupt.
|
* If the device is READY, and INT_ENABLE is transitioning to *set*, then generate an interrupt.
|
||||||
*/
|
*/
|
||||||
var device = this;
|
|
||||||
if ((this.tty.xcsr & (PDP11.DL11.XCSR.READY | PDP11.DL11.XCSR.INT_ENABLE)) == PDP11.DL11.XCSR.READY && (data & PDP11.DL11.XCSR.INT_ENABLE)) {
|
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.DELAY, PDP11.DL11.PRI, PDP11.DL11.VEC, function() {
|
||||||
device.tty.xcsr |= PDP11.DL11.XCSR.READY;
|
device.tty.xcsr |= PDP11.DL11.XCSR.READY;
|
||||||
return !!(device.tty.xcsr & PDP11.DL11.XCSR.INT_ENABLE);
|
return !!(device.tty.xcsr & PDP11.DL11.XCSR.INT_ENABLE);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* In any event, update all bits from data *except* for READY.
|
* In any event, propagate all bits from data *except* for READY.
|
||||||
*/
|
*/
|
||||||
this.tty.xcsr = (this.tty.xcsr & PDP11.DL11.XCSR.READY) | (data & ~PDP11.DL11.XCSR.READY);
|
this.tty.xcsr = (this.tty.xcsr & PDP11.DL11.XCSR.READY) | (data & ~PDP11.DL11.XCSR.READY);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,217 +1,197 @@
|
||||||
(function(){var l;
|
(function(){var l;
|
||||||
function ba(a,b){var d;if(a){b||(b=10);var c=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==c?(b=8,c=null):"$"==c&&(b=16,c=null);null==c?a=a.substr(1):("0"==c&&(c=a.charAt(1),"b"==c&&e&&(b=2,c=null),"o"==c?(b=8,c=null):"x"==c&&(b=16,c=null)),null==c?a=a.substr(2):(c=a.charAt(a.length-1).toLowerCase(),"y"==c?(b=2,c=null):"."==c?(b=10,c=null):"h"==c&&(b=16,c=null),null==c&&(a=a.substr(0,a.length-1))));var f,c=a;((e=b)&&10!=e?16==e?c.match(/^[0-9a-f]+$/i):8==e?c.match(/^[0-7]+$/):2==e&&
|
function ba(a,b){var d;if(a){b||(b=10);var c=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==c?(b=8,c=null):"$"==c&&(b=16,c=null);null==c?a=a.substr(1):("0"==c&&(c=a.charAt(1),"b"==c&&f&&(b=2,c=null),"o"==c?(b=8,c=null):"x"==c&&(b=16,c=null)),null==c?a=a.substr(2):(c=a.charAt(a.length-1).toLowerCase(),"y"==c?(b=2,c=null):"."==c?(b=10,c=null):"h"==c&&(b=16,c=null),null==c&&(a=a.substr(0,a.length-1))));var e,c=a;((f=b)&&10!=f?16==f?c.match(/^[0-9a-f]+$/i):8==f?c.match(/^[0-7]+$/):2==f&&
|
||||||
c.match(/^[01]+$/):c.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(d=f|0)}return d}function ca(a,b,d){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return(d?"0o":"")+c}function r(a,b,d){var c="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),c=String.fromCharCode(e)+c;a>>=4}return(d?"0x":"")+c}
|
c.match(/^[01]+$/):c.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(d=e|0)}return d}function ca(a,b,d){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return(d?"0o":"")+c}function r(a,b,d){var c="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),c=String.fromCharCode(f)+c;a>>=4}return(d?"0x":"")+c}
|
||||||
function da(a){var b=a,d=a.lastIndexOf("/");0<=d&&(b=a.substr(d+1));d=b.indexOf("&");0<d&&(b=b.substr(0,d));return b}function ia(a){var b="",d=a.lastIndexOf(".");0<=d&&(b=a.substr(d+1).toLowerCase());return b}function ja(){var a=ka();return-1!==a.indexOf("pcjs.org",a.length-8)}var la={"&":"&","<":"<",">":">",'"':""","'":"'"};function ma(a){return a.replace(/[&<>"']/g,function(a){return la[a]})}function na(a,b){return(a+" ").slice(0,b)}
|
function da(a){var b=a,d=a.lastIndexOf("/");0<=d&&(b=a.substr(d+1));d=b.indexOf("&");0<d&&(b=b.substr(0,d));return b}function ea(a){var b="",d=a.lastIndexOf(".");0<=d&&(b=a.substr(d+1).toLowerCase());return b}function fa(){var a=ga();return-1!==a.indexOf("pcjs.org",a.length-8)}var ia={"&":"&","<":"<",">":">",'"':""","'":"'"};function ja(a){return a.replace(/[&<>"']/g,function(a){return ia[a]})}function ka(a,b){return(a+" ").slice(0,b)}
|
||||||
function oa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function qa(a,b,d){var c=0,e=a.length,f=0;for(d||(d=function(a,b){return a>b?1:a<b?-1:0});c<e;){var g=c+e>>1,h;h=d(b,a[g]);0<h?c=g+1:(e=g,f=!h)}return f?c:~c}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 la(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function pa(a,b,d){var c=0,f=a.length,e=0;for(d||(d=function(a,b){return a>b?1:a<b?-1:0});c<f;){var g=c+f>>1,h;h=d(b,a[g]);0<h?c=g+1:(f=g,e=!h)}return e?c:~c}var qa=Date.now||function(){return+new Date};function ra(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||||
function ta(a,b,d,c){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return c&&c(a,f,e),[f,e];if(d&&"function"==typeof resources)return resources(a,function(b,d){c&&c(a,b,d)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");d&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),c&&c(a,f,e))});if(b&&"object"==
|
function sa(a,b,d,c){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return c&&c(a,e,f),[e,f];if(d&&"function"==typeof resources)return resources(a,function(b,d){c&&c(a,b,d)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");d&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),c&&c(a,e,f))});if(b&&"object"==
|
||||||
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!d);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!d),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();d||(f=h.responseText,200!=h.status&&(e=h.status||-1),c&&c(a,f,e),g=[f,e]);return g}function ka(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!d);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!d),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();d||(e=h.responseText,200!=h.status&&(f=h.status||-1),c&&c(a,e,f),g=[e,f]);return g}function ga(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||||
function t(a){window&&window.alert(a)}function xa(a){var b=!1;window&&(b=window.confirm(a));return b}var ya=null;function za(){if(null==ya){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}ya=a}return ya}function Aa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(d){}return b}
|
function t(a){window&&window.alert(a)}function ta(a){var b=!1;window&&(b=window.confirm(a));return b}var ua=null;function va(){if(null==ua){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ua=a}return ua}function wa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(d){}return b}
|
||||||
function Ba(a,b){try{return window.localStorage.setItem(a,b),!0}catch(d){}return!1}function Ca(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Da(a,b,d){function c(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(c,0):d()}c()}
|
function xa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(d){}return!1}function Ca(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Da(a,b,d){function c(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(c,0):d()}c()}
|
||||||
function Ea(a,b){function d(){b(100===c)&&(e=setTimeout(d,c),c=100)}var c=0,e=null,f=!1;a.onmousedown=function(){f||e||(c=500,d())};a.ontouchstart=function(){e||(c=500,d())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Fa={init:[],show:[],exit:[]},Ka=!1,La=!1,Ma=!0;function Na(a,b){if(window){var d=window[a];window[a]="function"!==typeof d?b:function(){d&&d();b()}}}function Oa(a){Fa.init.push(a)}
|
function Ea(a,b){function d(){b(100===c)&&(f=setTimeout(d,c),c=100)}var c=0,f=null,e=!1;a.onmousedown=function(){e||f||(c=500,d())};a.ontouchstart=function(){f||(c=500,d())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Fa={init:[],show:[],exit:[]},Ga=!1,Ha=!1,Ia=!0;function Ja(a,b){if(window){var d=window[a];window[a]="function"!==typeof d?b:function(){d&&d();b()}}}function Ka(a){Fa.init.push(a)}
|
||||||
function Pa(a){if(Ma)try{for(var b=0;b<a.length;b++)a[b]()}catch(d){t(""+("An unexpected exception occurred:\n\n"+d.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Qa(a){!Ma&&a?(Ma=!0,Ka&&Ra("init"),La&&Ra("show")):Ma=a}function Ra(a){Fa[a]&&Pa(Fa[a])}Na("onload",function(){Ka=!0;Pa(Fa.init)});Na("onpageshow",function(){La=!0;Pa(Fa.show)});Na(Ca("Opera")||Ca("iOS")?"onunload":"onbeforeunload",function(){Pa(Fa.exit)});
|
function La(a){if(Ia)try{for(var b=0;b<a.length;b++)a[b]()}catch(d){t(""+("An unexpected exception occurred:\n\n"+d.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ma(a){!Ia&&a?(Ia=!0,Ga&&Na("init"),Ha&&Na("show")):Ia=a}function Na(a){Fa[a]&&La(Fa[a])}Ja("onload",function(){Ga=!0;La(Fa.init)});Ja("onpageshow",function(){Ha=!0;La(Fa.show)});Ja(Ca("Opera")||Ca("iOS")?"onunload":"onbeforeunload",function(){La(Fa.exit)});
|
||||||
function u(a,b,d,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.rc=b.comment;this.Pc=b;b=this.id.indexOf(".");0>b?this.Fb=this.id:(this.tc=this.id.substr(0,b),this.Fb=this.id.substr(b+1));this[a]=d;this.j={ready:!1,qb:!1,ic:!1,ga:!1,error:!1};this.ac=null;this.j.error=!1;this.P={};this.I=null;this.ja=c||0;v.push(this)}var Sa=void 0,Ta={};
|
function u(a,b,d,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.qc=b.comment;this.Pc=b;b=this.id.indexOf(".");0>b?this.Eb=this.id:(this.sc=this.id.substr(0,b),this.Eb=this.id.substr(b+1));this[a]=d;this.u={ready:!1,pb:!1,hc:!1,ba:!1,error:!1};this.Zb=null;this.u.error=!1;this.J={};this.C=null;this.ca=c||0;v.push(this)}var Oa=void 0,Pa={};
|
||||||
if(window){Sa||(Sa=window.location.search.substr(1));for(var Ua,Va=/\+/g,Wa=/([^&=]+)=?([^&]*)/g;Ua=Wa.exec(Sa);)Ta[decodeURIComponent(Ua[1].replace(Va," "))]=decodeURIComponent(Ua[2].replace(Va," "))}function Xa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var d=typeof a;if("object"!==d&&"function"!==d)throw new TypeError;}b.prototype=a;return new b}
|
if(window){Oa||(Oa=window.location.search.substr(1));for(var Qa,Ra=/\+/g,Sa=/([^&=]+)=?([^&]*)/g;Qa=Sa.exec(Oa);)Pa[decodeURIComponent(Qa[1].replace(Ra," "))]=decodeURIComponent(Qa[2].replace(Ra," "))}function Ta(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var d=typeof a;if("object"!==d&&"function"!==d)throw new TypeError;}b.prototype=a;return new b}
|
||||||
function w(a,b){b||(b=u);a.prototype=Xa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ya=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ya={},v=[];function Za(a,b,d){Ya[a]&&b&&(Ya[a][b]=d)}function $a(a){var b,d=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var c=v[b];a&&c.id.indexOf(a)||d.push(c)}return d}
|
function w(a,b){b||(b=u);a.prototype=Ta(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ua=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ua={},v=[];function Va(a,b,d){Ua[a]&&b&&(Ua[a][b]=d)}function gb(a){var b,d=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var c=v[b];a&&c.id.indexOf(a)||d.push(c)}return d}
|
||||||
function ab(a,b){var d;if(void 0!==a){var c;b&&(b=0<(c=b.indexOf("."))?b.substr(0,c+1):"");for(c=0;c<v.length;c++)if(d)d==v[c]&&(d=null);else if(!(a!=v[c].type||b&&v[c].id.indexOf(b)))return v[c]}return null}function y(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(d){t(d.message+" ("+a+")")}return b}
|
function hb(a,b){var d;if(void 0!==a){var c;b&&(b=0<(c=b.indexOf("."))?b.substr(0,c+1):"");for(c=0;c<v.length;c++)if(d)d==v[c]&&(d=null);else if(!(a!=v[c].type||b&&v[c].id.indexOf(b)))return v[c]}return null}function y(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(d){t(d.message+" ("+a+")")}return b}
|
||||||
function bb(a,b){b=B(b.parentNode,"pdp11-control");for(var d=0;d<b.length;d++)for(var c=b[d].childNodes,e=0;e<c.length;e++){var f=c[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 "pdp11-binding":(g=y(f))&&g.binding&&a.wa(g.type,g.binding,f,g.value),k=h.length}}}}
|
function ib(a,b){b=C(b.parentNode,"pdp11-control");for(var d=0;d<b.length;d++)for(var c=b[d].childNodes,f=0;f<c.length;f++){var e=c[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=y(e))&&g.binding&&a.oa(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||||
function B(a,b,d){d&&(b+="-"+d+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var c;d=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(c=a.length;b<c;b++)e.test(a[b].className)&&d.push(a[b]);return d}
|
function C(a,b,d){d&&(b+="-"+d+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var c;d=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(c=a.length;b<c;b++)f.test(a[b].className)&&d.push(a[b]);return d}
|
||||||
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},wa:function(a,b,d){switch(b){case "clear":return this.P[b]||(this.P[b]=d,d.onclick=function(a){return function(){a.P.print&&(a.P.print.value="")}}(this)),!0;case "print":return this.P[b]||(this.ib=this.P[b]=d,d.value="",this.i=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(d),
|
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},oa:function(a,b,d){switch(b){case "clear":return this.J[b]||(this.J[b]=d,d.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.hb=this.J[b]=d,d.value="",this.f=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(d),
|
||||||
this.sa=function(a){this.i(a,this.Fb)}),!0;default:return!1}},log:function(){},i:function(){},status:function(a){this.i(this.Fb+": "+a)},sa:function(a,b,d){d=d||this.type;b||t((d?d+": ":"")+a)},Qa:function(){return this.j.ga=!0},Pa:function(a,b){b&&(this.j.ga=!1);return!0}};function cb(a,b){if(a.I){a===a.I?b|=0:b=b||a.ja;var d=a.I.ja&b;return!!b&&d===b||!!(d&a.I.Jc)}return!1}
|
this.ka=function(a){this.f(a,this.Eb)}),!0;default:return!1}},log:function(){},f:function(){},status:function(a){this.f(this.Eb+": "+a)},ka:function(a,b,d){d=d||this.type;b||t((d?d+": ":"")+a)},La:function(){return this.u.ba=!0},Ka:function(a,b){b&&(this.u.ba=!1);return!0}};function jb(a,b){if(a.C){a===a.C?b|=0:b=b||a.ca;var d=a.C.ca&b;return!!b&&d===b||!!(d&a.C.Jc)}return!1}
|
||||||
function db(a,b){if(a.j.ic)return a.j.qb&&(a.j.qb=!1),a.j.ic=!1;if(a.j.error)return a.i(a.toString()+" error"),!1;a.j.qb=b;return a.j.qb}function eb(a,b){a.j.qb&&(b?a.j.ic=!0:void 0===b&&a.i(a.toString()+" busy"));return a.j.qb}function D(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.ac;a.ac=null;b&&b()}}function qb(a,b){b&&(a.j.ready?b():a.ac=b);return a.j.ready}function rb(a,b){a.j.error=!0;a.sa(b)}
|
function kb(a,b){if(a.u.hc)return a.u.pb&&(a.u.pb=!1),a.u.hc=!1;if(a.u.error)return a.f(a.toString()+" error"),!1;a.u.pb=b;return a.u.pb}function lb(a,b){a.u.pb&&(b?a.u.hc=!0:void 0===b&&a.f(a.toString()+" busy"));return a.u.pb}function D(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.Zb;a.Zb=null;b&&b()}}function mb(a,b){b&&(a.u.ready?b():a.Zb=b);return a.u.ready}function nb(a,b){a.u.error=!0;a.ka(b)}
|
||||||
var sb="undefined"!==typeof ArrayBuffer,tb=2,E=4,F=6,tb=0|tb,ub=1|tb,E=0|E,vb=1|E,F=0|F,G=1|F,H={cpu:1,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function wb(a){u.call(this,"Panel",a,wb)}w(wb);l=wb.prototype;l.wa=function(a,b,d,c){return this.w&&this.w.wa(a,b,d,c)||this.b&&this.b.wa(a,b,d,c)||this.I&&this.I.wa(a,b,d,c)?!0:this.parent.wa.call(this,a,b,d,c)};
|
var ob="undefined"!==typeof ArrayBuffer,pb=2,E=4,qb=6,pb=0|pb,rb=1|pb,E=0|E,sb=1|E,qb=0|qb,tb=1|qb,F={cpu:1,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function ub(a){u.call(this,"Panel",a,ub)}w(ub);l=ub.prototype;l.oa=function(a,b,d,c){return this.g&&this.g.oa(a,b,d,c)||this.b&&this.b.oa(a,b,d,c)||this.C&&this.C.oa(a,b,d,c)?!0:this.parent.oa.call(this,a,b,d,c)};
|
||||||
l.$a=function(a,b,d,c){this.w=a;this.H=b;this.b=d;this.I=c};l.Qa=function(a,b){b||xb();return!0};l.Pa=function(){return!0};l.Ba=function(){};function xb(){for(var a=!1,b=B(document,"pdp11","panel"),d=0;d<b.length;d++){var c=b[d],e=y(c),f;a:{f=e.id;if(void 0!==f){var g;for(g=0;g<v.length;g++)if(v[g].id===f){f=v[g];break a}}f=null}f||(a=!0,f=new wb(e));bb(f,c);a&&D(f)}}Oa(xb);
|
l.Ya=function(a,b,d,c){this.g=a;this.A=b;this.b=d;this.C=c};l.La=function(a,b){b||vb();return!0};l.Ka=function(){return!0};l.ua=function(){};function vb(){for(var a=!1,b=C(document,"pdp11","panel"),d=0;d<b.length;d++){var c=b[d],f=y(c),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<v.length;g++)if(v[g].id===e){e=v[g];break a}}e=null}e||(a=!0,e=new ub(f));ib(e,c);a&&D(e)}}Ka(vb);
|
||||||
function yb(a,b,d){u.call(this,"Bus",a,yb);this.b=b;this.I=d;this.O=a.busWidth||16;this.G=Math.pow(2,this.O);this.H=this.G-1|0;this.Z=(this.O>>1)+2;10>this.Z&&(this.Z=10);15<this.Z&&(this.Z=15);this.Da=1<<this.Z;this.R=this.Da>>2;this.g=this.Da-1;this.u=this.G/this.Da|0;this.w=this.u-1;this.Wa=[];this.J=null;this.Lb=this.Fc;a=new I;zb(a,this.I);this.S=Array(this.u);for(b=0;b<this.u;b++)this.S[b]=a;this.Gb=Array(4);this.Gb[0]=Ab;this.Gb[1]=Bb;this.Gb[2]=Cb;this.Gb[3]=Db;Eb(this,this.G-8192,8192,Fb,
|
function wb(a,b,d){u.call(this,"Bus",a,wb);this.b=b;this.C=d;this.I=a.busWidth||16;this.D=Math.pow(2,this.I);this.g=this.D-1|0;this.R=(this.I>>1)+2;10>this.R&&(this.R=10);15<this.R&&(this.R=15);this.za=1<<this.R;this.K=this.za>>2;this.A=this.za-1;this.B=this.D/this.za|0;this.j=this.B-1;this.Ta=[];this.F=null;this.Jb=this.Fc;a=new G;xb(a,this.C);this.L=Array(this.B);for(b=0;b<this.B;b++)this.L[b]=a;this.Fb=Array(4);this.Fb[0]=yb;this.Fb[1]=zb;this.Fb[2]=Ab;this.Fb[3]=Bb;Cb(this,this.D-8192,8192,Db,
|
||||||
this);Eb(this,57344,8192,Fb,this);D(this)}w(yb);function Ab(a,b){var d=this.controller,c=d.Wa[a];if(c){if(c[0])return c[0](b);if(c[2])return b&1?c[2](b&-2)>>8:c[2](b)&255}else if(b&1&&(c=d.Wa[a&-2],c[2]))return c[2](b&-2)>>8;d.i("warning: unconverted read access to byte @"+ca(b));return d.Lb(b,-1,1)}
|
this);Cb(this,57344,8192,Db,this);D(this)}w(wb);function yb(a,b){var d=this.controller,c=d.Ta[a];if(c){if(c[0])return c[0](b);if(c[2])return b&1?c[2](b&-2)>>8:c[2](b)&255}else if(b&1&&(c=d.Ta[a&-2],c[2]))return c[2](b&-2)>>8;d.f("warning: unconverted read access to byte @"+ca(b));return d.Jb(b,-1,1)}
|
||||||
function Bb(a,b,d){var c=this.controller,e=c.Wa[a];if(e){if(e[1]){e[1](b,d);return}if(e[3]){a=e[2]?e[2](d):0;if(d&1)e[3](a&255|b<<8,d&-2);else e[3](a&-256|b,d);return}}else if(d&1&&(e=c.Wa[a&-2],e[3])){d&=-2;a=e[2]?e[2](d):0;e[3](a&255|b<<8,d);return}c.i("warning: unconverted write access to byte @"+ca(d));c.Lb(d,b,1)}
|
function zb(a,b,d){var c=this.controller,f=c.Ta[a];if(f){if(f[1]){f[1](b,d);return}if(f[3]){a=f[2]?f[2](d):0;if(d&1)f[3](a&255|b<<8,d&-2);else f[3](a&-256|b,d);return}}else if(d&1&&(f=c.Ta[a&-2],f[3])){d&=-2;a=f[2]?f[2](d):0;f[3](a&255|b<<8,d);return}c.f("warning: unconverted write access to byte @"+ca(d));c.Jb(d,b,1)}
|
||||||
function Cb(a,b){var d=this.controller;if(a=d.Wa[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}d.i("warning: unconverted read access to word @"+ca(b));return d.Lb(b,-1,0)}function Db(a,b,d){var c=this.controller;if(a=c.Wa[a]){if(a[3]){a[3](b,d);return}if(a[1]){a[1](b&255,d);a[1](b>>8,d+1);return}}c.i("warning: unconverted write access to word @"+ca(d));c.Lb(d,b,0)}l=yb.prototype;l.reset=function(){this.J&&this.J()};l.Fc=function(){return 0};l.Qa=function(a,b){b||this.reset();return!0};
|
function Ab(a,b){var d=this.controller;if(a=d.Ta[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}d.f("warning: unconverted read access to word @"+ca(b));return d.Jb(b,-1,0)}function Bb(a,b,d){var c=this.controller;if(a=c.Ta[a]){if(a[3]){a[3](b,d);return}if(a[1]){a[1](b&255,d);a[1](b>>8,d+1);return}}c.f("warning: unconverted write access to word @"+ca(d));c.Jb(d,b,0)}l=wb.prototype;l.reset=function(){this.F&&this.F()};l.Fc=function(){return 0};l.La=function(a,b){b||this.reset();return!0};
|
||||||
function Eb(a,b,d,c,e){for(var f=b,g=d,h=f>>>a.Z;0<g&&h<a.S.length;){var k=a.S[h],m=h*a.Da,n=a.Da-(f-m);n>g&&(n=g);if(k&&k.size){if(k.type==c&&k.controller==e){if(f+g<=k.A)return k.Zb+=k.A-f,k.A=f,!0;if(f>=k.A+k.Zb){n=k.size-(f-m);n>g&&(n=g);k.Zb=f-k.A+n;f=m+a.Da;g-=n;h++;continue}}return Gb(1,f,g)}f=new I(f,n,a.Da,c,e);zb(f,a.I,k);a.S[h++]=f;f=m+a.Da;g-=n}return 0>=g?(a.status(Math.floor(d/1024)+"Kb "+Hb[c]+" at "+r(b,8,!0)),!0):Gb(2,b,d)}
|
function Cb(a,b,d,c,f){for(var e=b,g=d,h=e>>>a.R;0<g&&h<a.L.length;){var k=a.L[h],m=h*a.za,n=a.za-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==c&&k.controller==f){if(e+g<=k.w)return k.Xb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Xb){n=k.size-(e-m);n>g&&(n=g);k.Xb=e-k.w+n;e=m+a.za;g-=n;h++;continue}}return Pb(1,e,g)}e=new G(e,n,a.za,c,f);xb(e,a.C,k);a.L[h++]=e;e=m+a.za;g-=n}return 0>=g?(a.status(Math.floor(d/1024)+"Kb "+Qb[c]+" at "+r(b,8,!0)),!0):Pb(2,b,d)}
|
||||||
l.Mb=function(a){return this.S[(a&this.H)>>>this.Z].wb(a&this.g,a)};l.La=function(a){var b=a&this.g,d=(a&this.H)>>>this.Z;return b!=this.g?this.S[d].Tb(b,a):this.S[d++].wb(b,a)|this.S[d&this.w].wb(0,a+1)<<8};function Ib(a,b){var d=b&a.g,c=(b&a.H)>>>a.Z;return d!=a.g?a.S[c].mc(d,b):a.S[c++].Sb(d,b)|a.S[c&a.w].Sb(0,b+1)<<8}l.gc=function(a,b){this.S[(a&this.H)>>>this.Z].Bb(a&this.g,b&255,a)};
|
l.Kb=function(a){return this.L[(a&this.g)>>>this.R].vb(a&this.A,a)};l.Ea=function(a){var b=a&this.A,d=(a&this.g)>>>this.R;return b!=this.A?this.L[d].Rb(b,a):this.L[d++].vb(b,a)|this.L[d&this.j].vb(0,a+1)<<8};function Rb(a,b){var d=b&a.A,c=(b&a.g)>>>a.R;return d!=a.A?a.L[c].lc(d,b):a.L[c++].Qb(d,b)|a.L[c&a.j].Qb(0,b+1)<<8}l.fc=function(a,b){this.L[(a&this.g)>>>this.R].Ab(a&this.A,b&255,a)};
|
||||||
l.oc=function(a,b){var d=a&this.g,c=(a&this.H)>>>this.Z;d!=this.g?this.S[c].Ec(d,b&65535,a):(this.S[c++].Bb(d,b&255,a),this.S[c&this.w].Bb(0,b>>8&255,a+1))};function Jb(a){for(var b=0,d=[],c=0;c<a.u;c++){var e=a.S[c];if(e.Za||e.Nc){d[b++]=c;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<e.length&&(e=k)}d[f]=e}}return d}function Gb(a,b,d){t("Memory block error ("+a+": "+r(b)+","+r(d)+")");return!1}
|
l.nc=function(a,b){var d=a&this.A,c=(a&this.g)>>>this.R;d!=this.A?this.L[c].Ec(d,b&65535,a):(this.L[c++].Ab(d,b&255,a),this.L[c&this.j].Ab(0,b>>8&255,a+1))};function Sb(a){for(var b=0,d=[],c=0;c<a.B;c++){var f=a.L[c];if(f.Xa||f.Nc){d[b++]=c;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],n=g+1;n<f.length&&f[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<f.length&&(f=k)}d[e]=f}}return d}function Pb(a,b,d){t("Memory block error ("+a+": "+r(b)+","+r(d)+")");return!1}
|
||||||
function Kb(a){u.call(this,"Device",a,Kb);this.g={lc:[],Ma:0,xa:128,g:127,Lc:0};this.w={data:0,od:0,sb:20,kd:0};this.u={Nb:0,K:0};this.G={Vb:2496,oa:0,T:128,Wb:0,Ub:0,va:0,zc:0,ra:[],gb:[406,406,406,406],aa:[12,12,12,12]};this.J={K:129,Jb:0,fa:0,ab:0,Xa:0,eb:0,ra:[],aa:[40,40,40,40],gb:[1024,1024,512,512],Hc:[157,157,29,29]};this.O={b:[8210,8208,8210,8226],aa:[22,22,22,50],fb:[19,19,19,32],hc:[815,411,815,630],ra:[],U:2176,zb:0,xb:0,Fa:[0,0,0,0,0,0,0,0],Ea:0,ta:[4544,4544,4544,4544,4544,4544,4544,
|
function Tb(a){u.call(this,"Device",a,Tb);this.g={kc:[],Fa:0,pa:128,C:127,Lc:0};this.j={data:0,od:0,rb:20,kd:0};this.B={Lb:0,G:0};this.D={Tb:2496,ha:0,M:128,Ub:0,Sb:0,na:0,zc:0,ja:[],fb:[406,406,406,406],U:[12,12,12,12]};this.F={G:129,Ib:0,Y:0,Za:0,Ua:0,cb:0,ja:[],U:[40,40,40,40],fb:[1024,1024,512,512],Hc:[157,157,29,29]};this.I={b:[8210,8208,8210,8226],U:[22,22,22,50],eb:[19,19,19,32],gc:[815,411,815,630],ja:[],N:2176,yb:0,wb:0,Ba:[0,0,0,0,0,0,0,0],Aa:0,la:[4544,4544,4544,4544,4544,4544,4544,4544],
|
||||||
4544],yb:[0,0,0,0,0,0,0,0],nb:0,hd:[0,0,0,0,0,0,0,0],Ac:0,Bc:[0,0,0,0,0,0,0,0],I:[0,0,0,0,0,0,0,0],jd:[1,2,3,4,5,6,7,8],Cc:[0,0,0,0,0,0,0,0],Ta:[0,0,0,0,0,0,0,0],fc:[0,0,0,0,0,0,0,0],fd:[0,0,0,0,0,0,0,0],gd:[0,0,0,0,0,0,0,0],dd:[0,0,0,0,0,0,0,0],ed:[0,0,0,0,0,0,0,0],cb:0,nc:0}}w(Kb);
|
xb:[0,0,0,0,0,0,0,0],mb:0,hd:[0,0,0,0,0,0,0,0],Ac:0,Bc:[0,0,0,0,0,0,0,0],A:[0,0,0,0,0,0,0,0],jd:[1,2,3,4,5,6,7,8],Cc:[0,0,0,0,0,0,0,0],Pa:[0,0,0,0,0,0,0,0],ec:[0,0,0,0,0,0,0,0],fd:[0,0,0,0,0,0,0,0],gd:[0,0,0,0,0,0,0,0],dd:[0,0,0,0,0,0,0,0],ed:[0,0,0,0,0,0,0,0],bb:0,mc:0}}w(Tb);
|
||||||
var Wb=[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 Ub=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
||||||
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
||||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=Kb.prototype;
|
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=Tb.prototype;
|
||||||
l.$a=function(a,b,d,c){this.H=b;this.b=d;this.I=c;a=Xb;for(var e in a){var f=a[e];d=b;c=+e;for(var g=f[0]?f[0].bind(this):null,h=f[1]?f[1].bind(this):null,k=f[2]?f[2].bind(this):null,f=f[3]?f[3].bind(this):null,m=+e;m<=c;m+=2){var n=m&8191;void 0!==d.Wa[n]?t("I/O address already registered: "+r(m,8,!0)):d.Wa[n]=[g,h,k,f,!1]}}e=this.Gc.bind(this);b.J=this.reset.bind(this);b.Lb=e;D(this)};l.Zc=function(){return Yb(this.b)};l.md=function(a){Zb(this.b,a&-1809|Yb(this.b)&1808);this.b.V|=128};l.$c=function(){return this.g.xa};
|
l.Ya=function(a,b,d,c){this.A=b;this.b=d;this.C=c;a=Vb;for(var f in a){var e=a[f];d=b;c=+f;for(var g=e[0]?e[0].bind(this):null,h=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,m=+f;m<=c;m+=2){var n=m&8191;void 0!==d.Ta[n]?t("I/O address already registered: "+r(m,8,!0)):d.Ta[n]=[g,h,k,e,!1]}}f=this.Gc.bind(this);b.F=this.reset.bind(this);b.Jb=f;D(this)};l.Zc=function(){return Wb(this.b)};l.md=function(a){Xb(this.b,a&-1809|Wb(this.b)&1808);this.b.S|=128};l.$c=function(){return this.g.pa};
|
||||||
l.nd=function(a){var b=this;128==(this.g.xa&192)&&a&64&&J(this.b,8,4,52,function(){b.g.xa|=128;return!!(b.g.xa&64)});this.g.xa=this.g.xa&128|a&-129};
|
l.nd=function(a){if(128==(this.g.pa&192)&&a&64){var b=this;H(this.b,8,4,52,function(){b.g.pa|=128;return!!(b.g.pa&64)})}this.g.pa=this.g.pa&128|a&-129};
|
||||||
function $b(a){var b=a.G,d,c,e,f=b.va>>13&7;"undefined"===typeof b.ra[f]&&(b.ra[f]={cache:[],postProcess:a.ad,drive:f,blocksize:256,mapped:0,maxblock:b.gb[f]*b.aa[f],url:"rk"+f+".dsk"});b.T&=-129;switch(b.T>>1&7){case 0:b.Vb=2496;b.oa=0;b.T=128;b.va=0;break;case 1:if((b.va>>4&511)>=b.gb[f]){b.oa|=32832;b.T|=49152;break}if((b.va&15)>=b.aa[f]){b.oa|=32800;b.T|=49152;break}d=(b.va>>4&511)*b.aa[f]+(b.va&15);c=(b.T&48)<<12|b.Ub;e=65536-b.Wb&65535;ac(a,b.ra[f],d,c,e);return;case 2:if((b.va>>4&511)>=b.gb[f])b.oa|=
|
function Yb(a){var b=a.D,d,c,f,e=b.na>>13&7;"undefined"===typeof b.ja[e]&&(b.ja[e]={cache:[],postProcess:a.ad,drive:e,blocksize:256,mapped:0,maxblock:b.fb[e]*b.U[e],url:"rk"+e+".dsk"});b.M&=-129;switch(b.M>>1&7){case 0:b.Tb=2496;b.ha=0;b.M=128;b.na=0;break;case 1:if((b.na>>4&511)>=b.fb[e]){b.ha|=32832;b.M|=49152;break}if((b.na&15)>=b.U[e]){b.ha|=32800;b.M|=49152;break}d=(b.na>>4&511)*b.U[e]+(b.na&15);c=(b.M&48)<<12|b.Sb;f=65536-b.Ub&65535;Zb(a,b.ja[e],d,c,f);return;case 2:if((b.na>>4&511)>=b.fb[e])b.ha|=
|
||||||
32832,b.T|=49152;else if((b.va&15)>=b.aa[f])b.oa|=32800,b.T|=49152;else{d=(b.va>>4&511)*b.aa[f]+(b.va&15);c=(b.T&48)<<12|b.Ub;e=65536-b.Wb&65535;a.dc(b.ra[f],d,c,e);return}}b.Vb=f<<13|b.Vb&8176|b.va%9&15;J(a.b,20,5,144,function(){b.T=b.T&65534|128;return!!(b.T&64)})}l.ad=function(a,b,d,c,e){var f=this.G;f.Ub=c&65535;f.T=f.T&-49|c>>12&48;f.Wb=65536-e&65535;switch(a){case 1:f.oa|=33024;f.T|=49152;break;case 2:f.oa|=33792,f.T|=49152}J(this.b,20,5,144,function(){f.T=f.T&65534|128;return!!(f.T&64)})};
|
32832,b.M|=49152;else if((b.na&15)>=b.U[e])b.ha|=32800,b.M|=49152;else{d=(b.na>>4&511)*b.U[e]+(b.na&15);c=(b.M&48)<<12|b.Sb;f=65536-b.Ub&65535;a.bc(b.ja[e],d,c,f);return}}b.Tb=e<<13|b.Tb&8176|b.na%9&15;H(a.b,20,5,144,function(){b.M=b.M&65534|128;return!!(b.M&64)})}l.ad=function(a,b,d,c,f){var e=this.D;e.Sb=c&65535;e.M=e.M&-49|c>>12&48;e.Ub=65536-f&65535;switch(a){case 1:e.ha|=33024;e.M|=49152;break;case 2:e.ha|=33792,e.M|=49152}H(this.b,20,5,144,function(){e.M=e.M&65534|128;return!!(e.M&64)})};
|
||||||
function bc(a){var b=a.J,d,c,e,f=b.K>>8&3;b.K&=-2;"undefined"===typeof b.ra[f]&&(b.ra[f]={cache:[],postProcess:a.bd,drive:f,blocksize:128,mapped:1,maxblock:b.gb[f]*b.aa[f],url:"rl"+f+".dsk"});switch(b.K>>1&7){case 2:b.ab&8&&(b.K&=63);b.ab=b.Hc[f]|b.eb&64;break;case 3:1==(b.fa&3)&&(b.eb=b.fa&4?b.eb+(b.fa&65408)&65408|b.fa<<2&64:b.eb-(b.fa&65408)&65408|b.fa<<2&64,b.fa=b.eb);break;case 4:b.ab=b.eb;break;case 5:if(b.fa>>6>=b.gb[f]){b.K|=37888;break}if((b.fa&63)>=b.aa[f]){b.K|=37888;break}d=(b.fa>>6)*
|
function $b(a){var b=a.F,d,c,f,e=b.G>>8&3;b.G&=-2;"undefined"===typeof b.ja[e]&&(b.ja[e]={cache:[],postProcess:a.bd,drive:e,blocksize:128,mapped:1,maxblock:b.fb[e]*b.U[e],url:"rl"+e+".dsk"});switch(b.G>>1&7){case 2:b.Za&8&&(b.G&=63);b.Za=b.Hc[e]|b.cb&64;break;case 3:1==(b.Y&3)&&(b.cb=b.Y&4?b.cb+(b.Y&65408)&65408|b.Y<<2&64:b.cb-(b.Y&65408)&65408|b.Y<<2&64,b.Y=b.cb);break;case 4:b.Za=b.cb;break;case 5:if(b.Y>>6>=b.fb[e]){b.G|=37888;break}if((b.Y&63)>=b.U[e]){b.G|=37888;break}d=(b.Y>>6)*b.U[e]+(b.Y&
|
||||||
b.aa[f]+(b.fa&63);c=(b.Xa&63)<<16|b.Jb;e=65536-b.ab&65535;ac(a,b.ra[f],d,c,e);return;case 6:if(b.fa>>6>=b.gb[f])b.K|=37888;else if((b.fa&63)>=b.aa[f])b.K|=37888;else{d=(b.fa>>6)*b.aa[f]+(b.fa&63);c=(b.Xa&63)<<16|b.Jb;e=65536-b.ab&65535;a.dc(b.ra[f],d,c,e);return}}J(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})}
|
63);c=(b.Ua&63)<<16|b.Ib;f=65536-b.Za&65535;Zb(a,b.ja[e],d,c,f);return;case 6:if(b.Y>>6>=b.fb[e])b.G|=37888;else if((b.Y&63)>=b.U[e])b.G|=37888;else{d=(b.Y>>6)*b.U[e]+(b.Y&63);c=(b.Ua&63)<<16|b.Ib;f=65536-b.Za&65535;a.bc(b.ja[e],d,c,f);return}}H(a.b,20,5,112,function(){b.G|=129;return!!(b.G&64)})}
|
||||||
l.bd=function(a,b,d,c,e){var f=this.J;f.Jb=c&65535;f.K=f.K&-49|c>>12&48;f.Xa=c>>16&63;f.fa=~~(d/f.aa[b.Oa])<<6|d%f.aa[b.Oa];f.eb=f.fa;f.ab=65536-e&65535;switch(a){case 1:f.K|=33792;break;case 2:f.K|=40960}J(this.b,20,5,112,function(){f.K|=129;return!!(f.K&64)})};function cc(a){a=a.O;a.U=2176;a.Ea=0;a.ta=[4544,4544,4544,4544,4544,4544,4544,4544];a.yb=[0,0,0,0,0,0,0,0];a.nb=a.zb=a.xb=a.cb=a.nc=0}
|
l.bd=function(a,b,d,c,f){var e=this.F;e.Ib=c&65535;e.G=e.G&-49|c>>12&48;e.Ua=c>>16&63;e.Y=~~(d/e.U[b.Ja])<<6|d%e.U[b.Ja];e.cb=e.Y;e.Za=65536-f&65535;switch(a){case 1:e.G|=33792;break;case 2:e.G|=40960}H(this.b,20,5,112,function(){e.G|=129;return!!(e.G&64)})};function ac(a){a=a.I;a.N=2176;a.Aa=0;a.la=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.mb=a.yb=a.wb=a.bb=a.mc=0}
|
||||||
function dc(a,b){var d=a.O,c,e,f;d.U&=-16513;d.Ea&=-2049;d.ta[b]&=-1153;J(a.b,-1,0,172);"undefined"===typeof d.ra[b]&&(d.ra[b]={cache:[],postProcess:a.cd,drive:b,blocksize:256,mapped:0,maxblock:d.hc[0]*d.fb[0]*d.aa[0],url:"rp"+b+".dsk"});switch(d.U&63){case 5:d.fc[b]=d.Ta[b];d.U|=32896;d.ta[b]|=32896;d.nb|=1<<b;break;case 9:cc(a);break;case 19:d.ta[b]|=64;break;case 49:if(d.Ta[b]>=d.hc[0]||d.Fa[b]>>8>=d.fb[0]||(d.Fa[b]&255)>=d.aa[0]){d.yb[b]|=1024;d.U|=49152;break}c=(d.Ta[b]*d.fb[0]+(d.Fa[b]>>8))*
|
function bc(a,b){var d=a.I,c,f,e;d.N&=-16513;d.Aa&=-2049;d.la[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof d.ja[b]&&(d.ja[b]={cache:[],postProcess:a.cd,drive:b,blocksize:256,mapped:0,maxblock:d.gc[0]*d.eb[0]*d.U[0],url:"rp"+b+".dsk"});switch(d.N&63){case 5:d.ec[b]=d.Pa[b];d.N|=32896;d.la[b]|=32896;d.mb|=1<<b;break;case 9:ac(a);break;case 19:d.la[b]|=64;break;case 49:if(d.Pa[b]>=d.gc[0]||d.Ba[b]>>8>=d.eb[0]||(d.Ba[b]&255)>=d.U[0]){d.xb[b]|=1024;d.N|=49152;break}c=(d.Pa[b]*d.eb[0]+(d.Ba[b]>>8))*d.U[0]+
|
||||||
d.aa[0]+(d.Fa[b]&255);e=(d.cb&63)<<16|d.xb;f=65536-d.zb&65535;ac(a,d.ra[b],c,e,f);return;case 57:if(d.Ta[b]>=d.hc[0]||d.Fa[b]>>8>=d.fb[0]||(d.Fa[b]&255)>=d.aa[0])d.yb[b]|=1024,d.U|=49152;else{c=(d.Ta[b]*d.fb[0]+(d.Fa[b]>>8))*d.aa[0]+(d.Fa[b]&255);e=(d.cb&63)<<16|d.xb;f=65536-d.zb&65535;a.dc(d.ra[b],c,e,f);return}}J(a.b,3,5,172,function(){d.U=d.U&65534|128;d.ta[b]|=128;return!!(d.U&64)})}
|
(d.Ba[b]&255);f=(d.bb&63)<<16|d.wb;e=65536-d.yb&65535;Zb(a,d.ja[b],c,f,e);return;case 57:if(d.Pa[b]>=d.gc[0]||d.Ba[b]>>8>=d.eb[0]||(d.Ba[b]&255)>=d.U[0])d.xb[b]|=1024,d.N|=49152;else{c=(d.Pa[b]*d.eb[0]+(d.Ba[b]>>8))*d.U[0]+(d.Ba[b]&255);f=(d.bb&63)<<16|d.wb;e=65536-d.yb&65535;a.bc(d.ja[b],c,f,e);return}}H(a.b,3,5,172,function(){d.N=d.N&65534|128;d.la[b]|=128;return!!(d.N&64)})}
|
||||||
l.cd=function(a,b,d,c,e){var f=this.O;f.zb=65536-e&65535;f.xb=c&65535;f.U=f.U&-769|c>>8&768;f.cb=c>>16&63;e=~~(d/f.aa[0]);c=~~(e/f.fb[0]);f.Fa[b.Oa]=e%f.fb[0]<<8|d%f.aa[0];f.fc[b.Oa]=f.Ta[b.Oa]=c;f.nb|=1<<b.Oa;d>=b.Wc-1&&(f.ta[b.Oa]|=1024);switch(a){case 1:f.Ea|=512;f.U|=49152;break;case 2:f.Ea|=2048,f.U|=49152}J(this.b,20,5,172,function(){f.ta[b.Oa]|=128;f.U=f.U&65534|128;return!!(f.U&64)})};l.Tc=function(){this.u.K|=128;this.u.K&64&&J(this.b,0,6,64)};
|
l.cd=function(a,b,d,c,f){var e=this.I;e.yb=65536-f&65535;e.wb=c&65535;e.N=e.N&-769|c>>8&768;e.bb=c>>16&63;f=~~(d/e.U[0]);c=~~(f/e.eb[0]);e.Ba[b.Ja]=f%e.eb[0]<<8|d%e.U[0];e.ec[b.Ja]=e.Pa[b.Ja]=c;e.mb|=1<<b.Ja;d>=b.Wc-1&&(e.la[b.Ja]|=1024);switch(a){case 1:e.Aa|=512;e.N|=49152;break;case 2:e.Aa|=2048,e.N|=49152}H(this.b,20,5,172,function(){e.la[b.Ja]|=128;e.N=e.N&65534|128;return!!(e.N&64)})};l.Tc=function(){this.B.G|=128;this.B.G&64&&H(this.b,0,6,64)};
|
||||||
function ec(a,b,d,c,e,f){var g=~~((f+d.Ya-1)/d.Ya),h=new XMLHttpRequest;2048>g&&c+2048<d.Wc&&(g=2048);h.open("GET",d.url,!0);h.setRequestHeader("Range","bytes="+(c*d.Ya<<1)+"-"+(((c+g)*d.Ya<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,q,p;m=h.response;if(h.status&&206!=h.status||!m)d.cc(1,d,c,e,f);else{m=new Uint8Array(m);n=c;for(p=0;p<m.length;){if("undefined"===typeof d.cache[n])for(d.cache[n]=[],q=0;q<d.Ya;q++)d.cache[n][q]=p<m.length?
|
function cc(a,b,d,c,f,e){var g=~~((e+d.Va-1)/d.Va),h=new XMLHttpRequest;2048>g&&c+2048<d.Wc&&(g=2048);h.open("GET",d.url,!0);h.setRequestHeader("Range","bytes="+(c*d.Va<<1)+"-"+(((c+g)*d.Va<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,q,p;m=h.response;if(h.status&&206!=h.status||!m)d.ac(1,d,c,f,e);else{m=new Uint8Array(m);n=c;for(p=0;p<m.length;){if("undefined"===typeof d.cache[n])for(d.cache[n]=[],q=0;q<d.Va;q++)d.cache[n][q]=p<m.length?
|
||||||
m[p]&255|m[p+1]<<8&65280:0,p+=2;else p+=d.Ya<<1;n++}g(d,c,e,f)}}};h.send(null)}function K(a,b,d,c,e){if(d&1){if(!e)return L(a.b,4,122);c=0<=c?c<<8&65280|b&255:b}else 0<=c?e&&(c=b&65280|c&255):c=b;return c}l.dc=function(a,b,d,c){for(var e;0<c;){if("undefined"===typeof a.cache[b]){ec(this,this.dc,a,b,d,c);return}for(e=0;e<a.Ya&&0<c;e++){if(0>M(this.b,a.Vc?fc(this.b,d):d,a.cache[b][e])){a.cc(2,a,b,d,c);return}d+=2;--c}b++}a.cc(0,a,b,d,c)};
|
m[p]&255|m[p+1]<<8&65280:0,p+=2;else p+=d.Va<<1;n++}g(d,c,f,e)}}};h.send(null)}function I(a,b,d,c,f){if(d&1){if(!f)return J(a.b,4,122);c=0<=c?c<<8&65280|b&255:b}else 0<=c?f&&(c=b&65280|c&255):c=b;return c}l.bc=function(a,b,d,c){for(var f;0<c;){if("undefined"===typeof a.cache[b]){cc(this,this.bc,a,b,d,c);return}for(f=0;f<a.Va&&0<c;f++){if(0>dc(this.b,a.Vc?ec(this.b,d):d,a.cache[b][f])){a.ac(2,a,b,d,c);return}d+=2;--c}b++}a.ac(0,a,b,d,c)};
|
||||||
function ac(a,b,d,c,e){for(var f,g;0<e;){if("undefined"===typeof b.cache[d])for(b.cache[d]=[],f=0;f<b.Ya;f++)b.cache[d][f]=0;for(f=0;f<b.Ya&&0<e;f++){g=a.b.ka(b.Vc?fc(a.b,c):c);if(0>g){b.cc(2,b,d,c,e);return}b.cache[d][f]=g;c+=2;--e}d++}b.cc(0,b,d,c,e)}l.reset=function(){this.w.sb=this.w.sb&-120|20;this.g.Ma=0;this.g.xa=128;this.u.K=0;this.G.T=128;this.J.K=128;cc(this)};
|
function Zb(a,b,d,c,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[d])for(b.cache[d]=[],e=0;e<b.Va;e++)b.cache[d][e]=0;for(e=0;e<b.Va&&0<f;e++){g=a.b.cc(b.Vc?ec(a.b,c):c);if(0>g){b.ac(2,b,d,c,f);return}b.cache[d][e]=g;c+=2;--f}d++}b.ac(0,b,d,c,f)}l.reset=function(){this.j.rb=this.j.rb&-120|20;this.g.Fa=0;this.g.pa=128;this.B.G=0;this.D.M=128;this.F.G=128;ac(this)};
|
||||||
l.Gc=function(a,b,d){var c,e,f=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?c=f.Sa&65280:(a&1&&(b<<=8),f.Sa=b|255,c=0);break;case 4194298:if(0>b)c=f.ec;else{a&1&&(b<<=8);if(c=b&65024){e=c>>9;do c+=34;while(e>>=1)}f.ec=c;f.Ra=2}break;case 4194294:if(70!==f.jb)return L(f,4,222);0>b?c=f.M:c=f.M=0;break;case 4194292:if(70!==f.jb)return L(f,4,224);c=1;break;case 4194290:if(70!==f.jb)return L(f,4,226);c=0;break;case 4194288:if(70!==f.jb)return L(f,4,228);c=61183;break;case 4194296:0<=
|
l.Gc=function(a,b,d){var c,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?c=e.Na&65280:(a&1&&(b<<=8),e.Na=b|255,c=0);break;case 4194298:if(0>b)c=e.dc;else{a&1&&(b<<=8);if(c=b&65024){f=c>>9;do c+=34;while(f>>=1)}e.dc=c;e.$a=2}break;case 4194294:if(70!==e.ib)return J(e,4,222);0>b?c=e.H:c=e.H=0;break;case 4194292:if(70!==e.ib)return J(e,4,224);c=1;break;case 4194290:if(70!==e.ib)return J(e,4,226);c=0;break;case 4194288:if(70!==e.ib)return J(e,4,228);c=61183;break;case 4194296:0<=
|
||||||
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==f.jb)return L(f,4,232);e=a-4194272>>1;0>b?c=f.kc[e]:(c=K(this,f.kc[e],a,b,d),0<=c&&(f.kc[e]=c));break;case 4194254:return a&1?f.N>>14&1?(0<=b&&(f.f[6]=b),c=f.f[6]):(0<=b&&(f.ua[3]=b),c=f.ua[3]):f.N>>14&0?(0<=b&&(f.f[6]=b),c=f.f[6]):(0<=b&&(f.ua[1]=b),c=f.ua[1]),c;case 4194252:case 4194250:case 4194248:return e=a&7,f.N&2048?(0<=b&&(f.f[e]=b),c=f.f[e]):(0<=b&&(f.bb[e]=
|
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.ib)return J(e,4,232);f=a-4194272>>1;0>b?c=e.jc[f]:(c=I(this,e.jc[f],a,b,d),0<=c&&(e.jc[f]=c));break;case 4194254:return a&1?e.qa>>14&1?(0<=b&&(e.i[6]=b),c=e.i[6]):(0<=b&&(e.Oa[3]=b),c=e.Oa[3]):e.qa>>14&0?(0<=b&&(e.i[6]=b),c=e.i[6]):(0<=b&&(e.Oa[1]=b),c=e.Oa[1]),c;case 4194252:case 4194250:case 4194248:return f=a&7,e.qa&2048?(0<=b&&(e.i[f]=b),c=e.i[f]):(0<=b&&(e.ab[f]=
|
||||||
b),c=f.bb[e]),c;case 4194246:return a&1?(0<=b&&(f.f[7]=b),c=f.f[7]):f.N>>14&0?(0<=b&&(f.f[6]=b),c=f.f[6]):(0<=b&&(f.ua[0]=b),c=f.ua[0]),c;case 4194244:case 4194242:case 4194240:return e=a&7,f.N&2048?(0<=b&&(f.bb[e]=b),c=f.bb[e]):(0<=b&&(f.f[e]=b),c=f.f[e]),c;default:return f.M|=16,L(f,4,124)}break;case 4194176:e=a>>1&31;c=K(this,f.ma[3][e],a,b,d);0<=c&&(f.ma[3][e]=c,f.ma[3][e&15]&=65295);break;case 4194112:var g=this.g;e=this.u;switch(a&-2){case 4194174:c=K(this,f.Eb,a,b,d);0<=c&&(f.Eb=c);break;case 4194172:c=
|
b),c=e.ab[f]),c;case 4194246:return a&1?(0<=b&&(e.i[7]=b),c=e.i[7]):e.qa>>14&0?(0<=b&&(e.i[6]=b),c=e.i[6]):(0<=b&&(e.Oa[0]=b),c=e.Oa[0]),c;case 4194244:case 4194242:case 4194240:return f=a&7,e.qa&2048?(0<=b&&(e.ab[f]=b),c=e.ab[f]):(0<=b&&(e.i[f]=b),c=e.i[f]),c;default:return e.H|=16,J(e,4,124)}break;case 4194176:f=a>>1&31;c=I(this,e.ga[3][f],a,b,d);0<=c&&(e.ga[3][f]=c,e.ga[3][f&15]&=65295);break;case 4194112:var g=this.g;f=this.B;switch(a&-2){case 4194174:c=I(this,e.Db,a,b,d);0<=c&&(e.Db=c);break;
|
||||||
f.Ga;c&65280&&(c=(c<<8|c>>8)&65535);break;case 4194170:f.ea=f.ea&62337|f.Ob<<5|f.bc<<1;0>b?c=f.ea:(c=K(this,f.ea,a,b,d),0<=c&&(f.ea=c&=62337,f.Ob=c>>5&3,f.bc=c>>1&15,c&257?(e=2,f.Ua&16&&(e=1),f.tb=c&1?tb|E:E):(f.tb=0,e=4),this.w.sb=this.w.sb&-8|e));break;case 4194168:0>b?c=this.w.kd&65535:(c=K(this,this.w.data,a,b,d),0<=c&&(this.w.data=c));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.xa&=-129,J(f,100,4,52,function(){g.xa|=128;return!!(g.xa&64)}));c=0;break;case 4194164:break;case 4194162:c=0;0>b&&
|
case 4194172:c=e.Qa;c&65280&&(c=(c<<8|c>>8)&65535);break;case 4194170:e.aa=e.aa&62337|e.Mb<<5|e.$b<<1;0>b?c=e.aa:(c=I(this,e.aa,a,b,d),0<=c&&(e.aa=c&=62337,e.Mb=c>>5&3,e.$b=c>>1&15,c&257?(f=2,e.Ra&16&&(f=1),e.sb=c&1?pb|E:E):(e.sb=0,f=4),this.j.rb=this.j.rb&-8|f));break;case 4194168:0>b?c=this.j.kd&65535:(c=I(this,this.j.data,a,b,d),0<=c&&(this.j.data=c));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.pa&=-129,H(e,100,4,52,function(){g.pa|=128;return!!(g.pa&64)}));c=0;break;case 4194164:break;case 4194162:c=
|
||||||
(g.Ma&=-129,0<g.lc.length&&(c=g.lc.shift(),0<g.lc.length&&setTimeout(function(){g.Ma|=128;g.Ma&64&&J(f,40,4,48)},50)));break;case 4194160:0>b?c=g.Ma:(c=K(this,g.Ma,a,b,d),0<=c&&(g.Ma=g.Ma&128|c&-129));break;case 4194150:0>b?(c=e.K,e.K&=-129):(c=K(this,e.K,a,b,d),0<=c&&(c&64&&!e.Nb&&(setInterval(this.Tc.bind(this),25),e.Nb=1),e.K=c&-129));break;default:return f.M|=16,L(f,4,126)}break;case 4194048:e=this.G;switch(a&-2){case 4194048:c=K(this,e.Vb,a,b,d);0<=c&&(e.Vb=c);break;case 4194050:c=K(this,e.oa,
|
0;0>b&&(g.Fa&=-129,0<g.kc.length&&(c=g.kc.shift(),0<g.kc.length&&setTimeout(function(){g.Fa|=128;g.Fa&64&&H(e,40,4,48)},50)));break;case 4194160:0>b?c=g.Fa:(c=I(this,g.Fa,a,b,d),0<=c&&(g.Fa=g.Fa&128|c&-129));break;case 4194150:0>b?(c=f.G,f.G&=-129):(c=I(this,f.G,a,b,d),0<=c&&(c&64&&!f.Lb&&(setInterval(this.Tc.bind(this),25),f.Lb=1),f.G=c&-129));break;default:return e.H|=16,J(e,4,126)}break;case 4194048:f=this.D;switch(a&-2){case 4194048:c=I(this,f.Tb,a,b,d);0<=c&&(f.Tb=c);break;case 4194050:c=I(this,
|
||||||
a,b,d);0<=c&&(e.oa=c);break;case 4194052:c=K(this,e.T,a,b,d);0<=b&&0<=c&&(e.T=c&-36993|e.T&36992,e.T&1&&$b(this));break;case 4194054:c=K(this,e.Wb,a,b,d);0<=c&&(e.Wb=c);break;case 4194056:c=K(this,e.Ub,a,b,d);0<=c&&(e.Ub=c);break;case 4194058:c=K(this,e.va,a,b,d);0<=c&&(e.va=c);break;case 4194060:break;case 4194062:c=K(this,e.zc,a,b,d);0<=c&&(e.zc=c);break;default:return f.M|=16,L(f,4,128)}break;case 4193728:var h=this.O;e=h.Ea&7;switch(a&-2){case 4193728:c=K(this,h.U,a,b,d);0<=b&&0<=c&&(h.cb=h.cb&
|
f.ha,a,b,d);0<=c&&(f.ha=c);break;case 4194052:c=I(this,f.M,a,b,d);0<=b&&0<=c&&(f.M=c&-36993|f.M&36992,f.M&1&&Yb(this));break;case 4194054:c=I(this,f.Ub,a,b,d);0<=c&&(f.Ub=c);break;case 4194056:c=I(this,f.Sb,a,b,d);0<=c&&(f.Sb=c);break;case 4194058:c=I(this,f.na,a,b,d);0<=c&&(f.na=c);break;case 4194060:break;case 4194062:c=I(this,f.zc,a,b,d);0<=c&&(f.zc=c);break;default:return e.H|=16,J(e,4,128)}break;case 4193728:var h=this.I;f=h.Aa&7;switch(a&-2){case 4193728:c=I(this,h.N,a,b,d);0<=b&&0<=c&&(h.bb=
|
||||||
60|c>>8&3,h.U=c&17279|h.U&34944|2048,c&1&&h.U&128?dc(this,e):192==(c&192)&&J(f,0,5,172));break;case 4193730:c=K(this,h.zb,a,b,d);0<=c&&(h.zb=c);break;case 4193732:c=K(this,h.xb,a,b,d);0<=c&&(h.xb=c&65534);break;case 4193734:c=K(this,h.Fa[e],a,b,d);0<=c&&(h.Fa[e]=c&7967);break;case 4193736:c=K(this,h.Ea,a,b,d);0<=c&&(h.Ea=c&63|h.Ea&65472,c&128&&cc(this));break;case 4193738:c=h.ta[e];break;case 4193740:c=h.yb[e];break;case 4193742:c=K(this,h.nb,a,b,d);0<=c&&(h.nb=c&255);break;case 4193744:c=h.hd[e];
|
h.bb&60|c>>8&3,h.N=c&17279|h.N&34944|2048,c&1&&h.N&128?bc(this,f):192==(c&192)&&H(e,0,5,172));break;case 4193730:c=I(this,h.yb,a,b,d);0<=c&&(h.yb=c);break;case 4193732:c=I(this,h.wb,a,b,d);0<=c&&(h.wb=c&65534);break;case 4193734:c=I(this,h.Ba[f],a,b,d);0<=c&&(h.Ba[f]=c&7967);break;case 4193736:c=I(this,h.Aa,a,b,d);0<=c&&(h.Aa=c&63|h.Aa&65472,c&128&&ac(this));break;case 4193738:c=h.la[f];break;case 4193740:c=h.xb[f];break;case 4193742:c=I(this,h.mb,a,b,d);0<=c&&(h.mb=c&255);break;case 4193744:c=h.hd[f];
|
||||||
break;case 4193746:c=K(this,h.Ac,a,b,d);0<=c&&(h.Ac=c);break;case 4193748:c=K(this,h.Bc[e],a,b,d);0<=c&&(h.Bc[e]=c&1023);break;case 4193750:c=8210;break;case 4193752:c=h.jd[e];break;case 4193754:c=K(this,h.Cc[e],a,b,d);0<=c&&(h.Cc[e]=c);break;case 4193756:c=K(this,h.Ta[e],a,b,d);0<=c&&(h.Ta[e]=c&511);break;case 4193758:h.fc[e]=h.Ta[e];c=h.fc[e];break;case 4193760:c=h.fd[e];break;case 4193762:c=h.gd[e];break;case 4193764:c=h.dd[e];break;case 4193766:c=h.ed[e];break;case 4193768:c=K(this,h.cb,a,b,d);
|
break;case 4193746:c=I(this,h.Ac,a,b,d);0<=c&&(h.Ac=c);break;case 4193748:c=I(this,h.Bc[f],a,b,d);0<=c&&(h.Bc[f]=c&1023);break;case 4193750:c=8210;break;case 4193752:c=h.jd[f];break;case 4193754:c=I(this,h.Cc[f],a,b,d);0<=c&&(h.Cc[f]=c);break;case 4193756:c=I(this,h.Pa[f],a,b,d);0<=c&&(h.Pa[f]=c&511);break;case 4193758:h.ec[f]=h.Pa[f];c=h.ec[f];break;case 4193760:c=h.fd[f];break;case 4193762:c=h.gd[f];break;case 4193764:c=h.dd[f];break;case 4193766:c=h.ed[f];break;case 4193768:c=I(this,h.bb,a,b,d);
|
||||||
0<=c&&(h.cb=c&63,h.U=h.U&-769|(c&3)<<8);break;case 4193770:c=K(this,h.nc,a,b,d);0<=c&&(h.nc=c);break;default:return f.M|=16,L(f,4,132)}break;case 4192512:e=this.J;switch(a&-2){case 4192512:c=K(this,e.K,a,b,d);0<=b&&0<=c&&(e.Xa=e.Xa&60|c>>4&3,e.K=e.K&-1023|c&1022,e.K&128||bc(this));break;case 4192514:c=K(this,e.Jb,a,b,d);0<=c&&(e.Jb=c&65534);break;case 4192516:c=K(this,e.fa,a,b,d);0<=c&&(e.fa=c);break;case 4192518:c=K(this,e.ab,a,b,d);0<=c&&(e.ab=c);break;case 4192520:c=K(this,e.Xa,a,b,d);0<=c&&(e.Xa=
|
0<=c&&(h.bb=c&63,h.N=h.N&-769|(c&3)<<8);break;case 4193770:c=I(this,h.mc,a,b,d);0<=c&&(h.mc=c);break;default:return e.H|=16,J(e,4,132)}break;case 4192512:f=this.F;switch(a&-2){case 4192512:c=I(this,f.G,a,b,d);0<=b&&0<=c&&(f.Ua=f.Ua&60|c>>4&3,f.G=f.G&-1023|c&1022,f.G&128||$b(this));break;case 4192514:c=I(this,f.Ib,a,b,d);0<=c&&(f.Ib=c&65534);break;case 4192516:c=I(this,f.Y,a,b,d);0<=c&&(f.Y=c);break;case 4192518:c=I(this,f.Za,a,b,d);0<=c&&(f.Za=c);break;case 4192520:c=I(this,f.Ua,a,b,d);0<=c&&(f.Ua=
|
||||||
c&63,e.K=e.K&-49|(e.Xa&3)<<4);break;default:return f.M|=16,L(f,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?c=f.Ua:(c=K(this,f.Ua,a,b,d),0<=c&&(70!==f.jb&&(c&=-49),f.Ua=c,f.lb[0]=c&4?15:7,f.lb[1]=c&2?15:7,f.lb[3]=c&1?15:7,f.tb&&(e=2,f.Ua&16&&(e=1),this.w.sb=this.w.sb&-8|e)));break;default:return f.M|=16,L(f,4,136)}break;case 4191424:e=a>>1&31;c=K(this,f.ma[0][e],a,b,d);0<=c&&(f.ma[0][e]=c,f.ma[0][e&15]&=65295);break;case 4191360:e=a>>1&31;c=K(this,f.ma[1][e],a,b,d);0<=c&&(f.ma[1][e]=c,
|
c&63,f.G=f.G&-49|(f.Ua&3)<<4);break;default:return e.H|=16,J(e,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?c=e.Ra:(c=I(this,e.Ra,a,b,d),0<=c&&(70!==e.ib&&(c&=-49),e.Ra=c,e.kb[0]=c&4?15:7,e.kb[1]=c&2?15:7,e.kb[3]=c&1?15:7,e.sb&&(f=2,e.Ra&16&&(f=1),this.j.rb=this.j.rb&-8|f)));break;default:return e.H|=16,J(e,4,136)}break;case 4191424:f=a>>1&31;c=I(this,e.ga[0][f],a,b,d);0<=c&&(e.ga[0][f]=c,e.ga[0][f&15]&=65295);break;case 4191360:f=a>>1&31;c=I(this,e.ga[1][f],a,b,d);0<=c&&(e.ga[1][f]=c,
|
||||||
f.ma[1][e&15]&=65295);break;case 4190400:case 4190336:if(70!==f.jb)return L(f,4,234);e=a>>2&31;c=f.Xb[e];a&2&&(c>>=16);c&=65535;0<=b&&(c=K(this,c,a,b,d),0<=c&&(f.Xb[e]=a&2?c<<16|f.Xb[e]&65535:f.Xb[e]&4294901760|c&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)c=Wb[a>>1&255];else return f.M|=16,L(f,4,138);break;default:return f.M|=16,L(f,4,142)}d&&0<=c&&(a&1?c>>=8:c&=255);"undefined"===typeof c&&console.log("panic(76)");
|
e.ga[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.ib)return J(e,4,234);f=a>>2&31;c=e.Vb[f];a&2&&(c>>=16);c&=65535;0<=b&&(c=I(this,c,a,b,d),0<=c&&(e.Vb[f]=a&2?c<<16|e.Vb[f]&65535:e.Vb[f]&4294901760|c&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)c=Ub[a>>1&255];else return e.H|=16,J(e,4,138);break;default:return e.H|=16,J(e,4,142)}d&&0<=c&&(a&1?c>>=8:c&=255);"undefined"===typeof c&&console.log("panic(76)");
|
||||||
return c};var gc={},Xb=(gc[65534]=[null,null,Kb.prototype.Zc,Kb.prototype.md],gc[65396]=[null,null,Kb.prototype.$c,Kb.prototype.nd],gc);Oa(function(){for(var a=B(document,"pdp11","device"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Kb(c);bb(c,d)}});var hc;if(sb){var ic=new ArrayBuffer(2);(new DataView(ic)).setUint16(0,256,!0);hc=256===(new Uint16Array(ic))[0]}else hc=!1;var jc=hc;
|
return c};var fc={},Vb=(fc[65534]=[null,null,Tb.prototype.Zc,Tb.prototype.md],fc[65396]=[null,null,Tb.prototype.$c,Tb.prototype.nd],fc);Ka(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Tb(c);ib(c,d)}});var gc;if(ob){var hc=new ArrayBuffer(2);(new DataView(hc)).setUint16(0,256,!0);gc=256===(new Uint16Array(hc))[0]}else gc=!1;var ic=gc;
|
||||||
function I(a,b,d,c,e){this.id=kc+=2;this.b=null;this.A=a;this.Zb=b;this.size=d||0;this.type=c||lc;this.H=c==mc;this.controller=null;zb(this);this.Za=this.Nc=!1;if(d)if(e)this.controller=e,this.b=null,nc(this,e.Gb);else if(sb)this.G=new ArrayBuffer(d),this.J=new DataView(this.G,0,d),this.g=new Uint8Array(this.G,0,d),this.R=new Uint16Array(this.G,0,d>>1),this.b=new Int32Array(this.G,0,d>>2),nc(this,jc?oc:pc);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;nc(this,qc)}else nc(this)}
|
function G(a,b,d,c,f){this.id=jc+=2;this.b=null;this.w=a;this.Xb=b;this.size=d||0;this.type=c||kc;this.J=c==lc;this.controller=null;xb(this);this.Xa=this.Nc=!1;if(d)if(f)this.controller=f,this.b=null,mc(this,f.Fb);else if(ob)this.D=new ArrayBuffer(d),this.F=new DataView(this.D,0,d),this.A=new Uint8Array(this.D,0,d),this.K=new Uint16Array(this.D,0,d>>1),this.b=new Int32Array(this.D,0,d>>2),mc(this,ic?nc:oc);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;mc(this,pc)}else mc(this)}
|
||||||
var lc=0,mc=2,Fb=4,Hb=["NONE","RAM","ROM","VID","H/W"],kc=0;
|
var kc=0,lc=2,Db=4,Qb=["NONE","RAM","ROM","VID","H/W"],jc=0;
|
||||||
I.prototype={constructor:I,parent:null,Nb:function(a){this.A=a},save:function(){var a,b;if(this.controller)a=null;else if(sb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.J.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(sb)for(b=0;b<a.length;b++)this.J.setInt32(b<<2,a[b],!0);else this.b=a;return this.Za=!0}return!1},hb:function(a,b){b?this.w++||rc(this,sc,!1):this.P++||tc(this,sc,!1)},W:function(){this.I&&cb(this.I,
|
G.prototype={constructor:G,parent:null,Lb:function(a){this.w=a},save:function(){var a,b;if(this.controller)a=null;else if(ob)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.F.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(ob)for(b=0;b<a.length;b++)this.F.setInt32(b<<2,a[b],!0);else this.b=a;return this.Xa=!0}return!1},gb:function(a,b){b?this.j++||qc(this,rc,!1):this.g++||sc(this,rc,!1)},O:function(){this.C&&jb(this.C,
|
||||||
129)&&this.I.message("attempt to read invalid block %"+r(this.A),!0);return 255},u:function(a,b){this.I&&cb(this.I,129)&&this.I.message("attempt to write "+r(b,4,!0)+" to invalid block %"+r(this.A),!0)},X:function(a,b){return this.wb(a++,b++)|this.wb(a,b)<<8},O:function(a,b,d){this.Bb(a++,b&255,d++);this.Bb(a,b>>8,d)},ca:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},qa:function(a){var b=a>>2;a=(a&3)<<3;var d=this.b[b]>>a;return 24>a?d&65535:d&255|(this.b[b+1]&255)<<8},Ca:function(a,b){var d=a>>
|
129)&&this.C.message("attempt to read invalid block %"+r(this.w),!0);return 255},B:function(a,b){this.C&&jb(this.C,129)&&this.C.message("attempt to write "+r(b,4,!0)+" to invalid block %"+r(this.w),!0)},P:function(a,b){return this.vb(a++,b++)|this.vb(a,b)<<8},I:function(a,b,d){this.Ab(a++,b&255,d++);this.Ab(a,b>>8,d)},Z:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ma:function(a){var b=a>>2;a=(a&3)<<3;var d=this.b[b]>>a;return 24>a?d&65535:d&255|(this.b[b+1]&255)<<8},Ca:function(a,b){var d=a>>
|
||||||
2;a=(a&3)<<3;this.b[d]=this.b[d]&~(255<<a)|b<<a;this.Za=!0},Fb:function(a,b){var d=a>>2;a=(a&3)<<3;24>a?this.b[d]=this.b[d]&~(65535<<a)|b<<a:(this.b[d]=this.b[d]&16777215|b<<24,d++,this.b[d]=this.b[d]&-256|b>>8);this.Za=!0},$:function(a,b){if(this.I&&null!=this.A){var d=this.I;uc(d,this.A+a,1,d.Y)&&d.pa(!0)}return this.Sb(a,b)},ha:function(a,b){if(this.I&&null!=this.A){var d=this.I;uc(d,this.A+a,2,d.Y)&&d.pa(!0)}return this.mc(a,b)},za:function(a,b,d){if(this.I&&null!=this.A){var c=this.I;uc(c,this.A+
|
2;a=(a&3)<<3;this.b[d]=this.b[d]&~(255<<a)|b<<a;this.Xa=!0},Eb:function(a,b){var d=a>>2;a=(a&3)<<3;24>a?this.b[d]=this.b[d]&~(65535<<a)|b<<a:(this.b[d]=this.b[d]&16777215|b<<24,d++,this.b[d]=this.b[d]&-256|b>>8);this.Xa=!0},V:function(a,b){if(this.C&&null!=this.w){var d=this.C;tc(d,this.w+a,1,d.T)&&d.ia(!0)}return this.Qb(a,b)},ea:function(a,b){if(this.C&&null!=this.w){var d=this.C;tc(d,this.w+a,2,d.T)&&d.ia(!0)}return this.lc(a,b)},wa:function(a,b,d){if(this.C&&null!=this.w){var c=this.C;tc(c,this.w+
|
||||||
a,1,c.J)&&c.pa(!0)}this.H?this.u(a,b,d):this.Cb(a,b,d)},Ia:function(a,b,d){if(this.I&&null!=this.A){var c=this.I;uc(c,this.A+a,2,c.J)&&c.pa(!0)}this.H?this.u(a,b,d):this.qc(a,b,d)},Y:function(a){return this.g[a]},ba:function(a){return this.g[a]},da:function(a){return this.J.getUint16(a,!0)},ia:function(a){return a&1?this.g[a]|this.g[a+1]<<8:this.R[a>>1]},ya:function(a,b){this.g[a]=b;this.Za=!0},Aa:function(a,b){this.g[a]=b;this.Za=!0},Ha:function(a,b){this.J.setUint16(a,b,!0);this.Za=!0},Va:function(a,
|
a,1,c.F)&&c.ia(!0)}this.J?this.B(a,b,d):this.Bb(a,b,d)},Ha:function(a,b,d){if(this.C&&null!=this.w){var c=this.C;tc(c,this.w+a,2,c.F)&&c.ia(!0)}this.J?this.B(a,b,d):this.pc(a,b,d)},T:function(a){return this.A[a]},X:function(a){return this.A[a]},$:function(a){return this.F.getUint16(a,!0)},fa:function(a){return a&1?this.A[a]|this.A[a+1]<<8:this.K[a>>1]},va:function(a,b){this.A[a]=b;this.Xa=!0},xa:function(a,b){this.A[a]=b;this.Xa=!0},Ga:function(a,b){this.F.setUint16(a,b,!0);this.Xa=!0},Sa:function(a,
|
||||||
b){a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.R[a>>1]=b;this.Za=!0}};function zb(a,b,d){a.I=b;a.P=a.w=0;d&&((a.P=d.P)&&tc(a,sc,!1),(a.w=d.w)&&rc(a,sc,!1))}function vc(a,b){b?--a.w||(a.Bb=a.H?a.u:a.Cb,a.Ec=a.H?a.O:a.qc):--a.P||(a.wb=a.Sb,a.Tb=a.mc)}function rc(a,b,d){d&&a.w||(a.Bb=!a.H&&b[1]||a.u,a.Ec=!a.H&&b[3]||a.O);if(d||void 0===d)a.Cb=b[1]||a.u,a.qc=b[3]||a.O}function tc(a,b,d){d&&a.P||(a.wb=b[0]||a.W,a.Tb=b[2]||a.X);if(d||void 0===d)a.Sb=b[0]||a.W,a.mc=b[2]||a.X}
|
b){a&1?(this.A[a]=b,this.A[a+1]=b>>8):this.K[a>>1]=b;this.Xa=!0}};function xb(a,b,d){a.C=b;a.g=a.j=0;d&&((a.g=d.g)&&sc(a,rc,!1),(a.j=d.j)&&qc(a,rc,!1))}function Ic(a,b){b?--a.j||(a.Ab=a.J?a.B:a.Bb,a.Ec=a.J?a.I:a.pc):--a.g||(a.vb=a.Qb,a.Rb=a.lc)}function qc(a,b,d){d&&a.j||(a.Ab=!a.J&&b[1]||a.B,a.Ec=!a.J&&b[3]||a.I);if(d||void 0===d)a.Bb=b[1]||a.B,a.pc=b[3]||a.I}function sc(a,b,d){d&&a.g||(a.vb=b[0]||a.O,a.Rb=b[2]||a.P);if(d||void 0===d)a.Qb=b[0]||a.O,a.lc=b[2]||a.P}
|
||||||
function nc(a,b){b||(b=wc);tc(a,b,void 0);rc(a,b,void 0)}var wc=[],qc=[I.prototype.ca,I.prototype.Ca,I.prototype.qa,I.prototype.Fb],sc=[I.prototype.$,I.prototype.za,I.prototype.ha,I.prototype.Ia];if(sb)var pc=[I.prototype.Y,I.prototype.ya,I.prototype.da,I.prototype.Ha],oc=[I.prototype.ba,I.prototype.Aa,I.prototype.ia,I.prototype.Va];
|
function mc(a,b){b||(b=Jc);sc(a,b,void 0);qc(a,b,void 0)}var Jc=[],pc=[G.prototype.Z,G.prototype.Ca,G.prototype.ma,G.prototype.Eb],rc=[G.prototype.V,G.prototype.wa,G.prototype.ea,G.prototype.Ha];if(ob)var oc=[G.prototype.T,G.prototype.va,G.prototype.$,G.prototype.Ga],nc=[G.prototype.X,G.prototype.xa,G.prototype.fa,G.prototype.Sa];
|
||||||
function xc(a,b){u.call(this,"CPU",a,xc,1);var d=a.multiplier||1;this.Ha=a.cycles||b;this.mb=d;this.Ca=Math.round(this.Ha/1E4)/100;this.kb=this.Ca*this.mb;this.j.la=!1;this.j.pc=!1;this.j.Hb=a.autoStart;this.j.wc=!1;this.j.rb=!1;this.Pb=this.ba=0;this.Qb=a.csStart;this.ub=a.csInterval;this.vb=a.csStop;this.ya=[];this.Kb=this.ob.bind(this);D(this)}w(xc);var yc=["power","reset"];l=xc.prototype;
|
function Kc(a,b){u.call(this,"CPU",a,Kc,1);var d=a.multiplier||1;this.wa=a.cycles||b;this.lb=d;this.va=Math.round(this.wa/1E4)/100;this.jb=this.va*this.lb;this.u.da=!1;this.u.oc=!1;this.u.Gb=a.autoStart;this.u.wc=!1;this.u.qb=!1;this.Nb=this.T=0;this.Ob=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.ea=[];this.Cb=this.nb.bind(this);D(this)}w(Kc);var Lc=["power","reset"];l=Kc.prototype;
|
||||||
l.$a=function(a,b,d,c){this.w=a;this.H=b;this.I=c;for(b=0;b<yc.length;b++)(d=this.P[yc[b]])&&this.w.wa(null,yc[b],d);this.ha=null;a=zc(a,"autoStart");null!=a&&(this.j.Hb="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.Qa=function(a,b){if(!b){if(a&&this.restore){Oc(this);if(!this.restore(a))return!1;Pc(this)}else this.reset();this.I?this.I.Nb():this.i("No debugger detected")}N(this);return!0};
|
l.Ya=function(a,b,d,c){this.g=a;this.A=b;this.C=c;for(b=0;b<Lc.length;b++)(d=this.J[Lc[b]])&&this.g.oa(null,Lc[b],d);this.Z=null;a=Mc(a,"autoStart");null!=a&&(this.u.Gb="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.La=function(a,b){if(!b){if(a&&this.restore){Nc(this);if(!this.restore(a))return!1;Oc(this)}else this.reset();this.C?this.C.Lb():this.f("No debugger detected")}K(this);return!0};
|
||||||
l.Pa=function(a){return a?this.save():!0};l.Hb=function(){return this.j.Hb||!this.I&&void 0===this.P.run?(this.ob(!0),!0):!1};l.yc=function(){return 0};function Pc(a){void 0===a.Qb&&(a.Qb=0);void 0===a.ub&&(a.ub=-1);void 0===a.vb&&(a.vb=-1);a.j.rb=0<=a.Qb&&0<a.ub;a.j.rb&&(a.Pb=0,a.ba=a.Qb-a.$)}function Qc(a,b){if(a.j.rb){var d=!1;a.Pb=a.Pb+a.yc()|0;a.ba-=b;0>=a.ba&&(a.ba+=a.ub,d=!0);0<=a.vb&&a.vb<=Rc(a)&&(a.ub=a.vb=-1,Pc(a),a.pa(),d=!0);d&&a.i(Rc(a)+" cycles: checksum="+r(a.Pb))}}
|
l.Ka=function(a){return a?this.save():!0};l.Gb=function(){return this.u.Gb||!this.C&&void 0===this.J.run?(this.nb(!0),!0):!1};l.yc=function(){return 0};function Oc(a){void 0===a.Ob&&(a.Ob=0);void 0===a.tb&&(a.tb=-1);void 0===a.ub&&(a.ub=-1);a.u.qb=0<=a.Ob&&0<a.tb;a.u.qb&&(a.Nb=0,a.T=a.Ob-a.P)}function Pc(a,b){if(a.u.qb){var d=!1;a.Nb=a.Nb+a.yc()|0;a.T-=b;0>=a.T&&(a.T+=a.tb,d=!0);0<=a.ub&&a.ub<=Qc(a)&&(a.tb=a.ub=-1,Oc(a),a.ia(),d=!0);d&&a.f(Qc(a)+" cycles: checksum="+r(a.Nb))}}
|
||||||
function Sc(a,b,d,c){if(a.P[b]){void 0===d&&(rb(a,"Value for "+b+" is invalid"),a.pa());var e=a.I&&a.I.za||8;d=!a.j.la||a.j.wc?8==e?ca(d,c):r(d,c):"--------".substr(0,c||4);a.P[b].textContent!=d&&(a.P[b].textContent=d)}}
|
function Rc(a,b,d,c){if(a.J[b]){void 0===d&&(nb(a,"Value for "+b+" is invalid"),a.ia());var f=a.C&&a.C.wa||8;d=!a.u.da||a.u.wc?8==f?ca(d,c):r(d,c):"--------".substr(0,c||4);a.J[b].textContent!=d&&(a.J[b].textContent=d)}}
|
||||||
l.wa=function(a,b,d){var c=this;a=!1;switch(b){case "power":case "reset":this.P[b]=d;a=!0;break;case "run":this.P[b]=d;d.onclick=function(){var a;if(a=c.w)if(a=c.w,a.j.ga)a=!0;else{var b=null,d,h=$a(a.id);for(d=0;d<h.length&&(b=h[d],b===a||b.j.ready);d++);if(d==h.length)for(d=0;d<h.length&&(b=h[d],b===a||b.j.ga);d++);d==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.ac?" (waiting for notification)":""))+".");a=!1}a&&(c.j.la?c.pa():c.ob())};
|
l.oa=function(a,b,d){var c=this;a=!1;switch(b){case "power":case "reset":this.J[b]=d;a=!0;break;case "run":this.J[b]=d;d.onclick=function(){var a;if(a=c.g)if(a=c.g,a.u.ba)a=!0;else{var b=null,d,h=gb(a.id);for(d=0;d<h.length&&(b=h[d],b===a||b.u.ready);d++);if(d==h.length)for(d=0;d<h.length&&(b=h[d],b===a||b.u.ba);d++);d==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.u.ready?"powered yet":"ready yet"+(b.Zb?" (waiting for notification)":""))+".");a=!1}a&&(c.u.da?c.ia():c.nb())};
|
||||||
a=!0;break;case "speed":this.P[b]=d;a=!0;break;case "setSpeed":this.P[b]=d,d.onclick=function(){Tc(c,c.mb<<1,!0)},d.textContent=this.kb.toFixed(2)+"Mhz",a=!0}return a};function Uc(a,b,d){a.$+=b;d&&(a.Y=a.b=0)}function Vc(a,b){var d=1;b&&1<a.mb&&a.W&&(d=a.W/a.Ca);a.Db=Math.round(1E3/30);a.Aa=Math.floor(a.Ha/30*d);b||(a.ca=a.Aa);a.Ia=0}function Rc(a){return a.$+a.R+a.Y-a.b}function Oc(a){a.W=0;a.Ib=0;a.$=a.R=a.Y=a.b=0;Pc(a);Tc(a,1)}
|
a=!0;break;case "speed":this.J[b]=d;a=!0;break;case "setSpeed":this.J[b]=d,d.onclick=function(){Sc(c,c.lb<<1,!0)},d.textContent=this.jb.toFixed(2)+"Mhz",a=!0}return a};function Tc(a,b,d){a.P+=b;d&&(a.O=a.b=0)}function Uc(a,b){var d=1;b&&1<a.lb&&a.I&&(d=a.I/a.va);a.Sa=Math.round(1E3/30);a.ma=Math.floor(a.wa/30*d);b||(a.V=a.ma);a.xa=0}function Qc(a){return a.P+a.F+a.O-a.b}function Nc(a){a.I=0;a.ob=0;a.P=a.F=a.O=a.b=0;Oc(a);Sc(a,1)}
|
||||||
function Tc(a,b,d){var c=!1;if(void 0!==b){.8>a.W/a.kb?b=1:c=!0;a.mb=b;b=a.Ca*a.mb;if(a.kb!=b){a.kb=b;b=a.kb.toFixed(2)+"Mhz";var e=a.P.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}d&&a.w&&a.w.Yb()}Uc(a,a.R);a.R=0;a.O=ra();a.X=0;Vc(a);return c}function Wc(a){a.Y-=a.b;a.b=0}
|
function Sc(a,b,d){var c=!1;if(void 0!==b){.8>a.I/a.jb?b=1:c=!0;a.lb=b;b=a.va*a.lb;if(a.jb!=b){a.jb=b;b=a.jb.toFixed(2)+"Mhz";var f=a.J.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}d&&a.g&&a.g.Wb()}Tc(a,a.F);a.F=0;a.D=qa();a.K=0;Uc(a);return c}function Vc(a){a.O-=a.b;a.b=0}
|
||||||
l.ob=function(a){if(db(this,!0)){if(!this.j.la){Tc(this);this.w&&this.w.start(this.O,Rc(this));this.j.la=!0;this.j.pc=!0;this.ha&&this.ha.start();var b=this.P.run;b&&(b.textContent="Halt");this.w&&(this.w.Ba(!0),a&&this.w.Yb(!0))}this.Ia>=this.Ha&&Vc(this,!0);this.ia=0;this.za=ra();this.X&&(a=this.za-this.X,a>this.Db&&(this.O+=a,this.O>this.za&&(this.O=this.za)));try{do{for(var d,c=this.j.rb?1:this.Aa,e=this.ya.length-1;0<=e;e--){var f=this.ya[e];0>f[0]||c>f[0]&&(c=f[0])}d=c;try{this.Ab(d)}catch(m){if("number"!=
|
l.nb=function(a){if(kb(this,!0)){if(!this.u.da){Sc(this);this.g&&this.g.start(this.D,Qc(this));this.u.da=!0;this.u.oc=!0;this.Z&&this.Z.start();var b=this.J.run;b&&(b.textContent="Halt");this.g&&(this.g.ua(!0),a&&this.g.Wb(!0))}this.xa>=this.wa&&Uc(this,!0);this.$=0;this.fa=qa();this.K&&(a=this.fa-this.K,a>this.Sa&&(this.D+=a,this.D>this.fa&&(this.D=this.fa)));try{do{for(var d,c=this.u.qb?1:this.ma,f=this.ea.length-1;0<=f;f--){var e=this.ea[f];0>e[0]||c>e[0]&&(c=e[0])}d=c;try{this.zb(d)}catch(m){if("number"!=
|
||||||
typeof m)throw m;}var g=this.Y-this.b;a=g;for(var h=this.ya.length-1;0<=h;h--){var k=this.ya[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.ia+=g;this.R+=g;Uc(this,0,!0);Qc(this,g);this.ca-=g;if(0>=this.ca){this.ca+=this.Aa;15<=++this.Ib&&(this.w&&this.w.Ba(),this.Ib=0);break}}while(this.j.la)}catch(m){this.pa();N(this);this.w&&this.w.stop(ra(),Rc(this));db(this,!1);rb(this,m.stack||m.message);return}d=setTimeout;c=this.Kb;this.X=ra();e=this.Db;this.ia&&(e=Math.round(e*this.ia/this.Aa));e-=this.X-
|
typeof m)throw m;}var g=this.O-this.b;a=g;for(var h=this.ea.length-1;0<=h;h--){var k=this.ea[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.$+=g;this.F+=g;Tc(this,0,!0);Pc(this,g);this.V-=g;if(0>=this.V){this.V+=this.ma;15<=++this.ob&&(this.g&&this.g.ua(),this.ob=0);break}}while(this.u.da)}catch(m){this.ia();K(this);this.g&&this.g.stop(qa(),Qc(this));kb(this,!1);nb(this,m.stack||m.message);return}d=setTimeout;c=this.Cb;this.K=qa();f=this.Sa;this.$&&(f=Math.round(f*this.$/this.ma));f-=this.K-
|
||||||
this.za;if(f=this.X-this.O)this.W=Math.round(this.R/(10*f))/100,864E5<=f&&(this.$=0,Tc(this));if(0>e||this.W<this.kb)-1E3>e&&(this.O-=e),e=0;this.Ia+=this.ia;this.X+=e;d(c,e)}else N(this),this.w&&this.w.stop(ra(),Rc(this))};l.Ab=function(){return 0};l.pa=function(a){eb(this,!0);Wc(this);Uc(this,this.R);this.R=0;if(this.j.la){this.j.la=!1;this.ha&&this.ha.stop();var b=this.P.run;b&&(b.textContent="Run")}this.j.complete=a};function N(a,b){a.w&&a.w.Ba(b)}
|
this.fa;if(e=this.K-this.D)this.I=Math.round(this.F/(10*e))/100,864E5<=e&&(this.P=0,Sc(this));if(0>f||this.I<this.jb)-1E3>f&&(this.D-=f),f=0;this.xa+=this.$;this.K+=f;d(c,f)}else K(this),this.g&&this.g.stop(qa(),Qc(this))};l.zb=function(){return 0};l.ia=function(a){lb(this,!0);Vc(this);Tc(this,this.F);this.F=0;if(this.u.da){this.u.da=!1;this.Z&&this.Z.stop();var b=this.J.run;b&&(b.textContent="Run")}this.u.complete=a};function K(a,b){a.g&&a.g.ua(b)}
|
||||||
function Xc(a){this.Xc=+a.model||1170;this.$b=a.resetAddr||0;xc.call(this,a,1E6);this.Va=0;this.decode=Yc.bind(this);this.D=65536;this.C=32768;this.F=65535;this.B=32768;this.f=[0,0,0,0,0,0,0,this.$b];this.bb=[0,0,0,0,0,0];this.ua=[0,0,0,0];this.Sa=255;this.bc=this.Ob=this.tb=this.G=this.Ua=this.Eb=this.Ga=this.ea=this.M=this.ec=0;this.lb=[7,7,7,7];this.ma=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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,
|
function Wc(a){this.Xc=+a.model||1170;this.Yb=a.resetAddr||0;Kc.call(this,a,1E6);this.Ga=0;this.decode=Xc.bind(this);this.ya=65536;this.sa=32768;this.ta=65535;this.ra=32768;this.i=[0,0,0,0,0,0,0,this.Yb];this.ab=[0,0,0,0,0,0];this.Oa=[0,0,0,0];this.Na=255;this.$b=this.Mb=this.sb=this.B=this.Ra=this.Db=this.Qa=this.aa=this.H=this.dc=0;this.kb=[7,7,7,7];this.ga=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,
|
||||||
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.Xb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.kc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.g=-1;this.V=0;this.jb=70;this.da=-1;this.u=[];this.qa=0;this.Ra=2;Zc(this);this.j.complete=this.j.Kc=!1}w(Xc,xc);l=Xc.prototype;
|
65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Vb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.jc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.S=0;this.ib=70;this.X=-1;this.j=[];this.Hb=0;this.$a=2;Yc(this);this.u.complete=this.u.Kc=!1}w(Wc,Kc);l=Wc.prototype;
|
||||||
l.reset=function(){this.j.la&&this.pa();$c(this);Oc(this);this.j.error=!1;this.parent.reset.call(this)};function $c(a){a.Sa=255;a.M=0;a.u=[];a.ec=0;a.ea=a.Ga=a.Eb=a.Ua=a.tb=0;a.lb[0]=a.lb[1]=a.lb[3]=7;a.Ob=0;Zc(a)}function Zc(a){a.tb?(a.J=65536,a.L=a.Rc,a.Tb=a.na):(a.J=0,a.L=a.Qc,a.Tb=a.ka)}l.yc=function(){return 0};l.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.pb,this.$,this.mb]);a.set(2,Jb(this.H));return a.data()};
|
l.reset=function(){this.u.da&&this.ia();Zc(this);Nc(this);this.u.error=!1;this.parent.reset.call(this)};function Zc(a){a.Na=255;a.H=0;a.j=[];a.dc=0;a.aa=a.Qa=a.Db=a.Ra=a.sb=0;a.kb[0]=a.kb[1]=a.kb[3]=7;a.Mb=0;Yc(a)}function Yc(a){a.sb?(a.Ca=65536,a.W=a.Rc,a.Rb=a.Ma):(a.Ca=0,a.W=a.Qc,a.Rb=a.cc)}l.yc=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.Ha,this.P,this.lb]);a.set(2,Sb(this.A));return a.data()};
|
||||||
l.restore=function(a){var b=a[1];this.pb=b[0];this.$=b[1];Tc(this,b[3]);a:{b=this.H;a=a[2];var d;for(d=0;d<a.length-1;d+=2){var c=a[d],e=a[d+1];if(e&&e.length<b.R){for(var f=0,g=Array(b.R),h=0;h<e.length-1;)for(var k=e[h++],m=e[h++];k--;)g[f++]=m;e=g}f=b.S[c];if(!f||!f.restore(e)){t("Unable to restore memory block "+c);b=!1;break a}}b=!0}return b};
|
l.restore=function(a){var b=a[1];this.Ha=b[0];this.P=b[1];Sc(this,b[3]);a:{b=this.A;a=a[2];var d;for(d=0;d<a.length-1;d+=2){var c=a[d],f=a[d+1];if(f&&f.length<b.K){for(var e=0,g=Array(b.K),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.L[c];if(!e||!e.restore(f)){t("Unable to restore memory block "+c);b=!1;break a}}b=!0}return b};
|
||||||
l.wa=function(a,b,d){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.P[b]=d;this.Va++;a=!0;break;default:a=this.parent.wa.call(this,a,b,d)}return a};
|
l.oa=function(a,b,d){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.J[b]=d;this.Ga++;a=!0;break;default:a=this.parent.oa.call(this,a,b,d)}return a};
|
||||||
l.Ba=function(a){if(this.Va&&(a||!this.j.la||this.j.wc)){for(a=0;a<this.f.length;a++)Sc(this,"R"+a,this.f[a]);a=Yb(this);Sc(this,"PS",a);Sc(this,"NF",a&8?1:0,1);Sc(this,"ZF",a&4?1:0,1);Sc(this,"VF",a&2?1:0,1);Sc(this,"CF",a&1?1:0,1)}if(a=this.P.speed)a.textContent=this.j.la&&this.W?this.W.toFixed(2)+"Mhz":"Stopped"};
|
l.ua=function(a){if(this.Ga&&(a||!this.u.da||this.u.wc)){for(a=0;a<this.i.length;a++)Rc(this,"R"+a,this.i[a]);a=Wb(this);Rc(this,"PS",a);Rc(this,"NF",a&8?1:0,1);Rc(this,"ZF",a&4?1:0,1);Rc(this,"VF",a&2?1:0,1);Rc(this,"CF",a&1?1:0,1)}if(a=this.J.speed)a.textContent=this.u.da&&this.I?this.I.toFixed(2)+"Mhz":"Stopped"};
|
||||||
function J(a,b,d,c,e){for(var f=a.u.length;0<f--;)if(a.u[f].ld===c){0<f&&(a.u[f-1].Ja+=a.u[f].Ja);a.u.splice(f,1);break}if(0<=b){2===a.qa&&(b=0,a.qa=0,setTimeout(a.Kb,0));for(f=a.u.length;0<f--;){if(a.u[f].Ja>b){a.u[f].Ja-=b;break}b-=a.u[f].Ja}a.u.splice(f+1,0,{delay:b,priority:d<<5&224,vector:c,callback:e})}a.Ra=2}function Yb(a){return a.N=a.N&63728|(a.B&32768?8:0)|(a.F&65535?0:4)|(a.C&32768?2:0)|(a.D&65536?1:0)}
|
function H(a,b,d,c,f){for(var e=a.j.length;0<e--;)if(a.j[e].ld===c){0<e&&(a.j[e-1].Wa+=a.j[e].Wa);a.j.splice(e,1);break}if(0<=b){2===a.Hb&&(b=0,a.Hb=0,setTimeout(a.Cb,0));for(e=a.j.length;0<e--;){if(a.j[e].Wa>b){a.j[e].Wa-=b;break}b-=a.j[e].Wa}a.j.splice(e+1,0,{delay:b,priority:d<<5&224,vector:c,callback:f})}a.$a=2}function Wb(a){return a.qa=a.qa&63728|(a.ra&32768?8:0)|(a.ta&65535?0:4)|(a.sa&32768?2:0)|(a.ya&65536?1:0)}
|
||||||
function Zb(a,b){a.B=b<<12;a.F=~b&4;a.C=b<<14;a.D=b<<16;if((b^a.N)&2048)for(var d=a.bb.length;0<=--d;){var c=a.f[d];a.f[d]=a.bb[d];a.bb[d]=c}a.G=b>>14&3;d=a.N>>14&3;a.G!=d&&(a.ua[d]=a.f[6],a.f[6]=a.ua[a.G]);a.Ra=2;a.N=b}function ad(a,b){a.V&128||(a.B=a.F=a.D=b,a.C=0)}function bd(a,b){a.V&128||(a.B=a.F=b,a.C=0)}function cd(a,b,d,c){a.V&128||(a.B=a.F=a.D=b,a.C=(d^c)&(c^b))}
|
function Xb(a,b){a.ra=b<<12;a.ta=~b&4;a.sa=b<<14;a.ya=b<<16;if((b^a.qa)&2048)for(var d=a.ab.length;0<=--d;){var c=a.i[d];a.i[d]=a.ab[d];a.ab[d]=c}a.B=b>>14&3;d=a.qa>>14&3;a.B!=d&&(a.Oa[d]=a.i[6],a.i[6]=a.Oa[a.B]);a.$a=2;a.qa=b}function $c(a,b){a.S&128||(a.ra=a.ta=a.ya=b,a.sa=0)}function ad(a,b){a.S&128||(a.ra=a.ta=b,a.sa=0)}function bd(a,b,d,c){a.S&128||(a.ra=a.ta=a.ya=b,a.sa=(d^c)&(c^b))}
|
||||||
function L(a,b,d){var c,e,f=0;0>a.da?a.da=Yb(a):a.G||(b=4,f=1);a.ea&57344||(a.Ga=63222,a.Eb=b);a.G=0;0<=(c=a.na(b|65536))&&0<=(e=a.na(b+2&65535|65536))&&(Zb(a,e&53247|a.da>>2&12288),f&&(a.M|=4,a.f[6]=4),0<=dd(a,a.da)&&0<=dd(a,a.f[7])&&(a.f[7]=c));a.V&=-113;a.da=-1;throw b|d<<8;}function fc(a,b){var d=b>>13&31;31>d?a.Ua&32&&(b=a.Xb[d]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
function J(a,b,d){var c=!1;0>a.X?a.X=Wb(a):a.B||(b=4,c=!0);a.aa&57344||(a.Qa=63222,a.Db=b);a.B=0;var f=a.Ma(b|65536),e=a.Ma(b+2&65535|65536);Xb(a,e&53247|a.X>>2&12288);c&&(a.H|=4,a.i[6]=4);cd(a,a.X);cd(a,a.i[7]);a.i[7]=f;a.S&=-113;a.X=-1;throw b|d<<8;}function ec(a,b){var d=b>>13&31;31>d?a.Ra&32&&(b=a.Vb[d]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||||
function ed(a,b,d){var c,e,f,g=0;if(d&a.tb){c=b>>13&a.lb[a.G];e=a.ma[a.G][c];f=(a.ma[a.G][c+16]<<6)+(b&8191)&4194303;a.Ua&16?3932160<=f&&4186112>f&&(f=fc(a,f&262143)):(f&=262143,253952<=f&&(f|=4186112));3932160>f&&(3915776<=f&&(a.M|=32,L(a,4,24)),f&1&&!(d&1)&&(a.M|=64,L(a,4,26)));switch(e&7){case 1:g=4096;case 2:e|=128;d&E&&(g=8192);break;case 4:g=4096;case 5:d&E&&(g=4096);case 6:e|=d&E?192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&
|
function dd(a,b,d){var c,f,e,g=0;if(d&a.sb){c=b>>13&a.kb[a.B];f=a.ga[a.B][c];e=(a.ga[a.B][c+16]<<6)+(b&8191)&4194303;a.Ra&16?3932160<=e&&4186112>e&&(e=ec(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,J(a,4,24)),e&1&&!(d&1)&&(a.H|=64,J(a,4,26)));switch(f&7){case 1:g=4096;case 2:f|=128;d&E&&(g=8192);break;case 4:g=4096;case 5:d&E&&(g=4096);case 6:f|=d&E?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&
|
||||||
8128)&&(g|=16384));a.ma[a.G][c]=e;if(4194170!==f||a.G)a.Ob=a.G,a.bc=c;g&&(g&57344&&(0<=a.da&&(g|=128),a.ea&57344||(a.ea=a.ea|g|a.Ob<<5|a.bc<<1),L(a,168,28)),a.ea&61440||!(4191360>f||4194239<f)||(a.ea|=4096,a.ea&512&&(a.V|=32)))}else f=b&65535,57344<=f?f|=4186112:f&1&&!(d&1)&&(a.M|=64,L(a,4,22));return f}l.ka=function(a){return 4194304<=a?this.f[a-4194304]:0<=a?this.H.La(a):a};l.na=function(a){return this.ka(ed(this,a,tb))};
|
8128)&&(g|=16384));a.ga[a.B][c]=f;if(4194170!==e||a.B)a.Mb=a.B,a.$b=c;g&&(g&57344&&(0<=a.X&&(g|=128),a.aa&57344||(a.aa=a.aa|g|a.Mb<<5|a.$b<<1),J(a,168,28)),a.aa&61440||!(4191360>e||4194239<e)||(a.aa|=4096,a.aa&512&&(a.S|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(d&1)&&(a.H|=64,J(a,4,22));return e}l.cc=function(a){return 4194304<=a?this.i[a-4194304]:0<=a?this.A.Ea(a):a};l.Ma=function(a){return this.cc(dd(this,a,pb))};
|
||||||
function M(a,b,d){d&=65535;return 4194304<=b?a.f[b-4194304]=d:0<=b?(a.H.oc(b,d),d):b}function P(a,b){return 4194304<=b?a.f[b-4194304]&255:0<=b?a.H.Mb(b):b}function Q(a,b,d){d&=255;return 4194304<=b?a.f[b-4194304]=a.f[b-4194304]&65280|d:0<=b?(a.H.gc(b,d),d):b}function fd(a){var b=a.na(a.f[6]|65536);0<=b&&(a.f[6]=a.f[6]+2&65535);return b}
|
function dc(a,b,d){d&=65535;return 4194304<=b?a.i[b-4194304]=d:0<=b?(a.A.nc(b,d),d):b}function ed(a,b){return 4194304<=b?a.i[b-4194304]&255:0<=b?a.A.Kb(b):b}function fd(a,b,d){d&=255;4194304<=b?a.i[b-4194304]=a.i[b-4194304]&65280|d:0<=b&&a.A.fc(b,d)}function cd(a,b){var d=a.i[6]-2&65535;a.i[6]=d;a.aa&57344||(a.Qa=a.Qa<<8|246);!a.B&&d<=a.Na&&4<d&&(d<=a.Na-32?(a.H|=4,a.i[6]=4,J(a,4,32)):(a.H|=8,a.S|=4));d=dd(a,d|65536,E);dc(a,d,b)}
|
||||||
function dd(a,b){var d,c;a.f[6]=c=a.f[6]-2&65535;a.ea&57344||(a.Ga=a.Ga<<8|246);!a.G&&c<=a.Sa&&4<c&&(c<=a.Sa-32?(a.M|=4,a.f[6]=4,L(a,4,32)):(a.M|=8,a.V|=4));return 0<=(d=ed(a,c|65536,E))?M(a,d,b):d}
|
function gd(a,b,d){var c,f,e=b&7,g=d&8?0:a.Ca;switch(b>>3&7){case 0:J(a,4,34);break;case 1:return 6===e&&!a.B&&d&E&&(a.i[6]<=a.Na||65534<=a.i[6])&&(a.i[6]<=a.Na-32||65534<=a.i[6]?(a.H|=4,a.i[6]=4,J(a,4,36)):(a.H|=8,a.S|=64)),7===e?a.i[e]:a.i[e]|g;case 2:f=2;c=a.i[e];7!==e&&(c|=g,6>e&&d&1&&(f=1));break;case 3:f=2;c=a.i[e];7!==e&&(c|=g);if(0>(c=a.Ma(c)))return c;c|=g;break;case 4:f=-2;6>e&&d&1&&(f=-1);c=a.i[e]+f&65535;7!==e&&(c|=g);break;case 5:f=-2;c=a.i[e]-2&65535;7!==e&&(c|=g);if(0>(c=a.Ma(c)))return c;
|
||||||
function gd(a,b,d){var c,e,f=b&7;switch(b>>3&7){case 0:L(a,4,34);break;case 1:return 6===f&&!a.G&&d&E&&(a.f[6]<=a.Sa||65534<=a.f[6])&&(a.f[6]<=a.Sa-32||65534<=a.f[6]?(a.M|=4,a.f[6]=4,L(a,4,36)):(a.M|=8,a.V|=64)),7===f?a.f[f]:a.f[f]|a.J;case 2:e=2;c=a.f[f];7!==f&&(c|=a.J,6>f&&d&1&&(e=1));break;case 3:e=2;c=a.f[f];7!==f&&(c|=a.J);if(0>(c=a.na(c)))return c;c|=a.J;break;case 4:e=-2;6>f&&d&1&&(e=-1);c=a.f[f]+e&65535;7!==f&&(c|=a.J);break;case 5:e=-2;c=a.f[f]-2&65535;7!==f&&(c|=a.J);if(0>(c=a.na(c)))return c;
|
c|=g;break;case 6:if(0>(c=a.Ma(a.i[7])))return c;a.i[7]=a.i[7]+2&65535;c=c+a.i[e]&65535;return c|g;case 7:if(0>(c=a.Ma(a.i[7])))return c;a.i[7]=a.i[7]+2&65535;c=c+a.i[e]&65535;return 0>(c=a.Ma(c|65536))?c:c|g}a.i[e]=a.i[e]+f&65535;!g||a.aa&57344||(a.Qa=a.Qa<<8|f<<3&248|e);6===e&&!a.B&&d&E&&0>=f&&(a.i[6]<=a.Na||65534<=a.i[6])&&(a.i[6]<=a.Na-32?(a.H|=4,a.i[6]=4,J(a,4,38)):(a.H|=8,a.S|=64));return c}l.Qc=function(a,b){return gd(this,a,b)};l.Rc=function(a,b){return dd(this,gd(this,a,b),b)};
|
||||||
c|=a.J;break;case 6:if(0>(c=a.na(a.f[7])))return c;a.f[7]=a.f[7]+2&65535;c=c+a.f[f]&65535;return c|a.J;case 7:if(0>(c=a.na(a.f[7])))return c;a.f[7]=a.f[7]+2&65535;c=c+a.f[f]&65535;return 0>(c=a.na(c|65536))?c:c|a.J}a.f[f]=a.f[f]+e&65535;!a.J||a.ea&57344||(a.Ga=a.Ga<<8|e<<3&248|f);6===f&&!a.G&&d&E&&0>=e&&(a.f[6]<=a.Sa||65534<=a.f[6])&&(a.f[6]<=a.Sa-32?(a.M|=4,a.f[6]=4,L(a,4,38)):(a.M|=8,a.V|=64));return c}l.Qc=function(a,b){return gd(this,a,b)};l.Rc=function(a,b){return ed(this,gd(this,a,b),b)};
|
function N(a,b){return b&56?a.Rb(gd(a,b,pb)):a.i[b&7]}function hd(a,b){return b&56?ed(a,a.W(b,rb)):a.i[b&7]&255}function id(a,b,d,c){b&56?(b=a.W(b,qb),dc(a,b,c.call(a,d,a.cc(b)))):(b&=7,a.i[b]=c.call(a,d,a.i[b])&65535)}function jd(a,b,d,c){b&56?(b=a.W(b,tb),fd(a,b,c.call(a,d,ed(a,b)))):(b&=7,a.i[b]=a.i[b]&65280|c.call(a,d,a.i[b])&255)}function kd(a,b,d){b&56?dc(a,a.W(b,E),d):a.i[b&7]=d&65535;return d}
|
||||||
function S(a,b){return b&56?a.Tb(gd(a,b,tb)):a.f[b&7]}function hd(a,b){return b&56?P(a,a.L(b,ub)):a.f[b&7]&255}function id(a,b,d,c){b&56?(b=a.L(b,F),M(a,b,c.call(a,d,a.ka(b)))):(b&=7,a.f[b]=c.call(a,d,a.f[b])&65535)}function jd(a,b,d,c){b&56?(b=a.L(b,G),Q(a,b,c.call(a,d,P(a,b)))):(b&=7,a.f[b]=a.f[b]&65280|c.call(a,d,a.f[b])&255)}function kd(a,b,d){b&56?M(a,a.L(b,E),d):a.f[b&7]=d&65535;return d}
|
function ld(a,b,d,c){b&56?fd(a,a.W(b,sb),d):(b&=7,a.i[b]=d?c&1?d<<24>>24&65535:a.i[b]&-256|d&255:a.i[b]&-256);return d}
|
||||||
function ld(a,b,d,c){b&56?Q(a,a.L(b,vb),d):(b&=7,a.f[b]=d?c&1?d<<24>>24&65535:a.f[b]&-256|d&255:a.f[b]&-256);return d}function T(a,b){return((b&128?b|65280:b&255)<<1)+a&65535}
|
l.zb=function(a){this.u.complete=!0;var b=this.u.Kc=this.C&&md(this.C),d=a?this.u.oc?0:1:-1;this.u.oc=!1;this.O=this.b=a;this.Ha&256?(Vc(this),a=!1):a=!0;if(a){do{if(b){if(nd(this.C,this.i[7],d)){this.ia();break}d=1}var c,f;this.S&112&&(this.S&32?J(this,168,52):this.S&64?J(this,4,54):this.S&16&&J(this,12,56),this.S&=-113);if(this.$a)if(1===this.$a)this.$a=2;else{this.$a=0;f=-1;a=this.dc&224;if(0<(c=this.j.length))for(;0<c--;){if(0<this.j[c].Wa){this.j[c].Wa--;this.$a=2;break}if(this.j[c].tc){if(!this.j[c].tc()){this.j.splice(c,
|
||||||
l.Ab=function(a){this.j.complete=!0;var b=this.j.Kc=this.I&&md(this.I),d=a?this.j.pc?0:1:-1;this.j.pc=!1;this.Y=this.b=a;this.pb&256?(Wc(this),a=!1):a=!0;if(a){do{if(b){if(nd(this.I,this.f[7],d)){this.pa();break}d=1}var c,e,f,g;this.V&112&&(this.V&32?L(this,168,52):this.V&64?L(this,4,54):this.V&16&&L(this,12,56),this.V&=-113);if(this.Ra)if(1===this.Ra)this.Ra=2;else{this.Ra=0;c=-1;e=this.ec&224;if(0<(a=this.u.length))for(;0<a--;){if(0<this.u[a].Ja){this.u[a].Ja--;this.Ra=2;break}if(this.u[a].uc){if(!this.u[a].uc()){this.u.splice(a,
|
1);f--;continue}this.j[c].tc=null}this.j[c].Yc>a&&(a=this.j[c].Yc,f=c)}a>(this.qa&224)&&(0>f?J(this,160,42):(J(this,this.j[f].ld,44),this.j.splice(f,1)))}this.aa&57344||(this.Qa=0,this.Db=this.i[7]);this.S=this.qa&16;a=this.Ma(this.i[7]);0<=a&&(this.i[7]=this.i[7]+2&65535);this.decode(a)}while(0<this.b)}return this.u.complete?this.O-this.b:void 0===this.u.complete?0:-1};Ka(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Wc(c);ib(c,d)}});
|
||||||
1);c--;continue}this.u[a].uc=null}this.u[a].Yc>e&&(e=this.u[a].Yc,c=a)}e>(this.N&224)&&(0>c?L(this,160,42):(L(this,this.u[c].ld,44),this.u.splice(c,1)))}this.ea&57344||(this.Ga=0,this.Eb=this.f[7]);this.V=this.N&16;this.g=a=this.na(this.f[7]);0<=a&&(this.f[7]=this.f[7]+2&65535);this.decode(a);if(0>this.g)switch(a&61440){case 4096:break;case 8192:break;case 12288:break;case 16384:break;case 20480:break;case 24576:break;case 36864:break;case 40960:break;case 45056:break;case 49152:break;case 53248:break;
|
function od(a,b){var d=a+b;this.S&128||(this.ra=this.ta=this.ya=d,this.sa=(a^d)&(b^d));return d&65535}function pd(a,b){a=~a&b;ad(this,a);return a}function qd(a,b){a=~a&b;ad(this,a<<8);return a}function rd(a,b){a|=b;ad(this,a);return a}function sd(a,b){a|=b;ad(this,a<<8);return a}function td(a,b){var d=b-a;bd(this,d,a,b);return d&65535}function ud(){--this.b}function vd(){--this.b}function O(a){a&1&&(this.ya=0);a&2&&(this.sa=0);a&4&&(this.ta=1);a&8&&(this.ra=0);--this.b}function wd(){--this.b}
|
||||||
case 57344:break;default:switch(a&65024){case 2048:0<=(f=gd(this,a,0))&&(g=a>>6&7,0<=dd(this,this.f[g])&&(this.f[g]=this.f[7],this.f[7]=f&65535));break;case 28672:0<=(c=S(this,a))&&(g=a>>6&7,c&32768&&(c|=-65536),e=this.f[g],e&32768&&(e|=-65536),a=~~(c*e),this.f[g]=a>>16&65535,this.f[g|1]=a&65535,this.B=a>>16,this.F=this.B|a,this.D=this.C=0,-32768>a||32767<a)&&(this.D=65536);break;case 29184:0<=(c=S(this,a))&&(c?(g=a>>6&7,e=this.f[g]<<16|this.f[g|1],this.D=this.C=0,c&32768&&(c|=-65536),a=~~(e/c),-32768<=
|
function xd(a){this.f("JSR");var b=gd(this,a,8);a=a>>6&7;cd(this,this.i[a]);this.i[a]=this.i[7];this.i[7]=b;--this.b}function yd(){--this.b}function zd(){--this.b}function Q(a){a&1&&(this.ya=65536);a&2&&(this.sa=32768);a&4&&(this.ta=0);a&8&&(this.ra=32768);--this.b}function Ad(){--this.b}function Bd(){--this.b}function R(){J(this,8,48)}function Xc(a){Cd[a>>12].call(this,a)}
|
||||||
a&&32767>=a?(this.f[g]=a&65535,this.f[g|1]=e-a*c&65535,this.F=a>>16|a,this.B=a>>16):(this.C=32768,this.F=a>>15|a,this.B=e>>16,-1===c&&65534===this.f[g]&&(this.f[g]=this.f[g|1]=1))):(this.F=this.B=0,this.C=32768,this.D=65536));break;case 29696:0<=(c=S(this,a))&&(g=a>>6&7,a=this.f[g],a&32768&&(a|=4294901760),this.D=this.C=0,c&=63,c&32?(c=64-c,16<c&&(c=16),this.D=a<<17-c,a>>=c):c&&(16<c?(this.C=a,a=0):(this.D=a<<=c,(e=a>>15&65535)&&65535!==e&&(this.C=32768))),this.f[g]=a&65535,this.B=this.F=a);break;
|
var Cd=[function(a){Dd[a>>8&15].call(this,a)},function(a){ad(this,kd(this,a,N(this,a>>6)));--this.b},function(a){var b=N(this,a>>6);a=N(this,a);bd(this,b-a,a,b);--this.b},function(a){ad(this,N(this,a>>6)&N(this,a));--this.b},function(a){id(this,a,N(this,a>>6),pd);--this.b},function(a){id(this,a,N(this,a>>6),rd);--this.b},function(a){id(this,a,N(this,a>>6),od);--this.b},function(a){Ed[a>>8&15].call(this,a)},function(a){Fd[a>>8&15].call(this,a)},function(a){var b=hd(this,a>>6);ad(this,ld(this,a,b,1)<<
|
||||||
case 30208:if(0<=(c=S(this,a))){g=a>>6&7;e=this.f[g]<<16|this.f[g|1];this.D=this.C=0;c&=63;if(c&32)c=64-c,32<c&&(c=32),a=e>>c-1,this.D=a<<16,a>>=1,e&2147483648&&(a|=4294967295<<32-c);else if(c){if(a=e<<c-1,this.D=a>>15,a<<=1,32<c&&(c=32),e>>=32-c)e|=4294967295<<c&4294967295,4294967295!==e&&(this.C=32768)}else a=e;this.f[g]=a>>16&65535;this.f[g|1]=a&65535;this.B=a>>16;this.F=a>>16|a}break;case 30720:a&56?0<=(e=this.ka(c=this.L(a,F)))&&(e^=this.f[a>>6&7],0<=M(this,c,e)&&(this.B=this.F=e,this.C=0)):
|
8);--this.b},function(a){var b=hd(this,a>>6)<<8;a=hd(this,a)<<8;bd(this,b-a,a,b);--this.b},function(a){ad(this,(hd(this,a>>6)&hd(this,a))<<8);--this.b},function(a){jd(this,a,hd(this,a>>6),qd);--this.b},function(a){jd(this,a,hd(this,a>>6),sd);--this.b},function(a){id(this,a,N(this,a>>6),td);--this.b},R],Dd=[function(a){Gd[a>>4&15].call(this,a)},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},xd,xd,function(a){Hd[a>>
|
||||||
(this.B=this.F=e=this.f[a&7]^=this.f[a>>6&7],this.C=0);break;case 32256:g=a>>6&7;if(this.f[g]=this.f[g]-1&65535)this.f[7]=this.f[7]-((a&63)<<1)&65535;break;default:switch(a&65280){case 256:this.f[7]=T(this.f[7],a);break;case 512:this.F&65535&&(this.f[7]=T(this.f[7],a));break;case 768:this.F&65535||(this.f[7]=T(this.f[7],a));break;case 1024:(this.B&32768)===(this.C&32768)&&(this.f[7]=T(this.f[7],a));break;case 1280:(this.B&32768)!==(this.C&32768)&&(this.f[7]=T(this.f[7],a));break;case 1536:this.F&
|
6&3].call(this,a)},function(a){Id[a>>6&3].call(this,a)},function(a){Jd[a>>6&3].call(this,a)},function(a){Kd[a>>6&3].call(this,a)},R,R],Gd=[function(a){Ld[a&15].call(this,a)},R,R,R,R,R,R,R,R,R,function(a){Md[a&15].call(this,a)},function(a){Nd[a&15].call(this,a)},R,R,R,R],Md=[zd,function(){this.ya=0;--this.b},function(){this.sa=0;--this.b},O,function(){this.ta=1;--this.b},O,O,O,function(){this.ra=0;--this.b},O,O,O,O,O,O,O],Nd=[zd,function(){this.ya=65536;--this.b},function(){this.sa=32768;--this.b},
|
||||||
65535&&(this.B&32768)===(this.C&32768)&&(this.f[7]=T(this.f[7],a));break;case 1792:this.F&65535&&(this.B&32768)===(this.C&32768)||(this.f[7]=T(this.f[7],a));break;case 32768:this.B&32768||(this.f[7]=T(this.f[7],a));break;case 33280:!(this.D&65536)&&this.F&65535&&(this.f[7]=T(this.f[7],a));break;case 33024:this.B&32768&&(this.f[7]=T(this.f[7],a));break;case 33536:if(this.D&65536||!(this.F&65535))this.f[7]=T(this.f[7],a);break;case 33792:this.C&32768||(this.f[7]=T(this.f[7],a));break;case 34048:this.C&
|
Q,function(){this.ta=0;--this.b},Q,Q,Q,function(){this.ra=32768;--this.b},Q,Q,Q,Q,Q,Q,Q],Ld=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){this.qa&49152||(Zc(this),this.A.reset());--this.b},function(){--this.b},function(){--this.b},R,R,R,R,R,R,R,R],Ed=[yd,yd,wd,wd,ud,ud,vd,vd,Bd,Bd,R,R,R,R,Ad,Ad],Fd=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b},
|
||||||
32768&&(this.f[7]=T(this.f[7],a));break;case 34304:this.D&65536||(this.f[7]=T(this.f[7],a));break;case 34560:this.D&65536&&(this.f[7]=T(this.f[7],a));break;case 34816:L(this,24,2);break;case 35072:L(this,28,4);break;default:switch(a&65472){case 64:0<=(f=gd(this,a,0))&&(this.f[7]=f&65535);break;case 192:a&56?0<=(e=this.ka(c=this.L(a,F)))&&(a=e<<8|e>>8,0<=M(this,c,a)&&(this.B=this.F=e&65280,this.C=this.D=0)):(g=a&7,e=this.f[g],this.f[g]=(e<<8|e>>8)&65535,this.B=this.F=e&65280,this.C=this.D=0);break;
|
function(){--this.b},function(){--this.b},function(){--this.b},function(a){Od[a>>6&3].call(this,a)},function(a){Pd[a>>6&3].call(this,a)},function(a){oe[a>>6&3].call(this,a)},function(a){pe[a>>6&3].call(this,a)},R,R],Hd=[function(a){$c(this,kd(this,a,0));--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],Id=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],Jd=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],
|
||||||
case 2560:break;case 2624:0<=(e=this.ka(c=this.L(a,F)))&&(a=~e,0<=M(this,c,a)&&(this.B=this.F=a,this.D=65536,this.C=0));break;case 2688:a&56?0<=(e=this.ka(c=this.L(a,F)))&&(a=e+1,0<=M(this,c,a)&&(this.B=this.F=a,this.C=a&(a^e))):(g=a&7,e=this.f[g],a=e+1,this.f[g]=a&65535,this.B=this.F=a,this.C=a&(a^e));break;case 2752:a&56?0<=(e=this.ka(c=this.L(a,F)))&&(a=e-1,0<=M(this,c,a)&&(this.B=this.F=a,this.C=(a^e)&e)):(g=a&7,e=this.f[g],a=e-1,this.f[g]=a&65535,this.B=this.F=a,this.C=(a^e)&e);break;case 2816:0<=
|
Kd=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],Od=[function(a){$c(this,ld(this,a,0));--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],Pd=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],oe=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}],pe=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}];
|
||||||
(e=this.ka(c=this.L(a,F)))&&(a=-e,0<=M(this,c,a)&&(this.D=this.B=this.F=a,this.C=a&e));break;case 2880:0<=(e=this.ka(c=this.L(a,F)))&&(a=e+(this.D>>16&1),0<=M(this,c,a)&&(this.D=this.B=this.F=a,this.C=a&(a^e)));break;case 2944:0<=(e=this.ka(c=this.L(a,F)))&&(a=e-(this.D>>16&1),0<=M(this,c,a)&&(this.D=this.B=this.F=a,this.C=(a^e)&e));break;case 3008:0<=(e=S(this,a))&&(this.B=this.F=e,this.D=this.C=0);break;case 3072:a&56?0<=(e=this.ka(c=this.L(a,F)))&&(a=(this.D&65536|e)>>1,0<=M(this,c,a)&&(this.D=
|
function qe(a){u.call(this,"ROM",a,qe);this.g=null;this.F=a.addr;this.j=a.size;this.I=a.writable;this.B=a.alias;this.D=a.file;this.K=da(this.D);if(this.D){a=this.D;var b=ea(this.K);"json"!=b&&"hex"!=b&&(a=ga()+"/api/v1/dump?file="+this.D+"&format=bytes&decimal=true");var d=this;sa(a,null,!0,function(a,b,e){re(d,a,b,e)})}}w(qe);qe.prototype.Ya=function(a,b,d,c){this.A=b;this.b=d;this.C=c;se(this)};
|
||||||
e<<16,this.B=this.F=a,this.C=a^this.D>>1)):(g=a&7,e=this.f[g],a=(this.D&65536|e)>>1,this.f[g]=a&65535,this.D=e<<16,this.B=this.F=a,this.C=a^this.D>>1);break;case 3136:a&56?0<=(e=this.ka(c=this.L(a,F)))&&(a=e<<1|this.D>>16&1,0<=M(this,c,a)&&(this.D=this.B=this.F=a,this.C=a^e)):(g=a&7,e=this.f[g],a=e<<1|this.D>>16&1,this.f[g]=a&65535,this.D=this.B=this.F=a,this.C=a^e);break;case 3200:a&56?0<=(e=this.ka(c=this.L(a,F)))&&(a=e&32768|e>>1,0<=M(this,c,a)&&(this.D=e<<16,this.B=this.F=a,this.C=this.B^this.D>>
|
qe.prototype.La=function(){if(this.Ia){if(this.C){var a=this.C,b=this.id,d=this.F,c=this.j,f=this.Ia,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],q=pa(n,k,a.uc);0>q&&n.splice(-(q+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.I.push({pd:b,w:d,Uc:c,Ia:f,rc:e})}delete this.Ia}return!0};qe.prototype.Ka=function(){return!0};
|
||||||
1)):(g=a&7,e=this.f[g],a=e&32768|e>>1,this.f[g]=a&65535,this.D=e<<16,this.B=this.F=a,this.C=this.B^this.D>>1);break;case 3264:a&56?0<=(e=this.ka(c=this.L(a,F)))&&(a=e<<1,0<=M(this,c,a)&&(this.D=this.B=this.F=a,this.C=a^e)):(g=a&7,e=this.f[g],a=e<<1,this.f[g]=a&65535,this.D=this.B=this.F=a,this.C=a^e);break;case 3328:f=this.f[7]+((a&63)<<1)&65535;0<=(c=this.na(f|65536))&&(this.f[7]=this.f[5],this.f[5]=c,this.f[6]=f+2&65535);break;case 3392:a&56?0<=(f=gd(this,a,0))&&(61440!==(this.N&61440)&&(f&=65535),
|
function re(a,b,d,c){if(c)a.ka("Unable to load system ROM (error "+c+": "+b+")");else{Va(a.sc,b,d);var f;if("["==d.charAt(0)||"{"==d.charAt(0))try{var e,g,h=eval("("+d+")");if(e=h.bytes)a.g=e;else if(e=h.words)for(a.g=Array(2*e.length),g=f=0;f<e.length;f++)a.g[g++]=e[f]&255,a.g[g++]=e[f]>>8&255;else if(e=h.data)for(a.g=Array(4*e.length),g=f=0;f<e.length;f++)a.g[g++]=e[f]&255,a.g[g++]=e[f]>>8&255,a.g[g++]=e[f]>>16&255,a.g[g++]=e[f]>>24&255;else a.g=h;a.Ia=h.symbols;if(!a.g.length){t("Empty ROM: "+
|
||||||
this.G=this.N>>12&3,0<=(c=this.na(f))&&(this.G=this.N>>14&3,0<=dd(this,c)&&(this.B=this.F=c,this.C=0))):(g=a&7,c=6!==g||(this.N>>2&12288)===(this.N&12288)?this.f[g]:this.ua[this.N>>12&3],0<=dd(this,c)&&(this.B=this.F=c,this.C=0));break;case 3456:0<=(e=fd(this))&&((this.ea&57344||(this.Ga=22),a&56)?0<=(f=gd(this,a,0))&&(f&=65535,this.G=this.N>>12&3,0<=(c=ed(this,f,E))&&(this.G=this.N>>14&3,0<=M(this,c,e)&&(this.B=this.F=e,this.C=0))):(g=a&7,6!==g||(this.N>>2&12288)===(this.N&12288)?this.f[g]=e:this.ua[this.N>>
|
b);return}if(1==a.g.length){t(a.g[0]);return}}catch(k){a.ka("ROM data error: "+k.message);return}else for(b=d.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.g=Array(b.length),f=0;f<b.length;f++)a.g[f]=ba(b[f],16);se(a)}}
|
||||||
12&3]=e,this.B=this.F=e,this.C=0));break;case 3520:0<=(c=this.L(a,E))&&(a=-(this.B>>15&1),0<=M(this,c,a)&&(this.F=a,this.C=0));break;case 35328:break;case 35392:0<=(e=P(this,c=this.L(a,G)))&&(a=~e,0<=Q(this,c,a)&&(this.B=this.F=a<<8,this.D=65536,this.C=0));break;case 35456:0<=(e=P(this,c=this.L(a,G)))&&(a=e+1,0<=Q(this,c,a)&&(this.B=this.F=a<<8,this.C=(a&(a^e))<<8));break;case 35520:0<=(e=P(this,c=this.L(a,G)))&&(a=e-1,0<=Q(this,c,a)&&(this.B=this.F=a<<8,this.C=((a^e)&e)<<8));break;case 35584:0<=
|
function se(a){if(!mb(a))if(!a.D)D(a);else if(a.g&&a.A){a.j||(a.j=a.g.length);if(a.g.length!=a.j)nb(a,"ROM size ("+r(a.g.length,8,!0)+") does not match specified size ("+r(a.j,8,!0)+")");else{var b;b=a.F;if(Cb(a.A,b,a.j,a.I?1:lc)){var d;for(d=0;d<a.g.length;d++){var c=a.A,f=b+d;c.L[(f&c.g)>>>c.R].Bb(f&c.A,a.g[d]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.B?b.push(a.B):null!=a.B&&a.B.length&&(b=a.B);for(d=0;d<b.length;d++){for(var e=a,c=b[d],f=e.A,g=e.j,h=[],k=e.F>>>f.R;0<g&&k<f.L.length;)h.push(f.L[k++]),
|
||||||
(e=P(this,c=this.L(a,G)))&&(a=-e,0<=Q(this,c,a)&&(this.D=this.B=this.F=a<<8,this.C=(a&e)<<8));break;case 35648:0<=(e=P(this,c=this.L(a,G)))&&(a=e+(this.D>>16&1),0<=Q(this,c,a)&&(this.B=this.F=this.D=a<<8,this.C=(a&(a^e))<<8));break;case 35712:0<=(e=P(this,c=this.L(a,G)))&&(a=e-(this.D>>16&1),0<=Q(this,c,a)&&(this.B=this.F=this.D=a<<8,this.C=((a^e)&e)<<8));break;case 35776:0<=(e=hd(this,a))&&(this.B=this.F=e<<8,this.D=this.C=0);break;case 35840:0<=(e=P(this,c=this.L(a,G)))&&(a=((this.D&65536)>>8|e)>>
|
g-=f.za;f=e.A;e=e.j;g=0;for(c>>>=f.R;0<e&&c<f.L.length;){k=h[g++];if(!k)break;f.L[c++]=k;e-=f.za}}delete a.g}}D(a)}}Ka(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new qe(c);ib(c,d)}});function te(a){u.call(this,"RAM",a,te);this.B=a.addr;this.j=a.size;this.g=!1}w(te);l=te.prototype;l.Ya=function(a,b,d,c){this.A=b;this.b=d;this.C=c;D(this)};l.La=function(a,b){b||this.reset();return!0};l.Ka=function(a){return a?this.save():!0};
|
||||||
1,0<=Q(this,c,a)&&(this.D=e<<16,this.B=this.F=a<<8,this.C=this.B^this.D>>1));break;case 35904:0<=(e=P(this,c=this.L(a,G)))&&(a=e<<1|this.D>>16&1,0<=Q(this,c,a)&&(this.D=this.B=this.F=a<<8,this.C=(a^e)<<8));break;case 35968:0<=(e=P(this,c=this.L(a,G)))&&(a=e&128|e>>1,0<=Q(this,c,a)&&(this.D=e<<16,this.B=this.F=a<<8,this.C=this.B^this.D>>1));break;case 36032:0<=(e=P(this,c=this.L(a,G)))&&(a=e<<1,0<=Q(this,c,a)&&(this.D=this.B=this.F=a<<8,this.C=(a^e)<<8));break;case 36160:a&56?0<=(f=gd(this,a,0))&&
|
l.reset=function(){!this.g&&this.j&&Cb(this.A,this.B,this.j,1)&&(this.g=!0);this.g||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Ka(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new te(c);ib(c,d)}});function ue(a){u.call(this,"Keyboard",a,ue,65536);D(this)}w(ue);ue.prototype.oa=function(){return!1};ue.prototype.Ya=function(a,b,d,c){this.g=a;this.b=d;this.C=c;this.Z=null};
|
||||||
(this.G=this.N>>12&3,0<=(c=this.na(f|65536))&&(this.G=this.N>>14&3,0<=dd(this,c)&&(this.B=this.F=c,this.C=0))):(g=a&7,c=6!==g||(this.N>>2&12288)===(this.N&12288)?this.f[g]:this.ua[this.N>>12&3],0<=dd(this,c)&&(this.B=this.F=c,this.C=0));break;case 36224:0<=(e=fd(this))&&((this.ea&57344||(this.Ga=22),a&56)?0<=(f=gd(this,a,0))&&(this.G=this.N>>12&3,0<=(c=ed(this,f|65536,E))&&(this.G=this.N>>14&3,0<=M(this,c,e)&&(this.B=this.F=e,this.C=0))):(g=a&7,6!==g||(this.N>>2&12288)===(this.N&12288)?this.f[g]=
|
Ka(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new ue(c);ib(c,d)}});function ve(a){u.call(this,"Debugger",a,ve);this.wa=a.base||16;this.V=this.Ha=this.K=0;this.Z=!1;this.D=-1;this.B=[];this.ea={}}w(ve);var we={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||||
e:this.ua[this.N>>12&3]=e,this.B=this.F=e,this.C=0));break;default:switch(a&65528){case 128:0<=(c=fd(this))&&(g=a&7,this.f[7]=this.f[g],this.f[g]=c);break;case 152:this.N&49152||(this.N=this.N&63519|(a&7)<<5,this.Ra=1);break;case 160:case 168:break;case 176:case 184:break;default:switch(a){case 0:49152&this.N?(this.M|=128,L(this,4,46)):(this.qa=3,Wc(this),console.log("HALT at "+this.f[7].toString(8)));break;case 1:c=0;if(0<(a=this.u.length))for(;0<a--;)c+=this.u[a].Ja,this.u[a].Ja=0;0===c&&0===this.qa&&
|
function xe(a,b,d,c){if(d)if(b){0>a.D&&a.B.length&&(a.D=0);if(0>a.D||b!=a.B[a.D])a.B.splice(0,0,b),a.D=0;a.D--}else a.Z?b="end":b=a.B[a.D+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");d=0;var f=null;c=c||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==c&&!f||!g)a.push(la(b.substring(d,e))),d=e+1}}return a}
|
||||||
(this.qa=2,Wc(this));break;case 3:L(this,12,6);break;case 4:L(this,16,8);break;case 5:break;case 2:case 6:c=this.f[6];0<=(f=this.na(c|65536))&&(c=c+2&65535,0<=(e=this.na(c|65536))&&(this.f[6]=c+2&65535,e&=63743,this.N&49152&&(e=e&63519|this.N&63712),this.f[7]=f,Zb(this,e),this.V&=-17,2===a&&(this.V|=this.N&16)));break;default:L(this,8,48)}}}}}}}while(0<this.b)}return this.j.complete?this.Y-this.b:void 0===this.j.complete?0:-1};
|
function ye(a,b,d){for(d=d||-1;d--&&b.length;){var c=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(c){case "*":c=e*f;break;case "/":if(!f)return!1;c=e/f;break;case "%":if(!f)return!1;c=e%f;break;case "+":c=e+f;break;case "-":c=e-f;break;case "<<":c=e<<f;break;case ">>":c=e>>f;break;case ">>>":c=e>>>f;break;case "<":c=e<f?1:0;break;case "<=":c=e<=f?1:0;break;case ">":c=e>f?1:0;break;case ">=":c=e>=f?1:0;break;case "==":c=e==f?1:0;break;case "!=":c=e!=f?1:0;break;case "&":c=e&f;break;
|
||||||
Oa(function(){for(var a=B(document,"pdp11","cpu"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Xc(c);bb(c,d)}});function od(a,b){var d=a+b;this.V&128||(this.B=this.F=this.D=d,this.C=(a^d)&(b^d));return d&65535}function pd(a,b){a=~a&b;bd(this,a);return a}function qd(a,b){a=~a&b;bd(this,a<<8);return a}function rd(a,b){a|=b;bd(this,a);return a}function sd(a,b){a|=b;bd(this,a<<8);return a}function td(a,b){var d=b-a;cd(this,d,a,b);return d&65535}function ud(){this.g=-1;--this.b}
|
case "^":c=e^f;break;case "|":c=e|f;break;case "&&":c=e&&f?1:0;break;case "||":c=e||f?1:0;break;default:return!1}a.push(c|0)}return!0}
|
||||||
function vd(){this.g=-1;--this.b}function U(a){a&1&&(this.D=0);a&2&&(this.C=0);a&4&&(this.F=1);a&8&&(this.B=0);--this.b}function wd(){this.g=-1;--this.b}function xd(){this.g=-1;--this.b}function yd(){this.g=-1;--this.b}function zd(){--this.b}function V(a){a&1&&(this.D=65536);a&2&&(this.C=32768);a&4&&(this.F=0);a&8&&(this.B=32768);--this.b}function Ad(){this.g=-1;--this.b}function Bd(){this.g=-1;--this.b}function X(){L(this,8,48)}function Yc(a){Cd[a>>12].call(this,a)}
|
function ze(a,b,d){var c;if(b){b=Ae(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],q=n.length,n=la(n);if(!n){e=!0;break}n=Be(a,n,null,!1===d);if(void 0===n){e=!0;d=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],p=n.length;k.length&&we[n]<we[k[k.length-1]]&&ye(h,k,1);k.push(n);b=b.substr(q+p)}ye(h,k)&&1==h.length||(e=!0);e?d&&a.f("error parsing '"+g+"' at character "+(g.length-b.length)):(c=h.pop(),d&&Ce(a,null,
|
||||||
var Cd=[function(a){Dd[a>>8&15].call(this,a)},function(a){bd(this,kd(this,a,S(this,a>>6)));--this.b},function(a){var b=S(this,a>>6);a=S(this,a);cd(this,b-a,a,b);--this.b},function(a){bd(this,S(this,a>>6)&S(this,a));--this.b},function(a){id(this,a,S(this,a>>6),pd);--this.b},function(a){id(this,a,S(this,a>>6),rd);--this.b},function(a){id(this,a,S(this,a>>6),od);--this.b},function(a){Ed[a>>8&15].call(this,a)},function(a){Fd[a>>8&15].call(this,a)},function(a){var b=hd(this,a>>6);bd(this,ld(this,a,b,1)<<
|
c))}return c}function Ae(a,b){for(var d;(d=b.match(/\{(.*?)}/))&&!(0<=d[1].indexOf("{"));){var c=ze(a,d[1]);b=b.replace("{"+d[1]+"}",null!=c?r(c):"undefined")}for(;(d=b.match(/\[(.*?)]/))&&!(0<=d[1].indexOf("["));)b=b.replace("["+d[1]+"]","unimplemented");for(;d=b.match(/\$([a-z]+)/i);){c=null;switch(d[1].toLowerCase()){case "ops":c=a.V-a.Ha}if(null==c)break;b=b.replace(d[0],c.toString())}return b}
|
||||||
8);--this.b},function(a){var b=hd(this,a>>6)<<8;a=hd(this,a)<<8;cd(this,b-a,a,b);--this.b},function(a){bd(this,(hd(this,a>>6)&hd(this,a))<<8);--this.b},function(a){jd(this,a,hd(this,a>>6),qd);--this.b},function(a){jd(this,a,hd(this,a>>6),sd);--this.b},function(a){id(this,a,S(this,a>>6),td);--this.b},X],Dd=[function(a){Gd[a>>4&15].call(this,a)},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},
|
function Be(a,b,d,c){var f;null!=b?(f=a.ea[b],null==f&&(f=ba(b,a.wa)),null!=f||c||a.f("invalid "+(d?d:"value")+": "+b)):c||a.f("missing "+(d||"value"));return f}function Ce(a,b,d){var c,f=!1;if(void 0!==d){f=!0;c=d;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=c&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(k&1?"1":"0")+n,k>>=1;g=n+g;c>>=8}c=r(d,0,!0)+" "+d+". "+ca(d,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+c);return f}
|
||||||
function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},xd,xd,function(a){Hd[a>>6&3].call(this,a)},function(a){Id[a>>6&3].call(this,a)},function(a){Jd[a>>6&3].call(this,a)},function(a){Kd[a>>6&3].call(this,a)},X,X],Gd=[function(a){Ld[a&15].call(this,a)},X,X,X,X,X,X,X,X,X,function(a){Md[a&15].call(this,a)},function(a){Nd[a&15].call(this,a)},X,X,X,X],Md=[zd,function(){this.D=0;--this.b},function(){this.C=0;--this.b},U,function(){this.F=1;--this.b},U,U,U,function(){this.B=0;--this.b},U,U,U,U,U,
|
function De(a,b){if(b)return Ce(a,b,a.ea[b]);var d=0;for(b in a.ea)Ce(a,b,a.ea[b]),d++;return 0<d}function S(a,b,d){switch(a.wa){case 8:return ca(b,d);case 10:return b.toString();default:return r(b,d)}}
|
||||||
U,U],Nd=[zd,function(){this.D=65536;--this.b},function(){this.C=32768;--this.b},V,function(){this.F=0;--this.b},V,V,V,function(){this.B=32768;--this.b},V,V,V,V,V,V,V],Ld=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.N&49152||($c(this),this.H.reset());--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},X,X,X,X,X,X,X,X],Ed=[yd,yd,wd,wd,ud,ud,vd,vd,Bd,Bd,X,
|
function Ee(a){ve.call(this,a);this.P=U();this.Cb=U();this.X=U();this.I=[];this.j=this.T=this.F=[];Fe(this);this.xa=0;Ge(this);this.Sa={};He(this,a.messages);this.ob=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Ie(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Ie(b,a)})}w(Ee,ve);
|
||||||
X,X,X,Ad,Ad],Fd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(a){Od[a>>6&3].call(this,a)},function(a){Pd[a>>6&3].call(this,a)},function(a){Qd[a>>6&3].call(this,a)},function(a){Rd[a>>6&3].call(this,a)},X,X],Hd=[function(a){ad(this,
|
|
||||||
kd(this,a,0));--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Id=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Jd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Kd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],
|
|
||||||
Od=[function(a){ad(this,ld(this,a,0));--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Pd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Qd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Rd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=
|
|
||||||
-1;--this.b}];function Sd(a){u.call(this,"ROM",a,Sd);this.g=null;this.J=a.addr;this.w=a.size;this.O=a.writable;this.u=a.alias;this.G=a.file;this.R=da(this.G);if(this.G){a=this.G;var b=ia(this.R);"json"!=b&&"hex"!=b&&(a=ka()+"/api/v1/dump?file="+this.G+"&format=bytes&decimal=true");var d=this;ta(a,null,!0,function(a,b,f){re(d,a,b,f)})}}w(Sd);Sd.prototype.$a=function(a,b,d,c){this.H=b;this.b=d;this.I=c;se(this)};
|
|
||||||
Sd.prototype.Qa=function(){if(this.Na){if(this.I){var a=this.I,b=this.id,d=this.J,c=this.w,e=this.Na,f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=f,k=[k>>>0,g],q=qa(n,k,a.vc);0>q&&n.splice(-(q+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.O.push({pd:b,A:d,Uc:c,Na:e,sc:f})}delete this.Na}return!0};Sd.prototype.Pa=function(){return!0};
|
|
||||||
function re(a,b,d,c){if(c)a.sa("Unable to load system ROM (error "+c+": "+b+")");else{Za(a.tc,b,d);var e;if("["==d.charAt(0)||"{"==d.charAt(0))try{var f,g,h=eval("("+d+")");if(f=h.bytes)a.g=f;else if(f=h.words)for(a.g=Array(2*f.length),g=e=0;e<f.length;e++)a.g[g++]=f[e]&255,a.g[g++]=f[e]>>8&255;else if(f=h.data)for(a.g=Array(4*f.length),g=e=0;e<f.length;e++)a.g[g++]=f[e]&255,a.g[g++]=f[e]>>8&255,a.g[g++]=f[e]>>16&255,a.g[g++]=f[e]>>24&255;else a.g=h;a.Na=h.symbols;if(!a.g.length){t("Empty ROM: "+
|
|
||||||
b);return}if(1==a.g.length){t(a.g[0]);return}}catch(k){a.sa("ROM data error: "+k.message);return}else for(b=d.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.g=Array(b.length),e=0;e<b.length;e++)a.g[e]=ba(b[e],16);se(a)}}
|
|
||||||
function se(a){if(!qb(a))if(!a.G)D(a);else if(a.g&&a.H){a.w||(a.w=a.g.length);if(a.g.length!=a.w)rb(a,"ROM size ("+r(a.g.length,8,!0)+") does not match specified size ("+r(a.w,8,!0)+")");else{var b;b=a.J;if(Eb(a.H,b,a.w,a.O?1:mc)){var d;for(d=0;d<a.g.length;d++){var c=a.H,e=b+d;c.S[(e&c.H)>>>c.Z].Cb(e&c.g,a.g[d]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.u?b.push(a.u):null!=a.u&&a.u.length&&(b=a.u);for(d=0;d<b.length;d++){for(var f=a,c=b[d],e=f.H,g=f.w,h=[],k=f.J>>>e.Z;0<g&&k<e.S.length;)h.push(e.S[k++]),
|
|
||||||
g-=e.Da;e=f.H;f=f.w;g=0;for(c>>>=e.Z;0<f&&c<e.S.length;){k=h[g++];if(!k)break;e.S[c++]=k;f-=e.Da}}delete a.g}}D(a)}}Oa(function(){for(var a=B(document,"pdp11","rom"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Sd(c);bb(c,d)}});function te(a){u.call(this,"RAM",a,te);this.u=a.addr;this.w=a.size;this.g=!1}w(te);l=te.prototype;l.$a=function(a,b,d,c){this.H=b;this.b=d;this.I=c;D(this)};l.Qa=function(a,b){b||this.reset();return!0};l.Pa=function(a){return a?this.save():!0};
|
|
||||||
l.reset=function(){!this.g&&this.w&&Eb(this.H,this.u,this.w,1)&&(this.g=!0);this.g||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Oa(function(){for(var a=B(document,"pdp11","ram"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new te(c);bb(c,d)}});function ue(a){u.call(this,"Keyboard",a,ue,65536);D(this)}w(ue);ue.prototype.wa=function(){return!1};ue.prototype.$a=function(a,b,d,c){this.w=a;this.b=d;this.I=c;this.ha=null};
|
|
||||||
Oa(function(){for(var a=B(document,"pdp11","keyboard"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new ue(c);bb(c,d)}});function ve(a){u.call(this,"Debugger",a,ve);this.za=a.base||16;this.$=this.Ia=this.R=0;this.ca=!1;this.G=-1;this.u=[];this.ha={}}w(ve);var we={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
|
||||||
function xe(a,b,d,c){if(d)if(b){0>a.G&&a.u.length&&(a.G=0);if(0>a.G||b!=a.u[a.G])a.u.splice(0,0,b),a.G=0;a.G--}else a.ca?b="end":b=a.u[a.G+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");d=0;var e=null;c=c||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)a.push(oa(b.substring(d,f))),d=f+1}}return a}
|
|
||||||
function ye(a,b,d){for(d=d||-1;d--&&b.length;){var c=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(c){case "*":c=f*e;break;case "/":if(!e)return!1;c=f/e;break;case "%":if(!e)return!1;c=f%e;break;case "+":c=f+e;break;case "-":c=f-e;break;case "<<":c=f<<e;break;case ">>":c=f>>e;break;case ">>>":c=f>>>e;break;case "<":c=f<e?1:0;break;case "<=":c=f<=e?1:0;break;case ">":c=f>e?1:0;break;case ">=":c=f>=e?1:0;break;case "==":c=f==e?1:0;break;case "!=":c=f!=e?1:0;break;case "&":c=f&e;break;
|
|
||||||
case "^":c=f^e;break;case "|":c=f|e;break;case "&&":c=f&&e?1:0;break;case "||":c=f||e?1:0;break;default:return!1}a.push(c|0)}return!0}
|
|
||||||
function ze(a,b,d){var c;if(b){b=Ae(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],q=n.length,n=oa(n);if(!n){f=!0;break}n=Be(a,n,null,!1===d);if(void 0===n){f=!0;d=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],p=n.length;k.length&&we[n]<we[k[k.length-1]]&&ye(h,k,1);k.push(n);b=b.substr(q+p)}ye(h,k)&&1==h.length||(f=!0);f?d&&a.i("error parsing '"+g+"' at character "+(g.length-b.length)):(c=h.pop(),d&&Ce(a,null,
|
|
||||||
c))}return c}function Ae(a,b){for(var d;(d=b.match(/\{(.*?)}/))&&!(0<=d[1].indexOf("{"));){var c=ze(a,d[1]);b=b.replace("{"+d[1]+"}",null!=c?r(c):"undefined")}for(;(d=b.match(/\[(.*?)]/))&&!(0<=d[1].indexOf("["));)b=b.replace("["+d[1]+"]","unimplemented");for(;d=b.match(/\$([a-z]+)/i);){c=null;switch(d[1].toLowerCase()){case "ops":c=a.$-a.Ia}if(null==c)break;b=b.replace(d[0],c.toString())}return b}
|
|
||||||
function Be(a,b,d,c){var e;null!=b?(e=a.ha[b],null==e&&(e=ba(b,a.za)),null!=e||c||a.i("invalid "+(d?d:"value")+": "+b)):c||a.i("missing "+(d||"value"));return e}function Ce(a,b,d){var c,e=!1;if(void 0!==d){e=!0;c=d;var f=0,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=c&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(k&1?"1":"0")+n,k>>=1;g=n+g;c>>=8}c=r(d,0,!0)+" "+d+". "+ca(d,0,!0)+" "+("0b"+g)}a.i((null!=b?b+": ":"")+c);return e}
|
|
||||||
function De(a,b){if(b)return Ce(a,b,a.ha[b]);var d=0;for(b in a.ha)Ce(a,b,a.ha[b]),d++;return 0<d}function Y(a,b,d){switch(a.za){case 8:return ca(b,d);case 10:return b.toString();default:return r(b,d)}}
|
|
||||||
function Ee(a){ve.call(this,a);this.X=Z();this.Db=Z();this.ba=Z();this.O=[];this.g=this.Y=this.J=[];Fe(this);this.Aa=0;Ge(this);this.Va={};He(this,a.messages);this.pb=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Ie(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Ie(b,a)})}w(Ee,ve);
|
|
||||||
var Je={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},Ke="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
var Je={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},Ke="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
||||||
Le={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
|
Le={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
|
||||||
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,
|
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,
|
||||||
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};l=Ee.prototype;
|
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};l=Ee.prototype;
|
||||||
l.$a=function(a,b,d,c){this.H=b;this.b=d;this.w=a;(a=zc(a,"messages"))&&He(this,a);this.$b=Le;Me(this,function(a){a:{var b=c.H.S,d=a[0],e=a=0,k=b.length;if(d){a=c.L(Ne(c,d));if(-1===a){c.i("invalid address: "+d);break a}e=a>>>c.H.Z;k=1}c.i("blockid physical blockaddr used size type");c.i("-------- --------- ---------- ------ ------ ----");for(var d=-1,m=0;k--;){var n=b[e];n.type==d?m++||c.i("..."):(d=n.type,m=Hb[d],n&&c.i(r(n.id,8)+" %"+r(e<<c.H.Z,8)+" %%"+r(n.A,8)+" "+r(n.Zb,
|
l.Ya=function(a,b,d,c){this.A=b;this.b=d;this.g=a;(a=Mc(a,"messages"))&&He(this,a);this.vc=Le;Me(this,function(a){a:{var b=c.A.L,d=a[0],f=a=0,k=b.length;if(d){a=c.W(V(c,d));if(-1===a){c.f("invalid address: "+d);break a}f=a>>>c.A.R;k=1}c.f("blockid physical blockaddr used size type");c.f("-------- --------- ---------- ------ ------ ----");for(var d=-1,m=0;k--;){var n=b[f];n.type==d?m++||c.f("..."):(d=n.type,m=Qb[d],n&&c.f(r(n.id,8)+" %"+r(f<<c.A.R,8)+" %%"+r(n.w,8)+" "+r(n.Xb,4,
|
||||||
4,!0)+" "+r(n.size,4,!0)+" "+m),d!=lc&&(d=-1),m=0);a+=c.H.Da;e++}}});D(this)};
|
!0)+" "+r(n.size,4,!0)+" "+m),d!=kc&&(d=-1),m=0);a+=c.A.za;f++}}});D(this)};
|
||||||
l.wa=function(a,b,d){var c=this;switch(b){case "debugInput":return this.ya=this.P[b]=d,d.onkeydown=function(a){var b;if(13==a.keyCode)b=d.value,d.value="",Ie(c,b,!0);else if(27==a.keyCode)d.value=b="";else if(38==a.keyCode?(b=null,c.G<c.u.length-1&&(b=c.u[++c.G])):40==a.keyCode&&(0<c.G?b=c.u[--c.G]:(b="",c.G=-1)),null!=b){var e=b.length;d.value=b;d.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.P[b]=d,Ea(d,function(){if(c.ya){var a=c.ya.value;
|
l.oa=function(a,b,d){var c=this;switch(b){case "debugInput":return this.va=this.J[b]=d,d.onkeydown=function(a){var b;if(13==a.keyCode)b=d.value,d.value="",Ie(c,b,!0);else if(27==a.keyCode)d.value=b="";else if(38==a.keyCode?(b=null,c.D<c.B.length-1&&(b=c.B[++c.D])):40==a.keyCode&&(0<c.D?b=c.B[--c.D]:(b="",c.D=-1)),null!=b){var f=b.length;d.value=b;d.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=d,Ea(d,function(){if(c.va){var a=c.va.value;
|
||||||
c.ya.value="";Ie(c,a,!0);return!0}return!1}),!0;case "step":return this.P[b]=d,Ea(d,function(a){var b=!1;eb(c,!0)||(db(c,!0),b=c.Ab(a?1:0),db(c,!1));return b}),!0}return!1};l.Yb=function(){this.ya&&this.ya.focus()};l.L=function(a){a=a&&a.A;null==a&&(a=-1);return a};l.Mb=function(a,b){var d=255,c=this.L(a,!1,1);-1!==c&&(d=this.H,d=d.S[(c&d.H)>>>d.Z].Sb(c&d.g,c),b&&Oe(a,b));return d};l.La=function(a,b){var d=65535,c=this.L(a,!1,2);-1!==c&&(d=Ib(this.H,c),b&&Oe(a,b));return d};
|
c.va.value="";Ie(c,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=d,Ea(d,function(a){var b=!1;lb(c,!0)||(kb(c,!0),b=c.zb(a?1:0),kb(c,!1));return b}),!0}return!1};l.Wb=function(){this.va&&this.va.focus()};l.W=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.Kb=function(a,b){var d=255,c=this.W(a,!1,1);-1!==c&&(d=this.A,d=d.L[(c&d.g)>>>d.R].Qb(c&d.A,c),b&&Ne(a,b));return d};l.Ea=function(a,b){var d=65535,c=this.W(a,!1,2);-1!==c&&(d=Rb(this.A,c),b&&Ne(a,b));return d};
|
||||||
l.gc=function(a,b,d){var c=this.L(a,!0,1);if(-1!==c){var e=this.H;e.S[(c&e.H)>>>e.Z].Cb(c&e.g,b&255,c);d&&Oe(a,d);N(this.b,!0)}};l.oc=function(a,b,d){var c=this.L(a,!0,2);if(-1!==c){var e=this.H,f=c&e.g,g=(c&e.H)>>>e.Z;f!=e.g?e.S[g].qc(f,b&65535,c):(e.S[g++].Cb(f,b&255,c),e.S[g&e.w].Cb(0,b>>8&255,c+1));d&&Oe(a,d);N(this.b,!0)}};function Z(a){return{A:a,Ka:!1}}function Pe(a){return[a.A,a.Ka]}function Qe(a){return{A:a[0],Ka:a[1]}}
|
l.fc=function(a,b,d){var c=this.W(a,!0,1);if(-1!==c){var f=this.A;f.L[(c&f.g)>>>f.R].Bb(c&f.A,b&255,c);d&&Ne(a,d);K(this.b,!0)}};l.nc=function(a,b,d){var c=this.W(a,!0,2);if(-1!==c){var f=this.A,e=c&f.A,g=(c&f.g)>>>f.R;e!=f.A?f.L[g].pc(e,b&65535,c):(f.L[g++].Bb(e,b&255,c),f.L[g&f.j].Bb(0,b>>8&255,c+1));d&&Ne(a,d);K(this.b,!0)}};function U(a){return{w:a,Da:!1}}function Oe(a){return[a.w,a.Da]}function Pe(a){return{w:a[0],Da:a[1]}}
|
||||||
function Ne(a,b,d){var c;d=(d?a.X:a.Db).A;if(void 0!==b){c=b=Ae(a,b);var e;if(c.match(/^[a-z_][a-z0-9_]*$/i))for(c=c.toUpperCase(),d=0;d<a.O.length;d++){var f=a.O[d].Na[c];if(void 0!==f){c=f.o;void 0!==c&&(e=Z(c));break}}if(c=e)return c;d=ze(a,b,void 0)}null!=d&&(c=Z(d));return c}function Re(a,b,d){d&&(d=d.match(/(['"])(.*?)\1/))&&(b.Ic=xe(a,b.Dc=d[2]))}function Oe(a,b){null!=a.A&&(a.A+=b||1)}
|
function V(a,b,d){var c;d=(d?a.P:a.Cb).w;if(void 0!==b){c=b=Ae(a,b);var f;if(c.match(/^[a-z_][a-z0-9_]*$/i))for(c=c.toUpperCase(),d=0;d<a.I.length;d++){var e=a.I[d].Ia[c];if(void 0!==e){c=e.o;void 0!==c&&(f=U(c));break}}if(c=f)return c;d=ze(a,b,void 0)}null!=d&&(c=U(d));return c}function Qe(a,b,d){d&&(d=d.match(/(['"])(.*?)\1/))&&(b.Ic=xe(a,b.Dc=d[2]))}function Ne(a,b){null!=a.w&&(a.w+=b||1)}
|
||||||
function He(a,b){a.I=a;a.ja=a.Jc=536870912;a.Ca=null;a.Ha=[];b=xe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var d in H){var c;a:if(c=void 0,Array.prototype.indexOf)c=b.indexOf(d,c);else{c=c||0;0>c&&(c+=b.length);0>c&&(c=0);for(var e=b.length;c<e;c++)if(c in b&&b[c]===d)break a;c=-1}0<=c&&(a.ja|=H[d],a.i(d+" messages enabled"))}}function Me(a,b){for(var d in H)if(64==H[d]){a.Va[d]=b;break}}
|
function He(a,b){a.C=a;a.ca=a.Jc=536870912;a.Ca=null;a.Ga=[];b=xe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var d in F){var c;a:if(c=void 0,Array.prototype.indexOf)c=b.indexOf(d,c);else{c=c||0;0>c&&(c+=b.length);0>c&&(c=0);for(var f=b.length;c<f;c++)if(c in b&&b[c]===d)break a;c=-1}0<=c&&(a.ca|=F[d],a.f(d+" messages enabled"))}}function Me(a,b){for(var d in F)if(64==F[d]){a.Sa[d]=b;break}}
|
||||||
l.message=function(a,b){b&&(a+=" at "+Y(this,Z(this.b.f[7]).A));this.ja&1073741824?this.Ha.push(a):this.Ca&&a==this.Ca||(this.Ca=a,this.ja&-2147483648&&(this.pa(),a+=" (cpu halted)"),this.i(a),this.b&&(a=this.b,Wc(a),a.ca=0,N(a)))};l.Nb=function(){this.i("Type ? for help with PDP11 Debugger commands");this.Ba();if(this.pb){var a=this.pb;this.pb=null;Ie(this,a)}};
|
l.message=function(a,b){b&&(a+=" at "+S(this,U(this.b.i[7]).w));this.ca&1073741824?this.Ga.push(a):this.Ca&&a==this.Ca||(this.Ca=a,this.ca&-2147483648&&(this.ia(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,Vc(a),a.V=0,K(a)))};l.Lb=function(){this.f("Type ? for help with PDP11 Debugger commands");this.ua();if(this.ob){var a=this.ob;this.ob=null;Ie(this,a)}};
|
||||||
function Ge(a){var b;if(md(a)){if(!a.W||!a.W.length){a.W=Array(1E3);for(b=0;b<a.W.length;b++)a.W[b]=Z();a.qa=0;a.i("instruction history buffer allocated")}if(!a.ia||!a.ia.length)for(a.ia=Array(256),b=0;b<a.ia.length;b++)a.ia[b]=[b,0]}else a.W&&a.W.length&&a.i("instruction history buffer freed"),a.qa=0,a.W=[],a.ia=[]}l.ob=function(a){if(!Se(this))return!1;this.b.ob(a);return!0};
|
function Ge(a){var b;if(md(a)){if(!a.O||!a.O.length){a.O=Array(1E3);for(b=0;b<a.O.length;b++)a.O[b]=U();a.ma=0;a.f("instruction history buffer allocated")}if(!a.fa||!a.fa.length)for(a.fa=Array(256),b=0;b<a.fa.length;b++)a.fa[b]=[b,0]}else a.O&&a.O.length&&a.f("instruction history buffer freed"),a.ma=0,a.O=[],a.fa=[]}l.nb=function(a){if(!Re(this))return!1;this.b.nb(a);return!0};
|
||||||
l.Ab=function(a,b,d){if(!Se(this))return!1;this.R=0;a||md(this)&&nd(this,this.b.f[7],0);try{var c=this.b.Ab(a);0<c&&(this.R+=c,Uc(this.b,c,!0),Qc(this.b,c),this.$++)}catch(e){"number"!=typeof e&&(this.R=0,rb(this.b,e.stack||e.message))}!1!==d&&N(this.b);this.Ba(b||!1);return 0<this.R};l.pa=function(a){this.b&&this.b.pa(a)};l.Ba=function(a){void 0===a&&(a=!0);this.X=Z(this.b.f[7]);a&&1!=this.da?Te(this):Ue(this)};
|
l.zb=function(a,b,d){if(!Re(this))return!1;this.K=0;a||md(this)&&nd(this,this.b.i[7],0);try{var c=this.b.zb(a);0<c&&(this.K+=c,Tc(this.b,c,!0),Pc(this.b,c),this.V++)}catch(f){"number"!=typeof f&&(this.K=0,nb(this.b,f.stack||f.message))}!1!==d&&K(this.b);this.ua(b||!1);return 0<this.K};l.ia=function(a){this.b&&this.b.ia(a)};l.ua=function(a){void 0===a&&(a=!0);this.P=U(this.b.i[7]);a&&1!=this.$?Se(this):Te(this)};
|
||||||
function Se(a){var b;if(b=a.b&&qb(a.b))b=a.b,b.j.ga?b=!0:(b.i(b.toString()+" not powered"),b=!1);b&&!eb(a.b)?(a=a.b,a.j.error?(a.i(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Qa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Pa=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ge(this);this.$=this.Ia=0;this.Ca=null;this.R=0;this.X=Z(this.b.f[7]);this.j.la=!1;Ve(this);a||this.Ba()};
|
function Re(a){var b;if(b=a.b&&mb(a.b))b=a.b,b.u.ba?b=!0:(b.f(b.toString()+" not powered"),b=!1);b&&!lb(a.b)?(a=a.b,a.u.error?(a.f(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.La=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Ka=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ge(this);this.V=this.Ha=0;this.Ca=null;this.K=0;this.P=U(this.b.i[7]);this.u.da=!1;Ue(this);a||this.ua()};
|
||||||
l.save=function(){var a=new O(this);a.set(0,Pe(this.X));a.set(1,Pe(this.ba));a.set(2,[this.u,this.ca,this.ja]);a.set(3,this.O);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.X=Qe(a[b++]),this.ba=Qe(a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.ca=a[b][1],this.ja|=a[b][2]);a[3]&&(this.O=a[3]);return!0};l.start=function(a,b){this.da||this.i("running");this.j.la=!0;this.Mc=a;this.Oc=b};
|
l.save=function(){var a=new M(this);a.set(0,Oe(this.P));a.set(1,Oe(this.X));a.set(2,[this.B,this.Z,this.ca]);a.set(3,this.I);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.P=Pe(a[b++]),this.X=Pe(a[b++]),this.B=a[b][0],"string"==typeof this.B&&(this.B=[this.B]),this.Z=a[b][1],this.ca|=a[b][2]);a[3]&&(this.I=a[3]);return!0};l.start=function(a,b){this.$||this.f("running");this.u.da=!0;this.Mc=a;this.Oc=b};
|
||||||
l.stop=function(a,b){if(this.j.la){this.j.la=!1;this.R=b-this.Oc;if(!this.da){b="stopped";if(this.R){a-=this.Mc;var d=0<a?Math.round(1E3*this.R/a):0;b+=" (";md(this)&&(b+=this.$+" opcodes, ",this.Ia-=this.$,this.$=0);b+=this.R+" cycles, "+a+" ms, "+d+" hz)"}else cb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.i(b)}this.Ba(!0);this.Yb();Ve(this,this.b.f[7])}};function md(a){return 1<a.g.length||!!a.Aa}
|
l.stop=function(a,b){if(this.u.da){this.u.da=!1;this.K=b-this.Oc;if(!this.$){b="stopped";if(this.K){a-=this.Mc;var d=0<a?Math.round(1E3*this.K/a):0;b+=" (";md(this)&&(b+=this.V+" opcodes, ",this.Ha-=this.V,this.V=0);b+=this.K+" cycles, "+a+" ms, "+d+" hz)"}else jb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}this.ua(!0);this.Wb();Ue(this,this.b.i[7])}};function md(a){return 1<a.j.length||!!a.xa}
|
||||||
function nd(a,b,d){var c=a.b;if(0<d&&(a.Aa&&!--a.Aa||uc(a,b,1,a.g)))return!0;0<=d&&a.ia.length&&(a.$++,null!=Ib(a.H,b)&&(b=a.W[a.qa],b.A=c.f[7],b.Ka=!1,++a.qa==a.W.length&&(a.qa=0)));return!1}function Fe(a){var b,d;a.g=["bp"];if(a.Y)for(b=1;b<a.Y.length;b++){d=a.Y[b];var c=a.H;d=a.L(d);vc(c.S[d>>>c.Z],!1)}a.Y=["br"];if(a.J)for(b=1;b<a.J.length;b++)d=a.J[b],c=a.H,d=a.L(d),vc(c.S[d>>>c.Z],!0);a.J=["bw"];a.Ib=0}
|
function nd(a,b,d){var c=a.b;if(0<d&&(a.xa&&!--a.xa||tc(a,b,1,a.j)))return!0;0<=d&&a.fa.length&&(a.V++,null!=Rb(a.A,b)&&(b=a.O[a.ma],b.w=c.i[7],b.Da=!1,++a.ma==a.O.length&&(a.ma=0)));return!1}function Fe(a){var b,d;a.j=["bp"];if(a.T)for(b=1;b<a.T.length;b++){d=a.T[b];var c=a.A;d=a.W(d);Ic(c.L[d>>>c.R],!1)}a.T=["br"];if(a.F)for(b=1;b<a.F.length;b++)d=a.F[b],c=a.A,d=a.W(d),Ic(c.L[d>>>c.R],!0);a.F=["bw"];a.Hb=0}
|
||||||
l.hb=function(a,b,d){var c=!0;d||We(this,a,b,!1,!0);if(a!=this.g){var e=this.L(b);if(-1===e)this.i("invalid address: "+Y(this,b.A)),c=!1;else{var f=this.H;f.S[e>>>f.Z].hb(e&f.g,a==this.J)}}c&&(a.push(b),d?b.Ka=!0:(Xe(this,a,a.length-1,"set"),Ge(this)));return c};function We(a,b,d,c,e){var f=!1;d=a.L(d);for(var g=1;g<b.length;g++){var h=b[g];if(d==a.L(h)&&(!c||h.Ka)){f=!0;h.Ka||e||Xe(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(c=a.H,vc(c.S[d>>>c.Z],b==a.J));h.Ka||Ge(a);break}}return f}
|
l.gb=function(a,b,d){var c=!0;d||Ve(this,a,b,!1,!0);if(a!=this.j){var f=this.W(b);if(-1===f)this.f("invalid address: "+S(this,b.w)),c=!1;else{var e=this.A;e.L[f>>>e.R].gb(f&e.A,a==this.F)}}c&&(a.push(b),d?b.Da=!0:(We(this,a,a.length-1,"set"),Ge(this)));return c};function Ve(a,b,d,c,f){var e=!1;d=a.W(d);for(var g=1;g<b.length;g++){var h=b[g];if(d==a.W(h)&&(!c||h.Da)){e=!0;h.Da||f||We(a,b,g,"cleared");b.splice(g,1);b!=a.j&&(c=a.A,Ic(c.L[d>>>c.R],b==a.F));h.Da||Ge(a);break}}return e}
|
||||||
function Ye(a,b){for(var d=1;d<b.length;d++)Xe(a,b,d);return b.length-1}function Xe(a,b,d,c){d=b[d];a.i(b[0]+" "+Y(a,d.A)+(c?" "+c:d.Dc?' "'+d.Dc+'"':""))}function Ve(a,b){if(void 0!==b)uc(a,b,1,a.g,!0),a.da=0;else for(b=1;b<a.g.length;b++){var d=a.g[b];if(d.Ka){if(!We(a,a.g,d,!0))break;b=0}}}
|
function Xe(a,b){for(var d=1;d<b.length;d++)We(a,b,d);return b.length-1}function We(a,b,d,c){d=b[d];a.f(b[0]+" "+S(a,d.w)+(c?" "+c:d.Dc?' "'+d.Dc+'"':""))}function Ue(a,b){if(void 0!==b)tc(a,b,1,a.j,!0),a.$=0;else for(b=1;b<a.j.length;b++){var d=a.j[b];if(d.Da){if(!Ve(a,a.j,d,!0))break;b=0}}}
|
||||||
function uc(a,b,d,c,e){var f=!1;if(!a.Ib++)for(var g=1;!f&&g<c.length;g++){var h=c[g];if(!e||h.Ka)for(var k=a.L(h),m=0;m<d;m++)if(b+m==k){var n,f=!0;h.Ka&&(We(a,c,h,!0),e=!0);if(n=h.Ic){for(var f=!1,q=0;q<n.length;q++)if(!Ze(a,n[q],!0)){if(n[q].indexOf("if")){f=!0;break}for(var p=q+1;p<n.length&&n[p].indexOf("else");p++)q++;if(p==n.length){f=!0;break}}a.b.j.la||(f=!0)}if(f){e||Xe(a,c,g,"hit");break}}}a.Ib--;return f}
|
function tc(a,b,d,c,f){var e=!1;if(!a.Hb++)for(var g=1;!e&&g<c.length;g++){var h=c[g];if(!f||h.Da)for(var k=a.W(h),m=0;m<d;m++)if(b+m==k){var n,e=!0;h.Da&&(Ve(a,c,h,!0),f=!0);if(n=h.Ic){for(var e=!1,q=0;q<n.length;q++)if(!Ye(a,n[q],!0)){if(n[q].indexOf("if")){e=!0;break}for(var p=q+1;p<n.length&&n[p].indexOf("else");p++)q++;if(p==n.length){e=!0;break}}a.b.u.da||(e=!0)}if(e){f||We(a,c,g,"hit");break}}}a.Hb--;return e}
|
||||||
function $e(a,b,d,c){var e=Z(b.A),f=a.La(b,2),g,h;for(h in a.$b)if(g=a.$b[h][f&h])break;g||(g=[0]);h="";for(var k=Ke[g[0]],m=g.length-1,n=1;n<=m;n++){var q=g[n];if(void 0!==q){var p;p=a;var z=q,q=b,x="",A=z&61440;if(4096==A)q=q.A+((f&255)<<24>>23)&65535,x=Y(p,q);else if(8192==A)q=q.A-((f&63)<<1)&65535,x=Y(p,q);else if(12288==A)x=Y(p,f&7,2);else if(24576==A)x=Y(p,f&63);else if(A=f&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:x=af(z);break;case 8:x="@"+af(z);break;case 16:7>z?x="("+af(z)+
|
function Ze(a,b,d,c){var f=U(b.w),e=a.Ea(b,2),g,h;for(h in a.vc)if(g=a.vc[h][e&h])break;g||(g=[0]);h="";for(var k=Ke[g[0]],m=g.length-1,n=1;n<=m;n++){var q=g[n];if(void 0!==q){var p;p=a;var z=q,q=b,x="",A=z&61440;if(4096==A)q=q.w+((e&255)<<24>>23)&65535,x=S(p,q);else if(8192==A)q=q.w-((e&63)<<1)&65535,x=S(p,q);else if(12288==A)x=S(p,e&7,2);else if(24576==A)x=S(p,e&63);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:x=W(z);break;case 8:x="@"+W(z);break;case 16:7>z?x="("+W(z)+")+":
|
||||||
")+":(A=p.La(q,2),x="#"+Y(p,A));break;case 24:7>z?x="@("+af(z)+")+":(A=p.La(q,2),x="@#"+Y(p,A));break;case 32:x="-("+af(z)+")";break;case 40:x="@-("+af(z)+")";break;case 48:A=p.La(q,2);x=Y(p,A)+"("+af(z)+")";7==z&&(x=[x,Y(p,A+q.A&65535)]);break;case 56:A=p.La(q,2),x="@"+Y(p,A)+"("+af(z)+")",7==z&&(x=[x,Y(p,A+q.A&65535)])}p=x;if(!p||!p.length){h="INVALID";break}"string"!=typeof p&&(d||(d=p[1]),p=p[0]);0<h.length&&(h+=",");h+=p||"???"}}f="";g=Y(a,e.A)+":";if(-1!==e.A&&-1!==b.A){do if(f+=" "+Y(a,a.La(e,
|
(A=p.Ea(q,2),x="#"+S(p,A));break;case 24:7>z?x="@("+W(z)+")+":(A=p.Ea(q,2),x="@#"+S(p,A));break;case 32:x="-("+W(z)+")";break;case 40:x="@-("+W(z)+")";break;case 48:A=p.Ea(q,2);x=S(p,A)+"("+W(z)+")";7==z&&(x=[x,S(p,A+q.w&65535)]);break;case 56:A=p.Ea(q,2),x="@"+S(p,A)+"("+W(z)+")",7==z&&(x=[x,S(p,A+q.w&65535)])}p=x;if(!p||!p.length){h="INVALID";break}"string"!=typeof p&&(d||(d=p[1]),p=p[0]);0<h.length&&(h+=",");h+=p||"???"}}e="";g=S(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+=" "+S(a,a.Ea(f,2)),null==
|
||||||
2)),null==e.A)break;while(e.A!=b.A)}g+=na(f,24);g+=na(k,5);h&&(g+=" "+h);d&&(g=na(g,60)+";"+d,g=a.b.j.rb?g+("cycles="+Rc(a.b).toString()+" cs="+r(a.b.Pb)):g+(null!=c?"="+c.toString():""));return g}function bf(a,b){switch(b){case "N":a=a.b.B&32768?8:0;break;case "Z":a=a.b.F&65535?0:4;break;case "V":a=a.b.C&32768?2:0;break;case "C":a=a.b.D&65536?1:0;break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function af(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
f.w)break;while(f.w!=b.w)}g+=ka(e,24);g+=ka(k,5);h&&(g+=" "+h);d&&(g=ka(g,60)+";"+d,g=a.b.u.qb?g+("cycles="+Qc(a.b).toString()+" cs="+r(a.b.Nb)):g+(null!=c?"="+c.toString():""));return g}function $e(a,b){switch(b){case "N":a=a.b.ra&32768?8:0;break;case "Z":a=a.b.ta&65535?0:4;break;case "V":a=a.b.sa&32768?2:0;break;case "C":a=a.b.ya&65536?1:0;break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function W(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
||||||
function cf(a,b){var d="",c=a.b;8>b?(d=af(b),d+="="+Y(a,c.f[b])):13>b?d="A"+(b-8)+"="+Y(a,c.bb[b-8]):16<=b&&20>b?d="S"+(b-16)+"="+Y(a,c.ua[b-16]):20==b&&(d="PS="+Y(a,Yb(c)));d&&(d+=" ");return d}function df(a){var b,d="";for(b=0;6>b;b++)d+=cf(a,b);d=d+"\n"+(cf(a,6)+cf(a,7)+cf(a,20));return d+=bf(a,"T")+bf(a,"N")+bf(a,"Z")+bf(a,"V")+bf(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
function af(a,b){var d="",c=a.b;8>b?(d=W(b),d+="="+S(a,c.i[b])):13>b?d="A"+(b-8)+"="+S(a,c.ab[b-8]):16<=b&&20>b?d="S"+(b-16)+"="+S(a,c.Oa[b-16]):20==b&&(d="PS="+S(a,Wb(c)));d&&(d+=" ");return d}function bf(a){var b,d="";for(b=0;6>b;b++)d+=af(a,b);d=d+"\n"+(af(a,6)+af(a,7)+af(a,20));return d+=$e(a,"T")+$e(a,"N")+$e(a,"Z")+$e(a,"V")+$e(a,"C")}l.uc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||||
function ef(a,b,d){var c=[],e=a.L(b)>>>0;for(b=0;b<a.O.length;b++){var f=a.O[b],g=f.A>>>0,h=f.Uc;if(e>=g&&e<g+h){e=qa(f.sc,[e-g],a.vc);0<=e?ff(a,b,e,c):d&&(e=~e,ff(a,b,e-1,c),ff(a,b,e,c));break}}return c}function ff(a,b,d,c){var e={},f=a.O[b].sc,g=0,h=null;0<=d&&d<f.length&&(g=f[d][0],h=f[d][1]);h&&(e=a.O[b].Na[h],h="."==h.charAt(0)?null:e.l||h);c.push(h);c.push(g);c.push(e.a);c.push(e.c)}
|
function cf(a,b,d){var c=[],f=a.W(b)>>>0;for(b=0;b<a.I.length;b++){var e=a.I[b],g=e.w>>>0,h=e.Uc;if(f>=g&&f<g+h){f=pa(e.rc,[f-g],a.uc);0<=f?df(a,b,f,c):d&&(f=~f,df(a,b,f-1,c),df(a,b,f,c));break}}return c}function df(a,b,d,c){var f={},e=a.I[b].rc,g=0,h=null;0<=d&&d<e.length&&(g=e[d][0],h=e[d][1]);h&&(f=a.I[b].Ia[h],h="."==h.charAt(0)?null:f.l||h);c.push(h);c.push(g);c.push(f.a);c.push(f.c)}
|
||||||
function gf(a,b){var d=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(d){if(!d[1])return De(a)||a.i("no variables"),!0;if(!d[2])return De(a,d[1]);if(!d[3])return delete a.ha[d[1]],!0;b=ze(a,d[3]);return void 0!==b?(a.ha[d[1]]=b,!0):!1}a.i("invalid assignment:"+b);return!1}
|
function ef(a,b){var d=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(d){if(!d[1])return De(a)||a.f("no variables"),!0;if(!d[2])return De(a,d[1]);if(!d[3])return delete a.ea[d[1]],!0;b=ze(a,d[3]);return void 0!==b?(a.ea[d[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
|
||||||
function hf(a,b,d){var c=null;if(b=Ne(a,b,!0)){a.L(b);var e=ef(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.A-e[1])&&(g=" + "+r(f,4,!0)),f=e[0]+" ("+Y(a,e[1])+")"+g,d&&a.i(f),c=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.A)&&(g=" - "+r(f,4,!0)),f=e[4]+" ("+Y(a,e[5])+")"+g,d&&a.i(f),c||(c=f))}else d&&a.i("no symbols")}return c}
|
function ff(a,b,d){var c=null;if(b=V(a,b,!0)){a.W(b);var f=cf(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.w-f[1])&&(g=" + "+r(e,4,!0)),e=f[0]+" ("+S(a,f[1])+")"+g,d&&a.f(e),c=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.w)&&(g=" - "+r(e,4,!0)),e=f[4]+" ("+S(a,f[5])+")"+g,d&&a.f(e),c||(c=e))}else d&&a.f("no symbols")}return c}
|
||||||
function Te(a,b){var d;if(b&&"?"==b[1])a.i("register commands:"),a.i("\tr\tdump registers"),a.i("\trx [#]\tset flag or register x to [#]");else{var c=a.b;null==d&&(d=!0);if(b&&1<b.length){var e=b[1],f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.i("missing value for "+b[1]);return}var f=!1,g=ze(a,b);if(void 0!==g)switch(f=!0,e.toUpperCase()){case "PC":c.f[7]=g;a.X=Z(c.f[7]);break;case "NF":c.B=g?32768:0;break;case "ZF":c.F=g?0:1;break;case "VF":c.C=g?32768:
|
function Se(a,b){var d;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var c=a.b;null==d&&(d=!0);if(b&&1<b.length){var f=b[1],e=f.indexOf("=");if(0<e)b=f.substr(e+1),f=f.substr(0,e);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}var e=!1,g=ze(a,b);if(void 0!==g)switch(e=!0,f.toUpperCase()){case "PC":c.i[7]=g;a.P=U(c.i[7]);break;case "NF":c.ra=g?32768:0;break;case "ZF":c.ta=g?0:1;break;case "VF":c.sa=g?32768:
|
||||||
0;break;case "CF":c.D=g?65536:0;break;default:a.i("unknown register: "+e);return}if(!f){a.i("invalid value: "+b);return}N(c);a.i("updated registers:")}a.i(df(a));d&&(a.X=Z(c.f[7]),Ue(a,Y(a,a.X.A)))}}function jf(a,b){b=oa(b);var d=b.match(/^(['"])(.*?)\1$/);d?a.i(d[2]):ze(a,b,!0)}function kf(a,b,d){var c="t"!=b;d=Be(a,d,null,!0)||1;var e=1==d?0:1;"tc"==b&&(e=d,d=1);Da(d,function(){return db(a,!0)&&a.Ab(e,c,!1)},function(){N(a.b);db(a,!1)})}
|
0;break;case "CF":c.ya=g?65536:0;break;default:a.f("unknown register: "+f);return}if(!e){a.f("invalid value: "+b);return}K(c);a.f("updated registers:")}a.f(bf(a));d&&(a.P=U(c.i[7]),Te(a,S(a,a.P.w)))}}function gf(a,b){b=la(b);var d=b.match(/^(['"])(.*?)\1$/);d?a.f(d[2]):ze(a,b,!0)}function hf(a,b,d){var c="t"!=b;d=Be(a,d,null,!0)||1;var f=1==d?0:1;"tc"==b&&(f=d,d=1);Da(d,function(){return kb(a,!0)&&a.zb(f,c,!1)},function(){K(a.b);kb(a,!1)})}
|
||||||
function Ue(a,b,d,c){if(b=Ne(a,b,!0)){void 0===c&&(c=1);var e=256;if(void 0!==d){c=Ne(a,d,!0);if(!c||c.A<b.A)return;e=c.A-b.A;if(256<e){a.i("range too large");return}c=-1}d=0;for(var f;0<e&&c--;){f=eb(a,!1)||a.da?a.R:null;var g=null!=f?"cycles":null,h=ef(a,b),k=b.A;if(h[0]&&c&&(!d&&c||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(g=h[3],f=null);f=$e(a,b,g,f);a.i(f);a.X=b;e-=b.A-k;d++}}}
|
function Te(a,b,d,c){if(b=V(a,b,!0)){void 0===c&&(c=1);var f=256;if(void 0!==d){c=V(a,d,!0);if(!c||c.w<b.w)return;f=c.w-b.w;if(256<f){a.f("range too large");return}c=-1}d=0;for(var e;0<f&&c--;){e=lb(a,!1)||a.$?a.K:null;var g=null!=e?"cycles":null,h=cf(a,b),k=b.w;if(h[0]&&c&&(!d&&c||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(g=h[3],e=null);e=Ze(a,b,g,e);a.f(e);a.P=b;f-=b.w-k;d++}}}
|
||||||
function Ze(a,b,d){var c=!0;try{b.length&&"end"!=b?d||a.i(">> "+b):(a.ca&&(a.i("ended assemble at "+Y(a,a.ba.A)),a.X=a.ba,a.ca=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Ca=null;if(qb(a)&&0<b.length){a.ca&&(b="a "+Y(a,a.ba.A)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var g=f[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){f[0]=g.substr(k);f.unshift(g.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var n=Ne(a,f[1],!0);
|
function Ye(a,b,d){var c=!0;try{b.length&&"end"!=b?d||a.f(">> "+b):(a.Z&&(a.f("ended assemble at "+S(a,a.X.w)),a.P=a.X,a.Z=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Ca=null;if(mb(a)&&0<b.length){a.Z&&(b="a "+S(a,a.X.w)+" "+b);var e=b.replace(/ +/g," ").split(" ");if(e&&e.length)for(var g=e[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){e[0]=g.substr(k);e.unshift(g.substr(0,k));break}}switch(e[0].charAt(0)){case "a":var n=V(a,e[1],!0);if(n)if(a.X=
|
||||||
if(n)if(a.ba=n,void 0===f[2])a.i("begin assemble at "+Y(a,n.A)),a.ca=!0,N(a.b);else{var q;a.i("not supported yet");q=[];if(q.length){for(var p=0;p<q.length;p++)a.gc(n,q[p],1);a.i($e(a,a.ba))}}break;case "b":a:{var z=f[0],x=f[1],A=b;if("?"==x)a.i("breakpoint commands:"),a.i("\tbp [a]\tset exec breakpoint at addr [a]"),a.i("\tbr [a]\tset read breakpoint at addr [a]"),a.i("\tbw [a]\tset write breakpoint at addr [a]"),a.i("\tbc [a]\tclear breakpoint at addr [a]"),a.i("\tbl\tlist all breakpoints"),a.i("\tbn [n]\tbreak after [n] instruction(s)");
|
n,void 0===e[2])a.f("begin assemble at "+S(a,n.w)),a.Z=!0,K(a.b);else{var q;a.f("not supported yet");q=[];if(q.length){for(var p=0;p<q.length;p++)a.fc(n,q[p],1);a.f(Ze(a,a.X))}}break;case "b":a:{var z=e[0],x=e[1],A=b;if("?"==x)a.f("breakpoint commands:"),a.f("\tbp [a]\tset exec breakpoint at addr [a]"),a.f("\tbr [a]\tset read breakpoint at addr [a]"),a.f("\tbw [a]\tset write breakpoint at addr [a]"),a.f("\tbc [a]\tclear breakpoint at addr [a]"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [n]\tbreak after [n] instruction(s)");
|
||||||
else{var ua=z.charAt(1);if("l"==ua){var Ac;Ac=0+Ye(a,a.g);Ac+=Ye(a,a.Y);(Ac+=Ye(a,a.J))||a.i("no breakpoints")}else if("n"==ua)a.Aa=Be(a,x),a.i("break after "+a.Aa+" instruction(s)");else if(void 0===x)a.i("missing breakpoint address");else{var R=Z();if("*"!=x&&(R=Ne(a,x,!0),!R))break a;"c"==ua?null==R.A?(Fe(a),a.i("all breakpoints cleared")):We(a,a.g,R)||We(a,a.Y,R)||We(a,a.J,R)||a.i("breakpoint missing: "+Y(a,R.A)):null!=R.A&&(Re(a,R,A),"p"==ua?a.hb(a.g,R):"r"==ua?a.hb(a.Y,R):"w"==ua?a.hb(a.J,R):
|
else{var ma=z.charAt(1);if("l"==ma){var uc;uc=0+Xe(a,a.j);uc+=Xe(a,a.T);(uc+=Xe(a,a.F))||a.f("no breakpoints")}else if("n"==ma)a.xa=Be(a,x),a.f("break after "+a.xa+" instruction(s)");else if(void 0===x)a.f("missing breakpoint address");else{var L=U();if("*"!=x&&(L=V(a,x,!0),!L))break a;"c"==ma?null==L.w?(Fe(a),a.f("all breakpoints cleared")):Ve(a,a.j,L)||Ve(a,a.T,L)||Ve(a,a.F,L)||a.f("breakpoint missing: "+S(a,L.w)):null!=L.w&&(Qe(a,L,A),"p"==ma?a.gb(a.j,L):"r"==ma?a.gb(a.T,L):"w"==ma?a.gb(a.F,L):
|
||||||
a.i("unknown breakpoint command: "+ua))}}}break;case "c":a.ib&&(a.ib.value="");break;case "d":a:{var Ga,Ha=f[0],ea=f[1],va=f[2],Df=f[3];if("?"==ea){var Ia="";for(Ga in H)a.Va[Ga]&&(Ia&&(Ia+=","),Ia+=Ga);Ia+=",state,symbols";a.i("dump memory commands:");a.i("\tdb [a] [#] dump # bytes at address a");a.i("\tdw [a] [#] dump # words at address a");a.i("\tdd [a] [#] dump # dwords at address a");a.i("\tdh [#] [#] dump # instructions from history");Ia.length&&a.i("dump extension commands:\n\t"+
|
a.f("unknown breakpoint command: "+ma))}}}break;case "c":a.hb&&(a.hb.value="");break;case "d":a:{var ya,za=e[0],X=e[1],na=e[2],Bf=e[3];if("?"==X){var Aa="";for(ya in F)a.Sa[ya]&&(Aa&&(Aa+=","),Aa+=ya);Aa+=",state,symbols";a.f("dump memory commands:");a.f("\tdb [a] [#] dump # bytes at address a");a.f("\tdw [a] [#] dump # words at address a");a.f("\tdd [a] [#] dump # dwords at address a");a.f("\tdh [#] [#] dump # instructions from history");Aa.length&&a.f("dump extension commands:\n\t"+
|
||||||
Ia)}else if("state"==ea){var Td=lf(a.w,!0);"console"==va?console.log(Td):(a.ib&&(a.ib.value=""),a.i(Td))}else if("symbols"==ea)for(var Bc=0;Bc<a.O.length;Bc++){var Cc=a.O[Bc],Ja;for(Ja in Cc.Na)if("."!=Ja.charAt(0)){var Ud=Cc.Na[Ja].o;if(void 0!==Ud){var Vd=Cc.Na[Ja].l;Vd&&(Ja=Vd);a.i(Y(a,Ud)+" "+Ja)}}}else{if("d"==Ha){for(Ga in H)if(f[1]==Ga){var Wd=a.Va[Ga];Wd?(f.shift(),f.shift(),Wd(f)):a.i("no dump registered for "+ea);break a}ea||(Ha=a.Sc||"db")}else a.Sc=Ha;if("dh"==Ha){var Xd=ea,Yd=va,Zd="",
|
Aa)}else if("state"==X){var Qd=jf(a.g,!0);"console"==na?console.log(Qd):(a.hb&&(a.hb.value=""),a.f(Qd))}else if("symbols"==X)for(var vc=0;vc<a.I.length;vc++){var wc=a.I[vc],Ba;for(Ba in wc.Ia)if("."!=Ba.charAt(0)){var Rd=wc.Ia[Ba].o;if(void 0!==Rd){var Sd=wc.Ia[Ba].l;Sd&&(Ba=Sd);a.f(S(a,Rd)+" "+Ba)}}}else{if("d"==za){for(ya in F)if(e[1]==ya){var Td=a.Sa[ya];Td?(e.shift(),e.shift(),Td(e)):a.f("no dump registered for "+X);break a}X||(za=a.Sc||"db")}else a.Sc=za;if("dh"==za){var Ud=X,Vd=na,Wd="",Xd=
|
||||||
$d=0,aa=a.qa,fa=a.W;if(fa.length){var W=+Xd||a.Kb,fb=+Yd||10;isNaN(W)?W=fb:Zd="more ";W>fa.length&&(a.i("note: only "+fa.length+" available"),W=fa.length);aa-=W;0>aa&&(null==fa[fa.length-1].A?(W=aa+W,aa=0):aa+=fa.length);var Dc=[];"call"==Yd&&(fb=1E5,Dc=["CALL"]);for(void 0!==Xd&&a.i(W+" instructions earlier:");0<fb&&aa!=a.qa;){var ae=fa[aa++];if(null==ae.A)break;var gb=Z(ae.A),Ef=W--,be=$e(a,gb,"history",Ef);(!Dc.length||0<=be.indexOf(Dc[0]))&&a.i(be);gb.jc&&(aa+=gb.jc,fb-=gb.jc,W-=gb.jc);aa>=fa.length&&
|
0,T=a.ma,Y=a.O;if(Y.length){var P=+Ud||a.Yb,Wa=+Vd||10;isNaN(P)?P=Wa:Wd="more ";P>Y.length&&(a.f("note: only "+Y.length+" available"),P=Y.length);T-=P;0>T&&(null==Y[Y.length-1].w?(P=T+P,T=0):T+=Y.length);var xc=[];"call"==Vd&&(Wa=1E5,xc=["CALL"]);for(void 0!==Ud&&a.f(P+" instructions earlier:");0<Wa&&T!=a.ma;){var Yd=Y[T++];if(null==Yd.w)break;var Xa=U(Yd.w),Cf=P--,Zd=Ze(a,Xa,"history",Cf);(!xc.length||0<=Zd.indexOf(xc[0]))&&a.f(Zd);Xa.ic&&(T+=Xa.ic,Wa-=Xa.ic,P-=Xa.ic);T>=Y.length&&(T=0);a.Yb=P;Xd++;
|
||||||
(aa=0);a.Kb=W;$d++;fb--}}$d||(a.i("no "+Zd+"history available"),a.Kb=void 0)}else{var Lb=Ne(a,ea);if(Lb){var Mb=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||Df),Mb=Be(a,va)>>>0,65536<Mb&&(Mb=65536));for(var hb="",Nb="dd"==Ha?4:"dw"==Ha?2:1,Ob=Nb*Mb||128,Ff=Ob+15>>4||1;Ff--&&0<Ob;){var Pb=0,Ec=0,ib,Fc="",ce="",ea=Y(a,Lb.A);for(ib=16;0<ib&&0<Ob;ib--){var Qb=a.Mb(Lb,1),Pb=Pb|Qb<<(Ec++<<3);Ec==Nb&&(Fc+=r(Pb,2*Nb),Fc+=1==Nb?9==ib?"-":" ":" ",Pb=Ec=0);ce+=32<=Qb&&128>Qb?String.fromCharCode(Qb):".";Ob--}hb&&
|
Wa--}}Xd||(a.f("no "+Wd+"history available"),a.Yb=void 0)}else{var Eb=V(a,X);if(Eb){var Fb=0;na&&("l"==na.charAt(0)&&(na=na.substr(1)||Bf),Fb=Be(a,na)>>>0,65536<Fb&&(Fb=65536));for(var Ya="",Gb="dd"==za?4:"dw"==za?2:1,Hb=Gb*Fb||128,Df=Hb+15>>4||1;Df--&&0<Hb;){var Ib=0,yc=0,Za,zc="",$d="",X=S(a,Eb.w);for(Za=16;0<Za&&0<Hb;Za--){var Jb=a.Kb(Eb,1),Ib=Ib|Jb<<(yc++<<3);yc==Gb&&(zc+=r(Ib,2*Gb),zc+=1==Gb?9==Za?"-":" ":" ",Ib=yc=0);$d+=32<=Jb&&128>Jb?String.fromCharCode(Jb):".";Hb--}Ya&&(Ya+="\n");Ya+=X+
|
||||||
(hb+="\n");hb+=ea+" "+Fc+(ib?"":" "+ce)}hb&&a.i(hb);a.Db=Lb}}}}break;case "e":if("else"==f[0])break;var Rb=1,de=255,ee=a.Mb,fe=a.gc;"ew"==f[0]&&(Rb=2,de=65535,ee=a.La,fe=a.oc);var ge=Rb<<1,he=f[1];if(null==he)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),a.i("\tew [a] [...] edit words at address a");else{var Sb=Ne(a,he);if(Sb)for(var Tb=2;Tb<f.length;Tb++){var jb=ze(a,f[Tb]);if(void 0===jb){a.i("unrecognized value: "+f[Tb]);break}jb&~de&&a.i("warning: "+r(jb)+" exceeds "+
|
" "+zc+(Za?"":" "+$d)}Ya&&a.f(Ya);a.Cb=Eb}}}}break;case "e":if("else"==e[0])break;var Kb=1,ae=255,be=a.Kb,ce=a.fc;"ew"==e[0]&&(Kb=2,ae=65535,be=a.Ea,ce=a.nc);var de=Kb<<1,ee=e[1];if(null==ee)a.f("edit memory commands:"),a.f("\teb [a] [...] edit bytes at address a"),a.f("\tew [a] [...] edit words at address a");else{var Lb=V(a,ee);if(Lb)for(var Mb=2;Mb<e.length;Mb++){var $a=ze(a,e[Mb]);if(void 0===$a){a.f("unrecognized value: "+e[Mb]);break}$a&~ae&&a.f("warning: "+r($a)+" exceeds "+Kb+"-byte value");
|
||||||
Rb+"-byte value");var Gf=ee.call(a,Sb);a.i("changing "+Y(a,Sb.A)+" from "+r(Gf,ge,!0)+" to "+r(jb,ge,!0));fe.call(a,Sb,jb,Rb)}}break;case "g":a:{var ie=f[1],Hf=b;if(void 0!==ie){var Gc=Ne(a,ie,!0);if(!Gc)break a;Re(a,Gc,Hf);a.hb(a.g,Gc,!0)}a.ob(!0)||d||a.i("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Hc;if(a.j.la)Hc="halting",a.pa();else{if(eb(a,!0))break a;Hc="already halted"}d||a.i(Hc)}break;case "i":if("if"==f[0]){var Ic;var kb=b.substr(2),kb=oa(kb);ze(a,kb)?(d||a.i("true: "+
|
var Ef=be.call(a,Lb);a.f("changing "+S(a,Lb.w)+" from "+r(Ef,de,!0)+" to "+r($a,de,!0));ce.call(a,Lb,$a,Kb)}}break;case "g":a:{var fe=e[1],Ff=b;if(void 0!==fe){var Ac=V(a,fe,!0);if(!Ac)break a;Qe(a,Ac,Ff);a.gb(a.j,Ac,!0)}a.nb(!0)||d||a.f("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Bc;if(a.u.da)Bc="halting",a.ia();else{if(lb(a,!0))break a;Bc="already halted"}d||a.f(Bc)}break;case "i":if("if"==e[0]){var Cc;var ab=b.substr(2),ab=la(ab);ze(a,ab)?(d||a.f("true: "+ab),Cc=!0):(d||
|
||||||
kb),Ic=!0):(d||a.i("false: "+kb),Ic=!1);Ic||(c=!1)}break;case "k":var If=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Jc=0,je=Z(),lb=Z(a.b.f[6]);for(a.i("stack trace for "+Y(a,lb.A));10>Jc;){for(var wa=null,Jf=256;65536>lb.A>>>0;){je.A=a.La(lb,2);if(null==lb.A||!Jf--)break;for(var Kf=a,Ub=je,ke=null,mb=Ub.A,le=mb,Kc=1;6>=Kc&&mb;Kc++){if(2<Kc){Ub.A=mb;var Vb=$e(Kf,Ub);if(0<=Vb.indexOf("JSR")){var me=Vb.indexOf(" ");if(mb+
|
a.f("false: "+ab),Cc=!1);Cc||(c=!1)}break;case "k":var Gf=e[0];if("?"==e[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");else{var Dc=0,ge=U(),bb=U(a.b.i[6]);for(a.f("stack trace for "+S(a,bb.w));10>Dc;){for(var oa=null,Hf=256;65536>bb.w>>>0;){ge.w=a.Ea(bb,2);if(null==bb.w||!Hf--)break;for(var If=a,Nb=ge,he=null,cb=Nb.w,ie=cb,Ec=1;6>=Ec&&cb;Ec++){if(2<Ec){Nb.w=cb;var Ob=Ze(If,Nb);if(0<=Ob.indexOf("JSR")){var je=Ob.indexOf(" ");if(cb+(Ob.indexOf(" ",
|
||||||
(Vb.indexOf(" ",me+1)-me-1)/2==le){ke=Vb;break}}}mb--}Ub.A=le;if(wa=ke)break}if(!wa||null==wa)break;var ne=null;if("ks"==If){var oe=wa.match(/[0-9A-F]+$/);oe&&(ne=hf(a,oe[0]))}wa=na(wa,50)+" ;"+(ne||"stack="+Y(a,lb.A));a.i(wa);Jc++}Jc||a.i("no return addresses found")}break;case "l":"ln"==f[0]&&hf(a,f[1],!0);break;case "m":a:{var ga,ha=null,C=f[1];"?"==C&&(C=void 0);if(void 0!==C){var pa=0;if("all"==C)pa=1878917119,C=null;else if("on"==C)ha=!0,C=null;else if("off"==C)ha=!1,C=null;else{"keys"==C&&
|
je+1)-je-1)/2==ie){he=Ob;break}}}cb--}Nb.w=ie;if(oa=he)break}if(!oa||null==oa)break;var ke=null;if("ks"==Gf){var le=oa.match(/[0-9A-F]+$/);le&&(ke=ff(a,le[0]))}oa=ka(oa,50)+" ;"+(ke||"stack="+S(a,bb.w));a.f(oa);Dc++}Dc||a.f("no return addresses found")}break;case "l":"ln"==e[0]&&ff(a,e[1],!0);break;case "m":a:{var Z,aa=null,B=e[1];"?"==B&&(B=void 0);if(void 0!==B){var ha=0;if("all"==B)ha=1878917119,B=null;else if("on"==B)aa=!0,B=null;else if("off"==B)aa=!1,B=null;else{"keys"==B&&(B="key");"kbd"==
|
||||||
(C="key");"kbd"==C&&(C="keyboard");for(ga in H)if(C==ga){pa=H[ga];ha=!!(a.ja&pa);break}if(!pa){a.i("unknown message category: "+C);break a}}if(pa)if("on"==f[2])a.ja|=pa,ha=!0;else if("off"==f[2]&&(a.ja&=~pa,ha=!1,1073741824==pa)){for(var Lc=0;Lc<a.Ha.length;Lc++)a.i(a.Ha[Lc]);a.Ha=[]}}var Lf=0,nb="";for(ga in H)if(!C||C==ga){var Mf=!!(a.ja&H[ga]);if(null===ha||ha==Mf)nb&&(nb+=","),++Lf%10||(nb+="\n\t"),"key"==ga&&(ga="keys"),nb+=ga}void 0===C&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
B&&(B="keyboard");for(Z in F)if(B==Z){ha=F[Z];aa=!!(a.ca&ha);break}if(!ha){a.f("unknown message category: "+B);break a}}if(ha)if("on"==e[2])a.ca|=ha,aa=!0;else if("off"==e[2]&&(a.ca&=~ha,aa=!1,1073741824==ha)){for(var Fc=0;Fc<a.Ga.length;Fc++)a.f(a.Ga[Fc]);a.Ga=[]}}var Jf=0,db="";for(Z in F)if(!B||B==Z){var Kf=!!(a.ca&F[Z]);if(null===aa||aa==Kf)db&&(db+=","),++Jf%10||(db+="\n\t"),"key"==Z&&(Z="keys"),db+=Z}void 0===B&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==
|
||||||
a.i((null!==ha?ha?"messages on: ":"messages off: ":"message categories:\n\t")+(nb||"none"));Ge(a)}break;case "p":if("print"==f[0]){jf(a,b.substr(5));break}var Nf="pr"==f[0]?1:0;if(a.da)a.i("step in progress");else{var pe=Z(a.b.f[7]);a.Mb(pe);a.da?(a.hb(a.g,pe,!0),a.ob()||(a.w&&a.w.Yb(),a.da=0)):kf(a,Nf?"tr":"t")}break;case "r":if("reset"==b){a.w&&a.w.reset();break}Te(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var ob=+f[2];if(8==ob||10==ob||16==ob)a.za=ob;else{a.i("invalid base: "+ob);
|
aa?aa?"messages on: ":"messages off: ":"message categories:\n\t")+(db||"none"));Ge(a)}break;case "p":if("print"==e[0]){gf(a,b.substr(5));break}var Lf="pr"==e[0]?1:0;if(a.$)a.f("step in progress");else{var me=U(a.b.i[7]);a.Kb(me);a.$?(a.gb(a.j,me,!0),a.nb()||(a.g&&a.g.Wb(),a.$=0)):hf(a,Lf?"tr":"t")}break;case "r":if("reset"==b){a.g&&a.g.reset();break}Se(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var eb=+e[2];if(8==eb||10==eb||16==eb)a.wa=eb;else{a.f("invalid base: "+eb);break}}a.f("default base: "+
|
||||||
break}}a.i("default base: "+a.za);break;case "cs":var pb;void 0!==f[3]&&(pb=+f[3]);switch(f[2]){case "int":a.b.ub=pb;break;case "start":a.b.Qb=pb;break;case "stop":a.b.vb=pb;break;default:a.i("unknown cs option");break a}void 0!==pb&&Pc(a.b);a.i("checksums "+(a.b.j.rb?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(Tc(a.b,+f[2])||a.i("warning: using 1x multiplier, previous target not reached"));a.i("target speed: "+(a.b.kb.toFixed(2)+"Mhz")+" ("+a.b.mb+"x)");break;case "?":a.i("debugger options:");
|
a.wa);break;case "cs":var fb;void 0!==e[3]&&(fb=+e[3]);switch(e[2]){case "int":a.b.tb=fb;break;case "start":a.b.Ob=fb;break;case "stop":a.b.ub=fb;break;default:a.f("unknown cs option");break a}void 0!==fb&&Oc(a.b);a.f("checksums "+(a.b.u.qb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Sc(a.b,+e[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.jb.toFixed(2)+"Mhz")+" ("+a.b.lb+"x)");break;case "?":a.f("debugger options:");a.f("\tbase #\t\tset default base to #");
|
||||||
a.i("\tbase #\t\tset default base to #");a.i("\tcs int #\tset checksum cycle interval to #");a.i("\tcs start #\tset checksum cycle start count to #");a.i("\tcs stop #\tset checksum cycle stop count to #");a.i("\tsp #\t\tset speed multiplier to #");break;default:f[1]&&a.i("unknown option: "+f[1])}break;case "t":kf(a,f[0],f[1]);break;case "u":Ue(a,f[1],f[2],8);break;case "v":if("var"==f[0]){gf(a,b.substr(3))||(c=!1);break}a.i("PDP11js version 1.30.0 ("+a.b.Xc+",RELEASE"+(sb?",TYPEDARRAYS":",LONGARRAYS")+
|
a.f("\tcs int #\tset checksum cycle interval to #");a.f("\tcs start #\tset checksum cycle start count to #");a.f("\tcs stop #\tset checksum cycle stop count to #");a.f("\tsp #\t\tset speed multiplier to #");break;default:e[1]&&a.f("unknown option: "+e[1])}break;case "t":hf(a,e[0],e[1]);break;case "u":Te(a,e[1],e[2],8);break;case "v":if("var"==e[0]){ef(a,b.substr(3))||(c=!1);break}a.f("PDP11js version 1.30.0 ("+a.b.Xc+",RELEASE"+(ob?",TYPEDARRAYS":",LONGARRAYS")+")");a.f(window?window.navigator.userAgent:
|
||||||
")");a.i(window?window.navigator.userAgent:"");break;case "?":if(f[1]){jf(a,b.substr(1));break}var Mc="commands:",Nc;for(Nc in Je)Mc+="\n"+na(Nc,9)+Je[Nc];md(a)||(Mc+="\nnote: history disabled if no exec breakpoints");a.i(Mc);break;default:a.i("unknown command: "+b),c=!1}}}catch(qe){a.i("debugger error: "+(qe.stack||qe.message)),c=!1}return c}function Ie(a,b,d){b=xe(a,b,d);for(var c in b)if(!Ze(a,b[+c]))return!1;return!0}
|
"");break;case "?":if(e[1]){gf(a,b.substr(1));break}var Gc="commands:",Hc;for(Hc in Je)Gc+="\n"+ka(Hc,9)+Je[Hc];md(a)||(Gc+="\nnote: history disabled if no exec breakpoints");a.f(Gc);break;default:a.f("unknown command: "+b),c=!1}}}catch(ne){a.f("debugger error: "+(ne.stack||ne.message)),c=!1}return c}function Ie(a,b,d){b=xe(a,b,d);for(var c in b)if(!Ye(a,b[+c]))return!1;return!0}Ka(function(){for(var a=C(document,"pdp11","debugger"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Ee(c);ib(c,d)}});
|
||||||
Oa(function(){for(var a=B(document,"pdp11","debugger"),b=0;b<a.length;b++){var d=a[b],c=y(d),c=new Ee(c);bb(c,d)}});
|
function kf(a,b,d){u.call(this,"Computer",a,kf,67108864);this.u.ba=!1;lf(this,b);this.T=Mc(this,"autoPower",a);this.B=0;this.ea=a.busWidth||a.buswidth;this.g=mf;this.O=null;this.I=this.Z=!1;this.url=Mc(this,"url")||"";(Math.random()+.1).toString(36);this.j=nf(this);if(this.b=hb("CPU",this.id)){this.C=hb("Debugger",this.id);this.A=new wb({id:this.sc+".bus",busWidth:this.ea},this.b,this.C);var c,f=gb(this.id);if((this.D=hb("Panel",this.id))&&this.D.hb)for(b=0;b<f.length;b++)c=f[b],c.ka=this.D.ka,c.f=
|
||||||
function mf(a,b,d){u.call(this,"Computer",a,mf,67108864);this.j.ga=!1;nf(this,b);this.Y=zc(this,"autoPower",a);this.u=0;this.ha=a.busWidth||a.buswidth;this.g=of;this.W=null;this.O=this.ca=!1;this.url=zc(this,"url")||"";(Math.random()+.1).toString(36);this.w=pf(this);if(this.b=ab("CPU",this.id)){this.I=ab("Debugger",this.id);this.H=new yb({id:this.tc+".bus",busWidth:this.ha},this.b,this.I);var c,e=$a(this.id);if((this.G=ab("Panel",this.id))&&this.G.ib)for(b=0;b<e.length;b++)c=e[b],c.sa=this.G.sa,c.i=
|
this.D.f,c.hb=this.D.hb;this.f("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.f("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)c=f[b],c.Ya&&c.Ya(this,this.A,this.b,this.C);b=null;c=a.resume;void 0!==c&&(1<c.length?b=this.K=c:this.g=parseInt(c,10));var e;if(a=Mc(this,"state")||(e=!0,a.state))b=this.V=a,e||(this.I=!0,this.g=mf),this.g&&
|
||||||
this.G.i,c.ib=this.G.ib;this.i("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.i("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)c=e[b],c.$a&&c.$a(this,this.H,this.b,this.I);b=null;c=a.resume;void 0!==c&&(1<c.length?b=this.R=c:this.g=parseInt(c,10));var f;if(a=zc(this,"state")||(f=!0,a.state))b=this.$=a,f||(this.O=!0,this.g=of),this.g&&
|
(this.P=new M(this,"1.30.0"),of(this.P)?b=null:delete this.P);!b&&this.g&&(b=pf(this))&&(this.I=!0);if(b){var g=this;sa(b,null,!0,function(a,b,c){c?(g.K=null,g.I=!1,g.ka("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):(g.O=b,g.Z=!0);D(g)})}else D(this);this.J.power||(this.T=!0);!d&&this.T&&qf(this,this.Pb)}else t("Unable to find CPU component")}w(kf);var mf=0;
|
||||||
(this.X=new O(this,"1.30.0"),qf(this.X)?b=null:delete this.X);!b&&this.g&&(b=rf(this))&&(this.O=!0);if(b){var g=this;ta(b,null,!0,function(a,b,c){c?(g.R=null,g.O=!1,g.sa("Unable to load machine state from server (error "+c+(b?": "+oa(b):"")+")")):(g.W=b,g.ca=!0);D(g)})}else D(this);this.P.power||(this.Y=!0);!d&&this.Y&&sf(this,this.Rb)}else t("Unable to find CPU component")}w(mf);var of=0;
|
function lf(a,b){if(!b){var d;if("object"==typeof resources&&(d=resources.parms))try{b=eval("("+d+")")}catch(c){t(c.message+" ("+d+")")}}a.$=b}function Mc(a,b,d){var c=b.toLowerCase(),c=Pa[b]||Pa[c];void 0===c&&a.$&&(c=a.$[b]);void 0===c&&d&&(c=d[b]);void 0===c&&"object"==typeof resources&&resources[b]&&(c=b);return c}function qf(a,b,d){for(var c=gb(a.id),f=0;f<=c.length;f++){var e=f<c.length?c[f]:a;if(!mb(e)){mb(e,function(){qf(a,b,d)});return}}b.call(a,d)}
|
||||||
function nf(a,b){if(!b){var d;if("object"==typeof resources&&(d=resources.parms))try{b=eval("("+d+")")}catch(c){t(c.message+" ("+d+")")}}a.da=b}function zc(a,b,d){var c=b.toLowerCase(),c=Ta[b]||Ta[c];void 0===c&&a.da&&(c=a.da[b]);void 0===c&&d&&(c=d[b]);void 0===c&&"object"==typeof resources&&resources[b]&&(c=b);return c}function sf(a,b,d){for(var c=$a(a.id),e=0;e<=c.length;e++){var f=e<c.length?c[e]:a;if(!qb(f)){qb(f,function(){sf(a,b,d)});return}}b.call(a,d)}
|
function rf(a,b){var d=new M(a,"1.30.0","validate");if(of(d)&&sf(d)){var c=d.get("timestamp"),f=b?b.get("timestamp"):"unknown";c!=f&&(a.ka("Machine state may be out-of-date\n("+c+" vs. "+f+")\nCheck your browser's local storage limits"),b||d.clear())}}l=kf.prototype;
|
||||||
function tf(a,b){var d=new O(a,"1.30.0","validate");if(qf(d)&&uf(d)){var c=d.get("timestamp"),e=b?b.get("timestamp"):"unknown";c!=e&&(a.sa("Machine state may be out-of-date\n("+c+" vs. "+e+")\nCheck your browser's local storage limits"),b||d.clear())}}l=mf.prototype;
|
l.Pb=function(a){void 0===a&&(a=this.g||(this.O?1:mf));if(!this.B){this.B++;var b=!1,d=!1;this.X=!1;var c=this.P||new M(this,"1.30.0");if(-1==a)b=!0;else if(a>mf){if(of(c,this.O)){this.F=new M(this,"1.30.0","failsafe");of(this.F)&&(tf(this,c),a=2,uf(this.F));this.F.set("timestamp",ra());vf(this.F);var f=this.g&&!this.I;if(1==a||ta("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(d=sf(c)){var e=c.get("code"),g=c.get("data");e&&("ok"==e?of(c,g):("error"==
|
||||||
l.Rb=function(a){void 0===a&&(a=this.g||(this.W?1:of));if(!this.u){this.u++;var b=!1,d=!1;this.ba=!1;var c=this.X||new O(this,"1.30.0");if(-1==a)b=!0;else if(a>of){if(qf(c,this.W)){this.J=new O(this,"1.30.0","failsafe");qf(this.J)&&(vf(this,c),a=2,wf(this.J));this.J.set("timestamp",sa());xf(this.J);var e=this.g&&!this.O;if(1==a||xa("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(d=uf(c)){var f=c.get("code"),g=c.get("data");f&&("ok"==f?qf(c,g):("error"==
|
e&&"no machine state"!=g?(this.ka("Error: "+g),"unable to verify user"==g&&(xa("user",""),this.j=null)):this.f(e+": "+g),uf(c),of(c)?(d=sf(c),f=!0):d=!1))}f&&rf(this,d?c:null)}else 2==a&&c.clear()}else rf(this);delete this.O;delete this.P}f=gb(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(d=wf(this,g,c,b,d));b=[c,a,d];-1!=a?qf(this,this.xc,b):this.xc(b)}};
|
||||||
f&&"no machine state"!=g?(this.sa("Error: "+g),"unable to verify user"==g&&(Ba("user",""),this.w=null)):this.i(f+": "+g),wf(c),qf(c)?(d=uf(c),e=!0):d=!1))}e&&tf(this,d?c:null)}else 2==a&&c.clear()}else tf(this);delete this.W;delete this.X}e=$a(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(d=yf(this,g,c,b,d));b=[c,a,d];-1!=a?sf(this,this.xc,b):this.xc(b)}};
|
function wf(a,b,d,c,f){if(!b.u.ba){b.u.ba=!0;if(b.La){var e=null;f&&((e=d.get(b.id))||(e=d.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.La(e,c)&&e&&(t("Unable to restore state for "+b.type),a.V&&!a.Z?(d.clear(),a.g=mf,window&&window.location.reload()):a.X=!0,b.La(null),f=!1)}if(!c&&b.qc)for(a=b.qc.split("|"),d=0;d<a.length;d++)b.status(a[d])}return f}
|
||||||
function yf(a,b,d,c,e){if(!b.j.ga){b.j.ga=!0;if(b.Qa){var f=null;e&&((f=d.get(b.id))||(f=d.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Qa(f,c)&&f&&(t("Unable to restore state for "+b.type),a.$&&!a.ca?(d.clear(),a.g=of,window&&window.location.reload()):a.ba=!0,b.Qa(null),e=!1)}if(!c&&b.rc)for(a=b.rc.split("|"),d=0;d<a.length;d++)b.status(a[d])}return e}
|
l.xc=function(a){var b=a[0],d=0>a[1];a=a[2];this.fa=!0;this.u.ba=!0;var c=this.J.power;c&&(c.textContent="Shutdown");this.b&&(wf(this,this.b,b,d,a),this.b.Gb());this.X&&(tf(this,b),b.clear());!d&&this.F&&(this.F.clear(),delete this.F);this.B=0};
|
||||||
l.xc=function(a){var b=a[0],d=0>a[1];a=a[2];this.ia=!0;this.j.ga=!0;var c=this.P.power;c&&(c.textContent="Shutdown");this.b&&(yf(this,this.b,b,d,a),this.b.Hb());this.ba&&(vf(this,b),b.clear());!d&&this.J&&(this.J.clear(),delete this.J);this.u=0};
|
function tf(a,b){if(ta("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var d=a.j||"";b=b.toString();var c={app:"PDP11js",ver:"1.30.0"};c.url=a.url;c.user=d;c.type="bug";c.data=b;sa("http://www.pcjs.org/api/v1/report",c,!0)}}
|
||||||
function vf(a,b){if(xa("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var d=a.w||"";b=b.toString();var c={app:"PDP11js",ver:"1.30.0"};c.url=a.url;c.user=d;c.type="bug";c.data=b;ta("http://www.pcjs.org/api/v1/report",c,!0)}}
|
function jf(a,b,d){var c,f="none";if(a.B)return null;a.B--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=ra();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Ka&&(d&&a.b.ia(),c=a.b.Ka(b,d),"object"===typeof c&&e.set(a.b.id,c),d&&(a.b.u.ba=!1,!1===c&&(f=null)));for(var h=gb(a.id),k=0;k<h.length;k++){var m=h[k];m.u.ba&&(m.Ka&&(c=m.Ka(b,d),"object"===typeof c&&e.set(m.id,
|
||||||
function lf(a,b,d){var c,e="none";if(a.u)return null;a.u--;var f=new O(a,"1.30.0"),g=new O(a,"1.30.0","validate"),h=sa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.0");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Pa&&(d&&a.b.pa(),c=a.b.Pa(b,d),"object"===typeof c&&f.set(a.b.id,c),d&&(a.b.j.ga=!1,!1===c&&(e=null)));for(var h=$a(a.id),k=0;k<h.length;k++){var m=h[k];m.j.ga&&(m.Pa&&(c=m.Pa(b,d),"object"===typeof c&&f.set(m.id,
|
c)),d&&(m.u.ba=!1,!1===c&&(f=null)))}f&&(d?(h=c=!1,b?(a.j&&xf(a,a.j,e.toString()),vf(g)&&vf(e)||(f=null,c=h=!0)):a.g&&(c=!0,h=3==a.g),c&&e.clear(h)):f=e.toString());d&&(a.u.ba=!1,b=a.J.power)&&(b.textContent="Power");a.B=0;return f}
|
||||||
c)),d&&(m.j.ga=!1,!1===c&&(e=null)))}e&&(d?(h=c=!1,b?(a.w&&zf(a,a.w,f.toString()),xf(g)&&xf(f)||(e=null,c=h=!0)):a.g&&(c=!0,h=3==a.g),c&&f.clear(h)):e=f.toString());d&&(a.j.ga=!1,b=a.P.power)&&(b.textContent="Power");a.u=0;return e}
|
l.reset=function(){this.A&&this.A.reset&&(this.C&&jb(this,0)&&this.C.message("Resetting "+this.A.type,void 0),this.A.reset());for(var a=gb(this.id),b=0;b<a.length;b++){var d=a[b];d!==this&&d!==this.A&&d.reset&&(this.C&&jb(this,0)&&this.C.message("Resetting "+d.type,void 0),d.reset())}};l.start=function(a,b){for(var d=gb(this.id),c=0;c<d.length;c++){var f=d[c];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||||
l.reset=function(){this.H&&this.H.reset&&(this.I&&cb(this,0)&&this.I.message("Resetting "+this.H.type,void 0),this.H.reset());for(var a=$a(this.id),b=0;b<a.length;b++){var d=a[b];d!==this&&d!==this.H&&d.reset&&(this.I&&cb(this,0)&&this.I.message("Resetting "+d.type,void 0),d.reset())}};l.start=function(a,b){for(var d=$a(this.id),c=0;c<d.length;c++){var e=d[c];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
l.stop=function(a,b){for(var d=gb(this.id),c=0;c<d.length;c++){var f=d[c];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||||
l.stop=function(a,b){for(var d=$a(this.id),c=0;c<d.length;c++){var e=d[c];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
l.oa=function(a,b,d){var c=this;switch(b){case "power":return this.J[b]=d,d.onclick=function(){c.B||(c.u.ba?jf(c,!1,!0):qf(c,c.Pb))},!0;case "reset":return this.J[b]=d,d.onclick=function(){if(c.u.ba&&!c.B)if(c.g&&!c.K){var a=ta("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");jf(c,a,!0);!a&&c.V?window&&window.location.reload():c.Pb(mf)}else c.reset(),c.b&&c.b.Gb()},!0;case "save":if(fa())d.parentNode.removeChild(d);else return this.J[b]=
|
||||||
l.wa=function(a,b,d){var c=this;switch(b){case "power":return this.P[b]=d,d.onclick=function(){c.u||(c.j.ga?lf(c,!1,!0):sf(c,c.Rb))},!0;case "reset":return this.P[b]=d,d.onclick=function(){if(c.j.ga&&!c.u)if(c.g&&!c.R){var a=xa("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");lf(c,a,!0);!a&&c.$?window&&window.location.reload():c.Rb(of)}else c.reset(),c.b&&c.b.Hb()},!0;case "save":if(ja())d.parentNode.removeChild(d);else return this.P[b]=
|
d,d.onclick=function(){var a=nf(c,!0);if(a){var b=!!(c.g&&!c.K||c.V),d=jf(c,b);b?xf(c,a,d):c.ka("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
d,d.onclick=function(){var a=pf(c,!0);if(a){var b=!!(c.g&&!c.R||c.$),d=lf(c,b);b?zf(c,a,d):c.sa("Resume disabled, machine state not saved")}},!0}return!1};
|
function nf(a,b){var d=a.j;d||((d=wa("user"),void 0!==d)?!d&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),d=b)&&((d=yf(a,d))||a.ka("The user ID is invalid.")):b&&a.ka("Browser local storage is not available"));return d}
|
||||||
function pf(a,b){var d=a.w;d||((d=Aa("user"),void 0!==d)?!d&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),d=b)&&((d=Af(a,d))||a.sa("The user ID is invalid.")):b&&a.sa("Browser local storage is not available"));return d}
|
function yf(a,b){a.j=null;b=sa(ga()+"/api/v1/user?req=verify&user="+b);var d=b[1];if(!b[0]&&d)try{b=eval("("+d+")"),b.code&&"ok"==b.code&&(xa("user",b.data),a.j=b.data)}catch(c){t(c.message+" ("+d+")")}return a.j}function pf(a){var b=null;a.j&&(b=ga()+"/api/v1/user?req=load&user="+a.j+"&state="+zf(a,"1.30.0"));return b}
|
||||||
function Af(a,b){a.w=null;b=ta(ka()+"/api/v1/user?req=verify&user="+b);var d=b[1];if(!b[0]&&d)try{b=eval("("+d+")"),b.code&&"ok"==b.code&&(Ba("user",b.data),a.w=b.data)}catch(c){t(c.message+" ("+d+")")}return a.w}function rf(a){var b=null;a.w&&(b=ka()+"/api/v1/user?req=load&user="+a.w+"&state="+Bf(a,"1.30.0"));return b}
|
function xf(a,b,d){if(d){var c={req:"store"};c.user=b;c.state=zf(a,"1.30.0");c.data=d;b=sa(ga()+"/api/v1/user",c);c=b[0];if(b[1]){if(c){var f=c.indexOf("\n");0<f&&(c=c.substr(0,f));c.indexOf("Error: ")||(c=c.substr(7))}c='{"code":'+b[1]+',"data":"'+c+'"}'}b=JSON.parse(c);b&&"ok"==b.code?a.ka("Machine state saved to server"):d&&(d=b&&b.data||"unable to save machine state",d="error"==b.code?"Error: "+d:"Error "+b.code+": "+d,a.ka(d),xa("user",""),a.j=null)}}l.Wb=function(){};
|
||||||
function zf(a,b,d){if(d){var c={req:"store"};c.user=b;c.state=Bf(a,"1.30.0");c.data=d;b=ta(ka()+"/api/v1/user",c);c=b[0];if(b[1]){if(c){var e=c.indexOf("\n");0<e&&(c=c.substr(0,e));c.indexOf("Error: ")||(c=c.substr(7))}c='{"code":'+b[1]+',"data":"'+c+'"}'}b=JSON.parse(c);b&&"ok"==b.code?a.sa("Machine state saved to server"):d&&(d=b&&b.data||"unable to save machine state",d="error"==b.code?"Error: "+d:"Error "+b.code+": "+d,a.sa(d),Ba("user",""),a.w=null)}}l.Yb=function(){};
|
l.ua=function(a){this.b&&this.b.ua(a);this.D&&this.D.ua(a)};Ka(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var d=a[b],c=y(d),d=C(d,"pdp11","computer"),f=0;f<d.length;f++){var e=d[f],g=y(e),g=new kf(g,c,!0);ib(g,e);g.T&&qf(g,g.Pb)}});Fa.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var d=y(a[b]);(d=hb("Computer",d.id))&&d.fa&&!d.u.ba&&d.Pb(-1)}});
|
||||||
l.Ba=function(a){this.b&&this.b.Ba(a);this.G&&this.G.Ba(a)};Oa(function(){for(var a=B(document,"pdp11-machine"),b=0;b<a.length;b++)for(var d=a[b],c=y(d),d=B(d,"pdp11","computer"),e=0;e<d.length;e++){var f=d[e],g=y(f),g=new mf(g,c,!0);bb(g,f);g.Y&&sf(g,g.Rb)}});Fa.show.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var d=y(a[b]);(d=ab("Computer",d.id))&&d.ia&&!d.j.ga&&d.Rb(-1)}});
|
Fa.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var d=y(a[b]);(d=hb("Computer",d.id))&&d.u.ba&&jf(d,!(!d.g||d.K),!0)}});function M(a,b,d){this.id=a.id;this.key=zf(a,b,d);this.C=a.C;uf(this,a.Pc)}function zf(a,b,d){a=a.id;if(b){var c=b.indexOf(".");0<c&&(a+=".v"+b.substr(0,c))}d&&(a+="."+d);return a}
|
||||||
Fa.exit.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var d=y(a[b]);(d=ab("Computer",d.id))&&d.j.ga&&lf(d,!(!d.g||d.R),!0)}});function O(a,b,d){this.id=a.id;this.key=Bf(a,b,d);this.I=a.I;wf(this,a.Pc)}function Bf(a,b,d){a=a.id;if(b){var c=b.indexOf(".");0<c&&(a+=".v"+b.substr(0,c))}d&&(a+="."+d);return a}
|
M.prototype={constructor:M,set:function(a,b){try{this[this.id][a]=b}catch(d){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){uf(this);var b=[];try{for(var d=0,c=window.localStorage.length;d<c;d++)b.push(window.localStorage.key(d))}catch(f){}for(d=0;d<b.length;d++)if((c=b[d])&&(a||c.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(c)}catch(f){}b.splice(d,
|
||||||
O.prototype={constructor:O,set:function(a,b){try{this[this.id][a]=b}catch(d){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){wf(this);var b=[];try{for(var d=0,c=window.localStorage.length;d<c;d++)b.push(window.localStorage.key(d))}catch(e){}for(d=0;d<b.length;d++)if((c=b[d])&&(a||c.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(c)}catch(e){}b.splice(d,
|
1);d=0}}};function uf(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function vf(a){var b=!0;if(va()){var d=JSON.stringify(a[a.id]);xa(a.key,d)||(t("Unable to store "+d.length+" bytes in browser local storage"),b=!1)}return b}function sf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(d){t(d.message||d),b=!1}return b}function of(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:va()&&(b=wa(a.key))?(a[a.id]=b,a.b=!0):!1}var Af=0;
|
||||||
1);d=0}}};function wf(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function xf(a){var b=!0;if(za()){var d=JSON.stringify(a[a.id]);Ba(a.key,d)||(t("Unable to store "+d.length+" bytes in browser local storage"),b=!1)}return b}function uf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(d){t(d.message||d),b=!1}return b}function qf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:za()&&(b=Aa(a.key))?(a[a.id]=b,a.b=!0):!1}var Cf=0;
|
function Mf(a,b,d,c,f,e){f("Loading "+a+"...");sa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):Nf(h,a,b,d,c,f,e)})}
|
||||||
function Of(a,b,d,c,e,f){e("Loading "+a+"...");ta(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):Pf(h,a,b,d,c,e,f)})}
|
function Nf(a,b,d,c,f,e,g){function h(a,e){if(e)g(e,null);else{d&&(Va(d,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),c?"}"==c.slice(-1)?(c=c.slice(0,-1),1<c.length&&(c+=",")):c='{state:"'+c+'",':c="{",c+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+d+"$2"+(c?" parms='"+c+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||||
function Pf(a,b,d,c,e,f,g){function h(a,f){if(f)g(f,null);else{d&&(Za(d,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),c?"}"==c.slice(-1)?(c=c.slice(0,-1),1<c.length&&(c+=",")):c='{state:"'+c+'",':c="{",c+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+d+"$2"+(c?" parms='"+c+"'":"")+(f?' url="'+f+'"':"")));e||(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?Of(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Qf(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
function Of(a,b,d){var c;if(c=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=c[2];b("Loading "+f+"...");sa(f,null,!0,function(e,g,h){if(h||!g)d(a,"unable to resolve XML reference: "+c[0]+" ("+h+")");else{if(e=c[3])if(h=g.match(new RegExp("<"+c[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{d(a,"missing <"+c[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||||
function Qf(a,b,d){var c;if(c=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=c[2];b("Loading "+e+"...");ta(e,null,!0,function(f,g,h){if(h||!g)d(a,"unable to resolve XML reference: "+c[0]+" ("+h+")");else{if(f=c[3])if(h=g.match(new RegExp("<"+c[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{d(a,"missing <"+c[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
"");a=a.replace(c[0],g);Of(a,b,d)}})}else d(a,null)}
|
||||||
"");a=a.replace(c[0],g);Qf(a,b,d)}})}else d(a,null)}
|
function Pf(a,b,d,c){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function e(a){f("Error: "+a);k&&(--Af||Ma(!0));k=!1}var g,h,k=!0;Af++;Ua[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=m:q.appendChild(document.createTextNode(m));n.appendChild(q)}d||
|
||||||
function Rf(a,b,d,c){function e(a){if(void 0===h){var b=g&&B(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ma(a))}function f(a){e("Error: "+a);k&&(--Cf||Qa(!0));k=!1}var g,h,k=!0;Cf++;Ya[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=m:q.appendChild(document.createTextNode(m));n.appendChild(q)}d||
|
(d="/versions/pdp11/1.30.0/components.xsl");m=function(c,h){h?Mf(d,null,null,!1,f,function(c,k){k?(Va(a,d,c),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Af||Ma(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(c=new XSLTProcessor,c.importStylesheet(k),(k=c.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Af||Ma(!0)):e("invalid machine element: "+
|
||||||
(d="/versions/pdp11/1.30.0/components.xsl");m=function(c,h){h?Of(d,null,null,!1,e,function(c,k){k?(Za(a,d,c),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Cf||Qa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(c=new XSLTProcessor,c.importStylesheet(k),(k=c.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Cf||Qa(!0)):f("invalid machine element: "+
|
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(c)}):e(c)};"<"!=b.charAt(0)?Mf(b,a,c,!0,f,m):Nf(b,null,a,c,!1,f,m)}else e("missing machine element: "+a)}catch(p){e(p.message)}return k}window.embedPDP11=function(a,b,d,c){Ma(!1);return Pf(a,b,d,c)};window.enableEvents=Ma;window.sendEvent=Na;})();
|
||||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(c)}):f(c)};"<"!=b.charAt(0)?Of(b,a,c,!0,e,m):Pf(b,null,a,c,!1,e,m)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPDP11=function(a,b,d,c){Qa(!1);return Rf(a,b,d,c)};window.enableEvents=Qa;window.sendEvent=Ra;})();
|
|
||||||
|
|
|
||||||
|
|
@ -1,156 +1,138 @@
|
||||||
(function(){var l;
|
(function(){var l;
|
||||||
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==
|
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==
|
||||||
f&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function ba(a,b){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function n(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}
|
f&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function n(a,b){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function q(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}
|
||||||
function ca(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function da(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ea(){var a=fa();return-1!==a.indexOf("pcjs.org",a.length-8)}var ga={"&":"&","<":"<",">":">",'"':""","'":"'"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}var ia=Date.now||function(){return+new Date};
|
function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function da(){var a=ea();return-1!==a.indexOf("pcjs.org",a.length-8)}var fa={"&":"&","<":"<",">":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}var ha=Date.now||function(){return+new Date};
|
||||||
function 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 ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||||
function p(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
|
function r(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
|
||||||
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function fa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||||
function r(a){window&&window.alert(a)}function 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 t(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||||
function 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 na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var u={init:[],show:[],exit:[]},pa=!1,qa=!1,ra=!0;function sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function v(a){u.init.push(a)}
|
||||||
function 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 ta(a){if(ra)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ua(a){!ra&&a?(ra=!0,pa&&va("init"),qa&&va("show")):ra=a}function va(a){u[a]&&ta(u[a])}sa("onload",function(){pa=!0;ta(u.init)});sa("onpageshow",function(){qa=!0;ta(u.show)});sa(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){ta(u.exit)});
|
||||||
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Lb=b.comment;this.gc=b;b=this.id.indexOf(".");0>b?this.zb=this.id:(this.Mb=this.id.substr(0,b),this.zb=this.id.substr(b+1));this[a]=c;this.j={ready:!1,bb:!1,Db:!1,M:!1,error:!1};this.qb=null;this.j.error=!1;this.C={};this.K=null;w.push(this)}var xa=void 0,ya={};
|
function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Kb=b.comment;this.fc=b;b=this.id.indexOf(".");0>b?this.wb=this.id:(this.Hb=this.id.substr(0,b),this.wb=this.id.substr(b+1));this[a]=c;this.f={ready:!1,ab:!1,Ab:!1,M:!1,error:!1};this.mb=null;this.f.error=!1;this.o={};this.G=null;x.push(this)}var wa=void 0,xa={};
|
||||||
if(window){xa||(xa=window.location.search.substr(1));for(var za,Aa=/\+/g,Ba=/([^&=]+)=?([^&]*)/g;za=Ba.exec(xa);)ya[decodeURIComponent(za[1].replace(Aa," "))]=decodeURIComponent(za[2].replace(Aa," "))}function Ca(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
if(window){wa||(wa=window.location.search.substr(1));for(var ya,za=/\+/g,Aa=/([^&=]+)=?([^&]*)/g;ya=Aa.exec(wa);)xa[decodeURIComponent(ya[1].replace(za," "))]=decodeURIComponent(ya[2].replace(za," "))}function Ba(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||||
function x(a,b){b||(b=v);a.prototype=Ca(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Da=window.PCjs.Machines||(window.PCjs.Machines={}),w=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},w=[];function Ea(a,b,c){Da[a]&&b&&(Da[a][b]=c)}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
function y(a,b){b||(b=w);a.prototype=Ba(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ca=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Ca={},x=[];function Da(a,b,c){Ca[a]&&b&&(Ca[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||||
function Fa(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
|
function Ea(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
|
||||||
function A(a,b){b=B(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=z(e))&&g.binding&&a.fa(g.type,g.binding,e,g.value),k=h.length}}}}
|
function B(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=A(e))&&g.binding&&a.aa(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||||
function B(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
||||||
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},fa:function(a,b,c){switch(b){case "clear":return this.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Eb=this.C[b]=c,c.value="",this.N=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
w.prototype={constructor:w,parent:null,toString:function(){return this.name?this.name:this.id||this.type},aa:function(a,b,c){switch(b){case "clear":return this.o[b]||(this.o[b]=c,c.onclick=function(a){return function(){a.o.print&&(a.o.print.value="")}}(this)),!0;case "print":return this.o[b]||(this.Bb=this.o[b]=c,c.value="",this.J=function(a){return function(b,d){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==d?d+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||||
this.L=function(a){this.N(a,this.zb)}),!0;default:return!1}},log:function(){},N:function(){},status:function(a){this.N(this.zb+": "+a)},L:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},za:function(){return this.j.M=!0},ya:function(a,b){b&&(this.j.M=!1);return!0}};function Ga(a,b){if(a.j.Db)return a.j.bb&&(a.j.bb=!1),a.j.Db=!1;if(a.j.error)return a.N(a.toString()+" error"),!1;a.j.bb=b;return a.j.bb}function C(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.qb;a.qb=null;b&&b()}}
|
this.L=function(a){this.J(a,this.wb)}),!0;default:return!1}},log:function(){},J:function(){},status:function(a){this.J(this.wb+": "+a)},L:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},ua:function(){return this.f.M=!0},ta:function(a,b){b&&(this.f.M=!1);return!0}};function Fa(a,b){if(a.f.Ab)return a.f.ab&&(a.f.ab=!1),a.f.Ab=!1;if(a.f.error)return a.J(a.toString()+" error"),!1;a.f.ab=b;return a.f.ab}function D(a){if(!a.f.error&&(a.f.ready=!0,a.f.ready)){var b=a.mb;a.mb=null;b&&b()}}
|
||||||
function Ha(a,b){b&&(a.j.ready?b():a.qb=b);return a.j.ready}var Ia="undefined"!==typeof ArrayBuffer,Ja=2,D=4,E=6,Ja=0|Ja,Ka=1|Ja,D=0|D,La=1|D,E=0|E,F=1|E;function Ma(a){v.call(this,"Panel",a,Ma)}x(Ma);l=Ma.prototype;l.fa=function(a,b,c,d){return this.B&&this.B.fa(a,b,c,d)||this.a&&this.a.fa(a,b,c,d)?!0:this.parent.fa.call(this,a,b,c,d)};l.La=function(a,b,c,d){this.B=a;this.A=b;this.a=c;this.K=d};l.za=function(a,b){b||Na();return!0};l.ya=function(){return!0};l.Pa=function(){};
|
function Ga(a,b){b&&(a.f.ready?b():a.mb=b);return a.f.ready}var Ha="undefined"!==typeof ArrayBuffer,F=2,H=4,Ia=6,F=0|F,Ja=1|F,H=0|H,Ka=1|H,Ia=0|Ia,La=1|Ia;function Ma(a){w.call(this,"Panel",a,Ma)}y(Ma);l=Ma.prototype;l.aa=function(a,b,c,d){return this.g&&this.g.aa(a,b,c,d)||this.a&&this.a.aa(a,b,c,d)?!0:this.parent.aa.call(this,a,b,c,d)};l.Ha=function(a,b,c,d){this.g=a;this.j=b;this.a=c;this.G=d};l.ua=function(a,b){b||Na();return!0};l.ta=function(){return!0};l.La=function(){};
|
||||||
function Na(){for(var a=!1,b=B(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=z(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<w.length;g++)if(w[g].id===e){e=w[g];break a}}e=null}e||(a=!0,e=new Ma(f));A(e,d);a&&C(e)}}u(Na);
|
function Na(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=A(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<x.length;g++)if(x[g].id===e){e=x[g];break a}}e=null}e||(a=!0,e=new Ma(f));B(e,d);a&&D(e)}}v(Na);
|
||||||
function Oa(a,b,c){v.call(this,"Bus",a,Oa);this.a=b;this.K=c;this.v=a.busWidth||16;this.o=Math.pow(2,this.v);this.i=this.o-1|0;this.f=(this.v>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.g=1<<this.f;this.B=this.g>>2;this.h=this.g-1;this.l=this.o/this.g|0;this.H=this.l-1;this.ta=[];this.A=null;this.cb=this.P;a=new G;Pa(a,this.K);this.c=Array(this.l);for(b=0;b<this.l;b++)this.c[b]=a;this.Za=Array(4);this.Za[0]=Qa;this.Za[1]=Ra;this.Za[2]=Sa;this.Za[3]=Ta;Ua(this,this.o-8192,8192,Va,this);
|
function I(a,b,c){w.call(this,"Bus",a,I);this.a=b;this.G=c;this.C=a.busWidth||16;this.u=Math.pow(2,this.C);this.l=this.u-1|0;this.j=(this.C>>1)+2;10>this.j&&(this.j=10);15<this.j&&(this.j=15);this.g=1<<this.j;this.H=this.g>>2;this.h=this.g-1;this.s=this.u/this.g|0;this.K=this.s-1;this.na=[];this.A=null;this.bb=this.P;a=new J;Oa(a,this.G);this.b=Array(this.s);for(b=0;b<this.s;b++)this.b[b]=a;this.Ya=Array(4);this.Ya[0]=Pa;this.Ya[1]=Qa;this.Ya[2]=Ra;this.Ya[3]=Sa;Ta(this,this.u-8192,8192,Ua,this);
|
||||||
Ua(this,57344,8192,Va,this);C(this)}x(Oa);function Qa(a,b){var c=this.controller,d=c.ta[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.ta[a&-2],d[2]))return d[2](b&-2)>>8;c.N("warning: unconverted read access to byte @"+ba(b));return c.cb(b,-1,1)}
|
Ta(this,57344,8192,Ua,this);D(this)}y(I);function Pa(a,b){var c=this.controller,d=c.na[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.na[a&-2],d[2]))return d[2](b&-2)>>8;c.J("warning: unconverted read access to byte @"+n(b));return c.bb(b,-1,1)}
|
||||||
function Ra(a,b,c){var d=this.controller,f=d.ta[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.ta[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.N("warning: unconverted write access to byte @"+ba(c));d.cb(c,b,1)}
|
function Qa(a,b,c){var d=this.controller,f=d.na[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.na[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.J("warning: unconverted write access to byte @"+n(c));d.bb(c,b,1)}
|
||||||
function Sa(a,b){var c=this.controller;if(a=c.ta[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.N("warning: unconverted read access to word @"+ba(b));return c.cb(b,-1,0)}function Ta(a,b,c){var d=this.controller;if(a=d.ta[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.N("warning: unconverted write access to word @"+ba(c));d.cb(c,b,0)}Oa.prototype.reset=function(){this.A&&this.A()};Oa.prototype.P=function(){return 0};
|
function Ra(a,b){var c=this.controller;if(a=c.na[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.J("warning: unconverted read access to word @"+n(b));return c.bb(b,-1,0)}function Sa(a,b,c){var d=this.controller;if(a=d.na[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.J("warning: unconverted write access to word @"+n(c));d.bb(c,b,0)}I.prototype.reset=function(){this.A&&this.A()};I.prototype.P=function(){return 0};
|
||||||
Oa.prototype.za=function(a,b){b||this.reset();return!0};function Ua(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0<g&&h<a.c.length;){var k=a.c[h],m=h*a.g,q=a.g-(e-m);q>g&&(q=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Sa)return k.xb+=k.Sa-e,k.Sa=e,!0;if(e>=k.Sa+k.xb){q=k.size-(e-m);q>g&&(q=g);k.xb=e-k.Sa+q;e=m+a.g;g-=q;h++;continue}}return Wa(1,e,g)}e=new G(e,q,a.g,d,f);Pa(e,a.K,k);a.c[h++]=e;e=m+a.g;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Xa[d]+" at "+n(b,8,!0)),!0):Wa(2,b,c)}
|
I.prototype.ua=function(a,b){b||this.reset();return!0};function Ta(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.j;0<g&&h<a.b.length;){var k=a.b[h],m=h*a.g,p=a.g-(e-m);p>g&&(p=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Ra)return k.ub+=k.Ra-e,k.Ra=e,!0;if(e>=k.Ra+k.ub){p=k.size-(e-m);p>g&&(p=g);k.ub=e-k.Ra+p;e=m+a.g;g-=p;h++;continue}}return Va(1,e,g)}e=new J(e,p,a.g,d,f);Oa(e,a.G,k);a.b[h++]=e;e=m+a.g;g-=p}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Wa[d]+" at "+q(b,8,!0)),!0):Va(2,b,c)}
|
||||||
function Ya(a){for(var b=0,c=[],d=0;d<a.l;d++){var f=a.c[d];if(f.wa||f.fc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],q=g+1;q<f.length&&f[q]===m;)q++;k[h++]=q-g;k[h++]=m;g=q}k.length<f.length&&(f=k)}c[e]=f}}return c}function Wa(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
|
function Xa(a){for(var b=0,c=[],d=0;d<a.s;d++){var f=a.b[d];if(f.ra||f.ec){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],p=g+1;p<f.length&&f[p]===m;)p++;k[h++]=p-g;k[h++]=m;g=p}k.length<f.length&&(f=k)}c[e]=f}}return c}function Va(a,b,c){t("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}
|
||||||
function H(a){v.call(this,"Device",a,H);this.c={Hb:[],ia:0,Y:128,c:127,ec:0};this.f={data:0,Ec:0,Ta:20,zc:0};this.g={Gb:0,m:0};this.h={ib:2496,T:0,w:128,jb:0,hb:0,X:0,Vb:0,U:[],Ja:[406,406,406,406],G:[12,12,12,12]};this.i={m:129,ab:0,J:0,xa:0,ua:0,Ba:0,U:[],G:[40,40,40,40],Ja:[1024,1024,512,512],cc:[157,157,29,29]};this.l={a:[8210,8208,8210,8226],G:[22,22,22,50],Ia:[19,19,19,32],yb:[815,411,815,630],U:[],D:2176,Xa:0,Va:0,ea:[0,0,0,0,0,0,0,0],da:0,V:[4544,4544,4544,4544,4544,4544,4544,4544],Wa:[0,
|
function K(a){w.call(this,"Device",a,K);this.b={Eb:[],da:0,U:128,o:127,dc:0};this.g={data:0,Dc:0,Sa:20,yc:0};this.h={Db:0,i:0};this.l={hb:2496,O:0,v:128,ib:0,gb:0,T:0,Ub:0,R:[],Fa:[406,406,406,406],D:[12,12,12,12]};this.s={i:129,$a:0,F:0,sa:0,oa:0,ya:0,R:[],D:[40,40,40,40],Fa:[1024,1024,512,512],bc:[157,157,29,29]};this.u={a:[8210,8208,8210,8226],D:[22,22,22,50],Ea:[19,19,19,32],vb:[815,411,815,630],R:[],w:2176,Wa:0,Ua:0,$:[0,0,0,0,0,0,0,0],Z:0,S:[4544,4544,4544,4544,4544,4544,4544,4544],Va:[0,0,
|
||||||
0,0,0,0,0,0,0],Oa:0,xc:[0,0,0,0,0,0,0,0],Wb:0,Xb:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],yc:[1,2,3,4,5,6,7,8],Yb:[0,0,0,0,0,0,0,0],na:[0,0,0,0,0,0,0,0],wb:[0,0,0,0,0,0,0,0],vc:[0,0,0,0,0,0,0,0],wc:[0,0,0,0,0,0,0,0],tc:[0,0,0,0,0,0,0,0],uc:[0,0,0,0,0,0,0,0],Aa:0,Ib:0}}x(H);
|
0,0,0,0,0,0],Ka:0,wc:[0,0,0,0,0,0,0,0],Vb:0,Wb:[0,0,0,0,0,0,0,0],b:[0,0,0,0,0,0,0,0],xc:[1,2,3,4,5,6,7,8],Xb:[0,0,0,0,0,0,0,0],ia:[0,0,0,0,0,0,0,0],tb:[0,0,0,0,0,0,0,0],uc:[0,0,0,0,0,0,0,0],vc:[0,0,0,0,0,0,0,0],sc:[0,0,0,0,0,0,0,0],tc:[0,0,0,0,0,0,0,0],xa:0,Fb:0}}y(K);
|
||||||
var Za=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
var Ya=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
||||||
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
||||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=H.prototype;
|
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=K.prototype;
|
||||||
l.La=function(a,b,c,d){this.A=b;this.a=c;this.K=d;a=$a;for(var f in a){var e=a[f];c=b;d=+f;for(var g=e[0]?e[0].bind(this):null,h=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,m=+f;m<=d;m+=2){var q=m&8191;void 0!==c.ta[q]?r("I/O address already registered: "+n(m,8,!0)):c.ta[q]=[g,h,k,e,!1]}}f=this.bc.bind(this);b.A=this.reset.bind(this);b.cb=f;C(this)};l.oc=function(){return ab(this.a)};l.Bc=function(a){bb(this.a,a&-1809|ab(this.a)&1808);this.a.F|=128};l.pc=function(){return this.c.Y};
|
l.Ha=function(a,b,c,d){this.j=b;this.a=c;this.G=d;a=Za;for(var f in a){var e=a[f];c=b;d=+f;for(var g=e[0]?e[0].bind(this):null,h=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,m=+f;m<=d;m+=2){var p=m&8191;void 0!==c.na[p]?t("I/O address already registered: "+q(m,8,!0)):c.na[p]=[g,h,k,e,!1]}}f=this.ac.bind(this);b.A=this.reset.bind(this);b.bb=f;D(this)};l.nc=function(){return $a(this.a)};l.Ac=function(a){ab(this.a,a&-1809|$a(this.a)&1808);this.a.B|=128};l.oc=function(){return this.b.U};
|
||||||
l.Dc=function(a){var b=this;128==(this.c.Y&192)&&a&64&&I(this.a,8,4,52,function(){b.c.Y|=128;return!!(b.c.Y&64)});this.c.Y=this.c.Y&128|a&-129};
|
l.Cc=function(a){if(128==(this.b.U&192)&&a&64){var b=this;L(this.a,8,4,52,function(){b.b.U|=128;return!!(b.b.U&64)})}this.b.U=this.b.U&128|a&-129};
|
||||||
function cb(a){var b=a.h,c,d,f,e=b.X>>13&7;"undefined"===typeof b.U[e]&&(b.U[e]={cache:[],postProcess:a.qc,drive:e,blocksize:256,mapped:0,maxblock:b.Ja[e]*b.G[e],url:"rk"+e+".dsk"});b.w&=-129;switch(b.w>>1&7){case 0:b.ib=2496;b.T=0;b.w=128;b.X=0;break;case 1:if((b.X>>4&511)>=b.Ja[e]){b.T|=32832;b.w|=49152;break}if((b.X&15)>=b.G[e]){b.T|=32800;b.w|=49152;break}c=(b.X>>4&511)*b.G[e]+(b.X&15);d=(b.w&48)<<12|b.hb;f=65536-b.jb&65535;db(a,b.U[e],c,d,f);return;case 2:if((b.X>>4&511)>=b.Ja[e])b.T|=32832,
|
function bb(a){var b=a.l,c,d,f,e=b.T>>13&7;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.pc,drive:e,blocksize:256,mapped:0,maxblock:b.Fa[e]*b.D[e],url:"rk"+e+".dsk"});b.v&=-129;switch(b.v>>1&7){case 0:b.hb=2496;b.O=0;b.v=128;b.T=0;break;case 1:if((b.T>>4&511)>=b.Fa[e]){b.O|=32832;b.v|=49152;break}if((b.T&15)>=b.D[e]){b.O|=32800;b.v|=49152;break}c=(b.T>>4&511)*b.D[e]+(b.T&15);d=(b.v&48)<<12|b.gb;f=65536-b.ib&65535;cb(a,b.R[e],c,d,f);return;case 2:if((b.T>>4&511)>=b.Fa[e])b.O|=32832,
|
||||||
b.w|=49152;else if((b.X&15)>=b.G[e])b.T|=32800,b.w|=49152;else{c=(b.X>>4&511)*b.G[e]+(b.X&15);d=(b.w&48)<<12|b.hb;f=65536-b.jb&65535;a.tb(b.U[e],c,d,f);return}}b.ib=e<<13|b.ib&8176|b.X%9&15;I(a.a,20,5,144,function(){b.w=b.w&65534|128;return!!(b.w&64)})}l.qc=function(a,b,c,d,f){var e=this.h;e.hb=d&65535;e.w=e.w&-49|d>>12&48;e.jb=65536-f&65535;switch(a){case 1:e.T|=33024;e.w|=49152;break;case 2:e.T|=33792,e.w|=49152}I(this.a,20,5,144,function(){e.w=e.w&65534|128;return!!(e.w&64)})};
|
b.v|=49152;else if((b.T&15)>=b.D[e])b.O|=32800,b.v|=49152;else{c=(b.T>>4&511)*b.D[e]+(b.T&15);d=(b.v&48)<<12|b.gb;f=65536-b.ib&65535;a.pb(b.R[e],c,d,f);return}}b.hb=e<<13|b.hb&8176|b.T%9&15;L(a.a,20,5,144,function(){b.v=b.v&65534|128;return!!(b.v&64)})}l.pc=function(a,b,c,d,f){var e=this.l;e.gb=d&65535;e.v=e.v&-49|d>>12&48;e.ib=65536-f&65535;switch(a){case 1:e.O|=33024;e.v|=49152;break;case 2:e.O|=33792,e.v|=49152}L(this.a,20,5,144,function(){e.v=e.v&65534|128;return!!(e.v&64)})};
|
||||||
function eb(a){var b=a.i,c,d,f,e=b.m>>8&3;b.m&=-2;"undefined"===typeof b.U[e]&&(b.U[e]={cache:[],postProcess:a.rc,drive:e,blocksize:128,mapped:1,maxblock:b.Ja[e]*b.G[e],url:"rl"+e+".dsk"});switch(b.m>>1&7){case 2:b.xa&8&&(b.m&=63);b.xa=b.cc[e]|b.Ba&64;break;case 3:1==(b.J&3)&&(b.Ba=b.J&4?b.Ba+(b.J&65408)&65408|b.J<<2&64:b.Ba-(b.J&65408)&65408|b.J<<2&64,b.J=b.Ba);break;case 4:b.xa=b.Ba;break;case 5:if(b.J>>6>=b.Ja[e]){b.m|=37888;break}if((b.J&63)>=b.G[e]){b.m|=37888;break}c=(b.J>>6)*b.G[e]+(b.J&63);
|
function db(a){var b=a.s,c,d,f,e=b.i>>8&3;b.i&=-2;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.qc,drive:e,blocksize:128,mapped:1,maxblock:b.Fa[e]*b.D[e],url:"rl"+e+".dsk"});switch(b.i>>1&7){case 2:b.sa&8&&(b.i&=63);b.sa=b.bc[e]|b.ya&64;break;case 3:1==(b.F&3)&&(b.ya=b.F&4?b.ya+(b.F&65408)&65408|b.F<<2&64:b.ya-(b.F&65408)&65408|b.F<<2&64,b.F=b.ya);break;case 4:b.sa=b.ya;break;case 5:if(b.F>>6>=b.Fa[e]){b.i|=37888;break}if((b.F&63)>=b.D[e]){b.i|=37888;break}c=(b.F>>6)*b.D[e]+(b.F&63);
|
||||||
d=(b.ua&63)<<16|b.ab;f=65536-b.xa&65535;db(a,b.U[e],c,d,f);return;case 6:if(b.J>>6>=b.Ja[e])b.m|=37888;else if((b.J&63)>=b.G[e])b.m|=37888;else{c=(b.J>>6)*b.G[e]+(b.J&63);d=(b.ua&63)<<16|b.ab;f=65536-b.xa&65535;a.tb(b.U[e],c,d,f);return}}I(a.a,20,5,112,function(){b.m|=129;return!!(b.m&64)})}
|
d=(b.oa&63)<<16|b.$a;f=65536-b.sa&65535;cb(a,b.R[e],c,d,f);return;case 6:if(b.F>>6>=b.Fa[e])b.i|=37888;else if((b.F&63)>=b.D[e])b.i|=37888;else{c=(b.F>>6)*b.D[e]+(b.F&63);d=(b.oa&63)<<16|b.$a;f=65536-b.sa&65535;a.pb(b.R[e],c,d,f);return}}L(a.a,20,5,112,function(){b.i|=129;return!!(b.i&64)})}
|
||||||
l.rc=function(a,b,c,d,f){var e=this.i;e.ab=d&65535;e.m=e.m&-49|d>>12&48;e.ua=d>>16&63;e.J=~~(c/e.G[b.ka])<<6|c%e.G[b.ka];e.Ba=e.J;e.xa=65536-f&65535;switch(a){case 1:e.m|=33792;break;case 2:e.m|=40960}I(this.a,20,5,112,function(){e.m|=129;return!!(e.m&64)})};function fb(a){a=a.l;a.D=2176;a.da=0;a.V=[4544,4544,4544,4544,4544,4544,4544,4544];a.Wa=[0,0,0,0,0,0,0,0];a.Oa=a.Xa=a.Va=a.Aa=a.Ib=0}
|
l.qc=function(a,b,c,d,f){var e=this.s;e.$a=d&65535;e.i=e.i&-49|d>>12&48;e.oa=d>>16&63;e.F=~~(c/e.D[b.fa])<<6|c%e.D[b.fa];e.ya=e.F;e.sa=65536-f&65535;switch(a){case 1:e.i|=33792;break;case 2:e.i|=40960}L(this.a,20,5,112,function(){e.i|=129;return!!(e.i&64)})};function eb(a){a=a.u;a.w=2176;a.Z=0;a.S=[4544,4544,4544,4544,4544,4544,4544,4544];a.Va=[0,0,0,0,0,0,0,0];a.Ka=a.Wa=a.Ua=a.xa=a.Fb=0}
|
||||||
function gb(a,b){var c=a.l,d,f,e;c.D&=-16513;c.da&=-2049;c.V[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.U[b]&&(c.U[b]={cache:[],postProcess:a.sc,drive:b,blocksize:256,mapped:0,maxblock:c.yb[0]*c.Ia[0]*c.G[0],url:"rp"+b+".dsk"});switch(c.D&63){case 5:c.wb[b]=c.na[b];c.D|=32896;c.V[b]|=32896;c.Oa|=1<<b;break;case 9:fb(a);break;case 19:c.V[b]|=64;break;case 49:if(c.na[b]>=c.yb[0]||c.ea[b]>>8>=c.Ia[0]||(c.ea[b]&255)>=c.G[0]){c.Wa[b]|=1024;c.D|=49152;break}d=(c.na[b]*c.Ia[0]+(c.ea[b]>>8))*c.G[0]+
|
function fb(a,b){var c=a.u,d,f,e;c.w&=-16513;c.Z&=-2049;c.S[b]&=-1153;L(a.a,-1,0,172);"undefined"===typeof c.R[b]&&(c.R[b]={cache:[],postProcess:a.rc,drive:b,blocksize:256,mapped:0,maxblock:c.vb[0]*c.Ea[0]*c.D[0],url:"rp"+b+".dsk"});switch(c.w&63){case 5:c.tb[b]=c.ia[b];c.w|=32896;c.S[b]|=32896;c.Ka|=1<<b;break;case 9:eb(a);break;case 19:c.S[b]|=64;break;case 49:if(c.ia[b]>=c.vb[0]||c.$[b]>>8>=c.Ea[0]||(c.$[b]&255)>=c.D[0]){c.Va[b]|=1024;c.w|=49152;break}d=(c.ia[b]*c.Ea[0]+(c.$[b]>>8))*c.D[0]+(c.$[b]&
|
||||||
(c.ea[b]&255);f=(c.Aa&63)<<16|c.Va;e=65536-c.Xa&65535;db(a,c.U[b],d,f,e);return;case 57:if(c.na[b]>=c.yb[0]||c.ea[b]>>8>=c.Ia[0]||(c.ea[b]&255)>=c.G[0])c.Wa[b]|=1024,c.D|=49152;else{d=(c.na[b]*c.Ia[0]+(c.ea[b]>>8))*c.G[0]+(c.ea[b]&255);f=(c.Aa&63)<<16|c.Va;e=65536-c.Xa&65535;a.tb(c.U[b],d,f,e);return}}I(a.a,3,5,172,function(){c.D=c.D&65534|128;c.V[b]|=128;return!!(c.D&64)})}
|
255);f=(c.xa&63)<<16|c.Ua;e=65536-c.Wa&65535;cb(a,c.R[b],d,f,e);return;case 57:if(c.ia[b]>=c.vb[0]||c.$[b]>>8>=c.Ea[0]||(c.$[b]&255)>=c.D[0])c.Va[b]|=1024,c.w|=49152;else{d=(c.ia[b]*c.Ea[0]+(c.$[b]>>8))*c.D[0]+(c.$[b]&255);f=(c.xa&63)<<16|c.Ua;e=65536-c.Wa&65535;a.pb(c.R[b],d,f,e);return}}L(a.a,3,5,172,function(){c.w=c.w&65534|128;c.S[b]|=128;return!!(c.w&64)})}
|
||||||
l.sc=function(a,b,c,d,f){var e=this.l;e.Xa=65536-f&65535;e.Va=d&65535;e.D=e.D&-769|d>>8&768;e.Aa=d>>16&63;f=~~(c/e.G[0]);d=~~(f/e.Ia[0]);e.ea[b.ka]=f%e.Ia[0]<<8|c%e.G[0];e.wb[b.ka]=e.na[b.ka]=d;e.Oa|=1<<b.ka;c>=b.mc-1&&(e.V[b.ka]|=1024);switch(a){case 1:e.da|=512;e.D|=49152;break;case 2:e.da|=2048,e.D|=49152}I(this.a,20,5,172,function(){e.V[b.ka]|=128;e.D=e.D&65534|128;return!!(e.D&64)})};l.kc=function(){this.g.m|=128;this.g.m&64&&I(this.a,0,6,64)};
|
l.rc=function(a,b,c,d,f){var e=this.u;e.Wa=65536-f&65535;e.Ua=d&65535;e.w=e.w&-769|d>>8&768;e.xa=d>>16&63;f=~~(c/e.D[0]);d=~~(f/e.Ea[0]);e.$[b.fa]=f%e.Ea[0]<<8|c%e.D[0];e.tb[b.fa]=e.ia[b.fa]=d;e.Ka|=1<<b.fa;c>=b.lc-1&&(e.S[b.fa]|=1024);switch(a){case 1:e.Z|=512;e.w|=49152;break;case 2:e.Z|=2048,e.w|=49152}L(this.a,20,5,172,function(){e.S[b.fa]|=128;e.w=e.w&65534|128;return!!(e.w&64)})};l.jc=function(){this.h.i|=128;this.h.i&64&&L(this.a,0,6,64)};
|
||||||
function hb(a,b,c,d,f,e){var g=~~((e+c.va-1)/c.va),h=new XMLHttpRequest;2048>g&&d+2048<c.mc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.va<<1)+"-"+(((d+g)*c.va<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,q,L,N;m=h.response;if(h.status&&206!=h.status||!m)c.sb(1,c,d,f,e);else{m=new Uint8Array(m);q=d;for(N=0;N<m.length;){if("undefined"===typeof c.cache[q])for(c.cache[q]=[],L=0;L<c.va;L++)c.cache[q][L]=N<m.length?
|
function gb(a,b,c,d,f,e){var g=~~((e+c.pa-1)/c.pa),h=new XMLHttpRequest;2048>g&&d+2048<c.lc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.pa<<1)+"-"+(((d+g)*c.pa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,p,E,G;m=h.response;if(h.status&&206!=h.status||!m)c.ob(1,c,d,f,e);else{m=new Uint8Array(m);p=d;for(G=0;G<m.length;){if("undefined"===typeof c.cache[p])for(c.cache[p]=[],E=0;E<c.pa;E++)c.cache[p][E]=G<m.length?
|
||||||
m[N]&255|m[N+1]<<8&65280:0,N+=2;else N+=c.va<<1;q++}g(c,d,f,e)}}};h.send(null)}function J(a,b,c,d,f){if(c&1){if(!f)return K(a.a,4,122);d=0<=d?d<<8&65280|b&255:b}else 0<=d?f&&(d=b&65280|d&255):d=b;return d}l.tb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){hb(this,this.tb,a,b,c,d);return}for(f=0;f<a.va&&0<d;f++){if(0>M(this.a,a.lc?ib(this.a,c):c,a.cache[b][f])){a.sb(2,a,b,c,d);return}c+=2;--d}b++}a.sb(0,a,b,c,d)};
|
m[G]&255|m[G+1]<<8&65280:0,G+=2;else G+=c.pa<<1;p++}g(c,d,f,e)}}};h.send(null)}function M(a,b,c,d,f){if(c&1){if(!f)return N(a.a,4,122);d=0<=d?d<<8&65280|b&255:b}else 0<=d?f&&(d=b&65280|d&255):d=b;return d}l.pb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){gb(this,this.pb,a,b,c,d);return}for(f=0;f<a.pa&&0<d;f++){if(0>hb(this.a,a.kc?ib(this.a,c):c,a.cache[b][f])){a.ob(2,a,b,c,d);return}c+=2;--d}b++}a.ob(0,a,b,c,d)};
|
||||||
function db(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.va;e++)b.cache[c][e]=0;for(e=0;e<b.va&&0<f;e++){g=a.a.O(b.lc?ib(a.a,d):d);if(0>g){b.sb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.sb(0,b,c,d,f)}l.reset=function(){this.f.Ta=this.f.Ta&-120|20;this.c.ia=0;this.c.Y=128;this.g.m=0;this.h.w=128;this.i.m=128;fb(this)};
|
function cb(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.pa;e++)b.cache[c][e]=0;for(e=0;e<b.pa&&0<f;e++){g=a.a.rb(b.kc?ib(a.a,d):d);if(0>g){b.ob(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.ob(0,b,c,d,f)}l.reset=function(){this.g.Sa=this.g.Sa&-120|20;this.b.da=0;this.b.U=128;this.h.i=0;this.l.v=128;this.s.i=128;eb(this)};
|
||||||
l.bc=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.ma&65280:(a&1&&(b<<=8),e.ma=b|255,d=0);break;case 4194298:if(0>b)d=e.vb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.vb=d;e.la=2}break;case 4194294:if(70!==e.Ka)return K(e,4,222);0>b?d=e.s:d=e.s=0;break;case 4194292:if(70!==e.Ka)return K(e,4,224);d=1;break;case 4194290:if(70!==e.Ka)return K(e,4,226);d=0;break;case 4194288:if(70!==e.Ka)return K(e,4,228);d=61183;break;case 4194296:0<=
|
l.ac=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.ha&65280:(a&1&&(b<<=8),e.ha=b|255,d=0);break;case 4194298:if(0>b)d=e.sb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.sb=d;e.va=2}break;case 4194294:if(70!==e.Ga)return N(e,4,222);0>b?d=e.m:d=e.m=0;break;case 4194292:if(70!==e.Ga)return N(e,4,224);d=1;break;case 4194290:if(70!==e.Ga)return N(e,4,226);d=0;break;case 4194288:if(70!==e.Ga)return N(e,4,228);d=61183;break;case 4194296:0<=
|
||||||
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,232);f=a-4194272>>1;0>b?d=e.Fb[f]:(d=J(this,e.Fb[f],a,b,c),0<=d&&(e.Fb[f]=d));break;case 4194254:return a&1?e.u>>14&1?(0<=b&&(e.b[6]=b),d=e.b[6]):(0<=b&&(e.aa[3]=b),d=e.aa[3]):e.u>>14&0?(0<=b&&(e.b[6]=b),d=e.b[6]):(0<=b&&(e.aa[1]=b),d=e.aa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.u&2048?(0<=b&&(e.b[f]=b),d=e.b[f]):(0<=b&&(e.Na[f]=
|
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ga)return N(e,4,232);f=a-4194272>>1;0>b?d=e.Cb[f]:(d=M(this,e.Cb[f],a,b,c),0<=d&&(e.Cb[f]=d));break;case 4194254:return a&1?e.X>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.wa[3]=b),d=e.wa[3]):e.X>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.wa[1]=b),d=e.wa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.X&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Ja[f]=
|
||||||
b),d=e.Na[f]),d;case 4194246:return a&1?(0<=b&&(e.b[7]=b),d=e.b[7]):e.u>>14&0?(0<=b&&(e.b[6]=b),d=e.b[6]):(0<=b&&(e.aa[0]=b),d=e.aa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.u&2048?(0<=b&&(e.Na[f]=b),d=e.Na[f]):(0<=b&&(e.b[f]=b),d=e.b[f]),d;default:return e.s|=16,K(e,4,124)}break;case 4194176:f=a>>1&31;d=J(this,e.R[3][f],a,b,c);0<=d&&(e.R[3][f]=d,e.R[3][f&15]&=65295);break;case 4194112:var g=this.c;f=this.g;switch(a&-2){case 4194174:d=J(this,e.Ya,a,b,c);0<=d&&(e.Ya=d);break;case 4194172:d=
|
b),d=e.Ja[f]),d;case 4194246:return a&1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.X>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.wa[0]=b),d=e.wa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.X&2048?(0<=b&&(e.Ja[f]=b),d=e.Ja[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.m|=16,N(e,4,124)}break;case 4194176:f=a>>1&31;d=M(this,e.N[3][f],a,b,c);0<=d&&(e.N[3][f]=d,e.N[3][f&15]&=65295);break;case 4194112:var g=this.b;f=this.h;switch(a&-2){case 4194174:d=M(this,e.Xa,a,b,c);0<=d&&(e.Xa=d);break;case 4194172:d=
|
||||||
e.ga;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194170:e.I=e.I&62337|e.eb<<5|e.rb<<1;0>b?d=e.I:(d=J(this,e.I,a,b,c),0<=d&&(e.I=d&=62337,e.eb=d>>5&3,e.rb=d>>1&15,d&257?(f=2,e.sa&16&&(f=1),e.Ua=d&1?Ja|D:D):(e.Ua=0,f=4),this.f.Ta=this.f.Ta&-8|f));break;case 4194168:0>b?d=this.f.zc&65535:(d=J(this,this.f.data,a,b,c),0<=d&&(this.f.data=d));break;case 4194166:0<=b&&(b&127&&(g.ec=0),g.Y&=-129,I(e,100,4,52,function(){g.Y|=128;return!!(g.Y&64)}));d=0;break;case 4194164:break;case 4194162:d=0;0>b&&(g.ia&=-129,
|
e.la;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194170:e.I=e.I&62337|e.cb<<5|e.nb<<1;0>b?d=e.I:(d=M(this,e.I,a,b,c),0<=d&&(e.I=d&=62337,e.cb=d>>5&3,e.nb=d>>1&15,d&257?(f=2,e.ma&16&&(f=1),e.Ta=d&1?F|H:H):(e.Ta=0,f=4),this.g.Sa=this.g.Sa&-8|f));break;case 4194168:0>b?d=this.g.yc&65535:(d=M(this,this.g.data,a,b,c),0<=d&&(this.g.data=d));break;case 4194166:0<=b&&(b&127&&(g.dc=0),g.U&=-129,L(e,100,4,52,function(){g.U|=128;return!!(g.U&64)}));d=0;break;case 4194164:break;case 4194162:d=0;0>b&&(g.da&=-129,
|
||||||
0<g.Hb.length&&(d=g.Hb.shift(),0<g.Hb.length&&setTimeout(function(){g.ia|=128;g.ia&64&&I(e,40,4,48)},50)));break;case 4194160:0>b?d=g.ia:(d=J(this,g.ia,a,b,c),0<=d&&(g.ia=g.ia&128|d&-129));break;case 4194150:0>b?(d=f.m,f.m&=-129):(d=J(this,f.m,a,b,c),0<=d&&(d&64&&!f.Gb&&(setInterval(this.kc.bind(this),25),f.Gb=1),f.m=d&-129));break;default:return e.s|=16,K(e,4,126)}break;case 4194048:f=this.h;switch(a&-2){case 4194048:d=J(this,f.ib,a,b,c);0<=d&&(f.ib=d);break;case 4194050:d=J(this,f.T,a,b,c);0<=d&&
|
0<g.Eb.length&&(d=g.Eb.shift(),0<g.Eb.length&&setTimeout(function(){g.da|=128;g.da&64&&L(e,40,4,48)},50)));break;case 4194160:0>b?d=g.da:(d=M(this,g.da,a,b,c),0<=d&&(g.da=g.da&128|d&-129));break;case 4194150:0>b?(d=f.i,f.i&=-129):(d=M(this,f.i,a,b,c),0<=d&&(d&64&&!f.Db&&(setInterval(this.jc.bind(this),25),f.Db=1),f.i=d&-129));break;default:return e.m|=16,N(e,4,126)}break;case 4194048:f=this.l;switch(a&-2){case 4194048:d=M(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194050:d=M(this,f.O,a,b,c);0<=d&&
|
||||||
(f.T=d);break;case 4194052:d=J(this,f.w,a,b,c);0<=b&&0<=d&&(f.w=d&-36993|f.w&36992,f.w&1&&cb(this));break;case 4194054:d=J(this,f.jb,a,b,c);0<=d&&(f.jb=d);break;case 4194056:d=J(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194058:d=J(this,f.X,a,b,c);0<=d&&(f.X=d);break;case 4194060:break;case 4194062:d=J(this,f.Vb,a,b,c);0<=d&&(f.Vb=d);break;default:return e.s|=16,K(e,4,128)}break;case 4193728:var h=this.l;f=h.da&7;switch(a&-2){case 4193728:d=J(this,h.D,a,b,c);0<=b&&0<=d&&(h.Aa=h.Aa&60|d>>8&3,h.D=
|
(f.O=d);break;case 4194052:d=M(this,f.v,a,b,c);0<=b&&0<=d&&(f.v=d&-36993|f.v&36992,f.v&1&&bb(this));break;case 4194054:d=M(this,f.ib,a,b,c);0<=d&&(f.ib=d);break;case 4194056:d=M(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194058:d=M(this,f.T,a,b,c);0<=d&&(f.T=d);break;case 4194060:break;case 4194062:d=M(this,f.Ub,a,b,c);0<=d&&(f.Ub=d);break;default:return e.m|=16,N(e,4,128)}break;case 4193728:var h=this.u;f=h.Z&7;switch(a&-2){case 4193728:d=M(this,h.w,a,b,c);0<=b&&0<=d&&(h.xa=h.xa&60|d>>8&3,h.w=d&
|
||||||
d&17279|h.D&34944|2048,d&1&&h.D&128?gb(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,h.Xa,a,b,c);0<=d&&(h.Xa=d);break;case 4193732:d=J(this,h.Va,a,b,c);0<=d&&(h.Va=d&65534);break;case 4193734:d=J(this,h.ea[f],a,b,c);0<=d&&(h.ea[f]=d&7967);break;case 4193736:d=J(this,h.da,a,b,c);0<=d&&(h.da=d&63|h.da&65472,d&128&&fb(this));break;case 4193738:d=h.V[f];break;case 4193740:d=h.Wa[f];break;case 4193742:d=J(this,h.Oa,a,b,c);0<=d&&(h.Oa=d&255);break;case 4193744:d=h.xc[f];break;case 4193746:d=
|
17279|h.w&34944|2048,d&1&&h.w&128?fb(this,f):192==(d&192)&&L(e,0,5,172));break;case 4193730:d=M(this,h.Wa,a,b,c);0<=d&&(h.Wa=d);break;case 4193732:d=M(this,h.Ua,a,b,c);0<=d&&(h.Ua=d&65534);break;case 4193734:d=M(this,h.$[f],a,b,c);0<=d&&(h.$[f]=d&7967);break;case 4193736:d=M(this,h.Z,a,b,c);0<=d&&(h.Z=d&63|h.Z&65472,d&128&&eb(this));break;case 4193738:d=h.S[f];break;case 4193740:d=h.Va[f];break;case 4193742:d=M(this,h.Ka,a,b,c);0<=d&&(h.Ka=d&255);break;case 4193744:d=h.wc[f];break;case 4193746:d=
|
||||||
J(this,h.Wb,a,b,c);0<=d&&(h.Wb=d);break;case 4193748:d=J(this,h.Xb[f],a,b,c);0<=d&&(h.Xb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.yc[f];break;case 4193754:d=J(this,h.Yb[f],a,b,c);0<=d&&(h.Yb[f]=d);break;case 4193756:d=J(this,h.na[f],a,b,c);0<=d&&(h.na[f]=d&511);break;case 4193758:h.wb[f]=h.na[f];d=h.wb[f];break;case 4193760:d=h.vc[f];break;case 4193762:d=h.wc[f];break;case 4193764:d=h.tc[f];break;case 4193766:d=h.uc[f];break;case 4193768:d=J(this,h.Aa,a,b,c);0<=d&&(h.Aa=d&63,h.D=
|
M(this,h.Vb,a,b,c);0<=d&&(h.Vb=d);break;case 4193748:d=M(this,h.Wb[f],a,b,c);0<=d&&(h.Wb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.xc[f];break;case 4193754:d=M(this,h.Xb[f],a,b,c);0<=d&&(h.Xb[f]=d);break;case 4193756:d=M(this,h.ia[f],a,b,c);0<=d&&(h.ia[f]=d&511);break;case 4193758:h.tb[f]=h.ia[f];d=h.tb[f];break;case 4193760:d=h.uc[f];break;case 4193762:d=h.vc[f];break;case 4193764:d=h.sc[f];break;case 4193766:d=h.tc[f];break;case 4193768:d=M(this,h.xa,a,b,c);0<=d&&(h.xa=d&63,h.w=
|
||||||
h.D&-769|(d&3)<<8);break;case 4193770:d=J(this,h.Ib,a,b,c);0<=d&&(h.Ib=d);break;default:return e.s|=16,K(e,4,132)}break;case 4192512:f=this.i;switch(a&-2){case 4192512:d=J(this,f.m,a,b,c);0<=b&&0<=d&&(f.ua=f.ua&60|d>>4&3,f.m=f.m&-1023|d&1022,f.m&128||eb(this));break;case 4192514:d=J(this,f.ab,a,b,c);0<=d&&(f.ab=d&65534);break;case 4192516:d=J(this,f.J,a,b,c);0<=d&&(f.J=d);break;case 4192518:d=J(this,f.xa,a,b,c);0<=d&&(f.xa=d);break;case 4192520:d=J(this,f.ua,a,b,c);0<=d&&(f.ua=d&63,f.m=f.m&-49|(f.ua&
|
h.w&-769|(d&3)<<8);break;case 4193770:d=M(this,h.Fb,a,b,c);0<=d&&(h.Fb=d);break;default:return e.m|=16,N(e,4,132)}break;case 4192512:f=this.s;switch(a&-2){case 4192512:d=M(this,f.i,a,b,c);0<=b&&0<=d&&(f.oa=f.oa&60|d>>4&3,f.i=f.i&-1023|d&1022,f.i&128||db(this));break;case 4192514:d=M(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=M(this,f.F,a,b,c);0<=d&&(f.F=d);break;case 4192518:d=M(this,f.sa,a,b,c);0<=d&&(f.sa=d);break;case 4192520:d=M(this,f.oa,a,b,c);0<=d&&(f.oa=d&63,f.i=f.i&-49|(f.oa&
|
||||||
3)<<4);break;default:return e.s|=16,K(e,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.sa:(d=J(this,e.sa,a,b,c),0<=d&&(70!==e.Ka&&(d&=-49),e.sa=d,e.Ma[0]=d&4?15:7,e.Ma[1]=d&2?15:7,e.Ma[3]=d&1?15:7,e.Ua&&(f=2,e.sa&16&&(f=1),this.f.Ta=this.f.Ta&-8|f)));break;default:return e.s|=16,K(e,4,136)}break;case 4191424:f=a>>1&31;d=J(this,e.R[0][f],a,b,c);0<=d&&(e.R[0][f]=d,e.R[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=J(this,e.R[1][f],a,b,c);0<=d&&(e.R[1][f]=d,e.R[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==
|
3)<<4);break;default:return e.m|=16,N(e,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.ma:(d=M(this,e.ma,a,b,c),0<=d&&(70!==e.Ga&&(d&=-49),e.ma=d,e.Ia[0]=d&4?15:7,e.Ia[1]=d&2?15:7,e.Ia[3]=d&1?15:7,e.Ta&&(f=2,e.ma&16&&(f=1),this.g.Sa=this.g.Sa&-8|f)));break;default:return e.m|=16,N(e,4,136)}break;case 4191424:f=a>>1&31;d=M(this,e.N[0][f],a,b,c);0<=d&&(e.N[0][f]=d,e.N[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=M(this,e.N[1][f],a,b,c);0<=d&&(e.N[1][f]=d,e.N[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==
|
||||||
e.Ka)return K(e,4,234);f=a>>2&31;d=e.kb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=J(this,d,a,b,c),0<=d&&(e.kb[f]=a&2?d<<16|e.kb[f]&65535:e.kb[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.s|=16,K(e,4,138);break;default:return e.s|=16,K(e,4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};
|
e.Ga)return N(e,4,234);f=a>>2&31;d=e.jb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=M(this,d,a,b,c),0<=d&&(e.jb[f]=a&2?d<<16|e.jb[f]&65535:e.jb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Ya[a>>1&255];else return e.m|=16,N(e,4,138);break;default:return e.m|=16,N(e,4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};
|
||||||
var jb={},$a=(jb[65534]=[null,null,H.prototype.oc,H.prototype.Bc],jb[65396]=[null,null,H.prototype.pc,H.prototype.Dc],jb);u(function(){for(var a=B(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new H(d);A(d,c)}});var kb;if(Ia){var lb=new ArrayBuffer(2);(new DataView(lb)).setUint16(0,256,!0);kb=256===(new Uint16Array(lb))[0]}else kb=!1;var mb=kb;
|
var jb={},Za=(jb[65534]=[null,null,K.prototype.nc,K.prototype.Ac],jb[65396]=[null,null,K.prototype.oc,K.prototype.Cc],jb);v(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new K(d);B(d,c)}});var kb;if(Ha){var lb=new ArrayBuffer(2);(new DataView(lb)).setUint16(0,256,!0);kb=256===(new Uint16Array(lb))[0]}else kb=!1;var mb=kb;
|
||||||
function G(a,b,c,d,f){this.id=nb+=2;this.a=null;this.Sa=a;this.xb=b;this.size=c||0;this.type=d||ob;this.h=d==pb;this.controller=null;Pa(this);this.wa=this.fc=!1;if(c)if(f)this.controller=f,this.a=null,qb(this,f.Za);else if(Ia)this.f=new ArrayBuffer(c),this.g=new DataView(this.f,0,c),this.c=new Uint8Array(this.f,0,c),this.o=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),qb(this,mb?rb:sb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;qb(this,tb)}else qb(this)}
|
function J(a,b,c,d,f){this.id=nb+=2;this.a=null;this.Ra=a;this.ub=b;this.size=c||0;this.type=d||ob;this.g=d==pb;this.controller=null;Oa(this);this.ra=this.ec=!1;if(c)if(f)this.controller=f,this.a=null,qb(this,f.Ya);else if(Ha)this.b=new ArrayBuffer(c),this.j=new DataView(this.b,0,c),this.o=new Uint8Array(this.b,0,c),this.s=new Uint16Array(this.b,0,c>>1),this.a=new Int32Array(this.b,0,c>>2),qb(this,mb?rb:sb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;qb(this,tb)}else qb(this)}
|
||||||
var ob=0,pb=2,Va=4,Xa=["NONE","RAM","ROM","VID","H/W"],nb=0;
|
var ob=0,pb=2,Ua=4,Wa=["NONE","RAM","ROM","VID","H/W"],nb=0;
|
||||||
G.prototype={constructor:G,parent:null,Gb:function(a){this.Sa=a},save:function(){var a,b;if(this.controller)a=null;else if(Ia)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.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.wa=!0}return!1},C:function(){return 255},v:function(){},A:function(a,b){return this.gb(a++,b++)|this.gb(a,b)<<
|
J.prototype={constructor:J,parent:null,Db:function(a){this.Ra=a},save:function(){var a,b;if(this.controller)a=null;else if(Ha)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.j.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ha)for(b=0;b<a.length;b++)this.j.setInt32(b<<2,a[b],!0);else this.a=a;return this.ra=!0}return!1},u:function(){return 255},C:function(){},A:function(a,b){return this.fb(a++,b++)|this.fb(a,b)<<
|
||||||
8},B:function(a,b,c){this.lb(a++,b&255,c++);this.lb(a,b>>8,c)},$:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},qa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Ea:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.wa=!0},Ra: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.wa=!0},P:function(a,b){return this.W(a,
|
8},H:function(a,b,c){this.kb(a++,b&255,c++);this.kb(a,b>>8,c)},Y:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},za:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Da:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ra=!0},Qa:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ra=!0},P:function(a,b){return this.V(a,
|
||||||
b)},ca:function(a,b){return this.oa(a,b)},Ca:function(a,b,c){this.h||this.ac(a,b,c)},Ga:function(a,b,c){this.h||this.Ha(a,b,c)},H:function(a){return this.c[a]},Z:function(a){return this.c[a]},ba:function(a){return this.g.getUint16(a,!0)},pa:function(a){return a&1?this.c[a]|this.c[a+1]<<8:this.o[a>>1]},ra:function(a,b){this.c[a]=b;this.wa=!0},Da:function(a,b){this.c[a]=b;this.wa=!0},Fa:function(a,b){this.g.setUint16(a,b,!0);this.wa=!0},Qa:function(a,b){a&1?(this.c[a]=b,this.c[a+1]=b>>8):this.o[a>>
|
b)},ca:function(a,b){return this.ja(a,b)},Ba:function(a,b,c){this.g||this.$b(a,b,c)},Na:function(a,b,c){this.g||this.Oa(a,b,c)},K:function(a){return this.o[a]},W:function(a){return this.o[a]},ba:function(a){return this.j.getUint16(a,!0)},ka:function(a){return a&1?this.o[a]|this.o[a+1]<<8:this.s[a>>1]},Aa:function(a,b){this.o[a]=b;this.ra=!0},Ca:function(a,b){this.o[a]=b;this.ra=!0},Ma:function(a,b){this.j.setUint16(a,b,!0);this.ra=!0},Pa:function(a,b){a&1?(this.o[a]=b,this.o[a+1]=b>>8):this.s[a>>
|
||||||
1]=b;this.wa=!0}};function Pa(a,b,c){a.K=b;a.i=a.l=0;c&&((a.i=c.i)&&ub(a,vb,!1),(a.l=c.l)&&wb(a,vb,!1))}function wb(a,b,c){c&&a.l||(a.lb=!a.h&&b[1]||a.v,a.Cc=!a.h&&b[3]||a.B);if(c||void 0===c)a.ac=b[1]||a.v,a.Ha=b[3]||a.B}function ub(a,b,c){c&&a.i||(a.gb=b[0]||a.C,a.ub=b[2]||a.A);if(c||void 0===c)a.W=b[0]||a.C,a.oa=b[2]||a.A}function qb(a,b){b||(b=xb);ub(a,b,void 0);wb(a,b,void 0)}
|
1]=b;this.ra=!0}};function Oa(a,b,c){a.G=b;a.h=a.l=0;c&&((a.h=c.h)&&ub(a,vb,!1),(a.l=c.l)&&wb(a,vb,!1))}function wb(a,b,c){c&&a.l||(a.kb=!a.g&&b[1]||a.C,a.Bc=!a.g&&b[3]||a.H);if(c||void 0===c)a.$b=b[1]||a.C,a.Oa=b[3]||a.H}function ub(a,b,c){c&&a.h||(a.fb=b[0]||a.u,a.qb=b[2]||a.A);if(c||void 0===c)a.V=b[0]||a.u,a.ja=b[2]||a.A}function qb(a,b){b||(b=xb);ub(a,b,void 0);wb(a,b,void 0)}
|
||||||
var xb=[],tb=[G.prototype.$,G.prototype.Ea,G.prototype.qa,G.prototype.Ra],vb=[G.prototype.P,G.prototype.Ca,G.prototype.ca,G.prototype.Ga];if(Ia)var sb=[G.prototype.H,G.prototype.ra,G.prototype.ba,G.prototype.Fa],rb=[G.prototype.Z,G.prototype.Da,G.prototype.pa,G.prototype.Qa];
|
var xb=[],tb=[J.prototype.Y,J.prototype.Da,J.prototype.za,J.prototype.Qa],vb=[J.prototype.P,J.prototype.Ba,J.prototype.ca,J.prototype.Na];if(Ha)var sb=[J.prototype.K,J.prototype.Aa,J.prototype.ba,J.prototype.Ma],rb=[J.prototype.W,J.prototype.Ca,J.prototype.ka,J.prototype.Pa];
|
||||||
function yb(a,b){v.call(this,"CPU",a,yb);var c=a.multiplier||1;this.Bb=a.cycles||b;this.qa=c;this.Ab=Math.round(this.Bb/1E4)/100;this.oa=this.Ab*this.qa;this.j.ja=!1;this.j.Zb=!1;this.j.$a=a.autoStart;this.j.Qb=!1;this.j.pb=!1;this.mb=this.pa=0;this.nb=a.csStart;this.Da=a.csInterval;this.Ea=a.csStop;this.Qa=[];this.Tb=this.Jb.bind(this);C(this)}x(yb);var zb=["power","reset"];l=yb.prototype;
|
function yb(a,b){w.call(this,"CPU",a,yb);var c=a.multiplier||1;this.yb=a.cycles||b;this.ja=c;this.xb=Math.round(this.yb/1E4)/100;this.ba=this.xb*this.ja;this.f.ea=!1;this.f.Yb=!1;this.f.Za=a.autoStart;this.f.Qb=!1;this.f.lb=!1;this.Oa=this.ca=0;this.Pa=a.csStart;this.Aa=a.csInterval;this.Ba=a.csStop;this.Ma=[];this.Pb=this.Gb.bind(this);D(this)}y(yb);var zb=["power","reset"];l=yb.prototype;
|
||||||
l.La=function(a,b,c,d){this.B=a;this.A=b;this.K=d;for(b=0;b<zb.length;b++)(c=this.C[zb[b]])&&this.B.fa(null,zb[b],c);this.Ca=null;a=Ab(a,"autoStart");null!=a&&(this.j.$a="true"==a?!0:"false"==a?!1:!!a);C(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.za=function(a,b){if(!b){if(a&&this.restore){Bb(this);if(!this.restore(a))return!1;Cb(this)}else this.reset();this.N("No debugger detected")}Db(this);return!0};l.ya=function(a){return a?this.save():!0};
|
l.Ha=function(a,b,c,d){this.g=a;this.j=b;this.G=d;for(b=0;b<zb.length;b++)(c=this.o[zb[b]])&&this.g.aa(null,zb[b],c);this.za=null;a=Ab(a,"autoStart");null!=a&&(this.f.Za="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.ua=function(a,b){if(!b){if(a&&this.restore){Bb(this);if(!this.restore(a))return!1;Cb(this)}else this.reset();this.J("No debugger detected")}Db(this);return!0};l.ta=function(a){return a?this.save():!0};
|
||||||
l.$a=function(){return this.j.$a||void 0===this.C.run?(this.Jb(),!0):!1};l.Ub=function(){return 0};function Cb(a){void 0===a.nb&&(a.nb=0);void 0===a.Da&&(a.Da=-1);void 0===a.Ea&&(a.Ea=-1);a.j.pb=0<=a.nb&&0<a.Da;a.j.pb&&(a.mb=0,a.pa=a.nb-a.ca)}function Eb(a,b,c,d){if(a.C[b]){void 0===c&&(a.j.error=!0,a.L("Value for "+b+" is invalid"),Fb(a));var f=a.K&&a.K.c||8;c=!a.j.ja||a.j.Qb?8==f?ba(c,d):n(c,d):"--------".substr(0,d||4);a.C[b].textContent!=c&&(a.C[b].textContent=c)}}
|
l.Za=function(){return this.f.Za||void 0===this.o.run?(this.Gb(),!0):!1};l.Tb=function(){return 0};function Cb(a){void 0===a.Pa&&(a.Pa=0);void 0===a.Aa&&(a.Aa=-1);void 0===a.Ba&&(a.Ba=-1);a.f.lb=0<=a.Pa&&0<a.Aa;a.f.lb&&(a.Oa=0,a.ca=a.Pa-a.W)}function O(a,b,c,d){if(a.o[b]){void 0===c&&(a.f.error=!0,a.L("Value for "+b+" is invalid"),P(a));var f=a.G&&a.G.b||8;c=!a.f.ea||a.f.Qb?8==f?n(c,d):q(c,d):"--------".substr(0,d||4);a.o[b].textContent!=c&&(a.o[b].textContent=c)}}
|
||||||
l.fa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.C[b]=c;a=!0;break;case "run":this.C[b]=c;c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.j.M)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.j.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.j.M);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.qb?" (waiting for notification)":""))+".");a=!1}a&&(d.j.ja?Fb(d):d.Jb())};a=!0;
|
l.aa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.o[b]=c;a=!0;break;case "run":this.o[b]=c;c.onclick=function(){var a;if(a=d.g)if(a=d.g,a.f.M)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.f.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.f.M);c++);c==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.f.ready?"powered yet":"ready yet"+(b.mb?" (waiting for notification)":""))+".");a=!1}a&&(d.f.ea?P(d):d.Gb())};a=!0;
|
||||||
break;case "speed":this.C[b]=c;a=!0;break;case "setSpeed":this.C[b]=c,c.onclick=function(){Gb(d,d.qa<<1)},c.textContent=this.oa.toFixed(2)+"Mhz",a=!0}return a};function Hb(a,b,c){a.ca+=b;c&&(a.ba=a.a=0)}function Ib(a,b){var c=1;b&&1<a.qa&&a.Z&&(c=a.Z/a.Ab);a.Pb=Math.round(1E3/30);a.ob=Math.floor(a.Bb/30*c);b||(a.Fa=a.ob);a.Cb=0}function Jb(a){return a.ca+a.W+a.ba-a.a}function Bb(a){a.Z=0;a.Sb=0;a.ca=a.W=a.ba=a.a=0;Cb(a);Gb(a,1)}
|
break;case "speed":this.o[b]=c;a=!0;break;case "setSpeed":this.o[b]=c,c.onclick=function(){Eb(d,d.ja<<1)},c.textContent=this.ba.toFixed(2)+"Mhz",a=!0}return a};function Fb(a,b,c){a.W+=b;c&&(a.C=a.a=0)}function Gb(a,b){var c=1;b&&1<a.ja&&a.P&&(c=a.P/a.xb);a.Mb=Math.round(1E3/30);a.Qa=Math.floor(a.yb/30*c);b||(a.Ca=a.Qa);a.zb=0}function Hb(a){return a.W+a.K+a.C-a.a}function Bb(a){a.P=0;a.Nb=0;a.W=a.K=a.C=a.a=0;Cb(a);Eb(a,1)}
|
||||||
function Gb(a,b){if(void 0!==b&&(.8>a.Z/a.oa&&(b=1),a.qa=b,b=a.Ab*a.qa,a.oa!=b)){a.oa=b;b=a.oa.toFixed(2)+"Mhz";var c=a.C.setSpeed;c&&(c.textContent=b);a.N("target speed: "+b)}Hb(a,a.W);a.W=0;a.P=ia();a.$=0;Ib(a)}function Kb(a){a.ba-=a.a;a.a=0}
|
function Eb(a,b){if(void 0!==b&&(.8>a.P/a.ba&&(b=1),a.ja=b,b=a.xb*a.ja,a.ba!=b)){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var c=a.o.setSpeed;c&&(c.textContent=b);a.J("target speed: "+b)}Fb(a,a.K);a.K=0;a.H=ha();a.V=0;Gb(a)}
|
||||||
l.Jb=function(){if(Ga(this,!0)){if(!this.j.ja){Gb(this);this.B&&this.B.start(this.P,Jb(this));this.j.ja=!0;this.j.Zb=!0;this.Ca&&this.Ca.start();var a=this.C.run;a&&(a.textContent="Halt");this.B&&this.B.Pa(!0)}this.Cb>=this.Bb&&Ib(this,!0);this.Ga=0;this.Ra=ia();this.$&&(a=this.Ra-this.$,a>this.Pb&&(this.P+=a,this.P>this.Ra&&(this.P=this.Ra)));try{do{for(var b,c=this.j.pb?1:this.ob,d=this.Qa.length-1;0<=d;d--){var f=this.Qa[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.$b(b)}catch(m){if("number"!=typeof m)throw m;
|
l.Gb=function(){if(Fa(this,!0)){if(!this.f.ea){Eb(this);this.g&&this.g.start(this.H,Hb(this));this.f.ea=!0;this.f.Yb=!0;this.za&&this.za.start();var a=this.o.run;a&&(a.textContent="Halt");this.g&&this.g.La(!0)}this.zb>=this.yb&&Gb(this,!0);this.Da=0;this.Na=ha();this.V&&(a=this.Na-this.V,a>this.Mb&&(this.H+=a,this.H>this.Na&&(this.H=this.Na)));try{do{for(var b,c=this.f.lb?1:this.Qa,d=this.Ma.length-1;0<=d;d--){var f=this.Ma[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Zb(b)}catch(m){if("number"!=typeof m)throw m;
|
||||||
}for(var e=this.ba-this.a,a=e,g=this.Qa.length-1;0<=g;g--){var h=this.Qa[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ga+=e;this.W+=e;Hb(this,0,!0);a=e;if(this.j.pb){var k=!1;this.mb=this.mb+this.Ub()|0;this.pa-=a;0>=this.pa&&(this.pa+=this.Da,k=!0);0<=this.Ea&&this.Ea<=Jb(this)&&(this.Da=this.Ea=-1,Cb(this),Fb(this),k=!0);k&&this.N(Jb(this)+" cycles: checksum="+n(this.mb))}this.Fa-=e;if(0>=this.Fa){this.Fa+=this.ob;15<=++this.Sb&&(this.B&&this.B.Pa(),this.Sb=0);break}}while(this.j.ja)}catch(m){Fb(this);
|
}for(var e=this.C-this.a,a=e,g=this.Ma.length-1;0<=g;g--){var h=this.Ma[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Da+=e;this.K+=e;Fb(this,0,!0);a=e;if(this.f.lb){var k=!1;this.Oa=this.Oa+this.Tb()|0;this.ca-=a;0>=this.ca&&(this.ca+=this.Aa,k=!0);0<=this.Ba&&this.Ba<=Hb(this)&&(this.Aa=this.Ba=-1,Cb(this),P(this),k=!0);k&&this.J(Hb(this)+" cycles: checksum="+q(this.Oa))}this.Ca-=e;if(0>=this.Ca){this.Ca+=this.Qa;15<=++this.Nb&&(this.g&&this.g.La(),this.Nb=0);break}}while(this.f.ea)}catch(m){P(this);
|
||||||
Db(this);this.B&&this.B.stop(ia(),Jb(this));Ga(this,!1);b=m.stack||m.message;this.j.error=!0;this.L(b);return}b=setTimeout;c=this.Tb;this.$=ia();d=this.Pb;this.Ga&&(d=Math.round(d*this.Ga/this.ob));d-=this.$-this.Ra;if(f=this.$-this.P)this.Z=Math.round(this.W/(10*f))/100,864E5<=f&&(this.ca=0,Gb(this));if(0>d||this.Z<this.oa)-1E3>d&&(this.P-=d),d=0;this.Cb+=this.Ga;this.$+=d;b(c,d)}else Db(this),this.B&&this.B.stop(ia(),Jb(this))};l.$b=function(){return 0};
|
Db(this);this.g&&this.g.stop(ha(),Hb(this));Fa(this,!1);b=m.stack||m.message;this.f.error=!0;this.L(b);return}b=setTimeout;c=this.Pb;this.V=ha();d=this.Mb;this.Da&&(d=Math.round(d*this.Da/this.Qa));d-=this.V-this.Na;if(f=this.V-this.H)this.P=Math.round(this.K/(10*f))/100,864E5<=f&&(this.W=0,Eb(this));if(0>d||this.P<this.ba)-1E3>d&&(this.H-=d),d=0;this.zb+=this.Da;this.V+=d;b(c,d)}else Db(this),this.g&&this.g.stop(ha(),Hb(this))};l.Zb=function(){return 0};
|
||||||
function Fb(a){a.j.bb&&(a.j.Db=!0);Kb(a);Hb(a,a.W);a.W=0;if(a.j.ja){a.j.ja=!1;a.Ca&&a.Ca.stop();var b=a.C.run;b&&(b.textContent="Run")}a.j.complete=void 0}function Db(a){a.B&&a.B.Pa(void 0)}
|
function P(a){a.f.ab&&(a.f.Ab=!0);a.C-=a.a;a.a=0;Fb(a,a.K);a.K=0;if(a.f.ea){a.f.ea=!1;a.za&&a.za.stop();var b=a.o.run;b&&(b.textContent="Run")}a.f.complete=void 0}function Db(a){a.g&&a.g.La(void 0)}
|
||||||
function Lb(a){this.jc=a.resetAddr||0;yb.call(this,a,1E6);this.Kb=0;this.decode=Mb.bind(this);this.g=65536;this.f=32768;this.h=65535;this.c=32768;this.b=[0,0,0,0,0,0,0,this.jc];this.Na=[0,0,0,0,0,0];this.aa=[0,0,0,0];this.ma=255;this.rb=this.eb=this.Ua=this.v=this.sa=this.Ya=this.ga=this.I=this.s=this.vb=0;this.Ma=[7,7,7,7];this.R=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,
|
function Ib(a){this.gc=a.resetAddr||0;yb.call(this,a,1E6);this.Jb=0;this.decode=Jb.bind(this);this.A=65536;this.s=32768;this.u=65535;this.l=32768;this.c=[0,0,0,0,0,0,0,this.gc];this.Ja=[0,0,0,0,0,0];this.wa=[0,0,0,0];this.ha=255;this.nb=this.cb=this.Ta=this.h=this.ma=this.Xa=this.la=this.I=this.m=this.sb=0;this.Ia=[7,7,7,7];this.N=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,
|
||||||
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.kb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Fb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.i=-1;this.F=0;this.Ka=70;this.ra=-1;this.o=[];this.Ha=0;this.la=2;Nb(this);this.j.complete=this.j.dc=!1}x(Lb,yb);l=Lb.prototype;
|
65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.jb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Cb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.B=0;this.Ga=70;this.ka=-1;this.b=[];this.Sb=0;this.va=2;Kb(this);this.f.complete=this.f.cc=!1}y(Ib,yb);l=Ib.prototype;
|
||||||
l.reset=function(){this.j.ja&&Fb(this);Ob(this);Bb(this);this.j.error=!1;this.parent.reset.call(this)};function Ob(a){a.ma=255;a.s=0;a.o=[];a.vb=0;a.I=a.ga=a.Ya=a.sa=a.Ua=0;a.Ma[0]=a.Ma[1]=a.Ma[3]=7;a.eb=0;Nb(a)}function Nb(a){a.Ua?(a.H=65536,a.l=a.ic,a.ub=a.S):(a.H=0,a.l=a.hc,a.ub=a.O)}l.Ub=function(){return 0};l.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.Nb,this.ca,this.qa]);a.set(2,Ya(this.A));return a.data()};
|
l.reset=function(){this.f.ea&&P(this);Lb(this);Bb(this);this.f.error=!1;this.parent.reset.call(this)};function Lb(a){a.ha=255;a.m=0;a.b=[];a.sb=0;a.I=a.la=a.Xa=a.ma=a.Ta=0;a.Ia[0]=a.Ia[1]=a.Ia[3]=7;a.cb=0;Kb(a)}function Kb(a){a.Ta?(a.Ib=65536,a.Y=a.ic,a.qb=a.ga):(a.Ib=0,a.Y=a.hc,a.qb=a.rb)}l.Tb=function(){return 0};l.save=function(){var a=new Q(this);a.set(0,[]);a.set(1,[this.Lb,this.W,this.ja]);a.set(2,Xa(this.j));return a.data()};
|
||||||
l.restore=function(a){var b=a[1];this.Nb=b[0];this.ca=b[1];Gb(this,b[3]);a:{b=this.A;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.B){for(var e=0,g=Array(b.B),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.c[d];if(!e||!e.restore(f)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
l.restore=function(a){var b=a[1];this.Lb=b[0];this.W=b[1];Eb(this,b[3]);a:{b=this.j;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.H){for(var e=0,g=Array(b.H),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.b[d];if(!e||!e.restore(f)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||||
l.fa=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.C[b]=c;this.Kb++;a=!0;break;default:a=this.parent.fa.call(this,a,b,c)}return a};
|
l.aa=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.o[b]=c;this.Jb++;a=!0;break;default:a=this.parent.aa.call(this,a,b,c)}return a};
|
||||||
l.Pa=function(a){if(this.Kb&&(a||!this.j.ja||this.j.Qb)){for(a=0;a<this.b.length;a++)Eb(this,"R"+a,this.b[a]);a=ab(this);Eb(this,"PS",a);Eb(this,"NF",a&8?1:0,1);Eb(this,"ZF",a&4?1:0,1);Eb(this,"VF",a&2?1:0,1);Eb(this,"CF",a&1?1:0,1)}if(a=this.C.speed)a.textContent=this.j.ja&&this.Z?this.Z.toFixed(2)+"Mhz":"Stopped"};
|
l.La=function(a){if(this.Jb&&(a||!this.f.ea||this.f.Qb)){for(a=0;a<this.c.length;a++)O(this,"R"+a,this.c[a]);a=$a(this);O(this,"PS",a);O(this,"NF",a&8?1:0,1);O(this,"ZF",a&4?1:0,1);O(this,"VF",a&2?1:0,1);O(this,"CF",a&1?1:0,1)}if(a=this.o.speed)a.textContent=this.f.ea&&this.P?this.P.toFixed(2)+"Mhz":"Stopped"};
|
||||||
function I(a,b,c,d,f){for(var e=a.o.length;0<e--;)if(a.o[e].Ac===d){0<e&&(a.o[e-1].ha+=a.o[e].ha);a.o.splice(e,1);break}if(0<=b){2===a.Ha&&(b=0,a.Ha=0,setTimeout(a.Tb,0));for(e=a.o.length;0<e--;){if(a.o[e].ha>b){a.o[e].ha-=b;break}b-=a.o[e].ha}a.o.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.la=2}function ab(a){return a.u=a.u&63728|(a.c&32768?8:0)|(a.h&65535?0:4)|(a.f&32768?2:0)|(a.g&65536?1:0)}
|
function L(a,b,c,d,f){for(var e=a.b.length;0<e--;)if(a.b[e].zc===d){0<e&&(a.b[e-1].qa+=a.b[e].qa);a.b.splice(e,1);break}if(0<=b){2===a.Sb&&(b=0,a.Sb=0,setTimeout(a.Pb,0));for(e=a.b.length;0<e--;){if(a.b[e].qa>b){a.b[e].qa-=b;break}b-=a.b[e].qa}a.b.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.va=2}function $a(a){return a.X=a.X&63728|(a.l&32768?8:0)|(a.u&65535?0:4)|(a.s&32768?2:0)|(a.A&65536?1:0)}
|
||||||
function bb(a,b){a.c=b<<12;a.h=~b&4;a.f=b<<14;a.g=b<<16;if((b^a.u)&2048)for(var c=a.Na.length;0<=--c;){var d=a.b[c];a.b[c]=a.Na[c];a.Na[c]=d}a.v=b>>14&3;c=a.u>>14&3;a.v!=c&&(a.aa[c]=a.b[6],a.b[6]=a.aa[a.v]);a.la=2;a.u=b}function Pb(a,b){a.F&128||(a.c=a.h=a.g=b,a.f=0)}function P(a,b){a.F&128||(a.c=a.h=b,a.f=0)}function Qb(a,b,c,d){a.F&128||(a.c=a.h=a.g=b,a.f=(c^d)&(d^b))}
|
function ab(a,b){a.l=b<<12;a.u=~b&4;a.s=b<<14;a.A=b<<16;if((b^a.X)&2048)for(var c=a.Ja.length;0<=--c;){var d=a.c[c];a.c[c]=a.Ja[c];a.Ja[c]=d}a.h=b>>14&3;c=a.X>>14&3;a.h!=c&&(a.wa[c]=a.c[6],a.c[6]=a.wa[a.h]);a.va=2;a.X=b}function Mb(a,b){a.B&128||(a.l=a.u=a.A=b,a.s=0)}function R(a,b){a.B&128||(a.l=a.u=b,a.s=0)}function Nb(a,b,c,d){a.B&128||(a.l=a.u=a.A=b,a.s=(c^d)&(d^b))}
|
||||||
function K(a,b,c){var d,f,e=0;0>a.ra?a.ra=ab(a):a.v||(b=4,e=1);a.I&57344||(a.ga=63222,a.Ya=b);a.v=0;0<=(d=a.S(b|65536))&&0<=(f=a.S(b+2&65535|65536))&&(bb(a,f&53247|a.ra>>2&12288),e&&(a.s|=4,a.b[6]=4),0<=Q(a,a.ra)&&0<=Q(a,a.b[7])&&(a.b[7]=d));a.F&=-113;a.ra=-1;throw b|c<<8;}function ib(a,b){var c=b>>13&31;31>c?a.sa&32&&(b=a.kb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
function N(a,b,c){var d=!1;0>a.ka?a.ka=$a(a):a.h||(b=4,d=!0);a.I&57344||(a.la=63222,a.Xa=b);a.h=0;var f=a.ga(b|65536),e=a.ga(b+2&65535|65536);ab(a,e&53247|a.ka>>2&12288);d&&(a.m|=4,a.c[6]=4);Ob(a,a.ka);Ob(a,a.c[7]);a.c[7]=f;a.B&=-113;a.ka=-1;throw b|c<<8;}function ib(a,b){var c=b>>13&31;31>c?a.ma&32&&(b=a.jb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||||
function Rb(a,b,c){var d,f,e,g=0;if(c&a.Ua){d=b>>13&a.Ma[a.v];f=a.R[a.v][d];e=(a.R[a.v][d+16]<<6)+(b&8191)&4194303;a.sa&16?3932160<=e&&4186112>e&&(e=ib(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.s|=32,K(a,4,24)),e&1&&!(c&1)&&(a.s|=64,K(a,4,26)));switch(f&7){case 1:g=4096;case 2:f|=128;c&D&&(g=8192);break;case 4:g=4096;case 5:c&D&&(g=4096);case 6:f|=c&D?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&
|
function Pb(a,b,c){var d,f,e,g=0;if(c&a.Ta){d=b>>13&a.Ia[a.h];f=a.N[a.h][d];e=(a.N[a.h][d+16]<<6)+(b&8191)&4194303;a.ma&16?3932160<=e&&4186112>e&&(e=ib(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.m|=32,N(a,4,24)),e&1&&!(c&1)&&(a.m|=64,N(a,4,26)));switch(f&7){case 1:g=4096;case 2:f|=128;c&H&&(g=8192);break;case 4:g=4096;case 5:c&H&&(g=4096);case 6:f|=c&H?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&
|
||||||
(g|=16384));a.R[a.v][d]=f;if(4194170!==e||a.v)a.eb=a.v,a.rb=d;g&&(g&57344&&(0<=a.ra&&(g|=128),a.I&57344||(a.I=a.I|g|a.eb<<5|a.rb<<1),K(a,168,28)),a.I&61440||!(4191360>e||4194239<e)||(a.I|=4096,a.I&512&&(a.F|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.s|=64,K(a,4,22));return e}l.O=function(a){if(4194304<=a)a=this.b[a-4194304];else if(0<=a){var b=this.A,c=a&b.h,d=(a&b.i)>>>b.f;a=c!=b.h?b.c[d].ub(c,a):b.c[d++].gb(c,a)|b.c[d&b.H].gb(0,a+1)<<8}return a};
|
(g|=16384));a.N[a.h][d]=f;if(4194170!==e||a.h)a.cb=a.h,a.nb=d;g&&(g&57344&&(0<=a.ka&&(g|=128),a.I&57344||(a.I=a.I|g|a.cb<<5|a.nb<<1),N(a,168,28)),a.I&61440||!(4191360>e||4194239<e)||(a.I|=4096,a.I&512&&(a.B|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.m|=64,N(a,4,22));return e}l.rb=function(a){if(4194304<=a)a=this.c[a-4194304];else if(0<=a){var b=this.j,c=a&b.h,d=(a&b.l)>>>b.j;a=c!=b.h?b.b[d].qb(c,a):b.b[d++].fb(c,a)|b.b[d&b.K].fb(0,a+1)<<8}return a};
|
||||||
l.S=function(a){return this.O(Rb(this,a,Ja))};function M(a,b,c){c&=65535;if(4194304<=b)return a.b[b-4194304]=c;if(0<=b){a=a.A;var d=c,f=b&a.h,e=(b&a.i)>>>a.f;f!=a.h?a.c[e].Cc(f,d&65535,b):(a.c[e++].lb(f,d&255,b),a.c[e&a.H].lb(0,d>>8&255,b+1));return c}return b}function R(a,b){4194304<=b?b=a.b[b-4194304]&255:0<=b&&(a=a.A,b=a.c[(b&a.i)>>>a.f].gb(b&a.h,b));return b}function S(a,b,c){c&=255;return 4194304<=b?a.b[b-4194304]=a.b[b-4194304]&65280|c:0<=b?(a=a.A,a.c[(b&a.i)>>>a.f].lb(b&a.h,c&255,b),c):b}
|
l.ga=function(a){return this.rb(Pb(this,a,F))};function hb(a,b,c){c&=65535;if(4194304<=b)return a.c[b-4194304]=c;if(0<=b){a=a.j;var d=c,f=b&a.h,e=(b&a.l)>>>a.j;f!=a.h?a.b[e].Bc(f,d&65535,b):(a.b[e++].kb(f,d&255,b),a.b[e&a.K].kb(0,d>>8&255,b+1));return c}return b}function Qb(a,b){4194304<=b?b=a.c[b-4194304]&255:0<=b&&(a=a.j,b=a.b[(b&a.l)>>>a.j].fb(b&a.h,b));return b}function Rb(a,b,c){c&=255;4194304<=b?a.c[b-4194304]=a.c[b-4194304]&65280|c:0<=b&&(a=a.j,a.b[(b&a.l)>>>a.j].kb(b&a.h,c&255,b))}
|
||||||
function Sb(a){var b=a.S(a.b[6]|65536);0<=b&&(a.b[6]=a.b[6]+2&65535);return b}function Q(a,b){var c,d;a.b[6]=d=a.b[6]-2&65535;a.I&57344||(a.ga=a.ga<<8|246);!a.v&&d<=a.ma&&4<d&&(d<=a.ma-32?(a.s|=4,a.b[6]=4,K(a,4,32)):(a.s|=8,a.F|=4));return 0<=(c=Rb(a,d|65536,D))?M(a,c,b):c}
|
function Ob(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.I&57344||(a.la=a.la<<8|246);!a.h&&c<=a.ha&&4<c&&(c<=a.ha-32?(a.m|=4,a.c[6]=4,N(a,4,32)):(a.m|=8,a.B|=4));c=Pb(a,c|65536,H);hb(a,c,b)}
|
||||||
function T(a,b,c){var d,f,e=b&7;switch(b>>3&7){case 0:K(a,4,34);break;case 1:return 6===e&&!a.v&&c&D&&(a.b[6]<=a.ma||65534<=a.b[6])&&(a.b[6]<=a.ma-32||65534<=a.b[6]?(a.s|=4,a.b[6]=4,K(a,4,36)):(a.s|=8,a.F|=64)),7===e?a.b[e]:a.b[e]|a.H;case 2:f=2;d=a.b[e];7!==e&&(d|=a.H,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.b[e];7!==e&&(d|=a.H);if(0>(d=a.S(d)))return d;d|=a.H;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.b[e]+f&65535;7!==e&&(d|=a.H);break;case 5:f=-2;d=a.b[e]-2&65535;7!==e&&(d|=a.H);if(0>(d=a.S(d)))return d;
|
function Sb(a,b,c){var d,f,e=b&7,g=c&8?0:a.Ib;switch(b>>3&7){case 0:N(a,4,34);break;case 1:return 6===e&&!a.h&&c&H&&(a.c[6]<=a.ha||65534<=a.c[6])&&(a.c[6]<=a.ha-32||65534<=a.c[6]?(a.m|=4,a.c[6]=4,N(a,4,36)):(a.m|=8,a.B|=64)),7===e?a.c[e]:a.c[e]|g;case 2:f=2;d=a.c[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.c[e];7!==e&&(d|=g);if(0>(d=a.ga(d)))return d;d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.c[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.c[e]-2&65535;7!==e&&(d|=g);if(0>(d=a.ga(d)))return d;
|
||||||
d|=a.H;break;case 6:if(0>(d=a.S(a.b[7])))return d;a.b[7]=a.b[7]+2&65535;d=d+a.b[e]&65535;return d|a.H;case 7:if(0>(d=a.S(a.b[7])))return d;a.b[7]=a.b[7]+2&65535;d=d+a.b[e]&65535;return 0>(d=a.S(d|65536))?d:d|a.H}a.b[e]=a.b[e]+f&65535;!a.H||a.I&57344||(a.ga=a.ga<<8|f<<3&248|e);6===e&&!a.v&&c&D&&0>=f&&(a.b[6]<=a.ma||65534<=a.b[6])&&(a.b[6]<=a.ma-32?(a.s|=4,a.b[6]=4,K(a,4,38)):(a.s|=8,a.F|=64));return d}l.hc=function(a,b){return T(this,a,b)};l.ic=function(a,b){return Rb(this,T(this,a,b),b)};
|
d|=g;break;case 6:if(0>(d=a.ga(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return d|g;case 7:if(0>(d=a.ga(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return 0>(d=a.ga(d|65536))?d:d|g}a.c[e]=a.c[e]+f&65535;!g||a.I&57344||(a.la=a.la<<8|f<<3&248|e);6===e&&!a.h&&c&H&&0>=f&&(a.c[6]<=a.ha||65534<=a.c[6])&&(a.c[6]<=a.ha-32?(a.m|=4,a.c[6]=4,N(a,4,38)):(a.m|=8,a.B|=64));return d}l.hc=function(a,b){return Sb(this,a,b)};l.ic=function(a,b){return Pb(this,Sb(this,a,b),b)};
|
||||||
function U(a,b){return b&56?a.ub(T(a,b,Ja)):a.b[b&7]}function V(a,b){return b&56?R(a,a.l(b,Ka)):a.b[b&7]&255}function Tb(a,b,c,d){b&56?(b=a.l(b,E),M(a,b,d.call(a,c,a.O(b)))):(b&=7,a.b[b]=d.call(a,c,a.b[b])&65535)}function Ub(a,b,c,d){b&56?(b=a.l(b,F),S(a,b,d.call(a,c,R(a,b)))):(b&=7,a.b[b]=a.b[b]&65280|d.call(a,c,a.b[b])&255)}function Vb(a,b,c){b&56?M(a,a.l(b,D),c):a.b[b&7]=c&65535;return c}
|
function S(a,b){return b&56?a.qb(Sb(a,b,F)):a.c[b&7]}function T(a,b){return b&56?Qb(a,a.Y(b,Ja)):a.c[b&7]&255}function Tb(a,b,c,d){b&56?(b=a.Y(b,Ia),hb(a,b,d.call(a,c,a.rb(b)))):(b&=7,a.c[b]=d.call(a,c,a.c[b])&65535)}function Ub(a,b,c,d){b&56?(b=a.Y(b,La),Rb(a,b,d.call(a,c,Qb(a,b)))):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b])&255)}function Vb(a,b,c){b&56?hb(a,a.Y(b,H),c):a.c[b&7]=c&65535;return c}
|
||||||
function Wb(a,b,c,d){b&56?S(a,a.l(b,La),c):(b&=7,a.b[b]=c?d&1?c<<24>>24&65535:a.b[b]&-256|c&255:a.b[b]&-256);return c}function W(a,b){return((b&128?b|65280:b&255)<<1)+a&65535}
|
function Wb(a,b,c,d){b&56?Rb(a,a.Y(b,Ka),c):(b&=7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}
|
||||||
l.$b=function(a){this.j.complete=!0;this.j.dc=!1;this.j.Zb=!1;this.ba=this.a=a;this.Nb&256?(Kb(this),a=!1):a=!0;if(a){do{var b,c,d,f;this.F&112&&(this.F&32?K(this,168,52):this.F&64?K(this,4,54):this.F&16&&K(this,12,56),this.F&=-113);if(this.la)if(1===this.la)this.la=2;else{this.la=0;b=-1;c=this.vb&224;if(0<(a=this.o.length))for(;0<a--;){if(0<this.o[a].ha){this.o[a].ha--;this.la=2;break}if(this.o[a].Ob){if(!this.o[a].Ob()){this.o.splice(a,1);b--;continue}this.o[a].Ob=null}this.o[a].nc>c&&(c=this.o[a].nc,
|
l.Zb=function(a){this.f.complete=!0;this.f.cc=!1;this.f.Yb=!1;this.C=this.a=a;this.Lb&256?(this.C-=this.a,this.a=0,a=!1):a=!0;if(a){do{var b,c;this.B&112&&(this.B&32?N(this,168,52):this.B&64?N(this,4,54):this.B&16&&N(this,12,56),this.B&=-113);if(this.va)if(1===this.va)this.va=2;else{this.va=0;c=-1;a=this.sb&224;if(0<(b=this.b.length))for(;0<b--;){if(0<this.b[b].qa){this.b[b].qa--;this.va=2;break}if(this.b[b].Ob){if(!this.b[b].Ob()){this.b.splice(b,1);c--;continue}this.b[b].Ob=null}this.b[b].mc>a&&
|
||||||
b=a)}c>(this.u&224)&&(0>b?K(this,160,42):(K(this,this.o[b].Ac,44),this.o.splice(b,1)))}this.I&57344||(this.ga=0,this.Ya=this.b[7]);this.F=this.u&16;this.i=a=this.S(this.b[7]);0<=a&&(this.b[7]=this.b[7]+2&65535);this.decode(a);if(0>this.i)switch(a&61440){case 4096:break;case 8192:break;case 12288:break;case 16384:break;case 20480:break;case 24576:break;case 36864:break;case 40960:break;case 45056:break;case 49152:break;case 53248:break;case 57344:break;default:switch(a&65024){case 2048:0<=(d=T(this,
|
(a=this.b[b].mc,c=b)}a>(this.X&224)&&(0>c?N(this,160,42):(N(this,this.b[c].zc,44),this.b.splice(c,1)))}this.I&57344||(this.la=0,this.Xa=this.c[7]);this.B=this.X&16;a=this.ga(this.c[7]);0<=a&&(this.c[7]=this.c[7]+2&65535);this.decode(a)}while(0<this.a)}return this.f.complete?this.C-this.a:void 0===this.f.complete?0:-1};v(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ib(d);B(d,c)}});
|
||||||
a,0))&&(f=a>>6&7,0<=Q(this,this.b[f])&&(this.b[f]=this.b[7],this.b[7]=d&65535));break;case 28672:0<=(b=U(this,a))&&(f=a>>6&7,b&32768&&(b|=-65536),c=this.b[f],c&32768&&(c|=-65536),a=~~(b*c),this.b[f]=a>>16&65535,this.b[f|1]=a&65535,this.c=a>>16,this.h=this.c|a,this.g=this.f=0,-32768>a||32767<a)&&(this.g=65536);break;case 29184:0<=(b=U(this,a))&&(b?(f=a>>6&7,c=this.b[f]<<16|this.b[f|1],this.g=this.f=0,b&32768&&(b|=-65536),a=~~(c/b),-32768<=a&&32767>=a?(this.b[f]=a&65535,this.b[f|1]=c-a*b&65535,this.h=
|
function Xb(a,b){var c=a+b;this.B&128||(this.l=this.u=this.A=c,this.s=(a^c)&(b^c));return c&65535}function Yb(a,b){a=~a&b;R(this,a);return a}function Zb(a,b){a=~a&b;R(this,a<<8);return a}function $b(a,b){a|=b;R(this,a);return a}function ac(a,b){a|=b;R(this,a<<8);return a}function bc(a,b){var c=b-a;Nb(this,c,a,b);return c&65535}function cc(){--this.a}function dc(){--this.a}function U(a){a&1&&(this.A=0);a&2&&(this.s=0);a&4&&(this.u=1);a&8&&(this.l=0);--this.a}function ec(){--this.a}
|
||||||
a>>16|a,this.c=a>>16):(this.f=32768,this.h=a>>15|a,this.c=c>>16,-1===b&&65534===this.b[f]&&(this.b[f]=this.b[f|1]=1))):(this.h=this.c=0,this.f=32768,this.g=65536));break;case 29696:0<=(b=U(this,a))&&(f=a>>6&7,a=this.b[f],a&32768&&(a|=4294901760),this.g=this.f=0,b&=63,b&32?(b=64-b,16<b&&(b=16),this.g=a<<17-b,a>>=b):b&&(16<b?(this.f=a,a=0):(this.g=a<<=b,(c=a>>15&65535)&&65535!==c&&(this.f=32768))),this.b[f]=a&65535,this.c=this.h=a);break;case 30208:if(0<=(b=U(this,a))){f=a>>6&7;c=this.b[f]<<16|this.b[f|
|
function fc(a){this.J("JSR");var b=Sb(this,a,8);a=a>>6&7;Ob(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=b;--this.a}function gc(){--this.a}function hc(){--this.a}function V(a){a&1&&(this.A=65536);a&2&&(this.s=32768);a&4&&(this.u=0);a&8&&(this.l=32768);--this.a}function ic(){--this.a}function jc(){--this.a}function W(){N(this,8,48)}function Jb(a){kc[a>>12].call(this,a)}
|
||||||
1];this.g=this.f=0;b&=63;if(b&32)b=64-b,32<b&&(b=32),a=c>>b-1,this.g=a<<16,a>>=1,c&2147483648&&(a|=4294967295<<32-b);else if(b){if(a=c<<b-1,this.g=a>>15,a<<=1,32<b&&(b=32),c>>=32-b)c|=4294967295<<b&4294967295,4294967295!==c&&(this.f=32768)}else a=c;this.b[f]=a>>16&65535;this.b[f|1]=a&65535;this.c=a>>16;this.h=a>>16|a}break;case 30720:a&56?0<=(c=this.O(b=this.l(a,E)))&&(c^=this.b[a>>6&7],0<=M(this,b,c)&&(this.c=this.h=c,this.f=0)):(this.c=this.h=c=this.b[a&7]^=this.b[a>>6&7],this.f=0);break;case 32256:f=
|
var kc=[function(a){lc[a>>8&15].call(this,a)},function(a){R(this,Vb(this,a,S(this,a>>6)));--this.a},function(a){var b=S(this,a>>6);a=S(this,a);Nb(this,b-a,a,b);--this.a},function(a){R(this,S(this,a>>6)&S(this,a));--this.a},function(a){Tb(this,a,S(this,a>>6),Yb);--this.a},function(a){Tb(this,a,S(this,a>>6),$b);--this.a},function(a){Tb(this,a,S(this,a>>6),Xb);--this.a},function(a){mc[a>>8&15].call(this,a)},function(a){nc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);R(this,Wb(this,a,b,1)<<8);
|
||||||
a>>6&7;if(this.b[f]=this.b[f]-1&65535)this.b[7]=this.b[7]-((a&63)<<1)&65535;break;default:switch(a&65280){case 256:this.b[7]=W(this.b[7],a);break;case 512:this.h&65535&&(this.b[7]=W(this.b[7],a));break;case 768:this.h&65535||(this.b[7]=W(this.b[7],a));break;case 1024:(this.c&32768)===(this.f&32768)&&(this.b[7]=W(this.b[7],a));break;case 1280:(this.c&32768)!==(this.f&32768)&&(this.b[7]=W(this.b[7],a));break;case 1536:this.h&65535&&(this.c&32768)===(this.f&32768)&&(this.b[7]=W(this.b[7],a));break;case 1792:this.h&
|
--this.a},function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Nb(this,b-a,a,b);--this.a},function(a){R(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){Ub(this,a,T(this,a>>6),Zb);--this.a},function(a){Ub(this,a,T(this,a>>6),ac);--this.a},function(a){Tb(this,a,S(this,a>>6),bc);--this.a},W],lc=[function(a){oc[a>>4&15].call(this,a)},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},fc,fc,function(a){pc[a>>
|
||||||
65535&&(this.c&32768)===(this.f&32768)||(this.b[7]=W(this.b[7],a));break;case 32768:this.c&32768||(this.b[7]=W(this.b[7],a));break;case 33280:!(this.g&65536)&&this.h&65535&&(this.b[7]=W(this.b[7],a));break;case 33024:this.c&32768&&(this.b[7]=W(this.b[7],a));break;case 33536:if(this.g&65536||!(this.h&65535))this.b[7]=W(this.b[7],a);break;case 33792:this.f&32768||(this.b[7]=W(this.b[7],a));break;case 34048:this.f&32768&&(this.b[7]=W(this.b[7],a));break;case 34304:this.g&65536||(this.b[7]=W(this.b[7],
|
6&3].call(this,a)},function(a){qc[a>>6&3].call(this,a)},function(a){rc[a>>6&3].call(this,a)},function(a){sc[a>>6&3].call(this,a)},W,W],oc=[function(a){tc[a&15].call(this,a)},W,W,W,W,W,W,W,W,W,function(a){uc[a&15].call(this,a)},function(a){vc[a&15].call(this,a)},W,W,W,W],uc=[hc,function(){this.A=0;--this.a},function(){this.s=0;--this.a},U,function(){this.u=1;--this.a},U,U,U,function(){this.l=0;--this.a},U,U,U,U,U,U,U],vc=[hc,function(){this.A=65536;--this.a},function(){this.s=32768;--this.a},V,function(){this.u=
|
||||||
a));break;case 34560:this.g&65536&&(this.b[7]=W(this.b[7],a));break;case 34816:K(this,24,2);break;case 35072:K(this,28,4);break;default:switch(a&65472){case 64:0<=(d=T(this,a,0))&&(this.b[7]=d&65535);break;case 192:a&56?0<=(c=this.O(b=this.l(a,E)))&&(a=c<<8|c>>8,0<=M(this,b,a)&&(this.c=this.h=c&65280,this.f=this.g=0)):(f=a&7,c=this.b[f],this.b[f]=(c<<8|c>>8)&65535,this.c=this.h=c&65280,this.f=this.g=0);break;case 2560:break;case 2624:0<=(c=this.O(b=this.l(a,E)))&&(a=~c,0<=M(this,b,a)&&(this.c=this.h=
|
0;--this.a},V,V,V,function(){this.l=32768;--this.a},V,V,V,V,V,V,V],tc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){this.X&49152||(Lb(this),this.j.reset());--this.a},function(){--this.a},function(){--this.a},W,W,W,W,W,W,W,W],mc=[gc,gc,ec,ec,cc,cc,dc,dc,jc,jc,W,W,W,W,ic,ic],nc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a},
|
||||||
a,this.g=65536,this.f=0));break;case 2688:a&56?0<=(c=this.O(b=this.l(a,E)))&&(a=c+1,0<=M(this,b,a)&&(this.c=this.h=a,this.f=a&(a^c))):(f=a&7,c=this.b[f],a=c+1,this.b[f]=a&65535,this.c=this.h=a,this.f=a&(a^c));break;case 2752:a&56?0<=(c=this.O(b=this.l(a,E)))&&(a=c-1,0<=M(this,b,a)&&(this.c=this.h=a,this.f=(a^c)&c)):(f=a&7,c=this.b[f],a=c-1,this.b[f]=a&65535,this.c=this.h=a,this.f=(a^c)&c);break;case 2816:0<=(c=this.O(b=this.l(a,E)))&&(a=-c,0<=M(this,b,a)&&(this.g=this.c=this.h=a,this.f=a&c));break;
|
function(){--this.a},function(){--this.a},function(a){wc[a>>6&3].call(this,a)},function(a){xc[a>>6&3].call(this,a)},function(a){yc[a>>6&3].call(this,a)},function(a){zc[a>>6&3].call(this,a)},W,W],pc=[function(a){Mb(this,Vb(this,a,0));--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],qc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],rc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],sc=[function(){--this.a},
|
||||||
case 2880:0<=(c=this.O(b=this.l(a,E)))&&(a=c+(this.g>>16&1),0<=M(this,b,a)&&(this.g=this.c=this.h=a,this.f=a&(a^c)));break;case 2944:0<=(c=this.O(b=this.l(a,E)))&&(a=c-(this.g>>16&1),0<=M(this,b,a)&&(this.g=this.c=this.h=a,this.f=(a^c)&c));break;case 3008:0<=(c=U(this,a))&&(this.c=this.h=c,this.g=this.f=0);break;case 3072:a&56?0<=(c=this.O(b=this.l(a,E)))&&(a=(this.g&65536|c)>>1,0<=M(this,b,a)&&(this.g=c<<16,this.c=this.h=a,this.f=a^this.g>>1)):(f=a&7,c=this.b[f],a=(this.g&65536|c)>>1,this.b[f]=a&
|
function(){--this.a},function(){--this.a},function(){--this.a}],wc=[function(a){Mb(this,Wb(this,a,0));--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],xc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],yc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a}],zc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a}];
|
||||||
65535,this.g=c<<16,this.c=this.h=a,this.f=a^this.g>>1);break;case 3136:a&56?0<=(c=this.O(b=this.l(a,E)))&&(a=c<<1|this.g>>16&1,0<=M(this,b,a)&&(this.g=this.c=this.h=a,this.f=a^c)):(f=a&7,c=this.b[f],a=c<<1|this.g>>16&1,this.b[f]=a&65535,this.g=this.c=this.h=a,this.f=a^c);break;case 3200:a&56?0<=(c=this.O(b=this.l(a,E)))&&(a=c&32768|c>>1,0<=M(this,b,a)&&(this.g=c<<16,this.c=this.h=a,this.f=this.c^this.g>>1)):(f=a&7,c=this.b[f],a=c&32768|c>>1,this.b[f]=a&65535,this.g=c<<16,this.c=this.h=a,this.f=this.c^
|
function X(a){w.call(this,"ROM",a,X);this.b=null;this.u=a.addr;this.g=a.size;this.A=a.writable;this.h=a.alias;this.l=a.file;this.C=ba(this.l);if(this.l){a=this.l;var b=ca(this.C);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.l+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,e){Ac(c,a,b,e)})}}y(X);X.prototype.Ha=function(a,b,c,d){this.j=b;this.a=c;this.G=d;Bc(this)};X.prototype.ua=function(){this.s&&(this.G&&this.G.a(this.id,this.u,this.g,this.s),delete this.s);return!0};
|
||||||
this.g>>1);break;case 3264:a&56?0<=(c=this.O(b=this.l(a,E)))&&(a=c<<1,0<=M(this,b,a)&&(this.g=this.c=this.h=a,this.f=a^c)):(f=a&7,c=this.b[f],a=c<<1,this.b[f]=a&65535,this.g=this.c=this.h=a,this.f=a^c);break;case 3328:d=this.b[7]+((a&63)<<1)&65535;0<=(b=this.S(d|65536))&&(this.b[7]=this.b[5],this.b[5]=b,this.b[6]=d+2&65535);break;case 3392:a&56?0<=(d=T(this,a,0))&&(61440!==(this.u&61440)&&(d&=65535),this.v=this.u>>12&3,0<=(b=this.S(d))&&(this.v=this.u>>14&3,0<=Q(this,b)&&(this.c=this.h=b,this.f=0))):
|
X.prototype.ta=function(){return!0};
|
||||||
(f=a&7,b=6!==f||(this.u>>2&12288)===(this.u&12288)?this.b[f]:this.aa[this.u>>12&3],0<=Q(this,b)&&(this.c=this.h=b,this.f=0));break;case 3456:0<=(c=Sb(this))&&((this.I&57344||(this.ga=22),a&56)?0<=(d=T(this,a,0))&&(d&=65535,this.v=this.u>>12&3,0<=(b=Rb(this,d,D))&&(this.v=this.u>>14&3,0<=M(this,b,c)&&(this.c=this.h=c,this.f=0))):(f=a&7,6!==f||(this.u>>2&12288)===(this.u&12288)?this.b[f]=c:this.aa[this.u>>12&3]=c,this.c=this.h=c,this.f=0));break;case 3520:0<=(b=this.l(a,D))&&(a=-(this.c>>15&1),0<=M(this,
|
function Ac(a,b,c,d){if(d)a.L("Unable to load system ROM (error "+d+": "+b+")");else{Da(a.Hb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.s=h.symbols;if(!a.b.length){t("Empty ROM: "+b);
|
||||||
b,a)&&(this.h=a,this.f=0));break;case 35328:break;case 35392:0<=(c=R(this,b=this.l(a,F)))&&(a=~c,0<=S(this,b,a)&&(this.c=this.h=a<<8,this.g=65536,this.f=0));break;case 35456:0<=(c=R(this,b=this.l(a,F)))&&(a=c+1,0<=S(this,b,a)&&(this.c=this.h=a<<8,this.f=(a&(a^c))<<8));break;case 35520:0<=(c=R(this,b=this.l(a,F)))&&(a=c-1,0<=S(this,b,a)&&(this.c=this.h=a<<8,this.f=((a^c)&c)<<8));break;case 35584:0<=(c=R(this,b=this.l(a,F)))&&(a=-c,0<=S(this,b,a)&&(this.g=this.c=this.h=a<<8,this.f=(a&c)<<8));break;
|
return}if(1==a.b.length){t(a.b[0]);return}}catch(k){a.L("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);Bc(a)}}
|
||||||
case 35648:0<=(c=R(this,b=this.l(a,F)))&&(a=c+(this.g>>16&1),0<=S(this,b,a)&&(this.c=this.h=this.g=a<<8,this.f=(a&(a^c))<<8));break;case 35712:0<=(c=R(this,b=this.l(a,F)))&&(a=c-(this.g>>16&1),0<=S(this,b,a)&&(this.c=this.h=this.g=a<<8,this.f=((a^c)&c)<<8));break;case 35776:0<=(c=V(this,a))&&(this.c=this.h=c<<8,this.g=this.f=0);break;case 35840:0<=(c=R(this,b=this.l(a,F)))&&(a=((this.g&65536)>>8|c)>>1,0<=S(this,b,a)&&(this.g=c<<16,this.c=this.h=a<<8,this.f=this.c^this.g>>1));break;case 35904:0<=(c=
|
function Bc(a){if(!Ga(a))if(!a.l)D(a);else if(a.b&&a.j){a.g||(a.g=a.b.length);if(a.b.length!=a.g){var b="ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.g,8,!0)+")";a.f.error=!0;a.L(b)}else{b=a.u;if(Ta(a.j,b,a.g,a.A?1:pb)){var c;for(c=0;c<a.b.length;c++){var d=a.j,f=b+c;d.b[(f&d.l)>>>d.j].$b(f&d.h,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.h?b.push(a.h):null!=a.h&&a.h.length&&(b=a.h);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.j,g=e.g,h=[],k=e.u>>>f.j;0<g&&
|
||||||
R(this,b=this.l(a,F)))&&(a=c<<1|this.g>>16&1,0<=S(this,b,a)&&(this.g=this.c=this.h=a<<8,this.f=(a^c)<<8));break;case 35968:0<=(c=R(this,b=this.l(a,F)))&&(a=c&128|c>>1,0<=S(this,b,a)&&(this.g=c<<16,this.c=this.h=a<<8,this.f=this.c^this.g>>1));break;case 36032:0<=(c=R(this,b=this.l(a,F)))&&(a=c<<1,0<=S(this,b,a)&&(this.g=this.c=this.h=a<<8,this.f=(a^c)<<8));break;case 36160:a&56?0<=(d=T(this,a,0))&&(this.v=this.u>>12&3,0<=(b=this.S(d|65536))&&(this.v=this.u>>14&3,0<=Q(this,b)&&(this.c=this.h=b,this.f=
|
k<f.b.length;)h.push(f.b[k++]),g-=f.g;f=e.j;e=e.g;g=0;for(d>>>=f.j;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.g}}delete a.b}}D(a)}}v(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new X(d);B(d,c)}});function Cc(a){w.call(this,"RAM",a,Cc);this.h=a.addr;this.g=a.size;this.b=!1}y(Cc);l=Cc.prototype;l.Ha=function(a,b,c,d){this.j=b;this.a=c;this.G=d;D(this)};l.ua=function(a,b){b||this.reset();return!0};l.ta=function(a){return a?this.save():!0};
|
||||||
0))):(f=a&7,b=6!==f||(this.u>>2&12288)===(this.u&12288)?this.b[f]:this.aa[this.u>>12&3],0<=Q(this,b)&&(this.c=this.h=b,this.f=0));break;case 36224:0<=(c=Sb(this))&&((this.I&57344||(this.ga=22),a&56)?0<=(d=T(this,a,0))&&(this.v=this.u>>12&3,0<=(b=Rb(this,d|65536,D))&&(this.v=this.u>>14&3,0<=M(this,b,c)&&(this.c=this.h=c,this.f=0))):(f=a&7,6!==f||(this.u>>2&12288)===(this.u&12288)?this.b[f]=c:this.aa[this.u>>12&3]=c,this.c=this.h=c,this.f=0));break;default:switch(a&65528){case 128:0<=(b=Sb(this))&&
|
l.reset=function(){!this.b&&this.g&&Ta(this.j,this.h,this.g,1)&&(this.b=!0);this.b||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};v(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Cc(d);B(d,c)}});function Dc(a){w.call(this,"Keyboard",a,Dc);D(this)}y(Dc);Dc.prototype.aa=function(){return!1};Dc.prototype.Ha=function(a,b,c,d){this.g=a;this.a=c;this.G=d;this.za=null};
|
||||||
(f=a&7,this.b[7]=this.b[f],this.b[f]=b);break;case 152:this.u&49152||(this.u=this.u&63519|(a&7)<<5,this.la=1);break;case 160:case 168:break;case 176:case 184:break;default:switch(a){case 0:49152&this.u?(this.s|=128,K(this,4,46)):(this.Ha=3,Kb(this),console.log("HALT at "+this.b[7].toString(8)));break;case 1:b=0;if(0<(a=this.o.length))for(;0<a--;)b+=this.o[a].ha,this.o[a].ha=0;0===b&&0===this.Ha&&(this.Ha=2,Kb(this));break;case 3:K(this,12,6);break;case 4:K(this,16,8);break;case 5:break;case 2:case 6:b=
|
v(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Dc(d);B(d,c)}});
|
||||||
this.b[6];0<=(d=this.S(b|65536))&&(b=b+2&65535,0<=(c=this.S(b|65536))&&(this.b[6]=b+2&65535,c&=63743,this.u&49152&&(c=c&63519|this.u&63712),this.b[7]=d,bb(this,c),this.F&=-17,2===a&&(this.F|=this.u&16)));break;default:K(this,8,48)}}}}}}}while(0<this.a)}return this.j.complete?this.ba-this.a:void 0===this.j.complete?0:-1};u(function(){for(var a=B(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Lb(d);A(d,c)}});
|
function Ec(a,b,c){w.call(this,"Computer",a,Ec);this.f.M=!1;Fc(this,b);this.K=Ab(this,"autoPower",a);this.h=0;this.ba=a.busWidth||a.buswidth;this.b=Y;this.C=null;this.u=this.W=!1;this.url=Ab(this,"url")||"";(Math.random()+.1).toString(36);this.g=Gc(this);if(this.a=Ea("CPU",this.id)){this.G=Ea("Debugger",this.id);this.j=new I({id:this.Hb+".bus",busWidth:this.ba},this.a,this.G);var d,f=z(this.id);if((this.l=Ea("Panel",this.id))&&this.l.Bb)for(b=0;b<f.length;b++)d=f[b],d.L=this.l.L,d.J=this.l.J,d.Bb=
|
||||||
function Xb(a,b){var c=a+b;this.F&128||(this.c=this.h=this.g=c,this.f=(a^c)&(b^c));return c&65535}function Yb(a,b){a=~a&b;P(this,a);return a}function Zb(a,b){a=~a&b;P(this,a<<8);return a}function $b(a,b){a|=b;P(this,a);return a}function ac(a,b){a|=b;P(this,a<<8);return a}function bc(a,b){var c=b-a;Qb(this,c,a,b);return c&65535}function cc(){this.i=-1;--this.a}function dc(){this.i=-1;--this.a}function X(a){a&1&&(this.g=0);a&2&&(this.f=0);a&4&&(this.h=1);a&8&&(this.c=0);--this.a}
|
this.l.Bb;this.J("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.J("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ha&&d.Ha(this,this.j,this.a,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.A=d:this.b=parseInt(d,10));var e;if(a=Ab(this,"state")||(e=!0,a.state))b=this.P=a,e||(this.u=!0,this.b=Y),this.b&&(this.H=
|
||||||
function ec(){this.i=-1;--this.a}function fc(){this.i=-1;--this.a}function gc(){this.i=-1;--this.a}function hc(){--this.a}function Y(a){a&1&&(this.g=65536);a&2&&(this.f=32768);a&4&&(this.h=0);a&8&&(this.c=32768);--this.a}function ic(){this.i=-1;--this.a}function jc(){this.i=-1;--this.a}function Z(){K(this,8,48)}function Mb(a){kc[a>>12].call(this,a)}
|
new Q(this,"1.30.0"),Z(this.H)?b=null:delete this.H);!b&&this.b&&(b=Hc(this))&&(this.u=!0);if(b){var g=this;r(b,null,!0,function(a,b,c){c?(g.A=null,g.u=!1,g.L("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.C=b,g.W=!0);D(g)})}else D(this);this.o.power||(this.K=!0);!c&&this.K&&Ic(this,this.eb)}else t("Unable to find CPU component")}y(Ec);var Y=0;
|
||||||
var kc=[function(a){lc[a>>8&15].call(this,a)},function(a){P(this,Vb(this,a,U(this,a>>6)));--this.a},function(a){var b=U(this,a>>6);a=U(this,a);Qb(this,b-a,a,b);--this.a},function(a){P(this,U(this,a>>6)&U(this,a));--this.a},function(a){Tb(this,a,U(this,a>>6),Yb);--this.a},function(a){Tb(this,a,U(this,a>>6),$b);--this.a},function(a){Tb(this,a,U(this,a>>6),Xb);--this.a},function(a){mc[a>>8&15].call(this,a)},function(a){nc[a>>8&15].call(this,a)},function(a){var b=V(this,a>>6);P(this,Wb(this,a,b,1)<<8);
|
function Fc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.Y=b}function Ab(a,b,c){var d=b.toLowerCase(),d=xa[b]||xa[d];void 0===d&&a.Y&&(d=a.Y[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Ic(a,b,c){for(var d=z(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ga(e)){Ga(e,function(){Ic(a,b,c)});return}}b.call(a,c)}
|
||||||
--this.a},function(a){var b=V(this,a>>6)<<8;a=V(this,a)<<8;Qb(this,b-a,a,b);--this.a},function(a){P(this,(V(this,a>>6)&V(this,a))<<8);--this.a},function(a){Ub(this,a,V(this,a>>6),Zb);--this.a},function(a){Ub(this,a,V(this,a>>6),ac);--this.a},function(a){Tb(this,a,U(this,a>>6),bc);--this.a},Z],lc=[function(a){oc[a>>4&15].call(this,a)},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=
|
function Jc(a,b){var c=new Q(a,"1.30.0","validate");if(Z(c)&&Kc(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.L("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Ec.prototype;
|
||||||
-1;--this.a},function(){this.i=-1;--this.a},fc,fc,function(a){pc[a>>6&3].call(this,a)},function(a){qc[a>>6&3].call(this,a)},function(a){rc[a>>6&3].call(this,a)},function(a){sc[a>>6&3].call(this,a)},Z,Z],oc=[function(a){tc[a&15].call(this,a)},Z,Z,Z,Z,Z,Z,Z,Z,Z,function(a){uc[a&15].call(this,a)},function(a){vc[a&15].call(this,a)},Z,Z,Z,Z],uc=[hc,function(){this.g=0;--this.a},function(){this.f=0;--this.a},X,function(){this.h=1;--this.a},X,X,X,function(){this.c=0;--this.a},X,X,X,X,X,X,X],vc=[hc,function(){this.g=
|
l.eb=function(a){void 0===a&&(a=this.b||(this.C?1:Y));if(!this.h){this.h++;var b=!1,c=!1;this.V=!1;var d=this.H||new Q(this,"1.30.0");if(-1==a)b=!0;else if(a>Y){if(Z(d,this.C)){this.s=new Q(this,"1.30.0","failsafe");Z(this.s)&&(Lc(this,d),a=2,Mc(this.s));this.s.set("timestamp",ia());Nc(this.s);var f=this.b&&!this.u;if(1==a||ja("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Kc(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Z(d,g):("error"==e&&
|
||||||
65536;--this.a},function(){this.f=32768;--this.a},Y,function(){this.h=0;--this.a},Y,Y,Y,function(){this.c=32768;--this.a},Y,Y,Y,Y,Y,Y,Y],tc=[function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.u&49152||(Ob(this),this.A.reset());--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},Z,Z,Z,Z,Z,Z,Z,Z],mc=[gc,gc,ec,ec,cc,cc,dc,dc,jc,jc,Z,Z,Z,Z,ic,ic],nc=[function(){this.i=
|
"no machine state"!=g?(this.L("Error: "+g),"unable to verify user"==g&&(na("user",""),this.g=null)):this.J(e+": "+g),Mc(d),Z(d)?(c=Kc(d),f=!0):c=!1))}f&&Jc(this,c?d:null)}else 2==a&&d.clear()}else Jc(this);delete this.C;delete this.H}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=Oc(this,g,d,b,c));b=[d,a,c];-1!=a?Ic(this,this.Rb,b):this.Rb(b)}};
|
||||||
-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(a){wc[a>>6&3].call(this,a)},function(a){xc[a>>6&3].call(this,a)},function(a){yc[a>>6&3].call(this,a)},function(a){zc[a>>6&3].call(this,a)},Z,Z],pc=[function(a){Pb(this,Vb(this,a,0));--this.a},function(){this.i=
|
function Oc(a,b,c,d,f){if(!b.f.M){b.f.M=!0;if(b.ua){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.ua(e,d)&&e&&(t("Unable to restore state for "+b.type),a.P&&!a.W?(c.clear(),a.b=Y,window&&window.location.reload()):a.V=!0,b.ua(null),f=!1)}if(!d&&b.Kb)for(a=b.Kb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||||
-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a}],qc=[function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a}],rc=[function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a}],sc=[function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a}],wc=[function(a){Pb(this,Wb(this,a,0));
|
l.Rb=function(a){var b=a[0],c=0>a[1];a=a[2];this.ca=!0;this.f.M=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.a&&(Oc(this,this.a,b,c,a),this.a.Za());this.V&&(Lc(this,b),b.clear());!c&&this.s&&(this.s.clear(),delete this.s);this.h=0};
|
||||||
--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a}],xc=[function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a}],yc=[function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a}],zc=[function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a},function(){this.i=-1;--this.a}];
|
function Lc(a,b){if(ja("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.g||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
function Ac(a){v.call(this,"ROM",a,Ac);this.c=null;this.l=a.addr;this.f=a.size;this.o=a.writable;this.g=a.alias;this.h=a.file;this.v=ca(this.h);if(this.h){a=this.h;var b=da(this.v);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){Bc(c,a,b,e)})}}x(Ac);Ac.prototype.La=function(a,b,c,d){this.A=b;this.a=c;this.K=d;Cc(this)};Ac.prototype.za=function(){this.i&&(this.K&&this.K.a(this.id,this.l,this.f,this.i),delete this.i);return!0};
|
function Pc(a,b,c){var d,f="none";if(a.h)return null;a.h--;var e=new Q(a,"1.30.0"),g=new Q(a,"1.30.0","validate"),h=ia();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ta&&(c&&P(a.a),d=a.a.ta(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.f.M=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;k<h.length;k++){var m=h[k];m.f.M&&(m.ta&&(d=m.ta(b,c),"object"===typeof d&&e.set(m.id,
|
||||||
Ac.prototype.ya=function(){return!0};
|
d)),c&&(m.f.M=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.g&&Qc(a,a.g,e.toString()),Nc(g)&&Nc(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.f.M=!1,b=a.o.power)&&(b.textContent="Power");a.h=0;return f}l.reset=function(){this.j&&this.j.reset&&this.j.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.j&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||||
function Bc(a,b,c,d){if(d)a.L("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Mb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.c=e;else if(e=h.words)for(a.c=Array(2*e.length),g=f=0;f<e.length;f++)a.c[g++]=e[f]&255,a.c[g++]=e[f]>>8&255;else if(e=h.data)for(a.c=Array(4*e.length),g=f=0;f<e.length;f++)a.c[g++]=e[f]&255,a.c[g++]=e[f]>>8&255,a.c[g++]=e[f]>>16&255,a.c[g++]=e[f]>>24&255;else a.c=h;a.i=h.symbols;if(!a.c.length){r("Empty ROM: "+b);
|
l.stop=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||||
return}if(1==a.c.length){r(a.c[0]);return}}catch(k){a.L("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.c=Array(b.length),f=0;f<b.length;f++)a.c[f]=aa(b[f]);Cc(a)}}
|
l.aa=function(a,b,c){var d=this;switch(b){case "power":return this.o[b]=c,c.onclick=function(){d.h||(d.f.M?Pc(d,!1,!0):Ic(d,d.eb))},!0;case "reset":return this.o[b]=c,c.onclick=function(){if(d.f.M&&!d.h)if(d.b&&!d.A){var a=ja("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Pc(d,a,!0);!a&&d.P?window&&window.location.reload():d.eb(Y)}else d.reset(),d.a&&d.a.Za()},!0;case "save":if(da())c.parentNode.removeChild(c);else return this.o[b]=
|
||||||
function Cc(a){if(!Ha(a))if(!a.h)C(a);else if(a.c&&a.A){a.f||(a.f=a.c.length);if(a.c.length!=a.f){var b="ROM size ("+n(a.c.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.j.error=!0;a.L(b)}else{b=a.l;if(Ua(a.A,b,a.f,a.o?1:pb)){var c;for(c=0;c<a.c.length;c++){var d=a.A,f=b+c;d.c[(f&d.i)>>>d.f].ac(f&d.h,a.c[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.A,g=e.f,h=[],k=e.l>>>f.f;0<g&&
|
c,c.onclick=function(){var a=Gc(d,!0);if(a){var b=!!(d.b&&!d.A||d.P),c=Pc(d,b);b?Qc(d,a,c):d.L("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
k<f.c.length;)h.push(f.c[k++]),g-=f.g;f=e.A;e=e.f;g=0;for(d>>>=f.f;0<e&&d<f.c.length;){k=h[g++];if(!k)break;f.c[d++]=k;e-=f.g}}delete a.c}}C(a)}}u(function(){for(var a=B(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ac(d);A(d,c)}});function Dc(a){v.call(this,"RAM",a,Dc);this.g=a.addr;this.f=a.size;this.c=!1}x(Dc);l=Dc.prototype;l.La=function(a,b,c,d){this.A=b;this.a=c;this.K=d;C(this)};l.za=function(a,b){b||this.reset();return!0};l.ya=function(a){return a?this.save():!0};
|
function Gc(a,b){var c=a.g;c||((c=ma("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Rc(a,c))||a.L("The user ID is invalid.")):b&&a.L("Browser local storage is not available"));return c}
|
||||||
l.reset=function(){!this.c&&this.f&&Ua(this.A,this.g,this.f,1)&&(this.c=!0);this.c||r("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=B(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Dc(d);A(d,c)}});function Ec(a){v.call(this,"Keyboard",a,Ec);C(this)}x(Ec);Ec.prototype.fa=function(){return!1};Ec.prototype.La=function(a,b,c,d){this.B=a;this.a=c;this.K=d;this.Ca=null};
|
function Rc(a,b){a.g=null;b=r(ea()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(na("user",b.data),a.g=b.data)}catch(d){t(d.message+" ("+c+")")}return a.g}function Hc(a){var b=null;a.g&&(b=ea()+"/api/v1/user?req=load&user="+a.g+"&state="+Sc(a,"1.30.0"));return b}
|
||||||
u(function(){for(var a=B(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ec(d);A(d,c)}});
|
function Qc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Sc(a,"1.30.0");d.data=c;b=r(ea()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.L("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.L(c),na("user",""),a.g=null)}}
|
||||||
function Fc(a,b,c){v.call(this,"Computer",a,Fc);this.j.M=!1;Gc(this,b);this.H=Ab(this,"autoPower",a);this.g=0;this.ba=a.busWidth||a.buswidth;this.c=Hc;this.v=null;this.l=this.Z=!1;this.url=Ab(this,"url")||"";(Math.random()+.1).toString(36);this.f=Ic(this);if(this.a=Fa("CPU",this.id)){this.K=Fa("Debugger",this.id);this.A=new Oa({id:this.Mb+".bus",busWidth:this.ba},this.a,this.K);var d,f=y(this.id);if((this.h=Fa("Panel",this.id))&&this.h.Eb)for(b=0;b<f.length;b++)d=f[b],d.L=this.h.L,d.N=this.h.N,d.Eb=
|
l.La=function(a){this.a&&this.a.La(a);this.l&&this.l.La(a)};v(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=A(e),g=new Ec(g,d,!0);B(g,e);g.K&&Ic(g,g.eb)}});u.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.ca&&!c.f.M&&c.eb(-1)}});
|
||||||
this.h.Eb;this.N("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.N("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.La&&d.La(this,this.A,this.a,this.K);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.o=d:this.c=parseInt(d,10));var e;if(a=Ab(this,"state")||(e=!0,a.state))b=this.P=a,e||(this.l=!0,this.c=Hc),this.c&&(this.B=
|
u.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.f.M&&Pc(c,!(!c.b||c.A),!0)}});function Q(a,b,c){this.id=a.id;this.key=Sc(a,b,c);this.G=a.G;Mc(this,a.fc)}function Sc(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||||
new O(this,"1.30.0"),Jc(this.B)?b=null:delete this.B);!b&&this.c&&(b=Kc(this))&&(this.l=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.o=null,g.l=!1,g.L("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.v=b,g.Z=!0);C(g)})}else C(this);this.C.power||(this.H=!0);!c&&this.H&&Lc(this,this.fb)}else r("Unable to find CPU component")}x(Fc);var Hc=0;
|
Q.prototype={constructor:Q,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Mc(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
|
||||||
function Gc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.$=b}function Ab(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[d];void 0===d&&a.$&&(d=a.$[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Lc(a,b,c){for(var d=y(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ha(e)){Ha(e,function(){Lc(a,b,c)});return}}b.call(a,c)}
|
1);c=0}}};function Mc(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Nc(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Kc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Z(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.a=!0):!1}var Tc=0;
|
||||||
function Mc(a,b){var c=new O(a,"1.30.0","validate");if(Jc(c)&&Nc(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.L("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Fc.prototype;
|
function Uc(a,b,c,d,f,e){f("Loading "+a+"...");r(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):Vc(h,a,b,c,d,f,e)})}
|
||||||
l.fb=function(a){void 0===a&&(a=this.c||(this.v?1:Hc));if(!this.g){this.g++;var b=!1,c=!1;this.W=!1;var d=this.B||new O(this,"1.30.0");if(-1==a)b=!0;else if(a>Hc){if(Jc(d,this.v)){this.i=new O(this,"1.30.0","failsafe");Jc(this.i)&&(Oc(this,d),a=2,Pc(this.i));this.i.set("timestamp",ja());Qc(this.i);var f=this.c&&!this.l;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Nc(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Jc(d,g):("error"==
|
function Vc(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Da(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||||
e&&"no machine state"!=g?(this.L("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.N(e+": "+g),Pc(d),Jc(d)?(c=Nc(d),f=!0):c=!1))}f&&Mc(this,c?d:null)}else 2==a&&d.clear()}else Mc(this);delete this.v;delete this.B}f=y(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=Rc(this,g,d,b,c));b=[d,a,c];-1!=a?Lc(this,this.Rb,b):this.Rb(b)}};
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){e=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?Wc(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||||
function Rc(a,b,c,d,f){if(!b.j.M){b.j.M=!0;if(b.za){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.za(e,d)&&e&&(r("Unable to restore state for "+b.type),a.P&&!a.Z?(c.clear(),a.c=Hc,window&&window.location.reload()):a.W=!0,b.za(null),f=!1)}if(!d&&b.Lb)for(a=b.Lb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
function Wc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||||
l.Rb=function(a){var b=a[0],c=0>a[1];a=a[2];this.ca=!0;this.j.M=!0;var d=this.C.power;d&&(d.textContent="Shutdown");this.a&&(Rc(this,this.a,b,c,a),this.a.$a());this.W&&(Oc(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.g=0};
|
"");a=a.replace(d[0],g);Wc(a,b,c)}})}else c(a,null)}
|
||||||
function Oc(a,b){if(ka("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}}
|
function Xc(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function e(a){f("Error: "+a);k&&(--Tc||ua(!0));k=!1}var g,h,k=!0;Tc++;Ca[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],E=document.createElement("style");E.type="text/css";E.styleSheet?E.styleSheet.cssText=m:E.appendChild(document.createTextNode(m));p.appendChild(E)}c||
|
||||||
function Sc(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new O(a,"1.30.0"),g=new O(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.ya&&(c&&Fb(a.a),d=a.a.ya(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.j.M=!1,!1===d&&(f=null)));for(var h=y(a.id),k=0;k<h.length;k++){var m=h[k];m.j.M&&(m.ya&&(d=m.ya(b,c),"object"===typeof d&&e.set(m.id,
|
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?Uc(c,null,null,!1,f,function(d,k){k?(Da(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Tc||ua(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Tc||ua(!0)):e("invalid machine element: "+
|
||||||
d)),c&&(m.j.M=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&Tc(a,a.f,e.toString()),Qc(g)&&Qc(e)||(f=null,d=h=!0)):a.c&&(d=!0,h=3==a.c),d&&e.clear(h)):f=e.toString());c&&(a.j.M=!1,b=a.C.power)&&(b.textContent="Power");a.g=0;return f}l.reset=function(){this.A&&this.A.reset&&this.A.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.A&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Uc(b,a,d,!0,f,m):Vc(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(G){e(G.message)}return k}window.embedPDP11=function(a,b,c,d){ua(!1);return Xc(a,b,c,d)};window.enableEvents=ua;window.sendEvent=va;})();
|
||||||
l.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
|
||||||
l.fa=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.g||(d.j.M?Sc(d,!1,!0):Lc(d,d.fb))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.j.M&&!d.g)if(d.c&&!d.o){var a=ka("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Sc(d,a,!0);!a&&d.P?window&&window.location.reload():d.fb(Hc)}else d.reset(),d.a&&d.a.$a()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.C[b]=
|
|
||||||
c,c.onclick=function(){var a=Ic(d,!0);if(a){var b=!!(d.c&&!d.o||d.P),c=Sc(d,b);b?Tc(d,a,c):d.L("Resume disabled, machine state not saved")}},!0}return!1};
|
|
||||||
function Ic(a,b){var c=a.f;c||((c=na("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Uc(a,c))||a.L("The user ID is invalid.")):b&&a.L("Browser local storage is not available"));return c}
|
|
||||||
function Uc(a,b){a.f=null;b=p(fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(oa("user",b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function Kc(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+Vc(a,"1.30.0"));return b}
|
|
||||||
function Tc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Vc(a,"1.30.0");d.data=c;b=p(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.L("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.L(c),oa("user",""),a.f=null)}}
|
|
||||||
l.Pa=function(a){this.a&&this.a.Pa(a);this.h&&this.h.Pa(a)};u(function(){for(var a=B(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=z(e),g=new Fc(g,d,!0);A(g,e);g.H&&Lc(g,g.fb)}});t.show.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Fa("Computer",c.id))&&c.ca&&!c.j.M&&c.fb(-1)}});
|
|
||||||
t.exit.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Fa("Computer",c.id))&&c.j.M&&Sc(c,!(!c.c||c.o),!0)}});function O(a,b,c){this.id=a.id;this.key=Vc(a,b,c);this.K=a.K;Pc(this,a.gc)}function Vc(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}
|
|
||||||
O.prototype={constructor:O,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){Pc(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 Pc(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Qc(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 Nc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){r(c.message||c),b=!1}return b}function Jc(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 Wc=0;
|
|
||||||
function Xc(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):Yc(h,a,b,c,d,f,e)})}
|
|
||||||
function Yc(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?Zc(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
|
||||||
function Zc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
|
||||||
"");a=a.replace(d[0],g);Zc(a,b,c)}})}else c(a,null)}
|
|
||||||
function $c(a,b,c,d){function f(a){if(void 0===h){var b=g&&B(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--Wc||va(!0));k=!1}var g,h,k=!0;Wc++;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],L=document.createElement("style");L.type="text/css";L.styleSheet?L.styleSheet.cssText=m:L.appendChild(document.createTextNode(m));q.appendChild(L)}c||
|
|
||||||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?Xc(c,null,null,!1,f,function(d,k){k?(Ea(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Wc||va(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Wc||va(!0)):e("invalid machine element: "+
|
|
||||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Xc(b,a,d,!0,f,m):Yc(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(N){e(N.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return $c(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})();
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue