(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,pb:!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.W&&(this.W=10);15>2;this.i=this.za-1;this.B=this.D/this.za|0;this.A=this.B-1;this.Sa=[];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.Sa[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.Sa[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.Sa[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.Sa[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.Sa[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.Na=function(a,b){b||this.reset();return!0}; function Cb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.W;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.za;g-=n;h++;continue}}return Eb(1,e,g)}e=new F(e,n,a.za,d,f);xb(e,a.C,k);a.L[h++]=e;e=m+a.za;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.rb=function(a){return this.L[(a&this.j)>>>this.W].vb(a&this.i,a)};l.Fa=function(a){var b=a&this.i,c=(a&this.j)>>>this.W;return b!=this.i?this.L[c].Qb(b,a):this.L[c++].vb(b,a)|this.L[c&this.A].vb(0,a+1)<<8};function Gb(a,b){var c=b&a.i,d=(b&a.j)>>>a.W;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.W].Bb(a&this.i,b&255,a)}; l.zb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.W;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.ra=a>>1&15;c.$b=a&257?a&1?6:4:0;Xb(c);a=c.A;a&1|256&&(b=this.b.gb&16?1:2);this.A.sb=this.A.sb&-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.na[e]&&(b.na[e]={cache:[],postProcess:a.ad,drive:e,blocksize:256,mapped:0,maxblock:b.ib[e]*b.Z[e],url:"rk"+e+".dsk"});b.N&=-129;switch(b.N>>1&7){case 0:b.Sb=2496;b.la=0;b.N=128;b.sa=0;break;case 1:if((b.sa>>4&511)>=b.ib[e]){b.la|=32832;b.N|=49152;break}if((b.sa&15)>=b.Z[e]){b.la|=32800;b.N|=49152;break}c=(b.sa>>4&511)*b.Z[e]+(b.sa&15);d=(b.N&48)<<12|b.Rb;f=65536-b.Tb&65535;ac(a,b.na[e],c,d,f);return;case 2:if((b.sa>>4&511)>=b.ib[e])b.la|= 32832,b.N|=49152;else if((b.sa&15)>=b.Z[e])b.la|=32800,b.N|=49152;else{c=(b.sa>>4&511)*b.Z[e]+(b.sa&15);d=(b.N&48)<<12|b.Rb;f=65536-b.Tb&65535;a.bc(b.na[e],c,d,f);return}}b.Sb=e<<13|b.Sb&8176|b.sa%9&15;H(a.b,20,5,144,function(){b.N=b.N&65534|128;return!!(b.N&64)})}l.ad=function(a,b,c,d,f){var e=this.B;e.Rb=d&65535;e.N=e.N&-49|d>>12&48;e.Tb=65536-f&65535;switch(a){case 1:e.la|=33024;e.N|=49152;break;case 2:e.la|=33792,e.N|=49152}H(this.b,20,5,144,function(){e.N=e.N&65534|128;return!!(e.N&64)})}; function bc(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.na[e]&&(b.na[e]={cache:[],postProcess:a.bd,drive:e,blocksize:128,mapped:1,maxblock:b.ib[e]*b.Z[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.Za&8&&(b.K&=63);b.Za=b.Hc[e]|b.eb&64;break;case 3:1==(b.ea&3)&&(b.eb=b.ea&4?b.eb+(b.ea&65408)&65408|b.ea<<2&64:b.eb-(b.ea&65408)&65408|b.ea<<2&64,b.ea=b.eb);break;case 4:b.Za=b.eb;break;case 5:if(b.ea>>6>=b.ib[e]){b.K|=37888;break}if((b.ea&63)>=b.Z[e]){b.K|=37888;break}c=(b.ea>>6)*b.Z[e]+ (b.ea&63);d=(b.Ta&63)<<16|b.Jb;f=65536-b.Za&65535;ac(a,b.na[e],c,d,f);return;case 6:if(b.ea>>6>=b.ib[e])b.K|=37888;else if((b.ea&63)>=b.Z[e])b.K|=37888;else{c=(b.ea>>6)*b.Z[e]+(b.ea&63);d=(b.Ta&63)<<16|b.Jb;f=65536-b.Za&65535;a.bc(b.na[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.Ta=d>>16&63;e.ea=~~(c/e.Z[b.Ka])<<6|c%e.Z[b.Ka];e.eb=e.ea;e.Za=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.P=2176;a.Aa=0;a.pa=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.nb=a.yb=a.wb=a.cb=a.nc=0} function dc(a,b){var c=a.G,d,f,e;c.P&=-16513;c.Aa&=-2049;c.pa[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof c.na[b]&&(c.na[b]={cache:[],postProcess:a.cd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.hb[0]*c.Z[0],url:"rp"+b+".dsk"});switch(c.P&63){case 5:c.dc[b]=c.Qa[b];c.P|=32896;c.pa[b]|=32896;c.nb|=1<=c.ec[0]||c.Ba[b]>>8>=c.hb[0]||(c.Ba[b]&255)>=c.Z[0]){c.xb[b]|=1024;c.P|=49152;break}d=(c.Qa[b]*c.hb[0]+(c.Ba[b]>>8))*c.Z[0]+ (c.Ba[b]&255);f=(c.cb&63)<<16|c.wb;e=65536-c.yb&65535;ac(a,c.na[b],d,f,e);return;case 57:if(c.Qa[b]>=c.ec[0]||c.Ba[b]>>8>=c.hb[0]||(c.Ba[b]&255)>=c.Z[0])c.xb[b]|=1024,c.P|=49152;else{d=(c.Qa[b]*c.hb[0]+(c.Ba[b]>>8))*c.Z[0]+(c.Ba[b]&255);f=(c.cb&63)<<16|c.wb;e=65536-c.yb&65535;a.bc(c.na[b],d,f,e);return}}H(a.b,3,5,172,function(){c.P=c.P&65534|128;c.pa[b]|=128;return!!(c.P&64)})} l.cd=function(a,b,c,d,f){var e=this.G;e.yb=65536-f&65535;e.wb=d&65535;e.P=e.P&-769|d>>8&768;e.cb=d>>16&63;f=~~(c/e.Z[0]);d=~~(f/e.hb[0]);e.Ba[b.Ka]=f%e.hb[0]<<8|c%e.Z[0];e.dc[b.Ka]=e.Qa[b.Ka]=d;e.nb|=1<=b.Uc-1&&(e.pa[b.Ka]|=1024);switch(a){case 1:e.Aa|=512;e.P|=49152;break;case 2:e.Aa|=2048,e.P|=49152}H(this.b,20,5,172,function(){e.pa[b.Ka]|=128;e.P=e.P&65534|128;return!!(e.P&64)})}; function ec(a,b,c,d,f,e){var g=~~((e+c.Ua-1)/c.Ua),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.sb=this.A.sb&-120|20;this.j.Ga=0;this.j.ua=128;this.i.Ya=0;this.B.N=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.ab&65280:(a&1&&(b<<=8),e.ab=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.Oa=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.aa>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Pa[3]=b),d=e.Pa[3]):e.aa>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Pa[1]=b),d=e.Pa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.aa&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.bb[f]=b),d=e.bb[f]),d; case 4194246:return a&1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.aa>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Pa[0]=b),d=e.Pa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.aa&2048?(0<=b&&(e.bb[f]=b),d=e.bb[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.fb;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.Ga&=-129,0b?d=g.Ga:(d=I(this,g.Ga,a,b,c),0<=d&&(g.Ga=g.Ga&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.N,a,b,c);0<=b&&0<=d&&(f.N=d&-36993|f.N&36992,f.N&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.Aa&7;switch(a&-2){case 4193728:d=I(this,h.P,a,b,c);0<=b&&0<=d&&(h.cb=h.cb&60|d>>8&3,h.P=d&17279|h.P&34944|2048,d&1&&h.P&128?dc(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.yb,a,b,c);0<=d&&(h.yb=d);break;case 4193732:d=I(this,h.wb,a,b,c);0<=d&&(h.wb=d&65534);break;case 4193734:d=I(this,h.Ba[f],a,b,c);0<=d&&(h.Ba[f]=d&7967);break;case 4193736:d=I(this,h.Aa,a,b,c);0<=d&&(h.Aa=d&63|h.Aa&65472,d&128&&cc(this));break;case 4193738:d=h.pa[f];break;case 4193740:d=h.xb[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.Qa[f],a,b,c);0<=d&&(h.Qa[f]=d&511);break;case 4193758:h.dc[f]=h.Qa[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.cb,a,b,c);0<=d&&(h.cb=d&63,h.P=h.P&-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.Ta=f.Ta&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.Za, a,b,c);0<=d&&(f.Za=d);break;case 4192520:d=I(this,f.Ta,a,b,c);0<=d&&(f.Ta=d&63,f.K=f.K&-49|(f.Ta&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.sb=this.A.sb&-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=Ub[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},Ca: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.Wa=!0},ba:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,1,c.U)&&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.U)&&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)},Ia: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)},Y:function(a){return this.I[a]},ca:function(a){return this.I[a]},fa:function(a){return this.G.getUint16(a,!0)},qa:function(a){return a&1?this.I[a]|this.I[a+1]<<8:this.O[a>>1]},va:function(a,b){this.I[a]=b;this.Wa=!0},xa:function(a,b){this.I[a]=b;this.Wa=!0},Da:function(a,b){this.G.setUint16(a,b,!0);this.Wa=!0},Db:function(a,b){a&1?(this.I[a]=b,this.I[a+1]=b>>8):this.O[a>> 1]=b;this.Wa=!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.vb=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.vb=b[0]||a.R,a.Qb=b[2]||a.U);if(c||void 0===c)a.Pb=b[0]||a.R,a.lc=b[2]||a.U}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.Ca,F.prototype.ra,F.prototype.Ra],sc=[F.prototype.ba,F.prototype.wa,F.prototype.ha,F.prototype.Ia];if(tb)var pc=[F.prototype.Y,F.prototype.va,F.prototype.fa,F.prototype.Da],oc=[F.prototype.ca,F.prototype.xa,F.prototype.qa,F.prototype.Db]; function xc(a,b){u.call(this,"CPU",a,xc,1);var c=a.multiplier||1;this.wa=a.cycles||b;this.$a=c;this.Ca=Math.round(this.wa/1E4)/100;this.mb=this.Ca*this.$a;this.u.ja=!1;this.u.oc=!1;this.u.Hb=a.autoStart;this.u.wc=!1;this.u.qb=!1;this.Mb=this.ba=0;this.Nb=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.D=[];this.Kb=this.ob.bind(this);D(this)}w(xc);var yc=["power","reset"];l=xc.prototype; l.Xa=function(a,b,c,d){this.i=a;this.F=b;this.C=d;for(b=0;b=a.ba&&(a.ba+=a.tb,c=!0);0<=a.ub&&a.ub<=Sc(a)&&(a.tb=a.ub=-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.O/a.mb?b=1:d=!0;a.$a=b;b=a.Ca*a.$a;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.R=0;Wc(a);return d}function Vb(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Wb(a,b){var c;0<=b&&ba.D[b][0]&&(c=a.wa*a.$a/1E3*(1E3/60),a.D[b][0]=c)}function Xc(a){a.U-=a.b;a.b=0} l.ob=function(a){if(pb(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.ya(!0),a&&this.i.Wb(!0))}this.Da>=this.wa&&Wc(this,!0);this.ha=0;this.va=pa();this.R&&(a=this.va-this.R,a>this.Fb&&(this.G+=a,this.G>this.va&&(this.G=this.va)));try{do{for(var c,d=this.u.qb?1:this.xa,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.U-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.xa;15<=++this.Ib&&(this.i&&this.i.ya(),this.Ib=0);break}}while(this.u.ja)}catch(m){this.ma();K(this);this.i&&this.i.stop(pa(),Sc(this));pb(this,!1);sb(this,m.stack||m.message);return}c=setTimeout;d=this.Kb;this.R=pa();f=this.Fb;this.ha&&(f=Math.round(f*this.ha/this.xa));f-=this.R- this.va;if(e=this.R-this.G)this.O=Math.round(this.J/(10*e))/100,864E5<=e&&(this.Y=0,Uc(this));if(0>f||this.Of&&(this.G-=f),f=0;this.Da+=this.ha;this.R+=f;c(d,f)}else K(this),this.i&&this.i.stop(pa(),Sc(this))};l.Ab=function(){return 0};l.ma=function(a){qb(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.ya(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.S=65536;this.T=32768;this.X=65535;this.V=32768;this.aa=15;this.g=[0,0,0,0,0,0,0,this.ic];this.bb=[0,0,0,0,0,0];this.Pa=[0,0,0,0];this.ra=this.B=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.Ia=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.ab=255;a.H=0;a.mc=0;a.A=0;a.fb=0;a.Yb=0;a.gb=0;a.$b=0;a.qa=0;a.ac=[7,7,7,7];a.j=[];a.Oa=2;Xb(a)}function Xb(a){a.$b?(a.Ra=65536,a.$=a.Rc,a.Qb=a.Ha):(a.Ra=0,a.$=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.Y,this.$a]);a.set(2,Hb(this.F));return a.data()}; l.restore=function(a){var b=a[1];this.Y=b[1];Uc(this,b[3]);a:{b=this.F;a=a[2];var c;for(c=0;cb){a.j[e].Va-=b;break}b-=a.j[e].Va}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Oa=2}function Yb(a){return a.aa=a.aa&63728|a.La()|bd(a)|ad(a)|M(a)} function Zb(a,b){a.V=b<<12;a.X=~b&4;a.T=b<<14;a.S=b<<16;if((b^a.aa)&2048)for(var c=a.bb.length;0<=--c;){var d=a.g[c];a.g[c]=a.bb[c];a.bb[c]=d}a.B=b>>14&3;c=a.aa>>14&3;a.B!=c&&(a.Pa[c]=a.g[6],a.g[6]=a.Pa[a.B]);a.Oa=2;a.aa=b}function cd(a,b,c){a.M&128||(a.V=a.X=a.S=b,a.T=c||0)}function N(a,b){a.M&128||(a.V=a.X=b,a.T=0)}function dd(a,b,c,d){a.M&128||(a.V=a.X=a.S=b,a.T=(c^b)&(d^b))}function ed(a,b){a.M&128||(a.V=a.X=a.S=b,a.T=a.V^a.S>>1)}function fd(a,b,c,d){a.M&128||(a.V=a.X=a.S=b,a.T=(c^d)&(d^b))} function J(a,b){var c=!1;0>a.da?a.da=Yb(a):a.B||(b=4,c=!0);a.A&57344||(a.fb=63222,a.Yb=b);a.B=0;var d=a.Ha(b|65536),f=a.Ha(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.aa&49152&&(c=c&-225|a.aa&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.B];f=a.ka[a.B][d];e=(a.ka[a.B][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.B][d]=f;if(4194170!==e||a.B)a.qa=a.B,a.ra=d;g&&(g&57344&&(0<=a.da&&(g|=128),a.A&57344||(a.A=a.A|g|a.qa<<5|a.ra<<1),J(a,168)),a.A&61440||!(4191360>e||4194239>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.B&&c&4&&(a.g[6]<=a.ab||65534<=a.g[6])&&(a.g[6]<=a.ab-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.Ha(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.Ha(d)))return d; d|=g;break;case 6:if(0>(d=a.Ha(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.Ha(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return 0>(d=a.Ha(d|65536))?d:d|g}a.g[e]=a.g[e]+f&65535;!g||a.A&57344||(a.fb=a.fb<<8|f<<3&248|e);6===e&&!a.B&&c&4&&0>=f&&(a.g[6]<=a.ab||65534<=a.g[6])&&(a.g[6]<=a.ab-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 O(a,b){return b&56?a.Qb(kd(a,b,2)):a.g[b&7]}function ld(a,b){b&56?(b=a.$(b,3),a=a.F.rb(b)):a=a.g[b&7]&255;return a}function Q(a,b,c,d){b&56?(b=a.$(b,6),c=d.call(a,c,a.cc(b)),a.F.zb(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.$(b,7),c=d.call(a,c,a.F.rb(b)),a.F.Ub(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function md(a,b,c){b&56?(b=a.$(b,4),a.F.zb(b,c&65535)):a.g[b&7]=c&65535;return c} function nd(a,b,c,d){b&56?(d=a.$(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){return a.g[7]+(b<<24>>23)&65535} l.Ab=function(a){this.u.complete=!0;var b=this.u.Kc=this.C&&od(this.C),c=a?this.u.oc?0:1:-1;this.u.oc=!1;this.U=this.b=a;do{if(b){if(pd(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.Oa)if(1==this.Oa)this.Oa=2;else{this.Oa=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.aa&224)&&(a?J(this,a.ld):J(this,160))}this.A&57344||(this.fb=0,this.Yb=this.g[7]);this.M=this.aa&16;a=this.Ha(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 vd(a,b){a=b&2048|b>>1|b<<8;ed(this,a<<8);return a&255}function wd(a,b){a=b&~a;N(this,a);return a}function xd(a,b){a=b&~a;N(this,a<<8);return a}function yd(a,b){a|=b;N(this,a);return a}function zd(a,b){a|=b;N(this,a<<8);return a} function Ad(a,b){a=~b|65536;cd(this,a);return a&65535}function Bd(a,b){a=~b|256;cd(this,a<<8);return a&255}function Cd(a,b){a=b-a;this.M&128||(this.V=this.X=a,this.T=b&(b^a));return a&65535}function Dd(a,b){a=b-a;var c=a<<8;b<<=8;this.M&128||(this.V=this.X=c,this.T=b&(b^c));return a&255}function Ed(a,b){a=b+a;this.M&128||(this.V=this.X=a,this.T=a&(b^a));return a&65535}function Fd(a,b){a=b+a;var c=a<<8;this.M&128||(this.V=this.X=c,this.T=c&(b<<8^c));return a&255} function Gd(a,b){a=-b;cd(this,a,a&b&32768);return a&65535}function Hd(a,b){a=-b;cd(this,a<<8,(a&b&128)<<8);return a&255}function Id(a,b){a=b<<1|this.S>>16&1;ed(this,a);return a&65535}function Jd(a,b){a=b<<1|this.S>>16&1;ed(this,a<<8);return a&255}function Kd(a,b){a=(this.S&65536|b)>>1|b<<16;ed(this,a);return a&65535}function Ld(a,b){a=((this.S&65536)>>8|b)>>1|b<<8;ed(this,a<<8);return a&255}function Md(a,b){var c=b-a;fd(this,c,a,b);return c&65535} function Nd(a,b){var c=b-a;fd(this,c<<8,a<<8,b<<8);return c&255}function Od(a,b){a^=b;N(this,a);return a&65535}function Pd(a){var b=O(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.S=this.T=0;b&=63;b&32?(b=64-b,16>=b):b&&(16>15&65535)&&65535!==b&&(this.T=32768)));this.g[a]=c&65535;this.V=this.X=c;--this.b} function Qd(a){var b=O(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.S=this.T=0;b&=63;if(b&32){b=64-b;32>b-1;this.S=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.V=d>>16;this.X=d>>16|d;--this.b}function U(a){a&1&&(this.S=0);a&2&&(this.T=0);a&4&&(this.X=1);a&8&&(this.V=0);--this.b} function Rd(a){var b=O(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.S=this.T=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.X=d>>16|d,this.V=d>>16):(this.T=32768,this.X=d>>15|d,this.V=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1))}else this.X=this.V=0,this.T=32768,this.S=65536;--this.b}function Sd(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 Td(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.V=b>>16;this.X=this.V|b;this.T=0;this.S=-32768>b||32767>6),Od);--this.b}function W(){J(this,8)}function Zc(a){ve[a>>12].call(this,a)} var ve=[function(a){we[a>>8&15].call(this,a)},function(a){N(this,md(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){Q(this,a,O(this,a>>6),wd);--this.b},function(a){Q(this,a,O(this,a>>6),yd);--this.b},function(a){Q(this,a,O(this,a>>6),qd);--this.b},function(a){xe[a>>8&15].call(this,a)},function(a){ye[a>>8&15].call(this,a)},function(a){var b=ld(this,a>>6);N(this,nd(this,a,b,1)<<8); --this.b},function(a){var b=ld(this,a>>6)<<8;a=ld(this,a)<<8;fd(this,b-a,a,b);--this.b},function(a){N(this,(ld(this,a>>6)&ld(this,a))<<8);--this.b},function(a){R(this,a,ld(this,a>>6),xd);--this.b},function(a){R(this,a,ld(this,a>>6),zd);--this.b},function(a){Q(this,a,O(this,a>>6),Md);--this.b},W],we=[function(a){ze[a>>4&15].call(this,a)},function(a){this.g[7]=S(this,a);--this.b},function(a){bd(this)||(this.g[7]=S(this,a));--this.b},function(a){bd(this)&&(this.g[7]=S(this,a));--this.b},function(a){!this.La()== !ad(this)&&(this.g[7]=S(this,a));--this.b},function(a){!this.La()!=!ad(this)&&(this.g[7]=S(this,a));--this.b},function(a){bd(this)||!this.La()!=!ad(this)||(this.g[7]=S(this,a));--this.b},function(a){if(bd(this)||!this.La()!=!ad(this))this.g[7]=S(this,a);--this.b},Sd,Sd,function(a){Ae[a>>6&3].call(this,a)},function(a){Be[a>>6&3].call(this,a)},function(a){Ce[a>>6&3].call(this,a)},function(a){De[a>>6&3].call(this,a)},W,W],ze=[function(a){Ee[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.aa&49152||(this.aa=this.aa&-2017|(a&7)<<5,this.Oa=1);--this.b},function(a){Fe[a&15].call(this,a)},function(a){Ge[a&15].call(this,a)},W,W,W,W],Fe=[Ud,function(){this.S=0;--this.b},function(){this.T=0;--this.b},U,function(){this.X=1;--this.b},U,U,U,function(){this.V=0;--this.b},U,U,U,U,U,U,U],Ge=[Ud,function(){this.S=65536;--this.b},function(){this.T=32768;--this.b},V,function(){this.X=0;--this.b},V,V,V,function(){this.V=32768;--this.b}, V,V,V,V,V,V,V],Ee=[function(){this.aa&49152?(this.H|=128,J(this,4)):(this.Ia=3,Xc(this));--this.b},function(){--this.b},function(){hd(this);this.M|=this.aa&16;--this.b},function(){--this.b},function(){--this.b},function(){this.aa&49152||($c(this),this.F.reset());--this.b},function(){hd(this);--this.b},function(){--this.b},W,W,W,W,W,W,W,W],xe=[Td,Td,Rd,Rd,Pd,Pd,Qd,Qd,ue,ue,W,W,W,W,te,te],ye=[function(a){this.La()||(this.g[7]=S(this,a));--this.b},function(a){this.La()&&(this.g[7]=S(this,a));--this.b}, function(a){M(this)||bd(this)||(this.g[7]=S(this,a));--this.b},function(a){if(M(this)||bd(this))this.g[7]=S(this,a);--this.b},function(a){ad(this)||(this.g[7]=S(this,a));--this.b},function(a){ad(this)&&(this.g[7]=S(this,a));--this.b},function(a){M(this)||(this.g[7]=S(this,a));--this.b},function(a){M(this)&&(this.g[7]=S(this,a));--this.b},function(){J(this,24);--this.b},function(){J(this,28);--this.b},function(a){He[a>>6&3].call(this,a)},function(a){Ie[a>>6&3].call(this,a)},function(a){Je[a>>6&3].call(this, a)},function(a){Ke[a>>6&3].call(this,a)},W,W],Ae=[function(a){cd(this,md(this,a,0));--this.b},function(a){Q(this,a,0,Ad);--this.b},function(a){Q(this,a,1,Ed);--this.b},function(a){Q(this,a,1,Cd);--this.b}],Be=[function(a){Q(this,a,0,Gd);--this.b},function(a){Q(this,a,M(this)?1:0,qd);--this.b},function(a){Q(this,a,M(this)?1:0,Md);--this.b},function(a){a=O(this,a);cd(this,a);--this.b}],Ce=[function(a){Q(this,a,0,Kd);--this.b},function(a){Q(this,a,0,Id);--this.b},function(a){Q(this,a,0,ud);--this.b}, function(a){Q(this,a,0,sd);--this.b}],De=[function(){--this.b},function(){--this.b},function(){--this.b},function(a){N(this,md(this,a,this.La?65535:0));--this.b}],He=[function(a){cd(this,nd(this,a,0));--this.b},function(a){R(this,a,0,Bd);--this.b},function(a){R(this,a,1,Fd);--this.b},function(a){R(this,a,1,Dd);--this.b}],Ie=[function(a){R(this,a,0,Hd);--this.b},function(a){R(this,a,M(this)?1:0,rd);--this.b},function(a){R(this,a,M(this)?1:0,Nd);--this.b},function(a){a=ld(this,a);cd(this,a<<8);--this.b}], Je=[function(a){R(this,a,0,Ld);--this.b},function(a){R(this,a,0,Jd);--this.b},function(a){R(this,a,0,vd);--this.b},function(a){R(this,a,0,td);--this.b}],Ke=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}]; function Le(a){u.call(this,"ROM",a,Le);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){Me(c,a,b,e)})}}w(Le);Le.prototype.Xa=function(a,b,c,d){this.F=b;this.b=c;this.C=d;Ne(this)}; Le.prototype.Na=function(){if(this.Ja){if(this.C){var a=this.C,b=this.id,c=this.D,d=this.j,f=this.Ja,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,Ja:f,tc:e})}delete this.Ja}return!0};Le.prototype.Ma=function(){return!0}; function Me(a,b,c,d){if(d)a.oa("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.Ja=h.symbols;if(!a.i.length){t("Empty ROM: "+ b);return}if(1==a.i.length){t(a.i[0]);return}}catch(k){a.oa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.i=Array(b.length),f=0;f>>d.W].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.W;0>>=f.W;0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function Se(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 Te(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 Ue(a,b,c){var d;if(b){b=Ve(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 Ye(a,b){if(b)return Xe(a,b,a.ha[b]);var c=0;for(b in a.ha)Xe(a,b,a.ha[b]),c++;return 0>>d.F.W;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.W].Pb(d&c.i,d),b&&hf(a,b));return c};l.Fa=function(a,b){var c=65535,d=this.$(a,!1,2);-1!==d&&(c=Gb(this.F,d),b&&hf(a,b));return c}; l.Ub=function(a,b,c){var d=this.$(a,!0,1);if(-1!==d){var f=this.F;f.L[(d&f.j)>>>f.W].Cb(d&f.i,b&255,d);c&&hf(a,c);K(this.b,!0)}};l.zb=function(a,b,c){var d=this.$(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.W;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&&hf(a,c);K(this.b,!0)}};function Y(a){return{w:a,Ea:!1}}function jf(a){return[a.w,a.Ea]}function kf(a){return{w:a[0],Ea:a[1]}} function gf(a,b,c){var d;c=(c?a.R:a.Eb).w;if(void 0!==b){d=b=Ve(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.W],!1)}a.U=["br"];if(a.D)for(b=1;b>>d.W],!0);a.D=["bw"];a.Fb=0} l.jb=function(a,b,c){var d=!0;c||qf(this,a,b,!1,!0);if(a!=this.j){var f=this.$(b);if(-1===f)this.f("invalid address: "+X(this,b.w)),d=!1;else{var e=this.F;e.L[f>>>e.W].jb(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Ea=!0:(rf(this,a,a.length-1,"set"),af(this)));return d};function qf(a,b,c,d,f){var e=!1;c=a.$(c);for(var g=1;g>>d.W],b==a.D));h.Ea||af(a);break}}return e} function sf(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=vf(z);break;case 8:x="@"+vf(z);break;case 16:7>z?x="("+vf(z)+ ")+":(A=q.Fa(p,2),x="#"+X(q,A,0,!0));break;case 24:7>z?x="@("+vf(z)+")+":(A=q.Fa(p,2),x="@#"+X(q,A,0,!0));break;case 32:x="-("+vf(z)+")";break;case 40:x="@-("+vf(z)+")";break;case 48:A=q.Fa(p,2);x=X(q,A,0,!0)+"("+vf(z)+")";7==z&&(x=[x,X(q,A+p.w&65535)]);break;case 56:A=q.Fa(p,2),x="@"+X(q,A)+"("+vf(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 xf(a,b){var c="",d=a.b;8>b?(c=vf(b),c+="="+X(a,d.g[b])):13>b?c="A"+(b-8)+"="+X(a,d.bb[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+X(a,d.Pa[b-16]):20==b&&(c="PS="+X(a,Yb(d)));c&&(c+=" ");return c}function yf(a){var b,c="";for(b=0;6>b;b++)c+=xf(a,b);c=c+"\n"+(xf(a,6)+xf(a,7)+xf(a,20));return c+=wf(a,"T")+wf(a,"N")+wf(a,"Z")+wf(a,"V")+wf(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(yf(a));c&&(a.R=Y(d.g[7]),of(a,X(a,a.R.w)))}}function Df(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):Ue(a,b,!0)} function Ef(a,b,c){var d="t"!=b;c=We(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return pb(a,!0)&&a.Ab(f,d,!1)},function(){K(a.b);pb(a,!1)})} function of(a,b,c,d){if(b=gf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=gf(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=uf(a,b,g,e);a.f(e);a.R=b;f-=b.w-k;c++}}} function tf(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.R=a.ba,a.ca=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.xa=null;if(rb(a)&&0m||"z"da.length&&(a.f("note: only "+da.length+" available"),T=da.length);Z-=T;0>Z&&(null==da[da.length-1].w?(T=Z+T,Z=0):Z+=da.length);var Ec=[];"call"==$d&&(db=1E5,Ec=["CALL"]);for(void 0!==Zd&&a.f(T+" instructions earlier:");0=da.length&&(Z= 0);a.Ib=T;be++;db--}}be||(a.f("no "+ae+"history available"),a.Ib=void 0)}else{var Lb=gf(a,ca);if(Lb){var Mb=0;ua&&("l"==ua.charAt(0)&&(ua=ua.substr(1)||Xf),Mb=We(a,ua)>>>0,65536>4||1;Zf--&&0Ob?String.fromCharCode(Ob): ".";Nb--}fb&&(fb+="\n");fb+=ca+" "+Gc+(0==hb?" "+ee:"")}fb&&a.f(fb);a.Eb=Lb}}}}break;case "e":if("else"==e[0])break;var Pb=1,fe=255,ge=a.rb,he=a.Ub;"ew"==e[0]&&(Pb=2,fe=65535,ge=a.Fa,he=a.zb);var ie=Pb<<1,je=e[1];if(null==je)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 Qb=gf(a,je);if(Qb)for(var Rb=2;RbKc;){for(var va=null,cg=256;65536>kb.w>>>0;){le.w=a.Fa(kb,2);if(null==kb.w||!cg--)break;for(var dg=a,Sb=le,me=null,lb=Sb.w,ne=lb,Lc=1;6>=Lc&&lb;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;bIf){if(Kf(d,this.O)){this.D=new L(this,"1.30.0","failsafe");Kf(this.D)&&(Pf(this,d),a=2,Qf(this.D));this.D.set("timestamp",ra());Rf(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=Of(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Kf(d,g):("error"== e&&"no machine state"!=g?(this.oa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.j=null)):this.f(e+": "+g),Qf(d),Kf(d)?(c=Of(d),f=!0):c=!1))}f&&Nf(this,c?d:null)}else 2==a&&d.clear()}else Nf(this);delete this.O;delete this.R}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&&(Sf(this,this.b,b,c,a),this.b.Hb());this.ba&&(Pf(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; function Pf(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 Ff(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.Ma&&(c&&a.b.ma(),d=a.b.Ma(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);jg(a,b,c)}})}else c(a,null)} function kg(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&&(--Wf||Qa(!0));k=!1}var g,h,k=!0;Wf++;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?hg(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,--Wf||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),--Wf||Qa(!0)):e("invalid machine element: "+ a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?hg(b,a,d,!0,f,m):ig(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 kg(a,b,c,d)};window.enableEvents=Qa;window.sendEvent=Ra;})();