From 03e4169df2cc2d0892bb22b7d983b46f34b4ff58 Mon Sep 17 00:00:00 2001 From: Jeff Date: Thu, 10 Nov 2016 22:06:06 -0800 Subject: [PATCH] Changed how DL11 transmitter interrupts are triggered on writes to the XCSR (to satisfy the TRAPS TEST) --- modules/pdp11/lib/serialport.js | 6 +- versions/pdpjs/1.30.3/pdp11-dbg.js | 96 +++++++++++++++--------------- versions/pdpjs/1.30.3/pdp11.js | 54 ++++++++--------- 3 files changed, 78 insertions(+), 78 deletions(-) diff --git a/modules/pdp11/lib/serialport.js b/modules/pdp11/lib/serialport.js index 8facef2c5..308dc0c0c 100644 --- a/modules/pdp11/lib/serialport.js +++ b/modules/pdp11/lib/serialport.js @@ -655,10 +655,10 @@ SerialPortPDP11.prototype.readXCSR = function(addr) SerialPortPDP11.prototype.writeXCSR = function(data, addr) { /* - * If the device is READY, and IE is transitioning on, then request an interrupt. + * If the device is READY, and TIE is being set, then request an interrupt. */ - if ((this.xcsr & (PDP11.DL11.XCSR.READY | PDP11.DL11.XCSR.TIE)) == PDP11.DL11.XCSR.READY && (data & PDP11.DL11.XCSR.TIE)) { - this.cpu.setTimer(this.timerTransmitInterrupt, this.getBaudTimeout(this.nBaudTransmit)); + if ((this.xcsr & PDP11.DL11.XCSR.READY) && (data & PDP11.DL11.XCSR.TIE)) { + this.cpu.setTrigger(this.triggerTransmitInterrupt); } this.xcsr = (this.xcsr & ~PDP11.DL11.XCSR.WMASK) | (data & PDP11.DL11.XCSR.WMASK); }; diff --git a/versions/pdpjs/1.30.3/pdp11-dbg.js b/versions/pdpjs/1.30.3/pdp11-dbg.js index c81eaba67..098b9f424 100644 --- a/versions/pdpjs/1.30.3/pdp11-dbg.js +++ b/versions/pdpjs/1.30.3/pdp11-dbg.js @@ -100,29 +100,29 @@ function I(a,b,c,d,e,f){this.v=a;this.id=Yc+=2;this.b=null;this.F=b;this.Mb=c;th I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(zb)for(a=Array(this.size>>2),b=0;b>8,c)},S:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ca:function(a,b){a&1&&this.v.Da(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},ta: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.Sa=!0},O:function(a,b){if(this.i&&null!=this.F){var c=this.i;hd(c,this.F+a,1,c.M)&&c.fa(!0)}return this.hc(a,b)},Qa:function(a,b){if(this.i&&null!=this.F){var c=this.i;hd(c,this.F+a,2,c.M)&&c.fa(!0)}return this.ic(a,b)},ka:function(a, -b,c){if(this.i&&null!=this.F){var d=this.i;hd(d,this.F+a,1,d.D)&&d.fa(!0)}this.f?this.B(a,b,c):this.$b(a,b,c)},wa:function(a,b,c){if(this.i&&null!=this.F){var d=this.i;hd(d,this.F+a,2,d.D)&&d.fa(!0)}this.f?this.B(a,b,c):this.nc(a,b,c)},M:function(a){return this.G[a]},R:function(a,b){a=this.G[a];this.i&&F(this.i,128)&&E(this.i,"Memory.readByte("+J(this.i,b)+"): "+J(this.i,a),!0);return a},X:function(a,b){a&1&&this.v.Da(b,64,2);return this.D.getUint16(a,!0)},$:function(a,b){a&1&&this.v.Da(b,64,2);a= -this.I[a>>1];this.i&&F(this.i,128)&&E(this.i,"Memory.readWord("+J(this.i,b)+"): "+J(this.i,a),!0);return a},ia:function(a,b){this.G[a]=b;this.Sa=!0},Ya:function(a,b,c){this.G[a]=b;this.Sa=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0)},va:function(a,b,c){a&1&&this.v.Da(c,64,4);this.D.setUint16(a,b,!0);this.Sa=!0},Aa:function(a,b,c){a&1&&this.v.Da(c,64,4);this.I[a>>1]=b;this.Sa=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeWord("+J(this.i,c)+","+J(this.i, +b,c){if(this.i&&null!=this.F){var d=this.i;hd(d,this.F+a,1,d.D)&&d.fa(!0)}this.f?this.B(a,b,c):this.$b(a,b,c)},wa:function(a,b,c){if(this.i&&null!=this.F){var d=this.i;hd(d,this.F+a,2,d.D)&&d.fa(!0)}this.f?this.B(a,b,c):this.nc(a,b,c)},M:function(a){return this.G[a]},R:function(a,b){a=this.G[a];this.i&&F(this.i,128)&&E(this.i,"Memory.readByte("+J(this.i,b)+"): "+J(this.i,a),!0);return a},X:function(a,b){a&1&&this.v.Da(b,64,2);return this.D.getUint16(a,!0)},ba:function(a,b){a&1&&this.v.Da(b,64,2); +a=this.I[a>>1];this.i&&F(this.i,128)&&E(this.i,"Memory.readWord("+J(this.i,b)+"): "+J(this.i,a),!0);return a},ia:function(a,b){this.G[a]=b;this.Sa=!0},Ya:function(a,b,c){this.G[a]=b;this.Sa=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0)},va:function(a,b,c){a&1&&this.v.Da(c,64,4);this.D.setUint16(a,b,!0);this.Sa=!0},Aa:function(a,b,c){a&1&&this.v.Da(c,64,4);this.I[a>>1]=b;this.Sa=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeWord("+J(this.i,c)+","+J(this.i, b)+")",!0)}};function sc(a,b,c){a.i=b;a.g=a.C=0;c&&((a.g=c.g)&&gd(a,fd,!1),(a.C=c.C)&&ed(a,fd,!1))}function id(a,b){b?--a.C||(a.Zb=a.f?a.B:a.$b,a.Nb=a.f?a.H:a.nc):--a.g||(a.Vb=a.hc,a.qa=a.ic)}function ed(a,b,c){c&&a.C||(a.Zb=!a.f&&b[1]||a.B,a.Nb=!a.f&&b[3]||a.H);if(c||void 0===c)a.$b=b[1]||a.B,a.nc=b[3]||a.H}function gd(a,b,c){c&&a.g||(a.Vb=b[0]||a.J,a.qa=b[2]||a.L);if(c||void 0===c)a.hc=b[0]||a.J,a.ic=b[2]||a.L}function ad(a,b){b||(b=jd);gd(a,b,void 0);ed(a,b,void 0)} -var jd=[],dd=[I.prototype.S,I.prototype.ta,I.prototype.ca,I.prototype.Na],fd=[I.prototype.O,I.prototype.ka,I.prototype.Qa,I.prototype.wa];if(zb)var cd=[I.prototype.M,I.prototype.ia,I.prototype.X,I.prototype.va],bd=[I.prototype.R,I.prototype.Ya,I.prototype.$,I.prototype.Aa]; +var jd=[],dd=[I.prototype.S,I.prototype.ta,I.prototype.ca,I.prototype.Na],fd=[I.prototype.O,I.prototype.ka,I.prototype.Qa,I.prototype.wa];if(zb)var cd=[I.prototype.M,I.prototype.ia,I.prototype.X,I.prototype.va],bd=[I.prototype.R,I.prototype.Ya,I.prototype.ba,I.prototype.Aa]; function kd(a,b){t.call(this,"CPU",a,kd,1);var c=a.multiplier||1;this.kb=a.cycles||b;this.eb=c;this.ub=Math.round(this.kb/1E4)/100;this.ob=this.ub*this.eb;this.w.W=!1;this.w.Yb=!1;this.w.sb=a.autoStart;this.w.vb=!1;this.Hb=this.ta=0;this.Ib=a.csStart;this.wb=a.csInterval;this.xb=a.csStop;this.L=[];this.zc=this.$d.bind(this);H(this)}z(kd);var ld=["power","reset"];k=kd.prototype; k.Ea=function(a,b,c,d){this.C=a;this.v=b;this.i=d;this.B=a.B;for(b=0;b=a.ta&&(a.ta+=a.wb,c=!0);0<=a.xb&&a.xb<=rd(a)&&(a.wb=a.xb=-1,od(a),a.fa(),c=!0);c&&a.j(rd(a)+" cycles: checksum="+p(a.Hb))}} k.ra=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.w.ha)a=!0;else{var b=null,c,h=rb(a.id);for(c=0;ca.$/a.ob?b=1:d=!0;a.eb=b;b=a.ub*a.eb;if(a.ob!=b){a.ob=b;b=a.ob.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.C&&a.C.rb()}dc(a,a.X);a.X=0;a.S=Aa();a.ca=0;td(a);return d}function Mc(a,b){var c=a.L.length;a.L.push([-1,b]);return c}function Oc(a,b,c,d){0<=b&&ba.L[b][0])&&(c=a.kb*a.eb/1E3*c|0,a.w.W&&(c+=ud(a)),a.L[b][0]=c)} +!0;case "speed":return this.G[b]=c,!0;case "setSpeed":return this.G[b]=c,c.onclick=function(){sd(d,d.eb<<1,!0)},c.textContent=this.ob.toFixed(2)+"Mhz",!0}return!1};k.oa=function(a){this.C&&this.C.oa(a)};function dc(a,b,c){a.ka+=b;c&&(a.ia=a.b=a.J=0)}function td(a,b){var c=1;b&&1a.ba/a.ob?b=1:d=!0;a.eb=b;b=a.ub*a.eb;if(a.ob!=b){a.ob=b;b=a.ob.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.C&&a.C.rb()}dc(a,a.X);a.X=0;a.S=Aa();a.ca=0;td(a);return d}function Mc(a,b){var c=a.L.length;a.L.push([-1,b]);return c}function Oc(a,b,c,d){0<=b&&ba.L[b][0])&&(c=a.kb*a.eb/1E3*c|0,a.w.W&&(c+=ud(a)),a.L[b][0]=c)} function vd(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function cc(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ud(a,b){var c=a.ia-=a.b;a.b=a.J=0;b&&(a.ia=0);return c} k.$d=function(){if(this.w.W){this.Eb>=this.kb&&td(this,!0);this.Aa=0;this.lb=Aa();if(this.ca){var a=this.lb-this.ca;a>this.Ub&&(this.S+=a,this.S>this.lb&&(this.S=this.lb))}try{do{var b=vd(this,this.w.vb?1:this.mb);try{this.jb(b)}catch(e){if("number"!=typeof e)throw e;}b=ud(this,!0);this.Aa+=b;this.X+=b;ec(this,b);cc(this,b);this.va-=b;if(0>=this.va){this.va+=this.mb;15<=++this.xc&&(this.oa(),this.xc=0);break}}while(this.w.W)}catch(e){this.fa();this.C&&this.C.stop(Aa(),rd(this));yb(this,e.stack||e.message); -return}if(this.w.W){a=setTimeout;b=this.zc;this.ca=Aa();var c=this.Ub;this.Aa&&(c=Math.round(c*this.Aa/this.mb));var c=c-(this.ca-this.lb),d=this.ca-this.S;d&&(this.$=Math.round(this.X/(10*d))/100,864E5<=d&&(this.ka=0,sd(this)));if(0>c||this.$c&&(this.S-=c),c=0;this.Eb+=this.Aa;this.ca+=c;a(b,c)}}}; +return}if(this.w.W){a=setTimeout;b=this.zc;this.ca=Aa();var c=this.Ub;this.Aa&&(c=Math.round(c*this.Aa/this.mb));var c=c-(this.ca-this.lb),d=this.ca-this.S;d&&(this.ba=Math.round(this.X/(10*d))/100,864E5<=d&&(this.ka=0,sd(this)));if(0>c||this.bac&&(this.S-=c),c=0;this.Eb+=this.Aa;this.ca+=c;a(b,c)}}}; k.ib=function(a){if(xb(this))return!1;if(this.w.W)return this.j(this.toString()+" busy"),!1;sd(this);this.w.W=!0;this.w.Yb=!0;var b=this.G.run;b&&(b.textContent="Halt");this.C&&(a&&this.C.rb(!0),this.C.start(this.S,rd(this)));setTimeout(this.zc,0);return!0};k.jb=function(){return 0};k.fa=function(a){var b=!1;if(this.w.W){ud(this);dc(this,this.X);this.X=0;this.w.W=!1;if(b=this.G.run)b.textContent="Run";this.C&&this.C.stop(Aa(),rd(this));b=!0}this.w.complete=a;return b}; function wd(a){this.cb=+a.model||1170;this.Ob=a.addrReset||0;kd.call(this,a,6666667);this.decode=1120==this.cb?xd.bind(this):yd.bind(this);zd(this);this.M=0;this.O=null;this.w.complete=!1}z(wd,kd);k=wd.prototype;k.reset=function(){this.status("model "+this.cb);this.w.W&&this.fa();zd(this);nd(this);this.w.error=!1;this.parent.reset.call(this)}; -function zd(a){a.T=65536;a.U=32768;a.aa=65535;a.Z=32768;a.N=15;a.u=[0,0,0,0,0,0,0,a.Ob];a.Wa=[0,0,0,0,0,0];a.Ia=[0,0,0,0];a.A=0;a.Za=0;a.Uc=[4,2,0,1];a.V=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.xa=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Lb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0];a.Ec=[0,0,0,0,0,0,0,0];a.Dc=0;a.K=0;a.H=a.I=0;a.g=a.f=a.tb=0;a.wa=-1;bc(a)}function bc(a){a.Wb=255;a.Ha=0;a.kc=0;a.D=0;a.fb=0;a.Kb=0;a.pb=0;a.Ua=0;a.Na=0;a.Sb=262143;a.O=null;a.v&&Rc(a)}function Rc(a){a.Ua?(a.R=65536,a.ba=a.Tc,a.qa=a.Xd,a.Nb=a.Pe,uc(a.v,a.pb&16?22:18)):(a.R=0,a.ba=a.Sc,a.qa=a.Cc,a.Nb=a.Jc,uc(a.v,16))}k.uc=function(){return 0};k.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.ka,this.eb]);a.set(2,Dc(this.v));return a.data()}; -k.restore=function(a){var b=a[1];this.ka=b[1];sd(this,b[3]);a:{b=this.v;a=a[2];var c;for(c=0;c>14&3;c=a.N>>14&3;a.A!=c&&(a.Ia[c]=a.u[6],a.u[6]=a.Ia[a.A]);a.N=b;a.K|=2}function Q(a,b){a.K&128||(a.Z=a.aa=b,a.U=0)}function Fd(a,b,c){a.K&128||(a.Z=a.aa=a.T=b,a.U=c||0)}function Gd(a,b,c,d){a.K&128||(a.Z=a.aa=a.T=b,a.U=(c^b)&(d^b))}function Hd(a,b){a.K&128||(a.Z=a.aa=a.T=b,a.U=a.Z^a.T>>1)} -function Id(a,b,c,d){a.K&128||(a.Z=a.aa=a.T=b,a.U=(c^d)&(d^b))}k.sa=function(a,b,c){if(!this.M){var d=!1;0>this.wa?this.wa=Sc(this):this.A||(a=4,d=!0);this.D&57344||(this.fb=63222,this.Kb=a);this.A=0;var e=this.qa(a|this.R),f=this.qa(a+2&65535|this.R);Tc(this,f&-12289|this.wa>>2&12288);d&&(this.Ha|=4,this.u[6]=4);be(this,this.wa);be(this,this.u[7]);O(this,e);this.K&=~b;this.wa=-1;this.K|=8;this.Yc=a;this.Xc=c;if(-18!=c)throw a;}}; -function ce(a){var b=de(a),c=de(a)&-1793;a.N&49152&&(c=c&-225|a.N&63712);O(a,b);Tc(a,c);a.K&=-17}function Cc(a,b){var c=b>>13&31;31>c&&a.pb&32&&(b=a.Lb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b} +function Tc(a,b){a.Z=b<<12;a.$=~b&4;a.U=b<<14;a.T=b<<16;if((b^a.N)&2048)for(var c=a.Wa.length;0<=--c;){var d=a.u[c];a.u[c]=a.Wa[c];a.Wa[c]=d}a.A=b>>14&3;c=a.N>>14&3;a.A!=c&&(a.Ia[c]=a.u[6],a.u[6]=a.Ia[a.A]);a.N=b;a.K|=2}function Q(a,b){a.K&128||(a.Z=a.$=b,a.U=0)}function Fd(a,b,c){a.K&128||(a.Z=a.$=a.T=b,a.U=c||0)}function Gd(a,b,c,d){a.K&128||(a.Z=a.$=a.T=b,a.U=(c^b)&(d^b))}function Hd(a,b){a.K&128||(a.Z=a.$=a.T=b,a.U=a.Z^a.T>>1)}function Id(a,b,c,d){a.K&128||(a.Z=a.$=a.T=b,a.U=(c^d)&(d^b))} +k.sa=function(a,b,c){if(!this.M){var d=!1;0>this.wa?this.wa=Sc(this):this.A||(a=4,d=!0);this.D&57344||(this.fb=63222,this.Kb=a);this.A=0;var e=this.qa(a|this.R),f=this.qa(a+2&65535|this.R);Tc(this,f&-12289|this.wa>>2&12288);d&&(this.Ha|=4,this.u[6]=4);be(this,this.wa);be(this,this.u[7]);O(this,e);this.K&=~b;this.wa=-1;this.K|=8;this.Yc=a;this.Xc=c;if(-18!=c)throw a;}};function ce(a){var b=de(a),c=de(a)&-1793;a.N&49152&&(c=c&-225|a.N&63712);O(a,b);Tc(a,c);a.K&=-17} +function Cc(a,b){var c=b>>13&31;31>c&&a.pb&32&&(b=a.Lb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b} function ee(a,b,c){var d,e,f;if(!(c&a.Ua))return b;d=b>>13;a.pb&a.Uc[a.A]||(d&=7);e=a.V[a.A][d];f=(a.xa[a.A][d]<<6)+(b&8191)&a.Sb;var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.V[a.A][d]=e;if(4194170!==f||a.A)a.Na=a.A,a.Za=d;b=!1;g&&(g&57344&&(0<=a.wa&&(g|=128),a.D&57344||(a.D=a.D|g|a.Na<<5|a.Za<<1), b=!0),a.D&61440||!(4191360>f||4194239f&&he(a,b,a.u[6]);return e}k.Tb=function(a){if(!this.Ua)return this.v.Tb(a);this.M++;a=fe(this,ee(this,a,3));this.M--;return a};k.bb=function(a){if(!this.Ua)return this.v.bb(a);this.M++;a=this.Cc(ee(this,a,2));this.M--;return a};k.qb=function(a,b){this.Ua?(this.M++,ge(this,ee(this,a,5),b),this.M--):this.v.qb(a,b)}; k.Bb=function(a,b){this.Ua?(this.M++,this.Jc(ee(this,a,4),b),this.M--):this.v.Bb(a,b)};k.Sc=function(a,b,c){return ie(this,a,b,c)};k.Tc=function(a,b,c){return ee(this,ie(this,a,b,c),c)};k.Cc=function(a){return this.v.na(a)};k.Xd=function(a){return this.v.na(ee(this,a,2))};k.Jc=function(a,b){this.v.hb(a,b&65535)};k.Pe=function(a,b){this.v.hb(ee(this,a,4),b)}; function je(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=ie(a,b,d,2),c&65536||61440!==(a.N&61440)&&(d&=65535),a.A=a.N>>12&3,c=a.qa(d|c&a.R),a.A=a.N>>14&3):c=6!=d||(a.N>>2&12288)===(a.N&12288)?a.u[d]:a.Ia[a.N>>12&3];return c}function ke(a,b,c,d){a.D&57344||(a.fb=22);var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=ie(a,b,e,4),c&65536||(e&=65535),a.A=a.N>>12&3,e=ee(a,e|c&65536,4),a.A=a.N>>14&3,a.v.hb(e,d)):6!=e||(a.N>>2&12288)===(a.N&12288)?a.u[e]=d:a.Ia[a.N>>12&3]=d} -function le(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?fe(a,a.ba(b,c,3)):a.u[c]&255}function me(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?a.v.na(a.ba(b,c,2)):a.u[c]}function ne(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return ie(a,b,c,8)}function oe(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?fe(a,a.ba(b,c,3)):a.u[c]&255}function pe(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.v.na(a.ba(b,c,2)):a.u[c]} -function R(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.tb=a.ba(b,e,7),ge(a,e,d.call(a,c,fe(a,e)))):a.u[e]=a.u[e]&65280|d.call(a,c,a.u[e]&255)}function S(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.ba(b,e,6),a.v.hb(e,d.call(a,c,a.v.na(e)))):a.u[e]=d.call(a,c,a.u[e])}function qe(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?ge(a,a.ba(b,e,5),c):a.u[e]=c?a.u[e]&~d|c<<24>>24&d:a.u[e]&~d;return c}function re(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?a.v.hb(a.ba(b,d,4),c):a.u[d]=c&65535;return c} +function le(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?fe(a,a.aa(b,c,3)):a.u[c]&255}function me(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?a.v.na(a.aa(b,c,2)):a.u[c]}function ne(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return ie(a,b,c,8)}function oe(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?fe(a,a.aa(b,c,3)):a.u[c]&255}function pe(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.v.na(a.aa(b,c,2)):a.u[c]} +function R(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.tb=a.aa(b,e,7),ge(a,e,d.call(a,c,fe(a,e)))):a.u[e]=a.u[e]&65280|d.call(a,c,a.u[e]&255)}function S(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.aa(b,e,6),a.v.hb(e,d.call(a,c,a.v.na(e)))):a.u[e]=d.call(a,c,a.u[e])}function qe(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?ge(a,a.aa(b,e,5),c):a.u[e]=c?a.u[e]&~d|c<<24>>24&d:a.u[e]&~d;return c}function re(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?a.v.hb(a.aa(b,d,4),c):a.u[d]=c&65535;return c} function T(a,b,c){c&&(O(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3} k.jb=function(a){this.w.complete=!0;var b=this.i&&se(this.i)?1:this.w.Yb?-1:0,c=a?this.w.Yb?0:1:-1;this.w.Yb=!1;this.ia=this.b=a;do{if(b){if(this.i&&te(this.i,this.u[7],c)){this.fa();break}c||c++;b++}if(this.K){this.K&112&&(this.K&32?this.sa(168,32,-7):this.K&16?this.sa(12,16,-9):this.K&64&&this.sa(4,64,-8));if(a=this.K&7){a=!1;if(this.K&2){this.K&=-3;var d=160,e=(this.kc&224)>>5,f=this.O&&this.O.yb>e?this.O:null;f&&(d=f.be,e=f.yb);e>(this.N&224)>>5?(this.K&4&&(Ed(this,2),this.K&=-5),this.sa(d,0, -18),e=!0):e=!1;if(e){if(f)if(a=f,f=this.O,f==a)this.O=a.next;else for(;f;){e=f.next;if(e==a){f.next=e.next;break}f=e}a=!0}}else this.K&1&&this.K++;a=a&&0>c}if(a)break}this.K=this.K&7|this.N&16;this.decode(Dd(this))}while(0>1|b<<16;Hd(this,a);return a&65535}function ze(a,b){a=b&128|b>>1|b<<8;Hd(this,a<<8);return a&255}function Ae(a,b){a=b&~a;Q(this,a);return a}function Be(a,b){a=b&~a;Q(this,a<<8);return a}function Ce(a,b){a|=b;Q(this,a);return a}function De(a,b){a|=b;Q(this,a<<8);return a} -function Ee(a,b){a=~b|65536;Fd(this,a);return a&65535}function Fe(a,b){a=~b|256;Fd(this,a<<8);return a&255}function Ge(a,b){a=b-a;this.K&128||(this.Z=this.aa=a,this.U=b&(b^a));return a&65535}function He(a,b){a=b-a;var c=a<<8;b<<=8;this.K&128||(this.Z=this.aa=c,this.U=b&(b^c));return a&255}function Ie(a,b){a=b+a;this.K&128||(this.Z=this.aa=a,this.U=a&(b^a));return a&65535}function Je(a,b){a=b+a;var c=a<<8;this.K&128||(this.Z=this.aa=c,this.U=c&(b<<8^c));return a&255} +function Ee(a,b){a=~b|65536;Fd(this,a);return a&65535}function Fe(a,b){a=~b|256;Fd(this,a<<8);return a&255}function Ge(a,b){a=b-a;this.K&128||(this.Z=this.$=a,this.U=b&(b^a));return a&65535}function He(a,b){a=b-a;var c=a<<8;b<<=8;this.K&128||(this.Z=this.$=c,this.U=b&(b^c));return a&255}function Ie(a,b){a=b+a;this.K&128||(this.Z=this.$=a,this.U=a&(b^a));return a&65535}function Je(a,b){a=b+a;var c=a<<8;this.K&128||(this.Z=this.$=c,this.U=c&(b<<8^c));return a&255} function Ke(a,b){a=-b;Fd(this,a,a&b&32768);return a&65535}function Le(a,b){a=-b;Fd(this,a<<8,(a&b&128)<<8);return a&255}function Me(a,b){a=b<<1|this.T>>16&1;Hd(this,a);return a&65535}function Ne(a,b){a=b<<1|this.T>>16&1;Hd(this,a<<8);return a&255}function Oe(a,b){a=(this.T&65536|b)>>1|b<<16;Hd(this,a);return a&65535}function Pe(a,b){a=((this.T&65536)>>8|b)>>1|b<<8;Hd(this,a<<8);return a&255}function Qe(a,b){var c=b-a;Id(this,c,a,b);return c&65535} -function Re(a,b){var c=b-a;Id(this,c<<8,a<<8,b<<8);return c&255}function Se(a,b){this.K&128||(this.Z=this.aa=b&65280,this.U=this.T=0);return(b<<8|b>>8)&65535}function Te(a,b){a^=b;Q(this,a);return a&65535}function Ue(a){S(this,a,me(this,a),ue);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)} -function Ve(a){var b=pe(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.T=this.U=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.U=32768)}this.u[a]=c&65535;this.Z=this.aa=c;this.b-=(this.g?6:7)+b} -function We(a){var b=pe(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.T=this.U=0;b&=63;if(b&32){b=64-b;32>b-1;this.T=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.u[a|1]=d&65535;this.Z=d>>16;this.aa=d>>16|d;this.b-=(this.g?6:7)+b}function Xe(a){T(this,a,!Ad(this))}function Ye(a){T(this,a,Ad(this))} +function Re(a,b){var c=b-a;Id(this,c<<8,a<<8,b<<8);return c&255}function Se(a,b){this.K&128||(this.Z=this.$=b&65280,this.U=this.T=0);return(b<<8|b>>8)&65535}function Te(a,b){a^=b;Q(this,a);return a&65535}function Ue(a){S(this,a,me(this,a),ue);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)} +function Ve(a){var b=pe(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.T=this.U=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.U=32768)}this.u[a]=c&65535;this.Z=this.$=c;this.b-=(this.g?6:7)+b} +function We(a){var b=pe(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.T=this.U=0;b&=63;if(b&32){b=64-b;32>b-1;this.T=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.u[a|1]=d&65535;this.Z=d>>16;this.$=d>>16|d;this.b-=(this.g?6:7)+b}function Xe(a){T(this,a,!Ad(this))}function Ye(a){T(this,a,Ad(this))} function Ze(a){S(this,a,me(this,a),Ae);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function $e(a){R(this,a,le(this,a),Be);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function af(a){S(this,a,me(this,a),Ce);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function bf(a){R(this,a,le(this,a),De);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)} function cf(a){Q(this,me(this,a)&pe(this,a));this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function df(a){Q(this,(le(this,a)&oe(this,a))<<8);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function ef(a){T(this,a,Cd(this))}function ff(a){T(this,a,!this.Ta()==!Bd(this))}function gf(a){T(this,a,!Cd(this)&&!this.Ta()==!Bd(this))}function hf(a){T(this,a,!Ad(this)&&!Cd(this))}function jf(a){T(this,a,Cd(this)||!this.Ta()!=!Bd(this))} -function kf(a){T(this,a,Ad(this)||Cd(this))}function lf(a){T(this,a,!this.Ta()!=!Bd(this))}function mf(a){T(this,a,this.Ta())}function nf(a){T(this,a,!Cd(this))}function of(a){T(this,a,!this.Ta())}function pf(){this.sa(12,0,-1);this.b-=5}function qf(a){T(this,a,!0)}function rf(a){T(this,a,!Bd(this))}function sf(a){T(this,a,Bd(this))}function U(a){a&1&&(this.T=0);a&2&&(this.U=0);a&4&&(this.aa=1);a&8&&(this.Z=0);this.b-=5} +function kf(a){T(this,a,Ad(this)||Cd(this))}function lf(a){T(this,a,!this.Ta()!=!Bd(this))}function mf(a){T(this,a,this.Ta())}function nf(a){T(this,a,!Cd(this))}function of(a){T(this,a,!this.Ta())}function pf(){this.sa(12,0,-1);this.b-=5}function qf(a){T(this,a,!0)}function rf(a){T(this,a,!Bd(this))}function sf(a){T(this,a,Bd(this))}function U(a){a&1&&(this.T=0);a&2&&(this.U=0);a&4&&(this.$=1);a&8&&(this.Z=0);this.b-=5} function tf(a){var b=me(this,a);a=pe(this,a);Id(this,b-a,a,b);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function uf(a){var b=le(this,a)<<8;a=oe(this,a)<<8;Id(this,b-a,a,b);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)} -function vf(a){var b=pe(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.T=this.U=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.aa=d>>16|d,this.Z=d>>16):(this.U=32768,this.aa=d>>15|d,this.Z=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.aa=this.Z=0,this.U=32768,this.T=65536,this.b-=7}function wf(){this.sa(24,0,-2);this.b-=25} +function vf(a){var b=pe(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.T=this.U=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.$=d>>16|d,this.Z=d>>16):(this.U=32768,this.$=d>>15|d,this.Z=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.$=this.Z=0,this.U=32768,this.T=65536,this.b-=7}function wf(){this.sa(24,0,-2);this.b-=25} function xf(){this.N&49152?(this.Ha|=128,this.sa(4,0,-3)):(this.B&&this.B.setData(this.u[0],!0),this.i?yf(this.i):this.fa());this.b-=7}function zf(){this.sa(16,0,-4);this.b-=25}var Af=[0,7,7,10,7,11,9,13];function Bf(a){this.J=this.b;O(this,ne(this,a));this.b=this.J-Af[this.g]}var Cf=[0,14,14,17,14,18,16,20];function Df(a){this.J=this.b;var b=ne(this,a);a=a>>6&7;be(this,this.u[a]);this.u[a]=this.u[7];O(this,b);this.b=this.J-Cf[this.g]}var Ef=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; function Ff(a){var b=me(this,a);this.J=this.b;Q(this,re(this,a,b));this.b=this.J-Ef[(this.H?8:0)+this.g]+(7!=this.f||this.g?0:2)}function Gf(a){var b=le(this,a);Q(this,qe(this,a,b,65535)<<8);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}var Hf=[7,13,13,17,14,18,17,21]; -function If(a){var b=pe(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.K&128||(this.Z=b>>16,this.aa=this.Z|b,this.U=0,this.T=-32768>b||32767>6;if(this.u[b]=this.u[b]-1&65535)O(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Of(a){S(this,a,me(this,a),Qe);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)} +function If(a){var b=pe(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.K&128||(this.Z=b>>16,this.$=this.Z|b,this.U=0,this.T=-32768>b||32767>6;if(this.u[b]=this.u[b]-1&65535)O(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Of(a){S(this,a,me(this,a),Qe);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)} function Pf(a){S(this,a,0,Se);this.b-=this.g?9:3+(7==this.f?2:0)}function Qf(){this.sa(28,0,-5);this.b-=5}function Rf(){this.B&&(this.B.lc(this.u[7],!0),this.B.setData(this.u[0],!0));this.K|=4;Ed(this,-2);this.b-=3}function Sf(a){S(this,a,me(this,a),Te);this.b-=this.g?9:3+(7==this.f?2:0)}function V(a){var b;if(b=this.i)b=this.i,F(b,1)?(E(b,"undefined opcode "+J(b,a),!0,!0),b=yf(b)):b=!1;b||this.sa(8,0,-6)}function xd(a){Tf[a>>12].call(this,a)}function Uf(a){Vf[a>>6&3].call(this,a)} function Wf(a){Xf[a>>6&3].call(this,a)}function Yf(a){Zf[a>>6&3].call(this,a)}function $f(a){ag[a&15].call(this,a)}function bg(a){cg[a&15].call(this,a)}function dg(a){eg[a>>6&3].call(this,a)}function fg(a){gg[a>>6&3].call(this,a)}function hg(a){ig[a>>6&3].call(this,a)} var Tf=[function(a){jg[a>>8&15].call(this,a)},Ff,tf,cf,Ze,af,Ue,V,function(a){kg[a>>8&15].call(this,a)},Gf,uf,df,$e,bf,Of,V],jg=[function(a){lg[a>>4&15].call(this,a)},qf,nf,ef,ff,lf,gf,jf,Df,Df,Uf,Wf,Yf,V,V,V],Vf=[function(a){Fd(this,re(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Ee);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Ie);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Ge);this.b-=this.g?9:3+(7==this.f?2:0)}],Xf=[function(a){S(this,a,0, Ke);this.b-=this.g?11:6},function(a){S(this,a,Ad(this)?1:0,ue);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,Ad(this)?1:0,Qe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=pe(this,a);Fd(this,a);this.b-=this.g?4:3+(7==this.f?2:0)}],Zf=[function(a){S(this,a,0,Oe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Me);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,0,ye);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,0,we);this.b-=this.g?9:3+(7==this.f?2:0)}], -lg=[function(a){mg[a&15].call(this,a)},V,V,V,Bf,Bf,Bf,Bf,Mf,V,$f,bg,Pf,Pf,Pf,Pf],mg=[xf,Rf,Lf,pf,zf,Kf,V,V,V,V,V,V,V,V,V,V],ag=[Jf,function(){this.T=0;this.b-=5},function(){this.U=0;this.b-=5},U,function(){this.aa=1;this.b-=5},U,U,U,function(){this.Z=0;this.b-=5},U,U,U,U,U,U,U],cg=[Jf,function(){this.T=65536;this.b-=5},function(){this.U=32768;this.b-=5},W,function(){this.aa=0;this.b-=5},W,W,W,function(){this.Z=32768;this.b-=5},W,W,W,W,W,W,W],kg=[of,mf,hf,kf,rf,sf,Xe,Ye,wf,Qf,dg,fg,hg,V,V,V],eg=[function(a){Fd(this, +lg=[function(a){mg[a&15].call(this,a)},V,V,V,Bf,Bf,Bf,Bf,Mf,V,$f,bg,Pf,Pf,Pf,Pf],mg=[xf,Rf,Lf,pf,zf,Kf,V,V,V,V,V,V,V,V,V,V],ag=[Jf,function(){this.T=0;this.b-=5},function(){this.U=0;this.b-=5},U,function(){this.$=1;this.b-=5},U,U,U,function(){this.Z=0;this.b-=5},U,U,U,U,U,U,U],cg=[Jf,function(){this.T=65536;this.b-=5},function(){this.U=32768;this.b-=5},W,function(){this.$=0;this.b-=5},W,W,W,function(){this.Z=32768;this.b-=5},W,W,W,W,W,W,W],kg=[of,mf,hf,kf,rf,sf,Xe,Ye,wf,Qf,dg,fg,hg,V,V,V],eg=[function(a){Fd(this, qe(this,a,0,255));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Fe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,Je);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,He);this.b-=this.g?9:3+(7==this.f?2:0)}],gg=[function(a){R(this,a,0,Le);this.b-=this.g?11:6},function(a){R(this,a,Ad(this)?1:0,ve);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,Ad(this)?1:0,Re);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=oe(this,a);Fd(this,a<<8);this.b-=this.g?4:3+ (7==this.f?2:0)}],ig=[function(a){R(this,a,0,Pe);this.b-=this.g?9+(this.tb&1):3+(7==this.f?2:0)},function(a){R(this,a,0,Ne);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,ze);this.b-=this.g?9+(this.tb&1):3+(7==this.f?2:0)},function(a){R(this,a,0,xe);this.b-=this.g?9:3+(7==this.f?2:0)}];function yd(a){ng[a>>12].call(this,a)} var ng=[function(a){og[a>>8&15].call(this,a)},Ff,tf,cf,Ze,af,Ue,function(a){pg[a>>8&15].call(this,a)},function(a){qg[a>>8&15].call(this,a)},Gf,uf,df,$e,bf,Of,V],og=[function(a){rg[a>>4&15].call(this,a)},qf,nf,ef,ff,lf,gf,jf,Df,Df,Uf,Wf,Yf,function(a){sg[a>>6&3].call(this,a)},V,V],sg=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.qa(a|this.R);O(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=je(this,a,0);be(this,a);Q(this,a);this.b-=11},function(a){var b=de(this);this.J= @@ -170,15 +170,15 @@ yg.prototype.reset=function(){if(this.B){for(var a=this.v,b=this.C,c=this.A,d=b& function Tg(a,b,c,d,e,f){var g=!1;if(null==c)for(var h=0;h=b.length)break;for(var h=h+2,m=b[h++]&255|(b[h++]&255)<<8,n=b[h++]&255|(b[h++]&255)<<8,l=l+((m&255)+(m>>8)+(n&255)+(n>>8)),v=h,r=m-=6;0=b.length)break;l+=b[h++]&255;if(l&255)break;if(r)for(E(a,"loading "+p(r,4,!0)+" bytes at "+p(n,4,!0)+"-"+p(n+r-1,4,!0),1048576);r--;)a.b.qb(n++,b[v++]&255);else n&1?a.b.fa():null==d&& (d=n),null!=d&&E(a,"starting address: "+p(d,4,!0),1048576);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g=b)a.preventDefault&&a.preventDefault(),64e.J&&(e.J-=32),e.f|=128,e.f&64&&Nc(e.b,e.ia))});this.ka=Pc(52,4);this.$=Mc(this.b,function(){e.g|=128;e.g&64&&Nc(e.b,e.ka)});Gb(b,this,Wg);H(this)}; +k.Ea=function(a,b,c,d){this.C=a;this.v=b;this.b=c;this.i=d;var e=this;this.ka=Pc(48,4);this.S=Mc(this.b,function(){e.f&128||!e.A.length||(e.J=e.A.shift()&255,e.ba&&97<=e.J&&122>e.J&&(e.J-=32),e.f|=128,e.f&64&&Nc(e.b,e.ka))});this.X=Pc(52,4);this.ia=Mc(this.b,function(){e.g|=128;e.g&64&&Nc(e.b,e.X)});Gb(b,this,Wg);H(this)}; k.yc=function(){if(!this.I){var a=md(this.C,"connection");if(a){var b=a.split("->");if(2==b.length){var c=xa(b[0]);if(c!=this.Ya)return;b=xa(b[1]);if(this.I=sb(b)){var d=this.I.exports;if(d){var e=d.connect;e&&e.call(this.I);if(this.L=d.receiveData){this.status(this.Qa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.Ga=function(a,b){if(!b)if(this.yc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.Fa=function(a){return a?this.save():!0};k.reset=function(){Xg(this)};k.save=function(){var a=new N(this);a.set(0,[]);return a.data()};k.restore=function(){return Xg(this)};function Xg(a){a.J=0;a.f=0;a.g=128;a.A=[];return!0}k.jc=function(a){if("number"==typeof a)this.A.push(a);else if("string"==typeof a)for(var b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.S||8,c=a-this.H%a,this.S&&(b=wa("",c)));this.O&&!this.H&&c&&(b=String.fromCharCode(this.O)+b);this.B.value+=b;this.B.scrollTop=this.B.scrollHeight;this.H+=c}else if(null!=this.D){if(10==a||1024<=this.D.length)this.j(this.D), -this.D="";10!=a&&(this.D+=String.fromCharCode(a))}this.g&=-129;Oc(this.b,this.$,1E3/Math.round(this.R/10))}};var Yg={},Wg=(Yg[65392]=[null,null,X.prototype.Fd,X.prototype.xe,"RCSR"],Yg[65394]=[null,null,X.prototype.Ed,X.prototype.we,"RBUF"],Yg[65396]=[null,null,X.prototype.Zd,X.prototype.Re,"XCSR"],Yg[65398]=[null,null,X.prototype.Yd,X.prototype.Qe,"XBUF"],Yg);Za(function(){for(var a=D(document,"pdp11","serial"),b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.R||8,c=a-this.H%a,this.R&&(b=wa("",c)));this.O&&!this.H&&c&&(b=String.fromCharCode(this.O)+b);this.B.value+=b;this.B.scrollTop=this.B.scrollHeight;this.H+=c}else if(null!=this.D){if(10==a||1024<=this.D.length)this.j(this.D), +this.D="";10!=a&&(this.D+=String.fromCharCode(a))}this.g&=-129;Oc(this.b,this.ia,1E3/Math.round(this.ca/10))}};var Yg={},Wg=(Yg[65392]=[null,null,X.prototype.Fd,X.prototype.xe,"RCSR"],Yg[65394]=[null,null,X.prototype.Ed,X.prototype.we,"RBUF"],Yg[65396]=[null,null,X.prototype.Zd,X.prototype.Re,"XCSR"],Yg[65398]=[null,null,X.prototype.Yd,X.prototype.Qe,"XBUF"],Yg);Za(function(){for(var a=D(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.G[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.G[b]=c,c.onclick= function(){var a=d.G.listTapes;a&&ah(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.G[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;ah(d,ra(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.G[b]=c,!0}return!1}; k.Ea=function(a,b,c,d){this.C=a;this.v=b;this.b=c;this.i=d;this.S=bh(a);var e=this;if((this.g=md(this.C,"autoMount")||this.g)&&"string"==typeof this.g)try{this.g=eval("("+this.g+")")}catch(f){q("PC11 auto-mount error: "+f.message+" ("+this.g+")"),this.g=null}this.X=Pc(56,4);this.ca=Mc(this.b,function(){1==(e.f&32769)&&!(e.f&128)&&e.J>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.ua);for(d=0;dthis.b.cb?Wh:[];Xh(this,function(a){a:{var b=d.v.Y,c=a[0],e=a=0,l=b.length;if(c){a=d.ba(Yh(d,c));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.v.ja;l=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Bc[c],n&&d.j(p(n.id,8)+" %"+ +k.Ea=function(a,b,c,d){this.v=b;this.C=a;this.b=c;this.B=a.B;(a=md(a,"messages"))&&Rh(this,a);this.ub=Uh;this.Eb=1145>this.b.cb?Wh:[];Xh(this,function(a){a:{var b=d.v.Y,c=a[0],e=a=0,l=b.length;if(c){a=d.aa(Yh(d,c));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.v.ja;l=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Bc[c],n&&d.j(p(n.id,8)+" %"+ p(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a?"R"+a:6==a?"SP":"PC"}k.wc=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Wa[a-8]:20>a?b=this.b.Ia[a-16]:20==a?b=Sc(this.b):21==a&&this.B&&kc(this.B)&&(b=this.B.Va));return b}; -k.message=function(a,b){b&&(a+=" @"+J(this,Y(this.b.Kb).F));this.ma&1073741824?this.va.push(a):this.ia&&a==this.ia||(this.ia=a,this.ma&-2147483648&&this.b&&this.b.w.W&&(this.fa(),a+=" (cpu halted)"),this.j(a),this.b&&(a=this.b,ud(a),a.va=0,a.oa()))};function Qh(a){var b;if(!se(a))a.H&&a.H.length&&a.j("instruction history buffer freed"),a.$=0,a.H=[];else if(!a.H||!a.H.length){a.H=Array(1E3);for(b=0;b>8;a.j("trapped to "+J(a,c&255,1)+(d?" ("+d+")":""))}a.L=Y(a.b.u[7]);b&&1!=a.S?ei(a):fi(a)}}function di(a,b){var c;(c=!a.b||!wb(a.b))||(c=a.b,c.w.ha?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.w.W?(b||a.j("cpu busy or unavailable, command ignored"),!1):!xb(a.b)}k.Ga=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0}; k.Fa=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){Qh(this);this.wa=0;this.ia=null;this.J=0;this.L=Y(this.b.u[7]);this.w.W=!1;gi(this);a||pd(this)};k.save=function(){var a=new N(this);a.set(0,$h(this.L));a.set(1,$h(this.O));a.set(2,[this.g,this.R,this.ma]);a.set(3,this.I);return a.data()}; k.restore=function(a){var b=0;void 0!==a[2]&&(this.L=ai(a[b++]),this.O=ai(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.R=a[b][1],this.ma|=a[b][2]);a[3]&&(this.I=a[3]);return!0};k.start=function(a,b){this.S||this.j("running");this.w.W=!0;this.Ob=a;this.Sb=b}; k.stop=function(a,b){if(this.w.W){this.w.W=!1;this.J=b-this.Sb;if(!this.S){b="stopped";if(this.J){a-=this.Ob;var c=0d&&(d=a.b.bb(b)),65535!=(d&65535)&&(a.lc(a.H[a.$],b),++a.$==a.H.length&&(a.$=0)));return!1}function yf(a){var b=a.b;if(b.w.W)throw O(b,a.b.Kb),a.fa(),-1;return!1} -function Ph(a){var b,c;a.f=["bp"];if(a.M)for(b=1;b>>d.ja],!1)}a.M=["br"];if(a.D)for(b=1;b>>d.ja],!0);a.D=["bw"];a.mb=0}k.nb=function(a,b,c){var d=!0;c||hi(this,a,b,!1,!0);if(a!=this.f){var e=this.ba(b);if(-1===e)this.j("invalid address: "+J(this,b.F)),d=!1;else{var f=this.v;f.Y[e>>>f.ja].nb(e&f.v,a==this.D)}}d&&(a.push(b),c?b.Oa=!0:(ii(this,a,a.length-1,"set"),Qh(this)));return d}; -function hi(a,b,c,d,e){var f=!1;c=a.ba(c);for(var g=1;g>>d.ja],b==a.D));h.Oa||Qh(a);break}}return f}function ji(a,b){for(var c=1;cd&&(d=a.b.bb(b)),65535!=(d&65535)&&(a.lc(a.H[a.ba],b),++a.ba==a.H.length&&(a.ba=0)));return!1}function yf(a){var b=a.b;if(b.w.W)throw O(b,a.b.Kb),a.fa(),-1;return!1} +function Ph(a){var b,c;a.f=["bp"];if(a.M)for(b=1;b>>d.ja],!1)}a.M=["br"];if(a.D)for(b=1;b>>d.ja],!0);a.D=["bw"];a.mb=0}k.nb=function(a,b,c){var d=!0;c||hi(this,a,b,!1,!0);if(a!=this.f){var e=this.aa(b);if(-1===e)this.j("invalid address: "+J(this,b.F)),d=!1;else{var f=this.v;f.Y[e>>>f.ja].nb(e&f.v,a==this.D)}}d&&(a.push(b),c?b.Oa=!0:(ii(this,a,a.length-1,"set"),Qh(this)));return d}; +function hi(a,b,c,d,e){var f=!1;c=a.aa(c);for(var g=1;g>>d.ja],b==a.D));h.Oa||Qh(a);break}}return f}function ji(a,b){for(var c=1;c>23)&65535,x=J(w,r);else if(8192==C)r=r.F-((f&63)<<1)&65535,x=J(w,r);else if(12288==C)x=J(w,f&7,1);else if(24576==C)x=J(w,f&63,1);else if(32768==C)x=J(w,f&255,1);else if(C=f&y,y&4032&&(C>>=6,y>>=6), y&63)switch(y=C&7,C&56){case 0:x=ci(y);break;case 8:x="@"+ci(y);break;case 16:7>y?x="("+ci(y)+")+":(C=w.na(r,2),x="#"+J(w,C,0,!0));break;case 24:7>y?x="@("+ci(y)+")+":(C=w.na(r,2),x="@#"+J(w,C,0,!0));break;case 32:x="-("+ci(y)+")";break;case 40:x="@-("+ci(y)+")";break;case 48:C=w.na(r,2);x=J(w,C,0,!0)+"("+ci(y)+")";7==y&&(x=J(w,C+r.F&65535));break;case 56:C=w.na(r,2),x="@"+J(w,C)+"("+ci(y)+")",7==y&&(x="@"+J(w,C+r.F&65535))}w=x;if(!w||!w.length){h="INVALID";break}"string"!=typeof w&&(m=w[1],w=w[0]); 0b?(c=ci(b),c+="="+J(a,d.u[b])):13>b?c="A"+(b-8)+"="+J(a,d.Wa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.Ia[b-16]):20==b?c="PS="+J(a,Sc(d)):21==b&&a.B&&kc(a.B)&&(c="SW="+J(a,a.B.Va,3));c&&(c+=" ");return c}function oi(a){var b,c="";for(b=0;6>b;b++)c+=ni(a,b);c=c+"\n"+(ni(a,6)+ni(a,7));c+=ni(a,20)+ni(a,21);return c+=mi(a,"T")+mi(a,"N")+mi(a,"Z")+mi(a,"V")+mi(a,"C")}k.qc=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],v=za(n,l,a.qc);0>v&&n.splice(-(v+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.I.push({Xe:b,F:c,Wc:d,ga:e,oc:f})}function pi(a,b,c){var d=[],e=a.ba(b)>>>0;for(b=0;b>>0,h=f.Wc;if(e>=g&&e>>0,g],v=za(n,l,a.qc);0>v&&n.splice(-(v+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.I.push({Xe:b,F:c,Wc:d,ga:e,oc:f})}function pi(a,b,c){var d=[],e=a.aa(b)>>>0;for(b=0;b>>0,h=f.Wc;if(e>=g&&eb)){d.u[b]=f&65535;break}a.j("unknown register: "+e);return}a.C.oa();a.j("updated registers:")}a.j(oi(a));c&&(a.L=Y(d.u[7]),fi(a,J(a,a.L.F)))}}function ti(a,b){b=xa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);f=li(a,b,g,f);a.j(f);a.L=b;e-=b.F-l;c++}}} @@ -275,9 +275,9 @@ Yh(a,g[1],!0);if(v)if(a.O=v,void 0===g[2])a.j("begin assemble at "+J(a,v.F)),a.R a.j("\tbn [n]\tbreak after [n] instruction(s)");else{var ia=y.charAt(1);if("l"==ia){var Ja;Ja=0+ji(a,a.f);Ja+=ji(a,a.M);(Ja+=ji(a,a.D))||a.j("no breakpoints")}else if("n"==ia)a.ta=Lh(a,x),a.j("break after "+a.ta+" instruction(s)");else if(void 0===x)a.j("missing breakpoint address");else{var P=Y();if("*"!=x&&(P=Yh(a,x,!0),!P))break a;"c"==ia?null==P.F?(Ph(a),a.j("all breakpoints cleared")):hi(a,a.f,P)||hi(a,a.M,P)||hi(a,a.D,P)||a.j("breakpoint missing: "+J(a,P.F)):null!=P.F&&(bi(a,P,C),"p"==ia?a.nb(a.f, P):"r"==ia?a.nb(a.M,P):"w"==ia?a.nb(a.D,P):a.j("unknown breakpoint command: "+ia))}}}break;case "c":a.Ra&&(a.Ra.value="");break;case "d":a:{var hb,La=g[0],la=g[1],Ma=g[2],Ni=g[3];if("?"==la){var ib="";for(hb in Ab)a.Na[hb]&&(ib&&(ib+=","),ib+=hb);ib+=",state,symbols";a.j("dump memory commands:");a.j("\tdb [a] [#] dump # bytes at address a");a.j("\tdw [a] [#] dump # words at address a");a.j("\tdd [a] [#] dump # dwords at address a");a.j("\tdh [#] [#] dump # instructions from history"); ib.length&&a.j("dump extension commands:\n\t"+ib)}else if("state"==la){var zg=vi(a.C,!0);"console"==Ma?console.log(zg):(a.Ra&&(a.Ra.value=""),a.j(zg))}else if("symbols"==la)for(var Jd=0;Jdma.length&&(a.j("note: only "+ma.length+" available"),Z=ma.length);fa-=Z;0>fa&&(null==ma[ma.length-1].F?(Z=fa+Z,fa=0):fa+=ma.length);var Ld=[];"call"==Eg&&(Nb=1E5,Ld=["CALL"]);for(void 0!==Dg&&a.j(Z+" instructions earlier:");0=ma.length&&(fa=0);a.tb=Z;Gg++;Nb--}}Gg||(a.j("no "+Fg+"history available"),a.tb=void 0)}else{var kb=Yh(a,la);if(kb){var Pb=0,Md=!1,Nd="ds"==La;Ma&&(Md=!0,"l"==Ma.charAt(0)&&(Md=!1,Ma=Ma.substr(1)||Ni),Pb=Lh(a,Ma)>>>0,65536Fc?String.fromCharCode(Fc):"."}Na&&(Na+="\n");Na=Nd?Na+(Oa+","):Na+(la+" "+Oa+(0==Qb?" "+Jg:""))}Na&&a.j(Na);a.lb=kb}}}}break;case "e":if("else"==g[0])break;var nb,Pd,Qd,Rd,Sd=g[0],Td=g[1];"eb"==Sd?(nb=1,Pd=255,Qd=a.Fb,Rd=a.Xb):"e"==Sd||"ew"==Sd?(nb=2,Pd=65535,Qd=a.na,Rd=a.hb):Td=null;if(null==Td)a.j("edit memory commands:"),a.j("\teb [a] [...] edit bytes at address a"), +La;if("dh"==La){var Dg=la,Eg=Ma,Fg="",Gg=0,fa=a.ba,ma=a.H;if(ma.length){var Z=+Dg||a.tb,Nb=+Eg||10;isNaN(Z)?Z=Nb:Fg="more ";Z>ma.length&&(a.j("note: only "+ma.length+" available"),Z=ma.length);fa-=Z;0>fa&&(null==ma[ma.length-1].F?(Z=fa+Z,fa=0):fa+=ma.length);var Ld=[];"call"==Eg&&(Nb=1E5,Ld=["CALL"]);for(void 0!==Dg&&a.j(Z+" instructions earlier:");0=ma.length&&(fa=0);a.tb=Z;Gg++;Nb--}}Gg||(a.j("no "+Fg+"history available"),a.tb=void 0)}else{var kb=Yh(a,la);if(kb){var Pb=0,Md=!1,Nd="ds"==La;Ma&&(Md=!0,"l"==Ma.charAt(0)&&(Md=!1,Ma=Ma.substr(1)||Ni),Pb=Lh(a,Ma)>>>0,65536Fc?String.fromCharCode(Fc):"."}Na&&(Na+="\n");Na=Nd?Na+(Oa+","):Na+(la+" "+Oa+(0==Qb?" "+Jg:""))}Na&&a.j(Na);a.lb=kb}}}}break;case "e":if("else"==g[0])break;var nb,Pd,Qd,Rd,Sd=g[0],Td=g[1];"eb"==Sd?(nb=1,Pd=255,Qd=a.Fb,Rd=a.Xb):"e"==Sd||"ew"==Sd?(nb=2,Pd=65535,Qd=a.na,Rd=a.hb):Td=null;if(null==Td)a.j("edit memory commands:"),a.j("\teb [a] [...] edit bytes at address a"), a.j("\tew [a] [...] edit words at address a");else{var Gc=Yh(a,Td);if(Gc)for(var Hc=2;HcWd;){for(var Pa=null,Si=256;65536>Vb.F>>>0;){Xd.F=a.na(Vb,2);if(null==Vb.F||!Si--)break; if(!(Xd.F&1)){for(var Ti=a,Ic=Xd,Lg=null,Wb=Ic.F,Mg=Wb,Yd=1;6>=Yd&&Wb;Yd++){if(2\nLicense: GPL version 3 or later ");this.j("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;ba[1];a=a[2];this.ca=!0;this.w.ha=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.b&&(Ii(this,this.b,b,c,a),this.oa(),this.b.sb());this.O&&(Fi(this,b),b.clear());!c&&this.A&&(this.A.clear(),delete this.A);this.C=0}; -function Fi(a,b){if(Ga("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.3"};d.url=a.$;d.user=c;d.type="bug";d.data=b;Da("http://www.pcjs.org/api/v1/report",d,!0)}} +function Fi(a,b){if(Ga("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.3"};d.url=a.ba;d.user=c;d.type="bug";d.data=b;Da("http://www.pcjs.org/api/v1/report",d,!0)}} function vi(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new N(a,"1.30.3"),g=new N(a,"1.30.3","validate"),h=Ba();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Fa&&(c&&a.b.fa(),d=a.b.Fa(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.w.ha=!1,!1===d&&(e=null)));for(var h=rb(a.id),l=0;l(b.J+=a))){for(var e=0;e(b.J+=a))){for(var e=0;e>8&255,d.K[f++]=e[c]>>16&255,d.K[f++]=e[c]>>24&255;else d.K=g;d.W= function v(){return"http://"+(window?window.location.host:"www.pcjs.org")}function t(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var va=null;function wa(){if(null==va){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}va=a}return va} function ya(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function za(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Aa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var Ba={init:[],show:[],exit:[]},Ca=!1,Da=!1,Ea=!0; function Fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ga(a){Ba.init.push(a)}function Ha(a){if(Ea)try{for(var b=0;bb?this.ya=this.id:(this.oa=this.id.substr(0,b),this.ya=this.id.substr(b+1));this[a]=c;this.j={ready:!1,Ea:!1,rb:!1,O:!1,error:!1};this.kb=null;this.j.error=!1;this.o={};this.F=null;y.push(this)}var Ka=void 0,La={}; +Fa(Aa("Opera")||Aa("iOS")?"onunload":"onbeforeunload",function(){Ha(Ba.exit)});function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ob=b.comment;this.mc=b;b=this.id.indexOf(".");0>b?this.ya=this.id:(this.oa=this.id.substr(0,b),this.ya=this.id.substr(b+1));this[a]=c;this.j={ready:!1,Ea:!1,rb:!1,N:!1,error:!1};this.kb=null;this.j.error=!1;this.o={};this.F=null;y.push(this)}var Ka=void 0,La={}; if(window){Ka||(Ka=window.location.search.substr(1));for(var Ma,Na=/\+/g,Oa=/([^&=]+)=?([^&]*)/g;Ma=Oa.exec(Ka);)La[decodeURIComponent(Ma[1].replace(Na," "))]=decodeURIComponent(Ma[2].replace(Na," "))}function Pa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} function z(a,b){b||(b=x);a.prototype=Pa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Qa=window.PCjs.Machines||(window.PCjs.Machines={}),y=window.PCjs.Components||(window.PCjs.Components=[])}else Qa={},y=[];function Ra(a,b,c){Qa[a]&&b&&(Qa[a][b]=c)}function A(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.vc,a]}z(Ya);var Za=7;function $a(a,b){return a.b[b]&&a.b[b][1]}h=Ya.prototype;h.reset=function(){this.stop()}; @@ -93,24 +93,24 @@ function I(a,b,c,d,e,f){this.g=a;this.id=dc+=2;this.a=null;this.Ka=b;this.pb=c;t 2);for(f=0;f>2),b=0;b>8,c)},M:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},aa:function(a,b){a&1&&J(this.g,b,64);b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},ra:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.va=!0},D:function(a,b){return this.I(a,b)},R:function(a,b){return this.Vb(a,b)},pa:function(a,b,c){this.l?this.f(a,b,c):this.Hb(a,b,c)},ta:function(a,b,c){this.l?this.f(a,b,c):this.bc(a,b,c)},C:function(a){return this.o[a]},J:function(a){return this.o[a]},N:function(a,b){a&1&&J(this.g,b,64);return this.c.getUint16(a,!0)},$:function(a,b){a&1&&J(this.g,b,64);return this.s[a>>1]},oa:function(a,b){this.o[a]=b;this.va=!0},qa:function(a,b){this.o[a]=b;this.va=!0},sa:function(a,b,c){a&1&&J(this.g, +b>>8);this.va=!0},D:function(a,b){return this.I(a,b)},R:function(a,b){return this.Vb(a,b)},pa:function(a,b,c){this.l?this.f(a,b,c):this.Hb(a,b,c)},ta:function(a,b,c){this.l?this.f(a,b,c):this.bc(a,b,c)},C:function(a){return this.o[a]},J:function(a){return this.o[a]},O:function(a,b){a&1&&J(this.g,b,64);return this.c.getUint16(a,!0)},$:function(a,b){a&1&&J(this.g,b,64);return this.s[a>>1]},oa:function(a,b){this.o[a]=b;this.va=!0},qa:function(a,b){this.o[a]=b;this.va=!0},sa:function(a,b,c){a&1&&J(this.g, c,64);this.c.setUint16(a,b,!0);this.va=!0},ua:function(a,b,c){a&1&&J(this.g,c,64);this.s[a>>1]=b;this.va=!0}};function Ab(a,b,c){a.F=b;a.i=a.m=0;c&&((a.i=c.i)&&lc(a,mc,!1),(a.m=c.m)&&nc(a,mc,!1))}function nc(a,b,c){c&&a.m||(a.Gb=!a.l&&b[1]||a.f,a.qb=!a.l&&b[3]||a.A);if(c||void 0===c)a.Hb=b[1]||a.f,a.bc=b[3]||a.A}function lc(a,b,c){c&&a.i||(a.Ab=b[0]||a.v,a.V=b[2]||a.w);if(c||void 0===c)a.I=b[0]||a.v,a.Vb=b[2]||a.w}function gc(a,b){b||(b=oc);lc(a,b,void 0);nc(a,b,void 0)} -var oc=[],jc=[I.prototype.M,I.prototype.ra,I.prototype.aa,I.prototype.ya],mc=[I.prototype.D,I.prototype.pa,I.prototype.R,I.prototype.ta];if(Xa)var ic=[I.prototype.C,I.prototype.oa,I.prototype.N,I.prototype.sa],hc=[I.prototype.J,I.prototype.qa,I.prototype.$,I.prototype.ua]; +var oc=[],jc=[I.prototype.M,I.prototype.ra,I.prototype.aa,I.prototype.ya],mc=[I.prototype.D,I.prototype.pa,I.prototype.R,I.prototype.ta];if(Xa)var ic=[I.prototype.C,I.prototype.oa,I.prototype.O,I.prototype.sa],hc=[I.prototype.J,I.prototype.qa,I.prototype.$,I.prototype.ua]; function pc(a,b){x.call(this,"CPU",a,pc);var c=a.multiplier||1;this.hb=a.cycles||b;this.sa=c;this.xb=Math.round(this.hb/1E4)/100;this.Ha=this.xb*this.sa;this.j.P=!1;this.j.Eb=!1;this.j.Va=a.autoStart;this.j.gb=!1;this.eb=this.Ia=0;this.fb=a.csStart;this.Ra=a.csInterval;this.Sa=a.csStop;this.J=[];this.Tb=this.od.bind(this);F(this)}z(pc);var qc=["power","reset"];h=pc.prototype; h.ia=function(a,b,c,d){this.l=a;this.g=b;this.F=d;this.A=a.A;for(b=0;b=a.Ia&&(a.Ia+=a.Ra,c=!0);0<=a.Sa&&a.Sa<=uc(a)&&(a.Ra=a.Sa=-1,tc(a),G(a),c=!0);c&&a.T(uc(a)+" cycles: checksum="+m(a.eb))}} -h.Z=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.o[b]=c,!0;case "run":return this.o[b]=c,c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.j.O)a=!0;else{var b=null,c,k=A(a.id);for(c=0;ca.pa/a.Ha&&(b=1);a.sa=b;b=a.xb*a.sa;if(a.Ha!=b){a.Ha=b;b=a.Ha.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.T("target speed: "+b)}c&&a.l&&xc(a.l)}ob(a,a.aa);a.aa=0;a.$=ra();a.qa=0;wc(a)}function Rb(a,b){var c=a.J.length;a.J.push([-1,b]);return c}function Tb(a,b,c,d){0<=b&&ba.J[b][0])&&(c=a.hb*a.sa/1E3*c|0,a.j.P&&(c+=yc(a)),a.J[b][0]=c)} function nb(a,b){for(var c=a.J.length-1;0<=c;c--){var d=a.J[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function yc(a,b){var c=a.ra-=a.a;a.a=a.I=0;b&&(a.ra=0);return c} h.od=function(){if(this.j.P){this.yb>=this.hb&&wc(this,!0);this.Ua=0;this.cb=ra();if(this.qa){var a=this.cb-this.qa;a>this.Qb&&(this.$+=a,this.$>this.cb&&(this.$=this.cb))}try{do{for(var b,c=this.j.gb?1:this.ib,d=this.J.length-1;0<=d;d--){var e=this.J[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.ob(b)}catch(f){if("number"!=typeof f)throw f;}b=yc(this,!0);this.Ua+=b;this.aa+=b;pb(this,b);nb(this,b);this.Ta-=b;if(0>=this.Ta){this.Ta+=this.ib;15<=++this.Rb&&(this.xa(),this.Rb=0);break}}while(this.j.P)}catch(f){G(this); this.l&&this.l.stop(ra(),uc(this));Wa(this,f.stack||f.message);return}if(this.j.P){a=setTimeout;b=this.Tb;this.qa=ra();c=this.Qb;this.Ua&&(c=Math.round(c*this.Ua/this.ib));c-=this.qa-this.cb;if(d=this.qa-this.$)this.pa=Math.round(this.aa/(10*d))/100,864E5<=d&&(this.ua=0,vc(this));if(0>c||this.pac&&(this.$-=c),c=0;this.yb+=this.Ua;this.qa+=c;a(b,c)}}}; function mb(a){var b;a.j.error?(a.T(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.P)a.T(a.toString()+" busy");else{vc(a);a.j.P=!0;a.j.Eb=!0;if(b=a.o.run)b.textContent="Halt";a.l&&a.l.start(a.$,uc(a));setTimeout(a.Tb,0)}}h.ob=function(){return 0};function G(a){var b=!1;if(a.j.P){yc(a);ob(a,a.aa);a.aa=0;a.j.P=!1;if(b=a.o.run)b.textContent="Run";a.l&&a.l.stop(ra(),uc(a));b=!0}a.j.complete=void 0;return b} -function zc(a){this.La=+a.model||1170;this.Mb=a.addrReset||0;pc.call(this,a,6666667);this.decode=1120==this.La?Ac.bind(this):Bc.bind(this);Cc(this);this.ta=0;this.N=null;this.j.complete=!1}z(zc,pc);h=zc.prototype;h.reset=function(){this.status("model "+this.La);this.j.P&&G(this);Cc(this);sc(this);this.j.error=!1;this.parent.reset.call(this)}; +function zc(a){this.La=+a.model||1170;this.Mb=a.addrReset||0;pc.call(this,a,6666667);this.decode=1120==this.La?Ac.bind(this):Bc.bind(this);Cc(this);this.ta=0;this.O=null;this.j.complete=!1}z(zc,pc);h=zc.prototype;h.reset=function(){this.status("model "+this.La);this.j.P&&G(this);Cc(this);sc(this);this.j.error=!1;this.parent.reset.call(this)}; function Cc(a){a.m=65536;a.f=32768;a.i=65535;a.s=32768;a.B=15;a.h=[0,0,0,0,0,0,0,a.Mb];a.Ga=[0,0,0,0,0,0];a.na=[0,0,0,0];a.v=0;a.ab=0;a.lc=[4,2,0,1];a.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.X=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.$a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0];a.Yb=[0,0,0,0,0,0,0,0];a.Xb=0;a.u=0;a.C=a.D=0;a.c=a.b=a.wb=0;a.Ja=-1;lb(a)}function lb(a){a.mb=255;a.ea=0;a.Db=0;a.w=0;a.Ca=0;a.Cb=0;a.Fa=0;a.Ba=0;a.bb=0;a.Pb=262143;a.N=null;a.g&&Xb(a)}function Xb(a){a.Ba?(a.R=65536,a.M=a.kc,a.V=a.ld,a.qb=a.de,Cb(a.g,a.Fa&16?22:18)):(a.R=0,a.M=a.jc,a.V=a.Wb,a.qb=a.cc,Cb(a.g,16))}h.Lb=function(){return 0};h.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.ua,this.sa]);a.set(2,Ob(this.g));return a.data()}; +0,0,0,0,0,0,0,0,0];a.Yb=[0,0,0,0,0,0,0,0];a.Xb=0;a.u=0;a.C=a.D=0;a.c=a.b=a.wb=0;a.Ja=-1;lb(a)}function lb(a){a.mb=255;a.ea=0;a.Db=0;a.w=0;a.Ca=0;a.Cb=0;a.Fa=0;a.Ba=0;a.bb=0;a.Pb=262143;a.O=null;a.g&&Xb(a)}function Xb(a){a.Ba?(a.R=65536,a.M=a.kc,a.V=a.ld,a.qb=a.de,Cb(a.g,a.Fa&16?22:18)):(a.R=0,a.M=a.jc,a.V=a.Wb,a.qb=a.cc,Cb(a.g,16))}h.Lb=function(){return 0};h.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.ua,this.sa]);a.set(2,Ob(this.g));return a.data()}; h.restore=function(a){var b=a[1];this.ua=b[1];vc(this,b[3]);a:{b=this.g;a=a[2];var c;for(c=0;c>14&3;c=a.B>>14&3;a.v!=c&&(a.na[c]=a.h[6],a.h[6]=a.na[a.v]);a.B=b;a.u|=2}function R(a,b){a.u&128||(a.s=a.i=b,a.f=0)}function Fc(a,b,c){a.u&128||(a.s=a.i=a.m=b,a.f=c||0)}function Gc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.f=(c^b)&(d^b))}function Hc(a,b){a.u&128||(a.s=a.i=a.m=b,a.f=a.s^a.m>>1)}function Ic(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.f=(c^d)&(d^b))} function K(a,b,c,d){if(!a.ta){var e=!1;0>a.Ja?a.Ja=Yb(a):a.v||(b=4,e=!0);a.w&57344||(a.Ca=63222,a.Cb=b);a.v=0;var f=a.V(b|a.R),g=a.V(b+2&65535|a.R);Zb(a,g&-12289|a.Ja>>2&12288);e&&(a.ea|=4,a.h[6]=4);Jc(a,a.Ja);Jc(a,a.h[7]);Q(a,f);a.u&=~c;a.Ja=-1;a.u|=8;if(-18!=d)throw b;}}function Kc(a){var b=Lc(a),c=Lc(a)&-1793;a.B&49152&&(c=c&-225|a.B&63712);Q(a,b);Zb(a,c);a.u&=-17} function Lb(a,b){var c=b>>13&31;31>c&&a.Fa&32&&(b=a.$a[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b} @@ -123,7 +123,7 @@ h.kc=function(a,b,c){return Mc(this,Pc(this,a,b,c),c)};h.Wb=function(a){return M function Rc(a,b,c,d){a.w&57344||(a.Ca=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Pc(a,b,e,4),c&65536||(e&=65535),a.v=a.B>>12&3,e=Mc(a,e|c&65536,4),a.v=a.B>>14&3,Nb(a.g,e,d)):6!=e||(a.B>>2&12288)===(a.B&12288)?a.h[e]=d:a.na[a.B>>12&3]=d}function Sc(a,b){b>>=6;var c=a.D=b&7;(b=a.C=(b&56)>>3)?(c=a.M(b,c,3),a=Kb(a.g,c)):a=a.h[c]&255;return a}function Tc(a,b){b>>=6;var c=a.D=b&7;return(b=a.C=(b&56)>>3)?Mb(a.g,a.M(b,c,2)):a.h[c]}function Uc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Pc(a,b,c,8)} function Vc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.M(b,c,3),a=Kb(a.g,c)):a=a.h[c]&255;return a}function Wc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?Mb(a.g,a.M(b,c,2)):a.h[c]}function S(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.wb=a.M(b,e,7),Nc(a,e,d.call(a,c,Kb(a.g,e)))):a.h[e]=a.h[e]&65280|d.call(a,c,a.h[e]&255)}function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.M(b,e,6),Nb(a.g,e,d.call(a,c,Mb(a.g,e)))):a.h[e]=d.call(a,c,a.h[e])} function Xc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?Nc(a,a.M(b,e,5),c):a.h[e]=c?a.h[e]&~d|c<<24>>24&d:a.h[e]&~d;return c}function Yc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?Nb(a.g,a.M(b,d,4),c):a.h[d]=c&65535;return c}function V(a,b,c){c&&(Q(a,a.h[7]+(b<<24>>23)),a.a-=2);a.a-=3} -h.ob=function(a){this.j.complete=!0;var b=a?this.j.Eb?0:1:-1;this.j.Eb=!1;this.ra=this.a=a;do{if(this.u){this.u&112&&(this.u&32?K(this,168,32,-7):this.u&16?K(this,12,16,-9):this.u&64&&K(this,4,64,-8));if(a=this.u&7){a=!1;if(this.u&2){this.u&=-3;var c=160,d=(this.Db&224)>>5,e=this.N&&this.N.Ma>d?this.N:null;e&&(c=e.qd,d=e.Ma);d>(this.B&224)>>5?(this.u&4&&(Ec(this,2),this.u&=-5),K(this,c,0,-18),d=!0):d=!1;if(d){if(e)if(a=e,e=this.N,e==a)this.N=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e= +h.ob=function(a){this.j.complete=!0;var b=a?this.j.Eb?0:1:-1;this.j.Eb=!1;this.ra=this.a=a;do{if(this.u){this.u&112&&(this.u&32?K(this,168,32,-7):this.u&16?K(this,12,16,-9):this.u&64&&K(this,4,64,-8));if(a=this.u&7){a=!1;if(this.u&2){this.u&=-3;var c=160,d=(this.Db&224)>>5,e=this.O&&this.O.Ma>d?this.O:null;e&&(c=e.qd,d=e.Ma);d>(this.B&224)>>5?(this.u&4&&(Ec(this,2),this.u&=-5),K(this,c,0,-18),d=!0):d=!1;if(d){if(e)if(a=e,e=this.O,e==a)this.O=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e= d}a=!0}}else this.u&1&&this.u++;a=a&&0>b}if(a)break}this.u=this.u&7|this.B&16;this.decode(Dc(this))}while(0>1|b<<16;Hc(this,a);return a&65535}function dd(a,b){a=b&128|b>>1|b<<8;Hc(this,a<<8);return a&255}function ed(a,b){a=b&~a;R(this,a);return a}function fd(a,b){a=b&~a;R(this,a<<8);return a}function gd(a,b){a|=b;R(this,a);return a}function hd(a,b){a|=b;R(this,a<<8);return a}function id(a,b){a=~b|65536;Fc(this,a);return a&65535}function jd(a,b){a=~b|256;Fc(this,a<<8);return a&255} function kd(a,b){a=b-a;this.u&128||(this.s=this.i=a,this.f=b&(b^a));return a&65535}function ld(a,b){a=b-a;var c=a<<8;b<<=8;this.u&128||(this.s=this.i=c,this.f=b&(b^c));return a&255}function md(a,b){a=b+a;this.u&128||(this.s=this.i=a,this.f=a&(b^a));return a&65535}function nd(a,b){a=b+a;var c=a<<8;this.u&128||(this.s=this.i=c,this.f=c&(b<<8^c));return a&255}function od(a,b){a=-b;Fc(this,a,a&b&32768);return a&65535}function pd(a,b){a=-b;Fc(this,a<<8,(a&b&128)<<8);return a&255} @@ -158,30 +158,30 @@ af.prototype.ia=function(a,b,c,d){this.g=b;this.a=c;this.F=d;bf(this)};af.protot af.prototype.reset=function(){if(this.f){for(var a=this.g,b=this.l,c=this.i,d=b&a.l,b=b>>>a.c;0=b.length)break;for(var k=k+2,n=b[k++]&255|(b[k++]&255)<<8,p=b[k++]&255|(b[k++]&255)<<8,l=l+((n&255)+(n>>8)+(p&255)+(p>>8)),u=k,w=n-=6;0=b.length)break;l+=b[k++]&255;if(l&255)break;if(w)for(;w--;)a.a.Za(p++,b[u++]&255);else p&1?G(a.a):null==d&&(d=p);g=!0}else k++;else k+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g=b)a.preventDefault&&a.preventDefault(),64e.w&&(e.w-=32),e.b|=128,e.b&64&&Sb(e.a,e.$))});this.aa=Ub(52,4);this.N=Rb(this.a,function(){e.c|=128;e.c&64&&Sb(e.a,e.aa)});cb(b,this,ff);F(this)}; +h.ia=function(a,b,c,d){this.l=a;this.g=b;this.a=c;this.F=d;var e=this;this.aa=Ub(48,4);this.J=Rb(this.a,function(){e.b&128||!e.i.length||(e.w=e.i.shift()&255,e.O&&97<=e.w&&122>e.w&&(e.w-=32),e.b|=128,e.b&64&&Sb(e.a,e.aa))});this.M=Ub(52,4);this.$=Rb(this.a,function(){e.c|=128;e.c&64&&Sb(e.a,e.M)});cb(b,this,ff);F(this)}; h.Nb=function(){if(!this.v){var a=rc(this.l,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.ya)return;b=pa(b[1]);if(this.v=Sa(b)){var d=this.v.exports;if(d){var e=d.connect;e&&e.call(this.v);if(this.A=d.receiveData){this.status(this.oa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.ka=function(a,b){if(!b)if(this.Nb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -h.ja=function(a){return a?this.save():!0};h.reset=function(){gf(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return gf(this)};function gf(a){a.w=0;a.b=0;a.c=128;a.i=[];return!0}h.Bb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.J||8,c=a-this.s%a,this.J&&(b=" ".slice(0,c)));this.D&&!this.s&&c&&(b=String.fromCharCode(this.D)+b);this.f.value+=b;this.f.scrollTop=this.f.scrollHeight;this.s+=c}else if(null!=this.m){if(10==a||1024<=this.m.length)this.T(this.m), -this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.c&=-129;Tb(this.a,this.N,1E3/Math.round(this.I/10))}};var hf={},ff=(hf[65392]=[null,null,Z.prototype.Tc,Z.prototype.Md,"RCSR"],hf[65394]=[null,null,Z.prototype.Sc,Z.prototype.Ld,"RBUF"],hf[65396]=[null,null,Z.prototype.nd,Z.prototype.fe,"XCSR"],hf[65398]=[null,null,Z.prototype.md,Z.prototype.ee,"XBUF"],hf);Ga(function(){for(var a=E(document,"pdp11","serial"),b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.I||8,c=a-this.s%a,this.I&&(b=" ".slice(0,c)));this.D&&!this.s&&c&&(b=String.fromCharCode(this.D)+b);this.f.value+=b;this.f.scrollTop=this.f.scrollHeight;this.s+=c}else if(null!=this.m){if(10==a||1024<=this.m.length)this.T(this.m), +this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.c&=-129;Tb(this.a,this.$,1E3/Math.round(this.R/10))}};var hf={},ff=(hf[65392]=[null,null,Z.prototype.Tc,Z.prototype.Md,"RCSR"],hf[65394]=[null,null,Z.prototype.Sc,Z.prototype.Ld,"RBUF"],hf[65396]=[null,null,Z.prototype.nd,Z.prototype.fe,"XCSR"],hf[65398]=[null,null,Z.prototype.md,Z.prototype.ee,"XBUF"],hf);Ga(function(){for(var a=E(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.o[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.o[b]=c,c.onclick=function(){var a= d.o.listTapes;a&&lf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.D){c.parentNode.removeChild(c);break}this.o[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;lf(d,q(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.o[b]=c,!0}return!1}; h.ia=function(a,b,c,d){this.l=a;this.g=b;this.a=c;this.F=d;this.J=mf(a);var e=this;if((this.c=rc(this.l,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){t("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.M=Ub(56,4);this.R=Rb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.wc.indexOf("/api/v1/dump")&&(e=la(c),f="json"==e||"gz"==e?encodeURI(c):v()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!r(f,null,!0,function(e,f,g){var k=0>g&&a.l&&!a.l.j.O;g?a.G('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ra(a.oa,e,f),(e=ta(e,f))&&vf(a,b,c,d,e.K,e.ga,e.fa)); +function uf(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),vf(a,b,c,d,e),a.s="?");sf(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=la(c),f="json"==e||"gz"==e?encodeURI(c):v()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!r(f,null,!0,function(e,f,g){var k=0>g&&a.l&&!a.l.j.N;g?a.G('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ra(a.oa,e,f),(e=ta(e,f))&&vf(a,b,c,d,e.K,e.ga,e.fa)); a.j.Ea=!1;a.m&&(a.m--,a.m||F(a));sf(a)})}function pf(a,b,c,d){if((a=a.o.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.U);for(d=0;dc.indexOf("/api/v1/dump")&&(b=la(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"):ma(c,"/")&&(d="dir"),f=v()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.vb?"":e)+"&format=json"));return!!r(f, null,!0,function(b,c,d){Cf(a,b,c,d)})} -function Cf(a,b,c,d){var e=null;a.c=!1;var f=0>d&&a.l&&!a.l.j.O;if(d)a.controller.G('Unable to load disk "'+a.wa+'" (error '+d+": "+b+")",f);else{Ra(a.controller.oa,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ +function Cf(a,b,c,d){var e=null;a.c=!1;var f=0>d&&a.l&&!a.l.j.N;if(d)a.controller.G('Unable to load disk "'+a.wa+'" (error '+d+": "+b+")",f);else{Ra(a.controller.oa,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)t(k[0]);else{a.U=k.length;a.Y=k[0].length;a.S=k[0][0].length;var l=k[0][0][0];a.ha=l&&l.length||512;for(d=c=0;d>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var u=l.data;if(void 0===u){var w=l.bytes;if(void 0!==w&&w.length){for(var D=n<<2,U=w.length;U>2,e=Array(d),f=0;f>4;if(!(this.L&128)){var b;a=!0;var c=this.b[(this.L&768)>>8],d,e,f,g;this.L&=-2;switch(this.L&14){case 4:this.c&8&&(this.L&=63);this.m=c.status|this.i&64;break;case 6:1==(this.c&3)&&(b=this.c&65408,c=(this.c&16)<<2,this.i=this.c&4?this.i+b:this.i-b,this.c=this.i=this.i&65408|c);break;case 8:this.m=this.i;break;case 12:b=this.zc;case 10:b||(b=this.ud),d=this.c>>7,e=this.c&64?1:0,f=this.c&63,d>=c.U||f>=c.S?this.L|=37888:(g=(this.w& 63)<<16|this.v,a=65536-this.m&65535,a=b.call(this,c,d,e,f,a,g,this.hc.bind(this)))}a&&(this.L|=129,this.L&64&&Sb(this.a,this.D))}};h.Uc=function(){return this.v};h.Nd=function(a){this.v=a&65534};h.Xc=function(){return this.c};h.Qd=function(a){this.c=a};h.Yc=function(){return this.m};h.Rd=function(a){this.m=a};h.Vc=function(){return this.w};h.Od=function(a){this.w=a&63}; var Pf={},Kf=(Pf[63744]=[null,null,N.prototype.Wc,N.prototype.Pd,"RLCS"],Pf[63746]=[null,null,N.prototype.Uc,N.prototype.Nd,"RLBA"],Pf[63748]=[null,null,N.prototype.Xc,N.prototype.Qd,"RLDA"],Pf[63750]=[null,null,N.prototype.Yc,N.prototype.Rd,"RLMP"],Pf[63752]=[null,null,N.prototype.Vc,N.prototype.Od,"RLBE"],Pf); -function Qf(a,b,c){x.call(this,"Computer",a,Qf);this.j.O=!1;Rf(this,b);this.w=rc(this,"autoPower",a);this.l=0;this.M=a.busWidth||a.buswidth;this.b=Sf;this.s=null;this.i=this.I=!1;this.N=rc(this,"url")||"";(Math.random()+.1).toString(36);this.c=Tf(this);if(this.a=Ta("CPU",this.id)){this.F=Ta("Debugger",this.id);this.g=new vb({id:this.oa+".bus",busWidth:this.M},this.a,this.F);var d,e=A(this.id);if((this.A=Ta("Panel",this.id))&&this.A.Wa)for(b=0;b\nLicense: GPL version 3 or later ");this.T("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bSf){if(Uf(d,this.s)){this.f=new O(this,"1.30.3","failsafe");Uf(this.f)&&(Zf(this,d),a=2,$f(this.f));this.f.set("timestamp",sa());ag(this.f);var e=this.b&&!this.i;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Yf(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Uf(d,g):("error"== f&&"no machine state"!=g?(this.G("Error: "+g),"unable to verify user"==g&&(za("user",""),this.c=null)):this.T(f+": "+g),$f(d),Uf(d)?(c=Yf(d),e=!0):c=!1))}e&&Xf(this,c?d:null)}else 2==a&&d.clear()}else Xf(this);delete this.s;delete this.v}e=A(this.id);for(f=0;fa[1];a=a[2];this.R=!0;this.j.O=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.a&&(bg(this,this.a,b,c,a),this.xa(),this.a.Va());this.D&&(Zf(this,b),b.clear());!c&&this.f&&(this.f.clear(),delete this.f);this.l=0}; -function Zf(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.3"};d.url=a.N;d.user=c;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} -function dg(a,b,c){var d,e="none";if(a.l)return null;a.l--;var f=new O(a,"1.30.3"),g=new O(a,"1.30.3","validate"),k=sa();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ja&&(c&&G(a.a),d=a.a.ja(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.j.O=!1,!1===d&&(e=null)));for(var k=A(a.id),l=0;la[1];a=a[2];this.R=!0;this.j.N=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.a&&(bg(this,this.a,b,c,a),this.xa(),this.a.Va());this.D&&(Zf(this,b),b.clear());!c&&this.f&&(this.f.clear(),delete this.f);this.l=0}; +function Zf(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.3"};d.url=a.O;d.user=c;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} +function dg(a,b,c){var d,e="none";if(a.l)return null;a.l--;var f=new O(a,"1.30.3"),g=new O(a,"1.30.3","validate"),k=sa();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ja&&(c&&G(a.a),d=a.a.ja(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.j.N=!1,!1===d&&(e=null)));for(var k=A(a.id),l=0;l(b.w+=a))){for(var e=0;e