Updated Closure Compiler to v20160911, so now we have a version that supports ECMAScript 6, but I'm not going to go bonkers on ES6 features just yet; the first feature I'm going to use is support for octal and binary constants (of the form 0onnnn and 0bnnnn)
This commit is contained in:
parent
f82d6f1bfa
commit
b28166f493
16 changed files with 3222 additions and 3222 deletions
|
|
@ -1,221 +1,219 @@
|
|||
(function(){var m;
|
||||
function ca(a,b){var d;if(a){b||(b=10);var c=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==c?(b=8,c=null):"$"==c&&(b=16,c=null);null==c?a=a.substr(1):("0"==c&&(c=a.charAt(1),"b"==c&&f&&(b=2,c=null),"o"==c?(b=8,c=null):"x"==c&&(b=16,c=null)),null==c?a=a.substr(2):(c=a.charAt(a.length-1).toLowerCase(),"y"==c?(b=2,c=null):"."==c?(b=10,c=null):"h"==c&&(b=16,c=null),null==c&&(a=a.substr(0,a.length-1))));var e,c=a;((f=b)&&10!=f?16==f?null!==c.match(/^[0-9a-f]+$/i):8==f?null!==c.match(/^[0-7]+$/):2==
|
||||
f&&null!==c.match(/^[01]+$/):null!==c.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(d=e|0)}return d}function da(a,b,d){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return(d?"0o":"")+c}function r(a,b,d){var c="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),c=String.fromCharCode(f)+c;a>>=4}return(d?"0x":"")+c}
|
||||
function ea(a){var b=a,d=a.lastIndexOf("/");0<=d&&(b=a.substr(d+1));d=b.indexOf("&");0<d&&(b=b.substr(0,d));return b}function fa(a){var b="",d=a.lastIndexOf(".");0<=d&&(b=a.substr(d+1).toLowerCase());return b}function ga(){var a=ha();return-1!==a.indexOf("pcjs.org",a.length-8)}var ia={"&":"&","<":"<",">":">",'"':""","'":"'"};function ja(a){return a.replace(/[&<>"']/g,function(a){return ia[a]})}function pa(a,b){return(a+" ").slice(0,b)}
|
||||
function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ra(a,b,d){var c=0,f=a.length,e=0;for(void 0===d&&(d=function(a,b){return a>b?1:a<b?-1:0});c<f;){var h=c+f>>1,g;g=d(b,a[h]);0<g?c=h+1:(f=h,e=!g)}return e?c:~c}var sa=Date.now||function(){return+new Date};function ta(){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 wa(a,b,d,c){var f=0,e=null,h=null;if("object"==typeof resources&&(e=resources[a]))return c&&c(a,e,f),[e,f];if(d&&"function"==typeof resources)return resources(a,function(b,d){c&&c(a,b,d)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");d&&(g.onreadystatechange=function(){4===g.readyState&&(e=g.responseText,200==g.status||!g.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=g.status||-1),c&&c(a,e,f))});if(b&&"object"==
|
||||
typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");g.open("POST",a,!!d);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(k)}else g.open("GET",a,!!d),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();d||(e=g.responseText,200!=g.status&&(f=g.status||-1),c&&c(a,e,f),h=[e,f]);return h}function ha(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||
function t(a){window&&window.alert(a)}function xa(a){var b=!1;window&&(b=window.confirm(a));return b}var ya=null;function za(){if(null==ya){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ya=a}return ya}function Da(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(d){}return b}
|
||||
function Ea(a,b){try{return window.localStorage.setItem(a,b),!0}catch(d){}return!1}function Fa(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 Ga(a,b,d){function c(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(c,0):d()}c()}
|
||||
function Ha(a,b){function d(){b(100===c)&&(f=setTimeout(d,c),c=100)}var c=0,f=null,e=!1;a.onmousedown=function(){e||f||(c=500,d())};a.ontouchstart=function(){f||(c=500,d())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Ia={init:[],show:[],exit:[]},Ja=!1,Ka=!1,La=!0;function Ma(a,b){if(window){var d=window[a];window[a]="function"!==typeof d?b:function(){d&&d();b()}}}function Sa(a){Ia.init.push(a)}
|
||||
function Ta(a){if(La)try{for(var b=0;b<a.length;b++)a[b]()}catch(d){t(""+("An unexpected exception occurred:\n\n"+d.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ua(a){!La&&a?(La=!0,Ja&&Va("init"),Ka&&Va("show")):La=a}function Va(a){Ia[a]&&Ta(Ia[a])}Ma("onload",function(){Ja=!0;Ta(Ia.init)});Ma("onpageshow",function(){Ka=!0;Ta(Ia.show)});Ma(Fa("Opera")||Fa("iOS")?"onunload":"onbeforeunload",function(){Ta(Ia.exit)});
|
||||
function u(a,b,d,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.mc=b.comment;this.Nc=b;b=this.id.indexOf(".");0>b?this.Bb=this.id:(this.oc=this.id.substr(0,b),this.Bb=this.id.substr(b+1));this[a]=d;this.A={ready:!1,nb:!1,dc:!1,fa:!1,error:!1};this.Wb=null;this.A.error=!1;this.O={};this.I=null;this.ia=c||0;v.push(this)}var Wa=void 0,Xa={};
|
||||
if(window){Wa||(Wa=window.location.search.substr(1));for(var Ya,Za=/\+/g,$a=/([^&=]+)=?([^&]*)/g;Ya=$a.exec(Wa);)Xa[decodeURIComponent(Ya[1].replace(Za," "))]=decodeURIComponent(Ya[2].replace(Za," "))}function ab(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var d=typeof a;if("object"!==d&&"function"!==d)throw new TypeError;}b.prototype=a;return new b}
|
||||
function bb(a,b){b||(b=u);a.prototype=ab(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var cb=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else cb={},v=[];function db(a,b,d){cb[a]&&b&&(cb[a][b]=d)}function eb(a){var b,d=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var c=v[b];a&&c.id.indexOf(a)||d.push(c)}return d}
|
||||
function fb(a,b){var d;if(void 0!==a){var c;b&&(b=0<(c=b.indexOf("."))?b.substr(0,c+1):"");for(c=0;c<v.length;c++)if(d)d==v[c]&&(d=null);else if(!(a!=v[c].type||b&&v[c].id.indexOf(b)))return v[c]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(d){t(d.message+" ("+a+")")}return b}
|
||||
function gb(a,b){for(var d=x(b.parentNode,"pdp11-control"),c=0;c<d.length;c++)for(var f=d[c].childNodes,e=0;e<f.length;e++){var h=f[e];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=w(h))&&g.binding&&a.ua(g.type,g.binding,h,g.value),l=k.length}}}}
|
||||
function x(a,b,d){d&&(b+="-"+d+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var c;d=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(c=a.length;b<c;b++)f.test(a[b].className)&&d.push(a[b]);return d}
|
||||
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ua:function(a,b,d){switch(b){case "clear":return this.O[b]||(this.O[b]=d,d.onclick=function(a){return function(){a.O.print&&(a.O.print.value="")}}(this)),!0;case "print":return this.O[b]||(this.fb=this.O[b]=d,d.value="",this.i=function(a){return function(b,d){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==d?d+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(d),
|
||||
this.oa=function(a){this.i(a,this.Bb)}),!0;default:return!1}},log:function(){},i:function(){},status:function(a){this.i(this.Bb+": "+a)},oa:function(a,b,d){d=d||this.type;b||t((d?d+": ":"")+a)},Na:function(){return this.A.fa=!0},Ma:function(a,b){b&&(this.A.fa=!1);return!0}};function hb(a,b){if(a.I){a===a.I?b|=0:b=b||a.ia;var d=a.I.ia&b;return!!b&&d===b||!!(d&a.I.Hc)}return!1}
|
||||
function ib(a,b){if(a.A.dc)return a.A.nb&&(a.A.nb=!1),a.A.dc=!1;if(a.A.error)return a.i(a.toString()+" error"),!1;a.A.nb=b;return a.A.nb}function jb(a,b){a.A.nb&&(b?a.A.dc=!0:void 0===b&&a.i(a.toString()+" busy"));return a.A.nb}function y(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Wb;a.Wb=null;b&&b()}}function kb(a,b){b&&(a.A.ready?b():a.Wb=b);return a.A.ready}function lb(a,b){a.A.error=!0;a.oa(b)}
|
||||
var mb="undefined"!==typeof ArrayBuffer,nb=2,B=4,C=6,nb=0|nb,yb=1|nb,B=0|B,zb=1|B,C=0|C,D=1|C,Ab={cpu:1,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function Bb(a){u.call(this,"Panel",a,Bb)}bb(Bb);m=Bb.prototype;m.ua=function(a,b,d,c){return this.F&&this.F.ua(a,b,d,c)||this.b&&this.b.ua(a,b,d,c)||this.I&&this.I.ua(a,b,d,c)?!0:this.parent.ua.call(this,a,b,d,c)};
|
||||
m.Xa=function(a,b,d,c){this.F=a;this.H=b;this.b=d;this.I=c};m.Na=function(a,b){b||Cb();return!0};m.Ma=function(){return!0};m.xa=function(){};function Cb(){for(var a=!1,b=x(document,"pdp11","panel"),d=0;d<b.length;d++){var c=b[d],f=w(c),e;a:{e=f.id;if(void 0!==e)for(var h=void 0,h=0;h<v.length;h++)if(v[h].id===e){e=v[h];break a}e=null}e||(a=!0,e=new Bb(f));gb(e,c);a&&y(e)}}Sa(Cb);
|
||||
function Db(a,b,d){u.call(this,"Bus",a,Db);this.b=b;this.I=d;this.N=a.busWidth||16;this.G=Math.pow(2,this.N);this.H=this.G-1|0;this.Y=(this.N>>1)+2;10>this.Y&&(this.Y=10);15<this.Y&&(this.Y=15);this.Aa=1<<this.Y;this.T=this.Aa>>2;this.g=this.Aa-1;this.C=this.G/this.Aa|0;this.F=this.C-1;this.Ta=[];this.J=null;this.Gb=this.Dc;a=new E;Eb(a,this.I);this.R=Array(this.C);for(b=0;b<this.C;b++)this.R[b]=a;this.Cb=Array(4);this.Cb[0]=Fb;this.Cb[1]=Gb;this.Cb[2]=Hb;this.Cb[3]=Ib;this.P=this.G-8192;Jb(this,
|
||||
this.P,8192,Kb,this);y(this)}bb(Db);function Fb(a,b){var d=this.controller.Ta[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=this.controller.Ta[a&-2],d[2]))return d[2](b&-2)>>8;return this.controller.Gb(b,-1,1)}
|
||||
function Gb(a,b,d){var c=this.controller.Ta[a];if(c){if(c[1]){c[1](b,d);return}if(c[3]){a=c[2]?c[2](d):0;if(d&1)c[3](a&255|b<<8,d&-2);else c[3](a&-256|b,d);return}}else if(d&1&&(c=this.controller.Ta[a&-2],c[3])){d&=-2;a=c[2]?c[2](d):0;c[3](a&255|b<<8,d);return}this.controller.Gb(d,b,1)}function Hb(a,b){var d=this.controller.Ta[a];if(d){if(d[2])return d[2](b);if(d[0])return d[0](b)|d[0](b+1)<<8}return this.controller.Gb(b,-1,0)}
|
||||
function Ib(a,b,d){if(a=this.controller.Ta[a]){if(a[3]){a[3](b,d);return}if(a[1]){a[1](b&255,d);a[1](b>>8,d+1);return}}this.controller.Gb(d,b,0)}m=Db.prototype;m.reset=function(){this.J&&this.J()};m.Dc=function(){return 0};m.Na=function(a,b){b||this.reset();return!0};
|
||||
function Jb(a,b,d,c,f){for(var e=b,h=d,g=e>>>a.Y;0<h&&g<a.R.length;){var k=a.R[g],l=g*a.Aa,n=a.Aa-(e-l);n>h&&(n=h);if(k&&k.size){if(k.type==c&&k.controller==f){if(e+h<=k.D)return k.Ub+=k.D-e,k.D=e,!0;if(e>=k.D+k.Ub){n=k.size-(e-l);n>h&&(n=h);k.Ub=e-k.D+n;e=l+a.Aa;h-=n;g++;continue}}return Lb(1,e,h)}e=new E(e,n,a.Aa,c,f);Eb(e,a.I,k);a.R[g++]=e;e=l+a.Aa;h-=n}return 0>=h?(a.status(Math.floor(d/1024)+"Kb "+Mb[c]+" at "+r(b,8,!0)),!0):Lb(2,b,d)}
|
||||
m.Hb=function(a){return this.R[(a&this.H)>>>this.Y].sb(a&this.g,a)};m.Ha=function(a){var b=a&this.g,d=(a&this.H)>>>this.Y;return b!=this.g?this.R[d].wc(b,a):this.R[d++].sb(b,a)|this.R[d&this.F].sb(0,a+1)<<8};function Nb(a,b){var d=b&a.g,c=(b&a.H)>>>a.Y;return d!=a.g?a.R[c].hc(d,b):a.R[c++].Ob(d,b)|a.R[c&a.F].Ob(0,b+1)<<8}m.bc=function(a,b){this.R[(a&this.H)>>>this.Y].xb(a&this.g,b&255,a)};
|
||||
m.jc=function(a,b){var d=a&this.g,c=(a&this.H)>>>this.Y;d!=this.g?this.R[c].Cc(d,b&65535,a):(this.R[c++].xb(d,b&255,a),this.R[c&this.F].xb(0,b>>8&255,a+1))};function Lb(a,b,d){t("Memory block error ("+a+": "+r(b)+","+r(d)+")");return!1}
|
||||
function Ob(a){u.call(this,"Device",a,Ob);this.P=a.name;this.N={gc:[],Ia:0,qa:128,g:127,Jc:0};this.g={data:0,gd:0,pb:20,dd:0};this.F={Ib:0,K:0};this.C={Qb:2496,la:0,S:128,Rb:0,Pb:0,ta:0,xc:0,na:[],cb:[406,406,406,406],Z:[12,12,12,12]};this.G={K:129,Fb:0,da:0,Ya:0,Ua:0,ab:0,na:[],Z:[40,40,40,40],cb:[1024,1024,512,512],Fc:[157,157,29,29]};this.J={b:[8210,8208,8210,8226],Z:[22,22,22,50],bb:[19,19,19,32],cc:[815,411,815,630],na:[],U:2176,vb:0,tb:0,Ca:[0,0,0,0,0,0,0,0],Ba:0,pa:[4544,4544,4544,4544,4544,
|
||||
4544,4544,4544],ub:[0,0,0,0,0,0,0,0],kb:0,bd:[0,0,0,0,0,0,0,0],yc:0,zc:[0,0,0,0,0,0,0,0],I:[0,0,0,0,0,0,0,0],cd:[1,2,3,4,5,6,7,8],Ac:[0,0,0,0,0,0,0,0],Pa:[0,0,0,0,0,0,0,0],ac:[0,0,0,0,0,0,0,0],$c:[0,0,0,0,0,0,0,0],ad:[0,0,0,0,0,0,0,0],Yc:[0,0,0,0,0,0,0,0],Zc:[0,0,0,0,0,0,0,0],$a:0,ic:0}}bb(Ob);
|
||||
var Pb=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
||||
function aa(a,b){var d;if(a){b||(b=10);var c=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==c?(b=8,c=null):"$"==c&&(b=16,c=null);null==c?a=a.substr(1):("0"==c&&(c=a.charAt(1),"b"==c&&e&&(b=2,c=null),"o"==c?(b=8,c=null):"x"==c&&(b=16,c=null)),null==c?a=a.substr(2):(c=a.charAt(a.length-1).toLowerCase(),"y"==c?(b=2,c=null):"."==c?(b=10,c=null):"h"==c&&(b=16,c=null),null==c&&(a=a.substr(0,a.length-1))));var f,c=a;((e=b)&&10!=e?16==e?c.match(/^[0-9a-f]+$/i):8==e?c.match(/^[0-7]+$/):2==e&&
|
||||
c.match(/^[01]+$/):c.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(d=f|0)}return d}function ca(a,b,d){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return(d?"0o":"")+c}function r(a,b,d){var c="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),c=String.fromCharCode(e)+c;a>>=4}return(d?"0x":"")+c}
|
||||
function da(a){var b=a,d=a.lastIndexOf("/");0<=d&&(b=a.substr(d+1));d=b.indexOf("&");0<d&&(b=b.substr(0,d));return b}function ea(a){var b="",d=a.lastIndexOf(".");0<=d&&(b=a.substr(d+1).toLowerCase());return b}function ga(){var a=ha();return-1!==a.indexOf("pcjs.org",a.length-8)}var ma={"&":"&","<":"<",">":">",'"':""","'":"'"};function na(a){return a.replace(/[&<>"']/g,function(a){return ma[a]})}function oa(a,b){return(a+" ").slice(0,b)}
|
||||
function pa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function qa(a,b,d){var c=0,e=a.length,f=0;for(d||(d=function(a,b){return a>b?1:a<b?-1:0});c<e;){var h=c+e>>1,g;g=d(b,a[h]);0<g?c=h+1:(e=h,f=!g)}return f?c:~c}var sa=Date.now||function(){return+new Date};function ta(){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 ua(a,b,d,c){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return c&&c(a,f,e),[f,e];if(d&&"function"==typeof resources)return resources(a,function(b,d){c&&c(a,b,d)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");d&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),c&&c(a,f,e))});if(b&&"object"==
|
||||
typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");g.open("POST",a,!!d);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(k)}else g.open("GET",a,!!d),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();d||(f=g.responseText,200!=g.status&&(e=g.status||-1),c&&c(a,f,e),h=[f,e]);return h}function ha(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||
function t(a){window&&window.alert(a)}function va(a){var b=!1;window&&(b=window.confirm(a));return b}var za=null;function Aa(){if(null==za){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}za=a}return za}function Ba(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(d){}return b}
|
||||
function Ca(a,b){try{return window.localStorage.setItem(a,b),!0}catch(d){}return!1}function Da(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ea(a,b,d){function c(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(c,0):d()}c()}
|
||||
function Fa(a,b){function d(){b(100===c)&&(e=setTimeout(d,c),c=100)}var c=0,e=null,f=!1;a.onmousedown=function(){f||e||(c=500,d())};a.ontouchstart=function(){e||(c=500,d())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Ga={init:[],show:[],exit:[]},Ha=!1,Ia=!1,Na=!0;function Oa(a,b){if(window){var d=window[a];window[a]="function"!==typeof d?b:function(){d&&d();b()}}}function Pa(a){Ga.init.push(a)}
|
||||
function Qa(a){if(Na)try{for(var b=0;b<a.length;b++)a[b]()}catch(d){t(""+("An unexpected exception occurred:\n\n"+d.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ra(a){!Na&&a?(Na=!0,Ha&&Sa("init"),Ia&&Sa("show")):Na=a}function Sa(a){Ga[a]&&Qa(Ga[a])}Oa("onload",function(){Ha=!0;Qa(Ga.init)});Oa("onpageshow",function(){Ia=!0;Qa(Ga.show)});Oa(Da("Opera")||Da("iOS")?"onunload":"onbeforeunload",function(){Qa(Ga.exit)});
|
||||
function u(a,b,d,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.mc=b.comment;this.Mc=b;b=this.id.indexOf(".");0>b?this.Bb=this.id:(this.oc=this.id.substr(0,b),this.Bb=this.id.substr(b+1));this[a]=d;this.A={ready:!1,nb:!1,dc:!1,fa:!1,error:!1};this.Wb=null;this.A.error=!1;this.O={};this.I=null;this.ia=c||0;v.push(this)}var Ta=void 0,Ua={};
|
||||
if(window){Ta||(Ta=window.location.search.substr(1));for(var Va,Wa=/\+/g,Xa=/([^&=]+)=?([^&]*)/g;Va=Xa.exec(Ta);)Ua[decodeURIComponent(Va[1].replace(Wa," "))]=decodeURIComponent(Va[2].replace(Wa," "))}function Ya(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var d=typeof a;if("object"!==d&&"function"!==d)throw new TypeError;}b.prototype=a;return new b}
|
||||
function w(a,b){b||(b=u);a.prototype=Ya(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Za=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Za={},v=[];function $a(a,b,d){Za[a]&&b&&(Za[a][b]=d)}function ab(a){var b,d=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var c=v[b];a&&c.id.indexOf(a)||d.push(c)}return d}
|
||||
function bb(a,b){var d;if(void 0!==a){var c;b&&(b=0<(c=b.indexOf("."))?b.substr(0,c+1):"");for(c=0;c<v.length;c++)if(d)d==v[c]&&(d=null);else if(!(a!=v[c].type||b&&v[c].id.indexOf(b)))return v[c]}return null}function x(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(d){t(d.message+" ("+a+")")}return b}
|
||||
function cb(a,b){for(var d=y(b.parentNode,"pdp11-control"),c=0;c<d.length;c++)for(var e=d[c].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=x(h))&&g.binding&&a.ua(g.type,g.binding,h,g.value),l=k.length}}}}
|
||||
function y(a,b,d){d&&(b+="-"+d+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var c;d=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(c=a.length;b<c;b++)e.test(a[b].className)&&d.push(a[b]);return d}
|
||||
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ua:function(a,b,d){switch(b){case "clear":return this.O[b]||(this.O[b]=d,d.onclick=function(a){return function(){a.O.print&&(a.O.print.value="")}}(this)),!0;case "print":return this.O[b]||(this.fb=this.O[b]=d,d.value="",this.i=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(d),
|
||||
this.oa=function(a){this.i(a,this.Bb)}),!0;default:return!1}},log:function(){},i:function(){},status:function(a){this.i(this.Bb+": "+a)},oa:function(a,b,d){d=d||this.type;b||t((d?d+": ":"")+a)},Na:function(){return this.A.fa=!0},Ma:function(a,b){b&&(this.A.fa=!1);return!0}};function db(a,b){if(a.I){a===a.I?b|=0:b=b||a.ia;var d=a.I.ia&b;return!!b&&d===b||!!(d&a.I.Gc)}return!1}
|
||||
function eb(a,b){if(a.A.dc)return a.A.nb&&(a.A.nb=!1),a.A.dc=!1;if(a.A.error)return a.i(a.toString()+" error"),!1;a.A.nb=b;return a.A.nb}function fb(a,b){a.A.nb&&(b?a.A.dc=!0:void 0===b&&a.i(a.toString()+" busy"));return a.A.nb}function A(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Wb;a.Wb=null;b&&b()}}function gb(a,b){b&&(a.A.ready?b():a.Wb=b);return a.A.ready}function hb(a,b){a.A.error=!0;a.oa(b)}
|
||||
var tb="undefined"!==typeof ArrayBuffer,ub=2,B=4,C=6,ub=0|ub,vb=1|ub,B=0|B,wb=1|B,C=0|C,D=1|C,xb={cpu:1,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function yb(a){u.call(this,"Panel",a,yb)}w(yb);m=yb.prototype;m.ua=function(a,b,d,c){return this.F&&this.F.ua(a,b,d,c)||this.b&&this.b.ua(a,b,d,c)||this.I&&this.I.ua(a,b,d,c)?!0:this.parent.ua.call(this,a,b,d,c)};
|
||||
m.Xa=function(a,b,d,c){this.F=a;this.H=b;this.b=d;this.I=c};m.Na=function(a,b){b||zb();return!0};m.Ma=function(){return!0};m.xa=function(){};function zb(){for(var a=!1,b=y(document,"pdp11","panel"),d=0;d<b.length;d++){var c=b[d],e=x(c),f;a:{f=e.id;if(void 0!==f){var h;for(h=0;h<v.length;h++)if(v[h].id===f){f=v[h];break a}}f=null}f||(a=!0,f=new yb(e));cb(f,c);a&&A(f)}}Pa(zb);
|
||||
function Ab(a,b,d){u.call(this,"Bus",a,Ab);this.b=b;this.I=d;this.N=a.busWidth||16;this.G=Math.pow(2,this.N);this.H=this.G-1|0;this.Y=(this.N>>1)+2;10>this.Y&&(this.Y=10);15<this.Y&&(this.Y=15);this.Aa=1<<this.Y;this.T=this.Aa>>2;this.g=this.Aa-1;this.C=this.G/this.Aa|0;this.F=this.C-1;this.Ta=[];this.J=null;this.Gb=this.Cc;a=new H;Bb(a,this.I);this.R=Array(this.C);for(b=0;b<this.C;b++)this.R[b]=a;this.Cb=Array(4);this.Cb[0]=Cb;this.Cb[1]=Db;this.Cb[2]=Eb;this.Cb[3]=Fb;this.P=this.G-8192;Gb(this,
|
||||
this.P,8192,Hb,this);A(this)}w(Ab);function Cb(a,b){var d=this.controller.Ta[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=this.controller.Ta[a&-2],d[2]))return d[2](b&-2)>>8;return this.controller.Gb(b,-1,1)}
|
||||
function Db(a,b,d){var c=this.controller.Ta[a];if(c){if(c[1]){c[1](b,d);return}if(c[3]){a=c[2]?c[2](d):0;if(d&1)c[3](a&255|b<<8,d&-2);else c[3](a&-256|b,d);return}}else if(d&1&&(c=this.controller.Ta[a&-2],c[3])){d&=-2;a=c[2]?c[2](d):0;c[3](a&255|b<<8,d);return}this.controller.Gb(d,b,1)}function Eb(a,b){var d=this.controller.Ta[a];if(d){if(d[2])return d[2](b);if(d[0])return d[0](b)|d[0](b+1)<<8}return this.controller.Gb(b,-1,0)}
|
||||
function Fb(a,b,d){if(a=this.controller.Ta[a]){if(a[3]){a[3](b,d);return}if(a[1]){a[1](b&255,d);a[1](b>>8,d+1);return}}this.controller.Gb(d,b,0)}m=Ab.prototype;m.reset=function(){this.J&&this.J()};m.Cc=function(){return 0};m.Na=function(a,b){b||this.reset();return!0};
|
||||
function Gb(a,b,d,c,e){for(var f=b,h=d,g=f>>>a.Y;0<h&&g<a.R.length;){var k=a.R[g],l=g*a.Aa,n=a.Aa-(f-l);n>h&&(n=h);if(k&&k.size){if(k.type==c&&k.controller==e){if(f+h<=k.D)return k.Ub+=k.D-f,k.D=f,!0;if(f>=k.D+k.Ub){n=k.size-(f-l);n>h&&(n=h);k.Ub=f-k.D+n;f=l+a.Aa;h-=n;g++;continue}}return Ib(1,f,h)}f=new H(f,n,a.Aa,c,e);Bb(f,a.I,k);a.R[g++]=f;f=l+a.Aa;h-=n}return 0>=h?(a.status(Math.floor(d/1024)+"Kb "+Jb[c]+" at "+r(b,8,!0)),!0):Ib(2,b,d)}
|
||||
m.Hb=function(a){return this.R[(a&this.H)>>>this.Y].sb(a&this.g,a)};m.Ha=function(a){var b=a&this.g,d=(a&this.H)>>>this.Y;return b!=this.g?this.R[d].vc(b,a):this.R[d++].sb(b,a)|this.R[d&this.F].sb(0,a+1)<<8};function Kb(a,b){var d=b&a.g,c=(b&a.H)>>>a.Y;return d!=a.g?a.R[c].hc(d,b):a.R[c++].Ob(d,b)|a.R[c&a.F].Ob(0,b+1)<<8}m.bc=function(a,b){this.R[(a&this.H)>>>this.Y].xb(a&this.g,b&255,a)};
|
||||
m.jc=function(a,b){var d=a&this.g,c=(a&this.H)>>>this.Y;d!=this.g?this.R[c].Bc(d,b&65535,a):(this.R[c++].xb(d,b&255,a),this.R[c&this.F].xb(0,b>>8&255,a+1))};function Lb(a){for(var b=0,d=[],c=0;c<a.C;c++){var e=a.R[c];if(e.Wa||e.Kc){d[b++]=c;var f=b++;if(e=e.save()){for(var h=0,g=0,k=[];h<e.length;){for(var l=e[h],n=h+1;n<e.length&&e[n]===l;)n++;k[g++]=n-h;k[g++]=l;h=n}k.length<e.length&&(e=k)}d[f]=e}}return d}function Ib(a,b,d){t("Memory block error ("+a+": "+r(b)+","+r(d)+")");return!1}
|
||||
function Mb(a){u.call(this,"Device",a,Mb);this.N={gc:[],Ia:0,qa:128,g:127,Ic:0};this.g={data:0,gd:0,pb:20,dd:0};this.F={Ib:0,K:0};this.C={Qb:2496,la:0,S:128,Rb:0,Pb:0,ta:0,wc:0,na:[],cb:[406,406,406,406],Z:[12,12,12,12]};this.G={K:129,Fb:0,da:0,Ya:0,Ua:0,ab:0,na:[],Z:[40,40,40,40],cb:[1024,1024,512,512],Ec:[157,157,29,29]};this.J={b:[8210,8208,8210,8226],Z:[22,22,22,50],bb:[19,19,19,32],cc:[815,411,815,630],na:[],U:2176,vb:0,tb:0,Ca:[0,0,0,0,0,0,0,0],Ba:0,pa:[4544,4544,4544,4544,4544,4544,4544,4544],
|
||||
ub:[0,0,0,0,0,0,0,0],kb:0,bd:[0,0,0,0,0,0,0,0],xc:0,yc:[0,0,0,0,0,0,0,0],I:[0,0,0,0,0,0,0,0],cd:[1,2,3,4,5,6,7,8],zc:[0,0,0,0,0,0,0,0],Pa:[0,0,0,0,0,0,0,0],ac:[0,0,0,0,0,0,0,0],$c:[0,0,0,0,0,0,0,0],ad:[0,0,0,0,0,0,0,0],Yc:[0,0,0,0,0,0,0,0],Zc:[0,0,0,0,0,0,0,0],$a:0,ic:0}}w(Mb);
|
||||
var Yb=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
||||
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];m=Ob.prototype;
|
||||
m.Xa=function(a,b,d,c){this.H=b;this.b=d;this.I=c;switch(this.P){default:a=Qb;for(var f in a){var e=a[f];d=b;c=+f;for(var h=e[0]?e[0].bind(this):null,g=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,l=+f;l<=c;l+=2){var n=l&8191;void 0!==d.Ta[n]?t("I/O address already registered: "+r(d.P+n,8,!0)):d.Ta[n]=[h,g,k,e,!1]}}f=this.Ec.bind(this);b.J=this.reset.bind(this);b.Gb=f}y(this)};m.Uc=function(){return Rb(this.b)};
|
||||
m.fd=function(a){cc(this.b,a&-1809|Rb(this.b)&1808);this.b.V|=128};
|
||||
function dc(a){var b=a.C,d,c,f,e=b.ta>>13&7;"undefined"===typeof b.na[e]&&(b.na[e]={cache:[],postProcess:a.Vc,drive:e,blocksize:256,mapped:0,maxblock:b.cb[e]*b.Z[e],url:"rk"+e+".dsk"});b.S&=-129;switch(b.S>>1&7){case 0:b.Qb=2496;b.la=0;b.S=128;b.ta=0;break;case 1:if((b.ta>>4&511)>=b.cb[e]){b.la|=32832;b.S|=49152;break}if((b.ta&15)>=b.Z[e]){b.la|=32800;b.S|=49152;break}d=(b.ta>>4&511)*b.Z[e]+(b.ta&15);c=(b.S&48)<<12|b.Pb;f=65536-b.Rb&65535;ec(a,b.na[e],d,c,f);return;case 2:if((b.ta>>4&511)>=b.cb[e]){b.la|=
|
||||
32832;b.S|=49152;break}if((b.ta&15)>=b.Z[e]){b.la|=32800;b.S|=49152;break}d=(b.ta>>4&511)*b.Z[e]+(b.ta&15);c=(b.S&48)<<12|b.Pb;f=65536-b.Rb&65535;a.$b(b.na[e],d,c,f);return}b.Qb=e<<13|b.Qb&8176|b.ta%9&15;I(a.b,20,160,144,function(){b.S=b.S&65534|128;return!!(b.S&64)})}m.Vc=function(a,b,d,c,f){var e=this.C;e.Pb=c&65535;e.S=e.S&-49|c>>12&48;e.Rb=65536-f&65535;switch(a){case 1:e.la|=33024;e.S|=49152;break;case 2:e.la|=33792,e.S|=49152}I(this.b,20,160,144,function(){e.S=e.S&65534|128;return!!(e.S&64)})};
|
||||
function fc(a){var b=a.G,d,c,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.na[e]&&(b.na[e]={cache:[],postProcess:a.Wc,drive:e,blocksize:128,mapped:1,maxblock:b.cb[e]*b.Z[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.Ya&8&&(b.K&=63);b.Ya=b.Fc[e]|b.ab&64;break;case 3:1==(b.da&3)&&(b.ab=b.da&4?b.ab+(b.da&65408)&65408|b.da<<2&64:b.ab-(b.da&65408)&65408|b.da<<2&64,b.da=b.ab);break;case 4:b.Ya=b.ab;break;case 5:if(b.da>>6>=b.cb[e]){b.K|=37888;break}if((b.da&63)>=b.Z[e]){b.K|=37888;break}d=(b.da>>6)*b.Z[e]+
|
||||
(b.da&63);c=(b.Ua&63)<<16|b.Fb;f=65536-b.Ya&65535;ec(a,b.na[e],d,c,f);return;case 6:if(b.da>>6>=b.cb[e]){b.K|=37888;break}if((b.da&63)>=b.Z[e]){b.K|=37888;break}d=(b.da>>6)*b.Z[e]+(b.da&63);c=(b.Ua&63)<<16|b.Fb;f=65536-b.Ya&65535;a.$b(b.na[e],d,c,f);return}I(a.b,20,160,112,function(){b.K|=129;return!!(b.K&64)})}
|
||||
m.Wc=function(a,b,d,c,f){var e=this.G;e.Fb=c&65535;e.K=e.K&-49|c>>12&48;e.Ua=c>>16&63;e.da=~~(d/e.Z[b.La])<<6|d%e.Z[b.La];e.ab=e.da;e.Ya=65536-f&65535;switch(a){case 1:e.K|=33792;break;case 2:e.K|=40960}I(this.b,20,160,112,function(){e.K|=129;return!!(e.K&64)})};function gc(a){a=a.J;a.U=2176;a.Ba=0;a.pa=[4544,4544,4544,4544,4544,4544,4544,4544];a.ub=[0,0,0,0,0,0,0,0];a.kb=a.vb=a.tb=a.$a=a.ic=0}
|
||||
function hc(a,b){var d=a.J,c,f,e;d.U&=-16513;d.Ba&=-2049;d.pa[b]&=-1153;I(a.b,-1,0,172);"undefined"===typeof d.na[b]&&(d.na[b]={cache:[],postProcess:a.Xc,drive:b,blocksize:256,mapped:0,maxblock:d.cc[0]*d.bb[0]*d.Z[0],url:"rp"+b+".dsk"});switch(d.U&63){case 5:d.ac[b]=d.Pa[b];d.U|=32896;d.pa[b]|=32896;d.kb|=1<<b;break;case 9:gc(a);break;case 19:d.pa[b]|=64;break;case 49:if(d.Pa[b]>=d.cc[0]||d.Ca[b]>>8>=d.bb[0]||(d.Ca[b]&255)>=d.Z[0]){d.ub[b]|=1024;d.U|=49152;break}c=(d.Pa[b]*d.bb[0]+(d.Ca[b]>>8))*d.Z[0]+
|
||||
(d.Ca[b]&255);f=(d.$a&63)<<16|d.tb;e=65536-d.vb&65535;ec(a,d.na[b],c,f,e);return;case 57:if(d.Pa[b]>=d.cc[0]||d.Ca[b]>>8>=d.bb[0]||(d.Ca[b]&255)>=d.Z[0]){d.ub[b]|=1024;d.U|=49152;break}c=(d.Pa[b]*d.bb[0]+(d.Ca[b]>>8))*d.Z[0]+(d.Ca[b]&255);f=(d.$a&63)<<16|d.tb;e=65536-d.vb&65535;a.$b(d.na[b],c,f,e);return}I(a.b,3,160,172,function(){d.U=d.U&65534|128;d.pa[b]|=128;return!!(d.U&64)})}
|
||||
m.Xc=function(a,b,d,c,f){var e=this.J;e.vb=65536-f&65535;e.tb=c&65535;e.U=e.U&-769|c>>8&768;e.$a=c>>16&63;f=~~(d/e.Z[0]);c=~~(f/e.bb[0]);e.Ca[b.La]=f%e.bb[0]<<8|d%e.Z[0];e.ac[b.La]=e.Pa[b.La]=c;e.kb|=1<<b.La;d>=b.Sc-1&&(e.pa[b.La]|=1024);switch(a){case 1:e.Ba|=512;e.U|=49152;break;case 2:e.Ba|=2048,e.U|=49152}I(this.b,20,160,172,function(){e.pa[b.La]|=128;e.U=e.U&65534|128;return!!(e.U&64)})};m.Pc=function(){this.F.K|=128;this.F.K&64&&I(this.b,0,192,64)};
|
||||
function ic(a,b,d,c,f,e){var h=~~((e+d.Va-1)/d.Va),g=new XMLHttpRequest;2048>h&&c+2048<d.Sc&&(h=2048);g.open("GET",d.url,!0);g.setRequestHeader("Range","bytes="+(c*d.Va<<1)+"-"+(((c+h)*d.Va<<1)-1));g.responseType="arraybuffer";g.onreadystatechange=function(){if(4==g.readyState){var h=b.bind(a),l,n,p,q;l=g.response;if(0!=g.status&&206!=g.status||!l)d.Zb(1,d,c,f,e);else{l=new Uint8Array(l);n=c;for(q=0;q<l.length;){if("undefined"===typeof d.cache[n])for(d.cache[n]=[],p=0;p<d.Va;p++)d.cache[n][p]=q<l.length?
|
||||
l[q]&255|l[q+1]<<8&65280:0,q+=2;else q+=d.Va<<1;n++}h(d,c,f,e)}}};g.send(null)}function J(a,b,d,c,f){if(d&1){if(!f)return K(a.b,4,122);c=0<=c?c<<8&65280|b&255:b}else 0<=c?f&&(c=b&65280|c&255):c=b;return c}m.$b=function(a,b,d,c){for(var f;0<c;){if("undefined"===typeof a.cache[b]){ic(this,this.$b,a,b,d,c);return}for(f=0;f<a.Va&&0<c;f++){if(0>L(this.b,a.Rc?jc(this.b,d):d,a.cache[b][f])){a.Zb(2,a,b,d,c);return}d+=2;--c}b++}a.Zb(0,a,b,d,c)};
|
||||
function ec(a,b,d,c,f){for(var e,h;0<f;){if("undefined"===typeof b.cache[d])for(b.cache[d]=[],e=0;e<b.Va;e++)b.cache[d][e]=0;for(e=0;e<b.Va&&0<f;e++){h=M(a.b,b.Rc?jc(a.b,c):c);if(0>h){b.Zb(2,b,d,c,f);return}b.cache[d][e]=h;c+=2;--f}d++}b.Zb(0,b,d,c,f)}m.reset=function(){this.g.pb=this.g.pb&-120|20;this.N.Ia=0;this.N.qa=128;this.F.K=0;this.C.S=128;this.G.K=128;gc(this)};
|
||||
m.Ec=function(a,b,d){var c,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?c=e.Qa&65280:(a&1&&(b<<=8),e.Qa=b|255,c=0);break;case 4194298:if(0>b)c=e.Yb;else{a&1&&(b<<=8);if(c=b&65024){f=c>>9;do c+=34;while(f>>=1)}e.Yb=c;e.Oa=2}break;case 4194294:if(70!==e.gb)return K(e,4,222);0>b?c=e.L:c=e.L=0;break;case 4194292:if(70!==e.gb)return K(e,4,224);c=1;break;case 4194290:if(70!==e.gb)return K(e,4,226);c=0;break;case 4194288:if(70!==e.gb)return K(e,4,228);c=61183;break;case 4194296:0<=
|
||||
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.gb)return K(e,4,232);f=a-4194272>>1;0>b?c=e.fc[f]:(c=J(this,e.fc[f],a,b,d),0<=c&&(e.fc[f]=c));break;case 4194254:return a&1?e.M>>14&1?(0<=b&&(e.f[6]=b),c=e.f[6]):(0<=b&&(e.sa[3]=b),c=e.sa[3]):e.M>>14&0?(0<=b&&(e.f[6]=b),c=e.f[6]):(0<=b&&(e.sa[1]=b),c=e.sa[1]),c;case 4194252:case 4194250:case 4194248:return f=a&7,e.M&2048?(0<=b&&(e.f[f]=b),c=e.f[f]):(0<=b&&(e.Za[f]=
|
||||
b),c=e.Za[f]),c;case 4194246:return a&1?(0<=b&&(e.f[7]=b),c=e.f[7]):e.M>>14&0?(0<=b&&(e.f[6]=b),c=e.f[6]):(0<=b&&(e.sa[0]=b),c=e.sa[0]),c;case 4194244:case 4194242:case 4194240:return f=a&7,e.M&2048?(0<=b&&(e.Za[f]=b),c=e.Za[f]):(0<=b&&(e.f[f]=b),c=e.f[f]),c;default:return e.L|=16,K(e,4,124)}break;case 4194176:f=a>>1&31;c=J(this,e.ka[3][f],a,b,d);0<=c&&(e.ka[3][f]=c,e.ka[3][f&15]&=65295);break;case 4194112:var h=this.N;f=this.F;switch(a&-2){case 4194174:c=J(this,e.Ab,a,b,d);0<=c&&(e.Ab=c);break;case 4194172:c=
|
||||
e.Da;c&65280&&(c=(c<<8|c>>8)&65535);break;case 4194170:e.ca=e.ca&62337|e.Kb<<5|e.Xb<<1;0>b?c=e.ca:(c=J(this,e.ca,a,b,d),0<=c&&(e.ca=c&=62337,e.Kb=c>>5&3,e.Xb=c>>1&15,c&257?(f=2,e.Ra&16&&(f=1),e.Jb=c&1?nb|B:B):(e.Jb=0,f=4),this.g.pb=this.g.pb&-8|f));break;case 4194168:0>b?c=this.g.dd&65535:(c=J(this,this.g.data,a,b,d),0<=c&&(this.g.data=c));break;case 4194166:0<=b&&(b&127&&(h.Jc=0),h.qa&=-129,I(e,100,128,52,function(){h.qa|=128;return!!(h.qa&64)}));c=0;break;case 4194164:0>b?c=h.qa:(c=J(this,h.qa,
|
||||
a,b,d),0<=c&&(128==(h.qa&192)&&c&64&&I(e,8,128,52,function(){h.qa|=128;return!!(h.qa&64)}),h.qa=h.qa&128|c&-129));break;case 4194162:c=0;0>b&&(h.Ia&=-129,0<h.gc.length&&(c=h.gc.shift(),0<h.gc.length&&setTimeout(function(){h.Ia|=128;h.Ia&64&&I(e,40,128,48)},50)));break;case 4194160:0>b?c=h.Ia:(c=J(this,h.Ia,a,b,d),0<=c&&(h.Ia=h.Ia&128|c&-129));break;case 4194150:0>b?(c=f.K,f.K&=-129):(c=J(this,f.K,a,b,d),0<=c&&(c&64&&!f.Ib&&(setInterval(this.Pc.bind(this),25),f.Ib=1),f.K=c&-129));break;default:return e.L|=
|
||||
16,K(e,4,126)}break;case 4194048:f=this.C;switch(a&-2){case 4194048:c=J(this,f.Qb,a,b,d);0<=c&&(f.Qb=c);break;case 4194050:c=J(this,f.la,a,b,d);0<=c&&(f.la=c);break;case 4194052:c=J(this,f.S,a,b,d);0<=b&&0<=c&&(f.S=c&-36993|f.S&36992,f.S&1&&dc(this));break;case 4194054:c=J(this,f.Rb,a,b,d);0<=c&&(f.Rb=c);break;case 4194056:c=J(this,f.Pb,a,b,d);0<=c&&(f.Pb=c);break;case 4194058:c=J(this,f.ta,a,b,d);0<=c&&(f.ta=c);break;case 4194060:break;case 4194062:c=J(this,f.xc,a,b,d);0<=c&&(f.xc=c);break;default:return e.L|=
|
||||
16,K(e,4,128)}break;case 4193728:var g=this.J;f=g.Ba&7;switch(a&-2){case 4193728:c=J(this,g.U,a,b,d);0<=b&&0<=c&&(g.$a=g.$a&60|c>>8&3,g.U=c&17279|g.U&34944|2048,c&1&&g.U&128?hc(this,f):192==(c&192)&&I(e,0,160,172));break;case 4193730:c=J(this,g.vb,a,b,d);0<=c&&(g.vb=c);break;case 4193732:c=J(this,g.tb,a,b,d);0<=c&&(g.tb=c&65534);break;case 4193734:c=J(this,g.Ca[f],a,b,d);0<=c&&(g.Ca[f]=c&7967);break;case 4193736:c=J(this,g.Ba,a,b,d);0<=c&&(g.Ba=c&63|g.Ba&65472,c&128&&gc(this));break;case 4193738:c=
|
||||
g.pa[f];break;case 4193740:c=g.ub[f];break;case 4193742:c=J(this,g.kb,a,b,d);0<=c&&(g.kb=c&255);break;case 4193744:c=g.bd[f];break;case 4193746:c=J(this,g.yc,a,b,d);0<=c&&(g.yc=c);break;case 4193748:c=J(this,g.zc[f],a,b,d);0<=c&&(g.zc[f]=c&1023);break;case 4193750:c=8210;break;case 4193752:c=g.cd[f];break;case 4193754:c=J(this,g.Ac[f],a,b,d);0<=c&&(g.Ac[f]=c);break;case 4193756:c=J(this,g.Pa[f],a,b,d);0<=c&&(g.Pa[f]=c&511);break;case 4193758:g.ac[f]=g.Pa[f];c=g.ac[f];break;case 4193760:c=g.$c[f];
|
||||
break;case 4193762:c=g.ad[f];break;case 4193764:c=g.Yc[f];break;case 4193766:c=g.Zc[f];break;case 4193768:c=J(this,g.$a,a,b,d);0<=c&&(g.$a=c&63,g.U=g.U&-769|(c&3)<<8);break;case 4193770:c=J(this,g.ic,a,b,d);0<=c&&(g.ic=c);break;default:return e.L|=16,K(e,4,132)}break;case 4192512:f=this.G;switch(a&-2){case 4192512:c=J(this,f.K,a,b,d);0<=b&&0<=c&&(f.Ua=f.Ua&60|c>>4&3,f.K=f.K&-1023|c&1022,f.K&128||fc(this));break;case 4192514:c=J(this,f.Fb,a,b,d);0<=c&&(f.Fb=c&65534);break;case 4192516:c=J(this,f.da,
|
||||
a,b,d);0<=c&&(f.da=c);break;case 4192518:c=J(this,f.Ya,a,b,d);0<=c&&(f.Ya=c);break;case 4192520:c=J(this,f.Ua,a,b,d);0<=c&&(f.Ua=c&63,f.K=f.K&-49|(f.Ua&3)<<4);break;default:return e.L|=16,K(e,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?c=e.Ra:(c=J(this,e.Ra,a,b,d),0<=c&&(70!==e.gb&&(c&=-49),e.Ra=c,e.ib[0]=c&4?15:7,e.ib[1]=c&2?15:7,e.ib[3]=c&1?15:7,e.Jb&&(f=2,e.Ra&16&&(f=1),this.g.pb=this.g.pb&-8|f)));break;default:return e.L|=16,K(e,4,136)}break;case 4191424:f=a>>1&31;c=J(this,e.ka[0][f],
|
||||
a,b,d);0<=c&&(e.ka[0][f]=c,e.ka[0][f&15]&=65295);break;case 4191360:f=a>>1&31;c=J(this,e.ka[1][f],a,b,d);0<=c&&(e.ka[1][f]=c,e.ka[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.gb)return K(e,4,234);f=a>>2&31;c=e.Sb[f];a&2&&(c=c>>16);c&=65535;0<=b&&(c=J(this,c,a,b,d),0<=c&&(e.Sb[f]=a&2?c<<16|e.Sb[f]&65535:e.Sb[f]&4294901760|c&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)c=Pb[a>>1&255];else return e.L|=16,K(e,
|
||||
4,138);break;default:return e.L|=16,K(e,4,142)}d&&0<=c&&(a&1?c=c>>8:c&=255);"undefined"===typeof c&&console.log("panic(76)");return c};var Qb={};Qb[4194302]=[null,null,Ob.prototype.Uc,Ob.prototype.fd];Sa(function(){for(var a=x(document,"pdp11","device"),b=0;b<a.length;b++){var d=a[b],c=w(d),c=new Ob(c);gb(c,d)}});var kc;if(mb){var lc=new ArrayBuffer(2);(new DataView(lc)).setUint16(0,256,!0);kc=256===(new Uint16Array(lc))[0]}else kc=!1;var mc=kc;
|
||||
function E(a,b,d,c,f){this.id=nc+=2;this.b=null;this.D=a;this.Ub=b;this.size=d||0;this.type=c||oc;this.H=c==pc;this.controller=null;Eb(this);this.Wa=this.Lc=!1;if(d)if(f)this.controller=f,this.b=null,qc(this,f.Cb);else if(mb)this.G=new ArrayBuffer(d),this.J=new DataView(this.G,0,d),this.g=new Uint8Array(this.G,0,d),this.P=new Uint16Array(this.G,0,d>>1),this.b=new Int32Array(this.G,0,d>>2),qc(this,mc?rc:sc);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;qc(this,tc)}else qc(this)}
|
||||
var oc=0,pc=2,Kb=4,Mb=["NONE","RAM","ROM","VID","H/W"],nc=0;
|
||||
E.prototype={constructor:E,parent:null,Ib:function(a){this.D=a},save:function(){var a,b;if(this.controller)a=null;else if(mb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.J.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return null==a;if(a&&this.size==a.length<<2){var b;if(mb)for(b=0;b<a.length;b++)this.J.setInt32(b<<2,a[b],!0);else this.b=a;return this.Wa=!0}return!1},eb:function(a,b){b?0===this.F++&&uc(this,vc,!1):0===this.O++&&wc(this,vc,!1)},T:function(){this.I&&
|
||||
hb(this.I,129)&&this.I.message("attempt to read invalid block %"+r(this.D),!0);return 255},C:function(a,b){this.I&&hb(this.I,129)&&this.I.message("attempt to write "+r(b,4,!0)+" to invalid block %"+r(this.D),!0)},W:function(a,b){return this.sb(a++,b++)|this.sb(a,b)<<8},N:function(a,b,d){this.xb(a++,b&255,d++);this.xb(a,b>>8,d)},ba:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ra:function(a){var b=a>>2;a=(a&3)<<3;var d=this.b[b]>>a;return 24>a?d&65535:d&255|(this.b[b+1]&255)<<8},za:function(a,
|
||||
b){var d=a>>2,c=(a&3)<<3;this.b[d]=this.b[d]&~(255<<c)|b<<c;this.Wa=!0},Bb:function(a,b){var d=a>>2,c=(a&3)<<3;24>c?this.b[d]=this.b[d]&~(65535<<c)|b<<c:(this.b[d]=this.b[d]&16777215|b<<24,d++,this.b[d]=this.b[d]&-256|b>>8);this.Wa=!0},$:function(a,b){if(this.I&&null!=this.D){var d=this.I;xc(d,this.D+a,1,d.X)&&d.ma(!0)}return this.Ob(a,b)},ga:function(a,b){if(this.I&&null!=this.D){var d=this.I;xc(d,this.D+a,2,d.X)&&d.ma(!0)}return this.hc(a,b)},wa:function(a,b,d){if(this.I&&null!=this.D){var c=this.I;
|
||||
xc(c,this.D+a,1,c.J)&&c.ma(!0)}this.H?this.C(a,b,d):this.yb(a,b,d)},Ja:function(a,b,d){if(this.I&&null!=this.D){var c=this.I;xc(c,this.D+a,2,c.J)&&c.ma(!0)}this.H?this.C(a,b,d):this.lc(a,b,d)},X:function(a){return this.g[a]},aa:function(a){return this.g[a]},ea:function(a){return this.J.getUint16(a,!0)},ha:function(a){return a&1?this.g[a]|this.g[a+1]<<8:this.P[a>>1]},va:function(a,b){this.g[a]=b;this.Wa=!0},ya:function(a,b){this.g[a]=b;this.Wa=!0},Ea:function(a,b){this.J.setUint16(a,b,!0);this.Wa=
|
||||
!0},Sa:function(a,b){a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.P[a>>1]=b;this.Wa=!0}};function Eb(a,b,d){a.I=b;a.O=a.F=0;d&&((a.O=d.O)&&wc(a,vc,!1),(a.F=d.F)&&uc(a,vc,!1))}function yc(a,b){b?0===--a.F&&(a.xb=a.H?a.C:a.yb,a.Cc=a.H?a.N:a.lc):0===--a.O&&(a.sb=a.Ob,a.wc=a.hc)}function uc(a,b,d){d&&a.F||(a.xb=!a.H&&b[1]||a.C,a.Cc=!a.H&&b[3]||a.N);if(d||void 0===d)a.yb=b[1]||a.C,a.lc=b[3]||a.N}function wc(a,b,d){d&&a.O||(a.sb=b[0]||a.T,a.wc=b[2]||a.W);if(d||void 0===d)a.Ob=b[0]||a.T,a.hc=b[2]||a.W}
|
||||
function qc(a,b){b||(b=zc);wc(a,b,void 0);uc(a,b,void 0)}var zc=[],tc=[E.prototype.ba,E.prototype.za,E.prototype.ra,E.prototype.Bb],vc=[E.prototype.$,E.prototype.wa,E.prototype.ga,E.prototype.Ja];if(mb)var sc=[E.prototype.X,E.prototype.va,E.prototype.ea,E.prototype.Ea],rc=[E.prototype.aa,E.prototype.ya,E.prototype.ha,E.prototype.Sa];
|
||||
function Ac(a,b){u.call(this,"CPU",a,Ac,1);var d=a.multiplier||1;this.za=a.cycles||b;this.jb=d;this.ya=Math.round(this.za/1E4)/100;this.hb=this.ya*this.jb;this.A.ja=!1;this.A.kc=!1;this.A.Db=a.autoStart;this.A.sc=!1;this.A.ob=!1;this.Lb=this.$=0;this.Mb=a.csStart;this.qb=a.csInterval;this.rb=a.csStop;this.ra=[];this.Eb=this.lb.bind(this);y(this)}bb(Ac);var Bc=["power","reset"];m=Ac.prototype;
|
||||
m.Xa=function(a,b,d,c){this.F=a;this.H=b;this.I=c;for(b=0;b<Bc.length;b++)(d=this.O[Bc[b]])&&this.F.ua(null,Bc[b],d);this.ea=null;a=Cc(a,"autoStart");null!=a&&(this.A.Db="true"==a?!0:"false"==a?!1:!!a);y(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};m.Na=function(a,b){if(!b){if(a&&this.restore){Dc(this);if(!this.restore(a))return!1;Ec(this)}else this.reset();this.I?this.I.Ib():this.i("No debugger detected")}Fc(this);return!0};
|
||||
m.Ma=function(a){return a?this.save():!0};m.Db=function(){return this.A.Db||!this.I&&void 0===this.O.run?(this.lb(!0),!0):!1};m.uc=function(){return 0};function Ec(a){void 0===a.Mb&&(a.Mb=0);void 0===a.qb&&(a.qb=-1);void 0===a.rb&&(a.rb=-1);a.A.ob=0<=a.Mb&&0<a.qb;a.A.ob&&(a.Lb=0,a.$=a.Mb-a.X)}function Gc(a,b){if(a.A.ob){var d=!1;a.Lb=a.Lb+a.uc()|0;a.$-=b;0>=a.$&&(a.$+=a.qb,d=!0);0<=a.rb&&a.rb<=Hc(a)&&(a.qb=a.rb=-1,Ec(a),a.ma(),d=!0);d&&a.i(Hc(a)+" cycles: checksum="+r(a.Lb))}}
|
||||
function Ic(a,b,d,c){if(a.O[b]){void 0===d&&(lb(a,"Value for "+b+" is invalid"),a.ma());var f=a.I&&a.I.wa||8;d=!a.A.ja||a.A.sc?8==f?da(d,c):r(d,c):"--------".substr(0,c||4);a.O[b].textContent!=d&&(a.O[b].textContent=d)}}
|
||||
m.ua=function(a,b,d){var c=this;a=!1;switch(b){case "power":case "reset":this.O[b]=d;a=!0;break;case "run":this.O[b]=d;d.onclick=function(){var a;if(a=c.F)if(a=c.F,a.A.fa)a=!0;else{var b=null,d,g=eb(a.id);for(d=0;d<g.length&&(b=g[d],b===a||b.A.ready);d++);if(d==g.length)for(d=0;d<g.length&&(b=g[d],b===a||b.A.fa);d++);d==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Wb?" (waiting for notification)":""))+".");a=!1}a&&(c.A.ja?c.ma():c.lb())};
|
||||
a=!0;break;case "speed":this.O[b]=d;a=!0;break;case "setSpeed":this.O[b]=d,d.onclick=function(){Jc(c,c.jb<<1,!0)},d.textContent=this.hb.toFixed(2)+"Mhz",a=!0}return a};function Wc(a,b,d){a.X+=b;d&&(a.W=a.b=0)}function Xc(a,b){var d=1;b&&1<a.jb&&a.P&&(d=a.P/a.ya);a.mb=Math.round(1E3/30);a.wa=Math.floor(a.za/30*d);b||(a.aa=a.wa);a.Ea=0}function Hc(a){return a.X+a.N+a.W-a.b}function Dc(a){a.P=0;a.zb=0;a.X=a.N=a.W=a.b=0;Ec(a);Jc(a,1)}
|
||||
function Jc(a,b,d){var c=!1;if(void 0!==b){.8>a.P/a.hb?b=1:c=!0;a.jb=b;b=a.ya*a.jb;if(a.hb!=b){a.hb=b;b=a.hb.toFixed(2)+"Mhz";var f=a.O.setSpeed;f&&(f.textContent=b);a.i("target speed: "+b)}d&&a.F&&a.F.Tb()}Wc(a,a.N);a.N=0;a.J=sa();a.T=0;Xc(a);return c}function Yc(a){a.W-=a.b;a.b=0}
|
||||
m.lb=function(a){if(ib(this,!0)){if(!this.A.ja){Jc(this);this.F&&this.F.start(this.J,Hc(this));this.A.ja=!0;this.A.kc=!0;this.ea&&this.ea.start();var b=this.O.run;b&&(b.textContent="Halt");this.F&&(this.F.xa(!0),a&&this.F.Tb(!0))}this.Ea>=this.za&&Xc(this,!0);this.ga=0;this.va=sa();this.T&&(a=this.va-this.T,a>this.mb&&(this.J+=a,this.J>this.va&&(this.J=this.va)));try{do{for(var d,c=this.A.ob?1:this.wa,f=this.ra.length-1;0<=f;f--){var e=this.ra[f];0>e[0]||c>e[0]&&(c=e[0])}d=c;try{this.wb(d)}catch(l){if("number"!=
|
||||
typeof l)throw l;}var h=this.W-this.b;a=h;for(var g=this.ra.length-1;0<=g;g--){var k=this.ra[g];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.ga+=h;this.N+=h;Wc(this,0,!0);Gc(this,h);this.aa-=h;if(0>=this.aa){this.aa+=this.wa;15<=++this.zb&&(this.F&&this.F.xa(),this.zb=0);break}}while(this.A.ja)}catch(l){this.ma();Fc(this);this.F&&this.F.stop(sa(),Hc(this));ib(this,!1);lb(this,l.stack||l.message);return}d=setTimeout;c=this.Eb;this.T=sa();f=this.mb;this.ga&&(f=Math.round(f*this.ga/this.wa));f=f-
|
||||
(this.T-this.va);if(e=this.T-this.J)this.P=Math.round(this.N/(10*e))/100,864E5<=e&&(this.X=0,Jc(this));if(0>f||this.P<this.hb)-1E3>f&&(this.J-=f),f=0;this.Ea+=this.ga;this.T+=f;d(c,f)}else Fc(this),this.F&&this.F.stop(sa(),Hc(this))};m.wb=function(){return 0};m.ma=function(a){jb(this,!0);Yc(this);Wc(this,this.N);this.N=0;if(this.A.ja){this.A.ja=!1;this.ea&&this.ea.stop();var b=this.O.run;b&&(b.textContent="Run")}this.A.complete=a};function Fc(a,b){a.F&&a.F.xa(b)}
|
||||
function Zc(a){this.vc=+a.model||1170;this.Vb=a.resetAddr||0;Ac.call(this,a,1E6);this.Ja=0;this.decode=$c.bind(this);this.B=65536;this.u=32768;this.w=65535;this.j=32768;this.g=-1;this.f=[0,0,0,0,0,0,0,this.Vb];this.Za=[0,0,0,0,0,0];this.sa=[0,0,0,0];this.memory=[];this.C=[];this.ha=this.Yb=0;this.Oa=2;this.Qa=255;this.V=0;this.ba=-1;this.L=0;this.gb=70;this.Xb=this.Kb=this.Jb=this.G=this.Ra=this.Ab=this.Da=this.ca=0;this.ib=[7,7,7,7];this.ka=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Sb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.fc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.A.complete=this.A.Ic=!1}bb(Zc,Ac);m=Zc.prototype;
|
||||
m.reset=function(){this.A.ja&&this.ma();ad(this);Dc(this);this.A.error=!1;this.parent.reset.call(this)};function ad(a){a.Qa=255;a.L=0;a.C=[];a.Yb=0;a.ca=a.Da=a.Ab=a.Ra=a.Jb=0;a.ib[0]=a.ib[1]=a.ib[3]=7;a.Kb=0}m.uc=function(){return 0};
|
||||
m.save=function(){var a=new bd(this);N(a,0,[]);N(a,1,[this.Sa,this.X,this.jb]);for(var b=this.H,d=0,c=[],f=0;f<b.C;f++){var e=b.R[f];if(e.Wa||e.Lc){c[d++]=f;var h=d++;a:if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;l[k++]=p-g;l[k++]=n;g=p}if(l.length<e.length){e=l;break a}}c[h]=e}}N(a,2,c);return a.data()};
|
||||
m.restore=function(a){var b=a[1];this.Sa=b[0];this.X=b[1];Jc(this,b[3]);a:{b=this.H;a=a[2];var d;for(d=0;d<a.length-1;d+=2){var c=a[d],f=a[d+1];if(f&&f.length<b.T){for(var e=0,h=Array(b.T),g=0;g<f.length-1;)for(var k=f[g++],l=f[g++];k--;)h[e++]=l;f=h}e=b.R[c];if(!e||!e.restore(f)){t("Unable to restore memory block "+c);b=!1;break a}}b=!0}return b};
|
||||
m.ua=function(a,b,d){var c=!1;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.O[b]=d;this.Ja++;c=!0;break;default:c=this.parent.ua.call(this,a,b,d)}return c};
|
||||
m.xa=function(a){if(this.Ja&&(a||!this.A.ja||this.A.sc)){for(a=0;a<this.f.length;a++)Ic(this,"R"+a,this.f[a]);a=Rb(this);Ic(this,"PS",a);Ic(this,"NF",a&8?1:0,1);Ic(this,"ZF",a&4?1:0,1);Ic(this,"VF",a&2?1:0,1);Ic(this,"CF",a&1?1:0,1)}if(a=this.O.speed)a.textContent=this.A.ja&&this.P?this.P.toFixed(2)+"Mhz":"Stopped"};
|
||||
function I(a,b,d,c,f){for(var e=a.C.length;0<e--;)if(a.C[e].ed===c){0<e&&(a.C[e-1].Fa+=a.C[e].Fa);a.C.splice(e,1);break}if(0<=b){2===a.ha&&(b=0,a.ha=0,setTimeout(a.Eb,0));for(e=a.C.length;0<e--;){if(a.C[e].Fa>b){a.C[e].Fa-=b;break}b-=a.C[e].Fa}a.C.splice(e+1,0,{delay:b,priority:d&224,vector:c,callback:f})}a.Oa=2}function Rb(a){return a.M=a.M&63728|(a.j&32768?8:0)|(a.w&65535?0:4)|(a.u&32768?2:0)|(a.B&65536?1:0)}
|
||||
function cc(a,b){a.j=b<<12;a.w=~b&4;a.u=b<<14;a.B=b<<16;if((b^a.M)&2048)for(var d=a.Za.length;0<=--d;){var c=a.f[d];a.f[d]=a.Za[d];a.Za[d]=c}a.G=b>>14&3;d=a.M>>14&3;a.G!=d&&(a.sa[d]=a.f[6],a.f[6]=a.sa[a.G]);a.Oa=2;a.M=b}function cd(a,b){a.V&128||(a.j=a.w=a.B=b,a.u=0)}function dd(a,b){a.V&128||(a.j=a.w=b,a.u=0)}function ed(a,b,d,c){a.V&128||(a.j=a.w=a.B=b,a.u=(d^c)&(c^b))}
|
||||
function K(a,b,d){var c,f,e=0;0>a.ba?a.ba=Rb(a):a.G||(b=4,e=1);a.ca&57344||(a.Da=63222,a.Ab=b);a.G=0;0<=(c=O(a,b|65536))&&0<=(f=O(a,b+2&65535|65536))&&(cc(a,f&53247|a.ba>>2&12288),e&&(a.L|=4,a.f[6]=4),0<=fd(a,a.ba)&&0<=fd(a,a.f[7])&&(a.f[7]=c));a.V&=-113;a.ba=-1;throw b|d<<8;}function jc(a,b){var d=b>>13&31;31>d?a.Ra&32&&(b=a.Sb[d]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function gd(a,b,d){var c,f,e,h=0;if(d&a.Jb){c=b>>13&a.ib[a.G];f=a.ka[a.G][c];e=(a.ka[a.G][c+16]<<6)+(b&8191)&4194303;a.Ra&16?3932160<=e&&4186112>e&&(e=jc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.L|=32,K(a,4,24)),e&1&&!(d&1)&&(a.L|=64,K(a,4,26)));switch(f&7){case 1:h=4096;case 2:f|=128;d&B&&(h=8192);break;case 4:h=4096;case 5:d&B&&(h=4096);case 6:f|=d&B?192:128;break;default:h=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(h|=16384):(b&8128)>(f>>2&
|
||||
8128)&&(h|=16384));a.ka[a.G][c]=f;if(4194170!==e||a.G)a.Kb=a.G,a.Xb=c;h&&(h&57344&&(0<=a.ba&&(h|=128),a.ca&57344||(a.ca=a.ca|h|a.Kb<<5|a.Xb<<1),K(a,168,28)),a.ca&61440||!(4191360>e||4194239<e)||(a.ca|=4096,a.ca&512&&(a.V|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(d&1)&&(a.L|=64,K(a,4,22));return e}function M(a,b){return 4194304<=b?a.f[b-4194304]:0<=b?a.H.Ha(b):b}function L(a,b,d){d&=65535;return 4194304<=b?a.f[b-4194304]=d:0<=b?(a.H.jc(b,d),d):b}
|
||||
function P(a,b){return 4194304<=b?a.f[b-4194304]&255:0<=b?a.H.Hb(b):b}function Q(a,b,d){d&=255;return 4194304<=b?a.f[b-4194304]=a.f[b-4194304]&65280|d:0<=b?(a.H.bc(b,d),d):b}function O(a,b){return M(a,gd(a,b,nb))}function hd(a){var b=O(a,a.f[6]|65536);0<=b&&(a.f[6]=a.f[6]+2&65535);return b}function fd(a,b){var d,c;a.f[6]=c=a.f[6]-2&65535;a.ca&57344||(a.Da=a.Da<<8|246);!a.G&&c<=a.Qa&&4<c&&(c<=a.Qa-32?(a.L|=4,a.f[6]=4,K(a,4,32)):(a.L|=8,a.V|=4));return 0<=(d=gd(a,c|65536,B))?L(a,d,b):d}
|
||||
function id(a,b,d){var c,f,e=b&7;switch(b>>3&7){case 0:K(a,4,34);break;case 1:return 6===e&&!a.G&&d&B&&(a.f[6]<=a.Qa||65534<=a.f[6])&&(a.f[6]<=a.Qa-32||65534<=a.f[6]?(a.L|=4,a.f[6]=4,K(a,4,36)):(a.L|=8,a.V|=64)),7===e?a.f[e]:a.f[e]|65536;case 2:f=2;c=a.f[e];7!==e&&(c|=65536,6>e&&d&1&&(f=1));break;case 3:f=2;c=a.f[e];7!==e&&(c|=65536);if(0>(c=O(a,c)))return c;c|=65536;break;case 4:f=-2;6>e&&d&1&&(f=-1);c=a.f[e]+f&65535;7!==e&&(c|=65536);break;case 5:f=-2;c=a.f[e]-2&65535;7!==e&&(c|=65536);if(0>(c=
|
||||
O(a,c)))return c;c|=65536;break;case 6:if(0>(c=O(a,a.f[7])))return c;a.f[7]=a.f[7]+2&65535;c=c+a.f[e]&65535;return c|65536;case 7:if(0>(c=O(a,a.f[7])))return c;a.f[7]=a.f[7]+2&65535;c=c+a.f[e]&65535;return 0>(c=O(a,c|65536))?c:c|65536}a.f[e]=a.f[e]+f&65535;a.ca&57344||(a.Da=a.Da<<8|f<<3&248|e);6===e&&!a.G&&d&B&&0>=f&&(a.f[6]<=a.Qa||65534<=a.f[6])&&(a.f[6]<=a.Qa-32?(a.L|=4,a.f[6]=4,K(a,4,38)):(a.L|=8,a.V|=64));return c}function R(a,b,d){b&56?(b=id(a,b,d),a=gd(a,b,d)):a=4194304+(b&7);return a}
|
||||
function S(a,b){var d;b&56?(d=R(a,b,nb),d=M(a,d)):d=a.f[b&7];return d}function U(a,b){var d;b&56?(d=R(a,b,yb),d=P(a,d)):d=a.f[b&7]&255;return d}function jd(a,b,d,c){b&56?(b=R(a,b,C),L(a,b,c.call(a,d,M(a,b)))):(b&=7,a.f[b]=c.call(a,d,a.f[b])&65535)}function kd(a,b,d,c){b&56?(b=R(a,b,D),Q(a,b,c.call(a,d,P(a,b)))):(b&=7,a.f[b]=a.f[b]&65280|c.call(a,d,a.f[b])&255)}function ld(a,b,d){b&56?L(a,R(a,b,B),d):a.f[b&7]=d&65535;return d}
|
||||
function md(a,b,d,c){b&56?Q(a,R(a,b,zb),d):(b&=7,a.f[b]=c?c&1?a.f[b]&-256:d<<24>>24&65535:a.f[b]&-256|d&255);return d}function V(a,b){return((b&128?b|65280:b&255)<<1)+a&65535}
|
||||
m.wb=function(a){this.A.complete=!0;var b=this.A.Ic=this.I&&nd(this.I),d=a?this.A.kc?0:1:-1;this.A.kc=!1;this.W=this.b=a;this.Sa&256?(Yc(this),a=!1):a=!0;if(a){do{if(b){if(od(this.I,this.f[7],d)){this.ma();break}d=1}var c,f,e,h,g;this.V&112&&(this.V&32?K(this,168,52):this.V&64?K(this,4,54):this.V&16&&K(this,12,56),this.V&=-113);if(this.Oa)if(1===this.Oa)this.Oa=2;else{this.Oa=0;g=-1;c=this.Yb&224;if(0<(a=this.C.length))for(;0<a--;){if(0<this.C[a].Fa){this.C[a].Fa--;this.Oa=2;break}if(this.C[a].pc){if(!this.C[a].pc()){this.C.splice(a,
|
||||
1);g--;continue}this.C[a].pc=null}this.C[a].Tc>c&&(c=this.C[a].Tc,g=a)}c>(this.M&224)&&(0>g?K(this,160,42):(K(this,this.C[g].ed,44),this.C.splice(g,1)))}this.ca&57344||(this.Da=0,this.Ab=this.f[7]);this.V=this.M&16;this.g=a=O(this,this.f[7]);0<=a&&(this.f[7]=this.f[7]+2&65535);this.decode(a);if(0>this.g)switch(a&61440){case 4096:0<=(c=S(this,a>>6))&&(a&56?0<=(e=R(this,a,B))&&0<=L(this,e,c)&&(this.j=this.w=c,this.u=0):(this.j=this.w=this.f[a&7]=c,this.u=0));break;case 8192:0<=(c=S(this,a>>6))&&0<=
|
||||
(f=S(this,a))&&(this.j=this.w=this.B=a=c-f,this.u=(c^f)&(c^a));break;case 12288:0<=(c=S(this,a>>6))&&0<=(f=S(this,a))&&(this.j=this.w=c&f,this.u=0);break;case 16384:0<=(c=S(this,a>>6))&&(a&56?0<=(f=M(this,e=R(this,a,C)))&&(a=f&~c,0<=L(this,e,a)&&(this.j=this.w=a,this.u=0)):(this.j=this.w=a=this.f[a&7]&=~c,this.u=0));break;case 20480:0<=(c=S(this,a>>6))&&(a&56?0<=(f=M(this,e=R(this,a,C)))&&(a=f|c,0<=L(this,e,a)&&(this.j=this.w=a,this.u=0)):(this.j=this.w=a=this.f[a&7]|=c,this.u=0));break;case 24576:0<=
|
||||
(c=S(this,a>>6))&&(a&56?0<=(f=M(this,e=R(this,a,C)))&&(a=c+f,0<=L(this,e,a)&&(this.j=this.w=this.B=a,this.u=(c^a)&(f^a))):(g=a&7,f=this.f[g],this.f[g]=(a=c+f)&65535,this.j=this.w=this.B=a,this.u=(c^a)&(f^a)));break;case 36864:0<=(c=U(this,a>>6))&&(a&56?0<=(e=R(this,a,zb))&&0<=Q(this,e,c)&&(this.j=this.w=c<<8,this.u=0):(c&128&&(c|=65280),this.j=this.w=this.f[a&7]=c,this.u=0));break;case 40960:0<=(c=U(this,a>>6))&&0<=(f=U(this,a))&&(a=c-f,this.j=this.w=this.B=a<<8,this.u=((c^f)&(c^a))<<8);break;case 45056:0<=
|
||||
(c=U(this,a>>6))&&0<=(f=U(this,a))&&(this.j=this.w=(c&f)<<8,this.u=0);break;case 49152:0<=(c=U(this,a>>6))&&0<=(f=P(this,e=R(this,a,D)))&&(a=f&~c,0<=Q(this,e,a)&&(this.j=this.w=a<<8,this.u=0));break;case 53248:0<=(c=U(this,a>>6))&&0<=(f=P(this,e=R(this,a,D)))&&(a=f|c,0<=Q(this,e,a)&&(this.j=this.w=a<<8,this.u=0));break;case 57344:0<=(c=S(this,a>>6))&&(a&56?0<=(f=M(this,e=R(this,a,C)))&&(a=f-c,0<=L(this,e,a)&&(this.j=this.w=this.B=a,this.u=(c^f)&(f^a))):(g=a&7,f=this.f[g],this.f[g]=(a=f-c)&65535,this.j=
|
||||
this.w=this.B=a,this.u=(c^f)&(f^a)));break;default:switch(a&65024){case 2048:0<=(h=id(this,a,0))&&(g=a>>6&7,0<=fd(this,this.f[g])&&(this.f[g]=this.f[7],this.f[7]=h&65535));break;case 28672:0<=(c=S(this,a))&&(g=a>>6&7,c&32768&&(c|=-65536),f=this.f[g],f&32768&&(f|=-65536),a=~~(c*f),this.f[g]=a>>16&65535,this.f[g|1]=a&65535,this.j=a>>16,this.w=this.j|a,this.B=this.u=0,-32768>a||32767<a)&&(this.B=65536);break;case 29184:0<=(c=S(this,a))&&(c?(g=a>>6&7,f=this.f[g]<<16|this.f[g|1],this.B=this.u=0,c&32768&&
|
||||
(c|=-65536),a=~~(f/c),-32768<=a&&32767>=a?(this.f[g]=a&65535,this.f[g|1]=f-a*c&65535,this.w=a>>16|a,this.j=a>>16):(this.u=32768,this.w=a>>15|a,this.j=f>>16,-1===c&&65534===this.f[g]&&(this.f[g]=this.f[g|1]=1))):(this.w=this.j=0,this.u=32768,this.B=65536));break;case 29696:0<=(c=S(this,a))&&(g=a>>6&7,a=this.f[g],a&32768&&(a|=4294901760),this.B=this.u=0,c&=63,c&32?(c=64-c,16<c&&(c=16),this.B=a<<17-c,a=a>>c):c&&(16<c?(this.u=a,a=0):(this.B=a=a<<c,(f=a>>15&65535)&&65535!==f&&(this.u=32768))),this.f[g]=
|
||||
a&65535,this.j=this.w=a);break;case 30208:if(0<=(c=S(this,a))){g=a>>6&7;f=this.f[g]<<16|this.f[g|1];this.B=this.u=0;c&=63;if(c&32)c=64-c,32<c&&(c=32),a=f>>c-1,this.B=a<<16,a>>=1,f&2147483648&&(a|=4294967295<<32-c);else if(c){if(a=f<<c-1,this.B=a>>15,a<<=1,32<c&&(c=32),f>>=32-c)f|=4294967295<<c&4294967295,4294967295!==f&&(this.u=32768)}else a=f;this.f[g]=a>>16&65535;this.f[g|1]=a&65535;this.j=a>>16;this.w=a>>16|a}break;case 30720:a&56?0<=(f=M(this,e=R(this,a,C)))&&(f^=this.f[a>>6&7],0<=L(this,e,f)&&
|
||||
(this.j=this.w=f,this.u=0)):(this.j=this.w=f=this.f[a&7]^=this.f[a>>6&7],this.u=0);break;case 32256:g=a>>6&7;if(this.f[g]=this.f[g]-1&65535)this.f[7]=this.f[7]-((a&63)<<1)&65535;break;default:switch(a&65280){case 256:this.f[7]=V(this.f[7],a);break;case 512:this.w&65535&&(this.f[7]=V(this.f[7],a));break;case 768:this.w&65535||(this.f[7]=V(this.f[7],a));break;case 1024:(this.j&32768)===(this.u&32768)&&(this.f[7]=V(this.f[7],a));break;case 1280:(this.j&32768)!==(this.u&32768)&&(this.f[7]=V(this.f[7],
|
||||
a));break;case 1536:this.w&65535&&(this.j&32768)===(this.u&32768)&&(this.f[7]=V(this.f[7],a));break;case 1792:this.w&65535&&(this.j&32768)===(this.u&32768)||(this.f[7]=V(this.f[7],a));break;case 32768:this.j&32768||(this.f[7]=V(this.f[7],a));break;case 33280:!(this.B&65536)&&this.w&65535&&(this.f[7]=V(this.f[7],a));break;case 33024:this.j&32768&&(this.f[7]=V(this.f[7],a));break;case 33536:if(this.B&65536||!(this.w&65535))this.f[7]=V(this.f[7],a);break;case 33792:this.u&32768||(this.f[7]=V(this.f[7],
|
||||
a));break;case 34048:this.u&32768&&(this.f[7]=V(this.f[7],a));break;case 34304:this.B&65536||(this.f[7]=V(this.f[7],a));break;case 34560:this.B&65536&&(this.f[7]=V(this.f[7],a));break;case 34816:K(this,24,2);break;case 35072:K(this,28,4);break;default:switch(a&65472){case 64:0<=(h=id(this,a,0))&&(this.f[7]=h&65535);break;case 192:a&56?0<=(f=M(this,e=R(this,a,C)))&&(a=f<<8|f>>8,0<=L(this,e,a)&&(this.j=this.w=f&65280,this.u=this.B=0)):(g=a&7,f=this.f[g],this.f[g]=(f<<8|f>>8)&65535,this.j=this.w=f&65280,
|
||||
this.u=this.B=0);break;case 2560:a&56?0<=(e=R(this,a,B))&&0<=L(this,e,0)&&(this.j=this.B=this.u=this.w=0):this.j=this.B=this.u=this.w=this.f[a&7]=0;break;case 2624:0<=(f=M(this,e=R(this,a,C)))&&(a=~f,0<=L(this,e,a)&&(this.j=this.w=a,this.B=65536,this.u=0));break;case 2688:a&56?0<=(f=M(this,e=R(this,a,C)))&&(a=f+1,0<=L(this,e,a)&&(this.j=this.w=a,this.u=a&(a^f))):(g=a&7,f=this.f[g],a=f+1,this.f[g]=a&65535,this.j=this.w=a,this.u=a&(a^f));break;case 2752:a&56?0<=(f=M(this,e=R(this,a,C)))&&(a=f-1,0<=
|
||||
L(this,e,a)&&(this.j=this.w=a,this.u=(a^f)&f)):(g=a&7,f=this.f[g],a=f-1,this.f[g]=a&65535,this.j=this.w=a,this.u=(a^f)&f);break;case 2816:0<=(f=M(this,e=R(this,a,C)))&&(a=-f,0<=L(this,e,a)&&(this.B=this.j=this.w=a,this.u=a&f));break;case 2880:0<=(f=M(this,e=R(this,a,C)))&&(a=f+(this.B>>16&1),0<=L(this,e,a)&&(this.B=this.j=this.w=a,this.u=a&(a^f)));break;case 2944:0<=(f=M(this,e=R(this,a,C)))&&(a=f-(this.B>>16&1),0<=L(this,e,a)&&(this.B=this.j=this.w=a,this.u=(a^f)&f));break;case 3008:0<=(f=S(this,
|
||||
a))&&(this.j=this.w=f,this.B=this.u=0);break;case 3072:a&56?0<=(f=M(this,e=R(this,a,C)))&&(a=(this.B&65536|f)>>1,0<=L(this,e,a)&&(this.B=f<<16,this.j=this.w=a,this.u=a^this.B>>1)):(g=a&7,f=this.f[g],a=(this.B&65536|f)>>1,this.f[g]=a&65535,this.B=f<<16,this.j=this.w=a,this.u=a^this.B>>1);break;case 3136:a&56?0<=(f=M(this,e=R(this,a,C)))&&(a=f<<1|this.B>>16&1,0<=L(this,e,a)&&(this.B=this.j=this.w=a,this.u=a^f)):(g=a&7,f=this.f[g],a=f<<1|this.B>>16&1,this.f[g]=a&65535,this.B=this.j=this.w=a,this.u=a^
|
||||
f);break;case 3200:a&56?0<=(f=M(this,e=R(this,a,C)))&&(a=f&32768|f>>1,0<=L(this,e,a)&&(this.B=f<<16,this.j=this.w=a,this.u=this.j^this.B>>1)):(g=a&7,f=this.f[g],a=f&32768|f>>1,this.f[g]=a&65535,this.B=f<<16,this.j=this.w=a,this.u=this.j^this.B>>1);break;case 3264:a&56?0<=(f=M(this,e=R(this,a,C)))&&(a=f<<1,0<=L(this,e,a)&&(this.B=this.j=this.w=a,this.u=a^f)):(g=a&7,f=this.f[g],a=f<<1,this.f[g]=a&65535,this.B=this.j=this.w=a,this.u=a^f);break;case 3328:h=this.f[7]+((a&63)<<1)&65535;0<=(c=O(this,h|65536))&&
|
||||
(this.f[7]=this.f[5],this.f[5]=c,this.f[6]=h+2&65535);break;case 3392:a&56?0<=(h=id(this,a,0))&&(61440!==(this.M&61440)&&(h&=65535),this.G=this.M>>12&3,0<=(c=O(this,h))&&(this.G=this.M>>14&3,0<=fd(this,c)&&(this.j=this.w=c,this.u=0))):(g=a&7,c=6!==g||(this.M>>2&12288)===(this.M&12288)?this.f[g]:this.sa[this.M>>12&3],0<=fd(this,c)&&(this.j=this.w=c,this.u=0));break;case 3456:0<=(f=hd(this))&&((this.ca&57344||(this.Da=22),a&56)?0<=(h=id(this,a,0))&&(h&=65535,this.G=this.M>>12&3,0<=(e=gd(this,h,B))&&
|
||||
(this.G=this.M>>14&3,0<=L(this,e,f)&&(this.j=this.w=f,this.u=0))):(g=a&7,6!==g||(this.M>>2&12288)===(this.M&12288)?this.f[g]=f:this.sa[this.M>>12&3]=f,this.j=this.w=f,this.u=0));break;case 3520:0<=(e=R(this,a,B))&&(a=-(this.j>>15&1),0<=L(this,e,a)&&(this.w=a,this.u=0));break;case 35328:a&56?0<=(e=R(this,a,zb))&&0<=Q(this,e,0)&&(this.j=this.B=this.u=this.w=0):(this.f[a&7]&=65280,this.j=this.B=this.u=this.w=0);break;case 35392:0<=(f=P(this,e=R(this,a,D)))&&(a=~f,0<=Q(this,e,a)&&(this.j=this.w=a<<8,
|
||||
this.B=65536,this.u=0));break;case 35456:0<=(f=P(this,e=R(this,a,D)))&&(a=f+1,0<=Q(this,e,a)&&(this.j=this.w=a<<8,this.u=(a&(a^f))<<8));break;case 35520:0<=(f=P(this,e=R(this,a,D)))&&(a=f-1,0<=Q(this,e,a)&&(this.j=this.w=a<<8,this.u=((a^f)&f)<<8));break;case 35584:0<=(f=P(this,e=R(this,a,D)))&&(a=-f,0<=Q(this,e,a)&&(this.B=this.j=this.w=a<<8,this.u=(a&f)<<8));break;case 35648:0<=(f=P(this,e=R(this,a,D)))&&(a=f+(this.B>>16&1),0<=Q(this,e,a)&&(this.j=this.w=this.B=a<<8,this.u=(a&(a^f))<<8));break;case 35712:0<=
|
||||
(f=P(this,e=R(this,a,D)))&&(a=f-(this.B>>16&1),0<=Q(this,e,a)&&(this.j=this.w=this.B=a<<8,this.u=((a^f)&f)<<8));break;case 35776:0<=(f=U(this,a))&&(this.j=this.w=f<<8,this.B=this.u=0);break;case 35840:0<=(f=P(this,e=R(this,a,D)))&&(a=((this.B&65536)>>8|f)>>1,0<=Q(this,e,a)&&(this.B=f<<16,this.j=this.w=a<<8,this.u=this.j^this.B>>1));break;case 35904:0<=(f=P(this,e=R(this,a,D)))&&(a=f<<1|this.B>>16&1,0<=Q(this,e,a)&&(this.B=this.j=this.w=a<<8,this.u=(a^f)<<8));break;case 35968:0<=(f=P(this,e=R(this,
|
||||
a,D)))&&(a=f&128|f>>1,0<=Q(this,e,a)&&(this.B=f<<16,this.j=this.w=a<<8,this.u=this.j^this.B>>1));break;case 36032:0<=(f=P(this,e=R(this,a,D)))&&(a=f<<1,0<=Q(this,e,a)&&(this.B=this.j=this.w=a<<8,this.u=(a^f)<<8));break;case 36160:a&56?0<=(h=id(this,a,0))&&(this.G=this.M>>12&3,0<=(c=O(this,h|65536))&&(this.G=this.M>>14&3,0<=fd(this,c)&&(this.j=this.w=c,this.u=0))):(g=a&7,c=6!==g||(this.M>>2&12288)===(this.M&12288)?this.f[g]:this.sa[this.M>>12&3],0<=fd(this,c)&&(this.j=this.w=c,this.u=0));break;case 36224:0<=
|
||||
(f=hd(this))&&((this.ca&57344||(this.Da=22),a&56)?0<=(h=id(this,a,0))&&(this.G=this.M>>12&3,0<=(e=gd(this,h|65536,B))&&(this.G=this.M>>14&3,0<=L(this,e,f)&&(this.j=this.w=f,this.u=0))):(g=a&7,6!==g||(this.M>>2&12288)===(this.M&12288)?this.f[g]=f:this.sa[this.M>>12&3]=f,this.j=this.w=f,this.u=0));break;default:switch(a&65528){case 128:0<=(c=hd(this))&&(g=a&7,this.f[7]=this.f[g],this.f[g]=c);break;case 152:this.M&49152||(this.M=this.M&63519|(a&7)<<5,this.Oa=1);break;case 160:case 168:a&1&&(this.B=0);
|
||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];m=Mb.prototype;
|
||||
m.Xa=function(a,b,d,c){this.H=b;this.b=d;this.I=c;a=Zb;for(var e in a){var f=a[e];d=b;c=+e;for(var h=f[0]?f[0].bind(this):null,g=f[1]?f[1].bind(this):null,k=f[2]?f[2].bind(this):null,f=f[3]?f[3].bind(this):null,l=+e;l<=c;l+=2){var n=l&8191;void 0!==d.Ta[n]?t("I/O address already registered: "+r(d.P+n,8,!0)):d.Ta[n]=[h,g,k,f,!1]}}e=this.Dc.bind(this);b.J=this.reset.bind(this);b.Gb=e;A(this)};m.Uc=function(){return $b(this.b)};m.fd=function(a){ac(this.b,a&-1809|$b(this.b)&1808);this.b.V|=128};
|
||||
function bc(a){var b=a.C,d,c,e,f=b.ta>>13&7;"undefined"===typeof b.na[f]&&(b.na[f]={cache:[],postProcess:a.Vc,drive:f,blocksize:256,mapped:0,maxblock:b.cb[f]*b.Z[f],url:"rk"+f+".dsk"});b.S&=-129;switch(b.S>>1&7){case 0:b.Qb=2496;b.la=0;b.S=128;b.ta=0;break;case 1:if((b.ta>>4&511)>=b.cb[f]){b.la|=32832;b.S|=49152;break}if((b.ta&15)>=b.Z[f]){b.la|=32800;b.S|=49152;break}d=(b.ta>>4&511)*b.Z[f]+(b.ta&15);c=(b.S&48)<<12|b.Pb;e=65536-b.Rb&65535;cc(a,b.na[f],d,c,e);return;case 2:if((b.ta>>4&511)>=b.cb[f])b.la|=
|
||||
32832,b.S|=49152;else if((b.ta&15)>=b.Z[f])b.la|=32800,b.S|=49152;else{d=(b.ta>>4&511)*b.Z[f]+(b.ta&15);c=(b.S&48)<<12|b.Pb;e=65536-b.Rb&65535;a.$b(b.na[f],d,c,e);return}}b.Qb=f<<13|b.Qb&8176|b.ta%9&15;I(a.b,20,160,144,function(){b.S=b.S&65534|128;return!!(b.S&64)})}m.Vc=function(a,b,d,c,e){var f=this.C;f.Pb=c&65535;f.S=f.S&-49|c>>12&48;f.Rb=65536-e&65535;switch(a){case 1:f.la|=33024;f.S|=49152;break;case 2:f.la|=33792,f.S|=49152}I(this.b,20,160,144,function(){f.S=f.S&65534|128;return!!(f.S&64)})};
|
||||
function dc(a){var b=a.G,d,c,e,f=b.K>>8&3;b.K&=-2;"undefined"===typeof b.na[f]&&(b.na[f]={cache:[],postProcess:a.Wc,drive:f,blocksize:128,mapped:1,maxblock:b.cb[f]*b.Z[f],url:"rl"+f+".dsk"});switch(b.K>>1&7){case 2:b.Ya&8&&(b.K&=63);b.Ya=b.Ec[f]|b.ab&64;break;case 3:1==(b.da&3)&&(b.ab=b.da&4?b.ab+(b.da&65408)&65408|b.da<<2&64:b.ab-(b.da&65408)&65408|b.da<<2&64,b.da=b.ab);break;case 4:b.Ya=b.ab;break;case 5:if(b.da>>6>=b.cb[f]){b.K|=37888;break}if((b.da&63)>=b.Z[f]){b.K|=37888;break}d=(b.da>>6)*b.Z[f]+
|
||||
(b.da&63);c=(b.Ua&63)<<16|b.Fb;e=65536-b.Ya&65535;cc(a,b.na[f],d,c,e);return;case 6:if(b.da>>6>=b.cb[f])b.K|=37888;else if((b.da&63)>=b.Z[f])b.K|=37888;else{d=(b.da>>6)*b.Z[f]+(b.da&63);c=(b.Ua&63)<<16|b.Fb;e=65536-b.Ya&65535;a.$b(b.na[f],d,c,e);return}}I(a.b,20,160,112,function(){b.K|=129;return!!(b.K&64)})}
|
||||
m.Wc=function(a,b,d,c,e){var f=this.G;f.Fb=c&65535;f.K=f.K&-49|c>>12&48;f.Ua=c>>16&63;f.da=~~(d/f.Z[b.La])<<6|d%f.Z[b.La];f.ab=f.da;f.Ya=65536-e&65535;switch(a){case 1:f.K|=33792;break;case 2:f.K|=40960}I(this.b,20,160,112,function(){f.K|=129;return!!(f.K&64)})};function ec(a){a=a.J;a.U=2176;a.Ba=0;a.pa=[4544,4544,4544,4544,4544,4544,4544,4544];a.ub=[0,0,0,0,0,0,0,0];a.kb=a.vb=a.tb=a.$a=a.ic=0}
|
||||
function fc(a,b){var d=a.J,c,e,f;d.U&=-16513;d.Ba&=-2049;d.pa[b]&=-1153;I(a.b,-1,0,172);"undefined"===typeof d.na[b]&&(d.na[b]={cache:[],postProcess:a.Xc,drive:b,blocksize:256,mapped:0,maxblock:d.cc[0]*d.bb[0]*d.Z[0],url:"rp"+b+".dsk"});switch(d.U&63){case 5:d.ac[b]=d.Pa[b];d.U|=32896;d.pa[b]|=32896;d.kb|=1<<b;break;case 9:ec(a);break;case 19:d.pa[b]|=64;break;case 49:if(d.Pa[b]>=d.cc[0]||d.Ca[b]>>8>=d.bb[0]||(d.Ca[b]&255)>=d.Z[0]){d.ub[b]|=1024;d.U|=49152;break}c=(d.Pa[b]*d.bb[0]+(d.Ca[b]>>8))*d.Z[0]+
|
||||
(d.Ca[b]&255);e=(d.$a&63)<<16|d.tb;f=65536-d.vb&65535;cc(a,d.na[b],c,e,f);return;case 57:if(d.Pa[b]>=d.cc[0]||d.Ca[b]>>8>=d.bb[0]||(d.Ca[b]&255)>=d.Z[0])d.ub[b]|=1024,d.U|=49152;else{c=(d.Pa[b]*d.bb[0]+(d.Ca[b]>>8))*d.Z[0]+(d.Ca[b]&255);e=(d.$a&63)<<16|d.tb;f=65536-d.vb&65535;a.$b(d.na[b],c,e,f);return}}I(a.b,3,160,172,function(){d.U=d.U&65534|128;d.pa[b]|=128;return!!(d.U&64)})}
|
||||
m.Xc=function(a,b,d,c,e){var f=this.J;f.vb=65536-e&65535;f.tb=c&65535;f.U=f.U&-769|c>>8&768;f.$a=c>>16&63;e=~~(d/f.Z[0]);c=~~(e/f.bb[0]);f.Ca[b.La]=e%f.bb[0]<<8|d%f.Z[0];f.ac[b.La]=f.Pa[b.La]=c;f.kb|=1<<b.La;d>=b.Rc-1&&(f.pa[b.La]|=1024);switch(a){case 1:f.Ba|=512;f.U|=49152;break;case 2:f.Ba|=2048,f.U|=49152}I(this.b,20,160,172,function(){f.pa[b.La]|=128;f.U=f.U&65534|128;return!!(f.U&64)})};m.Oc=function(){this.F.K|=128;this.F.K&64&&I(this.b,0,192,64)};
|
||||
function gc(a,b,d,c,e,f){var h=~~((f+d.Va-1)/d.Va),g=new XMLHttpRequest;2048>h&&c+2048<d.Rc&&(h=2048);g.open("GET",d.url,!0);g.setRequestHeader("Range","bytes="+(c*d.Va<<1)+"-"+(((c+h)*d.Va<<1)-1));g.responseType="arraybuffer";g.onreadystatechange=function(){if(4==g.readyState){var h=b.bind(a),l,n,p,q;l=g.response;if(g.status&&206!=g.status||!l)d.Zb(1,d,c,e,f);else{l=new Uint8Array(l);n=c;for(q=0;q<l.length;){if("undefined"===typeof d.cache[n])for(d.cache[n]=[],p=0;p<d.Va;p++)d.cache[n][p]=q<l.length?
|
||||
l[q]&255|l[q+1]<<8&65280:0,q+=2;else q+=d.Va<<1;n++}h(d,c,e,f)}}};g.send(null)}function J(a,b,d,c,e){if(d&1){if(!e)return K(a.b,4,122);c=0<=c?c<<8&65280|b&255:b}else 0<=c?e&&(c=b&65280|c&255):c=b;return c}m.$b=function(a,b,d,c){for(var e;0<c;){if("undefined"===typeof a.cache[b]){gc(this,this.$b,a,b,d,c);return}for(e=0;e<a.Va&&0<c;e++){if(0>L(this.b,a.Qc?hc(this.b,d):d,a.cache[b][e])){a.Zb(2,a,b,d,c);return}d+=2;--c}b++}a.Zb(0,a,b,d,c)};
|
||||
function cc(a,b,d,c,e){for(var f,h;0<e;){if("undefined"===typeof b.cache[d])for(b.cache[d]=[],f=0;f<b.Va;f++)b.cache[d][f]=0;for(f=0;f<b.Va&&0<e;f++){h=M(a.b,b.Qc?hc(a.b,c):c);if(0>h){b.Zb(2,b,d,c,e);return}b.cache[d][f]=h;c+=2;--e}d++}b.Zb(0,b,d,c,e)}m.reset=function(){this.g.pb=this.g.pb&-120|20;this.N.Ia=0;this.N.qa=128;this.F.K=0;this.C.S=128;this.G.K=128;ec(this)};
|
||||
m.Dc=function(a,b,d){var c,e,f=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?c=f.Qa&65280:(a&1&&(b<<=8),f.Qa=b|255,c=0);break;case 4194298:if(0>b)c=f.Yb;else{a&1&&(b<<=8);if(c=b&65024){e=c>>9;do c+=34;while(e>>=1)}f.Yb=c;f.Oa=2}break;case 4194294:if(70!==f.gb)return K(f,4,222);0>b?c=f.L:c=f.L=0;break;case 4194292:if(70!==f.gb)return K(f,4,224);c=1;break;case 4194290:if(70!==f.gb)return K(f,4,226);c=0;break;case 4194288:if(70!==f.gb)return K(f,4,228);c=61183;break;case 4194296:0<=
|
||||
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==f.gb)return K(f,4,232);e=a-4194272>>1;0>b?c=f.fc[e]:(c=J(this,f.fc[e],a,b,d),0<=c&&(f.fc[e]=c));break;case 4194254:return a&1?f.M>>14&1?(0<=b&&(f.f[6]=b),c=f.f[6]):(0<=b&&(f.sa[3]=b),c=f.sa[3]):f.M>>14&0?(0<=b&&(f.f[6]=b),c=f.f[6]):(0<=b&&(f.sa[1]=b),c=f.sa[1]),c;case 4194252:case 4194250:case 4194248:return e=a&7,f.M&2048?(0<=b&&(f.f[e]=b),c=f.f[e]):(0<=b&&(f.Za[e]=
|
||||
b),c=f.Za[e]),c;case 4194246:return a&1?(0<=b&&(f.f[7]=b),c=f.f[7]):f.M>>14&0?(0<=b&&(f.f[6]=b),c=f.f[6]):(0<=b&&(f.sa[0]=b),c=f.sa[0]),c;case 4194244:case 4194242:case 4194240:return e=a&7,f.M&2048?(0<=b&&(f.Za[e]=b),c=f.Za[e]):(0<=b&&(f.f[e]=b),c=f.f[e]),c;default:return f.L|=16,K(f,4,124)}break;case 4194176:e=a>>1&31;c=J(this,f.ka[3][e],a,b,d);0<=c&&(f.ka[3][e]=c,f.ka[3][e&15]&=65295);break;case 4194112:var h=this.N;e=this.F;switch(a&-2){case 4194174:c=J(this,f.Ab,a,b,d);0<=c&&(f.Ab=c);break;case 4194172:c=
|
||||
f.Da;c&65280&&(c=(c<<8|c>>8)&65535);break;case 4194170:f.ca=f.ca&62337|f.Kb<<5|f.Xb<<1;0>b?c=f.ca:(c=J(this,f.ca,a,b,d),0<=c&&(f.ca=c&=62337,f.Kb=c>>5&3,f.Xb=c>>1&15,c&257?(e=2,f.Ra&16&&(e=1),f.Jb=c&1?ub|B:B):(f.Jb=0,e=4),this.g.pb=this.g.pb&-8|e));break;case 4194168:0>b?c=this.g.dd&65535:(c=J(this,this.g.data,a,b,d),0<=c&&(this.g.data=c));break;case 4194166:0<=b&&(b&127&&(h.Ic=0),h.qa&=-129,I(f,100,128,52,function(){h.qa|=128;return!!(h.qa&64)}));c=0;break;case 4194164:0>b?c=h.qa:(c=J(this,h.qa,
|
||||
a,b,d),0<=c&&(128==(h.qa&192)&&c&64&&I(f,8,128,52,function(){h.qa|=128;return!!(h.qa&64)}),h.qa=h.qa&128|c&-129));break;case 4194162:c=0;0>b&&(h.Ia&=-129,0<h.gc.length&&(c=h.gc.shift(),0<h.gc.length&&setTimeout(function(){h.Ia|=128;h.Ia&64&&I(f,40,128,48)},50)));break;case 4194160:0>b?c=h.Ia:(c=J(this,h.Ia,a,b,d),0<=c&&(h.Ia=h.Ia&128|c&-129));break;case 4194150:0>b?(c=e.K,e.K&=-129):(c=J(this,e.K,a,b,d),0<=c&&(c&64&&!e.Ib&&(setInterval(this.Oc.bind(this),25),e.Ib=1),e.K=c&-129));break;default:return f.L|=
|
||||
16,K(f,4,126)}break;case 4194048:e=this.C;switch(a&-2){case 4194048:c=J(this,e.Qb,a,b,d);0<=c&&(e.Qb=c);break;case 4194050:c=J(this,e.la,a,b,d);0<=c&&(e.la=c);break;case 4194052:c=J(this,e.S,a,b,d);0<=b&&0<=c&&(e.S=c&-36993|e.S&36992,e.S&1&&bc(this));break;case 4194054:c=J(this,e.Rb,a,b,d);0<=c&&(e.Rb=c);break;case 4194056:c=J(this,e.Pb,a,b,d);0<=c&&(e.Pb=c);break;case 4194058:c=J(this,e.ta,a,b,d);0<=c&&(e.ta=c);break;case 4194060:break;case 4194062:c=J(this,e.wc,a,b,d);0<=c&&(e.wc=c);break;default:return f.L|=
|
||||
16,K(f,4,128)}break;case 4193728:var g=this.J;e=g.Ba&7;switch(a&-2){case 4193728:c=J(this,g.U,a,b,d);0<=b&&0<=c&&(g.$a=g.$a&60|c>>8&3,g.U=c&17279|g.U&34944|2048,c&1&&g.U&128?fc(this,e):192==(c&192)&&I(f,0,160,172));break;case 4193730:c=J(this,g.vb,a,b,d);0<=c&&(g.vb=c);break;case 4193732:c=J(this,g.tb,a,b,d);0<=c&&(g.tb=c&65534);break;case 4193734:c=J(this,g.Ca[e],a,b,d);0<=c&&(g.Ca[e]=c&7967);break;case 4193736:c=J(this,g.Ba,a,b,d);0<=c&&(g.Ba=c&63|g.Ba&65472,c&128&&ec(this));break;case 4193738:c=
|
||||
g.pa[e];break;case 4193740:c=g.ub[e];break;case 4193742:c=J(this,g.kb,a,b,d);0<=c&&(g.kb=c&255);break;case 4193744:c=g.bd[e];break;case 4193746:c=J(this,g.xc,a,b,d);0<=c&&(g.xc=c);break;case 4193748:c=J(this,g.yc[e],a,b,d);0<=c&&(g.yc[e]=c&1023);break;case 4193750:c=8210;break;case 4193752:c=g.cd[e];break;case 4193754:c=J(this,g.zc[e],a,b,d);0<=c&&(g.zc[e]=c);break;case 4193756:c=J(this,g.Pa[e],a,b,d);0<=c&&(g.Pa[e]=c&511);break;case 4193758:g.ac[e]=g.Pa[e];c=g.ac[e];break;case 4193760:c=g.$c[e];
|
||||
break;case 4193762:c=g.ad[e];break;case 4193764:c=g.Yc[e];break;case 4193766:c=g.Zc[e];break;case 4193768:c=J(this,g.$a,a,b,d);0<=c&&(g.$a=c&63,g.U=g.U&-769|(c&3)<<8);break;case 4193770:c=J(this,g.ic,a,b,d);0<=c&&(g.ic=c);break;default:return f.L|=16,K(f,4,132)}break;case 4192512:e=this.G;switch(a&-2){case 4192512:c=J(this,e.K,a,b,d);0<=b&&0<=c&&(e.Ua=e.Ua&60|c>>4&3,e.K=e.K&-1023|c&1022,e.K&128||dc(this));break;case 4192514:c=J(this,e.Fb,a,b,d);0<=c&&(e.Fb=c&65534);break;case 4192516:c=J(this,e.da,
|
||||
a,b,d);0<=c&&(e.da=c);break;case 4192518:c=J(this,e.Ya,a,b,d);0<=c&&(e.Ya=c);break;case 4192520:c=J(this,e.Ua,a,b,d);0<=c&&(e.Ua=c&63,e.K=e.K&-49|(e.Ua&3)<<4);break;default:return f.L|=16,K(f,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?c=f.Ra:(c=J(this,f.Ra,a,b,d),0<=c&&(70!==f.gb&&(c&=-49),f.Ra=c,f.ib[0]=c&4?15:7,f.ib[1]=c&2?15:7,f.ib[3]=c&1?15:7,f.Jb&&(e=2,f.Ra&16&&(e=1),this.g.pb=this.g.pb&-8|e)));break;default:return f.L|=16,K(f,4,136)}break;case 4191424:e=a>>1&31;c=J(this,f.ka[0][e],
|
||||
a,b,d);0<=c&&(f.ka[0][e]=c,f.ka[0][e&15]&=65295);break;case 4191360:e=a>>1&31;c=J(this,f.ka[1][e],a,b,d);0<=c&&(f.ka[1][e]=c,f.ka[1][e&15]&=65295);break;case 4190400:case 4190336:if(70!==f.gb)return K(f,4,234);e=a>>2&31;c=f.Sb[e];a&2&&(c>>=16);c&=65535;0<=b&&(c=J(this,c,a,b,d),0<=c&&(f.Sb[e]=a&2?c<<16|f.Sb[e]&65535:f.Sb[e]&4294901760|c&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)c=Yb[a>>1&255];else return f.L|=16,K(f,
|
||||
4,138);break;default:return f.L|=16,K(f,4,142)}d&&0<=c&&(a&1?c>>=8:c&=255);"undefined"===typeof c&&console.log("panic(76)");return c};var Zb={};Zb[4194302]=[null,null,Mb.prototype.Uc,Mb.prototype.fd];Pa(function(){for(var a=y(document,"pdp11","device"),b=0;b<a.length;b++){var d=a[b],c=x(d),c=new Mb(c);cb(c,d)}});var ic;if(tb){var jc=new ArrayBuffer(2);(new DataView(jc)).setUint16(0,256,!0);ic=256===(new Uint16Array(jc))[0]}else ic=!1;var kc=ic;
|
||||
function H(a,b,d,c,e){this.id=lc+=2;this.b=null;this.D=a;this.Ub=b;this.size=d||0;this.type=c||mc;this.H=c==nc;this.controller=null;Bb(this);this.Wa=this.Kc=!1;if(d)if(e)this.controller=e,this.b=null,oc(this,e.Cb);else if(tb)this.G=new ArrayBuffer(d),this.J=new DataView(this.G,0,d),this.g=new Uint8Array(this.G,0,d),this.P=new Uint16Array(this.G,0,d>>1),this.b=new Int32Array(this.G,0,d>>2),oc(this,kc?pc:qc);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;oc(this,rc)}else oc(this)}
|
||||
var mc=0,nc=2,Hb=4,Jb=["NONE","RAM","ROM","VID","H/W"],lc=0;
|
||||
H.prototype={constructor:H,parent:null,Ib:function(a){this.D=a},save:function(){var a,b;if(this.controller)a=null;else if(tb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.J.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(tb)for(b=0;b<a.length;b++)this.J.setInt32(b<<2,a[b],!0);else this.b=a;return this.Wa=!0}return!1},eb:function(a,b){b?this.F++||sc(this,tc,!1):this.O++||uc(this,tc,!1)},T:function(){this.I&&db(this.I,
|
||||
129)&&this.I.message("attempt to read invalid block %"+r(this.D),!0);return 255},C:function(a,b){this.I&&db(this.I,129)&&this.I.message("attempt to write "+r(b,4,!0)+" to invalid block %"+r(this.D),!0)},W:function(a,b){return this.sb(a++,b++)|this.sb(a,b)<<8},N:function(a,b,d){this.xb(a++,b&255,d++);this.xb(a,b>>8,d)},ba:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ra:function(a){var b=a>>2;a=(a&3)<<3;var d=this.b[b]>>a;return 24>a?d&65535:d&255|(this.b[b+1]&255)<<8},za:function(a,b){var d=a>>
|
||||
2,c=(a&3)<<3;this.b[d]=this.b[d]&~(255<<c)|b<<c;this.Wa=!0},Bb:function(a,b){var d=a>>2,c=(a&3)<<3;24>c?this.b[d]=this.b[d]&~(65535<<c)|b<<c:(this.b[d]=this.b[d]&16777215|b<<24,d++,this.b[d]=this.b[d]&-256|b>>8);this.Wa=!0},$:function(a,b){if(this.I&&null!=this.D){var d=this.I;vc(d,this.D+a,1,d.X)&&d.ma(!0)}return this.Ob(a,b)},ga:function(a,b){if(this.I&&null!=this.D){var d=this.I;vc(d,this.D+a,2,d.X)&&d.ma(!0)}return this.hc(a,b)},wa:function(a,b,d){if(this.I&&null!=this.D){var c=this.I;vc(c,this.D+
|
||||
a,1,c.J)&&c.ma(!0)}this.H?this.C(a,b,d):this.yb(a,b,d)},Ja:function(a,b,d){if(this.I&&null!=this.D){var c=this.I;vc(c,this.D+a,2,c.J)&&c.ma(!0)}this.H?this.C(a,b,d):this.lc(a,b,d)},X:function(a){return this.g[a]},aa:function(a){return this.g[a]},ea:function(a){return this.J.getUint16(a,!0)},ha:function(a){return a&1?this.g[a]|this.g[a+1]<<8:this.P[a>>1]},va:function(a,b){this.g[a]=b;this.Wa=!0},ya:function(a,b){this.g[a]=b;this.Wa=!0},Ea:function(a,b){this.J.setUint16(a,b,!0);this.Wa=!0},Sa:function(a,
|
||||
b){a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.P[a>>1]=b;this.Wa=!0}};function Bb(a,b,d){a.I=b;a.O=a.F=0;d&&((a.O=d.O)&&uc(a,tc,!1),(a.F=d.F)&&sc(a,tc,!1))}function wc(a,b){b?--a.F||(a.xb=a.H?a.C:a.yb,a.Bc=a.H?a.N:a.lc):--a.O||(a.sb=a.Ob,a.vc=a.hc)}function sc(a,b,d){d&&a.F||(a.xb=!a.H&&b[1]||a.C,a.Bc=!a.H&&b[3]||a.N);if(d||void 0===d)a.yb=b[1]||a.C,a.lc=b[3]||a.N}function uc(a,b,d){d&&a.O||(a.sb=b[0]||a.T,a.vc=b[2]||a.W);if(d||void 0===d)a.Ob=b[0]||a.T,a.hc=b[2]||a.W}
|
||||
function oc(a,b){b||(b=xc);uc(a,b,void 0);sc(a,b,void 0)}var xc=[],rc=[H.prototype.ba,H.prototype.za,H.prototype.ra,H.prototype.Bb],tc=[H.prototype.$,H.prototype.wa,H.prototype.ga,H.prototype.Ja];if(tb)var qc=[H.prototype.X,H.prototype.va,H.prototype.ea,H.prototype.Ea],pc=[H.prototype.aa,H.prototype.ya,H.prototype.ha,H.prototype.Sa];
|
||||
function yc(a,b){u.call(this,"CPU",a,yc,1);var d=a.multiplier||1;this.za=a.cycles||b;this.jb=d;this.ya=Math.round(this.za/1E4)/100;this.hb=this.ya*this.jb;this.A.ja=!1;this.A.kc=!1;this.A.Db=a.autoStart;this.A.sc=!1;this.A.ob=!1;this.Lb=this.$=0;this.Mb=a.csStart;this.qb=a.csInterval;this.rb=a.csStop;this.ra=[];this.Eb=this.lb.bind(this);A(this)}w(yc);var zc=["power","reset"];m=yc.prototype;
|
||||
m.Xa=function(a,b,d,c){this.F=a;this.H=b;this.I=c;for(b=0;b<zc.length;b++)(d=this.O[zc[b]])&&this.F.ua(null,zc[b],d);this.ea=null;a=Ac(a,"autoStart");null!=a&&(this.A.Db="true"==a?!0:"false"==a?!1:!!a);A(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};m.Na=function(a,b){if(!b){if(a&&this.restore){Bc(this);if(!this.restore(a))return!1;Cc(this)}else this.reset();this.I?this.I.Ib():this.i("No debugger detected")}Dc(this);return!0};
|
||||
m.Ma=function(a){return a?this.save():!0};m.Db=function(){return this.A.Db||!this.I&&void 0===this.O.run?(this.lb(!0),!0):!1};m.uc=function(){return 0};function Cc(a){void 0===a.Mb&&(a.Mb=0);void 0===a.qb&&(a.qb=-1);void 0===a.rb&&(a.rb=-1);a.A.ob=0<=a.Mb&&0<a.qb;a.A.ob&&(a.Lb=0,a.$=a.Mb-a.X)}function Ec(a,b){if(a.A.ob){var d=!1;a.Lb=a.Lb+a.uc()|0;a.$-=b;0>=a.$&&(a.$+=a.qb,d=!0);0<=a.rb&&a.rb<=Tc(a)&&(a.qb=a.rb=-1,Cc(a),a.ma(),d=!0);d&&a.i(Tc(a)+" cycles: checksum="+r(a.Lb))}}
|
||||
function Uc(a,b,d,c){if(a.O[b]){void 0===d&&(hb(a,"Value for "+b+" is invalid"),a.ma());var e=a.I&&a.I.wa||8;d=!a.A.ja||a.A.sc?8==e?ca(d,c):r(d,c):"--------".substr(0,c||4);a.O[b].textContent!=d&&(a.O[b].textContent=d)}}
|
||||
m.ua=function(a,b,d){var c=this;a=!1;switch(b){case "power":case "reset":this.O[b]=d;a=!0;break;case "run":this.O[b]=d;d.onclick=function(){var a;if(a=c.F)if(a=c.F,a.A.fa)a=!0;else{var b=null,d,g=ab(a.id);for(d=0;d<g.length&&(b=g[d],b===a||b.A.ready);d++);if(d==g.length)for(d=0;d<g.length&&(b=g[d],b===a||b.A.fa);d++);d==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Wb?" (waiting for notification)":""))+".");a=!1}a&&(c.A.ja?c.ma():c.lb())};
|
||||
a=!0;break;case "speed":this.O[b]=d;a=!0;break;case "setSpeed":this.O[b]=d,d.onclick=function(){Vc(c,c.jb<<1,!0)},d.textContent=this.hb.toFixed(2)+"Mhz",a=!0}return a};function Wc(a,b,d){a.X+=b;d&&(a.W=a.b=0)}function Xc(a,b){var d=1;b&&1<a.jb&&a.P&&(d=a.P/a.ya);a.mb=Math.round(1E3/30);a.wa=Math.floor(a.za/30*d);b||(a.aa=a.wa);a.Ea=0}function Tc(a){return a.X+a.N+a.W-a.b}function Bc(a){a.P=0;a.zb=0;a.X=a.N=a.W=a.b=0;Cc(a);Vc(a,1)}
|
||||
function Vc(a,b,d){var c=!1;if(void 0!==b){.8>a.P/a.hb?b=1:c=!0;a.jb=b;b=a.ya*a.jb;if(a.hb!=b){a.hb=b;b=a.hb.toFixed(2)+"Mhz";var e=a.O.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}d&&a.F&&a.F.Tb()}Wc(a,a.N);a.N=0;a.J=sa();a.T=0;Xc(a);return c}function Yc(a){a.W-=a.b;a.b=0}
|
||||
m.lb=function(a){if(eb(this,!0)){if(!this.A.ja){Vc(this);this.F&&this.F.start(this.J,Tc(this));this.A.ja=!0;this.A.kc=!0;this.ea&&this.ea.start();var b=this.O.run;b&&(b.textContent="Halt");this.F&&(this.F.xa(!0),a&&this.F.Tb(!0))}this.Ea>=this.za&&Xc(this,!0);this.ga=0;this.va=sa();this.T&&(a=this.va-this.T,a>this.mb&&(this.J+=a,this.J>this.va&&(this.J=this.va)));try{do{for(var d,c=this.A.ob?1:this.wa,e=this.ra.length-1;0<=e;e--){var f=this.ra[e];0>f[0]||c>f[0]&&(c=f[0])}d=c;try{this.wb(d)}catch(l){if("number"!=
|
||||
typeof l)throw l;}var h=this.W-this.b;a=h;for(var g=this.ra.length-1;0<=g;g--){var k=this.ra[g];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.ga+=h;this.N+=h;Wc(this,0,!0);Ec(this,h);this.aa-=h;if(0>=this.aa){this.aa+=this.wa;15<=++this.zb&&(this.F&&this.F.xa(),this.zb=0);break}}while(this.A.ja)}catch(l){this.ma();Dc(this);this.F&&this.F.stop(sa(),Tc(this));eb(this,!1);hb(this,l.stack||l.message);return}d=setTimeout;c=this.Eb;this.T=sa();e=this.mb;this.ga&&(e=Math.round(e*this.ga/this.wa));e-=
|
||||
this.T-this.va;if(f=this.T-this.J)this.P=Math.round(this.N/(10*f))/100,864E5<=f&&(this.X=0,Vc(this));if(0>e||this.P<this.hb)-1E3>e&&(this.J-=e),e=0;this.Ea+=this.ga;this.T+=e;d(c,e)}else Dc(this),this.F&&this.F.stop(sa(),Tc(this))};m.wb=function(){return 0};m.ma=function(a){fb(this,!0);Yc(this);Wc(this,this.N);this.N=0;if(this.A.ja){this.A.ja=!1;this.ea&&this.ea.stop();var b=this.O.run;b&&(b.textContent="Run")}this.A.complete=a};function Dc(a,b){a.F&&a.F.xa(b)}
|
||||
function Zc(a){this.Sc=+a.model||1170;this.Vb=a.resetAddr||0;yc.call(this,a,1E6);this.Ja=0;this.decode=$c.bind(this);this.B=65536;this.u=32768;this.w=65535;this.j=32768;this.g=-1;this.f=[0,0,0,0,0,0,0,this.Vb];this.Za=[0,0,0,0,0,0];this.sa=[0,0,0,0];this.memory=[];this.C=[];this.ha=this.Yb=0;this.Oa=2;this.Qa=255;this.V=0;this.ba=-1;this.L=0;this.gb=70;this.Xb=this.Kb=this.Jb=this.G=this.Ra=this.Ab=this.Da=this.ca=0;this.ib=[7,7,7,7];this.ka=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Sb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.fc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.A.complete=this.A.Hc=!1}w(Zc,yc);m=Zc.prototype;
|
||||
m.reset=function(){this.A.ja&&this.ma();ad(this);Bc(this);this.A.error=!1;this.parent.reset.call(this)};function ad(a){a.Qa=255;a.L=0;a.C=[];a.Yb=0;a.ca=a.Da=a.Ab=a.Ra=a.Jb=0;a.ib[0]=a.ib[1]=a.ib[3]=7;a.Kb=0}m.uc=function(){return 0};m.save=function(){var a=new bd(this);a.set(0,[]);a.set(1,[this.Sa,this.X,this.jb]);a.set(2,Lb(this.H));return a.data()};
|
||||
m.restore=function(a){var b=a[1];this.Sa=b[0];this.X=b[1];Vc(this,b[3]);a:{b=this.H;a=a[2];var d;for(d=0;d<a.length-1;d+=2){var c=a[d],e=a[d+1];if(e&&e.length<b.T){for(var f=0,h=Array(b.T),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.R[c];if(!f||!f.restore(e)){t("Unable to restore memory block "+c);b=!1;break a}}b=!0}return b};
|
||||
m.ua=function(a,b,d){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.O[b]=d;this.Ja++;a=!0;break;default:a=this.parent.ua.call(this,a,b,d)}return a};
|
||||
m.xa=function(a){if(this.Ja&&(a||!this.A.ja||this.A.sc)){for(a=0;a<this.f.length;a++)Uc(this,"R"+a,this.f[a]);a=$b(this);Uc(this,"PS",a);Uc(this,"NF",a&8?1:0,1);Uc(this,"ZF",a&4?1:0,1);Uc(this,"VF",a&2?1:0,1);Uc(this,"CF",a&1?1:0,1)}if(a=this.O.speed)a.textContent=this.A.ja&&this.P?this.P.toFixed(2)+"Mhz":"Stopped"};
|
||||
function I(a,b,d,c,e){for(var f=a.C.length;0<f--;)if(a.C[f].ed===c){0<f&&(a.C[f-1].Fa+=a.C[f].Fa);a.C.splice(f,1);break}if(0<=b){2===a.ha&&(b=0,a.ha=0,setTimeout(a.Eb,0));for(f=a.C.length;0<f--;){if(a.C[f].Fa>b){a.C[f].Fa-=b;break}b-=a.C[f].Fa}a.C.splice(f+1,0,{delay:b,priority:d&224,vector:c,callback:e})}a.Oa=2}function $b(a){return a.M=a.M&63728|(a.j&32768?8:0)|(a.w&65535?0:4)|(a.u&32768?2:0)|(a.B&65536?1:0)}
|
||||
function ac(a,b){a.j=b<<12;a.w=~b&4;a.u=b<<14;a.B=b<<16;if((b^a.M)&2048)for(var d=a.Za.length;0<=--d;){var c=a.f[d];a.f[d]=a.Za[d];a.Za[d]=c}a.G=b>>14&3;d=a.M>>14&3;a.G!=d&&(a.sa[d]=a.f[6],a.f[6]=a.sa[a.G]);a.Oa=2;a.M=b}function cd(a,b){a.V&128||(a.j=a.w=a.B=b,a.u=0)}function dd(a,b){a.V&128||(a.j=a.w=b,a.u=0)}function ed(a,b,d,c){a.V&128||(a.j=a.w=a.B=b,a.u=(d^c)&(c^b))}
|
||||
function K(a,b,d){var c,e,f=0;0>a.ba?a.ba=$b(a):a.G||(b=4,f=1);a.ca&57344||(a.Da=63222,a.Ab=b);a.G=0;0<=(c=N(a,b|65536))&&0<=(e=N(a,b+2&65535|65536))&&(ac(a,e&53247|a.ba>>2&12288),f&&(a.L|=4,a.f[6]=4),0<=fd(a,a.ba)&&0<=fd(a,a.f[7])&&(a.f[7]=c));a.V&=-113;a.ba=-1;throw b|d<<8;}function hc(a,b){var d=b>>13&31;31>d?a.Ra&32&&(b=a.Sb[d]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function gd(a,b,d){var c,e,f,h=0;if(d&a.Jb){c=b>>13&a.ib[a.G];e=a.ka[a.G][c];f=(a.ka[a.G][c+16]<<6)+(b&8191)&4194303;a.Ra&16?3932160<=f&&4186112>f&&(f=hc(a,f&262143)):(f&=262143,253952<=f&&(f|=4186112));3932160>f&&(3915776<=f&&(a.L|=32,K(a,4,24)),f&1&&!(d&1)&&(a.L|=64,K(a,4,26)));switch(e&7){case 1:h=4096;case 2:e|=128;d&B&&(h=8192);break;case 4:h=4096;case 5:d&B&&(h=4096);case 6:e|=d&B?192:128;break;default:h=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(h|=16384):(b&8128)>(e>>2&
|
||||
8128)&&(h|=16384));a.ka[a.G][c]=e;if(4194170!==f||a.G)a.Kb=a.G,a.Xb=c;h&&(h&57344&&(0<=a.ba&&(h|=128),a.ca&57344||(a.ca=a.ca|h|a.Kb<<5|a.Xb<<1),K(a,168,28)),a.ca&61440||!(4191360>f||4194239<f)||(a.ca|=4096,a.ca&512&&(a.V|=32)))}else f=b&65535,57344<=f?f|=4186112:f&1&&!(d&1)&&(a.L|=64,K(a,4,22));return f}function M(a,b){return 4194304<=b?a.f[b-4194304]:0<=b?a.H.Ha(b):b}function L(a,b,d){d&=65535;return 4194304<=b?a.f[b-4194304]=d:0<=b?(a.H.jc(b,d),d):b}
|
||||
function O(a,b){return 4194304<=b?a.f[b-4194304]&255:0<=b?a.H.Hb(b):b}function P(a,b,d){d&=255;return 4194304<=b?a.f[b-4194304]=a.f[b-4194304]&65280|d:0<=b?(a.H.bc(b,d),d):b}function N(a,b){return M(a,gd(a,b,ub))}function hd(a){var b=N(a,a.f[6]|65536);0<=b&&(a.f[6]=a.f[6]+2&65535);return b}function fd(a,b){var d,c;a.f[6]=c=a.f[6]-2&65535;a.ca&57344||(a.Da=a.Da<<8|246);!a.G&&c<=a.Qa&&4<c&&(c<=a.Qa-32?(a.L|=4,a.f[6]=4,K(a,4,32)):(a.L|=8,a.V|=4));return 0<=(d=gd(a,c|65536,B))?L(a,d,b):d}
|
||||
function id(a,b,d){var c,e,f=b&7;switch(b>>3&7){case 0:K(a,4,34);break;case 1:return 6===f&&!a.G&&d&B&&(a.f[6]<=a.Qa||65534<=a.f[6])&&(a.f[6]<=a.Qa-32||65534<=a.f[6]?(a.L|=4,a.f[6]=4,K(a,4,36)):(a.L|=8,a.V|=64)),7===f?a.f[f]:a.f[f]|65536;case 2:e=2;c=a.f[f];7!==f&&(c|=65536,6>f&&d&1&&(e=1));break;case 3:e=2;c=a.f[f];7!==f&&(c|=65536);if(0>(c=N(a,c)))return c;c|=65536;break;case 4:e=-2;6>f&&d&1&&(e=-1);c=a.f[f]+e&65535;7!==f&&(c|=65536);break;case 5:e=-2;c=a.f[f]-2&65535;7!==f&&(c|=65536);if(0>(c=
|
||||
N(a,c)))return c;c|=65536;break;case 6:if(0>(c=N(a,a.f[7])))return c;a.f[7]=a.f[7]+2&65535;c=c+a.f[f]&65535;return c|65536;case 7:if(0>(c=N(a,a.f[7])))return c;a.f[7]=a.f[7]+2&65535;c=c+a.f[f]&65535;return 0>(c=N(a,c|65536))?c:c|65536}a.f[f]=a.f[f]+e&65535;a.ca&57344||(a.Da=a.Da<<8|e<<3&248|f);6===f&&!a.G&&d&B&&0>=e&&(a.f[6]<=a.Qa||65534<=a.f[6])&&(a.f[6]<=a.Qa-32?(a.L|=4,a.f[6]=4,K(a,4,38)):(a.L|=8,a.V|=64));return c}function Q(a,b,d){b&56?(b=id(a,b,d),a=gd(a,b,d)):a=4194304+(b&7);return a}
|
||||
function R(a,b){var d;b&56?(d=Q(a,b,ub),d=M(a,d)):d=a.f[b&7];return d}function S(a,b){var d;b&56?(d=Q(a,b,vb),d=O(a,d)):d=a.f[b&7]&255;return d}function jd(a,b,d,c){b&56?(b=Q(a,b,C),L(a,b,c.call(a,d,M(a,b)))):(b&=7,a.f[b]=c.call(a,d,a.f[b])&65535)}function kd(a,b,d,c){b&56?(b=Q(a,b,D),P(a,b,c.call(a,d,O(a,b)))):(b&=7,a.f[b]=a.f[b]&65280|c.call(a,d,a.f[b])&255)}function ld(a,b,d){b&56?L(a,Q(a,b,B),d):a.f[b&7]=d&65535;return d}
|
||||
function md(a,b,d,c){b&56?P(a,Q(a,b,wb),d):(b&=7,a.f[b]=c?c&1?a.f[b]&-256:d<<24>>24&65535:a.f[b]&-256|d&255);return d}function T(a,b){return((b&128?b|65280:b&255)<<1)+a&65535}
|
||||
m.wb=function(a){this.A.complete=!0;var b=this.A.Hc=this.I&&nd(this.I),d=a?this.A.kc?0:1:-1;this.A.kc=!1;this.W=this.b=a;this.Sa&256?(Yc(this),a=!1):a=!0;if(a){do{if(b){if(od(this.I,this.f[7],d)){this.ma();break}d=1}var c,e,f,h,g;this.V&112&&(this.V&32?K(this,168,52):this.V&64?K(this,4,54):this.V&16&&K(this,12,56),this.V&=-113);if(this.Oa)if(1===this.Oa)this.Oa=2;else{this.Oa=0;g=-1;c=this.Yb&224;if(0<(a=this.C.length))for(;0<a--;){if(0<this.C[a].Fa){this.C[a].Fa--;this.Oa=2;break}if(this.C[a].pc){if(!this.C[a].pc()){this.C.splice(a,
|
||||
1);g--;continue}this.C[a].pc=null}this.C[a].Tc>c&&(c=this.C[a].Tc,g=a)}c>(this.M&224)&&(0>g?K(this,160,42):(K(this,this.C[g].ed,44),this.C.splice(g,1)))}this.ca&57344||(this.Da=0,this.Ab=this.f[7]);this.V=this.M&16;this.g=a=N(this,this.f[7]);0<=a&&(this.f[7]=this.f[7]+2&65535);this.decode(a);if(0>this.g)switch(a&61440){case 4096:0<=(c=R(this,a>>6))&&(a&56?0<=(f=Q(this,a,B))&&0<=L(this,f,c)&&(this.j=this.w=c,this.u=0):(this.j=this.w=this.f[a&7]=c,this.u=0));break;case 8192:0<=(c=R(this,a>>6))&&0<=
|
||||
(e=R(this,a))&&(this.j=this.w=this.B=a=c-e,this.u=(c^e)&(c^a));break;case 12288:0<=(c=R(this,a>>6))&&0<=(e=R(this,a))&&(this.j=this.w=c&e,this.u=0);break;case 16384:0<=(c=R(this,a>>6))&&(a&56?0<=(e=M(this,f=Q(this,a,C)))&&(a=e&~c,0<=L(this,f,a)&&(this.j=this.w=a,this.u=0)):(this.j=this.w=a=this.f[a&7]&=~c,this.u=0));break;case 20480:0<=(c=R(this,a>>6))&&(a&56?0<=(e=M(this,f=Q(this,a,C)))&&(a=e|c,0<=L(this,f,a)&&(this.j=this.w=a,this.u=0)):(this.j=this.w=a=this.f[a&7]|=c,this.u=0));break;case 24576:0<=
|
||||
(c=R(this,a>>6))&&(a&56?0<=(e=M(this,f=Q(this,a,C)))&&(a=c+e,0<=L(this,f,a)&&(this.j=this.w=this.B=a,this.u=(c^a)&(e^a))):(g=a&7,e=this.f[g],this.f[g]=(a=c+e)&65535,this.j=this.w=this.B=a,this.u=(c^a)&(e^a)));break;case 36864:0<=(c=S(this,a>>6))&&(a&56?0<=(f=Q(this,a,wb))&&0<=P(this,f,c)&&(this.j=this.w=c<<8,this.u=0):(c&128&&(c|=65280),this.j=this.w=this.f[a&7]=c,this.u=0));break;case 40960:0<=(c=S(this,a>>6))&&0<=(e=S(this,a))&&(a=c-e,this.j=this.w=this.B=a<<8,this.u=((c^e)&(c^a))<<8);break;case 45056:0<=
|
||||
(c=S(this,a>>6))&&0<=(e=S(this,a))&&(this.j=this.w=(c&e)<<8,this.u=0);break;case 49152:0<=(c=S(this,a>>6))&&0<=(e=O(this,f=Q(this,a,D)))&&(a=e&~c,0<=P(this,f,a)&&(this.j=this.w=a<<8,this.u=0));break;case 53248:0<=(c=S(this,a>>6))&&0<=(e=O(this,f=Q(this,a,D)))&&(a=e|c,0<=P(this,f,a)&&(this.j=this.w=a<<8,this.u=0));break;case 57344:0<=(c=R(this,a>>6))&&(a&56?0<=(e=M(this,f=Q(this,a,C)))&&(a=e-c,0<=L(this,f,a)&&(this.j=this.w=this.B=a,this.u=(c^e)&(e^a))):(g=a&7,e=this.f[g],this.f[g]=(a=e-c)&65535,this.j=
|
||||
this.w=this.B=a,this.u=(c^e)&(e^a)));break;default:switch(a&65024){case 2048:0<=(h=id(this,a,0))&&(g=a>>6&7,0<=fd(this,this.f[g])&&(this.f[g]=this.f[7],this.f[7]=h&65535));break;case 28672:0<=(c=R(this,a))&&(g=a>>6&7,c&32768&&(c|=-65536),e=this.f[g],e&32768&&(e|=-65536),a=~~(c*e),this.f[g]=a>>16&65535,this.f[g|1]=a&65535,this.j=a>>16,this.w=this.j|a,this.B=this.u=0,-32768>a||32767<a)&&(this.B=65536);break;case 29184:0<=(c=R(this,a))&&(c?(g=a>>6&7,e=this.f[g]<<16|this.f[g|1],this.B=this.u=0,c&32768&&
|
||||
(c|=-65536),a=~~(e/c),-32768<=a&&32767>=a?(this.f[g]=a&65535,this.f[g|1]=e-a*c&65535,this.w=a>>16|a,this.j=a>>16):(this.u=32768,this.w=a>>15|a,this.j=e>>16,-1===c&&65534===this.f[g]&&(this.f[g]=this.f[g|1]=1))):(this.w=this.j=0,this.u=32768,this.B=65536));break;case 29696:0<=(c=R(this,a))&&(g=a>>6&7,a=this.f[g],a&32768&&(a|=4294901760),this.B=this.u=0,c&=63,c&32?(c=64-c,16<c&&(c=16),this.B=a<<17-c,a>>=c):c&&(16<c?(this.u=a,a=0):(this.B=a<<=c,(e=a>>15&65535)&&65535!==e&&(this.u=32768))),this.f[g]=
|
||||
a&65535,this.j=this.w=a);break;case 30208:if(0<=(c=R(this,a))){g=a>>6&7;e=this.f[g]<<16|this.f[g|1];this.B=this.u=0;c&=63;if(c&32)c=64-c,32<c&&(c=32),a=e>>c-1,this.B=a<<16,a>>=1,e&2147483648&&(a|=4294967295<<32-c);else if(c){if(a=e<<c-1,this.B=a>>15,a<<=1,32<c&&(c=32),e>>=32-c)e|=4294967295<<c&4294967295,4294967295!==e&&(this.u=32768)}else a=e;this.f[g]=a>>16&65535;this.f[g|1]=a&65535;this.j=a>>16;this.w=a>>16|a}break;case 30720:a&56?0<=(e=M(this,f=Q(this,a,C)))&&(e^=this.f[a>>6&7],0<=L(this,f,e)&&
|
||||
(this.j=this.w=e,this.u=0)):(this.j=this.w=e=this.f[a&7]^=this.f[a>>6&7],this.u=0);break;case 32256:g=a>>6&7;if(this.f[g]=this.f[g]-1&65535)this.f[7]=this.f[7]-((a&63)<<1)&65535;break;default:switch(a&65280){case 256:this.f[7]=T(this.f[7],a);break;case 512:this.w&65535&&(this.f[7]=T(this.f[7],a));break;case 768:this.w&65535||(this.f[7]=T(this.f[7],a));break;case 1024:(this.j&32768)===(this.u&32768)&&(this.f[7]=T(this.f[7],a));break;case 1280:(this.j&32768)!==(this.u&32768)&&(this.f[7]=T(this.f[7],
|
||||
a));break;case 1536:this.w&65535&&(this.j&32768)===(this.u&32768)&&(this.f[7]=T(this.f[7],a));break;case 1792:this.w&65535&&(this.j&32768)===(this.u&32768)||(this.f[7]=T(this.f[7],a));break;case 32768:this.j&32768||(this.f[7]=T(this.f[7],a));break;case 33280:!(this.B&65536)&&this.w&65535&&(this.f[7]=T(this.f[7],a));break;case 33024:this.j&32768&&(this.f[7]=T(this.f[7],a));break;case 33536:if(this.B&65536||!(this.w&65535))this.f[7]=T(this.f[7],a);break;case 33792:this.u&32768||(this.f[7]=T(this.f[7],
|
||||
a));break;case 34048:this.u&32768&&(this.f[7]=T(this.f[7],a));break;case 34304:this.B&65536||(this.f[7]=T(this.f[7],a));break;case 34560:this.B&65536&&(this.f[7]=T(this.f[7],a));break;case 34816:K(this,24,2);break;case 35072:K(this,28,4);break;default:switch(a&65472){case 64:0<=(h=id(this,a,0))&&(this.f[7]=h&65535);break;case 192:a&56?0<=(e=M(this,f=Q(this,a,C)))&&(a=e<<8|e>>8,0<=L(this,f,a)&&(this.j=this.w=e&65280,this.u=this.B=0)):(g=a&7,e=this.f[g],this.f[g]=(e<<8|e>>8)&65535,this.j=this.w=e&65280,
|
||||
this.u=this.B=0);break;case 2560:a&56?0<=(f=Q(this,a,B))&&0<=L(this,f,0)&&(this.j=this.B=this.u=this.w=0):this.j=this.B=this.u=this.w=this.f[a&7]=0;break;case 2624:0<=(e=M(this,f=Q(this,a,C)))&&(a=~e,0<=L(this,f,a)&&(this.j=this.w=a,this.B=65536,this.u=0));break;case 2688:a&56?0<=(e=M(this,f=Q(this,a,C)))&&(a=e+1,0<=L(this,f,a)&&(this.j=this.w=a,this.u=a&(a^e))):(g=a&7,e=this.f[g],a=e+1,this.f[g]=a&65535,this.j=this.w=a,this.u=a&(a^e));break;case 2752:a&56?0<=(e=M(this,f=Q(this,a,C)))&&(a=e-1,0<=
|
||||
L(this,f,a)&&(this.j=this.w=a,this.u=(a^e)&e)):(g=a&7,e=this.f[g],a=e-1,this.f[g]=a&65535,this.j=this.w=a,this.u=(a^e)&e);break;case 2816:0<=(e=M(this,f=Q(this,a,C)))&&(a=-e,0<=L(this,f,a)&&(this.B=this.j=this.w=a,this.u=a&e));break;case 2880:0<=(e=M(this,f=Q(this,a,C)))&&(a=e+(this.B>>16&1),0<=L(this,f,a)&&(this.B=this.j=this.w=a,this.u=a&(a^e)));break;case 2944:0<=(e=M(this,f=Q(this,a,C)))&&(a=e-(this.B>>16&1),0<=L(this,f,a)&&(this.B=this.j=this.w=a,this.u=(a^e)&e));break;case 3008:0<=(e=R(this,
|
||||
a))&&(this.j=this.w=e,this.B=this.u=0);break;case 3072:a&56?0<=(e=M(this,f=Q(this,a,C)))&&(a=(this.B&65536|e)>>1,0<=L(this,f,a)&&(this.B=e<<16,this.j=this.w=a,this.u=a^this.B>>1)):(g=a&7,e=this.f[g],a=(this.B&65536|e)>>1,this.f[g]=a&65535,this.B=e<<16,this.j=this.w=a,this.u=a^this.B>>1);break;case 3136:a&56?0<=(e=M(this,f=Q(this,a,C)))&&(a=e<<1|this.B>>16&1,0<=L(this,f,a)&&(this.B=this.j=this.w=a,this.u=a^e)):(g=a&7,e=this.f[g],a=e<<1|this.B>>16&1,this.f[g]=a&65535,this.B=this.j=this.w=a,this.u=a^
|
||||
e);break;case 3200:a&56?0<=(e=M(this,f=Q(this,a,C)))&&(a=e&32768|e>>1,0<=L(this,f,a)&&(this.B=e<<16,this.j=this.w=a,this.u=this.j^this.B>>1)):(g=a&7,e=this.f[g],a=e&32768|e>>1,this.f[g]=a&65535,this.B=e<<16,this.j=this.w=a,this.u=this.j^this.B>>1);break;case 3264:a&56?0<=(e=M(this,f=Q(this,a,C)))&&(a=e<<1,0<=L(this,f,a)&&(this.B=this.j=this.w=a,this.u=a^e)):(g=a&7,e=this.f[g],a=e<<1,this.f[g]=a&65535,this.B=this.j=this.w=a,this.u=a^e);break;case 3328:h=this.f[7]+((a&63)<<1)&65535;0<=(c=N(this,h|65536))&&
|
||||
(this.f[7]=this.f[5],this.f[5]=c,this.f[6]=h+2&65535);break;case 3392:a&56?0<=(h=id(this,a,0))&&(61440!==(this.M&61440)&&(h&=65535),this.G=this.M>>12&3,0<=(c=N(this,h))&&(this.G=this.M>>14&3,0<=fd(this,c)&&(this.j=this.w=c,this.u=0))):(g=a&7,c=6!==g||(this.M>>2&12288)===(this.M&12288)?this.f[g]:this.sa[this.M>>12&3],0<=fd(this,c)&&(this.j=this.w=c,this.u=0));break;case 3456:0<=(e=hd(this))&&((this.ca&57344||(this.Da=22),a&56)?0<=(h=id(this,a,0))&&(h&=65535,this.G=this.M>>12&3,0<=(f=gd(this,h,B))&&
|
||||
(this.G=this.M>>14&3,0<=L(this,f,e)&&(this.j=this.w=e,this.u=0))):(g=a&7,6!==g||(this.M>>2&12288)===(this.M&12288)?this.f[g]=e:this.sa[this.M>>12&3]=e,this.j=this.w=e,this.u=0));break;case 3520:0<=(f=Q(this,a,B))&&(a=-(this.j>>15&1),0<=L(this,f,a)&&(this.w=a,this.u=0));break;case 35328:a&56?0<=(f=Q(this,a,wb))&&0<=P(this,f,0)&&(this.j=this.B=this.u=this.w=0):(this.f[a&7]&=65280,this.j=this.B=this.u=this.w=0);break;case 35392:0<=(e=O(this,f=Q(this,a,D)))&&(a=~e,0<=P(this,f,a)&&(this.j=this.w=a<<8,
|
||||
this.B=65536,this.u=0));break;case 35456:0<=(e=O(this,f=Q(this,a,D)))&&(a=e+1,0<=P(this,f,a)&&(this.j=this.w=a<<8,this.u=(a&(a^e))<<8));break;case 35520:0<=(e=O(this,f=Q(this,a,D)))&&(a=e-1,0<=P(this,f,a)&&(this.j=this.w=a<<8,this.u=((a^e)&e)<<8));break;case 35584:0<=(e=O(this,f=Q(this,a,D)))&&(a=-e,0<=P(this,f,a)&&(this.B=this.j=this.w=a<<8,this.u=(a&e)<<8));break;case 35648:0<=(e=O(this,f=Q(this,a,D)))&&(a=e+(this.B>>16&1),0<=P(this,f,a)&&(this.j=this.w=this.B=a<<8,this.u=(a&(a^e))<<8));break;case 35712:0<=
|
||||
(e=O(this,f=Q(this,a,D)))&&(a=e-(this.B>>16&1),0<=P(this,f,a)&&(this.j=this.w=this.B=a<<8,this.u=((a^e)&e)<<8));break;case 35776:0<=(e=S(this,a))&&(this.j=this.w=e<<8,this.B=this.u=0);break;case 35840:0<=(e=O(this,f=Q(this,a,D)))&&(a=((this.B&65536)>>8|e)>>1,0<=P(this,f,a)&&(this.B=e<<16,this.j=this.w=a<<8,this.u=this.j^this.B>>1));break;case 35904:0<=(e=O(this,f=Q(this,a,D)))&&(a=e<<1|this.B>>16&1,0<=P(this,f,a)&&(this.B=this.j=this.w=a<<8,this.u=(a^e)<<8));break;case 35968:0<=(e=O(this,f=Q(this,
|
||||
a,D)))&&(a=e&128|e>>1,0<=P(this,f,a)&&(this.B=e<<16,this.j=this.w=a<<8,this.u=this.j^this.B>>1));break;case 36032:0<=(e=O(this,f=Q(this,a,D)))&&(a=e<<1,0<=P(this,f,a)&&(this.B=this.j=this.w=a<<8,this.u=(a^e)<<8));break;case 36160:a&56?0<=(h=id(this,a,0))&&(this.G=this.M>>12&3,0<=(c=N(this,h|65536))&&(this.G=this.M>>14&3,0<=fd(this,c)&&(this.j=this.w=c,this.u=0))):(g=a&7,c=6!==g||(this.M>>2&12288)===(this.M&12288)?this.f[g]:this.sa[this.M>>12&3],0<=fd(this,c)&&(this.j=this.w=c,this.u=0));break;case 36224:0<=
|
||||
(e=hd(this))&&((this.ca&57344||(this.Da=22),a&56)?0<=(h=id(this,a,0))&&(this.G=this.M>>12&3,0<=(f=gd(this,h|65536,B))&&(this.G=this.M>>14&3,0<=L(this,f,e)&&(this.j=this.w=e,this.u=0))):(g=a&7,6!==g||(this.M>>2&12288)===(this.M&12288)?this.f[g]=e:this.sa[this.M>>12&3]=e,this.j=this.w=e,this.u=0));break;default:switch(a&65528){case 128:0<=(c=hd(this))&&(g=a&7,this.f[7]=this.f[g],this.f[g]=c);break;case 152:this.M&49152||(this.M=this.M&63519|(a&7)<<5,this.Oa=1);break;case 160:case 168:a&1&&(this.B=0);
|
||||
a&2&&(this.u=0);a&4&&(this.w=1);a&8&&(this.j=0);break;case 176:case 184:a&1&&(this.B=65536);a&2&&(this.u=32768);a&4&&(this.w=0);a&8&&(this.j=32768);break;default:switch(a){case 0:49152&this.M?(this.L|=128,K(this,4,46)):(this.ha=3,Yc(this),console.log("HALT at "+this.f[7].toString(8)));break;case 1:g=0;if(0<(a=this.C.length))for(;0<a--;)g+=this.C[a].Fa,this.C[a].Fa=0;0===g&&0===this.ha&&(this.ha=2,Yc(this));break;case 3:K(this,12,6);break;case 4:K(this,16,8);break;case 5:this.M&49152||(ad(this),this.H.reset());
|
||||
break;case 2:case 6:e=this.f[6];0<=(h=O(this,e|65536))&&(e=e+2&65535,0<=(c=O(this,e|65536))&&(this.f[6]=e+2&65535,c&=63743,this.M&49152&&(c=c&63519|this.M&63712),this.f[7]=h,cc(this,c),this.V&=-17,2===a&&(this.V|=this.M&16)));break;default:K(this,8,48)}}}}}}}while(0<this.b)}return this.A.complete?this.W-this.b:void 0===this.A.complete?0:-1};Sa(function(){for(var a=x(document,"pdp11","cpu"),b=0;b<a.length;b++){var d=a[b],c=w(d),c=new Zc(c);gb(c,d)}});
|
||||
break;case 2:case 6:f=this.f[6];0<=(h=N(this,f|65536))&&(f=f+2&65535,0<=(c=N(this,f|65536))&&(this.f[6]=f+2&65535,c&=63743,this.M&49152&&(c=c&63519|this.M&63712),this.f[7]=h,ac(this,c),this.V&=-17,2===a&&(this.V|=this.M&16)));break;default:K(this,8,48)}}}}}}}while(0<this.b)}return this.A.complete?this.W-this.b:void 0===this.A.complete?0:-1};Pa(function(){for(var a=y(document,"pdp11","cpu"),b=0;b<a.length;b++){var d=a[b],c=x(d),c=new Zc(c);cb(c,d)}});
|
||||
function pd(a,b){var d=a+b;this.V&128||(this.j=this.w=this.B=d,this.u=(a^d)&(b^d));return d&65535}function qd(a,b){var d=~a&b;dd(this,d);return d}function rd(a,b){var d=~a&b;dd(this,d<<8);return d}function sd(a,b){var d=a|b;dd(this,d);return d}function td(a,b){var d=a|b;dd(this,d<<8);return d}function ud(a,b){var d=b-a;ed(this,d,a,b);return d&65535}function vd(){this.g=-1;--this.b}function wd(){this.g=-1;--this.b}
|
||||
function xd(a){a&1&&(this.B=0);a&2&&(this.u=0);a&4&&(this.w=1);a&8&&(this.j=0);--this.b}function yd(){this.g=-1;--this.b}function zd(){this.g=-1;--this.b}function Ad(){this.g=-1;--this.b}function Bd(){--this.b}function Cd(a){a&1&&(this.B=65536);a&2&&(this.u=32768);a&4&&(this.w=0);a&8&&(this.j=32768);--this.b}function Dd(){this.g=-1;--this.b}function Ed(){this.g=-1;--this.b}function W(){K(this,8,48)}function $c(a){Fd[a>>12].call(this,a)}
|
||||
var Fd=[function(a){Gd[a>>8&15].call(this,a)},function(a){dd(this,ld(this,a,S(this,a>>6)));--this.b},function(a){var b=S(this,a>>6);a=S(this,a);ed(this,b-a,a,b);--this.b},function(a){dd(this,S(this,a>>6)&S(this,a));--this.b},function(a){jd(this,a,S(this,a>>6),qd);--this.b},function(a){jd(this,a,S(this,a>>6),sd);--this.b},function(a){jd(this,a,S(this,a>>6),pd);--this.b},function(a){Hd[a>>8&15].call(this,a)},function(a){Id[a>>8&15].call(this,a)},function(a){var b=U(this,a>>6);dd(this,md(this,a,b,2)<<
|
||||
8);--this.b},function(a){var b=U(this,a>>6)<<8;a=U(this,a)<<8;ed(this,b-a,a,b);--this.b},function(a){dd(this,(U(this,a>>6)&U(this,a))<<8);--this.b},function(a){kd(this,a,U(this,a>>6),rd);--this.b},function(a){kd(this,a,U(this,a>>6),td);--this.b},function(a){jd(this,a,S(this,a>>6),ud);--this.b},W],Gd=[function(a){Jd[a>>4&15].call(this,a)},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=
|
||||
-1;--this.b},function(){this.g=-1;--this.b},zd,zd,function(a){Kd[a>>6&3].call(this,a)},function(a){Ld[a>>6&3].call(this,a)},function(a){Md[a>>6&3].call(this,a)},function(a){Nd[a>>6&3].call(this,a)},W,W],Jd=[function(a){Od[a&15].call(this,a)},W,W,W,W,W,W,W,W,W,function(a){Pd[a&15].call(this,a)},function(a){Qd[a&15].call(this,a)},W,W,W,W],Pd=[Bd,function(){this.B=0;--this.b},function(){this.u=0;--this.b},xd,function(){this.w=1;--this.b},xd,xd,xd,function(){this.j=0;--this.b},xd,xd,xd,xd,xd,xd,xd],Qd=
|
||||
[Bd,function(){this.B=65536;--this.b},function(){this.u=32768;--this.b},Cd,function(){this.w=0;--this.b},Cd,Cd,Cd,function(){this.j=32768;--this.b},Cd,Cd,Cd,Cd,Cd,Cd,Cd],Od=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.M&49152||(ad(this),this.H.reset());--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},W,W,W,W,W,W,W,W],Hd=[Ad,Ad,yd,yd,vd,vd,wd,wd,Ed,Ed,
|
||||
W,W,W,W,Dd,Dd],Id=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(a){Rd[a>>6&3].call(this,a)},function(a){Sd[a>>6&3].call(this,a)},function(a){Td[a>>6&3].call(this,a)},function(a){Ud[a>>6&3].call(this,a)},W,W],Kd=[function(a){cd(this,
|
||||
ld(this,a,0));--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Ld=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Md=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Nd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],
|
||||
Rd=[function(a){cd(this,md(this,a,0,1));--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Sd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Td=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Ud=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=
|
||||
-1;--this.b}];function Vd(a){u.call(this,"ROM",a,Vd);this.g=null;this.J=a.addr;this.F=a.size;this.N=a.writable;this.C=a.alias;this.G=a.file;this.P=ea(this.G);if(this.G){a=this.G;var b=fa(this.P);"json"!=b&&"hex"!=b&&(a=ha()+"/api/v1/dump?file="+this.G+"&format=bytes&decimal=true");var d=this;wa(a,null,!0,function(a,b,e){Wd(d,a,b,e)})}}bb(Vd);Vd.prototype.Xa=function(a,b,d,c){this.H=b;this.b=d;this.I=c;Xd(this)};
|
||||
Vd.prototype.Na=function(){if(this.Ka){if(this.I){var a=this.I,b=this.id,d=this.J,c=this.F,f=this.Ka,e=[],h;for(h in f){var g=f[h];"number"==typeof g&&(f[h]=g={o:g});var k=g.o,l=g.a;if(void 0!==k){var n=e,k=[k>>>0,h],p=ra(n,k,a.qc);0>p&&n.splice(-(p+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.N.push({hd:b,D:d,Qc:c,Ka:f,nc:e})}delete this.Ka}return!0};Vd.prototype.Ma=function(){return!0};
|
||||
function Wd(a,b,d,c){if(c)a.oa("Unable to load system ROM (error "+c+": "+b+")");else{db(a.oc,b,d);var f;if("["==d.charAt(0)||"{"==d.charAt(0))try{var e,h,g=eval("("+d+")");if(e=g.bytes)a.g=e;else if(e=g.words)for(a.g=Array(2*e.length),h=f=0;f<e.length;f++)a.g[h++]=e[f]&255,a.g[h++]=e[f]>>8&255;else if(e=g.data)for(a.g=Array(4*e.length),h=f=0;f<e.length;f++)a.g[h++]=e[f]&255,a.g[h++]=e[f]>>8&255,a.g[h++]=e[f]>>16&255,a.g[h++]=e[f]>>24&255;else a.g=g;a.Ka=g.symbols;if(!a.g.length){t("Empty ROM: "+
|
||||
b);return}if(1==a.g.length){t(a.g[0]);return}}catch(k){a.oa("ROM data error: "+k.message);return}else for(b=d.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.g=Array(b.length),f=0;f<b.length;f++)a.g[f]=ca(b[f],16);Xd(a)}}
|
||||
function Xd(a){if(!kb(a))if(!a.G)y(a);else if(a.g&&a.H){a.F||(a.F=a.g.length);if(a.g.length!=a.F)lb(a,"ROM size ("+r(a.g.length,8,!0)+") does not match specified size ("+r(a.F,8,!0)+")");else{var b;b=a.J;if(Jb(a.H,b,a.F,a.N?1:pc)){var d;for(d=0;d<a.g.length;d++){var c=a.H,f=b+d;c.R[(f&c.H)>>>c.Y].yb(f&c.g,a.g[d]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.C?b.push(a.C):null!=a.C&&a.C.length&&(b=a.C);for(d=0;d<b.length;d++){for(var e=a,c=b[d],f=e.H,h=e.F,g=[],k=e.J>>>f.Y;0<h&&k<f.R.length;)g.push(f.R[k++]),
|
||||
h-=f.Aa;f=e.H;e=e.F;h=0;for(c>>>=f.Y;0<e&&c<f.R.length;){k=g[h++];if(!k)break;f.R[c++]=k;e-=f.Aa}}delete a.g}}y(a)}}Sa(function(){for(var a=x(document,"pdp11","rom"),b=0;b<a.length;b++){var d=a[b],c=w(d),c=new Vd(c);gb(c,d)}});function Yd(a){u.call(this,"RAM",a,Yd);this.C=a.addr;this.F=a.size;this.g=!1}bb(Yd);m=Yd.prototype;m.Xa=function(a,b,d,c){this.H=b;this.b=d;this.I=c;y(this)};m.Na=function(a,b){b||this.reset();return!0};m.Ma=function(a){return a?this.save():!0};
|
||||
m.reset=function(){!this.g&&this.F&&Jb(this.H,this.C,this.F,1)&&(this.g=!0);this.g||t("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Sa(function(){for(var a=x(document,"pdp11","ram"),b=0;b<a.length;b++){var d=a[b],c=w(d),c=new Yd(c);gb(c,d)}});function Zd(a){u.call(this,"Keyboard",a,Zd,65536);y(this)}bb(Zd);Zd.prototype.ua=function(){return!1};Zd.prototype.Xa=function(a,b,d,c){this.F=a;this.b=d;this.I=c;this.ea=null};
|
||||
Sa(function(){for(var a=x(document,"pdp11","keyboard"),b=0;b<a.length;b++){var d=a[b],c=w(d),c=new Zd(c);gb(c,d)}});function xe(a){u.call(this,"Debugger",a,xe);this.wa=a.base||16;this.$=this.Ja=this.P=0;this.ba=!1;this.G=-1;this.C=[];this.ga={}}bb(xe);var ye={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||
function ze(a,b,d,c){if(d)if(b){0>a.G&&a.C.length&&(a.G=0);if(0>a.G||b!=a.C[a.G])a.C.splice(0,0,b),a.G=0;a.G--}else a.ba?b="end":b=a.C[a.G+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");d=0;var f=null;c=c||";";for(var e=0;e<=b.length;e++){var h=b.charAt(e);if('"'==h||"'"==h)f?h==f&&(f=null):f=h;else if(h==c&&!f||!h)a.push(qa(b.substring(d,e))),d=e+1}}return a}
|
||||
function Ae(a,b,d){for(d=d||-1;d--&&b.length;){var c=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(c){case "*":c=e*f;break;case "/":if(!f)return!1;c=e/f;break;case "%":if(!f)return!1;c=e%f;break;case "+":c=e+f;break;case "-":c=e-f;break;case "<<":c=e<<f;break;case ">>":c=e>>f;break;case ">>>":c=e>>>f;break;case "<":c=e<f?1:0;break;case "<=":c=e<=f?1:0;break;case ">":c=e>f?1:0;break;case ">=":c=e>=f?1:0;break;case "==":c=e==f?1:0;break;case "!=":c=e!=f?1:0;break;case "&":c=e&f;break;
|
||||
case "^":c=e^f;break;case "|":c=e|f;break;case "&&":c=e&&f?1:0;break;case "||":c=e||f?1:0;break;default:return!1}a.push(c|0)}return!0}
|
||||
function Be(a,b,d){var c;if(b){b=Ce(a,b);for(var f=0,e=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<l.length;){var n=l[f++],p=n.length,n=qa(n);if(!n){e=!0;break}n=De(a,n,null,!1===d);if(void 0===n){e=!0;d=!1;break}g.push(n);if(f==l.length)break;var n=l[f++],q=n.length;k.length&&ye[n]<ye[k[k.length-1]]&&Ae(g,k,1);k.push(n);b=b.substr(p+q)}Ae(g,k)&&1==g.length||(e=!0);e?d&&a.i("error parsing '"+h+"' at character "+(h.length-b.length)):(c=g.pop(),d&&Ee(a,null,
|
||||
c))}return c}function Ce(a,b){for(var d;(d=b.match(/\{(.*?)}/))&&!(0<=d[1].indexOf("{"));){var c=Be(a,d[1]);b=b.replace("{"+d[1]+"}",null!=c?r(c):"undefined")}for(;(d=b.match(/\[(.*?)]/))&&!(0<=d[1].indexOf("["));)b=b.replace("["+d[1]+"]","unimplemented");for(d=b;c=d.match(/\$([a-z]+)/i);){var f=null;switch(c[1].toLowerCase()){case "ops":f=a.$-a.Ja}if(null==f)break;d=d.replace(c[0],f.toString())}return d}
|
||||
function De(a,b,d,c){var f;null!=b?(f=a.ga[b],null==f&&(f=ca(b,a.wa)),null!=f||c||a.i("invalid "+(d?d:"value")+": "+b)):c||a.i("missing "+(d||"value"));return f}function Ee(a,b,d){var c,f=!1;if(void 0!==d){f=!0;c=d;var e=0,h="";if(!e||4<e)e=4;for(var g=0;g<e;g++){h&&(h=","+h);var k=c&255,l=8,n="";l?32<l&&(l=32):l=32;if(null==k||isNaN(k))for(;0<l--;)n="?"+n;else for(;0<l--;)n=(k&1?"1":"0")+n,k>>=1;h=n+h;c>>=8}c=r(d,0,!0)+" "+d+". "+da(d,0,!0)+" "+("0b"+h)}a.i((null!=b?b+": ":"")+c);return f}
|
||||
function Fe(a,b){if(b)return Ee(a,b,a.ga[b]);var d=0;for(b in a.ga)Ee(a,b,a.ga[b]),d++;return 0<d}function X(a,b,d){switch(a.wa){case 8:return da(b,d);case 10:return b.toString();default:return r(b,d)}}
|
||||
function Ge(a){xe.call(this,a);this.W=Y();this.zb=Y();this.aa=Y();this.N=[];this.g=this.X=this.J=[];He(this);this.ya=0;Ie(this);this.Sa=[];Je(this,a.messages);this.mb=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Ke(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Ke(b,a)})}bb(Ge,xe);
|
||||
function U(a){a&1&&(this.B=0);a&2&&(this.u=0);a&4&&(this.w=1);a&8&&(this.j=0);--this.b}function xd(){this.g=-1;--this.b}function yd(){this.g=-1;--this.b}function zd(){this.g=-1;--this.b}function Ad(){--this.b}function Bd(a){a&1&&(this.B=65536);a&2&&(this.u=32768);a&4&&(this.w=0);a&8&&(this.j=32768);--this.b}function Cd(){this.g=-1;--this.b}function Dd(){this.g=-1;--this.b}function V(){K(this,8,48)}function $c(a){Ed[a>>12].call(this,a)}
|
||||
var Ed=[function(a){Fd[a>>8&15].call(this,a)},function(a){dd(this,ld(this,a,R(this,a>>6)));--this.b},function(a){var b=R(this,a>>6);a=R(this,a);ed(this,b-a,a,b);--this.b},function(a){dd(this,R(this,a>>6)&R(this,a));--this.b},function(a){jd(this,a,R(this,a>>6),qd);--this.b},function(a){jd(this,a,R(this,a>>6),sd);--this.b},function(a){jd(this,a,R(this,a>>6),pd);--this.b},function(a){Gd[a>>8&15].call(this,a)},function(a){Hd[a>>8&15].call(this,a)},function(a){var b=S(this,a>>6);dd(this,md(this,a,b,2)<<
|
||||
8);--this.b},function(a){var b=S(this,a>>6)<<8;a=S(this,a)<<8;ed(this,b-a,a,b);--this.b},function(a){dd(this,(S(this,a>>6)&S(this,a))<<8);--this.b},function(a){kd(this,a,S(this,a>>6),rd);--this.b},function(a){kd(this,a,S(this,a>>6),td);--this.b},function(a){jd(this,a,R(this,a>>6),ud);--this.b},V],Fd=[function(a){Id[a>>4&15].call(this,a)},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=
|
||||
-1;--this.b},function(){this.g=-1;--this.b},yd,yd,function(a){Jd[a>>6&3].call(this,a)},function(a){Kd[a>>6&3].call(this,a)},function(a){Ld[a>>6&3].call(this,a)},function(a){Md[a>>6&3].call(this,a)},V,V],Id=[function(a){Nd[a&15].call(this,a)},V,V,V,V,V,V,V,V,V,function(a){Od[a&15].call(this,a)},function(a){Pd[a&15].call(this,a)},V,V,V,V],Od=[Ad,function(){this.B=0;--this.b},function(){this.u=0;--this.b},U,function(){this.w=1;--this.b},U,U,U,function(){this.j=0;--this.b},U,U,U,U,U,U,U],Pd=[Ad,function(){this.B=
|
||||
65536;--this.b},function(){this.u=32768;--this.b},Bd,function(){this.w=0;--this.b},Bd,Bd,Bd,function(){this.j=32768;--this.b},Bd,Bd,Bd,Bd,Bd,Bd,Bd],Nd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.M&49152||(ad(this),this.H.reset());--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},V,V,V,V,V,V,V,V],Gd=[zd,zd,xd,xd,vd,vd,wd,wd,Dd,Dd,V,V,V,V,Cd,Cd],Hd=[function(){this.g=
|
||||
-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(a){Qd[a>>6&3].call(this,a)},function(a){Rd[a>>6&3].call(this,a)},function(a){Sd[a>>6&3].call(this,a)},function(a){Td[a>>6&3].call(this,a)},V,V],Jd=[function(a){cd(this,ld(this,a,0));--this.b},function(){this.g=
|
||||
-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Kd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Ld=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Md=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Qd=[function(a){cd(this,md(this,a,0,1));
|
||||
--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Rd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Sd=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}],Td=[function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b},function(){this.g=-1;--this.b}];
|
||||
function Ud(a){u.call(this,"ROM",a,Ud);this.g=null;this.J=a.addr;this.F=a.size;this.N=a.writable;this.C=a.alias;this.G=a.file;this.P=da(this.G);if(this.G){a=this.G;var b=ea(this.P);"json"!=b&&"hex"!=b&&(a=ha()+"/api/v1/dump?file="+this.G+"&format=bytes&decimal=true");var d=this;ua(a,null,!0,function(a,b,f){Vd(d,a,b,f)})}}w(Ud);Ud.prototype.Xa=function(a,b,d,c){this.H=b;this.b=d;this.I=c;ue(this)};
|
||||
Ud.prototype.Na=function(){if(this.Ka){if(this.I){var a=this.I,b=this.id,d=this.J,c=this.F,e=this.Ka,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var k=g.o,l=g.a;if(void 0!==k){var n=f,k=[k>>>0,h],p=qa(n,k,a.qc);0>p&&n.splice(-(p+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.N.push({hd:b,D:d,Pc:c,Ka:e,nc:f})}delete this.Ka}return!0};Ud.prototype.Ma=function(){return!0};
|
||||
function Vd(a,b,d,c){if(c)a.oa("Unable to load system ROM (error "+c+": "+b+")");else{$a(a.oc,b,d);var e;if("["==d.charAt(0)||"{"==d.charAt(0))try{var f,h,g=eval("("+d+")");if(f=g.bytes)a.g=f;else if(f=g.words)for(a.g=Array(2*f.length),h=e=0;e<f.length;e++)a.g[h++]=f[e]&255,a.g[h++]=f[e]>>8&255;else if(f=g.data)for(a.g=Array(4*f.length),h=e=0;e<f.length;e++)a.g[h++]=f[e]&255,a.g[h++]=f[e]>>8&255,a.g[h++]=f[e]>>16&255,a.g[h++]=f[e]>>24&255;else a.g=g;a.Ka=g.symbols;if(!a.g.length){t("Empty ROM: "+
|
||||
b);return}if(1==a.g.length){t(a.g[0]);return}}catch(k){a.oa("ROM data error: "+k.message);return}else for(b=d.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.g=Array(b.length),e=0;e<b.length;e++)a.g[e]=aa(b[e],16);ue(a)}}
|
||||
function ue(a){if(!gb(a))if(!a.G)A(a);else if(a.g&&a.H){a.F||(a.F=a.g.length);if(a.g.length!=a.F)hb(a,"ROM size ("+r(a.g.length,8,!0)+") does not match specified size ("+r(a.F,8,!0)+")");else{var b;b=a.J;if(Gb(a.H,b,a.F,a.N?1:nc)){var d;for(d=0;d<a.g.length;d++){var c=a.H,e=b+d;c.R[(e&c.H)>>>c.Y].yb(e&c.g,a.g[d]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.C?b.push(a.C):null!=a.C&&a.C.length&&(b=a.C);for(d=0;d<b.length;d++){for(var f=a,c=b[d],e=f.H,h=f.F,g=[],k=f.J>>>e.Y;0<h&&k<e.R.length;)g.push(e.R[k++]),
|
||||
h-=e.Aa;e=f.H;f=f.F;h=0;for(c>>>=e.Y;0<f&&c<e.R.length;){k=g[h++];if(!k)break;e.R[c++]=k;f-=e.Aa}}delete a.g}}A(a)}}Pa(function(){for(var a=y(document,"pdp11","rom"),b=0;b<a.length;b++){var d=a[b],c=x(d),c=new Ud(c);cb(c,d)}});function ve(a){u.call(this,"RAM",a,ve);this.C=a.addr;this.F=a.size;this.g=!1}w(ve);m=ve.prototype;m.Xa=function(a,b,d,c){this.H=b;this.b=d;this.I=c;A(this)};m.Na=function(a,b){b||this.reset();return!0};m.Ma=function(a){return a?this.save():!0};
|
||||
m.reset=function(){!this.g&&this.F&&Gb(this.H,this.C,this.F,1)&&(this.g=!0);this.g||t("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Pa(function(){for(var a=y(document,"pdp11","ram"),b=0;b<a.length;b++){var d=a[b],c=x(d),c=new ve(c);cb(c,d)}});function we(a){u.call(this,"Keyboard",a,we,65536);A(this)}w(we);we.prototype.ua=function(){return!1};we.prototype.Xa=function(a,b,d,c){this.F=a;this.b=d;this.I=c;this.ea=null};
|
||||
Pa(function(){for(var a=y(document,"pdp11","keyboard"),b=0;b<a.length;b++){var d=a[b],c=x(d),c=new we(c);cb(c,d)}});function xe(a){u.call(this,"Debugger",a,xe);this.wa=a.base||16;this.$=this.Ja=this.P=0;this.ba=!1;this.G=-1;this.C=[];this.ga={}}w(xe);var ye={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||
function ze(a,b,d,c){if(d)if(b){0>a.G&&a.C.length&&(a.G=0);if(0>a.G||b!=a.C[a.G])a.C.splice(0,0,b),a.G=0;a.G--}else a.ba?b="end":b=a.C[a.G+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");d=0;var e=null;c=c||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==c&&!e||!h)a.push(pa(b.substring(d,f))),d=f+1}}return a}
|
||||
function Ae(a,b,d){for(d=d||-1;d--&&b.length;){var c=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(c){case "*":c=f*e;break;case "/":if(!e)return!1;c=f/e;break;case "%":if(!e)return!1;c=f%e;break;case "+":c=f+e;break;case "-":c=f-e;break;case "<<":c=f<<e;break;case ">>":c=f>>e;break;case ">>>":c=f>>>e;break;case "<":c=f<e?1:0;break;case "<=":c=f<=e?1:0;break;case ">":c=f>e?1:0;break;case ">=":c=f>=e?1:0;break;case "==":c=f==e?1:0;break;case "!=":c=f!=e?1:0;break;case "&":c=f&e;break;
|
||||
case "^":c=f^e;break;case "|":c=f|e;break;case "&&":c=f&&e?1:0;break;case "||":c=f||e?1:0;break;default:return!1}a.push(c|0)}return!0}
|
||||
function Be(a,b,d){var c;if(b){b=Ce(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],p=n.length,n=pa(n);if(!n){f=!0;break}n=De(a,n,null,!1===d);if(void 0===n){f=!0;d=!1;break}g.push(n);if(e==l.length)break;var n=l[e++],q=n.length;k.length&&ye[n]<ye[k[k.length-1]]&&Ae(g,k,1);k.push(n);b=b.substr(p+q)}Ae(g,k)&&1==g.length||(f=!0);f?d&&a.i("error parsing '"+h+"' at character "+(h.length-b.length)):(c=g.pop(),d&&Ee(a,null,
|
||||
c))}return c}function Ce(a,b){for(var d;(d=b.match(/\{(.*?)}/))&&!(0<=d[1].indexOf("{"));){var c=Be(a,d[1]);b=b.replace("{"+d[1]+"}",null!=c?r(c):"undefined")}for(;(d=b.match(/\[(.*?)]/))&&!(0<=d[1].indexOf("["));)b=b.replace("["+d[1]+"]","unimplemented");for(d=b;c=d.match(/\$([a-z]+)/i);){var e=null;switch(c[1].toLowerCase()){case "ops":e=a.$-a.Ja}if(null==e)break;d=d.replace(c[0],e.toString())}return d}
|
||||
function De(a,b,d,c){var e;null!=b?(e=a.ga[b],null==e&&(e=aa(b,a.wa)),null!=e||c||a.i("invalid "+(d?d:"value")+": "+b)):c||a.i("missing "+(d||"value"));return e}function Ee(a,b,d){var c,e=!1;if(void 0!==d){e=!0;c=d;var f=0,h="";if(!f||4<f)f=4;for(var g=0;g<f;g++){h&&(h=","+h);var k=c&255,l=8,n="";l?32<l&&(l=32):l=32;if(null==k||isNaN(k))for(;0<l--;)n="?"+n;else for(;0<l--;)n=(k&1?"1":"0")+n,k>>=1;h=n+h;c>>=8}c=r(d,0,!0)+" "+d+". "+ca(d,0,!0)+" "+("0b"+h)}a.i((null!=b?b+": ":"")+c);return e}
|
||||
function Fe(a,b){if(b)return Ee(a,b,a.ga[b]);var d=0;for(b in a.ga)Ee(a,b,a.ga[b]),d++;return 0<d}function W(a,b,d){switch(a.wa){case 8:return ca(b,d);case 10:return b.toString();default:return r(b,d)}}
|
||||
function Ge(a){xe.call(this,a);this.W=Y();this.zb=Y();this.aa=Y();this.N=[];this.g=this.X=this.J=[];He(this);this.ya=0;Ie(this);this.Sa={};Je(this,a.messages);this.mb=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Ke(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Ke(b,a)})}w(Ge,xe);
|
||||
var Le={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},Me="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
||||
Ne={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]}};m=Ge.prototype;
|
||||
m.Xa=function(a,b,d,c){this.H=b;this.b=d;this.F=a;(a=Cc(a,"messages"))&&Je(this,a);this.rc=Ne;Oe(this,function(a){a:{var b=c.H.R,d=a[0],g=a=0,k=b.length;if(d){a=Z(Pe(c,d));if(-1===a){c.i("invalid address: "+d);break a}g=a>>>c.H.Y;k=1}c.i("blockid physical blockaddr used size type");c.i("-------- --------- ---------- ------ ------ ----");for(var d=-1,l=0;k--;){var n=b[g];n.type==d?l++||c.i("..."):(d=n.type,l=Mb[d],n&&c.i(r(n.id,8)+" %"+r(g<<c.H.Y,8)+" %%"+r(n.D,8)+" "+r(n.Ub,4,
|
||||
!0)+" "+r(n.size,4,!0)+" "+l),d!=oc&&(d=-1),l=0);a+=c.H.Aa;g++}}});y(this)};
|
||||
m.ua=function(a,b,d){var c=this;switch(b){case "debugInput":return this.va=this.O[b]=d,d.onkeydown=function(a){var b;if(13==a.keyCode)b=d.value,d.value="",Ke(c,b,!0);else if(27==a.keyCode)d.value=b="";else if(38==a.keyCode?(b=null,c.G<c.C.length-1&&(b=c.C[++c.G])):40==a.keyCode&&(0<c.G?b=c.C[--c.G]:(b="",c.G=-1)),null!=b){var h=b.length;d.value=b;d.setSelectionRange(h,h)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.O[b]=d,Ha(d,function(){if(c.va){var a=c.va.value;
|
||||
c.va.value="";Ke(c,a,!0);return!0}return!1}),!0;case "step":return this.O[b]=d,Ha(d,function(a){var b=!1;jb(c,!0)||(ib(c,!0),b=c.wb(a?1:0),ib(c,!1));return b}),!0}return!1};m.Tb=function(){this.va&&this.va.focus()};function Z(a){a=a&&a.D;null==a&&(a=-1);return a}m.Hb=function(a,b){var d=255,c=Z(a);-1!==c&&(d=this.H,d=d.R[(c&d.H)>>>d.Y].Ob(c&d.g,c),b&&Qe(a,b));return d};m.Ha=function(a,b){var d=65535,c=Z(a);-1!==c&&(d=Nb(this.H,c),b&&Qe(a,b));return d};
|
||||
m.bc=function(a,b,d){var c=Z(a);if(-1!==c){var f=this.H;f.R[(c&f.H)>>>f.Y].yb(c&f.g,b&255,c);d&&Qe(a,d);Fc(this.b,!0)}};m.jc=function(a,b,d){var c=Z(a);if(-1!==c){var f=this.H,e=c&f.g,h=(c&f.H)>>>f.Y;e!=f.g?f.R[h].lc(e,b&65535,c):(f.R[h++].yb(e,b&255,c),f.R[h&f.F].yb(0,b>>8&255,c+1));d&&Qe(a,d);Fc(this.b,!0)}};function Y(a){return{D:a,Ga:!1}}function Re(a){return[a.D,a.Ga]}function Se(a){return{D:a[0],Ga:a[1]}}
|
||||
function Pe(a,b,d){var c;d=(d?a.W:a.zb).D;if(void 0!==b){c=b=Ce(a,b);var f;if(c.match(/^[a-z_][a-z0-9_]*$/i))for(c=c.toUpperCase(),d=0;d<a.N.length;d++){var e=a.N[d].Ka[c];if(void 0!==e){c=e.o;void 0!==c&&(f=Y(c));break}}if(c=f)return c;d=Be(a,b,void 0)}null!=d&&(c=Y(d));return c}function Te(a,b,d){d&&(d=d.match(/(['"])(.*?)\1/))&&(b.Gc=ze(a,b.Bc=d[2]))}function Qe(a,b){null!=a.D&&(a.D+=b||1)}
|
||||
function Je(a,b){a.I=a;a.ia=a.Hc=536870912;a.za=null;a.Ea=[];var d=ze(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(d.length)for(var c in Ab){var f;a:if(f=void 0,Array.prototype.indexOf)f=d.indexOf(c,f);else{f=f||0;0>f&&(f+=d.length);0>f&&(f=0);for(var e=d.length;f<e;f++)if(f in d&&d[f]===c)break a;f=-1}0<=f&&(a.ia|=Ab[c],a.i(c+" messages enabled"))}}function Oe(a,b){for(var d in Ab)if(64==Ab[d]){a.Sa[d]=b;break}}
|
||||
m.message=function(a,b){b&&(a+=" at "+X(this,Y(this.b.f[7]).D));if(this.ia&1073741824)this.Ea.push(a);else if(!this.za||a!=this.za)if(this.za=a,this.ia&-2147483648&&(this.ma(),a+=" (cpu halted)"),this.i(a),this.b){var d=this.b;Yc(d);d.aa=0;Fc(d)}};m.Ib=function(){this.i("Type ? for help with PDP11 Debugger commands");this.xa();if(this.mb){var a=this.mb;this.mb=null;Ke(this,a)}};
|
||||
m.Xa=function(a,b,d,c){this.H=b;this.b=d;this.F=a;(a=Ac(a,"messages"))&&Je(this,a);this.rc=Ne;Oe(this,function(a){a:{var b=c.H.R,d=a[0],e=a=0,k=b.length;if(d){a=Z(Pe(c,d));if(-1===a){c.i("invalid address: "+d);break a}e=a>>>c.H.Y;k=1}c.i("blockid physical blockaddr used size type");c.i("-------- --------- ---------- ------ ------ ----");for(var d=-1,l=0;k--;){var n=b[e];n.type==d?l++||c.i("..."):(d=n.type,l=Jb[d],n&&c.i(r(n.id,8)+" %"+r(e<<c.H.Y,8)+" %%"+r(n.D,8)+" "+r(n.Ub,4,
|
||||
!0)+" "+r(n.size,4,!0)+" "+l),d!=mc&&(d=-1),l=0);a+=c.H.Aa;e++}}});A(this)};
|
||||
m.ua=function(a,b,d){var c=this;switch(b){case "debugInput":return this.va=this.O[b]=d,d.onkeydown=function(a){var b;if(13==a.keyCode)b=d.value,d.value="",Ke(c,b,!0);else if(27==a.keyCode)d.value=b="";else if(38==a.keyCode?(b=null,c.G<c.C.length-1&&(b=c.C[++c.G])):40==a.keyCode&&(0<c.G?b=c.C[--c.G]:(b="",c.G=-1)),null!=b){var e=b.length;d.value=b;d.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.O[b]=d,Fa(d,function(){if(c.va){var a=c.va.value;
|
||||
c.va.value="";Ke(c,a,!0);return!0}return!1}),!0;case "step":return this.O[b]=d,Fa(d,function(a){var b=!1;fb(c,!0)||(eb(c,!0),b=c.wb(a?1:0),eb(c,!1));return b}),!0}return!1};m.Tb=function(){this.va&&this.va.focus()};function Z(a){a=a&&a.D;null==a&&(a=-1);return a}m.Hb=function(a,b){var d=255,c=Z(a);-1!==c&&(d=this.H,d=d.R[(c&d.H)>>>d.Y].Ob(c&d.g,c),b&&Qe(a,b));return d};m.Ha=function(a,b){var d=65535,c=Z(a);-1!==c&&(d=Kb(this.H,c),b&&Qe(a,b));return d};
|
||||
m.bc=function(a,b,d){var c=Z(a);if(-1!==c){var e=this.H;e.R[(c&e.H)>>>e.Y].yb(c&e.g,b&255,c);d&&Qe(a,d);Dc(this.b,!0)}};m.jc=function(a,b,d){var c=Z(a);if(-1!==c){var e=this.H,f=c&e.g,h=(c&e.H)>>>e.Y;f!=e.g?e.R[h].lc(f,b&65535,c):(e.R[h++].yb(f,b&255,c),e.R[h&e.F].yb(0,b>>8&255,c+1));d&&Qe(a,d);Dc(this.b,!0)}};function Y(a){return{D:a,Ga:!1}}function Re(a){return[a.D,a.Ga]}function Se(a){return{D:a[0],Ga:a[1]}}
|
||||
function Pe(a,b,d){var c;d=(d?a.W:a.zb).D;if(void 0!==b){c=b=Ce(a,b);var e;if(c.match(/^[a-z_][a-z0-9_]*$/i))for(c=c.toUpperCase(),d=0;d<a.N.length;d++){var f=a.N[d].Ka[c];if(void 0!==f){c=f.o;void 0!==c&&(e=Y(c));break}}if(c=e)return c;d=Be(a,b,void 0)}null!=d&&(c=Y(d));return c}function Te(a,b,d){d&&(d=d.match(/(['"])(.*?)\1/))&&(b.Fc=ze(a,b.Ac=d[2]))}function Qe(a,b){null!=a.D&&(a.D+=b||1)}
|
||||
function Je(a,b){a.I=a;a.ia=a.Gc=536870912;a.za=null;a.Ea=[];var d=ze(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(d.length)for(var c in xb){var e;a:if(e=void 0,Array.prototype.indexOf)e=d.indexOf(c,e);else{e=e||0;0>e&&(e+=d.length);0>e&&(e=0);for(var f=d.length;e<f;e++)if(e in d&&d[e]===c)break a;e=-1}0<=e&&(a.ia|=xb[c],a.i(c+" messages enabled"))}}function Oe(a,b){for(var d in xb)if(64==xb[d]){a.Sa[d]=b;break}}
|
||||
m.message=function(a,b){b&&(a+=" at "+W(this,Y(this.b.f[7]).D));if(this.ia&1073741824)this.Ea.push(a);else if(!this.za||a!=this.za)if(this.za=a,this.ia&-2147483648&&(this.ma(),a+=" (cpu halted)"),this.i(a),this.b){var d=this.b;Yc(d);d.aa=0;Dc(d)}};m.Ib=function(){this.i("Type ? for help with PDP11 Debugger commands");this.xa();if(this.mb){var a=this.mb;this.mb=null;Ke(this,a)}};
|
||||
function Ie(a){var b;if(nd(a)){if(!a.T||!a.T.length){a.T=Array(1E3);for(b=0;b<a.T.length;b++)a.T[b]=Y();a.ra=0;a.i("instruction history buffer allocated")}if(!a.ha||!a.ha.length)for(a.ha=Array(256),b=0;b<a.ha.length;b++)a.ha[b]=[b,0]}else a.T&&a.T.length&&a.i("instruction history buffer freed"),a.ra=0,a.T=[],a.ha=[]}m.lb=function(a){if(!Ue(this))return!1;this.b.lb(a);return!0};
|
||||
m.wb=function(a,b,d){if(!Ue(this))return!1;this.P=0;a||nd(this)&&od(this,this.b.f[7],0);try{var c=this.b.wb(a);0<c&&(this.P+=c,Wc(this.b,c,!0),Gc(this.b,c),this.$++)}catch(f){"number"!=typeof f&&(this.P=0,lb(this.b,f.stack||f.message))}!1!==d&&Fc(this.b);this.xa(b||!1);return 0<this.P};m.ma=function(a){this.b&&this.b.ma(a)};m.xa=function(a){void 0===a&&(a=!0);this.W=Y(this.b.f[7]);a&&1!=this.ea?Ve(this):We(this)};
|
||||
function Ue(a){var b;if(b=a.b&&kb(a.b))b=a.b,b.A.fa?b=!0:(b.i(b.toString()+" not powered"),b=!1);b&&!jb(a.b)?(a=a.b,a.A.error?(a.i(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.Na=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.Ma=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){Ie(this);this.$=this.Ja=0;this.za=null;this.P=0;this.W=Y(this.b.f[7]);this.A.ja=!1;Xe(this);a||this.xa()};
|
||||
m.save=function(){var a=new bd(this);N(a,0,Re(this.W));N(a,1,Re(this.aa));N(a,2,[this.C,this.ba,this.ia]);N(a,3,this.N);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.W=Se(a[b++]),this.aa=Se(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.ba=a[b][1],this.ia|=a[b][2]);a[3]&&(this.N=a[3]);return!0};m.start=function(a,b){this.ea||this.i("running");this.A.ja=!0;this.Kc=a;this.Mc=b};
|
||||
m.stop=function(a,b){if(this.A.ja){this.A.ja=!1;this.P=b-this.Mc;if(!this.ea){var d="stopped";if(this.P){var c=a-this.Kc,f=0<c?Math.round(1E3*this.P/c):0,d=d+" (";nd(this)&&(d+=this.$+" opcodes, ",this.Ja-=this.$,this.$=0);d+=this.P+" cycles, "+c+" ms, "+f+" hz)"}else hb(this,-2147483648)&&(d+=" (use the 't' command to execute blocked faults)");this.i(d)}this.xa(!0);this.Tb();Xe(this,this.b.f[7])}};function nd(a){return 1<a.g.length||!!a.ya}
|
||||
function od(a,b,d){var c=a.b;if(0<d&&(a.ya&&!--a.ya||xc(a,b,1,a.g)))return!0;0<=d&&a.ha.length&&(a.$++,null!=Nb(a.H,b)&&(b=a.T[a.ra],b.D=c.f[7],b.Ga=!1,++a.ra==a.T.length&&(a.ra=0)));return!1}function He(a){var b,d;a.g=["bp"];if(void 0!==a.X)for(b=1;b<a.X.length;b++){d=a.X[b];var c=a.H;yc(c.R[Z(d)>>>c.Y],!1)}a.X=["br"];if(void 0!==a.J)for(b=1;b<a.J.length;b++)d=a.J[b],c=a.H,yc(c.R[Z(d)>>>c.Y],!0);a.J=["bw"];a.Eb=0}
|
||||
m.eb=function(a,b,d){var c=!0;d||Ye(this,a,b,!1,!0);if(a!=this.g){var f=Z(b);if(-1===f)this.i("invalid address: "+X(this,b.D)),c=!1;else{var e=this.H;e.R[f>>>e.Y].eb(f&e.g,a==this.J)}}c&&(a.push(b),d?b.Ga=!0:(Ze(this,a,a.length-1,"set"),Ie(this)));return c};function Ye(a,b,d,c,f){var e=!1;d=Z(d);for(var h=1;h<b.length;h++){var g=b[h];if(d==Z(g)&&(!c||g.Ga)){e=!0;g.Ga||f||Ze(a,b,h,"cleared");b.splice(h,1);b!=a.g&&(c=a.H,yc(c.R[d>>>c.Y],b==a.J));g.Ga||Ie(a);break}}return e}
|
||||
function $e(a,b){for(var d=1;d<b.length;d++)Ze(a,b,d);return b.length-1}function Ze(a,b,d,c){d=b[d];a.i(b[0]+" "+X(a,d.D)+(c?" "+c:d.Bc?' "'+d.Bc+'"':""))}function Xe(a,b){if(void 0!==b)xc(a,b,1,a.g,!0),a.ea=0;else for(var d=1;d<a.g.length;d++){var c=a.g[d];if(c.Ga){if(!Ye(a,a.g,c,!0))break;d=0}}}
|
||||
function xc(a,b,d,c,f){var e=!1;if(!a.Eb++)for(var h=1;!e&&h<c.length;h++){var g=c[h];if(!f||g.Ga)for(var k=Z(g),l=0;l<d;l++)if(b+l==k){var n,e=!0;g.Ga&&(Ye(a,c,g,!0),f=!0);if(n=g.Gc){for(var e=!1,p=0;p<n.length;p++)if(!af(a,n[p],!0)){if(n[p].indexOf("if")){e=!0;break}for(var q=p+1;q<n.length&&n[q].indexOf("else");q++)p++;if(q==n.length){e=!0;break}}a.b.A.ja||(e=!0)}if(e){f||Ze(a,c,h,"hit");break}}}a.Eb--;return e}
|
||||
function bf(a,b,d,c){var f=Y(b.D),e=a.Ha(b,2),h,g;for(g in a.rc)if(h=a.rc[g][e&g])break;h||(h=[0]);g="";for(var k=Me[h[0]],l=h.length-1,n=1;n<=l;n++){var p=h[n];if(void 0!==p){var q;q=a;var G=p,p=b,z="",A=void 0,A=void 0,A=G&61440;if(4096==A)A=(e&255)<<24>>23,A=p.D+A&65535,z=X(q,A);else if(8192==A)A=(e&63)<<1,A=p.D-A&65535,z=X(q,A);else if(12288==A)A=e&7,z=X(q,A,2);else if(24576==A)A=e&63,z=X(q,A);else if(A=e&G,G&4032&&(A>>=6,G>>=6),G&63){var G=void 0,F=A&7;switch(A&56){case 0:z=cf(F);break;case 8:z=
|
||||
"@"+cf(F);break;case 16:7>F?z="("+cf(F)+")+":(G=q.Ha(p,2),z="#"+X(q,G));break;case 24:7>F?z="@("+cf(F)+")+":(G=q.Ha(p,2),z="@#"+X(q,G));break;case 32:z="-("+cf(F)+")";break;case 40:z="@-("+cf(F)+")";break;case 48:G=q.Ha(p,2);z=X(q,G)+"("+cf(F)+")";7==F&&(z=[z,X(q,G+p.D&65535)]);break;case 56:G=q.Ha(p,2),z="@"+X(q,G)+"("+cf(F)+")",7==F&&(z=[z,X(q,G+p.D&65535)])}}q=z;if(!q||!q.length){g="INVALID";break}"string"!=typeof q&&(d||(d=q[1]),q=q[0]);0<g.length&&(g+=",");g+=q||"???"}}e="";h=X(a,f.D)+":";if(-1!==
|
||||
f.D&&-1!==b.D){do if(e+=" "+X(a,a.Ha(f,2)),null==f.D)break;while(f.D!=b.D)}h+=pa(e,24);h+=pa(k,5);g&&(h+=" "+g);d&&(h=pa(h,60)+";"+d,h=a.b.A.ob?h+("cycles="+Hc(a.b).toString()+" cs="+r(a.b.Lb)):h+(null!=c?"="+c.toString():""));return h}function df(a,b){var d;switch(b){case "N":d=a.b.j&32768?8:0;break;case "Z":d=a.b.w&65535?0:4;break;case "V":d=a.b.u&32768?2:0;break;case "C":d=a.b.B&65536?1:0;break;default:d=0}return b.charAt(0)+(d?"1":"0")+" "}function cf(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
||||
function ef(a,b){var d="",c=a.b;8>b?(d=cf(b),d+="="+X(a,c.f[b])):13>b?d="A"+(b-8)+"="+X(a,c.Za[b-8]):16<=b&&20>b?d="S"+(b-16)+"="+X(a,c.sa[b-16]):20==b&&(d="PS="+X(a,Rb(c)));d&&(d+=" ");return d}function ff(a){var b,d="";for(b=0;6>b;b++)d+=ef(a,b);d=d+"\n"+(ef(a,6)+ef(a,7)+ef(a,20));return d+=df(a,"T")+df(a,"N")+df(a,"Z")+df(a,"V")+df(a,"C")}m.qc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function gf(a,b,d){var c=[],f=Z(b)>>>0;for(b=0;b<a.N.length;b++){var e=a.N[b],h=e.D>>>0,g=e.Qc;if(f>=h&&f<h+g){f=ra(e.nc,[f-h],a.qc);0<=f?hf(a,b,f,c):d&&(f=~f,hf(a,b,f-1,c),hf(a,b,f,c));break}}return c}function hf(a,b,d,c){var f={},e=a.N[b].nc,h=0,g=null;0<=d&&d<e.length&&(h=e[d][0],g=e[d][1]);g&&(f=a.N[b].Ka[g],g="."==g.charAt(0)?null:f.l||g);c.push(g);c.push(h);c.push(f.a);c.push(f.c)}
|
||||
m.wb=function(a,b,d){if(!Ue(this))return!1;this.P=0;a||nd(this)&&od(this,this.b.f[7],0);try{var c=this.b.wb(a);0<c&&(this.P+=c,Wc(this.b,c,!0),Ec(this.b,c),this.$++)}catch(e){"number"!=typeof e&&(this.P=0,hb(this.b,e.stack||e.message))}!1!==d&&Dc(this.b);this.xa(b||!1);return 0<this.P};m.ma=function(a){this.b&&this.b.ma(a)};m.xa=function(a){void 0===a&&(a=!0);this.W=Y(this.b.f[7]);a&&1!=this.ea?Ve(this):We(this)};
|
||||
function Ue(a){var b;if(b=a.b&&gb(a.b))b=a.b,b.A.fa?b=!0:(b.i(b.toString()+" not powered"),b=!1);b&&!fb(a.b)?(a=a.b,a.A.error?(a.i(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.Na=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.Ma=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){Ie(this);this.$=this.Ja=0;this.za=null;this.P=0;this.W=Y(this.b.f[7]);this.A.ja=!1;Xe(this);a||this.xa()};
|
||||
m.save=function(){var a=new bd(this);a.set(0,Re(this.W));a.set(1,Re(this.aa));a.set(2,[this.C,this.ba,this.ia]);a.set(3,this.N);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.W=Se(a[b++]),this.aa=Se(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.ba=a[b][1],this.ia|=a[b][2]);a[3]&&(this.N=a[3]);return!0};m.start=function(a,b){this.ea||this.i("running");this.A.ja=!0;this.Jc=a;this.Lc=b};
|
||||
m.stop=function(a,b){if(this.A.ja){this.A.ja=!1;this.P=b-this.Lc;if(!this.ea){var d="stopped";if(this.P){var c=a-this.Jc,e=0<c?Math.round(1E3*this.P/c):0,d=d+" (";nd(this)&&(d+=this.$+" opcodes, ",this.Ja-=this.$,this.$=0);d+=this.P+" cycles, "+c+" ms, "+e+" hz)"}else db(this,-2147483648)&&(d+=" (use the 't' command to execute blocked faults)");this.i(d)}this.xa(!0);this.Tb();Xe(this,this.b.f[7])}};function nd(a){return 1<a.g.length||!!a.ya}
|
||||
function od(a,b,d){var c=a.b;if(0<d&&(a.ya&&!--a.ya||vc(a,b,1,a.g)))return!0;0<=d&&a.ha.length&&(a.$++,null!=Kb(a.H,b)&&(b=a.T[a.ra],b.D=c.f[7],b.Ga=!1,++a.ra==a.T.length&&(a.ra=0)));return!1}function He(a){var b,d;a.g=["bp"];if(a.X)for(b=1;b<a.X.length;b++){d=a.X[b];var c=a.H;wc(c.R[Z(d)>>>c.Y],!1)}a.X=["br"];if(a.J)for(b=1;b<a.J.length;b++)d=a.J[b],c=a.H,wc(c.R[Z(d)>>>c.Y],!0);a.J=["bw"];a.Eb=0}
|
||||
m.eb=function(a,b,d){var c=!0;d||Ye(this,a,b,!1,!0);if(a!=this.g){var e=Z(b);if(-1===e)this.i("invalid address: "+W(this,b.D)),c=!1;else{var f=this.H;f.R[e>>>f.Y].eb(e&f.g,a==this.J)}}c&&(a.push(b),d?b.Ga=!0:(Ze(this,a,a.length-1,"set"),Ie(this)));return c};function Ye(a,b,d,c,e){var f=!1;d=Z(d);for(var h=1;h<b.length;h++){var g=b[h];if(d==Z(g)&&(!c||g.Ga)){f=!0;g.Ga||e||Ze(a,b,h,"cleared");b.splice(h,1);b!=a.g&&(c=a.H,wc(c.R[d>>>c.Y],b==a.J));g.Ga||Ie(a);break}}return f}
|
||||
function $e(a,b){for(var d=1;d<b.length;d++)Ze(a,b,d);return b.length-1}function Ze(a,b,d,c){d=b[d];a.i(b[0]+" "+W(a,d.D)+(c?" "+c:d.Ac?' "'+d.Ac+'"':""))}function Xe(a,b){if(void 0!==b)vc(a,b,1,a.g,!0),a.ea=0;else for(var d=1;d<a.g.length;d++){var c=a.g[d];if(c.Ga){if(!Ye(a,a.g,c,!0))break;d=0}}}
|
||||
function vc(a,b,d,c,e){var f=!1;if(!a.Eb++)for(var h=1;!f&&h<c.length;h++){var g=c[h];if(!e||g.Ga)for(var k=Z(g),l=0;l<d;l++)if(b+l==k){var n,f=!0;g.Ga&&(Ye(a,c,g,!0),e=!0);if(n=g.Fc){for(var f=!1,p=0;p<n.length;p++)if(!af(a,n[p],!0)){if(n[p].indexOf("if")){f=!0;break}for(var q=p+1;q<n.length&&n[q].indexOf("else");q++)p++;if(q==n.length){f=!0;break}}a.b.A.ja||(f=!0)}if(f){e||Ze(a,c,h,"hit");break}}}a.Eb--;return f}
|
||||
function bf(a,b,d,c){var e=Y(b.D),f=a.Ha(b,2),h,g;for(g in a.rc)if(h=a.rc[g][f&g])break;h||(h=[0]);g="";for(var k=Me[h[0]],l=h.length-1,n=1;n<=l;n++){var p=h[n];if(void 0!==p){var q;q=a;var E=p,p=b,z="",F=E&61440;if(4096==F)p=p.D+((f&255)<<24>>23)&65535,z=W(q,p);else if(8192==F)p=p.D-((f&63)<<1)&65535,z=W(q,p);else if(12288==F)z=W(q,f&7,2);else if(24576==F)z=W(q,f&63);else if(F=f&E,E&4032&&(F>>=6,E>>=6),E&63)switch(E=F&7,F&56){case 0:z=cf(E);break;case 8:z="@"+cf(E);break;case 16:7>E?z="("+cf(E)+
|
||||
")+":(F=q.Ha(p,2),z="#"+W(q,F));break;case 24:7>E?z="@("+cf(E)+")+":(F=q.Ha(p,2),z="@#"+W(q,F));break;case 32:z="-("+cf(E)+")";break;case 40:z="@-("+cf(E)+")";break;case 48:F=q.Ha(p,2);z=W(q,F)+"("+cf(E)+")";7==E&&(z=[z,W(q,F+p.D&65535)]);break;case 56:F=q.Ha(p,2),z="@"+W(q,F)+"("+cf(E)+")",7==E&&(z=[z,W(q,F+p.D&65535)])}q=z;if(!q||!q.length){g="INVALID";break}"string"!=typeof q&&(d||(d=q[1]),q=q[0]);0<g.length&&(g+=",");g+=q||"???"}}f="";h=W(a,e.D)+":";if(-1!==e.D&&-1!==b.D){do if(f+=" "+W(a,a.Ha(e,
|
||||
2)),null==e.D)break;while(e.D!=b.D)}h+=oa(f,24);h+=oa(k,5);g&&(h+=" "+g);d&&(h=oa(h,60)+";"+d,h=a.b.A.ob?h+("cycles="+Tc(a.b).toString()+" cs="+r(a.b.Lb)):h+(null!=c?"="+c.toString():""));return h}function df(a,b){var d;switch(b){case "N":d=a.b.j&32768?8:0;break;case "Z":d=a.b.w&65535?0:4;break;case "V":d=a.b.u&32768?2:0;break;case "C":d=a.b.B&65536?1:0;break;default:d=0}return b.charAt(0)+(d?"1":"0")+" "}function cf(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
||||
function ef(a,b){var d="",c=a.b;8>b?(d=cf(b),d+="="+W(a,c.f[b])):13>b?d="A"+(b-8)+"="+W(a,c.Za[b-8]):16<=b&&20>b?d="S"+(b-16)+"="+W(a,c.sa[b-16]):20==b&&(d="PS="+W(a,$b(c)));d&&(d+=" ");return d}function ff(a){var b,d="";for(b=0;6>b;b++)d+=ef(a,b);d=d+"\n"+(ef(a,6)+ef(a,7)+ef(a,20));return d+=df(a,"T")+df(a,"N")+df(a,"Z")+df(a,"V")+df(a,"C")}m.qc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function gf(a,b,d){var c=[],e=Z(b)>>>0;for(b=0;b<a.N.length;b++){var f=a.N[b],h=f.D>>>0,g=f.Pc;if(e>=h&&e<h+g){e=qa(f.nc,[e-h],a.qc);0<=e?hf(a,b,e,c):d&&(e=~e,hf(a,b,e-1,c),hf(a,b,e,c));break}}return c}function hf(a,b,d,c){var e={},f=a.N[b].nc,h=0,g=null;0<=d&&d<f.length&&(h=f[d][0],g=f[d][1]);g&&(e=a.N[b].Ka[g],g="."==g.charAt(0)?null:e.l||g);c.push(g);c.push(h);c.push(e.a);c.push(e.c)}
|
||||
function jf(a,b){var d=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(d){if(!d[1])return Fe(a)||a.i("no variables"),!0;if(!d[2])return Fe(a,d[1]);if(!d[3])return delete a.ga[d[1]],!0;var c=Be(a,d[3]);return void 0!==c?(a.ga[d[1]]=c,!0):!1}a.i("invalid assignment:"+b);return!1}
|
||||
function kf(a,b,d){var c=null;if(b=Pe(a,b,!0)){var f=gf(a,b,!0);if(f.length){var e,h;f[0]&&(h="",(e=b.D-f[1])&&(h=" + "+r(e,4,!0)),e=f[0]+" ("+X(a,f[1])+")"+h,d&&a.i(e),c=e);4<f.length&&f[4]&&(h="",(e=f[5]-b.D)&&(h=" - "+r(e,4,!0)),e=f[4]+" ("+X(a,f[5])+")"+h,d&&a.i(e),c||(c=e))}else d&&a.i("no symbols")}return c}
|
||||
function Ve(a,b){var d;if(b&&"?"==b[1])a.i("register commands:"),a.i("\tr\tdump registers"),a.i("\trx [#]\tset flag or register x to [#]");else{var c=a.b;null==d&&(d=!0);if(null!=b&&1<b.length){var f=b[1],e=null,h=f.indexOf("=");if(0<h)e=f.substr(h+1),f=f.substr(0,h);else if(2<b.length)e=b[2];else{a.i("missing value for "+b[1]);return}var h=!1,g=Be(a,e);if(void 0!==g)switch(h=!0,f.toUpperCase()){case "PC":c.f[7]=g;a.W=Y(c.f[7]);break;case "NF":c.j=g?32768:0;break;case "ZF":c.w=g?0:1;break;case "VF":c.u=
|
||||
g?32768:0;break;case "CF":c.B=g?65536:0;break;default:a.i("unknown register: "+f);return}if(!h){a.i("invalid value: "+e);return}Fc(c);a.i("updated registers:")}a.i(ff(a));d&&(a.W=Y(c.f[7]),We(a,X(a,a.W.D)))}}function lf(a,b){b=qa(b);var d=b.match(/^(['"])(.*?)\1$/);d?a.i(d[2]):Be(a,b,!0)}function mf(a,b,d){var c="t"!=b;d=De(a,d,null,!0)||1;var f=1==d?0:1;"tc"==b&&(f=d,d=1);Ga(d,function(){return ib(a,!0)&&a.wb(f,c,!1)},function(){Fc(a.b);ib(a,!1)})}
|
||||
function We(a,b,d,c){if(b=Pe(a,b,!0)){void 0===c&&(c=1);var f=256;if(void 0!==d){c=Pe(a,d,!0);if(!c||c.D<b.D)return;f=c.D-b.D;if(256<f){a.i("range too large");return}c=-1}d=0;for(var e;0<f&&c--;){e=jb(a,!1)||a.ea?a.P:null;var h=null!=e?"cycles":null,g=gf(a,b),k=b.D;if(g[0]&&c&&(!d&&c||0>g[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.i(l)}g[3]&&(h=g[3],e=null);e=bf(a,b,h,e);a.i(e);a.W=b;f-=b.D-k;d++}}}
|
||||
function af(a,b,d){var c=!0;try{b.length&&"end"!=b?d||a.i(">> "+b):(a.ba&&(a.i("ended assemble at "+X(a,a.aa.D)),a.W=a.aa,a.ba=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(kb(a)&&0<b.length){a.ba&&(b="a "+X(a,a.aa.D)+" "+b);var e=b.replace(/ +/g," ").split(" ");if(e&&e.length)for(var h=e[0],g=h.charAt(0),k=1;k<h.length;k++){var l=h.charAt(k);if("?"==g||"r"==g||"a">l||"z"<l){e[0]=h.substr(k);e.unshift(h.substr(0,k));break}}switch(e[0].charAt(0)){case "a":var n=Pe(a,e[1],!0);
|
||||
if(n)if(a.aa=n,void 0===e[2])a.i("begin assemble at "+X(a,n.D)),a.ba=!0,Fc(a.b);else{var p;a.i("not supported yet");p=[];if(p.length){for(var q=0;q<p.length;q++)a.bc(n,p[q],1);a.i(bf(a,a.aa))}}break;case "b":a:{var G=e[0],z=e[1],A=b;if("?"==z)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 F=G.charAt(1);if("l"==F){var Na=0,Na=Na+$e(a,a.g),Na=Na+$e(a,a.X);(Na+=$e(a,a.J))||a.i("no breakpoints")}else if("n"==F)a.ya=De(a,z),a.i("break after "+a.ya+" instruction(s)");else if(void 0===z)a.i("missing breakpoint address");else{var aa=Y();if("*"!=z&&(aa=Pe(a,z,!0),!aa))break a;"c"==F?null==aa.D?(He(a),a.i("all breakpoints cleared")):Ye(a,a.g,aa)||Ye(a,a.X,aa)||Ye(a,a.J,aa)||a.i("breakpoint missing: "+X(a,aa.D)):null!=aa.D&&(Te(a,aa,A),"p"==F?a.eb(a.g,aa):"r"==F?a.eb(a.X,aa):"w"==F?
|
||||
a.eb(a.J,aa):a.i("unknown breakpoint command: "+F))}}}break;case "c":a.fb&&(a.fb.value="");break;case "d":a:{var Oa,Pa=e[0],ka=e[1],Aa=e[2],Gf=e[3];if("?"==ka){var la="";for(Oa in Ab)a.Sa[Oa]&&(la&&(la+=","),la+=Oa);la+=",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");la.length&&a.i("dump extension commands:\n\t"+
|
||||
la)}else if("state"==ka){var $d=nf(a.F,!0);"console"==Aa?console.log($d):(a.fb&&(a.fb.value=""),a.i($d))}else if("symbols"==ka)for(var Kc=0;Kc<a.N.length;Kc++){var Lc=a.N[Kc],Qa;for(Qa in Lc.Ka)if("."!=Qa.charAt(0)){var ae=Lc.Ka[Qa].o;if(void 0!==ae){var be=Lc.Ka[Qa].l;be&&(Qa=be);a.i(X(a,ae)+" "+Qa)}}}else{if("d"==Pa){for(Oa in Ab)if(e[1]==Oa){var ce=a.Sa[Oa];ce?(e.shift(),e.shift(),ce(e)):a.i("no dump registered for "+ka);break a}ka||(Pa=a.Oc||"db")}else a.Oc=Pa;if("dh"==Pa){var de=ka,ee=Aa,fe=
|
||||
"",ge=0,T=a.ra,ma=a.T;if(ma.length){var ba=+de||a.Vb,Ra=+ee||10;isNaN(ba)?ba=Ra:fe="more ";ba>ma.length&&(a.i("note: only "+ma.length+" available"),ba=ma.length);T-=ba;0>T&&(null==ma[ma.length-1].D?(ba=T+ba,T=0):T+=ma.length);var Mc=[];"call"==ee&&(Ra=1E5,Mc=["CALL"]);for(void 0!==de&&a.i(ba+" instructions earlier:");0<Ra&&T!=a.ra;){var he=ma[T++];if(null==he.D)break;var ob=Y(he.D),Hf=ba--,ie=bf(a,ob,"history",Hf);(!Mc.length||0<=ie.indexOf(Mc[0]))&&a.i(ie);ob.ec&&(T+=ob.ec,Ra-=ob.ec,ba-=ob.ec);T>=
|
||||
ma.length&&(T=0);a.Vb=ba;ge++;Ra--}}ge||(a.i("no "+fe+"history available"),a.Vb=void 0)}else{var Sb=Pe(a,ka);if(Sb){var Tb=0;Aa&&("l"==Aa.charAt(0)&&(Aa=Aa.substr(1)||Gf),Tb=De(a,Aa)>>>0,65536<Tb&&(Tb=65536));for(var Ba="",Ub="dd"==Pa?4:"dw"==Pa?2:1,Vb=Ub*Tb||128,If=Vb+15>>4||1;If--&&0<Vb;){var Wb=0,Nc=0,pb,qb="",Oc="",ka=X(a,Sb.D);for(pb=16;0<pb&&0<Vb;pb--){var Xb=a.Hb(Sb,1),Wb=Wb|Xb<<(Nc++<<3);Nc==Ub&&(qb+=r(Wb,2*Ub),qb+=1==Ub?9==pb?"-":" ":" ",Wb=Nc=0);Oc+=32<=Xb&&128>Xb?String.fromCharCode(Xb):
|
||||
".";Vb--}Ba&&(Ba+="\n");Ba+=ka+" "+qb+(0==pb?" "+Oc:"")}Ba&&a.i(Ba);a.zb=Sb}}}}break;case "e":if("else"==e[0])break;var Yb=1,je=255,ke=a.Hb,le=a.bc;"ew"==e[0]&&(Yb=2,je=65535,ke=a.Ha,le=a.jc);var me=Yb<<1,ne=e[1];if(null==ne)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 Zb=Pe(a,ne);if(Zb)for(var $b=2;$b<e.length;$b++){var rb=Be(a,e[$b]);if(void 0===rb){a.i("unrecognized value: "+e[$b]);break}rb&~je&&a.i("warning: "+
|
||||
r(rb)+" exceeds "+Yb+"-byte value");var Jf=ke.call(a,Zb);a.i("changing "+X(a,Zb.D)+" from "+r(Jf,me,!0)+" to "+r(rb,me,!0));le.call(a,Zb,rb,Yb)}}break;case "g":a:{var oe=e[1],Kf=b;if(void 0!==oe){var Pc=Pe(a,oe,!0);if(!Pc)break a;Te(a,Pc,Kf);a.eb(a.g,Pc,!0)}a.lb(!0)||d||a.i("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Qc;if(a.A.ja)Qc="halting",a.ma();else{if(jb(a,!0))break a;Qc="already halted"}d||a.i(Qc)}break;case "i":if("if"==e[0]){var Rc;var sb=b.substr(2),sb=qa(sb);Be(a,
|
||||
sb)?(d||a.i("true: "+sb),Rc=!0):(d||a.i("false: "+sb),Rc=!1);Rc||(c=!1)}break;case "k":var Lf=e[0];if("?"==e[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Sc=0,pe=Y(),tb=Y(a.b.f[6]);for(a.i("stack trace for "+X(a,tb.D));10>Sc;){for(var Ca=null,Mf=256;65536>tb.D>>>0;){pe.D=a.Ha(tb,2);if(null==tb.D||!Mf--)break;for(var Nf=a,ac=pe,qe=null,ub=ac.D,re=ub,Tc=1;6>=Tc&&ub;Tc++){if(2<Tc){ac.D=ub;var bc=bf(Nf,ac);if(0<=bc.indexOf("JSR")){var se=
|
||||
bc.indexOf(" ");if(ub+(bc.indexOf(" ",se+1)-se-1)/2==re){qe=bc;break}}}ub--}ac.D=re;if(Ca=qe)break}if(!Ca||null==Ca)break;var te=null;if("ks"==Lf){var ue=Ca.match(/[0-9A-F]+$/);ue&&(te=kf(a,ue[0]))}Ca=pa(Ca,50)+" ;"+(te||"stack="+X(a,tb.D));a.i(Ca);Sc++}Sc||a.i("no return addresses found")}break;case "l":if("ln"==e[0]){kf(a,e[1],!0);break}break;case "m":a:{var na,oa=null,H=e[1];"?"==H&&(H=void 0);if(void 0!==H){var ua=0;if("all"==H)ua=1878917119,H=null;else if("on"==H)oa=!0,H=null;else if("off"==
|
||||
H)oa=!1,H=null;else{"keys"==H&&(H="key");"kbd"==H&&(H="keyboard");for(na in Ab)if(H==na){ua=Ab[na];oa=!!(a.ia&ua);break}if(!ua){a.i("unknown message category: "+H);break a}}if(ua)if("on"==e[2])a.ia|=ua,oa=!0;else if("off"==e[2]&&(a.ia&=~ua,oa=!1,1073741824==ua)){for(var Uc=0;Uc<a.Ea.length;Uc++)a.i(a.Ea[Uc]);a.Ea=[]}}var Of=0,va="";for(na in Ab)if(!H||H==na){var Pf=!!(a.ia&Ab[na]);if(null===oa||oa==Pf)va&&(va+=","),++Of%10||(va+="\n\t"),"key"==na&&(na="keys"),va+=na}void 0===H&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.i((null!==oa?oa?"messages on: ":"messages off: ":"message categories:\n\t")+(va||"none"));Ie(a)}break;case "p":if("print"==e[0]){lf(a,b.substr(5));break}var Qf="pr"==e[0]?1:0;if(a.ea)a.i("step in progress");else{var ve=Y(a.b.f[7]);a.Hb(ve);a.ea?(a.eb(a.g,ve,!0),a.lb()||(a.F&&a.F.Tb(),a.ea=0)):mf(a,Qf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}Ve(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var vb=+e[2];if(8==vb||10==vb||16==vb)a.wa=vb;else{a.i("invalid base: "+vb);
|
||||
break}}a.i("default base: "+a.wa);break;case "cs":var wb;void 0!==e[3]&&(wb=+e[3]);switch(e[2]){case "int":a.b.qb=wb;break;case "start":a.b.Mb=wb;break;case "stop":a.b.rb=wb;break;default:a.i("unknown cs option");break a}void 0!==wb&&Ec(a.b);a.i("checksums "+(a.b.A.ob?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Jc(a.b,+e[2])||a.i("warning: using 1x multiplier, previous target not reached"));a.i("target speed: "+(a.b.hb.toFixed(2)+"Mhz")+" ("+a.b.jb+"x)");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;default:e[1]&&a.i("unknown option: "+e[1])}break;case "t":mf(a,e[0],e[1]);break;case "u":We(a,e[1],e[2],8);break;case "v":if("var"==e[0]){jf(a,b.substr(3))||(c=!1);break}a.i("PDP11js version 1.30.0 ("+a.b.vc+",RELEASE"+(mb?",TYPEDARRAYS":",LONGARRAYS")+
|
||||
")");a.i(window?window.navigator.userAgent:"");break;case "?":if(e[1]){lf(a,b.substr(1));break}var xb="commands:",Vc;for(Vc in Le)xb+="\n"+pa(Vc,9)+Le[Vc];nd(a)||(xb+="\nnote: history disabled if no exec breakpoints");a.i(xb);break;default:a.i("unknown command: "+b),c=!1}}}catch(we){a.i("debugger error: "+(we.stack||we.message)),c=!1}return c}function Ke(a,b,d){b=ze(a,b,d);for(var c in b)if(!af(a,b[c]))return!1;return!0}
|
||||
Sa(function(){for(var a=x(document,"pdp11","debugger"),b=0;b<a.length;b++){var d=a[b],c=w(d),c=new Ge(c);gb(c,d)}});
|
||||
function of(a,b,d){u.call(this,"Computer",a,of,67108864);this.A.fa=!1;pf(this,b);this.X=Cc(this,"autoPower",a);this.C=0;this.ga=a.busWidth||a.buswidth;this.g=qf;this.T=null;this.N=this.ba=!1;this.url=Cc(this,"url")||"";(Math.random()+.1).toString(36);this.F=rf(this);if(this.b=fb("CPU",this.id)){this.I=fb("Debugger",this.id);this.H=new Db({id:this.oc+".bus",busWidth:this.ga},this.b,this.I);var c,f=eb(this.id);if((this.G=fb("Panel",this.id))&&this.G.fb)for(b=0;b<f.length;b++)c=f[b],c.oa=this.G.oa,c.i=
|
||||
this.G.i,c.fb=this.G.fb;this.i("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.i("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)c=f[b],c.Xa&&c.Xa(this,this.H,this.b,this.I);b=null;c=a.resume;void 0!==c&&(1<c.length?b=this.P=c:this.g=parseInt(c,10));var e;if(a=Cc(this,"state")||(e=!0,a.state))b=this.$=a,e||(this.N=!0,this.g=qf),this.g&&
|
||||
(this.W=new bd(this,"1.30.0"),sf(this.W)?b=null:delete this.W);!b&&this.g&&(b=tf(this))&&(this.N=!0);if(b){var h=this;wa(b,null,!0,function(a,b,c){c?(h.P=null,h.N=!1,h.oa("Unable to load machine state from server (error "+c+(b?": "+qa(b):"")+")")):(h.T=b,h.ba=!0);y(h)})}else y(this);this.O.power||(this.X=!0);!d&&this.X&&uf(this,this.Nb)}else t("Unable to find CPU component")}bb(of);var qf=0;
|
||||
function pf(a,b){if(!b){var d;if("object"==typeof resources&&(d=resources.parms))try{b=eval("("+d+")")}catch(c){t(c.message+" ("+d+")")}}a.ea=b}function Cc(a,b,d){var c=b.toLowerCase(),c=Xa[b]||Xa[c];void 0===c&&a.ea&&(c=a.ea[b]);void 0===c&&d&&(c=d[b]);void 0===c&&"object"==typeof resources&&resources[b]&&(c=b);return c}function uf(a,b,d){for(var c=eb(a.id),f=0;f<=c.length;f++){var e=f<c.length?c[f]:a;if(!kb(e)){kb(e,function(){uf(a,b,d)});return}}b.call(a,d)}
|
||||
function vf(a,b){var d=new bd(a,"1.30.0","validate");if(sf(d)&&wf(d)){var c=xf(d,"timestamp"),f=b?xf(b,"timestamp"):"unknown";c!=f&&(a.oa("Machine state may be out-of-date\n("+c+" vs. "+f+")\nCheck your browser's local storage limits"),b||d.clear())}}m=of.prototype;
|
||||
m.Nb=function(a){void 0===a&&(a=this.g||(this.T?1:qf));if(!this.C){this.C++;var b=!1,d=!1;this.aa=!1;var c=this.W||new bd(this,"1.30.0");if(-1==a)b=!0;else if(a>qf){if(sf(c,this.T)){this.J=new bd(this,"1.30.0","failsafe");sf(this.J)&&(yf(this,c),a=2,zf(this.J));N(this.J,"timestamp",ta());Af(this.J);var f=this.g&&!this.N;if(1==a||xa("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(d=wf(c)){var e=xf(c,"code"),h=xf(c,"data");e&&("ok"==e?sf(c,h):("error"==
|
||||
e&&"no machine state"!=h?(this.oa("Error: "+h),"unable to verify user"==h&&(Ea("user",""),this.F=null)):this.i(e+": "+h),zf(c),sf(c)?(d=wf(c),f=!0):d=!1))}f&&vf(this,d?c:null)}else 2==a&&c.clear()}else vf(this);delete this.T;delete this.W}f=eb(this.id);for(e=0;e<f.length;e++)h=f[e],h!==this&&h!=this.b&&(d=Bf(this,h,c,b,d));b=[c,a,d];-1!=a?uf(this,this.tc,b):this.tc(b)}};
|
||||
function Bf(a,b,d,c,f){if(!b.A.fa){b.A.fa=!0;if(b.Na){var e=null;f&&((e=xf(d,b.id))||(e=xf(d,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.Na(e,c)&&e&&(t("Unable to restore state for "+b.type),a.$&&!a.ba?(d.clear(),a.g=qf,window&&window.location.reload()):a.aa=!0,b.Na(null),f=!1)}if(!c&&b.mc)for(a=b.mc.split("|"),d=0;d<a.length;d++)b.status(a[d])}return f}
|
||||
m.tc=function(a){var b=a[0],d=0>a[1];a=a[2];this.ha=!0;this.A.fa=!0;var c=this.O.power;c&&(c.textContent="Shutdown");this.b&&(Bf(this,this.b,b,d,a),this.b.Db());this.aa&&(yf(this,b),b.clear());!d&&this.J&&(this.J.clear(),delete this.J);this.C=0};
|
||||
function yf(a,b){if(xa("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var d=a.F||"",c=b.toString(),f={app:"PDP11js",ver:"1.30.0"};f.url=a.url;f.user=d;f.type="bug";f.data=c;wa("http://www.pcjs.org/api/v1/report",f,!0)}}
|
||||
function nf(a,b,d){var c,f="none";if(a.C)return null;a.C--;var e=new bd(a,"1.30.0"),h=new bd(a,"1.30.0","validate"),g=ta();N(h,"timestamp",g);N(e,"timestamp",g);N(e,"version","1.30.0");N(e,"url",window?window.location.href:null);N(e,"browser",window?window.navigator.userAgent:"");a.b&&a.b.Ma&&(d&&a.b.ma(),c=a.b.Ma(b,d),"object"===typeof c&&N(e,a.b.id,c),d&&(a.b.A.fa=!1,!1===c&&(f=null)));for(var g=eb(a.id),k=0;k<g.length;k++){var l=g[k];l.A.fa&&(l.Ma&&(c=l.Ma(b,d),"object"===typeof c&&N(e,l.id,c)),
|
||||
d&&(l.A.fa=!1,!1===c&&(f=null)))}f&&(d?(g=c=!1,b?(a.F&&Cf(a,a.F,e.toString()),Af(h)&&Af(e)||(f=null,c=g=!0)):a.g&&(c=!0,g=3==a.g),c&&e.clear(g)):f=e.toString());d&&(a.A.fa=!1,b=a.O.power)&&(b.textContent="Power");a.C=0;return f}
|
||||
m.reset=function(){this.H&&this.H.reset&&(this.I&&hb(this,0)&&this.I.message("Resetting "+this.H.type,void 0),this.H.reset());for(var a=eb(this.id),b=0;b<a.length;b++){var d=a[b];d!==this&&d!==this.H&&d.reset&&(this.I&&hb(this,0)&&this.I.message("Resetting "+d.type,void 0),d.reset())}};m.start=function(a,b){for(var d=eb(this.id),c=0;c<d.length;c++){var f=d[c];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||
m.stop=function(a,b){for(var d=eb(this.id),c=0;c<d.length;c++){var f=d[c];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||
m.ua=function(a,b,d){var c=this;switch(b){case "power":return this.O[b]=d,d.onclick=function(){c.C||(c.A.fa?nf(c,!1,!0):uf(c,c.Nb))},!0;case "reset":return this.O[b]=d,d.onclick=function(){if(c.A.fa&&!c.C)if(c.g&&!c.P){var a=xa("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");nf(c,a,!0);!a&&c.$?window&&window.location.reload():c.Nb(qf)}else c.reset(),c.b&&c.b.Db()},!0;case "save":if(ga()){d.parentNode.removeChild(d);break}this.O[b]=
|
||||
d;d.onclick=function(){var a=rf(c,!0);if(a){var b=!!(c.g&&!c.P||c.$),d=nf(c,b);b?Cf(c,a,d):c.oa("Resume disabled, machine state not saved")}};return!0}return!1};
|
||||
function rf(a,b){var d=a.F;d||(d=Da("user"),void 0!==d?!d&&b&&(d=null,window&&(d=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),d&&((d=Df(a,d))||a.oa("The user ID is invalid."))):b&&a.oa("Browser local storage is not available"));return d}
|
||||
function Df(a,b){a.F=null;var d=wa(ha()+"/api/v1/user?req=verify&user="+b),c=d[1];if(!d[0]&&c)try{d=eval("("+c+")"),d.code&&"ok"==d.code&&(Ea("user",d.data),a.F=d.data)}catch(f){t(f.message+" ("+c+")")}return a.F}function tf(a){var b=null;a.F&&(b=ha()+"/api/v1/user?req=load&user="+a.F+"&state="+Ef(a,"1.30.0"));return b}
|
||||
function Cf(a,b,d){if(d){var c={req:"store"};c.user=b;c.state=Ef(a,"1.30.0");c.data=d;b=wa(ha()+"/api/v1/user",c);c=b[0];if(b[1]){if(c){var f=c.indexOf("\n");0<f&&(c=c.substr(0,f));c.indexOf("Error: ")||(c=c.substr(7))}c='{"code":'+b[1]+',"data":"'+c+'"}'}b=JSON.parse(c);b&&"ok"==b.code?a.oa("Machine state saved to server"):d&&(d=b&&b.data||"unable to save machine state",d="error"==b.code?"Error: "+d:"Error "+b.code+": "+d,a.oa(d),Ea("user",""),a.F=null)}}m.Tb=function(){};
|
||||
m.xa=function(a){this.b&&this.b.xa(a);this.G&&this.G.xa(a)};Sa(function(){for(var a=x(document,"pdp11-machine"),b=0;b<a.length;b++)for(var d=a[b],c=w(d),d=x(d,"pdp11","computer"),f=0;f<d.length;f++){var e=d[f],h=w(e),h=new of(h,c,!0);gb(h,e);h.X&&uf(h,h.Nb)}});Ia.show.push(function(){for(var a=x(document,"pdp11","computer"),b=0;b<a.length;b++){var d=w(a[b]);(d=fb("Computer",d.id))&&d.ha&&!d.A.fa&&d.Nb(-1)}});
|
||||
Ia.exit.push(function(){for(var a=x(document,"pdp11","computer"),b=0;b<a.length;b++){var d=w(a[b]);(d=fb("Computer",d.id))&&d.A.fa&&nf(d,!(!d.g||d.P),!0)}});function bd(a,b,d){this.id=a.id;this.key=Ef(a,b,d);this.I=a.I;zf(this,a.Nc)}function Ef(a,b,d){a=a.id;if(b){var c=b.indexOf(".");0<c&&(a+=".v"+b.substr(0,c))}d&&(a+="."+d);return a}
|
||||
bd.prototype={constructor:bd,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){zf(this);var b=[];try{for(var d=0,c=window.localStorage.length;d<c;d++)b.push(window.localStorage.key(d))}catch(f){}for(d=0;d<b.length;d++)if((c=b[d])&&(a||c.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(c)}catch(f){}b.splice(d,1);d=0}}};
|
||||
function zf(a,b){a[a.id]={};b&&N(a,"parms",b);a.b=!1}function Af(a){var b=!0;if(za()){var d=JSON.stringify(a[a.id]);Ea(a.key,d)||(t("Unable to store "+d.length+" bytes in browser local storage"),b=!1)}return b}function wf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(d){t(d.message||d),b=!1}return b}function sf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:za()&&(b=Da(a.key))?(a[a.id]=b,a.b=!0):!1}function xf(a,b){return a[a.id][b]||null}function N(a,b,d){try{a[a.id][b]=d}catch(c){}}var Ff=0;
|
||||
function Rf(a,b,d,c,f,e){f("Loading "+a+"...");wa(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),e(g,null)):Sf(g,a,b,d,c,f,e)})}
|
||||
function Sf(a,b,d,c,f,e,h){function g(a,e){if(e)h(e,null);else{if(d){db(d,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);c?"}"==c.slice(-1)?(c=c.slice(0,-1),1<c.length&&(c+=",")):c='{state:"'+c+'",':c="{";c+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+d+"$2"+(c?" parms='"+c+"'":"")+(g?' url="'+g+'"':""))}f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Tf(a,e,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function Tf(a,b,d){var c;if(c=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=c[2];b("Loading "+f+"...");wa(f,null,!0,function(e,h,g){if(g||!h)d(a,"unable to resolve XML reference: "+c[0]+" ("+g+")");else{if(e=c[3])if(g=h.match(new RegExp("<"+c[1]+"[^>]*>"))){for(var k=g[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(e);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{d(a,"missing <"+c[1]+"> in "+f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(c[0],h);Tf(a,b,d)}})}else d(a,null)}
|
||||
function Uf(a,b,d,c){function f(a){if(void 0===g){var b=h&&x(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ja(a))}function e(a){f("Error: "+a);k&&(--Ff||Ua(!0));k=!1}var h,g,k=!0;Ff++;cb[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=l:p.appendChild(document.createTextNode(l));n.appendChild(p)}d||
|
||||
(d="/versions/pdp11/1.30.0/components.xsl");l=function(c,g){g?Rf(d,null,null,!1,f,function(c,k){if(k)if(db(a,d,c),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Ff||Ua(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Ff||Ua(!0)):e("invalid machine element: "+
|
||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(c)}):e(c)};"<"!=b.charAt(0)?Rf(b,a,c,!0,f,l):Sf(b,null,a,c,!1,f,l)}else e("missing machine element: "+a)}catch(q){e(q.message)}return k}window.embedPDP11=function(a,b,d,c){Ua(!1);return Uf(a,b,d,c)};window.enableEvents=Ua;window.sendEvent=Va;})();
|
||||
function kf(a,b,d){var c=null;if(b=Pe(a,b,!0)){var e=gf(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.D-e[1])&&(h=" + "+r(f,4,!0)),f=e[0]+" ("+W(a,e[1])+")"+h,d&&a.i(f),c=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.D)&&(h=" - "+r(f,4,!0)),f=e[4]+" ("+W(a,e[5])+")"+h,d&&a.i(f),c||(c=f))}else d&&a.i("no symbols")}return c}
|
||||
function Ve(a,b){var d;if(b&&"?"==b[1])a.i("register commands:"),a.i("\tr\tdump registers"),a.i("\trx [#]\tset flag or register x to [#]");else{var c=a.b;null==d&&(d=!0);if(b&&1<b.length){var e=b[1],f,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.i("missing value for "+b[1]);return}var h=!1,g=Be(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "PC":c.f[7]=g;a.W=Y(c.f[7]);break;case "NF":c.j=g?32768:0;break;case "ZF":c.w=g?0:1;break;case "VF":c.u=g?32768:
|
||||
0;break;case "CF":c.B=g?65536:0;break;default:a.i("unknown register: "+e);return}if(!h){a.i("invalid value: "+f);return}Dc(c);a.i("updated registers:")}a.i(ff(a));d&&(a.W=Y(c.f[7]),We(a,W(a,a.W.D)))}}function lf(a,b){b=pa(b);var d=b.match(/^(['"])(.*?)\1$/);d?a.i(d[2]):Be(a,b,!0)}function mf(a,b,d){var c="t"!=b;d=De(a,d,null,!0)||1;var e=1==d?0:1;"tc"==b&&(e=d,d=1);Ea(d,function(){return eb(a,!0)&&a.wb(e,c,!1)},function(){Dc(a.b);eb(a,!1)})}
|
||||
function We(a,b,d,c){if(b=Pe(a,b,!0)){void 0===c&&(c=1);var e=256;if(void 0!==d){c=Pe(a,d,!0);if(!c||c.D<b.D)return;e=c.D-b.D;if(256<e){a.i("range too large");return}c=-1}d=0;for(var f;0<e&&c--;){f=fb(a,!1)||a.ea?a.P:null;var h=null!=f?"cycles":null,g=gf(a,b),k=b.D;if(g[0]&&c&&(!d&&c||0>g[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.i(l)}g[3]&&(h=g[3],f=null);f=bf(a,b,h,f);a.i(f);a.W=b;e-=b.D-k;d++}}}
|
||||
function af(a,b,d){var c=!0;try{b.length&&"end"!=b?d||a.i(">> "+b):(a.ba&&(a.i("ended assemble at "+W(a,a.aa.D)),a.W=a.aa,a.ba=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.za=null;if(gb(a)&&0<b.length){a.ba&&(b="a "+W(a,a.aa.D)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),k=1;k<h.length;k++){var l=h.charAt(k);if("?"==g||"r"==g||"a">l||"z"<l){f[0]=h.substr(k);f.unshift(h.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var n=Pe(a,f[1],!0);
|
||||
if(n)if(a.aa=n,void 0===f[2])a.i("begin assemble at "+W(a,n.D)),a.ba=!0,Dc(a.b);else{var p;a.i("not supported yet");p=[];if(p.length){for(var q=0;q<p.length;q++)a.bc(n,p[q],1);a.i(bf(a,a.aa))}}break;case "b":a:{var E=f[0],z=f[1],F=b;if("?"==z)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 wa=E.charAt(1);if("l"==wa){var Fc;Fc=0+$e(a,a.g);Fc+=$e(a,a.X);(Fc+=$e(a,a.J))||a.i("no breakpoints")}else if("n"==wa)a.ya=De(a,z),a.i("break after "+a.ya+" instruction(s)");else if(void 0===z)a.i("missing breakpoint address");else{var X=Y();if("*"!=z&&(X=Pe(a,z,!0),!X))break a;"c"==wa?null==X.D?(He(a),a.i("all breakpoints cleared")):Ye(a,a.g,X)||Ye(a,a.X,X)||Ye(a,a.J,X)||a.i("breakpoint missing: "+W(a,X.D)):null!=X.D&&(Te(a,X,F),"p"==wa?a.eb(a.g,X):"r"==wa?a.eb(a.X,X):"w"==wa?a.eb(a.J,X):
|
||||
a.i("unknown breakpoint command: "+wa))}}}break;case "c":a.fb&&(a.fb.value="");break;case "d":a:{var Ja,Ka=f[0],ia=f[1],xa=f[2],Ff=f[3];if("?"==ia){var La="";for(Ja in xb)a.Sa[Ja]&&(La&&(La+=","),La+=Ja);La+=",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");La.length&&a.i("dump extension commands:\n\t"+
|
||||
La)}else if("state"==ia){var Wd=nf(a.F,!0);"console"==xa?console.log(Wd):(a.fb&&(a.fb.value=""),a.i(Wd))}else if("symbols"==ia)for(var Gc=0;Gc<a.N.length;Gc++){var Hc=a.N[Gc],Ma;for(Ma in Hc.Ka)if("."!=Ma.charAt(0)){var Xd=Hc.Ka[Ma].o;if(void 0!==Xd){var Yd=Hc.Ka[Ma].l;Yd&&(Ma=Yd);a.i(W(a,Xd)+" "+Ma)}}}else{if("d"==Ka){for(Ja in xb)if(f[1]==Ja){var Zd=a.Sa[Ja];Zd?(f.shift(),f.shift(),Zd(f)):a.i("no dump registered for "+ia);break a}ia||(Ka=a.Nc||"db")}else a.Nc=Ka;if("dh"==Ka){var $d=ia,ae=xa,be=
|
||||
"",ce=0,fa=a.ra,ja=a.T;if(ja.length){var ba=+$d||a.Vb,ib=+ae||10;isNaN(ba)?ba=ib:be="more ";ba>ja.length&&(a.i("note: only "+ja.length+" available"),ba=ja.length);fa-=ba;0>fa&&(null==ja[ja.length-1].D?(ba=fa+ba,fa=0):fa+=ja.length);var Ic=[];"call"==ae&&(ib=1E5,Ic=["CALL"]);for(void 0!==$d&&a.i(ba+" instructions earlier:");0<ib&&fa!=a.ra;){var de=ja[fa++];if(null==de.D)break;var jb=Y(de.D),Gf=ba--,ee=bf(a,jb,"history",Gf);(!Ic.length||0<=ee.indexOf(Ic[0]))&&a.i(ee);jb.ec&&(fa+=jb.ec,ib-=jb.ec,ba-=
|
||||
jb.ec);fa>=ja.length&&(fa=0);a.Vb=ba;ce++;ib--}}ce||(a.i("no "+be+"history available"),a.Vb=void 0)}else{var Nb=Pe(a,ia);if(Nb){var Ob=0;xa&&("l"==xa.charAt(0)&&(xa=xa.substr(1)||Ff),Ob=De(a,xa)>>>0,65536<Ob&&(Ob=65536));for(var kb="",Pb="dd"==Ka?4:"dw"==Ka?2:1,Qb=Pb*Ob||128,Hf=Qb+15>>4||1;Hf--&&0<Qb;){var Rb=0,Jc=0,lb,Kc="",fe="",ia=W(a,Nb.D);for(lb=16;0<lb&&0<Qb;lb--){var Sb=a.Hb(Nb,1),Rb=Rb|Sb<<(Jc++<<3);Jc==Pb&&(Kc+=r(Rb,2*Pb),Kc+=1==Pb?9==lb?"-":" ":" ",Rb=Jc=0);fe+=32<=Sb&&128>Sb?String.fromCharCode(Sb):
|
||||
".";Qb--}kb&&(kb+="\n");kb+=ia+" "+Kc+(lb?"":" "+fe)}kb&&a.i(kb);a.zb=Nb}}}}break;case "e":if("else"==f[0])break;var Tb=1,ge=255,he=a.Hb,ie=a.bc;"ew"==f[0]&&(Tb=2,ge=65535,he=a.Ha,ie=a.jc);var je=Tb<<1,ke=f[1];if(null==ke)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),a.i("\tew [a] [...] edit words at address a");else{var Ub=Pe(a,ke);if(Ub)for(var Vb=2;Vb<f.length;Vb++){var mb=Be(a,f[Vb]);if(void 0===mb){a.i("unrecognized value: "+f[Vb]);break}mb&~ge&&a.i("warning: "+
|
||||
r(mb)+" exceeds "+Tb+"-byte value");var If=he.call(a,Ub);a.i("changing "+W(a,Ub.D)+" from "+r(If,je,!0)+" to "+r(mb,je,!0));ie.call(a,Ub,mb,Tb)}}break;case "g":a:{var le=f[1],Jf=b;if(void 0!==le){var Lc=Pe(a,le,!0);if(!Lc)break a;Te(a,Lc,Jf);a.eb(a.g,Lc,!0)}a.lb(!0)||d||a.i("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Mc;if(a.A.ja)Mc="halting",a.ma();else{if(fb(a,!0))break a;Mc="already halted"}d||a.i(Mc)}break;case "i":if("if"==f[0]){var Nc;var nb=b.substr(2),nb=pa(nb);Be(a,
|
||||
nb)?(d||a.i("true: "+nb),Nc=!0):(d||a.i("false: "+nb),Nc=!1);Nc||(c=!1)}break;case "k":var Kf=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Oc=0,me=Y(),ob=Y(a.b.f[6]);for(a.i("stack trace for "+W(a,ob.D));10>Oc;){for(var ya=null,Lf=256;65536>ob.D>>>0;){me.D=a.Ha(ob,2);if(null==ob.D||!Lf--)break;for(var Mf=a,Wb=me,ne=null,pb=Wb.D,oe=pb,Pc=1;6>=Pc&&pb;Pc++){if(2<Pc){Wb.D=pb;var Xb=bf(Mf,Wb);if(0<=Xb.indexOf("JSR")){var pe=
|
||||
Xb.indexOf(" ");if(pb+(Xb.indexOf(" ",pe+1)-pe-1)/2==oe){ne=Xb;break}}}pb--}Wb.D=oe;if(ya=ne)break}if(!ya||null==ya)break;var qe=null;if("ks"==Kf){var re=ya.match(/[0-9A-F]+$/);re&&(qe=kf(a,re[0]))}ya=oa(ya,50)+" ;"+(qe||"stack="+W(a,ob.D));a.i(ya);Oc++}Oc||a.i("no return addresses found")}break;case "l":"ln"==f[0]&&kf(a,f[1],!0);break;case "m":a:{var ka,la=null,G=f[1];"?"==G&&(G=void 0);if(void 0!==G){var ra=0;if("all"==G)ra=1878917119,G=null;else if("on"==G)la=!0,G=null;else if("off"==G)la=!1,
|
||||
G=null;else{"keys"==G&&(G="key");"kbd"==G&&(G="keyboard");for(ka in xb)if(G==ka){ra=xb[ka];la=!!(a.ia&ra);break}if(!ra){a.i("unknown message category: "+G);break a}}if(ra)if("on"==f[2])a.ia|=ra,la=!0;else if("off"==f[2]&&(a.ia&=~ra,la=!1,1073741824==ra)){for(var Qc=0;Qc<a.Ea.length;Qc++)a.i(a.Ea[Qc]);a.Ea=[]}}var Nf=0,qb="";for(ka in xb)if(!G||G==ka){var Of=!!(a.ia&xb[ka]);if(null===la||la==Of)qb&&(qb+=","),++Nf%10||(qb+="\n\t"),"key"==ka&&(ka="keys"),qb+=ka}void 0===G&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.i((null!==la?la?"messages on: ":"messages off: ":"message categories:\n\t")+(qb||"none"));Ie(a)}break;case "p":if("print"==f[0]){lf(a,b.substr(5));break}var Pf="pr"==f[0]?1:0;if(a.ea)a.i("step in progress");else{var se=Y(a.b.f[7]);a.Hb(se);a.ea?(a.eb(a.g,se,!0),a.lb()||(a.F&&a.F.Tb(),a.ea=0)):mf(a,Pf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}Ve(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var rb=+f[2];if(8==rb||10==rb||16==rb)a.wa=rb;else{a.i("invalid base: "+rb);
|
||||
break}}a.i("default base: "+a.wa);break;case "cs":var sb;void 0!==f[3]&&(sb=+f[3]);switch(f[2]){case "int":a.b.qb=sb;break;case "start":a.b.Mb=sb;break;case "stop":a.b.rb=sb;break;default:a.i("unknown cs option");break a}void 0!==sb&&Cc(a.b);a.i("checksums "+(a.b.A.ob?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(Vc(a.b,+f[2])||a.i("warning: using 1x multiplier, previous target not reached"));a.i("target speed: "+(a.b.hb.toFixed(2)+"Mhz")+" ("+a.b.jb+"x)");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;default:f[1]&&a.i("unknown option: "+f[1])}break;case "t":mf(a,f[0],f[1]);break;case "u":We(a,f[1],f[2],8);break;case "v":if("var"==f[0]){jf(a,b.substr(3))||(c=!1);break}a.i("PDP11js version 1.30.0 ("+a.b.Sc+",RELEASE"+(tb?",TYPEDARRAYS":",LONGARRAYS")+
|
||||
")");a.i(window?window.navigator.userAgent:"");break;case "?":if(f[1]){lf(a,b.substr(1));break}var Rc="commands:",Sc;for(Sc in Le)Rc+="\n"+oa(Sc,9)+Le[Sc];nd(a)||(Rc+="\nnote: history disabled if no exec breakpoints");a.i(Rc);break;default:a.i("unknown command: "+b),c=!1}}}catch(te){a.i("debugger error: "+(te.stack||te.message)),c=!1}return c}function Ke(a,b,d){b=ze(a,b,d);for(var c in b)if(!af(a,b[+c]))return!1;return!0}
|
||||
Pa(function(){for(var a=y(document,"pdp11","debugger"),b=0;b<a.length;b++){var d=a[b],c=x(d),c=new Ge(c);cb(c,d)}});
|
||||
function of(a,b,d){u.call(this,"Computer",a,of,67108864);this.A.fa=!1;pf(this,b);this.X=Ac(this,"autoPower",a);this.C=0;this.ga=a.busWidth||a.buswidth;this.g=qf;this.T=null;this.N=this.ba=!1;this.url=Ac(this,"url")||"";(Math.random()+.1).toString(36);this.F=rf(this);if(this.b=bb("CPU",this.id)){this.I=bb("Debugger",this.id);this.H=new Ab({id:this.oc+".bus",busWidth:this.ga},this.b,this.I);var c,e=ab(this.id);if((this.G=bb("Panel",this.id))&&this.G.fb)for(b=0;b<e.length;b++)c=e[b],c.oa=this.G.oa,c.i=
|
||||
this.G.i,c.fb=this.G.fb;this.i("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.i("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)c=e[b],c.Xa&&c.Xa(this,this.H,this.b,this.I);b=null;c=a.resume;void 0!==c&&(1<c.length?b=this.P=c:this.g=parseInt(c,10));var f;if(a=Ac(this,"state")||(f=!0,a.state))b=this.$=a,f||(this.N=!0,this.g=qf),this.g&&
|
||||
(this.W=new bd(this,"1.30.0"),sf(this.W)?b=null:delete this.W);!b&&this.g&&(b=tf(this))&&(this.N=!0);if(b){var h=this;ua(b,null,!0,function(a,b,c){c?(h.P=null,h.N=!1,h.oa("Unable to load machine state from server (error "+c+(b?": "+pa(b):"")+")")):(h.T=b,h.ba=!0);A(h)})}else A(this);this.O.power||(this.X=!0);!d&&this.X&&uf(this,this.Nb)}else t("Unable to find CPU component")}w(of);var qf=0;
|
||||
function pf(a,b){if(!b){var d;if("object"==typeof resources&&(d=resources.parms))try{b=eval("("+d+")")}catch(c){t(c.message+" ("+d+")")}}a.ea=b}function Ac(a,b,d){var c=b.toLowerCase(),c=Ua[b]||Ua[c];void 0===c&&a.ea&&(c=a.ea[b]);void 0===c&&d&&(c=d[b]);void 0===c&&"object"==typeof resources&&resources[b]&&(c=b);return c}function uf(a,b,d){for(var c=ab(a.id),e=0;e<=c.length;e++){var f=e<c.length?c[e]:a;if(!gb(f)){gb(f,function(){uf(a,b,d)});return}}b.call(a,d)}
|
||||
function vf(a,b){var d=new bd(a,"1.30.0","validate");if(sf(d)&&wf(d)){var c=d.get("timestamp"),e=b?b.get("timestamp"):"unknown";c!=e&&(a.oa("Machine state may be out-of-date\n("+c+" vs. "+e+")\nCheck your browser's local storage limits"),b||d.clear())}}m=of.prototype;
|
||||
m.Nb=function(a){void 0===a&&(a=this.g||(this.T?1:qf));if(!this.C){this.C++;var b=!1,d=!1;this.aa=!1;var c=this.W||new bd(this,"1.30.0");if(-1==a)b=!0;else if(a>qf){if(sf(c,this.T)){this.J=new bd(this,"1.30.0","failsafe");sf(this.J)&&(xf(this,c),a=2,yf(this.J));this.J.set("timestamp",ta());zf(this.J);var e=this.g&&!this.N;if(1==a||va("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(d=wf(c)){var f=c.get("code"),h=c.get("data");f&&("ok"==f?sf(c,h):("error"==
|
||||
f&&"no machine state"!=h?(this.oa("Error: "+h),"unable to verify user"==h&&(Ca("user",""),this.F=null)):this.i(f+": "+h),yf(c),sf(c)?(d=wf(c),e=!0):d=!1))}e&&vf(this,d?c:null)}else 2==a&&c.clear()}else vf(this);delete this.T;delete this.W}e=ab(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(d=Af(this,h,c,b,d));b=[c,a,d];-1!=a?uf(this,this.tc,b):this.tc(b)}};
|
||||
function Af(a,b,d,c,e){if(!b.A.fa){b.A.fa=!0;if(b.Na){var f=null;e&&((f=d.get(b.id))||(f=d.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Na(f,c)&&f&&(t("Unable to restore state for "+b.type),a.$&&!a.ba?(d.clear(),a.g=qf,window&&window.location.reload()):a.aa=!0,b.Na(null),e=!1)}if(!c&&b.mc)for(a=b.mc.split("|"),d=0;d<a.length;d++)b.status(a[d])}return e}
|
||||
m.tc=function(a){var b=a[0],d=0>a[1];a=a[2];this.ha=!0;this.A.fa=!0;var c=this.O.power;c&&(c.textContent="Shutdown");this.b&&(Af(this,this.b,b,d,a),this.b.Db());this.aa&&(xf(this,b),b.clear());!d&&this.J&&(this.J.clear(),delete this.J);this.C=0};
|
||||
function xf(a,b){if(va("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var d=a.F||"",c=b.toString(),e={app:"PDP11js",ver:"1.30.0"};e.url=a.url;e.user=d;e.type="bug";e.data=c;ua("http://www.pcjs.org/api/v1/report",e,!0)}}
|
||||
function nf(a,b,d){var c,e="none";if(a.C)return null;a.C--;var f=new bd(a,"1.30.0"),h=new bd(a,"1.30.0","validate"),g=ta();h.set("timestamp",g);f.set("timestamp",g);f.set("version","1.30.0");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Ma&&(d&&a.b.ma(),c=a.b.Ma(b,d),"object"===typeof c&&f.set(a.b.id,c),d&&(a.b.A.fa=!1,!1===c&&(e=null)));for(var g=ab(a.id),k=0;k<g.length;k++){var l=g[k];l.A.fa&&(l.Ma&&(c=l.Ma(b,d),"object"===typeof c&&
|
||||
f.set(l.id,c)),d&&(l.A.fa=!1,!1===c&&(e=null)))}e&&(d?(g=c=!1,b?(a.F&&Bf(a,a.F,f.toString()),zf(h)&&zf(f)||(e=null,c=g=!0)):a.g&&(c=!0,g=3==a.g),c&&f.clear(g)):e=f.toString());d&&(a.A.fa=!1,b=a.O.power)&&(b.textContent="Power");a.C=0;return e}
|
||||
m.reset=function(){this.H&&this.H.reset&&(this.I&&db(this,0)&&this.I.message("Resetting "+this.H.type,void 0),this.H.reset());for(var a=ab(this.id),b=0;b<a.length;b++){var d=a[b];d!==this&&d!==this.H&&d.reset&&(this.I&&db(this,0)&&this.I.message("Resetting "+d.type,void 0),d.reset())}};m.start=function(a,b){for(var d=ab(this.id),c=0;c<d.length;c++){var e=d[c];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
||||
m.stop=function(a,b){for(var d=ab(this.id),c=0;c<d.length;c++){var e=d[c];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
m.ua=function(a,b,d){var c=this;switch(b){case "power":return this.O[b]=d,d.onclick=function(){c.C||(c.A.fa?nf(c,!1,!0):uf(c,c.Nb))},!0;case "reset":return this.O[b]=d,d.onclick=function(){if(c.A.fa&&!c.C)if(c.g&&!c.P){var a=va("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");nf(c,a,!0);!a&&c.$?window&&window.location.reload():c.Nb(qf)}else c.reset(),c.b&&c.b.Db()},!0;case "save":if(ga())d.parentNode.removeChild(d);else return this.O[b]=
|
||||
d,d.onclick=function(){var a=rf(c,!0);if(a){var b=!!(c.g&&!c.P||c.$),d=nf(c,b);b?Bf(c,a,d):c.oa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function rf(a,b){var d=a.F;d||(d=Ba("user"),void 0!==d?!d&&b&&(d=null,window&&(d=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),d&&((d=Cf(a,d))||a.oa("The user ID is invalid."))):b&&a.oa("Browser local storage is not available"));return d}
|
||||
function Cf(a,b){a.F=null;var d=ua(ha()+"/api/v1/user?req=verify&user="+b),c=d[1];if(!d[0]&&c)try{d=eval("("+c+")"),d.code&&"ok"==d.code&&(Ca("user",d.data),a.F=d.data)}catch(e){t(e.message+" ("+c+")")}return a.F}function tf(a){var b=null;a.F&&(b=ha()+"/api/v1/user?req=load&user="+a.F+"&state="+Df(a,"1.30.0"));return b}
|
||||
function Bf(a,b,d){if(d){var c={req:"store"};c.user=b;c.state=Df(a,"1.30.0");c.data=d;b=ua(ha()+"/api/v1/user",c);c=b[0];if(b[1]){if(c){var e=c.indexOf("\n");0<e&&(c=c.substr(0,e));c.indexOf("Error: ")||(c=c.substr(7))}c='{"code":'+b[1]+',"data":"'+c+'"}'}b=JSON.parse(c);b&&"ok"==b.code?a.oa("Machine state saved to server"):d&&(d=b&&b.data||"unable to save machine state",d="error"==b.code?"Error: "+d:"Error "+b.code+": "+d,a.oa(d),Ca("user",""),a.F=null)}}m.Tb=function(){};
|
||||
m.xa=function(a){this.b&&this.b.xa(a);this.G&&this.G.xa(a)};Pa(function(){for(var a=y(document,"pdp11-machine"),b=0;b<a.length;b++)for(var d=a[b],c=x(d),d=y(d,"pdp11","computer"),e=0;e<d.length;e++){var f=d[e],h=x(f),h=new of(h,c,!0);cb(h,f);h.X&&uf(h,h.Nb)}});Ga.show.push(function(){for(var a=y(document,"pdp11","computer"),b=0;b<a.length;b++){var d=x(a[b]);(d=bb("Computer",d.id))&&d.ha&&!d.A.fa&&d.Nb(-1)}});
|
||||
Ga.exit.push(function(){for(var a=y(document,"pdp11","computer"),b=0;b<a.length;b++){var d=x(a[b]);(d=bb("Computer",d.id))&&d.A.fa&&nf(d,!(!d.g||d.P),!0)}});function bd(a,b,d){this.id=a.id;this.key=Df(a,b,d);this.I=a.I;yf(this,a.Mc)}function Df(a,b,d){a=a.id;if(b){var c=b.indexOf(".");0<c&&(a+=".v"+b.substr(0,c))}d&&(a+="."+d);return a}
|
||||
bd.prototype={constructor:bd,set:function(a,b){try{this[this.id][a]=b}catch(d){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){yf(this);var b=[];try{for(var d=0,c=window.localStorage.length;d<c;d++)b.push(window.localStorage.key(d))}catch(e){}for(d=0;d<b.length;d++)if((c=b[d])&&(a||c.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(c)}catch(e){}b.splice(d,
|
||||
1);d=0}}};function yf(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function zf(a){var b=!0;if(Aa()){var d=JSON.stringify(a[a.id]);Ca(a.key,d)||(t("Unable to store "+d.length+" bytes in browser local storage"),b=!1)}return b}function wf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(d){t(d.message||d),b=!1}return b}function sf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:Aa()&&(b=Ba(a.key))?(a[a.id]=b,a.b=!0):!1}var Ef=0;
|
||||
function Qf(a,b,d,c,e,f){e("Loading "+a+"...");ua(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):Rf(g,a,b,d,c,e,f)})}
|
||||
function Rf(a,b,d,c,e,f,h){function g(a,f){if(f)h(f,null);else{if(d){$a(d,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);c?"}"==c.slice(-1)?(c=c.slice(0,-1),1<c.length&&(c+=",")):c='{state:"'+c+'",':c="{";c+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+d+"$2"+(c?" parms='"+c+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?Sf(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function Sf(a,b,d){var c;if(c=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=c[2];b("Loading "+e+"...");ua(e,null,!0,function(f,h,g){if(g||!h)d(a,"unable to resolve XML reference: "+c[0]+" ("+g+")");else{if(f=c[3])if(g=h.match(new RegExp("<"+c[1]+"[^>]*>"))){for(var k=g[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{d(a,"missing <"+c[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(c[0],h);Sf(a,b,d)}})}else d(a,null)}
|
||||
function Tf(a,b,d,c){function e(a){if(void 0===g){var b=h&&y(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=na(a))}function f(a){e("Error: "+a);k&&(--Ef||Ra(!0));k=!1}var h,g,k=!0;Ef++;Za[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=l:p.appendChild(document.createTextNode(l));n.appendChild(p)}d||
|
||||
(d="/versions/pdp11/1.30.0/components.xsl");l=function(c,g){g?Qf(d,null,null,!1,e,function(c,k){if(k)if($a(a,d,c),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Ef||Ra(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Ef||Ra(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(c)}):f(c)};"<"!=b.charAt(0)?Qf(b,a,c,!0,e,l):Rf(b,null,a,c,!1,e,l)}else f("missing machine element: "+a)}catch(q){f(q.message)}return k}window.embedPDP11=function(a,b,d,c){Ra(!1);return Tf(a,b,d,c)};window.enableEvents=Ra;window.sendEvent=Sa;})();
|
||||
|
|
|
|||
|
|
@ -1,66 +1,64 @@
|
|||
(function(){var m;
|
||||
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):8==f?null!==d.match(/^[0-7]+$/):2==
|
||||
f&&null!==d.match(/^[01]+$/):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function n(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}
|
||||
function ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function da(){var a=ea();return-1!==a.indexOf("pcjs.org",a.length-8)}var fa={"&":"&","<":"<",">":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}var ha=Date.now||function(){return+new Date};
|
||||
function ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==
|
||||
f&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function n(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}
|
||||
function da(){var a=ea();return-1!==a.indexOf("pcjs.org",a.length-8)}var fa={"&":"&","<":"<",">":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}var ha=Date.now||function(){return+new Date};function ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||
function p(a,b,c,d){var f=0,e=null,h=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(e=g.responseText,200==g.status||!g.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=g.status||-1),d&&d(a,e,f))});if(b&&"object"==
|
||||
typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(k)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(e=g.responseText,200!=g.status&&(f=g.status||-1),d&&d(a,e,f),h=[e,f]);return h}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||
function q(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var r={init:[],show:[],exit:[]},pa=!1,qa=!1,ra=!0;function sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){r.init.push(a)}
|
||||
function ta(a){if(ra)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ua(a){!ra&&a?(ra=!0,pa&&va("init"),qa&&va("show")):ra=a}function va(a){r[a]&&ta(r[a])}sa("onload",function(){pa=!0;ta(r.init)});sa("onpageshow",function(){qa=!0;ta(r.show)});sa(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){ta(r.exit)});
|
||||
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Hb=b.comment;this.cc=b;b=this.id.indexOf(".");0>b?this.ub=this.id:(this.Fb=this.id.substr(0,b),this.ub=this.id.substr(b+1));this[a]=c;this.j={ready:!1,Za:!1,yb:!1,M:!1,error:!1};this.mb=null;this.j.error=!1;this.B={};this.I=null;w.push(this)}var wa=void 0,xa={};
|
||||
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Hb=b.comment;this.ac=b;b=this.id.indexOf(".");0>b?this.ub=this.id:(this.Fb=this.id.substr(0,b),this.ub=this.id.substr(b+1));this[a]=c;this.j={ready:!1,Za:!1,yb:!1,M:!1,error:!1};this.mb=null;this.j.error=!1;this.B={};this.I=null;w.push(this)}var wa=void 0,xa={};
|
||||
if(window){wa||(wa=window.location.search.substr(1));for(var ya,za=/\+/g,Aa=/([^&=]+)=?([^&]*)/g;ya=Aa.exec(wa);)xa[decodeURIComponent(ya[1].replace(za," "))]=decodeURIComponent(ya[2].replace(za," "))}function Ba(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||
function x(a,b){b||(b=v);a.prototype=Ba(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ca=window.PCjs.Machines||(window.PCjs.Machines={}),w=window.PCjs.Components||(window.PCjs.Components=[])}else Ca={},w=[];function Da(a,b,c){Ca[a]&&b&&(Ca[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 Ea(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<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 A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
|
||||
function Fa(a,b){for(var c=B(b.parentNode,"pdp11-control"),d=0;d<c.length;d++)for(var f=c[d].childNodes,e=0;e<f.length;e++){var h=f[e];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=A(h))&&g.binding&&a.ba(g.type,g.binding,h,g.value),l=k.length}}}}
|
||||
function Ea(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<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){q(c.message+" ("+a+")")}return b}
|
||||
function A(a,b){for(var c=B(b.parentNode,"pdp11-control"),d=0;d<c.length;d++)for(var f=c[d].childNodes,e=0;e<f.length;e++){var h=f[e];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=z(h))&&g.binding&&a.ba(g.type,g.binding,h,g.value),l=k.length}}}}
|
||||
function B(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
||||
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ba:function(a,b,c){switch(b){case "clear":return this.B[b]||(this.B[b]=c,c.onclick=function(a){return function(){a.B.print&&(a.B.print.value="")}}(this)),!0;case "print":return this.B[b]||(this.zb=this.B[b]=c,c.value="",this.Y=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.L=function(a){this.Y(a,this.ub)}),!0;default:return!1}},log:function(){},Y:function(){},status:function(a){this.Y(this.ub+": "+a)},L:function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)},va:function(){return this.j.M=!0},ua:function(a,b){b&&(this.j.M=!1);return!0}};function Ga(a,b){if(a.j.yb)return a.j.Za&&(a.j.Za=!1),a.j.yb=!1;if(a.j.error)return a.Y(a.toString()+" error"),!1;a.j.Za=b;return a.j.Za}function C(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.mb;a.mb=null;b&&b()}}
|
||||
function Ha(a,b){b&&(a.j.ready?b():a.mb=b);return a.j.ready}var Ia="undefined"!==typeof ArrayBuffer,Ja=2,D=4,E=6,Ja=0|Ja,Ka=1|Ja,D=0|D,La=1|D,E=0|E,F=1|E;function Ma(a){v.call(this,"Panel",a,Ma)}x(Ma);m=Ma.prototype;m.ba=function(a,b,c,d){return this.v&&this.v.ba(a,b,c,d)||this.c&&this.c.ba(a,b,c,d)?!0:this.parent.ba.call(this,a,b,c,d)};m.Ha=function(a,b,c,d){this.v=a;this.w=b;this.c=c;this.I=d};m.va=function(a,b){b||Na();return!0};m.ua=function(){return!0};m.La=function(){};
|
||||
function Na(){for(var a=!1,b=B(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=A(d),e;a:{e=f.id;if(void 0!==e)for(var h=void 0,h=0;h<w.length;h++)if(w[h].id===e){e=w[h];break a}e=null}e||(a=!0,e=new Ma(f));Fa(e,d);a&&C(e)}}u(Na);
|
||||
function Oa(a,b,c){v.call(this,"Bus",a,Oa);this.c=b;this.I=c;this.v=a.busWidth||16;this.w=Math.pow(2,this.v);this.i=this.w-1|0;this.f=(this.v>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.g=1<<this.f;this.K=this.g>>2;this.h=this.g-1;this.l=this.w/this.g|0;this.N=this.l-1;this.pa=[];this.u=null;this.$a=this.R;a=new G;Pa(a,this.I);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;this.Wa=Array(4);this.Wa[0]=Qa;this.Wa[1]=Ra;this.Wa[2]=Sa;this.Wa[3]=Ta;this.J=this.w-8192;Ua(this,this.J,
|
||||
8192,Va,this);C(this)}x(Oa);function Qa(a,b){var c=this.controller.pa[a];if(c){if(c[0])return c[0](b);if(c[2])return b&1?c[2](b&-2)>>8:c[2](b)&255}else if(b&1&&(c=this.controller.pa[a&-2],c[2]))return c[2](b&-2)>>8;return this.controller.$a(b,-1,1)}
|
||||
function Ra(a,b,c){var d=this.controller.pa[a];if(d){if(d[1]){d[1](b,c);return}if(d[3]){a=d[2]?d[2](c):0;if(c&1)d[3](a&255|b<<8,c&-2);else d[3](a&-256|b,c);return}}else if(c&1&&(d=this.controller.pa[a&-2],d[3])){c&=-2;a=d[2]?d[2](c):0;d[3](a&255|b<<8,c);return}this.controller.$a(c,b,1)}function Sa(a,b){var c=this.controller.pa[a];if(c){if(c[2])return c[2](b);if(c[0])return c[0](b)|c[0](b+1)<<8}return this.controller.$a(b,-1,0)}
|
||||
function Ta(a,b,c){if(a=this.controller.pa[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}this.controller.$a(c,b,0)}Oa.prototype.reset=function(){this.u&&this.u()};Oa.prototype.R=function(){return 0};Oa.prototype.va=function(a,b){b||this.reset();return!0};
|
||||
function Ua(a,b,c,d,f){for(var e=b,h=c,g=e>>>a.f;0<h&&g<a.b.length;){var k=a.b[g],l=g*a.g,t=a.g-(e-l);t>h&&(t=h);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+h<=k.Qa)return k.sb+=k.Qa-e,k.Qa=e,!0;if(e>=k.Qa+k.sb){t=k.size-(e-l);t>h&&(t=h);k.sb=e-k.Qa+t;e=l+a.g;h-=t;g++;continue}}return Wa(1,e,h)}e=new G(e,t,a.g,d,f);Pa(e,a.I,k);a.b[g++]=e;e=l+a.g;h-=t}return 0>=h?(a.status(Math.floor(c/1024)+"Kb "+Xa[d]+" at "+n(b,8,!0)),!0):Wa(2,b,c)}
|
||||
function Wa(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
|
||||
function Ya(a){v.call(this,"Device",a,Ya);this.u=a.name;this.l={Cb:[],ga:0,U:128,b:127,$b:0};this.b={data:0,xc:0,Ra:20,tc:0};this.f={Bb:0,m:0};this.g={gb:2496,P:0,A:128,hb:0,fb:0,V:0,Qb:0,S:[],Fa:[406,406,406,406],F:[12,12,12,12]};this.h={m:129,Ya:0,H:0,ta:0,qa:0,xa:0,S:[],F:[40,40,40,40],Fa:[1024,1024,512,512],Yb:[157,157,29,29]};this.i={c:[8210,8208,8210,8226],F:[22,22,22,50],Ea:[19,19,19,32],tb:[815,411,815,630],S:[],C:2176,Ua:0,Sa:0,aa:[0,0,0,0,0,0,0,0],$:0,T:[4544,4544,4544,4544,4544,4544,4544,
|
||||
4544],Ta:[0,0,0,0,0,0,0,0],Ka:0,rc:[0,0,0,0,0,0,0,0],Rb:0,Sb:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],sc:[1,2,3,4,5,6,7,8],Tb:[0,0,0,0,0,0,0,0],ka:[0,0,0,0,0,0,0,0],rb:[0,0,0,0,0,0,0,0],pc:[0,0,0,0,0,0,0,0],qc:[0,0,0,0,0,0,0,0],nc:[0,0,0,0,0,0,0,0],oc:[0,0,0,0,0,0,0,0],wa:0,Db:0}}x(Ya);
|
||||
this.L=function(a){this.Y(a,this.ub)}),!0;default:return!1}},log:function(){},Y:function(){},status:function(a){this.Y(this.ub+": "+a)},L:function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)},va:function(){return this.j.M=!0},ua:function(a,b){b&&(this.j.M=!1);return!0}};function Fa(a,b){if(a.j.yb)return a.j.Za&&(a.j.Za=!1),a.j.yb=!1;if(a.j.error)return a.Y(a.toString()+" error"),!1;a.j.Za=b;return a.j.Za}function C(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.mb;a.mb=null;b&&b()}}
|
||||
function Ga(a,b){b&&(a.j.ready?b():a.mb=b);return a.j.ready}var Ha="undefined"!==typeof ArrayBuffer,Ia=2,D=4,E=6,Ia=0|Ia,Ja=1|Ia,D=0|D,Ka=1|D,E=0|E,F=1|E;function La(a){v.call(this,"Panel",a,La)}x(La);m=La.prototype;m.ba=function(a,b,c,d){return this.v&&this.v.ba(a,b,c,d)||this.c&&this.c.ba(a,b,c,d)?!0:this.parent.ba.call(this,a,b,c,d)};m.Ha=function(a,b,c,d){this.v=a;this.w=b;this.c=c;this.I=d};m.va=function(a,b){b||Ma();return!0};m.ua=function(){return!0};m.La=function(){};
|
||||
function Ma(){for(var a=!1,b=B(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=z(d),e;a:{e=f.id;if(void 0!==e){var h;for(h=0;h<w.length;h++)if(w[h].id===e){e=w[h];break a}}e=null}e||(a=!0,e=new La(f));A(e,d);a&&C(e)}}u(Ma);
|
||||
function Na(a,b,c){v.call(this,"Bus",a,Na);this.c=b;this.I=c;this.v=a.busWidth||16;this.w=Math.pow(2,this.v);this.i=this.w-1|0;this.f=(this.v>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.g=1<<this.f;this.K=this.g>>2;this.h=this.g-1;this.l=this.w/this.g|0;this.N=this.l-1;this.pa=[];this.u=null;this.$a=this.R;a=new G;Oa(a,this.I);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;this.Wa=Array(4);this.Wa[0]=Pa;this.Wa[1]=Qa;this.Wa[2]=Ra;this.Wa[3]=Sa;this.J=this.w-8192;Ta(this,this.J,
|
||||
8192,Ua,this);C(this)}x(Na);function Pa(a,b){var c=this.controller.pa[a];if(c){if(c[0])return c[0](b);if(c[2])return b&1?c[2](b&-2)>>8:c[2](b)&255}else if(b&1&&(c=this.controller.pa[a&-2],c[2]))return c[2](b&-2)>>8;return this.controller.$a(b,-1,1)}
|
||||
function Qa(a,b,c){var d=this.controller.pa[a];if(d){if(d[1]){d[1](b,c);return}if(d[3]){a=d[2]?d[2](c):0;if(c&1)d[3](a&255|b<<8,c&-2);else d[3](a&-256|b,c);return}}else if(c&1&&(d=this.controller.pa[a&-2],d[3])){c&=-2;a=d[2]?d[2](c):0;d[3](a&255|b<<8,c);return}this.controller.$a(c,b,1)}function Ra(a,b){var c=this.controller.pa[a];if(c){if(c[2])return c[2](b);if(c[0])return c[0](b)|c[0](b+1)<<8}return this.controller.$a(b,-1,0)}
|
||||
function Sa(a,b,c){if(a=this.controller.pa[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}this.controller.$a(c,b,0)}Na.prototype.reset=function(){this.u&&this.u()};Na.prototype.R=function(){return 0};Na.prototype.va=function(a,b){b||this.reset();return!0};
|
||||
function Ta(a,b,c,d,f){for(var e=b,h=c,g=e>>>a.f;0<h&&g<a.b.length;){var k=a.b[g],l=g*a.g,t=a.g-(e-l);t>h&&(t=h);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+h<=k.Qa)return k.sb+=k.Qa-e,k.Qa=e,!0;if(e>=k.Qa+k.sb){t=k.size-(e-l);t>h&&(t=h);k.sb=e-k.Qa+t;e=l+a.g;h-=t;g++;continue}}return Va(1,e,h)}e=new G(e,t,a.g,d,f);Oa(e,a.I,k);a.b[g++]=e;e=l+a.g;h-=t}return 0>=h?(a.status(Math.floor(c/1024)+"Kb "+Wa[d]+" at "+n(b,8,!0)),!0):Va(2,b,c)}
|
||||
function Xa(a){for(var b=0,c=[],d=0;d<a.l;d++){var f=a.b[d];if(f.sa||f.bc){c[b++]=d;var e=b++;if(f=f.save()){for(var h=0,g=0,k=[];h<f.length;){for(var l=f[h],t=h+1;t<f.length&&f[t]===l;)t++;k[g++]=t-h;k[g++]=l;h=t}k.length<f.length&&(f=k)}c[e]=f}}return c}function Va(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
|
||||
function Ya(a){v.call(this,"Device",a,Ya);this.l={Cb:[],ga:0,U:128,b:127,$b:0};this.b={data:0,wc:0,Ra:20,sc:0};this.f={Bb:0,m:0};this.g={gb:2496,P:0,A:128,hb:0,fb:0,V:0,Qb:0,S:[],Fa:[406,406,406,406],F:[12,12,12,12]};this.h={m:129,Ya:0,H:0,ta:0,qa:0,xa:0,S:[],F:[40,40,40,40],Fa:[1024,1024,512,512],Yb:[157,157,29,29]};this.i={c:[8210,8208,8210,8226],F:[22,22,22,50],Ea:[19,19,19,32],tb:[815,411,815,630],S:[],C:2176,Ua:0,Sa:0,aa:[0,0,0,0,0,0,0,0],$:0,T:[4544,4544,4544,4544,4544,4544,4544,4544],Ta:[0,
|
||||
0,0,0,0,0,0,0],Ka:0,qc:[0,0,0,0,0,0,0,0],Rb:0,Sb:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],rc:[1,2,3,4,5,6,7,8],Tb:[0,0,0,0,0,0,0,0],ka:[0,0,0,0,0,0,0,0],rb:[0,0,0,0,0,0,0,0],oc:[0,0,0,0,0,0,0,0],pc:[0,0,0,0,0,0,0,0],mc:[0,0,0,0,0,0,0,0],nc:[0,0,0,0,0,0,0,0],wa:0,Db:0}}x(Ya);
|
||||
var Za=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
||||
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];m=Ya.prototype;
|
||||
m.Ha=function(a,b,c,d){this.w=b;this.c=c;this.I=d;switch(this.u){default:a=$a;for(var f in a){var e=a[f];c=b;d=+f;for(var h=e[0]?e[0].bind(this):null,g=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,l=+f;l<=d;l+=2){var t=l&8191;void 0!==c.pa[t]?q("I/O address already registered: "+n(c.J+t,8,!0)):c.pa[t]=[h,g,k,e,!1]}}f=this.Xb.bind(this);b.u=this.reset.bind(this);b.$a=f}C(this)};m.ic=function(){return ab(this.c)};
|
||||
m.vc=function(a){bb(this.c,a&-1809|ab(this.c)&1808);this.c.D|=128};
|
||||
function cb(a){var b=a.g,c,d,f,e=b.V>>13&7;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.kc,drive:e,blocksize:256,mapped:0,maxblock:b.Fa[e]*b.F[e],url:"rk"+e+".dsk"});b.A&=-129;switch(b.A>>1&7){case 0:b.gb=2496;b.P=0;b.A=128;b.V=0;break;case 1:if((b.V>>4&511)>=b.Fa[e]){b.P|=32832;b.A|=49152;break}if((b.V&15)>=b.F[e]){b.P|=32800;b.A|=49152;break}c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.fb;f=65536-b.hb&65535;db(a,b.S[e],c,d,f);return;case 2:if((b.V>>4&511)>=b.Fa[e]){b.P|=32832;
|
||||
b.A|=49152;break}if((b.V&15)>=b.F[e]){b.P|=32800;b.A|=49152;break}c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.fb;f=65536-b.hb&65535;a.qb(b.S[e],c,d,f);return}b.gb=e<<13|b.gb&8176|b.V%9&15;H(a.c,20,160,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}m.kc=function(a,b,c,d,f){var e=this.g;e.fb=d&65535;e.A=e.A&-49|d>>12&48;e.hb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}H(this.c,20,160,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})};
|
||||
function eb(a){var b=a.h,c,d,f,e=b.m>>8&3;b.m&=-2;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.lc,drive:e,blocksize:128,mapped:1,maxblock:b.Fa[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.m>>1&7){case 2:b.ta&8&&(b.m&=63);b.ta=b.Yb[e]|b.xa&64;break;case 3:1==(b.H&3)&&(b.xa=b.H&4?b.xa+(b.H&65408)&65408|b.H<<2&64:b.xa-(b.H&65408)&65408|b.H<<2&64,b.H=b.xa);break;case 4:b.ta=b.xa;break;case 5:if(b.H>>6>=b.Fa[e]){b.m|=37888;break}if((b.H&63)>=b.F[e]){b.m|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63);
|
||||
d=(b.qa&63)<<16|b.Ya;f=65536-b.ta&65535;db(a,b.S[e],c,d,f);return;case 6:if(b.H>>6>=b.Fa[e]){b.m|=37888;break}if((b.H&63)>=b.F[e]){b.m|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.qa&63)<<16|b.Ya;f=65536-b.ta&65535;a.qb(b.S[e],c,d,f);return}H(a.c,20,160,112,function(){b.m|=129;return!!(b.m&64)})}
|
||||
m.lc=function(a,b,c,d,f){var e=this.h;e.Ya=d&65535;e.m=e.m&-49|d>>12&48;e.qa=d>>16&63;e.H=~~(c/e.F[b.ia])<<6|c%e.F[b.ia];e.xa=e.H;e.ta=65536-f&65535;switch(a){case 1:e.m|=33792;break;case 2:e.m|=40960}H(this.c,20,160,112,function(){e.m|=129;return!!(e.m&64)})};function fb(a){a=a.i;a.C=2176;a.$=0;a.T=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ta=[0,0,0,0,0,0,0,0];a.Ka=a.Ua=a.Sa=a.wa=a.Db=0}
|
||||
function gb(a,b){var c=a.i,d,f,e;c.C&=-16513;c.$&=-2049;c.T[b]&=-1153;H(a.c,-1,0,172);"undefined"===typeof c.S[b]&&(c.S[b]={cache:[],postProcess:a.mc,drive:b,blocksize:256,mapped:0,maxblock:c.tb[0]*c.Ea[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.C&63){case 5:c.rb[b]=c.ka[b];c.C|=32896;c.T[b]|=32896;c.Ka|=1<<b;break;case 9:fb(a);break;case 19:c.T[b]|=64;break;case 49:if(c.ka[b]>=c.tb[0]||c.aa[b]>>8>=c.Ea[0]||(c.aa[b]&255)>=c.F[0]){c.Ta[b]|=1024;c.C|=49152;break}d=(c.ka[b]*c.Ea[0]+(c.aa[b]>>8))*c.F[0]+
|
||||
(c.aa[b]&255);f=(c.wa&63)<<16|c.Sa;e=65536-c.Ua&65535;db(a,c.S[b],d,f,e);return;case 57:if(c.ka[b]>=c.tb[0]||c.aa[b]>>8>=c.Ea[0]||(c.aa[b]&255)>=c.F[0]){c.Ta[b]|=1024;c.C|=49152;break}d=(c.ka[b]*c.Ea[0]+(c.aa[b]>>8))*c.F[0]+(c.aa[b]&255);f=(c.wa&63)<<16|c.Sa;e=65536-c.Ua&65535;a.qb(c.S[b],d,f,e);return}H(a.c,3,160,172,function(){c.C=c.C&65534|128;c.T[b]|=128;return!!(c.C&64)})}
|
||||
m.mc=function(a,b,c,d,f){var e=this.i;e.Ua=65536-f&65535;e.Sa=d&65535;e.C=e.C&-769|d>>8&768;e.wa=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Ea[0]);e.aa[b.ia]=f%e.Ea[0]<<8|c%e.F[0];e.rb[b.ia]=e.ka[b.ia]=d;e.Ka|=1<<b.ia;c>=b.gc-1&&(e.T[b.ia]|=1024);switch(a){case 1:e.$|=512;e.C|=49152;break;case 2:e.$|=2048,e.C|=49152}H(this.c,20,160,172,function(){e.T[b.ia]|=128;e.C=e.C&65534|128;return!!(e.C&64)})};m.ec=function(){this.f.m|=128;this.f.m&64&&H(this.c,0,192,64)};
|
||||
function hb(a,b,c,d,f,e){var h=~~((e+c.ra-1)/c.ra),g=new XMLHttpRequest;2048>h&&d+2048<c.gc&&(h=2048);g.open("GET",c.url,!0);g.setRequestHeader("Range","bytes="+(d*c.ra<<1)+"-"+(((d+h)*c.ra<<1)-1));g.responseType="arraybuffer";g.onreadystatechange=function(){if(4==g.readyState){var h=b.bind(a),l,t,z,P;l=g.response;if(0!=g.status&&206!=g.status||!l)c.pb(1,c,d,f,e);else{l=new Uint8Array(l);t=d;for(P=0;P<l.length;){if("undefined"===typeof c.cache[t])for(c.cache[t]=[],z=0;z<c.ra;z++)c.cache[t][z]=P<l.length?
|
||||
l[P]&255|l[P+1]<<8&65280:0,P+=2;else P+=c.ra<<1;t++}h(c,d,f,e)}}};g.send(null)}function I(a,b,c,d,f){if(c&1){if(!f)return J(a.c,4,122);d=0<=d?d<<8&65280|b&255:b}else 0<=d?f&&(d=b&65280|d&255):d=b;return d}m.qb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){hb(this,this.qb,a,b,c,d);return}for(f=0;f<a.ra&&0<d;f++){if(0>K(this.c,a.fc?ib(this.c,c):c,a.cache[b][f])){a.pb(2,a,b,c,d);return}c+=2;--d}b++}a.pb(0,a,b,c,d)};
|
||||
function db(a,b,c,d,f){for(var e,h;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.ra;e++)b.cache[c][e]=0;for(e=0;e<b.ra&&0<f;e++){h=L(a.c,b.fc?ib(a.c,d):d);if(0>h){b.pb(2,b,c,d,f);return}b.cache[c][e]=h;d+=2;--f}c++}b.pb(0,b,c,d,f)}m.reset=function(){this.b.Ra=this.b.Ra&-120|20;this.l.ga=0;this.l.U=128;this.f.m=0;this.g.A=128;this.h.m=128;fb(this)};
|
||||
m.Xb=function(a,b,c){var d,f,e=this.c;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.la&65280:(a&1&&(b<<=8),e.la=b|255,d=0);break;case 4194298:if(0>b)d=e.ob;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.ob=d;e.ja=2}break;case 4194294:if(70!==e.Ga)return J(e,4,222);0>b?d=e.o:d=e.o=0;break;case 4194292:if(70!==e.Ga)return J(e,4,224);d=1;break;case 4194290:if(70!==e.Ga)return J(e,4,226);d=0;break;case 4194288:if(70!==e.Ga)return J(e,4,228);d=61183;break;case 4194296:0<=
|
||||
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ga)return J(e,4,232);f=a-4194272>>1;0>b?d=e.Ab[f]:(d=I(this,e.Ab[f],a,b,c),0<=d&&(e.Ab[f]=d));break;case 4194254:return a&1?e.s>>14&1?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Z[3]=b),d=e.Z[3]):e.s>>14&0?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Z[1]=b),d=e.Z[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.s&2048?(0<=b&&(e.a[f]=b),d=e.a[f]):(0<=b&&(e.Ja[f]=b),d=
|
||||
e.Ja[f]),d;case 4194246:return a&1?(0<=b&&(e.a[7]=b),d=e.a[7]):e.s>>14&0?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Z[0]=b),d=e.Z[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.s&2048?(0<=b&&(e.Ja[f]=b),d=e.Ja[f]):(0<=b&&(e.a[f]=b),d=e.a[f]),d;default:return e.o|=16,J(e,4,124)}break;case 4194176:f=a>>1&31;d=I(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var h=this.l;f=this.f;switch(a&-2){case 4194174:d=I(this,e.Va,a,b,c);0<=d&&(e.Va=d);break;case 4194172:d=
|
||||
e.ea;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194170:e.G=e.G&62337|e.bb<<5|e.nb<<1;0>b?d=e.G:(d=I(this,e.G,a,b,c),0<=d&&(e.G=d&=62337,e.bb=d>>5&3,e.nb=d>>1&15,d&257?(f=2,e.oa&16&&(f=1),e.ab=d&1?Ja|D:D):(e.ab=0,f=4),this.b.Ra=this.b.Ra&-8|f));break;case 4194168:0>b?d=this.b.tc&65535:(d=I(this,this.b.data,a,b,c),0<=d&&(this.b.data=d));break;case 4194166:0<=b&&(b&127&&(h.$b=0),h.U&=-129,H(e,100,128,52,function(){h.U|=128;return!!(h.U&64)}));d=0;break;case 4194164:0>b?d=h.U:(d=I(this,h.U,a,b,c),0<=
|
||||
d&&(128==(h.U&192)&&d&64&&H(e,8,128,52,function(){h.U|=128;return!!(h.U&64)}),h.U=h.U&128|d&-129));break;case 4194162:d=0;0>b&&(h.ga&=-129,0<h.Cb.length&&(d=h.Cb.shift(),0<h.Cb.length&&setTimeout(function(){h.ga|=128;h.ga&64&&H(e,40,128,48)},50)));break;case 4194160:0>b?d=h.ga:(d=I(this,h.ga,a,b,c),0<=d&&(h.ga=h.ga&128|d&-129));break;case 4194150:0>b?(d=f.m,f.m&=-129):(d=I(this,f.m,a,b,c),0<=d&&(d&64&&!f.Bb&&(setInterval(this.ec.bind(this),25),f.Bb=1),f.m=d&-129));break;default:return e.o|=16,J(e,
|
||||
4,126)}break;case 4194048:f=this.g;switch(a&-2){case 4194048:d=I(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194050:d=I(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=I(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&cb(this));break;case 4194054:d=I(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194056:d=I(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194058:d=I(this,f.V,a,b,c);0<=d&&(f.V=d);break;case 4194060:break;case 4194062:d=I(this,f.Qb,a,b,c);0<=d&&(f.Qb=d);break;default:return e.o|=
|
||||
16,J(e,4,128)}break;case 4193728:var g=this.i;f=g.$&7;switch(a&-2){case 4193728:d=I(this,g.C,a,b,c);0<=b&&0<=d&&(g.wa=g.wa&60|d>>8&3,g.C=d&17279|g.C&34944|2048,d&1&&g.C&128?gb(this,f):192==(d&192)&&H(e,0,160,172));break;case 4193730:d=I(this,g.Ua,a,b,c);0<=d&&(g.Ua=d);break;case 4193732:d=I(this,g.Sa,a,b,c);0<=d&&(g.Sa=d&65534);break;case 4193734:d=I(this,g.aa[f],a,b,c);0<=d&&(g.aa[f]=d&7967);break;case 4193736:d=I(this,g.$,a,b,c);0<=d&&(g.$=d&63|g.$&65472,d&128&&fb(this));break;case 4193738:d=g.T[f];
|
||||
break;case 4193740:d=g.Ta[f];break;case 4193742:d=I(this,g.Ka,a,b,c);0<=d&&(g.Ka=d&255);break;case 4193744:d=g.rc[f];break;case 4193746:d=I(this,g.Rb,a,b,c);0<=d&&(g.Rb=d);break;case 4193748:d=I(this,g.Sb[f],a,b,c);0<=d&&(g.Sb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=g.sc[f];break;case 4193754:d=I(this,g.Tb[f],a,b,c);0<=d&&(g.Tb[f]=d);break;case 4193756:d=I(this,g.ka[f],a,b,c);0<=d&&(g.ka[f]=d&511);break;case 4193758:g.rb[f]=g.ka[f];d=g.rb[f];break;case 4193760:d=g.pc[f];break;case 4193762:d=
|
||||
g.qc[f];break;case 4193764:d=g.nc[f];break;case 4193766:d=g.oc[f];break;case 4193768:d=I(this,g.wa,a,b,c);0<=d&&(g.wa=d&63,g.C=g.C&-769|(d&3)<<8);break;case 4193770:d=I(this,g.Db,a,b,c);0<=d&&(g.Db=d);break;default:return e.o|=16,J(e,4,132)}break;case 4192512:f=this.h;switch(a&-2){case 4192512:d=I(this,f.m,a,b,c);0<=b&&0<=d&&(f.qa=f.qa&60|d>>4&3,f.m=f.m&-1023|d&1022,f.m&128||eb(this));break;case 4192514:d=I(this,f.Ya,a,b,c);0<=d&&(f.Ya=d&65534);break;case 4192516:d=I(this,f.H,a,b,c);0<=d&&(f.H=d);
|
||||
break;case 4192518:d=I(this,f.ta,a,b,c);0<=d&&(f.ta=d);break;case 4192520:d=I(this,f.qa,a,b,c);0<=d&&(f.qa=d&63,f.m=f.m&-49|(f.qa&3)<<4);break;default:return e.o|=16,J(e,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.oa:(d=I(this,e.oa,a,b,c),0<=d&&(70!==e.Ga&&(d&=-49),e.oa=d,e.Ia[0]=d&4?15:7,e.Ia[1]=d&2?15:7,e.Ia[3]=d&1?15:7,e.ab&&(f=2,e.oa&16&&(f=1),this.b.Ra=this.b.Ra&-8|f)));break;default:return e.o|=16,J(e,4,136)}break;case 4191424:f=a>>1&31;d=I(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=
|
||||
d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=I(this,e.O[1][f],a,b,c);0<=d&&(e.O[1][f]=d,e.O[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Ga)return J(e,4,234);f=a>>2&31;d=e.ib[f];a&2&&(d=d>>16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.ib[f]=a&2?d<<16|e.ib[f]&65535:e.ib[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Za[a>>1&255];else return e.o|=16,J(e,4,138);break;default:return e.o|=
|
||||
16,J(e,4,142)}c&&0<=d&&(a&1?d=d>>8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var $a={};$a[4194302]=[null,null,Ya.prototype.ic,Ya.prototype.vc];u(function(){for(var a=B(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ya(d);Fa(d,c)}});var jb;if(Ia){var kb=new ArrayBuffer(2);(new DataView(kb)).setUint16(0,256,!0);jb=256===(new Uint16Array(kb))[0]}else jb=!1;var lb=jb;
|
||||
function G(a,b,c,d,f){this.id=mb+=2;this.c=null;this.Qa=a;this.sb=b;this.size=c||0;this.type=d||nb;this.h=d==ob;this.controller=null;Pa(this);this.sa=this.bc=!1;if(c)if(f)this.controller=f,this.c=null,pb(this,f.Wa);else if(Ia)this.f=new ArrayBuffer(c),this.g=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.B=new Uint16Array(this.f,0,c>>1),this.c=new Int32Array(this.f,0,c>>2),pb(this,lb?qb:rb);else{this.c=Array(c>>2);for(a=0;a<this.c.length;a++)this.c[a]=0;pb(this,sb)}else pb(this)}
|
||||
var nb=0,ob=2,Va=4,Xa=["NONE","RAM","ROM","VID","H/W"],mb=0;
|
||||
G.prototype={constructor:G,parent:null,Bb:function(a){this.Qa=a},save:function(){var a,b;if(this.controller)a=null;else if(Ia)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.g.getInt32(b<<2,!0);else a=this.c;return a},restore:function(a){if(this.controller)return null==a;if(a&&this.size==a.length<<2){var b;if(Ia)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.c=a;return this.sa=!0}return!1},w:function(){return 255},v:function(){},u:function(a,b){return this.eb(a++,b++)|this.eb(a,
|
||||
b)<<8},J:function(a,b,c){this.jb(a++,b&255,c++);this.jb(a,b>>8,c)},X:function(a){return this.c[a>>2]>>>((a&3)<<3)&255},ya:function(a){var b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8},Ca:function(a,b){var c=a>>2,d=(a&3)<<3;this.c[c]=this.c[c]&~(255<<d)|b<<d;this.sa=!0},Pa:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.c[c]=this.c[c]&~(65535<<d)|b<<d:(this.c[c]=this.c[c]&16777215|b<<24,c++,this.c[c]=this.c[c]&-256|b>>8);this.sa=!0},N:function(a,b){return this.R(a,
|
||||
m.Ha=function(a,b,c,d){this.w=b;this.c=c;this.I=d;a=$a;for(var f in a){var e=a[f];c=b;d=+f;for(var h=e[0]?e[0].bind(this):null,g=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,l=+f;l<=d;l+=2){var t=l&8191;void 0!==c.pa[t]?q("I/O address already registered: "+n(c.J+t,8,!0)):c.pa[t]=[h,g,k,e,!1]}}f=this.Xb.bind(this);b.u=this.reset.bind(this);b.$a=f;C(this)};m.hc=function(){return ab(this.c)};m.uc=function(a){bb(this.c,a&-1809|ab(this.c)&1808);this.c.D|=128};
|
||||
function cb(a){var b=a.g,c,d,f,e=b.V>>13&7;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.jc,drive:e,blocksize:256,mapped:0,maxblock:b.Fa[e]*b.F[e],url:"rk"+e+".dsk"});b.A&=-129;switch(b.A>>1&7){case 0:b.gb=2496;b.P=0;b.A=128;b.V=0;break;case 1:if((b.V>>4&511)>=b.Fa[e]){b.P|=32832;b.A|=49152;break}if((b.V&15)>=b.F[e]){b.P|=32800;b.A|=49152;break}c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.fb;f=65536-b.hb&65535;db(a,b.S[e],c,d,f);return;case 2:if((b.V>>4&511)>=b.Fa[e])b.P|=32832,
|
||||
b.A|=49152;else if((b.V&15)>=b.F[e])b.P|=32800,b.A|=49152;else{c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.fb;f=65536-b.hb&65535;a.qb(b.S[e],c,d,f);return}}b.gb=e<<13|b.gb&8176|b.V%9&15;I(a.c,20,160,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}m.jc=function(a,b,c,d,f){var e=this.g;e.fb=d&65535;e.A=e.A&-49|d>>12&48;e.hb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}I(this.c,20,160,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})};
|
||||
function eb(a){var b=a.h,c,d,f,e=b.m>>8&3;b.m&=-2;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.kc,drive:e,blocksize:128,mapped:1,maxblock:b.Fa[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.m>>1&7){case 2:b.ta&8&&(b.m&=63);b.ta=b.Yb[e]|b.xa&64;break;case 3:1==(b.H&3)&&(b.xa=b.H&4?b.xa+(b.H&65408)&65408|b.H<<2&64:b.xa-(b.H&65408)&65408|b.H<<2&64,b.H=b.xa);break;case 4:b.ta=b.xa;break;case 5:if(b.H>>6>=b.Fa[e]){b.m|=37888;break}if((b.H&63)>=b.F[e]){b.m|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63);
|
||||
d=(b.qa&63)<<16|b.Ya;f=65536-b.ta&65535;db(a,b.S[e],c,d,f);return;case 6:if(b.H>>6>=b.Fa[e])b.m|=37888;else if((b.H&63)>=b.F[e])b.m|=37888;else{c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.qa&63)<<16|b.Ya;f=65536-b.ta&65535;a.qb(b.S[e],c,d,f);return}}I(a.c,20,160,112,function(){b.m|=129;return!!(b.m&64)})}
|
||||
m.kc=function(a,b,c,d,f){var e=this.h;e.Ya=d&65535;e.m=e.m&-49|d>>12&48;e.qa=d>>16&63;e.H=~~(c/e.F[b.ia])<<6|c%e.F[b.ia];e.xa=e.H;e.ta=65536-f&65535;switch(a){case 1:e.m|=33792;break;case 2:e.m|=40960}I(this.c,20,160,112,function(){e.m|=129;return!!(e.m&64)})};function fb(a){a=a.i;a.C=2176;a.$=0;a.T=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ta=[0,0,0,0,0,0,0,0];a.Ka=a.Ua=a.Sa=a.wa=a.Db=0}
|
||||
function gb(a,b){var c=a.i,d,f,e;c.C&=-16513;c.$&=-2049;c.T[b]&=-1153;I(a.c,-1,0,172);"undefined"===typeof c.S[b]&&(c.S[b]={cache:[],postProcess:a.lc,drive:b,blocksize:256,mapped:0,maxblock:c.tb[0]*c.Ea[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.C&63){case 5:c.rb[b]=c.ka[b];c.C|=32896;c.T[b]|=32896;c.Ka|=1<<b;break;case 9:fb(a);break;case 19:c.T[b]|=64;break;case 49:if(c.ka[b]>=c.tb[0]||c.aa[b]>>8>=c.Ea[0]||(c.aa[b]&255)>=c.F[0]){c.Ta[b]|=1024;c.C|=49152;break}d=(c.ka[b]*c.Ea[0]+(c.aa[b]>>8))*c.F[0]+
|
||||
(c.aa[b]&255);f=(c.wa&63)<<16|c.Sa;e=65536-c.Ua&65535;db(a,c.S[b],d,f,e);return;case 57:if(c.ka[b]>=c.tb[0]||c.aa[b]>>8>=c.Ea[0]||(c.aa[b]&255)>=c.F[0])c.Ta[b]|=1024,c.C|=49152;else{d=(c.ka[b]*c.Ea[0]+(c.aa[b]>>8))*c.F[0]+(c.aa[b]&255);f=(c.wa&63)<<16|c.Sa;e=65536-c.Ua&65535;a.qb(c.S[b],d,f,e);return}}I(a.c,3,160,172,function(){c.C=c.C&65534|128;c.T[b]|=128;return!!(c.C&64)})}
|
||||
m.lc=function(a,b,c,d,f){var e=this.i;e.Ua=65536-f&65535;e.Sa=d&65535;e.C=e.C&-769|d>>8&768;e.wa=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Ea[0]);e.aa[b.ia]=f%e.Ea[0]<<8|c%e.F[0];e.rb[b.ia]=e.ka[b.ia]=d;e.Ka|=1<<b.ia;c>=b.fc-1&&(e.T[b.ia]|=1024);switch(a){case 1:e.$|=512;e.C|=49152;break;case 2:e.$|=2048,e.C|=49152}I(this.c,20,160,172,function(){e.T[b.ia]|=128;e.C=e.C&65534|128;return!!(e.C&64)})};m.dc=function(){this.f.m|=128;this.f.m&64&&I(this.c,0,192,64)};
|
||||
function hb(a,b,c,d,f,e){var h=~~((e+c.ra-1)/c.ra),g=new XMLHttpRequest;2048>h&&d+2048<c.fc&&(h=2048);g.open("GET",c.url,!0);g.setRequestHeader("Range","bytes="+(d*c.ra<<1)+"-"+(((d+h)*c.ra<<1)-1));g.responseType="arraybuffer";g.onreadystatechange=function(){if(4==g.readyState){var h=b.bind(a),l,t,H,R;l=g.response;if(g.status&&206!=g.status||!l)c.pb(1,c,d,f,e);else{l=new Uint8Array(l);t=d;for(R=0;R<l.length;){if("undefined"===typeof c.cache[t])for(c.cache[t]=[],H=0;H<c.ra;H++)c.cache[t][H]=R<l.length?
|
||||
l[R]&255|l[R+1]<<8&65280:0,R+=2;else R+=c.ra<<1;t++}h(c,d,f,e)}}};g.send(null)}function J(a,b,c,d,f){if(c&1){if(!f)return K(a.c,4,122);d=0<=d?d<<8&65280|b&255:b}else 0<=d?f&&(d=b&65280|d&255):d=b;return d}m.qb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){hb(this,this.qb,a,b,c,d);return}for(f=0;f<a.ra&&0<d;f++){if(0>L(this.c,a.ec?ib(this.c,c):c,a.cache[b][f])){a.pb(2,a,b,c,d);return}c+=2;--d}b++}a.pb(0,a,b,c,d)};
|
||||
function db(a,b,c,d,f){for(var e,h;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.ra;e++)b.cache[c][e]=0;for(e=0;e<b.ra&&0<f;e++){h=M(a.c,b.ec?ib(a.c,d):d);if(0>h){b.pb(2,b,c,d,f);return}b.cache[c][e]=h;d+=2;--f}c++}b.pb(0,b,c,d,f)}m.reset=function(){this.b.Ra=this.b.Ra&-120|20;this.l.ga=0;this.l.U=128;this.f.m=0;this.g.A=128;this.h.m=128;fb(this)};
|
||||
m.Xb=function(a,b,c){var d,f,e=this.c;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.la&65280:(a&1&&(b<<=8),e.la=b|255,d=0);break;case 4194298:if(0>b)d=e.ob;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.ob=d;e.ja=2}break;case 4194294:if(70!==e.Ga)return K(e,4,222);0>b?d=e.o:d=e.o=0;break;case 4194292:if(70!==e.Ga)return K(e,4,224);d=1;break;case 4194290:if(70!==e.Ga)return K(e,4,226);d=0;break;case 4194288:if(70!==e.Ga)return K(e,4,228);d=61183;break;case 4194296:0<=
|
||||
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ga)return K(e,4,232);f=a-4194272>>1;0>b?d=e.Ab[f]:(d=J(this,e.Ab[f],a,b,c),0<=d&&(e.Ab[f]=d));break;case 4194254:return a&1?e.s>>14&1?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Z[3]=b),d=e.Z[3]):e.s>>14&0?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Z[1]=b),d=e.Z[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.s&2048?(0<=b&&(e.a[f]=b),d=e.a[f]):(0<=b&&(e.Ja[f]=b),d=
|
||||
e.Ja[f]),d;case 4194246:return a&1?(0<=b&&(e.a[7]=b),d=e.a[7]):e.s>>14&0?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Z[0]=b),d=e.Z[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.s&2048?(0<=b&&(e.Ja[f]=b),d=e.Ja[f]):(0<=b&&(e.a[f]=b),d=e.a[f]),d;default:return e.o|=16,K(e,4,124)}break;case 4194176:f=a>>1&31;d=J(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var h=this.l;f=this.f;switch(a&-2){case 4194174:d=J(this,e.Va,a,b,c);0<=d&&(e.Va=d);break;case 4194172:d=
|
||||
e.ea;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194170:e.G=e.G&62337|e.bb<<5|e.nb<<1;0>b?d=e.G:(d=J(this,e.G,a,b,c),0<=d&&(e.G=d&=62337,e.bb=d>>5&3,e.nb=d>>1&15,d&257?(f=2,e.oa&16&&(f=1),e.ab=d&1?Ia|D:D):(e.ab=0,f=4),this.b.Ra=this.b.Ra&-8|f));break;case 4194168:0>b?d=this.b.sc&65535:(d=J(this,this.b.data,a,b,c),0<=d&&(this.b.data=d));break;case 4194166:0<=b&&(b&127&&(h.$b=0),h.U&=-129,I(e,100,128,52,function(){h.U|=128;return!!(h.U&64)}));d=0;break;case 4194164:0>b?d=h.U:(d=J(this,h.U,a,b,c),0<=
|
||||
d&&(128==(h.U&192)&&d&64&&I(e,8,128,52,function(){h.U|=128;return!!(h.U&64)}),h.U=h.U&128|d&-129));break;case 4194162:d=0;0>b&&(h.ga&=-129,0<h.Cb.length&&(d=h.Cb.shift(),0<h.Cb.length&&setTimeout(function(){h.ga|=128;h.ga&64&&I(e,40,128,48)},50)));break;case 4194160:0>b?d=h.ga:(d=J(this,h.ga,a,b,c),0<=d&&(h.ga=h.ga&128|d&-129));break;case 4194150:0>b?(d=f.m,f.m&=-129):(d=J(this,f.m,a,b,c),0<=d&&(d&64&&!f.Bb&&(setInterval(this.dc.bind(this),25),f.Bb=1),f.m=d&-129));break;default:return e.o|=16,K(e,
|
||||
4,126)}break;case 4194048:f=this.g;switch(a&-2){case 4194048:d=J(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194050:d=J(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=J(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&cb(this));break;case 4194054:d=J(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194056:d=J(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194058:d=J(this,f.V,a,b,c);0<=d&&(f.V=d);break;case 4194060:break;case 4194062:d=J(this,f.Qb,a,b,c);0<=d&&(f.Qb=d);break;default:return e.o|=
|
||||
16,K(e,4,128)}break;case 4193728:var g=this.i;f=g.$&7;switch(a&-2){case 4193728:d=J(this,g.C,a,b,c);0<=b&&0<=d&&(g.wa=g.wa&60|d>>8&3,g.C=d&17279|g.C&34944|2048,d&1&&g.C&128?gb(this,f):192==(d&192)&&I(e,0,160,172));break;case 4193730:d=J(this,g.Ua,a,b,c);0<=d&&(g.Ua=d);break;case 4193732:d=J(this,g.Sa,a,b,c);0<=d&&(g.Sa=d&65534);break;case 4193734:d=J(this,g.aa[f],a,b,c);0<=d&&(g.aa[f]=d&7967);break;case 4193736:d=J(this,g.$,a,b,c);0<=d&&(g.$=d&63|g.$&65472,d&128&&fb(this));break;case 4193738:d=g.T[f];
|
||||
break;case 4193740:d=g.Ta[f];break;case 4193742:d=J(this,g.Ka,a,b,c);0<=d&&(g.Ka=d&255);break;case 4193744:d=g.qc[f];break;case 4193746:d=J(this,g.Rb,a,b,c);0<=d&&(g.Rb=d);break;case 4193748:d=J(this,g.Sb[f],a,b,c);0<=d&&(g.Sb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=g.rc[f];break;case 4193754:d=J(this,g.Tb[f],a,b,c);0<=d&&(g.Tb[f]=d);break;case 4193756:d=J(this,g.ka[f],a,b,c);0<=d&&(g.ka[f]=d&511);break;case 4193758:g.rb[f]=g.ka[f];d=g.rb[f];break;case 4193760:d=g.oc[f];break;case 4193762:d=
|
||||
g.pc[f];break;case 4193764:d=g.mc[f];break;case 4193766:d=g.nc[f];break;case 4193768:d=J(this,g.wa,a,b,c);0<=d&&(g.wa=d&63,g.C=g.C&-769|(d&3)<<8);break;case 4193770:d=J(this,g.Db,a,b,c);0<=d&&(g.Db=d);break;default:return e.o|=16,K(e,4,132)}break;case 4192512:f=this.h;switch(a&-2){case 4192512:d=J(this,f.m,a,b,c);0<=b&&0<=d&&(f.qa=f.qa&60|d>>4&3,f.m=f.m&-1023|d&1022,f.m&128||eb(this));break;case 4192514:d=J(this,f.Ya,a,b,c);0<=d&&(f.Ya=d&65534);break;case 4192516:d=J(this,f.H,a,b,c);0<=d&&(f.H=d);
|
||||
break;case 4192518:d=J(this,f.ta,a,b,c);0<=d&&(f.ta=d);break;case 4192520:d=J(this,f.qa,a,b,c);0<=d&&(f.qa=d&63,f.m=f.m&-49|(f.qa&3)<<4);break;default:return e.o|=16,K(e,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.oa:(d=J(this,e.oa,a,b,c),0<=d&&(70!==e.Ga&&(d&=-49),e.oa=d,e.Ia[0]=d&4?15:7,e.Ia[1]=d&2?15:7,e.Ia[3]=d&1?15:7,e.ab&&(f=2,e.oa&16&&(f=1),this.b.Ra=this.b.Ra&-8|f)));break;default:return e.o|=16,K(e,4,136)}break;case 4191424:f=a>>1&31;d=J(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=
|
||||
d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=J(this,e.O[1][f],a,b,c);0<=d&&(e.O[1][f]=d,e.O[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Ga)return K(e,4,234);f=a>>2&31;d=e.ib[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=J(this,d,a,b,c),0<=d&&(e.ib[f]=a&2?d<<16|e.ib[f]&65535:e.ib[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Za[a>>1&255];else return e.o|=16,K(e,4,138);break;default:return e.o|=
|
||||
16,K(e,4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var $a={};$a[4194302]=[null,null,Ya.prototype.hc,Ya.prototype.uc];u(function(){for(var a=B(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ya(d);A(d,c)}});var jb;if(Ha){var kb=new ArrayBuffer(2);(new DataView(kb)).setUint16(0,256,!0);jb=256===(new Uint16Array(kb))[0]}else jb=!1;var lb=jb;
|
||||
function G(a,b,c,d,f){this.id=mb+=2;this.c=null;this.Qa=a;this.sb=b;this.size=c||0;this.type=d||nb;this.h=d==ob;this.controller=null;Oa(this);this.sa=this.bc=!1;if(c)if(f)this.controller=f,this.c=null,pb(this,f.Wa);else if(Ha)this.f=new ArrayBuffer(c),this.g=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.B=new Uint16Array(this.f,0,c>>1),this.c=new Int32Array(this.f,0,c>>2),pb(this,lb?qb:rb);else{this.c=Array(c>>2);for(a=0;a<this.c.length;a++)this.c[a]=0;pb(this,sb)}else pb(this)}
|
||||
var nb=0,ob=2,Ua=4,Wa=["NONE","RAM","ROM","VID","H/W"],mb=0;
|
||||
G.prototype={constructor:G,parent:null,Bb:function(a){this.Qa=a},save:function(){var a,b;if(this.controller)a=null;else if(Ha)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.g.getInt32(b<<2,!0);else a=this.c;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ha)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.c=a;return this.sa=!0}return!1},w:function(){return 255},v:function(){},u:function(a,b){return this.eb(a++,b++)|this.eb(a,b)<<
|
||||
8},J:function(a,b,c){this.jb(a++,b&255,c++);this.jb(a,b>>8,c)},X:function(a){return this.c[a>>2]>>>((a&3)<<3)&255},ya:function(a){var b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8},Ca:function(a,b){var c=a>>2,d=(a&3)<<3;this.c[c]=this.c[c]&~(255<<d)|b<<d;this.sa=!0},Pa:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.c[c]=this.c[c]&~(65535<<d)|b<<d:(this.c[c]=this.c[c]&16777215|b<<24,c++,this.c[c]=this.c[c]&-256|b>>8);this.sa=!0},N:function(a,b){return this.R(a,
|
||||
b)},da:function(a,b){return this.ma(a,b)},Aa:function(a,b,c){this.h||this.Wb(a,b,c)},Ma:function(a,b,c){this.h||this.Na(a,b,c)},K:function(a){return this.b[a]},W:function(a){return this.b[a]},ca:function(a){return this.g.getUint16(a,!0)},na:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.B[a>>1]},za:function(a,b){this.b[a]=b;this.sa=!0},Ba:function(a,b){this.b[a]=b;this.sa=!0},Da:function(a,b){this.g.setUint16(a,b,!0);this.sa=!0},Oa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.B[a>>
|
||||
1]=b;this.sa=!0}};function Pa(a,b,c){a.I=b;a.i=a.l=0;c&&((a.i=c.i)&&tb(a,ub,!1),(a.l=c.l)&&vb(a,ub,!1))}function vb(a,b,c){c&&a.l||(a.jb=!a.h&&b[1]||a.v,a.wc=!a.h&&b[3]||a.J);if(c||void 0===c)a.Wb=b[1]||a.v,a.Na=b[3]||a.J}function tb(a,b,c){c&&a.i||(a.eb=b[0]||a.w,a.jc=b[2]||a.u);if(c||void 0===c)a.R=b[0]||a.w,a.ma=b[2]||a.u}function pb(a,b){b||(b=wb);tb(a,b,void 0);vb(a,b,void 0)}
|
||||
var wb=[],sb=[G.prototype.X,G.prototype.Ca,G.prototype.ya,G.prototype.Pa],ub=[G.prototype.N,G.prototype.Aa,G.prototype.da,G.prototype.Ma];if(Ia)var rb=[G.prototype.K,G.prototype.za,G.prototype.ca,G.prototype.Da],qb=[G.prototype.W,G.prototype.Ba,G.prototype.na,G.prototype.Oa];
|
||||
1]=b;this.sa=!0}};function Oa(a,b,c){a.I=b;a.i=a.l=0;c&&((a.i=c.i)&&tb(a,ub,!1),(a.l=c.l)&&vb(a,ub,!1))}function vb(a,b,c){c&&a.l||(a.jb=!a.h&&b[1]||a.v,a.vc=!a.h&&b[3]||a.J);if(c||void 0===c)a.Wb=b[1]||a.v,a.Na=b[3]||a.J}function tb(a,b,c){c&&a.i||(a.eb=b[0]||a.w,a.ic=b[2]||a.u);if(c||void 0===c)a.R=b[0]||a.w,a.ma=b[2]||a.u}function pb(a,b){b||(b=wb);tb(a,b,void 0);vb(a,b,void 0)}
|
||||
var wb=[],sb=[G.prototype.X,G.prototype.Ca,G.prototype.ya,G.prototype.Pa],ub=[G.prototype.N,G.prototype.Aa,G.prototype.da,G.prototype.Ma];if(Ha)var rb=[G.prototype.K,G.prototype.za,G.prototype.ca,G.prototype.Da],qb=[G.prototype.W,G.prototype.Ba,G.prototype.na,G.prototype.Oa];
|
||||
function xb(a,b){v.call(this,"CPU",a,xb);var c=a.multiplier||1;this.wb=a.cycles||b;this.ma=c;this.vb=Math.round(this.wb/1E4)/100;this.ca=this.vb*this.ma;this.j.ha=!1;this.j.Ub=!1;this.j.Xa=a.autoStart;this.j.Nb=!1;this.j.lb=!1;this.Oa=this.da=0;this.Pa=a.csStart;this.za=a.csInterval;this.Aa=a.csStop;this.Ma=[];this.Mb=this.Eb.bind(this);C(this)}x(xb);var yb=["power","reset"];m=xb.prototype;
|
||||
m.Ha=function(a,b,c,d){this.v=a;this.w=b;this.I=d;for(b=0;b<yb.length;b++)(c=this.B[yb[b]])&&this.v.ba(null,yb[b],c);this.ya=null;a=zb(a,"autoStart");null!=a&&(this.j.Xa="true"==a?!0:"false"==a?!1:!!a);C(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};m.va=function(a,b){if(!b){if(a&&this.restore){Ab(this);if(!this.restore(a))return!1;Bb(this)}else this.reset();this.Y("No debugger detected")}Cb(this);return!0};m.ua=function(a){return a?this.save():!0};
|
||||
m.Xa=function(){return this.j.Xa||void 0===this.B.run?(this.Eb(),!0):!1};m.Pb=function(){return 0};function Bb(a){void 0===a.Pa&&(a.Pa=0);void 0===a.za&&(a.za=-1);void 0===a.Aa&&(a.Aa=-1);a.j.lb=0<=a.Pa&&0<a.za;a.j.lb&&(a.Oa=0,a.da=a.Pa-a.X)}
|
||||
|
|
@ -68,53 +66,52 @@ function Db(a,b,c,d){if(a.B[b]){void 0===c&&(a.j.error=!0,a.L("Value for "+b+" i
|
|||
m.ba=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.B[b]=c;a=!0;break;case "run":this.B[b]=c;c.onclick=function(){var a;if(a=d.v)if(a=d.v,a.j.M)a=!0;else{var b=null,c,g=y(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.j.ready);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.j.M);c++);c==g.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.mb?" (waiting for notification)":""))+".");a=!1}a&&(d.j.ha?Eb(d):d.Eb())};a=!0;
|
||||
break;case "speed":this.B[b]=c;a=!0;break;case "setSpeed":this.B[b]=c,c.onclick=function(){Fb(d,d.ma<<1)},c.textContent=this.ca.toFixed(2)+"Mhz",a=!0}return a};function Gb(a,b,c){a.X+=b;c&&(a.W=a.c=0)}function Hb(a,b){var c=1;b&&1<a.ma&&a.N&&(c=a.N/a.vb);a.Jb=Math.round(1E3/30);a.kb=Math.floor(a.wb/30*c);b||(a.Ba=a.kb);a.xb=0}function Ib(a){return a.X+a.K+a.W-a.c}function Ab(a){a.N=0;a.Kb=0;a.X=a.K=a.W=a.c=0;Bb(a);Fb(a,1)}
|
||||
function Fb(a,b){if(void 0!==b){.8>a.N/a.ca&&(b=1);a.ma=b;var c=a.vb*a.ma;if(a.ca!=c){a.ca=c;var c=a.ca.toFixed(2)+"Mhz",d=a.B.setSpeed;d&&(d.textContent=c);a.Y("target speed: "+c)}}Gb(a,a.K);a.K=0;a.J=ha();a.R=0;Hb(a)}function Jb(a){a.W-=a.c;a.c=0}
|
||||
m.Eb=function(){if(Ga(this,!0)){if(!this.j.ha){Fb(this);this.v&&this.v.start(this.J,Ib(this));this.j.ha=!0;this.j.Ub=!0;this.ya&&this.ya.start();var a=this.B.run;a&&(a.textContent="Halt");this.v&&this.v.La(!0)}this.xb>=this.wb&&Hb(this,!0);this.Ca=0;this.Na=ha();this.R&&(a=this.Na-this.R,a>this.Jb&&(this.J+=a,this.J>this.Na&&(this.J=this.Na)));try{do{for(var b,c=this.j.lb?1:this.kb,d=this.Ma.length-1;0<=d;d--){var f=this.Ma[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Vb(b)}catch(l){if("number"!=typeof l)throw l;
|
||||
m.Eb=function(){if(Fa(this,!0)){if(!this.j.ha){Fb(this);this.v&&this.v.start(this.J,Ib(this));this.j.ha=!0;this.j.Ub=!0;this.ya&&this.ya.start();var a=this.B.run;a&&(a.textContent="Halt");this.v&&this.v.La(!0)}this.xb>=this.wb&&Hb(this,!0);this.Ca=0;this.Na=ha();this.R&&(a=this.Na-this.R,a>this.Jb&&(this.J+=a,this.J>this.Na&&(this.J=this.Na)));try{do{for(var b,c=this.j.lb?1:this.kb,d=this.Ma.length-1;0<=d;d--){var f=this.Ma[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Vb(b)}catch(l){if("number"!=typeof l)throw l;
|
||||
}for(var e=this.W-this.c,a=e,h=this.Ma.length-1;0<=h;h--){var g=this.Ma[h];0>g[0]||(g[0]-=a,0>=g[0]&&(g[0]=-1,g[1]()))}this.Ca+=e;this.K+=e;Gb(this,0,!0);a=e;if(this.j.lb){var k=!1;this.Oa=this.Oa+this.Pb()|0;this.da-=a;0>=this.da&&(this.da+=this.za,k=!0);0<=this.Aa&&this.Aa<=Ib(this)&&(this.za=this.Aa=-1,Bb(this),Eb(this),k=!0);k&&this.Y(Ib(this)+" cycles: checksum="+n(this.Oa))}this.Ba-=e;if(0>=this.Ba){this.Ba+=this.kb;15<=++this.Kb&&(this.v&&this.v.La(),this.Kb=0);break}}while(this.j.ha)}catch(l){Eb(this);
|
||||
Cb(this);this.v&&this.v.stop(ha(),Ib(this));Ga(this,!1);b=l.stack||l.message;this.j.error=!0;this.L(b);return}b=setTimeout;c=this.Mb;this.R=ha();d=this.Jb;this.Ca&&(d=Math.round(d*this.Ca/this.kb));d=d-(this.R-this.Na);if(f=this.R-this.J)this.N=Math.round(this.K/(10*f))/100,864E5<=f&&(this.X=0,Fb(this));if(0>d||this.N<this.ca)-1E3>d&&(this.J-=d),d=0;this.xb+=this.Ca;this.R+=d;b(c,d)}else Cb(this),this.v&&this.v.stop(ha(),Ib(this))};m.Vb=function(){return 0};
|
||||
Cb(this);this.v&&this.v.stop(ha(),Ib(this));Fa(this,!1);b=l.stack||l.message;this.j.error=!0;this.L(b);return}b=setTimeout;c=this.Mb;this.R=ha();d=this.Jb;this.Ca&&(d=Math.round(d*this.Ca/this.kb));d-=this.R-this.Na;if(f=this.R-this.J)this.N=Math.round(this.K/(10*f))/100,864E5<=f&&(this.X=0,Fb(this));if(0>d||this.N<this.ca)-1E3>d&&(this.J-=d),d=0;this.xb+=this.Ca;this.R+=d;b(c,d)}else Cb(this),this.v&&this.v.stop(ha(),Ib(this))};m.Vb=function(){return 0};
|
||||
function Eb(a){a.j.Za&&(a.j.yb=!0);Jb(a);Gb(a,a.K);a.K=0;if(a.j.ha){a.j.ha=!1;a.ya&&a.ya.stop();var b=a.B.run;b&&(b.textContent="Run")}a.j.complete=void 0}function Cb(a){a.v&&a.v.La(void 0)}
|
||||
function Kb(a){this.ac=+a.model||1170;this.dc=a.resetAddr||0;xb.call(this,a,1E6);this.Gb=0;this.decode=Lb.bind(this);this.h=65536;this.f=32768;this.g=65535;this.b=32768;this.i=-1;this.a=[0,0,0,0,0,0,0,this.dc];this.Ja=[0,0,0,0,0,0];this.Z=[0,0,0,0];this.memory=[];this.l=[];this.Da=this.ob=0;this.ja=2;this.la=255;this.D=0;this.na=-1;this.o=0;this.Ga=70;this.nb=this.bb=this.ab=this.u=this.oa=this.Va=this.ea=this.G=0;this.Ia=[7,7,7,7];this.O=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.ib=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Ab=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.j.complete=this.j.Zb=!1}x(Kb,xb);m=Kb.prototype;
|
||||
m.reset=function(){this.j.ha&&Eb(this);Mb(this);Ab(this);this.j.error=!1;this.parent.reset.call(this)};function Mb(a){a.la=255;a.o=0;a.l=[];a.ob=0;a.G=a.ea=a.Va=a.oa=a.ab=0;a.Ia[0]=a.Ia[1]=a.Ia[3]=7;a.bb=0}m.Pb=function(){return 0};
|
||||
m.save=function(){var a=new M(this);N(a,0,[]);N(a,1,[this.Ib,this.X,this.ma]);for(var b=this.w,c=0,d=[],f=0;f<b.l;f++){var e=b.b[f];if(e.sa||e.bc){d[c++]=f;var h=c++;a:if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var t=e[g],z=g+1;z<e.length&&e[z]===t;)z++;l[k++]=z-g;l[k++]=t;g=z}if(l.length<e.length){e=l;break a}}d[h]=e}}N(a,2,d);return a.data()};
|
||||
function Kb(a){this.cc=a.resetAddr||0;xb.call(this,a,1E6);this.Gb=0;this.decode=Lb.bind(this);this.h=65536;this.f=32768;this.g=65535;this.b=32768;this.i=-1;this.a=[0,0,0,0,0,0,0,this.cc];this.Ja=[0,0,0,0,0,0];this.Z=[0,0,0,0];this.memory=[];this.l=[];this.Da=this.ob=0;this.ja=2;this.la=255;this.D=0;this.na=-1;this.o=0;this.Ga=70;this.nb=this.bb=this.ab=this.u=this.oa=this.Va=this.ea=this.G=0;this.Ia=[7,7,7,7];this.O=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.ib=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Ab=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.j.complete=this.j.Zb=!1}x(Kb,xb);m=Kb.prototype;
|
||||
m.reset=function(){this.j.ha&&Eb(this);Mb(this);Ab(this);this.j.error=!1;this.parent.reset.call(this)};function Mb(a){a.la=255;a.o=0;a.l=[];a.ob=0;a.G=a.ea=a.Va=a.oa=a.ab=0;a.Ia[0]=a.Ia[1]=a.Ia[3]=7;a.bb=0}m.Pb=function(){return 0};m.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.Ib,this.X,this.ma]);a.set(2,Xa(this.w));return a.data()};
|
||||
m.restore=function(a){var b=a[1];this.Ib=b[0];this.X=b[1];Fb(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],f=a[c+1];if(f&&f.length<b.K){for(var e=0,h=Array(b.K),g=0;g<f.length-1;)for(var k=f[g++],l=f[g++];k--;)h[e++]=l;f=h}e=b.b[d];if(!e||!e.restore(f)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
m.ba=function(a,b,c){var d=!1;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.B[b]=c;this.Gb++;d=!0;break;default:d=this.parent.ba.call(this,a,b,c)}return d};
|
||||
m.ba=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.B[b]=c;this.Gb++;a=!0;break;default:a=this.parent.ba.call(this,a,b,c)}return a};
|
||||
m.La=function(a){if(this.Gb&&(a||!this.j.ha||this.j.Nb)){for(a=0;a<this.a.length;a++)Db(this,"R"+a,this.a[a]);a=ab(this);Db(this,"PS",a);Db(this,"NF",a&8?1:0,1);Db(this,"ZF",a&4?1:0,1);Db(this,"VF",a&2?1:0,1);Db(this,"CF",a&1?1:0,1)}if(a=this.B.speed)a.textContent=this.j.ha&&this.N?this.N.toFixed(2)+"Mhz":"Stopped"};
|
||||
function H(a,b,c,d,f){for(var e=a.l.length;0<e--;)if(a.l[e].uc===d){0<e&&(a.l[e-1].fa+=a.l[e].fa);a.l.splice(e,1);break}if(0<=b){2===a.Da&&(b=0,a.Da=0,setTimeout(a.Mb,0));for(e=a.l.length;0<e--;){if(a.l[e].fa>b){a.l[e].fa-=b;break}b-=a.l[e].fa}a.l.splice(e+1,0,{delay:b,priority:c&224,vector:d,callback:f})}a.ja=2}function ab(a){return a.s=a.s&63728|(a.b&32768?8:0)|(a.g&65535?0:4)|(a.f&32768?2:0)|(a.h&65536?1:0)}
|
||||
function I(a,b,c,d,f){for(var e=a.l.length;0<e--;)if(a.l[e].tc===d){0<e&&(a.l[e-1].fa+=a.l[e].fa);a.l.splice(e,1);break}if(0<=b){2===a.Da&&(b=0,a.Da=0,setTimeout(a.Mb,0));for(e=a.l.length;0<e--;){if(a.l[e].fa>b){a.l[e].fa-=b;break}b-=a.l[e].fa}a.l.splice(e+1,0,{delay:b,priority:c&224,vector:d,callback:f})}a.ja=2}function ab(a){return a.s=a.s&63728|(a.b&32768?8:0)|(a.g&65535?0:4)|(a.f&32768?2:0)|(a.h&65536?1:0)}
|
||||
function bb(a,b){a.b=b<<12;a.g=~b&4;a.f=b<<14;a.h=b<<16;if((b^a.s)&2048)for(var c=a.Ja.length;0<=--c;){var d=a.a[c];a.a[c]=a.Ja[c];a.Ja[c]=d}a.u=b>>14&3;c=a.s>>14&3;a.u!=c&&(a.Z[c]=a.a[6],a.a[6]=a.Z[a.u]);a.ja=2;a.s=b}function Nb(a,b){a.D&128||(a.b=a.g=a.h=b,a.f=0)}function O(a,b){a.D&128||(a.b=a.g=b,a.f=0)}function Ob(a,b,c,d){a.D&128||(a.b=a.g=a.h=b,a.f=(c^d)&(d^b))}
|
||||
function J(a,b,c){var d,f,e=0;0>a.na?a.na=ab(a):a.u||(b=4,e=1);a.G&57344||(a.ea=63222,a.Va=b);a.u=0;0<=(d=Q(a,b|65536))&&0<=(f=Q(a,b+2&65535|65536))&&(bb(a,f&53247|a.na>>2&12288),e&&(a.o|=4,a.a[6]=4),0<=Pb(a,a.na)&&0<=Pb(a,a.a[7])&&(a.a[7]=d));a.D&=-113;a.na=-1;throw b|c<<8;}function ib(a,b){var c=b>>13&31;31>c?a.oa&32&&(b=a.ib[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function Qb(a,b,c){var d,f,e,h=0;if(c&a.ab){d=b>>13&a.Ia[a.u];f=a.O[a.u][d];e=(a.O[a.u][d+16]<<6)+(b&8191)&4194303;a.oa&16?3932160<=e&&4186112>e&&(e=ib(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.o|=32,J(a,4,24)),e&1&&!(c&1)&&(a.o|=64,J(a,4,26)));switch(f&7){case 1:h=4096;case 2:f|=128;c&D&&(h=8192);break;case 4:h=4096;case 5:c&D&&(h=4096);case 6:f|=c&D?192:128;break;default:h=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(h|=16384):(b&8128)>(f>>2&8128)&&
|
||||
(h|=16384));a.O[a.u][d]=f;if(4194170!==e||a.u)a.bb=a.u,a.nb=d;h&&(h&57344&&(0<=a.na&&(h|=128),a.G&57344||(a.G=a.G|h|a.bb<<5|a.nb<<1),J(a,168,28)),a.G&61440||!(4191360>e||4194239<e)||(a.G|=4096,a.G&512&&(a.D|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.o|=64,J(a,4,22));return e}function L(a,b){var c;if(4194304<=b)c=a.a[b-4194304];else if(0<=b){c=a.w;var d=b&c.h,f=(b&c.i)>>>c.f;c=d!=c.h?c.b[f].jc(d,b):c.b[f++].eb(d,b)|c.b[f&c.N].eb(0,b+1)<<8}else c=b;return c}
|
||||
function K(a,b,c){c&=65535;if(4194304<=b)return a.a[b-4194304]=c;if(0<=b){a=a.w;var d=c,f=b&a.h,e=(b&a.i)>>>a.f;f!=a.h?a.b[e].wc(f,d&65535,b):(a.b[e++].jb(f,d&255,b),a.b[e&a.N].jb(0,d>>8&255,b+1));return c}return b}function R(a,b){var c;4194304<=b?c=a.a[b-4194304]&255:0<=b?(c=a.w,c=c.b[(b&c.i)>>>c.f].eb(b&c.h,b)):c=b;return c}function S(a,b,c){c&=255;return 4194304<=b?a.a[b-4194304]=a.a[b-4194304]&65280|c:0<=b?(a=a.w,a.b[(b&a.i)>>>a.f].jb(b&a.h,c&255,b),c):b}
|
||||
function Q(a,b){return L(a,Qb(a,b,Ja))}function Rb(a){var b=Q(a,a.a[6]|65536);0<=b&&(a.a[6]=a.a[6]+2&65535);return b}function Pb(a,b){var c,d;a.a[6]=d=a.a[6]-2&65535;a.G&57344||(a.ea=a.ea<<8|246);!a.u&&d<=a.la&&4<d&&(d<=a.la-32?(a.o|=4,a.a[6]=4,J(a,4,32)):(a.o|=8,a.D|=4));return 0<=(c=Qb(a,d|65536,D))?K(a,c,b):c}
|
||||
function Sb(a,b,c){var d,f,e=b&7;switch(b>>3&7){case 0:J(a,4,34);break;case 1:return 6===e&&!a.u&&c&D&&(a.a[6]<=a.la||65534<=a.a[6])&&(a.a[6]<=a.la-32||65534<=a.a[6]?(a.o|=4,a.a[6]=4,J(a,4,36)):(a.o|=8,a.D|=64)),7===e?a.a[e]:a.a[e]|65536;case 2:f=2;d=a.a[e];7!==e&&(d|=65536,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.a[e];7!==e&&(d|=65536);if(0>(d=Q(a,d)))return d;d|=65536;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.a[e]+f&65535;7!==e&&(d|=65536);break;case 5:f=-2;d=a.a[e]-2&65535;7!==e&&(d|=65536);if(0>(d=
|
||||
Q(a,d)))return d;d|=65536;break;case 6:if(0>(d=Q(a,a.a[7])))return d;a.a[7]=a.a[7]+2&65535;d=d+a.a[e]&65535;return d|65536;case 7:if(0>(d=Q(a,a.a[7])))return d;a.a[7]=a.a[7]+2&65535;d=d+a.a[e]&65535;return 0>(d=Q(a,d|65536))?d:d|65536}a.a[e]=a.a[e]+f&65535;a.G&57344||(a.ea=a.ea<<8|f<<3&248|e);6===e&&!a.u&&c&D&&0>=f&&(a.a[6]<=a.la||65534<=a.a[6])&&(a.a[6]<=a.la-32?(a.o|=4,a.a[6]=4,J(a,4,38)):(a.o|=8,a.D|=64));return d}function T(a,b,c){b&56?(b=Sb(a,b,c),a=Qb(a,b,c)):a=4194304+(b&7);return a}
|
||||
function U(a,b){var c;b&56?(c=T(a,b,Ja),c=L(a,c)):c=a.a[b&7];return c}function V(a,b){var c;b&56?(c=T(a,b,Ka),c=R(a,c)):c=a.a[b&7]&255;return c}function Tb(a,b,c,d){b&56?(b=T(a,b,E),K(a,b,d.call(a,c,L(a,b)))):(b&=7,a.a[b]=d.call(a,c,a.a[b])&65535)}function Ub(a,b,c,d){b&56?(b=T(a,b,F),S(a,b,d.call(a,c,R(a,b)))):(b&=7,a.a[b]=a.a[b]&65280|d.call(a,c,a.a[b])&255)}function Vb(a,b,c){b&56?K(a,T(a,b,D),c):a.a[b&7]=c&65535;return c}
|
||||
function Wb(a,b,c,d){b&56?S(a,T(a,b,La),c):(b&=7,a.a[b]=d?d&1?a.a[b]&-256:c<<24>>24&65535:a.a[b]&-256|c&255);return c}function W(a,b){return((b&128?b|65280:b&255)<<1)+a&65535}
|
||||
m.Vb=function(a){this.j.complete=!0;this.j.Zb=!1;this.j.Ub=!1;this.W=this.c=a;this.Ib&256?(Jb(this),a=!1):a=!0;if(a){do{var b,c,d,f,e;this.D&112&&(this.D&32?J(this,168,52):this.D&64?J(this,4,54):this.D&16&&J(this,12,56),this.D&=-113);if(this.ja)if(1===this.ja)this.ja=2;else{this.ja=0;e=-1;b=this.ob&224;if(0<(a=this.l.length))for(;0<a--;){if(0<this.l[a].fa){this.l[a].fa--;this.ja=2;break}if(this.l[a].Lb){if(!this.l[a].Lb()){this.l.splice(a,1);e--;continue}this.l[a].Lb=null}this.l[a].hc>b&&(b=this.l[a].hc,
|
||||
e=a)}b>(this.s&224)&&(0>e?J(this,160,42):(J(this,this.l[e].uc,44),this.l.splice(e,1)))}this.G&57344||(this.ea=0,this.Va=this.a[7]);this.D=this.s&16;this.i=a=Q(this,this.a[7]);0<=a&&(this.a[7]=this.a[7]+2&65535);this.decode(a);if(0>this.i)switch(a&61440){case 4096:0<=(b=U(this,a>>6))&&(a&56?0<=(d=T(this,a,D))&&0<=K(this,d,b)&&(this.b=this.g=b,this.f=0):(this.b=this.g=this.a[a&7]=b,this.f=0));break;case 8192:0<=(b=U(this,a>>6))&&0<=(c=U(this,a))&&(this.b=this.g=this.h=a=b-c,this.f=(b^c)&(b^a));break;
|
||||
case 12288:0<=(b=U(this,a>>6))&&0<=(c=U(this,a))&&(this.b=this.g=b&c,this.f=0);break;case 16384:0<=(b=U(this,a>>6))&&(a&56?0<=(c=L(this,d=T(this,a,E)))&&(a=c&~b,0<=K(this,d,a)&&(this.b=this.g=a,this.f=0)):(this.b=this.g=a=this.a[a&7]&=~b,this.f=0));break;case 20480:0<=(b=U(this,a>>6))&&(a&56?0<=(c=L(this,d=T(this,a,E)))&&(a=c|b,0<=K(this,d,a)&&(this.b=this.g=a,this.f=0)):(this.b=this.g=a=this.a[a&7]|=b,this.f=0));break;case 24576:0<=(b=U(this,a>>6))&&(a&56?0<=(c=L(this,d=T(this,a,E)))&&(a=b+c,0<=
|
||||
K(this,d,a)&&(this.b=this.g=this.h=a,this.f=(b^a)&(c^a))):(e=a&7,c=this.a[e],this.a[e]=(a=b+c)&65535,this.b=this.g=this.h=a,this.f=(b^a)&(c^a)));break;case 36864:0<=(b=V(this,a>>6))&&(a&56?0<=(d=T(this,a,La))&&0<=S(this,d,b)&&(this.b=this.g=b<<8,this.f=0):(b&128&&(b|=65280),this.b=this.g=this.a[a&7]=b,this.f=0));break;case 40960:0<=(b=V(this,a>>6))&&0<=(c=V(this,a))&&(a=b-c,this.b=this.g=this.h=a<<8,this.f=((b^c)&(b^a))<<8);break;case 45056:0<=(b=V(this,a>>6))&&0<=(c=V(this,a))&&(this.b=this.g=(b&
|
||||
c)<<8,this.f=0);break;case 49152:0<=(b=V(this,a>>6))&&0<=(c=R(this,d=T(this,a,F)))&&(a=c&~b,0<=S(this,d,a)&&(this.b=this.g=a<<8,this.f=0));break;case 53248:0<=(b=V(this,a>>6))&&0<=(c=R(this,d=T(this,a,F)))&&(a=c|b,0<=S(this,d,a)&&(this.b=this.g=a<<8,this.f=0));break;case 57344:0<=(b=U(this,a>>6))&&(a&56?0<=(c=L(this,d=T(this,a,E)))&&(a=c-b,0<=K(this,d,a)&&(this.b=this.g=this.h=a,this.f=(b^c)&(c^a))):(e=a&7,c=this.a[e],this.a[e]=(a=c-b)&65535,this.b=this.g=this.h=a,this.f=(b^c)&(c^a)));break;default:switch(a&
|
||||
function K(a,b,c){var d,f,e=0;0>a.na?a.na=ab(a):a.u||(b=4,e=1);a.G&57344||(a.ea=63222,a.Va=b);a.u=0;0<=(d=P(a,b|65536))&&0<=(f=P(a,b+2&65535|65536))&&(bb(a,f&53247|a.na>>2&12288),e&&(a.o|=4,a.a[6]=4),0<=Pb(a,a.na)&&0<=Pb(a,a.a[7])&&(a.a[7]=d));a.D&=-113;a.na=-1;throw b|c<<8;}function ib(a,b){var c=b>>13&31;31>c?a.oa&32&&(b=a.ib[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function Qb(a,b,c){var d,f,e,h=0;if(c&a.ab){d=b>>13&a.Ia[a.u];f=a.O[a.u][d];e=(a.O[a.u][d+16]<<6)+(b&8191)&4194303;a.oa&16?3932160<=e&&4186112>e&&(e=ib(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.o|=32,K(a,4,24)),e&1&&!(c&1)&&(a.o|=64,K(a,4,26)));switch(f&7){case 1:h=4096;case 2:f|=128;c&D&&(h=8192);break;case 4:h=4096;case 5:c&D&&(h=4096);case 6:f|=c&D?192:128;break;default:h=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(h|=16384):(b&8128)>(f>>2&8128)&&
|
||||
(h|=16384));a.O[a.u][d]=f;if(4194170!==e||a.u)a.bb=a.u,a.nb=d;h&&(h&57344&&(0<=a.na&&(h|=128),a.G&57344||(a.G=a.G|h|a.bb<<5|a.nb<<1),K(a,168,28)),a.G&61440||!(4191360>e||4194239<e)||(a.G|=4096,a.G&512&&(a.D|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.o|=64,K(a,4,22));return e}function M(a,b){var c;if(4194304<=b)c=a.a[b-4194304];else if(0<=b){c=a.w;var d=b&c.h,f=(b&c.i)>>>c.f;c=d!=c.h?c.b[f].ic(d,b):c.b[f++].eb(d,b)|c.b[f&c.N].eb(0,b+1)<<8}else c=b;return c}
|
||||
function L(a,b,c){c&=65535;if(4194304<=b)return a.a[b-4194304]=c;if(0<=b){a=a.w;var d=c,f=b&a.h,e=(b&a.i)>>>a.f;f!=a.h?a.b[e].vc(f,d&65535,b):(a.b[e++].jb(f,d&255,b),a.b[e&a.N].jb(0,d>>8&255,b+1));return c}return b}function Q(a,b){var c;4194304<=b?c=a.a[b-4194304]&255:0<=b?(c=a.w,c=c.b[(b&c.i)>>>c.f].eb(b&c.h,b)):c=b;return c}function S(a,b,c){c&=255;return 4194304<=b?a.a[b-4194304]=a.a[b-4194304]&65280|c:0<=b?(a=a.w,a.b[(b&a.i)>>>a.f].jb(b&a.h,c&255,b),c):b}
|
||||
function P(a,b){return M(a,Qb(a,b,Ia))}function Rb(a){var b=P(a,a.a[6]|65536);0<=b&&(a.a[6]=a.a[6]+2&65535);return b}function Pb(a,b){var c,d;a.a[6]=d=a.a[6]-2&65535;a.G&57344||(a.ea=a.ea<<8|246);!a.u&&d<=a.la&&4<d&&(d<=a.la-32?(a.o|=4,a.a[6]=4,K(a,4,32)):(a.o|=8,a.D|=4));return 0<=(c=Qb(a,d|65536,D))?L(a,c,b):c}
|
||||
function Sb(a,b,c){var d,f,e=b&7;switch(b>>3&7){case 0:K(a,4,34);break;case 1:return 6===e&&!a.u&&c&D&&(a.a[6]<=a.la||65534<=a.a[6])&&(a.a[6]<=a.la-32||65534<=a.a[6]?(a.o|=4,a.a[6]=4,K(a,4,36)):(a.o|=8,a.D|=64)),7===e?a.a[e]:a.a[e]|65536;case 2:f=2;d=a.a[e];7!==e&&(d|=65536,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.a[e];7!==e&&(d|=65536);if(0>(d=P(a,d)))return d;d|=65536;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.a[e]+f&65535;7!==e&&(d|=65536);break;case 5:f=-2;d=a.a[e]-2&65535;7!==e&&(d|=65536);if(0>(d=
|
||||
P(a,d)))return d;d|=65536;break;case 6:if(0>(d=P(a,a.a[7])))return d;a.a[7]=a.a[7]+2&65535;d=d+a.a[e]&65535;return d|65536;case 7:if(0>(d=P(a,a.a[7])))return d;a.a[7]=a.a[7]+2&65535;d=d+a.a[e]&65535;return 0>(d=P(a,d|65536))?d:d|65536}a.a[e]=a.a[e]+f&65535;a.G&57344||(a.ea=a.ea<<8|f<<3&248|e);6===e&&!a.u&&c&D&&0>=f&&(a.a[6]<=a.la||65534<=a.a[6])&&(a.a[6]<=a.la-32?(a.o|=4,a.a[6]=4,K(a,4,38)):(a.o|=8,a.D|=64));return d}function T(a,b,c){b&56?(b=Sb(a,b,c),a=Qb(a,b,c)):a=4194304+(b&7);return a}
|
||||
function U(a,b){var c;b&56?(c=T(a,b,Ia),c=M(a,c)):c=a.a[b&7];return c}function V(a,b){var c;b&56?(c=T(a,b,Ja),c=Q(a,c)):c=a.a[b&7]&255;return c}function Tb(a,b,c,d){b&56?(b=T(a,b,E),L(a,b,d.call(a,c,M(a,b)))):(b&=7,a.a[b]=d.call(a,c,a.a[b])&65535)}function Ub(a,b,c,d){b&56?(b=T(a,b,F),S(a,b,d.call(a,c,Q(a,b)))):(b&=7,a.a[b]=a.a[b]&65280|d.call(a,c,a.a[b])&255)}function Vb(a,b,c){b&56?L(a,T(a,b,D),c):a.a[b&7]=c&65535;return c}
|
||||
function Wb(a,b,c,d){b&56?S(a,T(a,b,Ka),c):(b&=7,a.a[b]=d?d&1?a.a[b]&-256:c<<24>>24&65535:a.a[b]&-256|c&255);return c}function W(a,b){return((b&128?b|65280:b&255)<<1)+a&65535}
|
||||
m.Vb=function(a){this.j.complete=!0;this.j.Zb=!1;this.j.Ub=!1;this.W=this.c=a;this.Ib&256?(Jb(this),a=!1):a=!0;if(a){do{var b,c,d,f,e;this.D&112&&(this.D&32?K(this,168,52):this.D&64?K(this,4,54):this.D&16&&K(this,12,56),this.D&=-113);if(this.ja)if(1===this.ja)this.ja=2;else{this.ja=0;e=-1;b=this.ob&224;if(0<(a=this.l.length))for(;0<a--;){if(0<this.l[a].fa){this.l[a].fa--;this.ja=2;break}if(this.l[a].Lb){if(!this.l[a].Lb()){this.l.splice(a,1);e--;continue}this.l[a].Lb=null}this.l[a].gc>b&&(b=this.l[a].gc,
|
||||
e=a)}b>(this.s&224)&&(0>e?K(this,160,42):(K(this,this.l[e].tc,44),this.l.splice(e,1)))}this.G&57344||(this.ea=0,this.Va=this.a[7]);this.D=this.s&16;this.i=a=P(this,this.a[7]);0<=a&&(this.a[7]=this.a[7]+2&65535);this.decode(a);if(0>this.i)switch(a&61440){case 4096:0<=(b=U(this,a>>6))&&(a&56?0<=(d=T(this,a,D))&&0<=L(this,d,b)&&(this.b=this.g=b,this.f=0):(this.b=this.g=this.a[a&7]=b,this.f=0));break;case 8192:0<=(b=U(this,a>>6))&&0<=(c=U(this,a))&&(this.b=this.g=this.h=a=b-c,this.f=(b^c)&(b^a));break;
|
||||
case 12288:0<=(b=U(this,a>>6))&&0<=(c=U(this,a))&&(this.b=this.g=b&c,this.f=0);break;case 16384:0<=(b=U(this,a>>6))&&(a&56?0<=(c=M(this,d=T(this,a,E)))&&(a=c&~b,0<=L(this,d,a)&&(this.b=this.g=a,this.f=0)):(this.b=this.g=a=this.a[a&7]&=~b,this.f=0));break;case 20480:0<=(b=U(this,a>>6))&&(a&56?0<=(c=M(this,d=T(this,a,E)))&&(a=c|b,0<=L(this,d,a)&&(this.b=this.g=a,this.f=0)):(this.b=this.g=a=this.a[a&7]|=b,this.f=0));break;case 24576:0<=(b=U(this,a>>6))&&(a&56?0<=(c=M(this,d=T(this,a,E)))&&(a=b+c,0<=
|
||||
L(this,d,a)&&(this.b=this.g=this.h=a,this.f=(b^a)&(c^a))):(e=a&7,c=this.a[e],this.a[e]=(a=b+c)&65535,this.b=this.g=this.h=a,this.f=(b^a)&(c^a)));break;case 36864:0<=(b=V(this,a>>6))&&(a&56?0<=(d=T(this,a,Ka))&&0<=S(this,d,b)&&(this.b=this.g=b<<8,this.f=0):(b&128&&(b|=65280),this.b=this.g=this.a[a&7]=b,this.f=0));break;case 40960:0<=(b=V(this,a>>6))&&0<=(c=V(this,a))&&(a=b-c,this.b=this.g=this.h=a<<8,this.f=((b^c)&(b^a))<<8);break;case 45056:0<=(b=V(this,a>>6))&&0<=(c=V(this,a))&&(this.b=this.g=(b&
|
||||
c)<<8,this.f=0);break;case 49152:0<=(b=V(this,a>>6))&&0<=(c=Q(this,d=T(this,a,F)))&&(a=c&~b,0<=S(this,d,a)&&(this.b=this.g=a<<8,this.f=0));break;case 53248:0<=(b=V(this,a>>6))&&0<=(c=Q(this,d=T(this,a,F)))&&(a=c|b,0<=S(this,d,a)&&(this.b=this.g=a<<8,this.f=0));break;case 57344:0<=(b=U(this,a>>6))&&(a&56?0<=(c=M(this,d=T(this,a,E)))&&(a=c-b,0<=L(this,d,a)&&(this.b=this.g=this.h=a,this.f=(b^c)&(c^a))):(e=a&7,c=this.a[e],this.a[e]=(a=c-b)&65535,this.b=this.g=this.h=a,this.f=(b^c)&(c^a)));break;default:switch(a&
|
||||
65024){case 2048:0<=(f=Sb(this,a,0))&&(e=a>>6&7,0<=Pb(this,this.a[e])&&(this.a[e]=this.a[7],this.a[7]=f&65535));break;case 28672:0<=(b=U(this,a))&&(e=a>>6&7,b&32768&&(b|=-65536),c=this.a[e],c&32768&&(c|=-65536),a=~~(b*c),this.a[e]=a>>16&65535,this.a[e|1]=a&65535,this.b=a>>16,this.g=this.b|a,this.h=this.f=0,-32768>a||32767<a)&&(this.h=65536);break;case 29184:0<=(b=U(this,a))&&(b?(e=a>>6&7,c=this.a[e]<<16|this.a[e|1],this.h=this.f=0,b&32768&&(b|=-65536),a=~~(c/b),-32768<=a&&32767>=a?(this.a[e]=a&65535,
|
||||
this.a[e|1]=c-a*b&65535,this.g=a>>16|a,this.b=a>>16):(this.f=32768,this.g=a>>15|a,this.b=c>>16,-1===b&&65534===this.a[e]&&(this.a[e]=this.a[e|1]=1))):(this.g=this.b=0,this.f=32768,this.h=65536));break;case 29696:0<=(b=U(this,a))&&(e=a>>6&7,a=this.a[e],a&32768&&(a|=4294901760),this.h=this.f=0,b&=63,b&32?(b=64-b,16<b&&(b=16),this.h=a<<17-b,a=a>>b):b&&(16<b?(this.f=a,a=0):(this.h=a=a<<b,(c=a>>15&65535)&&65535!==c&&(this.f=32768))),this.a[e]=a&65535,this.b=this.g=a);break;case 30208:if(0<=(b=U(this,a))){e=
|
||||
a>>6&7;c=this.a[e]<<16|this.a[e|1];this.h=this.f=0;b&=63;if(b&32)b=64-b,32<b&&(b=32),a=c>>b-1,this.h=a<<16,a>>=1,c&2147483648&&(a|=4294967295<<32-b);else if(b){if(a=c<<b-1,this.h=a>>15,a<<=1,32<b&&(b=32),c>>=32-b)c|=4294967295<<b&4294967295,4294967295!==c&&(this.f=32768)}else a=c;this.a[e]=a>>16&65535;this.a[e|1]=a&65535;this.b=a>>16;this.g=a>>16|a}break;case 30720:a&56?0<=(c=L(this,d=T(this,a,E)))&&(c^=this.a[a>>6&7],0<=K(this,d,c)&&(this.b=this.g=c,this.f=0)):(this.b=this.g=c=this.a[a&7]^=this.a[a>>
|
||||
this.a[e|1]=c-a*b&65535,this.g=a>>16|a,this.b=a>>16):(this.f=32768,this.g=a>>15|a,this.b=c>>16,-1===b&&65534===this.a[e]&&(this.a[e]=this.a[e|1]=1))):(this.g=this.b=0,this.f=32768,this.h=65536));break;case 29696:0<=(b=U(this,a))&&(e=a>>6&7,a=this.a[e],a&32768&&(a|=4294901760),this.h=this.f=0,b&=63,b&32?(b=64-b,16<b&&(b=16),this.h=a<<17-b,a>>=b):b&&(16<b?(this.f=a,a=0):(this.h=a<<=b,(c=a>>15&65535)&&65535!==c&&(this.f=32768))),this.a[e]=a&65535,this.b=this.g=a);break;case 30208:if(0<=(b=U(this,a))){e=
|
||||
a>>6&7;c=this.a[e]<<16|this.a[e|1];this.h=this.f=0;b&=63;if(b&32)b=64-b,32<b&&(b=32),a=c>>b-1,this.h=a<<16,a>>=1,c&2147483648&&(a|=4294967295<<32-b);else if(b){if(a=c<<b-1,this.h=a>>15,a<<=1,32<b&&(b=32),c>>=32-b)c|=4294967295<<b&4294967295,4294967295!==c&&(this.f=32768)}else a=c;this.a[e]=a>>16&65535;this.a[e|1]=a&65535;this.b=a>>16;this.g=a>>16|a}break;case 30720:a&56?0<=(c=M(this,d=T(this,a,E)))&&(c^=this.a[a>>6&7],0<=L(this,d,c)&&(this.b=this.g=c,this.f=0)):(this.b=this.g=c=this.a[a&7]^=this.a[a>>
|
||||
6&7],this.f=0);break;case 32256:e=a>>6&7;if(this.a[e]=this.a[e]-1&65535)this.a[7]=this.a[7]-((a&63)<<1)&65535;break;default:switch(a&65280){case 256:this.a[7]=W(this.a[7],a);break;case 512:this.g&65535&&(this.a[7]=W(this.a[7],a));break;case 768:this.g&65535||(this.a[7]=W(this.a[7],a));break;case 1024:(this.b&32768)===(this.f&32768)&&(this.a[7]=W(this.a[7],a));break;case 1280:(this.b&32768)!==(this.f&32768)&&(this.a[7]=W(this.a[7],a));break;case 1536:this.g&65535&&(this.b&32768)===(this.f&32768)&&
|
||||
(this.a[7]=W(this.a[7],a));break;case 1792:this.g&65535&&(this.b&32768)===(this.f&32768)||(this.a[7]=W(this.a[7],a));break;case 32768:this.b&32768||(this.a[7]=W(this.a[7],a));break;case 33280:!(this.h&65536)&&this.g&65535&&(this.a[7]=W(this.a[7],a));break;case 33024:this.b&32768&&(this.a[7]=W(this.a[7],a));break;case 33536:if(this.h&65536||!(this.g&65535))this.a[7]=W(this.a[7],a);break;case 33792:this.f&32768||(this.a[7]=W(this.a[7],a));break;case 34048:this.f&32768&&(this.a[7]=W(this.a[7],a));break;
|
||||
case 34304:this.h&65536||(this.a[7]=W(this.a[7],a));break;case 34560:this.h&65536&&(this.a[7]=W(this.a[7],a));break;case 34816:J(this,24,2);break;case 35072:J(this,28,4);break;default:switch(a&65472){case 64:0<=(f=Sb(this,a,0))&&(this.a[7]=f&65535);break;case 192:a&56?0<=(c=L(this,d=T(this,a,E)))&&(a=c<<8|c>>8,0<=K(this,d,a)&&(this.b=this.g=c&65280,this.f=this.h=0)):(e=a&7,c=this.a[e],this.a[e]=(c<<8|c>>8)&65535,this.b=this.g=c&65280,this.f=this.h=0);break;case 2560:a&56?0<=(d=T(this,a,D))&&0<=K(this,
|
||||
d,0)&&(this.b=this.h=this.f=this.g=0):this.b=this.h=this.f=this.g=this.a[a&7]=0;break;case 2624:0<=(c=L(this,d=T(this,a,E)))&&(a=~c,0<=K(this,d,a)&&(this.b=this.g=a,this.h=65536,this.f=0));break;case 2688:a&56?0<=(c=L(this,d=T(this,a,E)))&&(a=c+1,0<=K(this,d,a)&&(this.b=this.g=a,this.f=a&(a^c))):(e=a&7,c=this.a[e],a=c+1,this.a[e]=a&65535,this.b=this.g=a,this.f=a&(a^c));break;case 2752:a&56?0<=(c=L(this,d=T(this,a,E)))&&(a=c-1,0<=K(this,d,a)&&(this.b=this.g=a,this.f=(a^c)&c)):(e=a&7,c=this.a[e],a=
|
||||
c-1,this.a[e]=a&65535,this.b=this.g=a,this.f=(a^c)&c);break;case 2816:0<=(c=L(this,d=T(this,a,E)))&&(a=-c,0<=K(this,d,a)&&(this.h=this.b=this.g=a,this.f=a&c));break;case 2880:0<=(c=L(this,d=T(this,a,E)))&&(a=c+(this.h>>16&1),0<=K(this,d,a)&&(this.h=this.b=this.g=a,this.f=a&(a^c)));break;case 2944:0<=(c=L(this,d=T(this,a,E)))&&(a=c-(this.h>>16&1),0<=K(this,d,a)&&(this.h=this.b=this.g=a,this.f=(a^c)&c));break;case 3008:0<=(c=U(this,a))&&(this.b=this.g=c,this.h=this.f=0);break;case 3072:a&56?0<=(c=L(this,
|
||||
d=T(this,a,E)))&&(a=(this.h&65536|c)>>1,0<=K(this,d,a)&&(this.h=c<<16,this.b=this.g=a,this.f=a^this.h>>1)):(e=a&7,c=this.a[e],a=(this.h&65536|c)>>1,this.a[e]=a&65535,this.h=c<<16,this.b=this.g=a,this.f=a^this.h>>1);break;case 3136:a&56?0<=(c=L(this,d=T(this,a,E)))&&(a=c<<1|this.h>>16&1,0<=K(this,d,a)&&(this.h=this.b=this.g=a,this.f=a^c)):(e=a&7,c=this.a[e],a=c<<1|this.h>>16&1,this.a[e]=a&65535,this.h=this.b=this.g=a,this.f=a^c);break;case 3200:a&56?0<=(c=L(this,d=T(this,a,E)))&&(a=c&32768|c>>1,0<=
|
||||
K(this,d,a)&&(this.h=c<<16,this.b=this.g=a,this.f=this.b^this.h>>1)):(e=a&7,c=this.a[e],a=c&32768|c>>1,this.a[e]=a&65535,this.h=c<<16,this.b=this.g=a,this.f=this.b^this.h>>1);break;case 3264:a&56?0<=(c=L(this,d=T(this,a,E)))&&(a=c<<1,0<=K(this,d,a)&&(this.h=this.b=this.g=a,this.f=a^c)):(e=a&7,c=this.a[e],a=c<<1,this.a[e]=a&65535,this.h=this.b=this.g=a,this.f=a^c);break;case 3328:f=this.a[7]+((a&63)<<1)&65535;0<=(b=Q(this,f|65536))&&(this.a[7]=this.a[5],this.a[5]=b,this.a[6]=f+2&65535);break;case 3392:a&
|
||||
56?0<=(f=Sb(this,a,0))&&(61440!==(this.s&61440)&&(f&=65535),this.u=this.s>>12&3,0<=(b=Q(this,f))&&(this.u=this.s>>14&3,0<=Pb(this,b)&&(this.b=this.g=b,this.f=0))):(e=a&7,b=6!==e||(this.s>>2&12288)===(this.s&12288)?this.a[e]:this.Z[this.s>>12&3],0<=Pb(this,b)&&(this.b=this.g=b,this.f=0));break;case 3456:0<=(c=Rb(this))&&((this.G&57344||(this.ea=22),a&56)?0<=(f=Sb(this,a,0))&&(f&=65535,this.u=this.s>>12&3,0<=(d=Qb(this,f,D))&&(this.u=this.s>>14&3,0<=K(this,d,c)&&(this.b=this.g=c,this.f=0))):(e=a&7,
|
||||
6!==e||(this.s>>2&12288)===(this.s&12288)?this.a[e]=c:this.Z[this.s>>12&3]=c,this.b=this.g=c,this.f=0));break;case 3520:0<=(d=T(this,a,D))&&(a=-(this.b>>15&1),0<=K(this,d,a)&&(this.g=a,this.f=0));break;case 35328:a&56?0<=(d=T(this,a,La))&&0<=S(this,d,0)&&(this.b=this.h=this.f=this.g=0):(this.a[a&7]&=65280,this.b=this.h=this.f=this.g=0);break;case 35392:0<=(c=R(this,d=T(this,a,F)))&&(a=~c,0<=S(this,d,a)&&(this.b=this.g=a<<8,this.h=65536,this.f=0));break;case 35456:0<=(c=R(this,d=T(this,a,F)))&&(a=
|
||||
c+1,0<=S(this,d,a)&&(this.b=this.g=a<<8,this.f=(a&(a^c))<<8));break;case 35520:0<=(c=R(this,d=T(this,a,F)))&&(a=c-1,0<=S(this,d,a)&&(this.b=this.g=a<<8,this.f=((a^c)&c)<<8));break;case 35584:0<=(c=R(this,d=T(this,a,F)))&&(a=-c,0<=S(this,d,a)&&(this.h=this.b=this.g=a<<8,this.f=(a&c)<<8));break;case 35648:0<=(c=R(this,d=T(this,a,F)))&&(a=c+(this.h>>16&1),0<=S(this,d,a)&&(this.b=this.g=this.h=a<<8,this.f=(a&(a^c))<<8));break;case 35712:0<=(c=R(this,d=T(this,a,F)))&&(a=c-(this.h>>16&1),0<=S(this,d,a)&&
|
||||
(this.b=this.g=this.h=a<<8,this.f=((a^c)&c)<<8));break;case 35776:0<=(c=V(this,a))&&(this.b=this.g=c<<8,this.h=this.f=0);break;case 35840:0<=(c=R(this,d=T(this,a,F)))&&(a=((this.h&65536)>>8|c)>>1,0<=S(this,d,a)&&(this.h=c<<16,this.b=this.g=a<<8,this.f=this.b^this.h>>1));break;case 35904:0<=(c=R(this,d=T(this,a,F)))&&(a=c<<1|this.h>>16&1,0<=S(this,d,a)&&(this.h=this.b=this.g=a<<8,this.f=(a^c)<<8));break;case 35968:0<=(c=R(this,d=T(this,a,F)))&&(a=c&128|c>>1,0<=S(this,d,a)&&(this.h=c<<16,this.b=this.g=
|
||||
a<<8,this.f=this.b^this.h>>1));break;case 36032:0<=(c=R(this,d=T(this,a,F)))&&(a=c<<1,0<=S(this,d,a)&&(this.h=this.b=this.g=a<<8,this.f=(a^c)<<8));break;case 36160:a&56?0<=(f=Sb(this,a,0))&&(this.u=this.s>>12&3,0<=(b=Q(this,f|65536))&&(this.u=this.s>>14&3,0<=Pb(this,b)&&(this.b=this.g=b,this.f=0))):(e=a&7,b=6!==e||(this.s>>2&12288)===(this.s&12288)?this.a[e]:this.Z[this.s>>12&3],0<=Pb(this,b)&&(this.b=this.g=b,this.f=0));break;case 36224:0<=(c=Rb(this))&&((this.G&57344||(this.ea=22),a&56)?0<=(f=Sb(this,
|
||||
a,0))&&(this.u=this.s>>12&3,0<=(d=Qb(this,f|65536,D))&&(this.u=this.s>>14&3,0<=K(this,d,c)&&(this.b=this.g=c,this.f=0))):(e=a&7,6!==e||(this.s>>2&12288)===(this.s&12288)?this.a[e]=c:this.Z[this.s>>12&3]=c,this.b=this.g=c,this.f=0));break;default:switch(a&65528){case 128:0<=(b=Rb(this))&&(e=a&7,this.a[7]=this.a[e],this.a[e]=b);break;case 152:this.s&49152||(this.s=this.s&63519|(a&7)<<5,this.ja=1);break;case 160:case 168:a&1&&(this.h=0);a&2&&(this.f=0);a&4&&(this.g=1);a&8&&(this.b=0);break;case 176:case 184:a&
|
||||
1&&(this.h=65536);a&2&&(this.f=32768);a&4&&(this.g=0);a&8&&(this.b=32768);break;default:switch(a){case 0:49152&this.s?(this.o|=128,J(this,4,46)):(this.Da=3,Jb(this),console.log("HALT at "+this.a[7].toString(8)));break;case 1:e=0;if(0<(a=this.l.length))for(;0<a--;)e+=this.l[a].fa,this.l[a].fa=0;0===e&&0===this.Da&&(this.Da=2,Jb(this));break;case 3:J(this,12,6);break;case 4:J(this,16,8);break;case 5:this.s&49152||(Mb(this),this.w.reset());break;case 2:case 6:d=this.a[6];0<=(f=Q(this,d|65536))&&(d=d+
|
||||
2&65535,0<=(b=Q(this,d|65536))&&(this.a[6]=d+2&65535,b&=63743,this.s&49152&&(b=b&63519|this.s&63712),this.a[7]=f,bb(this,b),this.D&=-17,2===a&&(this.D|=this.s&16)));break;default:J(this,8,48)}}}}}}}while(0<this.c)}return this.j.complete?this.W-this.c:void 0===this.j.complete?0:-1};u(function(){for(var a=B(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Kb(d);Fa(d,c)}});function Xb(a,b){var c=a+b;this.D&128||(this.b=this.g=this.h=c,this.f=(a^c)&(b^c));return c&65535}
|
||||
case 34304:this.h&65536||(this.a[7]=W(this.a[7],a));break;case 34560:this.h&65536&&(this.a[7]=W(this.a[7],a));break;case 34816:K(this,24,2);break;case 35072:K(this,28,4);break;default:switch(a&65472){case 64:0<=(f=Sb(this,a,0))&&(this.a[7]=f&65535);break;case 192:a&56?0<=(c=M(this,d=T(this,a,E)))&&(a=c<<8|c>>8,0<=L(this,d,a)&&(this.b=this.g=c&65280,this.f=this.h=0)):(e=a&7,c=this.a[e],this.a[e]=(c<<8|c>>8)&65535,this.b=this.g=c&65280,this.f=this.h=0);break;case 2560:a&56?0<=(d=T(this,a,D))&&0<=L(this,
|
||||
d,0)&&(this.b=this.h=this.f=this.g=0):this.b=this.h=this.f=this.g=this.a[a&7]=0;break;case 2624:0<=(c=M(this,d=T(this,a,E)))&&(a=~c,0<=L(this,d,a)&&(this.b=this.g=a,this.h=65536,this.f=0));break;case 2688:a&56?0<=(c=M(this,d=T(this,a,E)))&&(a=c+1,0<=L(this,d,a)&&(this.b=this.g=a,this.f=a&(a^c))):(e=a&7,c=this.a[e],a=c+1,this.a[e]=a&65535,this.b=this.g=a,this.f=a&(a^c));break;case 2752:a&56?0<=(c=M(this,d=T(this,a,E)))&&(a=c-1,0<=L(this,d,a)&&(this.b=this.g=a,this.f=(a^c)&c)):(e=a&7,c=this.a[e],a=
|
||||
c-1,this.a[e]=a&65535,this.b=this.g=a,this.f=(a^c)&c);break;case 2816:0<=(c=M(this,d=T(this,a,E)))&&(a=-c,0<=L(this,d,a)&&(this.h=this.b=this.g=a,this.f=a&c));break;case 2880:0<=(c=M(this,d=T(this,a,E)))&&(a=c+(this.h>>16&1),0<=L(this,d,a)&&(this.h=this.b=this.g=a,this.f=a&(a^c)));break;case 2944:0<=(c=M(this,d=T(this,a,E)))&&(a=c-(this.h>>16&1),0<=L(this,d,a)&&(this.h=this.b=this.g=a,this.f=(a^c)&c));break;case 3008:0<=(c=U(this,a))&&(this.b=this.g=c,this.h=this.f=0);break;case 3072:a&56?0<=(c=M(this,
|
||||
d=T(this,a,E)))&&(a=(this.h&65536|c)>>1,0<=L(this,d,a)&&(this.h=c<<16,this.b=this.g=a,this.f=a^this.h>>1)):(e=a&7,c=this.a[e],a=(this.h&65536|c)>>1,this.a[e]=a&65535,this.h=c<<16,this.b=this.g=a,this.f=a^this.h>>1);break;case 3136:a&56?0<=(c=M(this,d=T(this,a,E)))&&(a=c<<1|this.h>>16&1,0<=L(this,d,a)&&(this.h=this.b=this.g=a,this.f=a^c)):(e=a&7,c=this.a[e],a=c<<1|this.h>>16&1,this.a[e]=a&65535,this.h=this.b=this.g=a,this.f=a^c);break;case 3200:a&56?0<=(c=M(this,d=T(this,a,E)))&&(a=c&32768|c>>1,0<=
|
||||
L(this,d,a)&&(this.h=c<<16,this.b=this.g=a,this.f=this.b^this.h>>1)):(e=a&7,c=this.a[e],a=c&32768|c>>1,this.a[e]=a&65535,this.h=c<<16,this.b=this.g=a,this.f=this.b^this.h>>1);break;case 3264:a&56?0<=(c=M(this,d=T(this,a,E)))&&(a=c<<1,0<=L(this,d,a)&&(this.h=this.b=this.g=a,this.f=a^c)):(e=a&7,c=this.a[e],a=c<<1,this.a[e]=a&65535,this.h=this.b=this.g=a,this.f=a^c);break;case 3328:f=this.a[7]+((a&63)<<1)&65535;0<=(b=P(this,f|65536))&&(this.a[7]=this.a[5],this.a[5]=b,this.a[6]=f+2&65535);break;case 3392:a&
|
||||
56?0<=(f=Sb(this,a,0))&&(61440!==(this.s&61440)&&(f&=65535),this.u=this.s>>12&3,0<=(b=P(this,f))&&(this.u=this.s>>14&3,0<=Pb(this,b)&&(this.b=this.g=b,this.f=0))):(e=a&7,b=6!==e||(this.s>>2&12288)===(this.s&12288)?this.a[e]:this.Z[this.s>>12&3],0<=Pb(this,b)&&(this.b=this.g=b,this.f=0));break;case 3456:0<=(c=Rb(this))&&((this.G&57344||(this.ea=22),a&56)?0<=(f=Sb(this,a,0))&&(f&=65535,this.u=this.s>>12&3,0<=(d=Qb(this,f,D))&&(this.u=this.s>>14&3,0<=L(this,d,c)&&(this.b=this.g=c,this.f=0))):(e=a&7,
|
||||
6!==e||(this.s>>2&12288)===(this.s&12288)?this.a[e]=c:this.Z[this.s>>12&3]=c,this.b=this.g=c,this.f=0));break;case 3520:0<=(d=T(this,a,D))&&(a=-(this.b>>15&1),0<=L(this,d,a)&&(this.g=a,this.f=0));break;case 35328:a&56?0<=(d=T(this,a,Ka))&&0<=S(this,d,0)&&(this.b=this.h=this.f=this.g=0):(this.a[a&7]&=65280,this.b=this.h=this.f=this.g=0);break;case 35392:0<=(c=Q(this,d=T(this,a,F)))&&(a=~c,0<=S(this,d,a)&&(this.b=this.g=a<<8,this.h=65536,this.f=0));break;case 35456:0<=(c=Q(this,d=T(this,a,F)))&&(a=
|
||||
c+1,0<=S(this,d,a)&&(this.b=this.g=a<<8,this.f=(a&(a^c))<<8));break;case 35520:0<=(c=Q(this,d=T(this,a,F)))&&(a=c-1,0<=S(this,d,a)&&(this.b=this.g=a<<8,this.f=((a^c)&c)<<8));break;case 35584:0<=(c=Q(this,d=T(this,a,F)))&&(a=-c,0<=S(this,d,a)&&(this.h=this.b=this.g=a<<8,this.f=(a&c)<<8));break;case 35648:0<=(c=Q(this,d=T(this,a,F)))&&(a=c+(this.h>>16&1),0<=S(this,d,a)&&(this.b=this.g=this.h=a<<8,this.f=(a&(a^c))<<8));break;case 35712:0<=(c=Q(this,d=T(this,a,F)))&&(a=c-(this.h>>16&1),0<=S(this,d,a)&&
|
||||
(this.b=this.g=this.h=a<<8,this.f=((a^c)&c)<<8));break;case 35776:0<=(c=V(this,a))&&(this.b=this.g=c<<8,this.h=this.f=0);break;case 35840:0<=(c=Q(this,d=T(this,a,F)))&&(a=((this.h&65536)>>8|c)>>1,0<=S(this,d,a)&&(this.h=c<<16,this.b=this.g=a<<8,this.f=this.b^this.h>>1));break;case 35904:0<=(c=Q(this,d=T(this,a,F)))&&(a=c<<1|this.h>>16&1,0<=S(this,d,a)&&(this.h=this.b=this.g=a<<8,this.f=(a^c)<<8));break;case 35968:0<=(c=Q(this,d=T(this,a,F)))&&(a=c&128|c>>1,0<=S(this,d,a)&&(this.h=c<<16,this.b=this.g=
|
||||
a<<8,this.f=this.b^this.h>>1));break;case 36032:0<=(c=Q(this,d=T(this,a,F)))&&(a=c<<1,0<=S(this,d,a)&&(this.h=this.b=this.g=a<<8,this.f=(a^c)<<8));break;case 36160:a&56?0<=(f=Sb(this,a,0))&&(this.u=this.s>>12&3,0<=(b=P(this,f|65536))&&(this.u=this.s>>14&3,0<=Pb(this,b)&&(this.b=this.g=b,this.f=0))):(e=a&7,b=6!==e||(this.s>>2&12288)===(this.s&12288)?this.a[e]:this.Z[this.s>>12&3],0<=Pb(this,b)&&(this.b=this.g=b,this.f=0));break;case 36224:0<=(c=Rb(this))&&((this.G&57344||(this.ea=22),a&56)?0<=(f=Sb(this,
|
||||
a,0))&&(this.u=this.s>>12&3,0<=(d=Qb(this,f|65536,D))&&(this.u=this.s>>14&3,0<=L(this,d,c)&&(this.b=this.g=c,this.f=0))):(e=a&7,6!==e||(this.s>>2&12288)===(this.s&12288)?this.a[e]=c:this.Z[this.s>>12&3]=c,this.b=this.g=c,this.f=0));break;default:switch(a&65528){case 128:0<=(b=Rb(this))&&(e=a&7,this.a[7]=this.a[e],this.a[e]=b);break;case 152:this.s&49152||(this.s=this.s&63519|(a&7)<<5,this.ja=1);break;case 160:case 168:a&1&&(this.h=0);a&2&&(this.f=0);a&4&&(this.g=1);a&8&&(this.b=0);break;case 176:case 184:a&
|
||||
1&&(this.h=65536);a&2&&(this.f=32768);a&4&&(this.g=0);a&8&&(this.b=32768);break;default:switch(a){case 0:49152&this.s?(this.o|=128,K(this,4,46)):(this.Da=3,Jb(this),console.log("HALT at "+this.a[7].toString(8)));break;case 1:e=0;if(0<(a=this.l.length))for(;0<a--;)e+=this.l[a].fa,this.l[a].fa=0;0===e&&0===this.Da&&(this.Da=2,Jb(this));break;case 3:K(this,12,6);break;case 4:K(this,16,8);break;case 5:this.s&49152||(Mb(this),this.w.reset());break;case 2:case 6:d=this.a[6];0<=(f=P(this,d|65536))&&(d=d+
|
||||
2&65535,0<=(b=P(this,d|65536))&&(this.a[6]=d+2&65535,b&=63743,this.s&49152&&(b=b&63519|this.s&63712),this.a[7]=f,bb(this,b),this.D&=-17,2===a&&(this.D|=this.s&16)));break;default:K(this,8,48)}}}}}}}while(0<this.c)}return this.j.complete?this.W-this.c:void 0===this.j.complete?0:-1};u(function(){for(var a=B(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Kb(d);A(d,c)}});function Xb(a,b){var c=a+b;this.D&128||(this.b=this.g=this.h=c,this.f=(a^c)&(b^c));return c&65535}
|
||||
function Yb(a,b){var c=~a&b;O(this,c);return c}function Zb(a,b){var c=~a&b;O(this,c<<8);return c}function $b(a,b){var c=a|b;O(this,c);return c}function ac(a,b){var c=a|b;O(this,c<<8);return c}function bc(a,b){var c=b-a;Ob(this,c,a,b);return c&65535}function cc(){this.i=-1;--this.c}function dc(){this.i=-1;--this.c}function X(a){a&1&&(this.h=0);a&2&&(this.f=0);a&4&&(this.g=1);a&8&&(this.b=0);--this.c}function ec(){this.i=-1;--this.c}function fc(){this.i=-1;--this.c}
|
||||
function gc(){this.i=-1;--this.c}function hc(){--this.c}function Y(a){a&1&&(this.h=65536);a&2&&(this.f=32768);a&4&&(this.g=0);a&8&&(this.b=32768);--this.c}function ic(){this.i=-1;--this.c}function jc(){this.i=-1;--this.c}function Z(){J(this,8,48)}function Lb(a){kc[a>>12].call(this,a)}
|
||||
function gc(){this.i=-1;--this.c}function hc(){--this.c}function Y(a){a&1&&(this.h=65536);a&2&&(this.f=32768);a&4&&(this.g=0);a&8&&(this.b=32768);--this.c}function ic(){this.i=-1;--this.c}function jc(){this.i=-1;--this.c}function Z(){K(this,8,48)}function Lb(a){kc[a>>12].call(this,a)}
|
||||
var kc=[function(a){lc[a>>8&15].call(this,a)},function(a){O(this,Vb(this,a,U(this,a>>6)));--this.c},function(a){var b=U(this,a>>6);a=U(this,a);Ob(this,b-a,a,b);--this.c},function(a){O(this,U(this,a>>6)&U(this,a));--this.c},function(a){Tb(this,a,U(this,a>>6),Yb);--this.c},function(a){Tb(this,a,U(this,a>>6),$b);--this.c},function(a){Tb(this,a,U(this,a>>6),Xb);--this.c},function(a){mc[a>>8&15].call(this,a)},function(a){nc[a>>8&15].call(this,a)},function(a){var b=V(this,a>>6);O(this,Wb(this,a,b,2)<<8);
|
||||
--this.c},function(a){var b=V(this,a>>6)<<8;a=V(this,a)<<8;Ob(this,b-a,a,b);--this.c},function(a){O(this,(V(this,a>>6)&V(this,a))<<8);--this.c},function(a){Ub(this,a,V(this,a>>6),Zb);--this.c},function(a){Ub(this,a,V(this,a>>6),ac);--this.c},function(a){Tb(this,a,U(this,a>>6),bc);--this.c},Z],lc=[function(a){oc[a>>4&15].call(this,a)},function(){this.i=-1;--this.c},function(){this.i=-1;--this.c},function(){this.i=-1;--this.c},function(){this.i=-1;--this.c},function(){this.i=-1;--this.c},function(){this.i=
|
||||
-1;--this.c},function(){this.i=-1;--this.c},fc,fc,function(a){pc[a>>6&3].call(this,a)},function(a){qc[a>>6&3].call(this,a)},function(a){rc[a>>6&3].call(this,a)},function(a){sc[a>>6&3].call(this,a)},Z,Z],oc=[function(a){tc[a&15].call(this,a)},Z,Z,Z,Z,Z,Z,Z,Z,Z,function(a){uc[a&15].call(this,a)},function(a){vc[a&15].call(this,a)},Z,Z,Z,Z],uc=[hc,function(){this.h=0;--this.c},function(){this.f=0;--this.c},X,function(){this.g=1;--this.c},X,X,X,function(){this.b=0;--this.c},X,X,X,X,X,X,X],vc=[hc,function(){this.h=
|
||||
|
|
@ -126,37 +123,36 @@ function Ac(a){v.call(this,"ROM",a,Ac);this.b=null;this.l=a.addr;this.f=a.size;t
|
|||
Ac.prototype.ua=function(){return!0};
|
||||
function Bc(a,b,c,d){if(d)a.L("Unable to load system ROM (error "+d+": "+b+")");else{Da(a.Fb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,h,g=eval("("+c+")");if(e=g.bytes)a.b=e;else if(e=g.words)for(a.b=Array(2*e.length),h=f=0;f<e.length;f++)a.b[h++]=e[f]&255,a.b[h++]=e[f]>>8&255;else if(e=g.data)for(a.b=Array(4*e.length),h=f=0;f<e.length;f++)a.b[h++]=e[f]&255,a.b[h++]=e[f]>>8&255,a.b[h++]=e[f]>>16&255,a.b[h++]=e[f]>>24&255;else a.b=g;a.i=g.symbols;if(!a.b.length){q("Empty ROM: "+b);
|
||||
return}if(1==a.b.length){q(a.b[0]);return}}catch(k){a.L("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);Cc(a)}}
|
||||
function Cc(a){if(!Ha(a))if(!a.h)C(a);else if(a.b&&a.w){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.j.error=!0;a.L(b)}else{b=a.l;if(Ua(a.w,b,a.f,a.u?1:ob)){var c;for(c=0;c<a.b.length;c++){var d=a.w,f=b+c;d.b[(f&d.i)>>>d.f].Wb(f&d.h,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.w,h=e.f,g=[],k=e.l>>>f.f;0<h&&
|
||||
k<f.b.length;)g.push(f.b[k++]),h-=f.g;f=e.w;e=e.f;h=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=g[h++];if(!k)break;f.b[d++]=k;e-=f.g}}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=A(c),d=new Ac(d);Fa(d,c)}});function Dc(a){v.call(this,"RAM",a,Dc);this.g=a.addr;this.f=a.size;this.b=!1}x(Dc);m=Dc.prototype;m.Ha=function(a,b,c,d){this.w=b;this.c=c;this.I=d;C(this)};m.va=function(a,b){b||this.reset();return!0};m.ua=function(a){return a?this.save():!0};
|
||||
m.reset=function(){!this.b&&this.f&&Ua(this.w,this.g,this.f,1)&&(this.b=!0);this.b||q("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};u(function(){for(var a=B(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Dc(d);Fa(d,c)}});function Ec(a){v.call(this,"Keyboard",a,Ec);C(this)}x(Ec);Ec.prototype.ba=function(){return!1};Ec.prototype.Ha=function(a,b,c,d){this.v=a;this.c=c;this.I=d;this.ya=null};
|
||||
u(function(){for(var a=B(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ec(d);Fa(d,c)}});
|
||||
function Fc(a,b,c){v.call(this,"Computer",a,Fc);this.j.M=!1;Gc(this,b);this.K=zb(this,"autoPower",a);this.g=0;this.ca=a.busWidth||a.buswidth;this.b=Hc;this.v=null;this.l=this.W=!1;this.url=zb(this,"url")||"";(Math.random()+.1).toString(36);this.f=Ic(this);if(this.c=Ea("CPU",this.id)){this.I=Ea("Debugger",this.id);this.w=new Oa({id:this.Fb+".bus",busWidth:this.ca},this.c,this.I);var d,f=y(this.id);if((this.h=Ea("Panel",this.id))&&this.h.zb)for(b=0;b<f.length;b++)d=f[b],d.L=this.h.L,d.Y=this.h.Y,d.zb=
|
||||
function Cc(a){if(!Ga(a))if(!a.h)C(a);else if(a.b&&a.w){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.j.error=!0;a.L(b)}else{b=a.l;if(Ta(a.w,b,a.f,a.u?1:ob)){var c;for(c=0;c<a.b.length;c++){var d=a.w,f=b+c;d.b[(f&d.i)>>>d.f].Wb(f&d.h,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.w,h=e.f,g=[],k=e.l>>>f.f;0<h&&
|
||||
k<f.b.length;)g.push(f.b[k++]),h-=f.g;f=e.w;e=e.f;h=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=g[h++];if(!k)break;f.b[d++]=k;e-=f.g}}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 Ac(d);A(d,c)}});function Dc(a){v.call(this,"RAM",a,Dc);this.g=a.addr;this.f=a.size;this.b=!1}x(Dc);m=Dc.prototype;m.Ha=function(a,b,c,d){this.w=b;this.c=c;this.I=d;C(this)};m.va=function(a,b){b||this.reset();return!0};m.ua=function(a){return a?this.save():!0};
|
||||
m.reset=function(){!this.b&&this.f&&Ta(this.w,this.g,this.f,1)&&(this.b=!0);this.b||q("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};u(function(){for(var a=B(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Dc(d);A(d,c)}});function Ec(a){v.call(this,"Keyboard",a,Ec);C(this)}x(Ec);Ec.prototype.ba=function(){return!1};Ec.prototype.Ha=function(a,b,c,d){this.v=a;this.c=c;this.I=d;this.ya=null};
|
||||
u(function(){for(var a=B(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ec(d);A(d,c)}});
|
||||
function Fc(a,b,c){v.call(this,"Computer",a,Fc);this.j.M=!1;Gc(this,b);this.K=zb(this,"autoPower",a);this.g=0;this.ca=a.busWidth||a.buswidth;this.b=Hc;this.v=null;this.l=this.W=!1;this.url=zb(this,"url")||"";(Math.random()+.1).toString(36);this.f=Ic(this);if(this.c=Ea("CPU",this.id)){this.I=Ea("Debugger",this.id);this.w=new Na({id:this.Fb+".bus",busWidth:this.ca},this.c,this.I);var d,f=y(this.id);if((this.h=Ea("Panel",this.id))&&this.h.zb)for(b=0;b<f.length;b++)d=f[b],d.L=this.h.L,d.Y=this.h.Y,d.zb=
|
||||
this.h.zb;this.Y("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.Y("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ha&&d.Ha(this,this.w,this.c,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.u=d:this.b=parseInt(d,10));var e;if(a=zb(this,"state")||(e=!0,a.state))b=this.N=a,e||(this.l=!0,this.b=Hc),this.b&&(this.J=
|
||||
new M(this,"1.30.0"),Jc(this.J)?b=null:delete this.J);!b&&this.b&&(b=Kc(this))&&(this.l=!0);if(b){var h=this;p(b,null,!0,function(a,b,c){c?(h.u=null,h.l=!1,h.L("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(h.v=b,h.W=!0);C(h)})}else C(this);this.B.power||(this.K=!0);!c&&this.K&&Lc(this,this.cb)}else q("Unable to find CPU component")}x(Fc);var Hc=0;
|
||||
function Gc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.X=b}function zb(a,b,c){var d=b.toLowerCase(),d=xa[b]||xa[d];void 0===d&&a.X&&(d=a.X[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Lc(a,b,c){for(var d=y(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ha(e)){Ha(e,function(){Lc(a,b,c)});return}}b.call(a,c)}
|
||||
function Mc(a,b){var c=new M(a,"1.30.0","validate");if(Jc(c)&&Nc(c)){var d=Oc(c,"timestamp"),f=b?Oc(b,"timestamp"):"unknown";d!=f&&(a.L("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Fc.prototype;
|
||||
m.cb=function(a){void 0===a&&(a=this.b||(this.v?1:Hc));if(!this.g){this.g++;var b=!1,c=!1;this.R=!1;var d=this.J||new M(this,"1.30.0");if(-1==a)b=!0;else if(a>Hc){if(Jc(d,this.v)){this.i=new M(this,"1.30.0","failsafe");Jc(this.i)&&(Pc(this,d),a=2,Qc(this.i));N(this.i,"timestamp",ia());Rc(this.i);var f=this.b&&!this.l;if(1==a||ja("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Nc(d)){var e=Oc(d,"code"),h=Oc(d,"data");e&&("ok"==e?Jc(d,h):("error"==e&&
|
||||
"no machine state"!=h?(this.L("Error: "+h),"unable to verify user"==h&&(na("user",""),this.f=null)):this.Y(e+": "+h),Qc(d),Jc(d)?(c=Nc(d),f=!0):c=!1))}f&&Mc(this,c?d:null)}else 2==a&&d.clear()}else Mc(this);delete this.v;delete this.J}f=y(this.id);for(e=0;e<f.length;e++)h=f[e],h!==this&&h!=this.c&&(c=Sc(this,h,d,b,c));b=[d,a,c];-1!=a?Lc(this,this.Ob,b):this.Ob(b)}};
|
||||
function Sc(a,b,c,d,f){if(!b.j.M){b.j.M=!0;if(b.va){var e=null;f&&((e=Oc(c,b.id))||(e=Oc(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.va(e,d)&&e&&(q("Unable to restore state for "+b.type),a.N&&!a.W?(c.clear(),a.b=Hc,window&&window.location.reload()):a.R=!0,b.va(null),f=!1)}if(!d&&b.Hb)for(a=b.Hb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
m.Ob=function(a){var b=a[0],c=0>a[1];a=a[2];this.da=!0;this.j.M=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.c&&(Sc(this,this.c,b,c,a),this.c.Xa());this.R&&(Pc(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.g=0};
|
||||
function Pc(a,b){if(ja("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"",d=b.toString(),f={app:"PDP11js",ver:"1.30.0"};f.url=a.url;f.user=c;f.type="bug";f.data=d;p("http://www.pcjs.org/api/v1/report",f,!0)}}
|
||||
function Tc(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new M(a,"1.30.0"),h=new M(a,"1.30.0","validate"),g=ia();N(h,"timestamp",g);N(e,"timestamp",g);N(e,"version","1.30.0");N(e,"url",window?window.location.href:null);N(e,"browser",window?window.navigator.userAgent:"");a.c&&a.c.ua&&(c&&Eb(a.c),d=a.c.ua(b,c),"object"===typeof d&&N(e,a.c.id,d),c&&(a.c.j.M=!1,!1===d&&(f=null)));for(var g=y(a.id),k=0;k<g.length;k++){var l=g[k];l.j.M&&(l.ua&&(d=l.ua(b,c),"object"===typeof d&&N(e,l.id,d)),c&&(l.j.M=
|
||||
!1,!1===d&&(f=null)))}f&&(c?(g=d=!1,b?(a.f&&Uc(a,a.f,e.toString()),Rc(h)&&Rc(e)||(f=null,d=g=!0)):a.b&&(d=!0,g=3==a.b),d&&e.clear(g)):f=e.toString());c&&(a.j.M=!1,b=a.B.power)&&(b.textContent="Power");a.g=0;return f}m.reset=function(){this.w&&this.w.reset&&this.w.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c.reset&&c.reset()}};m.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||
new N(this,"1.30.0"),Jc(this.J)?b=null:delete this.J);!b&&this.b&&(b=Kc(this))&&(this.l=!0);if(b){var h=this;p(b,null,!0,function(a,b,c){c?(h.u=null,h.l=!1,h.L("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(h.v=b,h.W=!0);C(h)})}else C(this);this.B.power||(this.K=!0);!c&&this.K&&Lc(this,this.cb)}else q("Unable to find CPU component")}x(Fc);var Hc=0;
|
||||
function Gc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.X=b}function zb(a,b,c){var d=b.toLowerCase(),d=xa[b]||xa[d];void 0===d&&a.X&&(d=a.X[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Lc(a,b,c){for(var d=y(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ga(e)){Ga(e,function(){Lc(a,b,c)});return}}b.call(a,c)}
|
||||
function Mc(a,b){var c=new N(a,"1.30.0","validate");if(Jc(c)&&Nc(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.L("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Fc.prototype;
|
||||
m.cb=function(a){void 0===a&&(a=this.b||(this.v?1:Hc));if(!this.g){this.g++;var b=!1,c=!1;this.R=!1;var d=this.J||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>Hc){if(Jc(d,this.v)){this.i=new N(this,"1.30.0","failsafe");Jc(this.i)&&(Oc(this,d),a=2,Pc(this.i));this.i.set("timestamp",ia());Qc(this.i);var f=this.b&&!this.l;if(1==a||ja("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Nc(d)){var e=d.get("code"),h=d.get("data");e&&("ok"==e?Jc(d,h):("error"==
|
||||
e&&"no machine state"!=h?(this.L("Error: "+h),"unable to verify user"==h&&(na("user",""),this.f=null)):this.Y(e+": "+h),Pc(d),Jc(d)?(c=Nc(d),f=!0):c=!1))}f&&Mc(this,c?d:null)}else 2==a&&d.clear()}else Mc(this);delete this.v;delete this.J}f=y(this.id);for(e=0;e<f.length;e++)h=f[e],h!==this&&h!=this.c&&(c=Rc(this,h,d,b,c));b=[d,a,c];-1!=a?Lc(this,this.Ob,b):this.Ob(b)}};
|
||||
function Rc(a,b,c,d,f){if(!b.j.M){b.j.M=!0;if(b.va){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.va(e,d)&&e&&(q("Unable to restore state for "+b.type),a.N&&!a.W?(c.clear(),a.b=Hc,window&&window.location.reload()):a.R=!0,b.va(null),f=!1)}if(!d&&b.Hb)for(a=b.Hb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
m.Ob=function(a){var b=a[0],c=0>a[1];a=a[2];this.da=!0;this.j.M=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.c&&(Rc(this,this.c,b,c,a),this.c.Xa());this.R&&(Oc(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.g=0};
|
||||
function Oc(a,b){if(ja("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"",d=b.toString(),f={app:"PDP11js",ver:"1.30.0"};f.url=a.url;f.user=c;f.type="bug";f.data=d;p("http://www.pcjs.org/api/v1/report",f,!0)}}
|
||||
function Sc(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new N(a,"1.30.0"),h=new N(a,"1.30.0","validate"),g=ia();h.set("timestamp",g);e.set("timestamp",g);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.c&&a.c.ua&&(c&&Eb(a.c),d=a.c.ua(b,c),"object"===typeof d&&e.set(a.c.id,d),c&&(a.c.j.M=!1,!1===d&&(f=null)));for(var g=y(a.id),k=0;k<g.length;k++){var l=g[k];l.j.M&&(l.ua&&(d=l.ua(b,c),"object"===typeof d&&e.set(l.id,
|
||||
d)),c&&(l.j.M=!1,!1===d&&(f=null)))}f&&(c?(g=d=!1,b?(a.f&&Tc(a,a.f,e.toString()),Qc(h)&&Qc(e)||(f=null,d=g=!0)):a.b&&(d=!0,g=3==a.b),d&&e.clear(g)):f=e.toString());c&&(a.j.M=!1,b=a.B.power)&&(b.textContent="Power");a.g=0;return f}m.reset=function(){this.w&&this.w.reset&&this.w.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c.reset&&c.reset()}};m.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||
m.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||
m.ba=function(a,b,c){var d=this;switch(b){case "power":return this.B[b]=c,c.onclick=function(){d.g||(d.j.M?Tc(d,!1,!0):Lc(d,d.cb))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.j.M&&!d.g)if(d.b&&!d.u){var a=ja("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Tc(d,a,!0);!a&&d.N?window&&window.location.reload():d.cb(Hc)}else d.reset(),d.c&&d.c.Xa()},!0;case "save":if(da()){c.parentNode.removeChild(c);break}this.B[b]=
|
||||
c;c.onclick=function(){var a=Ic(d,!0);if(a){var b=!!(d.b&&!d.u||d.N),c=Tc(d,b);b?Uc(d,a,c):d.L("Resume disabled, machine state not saved")}};return!0}return!1};
|
||||
function Ic(a,b){var c=a.f;c||(c=ma("user"),void 0!==c?!c&&b&&(c=null,window&&(c=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&&((c=Vc(a,c))||a.L("The user ID is invalid."))):b&&a.L("Browser local storage is not available"));return c}
|
||||
function Vc(a,b){a.f=null;var c=p(ea()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na("user",c.data),a.f=c.data)}catch(f){q(f.message+" ("+d+")")}return a.f}function Kc(a){var b=null;a.f&&(b=ea()+"/api/v1/user?req=load&user="+a.f+"&state="+Wc(a,"1.30.0"));return b}
|
||||
function Uc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Wc(a,"1.30.0");d.data=c;b=p(ea()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.L("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.L(c),na("user",""),a.f=null)}}
|
||||
m.La=function(a){this.c&&this.c.La(a);this.h&&this.h.La(a)};u(function(){for(var a=B(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=B(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],h=A(e),h=new Fc(h,d,!0);Fa(h,e);h.K&&Lc(h,h.cb)}});r.show.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.da&&!c.j.M&&c.cb(-1)}});
|
||||
r.exit.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.j.M&&Tc(c,!(!c.b||c.u),!0)}});function M(a,b,c){this.id=a.id;this.key=Wc(a,b,c);this.I=a.I;Qc(this,a.cc)}function Wc(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
M.prototype={constructor:M,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){Qc(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,1);c=0}}};
|
||||
function Qc(a,b){a[a.id]={};b&&N(a,"parms",b);a.c=!1}function Rc(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Nc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function Jc(a,b){return b?(a[a.id]=b,a.c=!0):a.c?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.c=!0):!1}function Oc(a,b){return a[a.id][b]||null}function N(a,b,c){try{a[a.id][b]=c}catch(d){}}var Xc=0;
|
||||
function Yc(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),e(g,null)):Zc(g,a,b,c,d,f,e)})}
|
||||
function Zc(a,b,c,d,f,e,h){function g(a,e){if(e)h(e,null);else{if(c){Da(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(z){g=null,a=z.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?$c(a,e,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function $c(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(e=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,t=/( [a-z]+=)(['"])(.*?)\2/g;l=t.exec(e);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],h);$c(a,b,c)}})}else c(a,null)}
|
||||
function ad(a,b,c,d){function f(a){if(void 0===g){var b=h&&B(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function e(a){f("Error: "+a);k&&(--Xc||ua(!0));k=!1}var h,g,k=!0;Xc++;Ca[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=l:z.appendChild(document.createTextNode(l));t.appendChild(z)}c||
|
||||
(c="/versions/pdp11/1.30.0/components.xsl");l=function(d,g){g?Yc(c,null,null,!1,f,function(d,k){if(k)if(Da(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Xc||ua(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Xc||ua(!0)):e("invalid machine element: "+
|
||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(d)}):e(d)};"<"!=b.charAt(0)?Yc(b,a,d,!0,f,l):Zc(b,null,a,d,!1,f,l)}else e("missing machine element: "+a)}catch(P){e(P.message)}return k}window.embedPDP11=function(a,b,c,d){ua(!1);return ad(a,b,c,d)};window.enableEvents=ua;window.sendEvent=va;})();
|
||||
m.ba=function(a,b,c){var d=this;switch(b){case "power":return this.B[b]=c,c.onclick=function(){d.g||(d.j.M?Sc(d,!1,!0):Lc(d,d.cb))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.j.M&&!d.g)if(d.b&&!d.u){var a=ja("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Sc(d,a,!0);!a&&d.N?window&&window.location.reload():d.cb(Hc)}else d.reset(),d.c&&d.c.Xa()},!0;case "save":if(da())c.parentNode.removeChild(c);else return this.B[b]=
|
||||
c,c.onclick=function(){var a=Ic(d,!0);if(a){var b=!!(d.b&&!d.u||d.N),c=Sc(d,b);b?Tc(d,a,c):d.L("Resume disabled, machine state not saved")}},!0}return!1};function Ic(a,b){var c=a.f;c||(c=ma("user"),void 0!==c?!c&&b&&(c=null,window&&(c=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&&((c=Uc(a,c))||a.L("The user ID is invalid."))):b&&a.L("Browser local storage is not available"));return c}
|
||||
function Uc(a,b){a.f=null;var c=p(ea()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na("user",c.data),a.f=c.data)}catch(f){q(f.message+" ("+d+")")}return a.f}function Kc(a){var b=null;a.f&&(b=ea()+"/api/v1/user?req=load&user="+a.f+"&state="+Vc(a,"1.30.0"));return b}
|
||||
function Tc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Vc(a,"1.30.0");d.data=c;b=p(ea()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.L("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.L(c),na("user",""),a.f=null)}}
|
||||
m.La=function(a){this.c&&this.c.La(a);this.h&&this.h.La(a)};u(function(){for(var a=B(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],h=z(e),h=new Fc(h,d,!0);A(h,e);h.K&&Lc(h,h.cb)}});r.show.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ea("Computer",c.id))&&c.da&&!c.j.M&&c.cb(-1)}});
|
||||
r.exit.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ea("Computer",c.id))&&c.j.M&&Sc(c,!(!c.b||c.u),!0)}});function N(a,b,c){this.id=a.id;this.key=Vc(a,b,c);this.I=a.I;Pc(this,a.ac)}function Vc(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
N.prototype={constructor:N,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Pc(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
|
||||
1);c=0}}};function Pc(a,b){a[a.id]={};b&&a.set("parms",b);a.c=!1}function Qc(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Nc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function Jc(a,b){return b?(a[a.id]=b,a.c=!0):a.c?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.c=!0):!1}var Wc=0;
|
||||
function Xc(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),e(g,null)):Yc(g,a,b,c,d,f,e)})}
|
||||
function Yc(a,b,c,d,f,e,h){function g(a,e){if(e)h(e,null);else{if(c){Da(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(H){g=null,a=H.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Zc(a,e,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function Zc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(e=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,t=/( [a-z]+=)(['"])(.*?)\2/g;l=t.exec(e);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],h);Zc(a,b,c)}})}else c(a,null)}
|
||||
function $c(a,b,c,d){function f(a){if(void 0===g){var b=h&&B(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function e(a){f("Error: "+a);k&&(--Wc||ua(!0));k=!1}var h,g,k=!0;Wc++;Ca[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],H=document.createElement("style");H.type="text/css";H.styleSheet?H.styleSheet.cssText=l:H.appendChild(document.createTextNode(l));t.appendChild(H)}c||
|
||||
(c="/versions/pdp11/1.30.0/components.xsl");l=function(d,g){g?Xc(c,null,null,!1,f,function(d,k){if(k)if(Da(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Wc||ua(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Wc||ua(!0)):e("invalid machine element: "+
|
||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(d)}):e(d)};"<"!=b.charAt(0)?Xc(b,a,d,!0,f,l):Yc(b,null,a,d,!1,f,l)}else e("missing machine element: "+a)}catch(R){e(R.message)}return k}window.embedPDP11=function(a,b,c,d){ua(!1);return $c(a,b,c,d)};window.enableEvents=ua;window.sendEvent=va;})();
|
||||
|
|
|
|||
Loading…
Reference in a new issue