(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){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++} function fa(){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 ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return ba?-b:b}});ja("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});ja("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,Kd: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,Qj:79,Tj:80,Q:81,Vj:82,Yj:83,gk:84,ik:85,kk:86,lk:87,rk:88,sk:89,yf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tk:97,vk:98,yk:99,d:100,e:101,zk:102,Ak:103,Bk:104,Ck:105,Hk:106,k:107,Ik:108,Jk:109,n:110,Kk:111,p:112,q:113,r:114,Lk:115,t:116,Ok:117, Pk:118,Qk:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,ac:127}; function ma(a,b){var c;if(a){b||(b=10);var d,e,f=0=b&&(e=a.match(/(-?[0-9]+)B([0-9]*)/))&& (a=e[1],d=35-((e[2]||35)&255));e=a;((f=b)&&10!=f?16==f?e.match(/^-?[0-9a-f]+$/i):8==f?e.match(/^-?[0-7]+$/):2==f&&e.match(/^-?[01]+$/):e.match(/^-?[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(d&&(0>g&&(g+=Math.pow(2,36)),g=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 pa(a,b,c){b?36=b?8:262143>=b?18:36);return na(a,2,b,"",c)} function u(a,b,c){b?12=b?6:16777215>=b?8:12);return na(a,8,b,c?"0o":"")}function qa(a,b){b?11=Math.abs(a)?5:11;return na(a,10,b)}function v(a,b,c){b?9=b?4:4294967295>=b?8:9);return na(a,16,b,c?"0x":"")}function ra(a){return v(a,4,!0)}function ta(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0"']/g,function(a){return xa[a]})}function ya(a,b){return(a+" ").slice(0,b)}function za(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} var xa={"&":"&","<":"<",">":">",'"':""","'":"'"},Aa={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 Ba(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,k;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+=Ea[a.getDay()].substr(0,3);break;case "F":b+=Fa[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.Aa=g.load;d.za=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.uk=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.ia=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.Xc=this.id:(this.ub=this.id.substr(0,a),this.Xc=this.id.substr(a+1));this.A={ready:!1,cb:!1,wd:!1,Gk:!1,ca:!1,Id:!1,error:!1};this.Mc=null;this.A.error=!1;this.ja=c||0;this.D=this.f=this.F=this.J=null;fb.push(this)} function gb(a,b,c){hb[a]&&b&&(hb[a][b]=c)}function ib(){return Date.now()||+new Date}function w(a){window&&window.alert(a)}function jb(a){var b=!1;window&&(b=window.confirm(a));return b}function kb(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)}p(Wb,x);function Yb(a,b){return ec(a,a.Db=b)}h=Wb.prototype;h.reset=function(a){this.stop();a&&Yb(this,0)}; h.wa=function(a,b,c,d){if(this.J&&this.J.wa(a,b,c,d)||this.f&&this.f.wa(a,b,c,d)||this.D&&this.D.wa(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(){fc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gc(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){fc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gc(a,b)}}(this,b),!0):x.prototype.wa.call(this,a,b,c,d)}};h.Ba=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;hc(b,this,ic);jc(b,this.reset.bind(this));kc(this);lc(this)}; h.Da=function(a,b){if(!b)if(this.M&&mc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,[this.ga,this.Db,this.Wa]);return a.data()};h.restore=function(a){if(a=a[0])nc(this,this.ga=a[0]),Yb(this,a[1]),oc(this,a[2]);return!0};h.hh=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}lc(this);return!0};function pc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"} function kc(a,b){for(var c in a.i)pc(a,c,null!=b?b:a.i[c])}function qc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function lc(a){for(var b in a.b)qc(a,b,a.b[b][1])}function rc(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(fc(this,b)){if(c){var d=this;setTimeout(function(){gc(d,b);a&&a()},+c);return!1}gc(this,b)}return!0}; h.mh=function(a,b){if("SR"==a)return oc(this,ma(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,qc(this,a,c[1]),!0):!1};h.nh=function(a){return fc(this,a)?(gc(this,a),!0):!1};function fc(a,b){var c=a.b[b];return c?(qc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=sc&&(a.G=b==tc,a.I=b==uc),!0):!1}function gc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(qc(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||(vc(this.f,this.ga),a=this.f,a.F.reset(),wc(a),this.b[xc]&&this.b[xc][1]&&yc(this.f))};h.Vf=function(){};h.Pf=function(a){a||this.f.da()};h.Nf=function(a){if(!a&&!this.f.A.V)if(this.b[xc]&&this.b[xc][1])yc(this.f);else{if((a=this.D)&&!Ib(a,!0))Jb(a,!0),zc(a,0,null),Jb(a,!1);else try{var b=this.f.Ac(1);0=a.f.ka?8:16,c=65472<=a.ga&&a.ga<65472+b,b=c?1:2,c=c?15:a.F.I;a.b[sc]&&a.b[sc][1]||(b=-b);nc(a,a.ga&~c|a.ga+b&c)}function nc(a,b){a.ga=b&a.F.I;if(a.B!==a.ga){a.B=a.ga;b=a.B;for(var c=0;22>c;c++)Ic(a,"A"+c,b&1<c;c++)Ic(a,"D"+c,b&1<b;b++)a.b["S"+b][1]=a.Wa&1<>2;this.i=this.j-1;this.G=this.M/this.j|0;this.S=this.G-1;this.Qa=[];this.oa=0;this.C=!1;this.N=[];this.zf=[Mc,Yc,Zc,$c];this.b=this.u=[];this.B=this.K=this.w=this.O=this.P=0;a=new I(this);ad(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)}p(Kc,x);function dd(a,b){if(b!=a.K){for(var c=0;c>>a.g,a.u[a.P]=a.b[a.O])}}h=Kc.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.Vb+=l.L-f,l.L=f,!0;if(f>=l.L+l.Vb){n=l.size-(f-m);n>g&&(n=g);l.Vb=f-l.L+n;f=m+a.j;g-=n;k++;continue}}return fd(gd,f,g)}f=new I(a,f,n,a.j,d,e);ad(f,a.D,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+hd[d]+" at "+u(b)),!0):fd(id,b,c)}h.Ld=function(a){return this.u[(a&this.w)>>>this.g].Cb(a&this.i,a)}; h.zc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Pb||b!=this.i?this.u[c].pa(b,a):this.u[c++].Cb(b,a)|this.u[c&this.S].Cb(0,a+1)<<8};h.Md=function(a,b){this.u[(a&this.w)>>>this.g].Fb(a&this.i,b,a)};h.Zb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Pb||c!=this.i?this.u[d].Gb(c,b,a):(this.u[d++].Fb(c,b&255,a),this.u[d&this.S].Fb(0,b>>8&255,a+1))};function jd(a,b){return a.b[(b&a.I)>>>a.g]} function Gc(a,b){var c;a.C=!1;a.oa++;var d=b&a.i,e=jd(a,b);Pb||d!=a.i?c=e.B(d,b):c=e.j(d,b)|jd(a,b+1).j(0,b+1)<<8;a.oa--;return c}function kd(a,b,c){a.C=!1;a.oa++;jd(a,b).F(b&a.i,c&255,b);a.oa--}function Ec(a,b,c){a.C=!1;a.oa++;var d=b&a.i,e=jd(a,b);Pb||d!=a.i?e.C(d,c&65535,b):(e.F(d,c&255,b),jd(a,b+1).F(0,c>>8&255,b+1));a.oa--} function ed(a){for(var b=0,c=[],d=0;da.f.ka)){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 r=g[4],t=g[5]||1,q=0;q>8:e[2](f)&255):f&1&&(e=d.Qa[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.oa),c;d.Oa(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.oa);return c} function Yc(a,b,c){var d=!1,e=this.controller,f=e.Qa[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.Qa[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.oa):(e.Oa(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.oa))}function Zc(a,b){var c=-1,d=this.controller;a=d.Qa[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.oa),c;d.Oa(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.oa);return c} function $c(a,b,c){var d=!1,e=this.controller;a=e.Qa[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.oa):(e.Oa(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.oa))}function L(a){x.call(this,"Device",a,256);this.b={fb:128,Hd:-1}}p(L,x);h=L.prototype; h.Ba=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.D=d;var e=this;this.b.Hd=qd(c,function(){e.b.fb|=128;e.b.fb&64&&rd(e.f,e.b.Ra);e.J&&H(e.J,1);sd(e.f,e.b.Hd,1E3/60)});this.b.Ra=td(c,64,6,2097152);hc(b,this,ud);jc(b,this.reset.bind(this));d&&vd(d,64,function(a){var b=e.f;wd(e,"KIPDR",b.B[0],0,a[0]);wd(e,"KDPDR",b.B[0],8,a[0]);wd(e,"KIPAR",b.M[0],0,a[0]);wd(e,"KDPAR",b.M[0],8,a[0],!0);wd(e,"SIPDR",b.B[1],0,a[0]);wd(e,"SDPDR",b.B[1],8,a[0]);wd(e,"SIPAR",b.M[1],0,a[0]);wd(e,"SDPAR",b.M[1],8,a[0], !0);wd(e,"UIPDR",b.B[3],0,a[0]);wd(e,"UDPDR",b.B[3],8,a[0]);wd(e,"UIPAR",b.M[3],0,a[0]);wd(e,"UDPAR",b.M[3],8,a[0],!0);b.X&32&&wd(e,"UNIMAP",b.Ha,-1,a[0])});D(this)};function wd(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.Ha[a>>1];return a&1?b>>16:b&65535};h.oi=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ha[c]=b&1?this.f.Ha[c]&65535|(a&63)<<16:this.f.Ha[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.Tb=function(a){a&=7;return this.f.w&2048?this.f.ua[a]:this.f.g[a]};h.Xb=function(a,b){b&=7;this.f.w&2048?this.f.ua[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.Ub=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.ua[a]}; h.Yb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.ua[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.vc[a-65504>>1]};h.vh=function(a,b){this.f.vc[b-65504>>1]=a};h.xe=function(a){return 65520==a?(ld(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.sc};h.Bh=function(a,b){b&1||(a&=255);this.f.sc=a};h.mg=function(a,b){return b?0:this.f.nb};h.Eh=function(a){Dd(this.f,a)};h.Rg=function(a,b){return b?0:this.f.Ga&65280};h.ii=function(a){this.f.Ga=a|255};h.rg=function(){return Ed(this.f)};h.Jh=function(a){Gd(this.f,a)};h.Be=function(a,b){E(this)&&F(this,"writeIgnored("+u(b)+"): "+u(a),!0,!0)}; var M={},ud=(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.Tb,L.prototype.Xb,"R0SET0"],M[65473]=[null,null,L.prototype.Tb,L.prototype.Xb,"R1SET0"],M[65474]=[null,null,L.prototype.Tb,L.prototype.Xb,"R2SET0"],M[65475]=[null,null,L.prototype.Tb,L.prototype.Xb,"R3SET0"],M[65476]=[null,null,L.prototype.Tb, L.prototype.Xb,"R4SET0"],M[65477]=[null,null,L.prototype.Tb,L.prototype.Xb,"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.Ub,L.prototype.Yb,"R0SET1",1,1145],M[65481]=[null,null,L.prototype.Ub,L.prototype.Yb,"R1SET1",1,1145],M[65482]=[null,null,L.prototype.Ub,L.prototype.Yb,"R2SET1",1,1145],M[65483]=[null,null,L.prototype.Ub,L.prototype.Yb,"R3SET1",1,1145],M[65484]=[null,null,L.prototype.Ub, L.prototype.Yb,"R4SET1",1,1145],M[65485]=[null,null,L.prototype.Ub,L.prototype.Yb,"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); Ya(function(){for(var a=A(document,y,"device"),b=0;b>1),this.b=new Int32Array(this.u,0,this.size>>2),Nd(this,Wd?Xd:Yd);else{a=this.b=Array(this.size>>2);for(f=0;f>2),b=0;b>8,c)};h.Zf=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.dh=function(a,b){Ob&&a&1&&this.D.Oa(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.eb=!0};h.Xf=function(a,b){this.f&&null!=this.L&&ee(this.f,this.L+a);return this.j(a,b)};h.Zg=function(a,b){this.f&&null!=this.L&&ee(this.f,this.L+a,2);return this.B(a,b)}; h.qh=function(a,b,c){this.f&&null!=this.L&&fe(this.f,this.L+a);this.J?this.Wb(0,b,c):this.F(a,b,c)};h.ri=function(a,b,c){this.f&&null!=this.L&&fe(this.f,this.L+a,2);this.J?this.Wb(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){Ob&&a&1&&this.D.Oa(b,64,2);return this.w.getUint16(a,!0)}; h.bh=function(a,b){Ob&&a&1&&this.D.Oa(b,64,2);a=!Pb&&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.eb=!0};h.rh=function(a,b,c){this.g[a]=b;this.eb=!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){Ob&&a&1&&this.D.Oa(c,64,4);this.w.setUint16(a,b,!0);this.eb=!0}; h.si=function(a,b,c){Ob&&a&1&&this.D.Oa(c,64,4);!Pb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.G[a>>1]=b;this.eb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0)};var Ld=0,md=1,Md=2,cd=4,hd=["NONE","RAM","ROM","VID","H/W"],Kd=0,$d=[],Zd=[I.prototype.Zf,I.prototype.sh,I.prototype.dh,I.prototype.ti],ce=[I.prototype.Xf,I.prototype.qh,I.prototype.Zg,I.prototype.ri]; if(Kb)var Yd=[I.prototype.Wf,I.prototype.ph,I.prototype.Yg,I.prototype.pi],Xd=[I.prototype.Yf,I.prototype.rh,I.prototype.bh,I.prototype.si];var ge;if(Kb){var he=new ArrayBuffer(2);(new DataView(he)).setUint16(0,256,!0);ge=256===(new Uint16Array(he))[0]}else ge=!1;var Wd=ge; function ie(a,b){x.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.$c=0;this.Yc=b;this.lb=c;this.ld=Math.round(this.Yc/1E4)/100;this.wb=this.ld*this.lb;this.md=this.oc=this.zb=this.xc=0;this.A.V=this.A.Rc=!1;this.A.ra=a.autoStart;"string"==typeof this.A.ra&&(this.A.ra="true"==this.A.ra);this.A.Mb=!1;this.mc=this.Nb=0;this.nc=+a.csStart;this.Lb=+a.csInterval;this.Pb=+a.csStop;this.ha=[];this.Zd=this.ih.bind(this);this.mb=this.Ka=this.kb=this.b=this.ma=this.Ja=this.lc=this.jb=this.Qb= this.nd=this.vb=0;this.ta=null;D(this)}p(ie,x);h=ie.prototype;h.Ba=function(a,b,c,d){this.J=a;this.F=b;this.D=d;this.ta=a.i;for(a=0;a=a.Nb&&(a.Nb+=a.Lb,c=!0);0<=a.Pb&&a.Pb<=qe(a)&&(a.Lb=a.Pb=-1,me(a),a.da(),c=!0);c&&a.v(qe(a)+" cycles: checksum="+v(a.mc))}} h.wa=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=qb(a.id);for(c=0;ca.vb/a.wb?b=1:d=!0;a.lb=b;b=a.ld*a.lb;if(a.wb!=b){a.wb=b;b=a.wb.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&ue(a.J)}Bc(a,a.Ka);a.Ka=0;a.Ja=ib();a.jb=0;se(a);return d}function qd(a,b){var c=a.ha.length;a.ha.push([-1,b]);return c}function sd(a,b,c,d){0<=b&&ba.ha[b][0])&&(c=a.Yc*a.lb/1E3*c|0,a.A.V&&(c+=ve(a)),a.ha[b][0]=c)} function we(a,b){for(var c=a.ha.length-1;0<=c;c--){var d=a.ha[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function xe(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ve(a,b){var c=a.kb-=a.b;a.b=a.ma=0;b&&(a.kb=0);return c} h.ih=function(){if(this.A.V){this.xc>=this.Yc&&se(this,!0);this.Qb=0;this.lc=ib();if(this.jb){var a=this.lc-this.jb;a>this.md&&(this.Ja+=a,this.Ja>this.lc&&(this.Ja=this.lc))}try{do{var b=we(this,this.A.Mb?1:this.oc);try{this.Ac(b)}catch(e){if("number"!=typeof e)throw e;}b=ve(this,!0);this.Qb+=b;this.Ka+=b;Cc(this,b);Ac(this,b);this.zb-=b;if(0>=this.zb){this.zb+=this.oc;++this.nd>=ye&&(this.J&&H(this.J,void 0),this.nd=0);break}}while(this.A.V)}catch(e){this.da();this.J&&this.J.stop(ib(),qe(this)); Fb(this,e.stack||e.message);return}if(this.A.V){a=setTimeout;b=this.Zd;this.jb=ib();var c=this.md;this.Qb&&(c=Math.round(c*this.Qb/this.oc));var c=c-(this.jb-this.lc),d=this.jb-this.Ja;d&&(this.vb=Math.round(this.Ka/(10*d))/100,864E5<=d&&(this.mb=0,re(this)));if(0>c||this.vbc&&(this.Ja-=c),c=0;this.xc+=this.Qb;this.jb+=c;a(b,c)}}}; function yc(a,b){if(Gb(a))return!1;if(a.A.V)return a.v(a.toString()+" busy"),!1;re(a);a.A.V=!0;a.A.Rc=!0;var c=a.H.run;c&&(c.textContent="Halt");a.J&&(b&&ue(a.J,!0),a.J.start(a.Ja,qe(a)));a.D||a.status("Started");setTimeout(a.Zd,0);return!0}h.Ac=function(){return 0};h.da=function(a){var b=!1;if(this.A.V){ve(this);Bc(this,this.Ka);this.Ka=0;this.A.V=!1;if(b=this.H.run)b.textContent="Run";this.J&&this.J.stop(ib(),qe(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b}; var te=30,ye=15,je=["power","reset"]; function ze(a){var b=+a.model||1170;ie.call(this,a,6666667);this.ka=b;this.Tc=+a.addrReset||0;this.La=this.w=this.N=this.C=this.G=this.K=this.I=0;this.g=this.ua=this.Y=[];this.M=this.B=this.Ha=this.vc=[];this.hb=this.O=this.Td=this.xb=this.yb=this.qb=this.ib=this.P=this.sc=this.nb=this.Ga=this.S=this.tc=this.uc=this.X=this.i=0;this.Wd=[4,2,0,1];this.yc=0;this.Yd=255;1120>=this.ka?(this.be=Ae.bind(this),this.Kb=this.Df,this.yc=8,this.Yd=-1,this.fe=255,this.ee=0):(this.be=Be.bind(this),this.Kb=this.Ef, this.fe=~(1792|(1140>=this.ka?2048:0))&65535,this.ee=1140e.Eb&&(e.Eb=c,c+=4)}return ie.prototype.Da.call(this,a,b)}; h.reset=function(){this.status("Model "+this.ka);this.A.V&&this.da();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.Tc,-1,-2,-3,-4,-5,-6,-7,-8];this.ua=[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.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];this.vc=[0,0,0,0,0,0,0,0];this.N=0;this.La=-1;this.u=this.j=this.Wc=this.U=this.Z=this.i=this.sc=0;wc(this);le(this);this.A.error=!1;ie.prototype.reset.call(this)};function wc(a){a.S=0;a.tc=0;a.uc=0;a.X=0;a.P=0;a.nb=0;a.Ga=255;a.xb=0;a.yb=0;a.qb=0;a.ib=262143;a.hb=a.g[7];a.O=0;a.R=null;a.F&&(Ce(a),a.Td=ld(a.F))} function Ce(a){a.hc=a.bd;a.ic=a.cd;a.Sc=a.hd;a.jc=a.kd;a.pc&&(a.hc=a.pe,a.ic=a.te);a.rc&&(a.Sc=a.ze,a.jc=a.Ae);a.xb?(a.Ia=65536,a.tb=a.X&16?4186112:253952,a.ya=a.se,a.pa=a.pc?a.ah:a.Ed,a.Gb=a.rc?a.vi:a.Jd,dd(a.F,a.X&16?22:18)):(a.Ia=0,a.tb=57344,a.ya=a.Hf,a.pa=a.pc?a.$g:a.ye,a.Gb=a.rc?a.ui:a.De,dd(a.F,16))}function yd(a){var b=a.S;b&57344||(b=b&-3199|a.yb<<5|a.qb<<1);return b} function zd(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.tc=a.O>>16&65535,a.uc=a.O&65535);a.S=b;a.yb=(b&96)>>5;a.qb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.xb!=c&&(a.xb=c,Ce(a))}}function Ad(a){a.S&57344||(a.tc=a.O>>16&65535);a=a.tc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function Bd(a){a.S&57344||(a.uc=a.O&65535);return a.uc}function Cd(a,b){1170>a.ka&&(b&=-49);a.X!=b&&(a.X=b,a.ib=b&16?4194303:262143,Ce(a))} function De(a,b,c,d){a.Tc=b;vc(a,b);Gd(a,0);a.F.reset();wc(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||yc(a):a.A.ra=!0}else a.D&&a.A.ca?a.da()||a.J.A.reset||(ne(a.D),H(a.J,-1)):!1===c&&a.da();!a.A.V&&a.ta&&a.ta.stop()}h.qe=function(){return 0}; h.save=function(){var a=new G(this);a.set(0,[this.g,this.ua,this.Y,this.M,this.B,this.Ha,this.vc,this.P,this.sc,this.nb,this.Ga,this.yb,this.qb,this.hb,this.i,this.O,this.La,this.Bc,this.Cc,this.Tc]);a.set(1,[Ed(this),yd(this),Ad(this),Bd(this),this.X]);a.set(2,[this.mb,this.lb,this.A.ra]);a.set(3,Ee(this));a.set(4,xe(this));return a.data()}; h.restore=function(a){var b=ia(a[0]);this.g=b.next().value;this.ua=b.next().value;this.Y=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Ha=b.next().value;this.vc=b.next().value;this.P=b.next().value;this.sc=b.next().value;this.nb=b.next().value;this.Ga=b.next().value;this.yb=b.next().value;this.qb=b.next().value;this.hb=b.next().value;this.i=b.next().value;this.O=b.next().value;this.La=b.next().value;this.Bc=b.next().value;this.Cc=b.next().value;this.Tc=b.next().value;b=a[1];Gd(this, b[0]);zd(this,b[1]);this.tc=b[2];this.uc=b[3];Cd(this,b[4]);b=a[2];this.mb=b[0];re(this,b[1]);this.A.ra=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>23)),a.b-=2);a.b-=3}function vc(a,b){a.g[7]=b&65535}function td(a,b,c,d){b={Eb:b,ob:c,message:d||0,name:Ub[b],next:null};a.kc.push(b);return b}function Le(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 rd(a,b){if(b){if(b!=a.R){var c=a.R;if(!c||c.ob<=b.ob)b.next=c,a.R=b;else{do{var d=c.next;if(!d||d.ob<=b.ob){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.Eb)+",priority="+b.ob+")",!0,!0)}}function xd(a,b){b&&(Le(a,b),b.message&&E(a,b.message|8)&&F(a,"clearIRQ(vector="+u(b.Eb)+",priority="+b.ob+")",!0,!0))}function Ee(a){var b=[];for(a=a.R;a;)b.push(a.Eb),a=a.next;return b} function Me(a){return a.i&64?(a.sa(168,64,-6),!0):a.i&32?(a.sa(4,32,-5),!0):a.i&16?(a.sa(12,16,-7),!0):!1}function Ed(a){return a.w=a.w&63728|Ie(a)|He(a)|Ge(a)|Fe(a)}function Gd(a,b){b&=a.fe;a.I=b<<12;a.K=~b&4;a.G=b<<14;a.C=b<<16;if((b^a.w)&a.ee)for(var c=a.ua.length;0<=--c;){var d=a.g[c];a.g[c]=a.ua[c];a.ua[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 Dd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.nb=b} h.Ea=function(a){this.I=this.K=a;this.G=0};h.pb=function(a,b){this.I=this.K=this.C=a;this.G=b||0};function Ne(a,b){a.I=a.K=a.C=b;a.G=a.I^a.C>>1}function Oe(a,b,c,d){a.I=a.K=a.C=b;a.G=(c^d)&(d^b)} h.sa=function(a,b,c){if(!this.qa){0>this.La?this.La=Ed(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.pa(a|this.Ia),e=this.pa(a+2&65535|this.Ia);Gd(this,e&-12289|this.La>>2&12288);Pe(this,this.La);Pe(this,this.g[7]);vc(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.La=-1;this.Bc=c;this.Cc=a;-1==c&&this.da();if(-4<=c)throw a;}}; function Qe(a){var b=Re(a),c=Re(a);a.w&49152&&(c=c&-225|a.w&63712);vc(a,b);Gd(a,c);a.i&=-17}function Se(a,b){var c=b>>13&31;31>c&&(b=a.X&32?a.Ha[c]+(b&8191)&4194303:b&-3932161);return b} function Te(a,b,c){var d=[];if(c){c=Se(a,b);var e=b>>13&31;d.push(c);d.push(e);a.X&32&&(d.push(a.Ha[e]),d.push(b&8191))}else if(a.xb){var e=a.N<<1,f=b>>13;7>13;a.X&a.Wd[a.N]||(d&=7);e=a.B[a.N][d];f=(a.M[a.N][d]<<6)+(b&8191)&a.ib;3932160<=f&&(f=Se(a,f));if(a.qa)return f;f>=a.Td&&f>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&& (g|=16384));a.B[a.N][d]=e;if(f!=(4194170&a.ib)||a.N)a.yb=a.N,a.qb=d;g&&(g&57344&&(0<=a.La&&(g|=128),a.S&57344||(g|=a.S&4096|a.yb<<5|a.qb<<1,zd(a,a.S&-61695|g&61694)),a.sa(168,64,-2)),a.S&61440||!(f<(4191360&a.ib)||f>(4194239&a.ib))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function Re(a){var b=a.pa(a.g[6]|a.Ia);a.g[6]=a.g[6]+2&65535;return b}function Pe(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.Kb(4,-2,c);a.Gb(c,b)} function Ue(a,b,c,d){var e,f,g=d&8?0:a.Ia;switch(b){case 0:return a.sa(4,0,-3),0;case 1:return 6==c&&a.Kb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Kb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.pa(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Kb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.pa(e)|g;a.b-=8;break;case 6:return e=a.pa(Je(a,2)),e=e+a.g[c]&65535,6==c&&a.Kb(d, 0,e),a.b-=6,e|g;case 7:return e=a.pa(Je(a,2)),e=e+a.g[c]&65535,e=a.pa(e|a.Ia),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.O=a.O&65535|(a.O&-65536)<<8|(f<<3&248|c)<<16;return e}h.Df=function(a,b,c){!this.N&&0>=b&&c<=this.Ga&&(this.i|=32)};h.Ef=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.Ga&&(c<=this.Ga-32?this.sa(4,0,-4):(this.P|=8,this.i|=32)))};h.pe=function(a){this.D&&ee(this.D,a,1);return this.bd(a)};h.te=function(a){this.D&&ee(this.D,a,2);return this.cd(a)}; h.ze=function(a,b){this.D&&fe(this.D,a,1);this.hd(a,b)};h.Ae=function(a,b){this.D&&fe(this.D,a,2);this.kd(a,b)};function Hc(a,b){a.qa++;b=a.F.zc(Fc(a,b,2));a.qa--;return b}function Ve(a,b){(b?--a.rc:--a.pc)||Ce(a)}h.Hf=function(a,b,c){return Ue(this,a,b,c)};h.se=function(a,b,c){return Fc(this,Ue(this,a,b,c),c)};h.ye=function(a){return this.F.zc(this.hb=a)};h.$g=function(a){this.D&&ee(this.D,a,2);return this.ye(a)};h.Ed=function(a){return this.F.zc(this.hb=Fc(this,a,2))}; h.ah=function(a){this.D&&ee(this.D,a,2);return this.Ed(a)};h.De=function(a,b){this.F.Zb(this.hb=a,b)};h.ui=function(a,b){this.D&&fe(this.D,a,2);this.De(a,b)};h.Jd=function(a,b){this.F.Zb(this.hb=Fc(this,a,4),b)};h.vi=function(a,b){this.D&&fe(this.D,a,2);this.Jd(a,b)};function We(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=Ue(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.pa(d|c&a.Ia),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 Xe(a,b,c,d){a.O=a.O&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=Ue(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=Fc(a,e|c&65536,4),a.N=a.w>>14&3,a.jc(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.Y[a.w>>12&3]=d}function Ye(a,b){b>>=6;var c=a.Z=b&7;return(b=a.U=(b&56)>>3)?a.hc(a.ya(b,c,3)):a.g[c+a.yc]&a.Yd}function Ze(a,b){var c;b>>=6;var d=a.Z=b&7;(b=a.U=(b&56)>>3)?c=a.ic(a.ya(b,d,2)):c=a.g[d+a.yc];return c}function $e(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return Ue(a,b,c,8)} function af(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.hc(a.ya(b,c,3)):a.g[c]&255}function bf(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.ic(a.ya(b,d,2)):c=a.g[d];return c}function cf(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Wc=a.ya(b,e,7),c=0>c?a.g[-c-1]&255:c,a.Sc(e,d.call(a,c,a.hc(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.ya(b,e,6),a.jc(e,d.call(a,0>c?a.g[-c-1]:c,a.ic(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function df(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.ya(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.Sc(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 ef(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.ya(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.jc(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))} h.Ac=function(a){this.A.complete=!0;var b=this.D?ff(this.D)?1:this.A.Rc?-1:0:0,c=a?this.A.Rc?0:1:-1;this.A.Rc=!1;this.kb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(Cf(this.D,this.g[7],c)){this.da();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.nb&224)>>5,f=this.R&&this.R.ob>e?this.R:null;f&&(d=f.Eb,e=f.ob);e>(this.w&224)>>5?(this.i&8&&(Je(this,2),this.i&=-9),this.sa(d,0,-10),e=!0):e=!1;e&&(f&&Le(this,f),a=!0);this.R||this.nb||(this.i&=-3)}else this.i& 1&&this.i++;if(a){if(this.i&4&&Cf(this.D,this.g[7],c)){this.da();break}if(0>c)break}if(this.i&112&&Me(this)){if(this.i&4&&Cf(this.D,this.g[7],c)){this.da();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.pa(a);this.g[7]=a+2&65535;this.be(f)}while(0>1|b<<16;Ne(this,a);return a&65535}function If(a,b){a=b&128|b>>1|b<<8;Ne(this,a<<8);return a&255}function Jf(a,b){a=b&~a;this.Ea(a);return a}function Kf(a,b){a=b&~a;this.Ea(a<<8);return a} function Lf(a,b){a|=b;this.Ea(a);return a}function Mf(a,b){a|=b;this.Ea(a<<8);return a}function Nf(a,b){a=~b|65536;this.pb(a);return a&65535}function Of(a,b){a=~b|256;this.pb(a<<8);return a&255}function Pf(a,b){this.I=this.K=a=b-a;this.G=b&(b^a);return a&65535}function Qf(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 Rf(a,b){this.I=this.K=a=b+a;this.G=a&(b^a);return a&65535}function Sf(a,b){a=b+a;var c=a<<8;this.I=this.K=c;this.G=c&(b<<8^c);return a&255} function Tf(a,b){a=-b;this.pb(a,a&b&32768);return a&65535}function Uf(a,b){a=-b;this.pb(a<<8,(a&b&128)<<8);return a&255}function Vf(a,b){a=b<<1|this.C>>16&1;Ne(this,a);return a&65535}function Wf(a,b){a=b<<1|this.C>>16&1;Ne(this,a<<8);return a&255}function Xf(a,b){a=(this.C&65536|b)>>1|b<<16;Ne(this,a);return a&65535}function Yf(a,b){a=((this.C&65536)>>8|b)>>1|b<<8;Ne(this,a<<8);return a&255}function Zf(a,b){var c=b-a;Oe(this,c,a,b);return c&65535} function $f(a,b){var c=b-a;Oe(this,c<<8,a<<8,b<<8);return c&255}function ag(a,b){this.I=this.K=b&65280;this.G=this.C=0;return(b<<8|b>>8)&65535}function bg(a,b){a^=b;this.Ea(a);return a&65535}function cg(a){P(this,a,Ze(this,a),Df);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)} function dg(a){var b=bf(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 eg(a){var b=bf(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.C=this.G=0;b&=63;if(b&32){b=64-b;32>b-1;this.C=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.K=d>>16|d;this.b-=(this.u?6:7)+b}function fg(a){Ke(this,a,!Fe(this))}function gg(a){Ke(this,a,Fe(this))} function hg(a){P(this,a,Ze(this,a),Jf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function ig(a){cf(this,a,Ye(this,a),Kf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function jg(a){P(this,a,Ze(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){cf(this,a,Ye(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){var b=Ze(this,a);a=bf(this,a);this.Ea((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 mg(a){var b=Ye(this,a);a=af(this,a);this.Ea(((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 ng(a){Ke(this,a,He(this))}function og(a){Ke(this,a,!Ie(this)==!Ge(this))}function pg(a){Ke(this,a,!He(this)&&!Ie(this)==!Ge(this))}function qg(a){Ke(this,a,!Fe(this)&&!He(this))} function rg(a){Ke(this,a,He(this)||!Ie(this)!=!Ge(this))}function sg(a){Ke(this,a,Fe(this)||He(this))}function tg(a){Ke(this,a,!Ie(this)!=!Ge(this))}function ug(a){Ke(this,a,Ie(this))}function vg(a){Ke(this,a,!He(this))}function wg(a){Ke(this,a,!Ie(this))}function xg(){this.sa(12,0,-9)}function yg(a){Ke(this,a,!0)}function zg(a){Ke(this,a,!Ge(this))}function Ag(a){Ke(this,a,Ge(this))}function Bg(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 Cg(a){var b=Ze(this,a);a=bf(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Oe(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 Dg(a){var b=Ye(this,a);a=af(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Oe(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 Eg(a){var b=bf(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 Fg(){this.sa(24,0,-9);this.b-=20} function Gg(){this.w&49152?(this.P|=128,this.sa(4,0,-8)):(this.ta&&1120==this.ka&&this.ta.setData(this.g[0],!0),this.D?Hg(this.D):this.da());this.b-=7}function Ig(){this.sa(16,0,-9);this.b-=20}var Jg=[0,7,7,10,7,11,9,13];function Kg(a){this.ma=this.b;vc(this,$e(this,a));this.b=this.ma-Jg[this.u]}var Lg=[0,14,14,17,14,18,16,20];function Mg(a){this.ma=this.b;var b=$e(this,a);a=a>>6&7;Pe(this,this.g[a]);this.g[a]=this.g[7];vc(this,b);this.b=this.ma-Lg[this.u]} var Ng=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Og(a){var b=Ze(this,a);this.ma=this.b;ef(this,a,b,this.Ea);this.b=this.ma-Ng[(this.U?8:0)+this.u]+(7!=this.j||this.u?0:2)}function Pg(a){var b=Ye(this,a);df(this,a,b,65535,this.Ea);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}var Qg=[7,13,13,17,14,18,17,21]; function Rg(a){var b=bf(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)vc(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Yg(a){P(this,a,Ze(this,a),Zf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function Zg(a){P(this,a,0,ag);this.b-=this.u?9:3+(7==this.j?2:0)}function $g(){this.sa(28,0,-9)} function ah(){this.ta&&(this.ta.Gd(this.g[7],!0),this.ta.setData(this.g[0],!0));this.i|=8;Je(this,-2);this.b-=3}function bh(a){P(this,a,this.g[(a>>6&7)+this.yc],bg);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=Hg(b)):b=!1;b||this.sa(8,0,-9)}function Ae(a){ch[a>>12].call(this,a)}function dh(a){eh[a>>6&3].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&15].call(this,a)}function lh(a){mh[a&15].call(this,a)}function nh(a){oh[a>>6&3].call(this,a)}function ph(a){qh[a>>6&3].call(this,a)}function rh(a){sh[a>>6&3].call(this,a)} var ch=[function(a){th[a>>8&15].call(this,a)},Og,Cg,lg,hg,jg,cg,Q,function(a){uh[a>>8&15].call(this,a)},Pg,Dg,mg,ig,kg,Yg,Q],th=[function(a){vh[a>>4&15].call(this,a)},yg,vg,ng,og,tg,pg,rg,Mg,Mg,dh,fh,hh,Q,Q,Q],eh=[function(a){ef(this,a,0,this.pb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Nf);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)},function(a){P(this,a,1,Pf);this.b-=this.u?9:3+(7==this.j?2:0)}],gh=[function(a){P(this,a,0,Tf); this.b-=this.u?11:6},function(a){P(this,a,Fe(this)?1:0,Df);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,Fe(this)?1:0,Zf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=bf(this,a);this.pb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],ih=[function(a){P(this,a,0,Xf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Vf);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)},function(a){P(this,a,0,Ff);this.b-=this.u?9:3+(7==this.j?2:0)}],vh= [function(a){wh[a&15].call(this,a)},Q,Q,Q,Kg,Kg,Kg,Kg,Ug,Q,jh,lh,Zg,Zg,Zg,Zg],wh=[Gg,ah,Vg,xg,Ig,Tg,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],kh=[Sg,function(){this.C=0;this.b-=5},function(){this.G=0;this.b-=5},Bg,function(){this.K=1;this.b-=5},Bg,Bg,Bg,function(){this.I=0;this.b-=5},Bg,Bg,Bg,Bg,Bg,Bg,Bg],mh=[Sg,function(){this.C=65536;this.b-=5},function(){this.G=32768;this.b-=5},Wg,function(){this.K=0;this.b-=5},Wg,Wg,Wg,function(){this.I=32768;this.b-=5},Wg,Wg,Wg,Wg,Wg,Wg,Wg],uh=[wg,ug,qg,sg,zg,Ag,fg,gg,Fg,$g,nh,ph, rh,Q,Q,Q],oh=[function(a){df(this,a,0,255,this.pb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){cf(this,a,0,Of);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){cf(this,a,1,Sf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){cf(this,a,1,Qf);this.b-=this.u?9:3+(7==this.j?2:0)}],qh=[function(a){cf(this,a,0,Uf);this.b-=this.u?11:6},function(a){cf(this,a,Fe(this)?1:0,Ef);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){cf(this,a,Fe(this)?1:0,$f);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=af(this, a);this.pb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],sh=[function(a){cf(this,a,0,Yf);this.b-=this.u?9+(this.Wc&1):3+(7==this.j?2:0)},function(a){cf(this,a,0,Wf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){cf(this,a,0,If);this.b-=this.u?9+(this.Wc&1):3+(7==this.j?2:0)},function(a){cf(this,a,0,Gf);this.b-=this.u?9:3+(7==this.j?2:0)}];function Be(a){xh[a>>12].call(this,a)} var xh=[function(a){yh[a>>8&15].call(this,a)},Og,Cg,lg,hg,jg,cg,function(a){zh[a>>8&15].call(this,a)},function(a){Ah[a>>8&15].call(this,a)},Pg,Dg,mg,ig,kg,Yg,Q],yh=[function(a){Bh[a>>4&15].call(this,a)},yg,vg,ng,og,tg,pg,rg,Mg,Mg,dh,fh,hh,function(a){Ch[a>>6&3].call(this,a)},Q,Q],Ch=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.pa(a|this.Ia);vc(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=We(this,a,0);this.Ea(a);Pe(this,a);this.b-=11},function(a){var b=Re(this); this.ma=this.b;this.Ea(b);Xe(this,a,0,b);this.b=this.ma-Qg[this.u]},function(a){ef(this,a,Ie(this)?65535:0,this.Ea);this.b-=this.u?9:3+(7==this.j?2:0)}],Bh=[function(a){Dh[a&15].call(this,a)},Q,Q,Q,Kg,Kg,Kg,Kg,Ug,function(a){!(a&8)||1145>this.ka?Q.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},jh,lh,Zg,Zg,Zg,Zg],Dh=[Gg,ah,function(){Qe(this);this.i|=this.w&16;this.b-=13},xg,Ig,Tg,Vg,function(a){Q.call(this,a)},Q,Q,Q,Q,Q,Q,Q,Q],zh=[Rg,Rg,Eg,Eg,dg,dg,eg,eg, bh,bh,Q,Q,Q,Q,Xg,Xg],Ah=[wg,ug,qg,sg,zg,Ag,fg,gg,Fg,$g,nh,ph,rh,function(a){1145>this.ka?Q.call(this,a):Eh[a>>6&3].call(this,a)},Q,Q],Eh=[function(a){Q.call(this,a)},function(a){a=We(this,a,65536);this.Ea(a);Pe(this,a);this.b-=11},function(a){var b=Re(this);this.ma=this.b;this.Ea(b);Xe(this,a,65536,b);this.b=this.ma-Qg[this.u]},function(a){Q.call(this,a)}]; function Fh(a){x.call(this,"ROM",a,128);this.ia=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=ta(this.j);if(this.j){a=this.j;var b=ua(this.B);"json"!=b&&"hex"!=b&&(a=Ja()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.T("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(gb(c.ub,a,b),(a=Ha(a,b))?(c.g=a.aa,c.ia=a.ia):c.j=null);Gh(c)})}}p(Fh,x); h=Fh.prototype;h.Ba=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Gh(this)};h.Da=function(){this.ia&&(this.D&&Hh(this.D,this.id,this.u,this.b,this.ia),delete this.ia);return!0};h.Ca=function(){return!0}; function Gh(a){if(!Hb(a)){if(a.j){if(!a.g||!a.F)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Fb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{var b;a:{b=a.u;if(57344<=b&&b<57344+Lc){var c={},c=(c[b]=[Fh.prototype.Kg,Fh.prototype.bi,null,null,null,a.b>>1],c);if(hc(a.F,a,c)){a.status("Added "+a.b+"-byte ROM at "+u(b));b=a.w=!0;break a}}else if(bd(a.F,b,a.b,Md)){for(c=0;c>>f.g;0>>=f.g;0>>a.g;0=b.length){F(a,"invalid block at offset "+ra(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(t&255)+(t>>8)),q=l,z=r-=6;0=b.length){F(a,"insufficient data for block at offset "+ra(n),4096); break}m+=b[l++]&255;if(m&255){F(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+ra(n),4096);break}if(z)for(F(a,"loading "+ra(z)+" bytes at "+ra(t)+"-"+ra(t+z),4096);z--;)kd(a.F,t++,b[q++]&255);else t&1?g=!0:null==d&&(d=t),null!=d&&F(a,"starting address: "+ra(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e=la.Kd&&c<=la.yf&&(b=c-(la.Kd-la.Fe));b&&(a.preventDefault&&a.preventDefault(),d.Nc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==la.He&&(b=la.Ge);d.Nc(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.Nc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; h.Ba=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;var e=this;this.P=td(this.f,this.M?-1:48,4,1048576);this.R=qd(this.f,function(){var a;a=-1;e.i.length&&(a=e.i.shift()&255,F(e,"receiveByte("+v(a,2,!0)+")"),e.K&&97<=a&&122>a&&(a-=32),sd(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&&rd(c,e.P))});this.N=td(this.f,this.M?-1:52,4,1048576);this.Y=qd(this.f,function(){e.g|=128;e.g&64&&rd(c,e.N)});hc(b,this,Oh,this.M?64832+8*(this.M-1)-65392:0);jc(b,this.reset.bind(this)); D(this)};h.ue=function(a){if(!this.j){var b=ke(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=za(c[0]);if(d!=this.Xc)return;c=za(c[1]);if(this.j=rb(c)){var e=this.j.exports;if(e){var f=e.connect;f&&f.call(this.j,this.I);if(this.G=e.receiveData){this.I=a;this.O=e.receiveStatus;this.status("Connected "+this.ub+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; h.Da=function(a,b){if(!b)if(this.ue(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){Ph(this)};h.save=function(){var a=new G(this);a.set(0,[this.C,this.b,this.g,this.i]);return a.data()};h.restore=function(a){return Ph(this,a[0])};function Ph(a,b){b||(b=[0,8192,128,a.i]);b=ia(b);a.C=b.next().value;a.b=b.next().value;a.g=b.next().value;a.i=b.next().value;return!0} h.Nc=function(a){if("number"==typeof a)this.i.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=ya("",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))}sd(this.f,this.Y,1E3/Math.round(this.Z/10));this.g&=-129};var Nh="buffer",Qh={},Oh=(Qh[65392]=[null,null,Mh.prototype.xg,Mh.prototype.Ph,"RCSR"],Qh[65394]=[null,null,Mh.prototype.wg,Mh.prototype.Oh,"RBUF"],Qh[65396]=[null,null,Mh.prototype.fh,Mh.prototype.xi,"XCSR"],Qh[65398]=[null,null,Mh.prototype.eh,Mh.prototype.wi,"XBUF"],Qh);Ya(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=Uh;case "loadTape":return e||(e=Vh),this.H[b]=c,c.onclick= function(){var a=d.H.listTapes;a&&Wh(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;Wh(d,ta(b,!0),b,Vh,a)}return!1};return!0;case Xh:return this.H[b]=c,!0}return!1}; h.Ba=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;this.I=Yh(a);var e=this;if(a=Rh(this,ke(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.G=td(this.f,56,4,4096);this.S=qd(this.f,function(){1!=(e.b&32769)||e.b&128||(e.ic.indexOf("/api/v1/dump")&&(e=ua(c),f="json"==e||"gz"==e?encodeURI(c):Ja()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ga(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):(gb(a.ub,e,f),(e=Ha(e,f))&&ii(a,b,c,d, e.aa,e.Aa,e.za));a.A.cb=!1;a.g&&(a.g--,a.g||D(a));fi(a)})}function ai(a,b,c,d){if((a=a.H.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.ba);for(d=0;dc.indexOf("/api/v1/dump")&&(b=ua(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"):va(c,"/")&&(d="dir"),f=Ja()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.zd?"":e)+"&format=json"));return!!Ga(f, null,!0,function(b,c,d){qi(a,b,c,d)})} function qi(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.Xa+'" (error '+d+": "+b+")",f);else{gb(a.controller.ub,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.la=k[0].length;a.fa=k[0][0].length;var l=k[0][0][0];a.va=l&&l.length||512;for(d=c=0;d>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var t=l.bytes;if(void 0!==t&&t.length){for(var q=m<<2,z=t.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.Ma?f=a.Va+a.Ma&&(a.Ma+=f-(a.Va+a.Ma)+1):(a.Va=f,a.Ma=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.Xa+": "+c);return b}; h.toJSON=function(){var a;a=0;for(var b;b=si(this,a++);)ui(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; function ui(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var mi=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.Zc;this.g=Array(this.P);this.O=!Oa("Mobi")&&window&&"FileReader"in window;this.B=[];this.Ra=null;this.exports={bootDisk:this.le,loadDisk:this.Bd,selectDrive:this.kh,wait:this.oh}}p(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.wa=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=ma(c.value,10);null!=a&&yi(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Bd()},!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[ma(a.value,10)||0])if(a=a.ea){var b;b="";for(var c=0,k;k=si(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 $i(this,d),!0;if(b==Xi)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Yi){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=ta(b);this.status("Attempting to load "+b+' as "'+ a+'"')}dj(this,d,a,b,!1,c);return!0};h.le=function(){var a,b=this.H.listDrives,b=b&&ma(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.ea)return this.T("Load a disk into the drive first"),!1;De(this.f,0,!0,b);return(a=this.Sb(a,a.Jf,a.Kf,a.Lf,a.Cf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0}; function dj(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Pa.toLowerCase()!=d.toLowerCase()&&(g++,$i(a,b,!0),k.Lc?a.T(a.type+" busy"):(k.Lc=!0,e&&(k.yd=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Ob=!!f,pi(new li(a,k,"preload"),c,d,f,a.ne)&&g++));return g} h.ne=function(a,b,c,d,e){a.Lc=!1;b&&(b.ba>a.ba||b.la>a.la)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Rb].Pc||"---")),b=null);b?(a.ea=b,a.Xa=c,a.Pa=d,this.we(a.Rb),ej(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Rb].Pc||"---"),a.yd||e),this.J&&ue(this.J)):a.Ob=!1;a.yd&&(a.yd=!1,--this.M||D(this));yi(this,a.Rb);a.gc&&(a.gc(),a.gc=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.Dc;break}n=a.seek(b,c,d+1);if(!n){m=S.ce;break}r=0;++d>=a.fa&&(d=0,++c>=a.la&&(c=0,++b))}var t,q;if(0>(t=a.read(n,r++))||0>(q=a.read(n,r++))){m=S.Ec;break}if(!k&&(Ec(this.F,Se(this.f,f),t|q<<8),pd(this.F))){m=S.cc;break}r>=a.va&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; h.Uc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ea;var n=null,r;a||(m=S.Ud,e=0);for(;e;){var t=Gc(this.F,Se(this.f,f));if(pd(this.F)){m=S.cc;break}if(!n){if(b>=a.ba){m=S.Dc;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.ce;break}r=0;++d>=a.fa&&(d=0,++c>=a.la&&(c=0,++b))}if(k){var q,z;if(0>(q=a.read(n,r++))||0>(z=a.read(n,r++))){m=S.Ec;break}if(t!=(q|z<<8)){m=S.ge;break}}else if(!a.write(n,r++,t&255)||!a.write(n,r++,t>>8)){m=S.Ec;break}r>=a.va&&(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.Ib|f>>16-R.na.Ib&R.Ib;this.w=65536-e&65535;this.j=this.j&~ij.rd|d&ij.rd;this.i|=a;jj(this);return!0};function jj(a){a.b&=~R.gb;a.i&&(a.i|=S.Je,a.b|=R.gb,a.i&S.dd&&(a.b|=R.dd),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.dc}; h.Rh=function(a){this.b=this.b&~R.Ta|a&R.Ta;if(this.b&R.bc){a=!0;var b,c,d="",e=(this.j&ij.rb)>>ij.na.rb,f=this.g[e],g,k,l,m,n,r;this.b&=~(R.Za|R.sd);this.i&=~S.rf;switch(c=this.b&R.xa){case kj.Ee:E(this)&&F(this,this.type+": CRESET("+e+")",!0);this.i=this.j=0;this.b=R.Za;break;case kj.Ve:d="RCHK";case kj.sb:d||(d="READ"),b=this.Sb;case kj.vd:d||(d="WCHK");case kj.fc:d||(d="WRITE");b||(b=this.Uc);g=(this.j&ij.$b)>>ij.na.$b;k=(this.j&ij.gd)>>ij.na.gd;l=this.j&ij.rd;m=65536-this.w&65535;n=(this.b&R.Ib)<< 16-R.na.Ib|this.u;r=this.b&R.Qe?0:2;E(this)&&F(this,this.type+": "+d+"("+g+":"+k+":"+l+") "+u(n)+"--"+u(n+(m<<1)),!0,!0);if(g>=f.ba){this.i|=S.Dc;break}if(l>=f.fa){this.i|=S.Ec;break}a=b.call(this,f,g,k,l,m,n,r,c>=kj.vd,this.$e.bind(this));break;case kj.Jc:g=(this.j&ij.$b)>>ij.na.$b;E(this)&&F(this,this.type+": SEEK("+g+")",!0);g(n=a.read(k,m++))||0>(r=a.read(k,m++))){g=nj.$a;break}Ec(this.F,Se(this.f,f),n|r<<8);if(pd(this.F)){g=nj.cc;break}f+=2;e--;if(m>=a.va&&(k=null,++d>=a.fa&&(d=0,++c>=a.la&&(c=0,++b>=a.ba)))){g=nj.$a;break}}return l?l(g,b,c,d,e,f):g}; h.Uc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.ea;k=null;var m;a||(g=nj.$a,e=0);for(;e;){var n=Gc(this.F,Se(this.f,f));if(pd(this.F)){g=nj.cc;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=nj.$a;break}m=0}if(!a.write(k,m++,n&255)||!a.write(k,m++,n>>8)){g=nj.$a;break}if(m>=a.va&&(k=null,++d>=a.fa&&(d=0,++c>=a.la&&(c=0,++b>=a.ba)))){g=nj.$a;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.Ya|f>>16-U.na.Ya&U.Ya;this.u=f>>16&oj.ab;this.j=this.i=b<>U.na.Ya;if(!(this.b&U.Za)){a=!0;var b,c="",d=this.g[(this.b&U.rb)>>U.na.rb],e=d.ea,f,g,k;this.b&=~U.Fa;switch(this.b&U.xa){case qj.vf:this.w&rj.Sd&&(this.b&=U.Fa|U.xa|U.Ya);this.w=d.status|this.j&pj.Ic|(e&&512==e.ba?rj.Ne:0);break;case qj.Jc:(this.i&pj.Me)==pj.sf&&(b=this.i&pj.ec,c=(this.i&pj.uf)<<2,this.j=this.i&pj.tf?this.j+b:this.j-b,this.i=this.j=this.j&pj.ec|c);break;case qj.Ze:this.w=this.j;break;case qj.We:c="READ",b=this.Sb; case qj.xf:c||(c="WRITE"),b||(b=this.Uc),f=this.i>>pj.na.ec,g=this.i&pj.Ic?1:0,k=this.i&pj.ae,!e||f>=e.ba||k>=e.fa?this.b=this.b|nj.$a|U.gb:(a=65536-this.w&65535,e=(this.u&oj.ab)<<16|this.C,E(this)&&F(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+u(e)+"--"+u(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,2,!1,this.ef.bind(this)))}a&&(this.b=this.b|U.Fa|U.Za,this.b&U.Hb&&rd(this.f,this.Ra))}};h.Fg=function(){return this.C};h.Xh=function(a){this.C=a&sj.Ta};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&oj.ab;this.b=this.b&~U.Ya|(this.u&3)<=m.ba){k=xj.Se;break}n=m.seek(b,c,d+1);if(!n){k=xj.pd;break}r=0;++d>=m.fa&&(d=0,++c>=m.la&&(c=0,++b))}var t;if(0>(a=m.read(n,r++))||0>(t=m.read(n,r++))){k=xj.od;break}Ec(this.F,Se(this.f,f),a|t<<8);r>=m.va&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k}; function vj(a){var b=0,c=a.b&W.td?1:0,d=a.g[c],d=d&&d.ea,e=a.I&yj.ab,f=a.G&zj.ab;a.i&=~(Aj.Nd|Aj.Xd|Aj.ac|Aj.Fa);if(d)if(a.i|=Aj.Fa,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=xj.od;break}a.w[e++]=g}c.Ff&&(a.i|=Aj.ac)}else b=xj.pd;else b=c?xj.fd:xj.ed;wj(a,b)} h.Lg=function(a,b){a=this.b;if(!b)switch(a&=W.dc,this.j){case V.ad:case V.EMPTY:this.uthis.u&&(this.b|=W.bb)}return a}; h.ci=function(a){this.b=this.b&~W.Ta|a&W.Ta;if(this.b&W.INIT)this.Bb();else if(this.b&W.bc&&this.j==V.Jb)switch(this.j=this.b&W.xa,this.b&=~(W.bc|W.bb|W.DONE|W.gb),xd(this.f,this.Ra),E(this)&&F(this,this.type+".processCommand("+Bj[this.j>>1]+")",!0,!0),this.j){case V.ad:case V.EMPTY:case V.sb:case V.fc:case V.Kc:this.u=0;break;case V.Ye:a=this.g[this.b&W.td?1:0];this.i&=~Aj.Fa;a&&a.ea&&(this.i|=Aj.Fa);this.C=this.i;wj(this);break;case V.Xe:this.C=this.K,wj(this)}else this.b&W.Hb?this.b&W.DONE&&rd(this.f, this.Ra):xd(this.f,this.Ra)};h.Mg=function(a,b){if(!b)switch(this.j){case V.EMPTY:this.b&W.bb&&(this.b&=~W.bb,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&&wj(this))}return this.C}; h.di=function(a){switch(this.j){case V.ad:this.b&W.bb&&(this.b&=~W.bb,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&&wj(this));break;case V.sb:case V.fc:case V.Kc:if(this.b&W.bb)switch(this.b&=~W.bb,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.sb)vj(this);else{var b=this.j==V.Kc,c=0,d=this.b&W.td?1:0,e=this.g[d],e=e&&e.ea,f=this.I&yj.ab,g=this.G&zj.ab;this.i&=~(Aj.Nd|Aj.Xd|Aj.ac|Aj.Fa);if(e)if(this.i|=Aj.Fa,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(za(b.substring(c,f))),c=f+1}}return a} function Fj(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 Gj(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,f=a.pop();e=a.pop();switch(d){case "*":e*=f;break;case "/":if(!f)return!1;e=Math.trunc(e/f);break;case "^/":if(!f)return!1;e%=f;break;case "+":e+=f;break;case "-":e-=f;break;case "<<":e<<=f;break;case ">>":e>>=f;break;case ">>>":e>>>=f;break;case "<":e=e":e=e>f?1:0;break;case ">=":e=e>=f?1:0;break;case "==":e=e==f?1:0;break;case "!=":e=e!=f?1:0;break;case "&":e&= f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;break;case "||":e=e||f?1:0;break;case ",,":e=Fj(e,18,!0)*Math.pow(2,18)+Fj(f,18,!0);break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=Fj(e,0,!0),e=0=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Hj(a,b,0,b.length,a.W,c);void 0!==d&&e&&Oj(a,null,d)}return d} function Jj(a,b){for(;b;){switch(b&3){case 1:a=-Fj(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 Ij(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.re(b);if(0<=f)f=a.Ad(f);else if(f=b,a.i[f]?f=a.i[f].value:(f=f.substr(0,6),f=a.i[f]&&a.i[f].value),null!=f){var k=a.i[b]&&a.i[b].jh;k&&(g?g.push(k):(g=Nj(a,k,d),void 0!==g?f+=g:(d||a.v("undefined "+(c||"value")+": "+b+" ("+k+")"),f=void 0)))}else f=ma(b,1c&&(d+=" '"+String.fromCharCode(c)+"'"));a.v((null!=b?b+": ":"")+d);return e}function Pj(a,b){var c=0;if(a.i){if(b)return Oj(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 Lj={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Kj={",,":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 Qj(a){Dj.call(this,a);this.Ha=!1;this.O=["(",")"];this.ka=[];this.I=X();this.Ga=X();this.P=X();this.C=[];this.b=this.M=this.G=[];Rj(this);this.S=this.ha=0;this.j=[];this.ta=void 0;Sj(this);this.D=this;this.ma={};this.ja=this.ke=0;this.U=null;this.N=[];Tj(this,a.messages);this.ya=a.commands;this.Ka=Uj;this.Y=[];this.K=0;this.La=this.ua=null;this.B=this.Ja=this.Ia=this.Z=this.qa=0;this.g=this.X=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return pe(b,a)}):void 0===global[y]&& (global[y]=function(a){return pe(b,a)})}p(Qj,Dj);function Vj(a){a=a&&a.L;null==a&&(a=-1);return a}function X(a,b,c){return{L:void 0===a?null:a,Na:void 0===b?!1:b,Ua:!1,W:c}}h=Qj.prototype;h.Gd=function(a,b){a.L=b;a.Ua=!1;a.W=void 0;return a};function Wj(a){return[a.L,a.Na,a.W,a.Ua,a.Oc]}function Xj(a,b){var c=X(b[0],b[1],b[2]);c.Ua=b[3];b[4]&&(c.he=Ej(a,c.Oc=b[4]));return c} h.Ba=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.g=a.i;(a=ke(a,"messages"))&&Tj(this,a);1140>this.f.ka&&(this.Y=this.Y.concat(Yj));1145>this.f.ka&&(this.Y=this.Y.concat(Zj));vd(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=Vj(ak(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("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."): (c=n.type,m=hd[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)b=this.f.g[a];else if(16>a)b=this.f.ua[a-8];else if(20>a)b=this.f.Y[a-16];else{var c=this.f,d=this.g;switch(a){case ik:b=Ed(this.f);break;case jk:b=c.nb;break;case kk:b=c.P;break;case lk:b=c.Ga&65280;break;case mk:b=yd(c);break;case nk:b=Ad(c);break;case ok:b=Bd(c);break;case pk:b=c.X;break;case gk:d&&(b=d.ga);break;case qk:d&&(b=d.Db);break;case rk:d&&(b=d.Wa)}}return b}; h.message=function(a,b){b&&(a+=" @"+dk(this,X(this.f.O&65535)));if(!this.U||a!=this.U)if(this.U=a,this.ja&536870912)this.N.push(a);else{var c;if(this.ja&-2147483648&&this.f&&(c=this.f.A.V)||Ib(this,!0))this.da(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,ve(a),a.zb=0,a.J&&H(a.J,void 0))}}; function Sj(a){var b;if(!ff(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(sk);for(b=0;b>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Qb[-d]:K(a,d))+")")}a.I=X(a.f.g[7]);b&&1!=a.K?wk(a):xk(a)}}function uk(a,b){var c;(c=!a.f||!Hb(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):!Gb(a.f)}h.Da=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0}; h.Ca=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Sj(this);this.Z=0;this.U=null;this.B=0;this.I=X(this.f.g[7]);this.A.V=!1;yk(this);a||ne(this)};h.save=function(){var a=new G(this);a.set(0,Wj(this.I));a.set(1,Wj(this.P));a.set(2,[this.u,this.R,this.ja]);a.set(3,this.C);return a.data()}; h.restore=function(a){var b=0;void 0!==a[2]&&(this.I=Xj(this,a[b++]),this.P=Xj(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.ja|=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.Ia=a;this.Ja=b}; h.stop=function(a,b){if(this.A.V){this.A.V=!1;this.B=b-this.Ja;if(!this.K){b="stopped";if(this.B){a-=this.Ia;var c=0d&&(d=Hc(a.f,b)),65535!=(d&65535)&&(a.Gd(a.j[a.S],b),++a.S==a.j.length&&(a.S=0)));return!1}function Hg(a){var b=a.f;if(b.A.V)throw vc(b,a.f.O&65535),a.da(),-1;return!1}function ee(a,b,c){zk(a,b,c||1,a.M)&&a.da(!1)}function fe(a,b,c){zk(a,b,c||1,a.G)&&a.da(!1)} function Rj(a){var b,c,d;a.b=["bp"];if(a.M)for(b=1;b>>c.g],!1)):Ve(a.f,!1);a.M=["br"];if(a.G)for(b=1;b>>c.g],!0)):Ve(a.f,!0);a.G=["bw"];a.qa=0;a.ha=0} h.Ab=function(a,b,c){var d=!0;c||Ak(this,a,b,!1,!0);if(a!=this.b){var e=Vj(b);if(-1===e)this.v("invalid address: "+dk(this,b)),d=!1;else{var f=a==this.G;65535>>g.g].Ab(e&g.i,f)}else e=this.f,(f?e.rc++:e.pc++)||Ce(e)}}d&&(a.push(b),c?b.Ua=!0:(Bk(this,a,a.length-1,"set"),Sj(this)));return d}; function Ak(a,b,c,d,e){var f=!1;c=Vj(c);for(var g=1;g>>d.g],b)):Ve(a.f,b));k.Ua||Sj(a);break}}return f}function Ck(a,b){for(var c=1;c>23)&65535,B=K(q,t);else if(C==Ik)t=t.L-((f&63)<<1)&65535,B=K(q,t);else if(C==Jk)B=K(q,f&7,3);else if(C==Kk)B=K(q,f&63,6);else if(C==Lk)B=K(q,f&255,8);else if(C=f&z,z&Mk&&(C>>=6,z>>=6),z&Z){var z=null,J=C& Nk;switch(C&Ok){case 0:B=fk(q,J);break;case 8:B="@"+fk(q,J);z=Pk(q,q.f.g[J]);break;case 16:7>J?B="("+fk(q,J)+")+":(C=q.Sa(t,2),B="#"+K(q,C,-1));break;case 24:7>J?B="@("+fk(q,J)+")+":(C=q.Sa(t,2),B="@#"+K(q,C,-1),z=Pk(q,C));break;case 32:B="-("+fk(q,J)+")";break;case 40:B="@-("+fk(q,J)+")";break;case 48:C=q.Sa(t,2);B=K(q,C,-1)+"("+fk(q,J)+")";7==J&&(B=K(q,C=C+t.L&65535),z=Pk(q,C));break;case 56:C=q.Sa(t,2),B="@"+K(q,C)+"("+fk(q,J)+")",7==J&&(B="@"+K(q,C=C+t.L&65535),z=Pk(q,Hc(q.f,C)))}z&&(B=[B,z])}q= B;if(!q||!q.length){k="INVALID";break}"string"!=typeof q&&(m=q[1],q=q[0]);0=a.f.tb&&b=c.B&&(b=c.Qa[b&od])&&(a=b[4]);return a}function Qk(a,b){switch(b){case "N":a=Ie(a.f);break;case "Z":a=He(a.f);break;case "V":a=Ge(a.f);break;case "C":a=Fe(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Rk(a,b){var c=fk(a,b);c&&(c+="="+K(a,a.Ad(b))+" ");return c} function Sk(a,b){var c,d="";for(c=0;6>c;c++)d+=Rk(a,c);d=d+"\n"+(Rk(a,6)+Rk(a,7));d+=Rk(a,ik)+Rk(a,jk)+Rk(a,lk);d+=Qk(a,"T")+Qk(a,"N")+Qk(a,"Z")+Qk(a,"V")+Qk(a,"C");b&&(b=d,c=""+(Rk(a,mk)+Rk(a,nk)),c+=Rk(a,ok)+Rk(a,pk)+Rk(a,kk),c=c+"\n"+(Rk(a,rk)+Rk(a,gk)+Rk(a,qk)),d=b+("\n"+c));return d}h.me=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],r=Ba(n,l,a.me);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({Mk:b,L:c,Mf:d,ia:e,ie:f})}function Tk(a,b,c){var d=[],e=Vj(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}H(a.J);a.v("updated registers:")}}a.v(Sk(a,d));c&&(a.I=X(e.g[7]),xk(a,dk(a,a.I)))}}function Xk(a,b){b=za(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=Ek(a,b,g,f);a.v(f);a.I=b;e-=b.L-l;c++}}} function Dk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(vk+b):(a.R&&(a.v("ended assemble at "+dk(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(Hb(a)&&0n||"z"Va.length&&(a.v("note: only "+Va.length+" available"),Ca=Va.length);Ia-=Ca;0>Ia&&(null==Va[Va.length-1].L?(Ca=Ia+Ca,Ia=0):Ia+=Va.length);var kf=[];"call"==Gi&&(Nc=1E5,kf=["CALL"]);for(void 0!==Fi&&a.v(Ca+" instructions earlier:");0=Va.length&&(Ia=0);a.ta=Ca;Ii++;Nc--}}Ii||(a.v("no "+Hi+"history available"),a.ta=void 0)}else{var oa=ak(a,Ua);if(oa)if("da"==lb){var lf=oa.Na||65535O.length?(2xb&&(xb=0);65536pf?String.fromCharCode(pf):"."),Qd=Qd>>8}zb&&(zb+="\n");zb=mf?zb+(Ab+","):zb+(Ua+": "+Ab+(Pd?"":" "+of))}zb&&a.v(zb);a.Ga=oa; a.W=Al}}}}break;case "e":if("else"==g[0])break;var cc,qf,rf,sf,tf=g[0],uf=g[1];"eb"==tf?(cc=1,qf=255,rf=a.Pd,sf=a.Qd):"e"==tf||"ew"==tf?(cc=2,qf=65535,rf=a.Sa,sf=a.Le):uf=null;if(null==uf)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 Rd=ak(a,uf);if(Rd)for(var Sd=2;Sdxf;){for(var Bb=null,El=256;65536>Tc.L>>>0;){yf.L=a.Sa(Tc,2);if(null==Tc.L||!El--)break;if(!(yf.L&1)){for(var Fl=a,Td=yf,Ni=null,Uc=Td.L,Oi=Uc,zf=1;6>=zf&&Uc;zf++){if(2> ";Ya(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;bel){if(fl(d,this.I)){this.u=new G(this,"1.36.2",nl);fl(this.u)&&(ol(this,d),a=pl,ql(this.u));this.u.set(kl,Da());rl(this.u);var e=this.b&&!this.G;if(a==ll||jb("Click OK to restore the previous "+Lb+" machine state, or CANCEL to reset the machine.")){if(c=jl(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?fl(d,g):("error"==f&&"no machine state"!= g?(this.T("Error: "+g),"unable to verify user"==g&&(Na(sl,""),this.g=null)):this.v(f+": "+g),ql(d),fl(d)?(c=jl(d),e=!0):c=!1))}e&&hl(this,c?d:null)}else a==pl&&d.clear()}else hl(this);delete this.I;delete this.C}e=qb(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&&(tl(this,this.f,b,c,a),H(this,-2),this.f.ra());this.O&&(ol(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0}; function ol(a,b){if(jb("There may be a problem with your "+Lb+" machine.\n\nTo help us diagnose it, click OK to send this "+Lb+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.g||"";b=b.toString();var d={};d.app=Lb;d.ver="1.36.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ga("http://www.pcjs.org/api/v1/report",d,!0)}} function Zk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new G(a,"1.36.2"),g=new G(a,"1.36.2",il),k=Da();g.set(kl,k);f.set(kl,k);f.set(ul,"1.36.2");f.set(vl,window?window.location.href:null);f.set(wl,window?window.navigator.userAgent:"");a.f&&a.f.Ca&&(c&&(b&&(a.f.A.ra=a.f.A.V),a.f.da()),d=a.f.Ca(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.ca=!1,!1===d&&(e=null)));for(var k=qb(a.id),l=0;l=d||30<=(c.$c+=d))&&(e.textContent=c.A.V?c.vb.toFixed(2)+"Mhz":"Stopped",c.$c=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.ga=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(r){g=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ga(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);Pl(a,b,c)}})}else c(a,null)} function Ql(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=wa(a))}function g(a){f("Error: "+a);m&&(--Ml||bb(!0));m=!1}var k,l,m=!0;Ml++;hb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n));r.appendChild(t)}d|| (n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.36.2/components.xsl");n=function(e,l){l?Nl(d,null,a,null,!1,f,function(a,e){e?(gb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Ml||bb(!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),--Ml|| bb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Nl(c,b,a,e,!0,f,n):Ol(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(q){g(q.message)}return m}window.embedPDP10=function(a,b,c,d){bb(!1);return Ql("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){bb(!1);return Ql("pdp11",a,b,c,d)}; window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete ub[c],d=!0;else if("string"==typeof f&&!ub[c]){d=!0;e=ub;for(var g=c,k=f.length,l=[],m=[],n="",r=null,t=0;t