(function(){var l; function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),f=0>=3;return(c?"0o":"")+d}function r(a,b,c){var d="";b?8=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d} function ga(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 t(a){window&&window.alert(a)}function wa(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.rc=this.id.substr(0,b),this.Db=this.id.substr(b+1));this[a]=c;this.u={ready:!1,qb:!1,fc:!1,ga:!1,error:!1};this.Zb=null;this.u.error=!1;this.I={};this.C=null;this.ia=d||0;v.push(this)}var Sa=void 0,Ta={}; if(window){Sa||(Sa=window.location.search.substr(1));for(var Ua,Va=/\+/g,Wa=/([^&=]+)=?([^&]*)/g;Ua=Wa.exec(Sa);)Ta[decodeURIComponent(Ua[1].replace(Va," "))]=decodeURIComponent(Ua[2].replace(Va," "))}function Xa(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 w(a,b){b||(b=u);a.prototype=Xa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ya=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ya={},v=[];function Za(a,b,c){Ya[a]&&b&&(Ya[a][b]=c)}function $a(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.X&&(this.X=10);15>2;this.i=this.Ba-1;this.B=this.D/this.Ba|0;this.A=this.B-1;this.Ua=[];this.G=null;this.Lb=this.Fc;a=new F;xb(a,this.C);this.L=Array(this.B);for(b=0;b>8:d[2](b)&255}else if(b&1&&(d=c.Ua[a&-2],d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+ba(b));return c.Lb(b,-1,1)} function zb(a,b,c){var d=this.controller,f=d.Ua[a];if(f){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.Ua[a&-2],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 @"+ba(c));d.Lb(c,b,1)} function Ab(a,b){var c=this.controller;if(a=c.Ua[a]){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 @"+ba(b));return c.Lb(b,-1,0)}function Bb(a,b,c){var d=this.controller;if(a=d.Ua[a]){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 @"+ba(c));d.Lb(c,b,0)}l=wb.prototype;l.reset=function(){this.G&&this.G()};l.Fc=function(){return 0};l.Pa=function(a,b){b||this.reset();return!0}; function Cb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.X;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Xb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Xb){n=k.size-(e-m);n>g&&(n=g);k.Xb=e-k.w+n;e=m+a.Ba;g-=n;h++;continue}}return Eb(1,e,g)}e=new F(e,n,a.Ba,d,f);xb(e,a.C,k);a.L[h++]=e;e=m+a.Ba;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Fb[d]+" at "+r(b,8,!0)),!0):Eb(2,b,c)} l.sb=function(a){return this.L[(a&this.j)>>>this.X].wb(a&this.i,a)};l.Ia=function(a){var b=a&this.i,c=(a&this.j)>>>this.X;return b!=this.i?this.L[c].Qb(b,a):this.L[c++].wb(b,a)|this.L[c&this.A].wb(0,a+1)<<8};function Gb(a,b){var c=b&a.i,d=(b&a.j)>>>a.X;return c!=a.i?a.L[d].lc(c,b):a.L[d++].Pb(c,b)|a.L[d&a.A].Pb(0,b+1)<<8}l.Ub=function(a,b){this.L[(a&this.j)>>>this.X].Bb(a&this.i,b&255,a)}; l.pb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.X;c!=this.i?this.L[d].Ec(c,b&65535,a):(this.L[d++].Bb(c,b&255,a),this.L[d&this.A].Bb(0,b>>8&255,a+1))};function Hb(a){for(var b=0,c=[],d=0;d>5&3;c.va=a>>1&15;c.$b=a&257?a&1?6:4:0;Ob(c);a=c.B;a&1|256&&(b=this.b.gb&16?1:2);this.A.tb=this.A.tb&-8|b};l.$c=function(){return this.j.ua};l.pd=function(a){if(128==(this.j.ua&192)&&a&64){var b=this;H(this.b,8,4,52,function(){b.j.ua|=128;return!!(b.j.ua&64)})}this.j.ua=this.j.ua&128|a&-129};l.Zc=function(){return Yb(this.b)}; l.od=function(a){Zb(this.b,a&-1809|Yb(this.b)&1808);this.b.M|=128}; function $b(a){var b=a.B,c,d,f,e=b.sa>>13&7;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.ad,drive:e,blocksize:256,mapped:0,maxblock:b.ib[e]*b.$[e],url:"rk"+e+".dsk"});b.O&=-129;switch(b.O>>1&7){case 0:b.Sb=2496;b.la=0;b.O=128;b.sa=0;break;case 1:if((b.sa>>4&511)>=b.ib[e]){b.la|=32832;b.O|=49152;break}if((b.sa&15)>=b.$[e]){b.la|=32800;b.O|=49152;break}c=(b.sa>>4&511)*b.$[e]+(b.sa&15);d=(b.O&48)<<12|b.Rb;f=65536-b.Tb&65535;ac(a,b.oa[e],c,d,f);return;case 2:if((b.sa>>4&511)>=b.ib[e])b.la|= 32832,b.O|=49152;else if((b.sa&15)>=b.$[e])b.la|=32800,b.O|=49152;else{c=(b.sa>>4&511)*b.$[e]+(b.sa&15);d=(b.O&48)<<12|b.Rb;f=65536-b.Tb&65535;a.bc(b.oa[e],c,d,f);return}}b.Sb=e<<13|b.Sb&8176|b.sa%9&15;H(a.b,20,5,144,function(){b.O=b.O&65534|128;return!!(b.O&64)})}l.ad=function(a,b,c,d,f){var e=this.B;e.Rb=d&65535;e.O=e.O&-49|d>>12&48;e.Tb=65536-f&65535;switch(a){case 1:e.la|=33024;e.O|=49152;break;case 2:e.la|=33792,e.O|=49152}H(this.b,20,5,144,function(){e.O=e.O&65534|128;return!!(e.O&64)})}; function bc(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.bd,drive:e,blocksize:128,mapped:1,maxblock:b.ib[e]*b.$[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.$a&8&&(b.K&=63);b.$a=b.Hc[e]|b.fb&64;break;case 3:1==(b.ea&3)&&(b.fb=b.ea&4?b.fb+(b.ea&65408)&65408|b.ea<<2&64:b.fb-(b.ea&65408)&65408|b.ea<<2&64,b.ea=b.fb);break;case 4:b.$a=b.fb;break;case 5:if(b.ea>>6>=b.ib[e]){b.K|=37888;break}if((b.ea&63)>=b.$[e]){b.K|=37888;break}c=(b.ea>>6)*b.$[e]+ (b.ea&63);d=(b.Va&63)<<16|b.Jb;f=65536-b.$a&65535;ac(a,b.oa[e],c,d,f);return;case 6:if(b.ea>>6>=b.ib[e])b.K|=37888;else if((b.ea&63)>=b.$[e])b.K|=37888;else{c=(b.ea>>6)*b.$[e]+(b.ea&63);d=(b.Va&63)<<16|b.Jb;f=65536-b.$a&65535;a.bc(b.oa[e],c,d,f);return}}H(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})} l.bd=function(a,b,c,d,f){var e=this.D;e.Jb=d&65535;e.K=e.K&-49|d>>12&48;e.Va=d>>16&63;e.ea=~~(c/e.$[b.Ma])<<6|c%e.$[b.Ma];e.fb=e.ea;e.$a=65536-f&65535;switch(a){case 1:e.K|=33792;break;case 2:e.K|=40960}H(this.b,20,5,112,function(){e.K|=129;return!!(e.K&64)})};function cc(a){a=a.G;a.R=2176;a.Da=0;a.qa=[4544,4544,4544,4544,4544,4544,4544,4544];a.yb=[0,0,0,0,0,0,0,0];a.nb=a.zb=a.xb=a.eb=a.nc=0} function dc(a,b){var c=a.G,d,f,e;c.R&=-16513;c.Da&=-2049;c.qa[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof c.oa[b]&&(c.oa[b]={cache:[],postProcess:a.cd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.hb[0]*c.$[0],url:"rp"+b+".dsk"});switch(c.R&63){case 5:c.dc[b]=c.Ra[b];c.R|=32896;c.qa[b]|=32896;c.nb|=1<=c.ec[0]||c.Ea[b]>>8>=c.hb[0]||(c.Ea[b]&255)>=c.$[0]){c.yb[b]|=1024;c.R|=49152;break}d=(c.Ra[b]*c.hb[0]+(c.Ea[b]>>8))*c.$[0]+ (c.Ea[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;ac(a,c.oa[b],d,f,e);return;case 57:if(c.Ra[b]>=c.ec[0]||c.Ea[b]>>8>=c.hb[0]||(c.Ea[b]&255)>=c.$[0])c.yb[b]|=1024,c.R|=49152;else{d=(c.Ra[b]*c.hb[0]+(c.Ea[b]>>8))*c.$[0]+(c.Ea[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;a.bc(c.oa[b],d,f,e);return}}H(a.b,3,5,172,function(){c.R=c.R&65534|128;c.qa[b]|=128;return!!(c.R&64)})} l.cd=function(a,b,c,d,f){var e=this.G;e.zb=65536-f&65535;e.xb=d&65535;e.R=e.R&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.$[0]);d=~~(f/e.hb[0]);e.Ea[b.Ma]=f%e.hb[0]<<8|c%e.$[0];e.dc[b.Ma]=e.Ra[b.Ma]=d;e.nb|=1<=b.Uc-1&&(e.qa[b.Ma]|=1024);switch(a){case 1:e.Da|=512;e.R|=49152;break;case 2:e.Da|=2048,e.R|=49152}H(this.b,20,5,172,function(){e.qa[b.Ma]|=128;e.R=e.R&65534|128;return!!(e.R&64)})}; function ec(a,b,c,d,f,e){var g=~~((e+c.Wa-1)/c.Wa),h=new XMLHttpRequest;2048>g&&d+2048g){b.jc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.jc(0,b,c,d,f)}l.reset=function(){this.A.tb=this.A.tb&-120|20;this.j.Ja=0;this.j.ua=128;this.i.Za=0;this.B.O=128;this.D.K=128;cc(this)}; l.Gc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.bb&65280:(a&1&&(b<<=8),e.bb=b|255,d=0);break;case 4194298:if(0>b)d=e.mc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.mc=d;e.Qa=2}break;case 4194294:if(70!==e.lb)return J(e,4);0>b?d=e.H:d=e.H=0;break;case 4194292:if(70!==e.lb)return J(e,4);d=1;break;case 4194290:if(70!==e.lb)return J(e,4);d=0;break;case 4194288:if(70!==e.lb)return J(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.lb)return J(e,4);f=a-4194272>>1;0>b?d=e.hc[f]:(d=I(this,e.hc[f],a,b,c),0<=d&&(e.hc[f]=d));break;case 4194254:return a&1?e.N>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ca[3]=b),d=e.Ca[3]):e.N>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ca[1]=b),d=e.Ca[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.N&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.cb[f]=b),d=e.cb[f]),d;case 4194246:return a& 1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.N>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ca[0]=b),d=e.Ca[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.N&2048?(0<=b&&(e.cb[f]=b),d=e.cb[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.H|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.ka[3][f],a,b,c);0<=d&&(e.ka[3][f]=d,e.ka[3][f&15]&=65295);break;case 4194112:var g=this.j;switch(a&-2){case 4194174:d=I(this,e.Yb,a,b,c);0<=d&&(e.Yb=d);break;case 4194172:d=e.Sa;d&65280&&(d=(d<<8|d>>8)&65535);break; case 4194168:0>b?d=this.A.kd&65535:(d=I(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.ua&=-129,H(e,100,4,52,function(){g.ua|=128;return!!(g.ua&64)}));d=0;break;case 4194162:d=0;0>b&&(g.Ja&=-129,0b?d=g.Ja:(d=I(this,g.Ja,a,b,c),0<=d&&(g.Ja=g.Ja&128|d&-129));break;default:return e.H|=16,J(e,4)}break;case 4194048:f=this.B;switch(a& -2){case 4194048:d=I(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194050:d=I(this,f.la,a,b,c);0<=d&&(f.la=d);break;case 4194052:d=I(this,f.O,a,b,c);0<=b&&0<=d&&(f.O=d&-36993|f.O&36992,f.O&1&&$b(this));break;case 4194054:d=I(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194056:d=I(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194058:d=I(this,f.sa,a,b,c);0<=d&&(f.sa=d);break;case 4194060:break;case 4194062:d=I(this,f.zc,a,b,c);0<=d&&(f.zc=d);break;default:return e.H|=16,J(e,4)}break;case 4193728:var h=this.G; f=h.Da&7;switch(a&-2){case 4193728:d=I(this,h.R,a,b,c);0<=b&&0<=d&&(h.eb=h.eb&60|d>>8&3,h.R=d&17279|h.R&34944|2048,d&1&&h.R&128?dc(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.zb,a,b,c);0<=d&&(h.zb=d);break;case 4193732:d=I(this,h.xb,a,b,c);0<=d&&(h.xb=d&65534);break;case 4193734:d=I(this,h.Ea[f],a,b,c);0<=d&&(h.Ea[f]=d&7967);break;case 4193736:d=I(this,h.Da,a,b,c);0<=d&&(h.Da=d&63|h.Da&65472,d&128&&cc(this));break;case 4193738:d=h.qa[f];break;case 4193740:d=h.yb[f];break;case 4193742:d= I(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.hd[f];break;case 4193746:d=I(this,h.Ac,a,b,c);0<=d&&(h.Ac=d);break;case 4193748:d=I(this,h.Bc[f],a,b,c);0<=d&&(h.Bc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.jd[f];break;case 4193754:d=I(this,h.Cc[f],a,b,c);0<=d&&(h.Cc[f]=d);break;case 4193756:d=I(this,h.Ra[f],a,b,c);0<=d&&(h.Ra[f]=d&511);break;case 4193758:h.dc[f]=h.Ra[f];d=h.dc[f];break;case 4193760:d=h.fd[f];break;case 4193762:d=h.gd[f];break;case 4193764:d=h.dd[f]; break;case 4193766:d=h.ed[f];break;case 4193768:d=I(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.R=h.R&-769|(d&3)<<8);break;case 4193770:d=I(this,h.nc,a,b,c);0<=d&&(h.nc=d);break;default:return e.H|=16,J(e,4)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=I(this,f.K,a,b,c);0<=b&&0<=d&&(f.Va=f.Va&60|d>>4&3,f.K=f.K&-1023|d&1022,f.K&128||bc(this));break;case 4192514:d=I(this,f.Jb,a,b,c);0<=d&&(f.Jb=d&65534);break;case 4192516:d=I(this,f.ea,a,b,c);0<=d&&(f.ea=d);break;case 4192518:d=I(this,f.$a,a,b,c); 0<=d&&(f.$a=d);break;case 4192520:d=I(this,f.Va,a,b,c);0<=d&&(f.Va=d&63,f.K=f.K&-49|(f.Va&3)<<4);break;default:return e.H|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.gb:(d=I(this,e.gb,a,b,c),0<=d&&(70!==e.lb&&(d&=-49),e.gb=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.gb&16&&(f=1),this.A.tb=this.A.tb&-8|f)));break;default:return e.H|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.ka[0][f],a,b,c);0<=d&&(e.ka[0][f]=d,e.ka[0][f&15]&=65295);break;case 4191360:f= a>>1&31;d=I(this,e.ka[1][f],a,b,c);0<=d&&(e.ka[1][f]=d,e.ka[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.lb)return J(e,4);f=a>>2&31;d=e.Vb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.Vb[f]=a&2?d<<16|e.Vb[f]&65535:e.Vb[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=Lb[a>>1&255];else return e.H|=16,J(e,4);break;default:return e.H|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"=== typeof d&&console.log("panic(76)");return d};var gc={},Jb=(gc[65382]=[null,null,G.prototype.Xc,G.prototype.md],gc[65402]=[null,null,G.prototype.Yc,G.prototype.nd],gc[65396]=[null,null,G.prototype.$c,G.prototype.pd],gc[65534]=[null,null,G.prototype.Zc,G.prototype.od],gc);Oa(function(){for(var a=C(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.D,0,c>>2),nc(this,jc?oc:pc);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},da:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ra: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},Aa: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.Xa=!0},ba:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,1,c.V)&&c.ma(!0)}return this.Pb(a,b)},ha:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,2,c.V)&&c.ma(!0)}return this.lc(a,b)},wa:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,1,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.Cb(a, b,c)},Ka:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,2,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.qc(a,b,c)},Z:function(a){return this.I[a]},ca:function(a){return this.I[a]},fa:function(a){return this.G.getUint16(a,!0)},na:function(a){return a&1?this.I[a]|this.I[a+1]<<8:this.P[a>>1]},va:function(a,b){this.I[a]=b;this.Xa=!0},xa:function(a,b){this.I[a]=b;this.Xa=!0},Fa:function(a,b){this.G.setUint16(a,b,!0);this.Xa=!0},Db:function(a,b){a&1?(this.I[a]=b,this.I[a+1]=b>>8):this.P[a>> 1]=b;this.Xa=!0}};function xb(a,b,c){a.C=b;a.j=a.A=0;c&&((a.j=c.j)&&tc(a,sc,!1),(a.A=c.A)&&rc(a,sc,!1))}function vc(a,b){b?--a.A||(a.Bb=a.i?a.B:a.Cb,a.Ec=a.i?a.J:a.qc):--a.j||(a.wb=a.Pb,a.Qb=a.lc)}function rc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.B,a.Ec=!a.i&&b[3]||a.J);if(c||void 0===c)a.Cb=b[1]||a.B,a.qc=b[3]||a.J}function tc(a,b,c){c&&a.j||(a.wb=b[0]||a.S,a.Qb=b[2]||a.V);if(c||void 0===c)a.Pb=b[0]||a.S,a.lc=b[2]||a.V}function nc(a,b){b||(b=wc);tc(a,b,void 0);rc(a,b,void 0)} var wc=[],qc=[F.prototype.da,F.prototype.Aa,F.prototype.ra,F.prototype.Ta],sc=[F.prototype.ba,F.prototype.wa,F.prototype.ha,F.prototype.Ka];if(tb)var pc=[F.prototype.Z,F.prototype.va,F.prototype.fa,F.prototype.Fa],oc=[F.prototype.ca,F.prototype.xa,F.prototype.na,F.prototype.Db]; function xc(a,b){u.call(this,"CPU",a,xc,1);var c=a.multiplier||1;this.xa=a.cycles||b;this.ab=c;this.Fa=Math.round(this.xa/1E4)/100;this.mb=this.Fa*this.ab;this.u.ja=!1;this.u.oc=!1;this.u.Hb=a.autoStart;this.u.wc=!1;this.u.rb=!1;this.Mb=this.ba=0;this.Nb=a.csStart;this.ub=a.csInterval;this.vb=a.csStop;this.D=[];this.Kb=this.ob.bind(this);D(this)}w(xc);var yc=["power","reset"];l=xc.prototype; l.Ya=function(a,b,c,d){this.i=a;this.F=b;this.C=d;for(b=0;b=a.ba&&(a.ba+=a.ub,c=!0);0<=a.vb&&a.vb<=Sc(a)&&(a.ub=a.vb=-1,Pc(a),a.ma(),c=!0);c&&a.f(Sc(a)+" cycles: checksum="+r(a.Mb))}} function Tc(a,b,c,d){if(a.I[b]){void 0===c&&(sb(a,"Value for "+b+" is invalid"),a.ma());var f=a.C&&a.C.da||8;c=!a.u.ja||a.u.wc?8==f?ba(c,d):r(c,d):"--------".substr(0,d||4);a.I[b].textContent!=c&&(a.I[b].textContent=c)}} l.ta=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.ga)a=!0;else{var b=null,c,h=$a(a.id);for(c=0;ca.P/a.mb?b=1:d=!0;a.ab=b;b=a.Fa*a.ab;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.Wb()}Vc(a,a.J);a.J=0;a.G=pa();a.S=0;Wc(a);return d}function Mb(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Nb(a,b){var c;0<=b&&ba.D[b][0]&&(c=a.xa*a.ab/1E3*(1E3/60),a.D[b][0]=c)}function Xc(a){a.V-=a.b;a.b=0} l.ob=function(a){if(db(this,!0)){if(!this.u.ja){Uc(this);this.i&&this.i.start(this.G,Sc(this));this.u.ja=!0;this.u.oc=!0;this.fa&&this.fa.start();var b=this.I.run;b&&(b.textContent="Halt");this.i&&(this.i.za(!0),a&&this.i.Wb(!0))}this.Ka>=this.xa&&Wc(this,!0);this.ha=0;this.wa=pa();this.S&&(a=this.wa-this.S,a>this.Fb&&(this.G+=a,this.G>this.wa&&(this.G=this.wa)));try{do{for(var c,d=this.u.rb?1:this.Aa,f=this.D.length-1;0<=f;f--){var e=this.D[f];0>e[0]||d>e[0]&&(d=e[0])}c=d;try{this.Ab(c)}catch(m){if("number"!= typeof m)throw m;}var g=this.V-this.b;a=g;for(var h=this.D.length-1;0<=h;h--){var k=this.D[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.ha+=g;this.J+=g;Vc(this,0,!0);Rc(this,g);this.ca-=g;if(0>=this.ca){this.ca+=this.Aa;15<=++this.Ib&&(this.i&&this.i.za(),this.Ib=0);break}}while(this.u.ja)}catch(m){this.ma();K(this);this.i&&this.i.stop(pa(),Sc(this));db(this,!1);sb(this,m.stack||m.message);return}c=setTimeout;d=this.Kb;this.S=pa();f=this.Fb;this.ha&&(f=Math.round(f*this.ha/this.Aa));f-=this.S- this.wa;if(e=this.S-this.G)this.P=Math.round(this.J/(10*e))/100,864E5<=e&&(this.Z=0,Uc(this));if(0>f||this.Pf&&(this.G-=f),f=0;this.Ka+=this.ha;this.S+=f;c(d,f)}else K(this),this.i&&this.i.stop(pa(),Sc(this))};l.Ab=function(){return 0};l.ma=function(a){eb(this,!0);Xc(this);Vc(this,this.J);this.J=0;if(this.u.ja){this.u.ja=!1;this.fa&&this.fa.stop();var b=this.I.run;b&&(b.textContent="Run")}this.u.complete=a};function K(a,b){a.i&&a.i.za(b)} function Yc(a){this.Vc=+a.model||1170;this.ic=a.resetAddr||0;xc.call(this,a,1E6);this.Eb=0;this.decode=Zc.bind(this);this.T=65536;this.U=32768;this.Y=65535;this.W=32768;this.N=15;this.g=[0,0,0,0,0,0,0,this.ic];this.cb=[0,0,0,0,0,0];this.Ca=[0,0,0,0];this.va=this.A=0;this.ka=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Vb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.hc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.M=0;this.lb=70;this.da=-1;this.na=0;$c(this);this.u.complete=this.u.Kc=!1}w(Yc,xc);l=Yc.prototype;l.reset=function(){this.u.ja&&this.ma();$c(this);Ac(this);this.u.error=!1;this.parent.reset.call(this)}; function $c(a){a.bb=255;a.H=0;a.mc=0;a.B=0;a.Sa=0;a.Yb=0;a.gb=0;a.$b=0;a.ra=0;a.ac=[7,7,7,7];a.j=[];a.Qa=2;Ob(a)}function Ob(a){a.$b?(a.Ta=65536,a.aa=a.Rc,a.Qb=a.ya):(a.Ta=0,a.aa=a.Qc,a.Qb=a.cc)}l.yc=function(){return 0};l.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.Z,this.ab]);a.set(2,Hb(this.F));return a.data()}; l.restore=function(a){var b=a[1];this.Z=b[1];Uc(this,b[3]);a:{b=this.F;a=a[2];var c;for(c=0;cb){a.j[e].Ga-=b;break}b-=a.j[e].Ga}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Qa=2}function Yb(a){return a.N=a.N&63728|a.Na()|bd(a)|ad(a)|M(a)} function Zb(a,b){a.W=b<<12;a.Y=~b&4;a.U=b<<14;a.T=b<<16;if((b^a.N)&2048)for(var c=a.cb.length;0<=--c;){var d=a.g[c];a.g[c]=a.cb[c];a.cb[c]=d}a.A=b>>14&3;c=a.N>>14&3;a.A!=c&&(a.Ca[c]=a.g[6],a.g[6]=a.Ca[a.A]);a.Qa=2;a.N=b}function cd(a,b,c){a.M&128||(a.W=a.Y=a.T=b,a.U=c||0)}function N(a,b){a.M&128||(a.W=a.Y=b,a.U=0)}function dd(a,b,c,d){a.M&128||(a.W=a.Y=a.T=b,a.U=(c^b)&(d^b))}function ed(a,b){a.M&128||(a.W=a.Y=a.T=b,a.U=a.W^a.T>>1)}function fd(a,b,c,d){a.M&128||(a.W=a.Y=a.T=b,a.U=(c^d)&(d^b))} function J(a,b){var c=!1;0>a.da?a.da=Yb(a):a.A||(b=4,c=!0);a.B&57344||(a.Sa=63222,a.Yb=b);a.A=0;var d=a.ya(b|65536),f=a.ya(b+2&65535|65536);Zb(a,f&53247|a.da>>2&12288);c&&(a.H|=4,a.g[6]=4);gd(a,a.da);gd(a,a.g[7]);a.g[7]=d;a.M&=-113;a.da=-1;throw b;}function hd(a){var b=id(a),c=id(a)&-1793;a.N&49152&&(c=c&-225|a.N&63712);a.g[7]=b&65535;Zb(a,c);a.M&=-17}function fc(a,b){var c=b>>13&31;31>c?a.gb&32&&(b=a.Vb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} function jd(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.A];f=a.ka[a.A][d];e=(a.ka[a.A][d+16]<<6)+(b&8191)&4194303;a.gb&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,J(a,4)),e&1&&!(c&1)&&(a.H|=64,J(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.ka[a.A][d]=f;if(4194170!==e||a.A)a.ra=a.A,a.va=d;g&&(g&57344&&(0<=a.da&&(g|=128),a.B&57344||(a.B=a.B|g|a.ra<<5|a.va<<1),J(a,168)),a.B&61440||!(4191360>e||4194239>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.bb||65534<=a.g[6])&&(a.g[6]<=a.bb-32||65534<=a.g[6]?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=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);if(0>(d=a.ya(d)))return 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);if(0>(d=a.ya(d)))return d; d|=g;break;case 6:if(0>(d=a.ya(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return d|g;case 7:if(0>(d=a.ya(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return 0>(d=a.ya(d|65536))?d:d|g}a.g[e]=a.g[e]+f&65535;!g||a.B&57344||(a.Sa=a.Sa<<8|f<<3&248|e);6===e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.bb||65534<=a.g[6])&&(a.g[6]<=a.bb-32?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=64));return d}l.Qc=function(a,b){return kd(this,a,b)};l.Rc=function(a,b){return jd(this,kd(this,a,b),b)}; function ld(a,b,c){b&56?(b=kd(a,b,0),c&65536||61440!==(a.N&61440)&&(b&=65535),a.A=a.N>>12&3,c=a.ya(b|c&65536),a.A=a.N>>14&3):(c=b&7,c=6!=c||(a.N>>2&12288)===(a.N&12288)?a.g[c]:a.Ca[a.N>>12&3]);return c}function md(a,b,c,d){a.B&57344||(a.Sa=22);b&56?(b=kd(a,b,0),c&65536||(b&=65535),a.A=a.N>>12&3,b=jd(a,b|c&65536,4),a.A=a.N>>14&3,a.F.pb(b,d&65535)):(c=b&7,6!=c||(a.N>>2&12288)===(a.N&12288)?a.g[c]=d:a.Ca[a.N>>12&3]=d)}function O(a,b){return b&56?a.Qb(kd(a,b,2)):a.g[b&7]} function nd(a,b){b&56?(b=a.aa(b,3),a=a.F.sb(b)):a=a.g[b&7]&255;return a}function P(a,b,c,d){b&56?(b=a.aa(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 R(a,b,c,d){b&56?(b=a.aa(b,7),c=d.call(a,c,a.F.sb(b)),a.F.Ub(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function od(a,b,c){b&56?(b=a.aa(b,4),a.F.pb(b,c&65535)):a.g[b&7]=c&65535;return c} function pd(a,b,c,d){b&56?(d=a.aa(b,5),a.F.Ub(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 S(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535} l.Ab=function(a){this.u.complete=!0;var b=this.u.Kc=this.C&&qd(this.C),c=a?this.u.oc?0:1:-1;this.u.oc=!1;this.V=this.b=a;do{if(b){if(rd(this.C,this.g[7],c)){this.ma();break}c=1}this.M&112&&(this.M&32?J(this,168):this.M&64?J(this,4):this.M&16&&J(this,12),this.M&=-113);if(this.Qa)if(1==this.Qa)this.Qa=2;else{this.Qa=0;a=null;for(var d=this.mc&224,f=this.j.length;0<=--f;){if(0 d&&(d=this.j[f].Wc,a=this.j[f],this.j.splice(f,1))}d>(this.N&224)&&(a?J(this,a.ld):J(this,160))}this.B&57344||(this.Sa=0,this.Yb=this.g[7]);this.M=this.N&16;a=this.ya(this.g[7]);0<=a&&(this.g[7]=this.g[7]+2&65535);this.decode(a)}while(0>1|b<<16;ed(this,a);return a&65535}function xd(a,b){a=b&2048|b>>1|b<<8;ed(this,a<<8);return a&255}function yd(a,b){a=b&~a;N(this,a);return a}function zd(a,b){a=b&~a;N(this,a<<8);return a}function Ad(a,b){a|=b;N(this,a);return a}function Bd(a,b){a|=b;N(this,a<<8);return a} function Cd(a,b){a=~b|65536;cd(this,a);return a&65535}function Dd(a,b){a=~b|256;cd(this,a<<8);return a&255}function Ed(a,b){a=b-a;this.M&128||(this.W=this.Y=a,this.U=b&(b^a));return a&65535}function Fd(a,b){a=b-a;var c=a<<8;b<<=8;this.M&128||(this.W=this.Y=c,this.U=b&(b^c));return a&255}function Gd(a,b){a=b+a;this.M&128||(this.W=this.Y=a,this.U=a&(b^a));return a&65535}function Hd(a,b){a=b+a;var c=a<<8;this.M&128||(this.W=this.Y=c,this.U=c&(b<<8^c));return a&255} function Id(a,b){a=-b;cd(this,a,a&b&32768);return a&65535}function Jd(a,b){a=-b;cd(this,a<<8,(a&b&128)<<8);return a&255}function Kd(a,b){a=b<<1|this.T>>16&1;ed(this,a);return a&65535}function Ld(a,b){a=b<<1|this.T>>16&1;ed(this,a<<8);return a&255}function Md(a,b){a=(this.T&65536|b)>>1|b<<16;ed(this,a);return a&65535}function Nd(a,b){a=((this.T&65536)>>8|b)>>1|b<<8;ed(this,a<<8);return a&255}function Od(a,b){var c=b-a;fd(this,c,a,b);return c&65535} function Pd(a,b){var c=b-a;fd(this,c<<8,a<<8,b<<8);return c&255}function Qd(a,b){a^=b;N(this,a);return a&65535}function Rd(a){var b=O(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.T=this.U=0;b&=63;b&32?(b=64-b,16>=b):b&&(16>15&65535)&&65535!==b&&(this.U=32768)));this.g[a]=c&65535;this.W=this.Y=c;--this.b} function Sd(a){var b=O(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.T=this.U=0;b&=63;if(b&32){b=64-b;32>b-1;this.T=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.W=d>>16;this.Y=d>>16|d;--this.b}function T(a){a&1&&(this.T=0);a&2&&(this.U=0);a&4&&(this.Y=1);a&8&&(this.W=0);--this.b} function Td(a){var b=O(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.T=this.U=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.Y=d>>16|d,this.W=d>>16):(this.U=32768,this.Y=d>>15|d,this.W=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1))}else this.Y=this.W=0,this.U=32768,this.T=65536;--this.b}function Ud(a){var b=kd(this,a,8);a=a>>6&7;gd(this,this.g[a]);this.g[a]=this.g[7];this.g[7]=b;--this.b} function Vd(a){var b=O(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.W=b>>16;this.Y=this.W|b;this.U=0;this.T=-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 we(a){P(this,a,O(this,(a&448)>>6),Qd);--this.b}function W(){J(this,8)}function Zc(a){xe[a>>12].call(this,a)} var xe=[function(a){ye[a>>8&15].call(this,a)},function(a){N(this,od(this,a,O(this,a>>6)));--this.b},function(a){var b=O(this,a>>6);a=O(this,a);fd(this,b-a,a,b);--this.b},function(a){N(this,O(this,a>>6)&O(this,a));--this.b},function(a){P(this,a,O(this,a>>6),yd);--this.b},function(a){P(this,a,O(this,a>>6),Ad);--this.b},function(a){P(this,a,O(this,a>>6),sd);--this.b},function(a){ze[a>>8&15].call(this,a)},function(a){Ae[a>>8&15].call(this,a)},function(a){var b=nd(this,a>>6);N(this,pd(this,a,b,1)<<8); --this.b},function(a){var b=nd(this,a>>6)<<8;a=nd(this,a)<<8;fd(this,b-a,a,b);--this.b},function(a){N(this,(nd(this,a>>6)&nd(this,a))<<8);--this.b},function(a){R(this,a,nd(this,a>>6),zd);--this.b},function(a){R(this,a,nd(this,a>>6),Bd);--this.b},function(a){P(this,a,O(this,a>>6),Od);--this.b},W],ye=[function(a){Be[a>>4&15].call(this,a)},function(a){S(this,a);--this.b},function(a){bd(this)||S(this,a);--this.b},function(a){bd(this)&&S(this,a);--this.b},function(a){!this.Na()==!ad(this)&&S(this,a);--this.b}, function(a){!this.Na()!=!ad(this)&&S(this,a);--this.b},function(a){bd(this)||!this.Na()!=!ad(this)||S(this,a);--this.b},function(a){(bd(this)||!this.Na()!=!ad(this))&&S(this,a);--this.b},Ud,Ud,function(a){Ce[a>>6&3].call(this,a)},function(a){De[a>>6&3].call(this,a)},function(a){Ee[a>>6&3].call(this,a)},function(a){Fe[a>>6&3].call(this,a)},W,W],Be=[function(a){Ge[a&15].call(this,a)},W,W,W,W,W,W,W,function(a){var b=id(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.N&49152||(this.N= this.N&-2017|(a&7)<<5,this.Qa=1);--this.b},function(a){He[a&15].call(this,a)},function(a){Ie[a&15].call(this,a)},W,W,W,W],He=[Wd,function(){this.T=0;--this.b},function(){this.U=0;--this.b},T,function(){this.Y=1;--this.b},T,T,T,function(){this.W=0;--this.b},T,T,T,T,T,T,T],Ie=[Wd,function(){this.T=65536;--this.b},function(){this.U=32768;--this.b},V,function(){this.Y=0;--this.b},V,V,V,function(){this.W=32768;--this.b},V,V,V,V,V,V,V],Ge=[function(){this.N&49152?(this.H|=128,J(this,4)):(this.na=3,Xc(this)); --this.b},function(){for(var a=0,b=this.j.length;0<=--b;)a+=this.j[b].Ga,this.j[b].Ga=0;a||0!==this.na||(this.na=2,Xc(this));--this.b},function(){hd(this);this.M|=this.N&16;--this.b},function(){J(this,12);--this.b},function(){J(this,16);--this.b},function(){this.N&49152||($c(this),this.F.reset());--this.b},function(){hd(this);--this.b},W,W,W,W,W,W,W,W,W],ze=[Vd,Vd,Td,Td,Rd,Rd,Sd,Sd,we,we,W,W,W,W,ve,ve],Ae=[function(a){this.Na()||S(this,a);--this.b},function(a){this.Na()&&S(this,a);--this.b},function(a){M(this)|| bd(this)||S(this,a);--this.b},function(a){(M(this)||bd(this))&&S(this,a);--this.b},function(a){ad(this)||S(this,a);--this.b},function(a){ad(this)&&S(this,a);--this.b},function(a){M(this)||S(this,a);--this.b},function(a){M(this)&&S(this,a);--this.b},function(){J(this,24);--this.b},function(){J(this,28);--this.b},function(a){Je[a>>6&3].call(this,a)},function(a){Ke[a>>6&3].call(this,a)},function(a){Le[a>>6&3].call(this,a)},function(a){Me[a>>6&3].call(this,a)},W,W],Ce=[function(a){cd(this,od(this,a,0)); --this.b},function(a){P(this,a,0,Cd);--this.b},function(a){P(this,a,1,Gd);--this.b},function(a){P(this,a,1,Ed);--this.b}],De=[function(a){P(this,a,0,Id);--this.b},function(a){P(this,a,M(this)?1:0,sd);--this.b},function(a){P(this,a,M(this)?1:0,Od);--this.b},function(a){a=O(this,a);cd(this,a);--this.b}],Ee=[function(a){P(this,a,0,Md);--this.b},function(a){P(this,a,0,Kd);--this.b},function(a){P(this,a,0,wd);--this.b},function(a){P(this,a,0,ud);--this.b}],Fe=[function(a){a=this.g[7]+((a&63)<<1)&65535; var b=this.ya(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;this.g[5]=b;--this.b},function(a){a=ld(this,a,0);gd(this,a);N(this,a);--this.b},function(a){var b=id(this);md(this,a,0,b);N(this,b);--this.b},function(a){N(this,od(this,a,this.Na?65535:0));--this.b}],Je=[function(a){cd(this,pd(this,a,0));--this.b},function(a){R(this,a,0,Dd);--this.b},function(a){R(this,a,1,Hd);--this.b},function(a){R(this,a,1,Fd);--this.b}],Ke=[function(a){R(this,a,0,Jd);--this.b},function(a){R(this,a,M(this)?1: 0,td);--this.b},function(a){R(this,a,M(this)?1:0,Pd);--this.b},function(a){a=nd(this,a);cd(this,a<<8);--this.b}],Le=[function(a){R(this,a,0,Nd);--this.b},function(a){R(this,a,0,Ld);--this.b},function(a){R(this,a,0,xd);--this.b},function(a){R(this,a,0,vd);--this.b}],Me=[W,function(a){a=ld(this,a,65536);gd(this,a);N(this,a);--this.b},function(a){var b=id(this);md(this,a,65536,b);N(this,b);--this.b},W]; function Ne(a){u.call(this,"ROM",a,Ne);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=ga(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){Oe(c,a,b,e)})}}w(Ne);Ne.prototype.Ya=function(a,b,c,d){this.F=b;this.b=c;this.C=d;Pe(this)}; Ne.prototype.Pa=function(){if(this.La){if(this.C){var a=this.C,b=this.id,c=this.D,d=this.j,f=this.La,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.vc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({rd:b,w:c,Sc:d,La:f,tc:e})}delete this.La}return!0};Ne.prototype.Oa=function(){return!0}; function Oe(a,b,c,d){if(d)a.pa("Unable to load system ROM (error "+d+": "+b+")");else{Za(a.rc,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.La=h.symbols;if(!a.i.length){t("Empty ROM: "+ b);return}if(1==a.i.length){t(a.i[0]);return}}catch(k){a.pa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.i=Array(b.length),f=0;f>>d.X].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.X;0>>=f.X;0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function Ue(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.ca?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 Ve(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 We(a,b,c){var d;if(b){b=Xe(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f>=1;g=n+g;d>>=8}d=r(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+d);return f} function $e(a,b){if(b)return Ze(a,b,a.ha[b]);var c=0;for(b in a.ha)Ze(a,b,a.ha[b]),c++;return 0>>d.F.X;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=Fb[c],n&&d.f(r(n.id,8)+" %"+r(f<>>c.X].Pb(d&c.i,d),b&&kf(a,b));return c};l.Ia=function(a,b){var c=65535,d=this.aa(a,!1,2);-1!==d&&(c=Gb(this.F,d),b&&kf(a,b));return c}; l.Ub=function(a,b,c){var d=this.aa(a,!0,1);if(-1!==d){var f=this.F;f.L[(d&f.j)>>>f.X].Cb(d&f.i,b&255,d);c&&kf(a,c);K(this.b,!0)}};l.pb=function(a,b,c){var d=this.aa(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.X;e!=f.i?f.L[g].qc(e,b&65535,d):(f.L[g++].Cb(e,b&255,d),f.L[g&f.A].Cb(0,b>>8&255,d+1));c&&kf(a,c);K(this.b,!0)}};function Y(a){return{w:a,Ha:!1}}function lf(a){return[a.w,a.Ha]}function mf(a){return{w:a[0],Ha:a[1]}} function jf(a,b,c){var d;c=(c?a.S:a.Eb).w;if(void 0!==b){d=b=Xe(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;d>>d.X],!1)}a.V=["br"];if(a.D)for(b=1;b>>d.X],!0);a.D=["bw"];a.Fb=0} l.jb=function(a,b,c){var d=!0;c||sf(this,a,b,!1,!0);if(a!=this.j){var f=this.aa(b);if(-1===f)this.f("invalid address: "+X(this,b.w)),d=!1;else{var e=this.F;e.L[f>>>e.X].jb(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Ha=!0:(tf(this,a,a.length-1,"set"),cf(this)));return d};function sf(a,b,c,d,f){var e=!1;c=a.aa(c);for(var g=1;g>>d.X],b==a.D));h.Ha||cf(a);break}}return e} function uf(a,b){for(var c=1;c>23)&65535,x=X(q,p);else if(8192==A)p=p.w-((e&63)<<1)&65535,x=X(q,p);else if(12288==A)x=X(q,e&7,1);else if(24576==A)x=X(q,e&63,1);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:x=xf(z);break;case 8:x="@"+xf(z);break;case 16:7>z?x="("+xf(z)+ ")+":(A=q.Ia(p,2),x="#"+X(q,A,0,!0));break;case 24:7>z?x="@("+xf(z)+")+":(A=q.Ia(p,2),x="@#"+X(q,A,0,!0));break;case 32:x="-("+xf(z)+")";break;case 40:x="@-("+xf(z)+")";break;case 48:A=q.Ia(p,2);x=X(q,A,0,!0)+"("+xf(z)+")";7==z&&(x=[x,X(q,A+p.w&65535)]);break;case 56:A=q.Ia(p,2),x="@"+X(q,A)+"("+xf(z)+")",7==z&&(x=[x,X(q,A+p.w&65535)])}q=x;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0a?"R"+a:6==a?"SP":"PC"} function zf(a,b){var c="",d=a.b;8>b?(c=xf(b),c+="="+X(a,d.g[b])):13>b?c="A"+(b-8)+"="+X(a,d.cb[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+X(a,d.Ca[b-16]):20==b&&(c="PS="+X(a,Yb(d)));c&&(c+=" ");return c}function Af(a){var b,c="";for(b=0;6>b;b++)c+=zf(a,b);c=c+"\n"+(zf(a,6)+zf(a,7)+zf(a,20));return c+=yf(a,"T")+yf(a,"N")+yf(a,"Z")+yf(a,"V")+yf(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]>>0;for(b=0;b>>0,h=e.Sc;if(f>=g&&fb)){d.g[b]=e&65535;break}a.f("unknown register: "+f);return}K(d);a.f("updated registers:")}a.f(Af(a));c&&(a.S=Y(d.g[7]),qf(a,X(a,a.S.w)))}}function Ff(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):We(a,b,!0)} function Gf(a,b,c){var d="t"!=b;c=Ye(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return db(a,!0)&&a.Ab(f,d,!1)},function(){K(a.b);db(a,!1)})} function qf(a,b,c,d){if(b=jf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=jf(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=wf(a,b,g,e);a.f(e);a.S=b;f-=b.w-k;c++}}} function vf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(">> "+b):(a.ca&&(a.f("ended assemble at "+X(a,a.ba.w)),a.S=a.ba,a.ca=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.xa=null;if(fb(a)&&0m||"z"da.length&&(a.f("note: only "+da.length+" available"),U=da.length);Z-=U;0>Z&&(null==da[da.length-1].w?(U=Z+U,Z=0):Z+=da.length);var Ec=[];"call"==be&&(gb=1E5,Ec=["CALL"]);for(void 0!==ae&&a.f(U+" instructions earlier:");0=da.length&&(Z= 0);a.Ib=U;de++;gb--}}de||(a.f("no "+ce+"history available"),a.Ib=void 0)}else{var Pb=jf(a,ca);if(Pb){var Qb=0;ua&&("l"==ua.charAt(0)&&(ua=ua.substr(1)||Zf),Qb=Ye(a,ua)>>>0,65536>4||1;ag--&&0Sb?String.fromCharCode(Sb): ".";Rb--}ib&&(ib+="\n");ib+=ca+" "+Gc+(0==kb?" "+ge:"")}ib&&a.f(ib);a.Eb=Pb}}}}break;case "e":if("else"==e[0])break;var Tb=1,he=255,ie=a.sb,je=a.Ub;"ew"==e[0]&&(Tb=2,he=65535,ie=a.Ia,je=a.pb);var ke=Tb<<1,le=e[1];if(null==le)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 Ub=jf(a,le);if(Ub)for(var Vb=2;VbKc;){for(var va=null,eg=256;65536>nb.w>>>0;){ne.w=a.Ia(nb,2);if(null==nb.w||!eg--)break;for(var fg=a,Wb=ne,oe=null,ob=Wb.w,pe=ob,Lc=1;6>=Lc&&ob;Lc++){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;bKf){if(Mf(d,this.P)){this.D=new L(this,"1.30.0","failsafe");Mf(this.D)&&(Rf(this,d),a=2,Sf(this.D));this.D.set("timestamp",ra());Tf(this.D);var f=this.i&&!this.G;if(1==a||wa("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Qf(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Mf(d,g):("error"== e&&"no machine state"!=g?(this.pa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.j=null)):this.f(e+": "+g),Sf(d),Mf(d)?(c=Qf(d),f=!0):c=!1))}f&&Pf(this,c?d:null)}else 2==a&&d.clear()}else Pf(this);delete this.P;delete this.S}f=$a(this.id);for(e=0;ea[1];a=a[2];this.ha=!0;this.u.ga=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.b&&(Uf(this,this.b,b,c,a),this.b.Hb());this.ba&&(Rf(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; function Rf(a,b){if(wa("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 Hf(a,b,c){var d,f="none";if(a.A)return null;a.A--;var e=new L(a,"1.30.0"),g=new L(a,"1.30.0","validate"),h=ra();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.Oa&&(c&&a.b.ma(),d=a.b.Oa(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.u.ga=!1,!1===d&&(f=null)));for(var h=$a(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);lg(a,b,c)}})}else c(a,null)} function mg(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function e(a){f("Error: "+a);k&&(--Yf||Qa(!0));k=!1}var g,h,k=!0;Yf++;Ya[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?jg(c,null,null,!1,f,function(d,k){k?(Za(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Yf||Qa(!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),--Yf||Qa(!0)):e("invalid machine element: "+ a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?jg(b,a,d,!0,f,m):kg(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){Qa(!1);return mg(a,b,c,d)};window.enableEvents=Qa;window.sendEvent=Ra;})();