(function(){var l; function ca(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 ea(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ja(a){return a.replace(/[&<>"']/g,function(a){return ia[a]})}function ka(a,b){return(a+" ").slice(0,b)} function ma(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function na(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 ta(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 ha(){return"http://"+(window?window.location.host:"www.pcjs.org")} function t(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var va=null;function wa(){if(null==va){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}va=a}return va}function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(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 Fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.Ab=this.id:(this.tc=this.id.substr(0,b),this.Ab=this.id.substr(b+1));this[a]=c;this.j={ready:!1,ob:!1,fc:!1,ba:!1,error:!1};this.Xb=null;this.j.error=!1;this.I={};this.F=null;this.da=d||0;v.push(this)}var Qa=void 0,Ra={}; if(window){Qa||(Qa=window.location.search.substr(1));for(var Sa,Ta=/\+/g,Ua=/([^&=]+)=?([^&]*)/g;Sa=Ua.exec(Qa);)Ra[decodeURIComponent(Sa[1].replace(Ta," "))]=decodeURIComponent(Sa[2].replace(Ta," "))}function Va(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=Va(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Wa=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Wa={},v=[];function Xa(a,b,c){Wa[a]&&b&&(Wa[a][b]=c)}function Ya(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.S&&(this.S=10);15>2;this.f=this.Aa-1;this.w=this.B/this.Aa|0;this.u=this.w-1;this.Qa=[];this.D=null;this.Ib=this.Fc;a=new F;vb(a,this.F);this.L=Array(this.w);for(b=0;b>8:d[2](b)&255}else if(b&1&&(d=c.Qa[a&-2],d[2]))return d[2](b&-2)>>8;c.g("warning: unconverted read access to byte @"+da(b));return c.Ib(b,-1,1)} function xb(a,b,c){var d=this.controller,f=d.Qa[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.Qa[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.g("warning: unconverted write access to byte @"+da(c));d.Ib(c,b,1)} function yb(a,b){var c=this.controller;if(a=c.Qa[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.g("warning: unconverted read access to word @"+da(b));return c.Ib(b,-1,0)}function zb(a,b,c){var d=this.controller;if(a=d.Qa[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.g("warning: unconverted write access to word @"+da(c));d.Ib(c,b,0)}l=ub.prototype;l.reset=function(){this.D&&this.D()};l.Fc=function(){return 0};l.Ma=function(a,b){b||this.reset();return!0}; function Ab(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.S;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.A)return k.Ub+=k.A-e,k.A=e,!0;if(e>=k.A+k.Ub){n=k.size-(e-m);n>g&&(n=g);k.Ub=e-k.A+n;e=m+a.Aa;g-=n;h++;continue}}return Cb(1,e,g)}e=new F(e,n,a.Aa,d,f);vb(e,a.F,k);a.L[h++]=e;e=m+a.Aa;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Db[d]+" at "+r(b,8,!0)),!0):Cb(2,b,c)} l.Jb=function(a){return this.L[(a&this.C)>>>this.S].tb(a&this.f,a)};l.Fa=function(a){var b=a&this.f,c=(a&this.C)>>>this.S;return b!=this.f?this.L[c].Ob(b,a):this.L[c++].tb(b,a)|this.L[c&this.u].tb(0,a+1)<<8};function Eb(a,b){var c=b&a.f,d=(b&a.C)>>>a.S;return c!=a.f?a.L[d].kc(c,b):a.L[d++].Nb(c,b)|a.L[d&a.u].Nb(0,b+1)<<8}l.dc=function(a,b){this.L[(a&this.C)>>>this.S].yb(a&this.f,b&255,a)}; l.nc=function(a,b){var c=a&this.f,d=(a&this.C)>>>this.S;c!=this.f?this.L[d].Ec(c,b&65535,a):(this.L[d++].yb(c,b&255,a),this.L[d&this.u].yb(0,b>>8&255,a+1))};function Fb(a){for(var b=0,c=[],d=0;d>5&3;c.sa=a>>1&15;c.Yb=a&257?a&1?6:4:0;Vb(c);a=c.B;a&1|256&&(b=this.b.eb&16?1:2);this.w.qb=this.w.qb&-8|b};l.Zc=function(){return this.u.ra};l.od=function(a){if(128==(this.u.ra&192)&&a&64){var b=this;H(this.b,8,4,52,function(){b.u.ra|=128;return!!(b.u.ra&64)})}this.u.ra=this.u.ra&128|a&-129};l.Yc=function(){return Wb(this.b)}; l.nd=function(a){Xb(this.b,a&-1809|Wb(this.b)&1808);this.b.T|=128}; function Yb(a){var b=a.B,c,d,f,e=b.pa>>13&7;"undefined"===typeof b.la[e]&&(b.la[e]={cache:[],postProcess:a.$c,drive:e,blocksize:256,mapped:0,maxblock:b.gb[e]*b.V[e],url:"rk"+e+".dsk"});b.M&=-129;switch(b.M>>1&7){case 0:b.Qb=2496;b.ia=0;b.M=128;b.pa=0;break;case 1:if((b.pa>>4&511)>=b.gb[e]){b.ia|=32832;b.M|=49152;break}if((b.pa&15)>=b.V[e]){b.ia|=32800;b.M|=49152;break}c=(b.pa>>4&511)*b.V[e]+(b.pa&15);d=(b.M&48)<<12|b.Pb;f=65536-b.Rb&65535;Zb(a,b.la[e],c,d,f);return;case 2:if((b.pa>>4&511)>=b.gb[e])b.ia|= 32832,b.M|=49152;else if((b.pa&15)>=b.V[e])b.ia|=32800,b.M|=49152;else{c=(b.pa>>4&511)*b.V[e]+(b.pa&15);d=(b.M&48)<<12|b.Pb;f=65536-b.Rb&65535;a.ac(b.la[e],c,d,f);return}}b.Qb=e<<13|b.Qb&8176|b.pa%9&15;H(a.b,20,5,144,function(){b.M=b.M&65534|128;return!!(b.M&64)})}l.$c=function(a,b,c,d,f){var e=this.B;e.Pb=d&65535;e.M=e.M&-49|d>>12&48;e.Rb=65536-f&65535;switch(a){case 1:e.ia|=33024;e.M|=49152;break;case 2:e.ia|=33792,e.M|=49152}H(this.b,20,5,144,function(){e.M=e.M&65534|128;return!!(e.M&64)})}; function $b(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.la[e]&&(b.la[e]={cache:[],postProcess:a.ad,drive:e,blocksize:128,mapped:1,maxblock:b.gb[e]*b.V[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.Xa&8&&(b.K&=63);b.Xa=b.Hc[e]|b.bb&64;break;case 3:1==(b.$&3)&&(b.bb=b.$&4?b.bb+(b.$&65408)&65408|b.$<<2&64:b.bb-(b.$&65408)&65408|b.$<<2&64,b.$=b.bb);break;case 4:b.Xa=b.bb;break;case 5:if(b.$>>6>=b.gb[e]){b.K|=37888;break}if((b.$&63)>=b.V[e]){b.K|=37888;break}c=(b.$>>6)*b.V[e]+(b.$& 63);d=(b.Ra&63)<<16|b.Fb;f=65536-b.Xa&65535;Zb(a,b.la[e],c,d,f);return;case 6:if(b.$>>6>=b.gb[e])b.K|=37888;else if((b.$&63)>=b.V[e])b.K|=37888;else{c=(b.$>>6)*b.V[e]+(b.$&63);d=(b.Ra&63)<<16|b.Fb;f=65536-b.Xa&65535;a.ac(b.la[e],c,d,f);return}}H(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})} l.ad=function(a,b,c,d,f){var e=this.D;e.Fb=d&65535;e.K=e.K&-49|d>>12&48;e.Ra=d>>16&63;e.$=~~(c/e.V[b.Ka])<<6|c%e.V[b.Ka];e.bb=e.$;e.Xa=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 ac(a){a=a.G;a.N=2176;a.Ba=0;a.na=[4544,4544,4544,4544,4544,4544,4544,4544];a.vb=[0,0,0,0,0,0,0,0];a.lb=a.wb=a.ub=a.ab=a.mc=0} function bc(a,b){var c=a.G,d,f,e;c.N&=-16513;c.Ba&=-2049;c.na[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof c.la[b]&&(c.la[b]={cache:[],postProcess:a.bd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.fb[0]*c.V[0],url:"rp"+b+".dsk"});switch(c.N&63){case 5:c.cc[b]=c.Pa[b];c.N|=32896;c.na[b]|=32896;c.lb|=1<=c.ec[0]||c.Ca[b]>>8>=c.fb[0]||(c.Ca[b]&255)>=c.V[0]){c.vb[b]|=1024;c.N|=49152;break}d=(c.Pa[b]*c.fb[0]+(c.Ca[b]>>8))*c.V[0]+ (c.Ca[b]&255);f=(c.ab&63)<<16|c.ub;e=65536-c.wb&65535;Zb(a,c.la[b],d,f,e);return;case 57:if(c.Pa[b]>=c.ec[0]||c.Ca[b]>>8>=c.fb[0]||(c.Ca[b]&255)>=c.V[0])c.vb[b]|=1024,c.N|=49152;else{d=(c.Pa[b]*c.fb[0]+(c.Ca[b]>>8))*c.V[0]+(c.Ca[b]&255);f=(c.ab&63)<<16|c.ub;e=65536-c.wb&65535;a.ac(c.la[b],d,f,e);return}}H(a.b,3,5,172,function(){c.N=c.N&65534|128;c.na[b]|=128;return!!(c.N&64)})} l.bd=function(a,b,c,d,f){var e=this.G;e.wb=65536-f&65535;e.ub=d&65535;e.N=e.N&-769|d>>8&768;e.ab=d>>16&63;f=~~(c/e.V[0]);d=~~(f/e.fb[0]);e.Ca[b.Ka]=f%e.fb[0]<<8|c%e.V[0];e.cc[b.Ka]=e.Pa[b.Ka]=d;e.lb|=1<=b.Tc-1&&(e.na[b.Ka]|=1024);switch(a){case 1:e.Ba|=512;e.N|=49152;break;case 2:e.Ba|=2048,e.N|=49152}H(this.b,20,5,172,function(){e.na[b.Ka]|=128;e.N=e.N&65534|128;return!!(e.N&64)})}; function cc(a,b,c,d,f,e){var g=~~((e+c.Sa-1)/c.Sa),h=new XMLHttpRequest;2048>g&&d+2048dc(this.b,a.Sc?ec(this.b,c):c,a.cache[b][f])){a.$b(2,a,b,c,d);return}c+=2;--d}b++}a.$b(0,a,b,c,d)}; function Zb(a,b,c,d,f){for(var e,g;0g){b.$b(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.$b(0,b,c,d,f)}l.reset=function(){this.w.qb=this.w.qb&-120|20;this.u.Ga=0;this.u.ra=128;this.f.Wa=0;this.B.M=128;this.D.K=128;ac(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.Za&65280:(a&1&&(b<<=8),e.Za=b|255,d=0);break;case 4194298:if(0>b)d=e.lc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.lc=d;e.Na=2}break;case 4194294:if(70!==e.jb)return J(e,4);0>b?d=e.H:d=e.H=0;break;case 4194292:if(70!==e.jb)return J(e,4);d=1;break;case 4194290:if(70!==e.jb)return J(e,4);d=0;break;case 4194288:if(70!==e.jb)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.jb)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.fa>>14&1?(0<=b&&(e.i[6]=b),d=e.i[6]):(0<=b&&(e.Oa[3]=b),d=e.Oa[3]):e.fa>>14&0?(0<=b&&(e.i[6]=b),d=e.i[6]):(0<=b&&(e.Oa[1]=b),d=e.Oa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.fa&2048?(0<=b&&(e.i[f]=b),d=e.i[f]):(0<=b&&(e.$a[f]=b),d=e.$a[f]),d; case 4194246:return a&1?(0<=b&&(e.i[7]=b),d=e.i[7]):e.fa>>14&0?(0<=b&&(e.i[6]=b),d=e.i[6]):(0<=b&&(e.Oa[0]=b),d=e.Oa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.fa&2048?(0<=b&&(e.$a[f]=b),d=e.$a[f]):(0<=b&&(e.i[f]=b),d=e.i[f]),d;default:return e.H|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.ha[3][f],a,b,c);0<=d&&(e.ha[3][f]=d,e.ha[3][f&15]&=65295);break;case 4194112:var g=this.u;switch(a&-2){case 4194174:d=I(this,e.Vb,a,b,c);0<=d&&(e.Vb=d);break;case 4194172:d=e.cb;d&65280&& (d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.w.jd&65535:(d=I(this,this.w.data,a,b,c),0<=d&&(this.w.data=d));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.ra&=-129,H(e,100,4,52,function(){g.ra|=128;return!!(g.ra&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.Qb,a,b,c);0<=d&&(f.Qb=d);break;case 4194050:d=I(this,f.ia,a,b,c);0<=d&&(f.ia=d);break;case 4194052:d=I(this,f.M,a,b,c);0<=b&&0<=d&&(f.M=d&-36993|f.M&36992,f.M&1&&Yb(this));break;case 4194054:d=I(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194056:d=I(this,f.Pb,a,b,c);0<=d&&(f.Pb=d);break;case 4194058:d=I(this,f.pa,a,b,c);0<=d&&(f.pa=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.Ba&7;switch(a&-2){case 4193728:d=I(this,h.N,a,b,c);0<=b&&0<=d&&(h.ab=h.ab&60|d>>8&3,h.N=d&17279|h.N&34944|2048,d&1&&h.N&128?bc(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.wb,a,b,c);0<=d&&(h.wb=d);break;case 4193732:d=I(this,h.ub,a,b,c);0<=d&&(h.ub=d&65534);break;case 4193734:d=I(this,h.Ca[f],a,b,c);0<=d&&(h.Ca[f]=d&7967);break;case 4193736:d=I(this,h.Ba,a,b,c);0<=d&&(h.Ba=d&63|h.Ba&65472,d&128&&ac(this));break;case 4193738:d=h.na[f];break;case 4193740:d=h.vb[f];break; case 4193742:d=I(this,h.lb,a,b,c);0<=d&&(h.lb=d&255);break;case 4193744:d=h.gd[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.hd[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.Pa[f],a,b,c);0<=d&&(h.Pa[f]=d&511);break;case 4193758:h.cc[f]=h.Pa[f];d=h.cc[f];break;case 4193760:d=h.ed[f];break;case 4193762:d=h.fd[f];break;case 4193764:d= h.cd[f];break;case 4193766:d=h.dd[f];break;case 4193768:d=I(this,h.ab,a,b,c);0<=d&&(h.ab=d&63,h.N=h.N&-769|(d&3)<<8);break;case 4193770:d=I(this,h.mc,a,b,c);0<=d&&(h.mc=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.Ra=f.Ra&60|d>>4&3,f.K=f.K&-1023|d&1022,f.K&128||$b(this));break;case 4192514:d=I(this,f.Fb,a,b,c);0<=d&&(f.Fb=d&65534);break;case 4192516:d=I(this,f.$,a,b,c);0<=d&&(f.$=d);break;case 4192518:d=I(this,f.Xa, a,b,c);0<=d&&(f.Xa=d);break;case 4192520:d=I(this,f.Ra,a,b,c);0<=d&&(f.Ra=d&63,f.K=f.K&-49|(f.Ra&3)<<4);break;default:return e.H|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.eb:(d=I(this,e.eb,a,b,c),0<=d&&(70!==e.jb&&(d&=-49),e.eb=d,e.Zb[0]=d&4?15:7,e.Zb[1]=d&2?15:7,e.Zb[3]=d&1?15:7,e.Yb&&(f=2,e.eb&16&&(f=1),this.w.qb=this.w.qb&-8|f)));break;default:return e.H|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.ha[0][f],a,b,c);0<=d&&(e.ha[0][f]=d,e.ha[0][f&15]&=65295);break;case 4191360:f= a>>1&31;d=I(this,e.ha[1][f],a,b,c);0<=d&&(e.ha[1][f]=d,e.ha[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.jb)return J(e,4);f=a>>2&31;d=e.Sb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.Sb[f]=a&2?d<<16|e.Sb[f]&65535:e.Sb[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=Sb[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 fc={},Hb=(fc[65382]=[null,null,G.prototype.Wc,G.prototype.ld],fc[65402]=[null,null,G.prototype.Xc,G.prototype.md],fc[65396]=[null,null,G.prototype.Zc,G.prototype.od],fc[65534]=[null,null,G.prototype.Yc,G.prototype.nd],fc);Ma(function(){for(var a=C(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.B,0,c>>2),mc(this,ic?nc:oc);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},Y:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ka: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},ua: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.Ua=!0},U:function(a,b){if(this.F&&null!=this.A){var c=this.F;tc(c,this.A+a,1,c.R)&&c.ja(!0)}return this.Nb(a,b)},aa:function(a,b){if(this.F&&null!=this.A){var c=this.F;tc(c,this.A+a,2,c.R)&&c.ja(!0)}return this.kc(a,b)},sa:function(a,b,c){if(this.F&&null!=this.A){var d=this.F;tc(d,this.A+a,1,d.D)&&d.ja(!0)}this.C?this.w(a,b,c):this.zb(a,b, c)},Da:function(a,b,c){if(this.F&&null!=this.A){var d=this.F;tc(d,this.A+a,2,d.D)&&d.ja(!0)}this.C?this.w(a,b,c):this.qc(a,b,c)},R:function(a){return this.f[a]},W:function(a){return this.f[a]},Z:function(a){return this.D.getUint16(a,!0)},ca:function(a){return a&1?this.f[a]|this.f[a+1]<<8:this.J[a>>1]},oa:function(a,b){this.f[a]=b;this.Ua=!0},ta:function(a,b){this.f[a]=b;this.Ua=!0},wa:function(a,b){this.D.setUint16(a,b,!0);this.Ua=!0},Ia:function(a,b){a&1?(this.f[a]=b,this.f[a+1]=b>>8):this.J[a>> 1]=b;this.Ua=!0}};function vb(a,b,c){a.F=b;a.I=a.u=0;c&&((a.I=c.I)&&sc(a,rc,!1),(a.u=c.u)&&qc(a,rc,!1))}function uc(a,b){b?--a.u||(a.yb=a.C?a.w:a.zb,a.Ec=a.C?a.G:a.qc):--a.I||(a.tb=a.Nb,a.Ob=a.kc)}function qc(a,b,c){c&&a.u||(a.yb=!a.C&&b[1]||a.w,a.Ec=!a.C&&b[3]||a.G);if(c||void 0===c)a.zb=b[1]||a.w,a.qc=b[3]||a.G}function sc(a,b,c){c&&a.I||(a.tb=b[0]||a.O,a.Ob=b[2]||a.P);if(c||void 0===c)a.Nb=b[0]||a.O,a.kc=b[2]||a.P}function mc(a,b){b||(b=Jc);sc(a,b,void 0);qc(a,b,void 0)} var Jc=[],pc=[F.prototype.Y,F.prototype.ua,F.prototype.ka,F.prototype.Ab],rc=[F.prototype.U,F.prototype.sa,F.prototype.aa,F.prototype.Da];if(rb)var oc=[F.prototype.R,F.prototype.oa,F.prototype.Z,F.prototype.wa],nc=[F.prototype.W,F.prototype.ta,F.prototype.ca,F.prototype.Ia]; function Kc(a,b){u.call(this,"CPU",a,Kc,1);var c=a.multiplier||1;this.ua=a.cycles||b;this.Ya=c;this.Da=Math.round(this.ua/1E4)/100;this.kb=this.Da*this.Ya;this.j.ea=!1;this.j.oc=!1;this.j.Db=a.autoStart;this.j.wc=!1;this.j.pb=!1;this.Kb=this.Y=0;this.Lb=a.csStart;this.rb=a.csInterval;this.sb=a.csStop;this.G=[];this.Hb=this.mb.bind(this);D(this)}w(Kc);var Lc=["power","reset"];l=Kc.prototype; l.Va=function(a,b,c,d){this.u=a;this.C=b;this.F=d;for(b=0;b=a.Y&&(a.Y+=a.rb,c=!0);0<=a.sb&&a.sb<=Rc(a)&&(a.rb=a.sb=-1,Oc(a),a.ja(),c=!0);c&&a.g(Rc(a)+" cycles: checksum="+r(a.Kb))}} function Sc(a,b,c,d){if(a.I[b]){void 0===c&&(qb(a,"Value for "+b+" is invalid"),a.ja());var f=a.F&&a.F.Z||8;c=!a.j.ea||a.j.wc?8==f?da(c,d):r(c,d):"--------".substr(0,d||4);a.I[b].textContent!=c&&(a.I[b].textContent=c)}} l.qa=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.u)if(a=d.u,a.j.ba)a=!0;else{var b=null,c,h=Ya(a.id);for(c=0;ca.R/a.kb?b=1:d=!0;a.Ya=b;b=a.Da*a.Ya;if(a.kb!=b){a.kb=b;b=a.kb.toFixed(2)+"Mhz";var f=a.I.setSpeed;f&&(f.textContent=b);a.g("target speed: "+b)}c&&a.u&&a.u.Tb()}Uc(a,a.P);a.P=0;a.O=oa();a.U=0;Vc(a);return d}function Tb(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function Ub(a,b){var c;0<=b&&ba.G[b][0]&&(c=a.ua*a.Ya/1E3*(1E3/60),a.G[b][0]=c)} l.mb=function(a){if(nb(this,!0)){if(!this.j.ea){Tc(this);this.u&&this.u.start(this.O,Rc(this));this.j.ea=!0;this.j.oc=!0;this.ca&&this.ca.start();var b=this.I.run;b&&(b.textContent="Halt");this.u&&(this.u.va(!0),a&&this.u.Tb(!0))}this.Ia>=this.ua&&Vc(this,!0);this.ka=0;this.ta=oa();this.U&&(a=this.ta-this.U,a>this.Eb&&(this.O+=a,this.O>this.ta&&(this.O=this.ta)));try{do{for(var c,d=this.j.pb?1:this.wa,f=this.G.length-1;0<=f;f--){var e=this.G[f];0>e[0]||d>e[0]&&(d=e[0])}c=d;try{this.xb(c)}catch(m){if("number"!= typeof m)throw m;}var g=this.J-this.b;a=g;for(var h=this.G.length-1;0<=h;h--){var k=this.G[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.ka+=g;this.P+=g;Uc(this,0,!0);Qc(this,g);this.Z-=g;if(0>=this.Z){this.Z+=this.wa;15<=++this.Gb&&(this.u&&this.u.va(),this.Gb=0);break}}while(this.j.ea)}catch(m){this.ja();K(this);this.u&&this.u.stop(oa(),Rc(this));nb(this,!1);qb(this,m.stack||m.message);return}c=setTimeout;d=this.Hb;this.U=oa();f=this.Eb;this.ka&&(f=Math.round(f*this.ka/this.wa));f-=this.U- this.ta;if(e=this.U-this.O)this.R=Math.round(this.P/(10*e))/100,864E5<=e&&(this.W=0,Tc(this));if(0>f||this.Rf&&(this.O-=f),f=0;this.Ia+=this.ka;this.U+=f;c(d,f)}else K(this),this.u&&this.u.stop(oa(),Rc(this))};l.xb=function(){return 0};l.ja=function(a){ob(this,!0);this.J-=this.b;this.b=0;Uc(this,this.P);this.P=0;if(this.j.ea){this.j.ea=!1;this.ca&&this.ca.stop();var b=this.I.run;b&&(b.textContent="Run")}this.j.complete=a};function K(a,b){a.u&&a.u.va(b)} function Wc(a){this.Uc=+a.model||1170;this.ic=a.resetAddr||0;Kc.call(this,a,1E6);this.Bb=0;this.decode=Xc.bind(this);this.ga=65536;this.ya=32768;this.za=65535;this.xa=32768;this.i=[0,0,0,0,0,0,0,this.ic];this.$a=[0,0,0,0,0,0];this.Oa=[0,0,0,0];this.sa=this.D=0;this.ha=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.Sb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.f=-1;this.T=0;this.jb=70;this.aa=-1;this.Wb=0;Yc(this);this.j.complete=this.j.Kc=!1}w(Wc,Kc);l=Wc.prototype;l.reset=function(){this.j.ea&&this.ja();Yc(this);Nc(this);this.j.error=!1;this.parent.reset.call(this)}; function Yc(a){a.Za=255;a.H=0;a.lc=0;a.B=0;a.cb=0;a.Vb=0;a.eb=0;a.Yb=0;a.oa=0;a.Zb=[7,7,7,7];a.w=[];a.Na=2;Vb(a)}function Vb(a){a.Yb?(a.nb=65536,a.X=a.Pc,a.Ob=a.Ha):(a.nb=0,a.X=a.Oc,a.Ob=a.bc)}l.yc=function(){return 0};l.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.W,this.Ya]);a.set(2,Fb(this.C));return a.data()}; l.restore=function(a){var b=a[1];this.W=b[1];Tc(this,b[3]);a:{b=this.C;a=a[2];var c;for(c=0;cb){a.w[e].Ta-=b;break}b-=a.w[e].Ta}a.w.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Na=2}function Wb(a){return a.fa=a.fa&63728|ad(a)|$c(a)|Zc(a)|(a.ga&65536?1:0)} function Xb(a,b){a.xa=b<<12;a.za=~b&4;a.ya=b<<14;a.ga=b<<16;if((b^a.fa)&2048)for(var c=a.$a.length;0<=--c;){var d=a.i[c];a.i[c]=a.$a[c];a.$a[c]=d}a.D=b>>14&3;c=a.fa>>14&3;a.D!=c&&(a.Oa[c]=a.i[6],a.i[6]=a.Oa[a.D]);a.Na=2;a.fa=b}function bd(a,b){a.T&128||(a.xa=a.za=a.ga=b,a.ya=0)}function cd(a,b){a.T&128||(a.xa=a.za=b,a.ya=0)}function dd(a,b,c,d){a.T&128||(a.xa=a.za=a.ga=b,a.ya=(c^d)&(d^b))} function J(a,b){var c=!1;0>a.aa?a.aa=Wb(a):a.D||(b=4,c=!0);a.B&57344||(a.cb=63222,a.Vb=b);a.D=0;var d=a.Ha(b|65536),f=a.Ha(b+2&65535|65536);Xb(a,f&53247|a.aa>>2&12288);c&&(a.H|=4,a.i[6]=4);ed(a,a.aa);ed(a,a.i[7]);a.i[7]=d;a.T&=-113;a.aa=-1;throw b;}function ec(a,b){var c=b>>13&31;31>c?a.eb&32&&(b=a.Sb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} function fd(a,b,c){var d,f,e,g=0;if(c&a.Yb){d=b>>13&a.Zb[a.D];f=a.ha[a.D][d];e=(a.ha[a.D][d+16]<<6)+(b&8191)&4194303;a.eb&16?3932160<=e&&4186112>e&&(e=ec(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.ha[a.D][d]=f;if(4194170!==e||a.D)a.oa=a.D,a.sa=d;g&&(g&57344&&(0<=a.aa&&(g|=128),a.B&57344||(a.B=a.B|g|a.oa<<5|a.sa<<1),J(a,168)),a.B&61440||!(4191360>e||4194239>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.D&&c&4&&(a.i[6]<=a.Za||65534<=a.i[6])&&(a.i[6]<=a.Za-32||65534<=a.i[6]?(a.H|=4,a.i[6]=4,J(a,4)):(a.H|=8,a.T|=64)),7===e?a.i[e]:a.i[e]|g;case 2:f=2;d=a.i[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.i[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.i[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.i[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.i[7])))return d;a.i[7]=a.i[7]+2&65535;d=d+a.i[e]&65535;return d|g;case 7:if(0>(d=a.Ha(a.i[7])))return d;a.i[7]=a.i[7]+2&65535;d=d+a.i[e]&65535;return 0>(d=a.Ha(d|65536))?d:d|g}a.i[e]=a.i[e]+f&65535;!g||a.B&57344||(a.cb=a.cb<<8|f<<3&248|e);6===e&&!a.D&&c&4&&0>=f&&(a.i[6]<=a.Za||65534<=a.i[6])&&(a.i[6]<=a.Za-32?(a.H|=4,a.i[6]=4,J(a,4)):(a.H|=8,a.T|=64));return d}l.Oc=function(a,b){return id(this,a,b)};l.Pc=function(a,b){return fd(this,id(this,a,b),b)}; function N(a,b){return b&56?a.Ob(id(a,b,2)):a.i[b&7]}function jd(a,b){return b&56?gd(a,a.X(b,3)):a.i[b&7]&255}function kd(a,b,c,d){b&56?(b=a.X(b,6),dc(a,b,d.call(a,c,a.bc(b)))):(b&=7,a.i[b]=d.call(a,c,a.i[b])&65535)}function ld(a,b,c,d){b&56?(b=a.X(b,7),hd(a,b,d.call(a,c,gd(a,b)))):(b&=7,a.i[b]=a.i[b]&65280|d.call(a,c,a.i[b])&255)}function md(a,b,c){b&56?dc(a,a.X(b,4),c):a.i[b&7]=c&65535;return c} function nd(a,b,c,d){b&56?hd(a,a.X(b,5),c):(b&=7,a.i[b]=c?d&1?c<<24>>24&65535:a.i[b]&-256|c&255:a.i[b]&-256);return c}function O(a,b){return a.i[7]+(b<<24>>23)&65535} l.xb=function(a){this.j.complete=!0;var b=this.j.Kc=this.F&&od(this.F),c=a?this.j.oc?0:1:-1;this.j.oc=!1;this.J=this.b=a;do{if(b){if(pd(this.F,this.i[7],c)){this.ja();break}c=1}this.T&112&&(this.T&32?J(this,168):this.T&64?J(this,4):this.T&16&&J(this,12),this.T&=-113);if(this.Na)if(1==this.Na)this.Na=2;else{this.Na=0;a=null;for(var d=this.lc&224,f=this.w.length;0<=--f;){if(0 d&&(d=this.w[f].Vc,a=this.w[f],this.w.splice(f,1))}d>(this.fa&224)&&(a?J(this,a.kd):J(this,160))}this.B&57344||(this.cb=0,this.Vb=this.i[7]);this.T=this.fa&16;a=this.f=this.Ha(this.i[7]);0<=a&&(this.i[7]=this.i[7]+2&65535);this.decode(a);if(0>this.f){this.i[7]=this.i[7]-2&65535;this.g("unimplemented");break}}while(0>6&7;ed(this,this.i[a]);this.i[a]=this.i[7];this.i[7]=b;--this.b}function Ad(){this.f=-1;--this.b}function Bd(){--this.b}function R(a){a&1&&(this.ga=65536);a&2&&(this.ya=32768);a&4&&(this.za=0);a&8&&(this.xa=32768);--this.b}function Cd(){this.f=-1;--this.b}function Dd(){this.f=-1;--this.b}function S(){J(this,8)}function Xc(a){Ed[a>>12].call(this,a)} var Ed=[function(a){Fd[a>>8&15].call(this,a)},function(a){cd(this,md(this,a,N(this,a>>6)));--this.b},function(a){var b=N(this,a>>6);a=N(this,a);dd(this,b-a,a,b);--this.b},function(a){cd(this,N(this,a>>6)&N(this,a));--this.b},function(a){kd(this,a,N(this,a>>6),rd);--this.b},function(a){kd(this,a,N(this,a>>6),td);--this.b},function(a){kd(this,a,N(this,a>>6),qd);--this.b},function(a){Gd[a>>8&15].call(this,a)},function(a){Hd[a>>8&15].call(this,a)},function(a){var b=jd(this,a>>6);cd(this,nd(this,a,b,1)<< 8);--this.b},function(a){var b=jd(this,a>>6)<<8;a=jd(this,a)<<8;dd(this,b-a,a,b);--this.b},function(a){cd(this,(jd(this,a>>6)&jd(this,a))<<8);--this.b},function(a){ld(this,a,jd(this,a>>6),sd);--this.b},function(a){ld(this,a,jd(this,a>>6),ud);--this.b},function(a){kd(this,a,N(this,a>>6),vd);--this.b},S],Fd=[function(a){Id[a>>4&15].call(this,a)},function(a){this.i[7]=O(this,a);--this.b},function(a){$c(this)||(this.i[7]=O(this,a));--this.b},function(a){$c(this)&&(this.i[7]=O(this,a));--this.b},function(a){!ad(this)== !Zc(this)&&(this.i[7]=O(this,a));--this.b},function(a){!ad(this)!=!Zc(this)&&(this.i[7]=O(this,a));--this.b},function(a){$c(this)||!ad(this)!=!Zc(this)||(this.i[7]=O(this,a));--this.b},function(a){if($c(this)||!ad(this)!=!Zc(this))this.i[7]=O(this,a);--this.b},zd,zd,function(a){Jd[a>>6&3].call(this,a)},function(a){Kd[a>>6&3].call(this,a)},function(a){Ld[a>>6&3].call(this,a)},function(a){Md[a>>6&3].call(this,a)},S,S],Id=[function(a){Nd[a&15].call(this,a)},S,S,S,S,S,S,S,function(a){var b=this.Ha(this.i[6]| 65536);0<=b&&(this.i[6]=this.i[6]+2&65535);a&=7;this.i[7]=this.i[a];this.i[a]=b;--this.b},function(a){this.fa&49152||(this.fa=this.fa&-2017|(a&7)<<5,this.Na=1);--this.b},function(a){Od[a&15].call(this,a)},function(a){Pd[a&15].call(this,a)},S,S,S,S],Od=[Bd,function(){this.ga=0;--this.b},function(){this.ya=0;--this.b},P,function(){this.za=1;--this.b},P,P,P,function(){this.xa=0;--this.b},P,P,P,P,P,P,P],Pd=[Bd,function(){this.ga=65536;--this.b},function(){this.ya=32768;--this.b},R,function(){this.za= 0;--this.b},R,R,R,function(){this.xa=32768;--this.b},R,R,R,R,R,R,R],Nd=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.fa&49152||(Yc(this),this.C.reset());--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},S,S,S,S,S,S,S,S],Gd=[Ad,Ad,yd,yd,wd,wd,xd,xd,Dd,Dd,S,S,S,S,Cd,Cd],Hd=[function(a){ad(this)||(this.i[7]=O(this,a));--this.b},function(a){ad(this)&&(this.i[7]= O(this,a));--this.b},function(a){this.ga&65536||$c(this)||(this.i[7]=O(this,a));--this.b},function(a){if(this.ga&65536||$c(this))this.i[7]=O(this,a);--this.b},function(a){Zc(this)||(this.i[7]=O(this,a));--this.b},function(a){Zc(this)&&(this.i[7]=O(this,a));--this.b},function(a){this.ga&65536||(this.i[7]=O(this,a));--this.b},function(a){this.ga&65536&&(this.i[7]=O(this,a));--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(a){Qd[a>>6&3].call(this,a)},function(a){pe[a>> 6&3].call(this,a)},function(a){qe[a>>6&3].call(this,a)},function(a){re[a>>6&3].call(this,a)},S,S],Jd=[function(a){bd(this,md(this,a,0));--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],Kd=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],Ld=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],Md= [function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],Qd=[function(a){bd(this,nd(this,a,0));--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],pe=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}],qe=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f= -1;--this.b}],re=[function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b},function(){this.f=-1;--this.b}];function se(a){u.call(this,"ROM",a,se);this.f=null;this.D=a.addr;this.u=a.size;this.G=a.writable;this.w=a.alias;this.B=a.file;this.J=ea(this.B);if(this.B){a=this.B;var b=fa(this.J);"json"!=b&&"hex"!=b&&(a=ha()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;ta(a,null,!0,function(a,b,e){te(c,a,b,e)})}}w(se); se.prototype.Va=function(a,b,c,d){this.C=b;this.b=c;this.F=d;ue(this)};se.prototype.Ma=function(){if(this.Ja){if(this.F){var a=this.F,b=this.id,c=this.D,d=this.u,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=na(n,k,a.vc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({qd:b,A:c,Rc:d,Ja:f,sc:e})}delete this.Ja}return!0};se.prototype.La=function(){return!0}; function te(a,b,c,d){if(d)a.ma("Unable to load system ROM (error "+d+": "+b+")");else{Xa(a.tc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.f=e;else if(e=h.words)for(a.f=Array(2*e.length),g=f=0;f>8&255;else if(e=h.data)for(a.f=Array(4*e.length),g=f=0;f>8&255,a.f[g++]=e[f]>>16&255,a.f[g++]=e[f]>>24&255;else a.f=h;a.Ja=h.symbols;if(!a.f.length){t("Empty ROM: "+ b);return}if(1==a.f.length){t(a.f[0]);return}}catch(k){a.ma("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.f=Array(b.length),f=0;f>>d.S].zb(f&d.f,a.f[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.w?b.push(a.w):null!=a.w&&a.w.length&&(b=a.w);for(c=0;c>>f.S;0>>=f.S;0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function ze(a,b,c,d){if(c)if(b){0>a.B&&a.w.length&&(a.B=0);if(0>a.B||b!=a.w[a.B])a.w.splice(0,0,b),a.B=0;a.B--}else a.Y?b="end":b=a.w[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(ma(b.substring(c,e))),c=e+1}}return a} function Ae(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 Be(a,b,c){var d;if(b){b=Ce(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+". "+da(c,0,!0)+" "+("0b"+g)}a.g((null!=b?b+": ":"")+d);return f} function Fe(a,b){if(b)return Ee(a,b,a.ca[b]);var c=0;for(b in a.ca)Ee(a,b,a.ca[b]),c++;return 0>>d.C.S;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.g("..."):(c=n.type,m=Db[c],n&&d.g(r(n.id,8)+" %"+r(f<>>c.S].Nb(d&c.f,d),b&&Oe(a,b));return c};l.Fa=function(a,b){var c=65535,d=this.X(a,!1,2);-1!==d&&(c=Eb(this.C,d),b&&Oe(a,b));return c}; l.dc=function(a,b,c){var d=this.X(a,!0,1);if(-1!==d){var f=this.C;f.L[(d&f.C)>>>f.S].zb(d&f.f,b&255,d);c&&Oe(a,c);K(this.b,!0)}};l.nc=function(a,b,c){var d=this.X(a,!0,2);if(-1!==d){var f=this.C,e=d&f.f,g=(d&f.C)>>>f.S;e!=f.f?f.L[g].qc(e,b&65535,d):(f.L[g++].zb(e,b&255,d),f.L[g&f.u].zb(0,b>>8&255,d+1));c&&Oe(a,c);K(this.b,!0)}};function V(a){return{A:a,Ea:!1}}function Pe(a){return[a.A,a.Ea]}function Qe(a){return{A:a[0],Ea:a[1]}} function W(a,b,c){var d;c=(c?a.P:a.Bb).A;if(void 0!==b){d=b=Ce(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.S],!1)}a.R=["br"];if(a.D)for(b=1;b>>d.S],!0);a.D=["bw"];a.Eb=0} l.hb=function(a,b,c){var d=!0;c||We(this,a,b,!1,!0);if(a!=this.f){var f=this.X(b);if(-1===f)this.g("invalid address: "+T(this,b.A)),d=!1;else{var e=this.C;e.L[f>>>e.S].hb(f&e.f,a==this.D)}}d&&(a.push(b),c?b.Ea=!0:(Xe(this,a,a.length-1,"set"),Ie(this)));return d};function We(a,b,c,d,f){var e=!1;c=a.X(c);for(var g=1;g>>d.S],b==a.D));h.Ea||Ie(a);break}}return e} function Ye(a,b){for(var c=1;c>23)&65535,x=T(q,p);else if(8192==A)p=p.A-((e&63)<<1)&65535,x=T(q,p);else if(12288==A)x=T(q,e&7,1);else if(24576==A)x=T(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=X(z);break;case 8:x="@"+X(z);break;case 16:7>z?x="("+X(z)+")+": (A=q.Fa(p,2),x="#"+T(q,A));break;case 24:7>z?x="@("+X(z)+")+":(A=q.Fa(p,2),x="@#"+T(q,A));break;case 32:x="-("+X(z)+")";break;case 40:x="@-("+X(z)+")";break;case 48:A=q.Fa(p,2);x=T(q,A)+"("+X(z)+")";7==z&&(x=[x,T(q,A+p.A&65535)]);break;case 56:A=q.Fa(p,2),x="@"+T(q,A)+"("+X(z)+")",7==z&&(x=[x,T(q,A+p.A&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 bf(a,b){var c="",d=a.b;8>b?(c=X(b),c+="="+T(a,d.i[b])):13>b?c="A"+(b-8)+"="+T(a,d.$a[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+T(a,d.Oa[b-16]):20==b&&(c="PS="+T(a,Wb(d)));c&&(c+=" ");return c}function cf(a){var b,c="";for(b=0;6>b;b++)c+=bf(a,b);c=c+"\n"+(bf(a,6)+bf(a,7)+bf(a,20));return c+=af(a,"T")+af(a,"N")+af(a,"Z")+af(a,"V")+af(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]>>0;for(b=0;b>>0,h=e.Rc;if(f>=g&&fh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(g=h[3],e=null);e=$e(a,b,g,e);a.g(e);a.P=b;f-=b.A-k;c++}}} function Ze(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.Y&&(a.g("ended assemble at "+T(a,a.W.A)),a.P=a.W,a.Y=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.ua=null;if(pb(a)&&0m||"z"Z.length&&(a.g("note: only "+Z.length+" available"),Q=Z.length);U-=Q;0>U&&(null==Z[Z.length-1].A?(Q=U+Q,U=0):U+=Z.length);var yc=[];"call"==Wd&&($a=1E5,yc=["CALL"]);for(void 0!==Vd&&a.g(Q+" instructions earlier:");0<$a&&U!=a.oa;){var Zd=Z[U++];if(null==Zd.A)break;var ab=V(Zd.A),Df=Q--,$d=$e(a,ab,"history",Df);(!yc.length||0<=$d.indexOf(yc[0]))&&a.g($d);ab.gc&&(U+=ab.gc,$a-=ab.gc,Q-=ab.gc);U>=Z.length&&(U=0);a.Gb=Q;Yd++; $a--}}Yd||(a.g("no "+Xd+"history available"),a.Gb=void 0)}else{var Ib=W(a,Y);if(Ib){var Jb=0;qa&&("l"==qa.charAt(0)&&(qa=qa.substr(1)||Cf),Jb=De(a,qa)>>>0,65536>4||1;Ef--&&0Lb?String.fromCharCode(Lb):"."; Kb--}bb&&(bb+="\n");bb+=Y+" "+Ac+(0==db?" "+ae:"")}bb&&a.g(bb);a.Bb=Ib}}}}break;case "e":if("else"==e[0])break;var Mb=1,be=255,ce=a.Jb,de=a.dc;"ew"==e[0]&&(Mb=2,be=65535,ce=a.Fa,de=a.nc);var ee=Mb<<1,fe=e[1];if(null==fe)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var Nb=W(a,fe);if(Nb)for(var Ob=2;ObEc;){for(var ra=null,If=256;65536>gb.A>>>0;){he.A=a.Fa(gb,2);if(null==gb.A||!If--)break;for(var Jf=a,Pb=he,ie=null,hb=Pb.A,je=hb,Fc=1;6>=Fc&&hb;Fc++){if(2\nLicense: GPL version 3 or later ");this.g("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;bnf){if(pf(d,this.O)){this.D=new L(this,"1.30.0","failsafe");pf(this.D)&&(uf(this,d),a=2,vf(this.D));this.D.set("timestamp",sa());wf(this.D);var f=this.f&&!this.G;if(1==a||ua("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=tf(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?pf(d,g):("error"== e&&"no machine state"!=g?(this.ma("Error: "+g),"unable to verify user"==g&&(ya("user",""),this.u=null)):this.g(e+": "+g),vf(d),pf(d)?(c=tf(d),f=!0):c=!1))}f&&sf(this,c?d:null)}else 2==a&&d.clear()}else sf(this);delete this.O;delete this.P}f=Ya(this.id);for(e=0;ea[1];a=a[2];this.ca=!0;this.j.ba=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.b&&(xf(this,this.b,b,c,a),this.b.Db());this.W&&(uf(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.w=0}; function uf(a,b){if(ua("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.u||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;ta("http://www.pcjs.org/api/v1/report",d,!0)}} function kf(a,b,c){var d,f="none";if(a.w)return null;a.w--;var e=new L(a,"1.30.0"),g=new L(a,"1.30.0","validate"),h=sa();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.La&&(c&&a.b.ja(),d=a.b.La(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.j.ba=!1,!1===d&&(f=null)));for(var h=Ya(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+"...");ta(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);Pf(a,b,c)}})}else c(a,null)} function Qf(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=ja(a))}function e(a){f("Error: "+a);k&&(--Bf||Oa(!0));k=!1}var g,h,k=!0;Bf++;Wa[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?Nf(c,null,null,!1,f,function(d,k){k?(Xa(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Bf||Oa(!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),--Bf||Oa(!0)):e("invalid machine element: "+ a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Nf(b,a,d,!0,f,m):Of(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){Oa(!1);return Qf(a,b,c,d)};window.enableEvents=Oa;window.sendEvent=Pa;})();