From e1f37c827539128a31eeadd47d59a6687ff55bfa Mon Sep 17 00:00:00 2001 From: Jeff Date: Mon, 13 Mar 2017 17:44:01 -0700 Subject: [PATCH] More MACRO-10 fixes --- modules/pdp10/lib/debugger.js | 11 +- modules/pdp10/lib/macro10.js | 22 ++- modules/shared/lib/debugger.js | 8 +- versions/pdpjs/1.34.2/pdp10-dbg.js | 232 ++++++++++++++--------------- 4 files changed, 141 insertions(+), 132 deletions(-) diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index 900d5888c..29eda79f1 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -1723,23 +1723,22 @@ class DebuggerPDP10 extends Debugger { if (opMask == PDP10.OPCODE.OPIO) { if (operand < 0 || operand > PDP10.OPCODE.IO_MASK) { operand &= PDP10.OPCODE.IO_MASK; - this.println("device code (" + sOperand + ") truncated to " + this.toStrBase(operand)); + if (MAXDEBUG) this.println("device code (" + sOperand + ") truncated to " + this.toStrBase(operand)); } opCode += (operand * PDP10.OPCODE.IO_SCALE); } else { if (operand < 0 || operand > PDP10.OPCODE.A_MASK) { operand &= PDP10.OPCODE.A_MASK; - this.println("accumulator (" + sOperand + ") truncated to " + this.toStrBase(operand)); + if (MAXDEBUG) this.println("accumulator (" + sOperand + ") truncated to " + this.toStrBase(operand)); } opCode += (operand << PDP10.OPCODE.A_SHIFT); } continue; } if (operand < 0 || operand > PDP10.OPCODE.Y_MASK) { - this.println("memory address out of range: " + sOperand); - opCode = -1; - break; + operand &= PDP10.ADDR_MASK; + if (MAXDEBUG) this.println("address (" + sOperand + ") truncated to " + this.toStrBase(operand)); } opCode += operand; sOperand = match[3]; @@ -1751,7 +1750,7 @@ class DebuggerPDP10 extends Debugger { } if (operand < 0 || operand > PDP10.OPCODE.X_MASK) { operand &= PDP10.OPCODE.X_MASK; - this.println("index (" + sOperand + ") truncated to " + this.toStrBase(operand)); + if (MAXDEBUG) this.println("index (" + sOperand + ") truncated to " + this.toStrBase(operand)); } opCode += operand << PDP10.OPCODE.X_SHIFT; } diff --git a/modules/pdp10/lib/macro10.js b/modules/pdp10/lib/macro10.js index 850caef2f..6ae8b4021 100644 --- a/modules/pdp10/lib/macro10.js +++ b/modules/pdp10/lib/macro10.js @@ -234,9 +234,9 @@ class Macro10 { this.parseText(macro.sText); } - for (var f in this.aFixups) { + for (i = 0; i < this.aFixups.length; i++) { var w = 0, nBits = 0; - var fixup = this.aFixups[+f]; + var fixup = this.aFixups[i]; var nLocation = fixup.nLocation; if (fixup.nBits < 0) { w = this.dbg.parseInstruction(fixup.aValues[0], fixup.aValues[1], nLocation); @@ -247,9 +247,9 @@ class Macro10 { this.aWords[nLocation++] += w; continue; } - for (i = 0; i < fixup.aValues.length; i++) { - var sValue = fixup.aValues[i]; - var value = this.parseExpression(sValue); + for (var j = 0; j < fixup.aValues.length; j++) { + var sValue = fixup.aValues[j]; + var value = this.parseExpression(sValue, nLocation); if (value === undefined) { this.error("unable to parse expression: " + sValue); break; @@ -569,17 +569,19 @@ class Macro10 { } /** - * parseExpression(sOperand) + * parseExpression(sOperand, nLocation) * * This is a wrapper around the Debugger's parseExpression() function to take care of some * additional requirements we have, such as interpreting '.' as the current location counter. * * @this {Macro10} * @param {string} sOperand + * @param {number} [nLocation] * @return {number|undefined} */ - parseExpression(sOperand) + parseExpression(sOperand, nLocation) { + if (nLocation === undefined) nLocation = this.nLocation; /* * The Debugger's parseInstruction() replaces any period not PRECEDED by a decimal digit with * the current address, because our Debuggers' only other interpretation of a period is as the @@ -587,7 +589,7 @@ class Macro10 { * the decimal point within a floating-point number, so here we only replace periods that are * not FOLLOWED by a decimal digit. */ - sOperand = sOperand.replace(/\.([^0-9]|$)/g, "$1" + this.dbg.toStrBase(this.nLocation)); + sOperand = sOperand.replace(/\.([^0-9]|$)/g, this.dbg.toStrBase(nLocation, -1) + "$1"); return this.dbg.parseExpression(sOperand); } @@ -809,6 +811,10 @@ class Macro10 { } } + // if (this.tblMacros[name] !== undefined) { + // this.warning("macro redefined: " + name); + // } + this.tblMacros[name] = {name, nOperand, aParms, aDefaults, sText}; if (!this.nMacroDef) { diff --git a/modules/shared/lib/debugger.js b/modules/shared/lib/debugger.js index 0c303d1c9..babf5b866 100644 --- a/modules/shared/lib/debugger.js +++ b/modules/shared/lib/debugger.js @@ -689,9 +689,13 @@ class Debugger extends Component { value = Str.parseInt(sValue, this.nBase); } } - if (value == null && !fQuiet) this.println("invalid " + (sName? sName : "value") + ": " + sValue); + if (value == null && !fQuiet) { + this.println("invalid " + (sName? sName : "value") + ": " + sValue); + } } else { - if (!fQuiet) this.println("missing " + (sName || "value")); + if (!fQuiet) { + this.println("missing " + (sName || "value")); + } } return value; } diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 7047736a6..7968613f1 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -35,85 +35,85 @@ var ta={lc:0,Db:1,nc:2,oc:3,pc:4,qc:5,rc:6,sc:7,qb:8,tc:9,Eb:10,uc:11,vc:12,Fb:1 ad:88,bd:89,Hb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,cd:97,dd:98,ed:99,d:100,e:101,fd:102,kd:103,ld:104,md:105,nd:106,k:107,od:108,pd:109,n:110,qd:111,p:112,q:113,r:114,rd:115,t:116,td:117,ud:118,vd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Gb:127}; function ua(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e} -function wa(a,b,c){b?12"']/g,function(a){return Ea[a]})}function Fa(a,b){return(a+" ").slice(0,b)}function Ga(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ea={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ha(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} function Ja(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, -f,e))});if(b&&"object"==typeof b){var k="",n;for(n in b)b.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(b[n]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} +f,e))});if(b&&"object"==typeof b){var k="",p;for(p in b)b.hasOwnProperty(p)&&(k&&(k+="&"),k+=p+"="+encodeURIComponent(b[p]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} function Ka(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ha=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ha=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(q(d.Y[0]),d=null):(q("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ta=this.id:(this.Ua=this.id.substr(0,a),this.Ta=this.id.substr(a+1));this.A={ready:!1,Ma:!1,hb:!1,V:!1,error:!1};this.Xa=null;this.A.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.ta=null;kb.push(this)}function lb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function nb(){return Date.now()||+new Date} -function r(a){window&&window.alert(a)}function ob(a){var b=!1;window&&(b=window.confirm(a));return b}function pb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba?this.Ta=this.id:(this.Ua=this.id.substr(0,a),this.Ta=this.id.substr(a+1));this.A={ready:!1,Ma:!1,hb:!1,V:!1,error:!1};this.Xa=null;this.A.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.ta=null;lb.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date} +function q(a){window&&window.alert(a)}function pb(a){var b=!1;window&&(b=window.confirm(a));return b}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Vb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Nb,toggle:this.fc,reset:this.bc, -set:this.ec};Lb(this)}ma(ac,t);l=ac.prototype;l.reset=function(a){this.stop();a&&cc(this,this.w=0)}; +function ac(a,b){r.call(this,"Panel",a,512);this.K=this.L=0;this.T=b;this.i=this.I=this.u=this.w=0;this.M=this.O=-1;this.P=this.R=this.F=!1;this.S=bc;this.C={};this.b={START:[1,1,!0,!1,this.Wb],STEP:[1,1,!1,!1,this.Xb],ENABLE:[1,1,!1,!1,this.Rb],CONT:[1,1,!0,!1,this.Pb],DEP:[0,0,!0,!1,this.Qb],EXAM:[1,1,!0,!1,this.Sb],LOAD:[1,1,!0,!1,this.Ub],TEST:[0,0,!0,!1,this.Tb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Vb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Nb,toggle:this.fc,reset:this.bc, +set:this.ec};Lb(this)}ma(ac,r);l=ac.prototype;l.reset=function(a){this.stop();a&&cc(this,this.w=0)}; l.ja=function(a,b,c,d){if(this.G&&this.G.ja(a,b,c,d)||this.v&&this.v.ja(a,b,c,d)||this.D&&this.D.ja(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(){dc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ec(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){dc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ec(a,b)}}(this,b),!0):t.prototype.ja.call(this,a,b,c,d)}};l.Da=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;fc(this);gc(this)};l.ua=function(a,b){if(!b)if(this.T&&hc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.u]);return a.data()}; +function(a,b){return function(c){dc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ec(a,b)}}(this,b),!0):r.prototype.ja.call(this,a,b,c,d)}};l.Da=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;fc(this);gc(this)};l.ua=function(a,b){if(!b)if(this.T&&hc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.u]);return a.data()}; l.restore=function(a){if(a=a[0])ic(this,this.i=a[0]),cc(this,this.w=a[1]),jc(this,a[2]);return!0};l.bc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}gc(this);return!0};function kc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fc(a,b){for(var c in a.C)kc(a,c,null!=b?b:a.C[c])}function lc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gc(a){for(var b in a.b)lc(a,b,a.b[b][1])} l.Nb=function(a,b,c){if(dc(this,b)){if(c){var d=this;setTimeout(function(){ec(d,b);a&&a()},+c);return!1}ec(this,b)}return!0};l.ec=function(a,b){if("SR"==a)return jc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.fc=function(a){return dc(this,a)?(ec(this,a),!0):!1};function dc(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1} function ec(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Wb=function(a){a||this.v.A.N||(G(this.v,this.i),this.b[pc]&&this.b[pc][1]&&qc(this.v))};l.Xb=function(){};l.Rb=function(a){a||this.v.W()}; l.Pb=function(a){if(!a&&!this.v.A.N)if(this.b[pc]&&this.b[pc][1])qc(this.v);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),rc(a,0,null),Nb(a,!1);else try{var b=this.v.Qa(1);0c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.i;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Oa+=h.B-e,h.B=e,!0;if(e>=h.B+h.Oa){n=h.size-(e-k);n>f&&(n=f);h.Oa=e-h.B+n;e=k+16384;f-=n;g++;continue}}return Hc(Ic,e,f)}e=new zc(a,e,n,16384,d);Ec(e,a.D,h);a.b[g++]=e;e=k+16384;f-=n}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Jc[d]+" at "+wa(b)),!0):Hc(Kc,b,c)} -function xc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function wc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Fc(a){for(var b=0,c=[],d=0;dd.length){for(var e=0,f=Array(4096),g=0;g>>a.i;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Oa+=h.B-e,h.B=e,!0;if(e>=h.B+h.Oa){p=h.size-(e-k);p>f&&(p=f);h.Oa=e-h.B+p;e=k+16384;f-=p;g++;continue}}return Hc(Ic,e,f)}e=new zc(a,e,p,16384,d);Ec(e,a.D,h);a.b[g++]=e;e=k+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Jc[d]+" at "+wa(b)),!0):Hc(Kc,b,c)} +function xc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function wc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Fc(a){for(var b=0,c=[],d=0;d=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=ed(a)&&(a.ka=a.ma=-1,ad(a),a.W(),c=!0);c&&a.j(ed(a)+" cycles: checksum="+m(a.za))}} -l.ja=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.A.V)a=!0;else{var b=null,c,h=pb(a.id);for(c=0;c=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=ed(a)&&(a.ka=a.ma=-1,ad(a),a.W(),c=!0);c&&a.j(ed(a)+" cycles: checksum="+n(a.za))}} +l.ja=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.A.V)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;ca.aa/a.ba?b=1:d=!0;a.ea=b;b=a.bb*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&id(a.G)}tc(a,a.M);a.M=0;a.L=nb();a.P=0;gd(a);return d}function jd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function kd(a){for(var b=[],c=0;ca.aa/a.ba?b=1:d=!0;a.ea=b;b=a.bb*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&id(a.G)}tc(a,a.M);a.M=0;a.L=ob();a.P=0;gd(a);return d}function jd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function kd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ld(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c} -l.cc=function(){if(this.A.N){this.Va>=this.eb&&gd(this,!0);this.na=0;this.ya=nb();if(this.P){var a=this.ya-this.P;a>this.cb&&(this.L+=a,this.L>this.ya&&(this.L=this.ya))}try{do{var b=jd(this,this.A.La?1:this.Ba);try{this.Qa(b)}catch(e){if("number"!=typeof e)throw e;}b=ld(this,!0);this.na+=b;this.M+=b;uc(this,b);sc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ba;++this.fb>=md&&(this.G&&H(this.G,void 0),this.fb=0);break}}while(this.A.N)}catch(e){this.W();this.G&&this.G.stop(nb(),ed(this));Ib(this, -e.stack||e.message);return}if(this.A.N){a=setTimeout;b=this.xb;this.P=nb();var c=this.cb;this.na&&(c=Math.round(c*this.na/this.Ba));var c=c-(this.P-this.ya),d=this.P-this.L;d&&(this.aa=Math.round(this.M/(10*d))/100,864E5<=d&&(this.T=0,fd(this)));if(0>c||this.aac&&(this.L-=c),c=0;this.Va+=this.na;this.P+=c;a(b,c)}}}; -function qc(a,b){if(!Jb(a))if(a.A.N)a.j(a.toString()+" busy");else{fd(a);a.A.N=!0;a.A.$a=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&id(a.G,!0),a.G.start(a.L,ed(a)));a.D||a.status("Started");setTimeout(a.xb,0)}}l.Qa=function(){return 0};l.W=function(a){var b=!1;if(this.A.N){ld(this);tc(this,this.M);this.M=0;this.A.N=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(nb(),ed(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var hd=30,md=15,Yc=["power","reset"]; +l.cc=function(){if(this.A.N){this.Va>=this.eb&&gd(this,!0);this.na=0;this.ya=ob();if(this.P){var a=this.ya-this.P;a>this.cb&&(this.L+=a,this.L>this.ya&&(this.L=this.ya))}try{do{var b=jd(this,this.A.La?1:this.Ba);try{this.Qa(b)}catch(e){if("number"!=typeof e)throw e;}b=ld(this,!0);this.na+=b;this.M+=b;uc(this,b);sc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ba;++this.fb>=md&&(this.G&&H(this.G,void 0),this.fb=0);break}}while(this.A.N)}catch(e){this.W();this.G&&this.G.stop(ob(),ed(this));Ib(this, +e.stack||e.message);return}if(this.A.N){a=setTimeout;b=this.xb;this.P=ob();var c=this.cb;this.na&&(c=Math.round(c*this.na/this.Ba));var c=c-(this.P-this.ya),d=this.P-this.L;d&&(this.aa=Math.round(this.M/(10*d))/100,864E5<=d&&(this.T=0,fd(this)));if(0>c||this.aac&&(this.L-=c),c=0;this.Va+=this.na;this.P+=c;a(b,c)}}}; +function qc(a,b){if(!Jb(a))if(a.A.N)a.j(a.toString()+" busy");else{fd(a);a.A.N=!0;a.A.$a=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&id(a.G,!0),a.G.start(a.L,ed(a)));a.D||a.status("Started");setTimeout(a.xb,0)}}l.Qa=function(){return 0};l.W=function(a){var b=!1;if(this.A.N){ld(this);tc(this,this.M);this.M=0;this.A.N=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(ob(),ed(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var hd=30,md=15,Yc=["power","reset"]; function nd(a){var b=+a.model||1001;Xc.call(this,a,1E6);this.wb=b;this.Sa=+a.addrReset||0;this.Jb=od.bind(this);this.w=J.bind(this);this.wa=null;this.sb=[];this.A.complete=!1}ma(nd,Xc);l=nd.prototype;l.reset=function(){this.status("Model "+this.wb);this.A.N&&this.W();this.b=this.K=this.Ca=0;this.i=this.xa=this.Sa;this.I=this.qa=-1;this.F=this.u=0;this.gb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.i;this.C=0;this.f=this.Zb;this.g=this.jc;this.wa=null;$c(this);this.A.error=!1;Xc.prototype.reset.call(this)}; l.Bb=function(){return 0};l.save=function(){var a=new F(this);a.set(0,[this.b,this.K,this.Ca,this.i,this.qa,this.I,this.u,this.C,this.xa,this.va,this.Sa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,pd(this));a.set(4,kd(this));return a.data()}; l.restore=function(a){var b;b=a[0];ha();ca();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.b=b.next().value;this.K=b.next().value;this.Ca=b.next().value;this.i=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.u=b.next().value;this.C=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Sa=b.next().value;b=a[2];this.T=b[0];fd(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.i].f(a&16383,a)};l.jc=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b}; l.Qa=function(a){this.A.complete=!0;var b=this.D?rd(this.D)?1:this.A.$a?-1:0:0,c=a?this.A.$a?0:1:-1;this.A.$a=!1;this.R=this.S=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(sd(this.D,this.i,c)){this.W();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.wa||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&sd(this.D,this.i,c)){this.W();break}if(0>c)break}}this.C&=15;this.K&4194304?this.K=this.f(this.b):0<=this.qa?(this.K=this.Ca=this.f(this.qa),this.qa=-1):(this.K=this.Ca= -this.f(this.xa=this.i),this.i=(this.i+1)%Sb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Rb;a=this.K&4194304?-1:this.Ca/Yb|0;0<=a&&this.Jb(a)}while(0>4].call(this,a,a&15)}function K(a){this.w(a)} +this.f(this.xa=this.i),this.i=(this.i+1)%Sb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Rb;a=this.K&4194304?-1:this.Ca/Yb|0;0<=a&&this.Jb(a)}while(0>4].call(this,a,a&15)}function K(a){this.w(a)} function ud(){var a=0,b=this.f(this.b),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%D);this.g(this.b,b)}function vd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Zb&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}} function wd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Zb&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%D;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function xd(a,b){this.g(b,this.f(this.b))}function yd(a,b){this.g(b,this.b)}function zd(a,b){this.g(this.b,this.f(b))}function Ad(a,b){this.g(b,0)}function Bd(a,b){this.g(b,C-this.f(b))}function Rd(a,b){this.g(b,C)} -function Sd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Td(a,d,c)+(c-(c&y)))}function Ud(a,b){var c=this.f(b);this.g(b,Td(a,c,0))}function Vd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Td(a,c,b)+(b-(b&y)))}function Wd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&y,a){case 256:d+=y;break;case 384:d+=c>A?y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Xd(a,b){var c=(this.f(this.b)&y)*z,d=this.f(b);this.g(b,Td(a,d,c)+c)} -function Yd(a,b){var c=this.b*z,d=this.f(b);this.g(b,Td(a,d,c)+c)}function Zd(a,b){b=(this.f(b)&y)*z;var c=this.f(this.b);this.g(this.b,Td(a,c,b)+b)}function $d(a,b){var c=this.f(this.b),d=(c&y)*z,c=Td(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ae(a,b){var c=this.f(this.b)&y,d=this.f(b);this.g(b,be(a,d,c)+c)}function ce(a,b){var c=this.f(b);this.g(b,be(a,c,this.b)+this.b)}function de(a,b){b=this.f(b)&y;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)} -function ee(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=y,a){case 256:d+=y*z;break;case 384:d+=c>Tb?y*z:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function fe(a,b){var c=this.f(this.b)/z|0,d=this.f(b);this.g(b,be(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,be(a,c,0))}function he(a,b){b=this.f(b)/z|0;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)}function ie(a,b){var c=this.f(this.b),d=c/z|0,c=be(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function N(a){je[a&7].call(this,a,a>>3&127)} +function Sd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Td(a,d,c)+(c-(c&x)))}function Ud(a,b){var c=this.f(b);this.g(b,Td(a,c,0))}function Vd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Td(a,c,b)+(b-(b&x)))}function Wd(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>A?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Xd(a,b){var c=(this.f(this.b)&x)*z,d=this.f(b);this.g(b,Td(a,d,c)+c)} +function Yd(a,b){var c=this.b*z,d=this.f(b);this.g(b,Td(a,d,c)+c)}function Zd(a,b){b=(this.f(b)&x)*z;var c=this.f(this.b);this.g(this.b,Td(a,c,b)+b)}function $d(a,b){var c=this.f(this.b),d=(c&x)*z,c=Td(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ae(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,be(a,d,c)+c)}function ce(a,b){var c=this.f(b);this.g(b,be(a,c,this.b)+this.b)}function de(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)} +function ee(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*z;break;case 384:d+=c>Tb?x*z:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function fe(a,b){var c=this.f(this.b)/z|0,d=this.f(b);this.g(b,be(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,be(a,c,0))}function he(a,b){b=this.f(b)/z|0;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)}function ie(a,b){var c=this.f(this.b),d=c/z|0,c=be(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function N(a){je[a&7].call(this,a,a>>3&127)} function ke(){}function le(){}function J(a){this.j("undefined opcode: "+wa(a));qd(this,-1);this.W()}function me(a){a>A&&(a!=B?a=Vb-a:this.u|=163840);return a}function O(a,b){var c=(a+b)%D;ne.call(this,a,b,c);return c} function oe(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>A&&(c=D-c,d=!d);b>A&&(a?(b=C-b,a=D-a):b&&(b=D-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.gb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0b[0]&&(b[0]+=D,b[1]--),qe(this.gb,this.oa),re(this.pa)))break;se(this.ga);se(this.oa)}while(!re(this.oa)); a=this.gb[0];this.F=this.pa[0];d&&a&&(a=D-a);e&&this.F&&(this.F=D-this.F);return a} -function te(a,b,c){var d=a,e=b;b=!1;var f;d>A&&(d=D-d,b=!b);e>A&&(e=D-e,b=!b);if(dA)&&(f!=C||a<=A)&&(this.u|=131072),a;c=a;b=f;a=b-b%B;b=2*b%D+Math.trunc(c/B);c=a+c%B;d=b-b%B;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b} +function te(a,b,c){var d=a,e=b;b=!1;var f;d>A&&(d=D-d,b=!b);e>A&&(e=D-e,b=!b);if(dA)&&(f!=C||a<=A)&&(this.u|=131072),a;c=a;b=f;a=b-b%B;b=2*b%D+Math.trunc(c/B);c=a+c%B;d=b-b%B;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b} function ue(a){a?a==B?this.u|=163840:a=Vb-a:this.u|=98304;return a}function P(a,b){var c=a-b;0>c&&(c+=D);ne.call(this,c,b,a);return c}function ne(a,b,c){a=Math.trunc(a/Ub);b=Math.trunc(b/Ub);c=Math.trunc(c/Ub);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Q(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function R(a,b){return Q(a,(~(b/E|0)&15)*E+(~b>>>0))}function S(a,b){return(a>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function V(a){return a>>0)}function X(a){return(a/z|0)+(a&y)*z}function be(a,b,c){switch(a&384){case 0:b-=b&y;break;case 128:b=0;break;case 256:b=y*z;break;case 384:b=c>Tb?y*z:0}return b}function Td(a,b,c){switch(a&384){case 0:b&=y;break;case 128:b=0;break;case 256:b=y;break;case 384:b=c>A?y:0}return b} +function ve(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>>0)}function X(a){return(a/z|0)+(a&x)*z}function be(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*z;break;case 384:b=c>Tb?x*z:0}return b}function Td(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>A?x:0}return b} function qe(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=D&&(a[0]%=D,a[1]++)}function pe(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function se(a){a[1]%2&&(a[0]+=D);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function re(a){return!a[0]&&!a[1]} var td=[K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},ud,function(a,b){0>this.I&&ud.call(this);vd.call(this,0,b)},vd,function(a,b){0>this.I&&ud.call(this);wd.call(this,0,b)},wd,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)},xd,yd,zd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(b,a)},function(a,b){this.g(b,this.b*z)},function(a,b){a=this.f(b);a=(a/z|0)+(a&y)*z;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ue.call(this,this.f(this.b)))},function(a,b){this.g(b,ue.call(this,this.b))},function(a,b){this.g(this.b, +function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},xd,yd,zd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&x)*z;this.g(b,a)},function(a,b){this.g(b,this.b*z)},function(a,b){a=this.f(b);a=(a/z|0)+(a&x)*z;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&x)*z;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ue.call(this,this.f(this.b)))},function(a,b){this.g(b,ue.call(this,this.b))},function(a,b){this.g(this.b, ue.call(this,this.f(b)))},function(a,b){a=ue.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,me.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,me.call(this,this.f(b)))},function(a,b){a=me.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,te.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,te.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,te.call(this,this.f(b),this.f(this.b), !0))},function(a,b){this.g(this.b,this.g(b,te.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,te.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,te.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,te.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,te.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=oe.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=oe.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=oe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=oe.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=oe.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=oe.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))}, @@ -121,9 +121,9 @@ function(a,b){a=this.f(b);b=this.f(b+1&15);b=oe.call(this,b,a,this.f(this.b));0> this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%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<<14>>14)%256){var c=this.f(b),c=0=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>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0A&& dA&&eA&&(this.u|=131072):e-c<=A&&(this.u|=131072);e=0;f>A&&(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<=A?f+c>A&&(this.u|=131072):(f-c<=A&&(this.u|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d>A?C:0:Math.trunc(d%B/Math.pow(2,-a-35)),d<=A?d=0:(d=C,e+=B)):(c=d>A?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>A&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%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<<14>>14)%256){var c=this.f(b),d=this.f(b+ -1&15);0=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)}},J,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/z|0,c=c&y;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&y,c=c+1&y,this.A.N||(this.g(b,d* -z+c),a||qd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a=B&&G(this,this.b)},function(a){this.w(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,G(this,this.b))},function(){this.qa=this.b},J,function(a){this.w(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&y,this.f(this.b));a>=D&&(a-=D);a/z|0||(this.u|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&y);this.g(this.b,c);this.b==b&&(a=c);a-=262145; -0>a&&(a+=D);(a/z|0)==y&&(this.u|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.u&y)*z+this.i);G(this,this.b+1)},function(a,b){this.g(b,(this.u&y)*z+this.i);G(this,this.b)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){this.g(b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,O.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,O.call(this,this.f(b),this.f(this.b))))}, +1&15);0=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)}},J,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/z|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.N||(this.g(b,d* +z+c),a||qd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a=B&&G(this,this.b)},function(a){this.w(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,G(this,this.b))},function(){this.qa=this.b},J,function(a){this.w(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&x,this.f(this.b));a>=D&&(a-=D);a/z|0||(this.u|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&x);this.g(this.b,c);this.b==b&&(a=c);a-=262145; +0>a&&(a+=D);(a/z|0)==x&&(this.u|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.u&x)*z+this.i);G(this,this.b+1)},function(a,b){this.g(b,(this.u&x)*z+this.i);G(this,this.b)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){this.g(b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,O.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,O.call(this,this.f(b),this.f(this.b))))}, function(a,b){this.g(b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,P.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,P.call(this,this.f(b),this.f(this.b))))},ke,function(a,b){0>S(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){S(this.f(b),this.b)||G(this,this.i+1)},function(a,b){0>=S(this.f(b),this.b)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=S(this.f(b),this.b)&&G(this, this.i+1)},function(a,b){S(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))||G(this,this.i+1)},function(a,b){0>=S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))||G(this,this.b)},function(a,b){0>=V(this.f(b))&&G(this,this.b)},function(){G(this,this.b)},function(a,b){0<=V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))&&G(this,this.b)},function(a,b){0V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)||G(this,this.i+1);b&&this.g(b, @@ -148,37 +148,37 @@ b){G(this,this.i+1);this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){G(this, this.f(b);Q(a,this.b*z)||G(this,this.i+1);this.g(b,U(a,this.b*z))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&G(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); Q(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){G(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);Q(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N, N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],je=[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.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}]; -function we(a){t.call(this,"ROM",a,128);this.U=this.b=null;this.C=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=ya(this.w);if(this.w){a=this.w;var b=za(this.F);"json"!=b&&"hex"!=b&&(a=Pa()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(lb(c.Ua,a,b),(a=Ka(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);xe(c)})}}ma(we,t); +function we(a){r.call(this,"ROM",a,128);this.U=this.b=null;this.C=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=ya(this.w);if(this.w){a=this.w;var b=za(this.F);"json"!=b&&"hex"!=b&&(a=Pa()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(mb(c.Ua,a,b),(a=Ka(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);xe(c)})}}ma(we,r); we.prototype.Da=function(a,b,c,d){this.H=b;this.v=c;this.D=d;xe(this)};we.prototype.ua=function(){this.U&&(this.D&&ye(this.D,this.id,this.C,this.u,this.U),delete this.U);return!0};we.prototype.ia=function(){return!0}; -function xe(a){if(!Kb(a)){if(a.w){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ib(a,"ROM size ("+m(a.b.length,8,!0)+") does not match specified size ("+m(a.u,8,!0)+")");else{var b;b=a.C;if(Gc(a.H,b,a.u,Oc)){var c;for(c=0;c>>f.i;0>>= -f.i;0>>f.i;0>>= +f.i;0>>a.i;0g&&g>=-B&&(g+=D);for(var g=Math.trunc(Math.abs(g))%D,h=d;f--&&h=ta.pb&&c<=ta.Hb&&(b=c-(ta.pb-ta.Db));b&&(a.preventDefault&&a.preventDefault(),d.Ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.Fb&&(b=ta.Eb);d.Ya(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.Ya(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Da=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Lb(this)}; -l.Cb=function(a){if(!this.b){var b=Zc(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ga(c[0]);if(d!=this.Ta)return;c=Ga(c[1]);if(this.b=qb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.C=e.receiveData){this.u=a;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.Cb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.Cb=function(a){if(!this.b){var b=Zc(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ga(c[0]);if(d!=this.Ta)return;c=Ga(c[1]);if(this.b=rb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.C=e.receiveData){this.u=a;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.Cb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new F(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ya=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ga(b.substring(c,f))),c=f+1}}return a}function Ge(a,b){if(32>=a.Ea)b|=0;else if(a=Math.pow(2,a.Ea-1),b<-a||b>=a)b%=a;return b} function He(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=b.pop(),g=b.pop();switch(e){case "*":e=g*f;break;case "/":if(!f)return!1;e=g/f;break;case "%":if(!f)return!1;e=g%f;break;case "+":e=g+f;break;case "-":e=g-f;break;case "<<":e=g<>":e=g>>f;break;case ">>>":e=g>>>f;break;case "<":e=g":e=g>f?1:0;break;case ">=":e=g>=f?1:0;break;case "==":e=g==f?1:0;break;case "!=":e=g!=f?1:0;break;case "&":e= 32>=a.Ea?g&f:((g/Ie|0)&(f/Ie|0))*Ie+((g&f)>>>0);break;case "!":case "|":e=32>=a.Ea?g|f:(g/Ie|0|f/Ie|0)*Ie+((g|f)>>>0);break;case "^^":e=g^f;break;case "&&":e=g&&f?1:0;break;case "||":e=g||f?1:0;break;default:return!1}b.push(Ge(a,e))}return!0} -function Je(a,b,c){var d;b&&(b=Ke(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,T--;g=q+g;d>>=8}d=m(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} -function Oe(a,b){if(b)return Ne(a,b,a.K[b]);var c=0;for(b in a.K)Ne(a,b,a.K[b]),c++;return 0>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Me={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9},Ie=Math.pow(2,32); +function Ne(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4>=1,T--;g=t+g;d>>=8}d=n(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} +function Oe(a,b){if(b)return Ne(a,b,a.K[b]);var c=0;for(b in a.K)Ne(a,b,a.K[b]),c++;return 0>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Me={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9},Ie=Math.pow(2,32); function Pe(a){Ee.call(this,a);this.za=!1;this.xa=18;this.Ea=36;this.ma=["<",">"];this.la=[];this.ya=Y();this.L=Y(0);this.ga=Y(0);this.ba=Y(0);this.F=[];this.b=this.M=this.I=[];Qe(this);this.S=this.ka=0;this.i=[];this.qa=void 0;Re(this);this.D=this;this.na={};this.X=this.yb=0;this.T=null;this.P=[];Se(this,a.messages);this.wa=a.commands;this.O=0;this.Ca=this.va=null;this.C=this.Ba=this.Aa=this.fa=this.pa=0;this.oa=this.ea=this.aa=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return dd(b, a)}):void 0===global[v]&&(global[v]=function(a){return dd(b,a)})}ma(Pe,Ee);function Te(a){a=a&&a.B;null==a&&(a=-1);return a}function Y(a,b,c){return{B:void 0===a?null:a,Wa:void 0===b?!1:b,ha:!1,ca:c}}function Ue(a,b,c,d){a.B=b;a.Wa=c||!1;a.ha=!1;a.ca=d}function Ve(a){return[a.B,a.Wa,a.ha,a.ca,a.Za]}function We(a,b){var c=Y(b[0],b[1],b[2]);c.ha=b[3];b[4]&&(c.tb=Fe(a,c.Za=b[4]));return c}l=Pe.prototype; -l.Da=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;this.xa=b.F;(a=Zc(a,"messages"))&&Se(this,a);Xe(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Te(Ye(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.j("..."):(c=p.type,n=Jc[c],p&&d.j(m(p.id,8)+" %"+m(e<>>d.H.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,p=0;k--;){var m=b[e];m.type==c?p++||d.j("..."):(c=m.type,p=Jc[c],m&&d.j(n(m.id,8)+" %"+n(e<a&&a>=-B&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function af(a){return wa(a/Sb,6)+" "+wa(a%Sb,6)} function Se(a,b){a.D=a;a.X=a.yb=536870916;a.T=null;a.P=[];b=Fe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in $b){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>23&&a.v.xa==b&&(b=qd(a.v,1)));if(0d&&(d=a.v.f(b)),0<=d&&(Ue(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1} -function sf(a,b,c,d){var e=Y(b.B),f=a.Ga(b,1),g,h,k,n=0,p=f/Wb|0,q;for(q in tf)if(g=tf[q][p&q]){h=+q;p>>=6;switch(h){case 32512:k=uf;n=p&3;break;case 32256:k=vf;n=p&7;break;case 29248:k=wf,n=(p&48)>>2|(p&6)>>1}break}k=k&&k[n]||"";"S"==k&&g>xf&&(k="B");k=yf[g||0]+k;if(g){if(28700==h)h=f/Xb&127,n=I(a,h,-1);else if(h=f>>23&15,n=I(a,h,-1),h)for(p=0;p>18&15)&&(k+="("+I(a,f,-1)+")")}else k= -Fa(k,8)+af(f);f=k;g="";h=I(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ga(e,1),g+=" "+af(k),null==e.B)break;while(e.B!=b.B)}h+=Fa(g,16)+f;c&&(h=Fa(h,48)+";"+(c||""),h=a.v.A.La?h+("cycles="+ed(a.v).toString()+" cs="+m(a.v.za)):h+(null!=d?"="+d.toString():""));return h} -function bg(a,b,c,d){for(var e=-1,f,g,h=b.toUpperCase(),k=0;kxf&&(T="B");if(h==yf[g]+T){e=29248!=f?x:(x&3)<<1|(x&12)<<2;e=(q|e<<6)*Wb;break}}if(0<=e)break}if(0<=e)break}if(0<=e){if(c)for(b=c.split(","), -c=0;cq||127q||15q||262143q||15>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b>>d.i],!0);a.I=["bw"];a.pa=0;a.ka=0} -l.Ia=function(a,b,c){var d=!0;c||dg(this,a,b,!1,!0);if(a!=this.b){var e=Te(b);if(-1===e)this.j("invalid address: "+I(this,b.B)),d=!1;else{var f=this.H;f.b[e>>>f.i].Ia(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(eg(this,a,a.length-1,"set"),Re(this)));return d};function dg(a,b,c,d,e){var f=!1;c=Te(c);for(var g=1;g>>d.i],b==a.I));h.ha||Re(a);break}}return f} -function fg(a,b){for(var c=1;c>=6;switch(h){case 32512:k=uf;p=m&3;break;case 32256:k=vf;p=m&7;break;case 29248:k=wf,p=(m&48)>>2|(m&6)>>1}break}k=k&&k[p]||"";"S"==k&&g>xf&&(k="B");k=yf[g||0]+k;if(g){if(28700==h)h=f/Xb&127,p=I(a,h,-1);else if(h=f>>23&15,p=I(a,h,-1),h)for(m=0;m>18&15)&&(k+="("+I(a,f,-1)+")")}else k= +Fa(k,8)+af(f);f=k;g="";h=I(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ga(e,1),g+=" "+af(k),null==e.B)break;while(e.B!=b.B)}h+=Fa(g,16)+f;c&&(h=Fa(h,48)+";"+(c||""),h=a.v.A.La?h+("cycles="+ed(a.v).toString()+" cs="+n(a.v.za)):h+(null!=d?"="+d.toString():""));return h} +function Af(a,b,c,d){for(var e=-1,f,g,h=b.toUpperCase(),k=0;kxf&&(T="B");if(h==yf[g]+T){e=29248!=f?y:(y&3)<<1|(y&12)<<2;e=(t|e<<6)*Wb;break}}if(0<=e)break}if(0<=e)break}if(0<=e){if(c)for(b=c.split(","), +c=0;cm||127m||15m||262143m||15>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b>>d.i],!0);a.I=["bw"];a.pa=0;a.ka=0} +l.Ia=function(a,b,c){var d=!0;c||cg(this,a,b,!1,!0);if(a!=this.b){var e=Te(b);if(-1===e)this.j("invalid address: "+I(this,b.B)),d=!1;else{var f=this.H;f.b[e>>>f.i].Ia(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(eg(this,a,a.length-1,"set"),Re(this)));return d};function cg(a,b,c,d,e){var f=!1;c=Te(c);for(var g=1;g>>d.i],b==a.I));h.ha||Re(a);break}}return f} +function fg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,f=wa(d,2);Ue(e.ya,d);f+="="+I(e,e.Ga(e.ya),36)+" ";c+=f}if(b){b="";for(d=0;d=ff?1:d==df?23:18)+" "),b+=e;c+="\n"+b}return c}l.zb=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],q=Ha(p,k,a.zb);0>q&&p.splice(-(q+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.F.push({sd:b,B:c,Ob:d,U:e,ub:f})}function ig(a,b,c){var d=[],e=Te(b)>>>0;for(b=0;b>>0,h=f.Ob;if(e>=g&&e>>0,g],t=Ha(m,k,a.zb);0>t&&m.splice(-(t+1),0,k)}p&&(h.a=p.replace(/''/g,'"'))}a.F.push({sd:b,B:c,Ob:d,U:e,ub:f})}function ig(a,b,c){var d=[],e=Te(b)>>>0;for(b=0;b>>0,h=f.Ob;if(e>=g&&eb){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case cf:G(h, g);Ue(a.L,h.i);break;case ff:f=65536;break;case gf:f=32768;break;case hf:f=131072;break;case jf:f=32;break;case kf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);H(a.G);a.j("updated registers:")}}a.j(hg(a,e));c&&(Ue(a.L,d.i),qf(a,I(a,a.L.B)))}}function og(a,b){b=Ga(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.j(n)}h[3]&&(g=h[3],f=null);h=a.ba;n=b;h.B=n.B;h.Wa=n.Wa;h.ha=n.ha;h.ca=n.ca;a.j(sf(a,b,g,f));e-=b.B-k;c++}}} -function gg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(of+b):(a.R&&(a.j("ended assemble at "+I(a,a.ba.B)),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Kb(a)&&0p||"z"qa.length&&(a.j("note: only "+qa.length+" available"),ea=qa.length);ka-=ea;0>ka&&(null==qa[qa.length-1].B?(ea=ka+ea,ka=0):ka+=qa.length);var Fd= -[];"call"==Ef&&(yb=1E5,Fd=["CALL"]);for(void 0!==Df&&a.j(ea+" instructions earlier:");0=qa.length&&(ka=0);a.qa=ea;Gf++;yb--}}Gf||(a.j("no "+Ff+"history available"),a.qa=void 0)}else{var eb=Ye(a,da,a.ga);if(eb){var La=0,Jf="ds"==pa;if(Ba){if("l"==Ba.charAt(0))Ba=Ba.substr(1)||gh,La=Le(a,Ba);else{var Kf=Ye(a,Ba);Kf&& -(La=Kf.B-eb.B)}0>La&&(La=0);65536Of;Of++)Mf+=String.fromCharCode((Ac%64|0)+32),Ac/=64}Ma&&(Ma+="\n");Ma=Jf?Ma+(Na+","):Ma+(da+": "+Na+(0>Nf?" "+Mf:""))}Ma&&a.j(Ma);a.ca=ih}}}}break;case "e":if("else"==g[0])break;var Pf,Qf, -Rf=g[0],Id=g[1];"e"==Rf||"ew"==Rf?(Pf=a.Ga,Qf=a.rb):Id=null;if(null==Id)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Bc=Ye(a,Id,a.ga);if(Bc)for(var Jd=2;Jdh[0].indexOf("+"))){var p=h[0]+":";h[2]&&(p+=" "+h[2]);a.j(p)}h[3]&&(g=h[3],f=null);h=a.ba;p=b;h.B=p.B;h.Wa=p.Wa;h.ha=p.ha;h.ca=p.ca;a.j(sf(a,b,g,f));e-=b.B-k;c++}}} +function gg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(of+b):(a.R&&(a.j("ended assemble at "+I(a,a.ba.B)),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Kb(a)&&0m||"z"qa.length&&(a.j("note: only "+qa.length+" available"),ea=qa.length);ka-=ea;0>ka&&(null==qa[qa.length-1].B?(ea=ka+ea,ka=0):ka+=qa.length);var Fd= +[];"call"==Ff&&(yb=1E5,Fd=["CALL"]);for(void 0!==Ef&&a.j(ea+" instructions earlier:");0=qa.length&&(ka=0);a.qa=ea;Hf++;yb--}}Hf||(a.j("no "+Gf+"history available"),a.qa=void 0)}else{var fb=Ye(a,da,a.ga);if(fb){var La=0,Kf="ds"==pa;if(Ba){if("l"==Ba.charAt(0))Ba=Ba.substr(1)||gh,La=Le(a,Ba);else{var Lf=Ye(a,Ba);Lf&& +(La=Lf.B-fb.B)}0>La&&(La=0);65536Pf;Pf++)Nf+=String.fromCharCode((Ac%64|0)+32),Ac/=64}Ma&&(Ma+="\n");Ma=Kf?Ma+(Na+","):Ma+(da+": "+Na+(0>Of?" "+Nf:""))}Ma&&a.j(Ma);a.ca=ih}}}}break;case "e":if("else"==g[0])break;var Qf,Rf, +Sf=g[0],Id=g[1];"e"==Sf||"ew"==Sf?(Qf=a.Ga,Rf=a.rb):Id=null;if(null==Id)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Bc=Ye(a,Id,a.ga);if(Bc)for(var Jd=2;JdMd;){for(var Oa=null,mh=256;65536>Cb.B>>>0;){Nd.B=a.Ga(Cb,2);if(null==Cb.B||!mh--)break;if(!(Nd.B& -1)){for(var nh=a,Cc=Nd,Tf=null,Db=Cc.B,Uf=Db,Od=1;6>=Od&&Db;Od++){if(2$f)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update"); -else if(a.O)a.j("step in progress");else{var ag=Y(a.v.i);a.Ga(ag);a.O?(a.Ia(a.b,ag,!0),mf(a)||(a.G&&id(a.G),a.O=0)):pg(a,$f?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}pf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Fb=+g[2];if(8==Fb||10==Fb||16==Fb)a.ca=Fb;else{a.j("invalid base: "+Fb);break}}a.j("default base: "+a.ca);break;case "cs":var Gb;void 0!==g[3]&&(Gb=+g[3]);switch(g[2]){case "int":a.v.ka=Gb;break;case "start":a.v.Aa=Gb;break;case "stop":a.v.ma=Gb;break; +1)){for(var nh=a,Cc=Nd,Uf=null,Db=Cc.B,Vf=Db,Od=1;6>=Od&&Db;Od++){if(2ag)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update"); +else if(a.O)a.j("step in progress");else{var bg=Y(a.v.i);a.Ga(bg);a.O?(a.Ia(a.b,bg,!0),mf(a)||(a.G&&id(a.G),a.O=0)):pg(a,ag?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}pf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Fb=+g[2];if(8==Fb||10==Fb||16==Fb)a.ca=Fb;else{a.j("invalid base: "+Fb);break}}a.j("default base: "+a.ca);break;case "cs":var Gb;void 0!==g[3]&&(Gb=+g[3]);switch(g[2]){case "int":a.v.ka=Gb;break;case "start":a.v.Aa=Gb;break;case "stop":a.v.ma=Gb;break; default:a.j("unknown cs option");break a}void 0!==Gb&&ad(a.v);a.j("checksums "+(a.v.A.La?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(fd(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"), a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":pg(a,g[0],g[1]);break;case "u":qf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){mg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Qb||"PDP10")+" version 1.34.2 ("+a.v.wb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){og(a,b.substr(1));break}var Pd="commands:",Qd;for(Qd in rg)Pd+="\n"+Fa(Qd,9)+rg[Qd];rd(a)||(Pd+="\nnote: history disabled if no exec breakpoints"); -a.j(Pd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(cg){a.j("Debugger "+(cg.stack||cg.message)),d=!1}return d}function dd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!gg(a,b[+d]))return!1;return!0} +a.j(Pd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(dg){a.j("Debugger "+(dg.stack||dg.message)),d=!1}return d}function dd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!gg(a,b[+d]))return!1;return!0} var rg={"?":"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"},xf=20,yf=".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(" "), cf=0,df=1,ef=2,ff=3,gf=4,hf=5,jf=6,kf=7,bf="PC RA EA C0 C1 OV ND PD".split(" "),sg={},tf=(sg[28672]={0:101},sg[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},sg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:xf,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},sg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},sg[29248]={24576:79,24640:80,25088:81,25152:82},sg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},sg),uf=["","I","M","S"],vf=" L E LE A GE N G".split(" "),wf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),zf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],lf=1E3,of=">> ";$a(function(){for(var a=w(document,v,"debugger"),b=0;b([\s\S]*?)<\/pre>/gi;f=g.exec(b);){var h=f[1];0<=h.indexOf("&")&&(h=h.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&"));d+=h}(f=d.match(/&[a-z]+;/i))&& -e.j("warning"+(e.u?" at line "+xa(e.u):"")+": "+("unrecognized HTML entity: "+f[0]))}var x,T=d.split(/\r?\n/);for(x=0;xZ.Ea){b=bg(e.v,Z.Ka[0],Z.Ka[1],L);if(0>b){e.error("unable to parse instruction: "+Z.Ka[0]+" "+Z.Ka[1]);break}e.H[L++]+=b}else for(x=0;xf)b*=Math.pow(2,36-f);else{if(void 0===e.H[L]){e.error("undefined fixup location: "+wa(L,0,!0));break}e.H[L++]+=b;b=f=0}}}}catch(da){e.j(da.message),e.L=-1}e.v.K=c;c=e.L}e.done(e,a,c)})} -function tg(a,b){if(a.b){if(1==a.b){var c=b.indexOf(a.C);0<=c?(a.b++,b=b.substr(c+1)):a.error("expected "+a.F+" definition: "+b)}if(1=--f)break}0>f&&a.error("missing bracket(s): "+e);0<=k&&(g=e.substr(k,h-k));(e=g)&&(c=c.replace(e,zg(a,Ag,e)));f=null;if(e=c.match(/([A-Z$%.][0-9A-Z$%.]*)#/i))f=e[1],g="@"+f,a.w[g]={name:g,mb:0,vb:[],Ib:[],Ja:f+": 0"},a.D.push(g), -f=e[0];(e=f)&&(c=c.replace(e,e.slice(0,-1)));if(!wg(a,b,c))switch(b){case "":break;case "=":b=d;d=vg(a,c);void 0===d?a.error("parseExpression("+c+")"):yg(a,b,d);break;case Bg:case Cg:case Dg:xg(a,c);break;case Eg:Fg(a,0,Gg(a,c),18);break;case Hg:case Ig:case Jg:zg(a,b,c);break;case Kg:case Lg:break;default:d=b,e=c,f=bg(a.v,d),0<=f?(Fg(a,f,[d,e],-1),d=!0):d=!1,d||Fg(a,0,[b+c])}return!0} -function wg(a,b,c){var d=a.w[b];if(!d)return!1;if(null!=c)return b=",","("==c[0]&&(b+=")",c=c.substr(1)),c=Gg(a,c,b),ug(a,d.Ja,d.vb,c),!0;if("@"!=b[0])return!1;switch(b.substr(1)){case Ig:d.mb||ug(a,d.Ja);break;case Jg:for(;0p)break;var n=p+1,q=p+h.length;p&&f[p-1].match(/[0-9A-Z$%.]/i)||!(q>=f.length)&&f[q].match(/[0-9A-Z$%.]/i)||(f=f.substr(0,p)+k+f.substr(q),n=p+k.length)}if(!tg(a,f))break}}lg.prototype.error=function(a){throw Error("error"+(this.u?" at line "+xa(this.u):"")+": "+a);}; -function Mg(a,b,c){c=void 0===c?",":c;for(var d=0,e=null,f=0;d"==g&&0>--f){a.error("missing bracket(s): "+b);break}d++}f?0d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.i=null);a.G+=b}if(null==a.i){var d=b=0,e,f,g=a.G.length;a.F==Cg&&g++;for(var h=0;h=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Fg(a,d),b=0)}b&&Fg(a,d)}return c} -function zg(a,b,c){var d,e,f;a.C="<";a.J=">";if(b==Hg){d=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);if(!d)return a.error("unrecognized "+b+" definition: "+c),"";b=d[1];c=d[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);e=-1;f=3}else if(b==Ag)a.C="[",a.J="]",b="@"+xa(a.Fa,5),a.D.push(b),d=[c[0],c.substr(1)],c=[],e=a.u,f=0;else{e=Mg(a,c);if(!e)return a.error("missing "+b+" expression: "+c),"";c=c.substr(e.length+1);e=e.trim();d=c.match(/\s*(<|)(.*)/i);b="@"+b;c=[];e=vg(a,e)||0;f=1}b=b.toUpperCase(); +28692:98,28696:99,28700:100},sg),uf=["","I","M","S"],vf=" L E LE A GE N G".split(" "),wf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),zf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],lf=1E3,of=">> ";$a(function(){for(var a=w(document,v,"debugger"),b=0;b([\s\S]*?)<\/pre>/gi;f=g.exec(b);){var h=f[1];0<=h.indexOf("&")&&(h=h.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&"));d+=h}(f=d.match(/&[a-z]+;/i))&& +e.j("warning"+(e.u?" at line "+xa(e.u):"")+": "+("unrecognized HTML entity: "+f[0]))}var y,T=d.split(/\r?\n/);for(y=0;yZ.Ea){b=Af(e.v,Z.Ka[0],Z.Ka[1],L);if(0>b){e.error("unable to parse instruction: "+Z.Ka[0]+" "+Z.Ka[1]);break}e.H[L++]+=b}else for(h=0;hf)b*=Math.pow(2,36-f);else{if(void 0===e.H[L]){e.error("undefined fixup location: "+wa(L,0,!0));break}e.H[L++]+=b;b=f=0}}}}catch(da){e.j(da.message),e.L=-1}e.v.K=c;c=e.L}e.done(e,a,c)})} +function tg(a,b){if(a.b){if(1==a.b){var c=b.indexOf(a.C);0<=c?(a.b++,b=b.substr(c+1)):a.error("expected "+a.F+" definition: "+b)}if(1=--f)break}0>f&&a.error("missing bracket(s): "+e);0<=k&&(g=e.substr(k,h-k));(e=g)&&(c=c.replace(e,zg(a,Ag,e)));f=null;if(e=c.match(/([A-Z$%.][0-9A-Z$%.]*)#/i))f=e[1],g="_"+f,a.w[g]={name:g,mb:0,vb:[],Ib:[],Ja:f+": 0"},a.G.push(g), +f=e[0];(e=f)&&(c=c.replace(e,e.slice(0,-1)));if(!wg(a,b,c))switch(b){case "":break;case "=":b=d;d=vg(a,c);void 0===d?a.error("parseExpression("+c+")"):yg(a,b,d);break;case Bg:case Cg:case Dg:xg(a,c);break;case Eg:Fg(a,0,Gg(a,c),18);break;case Hg:case Ig:case Jg:zg(a,b,c);break;case Kg:case Lg:break;default:d=b,e=c,f=Af(a.v,d),0<=f?(Fg(a,f,[d,e],-1),d=!0):d=!1,d||Fg(a,0,[b+c])}return!0} +function wg(a,b,c){var d=a.w[b];if(!d)return!1;if(null!=c)return b=",","("==c[0]&&(b+=")",c=c.substr(1)),c=Gg(a,c,b),ug(a,d.Ja,d.vb,c),!0;if("_"!=b[0])return!1;switch(b.substr(1)){case Ig:d.mb||ug(a,d.Ja);break;case Jg:for(;0m)break;var p=m+1,t=m+h.length;m&&f[m-1].match(/[0-9A-Z$%.]/i)||!(t>=f.length)&&f[t].match(/[0-9A-Z$%.]/i)||(f=f.substr(0,m)+k+f.substr(t),p=m+k.length)}if(!tg(a,f))break}}lg.prototype.error=function(a){throw Error("error"+(this.u?" at line "+xa(this.u):"")+": "+a);}; +function Mg(a,b,c){c=void 0===c?",":c;for(var d=0,e=null,f=0;d"==g&&0>--f){a.error("missing bracket(s): "+b);break}d++}f?0d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.i=null);a.D+=b}if(null==a.i){var d=b=0,e,f,g=a.D.length;a.F==Cg&&g++;for(var h=0;h=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Fg(a,d),b=0)}b&&Fg(a,d)}return c} +function zg(a,b,c){var d,e,f;a.C="<";a.J=">";if(b==Hg){d=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);if(!d)return a.error("unrecognized "+b+" definition: "+c),"";b=d[1];c=d[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);e=-1;f=3}else if(b==Ag)a.C="[",a.J="]",b="_"+xa(a.Fa,5),a.G.push(b),d=[c[0],b+": "+c.substr(1)],c=[],e=a.u,f=0;else{e=Mg(a,c);if(!e)return a.error("missing "+b+" expression: "+c),"";c=c.substr(e.length+1);e=e.trim();d=c.match(/\s*(<|)(.*)/i);b="_"+b;c=[];e=vg(a,e)||0;f=1}b=b.toUpperCase(); a.b=1;var g="";d[f]&&(a.b=2,g=d[f+1],g.slice(-1)==a.J&&(a.b=0,g=g.slice(0,-1)));a.w[b]={name:b,mb:e,vb:c,Ib:[],Ja:g};a.b?a.K=b:wg(a,b);return b}function yg(a,b,c,d){var e,f;d=void 0===d?!1:d;e=void 0===e?!1:e;f=void 0===f?!1:f;b=b.toUpperCase().substr(0,6);d&&a.M[b]?a.error("label "+b+" redefined"):(a.M[b]={name:b,value:c,hd:d,gd:e,jd:f},a.v.K[b]=c)}function Fg(a,b,c,d){a.H[a.Fa]=b;c&&a.I.push({Fa:a.Fa,Ka:c,Ea:void 0===d?36:d});a.Fa++} var Bg="ASCII",Cg="ASCIZ",Hg="DEFINE",Ig="IFE",Ag="LITERAL",Kg="PAGE",Jg="REPEAT",Dg="SIXBIT",Lg="SUBTTL",Eg="XWD"; -function Ng(a,b,c){t.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;Og(this,b);this.O=Zc(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.T=!1;this.I=this.C=null;this.S=this.P=!1;this.ba=Zc(this,"url")||"";(Math.random()+.1).toString(36);this.i=Pg(this);if(this.v=rb("CPU",this.id)){this.D=rb("Debugger",this.id);this.H=new yc({id:this.Ua+".bus",busWidth:this.aa},this.v,this.D);var d,e=pb(this.id);if((this.u=rb("Panel",this.id))&&this.u.ta)for(b= +function Ng(a,b,c){r.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;Og(this,b);this.O=Zc(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.T=!1;this.I=this.C=null;this.S=this.P=!1;this.ba=Zc(this,"url")||"";(Math.random()+.1).toString(36);this.i=Pg(this);if(this.v=sb("CPU",this.id)){this.D=sb("Debugger",this.id);this.H=new yc({id:this.Ua+".bus",busWidth:this.aa},this.v,this.D);var d,e=qb(this.id);if((this.u=sb("Panel",this.id))&&this.u.ta)for(b= 0;b\nLicense: GPL version 3 or later ");for(b=0;bQg){if(Rg(d,this.L)){this.C=new F(this,"1.34.2",$g);Rg(this.C)&&(ah(this,d),a=bh,ch(this.C));this.C.set(Xg,Ia());dh(this.C);var e=this.b&&!this.K;if(a==Yg||ob("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=Wg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Rg(d,g):("error"==f&&"no machine state"!= -g?(this.da("Error: "+g),"unable to verify user"==g&&(Ta(eh,""),this.i=null)):this.j(f+": "+g),ch(d),Rg(d)?(c=Wg(d),e=!0):c=!1))}e&&Ug(this,c?d:null)}else a==bh&&d.clear()}else Ug(this);delete this.L;delete this.I}e=pb(this.id);for(f=0;fQg){if(Rg(d,this.L)){this.C=new F(this,"1.34.2",$g);Rg(this.C)&&(ah(this,d),a=bh,ch(this.C));this.C.set(Xg,Ia());dh(this.C);var e=this.b&&!this.K;if(a==Yg||pb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=Wg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Rg(d,g):("error"==f&&"no machine state"!= +g?(this.da("Error: "+g),"unable to verify user"==g&&(Ta(eh,""),this.i=null)):this.j(f+": "+g),ch(d),Rg(d)?(c=Wg(d),e=!0):c=!1))}e&&Ug(this,c?d:null)}else a==bh&&d.clear()}else Ug(this);delete this.L;delete this.I}e=qb(this.id);for(f=0;fa[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(fh(this,this.v,b,c,a),H(this,-2),this.v.Z());this.P&&(ah(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0}; -function ah(a,b){if(ob("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ja("http://www.pcjs.org/api/v1/report",d,!0)}} -function qg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.2"),g=new F(a,"1.34.2",Vg),h=Ia();g.set(Xg,h);f.set(Xg,h);f.set(qh,"1.34.2");f.set(rh,window?window.location.href:null);f.set(sh,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.A.Z=a.v.A.N),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=pb(a.id),k=0;k=d||30<=(c.ab+=d))&&(e.textContent=c.A.N?c.aa.toFixed(2)+"Mhz":"Stopped",c.ab=0)}if(a.u&&(a=a.u,b=b||0,a.L)){c=a.v.A.N;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.ca||8,e=e||0,e=8==f?wa(e,void 0):m(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0=d||30<=(c.ab+=d))&&(e.textContent=c.A.N?c.aa.toFixed(2)+"Mhz":"Stopped",c.ab=0)}if(a.u&&(a=a.u,b=b||0,a.L)){c=a.v.A.N;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.ca||8,e=e||0,e=8==f?wa(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:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ja(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],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[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]*/, +function yh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ja(a,null,!0,function(h,k,p){p?(k||(k="unable to load "+a+" ("+p+")"),g(k,null)):zh(k,a,b,c,d,e,f,g)})} +function zh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(mb(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]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ja(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],p,m=/( [a-z]+=)(['"])(.*?)\2/g;p=m.exec(f);)k=0>k.indexOf(p[1])?k.replace(">",p[0]+">"):k.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[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);Ah(a,b,c)}})}else c(a,null)} -function Bh(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=Da(a))}function g(a){f("Error: "+a);n&&(--xh||gb(!0));n=!1}var h,k,n=!0;xh++;mb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],x=document.createElement("style");x.type="text/css";x.styleSheet?x.styleSheet.cssText=p:x.appendChild(document.createTextNode(p));q.appendChild(x)}d|| -(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,k){k?yh(d,null,a,null,!1,f,function(a,e){e?(lb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--xh||gb(!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),--xh|| -gb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?yh(c,b,a,e,!0,f,p):zh(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(T){g(T.message)}return n}window.embedPDP10=function(a,b,c,d){gb(!1);return Bh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){gb(!1);return Bh("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="",n=null,p=0;p