(function(){var l; function ba(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),f=0>=3;return(c?"0o":"")+d}function t(a,b,c){var d="";b?8=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d} function ca(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})}function ma(a,b){return(a+" ").slice(0,b)} function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,f=a.length,e=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} function sa(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"== typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ja(){return"http://"+(window?window.location.host:"www.pcjs.org")} function u(a){window&&window.alert(a)}function ta(a){var b=!1;window&&(b=window.confirm(a));return b}var xa=null;function ya(){if(null==xa){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}xa=a}return xa}function za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(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 Ca(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.Db=this.id:(this.uc=this.id.substr(0,b),this.Db=this.id.substr(b+1));this[a]=c;this.u={ready:!1,Kb:!1,gc:!1,ia:!1,error:!1};this.Zb=null;this.u.error=!1;this.I={};this.C=null;this.ka=d||0;x.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 c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} function B(a,b){b||(b=w);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={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Za={},x=[];function $a(a,b,c){Za[a]&&b&&(Za[a][b]=c)}function ab(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.Y&&(this.Y=10);15>2;this.i=this.Ca-1;this.B=this.D/this.Ca|0;this.A=this.B-1;this.Va=[];this.G=null;this.Mb=this.Ic;a=new H;zb(a,this.C);this.M=Array(this.B);for(b=0;b>8:d[2](b)&255}else if(b&1&&(d=c.Va[a&-2])&&(E(c)&&db(c,d[5]+".readByte("+r(b)+")",0,!0),d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+r(b));return c.Mb(b,-1,1)} function Bb(a,b,c){var d=this.controller,f=d.Va[a];if(f){E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0);if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.Va[a&-2])&&(E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0),f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.f("warning: unconverted write access to byte @"+r(c));d.Mb(c,b,1)} function Cb(a,b){var c=this.controller;if(a=c.Va[a]){E(c)&&db(c,a[5]+".readWord("+r(b)+")",0,!0);if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.f("warning: unconverted read access to word @"+r(b));return c.Mb(b,-1,0)}function Db(a,b,c){var d=this.controller;if(a=d.Va[a]){E(d)&&db(d,a[5]+".writeWord("+r(c)+","+r(b)+")",0,!0);if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.f("warning: unconverted write access to word @"+r(c));d.Mb(c,b,0)}l=yb.prototype; l.reset=function(){this.G&&this.G()};l.Ic=function(){return 0};l.Ra=function(a,b){b||this.reset();return!0}; function Eb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.Y;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Yb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Yb){n=k.size-(e-m);n>g&&(n=g);k.Yb=e-k.w+n;e=m+a.Ca;g-=n;h++;continue}}return Gb(1,e,g)}e=new H(e,n,a.Ca,d,f);zb(e,a.C,k);a.M[h++]=e;e=m+a.Ca;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Hb[d]+" at "+t(b,8,!0)),!0):Gb(2,b,c)} l.rb=function(a){return this.M[(a&this.j)>>>this.Y].vb(a&this.i,a)};l.Ja=function(a){var b=a&this.i,c=(a&this.j)>>>this.Y;return b!=this.i?this.M[c].Rb(b,a):this.M[c++].vb(b,a)|this.M[c&this.A].vb(0,a+1)<<8};function Ib(a,b){var c=b&a.i,d=(b&a.j)>>>a.Y;return c!=a.i?a.M[d].mc(c,b):a.M[d++].Qb(c,b)|a.M[d&a.A].Qb(0,b+1)<<8}l.Vb=function(a,b){this.M[(a&this.j)>>>this.Y].Bb(a&this.i,b&255,a)}; l.pb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.Y;c!=this.i?this.M[d].Hc(c,b&65535,a):(this.M[d++].Bb(c,b&255,a),this.M[d&this.A].Bb(0,b>>8&255,a+1))};function Jb(a){for(var b=0,c=[],d=0;d>5&3;c.xa=a>>1&15;c.$b=a&257?a&1?6:4:0;Yb(c);a=c.B;a&1|256&&(b=this.b.nb&16?1:2);this.A.sb=this.A.sb&-8|b};l.cd=function(){return this.i.ta};l.ud=function(a){this.i.ta=this.i.ta&128|a&-129};l.dd=function(){return this.i.wa}; l.vd=function(a){if(128==(this.i.wa&192)&&a&64){var b=this;J(this.b,8,4,52,function(){b.i.wa|=128;return!!(b.i.wa&64)})}this.i.wa=this.i.wa&128|a&-129};l.bd=function(){return Zb(this.b)};l.td=function(a){$b(this.b,a&-1809|Zb(this.b)&1808);this.b.N|=128}; function ac(a){var b=a.B,c,d,f,e=b.ua>>13&7;"undefined"===typeof b.pa[e]&&(b.pa[e]={cache:[],postProcess:a.ed,drive:e,blocksize:256,mapped:0,maxblock:b.ib[e]*b.aa[e],url:"rk"+e+".dsk"});b.P&=-129;switch(b.P>>1&7){case 0:b.Tb=2496;b.ma=0;b.P=128;b.ua=0;break;case 1:if((b.ua>>4&511)>=b.ib[e]){b.ma|=32832;b.P|=49152;break}if((b.ua&15)>=b.aa[e]){b.ma|=32800;b.P|=49152;break}c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Sb;f=65536-b.Ub&65535;bc(a,b.pa[e],c,d,f);return;case 2:if((b.ua>>4&511)>=b.ib[e])b.ma|= 32832,b.P|=49152;else if((b.ua&15)>=b.aa[e])b.ma|=32800,b.P|=49152;else{c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Sb;f=65536-b.Ub&65535;a.bc(b.pa[e],c,d,f);return}}b.Tb=e<<13|b.Tb&8176|b.ua%9&15;J(a.b,20,5,144,function(){b.P=b.P&65534|128;return!!(b.P&64)})}l.ed=function(a,b,c,d,f){var e=this.B;e.Sb=d&65535;e.P=e.P&-49|d>>12&48;e.Ub=65536-f&65535;switch(a){case 1:e.ma|=33024;e.P|=49152;break;case 2:e.ma|=33792,e.P|=49152}J(this.b,20,5,144,function(){e.P=e.P&65534|128;return!!(e.P&64)})}; function cc(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.pa[e]&&(b.pa[e]={cache:[],postProcess:a.fd,drive:e,blocksize:128,mapped:1,maxblock:b.ib[e]*b.aa[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.ab&8&&(b.K&=63);b.ab=b.Kc[e]|b.gb&64;break;case 3:1==(b.fa&3)&&(b.gb=b.fa&4?b.gb+(b.fa&65408)&65408|b.fa<<2&64:b.gb-(b.fa&65408)&65408|b.fa<<2&64,b.fa=b.gb);break;case 4:b.ab=b.gb;break;case 5:if(b.fa>>6>=b.ib[e]){b.K|=37888;break}if((b.fa&63)>=b.aa[e]){b.K|=37888;break}c=(b.fa>>6)* b.aa[e]+(b.fa&63);d=(b.Wa&63)<<16|b.Jb;f=65536-b.ab&65535;bc(a,b.pa[e],c,d,f);return;case 6:if(b.fa>>6>=b.ib[e])b.K|=37888;else if((b.fa&63)>=b.aa[e])b.K|=37888;else{c=(b.fa>>6)*b.aa[e]+(b.fa&63);d=(b.Wa&63)<<16|b.Jb;f=65536-b.ab&65535;a.bc(b.pa[e],c,d,f);return}}J(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})} l.fd=function(a,b,c,d,f){var e=this.D;e.Jb=d&65535;e.K=e.K&-49|d>>12&48;e.Wa=d>>16&63;e.fa=~~(c/e.aa[b.Oa])<<6|c%e.aa[b.Oa];e.gb=e.fa;e.ab=65536-f&65535;switch(a){case 1:e.K|=33792;break;case 2:e.K|=40960}J(this.b,20,5,112,function(){e.K|=129;return!!(e.K&64)})};function dc(a){a=a.G;a.S=2176;a.Da=0;a.ra=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.ob=a.yb=a.wb=a.fb=a.oc=0} function ec(a,b){var c=a.G,d,f,e;c.S&=-16513;c.Da&=-2049;c.ra[b]&=-1153;J(a.b,-1,0,172);"undefined"===typeof c.pa[b]&&(c.pa[b]={cache:[],postProcess:a.gd,drive:b,blocksize:256,mapped:0,maxblock:c.fc[0]*c.hb[0]*c.aa[0],url:"rp"+b+".dsk"});switch(c.S&63){case 5:c.ec[b]=c.Ua[b];c.S|=32896;c.ra[b]|=32896;c.ob|=1<=c.fc[0]||c.Ea[b]>>8>=c.hb[0]||(c.Ea[b]&255)>=c.aa[0]){c.xb[b]|=1024;c.S|=49152;break}d=(c.Ua[b]*c.hb[0]+(c.Ea[b]>>8))* c.aa[0]+(c.Ea[b]&255);f=(c.fb&63)<<16|c.wb;e=65536-c.yb&65535;bc(a,c.pa[b],d,f,e);return;case 57:if(c.Ua[b]>=c.fc[0]||c.Ea[b]>>8>=c.hb[0]||(c.Ea[b]&255)>=c.aa[0])c.xb[b]|=1024,c.S|=49152;else{d=(c.Ua[b]*c.hb[0]+(c.Ea[b]>>8))*c.aa[0]+(c.Ea[b]&255);f=(c.fb&63)<<16|c.wb;e=65536-c.yb&65535;a.bc(c.pa[b],d,f,e);return}}J(a.b,3,5,172,function(){c.S=c.S&65534|128;c.ra[b]|=128;return!!(c.S&64)})} l.gd=function(a,b,c,d,f){var e=this.G;e.yb=65536-f&65535;e.wb=d&65535;e.S=e.S&-769|d>>8&768;e.fb=d>>16&63;f=~~(c/e.aa[0]);d=~~(f/e.hb[0]);e.Ea[b.Oa]=f%e.hb[0]<<8|c%e.aa[0];e.ec[b.Oa]=e.Ua[b.Oa]=d;e.ob|=1<=b.Xc-1&&(e.ra[b.Oa]|=1024);switch(a){case 1:e.Da|=512;e.S|=49152;break;case 2:e.Da|=2048,e.S|=49152}J(this.b,20,5,172,function(){e.ra[b.Oa]|=128;e.S=e.S&65534|128;return!!(e.S&64)})}; function fc(a,b,c,d,f,e){var g=~~((e+c.Xa-1)/c.Xa),h=new XMLHttpRequest;2048>g&&d+2048g){b.kc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.kc(0,b,c,d,f)}l.reset=function(){this.A.sb=this.A.sb&-120|20;this.i.ta=0;this.i.wa=128;this.j.$a=0;this.B.P=128;this.D.K=128;dc(this)}; l.Jc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.eb&65280:(a&1&&(b<<=8),e.eb=b|255,d=0);break;case 4194298:if(0>b)d=e.nc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.nc=d;e.Sa=2}break;case 4194294:if(70!==e.lb)return e.L(4,222);0>b?d=e.H:d=e.H=0;break;case 4194292:if(70!==e.lb)return e.L(4,224);d=1;break;case 4194290:if(70!==e.lb)return e.L(4,226);d=0;break;case 4194288:if(70!==e.lb)return e.L(4,228);d=61183;break;case 4194296:0<= b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.lb)return e.L(4,232);f=a-4194272>>1;0>b?d=e.ic[f]:(d=K(this,e.ic[f],a,b,c),0<=d&&(e.ic[f]=d));break;case 4194254:return a&1?e.O>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[3]=b),d=e.Aa[3]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[1]=b),d=e.Aa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.O&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.Ta[f]= b),d=e.Ta[f]),d;case 4194246:return a&1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[0]=b),d=e.Aa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.O&2048?(0<=b&&(e.Ta[f]=b),d=e.Ta[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.H|=16,e.L(4,124)}break;case 4194176:f=a>>1&31;d=K(this,e.la[3][f],a,b,c);0<=d&&(e.la[3][f]=d,e.la[3][f&15]&=65295);break;case 4194112:var g=this.i;switch(a&-2){case 4194174:d=K(this,e.dc,a,b,c);0<=d&&(e.dc=d);break;case 4194172:d= e.cb;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.A.pd&65535:(d=K(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Oc=0),g.wa&=-129,J(e,100,4,52,function(){g.wa|=128;return!!(g.wa&64)}));d=0;break;case 4194162:d=0;0>b&&(g.ta&=-129,0b?d=g.ta:(d=K(this,g.ta,a,b,c),0<=d&&(g.ta=g.ta&128|d&-129));break;default:return e.H|=16,e.L(4, 126)}break;case 4194048:f=this.B;switch(a&-2){case 4194048:d=K(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194050:d=K(this,f.ma,a,b,c);0<=d&&(f.ma=d);break;case 4194052:d=K(this,f.P,a,b,c);0<=b&&0<=d&&(f.P=d&-36993|f.P&36992,f.P&1&&ac(this));break;case 4194054:d=K(this,f.Ub,a,b,c);0<=d&&(f.Ub=d);break;case 4194056:d=K(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194058:d=K(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;case 4194060:break;case 4194062:d=K(this,f.Cc,a,b,c);0<=d&&(f.Cc=d);break;default:return e.H|= 16,e.L(4,128)}break;case 4193728:var h=this.G;f=h.Da&7;switch(a&-2){case 4193728:d=K(this,h.S,a,b,c);0<=b&&0<=d&&(h.fb=h.fb&60|d>>8&3,h.S=d&17279|h.S&34944|2048,d&1&&h.S&128?ec(this,f):192==(d&192)&&J(e,0,5,172));break;case 4193730:d=K(this,h.yb,a,b,c);0<=d&&(h.yb=d);break;case 4193732:d=K(this,h.wb,a,b,c);0<=d&&(h.wb=d&65534);break;case 4193734:d=K(this,h.Ea[f],a,b,c);0<=d&&(h.Ea[f]=d&7967);break;case 4193736:d=K(this,h.Da,a,b,c);0<=d&&(h.Da=d&63|h.Da&65472,d&128&&dc(this));break;case 4193738:d= h.ra[f];break;case 4193740:d=h.xb[f];break;case 4193742:d=K(this,h.ob,a,b,c);0<=d&&(h.ob=d&255);break;case 4193744:d=h.md[f];break;case 4193746:d=K(this,h.Dc,a,b,c);0<=d&&(h.Dc=d);break;case 4193748:d=K(this,h.Ec[f],a,b,c);0<=d&&(h.Ec[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.nd[f];break;case 4193754:d=K(this,h.Fc[f],a,b,c);0<=d&&(h.Fc[f]=d);break;case 4193756:d=K(this,h.Ua[f],a,b,c);0<=d&&(h.Ua[f]=d&511);break;case 4193758:h.ec[f]=h.Ua[f];d=h.ec[f];break;case 4193760:d=h.kd[f]; break;case 4193762:d=h.ld[f];break;case 4193764:d=h.hd[f];break;case 4193766:d=h.jd[f];break;case 4193768:d=K(this,h.fb,a,b,c);0<=d&&(h.fb=d&63,h.S=h.S&-769|(d&3)<<8);break;case 4193770:d=K(this,h.oc,a,b,c);0<=d&&(h.oc=d);break;default:return e.H|=16,e.L(4,132)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=K(this,f.K,a,b,c);0<=b&&0<=d&&(f.Wa=f.Wa&60|d>>4&3,f.K=f.K&-1023|d&1022,f.K&128||cc(this));break;case 4192514:d=K(this,f.Jb,a,b,c);0<=d&&(f.Jb=d&65534);break;case 4192516:d=K(this,f.fa, a,b,c);0<=d&&(f.fa=d);break;case 4192518:d=K(this,f.ab,a,b,c);0<=d&&(f.ab=d);break;case 4192520:d=K(this,f.Wa,a,b,c);0<=d&&(f.Wa=d&63,f.K=f.K&-49|(f.Wa&3)<<4);break;default:return e.H|=16,e.L(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.nb:(d=K(this,e.nb,a,b,c),0<=d&&(70!==e.lb&&(d&=-49),e.nb=d,e.ac[0]=d&4?15:7,e.ac[1]=d&2?15:7,e.ac[3]=d&1?15:7,e.$b&&(f=2,e.nb&16&&(f=1),this.A.sb=this.A.sb&-8|f)));break;default:return e.H|=16,e.L(4,136)}break;case 4191424:f=a>>1&31;d=K(this,e.la[0][f], a,b,c);0<=d&&(e.la[0][f]=d,e.la[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=K(this,e.la[1][f],a,b,c);0<=d&&(e.la[1][f]=d,e.la[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.lb)return e.L(4,234);f=a>>2&31;d=e.Wb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=K(this,d,a,b,c),0<=d&&(e.Wb[f]=a&2?d<<16|e.Wb[f]&65535:e.Wb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Nb[a>>1&255];else return e.H|=16,e.L(4, 138);break;default:return e.H|=16,e.L(4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var hc={},Lb=(hc[65382]=[null,null,I.prototype.$c,I.prototype.rd,"LKS"],hc[65392]=[null,null,I.prototype.cd,I.prototype.ud,"RCSR"],hc[65396]=[null,null,I.prototype.dd,I.prototype.vd,"XCSR"],hc[65402]=[null,null,I.prototype.ad,I.prototype.sd,"MMR0"],hc[65534]=[null,null,I.prototype.bd,I.prototype.td,"PSW"],hc); Pa(function(){for(var a=D(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.D,0,c>>2),oc(this,kc?pc:qc);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},sa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Ba:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Ya=!0},ca:function(a,b){if(this.C&&null!=this.w){var c=this.C;vc(c,this.w+a,1,c.W)&&c.na(!0)}return this.Qb(a,b)},ja:function(a,b){if(this.C&&null!=this.w){var c=this.C;vc(c,this.w+a,2,c.W)&&c.na(!0)}return this.mc(a,b)},ya:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;vc(d,this.w+a,1,d.D)&&d.na(!0)}this.i?this.B(a,b,c):this.Cb(a, b,c)},La:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;vc(d,this.w+a,2,d.D)&&d.na(!0)}this.i?this.B(a,b,c):this.rc(a,b,c)},$:function(a){return this.I[a]},da:function(a){return this.I[a]},ha:function(a){return this.G.getUint16(a,!0)},oa:function(a){return a&1?this.I[a]|this.I[a+1]<<8:this.R[a>>1]},xa:function(a,b){this.I[a]=b;this.Ya=!0},za:function(a,b){this.I[a]=b;this.Ya=!0},Ga:function(a,b){this.G.setUint16(a,b,!0);this.Ya=!0},Db:function(a,b){a&1?(this.I[a]=b,this.I[a+1]=b>>8):this.R[a>> 1]=b;this.Ya=!0}};function zb(a,b,c){a.C=b;a.j=a.A=0;c&&((a.j=c.j)&&uc(a,tc,!1),(a.A=c.A)&&sc(a,tc,!1))}function wc(a,b){b?--a.A||(a.Bb=a.i?a.B:a.Cb,a.Hc=a.i?a.J:a.rc):--a.j||(a.vb=a.Qb,a.Rb=a.mc)}function sc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.B,a.Hc=!a.i&&b[3]||a.J);if(c||void 0===c)a.Cb=b[1]||a.B,a.rc=b[3]||a.J}function uc(a,b,c){c&&a.j||(a.vb=b[0]||a.T,a.Rb=b[2]||a.W);if(c||void 0===c)a.Qb=b[0]||a.T,a.mc=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.ea,H.prototype.Ba,H.prototype.sa,H.prototype.Ma],tc=[H.prototype.ca,H.prototype.ya,H.prototype.ja,H.prototype.La];if(vb)var qc=[H.prototype.$,H.prototype.xa,H.prototype.ha,H.prototype.Ga],pc=[H.prototype.da,H.prototype.za,H.prototype.oa,H.prototype.Db]; function yc(a,b){w.call(this,"CPU",a,yc,1);var c=a.multiplier||1;this.za=a.cycles||b;this.bb=c;this.Ga=Math.round(this.za/1E4)/100;this.mb=this.Ga*this.bb;this.u.ga=!1;this.u.pc=!1;this.u.Hb=a.autoStart;this.u.xc=!1;this.u.qb=!1;this.Nb=this.ca=0;this.Ob=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.D=[];this.Ma=this.od.bind(this);F(this)}B(yc);var zc=["power","reset"];l=yc.prototype; l.Za=function(a,b,c,d){this.i=a;this.F=b;this.C=d;for(b=0;b=a.ca&&(a.ca+=a.tb,c=!0);0<=a.ub&&a.ub<=Yc(a)&&(a.tb=a.ub=-1,Vc(a),a.na(),c=!0);c&&a.f(Yc(a)+" cycles: checksum="+t(a.Nb))}} function Zc(a,b,c,d){if(a.I[b]){void 0===c&&(ub(a,"Value for "+b+" is invalid"),a.na());var f=a.C&&a.C.ea||8;c=!a.u.ga||a.u.xc?8==f?r(c,d):t(c,d):"--------".substr(0,d||4);a.I[b].textContent!=c&&(a.I[b].textContent=c)}} l.va=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.I[b]=c;a=!0;break;case "run":this.I[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ia)a=!0;else{var b=null,c,h=ab(a.id);for(c=0;ca.R/a.mb?b=1:d=!0;a.bb=b;b=a.Ga*a.bb;if(a.mb!=b){a.mb=b;b=a.mb.toFixed(2)+"Mhz";var f=a.I.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Xb()}ad(a,a.J);a.J=0;a.G=pa();a.T=0;bd(a);return d}function Ob(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Xb(a,b){var c;0<=b&&ba.D[b][0]&&(c=a.za*a.bb/1E3*(1E3/60),a.D[b][0]=c)}function cd(a){a.W-=a.b;a.b=0} l.od=function(){if(this.u.ga){this.La>=this.za&&bd(this,!0);this.ja=0;this.ya=pa();if(this.T){var a=this.ya-this.T;a>this.Ib&&(this.G+=a,this.G>this.ya&&(this.G=this.ya))}try{do{for(var b,c=this.u.qb?1:this.Ba,d=this.D.length-1;0<=d;d--){var f=this.D[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Ab(b)}catch(k){if("number"!=typeof k)throw k;}for(var e=this.W-this.b,a=e,g=this.D.length-1;0<=g;g--){var h=this.D[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.ja+=e;this.J+=e;ad(this,0,!0);Xc(this,e);this.da-= e;if(0>=this.da){this.da+=this.Ba;15<=++this.Lb&&(this.i&&this.i.Fa(),this.Lb=0);break}}while(this.u.ga)}catch(k){this.na();L(this);this.i&&this.i.stop(pa(),Yc(this));ub(this,k.stack||k.message);return}if(this.u.ga){b=setTimeout;c=this.Ma;this.T=pa();d=this.Ib;this.ja&&(d=Math.round(d*this.ja/this.Ba));d-=this.T-this.ya;if(f=this.T-this.G)this.R=Math.round(this.J/(10*f))/100,864E5<=f&&(this.$=0,$c(this));if(0>d||this.Rd&&(this.G-=d),d=0;this.La+=this.ja;this.T+=d;b(c,d)}}}; l.zb=function(a){if(tb(this))return!1;if(this.u.ga)return this.f(this.toString()+" busy"),!1;$c(this);this.u.ga=!0;this.u.pc=!0;this.ha&&this.ha.start();var b=this.I.run;b&&(b.textContent="Halt");this.i&&(this.i.start(this.G,Yc(this)),a&&this.i.Xb(!0));L(this,!0);setTimeout(this.Ma,0);return!0};l.Ab=function(){return 0}; l.na=function(a){if(this.u.ga){cd(this);ad(this,this.J);this.J=0;this.u.ga=!1;this.ha&&this.ha.stop();var b=this.I.run;b&&(b.textContent="Run");this.i&&this.i.stop(pa(),Yc(this));L(this)}this.u.complete=a};function L(a,b){a.i&&a.i.Fa(b)} function dd(a){this.Yc=+a.model||1170;this.jc=a.resetAddr||0;yc.call(this,a,1E6);this.Fb=0;this.decode=ed.bind(this);this.U=65536;this.V=32768;this.Z=65535;this.X=32768;this.O=15;this.g=[0,0,0,0,0,0,0,this.jc];this.Ta=[0,0,0,0,0,0];this.Aa=[0,0,0,0];this.xa=this.A=0;this.la=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.Wb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.ic=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.N=0;this.lb=70;this.ea=-1;this.oa=0;fd(this);this.u.complete=this.u.Nc=!1}B(dd,yc);l=dd.prototype;l.reset=function(){this.u.ga&&this.na();fd(this);Bc(this);this.u.error=!1;this.parent.reset.call(this)}; function fd(a){a.eb=255;a.H=0;a.nc=0;a.B=0;a.cb=0;a.dc=0;a.nb=0;a.$b=0;a.sa=0;a.ac=[7,7,7,7];a.j=[];a.Sa=2;Yb(a)}function Yb(a){a.$b?(a.Eb=65536,a.ba=a.Uc,a.Rb=a.Ka):(a.Eb=0,a.ba=a.Tc,a.Rb=a.cc)}l.zc=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.$,this.bb]);a.set(2,Jb(this.F));return a.data()}; l.restore=function(a){var b=a[1];this.$=b[1];$c(this,b[3]);a:{b=this.F;a=a[2];var c;for(c=0;cb){a.j[e].Ha-=b;break}b-=a.j[e].Ha}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Sa=2}function Zb(a){return a.O=a.O&63728|a.Pa()|hd(a)|gd(a)|N(a)} function $b(a,b){a.X=b<<12;a.Z=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.O)&2048)for(var c=a.Ta.length;0<=--c;){var d=a.g[c];a.g[c]=a.Ta[c];a.Ta[c]=d}a.A=b>>14&3;c=a.O>>14&3;a.A!=c&&(a.Aa[c]=a.g[6],a.g[6]=a.Aa[a.A]);a.Sa=2;a.O=b}function O(a,b){a.N&128||(a.X=a.Z=b,a.V=0)}function jd(a,b,c){a.N&128||(a.X=a.Z=a.U=b,a.V=c||0)}function kd(a,b,c,d){a.N&128||(a.X=a.Z=a.U=b,a.V=(c^b)&(d^b))}function ld(a,b){a.N&128||(a.X=a.Z=a.U=b,a.V=a.X^a.U>>1)}function md(a,b,c,d){a.N&128||(a.X=a.Z=a.U=b,a.V=(c^d)&(d^b))} l.L=function(a){var b=!1;0>this.ea?this.ea=Zb(this):this.A||(a=4,b=!0);this.B&57344||(this.cb=63222,this.dc=a);this.A=0;var c=this.Ka(a|65536),d=this.Ka(a+2&65535|65536);$b(this,d&-12289|this.ea>>2&12288);b&&(this.H|=4,this.g[6]=4);nd(this,this.ea);nd(this,this.g[7]);this.g[7]=c;this.N&=-113;this.ea=-1;throw a;};function od(a){var b=pd(a),c=pd(a)&-1793;a.O&49152&&(c=c&-225|a.O&63712);a.g[7]=b&65535;$b(a,c);a.N&=-17} function gc(a,b){var c=b>>13&31;31>c?a.nb&32&&(b=a.Wb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} function qd(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.A];f=a.la[a.A][d];e=(a.la[a.A][d+16]<<6)+(b&8191)&4194303;a.nb&16?3932160<=e&&4186112>e&&(e=gc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,a.L(4,12)),e&1&&!(c&1)&&(a.H|=64,a.L(4,14)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2& 8128)&&(g|=16384));a.la[a.A][d]=f;if(4194170!==e||a.A)a.sa=a.A,a.xa=d;g&&(g&57344&&(0<=a.ea&&(g|=128),a.B&57344||(a.B=a.B|g|a.sa<<5|a.xa<<1),a.L(168,16)),a.B&61440||!(4191360>e||4194239>3&7){case 0:a.L(4,20);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.eb||65534<=a.g[6])&&(a.g[6]<=a.eb-32||65534<=a.g[6]?(a.H|=4,a.g[6]=4,a.L(4,22)):(a.H|=8,a.N|=64)),7===e?a.g[e]:a.g[e]|g;case 2:f=2;d=a.g[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.g[e];7!==e&&(d|=g);d=a.Ka(d);d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.g[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.g[e]-2&65535;7!==e&&(d|=g);d=a.Ka(d)|g;break;case 6:return d= id(a),d=d+a.g[e]&65535|g;case 7:return d=id(a),d=d+a.g[e]&65535,d=a.Ka(d|65536)|g}a.g[e]=a.g[e]+f&65535;!g||a.B&57344||(a.cb=a.cb<<8|f<<3&248|e);6==e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.eb||65534<=a.g[6])&&(a.g[6]<=a.eb-32?(a.H|=4,a.g[6]=4,a.L(4,24)):(a.H|=8,a.N|=64));return d}l.Tc=function(a,b){return rd(this,a,b)};l.Uc=function(a,b){return qd(this,rd(this,a,b),b)}; function sd(a,b,c){b&56?(b=rd(a,b,0),c&65536||61440!==(a.O&61440)&&(b&=65535),a.A=a.O>>12&3,c=a.Ka(b|c&65536),a.A=a.O>>14&3):(c=b&7,c=6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]:a.Aa[a.O>>12&3]);return c}function td(a,b,c,d){a.B&57344||(a.cb=22);b&56?(b=rd(a,b,0),c&65536||(b&=65535),a.A=a.O>>12&3,b=qd(a,b|c&65536,4),a.A=a.O>>14&3,a.F.pb(b,d&65535)):(c=b&7,6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]=d:a.Aa[a.O>>12&3]=d)}function P(a,b){return b&56?a.Rb(rd(a,b,2)):a.g[b&7]} function ud(a,b){b&56?(b=a.ba(b,3),a=a.F.rb(b)):a=a.g[b&7]&255;return a}function R(a,b,c,d){b&56?(b=a.ba(b,6),c=d.call(a,c,a.cc(b)),a.F.pb(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function S(a,b,c,d){b&56?(b=a.ba(b,7),c=d.call(a,c,a.F.rb(b)),a.F.Vb(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function vd(a,b,c){b&56?(b=a.ba(b,4),a.F.pb(b,c&65535)):a.g[b&7]=c&65535;return c} function wd(a,b,c,d){b&56?(d=a.ba(b,5),a.F.Vb(d,c&255)):(b&=7,a.g[b]=c?d&1?c<<24>>24&65535:a.g[b]&-256|c&255:a.g[b]&-256);return c}function T(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535} l.Ab=function(a){this.u.complete=!0;var b=this.u.Nc=this.C&&xd(this.C),c=a?this.u.pc?0:1:-1;this.u.pc=!1;this.W=this.b=a;do{if(b){if(yd(this.C,this.g[7],c)){this.na();break}c=1}this.N&112&&(this.N&32?this.L(168,28):this.N&64?this.L(4,30):this.N&16&&this.L(12,32),this.N&=-113);if(a&&this.Sa)if(1==this.Sa)this.Sa=2;else{this.Sa=0;for(var d=null,f=this.nc&224,e=this.j.length;0<=--e;){if(0f&&(f=this.j[e].Zc,d=this.j[e],this.j.splice(e,1))}f>(this.O&224)&&(d?this.L(d.qd,26):this.L(160,26))}this.B&57344||(this.cb=0,this.dc=this.g[7]);this.N=this.O&16;this.decode(id(this))}while(0>1|b<<16;ld(this,a);return a&65535}function Ed(a,b){a=b&2048|b>>1|b<<8;ld(this,a<<8);return a&255}function Fd(a,b){a=b&~a;O(this,a);return a}function Gd(a,b){a=b&~a;O(this,a<<8);return a}function Hd(a,b){a|=b;O(this,a);return a}function Id(a,b){a|=b;O(this,a<<8);return a} function Jd(a,b){a=~b|65536;jd(this,a);return a&65535}function Kd(a,b){a=~b|256;jd(this,a<<8);return a&255}function Ld(a,b){a=b-a;this.N&128||(this.X=this.Z=a,this.V=b&(b^a));return a&65535}function Md(a,b){a=b-a;var c=a<<8;b<<=8;this.N&128||(this.X=this.Z=c,this.V=b&(b^c));return a&255}function Nd(a,b){a=b+a;this.N&128||(this.X=this.Z=a,this.V=a&(b^a));return a&65535}function Od(a,b){a=b+a;var c=a<<8;this.N&128||(this.X=this.Z=c,this.V=c&(b<<8^c));return a&255} function Pd(a,b){a=-b;jd(this,a,a&b&32768);return a&65535}function Qd(a,b){a=-b;jd(this,a<<8,(a&b&128)<<8);return a&255}function Rd(a,b){a=b<<1|this.U>>16&1;ld(this,a);return a&65535}function Sd(a,b){a=b<<1|this.U>>16&1;ld(this,a<<8);return a&255}function Td(a,b){a=(this.U&65536|b)>>1|b<<16;ld(this,a);return a&65535}function Ud(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;ld(this,a<<8);return a&255}function Vd(a,b){var c=b-a;md(this,c,a,b);return c&65535} function Wd(a,b){var c=b-a;md(this,c<<8,a<<8,b<<8);return c&255}function Xd(a,b){a^=b;O(this,a);return a&65535}function Yd(a){var b=P(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;b&32?(b=64-b,16>=b):b&&(16>15&65535)&&65535!==b&&(this.V=32768)));this.g[a]=c&65535;this.X=this.Z=c;--this.b} function Zd(a){var b=P(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.g[a|1]=d&65535;this.X=d>>16;this.Z=d>>16|d;--this.b}function U(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Z=1);a&8&&(this.X=0);--this.b} function $d(a){var b=P(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.Z=d>>16|d,this.X=d>>16):(this.V=32768,this.Z=d>>15|d,this.X=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1))}else this.Z=this.X=0,this.V=32768,this.U=65536;--this.b}function ae(a){var b=rd(this,a,8);a=a>>6&7;nd(this,this.g[a]);this.g[a]=this.g[7];this.g[7]=b;--this.b} function be(a){var b=P(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.X=b>>16;this.Z=this.X|b;this.V=0;this.U=-32768>b||32767>6;if(this.g[b]=this.g[b]-1&65535)this.g[7]=this.g[7]-((a&63)<<1)&65535;--this.b} function ye(a){R(this,a,P(this,(a&448)>>6),Xd);--this.b}function X(){this.L(8,6)}function ed(a){ze[a>>12].call(this,a)} var ze=[function(a){Ae[a>>8&15].call(this,a)},function(a){O(this,vd(this,a,P(this,a>>6)));--this.b},function(a){var b=P(this,a>>6);a=P(this,a);md(this,b-a,a,b);--this.b},function(a){O(this,P(this,a>>6)&P(this,a));--this.b},function(a){R(this,a,P(this,a>>6),Fd);--this.b},function(a){R(this,a,P(this,a>>6),Hd);--this.b},function(a){R(this,a,P(this,a>>6),zd);--this.b},function(a){Be[a>>8&15].call(this,a)},function(a){Ce[a>>8&15].call(this,a)},function(a){var b=ud(this,a>>6);O(this,wd(this,a,b,1)<<8); --this.b},function(a){var b=ud(this,a>>6)<<8;a=ud(this,a)<<8;md(this,b-a,a,b);--this.b},function(a){O(this,(ud(this,a>>6)&ud(this,a))<<8);--this.b},function(a){S(this,a,ud(this,a>>6),Gd);--this.b},function(a){S(this,a,ud(this,a>>6),Id);--this.b},function(a){R(this,a,P(this,a>>6),Vd);--this.b},X],Ae=[function(a){De[a>>4&15].call(this,a)},function(a){T(this,a);--this.b},function(a){hd(this)||T(this,a);--this.b},function(a){hd(this)&&T(this,a);--this.b},function(a){!this.Pa()==!gd(this)&&T(this,a);--this.b}, function(a){!this.Pa()!=!gd(this)&&T(this,a);--this.b},function(a){hd(this)||!this.Pa()!=!gd(this)||T(this,a);--this.b},function(a){(hd(this)||!this.Pa()!=!gd(this))&&T(this,a);--this.b},ae,ae,function(a){Ee[a>>6&3].call(this,a)},function(a){Fe[a>>6&3].call(this,a)},function(a){Ge[a>>6&3].call(this,a)},function(a){He[a>>6&3].call(this,a)},X,X],Ee=[function(a){jd(this,vd(this,a,0));--this.b},function(a){R(this,a,0,Jd);--this.b},function(a){R(this,a,1,Nd);--this.b},function(a){R(this,a,1,Ld);--this.b}], Fe=[function(a){R(this,a,0,Pd);--this.b},function(a){R(this,a,N(this)?1:0,zd);--this.b},function(a){R(this,a,N(this)?1:0,Vd);--this.b},function(a){a=P(this,a);jd(this,a);--this.b}],Ge=[function(a){R(this,a,0,Td);--this.b},function(a){R(this,a,0,Rd);--this.b},function(a){R(this,a,0,Dd);--this.b},function(a){R(this,a,0,Bd);--this.b}],He=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.Ka(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;this.g[5]=b;--this.b},function(a){a=sd(this,a,0);nd(this, a);O(this,a);--this.b},function(a){var b=pd(this);td(this,a,0,b);O(this,b);--this.b},function(a){O(this,vd(this,a,this.Pa?65535:0));--this.b}],De=[function(a){Ie[a&15].call(this,a)},X,X,X,X,X,X,X,function(a){var b=pd(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.O&49152||(this.O=this.O&-2017|(a&7)<<5,this.Sa=1);--this.b},function(a){Je[a&15].call(this,a)},function(a){Ke[a&15].call(this,a)},X,X,X,X],Je=[ce,function(){this.U=0;--this.b},function(){this.V=0;--this.b},U,function(){this.Z= 1;--this.b},U,U,U,function(){this.X=0;--this.b},U,U,U,U,U,U,U],Ke=[ce,function(){this.U=65536;--this.b},function(){this.V=32768;--this.b},W,function(){this.Z=0;--this.b},W,W,W,function(){this.X=32768;--this.b},W,W,W,W,W,W,W],Ie=[function(){this.O&49152?(this.H|=128,this.L(4,3)):(this.oa=3,cd(this));--this.b},function(){for(var a=0,b=this.j.length;0<=--b;)a+=this.j[b].Ha,this.j[b].Ha=0;a||0!==this.oa||(this.oa=2,cd(this));--this.b},function(){od(this);this.N|=this.O&16;--this.b},function(){this.L(12, 1);--this.b},function(){this.L(16,4);--this.b},function(){this.O&49152||(fd(this),this.F.reset());--this.b},function(){od(this);--this.b},X,X,X,X,X,X,X,X,X],Be=[be,be,$d,$d,Yd,Yd,Zd,Zd,ye,ye,X,X,X,X,xe,xe],Ce=[function(a){this.Pa()||T(this,a);--this.b},function(a){this.Pa()&&T(this,a);--this.b},function(a){N(this)||hd(this)||T(this,a);--this.b},function(a){(N(this)||hd(this))&&T(this,a);--this.b},function(a){gd(this)||T(this,a);--this.b},function(a){gd(this)&&T(this,a);--this.b},function(a){N(this)|| T(this,a);--this.b},function(a){N(this)&&T(this,a);--this.b},function(){this.L(24,2);--this.b},function(){this.L(28,5);--this.b},function(a){Le[a>>6&3].call(this,a)},function(a){Me[a>>6&3].call(this,a)},function(a){Ne[a>>6&3].call(this,a)},function(a){Oe[a>>6&3].call(this,a)},X,X],Le=[function(a){jd(this,wd(this,a,0));--this.b},function(a){S(this,a,0,Kd);--this.b},function(a){S(this,a,1,Od);--this.b},function(a){S(this,a,1,Md);--this.b}],Me=[function(a){S(this,a,0,Qd);--this.b},function(a){S(this, a,N(this)?1:0,Ad);--this.b},function(a){S(this,a,N(this)?1:0,Wd);--this.b},function(a){a=ud(this,a);jd(this,a<<8);--this.b}],Ne=[function(a){S(this,a,0,Ud);--this.b},function(a){S(this,a,0,Sd);--this.b},function(a){S(this,a,0,Ed);--this.b},function(a){S(this,a,0,Cd);--this.b}],Oe=[X,function(a){a=sd(this,a,65536);nd(this,a);O(this,a);--this.b},function(a){var b=pd(this);td(this,a,65536,b);O(this,b);--this.b},X]; function Pe(a){w.call(this,"ROM",a,Pe);this.i=null;this.D=a.addr;this.j=a.size;this.G=a.writable;this.A=a.alias;this.B=a.file;this.J=ca(this.B);if(this.B){a=this.B;var b=ha(this.J);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;sa(a,null,!0,function(a,b,e){Qe(c,a,b,e)})}}B(Pe);Pe.prototype.Za=function(a,b,c,d){this.F=b;this.b=c;this.C=d;Re(this)}; Pe.prototype.Ra=function(){if(this.Na){if(this.C){var a=this.C,b=this.id,c=this.D,d=this.j,f=this.Na,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],p=oa(n,k,a.wc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({xd:b,w:c,Vc:d,Na:f,tc:e})}delete this.Na}return!0};Pe.prototype.Qa=function(){return!0}; function Qe(a,b,c,d){if(d)a.qa("Unable to load system ROM (error "+d+": "+b+")");else{$a(a.uc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.i=e;else if(e=h.words)for(a.i=Array(2*e.length),g=f=0;f>8&255;else if(e=h.data)for(a.i=Array(4*e.length),g=f=0;f>8&255,a.i[g++]=e[f]>>16&255,a.i[g++]=e[f]>>24&255;else a.i=h;a.Na=h.symbols;if(!a.i.length){u("Empty ROM: "+ b);return}if(1==a.i.length){u(a.i[0]);return}}catch(k){a.qa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.i=Array(b.length),f=0;f>>d.Y].Cb(f&d.i,a.i[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.A?b.push(a.A):null!=a.A&&a.A.length&&(b=a.A);for(c=0;c>>f.Y;0>>=f.Y;0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};Ue.prototype.Ac=function(){return-1};Ue.prototype.Bc=function(){}; function We(a,b,c,d){if(c)if(b){0>a.B&&a.A.length&&(a.B=0);if(0>a.B||b!=a.A[a.B])a.A.splice(0,0,b),a.B=0;a.B--}else a.da?b="end":b=a.A[a.B+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(na(b.substring(c,e))),c=e+1}}return a} function Xe(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break; case "^":d=e^f;break;case "|":d=e|f;break;case "&&":d=e&&f?1:0;break;case "||":d=e||f?1:0;break;default:return!1}a.push(d|0)}return!0} function Ye(a,b,c){var d;if(b){b=Ze(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f>=1;g=n+g;d>>=8}d=t(c,0,!0)+" "+c+". "+r(c,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+d);return f}function bf(a,b){if(b)return af(a,b,a.ja[b]);var c=0;for(b in a.ja)af(a,b,a.ja[b]),c++;return 0>>d.F.Y;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.f("..."):(c=n.type,m=Hb[c],n&&d.f(t(n.id,8)+" %"+t(f<>>c.Y].Qb(d&c.i,d),b&&mf(a,b));return c};l.Ja=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(c=Ib(this.F,d),b&&mf(a,b));return c}; l.Vb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){var f=this.F;f.M[(d&f.j)>>>f.Y].Cb(d&f.i,b&255,d);c&&mf(a,c);L(this.b,!0)}};l.pb=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.Y;e!=f.i?f.M[g].rc(e,b&65535,d):(f.M[g++].Cb(e,b&255,d),f.M[g&f.A].Cb(0,b>>8&255,d+1));c&&mf(a,c);L(this.b,!0)}};function Z(a){return{w:a,Ia:!1}}function nf(a){return[a.w,a.Ia]}function of(a){return{w:a[0],Ia:a[1]}} function lf(a,b,c){var d;c=(c?a.T:a.Eb).w;if(void 0!==b){d=b=Ze(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cd&&(d+=b.length);0>d&&(d=0);for(var f=b.length;db||7a?"R"+a:6==a?"SP":"PC"}l.Bc=function(a){var b;0<=a&&(8>a?b=this.b.g[a]:16>a?b=this.b.Ta[a-8]:20>a?b=this.b.Aa[a-16]:20==a&&(b=Zb(this.b)));return b}; l.message=function(a,b){b&&(a+=" at "+Y(this,Z(this.b.g[7]).w));this.ka&1073741824?this.Ba.push(a):this.za&&a==this.za||(this.za=a,this.ka&-2147483648&&(this.na(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,cd(a),a.da=0,L(a)))}; function ef(a){var b;if(xd(a)){if(!a.R||!a.R.length){a.R=Array(1E3);for(b=0;b>>d.Y],!1)}a.W=["br"];if(a.D)for(b=1;b>>d.Y],!0);a.D=["bw"];a.Fb=0} l.jb=function(a,b,c){var d=!0;c||vf(this,a,b,!1,!0);if(a!=this.j){var f=this.ba(b);if(-1===f)this.f("invalid address: "+Y(this,b.w)),d=!1;else{var e=this.F;e.M[f>>>e.Y].jb(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Ia=!0:(wf(this,a,a.length-1,"set"),ef(this)));return d};function vf(a,b,c,d,f){var e=!1;c=a.ba(c);for(var g=1;g>>d.Y],b==a.D));h.Ia||ef(a);break}}return e} function xf(a,b){for(var c=1;c>23)&65535,v=Y(q,p);else if(8192==z)p=p.w-((e&63)<<1)&65535,v=Y(q,p);else if(12288==z)v=Y(q,e&7,1);else if(24576==z)v=Y(q,e&63,1);else if(z=e&y,y&4032&&(z>>=6,y>>=6),y&63)switch(y=z&7,z&56){case 0:v=qf(y);break;case 8:v="@"+qf(y);break;case 16:7>y?v="("+qf(y)+ ")+":(z=q.Ja(p,2),v="#"+Y(q,z,0,!0));break;case 24:7>y?v="@("+qf(y)+")+":(z=q.Ja(p,2),v="@#"+Y(q,z,0,!0));break;case 32:v="-("+qf(y)+")";break;case 40:v="@-("+qf(y)+")";break;case 48:z=q.Ja(p,2);v=Y(q,z,0,!0)+"("+qf(y)+")";7==y&&(v=[v,Y(q,z+p.w&65535)]);break;case 56:z=q.Ja(p,2),v="@"+Y(q,z)+"("+qf(y)+")",7==y&&(v=[v,Y(q,z+p.w&65535)])}q=v;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0b?(c=qf(b),c+="="+Y(a,d.g[b])):13>b?c="A"+(b-8)+"="+Y(a,d.Ta[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+Y(a,d.Aa[b-16]):20==b&&(c="PS="+Y(a,Zb(d)));c&&(c+=" ");return c}function Cf(a){var b,c="";for(b=0;6>b;b++)c+=Bf(a,b);c=c+"\n"+(Bf(a,6)+Bf(a,7)+Bf(a,20));return c+=Af(a,"T")+Af(a,"N")+Af(a,"Z")+Af(a,"V")+Af(a,"C")}l.wc=function(a,b){return a[0]>b[0]?1:a[0]>>0;for(b=0;b>>0,h=e.Vc;if(f>=g&&fb)){d.g[b]=e&65535;break}a.f("unknown register: "+f);return}L(d);a.f("updated registers:")}a.f(Cf(a));c&&(a.T=Z(d.g[7]),tf(a,Y(a,a.T.w)))}}function Hf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):Ye(a,b,!0)} function If(a,b,c){var d="t"!=b;c=$e(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return eb(a,!0)&&a.Ab(f,d,!1)},function(){L(a.b);eb(a,!1)})} function tf(a,b,c,d){if(b=lf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=lf(a,c,!0);if(!d||d.wh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(g=h[3],e=null);e=zf(a,b,g,e);a.f(e);a.T=b;f-=b.w-k;c++}}} function yf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(">> "+b):(a.da&&(a.f("ended assemble at "+Y(a,a.ca.w)),a.T=a.ca,a.da=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(sb(a)&&0m||"z"ea.length&&(a.f("note: only "+ea.length+" available"),V=ea.length);aa-=V;0>aa&&(null==ea[ea.length-1].w?(V=aa+V,aa=0):aa+=ea.length);var Fc=[];"call"==ie&&(gb=1E5,Fc=["CALL"]);for(void 0!==he&&a.f(V+" instructions earlier:");0=ea.length&& (aa=0);a.Ib=V;ke++;gb--}}ke||(a.f("no "+je+"history available"),a.Ib=void 0)}else{var Pb=lf(a,da);if(Pb){var Qb=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||ag),Qb=$e(a,va)>>>0,65536>4||1;cg--&&0Sb?String.fromCharCode(Sb): ".";Rb--}ib&&(ib+="\n");ib+=da+" "+Hc+(0==kb?" "+ne:"")}ib&&a.f(ib);a.Eb=Pb}}}}break;case "e":if("else"==e[0])break;var Na,Ic,Jc,Kc,Lc=e[0],Mc=e[1];"eb"==Lc?(Na=1,Ic=255,Jc=a.rb,Kc=a.Vb):"e"==Lc||"ew"==Lc?(Na=2,Ic=65535,Jc=a.Ja,Kc=a.pb):Mc=null;if(null==Mc)a.f("edit memory commands:"),a.f("\teb [a] [...] edit bytes at address a"),a.f("\tew [a] [...] edit words at address a");else{var Tb=lf(a,Mc);if(Tb)for(var Ub=2;UbQc;){for(var wa=null,gg=256;65536>nb.w>>>0;){pe.w=a.Ja(nb,2);if(null==nb.w||!gg--)break;for(var hg=a,Vb=pe,qe=null,ob=Vb.w,re=ob,Rc=1;6>=Rc&&ob;Rc++){if(2\nLicense: GPL version 3 or later ");this.f("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;bMf){if(Of(d,this.R)){this.D=new M(this,"1.30.0","failsafe");Of(this.D)&&(Tf(this,d),a=2,Uf(this.D));this.D.set("timestamp",qa());Vf(this.D);var f=this.i&&!this.G;if(1==a||ta("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Sf(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Of(d,g):("error"== e&&"no machine state"!=g?(this.qa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.j=null)):this.f(e+": "+g),Uf(d),Of(d)?(c=Sf(d),f=!0):c=!1))}f&&Rf(this,c?d:null)}else 2==a&&d.clear()}else Rf(this);delete this.R;delete this.T}f=ab(this.id);for(e=0;ea[1];a=a[2];this.ja=!0;this.u.ia=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.b&&(Wf(this,this.b,b,c,a),this.b.Hb());this.ca&&(Tf(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; function Tf(a,b){if(ta("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;sa("http://www.pcjs.org/api/v1/report",d,!0)}} function Jf(a,b,c){var d,f="none";if(a.A)return null;a.A--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=qa();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Qa&&(c&&a.b.na(),d=a.b.Qa(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.u.ia=!1,!1===d&&(f=null)));for(var h=ab(a.id),k=0;ke.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDP11js$2"), a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){e=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");sa(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);ng(a,b,c)}})}else c(a,null)} function og(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=la(a))}function e(a){f("Error: "+a);k&&(--$f||Ra(!0));k=!1}var g,h,k=!0;$f++;Za[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=m:p.appendChild(document.createTextNode(m));n.appendChild(p)}c|| (c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?lg(c,null,null,!1,f,function(d,k){k?($a(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--$f||Ra(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--$f||Ra(!0)):e("invalid machine element: "+ a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?lg(b,a,d,!0,f,m):mg(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(q){e(q.message)}return k}window.embedPDP11=function(a,b,c,d){Ra(!1);return og(a,b,c,d)};window.enableEvents=Ra;window.sendEvent=Sa;})();