(function(){/* http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/rk11.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/rx11.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/serial.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/drive.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2017 */ var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}(); function ea(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return ba?-b:b}});pa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});pa("Array.prototype.fill",function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c":62,"?":63,"@":64,Jd:65,yi:66,Ei:67,ej:68,E:69,kj:70,nj:71,zj:72,Bj:73,Cj:74,Dj:75,Ej:76,Hj:77,Jj:78,Pj:79,Sj:80,Q:81,Uj:82,Xj:83,fk:84,hk:85,jk:86,kk:87,pk:88,qk:89,yf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ge:97,sk:98,vk:99,d:100,e:101,wk:102,xk:103,yk:104,zk:105,Ek:106,k:107,Fk:108,Gk:109,n:110,Hk:111,p:112,q:113,r:114,Ik:115,t:116,Mk:117, Nk:118,Ok:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,$b:127}; function ta(a,b){if(a){b||(b=10);var c,d=0=b&&(c=a.match(/(-?[0-9]+)B([0-9]*)/))&& (a=c[1],e=35-((c[2]||35)&255));c=a;if(((d=b)&&10!=d?16==d?null!==c.match(/^-?[0-9a-f]+$/i):8==d?null!==c.match(/^-?[0-7]+$/):2==d&&null!==c.match(/^-?[01]+$/):null!==c.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))){e&&(0>f&&(f+=Math.pow(2,36)),f=0a&&-1a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0=k?48:55;f=String.fromCharCode(k)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function wa(a,b,c){b?36=b?8:262143>=b?18:36);return va(a,2,b,"",c)} function u(a,b,c){b?12=b?6:16777215>=b?8:12);return va(a,8,b,c?"0o":"")}function xa(a,b){b?11=Math.abs(a)?5:11;return va(a,10,b)}function v(a,b,c){b?9=b?4:4294967295>=b?8:9);return va(a,16,b,c?"0x":"")}function ya(a){return v(a,4,!0)}function za(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0"']/g,function(a){return Da[a]})}function Fa(a,b){return(a+" ").slice(0,b)}function Ga(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} var Da={"&":"&","<":"<",">":">",'"':""","'":"'"},Ha={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; function Ia(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1;var k=c(b,a[g]);0f;f++){var g;switch(g="Y-m-d H:i:s".charAt(f)){case "a":b+=12>c?"am":"pm";break;case "d":b+=("0"+d).slice(-2);break;case "D":b+=La[a.getDay()].substr(0,3);break;case "F":b+=Ma[e-1];break;case "g":b+=c?12b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.za=g.load;d.ya=g.exec;if(e=g.bytes)d.aa=e;else if(e=g.words)for(d.aa=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.aa=Array(4*e.length),f=c=0;c>8&255,d.aa[f++]=e[c]>>16&255,d.aa[f++]=e[c]>>24&255;else(e=g.data)?d.rk=e:d.aa=g;d.aa&&(d.aa.length?1==d.aa.length&&(w(d.aa[0]),d=null):(w("Empty resource: "+a),d=null));d.ha=g.symbols}catch(k){w("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Wc=this.id:(this.tb=this.id.substr(0,a),this.Wc=this.id.substr(a+1));this.A={ready:!1,bb:!1,vd:!1,Dk:!1,ca:!1,Hd:!1,error:!1};this.Lc=null;this.A.error=!1;this.ia=c||0;this.D=this.f=this.F=this.J=null;lb.push(this)} function mb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date}function w(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a,b){a.value+=b;b=a.value;8192d?c+=a+"\n":c=c.substr(0,d)+(a+".")+ c.substr(d+a.length);8192a;a++)this.b["S"+a]=[0,0,!1,!1,this.Tf,a];this.D=this.f=this.F=this.J=null;this.exports={hold:this.If,toggle:this.nh, reset:this.hh,set:this.mh};D(this)}q(gc,x);function ic(a,b){return jc(a,a.Cb=b)}h=gc.prototype;h.reset=function(a){this.stop();a&&ic(this,0)}; h.va=function(a,b,c,d){if(this.J&&this.J.va(a,b,c,d)||this.f&&this.f.va(a,b,c,d)||this.D&&this.D.va(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.H[b]=c,this.u++,!0;default:return"led"==a||"rled"==a?(this.H[b]=c,this.i[b]=d?1:0,this.u++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a, b){return function(){kc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){lc(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){kc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){lc(a,b)}}(this,b),!0):x.prototype.va.call(this,a,b,c,d)}};h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;mc(b,this,nc);oc(b,this.reset.bind(this));pc(this);qc(this)}; h.Ca=function(a,b){if(!b)if(this.M&&rc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,[this.fa,this.Cb,this.Va]);return a.data()};h.restore=function(a){if(a=a[0])sc(this,this.fa=a[0]),ic(this,a[1]),tc(this,a[2]);return!0};h.hh=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}qc(this);return!0};function uc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"} function pc(a,b){for(var c in a.i)uc(a,c,null!=b?b:a.i[c])}function vc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function qc(a){for(var b in a.b)vc(a,b,a.b[b][1])}function wc(a,b,c,d){if(a.H[b]){var e=a.D&&a.D.W||8;c=c||0;c=8==e?u(c,d):v(c,d);a.H[b].textContent!=c&&(a.H[b].textContent=c)}}h.If=function(a,b,c){if(kc(this,b)){if(c){var d=this;setTimeout(function(){lc(d,b);a&&a()},+c);return!1}lc(this,b)}return!0}; h.mh=function(a,b){if("SR"==a)return tc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,vc(this,a,c[1]),!0):!1};h.nh=function(a){return kc(this,a)?(lc(this,a),!0):!1};function kc(a,b){var c=a.b[b];return c?(vc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=xc&&(a.G=b==yc,a.I=b==zc),!0):!1}function lc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(vc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} h.Uf=function(a){a||this.f.A.V||(Ac(this.f,this.fa),a=this.f,a.F.reset(),Bc(a),this.b[Cc]&&this.b[Cc][1]&&Dc(this.f))};h.Vf=function(){};h.Pf=function(a){a||H(this.f)};h.Nf=function(a){if(!a&&!this.f.A.V)if(this.b[Cc]&&this.b[Cc][1])Dc(this.f);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),Ec(a,0,null),Ob(a,!1);else try{var b=this.f.zc(1);0=a.f.ja?8:16,c=65472<=a.fa&&a.fa<65472+b;b=c?1:2;c=c?15:a.F.I;a.b[xc]&&a.b[xc][1]||(b=-b);sc(a,a.fa&~c|a.fa+b&c)}function sc(a,b){a.fa=b&a.F.I;if(a.B!==a.fa){a.B=a.fa;b=a.B;for(var c=0;22>c;c++)Oc(a,"A"+c,b&1<c;c++)Oc(a,"D"+c,b&1<b;b++)a.b["S"+b][1]=a.Va&1<>2;this.i=this.j-1;this.G=this.M/this.j|0;this.S=this.G-1;this.Pa=[];this.na=0;this.C=!1;this.N=[];this.zf=[bd,cd,dd,ed];this.b=this.u=[];this.B=this.K=this.w=this.O=this.P=0;a=new I(this);fd(a,this.D);this.b=Array(this.G);this.u=Array(this.G);for(b=0;b>>this.g;this.K=0;this.w=this.I;D(this)}q($c,x);function id(a,b){if(b!=a.K){for(var c=0;c>>a.g,a.u[a.P]=a.b[a.O])}}h=$c.prototype;h.reset=function(){for(var a=0;a>>a.g;0g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.L)return l.Ub+=l.L-f,l.L=f,!0;if(f>=l.L+l.Ub){n=l.size-(f-m);n>g&&(n=g);l.Ub=f-l.L+n;f=m+a.j;g-=n;k++;continue}}return kd(ld,f,g)}f=new I(a,f,n,a.j,d,e);fd(f,a.D,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+md[d]+" at "+u(b)),!0):kd(nd,b,c)}h.Kd=function(a){return this.u[(a&this.w)>>>this.g].Bb(a&this.i,a)}; h.yc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Ub||b!=this.i?this.u[c].oa(b,a):this.u[c++].Bb(b,a)|this.u[c&this.S].Bb(0,a+1)<<8};h.Ld=function(a,b){this.u[(a&this.w)>>>this.g].Eb(a&this.i,b,a)};h.Yb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Ub||c!=this.i?this.u[d].Fb(c,b,a):(this.u[d++].Eb(c,b&255,a),this.u[d&this.S].Eb(0,b>>8&255,a+1))};function od(a,b){return a.b[(b&a.I)>>>a.g]} function Mc(a,b){var c;a.C=!1;a.na++;var d=b&a.i,e=od(a,b);Ub||d!=a.i?c=e.B(d,b):c=e.j(d,b)|od(a,b+1).j(0,b+1)<<8;a.na--;return c}function pd(a,b,c){a.C=!1;a.na++;od(a,b).F(b&a.i,c&255,b);a.na--}function Kc(a,b,c){a.C=!1;a.na++;var d=b&a.i,e=od(a,b);Ub||d!=a.i?e.C(d,c&65535,b):(e.F(d,c&255,b),od(a,b+1).F(0,c>>8&255,b+1));a.na--} function jd(a){for(var b=0,c=[],d=0;da.f.ja)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var t=g[4],r=g[5]||1,p=0;p>8:e[2](f)&255):f&1&&(e=d.Pa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&E(this.f,16|e[5])&&F(this.f,e[4]+".readByte("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,3);c=255;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to byte @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c} function cd(a,b,c){var d=!1,e=this.controller,f=e.Pa[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Pa[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&E(this.f,16|f[5])&&F(this.f,f[4]+".writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,5),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to byte @"+K(this.f,c)+": "+K(this.f, b),!0,!e.na))}function dd(a,b){var c=-1,d=this.controller;a=d.Pa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&E(this.f,16|a[5])&&F(this.f,a[4]+".readWord("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,2);c=65535;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to word @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c} function ed(a,b,c){var d=!1,e=this.controller;a=e.Pa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&E(this.f,16|a[5])&&F(this.f,a[4]+".writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,4),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to word @"+K(this.f,c)+": "+K(this.f,b),!0,!e.na))}function L(a){x.call(this,"Device",a,256);this.b={eb:128,Gd:-1}}q(L,x);h=L.prototype; h.Aa=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.D=d;var e=this;this.b.Gd=vd(c,function(){e.b.eb|=128;e.b.eb&64&&wd(e.f,e.b.Qa);e.J&&Ic(e.J,1);xd(e.f,e.b.Gd,1E3/60)});this.b.Qa=yd(c,64,6,2097152);mc(b,this,zd);oc(b,this.reset.bind(this));d&&Ad(d,64,function(a){var b=e.f;Bd(e,"KIPDR",b.B[0],0,a[0]);Bd(e,"KDPDR",b.B[0],8,a[0]);Bd(e,"KIPAR",b.M[0],0,a[0]);Bd(e,"KDPAR",b.M[0],8,a[0],!0);Bd(e,"SIPDR",b.B[1],0,a[0]);Bd(e,"SDPDR",b.B[1],8,a[0]);Bd(e,"SIPAR",b.M[1],0,a[0]);Bd(e,"SDPAR",b.M[1],8,a[0], !0);Bd(e,"UIPDR",b.B[3],0,a[0]);Bd(e,"UDPDR",b.B[3],8,a[0]);Bd(e,"UIPAR",b.M[3],0,a[0]);Bd(e,"UDPAR",b.M[3],8,a[0],!0);b.X&32&&Bd(e,"UNIMAP",b.Ga,-1,a[0])});D(this)};function Bd(a,b,c,d,e,f){a=a.D;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=0;var g=8,k="",l=!1,m=8;0>d&&(e=22,g=c.length,d=0,l=!0,m=4);for(var n=0;n>1&63;var b=this.f.Ga[a>>1];return a&1?b>>16:b&65535};h.oi=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ga[c]=b&1?this.f.Ga[c]&65535|(a&63)<<16:this.f.Ga[c]&-65536|a&65534};h.Qg=function(a){return this.f.B[1][a>>1&7]};h.hi=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Og=function(a){return this.f.B[1][(a>>1&7)+8]};h.fi=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Pg=function(a){return this.f.M[1][a>>1&7]}; h.gi=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Ng=function(a){return this.f.M[1][(a>>1&7)+8]};h.ei=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.fg=function(a){return this.f.B[0][a>>1&7]};h.zh=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.dg=function(a){return this.f.B[0][(a>>1&7)+8]};h.xh=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.eg=function(a){return this.f.M[0][a>>1&7]};h.yh=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295}; h.cg=function(a){return this.f.M[0][(a>>1&7)+8]};h.wh=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.Wg=function(a){return this.f.B[3][a>>1&7]};h.ni=function(a,b){this.f.B[3][b>>1&7]=a&65295};h.Ug=function(a){return this.f.B[3][(a>>1&7)+8]};h.li=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Vg=function(a){return this.f.M[3][a>>1&7]};h.mi=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Tg=function(a){return this.f.M[3][(a>>1&7)+8]}; h.ki=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Sb=function(a){a&=7;return this.f.w&2048?this.f.ta[a]:this.f.g[a]};h.Wb=function(a,b){b&=7;this.f.w&2048?this.f.ta[b]=a:this.f.g[b]=a};h.sg=function(){return this.f.w&49152?this.f.Y[0]:this.f.g[6]};h.Kh=function(a){this.f.w&49152?this.f.Y[0]=a:this.f.g[6]=a};h.vg=function(){return this.f.g[7]};h.Nh=function(a){this.f.g[7]=a};h.Tb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.ta[a]}; h.Xb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.ta[b]=a};h.tg=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.Y[1]};h.Lh=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.Y[1]=a};h.ug=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.Y[3]};h.Mh=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.Y[3]=a};h.bg=function(a){return this.f.uc[a-65504>>1]};h.vh=function(a,b){this.f.uc[b-65504>>1]=a};h.xe=function(a){return 65520==a?(qd(this.F)>>6)-1:0}; h.Ce=function(){};h.Sg=function(){return 1};h.ji=function(){};h.ag=function(){return this.f.P};h.uh=function(){this.f.P=0};h.hg=function(){return this.f.rc};h.Bh=function(a,b){b&1||(a&=255);this.f.rc=a};h.mg=function(a,b){return b?0:this.f.mb};h.Eh=function(a){Jd(this.f,a)};h.Rg=function(a,b){return b?0:this.f.Fa&65280};h.ii=function(a){this.f.Fa=a|255};h.rg=function(){return Kd(this.f)};h.Jh=function(a){Ld(this.f,a)};h.Be=function(a,b){E(this)&&F(this,"writeIgnored("+u(b)+"): "+u(a),!0,!0)}; var M={},zd=(M[61568]=[null,null,L.prototype.Xg,L.prototype.oi,"UNIMAP",64,1170],M[62592]=[null,null,L.prototype.Qg,L.prototype.hi,"SIPDR",8,1145,64],M[62608]=[null,null,L.prototype.Og,L.prototype.fi,"SDPDR",8,1145,64],M[62624]=[null,null,L.prototype.Pg,L.prototype.gi,"SIPAR",8,1145,64],M[62640]=[null,null,L.prototype.Ng,L.prototype.ei,"SDPAR",8,1145,64],M[62656]=[null,null,L.prototype.fg,L.prototype.zh,"KIPDR",8,1140,64],M[62672]=[null,null,L.prototype.dg,L.prototype.xh,"KDPDR",8,1145,64],M[62688]= [null,null,L.prototype.eg,L.prototype.yh,"KIPAR",8,1140,64],M[62704]=[null,null,L.prototype.cg,L.prototype.wh,"KDPAR",8,1145,64],M[62798]=[null,null,L.prototype.lg,L.prototype.Dh,"MMR3",1,1145,64],M[65382]=[null,null,L.prototype.gg,L.prototype.Ah,"LKS"],M[65402]=[null,null,L.prototype.ig,L.prototype.Ch,"MMR0",1,1140,64],M[65404]=[null,null,L.prototype.jg,L.prototype.Be,"MMR1",1,1145,64],M[65406]=[null,null,L.prototype.kg,L.prototype.Be,"MMR2",1,1140,64],M[65408]=[null,null,L.prototype.Wg,L.prototype.ni, "UIPDR",8,1140,64],M[65424]=[null,null,L.prototype.Ug,L.prototype.li,"UDPDR",8,1145,64],M[65440]=[null,null,L.prototype.Vg,L.prototype.mi,"UIPAR",8,1140,64],M[65456]=[null,null,L.prototype.Tg,L.prototype.ki,"UDPAR",8,1145,64],M[65472]=[null,null,L.prototype.Sb,L.prototype.Wb,"R0SET0"],M[65473]=[null,null,L.prototype.Sb,L.prototype.Wb,"R1SET0"],M[65474]=[null,null,L.prototype.Sb,L.prototype.Wb,"R2SET0"],M[65475]=[null,null,L.prototype.Sb,L.prototype.Wb,"R3SET0"],M[65476]=[null,null,L.prototype.Sb, L.prototype.Wb,"R4SET0"],M[65477]=[null,null,L.prototype.Sb,L.prototype.Wb,"R5SET0"],M[65478]=[null,null,L.prototype.sg,L.prototype.Kh,"R6KERNEL"],M[65479]=[null,null,L.prototype.vg,L.prototype.Nh,"R7KERNEL"],M[65480]=[null,null,L.prototype.Tb,L.prototype.Xb,"R0SET1",1,1145],M[65481]=[null,null,L.prototype.Tb,L.prototype.Xb,"R1SET1",1,1145],M[65482]=[null,null,L.prototype.Tb,L.prototype.Xb,"R2SET1",1,1145],M[65483]=[null,null,L.prototype.Tb,L.prototype.Xb,"R3SET1",1,1145],M[65484]=[null,null,L.prototype.Tb, L.prototype.Xb,"R4SET1",1,1145],M[65485]=[null,null,L.prototype.Tb,L.prototype.Xb,"R5SET1",1,1145],M[65486]=[null,null,L.prototype.tg,L.prototype.Lh,"R6SUPER",1,1145],M[65487]=[null,null,L.prototype.ug,L.prototype.Mh,"R6USER",1,1145],M[65504]=[null,null,L.prototype.bg,L.prototype.vh,"CTRL",8,1170],M[65520]=[null,null,L.prototype.xe,L.prototype.Ce,"LSIZE",1,1170],M[65522]=[null,null,L.prototype.xe,L.prototype.Ce,"HSIZE",1,1170],M[65524]=[null,null,L.prototype.Sg,L.prototype.ji,"SYSID",1,1170],M[65526]= [null,null,L.prototype.ag,L.prototype.uh,"ERR",1,1170],M[65528]=[null,null,L.prototype.hg,L.prototype.Bh,"MBR",1,1170],M[65530]=[null,null,L.prototype.mg,L.prototype.Eh,"PIR"],M[65532]=[null,null,L.prototype.Rg,L.prototype.ii,"SLR"],M[65534]=[null,null,L.prototype.rg,L.prototype.Jh,"PSW"],M); db(function(){for(var a=A(document,y,"device"),b=0;b>1),this.b=new Int32Array(this.u,0,this.size>>2),ae(this,be?ce:de);else{a=this.b=Array(this.size>>2);for(f=0;f>2),a=0;a>8,c)};h.Zf=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.dh=function(a,b){Tb&&a&1&&this.D.Na(b,64,2);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}; h.sh=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.cb=!0};h.Xf=function(a,b){this.f&&null!=this.L&&ke(this.f,this.L+a);return this.j(a,b)};h.Zg=function(a,b){this.f&&null!=this.L&&ke(this.f,this.L+a,2);return this.B(a,b)}; h.qh=function(a,b,c){this.f&&null!=this.L&&le(this.f,this.L+a);this.J?this.Vb(0,b,c):this.F(a,b,c)};h.ri=function(a,b,c){this.f&&null!=this.L&&le(this.f,this.L+a,2);this.J?this.Vb(0,b,c):this.C(a,b,c)};h.Wf=function(a){return this.g[a]};h.Yf=function(a,b){a=this.g[a];this.f&&E(this.f,32)&&F(this.f,"Memory.readByte("+K(this.f,b)+"): "+K(this.f,a),!0);return a};h.Yg=function(a,b){Tb&&a&1&&this.D.Na(b,64,2);return this.w.getUint16(a,!0)}; h.bh=function(a,b){Tb&&a&1&&this.D.Na(b,64,2);a=!Ub&&a&1?this.g[a]|this.g[a+1]<<8:this.G[a>>1];this.f&&E(this.f,32)&&F(this.f,"Memory.readWord("+K(this.f,b)+"): "+K(this.f,a),!0);return a};h.ph=function(a,b){this.g[a]=b;this.cb=!0};h.rh=function(a,b,c){this.g[a]=b;this.cb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0)};h.pi=function(a,b,c){Tb&&a&1&&this.D.Na(c,64,4);this.w.setUint16(a,b,!0);this.cb=!0}; h.si=function(a,b,c){Tb&&a&1&&this.D.Na(c,64,4);!Ub&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.G[a>>1]=b;this.cb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0)};var Zd=0,rd=1,$d=2,hd=4,md=["NONE","RAM","ROM","VID","H/W"],Yd=0,fe=[],ee=[I.prototype.Zf,I.prototype.sh,I.prototype.dh,I.prototype.ti],ie=[I.prototype.Xf,I.prototype.qh,I.prototype.Zg,I.prototype.ri]; if(Pb)var de=[I.prototype.Wf,I.prototype.ph,I.prototype.Yg,I.prototype.pi],ce=[I.prototype.Yf,I.prototype.rh,I.prototype.bh,I.prototype.si];var me;if(Pb){var ne=new ArrayBuffer(2);(new DataView(ne)).setUint16(0,256,!0);me=256===(new Uint16Array(ne))[0]}else me=!1;var be=me; function oe(a,b){x.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Zc=0;this.Xc=b;this.kb=c;this.kd=Math.round(this.Xc/1E4)/100;this.vb=this.kd*this.kb;this.ld=this.nc=this.yb=this.wc=0;this.A.V=this.A.Qc=!1;this.A.qa=a.autoStart;"string"==typeof this.A.qa&&(this.A.qa="true"==this.A.qa);this.A.Lb=!1;this.lc=this.Mb=0;this.mc=+a.csStart;this.Kb=+a.csInterval;this.Ob=+a.csStop;this.ga=[];this.Yd=this.ih.bind(this);this.lb=this.Ja=this.jb=this.b=this.la=this.Ia=this.kc=this.ib=this.Pb= this.md=this.ub=0;this.sa=null;D(this)}q(oe,x);h=oe.prototype;h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.D=d;this.sa=a.i;for(a=0;a=a.Mb&&(a.Mb+=a.Kb,c=!0);0<=a.Ob&&a.Ob<=we(a)&&(a.Kb=a.Ob=-1,se(a),H(a),c=!0);c&&a.v(we(a)+" cycles: checksum="+v(a.lc))}} h.va=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.ca)a=!0;else{var b=null,c,k=wb(a.id);for(c=0;ca.ub/a.vb?b=1:d=!0;a.kb=b;b=a.kd*a.kb;if(a.vb!=b){a.vb=b;b=a.vb.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&Ae(a.J)}Gc(a,a.Ja);a.Ja=0;a.Ia=rb();a.ib=0;ye(a);return d}function vd(a,b){var c=a.ga.length;a.ga.push([-1,b]);return c}function xd(a,b,c,d){0<=b&&ba.ga[b][0])&&(c=a.Xc*a.kb/1E3*c|0,a.A.V&&(c+=Be(a)),a.ga[b][0]=c)} function Ce(a,b){for(var c=a.ga.length-1;0<=c;c--){var d=a.ga[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function De(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Be(a,b){var c=a.jb-=a.b;a.b=a.la=0;b&&(a.jb=0);return c} h.ih=function(){if(this.A.V){this.wc>=this.Xc&&ye(this,!0);this.Pb=0;this.kc=rb();if(this.ib){var a=this.kc-this.ib;a>this.ld&&(this.Ia+=a,this.Ia>this.kc&&(this.Ia=this.kc))}try{do{var b=Ce(this,this.A.Lb?1:this.nc);try{this.zc(b)}catch(e){if("number"!=typeof e)throw e;}b=Be(this,!0);this.Pb+=b;this.Ja+=b;Hc(this,b);Fc(this,b);this.yb-=b;if(0>=this.yb){this.yb+=this.nc;++this.md>=Ee&&(this.J&&Ic(this.J,void 0),this.md=0);break}}while(this.A.V)}catch(e){H(this);this.J&&this.J.stop(rb(),we(this)); Kb(this,e.stack||e.message);return}if(this.A.V){a=setTimeout;b=this.Yd;this.ib=rb();var c=this.ld;this.Pb&&(c=Math.round(c*this.Pb/this.nc));c-=this.ib-this.kc;var d=this.ib-this.Ia;d&&(this.ub=Math.round(this.Ja/(10*d))/100,864E5<=d&&(this.lb=0,xe(this)));if(0>c||this.ubc&&(this.Ia-=c),c=0;this.wc+=this.Pb;this.ib+=c;a(b,c)}}}; function Dc(a,b){if(Lb(a))return!1;if(a.A.V)return a.v(a.toString()+" busy"),!1;xe(a);a.A.V=!0;a.A.Qc=!0;var c=a.H.run;c&&(c.textContent="Halt");a.J&&(b&&Ae(a.J,!0),a.J.start(a.Ia,we(a)));a.D||a.status("Started");setTimeout(a.Yd,0);return!0}h.zc=function(){return 0};function H(a,b){var c=!1;if(a.A.V){Be(a);Gc(a,a.Ja);a.Ja=0;a.A.V=!1;if(c=a.H.run)c.textContent="Run";a.J&&a.J.stop(rb(),we(a));c=!0;a.D||a.status("Stopped")}a.A.complete=b;return c}var ze=30,Ee=15,pe=["power","reset"]; function Fe(a){var b=+a.model||1170;oe.call(this,a,6666667);this.ja=b;this.Sc=+a.addrReset||0;this.Ka=this.w=this.N=this.C=this.G=this.K=this.I=0;this.g=this.ta=this.Y=[];this.M=this.B=this.Ga=this.uc=[];this.gb=this.O=this.Sd=this.wb=this.xb=this.pb=this.hb=this.P=this.rc=this.mb=this.Fa=this.S=this.sc=this.tc=this.X=this.i=0;this.Vd=[4,2,0,1];this.xc=0;this.Xd=255;1120>=this.ja?(this.ae=Ge.bind(this),this.Jb=this.Df,this.xc=8,this.Xd=-1,this.ee=255,this.de=0):(this.ae=He.bind(this),this.Jb=this.Ef, this.ee=~(1792|(1140>=this.ja?2048:0))&65535,this.de=1140e.Db&&(e.Db=c,c+=4)}return oe.prototype.Ca.call(this,a,b)}; h.reset=function(){this.status("Model "+this.ja);this.A.V&&H(this);this.C=65536;this.G=32768;this.K=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Sc,-1,-2,-3,-4,-5,-6,-7,-8];this.ta=[0,0,0,0,0,0];this.Y=[0,0,0,0];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.B=[[0,0,0,0,0,0,0,0,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,65535,65535, 65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ga=[0,0,0,0,0,0,0,0,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.uc=[0,0,0,0,0,0,0,0];this.N=0;this.Ka=-1;this.u=this.j=this.Vc=this.U=this.Z=this.i=this.rc=0;Bc(this);re(this);this.A.error=!1;oe.prototype.reset.call(this)};function Bc(a){a.S=0;a.sc=0;a.tc=0;a.X=0;a.P=0;a.mb=0;a.Fa=255;a.wb=0;a.xb=0;a.pb=0;a.hb=262143;a.gb=a.g[7];a.O=0;a.R=null;a.F&&(Ie(a),a.Sd=qd(a.F))} function Ie(a){a.gc=a.ad;a.hc=a.bd;a.Rc=a.gd;a.ic=a.jd;a.oc&&(a.gc=a.pe,a.hc=a.te);a.qc&&(a.Rc=a.ze,a.ic=a.Ae);a.wb?(a.Ha=65536,a.sb=a.X&16?4186112:253952,a.xa=a.se,a.oa=a.oc?a.ah:a.Dd,a.Fb=a.qc?a.vi:a.Id,id(a.F,a.X&16?22:18)):(a.Ha=0,a.sb=57344,a.xa=a.Hf,a.oa=a.oc?a.$g:a.ye,a.Fb=a.qc?a.ui:a.De,id(a.F,16))}function Dd(a){var b=a.S;b&57344||(b=b&-3199|a.xb<<5|a.pb<<1);return b} function Ed(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.sc=a.O>>16&65535,a.tc=a.O&65535);a.S=b;a.xb=(b&96)>>5;a.pb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.wb!=c&&(a.wb=c,Ie(a))}}function Fd(a){a.S&57344||(a.sc=a.O>>16&65535);a=a.sc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function Hd(a){a.S&57344||(a.tc=a.O&65535);return a.tc}function Id(a,b){1170>a.ja&&(b&=-49);a.X!=b&&(a.X=b,a.hb=b&16?4194303:262143,Ie(a))} function Je(a,b,c,d){a.Sc=b;Ac(a,b);Ld(a,0);a.F.reset();Bc(a);if(c){a.g[0]=d||0;for(b=1;5>=b;b++)a.g[b]=0;a.g[6]=1024;a.A.ca?a.A.V||Dc(a):a.A.qa=!0}else a.D&&a.A.ca?H(a)||a.J.A.reset||(te(a.D),Ic(a.J,-1)):!1===c&&H(a);!a.A.V&&a.sa&&a.sa.stop()}h.qe=function(){return 0}; h.save=function(){var a=new G(this);a.set(0,[this.g,this.ta,this.Y,this.M,this.B,this.Ga,this.uc,this.P,this.rc,this.mb,this.Fa,this.xb,this.pb,this.gb,this.i,this.O,this.Ka,this.Ac,this.Bc,this.Sc]);a.set(1,[Kd(this),Dd(this),Fd(this),Hd(this),this.X]);a.set(2,[this.lb,this.kb,this.A.qa]);a.set(3,Ke(this));a.set(4,De(this));return a.data()}; h.restore=function(a){var b=ia(a[0]);this.g=b.next().value;this.ta=b.next().value;this.Y=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Ga=b.next().value;this.uc=b.next().value;this.P=b.next().value;this.rc=b.next().value;this.mb=b.next().value;this.Fa=b.next().value;this.xb=b.next().value;this.pb=b.next().value;this.gb=b.next().value;this.i=b.next().value;this.O=b.next().value;this.Ka=b.next().value;this.Ac=b.next().value;this.Bc=b.next().value;this.Sc=b.next().value;b=a[1];Ld(this, b[0]);Ed(this,b[1]);this.sc=b[2];this.tc=b[3];Id(this,b[4]);b=a[2];this.lb=b[0];xe(this,b[1]);this.A.qa=b[2];b=a[3];for(var c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>23)),a.b-=2);a.b-=3}function Ac(a,b){a.g[7]=b&65535}function yd(a,b,c,d){b={Db:b,nb:c,message:d||0,name:$b[b],next:null};a.jc.push(b);return b}function Re(a,b){var c=a.R;if(c==b)a.R=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.R&&(a.i|=1)} function wd(a,b){if(b){if(b!=a.R){var c=a.R;if(!c||c.nb<=b.nb)b.next=c,a.R=b;else{do{var d=c.next;if(!d||d.nb<=b.nb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&E(a,b.message|8)&&F(a,"setIRQ(vector="+u(b.Db)+",priority="+b.nb+")",!0,!0)}}function Cd(a,b){b&&(Re(a,b),b.message&&E(a,b.message|8)&&F(a,"clearIRQ(vector="+u(b.Db)+",priority="+b.nb+")",!0,!0))}function Ke(a){var b=[];for(a=a.R;a;)b.push(a.Db),a=a.next;return b} function Se(a){return a.i&64?(a.ra(168,64,-6),!0):a.i&32?(a.ra(4,32,-5),!0):a.i&16?(a.ra(12,16,-7),!0):!1}function Kd(a){return a.w=a.w&63728|Oe(a)|Ne(a)|Me(a)|Le(a)}function Ld(a,b){b&=a.ee;a.I=b<<12;a.K=~b&4;a.G=b<<14;a.C=b<<16;if((b^a.w)&a.de)for(var c=a.ta.length;0<=--c;){var d=a.g[c];a.g[c]=a.ta[c];a.ta[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.Y[c]=a.g[6],a.g[6]=a.Y[a.N]);a.w=b;a.i&=-3;a.i|=a.R?2:1}function Jd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.mb=b} h.Da=function(a){this.I=this.K=a;this.G=0};h.ob=function(a,b){this.I=this.K=this.C=a;this.G=b||0};function Te(a,b){a.I=a.K=a.C=b;a.G=a.I^a.C>>1}function Ue(a,b,c,d){a.I=a.K=a.C=b;a.G=(c^d)&(d^b)} h.ra=function(a,b,c){if(!this.pa){0>this.Ka?this.Ka=Kd(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.P|=4,this.g[6]=a=4);if(-1!=c){this.O=a|4143316992;this.N=0;var d=this.oa(a|this.Ha),e=this.oa(a+2&65535|this.Ha);Ld(this,e&-12289|this.Ka>>2&12288);Ve(this,this.Ka);Ve(this,this.g[7]);Ac(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ka=-1;this.Ac=c;this.Bc=a;-1==c&&H(this);if(-4<=c)throw a;}}; function We(a){var b=Xe(a),c=Xe(a);a.w&49152&&(c=c&-225|a.w&63712);Ac(a,b);Ld(a,c);a.i&=-17}function Ye(a,b){var c=b>>13&31;31>c&&(b=a.X&32?a.Ga[c]+(b&8191)&4194303:b&-3932161);return b} function Ze(a,b,c){var d=[];if(c){c=Ye(a,b);var e=b>>13&31;d.push(c);d.push(e);a.X&32&&(d.push(a.Ga[e]),d.push(b&8191))}else if(a.wb){e=a.N<<1;var f=b>>13;7>13;a.X&a.Vd[a.N]||(e&=7);var f=a.B[a.N][e];d=(a.M[a.N][e]<<6)+(b&8191)&a.hb;3932160<=d&&(d=Ye(a,d));if(a.pa)return d;d>=a.Sd&&d>2&8128)&&(g|=16384):(b&8128)>(f>>2& 8128)&&(g|=16384));a.B[a.N][e]=f;if(d!=(4194170&a.hb)||a.N)a.xb=a.N,a.pb=e;g&&(g&57344&&(0<=a.Ka&&(g|=128),a.S&57344||(g|=a.S&4096|a.xb<<5|a.pb<<1,Ed(a,a.S&-61695|g&61694)),a.ra(168,64,-2)),a.S&61440||!(d<(4191360&a.hb)||d>(4194239&a.hb))||(a.S|=4096,a.S&512&&(a.i|=64)));return d}function Xe(a){var b=a.oa(a.g[6]|a.Ha);a.g[6]=a.g[6]+2&65535;return b}function Ve(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.O=a.O&65535|(a.O&-65536)<<8|16121856;a.i&256||a.Jb(4,-2,c);a.Fb(c,b)} function $e(a,b,c,d){var e=d&8?0:a.Ha;switch(b){case 0:return a.ra(4,0,-3),0;case 1:return 6==c&&a.Jb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|e;case 2:var f=2;var g=a.g[c];6==c&&a.Jb(d,f,g);7!=c&&(g|=e,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;g=a.g[c];7!=c&&(g|=e);g=a.oa(g);g|=e;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);g=a.g[c]+f&65535;6==c&&a.Jb(d,f,g);7!=c&&(g|=e);a.b-=4;break;case 5:f=-2;g=a.g[c]-2&65535;7!=c&&(g|=e);g=a.oa(g)|e;a.b-=8;break;case 6:return g=a.oa(Pe(a,2)),g=g+a.g[c]&65535,6==c&& a.Jb(d,0,g),a.b-=6,g|e;case 7:return g=a.oa(Pe(a,2)),g=g+a.g[c]&65535,g=a.oa(g|a.Ha),a.b-=10,g|e}a.g[c]=a.g[c]+f&65535;a.O=a.O&65535|(a.O&-65536)<<8|(f<<3&248|c)<<16;return g}h.Df=function(a,b,c){!this.N&&0>=b&&c<=this.Fa&&(this.i|=32)};h.Ef=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.Fa&&(c<=this.Fa-32?this.ra(4,0,-4):(this.P|=8,this.i|=32)))};h.pe=function(a){this.D&&ke(this.D,a,1);return this.ad(a)};h.te=function(a){this.D&&ke(this.D,a,2);return this.bd(a)}; h.ze=function(a,b){this.D&&le(this.D,a,1);this.gd(a,b)};h.Ae=function(a,b){this.D&&le(this.D,a,2);this.jd(a,b)};function Nc(a,b){a.pa++;b=a.F.yc(Lc(a,b,2));a.pa--;return b}function af(a,b){(b?--a.qc:--a.oc)||Ie(a)}h.Hf=function(a,b,c){return $e(this,a,b,c)};h.se=function(a,b,c){return Lc(this,$e(this,a,b,c),c)};h.ye=function(a){return this.F.yc(this.gb=a)};h.$g=function(a){this.D&&ke(this.D,a,2);return this.ye(a)};h.Dd=function(a){return this.F.yc(this.gb=Lc(this,a,2))}; h.ah=function(a){this.D&&ke(this.D,a,2);return this.Dd(a)};h.De=function(a,b){this.F.Yb(this.gb=a,b)};h.ui=function(a,b){this.D&&le(this.D,a,2);this.De(a,b)};h.Id=function(a,b){this.F.Yb(this.gb=Lc(this,a,4),b)};h.vi=function(a,b){this.D&&le(this.D,a,2);this.Id(a,b)};function bf(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=$e(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.oa(d|c&a.Ha),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.Y[a.w>>12&3];return c} function cf(a,b,c,d){a.O=a.O&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=$e(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=Lc(a,e|c&65536,4),a.N=a.w>>14&3,a.ic(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.Y[a.w>>12&3]=d}function df(a,b){b>>=6;var c=a.Z=b&7;return(b=a.U=(b&56)>>3)?a.gc(a.xa(b,c,3)):a.g[c+a.xc]&a.Xd}function ef(a,b){var c;b>>=6;var d=a.Z=b&7;(b=a.U=(b&56)>>3)?c=a.hc(a.xa(b,d,2)):c=a.g[d+a.xc];return c}function ff(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return $e(a,b,c,8)} function gf(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.gc(a.xa(b,c,3)):a.g[c]&255}function hf(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.hc(a.xa(b,d,2)):c=a.g[d];return c}function jf(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Vc=a.xa(b,e,7),c=0>c?a.g[-c-1]&255:c,a.Rc(e,d.call(a,c,a.gc(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))} function P(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.xa(b,e,6),a.ic(e,d.call(a,0>c?a.g[-c-1]:c,a.hc(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function kf(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.xa(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.Rc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))} function Cf(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.xa(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.ic(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))} h.zc=function(a){this.A.complete=!0;var b=this.D?Df(this.D)?1:this.A.Qc?-1:0:0,c=a?this.A.Qc?0:1:-1;this.A.Qc=!1;this.jb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(Ef(this.D,this.g[7],c)){H(this);break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.mb&224)>>5,f=this.R&&this.R.nb>e?this.R:null;f&&(d=f.Db,e=f.nb);e>(this.w&224)>>5?(this.i&8&&(Pe(this,2),this.i&=-9),this.ra(d,0,-10),e=!0):e=!1;e&&(f&&Re(this,f),a=!0);this.R||this.mb||(this.i&=-3)}else this.i& 1&&this.i++;if(a){if(this.i&4&&Ef(this.D,this.g[7],c)){H(this);break}if(0>c)break}if(this.i&112&&Se(this)){if(this.i&4&&Ef(this.D,this.g[7],c)){H(this);break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.oa(a);this.g[7]=a+2&65535;this.ae(f)}while(0>1|b<<16;Te(this,a);return a&65535}function Kf(a,b){a=b&128|b>>1|b<<8;Te(this,a<<8);return a&255}function Lf(a,b){a=b&~a;this.Da(a);return a}function Mf(a,b){a=b&~a;this.Da(a<<8);return a} function Nf(a,b){a|=b;this.Da(a);return a}function Of(a,b){a|=b;this.Da(a<<8);return a}function Pf(a,b){a=~b|65536;this.ob(a);return a&65535}function Qf(a,b){a=~b|256;this.ob(a<<8);return a&255}function Rf(a,b){this.I=this.K=a=b-a;this.G=b&(b^a);return a&65535}function Sf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.K=c;this.G=b&(b^c);return a&255}function Tf(a,b){this.I=this.K=a=b+a;this.G=a&(b^a);return a&65535}function Uf(a,b){a=b+a;var c=a<<8;this.I=this.K=c;this.G=c&(b<<8^c);return a&255} function Vf(a,b){a=-b;this.ob(a,a&b&32768);return a&65535}function Wf(a,b){a=-b;this.ob(a<<8,(a&b&128)<<8);return a&255}function Xf(a,b){a=b<<1|this.C>>16&1;Te(this,a);return a&65535}function Yf(a,b){a=b<<1|this.C>>16&1;Te(this,a<<8);return a&255}function Zf(a,b){a=(this.C&65536|b)>>1|b<<16;Te(this,a);return a&65535}function $f(a,b){a=((this.C&65536)>>8|b)>>1|b<<8;Te(this,a<<8);return a&255}function ag(a,b){var c=b-a;Ue(this,c,a,b);return c&65535} function bg(a,b){var c=b-a;Ue(this,c<<8,a<<8,b<<8);return c&255}function cg(a,b){this.I=this.K=b&65280;this.G=this.C=0;return(b<<8|b>>8)&65535}function dg(a,b){a^=b;this.Da(a);return a&65535}function eg(a){P(this,a,ef(this,a),Ff);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)} function fg(a){var b=hf(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.C=this.G=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.G=32768)}this.g[a]=c&65535;this.I=this.K=c;this.b-=(this.u?6:7)+b} function gg(a){var b=hf(this,a),c=a>>6&7,d=this.g[c]<<16|this.g[c|1];this.C=this.G=0;b&=63;b&32?(b=64-b,32>b-1,this.C=a<<16,a>>=1,d&2147483648&&(a|=4294967295<<32-b)):b?(a=d<>15,a<<=1,32>=32-b)&&4294967295!==(d|4294967295<>16&65535;this.g[c|1]=a&65535;this.I=a>>16;this.K=a>>16|a;this.b-=(this.u?6:7)+b}function hg(a){Qe(this,a,!Le(this))}function ig(a){Qe(this,a,Le(this))} function jg(a){P(this,a,ef(this,a),Lf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function kg(a){jf(this,a,df(this,a),Mf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function lg(a){P(this,a,ef(this,a),Nf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function mg(a){jf(this,a,df(this,a),Of);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)} function ng(a){var b=ef(this,a);a=hf(this,a);this.Da((0>b?this.g[-b-1]:b)&a);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}function og(a){var b=df(this,a);a=gf(this,a);this.Da(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}function pg(a){Qe(this,a,Ne(this))}function qg(a){Qe(this,a,!Oe(this)==!Me(this))}function rg(a){Qe(this,a,!Ne(this)&&!Oe(this)==!Me(this))}function sg(a){Qe(this,a,!Le(this)&&!Ne(this))} function tg(a){Qe(this,a,Ne(this)||!Oe(this)!=!Me(this))}function ug(a){Qe(this,a,Le(this)||Ne(this))}function vg(a){Qe(this,a,!Oe(this)!=!Me(this))}function wg(a){Qe(this,a,Oe(this))}function xg(a){Qe(this,a,!Ne(this))}function yg(a){Qe(this,a,!Oe(this))}function zg(){this.ra(12,0,-9)}function Ag(a){Qe(this,a,!0)}function Bg(a){Qe(this,a,!Me(this))}function Cg(a){Qe(this,a,Me(this))}function Dg(a){a&1&&(this.C=0);a&2&&(this.G=0);a&4&&(this.K=1);a&8&&(this.I=0);this.b-=5} function Eg(a){var b=ef(this,a);a=hf(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Ue(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}function Fg(a){var b=df(this,a);a=gf(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Ue(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)} function Gg(a){var b=hf(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.C=this.G=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.K=d>>16|d,this.I=d>>16):(this.G=32768,this.K=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.K=this.I=0,this.G=32768,this.C=65536,this.b-=7}function Hg(){this.ra(24,0,-9);this.b-=20} function Ig(){this.w&49152?(this.P|=128,this.ra(4,0,-8)):(this.sa&&1120==this.ja&&this.sa.setData(this.g[0],!0),this.D?Jg(this.D):H(this));this.b-=7}function Kg(){this.ra(16,0,-9);this.b-=20}var Lg=[0,7,7,10,7,11,9,13];function Mg(a){this.la=this.b;Ac(this,ff(this,a));this.b=this.la-Lg[this.u]}var Ng=[0,14,14,17,14,18,16,20];function Og(a){this.la=this.b;var b=ff(this,a);a=a>>6&7;Ve(this,this.g[a]);this.g[a]=this.g[7];Ac(this,b);this.b=this.la-Ng[this.u]} var Pg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Qg(a){var b=ef(this,a);this.la=this.b;Cf(this,a,b,this.Da);this.b=this.la-Pg[(this.U?8:0)+this.u]+(7!=this.j||this.u?0:2)}function Rg(a){var b=df(this,a);kf(this,a,b,65535,this.Da);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}var Sg=[7,13,13,17,14,18,17,21]; function Tg(a){var b=hf(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.K=this.I|b;this.G=0;this.C=-32768>b||32767>6;if(this.g[b]=this.g[b]-1&65535)Ac(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function $g(a){P(this,a,ef(this,a),ag);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function ah(a){P(this,a,0,cg);this.b-=this.u?9:3+(7==this.j?2:0)}function bh(){this.ra(28,0,-9)} function ch(){this.sa&&(this.sa.Fd(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;Pe(this,-2);this.b-=3}function dh(a){P(this,a,this.g[(a>>6&7)+this.xc],dg);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.D)b=this.D,E(b,1)?(F(b,"undefined opcode "+K(b,a),!0,!0),b=Jg(b)):b=!1;b||this.ra(8,0,-9)}function Ge(a){eh[a>>12].call(this,a)}function fh(a){gh[a>>6&3].call(this,a)}function hh(a){ih[a>>6&3].call(this,a)}function jh(a){kh[a>>6&3].call(this,a)} function lh(a){mh[a&15].call(this,a)}function nh(a){oh[a&15].call(this,a)}function ph(a){qh[a>>6&3].call(this,a)}function rh(a){sh[a>>6&3].call(this,a)}function th(a){uh[a>>6&3].call(this,a)} var eh=[function(a){vh[a>>8&15].call(this,a)},Qg,Eg,ng,jg,lg,eg,Q,function(a){wh[a>>8&15].call(this,a)},Rg,Fg,og,kg,mg,$g,Q],vh=[function(a){xh[a>>4&15].call(this,a)},Ag,xg,pg,qg,vg,rg,tg,Og,Og,fh,hh,jh,Q,Q,Q],gh=[function(a){Cf(this,a,0,this.ob);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Pf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Tf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Rf);this.b-=this.u?9:3+(7==this.j?2:0)}],ih=[function(a){P(this,a,0,Vf); this.b-=this.u?11:6},function(a){P(this,a,Le(this)?1:0,Ff);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,Le(this)?1:0,ag);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=hf(this,a);this.ob(a);this.b-=this.u?4:3+(7==this.j?2:0)}],kh=[function(a){P(this,a,0,Zf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Xf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Jf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Hf);this.b-=this.u?9:3+(7==this.j?2:0)}],xh= [function(a){yh[a&15].call(this,a)},Q,Q,Q,Mg,Mg,Mg,Mg,Wg,Q,lh,nh,ah,ah,ah,ah],yh=[Ig,ch,Xg,zg,Kg,Vg,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],mh=[Ug,function(){this.C=0;this.b-=5},function(){this.G=0;this.b-=5},Dg,function(){this.K=1;this.b-=5},Dg,Dg,Dg,function(){this.I=0;this.b-=5},Dg,Dg,Dg,Dg,Dg,Dg,Dg],oh=[Ug,function(){this.C=65536;this.b-=5},function(){this.G=32768;this.b-=5},Yg,function(){this.K=0;this.b-=5},Yg,Yg,Yg,function(){this.I=32768;this.b-=5},Yg,Yg,Yg,Yg,Yg,Yg,Yg],wh=[yg,wg,sg,ug,Bg,Cg,hg,ig,Hg,bh,ph,rh, th,Q,Q,Q],qh=[function(a){kf(this,a,0,255,this.ob);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,0,Qf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,1,Uf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,1,Sf);this.b-=this.u?9:3+(7==this.j?2:0)}],sh=[function(a){jf(this,a,0,Wf);this.b-=this.u?11:6},function(a){jf(this,a,Le(this)?1:0,Gf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,Le(this)?1:0,bg);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=gf(this, a);this.ob(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],uh=[function(a){jf(this,a,0,$f);this.b-=this.u?9+(this.Vc&1):3+(7==this.j?2:0)},function(a){jf(this,a,0,Yf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,0,Kf);this.b-=this.u?9+(this.Vc&1):3+(7==this.j?2:0)},function(a){jf(this,a,0,If);this.b-=this.u?9:3+(7==this.j?2:0)}];function He(a){zh[a>>12].call(this,a)} var zh=[function(a){Ah[a>>8&15].call(this,a)},Qg,Eg,ng,jg,lg,eg,function(a){Bh[a>>8&15].call(this,a)},function(a){Ch[a>>8&15].call(this,a)},Rg,Fg,og,kg,mg,$g,Q],Ah=[function(a){Dh[a>>4&15].call(this,a)},Ag,xg,pg,qg,vg,rg,tg,Og,Og,fh,hh,jh,function(a){Eh[a>>6&3].call(this,a)},Q,Q],Eh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.oa(a|this.Ha);Ac(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=bf(this,a,0);this.Da(a);Ve(this,a);this.b-=11},function(a){var b=Xe(this); this.la=this.b;this.Da(b);cf(this,a,0,b);this.b=this.la-Sg[this.u]},function(a){Cf(this,a,Oe(this)?65535:0,this.Da);this.b-=this.u?9:3+(7==this.j?2:0)}],Dh=[function(a){Fh[a&15].call(this,a)},Q,Q,Q,Mg,Mg,Mg,Mg,Wg,function(a){!(a&8)||1145>this.ja?Q.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},lh,nh,ah,ah,ah,ah],Fh=[Ig,ch,function(){We(this);this.i|=this.w&16;this.b-=13},zg,Kg,Vg,Xg,function(a){Q.call(this,a)},Q,Q,Q,Q,Q,Q,Q,Q],Bh=[Tg,Tg,Gg,Gg,fg,fg,gg,gg, dh,dh,Q,Q,Q,Q,Zg,Zg],Ch=[yg,wg,sg,ug,Bg,Cg,hg,ig,Hg,bh,ph,rh,th,function(a){1145>this.ja?Q.call(this,a):Gh[a>>6&3].call(this,a)},Q,Q],Gh=[function(a){Q.call(this,a)},function(a){a=bf(this,a,65536);this.Da(a);Ve(this,a);this.b-=11},function(a){var b=Xe(this);this.la=this.b;this.Da(b);cf(this,a,65536,b);this.b=this.la-Sg[this.u]},function(a){Q.call(this,a)}]; function Hh(a){x.call(this,"ROM",a,128);this.ha=this.g=null;this.u=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=za(this.j);if(this.j){a=this.j;var b=Aa(this.B);"json"!=b&&"hex"!=b&&(a=Pa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Na(a,null,!0,function(a,b,f){f?(c.T("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(mb(c.tb,a,b),(a=Oa(a,b))?(c.g=a.aa,c.ha=a.ha):c.j=null);Ih(c)})}}q(Hh,x); h=Hh.prototype;h.Aa=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Ih(this)};h.Ca=function(){this.ha&&(this.D&&Jh(this.D,this.id,this.u,this.b,this.ha),delete this.ha);return!0};h.Ba=function(){return!0}; function Ih(a){if(!Mb(a)){if(a.j){if(!a.g||!a.F)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Kb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{a:{var b=a.u;if(57344<=b&&b<57344+ad){var c={};c=(c[b]=[Hh.prototype.Kg,Hh.prototype.bi,null,null,null,a.b>>1],c);if(mc(a.F,a,c)){a.status("Added "+a.b+"-byte ROM at "+u(b));b=a.w=!0;break a}}else if(gd(a.F,b,a.b,$d)){for(c=0;c>>f.g;0>>=f.g;0>>=a.g;0=b.length){F(a,"invalid block at offset "+ya(n),4096);break}l+=2;var t=b[l++]&255|(b[l++]&255)<<8,r=b[l++]&255|(b[l++]&255)<<8;m+=(t&255)+(t>>8)+(r&255)+(r>>8);for(var p=l,z=t-=6;0=b.length){F(a,"insufficient data for block at offset "+ya(n),4096); break}m+=b[l++]&255;if(m&255){F(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+ya(n),4096);break}if(z)for(F(a,"loading "+ya(z)+" bytes at "+ya(r)+"-"+ya(r+z),4096);z--;)pd(a.F,r++,b[p++]&255);else r&1?g=!0:null==d&&(d=r),null!=d&&F(a,"starting address: "+ya(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e=sa.Jd&&c<=sa.yf&&(b=c-(sa.Jd-sa.Fe));b&&(a.preventDefault&&a.preventDefault(),d.Mc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==sa.He&&(b=sa.Ge);d.Mc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Mc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;var e=this;this.P=yd(this.f,this.M?-1:48,4,1048576);this.R=vd(this.f,function(){var a=-1;e.j.length&&(a=e.j.shift()&255,F(e,"receiveByte("+v(a,2,!0)+")"),e.K&&97<=a&&122>a&&(a-=32),xd(e.f,e.R,1E3/Math.round(e.S/10)));0<=a&&(e.C=a,e.b&128?e.C|=49152:e.b|=128,e.b&64&&wd(c,e.P))});this.N=yd(this.f,this.M?-1:52,4,1048576);this.Y=vd(this.f,function(){e.g|=128;e.g&64&&wd(c,e.N)});mc(b,this,Qh,this.M?64832+8*(this.M-1)-65392:0);oc(b,this.reset.bind(this)); D(this)};h.ue=function(a){if(!this.i){var b=qe(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ga(c[0]);if(d!=this.Wc)return;c=Ga(c[1]);if(this.i=xb(c)){var e=this.i.exports;if(e){var f=e.connect;f&&f.call(this.i,this.I);if(this.G=e.receiveData){this.I=a;this.O=e.receiveStatus;this.status("Connected "+this.tb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; h.Ca=function(a,b){if(!b)if(this.ue(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){Rh(this)};h.save=function(){var a=new G(this);a.set(0,[this.C,this.b,this.g,this.j]);return a.data()};h.restore=function(a){return Rh(this,a[0])};function Rh(a,b){b||(b=[0,8192,128,a.j]);b=ia(b);a.C=b.next().value;a.b=b.next().value;a.g=b.next().value;a.j=b.next().value;return!0} h.Mc=function(a){if("number"==typeof a)this.j.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.X||8,c=a-this.B%a,this.X&&(b=Fa("",c)));this.U&&!this.B&&c&&(b=String.fromCharCode(this.U)+b);this.u.value+=b;this.u.scrollTop=this.u.scrollHeight;this.B+=c}}else if(null!=this.w){if(10==a||1024<=this.w.length)this.v(this.w), this.w="";10!=a&&(this.w+=String.fromCharCode(a))}xd(this.f,this.Y,1E3/Math.round(this.Z/10));this.g&=-129};var Ph="buffer",Sh={},Qh=(Sh[65392]=[null,null,Oh.prototype.xg,Oh.prototype.Ph,"RCSR"],Sh[65394]=[null,null,Oh.prototype.wg,Oh.prototype.Oh,"RBUF"],Sh[65396]=[null,null,Oh.prototype.fh,Oh.prototype.xi,"XCSR"],Sh[65398]=[null,null,Oh.prototype.eh,Oh.prototype.wi,"XBUF"],Sh);db(function(){for(var a=A(document,y,"serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.H[b]=c,!0;case "readTape":e=Wh;case "loadTape":return e||(e=Xh),this.H[b]=c,c.onclick= function(){var a=d.H.listTapes;a&&Yh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Yh(d,za(b,!0),b,Xh,a)}return!1};return!0;case Zh:return this.H[b]=c,!0}return!1}; h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;this.I=$h(a);var e=this;if(a=Th(this,qe(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.G=yd(this.f,56,4,4096);this.S=vd(this.f,function(){1!=(e.b&32769)||e.b&128||(e.ic.indexOf("/api/v1/dump")&&(e=Aa(c),f="json"==e||"gz"==e?encodeURI(c):Pa()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Na(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.ca;g?a.T('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(mb(a.tb,e,f),(e=Oa(e,f))&&ki(a,b,c,d, e.aa,e.za,e.ya));a.A.bb=!1;a.g&&(a.g--,a.g||D(a));hi(a)})}function ci(a,b,c,d){if((a=a.H.listTapes)&&a.options){for(var e=0;e>2;var f=d=0;b=new DataView(b,0,c);a.b=Array(a.ba);for(c=0;cc.indexOf("/api/v1/dump")&&(b=Aa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):Ba(c,"/")&&(d="dir"),f=Pa()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.yd?"":e)+"&format=json"));return!!Na(f, null,!0,function(b,c,d){ri(a,b,c,d)})} function ri(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.ca;a.j=!1;if(d)a.controller.T('Unable to load disk "'+a.Wa+'" (error '+d+": "+b+")",f);else{mb(a.controller.tb,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ c+")");if(k.length)if(1==k.length)w(k[0]);else{a.ba=k.length;a.ka=k[0].length;a.ea=k[0][0].length;var l=k[0][0][0];a.ua=l&&l.length||512;for(d=c=0;d>=2;var n=l.pattern;void 0===n&&(n=l.pattern=0);var t=l.data;if(void 0===t){var r=l.bytes;if(void 0!==r&&r.length){for(var p=m<<2,z=r.length;z>2,e=Array(d),f=0;f>2;c=(d>((b&3)<<3)&255}return c};h.write=function(a,b,c){if(this.j)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.La?f=a.Ua+a.La&&(a.La+=f-(a.Ua+a.La)+1):(a.Ua=f,a.La=1);d[f]=d[f]&~(255<g)break;e|=g<=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+ b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;lb&&-2!=b&&this.controller.T("Unable to restore disk '"+this.Wa+": "+c);return b};var oi=0; function vi(a,b,c,d,e,f){x.call(this,a,b,c);this.N=wi(this,b.autoMount);this.M=0;this.R=d;this.S=e;this.U=f;this.P=d.Yc;this.g=Array(this.P);this.O=!Ua("Mobi")&&window&&"FileReader"in window;this.B=[];this.Qa=null;this.exports={bootDisk:this.le,loadDisk:this.Ad,selectDrive:this.kh,wait:this.oh}}q(vi,x);function wi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){w(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=vi.prototype; h.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.H[b]=c,c.onchange=function(){xi(d)},!0;case "descDisk":case "listDrives":return this.H[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&yi(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Ad()},!0;case "bootDisk":return this.H[b]=c,c.onclick=function(){d.le()},!0;case "saveDisk":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.onclick=function(){var a=d.H.listDrives;if(a&&a.options&&d.g)if(a= d.g[ta(a.value,10)||0])if(a=a.da){for(var b="",c=0,k;k=ti(a,c++);)for(var l=0,m=k.length;lg||9d||d>=this.g.length)return this.T("Unable to load the selected drive"),!1;if(!b)return ej(this,d),!0;if(b==bj)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==cj){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=za(b);this.status("Attempting to load "+b+' as "'+ a+'"')}ij(this,d,a,b,!1,c);return!0};h.le=function(){var a,b=this.H.listDrives;b=b&&ta(b.value,10);if(null==b||0>b||b>=this.g.length||!(a=this.g[b]))return this.T("Unable to boot the selected drive"),!1;if(!a.da)return this.T("Load a disk into the drive first"),!1;Je(this.f,0,!0,b);return(a=this.Rb(a,a.Jf,a.Kf,a.Lf,a.Cf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0}; function ij(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Oa.toLowerCase()!=d.toLowerCase()&&(g++,ej(a,b,!0),k.Kc?a.T(a.type+" busy"):(k.Kc=!0,e&&(k.xd=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Nb=!!f,qi(new ni(a,k,"preload"),c,d,f,a.ne)&&g++));return g} h.ne=function(a,b,c,d,e){a.Kc=!1;b&&(b.ba>a.ba||b.ka>a.ka)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Qb].Oc||"---")),b=null);b?(a.da=b,a.Wa=c,a.Oa=d,this.we(a.Qb),jj(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Qb].Oc||"---"),a.xd||e),this.J&&Ae(this.J)):a.Nb=!1;a.xd&&(a.xd=!1,--this.M||D(this));yi(this,a.Qb);a.fc&&(a.fc(),a.fc=null)}; function zi(a,b,c,d){if((a=a.H.listDisks)&&a.options){for(var e=0;e'+a+"");c.innerHTML=a}}h.oh=function(a){for(var b=0;b=a.ba){m=S.Cc;break}n=a.seek(b,c,d+1);if(!n){m=S.be;break}var t=0;++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b))}var r,p;if(0>(r=a.read(n,t++))||0>(p=a.read(n,t++))){m=S.Dc;break}if(!k&&(Kc(this.F,Ye(this.f,f),r|p<<8),ud(this.F))){m=S.bc;break}t>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; h.Tc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null;a||(m=S.Td,e=0);for(;e;){var t=Mc(this.F,Ye(this.f,f));if(ud(this.F)){m=S.bc;break}if(!n){if(b>=a.ba){m=S.Cc;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.be;break}var r=0;++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b))}if(k){var p,z;if(0>(p=a.read(n,r++))||0>(z=a.read(n,r++))){m=S.Dc;break}if(t!=(p|z<<8)){m=S.fe;break}}else if(!a.write(n,r++,t&255)||!a.write(n,r++,t>>8)){m=S.Dc;break}r>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; h.$e=function(a,b,c,d,e,f){this.u=f&65535;this.b=this.b&~R.Hb|f>>16-R.ma.Hb&R.Hb;this.w=65536-e&65535;this.j=this.j&~nj.qd|d&nj.qd;this.i|=a;oj(this);return!0};function oj(a){a.b&=~R.fb;a.i&&(a.i|=S.Je,a.b|=R.fb,a.i&S.cd&&(a.b|=R.cd),E(a)&&F(a,a.type+": ERROR: "+u(a.i)))}h.Cg=function(){return this.G};h.Uh=function(){};h.Dg=function(){return this.i};h.Vh=function(){};h.zg=function(){return this.b&R.cc}; h.Rh=function(a){this.b=this.b&~R.Sa|a&R.Sa;if(this.b&R.ac){a=!0;var b,c="",d=(this.j&nj.qb)>>nj.ma.qb,e=this.g[d];this.b&=~(R.Ya|R.rd);this.i&=~S.rf;switch(b=this.b&R.wa){case pj.Ee:E(this)&&F(this,this.type+": CRESET("+d+")",!0);this.i=this.j=0;this.b=R.Ya;break;case pj.Ve:c="RCHK";case pj.rb:c||(c="READ");var f=this.Rb;case pj.ud:c||(c="WCHK");case pj.ec:c||(c="WRITE");f||(f=this.Tc);var g=(this.j&nj.Zb)>>nj.ma.Zb;var k=(this.j&nj.fd)>>nj.ma.fd;var l=this.j&nj.qd;var m=65536-this.w&65535;var n= (this.b&R.Hb)<<16-R.ma.Hb|this.u;var t=this.b&R.Re?0:2;E(this)&&F(this,this.type+": "+c+"("+g+":"+k+":"+l+") "+u(n)+"--"+u(n+(m<<1)),!0,!0);if(g>=e.ba){this.i|=S.Cc;break}if(l>=e.ea){this.i|=S.Dc;break}a=f.call(this,e,g,k,l,m,n,t,b>=pj.ud,this.$e.bind(this));break;case pj.Ic:g=(this.j&nj.Zb)>>nj.ma.Zb;E(this)&&F(this,this.type+": SEEK("+g+")",!0);g(n=a.read(k,m++))||0>(t=a.read(k,m++))){g=sj.Za;break}Kc(this.F,Ye(this.f,f),n|t<<8);if(ud(this.F)){g=sj.bc;break}f+=2;e--;if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b>=a.ba)))){g=sj.Za;break}}return l?l(g,b,c,d,e,f):g}; h.Tc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;a||(g=sj.Za,e=0);for(;e;){var m=Mc(this.F,Ye(this.f,f));if(ud(this.F)){g=sj.bc;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=sj.Za;break}var n=0}if(!a.write(k,n++,m&255)||!a.write(k,n++,m>>8)){g=sj.Za;break}if(n>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b>=a.ba)))){g=sj.Za;break}}return l?l(g,b,c,d,e,f):g}; h.ef=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&~U.Xa|f>>16-U.ma.Xa&U.Xa;this.u=f>>16&tj.$a;this.j=this.i=b<>U.ma.Xa;if(!(this.b&U.Ya)){a=!0;var b="",c=this.g[(this.b&U.qb)>>U.ma.qb],d=c.da;this.b&=~U.Ea;switch(this.b&U.wa){case vj.vf:this.w&wj.Rd&&(this.b&=U.Ea|U.wa|U.Xa);this.w=c.status|this.j&uj.Hc|(d&&512==d.ba?wj.Oe:0);break;case vj.Ic:if((this.i&uj.Ne)==uj.sf){var e=this.i&uj.dc;b=(this.i&uj.uf)<<2;this.j=this.i&uj.tf?this.j+e:this.j-e;this.i=this.j=this.j&uj.dc|b}break;case vj.Ze:this.w=this.j;break;case vj.We:b="READ",e=this.Rb; case vj.xf:b||(b="WRITE");e||(e=this.Tc);var f=this.i>>uj.ma.dc;var g=this.i&uj.Hc?1:0;var k=this.i&uj.$d;!d||f>=d.ba||k>=d.ea?this.b=this.b|sj.Za|U.fb:(a=65536-this.w&65535,d=(this.u&tj.$a)<<16|this.C,E(this)&&F(this,this.type+": "+b+"("+f+":"+g+":"+k+") "+u(d)+"--"+u(d+(a<<1)),!0,!0),a=e.call(this,c,f,g,k,a,d,2,!1,this.ef.bind(this)))}a&&(this.b=this.b|U.Ea|U.Ya,this.b&U.Gb&&wd(this.f,this.Qa))}};h.Fg=function(){return this.C};h.Xh=function(a){this.C=a&xj.Sa};h.Ig=function(){return this.i}; h.$h=function(a){this.i=a};h.Jg=function(){return this.w};h.ai=function(a){this.w=a};h.Gg=function(){return this.u};h.Yh=function(a){this.u=a&tj.$a;this.b=this.b&~U.Xa|(this.u&3)<=m.ba){k=Cj.Te;break}n=m.seek(b,c,d+1);if(!n){k=Cj.od;break}var t=0;++d>=m.ea&&(d=0,++c>=m.ka&&(c=0,++b))}var r;if(0>(a=m.read(n,t++))||0>(r=m.read(n,t++))){k=Cj.nd;break}Kc(this.F,Ye(this.f,f),a|r<<8);t>=m.ua&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k}; function Aj(a){var b=0,c=a.b&W.sd?1:0,d=a.g[c];d=d&&d.da;var e=a.I&Dj.$a,f=a.G&Ej.$a;a.i&=~(Fj.Md|Fj.Wd|Fj.$b|Fj.Ea);if(d)if(a.i|=Fj.Ea,E(a)&&F(a,a.type+".readSector("+e+":0:"+f+")",!0,!0),c=d.seek(e,0,f,!0)){e=0;for(f=a.w.length;eg){b=Cj.nd;break}a.w[e++]=g}c.Ff&&(a.i|=Fj.$b)}else b=Cj.od;else b=c?Cj.ed:Cj.dd;Bj(a,b)} h.Lg=function(a,b){a=this.b;if(!b)switch(a&=W.cc,this.j){case V.$c:case V.EMPTY:this.uthis.u&&(this.b|=W.ab)}return a}; h.ci=function(a){this.b=this.b&~W.Sa|a&W.Sa;if(this.b&W.INIT)this.Ab();else if(this.b&W.ac&&this.j==V.Ib)switch(this.j=this.b&W.wa,this.b&=~(W.ac|W.ab|W.DONE|W.fb),Cd(this.f,this.Qa),E(this)&&F(this,this.type+".processCommand("+Gj[this.j>>1]+")",!0,!0),this.j){case V.$c:case V.EMPTY:case V.rb:case V.ec:case V.Jc:this.u=0;break;case V.Ye:a=this.g[this.b&W.sd?1:0];this.i&=~Fj.Ea;a&&a.da&&(this.i|=Fj.Ea);this.C=this.i;Bj(this);break;case V.Xe:this.C=this.K,Bj(this)}else this.b&W.Gb?this.b&W.DONE&&wd(this.f, this.Qa):Cd(this.f,this.Qa)};h.Mg=function(a,b){if(!b)switch(this.j){case V.EMPTY:this.b&W.ab&&(this.b&=~W.ab,this.C=this.w[this.u]&255,E(this)&&F(this,this.type+".readByte("+this.u+"): "+v(this.C,2,!0),!0,!0),++this.u>=this.w.length&&Bj(this))}return this.C}; h.di=function(a){switch(this.j){case V.$c:this.b&W.ab&&(this.b&=~W.ab,this.w[this.u]=a&255,E(this)&&F(this,this.type+".writeByte("+this.u+","+v(a,2,!0)+")",!0,!0),++this.u>=this.w.length&&Bj(this));break;case V.rb:case V.ec:case V.Jc:if(this.b&W.ab)switch(this.b&=~W.ab,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.rb)Aj(this);else{var b=this.j==V.Jc,c=0,d=this.b&W.sd?1:0,e=this.g[d];e=e&&e.da;var f=this.I&Dj.$a,g=this.G&Ej.$a;this.i&=~(Fj.Md|Fj.Wd|Fj.$b|Fj.Ea);if(e)if(this.i|=Fj.Ea, E(this)&&F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ff=!0),b=0,f=this.w.length;ba.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ga(b.substring(c,f))),c=f+1}}return a} function Kj(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a<<32-b>>32-b:(b=Math.pow(2,b-1),a>=b?(d=a%b,(a/b|0)&1&&(d-=b)):a<-b&&(d=a%b,((-a-1)/b|0)&1?d&&(d+=b):d||(d-=b)));a!=d&&(a=d);return a} function Lj(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop();var f=a.pop();switch(d){case "*":f*=e;break;case "/":if(!e)return!1;f=Math.trunc(f/e);break;case "^/":if(!e)return!1;f%=e;break;case "+":f+=e;break;case "-":f-=e;break;case "<<":f<<=e;break;case ">>":f>>=e;break;case ">>>":f>>>=e;break;case "<":f=f":f=f>e?1:0;break;case ">=":f=f>=e?1:0;break;case "==":f=f==e?1:0;break;case "!=":f=f!=e?1:0;break; case "&":f&=e;break;case "!":case "|":f|=e;break;case "^!":f|=e;break;case "&&":f=f&&e?1:0;break;case "||":f=f||e?1:0;break;case ",,":f=Kj(f,18,!0)*Math.pow(2,18)+Kj(e,18,!0);break;case "_":case "^_":"^_"==d&&(e=35-(e&255));e&&(f=Kj(f,0,!0),f=0=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Mj(a,b,0,b.length,a.W,c);void 0!==d&&e&&Tj(a,null,d)}return d} function Oj(a,b){for(;b;){switch(b&3){case 1:a=-Kj(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a} function Nj(a,b,c,d,e){e=void 0===e?0:e;var f=Array.isArray(d)?d:void 0;if(null!=b){var g=a.re(b);if(0<=g)g=a.zd(g);else if(g=b,a.i[g]?g=a.i[g].value:(g=g.substr(0,6),g=a.i[g]&&a.i[g].value),null!=g){var k=a.i[b]&&a.i[b].jh;k&&(f?f.push(k):(f=Sj(a,k,d),void 0!==f?g+=f:(d||a.v("undefined "+(c||"value")+": "+b+" ("+k+")"),g=void 0)))}else g=ta(b,1c&&(e+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+e);return d}function Uj(a,b){var c=0;if(a.i){if(b)return Tj(a,b,a.i[b]&&a.i[b].value);b=Object.keys(a.i);b.sort();for(var d=0;d>2:0,!!e)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c} var Qj={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Pj={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20}; function Vj(a){Ij.call(this,a);this.Ga=!1;this.O=["(",")"];this.ja=[];this.I=X();this.Fa=X();this.P=X();this.C=[];this.b=this.M=this.G=[];Wj(this);this.S=this.ga=0;this.j=[];this.sa=void 0;Xj(this);this.D=this;this.la={};this.ia=this.ke=0;this.U=null;this.N=[];Yj(this,a.messages);this.xa=a.commands;this.Ja=Zj;this.Y=[];this.K=0;this.Ka=this.ta=null;this.B=this.Ia=this.Ha=this.Z=this.pa=0;this.g=this.X=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return ve(b,a)}):void 0===global[y]&& (global[y]=function(a){return ve(b,a)})}q(Vj,Ij);function ak(a){a=a&&a.L;null==a&&(a=-1);return a}function X(a,b,c){return{L:void 0===a?null:a,Ma:void 0===b?!1:b,Ta:!1,W:c}}h=Vj.prototype;h.Fd=function(a,b){a.L=b;a.Ta=!1;a.W=void 0;return a};function bk(a){return[a.L,a.Ma,a.W,a.Ta,a.Nc]}function ck(a,b){var c=X(b[0],b[1],b[2]);c.Ta=b[3];b[4]&&(c.he=Jj(a,c.Nc=b[4]));return c} h.Aa=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.g=a.i;(a=qe(a,"messages"))&&Yj(this,a);1140>this.f.ja&&(this.Y=this.Y.concat(dk));1145>this.f.ja&&(this.Y=this.Y.concat(ek));Ad(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=ak(fk(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.F.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");c=-1;for(var m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."): (c=n.type,m=md[c],n&&d.v(v(n.id,8)+" %"+v(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a)var b=this.f.g[a];else if(16>a)b=this.f.ta[a-8];else if(20>a)b=this.f.Y[a-16];else{var c=this.f,d=this.g;switch(a){case nk:b=Kd(this.f);break;case ok:b=c.mb;break;case pk:b=c.P;break;case qk:b=c.Fa&65280;break;case rk:b=Dd(c);break;case sk:b=Fd(c);break;case tk:b=Hd(c);break;case uk:b=c.X;break;case lk:d&&(b=d.fa);break;case vk:d&&(b=d.Cb);break;case wk:d&&(b=d.Va)}}return b}; h.message=function(a,b){b&&(a+=" @"+ik(this,X(this.f.O&65535)));if(!this.U||a!=this.U)if(this.U=a,this.ia&536870912)this.N.push(a);else{var c;if(this.ia&-2147483648&&this.f&&(c=this.f.A.V)||Nb(this,!0))xk(this),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,Be(a),a.yb=0,a.J&&Ic(a.J,void 0))}}; function Xj(a){var b;if(!Df(a))a.j&&a.j.length&&a.v("instruction history buffer freed"),a.S=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(yk);for(b=0;b>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Vb[-d]:K(a,d))+")")}a.I=X(a.f.g[7]);b&&1!=a.K?Ck(a):Dk(a)}}function Ak(a,b){var c;(c=!a.f||!Mb(a.f))||(c=a.f,c.A.ca?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Lb(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0}; h.Ba=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Xj(this);this.Z=0;this.U=null;this.B=0;this.I=X(this.f.g[7]);this.A.V=!1;Ek(this);a||te(this)};h.save=function(){var a=new G(this);a.set(0,bk(this.I));a.set(1,bk(this.P));a.set(2,[this.u,this.R,this.ia]);a.set(3,this.C);return a.data()}; h.restore=function(a){var b=0;void 0!==a[2]&&(this.I=ck(this,a[b++]),this.P=ck(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.ia|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.K||this.v("running");this.A.V=!0;this.Ha=a;this.Ia=b}; h.stop=function(a,b){if(this.A.V){this.A.V=!1;this.B=b-this.Ia;if(!this.K){b="stopped";if(this.B){a-=this.Ha;var c=0d&&(d=Nc(a.f,b)),65535!=(d&65535)&&(a.Fd(a.j[a.S],b),++a.S==a.j.length&&(a.S=0)));return!1}function Jg(a){var b=a.f;if(b.A.V)throw Ac(b,a.f.O&65535),xk(a),-1;return!1}function ke(a,b,c){Fk(a,b,c||1,a.M)&&xk(a,!1)}function le(a,b,c){Fk(a,b,c||1,a.G)&&xk(a,!1)} function Wj(a){var b;a.b=["bp"];if(a.M)for(b=1;b>>c.g],!1)):af(a.f,!1)}a.M=["br"];if(a.G)for(b=1;b>>c.g],!0)):af(a.f,!0);a.G=["bw"];a.pa=0;a.ga=0} h.zb=function(a,b,c){var d=!0;c||Gk(this,a,b,!1,!0);if(a!=this.b){var e=ak(b);if(-1===e)this.v("invalid address: "+ik(this,b)),d=!1;else{var f=a==this.G;65535>>g.g].zb(e&g.i,f)}else e=this.f,(f?e.qc++:e.oc++)||Ie(e)}}d&&(a.push(b),c?b.Ta=!0:(Hk(this,a,a.length-1,"set"),Xj(this)));return d}; function Gk(a,b,c,d,e){var f=!1;c=ak(c);for(var g=1;g>>d.g],b)):af(a.f,b));k.Ta||Xj(a);break}}return f}function Ik(a,b){for(var c=1;c>23)&65535,B=K(p,r);else if(C==Ok)r=r.L-((f&63)<<1)&65535,B=K(p,r);else if(C==Pk)B=K(p,f&7,3);else if(C==Qk)B=K(p,f&63,6);else if(C==Rk)B=K(p,f&255,8);else if(C=f&z,z&Sk&&(C>>=6,z>>=6),z&Z){z=null;var J= C&Tk;switch(C&Uk){case 0:B=kk(p,J);break;case 8:B="@"+kk(p,J);z=Vk(p,p.f.g[J]);break;case 16:7>J?B="("+kk(p,J)+")+":(C=p.Ra(r,2),B="#"+K(p,C,-1));break;case 24:7>J?B="@("+kk(p,J)+")+":(C=p.Ra(r,2),B="@#"+K(p,C,-1),z=Vk(p,C));break;case 32:B="-("+kk(p,J)+")";break;case 40:B="@-("+kk(p,J)+")";break;case 48:C=p.Ra(r,2);B=K(p,C,-1)+"("+kk(p,J)+")";7==J&&(B=K(p,C=C+r.L&65535),z=Vk(p,C));break;case 56:C=p.Ra(r,2),B="@"+K(p,C)+"("+kk(p,J)+")",7==J&&(B="@"+K(p,C=C+r.L&65535),z=Vk(p,Nc(p.f,C)))}z&&(B=[B,z])}p= B;if(!p||!p.length){k="INVALID";break}"string"!=typeof p&&(m=p[1],p=p[0]);0=a.f.sb&&b=c.B&&(b=c.Pa[b&td])&&(a=b[4]);return a}function Wk(a,b){switch(b){case "N":a=Oe(a.f);break;case "Z":a=Ne(a.f);break;case "V":a=Me(a.f);break;case "C":a=Le(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Xk(a,b){var c=kk(a,b);c&&(c+="="+K(a,a.zd(b))+" ");return c} function Yk(a,b){var c,d="";for(c=0;6>c;c++)d+=Xk(a,c);d=d+"\n"+(Xk(a,6)+Xk(a,7));d+=Xk(a,nk)+Xk(a,ok)+Xk(a,qk);d+=Wk(a,"T")+Wk(a,"N")+Wk(a,"Z")+Wk(a,"V")+Wk(a,"C");b&&(b=d,c=""+(Xk(a,rk)+Xk(a,sk)),c+=Xk(a,tk)+Xk(a,uk)+Xk(a,pk),c=c+"\n"+(Xk(a,wk)+Xk(a,lk)+Xk(a,vk)),d=b+("\n"+c));return d}h.me=function(a,b){return a[0]>b[0]?1:a[0]>>0,g];var t=Ia(n,l,a.me);0>t&&n.splice(-(t+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({Jk:b,L:c,Mf:d,ha:e,ie:f})}function Zk(a,b,c){var d=[],e=ak(b)>>>0;for(b=0;b>>0,k=f.Mf;if(e>=g&&eb)){e.g[b]=g&65535;break}a.v("unknown register: "+ f);return}Ic(a.J);a.v("updated registers:")}}a.v(Yk(a,d));c&&(a.I=X(e.g[7]),Dk(a,ik(a,a.I)))}}function cl(a,b){b=Ga(b);var c=b.match(/^(['"])(.*?)\1$/);c?1k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.v(m)}k[3]&&(g=k[3],f=null);f=Kk(a,b,g,f);a.v(f);a.I=b;e-=b.L-l;c++}}} function Jk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(Bk+b):(a.R&&(a.v("ended assemble at "+ik(a,a.P)),a.I=a.P,a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Mb(a)&&0n||"z"Xa.length&&(a.v("note: only "+Xa.length+" available"),Ea=Xa.length);Ka-=Ea;0>Ka&&(null==Xa[Xa.length-1].L?(Ea=Ka+Ea,Ka=0):Ka+=Xa.length);var of=[];"call"==Gi&&(Pc=1E5,of=["CALL"]);for(void 0!==Fi&&a.v(Ea+" instructions earlier:");0=Xa.length&&(Ka=0);a.sa=Ea;Ii++;Pc--}}Ii||(a.v("no "+Hi+"history available"),a.sa=void 0)}else{var qa=fk(a,Wa);if(qa)if("da"==nb){var pf=qa.Ma||65535O.length?(2yb&&(yb=0);65536tf?String.fromCharCode(tf):".";sf>>=8}}Ab&&(Ab+="\n");Ab=qf?Ab+(Bb+","):Ab+(Wa+": "+Bb+(0==Qd?" "+Mi:""))}Ab&&a.v(Ab);a.Fa=qa; a.W=Gl}}}}break;case "e":if("else"==g[0])break;var uf=g[0],vf=g[1];if("eb"==uf){var Rc=1;var Ni=255;var Oi=a.Od;var Pi=a.Pd}else"e"==uf||"ew"==uf?(Rc=2,Ni=65535,Oi=a.Ra,Pi=a.Le):vf=null;if(null==vf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Td=fk(a,vf);if(Td)for(var Ud=2;Udxf;){for(var Cb=null,Kl=256;65536>Uc.L>>>0;){yf.L=a.Ra(Uc,2);if(null==Uc.L||!Kl--)break;if(!(yf.L&1)){for(var Ll=a,Vd=yf,Si=null,Vc=Vd.L,Ti=Vc,zf=1;6>=zf&&Vc;zf++){if(2> ";db(function(){for(var a=A(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");this.v("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis ");for(b=0;bkl){if(ll(d,this.I)){this.u=new G(this,"1.37.0",tl);ll(this.u)&&(ul(this,d),a=vl,wl(this.u));this.u.set(ql,Ja());xl(this.u);var e=this.b&&!this.G;if(a==rl||sb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=pl(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ll(d,g):("error"==f&&"no machine state"!= g?(this.T("Error: "+g),"unable to verify user"==g&&(Ta(yl,""),this.g=null)):this.v(f+": "+g),wl(d),ll(d)?(c=pl(d),e=!0):c=!1))}e&&nl(this,c?d:null)}else a==vl&&d.clear()}else nl(this);delete this.I;delete this.C}e=wb(this.id);for(f=0;fa[1];a=a[2];this.R=!0;this.A.ca=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.f&&(zl(this,this.f,b,c,a),Ic(this,-2),this.f.qa());this.O&&(ul(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0}; function ul(a,b){if(sb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.g||"";b=b.toString();var d={};d.app=Qb;d.ver="1.37.0";d.url=c;d.user=a;d.type="bug";d.data=b;Na("http://www.pcjs.org/api/v1/report",d,!0)}} function el(a,b,c){var d="none";if(a.j)return null;a.j--;var e=new G(a,"1.37.0"),f=new G(a,"1.37.0",ol),g=Ja();f.set(ql,g);e.set(ql,g);e.set(Al,"1.37.0");e.set(Bl,window?window.location.href:null);e.set(Cl,window?window.navigator.userAgent:"");if(a.f&&a.f.Ba){c&&(b&&(a.f.A.qa=a.f.A.V),H(a.f));var k=a.f.Ba(b,c);"object"===typeof k&&e.set(a.f.id,k);c&&(a.f.A.ca=!1,!1===k&&(d=null))}g=wb(a.id);for(var l=0;l=d||30<=(c.Zc+=d))&&(e.textContent=c.A.V?c.ub.toFixed(2)+"Mhz":"Stopped",c.Zc=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.V;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;eb?a.fa=a.f.g[7]:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/, "$1PDPjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Na(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/gi;m=n.exec(f);)l=0>l.toLowerCase().indexOf(m[1].toLowerCase())?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+ "> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);Vl(a,b,c)}})}else c(a,null)} function Wl(a,b,c,d,e){function f(a){if(void 0===l){var b=k&&A(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=Ca(a))}function g(a){f("Error: "+a);m&&(--Sl||hb(!0));m=!1}var k,l,m=!0;Sl++;qb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n));t.appendChild(r)}d|| (n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.37.0/components.xsl");n=function(e,l){l?Tl(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Sl||hb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Sl|| hb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Tl(c,b,a,e,!0,f,n):Ul(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(p){g(p.message)}return m}window.embedPDP10=function(a,b,c,d){hb(!1);return Wl("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){hb(!1);return Wl("pdp11",a,b,c,d)}; window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete Fb[c],d=!0;else if("string"==typeof f&&!Fb[c]){d=!0;e=Fb;for(var g=c,k=f.length,l=[],m=[],n="",t=null,r=0;r