pcjs/versions/pdp11/1.30.0/pdp11.js

159 lines
65 KiB
JavaScript

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