Register PC11 I/O handlers
This commit is contained in:
parent
d928bef562
commit
e44bd4acec
2 changed files with 275 additions and 273 deletions
|
|
@ -32,86 +32,86 @@ for(var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:fu
|
|||
ma!=la&&null!=ma&&aa(ba,ga,{configurable:!0,writable:!0,value:ma});
|
||||
function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
||||
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function oa(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function k(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
|
||||
function pa(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 qa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ra(){var a=sa();return-1!==a.indexOf("pcjs.org",a.length-8)}var ta={"&":"&","<":"<",">":">",'"':""","'":"'"};function ua(a){return a.replace(/[&<>"']/g,function(a){return ta[a]})}function wa(a,b){return(a+" ").slice(0,b)}
|
||||
function pa(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 qa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ra(){var a=sa();return-1!==a.indexOf("pcjs.org",a.length-8)}var ta={"&":"&","<":"<",">":">",'"':""","'":"'"};function ua(a){return a.replace(/[&<>"']/g,function(a){return ta[a]})}function va(a,b){return(a+" ").slice(0,b)}
|
||||
function xa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ya={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
|
||||
function za(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,l;l=c(b,a[g]);0<l?d=g+1:(e=g,f=!l)}return f?d:~d}var Aa=Date.now||function(){return+new Date};function Ea(){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 za(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,l;l=c(b,a[g]);0<l?d=g+1:(e=g,f=!l)}return f?d:~d}var Aa=Date.now||function(){return+new Date};function Ba(){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 Fa(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var l=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(l.onreadystatechange=function(){4===l.readyState&&(f=l.responseText,200==l.status||!l.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=l.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
||||
typeof b){var m="",p;for(p in b)b.hasOwnProperty(p)&&(m&&(m+="&"),m+=p+"="+encodeURIComponent(b[p]));m=m.replace(/%20/g,"+");l.open("POST",a,!!c);l.setRequestHeader("Content-type","application/x-www-form-urlencoded");l.send(m)}else l.open("GET",a,!!c),"bytes"==b&&l.overrideMimeType("text/plain; charset=x-user-defined"),l.send();c||(f=l.responseText,200!=l.status&&(e=l.status||-1),d&&d(a,f,e),g=[f,e]);return g}function sa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||
function n(a){window&&window.alert(a)}function Ga(a){var b=!1;window&&(b=window.confirm(a));return b}var Ha=null;function Ia(){if(null==Ha){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}Ha=a}return Ha}function Ja(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function Ka(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function La(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 Ma(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function Na(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Oa={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 Ta(a){Oa.init.push(a)}
|
||||
function $a(a){if(Ra)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){n(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ab(a){!Ra&&a?(Ra=!0,Pa&&bb("init"),Qa&&bb("show")):Ra=a}function bb(a){Oa[a]&&$a(Oa[a])}Sa("onload",function(){Pa=!0;$a(Oa.init)});Sa("onpageshow",function(){Qa=!0;$a(Oa.show)});Sa(La("Opera")||La("iOS")?"onunload":"onbeforeunload",function(){$a(Oa.exit)});
|
||||
function r(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Vb=b.comment;this.pc=b;b=this.id.indexOf(".");0>b?this.Ua=this.id:(this.Gb=this.id.substr(0,b),this.Ua=this.id.substr(b+1));this[a]=c;this.v={ready:!1,jb:!1,Hb:!1,ha:!1,error:!1};this.xb=null;this.v.error=!1;this.J={};this.g=null;this.ia=d||0;t.push(this)}var cb=void 0,db={};
|
||||
function Ua(a){if(Ra)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){n(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ab(a){!Ra&&a?(Ra=!0,Pa&&bb("init"),Qa&&bb("show")):Ra=a}function bb(a){Oa[a]&&Ua(Oa[a])}Sa("onload",function(){Pa=!0;Ua(Oa.init)});Sa("onpageshow",function(){Qa=!0;Ua(Oa.show)});Sa(La("Opera")||La("iOS")?"onunload":"onbeforeunload",function(){Ua(Oa.exit)});
|
||||
function r(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Vb=b.comment;this.pc=b;b=this.id.indexOf(".");0>b?this.Ua=this.id:(this.Gb=this.id.substr(0,b),this.Ua=this.id.substr(b+1));this[a]=c;this.v={ready:!1,jb:!1,Hb:!1,ha:!1,error:!1};this.xb=null;this.v.error=!1;this.J={};this.i=null;this.ia=d||0;t.push(this)}var cb=void 0,db={};
|
||||
if(window){cb||(cb=window.location.search.substr(1));for(var eb,fb=/\+/g,gb=/([^&=]+)=?([^&]*)/g;eb=gb.exec(cb);)db[decodeURIComponent(eb[1].replace(fb," "))]=decodeURIComponent(eb[2].replace(fb," "))}function hb(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 u(a,b){b||(b=r);a.prototype=hb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var ib=window.PCjs.Machines||(window.PCjs.Machines={}),t=window.PCjs.Components||(window.PCjs.Components=[])}else ib={},t=[];function jb(a,b,c){ib[a]&&b&&(ib[a][b]=c)}function kb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<t.length;b++){var d=t[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||
function lb(a){if(void 0!==a){var b;for(b=0;b<t.length;b++)if(t[b].id===a)return t[b]}return null}function mb(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<t.length;d++)if(c)c==t[d]&&(c=null);else if(!(a!=t[d].type||b&&t[d].id.indexOf(b)))return t[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){n(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,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var l=g.split(" "),m=0;m<l.length;m++)switch(g=l[m],g){case "pdp11-binding":(g=z(f))&&g.binding&&a.oa(g.type,g.binding,f,g.value),m=l.length}}}}
|
||||
function B(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||
r.prototype={constructor:r,parent:null,toString:function(){return this.name?this.name:this.id||this.type},oa:function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.Qa=this.J[b]=c,c.value="",this.i=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||
this.na=function(a){this.i(a,this.Ua)}),!0;default:return!1}},log:function(){},i:function(){},status:function(a){this.i(this.Ua+": "+a)},na:function(a,b,c){c=c||this.type;b||n((c?c+": ":"")+a)},ya:function(){return this.v.ha=!0},xa:function(a,b){b&&(this.v.ha=!1);return!0}};function E(a,b,c,d){a.g&&(!0===c||G(a,c|0))&&a.g.message(b,d)}function G(a,b){if(a.g){a===a.g?b|=0:b=b||a.ia;var c=a.g.ia&b;return!!b&&c===b||!!(c&a.g.jc)}return!1}
|
||||
function nb(a,b){if(a.v.Hb)return a.v.jb=!1,a.v.Hb=!1;if(a.v.error)return a.i(a.toString()+" error"),!1;a.v.jb=b;return a.v.jb}function ob(a,b){a.v.jb&&(b?a.v.Hb=!0:void 0===b&&a.i(a.toString()+" busy"));return a.v.jb}function H(a){if(!a.v.error&&(a.v.ready=!0,a.v.ready)){var b=a.xb;a.xb=null;b&&b()}}function pb(a,b){b&&(a.v.ready?b():a.xb=b);return a.v.ready}function qb(a){return a.v.error?(a.i(a.toString()+" error"),!0):!1}function rb(a,b){a.v.error=!0;a.na(b)}
|
||||
r.prototype={constructor:r,parent:null,toString:function(){return this.name?this.name:this.id||this.type},oa:function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.Qa=this.J[b]=c,c.value="",this.j=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||
this.na=function(a){this.j(a,this.Ua)}),!0;default:return!1}},log:function(){},j:function(){},status:function(a){this.j(this.Ua+": "+a)},na:function(a,b,c){c=c||this.type;b||n((c?c+": ":"")+a)},ya:function(){return this.v.ha=!0},xa:function(a,b){b&&(this.v.ha=!1);return!0}};function E(a,b,c,d){a.i&&(!0===c||G(a,c|0))&&a.i.message(b,d)}function G(a,b){if(a.i){a===a.i?b|=0:b=b||a.ia;var c=a.i.ia&b;return!!b&&c===b||!!(c&a.i.jc)}return!1}
|
||||
function nb(a,b){if(a.v.Hb)return a.v.jb=!1,a.v.Hb=!1;if(a.v.error)return a.j(a.toString()+" error"),!1;a.v.jb=b;return a.v.jb}function ob(a,b){a.v.jb&&(b?a.v.Hb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.v.jb}function H(a){if(!a.v.error&&(a.v.ready=!0,a.v.ready)){var b=a.xb;a.xb=null;b&&b()}}function pb(a,b){b&&(a.v.ready?b():a.xb=b);return a.v.ready}function qb(a){return a.v.error?(a.j(a.toString()+" error"),!0):!1}function rb(a,b){a.v.error=!0;a.na(b)}
|
||||
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});
|
||||
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
|
||||
var Fb="undefined"!==typeof ArrayBuffer,I={cpu:1,trap:16,bus:64,memory:128,device:256,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function Gb(a){r.call(this,"Panel",a,Gb);this.f=0;this.v.Tb=!0}u(Gb);h=Gb.prototype;
|
||||
h.oa=function(a,b,c,d){if(this.B&&this.B.oa(a,b,c,d)||this.b&&this.b.oa(a,b,c,d)||this.g&&this.g.oa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.J[b]=c,this.f++,!0;default:return"rled"==a?(this.J[b]=c,this.f++,!0):this.parent.oa.call(this,a,b,c,d)}};h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.g=d};h.ya=function(a,b){b||Hb();return!0};h.xa=function(){return!0};
|
||||
function Ib(a,b,c,d){if(a.J[b]){void 0===c&&(rb(a,"Value for "+b+" is invalid"),a.b.da());var e=a.g&&a.g.ja||8;c=!a.b.v.ca||a.v.Tb?8==e?oa(c,d):k(c,d):"--------".substr(0,d||4);a.J[b].textContent!=c&&(a.J[b].textContent=c)}}function Jb(a,b,c,d){for(var e=0;e<d;e++){var f=a.J[b+e];f&&(f.style.backgroundColor=c&1<<e?"#ff0000":"#000000")}}
|
||||
var sb="undefined"!==typeof ArrayBuffer,I={cpu:1,trap:16,bus:64,memory:128,device:256,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function Gb(a){r.call(this,"Panel",a,Gb);this.f=0;this.v.Tb=!0}u(Gb);h=Gb.prototype;
|
||||
h.oa=function(a,b,c,d){if(this.B&&this.B.oa(a,b,c,d)||this.b&&this.b.oa(a,b,c,d)||this.i&&this.i.oa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.J[b]=c,this.f++,!0;default:return"rled"==a?(this.J[b]=c,this.f++,!0):this.parent.oa.call(this,a,b,c,d)}};h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.i=d};h.ya=function(a,b){b||Hb();return!0};h.xa=function(){return!0};
|
||||
function Ib(a,b,c,d){if(a.J[b]){void 0===c&&(rb(a,"Value for "+b+" is invalid"),a.b.da());var e=a.i&&a.i.ja||8;c=!a.b.v.ca||a.v.Tb?8==e?oa(c,d):k(c,d):"--------".substr(0,d||4);a.J[b].textContent!=c&&(a.J[b].textContent=c)}}function Jb(a,b,c,d){for(var e=0;e<d;e++){var f=a.J[b+e];f&&(f.style.backgroundColor=c&1<<e?"#ff0000":"#000000")}}
|
||||
h.$=function(a){if(this.f&&(a||!this.b.v.ca||this.v.Tb)){for(a=0;a<this.b.u.length;a++)Ib(this,"R"+a,this.b.u[a]);a=Kb(this.b);Ib(this,"PS",a);Ib(this,"NF",a&8?1:0,1);Ib(this,"ZF",a&4?1:0,1);Ib(this,"VF",a&2?1:0,1);Ib(this,"CF",a&1?1:0,1);Jb(this,"D",this.b.u[0],16);Jb(this,"A",this.b.u[7],22)}};function Hb(){for(var a=!1,b=B(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=lb(e.id);f||(a=!0,f=new Gb(e));A(f,d);a&&H(f)}}Ta(Hb);
|
||||
function Lb(a,b,c){r.call(this,"Bus",a,Lb,64);this.b=b;this.g=c;this.M=a.busWidth||16;this.j=0;this.K=[];this.G=null;this.H=Math.pow(2,this.M);this.f=this.H-1|0;this.sa=Mb;this.ga=Math.log2(this.sa);this.I=this.sa>>2;this.w=this.sa-1;this.D=this.H/this.sa|0;this.Ga=[];this.C=0;this.B=[];this.ic=[Nb,Ob,Pb,Qb];a=new J(this);Rb(a,this.g);this.W=Array(this.D);for(b=0;b<this.D;b++)this.W[b]=a;H(this)}u(Lb);var Mb=8192,Sb=Mb-1;
|
||||
function Nb(a,b){var c=-1,d=this.controller,e=d.Ga[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.Ga[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return this.g&&G(this.g,64)&&E(this.g,e[4]+".readByte("+K(this.g,b)+"): "+K(this.g,c),!0,!0),c;c=Tb(d,b,!0);this.g&&G(this.g,64)&&E(this.g,"warning: unconverted read access to byte @"+K(this.g,b)+": "+K(this.g,c),!0,!0);return c}
|
||||
function Ob(a,b,c){var d=!1,e=this.controller,f=e.Ga[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.Ga[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d?this.g&&G(this.g,64)&&E(this.g,f[4]+".writeByte("+K(this.g,c)+","+K(this.g,b)+")",!0,!0):(Tb(e,c,!0,b),this.g&&G(this.g,64)&&E(this.g,"warning: unconverted write access to byte @"+K(this.g,c)+": "+K(this.g,b),!0,!0))}
|
||||
function Pb(a,b){var c=-1,d=this.controller;(a=d.Ga[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.g&&G(this.g,64)&&E(this.g,a[4]+".readWord("+K(this.g,b)+"): "+K(this.g,c),!0,!0),c;c=Tb(d,b,!1);this.g&&G(this.g,64)&&E(this.g,"warning: unconverted read access to word @"+K(this.g,b)+": "+K(this.g,c),!0,!0);return c}
|
||||
function Qb(a,b,c){var d=!1,e=this.controller;if(a=e.Ga[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d?this.g&&G(this.g,64)&&E(this.g,a[4]+".writeWord("+K(this.g,c)+","+K(this.g,b)+")",!0,!0):(Tb(e,c,!1,b),this.g&&G(this.g,64)&&E(this.g,"warning: unconverted write access to word @"+K(this.g,c)+": "+K(this.g,b),!0,!0))}
|
||||
function Ub(a,b){if(b!=a.j){var c;a.j&&(c=(1<<a.j)-Mb,Vb(a,c,Mb,a.K),a.j=0);b&&(a.j=b,c=(1<<b)-Mb,a.K=Wb(a,c,Mb),a.G?Vb(a,c,Mb,a.G):(Xb(a,c,Mb,Yb,a),a.G=Wb(a,c,Mb)))}}h=Lb.prototype;h.reset=function(){for(var a=0;a<this.B.length;a++)this.B[a]();Ub(this,16)};function Tb(a,b,c,d){if(a.g&&G(a.g,536870912)&&(E(a.g,"warning: unknown I/O access ("+K(a.g,b)+","+K(a.g,d,c?1:2)+")",!0,!0),Zb(a.g)))return 0;a.C||a.b.ea(4,b);return 0}h.ya=function(a,b){b||this.reset();return!0};
|
||||
function Xb(a,b,c,d,e){for(var f=b,g=c,l=f>>>a.ga;0<g&&l<a.W.length;){var m=a.W[l],p=l*a.sa,q=a.sa-(f-p);q>g&&(q=g);if(!e&&m&&m.size){if(m.type==d){if(f+g<=m.A)return m.tb+=m.A-f,m.A=f,!0;if(f>=m.A+m.tb){q=m.size-(f-p);q>g&&(q=g);m.tb=f-m.A+q;f=p+a.sa;g-=q;l++;continue}}return $b(1,f,g)}f=new J(a,f,q,a.sa,d,e);Rb(f,a.g,m);a.W[l++]=f;f=p+a.sa;g-=q}if(0>=g){c/=1024;var v;e="";v?10<v&&(v=10):v=c&-65536?10:5;if(null==c||isNaN(c))for(;0<v--;)e="?"+e;else for(;0<v--;)e=String.fromCharCode(c%10+48)+e,c/=
|
||||
function Lb(a,b,c){r.call(this,"Bus",a,Lb,64);this.b=b;this.i=c;this.M=a.busWidth||16;this.g=0;this.K=[];this.G=null;this.H=Math.pow(2,this.M);this.f=this.H-1|0;this.sa=Mb;this.ga=Math.log2(this.sa);this.I=this.sa>>2;this.w=this.sa-1;this.D=this.H/this.sa|0;this.Ga=[];this.C=0;this.B=[];this.ic=[Nb,Ob,Pb,Qb];a=new J(this);Rb(a,this.i);this.W=Array(this.D);for(b=0;b<this.D;b++)this.W[b]=a;H(this)}u(Lb);var Mb=8192,Sb=Mb-1;
|
||||
function Nb(a,b){var c=-1,d=this.controller,e=d.Ga[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.Ga[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return this.i&&G(this.i,64)&&E(this.i,e[4]+".readByte("+K(this.i,b)+"): "+K(this.i,c),!0,!0),c;c=Tb(d,b,!0);this.i&&G(this.i,64)&&E(this.i,"warning: unconverted read access to byte @"+K(this.i,b)+": "+K(this.i,c),!0,!0);return c}
|
||||
function Ob(a,b,c){var d=!1,e=this.controller,f=e.Ga[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.Ga[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d?this.i&&G(this.i,64)&&E(this.i,f[4]+".writeByte("+K(this.i,c)+","+K(this.i,b)+")",!0,!0):(Tb(e,c,!0,b),this.i&&G(this.i,64)&&E(this.i,"warning: unconverted write access to byte @"+K(this.i,c)+": "+K(this.i,b),!0,!0))}
|
||||
function Pb(a,b){var c=-1,d=this.controller;(a=d.Ga[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.i&&G(this.i,64)&&E(this.i,a[4]+".readWord("+K(this.i,b)+"): "+K(this.i,c),!0,!0),c;c=Tb(d,b,!1);this.i&&G(this.i,64)&&E(this.i,"warning: unconverted read access to word @"+K(this.i,b)+": "+K(this.i,c),!0,!0);return c}
|
||||
function Qb(a,b,c){var d=!1,e=this.controller;if(a=e.Ga[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d?this.i&&G(this.i,64)&&E(this.i,a[4]+".writeWord("+K(this.i,c)+","+K(this.i,b)+")",!0,!0):(Tb(e,c,!1,b),this.i&&G(this.i,64)&&E(this.i,"warning: unconverted write access to word @"+K(this.i,c)+": "+K(this.i,b),!0,!0))}
|
||||
function Ub(a,b){if(b!=a.g){var c;a.g&&(c=(1<<a.g)-Mb,Vb(a,c,Mb,a.K),a.g=0);b&&(a.g=b,c=(1<<b)-Mb,a.K=Wb(a,c,Mb),a.G?Vb(a,c,Mb,a.G):(Xb(a,c,Mb,Yb,a),a.G=Wb(a,c,Mb)))}}h=Lb.prototype;h.reset=function(){for(var a=0;a<this.B.length;a++)this.B[a]();Ub(this,16)};function Tb(a,b,c,d){if(a.i&&G(a.i,536870912)&&(E(a.i,"warning: unknown I/O access ("+K(a.i,b)+","+K(a.i,d,c?1:2)+")",!0,!0),Zb(a.i)))return 0;a.C||a.b.ea(4,b);return 0}h.ya=function(a,b){b||this.reset();return!0};
|
||||
function Xb(a,b,c,d,e){for(var f=b,g=c,l=f>>>a.ga;0<g&&l<a.W.length;){var m=a.W[l],p=l*a.sa,q=a.sa-(f-p);q>g&&(q=g);if(!e&&m&&m.size){if(m.type==d){if(f+g<=m.A)return m.tb+=m.A-f,m.A=f,!0;if(f>=m.A+m.tb){q=m.size-(f-p);q>g&&(q=g);m.tb=f-m.A+q;f=p+a.sa;g-=q;l++;continue}}return $b(1,f,g)}f=new J(a,f,q,a.sa,d,e);Rb(f,a.i,m);a.W[l++]=f;f=p+a.sa;g-=q}if(0>=g){c/=1024;var v;e="";v?10<v&&(v=10):v=c&-65536?10:5;if(null==c||isNaN(c))for(;0<v--;)e="?"+e;else for(;0<v--;)e=String.fromCharCode(c%10+48)+e,c/=
|
||||
10;a.status(e+"Kb "+ac[d]+" at "+oa(b));return!0}return $b(2,b,c)}function Wb(a,b,c){var d=[];for(b>>>=a.ga;0<c&&b<a.W.length;)d.push(a.W[b++]),c-=a.sa;return d}function Vb(a,b,c,d){var e=0;for(b>>>=a.ga;0<c&&b<a.W.length;){var f=d[e++];if(!f)break;a.W[b++]=f;c-=a.sa}}h.lb=function(a){return this.W[(a&this.f)>>>this.ga].Cb(a&this.w,a)};h.zb=function(a){this.C++;a=this.W[(a&this.f)>>>this.ga].Jb(a&this.w,a);this.C--;return a};h.ka=function(a){return this.W[(a&this.f)>>>this.ga].ra(a&this.w,a)};
|
||||
h.mb=function(a){var b=a&this.w,c=(a&this.f)>>>this.ga;this.C++;a=this.W[c].Kb(b,a);this.C--;return a};h.Db=function(a,b){this.W[(a&this.f)>>>this.ga].Fb(a&this.w,b&255,a)};h.rb=function(a,b){this.C++;this.W[(a&this.f)>>>this.ga].Pb(a&this.w,b&255,a);this.C--};h.Sa=function(a,b){this.W[(a&this.f)>>>this.ga].ub(a&this.w,b&65535,a)};h.Eb=function(a,b){var c=a&this.w,d=(a&this.f)>>>this.ga;this.C++;this.W[d].Qb(c,b&65535,a);this.C--};
|
||||
function bc(a){for(var b=0,c=[],d=0;d<a.D;d++){var e=a.W[d];if(e.Ha||e.lc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,l=0,m=[];g<e.length;){for(var p=e[g],q=g+1;q<e.length&&e[q]===p;)q++;m[l++]=q-g;m[l++]=p;g=q}m.length<e.length&&(e=m)}c[f]=e}}return c}function kc(a,b,c,d,e,f,g,l){for(;b<=c;b+=2){var m=b&Sb;void 0!==a.Ga[m]?n("I/O address already registered: "+k(b,8,!0)):a.Ga[m]=[d,e,f,g,l||"unknown",!1]}}
|
||||
function lc(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[5]&&f[5]>a.b.Ya)){var g=f[0]?f[0].bind(b):null,l=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,p=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!g&&m&&(g=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));kc(a,e,e,g,l,m,p,f[4])}}}function mc(a,b){a.B.push(b)}
|
||||
function nc(a,b){a.C||(a.g&&G(a.g,536870912)&&E(a.g,"memory fault on address "+K(a.g,b),!0,!0),a.b.ea(4,b))}function $b(a,b,c){n("Memory block error ("+a+": "+k(b)+","+k(c)+")");return!1}function L(a){r.call(this,"Device",a,L,256);this.j={data:0,Ld:0,Bb:20,bd:0};this.f={Md:0,Ob:-1}}u(L);h=L.prototype;
|
||||
h.Ba=function(a,b,c,d){this.w=b;this.b=c;this.g=d;var e=this;this.f.Ob=oc(c,function(){e.f.Ia|=128;e.f.Ia&64&&(pc(e.b,e.f.cd),qc(e.b,e.f.Ob,1E3/60))});this.f.cd=rc(64,6);lc(b,this,M);mc(b,this.reset.bind(this));H(this)};h.reset=function(){this.j.Bb=this.j.Bb&-120|20;this.f.Ia=0};h.Ac=function(){var a=this.f.Ia;this.f.Ia&=-129;return a};h.md=function(a){this.f.Ia=a;a&64&&qc(this.b,this.f.Ob,1E3/60);this.f.Ia=a&-129};h.tc=function(a){return(a?this.j.bd:this.j.data)&65535};
|
||||
h.ed=function(a){this.j.data=a};h.Cc=function(){var a=this.b;return a.G&62337|a.ua<<5|a.va<<1};h.od=function(a){var b=this.b;a&=62337;if(b.G!=a){b.G=a;b.ua=a>>5&3;b.va=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ja!=c&&(b.Ja=c,sc(b))}tc(this)};h.Dc=function(){var a=this.b.La;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Ec=function(){return this.b.qb};h.Fc=function(){return this.b.Ma};
|
||||
h.pd=function(a){var b=this.b;1170>b.Ya&&(a&=-49);b.Ma!=a&&(b.Ma=a,a&16?(b.Wa=4194303,b.wa=3915776):(b.Wa=262143,b.wa=253952),sc(b));tc(this)};function tc(a){a.j.Bb=a.j.Bb&-8|(a.b.Ja?a.b.Ma&16?1:2:4)}h.Rc=function(a){return this.b.P[1][a>>1&7]};h.Bd=function(a,b){this.b.P[1][b>>1&7]=a&65295};h.Pc=function(a){return this.b.P[1][(a>>1&7)+8]};h.zd=function(a,b){this.b.P[1][(b>>1&7)+8]=a&65295};h.Qc=function(a){return this.b.qa[1][a>>1&7]};
|
||||
h.Ad=function(a,b){b=b>>1&7;this.b.qa[1][b]=a;this.b.P[1][b]&=65295};h.Oc=function(a){return this.b.qa[1][(a>>1&7)+8]};h.yd=function(a,b){b=(b>>1&7)+8;this.b.qa[1][b]=a;this.b.P[1][b]&=65295};h.zc=function(a){return this.b.P[0][a>>1&7]};h.ld=function(a,b){this.b.P[0][b>>1&7]=a&65295};h.xc=function(a){return this.b.P[0][(a>>1&7)+8]};h.jd=function(a,b){this.b.P[0][(b>>1&7)+8]=a&65295};h.yc=function(a){return this.b.qa[0][a>>1&7]};h.kd=function(a,b){b=b>>1&7;this.b.qa[0][b]=a;this.b.P[0][b]&=65295};
|
||||
h.wc=function(a){return this.b.qa[0][(a>>1&7)+8]};h.hd=function(a,b){b=(b>>1&7)+8;this.b.qa[0][b]=a;this.b.P[0][b]&=65295};h.Xc=function(a){return this.b.P[3][a>>1&7]};h.Hd=function(a,b){this.b.P[3][b>>1&7]=a&65295};h.Vc=function(a){return this.b.P[3][(a>>1&7)+8]};h.Fd=function(a,b){this.b.P[3][(b>>1&7)+8]=a&65295};h.Wc=function(a){return this.b.qa[3][a>>1&7]};h.Gd=function(a,b){b=b>>1&7;this.b.qa[3][b]=a;this.b.P[3][b]&=65295};h.Uc=function(a){return this.b.qa[3][(a>>1&7)+8]};
|
||||
h.Ed=function(a,b){b=(b>>1&7)+8;this.b.qa[3][b]=a;this.b.P[3][b]&=65295};h.bb=function(a){a&=7;return this.b.L&2048?this.b.Ea[a]:this.b.u[a]};h.gb=function(a,b){b&=7;this.b.L&2048?this.b.Ea[b]=a:this.b.u[b]=a};h.Ic=function(){return this.b.L&49152?this.b.ta[0]:this.b.u[6]};h.sd=function(a){this.b.L&49152?this.b.ta[0]=a:this.b.u[6]=a};h.Lc=function(){return this.b.u[7]};h.vd=function(a){this.b.u[7]=a};h.cb=function(a){a&=7;return this.b.L&2048?this.b.u[a]:this.b.Ea[a]};
|
||||
h.hb=function(a,b){b&=7;this.b.L&2048?this.b.u[b]=a:this.b.Ea[b]=a};h.Jc=function(){return 1==(this.b.L&49152)>>14?this.b.u[6]:this.b.ta[1]};h.td=function(a){1==(this.b.L&49152)>>14?this.b.u[6]=a:this.b.ta[1]=a};h.Kc=function(){return 3==(this.b.L&49152)>>14?this.b.u[6]:this.b.ta[3]};h.ud=function(a){3==(this.b.L&49152)>>14?this.b.u[6]=a:this.b.ta[3]=a};h.vc=function(a){return this.b.cc[a-65504>>1]};h.gd=function(a,b){this.b.cc[b-65504>>1]=a};h.$b=function(a){return 65520==a?61183:0};h.fc=function(){};
|
||||
h.Tc=function(){return 1};h.Dd=function(){};h.uc=function(){return this.b.Z};h.fd=function(){this.b.Z=0};h.Bc=function(){return this.b.bc};h.nd=function(a,b){b&1||(a&=255);this.b.bc=a};h.Gc=function(a){return a?this.b.Mb:0};h.qd=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Mb=a;b.F|=2};h.Sc=function(a){return a?this.b.Na&65280:0};h.Cd=function(a){this.b.Na=a|255};h.Hc=function(){return Kb(this.b)};h.rd=function(a){uc(this.b,a&-1809|Kb(this.b)&1808);this.b.F|=128};
|
||||
function nc(a,b){a.C||(a.i&&G(a.i,536870912)&&E(a.i,"memory fault on address "+K(a.i,b),!0,!0),a.b.ea(4,b))}function $b(a,b,c){n("Memory block error ("+a+": "+k(b)+","+k(c)+")");return!1}function L(a){r.call(this,"Device",a,L,256);this.g={data:0,Pd:0,Bb:20,dd:0};this.f={Qd:0,Ob:-1}}u(L);h=L.prototype;
|
||||
h.Ba=function(a,b,c,d){this.w=b;this.b=c;this.i=d;var e=this;this.f.Ob=oc(c,function(){e.f.Ia|=128;e.f.Ia&64&&(pc(e.b,e.f.ed),qc(e.b,e.f.Ob,1E3/60))});this.f.ed=rc(64,6);lc(b,this,M);mc(b,this.reset.bind(this));H(this)};h.reset=function(){this.g.Bb=this.g.Bb&-120|20;this.f.Ia=0};h.Ac=function(){var a=this.f.Ia;this.f.Ia&=-129;return a};h.od=function(a){this.f.Ia=a;a&64&&qc(this.b,this.f.Ob,1E3/60);this.f.Ia=a&-129};h.tc=function(a){return(a?this.g.dd:this.g.data)&65535};
|
||||
h.gd=function(a){this.g.data=a};h.Cc=function(){var a=this.b;return a.G&62337|a.ua<<5|a.va<<1};h.qd=function(a){var b=this.b;a&=62337;if(b.G!=a){b.G=a;b.ua=a>>5&3;b.va=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ja!=c&&(b.Ja=c,sc(b))}tc(this)};h.Dc=function(){var a=this.b.La;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Ec=function(){return this.b.qb};h.Fc=function(){return this.b.Ma};
|
||||
h.rd=function(a){var b=this.b;1170>b.Ya&&(a&=-49);b.Ma!=a&&(b.Ma=a,a&16?(b.Wa=4194303,b.wa=3915776):(b.Wa=262143,b.wa=253952),sc(b));tc(this)};function tc(a){a.g.Bb=a.g.Bb&-8|(a.b.Ja?a.b.Ma&16?1:2:4)}h.Tc=function(a){return this.b.P[1][a>>1&7]};h.Fd=function(a,b){this.b.P[1][b>>1&7]=a&65295};h.Rc=function(a){return this.b.P[1][(a>>1&7)+8]};h.Dd=function(a,b){this.b.P[1][(b>>1&7)+8]=a&65295};h.Sc=function(a){return this.b.qa[1][a>>1&7]};
|
||||
h.Ed=function(a,b){b=b>>1&7;this.b.qa[1][b]=a;this.b.P[1][b]&=65295};h.Qc=function(a){return this.b.qa[1][(a>>1&7)+8]};h.Cd=function(a,b){b=(b>>1&7)+8;this.b.qa[1][b]=a;this.b.P[1][b]&=65295};h.zc=function(a){return this.b.P[0][a>>1&7]};h.nd=function(a,b){this.b.P[0][b>>1&7]=a&65295};h.xc=function(a){return this.b.P[0][(a>>1&7)+8]};h.ld=function(a,b){this.b.P[0][(b>>1&7)+8]=a&65295};h.yc=function(a){return this.b.qa[0][a>>1&7]};h.md=function(a,b){b=b>>1&7;this.b.qa[0][b]=a;this.b.P[0][b]&=65295};
|
||||
h.wc=function(a){return this.b.qa[0][(a>>1&7)+8]};h.kd=function(a,b){b=(b>>1&7)+8;this.b.qa[0][b]=a;this.b.P[0][b]&=65295};h.Zc=function(a){return this.b.P[3][a>>1&7]};h.Ld=function(a,b){this.b.P[3][b>>1&7]=a&65295};h.Xc=function(a){return this.b.P[3][(a>>1&7)+8]};h.Jd=function(a,b){this.b.P[3][(b>>1&7)+8]=a&65295};h.Yc=function(a){return this.b.qa[3][a>>1&7]};h.Kd=function(a,b){b=b>>1&7;this.b.qa[3][b]=a;this.b.P[3][b]&=65295};h.Wc=function(a){return this.b.qa[3][(a>>1&7)+8]};
|
||||
h.Id=function(a,b){b=(b>>1&7)+8;this.b.qa[3][b]=a;this.b.P[3][b]&=65295};h.bb=function(a){a&=7;return this.b.L&2048?this.b.Ea[a]:this.b.u[a]};h.gb=function(a,b){b&=7;this.b.L&2048?this.b.Ea[b]=a:this.b.u[b]=a};h.Kc=function(){return this.b.L&49152?this.b.ta[0]:this.b.u[6]};h.wd=function(a){this.b.L&49152?this.b.ta[0]=a:this.b.u[6]=a};h.Nc=function(){return this.b.u[7]};h.zd=function(a){this.b.u[7]=a};h.cb=function(a){a&=7;return this.b.L&2048?this.b.u[a]:this.b.Ea[a]};
|
||||
h.hb=function(a,b){b&=7;this.b.L&2048?this.b.u[b]=a:this.b.Ea[b]=a};h.Lc=function(){return 1==(this.b.L&49152)>>14?this.b.u[6]:this.b.ta[1]};h.xd=function(a){1==(this.b.L&49152)>>14?this.b.u[6]=a:this.b.ta[1]=a};h.Mc=function(){return 3==(this.b.L&49152)>>14?this.b.u[6]:this.b.ta[3]};h.yd=function(a){3==(this.b.L&49152)>>14?this.b.u[6]=a:this.b.ta[3]=a};h.vc=function(a){return this.b.cc[a-65504>>1]};h.jd=function(a,b){this.b.cc[b-65504>>1]=a};h.$b=function(a){return 65520==a?61183:0};h.fc=function(){};
|
||||
h.Vc=function(){return 1};h.Hd=function(){};h.uc=function(){return this.b.Z};h.hd=function(){this.b.Z=0};h.Bc=function(){return this.b.bc};h.pd=function(a,b){b&1||(a&=255);this.b.bc=a};h.Gc=function(a){return a?this.b.Mb:0};h.sd=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Mb=a;b.F|=2};h.Uc=function(a){return a?this.b.Na&65280:0};h.Gd=function(a){this.b.Na=a|255};h.Jc=function(){return Kb(this.b)};h.vd=function(a){uc(this.b,a&-1809|Kb(this.b)&1808);this.b.F|=128};
|
||||
h.ec=function(a,b){G(this)&&E(this,"writeIgnored("+oa(b)+"): "+oa(a),!0,!0)};
|
||||
var N={},M=(N[62592]=[null,null,L.prototype.Rc,L.prototype.Bd,"SISDR",1145],N[62608]=[null,null,L.prototype.Pc,L.prototype.zd,"SDSDR",1145],N[62624]=[null,null,L.prototype.Qc,L.prototype.Ad,"SISAR",1145],N[62640]=[null,null,L.prototype.Oc,L.prototype.yd,"SDSAR",1145],N[62656]=[null,null,L.prototype.zc,L.prototype.ld,"KISDR",1145],N[62672]=[null,null,L.prototype.xc,L.prototype.jd,"KDSDR",1145],N[62688]=[null,null,L.prototype.yc,L.prototype.kd,"KISAR",1145],N[62704]=[null,null,L.prototype.wc,L.prototype.hd,
|
||||
"KDSAR",1145],N[62798]=[null,null,L.prototype.Fc,L.prototype.pd,"MMR3",1145],N[65382]=[null,null,L.prototype.Ac,L.prototype.md,"LKS"],N[65400]=[null,null,L.prototype.tc,L.prototype.ed,"CNSL"],N[65402]=[null,null,L.prototype.Cc,L.prototype.od,"MMR0",1145],N[65404]=[null,null,L.prototype.Dc,L.prototype.ec,"MMR1",1145],N[65406]=[null,null,L.prototype.Ec,L.prototype.ec,"MMR2",1145],N[65408]=[null,null,L.prototype.Xc,L.prototype.Hd,"UISDR",1145],N[65424]=[null,null,L.prototype.Vc,L.prototype.Fd,"UDSDR",
|
||||
1145],N[65440]=[null,null,L.prototype.Wc,L.prototype.Gd,"UISAR",1145],N[65456]=[null,null,L.prototype.Uc,L.prototype.Ed,"UDSAR",1145],N[65472]=[null,null,L.prototype.bb,L.prototype.gb,"R0SET0"],N[65473]=[null,null,L.prototype.bb,L.prototype.gb,"R1SET0"],N[65474]=[null,null,L.prototype.bb,L.prototype.gb,"R2SET0"],N[65475]=[null,null,L.prototype.bb,L.prototype.gb,"R3SET0"],N[65476]=[null,null,L.prototype.bb,L.prototype.gb,"R4SET0"],N[65477]=[null,null,L.prototype.bb,L.prototype.gb,"R5SET0"],N[65478]=
|
||||
[null,null,L.prototype.Ic,L.prototype.sd,"R6KERNEL"],N[65479]=[null,null,L.prototype.Lc,L.prototype.vd,"R7KERNEL"],N[65480]=[null,null,L.prototype.cb,L.prototype.hb,"R0SET1",1145],N[65481]=[null,null,L.prototype.cb,L.prototype.hb,"R1SET1",1145],N[65482]=[null,null,L.prototype.cb,L.prototype.hb,"R2SET1",1145],N[65483]=[null,null,L.prototype.cb,L.prototype.hb,"R3SET1",1145],N[65484]=[null,null,L.prototype.cb,L.prototype.hb,"R4SET1",1145],N[65485]=[null,null,L.prototype.cb,L.prototype.hb,"R5SET1",1145],
|
||||
N[65486]=[null,null,L.prototype.Jc,L.prototype.td,"R6SUPER",1145],N[65487]=[null,null,L.prototype.Kc,L.prototype.ud,"R6USER",1145],N[65504]=[null,null,L.prototype.vc,L.prototype.gd,"CTRL",1170],N[65520]=[null,null,L.prototype.$b,L.prototype.fc,"LSIZE",1170],N[65522]=[null,null,L.prototype.$b,L.prototype.fc,"HSIZE",1170],N[65524]=[null,null,L.prototype.Tc,L.prototype.Dd,"SYSID",1170],N[65526]=[null,null,L.prototype.uc,L.prototype.fd,"CPUERR",1170],N[65528]=[null,null,L.prototype.Bc,L.prototype.nd,
|
||||
"MB",1170],N[65530]=[null,null,L.prototype.Gc,L.prototype.qd,"PIR"],N[65532]=[null,null,L.prototype.Sc,L.prototype.Cd,"SL"],N[65534]=[null,null,L.prototype.Hc,L.prototype.rd,"PSW"],N);M[62594]=M[62592];M[62596]=M[62592];M[62598]=M[62592];M[62600]=M[62592];M[62602]=M[62592];M[62604]=M[62592];M[62606]=M[62592];M[62610]=M[62608];M[62612]=M[62608];M[62614]=M[62608];M[62616]=M[62608];M[62618]=M[62608];M[62620]=M[62608];M[62622]=M[62608];M[62626]=M[62624];M[62628]=M[62624];M[62630]=M[62624];M[62632]=M[62624];
|
||||
var N={},M=(N[62592]=[null,null,L.prototype.Tc,L.prototype.Fd,"SISDR",1145],N[62608]=[null,null,L.prototype.Rc,L.prototype.Dd,"SDSDR",1145],N[62624]=[null,null,L.prototype.Sc,L.prototype.Ed,"SISAR",1145],N[62640]=[null,null,L.prototype.Qc,L.prototype.Cd,"SDSAR",1145],N[62656]=[null,null,L.prototype.zc,L.prototype.nd,"KISDR",1145],N[62672]=[null,null,L.prototype.xc,L.prototype.ld,"KDSDR",1145],N[62688]=[null,null,L.prototype.yc,L.prototype.md,"KISAR",1145],N[62704]=[null,null,L.prototype.wc,L.prototype.kd,
|
||||
"KDSAR",1145],N[62798]=[null,null,L.prototype.Fc,L.prototype.rd,"MMR3",1145],N[65382]=[null,null,L.prototype.Ac,L.prototype.od,"LKS"],N[65400]=[null,null,L.prototype.tc,L.prototype.gd,"CNSL"],N[65402]=[null,null,L.prototype.Cc,L.prototype.qd,"MMR0",1145],N[65404]=[null,null,L.prototype.Dc,L.prototype.ec,"MMR1",1145],N[65406]=[null,null,L.prototype.Ec,L.prototype.ec,"MMR2",1145],N[65408]=[null,null,L.prototype.Zc,L.prototype.Ld,"UISDR",1145],N[65424]=[null,null,L.prototype.Xc,L.prototype.Jd,"UDSDR",
|
||||
1145],N[65440]=[null,null,L.prototype.Yc,L.prototype.Kd,"UISAR",1145],N[65456]=[null,null,L.prototype.Wc,L.prototype.Id,"UDSAR",1145],N[65472]=[null,null,L.prototype.bb,L.prototype.gb,"R0SET0"],N[65473]=[null,null,L.prototype.bb,L.prototype.gb,"R1SET0"],N[65474]=[null,null,L.prototype.bb,L.prototype.gb,"R2SET0"],N[65475]=[null,null,L.prototype.bb,L.prototype.gb,"R3SET0"],N[65476]=[null,null,L.prototype.bb,L.prototype.gb,"R4SET0"],N[65477]=[null,null,L.prototype.bb,L.prototype.gb,"R5SET0"],N[65478]=
|
||||
[null,null,L.prototype.Kc,L.prototype.wd,"R6KERNEL"],N[65479]=[null,null,L.prototype.Nc,L.prototype.zd,"R7KERNEL"],N[65480]=[null,null,L.prototype.cb,L.prototype.hb,"R0SET1",1145],N[65481]=[null,null,L.prototype.cb,L.prototype.hb,"R1SET1",1145],N[65482]=[null,null,L.prototype.cb,L.prototype.hb,"R2SET1",1145],N[65483]=[null,null,L.prototype.cb,L.prototype.hb,"R3SET1",1145],N[65484]=[null,null,L.prototype.cb,L.prototype.hb,"R4SET1",1145],N[65485]=[null,null,L.prototype.cb,L.prototype.hb,"R5SET1",1145],
|
||||
N[65486]=[null,null,L.prototype.Lc,L.prototype.xd,"R6SUPER",1145],N[65487]=[null,null,L.prototype.Mc,L.prototype.yd,"R6USER",1145],N[65504]=[null,null,L.prototype.vc,L.prototype.jd,"CTRL",1170],N[65520]=[null,null,L.prototype.$b,L.prototype.fc,"LSIZE",1170],N[65522]=[null,null,L.prototype.$b,L.prototype.fc,"HSIZE",1170],N[65524]=[null,null,L.prototype.Vc,L.prototype.Hd,"SYSID",1170],N[65526]=[null,null,L.prototype.uc,L.prototype.hd,"CPUERR",1170],N[65528]=[null,null,L.prototype.Bc,L.prototype.pd,
|
||||
"MB",1170],N[65530]=[null,null,L.prototype.Gc,L.prototype.sd,"PIR"],N[65532]=[null,null,L.prototype.Uc,L.prototype.Gd,"SL"],N[65534]=[null,null,L.prototype.Jc,L.prototype.vd,"PSW"],N);M[62594]=M[62592];M[62596]=M[62592];M[62598]=M[62592];M[62600]=M[62592];M[62602]=M[62592];M[62604]=M[62592];M[62606]=M[62592];M[62610]=M[62608];M[62612]=M[62608];M[62614]=M[62608];M[62616]=M[62608];M[62618]=M[62608];M[62620]=M[62608];M[62622]=M[62608];M[62626]=M[62624];M[62628]=M[62624];M[62630]=M[62624];M[62632]=M[62624];
|
||||
M[62634]=M[62624];M[62636]=M[62624];M[62638]=M[62624];M[62642]=M[62640];M[62644]=M[62640];M[62646]=M[62640];M[62648]=M[62640];M[62650]=M[62640];M[62652]=M[62640];M[62654]=M[62640];M[62658]=M[62656];M[62660]=M[62656];M[62662]=M[62656];M[62664]=M[62656];M[62666]=M[62656];M[62668]=M[62656];M[62670]=M[62656];M[62674]=M[62672];M[62676]=M[62672];M[62678]=M[62672];M[62680]=M[62672];M[62682]=M[62672];M[62684]=M[62672];M[62686]=M[62672];M[62690]=M[62688];M[62692]=M[62688];M[62694]=M[62688];M[62696]=M[62688];
|
||||
M[62698]=M[62688];M[62700]=M[62688];M[62702]=M[62688];M[62706]=M[62704];M[62708]=M[62704];M[62710]=M[62704];M[62712]=M[62704];M[62714]=M[62704];M[62716]=M[62704];M[62718]=M[62704];M[65410]=M[65408];M[65412]=M[65408];M[65414]=M[65408];M[65416]=M[65408];M[65418]=M[65408];M[65420]=M[65408];M[65422]=M[65408];M[65426]=M[65424];M[65428]=M[65424];M[65430]=M[65424];M[65432]=M[65424];M[65434]=M[65424];M[65436]=M[65424];M[65438]=M[65424];M[65442]=M[65440];M[65444]=M[65440];M[65446]=M[65440];M[65448]=M[65440];
|
||||
M[65450]=M[65440];M[65452]=M[65440];M[65454]=M[65440];M[65458]=M[65456];M[65460]=M[65456];M[65462]=M[65456];M[65464]=M[65456];M[65466]=M[65456];M[65468]=M[65456];M[65470]=M[65456];M[65506]=M[65504];M[65508]=M[65504];M[65510]=M[65504];M[65512]=M[65504];M[65514]=M[65504];M[65516]=M[65504];M[65518]=M[65504];Ta(function(){for(var a=B(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=z(d);switch(c.type){case "default":c=new L(c);A(c,d);break;case "pc11":c=new vc(c),A(c,d)}}});var wc;
|
||||
if(Fb){var xc=new ArrayBuffer(2);(new DataView(xc)).setUint16(0,256,!0);wc=256===(new Uint16Array(xc))[0]}else wc=!1;var yc=wc;
|
||||
function J(a,b,c,d,e,f){this.w=a;this.id=zc+=2;this.b=null;this.A=b;this.tb=c;this.size=d||0;this.type=e||Ac;this.f=e==Bc;this.controller=null;Rb(this);this.Ha=this.lc=!1;if(d)if(f)this.controller=f,this.b=null,Cc(this,f.ic);else if(Fb)this.C=new ArrayBuffer(d),this.G=new DataView(this.C,0,d),this.D=new Uint8Array(this.C,0,d),this.I=new Uint16Array(this.C,0,d>>1),this.b=new Int32Array(this.C,0,d>>2),Cc(this,yc?Dc:Ec);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Cc(this,Fc)}else Cc(this)}
|
||||
if(sb){var xc=new ArrayBuffer(2);(new DataView(xc)).setUint16(0,256,!0);wc=256===(new Uint16Array(xc))[0]}else wc=!1;var yc=wc;
|
||||
function J(a,b,c,d,e,f){this.w=a;this.id=zc+=2;this.b=null;this.A=b;this.tb=c;this.size=d||0;this.type=e||Ac;this.f=e==Bc;this.controller=null;Rb(this);this.Ha=this.lc=!1;if(d)if(f)this.controller=f,this.b=null,Cc(this,f.ic);else if(sb)this.C=new ArrayBuffer(d),this.G=new DataView(this.C,0,d),this.D=new Uint8Array(this.C,0,d),this.I=new Uint16Array(this.C,0,d>>1),this.b=new Int32Array(this.C,0,d>>2),Cc(this,yc?Dc:Ec);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Cc(this,Fc)}else Cc(this)}
|
||||
var Ac=0,Bc=2,Yb=4,ac=["NONE","RAM","ROM","VID","H/W"],zc=0;
|
||||
J.prototype={constructor:J,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Fb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Fb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ha=!0}return!1},Pa:function(a,b){b?this.B++||Gc(this,Hc,!1):this.j++||Ic(this,Hc,!1)},K:function(){this.g&&G(this.g,128)&&(E(this.g,"attempt to read invalid block %"+
|
||||
k(this.A),!0),this.g.da());return 255},J:function(a,b){this.g&&G(this.g,128)&&(E(this.g,"attempt to write "+k(b,4,!0)+" to invalid block %"+k(this.A),!0),this.g.da())},M:function(a,b){return this.Cb(a++,b++)|this.Cb(a,b)<<8},H:function(a,b,c){this.Fb(a++,b&255,c++);this.Fb(a,b>>8,c)},V:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ja:function(a,b){a&1&&nc(this.w,b);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},ua:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=
|
||||
this.b[c]&~(255<<a)|b<<a;this.Ha=!0},za:function(a,b,c){a&1&&nc(this.w,c);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ha=!0},T:function(a,b){if(this.g&&null!=this.A){var c=this.g;Jc(c,this.A+a,1,c.M)&&c.da(!0)}return this.Jb(a,b)},ba:function(a,b){if(this.g&&null!=this.A){var c=this.g;Jc(c,this.A+a,2,c.M)&&c.da(!0)}return this.Kb(a,b)},ma:function(a,b,c){if(this.g&&null!=this.A){var d=this.g;Jc(d,this.A+a,
|
||||
1,d.D)&&d.da(!0)}this.f?this.J(a,b,c):this.Pb(a,b,c)},wa:function(a,b,c){if(this.g&&null!=this.A){var d=this.g;Jc(d,this.A+a,2,d.D)&&d.da(!0)}this.f?this.J(a,b,c):this.Qb(a,b,c)},R:function(a){return this.D[a]},U:function(a,b){a=this.D[a];this.g&&G(this.g,128)&&E(this.g,"Memory.readByte("+K(this.g,b)+"): "+K(this.g,a),!0);return a},aa:function(a,b){a&1&&nc(this.w,b);return this.G.getUint16(a,!0)},fa:function(a,b){a&1&&nc(this.w,b);a=this.I[a>>1];this.g&&G(this.g,128)&&E(this.g,"Memory.readWord("+
|
||||
K(this.g,b)+"): "+K(this.g,a),!0);return a},la:function(a,b){this.D[a]=b;this.Ha=!0},pa:function(a,b,c){this.D[a]=b;this.Ha=!0;this.g&&G(this.g,128)&&E(this.g,"Memory.writeByte("+K(this.g,c)+","+K(this.g,b)+")",!0)},va:function(a,b,c){a&1&&nc(this.w,c);this.G.setUint16(a,b,!0);this.Ha=!0},Ua:function(a,b,c){a&1&&nc(this.w,c);this.I[a>>1]=b;this.Ha=!0;this.g&&G(this.g,128)&&E(this.g,"Memory.writeWord("+K(this.g,c)+","+K(this.g,b)+")",!0)}};
|
||||
function Rb(a,b,c){a.g=b;a.j=a.B=0;c&&((a.j=c.j)&&Ic(a,Hc,!1),(a.B=c.B)&&Gc(a,Hc,!1))}function Kc(a,b){b?--a.B||(a.Fb=a.f?a.J:a.Pb,a.ub=a.f?a.H:a.Qb):--a.j||(a.Cb=a.Jb,a.ra=a.Kb)}function Gc(a,b,c){c&&a.B||(a.Fb=!a.f&&b[1]||a.J,a.ub=!a.f&&b[3]||a.H);if(c||void 0===c)a.Pb=b[1]||a.J,a.Qb=b[3]||a.H}function Ic(a,b,c){c&&a.j||(a.Cb=b[0]||a.K,a.ra=b[2]||a.M);if(c||void 0===c)a.Jb=b[0]||a.K,a.Kb=b[2]||a.M}function Cc(a,b){b||(b=Lc);Ic(a,b,void 0);Gc(a,b,void 0)}
|
||||
var Lc=[],Fc=[J.prototype.V,J.prototype.ua,J.prototype.ja,J.prototype.za],Hc=[J.prototype.T,J.prototype.ma,J.prototype.ba,J.prototype.wa];if(Fb)var Ec=[J.prototype.R,J.prototype.la,J.prototype.aa,J.prototype.va],Dc=[J.prototype.U,J.prototype.pa,J.prototype.fa,J.prototype.Ua];
|
||||
function Mc(a,b){r.call(this,"CPU",a,Mc,1);var c=a.multiplier||1;this.Fa=a.cycles||b;this.Ka=c;this.Va=Math.round(this.Fa/1E4)/100;this.Ra=this.Va*this.Ka;this.v.ca=!1;this.v.Nb=!1;this.v.ib=a.autoStart;this.v.Xa=!1;this.nb=this.ja=0;this.ob=a.csStart;this.Za=a.csInterval;this.$a=a.csStop;this.K=[];this.Ab=this.ad.bind(this);H(this)}u(Mc);var Nc=["power","reset"];h=Mc.prototype;
|
||||
h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.g=d;for(b=0;b<Nc.length;b++)(c=this.J[Nc[b]])&&this.B.oa(null,Nc[b],c);a=Oc(a,"autoStart");null!=a&&(this.v.ib="true"==a?!0:"false"==a?!1:!!a);H(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
|
||||
h.ya=function(a,b){if(!b){if(a&&this.restore){Pc(this);if(!this.restore(a))return!1;Qc(this)}else this.reset();this.g?(a=this.g,a.i("Type ? for help with PDP11 Debugger commands"),a.$(),a.Fa&&(b=a.Fa,a.Fa=null,Rc(a,b))):this.i("No debugger detected")}this.B.$();return!0};h.xa=function(a){return a?this.save():!0};h.ib=function(){return this.v.ib||!this.g&&void 0===this.J.run?(this.eb(!0),!0):!1};h.Wb=function(){return 0};
|
||||
function Qc(a){void 0===a.ob&&(a.ob=0);void 0===a.Za&&(a.Za=-1);void 0===a.$a&&(a.$a=-1);a.v.Xa=0<=a.ob&&0<a.Za;a.v.Xa&&(a.nb=0,a.ja=a.ob-a.fa)}function Sc(a,b){if(a.v.Xa){var c=!1;a.nb=a.nb+a.Wb()|0;a.ja-=b;0>=a.ja&&(a.ja+=a.Za,c=!0);0<=a.$a&&a.$a<=Tc(a)&&(a.Za=a.$a=-1,Qc(a),a.da(),c=!0);c&&a.i(Tc(a)+" cycles: checksum="+k(a.nb))}}
|
||||
J.prototype={constructor:J,parent:null,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.G.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(sb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ha=!0}return!1},Pa:function(a,b){b?this.B++||Gc(this,Hc,!1):this.g++||Ic(this,Hc,!1)},K:function(){this.i&&G(this.i,128)&&(E(this.i,"attempt to read invalid block %"+
|
||||
k(this.A),!0),this.i.da());return 255},J:function(a,b){this.i&&G(this.i,128)&&(E(this.i,"attempt to write "+k(b,4,!0)+" to invalid block %"+k(this.A),!0),this.i.da())},M:function(a,b){return this.Cb(a++,b++)|this.Cb(a,b)<<8},H:function(a,b,c){this.Fb(a++,b&255,c++);this.Fb(a,b>>8,c)},V:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ja:function(a,b){a&1&&nc(this.w,b);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},ua:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=
|
||||
this.b[c]&~(255<<a)|b<<a;this.Ha=!0},za:function(a,b,c){a&1&&nc(this.w,c);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ha=!0},T:function(a,b){if(this.i&&null!=this.A){var c=this.i;Jc(c,this.A+a,1,c.M)&&c.da(!0)}return this.Jb(a,b)},ba:function(a,b){if(this.i&&null!=this.A){var c=this.i;Jc(c,this.A+a,2,c.M)&&c.da(!0)}return this.Kb(a,b)},ma:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;Jc(d,this.A+a,
|
||||
1,d.D)&&d.da(!0)}this.f?this.J(a,b,c):this.Pb(a,b,c)},wa:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;Jc(d,this.A+a,2,d.D)&&d.da(!0)}this.f?this.J(a,b,c):this.Qb(a,b,c)},R:function(a){return this.D[a]},U:function(a,b){a=this.D[a];this.i&&G(this.i,128)&&E(this.i,"Memory.readByte("+K(this.i,b)+"): "+K(this.i,a),!0);return a},aa:function(a,b){a&1&&nc(this.w,b);return this.G.getUint16(a,!0)},fa:function(a,b){a&1&&nc(this.w,b);a=this.I[a>>1];this.i&&G(this.i,128)&&E(this.i,"Memory.readWord("+
|
||||
K(this.i,b)+"): "+K(this.i,a),!0);return a},la:function(a,b){this.D[a]=b;this.Ha=!0},pa:function(a,b,c){this.D[a]=b;this.Ha=!0;this.i&&G(this.i,128)&&E(this.i,"Memory.writeByte("+K(this.i,c)+","+K(this.i,b)+")",!0)},va:function(a,b,c){a&1&&nc(this.w,c);this.G.setUint16(a,b,!0);this.Ha=!0},Ua:function(a,b,c){a&1&&nc(this.w,c);this.I[a>>1]=b;this.Ha=!0;this.i&&G(this.i,128)&&E(this.i,"Memory.writeWord("+K(this.i,c)+","+K(this.i,b)+")",!0)}};
|
||||
function Rb(a,b,c){a.i=b;a.g=a.B=0;c&&((a.g=c.g)&&Ic(a,Hc,!1),(a.B=c.B)&&Gc(a,Hc,!1))}function Kc(a,b){b?--a.B||(a.Fb=a.f?a.J:a.Pb,a.ub=a.f?a.H:a.Qb):--a.g||(a.Cb=a.Jb,a.ra=a.Kb)}function Gc(a,b,c){c&&a.B||(a.Fb=!a.f&&b[1]||a.J,a.ub=!a.f&&b[3]||a.H);if(c||void 0===c)a.Pb=b[1]||a.J,a.Qb=b[3]||a.H}function Ic(a,b,c){c&&a.g||(a.Cb=b[0]||a.K,a.ra=b[2]||a.M);if(c||void 0===c)a.Jb=b[0]||a.K,a.Kb=b[2]||a.M}function Cc(a,b){b||(b=Lc);Ic(a,b,void 0);Gc(a,b,void 0)}
|
||||
var Lc=[],Fc=[J.prototype.V,J.prototype.ua,J.prototype.ja,J.prototype.za],Hc=[J.prototype.T,J.prototype.ma,J.prototype.ba,J.prototype.wa];if(sb)var Ec=[J.prototype.R,J.prototype.la,J.prototype.aa,J.prototype.va],Dc=[J.prototype.U,J.prototype.pa,J.prototype.fa,J.prototype.Ua];
|
||||
function Mc(a,b){r.call(this,"CPU",a,Mc,1);var c=a.multiplier||1;this.Fa=a.cycles||b;this.Ka=c;this.Va=Math.round(this.Fa/1E4)/100;this.Ra=this.Va*this.Ka;this.v.ca=!1;this.v.Nb=!1;this.v.ib=a.autoStart;this.v.Xa=!1;this.nb=this.ja=0;this.ob=a.csStart;this.Za=a.csInterval;this.$a=a.csStop;this.K=[];this.Ab=this.cd.bind(this);H(this)}u(Mc);var Nc=["power","reset"];h=Mc.prototype;
|
||||
h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.i=d;for(b=0;b<Nc.length;b++)(c=this.J[Nc[b]])&&this.B.oa(null,Nc[b],c);a=Oc(a,"autoStart");null!=a&&(this.v.ib="true"==a?!0:"false"==a?!1:!!a);H(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
|
||||
h.ya=function(a,b){if(!b){if(a&&this.restore){Pc(this);if(!this.restore(a))return!1;Qc(this)}else this.reset();this.i?(a=this.i,a.j("Type ? for help with PDP11 Debugger commands"),a.$(),a.Fa&&(b=a.Fa,a.Fa=null,Rc(a,b))):this.j("No debugger detected")}this.B.$();return!0};h.xa=function(a){return a?this.save():!0};h.ib=function(){return this.v.ib||!this.i&&void 0===this.J.run?(this.eb(!0),!0):!1};h.Wb=function(){return 0};
|
||||
function Qc(a){void 0===a.ob&&(a.ob=0);void 0===a.Za&&(a.Za=-1);void 0===a.$a&&(a.$a=-1);a.v.Xa=0<=a.ob&&0<a.Za;a.v.Xa&&(a.nb=0,a.ja=a.ob-a.fa)}function Sc(a,b){if(a.v.Xa){var c=!1;a.nb=a.nb+a.Wb()|0;a.ja-=b;0>=a.ja&&(a.ja+=a.Za,c=!0);0<=a.$a&&a.$a<=Tc(a)&&(a.Za=a.$a=-1,Qc(a),a.da(),c=!0);c&&a.j(Tc(a)+" cycles: checksum="+k(a.nb))}}
|
||||
h.oa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.v.ha)a=!0;else{var b=null,c,l=kb(a.id);for(c=0;c<l.length&&(b=l[c],b===a||b.v.ready);c++);if(c==l.length)for(c=0;c<l.length&&(b=l[c],b===a||b.v.ha);c++);c==l.length&&(b=a);n("The "+b.type+" component ("+b.id+") is not "+(b.v.ready?"powered yet":"ready yet"+(b.xb?" (waiting for notification)":""))+".");a=!1}a&&(d.v.ca?d.da():d.eb())},
|
||||
!0;case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){Uc(d,d.Ka<<1,!0)},c.textContent=this.Ra.toFixed(2)+"Mhz",!0}return!1};h.$=function(){var a=this.J.speed;a&&(a.textContent=this.v.ca&&this.V?this.V.toFixed(2)+"Mhz":"Stopped")};function Vc(a,b,c){a.fa+=b;c&&(a.ba=a.b=0)}function Wc(a,b){var c=1;b&&1<a.Ka&&a.V&&(c=a.V/a.Va);a.wb=Math.round(1E3/30);a.Oa=Math.floor(a.Fa/30*c);b||(a.la=a.Oa);a.kb=0}function Tc(a){return a.fa+a.T+a.ba-a.b}
|
||||
function Pc(a){a.V=0;a.yb=0;a.fa=a.T=a.ba=a.b=0;Qc(a);Uc(a,1)}function Uc(a,b,c){var d=!1;if(void 0!==b){.8>a.V/a.Ra?b=1:d=!0;a.Ka=b;b=a.Va*a.Ka;if(a.Ra!=b){a.Ra=b;b=a.Ra.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.B&&a.B.sb()}Vc(a,a.T);a.T=0;a.R=Aa();a.aa=0;Wc(a);return d}function oc(a,b){var c=a.K.length;a.K.push([-1,b]);return c}function qc(a,b,c){0<=b&&b<a.K.length&&0>a.K[b][0]&&(c=a.Fa*a.Ka/1E3*c|0,a.K[b][0]=c+Xc(a))}
|
||||
function Pc(a){a.V=0;a.yb=0;a.fa=a.T=a.ba=a.b=0;Qc(a);Uc(a,1)}function Uc(a,b,c){var d=!1;if(void 0!==b){.8>a.V/a.Ra?b=1:d=!0;a.Ka=b;b=a.Va*a.Ka;if(a.Ra!=b){a.Ra=b;b=a.Ra.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.B&&a.B.sb()}Vc(a,a.T);a.T=0;a.R=Aa();a.aa=0;Wc(a);return d}function oc(a,b){var c=a.K.length;a.K.push([-1,b]);return c}function qc(a,b,c){0<=b&&b<a.K.length&&0>a.K[b][0]&&(c=a.Fa*a.Ka/1E3*c|0,a.K[b][0]=c+Xc(a))}
|
||||
function Yc(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Zc(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Xc(a,b){var c=a.ba-=a.b;a.b=0;b&&(a.ba=0);return c}
|
||||
h.ad=function(){if(this.v.ca){this.kb>=this.Fa&&Wc(this,!0);this.pa=0;this.za=Aa();if(this.aa){var a=this.za-this.aa;a>this.wb&&(this.R+=a,this.R>this.za&&(this.R=this.za))}try{do{var b=Yc(this,this.v.Xa?1:this.Oa);try{this.fb(b)}catch(e){if("number"!=typeof e)throw e;}b=Xc(this,!0);this.pa+=b;this.T+=b;Sc(this,b);Zc(this,b);this.la-=b;if(0>=this.la){this.la+=this.Oa;15<=++this.yb&&(this.B&&this.B.$(),this.yb=0);break}}while(this.v.ca)}catch(e){this.da();this.B&&this.B.stop(Aa(),Tc(this));rb(this,
|
||||
h.cd=function(){if(this.v.ca){this.kb>=this.Fa&&Wc(this,!0);this.pa=0;this.za=Aa();if(this.aa){var a=this.za-this.aa;a>this.wb&&(this.R+=a,this.R>this.za&&(this.R=this.za))}try{do{var b=Yc(this,this.v.Xa?1:this.Oa);try{this.fb(b)}catch(e){if("number"!=typeof e)throw e;}b=Xc(this,!0);this.pa+=b;this.T+=b;Sc(this,b);Zc(this,b);this.la-=b;if(0>=this.la){this.la+=this.Oa;15<=++this.yb&&(this.B&&this.B.$(),this.yb=0);break}}while(this.v.ca)}catch(e){this.da();this.B&&this.B.stop(Aa(),Tc(this));rb(this,
|
||||
e.stack||e.message);return}if(this.v.ca){a=setTimeout;b=this.Ab;this.aa=Aa();var c=this.wb;this.pa&&(c=Math.round(c*this.pa/this.Oa));var c=c-(this.aa-this.za),d=this.aa-this.R;d&&(this.V=Math.round(this.T/(10*d))/100,864E5<=d&&(this.fa=0,Uc(this)));if(0>c||this.V<this.Ra)-1E3>c&&(this.R-=c),c=0;this.kb+=this.pa;this.aa+=c;a(b,c)}}};
|
||||
h.eb=function(a){if(qb(this))return!1;if(this.v.ca)return this.i(this.toString()+" busy"),!1;Uc(this);this.v.ca=!0;this.v.Nb=!0;var b=this.J.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.sb(!0),this.B.start(this.R,Tc(this)));setTimeout(this.Ab,0);return!0};h.fb=function(){return 0};h.da=function(a){if(this.v.ca){Xc(this);Vc(this,this.T);this.T=0;this.v.ca=!1;var b=this.J.run;b&&(b.textContent="Run");this.B&&this.B.stop(Aa(),Tc(this))}this.v.complete=a};
|
||||
function sd(a){this.Ya=+a.model||1170;this.qc=a.resetAddr||0;Mc.call(this,a,6666667);this.decode=1120==this.Ya?td.bind(this):ud.bind(this);vd(this);this.C=0;this.U=null;this.v.complete=this.v.kc=!1}u(sd,Mc);h=sd.prototype;h.reset=function(){this.status("model "+this.Ya);this.v.ca&&this.da();vd(this);Pc(this);this.v.error=!1;this.parent.reset.call(this)};
|
||||
h.eb=function(a){if(qb(this))return!1;if(this.v.ca)return this.j(this.toString()+" busy"),!1;Uc(this);this.v.ca=!0;this.v.Nb=!0;var b=this.J.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.sb(!0),this.B.start(this.R,Tc(this)));setTimeout(this.Ab,0);return!0};h.fb=function(){return 0};h.da=function(a){if(this.v.ca){Xc(this);Vc(this,this.T);this.T=0;this.v.ca=!1;var b=this.J.run;b&&(b.textContent="Run");this.B&&this.B.stop(Aa(),Tc(this))}this.v.complete=a};
|
||||
function $c(a){this.Ya=+a.model||1170;this.qc=a.resetAddr||0;Mc.call(this,a,6666667);this.decode=1120==this.Ya?ad.bind(this):ud.bind(this);vd(this);this.C=0;this.U=null;this.v.complete=this.v.kc=!1}u($c,Mc);h=$c.prototype;h.reset=function(){this.status("model "+this.Ya);this.v.ca&&this.da();vd(this);Pc(this);this.v.error=!1;this.parent.reset.call(this)};
|
||||
function vd(a){a.N=65536;a.O=32768;a.X=65535;a.S=32768;a.L=15;a.u=[0,0,0,0,0,0,0,a.qc];a.Ea=[0,0,0,0,0,0];a.ta=[0,0,0,0];a.D=0;a.va=0;a.oc=[4,2,0,1];a.P=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.qa=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.rc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.cc=[0,0,0,0,0,0,0,0];a.bc=0;a.F=0;a.H=a.I=0;a.j=a.f=a.Ta=0;a.ma=-1;wd(a)}function wd(a){a.Na=255;a.Z=0;a.Mb=0;a.G=0;a.La=0;a.qb=0;a.Ma=0;a.Ja=0;a.ua=0;a.Wa=262143;a.wa=253952;a.F|=2;a.w&&sc(a)}function sc(a){a.Ja?(a.M=65536,a.Y=a.nc,a.ra=a.Yc,a.ub=a.Id,Ub(a.w,a.Ma&16?22:18)):(a.M=0,a.Y=a.mc,a.ra=a.ac,a.ub=a.gc,Ub(a.w,16))}h.Wb=function(){return 0};
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.cc=[0,0,0,0,0,0,0,0];a.bc=0;a.F=0;a.H=a.I=0;a.g=a.f=a.Ta=0;a.ma=-1;wd(a)}function wd(a){a.Na=255;a.Z=0;a.Mb=0;a.G=0;a.La=0;a.qb=0;a.Ma=0;a.Ja=0;a.ua=0;a.Wa=262143;a.wa=253952;a.F|=2;a.w&&sc(a)}function sc(a){a.Ja?(a.M=65536,a.Y=a.nc,a.ra=a.$c,a.ub=a.Md,Ub(a.w,a.Ma&16?22:18)):(a.M=0,a.Y=a.mc,a.ra=a.ac,a.ub=a.gc,Ub(a.w,16))}h.Wb=function(){return 0};
|
||||
h.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.fa,this.Ka]);a.set(2,bc(this.w));return a.data()};h.restore=function(a){var b=a[1];this.fa=b[1];Uc(this,b[3]);a:{b=this.w;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.I){for(var f=0,g=Array(b.I),l=0;l<e.length-1;)for(var m=e[l++],p=e[l++];m--;)g[f++]=p;e=g}f=b.W[d];if(!f||!f.restore(e)){n("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function xd(a){return a.N&65536?1:0}
|
||||
function yd(a){return a.O&32768?2:0}function zd(a){return a.X&65535?0:4}h.Da=function(){return this.S&32768?8:0};function Ad(a){var b=a.ra(a.u[7]);a.u[7]=a.u[7]+2&65535;return b}function Bd(a,b){a.u[7]=b&65535}function rc(a,b){return{dd:a,ab:b,next:null}}function pc(a,b){if(b!=a.U){var c=a.U;if(!c||c.ab<=b.ab)b.next=c,a.U=b;else{do{var d=c.next;if(!d||d.ab<=b.ab){b.next=d;c.next=b;break}c=d}while(c)}}a.F|=2}function Kb(a){return a.L=a.L&63728|a.Da()|zd(a)|yd(a)|xd(a)}
|
||||
function yd(a){return a.O&32768?2:0}function zd(a){return a.X&65535?0:4}h.Da=function(){return this.S&32768?8:0};function Ad(a){var b=a.ra(a.u[7]);a.u[7]=a.u[7]+2&65535;return b}function Bd(a,b){a.u[7]=b&65535}function rc(a,b){return{fd:a,ab:b,next:null}}function pc(a,b){if(b!=a.U){var c=a.U;if(!c||c.ab<=b.ab)b.next=c,a.U=b;else{do{var d=c.next;if(!d||d.ab<=b.ab){b.next=d;c.next=b;break}c=d}while(c)}}a.F|=2}function Kb(a){return a.L=a.L&63728|a.Da()|zd(a)|yd(a)|xd(a)}
|
||||
function uc(a,b){a.S=b<<12;a.X=~b&4;a.O=b<<14;a.N=b<<16;if((b^a.L)&2048)for(var c=a.Ea.length;0<=--c;){var d=a.u[c];a.u[c]=a.Ea[c];a.Ea[c]=d}a.D=b>>14&3;c=a.L>>14&3;a.D!=c&&(a.ta[c]=a.u[6],a.u[6]=a.ta[a.D]);a.L=b;a.F|=2}function P(a,b){a.F&128||(a.S=a.X=b,a.O=0)}function Cd(a,b,c){a.F&128||(a.S=a.X=a.N=b,a.O=c||0)}function Dd(a,b,c,d){a.F&128||(a.S=a.X=a.N=b,a.O=(c^b)&(d^b))}function Ed(a,b){a.F&128||(a.S=a.X=a.N=b,a.O=a.S^a.N>>1)}function Fd(a,b,c,d){a.F&128||(a.S=a.X=a.N=b,a.O=(c^d)&(d^b))}
|
||||
h.ea=function(a,b){if(!this.C){var c=!1;0>this.ma?this.ma=Kb(this):this.D||(a=4,c=!0);this.G&57344||(this.La=63222,this.qb=a);this.D=0;var d=this.ra(a|this.M),e=this.ra(a+2&65535|this.M);uc(this,e&-12289|this.ma>>2&12288);c&&(this.Z|=4,this.u[6]=4);Gd(this,this.ma);Gd(this,this.u[7]);Bd(this,d);this.F&=-113;this.ma=-1;if(26!=b)throw a;}};function Hd(a){var b=Id(a),c=Id(a)&-1793;a.L&49152&&(c=c&-225|a.L&63712);Bd(a,b);uc(a,c);a.F&=-17}
|
||||
function Jd(a,b,c){var d,e,f,g=0;d=b>>13;a.Ma&a.oc[a.D]||(d&=7);e=a.P[a.D][d];f=(a.qa[a.D][d]<<6)+(b&8191)&a.Wa;if(f<a.wa)f&1&&!(c&1)&&(a.Z|=64,a.ea(4,10));else if(a.Ma&16||253952<=f&&(f|=4186112),4186112>f){if(3932160<=f){f&=262143;var l=f>>13&31;31>l?a.Ma&32&&(f=a.rc[l]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}f>=a.wa&&4186112>f&&(a.Z|=32,a.ea(4,12))}switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?
|
||||
|
|
@ -119,140 +119,141 @@ function Jd(a,b,c){var d,e,f,g=0;d=b>>13;a.Ma&a.oc[a.D]||(d&=7);e=a.P[a.D][d];f=
|
|||
function Gd(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.G&57344||(a.La=a.La<<8|246);!a.D&&c<=a.Na&&4<c&&(c<=a.Na-32?(a.Z|=4,a.u[6]=4,a.ea(4,18)):(a.Z|=8,a.F|=4));a.ub(c,b)}
|
||||
function Md(a,b,c,d){var e,f,g=d&8?0:a.M;switch(b){case 0:return a.ea(4,20),0;case 1:return 6===c&&!a.D&&d&4&&(a.u[6]<=a.Na||65534<=a.u[6])&&(a.u[6]<=a.Na-32||65534<=a.u[6]?(a.Z|=4,a.u[6]=4,a.ea(4,22)):(a.Z|=8,a.F|=64)),a.b-=3,7===c?a.u[c]:a.u[c]|g;case 2:f=2;e=a.u[c];7!==c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!==c&&(e|=g);e=a.ra(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;7!==c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!==c&&(e|=g);e=a.ra(e)|g;
|
||||
a.b-=8;break;case 6:return e=Ad(a),e=e+a.u[c]&65535|g,a.b-=6,e;case 7:return e=Ad(a),e=e+a.u[c]&65535,e=a.ra(e|a.M)|g,a.b-=10,e}a.u[c]=a.u[c]+f&65535;!g||a.G&57344||(a.La=a.La<<8|f<<3&248|c);6==c&&!a.D&&d&4&&0>=f&&(a.u[6]<=a.Na||65534<=a.u[6])&&(a.u[6]<=a.Na-32?(a.Z|=4,a.u[6]=4,a.ea(4,24)):(a.Z|=8,a.F|=64));return e}h.zb=function(a){if(!this.Ja)return this.w.zb(a);this.C++;a=Kd(this,Jd(this,a,3));this.C--;return a};
|
||||
h.mb=function(a){if(!this.Ja)return this.w.mb(a);this.C++;a=this.ac(Jd(this,a,2));this.C--;return a};h.rb=function(a,b){this.Ja?(this.C++,Ld(this,Jd(this,a,5),b),this.C--):this.w.rb(a,b)};h.Eb=function(a,b){this.Ja?(this.C++,this.gc(Jd(this,a,4),b),this.C--):this.w.Eb(a,b)};h.mc=function(a,b,c){return Md(this,a,b,c)};h.nc=function(a,b,c){return Jd(this,Md(this,a,b,c),c)};h.ac=function(a){return this.w.ka(a)};h.Yc=function(a){return this.w.ka(Jd(this,a,2))};h.gc=function(a,b){this.w.Sa(a,b&65535)};
|
||||
h.Id=function(a,b){this.w.Sa(Jd(this,a,4),b)};function Nd(a,b,c){var d=a.f=b&7;(b=a.j=(b&56)>>3)?(d=Md(a,b,d,2),c&65536||61440!==(a.L&61440)&&(d&=65535),a.D=a.L>>12&3,c=a.ra(d|c&a.M),a.D=a.L>>14&3):c=6!=d||(a.L>>2&12288)===(a.L&12288)?a.u[d]:a.ta[a.L>>12&3];return c}function Od(a,b,c,d){a.G&57344||(a.La=22);var e=a.f=b&7;(b=a.j=(b&56)>>3)?(e=Md(a,b,e,4),c&65536||(e&=65535),a.D=a.L>>12&3,e=Jd(a,e|c&65536,4),a.D=a.L>>14&3,a.w.Sa(e,d)):6!=e||(a.L>>2&12288)===(a.L&12288)?a.u[e]=d:a.ta[a.L>>12&3]=d}
|
||||
function Pd(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?Kd(a,a.Y(b,c,3)):a.u[c]&255}function Qd(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?a.w.ka(a.Y(b,c,2)):a.u[c]}function Rd(a,b){var c=a.f=b&7;b=a.j=(b&56)>>3;return Md(a,b,c,8)}function Sd(a,b){var c=a.f=b&7;return(b=a.j=(b&56)>>3)?Kd(a,a.Y(b,c,3)):a.u[c]&255}function Td(a,b){var c=a.f=b&7;return(b=a.j=(b&56)>>3)?a.w.ka(a.Y(b,c,2)):a.u[c]}
|
||||
function Q(a,b,c,d){var e=a.f=b&7;(b=a.j=(b&56)>>3)?(e=a.Ta=a.Y(b,e,7),Ld(a,e,d.call(a,c,Kd(a,e)))):a.u[e]=a.u[e]&65280|d.call(a,c,a.u[e])}function R(a,b,c,d){var e=a.f=b&7;(b=a.j=(b&56)>>3)?(e=a.Y(b,e,6),a.w.Sa(e,d.call(a,c,a.w.ka(e)))):a.u[e]=d.call(a,c,a.u[e])}function Ud(a,b,c,d){var e=a.f=b&7;(b=a.j=(b&56)>>3)?Ld(a,a.Y(b,e,5),c):a.u[e]=c?d&1?c<<24>>24&65535:a.u[e]&-256|c&255:a.u[e]&-256;return c}function Vd(a,b,c){var d=a.f=b&7;(b=a.j=(b&56)>>3)?a.w.Sa(a.Y(b,d,4),c):a.u[d]=c&65535;return c}
|
||||
h.mb=function(a){if(!this.Ja)return this.w.mb(a);this.C++;a=this.ac(Jd(this,a,2));this.C--;return a};h.rb=function(a,b){this.Ja?(this.C++,Ld(this,Jd(this,a,5),b),this.C--):this.w.rb(a,b)};h.Eb=function(a,b){this.Ja?(this.C++,this.gc(Jd(this,a,4),b),this.C--):this.w.Eb(a,b)};h.mc=function(a,b,c){return Md(this,a,b,c)};h.nc=function(a,b,c){return Jd(this,Md(this,a,b,c),c)};h.ac=function(a){return this.w.ka(a)};h.$c=function(a){return this.w.ka(Jd(this,a,2))};h.gc=function(a,b){this.w.Sa(a,b&65535)};
|
||||
h.Md=function(a,b){this.w.Sa(Jd(this,a,4),b)};function Nd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=Md(a,b,d,2),c&65536||61440!==(a.L&61440)&&(d&=65535),a.D=a.L>>12&3,c=a.ra(d|c&a.M),a.D=a.L>>14&3):c=6!=d||(a.L>>2&12288)===(a.L&12288)?a.u[d]:a.ta[a.L>>12&3];return c}function Od(a,b,c,d){a.G&57344||(a.La=22);var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=Md(a,b,e,4),c&65536||(e&=65535),a.D=a.L>>12&3,e=Jd(a,e|c&65536,4),a.D=a.L>>14&3,a.w.Sa(e,d)):6!=e||(a.L>>2&12288)===(a.L&12288)?a.u[e]=d:a.ta[a.L>>12&3]=d}
|
||||
function Pd(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?Kd(a,a.Y(b,c,3)):a.u[c]&255}function Qd(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?a.w.ka(a.Y(b,c,2)):a.u[c]}function Rd(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return Md(a,b,c,8)}function Sd(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?Kd(a,a.Y(b,c,3)):a.u[c]&255}function Td(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.w.ka(a.Y(b,c,2)):a.u[c]}
|
||||
function Q(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.Ta=a.Y(b,e,7),Ld(a,e,d.call(a,c,Kd(a,e)))):a.u[e]=a.u[e]&65280|d.call(a,c,a.u[e])}function R(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.Y(b,e,6),a.w.Sa(e,d.call(a,c,a.w.ka(e)))):a.u[e]=d.call(a,c,a.u[e])}function Ud(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?Ld(a,a.Y(b,e,5),c):a.u[e]=c?d&1?c<<24>>24&65535:a.u[e]&-256|c&255:a.u[e]&-256;return c}function Vd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?a.w.Sa(a.Y(b,d,4),c):a.u[d]=c&65535;return c}
|
||||
function S(a,b,c){c&&(Bd(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3}
|
||||
h.fb=function(a){this.v.complete=!0;var b=this.v.kc=this.g&&Wd(this.g),c=a?this.v.Nb?0:1:-1;this.v.Nb=!1;this.ba=this.b=a;do{if(b){if(Xd(this.g,this.u[7],c)){this.da();break}c=1}if(this.F&&(this.F&112&&(this.F&32?this.ea(168,28):this.F&64?this.ea(4,30):this.F&16&&this.ea(12,32),this.F&=-113),this.F&7))if(this.F&2){this.F&=-3;var d=160,e=(this.Mb&224)>>5;if(a=this.U&&this.U.ab>e?this.U:null)d=a.dd,e=a.ab;e>(this.L&224)>>5?(this.F&4&&(this.u[7]=this.u[7]+2&65535,this.F&=-5),this.ea(d,26),e=!0):e=!1;
|
||||
if(e&&a)if(e=this.U,e==a)this.U=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e=d}}else this.F&1&&this.F++;this.G&57344||(this.La=0,this.qb=this.u[7]);this.F=this.F&7|this.L&16;this.decode(Ad(this))}while(0<this.b);return this.v.complete?this.ba-this.b:void 0===this.v.complete?0:-1};Ta(function(){for(var a=B(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new sd(d);A(d,c)}});function Yd(a,b){var c=b+a;Dd(this,c,a,b);return c&65535}
|
||||
h.fb=function(a){this.v.complete=!0;var b=this.v.kc=this.i&&Wd(this.i),c=a?this.v.Nb?0:1:-1;this.v.Nb=!1;this.ba=this.b=a;do{if(b){if(Xd(this.i,this.u[7],c)){this.da();break}c=1}if(this.F&&(this.F&112&&(this.F&32?this.ea(168,28):this.F&64?this.ea(4,30):this.F&16&&this.ea(12,32),this.F&=-113),this.F&7))if(this.F&2){this.F&=-3;var d=160,e=(this.Mb&224)>>5;if(a=this.U&&this.U.ab>e?this.U:null)d=a.fd,e=a.ab;e>(this.L&224)>>5?(this.F&4&&(this.u[7]=this.u[7]+2&65535,this.F&=-5),this.ea(d,26),e=!0):e=!1;
|
||||
if(e&&a)if(e=this.U,e==a)this.U=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e=d}}else this.F&1&&this.F++;this.G&57344||(this.La=0,this.qb=this.u[7]);this.F=this.F&7|this.L&16;this.decode(Ad(this))}while(0<this.b);return this.v.complete?this.ba-this.b:void 0===this.v.complete?0:-1};Ta(function(){for(var a=B(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new $c(d);A(d,c)}});function Yd(a,b){var c=b+a;Dd(this,c,a,b);return c&65535}
|
||||
function Zd(a,b){var c=b+a;Dd(this,c<<8,a<<8,b<<8);return c&255}function $d(a,b){a=b<<1;Ed(this,a);return a&65535}function ae(a,b){a=b<<1;Ed(this,a<<8);return a&255}function be(a,b){a=b&32768|b>>1|b<<16;Ed(this,a);return a&65535}function ce(a,b){a=b&2048|b>>1|b<<8;Ed(this,a<<8);return a&255}function de(a,b){a=b&~a;P(this,a);return a}function ee(a,b){a=b&~a;P(this,a<<8);return a}function fe(a,b){a|=b;P(this,a);return a}function ge(a,b){a|=b;P(this,a<<8);return a}
|
||||
function he(a,b){a=~b|65536;Cd(this,a);return a&65535}function ie(a,b){a=~b|256;Cd(this,a<<8);return a&255}function je(a,b){a=b-a;this.F&128||(this.S=this.X=a,this.O=b&(b^a));return a&65535}function ke(a,b){a=b-a;var c=a<<8;b<<=8;this.F&128||(this.S=this.X=c,this.O=b&(b^c));return a&255}function le(a,b){a=b+a;this.F&128||(this.S=this.X=a,this.O=a&(b^a));return a&65535}function me(a,b){a=b+a;var c=a<<8;this.F&128||(this.S=this.X=c,this.O=c&(b<<8^c));return a&255}
|
||||
function ne(a,b){a=-b;Cd(this,a,a&b&32768);return a&65535}function oe(a,b){a=-b;Cd(this,a<<8,(a&b&128)<<8);return a&255}function pe(a,b){a=b<<1|this.N>>16&1;Ed(this,a);return a&65535}function qe(a,b){a=b<<1|this.N>>16&1;Ed(this,a<<8);return a&255}function re(a,b){a=(this.N&65536|b)>>1|b<<16;Ed(this,a);return a&65535}function se(a,b){a=((this.N&65536)>>8|b)>>1|b<<8;Ed(this,a<<8);return a&255}function te(a,b){var c=b-a;Fd(this,c,a,b);return c&65535}
|
||||
function ue(a,b){var c=b-a;Fd(this,c<<8,a<<8,b<<8);return c&255}function ve(a,b){this.F&128||(this.S=this.X=b&65280,this.O=this.N=0);return(b<<8|b>>8)&65535}function we(a,b){a^=b;P(this,a);return a&65535}function xe(a){R(this,a,Qd(this,a),Yd);this.b-=this.j?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
||||
function ye(a){var b=Td(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.N=this.O=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.N=c<<17-b,c>>=b;else if(b)if(16<b)this.O=c,c=0;else{this.N=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.O=32768)}this.u[a]=c&65535;this.S=this.X=c;this.b-=(this.j?6:7)+b}
|
||||
function ze(a){var b=Td(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.N=this.O=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.N=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.N=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.O=32768)):d=c;this.u[a]=d>>16&65535;this.u[a|1]=d&65535;this.S=d>>16;this.X=d>>16|d;this.b-=(this.j?6:7)+b}function Ae(a){S(this,a,!xd(this))}function Be(a){S(this,a,xd(this))}
|
||||
function Ce(a){R(this,a,Qd(this,a),de);this.b-=this.j?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function De(a){Q(this,a,Pd(this,a),ee);this.b-=this.j?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function Ee(a){R(this,a,Qd(this,a),fe);this.b-=this.j?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function Fe(a){Q(this,a,Pd(this,a),ge);this.b-=this.j?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
||||
function Ge(a){P(this,Qd(this,a)&Td(this,a));this.b-=this.j?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function He(a){P(this,(Pd(this,a)&Sd(this,a))<<8);this.b-=this.j?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function Ie(a){S(this,a,zd(this))}function Je(a){S(this,a,!this.Da()==!yd(this))}function Ke(a){S(this,a,!zd(this)&&!this.Da()==!yd(this))}function Le(a){S(this,a,!xd(this)&&!zd(this))}function Me(a){S(this,a,zd(this)||!this.Da()!=!yd(this))}
|
||||
function ue(a,b){var c=b-a;Fd(this,c<<8,a<<8,b<<8);return c&255}function ve(a,b){this.F&128||(this.S=this.X=b&65280,this.O=this.N=0);return(b<<8|b>>8)&65535}function we(a,b){a^=b;P(this,a);return a&65535}function xe(a){R(this,a,Qd(this,a),Yd);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
||||
function ye(a){var b=Td(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.N=this.O=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.N=c<<17-b,c>>=b;else if(b)if(16<b)this.O=c,c=0;else{this.N=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.O=32768)}this.u[a]=c&65535;this.S=this.X=c;this.b-=(this.g?6:7)+b}
|
||||
function ze(a){var b=Td(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.N=this.O=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.N=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.N=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.O=32768)):d=c;this.u[a]=d>>16&65535;this.u[a|1]=d&65535;this.S=d>>16;this.X=d>>16|d;this.b-=(this.g?6:7)+b}function Ae(a){S(this,a,!xd(this))}function Be(a){S(this,a,xd(this))}
|
||||
function Ce(a){R(this,a,Qd(this,a),de);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function De(a){Q(this,a,Pd(this,a),ee);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function Ee(a){R(this,a,Qd(this,a),fe);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function Fe(a){Q(this,a,Pd(this,a),ge);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
||||
function Ge(a){P(this,Qd(this,a)&Td(this,a));this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function He(a){P(this,(Pd(this,a)&Sd(this,a))<<8);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function Ie(a){S(this,a,zd(this))}function Je(a){S(this,a,!this.Da()==!yd(this))}function Ke(a){S(this,a,!zd(this)&&!this.Da()==!yd(this))}function Le(a){S(this,a,!xd(this)&&!zd(this))}function Me(a){S(this,a,zd(this)||!this.Da()!=!yd(this))}
|
||||
function Ne(a){S(this,a,xd(this)||zd(this))}function Oe(a){S(this,a,!this.Da()!=!yd(this))}function Pe(a){S(this,a,this.Da())}function Qe(a){S(this,a,!zd(this))}function Re(a){S(this,a,!this.Da())}function Se(){this.ea(12,1);this.b-=5}function Te(a){S(this,a,!0)}function Ue(a){S(this,a,!yd(this))}function Ve(a){S(this,a,yd(this))}function T(a){a&1&&(this.N=0);a&2&&(this.O=0);a&4&&(this.X=1);a&8&&(this.S=0);this.b-=5}
|
||||
function We(a){var b=Qd(this,a);a=Td(this,a);Fd(this,b-a,a,b);this.b-=this.j?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function Xe(a){var b=Pd(this,a)<<8;a=Sd(this,a)<<8;Fd(this,b-a,a,b);this.b-=this.j?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}
|
||||
function We(a){var b=Qd(this,a);a=Td(this,a);Fd(this,b-a,a,b);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function Xe(a){var b=Pd(this,a)<<8;a=Sd(this,a)<<8;Fd(this,b-a,a,b);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}
|
||||
function Ye(a){var b=Td(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.N=this.O=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.X=d>>16|d,this.S=d>>16):(this.O=32768,this.X=d>>15|d,this.S=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.X=this.S=0,this.O=32768,this.N=65536,this.b-=7}function Ze(){this.ea(24,2);this.b-=25}function $e(){this.L&49152?(this.Z|=128,this.ea(4,3)):this.da();this.b-=7}
|
||||
function af(){this.ea(16,4);this.b-=25}var bf=[0,7,7,10,7,11,9,13];function cf(a){var b=this.b;Bd(this,Rd(this,a));this.b=b-bf[this.j]}var df=[0,14,14,17,14,18,16,20];function ef(a){var b=this.b,c=Rd(this,a);a=a>>6&7;Gd(this,this.u[a]);this.u[a]=this.u[7];Bd(this,c);this.b=b-df[this.j]}var ff=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function gf(a){var b=Qd(this,a),c=this.b;P(this,Vd(this,a,b));this.b=c-ff[(this.H?8:0)+this.j]+(7!=this.f||this.j?0:2)}
|
||||
function hf(a){var b=Pd(this,a);P(this,Ud(this,a,b,1)<<8);this.b-=this.j?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}var jf=[7,13,13,17,14,18,17,21];function kf(a){var b=Td(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.F&128||(this.S=b>>16,this.X=this.S|b,this.O=0,this.N=-32768>b||32767<b?65536:0);this.b-=23}function lf(){this.b-=5}function mf(){this.L&49152||(wd(this),this.w.reset());this.b-=667}
|
||||
function nf(){Hd(this);this.F|=this.L&16;this.b-=13}function of(a){if(a&8)V.call(this,a);else{var b=Id(this);a&=7;Bd(this,this.u[a]);this.u[a]=b;this.b-=9}}function W(a){a&1&&(this.N=65536);a&2&&(this.O=32768);a&4&&(this.X=0);a&8&&(this.S=32768);this.b-=5}function pf(a){var b=(a&448)>>6;if(this.u[b]=this.u[b]-1&65535)Bd(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function qf(a){R(this,a,Qd(this,a),te);this.b-=this.j?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
||||
function rf(a){R(this,a,0,ve);this.b-=this.j?9:3+(7==this.f?2:0)}function sf(){this.ea(28,5);this.b-=5}function tf(){this.F&4||this.B.$();this.F|=4;this.u[7]=this.u[7]+-2&65535;this.b-=3}function uf(a){R(this,a,Qd(this,a),we);this.b-=this.j?9:3+(7==this.f?2:0)}function V(a){var b;if(b=this.g)b=this.g,E(b,"undefined opcode "+K(b,a),!0,!0),b=Zb(b);b||this.ea(8,6)}function td(a){vf[a>>12].call(this,a)}function wf(a){xf[a>>6&3].call(this,a)}function yf(a){zf[a>>6&3].call(this,a)}
|
||||
function Af(a){Bf[a>>6&3].call(this,a)}function Cf(a){Wf[a&15].call(this,a)}function Xf(a){Yf[a&15].call(this,a)}function Zf(a){$f[a>>6&3].call(this,a)}function ag(a){bg[a>>6&3].call(this,a)}function cg(a){dg[a>>6&3].call(this,a)}
|
||||
var vf=[function(a){eg[a>>8&15].call(this,a)},gf,We,Ge,Ce,Ee,xe,V,function(a){fg[a>>8&15].call(this,a)},hf,Xe,He,De,Fe,qf,V],eg=[function(a){gg[a>>4&15].call(this,a)},Te,Qe,Ie,Je,Oe,Ke,Me,ef,ef,wf,yf,Af,V,V,V],xf=[function(a){Cd(this,Vd(this,a,0));this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,0,he);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,1,le);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,1,je);this.b-=this.j?9:3+(7==this.f?2:0)}],zf=[function(a){R(this,a,0,
|
||||
ne);this.b-=this.j?11:6},function(a){R(this,a,xd(this)?1:0,Yd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,xd(this)?1:0,te);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){a=Td(this,a);Cd(this,a);this.b-=this.j?4:3+(7==this.f?2:0)}],Bf=[function(a){R(this,a,0,re);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,0,pe);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,0,be);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){R(this,a,0,$d);this.b-=this.j?9:3+(7==this.f?2:0)}],
|
||||
gg=[function(a){hg[a&15].call(this,a)},V,V,V,cf,cf,cf,cf,of,V,Cf,Xf,rf,rf,rf,rf],hg=[$e,tf,nf,Se,af,mf,V,V,V,V,V,V,V,V,V,V],Wf=[lf,function(){this.N=0;this.b-=5},function(){this.O=0;this.b-=5},T,function(){this.X=1;this.b-=5},T,T,T,function(){this.S=0;this.b-=5},T,T,T,T,T,T,T],Yf=[lf,function(){this.N=65536;this.b-=5},function(){this.O=32768;this.b-=5},W,function(){this.X=0;this.b-=5},W,W,W,function(){this.S=32768;this.b-=5},W,W,W,W,W,W,W],fg=[Re,Pe,Le,Ne,Ue,Ve,Ae,Be,Ze,sf,Zf,ag,cg,V,V,V],$f=[function(a){Cd(this,
|
||||
Ud(this,a,0));this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ie);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,me);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,ke);this.b-=this.j?9:3+(7==this.f?2:0)}],bg=[function(a){Q(this,a,0,oe);this.b-=this.j?11:6},function(a){Q(this,a,xd(this)?1:0,Zd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,xd(this)?1:0,ue);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){a=Sd(this,a);Cd(this,a<<8);this.b-=this.j?4:3+(7==
|
||||
this.f?2:0)}],dg=[function(a){Q(this,a,0,se);this.b-=this.j?9+(this.Ta&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,qe);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ce);this.b-=this.j?9+(this.Ta&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,ae);this.b-=this.j?9:3+(7==this.f?2:0)}];function ud(a){ig[a>>12].call(this,a)}
|
||||
function af(){this.ea(16,4);this.b-=25}var bf=[0,7,7,10,7,11,9,13];function cf(a){var b=this.b;Bd(this,Rd(this,a));this.b=b-bf[this.g]}var df=[0,14,14,17,14,18,16,20];function ef(a){var b=this.b,c=Rd(this,a);a=a>>6&7;Gd(this,this.u[a]);this.u[a]=this.u[7];Bd(this,c);this.b=b-df[this.g]}var ff=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function gf(a){var b=Qd(this,a),c=this.b;P(this,Vd(this,a,b));this.b=c-ff[(this.H?8:0)+this.g]+(7!=this.f||this.g?0:2)}
|
||||
function hf(a){var b=Pd(this,a);P(this,Ud(this,a,b,1)<<8);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}var jf=[7,13,13,17,14,18,17,21];function kf(a){var b=Td(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.F&128||(this.S=b>>16,this.X=this.S|b,this.O=0,this.N=-32768>b||32767<b?65536:0);this.b-=23}function lf(){this.b-=5}function mf(){this.L&49152||(wd(this),this.w.reset());this.b-=667}
|
||||
function nf(){Hd(this);this.F|=this.L&16;this.b-=13}function of(a){if(a&8)V.call(this,a);else{var b=Id(this);a&=7;Bd(this,this.u[a]);this.u[a]=b;this.b-=9}}function W(a){a&1&&(this.N=65536);a&2&&(this.O=32768);a&4&&(this.X=0);a&8&&(this.S=32768);this.b-=5}function pf(a){var b=(a&448)>>6;if(this.u[b]=this.u[b]-1&65535)Bd(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function qf(a){R(this,a,Qd(this,a),te);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
||||
function rf(a){R(this,a,0,ve);this.b-=this.g?9:3+(7==this.f?2:0)}function sf(){this.ea(28,5);this.b-=5}function tf(){this.F&4||this.B.$();this.F|=4;this.u[7]=this.u[7]+-2&65535;this.b-=3}function uf(a){R(this,a,Qd(this,a),we);this.b-=this.g?9:3+(7==this.f?2:0)}function V(a){var b;if(b=this.i)b=this.i,E(b,"undefined opcode "+K(b,a),!0,!0),b=Zb(b);b||this.ea(8,6)}function ad(a){vf[a>>12].call(this,a)}function wf(a){xf[a>>6&3].call(this,a)}function yf(a){zf[a>>6&3].call(this,a)}
|
||||
function Af(a){Bf[a>>6&3].call(this,a)}function Cf(a){Df[a&15].call(this,a)}function Xf(a){Yf[a&15].call(this,a)}function Zf(a){$f[a>>6&3].call(this,a)}function ag(a){bg[a>>6&3].call(this,a)}function cg(a){dg[a>>6&3].call(this,a)}
|
||||
var vf=[function(a){eg[a>>8&15].call(this,a)},gf,We,Ge,Ce,Ee,xe,V,function(a){fg[a>>8&15].call(this,a)},hf,Xe,He,De,Fe,qf,V],eg=[function(a){gg[a>>4&15].call(this,a)},Te,Qe,Ie,Je,Oe,Ke,Me,ef,ef,wf,yf,Af,V,V,V],xf=[function(a){Cd(this,Vd(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,he);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,le);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,je);this.b-=this.g?9:3+(7==this.f?2:0)}],zf=[function(a){R(this,a,0,
|
||||
ne);this.b-=this.g?11:6},function(a){R(this,a,xd(this)?1:0,Yd);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,xd(this)?1:0,te);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Td(this,a);Cd(this,a);this.b-=this.g?4:3+(7==this.f?2:0)}],Bf=[function(a){R(this,a,0,re);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,pe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,be);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,$d);this.b-=this.g?9:3+(7==this.f?2:0)}],
|
||||
gg=[function(a){hg[a&15].call(this,a)},V,V,V,cf,cf,cf,cf,of,V,Cf,Xf,rf,rf,rf,rf],hg=[$e,tf,nf,Se,af,mf,V,V,V,V,V,V,V,V,V,V],Df=[lf,function(){this.N=0;this.b-=5},function(){this.O=0;this.b-=5},T,function(){this.X=1;this.b-=5},T,T,T,function(){this.S=0;this.b-=5},T,T,T,T,T,T,T],Yf=[lf,function(){this.N=65536;this.b-=5},function(){this.O=32768;this.b-=5},W,function(){this.X=0;this.b-=5},W,W,W,function(){this.S=32768;this.b-=5},W,W,W,W,W,W,W],fg=[Re,Pe,Le,Ne,Ue,Ve,Ae,Be,Ze,sf,Zf,ag,cg,V,V,V],$f=[function(a){Cd(this,
|
||||
Ud(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ie);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,me);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,ke);this.b-=this.g?9:3+(7==this.f?2:0)}],bg=[function(a){Q(this,a,0,oe);this.b-=this.g?11:6},function(a){Q(this,a,xd(this)?1:0,Zd);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,xd(this)?1:0,ue);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Sd(this,a);Cd(this,a<<8);this.b-=this.g?4:3+(7==
|
||||
this.f?2:0)}],dg=[function(a){Q(this,a,0,se);this.b-=this.g?9+(this.Ta&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,qe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ce);this.b-=this.g?9+(this.Ta&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,ae);this.b-=this.g?9:3+(7==this.f?2:0)}];function ud(a){ig[a>>12].call(this,a)}
|
||||
var ig=[function(a){jg[a>>8&15].call(this,a)},gf,We,Ge,Ce,Ee,xe,function(a){kg[a>>8&15].call(this,a)},function(a){lg[a>>8&15].call(this,a)},hf,Xe,He,De,Fe,qf,V],jg=[function(a){mg[a>>4&15].call(this,a)},Te,Qe,Ie,Je,Oe,Ke,Me,ef,ef,wf,yf,Af,function(a){ng[a>>6&3].call(this,a)},V,V],ng=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.ra(a|this.M);Bd(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Nd(this,a,0);Gd(this,a);P(this,a);this.b-=11},function(a){var b=Id(this),c=
|
||||
this.b;Od(this,a,0,b);P(this,b);this.b=c-jf[this.j]},function(a){P(this,Vd(this,a,this.Da?65535:0));this.b-=this.j?9:3+(7==this.f?2:0)}],mg=[function(a){og[a&15].call(this,a)},V,V,V,cf,cf,cf,cf,of,function(a){a&8?(this.L&49152||(this.L=this.L&-2017|(a&7)<<5,this.F|=1),this.b-=5):V.call(this,a)},Cf,Xf,rf,rf,rf,rf],og=[$e,tf,nf,Se,af,mf,function(){Hd(this);this.b-=13},V,V,V,V,V,V,V,V,V],kg=[kf,kf,Ye,Ye,ye,ye,ze,ze,uf,uf,V,V,V,V,pf,pf],lg=[Re,Pe,Le,Ne,Ue,Ve,Ae,Be,Ze,sf,Zf,ag,cg,function(a){pg[a>>6&3].call(this,
|
||||
a)},V,V],pg=[V,function(a){a=Nd(this,a,65536);Gd(this,a);P(this,a);this.b-=11},function(a){var b=Id(this),c=this.b;Od(this,a,65536,b);P(this,b);this.b=c-jf[this.j]},V];function qg(a){r.call(this,"ROM",a,qg);this.f=null;this.D=a.addr;this.j=a.size;this.G=a.writable;this.B=a.alias;this.C=a.file;this.H=pa(this.C);if(this.C){a=this.C;var b=qa(this.H);"json"!=b&&"hex"!=b&&(a=sa()+"/api/v1/dump?file="+this.C+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,f){rg(c,a,b,f)})}}u(qg);
|
||||
qg.prototype.Ba=function(a,b,c,d){this.w=b;this.b=c;this.g=d;sg(this)};qg.prototype.ya=function(){if(this.Ca){if(this.g){var a=this.g,b=this.id,c=this.D,d=this.j,e=this.Ca,f=[],g;for(g in e){var l=e[g];"number"==typeof l&&(e[g]=l={o:l});var m=l.o,p=l.a;if(void 0!==m){var q=f,m=[m>>>0,g],v=za(q,m,a.Sb);0>v&&q.splice(-(v+1),0,m)}p&&(l.a=p.replace(/''/g,'"'))}a.G.push({Nd:b,A:c,sc:d,Ca:e,Rb:f})}delete this.Ca}return!0};qg.prototype.xa=function(){return!0};
|
||||
this.b;Od(this,a,0,b);P(this,b);this.b=c-jf[this.g]},function(a){P(this,Vd(this,a,this.Da?65535:0));this.b-=this.g?9:3+(7==this.f?2:0)}],mg=[function(a){og[a&15].call(this,a)},V,V,V,cf,cf,cf,cf,of,function(a){a&8?(this.L&49152||(this.L=this.L&-2017|(a&7)<<5,this.F|=1),this.b-=5):V.call(this,a)},Cf,Xf,rf,rf,rf,rf],og=[$e,tf,nf,Se,af,mf,function(){Hd(this);this.b-=13},V,V,V,V,V,V,V,V,V],kg=[kf,kf,Ye,Ye,ye,ye,ze,ze,uf,uf,V,V,V,V,pf,pf],lg=[Re,Pe,Le,Ne,Ue,Ve,Ae,Be,Ze,sf,Zf,ag,cg,function(a){pg[a>>6&3].call(this,
|
||||
a)},V,V],pg=[V,function(a){a=Nd(this,a,65536);Gd(this,a);P(this,a);this.b-=11},function(a){var b=Id(this),c=this.b;Od(this,a,65536,b);P(this,b);this.b=c-jf[this.g]},V];function qg(a){r.call(this,"ROM",a,qg);this.f=null;this.D=a.addr;this.g=a.size;this.G=a.writable;this.B=a.alias;this.C=a.file;this.H=pa(this.C);if(this.C){a=this.C;var b=qa(this.H);"json"!=b&&"hex"!=b&&(a=sa()+"/api/v1/dump?file="+this.C+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,f){rg(c,a,b,f)})}}u(qg);
|
||||
qg.prototype.Ba=function(a,b,c,d){this.w=b;this.b=c;this.i=d;sg(this)};qg.prototype.ya=function(){if(this.Ca){if(this.i){var a=this.i,b=this.id,c=this.D,d=this.g,e=this.Ca,f=[],g;for(g in e){var l=e[g];"number"==typeof l&&(e[g]=l={o:l});var m=l.o,p=l.a;if(void 0!==m){var q=f,m=[m>>>0,g],v=za(q,m,a.Sb);0>v&&q.splice(-(v+1),0,m)}p&&(l.a=p.replace(/''/g,'"'))}a.G.push({Rd:b,A:c,sc:d,Ca:e,Rb:f})}delete this.Ca}return!0};qg.prototype.xa=function(){return!0};
|
||||
function rg(a,b,c,d){if(d)a.na("Unable to load system ROM (error "+d+": "+b+")");else{jb(a.Gb,b,c);var e;if("["==c.charAt(0)||"{"==c.charAt(0))try{var f,g,l=eval("("+c+")");if(f=l.bytes)a.f=f;else if(f=l.words)for(a.f=Array(2*f.length),g=e=0;e<f.length;e++)a.f[g++]=f[e]&255,a.f[g++]=f[e]>>8&255;else if(f=l.data)for(a.f=Array(4*f.length),g=e=0;e<f.length;e++)a.f[g++]=f[e]&255,a.f[g++]=f[e]>>8&255,a.f[g++]=f[e]>>16&255,a.f[g++]=f[e]>>24&255;else a.f=l;a.Ca=l.symbols;if(!a.f.length){n("Empty ROM: "+
|
||||
b);return}if(1==a.f.length){n(a.f[0]);return}}catch(m){a.na("ROM data error: "+m.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.f=Array(b.length),e=0;e<b.length;e++)a.f[e]=na(b[e],16);sg(a)}}
|
||||
function sg(a){if(!pb(a))if(!a.C)H(a);else if(a.f&&a.w){a.j||(a.j=a.f.length);if(a.f.length!=a.j)rb(a,"ROM size ("+k(a.f.length,8,!0)+") does not match specified size ("+k(a.j,8,!0)+")");else{var b;b=a.D;if(Xb(a.w,b,a.j,a.G?1:Bc)){var c;for(c=0;c<a.f.length;c++)a.w.rb(b+c,a.f[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.B?b.push(a.B):null!=a.B&&a.B.length&&(b=a.B);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Wb(d.w,d.D,d.j);Vb(d.w,e,d.j,f)}delete a.f}}H(a)}}
|
||||
Ta(function(){for(var a=B(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new qg(d);A(d,c)}});function tg(a){r.call(this,"RAM",a,tg);this.B=a.addr;this.j=a.size;this.f=!1}u(tg);tg.prototype.Ba=function(a,b,c,d){this.w=b;this.b=c;this.g=d;!this.f&&this.j&&Xb(this.w,this.B,this.j,1)&&(this.f=!0);this.f||n("No RAM allocated");H(this)};tg.prototype.ya=function(){return!0};tg.prototype.xa=function(){return!0};tg.prototype.reset=function(){};
|
||||
Ta(function(){for(var a=B(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new tg(d);A(d,c)}});function ug(a){r.call(this,"Keyboard",a,ug,65536);H(this)}u(ug);ug.prototype.oa=function(){return!1};ug.prototype.Ba=function(a,b,c,d){this.B=a;this.b=c;this.g=d};Ta(function(){for(var a=B(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ug(d);A(d,c)}});
|
||||
function sg(a){if(!pb(a))if(!a.C)H(a);else if(a.f&&a.w){a.g||(a.g=a.f.length);if(a.f.length!=a.g)rb(a,"ROM size ("+k(a.f.length,8,!0)+") does not match specified size ("+k(a.g,8,!0)+")");else{var b;b=a.D;if(Xb(a.w,b,a.g,a.G?1:Bc)){var c;for(c=0;c<a.f.length;c++)a.w.rb(b+c,a.f[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.B?b.push(a.B):null!=a.B&&a.B.length&&(b=a.B);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Wb(d.w,d.D,d.g);Vb(d.w,e,d.g,f)}delete a.f}}H(a)}}
|
||||
Ta(function(){for(var a=B(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new qg(d);A(d,c)}});function tg(a){r.call(this,"RAM",a,tg);this.B=a.addr;this.g=a.size;this.f=!1}u(tg);tg.prototype.Ba=function(a,b,c,d){this.w=b;this.b=c;this.i=d;!this.f&&this.g&&Xb(this.w,this.B,this.g,1)&&(this.f=!0);this.f||n("No RAM allocated");H(this)};tg.prototype.ya=function(){return!0};tg.prototype.xa=function(){return!0};tg.prototype.reset=function(){};
|
||||
Ta(function(){for(var a=B(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new tg(d);A(d,c)}});function ug(a){r.call(this,"Keyboard",a,ug,65536);H(this)}u(ug);ug.prototype.oa=function(){return!1};ug.prototype.Ba=function(a,b,c,d){this.B=a;this.b=c;this.i=d};Ta(function(){for(var a=B(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ug(d);A(d,c)}});
|
||||
function Y(a){this.C=this.G=null;this.T=a.tabSize;this.M=a.charBOL;this.H=0;r.call(this,"SerialPort",a,Y,8388608);var b=a.binding;if("console"==b)this.G="";else{var c;a=vg;b&&(void 0===c&&(c="Panel"),(c=mb(c,this.id))&&(b=c.J[b])&&this.oa(null,a,b))}this.I=this.K=null;this.exports={connect:this.Zb,receiveData:this.Lb}}u(Y);var vg="buffer";h=Y.prototype;
|
||||
h.oa=function(a,b,c){var d=this;switch(b){case vg:return this.J[b]=this.C=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.Lb(b);return!0},c.onkeypress=function(a){a=a||window.event;d.Lb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
|
||||
h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.g=d;var e=this;this.aa=rc(48,4);this.U=oc(this.b,function(){e.f&128||!e.D.length||(e.R=e.D.shift(),e.f|=128,e.f&64&&pc(e.b,e.aa))});this.ba=rc(52,4);this.V=oc(this.b,function(){e.j|=128;e.j&64&&pc(e.b,e.ba)});lc(b,this,wg);H(this)};
|
||||
h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.i=d;var e=this;this.aa=rc(48,4);this.U=oc(this.b,function(){e.f&128||!e.D.length||(e.R=e.D.shift(),e.f|=128,e.f&64&&pc(e.b,e.aa))});this.ba=rc(52,4);this.V=oc(this.b,function(){e.g|=128;e.g&64&&pc(e.b,e.ba)});lc(b,this,wg);H(this)};
|
||||
h.Zb=function(){if(!this.I){var a=Oc(this.B,"connection");if(a){var b=a.split("->");if(2==b.length){var c=xa(b[0]);if(c!=this.Ua)return;b=xa(b[1]);if(this.I=lb(b)){var d=this.I.exports;if(d){var e=d.connect;e&&e.call(this.I);if(this.K=d.receiveData){this.status(this.Gb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.ya=function(a,b){if(!b)if(this.Zb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
h.xa=function(a){return a?this.save():!0};h.reset=function(){xg(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return xg(this)};function xg(a){a.R=0;a.f=0;a.j=128;a.D=[];return!0}h.Lb=function(a){if("number"==typeof a)this.D.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.D.push(a.charCodeAt(b));else this.D=this.D.concat(a);qc(this.b,this.U,1);return!0};h.Nc=function(){return this.f&65535};h.xd=function(a){this.f=this.f&-112|a&111};
|
||||
h.Mc=function(){this.f&=-129;0<this.D.length&&qc(this.b,this.U,1);return this.R};h.wd=function(){};h.$c=function(){return this.j};h.Kd=function(a){128==(this.j&192)&&a&64&&qc(this.b,this.V,1);this.j=this.j&-70|a&69};h.Zc=function(){return 0};
|
||||
h.Jd=function(a){if(a&=255){E(this,"transmitByte("+k(a,2,!0)+")");this.K&&this.K.call(this.I,a);if(this.C)if(13==a)this.H=0;else if(8==a)this.C.value=this.C.value.slice(0,-1),0<this.H&&this.H--;else{var b;b=(b=ya[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.T||8,c=a-this.H%a,this.T&&(b=wa("",c)));this.M&&!this.H&&c&&(b=String.fromCharCode(this.M)+b);this.C.value+=b;this.C.scrollTop=this.C.scrollHeight;this.H+=c}else if(null!=this.G){if(10==a||1024<=this.G.length)this.i(this.G),
|
||||
this.G="";10!=a&&(this.G+=String.fromCharCode(a))}this.j&=-129;qc(this.b,this.V,1)}};var yg={},wg=(yg[65392]=[null,null,Y.prototype.Nc,Y.prototype.xd,"RCSR"],yg[65394]=[null,null,Y.prototype.Mc,Y.prototype.wd,"RBUF"],yg[65396]=[null,null,Y.prototype.$c,Y.prototype.Kd,"XCSR"],yg[65398]=[null,null,Y.prototype.Zc,Y.prototype.Jd,"XBUF"],yg);Ta(function(){for(var a=B(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Y(d);A(d,c)}});function vc(a){r.call(this,"PC11",a,vc);this.f=0}u(vc);
|
||||
h=vc.prototype;h.oa=function(){return!1};h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.g=d;H(this)};h.ya=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){this.f&=-2241};h.save=function(){return(new O(this)).data()};h.restore=function(){return!0};
|
||||
function zg(a){r.call(this,"Debugger",a,zg);this.ja=a.base||16;this.wa=!1;this.R=this.va=this.H=0;this.U=!1;this.C=-1;this.j=[];this.aa={}}u(zg);var Ag={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};zg.prototype.Xb=function(){return-1};zg.prototype.Yb=function(){};
|
||||
function Bg(a,b,c,d){if(c)if(b){0>a.C&&a.j.length&&(a.C=0);if(0>a.C||b!=a.j[a.C])a.j.splice(0,0,b),a.C=0;a.C--}else a.U?b="end":b=a.j[a.C+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(xa(b.substring(c,f))),c=f+1}}return a}
|
||||
function Cg(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
||||
h.xa=function(a){return a?this.save():!0};h.reset=function(){xg(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return xg(this)};function xg(a){a.R=0;a.f=0;a.g=128;a.D=[];return!0}h.Lb=function(a){if("number"==typeof a)this.D.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.D.push(a.charCodeAt(b));else this.D=this.D.concat(a);qc(this.b,this.U,1);return!0};h.Pc=function(){return this.f&65535};h.Bd=function(a){this.f=this.f&-112|a&111};
|
||||
h.Oc=function(){this.f&=-129;0<this.D.length&&qc(this.b,this.U,1);return this.R};h.Ad=function(){};h.bd=function(){return this.g};h.Od=function(a){128==(this.g&192)&&a&64&&qc(this.b,this.V,1);this.g=this.g&-70|a&69};h.ad=function(){return 0};
|
||||
h.Nd=function(a){if(a&=255){E(this,"transmitByte("+k(a,2,!0)+")");this.K&&this.K.call(this.I,a);if(this.C)if(13==a)this.H=0;else if(8==a)this.C.value=this.C.value.slice(0,-1),0<this.H&&this.H--;else{var b;b=(b=ya[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.T||8,c=a-this.H%a,this.T&&(b=va("",c)));this.M&&!this.H&&c&&(b=String.fromCharCode(this.M)+b);this.C.value+=b;this.C.scrollTop=this.C.scrollHeight;this.H+=c}else if(null!=this.G){if(10==a||1024<=this.G.length)this.j(this.G),
|
||||
this.G="";10!=a&&(this.G+=String.fromCharCode(a))}this.g&=-129;qc(this.b,this.V,1)}};var yg={},wg=(yg[65392]=[null,null,Y.prototype.Pc,Y.prototype.Bd,"RCSR"],yg[65394]=[null,null,Y.prototype.Oc,Y.prototype.Ad,"RBUF"],yg[65396]=[null,null,Y.prototype.bd,Y.prototype.Od,"XCSR"],yg[65398]=[null,null,Y.prototype.ad,Y.prototype.Nd,"XBUF"],yg);Ta(function(){for(var a=B(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Y(d);A(d,c)}});
|
||||
function vc(a){r.call(this,"PC11",a,vc);this.g=this.f=0}u(vc);h=vc.prototype;h.oa=function(){return!1};h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.i=d;lc(b,this,zg);H(this)};h.ya=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){this.f&=-2241;this.g=0};h.save=function(){return(new O(this)).data()};h.restore=function(){return!0};h.Ic=function(){return this.f};
|
||||
h.ud=function(a){a&1&&(this.f&32768?a&=-2:(this.f&=-129,this.f|=2048));this.f=this.f&-66|a&65};h.Hc=function(){return this.g};h.td=function(){};var Ag={},zg=(Ag[65384]=[null,null,vc.prototype.Ic,vc.prototype.ud,"PRS"],Ag[65386]=[null,null,vc.prototype.Hc,vc.prototype.td,"PRB"],Ag);function Bg(a){r.call(this,"Debugger",a,Bg);this.ja=a.base||16;this.wa=!1;this.R=this.va=this.H=0;this.U=!1;this.C=-1;this.g=[];this.aa={}}u(Bg);
|
||||
var Cg={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};Bg.prototype.Xb=function(){return-1};Bg.prototype.Yb=function(){};
|
||||
function Dg(a,b,c,d){if(c)if(b){0>a.C&&a.g.length&&(a.C=0);if(0>a.C||b!=a.g[a.C])a.g.splice(0,0,b),a.C=0;a.C--}else a.U?b="end":b=a.g[a.C+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(xa(b.substring(c,f))),c=f+1}}return a}
|
||||
function Eg(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
||||
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
|
||||
function Dg(a,b,c){var d;if(b){b=Eg(a,b);for(var e=0,f=!1,g=b,l=[],m=[],p=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<p.length;){var q=p[e++],v=q.length,q=xa(q);if(!q){f=!0;break}q=Fg(a,q,null,!1===c);if(void 0===q){f=!0;c=!1;break}l.push(q);if(e==p.length)break;var q=p[e++],w=q.length;m.length&&Ag[q]<Ag[m[m.length-1]]&&Cg(l,m,1);m.push(q);b=b.substr(v+w)}Cg(l,m)&&1==l.length||(f=!0);f?c&&a.i("error parsing '"+g+"' at character "+(g.length-b.length)):(d=l.pop(),c&&Gg(a,null,
|
||||
d))}return d}function Eg(a,b){for(var c,d=a.wa?"(":"{",e=a.wa?")":"}",f=new RegExp(a.wa?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=Dg(a,c[1]);b=b.replace(d+c[1]+e,null!=g?K(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.R-a.va}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||
function Fg(a,b,c,d){var e;null!=b?(e=a.Xb(b),0<=e?e=a.Yb(e):(e=a.aa[b],null==e&&(e=na(b,a.ja))),null!=e||d||a.i("invalid "+(c?c:"value")+": "+b)):d||a.i("missing "+(c||"value"));return e}
|
||||
function Gg(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";if(!f||4<f)f=4;for(var l=0;l<f;l++){g&&(g=","+g);var m=d&255,p=8,q="";p?32<p&&(p=32):p=32;if(null==m||isNaN(m))for(;0<p--;)q="?"+q;else for(;0<p--;)q=(m&1?"1":"0")+q,m>>=1;g=q+g;d>>=8}d=k(c,0,!0)+" "+c+". "+oa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}function Hg(a,b){if(b)return Gg(a,b,a.aa[b]);var c=0;for(b in a.aa)Gg(a,b,a.aa[b]),c++;return 0<c}
|
||||
function K(a,b,c,d){switch(a.ja){case 8:a=oa(b,3*c);break;case 10:a=b.toString();break;default:a=k(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}function Ig(a){zg.call(this,a);this.wa=!0;this.K=Z(0);this.Oa=Z(0);this.T=Z(0);this.G=[];this.f=this.M=this.D=[];Jg(this);this.ma=0;Kg(this);this.za={};Lg(this,a.messages);this.Fa=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Rc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Rc(b,a)})}
|
||||
u(Ig,zg);
|
||||
var Mg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Ng=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),Og=
|
||||
function Fg(a,b,c){var d;if(b){b=Gg(a,b);for(var e=0,f=!1,g=b,l=[],m=[],p=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<p.length;){var q=p[e++],v=q.length,q=xa(q);if(!q){f=!0;break}q=Hg(a,q,null,!1===c);if(void 0===q){f=!0;c=!1;break}l.push(q);if(e==p.length)break;var q=p[e++],w=q.length;m.length&&Cg[q]<Cg[m[m.length-1]]&&Eg(l,m,1);m.push(q);b=b.substr(v+w)}Eg(l,m)&&1==l.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=l.pop(),c&&Ig(a,null,
|
||||
d))}return d}function Gg(a,b){for(var c,d=a.wa?"(":"{",e=a.wa?")":"}",f=new RegExp(a.wa?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=Fg(a,c[1]);b=b.replace(d+c[1]+e,null!=g?K(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.R-a.va}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||
function Hg(a,b,c,d){var e;null!=b?(e=a.Xb(b),0<=e?e=a.Yb(e):(e=a.aa[b],null==e&&(e=na(b,a.ja))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
|
||||
function Ig(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";if(!f||4<f)f=4;for(var l=0;l<f;l++){g&&(g=","+g);var m=d&255,p=8,q="";p?32<p&&(p=32):p=32;if(null==m||isNaN(m))for(;0<p--;)q="?"+q;else for(;0<p--;)q=(m&1?"1":"0")+q,m>>=1;g=q+g;d>>=8}d=k(c,0,!0)+" "+c+". "+oa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}function Jg(a,b){if(b)return Ig(a,b,a.aa[b]);var c=0;for(b in a.aa)Ig(a,b,a.aa[b]),c++;return 0<c}
|
||||
function K(a,b,c,d){switch(a.ja){case 8:a=oa(b,3*c);break;case 10:a=b.toString();break;default:a=k(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}function Kg(a){Bg.call(this,a);this.wa=!0;this.K=Z(0);this.Oa=Z(0);this.T=Z(0);this.G=[];this.f=this.M=this.D=[];Lg(this);this.ma=0;Mg(this);this.za={};Ng(this,a.messages);this.Fa=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Rc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Rc(b,a)})}
|
||||
u(Kg,Bg);
|
||||
var Og={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Pg=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),Qg=
|
||||
{61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],33024:[23,
|
||||
4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,63],
|
||||
35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Pg=[0],Qg=[58,60,65,96,108,
|
||||
110,100,101,102,103,104,105,59,64];h=Ig.prototype;
|
||||
h.Ba=function(a,b,c,d){this.w=b;this.b=c;this.B=a;(a=Oc(a,"messages"))&&Lg(this,a);this.Wa=Og;this.kb=1145>this.b.Ya?Qg:[];Rg(this,function(a){a:{var b=d.w.W,c=a[0],e=a=0,m=b.length;if(c){a=d.Y(Sg(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.w.ga;m=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;m--;){var q=b[e];q.type==c?p++||d.i("..."):(c=q.type,p=ac[c],q&&d.i(k(q.id,8)+" %"+k(e<<d.w.ga,
|
||||
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]}},Rg=[0],Sg=[58,60,65,96,108,
|
||||
110,100,101,102,103,104,105,59,64];h=Kg.prototype;
|
||||
h.Ba=function(a,b,c,d){this.w=b;this.b=c;this.B=a;(a=Oc(a,"messages"))&&Ng(this,a);this.Wa=Qg;this.kb=1145>this.b.Ya?Sg:[];Tg(this,function(a){a:{var b=d.w.W,c=a[0],e=a=0,m=b.length;if(c){a=d.Y(Ug(d,c));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.w.ga;m=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;m--;){var q=b[e];q.type==c?p++||d.j("..."):(c=q.type,p=ac[c],q&&d.j(k(q.id,8)+" %"+k(e<<d.w.ga,
|
||||
8)+" %%"+k(q.A,8)+" "+k(q.tb,4,!0)+" "+k(q.size,4,!0)+" "+p),c!=Ac&&(c=-1),p=0);a+=d.w.sa;e++}}});H(this)};
|
||||
h.oa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.la=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Rc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.j.length-1&&(b=d.j[++d.C])):40==a.keyCode&&(0<d.C?b=d.j[--d.C]:(b="",d.C=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Na(c,function(){if(d.la){var a=d.la.value;
|
||||
d.la.value="";Rc(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Na(c,function(a){var b=!1;ob(d,!0)||(nb(d,!0),b=d.fb(a?1:0),nb(d,!1));return b}),!0}return!1};h.sb=function(){this.la&&this.la.focus()};h.Y=function(a){a=a&&a.A;null==a&&(a=-1);return a};h.lb=function(a,b){var c=255,d=this.Y(a,!1,1);-1!==d&&(c=a.vb?this.w.zb(d):this.b.zb(d),b&&Tg(a,b));return c};h.ka=function(a,b){var c=65535,d=this.Y(a,!1,2);-1!==d&&(c=a.vb?this.w.mb(d):this.b.mb(d),b&&Tg(a,b));return c};
|
||||
h.Db=function(a,b,c){var d=this.Y(a,!0,1);-1!==d&&(a.vb?this.w.rb(d,b):this.b.rb(d,b),c&&Tg(a,c),this.B.$(!0))};h.Sa=function(a,b,c){var d=this.Y(a,!0,2);-1!==d&&(a.vb?this.w.Eb(d,b):this.b.Eb(d,b),c&&Tg(a,c),this.B.$(!0))};function Z(a,b){return{A:a,vb:b,Aa:!1}}function Ug(a){return[a.A,a.Aa]}function Vg(a){return{A:a[0],Aa:a[1]}}
|
||||
function Sg(a,b,c){var d,e=(c?a.K:a.Oa).A;c=!1;if(void 0!==b){b=Eg(a,b);"%"==b.charAt(0)&&(c=!0,b=b.substr(1));d=b;var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),e=0;e<a.G.length;e++){var g=a.G[e].Ca[d];if(void 0!==g){d=g.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;e=Dg(a,b,void 0)}null!=e&&(d=Z(e,c));return d}function Wg(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.hc=Bg(a,b.dc=c[2]))}function Tg(a,b){null!=a.A&&(a.A+=b||1)}
|
||||
function Lg(a,b){a.g=a;a.ia=a.jc=536870912;a.pa=null;a.ua=[];b=Bg(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in I){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ia|=I[c],a.i(c+" messages enabled"))}}function Rg(a,b){for(var c in I)if(64==I[c]){a.za[c]=b;break}}
|
||||
h.Xb=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function Xg(a){return 6>a?"R"+a:6==a?"SP":"PC"}h.Yb=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Ea[a-8]:20>a?b=this.b.ta[a-16]:20==a&&(b=Kb(this.b)));return b};
|
||||
h.message=function(a,b){b&&(a+=" @"+K(this,Z(this.b.qb).A));this.ia&1073741824?this.ua.push(a):this.pa&&a==this.pa||(this.pa=a,this.ia&-2147483648&&(this.da(),a+=" (cpu halted)"),this.i(a),this.b&&(a=this.b,Xc(a),a.la=0,a.B.$()))};
|
||||
function Kg(a){var b;if(Wd(a)){if(!a.I||!a.I.length){a.I=Array(1E3);for(b=0;b<a.I.length;b++)a.I[b]=Z();a.fa=0;a.i("instruction history buffer allocated")}if(!a.ba||!a.ba.length)for(a.ba=Array(256),b=0;b<a.ba.length;b++)a.ba[b]=[b,0]}else a.I&&a.I.length&&a.i("instruction history buffer freed"),a.fa=0,a.I=[],a.ba=[]}h.eb=function(a,b){if(!Yg(this,b))return!1;this.b.eb(a);return!0};
|
||||
h.fb=function(a,b,c){if(!Yg(this))return!1;this.H=0;a||Wd(this)&&Xd(this,this.b.u[7],0);try{a=Yc(this.b,a);var d=this.b.fb(a);0<d&&(Zc(this.b,a),this.H+=d,Vc(this.b,d,!0),Sc(this.b,d),this.R++)}catch(e){"number"!=typeof e&&(this.H=0,rb(this.b,e.stack||e.message))}!1!==c&&this.B.$();this.$(b||!1);return 0<this.H};h.da=function(a){this.b&&this.b.da(a)};h.$=function(a){void 0===a&&(a=!0);this.K=Z(this.b.u[7]);a&&1!=this.V?Zg(this):$g(this)};
|
||||
function Yg(a,b){var c;(c=!a.b||!pb(a.b))||(c=a.b,c.v.ha?c=!0:(c.i(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.v.ca?(b||a.i("cpu busy or unavailable, command ignored"),!1):!qb(a.b)}h.ya=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};h.xa=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Kg(this);this.R=this.va=0;this.pa=null;this.H=0;this.K=Z(this.b.u[7]);this.v.ca=!1;ah(this);a||this.$()};
|
||||
h.save=function(){var a=new O(this);a.set(0,Ug(this.K));a.set(1,Ug(this.T));a.set(2,[this.j,this.U,this.ia]);a.set(3,this.G);return a.data()};h.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Vg(a[b++]),this.T=Vg(a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.U=a[b][1],this.ia|=a[b][2]);a[3]&&(this.G=a[3]);return!0};h.start=function(a,b){this.V||this.i("running");this.v.ca=!0;this.wb=a;this.yb=b};
|
||||
h.stop=function(a,b){if(this.v.ca){this.v.ca=!1;this.H=b-this.yb;if(!this.V){b="stopped";if(this.H){a-=this.wb;var c=0<a?Math.round(1E3*this.H/a):0;b+=" (";Wd(this)&&(b+=this.R+" opcodes, ",this.va-=this.R,this.R=0);b+=this.H+" cycles, "+a+" ms, "+c+" hz)"}else G(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.i(b)}this.$(!0);this.sb();ah(this,this.b.u[7])}};function Wd(a){return 1<a.f.length||!!a.ma}
|
||||
function Xd(a,b,c){var d=a.b;if(0<c&&(a.ma&&!--a.ma||Jc(a,b,1,a.f)))return!0;0<=c&&a.ba.length&&(a.R++,null!=a.b.mb(b)&&(b=a.I[a.fa],b.A=d.u[7],b.Aa=!1,++a.fa==a.I.length&&(a.fa=0)));return!1}function Zb(a){var b=a.b;if(b.v.ca)throw Bd(b,a.b.qb),a.da(),-1;return!1}function Jg(a){var b,c;a.f=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];var d=a.w;c=a.Y(c);Kc(d.W[c>>>d.ga],!1)}a.M=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.w,c=a.Y(c),Kc(d.W[c>>>d.ga],!0);a.D=["bw"];a.Ta=0}
|
||||
h.Pa=function(a,b,c){var d=!0;c||bh(this,a,b,!1,!0);if(a!=this.f){var e=this.Y(b);if(-1===e)this.i("invalid address: "+K(this,b.A)),d=!1;else{var f=this.w;f.W[e>>>f.ga].Pa(e&f.w,a==this.D)}}d&&(a.push(b),c?b.Aa=!0:(ch(this,a,a.length-1,"set"),Kg(this)));return d};function bh(a,b,c,d,e){var f=!1;c=a.Y(c);for(var g=1;g<b.length;g++){var l=b[g];if(c==a.Y(l)&&(!d||l.Aa)){f=!0;l.Aa||e||ch(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.w,Kc(d.W[c>>>d.ga],b==a.D));l.Aa||Kg(a);break}}return f}
|
||||
function dh(a,b){for(var c=1;c<b.length;c++)ch(a,b,c);return b.length-1}function ch(a,b,c,d){c=b[c];a.i(b[0]+" "+K(a,c.A)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}function ah(a,b){if(void 0!==b)Jc(a,b,1,a.f,!0),a.V=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.Aa){if(!bh(a,a.f,c,!0))break;b=0}}}
|
||||
function Jc(a,b,c,d,e){var f=!1;if(!a.Ta++)for(var g=1;!f&&g<d.length;g++){var l=d[g];if(!e||l.Aa)for(var m=a.Y(l),p=0;p<c;p++)if(b+p==m){var q,f=!0;l.Aa&&(bh(a,d,l,!0),e=!0);if(q=l.hc){for(var f=!1,v=0;v<q.length;v++)if(!eh(a,q[v],!0)){if(q[v].indexOf("if")){f=!0;break}for(var w=v+1;w<q.length&&q[w].indexOf("else");w++)v++;if(w==q.length){f=!0;break}}a.b.v.ca||(f=!0)}if(f){e||ch(a,d,g,"hit");break}}}a.Ta--;return f}
|
||||
function fh(a,b,c,d){var e=Z(b.A),f=a.ka(b,2),g,l;for(l in a.Wa)if(g=a.Wa[l][f&l])break;g||(g=Pg);var m=g[0];0<=a.kb.indexOf(m)&&(g=Pg,m=g[0]);var p=l="",q=Ng[m],v=g.length-1;m||v||(l=K(a,f));for(m=1;m<=v;m++){var w=g[m];if(void 0!==w){var x;x=a;var C=w,w=b,y="",D=C&61440;if(4096==D)w=w.A+((f&255)<<24>>23)&65535,y=K(x,w);else if(8192==D)w=w.A-((f&63)<<1)&65535,y=K(x,w);else if(12288==D)y=K(x,f&7,1);else if(24576==D)y=K(x,f&63,1);else if(D=f&C,C&4032&&(D>>=6,C>>=6),C&63)switch(C=D&7,D&56){case 0:y=
|
||||
Xg(C);break;case 8:y="@"+Xg(C);break;case 16:7>C?y="("+Xg(C)+")+":(D=x.ka(w,2),y="#"+K(x,D,0,!0));break;case 24:7>C?y="@("+Xg(C)+")+":(D=x.ka(w,2),y="@#"+K(x,D,0,!0));break;case 32:y="-("+Xg(C)+")";break;case 40:y="@-("+Xg(C)+")";break;case 48:D=x.ka(w,2);y=K(x,D,0,!0)+"("+Xg(C)+")";7==C&&(y=[y,K(x,D+w.A&65535)]);break;case 56:D=x.ka(w,2),y="@"+K(x,D)+"("+Xg(C)+")",7==C&&(y=[y,K(x,D+w.A&65535)])}x=y;if(!x||!x.length){l="INVALID";break}"string"!=typeof x&&(p=x[1],x=x[0]);0<l.length&&(l+=",");l+=x||
|
||||
"???"}}f="";g=K(a,e.A)+":";if(-1!==e.A&&-1!==b.A){do if(f+=" "+K(a,a.ka(e,2)),null==e.A)break;while(e.A!=b.A)}g+=wa(f,24);g+=wa(q,5);l&&(g+=" "+l);if(c||p)g=wa(g,60)+";"+(c||""),g=a.b.v.Xa?g+("cycles="+Tc(a.b).toString()+" cs="+k(a.b.nb)):g+(null!=d?"="+d.toString():""),p&&(g+=" @"+p);return g}function gh(a,b){switch(b){case "N":a=a.b.Da();break;case "Z":a=zd(a.b);break;case "V":a=yd(a.b);break;case "C":a=xd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
||||
function hh(a,b){var c="",d=a.b;8>b?(c=Xg(b),c+="="+K(a,d.u[b])):13>b?c="A"+(b-8)+"="+K(a,d.Ea[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+K(a,d.ta[b-16]):20==b&&(c="PS="+K(a,Kb(d)));c&&(c+=" ");return c}function ih(a){var b,c="";for(b=0;6>b;b++)c+=hh(a,b);c=c+"\n"+(hh(a,6)+hh(a,7)+hh(a,20));return c+=gh(a,"T")+gh(a,"N")+gh(a,"Z")+gh(a,"V")+gh(a,"C")}h.Sb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function jh(a,b,c){var d=[],e=a.Y(b)>>>0;for(b=0;b<a.G.length;b++){var f=a.G[b],g=f.A>>>0,l=f.sc;if(e>=g&&e<g+l){e=za(f.Rb,[e-g],a.Sb);0<=e?kh(a,b,e,d):c&&(e=~e,kh(a,b,e-1,d),kh(a,b,e,d));break}}return d}function kh(a,b,c,d){var e={},f=a.G[b].Rb,g=0,l=null;0<=c&&c<f.length&&(g=f[c][0],l=f[c][1]);l&&(e=a.G[b].Ca[l],l="."==l.charAt(0)?null:e.l||l);d.push(l);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function lh(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Hg(a)||a.i("no variables"),!0;if(!c[2])return Hg(a,c[1]);if(!c[3])return delete a.aa[c[1]],!0;b=Dg(a,c[3]);return void 0!==b?(a.aa[c[1]]=b,!0):!1}a.i("invalid assignment:"+b);return!1}
|
||||
function mh(a,b,c){var d=null;if(b=Sg(a,b,!0)){a.Y(b);var e=jh(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.A-e[1])&&(g=" + "+k(f,4,!0)),f=e[0]+" ("+K(a,e[1])+")"+g,c&&a.i(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.A)&&(g=" - "+k(f,4,!0)),f=e[4]+" ("+K(a,e[5])+")"+g,c&&a.i(f),d||(d=f))}else c&&a.i("no symbols")}return d}
|
||||
function Zg(a,b){var c;if(b&&"?"==b[1])a.i("register commands:"),a.i("\tr\tdump registers"),a.i("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var e=b[1],f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.i("missing value for "+b[1]);return}f=Dg(a,b);if(void 0===f)return;b=e.toUpperCase();switch(b){case "SP":case "R6":d.u[6]=f&65535;break;case "PC":case "R7":Bd(d,f);a.K=Z(d.u[7]);break;case "N":d.S=f?32768:0;break;
|
||||
case "Z":d.X=f?0:1;break;case "V":d.O=f?32768:0;break;case "C":d.N=f?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.u[b]=f&65535;break}a.i("unknown register: "+e);return}a.B.$();a.i("updated registers:")}a.i(ih(a));c&&(a.K=Z(d.u[7]),$g(a,K(a,a.K.A)))}}function nh(a,b){b=xa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.i(c[2]):Gg(a,null,c[2].charCodeAt(0)):Dg(a,b,!0)}
|
||||
function oh(a,b,c){var d="t"!=b;c=Fg(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ma(c,function(){return nb(a,!0)&&a.fb(e,d,!1)},function(){a.B.$();nb(a,!1)})}
|
||||
function $g(a,b,c,d){if(b=Sg(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Fg(a,c.substr(1)),null!=c&&(d=c);else{d=Sg(a,c,!0);if(!d||d.A<b.A)return;e=d.A-b.A;if(256<e){a.i("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ob(a,!1)||a.V?a.H:null;var g=null!=f?"cycles":null,l=jh(a,b),m=b.A;if(l[0]&&d&&(!c&&d||0>l[0].indexOf("+"))){var p=l[0]+":";l[2]&&(p+=" "+l[2]);a.i(p)}l[3]&&(g=l[3],f=null);f=fh(a,b,g,f);a.i(f);a.K=b;e-=b.A-m;c++}}}
|
||||
function eh(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(">> "+b):(a.U&&(a.i("ended assemble at "+K(a,a.T.A)),a.K=a.T,a.U=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.pa=null;if(pb(a)&&0<b.length){a.U&&(b="a "+K(a,a.T.A)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var l=g[0],m=l.charAt(0),p=1;p<l.length;p++){var q=l.charAt(p);if("?"==m||"r"==m||"a">q||"z"<q){g[0]=l.substr(p);g.unshift(l.substr(0,p));break}}g[0]=g[0].toLowerCase();switch(g[0].charAt(0)){case "a":var v=
|
||||
Sg(a,g[1],!0);if(v)if(a.T=v,void 0===g[2])a.i("begin assemble at "+K(a,v.A)),a.U=!0,a.B.$();else{var w;a.i("not supported yet");w=[];if(w.length){for(var x=0;x<w.length;x++)a.Db(v,w[x],1);a.i(fh(a,a.T))}}break;case "b":a:{var C=g[0],y=g[1],D=b;if("?"==y)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)");else{var Ba=C.charAt(1);if("l"==Ba){var $c;$c=0+dh(a,a.f);$c+=dh(a,a.M);($c+=dh(a,a.D))||a.i("no breakpoints")}else if("n"==Ba)a.ma=Fg(a,y),a.i("break after "+a.ma+" instruction(s)");else if(void 0===y)a.i("missing breakpoint address");else{var U=Z();if("*"!=y&&(U=Sg(a,y,!0),!U))break a;"c"==Ba?null==U.A?(Jg(a),a.i("all breakpoints cleared")):bh(a,a.f,U)||bh(a,a.M,U)||bh(a,a.D,U)||a.i("breakpoint missing: "+K(a,U.A)):null!=U.A&&(Wg(a,U,D),"p"==Ba?a.Pa(a.f,
|
||||
U):"r"==Ba?a.Pa(a.M,U):"w"==Ba?a.Pa(a.D,U):a.i("unknown breakpoint command: "+Ba))}}}break;case "c":a.Qa&&(a.Qa.value="");break;case "d":a:{var Ua,Va=g[0],ha=g[1],Ca=g[2],Hh=g[3];if("?"==ha){var Wa="";for(Ua in I)a.za[Ua]&&(Wa&&(Wa+=","),Wa+=Ua);Wa+=",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");Wa.length&&
|
||||
a.i("dump extension commands:\n\t"+Wa)}else if("state"==ha){var Df=ph(a.B,!0);"console"==Ca?console.log(Df):(a.Qa&&(a.Qa.value=""),a.i(Df))}else if("symbols"==ha)for(var ad=0;ad<a.G.length;ad++){var bd=a.G[ad],Xa;for(Xa in bd.Ca)if("."!=Xa.charAt(0)){var Ef=bd.Ca[Xa].o;if(void 0!==Ef){var Ff=bd.Ca[Xa].l;Ff&&(Xa=Ff);a.i(K(a,Ef)+" "+Xa)}}}else{if("d"==Va){for(Ua in I)if(g[1]==Ua){var Gf=a.za[Ua];Gf?(g.shift(),g.shift(),Gf(g)):a.i("no dump registered for "+ha);break a}ha||(Va=a.Ab||"db")}else a.Ab=Va;
|
||||
if("dh"==Va){var Hf=ha,If=Ca,Jf="",Kf=0,ca=a.fa,ia=a.I;if(ia.length){var X=+Hf||a.Va,sb=+If||10;isNaN(X)?X=sb:Jf="more ";X>ia.length&&(a.i("note: only "+ia.length+" available"),X=ia.length);ca-=X;0>ca&&(null==ia[ia.length-1].A?(X=ca+X,ca=0):ca+=ia.length);var cd=[];"call"==If&&(sb=1E5,cd=["CALL"]);for(void 0!==Hf&&a.i(X+" instructions earlier:");0<sb&&ca!=a.fa;){var Lf=ia[ca++];if(null==Lf.A)break;var tb=Z(Lf.A),Ih=X--,Mf=fh(a,tb,"history",Ih);(!cd.length||0<=Mf.indexOf(cd[0]))&&a.i(Mf);tb.Ib&&(ca+=
|
||||
tb.Ib,sb-=tb.Ib,X-=tb.Ib);ca>=ia.length&&(ca=0);a.Va=X;Kf++;sb--}}Kf||(a.i("no "+Jf+"history available"),a.Va=void 0)}else{var ub=Sg(a,ha);if(ub){var cc=0;Ca&&("l"==Ca.charAt(0)&&(Ca=Ca.substr(1)||Hh),cc=Fg(a,Ca)>>>0,65536<cc&&(cc=65536));for(var vb="",Ya="dd"==Va?4:"dw"==Va?2:1,dc=Ya*cc||128,Jh=dc+15>>4||1;Jh--&&0<dc;){var ec=0,wb=0,xb,dd="",Nf="",ha=K(a,ub.A);for(xb=4==Ya?16:a.ja;0<xb&&0<dc;xb--){var ed,fc=2==Ya?a.ka(ub,ed=2):a.lb(ub,ed=1),ec=ec|fc<<(wb<<3),wb=wb+ed;wb==Ya&&(dd+=K(a,ec,Ya),dd+=
|
||||
1==Ya?9==xb?"-":" ":" ",ec=wb=0);Nf+=32<=fc&&128>fc?String.fromCharCode(fc):".";dc--}vb&&(vb+="\n");vb+=ha+" "+dd+(0==xb?" "+Nf:"")}vb&&a.i(vb);a.Oa=ub}}}}break;case "e":if("else"==g[0])break;var Za,fd,gd,hd,id=g[0],jd=g[1];"eb"==id?(Za=1,fd=255,gd=a.lb,hd=a.Db):"e"==id||"ew"==id?(Za=2,fd=65535,gd=a.ka,hd=a.Sa):jd=null;if(null==jd)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 gc=Sg(a,jd);if(gc)for(var hc=2;hc<
|
||||
g.length;hc++){var yb=Dg(a,g[hc]);if(void 0===yb){a.i("unrecognized value: "+g[hc]);break}yb&~fd&&a.i("warning: "+k(yb)+" exceeds "+Za+"-byte value");var Kh=gd.call(a,gc);a.i("changing "+K(a,gc.A)+" from "+K(a,Kh,Za)+" to "+K(a,yb,Za));hd.call(a,gc,yb,Za)}}break;case "g":a:{var Of=g[1],Lh=b;if(void 0!==Of){var kd=Sg(a,Of,!0);if(!kd)break a;Wg(a,kd,Lh);a.Pa(a.f,kd,!0)}a.eb(!0,c)}break;case "h":a.v.ca?(c||a.i("halting"),a.da()):ob(a,!0)||c||a.i("already halted");break;case "i":if("if"==g[0]){var ld;
|
||||
var zb=b.substr(2),zb=xa(zb);Dg(a,zb)?(c||a.i("true: "+zb),ld=!0):(c||a.i("false: "+zb),ld=!1);ld||(d=!1);break}f=!0;break;case "k":var Mh=g[0];if("?"==g[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var md=0,nd=Z(),Ab=Z(a.b.u[6]);for(a.i("stack trace for "+K(a,Ab.A));10>md;){for(var Da=null,Nh=256;65536>Ab.A>>>0;){nd.A=a.ka(Ab,2);if(null==Ab.A||!Nh--)break;if(!(nd.A&1)){for(var Oh=a,ic=nd,Pf=null,Bb=ic.A,Qf=Bb,od=1;6>=od&&Bb;od++){if(2<
|
||||
od){ic.A=Bb;var jc=fh(Oh,ic);if(0<=jc.indexOf("JSR")){var Rf=jc.indexOf(" ");if(Bb+(jc.indexOf(" ",Rf+1)-Rf-1)/2==Qf){Pf=jc;break}}}Bb-=2}ic.A=Qf;if(Da=Pf)break}}if(!Da||null==Da)break;var Sf=null;if("ks"==Mh){var Tf=Da.match(/[0-9A-F]+$/);Tf&&(Sf=mh(a,Tf[0]))}Da=wa(Da,50)+" ;"+(Sf||"stack="+K(a,Ab.A));a.i(Da);md++}md||a.i("no return addresses found")}break;case "l":if("ln"==g[0]){mh(a,g[1],!0);break}f=!0;break;case "m":a:{var ja,ka=null,F=g[1];"?"==F&&(F=void 0);if(void 0!==F){var va=0;if("all"==
|
||||
F)va=1878917119,F=null;else if("on"==F)ka=!0,F=null;else if("off"==F)ka=!1,F=null;else{"keys"==F&&(F="key");"kbd"==F&&(F="keyboard");for(ja in I)if(F==ja){va=I[ja];ka=!!(a.ia&va);break}if(!va){a.i("unknown message category: "+F);break a}}if(va)if("on"==g[2])a.ia|=va,ka=!0;else if("off"==g[2]&&(a.ia&=~va,ka=!1,1073741824==va)){for(var pd=0;pd<a.ua.length;pd++)a.i(a.ua[pd]);a.ua=[]}}var Ph=0,Cb="";for(ja in I)if(!F||F==ja){var Qh=!!(a.ia&I[ja]);if(null===ka||ka==Qh)Cb&&(Cb+=","),++Ph%10||(Cb+="\n\t"),
|
||||
"key"==ja&&(ja="keys"),Cb+=ja}void 0===F&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.i((null!==ka?ka?"messages on: ":"messages off: ":"message categories:\n\t")+(Cb||"none"));Kg(a)}break;case "p":if("print"==g[0]){nh(a,b.substr(5));break}var Rh="pr"==g[0]?1:0;if(a.V)a.i("step in progress");else{var Uf=Z(a.b.u[7]);a.lb(Uf);a.V?(a.Pa(a.f,Uf,!0),a.eb()||(a.B&&a.B.sb(),a.V=0)):oh(a,Rh?"tr":"t")}break;case "r":if("reset"==b){a.B&&a.B.reset();break}Zg(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Db=
|
||||
+g[2];if(8==Db||10==Db||16==Db)a.ja=Db;else{a.i("invalid base: "+Db);break}}a.i("default base: "+a.ja);break;case "cs":var Eb;void 0!==g[3]&&(Eb=+g[3]);switch(g[2]){case "int":a.b.Za=Eb;break;case "start":a.b.ob=Eb;break;case "stop":a.b.$a=Eb;break;default:a.i("unknown cs option");break a}void 0!==Eb&&Qc(a.b);a.i("checksums "+(a.b.v.Xa?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Uc(a.b,+g[2])||a.i("warning: using 1x multiplier, previous target not reached"));a.i("target speed: "+(a.b.Ra.toFixed(2)+
|
||||
"Mhz")+" ("+a.b.Ka+"x)");break;default:if(g[1]){a.i("unknown option: "+g[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":oh(a,g[0],g[1]);break;case "u":$g(a,g[1],g[2],8);break;case "v":if("var"==g[0]){lh(a,b.substr(3))||(d=!1);break}if("ver"==
|
||||
g[0]){a.i("PDPjs version 1.30.1 ("+a.b.Ya+",RELEASE"+(Fb?",TYPEDARRAYS":",LONGARRAYS")+")");a.i(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){nh(a,b.substr(1));break}var qd="commands:",rd;for(rd in Mg)qd+="\n"+wa(rd,9)+Mg[rd];Wd(a)||(qd+="\nnote: history disabled if no exec breakpoints");a.i(qd);break;default:f=!0}f&&(a.i("unknown command: "+b),d=!1)}}catch(Vf){a.i("debugger error: "+(Vf.stack||Vf.message)),d=!1}return d}
|
||||
function Rc(a,b,c){b=Bg(a,b,c);for(var d in b)if(!eh(a,b[+d]))return!1;return!0}Ta(function(){for(var a=B(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ig(d);A(d,c)}});
|
||||
function qh(a,b,c){r.call(this,"Computer",a,qh,67108864);this.v.ha=!1;rh(this,b);this.M=Oc(this,"autoPower",a);this.B=0;this.aa=a.busWidth||a.buswidth;this.f=sh;this.I=null;this.G=this.U=!1;this.ba=Oc(this,"url")||"";(Math.random()+.1).toString(36);this.j=th(this);if(this.b=mb("CPU",this.id)){this.g=mb("Debugger",this.id);this.w=new Lb({id:this.Gb+".bus",busWidth:this.aa},this.b,this.g);var d,e=kb(this.id);if((this.C=mb("Panel",this.id))&&this.C.Qa)for(b=0;b<e.length;b++)d=e[b],d.na=this.C.na,d.i=
|
||||
this.C.i,d.Qa=this.C.Qa;this.i("PDPjs v1.30.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.i("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.Ba&&d.Ba(this,this.w,this.b,this.g);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.H=d:this.f=parseInt(d,10));var f;if(a=Oc(this,"state")||(f=!0,a.state))b=this.R=a,f||(this.G=!0,this.f=sh),this.f&&
|
||||
(this.K=new O(this,"1.30.1"),uh(this.K)?b=null:delete this.K);!b&&this.f&&(b=vh(this))&&(this.G=!0);if(b){var g=this;Fa(b,null,!0,function(a,b,c){c?(g.H=null,g.G=!1,g.na("Unable to load machine state from server (error "+c+(b?": "+xa(b):"")+")")):(g.I=b,g.U=!0);H(g)})}else H(this);this.J.power||(this.M=!0);!c&&this.M&&wh(this,this.pb)}else n("Unable to find CPU component")}u(qh);var sh=0;
|
||||
function rh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){n(d.message+" ("+c+")")}}a.V=b}function Oc(a,b,c){var d=b.toLowerCase(),d=db[b]||db[d];void 0===d&&a.V&&(d=a.V[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function wh(a,b,c){for(var d=kb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!pb(f)){pb(f,function(){wh(a,b,c)});return}}b.call(a,c)}
|
||||
function xh(a,b){var c=new O(a,"1.30.1","validate");if(uh(c)&&yh(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=qh.prototype;
|
||||
h.pb=function(a){void 0===a&&(a=this.f||(this.I?1:sh));if(!this.B){this.B++;var b=!1,c=!1;this.T=!1;var d=this.K||new O(this,"1.30.1");if(-1==a)b=!0;else if(a>sh){if(uh(d,this.I)){this.D=new O(this,"1.30.1","failsafe");uh(this.D)&&(zh(this,d),a=2,Ah(this.D));this.D.set("timestamp",Ea());Bh(this.D);var e=this.f&&!this.G;if(1==a||Ga("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=yh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?uh(d,g):("error"==
|
||||
f&&"no machine state"!=g?(this.na("Error: "+g),"unable to verify user"==g&&(Ka("user",""),this.j=null)):this.i(f+": "+g),Ah(d),uh(d)?(c=yh(d),e=!0):c=!1))}e&&xh(this,c?d:null)}else 2==a&&d.clear()}else xh(this);delete this.I;delete this.K}e=kb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(c=Ch(this,g,d,b,c));b=[d,a,c];-1!=a?wh(this,this.Ub,b):this.Ub(b)}};
|
||||
function Ch(a,b,c,d,e){if(!b.v.ha){b.v.ha=!0;if(b.ya){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ya(f,d)&&f&&(n("Unable to restore state for "+b.type),a.R&&!a.U?(c.clear(),a.f=sh,window&&window.location.reload()):a.T=!0,b.ya(null),e=!1)}if(!d&&b.Vb)for(a=b.Vb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
h.Ub=function(a){var b=a[0],c=0>a[1];a=a[2];this.fa=!0;this.v.ha=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.b&&(Ch(this,this.b,b,c,a),this.b.ib());this.T&&(zh(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.B=0};
|
||||
function zh(a,b){if(Ga("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.ba;d.user=c;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function ph(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new O(a,"1.30.1"),g=new O(a,"1.30.1","validate"),l=Ea();g.set("timestamp",l);f.set("timestamp",l);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.xa&&(c&&a.b.da(),d=a.b.xa(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.v.ha=!1,!1===d&&(e=null)));for(var l=kb(a.id),m=0;m<l.length;m++){var p=l[m];p.v.ha&&(p.xa&&(d=p.xa(b,c),"object"===typeof d&&f.set(p.id,
|
||||
d)),c&&(p.v.ha=!1,!1===d&&(e=null)))}e&&(c?(l=d=!1,b?(a.j&&Dh(a,a.j,f.toString()),Bh(g)&&Bh(f)||(e=null,d=l=!0)):a.f&&(d=!0,l=3==a.f),d&&f.clear(l)):e=f.toString());c&&(a.v.ha=!1,b=a.J.power)&&(b.textContent="Power");a.B=0;return e}h.reset=function(){this.w&&this.w.reset&&(E(this,"Resetting "+this.w.type),this.w.reset());for(var a=kb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c.reset&&(E(this,"Resetting "+c.type),c.reset())}};
|
||||
h.oa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.la=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Rc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.g.length-1&&(b=d.g[++d.C])):40==a.keyCode&&(0<d.C?b=d.g[--d.C]:(b="",d.C=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Na(c,function(){if(d.la){var a=d.la.value;
|
||||
d.la.value="";Rc(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Na(c,function(a){var b=!1;ob(d,!0)||(nb(d,!0),b=d.fb(a?1:0),nb(d,!1));return b}),!0}return!1};h.sb=function(){this.la&&this.la.focus()};h.Y=function(a){a=a&&a.A;null==a&&(a=-1);return a};h.lb=function(a,b){var c=255,d=this.Y(a,!1,1);-1!==d&&(c=a.vb?this.w.zb(d):this.b.zb(d),b&&Vg(a,b));return c};h.ka=function(a,b){var c=65535,d=this.Y(a,!1,2);-1!==d&&(c=a.vb?this.w.mb(d):this.b.mb(d),b&&Vg(a,b));return c};
|
||||
h.Db=function(a,b,c){var d=this.Y(a,!0,1);-1!==d&&(a.vb?this.w.rb(d,b):this.b.rb(d,b),c&&Vg(a,c),this.B.$(!0))};h.Sa=function(a,b,c){var d=this.Y(a,!0,2);-1!==d&&(a.vb?this.w.Eb(d,b):this.b.Eb(d,b),c&&Vg(a,c),this.B.$(!0))};function Z(a,b){return{A:a,vb:b,Aa:!1}}function Wg(a){return[a.A,a.Aa]}function Xg(a){return{A:a[0],Aa:a[1]}}
|
||||
function Ug(a,b,c){var d,e=(c?a.K:a.Oa).A;c=!1;if(void 0!==b){b=Gg(a,b);"%"==b.charAt(0)&&(c=!0,b=b.substr(1));d=b;var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),e=0;e<a.G.length;e++){var g=a.G[e].Ca[d];if(void 0!==g){d=g.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;e=Fg(a,b,void 0)}null!=e&&(d=Z(e,c));return d}function Yg(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.hc=Dg(a,b.dc=c[2]))}function Vg(a,b){null!=a.A&&(a.A+=b||1)}
|
||||
function Ng(a,b){a.i=a;a.ia=a.jc=536870912;a.pa=null;a.ua=[];b=Dg(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in I){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ia|=I[c],a.j(c+" messages enabled"))}}function Tg(a,b){for(var c in I)if(64==I[c]){a.za[c]=b;break}}
|
||||
h.Xb=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function Zg(a){return 6>a?"R"+a:6==a?"SP":"PC"}h.Yb=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Ea[a-8]:20>a?b=this.b.ta[a-16]:20==a&&(b=Kb(this.b)));return b};
|
||||
h.message=function(a,b){b&&(a+=" @"+K(this,Z(this.b.qb).A));this.ia&1073741824?this.ua.push(a):this.pa&&a==this.pa||(this.pa=a,this.ia&-2147483648&&(this.da(),a+=" (cpu halted)"),this.j(a),this.b&&(a=this.b,Xc(a),a.la=0,a.B.$()))};
|
||||
function Mg(a){var b;if(Wd(a)){if(!a.I||!a.I.length){a.I=Array(1E3);for(b=0;b<a.I.length;b++)a.I[b]=Z();a.fa=0;a.j("instruction history buffer allocated")}if(!a.ba||!a.ba.length)for(a.ba=Array(256),b=0;b<a.ba.length;b++)a.ba[b]=[b,0]}else a.I&&a.I.length&&a.j("instruction history buffer freed"),a.fa=0,a.I=[],a.ba=[]}h.eb=function(a,b){if(!$g(this,b))return!1;this.b.eb(a);return!0};
|
||||
h.fb=function(a,b,c){if(!$g(this))return!1;this.H=0;a||Wd(this)&&Xd(this,this.b.u[7],0);try{a=Yc(this.b,a);var d=this.b.fb(a);0<d&&(Zc(this.b,a),this.H+=d,Vc(this.b,d,!0),Sc(this.b,d),this.R++)}catch(e){"number"!=typeof e&&(this.H=0,rb(this.b,e.stack||e.message))}!1!==c&&this.B.$();this.$(b||!1);return 0<this.H};h.da=function(a){this.b&&this.b.da(a)};h.$=function(a){void 0===a&&(a=!0);this.K=Z(this.b.u[7]);a&&1!=this.V?ah(this):bh(this)};
|
||||
function $g(a,b){var c;(c=!a.b||!pb(a.b))||(c=a.b,c.v.ha?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.v.ca?(b||a.j("cpu busy or unavailable, command ignored"),!1):!qb(a.b)}h.ya=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};h.xa=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Mg(this);this.R=this.va=0;this.pa=null;this.H=0;this.K=Z(this.b.u[7]);this.v.ca=!1;ch(this);a||this.$()};
|
||||
h.save=function(){var a=new O(this);a.set(0,Wg(this.K));a.set(1,Wg(this.T));a.set(2,[this.g,this.U,this.ia]);a.set(3,this.G);return a.data()};h.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Xg(a[b++]),this.T=Xg(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.U=a[b][1],this.ia|=a[b][2]);a[3]&&(this.G=a[3]);return!0};h.start=function(a,b){this.V||this.j("running");this.v.ca=!0;this.wb=a;this.yb=b};
|
||||
h.stop=function(a,b){if(this.v.ca){this.v.ca=!1;this.H=b-this.yb;if(!this.V){b="stopped";if(this.H){a-=this.wb;var c=0<a?Math.round(1E3*this.H/a):0;b+=" (";Wd(this)&&(b+=this.R+" opcodes, ",this.va-=this.R,this.R=0);b+=this.H+" cycles, "+a+" ms, "+c+" hz)"}else G(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}this.$(!0);this.sb();ch(this,this.b.u[7])}};function Wd(a){return 1<a.f.length||!!a.ma}
|
||||
function Xd(a,b,c){var d=a.b;if(0<c&&(a.ma&&!--a.ma||Jc(a,b,1,a.f)))return!0;0<=c&&a.ba.length&&(a.R++,null!=a.b.mb(b)&&(b=a.I[a.fa],b.A=d.u[7],b.Aa=!1,++a.fa==a.I.length&&(a.fa=0)));return!1}function Zb(a){var b=a.b;if(b.v.ca)throw Bd(b,a.b.qb),a.da(),-1;return!1}function Lg(a){var b,c;a.f=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];var d=a.w;c=a.Y(c);Kc(d.W[c>>>d.ga],!1)}a.M=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.w,c=a.Y(c),Kc(d.W[c>>>d.ga],!0);a.D=["bw"];a.Ta=0}
|
||||
h.Pa=function(a,b,c){var d=!0;c||dh(this,a,b,!1,!0);if(a!=this.f){var e=this.Y(b);if(-1===e)this.j("invalid address: "+K(this,b.A)),d=!1;else{var f=this.w;f.W[e>>>f.ga].Pa(e&f.w,a==this.D)}}d&&(a.push(b),c?b.Aa=!0:(eh(this,a,a.length-1,"set"),Mg(this)));return d};function dh(a,b,c,d,e){var f=!1;c=a.Y(c);for(var g=1;g<b.length;g++){var l=b[g];if(c==a.Y(l)&&(!d||l.Aa)){f=!0;l.Aa||e||eh(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.w,Kc(d.W[c>>>d.ga],b==a.D));l.Aa||Mg(a);break}}return f}
|
||||
function fh(a,b){for(var c=1;c<b.length;c++)eh(a,b,c);return b.length-1}function eh(a,b,c,d){c=b[c];a.j(b[0]+" "+K(a,c.A)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}function ch(a,b){if(void 0!==b)Jc(a,b,1,a.f,!0),a.V=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.Aa){if(!dh(a,a.f,c,!0))break;b=0}}}
|
||||
function Jc(a,b,c,d,e){var f=!1;if(!a.Ta++)for(var g=1;!f&&g<d.length;g++){var l=d[g];if(!e||l.Aa)for(var m=a.Y(l),p=0;p<c;p++)if(b+p==m){var q,f=!0;l.Aa&&(dh(a,d,l,!0),e=!0);if(q=l.hc){for(var f=!1,v=0;v<q.length;v++)if(!gh(a,q[v],!0)){if(q[v].indexOf("if")){f=!0;break}for(var w=v+1;w<q.length&&q[w].indexOf("else");w++)v++;if(w==q.length){f=!0;break}}a.b.v.ca||(f=!0)}if(f){e||eh(a,d,g,"hit");break}}}a.Ta--;return f}
|
||||
function hh(a,b,c,d){var e=Z(b.A),f=a.ka(b,2),g,l;for(l in a.Wa)if(g=a.Wa[l][f&l])break;g||(g=Rg);var m=g[0];0<=a.kb.indexOf(m)&&(g=Rg,m=g[0]);var p=l="",q=Pg[m],v=g.length-1;m||v||(l=K(a,f));for(m=1;m<=v;m++){var w=g[m];if(void 0!==w){var x;x=a;var C=w,w=b,y="",D=C&61440;if(4096==D)w=w.A+((f&255)<<24>>23)&65535,y=K(x,w);else if(8192==D)w=w.A-((f&63)<<1)&65535,y=K(x,w);else if(12288==D)y=K(x,f&7,1);else if(24576==D)y=K(x,f&63,1);else if(D=f&C,C&4032&&(D>>=6,C>>=6),C&63)switch(C=D&7,D&56){case 0:y=
|
||||
Zg(C);break;case 8:y="@"+Zg(C);break;case 16:7>C?y="("+Zg(C)+")+":(D=x.ka(w,2),y="#"+K(x,D,0,!0));break;case 24:7>C?y="@("+Zg(C)+")+":(D=x.ka(w,2),y="@#"+K(x,D,0,!0));break;case 32:y="-("+Zg(C)+")";break;case 40:y="@-("+Zg(C)+")";break;case 48:D=x.ka(w,2);y=K(x,D,0,!0)+"("+Zg(C)+")";7==C&&(y=[y,K(x,D+w.A&65535)]);break;case 56:D=x.ka(w,2),y="@"+K(x,D)+"("+Zg(C)+")",7==C&&(y=[y,K(x,D+w.A&65535)])}x=y;if(!x||!x.length){l="INVALID";break}"string"!=typeof x&&(p=x[1],x=x[0]);0<l.length&&(l+=",");l+=x||
|
||||
"???"}}f="";g=K(a,e.A)+":";if(-1!==e.A&&-1!==b.A){do if(f+=" "+K(a,a.ka(e,2)),null==e.A)break;while(e.A!=b.A)}g+=va(f,24);g+=va(q,5);l&&(g+=" "+l);if(c||p)g=va(g,60)+";"+(c||""),g=a.b.v.Xa?g+("cycles="+Tc(a.b).toString()+" cs="+k(a.b.nb)):g+(null!=d?"="+d.toString():""),p&&(g+=" @"+p);return g}function ih(a,b){switch(b){case "N":a=a.b.Da();break;case "Z":a=zd(a.b);break;case "V":a=yd(a.b);break;case "C":a=xd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
||||
function jh(a,b){var c="",d=a.b;8>b?(c=Zg(b),c+="="+K(a,d.u[b])):13>b?c="A"+(b-8)+"="+K(a,d.Ea[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+K(a,d.ta[b-16]):20==b&&(c="PS="+K(a,Kb(d)));c&&(c+=" ");return c}function kh(a){var b,c="";for(b=0;6>b;b++)c+=jh(a,b);c=c+"\n"+(jh(a,6)+jh(a,7)+jh(a,20));return c+=ih(a,"T")+ih(a,"N")+ih(a,"Z")+ih(a,"V")+ih(a,"C")}h.Sb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function lh(a,b,c){var d=[],e=a.Y(b)>>>0;for(b=0;b<a.G.length;b++){var f=a.G[b],g=f.A>>>0,l=f.sc;if(e>=g&&e<g+l){e=za(f.Rb,[e-g],a.Sb);0<=e?mh(a,b,e,d):c&&(e=~e,mh(a,b,e-1,d),mh(a,b,e,d));break}}return d}function mh(a,b,c,d){var e={},f=a.G[b].Rb,g=0,l=null;0<=c&&c<f.length&&(g=f[c][0],l=f[c][1]);l&&(e=a.G[b].Ca[l],l="."==l.charAt(0)?null:e.l||l);d.push(l);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function nh(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Jg(a)||a.j("no variables"),!0;if(!c[2])return Jg(a,c[1]);if(!c[3])return delete a.aa[c[1]],!0;b=Fg(a,c[3]);return void 0!==b?(a.aa[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
||||
function oh(a,b,c){var d=null;if(b=Ug(a,b,!0)){a.Y(b);var e=lh(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.A-e[1])&&(g=" + "+k(f,4,!0)),f=e[0]+" ("+K(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.A)&&(g=" - "+k(f,4,!0)),f=e[4]+" ("+K(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
||||
function ah(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var e=b[1],f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}f=Fg(a,b);if(void 0===f)return;b=e.toUpperCase();switch(b){case "SP":case "R6":d.u[6]=f&65535;break;case "PC":case "R7":Bd(d,f);a.K=Z(d.u[7]);break;case "N":d.S=f?32768:0;break;
|
||||
case "Z":d.X=f?0:1;break;case "V":d.O=f?32768:0;break;case "C":d.N=f?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.u[b]=f&65535;break}a.j("unknown register: "+e);return}a.B.$();a.j("updated registers:")}a.j(kh(a));c&&(a.K=Z(d.u[7]),bh(a,K(a,a.K.A)))}}function ph(a,b){b=xa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Ig(a,null,c[2].charCodeAt(0)):Fg(a,b,!0)}
|
||||
function qh(a,b,c){var d="t"!=b;c=Hg(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ma(c,function(){return nb(a,!0)&&a.fb(e,d,!1)},function(){a.B.$();nb(a,!1)})}
|
||||
function bh(a,b,c,d){if(b=Ug(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Hg(a,c.substr(1)),null!=c&&(d=c);else{d=Ug(a,c,!0);if(!d||d.A<b.A)return;e=d.A-b.A;if(256<e){a.j("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ob(a,!1)||a.V?a.H:null;var g=null!=f?"cycles":null,l=lh(a,b),m=b.A;if(l[0]&&d&&(!c&&d||0>l[0].indexOf("+"))){var p=l[0]+":";l[2]&&(p+=" "+l[2]);a.j(p)}l[3]&&(g=l[3],f=null);f=hh(a,b,g,f);a.j(f);a.K=b;e-=b.A-m;c++}}}
|
||||
function gh(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(">> "+b):(a.U&&(a.j("ended assemble at "+K(a,a.T.A)),a.K=a.T,a.U=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.pa=null;if(pb(a)&&0<b.length){a.U&&(b="a "+K(a,a.T.A)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var l=g[0],m=l.charAt(0),p=1;p<l.length;p++){var q=l.charAt(p);if("?"==m||"r"==m||"a">q||"z"<q){g[0]=l.substr(p);g.unshift(l.substr(0,p));break}}g[0]=g[0].toLowerCase();switch(g[0].charAt(0)){case "a":var v=
|
||||
Ug(a,g[1],!0);if(v)if(a.T=v,void 0===g[2])a.j("begin assemble at "+K(a,v.A)),a.U=!0,a.B.$();else{var w;a.j("not supported yet");w=[];if(w.length){for(var x=0;x<w.length;x++)a.Db(v,w[x],1);a.j(hh(a,a.T))}}break;case "b":a:{var C=g[0],y=g[1],D=b;if("?"==y)a.j("breakpoint commands:"),a.j("\tbp [a]\tset exec breakpoint at addr [a]"),a.j("\tbr [a]\tset read breakpoint at addr [a]"),a.j("\tbw [a]\tset write breakpoint at addr [a]"),a.j("\tbc [a]\tclear breakpoint at addr [a]"),a.j("\tbl\tlist all breakpoints"),
|
||||
a.j("\tbn [n]\tbreak after [n] instruction(s)");else{var Ca=C.charAt(1);if("l"==Ca){var bd;bd=0+fh(a,a.f);bd+=fh(a,a.M);(bd+=fh(a,a.D))||a.j("no breakpoints")}else if("n"==Ca)a.ma=Hg(a,y),a.j("break after "+a.ma+" instruction(s)");else if(void 0===y)a.j("missing breakpoint address");else{var U=Z();if("*"!=y&&(U=Ug(a,y,!0),!U))break a;"c"==Ca?null==U.A?(Lg(a),a.j("all breakpoints cleared")):dh(a,a.f,U)||dh(a,a.M,U)||dh(a,a.D,U)||a.j("breakpoint missing: "+K(a,U.A)):null!=U.A&&(Yg(a,U,D),"p"==Ca?a.Pa(a.f,
|
||||
U):"r"==Ca?a.Pa(a.M,U):"w"==Ca?a.Pa(a.D,U):a.j("unknown breakpoint command: "+Ca))}}}break;case "c":a.Qa&&(a.Qa.value="");break;case "d":a:{var Va,Wa=g[0],ha=g[1],Da=g[2],Jh=g[3];if("?"==ha){var Xa="";for(Va in I)a.za[Va]&&(Xa&&(Xa+=","),Xa+=Va);Xa+=",state,symbols";a.j("dump memory commands:");a.j("\tdb [a] [#] dump # bytes at address a");a.j("\tdw [a] [#] dump # words at address a");a.j("\tdd [a] [#] dump # dwords at address a");a.j("\tdh [#] [#] dump # instructions from history");Xa.length&&
|
||||
a.j("dump extension commands:\n\t"+Xa)}else if("state"==ha){var Ef=rh(a.B,!0);"console"==Da?console.log(Ef):(a.Qa&&(a.Qa.value=""),a.j(Ef))}else if("symbols"==ha)for(var cd=0;cd<a.G.length;cd++){var dd=a.G[cd],Ya;for(Ya in dd.Ca)if("."!=Ya.charAt(0)){var Ff=dd.Ca[Ya].o;if(void 0!==Ff){var Gf=dd.Ca[Ya].l;Gf&&(Ya=Gf);a.j(K(a,Ff)+" "+Ya)}}}else{if("d"==Wa){for(Va in I)if(g[1]==Va){var Hf=a.za[Va];Hf?(g.shift(),g.shift(),Hf(g)):a.j("no dump registered for "+ha);break a}ha||(Wa=a.Ab||"db")}else a.Ab=Wa;
|
||||
if("dh"==Wa){var If=ha,Jf=Da,Kf="",Lf=0,ca=a.fa,ia=a.I;if(ia.length){var X=+If||a.Va,tb=+Jf||10;isNaN(X)?X=tb:Kf="more ";X>ia.length&&(a.j("note: only "+ia.length+" available"),X=ia.length);ca-=X;0>ca&&(null==ia[ia.length-1].A?(X=ca+X,ca=0):ca+=ia.length);var ed=[];"call"==Jf&&(tb=1E5,ed=["CALL"]);for(void 0!==If&&a.j(X+" instructions earlier:");0<tb&&ca!=a.fa;){var Mf=ia[ca++];if(null==Mf.A)break;var ub=Z(Mf.A),Kh=X--,Nf=hh(a,ub,"history",Kh);(!ed.length||0<=Nf.indexOf(ed[0]))&&a.j(Nf);ub.Ib&&(ca+=
|
||||
ub.Ib,tb-=ub.Ib,X-=ub.Ib);ca>=ia.length&&(ca=0);a.Va=X;Lf++;tb--}}Lf||(a.j("no "+Kf+"history available"),a.Va=void 0)}else{var vb=Ug(a,ha);if(vb){var cc=0;Da&&("l"==Da.charAt(0)&&(Da=Da.substr(1)||Jh),cc=Hg(a,Da)>>>0,65536<cc&&(cc=65536));for(var wb="",Za="dd"==Wa?4:"dw"==Wa?2:1,dc=Za*cc||128,Lh=dc+15>>4||1;Lh--&&0<dc;){var ec=0,xb=0,yb,fd="",Of="",ha=K(a,vb.A);for(yb=4==Za?16:a.ja;0<yb&&0<dc;yb--){var gd,fc=2==Za?a.ka(vb,gd=2):a.lb(vb,gd=1),ec=ec|fc<<(xb<<3),xb=xb+gd;xb==Za&&(fd+=K(a,ec,Za),fd+=
|
||||
1==Za?9==yb?"-":" ":" ",ec=xb=0);Of+=32<=fc&&128>fc?String.fromCharCode(fc):".";dc--}wb&&(wb+="\n");wb+=ha+" "+fd+(0==yb?" "+Of:"")}wb&&a.j(wb);a.Oa=vb}}}}break;case "e":if("else"==g[0])break;var $a,hd,id,jd,kd=g[0],ld=g[1];"eb"==kd?($a=1,hd=255,id=a.lb,jd=a.Db):"e"==kd||"ew"==kd?($a=2,hd=65535,id=a.ka,jd=a.Sa):ld=null;if(null==ld)a.j("edit memory commands:"),a.j("\teb [a] [...] edit bytes at address a"),a.j("\tew [a] [...] edit words at address a");else{var gc=Ug(a,ld);if(gc)for(var hc=2;hc<
|
||||
g.length;hc++){var zb=Fg(a,g[hc]);if(void 0===zb){a.j("unrecognized value: "+g[hc]);break}zb&~hd&&a.j("warning: "+k(zb)+" exceeds "+$a+"-byte value");var Mh=id.call(a,gc);a.j("changing "+K(a,gc.A)+" from "+K(a,Mh,$a)+" to "+K(a,zb,$a));jd.call(a,gc,zb,$a)}}break;case "g":a:{var Pf=g[1],Nh=b;if(void 0!==Pf){var md=Ug(a,Pf,!0);if(!md)break a;Yg(a,md,Nh);a.Pa(a.f,md,!0)}a.eb(!0,c)}break;case "h":a.v.ca?(c||a.j("halting"),a.da()):ob(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var nd;
|
||||
var Ab=b.substr(2),Ab=xa(Ab);Fg(a,Ab)?(c||a.j("true: "+Ab),nd=!0):(c||a.j("false: "+Ab),nd=!1);nd||(d=!1);break}f=!0;break;case "k":var Oh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var od=0,pd=Z(),Bb=Z(a.b.u[6]);for(a.j("stack trace for "+K(a,Bb.A));10>od;){for(var Ea=null,Ph=256;65536>Bb.A>>>0;){pd.A=a.ka(Bb,2);if(null==Bb.A||!Ph--)break;if(!(pd.A&1)){for(var Qh=a,ic=pd,Qf=null,Cb=ic.A,Rf=Cb,qd=1;6>=qd&&Cb;qd++){if(2<
|
||||
qd){ic.A=Cb;var jc=hh(Qh,ic);if(0<=jc.indexOf("JSR")){var Sf=jc.indexOf(" ");if(Cb+(jc.indexOf(" ",Sf+1)-Sf-1)/2==Rf){Qf=jc;break}}}Cb-=2}ic.A=Rf;if(Ea=Qf)break}}if(!Ea||null==Ea)break;var Tf=null;if("ks"==Oh){var Uf=Ea.match(/[0-9A-F]+$/);Uf&&(Tf=oh(a,Uf[0]))}Ea=va(Ea,50)+" ;"+(Tf||"stack="+K(a,Bb.A));a.j(Ea);od++}od||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){oh(a,g[1],!0);break}f=!0;break;case "m":a:{var ja,ka=null,F=g[1];"?"==F&&(F=void 0);if(void 0!==F){var wa=0;if("all"==
|
||||
F)wa=1878917119,F=null;else if("on"==F)ka=!0,F=null;else if("off"==F)ka=!1,F=null;else{"keys"==F&&(F="key");"kbd"==F&&(F="keyboard");for(ja in I)if(F==ja){wa=I[ja];ka=!!(a.ia&wa);break}if(!wa){a.j("unknown message category: "+F);break a}}if(wa)if("on"==g[2])a.ia|=wa,ka=!0;else if("off"==g[2]&&(a.ia&=~wa,ka=!1,1073741824==wa)){for(var rd=0;rd<a.ua.length;rd++)a.j(a.ua[rd]);a.ua=[]}}var Rh=0,Db="";for(ja in I)if(!F||F==ja){var Sh=!!(a.ia&I[ja]);if(null===ka||ka==Sh)Db&&(Db+=","),++Rh%10||(Db+="\n\t"),
|
||||
"key"==ja&&(ja="keys"),Db+=ja}void 0===F&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==ka?ka?"messages on: ":"messages off: ":"message categories:\n\t")+(Db||"none"));Mg(a)}break;case "p":if("print"==g[0]){ph(a,b.substr(5));break}var Th="pr"==g[0]?1:0;if(a.V)a.j("step in progress");else{var Vf=Z(a.b.u[7]);a.lb(Vf);a.V?(a.Pa(a.f,Vf,!0),a.eb()||(a.B&&a.B.sb(),a.V=0)):qh(a,Th?"tr":"t")}break;case "r":if("reset"==b){a.B&&a.B.reset();break}ah(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Eb=
|
||||
+g[2];if(8==Eb||10==Eb||16==Eb)a.ja=Eb;else{a.j("invalid base: "+Eb);break}}a.j("default base: "+a.ja);break;case "cs":var Fb;void 0!==g[3]&&(Fb=+g[3]);switch(g[2]){case "int":a.b.Za=Fb;break;case "start":a.b.ob=Fb;break;case "stop":a.b.$a=Fb;break;default:a.j("unknown cs option");break a}void 0!==Fb&&Qc(a.b);a.j("checksums "+(a.b.v.Xa?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Uc(a.b,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.b.Ra.toFixed(2)+
|
||||
"Mhz")+" ("+a.b.Ka+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":qh(a,g[0],g[1]);break;case "u":bh(a,g[1],g[2],8);break;case "v":if("var"==g[0]){nh(a,b.substr(3))||(d=!1);break}if("ver"==
|
||||
g[0]){a.j("PDPjs version 1.30.1 ("+a.b.Ya+",RELEASE"+(sb?",TYPEDARRAYS":",LONGARRAYS")+")");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){ph(a,b.substr(1));break}var sd="commands:",td;for(td in Og)sd+="\n"+va(td,9)+Og[td];Wd(a)||(sd+="\nnote: history disabled if no exec breakpoints");a.j(sd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Wf){a.j("debugger error: "+(Wf.stack||Wf.message)),d=!1}return d}
|
||||
function Rc(a,b,c){b=Dg(a,b,c);for(var d in b)if(!gh(a,b[+d]))return!1;return!0}Ta(function(){for(var a=B(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Kg(d);A(d,c)}});
|
||||
function sh(a,b,c){r.call(this,"Computer",a,sh,67108864);this.v.ha=!1;th(this,b);this.M=Oc(this,"autoPower",a);this.B=0;this.aa=a.busWidth||a.buswidth;this.f=uh;this.I=null;this.G=this.U=!1;this.ba=Oc(this,"url")||"";(Math.random()+.1).toString(36);this.g=vh(this);if(this.b=mb("CPU",this.id)){this.i=mb("Debugger",this.id);this.w=new Lb({id:this.Gb+".bus",busWidth:this.aa},this.b,this.i);var d,e=kb(this.id);if((this.C=mb("Panel",this.id))&&this.C.Qa)for(b=0;b<e.length;b++)d=e[b],d.na=this.C.na,d.j=
|
||||
this.C.j,d.Qa=this.C.Qa;this.j("PDPjs v1.30.1\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.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.Ba&&d.Ba(this,this.w,this.b,this.i);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.H=d:this.f=parseInt(d,10));var f;if(a=Oc(this,"state")||(f=!0,a.state))b=this.R=a,f||(this.G=!0,this.f=uh),this.f&&
|
||||
(this.K=new O(this,"1.30.1"),wh(this.K)?b=null:delete this.K);!b&&this.f&&(b=xh(this))&&(this.G=!0);if(b){var g=this;Fa(b,null,!0,function(a,b,c){c?(g.H=null,g.G=!1,g.na("Unable to load machine state from server (error "+c+(b?": "+xa(b):"")+")")):(g.I=b,g.U=!0);H(g)})}else H(this);this.J.power||(this.M=!0);!c&&this.M&&yh(this,this.pb)}else n("Unable to find CPU component")}u(sh);var uh=0;
|
||||
function th(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){n(d.message+" ("+c+")")}}a.V=b}function Oc(a,b,c){var d=b.toLowerCase(),d=db[b]||db[d];void 0===d&&a.V&&(d=a.V[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function yh(a,b,c){for(var d=kb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!pb(f)){pb(f,function(){yh(a,b,c)});return}}b.call(a,c)}
|
||||
function zh(a,b){var c=new O(a,"1.30.1","validate");if(wh(c)&&Ah(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=sh.prototype;
|
||||
h.pb=function(a){void 0===a&&(a=this.f||(this.I?1:uh));if(!this.B){this.B++;var b=!1,c=!1;this.T=!1;var d=this.K||new O(this,"1.30.1");if(-1==a)b=!0;else if(a>uh){if(wh(d,this.I)){this.D=new O(this,"1.30.1","failsafe");wh(this.D)&&(Bh(this,d),a=2,Ch(this.D));this.D.set("timestamp",Ba());Dh(this.D);var e=this.f&&!this.G;if(1==a||Ga("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Ah(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?wh(d,g):("error"==
|
||||
f&&"no machine state"!=g?(this.na("Error: "+g),"unable to verify user"==g&&(Ka("user",""),this.g=null)):this.j(f+": "+g),Ch(d),wh(d)?(c=Ah(d),e=!0):c=!1))}e&&zh(this,c?d:null)}else 2==a&&d.clear()}else zh(this);delete this.I;delete this.K}e=kb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(c=Eh(this,g,d,b,c));b=[d,a,c];-1!=a?yh(this,this.Ub,b):this.Ub(b)}};
|
||||
function Eh(a,b,c,d,e){if(!b.v.ha){b.v.ha=!0;if(b.ya){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ya(f,d)&&f&&(n("Unable to restore state for "+b.type),a.R&&!a.U?(c.clear(),a.f=uh,window&&window.location.reload()):a.T=!0,b.ya(null),e=!1)}if(!d&&b.Vb)for(a=b.Vb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
h.Ub=function(a){var b=a[0],c=0>a[1];a=a[2];this.fa=!0;this.v.ha=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.b&&(Eh(this,this.b,b,c,a),this.b.ib());this.T&&(Bh(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.B=0};
|
||||
function Bh(a,b){if(Ga("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.ba;d.user=c;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function rh(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new O(a,"1.30.1"),g=new O(a,"1.30.1","validate"),l=Ba();g.set("timestamp",l);f.set("timestamp",l);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.xa&&(c&&a.b.da(),d=a.b.xa(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.v.ha=!1,!1===d&&(e=null)));for(var l=kb(a.id),m=0;m<l.length;m++){var p=l[m];p.v.ha&&(p.xa&&(d=p.xa(b,c),"object"===typeof d&&f.set(p.id,
|
||||
d)),c&&(p.v.ha=!1,!1===d&&(e=null)))}e&&(c?(l=d=!1,b?(a.g&&Fh(a,a.g,f.toString()),Dh(g)&&Dh(f)||(e=null,d=l=!0)):a.f&&(d=!0,l=3==a.f),d&&f.clear(l)):e=f.toString());c&&(a.v.ha=!1,b=a.J.power)&&(b.textContent="Power");a.B=0;return e}h.reset=function(){this.w&&this.w.reset&&(E(this,"Resetting "+this.w.type),this.w.reset());for(var a=kb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c.reset&&(E(this,"Resetting "+c.type),c.reset())}};
|
||||
h.start=function(a,b){for(var c=kb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.$(!0)};h.stop=function(a,b){for(var c=kb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.$(!0)};
|
||||
h.oa=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.B||(d.v.ha?ph(d,!1,!0):wh(d,d.pb))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.v.ha&&!d.B)if(d.f&&!d.H){var a=Ga("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");ph(d,a,!0);!a&&d.R?window&&window.location.reload():d.pb(sh)}else d.reset(),d.b&&d.b.ib()},!0;case "save":if(ra())c.parentNode.removeChild(c);else return this.J[b]=
|
||||
c,c.onclick=function(){var a=th(d,!0);if(a){var b=!!(d.f&&!d.H||d.R),c=ph(d,b);b?Dh(d,a,c):d.na("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function th(a,b){var c=a.j;c||((c=Ja("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=Eh(a,c))||a.na("The user ID is invalid.")):b&&a.na("Browser local storage is not available"));return c}
|
||||
function Eh(a,b){a.j=null;b=Fa(sa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ka("user",b.data),a.j=b.data)}catch(d){n(d.message+" ("+c+")")}return a.j}function vh(a){var b=null;a.j&&(b=sa()+"/api/v1/user?req=load&user="+a.j+"&state="+Fh(a,"1.30.1"));return b}
|
||||
function Dh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Fh(a,"1.30.1");d.data=c;b=Fa(sa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.na("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.na(c),Ka("user",""),a.j=null)}}h.sb=function(){};
|
||||
h.$=function(a){this.b&&this.b.$(a);this.C&&this.C.$(a)};Ta(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"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new qh(g,d,!0);A(g,f);g.M&&wh(g,g.pb)}});Oa.show.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=mb("Computer",c.id))&&c.fa&&!c.v.ha&&c.pb(-1)}});
|
||||
Oa.exit.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=mb("Computer",c.id))&&c.v.ha&&ph(c,!(!c.f||c.H),!0)}});function O(a,b,c){this.id=a.id;this.key=Fh(a,b,c);this.g=a.g;Ah(this,a.pc)}function Fh(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){Ah(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
||||
1);c=0}}};function Ah(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function Bh(a){var b=!0;if(Ia()){var c=JSON.stringify(a[a.id]);Ka(a.key,c)||(n("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function yh(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){n(c.message||c),b=!1}return b}function uh(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:Ia()&&(b=Ja(a.key))?(a[a.id]=b,a.b=!0):!1}var Gh=0;
|
||||
function Sh(a,b,c,d,e,f){e("Loading "+a+"...");Fa(a,null,!0,function(g,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),f(l,null)):Th(l,a,b,c,d,e,f)})}
|
||||
function Th(a,b,c,d,e,f,g){function l(a,f){if(f)g(f,null);else{c&&(jb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){f=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Uh(a,f,l):l(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function Uh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(f,g,l){if(l||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(f=d[3])if(l=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=l[0],p,q=/( [a-z]+=)(['"])(.*?)\2/g;p=q.exec(f);)m=0>m.indexOf(p[1])?m.replace(">",p[0]+">"):m.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);l[0]!=m&&(g=g.replace(l[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);Uh(a,b,c)}})}else c(a,null)}
|
||||
function Vh(a,b,c,d){function e(a){if(void 0===l){var b=g&&B(g,"machine-warning");l=b&&b[0]||g}l&&(l.innerHTML=ua(a))}function f(a){e("Error: "+a);m&&(--Gh||ab(!0));m=!1}var g,l,m=!0;Gh++;ib[a]={};try{if(g=document.getElementById(a)){var p;if("object"==typeof resources&&(p=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=p:v.appendChild(document.createTextNode(p));q.appendChild(v)}c||
|
||||
(c="/versions/pdpjs/1.30.1/components.xsl");p=function(d,l){l?Sh(c,null,null,!1,e,function(d,m){m?(jb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(m=l.transformNode(m))?(g.outerHTML=m,--Gh||ab(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(m),(m=d.transformToFragment(l,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Gh||ab(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Sh(b,a,d,!0,e,p):Th(b,null,a,d,!1,e,p)}else f("missing machine element: "+a)}catch(w){f(w.message)}return m}window.embedPDP11=function(a,b,c,d){ab(!1);return Vh(a,b,c,d)};window.enableEvents=ab;window.sendEvent=bb;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11-dbg.map
|
||||
h.oa=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.B||(d.v.ha?rh(d,!1,!0):yh(d,d.pb))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.v.ha&&!d.B)if(d.f&&!d.H){var a=Ga("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");rh(d,a,!0);!a&&d.R?window&&window.location.reload():d.pb(uh)}else d.reset(),d.b&&d.b.ib()},!0;case "save":if(ra())c.parentNode.removeChild(c);else return this.J[b]=
|
||||
c,c.onclick=function(){var a=vh(d,!0);if(a){var b=!!(d.f&&!d.H||d.R),c=rh(d,b);b?Fh(d,a,c):d.na("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function vh(a,b){var c=a.g;c||((c=Ja("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=Gh(a,c))||a.na("The user ID is invalid.")):b&&a.na("Browser local storage is not available"));return c}
|
||||
function Gh(a,b){a.g=null;b=Fa(sa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ka("user",b.data),a.g=b.data)}catch(d){n(d.message+" ("+c+")")}return a.g}function xh(a){var b=null;a.g&&(b=sa()+"/api/v1/user?req=load&user="+a.g+"&state="+Hh(a,"1.30.1"));return b}
|
||||
function Fh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Hh(a,"1.30.1");d.data=c;b=Fa(sa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.na("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.na(c),Ka("user",""),a.g=null)}}h.sb=function(){};
|
||||
h.$=function(a){this.b&&this.b.$(a);this.C&&this.C.$(a)};Ta(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"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new sh(g,d,!0);A(g,f);g.M&&yh(g,g.pb)}});Oa.show.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=mb("Computer",c.id))&&c.fa&&!c.v.ha&&c.pb(-1)}});
|
||||
Oa.exit.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=mb("Computer",c.id))&&c.v.ha&&rh(c,!(!c.f||c.H),!0)}});function O(a,b,c){this.id=a.id;this.key=Hh(a,b,c);this.i=a.i;Ch(this,a.pc)}function Hh(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){Ch(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
||||
1);c=0}}};function Ch(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function Dh(a){var b=!0;if(Ia()){var c=JSON.stringify(a[a.id]);Ka(a.key,c)||(n("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Ah(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){n(c.message||c),b=!1}return b}function wh(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:Ia()&&(b=Ja(a.key))?(a[a.id]=b,a.b=!0):!1}var Ih=0;
|
||||
function Uh(a,b,c,d,e,f){e("Loading "+a+"...");Fa(a,null,!0,function(g,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),f(l,null)):Vh(l,a,b,c,d,e,f)})}
|
||||
function Vh(a,b,c,d,e,f,g){function l(a,f){if(f)g(f,null);else{c&&(jb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){f=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Wh(a,f,l):l(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function Wh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(f,g,l){if(l||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(f=d[3])if(l=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=l[0],p,q=/( [a-z]+=)(['"])(.*?)\2/g;p=q.exec(f);)m=0>m.indexOf(p[1])?m.replace(">",p[0]+">"):m.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);l[0]!=m&&(g=g.replace(l[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);Wh(a,b,c)}})}else c(a,null)}
|
||||
function Xh(a,b,c,d){function e(a){if(void 0===l){var b=g&&B(g,"machine-warning");l=b&&b[0]||g}l&&(l.innerHTML=ua(a))}function f(a){e("Error: "+a);m&&(--Ih||ab(!0));m=!1}var g,l,m=!0;Ih++;ib[a]={};try{if(g=document.getElementById(a)){var p;if("object"==typeof resources&&(p=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=p:v.appendChild(document.createTextNode(p));q.appendChild(v)}c||
|
||||
(c="/versions/pdpjs/1.30.1/components.xsl");p=function(d,l){l?Uh(c,null,null,!1,e,function(d,m){m?(jb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(m=l.transformNode(m))?(g.outerHTML=m,--Ih||ab(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(m),(m=d.transformToFragment(l,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Ih||ab(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Uh(b,a,d,!0,e,p):Vh(b,null,a,d,!1,e,p)}else f("missing machine element: "+a)}catch(w){f(w.message)}return m}window.embedPDP11=function(a,b,c,d){ab(!1);return Xh(a,b,c,d)};window.enableEvents=ab;window.sendEvent=bb;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11-dbg.map
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ typeof b){var n="",r;for(r in b)b.hasOwnProperty(r)&&(n&&(n+="&"),n+=r+"="+encod
|
|||
function p(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var va=null;function wa(){if(null==va){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}va=a}return va}function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var q={init:[],show:[],exit:[]},Aa=!1,Ba=!1,Ca=!0;function Da(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){q.init.push(a)}
|
||||
function Ea(a){if(Ca)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){p(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Fa(a){!Ca&&a?(Ca=!0,Aa&&Ga("init"),Ba&&Ga("show")):Ca=a}function Ga(a){q[a]&&Ea(q[a])}Da("onload",function(){Aa=!0;Ea(q.init)});Da("onpageshow",function(){Ba=!0;Ea(q.show)});Da(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Ea(q.exit)});
|
||||
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.jb=b.comment;this.Bb=b;b=this.id.indexOf(".");0>b?this.Ea=this.id:(this.Ua=this.id.substr(0,b),this.Ea=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Yc:!1,Zc:!1,L:!1,error:!1};this.Oa=null;this.h.error=!1;this.v={};this.G=null;w.push(this)}var Ha=void 0,Ia={};
|
||||
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.jb=b.comment;this.Bb=b;b=this.id.indexOf(".");0>b?this.Ea=this.id:(this.Ua=this.id.substr(0,b),this.Ea=this.id.substr(b+1));this[a]=c;this.h={ready:!1,bd:!1,cd:!1,L:!1,error:!1};this.Oa=null;this.h.error=!1;this.v={};this.G=null;w.push(this)}var Ha=void 0,Ia={};
|
||||
if(window){Ha||(Ha=window.location.search.substr(1));for(var Ja,Ka=/\+/g,La=/([^&=]+)=?([^&]*)/g;Ja=La.exec(Ha);)Ia[decodeURIComponent(Ja[1].replace(Ka," "))]=decodeURIComponent(Ja[2].replace(Ka," "))}function Ma(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=Ma(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Na=window.PCjs.Machines||(window.PCjs.Machines={}),w=window.PCjs.Components||(window.PCjs.Components=[])}else Na={},w=[];function Oa(a,b,c){Na[a]&&b&&(Na[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 Pa(a){if(void 0!==a){var b;for(b=0;b<w.length;b++)if(w[b].id===a)return w[b]}return null}function Qa(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){p(c.message+" ("+a+")")}return b}
|
||||
|
|
@ -51,68 +51,68 @@ this.K=function(a){this.O(a,this.Ea)}),!0;default:return!1}},log:function(){},O:
|
|||
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});
|
||||
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});var Sa="undefined"!==typeof ArrayBuffer;function Ta(a){v.call(this,"Panel",a,Ta);this.b=0;this.h.fb=!0}x(Ta);g=Ta.prototype;
|
||||
g.U=function(a,b,c,d){if(this.w&&this.w.U(a,b,c,d)||this.a&&this.a.U(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.v[b]=c,this.b++,!0;default:return"rled"==a?(this.v[b]=c,this.b++,!0):this.parent.U.call(this,a,b,c,d)}};g.ca=function(a,b,c,d){this.w=a;this.l=b;this.a=c;this.G=d};g.Y=function(a,b){b||Ua();return!0};g.X=function(){return!0};
|
||||
function Va(a,b,c,d){if(a.v[b]){void 0===c&&(a.h.error=!0,a.K("Value for "+b+" is invalid"),E(a.a));var e=a.G&&a.G.b||8;c=!a.a.h.T||a.h.fb?8==e?ja(c,d):h(c,d):"--------".substr(0,d||4);a.v[b].textContent!=c&&(a.v[b].textContent=c)}}function Wa(a,b,c,d){for(var e=0;e<d;e++){var f=a.v[b+e];f&&(f.style.backgroundColor=c&1<<e?"#ff0000":"#000000")}}
|
||||
g.da=function(a){if(this.b&&(a||!this.a.h.T||this.h.fb)){for(a=0;a<this.a.f.length;a++)Va(this,"R"+a,this.a.f[a]);a=Xa(this.a);Va(this,"PS",a);Va(this,"NF",a&8?1:0,1);Va(this,"ZF",a&4?1:0,1);Va(this,"VF",a&2?1:0,1);Va(this,"CF",a&1?1:0,1);Wa(this,"D",this.a.f[0],16);Wa(this,"A",this.a.f[7],22)}};function Ua(){for(var a=!1,b=B(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=Pa(e.id);f||(a=!0,f=new Ta(e));A(f,d);a&&C(f)}}u(Ua);
|
||||
function Ya(a,b,c){v.call(this,"Bus",a,Ya);this.a=b;this.G=c;this.H=a.busWidth||16;this.m=0;this.D=[];this.s=null;this.A=Math.pow(2,this.H);this.i=this.A-1|0;this.c=F;this.l=Math.log2(this.c);this.B=this.c>>2;this.g=this.c-1;this.w=this.A/this.c|0;this.ia=[];this.R=0;this.o=[];this.vb=[Za,$a,ab,bb];a=new G(this);cb(a,this.G);this.b=Array(this.w);for(b=0;b<this.w;b++)this.b[b]=a;C(this)}x(Ya);var F=8192,db=F-1;
|
||||
function Za(a,b){var c=-1,d=this.controller,e=d.ia[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.ia[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);return 0<=c?c:c=eb(d,b)}function $a(a,b,c){var d=!1,e=this.controller,f=e.ia[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.ia[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d||eb(e,c)}
|
||||
function ab(a,b){var c=-1,d=this.controller;(a=d.ia[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));return 0<=c?c:c=eb(d,b)}function bb(a,b,c){var d=!1,e=this.controller;if(a=e.ia[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||eb(e,c)}function fb(a,b){if(b!=a.m){var c;a.m&&(c=(1<<a.m)-F,gb(a,c,F,a.D),a.m=0);b&&(a.m=b,c=(1<<b)-F,a.D=hb(a,c,F),a.s?gb(a,c,F,a.s):(ib(a,c,F,jb,a),a.s=hb(a,c,F)))}}
|
||||
Ya.prototype.reset=function(){for(var a=0;a<this.o.length;a++)this.o[a]();fb(this,16)};function eb(a,b){a.R||H(a.a,4,b);return 0}Ya.prototype.Y=function(a,b){b||this.reset();return!0};
|
||||
function ib(a,b,c,d,e){for(var f=b,k=c,l=f>>>a.l;0<k&&l<a.b.length;){var n=a.b[l],r=l*a.c,t=a.c-(f-r);t>k&&(t=k);if(!e&&n&&n.size){if(n.type==d){if(f+k<=n.za)return n.Qa+=n.za-f,n.za=f,!0;if(f>=n.za+n.Qa){t=n.size-(f-r);t>k&&(t=k);n.Qa=f-n.za+t;f=r+a.c;k-=t;l++;continue}}return kb(1,f,k)}f=new G(a,f,t,a.c,d,e);cb(f,a.G,n);a.b[l++]=f;f=r+a.c;k-=t}if(0>=k){c/=1024;var D;e="";D?10<D&&(D=10):D=c&-65536?10:5;if(null==c||isNaN(c))for(;0<D--;)e="?"+e;else for(;0<D--;)e=String.fromCharCode(c%10+48)+e,c/=
|
||||
10;a.status(e+"Kb "+lb[d]+" at "+ja(b));return!0}return kb(2,b,c)}function hb(a,b,c){var d=[];for(b>>>=a.l;0<c&&b<a.b.length;)d.push(a.b[b++]),c-=a.c;return d}function gb(a,b,c,d){var e=0;for(b>>>=a.l;0<c&&b<a.b.length;){var f=d[e++];if(!f)break;a.b[b++]=f;c-=a.c}}function mb(a,b){return a.b[(b&a.i)>>>a.l].Ya(b&a.g,b)}function nb(a,b){return a.b[(b&a.i)>>>a.l].S(b&a.g,b)}Ya.prototype.bb=function(a,b){this.R++;this.b[(a&this.i)>>>this.l].sb(a&this.g,b&255,a);this.R--};
|
||||
function ob(a,b,c){a.b[(b&a.i)>>>a.l].Ra(b&a.g,c&65535,b)}function pb(a){for(var b=0,c=[],d=0;d<a.w;d++){var e=a.b[d];if(e.ja||e.xb){c[b++]=d;var f=b++;if(e=e.save()){for(var k=0,l=0,n=[];k<e.length;){for(var r=e[k],t=k+1;t<e.length&&e[t]===r;)t++;n[l++]=t-k;n[l++]=r;k=t}n.length<e.length&&(e=n)}c[f]=e}}return c}function qb(a,b,c,d,e,f,k,l){for(;b<=c;b+=2){var n=b&db;void 0!==a.ia[n]?p("I/O address already registered: "+h(b,8,!0)):a.ia[n]=[d,e,f,k,l||"unknown",!1]}}
|
||||
function rb(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[5]&&f[5]>a.a.Ia)){var k=f[0]?f[0].bind(b):null,l=f[1]?f[1].bind(b):null,n=f[2]?f[2].bind(b):null,r=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!k&&n&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&r&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(r)));qb(a,e,e,k,l,n,r,f[4])}}}function sb(a,b){a.o.push(b)}function tb(a,b){a.R||H(a.a,4,b)}
|
||||
function kb(a,b,c){p("Memory block error ("+a+": "+h(b)+","+h(c)+")");return!1}function I(a){v.call(this,"Device",a,I);this.c={data:0,Xc:0,Pa:20,nc:0};this.b={$c:0,cb:-1}}x(I);g=I.prototype;g.ca=function(a,b,c,d){this.l=b;this.a=c;this.G=d;var e=this;this.b.cb=ub(c,function(){e.b.la|=128;e.b.la&64&&(vb(e.a,e.b.oc),wb(e.a,e.b.cb,1E3/60))});this.b.oc=xb(64,6);rb(b,this,J);sb(b,this.reset.bind(this));C(this)};g.reset=function(){this.c.Pa=this.c.Pa&-120|20;this.b.la=0};
|
||||
g.Lb=function(){var a=this.b.la;this.b.la&=-129;return a};g.xc=function(a){this.b.la=a;a&64&&wb(this.a,this.b.cb,1E3/60);this.b.la=a&-129};g.Eb=function(a){return(a?this.c.nc:this.c.data)&65535};g.qc=function(a){this.c.data=a};g.Nb=function(){var a=this.a;return a.A&62337|a.Fa<<5|a.Ga<<1};g.zc=function(a){var b=this.a;a&=62337;if(b.A!=a){b.A=a;b.Fa=a>>5&3;b.Ga=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ba!=c&&(b.Ba=c,yb(b))}zb(this)};
|
||||
g.Ob=function(){var a=this.a.ma;a&65280&&(a=(a<<8|a>>8)&65535);return a};g.Pb=function(){return this.a.$a};g.Qb=function(){return this.a.na};g.Ac=function(a){var b=this.a;1170>b.Ia&&(a&=-49);b.na!=a&&(b.na=a,a&16?(b.Wa=4194303,b.Ha=3915776):(b.Wa=262143,b.Ha=253952),yb(b));zb(this)};function zb(a){a.c.Pa=a.c.Pa&-8|(a.a.Ba?a.a.na&16?1:2:4)}g.bc=function(a){return this.a.C[1][a>>1&7]};g.Mc=function(a,b){this.a.C[1][b>>1&7]=a&65295};g.$b=function(a){return this.a.C[1][(a>>1&7)+8]};
|
||||
g.Kc=function(a,b){this.a.C[1][(b>>1&7)+8]=a&65295};g.ac=function(a){return this.a.P[1][a>>1&7]};g.Lc=function(a,b){b=b>>1&7;this.a.P[1][b]=a;this.a.C[1][b]&=65295};g.Zb=function(a){return this.a.P[1][(a>>1&7)+8]};g.Jc=function(a,b){b=(b>>1&7)+8;this.a.P[1][b]=a;this.a.C[1][b]&=65295};g.Kb=function(a){return this.a.C[0][a>>1&7]};g.wc=function(a,b){this.a.C[0][b>>1&7]=a&65295};g.Ib=function(a){return this.a.C[0][(a>>1&7)+8]};g.uc=function(a,b){this.a.C[0][(b>>1&7)+8]=a&65295};
|
||||
g.Jb=function(a){return this.a.P[0][a>>1&7]};g.vc=function(a,b){b=b>>1&7;this.a.P[0][b]=a;this.a.C[0][b]&=65295};g.Hb=function(a){return this.a.P[0][(a>>1&7)+8]};g.tc=function(a,b){b=(b>>1&7)+8;this.a.P[0][b]=a;this.a.C[0][b]&=65295};g.hc=function(a){return this.a.C[3][a>>1&7]};g.Sc=function(a,b){this.a.C[3][b>>1&7]=a&65295};g.fc=function(a){return this.a.C[3][(a>>1&7)+8]};g.Qc=function(a,b){this.a.C[3][(b>>1&7)+8]=a&65295};g.gc=function(a){return this.a.P[3][a>>1&7]};
|
||||
g.Rc=function(a,b){b=b>>1&7;this.a.P[3][b]=a;this.a.C[3][b]&=65295};g.ec=function(a){return this.a.P[3][(a>>1&7)+8]};g.Pc=function(a,b){b=(b>>1&7)+8;this.a.P[3][b]=a;this.a.C[3][b]&=65295};g.ua=function(a){a&=7;return this.a.u&2048?this.a.sa[a]:this.a.f[a]};g.wa=function(a,b){b&=7;this.a.u&2048?this.a.sa[b]=a:this.a.f[b]=a};g.Tb=function(){return this.a.u&49152?this.a.Z[0]:this.a.f[6]};g.Dc=function(a){this.a.u&49152?this.a.Z[0]=a:this.a.f[6]=a};g.Wb=function(){return this.a.f[7]};
|
||||
g.Gc=function(a){this.a.f[7]=a};g.va=function(a){a&=7;return this.a.u&2048?this.a.f[a]:this.a.sa[a]};g.xa=function(a,b){b&=7;this.a.u&2048?this.a.f[b]=a:this.a.sa[b]=a};g.Ub=function(){return 1==(this.a.u&49152)>>14?this.a.f[6]:this.a.Z[1]};g.Ec=function(a){1==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.Z[1]=a};g.Vb=function(){return 3==(this.a.u&49152)>>14?this.a.f[6]:this.a.Z[3]};g.Fc=function(a){3==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.Z[3]=a};g.Gb=function(a){return this.a.pb[a-65504>>1]};
|
||||
g.sc=function(a,b){this.a.pb[b-65504>>1]=a};g.nb=function(a){return 65520==a?61183:0};g.ub=function(){};g.dc=function(){return 1};g.Oc=function(){};g.Fb=function(){return this.a.F};g.rc=function(){this.a.F=0};g.Mb=function(){return this.a.ob};g.yc=function(a,b){b&1||(a&=255);this.a.ob=a};g.Rb=function(a){return a?this.a.ab:0};g.Bc=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.ab=a;b.j|=2};g.cc=function(a){return a?this.a.oa&65280:0};g.Nc=function(a){this.a.oa=a|255};
|
||||
g.Sb=function(){return Xa(this.a)};g.Cc=function(a){Ab(this.a,a&-1809|Xa(this.a)&1808);this.a.j|=128};g.tb=function(){};
|
||||
var K={},J=(K[62592]=[null,null,I.prototype.bc,I.prototype.Mc,"SISDR",1145],K[62608]=[null,null,I.prototype.$b,I.prototype.Kc,"SDSDR",1145],K[62624]=[null,null,I.prototype.ac,I.prototype.Lc,"SISAR",1145],K[62640]=[null,null,I.prototype.Zb,I.prototype.Jc,"SDSAR",1145],K[62656]=[null,null,I.prototype.Kb,I.prototype.wc,"KISDR",1145],K[62672]=[null,null,I.prototype.Ib,I.prototype.uc,"KDSDR",1145],K[62688]=[null,null,I.prototype.Jb,I.prototype.vc,"KISAR",1145],K[62704]=[null,null,I.prototype.Hb,I.prototype.tc,
|
||||
"KDSAR",1145],K[62798]=[null,null,I.prototype.Qb,I.prototype.Ac,"MMR3",1145],K[65382]=[null,null,I.prototype.Lb,I.prototype.xc,"LKS"],K[65400]=[null,null,I.prototype.Eb,I.prototype.qc,"CNSL"],K[65402]=[null,null,I.prototype.Nb,I.prototype.zc,"MMR0",1145],K[65404]=[null,null,I.prototype.Ob,I.prototype.tb,"MMR1",1145],K[65406]=[null,null,I.prototype.Pb,I.prototype.tb,"MMR2",1145],K[65408]=[null,null,I.prototype.hc,I.prototype.Sc,"UISDR",1145],K[65424]=[null,null,I.prototype.fc,I.prototype.Qc,"UDSDR",
|
||||
1145],K[65440]=[null,null,I.prototype.gc,I.prototype.Rc,"UISAR",1145],K[65456]=[null,null,I.prototype.ec,I.prototype.Pc,"UDSAR",1145],K[65472]=[null,null,I.prototype.ua,I.prototype.wa,"R0SET0"],K[65473]=[null,null,I.prototype.ua,I.prototype.wa,"R1SET0"],K[65474]=[null,null,I.prototype.ua,I.prototype.wa,"R2SET0"],K[65475]=[null,null,I.prototype.ua,I.prototype.wa,"R3SET0"],K[65476]=[null,null,I.prototype.ua,I.prototype.wa,"R4SET0"],K[65477]=[null,null,I.prototype.ua,I.prototype.wa,"R5SET0"],K[65478]=
|
||||
[null,null,I.prototype.Tb,I.prototype.Dc,"R6KERNEL"],K[65479]=[null,null,I.prototype.Wb,I.prototype.Gc,"R7KERNEL"],K[65480]=[null,null,I.prototype.va,I.prototype.xa,"R0SET1",1145],K[65481]=[null,null,I.prototype.va,I.prototype.xa,"R1SET1",1145],K[65482]=[null,null,I.prototype.va,I.prototype.xa,"R2SET1",1145],K[65483]=[null,null,I.prototype.va,I.prototype.xa,"R3SET1",1145],K[65484]=[null,null,I.prototype.va,I.prototype.xa,"R4SET1",1145],K[65485]=[null,null,I.prototype.va,I.prototype.xa,"R5SET1",1145],
|
||||
K[65486]=[null,null,I.prototype.Ub,I.prototype.Ec,"R6SUPER",1145],K[65487]=[null,null,I.prototype.Vb,I.prototype.Fc,"R6USER",1145],K[65504]=[null,null,I.prototype.Gb,I.prototype.sc,"CTRL",1170],K[65520]=[null,null,I.prototype.nb,I.prototype.ub,"LSIZE",1170],K[65522]=[null,null,I.prototype.nb,I.prototype.ub,"HSIZE",1170],K[65524]=[null,null,I.prototype.dc,I.prototype.Oc,"SYSID",1170],K[65526]=[null,null,I.prototype.Fb,I.prototype.rc,"CPUERR",1170],K[65528]=[null,null,I.prototype.Mb,I.prototype.yc,
|
||||
"MB",1170],K[65530]=[null,null,I.prototype.Rb,I.prototype.Bc,"PIR"],K[65532]=[null,null,I.prototype.cc,I.prototype.Nc,"SL"],K[65534]=[null,null,I.prototype.Sb,I.prototype.Cc,"PSW"],K);J[62594]=J[62592];J[62596]=J[62592];J[62598]=J[62592];J[62600]=J[62592];J[62602]=J[62592];J[62604]=J[62592];J[62606]=J[62592];J[62610]=J[62608];J[62612]=J[62608];J[62614]=J[62608];J[62616]=J[62608];J[62618]=J[62608];J[62620]=J[62608];J[62622]=J[62608];J[62626]=J[62624];J[62628]=J[62624];J[62630]=J[62624];J[62632]=J[62624];
|
||||
J[62634]=J[62624];J[62636]=J[62624];J[62638]=J[62624];J[62642]=J[62640];J[62644]=J[62640];J[62646]=J[62640];J[62648]=J[62640];J[62650]=J[62640];J[62652]=J[62640];J[62654]=J[62640];J[62658]=J[62656];J[62660]=J[62656];J[62662]=J[62656];J[62664]=J[62656];J[62666]=J[62656];J[62668]=J[62656];J[62670]=J[62656];J[62674]=J[62672];J[62676]=J[62672];J[62678]=J[62672];J[62680]=J[62672];J[62682]=J[62672];J[62684]=J[62672];J[62686]=J[62672];J[62690]=J[62688];J[62692]=J[62688];J[62694]=J[62688];J[62696]=J[62688];
|
||||
J[62698]=J[62688];J[62700]=J[62688];J[62702]=J[62688];J[62706]=J[62704];J[62708]=J[62704];J[62710]=J[62704];J[62712]=J[62704];J[62714]=J[62704];J[62716]=J[62704];J[62718]=J[62704];J[65410]=J[65408];J[65412]=J[65408];J[65414]=J[65408];J[65416]=J[65408];J[65418]=J[65408];J[65420]=J[65408];J[65422]=J[65408];J[65426]=J[65424];J[65428]=J[65424];J[65430]=J[65424];J[65432]=J[65424];J[65434]=J[65424];J[65436]=J[65424];J[65438]=J[65424];J[65442]=J[65440];J[65444]=J[65440];J[65446]=J[65440];J[65448]=J[65440];
|
||||
J[65450]=J[65440];J[65452]=J[65440];J[65454]=J[65440];J[65458]=J[65456];J[65460]=J[65456];J[65462]=J[65456];J[65464]=J[65456];J[65466]=J[65456];J[65468]=J[65456];J[65470]=J[65456];J[65506]=J[65504];J[65508]=J[65504];J[65510]=J[65504];J[65512]=J[65504];J[65514]=J[65504];J[65516]=J[65504];J[65518]=J[65504];u(function(){for(var a=B(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=z(d);switch(c.type){case "default":c=new I(c);A(c,d);break;case "pc11":c=new Bb(c),A(c,d)}}});var Cb;
|
||||
function Va(a,b,c,d){if(a.v[b]){void 0===c&&(a.h.error=!0,a.K("Value for "+b+" is invalid"),Wa(a.a));var e=a.G&&a.G.b||8;c=!a.a.h.T||a.h.fb?8==e?ja(c,d):h(c,d):"--------".substr(0,d||4);a.v[b].textContent!=c&&(a.v[b].textContent=c)}}function Xa(a,b,c,d){for(var e=0;e<d;e++){var f=a.v[b+e];f&&(f.style.backgroundColor=c&1<<e?"#ff0000":"#000000")}}
|
||||
g.da=function(a){if(this.b&&(a||!this.a.h.T||this.h.fb)){for(a=0;a<this.a.f.length;a++)Va(this,"R"+a,this.a.f[a]);a=Ya(this.a);Va(this,"PS",a);Va(this,"NF",a&8?1:0,1);Va(this,"ZF",a&4?1:0,1);Va(this,"VF",a&2?1:0,1);Va(this,"CF",a&1?1:0,1);Xa(this,"D",this.a.f[0],16);Xa(this,"A",this.a.f[7],22)}};function Ua(){for(var a=!1,b=B(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=Pa(e.id);f||(a=!0,f=new Ta(e));A(f,d);a&&C(f)}}u(Ua);
|
||||
function Za(a,b,c){v.call(this,"Bus",a,Za);this.a=b;this.G=c;this.H=a.busWidth||16;this.m=0;this.D=[];this.s=null;this.A=Math.pow(2,this.H);this.i=this.A-1|0;this.c=E;this.l=Math.log2(this.c);this.B=this.c>>2;this.g=this.c-1;this.w=this.A/this.c|0;this.ia=[];this.R=0;this.o=[];this.vb=[$a,ab,bb,cb];a=new F(this);db(a,this.G);this.b=Array(this.w);for(b=0;b<this.w;b++)this.b[b]=a;C(this)}x(Za);var E=8192,eb=E-1;
|
||||
function $a(a,b){var c=-1,d=this.controller,e=d.ia[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.ia[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);return 0<=c?c:c=fb(d,b)}function ab(a,b,c){var d=!1,e=this.controller,f=e.ia[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.ia[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d||fb(e,c)}
|
||||
function bb(a,b){var c=-1,d=this.controller;(a=d.ia[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));return 0<=c?c:c=fb(d,b)}function cb(a,b,c){var d=!1,e=this.controller;if(a=e.ia[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||fb(e,c)}function gb(a,b){if(b!=a.m){var c;a.m&&(c=(1<<a.m)-E,hb(a,c,E,a.D),a.m=0);b&&(a.m=b,c=(1<<b)-E,a.D=ib(a,c,E),a.s?hb(a,c,E,a.s):(jb(a,c,E,kb,a),a.s=ib(a,c,E)))}}
|
||||
Za.prototype.reset=function(){for(var a=0;a<this.o.length;a++)this.o[a]();gb(this,16)};function fb(a,b){a.R||G(a.a,4,b);return 0}Za.prototype.Y=function(a,b){b||this.reset();return!0};
|
||||
function jb(a,b,c,d,e){for(var f=b,k=c,l=f>>>a.l;0<k&&l<a.b.length;){var n=a.b[l],r=l*a.c,t=a.c-(f-r);t>k&&(t=k);if(!e&&n&&n.size){if(n.type==d){if(f+k<=n.za)return n.Qa+=n.za-f,n.za=f,!0;if(f>=n.za+n.Qa){t=n.size-(f-r);t>k&&(t=k);n.Qa=f-n.za+t;f=r+a.c;k-=t;l++;continue}}return lb(1,f,k)}f=new F(a,f,t,a.c,d,e);db(f,a.G,n);a.b[l++]=f;f=r+a.c;k-=t}if(0>=k){c/=1024;var D;e="";D?10<D&&(D=10):D=c&-65536?10:5;if(null==c||isNaN(c))for(;0<D--;)e="?"+e;else for(;0<D--;)e=String.fromCharCode(c%10+48)+e,c/=
|
||||
10;a.status(e+"Kb "+mb[d]+" at "+ja(b));return!0}return lb(2,b,c)}function ib(a,b,c){var d=[];for(b>>>=a.l;0<c&&b<a.b.length;)d.push(a.b[b++]),c-=a.c;return d}function hb(a,b,c,d){var e=0;for(b>>>=a.l;0<c&&b<a.b.length;){var f=d[e++];if(!f)break;a.b[b++]=f;c-=a.c}}function nb(a,b){return a.b[(b&a.i)>>>a.l].Ya(b&a.g,b)}function ob(a,b){return a.b[(b&a.i)>>>a.l].S(b&a.g,b)}Za.prototype.bb=function(a,b){this.R++;this.b[(a&this.i)>>>this.l].sb(a&this.g,b&255,a);this.R--};
|
||||
function pb(a,b,c){a.b[(b&a.i)>>>a.l].Ra(b&a.g,c&65535,b)}function qb(a){for(var b=0,c=[],d=0;d<a.w;d++){var e=a.b[d];if(e.ja||e.xb){c[b++]=d;var f=b++;if(e=e.save()){for(var k=0,l=0,n=[];k<e.length;){for(var r=e[k],t=k+1;t<e.length&&e[t]===r;)t++;n[l++]=t-k;n[l++]=r;k=t}n.length<e.length&&(e=n)}c[f]=e}}return c}function rb(a,b,c,d,e,f,k,l){for(;b<=c;b+=2){var n=b&eb;void 0!==a.ia[n]?p("I/O address already registered: "+h(b,8,!0)):a.ia[n]=[d,e,f,k,l||"unknown",!1]}}
|
||||
function sb(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[5]&&f[5]>a.a.Ia)){var k=f[0]?f[0].bind(b):null,l=f[1]?f[1].bind(b):null,n=f[2]?f[2].bind(b):null,r=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!k&&n&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&r&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(r)));rb(a,e,e,k,l,n,r,f[4])}}}function tb(a,b){a.o.push(b)}function ub(a,b){a.R||G(a.a,4,b)}
|
||||
function lb(a,b,c){p("Memory block error ("+a+": "+h(b)+","+h(c)+")");return!1}function H(a){v.call(this,"Device",a,H);this.c={data:0,ad:0,Pa:20,pc:0};this.b={dd:0,cb:-1}}x(H);g=H.prototype;g.ca=function(a,b,c,d){this.l=b;this.a=c;this.G=d;var e=this;this.b.cb=vb(c,function(){e.b.la|=128;e.b.la&64&&(wb(e.a,e.b.qc),xb(e.a,e.b.cb,1E3/60))});this.b.qc=yb(64,6);sb(b,this,I);tb(b,this.reset.bind(this));C(this)};g.reset=function(){this.c.Pa=this.c.Pa&-120|20;this.b.la=0};
|
||||
g.Lb=function(){var a=this.b.la;this.b.la&=-129;return a};g.zc=function(a){this.b.la=a;a&64&&xb(this.a,this.b.cb,1E3/60);this.b.la=a&-129};g.Eb=function(a){return(a?this.c.pc:this.c.data)&65535};g.sc=function(a){this.c.data=a};g.Nb=function(){var a=this.a;return a.A&62337|a.Fa<<5|a.Ga<<1};g.Bc=function(a){var b=this.a;a&=62337;if(b.A!=a){b.A=a;b.Fa=a>>5&3;b.Ga=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ba!=c&&(b.Ba=c,zb(b))}Ab(this)};
|
||||
g.Ob=function(){var a=this.a.ma;a&65280&&(a=(a<<8|a>>8)&65535);return a};g.Pb=function(){return this.a.$a};g.Qb=function(){return this.a.na};g.Cc=function(a){var b=this.a;1170>b.Ia&&(a&=-49);b.na!=a&&(b.na=a,a&16?(b.Wa=4194303,b.Ha=3915776):(b.Wa=262143,b.Ha=253952),zb(b));Ab(this)};function Ab(a){a.c.Pa=a.c.Pa&-8|(a.a.Ba?a.a.na&16?1:2:4)}g.dc=function(a){return this.a.C[1][a>>1&7]};g.Qc=function(a,b){this.a.C[1][b>>1&7]=a&65295};g.bc=function(a){return this.a.C[1][(a>>1&7)+8]};
|
||||
g.Oc=function(a,b){this.a.C[1][(b>>1&7)+8]=a&65295};g.cc=function(a){return this.a.P[1][a>>1&7]};g.Pc=function(a,b){b=b>>1&7;this.a.P[1][b]=a;this.a.C[1][b]&=65295};g.ac=function(a){return this.a.P[1][(a>>1&7)+8]};g.Nc=function(a,b){b=(b>>1&7)+8;this.a.P[1][b]=a;this.a.C[1][b]&=65295};g.Kb=function(a){return this.a.C[0][a>>1&7]};g.yc=function(a,b){this.a.C[0][b>>1&7]=a&65295};g.Ib=function(a){return this.a.C[0][(a>>1&7)+8]};g.wc=function(a,b){this.a.C[0][(b>>1&7)+8]=a&65295};
|
||||
g.Jb=function(a){return this.a.P[0][a>>1&7]};g.xc=function(a,b){b=b>>1&7;this.a.P[0][b]=a;this.a.C[0][b]&=65295};g.Hb=function(a){return this.a.P[0][(a>>1&7)+8]};g.vc=function(a,b){b=(b>>1&7)+8;this.a.P[0][b]=a;this.a.C[0][b]&=65295};g.jc=function(a){return this.a.C[3][a>>1&7]};g.Wc=function(a,b){this.a.C[3][b>>1&7]=a&65295};g.hc=function(a){return this.a.C[3][(a>>1&7)+8]};g.Uc=function(a,b){this.a.C[3][(b>>1&7)+8]=a&65295};g.ic=function(a){return this.a.P[3][a>>1&7]};
|
||||
g.Vc=function(a,b){b=b>>1&7;this.a.P[3][b]=a;this.a.C[3][b]&=65295};g.gc=function(a){return this.a.P[3][(a>>1&7)+8]};g.Tc=function(a,b){b=(b>>1&7)+8;this.a.P[3][b]=a;this.a.C[3][b]&=65295};g.ua=function(a){a&=7;return this.a.u&2048?this.a.sa[a]:this.a.f[a]};g.wa=function(a,b){b&=7;this.a.u&2048?this.a.sa[b]=a:this.a.f[b]=a};g.Vb=function(){return this.a.u&49152?this.a.Z[0]:this.a.f[6]};g.Hc=function(a){this.a.u&49152?this.a.Z[0]=a:this.a.f[6]=a};g.Yb=function(){return this.a.f[7]};
|
||||
g.Kc=function(a){this.a.f[7]=a};g.va=function(a){a&=7;return this.a.u&2048?this.a.f[a]:this.a.sa[a]};g.xa=function(a,b){b&=7;this.a.u&2048?this.a.f[b]=a:this.a.sa[b]=a};g.Wb=function(){return 1==(this.a.u&49152)>>14?this.a.f[6]:this.a.Z[1]};g.Ic=function(a){1==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.Z[1]=a};g.Xb=function(){return 3==(this.a.u&49152)>>14?this.a.f[6]:this.a.Z[3]};g.Jc=function(a){3==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.Z[3]=a};g.Gb=function(a){return this.a.pb[a-65504>>1]};
|
||||
g.uc=function(a,b){this.a.pb[b-65504>>1]=a};g.nb=function(a){return 65520==a?61183:0};g.ub=function(){};g.fc=function(){return 1};g.Sc=function(){};g.Fb=function(){return this.a.F};g.tc=function(){this.a.F=0};g.Mb=function(){return this.a.ob};g.Ac=function(a,b){b&1||(a&=255);this.a.ob=a};g.Rb=function(a){return a?this.a.ab:0};g.Dc=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.ab=a;b.j|=2};g.ec=function(a){return a?this.a.oa&65280:0};g.Rc=function(a){this.a.oa=a|255};
|
||||
g.Ub=function(){return Ya(this.a)};g.Gc=function(a){Bb(this.a,a&-1809|Ya(this.a)&1808);this.a.j|=128};g.tb=function(){};
|
||||
var J={},I=(J[62592]=[null,null,H.prototype.dc,H.prototype.Qc,"SISDR",1145],J[62608]=[null,null,H.prototype.bc,H.prototype.Oc,"SDSDR",1145],J[62624]=[null,null,H.prototype.cc,H.prototype.Pc,"SISAR",1145],J[62640]=[null,null,H.prototype.ac,H.prototype.Nc,"SDSAR",1145],J[62656]=[null,null,H.prototype.Kb,H.prototype.yc,"KISDR",1145],J[62672]=[null,null,H.prototype.Ib,H.prototype.wc,"KDSDR",1145],J[62688]=[null,null,H.prototype.Jb,H.prototype.xc,"KISAR",1145],J[62704]=[null,null,H.prototype.Hb,H.prototype.vc,
|
||||
"KDSAR",1145],J[62798]=[null,null,H.prototype.Qb,H.prototype.Cc,"MMR3",1145],J[65382]=[null,null,H.prototype.Lb,H.prototype.zc,"LKS"],J[65400]=[null,null,H.prototype.Eb,H.prototype.sc,"CNSL"],J[65402]=[null,null,H.prototype.Nb,H.prototype.Bc,"MMR0",1145],J[65404]=[null,null,H.prototype.Ob,H.prototype.tb,"MMR1",1145],J[65406]=[null,null,H.prototype.Pb,H.prototype.tb,"MMR2",1145],J[65408]=[null,null,H.prototype.jc,H.prototype.Wc,"UISDR",1145],J[65424]=[null,null,H.prototype.hc,H.prototype.Uc,"UDSDR",
|
||||
1145],J[65440]=[null,null,H.prototype.ic,H.prototype.Vc,"UISAR",1145],J[65456]=[null,null,H.prototype.gc,H.prototype.Tc,"UDSAR",1145],J[65472]=[null,null,H.prototype.ua,H.prototype.wa,"R0SET0"],J[65473]=[null,null,H.prototype.ua,H.prototype.wa,"R1SET0"],J[65474]=[null,null,H.prototype.ua,H.prototype.wa,"R2SET0"],J[65475]=[null,null,H.prototype.ua,H.prototype.wa,"R3SET0"],J[65476]=[null,null,H.prototype.ua,H.prototype.wa,"R4SET0"],J[65477]=[null,null,H.prototype.ua,H.prototype.wa,"R5SET0"],J[65478]=
|
||||
[null,null,H.prototype.Vb,H.prototype.Hc,"R6KERNEL"],J[65479]=[null,null,H.prototype.Yb,H.prototype.Kc,"R7KERNEL"],J[65480]=[null,null,H.prototype.va,H.prototype.xa,"R0SET1",1145],J[65481]=[null,null,H.prototype.va,H.prototype.xa,"R1SET1",1145],J[65482]=[null,null,H.prototype.va,H.prototype.xa,"R2SET1",1145],J[65483]=[null,null,H.prototype.va,H.prototype.xa,"R3SET1",1145],J[65484]=[null,null,H.prototype.va,H.prototype.xa,"R4SET1",1145],J[65485]=[null,null,H.prototype.va,H.prototype.xa,"R5SET1",1145],
|
||||
J[65486]=[null,null,H.prototype.Wb,H.prototype.Ic,"R6SUPER",1145],J[65487]=[null,null,H.prototype.Xb,H.prototype.Jc,"R6USER",1145],J[65504]=[null,null,H.prototype.Gb,H.prototype.uc,"CTRL",1170],J[65520]=[null,null,H.prototype.nb,H.prototype.ub,"LSIZE",1170],J[65522]=[null,null,H.prototype.nb,H.prototype.ub,"HSIZE",1170],J[65524]=[null,null,H.prototype.fc,H.prototype.Sc,"SYSID",1170],J[65526]=[null,null,H.prototype.Fb,H.prototype.tc,"CPUERR",1170],J[65528]=[null,null,H.prototype.Mb,H.prototype.Ac,
|
||||
"MB",1170],J[65530]=[null,null,H.prototype.Rb,H.prototype.Dc,"PIR"],J[65532]=[null,null,H.prototype.ec,H.prototype.Rc,"SL"],J[65534]=[null,null,H.prototype.Ub,H.prototype.Gc,"PSW"],J);I[62594]=I[62592];I[62596]=I[62592];I[62598]=I[62592];I[62600]=I[62592];I[62602]=I[62592];I[62604]=I[62592];I[62606]=I[62592];I[62610]=I[62608];I[62612]=I[62608];I[62614]=I[62608];I[62616]=I[62608];I[62618]=I[62608];I[62620]=I[62608];I[62622]=I[62608];I[62626]=I[62624];I[62628]=I[62624];I[62630]=I[62624];I[62632]=I[62624];
|
||||
I[62634]=I[62624];I[62636]=I[62624];I[62638]=I[62624];I[62642]=I[62640];I[62644]=I[62640];I[62646]=I[62640];I[62648]=I[62640];I[62650]=I[62640];I[62652]=I[62640];I[62654]=I[62640];I[62658]=I[62656];I[62660]=I[62656];I[62662]=I[62656];I[62664]=I[62656];I[62666]=I[62656];I[62668]=I[62656];I[62670]=I[62656];I[62674]=I[62672];I[62676]=I[62672];I[62678]=I[62672];I[62680]=I[62672];I[62682]=I[62672];I[62684]=I[62672];I[62686]=I[62672];I[62690]=I[62688];I[62692]=I[62688];I[62694]=I[62688];I[62696]=I[62688];
|
||||
I[62698]=I[62688];I[62700]=I[62688];I[62702]=I[62688];I[62706]=I[62704];I[62708]=I[62704];I[62710]=I[62704];I[62712]=I[62704];I[62714]=I[62704];I[62716]=I[62704];I[62718]=I[62704];I[65410]=I[65408];I[65412]=I[65408];I[65414]=I[65408];I[65416]=I[65408];I[65418]=I[65408];I[65420]=I[65408];I[65422]=I[65408];I[65426]=I[65424];I[65428]=I[65424];I[65430]=I[65424];I[65432]=I[65424];I[65434]=I[65424];I[65436]=I[65424];I[65438]=I[65424];I[65442]=I[65440];I[65444]=I[65440];I[65446]=I[65440];I[65448]=I[65440];
|
||||
I[65450]=I[65440];I[65452]=I[65440];I[65454]=I[65440];I[65458]=I[65456];I[65460]=I[65456];I[65462]=I[65456];I[65464]=I[65456];I[65466]=I[65456];I[65468]=I[65456];I[65470]=I[65456];I[65506]=I[65504];I[65508]=I[65504];I[65510]=I[65504];I[65512]=I[65504];I[65514]=I[65504];I[65516]=I[65504];I[65518]=I[65504];u(function(){for(var a=B(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=z(d);switch(c.type){case "default":c=new H(c);A(c,d);break;case "pc11":c=new K(c),A(c,d)}}});var Cb;
|
||||
if(Sa){var Db=new ArrayBuffer(2);(new DataView(Db)).setUint16(0,256,!0);Cb=256===(new Uint16Array(Db))[0]}else Cb=!1;var Eb=Cb;
|
||||
function G(a,b,c,d,e,f){this.l=a;this.id=Fb+=2;this.a=null;this.za=b;this.Qa=c;this.size=d||0;this.type=e||Gb;this.v=e==Hb;this.controller=null;cb(this);this.ja=this.xb=!1;if(d)if(f)this.controller=f,this.a=null,Ib(this,f.vb);else if(Sa)this.b=new ArrayBuffer(d),this.g=new DataView(this.b,0,d),this.c=new Uint8Array(this.b,0,d),this.o=new Uint16Array(this.b,0,d>>1),this.a=new Int32Array(this.b,0,d>>2),Ib(this,Eb?Jb:Kb);else{this.a=Array(d>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;Ib(this,Lb)}else Ib(this)}
|
||||
var Gb=0,Hb=2,jb=4,lb=["NONE","RAM","ROM","VID","H/W"],Fb=0;
|
||||
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Sa)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(Sa)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.a=a;return this.ja=!0}return!1},w:function(){return 255},A:function(){},s:function(a,b){return this.Ya(a++,b++)|this.Ya(a,b)<<8},B:function(a,b,c){this.eb(a++,
|
||||
b&255,c++);this.eb(a,b>>8,c)},M:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},$:function(a,b){a&1&&tb(this.l,b);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},fa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ja=!0},ra:function(a,b,c){a&1&&tb(this.l,c);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.ja=!0},H:function(a,b){return this.I(a,b)},
|
||||
R:function(a,b){return this.V(a,b)},ba:function(a,b,c){this.v||this.sb(a,b,c)},ha:function(a,b,c){this.v||this.pa(a,b,c)},D:function(a){return this.c[a]},J:function(a){return this.c[a]},N:function(a,b){a&1&&tb(this.l,b);return this.g.getUint16(a,!0)},W:function(a,b){a&1&&tb(this.l,b);return this.o[a>>1]},aa:function(a,b){this.c[a]=b;this.ja=!0},ea:function(a,b){this.c[a]=b;this.ja=!0},ga:function(a,b,c){a&1&&tb(this.l,c);this.g.setUint16(a,b,!0);this.ja=!0},qa:function(a,b,c){a&1&&tb(this.l,c);this.o[a>>
|
||||
1]=b;this.ja=!0}};function cb(a,b,c){a.G=b;a.i=a.m=0;c&&((a.i=c.i)&&Mb(a,Nb,!1),(a.m=c.m)&&Ob(a,Nb,!1))}function Ob(a,b,c){c&&a.m||(a.eb=!a.v&&b[1]||a.A,a.Ra=!a.v&&b[3]||a.B);if(c||void 0===c)a.sb=b[1]||a.A,a.pa=b[3]||a.B}function Mb(a,b,c){c&&a.i||(a.Ya=b[0]||a.w,a.S=b[2]||a.s);if(c||void 0===c)a.I=b[0]||a.w,a.V=b[2]||a.s}function Ib(a,b){b||(b=Pb);Mb(a,b,void 0);Ob(a,b,void 0)}
|
||||
var Pb=[],Lb=[G.prototype.M,G.prototype.fa,G.prototype.$,G.prototype.ra],Nb=[G.prototype.H,G.prototype.ba,G.prototype.R,G.prototype.ha];if(Sa)var Kb=[G.prototype.D,G.prototype.aa,G.prototype.N,G.prototype.ga],Jb=[G.prototype.J,G.prototype.ea,G.prototype.W,G.prototype.qa];
|
||||
function Qb(a,b){v.call(this,"CPU",a,Qb);var c=a.multiplier||1;this.La=a.cycles||b;this.ba=c;this.Va=Math.round(this.La/1E4)/100;this.ea=this.Va*this.ba;this.h.T=!1;this.h.qb=!1;this.h.Aa=a.autoStart;this.h.Ma=!1;this.Ja=this.ga=0;this.Ka=a.csStart;this.pa=a.csInterval;this.qa=a.csStop;this.H=[];this.mb=this.mc.bind(this);C(this)}x(Qb);var Rb=["power","reset"];g=Qb.prototype;
|
||||
function F(a,b,c,d,e,f){this.l=a;this.id=Fb+=2;this.a=null;this.za=b;this.Qa=c;this.size=d||0;this.type=e||Gb;this.v=e==Hb;this.controller=null;db(this);this.ja=this.xb=!1;if(d)if(f)this.controller=f,this.a=null,Ib(this,f.vb);else if(Sa)this.b=new ArrayBuffer(d),this.g=new DataView(this.b,0,d),this.c=new Uint8Array(this.b,0,d),this.o=new Uint16Array(this.b,0,d>>1),this.a=new Int32Array(this.b,0,d>>2),Ib(this,Eb?Jb:Kb);else{this.a=Array(d>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;Ib(this,Lb)}else Ib(this)}
|
||||
var Gb=0,Hb=2,kb=4,mb=["NONE","RAM","ROM","VID","H/W"],Fb=0;
|
||||
F.prototype={constructor:F,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Sa)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(Sa)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.a=a;return this.ja=!0}return!1},w:function(){return 255},A:function(){},s:function(a,b){return this.Ya(a++,b++)|this.Ya(a,b)<<8},B:function(a,b,c){this.eb(a++,
|
||||
b&255,c++);this.eb(a,b>>8,c)},M:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},$:function(a,b){a&1&&ub(this.l,b);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},fa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ja=!0},ra:function(a,b,c){a&1&&ub(this.l,c);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.ja=!0},H:function(a,b){return this.I(a,b)},
|
||||
R:function(a,b){return this.V(a,b)},ba:function(a,b,c){this.v||this.sb(a,b,c)},ha:function(a,b,c){this.v||this.pa(a,b,c)},D:function(a){return this.c[a]},J:function(a){return this.c[a]},N:function(a,b){a&1&&ub(this.l,b);return this.g.getUint16(a,!0)},W:function(a,b){a&1&&ub(this.l,b);return this.o[a>>1]},aa:function(a,b){this.c[a]=b;this.ja=!0},ea:function(a,b){this.c[a]=b;this.ja=!0},ga:function(a,b,c){a&1&&ub(this.l,c);this.g.setUint16(a,b,!0);this.ja=!0},qa:function(a,b,c){a&1&&ub(this.l,c);this.o[a>>
|
||||
1]=b;this.ja=!0}};function db(a,b,c){a.G=b;a.i=a.m=0;c&&((a.i=c.i)&&Mb(a,Nb,!1),(a.m=c.m)&&Ob(a,Nb,!1))}function Ob(a,b,c){c&&a.m||(a.eb=!a.v&&b[1]||a.A,a.Ra=!a.v&&b[3]||a.B);if(c||void 0===c)a.sb=b[1]||a.A,a.pa=b[3]||a.B}function Mb(a,b,c){c&&a.i||(a.Ya=b[0]||a.w,a.S=b[2]||a.s);if(c||void 0===c)a.I=b[0]||a.w,a.V=b[2]||a.s}function Ib(a,b){b||(b=Pb);Mb(a,b,void 0);Ob(a,b,void 0)}
|
||||
var Pb=[],Lb=[F.prototype.M,F.prototype.fa,F.prototype.$,F.prototype.ra],Nb=[F.prototype.H,F.prototype.ba,F.prototype.R,F.prototype.ha];if(Sa)var Kb=[F.prototype.D,F.prototype.aa,F.prototype.N,F.prototype.ga],Jb=[F.prototype.J,F.prototype.ea,F.prototype.W,F.prototype.qa];
|
||||
function Qb(a,b){v.call(this,"CPU",a,Qb);var c=a.multiplier||1;this.La=a.cycles||b;this.ba=c;this.Va=Math.round(this.La/1E4)/100;this.ea=this.Va*this.ba;this.h.T=!1;this.h.qb=!1;this.h.Aa=a.autoStart;this.h.Ma=!1;this.Ja=this.ga=0;this.Ka=a.csStart;this.pa=a.csInterval;this.qa=a.csStop;this.H=[];this.mb=this.oc.bind(this);C(this)}x(Qb);var Rb=["power","reset"];g=Qb.prototype;
|
||||
g.ca=function(a,b,c,d){this.w=a;this.l=b;this.G=d;for(b=0;b<Rb.length;b++)(c=this.v[Rb[b]])&&this.w.U(null,Rb[b],c);a=Sb(a,"autoStart");null!=a&&(this.h.Aa="true"==a?!0:"false"==a?!1:!!a);C(this)};g.reset=function(){};g.save=function(){return null};g.restore=function(){return!1};g.Y=function(a,b){if(!b){if(a&&this.restore){Tb(this);if(!this.restore(a))return!1;Ub(this)}else this.reset();this.O("No debugger detected")}this.w.da();return!0};g.X=function(a){return a?this.save():!0};
|
||||
g.Aa=function(){return this.h.Aa||void 0===this.v.run?(Vb(this),!0):!1};g.hb=function(){return 0};function Ub(a){void 0===a.Ka&&(a.Ka=0);void 0===a.pa&&(a.pa=-1);void 0===a.qa&&(a.qa=-1);a.h.Ma=0<=a.Ka&&0<a.pa;a.h.Ma&&(a.Ja=0,a.ga=a.Ka-a.J)}
|
||||
g.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.v[b]=c,!0;case "run":return this.v[b]=c,c.onclick=function(){var a;if(a=d.w)if(a=d.w,a.h.L)a=!0;else{var b=null,c,l=y(a.id);for(c=0;c<l.length&&(b=l[c],b===a||b.h.ready);c++);if(c==l.length)for(c=0;c<l.length&&(b=l[c],b===a||b.h.L);c++);c==l.length&&(b=a);p("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.Oa?" (waiting for notification)":""))+".");a=!1}a&&(d.h.T?E(d):Vb(d))},!0;case "speed":return this.v[b]=
|
||||
g.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.v[b]=c,!0;case "run":return this.v[b]=c,c.onclick=function(){var a;if(a=d.w)if(a=d.w,a.h.L)a=!0;else{var b=null,c,l=y(a.id);for(c=0;c<l.length&&(b=l[c],b===a||b.h.ready);c++);if(c==l.length)for(c=0;c<l.length&&(b=l[c],b===a||b.h.L);c++);c==l.length&&(b=a);p("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.Oa?" (waiting for notification)":""))+".");a=!1}a&&(d.h.T?Wa(d):Vb(d))},!0;case "speed":return this.v[b]=
|
||||
c,!0;case "setSpeed":return this.v[b]=c,c.onclick=function(){Wb(d,d.ba<<1)},c.textContent=this.ea.toFixed(2)+"Mhz",!0}return!1};g.da=function(){var a=this.v.speed;a&&(a.textContent=this.h.T&&this.$?this.$.toFixed(2)+"Mhz":"Stopped")};function Xb(a,b){var c=1;b&&1<a.ba&&a.$&&(c=a.$/a.Va);a.kb=Math.round(1E3/30);a.Na=Math.floor(a.La/30*c);b||(a.ra=a.Na);a.Xa=0}function Yb(a){return a.J+a.V+a.fa-a.a}function Tb(a){a.$=0;a.lb=0;a.J=a.V=a.fa=a.a=0;Ub(a);Wb(a,1)}
|
||||
function Wb(a,b){if(void 0!==b&&(.8>a.$/a.ea&&(b=1),a.ba=b,b=a.Va*a.ba,a.ea!=b)){a.ea=b;b=a.ea.toFixed(2)+"Mhz";var c=a.v.setSpeed;c&&(c.textContent=b);a.O("target speed: "+b)}a.J+=a.V;a.V=0;a.N=sa();a.aa=0;Xb(a)}function ub(a,b){var c=a.H.length;a.H.push([-1,b]);return c}function wb(a,b,c){0<=b&&b<a.H.length&&0>a.H[b][0]&&(c=a.La*a.ba/1E3*c|0,a.H[b][0]=c+Zb(a))}function Zb(a,b){var c=a.fa-=a.a;a.a=0;b&&(a.fa=0);return c}
|
||||
g.mc=function(){if(this.h.T){this.Xa>=this.La&&Xb(this,!0);this.ya=0;this.Da=sa();if(this.aa){var a=this.Da-this.aa;a>this.kb&&(this.N+=a,this.N>this.Da&&(this.N=this.Da))}try{do{for(var b,c=this.h.Ma?1:this.Na,d=this.H.length-1;0<=d;d--){var e=this.H[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.rb(b)}catch(n){if("number"!=typeof n)throw n;}b=Zb(this,!0);this.ya+=b;this.V+=b;a=b;if(this.h.Ma){var f=!1;this.Ja=this.Ja+this.hb()|0;this.ga-=a;0>=this.ga&&(this.ga+=this.pa,f=!0);0<=this.qa&&this.qa<=Yb(this)&&
|
||||
(this.pa=this.qa=-1,Ub(this),E(this),f=!0);f&&this.O(Yb(this)+" cycles: checksum="+h(this.Ja))}for(var a=b,k=this.H.length-1;0<=k;k--){var l=this.H[k];0>l[0]||(l[0]-=a,0>=l[0]&&(l[0]=-1,l[1]()))}this.ra-=b;if(0>=this.ra){this.ra+=this.Na;15<=++this.lb&&(this.w&&this.w.da(),this.lb=0);break}}while(this.h.T)}catch(n){E(this);this.w&&this.w.stop(sa(),Yb(this));b=n.stack||n.message;this.h.error=!0;this.K(b);return}if(this.h.T){b=setTimeout;c=this.mb;this.aa=sa();d=this.kb;this.ya&&(d=Math.round(d*this.ya/
|
||||
function Wb(a,b){if(void 0!==b&&(.8>a.$/a.ea&&(b=1),a.ba=b,b=a.Va*a.ba,a.ea!=b)){a.ea=b;b=a.ea.toFixed(2)+"Mhz";var c=a.v.setSpeed;c&&(c.textContent=b);a.O("target speed: "+b)}a.J+=a.V;a.V=0;a.N=sa();a.aa=0;Xb(a)}function vb(a,b){var c=a.H.length;a.H.push([-1,b]);return c}function xb(a,b,c){0<=b&&b<a.H.length&&0>a.H[b][0]&&(c=a.La*a.ba/1E3*c|0,a.H[b][0]=c+Zb(a))}function Zb(a,b){var c=a.fa-=a.a;a.a=0;b&&(a.fa=0);return c}
|
||||
g.oc=function(){if(this.h.T){this.Xa>=this.La&&Xb(this,!0);this.ya=0;this.Da=sa();if(this.aa){var a=this.Da-this.aa;a>this.kb&&(this.N+=a,this.N>this.Da&&(this.N=this.Da))}try{do{for(var b,c=this.h.Ma?1:this.Na,d=this.H.length-1;0<=d;d--){var e=this.H[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.rb(b)}catch(n){if("number"!=typeof n)throw n;}b=Zb(this,!0);this.ya+=b;this.V+=b;a=b;if(this.h.Ma){var f=!1;this.Ja=this.Ja+this.hb()|0;this.ga-=a;0>=this.ga&&(this.ga+=this.pa,f=!0);0<=this.qa&&this.qa<=Yb(this)&&
|
||||
(this.pa=this.qa=-1,Ub(this),Wa(this),f=!0);f&&this.O(Yb(this)+" cycles: checksum="+h(this.Ja))}for(var a=b,k=this.H.length-1;0<=k;k--){var l=this.H[k];0>l[0]||(l[0]-=a,0>=l[0]&&(l[0]=-1,l[1]()))}this.ra-=b;if(0>=this.ra){this.ra+=this.Na;15<=++this.lb&&(this.w&&this.w.da(),this.lb=0);break}}while(this.h.T)}catch(n){Wa(this);this.w&&this.w.stop(sa(),Yb(this));b=n.stack||n.message;this.h.error=!0;this.K(b);return}if(this.h.T){b=setTimeout;c=this.mb;this.aa=sa();d=this.kb;this.ya&&(d=Math.round(d*this.ya/
|
||||
this.Na));d-=this.aa-this.Da;if(e=this.aa-this.N)this.$=Math.round(this.V/(10*e))/100,864E5<=e&&(this.J=0,Wb(this));if(0>d||this.$<this.ea)-1E3>d&&(this.N-=d),d=0;this.Xa+=this.ya;this.aa+=d;b(c,d)}}};function Vb(a){var b;a.h.error?(a.O(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.T)a.O(a.toString()+" busy");else{Wb(a);a.h.T=!0;a.h.qb=!0;if(b=a.v.run)b.textContent="Halt";a.w&&a.w.start(a.N,Yb(a));setTimeout(a.mb,0)}}g.rb=function(){return 0};
|
||||
function E(a){if(a.h.T){Zb(a);a.J+=a.V;a.V=0;a.h.T=!1;var b=a.v.run;b&&(b.textContent="Run");a.w&&a.w.stop(sa(),Yb(a))}a.h.complete=void 0}function $b(a){this.Ia=+a.model||1170;this.Cb=a.resetAddr||0;Qb.call(this,a,6666667);this.decode=1120==this.Ia?ac.bind(this):bc.bind(this);cc(this);this.R=0;this.W=null;this.h.complete=this.h.wb=!1}x($b,Qb);g=$b.prototype;g.reset=function(){this.status("model "+this.Ia);this.h.T&&E(this);cc(this);Tb(this);this.h.error=!1;this.parent.reset.call(this)};
|
||||
function Wa(a){if(a.h.T){Zb(a);a.J+=a.V;a.V=0;a.h.T=!1;var b=a.v.run;b&&(b.textContent="Run");a.w&&a.w.stop(sa(),Yb(a))}a.h.complete=void 0}function $b(a){this.Ia=+a.model||1170;this.Cb=a.resetAddr||0;Qb.call(this,a,6666667);this.decode=1120==this.Ia?ac.bind(this):bc.bind(this);cc(this);this.R=0;this.W=null;this.h.complete=this.h.wb=!1}x($b,Qb);g=$b.prototype;g.reset=function(){this.status("model "+this.Ia);this.h.T&&Wa(this);cc(this);Tb(this);this.h.error=!1;this.parent.reset.call(this)};
|
||||
function cc(a){a.m=65536;a.g=32768;a.i=65535;a.o=32768;a.u=15;a.f=[0,0,0,0,0,0,0,a.Cb];a.sa=[0,0,0,0,0,0];a.Z=[0,0,0,0];a.s=0;a.Ga=0;a.Ab=[4,2,0,1];a.C=[[0,0,0,0,0,0,0,0,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]];a.P=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Db=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.pb=[0,0,0,0,0,0,0,0];a.ob=0;a.j=0;a.B=a.D=0;a.c=a.b=a.Ta=0;a.ha=-1;dc(a)}function dc(a){a.oa=255;a.F=0;a.ab=0;a.A=0;a.ma=0;a.$a=0;a.na=0;a.Ba=0;a.Fa=0;a.Wa=262143;a.Ha=253952;a.j|=2;a.l&&yb(a)}function yb(a){a.Ba?(a.M=65536,a.I=a.zb,a.S=a.jc,a.Ra=a.Uc,fb(a.l,a.na&16?22:18)):(a.M=0,a.I=a.yb,a.S=a.ic,a.Ra=a.Tc,fb(a.l,16))}g.hb=function(){return 0};
|
||||
g.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.J,this.ba]);a.set(2,pb(this.l));return a.data()};g.restore=function(a){var b=a[1];this.J=b[1];Wb(this,b[3]);a:{b=this.l;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.B){for(var f=0,k=Array(b.B),l=0;l<e.length-1;)for(var n=e[l++],r=e[l++];n--;)k[f++]=r;e=k}f=b.b[d];if(!f||!f.restore(e)){p("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function M(a){return a.m&65536?1:0}
|
||||
g.ka=function(){return this.o&32768?8:0};function ec(a){var b=a.S(a.f[7]);a.f[7]=a.f[7]+2&65535;return b}function xb(a,b){return{pc:a,ta:b,next:null}}function vb(a,b){if(b!=a.W){var c=a.W;if(!c||c.ta<=b.ta)b.next=c,a.W=b;else{do{var d=c.next;if(!d||d.ta<=b.ta){b.next=d;c.next=b;break}c=d}while(c)}}a.j|=2}function Xa(a){return a.u=a.u&63728|a.ka()|(a.i&65535?0:4)|(a.g&32768?2:0)|M(a)}
|
||||
function Ab(a,b){a.o=b<<12;a.i=~b&4;a.g=b<<14;a.m=b<<16;if((b^a.u)&2048)for(var c=a.sa.length;0<=--c;){var d=a.f[c];a.f[c]=a.sa[c];a.sa[c]=d}a.s=b>>14&3;c=a.u>>14&3;a.s!=c&&(a.Z[c]=a.f[6],a.f[6]=a.Z[a.s]);a.u=b;a.j|=2}function N(a,b){a.j&128||(a.o=a.i=b,a.g=0)}function O(a,b,c){a.j&128||(a.o=a.i=a.m=b,a.g=c||0)}function fc(a,b,c,d){a.j&128||(a.o=a.i=a.m=b,a.g=(c^b)&(d^b))}function P(a,b){a.j&128||(a.o=a.i=a.m=b,a.g=a.o^a.m>>1)}function gc(a,b,c,d){a.j&128||(a.o=a.i=a.m=b,a.g=(c^d)&(d^b))}
|
||||
function H(a,b,c){if(!a.R){var d=!1;0>a.ha?a.ha=Xa(a):a.s||(b=4,d=!0);a.A&57344||(a.ma=63222,a.$a=b);a.s=0;var e=a.S(b|a.M),f=a.S(b+2&65535|a.M);Ab(a,f&-12289|a.ha>>2&12288);d&&(a.F|=4,a.f[6]=4);hc(a,a.ha);hc(a,a.f[7]);a.f[7]=e&65535;a.j&=-113;a.ha=-1;if(26!=c)throw b;}}function ic(a){var b=jc(a),c=jc(a)&-1793;a.u&49152&&(c=c&-225|a.u&63712);a.f[7]=b&65535;Ab(a,c);a.j&=-17}
|
||||
function kc(a,b,c){var d,e,f,k=0;d=b>>13;a.na&a.Ab[a.s]||(d&=7);e=a.C[a.s][d];f=(a.P[a.s][d]<<6)+(b&8191)&a.Wa;if(f<a.Ha)f&1&&!(c&1)&&(a.F|=64,H(a,4,10));else if(a.na&16||253952<=f&&(f|=4186112),4186112>f){if(3932160<=f){f&=262143;var l=f>>13&31;31>l?a.na&32&&(f=a.Db[l]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}f>=a.Ha&&4186112>f&&(a.F|=32,H(a,4,12))}switch(e&7){case 1:k=4096;case 2:e|=128;c&4&&(k=8192);break;case 4:k=4096;case 5:c&4&&(k=4096);case 6:e|=c&4?192:
|
||||
128;break;default:k=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(k|=16384):(b&8128)>(e>>2&8128)&&(k|=16384));a.C[a.s][d]=e;if(4194170!==f||a.s)a.Fa=a.s,a.Ga=d;k&&(k&57344&&(0<=a.ha&&(k|=128),a.A&57344||(a.A=a.A|k|a.Fa<<5|a.Ga<<1),H(a,168,16)),a.A&61440||!(4191360>f||4194239<f)||(a.A|=4096,a.A&512&&(a.j|=32)));return f}function lc(a,b,c){b&1&&a.a--;a=a.l;a.b[(b&a.i)>>>a.l].eb(b&a.g,c&255,b)}function jc(a){var b=a.S(a.f[6]|a.M);a.f[6]=a.f[6]+2&65535;return b}
|
||||
function hc(a,b){var c=a.f[6]-2&65535;a.f[6]=c;a.A&57344||(a.ma=a.ma<<8|246);!a.s&&c<=a.oa&&4<c&&(c<=a.oa-32?(a.F|=4,a.f[6]=4,H(a,4,18)):(a.F|=8,a.j|=4));a.Ra(c,b)}
|
||||
function mc(a,b,c,d){var e,f,k=d&8?0:a.M;switch(b){case 0:return H(a,4,20),0;case 1:return 6===c&&!a.s&&d&4&&(a.f[6]<=a.oa||65534<=a.f[6])&&(a.f[6]<=a.oa-32||65534<=a.f[6]?(a.F|=4,a.f[6]=4,H(a,4,22)):(a.F|=8,a.j|=64)),a.a-=3,7===c?a.f[c]:a.f[c]|k;case 2:f=2;e=a.f[c];7!==c&&(e|=k,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.f[c];7!==c&&(e|=k);e=a.S(e);e|=k;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.f[c]+f&65535;7!==c&&(e|=k);a.a-=4;break;case 5:f=-2;e=a.f[c]-2&65535;7!==c&&(e|=k);e=a.S(e)|k;a.a-=
|
||||
8;break;case 6:return e=ec(a),e=e+a.f[c]&65535|k,a.a-=6,e;case 7:return e=ec(a),e=e+a.f[c]&65535,e=a.S(e|a.M)|k,a.a-=10,e}a.f[c]=a.f[c]+f&65535;!k||a.A&57344||(a.ma=a.ma<<8|f<<3&248|c);6==c&&!a.s&&d&4&&0>=f&&(a.f[6]<=a.oa||65534<=a.f[6])&&(a.f[6]<=a.oa-32?(a.F|=4,a.f[6]=4,H(a,4,24)):(a.F|=8,a.j|=64));return e}g.bb=function(a,b){this.Ba?(this.R++,lc(this,kc(this,a,5),b),this.R--):this.l.bb(a,b)};g.yb=function(a,b,c){return mc(this,a,b,c)};g.zb=function(a,b,c){return kc(this,mc(this,a,b,c),c)};
|
||||
g.ic=function(a){return nb(this.l,a)};g.jc=function(a){return nb(this.l,kc(this,a,2))};g.Tc=function(a,b){ob(this.l,a,b&65535)};g.Uc=function(a,b){ob(this.l,kc(this,a,4),b)};function nc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=mc(a,b,d,2),c&65536||61440!==(a.u&61440)&&(d&=65535),a.s=a.u>>12&3,c=a.S(d|c&a.M),a.s=a.u>>14&3):c=6!=d||(a.u>>2&12288)===(a.u&12288)?a.f[d]:a.Z[a.u>>12&3];return c}
|
||||
function oc(a,b,c,d){a.A&57344||(a.ma=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=mc(a,b,e,4),c&65536||(e&=65535),a.s=a.u>>12&3,e=kc(a,e|c&65536,4),a.s=a.u>>14&3,ob(a.l,e,d)):6!=e||(a.u>>2&12288)===(a.u&12288)?a.f[e]=d:a.Z[a.u>>12&3]=d}function pc(a,b){b>>=6;var c=a.D=b&7;(b=a.B=(b&56)>>3)?(c=a.I(b,c,3),a=mb(a.l,c)):a=a.f[c]&255;return a}function Q(a,b){b>>=6;var c=a.D=b&7;return(b=a.B=(b&56)>>3)?nb(a.l,a.I(b,c,2)):a.f[c]}function qc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return mc(a,b,c,8)}
|
||||
function rc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.I(b,c,3),a=mb(a.l,c)):a=a.f[c]&255;return a}function sc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?nb(a.l,a.I(b,c,2)):a.f[c]}function R(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.Ta=a.I(b,e,7),lc(a,e,d.call(a,c,mb(a.l,e)))):a.f[e]=a.f[e]&65280|d.call(a,c,a.f[e])}function S(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.I(b,e,6),ob(a.l,e,d.call(a,c,nb(a.l,e)))):a.f[e]=d.call(a,c,a.f[e])}
|
||||
function tc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?lc(a,a.I(b,e,5),c):a.f[e]=c?d&1?c<<24>>24&65535:a.f[e]&-256|c&255:a.f[e]&-256;return c}function uc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?ob(a.l,a.I(b,d,4),c):a.f[d]=c&65535;return c}function T(a,b,c){c&&(a.f[7]=a.f[7]+(b<<24>>23)&65535,a.a-=2);a.a-=3}
|
||||
g.rb=function(a){this.h.complete=!0;this.h.wb=!1;this.h.qb=!1;this.fa=this.a=a;do{if(this.j&&(this.j&112&&(this.j&32?H(this,168,28):this.j&64?H(this,4,30):this.j&16&&H(this,12,32),this.j&=-113),this.j&7))if(this.j&2){this.j&=-3;var b=160,c=(this.ab&224)>>5;if(a=this.W&&this.W.ta>c?this.W:null)b=a.pc,c=a.ta;c>(this.u&224)>>5?(this.j&4&&(this.f[7]=this.f[7]+2&65535,this.j&=-5),H(this,b,26),c=!0):c=!1;if(c&&a)if(c=this.W,c==a)this.W=a.next;else for(;c;){b=c.next;if(b==a){c.next=b.next;break}c=b}}else this.j&
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.pb=[0,0,0,0,0,0,0,0];a.ob=0;a.j=0;a.B=a.D=0;a.c=a.b=a.Ta=0;a.ha=-1;dc(a)}function dc(a){a.oa=255;a.F=0;a.ab=0;a.A=0;a.ma=0;a.$a=0;a.na=0;a.Ba=0;a.Fa=0;a.Wa=262143;a.Ha=253952;a.j|=2;a.l&&zb(a)}function zb(a){a.Ba?(a.M=65536,a.I=a.zb,a.S=a.lc,a.Ra=a.Yc,gb(a.l,a.na&16?22:18)):(a.M=0,a.I=a.yb,a.S=a.kc,a.Ra=a.Xc,gb(a.l,16))}g.hb=function(){return 0};
|
||||
g.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.J,this.ba]);a.set(2,qb(this.l));return a.data()};g.restore=function(a){var b=a[1];this.J=b[1];Wb(this,b[3]);a:{b=this.l;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.B){for(var f=0,k=Array(b.B),l=0;l<e.length-1;)for(var n=e[l++],r=e[l++];n--;)k[f++]=r;e=k}f=b.b[d];if(!f||!f.restore(e)){p("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function M(a){return a.m&65536?1:0}
|
||||
g.ka=function(){return this.o&32768?8:0};function ec(a){var b=a.S(a.f[7]);a.f[7]=a.f[7]+2&65535;return b}function yb(a,b){return{rc:a,ta:b,next:null}}function wb(a,b){if(b!=a.W){var c=a.W;if(!c||c.ta<=b.ta)b.next=c,a.W=b;else{do{var d=c.next;if(!d||d.ta<=b.ta){b.next=d;c.next=b;break}c=d}while(c)}}a.j|=2}function Ya(a){return a.u=a.u&63728|a.ka()|(a.i&65535?0:4)|(a.g&32768?2:0)|M(a)}
|
||||
function Bb(a,b){a.o=b<<12;a.i=~b&4;a.g=b<<14;a.m=b<<16;if((b^a.u)&2048)for(var c=a.sa.length;0<=--c;){var d=a.f[c];a.f[c]=a.sa[c];a.sa[c]=d}a.s=b>>14&3;c=a.u>>14&3;a.s!=c&&(a.Z[c]=a.f[6],a.f[6]=a.Z[a.s]);a.u=b;a.j|=2}function N(a,b){a.j&128||(a.o=a.i=b,a.g=0)}function O(a,b,c){a.j&128||(a.o=a.i=a.m=b,a.g=c||0)}function fc(a,b,c,d){a.j&128||(a.o=a.i=a.m=b,a.g=(c^b)&(d^b))}function P(a,b){a.j&128||(a.o=a.i=a.m=b,a.g=a.o^a.m>>1)}function gc(a,b,c,d){a.j&128||(a.o=a.i=a.m=b,a.g=(c^d)&(d^b))}
|
||||
function G(a,b,c){if(!a.R){var d=!1;0>a.ha?a.ha=Ya(a):a.s||(b=4,d=!0);a.A&57344||(a.ma=63222,a.$a=b);a.s=0;var e=a.S(b|a.M),f=a.S(b+2&65535|a.M);Bb(a,f&-12289|a.ha>>2&12288);d&&(a.F|=4,a.f[6]=4);hc(a,a.ha);hc(a,a.f[7]);a.f[7]=e&65535;a.j&=-113;a.ha=-1;if(26!=c)throw b;}}function ic(a){var b=jc(a),c=jc(a)&-1793;a.u&49152&&(c=c&-225|a.u&63712);a.f[7]=b&65535;Bb(a,c);a.j&=-17}
|
||||
function kc(a,b,c){var d,e,f,k=0;d=b>>13;a.na&a.Ab[a.s]||(d&=7);e=a.C[a.s][d];f=(a.P[a.s][d]<<6)+(b&8191)&a.Wa;if(f<a.Ha)f&1&&!(c&1)&&(a.F|=64,G(a,4,10));else if(a.na&16||253952<=f&&(f|=4186112),4186112>f){if(3932160<=f){f&=262143;var l=f>>13&31;31>l?a.na&32&&(f=a.Db[l]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}f>=a.Ha&&4186112>f&&(a.F|=32,G(a,4,12))}switch(e&7){case 1:k=4096;case 2:e|=128;c&4&&(k=8192);break;case 4:k=4096;case 5:c&4&&(k=4096);case 6:e|=c&4?192:
|
||||
128;break;default:k=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(k|=16384):(b&8128)>(e>>2&8128)&&(k|=16384));a.C[a.s][d]=e;if(4194170!==f||a.s)a.Fa=a.s,a.Ga=d;k&&(k&57344&&(0<=a.ha&&(k|=128),a.A&57344||(a.A=a.A|k|a.Fa<<5|a.Ga<<1),G(a,168,16)),a.A&61440||!(4191360>f||4194239<f)||(a.A|=4096,a.A&512&&(a.j|=32)));return f}function lc(a,b,c){b&1&&a.a--;a=a.l;a.b[(b&a.i)>>>a.l].eb(b&a.g,c&255,b)}function jc(a){var b=a.S(a.f[6]|a.M);a.f[6]=a.f[6]+2&65535;return b}
|
||||
function hc(a,b){var c=a.f[6]-2&65535;a.f[6]=c;a.A&57344||(a.ma=a.ma<<8|246);!a.s&&c<=a.oa&&4<c&&(c<=a.oa-32?(a.F|=4,a.f[6]=4,G(a,4,18)):(a.F|=8,a.j|=4));a.Ra(c,b)}
|
||||
function mc(a,b,c,d){var e,f,k=d&8?0:a.M;switch(b){case 0:return G(a,4,20),0;case 1:return 6===c&&!a.s&&d&4&&(a.f[6]<=a.oa||65534<=a.f[6])&&(a.f[6]<=a.oa-32||65534<=a.f[6]?(a.F|=4,a.f[6]=4,G(a,4,22)):(a.F|=8,a.j|=64)),a.a-=3,7===c?a.f[c]:a.f[c]|k;case 2:f=2;e=a.f[c];7!==c&&(e|=k,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.f[c];7!==c&&(e|=k);e=a.S(e);e|=k;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.f[c]+f&65535;7!==c&&(e|=k);a.a-=4;break;case 5:f=-2;e=a.f[c]-2&65535;7!==c&&(e|=k);e=a.S(e)|k;a.a-=
|
||||
8;break;case 6:return e=ec(a),e=e+a.f[c]&65535|k,a.a-=6,e;case 7:return e=ec(a),e=e+a.f[c]&65535,e=a.S(e|a.M)|k,a.a-=10,e}a.f[c]=a.f[c]+f&65535;!k||a.A&57344||(a.ma=a.ma<<8|f<<3&248|c);6==c&&!a.s&&d&4&&0>=f&&(a.f[6]<=a.oa||65534<=a.f[6])&&(a.f[6]<=a.oa-32?(a.F|=4,a.f[6]=4,G(a,4,24)):(a.F|=8,a.j|=64));return e}g.bb=function(a,b){this.Ba?(this.R++,lc(this,kc(this,a,5),b),this.R--):this.l.bb(a,b)};g.yb=function(a,b,c){return mc(this,a,b,c)};g.zb=function(a,b,c){return kc(this,mc(this,a,b,c),c)};
|
||||
g.kc=function(a){return ob(this.l,a)};g.lc=function(a){return ob(this.l,kc(this,a,2))};g.Xc=function(a,b){pb(this.l,a,b&65535)};g.Yc=function(a,b){pb(this.l,kc(this,a,4),b)};function nc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=mc(a,b,d,2),c&65536||61440!==(a.u&61440)&&(d&=65535),a.s=a.u>>12&3,c=a.S(d|c&a.M),a.s=a.u>>14&3):c=6!=d||(a.u>>2&12288)===(a.u&12288)?a.f[d]:a.Z[a.u>>12&3];return c}
|
||||
function oc(a,b,c,d){a.A&57344||(a.ma=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=mc(a,b,e,4),c&65536||(e&=65535),a.s=a.u>>12&3,e=kc(a,e|c&65536,4),a.s=a.u>>14&3,pb(a.l,e,d)):6!=e||(a.u>>2&12288)===(a.u&12288)?a.f[e]=d:a.Z[a.u>>12&3]=d}function pc(a,b){b>>=6;var c=a.D=b&7;(b=a.B=(b&56)>>3)?(c=a.I(b,c,3),a=nb(a.l,c)):a=a.f[c]&255;return a}function Q(a,b){b>>=6;var c=a.D=b&7;return(b=a.B=(b&56)>>3)?ob(a.l,a.I(b,c,2)):a.f[c]}function qc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return mc(a,b,c,8)}
|
||||
function rc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.I(b,c,3),a=nb(a.l,c)):a=a.f[c]&255;return a}function sc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?ob(a.l,a.I(b,c,2)):a.f[c]}function R(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.Ta=a.I(b,e,7),lc(a,e,d.call(a,c,nb(a.l,e)))):a.f[e]=a.f[e]&65280|d.call(a,c,a.f[e])}function S(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.I(b,e,6),pb(a.l,e,d.call(a,c,ob(a.l,e)))):a.f[e]=d.call(a,c,a.f[e])}
|
||||
function tc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?lc(a,a.I(b,e,5),c):a.f[e]=c?d&1?c<<24>>24&65535:a.f[e]&-256|c&255:a.f[e]&-256;return c}function uc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?pb(a.l,a.I(b,d,4),c):a.f[d]=c&65535;return c}function T(a,b,c){c&&(a.f[7]=a.f[7]+(b<<24>>23)&65535,a.a-=2);a.a-=3}
|
||||
g.rb=function(a){this.h.complete=!0;this.h.wb=!1;this.h.qb=!1;this.fa=this.a=a;do{if(this.j&&(this.j&112&&(this.j&32?G(this,168,28):this.j&64?G(this,4,30):this.j&16&&G(this,12,32),this.j&=-113),this.j&7))if(this.j&2){this.j&=-3;var b=160,c=(this.ab&224)>>5;if(a=this.W&&this.W.ta>c?this.W:null)b=a.rc,c=a.ta;c>(this.u&224)>>5?(this.j&4&&(this.f[7]=this.f[7]+2&65535,this.j&=-5),G(this,b,26),c=!0):c=!1;if(c&&a)if(c=this.W,c==a)this.W=a.next;else for(;c;){b=c.next;if(b==a){c.next=b.next;break}c=b}}else this.j&
|
||||
1&&this.j++;this.A&57344||(this.ma=0,this.$a=this.f[7]);this.j=this.j&7|this.u&16;this.decode(ec(this))}while(0<this.a);return this.h.complete?this.fa-this.a:void 0===this.h.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 $b(d);A(d,c)}});function vc(a,b){var c=b+a;fc(this,c,a,b);return c&65535}function wc(a,b){var c=b+a;fc(this,c<<8,a<<8,b<<8);return c&255}function xc(a,b){a=b<<1;P(this,a);return a&65535}
|
||||
function yc(a,b){a=b<<1;P(this,a<<8);return a&255}function zc(a,b){a=b&32768|b>>1|b<<16;P(this,a);return a&65535}function Ac(a,b){a=b&2048|b>>1|b<<8;P(this,a<<8);return a&255}function Bc(a,b){a=b&~a;N(this,a);return a}function Cc(a,b){a=b&~a;N(this,a<<8);return a}function Dc(a,b){a|=b;N(this,a);return a}function Ec(a,b){a|=b;N(this,a<<8);return a}function Fc(a,b){a=~b|65536;O(this,a);return a&65535}function Gc(a,b){a=~b|256;O(this,a<<8);return a&255}
|
||||
function Hc(a,b){a=b-a;this.j&128||(this.o=this.i=a,this.g=b&(b^a));return a&65535}function Ic(a,b){a=b-a;var c=a<<8;b<<=8;this.j&128||(this.o=this.i=c,this.g=b&(b^c));return a&255}function Jc(a,b){a=b+a;this.j&128||(this.o=this.i=a,this.g=a&(b^a));return a&65535}function Kc(a,b){a=b+a;var c=a<<8;this.j&128||(this.o=this.i=c,this.g=c&(b<<8^c));return a&255}function Lc(a,b){a=-b;O(this,a,a&b&32768);return a&65535}function Mc(a,b){a=-b;O(this,a<<8,(a&b&128)<<8);return a&255}
|
||||
|
|
@ -121,64 +121,65 @@ function Uc(a,b){a^=b;N(this,a);return a&65535}function Vc(a){S(this,a,Q(this,a)
|
|||
function Xc(a){var b=sc(this,a);a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.m=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.g=32768)):d=c;this.f[a]=d>>16&65535;this.f[a|1]=d&65535;this.o=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function Yc(a){T(this,a,!M(this))}function Zc(a){T(this,a,M(this))}
|
||||
function $c(a){S(this,a,Q(this,a),Bc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function ad(a){R(this,a,pc(this,a),Cc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function bd(a){S(this,a,Q(this,a),Dc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function cd(a){R(this,a,pc(this,a),Ec);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
|
||||
function dd(a){N(this,Q(this,a)&sc(this,a));this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function ed(a){N(this,(pc(this,a)&rc(this,a))<<8);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function fd(a){T(this,a,this.i&65535?0:4)}function gd(a){T(this,a,!this.ka()==!(this.g&32768))}function hd(a){T(this,a,!!(this.i&65535)&&!this.ka()==!(this.g&32768))}function id(a){T(this,a,!M(this)&&!!(this.i&65535))}
|
||||
function jd(a){T(this,a,(this.i&65535?0:4)||!this.ka()!=!(this.g&32768))}function kd(a){T(this,a,M(this)||(this.i&65535?0:4))}function ld(a){T(this,a,!this.ka()!=!(this.g&32768))}function md(a){T(this,a,this.ka())}function nd(a){T(this,a,!!(this.i&65535))}function od(a){T(this,a,!this.ka())}function pd(){H(this,12,1);this.a-=5}function qd(a){T(this,a,!0)}function rd(a){T(this,a,!(this.g&32768))}function sd(a){T(this,a,this.g&32768?2:0)}
|
||||
function jd(a){T(this,a,(this.i&65535?0:4)||!this.ka()!=!(this.g&32768))}function kd(a){T(this,a,M(this)||(this.i&65535?0:4))}function ld(a){T(this,a,!this.ka()!=!(this.g&32768))}function md(a){T(this,a,this.ka())}function nd(a){T(this,a,!!(this.i&65535))}function od(a){T(this,a,!this.ka())}function pd(){G(this,12,1);this.a-=5}function qd(a){T(this,a,!0)}function rd(a){T(this,a,!(this.g&32768))}function sd(a){T(this,a,this.g&32768?2:0)}
|
||||
function U(a){a&1&&(this.m=0);a&2&&(this.g=0);a&4&&(this.i=1);a&8&&(this.o=0);this.a-=5}function td(a){var b=Q(this,a);a=sc(this,a);gc(this,b-a,a,b);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function ud(a){var b=pc(this,a)<<8;a=rc(this,a)<<8;gc(this,b-a,a,b);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}
|
||||
function vd(a){var b=sc(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.f[a]=d&65535,this.f[a|1]=c-d*b&65535,this.i=d>>16|d,this.o=d>>16):(this.g=32768,this.i=d>>15|d,this.o=c>>16,-1===b&&65534===this.f[a]&&(this.f[a]=this.f[a|1]=1));this.a-=53}else this.i=this.o=0,this.g=32768,this.m=65536,this.a-=7}function wd(){H(this,24,2);this.a-=25}function xd(){this.u&49152?(this.F|=128,H(this,4,3)):E(this);this.a-=7}
|
||||
function yd(){H(this,16,4);this.a-=25}var zd=[0,7,7,10,7,11,9,13];function V(a){var b=this.a;a=qc(this,a);this.f[7]=a&65535;this.a=b-zd[this.c]}var Ad=[0,14,14,17,14,18,16,20];function Bd(a){var b=this.a,c=qc(this,a);a=a>>6&7;hc(this,this.f[a]);this.f[a]=this.f[7];this.f[7]=c&65535;this.a=b-Ad[this.c]}var Cd=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Dd(a){var b=Q(this,a),c=this.a;N(this,uc(this,a,b));this.a=c-Cd[(this.B?8:0)+this.c]+(7!=this.b||this.c?0:2)}
|
||||
function vd(a){var b=sc(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.f[a]=d&65535,this.f[a|1]=c-d*b&65535,this.i=d>>16|d,this.o=d>>16):(this.g=32768,this.i=d>>15|d,this.o=c>>16,-1===b&&65534===this.f[a]&&(this.f[a]=this.f[a|1]=1));this.a-=53}else this.i=this.o=0,this.g=32768,this.m=65536,this.a-=7}function wd(){G(this,24,2);this.a-=25}function xd(){this.u&49152?(this.F|=128,G(this,4,3)):Wa(this);this.a-=7}
|
||||
function yd(){G(this,16,4);this.a-=25}var zd=[0,7,7,10,7,11,9,13];function V(a){var b=this.a;a=qc(this,a);this.f[7]=a&65535;this.a=b-zd[this.c]}var Ad=[0,14,14,17,14,18,16,20];function Bd(a){var b=this.a,c=qc(this,a);a=a>>6&7;hc(this,this.f[a]);this.f[a]=this.f[7];this.f[7]=c&65535;this.a=b-Ad[this.c]}var Cd=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Dd(a){var b=Q(this,a),c=this.a;N(this,uc(this,a,b));this.a=c-Cd[(this.B?8:0)+this.c]+(7!=this.b||this.c?0:2)}
|
||||
function Ed(a){var b=pc(this,a);N(this,tc(this,a,b,1)<<8);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}var Fd=[7,13,13,17,14,18,17,21];function Gd(a){var b=sc(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.f[a];c&32768&&(c|=-65536);b=~~(b*c);this.f[a]=b>>16&65535;this.f[a|1]=b&65535;this.j&128||(this.o=b>>16,this.i=this.o|b,this.g=0,this.m=-32768>b||32767<b?65536:0);this.a-=23}function Hd(){this.a-=5}function Id(){this.u&49152||(dc(this),this.l.reset());this.a-=667}
|
||||
function Jd(){ic(this);this.j|=this.u&16;this.a-=13}function Kd(a){if(a&8)H(this,8,6);else{var b=jc(this);a&=7;this.f[7]=this.f[a]&65535;this.f[a]=b;this.a-=9}}function W(a){a&1&&(this.m=65536);a&2&&(this.g=32768);a&4&&(this.i=0);a&8&&(this.o=32768);this.a-=5}function Ld(a){var b=(a&448)>>6;if(this.f[b]=this.f[b]-1&65535)this.f[7]=this.f[7]-((a&63)<<1)&65535,this.a+=1;this.a-=6}function Nd(a){S(this,a,Q(this,a),Rc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
|
||||
function X(a){S(this,a,0,Tc);this.a-=this.c?9:3+(7==this.b?2:0)}function Od(){H(this,28,5);this.a-=5}function Pd(){this.j&4||this.w.da();this.j|=4;this.f[7]=this.f[7]+-2&65535;this.a-=3}function Qd(a){S(this,a,Q(this,a),Uc);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){H(this,8,6)}function ac(a){Rd[a>>12].call(this,a)}function Sd(a){Td[a>>6&3].call(this,a)}function Ud(a){Vd[a>>6&3].call(this,a)}function Wd(a){Xd[a>>6&3].call(this,a)}function Yd(a){Zd[a&15].call(this,a)}
|
||||
function Jd(){ic(this);this.j|=this.u&16;this.a-=13}function Kd(a){if(a&8)G(this,8,6);else{var b=jc(this);a&=7;this.f[7]=this.f[a]&65535;this.f[a]=b;this.a-=9}}function W(a){a&1&&(this.m=65536);a&2&&(this.g=32768);a&4&&(this.i=0);a&8&&(this.o=32768);this.a-=5}function Ld(a){var b=(a&448)>>6;if(this.f[b]=this.f[b]-1&65535)this.f[7]=this.f[7]-((a&63)<<1)&65535,this.a+=1;this.a-=6}function Md(a){S(this,a,Q(this,a),Rc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
|
||||
function X(a){S(this,a,0,Tc);this.a-=this.c?9:3+(7==this.b?2:0)}function Od(){G(this,28,5);this.a-=5}function Pd(){this.j&4||this.w.da();this.j|=4;this.f[7]=this.f[7]+-2&65535;this.a-=3}function Qd(a){S(this,a,Q(this,a),Uc);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){G(this,8,6)}function ac(a){Rd[a>>12].call(this,a)}function Sd(a){Td[a>>6&3].call(this,a)}function Ud(a){Vd[a>>6&3].call(this,a)}function Wd(a){Xd[a>>6&3].call(this,a)}function Yd(a){Zd[a&15].call(this,a)}
|
||||
function $d(a){ae[a&15].call(this,a)}function be(a){ce[a>>6&3].call(this,a)}function de(a){ee[a>>6&3].call(this,a)}function fe(a){ge[a>>6&3].call(this,a)}
|
||||
var Rd=[function(a){he[a>>8&15].call(this,a)},Dd,td,dd,$c,bd,Vc,Y,function(a){ie[a>>8&15].call(this,a)},Ed,ud,ed,ad,cd,Nd,Y],he=[function(a){je[a>>4&15].call(this,a)},qd,nd,fd,gd,ld,hd,jd,Bd,Bd,Sd,Ud,Wd,Y,Y,Y],Td=[function(a){O(this,uc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,Fc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,Jc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,Hc);this.a-=this.c?9:3+(7==this.b?2:0)}],Vd=[function(a){S(this,a,0,Lc);
|
||||
var Rd=[function(a){he[a>>8&15].call(this,a)},Dd,td,dd,$c,bd,Vc,Y,function(a){ie[a>>8&15].call(this,a)},Ed,ud,ed,ad,cd,Md,Y],he=[function(a){je[a>>4&15].call(this,a)},qd,nd,fd,gd,ld,hd,jd,Bd,Bd,Sd,Ud,Wd,Y,Y,Y],Td=[function(a){O(this,uc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,Fc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,Jc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,Hc);this.a-=this.c?9:3+(7==this.b?2:0)}],Vd=[function(a){S(this,a,0,Lc);
|
||||
this.a-=this.c?11:6},function(a){S(this,a,M(this)?1:0,vc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,M(this)?1:0,Rc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=sc(this,a);O(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],Xd=[function(a){S(this,a,0,Pc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,Nc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,zc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,xc);this.a-=this.c?9:3+(7==this.b?2:0)}],je=[function(a){ke[a&
|
||||
15].call(this,a)},Y,Y,Y,V,V,V,V,Kd,Y,Yd,$d,X,X,X,X],ke=[xd,Pd,Jd,pd,yd,Id,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],Zd=[Hd,function(){this.m=0;this.a-=5},function(){this.g=0;this.a-=5},U,function(){this.i=1;this.a-=5},U,U,U,function(){this.o=0;this.a-=5},U,U,U,U,U,U,U],ae=[Hd,function(){this.m=65536;this.a-=5},function(){this.g=32768;this.a-=5},W,function(){this.i=0;this.a-=5},W,W,W,function(){this.o=32768;this.a-=5},W,W,W,W,W,W,W],ie=[od,md,id,kd,rd,sd,Yc,Zc,wd,Od,be,de,fe,Y,Y,Y],ce=[function(a){O(this,tc(this,a,0));
|
||||
this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,0,Gc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,1,Kc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,1,Ic);this.a-=this.c?9:3+(7==this.b?2:0)}],ee=[function(a){R(this,a,0,Mc);this.a-=this.c?11:6},function(a){R(this,a,M(this)?1:0,wc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,M(this)?1:0,Sc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=rc(this,a);O(this,a<<8);this.a-=this.c?4:3+(7==this.b?2:0)}],ge=
|
||||
[function(a){R(this,a,0,Qc);this.a-=this.c?9+(this.Ta&1):3+(7==this.b?2:0)},function(a){R(this,a,0,Oc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,0,Ac);this.a-=this.c?9+(this.Ta&1):3+(7==this.b?2:0)},function(a){R(this,a,0,yc);this.a-=this.c?9:3+(7==this.b?2:0)}];function bc(a){le[a>>12].call(this,a)}
|
||||
var le=[function(a){me[a>>8&15].call(this,a)},Dd,td,dd,$c,bd,Vc,function(a){ne[a>>8&15].call(this,a)},function(a){oe[a>>8&15].call(this,a)},Ed,ud,ed,ad,cd,Nd,Y],me=[function(a){pe[a>>4&15].call(this,a)},qd,nd,fd,gd,ld,hd,jd,Bd,Bd,Sd,Ud,Wd,function(a){qe[a>>6&3].call(this,a)},Y,Y],qe=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=this.S(a|this.M);this.f[7]=this.f[5]&65535;this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=nc(this,a,0);hc(this,a);N(this,a);this.a-=11},function(a){var b=jc(this),
|
||||
c=this.a;oc(this,a,0,b);N(this,b);this.a=c-Fd[this.c]},function(a){N(this,uc(this,a,this.ka?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],pe=[function(a){re[a&15].call(this,a)},Y,Y,Y,V,V,V,V,Kd,function(a){a&8?(this.u&49152||(this.u=this.u&-2017|(a&7)<<5,this.j|=1),this.a-=5):H(this,8,6)},Yd,$d,X,X,X,X],re=[xd,Pd,Jd,pd,yd,Id,function(){ic(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],ne=[Gd,Gd,vd,vd,Wc,Wc,Xc,Xc,Qd,Qd,Y,Y,Y,Y,Ld,Ld],oe=[od,md,id,kd,rd,sd,Yc,Zc,wd,Od,be,de,fe,function(a){se[a>>6&3].call(this,
|
||||
var le=[function(a){me[a>>8&15].call(this,a)},Dd,td,dd,$c,bd,Vc,function(a){ne[a>>8&15].call(this,a)},function(a){oe[a>>8&15].call(this,a)},Ed,ud,ed,ad,cd,Md,Y],me=[function(a){pe[a>>4&15].call(this,a)},qd,nd,fd,gd,ld,hd,jd,Bd,Bd,Sd,Ud,Wd,function(a){qe[a>>6&3].call(this,a)},Y,Y],qe=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=this.S(a|this.M);this.f[7]=this.f[5]&65535;this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=nc(this,a,0);hc(this,a);N(this,a);this.a-=11},function(a){var b=jc(this),
|
||||
c=this.a;oc(this,a,0,b);N(this,b);this.a=c-Fd[this.c]},function(a){N(this,uc(this,a,this.ka?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],pe=[function(a){re[a&15].call(this,a)},Y,Y,Y,V,V,V,V,Kd,function(a){a&8?(this.u&49152||(this.u=this.u&-2017|(a&7)<<5,this.j|=1),this.a-=5):G(this,8,6)},Yd,$d,X,X,X,X],re=[xd,Pd,Jd,pd,yd,Id,function(){ic(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],ne=[Gd,Gd,vd,vd,Wc,Wc,Xc,Xc,Qd,Qd,Y,Y,Y,Y,Ld,Ld],oe=[od,md,id,kd,rd,sd,Yc,Zc,wd,Od,be,de,fe,function(a){se[a>>6&3].call(this,
|
||||
a)},Y,Y],se=[Y,function(a){a=nc(this,a,65536);hc(this,a);N(this,a);this.a-=11},function(a){var b=jc(this),c=this.a;oc(this,a,65536,b);N(this,b);this.a=c-Fd[this.c]},Y];function te(a){v.call(this,"ROM",a,te);this.b=null;this.o=a.addr;this.c=a.size;this.w=a.writable;this.g=a.alias;this.i=a.file;this.s=ka(this.i);if(this.i){a=this.i;var b=la(this.s);"json"!=b&&"hex"!=b&&(a=na()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;m(a,null,!0,function(a,b,f){ue(c,a,b,f)})}}x(te);
|
||||
te.prototype.ca=function(a,b,c,d){this.l=b;this.a=c;this.G=d;ve(this)};te.prototype.Y=function(){this.m&&(this.G&&this.G.a(this.id,this.o,this.c,this.m),delete this.m);return!0};te.prototype.X=function(){return!0};
|
||||
function ue(a,b,c,d){if(d)a.K("Unable to load system ROM (error "+d+": "+b+")");else{Oa(a.Ua,b,c);var e;if("["==c.charAt(0)||"{"==c.charAt(0))try{var f,k,l=eval("("+c+")");if(f=l.bytes)a.b=f;else if(f=l.words)for(a.b=Array(2*f.length),k=e=0;e<f.length;e++)a.b[k++]=f[e]&255,a.b[k++]=f[e]>>8&255;else if(f=l.data)for(a.b=Array(4*f.length),k=e=0;e<f.length;e++)a.b[k++]=f[e]&255,a.b[k++]=f[e]>>8&255,a.b[k++]=f[e]>>16&255,a.b[k++]=f[e]>>24&255;else a.b=l;a.m=l.symbols;if(!a.b.length){p("Empty ROM: "+b);
|
||||
return}if(1==a.b.length){p(a.b[0]);return}}catch(n){a.K("ROM data error: "+n.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e<b.length;e++)a.b[e]=ia(b[e]);ve(a)}}
|
||||
function ve(a){if(!Ra(a))if(!a.i)C(a);else if(a.b&&a.l){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size ("+h(a.b.length,8,!0)+") does not match specified size ("+h(a.c,8,!0)+")";a.h.error=!0;a.K(b)}else{b=a.o;if(ib(a.l,b,a.c,a.w?1:Hb)){var c;for(c=0;c<a.b.length;c++)a.l.bb(b+c,a.b[c]);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++){var d=a,e=b[c],f=hb(d.l,d.o,d.c);gb(d.l,e,d.c,f)}delete a.b}}C(a)}}
|
||||
u(function(){for(var a=B(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new te(d);A(d,c)}});function we(a){v.call(this,"RAM",a,we);this.g=a.addr;this.c=a.size;this.b=!1}x(we);we.prototype.ca=function(a,b,c,d){this.l=b;this.a=c;this.G=d;!this.b&&this.c&&ib(this.l,this.g,this.c,1)&&(this.b=!0);this.b||p("No RAM allocated");C(this)};we.prototype.Y=function(){return!0};we.prototype.X=function(){return!0};we.prototype.reset=function(){};
|
||||
function ve(a){if(!Ra(a))if(!a.i)C(a);else if(a.b&&a.l){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size ("+h(a.b.length,8,!0)+") does not match specified size ("+h(a.c,8,!0)+")";a.h.error=!0;a.K(b)}else{b=a.o;if(jb(a.l,b,a.c,a.w?1:Hb)){var c;for(c=0;c<a.b.length;c++)a.l.bb(b+c,a.b[c]);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++){var d=a,e=b[c],f=ib(d.l,d.o,d.c);hb(d.l,e,d.c,f)}delete a.b}}C(a)}}
|
||||
u(function(){for(var a=B(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new te(d);A(d,c)}});function we(a){v.call(this,"RAM",a,we);this.g=a.addr;this.c=a.size;this.b=!1}x(we);we.prototype.ca=function(a,b,c,d){this.l=b;this.a=c;this.G=d;!this.b&&this.c&&jb(this.l,this.g,this.c,1)&&(this.b=!0);this.b||p("No RAM allocated");C(this)};we.prototype.Y=function(){return!0};we.prototype.X=function(){return!0};we.prototype.reset=function(){};
|
||||
u(function(){for(var a=B(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new we(d);A(d,c)}});function xe(a){v.call(this,"Keyboard",a,xe);C(this)}x(xe);xe.prototype.U=function(){return!1};xe.prototype.ca=function(a,b,c,d){this.w=a;this.a=c;this.G=d};u(function(){for(var a=B(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new xe(d);A(d,c)}});
|
||||
function Z(a){this.g=this.m=null;this.H=a.tabSize;this.B=a.charBOL;this.o=0;v.call(this,"SerialPort",a,Z);var b=a.binding;if("console"==b)this.m="";else{var c;a=ye;b&&(void 0===c&&(c="Panel"),(c=Qa(c,this.id))&&(b=c.v[b])&&this.U(null,a,b))}this.s=this.A=null;this.exports={connect:this.ib,receiveData:this.Za}}x(Z);var ye="buffer";g=Z.prototype;
|
||||
g.U=function(a,b,c){var d=this;switch(b){case ye:return this.v[b]=this.g=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.Za(b);return!0},c.onkeypress=function(a){a=a||window.event;d.Za(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
|
||||
g.ca=function(a,b,c,d){this.w=a;this.l=b;this.a=c;this.G=d;var e=this;this.M=xb(48,4);this.I=ub(this.a,function(){e.b&128||!e.i.length||(e.D=e.i.shift(),e.b|=128,e.b&64&&vb(e.a,e.M))});this.N=xb(52,4);this.J=ub(this.a,function(){e.c|=128;e.c&64&&vb(e.a,e.N)});rb(b,this,ze);C(this)};
|
||||
g.ca=function(a,b,c,d){this.w=a;this.l=b;this.a=c;this.G=d;var e=this;this.M=yb(48,4);this.I=vb(this.a,function(){e.b&128||!e.i.length||(e.D=e.i.shift(),e.b|=128,e.b&64&&wb(e.a,e.M))});this.N=yb(52,4);this.J=vb(this.a,function(){e.c|=128;e.c&64&&wb(e.a,e.N)});sb(b,this,ze);C(this)};
|
||||
g.ib=function(){if(!this.s){var a=Sb(this.w,"connection");if(a){var b=a.split("->");if(2==b.length){var c=qa(b[0]);if(c!=this.Ea)return;b=qa(b[1]);if(this.s=Pa(b)){var d=this.s.exports;if(d){var e=d.connect;e&&e.call(this.s);if(this.A=d.receiveData){this.status(this.Ua+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};g.Y=function(a,b){if(!b)if(this.ib(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
g.X=function(a){return a?this.save():!0};g.reset=function(){Ae(this)};g.save=function(){var a=new L(this);a.set(0,[]);return a.data()};g.restore=function(){return Ae(this)};function Ae(a){a.D=0;a.b=0;a.c=128;a.i=[];return!0}g.Za=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.i.push(a.charCodeAt(b));else this.i=this.i.concat(a);wb(this.a,this.I,1);return!0};g.Yb=function(){return this.b&65535};g.Ic=function(a){this.b=this.b&-112|a&111};
|
||||
g.Xb=function(){this.b&=-129;0<this.i.length&&wb(this.a,this.I,1);return this.D};g.Hc=function(){};g.lc=function(){return this.c};g.Wc=function(a){128==(this.c&192)&&a&64&&wb(this.a,this.J,1);this.c=this.c&-70|a&69};g.kc=function(){return 0};
|
||||
g.Vc=function(a){if(a&=255){this.A&&this.A.call(this.s,a);if(this.g)if(13==a)this.o=0;else if(8==a)this.g.value=this.g.value.slice(0,-1),0<this.o&&this.o--;else{var b;b=(b=ra[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.H||8,c=a-this.o%a,this.H&&(b=" ".slice(0,c)));this.B&&!this.o&&c&&(b=String.fromCharCode(this.B)+b);this.g.value+=b;this.g.scrollTop=this.g.scrollHeight;this.o+=c}else if(null!=this.m){if(10==a||1024<=this.m.length)this.O(this.m),
|
||||
this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.c&=-129;wb(this.a,this.J,1)}};var Be={},ze=(Be[65392]=[null,null,Z.prototype.Yb,Z.prototype.Ic,"RCSR"],Be[65394]=[null,null,Z.prototype.Xb,Z.prototype.Hc,"RBUF"],Be[65396]=[null,null,Z.prototype.lc,Z.prototype.Wc,"XCSR"],Be[65398]=[null,null,Z.prototype.kc,Z.prototype.Vc,"XBUF"],Be);u(function(){for(var a=B(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Z(d);A(d,c)}});function Bb(a){v.call(this,"PC11",a,Bb);this.b=0}x(Bb);
|
||||
g=Bb.prototype;g.U=function(){return!1};g.ca=function(a,b,c,d){this.w=a;this.l=b;this.a=c;this.G=d;C(this)};g.Y=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};g.X=function(a){return a?this.save():!0};g.reset=function(){this.b&=-2241};g.save=function(){return(new L(this)).data()};g.restore=function(){return!0};
|
||||
function Ce(a,b,c){v.call(this,"Computer",a,Ce);this.h.L=!1;De(this,b);this.B=Sb(this,"autoPower",a);this.g=0;this.M=a.busWidth||a.buswidth;this.b=Ee;this.s=null;this.o=this.I=!1;this.N=Sb(this,"url")||"";(Math.random()+.1).toString(36);this.c=Fe(this);if(this.a=Qa("CPU",this.id)){this.G=Qa("Debugger",this.id);this.l=new Ya({id:this.Ua+".bus",busWidth:this.M},this.a,this.G);var d,e=y(this.id);if((this.i=Qa("Panel",this.id))&&this.i.Sa)for(b=0;b<e.length;b++)d=e[b],d.K=this.i.K,d.O=this.i.O,d.Sa=this.i.Sa;
|
||||
this.O("PDPjs v1.30.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.O("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ca&&d.ca(this,this.l,this.a,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.w=d:this.b=parseInt(d,10));var f;if(a=Sb(this,"state")||(f=!0,a.state))b=this.D=a,f||(this.o=!0,this.b=Ee),this.b&&(this.A=new L(this,
|
||||
"1.30.1"),Ge(this.A)?b=null:delete this.A);!b&&this.b&&(b=He(this))&&(this.o=!0);if(b){var k=this;m(b,null,!0,function(a,b,c){c?(k.w=null,k.o=!1,k.K("Unable to load machine state from server (error "+c+(b?": "+qa(b):"")+")")):(k.s=b,k.I=!0);C(k)})}else C(this);this.v.power||(this.B=!0);!c&&this.B&&Ie(this,this.Ca)}else p("Unable to find CPU component")}x(Ce);var Ee=0;
|
||||
function De(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){p(d.message+" ("+c+")")}}a.J=b}function Sb(a,b,c){var d=b.toLowerCase(),d=Ia[b]||Ia[d];void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Ie(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ra(f)){Ra(f,function(){Ie(a,b,c)});return}}b.call(a,c)}
|
||||
function Je(a,b){var c=new L(a,"1.30.1","validate");if(Ge(c)&&Ke(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.K("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}g=Ce.prototype;
|
||||
g.Ca=function(a){void 0===a&&(a=this.b||(this.s?1:Ee));if(!this.g){this.g++;var b=!1,c=!1;this.H=!1;var d=this.A||new L(this,"1.30.1");if(-1==a)b=!0;else if(a>Ee){if(Ge(d,this.s)){this.m=new L(this,"1.30.1","failsafe");Ge(this.m)&&(Le(this,d),a=2,Me(this.m));this.m.set("timestamp",ta());Ne(this.m);var e=this.b&&!this.o;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Ke(d)){var f=d.get("code"),k=d.get("data");f&&("ok"==f?Ge(d,k):("error"==
|
||||
f&&"no machine state"!=k?(this.K("Error: "+k),"unable to verify user"==k&&(ya("user",""),this.c=null)):this.O(f+": "+k),Me(d),Ge(d)?(c=Ke(d),e=!0):c=!1))}e&&Je(this,c?d:null)}else 2==a&&d.clear()}else Je(this);delete this.s;delete this.A}e=y(this.id);for(f=0;f<e.length;f++)k=e[f],k!==this&&k!=this.a&&(c=Oe(this,k,d,b,c));b=[d,a,c];-1!=a?Ie(this,this.gb,b):this.gb(b)}};
|
||||
function Oe(a,b,c,d,e){if(!b.h.L){b.h.L=!0;if(b.Y){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Y(f,d)&&f&&(p("Unable to restore state for "+b.type),a.D&&!a.I?(c.clear(),a.b=Ee,window&&window.location.reload()):a.H=!0,b.Y(null),e=!1)}if(!d&&b.jb)for(a=b.jb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
g.gb=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.h.L=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.a&&(Oe(this,this.a,b,c,a),this.a.Aa());this.H&&(Le(this,b),b.clear());!c&&this.m&&(this.m.clear(),delete this.m);this.g=0};
|
||||
function Le(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.N;d.user=c;d.type="bug";d.data=b;m("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function Pe(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new L(a,"1.30.1"),k=new L(a,"1.30.1","validate"),l=ta();k.set("timestamp",l);f.set("timestamp",l);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.X&&(c&&E(a.a),d=a.a.X(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.h.L=!1,!1===d&&(e=null)));for(var l=y(a.id),n=0;n<l.length;n++){var r=l[n];r.h.L&&(r.X&&(d=r.X(b,c),"object"===typeof d&&f.set(r.id,
|
||||
d)),c&&(r.h.L=!1,!1===d&&(e=null)))}e&&(c?(l=d=!1,b?(a.c&&Qe(a,a.c,f.toString()),Ne(k)&&Ne(f)||(e=null,d=l=!0)):a.b&&(d=!0,l=3==a.b),d&&f.clear(l)):e=f.toString());c&&(a.h.L=!1,b=a.v.power)&&(b.textContent="Power");a.g=0;return e}g.reset=function(){this.l&&this.l.reset&&this.l.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.l&&c.reset&&c.reset()}};g.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.da(!0)};
|
||||
g.X=function(a){return a?this.save():!0};g.reset=function(){Ae(this)};g.save=function(){var a=new L(this);a.set(0,[]);return a.data()};g.restore=function(){return Ae(this)};function Ae(a){a.D=0;a.b=0;a.c=128;a.i=[];return!0}g.Za=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.i.push(a.charCodeAt(b));else this.i=this.i.concat(a);xb(this.a,this.I,1);return!0};g.$b=function(){return this.b&65535};g.Mc=function(a){this.b=this.b&-112|a&111};
|
||||
g.Zb=function(){this.b&=-129;0<this.i.length&&xb(this.a,this.I,1);return this.D};g.Lc=function(){};g.nc=function(){return this.c};g.$c=function(a){128==(this.c&192)&&a&64&&xb(this.a,this.J,1);this.c=this.c&-70|a&69};g.mc=function(){return 0};
|
||||
g.Zc=function(a){if(a&=255){this.A&&this.A.call(this.s,a);if(this.g)if(13==a)this.o=0;else if(8==a)this.g.value=this.g.value.slice(0,-1),0<this.o&&this.o--;else{var b;b=(b=ra[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.H||8,c=a-this.o%a,this.H&&(b=" ".slice(0,c)));this.B&&!this.o&&c&&(b=String.fromCharCode(this.B)+b);this.g.value+=b;this.g.scrollTop=this.g.scrollHeight;this.o+=c}else if(null!=this.m){if(10==a||1024<=this.m.length)this.O(this.m),
|
||||
this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.c&=-129;xb(this.a,this.J,1)}};var Be={},ze=(Be[65392]=[null,null,Z.prototype.$b,Z.prototype.Mc,"RCSR"],Be[65394]=[null,null,Z.prototype.Zb,Z.prototype.Lc,"RBUF"],Be[65396]=[null,null,Z.prototype.nc,Z.prototype.$c,"XCSR"],Be[65398]=[null,null,Z.prototype.mc,Z.prototype.Zc,"XBUF"],Be);u(function(){for(var a=B(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Z(d);A(d,c)}});
|
||||
function K(a){v.call(this,"PC11",a,K);this.c=this.b=0}x(K);g=K.prototype;g.U=function(){return!1};g.ca=function(a,b,c,d){this.w=a;this.l=b;this.a=c;this.G=d;sb(b,this,Ce);C(this)};g.Y=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};g.X=function(a){return a?this.save():!0};g.reset=function(){this.b&=-2241;this.c=0};g.save=function(){return(new L(this)).data()};g.restore=function(){return!0};g.Tb=function(){return this.b};
|
||||
g.Fc=function(a){a&1&&(this.b&32768?a&=-2:(this.b&=-129,this.b|=2048));this.b=this.b&-66|a&65};g.Sb=function(){return this.c};g.Ec=function(){};var De={},Ce=(De[65384]=[null,null,K.prototype.Tb,K.prototype.Fc,"PRS"],De[65386]=[null,null,K.prototype.Sb,K.prototype.Ec,"PRB"],De);
|
||||
function Ee(a,b,c){v.call(this,"Computer",a,Ee);this.h.L=!1;Fe(this,b);this.B=Sb(this,"autoPower",a);this.g=0;this.M=a.busWidth||a.buswidth;this.b=Ge;this.s=null;this.o=this.I=!1;this.N=Sb(this,"url")||"";(Math.random()+.1).toString(36);this.c=He(this);if(this.a=Qa("CPU",this.id)){this.G=Qa("Debugger",this.id);this.l=new Za({id:this.Ua+".bus",busWidth:this.M},this.a,this.G);var d,e=y(this.id);if((this.i=Qa("Panel",this.id))&&this.i.Sa)for(b=0;b<e.length;b++)d=e[b],d.K=this.i.K,d.O=this.i.O,d.Sa=this.i.Sa;
|
||||
this.O("PDPjs v1.30.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.O("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ca&&d.ca(this,this.l,this.a,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.w=d:this.b=parseInt(d,10));var f;if(a=Sb(this,"state")||(f=!0,a.state))b=this.D=a,f||(this.o=!0,this.b=Ge),this.b&&(this.A=new L(this,
|
||||
"1.30.1"),Ie(this.A)?b=null:delete this.A);!b&&this.b&&(b=Je(this))&&(this.o=!0);if(b){var k=this;m(b,null,!0,function(a,b,c){c?(k.w=null,k.o=!1,k.K("Unable to load machine state from server (error "+c+(b?": "+qa(b):"")+")")):(k.s=b,k.I=!0);C(k)})}else C(this);this.v.power||(this.B=!0);!c&&this.B&&Ke(this,this.Ca)}else p("Unable to find CPU component")}x(Ee);var Ge=0;
|
||||
function Fe(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){p(d.message+" ("+c+")")}}a.J=b}function Sb(a,b,c){var d=b.toLowerCase(),d=Ia[b]||Ia[d];void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Ke(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ra(f)){Ra(f,function(){Ke(a,b,c)});return}}b.call(a,c)}
|
||||
function Le(a,b){var c=new L(a,"1.30.1","validate");if(Ie(c)&&Me(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.K("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}g=Ee.prototype;
|
||||
g.Ca=function(a){void 0===a&&(a=this.b||(this.s?1:Ge));if(!this.g){this.g++;var b=!1,c=!1;this.H=!1;var d=this.A||new L(this,"1.30.1");if(-1==a)b=!0;else if(a>Ge){if(Ie(d,this.s)){this.m=new L(this,"1.30.1","failsafe");Ie(this.m)&&(Ne(this,d),a=2,Oe(this.m));this.m.set("timestamp",ta());Pe(this.m);var e=this.b&&!this.o;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Me(d)){var f=d.get("code"),k=d.get("data");f&&("ok"==f?Ie(d,k):("error"==
|
||||
f&&"no machine state"!=k?(this.K("Error: "+k),"unable to verify user"==k&&(ya("user",""),this.c=null)):this.O(f+": "+k),Oe(d),Ie(d)?(c=Me(d),e=!0):c=!1))}e&&Le(this,c?d:null)}else 2==a&&d.clear()}else Le(this);delete this.s;delete this.A}e=y(this.id);for(f=0;f<e.length;f++)k=e[f],k!==this&&k!=this.a&&(c=Qe(this,k,d,b,c));b=[d,a,c];-1!=a?Ke(this,this.gb,b):this.gb(b)}};
|
||||
function Qe(a,b,c,d,e){if(!b.h.L){b.h.L=!0;if(b.Y){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Y(f,d)&&f&&(p("Unable to restore state for "+b.type),a.D&&!a.I?(c.clear(),a.b=Ge,window&&window.location.reload()):a.H=!0,b.Y(null),e=!1)}if(!d&&b.jb)for(a=b.jb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
g.gb=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.h.L=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.a&&(Qe(this,this.a,b,c,a),this.a.Aa());this.H&&(Ne(this,b),b.clear());!c&&this.m&&(this.m.clear(),delete this.m);this.g=0};
|
||||
function Ne(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.N;d.user=c;d.type="bug";d.data=b;m("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function Re(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new L(a,"1.30.1"),k=new L(a,"1.30.1","validate"),l=ta();k.set("timestamp",l);f.set("timestamp",l);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.X&&(c&&Wa(a.a),d=a.a.X(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.h.L=!1,!1===d&&(e=null)));for(var l=y(a.id),n=0;n<l.length;n++){var r=l[n];r.h.L&&(r.X&&(d=r.X(b,c),"object"===typeof d&&f.set(r.id,
|
||||
d)),c&&(r.h.L=!1,!1===d&&(e=null)))}e&&(c?(l=d=!1,b?(a.c&&Se(a,a.c,f.toString()),Pe(k)&&Pe(f)||(e=null,d=l=!0)):a.b&&(d=!0,l=3==a.b),d&&f.clear(l)):e=f.toString());c&&(a.h.L=!1,b=a.v.power)&&(b.textContent="Power");a.g=0;return e}g.reset=function(){this.l&&this.l.reset&&this.l.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.l&&c.reset&&c.reset()}};g.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.da(!0)};
|
||||
g.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.da(!0)};
|
||||
g.U=function(a,b,c){var d=this;switch(b){case "power":return this.v[b]=c,c.onclick=function(){d.g||(d.h.L?Pe(d,!1,!0):Ie(d,d.Ca))},!0;case "reset":return this.v[b]=c,c.onclick=function(){if(d.h.L&&!d.g)if(d.b&&!d.w){var a=ua("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Pe(d,a,!0);!a&&d.D?window&&window.location.reload():d.Ca(Ee)}else d.reset(),d.a&&d.a.Aa()},!0;case "save":if(ma())c.parentNode.removeChild(c);else return this.v[b]=
|
||||
c,c.onclick=function(){var a=Fe(d,!0);if(a){var b=!!(d.b&&!d.w||d.D),c=Pe(d,b);b?Qe(d,a,c):d.K("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Fe(a,b){var c=a.c;c||((c=xa("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Re(a,c))||a.K("The user ID is invalid.")):b&&a.K("Browser local storage is not available"));return c}
|
||||
function Re(a,b){a.c=null;b=m(na()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ya("user",b.data),a.c=b.data)}catch(d){p(d.message+" ("+c+")")}return a.c}function He(a){var b=null;a.c&&(b=na()+"/api/v1/user?req=load&user="+a.c+"&state="+Se(a,"1.30.1"));return b}
|
||||
function Qe(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Se(a,"1.30.1");d.data=c;b=m(na()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.K("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.K(c),ya("user",""),a.c=null)}}
|
||||
g.da=function(a){this.a&&this.a.da(a);this.i&&this.i.da(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"),e=0;e<c.length;e++){var f=c[e],k=z(f),k=new Ce(k,d,!0);A(k,f);k.B&&Ie(k,k.Ca)}});q.show.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Qa("Computer",c.id))&&c.R&&!c.h.L&&c.Ca(-1)}});
|
||||
q.exit.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Qa("Computer",c.id))&&c.h.L&&Pe(c,!(!c.b||c.w),!0)}});function L(a,b,c){this.id=a.id;this.key=Se(a,b,c);this.G=a.G;Me(this,a.Bb)}function Se(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
L.prototype={constructor:L,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Me(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
||||
1);c=0}}};function Me(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Ne(a){var b=!0;if(wa()){var c=JSON.stringify(a[a.id]);ya(a.key,c)||(p("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Ke(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){p(c.message||c),b=!1}return b}function Ge(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:wa()&&(b=xa(a.key))?(a[a.id]=b,a.a=!0):!1}var Te=0;
|
||||
function Ue(a,b,c,d,e,f){e("Loading "+a+"...");m(a,null,!0,function(k,l,n){n?(l||(l="unable to load "+a+" ("+n+")"),f(l,null)):Ve(l,a,b,c,d,e,f)})}
|
||||
function Ve(a,b,c,d,e,f,k){function l(a,f){if(f)k(f,null);else{c&&(Oa(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){f=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,f)}}a?e?We(a,f,l):l(a,null):k("no data"+(b?" for file: "+b:""),null)}
|
||||
function We(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");m(e,null,!0,function(f,k,l){if(l||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(f=d[3])if(l=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var n=l[0],r,t=/( [a-z]+=)(['"])(.*?)\2/g;r=t.exec(f);)n=0>n.indexOf(r[1])?n.replace(">",r[0]+">"):n.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);l[0]!=n&&(k=k.replace(l[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],k);We(a,b,c)}})}else c(a,null)}
|
||||
function Xe(a,b,c,d){function e(a){if(void 0===l){var b=k&&B(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=pa(a))}function f(a){e("Error: "+a);n&&(--Te||Fa(!0));n=!1}var k,l,n=!0;Te++;Na[a]={};try{if(k=document.getElementById(a)){var r;if("object"==typeof resources&&(r=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=r:D.appendChild(document.createTextNode(r));t.appendChild(D)}c||
|
||||
(c="/versions/pdpjs/1.30.1/components.xsl");r=function(d,l){l?Ue(c,null,null,!1,e,function(d,n){n?(Oa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(n=l.transformNode(n))?(k.outerHTML=n,--Te||Fa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(n),(n=d.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(n,k),--Te||Fa(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Ue(b,a,d,!0,e,r):Ve(b,null,a,d,!1,e,r)}else f("missing machine element: "+a)}catch(Md){f(Md.message)}return n}window.embedPDP11=function(a,b,c,d){Fa(!1);return Xe(a,b,c,d)};window.enableEvents=Fa;window.sendEvent=Ga;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11.map
|
||||
g.U=function(a,b,c){var d=this;switch(b){case "power":return this.v[b]=c,c.onclick=function(){d.g||(d.h.L?Re(d,!1,!0):Ke(d,d.Ca))},!0;case "reset":return this.v[b]=c,c.onclick=function(){if(d.h.L&&!d.g)if(d.b&&!d.w){var a=ua("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Re(d,a,!0);!a&&d.D?window&&window.location.reload():d.Ca(Ge)}else d.reset(),d.a&&d.a.Aa()},!0;case "save":if(ma())c.parentNode.removeChild(c);else return this.v[b]=
|
||||
c,c.onclick=function(){var a=He(d,!0);if(a){var b=!!(d.b&&!d.w||d.D),c=Re(d,b);b?Se(d,a,c):d.K("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function He(a,b){var c=a.c;c||((c=xa("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Te(a,c))||a.K("The user ID is invalid.")):b&&a.K("Browser local storage is not available"));return c}
|
||||
function Te(a,b){a.c=null;b=m(na()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ya("user",b.data),a.c=b.data)}catch(d){p(d.message+" ("+c+")")}return a.c}function Je(a){var b=null;a.c&&(b=na()+"/api/v1/user?req=load&user="+a.c+"&state="+Ue(a,"1.30.1"));return b}
|
||||
function Se(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ue(a,"1.30.1");d.data=c;b=m(na()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.K("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.K(c),ya("user",""),a.c=null)}}
|
||||
g.da=function(a){this.a&&this.a.da(a);this.i&&this.i.da(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"),e=0;e<c.length;e++){var f=c[e],k=z(f),k=new Ee(k,d,!0);A(k,f);k.B&&Ke(k,k.Ca)}});q.show.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Qa("Computer",c.id))&&c.R&&!c.h.L&&c.Ca(-1)}});
|
||||
q.exit.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Qa("Computer",c.id))&&c.h.L&&Re(c,!(!c.b||c.w),!0)}});function L(a,b,c){this.id=a.id;this.key=Ue(a,b,c);this.G=a.G;Oe(this,a.Bb)}function Ue(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
L.prototype={constructor:L,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Oe(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
||||
1);c=0}}};function Oe(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Pe(a){var b=!0;if(wa()){var c=JSON.stringify(a[a.id]);ya(a.key,c)||(p("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Me(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){p(c.message||c),b=!1}return b}function Ie(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:wa()&&(b=xa(a.key))?(a[a.id]=b,a.a=!0):!1}var Ve=0;
|
||||
function We(a,b,c,d,e,f){e("Loading "+a+"...");m(a,null,!0,function(k,l,n){n?(l||(l="unable to load "+a+" ("+n+")"),f(l,null)):Xe(l,a,b,c,d,e,f)})}
|
||||
function Xe(a,b,c,d,e,f,k){function l(a,f){if(f)k(f,null);else{c&&(Oa(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){f=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,f)}}a?e?Ye(a,f,l):l(a,null):k("no data"+(b?" for file: "+b:""),null)}
|
||||
function Ye(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");m(e,null,!0,function(f,k,l){if(l||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(f=d[3])if(l=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var n=l[0],r,t=/( [a-z]+=)(['"])(.*?)\2/g;r=t.exec(f);)n=0>n.indexOf(r[1])?n.replace(">",r[0]+">"):n.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);l[0]!=n&&(k=k.replace(l[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],k);Ye(a,b,c)}})}else c(a,null)}
|
||||
function Ze(a,b,c,d){function e(a){if(void 0===l){var b=k&&B(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=pa(a))}function f(a){e("Error: "+a);n&&(--Ve||Fa(!0));n=!1}var k,l,n=!0;Ve++;Na[a]={};try{if(k=document.getElementById(a)){var r;if("object"==typeof resources&&(r=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=r:D.appendChild(document.createTextNode(r));t.appendChild(D)}c||
|
||||
(c="/versions/pdpjs/1.30.1/components.xsl");r=function(d,l){l?We(c,null,null,!1,e,function(d,n){n?(Oa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(n=l.transformNode(n))?(k.outerHTML=n,--Ve||Fa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(n),(n=d.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(n,k),--Ve||Fa(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?We(b,a,d,!0,e,r):Xe(b,null,a,d,!1,e,r)}else f("missing machine element: "+a)}catch(Nd){f(Nd.message)}return n}window.embedPDP11=function(a,b,c,d){Fa(!1);return Ze(a,b,c,d)};window.enableEvents=Fa;window.sendEvent=Ga;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11.map
|
||||
|
|
|
|||
Loading…
Reference in a new issue