Fixed unary operators applied to bracketed expressions
This commit is contained in:
parent
1a8c1306d4
commit
470bd1d69e
6 changed files with 896 additions and 878 deletions
|
|
@ -67,22 +67,22 @@ timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,bu
|
|||
function cc(a,b){r.call(this,"Panel",a,512);this.K=this.L=0;this.V=b;this.i=this.I=this.j=this.w=0;this.M=this.N=-1;this.O=this.R=this.F=!1;this.T=dc;this.C={};this.b={START:[1,1,!0,!1,this.ec],STEP:[1,1,!1,!1,this.fc],ENABLE:[1,1,!1,!1,this.$b],CONT:[1,1,!0,!1,this.Yb],DEP:[0,0,!0,!1,this.Zb],EXAM:[1,1,!0,!1,this.ac],LOAD:[1,1,!0,!1,this.cc],TEST:[0,0,!0,!1,this.bc]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.dc,a];this.D=this.v=this.G=this.H=null;this.exports={hold:this.Vb,toggle:this.oc,reset:this.kc,
|
||||
set:this.nc};Mb(this)}ja(cc,r);m=cc.prototype;m.reset=function(a){this.stop();a&&ec(this,this.w=0)};
|
||||
m.ta=function(a,b,c,d){if(this.H&&this.H.ta(a,b,c,d)||this.v&&this.v.ta(a,b,c,d)||this.D&&this.D.ta(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[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):r.prototype.ta.call(this,a,b,c,d)}};m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;hc(this);ic(this)};m.Ba=function(a,b){if(!b)if(this.V&&jc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.j]);return a.data()};
|
||||
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):r.prototype.ta.call(this,a,b,c,d)}};m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;hc(this);ic(this)};m.Ba=function(a,b){if(!b)if(this.V&&jc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.save=function(){var a=new G(this);a.set(0,[this.i,this.w,this.j]);return a.data()};
|
||||
m.restore=function(a){if(a=a[0])kc(this,this.i=a[0]),ec(this,this.w=a[1]),lc(this,a[2]);return!0};m.kc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}ic(this);return!0};function mc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function hc(a,b){for(var c in a.C)mc(a,c,null!=b?b:a.C[c])}function nc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ic(a){for(var b in a.b)nc(a,b,a.b[b][1])}
|
||||
m.Vb=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};m.nc=function(a,b){if("SR"==a)return lc(this,oa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,nc(this,a,c[1]),!0):!1};m.oc=function(a){return fc(this,a)?(gc(this,a),!0):!1};function fc(a,b){var c=a.b[b];return c?(nc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=oc&&(a.O=b==pc,a.R=b==qc),!0):!1}
|
||||
function gc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(nc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}m.ec=function(a){a||this.v.A.P||(H(this.v,this.i),this.b[rc]&&this.b[rc][1]&&sc(this.v))};m.fc=function(){};m.$b=function(a){a||this.v.Y()};
|
||||
m.Yb=function(a){if(!a&&!this.v.A.P)if(this.b[rc]&&this.b[rc][1])sc(this.v);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),tc(a,0,null),Ob(a,!1);else try{var b=this.v.$a(1);0<b&&(uc(this.v,b),vc(this.v,b,!0),wc(this.v,b))}catch(c){"number"!=typeof c&&yb(this.v,c.stack||c.message)}this.stop();this.H&&J(this.H)}};m.Zb=function(a){a&&!this.v.A.P&&(this.O&&xc(this),a=ec(this,this.w=this.j),this.T==dc?yc(this.G,this.i,a):this.v.g(this.i,a))};
|
||||
function gc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(nc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}m.ec=function(a){a||this.v.A.P||(I(this.v,this.i),this.b[rc]&&this.b[rc][1]&&sc(this.v))};m.fc=function(){};m.$b=function(a){a||this.v.Y()};
|
||||
m.Yb=function(a){if(!a&&!this.v.A.P)if(this.b[rc]&&this.b[rc][1])sc(this.v);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),tc(a,0,null),Ob(a,!1);else try{var b=this.v.$a(1);0<b&&(uc(this.v,b),vc(this.v,b,!0),wc(this.v,b))}catch(c){"number"!=typeof c&&yb(this.v,c.stack||c.message)}this.stop();this.H&&K(this.H)}};m.Zb=function(a){a&&!this.v.A.P&&(this.O&&xc(this),a=ec(this,this.w=this.j),this.T==dc?yc(this.G,this.i,a):this.v.g(this.i,a))};
|
||||
m.ac=function(a){if(!a&&!this.v.A.P){var b;this.R&&xc(this);this.T==dc?b=zc(this.G,this.i):b=this.v.f(this.i);ec(this,this.w=b)}};m.cc=function(a){a||this.v.A.P||kc(this,this.j)};m.bc=function(a){a?(this.F=!0,hc(this,!0)):(this.F=!1,hc(this),lc(this,0))};m.dc=function(a,b){this.j=a?this.j|1<<b:this.j&~(1<<b)};function xc(a){var b=1,c=a.G.j;a.b[oc]&&a.b[oc][1]||(b=-b);kc(a,a.i&~c|a.i+b&c)}
|
||||
function kc(a,b){a.i=b&a.G.j;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.C[e]=f;d.F||mc(d,e,f)}}}function ec(a,b){a.I=b%D;if(a.N!==a.I){a.N=a.I;b=a.N;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||mc(d,e,f)}}return a.I}function lc(a,b){a.j=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.j&1<<b?1:0;ic(a);return!0}m.stop=function(){kc(this,this.v.i)};
|
||||
function jc(){for(var a=w(document,v,"panel"),b=0;b<a.length;b++){var c=a[b],d=t(c),e=qb(d.id);e||(e=new cc(d,!0));sb(e,c)}}var dc=7,pc="DEP",rc="ENABLE",qc="EXAM",oc="STEP";Ya(jc);function Ac(a,b,c){r.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.j=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new Bc(this);Cc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Mb(this)}ja(Ac,r);m=Ac.prototype;m.reset=function(){};
|
||||
m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,Dc(this));return a.data()};m.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||
m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.save=function(){var a=new G(this);a.set(0,Dc(this));return a.data()};m.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||
function Ec(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,l=16384-(e-k);l>f&&(l=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Ya+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ya){l=h.size-(e-k);l>f&&(l=f);h.Ya=e-h.B+l;e=k+16384;f-=l;g++;continue}}return Fc(Gc,e,f)}e=new Bc(a,e,l,16384,d);Cc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=l}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Hc[d]+" at "+va(b)),!0):Fc(Lc,b,c)}
|
||||
function zc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.w(b&16383,b);a.w--;return b}function yc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.D(c,b&16383,b);a.w--}function Dc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.tb||e.Tb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var l=e[g],p=g+1;p<e.length&&e[p]===l;)p++;k[h++]=p-g;k[h++]=l;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
||||
m.Kb=function(a){if(!this.w)throw this.D&&Pb(this.D,4)&&Qb(this.D,"memory fault on "+K(this.D,a),!0,!0),this.v.Y(),-1;};function Fc(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Gc=1,Lc=2;function Mc(a){r.call(this,"Device",a,256)}ja(Mc,r);m=Mc.prototype;m.Ma=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.D=d;Mb(this)};m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.reset=function(){};
|
||||
m.save=function(){return(new F(this)).data()};m.restore=function(){return!0};Ya(function(){for(var a=w(document,v,"device"),b=0;b<a.length;b++){var c,d=a[b];c=t(d);switch(c.type){case "default":c=new Mc(c),sb(c,d)}}});
|
||||
m.Kb=function(a){if(!this.w)throw this.D&&Pb(this.D,4)&&Qb(this.D,"memory fault on "+L(this.D,a),!0,!0),this.v.Y(),-1;};function Fc(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Gc=1,Lc=2;function Mc(a){r.call(this,"Device",a,256)}ja(Mc,r);m=Mc.prototype;m.Ma=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.D=d;Mb(this)};m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.reset=function(){};
|
||||
m.save=function(){return(new G(this)).data()};m.restore=function(){return!0};Ya(function(){for(var a=w(document,v,"device"),b=0;b<a.length;b++){var c,d=a[b];c=t(d);switch(c.type){case "default":c=new Mc(c),sb(c,d)}}});
|
||||
function Bc(a,b,c,d,e){this.H=a;this.id=Nc+=2;this.B=b;this.Ya=c;this.size=d||0;this.type=e||Oc;this.G=e==Pc;this.b=null;this.f=this.w=this.wb;this.g=this.D=this.Za;this.i=this.v=0;Cc(this);this.tb=this.Tb=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Qc(this,Rc)}else Qc(this)}m=Bc.prototype;m.save=function(){return this.j};m.restore=function(a){return a&&this.size==a.length?(this.j=a,this.tb=!0):!1};function Qc(a,b){b||(b=Sc);Tc(a,b,void 0);Uc(a,b,void 0)}
|
||||
function Tc(a,b,c){c&&a.i||(a.f=b[0]||a.wb);if(c||void 0===c)a.w=b[0]||a.wb}function Uc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Za);if(c||void 0===c)a.D=b[1]||a.Za}m.Ra=function(a,b){b?this.v++||Uc(this,Vc,!1):this.i++||Tc(this,Vc,!1)};function Wc(a,b){b?--a.v||(a.g=a.G?a.Za:a.D):--a.i||(a.f=a.w)}function Cc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Tc(a,Vc,!1),(a.v=c.v)&&Uc(a,Vc,!1))}m.wb=function(a,b){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to read invalid address "+K(this.b,b),!0);this.H.Kb(b);return-1};
|
||||
m.Za=function(a,b,c){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to write "+K(this.b,a)+" to invalid addresses "+K(this.b,c),!0);this.H.Kb(c)};m.ic=function(a){return this.j[a]};m.rc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.tb=!0)};m.gc=function(a,b){if(this.b&&null!=this.B){var c=this.b;Xc(c,this.B+a,2,c.N)&&c.Y(!1)}return this.w(a,b)};m.qc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Xc(d,this.B+b,2,d.K)&&d.Y(!1)}this.G?this.Za(a,0,c):this.D(a,b,c)};
|
||||
function Tc(a,b,c){c&&a.i||(a.f=b[0]||a.wb);if(c||void 0===c)a.w=b[0]||a.wb}function Uc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Za);if(c||void 0===c)a.D=b[1]||a.Za}m.Ra=function(a,b){b?this.v++||Uc(this,Vc,!1):this.i++||Tc(this,Vc,!1)};function Wc(a,b){b?--a.v||(a.g=a.G?a.Za:a.D):--a.i||(a.f=a.w)}function Cc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Tc(a,Vc,!1),(a.v=c.v)&&Uc(a,Vc,!1))}m.wb=function(a,b){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to read invalid address "+L(this.b,b),!0);this.H.Kb(b);return-1};
|
||||
m.Za=function(a,b,c){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to write "+L(this.b,a)+" to invalid addresses "+L(this.b,c),!0);this.H.Kb(c)};m.ic=function(a){return this.j[a]};m.rc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.tb=!0)};m.gc=function(a,b){if(this.b&&null!=this.B){var c=this.b;Xc(c,this.B+a,2,c.N)&&c.Y(!1)}return this.w(a,b)};m.qc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Xc(d,this.B+b,2,d.K)&&d.Y(!1)}this.G?this.Za(a,0,c):this.D(a,b,c)};
|
||||
var Oc=0,Pc=2,Hc=["NONE","RAM","ROM"],Nc=0,Sc=[],Rc=[Bc.prototype.ic,Bc.prototype.rc],Vc=[Bc.prototype.gc,Bc.prototype.qc];
|
||||
function Yc(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.lb=0;this.pb=b;this.ka=c;this.mb=Math.round(this.pb/1E4)/100;this.ga=this.mb*this.ka;this.ob=this.Ja=this.na=this.eb=0;this.A.P=this.A.jb=!1;this.A.fa=a.autoStart;"string"==typeof this.A.fa&&(this.A.fa="true"==this.A.fa);this.A.Va=!1;this.Ha=this.qa=0;this.Ia=+a.csStart;this.pa=+a.csInterval;this.ua=+a.csStop;this.R=[];this.Gb=this.lc.bind(this);this.W=this.M=this.V=this.N=this.L=this.Ga=this.T=this.va=this.qb=this.ba=
|
||||
0;this.Oa=null;Mb(this)}ja(Yc,r);m=Yc.prototype;m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.D=d;this.Oa=a.j;for(a=0;a<Zc.length;a++)(b=this.J[Zc[a]])&&this.H.ta(null,Zc[a],b);Mb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
|
||||
|
|
@ -92,14 +92,14 @@ m.ta=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.
|
|||
case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){gd(d,d.ka<<1,!0)},c.textContent=this.ga.toFixed(2)+"Mhz",!0}return!1};function vc(a,b,c){a.W+=b;c&&(a.V=a.N=0)}function hd(a,b){var c=1;b&&1<a.ka&&a.ba&&(c=a.ba/a.mb);a.ob=Math.round(1E3/id);a.Ja=Math.floor(a.pb/id*c);b||(a.na=a.Ja);a.eb=0}function fd(a){return a.W+a.M+a.V-a.N}function ad(a){a.ba=0;a.qb=0;a.W=a.M=a.V=a.N=0;bd(a);gd(a,1)}
|
||||
function gd(a,b,c){var d=!1;if(void 0!==b){.8>a.ba/a.ga?b=1:d=!0;a.ka=b;b=a.mb*a.ka;if(a.ga!=b){a.ga=b;b=a.ga.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.H&&jd(a.H)}vc(a,a.M);a.M=0;a.L=nb();a.T=0;hd(a);return d}function kd(a,b){for(var c=a.R.length-1;0<=c;c--){var d=a.R[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ld(a){for(var b=[],c=0;c<a.R.length;c++)b.push(a.R[c][0]);return b}
|
||||
function uc(a,b){for(var c=a.R.length-1;0<=c;c--){var d=a.R[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function md(a,b){var c=a.V-=a.N;a.N=0;b&&(a.V=0);return c}
|
||||
m.lc=function(){if(this.A.P){this.eb>=this.pb&&hd(this,!0);this.va=0;this.Ga=nb();if(this.T){var a=this.Ga-this.T;a>this.ob&&(this.L+=a,this.L>this.Ga&&(this.L=this.Ga))}try{do{var b=kd(this,this.A.Va?1:this.Ja);try{this.$a(b)}catch(e){if("number"!=typeof e)throw e;}b=md(this,!0);this.va+=b;this.M+=b;wc(this,b);uc(this,b);this.na-=b;if(0>=this.na){this.na+=this.Ja;++this.qb>=nd&&(this.H&&J(this.H,void 0),this.qb=0);break}}while(this.A.P)}catch(e){this.Y();this.H&&this.H.stop(nb(),fd(this));yb(this,
|
||||
m.lc=function(){if(this.A.P){this.eb>=this.pb&&hd(this,!0);this.va=0;this.Ga=nb();if(this.T){var a=this.Ga-this.T;a>this.ob&&(this.L+=a,this.L>this.Ga&&(this.L=this.Ga))}try{do{var b=kd(this,this.A.Va?1:this.Ja);try{this.$a(b)}catch(e){if("number"!=typeof e)throw e;}b=md(this,!0);this.va+=b;this.M+=b;wc(this,b);uc(this,b);this.na-=b;if(0>=this.na){this.na+=this.Ja;++this.qb>=nd&&(this.H&&K(this.H,void 0),this.qb=0);break}}while(this.A.P)}catch(e){this.Y();this.H&&this.H.stop(nb(),fd(this));yb(this,
|
||||
e.stack||e.message);return}if(this.A.P){a=setTimeout;b=this.Gb;this.T=nb();var c=this.ob;this.va&&(c=Math.round(c*this.va/this.Ja));var c=c-(this.T-this.Ga),d=this.T-this.L;d&&(this.ba=Math.round(this.M/(10*d))/100,864E5<=d&&(this.W=0,gd(this)));if(0>c||this.ba<this.ga)-1E3>c&&(this.L-=c),c=0;this.eb+=this.va;this.T+=c;a(b,c)}}};
|
||||
function sc(a,b){if(!zb(a))if(a.A.P)a.u(a.toString()+" busy");else{gd(a);a.A.P=!0;a.A.jb=!0;var c=a.J.run;c&&(c.textContent="Halt");a.H&&(b&&jd(a.H,!0),a.H.start(a.L,fd(a)));a.D||a.status("Started");setTimeout(a.Gb,0)}}m.$a=function(){return 0};m.Y=function(a){var b=!1;if(this.A.P){md(this);vc(this,this.M);this.M=0;this.A.P=!1;if(b=this.J.run)b.textContent="Run";this.H&&this.H.stop(nb(),fd(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var id=30,nd=15,Zc=["power","reset"];
|
||||
function od(a){var b=+a.model||1001;Yc.call(this,a,1E6);this.nb=b;this.ab=+a.addrReset||0;this.Sb=pd.bind(this);this.w=L.bind(this);this.Da=null;this.Db=[];this.A.complete=!1}ja(od,Yc);m=od.prototype;
|
||||
function od(a){var b=+a.model||1001;Yc.call(this,a,1E6);this.nb=b;this.ab=+a.addrReset||0;this.Sb=pd.bind(this);this.w=M.bind(this);this.Da=null;this.Db=[];this.A.complete=!1}ja(od,Yc);m=od.prototype;
|
||||
m.reset=function(){this.status("Model "+this.nb);this.A.P&&this.Y();this.Ka=this.La=this.b=this.I=0;this.i=this.Ea=this.ab;this.K=this.O=-1;this.F=this.j=0;this.kb=[0,0];this.wa=[0,0];this.oa=[0,0];this.xa=[0,0];this.Ca=this.i;this.C=0;this.f=this.hc;this.g=this.sc;this.Da=null;ad(this);this.A.error=!1;Yc.prototype.reset.call(this)};m.Lb=function(){return 0};
|
||||
m.save=function(){var a=new F(this);a.set(0,[this.b,this.I,this.Ka,this.La,this.i,this.O,this.K,this.j,this.C,this.Ea,this.Ca,this.ab]);a.set(1,[]);a.set(2,[this.W,this.ka,this.A.fa]);a.set(3,qd(this));a.set(4,ld(this));return a.data()};
|
||||
m.save=function(){var a=new G(this);a.set(0,[this.b,this.I,this.Ka,this.La,this.i,this.O,this.K,this.j,this.C,this.Ea,this.Ca,this.ab]);a.set(1,[]);a.set(2,[this.W,this.ka,this.A.fa]);a.set(3,qd(this));a.set(4,ld(this));return a.data()};
|
||||
m.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.b=b.next().value;this.I=b.next().value;this.Ka=b.next().value;this.La=b.next().value;this.i=b.next().value;this.O=b.next().value;this.K=b.next().value;this.j=b.next().value;this.C=b.next().value;this.Ea=b.next().value;this.Ca=b.next().value;this.ab=b.next().value;b=a[2];this.W=b[0];gd(this,b[1]);this.A.fa=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Db.length;d++){var e=this.Db[d];
|
||||
if(e.pc===b[c]){d=e;break a}}d=null}d&&(d.next=this.Da,this.Da=d)}a=a[4];for(b=0;b<this.R.length&&b<a.length;b++)this.R[b][0]=a[b];return!0};function rd(a,b){a.j=a.j&-254049|b&254048;a.j|=b&4096;b&2048?a.j&4096||(a.j|=2048):a.j&=-2049}function sd(a,b){var c=a.i;a.i=(c+b)%Tb;return c}function H(a,b){a.i=b%Tb;a.O=-1}function qd(a){var b=[];for(a=a.Da;a;)b.push(a.pc),a=a.next;return b}m.hc=function(a){var b=this.G;a=this.Ca=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};
|
||||
if(e.pc===b[c]){d=e;break a}}d=null}d&&(d.next=this.Da,this.Da=d)}a=a[4];for(b=0;b<this.R.length&&b<a.length;b++)this.R[b][0]=a[b];return!0};function rd(a,b){a.j=a.j&-254049|b&254048;a.j|=b&4096;b&2048?a.j&4096||(a.j|=2048):a.j&=-2049}function sd(a,b){var c=a.i;a.i=(c+b)%Tb;return c}function I(a,b){a.i=b%Tb;a.O=-1}function qd(a){var b=[];for(a=a.Da;a;)b.push(a.pc),a=a.next;return b}m.hc=function(a){var b=this.G;a=this.Ca=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};
|
||||
m.sc=function(a,b){var c=this.G;a=this.Ca=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b};
|
||||
m.$a=function(a){this.A.complete=!0;var b=this.D?td(this.D)?1:this.A.jb?-1:0:0,c=a?this.A.jb?0:1:-1;this.A.jb=!1;this.V=this.N=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(ud(this.D,this.i,c)){this.Y();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.Da||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&ud(this.D,this.i,c)){this.Y();break}if(0>c)break}}this.C&=15;this.I&4194304?this.I=this.Ka=this.f(this.b):0<=this.O?(this.I=this.La=this.f(this.O),this.O=-1):(this.I=this.La=
|
||||
this.f(this.Ea=this.i),this.i=(this.i+1)%Tb);this.I&=8388607;this.b=this.I&262143;if(a=this.I>>18&15)this.b=this.b+(this.Ka=this.f(a))&Sb;a=this.I&4194304?-1:this.La/$b|0;0<=a&&this.Sb(a);this.N--}while(0<this.N);return this.A.complete?this.V-this.N:!1===this.A.complete?-1:0};Ya(function(){for(var a=w(document,v,"cpu"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new od(d);sb(d,c)}});function pd(a){vd[a>>4].call(this,a,a&15)}function O(a){this.w(a)}
|
||||
|
|
@ -108,50 +108,50 @@ function yd(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;els
|
|||
function Fd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Gd(a,d,c)+(c-(c&x)))}function Hd(a,b){var c=this.f(b);this.g(b,Gd(a,c,0))}function Id(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Gd(a,c,b)+(b-(b&x)))}function Jd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Kd(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,Gd(a,d,c)+c)}
|
||||
function be(a,b){var c=this.b*y,d=this.f(b);this.g(b,Gd(a,d,c)+c)}function ce(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Gd(a,c,b)+b)}function de(a,b){var c=this.f(this.b),d=(c&x)*y,c=Gd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ee(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,fe(a,c,this.b)+this.b)}function he(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)}
|
||||
function ie(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>Ub?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function je(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ke(a,b){var c=this.f(b);this.g(b,fe(a,c,0))}function le(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)}function me(a,b){var c=this.f(this.b),d=c/y|0,c=fe(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function P(a){ne[a&7].call(this,a,a>>3&127)}
|
||||
function oe(){}function pe(){}function L(a){this.u("undefined opcode: "+va(a));sd(this,-1);this.Y()}function qe(a){a>z&&(a!=B?a=Xb-a:this.j|=163840);return a}function Q(a,b){var c=(a+b)%D;re.call(this,a,b,c);return c}
|
||||
function oe(){}function pe(){}function M(a){this.u("undefined opcode: "+va(a));sd(this,-1);this.Y()}function qe(a){a>z&&(a!=B?a=Xb-a:this.j|=163840);return a}function Q(a,b){var c=(a+b)%D;re.call(this,a,b,c);return c}
|
||||
function se(a,b,c){var d=!1,e=!1,f=b-b%B;a=a%B+b*B%D;b=this.F=f+Math.trunc(b/2);c>z&&(c=D-c,d=!d);b>z&&(a?(b=C-b,a=D-a):b&&(b=D-b),e=!0,d=!d);if(b>=c)return this.j|=131104,-1;f=this.kb;f[0]=0;f[1]=0;f=this.wa;f[0]=1;f[1]=0;f=this.oa;f[0]=c;f[1]=0;c=this.xa;c[0]=a;for(c[1]=b;0<te(this.xa,this.oa);)ue(this.oa,this.oa),ue(this.wa,this.wa);do{if(0<=te(this.xa,this.oa)&&(b=this.xa,a=this.oa,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=D,b[1]--),ue(this.kb,this.wa),ve(this.xa)))break;we(this.oa);we(this.wa)}while(!ve(this.wa));
|
||||
a=this.kb[0];this.F=this.xa[0];d&&a&&(a=D-a);e&&this.F&&(this.F=D-this.F);return a}
|
||||
function xe(a,b,c,d){var e=a,f=b;b=!1;var g;e>z&&(d||1001!=this.nb||e!=B)&&(e=D-e,b=!b);f>z&&(f=D-f,b=!b);if(e<y&&f<y)a=e*f,g=0;else{a=e&x;e=Math.trunc(e/y);g=f&x;var f=Math.trunc(f/y),h=a*g,k=e*g+Math.trunc(h/y);g=Math.trunc(k/y);k=(k&x)+a*f;a=(k*y+(h&x))%D;g+=Math.trunc(k/y)+e*f}b&&(a?(g=C-g,a=D-a):g&&(g=D-g));if(c)return!d&&(g||a>z)&&(g!=C||a<=z)&&(this.j|=131072),a;c=a;b=g;a=b-b%B;b=2*b%D+Math.trunc(c/B);c=a+c%B;a!=b-b%B&&(c=b,d||(this.j|=131072));d?d=c:(this.F=c,d=b);return d}
|
||||
function ye(a){a?a==B?this.j|=163840:a=Xb-a:this.j|=98304;return a}function ze(a,b){var c=a-b;0>c&&(c+=D);re.call(this,c,b,a);return c}function re(a,b,c){a=Math.trunc(a/Wb);b=Math.trunc(b/Wb);c=Math.trunc(c/Wb);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function S(a,b){return R(a,(~(b/E|0)&15)*E+(~b>>>0))}function T(a,b){return(a<B?a:a-D)-(b<B?b:b-D)}
|
||||
function Ae(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function V(a){return a<B?a:a-D}function W(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function X(a){return(a/y|0)+(a&x)*y}function fe(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>Ub?x*y:0}return b}function Gd(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b}
|
||||
function ue(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=D&&(a[0]%=D,a[1]++)}function te(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function we(a){a[1]%2&&(a[0]+=D);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function ve(a){return!a[0]&&!a[1]}
|
||||
var vd=[O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},wd,function(a,b){this.j&8192||(wd.call(this),this.j|=8192);xd.call(this,0,b)},xd,function(a,b){this.j&8192||(wd.call(this),this.j|=8192);yd.call(this,0,b)},yd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
||||
var vd=[O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},wd,function(a,b){this.j&8192||(wd.call(this),this.j|=8192);xd.call(this,0,b)},xd,function(a,b){this.j&8192||(wd.call(this),this.j|=8192);yd.call(this,0,b)},yd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
||||
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
||||
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},zd,Ad,Bd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ye.call(this,this.f(this.b)))},function(a,b){this.g(b,
|
||||
ye.call(this,this.b))},function(a,b){this.g(this.b,ye.call(this,this.f(b)))},function(a,b){a=ye.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,qe.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,qe.call(this,this.f(b)))},function(a,b){a=qe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,xe.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,xe.call(this,this.f(b),this.b,!0))},function(a,
|
||||
b){this.g(this.b,xe.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(this.b,this.g(b,xe.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,xe.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,xe.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,xe.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,xe.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=se.call(this,
|
||||
this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=se.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,
|
||||
c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);b=this.f(b+1&15);b=se.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){if(a=(this.b&Vb)<<14>>23|this.b&255){var c,d,e=this.f(b);0<a?(d=z,c=e<B?0:B,35>a&&(c+=e*Math.pow(2,a)%B,d=B-Math.pow(2,35-a)),e<B?e+d>z&&(this.j|=131072):e-d<B&&(this.j|=131072)):-35>=a?c=e<B?0:
|
||||
z:(c=Math.trunc(e/Math.pow(2,-a)),e>z&&(d=D-Math.pow(2,36+a),c+=d));this.g(b,c)}},function(a,b){if(a=((this.b&Vb)<<14>>23|this.b&255)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b&Vb)<<14>>23|this.b&255){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%D:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<B;)a++,c*=2;H(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b&
|
||||
z:(c=Math.trunc(e/Math.pow(2,-a)),e>z&&(d=D-Math.pow(2,36+a),c+=d));this.g(b,c)}},function(a,b){if(a=((this.b&Vb)<<14>>23|this.b&255)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b&Vb)<<14>>23|this.b&255){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%D:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<B;)a++,c*=2;I(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b&
|
||||
Vb)<<14>>23|this.b&255){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<B||d>z&&d<C)this.j|=131072;if(71<=a){if(0<e&&e<B||e>z&&e<C)this.j|=131072;d=0}else d=e*Math.pow(2,a-35)%B,c=B-Math.pow(2,70-a),f<=z?e+c>z&&(this.j|=131072):e-c<=z&&(this.j|=131072);e=0;f>z&&(d+=B,e+=B)}else d=d*Math.pow(2,a)%B+Math.trunc(e%B/Math.pow(2,35-a)),e=e*Math.pow(2,a)%B,c=B-Math.pow(2,35-a),f<=z?f+c>z&&(this.j|=131072):(f-c<=z&&(this.j|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d>z?C:0:Math.trunc(d%
|
||||
B/Math.pow(2,-a-35)),d<=z?d=0:(d=C,e+=B)):(c=d>z?D-Math.pow(2,36+a):0,e=Math.trunc(e%B/Math.pow(2,-a))+d%B*Math.pow(2,35+a)%B,d=Math.trunc(d/Math.pow(2,-a))+c,d>z&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=((this.b&Vb)<<14>>23|this.b&255)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%D+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%D+Math.trunc(d/
|
||||
Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b&Vb)<<14>>23|this.b&255){var c=this.f(b),d=this.f(b+1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%D,d=0):(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%D,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},L,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,
|
||||
b){a=!1;for(var c=this.f(b),d=c/y|0,c=c&x;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&x,c=c+1&x,this.A.P||(this.g(b,d*y+c),a||sd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a<B&&H(this,this.b)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a>=B&&H(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&rd(this,this.Ka/y|0);b&4&&this.Y();b&8&&this.w(a);H(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,H(this,this.b))},function(){this.O=this.b},L,function(a,b){a=(this.f(b)+
|
||||
262145)%D;this.g(b,a);a/y|0||(this.j|=262144);this.g(a&Sb,(this.j&x)*y+this.i);this.j&=-8193;H(this,this.b)},function(a,b){a=this.f(b);a+=262145;this.g(a&Sb,this.f(this.b));a>=D&&(a-=D);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=D);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);a-=262145;0>a&&(a+=D);(a/y|0)==x&&(this.j|=262144);this.g(b,a);H(this,c&Sb)},function(){this.g(this.b,
|
||||
(this.j&x)*y+this.i);this.j&=-8193;H(this,this.b+1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;H(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);H(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));H(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,
|
||||
this.f(b),this.f(this.b))))},function(a,b){this.g(b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,ze.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ze.call(this,this.f(b),this.f(this.b))))},oe,function(a,b){0>T(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){T(this.f(b),this.b)||H(this,this.i+1)},function(a,b){0>=T(this.f(b),this.b)&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,
|
||||
b){0<=T(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){T(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){0<T(this.f(b),this.b)&&H(this,this.i+1)},pe,function(a,b){0>T(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){0>=T(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){0<=T(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,
|
||||
b){0<T(this.f(b),this.f(this.b))&&H(this,this.i+1)},oe,function(a,b){0>V(this.f(b))&&H(this,this.b)},function(a,b){V(this.f(b))||H(this,this.b)},function(a,b){0>=V(this.f(b))&&H(this,this.b)},function(){H(this,this.b)},function(a,b){0<=V(this.f(b))&&H(this,this.b)},function(a,b){V(this.f(b))&&H(this,this.b)},function(a,b){0<V(this.f(b))&&H(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);
|
||||
V(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){H(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>V(a)&&H(this,
|
||||
this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)||H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=V(a)&&H(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<V(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),
|
||||
1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=V(a)&&H(this,this.i+
|
||||
1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),C))},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));V(a)||H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>=V(a)&&H(this,this.b)},function(a,
|
||||
b){this.g(b,Q.call(this,this.f(b),C));H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<=V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<V(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0>V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),
|
||||
C));V(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0>=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0<=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));
|
||||
0<V(a)&&H(this,this.i+1);b&&this.g(b,a)},Cd,Cd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(C-this.f(b),this.b))},function(a,b){this.g(this.b,R(C-this.f(b),this.f(this.b)))},
|
||||
Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b&Vb)<<14>>23|this.b&255){var c=this.f(b),d=this.f(b+1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%D,d=0):(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%D,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},M,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,
|
||||
b){a=!1;for(var c=this.f(b),d=c/y|0,c=c&x;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&x,c=c+1&x,this.A.P||(this.g(b,d*y+c),a||sd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a<B&&I(this,this.b)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a>=B&&I(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&rd(this,this.Ka/y|0);b&4&&this.Y();b&8&&this.w(a);I(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,I(this,this.b))},function(){this.O=this.b},M,function(a,b){a=(this.f(b)+
|
||||
262145)%D;this.g(b,a);a/y|0||(this.j|=262144);this.g(a&Sb,(this.j&x)*y+this.i);this.j&=-8193;I(this,this.b)},function(a,b){a=this.f(b);a+=262145;this.g(a&Sb,this.f(this.b));a>=D&&(a-=D);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=D);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);a-=262145;0>a&&(a+=D);(a/y|0)==x&&(this.j|=262144);this.g(b,a);I(this,c&Sb)},function(){this.g(this.b,
|
||||
(this.j&x)*y+this.i);this.j&=-8193;I(this,this.b+1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;I(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);I(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));I(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,
|
||||
this.f(b),this.f(this.b))))},function(a,b){this.g(b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,ze.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ze.call(this,this.f(b),this.f(this.b))))},oe,function(a,b){0>T(this.f(b),this.b)&&I(this,this.i+1)},function(a,b){T(this.f(b),this.b)||I(this,this.i+1)},function(a,b){0>=T(this.f(b),this.b)&&I(this,this.i+1)},function(){I(this,this.i+1)},function(a,
|
||||
b){0<=T(this.f(b),this.b)&&I(this,this.i+1)},function(a,b){T(this.f(b),this.b)&&I(this,this.i+1)},function(a,b){0<T(this.f(b),this.b)&&I(this,this.i+1)},pe,function(a,b){0>T(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))||I(this,this.i+1)},function(a,b){0>=T(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(){I(this,this.i+1)},function(a,b){0<=T(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(a,
|
||||
b){0<T(this.f(b),this.f(this.b))&&I(this,this.i+1)},oe,function(a,b){0>V(this.f(b))&&I(this,this.b)},function(a,b){V(this.f(b))||I(this,this.b)},function(a,b){0>=V(this.f(b))&&I(this,this.b)},function(){I(this,this.b)},function(a,b){0<=V(this.f(b))&&I(this,this.b)},function(a,b){V(this.f(b))&&I(this,this.b)},function(a,b){0<V(this.f(b))&&I(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);
|
||||
V(a)||I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){I(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>V(a)&&I(this,
|
||||
this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)||I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=V(a)&&I(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=V(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<V(a)&&I(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),
|
||||
1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)||I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=V(a)&&I(this,this.i+
|
||||
1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),C))},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>V(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));V(a)||I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>=V(a)&&I(this,this.b)},function(a,
|
||||
b){this.g(b,Q.call(this,this.f(b),C));I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<=V(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));V(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<V(a)&&I(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0>V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),
|
||||
C));V(a)||I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0>=V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0<=V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));
|
||||
0<V(a)&&I(this,this.i+1);b&&this.g(b,a)},Cd,Cd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(C-this.f(b),this.b))},function(a,b){this.g(this.b,R(C-this.f(b),this.f(this.b)))},
|
||||
function(a,b){this.g(this.b,this.g(b,R(C-this.f(b),this.f(this.b))))},zd,Ad,pe,zd,function(a,b){this.g(b,R(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),C-this.b))},function(a,b){this.g(this.b,R(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),C-this.f(this.b))))},oe,oe,Bd,Bd,function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(this.b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,
|
||||
this.g(b,W(this.f(b),this.f(this.b))))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(this.b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,R(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,R(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(C-this.f(b),C-this.f(this.b))))},
|
||||
function(a,b){this.g(b,Ae(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Ae(this.f(b),this.b))},function(a,b){this.g(this.b,Ae(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Ae(this.f(b),this.f(this.b))))},Dd,Dd,function(a,b){this.g(this.b,C-this.f(b))},function(a,b){this.g(this.b,this.g(b,C-this.f(b)))},function(a,b){this.g(b,U(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(C-this.f(b),this.b))},function(a,b){this.g(this.b,U(C-this.f(b),this.f(this.b)))},function(a,
|
||||
b){this.g(this.b,this.g(b,U(C-this.f(b),this.f(this.b))))},function(a,b){this.g(b,C-this.f(this.b))},function(a,b){this.g(b,C-this.b)},function(){this.g(this.b,C-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,C-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),C-this.b))},function(a,b){this.g(this.b,U(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,U(C-this.f(b),
|
||||
C-this.f(this.b)))},function(a,b){this.g(b,U(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,U(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(C-this.f(b),C-this.f(this.b))))},Ed,Ed,function(){this.g(this.b,C)},function(a,b){this.g(this.b,this.g(b,C))},Fd,Hd,Id,Jd,Kd,be,ce,de,Fd,Hd,Id,Jd,Kd,be,ce,de,Fd,Hd,Id,Jd,Kd,be,ce,de,Fd,Hd,Id,Jd,Kd,be,ce,de,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,oe,oe,function(a,b){R(this.f(b),
|
||||
this.b)||H(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)||H(this,this.i+1)},function(){H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){R(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)&&H(this,this.i+1)},pe,pe,function(a,b){R(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))||H(this,this.i+1)},function(){H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){R(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,
|
||||
b){R(this.f(b),X(this.f(this.b)))&&H(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||H(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||H(this,this.i+1);this.g(b,S(a,c))},function(a,b){H(this,this.i+1);this.g(b,S(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&H(this,this.i+1);this.g(b,S(a,
|
||||
this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&H(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||H(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||H(this,this.i+1);this.g(b,S(a,c))},function(a,b){H(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,S(this.f(b),
|
||||
X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&H(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&H(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||H(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||H(this,this.i+1);this.g(b,W(a,c))},function(a,b){H(this,this.i+1);this.g(b,W(this.f(b),
|
||||
this.b))},function(a,b){H(this,this.i+1);this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&H(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&H(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||H(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||H(this,
|
||||
this.i+1);this.g(b,W(a,c))},function(a,b){H(this,this.i+1);this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&H(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&H(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||H(this,this.i+1);
|
||||
this.g(b,U(a,this.b))},function(a,b){a=this.f(b);R(a,this.b*y)||H(this,this.i+1);this.g(b,U(a,this.b*y))},function(a,b){H(this,this.i+1);this.g(b,U(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&H(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&H(this,this.i+1);this.g(b,U(a,c))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),X(this.f(this.b))))},
|
||||
function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||H(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||H(this,this.i+1);this.g(b,U(a,c))},function(a,b){H(this,this.i+1);this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&H(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&H(this,this.i+1);this.g(b,U(a,
|
||||
this.b)||I(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)||I(this,this.i+1)},function(){I(this,this.i+1)},function(){I(this,this.i+1)},function(a,b){R(this.f(b),this.b)&&I(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)&&I(this,this.i+1)},pe,pe,function(a,b){R(this.f(b),this.f(this.b))||I(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))||I(this,this.i+1)},function(){I(this,this.i+1)},function(){I(this,this.i+1)},function(a,b){R(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(a,
|
||||
b){R(this.f(b),X(this.f(this.b)))&&I(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||I(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||I(this,this.i+1);this.g(b,S(a,c))},function(a,b){I(this,this.i+1);this.g(b,S(this.f(b),this.b))},function(a,b){I(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&I(this,this.i+1);this.g(b,S(a,
|
||||
this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&I(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||I(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||I(this,this.i+1);this.g(b,S(a,c))},function(a,b){I(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){I(this,this.i+1);this.g(b,S(this.f(b),
|
||||
X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&I(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&I(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||I(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||I(this,this.i+1);this.g(b,W(a,c))},function(a,b){I(this,this.i+1);this.g(b,W(this.f(b),
|
||||
this.b))},function(a,b){I(this,this.i+1);this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&I(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&I(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||I(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||I(this,
|
||||
this.i+1);this.g(b,W(a,c))},function(a,b){I(this,this.i+1);this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){I(this,this.i+1);this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&I(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&I(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||I(this,this.i+1);
|
||||
this.g(b,U(a,this.b))},function(a,b){a=this.f(b);R(a,this.b*y)||I(this,this.i+1);this.g(b,U(a,this.b*y))},function(a,b){I(this,this.i+1);this.g(b,U(this.f(b),this.b))},function(a,b){I(this,this.i+1);this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&I(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&I(this,this.i+1);this.g(b,U(a,c))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),X(this.f(this.b))))},
|
||||
function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||I(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||I(this,this.i+1);this.g(b,U(a,c))},function(a,b){I(this,this.i+1);this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){I(this,this.i+1);this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&I(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&I(this,this.i+1);this.g(b,U(a,
|
||||
c))},P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P],ne=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.j&=-131073);a&131072&&(this.j&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.j&131072&&(a|=8);this.j&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},
|
||||
function(a){this.w(a)}];
|
||||
function Be(a){r.call(this,"ROM",a,128);this.Z=this.b=null;this.C=+a.addr;this.j=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=xa(this.w);if(this.w){a=this.w;var b=ya(this.F);"json"!=b&&"hex"!=b&&(a=Ka()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ia(a,null,!0,function(a,b,f){f?(c.ha("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(gb(c.cb,a,b),(a=Ja(a,b))?(c.b=a.da,c.Z=a.Z):c.w=null);Ce(c)})}}ja(Be,r);
|
||||
|
|
@ -162,138 +162,139 @@ function Ee(a){r.call(this,"RAM",a);this.Z=this.Pa=null;this.i=+a.addr;this.j=+a
|
|||
c.Z=a.Z,null==c.la&&(c.la=a.la),null==c.ya&&(c.ya=a.ya)):c.b=null);Fe(c)})}}ja(Ee,r);Ee.prototype.Ma=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Fe(this)};Ee.prototype.Ba=function(a,b){this.Z&&(this.D&&De(this.D,this.id,this.i,this.j,this.Z),delete this.Z);b||this.reset();return!0};Ee.prototype.sa=function(){return!0};
|
||||
function Fe(a){if(a.G&&(!a.w&&a.j&&(Ec(a.G,a.i,a.j,1)?a.w=!0:a.j=0),!Bb(a))){if(!a.w)q("No RAM allocated");else if(a.b){if(!a.Pa)return;Ge(a,a.Pa,a.la,a.ya,a.i)?a.status('Loaded image "'+a.C+'"'):a.ha('Error loading image "'+a.C+'"')}a.F=!0;Mb(a)}}
|
||||
Ee.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.G,b=this.i,c=this.j,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-B&&(g+=D);for(var g=Math.trunc(Math.abs(g))%D,h=d;f--&&h<e.size;h++)e.D(g,d,e.B+d);c-=16384;b++;d=0}this.Pa&&Ge(this,this.Pa,this.la,this.ya,this.i,!this.D)}this.F=!1};
|
||||
function Ge(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)yc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.Y(),f=!1),null!=d&&(a=a.v,a.ab=d,H(a,d),f?a.A.aa?a.A.P||sc(a):a.A.fa=!0:a.D&&a.A.aa?a.Y()||a.H.A.reset||(cd(a.D),J(a.H,-1)):!1===f&&a.Y(),!a.A.P&&a.Oa&&a.Oa.stop()));return g}Ya(function(){for(var a=w(document,v,"ram"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Ee(d);sb(d,c)}});
|
||||
function Ge(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)yc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.Y(),f=!1),null!=d&&(a=a.v,a.ab=d,I(a,d),f?a.A.aa?a.A.P||sc(a):a.A.fa=!0:a.D&&a.A.aa?a.Y()||a.H.A.reset||(cd(a.D),K(a.H,-1)):!1===f&&a.Y(),!a.A.P&&a.Oa&&a.Oa.stop()));return g}Ya(function(){for(var a=w(document,v,"ram"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Ee(d);sb(d,c)}});
|
||||
function He(a){r.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Ie;b&&(void 0===c&&(c="Panel"),(c=rb(c,this.id))&&(b=c.J[b])&&this.ta(null,a,b))}this.b=this.C=null;this.exports={connect:this.Mb,receiveData:this.hb,receiveStatus:this.jc,setConnection:this.mc}}ja(He,r);m=He.prototype;
|
||||
m.ta=function(a,b,c){var d=this;switch(b){case Ie:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?na.yb:na.Qb:46==c?b=na.yb:a.ctrlKey&&c>=na.xb&&c<=na.Rb&&(b=c-(na.xb-na.Nb));b&&(a.preventDefault&&a.preventDefault(),d.hb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==na.Pb&&(b=na.Ob);d.hb(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.hb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Mb(this)};
|
||||
m.Mb=function(a){if(!this.b){var b=$c(this.H,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Da(c[0]);if(d!=this.bb)return;c=Da(c[1]);if(this.b=qb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.cb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};m.Ba=function(a,b){if(!b)if(this.Mb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
m.sa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new F(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.hb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};m.jc=function(){};m.mc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Ie="buffer";
|
||||
m.sa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new G(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.hb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};m.jc=function(){};m.mc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Ie="buffer";
|
||||
Ya(function(){for(var a=w(document,v,"serial"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new He(d);sb(d,c)}});function Je(a){r.call(this,"Debugger",a);this.U=+a.base||16;this.L=32;this.ja=null;this.T=["{","}"];this.ua=["[","]"];this.F=0;this.V=!1;this.C=-1;this.w=[];this.i={}}ja(Je,r);Je.prototype.ub=function(){return-1};Je.prototype.vb=function(){};
|
||||
function Ke(a,b,c,d){if(c)if(b){0>a.C&&a.w.length&&(a.C=0);if(0>a.C||b!=a.w[a.C])a.w.splice(0,0,b),a.C=0;a.C--}else a.V?b="end":b=a.w[a.C+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(Da(b.substring(c,f))),c=f+1}}return a}function Le(a,b,c){if(32>=a.L)return b&c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Me|0)&(c/Me|0))*Me+((b&c)>>>0)}
|
||||
function Ne(a,b,c){if(32>=a.L)return b|c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Me|0)^(c/Me|0))*Me+((b^c)>>>0)}Je.prototype.Jb=function(a,b){return a*b};function Y(a,b,c,d){var e=b;c=c||a.L;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else 32>=c?e=b<<32-c>>32-c:(a=Math.pow(2,c-1),b>=a?(e=b%a,(b/a|0)&1&&(e-=a)):b<-a&&(e=b%a,((-b-1)/a|0)&1?e&&(e+=a):e||(e-=a)));b!=e&&(b=e);return b}
|
||||
function Oe(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f,g=b.pop();f=b.pop();switch(e){case "*":f=a.Jb(f,g);break;case "/":if(!g)return!1;f=Math.trunc(f/g);break;case "^/":if(!g)return!1;f%=g;break;case "+":f+=g;break;case "-":f-=g;break;case "<<":f<<=g;break;case ">>":f>>=g;break;case ">>>":f>>>=g;break;case "<":f=f<g?1:0;break;case "<=":f=f<=g?1:0;break;case ">":f=f>g?1:0;break;case ">=":f=f>=g?1:0;break;case "==":f=f==g?1:0;break;case "!=":f=f!=g?1:
|
||||
0;break;case "&":f=Le(a,f,g);break;case "!":case "|":e=a;32>=e.L?f|=g:(f=Y(e,f,0,!0),g=Y(e,g,0,!0),f=(f/Me|0|g/Me|0)*Me+((f|g)>>>0));break;case "^!":f=Ne(a,f,g);break;case "&&":f=f&&g?1:0;break;case "||":f=f||g?1:0;break;case "_":case "^_":"^_"==e&&(g=35-(g&255));g&&(f=Y(a,f,0,!0),f=0<g?f*Math.pow(2,g):Math.trunc(f/Math.pow(2,-g)));break;default:return!1}b.push(Y(a,f))}return!0}
|
||||
function Pe(a,b,c,d,e,f){var g,h,k,l=!1,p=0,u=[],A=[],I=a.U;for(a.U=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=Qe(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Pe(a,b,p,c-1,a.U,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.U=2;continue}if("^O"==k){a.U=8;continue}if("^D"==k){a.U=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==k||"^-"==k){p=p<<2|2;continue}if("^L"==
|
||||
k){p=p<<2|3;continue}}l=!0;break}if(void 0===p)if(null==a.ja&&f)a.ja=h,p=0;else{l=!0;f=!f;break}u.push(Y(a,p));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{l=!0;break}if(!k)break;p="<"==a.T[0]?Re:Se;if(!p[k]){l=!0;break}A.length&&p[k]<=p[A[A.length-1]]&&Oe(a,u,A,1);A.push(k);a.U="^_"==k?10:e;p=0}if(l||!Oe(a,u,A)||1!=u.length)l=!0;l?!1===f&&a.u("parse error ("+(h||k)+")"):g=u.pop();a.U=I;return g}
|
||||
function Te(a,b,c,d,e,f){for(var g;0<=(g=b.indexOf(c));){for(var h=0,k=g+1,l=e;k<b.length;){var p=b[k++];if(p==c){l=-1;break}if(!l)break;l--;p=p.charCodeAt(0);7==d?p&=127:p=p-32&63;h=Y(a,h*Math.pow(2,d)+p,d*e,!0)}if(0<=l){!1===f&&a.u("parse error ("+b+")");break}else b=b.substr(0,g)+K(a,h,-1)+b.substr(k)}return b}
|
||||
function Ue(a,b,c){var d=void 0;a.ja=null;if(b){"{"!=a.T[0]&&(b=b.split(a.T[0]).join("{").split(a.T[1]).join("}"));b=Te(a,b,'"',7,5,c);if(!b)return d;b=Te(a,b,"'",6,6,c);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*| )/);d=Pe(a,b,0,b.length,a.U,c);void 0!==d&&!1===c&&Ve(a,null,d)}return d}
|
||||
function Qe(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b){f=a.ub(b);if(0<=f)f=a.vb(f);else if(f=a.i[b]&&a.i[b].value,null!=f){var g=a.i[b]&&a.i[b].ja;g&&(a.ja?(d||(a.u(b+" has too many undefined values ("+g+","+a.ja+")"),d=!0),f=void 0):a.ja=g)}else f=oa(b,1<b.length?a.U:10);if(null!=f){for(;e;){switch(e&3){case 1:f=-Y(a,f);break;case 2:f=Ne(a,f,-1);break;case 3:for(b=35;0<=b&&!Le(a,f,Math.pow(2,b));)b--;f=35-b}e>>>=2}f=Y(a,f)}else d||a.u("invalid "+(c?c:"value")+": "+b)}else d||a.u("missing "+(c||
|
||||
"value"));return f}function Ve(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.U?K(a,c,a.L,8,1)+" "+c+".":K(a,c,a.L,16,1)+" "+K(a,c,a.L,8,1)+" "+K(a,c,a.L,2,32>=a.L?8:6)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.u((null!=b?b+": ":"")+d);return e}function We(a){var b=a.i;a.i={};return b}function Xe(a,b){if(b)return Ve(a,b,a.i[b].value);var c=0;for(b in a.i)Ve(a,b,a.i[b].value),c++;return 0<c}
|
||||
function K(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.U){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=pa(b,2,a,"",e);break;case 8:b=va(b,0<c?(c+2)/3|0:0,!!e);break;case 10:b=wa(b,0<c?Math.ceil(.3*c):0);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
||||
var Se={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Re={"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20},Me=Math.pow(2,32);
|
||||
function Ye(a){Je.call(this,a);this.Ja=!1;this.Ga=18;this.L=36;this.T=["<",">"];this.ua=[];this.Ia=Z();this.M=Z(0);this.pa=Z(0);this.ka=Z(0);this.I=[];this.b=this.N=this.K=[];Ze(this);this.W=this.qa=0;this.j=[];this.Da=void 0;$e(this);this.D=this;this.wa={};this.ca=this.Fb=0;this.ba=null;this.R=[];af(this,a.messages);this.va=a.commands;this.Ha=[];this.O=0;this.Oa=this.Ea=null;this.F=this.La=this.Ka=this.oa=this.Ca=0;this.xa=this.na=this.ga=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return ed(b,
|
||||
a)}):void 0===global[v]&&(global[v]=function(a){return ed(b,a)})}ja(Ye,Je);function bf(a){a=a&&a.B;null==a&&(a=-1);return a}function Z(a,b,c){return{B:void 0===a?null:a,fb:void 0===b?!1:b,ra:!1,U:c}}function cf(a,b,c,d){a.B=b;a.fb=c||!1;a.ra=!1;a.U=d}function df(a){return[a.B,a.fb,a.ra,a.U,a.ib]}function ef(a,b){var c=Z(b[0],b[1],b[2]);c.ra=b[3];b[4]&&(c.Ab=Ke(a,c.ib=b[4]));return c}m=Ye.prototype;
|
||||
m.Ma=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.na=a.j;this.Ga=b.F;(b=$c(a,"messages"))&&af(this,b);if(a=$c(a,"commands"))this.va=a;ff(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=bf(gf(d,c,d.pa));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Hc[c],p&&d.u(n(p.id,8)+" %"+
|
||||
function Pe(a,b,c,d,e,f){var g,h,k,l=!1,p=0,u=[],A=[],J=a.U;for(a.U=e;c<d;){var F;h=b[c++].trim();k=c<d?b[c++]:"";if(h)F=Qe(a,h,null,f,p);else if("{"==k){h=1;for(F=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;F=Pe(a,b,F,c-1,a.U,f);null!=F&&p&&(F=Re(a,F,p));h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.U=2;continue}if("^O"==k){a.U=8;continue}if("^D"==k){a.U=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==
|
||||
k||"^-"==k){p=p<<2|2;continue}if("^L"==k){p=p<<2|3;continue}}l=!0;break}if(void 0===F)if(null==a.ja&&f)a.ja=h,F=0;else{l=!0;f=!f;break}u.push(Y(a,F));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{l=!0;break}if(!k)break;p="<"==a.T[0]?Se:Te;if(!p[k]){l=!0;break}A.length&&p[k]<=p[A[A.length-1]]&&Oe(a,u,A,1);A.push(k);a.U="^_"==k?10:e;p=0}if(l||!Oe(a,u,A)||1!=u.length)l=!0;l?!1===f&&a.u("parse error ("+(h||k)+")"):g=u.pop();a.U=J;return g}
|
||||
function Ue(a,b,c,d,e,f){for(var g;0<=(g=b.indexOf(c));){for(var h=0,k=g+1,l=e;k<b.length;){var p=b[k++];if(p==c){l=-1;break}if(!l)break;l--;p=p.charCodeAt(0);7==d?p&=127:p=p-32&63;h=Y(a,h*Math.pow(2,d)+p,d*e,!0)}if(0<=l){!1===f&&a.u("parse error ("+b+")");break}else b=b.substr(0,g)+L(a,h,-1)+b.substr(k)}return b}
|
||||
function Ve(a,b,c){var d=void 0;a.ja=null;if(b){"{"!=a.T[0]&&(b=b.split(a.T[0]).join("{").split(a.T[1]).join("}"));b=Ue(a,b,'"',7,5,c);if(!b)return d;b=Ue(a,b,"'",6,6,c);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*| )/);d=Pe(a,b,0,b.length,a.U,c);void 0!==d&&!1===c&&We(a,null,d)}return d}
|
||||
function Re(a,b,c){for(;c;){switch(c&3){case 1:b=-Y(a,b);break;case 2:b=Ne(a,b,-1);break;case 3:for(var d=35;0<=d&&!Le(a,b,Math.pow(2,d));)d--;b=35-d}c>>>=2}return b}
|
||||
function Qe(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b){f=a.ub(b);if(0<=f)f=a.vb(f);else if(f=a.i[b]&&a.i[b].value,null!=f){var g=a.i[b]&&a.i[b].ja;g&&(a.ja?(d||(a.u(b+" has too many undefined values ("+g+","+a.ja+")"),d=!0),f=void 0):a.ja=g)}else f=oa(b,1<b.length?a.U:10);null!=f?f=Y(a,Re(a,f,e)):d||a.u("invalid "+(c?c:"value")+": "+b)}else d||a.u("missing "+(c||"value"));return f}
|
||||
function We(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.U?L(a,c,a.L,8,1)+" "+c+".":L(a,c,a.L,16,1)+" "+L(a,c,a.L,8,1)+" "+L(a,c,a.L,2,32>=a.L?8:6)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.u((null!=b?b+": ":"")+d);return e}function Xe(a){var b=a.i;a.i={};return b}function Ye(a,b){if(b)return We(a,b,a.i[b].value);var c=0;for(b in a.i)We(a,b,a.i[b].value),c++;return 0<c}
|
||||
function L(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.U){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=pa(b,2,a,"",e);break;case 8:b=va(b,0<c?(c+2)/3|0:0,!!e);break;case 10:b=wa(b,0<c?Math.ceil(.3*c):0);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
||||
var Te={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Se={"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20},Me=Math.pow(2,32);
|
||||
function Ze(a){Je.call(this,a);this.Ja=!1;this.Ga=18;this.L=36;this.T=["<",">"];this.ua=[];this.Ia=Z();this.M=Z(0);this.pa=Z(0);this.ka=Z(0);this.I=[];this.b=this.N=this.K=[];$e(this);this.W=this.qa=0;this.j=[];this.Da=void 0;af(this);this.D=this;this.wa={};this.ca=this.Fb=0;this.ba=null;this.R=[];bf(this,a.messages);this.va=a.commands;this.Ha=[];this.O=0;this.Oa=this.Ea=null;this.F=this.La=this.Ka=this.oa=this.Ca=0;this.xa=this.na=this.ga=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return ed(b,
|
||||
a)}):void 0===global[v]&&(global[v]=function(a){return ed(b,a)})}ja(Ze,Je);function cf(a){a=a&&a.B;null==a&&(a=-1);return a}function Z(a,b,c){return{B:void 0===a?null:a,fb:void 0===b?!1:b,ra:!1,U:c}}function df(a,b,c,d){a.B=b;a.fb=c||!1;a.ra=!1;a.U=d}function ef(a){return[a.B,a.fb,a.ra,a.U,a.ib]}function ff(a,b){var c=Z(b[0],b[1],b[2]);c.ra=b[3];b[4]&&(c.Ab=Ke(a,c.ib=b[4]));return c}m=Ze.prototype;
|
||||
m.Ma=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.na=a.j;this.Ga=b.F;(b=$c(a,"messages"))&&bf(this,b);if(a=$c(a,"commands"))this.va=a;gf(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=cf(hf(d,c,d.pa));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Hc[c],p&&d.u(n(p.id,8)+" %"+
|
||||
n(e<<d.G.i,8)+" %"+n(p.B,8)+" "+n(p.Ya,4,!0)+" "+n(p.size,4,!0)+" "+l),c!=Oc&&(c=-1),l=0);a+=16384;e++}}});Mb(this)};
|
||||
m.ta=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ga=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ed(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.w.length-1&&(b=d.w[++d.C])):40==a.keyCode&&(0<d.C?b=d.w[--d.C]:(b="",d.C=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Wa(c,function(){if(d.ga){var a=d.ga.value;
|
||||
d.ga.value="";ed(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Wa(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=tc(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function dd(a){if(a.ga){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ga.focus();window&&window.scrollTo(b,c)}}m.Na=function(a,b){var c=-1,d=bf(a);-1!==d&&(c=zc(this.G,d),b&&null!=a.B&&(a.B+=b||1));return c};m.zb=function(a,b,c){var d=bf(a);-1!==d&&(yc(this.G,d,b),c&&null!=a.B&&(a.B+=c||1),J(this.H,-1))};
|
||||
d.ga.value="";ed(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Wa(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=tc(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function dd(a){if(a.ga){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ga.focus();window&&window.scrollTo(b,c)}}m.Na=function(a,b){var c=-1,d=cf(a);-1!==d&&(c=zc(this.G,d),b&&null!=a.B&&(a.B+=b||1));return c};m.zb=function(a,b,c){var d=cf(a);-1!==d&&(yc(this.G,d,b),c&&null!=a.B&&(a.B+=c||1),K(this.H,-1))};
|
||||
m.Jb=function(a,b){0>a&&(a+=D);0>b&&(b+=D);a=xe.call(this.v,a,b,!1,!0);a>=B&&(a-=D);return a};
|
||||
function gf(a,b,c){var d,e;c||(c=Z());var f=c.B;if(void 0!==b){a:{var g,f=a.T[0],h=a.T[1];g="("==f||"{"==f||"["==f?"\\":"";for(var k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);){var l=Ue(a,g[1]);if(void 0===l){b=void 0;break a}b=b.replace(f+g[1]+h,null!=l?K(a,l):"undefined")}if(a.ua.length)for(f=a.ua[0],h=a.ua[1],g="("==f||"{"==f||"["==f?"\\":"",k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);)b=b.replace("["+g[1]+"]","unimplemented");for(;f=b.match(/\$([a-z]+)/i);){h=
|
||||
null;switch(f[1].toLowerCase()){case "ops":h=0}if(null==h)break;b=b.replace(f[0],h.toString())}}"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var p,f=b,u;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(f=f.toUpperCase(),h=0;h<a.I.length;h++)if(g=a.I[h].Z[f],null!=g){u=g.o;break}null!=u&&(p=Z(u));if(p)return p;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Ue(a,b)}null!=f&&(f=hf(f,a.Ga),cf(c,f,d,e));return c}function jf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ab=Ke(a,b.ib=c[2]))}
|
||||
function hf(a,b){0>a&&a>=-B&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function kf(a,b){return K(a,b/Tb,18)+" "+K(a,b%Tb,18)}
|
||||
function af(a,b){a.D=a;a.ca=a.Fb=536870916;a.ba=null;a.R=[];b=Ke(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in bc){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ca|=bc[c],a.u(c+" messages enabled"))}}function ff(a,b){for(var c in bc)if(16==bc[c]){a.wa[c]=b;break}}m.ub=function(a){return lf.indexOf(a.toUpperCase())};
|
||||
m.vb=function(a){var b,c=this.v;switch(a){case mf:b=c.i;break;case nf:b=c.I;break;case of:b=c.b;break;case pf:b=c.j&x;break;case qf:b=c.j&131072?1:0;break;case rf:b=c.j&65536?1:0;break;case sf:b=c.j&32768?1:0;break;case tf:b=c.j&32?1:0;break;case uf:b=c.j&262144?1:0}return b};
|
||||
m.message=function(a,b){b&&(a+=" @"+K(this,Z(this.v.Ea).B,18));if(!this.ba||a!=this.ba)if(this.ba=a,this.ca&1073741824)this.R.push(a);else{var c;if(this.ca&-2147483648&&this.v&&(c=this.v.A.P)||Nb(this,!0))this.Y(),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,md(a),a.na=0,a.H&&J(a.H,void 0))}};
|
||||
function $e(a){var b;if(!td(a))a.j&&a.j.length&&a.u("instruction history buffer freed"),a.W=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(vf);for(b=0;b<a.j.length;b++)a.j[b]=Z();a.W=0;a.u("instruction history buffer allocated")}}function wf(a,b,c){if(!xf(a,c))return!1;sc(a.v,b);return!0}
|
||||
function tc(a,b,c,d){if(!xf(a))return!1;var e="";null===c&&(e=(c=!a.Ea||"tr"==a.Ea)?"tr":"t");a.F=0;b||td(a)&&ud(a,a.v.i,0);try{b=kd(a.v,b);var f=a.v.$a(b);0<f&&(uc(a.v,f),a.F+=f,vc(a.v,f,!0),wc(a.v,f),a.oa++)}catch(g){"number"!=typeof g&&(a.F=0,yb(a.v,g.stack||g.message))}!1!==d&&(a.na&&a.na.stop(),J(a.H,-1));cd(a,c||!1,e);return 0<a.F}m.Y=function(a){this.v&&this.v.Y(a)};function cd(a,b,c){b=void 0===b?!0:b;a.Ja&&(c&&a.u(yf+c),cf(a.M,a.v.i),b&&1!=a.O?zf(a):Af(a))}
|
||||
function xf(a,b){var c;(c=!a.v||!Bb(a.v))||(c=a.v,c.A.aa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.P?(b||a.u("cpu busy or unavailable, command ignored"),!1):!zb(a.v)}m.Ba=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};m.sa=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){$e(this);this.oa=0;this.ba=null;this.F=0;cf(this.M,this.v.i);this.A.P=!1;Bf(this);a||cd(this)};
|
||||
m.save=function(){var a=new F(this);a.set(0,df(this.M));a.set(1,df(this.pa));a.set(2,df(this.ka));a.set(3,[this.w,this.V,this.ca]);a.set(4,this.I);return a.data()};m.restore=function(a){var b=0;void 0!==a[3]&&(this.M=ef(this,a[b++]),this.pa=ef(this,a[b++]),this.ka=ef(this,a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.V=a[b][1],this.ca|=a[b][2]);a[4]&&(this.I=a[4]);return!0};m.start=function(a,b){this.O||this.u("running");this.A.P=!0;this.Ka=a;this.La=b};
|
||||
m.stop=function(a,b){if(this.A.P){this.A.P=!1;this.F=b-this.La;if(!this.O){b="stopped";if(this.F){a-=this.Ka;var c=0<a?Math.round(1E3*this.F/a):0;b+=" (";td(this)&&(b+=this.oa+" instructions, ",this.oa=0);b+=this.F+" cycles, "+a+" ms, "+c+" hz)"}else Pb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}cd(this,!0);dd(this);Bf(this,this.v.i);this.ba=null}};function td(a){return 1<a.b.length||!!a.qa}
|
||||
function ud(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.Ea==b&&(b=sd(a.v,1)));if(0<c&&(a.qa&&!--a.qa||Xc(a,b,1,a.b)))return!0;0<=c&&a.j.length&&(a.oa++,0>d&&(d=a.v.f(b)),0<=d&&(cf(a.j[a.W],b),++a.W==a.j.length&&(a.W=0)));return!1}
|
||||
function Cf(a,b,c,d){var e=Z(b.B),f=a.Na(b,1),g,h,k,l=0,p=f/Yb|0,u;for(u in Df)if(g=Df[u][p&u]){h=+u;p>>=6;switch(h){case 32512:k=Ef;l=p&3;break;case 32256:k=Ff;l=p&7;break;case 29248:k=Gf,l=(p&48)>>2|(p&6)>>1}break}k=k&&k[l]||"";"S"==k&&g>Hf&&(k="B");k=If[g||0]+k;if(g){if(28700==h)h=f/Zb&127,l=K(a,h,-1);else for(h=f>>23&15,l=K(a,h,-1),p=0;l&&p<Jf.length;p++)if(g==Jf[p][0]&&(u=Jf[p][h])){k=If[u];l="";break}k=Ca(k,8)+(l?l+",":"");f&4194304&&(k+="@");k+=K(a,f&262143,-1);(f=f>>18&15)&&(k+="("+K(a,f,
|
||||
-1)+")")}else k=Ca(k,8)+kf(a,f);f=k;g="";h=K(a,e.B,18)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Na(e,1),g+=" "+kf(a,k),null==e.B)break;while(e.B!=b.B)}h+=Ca(g,16)+f;c&&(h=Ca(h,48)+";"+(c||""),h=a.v.A.Va?h+("cycles="+fd(a.v).toString()+" cs="+n(a.v.Ha)):h+(null!=d?"="+d.toString():""));return h}
|
||||
function Kf(a,b,c,d,e,f){var g=-1,h,k;a.ja=null;if(b){for(var l=b.toUpperCase(),p=0;p<Jf.length;p++)for(var u in Jf[p])if(+u&&(k=Jf[p][u],l==If[k])){l=If[Jf[p][0]];c&&(c=K(a,+u)+","+c);break}for(var A in Df){h=+A;u=Df[A];switch(h){case 32512:p=Ef;break;case 32256:p=Ff;break;case 29248:p=Gf;break;default:p=[""]}for(var I in u){k=u[I];for(var M=0;M<p.length;M++){var ka=p[M];"S"==ka&&k>Hf&&(ka="B");if(l==If[k]+ka){g=29248!=h?M:(M&3)<<1|(M&12)<<2;g=(I|g<<6)*Yb;break}}if(0<=g)break}if(0<=g)break}!(0>g)||
|
||||
c&&c.match(/^[0-9A-Z$%.?]/i)||(c=b+c,b="",g=0)}else c&&(g=h=0);if(0<=g&&c)for(l=c.split(","),A=0;A<l.length;A++)if(k=l[A].trim()){if(1<A){a.u("too many operands: "+c);g=-1;break}I=k.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!I){a.u("unknown operand: "+k);g=-1;break}I[1]&&(g+=4194304);if(k=I[3]){k=Ue(a,k,e);if(void 0==k){g=-1;break}if(0>k||15<k)k&=15;g+=k<<18}k=I[2];if(A||1==l.length)k=k?k.replace(/(^|[^0-9])\./g,"$1"+K(a,d,18)):"0";k=Ue(a,k,e);if(void 0==k){g=-1;break}if(!A&&1<l.length)if(28700==h){if(0>
|
||||
k||127<k)k&=127;g+=k*Zb}else{if(0>k||15<k)k&=15;g+=k<<23}else{if(b||A)if(0>k||262143<k)k&=Sb;g+=k}}0>g&&!f&&a.u("unknown instruction: "+b+" "+c);return g}function Ze(a){var b,c;a.b=["bp"];if(a.N)for(b=1;b<a.N.length;b++){c=a.N[b];c=bf(c);var d=a.G;Wc(d.b[c>>>d.i],!1)}a.N=["br"];if(a.K)for(b=1;b<a.K.length;b++)c=a.K[b],c=bf(c),d=a.G,Wc(d.b[c>>>d.i],!0);a.K=["bw"];a.Ca=0;a.qa=0}
|
||||
m.Ra=function(a,b,c){var d=!0;c||Lf(this,a,b,!1,!0);if(a!=this.b){var e=bf(b);if(-1===e)this.u("invalid address: "+K(this,b.B,18)),d=!1;else{var f=this.G;f.b[e>>>f.i].Ra(e&16383,a==this.K)}}d&&(a.push(b),c?b.ra=!0:(Mf(this,a,a.length-1,"set"),$e(this)));return d};function Lf(a,b,c,d,e){var f=!1;c=bf(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==bf(h)&&(!d||h.ra)){f=!0;h.ra||e||Mf(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.G,Wc(d.b[c>>>d.i],b==a.K));h.ra||$e(a);break}}return f}
|
||||
function Nf(a,b){for(var c=1;c<b.length;c++)Mf(a,b,c);return b.length-1}function Mf(a,b,c,d){c=b[c];a.u(b[0]+" "+K(a,c.B,18)+(d?" "+d:c.ib?' "'+c.ib+'"':""))}function Bf(a,b){if(void 0!==b)Xc(a,b,1,a.b,!0),a.O=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ra){if(!Lf(a,a.b,c,!0))break;b=0}}}
|
||||
function Xc(a,b,c,d,e){var f=!1;if(!a.Ca++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ra)for(var k=bf(h)&(d==a.b?65535:-1),l=0;l<c;l++)if(b+l==k){var p,f=!0;h.ra&&(Lf(a,d,h,!0),e=!0);if(p=h.Ab){for(var f=!1,u=0;u<p.length;u++)if(!Of(a,p[u],!0)){if(p[u].indexOf("if")){f=!0;break}for(var A=u+1;A<p.length&&p[A].indexOf("else");A++)u++;if(A==p.length){f=!0;break}}a.v.A.P||(f=!0)}if(f){e||Mf(a,d,g,"hit");break}}}a.Ca--;return f}
|
||||
function Pf(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=va(d,2);cf(e.Ia,d);f+="="+K(e,e.Na(e.Ia),36)+" ";c+=f}if(b){b="";for(d=0;d<lf.length;d++)(e=lf[d]||"")&&(e+="="+K(a,a.vb(d),d>=qf?1:d==nf?23:18)+" "),b+=e;c+="\n"+b}return c}m.Hb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function De(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,l=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],u=Ga(p,k,a.Hb);0>u&&p.splice(-(u+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.I.push({yd:b,B:c,Wb:d,Z:e,Cb:f})}function Qf(a,b,c){var d=[],e=bf(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],g=f.B>>>0,h=f.Wb;if(e>=g&&e<g+h){e=Ga(f.Cb,[e-g],a.Hb);0<=e?qg(a,b,e,d):c&&(e=~e,qg(a,b,e-1,d),qg(a,b,e,d));break}}return d}
|
||||
function sg(a,b,c){var d=a.G,e=0,f=null,g=0;b.forEach(function(a,b){d.b[(b&d.j)>>>d.i].g(a,b&16383,b);null==f&&(f=b);b>g&&(g=b);e++});e?(b="start address ",null!=c?(H(a.v,c),b+=K(a,c)):b+="unspecified",a.u(e+" words loaded at "+K(a,f)+"-"+K(a,g)+", "+b),cd(a)):a.u("no data")}function qg(a,b,c,d){var e={},f=a.I[b].Cb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.I[b].Z[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function tg(a,b){var c=b[0].substr(1),d=b[1]&&"0"<=b[1][0]&&"9">=b[1][0]?b[1]:void 0,e=d?b[2]:b[1],f=gf(a,d,a.ka);if(!e)return a.u("begin assemble at "+K(a,f.B,18)),a.V=!0,J(a.H),!0;var g=e.match(/^(['"]?)(.*\.klm|.*\.mac|.*\.html|.*\.txt)\1$/i);if(g){f=gf(a,d);if(a.xa)a.u("assembly already in progress");else var h=g[2],k=f.B,l=a.xa=new ug(h,k,c,a,function(b,c){if(!b)try{var d=l.H;null==d&&(d=k);sg(a,l.S,d)}catch(I){"number"==typeof I?b=I||-1:(a.u(I.message),b=-1)}b&&a.u("error ("+b+") processing "+
|
||||
(c||h));a.xa=null;b||ed(a)});return!1}b.shift();b.shift();b.shift();b=Kf(a,e,b.join(""),f.B||0);0<=b&&(a.zb(f,b),a.u(Cf(a,f)));return!0}function vg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Xe(a)||a.u("no variables"),!0;if(!c[2])return Xe(a,c[1]);if(!c[3])return delete a.i[c[1]],!0;b=Ue(a,c[3]);return void 0!==b?(a.i[c[1]]={value:b,ja:void 0},!0):!1}a.u("invalid assignment:"+b);return!1}
|
||||
function wg(a,b,c){var d=null;b=gf(a,b);var e=Qf(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+n(f,4,!0)),f=e[0]+" ("+K(a,e[1],18)+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+K(a,e[5],18)+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols");return d}
|
||||
function zf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=Ue(a,b);if(void 0===g)return;b=a.ub(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case mf:H(h,
|
||||
g);cf(a.M,h.i);break;case pf:rd(h,g);break;case qf:f=131072;break;case rf:f=65536;break;case sf:f=32768;break;case tf:f=32;break;case uf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);J(a.H);a.u("updated registers:")}}a.u(Pf(a,e));c&&(cf(a.M,0<=d.O?d.O:d.i),Af(a,K(a,a.M.B,18)))}}function xg(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):Ve(a,null,c[2].charCodeAt(0)):Ue(a,b,!1)}
|
||||
function yg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Qe(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Ea=b;Va(c,function(){return Ob(a,!0)&&tc(a,e,d,!1)},function(){a.na&&a.na.stop();J(a.H,-1);Ob(a,!1)})}}
|
||||
function Af(a,b,c,d){b=gf(a,b,a.M);void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Qe(a,c.substr(1)),null!=c&&(d=c);else{d=gf(a,c);if(d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Nb(a,!1)||a.O?a.F:null,g=null!=f?"cycles":null,h=Qf(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ka;l=b;h.B=l.B;h.fb=l.fb;h.ra=l.ra;h.U=l.U;a.u(Cf(a,b,g,f));e-=b.B-k;c++}}
|
||||
function Of(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(yf+b):(a.V&&(a.u("ended assemble at "+K(a,a.ka.B,18)),a.V=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ba=null;if(Bb(a)&&0<b.length){a.V&&(b="a "+K(a,a.ka.B,18)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),l=1;l<h.length;l++){var p=h.charAt(l);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(l);g.unshift(h.substr(0,l));break}}switch(g[0].charAt(0)){case "a":d=
|
||||
tg(a,g);break;case "b":var u=g[0],A=g[1],I=b;if("?"==A)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var M=u.charAt(1);if("l"==M){var ka;ka=0+Nf(a,a.b);ka+=Nf(a,a.N);(ka+=Nf(a,a.K))||a.u("no breakpoints")}else if("n"==M){var Ab=+A||0;A&&(a.qa=Ab);a.u("break after "+Ab+" instruction(s)")}else if(void 0===
|
||||
A)a.u("missing breakpoint address");else{var G="*"==A?Z():gf(a,A,a.M);"c"==M?null==G.B?(Ze(a),a.u("all breakpoints cleared")):Lf(a,a.b,G)||Lf(a,a.N,G)||Lf(a,a.K,G)||a.u("breakpoint missing: "+K(a,G.B,18)):null!=G.B&&(jf(a,G,I),"p"==M?a.Ra(a.b,G):"r"==M?a.Ra(a.N,G):"w"==M?a.Ra(a.K,G):a.u("unknown breakpoint command: "+M))}}break;case "c":a.za&&(a.za.value="");break;case "d":a:{var hb,ib=g[0],qa=g[1],Ea=g[2],Ih=g[3];if("?"==qa){var jb="";for(hb in bc)a.wa[hb]&&(jb&&(jb+=","),jb+=hb);jb+=",state,symbols";
|
||||
a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");jb.length&&a.u("dump extension commands:\n\t"+jb)}else if("state"==qa){var Ld=zg(a.H,!0);"console"==Ea?console.log(Ld):(a.za&&(a.za.value=""),Ld&&a.u(Ld))}else if("symbols"==qa)for(var Md=0;Md<a.I.length;Md++){var Nd=a.I[Md],kb;for(kb in Nd.Z)if("."!=kb.charAt(0)){var Rf=Nd.Z[kb].o;if(void 0!==Rf){var Sf=
|
||||
Nd.Z[kb].l;Sf&&(kb=Sf);a.u(K(a,Rf,18)+" "+kb)}}}else{if("d"==ib){for(hb in bc)if(g[1]==hb){var Tf=a.wa[hb];Tf?(g.shift(),g.shift(),Tf(g)):a.u("no dump registered for "+qa);break a}qa||(ib=a.Oa||"dw")}else a.Oa=ib;if("dh"==ib){var Uf=qa,Vf=Ea,Wf="",Xf=0,la=a.W,ra=a.j;if(ra.length){var ea=+Uf||a.Da,Cb=+Vf||10;isNaN(ea)?ea=Cb:Wf="more ";ea>ra.length&&(a.u("note: only "+ra.length+" available"),ea=ra.length);la-=ea;0>la&&(null==ra[ra.length-1].B?(ea=la+ea,la=0):la+=ra.length);var Od=[];"call"==Vf&&(Cb=
|
||||
1E5,Od=["CALL"]);for(void 0!==Uf&&a.u(ea+" instructions earlier:");0<Cb&&la!=a.W;){var Yf=ra[la++];if(null==Yf.B)break;var Db=Z(Yf.B),Jh=ea--,Zf=Cf(a,Db,"history",Jh);(!Od.length||0<=Zf.indexOf(Od[0]))&&a.u(Zf);Db.sb&&(la+=Db.sb,Cb-=Db.sb,ea-=Db.sb);la>=ra.length&&(la=0);a.Da=ea;Xf++;Cb--}}Xf||(a.u("no "+Wf+"history available"),a.Da=void 0)}else{var Na=0,$f="ds"==ib,Eb=gf(a,qa,a.pa);Ea&&("l"==Ea.charAt(0)?(Ea=Ea.substr(1)||Ih,Na=Qe(a,Ea)):Na=gf(a,Ea).B-Eb.B,0>Na&&(Na=0),65536<Na&&(Na=65536));var Kh=
|
||||
a.U;Eb.U&&(a.U=Eb.U);for(var ag="db"==ib?1:2,Pd=Na||32,Qd=1==ag?1:4,Lh=(Pd+Qd-1)/Qd|0||1,Oa="";Lh--&&0<Pd;){for(var sa="",Rd="",qa=K(a,Eb.B,18),bg=Qd;0<bg--&&0<Pd--;){var Sd=a.Na(Eb,1);$f?(sa&&(sa+=","),sa+=Sd):(sa+=kf(a,Sd),sa+=" ");for(var Ic=29,Mh=0;1==ag&&0<=Ic;Mh++)var Fb=Sd/Math.pow(2,Ic)%Math.pow(2,7),sa=sa+(K(a,Fb,7)+" "),Fb=Fb+0,Rd=Rd+(32>Fb?".":String.fromCharCode(Fb)),Ic=Ic-7}Oa&&(Oa+="\n");Oa=$f?Oa+(sa+","):Oa+(qa+": "+sa+(0>bg?" "+Rd:""))}Oa&&a.u(Oa);a.U=Kh}}}break;case "e":if("else"==
|
||||
g[0])break;var cg,dg,eg=g[0],Td=g[1];"e"==eg||"ew"==eg?(cg=a.Na,dg=a.zb):Td=null;if(null==Td)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var Ud=gf(a,Td,a.pa),Vd=2;Vd<g.length;Vd++){var Gb=Ue(a,g[Vd]);if(void 0===Gb)break;Gb=hf(Gb);a.u("changing "+K(a,Ud.B,18)+" from "+kf(a,cg.call(a,Ud))+" to "+kf(a,Gb));dg.call(a,Ud,Gb,1)}break;case "g":var fg=g[1],Nh=b;if(void 0!==fg){var gg=gf(a,fg);jf(a,gg,Nh);a.Ra(a.b,gg,!0)}wf(a,!0,c);break;case "h":a.A.P?(c||a.u("halting"),
|
||||
a.Y()):Nb(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var Wd;var Hb=b.substr(2),Hb=Da(Hb);Ue(a,Hb)?(c||a.u("true: "+Hb),Wd=!0):(c||a.u("false: "+Hb),Wd=!1);Wd||(d=!1);break}f=!0;break;case "k":var Oh=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var Xd=0,Yd=Z(),Ib=Z();for(a.u("stack trace for "+K(a,Ib.B,18));10>Xd;){for(var Pa=null,Ph=256;65536>Ib.B>>>0;){Yd.B=a.Na(Ib,2);if(null==Ib.B||!Ph--)break;if(!(Yd.B&
|
||||
1)){for(var Qh=a,Jc=Yd,hg=null,Jb=Jc.B,ig=Jb,Zd=1;6>=Zd&&Jb;Zd++){if(2<Zd){Jc.B=Jb;var Kc=Cf(Qh,Jc);if(0<=Kc.indexOf("JSR")){var jg=Kc.indexOf(" ");if(Jb+(Kc.indexOf(" ",jg+1)-jg-1)/2==ig){hg=Kc;break}}}Jb-=2}Jc.B=ig;if(Pa=hg)break}}if(!Pa||null==Pa)break;var kg=null;if("ks"==Oh){var lg=Pa.match(/[0-9A-F]+$/);lg&&(kg=wg(a,lg[0]))}Pa=Ca(Pa,50)+" ;"+(kg||"stack="+K(a,Ib.B,18));a.u(Pa);Xd++}Xd||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){wg(a,g[1],!0);break}f=!0;break;case "m":a:{var ta,
|
||||
ua=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Fa=0;if("all"==N)Fa=1879046143,N=null;else if("on"==N)ua=!0,N=null;else if("off"==N)ua=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(ta in bc)if(N==ta){Fa=bc[ta];ua=!!(a.ca&Fa);break}if(!Fa){a.u("unknown message category: "+N);break a}}if(Fa)if("on"==g[2])a.ca|=Fa,ua=!0;else if("off"==g[2]&&(a.ca&=~Fa,ua=!1,1073741824==Fa)){for(var mg=1E3<=a.R.length?a.R.length-1E3:0;mg<a.R.length;)a.u(a.R[mg++]);a.R=[]}}var Rh=0,Kb="";for(ta in bc)if(!N||
|
||||
N==ta){var Sh=!!(a.ca&bc[ta]);if(null===ua||ua==Sh)Kb&&(Kb+=","),++Rh%10||(Kb+="\n\t"),"key"==ta&&(ta="keys"),Kb+=ta}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==ua?ua?"messages on: ":"messages off: ":"message categories:\n\t")+(Kb||"none"));$e(a)}break;case "p":if("print"==g[0]){xg(a,b.substr(5));break}var ng=g[0],og="p"==ng?0:"pr"==ng?1:-1;if("?"==g[1]||0>og)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");
|
||||
else if(a.O)a.u("step in progress");else{var pg=Z(a.v.i);a.Na(pg);a.O?(a.Ra(a.b,pg,!0),wf(a)||(a.H&&jd(a.H),a.O=0)):yg(a,og?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}zf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var lb=+g[2];if(2==lb||8==lb||10==lb||16==lb)a.U=lb;else{a.u("invalid base: "+lb);break}}a.u("default base: "+a.U);break;case "cs":var Lb;void 0!==g[3]&&(Lb=+g[3]);switch(g[2]){case "int":a.v.pa=Lb;break;case "start":a.v.Ia=Lb;break;case "stop":a.v.ua=Lb;
|
||||
function hf(a,b,c){var d,e;c||(c=Z());var f=c.B;if(void 0!==b){a:{var g,f=a.T[0],h=a.T[1];g="("==f||"{"==f||"["==f?"\\":"";for(var k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);){var l=Ve(a,g[1]);if(void 0===l){b=void 0;break a}b=b.replace(f+g[1]+h,null!=l?L(a,l):"undefined")}if(a.ua.length)for(f=a.ua[0],h=a.ua[1],g="("==f||"{"==f||"["==f?"\\":"",k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);)b=b.replace("["+g[1]+"]","unimplemented");for(;f=b.match(/\$([a-z]+)/i);){h=
|
||||
null;switch(f[1].toLowerCase()){case "ops":h=0}if(null==h)break;b=b.replace(f[0],h.toString())}}"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var p,f=b,u;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(f=f.toUpperCase(),h=0;h<a.I.length;h++)if(g=a.I[h].Z[f],null!=g){u=g.o;break}null!=u&&(p=Z(u));if(p)return p;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Ve(a,b)}null!=f&&(f=jf(f,a.Ga),df(c,f,d,e));return c}function kf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ab=Ke(a,b.ib=c[2]))}
|
||||
function jf(a,b){0>a&&a>=-B&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function lf(a,b){return L(a,b/Tb,18)+" "+L(a,b%Tb,18)}
|
||||
function bf(a,b){a.D=a;a.ca=a.Fb=536870916;a.ba=null;a.R=[];b=Ke(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in bc){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ca|=bc[c],a.u(c+" messages enabled"))}}function gf(a,b){for(var c in bc)if(16==bc[c]){a.wa[c]=b;break}}m.ub=function(a){return mf.indexOf(a.toUpperCase())};
|
||||
m.vb=function(a){var b,c=this.v;switch(a){case nf:b=c.i;break;case of:b=c.I;break;case pf:b=c.b;break;case qf:b=c.j&x;break;case rf:b=c.j&131072?1:0;break;case sf:b=c.j&65536?1:0;break;case tf:b=c.j&32768?1:0;break;case uf:b=c.j&32?1:0;break;case vf:b=c.j&262144?1:0}return b};
|
||||
m.message=function(a,b){b&&(a+=" @"+L(this,Z(this.v.Ea).B,18));if(!this.ba||a!=this.ba)if(this.ba=a,this.ca&1073741824)this.R.push(a);else{var c;if(this.ca&-2147483648&&this.v&&(c=this.v.A.P)||Nb(this,!0))this.Y(),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,md(a),a.na=0,a.H&&K(a.H,void 0))}};
|
||||
function af(a){var b;if(!td(a))a.j&&a.j.length&&a.u("instruction history buffer freed"),a.W=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(wf);for(b=0;b<a.j.length;b++)a.j[b]=Z();a.W=0;a.u("instruction history buffer allocated")}}function xf(a,b,c){if(!yf(a,c))return!1;sc(a.v,b);return!0}
|
||||
function tc(a,b,c,d){if(!yf(a))return!1;var e="";null===c&&(e=(c=!a.Ea||"tr"==a.Ea)?"tr":"t");a.F=0;b||td(a)&&ud(a,a.v.i,0);try{b=kd(a.v,b);var f=a.v.$a(b);0<f&&(uc(a.v,f),a.F+=f,vc(a.v,f,!0),wc(a.v,f),a.oa++)}catch(g){"number"!=typeof g&&(a.F=0,yb(a.v,g.stack||g.message))}!1!==d&&(a.na&&a.na.stop(),K(a.H,-1));cd(a,c||!1,e);return 0<a.F}m.Y=function(a){this.v&&this.v.Y(a)};function cd(a,b,c){b=void 0===b?!0:b;a.Ja&&(c&&a.u(zf+c),df(a.M,a.v.i),b&&1!=a.O?Af(a):Bf(a))}
|
||||
function yf(a,b){var c;(c=!a.v||!Bb(a.v))||(c=a.v,c.A.aa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.P?(b||a.u("cpu busy or unavailable, command ignored"),!1):!zb(a.v)}m.Ba=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};m.sa=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){af(this);this.oa=0;this.ba=null;this.F=0;df(this.M,this.v.i);this.A.P=!1;Cf(this);a||cd(this)};
|
||||
m.save=function(){var a=new G(this);a.set(0,ef(this.M));a.set(1,ef(this.pa));a.set(2,ef(this.ka));a.set(3,[this.w,this.V,this.ca]);a.set(4,this.I);return a.data()};m.restore=function(a){var b=0;void 0!==a[3]&&(this.M=ff(this,a[b++]),this.pa=ff(this,a[b++]),this.ka=ff(this,a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.V=a[b][1],this.ca|=a[b][2]);a[4]&&(this.I=a[4]);return!0};m.start=function(a,b){this.O||this.u("running");this.A.P=!0;this.Ka=a;this.La=b};
|
||||
m.stop=function(a,b){if(this.A.P){this.A.P=!1;this.F=b-this.La;if(!this.O){b="stopped";if(this.F){a-=this.Ka;var c=0<a?Math.round(1E3*this.F/a):0;b+=" (";td(this)&&(b+=this.oa+" instructions, ",this.oa=0);b+=this.F+" cycles, "+a+" ms, "+c+" hz)"}else Pb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}cd(this,!0);dd(this);Cf(this,this.v.i);this.ba=null}};function td(a){return 1<a.b.length||!!a.qa}
|
||||
function ud(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.Ea==b&&(b=sd(a.v,1)));if(0<c&&(a.qa&&!--a.qa||Xc(a,b,1,a.b)))return!0;0<=c&&a.j.length&&(a.oa++,0>d&&(d=a.v.f(b)),0<=d&&(df(a.j[a.W],b),++a.W==a.j.length&&(a.W=0)));return!1}
|
||||
function Df(a,b,c,d){var e=Z(b.B),f=a.Na(b,1),g,h,k,l=0,p=f/Yb|0,u;for(u in Ef)if(g=Ef[u][p&u]){h=+u;p>>=6;switch(h){case 32512:k=Ff;l=p&3;break;case 32256:k=Gf;l=p&7;break;case 29248:k=Hf,l=(p&48)>>2|(p&6)>>1}break}k=k&&k[l]||"";"S"==k&&g>If&&(k="B");k=Jf[g||0]+k;if(g){if(28700==h)h=f/Zb&127,l=L(a,h,-1);else for(h=f>>23&15,l=L(a,h,-1),p=0;l&&p<Kf.length;p++)if(g==Kf[p][0]&&(u=Kf[p][h])){k=Jf[u];l="";break}k=Ca(k,8)+(l?l+",":"");f&4194304&&(k+="@");k+=L(a,f&262143,-1);(f=f>>18&15)&&(k+="("+L(a,f,
|
||||
-1)+")")}else k=Ca(k,8)+lf(a,f);f=k;g="";h=L(a,e.B,18)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Na(e,1),g+=" "+lf(a,k),null==e.B)break;while(e.B!=b.B)}h+=Ca(g,16)+f;c&&(h=Ca(h,48)+";"+(c||""),h=a.v.A.Va?h+("cycles="+fd(a.v).toString()+" cs="+n(a.v.Ha)):h+(null!=d?"="+d.toString():""));return h}
|
||||
function Lf(a,b,c,d,e,f){var g=-1,h,k;a.ja=null;if(b){for(var l=b.toUpperCase(),p=0;p<Kf.length;p++)for(var u in Kf[p])if(+u&&(k=Kf[p][u],l==Jf[k])){l=Jf[Kf[p][0]];c&&(c=L(a,+u)+","+c);break}for(var A in Ef){h=+A;u=Ef[A];switch(h){case 32512:p=Ff;break;case 32256:p=Gf;break;case 29248:p=Hf;break;default:p=[""]}for(var J in u){k=u[J];for(var F=0;F<p.length;F++){var ka=p[F];"S"==ka&&k>If&&(ka="B");if(l==Jf[k]+ka){g=29248!=h?F:(F&3)<<1|(F&12)<<2;g=(J|g<<6)*Yb;break}}if(0<=g)break}if(0<=g)break}!(0>g)||
|
||||
c&&c.match(/^[0-9A-Z$%.?]/i)||(c=b+c,b="",g=0)}else c&&(g=h=0);if(0<=g&&c)for(l=c.split(","),A=0;A<l.length;A++)if(k=l[A].trim()){if(1<A){a.u("too many operands: "+c);g=-1;break}J=k.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!J){a.u("unknown operand: "+k);g=-1;break}J[1]&&(g+=4194304);if(k=J[3]){k=Ve(a,k,e);if(void 0==k){g=-1;break}if(0>k||15<k)k&=15;g+=k<<18}k=J[2];if(A||1==l.length)k=k?k.replace(/(^|[^0-9])\./g,"$1"+L(a,d,18)):"0";k=Ve(a,k,e);if(void 0==k){g=-1;break}if(!A&&1<l.length)if(28700==h){if(0>
|
||||
k||127<k)k&=127;g+=k*Zb}else{if(0>k||15<k)k&=15;g+=k<<23}else{if(b||A)if(0>k||262143<k)k&=Sb;g+=k}}0>g&&!f&&a.u("unknown instruction: "+b+" "+c);return g}function $e(a){var b,c;a.b=["bp"];if(a.N)for(b=1;b<a.N.length;b++){c=a.N[b];c=cf(c);var d=a.G;Wc(d.b[c>>>d.i],!1)}a.N=["br"];if(a.K)for(b=1;b<a.K.length;b++)c=a.K[b],c=cf(c),d=a.G,Wc(d.b[c>>>d.i],!0);a.K=["bw"];a.Ca=0;a.qa=0}
|
||||
m.Ra=function(a,b,c){var d=!0;c||Mf(this,a,b,!1,!0);if(a!=this.b){var e=cf(b);if(-1===e)this.u("invalid address: "+L(this,b.B,18)),d=!1;else{var f=this.G;f.b[e>>>f.i].Ra(e&16383,a==this.K)}}d&&(a.push(b),c?b.ra=!0:(Nf(this,a,a.length-1,"set"),af(this)));return d};function Mf(a,b,c,d,e){var f=!1;c=cf(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==cf(h)&&(!d||h.ra)){f=!0;h.ra||e||Nf(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.G,Wc(d.b[c>>>d.i],b==a.K));h.ra||af(a);break}}return f}
|
||||
function Of(a,b){for(var c=1;c<b.length;c++)Nf(a,b,c);return b.length-1}function Nf(a,b,c,d){c=b[c];a.u(b[0]+" "+L(a,c.B,18)+(d?" "+d:c.ib?' "'+c.ib+'"':""))}function Cf(a,b){if(void 0!==b)Xc(a,b,1,a.b,!0),a.O=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ra){if(!Mf(a,a.b,c,!0))break;b=0}}}
|
||||
function Xc(a,b,c,d,e){var f=!1;if(!a.Ca++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ra)for(var k=cf(h)&(d==a.b?65535:-1),l=0;l<c;l++)if(b+l==k){var p,f=!0;h.ra&&(Mf(a,d,h,!0),e=!0);if(p=h.Ab){for(var f=!1,u=0;u<p.length;u++)if(!Pf(a,p[u],!0)){if(p[u].indexOf("if")){f=!0;break}for(var A=u+1;A<p.length&&p[A].indexOf("else");A++)u++;if(A==p.length){f=!0;break}}a.v.A.P||(f=!0)}if(f){e||Nf(a,d,g,"hit");break}}}a.Ca--;return f}
|
||||
function Qf(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=va(d,2);df(e.Ia,d);f+="="+L(e,e.Na(e.Ia),36)+" ";c+=f}if(b){b="";for(d=0;d<mf.length;d++)(e=mf[d]||"")&&(e+="="+L(a,a.vb(d),d>=rf?1:d==of?23:18)+" "),b+=e;c+="\n"+b}return c}m.Hb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function De(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,l=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],u=Ga(p,k,a.Hb);0>u&&p.splice(-(u+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.I.push({yd:b,B:c,Wb:d,Z:e,Cb:f})}function Rf(a,b,c){var d=[],e=cf(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],g=f.B>>>0,h=f.Wb;if(e>=g&&e<g+h){e=Ga(f.Cb,[e-g],a.Hb);0<=e?rg(a,b,e,d):c&&(e=~e,rg(a,b,e-1,d),rg(a,b,e,d));break}}return d}
|
||||
function tg(a,b,c){var d=a.G,e=0,f=null,g=0;b.forEach(function(a,b){d.b[(b&d.j)>>>d.i].g(a,b&16383,b);null==f&&(f=b);b>g&&(g=b);e++});e?(b="start address ",null!=c?(I(a.v,c),b+=L(a,c)):b+="unspecified",a.u(e+" words loaded at "+L(a,f)+"-"+L(a,g)+", "+b),cd(a)):a.u("no data")}function rg(a,b,c,d){var e={},f=a.I[b].Cb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.I[b].Z[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function ug(a,b){var c=b[0].substr(1),d=b[1]&&"0"<=b[1][0]&&"9">=b[1][0]?b[1]:void 0,e=d?b[2]:b[1],f=hf(a,d,a.ka);if(!e)return a.u("begin assemble at "+L(a,f.B,18)),a.V=!0,K(a.H),!0;var g=e.match(/^(['"]?)(.*\.klm|.*\.mac|.*\.html|.*\.txt)\1$/i);if(g){f=hf(a,d);if(a.xa)a.u("assembly already in progress");else var h=g[2],k=f.B,l=a.xa=new vg(h,k,c,a,function(b,c){if(!b)try{var d=l.H;null==d&&(d=k);tg(a,l.S,d)}catch(J){"number"==typeof J?b=J||-1:(a.u(J.message),b=-1)}b&&a.u("error ("+b+") processing "+
|
||||
(c||h));a.xa=null;b||ed(a)});return!1}b.shift();b.shift();b.shift();b=Lf(a,e,b.join(""),f.B||0);0<=b&&(a.zb(f,b),a.u(Df(a,f)));return!0}function wg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ye(a)||a.u("no variables"),!0;if(!c[2])return Ye(a,c[1]);if(!c[3])return delete a.i[c[1]],!0;b=Ve(a,c[3]);return void 0!==b?(a.i[c[1]]={value:b,ja:void 0},!0):!1}a.u("invalid assignment:"+b);return!1}
|
||||
function xg(a,b,c){var d=null;b=hf(a,b);var e=Rf(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+n(f,4,!0)),f=e[0]+" ("+L(a,e[1],18)+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+L(a,e[5],18)+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols");return d}
|
||||
function Af(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=Ve(a,b);if(void 0===g)return;b=a.ub(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case nf:I(h,
|
||||
g);df(a.M,h.i);break;case qf:rd(h,g);break;case rf:f=131072;break;case sf:f=65536;break;case tf:f=32768;break;case uf:f=32;break;case vf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);K(a.H);a.u("updated registers:")}}a.u(Qf(a,e));c&&(df(a.M,0<=d.O?d.O:d.i),Bf(a,L(a,a.M.B,18)))}}function yg(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):We(a,null,c[2].charCodeAt(0)):Ve(a,b,!1)}
|
||||
function zg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Qe(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Ea=b;Va(c,function(){return Ob(a,!0)&&tc(a,e,d,!1)},function(){a.na&&a.na.stop();K(a.H,-1);Ob(a,!1)})}}
|
||||
function Bf(a,b,c,d){b=hf(a,b,a.M);void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Qe(a,c.substr(1)),null!=c&&(d=c);else{d=hf(a,c);if(d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Nb(a,!1)||a.O?a.F:null,g=null!=f?"cycles":null,h=Rf(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ka;l=b;h.B=l.B;h.fb=l.fb;h.ra=l.ra;h.U=l.U;a.u(Df(a,b,g,f));e-=b.B-k;c++}}
|
||||
function Pf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(zf+b):(a.V&&(a.u("ended assemble at "+L(a,a.ka.B,18)),a.V=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ba=null;if(Bb(a)&&0<b.length){a.V&&(b="a "+L(a,a.ka.B,18)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),l=1;l<h.length;l++){var p=h.charAt(l);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(l);g.unshift(h.substr(0,l));break}}switch(g[0].charAt(0)){case "a":d=
|
||||
ug(a,g);break;case "b":var u=g[0],A=g[1],J=b;if("?"==A)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var F=u.charAt(1);if("l"==F){var ka;ka=0+Of(a,a.b);ka+=Of(a,a.N);(ka+=Of(a,a.K))||a.u("no breakpoints")}else if("n"==F){var Ab=+A||0;A&&(a.qa=Ab);a.u("break after "+Ab+" instruction(s)")}else if(void 0===
|
||||
A)a.u("missing breakpoint address");else{var H="*"==A?Z():hf(a,A,a.M);"c"==F?null==H.B?($e(a),a.u("all breakpoints cleared")):Mf(a,a.b,H)||Mf(a,a.N,H)||Mf(a,a.K,H)||a.u("breakpoint missing: "+L(a,H.B,18)):null!=H.B&&(kf(a,H,J),"p"==F?a.Ra(a.b,H):"r"==F?a.Ra(a.N,H):"w"==F?a.Ra(a.K,H):a.u("unknown breakpoint command: "+F))}}break;case "c":a.za&&(a.za.value="");break;case "d":a:{var hb,ib=g[0],qa=g[1],Ea=g[2],Jh=g[3];if("?"==qa){var jb="";for(hb in bc)a.wa[hb]&&(jb&&(jb+=","),jb+=hb);jb+=",state,symbols";
|
||||
a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");jb.length&&a.u("dump extension commands:\n\t"+jb)}else if("state"==qa){var Ld=Ag(a.H,!0);"console"==Ea?console.log(Ld):(a.za&&(a.za.value=""),Ld&&a.u(Ld))}else if("symbols"==qa)for(var Md=0;Md<a.I.length;Md++){var Nd=a.I[Md],kb;for(kb in Nd.Z)if("."!=kb.charAt(0)){var Sf=Nd.Z[kb].o;if(void 0!==Sf){var Tf=
|
||||
Nd.Z[kb].l;Tf&&(kb=Tf);a.u(L(a,Sf,18)+" "+kb)}}}else{if("d"==ib){for(hb in bc)if(g[1]==hb){var Uf=a.wa[hb];Uf?(g.shift(),g.shift(),Uf(g)):a.u("no dump registered for "+qa);break a}qa||(ib=a.Oa||"dw")}else a.Oa=ib;if("dh"==ib){var Vf=qa,Wf=Ea,Xf="",Yf=0,la=a.W,ra=a.j;if(ra.length){var ea=+Vf||a.Da,Cb=+Wf||10;isNaN(ea)?ea=Cb:Xf="more ";ea>ra.length&&(a.u("note: only "+ra.length+" available"),ea=ra.length);la-=ea;0>la&&(null==ra[ra.length-1].B?(ea=la+ea,la=0):la+=ra.length);var Od=[];"call"==Wf&&(Cb=
|
||||
1E5,Od=["CALL"]);for(void 0!==Vf&&a.u(ea+" instructions earlier:");0<Cb&&la!=a.W;){var Zf=ra[la++];if(null==Zf.B)break;var Db=Z(Zf.B),Kh=ea--,$f=Df(a,Db,"history",Kh);(!Od.length||0<=$f.indexOf(Od[0]))&&a.u($f);Db.sb&&(la+=Db.sb,Cb-=Db.sb,ea-=Db.sb);la>=ra.length&&(la=0);a.Da=ea;Yf++;Cb--}}Yf||(a.u("no "+Xf+"history available"),a.Da=void 0)}else{var Na=0,ag="ds"==ib,Eb=hf(a,qa,a.pa);Ea&&("l"==Ea.charAt(0)?(Ea=Ea.substr(1)||Jh,Na=Qe(a,Ea)):Na=hf(a,Ea).B-Eb.B,0>Na&&(Na=0),65536<Na&&(Na=65536));var Lh=
|
||||
a.U;Eb.U&&(a.U=Eb.U);for(var bg="db"==ib?1:2,Pd=Na||32,Qd=1==bg?1:4,Mh=(Pd+Qd-1)/Qd|0||1,Oa="";Mh--&&0<Pd;){for(var sa="",Rd="",qa=L(a,Eb.B,18),cg=Qd;0<cg--&&0<Pd--;){var Sd=a.Na(Eb,1);ag?(sa&&(sa+=","),sa+=Sd):(sa+=lf(a,Sd),sa+=" ");for(var Ic=29,Nh=0;1==bg&&0<=Ic;Nh++)var Fb=Sd/Math.pow(2,Ic)%Math.pow(2,7),sa=sa+(L(a,Fb,7)+" "),Fb=Fb+0,Rd=Rd+(32>Fb?".":String.fromCharCode(Fb)),Ic=Ic-7}Oa&&(Oa+="\n");Oa=ag?Oa+(sa+","):Oa+(qa+": "+sa+(0>cg?" "+Rd:""))}Oa&&a.u(Oa);a.U=Lh}}}break;case "e":if("else"==
|
||||
g[0])break;var dg,eg,fg=g[0],Td=g[1];"e"==fg||"ew"==fg?(dg=a.Na,eg=a.zb):Td=null;if(null==Td)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var Ud=hf(a,Td,a.pa),Vd=2;Vd<g.length;Vd++){var Gb=Ve(a,g[Vd]);if(void 0===Gb)break;Gb=jf(Gb);a.u("changing "+L(a,Ud.B,18)+" from "+lf(a,dg.call(a,Ud))+" to "+lf(a,Gb));eg.call(a,Ud,Gb,1)}break;case "g":var gg=g[1],Oh=b;if(void 0!==gg){var hg=hf(a,gg);kf(a,hg,Oh);a.Ra(a.b,hg,!0)}xf(a,!0,c);break;case "h":a.A.P?(c||a.u("halting"),
|
||||
a.Y()):Nb(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var Wd;var Hb=b.substr(2),Hb=Da(Hb);Ve(a,Hb)?(c||a.u("true: "+Hb),Wd=!0):(c||a.u("false: "+Hb),Wd=!1);Wd||(d=!1);break}f=!0;break;case "k":var Ph=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var Xd=0,Yd=Z(),Ib=Z();for(a.u("stack trace for "+L(a,Ib.B,18));10>Xd;){for(var Pa=null,Qh=256;65536>Ib.B>>>0;){Yd.B=a.Na(Ib,2);if(null==Ib.B||!Qh--)break;if(!(Yd.B&
|
||||
1)){for(var Rh=a,Jc=Yd,ig=null,Jb=Jc.B,jg=Jb,Zd=1;6>=Zd&&Jb;Zd++){if(2<Zd){Jc.B=Jb;var Kc=Df(Rh,Jc);if(0<=Kc.indexOf("JSR")){var kg=Kc.indexOf(" ");if(Jb+(Kc.indexOf(" ",kg+1)-kg-1)/2==jg){ig=Kc;break}}}Jb-=2}Jc.B=jg;if(Pa=ig)break}}if(!Pa||null==Pa)break;var lg=null;if("ks"==Ph){var mg=Pa.match(/[0-9A-F]+$/);mg&&(lg=xg(a,mg[0]))}Pa=Ca(Pa,50)+" ;"+(lg||"stack="+L(a,Ib.B,18));a.u(Pa);Xd++}Xd||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){xg(a,g[1],!0);break}f=!0;break;case "m":a:{var ta,
|
||||
ua=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Fa=0;if("all"==N)Fa=1879046143,N=null;else if("on"==N)ua=!0,N=null;else if("off"==N)ua=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(ta in bc)if(N==ta){Fa=bc[ta];ua=!!(a.ca&Fa);break}if(!Fa){a.u("unknown message category: "+N);break a}}if(Fa)if("on"==g[2])a.ca|=Fa,ua=!0;else if("off"==g[2]&&(a.ca&=~Fa,ua=!1,1073741824==Fa)){for(var ng=1E3<=a.R.length?a.R.length-1E3:0;ng<a.R.length;)a.u(a.R[ng++]);a.R=[]}}var Sh=0,Kb="";for(ta in bc)if(!N||
|
||||
N==ta){var Th=!!(a.ca&bc[ta]);if(null===ua||ua==Th)Kb&&(Kb+=","),++Sh%10||(Kb+="\n\t"),"key"==ta&&(ta="keys"),Kb+=ta}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==ua?ua?"messages on: ":"messages off: ":"message categories:\n\t")+(Kb||"none"));af(a)}break;case "p":if("print"==g[0]){yg(a,b.substr(5));break}var og=g[0],pg="p"==og?0:"pr"==og?1:-1;if("?"==g[1]||0>pg)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");
|
||||
else if(a.O)a.u("step in progress");else{var qg=Z(a.v.i);a.Na(qg);a.O?(a.Ra(a.b,qg,!0),xf(a)||(a.H&&jd(a.H),a.O=0)):zg(a,pg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}Af(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var lb=+g[2];if(2==lb||8==lb||10==lb||16==lb)a.U=lb;else{a.u("invalid base: "+lb);break}}a.u("default base: "+a.U);break;case "cs":var Lb;void 0!==g[3]&&(Lb=+g[3]);switch(g[2]){case "int":a.v.pa=Lb;break;case "start":a.v.Ia=Lb;break;case "stop":a.v.ua=Lb;
|
||||
break;default:a.u("unknown cs option");break a}void 0!==Lb&&bd(a.v);a.u("checksums "+(a.v.A.Va?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(gd(a.v,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ga.toFixed(2)+"Mhz")+" ("+a.v.ka+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"),
|
||||
a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":yg(a,g[0],g[1]);break;case "u":Af(a,g[1],g[2],8);break;case "v":if("var"==g[0]){vg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.3 ("+a.v.nb+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){xg(a,b.substr(1));break}var $d="commands:",ae;for(ae in Ag)$d+="\n"+Ca(ae,9)+Ag[ae];td(a)||($d+="\nnote: history disabled if no exec breakpoints");
|
||||
a.u($d);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(rg){a.u("Debugger "+(rg.stack||rg.message)),d=!1}return d}function ed(a,b,c){null!=b&&(a.Ha=Ke(a,b,c));for(;b=a.Ha.shift();)if(!Of(a,b))return!1;return!0}
|
||||
var Ag={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Hf=20,If=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
|
||||
mf=0,nf=1,of=2,pf=3,qf=4,rf=5,sf=6,tf=7,uf=8,lf="PC RA EA PS OV C0 C1 ND PD".split(" "),Bg={},Df=(Bg[28672]={0:101},Bg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Bg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Hf,9216:53,
|
||||
9472:52,9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Bg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Bg[29248]={24576:79,24640:80,25088:81,25152:82},Bg[28700]={28672:93,28676:94,28680:95,28684:96,
|
||||
28688:97,28692:98,28696:99,28700:100},Bg),Ef=["","I","M","S"],Ff=" L E LE A GE N G".split(" "),Gf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Jf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],vf=1E3,yf=">> ";Ya(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Ye(d);sb(d,c)}});
|
||||
function ug(a,b,c,d,e){this.la=b;this.W=c||"";this.b=d;this.done=e;this.H=null;this.v={};this.N={};this.R=[];this.O=[];this.S=[];this.ea=[];this.ba=this.V=this.ia=0;this.X=this.la||0;this.Fa=-1;this.w=[];this.M=null;this.i=0;this.L=null;this.J=this.I="";this.ga=/^[ \t]*([A-Z$%.?][0-9A-Z$%.]*:|)[ \t]*([A-Z$%.][0-9A-Z$%.]*|)([ \t]*)([^;]+|)(;?[\s\S]*)/i;this.D=this.j=null;this.C="";this.G=[];this.K=0;this.F=a.split(";");this.T=[];Cg(this)}
|
||||
function Cg(a){if(a.K==a.F.length)a.done(Dg(a));else{var b=a.F[a.K];a.u("loading "+xa(b));0>b.indexOf(":")&&0<=".MAC.KLM".indexOf(b.slice(-4).toUpperCase())&&(b+=".txt");Ia(b,null,!0,function(b,d,e){if(e)a.done(e,b);else{e=d;if(za(b,".html")){e="";var c;for(b=/<pre>([\s\S]*?)<\/pre>/gi;c=b.exec(d);)c=c[1],0<=c.indexOf("&")&&(c=c.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&")),e+=c;(c=e.match(/&[a-z]+;/i))&&Eg(a,"unrecognized HTML entity '"+c[0]+"'")}d=e.split(/(\r?\n)/);if(d.length&
|
||||
1){if(c=d.pop())Eg(a,"unexpected line '"+c+"'"),d.push(c),d.push("")}else Eg(a,"unexpected number of lines ("+d.length+")");a.G=a.G.concat(d);a.T[a.K]=d.length>>1;a.K++;setTimeout(function(){Cg(a)},0)}})}}
|
||||
function Dg(a){if(0<=a.W.indexOf("p"))return a.u(a.G.join("")),0;var b=We(a.b);try{for(var c=0;c<a.G.length;c+=2){a.ia++;0<=a.W.indexOf("l")&&a.u(Fg(a)+": "+a.G[c]);if(!Gg(a,a.G[c]+"\r\n"))break;if(null!==a.H)break}a.i&&a.error("open block",a.v[a.L].ia);a.w.length&&a.error("open scope",a.w[0].ia);for(var d=a.X,c={},e=0;e<a.R.length;c={S:c.S,Ta:c.Ta,Aa:c.Aa},e++){c.Aa=a.R[e];c.S=[];c.Ta=0;c.Aa.S.forEach(function(a){return function(b,c){c===a.S.length&&a.S.push(b);a.Ta++}}(c));if(c.Ta==c.S.length)for(var f=
|
||||
d;f+c.Ta<=a.X;f++){for(var g=void 0,g=0;g<c.Ta&&c.S[g]===a.S[f+g]&&c.Aa.ea[g]==a.ea[f];g++);if(g==c.Ta){Hg(a,c.Aa.name,f,Ig);c.Aa=null;break}}c.Aa&&(Hg(a,c.Aa.name,a.X,Ig),c.Aa.S.forEach(function(b){return function(c,d){Jg(a,c,b.Aa.ea[d])}}(c)))}for(d=0;d<a.O.length;d++){var h=a.O[d],k=a.v[h];k?Kg(a,k.ma):a.error("missing definition for variable '"+h+"'")}a.ea.forEach(function(b,c){var d=Lg(a,b,!1,c);void 0===d?a.error("unable to parse expression '"+b+"'"):(d+=a.S[c],a.S[c]=Mg(a,d,c))})}catch(l){a.u(l.message),
|
||||
a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":zg(a,g[0],g[1]);break;case "u":Bf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){wg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.3 ("+a.v.nb+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){yg(a,b.substr(1));break}var $d="commands:",ae;for(ae in Bg)$d+="\n"+Ca(ae,9)+Bg[ae];td(a)||($d+="\nnote: history disabled if no exec breakpoints");
|
||||
a.u($d);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(sg){a.u("Debugger "+(sg.stack||sg.message)),d=!1}return d}function ed(a,b,c){null!=b&&(a.Ha=Ke(a,b,c));for(;b=a.Ha.shift();)if(!Pf(a,b))return!1;return!0}
|
||||
var Bg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},If=20,Jf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
|
||||
nf=0,of=1,pf=2,qf=3,rf=4,sf=5,tf=6,uf=7,vf=8,mf="PC RA EA PS OV C0 C1 ND PD".split(" "),Cg={},Ef=(Cg[28672]={0:101},Cg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Cg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:If,9216:53,
|
||||
9472:52,9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Cg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Cg[29248]={24576:79,24640:80,25088:81,25152:82},Cg[28700]={28672:93,28676:94,28680:95,28684:96,
|
||||
28688:97,28692:98,28696:99,28700:100},Cg),Ff=["","I","M","S"],Gf=" L E LE A GE N G".split(" "),Hf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Kf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],wf=1E3,zf=">> ";Ya(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Ze(d);sb(d,c)}});
|
||||
function vg(a,b,c,d,e){this.la=b;this.W=c||"";this.b=d;this.done=e;this.H=null;this.v={};this.N={};this.R=[];this.O=[];this.S=[];this.ea=[];this.ba=this.V=this.ia=0;this.X=this.la||0;this.Fa=-1;this.w=[];this.M=null;this.i=0;this.L=null;this.J=this.I="";this.ga=/^[ \t]*([A-Z$%.?][0-9A-Z$%.]*:|)[ \t]*([A-Z$%.][0-9A-Z$%.]*|)([ \t]*)([^;]+|)(;?[\s\S]*)/i;this.D=this.j=null;this.C="";this.G=[];this.K=0;this.F=a.split(";");this.T=[];Dg(this)}
|
||||
function Dg(a){if(a.K==a.F.length)a.done(Eg(a));else{var b=a.F[a.K];a.u("loading "+xa(b));0>b.indexOf(":")&&0<=".MAC.KLM".indexOf(b.slice(-4).toUpperCase())&&(b+=".txt");Ia(b,null,!0,function(b,d,e){if(e)a.done(e,b);else{e=d;if(za(b,".html")){e="";var c;for(b=/<pre>([\s\S]*?)<\/pre>/gi;c=b.exec(d);)c=c[1],0<=c.indexOf("&")&&(c=c.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&")),e+=c;(c=e.match(/&[a-z]+;/i))&&Fg(a,"unrecognized HTML entity '"+c[0]+"'")}d=e.split(/(\r?\n)/);if(d.length&
|
||||
1){if(c=d.pop())Fg(a,"unexpected line '"+c+"'"),d.push(c),d.push("")}else Fg(a,"unexpected number of lines ("+d.length+")");a.G=a.G.concat(d);a.T[a.K]=d.length>>1;a.K++;setTimeout(function(){Dg(a)},0)}})}}
|
||||
function Eg(a){if(0<=a.W.indexOf("p"))return a.u(a.G.join("")),0;var b=Xe(a.b);try{for(var c=0;c<a.G.length;c+=2){a.ia++;0<=a.W.indexOf("l")&&a.u(Gg(a)+": "+a.G[c]);if(!Hg(a,a.G[c]+"\r\n"))break;if(null!==a.H)break}a.i&&a.error("open block",a.v[a.L].ia);a.w.length&&a.error("open scope",a.w[0].ia);for(var d=a.X,c={},e=0;e<a.R.length;c={S:c.S,Ta:c.Ta,Aa:c.Aa},e++){c.Aa=a.R[e];c.S=[];c.Ta=0;c.Aa.S.forEach(function(a){return function(b,c){c===a.S.length&&a.S.push(b);a.Ta++}}(c));if(c.Ta==c.S.length)for(var f=
|
||||
d;f+c.Ta<=a.X;f++){for(var g=void 0,g=0;g<c.Ta&&c.S[g]===a.S[f+g]&&c.Aa.ea[g]==a.ea[f];g++);if(g==c.Ta){Ig(a,c.Aa.name,f,Jg);c.Aa=null;break}}c.Aa&&(Ig(a,c.Aa.name,a.X,Jg),c.Aa.S.forEach(function(b){return function(c,d){Kg(a,c,b.Aa.ea[d])}}(c)))}for(d=0;d<a.O.length;d++){var h=a.O[d],k=a.v[h];k?Lg(a,k.ma):a.error("missing definition for variable '"+h+"'")}a.ea.forEach(function(b,c){var d=Mg(a,b,!1,c);void 0===d?a.error("unable to parse expression '"+b+"'"):(d+=a.S[c],a.S[c]=Ng(a,d,c))})}catch(l){a.u(l.message),
|
||||
a.V=-1}a.b.i=b;return a.V}
|
||||
function Gg(a,b,c,d,e){var f;if(a.i&&(1==a.i&&(f=b.indexOf(a.J),0<=f?(a.i++,b=b.substr(f+1)):a.error("expected "+a.M+" definition in '"+b+"'")),1<a.i&&(b=Ng(a,b)),a.i))return!0;null!=a.D&&(b=Og(a,b));var g=!0;f="";for(var h;g;){h=b.match(a.ga);if(!h||h[5]&&";"!=h[5].slice(0,1))return a.error("failed to parse line '"+b+"'"),!1;g=!1;f=h[2].toUpperCase();if(f==Pg||f==Qg)c=null;if(c){for(var k=0;k<c.length;k++)for(var l=c[k],p=d[k]||e[k]||"",u=0,A=b.length-h[5].length;u<A;){var I=b.indexOf(l,u);if(0>
|
||||
I)break;var u=I+1,M=I+l.length,ka="",Ab="";I&&(ka=b[I-1]).match(/[0-9A-Z$%.]/i)||!(M>=b.length)&&(Ab=b[M]).match(/[0-9A-Z$%.]/i)||("'"==ka&&I--,"'"==Ab&&M++,b=b.substr(0,I)+p+b.substr(M),u=I+p.length,g=!0)}c=null}}d=h[1];b=h[3];c=h[4].trim();h=h[4]+h[5];d&&(d=d.slice(0,-1),Hg(a,d,a.X,Ig));var G;f&&(G=c.match(/^([=:]+)(.*)/))&&(e=0,d=f,f=G[1],c=G[2],"=="==f?e|=Rg:"=:"==f&&(e|=Sg),Hg(a,d,c,e),f=c="");if(!f&&!c)return!0;a.M=f;if(G=Tg(a,c))c=c.replace(G,Ug(a,Vg,Tg(a,h))),b||(b="\t");for(;G=Wg(a,c);)c=
|
||||
c.replace(G,G.slice(0,-1));if(!Xg(a,f,c))switch(f){case Yg:case Zg:case $g:Og(a,h);break;case ah:f=c;G=Lg(a,f);void 0!==G&&null==a.b.ja&&0<=G&&262143>=G?a.X+=G:a.error("unrecognized BLOCK expression '"+f+"'");break;case bh:(f=c)?(a.H=Lg(a,f,!0),void 0===a.H&&a.error("unrecognized END expression '"+f+"'")):a.H=a.la;break;case ch:dh(a,c);break;case eh:a.X=Lg(a,c)||0;break;case fh:dh(a,c.replace(",",",,"));break;case gh:case hh:case ih:case jh:case kh:case lh:case mh:case Pg:case Qg:case nh:case oh:Ug(a,
|
||||
f,h);break;case ph:case qh:case rh:case sh:case th:case uh:case vh:break;default:f=(f+b+c).trim(),G=Lg(a,f,!0),void 0!==G?Jg(a,G,a.b.ja):a.error("unrecognized word expression '"+f+"'")}return!0}
|
||||
function Xg(a,b,c){var d=a.v[b];if(!d)return!1;if(null!=c){if(d.Sa==wh){var e=a.X;Kg(a,d.ma);if(e<a.X){if(!c)return!0;xh(a);Kg(a,c);var d=a.S[0],f=a.ea[0];yh(a);if(void 0!==d)return a.S[e]+=d&130023423,a.S[e]|=d&4194304,f&&(a.ea[e]=a.ea[e]?a.ea[e]+("+"+f):f),!0}a.error("OPDEF '"+b+"' ("+c+") failed");return!1}b=a.j;a.j=d;d.Qa=zh(a,c,!0);Kg(a,d.ma,d.Ua,d.Qa,d.Bb);a.j=b;return!0}if("?"!=b[0])return!1;switch(b.substr(1)){case ih:case mh:d.Sa||Kg(a,d.ma);break;case jh:0<d.Sa&&Kg(a,d.ma);break;case kh:0>
|
||||
d.Sa&&Kg(a,d.ma);break;case lh:case hh:d.Sa&&Kg(a,d.ma);break;case Pg:case Qg:for(b=0;b<d.Qa.length;b++)Kg(a,d.ma,d.Ua,[d.Qa[b]],[]);break;case oh:for(;0<d.Sa--;)Kg(a,d.ma);break;default:c=d.ma,xh(a,b),Kg(a,c),yh(a)}return!0}function Kg(a,b,c,d,e){b=b.split(/\r?\n/);for(var f=0;f<b.length&&Gg(a,b[f]+"\r\n",c,d,e);f++);}function xh(a,b){a.w.push({name:b,S:a.S,ea:a.ea,X:a.X,Fa:a.Fa,ia:a.ia});a.S=[];a.ea=[];0>a.Fa&&(a.Fa=a.X);a.X=0}
|
||||
function yh(a){if(a.w.length){var b=a.w[a.w.length-1].name;b&&a.R.push({name:b,S:a.S,ea:a.ea});b=a.w.pop();a.S=b.S;a.ea=b.ea;a.X=b.X;a.Fa=b.Fa;a.w.length||-1==a.Fa||a.error("scope restore error")}else a.error("scope nesting error")}
|
||||
function Ah(a,b){var c;c=void 0===c?",":c;for(var d=0,e=!1,f=null,g=0;d<b.length;){var h=b[d++];if('"'==h)e=!e;else if(!e){if(!g&&0<=c.indexOf(h)){d--;break}if("<"==h)g++;else if(">"==h&&0>--g){a.error("missing bracket(s) in '"+b+"'");break}}}g?0<g&&a.error("extra bracket(s) in '"+b+"'"):f=b.substr(0,d);return f}
|
||||
function Lg(a,b,c,d){var e,f=b.match(/^([^,]*),,([^,]*)$/);if(f)b=f[1]?Lg(a,f[1],c,d):0,void 0!==b&&(c=f[2]?Lg(a,f[2],c,d):0,void 0!==c&&(e=Y(a.b,b,18,!0)*Math.pow(2,18)+Y(a.b,c,18,!0)));else{void 0===d&&(d=0<=a.Fa?a.Fa:a.X);b=b.replace(/SIXBIT\s*(\S)(.*?)\1/g,"'$2'").replace(/ASCII\s*(\S)(.*?)\1/g,'"$2"');e=-1;if(!1!==c){e="";var g=b;if(f=b.match(/^([^\s]+)\s*(.*?)\s*$/))e=f[1],g=f[2];e=Kf(a.b,e,g,d,c,!0)}0>e&&(!1===c&&(c=void 0),e=Ue(a.b,b.replace(/\.([^0-9]|$)/g,K(a.b,d,-1)+"$1"),c),void 0===e&&
|
||||
a.error("unable to parse expression '"+b+"'"))}return e}function Tg(a,b){for(var c=0,d="",e=0,f=-1,g=b.length;e<b.length;){var h=b[e];if(";"==h)break;"["==h&&(c++||(f=e));e++;if("]"==h&&0>=--c){g=e;break}}0>c&&a.error("missing bracket(s) in '"+b+"'");0<=f&&(d=b.substr(f,g-f));return d}function Fg(a,b){b=void 0===b?a.ia:b;for(var c=0;b>a.T[c];)if(b-=a.T[c],c<a.F.length-1)c++;else break;return xa(a.F[c]+" line "+b)}
|
||||
function Wg(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="?"+b;if(!a.v[d]){var e,f,g;e=f=g=[];a.v[d]={name:d,Sa:Bh,Ua:e,Bb:f,Qa:g,ma:b+": 0",ia:a.ia};a.O.push(d)}}return c}
|
||||
function zh(a,b,c){var d=[];for(c&&(b=b.replace(/^\(?(.*?)\)?$/,"$1"));b;){b=b.trim();c=Ah(a,b);if(!c)break;var e=c;if("\\"==c[0]){var f=1,g=0;"'"==c[1]?(f++,g=6):'"'==c[1]&&(f++,g=7);var e=a,f=c.substr(f),g=void 0===g?0:g,h=Lg(e,f);if(void 0!==h){var k=5;switch(g){case 0:f=K(e.b,h,-1);break;case 6:k++;case 7:for(;h&&k--;)h=Math.trunc(h/Math.pow(2,g))}}e=f}d.push(e);b=b.substr(c.length+1)}return d}
|
||||
function Og(a,b){var c=b;null==a.D&&(a.D=a.C="",b&&(a.D=b[0],c=b=b.substr(1)));if(a.D){var d=b.indexOf(a.D);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.D=null);a.C+=b}if(null==a.D){var d=b=0,e,f,g=a.C.length;a.M==Zg&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.M==$g&&(e--,f++));var k=a.C.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Jg(a,d),b=0)}b&&Jg(a,d)}return c}
|
||||
function Ug(a,b,c){var d,e,f,g,h,k;a.J="<";a.I=">";g=h=k=[];if(b==gh){e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*,?\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+" in '"+c+"'"),c;f=e[1];if(e[2]&&","!=e[2]){h=g=zh(a,e[2],!0);b=[];for(c=0;c<h.length;c++)if(d=h[c].indexOf("<"),0<=d){var l=h[c].lastIndexOf(">");0>l&&(l=h[c].length);b[c]=h[c].substr(d,l-d);h[c]=h[c].substr(0,d)}h=b}b=Ch;c=3}else if(b==nh){a.J="[";a.I="]";e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\[)([\s\S]*)/i);if(!e)return a.error("unrecognized "+
|
||||
b+" in '"+c+"'"),c;f=e[1];b=wh;c=2}else if(b==Vg)a.J="[",a.I="]",f="?"+wa(++a.ba,5),a.v[f]&&a.error("literal symbol '"+f+"' redefined"),e=[c[0],c.substr(1)],b=Dh,c=0;else if(b==Pg||b==Qg){a.j||a.error(b+" outside of macro");e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*,\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+" operands '"+c+"'"),c;for(d=0;d<a.j.Ua.length&&e[1]!=a.j.Ua[d];d++);if(d==a.j.Ua.length)return a.error("invalid "+b+" parameter '"+e[1]+"'"),c;f="?"+b;g=[e[1]];b==Qg?k=a.j.Qa[d].split(""):
|
||||
k=zh(a,a.j.Qa[d]);b=k.length;c=2}else{d=Ah(a,c);if(!d)return a.error("missing "+b+" expression '"+c+"'"),c;c=c.substr(d.length+1);d=d.trim();e=c.match(/\s*(<|)([\s\S]*)/i);f="?"+b;b=b==hh||b==mh?a.v[d]||a.N[d]||void 0!==a.b.i[d]?1:0:Lg(a,d)||0;c=1}f=f.toUpperCase();a.i=1;a.L=f;a.v[f]={name:f,Sa:b,Ua:g,Bb:h,Qa:k,ma:"",ia:a.ia};e[c]&&(a.i=2,Ng(a,e[c+1]));return f}
|
||||
function Ng(a,b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.J)a.i++;else if(b[d]==a.I&&(a.i--,1==a.i)){a.i=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.L||"";a.v[d].ma+=b;a.i||(a.L=null,Xg(a,d));return c}
|
||||
function Hg(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&Ig&&a.N[b])a.error("label '"+b+"' redefined");else{var e=null;if("string"==typeof c){e=Lg(a,c,!0);if(void 0===e){a.error("parseExpression("+c+") failed");return}c=e;e=a.b.ja}var f=a.N[b];f?(f.value=c,f.Xb=d,f.ia=a.ia):a.N[b]={name:b,value:c,Xb:d,ia:a.ia};a.b.i[b]={value:c,ja:e}}}function dh(a,b){var c=Lg(a,b,!0);void 0!==c?Jg(a,c,a.b.ja):a.error("unrecognized EXP expression '"+b+"'")}
|
||||
function Jg(a,b,c){a.S[a.X]=Mg(a,b);null!=c&&(a.ea[a.X]=c);a.X++}function Mg(a,b,c){c=void 0===c?a.X:c;var d=Y(a.b,b||0,36,!0);(b<-B||b>=D)&&Eg(a,"truncated value "+va(b)+" at location "+va(c)+" to "+va(d));return d}ug.prototype.error=function(a,b){throw Error("error in "+Fg(this,b)+": "+a);};function Eg(a,b){a.u("warning in "+Fg(a,void 0)+": "+b)}ug.prototype.u=function(a){this.b?this.b.u(a):console.log(a)};
|
||||
var Ig=1,Rg=2,Sg=4,Yg="ASCII",Zg="ASCIZ",ah="BLOCK",gh="DEFINE",bh="END",ch="EXP",hh="IFDEF",ih="IFE",jh="IFG",kh="IFL",lh="IFN",mh="IFNDEF",Pg="IRP",Qg="IRPC",ph="LALL",Vg="LITERAL",qh="LIST",eh="LOC",rh="NOSYM",nh="OPDEF",sh="PAGE",oh="REPEAT",$g="SIXBIT",th="SUBTTL",uh="TITLE",fh="XWD",vh="XLIST",Ch=-1,wh=-2,Dh=-3,Bh=-4;
|
||||
function Eh(a,b,c){r.call(this,"Computer",a,33554432);this.A.aa=!1;this.R=null;Fh(this,b);this.N=$c(this,"autoPower",a,6);this.w=0;this.W=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.V=!1;this.I=this.C=null;this.T=this.O=!1;this.ba=$c(this,"url")||"";(Math.random()+.1).toString(36);this.i=Gh(this);if(this.v=rb("CPU",this.id)){this.D=rb("Debugger",this.id);this.G=new Ac({id:this.cb+".bus",busWidth:this.W},this.v,this.D);var d,e=pb(this.id);if((this.j=rb("Panel",this.id))&&this.j.za)for(b=
|
||||
0;b<e.length;b++)d=e[b],d.ha=this.j.ha,d.u=this.j.u,d.za=this.j.za;this.u(Rb+" v1.34.3\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ma&&d.Ma(this,this.G,this.v,this.D);b=null;d=$c(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=$c(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=Hh),this.b&&(this.I=new F(this,"1.34.3"),Th(this.I)?b=null:
|
||||
delete this.I);!b&&this.b&&(b=Uh(this))&&(this.K=!0);if(b){var g=this;Ia(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.ha("Unable to load machine state from server (error "+c+(b?": "+Da(b):"")+")")):(g.L=b,g.V=!0);Mb(g)})}else Mb(this);this.J.power||(this.N=!0);!c&&this.N&&Vh(this,this.Xa)}else q("Unable to find CPU component")}ja(Eh,r);function Fh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.R=b}
|
||||
function $c(a,b,c,d){var e=b.toLowerCase(),e=Ta(b)||Ta(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Vh(a,b,c){for(var d=pb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Bb(f)){Bb(f,function(){Vh(a,b,c)});return}}b.call(a,c)}
|
||||
function Wh(a,b){var c=new F(a,"1.34.3",Xh);if(Th(c)&&Yh(c)){var d=c.get(Zh),e=b?b.get(Zh):"unknown";d!=e&&(a.ha("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Eh.prototype;
|
||||
m.Xa=function(a){void 0===a&&(a=this.b||(this.L?$h:Hh));if(!this.w){this.w++;var b=!1,c=!1;this.O=!1;var d=this.I||new F(this,"1.34.3");if(a==ai)b=!0;else if(a>Hh){if(Th(d,this.L)){this.C=new F(this,"1.34.3",bi);Th(this.C)&&(ci(this,d),a=di,ei(this.C));this.C.set(Zh,Ha());fi(this.C);var e=this.b&&!this.K;if(a==$h||ob("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Yh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Th(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.ha("Error: "+g),"unable to verify user"==g&&(Ra(gi,""),this.i=null)):this.u(f+": "+g),ei(d),Th(d)?(c=Yh(d),e=!0):c=!1))}e&&Wh(this,c?d:null)}else a==di&&d.clear()}else Wh(this);delete this.L;delete this.I}e=pb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=hi(this,g,d,b,c));b=[d,a,c];a!=ai?Vh(this,this.Ib,b):this.Ib(b)}};
|
||||
function hi(a,b,c,d,e){if(!b.A.aa){b.A.aa=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.Ba(f,d)&&f&&(q("Unable to restore state for "+b.type),a.M&&!a.V?(c.clear(),a.b=Hh,window&&window.location.reload()):a.O=!0,b.Ba(null),e=!1),!d&&b.Eb){var g=b.Eb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||
m.Ib=function(a){var b=a[0],c=0>a[1];a=a[2];this.T=!0;this.A.aa=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(hi(this,this.v,b,c,a),J(this,-2),this.v.fa());this.O&&(ci(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
||||
function ci(a,b){if(ob("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.3";d.url=c;d.user=a;d.type="bug";d.data=b;Ia("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function zg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.3"),g=new F(a,"1.34.3",Xh),h=Ha();g.set(Zh,h);f.set(Zh,h);f.set(ii,"1.34.3");f.set(ji,window?window.location.href:null);f.set(ki,window?window.navigator.userAgent:"");a.v&&a.v.sa&&(c&&(b&&(a.v.A.fa=a.v.A.P),a.v.Y()),d=a.v.sa(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.aa=!1,!1===d&&(e=null)));for(var h=pb(a.id),k=0;k<h.length;k++){var l=h[k];l.A.aa&&(l.sa&&(d=l.sa(b,c),"object"===typeof d&&f.set(l.id,d)),c&&(l.A.aa=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&li(a,a.i,f.toString()),fi(g)&&fi(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==mi),d&&f.clear(h)):e=f.toString());c&&(a.A.aa=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
|
||||
m.reset=function(){this.A.reset=!0;this.G&&this.G.reset&&(Qb(this,"Resetting "+this.G.type),this.G.reset());this.v&&this.v.reset&&(Qb(this,"Resetting "+this.v.type),this.v.reset());for(var a=pb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.v&&c.reset&&(Qb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;J(this,-1)};m.start=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}J(this,-1)};
|
||||
m.stop=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}J(this,-1)};
|
||||
function J(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.lb+=d))&&(e.textContent=c.A.P?c.ba.toFixed(2)+"Mhz":"Stopped",c.lb=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.P;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.U||8,e=e||0,e=8==f?va(e,void 0):n(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.Ca);kc(a,a.i);ec(a,a.w)}}
|
||||
m.ta=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.aa?zg(d,!1,!0):Vh(d,d.Xa))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.aa&&!d.w)if(d.b&&!d.F){var a=ob("Click OK to save changes to this "+Rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");zg(d,a,!0);!a&&d.M?window&&window.location.reload():d.Xa(Hh)}else d.reset(),d.v&&!d.D&&d.v.fa()},!0;case "save":if(za(Ka(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.J[b]=c,c.onclick=function(){var a=Gh(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=zg(d,b);b?li(d,a,c):d.ha("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Gh(a,b){var c=a.i;c||((c=Qa(gi),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=ni(a,c))||a.ha("The user ID is invalid.")):b&&a.ha("Browser local storage is not available"));return c}
|
||||
function ni(a,b){a.i=null;b=Ia(Ka()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(gi,b.data),a.i=b.data)}catch(d){q(d.message+" ("+c+")")}return a.i}function Uh(a){var b=null;a.i&&(b=Ka()+"/api/v1/user?req=load&user="+a.i+"&state="+oi(a,"1.34.3"));return b}
|
||||
function li(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=oi(a,"1.34.3");d.data=c;b=Ia(Ka()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ha("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.ha(c),Ra(gi,""),a.i=null)}}
|
||||
function jd(a,b){if(a.za){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.za.focus();!b&&window&&window.scrollTo(c,d)}}var bi="failsafe",Xh="validate",Zh="timestamp",ii="version",ji="url",ki="browser",gi="user",ai=-1,Hh=0,$h=1,di=2,mi=3;Ya(function(){for(var a=w(document,v+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=t(c),c=w(c,v,"computer"),e=0;e<c.length;e++){var f=c[e],g=t(f),g=new Eh(g,d,!0);sb(g,f);g.N&&Vh(g,g.Xa)}});
|
||||
Za.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=rb("Computer",c.id))&&c.T&&!c.A.aa&&c.Xa(ai)}});Za.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=rb("Computer",c.id))&&c.A.aa&&zg(c,!(!c.b||c.F),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=oi(a,b,c);ei(this,a.Ub)}m=F.prototype;m.set=function(a,b){try{this.b[a]=b}catch(c){}};m.get=function(a){return this.b[a]||null};
|
||||
m.data=function(){return this.b};function Th(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:La()&&(b=Qa(a.key))?(a.i=b,a.v=!0):!1}function Yh(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){q(c.message||c),b=!1}return b}function fi(a){var b=!0;if(La()){var c=JSON.stringify(a.b);Ra(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}m.toString=function(){return this.b?JSON.stringify(this.b):this.i};
|
||||
function ei(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}m.clear=function(a){ei(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function oi(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var pi=0;
|
||||
function qi(a,b,c,d,e,f,g){f("Loading "+a+"...");Ia(a,null,!0,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):ri(k,a,b,c,d,e,f,g)})}
|
||||
function ri(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(gb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\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(u){g=null,a=u.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?si(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function si(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ia(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);si(a,b,c)}})}else c(a,null)}
|
||||
function ti(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Aa(a))}function g(a){f("Error: "+a);l&&(--pi||bb(!0));l=!1}var h,k,l=!0;pi++;mb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],A=document.createElement("style");A.type="text/css";A.styleSheet?A.styleSheet.cssText=p:A.appendChild(document.createTextNode(p));u.appendChild(A)}d||
|
||||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.3/components.xsl");p=function(e,k){k?qi(d,null,a,null,!1,f,function(a,e){e?(gb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--pi||bb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--pi||
|
||||
bb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?qi(c,b,a,e,!0,f,p):ri(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(I){g(I.message)}return l}window.embedPDP10=function(a,b,c,d){bb(!1);return ti("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){bb(!1);return ti("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return rb(b,a+".machine")};
|
||||
function Hg(a,b,c,d,e){var f;if(a.i&&(1==a.i&&(f=b.indexOf(a.J),0<=f?(a.i++,b=b.substr(f+1)):a.error("expected "+a.M+" definition in '"+b+"'")),1<a.i&&(b=Og(a,b)),a.i))return!0;null!=a.D&&(b=Pg(a,b));var g=!0;f="";for(var h;g;){h=b.match(a.ga);if(!h||h[5]&&";"!=h[5].slice(0,1))return a.error("failed to parse line '"+b+"'"),!1;g=!1;f=h[2].toUpperCase();if(f==Qg||f==Rg)c=null;if(c){for(var k=0;k<c.length;k++)for(var l=c[k],p=d[k]||e[k]||"",u=0,A=b.length-h[5].length;u<A;){var J=b.indexOf(l,u);if(0>
|
||||
J)break;var u=J+1,F=J+l.length,ka="",Ab="";J&&(ka=b[J-1]).match(/[0-9A-Z$%.]/i)||!(F>=b.length)&&(Ab=b[F]).match(/[0-9A-Z$%.]/i)||("'"==ka&&J--,"'"==Ab&&F++,b=b.substr(0,J)+p+b.substr(F),u=J+p.length,g=!0)}c=null}}d=h[1];b=h[3];c=h[4].trim();h=h[4]+h[5];d&&(d=d.slice(0,-1),Ig(a,d,a.X,Jg));var H;f&&(H=c.match(/^([=:]+)(.*)/))&&(e=0,d=f,f=H[1],c=H[2],"=="==f?e|=Sg:"=:"==f&&(e|=Tg),Ig(a,d,c,e),f=c="");if(!f&&!c)return!0;a.M=f;if(H=Ug(a,c))c=c.replace(H,Vg(a,Wg,Ug(a,h))),b||(b="\t");for(;H=Xg(a,c);)c=
|
||||
c.replace(H,H.slice(0,-1));if(!Yg(a,f,c))switch(f){case Zg:case $g:case ah:Pg(a,h);break;case bh:f=c;H=Mg(a,f);void 0!==H&&null==a.b.ja&&0<=H&&262143>=H?a.X+=H:a.error("unrecognized BLOCK expression '"+f+"'");break;case ch:(f=c)?(a.H=Mg(a,f,!0),void 0===a.H&&a.error("unrecognized END expression '"+f+"'")):a.H=a.la;break;case dh:eh(a,c);break;case fh:a.X=Mg(a,c)||0;break;case gh:eh(a,c.replace(",",",,"));break;case hh:case ih:case jh:case kh:case lh:case mh:case nh:case Qg:case Rg:case oh:case ph:Vg(a,
|
||||
f,h);break;case qh:case rh:case sh:case th:case uh:case vh:case wh:break;default:f=(f+b+c).trim(),H=Mg(a,f,!0),void 0!==H?Kg(a,H,a.b.ja):a.error("unrecognized word expression '"+f+"'")}return!0}
|
||||
function Yg(a,b,c){var d=a.v[b];if(!d)return!1;if(null!=c){if(d.Sa==xh){var e=a.X;Lg(a,d.ma);if(e<a.X){if(!c)return!0;yh(a);Lg(a,c);var d=a.S[0],f=a.ea[0];zh(a);if(void 0!==d)return a.S[e]+=d&130023423,a.S[e]|=d&4194304,f&&(a.ea[e]=a.ea[e]?a.ea[e]+("+"+f):f),!0}a.error("OPDEF '"+b+"' ("+c+") failed");return!1}b=a.j;a.j=d;d.Qa=Ah(a,c,!0);Lg(a,d.ma,d.Ua,d.Qa,d.Bb);a.j=b;return!0}if("?"!=b[0])return!1;switch(b.substr(1)){case jh:case nh:d.Sa||Lg(a,d.ma);break;case kh:0<d.Sa&&Lg(a,d.ma);break;case lh:0>
|
||||
d.Sa&&Lg(a,d.ma);break;case mh:case ih:d.Sa&&Lg(a,d.ma);break;case Qg:case Rg:for(b=0;b<d.Qa.length;b++)Lg(a,d.ma,d.Ua,[d.Qa[b]],[]);break;case ph:for(;0<d.Sa--;)Lg(a,d.ma);break;default:c=d.ma,yh(a,b),Lg(a,c),zh(a)}return!0}function Lg(a,b,c,d,e){b=b.split(/\r?\n/);for(var f=0;f<b.length&&Hg(a,b[f]+"\r\n",c,d,e);f++);}function yh(a,b){a.w.push({name:b,S:a.S,ea:a.ea,X:a.X,Fa:a.Fa,ia:a.ia});a.S=[];a.ea=[];0>a.Fa&&(a.Fa=a.X);a.X=0}
|
||||
function zh(a){if(a.w.length){var b=a.w[a.w.length-1].name;b&&a.R.push({name:b,S:a.S,ea:a.ea});b=a.w.pop();a.S=b.S;a.ea=b.ea;a.X=b.X;a.Fa=b.Fa;a.w.length||-1==a.Fa||a.error("scope restore error")}else a.error("scope nesting error")}
|
||||
function Bh(a,b){var c;c=void 0===c?",":c;for(var d=0,e=!1,f=null,g=0;d<b.length;){var h=b[d++];if('"'==h)e=!e;else if(!e){if(!g&&0<=c.indexOf(h)){d--;break}if("<"==h)g++;else if(">"==h&&0>--g){a.error("missing bracket(s) in '"+b+"'");break}}}g?0<g&&a.error("extra bracket(s) in '"+b+"'"):f=b.substr(0,d);return f}
|
||||
function Mg(a,b,c,d){var e,f=b.match(/^([^,]*),,([^,]*)$/);if(f)b=f[1]?Mg(a,f[1],c,d):0,void 0!==b&&(c=f[2]?Mg(a,f[2],c,d):0,void 0!==c&&(e=Y(a.b,b,18,!0)*Math.pow(2,18)+Y(a.b,c,18,!0)));else{void 0===d&&(d=0<=a.Fa?a.Fa:a.X);b=b.replace(/SIXBIT\s*(\S)(.*?)\1/g,"'$2'").replace(/ASCII\s*(\S)(.*?)\1/g,'"$2"');e=-1;if(!1!==c){e="";var g=b;if(f=b.match(/^([^\s]+)\s*(.*?)\s*$/))e=f[1],g=f[2];e=Lf(a.b,e,g,d,c,!0)}0>e&&(!1===c&&(c=void 0),e=Ve(a.b,b.replace(/\.([^0-9]|$)/g,L(a.b,d,-1)+"$1"),c),void 0===e&&
|
||||
a.error("unable to parse expression '"+b+"'"))}return e}function Ug(a,b){for(var c=0,d="",e=0,f=-1,g=b.length;e<b.length;){var h=b[e];if(";"==h)break;"["==h&&(c++||(f=e));e++;if("]"==h&&0>=--c){g=e;break}}0>c&&a.error("missing bracket(s) in '"+b+"'");0<=f&&(d=b.substr(f,g-f));return d}function Gg(a,b){b=void 0===b?a.ia:b;for(var c=0;b>a.T[c];)if(b-=a.T[c],c<a.F.length-1)c++;else break;return xa(a.F[c]+" line "+b)}
|
||||
function Xg(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="?"+b;if(!a.v[d]){var e,f,g;e=f=g=[];a.v[d]={name:d,Sa:Ch,Ua:e,Bb:f,Qa:g,ma:b+": 0",ia:a.ia};a.O.push(d)}}return c}
|
||||
function Ah(a,b,c){var d=[];for(c&&(b=b.replace(/^\(?(.*?)\)?$/,"$1"));b;){b=b.trim();c=Bh(a,b);if(!c)break;var e=c;if("\\"==c[0]){var f=1,g=0;"'"==c[1]?(f++,g=6):'"'==c[1]&&(f++,g=7);var e=a,f=c.substr(f),g=void 0===g?0:g,h=Mg(e,f);if(void 0!==h){var k=5;switch(g){case 0:f=L(e.b,h,-1);break;case 6:k++;case 7:for(;h&&k--;)h=Math.trunc(h/Math.pow(2,g))}}e=f}d.push(e);b=b.substr(c.length+1)}return d}
|
||||
function Pg(a,b){var c=b;null==a.D&&(a.D=a.C="",b&&(a.D=b[0],c=b=b.substr(1)));if(a.D){var d=b.indexOf(a.D);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.D=null);a.C+=b}if(null==a.D){var d=b=0,e,f,g=a.C.length;a.M==$g&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.M==ah&&(e--,f++));var k=a.C.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Kg(a,d),b=0)}b&&Kg(a,d)}return c}
|
||||
function Vg(a,b,c){var d,e,f,g,h,k;a.J="<";a.I=">";g=h=k=[];if(b==hh){e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*,?\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+" in '"+c+"'"),c;f=e[1];if(e[2]&&","!=e[2]){h=g=Ah(a,e[2],!0);b=[];for(c=0;c<h.length;c++)if(d=h[c].indexOf("<"),0<=d){var l=h[c].lastIndexOf(">");0>l&&(l=h[c].length);b[c]=h[c].substr(d,l-d);h[c]=h[c].substr(0,d)}h=b}b=Dh;c=3}else if(b==oh){a.J="[";a.I="]";e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\[)([\s\S]*)/i);if(!e)return a.error("unrecognized "+
|
||||
b+" in '"+c+"'"),c;f=e[1];b=xh;c=2}else if(b==Wg)a.J="[",a.I="]",f="?"+wa(++a.ba,5),a.v[f]&&a.error("literal symbol '"+f+"' redefined"),e=[c[0],c.substr(1)],b=Eh,c=0;else if(b==Qg||b==Rg){a.j||a.error(b+" outside of macro");e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*,\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+" operands '"+c+"'"),c;for(d=0;d<a.j.Ua.length&&e[1]!=a.j.Ua[d];d++);if(d==a.j.Ua.length)return a.error("invalid "+b+" parameter '"+e[1]+"'"),c;f="?"+b;g=[e[1]];b==Rg?k=a.j.Qa[d].split(""):
|
||||
k=Ah(a,a.j.Qa[d]);b=k.length;c=2}else{d=Bh(a,c);if(!d)return a.error("missing "+b+" expression '"+c+"'"),c;c=c.substr(d.length+1);d=d.trim();e=c.match(/\s*(<|)([\s\S]*)/i);f="?"+b;b=b==ih||b==nh?a.v[d]||a.N[d]||void 0!==a.b.i[d]?1:0:Mg(a,d)||0;c=1}f=f.toUpperCase();a.i=1;a.L=f;a.v[f]={name:f,Sa:b,Ua:g,Bb:h,Qa:k,ma:"",ia:a.ia};e[c]&&(a.i=2,Og(a,e[c+1]));return f}
|
||||
function Og(a,b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.J)a.i++;else if(b[d]==a.I&&(a.i--,1==a.i)){a.i=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.L||"";a.v[d].ma+=b;a.i||(a.L=null,Yg(a,d));return c}
|
||||
function Ig(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&Jg&&a.N[b])a.error("label '"+b+"' redefined");else{var e=null;if("string"==typeof c){e=Mg(a,c,!0);if(void 0===e){a.error("parseExpression("+c+") failed");return}c=e;e=a.b.ja}var f=a.N[b];f?(f.value=c,f.Xb=d,f.ia=a.ia):a.N[b]={name:b,value:c,Xb:d,ia:a.ia};a.b.i[b]={value:c,ja:e}}}function eh(a,b){var c=Mg(a,b,!0);void 0!==c?Kg(a,c,a.b.ja):a.error("unrecognized EXP expression '"+b+"'")}
|
||||
function Kg(a,b,c){a.S[a.X]=Ng(a,b);null!=c&&(a.ea[a.X]=c);a.X++}function Ng(a,b,c){c=void 0===c?a.X:c;var d=Y(a.b,b||0,36,!0);(b<-B||b>=D)&&Fg(a,"truncated value "+va(b)+" at location "+va(c)+" to "+va(d));return d}vg.prototype.error=function(a,b){throw Error("error in "+Gg(this,b)+": "+a);};function Fg(a,b){a.u("warning in "+Gg(a,void 0)+": "+b)}vg.prototype.u=function(a){this.b?this.b.u(a):console.log(a)};
|
||||
var Jg=1,Sg=2,Tg=4,Zg="ASCII",$g="ASCIZ",bh="BLOCK",hh="DEFINE",ch="END",dh="EXP",ih="IFDEF",jh="IFE",kh="IFG",lh="IFL",mh="IFN",nh="IFNDEF",Qg="IRP",Rg="IRPC",qh="LALL",Wg="LITERAL",rh="LIST",fh="LOC",sh="NOSYM",oh="OPDEF",th="PAGE",ph="REPEAT",ah="SIXBIT",uh="SUBTTL",vh="TITLE",gh="XWD",wh="XLIST",Dh=-1,xh=-2,Eh=-3,Ch=-4;
|
||||
function Fh(a,b,c){r.call(this,"Computer",a,33554432);this.A.aa=!1;this.R=null;Gh(this,b);this.N=$c(this,"autoPower",a,6);this.w=0;this.W=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.V=!1;this.I=this.C=null;this.T=this.O=!1;this.ba=$c(this,"url")||"";(Math.random()+.1).toString(36);this.i=Hh(this);if(this.v=rb("CPU",this.id)){this.D=rb("Debugger",this.id);this.G=new Ac({id:this.cb+".bus",busWidth:this.W},this.v,this.D);var d,e=pb(this.id);if((this.j=rb("Panel",this.id))&&this.j.za)for(b=
|
||||
0;b<e.length;b++)d=e[b],d.ha=this.j.ha,d.u=this.j.u,d.za=this.j.za;this.u(Rb+" v1.34.3\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ma&&d.Ma(this,this.G,this.v,this.D);b=null;d=$c(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=$c(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=Ih),this.b&&(this.I=new G(this,"1.34.3"),Uh(this.I)?b=null:
|
||||
delete this.I);!b&&this.b&&(b=Vh(this))&&(this.K=!0);if(b){var g=this;Ia(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.ha("Unable to load machine state from server (error "+c+(b?": "+Da(b):"")+")")):(g.L=b,g.V=!0);Mb(g)})}else Mb(this);this.J.power||(this.N=!0);!c&&this.N&&Wh(this,this.Xa)}else q("Unable to find CPU component")}ja(Fh,r);function Gh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.R=b}
|
||||
function $c(a,b,c,d){var e=b.toLowerCase(),e=Ta(b)||Ta(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Wh(a,b,c){for(var d=pb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Bb(f)){Bb(f,function(){Wh(a,b,c)});return}}b.call(a,c)}
|
||||
function Xh(a,b){var c=new G(a,"1.34.3",Yh);if(Uh(c)&&Zh(c)){var d=c.get($h),e=b?b.get($h):"unknown";d!=e&&(a.ha("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Fh.prototype;
|
||||
m.Xa=function(a){void 0===a&&(a=this.b||(this.L?ai:Ih));if(!this.w){this.w++;var b=!1,c=!1;this.O=!1;var d=this.I||new G(this,"1.34.3");if(a==bi)b=!0;else if(a>Ih){if(Uh(d,this.L)){this.C=new G(this,"1.34.3",ci);Uh(this.C)&&(di(this,d),a=ei,fi(this.C));this.C.set($h,Ha());gi(this.C);var e=this.b&&!this.K;if(a==ai||ob("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Zh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Uh(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.ha("Error: "+g),"unable to verify user"==g&&(Ra(hi,""),this.i=null)):this.u(f+": "+g),fi(d),Uh(d)?(c=Zh(d),e=!0):c=!1))}e&&Xh(this,c?d:null)}else a==ei&&d.clear()}else Xh(this);delete this.L;delete this.I}e=pb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=ii(this,g,d,b,c));b=[d,a,c];a!=bi?Wh(this,this.Ib,b):this.Ib(b)}};
|
||||
function ii(a,b,c,d,e){if(!b.A.aa){b.A.aa=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.Ba(f,d)&&f&&(q("Unable to restore state for "+b.type),a.M&&!a.V?(c.clear(),a.b=Ih,window&&window.location.reload()):a.O=!0,b.Ba(null),e=!1),!d&&b.Eb){var g=b.Eb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||
m.Ib=function(a){var b=a[0],c=0>a[1];a=a[2];this.T=!0;this.A.aa=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(ii(this,this.v,b,c,a),K(this,-2),this.v.fa());this.O&&(di(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
||||
function di(a,b){if(ob("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.3";d.url=c;d.user=a;d.type="bug";d.data=b;Ia("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function Ag(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new G(a,"1.34.3"),g=new G(a,"1.34.3",Yh),h=Ha();g.set($h,h);f.set($h,h);f.set(ji,"1.34.3");f.set(ki,window?window.location.href:null);f.set(li,window?window.navigator.userAgent:"");a.v&&a.v.sa&&(c&&(b&&(a.v.A.fa=a.v.A.P),a.v.Y()),d=a.v.sa(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.aa=!1,!1===d&&(e=null)));for(var h=pb(a.id),k=0;k<h.length;k++){var l=h[k];l.A.aa&&(l.sa&&(d=l.sa(b,c),"object"===typeof d&&f.set(l.id,d)),c&&(l.A.aa=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&mi(a,a.i,f.toString()),gi(g)&&gi(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==ni),d&&f.clear(h)):e=f.toString());c&&(a.A.aa=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
|
||||
m.reset=function(){this.A.reset=!0;this.G&&this.G.reset&&(Qb(this,"Resetting "+this.G.type),this.G.reset());this.v&&this.v.reset&&(Qb(this,"Resetting "+this.v.type),this.v.reset());for(var a=pb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.v&&c.reset&&(Qb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;K(this,-1)};m.start=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}K(this,-1)};
|
||||
m.stop=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}K(this,-1)};
|
||||
function K(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.lb+=d))&&(e.textContent=c.A.P?c.ba.toFixed(2)+"Mhz":"Stopped",c.lb=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.P;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.U||8,e=e||0,e=8==f?va(e,void 0):n(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.Ca);kc(a,a.i);ec(a,a.w)}}
|
||||
m.ta=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.aa?Ag(d,!1,!0):Wh(d,d.Xa))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.aa&&!d.w)if(d.b&&!d.F){var a=ob("Click OK to save changes to this "+Rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ag(d,a,!0);!a&&d.M?window&&window.location.reload():d.Xa(Ih)}else d.reset(),d.v&&!d.D&&d.v.fa()},!0;case "save":if(za(Ka(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.J[b]=c,c.onclick=function(){var a=Hh(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=Ag(d,b);b?mi(d,a,c):d.ha("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Hh(a,b){var c=a.i;c||((c=Qa(hi),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=oi(a,c))||a.ha("The user ID is invalid.")):b&&a.ha("Browser local storage is not available"));return c}
|
||||
function oi(a,b){a.i=null;b=Ia(Ka()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(hi,b.data),a.i=b.data)}catch(d){q(d.message+" ("+c+")")}return a.i}function Vh(a){var b=null;a.i&&(b=Ka()+"/api/v1/user?req=load&user="+a.i+"&state="+pi(a,"1.34.3"));return b}
|
||||
function mi(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=pi(a,"1.34.3");d.data=c;b=Ia(Ka()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ha("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.ha(c),Ra(hi,""),a.i=null)}}
|
||||
function jd(a,b){if(a.za){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.za.focus();!b&&window&&window.scrollTo(c,d)}}var ci="failsafe",Yh="validate",$h="timestamp",ji="version",ki="url",li="browser",hi="user",bi=-1,Ih=0,ai=1,ei=2,ni=3;Ya(function(){for(var a=w(document,v+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=t(c),c=w(c,v,"computer"),e=0;e<c.length;e++){var f=c[e],g=t(f),g=new Fh(g,d,!0);sb(g,f);g.N&&Wh(g,g.Xa)}});
|
||||
Za.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=rb("Computer",c.id))&&c.T&&!c.A.aa&&c.Xa(bi)}});Za.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=rb("Computer",c.id))&&c.A.aa&&Ag(c,!(!c.b||c.F),!0)}});function G(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=pi(a,b,c);fi(this,a.Ub)}m=G.prototype;m.set=function(a,b){try{this.b[a]=b}catch(c){}};m.get=function(a){return this.b[a]||null};
|
||||
m.data=function(){return this.b};function Uh(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:La()&&(b=Qa(a.key))?(a.i=b,a.v=!0):!1}function Zh(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){q(c.message||c),b=!1}return b}function gi(a){var b=!0;if(La()){var c=JSON.stringify(a.b);Ra(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}m.toString=function(){return this.b?JSON.stringify(this.b):this.i};
|
||||
function fi(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}m.clear=function(a){fi(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function pi(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var qi=0;
|
||||
function ri(a,b,c,d,e,f,g){f("Loading "+a+"...");Ia(a,null,!0,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):si(k,a,b,c,d,e,f,g)})}
|
||||
function si(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(gb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\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(u){g=null,a=u.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?ti(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function ti(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ia(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);ti(a,b,c)}})}else c(a,null)}
|
||||
function ui(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Aa(a))}function g(a){f("Error: "+a);l&&(--qi||bb(!0));l=!1}var h,k,l=!0;qi++;mb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],A=document.createElement("style");A.type="text/css";A.styleSheet?A.styleSheet.cssText=p:A.appendChild(document.createTextNode(p));u.appendChild(A)}d||
|
||||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.3/components.xsl");p=function(e,k){k?ri(d,null,a,null,!1,f,function(a,e){e?(gb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--qi||bb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--qi||
|
||||
bb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ri(c,b,a,e,!0,f,p):si(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(J){g(J.message)}return l}window.embedPDP10=function(a,b,c,d){bb(!1);return ui("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){bb(!1);return ui("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return rb(b,a+".machine")};
|
||||
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!ub[a]){for(var c=!0,d=ub,e=a,f=b.length,g=[],h=[],k="",l=null,p=0;p<f;p++){var u=b[p];if('"'==u||"'"==u)l&&u!=l?k+=u:(l?l=null:l=u,k&&(h.push(k),k=""));else{if(!l){if("\r"==u||"\n"==u)u=";";if(" "==u||"\t"==u||";"==u){k&&(h.push(k),k="");";"==u&&h.length&&(g.push(h),h=[]);continue}}k+=u}}k&&h.push(k);h.length&&g.push(h);d[e]=g;tb(a)||(c=!1)}return c};window.enableEvents=bb;window.sendEvent=db;})();//# sourceMappingURL=/tmp/pdpjs/1.34.3/pdp10-dbg.map
|
||||
|
|
|
|||
|
|
@ -60,12 +60,12 @@ function Ya(a){if(Za)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w(""+("An un
|
|||
function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Wd=b.comment;this.wf=b;this.exports={};this.H=this.bindings={};a=this.id.indexOf(".");0>a?this.Nb=this.id:(this.wb=this.id.substr(0,a),this.Nb=this.id.substr(a+1));this.A={ready:!1,eb:!1,yd:!1,ca:!1,error:!1};this.Pc=null;this.A.error=!1;this.ja=c||0;this.D=this.f=this.F=this.J=this.Ua=null;db.push(this)}function eb(a,b,c){fb[a]&&b&&(fb[a][b]=c)}function gb(){return Date.now()||+new Date}
|
||||
function w(a){window&&window.alert(a)}function hb(a){var b=!1;window&&(b=window.confirm(a));return b}function ib(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<db.length;b++){var d=db[b];a&&d.id.indexOf(a)||c.push(d)}return c}function mb(a){if(void 0!==a){var b;for(b=0;b<db.length;b++)if(db[b].id===a)return db[b]}return null}
|
||||
function nb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<db.length;d++)if(c)c==db[d]&&(c=null);else if(!(a!=db[d].type||b&&db[d].id.indexOf(b)))return db[d]}return null}function ob(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}
|
||||
function pb(a,b){var c=y;b=z(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=ob(g))&&k.binding&&a.wa(k.type,k.binding,g,k.value),m=l.length}}}}
|
||||
function z(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||
function pb(a,b){var c=y;b=A(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=ob(g))&&k.binding&&a.wa(k.type,k.binding,g,k.value),m=l.length}}}}
|
||||
function A(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||
function qb(a){for(var b=!0,c=rb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=sb.indexOf(e)&&(f=function(){return function(){qb(a)}}());var g=tb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,k=nb(d[1],a);if(k)if(g=vb[e])b=g(k,d[2],d[3]);else{var l=k.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(k,d[2],d[3]);else if(!g.call(k,f,d[2],d[3]))break}}if(!b){w("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete rb[a];return b}h=x.prototype;
|
||||
h.toString=function(){return this.name?this.name:this.id||this.type};
|
||||
h.wa=function(a,b,c){switch(b){case "clear":return this.H[b]||(this.H[b]=c,c.onclick=function(a){return function(){a.H.print&&(a.H.print.value="")}}(this)),!0;case "print":return this.H[b]||(this.Ua=this.H[b]=c,c.value="",this.v=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.T=function(a){this.v(a,this.Nb)}),!0;default:return!1}};h.log=function(){};h.v=function(){};
|
||||
h.status=function(a){this.v(this.Nb+": "+a)};h.T=function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)};function Bb(a,b){a.A.error=!0;a.T(b)}function Cb(a){return a.A.error?(a.v(a.toString()+" error"),!0):!1}function Db(a,b){b&&(a.A.ready?b():a.Pc=b);return a.A.ready}function C(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.Pc,a.Pc=null,b&&b()))}function Eb(a,b){a.A.eb&&(b?a.A.yd=!0:void 0===b&&a.v(a.toString()+" busy"));return a.A.eb}
|
||||
h.status=function(a){this.v(this.Nb+": "+a)};h.T=function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)};function Bb(a,b){a.A.error=!0;a.T(b)}function Cb(a){return a.A.error?(a.v(a.toString()+" error"),!0):!1}function Db(a,b){b&&(a.A.ready?b():a.Pc=b);return a.A.ready}function D(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.Pc,a.Pc=null,b&&b()))}function Eb(a,b){a.A.eb&&(b?a.A.yd=!0:void 0===b&&a.v(a.toString()+" busy"));return a.A.eb}
|
||||
function Fb(a,b){if(a.A.yd)return a.A.eb=!1,a.A.yd=!1;if(a.A.error)return a.v(a.toString()+" error"),!1;a.A.eb=b;return a.A.eb}h.Da=function(){return this.A.ca=!0};h.Ca=function(a,b){b&&(this.A.ca=!1);return!0};function E(a,b){if(a.D){a===a.D?b|=0:b=b||a.ja;var c=a.D.ja&b;return!!b&&c===b||!!(c&a.D.le)}return!1}function F(a,b,c,d){a.D&&(!0===c||E(a,c|0))&&a.D.message(b,d)}
|
||||
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
|
||||
var fb=window?window.PCjs.Machines:{},db=window?window.PCjs.Components:[],rb=window?window.PCjs.Commands:{},sb=["hold","sleep","wait"],tb={alert:function(a){w(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},vb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
|
||||
|
|
@ -77,7 +77,7 @@ nj:16384,vj:32768},gf:{bb:63},Sd:{Pj:1024,ej:2048,he:2048,zj:3072,Je:4096,ab:512
|
|||
52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11",180:"RX11"};Pb.kf=["DX",77,1,26,128,1,0,0,128,0];Nb.Ic=["RK",203,2,12,512,0,0,0,512,Nb.Jc.Ic|Nb.Jc.ee|Nb.Jc.ae];Ob.df=["RL",512,2,40,256,0,0,0,256,Ob.Kc.Qe.Se|Ob.Kc.Td|Ob.Kc.Pe];
|
||||
var y="pdp11",Hb="PDPjs",Ib=!1,Jb=Gb,Lb=Kb=!0,Rb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,rx11:262144,dl11:1048576,serial:1048576,kw11:2097152,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
|
||||
function Sb(a,b){x.call(this,"Panel",a,512);this.j=this.u=0;this.M=b;this.ga=this.g=this.Xa=this.Fb=0;this.B=this.C=-1;this.G=this.I=this.w=!1;this.L=Tb;this.i={};this.b={START:[1,1,!0,!1,this.Uf],STEP:[1,1,!1,!1,this.Vf],ENABLE:[1,1,!1,!1,this.Pf],CONT:[1,1,!0,!1,this.Nf],DEP:[0,0,!0,!1,this.Of],EXAM:[1,1,!0,!1,this.Qf],LOAD:[1,1,!0,!1,this.Sf],TEST:[0,0,!0,!1,this.Rf]};for(a=0;22>a;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.mh,
|
||||
reset:this.hh,set:this.lh};C(this)}p(Sb,x);function Ub(a,b){return Vb(a,a.Fb=b)}h=Sb.prototype;h.reset=function(a){this.stop();a&&Ub(this,0)};
|
||||
reset:this.hh,set:this.lh};D(this)}p(Sb,x);function Ub(a,b){return Vb(a,a.Fb=b)}h=Sb.prototype;h.reset=function(a){this.stop();a&&Ub(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(){Wb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Xb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Wb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Xb(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;Yb(b,this,ec);fc(b,this.reset.bind(this));gc(this);hc(this)};
|
||||
h.Da=function(a,b){if(!b)if(this.M&&ic(),!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.Fb,this.Xa]);return a.data()};h.restore=function(a){if(a=a[0])jc(this,this.ga=a[0]),Ub(this,a[1]),kc(this,a[2]);return!0};h.hh=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"}
|
||||
|
|
@ -86,9 +86,9 @@ h.lh=function(a,b){if("SR"==a)return kc(this,ma(b,8));var c=this.b[a];return c?(
|
|||
h.Uf=function(a){a||this.f.A.V||(rc(this.f,this.ga),a=this.f,a.F.reset(),sc(a),this.b[tc]&&this.b[tc][1]&&uc(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[tc]&&this.b[tc][1])uc(this.f);else{if((a=this.D)&&!Eb(a,!0))Fb(a,!0),vc(a,0,null),Fb(a,!1);else try{var b=this.f.Dc(1);0<b&&(wc(this.f,b),xc(this.f,b,!0),yc(this.f,b))}catch(c){"number"!=typeof c&&Bb(this.f,c.stack||c.message)}this.stop();this.J&&H(this.J)}};
|
||||
h.Of=function(a){if(a&&!this.f.A.V)if(this.G&&zc(this),a=Ub(this,this.Xa),this.L==Tb)Ac(this.F,this.ga,a);else{var b=this.f,c=this.ga;b.qa++;b.F.bc(Bc(b,c,4),a);b.qa--}};h.Qf=function(a){a||this.f.A.V||(this.I&&zc(this),a=this.L==Tb?Cc(this.F,this.ga):Dc(this.f,this.ga),Ub(this,a))};h.Sf=function(a){a||this.f.A.V||jc(this,this.Xa)};h.Rf=function(a){a?(this.w=!0,gc(this,!0)):(this.w=!1,gc(this),kc(this,0))};h.Tf=function(a,b){this.Xa=a?this.Xa|1<<b:this.Xa&~(1<<b)};
|
||||
function zc(a){var b=1140>=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[oc]&&a.b[oc][1]||(b=-b);jc(a,a.ga&~c|a.ga+b&c)}function jc(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++)Ec(a,"A"+c,b&1<<c)}}function Vb(a,b){a.g=b&65535;if(a.C!==a.g){a.C=a.g;b=a.C;for(var c=0;16>c;c++)Ec(a,"D"+c,b&1<<c)}return a.g}function Ec(a,b,c){a.i[b]=c;a.w||lc(a,b,c)}function kc(a,b){a.Xa=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.Xa&1<<b?1:0;hc(a);return!0}
|
||||
h.stop=function(){jc(this,this.f.g[7])};h.Id=function(a){this.ga=a};h.setData=function(a,b){b?this.Fb=a:this.g=a};h.$f=function(a,b){return(b?this.Fb:this.Xa)&65535};h.sh=function(a){this.Fb=a};function ic(){for(var a=z(document,y,"panel"),b=0;b<a.length;b++){var c=a[b],d=ob(c),e=mb(d.id);e||(e=new Sb(d,!0));pb(e,c)}}var Tb=7,pc="DEP",tc="ENABLE",qc="EXAM",oc="STEP",Fc={},ec=(Fc[65400]=[null,null,Sb.prototype.$f,Sb.prototype.sh,"CNSW"],Fc);Sa(ic);
|
||||
h.stop=function(){jc(this,this.f.g[7])};h.Id=function(a){this.ga=a};h.setData=function(a,b){b?this.Fb=a:this.g=a};h.$f=function(a,b){return(b?this.Fb:this.Xa)&65535};h.sh=function(a){this.Fb=a};function ic(){for(var a=A(document,y,"panel"),b=0;b<a.length;b++){var c=a[b],d=ob(c),e=mb(d.id);e||(e=new Sb(d,!0));pb(e,c)}}var Tb=7,pc="DEP",tc="ENABLE",qc="EXAM",oc="STEP",Fc={},ec=(Fc[65400]=[null,null,Sb.prototype.$f,Sb.prototype.sh,"CNSW"],Fc);Sa(ic);
|
||||
function Gc(a,b,c){x.call(this,"Bus",a,16);this.f=b;this.D=c;this.U=+a.busWidth||16;this.M=1<<this.U;this.I=this.M-1;this.j=Hc;this.g=Math.log2(this.j);this.R=this.j>>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=[Ic,Jc,Kc,Lc];this.b=this.u=[];this.B=this.L=this.w=this.O=this.P=0;a=new I(this);Xc(a,this.D);this.b=Array(this.G);this.u=Array(this.G);for(b=0;b<this.G;b++)this.b[b]=this.u[b]=a;this.B=this.M-Hc;Yc(this,this.B,Hc,Zc,this);this.P=
|
||||
this.O=(this.B&this.I)>>>this.g;this.L=0;this.w=this.I;C(this)}p(Gc,x);function $c(a,b){if(b!=a.L){for(var c=0;c<a.G;c++)a.u[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Hc,a.P=(b&a.w)>>>a.g,a.u[a.P]=a.b[a.O])}}h=Gc.prototype;h.reset=function(){for(var a=0;a<this.N.length;a++)this.N[a]();$c(this,16)};h.Da=function(a,b){if(!b)if(!a)this.reset();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,ad(this));return a.data()};
|
||||
this.O=(this.B&this.I)>>>this.g;this.L=0;this.w=this.I;D(this)}p(Gc,x);function $c(a,b){if(b!=a.L){for(var c=0;c<a.G;c++)a.u[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Hc,a.P=(b&a.w)>>>a.g,a.u[a.P]=a.b[a.O])}}h=Gc.prototype;h.reset=function(){for(var a=0;a<this.N.length;a++)this.N[a]();$c(this,16)};h.Da=function(a,b){if(!b)if(!a)this.reset();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,ad(this));return a.data()};
|
||||
h.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&d.length<this.R){for(var e=0,f=Array(this.R),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.b[c];if(!e||!e.restore(d)){w("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||
function Yc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Yb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Yb){n=l.size-(f-m);n>g&&(n=g);l.Yb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return bd(cd,f,g)}f=new I(a,f,n,a.j,d,e);Xc(f,a.D,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+dd[d]+" at "+u(b)),!0):bd(ed,b,c)}h.Md=function(a){return this.u[(a&this.w)>>>this.g].Eb(a&this.i,a)};
|
||||
h.Cc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Lb||b!=this.i?this.u[c].pa(b,a):this.u[c++].Eb(b,a)|this.u[c&this.S].Eb(0,a+1)<<8};h.Nd=function(a,b){this.u[(a&this.w)>>>this.g].Hb(a&this.i,b,a)};h.bc=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Lb||c!=this.i?this.u[d].Ib(c,b,a):(this.u[d++].Hb(c,b&255,a),this.u[d&this.S].Hb(0,b>>8&255,a+1))};function fd(a,b){return a.b[(b&a.I)>>>a.g]}
|
||||
|
|
@ -102,7 +102,7 @@ function Jc(a,b,c){var d=!1,e=this.controller,f=e.Qa[a],g=c&65535;if(f)if(f[1])f
|
|||
b),!0,!e.oa))}function Kc(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 Lc(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={gb:128,Jd:-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.Jd=md(c,function(){e.b.gb|=128;e.b.gb&64&&nd(e.f,e.b.Ra);e.J&&H(e.J,1);od(e.f,e.b.Jd,1E3/60)});this.b.Ra=pd(c,64,6,2097152);Yb(b,this,qd);fc(b,this.reset.bind(this));d&&rd(d,64,function(a){var b=e.f;sd(e,"KIPDR",b.B[0],0,a[0]);sd(e,"KDPDR",b.B[0],8,a[0]);sd(e,"KIPAR",b.M[0],0,a[0]);sd(e,"KDPAR",b.M[0],8,a[0],!0);sd(e,"SIPDR",b.B[1],0,a[0]);sd(e,"SDPDR",b.B[1],8,a[0]);sd(e,"SIPAR",b.M[1],0,a[0]);sd(e,"SDPAR",b.M[1],8,a[0],
|
||||
!0);sd(e,"UIPDR",b.B[3],0,a[0]);sd(e,"UDPDR",b.B[3],8,a[0]);sd(e,"UIPAR",b.M[3],0,a[0]);sd(e,"UDPAR",b.M[3],8,a[0],!0);b.X&32&&sd(e,"UNIMAP",b.Ha,-1,a[0])});C(this)};function sd(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<g;n++)n%m||(k&&(k+="\n"),k+=b+(l?"["+qa(n,2)+"]":"")+":"),k+=" "+K(a,c[d+n],e);a.v(k+(f?"\n":""))}}h.Da=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
!0);sd(e,"UIPDR",b.B[3],0,a[0]);sd(e,"UDPDR",b.B[3],8,a[0]);sd(e,"UIPAR",b.M[3],0,a[0]);sd(e,"UDPAR",b.M[3],8,a[0],!0);b.X&32&&sd(e,"UNIMAP",b.Ha,-1,a[0])});D(this)};function sd(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<g;n++)n%m||(k&&(k+="\n"),k+=b+(l?"["+qa(n,2)+"]":"")+":"),k+=" "+K(a,c[d+n],e);a.v(k+(f?"\n":""))}}h.Da=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
h.Ca=function(a){return a?this.save():!0};h.reset=function(){this.b.gb=128;od(this.f,this.b.Jd,1E3/60,!0)};h.save=function(){var a=new G(this);a.set(0,[this.b.gb]);return a.data()};h.restore=function(a){a=ia(a[0]);this.b.gb=a.next().value;return!0};h.gg=function(){return this.b.gb};h.zh=function(a){this.b.gb=a&192;this.b.gb&64||td(this.f,this.b.Ra)};h.ig=function(){return ud(this.f)};h.Bh=function(a){vd(this.f,a&-129|this.f.S&128)};h.jg=function(){return wd(this.f)};h.kg=function(){return xd(this.f)};
|
||||
h.lg=function(){return this.f.X};h.Ch=function(a){yd(this.f,a)};h.Xg=function(a){a=a>>1&63;var b=this.f.Ha[a>>1];return a&1?b>>16:b&65535};h.ni=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.gi=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.ei=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.fi=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.di=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.yh=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.wh=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.xh=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};
|
||||
|
|
@ -116,7 +116,7 @@ var M={},qd=(M[61568]=[null,null,L.prototype.Xg,L.prototype.ni,"UNIMAP",64,1170]
|
|||
L.prototype.$b,"R4SET0"],M[65477]=[null,null,L.prototype.Wb,L.prototype.$b,"R5SET0"],M[65478]=[null,null,L.prototype.sg,L.prototype.Jh,"R6KERNEL"],M[65479]=[null,null,L.prototype.vg,L.prototype.Mh,"R7KERNEL"],M[65480]=[null,null,L.prototype.Xb,L.prototype.ac,"R0SET1",1,1145],M[65481]=[null,null,L.prototype.Xb,L.prototype.ac,"R1SET1",1,1145],M[65482]=[null,null,L.prototype.Xb,L.prototype.ac,"R2SET1",1,1145],M[65483]=[null,null,L.prototype.Xb,L.prototype.ac,"R3SET1",1,1145],M[65484]=[null,null,L.prototype.Xb,
|
||||
L.prototype.ac,"R4SET1",1,1145],M[65485]=[null,null,L.prototype.Xb,L.prototype.ac,"R5SET1",1,1145],M[65486]=[null,null,L.prototype.tg,L.prototype.Kh,"R6SUPER",1,1145],M[65487]=[null,null,L.prototype.ug,L.prototype.Lh,"R6USER",1,1145],M[65504]=[null,null,L.prototype.bg,L.prototype.uh,"CTRL",8,1170],M[65520]=[null,null,L.prototype.ye,L.prototype.De,"LSIZE",1,1170],M[65522]=[null,null,L.prototype.ye,L.prototype.De,"HSIZE",1,1170],M[65524]=[null,null,L.prototype.Sg,L.prototype.ii,"SYSID",1,1170],M[65526]=
|
||||
[null,null,L.prototype.ag,L.prototype.th,"ERR",1,1170],M[65528]=[null,null,L.prototype.hg,L.prototype.Ah,"MBR",1,1170],M[65530]=[null,null,L.prototype.mg,L.prototype.Dh,"PIR"],M[65532]=[null,null,L.prototype.Rg,L.prototype.hi,"SLR"],M[65534]=[null,null,L.prototype.rg,L.prototype.Ih,"PSW"],M);
|
||||
Sa(function(){for(var a=z(document,y,"device"),b=0;b<a.length;b++){var c,d=a[b];c=ob(d);switch(c.type){case "default":c=new L(c);pb(c,d);break;case "pc11":c=new Cd(c);pb(c,d);break;case "rl11":c=new Dd(c);pb(c,d);break;case "rk11":c=new N(c);pb(c,d);break;case "rx11":c=new Fd(c),pb(c,d)}}});
|
||||
Sa(function(){for(var a=A(document,y,"device"),b=0;b<a.length;b++){var c,d=a[b];c=ob(d);switch(c.type){case "default":c=new L(c);pb(c,d);break;case "pc11":c=new Cd(c);pb(c,d);break;case "rl11":c=new Dd(c);pb(c,d);break;case "rk11":c=new N(c);pb(c,d);break;case "rx11":c=new Fd(c),pb(c,d)}}});
|
||||
function I(a,b,c,d,e,f){this.D=a;this.id=Gd+=2;this.b=null;this.K=b;this.Yb=c;this.size=d||0;this.type=e||Hd;this.j=e==Id;this.f=this.controller=null;this.Eb=this.J=this.Ed;this.pa=this.B=this.Fd;this.Hb=this.F=this.Zb;this.Ib=this.C=this.Xc;this.H=this.i=0;Xc(this);this.fb=this.Gf=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],Jd(this,f.zf);else if(Gb)this.u=new ArrayBuffer(this.size),this.w=new DataView(this.u,0,this.size),this.g=new Uint8Array(this.u,0,this.size),this.G=new Uint16Array(this.u,
|
||||
0,this.size>>1),this.b=new Int32Array(this.u,0,this.size>>2),Jd(this,Kd?Ld:Md);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Jd(this,Vd)}else Jd(this)}h=I.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(Gb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.w.getInt32(b<<2,!0);else a=this.b;return a};
|
||||
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Gb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.fb=!0}return!1};function Jd(a,b){b||(b=Wd);Xd(a,b,void 0);Yd(a,b,void 0)}function Xd(a,b,c){c&&a.H||(a.Eb=b[0]||a.Ed,a.pa=b[2]||a.Fd);if(c||void 0===c)a.J=b[0]||a.Ed,a.B=b[2]||a.Fd}function Yd(a,b,c){c&&a.i||(a.Hb=!a.j&&b[1]||a.Zb,a.Ib=!a.j&&b[3]||a.Xc);if(c||void 0===c)a.F=b[1]||a.Zb,a.C=b[3]||a.Xc}
|
||||
|
|
@ -128,7 +128,7 @@ h.bh=function(a,b){Kb&&a&1&&this.D.Oa(b,64,2);a=!Lb&&a&1?this.g[a]|this.g[a+1]<<
|
|||
h.ri=function(a,b,c){Kb&&a&1&&this.D.Oa(c,64,4);!Lb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.G[a>>1]=b;this.fb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0)};var Hd=0,id=1,Id=2,Zc=4,dd=["NONE","RAM","ROM","VID","H/W"],Gd=0,Wd=[],Vd=[I.prototype.Zf,I.prototype.rh,I.prototype.dh,I.prototype.si],Zd=[I.prototype.Xf,I.prototype.ph,I.prototype.Zg,I.prototype.pi];
|
||||
if(Gb)var Md=[I.prototype.Wf,I.prototype.oh,I.prototype.Yg,I.prototype.oi],Ld=[I.prototype.Yf,I.prototype.qh,I.prototype.bh,I.prototype.ri];var ce;if(Gb){var de=new ArrayBuffer(2);(new DataView(de)).setUint16(0,256,!0);ce=256===(new Uint16Array(de))[0]}else ce=!1;var Kd=ce;
|
||||
function ee(a,b){x.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.bd=0;this.$c=b;this.mb=c;this.nd=Math.round(this.$c/1E4)/100;this.yb=this.nd*this.mb;this.od=this.rc=this.Bb=this.Ac=0;this.A.V=this.A.Uc=!1;this.A.ra=a.autoStart;"string"==typeof this.A.ra&&(this.A.ra="true"==this.A.ra);this.A.Ob=!1;this.pc=this.Rb=0;this.qc=+a.csStart;this.Pb=+a.csInterval;this.Sb=+a.csStop;this.ha=[];this.$d=this.ih.bind(this);this.nb=this.Ka=this.lb=this.b=this.ma=this.Ja=this.oc=this.kb=this.Tb=
|
||||
this.pd=this.xb=0;this.ta=null;C(this)}p(ee,x);h=ee.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<fe.length;a++)(b=this.H[fe[a]])&&this.J.wa(null,fe[a],b);C(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
|
||||
this.pd=this.xb=0;this.ta=null;D(this)}p(ee,x);h=ee.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<fe.length;a++)(b=this.H[fe[a]])&&this.J.wa(null,fe[a],b);D(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
|
||||
h.Da=function(a,b){var c=ge(this.J,"autoStart");null!=c?this.A.ra="true"==c?!0:"false"==c?!1:!!c:null==this.A.ra&&(this.A.ra=!this.D&&void 0===this.H.run);if(!b){if(a){he(this);if(!this.restore(a))return!1;ie(this)}else this.reset();this.D?(a=this.D,b=this.A.ra,a.Ha=!0,a.v("Type ? for help with PDPjs Debugger commands"),je(a),b||ke(a),a.ya&&(b=a.ya,a.ya=null,le(a,b))):this.status("No debugger detected");this.A.ra||this.v("CPU will not be auto-started "+(this.ta?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
||||
h.Ca=function(a){return a?this.save():!0};h.ra=function(){return this.A.V?!0:this.A.ra?(uc(this),!0):!1};h.re=function(){return 0};function ie(a){void 0===a.qc&&(a.qc=0);void 0===a.Pb&&(a.Pb=-1);void 0===a.Sb&&(a.Sb=-1);a.A.Ob=0<=a.qc&&0<a.Pb;a.A.Ob&&(a.pc=0,a.Rb=a.qc-a.nb)}function yc(a,b){if(a.A.Ob){var c=!1;a.pc=a.pc+a.re()|0;a.Rb-=b;0>=a.Rb&&(a.Rb+=a.Pb,c=!0);0<=a.Sb&&a.Sb<=me(a)&&(a.Pb=a.Sb=-1,ie(a),a.da(),c=!0);c&&a.v(me(a)+" cycles: checksum="+v(a.pc))}}
|
||||
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=ib(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.ca);c++);c==k.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Pc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.V?d.da():uc(d))},!0;
|
||||
|
|
@ -167,7 +167,7 @@ function Xe(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.kc(a.ya(b,c,3)):a.g[c]&
|
|||
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.mc(e,d.call(a,0>c?a.g[-c-1]:c,a.lc(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function $e(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.Vc(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 af(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.mc(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
|
||||
h.Dc=function(a){this.A.complete=!0;var b=this.D?bf(this.D)?1:this.A.Uc?-1:0:0,c=a?this.A.Uc?0:1:-1;this.A.Uc=!1;this.lb=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.ob&224)>>5,f=this.R&&this.R.pb>e?this.R:null;f&&(d=f.Gb,e=f.pb);e>(this.w&224)>>5?(this.i&8&&(Fe(this,2),this.i&=-9),this.sa(d,0,-10),e=!0):e=!1;e&&(f&&He(this,f),a=!0);this.R||this.ob||(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&&Ie(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.ce(f)}while(0<this.b);return this.A.complete?this.lb-this.b:!1===this.A.complete?-1:0};Sa(function(){for(var a=z(document,y,"cpu"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new ve(d);pb(d,c)}});
|
||||
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&&Ie(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.ce(f)}while(0<this.b);return this.A.complete?this.lb-this.b:!1===this.A.complete?-1:0};Sa(function(){for(var a=A(document,y,"cpu"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new ve(d);pb(d,c)}});
|
||||
function df(a,b){var c=b+a;this.I=this.L=this.C=c;this.G=(a^c)&(b^c);return c&65535}function ef(a,b){var c=b+a,d=c<<8;this.I=this.L=this.C=d;this.G=(a<<8^d)&(b<<8^d);return c&255}function ff(a,b){a=b<<1;Je(this,a);return a&65535}function Cf(a,b){a=b<<1;Je(this,a<<8);return a&255}function Df(a,b){a=b&32768|b>>1|b<<16;Je(this,a);return a&65535}function Ef(a,b){a=b&128|b>>1|b<<8;Je(this,a<<8);return a&255}function Ff(a,b){a=b&~a;this.Ea(a);return a}function Gf(a,b){a=b&~a;this.Ea(a<<8);return a}
|
||||
function Hf(a,b){a|=b;this.Ea(a);return a}function If(a,b){a|=b;this.Ea(a<<8);return a}function Jf(a,b){a=~b|65536;this.rb(a);return a&65535}function Kf(a,b){a=~b|256;this.rb(a<<8);return a&255}function Lf(a,b){this.I=this.L=a=b-a;this.G=b&(b^a);return a&65535}function Mf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.G=b&(b^c);return a&255}function Nf(a,b){this.I=this.L=a=b+a;this.G=a&(b^a);return a&65535}function Of(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.G=c&(b<<8^c);return a&255}
|
||||
function Pf(a,b){a=-b;this.rb(a,a&b&32768);return a&65535}function Qf(a,b){a=-b;this.rb(a<<8,(a&b&128)<<8);return a&255}function Rf(a,b){a=b<<1|this.C>>16&1;Je(this,a);return a&65535}function Sf(a,b){a=b<<1|this.C>>16&1;Je(this,a<<8);return a&255}function Tf(a,b){a=(this.C&65536|b)>>1|b<<16;Je(this,a);return a&65535}function Uf(a,b){a=((this.C&65536)>>8|b)>>1|b<<8;Je(this,a<<8);return a&255}function Vf(a,b){var c=b-a;Ke(this,c,a,b);return c&65535}
|
||||
|
|
@ -196,46 +196,46 @@ Yg,Yg,Q,Q,Q,Q,Tg,Tg],wh=[sg,qg,mg,og,vg,wg,bg,cg,Bg,Wg,jh,lh,nh,function(a){1145
|
|||
function Bh(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=Ga()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){f?(c.T("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(eb(c.wb,a,b),(a=Fa(a,b))?(c.g=a.aa,c.ia=a.ia):c.j=null);Ch(c)})}}p(Bh,x);
|
||||
h=Bh.prototype;h.Ba=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Ch(this)};h.Da=function(){this.ia&&(this.D&&Dh(this.D,this.id,this.u,this.b,this.ia),delete this.ia);return!0};h.Ca=function(){return!0};
|
||||
function Ch(a){if(!Db(a)){if(a.j){if(!a.g||!a.F)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Bb(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+Hc){var c={},c=(c[b]=[Bh.prototype.Kg,Bh.prototype.ai,null,null,null,a.b>>1],c);if(Yb(a.F,a,c)){a.status("Added "+a.b+"-byte ROM at "+u(b));b=a.w=!0;break a}}else if(Yc(a.F,b,a.b,Id)){for(c=0;c<a.g.length;c++)gd(a.F,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?
|
||||
b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.F,g=d.b,k=[],l=d.u>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.F;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}C(a)}}h.Kg=function(a){return this.g[a-this.u]};h.ai=function(){};Sa(function(){for(var a=z(document,y,"rom"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Bh(d);pb(d,c)}});
|
||||
b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.F,g=d.b,k=[],l=d.u>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.F;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}D(a)}}h.Kg=function(a){return this.g[a-this.u]};h.ai=function(){};Sa(function(){for(var a=A(document,y,"rom"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Bh(d);pb(d,c)}});
|
||||
function Eh(a){x.call(this,"RAM",a);this.ia=this.g=null;this.i=+a.addr;this.j=+a.size;this.Aa=a.load;this.za=a.exec;null!=this.Aa&&(this.Aa=+this.Aa);null!=this.za&&(this.za=+this.za);this.u=this.B=!1;this.b=a.file;this.w=ta(this.b);if(this.b){a=this.b;var b=ua(this.w);"json"!=b&&"hex"!=b&&(a=Ga()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){f?(c.T("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(eb(c.wb,a,b),(a=Fa(a,b))?(c.g=a.aa,
|
||||
c.ia=a.ia,null==c.Aa&&(c.Aa=a.Aa),null==c.za&&(c.za=a.za)):c.b=null);Fh(c)})}}p(Eh,x);Eh.prototype.Ba=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Fh(this)};Eh.prototype.Da=function(a,b){this.ia&&(this.D&&Dh(this.D,this.id,this.i,this.j,this.ia),delete this.ia);b||this.reset();return!0};Eh.prototype.Ca=function(){return!0};
|
||||
function Fh(a){if(a.F&&(!a.u&&a.j&&(Yc(a.F,a.i,a.j,id)?a.u=!0:a.j=0),!Db(a))){if(!a.u)w("No RAM allocated");else if(a.b){if(!a.g)return;Gh(a,a.g,a.Aa,a.za,a.i)?a.status('Loaded image "'+a.w+'"'):a.T('Error loading image "'+a.w+'"')}a.B=!0;C(a)}}
|
||||
function Fh(a){if(a.F&&(!a.u&&a.j&&(Yc(a.F,a.i,a.j,id)?a.u=!0:a.j=0),!Db(a))){if(!a.u)w("No RAM allocated");else if(a.b){if(!a.g)return;Gh(a,a.g,a.Aa,a.za,a.i)?a.status('Loaded image "'+a.w+'"'):a.T('Error loading image "'+a.w+'"')}a.B=!0;D(a)}}
|
||||
Eh.prototype.reset=function(){if(this.u&&!this.B){for(var a=this.F,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(Gb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.F(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&Gh(this,this.g,this.Aa,this.za,this.i,!this.D)}this.B=!1};
|
||||
function Gh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){F(a,"invalid signature ("+ra(m)+") at offset "+ra(n),4096);break}if(l+6>=b.length){F(a,"invalid block at offset "+ra(n),4096);break}for(var l=l+2,q=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((q&255)+(q>>8)+(t&255)+(t>>8)),r=l,D=q-=6;0<q&&l<b.length;)m+=b[l++]&255,q--;if(q||l>=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(D)for(F(a,"loading "+ra(D)+" bytes at "+ra(t)+"-"+ra(t+D),4096);D--;)gd(a.F,t++,b[r++]&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<b.length;e++)gd(a.F,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.da(),f=!1;null!=d&&ze(a.f,d,f)}return k}
|
||||
Sa(function(){for(var a=z(document,y,"ram"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Eh(d);pb(d,c)}});function Hh(a){x.call(this,"Keyboard",a,1024);C(this)}p(Hh,x);Hh.prototype.wa=function(){return!1};Hh.prototype.Ba=function(a,b,c,d){this.J=a;this.f=c;this.D=d};Sa(function(){for(var a=z(document,y,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Hh(d);pb(d,c)}});
|
||||
function Gh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){F(a,"invalid signature ("+ra(m)+") at offset "+ra(n),4096);break}if(l+6>=b.length){F(a,"invalid block at offset "+ra(n),4096);break}for(var l=l+2,q=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((q&255)+(q>>8)+(t&255)+(t>>8)),r=l,z=q-=6;0<q&&l<b.length;)m+=b[l++]&255,q--;if(q||l>=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--;)gd(a.F,t++,b[r++]&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<b.length;e++)gd(a.F,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.da(),f=!1;null!=d&&ze(a.f,d,f)}return k}
|
||||
Sa(function(){for(var a=A(document,y,"ram"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Eh(d);pb(d,c)}});function Hh(a){x.call(this,"Keyboard",a,1024);D(this)}p(Hh,x);Hh.prototype.wa=function(){return!1};Hh.prototype.Ba=function(a,b,c,d){this.J=a;this.f=c;this.D=d};Sa(function(){for(var a=A(document,y,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Hh(d);pb(d,c)}});
|
||||
function Ih(a){x.call(this,"SerialPort",a,1048576);this.M=+a.adapter;this.S=+a.baudReceive||9600;this.Z=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.u=this.w=null;this.X=+a.tabSize;this.U=+a.charBOL;this.B=0;this.I=!0;this.P=this.N=null;this.R=this.Y=-1;this.C=this.b=this.g=0;this.i=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Jh;b&&(void 0===c&&(c="Panel"),(c=nb(c,this.id))&&(b=c.H[b])&&this.wa(null,a,b))}this.j=this.G=this.O=null;this.exports=
|
||||
{connect:this.ve,receiveData:this.Qc,receiveStatus:this.gh,setConnection:this.kh}}p(Ih,x);h=Ih.prototype;
|
||||
h.wa=function(a,b,c){var d=this;switch(b){case Jh:return this.H[b]=this.u=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?la.Pd:la.dc:46==c?b=la.Pd:a.ctrlKey&&c>=la.Ld&&c<=la.yf&&(b=c-(la.Ld-la.Ge));b&&(a.preventDefault&&a.preventDefault(),d.Qc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==la.Ie&&(b=la.He);d.Qc(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.Qc(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=pd(this.f,this.M?-1:48,4,1048576);this.R=md(this.f,function(){var a;a=-1;e.i.length&&(a=e.i.shift()&255,F(e,"receiveByte("+v(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),od(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&&nd(c,e.P))});this.N=pd(this.f,this.M?-1:52,4,1048576);this.Y=md(this.f,function(){e.g|=128;e.g&64&&nd(c,e.N)});Yb(b,this,Kh,this.M?64832+8*(this.M-1)-65392:0);fc(b,this.reset.bind(this));
|
||||
C(this)};h.ve=function(a){if(!this.j){var b=ge(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=za(c[0]);if(d!=this.Nb)return;c=za(c[1]);if(this.j=mb(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.wb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
|
||||
D(this)};h.ve=function(a){if(!this.j){var b=ge(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=za(c[0]);if(d!=this.Nb)return;c=za(c[1]);if(this.j=mb(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.wb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
|
||||
h.Da=function(a,b){if(!b)if(this.ve(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(){Lh(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 Lh(this,a[0])};function Lh(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.Qc=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);od(this.f,this.R,1E3/Math.round(this.S/10));return!0};h.gh=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&nd(this.f,this.P))};h.kh=function(a,b){return this.j?!1:(this.j=a,this.G=b,!0)};
|
||||
h.xg=function(){var a=this.b&65534;this.b&=-32769;return a};h.Oh=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.O&&b&6&&(b=0,b=this.I?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.O.call(this.j,b))};h.wg=function(){this.b&=-129;return this.C};h.Nh=function(){};h.fh=function(){return this.g};h.wi=function(a){this.g&128&&(a&64?nd(this.f,this.N):td(this.f,this.N));this.g=this.g&-70|a&69};h.eh=function(){return 0};
|
||||
h.vi=function(a){a&=255;this.G&&this.G.call(this.j,a);a&=127;if(this.u)if(13==a)this.B=0;else if(8==a)this.u.value=this.u.value.slice(0,-1),0<this.B&&this.B--;else{if(a){var b;13!=a&&10!=a&&(b=Aa[a]);b=b?"<"+b+">":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))}od(this.f,this.Y,1E3/Math.round(this.Z/10));this.g&=-129};var Jh="buffer",Mh={},Kh=(Mh[65392]=[null,null,Ih.prototype.xg,Ih.prototype.Oh,"RCSR"],Mh[65394]=[null,null,Ih.prototype.wg,Ih.prototype.Nh,"RBUF"],Mh[65396]=[null,null,Ih.prototype.fh,Ih.prototype.wi,"XCSR"],Mh[65398]=[null,null,Ih.prototype.eh,Ih.prototype.vi,"XBUF"],Mh);Sa(function(){for(var a=z(document,y,"serial"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Ih(d);pb(d,c)}});
|
||||
this.w="";10!=a&&(this.w+=String.fromCharCode(a))}od(this.f,this.Y,1E3/Math.round(this.Z/10));this.g&=-129};var Jh="buffer",Mh={},Kh=(Mh[65392]=[null,null,Ih.prototype.xg,Ih.prototype.Oh,"RCSR"],Mh[65394]=[null,null,Ih.prototype.wg,Ih.prototype.Nh,"RBUF"],Mh[65396]=[null,null,Ih.prototype.fh,Ih.prototype.wi,"XCSR"],Mh[65398]=[null,null,Ih.prototype.eh,Ih.prototype.vi,"XBUF"],Mh);Sa(function(){for(var a=A(document,y,"serial"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Ih(d);pb(d,c)}});
|
||||
function Cd(a){x.call(this,"PC11",a,4096);this.N=Nh(this,a.autoMount);this.g=0;this.U=+a.baudReceive||3600;this.w=this.b=0;this.L=32768;this.i=this.R=0;this.C=[];this.B=Oh;this.j=Ph;this.M=this.u="";this.aa=this.Aa=this.za=null;this.P=-1;this.O=!Ma("Mobi")&&window&&"FileReader"in window;this.G=null;this.S=-1;this.I=null}p(Cd,x);function Nh(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=Cd.prototype;
|
||||
h.wa=function(a,b,c){var d=this,e=Ph;switch(b){case "listTapes":return this.H[b]=c,c.onchange=function(){var a=d.H.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){w("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.H[b]=c,!0;case "readTape":e=Qh;case "loadTape":return e||(e=Rh),this.H[b]=c,c.onclick=
|
||||
function(){var a=d.H.listTapes;a&&Sh(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;Sh(d,ta(b,!0),b,Rh,a)}return!1};return!0;case Th: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=Uh(a);var e=this;if(a=Nh(this,ge(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.G=pd(this.f,56,4,4096);this.S=md(this.f,function(){1!=(e.b&32769)||e.b&128||(e.i<e.C.length?(e.w=e.C[e.i]&255,E(e)&&F(e,e.type+".advanceReader("+e.i+"): "+v(e.w,2,!0),!0),e.i++,Vh(e,e.i/e.C.length*100)):e.b|=32768,e.b|=128,e.b&=-2049,e.b&64&&nd(e.f,e.G))});Yb(b,this,Wh);fc(b,this.reset.bind(this));Xh(this,"None",Oh,!0);this.O&&Xh(this,
|
||||
"Local Tape",Yh);Xh(this,"Remote Tape",Zh);$h(this)||C(this)};h.Da=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.w=0};function $h(a){a.g=0;var b=a.N.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.H.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=ta(c,!0)}c&&b?ai(a,b,c,Rh,!0):bi(a)}return!!a.g}
|
||||
"Local Tape",Yh);Xh(this,"Remote Tape",Zh);$h(this)||D(this)};h.Da=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.w=0};function $h(a){a.g=0;var b=a.N.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.H.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=ta(c,!0)}c&&b?ai(a,b,c,Rh,!0):bi(a)}return!!a.g}
|
||||
function Sh(a,b,c,d,e){if(c)if(c==Yh)a.T('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Zh){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=ta(c);a.status("Attempting to load "+c+' as "'+b+'"');a.B=Zh}else a.B=c;ai(a,b,c,d,!1,e)}else ci(a,!1)}
|
||||
function ai(a,b,c,d,e,f){var g=-1;if(a.u.toLowerCase()!=c.toLowerCase()||a.j!=d)g++,ci(a,!0),a.A.eb?a.T("PC11 busy"):(e&&(a.g++,E(a)&&F(a,"auto-loading tape: "+b)),di(a,b,c,d,f)?g++:a.A.eb=!0);g&&ei(a,a.M,a.u,a.j,a.aa,a.Aa,a.za)}
|
||||
function di(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),ei(a,b,c,d,e),a.B=Yh);a.A.eb=!1;bi(a)};g.readAsArrayBuffer(e);return!1}0>c.indexOf("/api/v1/dump")&&(e=ua(c),f="json"==e||"gz"==e?encodeURI(c):Ga()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ea(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):(eb(a.wb,e,f),(e=Fa(e,f))&&ei(a,b,c,d,
|
||||
e.aa,e.Aa,e.za));a.A.eb=!1;a.g&&(a.g--,a.g||C(a));bi(a)})}function Xh(a,b,c,d){if((a=a.H.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||
function bi(a){var b=a.H.listTapes;if(b&&b.options){a=a.B||a.u;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Vh(a,b){b|=0;if(b!==a.P){var c=a.H[Th];c&&(c=(c=z(c,fi))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
|
||||
e.aa,e.Aa,e.za));a.A.eb=!1;a.g&&(a.g--,a.g||D(a));bi(a)})}function Xh(a,b,c,d){if((a=a.H.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||
function bi(a){var b=a.H.listTapes;if(b&&b.options){a=a.B||a.u;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Vh(a,b){b|=0;if(b!==a.P){var c=a.H[Th];c&&(c=(c=A(c,fi))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
|
||||
function ei(a,b,c,d,e,f,g){a.M=b;a.u=c;a.j=d;a.aa=e;a.Aa=f;a.za=g;d==Qh?a.I&&Gh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.T('No valid memory address for tape "'+b+'"'):(a.i=0,a.C=e,a.b&=-32769,a.status('Loaded tape "'+b+'" ('+e.length+" bytes)"),Vh(a,0))}function ci(a,b){if(a.u||!1===b)a.M="",a.u="",b||(a.j&&a.status(a.j==Rh?"tape detached":"tape unloaded"),a.B=Oh,a.j=Ph,bi(a))}h.save=function(){return(new G(this)).data()};h.restore=function(){return!0};h.qg=function(){return this.b&65534};
|
||||
h.Hh=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&nd(this.f,this.G)):(this.b&=-129,this.b|=2048,this.w=0,od(this.f,this.S,1E3/Math.round(this.U/10))));this.b=this.b&-66|a&65};h.pg=function(){this.b&=-129;this.b|=2048;return this.w};h.Gh=function(){};h.og=function(){return this.L};h.Fh=function(a){this.L=this.L&-65|a&64};h.ng=function(){return this.R};h.Eh=function(a){this.R=a&255};
|
||||
var Oh="",Yh="?",Zh="??",Ph=0,Rh=1,Qh=2,Th="readProgress",fi="pcjs-progress-bar",gi={},Wh=(gi[65384]=[null,null,Cd.prototype.qg,Cd.prototype.Hh,"PRS"],gi[65386]=[null,null,Cd.prototype.pg,Cd.prototype.Gh,"PRB"],gi[65388]=[null,null,Cd.prototype.og,Cd.prototype.Fh,"PPS"],gi[65390]=[null,null,Cd.prototype.ng,Cd.prototype.Eh,"PPB"],gi);
|
||||
function hi(a,b,c){x.call(this,"Disk",{id:a.wb+".disk"+v(++ii,4)},8192);this.controller=a;this.J=a.J;this.D=a.D;this.u=b;this.Ya=b.name;this.Pa=this.Hd="";this.Bd=b.Bd;this.ba=this.la=this.fa=this.va=this.mode=0;this.b=[];this.i=null;this.j=!1;ji(this,c,b.ba,b.la,b.fa,b.va);this.g=this.w=null;C(this)}p(hi,x);h=hi.prototype;h.Ba=function(a,b,c,d){this.D=d};
|
||||
function hi(a,b,c){x.call(this,"Disk",{id:a.wb+".disk"+v(++ii,4)},8192);this.controller=a;this.J=a.J;this.D=a.D;this.u=b;this.Ya=b.name;this.Pa=this.Hd="";this.Bd=b.Bd;this.ba=this.la=this.fa=this.va=this.mode=0;this.b=[];this.i=null;this.j=!1;ji(this,c,b.ba,b.la,b.fa,b.va);this.g=this.w=null;D(this)}p(hi,x);h=hi.prototype;h.Ba=function(a,b,c,d){this.D=d};
|
||||
function ji(a,b,c,d,e,f){a.mode=b;a.ba=c;a.la=d;a.fa=e;a.va=f;a.b=[];if("preload"!=a.mode){b=Array(a.ba);for(c=0;c<b.length;c++){d=Array(a.la);for(e=0;e<d.length;e++){f=Array(a.fa);for(var g=1;g<=f.length;g++)f[g-1]=ki(null,c,e,g,a.va,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
|
||||
function li(a,b,c,d,e){var f=c;if(a.g)return!0;a.Ya=b;a.Pa=c;a.Hd=ta(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.ba=e[0];a.la=e[1];a.fa=e[2];a.va=e[3]||512;c=a.va>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.ba);for(d=0;d<a.b.length;d++)for(var t=a.b[d]=Array(a.la),r=0;r<t.length;r++)for(var D=t[r]=Array(a.fa),A=0;A<D.length;A++){for(var B=ki(null,d,r,A+1,a.va,0),J=B.data,ub=0;ub<c;ub++,f+=4)var Ed=J[ub]=b.getInt32(f,
|
||||
!0),e=e+Ed&-1;B.Ma=c;D[A]=B}a.i=e;c=a}else a.T("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.u,c,a.Ya,a.Pa),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.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=Ga()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Bd?"":e)+"&format=json"));return!!Ea(f,
|
||||
function li(a,b,c,d,e){var f=c;if(a.g)return!0;a.Ya=b;a.Pa=c;a.Hd=ta(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.ba=e[0];a.la=e[1];a.fa=e[2];a.va=e[3]||512;c=a.va>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.ba);for(d=0;d<a.b.length;d++)for(var t=a.b[d]=Array(a.la),r=0;r<t.length;r++)for(var z=t[r]=Array(a.fa),B=0;B<z.length;B++){for(var C=ki(null,d,r,B+1,a.va,0),J=C.data,ub=0;ub<c;ub++,f+=4)var Ed=J[ub]=b.getInt32(f,
|
||||
!0),e=e+Ed&-1;C.Ma=c;z[B]=C}a.i=e;c=a}else a.T("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.u,c,a.Ya,a.Pa),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.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=Ga()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Bd?"":e)+"&format=json"));return!!Ea(f,
|
||||
null,!0,function(b,c,d){mi(a,b,c,d)})}
|
||||
function mi(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.Ya+'" (error '+d+": "+b+")",f);else{eb(a.controller.wb,b,c);try{if(0<ta(a.Hd,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Ya]:k=0>c.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<a.ba;d++)for(f=0;f<a.la;f++)for(g=0;g<a.fa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var q=l.data;if(void 0===q){var t=l.bytes;if(void 0!==t&&t.length){for(var r=m<<2,D=t.length;D<r;D++)t[D]=n;ni(l,t)}else q=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=q;delete l.bytes}ki(l,d,f);for(r=
|
||||
0;r<q.length;r++)c=c+q[r]&-1}a.b=k;a.i=c;e=a}else w("Empty disk image: "+a.Ya)}catch(A){w("Disk image error ("+b+"): "+A.message)}}a.g&&(a.g.call(a.w,a.u,e,a.Ya,a.Pa),a.g=null)}function ki(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ak=b;a.Bk=c;a.Wa=a.Ma=0;a.fb=!1;return a}
|
||||
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<a.ba;d++)for(f=0;f<a.la;f++)for(g=0;g<a.fa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var q=l.data;if(void 0===q){var t=l.bytes;if(void 0!==t&&t.length){for(var r=m<<2,z=t.length;z<r;z++)t[z]=n;ni(l,t)}else q=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=q;delete l.bytes}ki(l,d,f);for(r=
|
||||
0;r<q.length;r++)c=c+q[r]&-1}a.b=k;a.i=c;e=a}else w("Empty disk image: "+a.Ya)}catch(B){w("Disk image error ("+b+"): "+B.message)}}a.g&&(a.g.call(a.w,a.u,e,a.Ya,a.Pa),a.g=null)}function ki(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ak=b;a.Bk=c;a.Wa=a.Ma=0;a.fb=!1;return a}
|
||||
h.seek=function(a,b,c,d,e){d=null;var f=this.u,g=this.b[a];if(g){var k=g[b];if(!k&&f.Af&&b<f.la)for(k=g[b]=Array(f.Bf),g=0;g<k.length;g++)k[g]=ki(null,a,b,g+1,f.we,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Af&&9==f.ke&&(d=k[g]=ki(null,a,b,f.ke,f.we,0))}}e&&e(d,!1);return d};function ni(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
||||
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.j)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ma?f<a.Wa?(a.Ma+=a.Wa-f,a.Wa=f):f>=a.Wa+a.Ma&&(a.Ma+=f-(a.Wa+a.Ma)+1):(a.Wa=f,a.Ma=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
||||
function oi(a,b){var c=a.la*a.fa,d=b/c|0;return d<a.ba?(b%=c,a.seek(d,b/a.fa|0,b%a.fa+1)):null}function pi(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}
|
||||
|
|
@ -248,24 +248,24 @@ function si(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){w(a.typ
|
|||
h.wa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.H[b]=c,c.onchange=function(){ti(d)},!0;case "descDisk":case "listDrives":return this.H[b]=c,c.onchange=function(){var a=ma(c.value,10);null!=a&&ui(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Dd()},!0;case "bootDisk":return this.H[b]=c,c.onclick=function(){d.me()},!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=oi(a,c++);)for(var l=0,m=k.length;l<m;l++)b+=String.fromCharCode(pi(a,k,l));b=btoa(b);a=a.Hd.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+
|
||||
(a?" ("+a+")":"")+".");w(a)}else d.T("No disk loaded in drive.");else d.T("No disk drive selected.")};return!0;case "mountDisk":if(this.O)return 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;d.Dd(ta(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||
h.Ba=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;if(a=si(this,ge(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.N[e]=a[e]);this.reset();this.Ra=pd(this.f,this.R.wd,this.R.sd,this.ja);Yb(b,this,this.U);fc(b,this.reset.bind(this));vi(this,"None",Pi,!0);this.O&&vi(this,"Local Disk",Ri);vi(this,"Remote Disk",Si);Ti(this)||C(this)};
|
||||
h.Ba=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;if(a=si(this,ge(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.N[e]=a[e]);this.reset();this.Ra=pd(this.f,this.R.wd,this.R.sd,this.ja);Yb(b,this,this.U);fc(b,this.reset.bind(this));vi(this,"None",wi,!0);this.O&&vi(this,"Local Disk",Qi);vi(this,"Remote Disk",Si);Ti(this)||D(this)};
|
||||
h.Da=function(a,b){if(!b){if(!a){if(this.reset(),this.J.M){this.B=[];for(a=0;a<this.g.length;a++)Ui(this,a,!0);Ti(this,!0)}}else if(!this.restore(a))return!1;if(a=this.H.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.P;b++){var c=document.createElement("option");c.value=b;c.text=this.g[b].Sc||"---";a.appendChild(c)}0<this.P&&(a.value="0",ui(this,0))}}return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){this.Db();Vi(this)};
|
||||
h.save=function(){var a=new G(this);a.set(0,this.Tc());a.set(1,Wi(this));a.set(2,Xi(this));return a.data()};h.restore=function(a){var b=!0;this.Db(a[0])||(b=!1);var c=a[1];c&&(this.B=c);Vi(this,a[2])||(b=!1);return b};h.Db=function(){return!0};h.Tc=function(){return[]};
|
||||
function Vi(a,b){for(var c=0;c<a.g.length;c++){var d=a.g[c];void 0===d&&(d=a.g[c]={});var e=a,f=d,d=c,g=a.S,k=b&&b[c],l=0;f.Ub=d;f.name=e.Nb;f.Oc=f.Qb=!1;f.jc=null;f.Bd=!0;f.Sc=g[l++]+d;f.ba=g[l++];f.la=g[l++];f.fa=g[l++];f.va=g[l++];f.Jf=g[l++];f.Kf=g[l++];f.Lf=g[l++];f.Cf=g[l++];f.status=g[l++];f.uk=0;f.tk=0;f.ke=1;f.Bf=f.fa;f.we=f.va;f.Ck=0;f.Jk=null;f.ea||(f.Pa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.g[d],Ui(e,d,!0),g.Qb=!0,d=new hi(e,g,"preload"),e.pe(g,d,f,k,!0)):Yi(e,d,l,g,!0)?f.ea&&g&&Zi(e,
|
||||
l,g,f.ea):C(e,!1))}return!0}function Xi(a){for(var b=[],c=0;c<a.g.length;c++){var d=a.g[c];b.push([d.Qb,d.Ya,d.Pa])}return b}function Wi(a){for(var b=0;b<a.g.length;b++){var c=a.g[b];c.ea&&$i(a,c.Pa,c.ea)}return a.B}
|
||||
function Ti(a,b){b||(a.M=0);for(var c in a.N){var d=a.N[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.H.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=ta(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!Yi(a,g,f,e,!0)&&b&&C(a,!1);continue}a.T("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.M}
|
||||
h.Dd=function(a,b,c){if(!a&&!b){var d=this.H.listDisks;d&&d.options&&(a=d.options[d.selectedIndex].text,b=d.value)}d=(d=this.H.listDrives)&&ma(d.value,10);if(void 0===d||0>d||d>=this.g.length)return this.T("Unable to load the selected drive"),!1;if(!b)return Ui(this,d),!0;if(b==Ri)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Si){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 "'+
|
||||
l,g,f.ea):D(e,!1))}return!0}function Xi(a){for(var b=[],c=0;c<a.g.length;c++){var d=a.g[c];b.push([d.Qb,d.Ya,d.Pa])}return b}function Wi(a){for(var b=0;b<a.g.length;b++){var c=a.g[b];c.ea&&$i(a,c.Pa,c.ea)}return a.B}
|
||||
function Ti(a,b){b||(a.M=0);for(var c in a.N){var d=a.N[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.H.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=ta(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!Yi(a,g,f,e,!0)&&b&&D(a,!1);continue}a.T("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.M}
|
||||
h.Dd=function(a,b,c){if(!a&&!b){var d=this.H.listDisks;d&&d.options&&(a=d.options[d.selectedIndex].text,b=d.value)}d=(d=this.H.listDrives)&&ma(d.value,10);if(void 0===d||0>d||d>=this.g.length)return this.T("Unable to load the selected drive"),!1;if(!b)return Ui(this,d),!0;if(b==Qi)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Si){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+'"')}Yi(this,d,a,b,!1,c);return!0};h.me=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;ze(this.f,0,!0,b);return(a=this.Vb(a,a.Jf,a.Kf,a.Lf,a.Cf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0};
|
||||
function Yi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Pa.toLowerCase()!=d.toLowerCase()&&(g++,Ui(a,b,!0),k.Oc?a.T(a.type+" busy"):(k.Oc=!0,e&&(k.Ad=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Qb=!!f,li(new hi(a,k,"preload"),c,d,f,a.pe)&&g++));return g}
|
||||
h.pe=function(a,b,c,d,e){a.Oc=!1;b&&(b.ba>a.ba||b.la>a.la)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Ub].Sc||"---")),b=null);b?(a.ea=b,a.Ya=c,a.Pa=d,this.xe(a.Ub),Zi(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Ub].Sc||"---"),a.Ad||e),this.J&&qe(this.J)):a.Qb=!1;a.Ad&&(a.Ad=!1,--this.M||C(this));ui(this,a.Ub);a.jc&&(a.jc(),a.jc=null)};
|
||||
h.pe=function(a,b,c,d,e){a.Oc=!1;b&&(b.ba>a.ba||b.la>a.la)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Ub].Sc||"---")),b=null);b?(a.ea=b,a.Ya=c,a.Pa=d,this.xe(a.Ub),Zi(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Ub].Sc||"---"),a.Ad||e),this.J&&qe(this.J)):a.Qb=!1;a.Ad&&(a.Ad=!1,--this.M||D(this));ui(this,a.Ub);a.jc&&(a.jc(),a.jc=null)};
|
||||
function vi(a,b,c,d){if((a=a.H.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||
function ui(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.H.listDisks;a=a.H.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(ma(a.options[c].value,10)==e.Ub){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=ma(a.value,10);e=e.Qb?Ri:e.Pa;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
|
||||
function ui(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.H.listDisks;a=a.H.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(ma(a.options[c].value,10)==e.Ub){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=ma(a.value,10);e=e.Qb?Qi:e.Pa;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
|
||||
h.jh=function(a){var b=this.H.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].textContent==a){var e=ma(b.options[d].value,10);if(0<=e)return ui(this,e,!0)}return!1};
|
||||
function ti(a){var b=a.H.listDisks,c=a.H.descDisk,d=b.options&&b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){w(a.type+" option error: "+e.message)}a=b.desc;void 0===a&&(a="");b=b.href;void 0!==b&&(a='<a href="'+b+'" target="_blank">'+a+"</a>");c.innerHTML=a}}h.nh=function(a){for(var b=0;b<this.g.length;b++){var c=this.g[b];if(c&&c.Oc)return c.jc||(c.jc=a),!1}return!0};
|
||||
function Ui(a,b,c){var d=a.g[b];if(d.ea||!1===c)$i(a,d.Pa,d.ea),d.Ya="",d.Pa="",d.ea=null,d.Qb=!1,c||(a.T("Drive "+(a.g[b].Sc||"---")+" unloaded",c),ui(a,b))}function Zi(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function $i(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}h.xe=function(){};h.Vb=function(){return-1};h.Wc=function(){return-1};var Pi="",Ri="?",Si="??";
|
||||
function Ui(a,b,c){var d=a.g[b];if(d.ea||!1===c)$i(a,d.Pa,d.ea),d.Ya="",d.Pa="",d.ea=null,d.Qb=!1,c||(a.T("Drive "+(a.g[b].Sc||"---")+" unloaded",c),ui(a,b))}function Zi(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function $i(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}h.xe=function(){};h.Vb=function(){return-1};h.Wc=function(){return-1};var wi="",Qi="?",Si="??";
|
||||
function N(a){ri.call(this,"RK11",a,65536,Nb,Nb.Ic,aj);this.G=this.i=this.b=this.w=this.u=this.j=this.C=0}p(N,ri);h=N.prototype;h.Db=function(a){a||(a=[bj.Ic|bj.ee|bj.ae,0,R.$a,0,0,0,0]);a=ia(a);this.G=a.next().value;this.i=a.next().value;this.b=a.next().value;this.w=a.next().value;this.u=a.next().value;this.j=a.next().value;this.C=a.next().value;return!0};h.Tc=function(){return[this.G,this.i,this.b,this.w,this.u,this.j,this.C]};
|
||||
h.Vb=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ea;var n=null,q;a||(m=S.Vd,e=0);for(;e;){if(!n){if(b>=a.ba){m=S.Gc;break}n=a.seek(b,c,d+1);if(!n){m=S.de;break}q=0;++d>=a.fa&&(d=0,++c>=a.la&&(c=0,++b))}var t,r;if(0>(t=a.read(n,q++))||0>(r=a.read(n,q++))){m=S.Hc;break}if(!k&&(Ac(this.F,Oe(this.f,f),t|r<<8),ld(this.F))){m=S.fc;break}q>=a.va&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
||||
h.Wc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ea;var n=null,q;a||(m=S.Vd,e=0);for(;e;){var t=Cc(this.F,Oe(this.f,f));if(ld(this.F)){m=S.fc;break}if(!n){if(b>=a.ba){m=S.Gc;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.de;break}q=0;++d>=a.fa&&(d=0,++c>=a.la&&(c=0,++b))}if(k){var r,D;if(0>(r=a.read(n,q++))||0>(D=a.read(n,q++))){m=S.Hc;break}if(t!=(r|D<<8)){m=S.he;break}}else if(!a.write(n,q++,t&255)||!a.write(n,q++,t>>8)){m=S.Hc;break}q>=a.va&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
||||
h.Wc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ea;var n=null,q;a||(m=S.Vd,e=0);for(;e;){var t=Cc(this.F,Oe(this.f,f));if(ld(this.F)){m=S.fc;break}if(!n){if(b>=a.ba){m=S.Gc;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.de;break}q=0;++d>=a.fa&&(d=0,++c>=a.la&&(c=0,++b))}if(k){var r,z;if(0>(r=a.read(n,q++))||0>(z=a.read(n,q++))){m=S.Hc;break}if(t!=(r|z<<8)){m=S.he;break}}else if(!a.write(n,q++,t&255)||!a.write(n,q++,t>>8)){m=S.Hc;break}q>=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.Kb|f>>16-R.na.Kb&R.Kb;this.w=65536-e&65535;this.j=this.j&~cj.td|d&cj.td;this.i|=a;dj(this);return!0};function dj(a){a.b&=~R.hb;a.i&&(a.i|=S.Ke,a.b|=R.hb,a.i&S.fd&&(a.b|=R.fd),E(a)&&F(a,a.type+": ERROR: "+u(a.i)))}h.Cg=function(){return this.G};h.Th=function(){};h.Dg=function(){return this.i};h.Uh=function(){};h.zg=function(){return this.b&R.gc};
|
||||
h.Qh=function(a){this.b=this.b&~R.Ta|a&R.Ta;if(this.b&R.ec){a=!0;var b,c,d="",e=(this.j&cj.tb)>>cj.na.tb,f=this.g[e],g,k,l,m,n,q;this.b&=~(R.$a|R.ud);this.i&=~S.rf;switch(c=this.b&R.xa){case ej.Fe:E(this)&&F(this,this.type+": CRESET("+e+")",!0);this.i=this.j=0;this.b=R.$a;break;case ej.Ve:d="RCHK";case ej.ub:d||(d="READ"),b=this.Vb;case ej.xd:d||(d="WCHK");case ej.ic:d||(d="WRITE");b||(b=this.Wc);g=(this.j&cj.cc)>>cj.na.cc;k=(this.j&cj.jd)>>cj.na.jd;l=this.j&cj.td;m=65536-this.w&65535;n=(this.b&R.Kb)<<
|
||||
16-R.na.Kb|this.u;q=this.b&R.Re?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.Gc;break}if(l>=f.fa){this.i|=S.Hc;break}a=b.call(this,f,g,k,l,m,n,q,c>=ej.xd,this.$e.bind(this));break;case ej.Mc:g=(this.j&cj.cc)>>cj.na.cc;E(this)&&F(this,this.type+": SEEK("+g+")",!0);g<f.ba?this.b|=R.ud:this.i|=S.Gc;break;case ej.Le:E(this)&&F(this,this.type+": DRESET("+e+")");this.i=this.j=0;this.b=R.$a|R.ud;break;default:E(this)&&F(this,this.type+": UNSUPPORTED("+
|
||||
|
|
@ -293,109 +293,110 @@ function yj(a,b,c,d){if(c)if(b){0>a.u&&a.j.length&&(a.u=0);if(0>a.u||b!=a.j[a.u]
|
|||
function zj(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>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 Aj(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<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=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 "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=zj(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(zj(e))}return!0}
|
||||
function Bj(a,b,c,d,e,f){var g,k,l,m=!1,n=0,q=[],t=[],r=a.W;for(a.W=e;c<d;){k=b[c++].trim();l=c<d?b[c++]:"";if(k)n=Cj(a,k,null,f,n);else if("{"==l){k=1;for(n=c;c<d;)if(c++,l=c<b.length?b[c++]:"","{"==l)k++;else if("}"==l&&!--k)break;n=Bj(a,b,n,c-1,a.W,f);k=c<d?b[c++].trim():"";l=c<d?b[c++]:""}else{if(" "==l)continue;if("^B"==l){a.W=2;continue}if("^O"==l){a.W=8;continue}if("^D"==l){a.W=10;continue}if(!(n&-1073741824)){if("+"==l)continue;if("-"==l){n=n<<2|1;continue}if("~"==l||"^-"==l){n=n<<2|2;continue}if("^L"==
|
||||
l){n=n<<2|3;continue}}m=!0;break}if(void 0===n)if(null==a.qb&&f)a.qb=k,n=0;else{m=!0;f=!f;break}q.push(zj(n));if(" "==l)if(c<b.length-1&&!b[c])c++,l=b[c++];else{m=!0;break}if(!l)break;n="<"==a.O[0]?Dj:Ej;if(!n[l]){m=!0;break}t.length&&n[l]<=n[t[t.length-1]]&&Aj(q,t,1);t.push(l);a.W="^_"==l?10:e;n=0}if(m||!Aj(q,t)||1!=q.length)m=!0;m?!1===f&&a.v("parse error ("+(k||l)+")"):g=q.pop();a.W=r;return g}
|
||||
function Fj(a,b,c,d,e,f){for(var g;0<=(g=b.indexOf(c));){for(var k=0,l=g+1,m=e;l<b.length;){var n=b[l++];if(n==c){m=-1;break}if(!m)break;m--;n=n.charCodeAt(0);7==d?n&=127:n=n-32&63;k=zj(k*Math.pow(2,d)+n,d*e,!0)}if(0<=m){!1===f&&a.v("parse error ("+b+")");break}else b=b.substr(0,g)+K(a,k,-1)+b.substr(l)}return b}
|
||||
function Gj(a,b,c){var d=void 0;a.qb=null;if(b){"{"!=a.O[0]&&(b=b.split(a.O[0]).join("{").split(a.O[1]).join("}"));b=Fj(a,b,'"',7,5,c);if(!b)return d;b=Fj(a,b,"'",6,6,c);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*| )/);d=Bj(a,b,0,b.length,a.W,c);void 0!==d&&!1===c&&Hj(a,null,d)}return d}
|
||||
function Cj(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b){f=a.se(b);if(0<=f)f=a.Cd(f);else if(f=a.L[b]&&a.L[b].value,null!=f){var g=a.L[b]&&a.L[b].qb;g&&(a.qb?(d||(a.v(b+" has too many undefined values ("+g+","+a.qb+")"),d=!0),f=void 0):a.qb=g)}else f=ma(b,1<b.length?a.W:10);if(null!=f){for(;e;){switch(e&3){case 1:f=-zj(f);break;case 2:f|=-1;break;case 3:for(a=35;0<=a&&!(f&Math.pow(2,a));)a--;f=35-a}e>>>=2}f=zj(f)}else d||a.v("invalid "+(c?c:"value")+": "+b)}else d||a.v("missing "+(c||"value"));return f}
|
||||
function Hj(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.W?K(a,c,32,8,1)+" "+c+".":K(a,c,32,16,1)+" "+K(a,c,32,8,1)+" "+K(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.v((null!=b?b+": ":"")+d);return e}function Ij(a,b){if(b)return Hj(a,b,a.L[b].value);var c=0;for(b in a.L)Hj(a,b,a.L[b].value),c++;return 0<c}
|
||||
function Bj(a,b,c,d,e,f){var g,k,l,m=!1,n=0,q=[],t=[],r=a.W;for(a.W=e;c<d;){var z;k=b[c++].trim();l=c<d?b[c++]:"";if(k)z=Cj(a,k,null,f,n);else if("{"==l){k=1;for(z=c;c<d;)if(c++,l=c<b.length?b[c++]:"","{"==l)k++;else if("}"==l&&!--k)break;z=Bj(a,b,z,c-1,a.W,f);null!=z&&n&&(z=Dj(z,n));k=c<d?b[c++].trim():"";l=c<d?b[c++]:""}else{if(" "==l)continue;if("^B"==l){a.W=2;continue}if("^O"==l){a.W=8;continue}if("^D"==l){a.W=10;continue}if(!(n&-1073741824)){if("+"==l)continue;if("-"==l){n=n<<2|1;continue}if("~"==
|
||||
l||"^-"==l){n=n<<2|2;continue}if("^L"==l){n=n<<2|3;continue}}m=!0;break}if(void 0===z)if(null==a.qb&&f)a.qb=k,z=0;else{m=!0;f=!f;break}q.push(zj(z));if(" "==l)if(c<b.length-1&&!b[c])c++,l=b[c++];else{m=!0;break}if(!l)break;n="<"==a.O[0]?Ej:Fj;if(!n[l]){m=!0;break}t.length&&n[l]<=n[t[t.length-1]]&&Aj(q,t,1);t.push(l);a.W="^_"==l?10:e;n=0}if(m||!Aj(q,t)||1!=q.length)m=!0;m?!1===f&&a.v("parse error ("+(k||l)+")"):g=q.pop();a.W=r;return g}
|
||||
function Gj(a,b,c,d,e,f){for(var g;0<=(g=b.indexOf(c));){for(var k=0,l=g+1,m=e;l<b.length;){var n=b[l++];if(n==c){m=-1;break}if(!m)break;m--;n=n.charCodeAt(0);7==d?n&=127:n=n-32&63;k=zj(k*Math.pow(2,d)+n,d*e,!0)}if(0<=m){!1===f&&a.v("parse error ("+b+")");break}else b=b.substr(0,g)+K(a,k,-1)+b.substr(l)}return b}
|
||||
function Hj(a,b,c){var d=void 0;a.qb=null;if(b){"{"!=a.O[0]&&(b=b.split(a.O[0]).join("{").split(a.O[1]).join("}"));b=Gj(a,b,'"',7,5,c);if(!b)return d;b=Gj(a,b,"'",6,6,c);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*| )/);d=Bj(a,b,0,b.length,a.W,c);void 0!==d&&!1===c&&Ij(a,null,d)}return d}
|
||||
function Dj(a,b){for(;b;){switch(b&3){case 1:a=-zj(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 Cj(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b){f=a.se(b);if(0<=f)f=a.Cd(f);else if(f=a.L[b]&&a.L[b].value,null!=f){var g=a.L[b]&&a.L[b].qb;g&&(a.qb?(d||(a.v(b+" has too many undefined values ("+g+","+a.qb+")"),d=!0),f=void 0):a.qb=g)}else f=ma(b,1<b.length?a.W:10);null!=f?f=zj(Dj(f,e)):d||a.v("invalid "+(c?c:"value")+": "+b)}else d||a.v("missing "+(c||"value"));return f}
|
||||
function Ij(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.W?K(a,c,32,8,1)+" "+c+".":K(a,c,32,16,1)+" "+K(a,c,32,8,1)+" "+K(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.v((null!=b?b+": ":"")+d);return e}function Jj(a,b){if(b)return Ij(a,b,a.L[b].value);var c=0;for(b in a.L)Ij(a,b,a.L[b].value),c++;return 0<c}
|
||||
function K(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.W){case 2:a=pa(b,0<c?c:0,e);break;case 8:a=u(b,0<c?(c+2)/3|0:0,!!e);break;case 10:a=qa(b,0<c?Math.ceil(.3*c):0);break;default:a=v(b,0<c?c+3>>2:0,!!e)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}
|
||||
var Ej={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Dj={"||":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 Jj(a){xj.call(this,a);this.Ha=!1;this.O=["(",")"];this.ka=[];this.G=X();this.Ga=X();this.P=X();this.B=[];this.b=this.M=this.C=[];Kj(this);this.S=this.ha=0;this.i=[];this.ta=void 0;Lj(this);this.D=this;this.ma={};this.ja=this.le=0;this.U=null;this.N=[];Mj(this,a.messages);this.ya=a.commands;this.Ka=Nj;this.Y=[];this.I=0;this.La=this.ua=null;this.w=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 le(b,a)}):void 0===global[y]&&
|
||||
(global[y]=function(a){return le(b,a)})}p(Jj,xj);function Oj(a){a=a&&a.K;null==a&&(a=-1);return a}function X(a,b,c){return{K:void 0===a?null:a,Na:void 0===b?!1:b,Va:!1,W:c}}h=Jj.prototype;h.Id=function(a,b){a.K=b;a.Va=!1;a.W=void 0;return a};function Pj(a){return[a.K,a.Na,a.W,a.Va,a.Rc]}function Qj(a,b){var c=X(b[0],b[1],b[2]);c.Va=b[3];b[4]&&(c.ie=yj(a,c.Rc=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=ge(a,"messages"))&&Mj(this,a);1140>this.f.ka&&(this.Y=this.Y.concat(Rj));1145>this.f.ka&&(this.Y=this.Y.concat(Sj));rd(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=Oj(Tj(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=dd[c],n&&d.v(v(n.id,8)+" %"+v(e<<d.F.g,8)+" %"+v(n.K,8)+" "+ra(n.Yb)+" "+ra(n.size)+" "+m),c!=Hd&&(c=-1),m=0);a+=d.F.j;e++}}});C(this)};
|
||||
var Fj={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Ej={"||":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 Kj(a){xj.call(this,a);this.Ha=!1;this.O=["(",")"];this.ka=[];this.G=X();this.Ga=X();this.P=X();this.B=[];this.b=this.M=this.C=[];Lj(this);this.S=this.ha=0;this.i=[];this.ta=void 0;Mj(this);this.D=this;this.ma={};this.ja=this.le=0;this.U=null;this.N=[];Nj(this,a.messages);this.ya=a.commands;this.Ka=Oj;this.Y=[];this.I=0;this.La=this.ua=null;this.w=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 le(b,a)}):void 0===global[y]&&
|
||||
(global[y]=function(a){return le(b,a)})}p(Kj,xj);function Pj(a){a=a&&a.K;null==a&&(a=-1);return a}function X(a,b,c){return{K:void 0===a?null:a,Na:void 0===b?!1:b,Va:!1,W:c}}h=Kj.prototype;h.Id=function(a,b){a.K=b;a.Va=!1;a.W=void 0;return a};function Qj(a){return[a.K,a.Na,a.W,a.Va,a.Rc]}function Rj(a,b){var c=X(b[0],b[1],b[2]);c.Va=b[3];b[4]&&(c.ie=yj(a,c.Rc=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=ge(a,"messages"))&&Nj(this,a);1140>this.f.ka&&(this.Y=this.Y.concat(Sj));1145>this.f.ka&&(this.Y=this.Y.concat(Tj));rd(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=Pj(Uj(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=dd[c],n&&d.v(v(n.id,8)+" %"+v(e<<d.F.g,8)+" %"+v(n.K,8)+" "+ra(n.Yb)+" "+ra(n.size)+" "+m),c!=Hd&&(c=-1),m=0);a+=d.F.j;e++}}});D(this)};
|
||||
h.wa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.X=this.H[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",le(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.u<d.j.length-1&&(b=d.j[++d.u])):40==a.keyCode&&(0<d.u?b=d.j[--d.u]:(b="",d.u=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.H[b]=c,Qa(c,function(){if(d.X){var a=d.X.value;d.X.value=
|
||||
"";le(d,a,!0);return!0}return!1}),!0;case "step":return this.H[b]=c,Qa(c,function(a){var b=!1;Eb(d,!0)||(Fb(d,!0),b=vc(d,a?1:0,null),Fb(d,!1));return b}),!0}return!1};function ke(a){if(a.X){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.X.focus();window&&window.scrollTo(b,c)}}h.Qd=function(a,b){var c=255,d=Oj(a);-1!==d&&(a.Na||65535<d?(c=this.F,d=Oe(this.f,d),c.C=!1,c.oa++,d=fd(c,d).J(d&c.i,d),c.oa--):(c=this.f,c.qa++,d=c.F.Md(Bc(c,d,3)),c.qa--),c=d,b&&Uj(a,b));return c};
|
||||
h.Sa=function(a,b){var c=65535,d=Oj(a);-1!==d&&(c=a.Na||65535<d?Cc(this.F,Oe(this.f,d)):Dc(this.f,d),b&&Uj(a,b));return c};h.Rd=function(a,b,c){var d=Oj(a);if(-1!==d){if(a.Na||65535<d)gd(this.F,Oe(this.f,d),b);else{var e=this.f;e.qa++;e.F.Nd(Bc(e,d,5),b);e.qa--}c&&Uj(a,c);H(this.J,-1)}};h.Me=function(a,b,c){var d=Oj(a);if(-1!==d){if(a.Na||65535<d)Ac(this.F,Oe(this.f,d),b);else{var e=this.f;e.qa++;e.F.bc(Bc(e,d,4),b);e.qa--}c&&Uj(a,c);H(this.J,-1)}};
|
||||
function Tj(a,b,c){var d;c=(c?a.G:a.Ga).K;var e,f;if(void 0!==b){a:{var g;d=a.O[0];c=a.O[1];g="("==d||"{"==d||"["==d?"\\":"";for(var k="["==d?"\\":"",k=new RegExp(g+d+"([^"+k+d+k+c+"]+)"+g+c);g=b.match(k);){var l=Gj(a,g[1]);if(void 0===l){b=void 0;break a}b=b.replace(d+g[1]+c,null!=l?K(a,l):"undefined")}if(a.ka.length)for(d=a.ka[0],c=a.ka[1],g="("==d||"{"==d||"["==d?"\\":"",k="["==d?"\\":"",k=new RegExp(g+d+"([^"+k+d+k+c+"]+)"+g+c);g=b.match(k);)b=b.replace("["+g[1]+"]","unimplemented");for(;d=b.match(/\$([a-z]+)/i);){c=
|
||||
null;switch(d[1].toLowerCase()){case "ops":c=0}if(null==c)break;b=b.replace(d[0],c.toString())}}"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var m,n;a:{c=a.F;g=d.toUpperCase();for(n in c.Qa)if(k=+n,c.Qa[k][4]==g){n=c.B+k;break a}n=null}if(null==n&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.B.length;c++)if(g=a.B[c].ia[d],null!=g){n=g.o;break}null!=n&&(m=X(n));if(d=m)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=Gj(a,b)}null!=c&&(d=X(c,e,f));return d}
|
||||
function Vj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ie=yj(a,b.Rc=c[2]))}function Uj(a,b){null!=a.K&&(a.K+=b||1)}function Wj(a,b){return(b.Na?"%":"")+K(a,b.K)}
|
||||
function Mj(a,b){a.D=a;a.ja=a.le=536870912;a.U=null;a.N=[];b=yj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Rb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ja|=Rb[c],a.v(c+" messages enabled"))}}function rd(a,b,c){for(var d in Rb)if(b==Rb[d]){a.ma[d]=c;break}}
|
||||
h.se=function(a){a=a.toUpperCase();var b=Xj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Yj(a,b){var c;if(b<Zj||a.g)c=ak[b];return c||""}
|
||||
h.Cd=function(a){var b;if(0<=a)if(8>a)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 bk:b=Ad(this.f);break;case ck:b=c.ob;break;case dk:b=c.P;break;case ek:b=c.Ga&65280;break;case fk:b=ud(c);break;case gk:b=wd(c);break;case hk:b=xd(c);break;case ik:b=c.X;break;case Zj:d&&(b=d.ga);break;case jk:d&&(b=d.Fb);break;case kk:d&&(b=d.Xa)}}return b};
|
||||
h.message=function(a,b){b&&(a+=" @"+Wj(this,X(this.f.O&65535)));if(!this.U||a!=this.U)if(this.U=a,this.ja&1073741824)this.N.push(a);else{var c;if(this.ja&-2147483648&&this.f&&(c=this.f.A.V)||Eb(this,!0))this.da(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,re(a),a.Bb=0,a.J&&H(a.J,void 0))}};
|
||||
function Lj(a){var b;if(!bf(a))a.i&&a.i.length&&a.v("instruction history buffer freed"),a.S=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(lk);for(b=0;b<a.i.length;b++)a.i[b]=X();a.S=0;a.v("instruction history buffer allocated")}}function mk(a,b,c){if(!nk(a,c))return!1;uc(a.f,b);return!0}
|
||||
function vc(a,b,c,d){if(!nk(a))return!1;var e="";null===c&&(e=(c=!a.ua||"tr"==a.ua)?"tr":"t");a.w=0;b||bf(a)&&cf(a,a.f.g[7],0);try{b=se(a.f,b);var f=a.f.Dc(b);0<f&&(wc(a.f,f),a.w+=f,xc(a.f,f,!0),yc(a.f,f),a.Z++)}catch(g){"number"!=typeof g&&(a.w=0,Bb(a.f,g.stack||g.message))}!1!==d&&(a.g&&a.g.stop(),H(a.J,-1));je(a,c||!1,e);return 0<a.w}h.da=function(a){this.f&&this.f.da(a)};
|
||||
function je(a,b,c){if(a.Ha){void 0===b&&(b=!0);c&&a.v(ok+c);c=a.f;if(c=c.i&128?c.Fc|c.Ec<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Mb[-d]:K(a,d))+")")}a.G=X(a.f.g[7]);b&&1!=a.I?pk(a):qk(a)}}function nk(a,b){var c;(c=!a.f||!Db(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):!Cb(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){Lj(this);this.Z=0;this.U=null;this.w=0;this.G=X(this.f.g[7]);this.A.V=!1;rk(this);a||je(this)};h.save=function(){var a=new G(this);a.set(0,Pj(this.G));a.set(1,Pj(this.P));a.set(2,[this.j,this.R,this.ja]);a.set(3,this.B);return a.data()};
|
||||
h.restore=function(a){var b=0;void 0!==a[2]&&(this.G=Qj(this,a[b++]),this.P=Qj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.R=a[b][1],this.ja|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||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.w=b-this.Ja;if(!this.I){b="stopped";if(this.w){a-=this.Ia;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";bf(this)&&(b+=this.Z+" instructions, ",this.Z=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}je(this,!0);ke(this);rk(this,this.f.g[7]);this.U=null}};function bf(a){return 1<a.b.length||!!a.ha}
|
||||
function cf(a,b,c){var d=-1;c||(d=Dc(a.f,b))||(a.f.O&65535)!=b||(b=Fe(a.f,2));if(0<c&&(a.ha&&!--a.ha||sk(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.Z++,0>d&&(d=Dc(a.f,b)),65535!=(d&65535)&&(a.Id(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1}function Dg(a){var b=a.f;if(b.A.V)throw rc(b,a.f.O&65535),a.da(),-1;return!1}function ae(a,b,c){sk(a,b,c||1,a.M)&&a.da(!1)}function be(a,b,c){sk(a,b,c||1,a.C)&&a.da(!1)}
|
||||
function Kj(a){var b,c,d;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++)c=a.M[b],d=Oj(c),c.Na?(c=a.F,$d(c.b[d>>>c.g],!1)):Re(a.f,!1);a.M=["br"];if(a.C)for(b=1;b<a.C.length;b++)c=a.C[b],d=Oj(c),c.Na?(c=a.F,$d(c.b[d>>>c.g],!0)):Re(a.f,!0);a.C=["bw"];a.qa=0;a.ha=0}
|
||||
h.Cb=function(a,b,c){var d=!0;c||tk(this,a,b,!1,!0);if(a!=this.b){var e=Oj(b);if(-1===e)this.v("invalid address: "+Wj(this,b)),d=!1;else{var f=a==this.C;65535<e&&(b.Na=!0);if(b.Na){var g=this.F;g.b[e>>>g.g].Cb(e&g.i,f)}else e=this.f,(f?e.uc++:e.tc++)||ye(e)}}d&&(a.push(b),c?b.Va=!0:(uk(this,a,a.length-1,"set"),Lj(this)));return d};
|
||||
function tk(a,b,c,d,e){var f=!1;c=Oj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==Oj(k)&&(!d||k.Va)){f=!0;k.Va||e||uk(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(b=b==a.C,k.Na?(d=a.F,$d(d.b[c>>>d.g],b)):Re(a.f,b));k.Va||Lj(a);break}}return f}function vk(a,b){for(var c=1;c<b.length;c++)uk(a,b,c);return b.length-1}function uk(a,b,c,d){c=b[c];a.v(b[0]+" "+Wj(a,c)+(d?" "+d:c.Rc?' "'+c.Rc+'"':""))}
|
||||
function rk(a,b){if(void 0!==b)sk(a,b,1,a.b,!0),a.I=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.Va){if(!tk(a,a.b,c,!0))break;b=0}}}
|
||||
function sk(a,b,c,d,e){var f=!1;if(!a.qa++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Va)for(var l=Oj(k)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Va&&(tk(a,d,k,!0),e=!0);if(n=k.ie){for(var f=!1,q=0;q<n.length;q++)if(!wk(a,n[q],!0)){if(n[q].indexOf("if")){f=!0;break}for(var t=q+1;t<n.length&&n[t].indexOf("else");t++)q++;if(t==n.length){f=!0;break}}a.f.A.V||(f=!0)}if(f){e||uk(a,d,g,"hit");break}}}a.qa--;return f}
|
||||
function xk(a,b,c,d){var e=X(b.K),f=a.Sa(b,2),g,k;for(k in a.Ka)if(g=a.Ka[k][f&k])break;g||(g=yk);var l=g[0];0<=a.Y.indexOf(l)&&(g=yk,l=g[0]);var m=k="",n=zk[l],q=g.length-1;l||q||(k=K(a,f));for(l=1;l<=q;l++){var t=g[l];if(void 0!==t){var r;r=a;var D=t,t=b,A="",B=D&Ak;if(B==Y)t=t.K+((f&255)<<24>>23)&65535,A=K(r,t);else if(B==Bk)t=t.K-((f&63)<<1)&65535,A=K(r,t);else if(B==Ck)A=K(r,f&7,3);else if(B==Dk)A=K(r,f&63,6);else if(B==Ek)A=K(r,f&255,8);else if(B=f&D,D&Fk&&(B>>=6,D>>=6),D&Z){var D=null,J=B&
|
||||
Gk;switch(B&Hk){case 0:A=Yj(r,J);break;case 8:A="@"+Yj(r,J);D=Ik(r,r.f.g[J]);break;case 16:7>J?A="("+Yj(r,J)+")+":(B=r.Sa(t,2),A="#"+K(r,B,-1));break;case 24:7>J?A="@("+Yj(r,J)+")+":(B=r.Sa(t,2),A="@#"+K(r,B,-1),D=Ik(r,B));break;case 32:A="-("+Yj(r,J)+")";break;case 40:A="@-("+Yj(r,J)+")";break;case 48:B=r.Sa(t,2);A=K(r,B,-1)+"("+Yj(r,J)+")";7==J&&(A=K(r,B=B+t.K&65535),D=Ik(r,B));break;case 56:B=r.Sa(t,2),A="@"+K(r,B)+"("+Yj(r,J)+")",7==J&&(A="@"+K(r,B=B+t.K&65535),D=Ik(r,Dc(r.f,B)))}D&&(A=[A,D])}r=
|
||||
A;if(!r||!r.length){k="INVALID";break}"string"!=typeof r&&(m=r[1],r=r[0]);0<k.length&&(k+=",");k+=r||"???"}}f="";g=Wj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+K(a,a.Sa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=ya(f,24);g+=ya(n,5);k&&(g+=" "+k);if(c||m)g=ya(g,60)+";"+(c||""),g=a.f.A.Ob?g+("cycles="+me(a.f).toString()+" cs="+v(a.f.pc)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
|
||||
function Ik(a,b){b=Pe(a.f,b)[0];b>=a.f.vb&&b<a.F.B&&(b=b-a.f.vb+a.F.B);var c=a.F;a=null;b>=c.B&&(b=c.Qa[b&kd])&&(a=b[4]);return a}function Jk(a,b){switch(b){case "N":a=Ee(a.f);break;case "Z":a=De(a.f);break;case "V":a=Ce(a.f);break;case "C":a=Be(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Kk(a,b){var c=Yj(a,b);c&&(c+="="+K(a,a.Cd(b))+" ");return c}
|
||||
function Lk(a,b){var c,d="";for(c=0;6>c;c++)d+=Kk(a,c);d=d+"\n"+(Kk(a,6)+Kk(a,7));d+=Kk(a,bk)+Kk(a,ck)+Kk(a,ek);d+=Jk(a,"T")+Jk(a,"N")+Jk(a,"Z")+Jk(a,"V")+Jk(a,"C");b&&(b=d,c=""+(Kk(a,fk)+Kk(a,gk)),c+=Kk(a,hk)+Kk(a,ik)+Kk(a,dk),c=c+"\n"+(Kk(a,kk)+Kk(a,Zj)+Kk(a,jk)),d=b+("\n"+c));return d}h.ne=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Dh(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],q=Ba(n,l,a.ne);0>q&&n.splice(-(q+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({Ik:b,K:c,Mf:d,ia:e,je:f})}function Mk(a,b,c){var d=[],e=Oj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Mf;if(e>=g&&e<g+k){e=Ba(f.je,[e-g],a.ne);0<=e?Nk(a,b,e,d):c&&(e=~e,Nk(a,b,e-1,d),Nk(a,b,e,d));break}}return d}
|
||||
function Nk(a,b,c,d){var e={},f=a.B[b].je,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.B[b].ia[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function Ok(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ij(a)||a.v("no variables"),!0;if(!c[2])return Ij(a,c[1]);if(!c[3])return delete a.L[c[1]],!0;b=Gj(a,c[3]);return void 0!==b?(a.L[c[1]]={value:b,qb:void 0},!0):!1}a.v("invalid assignment:"+b);return!1}
|
||||
function Pk(a,b,c){var d=null;if(b=Tj(a,b,!0)){var e=Mk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+ra(f)),f=e[0]+" ("+K(a,e[1])+")"+g,c&&a.v(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+ra(f)),f=e[4]+" ("+K(a,e[5])+")"+g,c&&a.v(f),d||(d=f))}else c&&a.v("no symbols")}return d}
|
||||
function pk(a,b){var c;if(b&&"?"==b[1])a.v("register commands:"),a.v("\tr\tdump registers"),a.v("\trm\tdump misc registers"),a.v("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.v("missing value for "+b[1]);return}g=Gj(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":rc(e,
|
||||
"";le(d,a,!0);return!0}return!1}),!0;case "step":return this.H[b]=c,Qa(c,function(a){var b=!1;Eb(d,!0)||(Fb(d,!0),b=vc(d,a?1:0,null),Fb(d,!1));return b}),!0}return!1};function ke(a){if(a.X){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.X.focus();window&&window.scrollTo(b,c)}}h.Qd=function(a,b){var c=255,d=Pj(a);-1!==d&&(a.Na||65535<d?(c=this.F,d=Oe(this.f,d),c.C=!1,c.oa++,d=fd(c,d).J(d&c.i,d),c.oa--):(c=this.f,c.qa++,d=c.F.Md(Bc(c,d,3)),c.qa--),c=d,b&&Vj(a,b));return c};
|
||||
h.Sa=function(a,b){var c=65535,d=Pj(a);-1!==d&&(c=a.Na||65535<d?Cc(this.F,Oe(this.f,d)):Dc(this.f,d),b&&Vj(a,b));return c};h.Rd=function(a,b,c){var d=Pj(a);if(-1!==d){if(a.Na||65535<d)gd(this.F,Oe(this.f,d),b);else{var e=this.f;e.qa++;e.F.Nd(Bc(e,d,5),b);e.qa--}c&&Vj(a,c);H(this.J,-1)}};h.Me=function(a,b,c){var d=Pj(a);if(-1!==d){if(a.Na||65535<d)Ac(this.F,Oe(this.f,d),b);else{var e=this.f;e.qa++;e.F.bc(Bc(e,d,4),b);e.qa--}c&&Vj(a,c);H(this.J,-1)}};
|
||||
function Uj(a,b,c){var d;c=(c?a.G:a.Ga).K;var e,f;if(void 0!==b){a:{var g;d=a.O[0];c=a.O[1];g="("==d||"{"==d||"["==d?"\\":"";for(var k="["==d?"\\":"",k=new RegExp(g+d+"([^"+k+d+k+c+"]+)"+g+c);g=b.match(k);){var l=Hj(a,g[1]);if(void 0===l){b=void 0;break a}b=b.replace(d+g[1]+c,null!=l?K(a,l):"undefined")}if(a.ka.length)for(d=a.ka[0],c=a.ka[1],g="("==d||"{"==d||"["==d?"\\":"",k="["==d?"\\":"",k=new RegExp(g+d+"([^"+k+d+k+c+"]+)"+g+c);g=b.match(k);)b=b.replace("["+g[1]+"]","unimplemented");for(;d=b.match(/\$([a-z]+)/i);){c=
|
||||
null;switch(d[1].toLowerCase()){case "ops":c=0}if(null==c)break;b=b.replace(d[0],c.toString())}}"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var m,n;a:{c=a.F;g=d.toUpperCase();for(n in c.Qa)if(k=+n,c.Qa[k][4]==g){n=c.B+k;break a}n=null}if(null==n&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.B.length;c++)if(g=a.B[c].ia[d],null!=g){n=g.o;break}null!=n&&(m=X(n));if(d=m)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=Hj(a,b)}null!=c&&(d=X(c,e,f));return d}
|
||||
function Wj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ie=yj(a,b.Rc=c[2]))}function Vj(a,b){null!=a.K&&(a.K+=b||1)}function Xj(a,b){return(b.Na?"%":"")+K(a,b.K)}
|
||||
function Nj(a,b){a.D=a;a.ja=a.le=536870912;a.U=null;a.N=[];b=yj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Rb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ja|=Rb[c],a.v(c+" messages enabled"))}}function rd(a,b,c){for(var d in Rb)if(b==Rb[d]){a.ma[d]=c;break}}
|
||||
h.se=function(a){a=a.toUpperCase();var b=Yj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Zj(a,b){var c;if(b<ak||a.g)c=bk[b];return c||""}
|
||||
h.Cd=function(a){var b;if(0<=a)if(8>a)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 ck:b=Ad(this.f);break;case dk:b=c.ob;break;case ek:b=c.P;break;case fk:b=c.Ga&65280;break;case gk:b=ud(c);break;case hk:b=wd(c);break;case ik:b=xd(c);break;case jk:b=c.X;break;case ak:d&&(b=d.ga);break;case kk:d&&(b=d.Fb);break;case lk:d&&(b=d.Xa)}}return b};
|
||||
h.message=function(a,b){b&&(a+=" @"+Xj(this,X(this.f.O&65535)));if(!this.U||a!=this.U)if(this.U=a,this.ja&1073741824)this.N.push(a);else{var c;if(this.ja&-2147483648&&this.f&&(c=this.f.A.V)||Eb(this,!0))this.da(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,re(a),a.Bb=0,a.J&&H(a.J,void 0))}};
|
||||
function Mj(a){var b;if(!bf(a))a.i&&a.i.length&&a.v("instruction history buffer freed"),a.S=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(mk);for(b=0;b<a.i.length;b++)a.i[b]=X();a.S=0;a.v("instruction history buffer allocated")}}function nk(a,b,c){if(!ok(a,c))return!1;uc(a.f,b);return!0}
|
||||
function vc(a,b,c,d){if(!ok(a))return!1;var e="";null===c&&(e=(c=!a.ua||"tr"==a.ua)?"tr":"t");a.w=0;b||bf(a)&&cf(a,a.f.g[7],0);try{b=se(a.f,b);var f=a.f.Dc(b);0<f&&(wc(a.f,f),a.w+=f,xc(a.f,f,!0),yc(a.f,f),a.Z++)}catch(g){"number"!=typeof g&&(a.w=0,Bb(a.f,g.stack||g.message))}!1!==d&&(a.g&&a.g.stop(),H(a.J,-1));je(a,c||!1,e);return 0<a.w}h.da=function(a){this.f&&this.f.da(a)};
|
||||
function je(a,b,c){if(a.Ha){void 0===b&&(b=!0);c&&a.v(pk+c);c=a.f;if(c=c.i&128?c.Fc|c.Ec<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Mb[-d]:K(a,d))+")")}a.G=X(a.f.g[7]);b&&1!=a.I?qk(a):rk(a)}}function ok(a,b){var c;(c=!a.f||!Db(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):!Cb(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){Mj(this);this.Z=0;this.U=null;this.w=0;this.G=X(this.f.g[7]);this.A.V=!1;sk(this);a||je(this)};h.save=function(){var a=new G(this);a.set(0,Qj(this.G));a.set(1,Qj(this.P));a.set(2,[this.j,this.R,this.ja]);a.set(3,this.B);return a.data()};
|
||||
h.restore=function(a){var b=0;void 0!==a[2]&&(this.G=Rj(this,a[b++]),this.P=Rj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.R=a[b][1],this.ja|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||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.w=b-this.Ja;if(!this.I){b="stopped";if(this.w){a-=this.Ia;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";bf(this)&&(b+=this.Z+" instructions, ",this.Z=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}je(this,!0);ke(this);sk(this,this.f.g[7]);this.U=null}};function bf(a){return 1<a.b.length||!!a.ha}
|
||||
function cf(a,b,c){var d=-1;c||(d=Dc(a.f,b))||(a.f.O&65535)!=b||(b=Fe(a.f,2));if(0<c&&(a.ha&&!--a.ha||tk(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.Z++,0>d&&(d=Dc(a.f,b)),65535!=(d&65535)&&(a.Id(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1}function Dg(a){var b=a.f;if(b.A.V)throw rc(b,a.f.O&65535),a.da(),-1;return!1}function ae(a,b,c){tk(a,b,c||1,a.M)&&a.da(!1)}function be(a,b,c){tk(a,b,c||1,a.C)&&a.da(!1)}
|
||||
function Lj(a){var b,c,d;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++)c=a.M[b],d=Pj(c),c.Na?(c=a.F,$d(c.b[d>>>c.g],!1)):Re(a.f,!1);a.M=["br"];if(a.C)for(b=1;b<a.C.length;b++)c=a.C[b],d=Pj(c),c.Na?(c=a.F,$d(c.b[d>>>c.g],!0)):Re(a.f,!0);a.C=["bw"];a.qa=0;a.ha=0}
|
||||
h.Cb=function(a,b,c){var d=!0;c||uk(this,a,b,!1,!0);if(a!=this.b){var e=Pj(b);if(-1===e)this.v("invalid address: "+Xj(this,b)),d=!1;else{var f=a==this.C;65535<e&&(b.Na=!0);if(b.Na){var g=this.F;g.b[e>>>g.g].Cb(e&g.i,f)}else e=this.f,(f?e.uc++:e.tc++)||ye(e)}}d&&(a.push(b),c?b.Va=!0:(vk(this,a,a.length-1,"set"),Mj(this)));return d};
|
||||
function uk(a,b,c,d,e){var f=!1;c=Pj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==Pj(k)&&(!d||k.Va)){f=!0;k.Va||e||vk(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(b=b==a.C,k.Na?(d=a.F,$d(d.b[c>>>d.g],b)):Re(a.f,b));k.Va||Mj(a);break}}return f}function wk(a,b){for(var c=1;c<b.length;c++)vk(a,b,c);return b.length-1}function vk(a,b,c,d){c=b[c];a.v(b[0]+" "+Xj(a,c)+(d?" "+d:c.Rc?' "'+c.Rc+'"':""))}
|
||||
function sk(a,b){if(void 0!==b)tk(a,b,1,a.b,!0),a.I=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.Va){if(!uk(a,a.b,c,!0))break;b=0}}}
|
||||
function tk(a,b,c,d,e){var f=!1;if(!a.qa++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Va)for(var l=Pj(k)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Va&&(uk(a,d,k,!0),e=!0);if(n=k.ie){for(var f=!1,q=0;q<n.length;q++)if(!xk(a,n[q],!0)){if(n[q].indexOf("if")){f=!0;break}for(var t=q+1;t<n.length&&n[t].indexOf("else");t++)q++;if(t==n.length){f=!0;break}}a.f.A.V||(f=!0)}if(f){e||vk(a,d,g,"hit");break}}}a.qa--;return f}
|
||||
function yk(a,b,c,d){var e=X(b.K),f=a.Sa(b,2),g,k;for(k in a.Ka)if(g=a.Ka[k][f&k])break;g||(g=zk);var l=g[0];0<=a.Y.indexOf(l)&&(g=zk,l=g[0]);var m=k="",n=Ak[l],q=g.length-1;l||q||(k=K(a,f));for(l=1;l<=q;l++){var t=g[l];if(void 0!==t){var r;r=a;var z=t,t=b,B="",C=z&Bk;if(C==Y)t=t.K+((f&255)<<24>>23)&65535,B=K(r,t);else if(C==Ck)t=t.K-((f&63)<<1)&65535,B=K(r,t);else if(C==Dk)B=K(r,f&7,3);else if(C==Ek)B=K(r,f&63,6);else if(C==Fk)B=K(r,f&255,8);else if(C=f&z,z&Gk&&(C>>=6,z>>=6),z&Z){var z=null,J=C&
|
||||
Hk;switch(C&Ik){case 0:B=Zj(r,J);break;case 8:B="@"+Zj(r,J);z=Jk(r,r.f.g[J]);break;case 16:7>J?B="("+Zj(r,J)+")+":(C=r.Sa(t,2),B="#"+K(r,C,-1));break;case 24:7>J?B="@("+Zj(r,J)+")+":(C=r.Sa(t,2),B="@#"+K(r,C,-1),z=Jk(r,C));break;case 32:B="-("+Zj(r,J)+")";break;case 40:B="@-("+Zj(r,J)+")";break;case 48:C=r.Sa(t,2);B=K(r,C,-1)+"("+Zj(r,J)+")";7==J&&(B=K(r,C=C+t.K&65535),z=Jk(r,C));break;case 56:C=r.Sa(t,2),B="@"+K(r,C)+"("+Zj(r,J)+")",7==J&&(B="@"+K(r,C=C+t.K&65535),z=Jk(r,Dc(r.f,C)))}z&&(B=[B,z])}r=
|
||||
B;if(!r||!r.length){k="INVALID";break}"string"!=typeof r&&(m=r[1],r=r[0]);0<k.length&&(k+=",");k+=r||"???"}}f="";g=Xj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+K(a,a.Sa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=ya(f,24);g+=ya(n,5);k&&(g+=" "+k);if(c||m)g=ya(g,60)+";"+(c||""),g=a.f.A.Ob?g+("cycles="+me(a.f).toString()+" cs="+v(a.f.pc)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
|
||||
function Jk(a,b){b=Pe(a.f,b)[0];b>=a.f.vb&&b<a.F.B&&(b=b-a.f.vb+a.F.B);var c=a.F;a=null;b>=c.B&&(b=c.Qa[b&kd])&&(a=b[4]);return a}function Kk(a,b){switch(b){case "N":a=Ee(a.f);break;case "Z":a=De(a.f);break;case "V":a=Ce(a.f);break;case "C":a=Be(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Lk(a,b){var c=Zj(a,b);c&&(c+="="+K(a,a.Cd(b))+" ");return c}
|
||||
function Mk(a,b){var c,d="";for(c=0;6>c;c++)d+=Lk(a,c);d=d+"\n"+(Lk(a,6)+Lk(a,7));d+=Lk(a,ck)+Lk(a,dk)+Lk(a,fk);d+=Kk(a,"T")+Kk(a,"N")+Kk(a,"Z")+Kk(a,"V")+Kk(a,"C");b&&(b=d,c=""+(Lk(a,gk)+Lk(a,hk)),c+=Lk(a,ik)+Lk(a,jk)+Lk(a,ek),c=c+"\n"+(Lk(a,lk)+Lk(a,ak)+Lk(a,kk)),d=b+("\n"+c));return d}h.ne=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Dh(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],q=Ba(n,l,a.ne);0>q&&n.splice(-(q+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({Ik:b,K:c,Mf:d,ia:e,je:f})}function Nk(a,b,c){var d=[],e=Pj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Mf;if(e>=g&&e<g+k){e=Ba(f.je,[e-g],a.ne);0<=e?Ok(a,b,e,d):c&&(e=~e,Ok(a,b,e-1,d),Ok(a,b,e,d));break}}return d}
|
||||
function Ok(a,b,c,d){var e={},f=a.B[b].je,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.B[b].ia[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function Pk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Jj(a)||a.v("no variables"),!0;if(!c[2])return Jj(a,c[1]);if(!c[3])return delete a.L[c[1]],!0;b=Hj(a,c[3]);return void 0!==b?(a.L[c[1]]={value:b,qb:void 0},!0):!1}a.v("invalid assignment:"+b);return!1}
|
||||
function Qk(a,b,c){var d=null;if(b=Uj(a,b,!0)){var e=Nk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+ra(f)),f=e[0]+" ("+K(a,e[1])+")"+g,c&&a.v(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+ra(f)),f=e[4]+" ("+K(a,e[5])+")"+g,c&&a.v(f),d||(d=f))}else c&&a.v("no symbols")}return d}
|
||||
function qk(a,b){var c;if(b&&"?"==b[1])a.v("register commands:"),a.v("\tr\tdump registers"),a.v("\trm\tdump misc registers"),a.v("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.v("missing value for "+b[1]);return}g=Hj(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":rc(e,
|
||||
g);a.G=X(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.G=g?32768:0;break;case "C":e.C=g?65536:0;break;case "PS":Bd(e,g);break;case "PI":zd(e,g);break;case "ER":e.P=g;d=!0;break;case "SL":e.Ga=g|255;break;case "M0":vd(e,g);d=!0;break;case "M3":yd(e,g);d=!0;break;case "AR":a.g&&(d=a.g,jc(d,d.ga=g));d=!0;break;case "DR":a.g&&Ub(a.g,g);d=!0;break;case "SR":a.g&&kc(a.g,g);d=!0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=g&65535;break}a.v("unknown register: "+
|
||||
f);return}H(a.J);a.v("updated registers:")}}a.v(Lk(a,d));c&&(a.G=X(e.g[7]),qk(a,Wj(a,a.G)))}}function Qk(a,b){b=za(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.v(c[2]):Hj(a,null,c[2].charCodeAt(0)):Gj(a,b,!1)}
|
||||
function Rk(a,b,c){if("?"==c)a.v("trace commands:"),a.v("\tt [#]\ttrace # instructions"),a.v("\ttr [#]\ttrace # instructions with register updates"),a.v("\ttc [#]\ttrace # cycles"),a.v("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Cj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ua=b;Pa(c,function(){return Fb(a,!0)&&vc(a,e,d,!1)},function(){a.g&&a.g.stop();H(a.J,-1);Fb(a,!1)})}}
|
||||
function qk(a,b,c,d){if(b=Tj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Cj(a,c.substr(1)),null!=c&&(d=c);else{d=Tj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.v("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Eb(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=Mk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.v(m)}k[3]&&(g=k[3],f=null);f=xk(a,b,g,f);a.v(f);a.G=b;e-=b.K-l;c++}}}
|
||||
function wk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(ok+b):(a.R&&(a.v("ended assemble at "+Wj(a,a.P)),a.G=a.P,a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Db(a)&&0<b.length){a.R&&(b="a "+Wj(a,a.P)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var q=
|
||||
Tj(a,g[1],!0);if(q)if(a.P=q,void 0===g[2])a.v("begin assemble at "+Wj(a,q)),a.R=!0,H(a.J);else{var t;a.v("not supported yet");t=[];if(t.length){for(var r=0;r<t.length;r++)a.Rd(q,t[r],1);a.v(xk(a,a.P))}}break;case "b":a:{var D=g[0],A=g[1],B=b;if("?"==A)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
|
||||
else{var J=D.charAt(1);if("l"==J){var ub;ub=0+vk(a,a.b);ub+=vk(a,a.M);(ub+=vk(a,a.C))||a.v("no breakpoints")}else if("n"==J){var Ed=+A||0;A&&(a.ha=Ed);a.v("break after "+Ed+" instruction(s)")}else if(void 0===A)a.v("missing breakpoint address");else{var sa=X();if("*"!=A&&(sa=Tj(a,A,!0),!sa))break a;"c"==J?null==sa.K?(Kj(a),a.v("all breakpoints cleared")):tk(a,a.b,sa)||tk(a,a.M,sa)||tk(a,a.C,sa)||a.v("breakpoint missing: "+Wj(a,sa)):null!=sa.K&&(Vj(a,sa,B),"p"==J?a.Cb(a.b,sa):"r"==J?a.Cb(a.M,sa):"w"==
|
||||
J?a.Cb(a.C,sa):a.v("unknown breakpoint command: "+J))}}}break;case "c":a.Ua&&(a.Ua.value="");break;case "d":a:{var Zb,jb=g[0],Ta=g[1],kb=g[2],ql=g[3];if("?"==Ta){var $b="";for(Zb in Rb)a.ma[Zb]&&($b&&($b+=","),$b+=Zb);$b+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
|
||||
a.v("\tdh [p] [n] dump n instructions from history position p");$b.length&&a.v("dump extension commands:\n\t"+$b)}else if("state"==Ta){var gf=Sk(a.J,!0);"console"==kb?console.log(gf):(a.Ua&&(a.Ua.value=""),gf&&a.v(gf))}else if("symbols"==Ta)for(var hf=0;hf<a.B.length;hf++){var jf=a.B[hf],ac;for(ac in jf.ia)if("."!=ac.charAt(0)){var wi=jf.ia[ac].o;if(void 0!==wi){var xi=jf.ia[ac].l;xi&&(ac=xi);a.v(K(a,wi)+" "+ac)}}}else{if("d"==jb){for(Zb in Rb)if(g[1]==Zb){var yi=a.ma[Zb];yi?(g.shift(),g.shift(),
|
||||
yi(g)):a.v("no dump registered for "+Ta);break a}Ta||(jb=a.La||"dw")}else a.La=jb;if("dh"==jb){var zi=Ta,Ai=kb,Bi="",Ci=0,Ia=a.S,Ua=a.i;if(Ua.length){var Ca=+zi||a.ta,Mc=+Ai||10;isNaN(Ca)?Ca=Mc:Bi="more ";Ca>Ua.length&&(a.v("note: only "+Ua.length+" available"),Ca=Ua.length);Ia-=Ca;0>Ia&&(null==Ua[Ua.length-1].K?(Ca=Ia+Ca,Ia=0):Ia+=Ua.length);var kf=[];"call"==Ai&&(Mc=1E5,kf=["CALL"]);for(void 0!==zi&&a.v(Ca+" instructions earlier:");0<Mc&&Ia!=a.S;){var Di=Ua[Ia++];if(null==Di.K)break;var Nc=X(Di.K),
|
||||
rl=Ca--,Ei=xk(a,Nc,"history",rl);(!kf.length||0<=Ei.indexOf(kf[0]))&&a.v(Ei);Nc.zd&&(Ia+=Nc.zd,Mc-=Nc.zd,Ca-=Nc.zd);Ia>=Ua.length&&(Ia=0);a.ta=Ca;Ci++;Mc--}}Ci||(a.v("no "+Bi+"history available"),a.ta=void 0)}else{var oa=Tj(a,Ta);if(oa)if("da"==jb){var lf=oa.Na||65535<oa.K,O=Pe(a.f,oa.K||0,lf);a.v(ya("",lf?12:19)+pa(oa.K,lf?22:17,3)+" "+u(oa.K,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+pa(O[3],13,3)+" "+u(O[3],8)),a.v("UNIMAP["+qa(O[1],2)+"]: "+pa(O[2],22,3)+" "+u(O[2],8))),a.v(" PHYSICAL: "+
|
||||
pa(O[0],22,3)+" "+u(O[0],8))):(a.v(" OFFSET: "+pa(O[1],13,3)+" "+u(O[1],8)),a.v("+ "+Tk[O[2]]+"PAR"+O[3]+": "+pa(O[4],22,3)+" "+u(O[4],8)),a.v("& MMUMASK: "+pa(O[5],22,3)+" "+u(O[5],8)),a.v("= PHYSICAL: "+pa(O[0],22,3)+" "+u(O[0],8)))}else{var wb=0,mf="ds"==jb;if(kb){if("l"==kb.charAt(0))kb=kb.substr(1)||ql,wb=Cj(a,kb);else{var Fi=Tj(a,kb);Fi&&(wb=Fi.K-oa.K)}0>wb&&(wb=0);65536<wb&&(wb=65536)}var tl=a.W;oa.W&&(a.W=oa.W);for(var xb="dd"==jb?4:"db"==jb?1:2,Nd=xb*wb||128,nf=mf?
|
||||
16:a.W,ul=(Nd+nf-1)/nf|0||1,yb="";ul--&&0<Nd;){for(var zb="",of="",Ta=Wj(a,oa),Od=nf,Oc=0,Pc=0;0<Od&&0<Nd;){var bc=1,Pd=1==xb?a.Qd(oa,bc):a.Sa(oa,bc=2),Oc=Oc|Pd<<(Pc<<3),Pc=Pc+bc;Pc==xb&&(mf?(zb&&(zb+=","),zb+="0x"+v(Oc,xb<<1)):(zb+=K(a,Oc,xb<<3),zb+=1==xb?9==Od?"-":" ":" "),Oc=Pc=0);Od-=bc;for(Nd-=bc;1==xb&&bc--;)var pf=Pd&255,of=of+(32<=pf&&128>pf?String.fromCharCode(pf):"."),Pd=Pd>>8}yb&&(yb+="\n");yb=mf?yb+(zb+","):yb+(Ta+": "+zb+(Od?"":" "+of))}yb&&a.v(yb);a.Ga=oa;a.W=tl}}}}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.Qd,sf=a.Rd):"e"==tf||"ew"==tf?(cc=2,qf=65535,rf=a.Sa,sf=a.Me):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 Qd=Tj(a,uf);if(Qd)for(var Rd=2;Rd<g.length;Rd++){var Qc=Gj(a,g[Rd]);if(void 0===Qc){a.v("unrecognized value: "+g[Rd]);break}Qc&~qf&&a.v("warning: "+v(Qc)+" exceeds "+cc+"-byte value");a.v("changing "+Wj(a,Qd)+(E(a,16)?
|
||||
"":" from "+K(a,rf.call(a,Qd),cc<<3))+" to "+K(a,Qc,cc<<3));sf.call(a,Qd,Qc,cc)}}break;case "g":a:{var Gi=g[1],vl=b;if(void 0!==Gi){var vf=Tj(a,Gi,!0);if(!vf)break a;Vj(a,vf,vl);a.Cb(a.b,vf,!0)}mk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.da()):Eb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var wf;var Rc=b.substr(2),Rc=za(Rc);Gj(a,Rc)?(c||a.v("true: "+Rc),wf=!0):(c||a.v("false: "+Rc),wf=!1);wf||(d=!1);break}f=!0;break;case "k":var wl=g[0];if("?"==g[1])a.v("stack trace commands:"),
|
||||
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var xf=0,yf=X(),Sc=X(a.f.g[6]);for(a.v("stack trace for "+Wj(a,Sc));10>xf;){for(var Ab=null,xl=256;65536>Sc.K>>>0;){yf.K=a.Sa(Sc,2);if(null==Sc.K||!xl--)break;if(!(yf.K&1)){for(var yl=a,Sd=yf,Hi=null,Tc=Sd.K,Ii=Tc,zf=1;6>=zf&&Tc;zf++){if(2<zf){Sd.K=Tc;var Td=xk(yl,Sd);if(0<=Td.indexOf("JSR")){var Ji=Td.indexOf(" ");if(Tc+(Td.indexOf(" ",Ji+1)-Ji-1)/2==Ii){Hi=Td;break}}}Tc-=2}Sd.K=Ii;if(Ab=Hi)break}}if(!Ab||null==Ab)break;var Ki=
|
||||
null;if("ks"==wl){var Li=Ab.match(/[0-9A-F]+$/);Li&&(Ki=Pk(a,Li[0]))}Ab=ya(Ab,50)+" ;"+(Ki||"stack="+Wj(a,Sc));a.v(Ab);xf++}xf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Pk(a,g[1],!0);break}f=!0;break;case "m":a:{var Va,Wa=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var lb=0;if("all"==T)lb=1879046143,T=null;else if("on"==T)Wa=!0,T=null;else if("off"==T)Wa=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Va in Rb)if(T==Va){lb=Rb[Va];Wa=!!(a.ja&lb);break}if(!lb){a.v("unknown message category: "+
|
||||
T);break a}}if(lb)if("on"==g[2])a.ja|=lb,Wa=!0;else if("off"==g[2]&&(a.ja&=~lb,Wa=!1,1073741824==lb)){for(var Mi=1E3<=a.N.length?a.N.length-1E3:0;Mi<a.N.length;)a.v(a.N[Mi++]);a.N=[]}}var zl=0,Uc="";for(Va in Rb)if(!T||T==Va){var Al=!!(a.ja&Rb[Va]);if(null===Wa||Wa==Al)Uc&&(Uc+=","),++zl%10||(Uc+="\n\t"),"key"==Va&&(Va="keys"),Uc+=Va}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Wa?Wa?"messages on: ":"messages off: ":"message categories:\n\t")+
|
||||
(Uc||"none"));Lj(a)}break;case "p":if("print"==g[0]){Qk(a,b.substr(5));break}var Bl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Ni="pr"==Bl?1:0,Oi=1+Ni;if(a.I)a.v("step in progress");else{var Ud=X(a.f.g[7]),dc=a.Sa(Ud);3==dc||4==dc||34816==(dc&65280)||32256==(dc&65024)||35072==(dc&65280)?(a.I=Oi,Uj(Ud,2)):2048==(dc&65024)&&(xk(a,Ud),a.I=Oi);a.I?(a.Cb(a.b,Ud,!0),mk(a)||(a.J&&qe(a.J),a.I=0)):Rk(a,Ni?"tr":
|
||||
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}pk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Vc=+g[2];if(8==Vc||10==Vc||16==Vc)a.W=Vc;else{a.v("invalid base: "+Vc);break}}a.v("default base: "+a.W);break;case "cs":var Wc;void 0!==g[3]&&(Wc=+g[3]);switch(g[2]){case "int":a.f.Pb=Wc;break;case "start":a.f.qc=Wc;break;case "stop":a.f.Sb=Wc;break;default:a.v("unknown cs option");break a}void 0!==Wc&&ie(a.f);a.v("checksums "+(a.f.A.Ob?"enabled":"disabled"));break;case "sp":void 0!==
|
||||
g[2]&&(ne(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.yb.toFixed(2)+"Mhz")+" ("+a.f.mb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":Rk(a,
|
||||
g[0],g[1]);break;case "u":qk(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Ok(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Hb||"PDP11")+" version 1.34.3 ("+a.f.ka+",RELEASE"+(Jb?",TYPEDARRAYS":Ib?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Qk(a,b.substr(1));break}var Af="commands:",Bf;for(Bf in Uk)Af+="\n"+ya(Bf,9)+Uk[Bf];bf(a)||(Af+="\nnote: history disabled if no exec breakpoints");a.v(Af);break;default:f=!0}f&&(a.v("unknown command: "+
|
||||
b),d=!1)}}catch(Qi){a.v("debugger error: "+(Qi.stack||Qi.message)),d=!1}return d}function le(a,b,c){b=yj(a,b,c);for(var d in b)if(!wk(a,b[+d]))return!1;return!0}
|
||||
var Uk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},zk=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
||||
bk=20,ck=21,dk=22,ek=23,fk=24,gk=25,hk=26,ik=27,Zj=28,jk=29,kk=30,Xj={SP:6,PC:7,PS:bk,PI:ck,ER:dk,SL:ek,M0:fk,M1:gk,M2:hk,M3:ik,AR:Zj,DR:jk,SR:kk},ak="R0 R1 R2 R3 R4 R5 SP PC A0 A1 A2 A3 A4 A5 A6 A7 S0 S1 S2 S3 PS PI ER SL M0 M1 M2 M3 AR DR SR".split(" "),Tk="KI KD SI SD ?? ?? UI UD".split(" "),Gk=7,Hk=56,Z=Hk|Gk,Fk=4032,Y=4096,Bk=8192,Ck=12288,Dk=24576,Ek=32768,Ak=61440,Nj={61440:{4096:[62,Fk,Z],8192:[47,Fk,Z],12288:[18,Fk,Z],16384:[14,Fk,Z],20480:[16,Fk,Z],24576:[3,Fk,Z],36864:[63,Fk,Z],40960:[48,
|
||||
Fk,Z],45056:[19,Fk,Z],49152:[15,Fk,Z],53248:[17,Fk,Z],57344:[94,Fk,Z]},65024:{2048:[57,448,Z],28672:[100,Z,448],29184:[101,Z,448],29696:[102,Z,448],30208:[103,Z,448],30720:[104,448,Z],32256:[105,448,Bk]},65280:{256:[27,Y],512:[24,Y],768:[10,Y],1024:[11,Y],1280:[22,Y],1536:[12,Y],1792:[20,Y],32768:[25,Y],33024:[23,Y],33280:[13,Y],33536:[21,Y],33792:[28,Y],34048:[29,Y],34304:[8,Y],34560:[9,Y],34816:[106,Ek],35072:[107,Ek]},65472:{64:[56,Z],192:[95,Z],2560:[39,Z],2624:[49,Z],2688:[53,Z],2752:[51,Z],
|
||||
2816:[67,Z],2880:[1,Z],2944:[77,Z],3008:[97,Z],3072:[73,Z],3136:[71,Z],3200:[6,Z],3264:[4,Z],3328:[58,Dk],3392:[60,Z],3456:[65,Z],3520:[96,Z],35328:[40,Z],35392:[50,Z],35456:[54,Z],35520:[52,Z],35584:[68,Z],35648:[2,Z],35712:[78,Z],35776:[98,Z],35840:[74,Z],35904:[72,Z],35968:[7,Z],36032:[5,Z],36096:[66,Z],36160:[59,Z],36224:[64,Z],36288:[61,Z]},65528:{128:[76,Gk],152:[108,Ck]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],
|
||||
166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},yk=[0],Rj=[58,60,65,96,110,100,101,102,103,104,105],Sj=[108,59,64],lk=1E3,ok=">> ";Sa(function(){for(var a=z(document,y,"debugger"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Jj(d);pb(d,c)}});
|
||||
function Vk(a,b,c){x.call(this,"Computer",a,33554432);this.A.ca=!1;this.O=null;Wk(this,b);this.L=ge(this,"autoPower",a,6);this.j=0;this.S=+a.busWidth||+a.buswidth;this.G=this.w=this.I=null;this.C=this.R=!1;this.B=this.u=null;this.P=this.M=this.N=!1;this.U=ge(this,"url")||"";(Math.random()+.1).toString(36);this.g=Xk(this);if(this.f=nb("CPU",this.id)){this.D=nb("Debugger",this.id);this.F=new Gc({id:this.wb+".bus",busWidth:this.S},this.f,this.D);var d,e=ib(this.id);if((this.i=nb("Panel",this.id))&&this.i.Ua)for(b=
|
||||
f);return}H(a.J);a.v("updated registers:")}}a.v(Mk(a,d));c&&(a.G=X(e.g[7]),rk(a,Xj(a,a.G)))}}function Rk(a,b){b=za(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.v(c[2]):Ij(a,null,c[2].charCodeAt(0)):Hj(a,b,!1)}
|
||||
function Sk(a,b,c){if("?"==c)a.v("trace commands:"),a.v("\tt [#]\ttrace # instructions"),a.v("\ttr [#]\ttrace # instructions with register updates"),a.v("\ttc [#]\ttrace # cycles"),a.v("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Cj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ua=b;Pa(c,function(){return Fb(a,!0)&&vc(a,e,d,!1)},function(){a.g&&a.g.stop();H(a.J,-1);Fb(a,!1)})}}
|
||||
function rk(a,b,c,d){if(b=Uj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Cj(a,c.substr(1)),null!=c&&(d=c);else{d=Uj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.v("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Eb(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=Nk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.v(m)}k[3]&&(g=k[3],f=null);f=yk(a,b,g,f);a.v(f);a.G=b;e-=b.K-l;c++}}}
|
||||
function xk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(pk+b):(a.R&&(a.v("ended assemble at "+Xj(a,a.P)),a.G=a.P,a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Db(a)&&0<b.length){a.R&&(b="a "+Xj(a,a.P)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var q=
|
||||
Uj(a,g[1],!0);if(q)if(a.P=q,void 0===g[2])a.v("begin assemble at "+Xj(a,q)),a.R=!0,H(a.J);else{var t;a.v("not supported yet");t=[];if(t.length){for(var r=0;r<t.length;r++)a.Rd(q,t[r],1);a.v(yk(a,a.P))}}break;case "b":a:{var z=g[0],B=g[1],C=b;if("?"==B)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
|
||||
else{var J=z.charAt(1);if("l"==J){var ub;ub=0+wk(a,a.b);ub+=wk(a,a.M);(ub+=wk(a,a.C))||a.v("no breakpoints")}else if("n"==J){var Ed=+B||0;B&&(a.ha=Ed);a.v("break after "+Ed+" instruction(s)")}else if(void 0===B)a.v("missing breakpoint address");else{var sa=X();if("*"!=B&&(sa=Uj(a,B,!0),!sa))break a;"c"==J?null==sa.K?(Lj(a),a.v("all breakpoints cleared")):uk(a,a.b,sa)||uk(a,a.M,sa)||uk(a,a.C,sa)||a.v("breakpoint missing: "+Xj(a,sa)):null!=sa.K&&(Wj(a,sa,C),"p"==J?a.Cb(a.b,sa):"r"==J?a.Cb(a.M,sa):"w"==
|
||||
J?a.Cb(a.C,sa):a.v("unknown breakpoint command: "+J))}}}break;case "c":a.Ua&&(a.Ua.value="");break;case "d":a:{var Zb,jb=g[0],Ta=g[1],kb=g[2],rl=g[3];if("?"==Ta){var $b="";for(Zb in Rb)a.ma[Zb]&&($b&&($b+=","),$b+=Zb);$b+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
|
||||
a.v("\tdh [p] [n] dump n instructions from history position p");$b.length&&a.v("dump extension commands:\n\t"+$b)}else if("state"==Ta){var gf=Tk(a.J,!0);"console"==kb?console.log(gf):(a.Ua&&(a.Ua.value=""),gf&&a.v(gf))}else if("symbols"==Ta)for(var hf=0;hf<a.B.length;hf++){var jf=a.B[hf],ac;for(ac in jf.ia)if("."!=ac.charAt(0)){var xi=jf.ia[ac].o;if(void 0!==xi){var yi=jf.ia[ac].l;yi&&(ac=yi);a.v(K(a,xi)+" "+ac)}}}else{if("d"==jb){for(Zb in Rb)if(g[1]==Zb){var zi=a.ma[Zb];zi?(g.shift(),g.shift(),
|
||||
zi(g)):a.v("no dump registered for "+Ta);break a}Ta||(jb=a.La||"dw")}else a.La=jb;if("dh"==jb){var Ai=Ta,Bi=kb,Ci="",Di=0,Ia=a.S,Ua=a.i;if(Ua.length){var Ca=+Ai||a.ta,Mc=+Bi||10;isNaN(Ca)?Ca=Mc:Ci="more ";Ca>Ua.length&&(a.v("note: only "+Ua.length+" available"),Ca=Ua.length);Ia-=Ca;0>Ia&&(null==Ua[Ua.length-1].K?(Ca=Ia+Ca,Ia=0):Ia+=Ua.length);var kf=[];"call"==Bi&&(Mc=1E5,kf=["CALL"]);for(void 0!==Ai&&a.v(Ca+" instructions earlier:");0<Mc&&Ia!=a.S;){var Ei=Ua[Ia++];if(null==Ei.K)break;var Nc=X(Ei.K),
|
||||
sl=Ca--,Fi=yk(a,Nc,"history",sl);(!kf.length||0<=Fi.indexOf(kf[0]))&&a.v(Fi);Nc.zd&&(Ia+=Nc.zd,Mc-=Nc.zd,Ca-=Nc.zd);Ia>=Ua.length&&(Ia=0);a.ta=Ca;Di++;Mc--}}Di||(a.v("no "+Ci+"history available"),a.ta=void 0)}else{var oa=Uj(a,Ta);if(oa)if("da"==jb){var lf=oa.Na||65535<oa.K,O=Pe(a.f,oa.K||0,lf);a.v(ya("",lf?12:19)+pa(oa.K,lf?22:17,3)+" "+u(oa.K,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+pa(O[3],13,3)+" "+u(O[3],8)),a.v("UNIMAP["+qa(O[1],2)+"]: "+pa(O[2],22,3)+" "+u(O[2],8))),a.v(" PHYSICAL: "+
|
||||
pa(O[0],22,3)+" "+u(O[0],8))):(a.v(" OFFSET: "+pa(O[1],13,3)+" "+u(O[1],8)),a.v("+ "+Uk[O[2]]+"PAR"+O[3]+": "+pa(O[4],22,3)+" "+u(O[4],8)),a.v("& MMUMASK: "+pa(O[5],22,3)+" "+u(O[5],8)),a.v("= PHYSICAL: "+pa(O[0],22,3)+" "+u(O[0],8)))}else{var wb=0,mf="ds"==jb;if(kb){if("l"==kb.charAt(0))kb=kb.substr(1)||rl,wb=Cj(a,kb);else{var Gi=Uj(a,kb);Gi&&(wb=Gi.K-oa.K)}0>wb&&(wb=0);65536<wb&&(wb=65536)}var ul=a.W;oa.W&&(a.W=oa.W);for(var xb="dd"==jb?4:"db"==jb?1:2,Nd=xb*wb||128,nf=mf?
|
||||
16:a.W,vl=(Nd+nf-1)/nf|0||1,yb="";vl--&&0<Nd;){for(var zb="",of="",Ta=Xj(a,oa),Od=nf,Oc=0,Pc=0;0<Od&&0<Nd;){var bc=1,Pd=1==xb?a.Qd(oa,bc):a.Sa(oa,bc=2),Oc=Oc|Pd<<(Pc<<3),Pc=Pc+bc;Pc==xb&&(mf?(zb&&(zb+=","),zb+="0x"+v(Oc,xb<<1)):(zb+=K(a,Oc,xb<<3),zb+=1==xb?9==Od?"-":" ":" "),Oc=Pc=0);Od-=bc;for(Nd-=bc;1==xb&&bc--;)var pf=Pd&255,of=of+(32<=pf&&128>pf?String.fromCharCode(pf):"."),Pd=Pd>>8}yb&&(yb+="\n");yb=mf?yb+(zb+","):yb+(Ta+": "+zb+(Od?"":" "+of))}yb&&a.v(yb);a.Ga=oa;a.W=ul}}}}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.Qd,sf=a.Rd):"e"==tf||"ew"==tf?(cc=2,qf=65535,rf=a.Sa,sf=a.Me):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 Qd=Uj(a,uf);if(Qd)for(var Rd=2;Rd<g.length;Rd++){var Qc=Hj(a,g[Rd]);if(void 0===Qc){a.v("unrecognized value: "+g[Rd]);break}Qc&~qf&&a.v("warning: "+v(Qc)+" exceeds "+cc+"-byte value");a.v("changing "+Xj(a,Qd)+(E(a,16)?
|
||||
"":" from "+K(a,rf.call(a,Qd),cc<<3))+" to "+K(a,Qc,cc<<3));sf.call(a,Qd,Qc,cc)}}break;case "g":a:{var Hi=g[1],wl=b;if(void 0!==Hi){var vf=Uj(a,Hi,!0);if(!vf)break a;Wj(a,vf,wl);a.Cb(a.b,vf,!0)}nk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.da()):Eb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var wf;var Rc=b.substr(2),Rc=za(Rc);Hj(a,Rc)?(c||a.v("true: "+Rc),wf=!0):(c||a.v("false: "+Rc),wf=!1);wf||(d=!1);break}f=!0;break;case "k":var xl=g[0];if("?"==g[1])a.v("stack trace commands:"),
|
||||
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var xf=0,yf=X(),Sc=X(a.f.g[6]);for(a.v("stack trace for "+Xj(a,Sc));10>xf;){for(var Ab=null,yl=256;65536>Sc.K>>>0;){yf.K=a.Sa(Sc,2);if(null==Sc.K||!yl--)break;if(!(yf.K&1)){for(var zl=a,Sd=yf,Ii=null,Tc=Sd.K,Ji=Tc,zf=1;6>=zf&&Tc;zf++){if(2<zf){Sd.K=Tc;var Td=yk(zl,Sd);if(0<=Td.indexOf("JSR")){var Ki=Td.indexOf(" ");if(Tc+(Td.indexOf(" ",Ki+1)-Ki-1)/2==Ji){Ii=Td;break}}}Tc-=2}Sd.K=Ji;if(Ab=Ii)break}}if(!Ab||null==Ab)break;var Li=
|
||||
null;if("ks"==xl){var Mi=Ab.match(/[0-9A-F]+$/);Mi&&(Li=Qk(a,Mi[0]))}Ab=ya(Ab,50)+" ;"+(Li||"stack="+Xj(a,Sc));a.v(Ab);xf++}xf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Qk(a,g[1],!0);break}f=!0;break;case "m":a:{var Va,Wa=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var lb=0;if("all"==T)lb=1879046143,T=null;else if("on"==T)Wa=!0,T=null;else if("off"==T)Wa=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Va in Rb)if(T==Va){lb=Rb[Va];Wa=!!(a.ja&lb);break}if(!lb){a.v("unknown message category: "+
|
||||
T);break a}}if(lb)if("on"==g[2])a.ja|=lb,Wa=!0;else if("off"==g[2]&&(a.ja&=~lb,Wa=!1,1073741824==lb)){for(var Ni=1E3<=a.N.length?a.N.length-1E3:0;Ni<a.N.length;)a.v(a.N[Ni++]);a.N=[]}}var Al=0,Uc="";for(Va in Rb)if(!T||T==Va){var Bl=!!(a.ja&Rb[Va]);if(null===Wa||Wa==Bl)Uc&&(Uc+=","),++Al%10||(Uc+="\n\t"),"key"==Va&&(Va="keys"),Uc+=Va}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Wa?Wa?"messages on: ":"messages off: ":"message categories:\n\t")+
|
||||
(Uc||"none"));Mj(a)}break;case "p":if("print"==g[0]){Rk(a,b.substr(5));break}var Cl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Oi="pr"==Cl?1:0,Pi=1+Oi;if(a.I)a.v("step in progress");else{var Ud=X(a.f.g[7]),dc=a.Sa(Ud);3==dc||4==dc||34816==(dc&65280)||32256==(dc&65024)||35072==(dc&65280)?(a.I=Pi,Vj(Ud,2)):2048==(dc&65024)&&(yk(a,Ud),a.I=Pi);a.I?(a.Cb(a.b,Ud,!0),nk(a)||(a.J&&qe(a.J),a.I=0)):Sk(a,Oi?"tr":
|
||||
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}qk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Vc=+g[2];if(8==Vc||10==Vc||16==Vc)a.W=Vc;else{a.v("invalid base: "+Vc);break}}a.v("default base: "+a.W);break;case "cs":var Wc;void 0!==g[3]&&(Wc=+g[3]);switch(g[2]){case "int":a.f.Pb=Wc;break;case "start":a.f.qc=Wc;break;case "stop":a.f.Sb=Wc;break;default:a.v("unknown cs option");break a}void 0!==Wc&&ie(a.f);a.v("checksums "+(a.f.A.Ob?"enabled":"disabled"));break;case "sp":void 0!==
|
||||
g[2]&&(ne(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.yb.toFixed(2)+"Mhz")+" ("+a.f.mb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":Sk(a,
|
||||
g[0],g[1]);break;case "u":rk(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Pk(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Hb||"PDP11")+" version 1.34.3 ("+a.f.ka+",RELEASE"+(Jb?",TYPEDARRAYS":Ib?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Rk(a,b.substr(1));break}var Af="commands:",Bf;for(Bf in Vk)Af+="\n"+ya(Bf,9)+Vk[Bf];bf(a)||(Af+="\nnote: history disabled if no exec breakpoints");a.v(Af);break;default:f=!0}f&&(a.v("unknown command: "+
|
||||
b),d=!1)}}catch(Ri){a.v("debugger error: "+(Ri.stack||Ri.message)),d=!1}return d}function le(a,b,c){b=yj(a,b,c);for(var d in b)if(!xk(a,b[+d]))return!1;return!0}
|
||||
var Vk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Ak=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
||||
ck=20,dk=21,ek=22,fk=23,gk=24,hk=25,ik=26,jk=27,ak=28,kk=29,lk=30,Yj={SP:6,PC:7,PS:ck,PI:dk,ER:ek,SL:fk,M0:gk,M1:hk,M2:ik,M3:jk,AR:ak,DR:kk,SR:lk},bk="R0 R1 R2 R3 R4 R5 SP PC A0 A1 A2 A3 A4 A5 A6 A7 S0 S1 S2 S3 PS PI ER SL M0 M1 M2 M3 AR DR SR".split(" "),Uk="KI KD SI SD ?? ?? UI UD".split(" "),Hk=7,Ik=56,Z=Ik|Hk,Gk=4032,Y=4096,Ck=8192,Dk=12288,Ek=24576,Fk=32768,Bk=61440,Oj={61440:{4096:[62,Gk,Z],8192:[47,Gk,Z],12288:[18,Gk,Z],16384:[14,Gk,Z],20480:[16,Gk,Z],24576:[3,Gk,Z],36864:[63,Gk,Z],40960:[48,
|
||||
Gk,Z],45056:[19,Gk,Z],49152:[15,Gk,Z],53248:[17,Gk,Z],57344:[94,Gk,Z]},65024:{2048:[57,448,Z],28672:[100,Z,448],29184:[101,Z,448],29696:[102,Z,448],30208:[103,Z,448],30720:[104,448,Z],32256:[105,448,Ck]},65280:{256:[27,Y],512:[24,Y],768:[10,Y],1024:[11,Y],1280:[22,Y],1536:[12,Y],1792:[20,Y],32768:[25,Y],33024:[23,Y],33280:[13,Y],33536:[21,Y],33792:[28,Y],34048:[29,Y],34304:[8,Y],34560:[9,Y],34816:[106,Fk],35072:[107,Fk]},65472:{64:[56,Z],192:[95,Z],2560:[39,Z],2624:[49,Z],2688:[53,Z],2752:[51,Z],
|
||||
2816:[67,Z],2880:[1,Z],2944:[77,Z],3008:[97,Z],3072:[73,Z],3136:[71,Z],3200:[6,Z],3264:[4,Z],3328:[58,Ek],3392:[60,Z],3456:[65,Z],3520:[96,Z],35328:[40,Z],35392:[50,Z],35456:[54,Z],35520:[52,Z],35584:[68,Z],35648:[2,Z],35712:[78,Z],35776:[98,Z],35840:[74,Z],35904:[72,Z],35968:[7,Z],36032:[5,Z],36096:[66,Z],36160:[59,Z],36224:[64,Z],36288:[61,Z]},65528:{128:[76,Hk],152:[108,Dk]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],
|
||||
166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},zk=[0],Sj=[58,60,65,96,110,100,101,102,103,104,105],Tj=[108,59,64],mk=1E3,pk=">> ";Sa(function(){for(var a=A(document,y,"debugger"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Kj(d);pb(d,c)}});
|
||||
function Wk(a,b,c){x.call(this,"Computer",a,33554432);this.A.ca=!1;this.O=null;Xk(this,b);this.L=ge(this,"autoPower",a,6);this.j=0;this.S=+a.busWidth||+a.buswidth;this.G=this.w=this.I=null;this.C=this.R=!1;this.B=this.u=null;this.P=this.M=this.N=!1;this.U=ge(this,"url")||"";(Math.random()+.1).toString(36);this.g=Yk(this);if(this.f=nb("CPU",this.id)){this.D=nb("Debugger",this.id);this.F=new Gc({id:this.wb+".bus",busWidth:this.S},this.f,this.D);var d,e=ib(this.id);if((this.i=nb("Panel",this.id))&&this.i.Ua)for(b=
|
||||
0;b<e.length;b++)d=e[b],d.T=this.i.T,d.v=this.i.v,d.Ua=this.i.Ua;this.v(Hb+" v1.34.3\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.v("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.Ba&&d.Ba(this,this.F,this.f,this.D);b=null;d=ge(this,"resume",a);void 0!==d&&(1<d.length?b=this.w=d:this.b=parseInt(d,10));var f;if(a=ge(this,"state")||
|
||||
(f=!0,a.state))this.I=b=a,f||(this.C=!0,this.b=Yk),this.b&&(this.B=new G(this,"1.34.3"),Zk(this.B)?b=null:delete this.B);!b&&this.b&&(b=$k(this))&&(this.C=!0);if(b){var g=this;Ea(b,null,!0,function(a,b,c){c?(g.w=null,g.C=!1,g.T("Unable to load machine state from server (error "+c+(b?": "+za(b):"")+")")):(g.G=b,g.R=!0);C(g)})}else C(this);this.H.power||(this.L=!0);!c&&this.L&&this.zc(this.sc)}else w("Unable to find CPU component")}p(Vk,x);
|
||||
function Wk(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.O=b}function ge(a,b,c,d){var e=b.toLowerCase(),e=Na(b)||Na(e);void 0===e&&a.O&&(e=a.O[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}h=Vk.prototype;
|
||||
h.zc=function(a,b){for(var c=this,d=ib(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!Db(f)){Db(f,function(){c.zc(a,b)});return}}a.call(this,b)};function al(a,b){var c=new G(a,"1.34.3",bl);if(Zk(c)&&cl(c)){var d=c.get(dl),e=b?b.get(dl):"unknown";d!=e&&(a.T("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
h.sc=function(a){void 0===a&&(a=this.b||(this.G?el:Yk));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.B||new G(this,"1.34.3");if(a==fl)b=!0;else if(a>Yk){if(Zk(d,this.G)){this.u=new G(this,"1.34.3",gl);Zk(this.u)&&(hl(this,d),a=il,jl(this.u));this.u.set(dl,Da());kl(this.u);var e=this.b&&!this.C;if(a==el||hb("Click OK to restore the previous "+Hb+" machine state, or CANCEL to reset the machine.")){if(c=cl(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Zk(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.T("Error: "+g),"unable to verify user"==g&&(La(ll,""),this.g=null)):this.v(f+": "+g),jl(d),Zk(d)?(c=cl(d),e=!0):c=!1))}e&&al(this,c?d:null)}else a==il&&d.clear()}else al(this);delete this.G;delete this.B}e=ib(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=ml(this,g,d,b,c));b=[d,a,c];a!=fl?this.zc(this.oe,b):this.oe(b)}};
|
||||
function ml(a,b,c,d,e){if(!b.A.ca){b.A.ca=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.Da(f,d)&&f&&(w("Unable to restore state for "+b.type),a.I&&!a.R?(c.clear(),a.b=Yk,window&&window.location.reload()):a.N=!0,b.Da(null),e=!1),!d&&b.Wd){var g=b.Wd.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){w("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
|
||||
h.oe=function(a){var b=a[0],c=0>a[1];a=a[2];this.P=!0;this.A.ca=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.f&&(ml(this,this.f,b,c,a),H(this,-2),this.f.ra());this.N&&(hl(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
|
||||
function hl(a,b){if(hb("There may be a problem with your "+Hb+" machine.\n\nTo help us diagnose it, click OK to send this "+Hb+" machine state to http://www.pcjs.org.")){var c=a.U;a=a.g||"";b=b.toString();var d={};d.app=Hb;d.ver="1.34.3";d.url=c;d.user=a;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function Sk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new G(a,"1.34.3"),g=new G(a,"1.34.3",bl),k=Da();g.set(dl,k);f.set(dl,k);f.set(nl,"1.34.3");f.set(ol,window?window.location.href:null);f.set(pl,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=ib(a.id),l=0;l<k.length;l++){var m=k[l];m.A.ca&&(m.Ca&&(d=m.Ca(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.ca=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.g&&sl(a,a.g,f.toString()),kl(g)&&kl(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==Cl),d&&f.clear(k)):e=f.toString());c&&(a.A.ca=!1,b=a.H.power)&&(b.textContent="Power");a.j=0;return e}
|
||||
(f=!0,a.state))this.I=b=a,f||(this.C=!0,this.b=Zk),this.b&&(this.B=new G(this,"1.34.3"),$k(this.B)?b=null:delete this.B);!b&&this.b&&(b=al(this))&&(this.C=!0);if(b){var g=this;Ea(b,null,!0,function(a,b,c){c?(g.w=null,g.C=!1,g.T("Unable to load machine state from server (error "+c+(b?": "+za(b):"")+")")):(g.G=b,g.R=!0);D(g)})}else D(this);this.H.power||(this.L=!0);!c&&this.L&&this.zc(this.sc)}else w("Unable to find CPU component")}p(Wk,x);
|
||||
function Xk(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.O=b}function ge(a,b,c,d){var e=b.toLowerCase(),e=Na(b)||Na(e);void 0===e&&a.O&&(e=a.O[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}h=Wk.prototype;
|
||||
h.zc=function(a,b){for(var c=this,d=ib(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!Db(f)){Db(f,function(){c.zc(a,b)});return}}a.call(this,b)};function bl(a,b){var c=new G(a,"1.34.3",cl);if($k(c)&&dl(c)){var d=c.get(el),e=b?b.get(el):"unknown";d!=e&&(a.T("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
h.sc=function(a){void 0===a&&(a=this.b||(this.G?fl:Zk));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.B||new G(this,"1.34.3");if(a==gl)b=!0;else if(a>Zk){if($k(d,this.G)){this.u=new G(this,"1.34.3",hl);$k(this.u)&&(il(this,d),a=jl,kl(this.u));this.u.set(el,Da());ll(this.u);var e=this.b&&!this.C;if(a==fl||hb("Click OK to restore the previous "+Hb+" machine state, or CANCEL to reset the machine.")){if(c=dl(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?$k(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.T("Error: "+g),"unable to verify user"==g&&(La(ml,""),this.g=null)):this.v(f+": "+g),kl(d),$k(d)?(c=dl(d),e=!0):c=!1))}e&&bl(this,c?d:null)}else a==jl&&d.clear()}else bl(this);delete this.G;delete this.B}e=ib(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=nl(this,g,d,b,c));b=[d,a,c];a!=gl?this.zc(this.oe,b):this.oe(b)}};
|
||||
function nl(a,b,c,d,e){if(!b.A.ca){b.A.ca=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.Da(f,d)&&f&&(w("Unable to restore state for "+b.type),a.I&&!a.R?(c.clear(),a.b=Zk,window&&window.location.reload()):a.N=!0,b.Da(null),e=!1),!d&&b.Wd){var g=b.Wd.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){w("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
|
||||
h.oe=function(a){var b=a[0],c=0>a[1];a=a[2];this.P=!0;this.A.ca=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.f&&(nl(this,this.f,b,c,a),H(this,-2),this.f.ra());this.N&&(il(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
|
||||
function il(a,b){if(hb("There may be a problem with your "+Hb+" machine.\n\nTo help us diagnose it, click OK to send this "+Hb+" machine state to http://www.pcjs.org.")){var c=a.U;a=a.g||"";b=b.toString();var d={};d.app=Hb;d.ver="1.34.3";d.url=c;d.user=a;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function Tk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new G(a,"1.34.3"),g=new G(a,"1.34.3",cl),k=Da();g.set(el,k);f.set(el,k);f.set(ol,"1.34.3");f.set(pl,window?window.location.href:null);f.set(ql,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=ib(a.id),l=0;l<k.length;l++){var m=k[l];m.A.ca&&(m.Ca&&(d=m.Ca(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.ca=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.g&&tl(a,a.g,f.toString()),ll(g)&&ll(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==Dl),d&&f.clear(k)):e=f.toString());c&&(a.A.ca=!1,b=a.H.power)&&(b.textContent="Power");a.j=0;return e}
|
||||
h.reset=function(){this.A.reset=!0;this.F&&this.F.reset&&(F(this,"Resetting "+this.F.type),this.F.reset());this.f&&this.f.reset&&(F(this,"Resetting "+this.f.type),this.f.reset());for(var a=ib(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.F&&c!==this.f&&c.reset&&(F(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;H(this,-1)};h.start=function(a,b){for(var c=ib(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}H(this,-1)};
|
||||
h.stop=function(a,b){for(var c=ib(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}H(this,-1)};
|
||||
function H(a,b){if(a.f){var c=a.f,d=b||0,e=c.H.speed;e&&(0>=d||30<=(c.bd+=d))&&(e.textContent=c.A.V?c.xb.toFixed(2)+"Mhz":"Stopped",c.bd=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;e<a.f.g.length;e++)nc(a,"R"+e,a.f.g[e]);e=Ad(a.f);nc(a,"PS",e);nc(a,"NF",e&8?1:0,1);nc(a,"ZF",e&4?1:0,1);nc(a,"VF",e&2?1:0,1);nc(a,"CF",e&1?1:0,1);a.j=0}-1>b?a.ga=a.f.g[7]:0<b&&c&&!d&&(a.ga=a.f.ib);jc(a,a.ga);Vb(a,a.Fb);b=a.f;b=b.zb?b.X&16?1:2:4;Ec(a,"B22",b&1);Ec(a,"B18",b&2);
|
||||
Ec(a,"B16",b&4)}}
|
||||
h.wa=function(a,b,c){var d=this;switch(b){case "power":return this.H[b]=c,c.onclick=function(){d.j||(d.A.ca?Sk(d,!1,!0):d.zc(d.sc))},!0;case "reset":return this.H[b]=c,c.onclick=function(){if(d.A.ca&&!d.j)if(d.b&&!d.w){var a=hb("Click OK to save changes to this "+Hb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Sk(d,a,!0);!a&&d.I?window&&window.location.reload():(a||(d.M=!0),d.sc(Yk),d.M=!1)}else d.reset(),d.f&&!d.D&&d.f.ra()},!0;case "save":if(va(Ga(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.H[b]=c,c.onclick=function(){var a=Xk(d,!0);if(a){var b=!!(d.b&&!d.w||d.I),c=Sk(d,b);b?sl(d,a,c):d.T("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Xk(a,b){var c=a.g;c||((c=Ka(ll),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Dl(a,c))||a.T("The user ID is invalid.")):b&&a.T("Browser local storage is not available"));return c}
|
||||
function Dl(a,b){a.g=null;b=Ea(Ga()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(La(ll,b.data),a.g=b.data)}catch(d){w(d.message+" ("+c+")")}return a.g}function $k(a){var b=null;a.g&&(b=Ga()+"/api/v1/user?req=load&user="+a.g+"&state="+El(a,"1.34.3"));return b}
|
||||
function sl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=El(a,"1.34.3");d.data=c;b=Ea(Ga()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.T("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.T(c),La(ll,""),a.g=null)}}
|
||||
function Uh(a){var b;a=ib(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function qe(a,b){if(a.Ua){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Ua.focus();!b&&window&&window.scrollTo(c,d)}}var gl="failsafe",bl="validate",dl="timestamp",nl="version",ol="url",pl="browser",ll="user",fl=-1,Yk=0,el=1,il=2,Cl=3;
|
||||
Sa(function(){for(var a=z(document,y+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=ob(c),c=z(c,y,"computer"),e=0;e<c.length;e++){var f=c[e],g=ob(f),g=new Vk(g,d,!0);pb(g,f);g.L&&g.zc(g.sc)}});Xa.show.push(function(){for(var a=z(document,y,"computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=nb("Computer",c.id))&&c.P&&!c.A.ca&&c.sc(fl)}});Xa.exit.push(function(){for(var a=z(document,y,"computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=nb("Computer",c.id))&&c.A.ca&&Sk(c,!(!c.b||c.w),!0)}});
|
||||
function G(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.D=!1;this.key=El(a,b,c);jl(this,a.wf)}h=G.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function Zk(a,b){return b?(a.b=b,a.g=!0,a.D=!1,!0):a.g?!0:Ha()&&(b=Ka(a.key))?(a.b=b,a.g=!0):!1}function cl(a){var b=!0;if(!a.D)try{a.f=JSON.parse(a.b),a.D=!0}catch(c){w(c.message||c),b=!1}return b}
|
||||
function kl(a){var b=!0;if(Ha()){var c=JSON.stringify(a.f);La(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function jl(a,b){a.b="";a.f={};a.g=a.D=!1;b&&a.set("parms",b)}
|
||||
h.clear=function(a){jl(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function El(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Fl=0;
|
||||
function Gl(a,b,c,d,e,f,g){f("Loading "+a+"...");Ea(a,null,!0,function(k,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),g(l,null)):Hl(l,a,b,c,d,e,f,g)})}
|
||||
function Hl(a,b,c,d,e,f,g,k){function l(a,g){if(g)k(g,null);else{c&&(eb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\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(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,g)}}a?f?Il(a,g,l):l(a,null):k("no data"+(b?" for file: "+b:""),null)}
|
||||
function Il(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ea(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/g;m=n.exec(f);)l=0>l.indexOf(m[1])?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);Il(a,b,c)}})}else c(a,null)}
|
||||
function Jl(a,b,c,d,e){function f(a){if(void 0===l){var b=k&&z(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=wa(a))}function g(a){f("Error: "+a);m&&(--Fl||$a(!0));m=!1}var k,l,m=!0;Fl++;fb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var q=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));q.appendChild(t)}d||
|
||||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.3/components.xsl");n=function(e,l){l?Gl(d,null,a,null,!1,f,function(a,e){e?(eb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Fl||$a(!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),--Fl||
|
||||
$a(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Gl(c,b,a,e,!0,f,n):Hl(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(r){g(r.message)}return m}window.embedPDP10=function(a,b,c,d){$a(!1);return Jl("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){$a(!1);return Jl("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return nb(b,a+".machine")};
|
||||
h.wa=function(a,b,c){var d=this;switch(b){case "power":return this.H[b]=c,c.onclick=function(){d.j||(d.A.ca?Tk(d,!1,!0):d.zc(d.sc))},!0;case "reset":return this.H[b]=c,c.onclick=function(){if(d.A.ca&&!d.j)if(d.b&&!d.w){var a=hb("Click OK to save changes to this "+Hb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Tk(d,a,!0);!a&&d.I?window&&window.location.reload():(a||(d.M=!0),d.sc(Zk),d.M=!1)}else d.reset(),d.f&&!d.D&&d.f.ra()},!0;case "save":if(va(Ga(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.H[b]=c,c.onclick=function(){var a=Yk(d,!0);if(a){var b=!!(d.b&&!d.w||d.I),c=Tk(d,b);b?tl(d,a,c):d.T("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Yk(a,b){var c=a.g;c||((c=Ka(ml),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=El(a,c))||a.T("The user ID is invalid.")):b&&a.T("Browser local storage is not available"));return c}
|
||||
function El(a,b){a.g=null;b=Ea(Ga()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(La(ml,b.data),a.g=b.data)}catch(d){w(d.message+" ("+c+")")}return a.g}function al(a){var b=null;a.g&&(b=Ga()+"/api/v1/user?req=load&user="+a.g+"&state="+Fl(a,"1.34.3"));return b}
|
||||
function tl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Fl(a,"1.34.3");d.data=c;b=Ea(Ga()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.T("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.T(c),La(ml,""),a.g=null)}}
|
||||
function Uh(a){var b;a=ib(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function qe(a,b){if(a.Ua){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Ua.focus();!b&&window&&window.scrollTo(c,d)}}var hl="failsafe",cl="validate",el="timestamp",ol="version",pl="url",ql="browser",ml="user",gl=-1,Zk=0,fl=1,jl=2,Dl=3;
|
||||
Sa(function(){for(var a=A(document,y+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=ob(c),c=A(c,y,"computer"),e=0;e<c.length;e++){var f=c[e],g=ob(f),g=new Wk(g,d,!0);pb(g,f);g.L&&g.zc(g.sc)}});Xa.show.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=nb("Computer",c.id))&&c.P&&!c.A.ca&&c.sc(gl)}});Xa.exit.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=nb("Computer",c.id))&&c.A.ca&&Tk(c,!(!c.b||c.w),!0)}});
|
||||
function G(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.D=!1;this.key=Fl(a,b,c);kl(this,a.wf)}h=G.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function $k(a,b){return b?(a.b=b,a.g=!0,a.D=!1,!0):a.g?!0:Ha()&&(b=Ka(a.key))?(a.b=b,a.g=!0):!1}function dl(a){var b=!0;if(!a.D)try{a.f=JSON.parse(a.b),a.D=!0}catch(c){w(c.message||c),b=!1}return b}
|
||||
function ll(a){var b=!0;if(Ha()){var c=JSON.stringify(a.f);La(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function kl(a,b){a.b="";a.f={};a.g=a.D=!1;b&&a.set("parms",b)}
|
||||
h.clear=function(a){kl(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Fl(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Gl=0;
|
||||
function Hl(a,b,c,d,e,f,g){f("Loading "+a+"...");Ea(a,null,!0,function(k,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),g(l,null)):Il(l,a,b,c,d,e,f,g)})}
|
||||
function Il(a,b,c,d,e,f,g,k){function l(a,g){if(g)k(g,null);else{c&&(eb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\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(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,g)}}a?f?Jl(a,g,l):l(a,null):k("no data"+(b?" for file: "+b:""),null)}
|
||||
function Jl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ea(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/g;m=n.exec(f);)l=0>l.indexOf(m[1])?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);Jl(a,b,c)}})}else c(a,null)}
|
||||
function Kl(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&&(--Gl||$a(!0));m=!1}var k,l,m=!0;Gl++;fb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var q=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));q.appendChild(t)}d||
|
||||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.3/components.xsl");n=function(e,l){l?Hl(d,null,a,null,!1,f,function(a,e){e?(eb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Gl||$a(!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),--Gl||
|
||||
$a(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Hl(c,b,a,e,!0,f,n):Il(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(r){g(r.message)}return m}window.embedPDP10=function(a,b,c,d){$a(!1);return Kl("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){$a(!1);return Kl("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return nb(b,a+".machine")};
|
||||
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!rb[a]){for(var c=!0,d=rb,e=a,f=b.length,g=[],k=[],l="",m=null,n=0;n<f;n++){var q=b[n];if('"'==q||"'"==q)m&&q!=m?l+=q:(m?m=null:m=q,l&&(k.push(l),l=""));else{if(!m){if("\r"==q||"\n"==q)q=";";if(" "==q||"\t"==q||";"==q){l&&(k.push(l),l="");";"==q&&k.length&&(g.push(k),k=[]);continue}}l+=q}}l&&k.push(l);k.length&&g.push(k);d[e]=g;qb(a)||(c=!1)}return c};window.enableEvents=$a;window.sendEvent=bb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.3/pdp11-dbg.map
|
||||
|
|
|
|||
Loading…
Reference in a new issue