(function(){var m; function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0=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":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}var ha=Date.now||function(){return+new Date}; function ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} function p(a,b,c,d){var f=0,e=null,h=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(e=g.responseText,200==g.status||!g.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=g.status||-1),d&&d(a,e,f))});if(b&&"object"== typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(k)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(e=g.responseText,200!=g.status&&(f=g.status||-1),d&&d(a,e,f),h=[e,f]);return h}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")} function q(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},pa=!1,qa=!1,ra=!0;function sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){t.init.push(a)} function ta(a){if(ra)try{for(var b=0;bb?this.ub=this.id:(this.Fb=this.id.substr(0,b),this.ub=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Za:!1,yb:!1,L:!1,error:!1};this.mb=null;this.h.error=!1;this.w={};this.I=null;x.push(this)}var wa=void 0,xa={}; if(window){wa||(wa=window.location.search.substr(1));for(var ya,za=/\+/g,Aa=/([^&=]+)=?([^&]*)/g;ya=Aa.exec(wa);)xa[decodeURIComponent(ya[1].replace(za," "))]=decodeURIComponent(ya[2].replace(za," "))}function Ba(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} function y(a,b){b||(b=v);a.prototype=Ba(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ca=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Ca={},x=[];function Da(a,b,c){Ca[a]&&b&&(Ca[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.f&&(this.f=10);15>2;this.i=this.g-1;this.j=this.s/this.g|0;this.N=this.j-1;this.oa=[];this.A=null;this.$a=this.R;a=new F;Ka(a,this.I);this.b=Array(this.j);for(b=0;b>8:c[2](b)&255}else if(b&1&&(c=this.controller.oa[a&-2],c[2]))return c[2](b&-2)>>8;return this.controller.$a(b,-1,1)} function Ma(a,b,c){var d=this.controller.oa[a];if(d){if(d[1]){d[1](b,c);return}if(d[3]){a=d[2]?d[2](c):0;if(c&1)d[3](a&255|b<<8,c&-2);else d[3](a&-256|b,c);return}}else if(c&1&&(d=this.controller.oa[a&-2],d[3])){c&=-2;a=d[2]?d[2](c):0;d[3](a&255|b<<8,c);return}this.controller.$a(c,b,1)}function Na(a,b){var c=this.controller.oa[a];if(c){if(c[2])return c[2](b);if(c[0])return c[0](b)|c[0](b+1)<<8}return this.controller.$a(b,-1,0)} function Oa(a,b,c){if(a=this.controller.oa[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}this.controller.$a(c,b,0)}E.prototype.reset=function(){this.A&&this.A()};E.prototype.R=function(){return 0};E.prototype.ua=function(a,b){b||this.reset();return!0}; function Pa(a,b,c,d,f){for(var e=b,h=c,g=e>>>a.f;0h&&(r=h);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+h<=k.Qa)return k.sb+=k.Qa-e,k.Qa=e,!0;if(e>=k.Qa+k.sb){r=k.size-(e-l);r>h&&(r=h);k.sb=e-k.Qa+r;e=l+a.g;h-=r;g++;continue}}return Ra(1,e,h)}e=new F(e,r,a.g,d,f);Ka(e,a.I,k);a.b[g++]=e;e=l+a.g;h-=r}return 0>=h?(a.status(Math.floor(c/1024)+"Kb "+Sa[d]+" at "+n(b,8,!0)),!0):Ra(2,b,c)} function Ra(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1} function G(a){v.call(this,"Device",a,G);this.A=a.name;this.s={Cb:[],ga:0,U:128,b:127,$b:0};this.b={data:0,xc:0,Ra:20,tc:0};this.f={Bb:0,l:0};this.g={gb:2496,P:0,v:128,hb:0,fb:0,V:0,Qb:0,S:[],Ea:[406,406,406,406],D:[12,12,12,12]};this.i={l:129,Ya:0,H:0,sa:0,pa:0,wa:0,S:[],D:[40,40,40,40],Ea:[1024,1024,512,512],Yb:[157,157,29,29]};this.j={c:[8210,8208,8210,8226],D:[22,22,22,50],Da:[19,19,19,32],tb:[815,411,815,630],S:[],B:2176,Ua:0,Sa:0,aa:[0,0,0,0,0,0,0,0],$:0,T:[4544,4544,4544,4544,4544,4544,4544, 4544],Ta:[0,0,0,0,0,0,0,0],Ja:0,rc:[0,0,0,0,0,0,0,0],Rb:0,Sb:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],sc:[1,2,3,4,5,6,7,8],Tb:[0,0,0,0,0,0,0,0],ka:[0,0,0,0,0,0,0,0],rb:[0,0,0,0,0,0,0,0],pc:[0,0,0,0,0,0,0,0],qc:[0,0,0,0,0,0,0,0],nc:[0,0,0,0,0,0,0,0],oc:[0,0,0,0,0,0,0,0],va:0,Db:0}}y(G); var Ta=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551, 2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769, 0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];m=G.prototype; m.Ga=function(a,b,c,d){this.u=b;this.c=c;this.I=d;switch(this.A){default:a=Ua;for(var f in a){var e=a[f];c=b;d=+f;for(var h=e[0]?e[0].bind(this):null,g=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,l=+f;l<=d;l+=2){var r=l&8191;void 0!==c.oa[r]?q("I/O address already registered: "+n(c.J+r,8,!0)):c.oa[r]=[h,g,k,e,!1]}}f=this.Xb.bind(this);b.A=this.reset.bind(this);b.$a=f}D(this)};m.ic=function(){return Va(this.c)}; m.vc=function(a){Wa(this.c,a&-1809|Va(this.c)&1808);this.c.C|=128}; function Xa(a){var b=a.g,c,d,f,e=b.V>>13&7;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.kc,drive:e,blocksize:256,mapped:0,maxblock:b.Ea[e]*b.D[e],url:"rk"+e+".dsk"});b.v&=-129;switch(b.v>>1&7){case 0:b.gb=2496;b.P=0;b.v=128;b.V=0;break;case 1:if((b.V>>4&511)>=b.Ea[e]){b.P|=32832;b.v|=49152;break}if((b.V&15)>=b.D[e]){b.P|=32800;b.v|=49152;break}c=(b.V>>4&511)*b.D[e]+(b.V&15);d=(b.v&48)<<12|b.fb;f=65536-b.hb&65535;Ya(a,b.S[e],c,d,f);return;case 2:if((b.V>>4&511)>=b.Ea[e]){b.P|=32832; b.v|=49152;break}if((b.V&15)>=b.D[e]){b.P|=32800;b.v|=49152;break}c=(b.V>>4&511)*b.D[e]+(b.V&15);d=(b.v&48)<<12|b.fb;f=65536-b.hb&65535;a.qb(b.S[e],c,d,f);return}b.gb=e<<13|b.gb&8176|b.V%9&15;H(a.c,20,160,144,function(){b.v=b.v&65534|128;return!!(b.v&64)})}m.kc=function(a,b,c,d,f){var e=this.g;e.fb=d&65535;e.v=e.v&-49|d>>12&48;e.hb=65536-f&65535;switch(a){case 1:e.P|=33024;e.v|=49152;break;case 2:e.P|=33792,e.v|=49152}H(this.c,20,160,144,function(){e.v=e.v&65534|128;return!!(e.v&64)})}; function Za(a){var b=a.i,c,d,f,e=b.l>>8&3;b.l&=-2;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.lc,drive:e,blocksize:128,mapped:1,maxblock:b.Ea[e]*b.D[e],url:"rl"+e+".dsk"});switch(b.l>>1&7){case 2:b.sa&8&&(b.l&=63);b.sa=b.Yb[e]|b.wa&64;break;case 3:1==(b.H&3)&&(b.wa=b.H&4?b.wa+(b.H&65408)&65408|b.H<<2&64:b.wa-(b.H&65408)&65408|b.H<<2&64,b.H=b.wa);break;case 4:b.sa=b.wa;break;case 5:if(b.H>>6>=b.Ea[e]){b.l|=37888;break}if((b.H&63)>=b.D[e]){b.l|=37888;break}c=(b.H>>6)*b.D[e]+(b.H&63); d=(b.pa&63)<<16|b.Ya;f=65536-b.sa&65535;Ya(a,b.S[e],c,d,f);return;case 6:if(b.H>>6>=b.Ea[e]){b.l|=37888;break}if((b.H&63)>=b.D[e]){b.l|=37888;break}c=(b.H>>6)*b.D[e]+(b.H&63);d=(b.pa&63)<<16|b.Ya;f=65536-b.sa&65535;a.qb(b.S[e],c,d,f);return}H(a.c,20,160,112,function(){b.l|=129;return!!(b.l&64)})} m.lc=function(a,b,c,d,f){var e=this.i;e.Ya=d&65535;e.l=e.l&-49|d>>12&48;e.pa=d>>16&63;e.H=~~(c/e.D[b.ia])<<6|c%e.D[b.ia];e.wa=e.H;e.sa=65536-f&65535;switch(a){case 1:e.l|=33792;break;case 2:e.l|=40960}H(this.c,20,160,112,function(){e.l|=129;return!!(e.l&64)})};function $a(a){a=a.j;a.B=2176;a.$=0;a.T=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ta=[0,0,0,0,0,0,0,0];a.Ja=a.Ua=a.Sa=a.va=a.Db=0} function ab(a,b){var c=a.j,d,f,e;c.B&=-16513;c.$&=-2049;c.T[b]&=-1153;H(a.c,-1,0,172);"undefined"===typeof c.S[b]&&(c.S[b]={cache:[],postProcess:a.mc,drive:b,blocksize:256,mapped:0,maxblock:c.tb[0]*c.Da[0]*c.D[0],url:"rp"+b+".dsk"});switch(c.B&63){case 5:c.rb[b]=c.ka[b];c.B|=32896;c.T[b]|=32896;c.Ja|=1<=c.tb[0]||c.aa[b]>>8>=c.Da[0]||(c.aa[b]&255)>=c.D[0]){c.Ta[b]|=1024;c.B|=49152;break}d=(c.ka[b]*c.Da[0]+(c.aa[b]>>8))*c.D[0]+ (c.aa[b]&255);f=(c.va&63)<<16|c.Sa;e=65536-c.Ua&65535;Ya(a,c.S[b],d,f,e);return;case 57:if(c.ka[b]>=c.tb[0]||c.aa[b]>>8>=c.Da[0]||(c.aa[b]&255)>=c.D[0]){c.Ta[b]|=1024;c.B|=49152;break}d=(c.ka[b]*c.Da[0]+(c.aa[b]>>8))*c.D[0]+(c.aa[b]&255);f=(c.va&63)<<16|c.Sa;e=65536-c.Ua&65535;a.qb(c.S[b],d,f,e);return}H(a.c,3,160,172,function(){c.B=c.B&65534|128;c.T[b]|=128;return!!(c.B&64)})} m.mc=function(a,b,c,d,f){var e=this.j;e.Ua=65536-f&65535;e.Sa=d&65535;e.B=e.B&-769|d>>8&768;e.va=d>>16&63;f=~~(c/e.D[0]);d=~~(f/e.Da[0]);e.aa[b.ia]=f%e.Da[0]<<8|c%e.D[0];e.rb[b.ia]=e.ka[b.ia]=d;e.Ja|=1<=b.gc-1&&(e.T[b.ia]|=1024);switch(a){case 1:e.$|=512;e.B|=49152;break;case 2:e.$|=2048,e.B|=49152}H(this.c,20,160,172,function(){e.T[b.ia]|=128;e.B=e.B&65534|128;return!!(e.B&64)})};m.ec=function(){this.f.l|=128;this.f.l&64&&H(this.c,0,192,64)}; function bb(a,b,c,d,f,e){var h=~~((e+c.qa-1)/c.qa),g=new XMLHttpRequest;2048>h&&d+2048L(this.c,a.fc?cb(this.c,c):c,a.cache[b][f])){a.pb(2,a,b,c,d);return}c+=2;--d}b++}a.pb(0,a,b,c,d)}; function Ya(a,b,c,d,f){for(var e,h;0h){b.pb(2,b,c,d,f);return}b.cache[c][e]=h;d+=2;--f}c++}b.pb(0,b,c,d,f)}m.reset=function(){this.b.Ra=this.b.Ra&-120|20;this.s.ga=0;this.s.U=128;this.f.l=0;this.g.v=128;this.i.l=128;$a(this)}; m.Xb=function(a,b,c){var d,f,e=this.c;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.la&65280:(a&1&&(b<<=8),e.la=b|255,d=0);break;case 4194298:if(0>b)d=e.ob;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.ob=d;e.ja=2}break;case 4194294:if(70!==e.Fa)return J(e,4,222);0>b?d=e.m:d=e.m=0;break;case 4194292:if(70!==e.Fa)return J(e,4,224);d=1;break;case 4194290:if(70!==e.Fa)return J(e,4,226);d=0;break;case 4194288:if(70!==e.Fa)return J(e,4,228);d=61183;break;case 4194296:0<= b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Fa)return J(e,4,232);f=a-4194272>>1;0>b?d=e.Ab[f]:(d=I(this,e.Ab[f],a,b,c),0<=d&&(e.Ab[f]=d));break;case 4194254:return a&1?e.o>>14&1?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Y[3]=b),d=e.Y[3]):e.o>>14&0?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Y[1]=b),d=e.Y[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.o&2048?(0<=b&&(e.a[f]=b),d=e.a[f]):(0<=b&&(e.Ia[f]=b),d= e.Ia[f]),d;case 4194246:return a&1?(0<=b&&(e.a[7]=b),d=e.a[7]):e.o>>14&0?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Y[0]=b),d=e.Y[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.o&2048?(0<=b&&(e.Ia[f]=b),d=e.Ia[f]):(0<=b&&(e.a[f]=b),d=e.a[f]),d;default:return e.m|=16,J(e,4,124)}break;case 4194176:f=a>>1&31;d=I(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var h=this.s;f=this.f;switch(a&-2){case 4194174:d=I(this,e.Va,a,b,c);0<=d&&(e.Va=d);break;case 4194172:d= e.ea;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194170:e.G=e.G&62337|e.bb<<5|e.nb<<1;0>b?d=e.G:(d=I(this,e.G,a,b,c),0<=d&&(e.G=d&=62337,e.bb=d>>5&3,e.nb=d>>1&15,d&257?(f=2,e.na&16&&(f=1),e.ab=d&1?6:4):(e.ab=0,f=4),this.b.Ra=this.b.Ra&-8|f));break;case 4194168:0>b?d=this.b.tc&65535:(d=I(this,this.b.data,a,b,c),0<=d&&(this.b.data=d));break;case 4194166:0<=b&&(b&127&&(h.$b=0),h.U&=-129,H(e,100,128,52,function(){h.U|=128;return!!(h.U&64)}));d=0;break;case 4194164:0>b?d=h.U:(d=I(this,h.U,a,b,c),0<=d&& (128==(h.U&192)&&d&64&&H(e,8,128,52,function(){h.U|=128;return!!(h.U&64)}),h.U=h.U&128|d&-129));break;case 4194162:d=0;0>b&&(h.ga&=-129,0b?d=h.ga:(d=I(this,h.ga,a,b,c),0<=d&&(h.ga=h.ga&128|d&-129));break;case 4194150:0>b?(d=f.l,f.l&=-129):(d=I(this,f.l,a,b,c),0<=d&&(d&64&&!f.Bb&&(setInterval(this.ec.bind(this),25),f.Bb=1),f.l=d&-129));break;default:return e.m|=16,J(e,4, 126)}break;case 4194048:f=this.g;switch(a&-2){case 4194048:d=I(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194050:d=I(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=I(this,f.v,a,b,c);0<=b&&0<=d&&(f.v=d&-36993|f.v&36992,f.v&1&&Xa(this));break;case 4194054:d=I(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194056:d=I(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194058:d=I(this,f.V,a,b,c);0<=d&&(f.V=d);break;case 4194060:break;case 4194062:d=I(this,f.Qb,a,b,c);0<=d&&(f.Qb=d);break;default:return e.m|= 16,J(e,4,128)}break;case 4193728:var g=this.j;f=g.$&7;switch(a&-2){case 4193728:d=I(this,g.B,a,b,c);0<=b&&0<=d&&(g.va=g.va&60|d>>8&3,g.B=d&17279|g.B&34944|2048,d&1&&g.B&128?ab(this,f):192==(d&192)&&H(e,0,160,172));break;case 4193730:d=I(this,g.Ua,a,b,c);0<=d&&(g.Ua=d);break;case 4193732:d=I(this,g.Sa,a,b,c);0<=d&&(g.Sa=d&65534);break;case 4193734:d=I(this,g.aa[f],a,b,c);0<=d&&(g.aa[f]=d&7967);break;case 4193736:d=I(this,g.$,a,b,c);0<=d&&(g.$=d&63|g.$&65472,d&128&&$a(this));break;case 4193738:d=g.T[f]; break;case 4193740:d=g.Ta[f];break;case 4193742:d=I(this,g.Ja,a,b,c);0<=d&&(g.Ja=d&255);break;case 4193744:d=g.rc[f];break;case 4193746:d=I(this,g.Rb,a,b,c);0<=d&&(g.Rb=d);break;case 4193748:d=I(this,g.Sb[f],a,b,c);0<=d&&(g.Sb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=g.sc[f];break;case 4193754:d=I(this,g.Tb[f],a,b,c);0<=d&&(g.Tb[f]=d);break;case 4193756:d=I(this,g.ka[f],a,b,c);0<=d&&(g.ka[f]=d&511);break;case 4193758:g.rb[f]=g.ka[f];d=g.rb[f];break;case 4193760:d=g.pc[f];break;case 4193762:d= g.qc[f];break;case 4193764:d=g.nc[f];break;case 4193766:d=g.oc[f];break;case 4193768:d=I(this,g.va,a,b,c);0<=d&&(g.va=d&63,g.B=g.B&-769|(d&3)<<8);break;case 4193770:d=I(this,g.Db,a,b,c);0<=d&&(g.Db=d);break;default:return e.m|=16,J(e,4,132)}break;case 4192512:f=this.i;switch(a&-2){case 4192512:d=I(this,f.l,a,b,c);0<=b&&0<=d&&(f.pa=f.pa&60|d>>4&3,f.l=f.l&-1023|d&1022,f.l&128||Za(this));break;case 4192514:d=I(this,f.Ya,a,b,c);0<=d&&(f.Ya=d&65534);break;case 4192516:d=I(this,f.H,a,b,c);0<=d&&(f.H=d); break;case 4192518:d=I(this,f.sa,a,b,c);0<=d&&(f.sa=d);break;case 4192520:d=I(this,f.pa,a,b,c);0<=d&&(f.pa=d&63,f.l=f.l&-49|(f.pa&3)<<4);break;default:return e.m|=16,J(e,4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.na:(d=I(this,e.na,a,b,c),0<=d&&(70!==e.Fa&&(d&=-49),e.na=d,e.Ha[0]=d&4?15:7,e.Ha[1]=d&2?15:7,e.Ha[3]=d&1?15:7,e.ab&&(f=2,e.na&16&&(f=1),this.b.Ra=this.b.Ra&-8|f)));break;default:return e.m|=16,J(e,4,136)}break;case 4191424:f=a>>1&31;d=I(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]= d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=I(this,e.O[1][f],a,b,c);0<=d&&(e.O[1][f]=d,e.O[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Fa)return J(e,4,234);f=a>>2&31;d=e.ib[f];a&2&&(d=d>>16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.ib[f]=a&2?d<<16|e.ib[f]&65535:e.ib[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Ta[a>>1&255];else return e.m|=16,J(e,4,138);break;default:return e.m|= 16,J(e,4,142)}c&&0<=d&&(a&1?d=d>>8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var Ua={};Ua[4194302]=[null,null,G.prototype.ic,G.prototype.vc];u(function(){for(var a=C(document,"pdp11","device"),b=0;b>1),this.c=new Int32Array(this.f,0,c>>2),jb(this,fb?kb:lb);else{this.c=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},Z:function(a){return this.c[a>>2]>>>((a&3)<<3)&255},ya:function(a){var b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8},Ca:function(a,b){var c=a>>2,d=(a&3)<<3;this.c[c]=this.c[c]&~(255<>2,d=(a&3)<<3;24>d?this.c[c]=this.c[c]&~(65535<>8);this.ra=!0},N:function(a,b){return this.R(a, b)},da:function(a,b){return this.ma(a,b)},Aa:function(a,b,c){this.i||this.Wb(a,b,c)},Ma:function(a,b,c){this.i||this.Na(a,b,c)},M:function(a){return this.b[a]},W:function(a){return this.b[a]},ca:function(a){return this.g.getUint16(a,!0)},xa:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.j[a>>1]},za:function(a,b){this.b[a]=b;this.ra=!0},Ba:function(a,b){this.b[a]=b;this.ra=!0},La:function(a,b){this.g.setUint16(a,b,!0);this.ra=!0},Oa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.j[a>> 1]=b;this.ra=!0}};function Ka(a,b,c){a.I=b;a.w=a.u=0;c&&((a.w=c.w)&&nb(a,ob,!1),(a.u=c.u)&&pb(a,ob,!1))}function pb(a,b,c){c&&a.u||(a.jb=!a.i&&b[1]||a.F,a.wc=!a.i&&b[3]||a.J);if(c||void 0===c)a.Wb=b[1]||a.F,a.Na=b[3]||a.J}function nb(a,b,c){c&&a.w||(a.eb=b[0]||a.s,a.jc=b[2]||a.A);if(c||void 0===c)a.R=b[0]||a.s,a.ma=b[2]||a.A}function jb(a,b){b||(b=qb);nb(a,b,void 0);pb(a,b,void 0)} var qb=[],mb=[F.prototype.Z,F.prototype.Ca,F.prototype.ya,F.prototype.Pa],ob=[F.prototype.N,F.prototype.Aa,F.prototype.da,F.prototype.Ma];if(Ha)var lb=[F.prototype.M,F.prototype.za,F.prototype.ca,F.prototype.La],kb=[F.prototype.W,F.prototype.Ba,F.prototype.xa,F.prototype.Oa]; function rb(a,b){v.call(this,"CPU",a,rb);var c=a.multiplier||1;this.wb=a.cycles||b;this.da=c;this.vb=Math.round(this.wb/1E4)/100;this.Z=this.vb*this.da;this.h.ha=!1;this.h.Ub=!1;this.h.Xa=a.autoStart;this.h.Nb=!1;this.h.lb=!1;this.Na=this.ca=0;this.Oa=a.csStart;this.ya=a.csInterval;this.za=a.csStop;this.La=[];this.Mb=this.Eb.bind(this);D(this)}y(rb);var sb=["power","reset"];m=rb.prototype; m.Ga=function(a,b,c,d){this.s=a;this.u=b;this.I=d;for(b=0;b>=3;d=""+f}else d=n(c,d);else d="--------".substr(0,d||4);a.w[b].textContent!=d&&(a.w[b].textContent=d)}} m.ba=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.w[b]=c;a=!0;break;case "run":this.w[b]=c;c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.h.L)a=!0;else{var b=null,c,g=z(a.id);for(c=0;ca.M/a.Z&&(b=1);a.da=b;var c=a.vb*a.da;if(a.Z!=c){a.Z=c;var c=a.Z.toFixed(2)+"Mhz",d=a.w.setSpeed;d&&(d.textContent=c);a.X("target speed: "+c)}}zb(a,a.J);a.J=0;a.F=ha();a.N=0;Ab(a)}function Cb(a){a.R-=a.A;a.A=0} m.Eb=function(){if(Fa(this,!0)){if(!this.h.ha){yb(this);this.s&&this.s.start(this.F,Bb(this));this.h.ha=!0;this.h.Ub=!0;this.xa&&this.xa.start();var a=this.w.run;a&&(a.textContent="Halt");this.s&&this.s.Ka(!0)}this.xb>=this.wb&&Ab(this,!0);this.Ba=0;this.Ma=ha();this.N&&(a=this.Ma-this.N,a>this.Jb&&(this.F+=a,this.F>this.Ma&&(this.F=this.Ma)));try{do{for(var b,c=this.h.lb?1:this.Pa,d=this.La.length-1;0<=d;d--){var f=this.La[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Vb(b)}catch(l){if("number"!=typeof l)throw l; }for(var e=this.R-this.A,a=e,h=this.La.length-1;0<=h;h--){var g=this.La[h];0>g[0]||(g[0]-=a,0>=g[0]&&(g[0]=-1,g[1]()))}this.Ba+=e;this.J+=e;zb(this,0,!0);a=e;if(this.h.lb){var k=!1;this.Na=this.Na+this.Pb()|0;this.ca-=a;0>=this.ca&&(this.ca+=this.ya,k=!0);0<=this.za&&this.za<=Bb(this)&&(this.ya=this.za=-1,vb(this),xb(this),k=!0);k&&this.X(Bb(this)+" cycles: checksum="+n(this.Na))}this.Aa-=e;if(0>=this.Aa){this.Aa+=this.Pa;15<=++this.Kb&&(this.s&&this.s.Ka(),this.Kb=0);break}}while(this.h.ha)}catch(l){xb(this); wb(this);this.s&&this.s.stop(ha(),Bb(this));Fa(this,!1);b=l.stack||l.message;this.h.error=!0;this.K(b);return}b=setTimeout;c=this.Mb;this.N=ha();d=this.Jb;this.Ba&&(d=Math.round(d*this.Ba/this.Pa));d=d-(this.N-this.Ma);if(f=this.N-this.F)this.M=Math.round(this.J/(10*f))/100,864E5<=f&&(this.W=0,yb(this));if(0>d||this.Md&&(this.F-=d),d=0;this.xb+=this.Ba;this.N+=d;b(c,d)}else wb(this),this.s&&this.s.stop(ha(),Bb(this))};m.Vb=function(){return 0}; function xb(a){a.h.Za&&(a.h.yb=!0);Cb(a);zb(a,a.J);a.J=0;if(a.h.ha){a.h.ha=!1;a.xa&&a.xa.stop();var b=a.w.run;b&&(b.textContent="Run")}a.h.complete=void 0}function wb(a){a.s&&a.s.Ka(void 0)} function Db(a){this.ac=+a.model||1170;this.dc=a.resetAddr||0;rb.call(this,a,1E6);this.Gb=0;this.decode=Eb.bind(this);this.g=65536;this.b=32768;this.f=65535;this.c=32768;this.kb=-1;this.a=[0,0,0,0,0,0,0,this.dc];this.Ia=[0,0,0,0,0,0];this.Y=[0,0,0,0];this.memory=[];this.i=[];this.Ca=this.ob=0;this.ja=2;this.la=255;this.C=0;this.ma=-1;this.m=0;this.Fa=70;this.nb=this.bb=this.ab=this.j=this.na=this.Va=this.ea=this.G=0;this.Ha=[7,7,7,7];this.O=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.ib=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Ab=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h.complete=this.h.Zb=!1}y(Db,rb);m=Db.prototype; m.reset=function(){this.h.ha&&xb(this);Fb(this);ub(this);this.h.error=!1;this.parent.reset.call(this)};function Fb(a){a.la=255;a.m=0;a.i=[];a.ob=0;a.G=a.ea=a.Va=a.na=a.ab=0;a.Ha[0]=a.Ha[1]=a.Ha[3]=7;a.bb=0}m.Pb=function(){return 0}; m.save=function(){var a=new O(this);P(a,0,[]);P(a,1,[this.Ib,this.W,this.da]);for(var b=this.u,c=0,d=[],f=0;fb){a.i[e].fa-=b;break}b-=a.i[e].fa}a.i.splice(e+1,0,{delay:b,priority:c&224,vector:d,callback:f})}a.ja=2}function Va(a){return a.o=a.o&63728|(a.c&32768?8:0)|(a.f&65535?0:4)|(a.b&32768?2:0)|(a.g&65536?1:0)} function Wa(a,b){a.c=b<<12;a.f=~b&4;a.b=b<<14;a.g=b<<16;if((b^a.o)&2048)for(var c=a.Ia.length;0<=--c;){var d=a.a[c];a.a[c]=a.Ia[c];a.Ia[c]=d}a.j=b>>14&3;c=a.o>>14&3;a.j!=c&&(a.Y[c]=a.a[6],a.a[6]=a.Y[a.j]);a.ja=2;a.o=b}function Gb(a,b){!a.C&128&&(a.c=a.f=b,a.b=0)} function J(a,b,c){var d,f,e=0;0>a.ma?a.ma=Va(a):a.j||(b=4,e=1);a.G&57344||(a.ea=63222,a.Va=b);a.j=0;0<=(d=Q(a,b|65536))&&0<=(f=Q(a,b+2&65535|65536))&&(Wa(a,f&53247|a.ma>>2&12288),e&&(a.m|=4,a.a[6]=4),0<=R(a,a.ma)&&0<=R(a,a.a[7])&&(a.a[7]=d));a.C&=-113;a.ma=-1;throw b|c<<8;}function cb(a,b){var c=b>>13&31;31>c?a.na&32&&(b=a.ib[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} function Hb(a,b,c){var d,f,e,h=0;if(c&a.ab){d=b>>13&a.Ha[a.j];f=a.O[a.j][d];e=(a.O[a.j][d+16]<<6)+(b&8191)&4194303;a.na&16?3932160<=e&&4186112>e&&(e=cb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.m|=32,J(a,4,24)),e&1&&!(c&1)&&(a.m|=64,J(a,4,26)));switch(f&7){case 1:h=4096;case 2:f|=128;c&4&&(h=8192);break;case 4:h=4096;case 5:c&4&&(h=4096);case 6:f|=c&4?192:128;break;default:h=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(h|=16384):(b&8128)>(f>>2&8128)&& (h|=16384));a.O[a.j][d]=f;if(4194170!==e||a.j)a.bb=a.j,a.nb=d;h&&(h&57344&&(0<=a.ma&&(h|=128),a.G&57344||(a.G=a.G|h|a.bb<<5|a.nb<<1),J(a,168,28)),a.G&61440||!(4191360>e||4194239>>c.f;c=d!=c.i?c.b[f].jc(d,b):c.b[f++].eb(d,b)|c.b[f&c.N].eb(0,b+1)<<8}else c=b;return c} function L(a,b,c){c&=65535;if(4194304<=b)return a.a[b-4194304]=c;if(0<=b){a=a.u;var d=c,f=b&a.i,e=(b&a.u)>>>a.f;f!=a.i?a.b[e].wc(f,d&65535,b):(a.b[e++].jb(f,d&255,b),a.b[e&a.N].jb(0,d>>8&255,b+1));return c}return b}function S(a,b){var c;4194304<=b?c=a.a[b-4194304]&255:0<=b?(c=a.u,c=c.b[(b&c.u)>>>c.f].eb(b&c.i,b)):c=b;return c}function T(a,b,c){c&=255;return 4194304<=b?a.a[b-4194304]=a.a[b-4194304]&65280|c:0<=b?(a=a.u,a.b[(b&a.u)>>>a.f].jb(b&a.i,c&255,b),c):b} function Q(a,b){return M(a,Hb(a,b,2))}function Ib(a){var b=Q(a,a.a[6]|65536);0<=b&&(a.a[6]=a.a[6]+2&65535);return b}function R(a,b){var c,d;a.a[6]=d=a.a[6]-2&65535;a.G&57344||(a.ea=a.ea<<8|246);!a.j&&d<=a.la&&4>3&7){case 0:J(a,4,34);break;case 1:return 6===e&&!a.j&&c&4&&(a.a[6]<=a.la||65534<=a.a[6])&&(a.a[6]<=a.la-32||65534<=a.a[6]?(a.m|=4,a.a[6]=4,J(a,4,36)):(a.m|=8,a.C|=64)),7===e?a.a[e]:a.a[e]|65536;case 2:f=2;d=a.a[e];7!==e&&(d|=65536,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.a[e];7!==e&&(d|=65536);if(0>(d=Q(a,d)))return d;d|=65536;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.a[e]+f&65535;7!==e&&(d|=65536);break;case 5:f=-2;d=a.a[e]-2&65535;7!==e&&(d|=65536);if(0>(d=Q(a, d)))return d;d|=65536;break;case 6:if(0>(d=Q(a,a.a[7])))return d;a.a[7]=a.a[7]+2&65535;d=d+a.a[e]&65535;return d|65536;case 7:if(0>(d=Q(a,a.a[7])))return d;a.a[7]=a.a[7]+2&65535;d=d+a.a[e]&65535;return 0>(d=Q(a,d|65536))?d:d|65536}a.a[e]=a.a[e]+f&65535;a.G&57344||(a.ea=a.ea<<8|f<<3&248|e);6===e&&!a.j&&c&4&&0>=f&&(a.a[6]<=a.la||65534<=a.a[6])&&(a.a[6]<=a.la-32?(a.m|=4,a.a[6]=4,J(a,4,38)):(a.m|=8,a.C|=64));return d} function V(a,b,c){var d;return b&56?(0<=(d=U(a,b,c))&&(d=Hb(a,d,c)),d):4194304+(b&7)}function W(a,b){var c;b&56?(c=V(a,b,2),c=M(a,c)):c=a.a[b&7];return c}function X(a,b){var c;b&56?0<=(c=V(a,b,3))&&(c=S(a,c)):c=a.a[b&7]&255;return c}function Y(a,b){return((b&128?b|65280:b&255)<<1)+a&65535} m.Vb=function(a){this.h.complete=!0;this.h.Zb=!1;this.h.Ub=!1;this.R=this.A=a;this.Ib&256?(Cb(this),a=!1):a=!0;if(a){do{var b,c,d,f,e;this.C&112&&(this.C&32?J(this,168,52):this.C&64?J(this,4,54):this.C&16&&J(this,12,56),this.C&=-113);if(this.ja)if(1===this.ja)this.ja=2;else{this.ja=0;e=-1;b=this.ob&224;if(0<(a=this.i.length))for(;0b&&(b=this.i[a].hc, e=a)}b>(this.o&224)&&(0>e?J(this,160,42):(J(this,this.i[e].uc,44),this.i.splice(e,1)))}this.G&57344||(this.ea=0,this.Va=this.a[7]);this.C=this.o&16;this.kb=Q(this,this.a[7]);this.a[7]=this.a[7]+2&65535;this.decode(this.kb);if(0<=this.kb)switch(a=this.kb,this.a[7]=this.a[7]+2&65535,a&61440){case 20480:0<=(b=W(this,a>>6))&&(a&56?0<=(c=M(this,d=V(this,a,6)))&&(a=c|b,0<=L(this,d,a)&&(this.c=this.f=a,this.b=0)):(this.c=this.f=a=this.a[a&7]|=b,this.b=0));break;case 24576:0<=(b=W(this,a>>6))&&(a&56?0<=(c= M(this,d=V(this,a,6)))&&(a=b+c,0<=L(this,d,a)&&(this.c=this.f=this.g=a,this.b=(b^a)&(c^a))):(e=a&7,c=this.a[e],this.a[e]=(a=b+c)&65535,this.c=this.f=this.g=a,this.b=(b^a)&(c^a)));break;case 36864:0<=(b=X(this,a>>6))&&(a&56?0<=(d=V(this,a,5))&&0<=T(this,d,b)&&(this.c=this.f=b<<8,this.b=0):(b&128&&(b|=65280),this.c=this.f=this.a[a&7]=b,this.b=0));break;case 40960:0<=(b=X(this,a>>6))&&0<=(c=X(this,a))&&(a=b-c,this.c=this.f=this.g=a<<8,this.b=((b^c)&(b^a))<<8);break;case 45056:0<=(b=X(this,a>>6))&&0<= (c=X(this,a))&&(this.c=this.f=(b&c)<<8,this.b=0);break;case 49152:0<=(b=X(this,a>>6))&&0<=(c=S(this,d=V(this,a,7)))&&(a=c&~b,0<=T(this,d,a)&&(this.c=this.f=a<<8,this.b=0));break;case 53248:0<=(b=X(this,a>>6))&&0<=(c=S(this,d=V(this,a,7)))&&(a=c|b,0<=T(this,d,a)&&(this.c=this.f=a<<8,this.b=0));break;case 57344:0<=(b=W(this,a>>6))&&(a&56?0<=(c=M(this,d=V(this,a,6)))&&(a=c-b,0<=L(this,d,a)&&(this.c=this.f=this.g=a,this.b=(b^c)&(c^a))):(e=a&7,c=this.a[e],this.a[e]=(a=c-b)&65535,this.c=this.f=this.g=a, this.b=(b^c)&(c^a)));break;default:switch(a&65024){case 2048:0<=(f=U(this,a,0))&&(e=a>>6&7,0<=R(this,this.a[e])&&(this.a[e]=this.a[7],this.a[7]=f&65535));break;case 28672:0<=(b=W(this,a))&&(e=a>>6&7,b&32768&&(b|=-65536),c=this.a[e],c&32768&&(c|=-65536),a=~~(b*c),this.a[e]=a>>16&65535,this.a[e|1]=a&65535,this.c=a>>16,this.f=this.c|a,this.g=this.b=0,-32768>a||32767>6&7,c=this.a[e]<<16|this.a[e|1],this.g=this.b=0,b&32768&&(b|=-65536),a=~~(c/ b),-32768<=a&&32767>=a?(this.a[e]=a&65535,this.a[e|1]=c-a*b&65535,this.f=a>>16|a,this.c=a>>16):(this.b=32768,this.f=a>>15|a,this.c=c>>16,-1===b&&65534===this.a[e]&&(this.a[e]=this.a[e|1]=1))):(this.f=this.c=0,this.b=32768,this.g=65536));break;case 29696:0<=(b=W(this,a))&&(e=a>>6&7,a=this.a[e],a&32768&&(a|=4294901760),this.g=this.b=0,b&=63,b&32?(b=64-b,16>b):b&&(16>15&65535)&&65535!==c&&(this.b=32768))),this.a[e]=a&65535,this.c=this.f= a);break;case 30208:if(0<=(b=W(this,a))){e=a>>6&7;c=this.a[e]<<16|this.a[e|1];this.g=this.b=0;b&=63;if(b&32)b=64-b,32>b-1,this.g=a<<16,a>>=1,c&2147483648&&(a|=4294967295<<32-b);else if(b){if(a=c<>15,a<<=1,32>=32-b)c|=4294967295<>16&65535;this.a[e|1]=a&65535;this.c=a>>16;this.f=a>>16|a}break;case 30720:a&56?0<=(c=M(this,d=V(this,a,6)))&&(c^=this.a[a>>6&7],0<=L(this,d,c)&&(this.c=this.f=c,this.b= 0)):(this.c=this.f=c=this.a[a&7]^=this.a[a>>6&7],this.b=0);break;case 32256:e=a>>6&7;if(this.a[e]=this.a[e]-1&65535)this.a[7]=this.a[7]-((a&63)<<1)&65535;break;default:switch(a&65280){case 256:this.a[7]=Y(this.a[7],a);break;case 512:this.f&65535&&(this.a[7]=Y(this.a[7],a));break;case 768:this.f&65535||(this.a[7]=Y(this.a[7],a));break;case 1024:(this.c&32768)===(this.b&32768)&&(this.a[7]=Y(this.a[7],a));break;case 1280:(this.c&32768)!==(this.b&32768)&&(this.a[7]=Y(this.a[7],a));break;case 1536:this.f& 65535&&(this.c&32768)===(this.b&32768)&&(this.a[7]=Y(this.a[7],a));break;case 1792:this.f&65535&&(this.c&32768)===(this.b&32768)||(this.a[7]=Y(this.a[7],a));break;case 32768:this.c&32768||(this.a[7]=Y(this.a[7],a));break;case 33280:!(this.g&65536)&&this.f&65535&&(this.a[7]=Y(this.a[7],a));break;case 33024:this.c&32768&&(this.a[7]=Y(this.a[7],a));break;case 33536:if(this.g&65536||!(this.f&65535))this.a[7]=Y(this.a[7],a);break;case 33792:this.b&32768||(this.a[7]=Y(this.a[7],a));break;case 34048:this.b& 32768&&(this.a[7]=Y(this.a[7],a));break;case 34304:this.g&65536||(this.a[7]=Y(this.a[7],a));break;case 34560:this.g&65536&&(this.a[7]=Y(this.a[7],a));break;case 34816:J(this,24,2);break;case 35072:J(this,28,4);break;default:switch(a&65472){case 64:0<=(f=U(this,a,0))&&(this.a[7]=f&65535);break;case 192:a&56?0<=(c=M(this,d=V(this,a,6)))&&(a=c<<8|c>>8,0<=L(this,d,a)&&(this.c=this.f=c&65280,this.b=this.g=0)):(e=a&7,c=this.a[e],this.a[e]=(c<<8|c>>8)&65535,this.c=this.f=c&65280,this.b=this.g=0);break;case 2560:a& 56?0<=(d=V(this,a,4))&&0<=L(this,d,0)&&(this.c=this.g=this.b=this.f=0):this.c=this.g=this.b=this.f=this.a[a&7]=0;break;case 2624:0<=(c=M(this,d=V(this,a,6)))&&(a=~c,0<=L(this,d,a)&&(this.c=this.f=a,this.g=65536,this.b=0));break;case 2688:a&56?0<=(c=M(this,d=V(this,a,6)))&&(a=c+1,0<=L(this,d,a)&&(this.c=this.f=a,this.b=a&(a^c))):(e=a&7,c=this.a[e],a=c+1,this.a[e]=a&65535,this.c=this.f=a,this.b=a&(a^c));break;case 2752:a&56?0<=(c=M(this,d=V(this,a,6)))&&(a=c-1,0<=L(this,d,a)&&(this.c=this.f=a,this.b= (a^c)&c)):(e=a&7,c=this.a[e],a=c-1,this.a[e]=a&65535,this.c=this.f=a,this.b=(a^c)&c);break;case 2816:0<=(c=M(this,d=V(this,a,6)))&&(a=-c,0<=L(this,d,a)&&(this.g=this.c=this.f=a,this.b=a&c));break;case 2880:0<=(c=M(this,d=V(this,a,6)))&&(a=c+(this.g>>16&1),0<=L(this,d,a)&&(this.g=this.c=this.f=a,this.b=a&(a^c)));break;case 2944:0<=(c=M(this,d=V(this,a,6)))&&(a=c-(this.g>>16&1),0<=L(this,d,a)&&(this.g=this.c=this.f=a,this.b=(a^c)&c));break;case 3008:0<=(c=W(this,a))&&(this.c=this.f=c,this.g=this.b= 0);break;case 3072:a&56?0<=(c=M(this,d=V(this,a,6)))&&(a=(this.g&65536|c)>>1,0<=L(this,d,a)&&(this.g=c<<16,this.c=this.f=a,this.b=a^this.g>>1)):(e=a&7,c=this.a[e],a=(this.g&65536|c)>>1,this.a[e]=a&65535,this.g=c<<16,this.c=this.f=a,this.b=a^this.g>>1);break;case 3136:a&56?0<=(c=M(this,d=V(this,a,6)))&&(a=c<<1|this.g>>16&1,0<=L(this,d,a)&&(this.g=this.c=this.f=a,this.b=a^c)):(e=a&7,c=this.a[e],a=c<<1|this.g>>16&1,this.a[e]=a&65535,this.g=this.c=this.f=a,this.b=a^c);break;case 3200:a&56?0<=(c=M(this, d=V(this,a,6)))&&(a=c&32768|c>>1,0<=L(this,d,a)&&(this.g=c<<16,this.c=this.f=a,this.b=this.c^this.g>>1)):(e=a&7,c=this.a[e],a=c&32768|c>>1,this.a[e]=a&65535,this.g=c<<16,this.c=this.f=a,this.b=this.c^this.g>>1);break;case 3264:a&56?0<=(c=M(this,d=V(this,a,6)))&&(a=c<<1,0<=L(this,d,a)&&(this.g=this.c=this.f=a,this.b=a^c)):(e=a&7,c=this.a[e],a=c<<1,this.a[e]=a&65535,this.g=this.c=this.f=a,this.b=a^c);break;case 3328:f=this.a[7]+((a&63)<<1)&65535;0<=(b=Q(this,f|65536))&&(this.a[7]=this.a[5],this.a[5]= b,this.a[6]=f+2&65535);break;case 3392:a&56?0<=(f=U(this,a,0))&&(61440!==(this.o&61440)&&(f&=65535),this.j=this.o>>12&3,0<=(b=Q(this,f))&&(this.j=this.o>>14&3,0<=R(this,b)&&(this.c=this.f=b,this.b=0))):(e=a&7,b=6!==e||(this.o>>2&12288)===(this.o&12288)?this.a[e]:this.Y[this.o>>12&3],0<=R(this,b)&&(this.c=this.f=b,this.b=0));break;case 3456:0<=(c=Ib(this))&&((this.G&57344||(this.ea=22),a&56)?0<=(f=U(this,a,0))&&(f&=65535,this.j=this.o>>12&3,0<=(d=Hb(this,f,4))&&(this.j=this.o>>14&3,0<=L(this,d,c)&& (this.c=this.f=c,this.b=0))):(e=a&7,6!==e||(this.o>>2&12288)===(this.o&12288)?this.a[e]=c:this.Y[this.o>>12&3]=c,this.c=this.f=c,this.b=0));break;case 3520:0<=(d=V(this,a,4))&&(a=-(this.c>>15&1),0<=L(this,d,a)&&(this.f=a,this.b=0));break;case 35328:a&56?0<=(d=V(this,a,5))&&0<=T(this,d,0)&&(this.c=this.g=this.b=this.f=0):(this.a[a&7]&=65280,this.c=this.g=this.b=this.f=0);break;case 35392:0<=(c=S(this,d=V(this,a,7)))&&(a=~c,0<=T(this,d,a)&&(this.c=this.f=a<<8,this.g=65536,this.b=0));break;case 35456:0<= (c=S(this,d=V(this,a,7)))&&(a=c+1,0<=T(this,d,a)&&(this.c=this.f=a<<8,this.b=(a&(a^c))<<8));break;case 35520:0<=(c=S(this,d=V(this,a,7)))&&(a=c-1,0<=T(this,d,a)&&(this.c=this.f=a<<8,this.b=((a^c)&c)<<8));break;case 35584:0<=(c=S(this,d=V(this,a,7)))&&(a=-c,0<=T(this,d,a)&&(this.g=this.c=this.f=a<<8,this.b=(a&c)<<8));break;case 35648:0<=(c=S(this,d=V(this,a,7)))&&(a=c+(this.g>>16&1),0<=T(this,d,a)&&(this.c=this.f=this.g=a<<8,this.b=(a&(a^c))<<8));break;case 35712:0<=(c=S(this,d=V(this,a,7)))&&(a=c- (this.g>>16&1),0<=T(this,d,a)&&(this.c=this.f=this.g=a<<8,this.b=((a^c)&c)<<8));break;case 35776:0<=(c=X(this,a))&&(this.c=this.f=c<<8,this.g=this.b=0);break;case 35840:0<=(c=S(this,d=V(this,a,7)))&&(a=((this.g&65536)>>8|c)>>1,0<=T(this,d,a)&&(this.g=c<<16,this.c=this.f=a<<8,this.b=this.c^this.g>>1));break;case 35904:0<=(c=S(this,d=V(this,a,7)))&&(a=c<<1|this.g>>16&1,0<=T(this,d,a)&&(this.g=this.c=this.f=a<<8,this.b=(a^c)<<8));break;case 35968:0<=(c=S(this,d=V(this,a,7)))&&(a=c&128|c>>1,0<=T(this, d,a)&&(this.g=c<<16,this.c=this.f=a<<8,this.b=this.c^this.g>>1));break;case 36032:0<=(c=S(this,d=V(this,a,7)))&&(a=c<<1,0<=T(this,d,a)&&(this.g=this.c=this.f=a<<8,this.b=(a^c)<<8));break;case 36160:a&56?0<=(f=U(this,a,0))&&(this.j=this.o>>12&3,0<=(b=Q(this,f|65536))&&(this.j=this.o>>14&3,0<=R(this,b)&&(this.c=this.f=b,this.b=0))):(e=a&7,b=6!==e||(this.o>>2&12288)===(this.o&12288)?this.a[e]:this.Y[this.o>>12&3],0<=R(this,b)&&(this.c=this.f=b,this.b=0));break;case 36224:0<=(c=Ib(this))&&((this.G&57344|| (this.ea=22),a&56)?0<=(f=U(this,a,0))&&(this.j=this.o>>12&3,0<=(d=Hb(this,f|65536,4))&&(this.j=this.o>>14&3,0<=L(this,d,c)&&(this.c=this.f=c,this.b=0))):(e=a&7,6!==e||(this.o>>2&12288)===(this.o&12288)?this.a[e]=c:this.Y[this.o>>12&3]=c,this.c=this.f=c,this.b=0));break;default:switch(a&65528){case 128:0<=(b=Ib(this))&&(e=a&7,this.a[7]=this.a[e],this.a[e]=b);break;case 152:this.o&49152||(this.o=this.o&63519|(a&7)<<5,this.ja=1);break;case 160:case 168:a&1&&(this.g=0);a&2&&(this.b=0);a&4&&(this.f=1); a&8&&(this.c=0);break;case 176:case 184:a&1&&(this.g=65536);a&2&&(this.b=32768);a&4&&(this.f=0);a&8&&(this.c=32768);break;default:switch(a){case 0:49152&this.o?(this.m|=128,J(this,4,46)):(this.Ca=3,Cb(this),console.log("HALT at "+this.a[7].toString(8)));break;case 1:e=0;if(0<(a=this.i.length))for(;0>12].call(this,a)}function Z(){--this.A} var Jb=[function(){},function(a){var b=W(this,a>>6);a&56?L(this,V(this,a,4),b):this.a[a&7]=b;Gb(this,b);--this.A},function(a){var b=W(this,a>>6);a=W(this,a);var c=b-a;!this.C&128&&(this.c=this.f=this.g=c,this.b=(b^a)&(b^c));--this.A},function(a){Gb(this,W(this,a>>6)&W(this,a));--this.A},function(a){var b=W(this,a>>6);if(a&56){a=V(this,a,4);var c=M(this,a);L(this,a,b=~b&c)}else a&=7,this.a[a]=b=~b&this.a[a];Gb(this,b);--this.A},Z,Z,Z,Z,Z,Z,Z,Z,Z,Z,Z]; function Kb(a){v.call(this,"ROM",a,Kb);this.b=null;this.s=a.addr;this.f=a.size;this.A=a.writable;this.g=a.alias;this.i=a.file;this.F=ba(this.i);if(this.i){a=this.i;var b=ca(this.F);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){Lb(c,a,b,e)})}}y(Kb);Kb.prototype.Ga=function(a,b,c,d){this.u=b;this.c=c;this.I=d;Mb(this)};Kb.prototype.ua=function(){this.j&&(this.I&&this.I.c(this.id,this.s,this.f,this.j),delete this.j);return!0}; Kb.prototype.ta=function(){return!0}; function Lb(a,b,c,d){if(d)a.K("Unable to load system ROM (error "+d+": "+b+")");else{Da(a.Fb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,h,g=eval("("+c+")");if(e=g.bytes)a.b=e;else if(e=g.words)for(a.b=Array(2*e.length),h=f=0;f>8&255;else if(e=g.data)for(a.b=Array(4*e.length),h=f=0;f>8&255,a.b[h++]=e[f]>>16&255,a.b[h++]=e[f]>>24&255;else a.b=g;a.j=g.symbols;if(!a.b.length){q("Empty ROM: "+b); return}if(1==a.b.length){q(a.b[0]);return}}catch(k){a.K("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f>>d.f].Wb(f&d.i,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>>f.f;0>>=f.f;0\nLicense: GPL version 3 or later ");this.X("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;bRb){if(Tb(d,this.F)){this.j=new O(this,"1.30.0","failsafe");Tb(this.j)&&(Zb(this,d),a=2,$b(this.j));P(this.j,"timestamp",ia());ac(this.j);var f=this.b&&!this.s;if(1==a||ja("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Xb(d)){var e=Yb(d,"code"),h=Yb(d,"data");e&&("ok"==e?Tb(d,h):("error"==e&& "no machine state"!=h?(this.K("Error: "+h),"unable to verify user"==h&&(na("user",""),this.f=null)):this.X(e+": "+h),$b(d),Tb(d)?(c=Xb(d),f=!0):c=!1))}f&&Wb(this,c?d:null)}else 2==a&&d.clear()}else Wb(this);delete this.F;delete this.J}f=z(this.id);for(e=0;ea[1];a=a[2];this.da=!0;this.h.L=!0;var d=this.w.power;d&&(d.textContent="Shutdown");this.c&&(bc(this,this.c,b,c,a),this.c.Xa());this.R&&(Zb(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.g=0}; function Zb(a,b){if(ja("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"",d=b.toString(),f={app:"PDP11js",ver:"1.30.0"};f.url=a.url;f.user=c;f.type="bug";f.data=d;p("http://www.pcjs.org/api/v1/report",f,!0)}} function cc(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new O(a,"1.30.0"),h=new O(a,"1.30.0","validate"),g=ia();P(h,"timestamp",g);P(e,"timestamp",g);P(e,"version","1.30.0");P(e,"url",window?window.location.href:null);P(e,"browser",window?window.navigator.userAgent:"");a.c&&a.c.ta&&(c&&xb(a.c),d=a.c.ta(b,c),"object"===typeof d&&P(e,a.c.id,d),c&&(a.c.h.L=!1,!1===d&&(f=null)));for(var g=z(a.id),k=0;kg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDP11js$2"), a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(w){g=null,a=w.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(e=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,r=/( [a-z]+=)(['"])(.*?)\2/g;l=r.exec(e);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],h);jc(a,b,c)}})}else c(a,null)} function kc(a,b,c,d){function f(a){if(void 0===g){var b=h&&C(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function e(a){f("Error: "+a);k&&(--gc||ua(!0));k=!1}var h,g,k=!0;gc++;Ca[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=l:w.appendChild(document.createTextNode(l));r.appendChild(w)}c|| (c="/versions/pdp11/1.30.0/components.xsl");l=function(d,g){g?hc(c,null,null,!1,f,function(d,k){if(k)if(Da(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--gc||ua(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--gc||ua(!0)):e("invalid machine element: "+ a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(d)}):e(d)};"<"!=b.charAt(0)?hc(b,a,d,!0,f,l):ic(b,null,a,d,!1,f,l)}else e("missing machine element: "+a)}catch(K){e(K.message)}return k}window.embedPDP11=function(a,b,c,d){ua(!1);return kc(a,b,c,d)};window.enableEvents=ua;window.sendEvent=va;})();