Added some more disk configurations
This commit is contained in:
parent
16f91fec4a
commit
b730b915bf
31 changed files with 1002 additions and 963 deletions
|
|
@ -1008,7 +1008,7 @@
|
|||
<xsl:variable name="type">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@type"><xsl:value-of select="@type"/></xsl:when>
|
||||
<xsl:otherwise>xt</xsl:otherwise>
|
||||
<xsl:otherwise>XT</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:call-template name="component">
|
||||
|
|
|
|||
|
|
@ -21009,7 +21009,7 @@ class DebuggerPDP10 extends Debugger {
|
|||
*
|
||||
* Which means that an instruction like this (where AC is zero):
|
||||
*
|
||||
* 8839 037653 205 00 0 00 400000 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
|
||||
* 8839 037653 205 00 0 00 400000 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
|
||||
*
|
||||
* produces an instruction that does NOT use indexing at all, even though it is coded as such. So my
|
||||
* simplistic masking of the index operand with PDP10.OPCODE.X_MASK, while logical, was completely wrong:
|
||||
|
|
@ -21063,7 +21063,7 @@ class DebuggerPDP10 extends Debugger {
|
|||
/*
|
||||
* I came across what I believe is a typo in the DEC "DAKAC" diagnostic:
|
||||
*
|
||||
* CAME [0,-1] ;PASS TEST IF C(AC)=0,,-1
|
||||
* CAME [0,-1] ;PASS TEST IF C(AC)=0,,-1
|
||||
*
|
||||
* Based on the comment, it's clear what they really meant was either "[0,,-1]" or "[XWD 0,-1]".
|
||||
* However, they still got the desired result, which means when the assembler parses an mnemonic-less
|
||||
|
|
|
|||
|
|
@ -244,164 +244,162 @@ h.read=function(a,b){var c=-1;if(a&&b<a.length){c=a.data;var d=b>>2;c=(d<c.lengt
|
|||
function ti(a,b){var c=a.ka*a.ea,d=b/c|0;return d<a.ba?(b%=c,a.seek(d,b/a.ea|0,b%a.ea+1)):null}function ui(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}
|
||||
h.save=function(){var a=0,b=[];b[a++]=[this.Oa,this.i,this.ba,this.ka,this.ea,this.ua];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.La){for(var k=[],l=0,m=g.Ua,n=g.Ua+g.La;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ua,k]}}return b};
|
||||
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
|
||||
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Ua=e;for(k.La=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.T("Unable to restore disk '"+this.Wa+": "+c);return b};
|
||||
h.toJSON=function(){var a=0;for(var b;b=ti(this,a++);)vi(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
||||
function vi(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var oi=0;function wi(a,b,c,d,e,f){x.call(this,a,b,c);this.N=xi(this,b.autoMount);this.M=0;this.R=d;this.S=e;this.U=f;this.P=d.Yc;this.g=Array(this.P);this.O=!Ua("Mobi")&&window&&"FileReader"in window;this.B=[];this.Qa=null;this.exports={bootDisk:this.le,loadDisk:this.Ad,selectDrive:this.kh,wait:this.oh}}q(wi,x);
|
||||
function xi(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=wi.prototype;
|
||||
h.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.H[b]=c,c.onchange=function(){yi(d)},!0;case "descDisk":case "listDrives":return this.H[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&zi(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Ad()},!0;case "bootDisk":return this.H[b]=c,c.onclick=function(){d.le()},!0;case "saveDisk":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.onclick=function(){var a=d.H.listDrives;if(a&&a.options&&d.g)if(a=
|
||||
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Ua=e;for(k.La=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.T("Unable to restore disk '"+this.Wa+": "+c);return b};var oi=0;
|
||||
function vi(a,b,c,d,e,f){x.call(this,a,b,c);this.N=wi(this,b.autoMount);this.M=0;this.R=d;this.S=e;this.U=f;this.P=d.Yc;this.g=Array(this.P);this.O=!Ua("Mobi")&&window&&"FileReader"in window;this.B=[];this.Qa=null;this.exports={bootDisk:this.le,loadDisk:this.Ad,selectDrive:this.kh,wait:this.oh}}q(vi,x);function wi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){w(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=vi.prototype;
|
||||
h.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.H[b]=c,c.onchange=function(){xi(d)},!0;case "descDisk":case "listDrives":return this.H[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&yi(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Ad()},!0;case "bootDisk":return this.H[b]=c,c.onclick=function(){d.le()},!0;case "saveDisk":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.onclick=function(){var a=d.H.listDrives;if(a&&a.options&&d.g)if(a=
|
||||
d.g[ta(a.value,10)||0])if(a=a.da){for(var b="",c=0,k;k=ti(a,c++);)for(var l=0,m=k.length;l<m;l++)b+=String.fromCharCode(ui(a,k,l));b=btoa(b);a=a.Ed.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.Ad(za(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||
h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;if(a=xi(this,qe(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.Qa=yd(this.f,this.R.td,this.R.pd,this.ia);mc(b,this,this.U);oc(b,this.reset.bind(this));Ai(this,"None",aj,!0);this.O&&Ai(this,"Local Disk",cj);Ai(this,"Remote Disk",dj);ej(this)||D(this)};
|
||||
h.Ca=function(a,b){if(!b){if(!a){if(this.reset(),this.J.N){this.B=[];for(a=0;a<this.g.length;a++)fj(this,a,!0);ej(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].Oc||"---";a.appendChild(c)}0<this.P&&(a.value="0",zi(this,0))}}return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.Ab();gj(this)};
|
||||
h.save=function(){var a=new G(this);a.set(0,this.Pc());a.set(1,hj(this));a.set(2,ij(this));return a.data()};h.restore=function(a){var b=!0;this.Ab(a[0])||(b=!1);var c=a[1];c&&(this.B=c);gj(this,a[2])||(b=!1);return b};h.Ab=function(){return!0};h.Pc=function(){return[]};
|
||||
function gj(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;var g=a.S,k=b&&b[c],l=0;f.Qb=d;f.name=e.Wc;f.Kc=f.Nb=!1;f.fc=null;f.yd=!0;f.Oc=g[l++]+d;f.ba=g[l++];f.ka=g[l++];f.ea=g[l++];f.ua=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.je=1;f.Bf=f.ea;f.ve=f.ua;f.Ck=0;f.Kk=null;f.da||(f.Oa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.g[d],fj(e,d,!0),g.Nb=!0,d=new ni(e,g,"preload"),e.ne(g,d,f,k,!0)):jj(e,d,l,g,!0)?f.da&&g&&kj(e,
|
||||
l,g,f.da):D(e,!1))}return!0}function ij(a){for(var b=[],c=0;c<a.g.length;c++){var d=a.g[c];b.push([d.Nb,d.Wa,d.Oa])}return b}function hj(a){for(var b=0;b<a.g.length;b++){var c=a.g[b];c.da&&lj(a,c.Oa,c.da)}return a.B}
|
||||
function ej(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=za(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)){!jj(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.Ad=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)&&ta(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 fj(this,d),!0;if(b==cj)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==dj){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=za(b);this.status("Attempting to load "+b+' as "'+
|
||||
a+'"')}jj(this,d,a,b,!1,c);return!0};h.le=function(){var a,b=this.H.listDrives;b=b&&ta(b.value,10);if(null==b||0>b||b>=this.g.length||!(a=this.g[b]))return this.T("Unable to boot the selected drive"),!1;if(!a.da)return this.T("Load a disk into the drive first"),!1;Je(this.f,0,!0,b);return(a=this.Rb(a,a.Jf,a.Kf,a.Lf,a.Cf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0};
|
||||
function jj(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Oa.toLowerCase()!=d.toLowerCase()&&(g++,fj(a,b,!0),k.Kc?a.T(a.type+" busy"):(k.Kc=!0,e&&(k.xd=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Nb=!!f,qi(new ni(a,k,"preload"),c,d,f,a.ne)&&g++));return g}
|
||||
h.ne=function(a,b,c,d,e){a.Kc=!1;b&&(b.ba>a.ba||b.ka>a.ka)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Qb].Oc||"---")),b=null);b?(a.da=b,a.Wa=c,a.Oa=d,this.we(a.Qb),kj(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Qb].Oc||"---"),a.xd||e),this.J&&Ae(this.J)):a.Nb=!1;a.xd&&(a.xd=!1,--this.M||D(this));zi(this,a.Qb);a.fc&&(a.fc(),a.fc=null)};
|
||||
function Ai(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 zi(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(ta(a.options[c].value,10)==e.Qb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=ta(a.value,10);e=e.Nb?cj:e.Oa;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.kh=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=ta(b.options[d].value,10);if(0<=e)return zi(this,e,!0)}return!1};
|
||||
function yi(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.oh=function(a){for(var b=0;b<this.g.length;b++){var c=this.g[b];if(c&&c.Kc)return c.fc||(c.fc=a),!1}return!0};
|
||||
function fj(a,b,c){var d=a.g[b];if(d.da||!1===c)lj(a,d.Oa,d.da),d.Wa="",d.Oa="",d.da=null,d.Nb=!1,c||(a.T("Drive "+(a.g[b].Oc||"---")+" unloaded",c),zi(a,b))}function kj(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 lj(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.we=function(){};h.Rb=function(){return-1};h.Tc=function(){return-1};var aj="",cj="?",dj="??";
|
||||
function N(a){wi.call(this,"RK11",a,65536,Xb,Xb.Ec,mj);this.G=this.i=this.b=this.w=this.u=this.j=this.C=0}q(N,wi);h=N.prototype;h.Ab=function(a){a||(a=[nj.Ec|nj.ce|nj.Zd,0,R.Ya,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.Pc=function(){return[this.G,this.i,this.b,this.w,this.u,this.j,this.C]};
|
||||
h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;if(a=wi(this,qe(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.Qa=yd(this.f,this.R.td,this.R.pd,this.ia);mc(b,this,this.U);oc(b,this.reset.bind(this));zi(this,"None",$i,!0);this.O&&zi(this,"Local Disk",bj);zi(this,"Remote Disk",cj);dj(this)||D(this)};
|
||||
h.Ca=function(a,b){if(!b){if(!a){if(this.reset(),this.J.N){this.B=[];for(a=0;a<this.g.length;a++)ej(this,a,!0);dj(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].Oc||"---";a.appendChild(c)}0<this.P&&(a.value="0",yi(this,0))}}return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.Ab();fj(this)};
|
||||
h.save=function(){var a=new G(this);a.set(0,this.Pc());a.set(1,gj(this));a.set(2,hj(this));return a.data()};h.restore=function(a){var b=!0;this.Ab(a[0])||(b=!1);var c=a[1];c&&(this.B=c);fj(this,a[2])||(b=!1);return b};h.Ab=function(){return!0};h.Pc=function(){return[]};
|
||||
function fj(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;var g=a.S,k=b&&b[c],l=0;f.Qb=d;f.name=e.Wc;f.Kc=f.Nb=!1;f.fc=null;f.yd=!0;f.Oc=g[l++]+d;f.ba=g[l++];f.ka=g[l++];f.ea=g[l++];f.ua=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.je=1;f.Bf=f.ea;f.ve=f.ua;f.Ck=0;f.Kk=null;f.da||(f.Oa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.g[d],ej(e,d,!0),g.Nb=!0,d=new ni(e,g,"preload"),e.ne(g,d,f,k,!0)):ij(e,d,l,g,!0)?f.da&&g&&jj(e,
|
||||
l,g,f.da):D(e,!1))}return!0}function hj(a){for(var b=[],c=0;c<a.g.length;c++){var d=a.g[c];b.push([d.Nb,d.Wa,d.Oa])}return b}function gj(a){for(var b=0;b<a.g.length;b++){var c=a.g[b];c.da&&kj(a,c.Oa,c.da)}return a.B}
|
||||
function dj(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=za(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)){!ij(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.Ad=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)&&ta(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 ej(this,d),!0;if(b==bj)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==cj){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=za(b);this.status("Attempting to load "+b+' as "'+
|
||||
a+'"')}ij(this,d,a,b,!1,c);return!0};h.le=function(){var a,b=this.H.listDrives;b=b&&ta(b.value,10);if(null==b||0>b||b>=this.g.length||!(a=this.g[b]))return this.T("Unable to boot the selected drive"),!1;if(!a.da)return this.T("Load a disk into the drive first"),!1;Je(this.f,0,!0,b);return(a=this.Rb(a,a.Jf,a.Kf,a.Lf,a.Cf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0};
|
||||
function ij(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Oa.toLowerCase()!=d.toLowerCase()&&(g++,ej(a,b,!0),k.Kc?a.T(a.type+" busy"):(k.Kc=!0,e&&(k.xd=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Nb=!!f,qi(new ni(a,k,"preload"),c,d,f,a.ne)&&g++));return g}
|
||||
h.ne=function(a,b,c,d,e){a.Kc=!1;b&&(b.ba>a.ba||b.ka>a.ka)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Qb].Oc||"---")),b=null);b?(a.da=b,a.Wa=c,a.Oa=d,this.we(a.Qb),jj(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Qb].Oc||"---"),a.xd||e),this.J&&Ae(this.J)):a.Nb=!1;a.xd&&(a.xd=!1,--this.M||D(this));yi(this,a.Qb);a.fc&&(a.fc(),a.fc=null)};
|
||||
function zi(a,b,c,d){if((a=a.H.listDisks)&&a.options){for(var e=0;e<a.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 yi(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(ta(a.options[c].value,10)==e.Qb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=ta(a.value,10);e=e.Nb?bj:e.Oa;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.kh=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=ta(b.options[d].value,10);if(0<=e)return yi(this,e,!0)}return!1};
|
||||
function xi(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.oh=function(a){for(var b=0;b<this.g.length;b++){var c=this.g[b];if(c&&c.Kc)return c.fc||(c.fc=a),!1}return!0};
|
||||
function ej(a,b,c){var d=a.g[b];if(d.da||!1===c)kj(a,d.Oa,d.da),d.Wa="",d.Oa="",d.da=null,d.Nb=!1,c||(a.T("Drive "+(a.g[b].Oc||"---")+" unloaded",c),yi(a,b))}function jj(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 kj(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.we=function(){};h.Rb=function(){return-1};h.Tc=function(){return-1};var $i="",bj="?",cj="??";
|
||||
function N(a){vi.call(this,"RK11",a,65536,Xb,Xb.Ec,lj);this.G=this.i=this.b=this.w=this.u=this.j=this.C=0}q(N,vi);h=N.prototype;h.Ab=function(a){a||(a=[mj.Ec|mj.ce|mj.Zd,0,R.Ya,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.Pc=function(){return[this.G,this.i,this.b,this.w,this.u,this.j,this.C]};
|
||||
h.Rb=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null;a||(m=S.Td,e=0);for(;e;){if(!n){if(b>=a.ba){m=S.Cc;break}n=a.seek(b,c,d+1);if(!n){m=S.be;break}var t=0;++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b))}var r,p;if(0>(r=a.read(n,t++))||0>(p=a.read(n,t++))){m=S.Dc;break}if(!k&&(Kc(this.F,Ye(this.f,f),r|p<<8),ud(this.F))){m=S.bc;break}t>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
||||
h.Tc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null;a||(m=S.Td,e=0);for(;e;){var t=Mc(this.F,Ye(this.f,f));if(ud(this.F)){m=S.bc;break}if(!n){if(b>=a.ba){m=S.Cc;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.be;break}var r=0;++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b))}if(k){var p,z;if(0>(p=a.read(n,r++))||0>(z=a.read(n,r++))){m=S.Dc;break}if(t!=(p|z<<8)){m=S.fe;break}}else if(!a.write(n,r++,t&255)||!a.write(n,r++,t>>8)){m=S.Dc;break}r>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
||||
h.$e=function(a,b,c,d,e,f){this.u=f&65535;this.b=this.b&~R.Hb|f>>16-R.ma.Hb&R.Hb;this.w=65536-e&65535;this.j=this.j&~oj.qd|d&oj.qd;this.i|=a;pj(this);return!0};function pj(a){a.b&=~R.fb;a.i&&(a.i|=S.Je,a.b|=R.fb,a.i&S.cd&&(a.b|=R.cd),E(a)&&F(a,a.type+": ERROR: "+u(a.i)))}h.Cg=function(){return this.G};h.Uh=function(){};h.Dg=function(){return this.i};h.Vh=function(){};h.zg=function(){return this.b&R.cc};
|
||||
h.Rh=function(a){this.b=this.b&~R.Sa|a&R.Sa;if(this.b&R.ac){a=!0;var b,c="",d=(this.j&oj.qb)>>oj.ma.qb,e=this.g[d];this.b&=~(R.Ya|R.rd);this.i&=~S.rf;switch(b=this.b&R.wa){case qj.Ee:E(this)&&F(this,this.type+": CRESET("+d+")",!0);this.i=this.j=0;this.b=R.Ya;break;case qj.Ve:c="RCHK";case qj.rb:c||(c="READ");var f=this.Rb;case qj.ud:c||(c="WCHK");case qj.ec:c||(c="WRITE");f||(f=this.Tc);var g=(this.j&oj.Zb)>>oj.ma.Zb;var k=(this.j&oj.fd)>>oj.ma.fd;var l=this.j&oj.qd;var m=65536-this.w&65535;var n=
|
||||
(this.b&R.Hb)<<16-R.ma.Hb|this.u;var t=this.b&R.Re?0:2;E(this)&&F(this,this.type+": "+c+"("+g+":"+k+":"+l+") "+u(n)+"--"+u(n+(m<<1)),!0,!0);if(g>=e.ba){this.i|=S.Cc;break}if(l>=e.ea){this.i|=S.Dc;break}a=f.call(this,e,g,k,l,m,n,t,b>=qj.ud,this.$e.bind(this));break;case qj.Ic:g=(this.j&oj.Zb)>>oj.ma.Zb;E(this)&&F(this,this.type+": SEEK("+g+")",!0);g<e.ba?this.b|=R.rd:this.i|=S.Cc;break;case qj.Ke:E(this)&&F(this,this.type+": DRESET("+d+")");this.i=this.j=0;this.b=R.Ya|R.rd;break;default:E(this)&&F(this,
|
||||
this.type+": UNSUPPORTED("+b+")")}this.G=e.status|(e.da?nj.Ea:0)|d<<nj.ma.hd|this.j&nj.qf;pj(this);a&&(this.b&=~R.ac,this.b|=R.Ya,this.b&R.Gb&&wd(this.f,this.Qa))}};h.Eg=function(){return this.w};h.Wh=function(a){this.w=a};h.yg=function(){return this.u};h.Qh=function(a){this.u=a};h.Ag=function(){return this.j};h.Sh=function(a){this.j=a};h.Bg=function(){return this.C};h.Th=function(a){this.C=a};
|
||||
var nj=Xb.Fc,S=Xb.cf,R=Xb.af,oj=Xb.bf,qj=Xb.wa,rj={},mj=(rj[65280]=[null,null,N.prototype.Cg,N.prototype.Uh,"RKDS"],rj[65282]=[null,null,N.prototype.Dg,N.prototype.Vh,"RKER"],rj[65284]=[null,null,N.prototype.zg,N.prototype.Rh,"RKCS"],rj[65286]=[null,null,N.prototype.Eg,N.prototype.Wh,"RKWC"],rj[65288]=[null,null,N.prototype.yg,N.prototype.Qh,"RKBA"],rj[65290]=[null,null,N.prototype.Ag,N.prototype.Sh,"RKDA"],rj[65294]=[null,null,N.prototype.Bg,N.prototype.Th,"RKDB"],rj);
|
||||
function Nd(a){wi.call(this,"RL11",a,131072,Yb,Yb.df,sj);this.b=this.C=this.i=this.j=this.w=this.u=0}q(Nd,wi);h=Nd.prototype;h.Ab=function(a){a||(a=[U.Ea|U.Ya,0,0,0,0,0]);a=ia(a);this.b=a.next().value;this.C=a.next().value;this.i=a.next().value;this.j=a.next().value;this.w=a.next().value;this.u=a.next().value;return!0};h.Pc=function(){return[this.b,this.C,this.i,this.j,this.w,this.u]};
|
||||
h.Rb=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;a||(g=tj.Za,e=0);for(;e;){if(!k){k=a.seek(b,c,d+1);if(!k){g=tj.Za;break}var m=0}var n,t;if(0>(n=a.read(k,m++))||0>(t=a.read(k,m++))){g=tj.Za;break}Kc(this.F,Ye(this.f,f),n|t<<8);if(ud(this.F)){g=tj.bc;break}f+=2;e--;if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b>=a.ba)))){g=tj.Za;break}}return l?l(g,b,c,d,e,f):g};
|
||||
h.Tc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;a||(g=tj.Za,e=0);for(;e;){var m=Mc(this.F,Ye(this.f,f));if(ud(this.F)){g=tj.bc;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=tj.Za;break}var n=0}if(!a.write(k,n++,m&255)||!a.write(k,n++,m>>8)){g=tj.Za;break}if(n>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b>=a.ba)))){g=tj.Za;break}}return l?l(g,b,c,d,e,f):g};
|
||||
h.ef=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&~U.Xa|f>>16-U.ma.Xa&U.Xa;this.u=f>>16&uj.$a;this.j=this.i=b<<vj.ma.dc|(c?vj.Hc:0)|d&vj.$d;this.w=65536-e&65535;a&&(this.b=this.b|a|U.fb);return!0};h.Hg=function(){return this.b&U.cc};
|
||||
h.Zh=function(a){this.b=this.b&~U.Sa|a&U.Sa;this.u=this.u&60|(a&U.Xa)>>U.ma.Xa;if(!(this.b&U.Ya)){a=!0;var b="",c=this.g[(this.b&U.qb)>>U.ma.qb],d=c.da;this.b&=~U.Ea;switch(this.b&U.wa){case wj.vf:this.w&xj.Rd&&(this.b&=U.Ea|U.wa|U.Xa);this.w=c.status|this.j&vj.Hc|(d&&512==d.ba?xj.Oe:0);break;case wj.Ic:if((this.i&vj.Ne)==vj.sf){var e=this.i&vj.dc;b=(this.i&vj.uf)<<2;this.j=this.i&vj.tf?this.j+e:this.j-e;this.i=this.j=this.j&vj.dc|b}break;case wj.Ze:this.w=this.j;break;case wj.We:b="READ",e=this.Rb;
|
||||
case wj.xf:b||(b="WRITE");e||(e=this.Tc);var f=this.i>>vj.ma.dc;var g=this.i&vj.Hc?1:0;var k=this.i&vj.$d;!d||f>=d.ba||k>=d.ea?this.b=this.b|tj.Za|U.fb:(a=65536-this.w&65535,d=(this.u&uj.$a)<<16|this.C,E(this)&&F(this,this.type+": "+b+"("+f+":"+g+":"+k+") "+u(d)+"--"+u(d+(a<<1)),!0,!0),a=e.call(this,c,f,g,k,a,d,2,!1,this.ef.bind(this)))}a&&(this.b=this.b|U.Ea|U.Ya,this.b&U.Gb&&wd(this.f,this.Qa))}};h.Fg=function(){return this.C};h.Xh=function(a){this.C=a&yj.Sa};h.Ig=function(){return this.i};
|
||||
h.$h=function(a){this.i=a};h.Jg=function(){return this.w};h.ai=function(a){this.w=a};h.Gg=function(){return this.u};h.Yh=function(a){this.u=a&uj.$a;this.b=this.b&~U.Xa|(this.u&3)<<U.ma.Xa};
|
||||
var U=Yb.hf,yj=Yb.ff,vj=Yb.jf,xj=Yb.Gc,uj=Yb.gf,tj=Yb.Qd,wj=Yb.wa,zj={},sj=(zj[63744]=[null,null,Nd.prototype.Hg,Nd.prototype.Zh,"RLCS"],zj[63746]=[null,null,Nd.prototype.Fg,Nd.prototype.Xh,"RLBA"],zj[63748]=[null,null,Nd.prototype.Ig,Nd.prototype.$h,"RLDA"],zj[63750]=[null,null,Nd.prototype.Jg,Nd.prototype.ai,"RLMP"],zj[63752]=[null,null,Nd.prototype.Gg,Nd.prototype.Yh,"RLBE"],zj);
|
||||
function Od(a){wi.call(this,"RX11",a,262144,Zb,Zb.kf,Aj);this.I=this.G=this.i=this.K=this.b=this.C=0;this.j=V.Ib;this.u=0;this.w=Array(128).fill(0)}q(Od,wi);h=Od.prototype;h.Ab=function(a){a?(a=ia(a),this.b=a.next().value,this.C=a.next().value,this.I=a.next().value,this.G=a.next().value,this.i=a.next().value,this.K=a.next().value,this.j=a.next().value,this.u=a.next().value,this.w=a.next().value):(this.C=this.b=0,this.G=this.I=1,this.K=this.i=0,this.j=V.rb,this.u=0,Cd(this.f,this.Qa),Bj(this));return!0};
|
||||
h.Pc=function(){return[this.b,this.C,this.I,this.G,this.i,this.K,this.j,this.u,this.w]};h.we=function(a){0==a&&this.Ab()};function Cj(a,b){b&&(a.K=b,a.C=a.i,a.b|=W.fb);a.j=V.Ib;a.b|=W.DONE;a.b&W.Gb&&wd(a.f,a.Qa)}
|
||||
h.Rb=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.da,n=null;E(this)&&F(this,this.type+".readData("+b+":"+c+":"+d+") "+u(f)+"--"+u(f+(e<<1)),!0,!0);m||(k=a.Qb?Dj.ed:Dj.dd,e=0);for(;e;){if(!n){if(b>=m.ba){k=Dj.Te;break}n=m.seek(b,c,d+1);if(!n){k=Dj.od;break}var t=0;++d>=m.ea&&(d=0,++c>=m.ka&&(c=0,++b))}var r;if(0>(a=m.read(n,t++))||0>(r=m.read(n,t++))){k=Dj.nd;break}Kc(this.F,Ye(this.f,f),a|r<<8);t>=m.ua&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k};
|
||||
function Bj(a){var b=0,c=a.b&W.sd?1:0,d=a.g[c];d=d&&d.da;var e=a.I&Ej.$a,f=a.G&Fj.$a;a.i&=~(Gj.Md|Gj.Wd|Gj.$b|Gj.Ea);if(d)if(a.i|=Gj.Ea,E(a)&&F(a,a.type+".readSector("+e+":0:"+f+")",!0,!0),c=d.seek(e,0,f,!0)){e=0;for(f=a.w.length;e<f;){var g=d.read(c,e);if(0>g){b=Dj.nd;break}a.w[e++]=g}c.Ff&&(a.i|=Gj.$b)}else b=Dj.od;else b=c?Dj.ed:Dj.dd;Cj(a,b)}
|
||||
h.$e=function(a,b,c,d,e,f){this.u=f&65535;this.b=this.b&~R.Hb|f>>16-R.ma.Hb&R.Hb;this.w=65536-e&65535;this.j=this.j&~nj.qd|d&nj.qd;this.i|=a;oj(this);return!0};function oj(a){a.b&=~R.fb;a.i&&(a.i|=S.Je,a.b|=R.fb,a.i&S.cd&&(a.b|=R.cd),E(a)&&F(a,a.type+": ERROR: "+u(a.i)))}h.Cg=function(){return this.G};h.Uh=function(){};h.Dg=function(){return this.i};h.Vh=function(){};h.zg=function(){return this.b&R.cc};
|
||||
h.Rh=function(a){this.b=this.b&~R.Sa|a&R.Sa;if(this.b&R.ac){a=!0;var b,c="",d=(this.j&nj.qb)>>nj.ma.qb,e=this.g[d];this.b&=~(R.Ya|R.rd);this.i&=~S.rf;switch(b=this.b&R.wa){case pj.Ee:E(this)&&F(this,this.type+": CRESET("+d+")",!0);this.i=this.j=0;this.b=R.Ya;break;case pj.Ve:c="RCHK";case pj.rb:c||(c="READ");var f=this.Rb;case pj.ud:c||(c="WCHK");case pj.ec:c||(c="WRITE");f||(f=this.Tc);var g=(this.j&nj.Zb)>>nj.ma.Zb;var k=(this.j&nj.fd)>>nj.ma.fd;var l=this.j&nj.qd;var m=65536-this.w&65535;var n=
|
||||
(this.b&R.Hb)<<16-R.ma.Hb|this.u;var t=this.b&R.Re?0:2;E(this)&&F(this,this.type+": "+c+"("+g+":"+k+":"+l+") "+u(n)+"--"+u(n+(m<<1)),!0,!0);if(g>=e.ba){this.i|=S.Cc;break}if(l>=e.ea){this.i|=S.Dc;break}a=f.call(this,e,g,k,l,m,n,t,b>=pj.ud,this.$e.bind(this));break;case pj.Ic:g=(this.j&nj.Zb)>>nj.ma.Zb;E(this)&&F(this,this.type+": SEEK("+g+")",!0);g<e.ba?this.b|=R.rd:this.i|=S.Cc;break;case pj.Ke:E(this)&&F(this,this.type+": DRESET("+d+")");this.i=this.j=0;this.b=R.Ya|R.rd;break;default:E(this)&&F(this,
|
||||
this.type+": UNSUPPORTED("+b+")")}this.G=e.status|(e.da?mj.Ea:0)|d<<mj.ma.hd|this.j&mj.qf;oj(this);a&&(this.b&=~R.ac,this.b|=R.Ya,this.b&R.Gb&&wd(this.f,this.Qa))}};h.Eg=function(){return this.w};h.Wh=function(a){this.w=a};h.yg=function(){return this.u};h.Qh=function(a){this.u=a};h.Ag=function(){return this.j};h.Sh=function(a){this.j=a};h.Bg=function(){return this.C};h.Th=function(a){this.C=a};
|
||||
var mj=Xb.Fc,S=Xb.cf,R=Xb.af,nj=Xb.bf,pj=Xb.wa,qj={},lj=(qj[65280]=[null,null,N.prototype.Cg,N.prototype.Uh,"RKDS"],qj[65282]=[null,null,N.prototype.Dg,N.prototype.Vh,"RKER"],qj[65284]=[null,null,N.prototype.zg,N.prototype.Rh,"RKCS"],qj[65286]=[null,null,N.prototype.Eg,N.prototype.Wh,"RKWC"],qj[65288]=[null,null,N.prototype.yg,N.prototype.Qh,"RKBA"],qj[65290]=[null,null,N.prototype.Ag,N.prototype.Sh,"RKDA"],qj[65294]=[null,null,N.prototype.Bg,N.prototype.Th,"RKDB"],qj);
|
||||
function Nd(a){vi.call(this,"RL11",a,131072,Yb,Yb.df,rj);this.b=this.C=this.i=this.j=this.w=this.u=0}q(Nd,vi);h=Nd.prototype;h.Ab=function(a){a||(a=[U.Ea|U.Ya,0,0,0,0,0]);a=ia(a);this.b=a.next().value;this.C=a.next().value;this.i=a.next().value;this.j=a.next().value;this.w=a.next().value;this.u=a.next().value;return!0};h.Pc=function(){return[this.b,this.C,this.i,this.j,this.w,this.u]};
|
||||
h.Rb=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;a||(g=sj.Za,e=0);for(;e;){if(!k){k=a.seek(b,c,d+1);if(!k){g=sj.Za;break}var m=0}var n,t;if(0>(n=a.read(k,m++))||0>(t=a.read(k,m++))){g=sj.Za;break}Kc(this.F,Ye(this.f,f),n|t<<8);if(ud(this.F)){g=sj.bc;break}f+=2;e--;if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b>=a.ba)))){g=sj.Za;break}}return l?l(g,b,c,d,e,f):g};
|
||||
h.Tc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;a||(g=sj.Za,e=0);for(;e;){var m=Mc(this.F,Ye(this.f,f));if(ud(this.F)){g=sj.bc;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=sj.Za;break}var n=0}if(!a.write(k,n++,m&255)||!a.write(k,n++,m>>8)){g=sj.Za;break}if(n>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b>=a.ba)))){g=sj.Za;break}}return l?l(g,b,c,d,e,f):g};
|
||||
h.ef=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&~U.Xa|f>>16-U.ma.Xa&U.Xa;this.u=f>>16&tj.$a;this.j=this.i=b<<uj.ma.dc|(c?uj.Hc:0)|d&uj.$d;this.w=65536-e&65535;a&&(this.b=this.b|a|U.fb);return!0};h.Hg=function(){return this.b&U.cc};
|
||||
h.Zh=function(a){this.b=this.b&~U.Sa|a&U.Sa;this.u=this.u&60|(a&U.Xa)>>U.ma.Xa;if(!(this.b&U.Ya)){a=!0;var b="",c=this.g[(this.b&U.qb)>>U.ma.qb],d=c.da;this.b&=~U.Ea;switch(this.b&U.wa){case vj.vf:this.w&wj.Rd&&(this.b&=U.Ea|U.wa|U.Xa);this.w=c.status|this.j&uj.Hc|(d&&512==d.ba?wj.Oe:0);break;case vj.Ic:if((this.i&uj.Ne)==uj.sf){var e=this.i&uj.dc;b=(this.i&uj.uf)<<2;this.j=this.i&uj.tf?this.j+e:this.j-e;this.i=this.j=this.j&uj.dc|b}break;case vj.Ze:this.w=this.j;break;case vj.We:b="READ",e=this.Rb;
|
||||
case vj.xf:b||(b="WRITE");e||(e=this.Tc);var f=this.i>>uj.ma.dc;var g=this.i&uj.Hc?1:0;var k=this.i&uj.$d;!d||f>=d.ba||k>=d.ea?this.b=this.b|sj.Za|U.fb:(a=65536-this.w&65535,d=(this.u&tj.$a)<<16|this.C,E(this)&&F(this,this.type+": "+b+"("+f+":"+g+":"+k+") "+u(d)+"--"+u(d+(a<<1)),!0,!0),a=e.call(this,c,f,g,k,a,d,2,!1,this.ef.bind(this)))}a&&(this.b=this.b|U.Ea|U.Ya,this.b&U.Gb&&wd(this.f,this.Qa))}};h.Fg=function(){return this.C};h.Xh=function(a){this.C=a&xj.Sa};h.Ig=function(){return this.i};
|
||||
h.$h=function(a){this.i=a};h.Jg=function(){return this.w};h.ai=function(a){this.w=a};h.Gg=function(){return this.u};h.Yh=function(a){this.u=a&tj.$a;this.b=this.b&~U.Xa|(this.u&3)<<U.ma.Xa};
|
||||
var U=Yb.hf,xj=Yb.ff,uj=Yb.jf,wj=Yb.Gc,tj=Yb.gf,sj=Yb.Qd,vj=Yb.wa,yj={},rj=(yj[63744]=[null,null,Nd.prototype.Hg,Nd.prototype.Zh,"RLCS"],yj[63746]=[null,null,Nd.prototype.Fg,Nd.prototype.Xh,"RLBA"],yj[63748]=[null,null,Nd.prototype.Ig,Nd.prototype.$h,"RLDA"],yj[63750]=[null,null,Nd.prototype.Jg,Nd.prototype.ai,"RLMP"],yj[63752]=[null,null,Nd.prototype.Gg,Nd.prototype.Yh,"RLBE"],yj);
|
||||
function Od(a){vi.call(this,"RX11",a,262144,Zb,Zb.kf,zj);this.I=this.G=this.i=this.K=this.b=this.C=0;this.j=V.Ib;this.u=0;this.w=Array(128).fill(0)}q(Od,vi);h=Od.prototype;h.Ab=function(a){a?(a=ia(a),this.b=a.next().value,this.C=a.next().value,this.I=a.next().value,this.G=a.next().value,this.i=a.next().value,this.K=a.next().value,this.j=a.next().value,this.u=a.next().value,this.w=a.next().value):(this.C=this.b=0,this.G=this.I=1,this.K=this.i=0,this.j=V.rb,this.u=0,Cd(this.f,this.Qa),Aj(this));return!0};
|
||||
h.Pc=function(){return[this.b,this.C,this.I,this.G,this.i,this.K,this.j,this.u,this.w]};h.we=function(a){0==a&&this.Ab()};function Bj(a,b){b&&(a.K=b,a.C=a.i,a.b|=W.fb);a.j=V.Ib;a.b|=W.DONE;a.b&W.Gb&&wd(a.f,a.Qa)}
|
||||
h.Rb=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.da,n=null;E(this)&&F(this,this.type+".readData("+b+":"+c+":"+d+") "+u(f)+"--"+u(f+(e<<1)),!0,!0);m||(k=a.Qb?Cj.ed:Cj.dd,e=0);for(;e;){if(!n){if(b>=m.ba){k=Cj.Te;break}n=m.seek(b,c,d+1);if(!n){k=Cj.od;break}var t=0;++d>=m.ea&&(d=0,++c>=m.ka&&(c=0,++b))}var r;if(0>(a=m.read(n,t++))||0>(r=m.read(n,t++))){k=Cj.nd;break}Kc(this.F,Ye(this.f,f),a|r<<8);t>=m.ua&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k};
|
||||
function Aj(a){var b=0,c=a.b&W.sd?1:0,d=a.g[c];d=d&&d.da;var e=a.I&Dj.$a,f=a.G&Ej.$a;a.i&=~(Fj.Md|Fj.Wd|Fj.$b|Fj.Ea);if(d)if(a.i|=Fj.Ea,E(a)&&F(a,a.type+".readSector("+e+":0:"+f+")",!0,!0),c=d.seek(e,0,f,!0)){e=0;for(f=a.w.length;e<f;){var g=d.read(c,e);if(0>g){b=Cj.nd;break}a.w[e++]=g}c.Ff&&(a.i|=Fj.$b)}else b=Cj.od;else b=c?Cj.ed:Cj.dd;Bj(a,b)}
|
||||
h.Lg=function(a,b){a=this.b;if(!b)switch(a&=W.cc,this.j){case V.$c:case V.EMPTY:this.u<this.w.length&&(this.b|=W.ab);break;case V.rb:case V.ec:case V.Jc:2>this.u&&(this.b|=W.ab)}return a};
|
||||
h.ci=function(a){this.b=this.b&~W.Sa|a&W.Sa;if(this.b&W.INIT)this.Ab();else if(this.b&W.ac&&this.j==V.Ib)switch(this.j=this.b&W.wa,this.b&=~(W.ac|W.ab|W.DONE|W.fb),Cd(this.f,this.Qa),E(this)&&F(this,this.type+".processCommand("+Hj[this.j>>1]+")",!0,!0),this.j){case V.$c:case V.EMPTY:case V.rb:case V.ec:case V.Jc:this.u=0;break;case V.Ye:a=this.g[this.b&W.sd?1:0];this.i&=~Gj.Ea;a&&a.da&&(this.i|=Gj.Ea);this.C=this.i;Cj(this);break;case V.Xe:this.C=this.K,Cj(this)}else this.b&W.Gb?this.b&W.DONE&&wd(this.f,
|
||||
this.Qa):Cd(this.f,this.Qa)};h.Mg=function(a,b){if(!b)switch(this.j){case V.EMPTY:this.b&W.ab&&(this.b&=~W.ab,this.C=this.w[this.u]&255,E(this)&&F(this,this.type+".readByte("+this.u+"): "+v(this.C,2,!0),!0,!0),++this.u>=this.w.length&&Cj(this))}return this.C};
|
||||
h.di=function(a){switch(this.j){case V.$c:this.b&W.ab&&(this.b&=~W.ab,this.w[this.u]=a&255,E(this)&&F(this,this.type+".writeByte("+this.u+","+v(a,2,!0)+")",!0,!0),++this.u>=this.w.length&&Cj(this));break;case V.rb:case V.ec:case V.Jc:if(this.b&W.ab)switch(this.b&=~W.ab,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.rb)Bj(this);else{var b=this.j==V.Jc,c=0,d=this.b&W.sd?1:0,e=this.g[d];e=e&&e.da;var f=this.I&Ej.$a,g=this.G&Fj.$a;this.i&=~(Gj.Md|Gj.Wd|Gj.$b|Gj.Ea);if(e)if(this.i|=Gj.Ea,
|
||||
E(this)&&F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ff=!0),b=0,f=this.w.length;b<f;){if(!e.write(d,b,this.w[b]&255)){c=Dj.nd;break}b++}else c=Dj.od;else c=d?Dj.ed:Dj.dd;Cj(this,c)}}}this.C=a};var W=Zb.lf,Ej=Zb.pf,Fj=Zb.nf,Gj=Zb.mf,V=Zb.wa,Dj=Zb.Me,Hj="FILL EMPTY WRITE READ UNUSED RDSTAT WRDEL RDERR".split(" "),Ij={},Aj=(Ij[65144]=[null,null,Od.prototype.Lg,Od.prototype.ci,"RXCS"],Ij[65146]=[null,null,Od.prototype.Mg,Od.prototype.di,"RXDB"],Ij);
|
||||
function Jj(a){x.call(this,"Debugger",a);this.W=+a.base||16;this.O=["{","}"];this.ja=["[","]"];this.B=0;this.R=!1;this.w=-1;this.u=[];this.i={}}q(Jj,x);Jj.prototype.re=function(){return-1};Jj.prototype.zd=function(){};
|
||||
function Kj(a,b,c,d){if(c)if(b){0>a.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 Lj(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 Mj(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop();var f=a.pop();switch(d){case "*":f*=e;break;case "/":if(!e)return!1;f=Math.trunc(f/e);break;case "^/":if(!e)return!1;f%=e;break;case "+":f+=e;break;case "-":f-=e;break;case "<<":f<<=e;break;case ">>":f>>=e;break;case ">>>":f>>>=e;break;case "<":f=f<e?1:0;break;case "<=":f=f<=e?1:0;break;case ">":f=f>e?1:0;break;case ">=":f=f>=e?1:0;break;case "==":f=f==e?1:0;break;case "!=":f=f!=e?1:0;break;
|
||||
case "&":f&=e;break;case "!":case "|":f|=e;break;case "^!":f|=e;break;case "&&":f=f&&e?1:0;break;case "||":f=f||e?1:0;break;case ",,":f=Lj(f,18,!0)*Math.pow(2,18)+Lj(e,18,!0);break;case "_":case "^_":"^_"==d&&(e=35-(e&255));e&&(f=Lj(f,0,!0),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));break;default:return!1}a.push(Lj(f))}return!0}
|
||||
function Nj(a,b,c,d,e,f){var g,k=!1,l=0,m=[],n=[],t=a.W;for(a.W=e;c<d;){var r=b[c++].trim();var p=c<d?b[c++]:"";if(r)var z=Oj(a,r,null,f,l);else if("{"==p){r=1;for(z=c;c<d;)if(c++,p=c<b.length?b[c++]:"","{"==p)r++;else if("}"==p&&!--r)break;z=Nj(a,b,z,c-1,a.W,f);null!=z&&l&&(z=Pj(z,l));r=c<d?b[c++].trim():"";p=c<d?b[c++]:""}else{if(" "==p)continue;if("^B"==p){a.W=2;continue}if("^O"==p){a.W=8;continue}if("^D"==p){a.W=10;continue}if(!(l&-1073741824)){if("+"==p)continue;if("-"==p){l=l<<2|1;continue}if("~"==
|
||||
p||"^-"==p){l=l<<2|2;continue}if("^L"==p){l=l<<2|3;continue}}k=!0;break}if(void 0===z)if(f)f.push(r),z=0;else{k=!0;f=[];break}m.push(Lj(z));if(" "==p)if(c<b.length-1&&!b[c])c++,p=b[c++];else{k=!0;break}if(!p)break;l="<"==a.O[0]?Qj:Rj;if(!l[p]){k=!0;break}n.length&&l[p]<=l[n[n.length-1]]&&Mj(m,n,1);n.push(p);a.W="^_"==p?10:e;l=0}if(k||!Mj(m,n)||1!=m.length)k=!0;k?f||a.v("parse error ("+(r||p)+")"):g=m.pop();a.W=t;return g}
|
||||
function Sj(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,k=f+1,l=e;k<b.length;){var m=b[k++];if(m==c){l=-1;break}if(!l)break;l--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=Lj(g*Math.pow(2,d)+m,d*e,!0)}if(0<=l){a.v("parse error ("+c+b+c+")");return}b=b.substr(0,f)+K(a,g,-1)+b.substr(k)}return b}
|
||||
function Tj(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.O[0]&&(b=b.split(a.O[0]).join("{").split(a.O[1]).join("}"));b=Sj(a,b,'"',7,5);if(!b)return d;b=Sj(a,b,"'",6,6);if(!b)return d;16!=a.W&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Nj(a,b,0,b.length,a.W,c);void 0!==d&&e&&Uj(a,null,d)}return d}
|
||||
function Pj(a,b){for(;b;){switch(b&3){case 1:a=-Lj(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 Oj(a,b,c,d,e){e=void 0===e?0:e;var f=Array.isArray(d)?d:void 0;if(null!=b){var g=a.re(b);if(0<=g)g=a.zd(g);else if(g=b,a.i[g]?g=a.i[g].value:(g=g.substr(0,6),g=a.i[g]&&a.i[g].value),null!=g){var k=a.i[b]&&a.i[b].jh;k&&(f?f.push(k):(f=Tj(a,k,d),void 0!==f?g+=f:(d||a.v("undefined "+(c||"value")+": "+b+" ("+k+")"),g=void 0)))}else g=ta(b,1<b.length||10<a.W?a.W:10);null!=g?g=Lj(Pj(g,e)):d||a.v("invalid "+(c||"value")+": "+b)}else d||a.v("missing "+(c||"value"));return g}
|
||||
function Uj(a,b,c){var d=!1;if(void 0!==c){d=!0;var e=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&&(e+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+e);return d}function Vj(a,b){var c=0;if(a.i){if(b)return Uj(a,b,a.i[b]&&a.i[b].value);b=Object.keys(a.i);b.sort();for(var d=0;d<b.length;d++)Uj(a,b[d],a.i[b[d]].value),c++}return 0<c}
|
||||
h.ci=function(a){this.b=this.b&~W.Sa|a&W.Sa;if(this.b&W.INIT)this.Ab();else if(this.b&W.ac&&this.j==V.Ib)switch(this.j=this.b&W.wa,this.b&=~(W.ac|W.ab|W.DONE|W.fb),Cd(this.f,this.Qa),E(this)&&F(this,this.type+".processCommand("+Gj[this.j>>1]+")",!0,!0),this.j){case V.$c:case V.EMPTY:case V.rb:case V.ec:case V.Jc:this.u=0;break;case V.Ye:a=this.g[this.b&W.sd?1:0];this.i&=~Fj.Ea;a&&a.da&&(this.i|=Fj.Ea);this.C=this.i;Bj(this);break;case V.Xe:this.C=this.K,Bj(this)}else this.b&W.Gb?this.b&W.DONE&&wd(this.f,
|
||||
this.Qa):Cd(this.f,this.Qa)};h.Mg=function(a,b){if(!b)switch(this.j){case V.EMPTY:this.b&W.ab&&(this.b&=~W.ab,this.C=this.w[this.u]&255,E(this)&&F(this,this.type+".readByte("+this.u+"): "+v(this.C,2,!0),!0,!0),++this.u>=this.w.length&&Bj(this))}return this.C};
|
||||
h.di=function(a){switch(this.j){case V.$c:this.b&W.ab&&(this.b&=~W.ab,this.w[this.u]=a&255,E(this)&&F(this,this.type+".writeByte("+this.u+","+v(a,2,!0)+")",!0,!0),++this.u>=this.w.length&&Bj(this));break;case V.rb:case V.ec:case V.Jc:if(this.b&W.ab)switch(this.b&=~W.ab,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.rb)Aj(this);else{var b=this.j==V.Jc,c=0,d=this.b&W.sd?1:0,e=this.g[d];e=e&&e.da;var f=this.I&Dj.$a,g=this.G&Ej.$a;this.i&=~(Fj.Md|Fj.Wd|Fj.$b|Fj.Ea);if(e)if(this.i|=Fj.Ea,
|
||||
E(this)&&F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ff=!0),b=0,f=this.w.length;b<f;){if(!e.write(d,b,this.w[b]&255)){c=Cj.nd;break}b++}else c=Cj.od;else c=d?Cj.ed:Cj.dd;Bj(this,c)}}}this.C=a};var W=Zb.lf,Dj=Zb.pf,Ej=Zb.nf,Fj=Zb.mf,V=Zb.wa,Cj=Zb.Me,Gj="FILL EMPTY WRITE READ UNUSED RDSTAT WRDEL RDERR".split(" "),Hj={},zj=(Hj[65144]=[null,null,Od.prototype.Lg,Od.prototype.ci,"RXCS"],Hj[65146]=[null,null,Od.prototype.Mg,Od.prototype.di,"RXDB"],Hj);
|
||||
function Ij(a){x.call(this,"Debugger",a);this.W=+a.base||16;this.O=["{","}"];this.ja=["[","]"];this.B=0;this.R=!1;this.w=-1;this.u=[];this.i={}}q(Ij,x);Ij.prototype.re=function(){return-1};Ij.prototype.zd=function(){};
|
||||
function Jj(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ga(b.substring(c,f))),c=f+1}}return a}
|
||||
function Kj(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<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 Lj(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop();var f=a.pop();switch(d){case "*":f*=e;break;case "/":if(!e)return!1;f=Math.trunc(f/e);break;case "^/":if(!e)return!1;f%=e;break;case "+":f+=e;break;case "-":f-=e;break;case "<<":f<<=e;break;case ">>":f>>=e;break;case ">>>":f>>>=e;break;case "<":f=f<e?1:0;break;case "<=":f=f<=e?1:0;break;case ">":f=f>e?1:0;break;case ">=":f=f>=e?1:0;break;case "==":f=f==e?1:0;break;case "!=":f=f!=e?1:0;break;
|
||||
case "&":f&=e;break;case "!":case "|":f|=e;break;case "^!":f|=e;break;case "&&":f=f&&e?1:0;break;case "||":f=f||e?1:0;break;case ",,":f=Kj(f,18,!0)*Math.pow(2,18)+Kj(e,18,!0);break;case "_":case "^_":"^_"==d&&(e=35-(e&255));e&&(f=Kj(f,0,!0),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));break;default:return!1}a.push(Kj(f))}return!0}
|
||||
function Mj(a,b,c,d,e,f){var g,k=!1,l=0,m=[],n=[],t=a.W;for(a.W=e;c<d;){var r=b[c++].trim();var p=c<d?b[c++]:"";if(r)var z=Nj(a,r,null,f,l);else if("{"==p){r=1;for(z=c;c<d;)if(c++,p=c<b.length?b[c++]:"","{"==p)r++;else if("}"==p&&!--r)break;z=Mj(a,b,z,c-1,a.W,f);null!=z&&l&&(z=Oj(z,l));r=c<d?b[c++].trim():"";p=c<d?b[c++]:""}else{if(" "==p)continue;if("^B"==p){a.W=2;continue}if("^O"==p){a.W=8;continue}if("^D"==p){a.W=10;continue}if(!(l&-1073741824)){if("+"==p)continue;if("-"==p){l=l<<2|1;continue}if("~"==
|
||||
p||"^-"==p){l=l<<2|2;continue}if("^L"==p){l=l<<2|3;continue}}k=!0;break}if(void 0===z)if(f)f.push(r),z=0;else{k=!0;f=[];break}m.push(Kj(z));if(" "==p)if(c<b.length-1&&!b[c])c++,p=b[c++];else{k=!0;break}if(!p)break;l="<"==a.O[0]?Pj:Qj;if(!l[p]){k=!0;break}n.length&&l[p]<=l[n[n.length-1]]&&Lj(m,n,1);n.push(p);a.W="^_"==p?10:e;l=0}if(k||!Lj(m,n)||1!=m.length)k=!0;k?f||a.v("parse error ("+(r||p)+")"):g=m.pop();a.W=t;return g}
|
||||
function Rj(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,k=f+1,l=e;k<b.length;){var m=b[k++];if(m==c){l=-1;break}if(!l)break;l--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=Kj(g*Math.pow(2,d)+m,d*e,!0)}if(0<=l){a.v("parse error ("+c+b+c+")");return}b=b.substr(0,f)+K(a,g,-1)+b.substr(k)}return b}
|
||||
function Sj(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.O[0]&&(b=b.split(a.O[0]).join("{").split(a.O[1]).join("}"));b=Rj(a,b,'"',7,5);if(!b)return d;b=Rj(a,b,"'",6,6);if(!b)return d;16!=a.W&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Mj(a,b,0,b.length,a.W,c);void 0!==d&&e&&Tj(a,null,d)}return d}
|
||||
function Oj(a,b){for(;b;){switch(b&3){case 1:a=-Kj(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
|
||||
function Nj(a,b,c,d,e){e=void 0===e?0:e;var f=Array.isArray(d)?d:void 0;if(null!=b){var g=a.re(b);if(0<=g)g=a.zd(g);else if(g=b,a.i[g]?g=a.i[g].value:(g=g.substr(0,6),g=a.i[g]&&a.i[g].value),null!=g){var k=a.i[b]&&a.i[b].jh;k&&(f?f.push(k):(f=Sj(a,k,d),void 0!==f?g+=f:(d||a.v("undefined "+(c||"value")+": "+b+" ("+k+")"),g=void 0)))}else g=ta(b,1<b.length||10<a.W?a.W:10);null!=g?g=Kj(Oj(g,e)):d||a.v("invalid "+(c||"value")+": "+b)}else d||a.v("missing "+(c||"value"));return g}
|
||||
function Tj(a,b,c){var d=!1;if(void 0!==c){d=!0;var e=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&&(e+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+e);return d}function Uj(a,b){var c=0;if(a.i){if(b)return Tj(a,b,a.i[b]&&a.i[b].value);b=Object.keys(a.i);b.sort();for(var d=0;d<b.length;d++)Tj(a,b[d],a.i[b[d]].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=wa(b,0<c?c:0,e);break;case 8:a=u(b,0<c?(c+2)/3|0:0,!!e);break;case 10:a=xa(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 Rj={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Qj={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
|
||||
function Wj(a){Jj.call(this,a);this.Ga=!1;this.O=["(",")"];this.ja=[];this.I=X();this.Fa=X();this.P=X();this.C=[];this.b=this.M=this.G=[];Xj(this);this.S=this.ga=0;this.j=[];this.sa=void 0;Yj(this);this.D=this;this.la={};this.ia=this.ke=0;this.U=null;this.N=[];Zj(this,a.messages);this.xa=a.commands;this.Ja=ak;this.Y=[];this.K=0;this.Ka=this.ta=null;this.B=this.Ia=this.Ha=this.Z=this.pa=0;this.g=this.X=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return ve(b,a)}):void 0===global[y]&&
|
||||
(global[y]=function(a){return ve(b,a)})}q(Wj,Jj);function bk(a){a=a&&a.L;null==a&&(a=-1);return a}function X(a,b,c){return{L:void 0===a?null:a,Ma:void 0===b?!1:b,Ta:!1,W:c}}h=Wj.prototype;h.Fd=function(a,b){a.L=b;a.Ta=!1;a.W=void 0;return a};function ck(a){return[a.L,a.Ma,a.W,a.Ta,a.Nc]}function dk(a,b){var c=X(b[0],b[1],b[2]);c.Ta=b[3];b[4]&&(c.he=Kj(a,c.Nc=b[4]));return c}
|
||||
h.Aa=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.g=a.i;(a=qe(a,"messages"))&&Zj(this,a);1140>this.f.ja&&(this.Y=this.Y.concat(ek));1145>this.f.ja&&(this.Y=this.Y.concat(fk));Ad(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=bk(gk(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.F.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");c=-1;for(var m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
|
||||
var Qj={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Pj={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
|
||||
function Vj(a){Ij.call(this,a);this.Ga=!1;this.O=["(",")"];this.ja=[];this.I=X();this.Fa=X();this.P=X();this.C=[];this.b=this.M=this.G=[];Wj(this);this.S=this.ga=0;this.j=[];this.sa=void 0;Xj(this);this.D=this;this.la={};this.ia=this.ke=0;this.U=null;this.N=[];Yj(this,a.messages);this.xa=a.commands;this.Ja=Zj;this.Y=[];this.K=0;this.Ka=this.ta=null;this.B=this.Ia=this.Ha=this.Z=this.pa=0;this.g=this.X=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return ve(b,a)}):void 0===global[y]&&
|
||||
(global[y]=function(a){return ve(b,a)})}q(Vj,Ij);function ak(a){a=a&&a.L;null==a&&(a=-1);return a}function X(a,b,c){return{L:void 0===a?null:a,Ma:void 0===b?!1:b,Ta:!1,W:c}}h=Vj.prototype;h.Fd=function(a,b){a.L=b;a.Ta=!1;a.W=void 0;return a};function bk(a){return[a.L,a.Ma,a.W,a.Ta,a.Nc]}function ck(a,b){var c=X(b[0],b[1],b[2]);c.Ta=b[3];b[4]&&(c.he=Jj(a,c.Nc=b[4]));return c}
|
||||
h.Aa=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.g=a.i;(a=qe(a,"messages"))&&Yj(this,a);1140>this.f.ja&&(this.Y=this.Y.concat(dk));1145>this.f.ja&&(this.Y=this.Y.concat(ek));Ad(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=ak(fk(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.F.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");c=-1;for(var m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
|
||||
(c=n.type,m=md[c],n&&d.v(v(n.id,8)+" %"+v(e<<d.F.g,8)+" %"+v(n.L,8)+" "+ya(n.Ub)+" "+ya(n.size)+" "+m),c!=Zd&&(c=-1),m=0);a+=d.F.j;e++}}});D(this)};
|
||||
h.va=function(a,b,c){var d=this;switch(b){case "debugInput":return this.X=this.H[b]=c,c.onkeydown=function(a){if(13==a.keyCode){var b=c.value;c.value="";ve(d,b,!0)}else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-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,bb(c,function(){if(d.X){var a=d.X.value;d.X.value=
|
||||
"";ve(d,a,!0);return!0}return!1}),!0;case "step":return this.H[b]=c,bb(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=Ec(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function ue(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.Od=function(a,b){var c=255,d=bk(a);-1!==d&&(a.Ma||65535<d?(c=this.F,d=Ye(this.f,d),c.C=!1,c.na++,d=od(c,d).j(d&c.i,d),c.na--):(c=this.f,c.pa++,d=c.F.Kd(Lc(c,d,3)),c.pa--),c=d,b&&hk(a,b));return c};
|
||||
h.Ra=function(a,b){var c=65535,d=bk(a);-1!==d&&(c=a.Ma||65535<d?Mc(this.F,Ye(this.f,d)):Nc(this.f,d),b&&hk(a,b));return c};h.Pd=function(a,b,c){var d=bk(a);if(-1!==d){if(a.Ma||65535<d)pd(this.F,Ye(this.f,d),b);else{var e=this.f;e.pa++;e.F.Ld(Lc(e,d,5),b);e.pa--}c&&hk(a,c);Ic(this.J,-1)}};h.Le=function(a,b,c){var d=bk(a);if(-1!==d){if(a.Ma||65535<d)Kc(this.F,Ye(this.f,d),b);else{var e=this.f;e.pa++;e.F.Yb(Lc(e,d,4),b);e.pa--}c&&hk(a,c);Ic(this.J,-1)}};
|
||||
function gk(a,b,c){c=(c?a.I:a.Fa).L;var d;if(void 0!==b){a:{var e=a.O[0];c=a.O[1];var f="("==e||"{"==e||"["==e?"\\":"";var g="["==e?"\\":"";for(g=new RegExp(f+e+"([^"+g+e+g+c+"]+)"+f+c);f=b.match(g);){var k=Tj(a,f[1]);if(void 0===k){b=void 0;break a}b=b.replace(e+f[1]+c,null!=k?K(a,k):"undefined")}if(a.ja.length)for(e=a.ja[0],c=a.ja[1],f="("==e||"{"==e||"["==e?"\\":"",g="["==e?"\\":"",g=new RegExp(f+e+"([^"+g+e+g+c+"]+)"+f+c);f=b.match(g);)b=b.replace("["+f[1]+"]","unimplemented");for(;e=b.match(/\$([a-z]+)/i);){c=
|
||||
null;switch(e[1].toLowerCase()){case "ops":c=0}if(null==c)break;b=b.replace(e[0],c.toString())}}if("%"==b.charAt(0)){var l=!0;b=b.substr(1)}e=b;var m;a:{c=a.F;f=e.toUpperCase();for(n in c.Pa)if(g=+n,c.Pa[g][4]==f){var n=c.B+g;break a}n=null}if(null==n&&e.match(/^[a-z_][a-z0-9_]*$/i))for(e=e.toUpperCase(),c=0;c<a.C.length;c++)if(f=a.C[c].ha[e],null!=f){n=f.o;break}null!=n&&(m=X(n));if(e=m)return e;0<=b.indexOf("0x")?d=16:0<=b.indexOf("0o")?d=8:0<=b.indexOf(".")&&(d=10);c=Tj(a,b)}null!=c&&(e=X(c,l,
|
||||
d));return e}function ik(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.he=Kj(a,b.Nc=c[2]))}function hk(a,b){null!=a.L&&(a.L+=b||1)}function jk(a,b){return(b.Ma?"%":"")+K(a,b.L)}
|
||||
function Zj(a,b){a.D=a;a.ia=a.ke=1073741824;a.U=null;a.N=[];b=Kj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in fc){a:{var d=void 0;if(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.ia|=fc[c],a.v(c+" messages enabled"))}}function Ad(a,b,c){for(var d in fc)if(b==fc[d]){a.la[d]=c;break}}
|
||||
h.re=function(a){a=a.toUpperCase();var b=kk[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function lk(a,b){if(b<mk||a.g)var c=nk[b];return c||""}
|
||||
h.zd=function(a){if(0<=a)if(8>a)var b=this.f.g[a];else if(16>a)b=this.f.ta[a-8];else if(20>a)b=this.f.Y[a-16];else{var c=this.f,d=this.g;switch(a){case ok:b=Kd(this.f);break;case pk:b=c.mb;break;case qk:b=c.P;break;case rk:b=c.Fa&65280;break;case sk:b=Dd(c);break;case tk:b=Fd(c);break;case uk:b=Hd(c);break;case vk:b=c.X;break;case mk:d&&(b=d.fa);break;case wk:d&&(b=d.Cb);break;case xk:d&&(b=d.Va)}}return b};
|
||||
h.message=function(a,b){b&&(a+=" @"+jk(this,X(this.f.O&65535)));if(!this.U||a!=this.U)if(this.U=a,this.ia&536870912)this.N.push(a);else{var c;if(this.ia&-2147483648&&this.f&&(c=this.f.A.V)||Nb(this,!0))yk(this),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,Be(a),a.yb=0,a.J&&Ic(a.J,void 0))}};
|
||||
function Yj(a){var b;if(!Df(a))a.j&&a.j.length&&a.v("instruction history buffer freed"),a.S=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(zk);for(b=0;b<a.j.length;b++)a.j[b]=X();a.S=0;a.v("instruction history buffer allocated")}}function Ak(a,b,c){if(!Bk(a,c))return!1;Dc(a.f,b);return!0}
|
||||
function Ec(a,b,c,d){if(!Bk(a))return!1;var e="";null===c&&(e=(c=!a.ta||"tr"==a.ta)?"tr":"t");a.B=0;b||Df(a)&&Ef(a,a.f.g[7],0);try{b=Ce(a.f,b);var f=a.f.zc(b);0<f&&(Fc(a.f,f),a.B+=f,Gc(a.f,f,!0),Hc(a.f,f),a.Z++)}catch(g){"number"!=typeof g&&(b=g,a.B=0,Kb(a.f,b.stack||b.message))}!1!==d&&(a.g&&a.g.stop(),Ic(a.J,-1));te(a,c||!1,e);return 0<a.B}function yk(a,b){a.f&&H(a.f,b)}
|
||||
function te(a,b,c){if(a.Ga){void 0===b&&(b=!0);c&&a.v(Ck+c);c=a.f;if(c=c.i&128?c.Bc|c.Ac<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Vb[-d]:K(a,d))+")")}a.I=X(a.f.g[7]);b&&1!=a.K?Dk(a):Ek(a)}}function Bk(a,b){var c;(c=!a.f||!Mb(a.f))||(c=a.f,c.A.ca?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Lb(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
|
||||
h.Ba=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Yj(this);this.Z=0;this.U=null;this.B=0;this.I=X(this.f.g[7]);this.A.V=!1;Fk(this);a||te(this)};h.save=function(){var a=new G(this);a.set(0,ck(this.I));a.set(1,ck(this.P));a.set(2,[this.u,this.R,this.ia]);a.set(3,this.C);return a.data()};
|
||||
h.restore=function(a){var b=0;void 0!==a[2]&&(this.I=dk(this,a[b++]),this.P=dk(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.ia|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.K||this.v("running");this.A.V=!0;this.Ha=a;this.Ia=b};
|
||||
h.stop=function(a,b){if(this.A.V){this.A.V=!1;this.B=b-this.Ia;if(!this.K){b="stopped";if(this.B){a-=this.Ha;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";Df(this)&&(b+=this.Z+" instructions, ",this.Z=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}te(this,!0);ue(this);Fk(this,this.f.g[7]);this.U=null}};function Df(a){return 1<a.b.length||!!a.ga}
|
||||
function Ef(a,b,c){var d=-1;c||(d=Nc(a.f,b),0==d&&(a.f.O&65535)==b&&(b=Pe(a.f,2)));if(0<c&&(a.ga&&!--a.ga||Gk(a,b,1,a.b)))return!0;0<=c&&a.j.length&&(a.Z++,0>d&&(d=Nc(a.f,b)),65535!=(d&65535)&&(a.Fd(a.j[a.S],b),++a.S==a.j.length&&(a.S=0)));return!1}function Jg(a){var b=a.f;if(b.A.V)throw Ac(b,a.f.O&65535),yk(a),-1;return!1}function ke(a,b,c){Gk(a,b,c||1,a.M)&&yk(a,!1)}function le(a,b,c){Gk(a,b,c||1,a.G)&&yk(a,!1)}
|
||||
function Xj(a){var b;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){var c=a.M[b];var d=bk(c);c.Ma?(c=a.F,je(c.b[d>>>c.g],!1)):af(a.f,!1)}a.M=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=bk(c),c.Ma?(c=a.F,je(c.b[d>>>c.g],!0)):af(a.f,!0);a.G=["bw"];a.pa=0;a.ga=0}
|
||||
h.zb=function(a,b,c){var d=!0;c||Hk(this,a,b,!1,!0);if(a!=this.b){var e=bk(b);if(-1===e)this.v("invalid address: "+jk(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ma=!0);if(b.Ma){var g=this.F;g.b[e>>>g.g].zb(e&g.i,f)}else e=this.f,(f?e.qc++:e.oc++)||Ie(e)}}d&&(a.push(b),c?b.Ta=!0:(Ik(this,a,a.length-1,"set"),Yj(this)));return d};
|
||||
function Hk(a,b,c,d,e){var f=!1;c=bk(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==bk(k)&&(!d||k.Ta)){f=!0;k.Ta||e||Ik(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(b=b==a.G,k.Ma?(d=a.F,je(d.b[c>>>d.g],b)):af(a.f,b));k.Ta||Yj(a);break}}return f}function Jk(a,b){for(var c=1;c<b.length;c++)Ik(a,b,c);return b.length-1}function Ik(a,b,c,d){c=b[c];a.v(b[0]+" "+jk(a,c)+(d?" "+d:c.Nc?' "'+c.Nc+'"':""))}
|
||||
function Fk(a,b){if(void 0!==b)Gk(a,b,1,a.b,!0),a.K=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.Ta){if(!Hk(a,a.b,c,!0))break;b=0}}}
|
||||
function Gk(a,b,c,d,e){var f=!1;if(!a.pa++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Ta)for(var l=bk(k)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==l){var n;f=!0;k.Ta&&(Hk(a,d,k,!0),e=!0);if(n=k.he){f=!1;for(var t=0;t<n.length;t++)if(!Kk(a,n[t],!0)){if(n[t].indexOf("if")){f=!0;break}for(var r=t+1;r<n.length&&n[r].indexOf("else");r++)t++;if(r==n.length){f=!0;break}}a.f.A.V||(f=!0)}if(f){e||Ik(a,d,g,"hit");break}}}a.pa--;return f}
|
||||
function Lk(a,b,c,d){var e=X(b.L),f=a.Ra(b,2),g,k;for(k in a.Ja)if(g=a.Ja[k][f&k])break;g||(g=Mk);var l=g[0];0<=a.Y.indexOf(l)&&(g=Mk,l=g[0]);var m=k="",n=Nk[l],t=g.length-1;l||t||(k=K(a,f));for(l=1;l<=t;l++){var r=g[l];if(void 0!==r){var p=a;var z=r;r=b;var B="";var C=z&Ok;if(C==Y)r=r.L+((f&255)<<24>>23)&65535,B=K(p,r);else if(C==Pk)r=r.L-((f&63)<<1)&65535,B=K(p,r);else if(C==Qk)B=K(p,f&7,3);else if(C==Rk)B=K(p,f&63,6);else if(C==Sk)B=K(p,f&255,8);else if(C=f&z,z&Tk&&(C>>=6,z>>=6),z&Z){z=null;var J=
|
||||
C&Uk;switch(C&Vk){case 0:B=lk(p,J);break;case 8:B="@"+lk(p,J);z=Wk(p,p.f.g[J]);break;case 16:7>J?B="("+lk(p,J)+")+":(C=p.Ra(r,2),B="#"+K(p,C,-1));break;case 24:7>J?B="@("+lk(p,J)+")+":(C=p.Ra(r,2),B="@#"+K(p,C,-1),z=Wk(p,C));break;case 32:B="-("+lk(p,J)+")";break;case 40:B="@-("+lk(p,J)+")";break;case 48:C=p.Ra(r,2);B=K(p,C,-1)+"("+lk(p,J)+")";7==J&&(B=K(p,C=C+r.L&65535),z=Wk(p,C));break;case 56:C=p.Ra(r,2),B="@"+K(p,C)+"("+lk(p,J)+")",7==J&&(B="@"+K(p,C=C+r.L&65535),z=Wk(p,Nc(p.f,C)))}z&&(B=[B,z])}p=
|
||||
B;if(!p||!p.length){k="INVALID";break}"string"!=typeof p&&(m=p[1],p=p[0]);0<k.length&&(k+=",");k+=p||"???"}}f="";g=jk(a,e)+":";if(-1!==e.L&&-1!==b.L){do if(f+=" "+K(a,a.Ra(e,2)),null==e.L)break;while(e.L!=b.L)}g+=Fa(f,24);g+=Fa(n,5);k&&(g+=" "+k);if(c||m)g=Fa(g,60)+";"+(c||""),g=a.f.A.Lb?g+("cycles="+we(a.f).toString()+" cs="+v(a.f.lc)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
|
||||
function Wk(a,b){b=Ze(a.f,b)[0];b>=a.f.sb&&b<a.F.B&&(b=b-a.f.sb+a.F.B);var c=a.F;a=null;b>=c.B&&(b=c.Pa[b&td])&&(a=b[4]);return a}function Xk(a,b){switch(b){case "N":a=Oe(a.f);break;case "Z":a=Ne(a.f);break;case "V":a=Me(a.f);break;case "C":a=Le(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Yk(a,b){var c=lk(a,b);c&&(c+="="+K(a,a.zd(b))+" ");return c}
|
||||
function Zk(a,b){var c,d="";for(c=0;6>c;c++)d+=Yk(a,c);d=d+"\n"+(Yk(a,6)+Yk(a,7));d+=Yk(a,ok)+Yk(a,pk)+Yk(a,rk);d+=Xk(a,"T")+Xk(a,"N")+Xk(a,"Z")+Xk(a,"V")+Xk(a,"C");b&&(b=d,c=""+(Yk(a,sk)+Yk(a,tk)),c+=Yk(a,uk)+Yk(a,vk)+Yk(a,qk),c=c+"\n"+(Yk(a,xk)+Yk(a,mk)+Yk(a,wk)),d=b+("\n"+c));return d}h.me=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Jh(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];var t=Ia(n,l,a.me);0>t&&n.splice(-(t+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({Jk:b,L:c,Mf:d,ha:e,ie:f})}function $k(a,b,c){var d=[],e=bk(b)>>>0;for(b=0;b<a.C.length;b++){var f=a.C[b],g=f.L>>>0,k=f.Mf;if(e>=g&&e<g+k){e=Ia(f.ie,[e-g],a.me);0<=e?al(a,b,e,d):c&&(e=~e,al(a,b,e-1,d),al(a,b,e,d));break}}return d}
|
||||
function al(a,b,c,d){var e={},f=a.C[b].ie,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].ha[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function bl(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Vj(a)||a.v("no variables"),!0;if(!c[2])return Vj(a,c[1]);if(!c[3])return delete a.i[c[1]],!0;b=Tj(a,c[3]);return void 0!==b?(a.i[c[1]]={value:b,jh:void 0},!0):!1}a.v("invalid assignment:"+b);return!1}
|
||||
function cl(a,b,c){var d=null;if(b=gk(a,b,!0)){var e=$k(a,b,!0);if(e.length){var f;if(e[0]){var g="";(f=b.L-e[1])&&(g=" + "+ya(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.L)&&(g=" - "+ya(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 Dk(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=Tj(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":Ac(e,
|
||||
"";ve(d,a,!0);return!0}return!1}),!0;case "step":return this.H[b]=c,bb(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=Ec(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function ue(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.Od=function(a,b){var c=255,d=ak(a);-1!==d&&(a.Ma||65535<d?(c=this.F,d=Ye(this.f,d),c.C=!1,c.na++,d=od(c,d).j(d&c.i,d),c.na--):(c=this.f,c.pa++,d=c.F.Kd(Lc(c,d,3)),c.pa--),c=d,b&&gk(a,b));return c};
|
||||
h.Ra=function(a,b){var c=65535,d=ak(a);-1!==d&&(c=a.Ma||65535<d?Mc(this.F,Ye(this.f,d)):Nc(this.f,d),b&&gk(a,b));return c};h.Pd=function(a,b,c){var d=ak(a);if(-1!==d){if(a.Ma||65535<d)pd(this.F,Ye(this.f,d),b);else{var e=this.f;e.pa++;e.F.Ld(Lc(e,d,5),b);e.pa--}c&&gk(a,c);Ic(this.J,-1)}};h.Le=function(a,b,c){var d=ak(a);if(-1!==d){if(a.Ma||65535<d)Kc(this.F,Ye(this.f,d),b);else{var e=this.f;e.pa++;e.F.Yb(Lc(e,d,4),b);e.pa--}c&&gk(a,c);Ic(this.J,-1)}};
|
||||
function fk(a,b,c){c=(c?a.I:a.Fa).L;var d;if(void 0!==b){a:{var e=a.O[0];c=a.O[1];var f="("==e||"{"==e||"["==e?"\\":"";var g="["==e?"\\":"";for(g=new RegExp(f+e+"([^"+g+e+g+c+"]+)"+f+c);f=b.match(g);){var k=Sj(a,f[1]);if(void 0===k){b=void 0;break a}b=b.replace(e+f[1]+c,null!=k?K(a,k):"undefined")}if(a.ja.length)for(e=a.ja[0],c=a.ja[1],f="("==e||"{"==e||"["==e?"\\":"",g="["==e?"\\":"",g=new RegExp(f+e+"([^"+g+e+g+c+"]+)"+f+c);f=b.match(g);)b=b.replace("["+f[1]+"]","unimplemented");for(;e=b.match(/\$([a-z]+)/i);){c=
|
||||
null;switch(e[1].toLowerCase()){case "ops":c=0}if(null==c)break;b=b.replace(e[0],c.toString())}}if("%"==b.charAt(0)){var l=!0;b=b.substr(1)}e=b;var m;a:{c=a.F;f=e.toUpperCase();for(n in c.Pa)if(g=+n,c.Pa[g][4]==f){var n=c.B+g;break a}n=null}if(null==n&&e.match(/^[a-z_][a-z0-9_]*$/i))for(e=e.toUpperCase(),c=0;c<a.C.length;c++)if(f=a.C[c].ha[e],null!=f){n=f.o;break}null!=n&&(m=X(n));if(e=m)return e;0<=b.indexOf("0x")?d=16:0<=b.indexOf("0o")?d=8:0<=b.indexOf(".")&&(d=10);c=Sj(a,b)}null!=c&&(e=X(c,l,
|
||||
d));return e}function hk(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.he=Jj(a,b.Nc=c[2]))}function gk(a,b){null!=a.L&&(a.L+=b||1)}function ik(a,b){return(b.Ma?"%":"")+K(a,b.L)}
|
||||
function Yj(a,b){a.D=a;a.ia=a.ke=1073741824;a.U=null;a.N=[];b=Jj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in fc){a:{var d=void 0;if(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.ia|=fc[c],a.v(c+" messages enabled"))}}function Ad(a,b,c){for(var d in fc)if(b==fc[d]){a.la[d]=c;break}}
|
||||
h.re=function(a){a=a.toUpperCase();var b=jk[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function kk(a,b){if(b<lk||a.g)var c=mk[b];return c||""}
|
||||
h.zd=function(a){if(0<=a)if(8>a)var b=this.f.g[a];else if(16>a)b=this.f.ta[a-8];else if(20>a)b=this.f.Y[a-16];else{var c=this.f,d=this.g;switch(a){case nk:b=Kd(this.f);break;case ok:b=c.mb;break;case pk:b=c.P;break;case qk:b=c.Fa&65280;break;case rk:b=Dd(c);break;case sk:b=Fd(c);break;case tk:b=Hd(c);break;case uk:b=c.X;break;case lk:d&&(b=d.fa);break;case vk:d&&(b=d.Cb);break;case wk:d&&(b=d.Va)}}return b};
|
||||
h.message=function(a,b){b&&(a+=" @"+ik(this,X(this.f.O&65535)));if(!this.U||a!=this.U)if(this.U=a,this.ia&536870912)this.N.push(a);else{var c;if(this.ia&-2147483648&&this.f&&(c=this.f.A.V)||Nb(this,!0))xk(this),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,Be(a),a.yb=0,a.J&&Ic(a.J,void 0))}};
|
||||
function Xj(a){var b;if(!Df(a))a.j&&a.j.length&&a.v("instruction history buffer freed"),a.S=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(yk);for(b=0;b<a.j.length;b++)a.j[b]=X();a.S=0;a.v("instruction history buffer allocated")}}function zk(a,b,c){if(!Ak(a,c))return!1;Dc(a.f,b);return!0}
|
||||
function Ec(a,b,c,d){if(!Ak(a))return!1;var e="";null===c&&(e=(c=!a.ta||"tr"==a.ta)?"tr":"t");a.B=0;b||Df(a)&&Ef(a,a.f.g[7],0);try{b=Ce(a.f,b);var f=a.f.zc(b);0<f&&(Fc(a.f,f),a.B+=f,Gc(a.f,f,!0),Hc(a.f,f),a.Z++)}catch(g){"number"!=typeof g&&(b=g,a.B=0,Kb(a.f,b.stack||b.message))}!1!==d&&(a.g&&a.g.stop(),Ic(a.J,-1));te(a,c||!1,e);return 0<a.B}function xk(a,b){a.f&&H(a.f,b)}
|
||||
function te(a,b,c){if(a.Ga){void 0===b&&(b=!0);c&&a.v(Bk+c);c=a.f;if(c=c.i&128?c.Bc|c.Ac<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Vb[-d]:K(a,d))+")")}a.I=X(a.f.g[7]);b&&1!=a.K?Ck(a):Dk(a)}}function Ak(a,b){var c;(c=!a.f||!Mb(a.f))||(c=a.f,c.A.ca?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Lb(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
|
||||
h.Ba=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Xj(this);this.Z=0;this.U=null;this.B=0;this.I=X(this.f.g[7]);this.A.V=!1;Ek(this);a||te(this)};h.save=function(){var a=new G(this);a.set(0,bk(this.I));a.set(1,bk(this.P));a.set(2,[this.u,this.R,this.ia]);a.set(3,this.C);return a.data()};
|
||||
h.restore=function(a){var b=0;void 0!==a[2]&&(this.I=ck(this,a[b++]),this.P=ck(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.ia|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.K||this.v("running");this.A.V=!0;this.Ha=a;this.Ia=b};
|
||||
h.stop=function(a,b){if(this.A.V){this.A.V=!1;this.B=b-this.Ia;if(!this.K){b="stopped";if(this.B){a-=this.Ha;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";Df(this)&&(b+=this.Z+" instructions, ",this.Z=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}te(this,!0);ue(this);Ek(this,this.f.g[7]);this.U=null}};function Df(a){return 1<a.b.length||!!a.ga}
|
||||
function Ef(a,b,c){var d=-1;c||(d=Nc(a.f,b),0==d&&(a.f.O&65535)==b&&(b=Pe(a.f,2)));if(0<c&&(a.ga&&!--a.ga||Fk(a,b,1,a.b)))return!0;0<=c&&a.j.length&&(a.Z++,0>d&&(d=Nc(a.f,b)),65535!=(d&65535)&&(a.Fd(a.j[a.S],b),++a.S==a.j.length&&(a.S=0)));return!1}function Jg(a){var b=a.f;if(b.A.V)throw Ac(b,a.f.O&65535),xk(a),-1;return!1}function ke(a,b,c){Fk(a,b,c||1,a.M)&&xk(a,!1)}function le(a,b,c){Fk(a,b,c||1,a.G)&&xk(a,!1)}
|
||||
function Wj(a){var b;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){var c=a.M[b];var d=ak(c);c.Ma?(c=a.F,je(c.b[d>>>c.g],!1)):af(a.f,!1)}a.M=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=ak(c),c.Ma?(c=a.F,je(c.b[d>>>c.g],!0)):af(a.f,!0);a.G=["bw"];a.pa=0;a.ga=0}
|
||||
h.zb=function(a,b,c){var d=!0;c||Gk(this,a,b,!1,!0);if(a!=this.b){var e=ak(b);if(-1===e)this.v("invalid address: "+ik(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ma=!0);if(b.Ma){var g=this.F;g.b[e>>>g.g].zb(e&g.i,f)}else e=this.f,(f?e.qc++:e.oc++)||Ie(e)}}d&&(a.push(b),c?b.Ta=!0:(Hk(this,a,a.length-1,"set"),Xj(this)));return d};
|
||||
function Gk(a,b,c,d,e){var f=!1;c=ak(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==ak(k)&&(!d||k.Ta)){f=!0;k.Ta||e||Hk(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(b=b==a.G,k.Ma?(d=a.F,je(d.b[c>>>d.g],b)):af(a.f,b));k.Ta||Xj(a);break}}return f}function Ik(a,b){for(var c=1;c<b.length;c++)Hk(a,b,c);return b.length-1}function Hk(a,b,c,d){c=b[c];a.v(b[0]+" "+ik(a,c)+(d?" "+d:c.Nc?' "'+c.Nc+'"':""))}
|
||||
function Ek(a,b){if(void 0!==b)Fk(a,b,1,a.b,!0),a.K=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.Ta){if(!Gk(a,a.b,c,!0))break;b=0}}}
|
||||
function Fk(a,b,c,d,e){var f=!1;if(!a.pa++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Ta)for(var l=ak(k)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==l){var n;f=!0;k.Ta&&(Gk(a,d,k,!0),e=!0);if(n=k.he){f=!1;for(var t=0;t<n.length;t++)if(!Jk(a,n[t],!0)){if(n[t].indexOf("if")){f=!0;break}for(var r=t+1;r<n.length&&n[r].indexOf("else");r++)t++;if(r==n.length){f=!0;break}}a.f.A.V||(f=!0)}if(f){e||Hk(a,d,g,"hit");break}}}a.pa--;return f}
|
||||
function Kk(a,b,c,d){var e=X(b.L),f=a.Ra(b,2),g,k;for(k in a.Ja)if(g=a.Ja[k][f&k])break;g||(g=Lk);var l=g[0];0<=a.Y.indexOf(l)&&(g=Lk,l=g[0]);var m=k="",n=Mk[l],t=g.length-1;l||t||(k=K(a,f));for(l=1;l<=t;l++){var r=g[l];if(void 0!==r){var p=a;var z=r;r=b;var B="";var C=z&Nk;if(C==Y)r=r.L+((f&255)<<24>>23)&65535,B=K(p,r);else if(C==Ok)r=r.L-((f&63)<<1)&65535,B=K(p,r);else if(C==Pk)B=K(p,f&7,3);else if(C==Qk)B=K(p,f&63,6);else if(C==Rk)B=K(p,f&255,8);else if(C=f&z,z&Sk&&(C>>=6,z>>=6),z&Z){z=null;var J=
|
||||
C&Tk;switch(C&Uk){case 0:B=kk(p,J);break;case 8:B="@"+kk(p,J);z=Vk(p,p.f.g[J]);break;case 16:7>J?B="("+kk(p,J)+")+":(C=p.Ra(r,2),B="#"+K(p,C,-1));break;case 24:7>J?B="@("+kk(p,J)+")+":(C=p.Ra(r,2),B="@#"+K(p,C,-1),z=Vk(p,C));break;case 32:B="-("+kk(p,J)+")";break;case 40:B="@-("+kk(p,J)+")";break;case 48:C=p.Ra(r,2);B=K(p,C,-1)+"("+kk(p,J)+")";7==J&&(B=K(p,C=C+r.L&65535),z=Vk(p,C));break;case 56:C=p.Ra(r,2),B="@"+K(p,C)+"("+kk(p,J)+")",7==J&&(B="@"+K(p,C=C+r.L&65535),z=Vk(p,Nc(p.f,C)))}z&&(B=[B,z])}p=
|
||||
B;if(!p||!p.length){k="INVALID";break}"string"!=typeof p&&(m=p[1],p=p[0]);0<k.length&&(k+=",");k+=p||"???"}}f="";g=ik(a,e)+":";if(-1!==e.L&&-1!==b.L){do if(f+=" "+K(a,a.Ra(e,2)),null==e.L)break;while(e.L!=b.L)}g+=Fa(f,24);g+=Fa(n,5);k&&(g+=" "+k);if(c||m)g=Fa(g,60)+";"+(c||""),g=a.f.A.Lb?g+("cycles="+we(a.f).toString()+" cs="+v(a.f.lc)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
|
||||
function Vk(a,b){b=Ze(a.f,b)[0];b>=a.f.sb&&b<a.F.B&&(b=b-a.f.sb+a.F.B);var c=a.F;a=null;b>=c.B&&(b=c.Pa[b&td])&&(a=b[4]);return a}function Wk(a,b){switch(b){case "N":a=Oe(a.f);break;case "Z":a=Ne(a.f);break;case "V":a=Me(a.f);break;case "C":a=Le(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Xk(a,b){var c=kk(a,b);c&&(c+="="+K(a,a.zd(b))+" ");return c}
|
||||
function Yk(a,b){var c,d="";for(c=0;6>c;c++)d+=Xk(a,c);d=d+"\n"+(Xk(a,6)+Xk(a,7));d+=Xk(a,nk)+Xk(a,ok)+Xk(a,qk);d+=Wk(a,"T")+Wk(a,"N")+Wk(a,"Z")+Wk(a,"V")+Wk(a,"C");b&&(b=d,c=""+(Xk(a,rk)+Xk(a,sk)),c+=Xk(a,tk)+Xk(a,uk)+Xk(a,pk),c=c+"\n"+(Xk(a,wk)+Xk(a,lk)+Xk(a,vk)),d=b+("\n"+c));return d}h.me=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Jh(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];var t=Ia(n,l,a.me);0>t&&n.splice(-(t+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({Jk:b,L:c,Mf:d,ha:e,ie:f})}function Zk(a,b,c){var d=[],e=ak(b)>>>0;for(b=0;b<a.C.length;b++){var f=a.C[b],g=f.L>>>0,k=f.Mf;if(e>=g&&e<g+k){e=Ia(f.ie,[e-g],a.me);0<=e?$k(a,b,e,d):c&&(e=~e,$k(a,b,e-1,d),$k(a,b,e,d));break}}return d}
|
||||
function $k(a,b,c,d){var e={},f=a.C[b].ie,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].ha[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function al(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Uj(a)||a.v("no variables"),!0;if(!c[2])return Uj(a,c[1]);if(!c[3])return delete a.i[c[1]],!0;b=Sj(a,c[3]);return void 0!==b?(a.i[c[1]]={value:b,jh:void 0},!0):!1}a.v("invalid assignment:"+b);return!1}
|
||||
function bl(a,b,c){var d=null;if(b=fk(a,b,!0)){var e=Zk(a,b,!0);if(e.length){var f;if(e[0]){var g="";(f=b.L-e[1])&&(g=" + "+ya(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.L)&&(g=" - "+ya(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 Ck(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=Sj(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":Ac(e,
|
||||
g);a.I=X(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.K=g?0:1;break;case "V":e.G=g?32768:0;break;case "C":e.C=g?65536:0;break;case "PS":Ld(e,g);break;case "PI":Jd(e,g);break;case "ER":e.P=g;d=!0;break;case "SL":e.Fa=g|255;break;case "M0":Ed(e,g);d=!0;break;case "M3":Id(e,g);d=!0;break;case "AR":a.g&&(d=a.g,sc(d,d.fa=g));d=!0;break;case "DR":a.g&&ic(a.g,g);d=!0;break;case "SR":a.g&&tc(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}Ic(a.J);a.v("updated registers:")}}a.v(Zk(a,d));c&&(a.I=X(e.g[7]),Ek(a,jk(a,a.I)))}}function dl(a,b){b=Ga(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.v(c[2]):Uj(a,null,c[2].charCodeAt(0)):Tj(a,b,!1)}
|
||||
function el(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=Oj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ta=b;ab(c,function(){return Ob(a,!0)&&Ec(a,e,d,!1)},function(){a.g&&a.g.stop();Ic(a.J,-1);Ob(a,!1)})}}
|
||||
function Ek(a,b,c,d){if(b=gk(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Oj(a,c.substr(1)),null!=c&&(d=c);else{d=gk(a,c,!0);if(!d||d.L<b.L)return;e=d.L-b.L;if(256<e){a.v("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Nb(a,!1)||a.K?a.B:null;var g=null!=f?"cycles":null,k=$k(a,b),l=b.L;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=Lk(a,b,g,f);a.v(f);a.I=b;e-=b.L-l;c++}}}
|
||||
function Kk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(Ck+b):(a.R&&(a.v("ended assemble at "+jk(a,a.P)),a.I=a.P,a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Mb(a)&&0<b.length){a.R&&(b="a "+jk(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 t=
|
||||
gk(a,g[1],!0);if(t)if(a.P=t,void 0===g[2])a.v("begin assemble at "+jk(a,t)),a.R=!0,Ic(a.J);else{a.v("not supported yet");var r=[];if(r.length){for(var p=0;p<r.length;p++)a.Pd(t,r[p],1);a.v(Lk(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 Wb=0+Jk(a,a.b);Wb+=Jk(a,a.M);(Wb+=Jk(a,a.G))||a.v("no breakpoints")}else if("n"==J){var Gd=+B||0;B&&(a.ga=Gd);a.v("break after "+Gd+" instruction(s)")}else if(void 0===B)a.v("missing breakpoint address");else{var ua=X();if("*"!=B&&(ua=gk(a,B,!0),!ua))break a;"c"==J?null==ua.L?(Xj(a),a.v("all breakpoints cleared")):Hk(a,a.b,ua)||Hk(a,a.M,ua)||Hk(a,a.G,ua)||a.v("breakpoint missing: "+jk(a,ua)):null!=ua.L&&(ik(a,ua,C),"p"==J?a.zb(a.b,ua):"r"==J?a.zb(a.M,ua):"w"==
|
||||
J?a.zb(a.G,ua):a.v("unknown breakpoint command: "+J))}}}break;case "c":var Bi=a.J;Bi.w&&(Bi.w.value="");break;case "d":a:{var ac,nb=g[0],Wa=g[1],ob=g[2],El=g[3];if("?"==Wa){var bc="";for(ac in fc)a.la[ac]&&(bc&&(bc+=","),bc+=ac);bc+=",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");bc.length&&a.v("dump extension commands:\n\t"+bc)}else if("state"==Wa){var lf=fl(a.J,!0);if("console"==ob)console.log(lf);else{var Ci=a.J;Ci.w&&(Ci.w.value="");lf&&a.v(lf)}}else if("symbols"==Wa)for(var mf=0;mf<a.C.length;mf++){var nf=a.C[mf],cc;for(cc in nf.ha)if("."!=cc.charAt(0)){var Di=nf.ha[cc].o;if(void 0!==Di){var Ei=nf.ha[cc].l;Ei&&(cc=Ei);a.v(K(a,Di)+" "+cc)}}}else{if("d"==nb){for(ac in fc)if(g[1]==ac){var Fi=a.la[ac];Fi?
|
||||
(g.shift(),g.shift(),Fi(g)):a.v("no dump registered for "+Wa);break a}Wa||(nb=a.Ka||"dw")}else a.Ka=nb;if("dh"==nb){var Gi=Wa,Hi=ob,Ii="",Ji=0,Ka=a.S,Xa=a.j;if(Xa.length){var Ea=+Gi||a.sa,Pc=+Hi||10;isNaN(Ea)?Ea=Pc:Ii="more ";Ea>Xa.length&&(a.v("note: only "+Xa.length+" available"),Ea=Xa.length);Ka-=Ea;0>Ka&&(null==Xa[Xa.length-1].L?(Ea=Ka+Ea,Ka=0):Ka+=Xa.length);var of=[];"call"==Hi&&(Pc=1E5,of=["CALL"]);for(void 0!==Gi&&a.v(Ea+" instructions earlier:");0<Pc&&Ka!=a.S;){var Ki=Xa[Ka++];if(null==Ki.L)break;
|
||||
var Qc=X(Ki.L),Fl=Ea--,Li=Lk(a,Qc,"history",Fl);(!of.length||0<=Li.indexOf(of[0]))&&a.v(Li);Qc.wd&&(Ka+=Qc.wd,Pc-=Qc.wd,Ea-=Qc.wd);Ka>=Xa.length&&(Ka=0);a.sa=Ea;Ji++;Pc--}}Ji||(a.v("no "+Ii+"history available"),a.sa=void 0)}else{var qa=gk(a,Wa);if(qa)if("da"==nb){var pf=qa.Ma||65535<qa.L,O=Ze(a.f,qa.L||0,pf);a.v(Fa("",pf?12:19)+wa(qa.L,pf?22:17,3)+" "+u(qa.L,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+wa(O[3],13,3)+" "+u(O[3],8)),a.v("UNIMAP["+xa(O[1],2)+"]: "+wa(O[2],22,3)+" "+
|
||||
u(O[2],8))),a.v(" PHYSICAL: "+wa(O[0],22,3)+" "+u(O[0],8))):(a.v(" OFFSET: "+wa(O[1],13,3)+" "+u(O[1],8)),a.v("+ "+gl[O[2]]+"PAR"+O[3]+": "+wa(O[4],22,3)+" "+u(O[4],8)),a.v("& MMUMASK: "+wa(O[5],22,3)+" "+u(O[5],8)),a.v("= PHYSICAL: "+wa(O[0],22,3)+" "+u(O[0],8)))}else{var yb=0,qf="ds"==nb;if(ob){if("l"==ob.charAt(0))ob=ob.substr(1)||El,yb=Oj(a,ob);else{var Mi=gk(a,ob);Mi&&(yb=Mi.L-qa.L)}0>yb&&(yb=0);65536<yb&&(yb=65536)}var Hl=a.W;qa.W&&(a.W=qa.W);for(var zb="dd"==nb?4:"db"==
|
||||
nb?1:2,Pd=zb*yb||128,rf=qf?16:a.W,Il=(Pd+rf-1)/rf|0||1,Ab="";Il--&&0<Pd;){var Bb="",Ni="";Wa=jk(a,qa);for(var Qd=rf,Rd=0,Sd=0;0<Qd&&0<Pd;){var dc=1,sf=1==zb?a.Od(qa,dc):a.Ra(qa,dc=2);Rd|=sf<<(Sd<<3);Sd+=dc;Sd==zb&&(qf?(Bb&&(Bb+=","),Bb+="0x"+v(Rd,zb<<1)):(Bb+=K(a,Rd,zb<<3),Bb+=1==zb?9==Qd?"-":" ":" "),Rd=Sd=0);Qd-=dc;for(Pd-=dc;1==zb&&dc--;){var tf=sf&255;Ni+=32<=tf&&128>tf?String.fromCharCode(tf):".";sf>>=8}}Ab&&(Ab+="\n");Ab=qf?Ab+(Bb+","):Ab+(Wa+": "+Bb+(0==Qd?" "+Ni:""))}Ab&&a.v(Ab);a.Fa=qa;
|
||||
a.W=Hl}}}}break;case "e":if("else"==g[0])break;var uf=g[0],vf=g[1];if("eb"==uf){var Rc=1;var Oi=255;var Pi=a.Od;var Qi=a.Pd}else"e"==uf||"ew"==uf?(Rc=2,Oi=65535,Pi=a.Ra,Qi=a.Le):vf=null;if(null==vf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Td=gk(a,vf);if(Td)for(var Ud=2;Ud<g.length;Ud++){var Sc=Tj(a,g[Ud]);if(void 0===Sc){a.v("unrecognized value: "+g[Ud]);break}Sc&~Oi&&a.v("warning: "+v(Sc)+" exceeds "+Rc+"-byte value");
|
||||
a.v("changing "+jk(a,Td)+(E(a,16)?"":" from "+K(a,Pi.call(a,Td),Rc<<3))+" to "+K(a,Sc,Rc<<3));Qi.call(a,Td,Sc,Rc)}}break;case "g":a:{var Ri=g[1],Jl=b;if(void 0!==Ri){var wf=gk(a,Ri,!0);if(!wf)break a;ik(a,wf,Jl);a.zb(a.b,wf,!0)}Ak(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),yk(a)):Nb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var Tc=b.substr(2);Tc=Ga(Tc);if(Tj(a,Tc)){c||a.v("true: "+Tc);var Si=!0}else c||a.v("false: "+Tc),Si=!1;Si||(d=!1);break}f=!0;break;case "k":var Kl=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(),Uc=X(a.f.g[6]);for(a.v("stack trace for "+jk(a,Uc));10>xf;){for(var Cb=null,Ll=256;65536>Uc.L>>>0;){yf.L=a.Ra(Uc,2);if(null==Uc.L||!Ll--)break;if(!(yf.L&1)){for(var Ml=a,Vd=yf,Ti=null,Vc=Vd.L,Ui=Vc,zf=1;6>=zf&&Vc;zf++){if(2<zf){Vd.L=Vc;var Wd=Lk(Ml,Vd);if(0<=Wd.indexOf("JSR")){var Vi=Wd.indexOf(" ");if(Vc+(Wd.indexOf(" ",Vi+1)-Vi-1)/2==Ui){Ti=Wd;break}}}Vc-=2}Vd.L=Ui;
|
||||
if(Cb=Ti)break}}if(!Cb||null==Cb)break;var Wi=null;if("ks"==Kl){var Xi=Cb.match(/[0-9A-F]+$/);Xi&&(Wi=cl(a,Xi[0]))}Cb=Fa(Cb,50)+" ;"+(Wi||"stack="+jk(a,Uc));a.v(Cb);xf++}xf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){cl(a,g[1],!0);break}f=!0;break;case "m":a:{var Ya,Za=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var pb=0;if("all"==T)pb=1610610687,T=null;else if("on"==T)Za=!0,T=null;else if("off"==T)Za=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Ya in fc)if(T==
|
||||
Ya){pb=fc[Ya];Za=!!(a.ia&pb);break}if(!pb){a.v("unknown message category: "+T);break a}}if(pb)if("on"==g[2])a.ia|=pb,Za=!0;else if("off"==g[2]&&(a.ia&=~pb,Za=!1,536870912==pb)){for(var Yi=1E3<=a.N.length?a.N.length-1E3:0;Yi<a.N.length;)a.v(a.N[Yi++]);a.N=[]}}var Nl=0,Wc="";for(Ya in fc)if(!T||T==Ya){var Ol=!!(a.ia&fc[Ya]);if(null===Za||Za==Ol)Wc&&(Wc+=","),++Nl%10||(Wc+="\n\t"),"key"==Ya&&(Ya="keys"),Wc+=Ya}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==
|
||||
Za?Za?"messages on: ":"messages off: ":"message categories:\n\t")+(Wc||"none"));Yj(a)}break;case "p":if("print"==g[0]){dl(a,b.substr(5));break}var Pl=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 Zi="pr"==Pl?1:0,$i=1+Zi;if(a.K)a.v("step in progress");else{var Xd=X(a.f.g[7]),ec=a.Ra(Xd);3==ec||4==ec||34816==(ec&65280)||32256==(ec&65024)||35072==(ec&65280)?(a.K=$i,hk(Xd,2)):2048==(ec&65024)&&(Lk(a,Xd),a.K=
|
||||
$i);a.K?(a.zb(a.b,Xd,!0),Ak(a)||(a.J&&Ae(a.J),a.K=0)):el(a,Zi?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}Dk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Xc=+g[2];if(8==Xc||10==Xc||16==Xc)a.W=Xc;else{a.v("invalid base: "+Xc);break}}a.v("default base: "+a.W);break;case "cs":var Yc;void 0!==g[3]&&(Yc=+g[3]);switch(g[2]){case "int":a.f.Kb=Yc;break;case "start":a.f.mc=Yc;break;case "stop":a.f.Ob=Yc;break;default:a.v("unknown cs option");break a}void 0!==Yc&&se(a.f);
|
||||
f);return}Ic(a.J);a.v("updated registers:")}}a.v(Yk(a,d));c&&(a.I=X(e.g[7]),Dk(a,ik(a,a.I)))}}function cl(a,b){b=Ga(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.v(c[2]):Tj(a,null,c[2].charCodeAt(0)):Sj(a,b,!1)}
|
||||
function dl(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=Nj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ta=b;ab(c,function(){return Ob(a,!0)&&Ec(a,e,d,!1)},function(){a.g&&a.g.stop();Ic(a.J,-1);Ob(a,!1)})}}
|
||||
function Dk(a,b,c,d){if(b=fk(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Nj(a,c.substr(1)),null!=c&&(d=c);else{d=fk(a,c,!0);if(!d||d.L<b.L)return;e=d.L-b.L;if(256<e){a.v("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Nb(a,!1)||a.K?a.B:null;var g=null!=f?"cycles":null,k=Zk(a,b),l=b.L;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=Kk(a,b,g,f);a.v(f);a.I=b;e-=b.L-l;c++}}}
|
||||
function Jk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(Bk+b):(a.R&&(a.v("ended assemble at "+ik(a,a.P)),a.I=a.P,a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Mb(a)&&0<b.length){a.R&&(b="a "+ik(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 t=
|
||||
fk(a,g[1],!0);if(t)if(a.P=t,void 0===g[2])a.v("begin assemble at "+ik(a,t)),a.R=!0,Ic(a.J);else{a.v("not supported yet");var r=[];if(r.length){for(var p=0;p<r.length;p++)a.Pd(t,r[p],1);a.v(Kk(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 Wb=0+Ik(a,a.b);Wb+=Ik(a,a.M);(Wb+=Ik(a,a.G))||a.v("no breakpoints")}else if("n"==J){var Gd=+B||0;B&&(a.ga=Gd);a.v("break after "+Gd+" instruction(s)")}else if(void 0===B)a.v("missing breakpoint address");else{var ua=X();if("*"!=B&&(ua=fk(a,B,!0),!ua))break a;"c"==J?null==ua.L?(Wj(a),a.v("all breakpoints cleared")):Gk(a,a.b,ua)||Gk(a,a.M,ua)||Gk(a,a.G,ua)||a.v("breakpoint missing: "+ik(a,ua)):null!=ua.L&&(hk(a,ua,C),"p"==J?a.zb(a.b,ua):"r"==J?a.zb(a.M,ua):"w"==
|
||||
J?a.zb(a.G,ua):a.v("unknown breakpoint command: "+J))}}}break;case "c":var Ai=a.J;Ai.w&&(Ai.w.value="");break;case "d":a:{var ac,nb=g[0],Wa=g[1],ob=g[2],Dl=g[3];if("?"==Wa){var bc="";for(ac in fc)a.la[ac]&&(bc&&(bc+=","),bc+=ac);bc+=",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");bc.length&&a.v("dump extension commands:\n\t"+bc)}else if("state"==Wa){var lf=el(a.J,!0);if("console"==ob)console.log(lf);else{var Bi=a.J;Bi.w&&(Bi.w.value="");lf&&a.v(lf)}}else if("symbols"==Wa)for(var mf=0;mf<a.C.length;mf++){var nf=a.C[mf],cc;for(cc in nf.ha)if("."!=cc.charAt(0)){var Ci=nf.ha[cc].o;if(void 0!==Ci){var Di=nf.ha[cc].l;Di&&(cc=Di);a.v(K(a,Ci)+" "+cc)}}}else{if("d"==nb){for(ac in fc)if(g[1]==ac){var Ei=a.la[ac];Ei?
|
||||
(g.shift(),g.shift(),Ei(g)):a.v("no dump registered for "+Wa);break a}Wa||(nb=a.Ka||"dw")}else a.Ka=nb;if("dh"==nb){var Fi=Wa,Gi=ob,Hi="",Ii=0,Ka=a.S,Xa=a.j;if(Xa.length){var Ea=+Fi||a.sa,Pc=+Gi||10;isNaN(Ea)?Ea=Pc:Hi="more ";Ea>Xa.length&&(a.v("note: only "+Xa.length+" available"),Ea=Xa.length);Ka-=Ea;0>Ka&&(null==Xa[Xa.length-1].L?(Ea=Ka+Ea,Ka=0):Ka+=Xa.length);var of=[];"call"==Gi&&(Pc=1E5,of=["CALL"]);for(void 0!==Fi&&a.v(Ea+" instructions earlier:");0<Pc&&Ka!=a.S;){var Ji=Xa[Ka++];if(null==Ji.L)break;
|
||||
var Qc=X(Ji.L),El=Ea--,Ki=Kk(a,Qc,"history",El);(!of.length||0<=Ki.indexOf(of[0]))&&a.v(Ki);Qc.wd&&(Ka+=Qc.wd,Pc-=Qc.wd,Ea-=Qc.wd);Ka>=Xa.length&&(Ka=0);a.sa=Ea;Ii++;Pc--}}Ii||(a.v("no "+Hi+"history available"),a.sa=void 0)}else{var qa=fk(a,Wa);if(qa)if("da"==nb){var pf=qa.Ma||65535<qa.L,O=Ze(a.f,qa.L||0,pf);a.v(Fa("",pf?12:19)+wa(qa.L,pf?22:17,3)+" "+u(qa.L,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+wa(O[3],13,3)+" "+u(O[3],8)),a.v("UNIMAP["+xa(O[1],2)+"]: "+wa(O[2],22,3)+" "+
|
||||
u(O[2],8))),a.v(" PHYSICAL: "+wa(O[0],22,3)+" "+u(O[0],8))):(a.v(" OFFSET: "+wa(O[1],13,3)+" "+u(O[1],8)),a.v("+ "+fl[O[2]]+"PAR"+O[3]+": "+wa(O[4],22,3)+" "+u(O[4],8)),a.v("& MMUMASK: "+wa(O[5],22,3)+" "+u(O[5],8)),a.v("= PHYSICAL: "+wa(O[0],22,3)+" "+u(O[0],8)))}else{var yb=0,qf="ds"==nb;if(ob){if("l"==ob.charAt(0))ob=ob.substr(1)||Dl,yb=Nj(a,ob);else{var Li=fk(a,ob);Li&&(yb=Li.L-qa.L)}0>yb&&(yb=0);65536<yb&&(yb=65536)}var Gl=a.W;qa.W&&(a.W=qa.W);for(var zb="dd"==nb?4:"db"==
|
||||
nb?1:2,Pd=zb*yb||128,rf=qf?16:a.W,Hl=(Pd+rf-1)/rf|0||1,Ab="";Hl--&&0<Pd;){var Bb="",Mi="";Wa=ik(a,qa);for(var Qd=rf,Rd=0,Sd=0;0<Qd&&0<Pd;){var dc=1,sf=1==zb?a.Od(qa,dc):a.Ra(qa,dc=2);Rd|=sf<<(Sd<<3);Sd+=dc;Sd==zb&&(qf?(Bb&&(Bb+=","),Bb+="0x"+v(Rd,zb<<1)):(Bb+=K(a,Rd,zb<<3),Bb+=1==zb?9==Qd?"-":" ":" "),Rd=Sd=0);Qd-=dc;for(Pd-=dc;1==zb&&dc--;){var tf=sf&255;Mi+=32<=tf&&128>tf?String.fromCharCode(tf):".";sf>>=8}}Ab&&(Ab+="\n");Ab=qf?Ab+(Bb+","):Ab+(Wa+": "+Bb+(0==Qd?" "+Mi:""))}Ab&&a.v(Ab);a.Fa=qa;
|
||||
a.W=Gl}}}}break;case "e":if("else"==g[0])break;var uf=g[0],vf=g[1];if("eb"==uf){var Rc=1;var Ni=255;var Oi=a.Od;var Pi=a.Pd}else"e"==uf||"ew"==uf?(Rc=2,Ni=65535,Oi=a.Ra,Pi=a.Le):vf=null;if(null==vf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Td=fk(a,vf);if(Td)for(var Ud=2;Ud<g.length;Ud++){var Sc=Sj(a,g[Ud]);if(void 0===Sc){a.v("unrecognized value: "+g[Ud]);break}Sc&~Ni&&a.v("warning: "+v(Sc)+" exceeds "+Rc+"-byte value");
|
||||
a.v("changing "+ik(a,Td)+(E(a,16)?"":" from "+K(a,Oi.call(a,Td),Rc<<3))+" to "+K(a,Sc,Rc<<3));Pi.call(a,Td,Sc,Rc)}}break;case "g":a:{var Qi=g[1],Il=b;if(void 0!==Qi){var wf=fk(a,Qi,!0);if(!wf)break a;hk(a,wf,Il);a.zb(a.b,wf,!0)}zk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),xk(a)):Nb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var Tc=b.substr(2);Tc=Ga(Tc);if(Sj(a,Tc)){c||a.v("true: "+Tc);var Ri=!0}else c||a.v("false: "+Tc),Ri=!1;Ri||(d=!1);break}f=!0;break;case "k":var Jl=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(),Uc=X(a.f.g[6]);for(a.v("stack trace for "+ik(a,Uc));10>xf;){for(var Cb=null,Kl=256;65536>Uc.L>>>0;){yf.L=a.Ra(Uc,2);if(null==Uc.L||!Kl--)break;if(!(yf.L&1)){for(var Ll=a,Vd=yf,Si=null,Vc=Vd.L,Ti=Vc,zf=1;6>=zf&&Vc;zf++){if(2<zf){Vd.L=Vc;var Wd=Kk(Ll,Vd);if(0<=Wd.indexOf("JSR")){var Ui=Wd.indexOf(" ");if(Vc+(Wd.indexOf(" ",Ui+1)-Ui-1)/2==Ti){Si=Wd;break}}}Vc-=2}Vd.L=Ti;
|
||||
if(Cb=Si)break}}if(!Cb||null==Cb)break;var Vi=null;if("ks"==Jl){var Wi=Cb.match(/[0-9A-F]+$/);Wi&&(Vi=bl(a,Wi[0]))}Cb=Fa(Cb,50)+" ;"+(Vi||"stack="+ik(a,Uc));a.v(Cb);xf++}xf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){bl(a,g[1],!0);break}f=!0;break;case "m":a:{var Ya,Za=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var pb=0;if("all"==T)pb=1610610687,T=null;else if("on"==T)Za=!0,T=null;else if("off"==T)Za=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Ya in fc)if(T==
|
||||
Ya){pb=fc[Ya];Za=!!(a.ia&pb);break}if(!pb){a.v("unknown message category: "+T);break a}}if(pb)if("on"==g[2])a.ia|=pb,Za=!0;else if("off"==g[2]&&(a.ia&=~pb,Za=!1,536870912==pb)){for(var Xi=1E3<=a.N.length?a.N.length-1E3:0;Xi<a.N.length;)a.v(a.N[Xi++]);a.N=[]}}var Ml=0,Wc="";for(Ya in fc)if(!T||T==Ya){var Nl=!!(a.ia&fc[Ya]);if(null===Za||Za==Nl)Wc&&(Wc+=","),++Ml%10||(Wc+="\n\t"),"key"==Ya&&(Ya="keys"),Wc+=Ya}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==
|
||||
Za?Za?"messages on: ":"messages off: ":"message categories:\n\t")+(Wc||"none"));Xj(a)}break;case "p":if("print"==g[0]){cl(a,b.substr(5));break}var Ol=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 Yi="pr"==Ol?1:0,Zi=1+Yi;if(a.K)a.v("step in progress");else{var Xd=X(a.f.g[7]),ec=a.Ra(Xd);3==ec||4==ec||34816==(ec&65280)||32256==(ec&65024)||35072==(ec&65280)?(a.K=Zi,gk(Xd,2)):2048==(ec&65024)&&(Kk(a,Xd),a.K=
|
||||
Zi);a.K?(a.zb(a.b,Xd,!0),zk(a)||(a.J&&Ae(a.J),a.K=0)):dl(a,Yi?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}Ck(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Xc=+g[2];if(8==Xc||10==Xc||16==Xc)a.W=Xc;else{a.v("invalid base: "+Xc);break}}a.v("default base: "+a.W);break;case "cs":var Yc;void 0!==g[3]&&(Yc=+g[3]);switch(g[2]){case "int":a.f.Kb=Yc;break;case "start":a.f.mc=Yc;break;case "stop":a.f.Ob=Yc;break;default:a.v("unknown cs option");break a}void 0!==Yc&&se(a.f);
|
||||
a.v("checksums "+(a.f.A.Lb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(xe(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.vb.toFixed(2)+"Mhz")+" ("+a.f.kb+"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":el(a,g[0],g[1]);break;case "u":Ek(a,g[1],g[2],8);break;case "v":if("var"==g[0]){bl(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Qb||"PDP11")+" version 1.37.0 ("+a.f.ja+",RELEASE"+(Sb?",TYPEDARRAYS":Rb?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){dl(a,b.substr(1));break}var Af="commands:",Bf;for(Bf in hl)Af+="\n"+Fa(Bf,9)+hl[Bf];Df(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(bj){a.v("debugger error: "+(bj.stack||bj.message)),d=!1}return d}function ve(a,b,c){b=Kj(a,b,c);for(var d in b)if(!Kk(a,b[+d]))return!1;return!0}
|
||||
var hl={"?":"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"},Nk=".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(" "),
|
||||
ok=20,pk=21,qk=22,rk=23,sk=24,tk=25,uk=26,vk=27,mk=28,wk=29,xk=30,kk={SP:6,PC:7,PS:ok,PI:pk,ER:qk,SL:rk,M0:sk,M1:tk,M2:uk,M3:vk,AR:mk,DR:wk,SR:xk},nk="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(" "),gl="KI KD SI SD ?? ?? UI UD".split(" "),Uk=7,Vk=56,Z=Vk|Uk,Tk=4032,Y=4096,Pk=8192,Qk=12288,Rk=24576,Sk=32768,Ok=61440,ak={61440:{4096:[62,Tk,Z],8192:[47,Tk,Z],12288:[18,Tk,Z],16384:[14,Tk,Z],20480:[16,Tk,Z],24576:[3,Tk,Z],36864:[63,Tk,Z],40960:[48,
|
||||
Tk,Z],45056:[19,Tk,Z],49152:[15,Tk,Z],53248:[17,Tk,Z],57344:[94,Tk,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,Pk]},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,Sk],35072:[107,Sk]},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,Rk],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,Uk],152:[108,Qk]},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]}},Mk=[0],ek=[58,60,65,96,110,100,101,102,103,104,105],fk=[108,59,64],zk=1E3,Ck=">> ";db(function(){for(var a=A(document,y,"debugger"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Wj(d);ub(d,c)}});
|
||||
function il(a,b,c){x.call(this,"Computer",a,33554432);this.A.ca=!1;this.P=null;jl(this,b);this.M=qe(this,"autoPower",a,6);this.j=0;this.U=+a.busWidth||+a.buswidth;this.I=this.B=this.K=null;this.G=this.S=!1;this.C=this.u=null;this.R=this.N=this.O=!1;this.X=qe(this,"url")||"";(Math.random()+.1).toString(36);this.g=kl(this);if(this.f=Db("CPU",this.id)){this.D=Db("Debugger",this.id);this.F=new $c({id:this.tb+".bus",busWidth:this.U},this.f,this.D);var d=wb(this.id);if(this.w=(this.i=Db("Panel",this.id))&&
|
||||
a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":dl(a,g[0],g[1]);break;case "u":Dk(a,g[1],g[2],8);break;case "v":if("var"==g[0]){al(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Qb||"PDP11")+" version 1.37.0 ("+a.f.ja+",RELEASE"+(Sb?",TYPEDARRAYS":Rb?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){cl(a,b.substr(1));break}var Af="commands:",Bf;for(Bf in gl)Af+="\n"+Fa(Bf,9)+gl[Bf];Df(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(aj){a.v("debugger error: "+(aj.stack||aj.message)),d=!1}return d}function ve(a,b,c){b=Jj(a,b,c);for(var d in b)if(!Jk(a,b[+d]))return!1;return!0}
|
||||
var gl={"?":"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"},Mk=".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(" "),
|
||||
nk=20,ok=21,pk=22,qk=23,rk=24,sk=25,tk=26,uk=27,lk=28,vk=29,wk=30,jk={SP:6,PC:7,PS:nk,PI:ok,ER:pk,SL:qk,M0:rk,M1:sk,M2:tk,M3:uk,AR:lk,DR:vk,SR:wk},mk="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(" "),fl="KI KD SI SD ?? ?? UI UD".split(" "),Tk=7,Uk=56,Z=Uk|Tk,Sk=4032,Y=4096,Ok=8192,Pk=12288,Qk=24576,Rk=32768,Nk=61440,Zj={61440:{4096:[62,Sk,Z],8192:[47,Sk,Z],12288:[18,Sk,Z],16384:[14,Sk,Z],20480:[16,Sk,Z],24576:[3,Sk,Z],36864:[63,Sk,Z],40960:[48,
|
||||
Sk,Z],45056:[19,Sk,Z],49152:[15,Sk,Z],53248:[17,Sk,Z],57344:[94,Sk,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,Ok]},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,Rk],35072:[107,Rk]},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,Qk],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,Tk],152:[108,Pk]},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]}},Lk=[0],dk=[58,60,65,96,110,100,101,102,103,104,105],ek=[108,59,64],yk=1E3,Bk=">> ";db(function(){for(var a=A(document,y,"debugger"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Vj(d);ub(d,c)}});
|
||||
function hl(a,b,c){x.call(this,"Computer",a,33554432);this.A.ca=!1;this.P=null;il(this,b);this.M=qe(this,"autoPower",a,6);this.j=0;this.U=+a.busWidth||+a.buswidth;this.I=this.B=this.K=null;this.G=this.S=!1;this.C=this.u=null;this.R=this.N=this.O=!1;this.X=qe(this,"url")||"";(Math.random()+.1).toString(36);this.g=jl(this);if(this.f=Db("CPU",this.id)){this.D=Db("Debugger",this.id);this.F=new $c({id:this.tb+".bus",busWidth:this.U},this.f,this.D);var d=wb(this.id);if(this.w=(this.i=Db("Panel",this.id))&&
|
||||
this.i.H.print)for(b=0;b<d.length;b++){var e=d[b];e.T=this.i.T;e.print=this.i.print;e.v=this.i.v}this.v(Qb+" v1.37.0\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<d.length;b++)e=d[b],e.Aa&&e.Aa(this,this.F,this.f,this.D);b=null;e=qe(this,"resume",a);void 0!==e&&(1<e.length?b=this.B=e:this.b=parseInt(e,
|
||||
10));var f;if(a=qe(this,"state")||(f=!0,a.state))this.K=b=a,f||(this.G=!0,this.b=ll),this.b&&(this.C=new G(this,"1.37.0"),ml(this.C)?b=null:delete this.C);!b&&this.b&&(b=nl(this))&&(this.G=!0);if(b){var g=this;Na(b,null,!0,function(a,b,c){c?(g.B=null,g.G=!1,g.T("Unable to load machine state from server (error "+c+(b?": "+Ga(b):"")+")")):(g.I=b,g.S=!0);D(g)})}else D(this);this.H.power||(this.M=!0);!c&&this.M&&this.vc(this.pc)}else w("Unable to find CPU component")}q(il,x);
|
||||
function jl(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.P=b}function qe(a,b,c,d){var e=b.toLowerCase();e=Va(b)||Va(e);void 0===e&&a.P&&(e=a.P[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=il.prototype;
|
||||
h.vc=function(a,b){for(var c=this,d=wb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!Mb(f)){Mb(f,function(){c.vc(a,b)});return}}a.call(this,b)};function ol(a,b){var c=new G(a,"1.37.0",pl);if(ml(c)&&ql(c)){var d=c.get(rl),e=b?b.get(rl):"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.pc=function(a){void 0===a&&(a=this.b||(this.I?sl:ll));if(!this.j){this.j++;var b=!1,c=!1;this.O=!1;var d=this.C||new G(this,"1.37.0");if(a==tl)b=!0;else if(a>ll){if(ml(d,this.I)){this.u=new G(this,"1.37.0",ul);ml(this.u)&&(vl(this,d),a=wl,xl(this.u));this.u.set(rl,Ja());yl(this.u);var e=this.b&&!this.G;if(a==sl||sb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=ql(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ml(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.T("Error: "+g),"unable to verify user"==g&&(Ta(zl,""),this.g=null)):this.v(f+": "+g),xl(d),ml(d)?(c=ql(d),e=!0):c=!1))}e&&ol(this,c?d:null)}else a==wl&&d.clear()}else ol(this);delete this.I;delete this.C}e=wb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Al(this,g,d,b,c));b=[d,a,c];a!=tl?this.vc(this.oe,b):this.oe(b)}};
|
||||
function Al(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(/-[0-9]+\./i,".")))),"string"===typeof f&&(f=null),!b.Ca(f,d)&&f&&(w("Unable to restore state for "+b.type),a.K&&!a.S?(c.clear(),a.b=ll,window&&window.location.reload()):a.O=!0,b.Ca(null),e=!1),!d&&b.Ud){var g=b.Ud.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.R=!0;this.A.ca=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.f&&(Al(this,this.f,b,c,a),Ic(this,-2),this.f.qa());this.O&&(vl(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
|
||||
function vl(a,b){if(sb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.g||"";b=b.toString();var d={};d.app=Qb;d.ver="1.37.0";d.url=c;d.user=a;d.type="bug";d.data=b;Na("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function fl(a,b,c){var d="none";if(a.j)return null;a.j--;var e=new G(a,"1.37.0"),f=new G(a,"1.37.0",pl),g=Ja();f.set(rl,g);e.set(rl,g);e.set(Bl,"1.37.0");e.set(Cl,window?window.location.href:null);e.set(Dl,window?window.navigator.userAgent:"");if(a.f&&a.f.Ba){c&&(b&&(a.f.A.qa=a.f.A.V),H(a.f));var k=a.f.Ba(b,c);"object"===typeof k&&e.set(a.f.id,k);c&&(a.f.A.ca=!1,!1===k&&(d=null))}g=wb(a.id);for(var l=0;l<g.length;l++){var m=g[l];m.A.ca&&(m.Ba&&(k=m.Ba(b,c),"object"===typeof k&&e.set(m.id,k)),c&&(m.A.ca=
|
||||
!1,!1===k&&(d=null)))}d&&(c?(g=k=!1,b?(a.g&&Gl(a,a.g,e.toString()),yl(f)&&yl(e)||(d=null,k=g=!0)):a.b&&(k=!0,g=a.b==Ql),k&&e.clear(g)):d=e.toString());c&&(a.A.ca=!1,b=a.H.power)&&(b.textContent="Power");a.j=0;return d}
|
||||
10));var f;if(a=qe(this,"state")||(f=!0,a.state))this.K=b=a,f||(this.G=!0,this.b=kl),this.b&&(this.C=new G(this,"1.37.0"),ll(this.C)?b=null:delete this.C);!b&&this.b&&(b=ml(this))&&(this.G=!0);if(b){var g=this;Na(b,null,!0,function(a,b,c){c?(g.B=null,g.G=!1,g.T("Unable to load machine state from server (error "+c+(b?": "+Ga(b):"")+")")):(g.I=b,g.S=!0);D(g)})}else D(this);this.H.power||(this.M=!0);!c&&this.M&&this.vc(this.pc)}else w("Unable to find CPU component")}q(hl,x);
|
||||
function il(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.P=b}function qe(a,b,c,d){var e=b.toLowerCase();e=Va(b)||Va(e);void 0===e&&a.P&&(e=a.P[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=hl.prototype;
|
||||
h.vc=function(a,b){for(var c=this,d=wb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!Mb(f)){Mb(f,function(){c.vc(a,b)});return}}a.call(this,b)};function nl(a,b){var c=new G(a,"1.37.0",ol);if(ll(c)&&pl(c)){var d=c.get(ql),e=b?b.get(ql):"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.pc=function(a){void 0===a&&(a=this.b||(this.I?rl:kl));if(!this.j){this.j++;var b=!1,c=!1;this.O=!1;var d=this.C||new G(this,"1.37.0");if(a==sl)b=!0;else if(a>kl){if(ll(d,this.I)){this.u=new G(this,"1.37.0",tl);ll(this.u)&&(ul(this,d),a=vl,wl(this.u));this.u.set(ql,Ja());xl(this.u);var e=this.b&&!this.G;if(a==rl||sb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=pl(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ll(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.T("Error: "+g),"unable to verify user"==g&&(Ta(yl,""),this.g=null)):this.v(f+": "+g),wl(d),ll(d)?(c=pl(d),e=!0):c=!1))}e&&nl(this,c?d:null)}else a==vl&&d.clear()}else nl(this);delete this.I;delete this.C}e=wb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=zl(this,g,d,b,c));b=[d,a,c];a!=sl?this.vc(this.oe,b):this.oe(b)}};
|
||||
function zl(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(/-[0-9]+\./i,".")))),"string"===typeof f&&(f=null),!b.Ca(f,d)&&f&&(w("Unable to restore state for "+b.type),a.K&&!a.S?(c.clear(),a.b=kl,window&&window.location.reload()):a.O=!0,b.Ca(null),e=!1),!d&&b.Ud){var g=b.Ud.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.R=!0;this.A.ca=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.f&&(zl(this,this.f,b,c,a),Ic(this,-2),this.f.qa());this.O&&(ul(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
|
||||
function ul(a,b){if(sb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.g||"";b=b.toString();var d={};d.app=Qb;d.ver="1.37.0";d.url=c;d.user=a;d.type="bug";d.data=b;Na("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function el(a,b,c){var d="none";if(a.j)return null;a.j--;var e=new G(a,"1.37.0"),f=new G(a,"1.37.0",ol),g=Ja();f.set(ql,g);e.set(ql,g);e.set(Al,"1.37.0");e.set(Bl,window?window.location.href:null);e.set(Cl,window?window.navigator.userAgent:"");if(a.f&&a.f.Ba){c&&(b&&(a.f.A.qa=a.f.A.V),H(a.f));var k=a.f.Ba(b,c);"object"===typeof k&&e.set(a.f.id,k);c&&(a.f.A.ca=!1,!1===k&&(d=null))}g=wb(a.id);for(var l=0;l<g.length;l++){var m=g[l];m.A.ca&&(m.Ba&&(k=m.Ba(b,c),"object"===typeof k&&e.set(m.id,k)),c&&(m.A.ca=
|
||||
!1,!1===k&&(d=null)))}d&&(c?(g=k=!1,b?(a.g&&Fl(a,a.g,e.toString()),xl(f)&&xl(e)||(d=null,k=g=!0)):a.b&&(k=!0,g=a.b==Pl),k&&e.clear(g)):d=e.toString());c&&(a.A.ca=!1,b=a.H.power)&&(b.textContent="Power");a.j=0;return d}
|
||||
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=wb(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;Ic(this,-1)};h.start=function(a,b){for(var c=wb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Ic(this,-1)};
|
||||
h.stop=function(a,b){for(var c=wb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Ic(this,-1)};
|
||||
function Ic(a,b){if(a.f){var c=a.f,d=b||0,e=c.H.speed;e&&(0>=d||30<=(c.Zc+=d))&&(e.textContent=c.A.V?c.ub.toFixed(2)+"Mhz":"Stopped",c.Zc=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.V;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)wc(a,"R"+e,a.f.g[e]);e=Kd(a.f);wc(a,"PS",e);wc(a,"NF",e&8?1:0,1);wc(a,"ZF",e&4?1:0,1);wc(a,"VF",e&2?1:0,1);wc(a,"CF",e&1?1:0,1);a.j=0}-1>b?a.fa=a.f.g[7]:0<b&&c&&!d&&(a.fa=a.f.gb);sc(a,a.fa);jc(a,a.Cb);b=a.f;b=b.wb?b.X&16?1:2:4;Oc(a,"B22",b&1);Oc(a,"B18",b&2);
|
||||
Oc(a,"B16",b&4)}}
|
||||
h.va=function(a,b,c){var d=this;switch(b){case "power":return this.H[b]=c,c.onclick=function(){d.j||(d.A.ca?fl(d,!1,!0):d.vc(d.pc))},!0;case "reset":return this.H[b]=c,c.onclick=function(){if(d.A.ca&&!d.j)if(d.b&&!d.B){var a=sb("Click OK to save changes to this "+Qb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");fl(d,a,!0);!a&&d.K?window&&window.location.reload():(a||(d.N=!0),d.pc(ll),d.N=!1)}else d.reset(),d.f&&!d.D&&d.f.qa()},!0;case "save":if(Ba(Pa(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.H[b]=c,c.onclick=function(){var a=kl(d,!0);if(a){var b=!!(d.b&&!d.B||d.K),c=fl(d,b);b?Gl(d,a,c):d.T("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function kl(a,b){var c=a.g;c||((c=Sa(zl),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=Rl(a,c))||a.T("The user ID is invalid.")):b&&a.T("Browser local storage is not available"));return c}
|
||||
function Rl(a,b){a.g=null;b=Na(Pa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ta(zl,b.data),a.g=b.data)}catch(d){w(d.message+" ("+c+")")}return a.g}function nl(a){var b=null;a.g&&(b=Pa()+"/api/v1/user?req=load&user="+a.g+"&state="+Sl(a,"1.37.0"));return b}
|
||||
function Gl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Sl(a,"1.37.0");d.data=c;b=Na(Pa()+"/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),Ta(zl,""),a.g=null)}}
|
||||
function $h(a){var b;a=wb(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 Ae(a,b){if(a.w){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.w.focus();!b&&window&&window.scrollTo(c,d)}}var ul="failsafe",pl="validate",rl="timestamp",Bl="version",Cl="url",Dl="browser",zl="user",tl=-1,ll=0,sl=1,wl=2,Ql=3;
|
||||
db(function(){for(var a=A(document,y+"-machine"),b=0;b<a.length;b++){var c=a[b],d=vb(c);c=A(c,y,"computer");for(var e=0;e<c.length;e++){var f=c[e],g=vb(f);g=new il(g,d,!0);ub(g,f);g.M&&g.vc(g.pc)}}});eb.show.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=vb(a[b]);if(c=Db("Computer",c.id))c.A.Hd=!1,c.R&&!c.A.ca&&c.pc(tl)}});
|
||||
eb.exit.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=vb(a[b]);if(c=Db("Computer",c.id))c.A.Hd=!0,c.A.ca&&fl(c,!(!c.b||c.B),!0)}});function G(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.D=!1;this.key=Sl(a,b,c);xl(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 ml(a,b){return b?(a.b=b,a.g=!0,a.D=!1,!0):a.g?!0:Qa()&&(b=Sa(a.key))?(a.b=b,a.g=!0):!1}
|
||||
function ql(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 yl(a){var b=!0;if(Qa()){var c=JSON.stringify(a.f);Ta(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 xl(a,b){a.b="";a.f={};a.g=a.D=!1;b&&a.set("parms",b)}
|
||||
h.clear=function(a){xl(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 Sl(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 Tl=0;
|
||||
function Ul(a,b,c,d,e,f,g){f("Loading "+a+"...");Na(a,null,!0,function(k,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),g(l,null)):Vl(l,a,b,c,d,e,f,g)})}
|
||||
function Vl(a,b,c,d,e,f,g,k){function l(a,g){if(g)k(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<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),e=e.replace(/\$/g,"$$$$"),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(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,g)}}a?f?Wl(a,g,l):l(a,null):k("no data"+(b?" for file: "+
|
||||
h.va=function(a,b,c){var d=this;switch(b){case "power":return this.H[b]=c,c.onclick=function(){d.j||(d.A.ca?el(d,!1,!0):d.vc(d.pc))},!0;case "reset":return this.H[b]=c,c.onclick=function(){if(d.A.ca&&!d.j)if(d.b&&!d.B){var a=sb("Click OK to save changes to this "+Qb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");el(d,a,!0);!a&&d.K?window&&window.location.reload():(a||(d.N=!0),d.pc(kl),d.N=!1)}else d.reset(),d.f&&!d.D&&d.f.qa()},!0;case "save":if(Ba(Pa(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.H[b]=c,c.onclick=function(){var a=jl(d,!0);if(a){var b=!!(d.b&&!d.B||d.K),c=el(d,b);b?Fl(d,a,c):d.T("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function jl(a,b){var c=a.g;c||((c=Sa(yl),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=Ql(a,c))||a.T("The user ID is invalid.")):b&&a.T("Browser local storage is not available"));return c}
|
||||
function Ql(a,b){a.g=null;b=Na(Pa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ta(yl,b.data),a.g=b.data)}catch(d){w(d.message+" ("+c+")")}return a.g}function ml(a){var b=null;a.g&&(b=Pa()+"/api/v1/user?req=load&user="+a.g+"&state="+Rl(a,"1.37.0"));return b}
|
||||
function Fl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Rl(a,"1.37.0");d.data=c;b=Na(Pa()+"/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),Ta(yl,""),a.g=null)}}
|
||||
function $h(a){var b;a=wb(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 Ae(a,b){if(a.w){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.w.focus();!b&&window&&window.scrollTo(c,d)}}var tl="failsafe",ol="validate",ql="timestamp",Al="version",Bl="url",Cl="browser",yl="user",sl=-1,kl=0,rl=1,vl=2,Pl=3;
|
||||
db(function(){for(var a=A(document,y+"-machine"),b=0;b<a.length;b++){var c=a[b],d=vb(c);c=A(c,y,"computer");for(var e=0;e<c.length;e++){var f=c[e],g=vb(f);g=new hl(g,d,!0);ub(g,f);g.M&&g.vc(g.pc)}}});eb.show.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=vb(a[b]);if(c=Db("Computer",c.id))c.A.Hd=!1,c.R&&!c.A.ca&&c.pc(sl)}});
|
||||
eb.exit.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=vb(a[b]);if(c=Db("Computer",c.id))c.A.Hd=!0,c.A.ca&&el(c,!(!c.b||c.B),!0)}});function G(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.D=!1;this.key=Rl(a,b,c);wl(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 ll(a,b){return b?(a.b=b,a.g=!0,a.D=!1,!0):a.g?!0:Qa()&&(b=Sa(a.key))?(a.b=b,a.g=!0):!1}
|
||||
function pl(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 xl(a){var b=!0;if(Qa()){var c=JSON.stringify(a.f);Ta(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 wl(a,b){a.b="";a.f={};a.g=a.D=!1;b&&a.set("parms",b)}
|
||||
h.clear=function(a){wl(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 Rl(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 Sl=0;
|
||||
function Tl(a,b,c,d,e,f,g){f("Loading "+a+"...");Na(a,null,!0,function(k,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),g(l,null)):Ul(l,a,b,c,d,e,f,g)})}
|
||||
function Ul(a,b,c,d,e,f,g,k){function l(a,g){if(g)k(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<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),e=e.replace(/\$/g,"$$$$"),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(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,g)}}a?f?Vl(a,g,l):l(a,null):k("no data"+(b?" for file: "+
|
||||
b:""),null)}
|
||||
function Wl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Na(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/gi;m=n.exec(f);)l=0>l.toLowerCase().indexOf(m[1].toLowerCase())?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);Wl(a,b,c)}})}else c(a,null)}
|
||||
function Xl(a,b,c,d,e){function f(a){if(void 0===l){var b=k&&A(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=Ca(a))}function g(a){f("Error: "+a);m&&(--Tl||hb(!0));m=!1}var k,l,m=!0;Tl++;qb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n));t.appendChild(r)}d||
|
||||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.37.0/components.xsl");n=function(e,l){l?Ul(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Tl||hb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Tl||
|
||||
hb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Ul(c,b,a,e,!0,f,n):Vl(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(p){g(p.message)}return m}window.embedPDP10=function(a,b,c,d){hb(!1);return Xl("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){hb(!1);return Xl("pdp11",a,b,c,d)};
|
||||
function Vl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Na(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/gi;m=n.exec(f);)l=0>l.toLowerCase().indexOf(m[1].toLowerCase())?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);Vl(a,b,c)}})}else c(a,null)}
|
||||
function Wl(a,b,c,d,e){function f(a){if(void 0===l){var b=k&&A(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=Ca(a))}function g(a){f("Error: "+a);m&&(--Sl||hb(!0));m=!1}var k,l,m=!0;Sl++;qb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n));t.appendChild(r)}d||
|
||||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.37.0/components.xsl");n=function(e,l){l?Tl(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Sl||hb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Sl||
|
||||
hb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Tl(c,b,a,e,!0,f,n):Ul(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(p){g(p.message)}return m}window.embedPDP10=function(a,b,c,d){hb(!1);return Wl("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){hb(!1);return Wl("pdp11",a,b,c,d)};
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete Fb[c],d=!0;else if("string"==typeof f&&!Fb[c]){d=!0;e=Fb;for(var g=c,k=f.length,l=[],m=[],n="",t=null,r=0;r<k;r++){var p=f[r];if('"'==p||"'"==p)t&&p!=t?n+=p:(t?t=null:t=p,n&&(m.push(n),n=""));else{if(!t){if("\r"==p||"\n"==p)p=";";if(" "==p||"\t"==p||";"==p){n&&(m.push(n),n="");";"==p&&m.length&&(l.push(m),m=[]);continue}}n+=p}}n&&m.push(n);m.length&&l.push(m);e[g]=l;Eb(c)||(d=!1)}return d?(b&&(a.disabled=!0),
|
||||
!0):!1}if(d&&(g=Db(d,c+".machine"))&&(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=hb;window.sendEvent=jb;})();//# sourceMappingURL=/versions/pdpjs/1.37.0/pdp11-dbg.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -13437,14 +13437,14 @@ class CPUStatePDP11 extends CPUPDP11 {
|
|||
* combination of the mode and whether the register is the Program Counter (R7).
|
||||
*
|
||||
* The eight modes are:-
|
||||
* 0 R no valid virtual address
|
||||
* 1 (R) operand from I/D depending if R = 7
|
||||
* 2 (R)+ operand from I/D depending if R = 7
|
||||
* 3 @(R)+ address from I/D depending if R = 7 and operand from D space
|
||||
* 4 -(R) operand from I/D depending if R = 7
|
||||
* 5 @-(R) address from I/D depending if R = 7 and operand from D space
|
||||
* 6 x(R) x from I space but operand from D space
|
||||
* 7 @x(R) x from I space but address and operand from D space
|
||||
* 0 R no valid virtual address
|
||||
* 1 (R) operand from I/D depending if R = 7
|
||||
* 2 (R)+ operand from I/D depending if R = 7
|
||||
* 3 @(R)+ address from I/D depending if R = 7 and operand from D space
|
||||
* 4 -(R) operand from I/D depending if R = 7
|
||||
* 5 @-(R) address from I/D depending if R = 7 and operand from D space
|
||||
* 6 x(R) x from I space but operand from D space
|
||||
* 7 @x(R) x from I space but address and operand from D space
|
||||
*
|
||||
* Also need to keep MMR1 updated as this stores which registers have been
|
||||
* incremented and decremented so that the OS can reset and restart an instruction
|
||||
|
|
@ -19656,7 +19656,7 @@ PC11.UNIBUS_IOTABLE = {
|
|||
* 6) writing data to a sector: write()
|
||||
* 7) save disk deltas: save()
|
||||
* 8) restore disk deltas: restore()
|
||||
* 9) converting disk contents: toJSON()
|
||||
* 9) converting disk contents: convertToJSON()
|
||||
*
|
||||
* More functionality may be factored out of the disk controller components later and moved here,
|
||||
* to further reduce some of the duplication between them, but the above functionality is a good start.
|
||||
|
|
@ -20719,7 +20719,7 @@ class DiskPDP11 extends Component {
|
|||
}
|
||||
|
||||
/**
|
||||
* toJSON()
|
||||
* convertToJSON(fFormatted)
|
||||
*
|
||||
* We perform some RegExp massaging on the JSON data to eliminate unnecessary properties
|
||||
* (eg, 'length' values of 512, 'pattern' values of 0, since those are defaults).
|
||||
|
|
@ -20730,9 +20730,10 @@ class DiskPDP11 extends Component {
|
|||
* so it doesn't hurt to check every sector.
|
||||
*
|
||||
* @this {DiskPDP11}
|
||||
* @param {boolean} [fFormatted]
|
||||
* @return {string} containing the entire disk image as JSON-encoded data
|
||||
*/
|
||||
toJSON()
|
||||
convertToJSON(fFormatted)
|
||||
{
|
||||
var s, pba = 0, sector, sectorLast;
|
||||
|
||||
|
|
@ -20754,7 +20755,7 @@ class DiskPDP11 extends Component {
|
|||
/*
|
||||
* Eliminate unnecessary default properties (eg, 'length' values of 512, 'pattern' values of 0).
|
||||
*/
|
||||
s = s.replace(/,"length":512/gm, "").replace(/,"pattern":0/gm, "");
|
||||
s = s.replace(/,"length":512/g, "").replace(/,"pattern":0/g, "");
|
||||
|
||||
/*
|
||||
* I don't really want to strip quotes from disk image property names, since I would have to put them
|
||||
|
|
@ -20763,19 +20764,20 @@ class DiskPDP11 extends Component {
|
|||
* easily be stripped out, by virtue of their being the only quoted properties left. We then "requote"
|
||||
* all the property names that remain.
|
||||
*/
|
||||
s = s.replace(/"(sector|length|data|pattern)":/gm, "$1:");
|
||||
s = s.replace(/"(sector|length|data|pattern)":/g, "$1:");
|
||||
|
||||
/*
|
||||
* The next line will remove any other numeric or boolean properties that were added at runtime, although
|
||||
* they may have completely different ("minified") names if the code has been compiled.
|
||||
*/
|
||||
s = s.replace(/,"[^"]*":([0-9]+|true|false)/gm, "");
|
||||
s = s.replace(/(sector|length|data|pattern):/gm, "\"$1\":");
|
||||
s = s.replace(/,"[^"]*":([0-9]+|true|false)/g, "");
|
||||
s = s.replace(/(sector|length|data|pattern):/g, "\"$1\":");
|
||||
|
||||
/*
|
||||
* Last but not least, insert line breaks after every object definition, to ease the pain on text editors.
|
||||
* Last but not least, insert line breaks after every object definition, to improve human readability
|
||||
* (but only if the caller asks for it).
|
||||
*/
|
||||
s = s.replace(/([\]}]),/gm, "$1,\n");
|
||||
if (fFormatted) s = s.replace(/([\]}]),/g, "$1,\n");
|
||||
return s;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -219,8 +219,8 @@ h.Yg=function(a){a&1&&(this.a&32768?(a&=-2,this.a&64&&yc(this.c,this.s)):(this.a
|
|||
var bg="",lg="?",mg="??",cg=0,eg=1,dg=2,gg="readProgress",tg="pcjs-progress-bar",ug={},jg=(ug[65384]=[null,null,Lc.prototype.Hf,Lc.prototype.Yg,"PRS"],ug[65386]=[null,null,Lc.prototype.Gf,Lc.prototype.Xg,"PRB"],ug[65388]=[null,null,Lc.prototype.Ff,Lc.prototype.Wg,"PPS"],ug[65390]=[null,null,Lc.prototype.Ef,Lc.prototype.Vg,"PPB"],ug);
|
||||
function vg(a,b,c){t.call(this,"Disk",{id:a.Ua+".disk"+wa(++wg,4)},8192);this.controller=a;this.A=a.A;this.D=a.D;this.h=b;this.xa=b.name;this.oa=this.cd="";this.Zc=b.Zc;this.M=this.T=this.R=this.Z=this.mode=0;this.a=[];this.f=null;this.g=!1;this.create(c,b.M,b.T,b.R,b.Z);this.b=this.i=null;B(this)}p(vg,t);h=vg.prototype;h.ja=function(a,b,c,d){this.D=d};
|
||||
h.create=function(a,b,c,d,e){this.mode=a;this.M=b;this.T=c;this.R=d;this.Z=e;this.a=[];if("preload"!=this.mode){a=Array(this.M);for(b=0;b<a.length;b++){c=Array(this.T);for(d=0;d<c.length;d++){e=Array(this.R);for(var f=1;f<=e.length;f++)e[f-1]=xg(null,b,d,f,this.Z,0);c[d]=e}a[b]=c}this.a=a}this.f=null};
|
||||
function yg(a,b,c,d,e){var f=c;if(a.b)return!0;a.xa=b;a.oa=c;a.cd=xa(c);a.b=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c=b?b.byteLength:0,d=ra[c];if(d){a.M=d[0];a.T=d[1];a.R=d[2];a.Z=d[3]||512;var e=a.Z>>2;var f=d=0;b=new DataView(b,0,c);a.a=Array(a.M);for(c=0;c<a.a.length;c++)for(var v=a.a[c]=Array(a.T),u=0;u<v.length;u++)for(var oa=v[u]=Array(a.R),Ua=0;Ua<oa.length;Ua++){for(var Cc=xg(null,c,u,Ua+1,a.Z,0),yh=Cc.data,Tc=0;Tc<e;Tc++,f+=4){var zh=yh[Tc]=b.getInt32(f,
|
||||
!0);d=d+zh&-1}Cc.na=e;oa[Ua]=Cc}a.f=d;e=a}else a.G("Unrecognized disk format ("+c+" bytes)");a.b&&(a.b.call(a.controller,a.h,e,a.xa,a.oa),a.b=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=ya(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"):za(c,"/")&&(d="dir"),f=Ja()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Zc?"":e)+"&format=json"));return!!Ha(f,
|
||||
function yg(a,b,c,d,e){var f=c;if(a.b)return!0;a.xa=b;a.oa=c;a.cd=xa(c);a.b=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c=b?b.byteLength:0,d=ra[c];if(d){a.M=d[0];a.T=d[1];a.R=d[2];a.Z=d[3]||512;var e=a.Z>>2;var f=d=0;b=new DataView(b,0,c);a.a=Array(a.M);for(c=0;c<a.a.length;c++)for(var v=a.a[c]=Array(a.T),u=0;u<v.length;u++)for(var oa=v[u]=Array(a.R),Ua=0;Ua<oa.length;Ua++){for(var Cc=xg(null,c,u,Ua+1,a.Z,0),xh=Cc.data,Tc=0;Tc<e;Tc++,f+=4){var yh=xh[Tc]=b.getInt32(f,
|
||||
!0);d=d+yh&-1}Cc.na=e;oa[Ua]=Cc}a.f=d;e=a}else a.G("Unrecognized disk format ("+c+" bytes)");a.b&&(a.b.call(a.controller,a.h,e,a.xa,a.oa),a.b=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=ya(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"):za(c,"/")&&(d="dir"),f=Ja()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Zc?"":e)+"&format=json"));return!!Ha(f,
|
||||
null,!0,function(b,c,d){zg(a,b,c,d)})}
|
||||
function zg(a,b,c,d){var e=null,f=0>d&&!!a.A&&!a.A.j.S;a.g=!1;if(d)a.controller.G('Unable to load disk "'+a.xa+'" (error '+d+": "+b+")",f);else{ab(a.controller.Ua,b,c);try{if(0<xa(a.cd,!0).toLowerCase().indexOf("-readonly"))a.g=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.g=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.xa]: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)r(k[0]);else{a.M=k.length;a.T=k[0].length;a.R=k[0][0].length;var l=k[0][0][0];a.Z=l&&l.length||512;for(d=c=0;d<a.M;d++)for(f=0;f<a.T;f++)for(g=0;g<a.R;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);m>>=2;var n=l.pattern;void 0===n&&(n=l.pattern=0);var q=l.data;if(void 0===q){var v=l.bytes;if(void 0!==v&&v.length){for(var u=m<<2,oa=v.length;oa<u;oa++)v[oa]=n;Ag(l,v)}else q=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=q;delete l.bytes}xg(l,d,f);for(u=
|
||||
|
|
@ -229,82 +229,80 @@ h.seek=function(a,b,c,d,e){d=null;var f=this.h,g=this.a[a];if(g){var k=g[b];if(!
|
|||
h.read=function(a,b){var c=-1;if(a&&b<a.length){c=a.data;var 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.g)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.na?f<a.wa?(a.na+=a.wa-f,a.wa=f):f>=a.wa+a.na&&(a.na+=f-(a.wa+a.na)+1):(a.wa=f,a.na=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
||||
function Bg(a,b){var c=a.T*a.R,d=b/c|0;return d<a.M?(b%=c,a.seek(d,b/a.R|0,b%a.R+1)):null}function Cg(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}h.save=function(){var a=0,b=[];b[a++]=[this.oa,this.f,this.M,this.T,this.R,this.Z];if(!this.g)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.na){for(var k=[],l=0,m=g.wa,n=g.wa+g.na;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.wa,k]}}return b};
|
||||
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.a.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.f&&e[1]!=this.f&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.f+")",b=-2));for(this.a.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.a.length||l>=this.a[k].length||m>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
|
||||
b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.wa=e;for(k.na=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.G("Unable to restore disk '"+this.xa+": "+c);return b};
|
||||
h.toJSON=function(){var a=0;for(var b;b=Bg(this,a++);)Dg(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
||||
function Dg(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var wg=0;function Eg(a,b,c,d,e,f){t.call(this,a,b,c);this.C=Fg(this,b.autoMount);this.B=0;this.I=d;this.J=e;this.K=f;this.H=d.Bc;this.b=Array(this.H);this.F=!Oa("Mobi")&&window&&"FileReader"in window;this.l=[];this.qa=null;this.exports={bootDisk:this.Fd,loadDisk:this.$c,selectDrive:this.yg,wait:this.Eg}}p(Eg,t);
|
||||
function Fg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){r(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Eg.prototype;
|
||||
h.ma=function(a,b,c){var d=this;switch(b){case "listDisks":return this.o[b]=c,c.onchange=function(){Gg(d)},!0;case "descDisk":case "listDrives":return this.o[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&Hg(d,a)},!0;case "loadDisk":return this.o[b]=c,c.onclick=function(){d.$c()},!0;case "bootDisk":return this.o[b]=c,c.onclick=function(){d.Fd()},!0;case "saveDisk":if(!this.F){c.parentNode.removeChild(c);break}this.o[b]=c;c.onclick=function(){var a=d.o.listDrives;if(a&&a.options&&d.b)if(a=
|
||||
b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.wa=e;for(k.na=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.G("Unable to restore disk '"+this.xa+": "+c);return b};var wg=0;
|
||||
function Dg(a,b,c,d,e,f){t.call(this,a,b,c);this.C=Eg(this,b.autoMount);this.B=0;this.I=d;this.J=e;this.K=f;this.H=d.Bc;this.b=Array(this.H);this.F=!Oa("Mobi")&&window&&"FileReader"in window;this.l=[];this.qa=null;this.exports={bootDisk:this.Fd,loadDisk:this.$c,selectDrive:this.yg,wait:this.Eg}}p(Dg,t);function Eg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){r(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Dg.prototype;
|
||||
h.ma=function(a,b,c){var d=this;switch(b){case "listDisks":return this.o[b]=c,c.onchange=function(){Fg(d)},!0;case "descDisk":case "listDrives":return this.o[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&Gg(d,a)},!0;case "loadDisk":return this.o[b]=c,c.onclick=function(){d.$c()},!0;case "bootDisk":return this.o[b]=c,c.onclick=function(){d.Fd()},!0;case "saveDisk":if(!this.F){c.parentNode.removeChild(c);break}this.o[b]=c;c.onclick=function(){var a=d.o.listDrives;if(a&&a.options&&d.b)if(a=
|
||||
d.b[ta(a.value,10)||0])if(a=a.P){for(var b="",c=0,k;k=Bg(a,c++);)for(var l=0,m=k.length;l<m;l++)b+=String.fromCharCode(Cg(a,k,l));b=btoa(b);a=a.cd.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+")":"")+".");r(a)}else d.G("No disk loaded in drive.");else d.G("No disk drive selected.")};return!0;case "mountDisk":if(this.F)return this.o[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;d.$c(xa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||
h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;if(a=Fg(this,dd(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.C[e]=a[e]);this.reset();this.qa=Ac(this.c,this.I.Vc,this.I.Rc,this.pd);Bb(b,this,this.K);Db(b,this.reset.bind(this));Ig(this,"None",Jg,!0);this.F&&Ig(this,"Local Disk",Kg);Ig(this,"Remote Disk",Lg);Mg(this)||B(this)};
|
||||
h.la=function(a,b){if(!b){if(!a){if(this.reset(),this.A.C){this.l=[];for(a=0;a<this.b.length;a++)Ng(this,a,!0);Mg(this,!0)}}else if(!this.restore(a))return!1;if(a=this.o.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.H;b++){var c=document.createElement("option");c.value=b;c.text=this.b[b].nc||"---";a.appendChild(c)}0<this.H&&(a.value="0",Hg(this,0))}}return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.bb();Og(this)};
|
||||
h.save=function(){var a=new E(this);a.set(0,this.oc());a.set(1,Pg(this));a.set(2,Qg(this));return a.data()};h.restore=function(a){var b=!0;this.bb(a[0])||(b=!1);var c=a[1];c&&(this.l=c);Og(this,a[2])||(b=!1);return b};h.bb=function(){return!0};h.oc=function(){return[]};
|
||||
function Og(a,b){for(var c=0;c<a.b.length;c++){var d=a.b[c];void 0===d&&(d=a.b[c]={});var e=a,f=d;d=c;var g=a.J,k=b&&b[c],l=0;f.pb=d;f.name=e.qc;f.fc=f.ob=!1;f.Ib=null;f.Zc=!0;f.nc=g[l++]+d;f.M=g[l++];f.T=g[l++];f.R=g[l++];f.Z=g[l++];f.Ze=g[l++];f.$e=g[l++];f.af=g[l++];f.Qe=g[l++];f.status=g[l];f.Jj=0;f.Ij=0;f.Ed=1;f.Pe=f.R;f.Ld=f.Z;f.Rj=0;f.Yj=null;f.P||(f.oa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.b[d],Ng(e,d,!0),g.ob=!0,d=new vg(e,g,"preload"),e.Gd(g,d,f,k,!0)):Rg(e,d,l,g,!0)?f.P&&g&&Sg(e,l,g,
|
||||
f.P):B(e,!1))}return!0}function Qg(a){for(var b=[],c=0;c<a.b.length;c++){var d=a.b[c];b.push([d.ob,d.xa,d.oa])}return b}function Pg(a){for(var b=0;b<a.b.length;b++){var c=a.b[b];c.P&&Tg(a,c.oa,c.P)}return a.l}
|
||||
function Mg(a,b){b||(a.B=0);for(var c in a.C){var d=a.C[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.o.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=xa(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.b.length)){!Rg(a,g,f,e,!0)&&b&&B(a,!1);continue}a.G("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.B}
|
||||
h.$c=function(a,b,c){if(!a&&!b){var d=this.o.listDisks;d&&d.options&&(a=d.options[d.selectedIndex].text,b=d.value)}d=(d=this.o.listDrives)&&ta(d.value,10);if(void 0===d||0>d||d>=this.b.length)return this.G("Unable to load the selected drive"),!1;if(!b)return Ng(this,d),!0;if(b==Kg)return this.G('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Lg){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=xa(b);this.status("Attempting to load "+b+' as "'+
|
||||
a+'"')}Rg(this,d,a,b,!1,c);return!0};h.Fd=function(){var a,b=this.o.listDrives;b=b&&ta(b.value,10);if(null==b||0>b||b>=this.b.length||!(a=this.b[b]))return this.G("Unable to boot the selected drive"),!1;if(!a.P)return this.G("Load a disk into the drive first"),!1;sd(this.c,0,!0,b);return(a=this.sb(a,a.Ze,a.$e,a.af,a.Qe,0,2))?(this.G("Unable to read the boot sector ("+a+")"),!1):!0};
|
||||
function Rg(a,b,c,d,e,f){var g=-1,k=a.b[b];k.oa.toLowerCase()!=d.toLowerCase()&&(g++,Ng(a,b,!0),k.fc?a.G(a.type+" busy"):(k.fc=!0,e&&(k.Yc=!0,a.B++),k.ob=!!f,yg(new vg(a,k,"preload"),c,d,f,a.Gd)&&g++));return g}
|
||||
h.Gd=function(a,b,c,d,e){a.fc=!1;b&&(b.M>a.M||b.T>a.T)&&(this.G('Disk "'+c+'" too large for drive '+(this.b[a.pb].nc||"---")),b=null);b?(a.P=b,a.xa=c,a.oa=d,this.Md(a.pb),Sg(this,c,d,b),this.G('Loaded disk "'+c+'" in drive '+(this.b[a.pb].nc||"---"),a.Yc||e),this.A&&kd(this.A)):a.ob=!1;a.Yc&&(a.Yc=!1,--this.B||B(this));Hg(this,a.pb);a.Ib&&(a.Ib(),a.Ib=null)};
|
||||
function Ig(a,b,c,d){if((a=a.o.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 Hg(a,b,c){var d=!1;if(0<=b&&b<a.b.length){var e=a.b[b],f=a.o.listDisks;a=a.o.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(ta(a.options[c].value,10)==e.pb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=ta(a.value,10);e=e.ob?Kg:e.oa;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.yg=function(a){var b=this.o.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].textContent==a){var e=ta(b.options[d].value,10);if(0<=e)return Hg(this,e,!0)}return!1};
|
||||
function Gg(a){var b=a.o.listDisks,c=a.o.descDisk,d=b.options&&b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){r(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.Eg=function(a){for(var b=0;b<this.b.length;b++){var c=this.b[b];if(c&&c.fc)return c.Ib||(c.Ib=a),!1}return!0};
|
||||
function Ng(a,b,c){var d=a.b[b];if(d.P||!1===c)Tg(a,d.oa,d.P),d.xa="",d.oa="",d.P=null,d.ob=!1,c||(a.G("Drive "+(a.b[b].nc||"---")+" unloaded",c),Hg(a,b))}function Sg(a,b,c,d){var e;for(e=0;e<a.l.length;e++)if(a.l[e][1]==c){d.restore(a.l[e][2]);return}a.l[e]=[b,c,[]]}function Tg(a,b,c){var d;for(d=0;d<a.l.length;d++)if(a.l[d][1]==b){a.l[d][2]=c.save();break}}h.Md=function(){};h.sb=function(){return-1};h.uc=function(){return-1};var Jg="",Kg="?",Lg="??";
|
||||
function N(a){Eg.call(this,"RK11",a,65536,C,C.Zb,Ug);this.s=this.f=this.a=this.i=this.h=this.g=this.m=0}p(N,Eg);h=N.prototype;h.bb=function(a){a||(a=[Vg.Zb|Vg.Bd|Vg.xd,0,S.za,0,0,0,0]);a=ia(a);this.s=a.next().value;this.f=a.next().value;this.a=a.next().value;this.i=a.next().value;this.h=a.next().value;this.g=a.next().value;this.m=a.next().value;return!0};h.oc=function(){return[this.s,this.f,this.a,this.i,this.h,this.g,this.m]};
|
||||
h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;if(a=Eg(this,dd(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.C[e]=a[e]);this.reset();this.qa=Ac(this.c,this.I.Vc,this.I.Rc,this.pd);Bb(b,this,this.K);Db(b,this.reset.bind(this));Hg(this,"None",Ig,!0);this.F&&Hg(this,"Local Disk",Jg);Hg(this,"Remote Disk",Kg);Lg(this)||B(this)};
|
||||
h.la=function(a,b){if(!b){if(!a){if(this.reset(),this.A.C){this.l=[];for(a=0;a<this.b.length;a++)Mg(this,a,!0);Lg(this,!0)}}else if(!this.restore(a))return!1;if(a=this.o.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.H;b++){var c=document.createElement("option");c.value=b;c.text=this.b[b].nc||"---";a.appendChild(c)}0<this.H&&(a.value="0",Gg(this,0))}}return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.bb();Ng(this)};
|
||||
h.save=function(){var a=new E(this);a.set(0,this.oc());a.set(1,Og(this));a.set(2,Pg(this));return a.data()};h.restore=function(a){var b=!0;this.bb(a[0])||(b=!1);var c=a[1];c&&(this.l=c);Ng(this,a[2])||(b=!1);return b};h.bb=function(){return!0};h.oc=function(){return[]};
|
||||
function Ng(a,b){for(var c=0;c<a.b.length;c++){var d=a.b[c];void 0===d&&(d=a.b[c]={});var e=a,f=d;d=c;var g=a.J,k=b&&b[c],l=0;f.pb=d;f.name=e.qc;f.fc=f.ob=!1;f.Ib=null;f.Zc=!0;f.nc=g[l++]+d;f.M=g[l++];f.T=g[l++];f.R=g[l++];f.Z=g[l++];f.Ze=g[l++];f.$e=g[l++];f.af=g[l++];f.Qe=g[l++];f.status=g[l];f.Jj=0;f.Ij=0;f.Ed=1;f.Pe=f.R;f.Ld=f.Z;f.Rj=0;f.Yj=null;f.P||(f.oa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.b[d],Mg(e,d,!0),g.ob=!0,d=new vg(e,g,"preload"),e.Gd(g,d,f,k,!0)):Qg(e,d,l,g,!0)?f.P&&g&&Rg(e,l,g,
|
||||
f.P):B(e,!1))}return!0}function Pg(a){for(var b=[],c=0;c<a.b.length;c++){var d=a.b[c];b.push([d.ob,d.xa,d.oa])}return b}function Og(a){for(var b=0;b<a.b.length;b++){var c=a.b[b];c.P&&Sg(a,c.oa,c.P)}return a.l}
|
||||
function Lg(a,b){b||(a.B=0);for(var c in a.C){var d=a.C[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.o.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=xa(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.b.length)){!Qg(a,g,f,e,!0)&&b&&B(a,!1);continue}a.G("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.B}
|
||||
h.$c=function(a,b,c){if(!a&&!b){var d=this.o.listDisks;d&&d.options&&(a=d.options[d.selectedIndex].text,b=d.value)}d=(d=this.o.listDrives)&&ta(d.value,10);if(void 0===d||0>d||d>=this.b.length)return this.G("Unable to load the selected drive"),!1;if(!b)return Mg(this,d),!0;if(b==Jg)return this.G('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Kg){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=xa(b);this.status("Attempting to load "+b+' as "'+
|
||||
a+'"')}Qg(this,d,a,b,!1,c);return!0};h.Fd=function(){var a,b=this.o.listDrives;b=b&&ta(b.value,10);if(null==b||0>b||b>=this.b.length||!(a=this.b[b]))return this.G("Unable to boot the selected drive"),!1;if(!a.P)return this.G("Load a disk into the drive first"),!1;sd(this.c,0,!0,b);return(a=this.sb(a,a.Ze,a.$e,a.af,a.Qe,0,2))?(this.G("Unable to read the boot sector ("+a+")"),!1):!0};
|
||||
function Qg(a,b,c,d,e,f){var g=-1,k=a.b[b];k.oa.toLowerCase()!=d.toLowerCase()&&(g++,Mg(a,b,!0),k.fc?a.G(a.type+" busy"):(k.fc=!0,e&&(k.Yc=!0,a.B++),k.ob=!!f,yg(new vg(a,k,"preload"),c,d,f,a.Gd)&&g++));return g}
|
||||
h.Gd=function(a,b,c,d,e){a.fc=!1;b&&(b.M>a.M||b.T>a.T)&&(this.G('Disk "'+c+'" too large for drive '+(this.b[a.pb].nc||"---")),b=null);b?(a.P=b,a.xa=c,a.oa=d,this.Md(a.pb),Rg(this,c,d,b),this.G('Loaded disk "'+c+'" in drive '+(this.b[a.pb].nc||"---"),a.Yc||e),this.A&&kd(this.A)):a.ob=!1;a.Yc&&(a.Yc=!1,--this.B||B(this));Gg(this,a.pb);a.Ib&&(a.Ib(),a.Ib=null)};
|
||||
function Hg(a,b,c,d){if((a=a.o.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 Gg(a,b,c){var d=!1;if(0<=b&&b<a.b.length){var e=a.b[b],f=a.o.listDisks;a=a.o.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(ta(a.options[c].value,10)==e.pb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=ta(a.value,10);e=e.ob?Jg:e.oa;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.yg=function(a){var b=this.o.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].textContent==a){var e=ta(b.options[d].value,10);if(0<=e)return Gg(this,e,!0)}return!1};
|
||||
function Fg(a){var b=a.o.listDisks,c=a.o.descDisk,d=b.options&&b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){r(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.Eg=function(a){for(var b=0;b<this.b.length;b++){var c=this.b[b];if(c&&c.fc)return c.Ib||(c.Ib=a),!1}return!0};
|
||||
function Mg(a,b,c){var d=a.b[b];if(d.P||!1===c)Sg(a,d.oa,d.P),d.xa="",d.oa="",d.P=null,d.ob=!1,c||(a.G("Drive "+(a.b[b].nc||"---")+" unloaded",c),Gg(a,b))}function Rg(a,b,c,d){var e;for(e=0;e<a.l.length;e++)if(a.l[e][1]==c){d.restore(a.l[e][2]);return}a.l[e]=[b,c,[]]}function Sg(a,b,c){var d;for(d=0;d<a.l.length;d++)if(a.l[d][1]==b){a.l[d][2]=c.save();break}}h.Md=function(){};h.sb=function(){return-1};h.uc=function(){return-1};var Ig="",Jg="?",Kg="??";
|
||||
function N(a){Dg.call(this,"RK11",a,65536,C,C.Zb,Tg);this.s=this.f=this.a=this.i=this.h=this.g=this.m=0}p(N,Dg);h=N.prototype;h.bb=function(a){a||(a=[Ug.Zb|Ug.Bd|Ug.xd,0,S.za,0,0,0,0]);a=ia(a);this.s=a.next().value;this.f=a.next().value;this.a=a.next().value;this.i=a.next().value;this.h=a.next().value;this.g=a.next().value;this.m=a.next().value;return!0};h.oc=function(){return[this.s,this.f,this.a,this.i,this.h,this.g,this.m]};
|
||||
h.sb=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.P;var n=null;a||(m=T.rd,e=0);for(;e;){if(!n){if(b>=a.M){m=T.Xb;break}n=a.seek(b,c,d+1);if(!n){m=T.Ad;break}var q=0;++d>=a.R&&(d=0,++c>=a.T&&(c=0,++b))}var v,u;if(0>(v=a.read(n,q++))||0>(u=a.read(n,q++))){m=T.Yb;break}if(!k&&(Xb(this.v,Dd(this.c,f),v|u<<8),wc(this.v))){m=T.Cb;break}q>=a.Z&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
||||
h.uc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.P;var n=null;a||(m=T.rd,e=0);for(;e;){var q=Zb(this.v,Dd(this.c,f));if(wc(this.v)){m=T.Cb;break}if(!n){if(b>=a.M){m=T.Xb;break}n=a.seek(b,c,d+1,!0);if(!n){m=T.Ad;break}var v=0;++d>=a.R&&(d=0,++c>=a.T&&(c=0,++b))}if(k){var u,oa;if(0>(u=a.read(n,v++))||0>(oa=a.read(n,v++))){m=T.Yb;break}if(q!=(u|oa<<8)){m=T.Cd;break}}else if(!a.write(n,v++,q&255)||!a.write(n,v++,q>>8)){m=T.Yb;break}v>=a.Z&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
||||
h.oe=function(a,b,c,d,e,f){this.h=f&65535;this.a=this.a&~S.fb|f>>16-S.V.fb&S.fb;this.i=65536-e&65535;this.g=this.g&~Wg.Sc|d&Wg.Sc;this.f|=a;Xg(this);return!0};function Xg(a){a.a&=~S.Ja;a.f&&(a.f|=T.Zd,a.a|=S.Ja,a.f&T.Hc&&(a.a|=S.Hc))}h.Tf=function(){return this.s};h.kh=function(){};h.Uf=function(){return this.f};h.lh=function(){};h.Qf=function(){return this.a&S.Db};
|
||||
h.hh=function(a){this.a=this.a&~S.va|a&S.va;if(this.a&S.Bb){a=!0;var b,c=(this.g&Wg.Ta)>>Wg.V.Ta,d=this.b[c];this.a&=~(S.za|S.Tc);this.f&=~T.Ee;switch(b=this.a&S.ca){case Yg.Ud:this.f=this.g=0;this.a=S.za;break;case Yg.je:case Yg.Va:var e=this.sb;case Yg.Wc:case Yg.Fb:e||(e=this.uc);var f=(this.g&Wg.zb)>>Wg.V.zb;var g=(this.g&Wg.Kc)>>Wg.V.Kc;var k=this.g&Wg.Sc;var l=65536-this.i&65535;var m=(this.a&S.fb)<<16-S.V.fb|this.h;var n=this.a&S.fe?0:2;if(f>=d.M){this.f|=T.Xb;break}if(k>=d.R){this.f|=T.Yb;
|
||||
break}a=e.call(this,d,f,g,k,l,m,n,b>=Yg.Wc,this.oe.bind(this));break;case Yg.cc:f=(this.g&Wg.zb)>>Wg.V.zb;f<d.M?this.a|=S.Tc:this.f|=T.Xb;break;case Yg.$d:this.f=this.g=0,this.a=S.za|S.Tc}this.s=d.status|(d.P?Vg.ha:0)|c<<Vg.V.Mc|this.g&Vg.De;Xg(this);a&&(this.a&=~S.Bb,this.a|=S.za,this.a&S.eb&&yc(this.c,this.qa))}};h.Vf=function(){return this.i};h.mh=function(a){this.i=a};h.Pf=function(){return this.h};h.gh=function(a){this.h=a};h.Rf=function(){return this.g};h.ih=function(a){this.g=a};h.Sf=function(){return this.m};
|
||||
h.jh=function(a){this.m=a};var Vg=C.$b,T=C.re,S=C.pe,Wg=C.qe,Yg=C.ca,Zg={},Ug=(Zg[65280]=[null,null,N.prototype.Tf,N.prototype.kh,"RKDS"],Zg[65282]=[null,null,N.prototype.Uf,N.prototype.lh,"RKER"],Zg[65284]=[null,null,N.prototype.Qf,N.prototype.hh,"RKCS"],Zg[65286]=[null,null,N.prototype.Vf,N.prototype.mh,"RKWC"],Zg[65288]=[null,null,N.prototype.Pf,N.prototype.gh,"RKBA"],Zg[65290]=[null,null,N.prototype.Rf,N.prototype.ih,"RKDA"],Zg[65294]=[null,null,N.prototype.Sf,N.prototype.jh,"RKDB"],Zg);
|
||||
function M(a){Eg.call(this,"RL11",a,131072,D,D.se,$g);this.a=this.m=this.f=this.g=this.i=this.h=0}p(M,Eg);h=M.prototype;h.bb=function(a){a||(a=[U.ha|U.za,0,0,0,0,0]);a=ia(a);this.a=a.next().value;this.m=a.next().value;this.f=a.next().value;this.g=a.next().value;this.i=a.next().value;this.h=a.next().value;return!0};h.oc=function(){return[this.a,this.m,this.f,this.g,this.i,this.h]};
|
||||
h.sb=function(a,b,c,d,e,f,g,k,l){g=0;a=a.P;k=null;a||(g=ah.Ba,e=0);for(;e;){if(!k){k=a.seek(b,c,d+1);if(!k){g=ah.Ba;break}var m=0}var n,q;if(0>(n=a.read(k,m++))||0>(q=a.read(k,m++))){g=ah.Ba;break}Xb(this.v,Dd(this.c,f),n|q<<8);if(wc(this.v)){g=ah.Cb;break}f+=2;e--;if(m>=a.Z&&(k=null,++d>=a.R&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=ah.Ba;break}}return l?l(g,b,c,d,e,f):g};
|
||||
h.uc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.P;k=null;a||(g=ah.Ba,e=0);for(;e;){var m=Zb(this.v,Dd(this.c,f));if(wc(this.v)){g=ah.Cb;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=ah.Ba;break}var n=0}if(!a.write(k,n++,m&255)||!a.write(k,n++,m>>8)){g=ah.Ba;break}if(n>=a.Z&&(k=null,++d>=a.R&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=ah.Ba;break}}return l?l(g,b,c,d,e,f):g};
|
||||
h.te=function(a,b,c,d,e,f){this.m=f&65535;this.a=this.a&~U.ya|f>>16-U.V.ya&U.ya;this.h=f>>16&bh.Fa;this.g=this.f=b<<V.V.Eb|(c?V.bc:0)|d&V.yd;this.i=65536-e&65535;a&&(this.a=this.a|a|U.Ja);return!0};h.Yf=function(){return this.a&U.Db};
|
||||
h.ph=function(a){this.a=this.a&~U.va|a&U.va;this.h=this.h&60|(a&U.ya)>>U.V.ya;if(!(this.a&U.za)){a=!0;var b=this.b[(this.a&U.Ta)>>U.V.Ta],c=b.P;this.a&=~U.ha;switch(this.a&U.ca){case ch.Ie:this.i&dh.nd&&(this.a&=U.ha|U.ca|U.ya);this.i=b.status|this.g&V.bc|(c&&512==c.M?dh.ce:0);break;case ch.cc:if((this.f&V.be)==V.Fe){var d=this.f&V.Eb;b=(this.f&V.He)<<2;this.g=this.f&V.Ge?this.g+d:this.g-d;this.f=this.g=this.g&V.Eb|b}break;case ch.ne:this.i=this.g;break;case ch.ke:d=this.sb;case ch.Le:d||(d=this.uc);
|
||||
var e=this.f>>V.V.Eb;var f=this.f&V.bc?1:0;var g=this.f&V.yd;!c||e>=c.M||g>=c.R?this.a=this.a|ah.Ba|U.Ja:(a=65536-this.i&65535,c=(this.h&bh.Fa)<<16|this.m,a=d.call(this,b,e,f,g,a,c,2,!1,this.te.bind(this)))}a&&(this.a=this.a|U.ha|U.za,this.a&U.eb&&yc(this.c,this.qa))}};h.Wf=function(){return this.m};h.nh=function(a){this.m=a&eh.va};h.Zf=function(){return this.f};h.qh=function(a){this.f=a};h.$f=function(){return this.i};h.rh=function(a){this.i=a};h.Xf=function(){return this.h};
|
||||
h.oh=function(a){this.h=a&bh.Fa;this.a=this.a&~U.ya|(this.h&3)<<U.V.ya};var U=D.we,eh=D.ue,V=D.xe,dh=D.ac,bh=D.ve,ah=D.md,ch=D.ca,fh={},$g=(fh[63744]=[null,null,M.prototype.Yf,M.prototype.ph,"RLCS"],fh[63746]=[null,null,M.prototype.Wf,M.prototype.nh,"RLBA"],fh[63748]=[null,null,M.prototype.Zf,M.prototype.qh,"RLDA"],fh[63750]=[null,null,M.prototype.$f,M.prototype.rh,"RLMP"],fh[63752]=[null,null,M.prototype.Xf,M.prototype.oh,"RLBE"],fh);
|
||||
function Mc(a){Eg.call(this,"RX11",a,262144,ub,ub.ye,gh);this.u=this.s=this.f=this.w=this.a=this.m=0;this.g=W.gb;this.i=0;this.h=Array(128).fill(0)}p(Mc,Eg);h=Mc.prototype;
|
||||
h.bb=function(a){a?(a=ia(a),this.a=a.next().value,this.m=a.next().value,this.u=a.next().value,this.s=a.next().value,this.f=a.next().value,this.w=a.next().value,this.g=a.next().value,this.i=a.next().value,this.h=a.next().value):(this.m=this.a=0,this.s=this.u=1,this.w=this.f=0,this.g=W.Va,this.i=0,(a=this.qa)&&Dc(this.c,a),hh(this));return!0};h.oc=function(){return[this.a,this.m,this.u,this.s,this.f,this.w,this.g,this.i,this.h]};h.Md=function(a){0==a&&this.bb()};
|
||||
function ih(a,b){b&&(a.w=b,a.m=a.f,a.a|=X.Ja);a.g=W.gb;a.a|=X.DONE;a.a&X.eb&&yc(a.c,a.qa)}h.sb=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.P,n=null;m||(k=a.pb?Y.Jc:Y.Ic,e=0);for(;e;){if(!n){if(b>=m.M){k=Y.he;break}n=m.seek(b,c,d+1);if(!n){k=Y.Qc;break}var q=0;++d>=m.R&&(d=0,++c>=m.T&&(c=0,++b))}var v;if(0>(a=m.read(n,q++))||0>(v=m.read(n,q++))){k=Y.Pc;break}Xb(this.v,Dd(this.c,f),a|v<<8);q>=m.Z&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k};
|
||||
function hh(a){var b=0,c=a.a&X.Uc?1:0,d=a.b[c];d=d&&d.P;var e=a.u&jh.Fa,f=a.s&kh.Fa;a.f&=~(Z.kd|Z.ud|Z.Ab|Z.ha);if(d)if(a.f|=Z.ha,c=d.seek(e,0,f,!0)){e=0;for(f=a.h.length;e<f;){var g=d.read(c,e);if(0>g){b=Y.Pc;break}a.h[e++]=g}c.Te&&(a.f|=Z.Ab)}else b=Y.Qc;else b=c?Y.Jc:Y.Ic;ih(a,b)}h.bg=function(a,b){a=this.a;if(!b)switch(a&=X.Db,this.g){case W.Ec:case W.EMPTY:this.i<this.h.length&&(this.a|=X.Ga);break;case W.Va:case W.Fb:case W.dc:2>this.i&&(this.a|=X.Ga)}return a};
|
||||
h.th=function(a){this.a=this.a&~X.va|a&X.va;if(this.a&X.INIT)this.bb();else if(this.a&X.Bb&&this.g==W.gb)switch(this.g=this.a&X.ca,this.a&=~(X.Bb|X.Ga|X.DONE|X.Ja),(a=this.qa)&&Dc(this.c,a),this.g){case W.Ec:case W.EMPTY:case W.Va:case W.Fb:case W.dc:this.i=0;break;case W.me:a=this.b[this.a&X.Uc?1:0];this.f&=~Z.ha;a&&a.P&&(this.f|=Z.ha);this.m=this.f;ih(this);break;case W.le:this.m=this.w,ih(this)}else this.a&X.eb?this.a&X.DONE&&yc(this.c,this.qa):(a=this.qa)&&Dc(this.c,a)};
|
||||
h.cg=function(a,b){if(!b)switch(this.g){case W.EMPTY:this.a&X.Ga&&(this.a&=~X.Ga,this.m=this.h[this.i]&255,++this.i>=this.h.length&&ih(this))}return this.m};
|
||||
h.uh=function(a){switch(this.g){case W.Ec:this.a&X.Ga&&(this.a&=~X.Ga,this.h[this.i]=a&255,++this.i>=this.h.length&&ih(this));break;case W.Va:case W.Fb:case W.dc:if(this.a&X.Ga)switch(this.a&=~X.Ga,this.i++){case 0:this.s=a;break;case 1:if(this.u=a,this.g==W.Va)hh(this);else{var b=this.g==W.dc,c=0,d=this.a&X.Uc?1:0,e=this.b[d];e=e&&e.P;var f=this.u&jh.Fa,g=this.s&kh.Fa;this.f&=~(Z.kd|Z.ud|Z.Ab|Z.ha);if(e)if(this.f|=Z.ha,d=e.seek(f,0,g,!0))for(b&&(d.Te=!0),b=0,f=this.h.length;b<f;){if(!e.write(d,b,
|
||||
this.h[b]&255)){c=Y.Pc;break}b++}else c=Y.Qc;else c=d?Y.Jc:Y.Ic;ih(this,c)}}}this.m=a};var X=ub.ze,jh=ub.Ce,kh=ub.Be,Z=ub.Ae,W=ub.ca,Y=ub.ae,lh={},gh=(lh[65144]=[null,null,Mc.prototype.bg,Mc.prototype.th,"RXCS"],lh[65146]=[null,null,Mc.prototype.cg,Mc.prototype.uh,"RXDB"],lh);
|
||||
function mh(a,b,c){t.call(this,"Computer",a,33554432);this.j.S=!1;this.H=null;nh(this,b);this.B=dd(this,"autoPower",a,6);this.g=0;this.K=+a.busWidth||+a.buswidth;this.s=this.i=this.u=null;this.m=this.J=!1;this.l=this.h=null;this.I=this.C=this.F=!1;this.O=dd(this,"url")||"";(Math.random()+.1).toString(36);this.b=oh(this);if(this.c=hb("CPU",this.id)){this.D=hb("Debugger",this.id);this.v=new bc({id:this.Ua+".bus",busWidth:this.K},this.c,this.D);var d=fb(this.id);if(this.w=(this.f=hb("Panel",this.id))&&
|
||||
h.oe=function(a,b,c,d,e,f){this.h=f&65535;this.a=this.a&~S.fb|f>>16-S.V.fb&S.fb;this.i=65536-e&65535;this.g=this.g&~Vg.Sc|d&Vg.Sc;this.f|=a;Wg(this);return!0};function Wg(a){a.a&=~S.Ja;a.f&&(a.f|=T.Zd,a.a|=S.Ja,a.f&T.Hc&&(a.a|=S.Hc))}h.Tf=function(){return this.s};h.kh=function(){};h.Uf=function(){return this.f};h.lh=function(){};h.Qf=function(){return this.a&S.Db};
|
||||
h.hh=function(a){this.a=this.a&~S.va|a&S.va;if(this.a&S.Bb){a=!0;var b,c=(this.g&Vg.Ta)>>Vg.V.Ta,d=this.b[c];this.a&=~(S.za|S.Tc);this.f&=~T.Ee;switch(b=this.a&S.ca){case Xg.Ud:this.f=this.g=0;this.a=S.za;break;case Xg.je:case Xg.Va:var e=this.sb;case Xg.Wc:case Xg.Fb:e||(e=this.uc);var f=(this.g&Vg.zb)>>Vg.V.zb;var g=(this.g&Vg.Kc)>>Vg.V.Kc;var k=this.g&Vg.Sc;var l=65536-this.i&65535;var m=(this.a&S.fb)<<16-S.V.fb|this.h;var n=this.a&S.fe?0:2;if(f>=d.M){this.f|=T.Xb;break}if(k>=d.R){this.f|=T.Yb;
|
||||
break}a=e.call(this,d,f,g,k,l,m,n,b>=Xg.Wc,this.oe.bind(this));break;case Xg.cc:f=(this.g&Vg.zb)>>Vg.V.zb;f<d.M?this.a|=S.Tc:this.f|=T.Xb;break;case Xg.$d:this.f=this.g=0,this.a=S.za|S.Tc}this.s=d.status|(d.P?Ug.ha:0)|c<<Ug.V.Mc|this.g&Ug.De;Wg(this);a&&(this.a&=~S.Bb,this.a|=S.za,this.a&S.eb&&yc(this.c,this.qa))}};h.Vf=function(){return this.i};h.mh=function(a){this.i=a};h.Pf=function(){return this.h};h.gh=function(a){this.h=a};h.Rf=function(){return this.g};h.ih=function(a){this.g=a};h.Sf=function(){return this.m};
|
||||
h.jh=function(a){this.m=a};var Ug=C.$b,T=C.re,S=C.pe,Vg=C.qe,Xg=C.ca,Yg={},Tg=(Yg[65280]=[null,null,N.prototype.Tf,N.prototype.kh,"RKDS"],Yg[65282]=[null,null,N.prototype.Uf,N.prototype.lh,"RKER"],Yg[65284]=[null,null,N.prototype.Qf,N.prototype.hh,"RKCS"],Yg[65286]=[null,null,N.prototype.Vf,N.prototype.mh,"RKWC"],Yg[65288]=[null,null,N.prototype.Pf,N.prototype.gh,"RKBA"],Yg[65290]=[null,null,N.prototype.Rf,N.prototype.ih,"RKDA"],Yg[65294]=[null,null,N.prototype.Sf,N.prototype.jh,"RKDB"],Yg);
|
||||
function M(a){Dg.call(this,"RL11",a,131072,D,D.se,Zg);this.a=this.m=this.f=this.g=this.i=this.h=0}p(M,Dg);h=M.prototype;h.bb=function(a){a||(a=[U.ha|U.za,0,0,0,0,0]);a=ia(a);this.a=a.next().value;this.m=a.next().value;this.f=a.next().value;this.g=a.next().value;this.i=a.next().value;this.h=a.next().value;return!0};h.oc=function(){return[this.a,this.m,this.f,this.g,this.i,this.h]};
|
||||
h.sb=function(a,b,c,d,e,f,g,k,l){g=0;a=a.P;k=null;a||(g=$g.Ba,e=0);for(;e;){if(!k){k=a.seek(b,c,d+1);if(!k){g=$g.Ba;break}var m=0}var n,q;if(0>(n=a.read(k,m++))||0>(q=a.read(k,m++))){g=$g.Ba;break}Xb(this.v,Dd(this.c,f),n|q<<8);if(wc(this.v)){g=$g.Cb;break}f+=2;e--;if(m>=a.Z&&(k=null,++d>=a.R&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=$g.Ba;break}}return l?l(g,b,c,d,e,f):g};
|
||||
h.uc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.P;k=null;a||(g=$g.Ba,e=0);for(;e;){var m=Zb(this.v,Dd(this.c,f));if(wc(this.v)){g=$g.Cb;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=$g.Ba;break}var n=0}if(!a.write(k,n++,m&255)||!a.write(k,n++,m>>8)){g=$g.Ba;break}if(n>=a.Z&&(k=null,++d>=a.R&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=$g.Ba;break}}return l?l(g,b,c,d,e,f):g};
|
||||
h.te=function(a,b,c,d,e,f){this.m=f&65535;this.a=this.a&~U.ya|f>>16-U.V.ya&U.ya;this.h=f>>16&ah.Fa;this.g=this.f=b<<V.V.Eb|(c?V.bc:0)|d&V.yd;this.i=65536-e&65535;a&&(this.a=this.a|a|U.Ja);return!0};h.Yf=function(){return this.a&U.Db};
|
||||
h.ph=function(a){this.a=this.a&~U.va|a&U.va;this.h=this.h&60|(a&U.ya)>>U.V.ya;if(!(this.a&U.za)){a=!0;var b=this.b[(this.a&U.Ta)>>U.V.Ta],c=b.P;this.a&=~U.ha;switch(this.a&U.ca){case bh.Ie:this.i&ch.nd&&(this.a&=U.ha|U.ca|U.ya);this.i=b.status|this.g&V.bc|(c&&512==c.M?ch.ce:0);break;case bh.cc:if((this.f&V.be)==V.Fe){var d=this.f&V.Eb;b=(this.f&V.He)<<2;this.g=this.f&V.Ge?this.g+d:this.g-d;this.f=this.g=this.g&V.Eb|b}break;case bh.ne:this.i=this.g;break;case bh.ke:d=this.sb;case bh.Le:d||(d=this.uc);
|
||||
var e=this.f>>V.V.Eb;var f=this.f&V.bc?1:0;var g=this.f&V.yd;!c||e>=c.M||g>=c.R?this.a=this.a|$g.Ba|U.Ja:(a=65536-this.i&65535,c=(this.h&ah.Fa)<<16|this.m,a=d.call(this,b,e,f,g,a,c,2,!1,this.te.bind(this)))}a&&(this.a=this.a|U.ha|U.za,this.a&U.eb&&yc(this.c,this.qa))}};h.Wf=function(){return this.m};h.nh=function(a){this.m=a&dh.va};h.Zf=function(){return this.f};h.qh=function(a){this.f=a};h.$f=function(){return this.i};h.rh=function(a){this.i=a};h.Xf=function(){return this.h};
|
||||
h.oh=function(a){this.h=a&ah.Fa;this.a=this.a&~U.ya|(this.h&3)<<U.V.ya};var U=D.we,dh=D.ue,V=D.xe,ch=D.ac,ah=D.ve,$g=D.md,bh=D.ca,eh={},Zg=(eh[63744]=[null,null,M.prototype.Yf,M.prototype.ph,"RLCS"],eh[63746]=[null,null,M.prototype.Wf,M.prototype.nh,"RLBA"],eh[63748]=[null,null,M.prototype.Zf,M.prototype.qh,"RLDA"],eh[63750]=[null,null,M.prototype.$f,M.prototype.rh,"RLMP"],eh[63752]=[null,null,M.prototype.Xf,M.prototype.oh,"RLBE"],eh);
|
||||
function Mc(a){Dg.call(this,"RX11",a,262144,ub,ub.ye,fh);this.u=this.s=this.f=this.w=this.a=this.m=0;this.g=W.gb;this.i=0;this.h=Array(128).fill(0)}p(Mc,Dg);h=Mc.prototype;
|
||||
h.bb=function(a){a?(a=ia(a),this.a=a.next().value,this.m=a.next().value,this.u=a.next().value,this.s=a.next().value,this.f=a.next().value,this.w=a.next().value,this.g=a.next().value,this.i=a.next().value,this.h=a.next().value):(this.m=this.a=0,this.s=this.u=1,this.w=this.f=0,this.g=W.Va,this.i=0,(a=this.qa)&&Dc(this.c,a),gh(this));return!0};h.oc=function(){return[this.a,this.m,this.u,this.s,this.f,this.w,this.g,this.i,this.h]};h.Md=function(a){0==a&&this.bb()};
|
||||
function hh(a,b){b&&(a.w=b,a.m=a.f,a.a|=X.Ja);a.g=W.gb;a.a|=X.DONE;a.a&X.eb&&yc(a.c,a.qa)}h.sb=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.P,n=null;m||(k=a.pb?Y.Jc:Y.Ic,e=0);for(;e;){if(!n){if(b>=m.M){k=Y.he;break}n=m.seek(b,c,d+1);if(!n){k=Y.Qc;break}var q=0;++d>=m.R&&(d=0,++c>=m.T&&(c=0,++b))}var v;if(0>(a=m.read(n,q++))||0>(v=m.read(n,q++))){k=Y.Pc;break}Xb(this.v,Dd(this.c,f),a|v<<8);q>=m.Z&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k};
|
||||
function gh(a){var b=0,c=a.a&X.Uc?1:0,d=a.b[c];d=d&&d.P;var e=a.u&ih.Fa,f=a.s&jh.Fa;a.f&=~(Z.kd|Z.ud|Z.Ab|Z.ha);if(d)if(a.f|=Z.ha,c=d.seek(e,0,f,!0)){e=0;for(f=a.h.length;e<f;){var g=d.read(c,e);if(0>g){b=Y.Pc;break}a.h[e++]=g}c.Te&&(a.f|=Z.Ab)}else b=Y.Qc;else b=c?Y.Jc:Y.Ic;hh(a,b)}h.bg=function(a,b){a=this.a;if(!b)switch(a&=X.Db,this.g){case W.Ec:case W.EMPTY:this.i<this.h.length&&(this.a|=X.Ga);break;case W.Va:case W.Fb:case W.dc:2>this.i&&(this.a|=X.Ga)}return a};
|
||||
h.th=function(a){this.a=this.a&~X.va|a&X.va;if(this.a&X.INIT)this.bb();else if(this.a&X.Bb&&this.g==W.gb)switch(this.g=this.a&X.ca,this.a&=~(X.Bb|X.Ga|X.DONE|X.Ja),(a=this.qa)&&Dc(this.c,a),this.g){case W.Ec:case W.EMPTY:case W.Va:case W.Fb:case W.dc:this.i=0;break;case W.me:a=this.b[this.a&X.Uc?1:0];this.f&=~Z.ha;a&&a.P&&(this.f|=Z.ha);this.m=this.f;hh(this);break;case W.le:this.m=this.w,hh(this)}else this.a&X.eb?this.a&X.DONE&&yc(this.c,this.qa):(a=this.qa)&&Dc(this.c,a)};
|
||||
h.cg=function(a,b){if(!b)switch(this.g){case W.EMPTY:this.a&X.Ga&&(this.a&=~X.Ga,this.m=this.h[this.i]&255,++this.i>=this.h.length&&hh(this))}return this.m};
|
||||
h.uh=function(a){switch(this.g){case W.Ec:this.a&X.Ga&&(this.a&=~X.Ga,this.h[this.i]=a&255,++this.i>=this.h.length&&hh(this));break;case W.Va:case W.Fb:case W.dc:if(this.a&X.Ga)switch(this.a&=~X.Ga,this.i++){case 0:this.s=a;break;case 1:if(this.u=a,this.g==W.Va)gh(this);else{var b=this.g==W.dc,c=0,d=this.a&X.Uc?1:0,e=this.b[d];e=e&&e.P;var f=this.u&ih.Fa,g=this.s&jh.Fa;this.f&=~(Z.kd|Z.ud|Z.Ab|Z.ha);if(e)if(this.f|=Z.ha,d=e.seek(f,0,g,!0))for(b&&(d.Te=!0),b=0,f=this.h.length;b<f;){if(!e.write(d,b,
|
||||
this.h[b]&255)){c=Y.Pc;break}b++}else c=Y.Qc;else c=d?Y.Jc:Y.Ic;hh(this,c)}}}this.m=a};var X=ub.ze,ih=ub.Ce,jh=ub.Be,Z=ub.Ae,W=ub.ca,Y=ub.ae,kh={},fh=(kh[65144]=[null,null,Mc.prototype.bg,Mc.prototype.th,"RXCS"],kh[65146]=[null,null,Mc.prototype.cg,Mc.prototype.uh,"RXDB"],kh);
|
||||
function lh(a,b,c){t.call(this,"Computer",a,33554432);this.j.S=!1;this.H=null;mh(this,b);this.B=dd(this,"autoPower",a,6);this.g=0;this.K=+a.busWidth||+a.buswidth;this.s=this.i=this.u=null;this.m=this.J=!1;this.l=this.h=null;this.I=this.C=this.F=!1;this.O=dd(this,"url")||"";(Math.random()+.1).toString(36);this.b=nh(this);if(this.c=hb("CPU",this.id)){this.D=hb("Debugger",this.id);this.v=new bc({id:this.Ua+".bus",busWidth:this.K},this.c,this.D);var d=fb(this.id);if(this.w=(this.f=hb("Panel",this.id))&&
|
||||
this.f.o.print)for(b=0;b<d.length;b++){var e=d[b];e.G=this.f.G;e.print=this.f.print;e.aa=this.f.aa}this.aa(rb+" v1.37.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.aa("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<d.length;b++)e=d[b],e.ja&&e.ja(this,this.v,this.c,this.D);b=null;e=dd(this,"resume",a);void 0!==e&&(1<e.length?b=this.i=e:this.a=parseInt(e,
|
||||
10));var f;if(a=dd(this,"state")||(f=!0,a.state))this.u=b=a,f||(this.m=!0,this.a=ph),this.a&&(this.l=new E(this,"1.37.0"),qh(this.l)?b=null:delete this.l);!b&&this.a&&(b=rh(this))&&(this.m=!0);if(b){var g=this;Ha(b,null,!0,function(a,b,c){c?(g.i=null,g.m=!1,g.G("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.s=b,g.J=!0);B(g)})}else B(this);this.o.power||(this.B=!0);!c&&this.B&&this.Tb(this.Qb)}else r("Unable to find CPU component")}p(mh,t);
|
||||
function nh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.H=b}function dd(a,b,c,d){var e=b.toLowerCase();e=Pa(b)||Pa(e);void 0===e&&a.H&&(e=a.H[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=mh.prototype;
|
||||
h.Tb=function(a,b){for(var c=this,d=fb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!ob(f)){ob(f,function(){c.Tb(a,b)});return}}a.call(this,b)};function sh(a,b){var c=new E(a,"1.37.0",th);if(qh(c)&&uh(c)){var d=c.get(vh),e=b?b.get(vh):"unknown";d!=e&&(a.G("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
h.Qb=function(a){void 0===a&&(a=this.a||(this.s?wh:ph));if(!this.g){this.g++;var b=!1,c=!1;this.F=!1;var d=this.l||new E(this,"1.37.0");if(a==xh)b=!0;else if(a>ph){if(qh(d,this.s)){this.h=new E(this,"1.37.0",Ah);qh(this.h)&&(Bh(this,d),a=Ch,Dh(this.h));this.h.set(vh,Ea());Eh(this.h);var e=this.a&&!this.m;if(a==wh||db("Click OK to restore the previous "+rb+" machine state, or CANCEL to reset the machine.")){if(c=uh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?qh(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.G("Error: "+g),"unable to verify user"==g&&(Na(Fh,""),this.b=null)):this.aa(f+": "+g),Dh(d),qh(d)?(c=uh(d),e=!0):c=!1))}e&&sh(this,c?d:null)}else a==Ch&&d.clear()}else sh(this);delete this.s;delete this.l}e=fb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.c&&(c=Gh(this,g,d,b,c));b=[d,a,c];a!=xh?this.Tb(this.Hd,b):this.Hd(b)}};
|
||||
function Gh(a,b,c,d,e){if(!b.j.S){b.j.S=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,".")))),"string"===typeof f&&(f=null),!b.la(f,d)&&f&&(r("Unable to restore state for "+b.type),a.u&&!a.J?(c.clear(),a.a=ph,window&&window.location.reload()):a.F=!0,b.la(null),e=!1),!d&&b.qd){var g=b.qd.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){r("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
|
||||
h.Hd=function(a){var b=a[0],c=0>a[1];a=a[2];this.I=!0;this.j.S=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.c&&(Gh(this,this.c,b,c,a),Vb(this,-2),this.c.Y());this.F&&(Bh(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.g=0};
|
||||
function Bh(a,b){if(db("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.O;a=a.b||"";b=b.toString();var d={};d.app=rb;d.ver="1.37.0";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function Hh(a,b,c){var d="none";if(a.g)return null;a.g--;var e=new E(a,"1.37.0"),f=new E(a,"1.37.0",th),g=Ea();f.set(vh,g);e.set(vh,g);e.set(Ih,"1.37.0");e.set(Jh,window?window.location.href:null);e.set(Kh,window?window.navigator.userAgent:"");if(a.c&&a.c.ka){c&&(b&&(a.c.j.Y=a.c.j.N),G(a.c));var k=a.c.ka(b,c);"object"===typeof k&&e.set(a.c.id,k);c&&(a.c.j.S=!1,!1===k&&(d=null))}g=fb(a.id);for(var l=0;l<g.length;l++){var m=g[l];m.j.S&&(m.ka&&(k=m.ka(b,c),"object"===typeof k&&e.set(m.id,k)),c&&(m.j.S=
|
||||
!1,!1===k&&(d=null)))}d&&(c?(g=k=!1,b?(a.b&&Lh(a,a.b,e.toString()),Eh(f)&&Eh(e)||(d=null,k=g=!0)):a.a&&(k=!0,g=a.a==Mh),k&&e.clear(g)):d=e.toString());c&&(a.j.S=!1,b=a.o.power)&&(b.textContent="Power");a.g=0;return d}h.reset=function(){this.j.reset=!0;this.v&&this.v.reset&&this.v.reset();this.c&&this.c.reset&&this.c.reset();for(var a=fb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.v&&c!==this.c&&c.reset&&c.reset()}this.j.reset=!1;Vb(this,-1)};
|
||||
10));var f;if(a=dd(this,"state")||(f=!0,a.state))this.u=b=a,f||(this.m=!0,this.a=oh),this.a&&(this.l=new E(this,"1.37.0"),ph(this.l)?b=null:delete this.l);!b&&this.a&&(b=qh(this))&&(this.m=!0);if(b){var g=this;Ha(b,null,!0,function(a,b,c){c?(g.i=null,g.m=!1,g.G("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.s=b,g.J=!0);B(g)})}else B(this);this.o.power||(this.B=!0);!c&&this.B&&this.Tb(this.Qb)}else r("Unable to find CPU component")}p(lh,t);
|
||||
function mh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.H=b}function dd(a,b,c,d){var e=b.toLowerCase();e=Pa(b)||Pa(e);void 0===e&&a.H&&(e=a.H[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=lh.prototype;
|
||||
h.Tb=function(a,b){for(var c=this,d=fb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!ob(f)){ob(f,function(){c.Tb(a,b)});return}}a.call(this,b)};function rh(a,b){var c=new E(a,"1.37.0",sh);if(ph(c)&&th(c)){var d=c.get(uh),e=b?b.get(uh):"unknown";d!=e&&(a.G("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
h.Qb=function(a){void 0===a&&(a=this.a||(this.s?vh:oh));if(!this.g){this.g++;var b=!1,c=!1;this.F=!1;var d=this.l||new E(this,"1.37.0");if(a==wh)b=!0;else if(a>oh){if(ph(d,this.s)){this.h=new E(this,"1.37.0",zh);ph(this.h)&&(Ah(this,d),a=Bh,Ch(this.h));this.h.set(uh,Ea());Dh(this.h);var e=this.a&&!this.m;if(a==vh||db("Click OK to restore the previous "+rb+" machine state, or CANCEL to reset the machine.")){if(c=th(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ph(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.G("Error: "+g),"unable to verify user"==g&&(Na(Eh,""),this.b=null)):this.aa(f+": "+g),Ch(d),ph(d)?(c=th(d),e=!0):c=!1))}e&&rh(this,c?d:null)}else a==Bh&&d.clear()}else rh(this);delete this.s;delete this.l}e=fb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.c&&(c=Fh(this,g,d,b,c));b=[d,a,c];a!=wh?this.Tb(this.Hd,b):this.Hd(b)}};
|
||||
function Fh(a,b,c,d,e){if(!b.j.S){b.j.S=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,".")))),"string"===typeof f&&(f=null),!b.la(f,d)&&f&&(r("Unable to restore state for "+b.type),a.u&&!a.J?(c.clear(),a.a=oh,window&&window.location.reload()):a.F=!0,b.la(null),e=!1),!d&&b.qd){var g=b.qd.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){r("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
|
||||
h.Hd=function(a){var b=a[0],c=0>a[1];a=a[2];this.I=!0;this.j.S=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.c&&(Fh(this,this.c,b,c,a),Vb(this,-2),this.c.Y());this.F&&(Ah(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.g=0};
|
||||
function Ah(a,b){if(db("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.O;a=a.b||"";b=b.toString();var d={};d.app=rb;d.ver="1.37.0";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function Gh(a,b,c){var d="none";if(a.g)return null;a.g--;var e=new E(a,"1.37.0"),f=new E(a,"1.37.0",sh),g=Ea();f.set(uh,g);e.set(uh,g);e.set(Hh,"1.37.0");e.set(Ih,window?window.location.href:null);e.set(Jh,window?window.navigator.userAgent:"");if(a.c&&a.c.ka){c&&(b&&(a.c.j.Y=a.c.j.N),G(a.c));var k=a.c.ka(b,c);"object"===typeof k&&e.set(a.c.id,k);c&&(a.c.j.S=!1,!1===k&&(d=null))}g=fb(a.id);for(var l=0;l<g.length;l++){var m=g[l];m.j.S&&(m.ka&&(k=m.ka(b,c),"object"===typeof k&&e.set(m.id,k)),c&&(m.j.S=
|
||||
!1,!1===k&&(d=null)))}d&&(c?(g=k=!1,b?(a.b&&Kh(a,a.b,e.toString()),Dh(f)&&Dh(e)||(d=null,k=g=!0)):a.a&&(k=!0,g=a.a==Lh),k&&e.clear(g)):d=e.toString());c&&(a.j.S=!1,b=a.o.power)&&(b.textContent="Power");a.g=0;return d}h.reset=function(){this.j.reset=!0;this.v&&this.v.reset&&this.v.reset();this.c&&this.c.reset&&this.c.reset();for(var a=fb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.v&&c!==this.c&&c.reset&&c.reset()}this.j.reset=!1;Vb(this,-1)};
|
||||
h.start=function(a,b){for(var c=fb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Vb(this,-1)};h.stop=function(a,b){for(var c=fb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Vb(this,-1)};
|
||||
function Vb(a,b){if(a.c){var c=a.c,d=b||0,e=c.o.speed;e&&(0>=d||30<=(c.hd+=d))&&(e.textContent=c.j.N?c.Wa.toFixed(2)+"Mhz":"Stopped",c.hd=0)}if(a.f&&(a=a.f,b=b||0,a.l)){c=a.c.j.N;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;e<a.c.b.length;e++)Lb(a,"R"+e,a.c.b[e]);e=Jc(a.c);Lb(a,"PS",e);Lb(a,"NF",e&8?1:0,1);Lb(a,"ZF",e&4?1:0,1);Lb(a,"VF",e&2?1:0,1);Lb(a,"CF",e&1?1:0,1);a.i=0}-1>b?a.U=a.c.b[7]:0<b&&c&&!d&&(a.U=a.c.Ka);Hb(a,a.U);yb(a,a.b);b=a.c;b=b.jb?b.ta&16?1:2:4;$b(a,"B22",b&1);$b(a,"B18",b&2);$b(a,
|
||||
"B16",b&4)}}
|
||||
h.ma=function(a,b,c){var d=this;switch(b){case "power":return this.o[b]=c,c.onclick=function(){d.g||(d.j.S?Hh(d,!1,!0):d.Tb(d.Qb))},!0;case "reset":return this.o[b]=c,c.onclick=function(){if(d.j.S&&!d.g)if(d.a&&!d.i){var a=db("Click OK to save changes to this "+rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Hh(d,a,!0);!a&&d.u?window&&window.location.reload():(a||(d.C=!0),d.Qb(ph),d.C=!1)}else d.reset(),d.c&&!d.D&&d.c.Y()},!0;case "save":if(za(Ja(),"pcjs.org"))c.parentNode.removeChild(c);else return this.o[b]=
|
||||
c,c.onclick=function(){var a=oh(d,!0);if(a){var b=!!(d.a&&!d.i||d.u),c=Hh(d,b);b?Lh(d,a,c):d.G("Resume disabled, machine state not saved")}},!0}return!1};function oh(a,b){var c=a.b;c||((c=Ma(Fh),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=Nh(a,c))||a.G("The user ID is invalid.")):b&&a.G("Browser local storage is not available"));return c}
|
||||
function Nh(a,b){a.b=null;b=Ha(Ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Na(Fh,b.data),a.b=b.data)}catch(d){r(d.message+" ("+c+")")}return a.b}function rh(a){var b=null;a.b&&(b=Ja()+"/api/v1/user?req=load&user="+a.b+"&state="+Oh(a,"1.37.0"));return b}
|
||||
function Lh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Oh(a,"1.37.0");d.data=c;b=Ha(Ja()+"/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.G("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.G(c),Na(Fh,""),a.b=null)}}
|
||||
function hg(a){var b;a=fb(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 kd(a){if(a.w){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.w.focus();window&&window.scrollTo(b,c)}}var Ah="failsafe",th="validate",vh="timestamp",Ih="version",Jh="url",Kh="browser",Fh="user",xh=-1,ph=0,wh=1,Ch=2,Mh=3;
|
||||
Sa(function(){for(var a=z(document,y+"-machine"),b=0;b<a.length;b++){var c=a[b],d=A(c);c=z(c,y,"computer");for(var e=0;e<c.length;e++){var f=c[e],g=A(f);g=new mh(g,d,!0);x(g,f);g.B&&g.Tb(g.Qb)}}});Ta.show.push(function(){for(var a=z(document,y,"computer"),b=0;b<a.length;b++){var c=A(a[b]);if(c=hb("Computer",c.id))c.j.fd=!1,c.I&&!c.j.S&&c.Qb(xh)}});
|
||||
Ta.exit.push(function(){for(var a=z(document,y,"computer"),b=0;b<a.length;b++){var c=A(a[b]);if(c=hb("Computer",c.id))c.j.fd=!0,c.j.S&&Hh(c,!(!c.a||c.i),!0)}});function E(a,b,c){this.id=a.id;this.a="";this.c={};this.b=this.o=!1;this.key=Oh(a,b,c);Dh(this,a.Ke)}h=E.prototype;h.set=function(a,b){try{this.c[a]=b}catch(c){}};h.get=function(a){return this.c[a]||null};h.data=function(){return this.c};function qh(a,b){return b?(a.a=b,a.b=!0,a.o=!1,!0):a.b?!0:Ka()&&(b=Ma(a.key))?(a.a=b,a.b=!0):!1}
|
||||
function uh(a){var b=!0;if(!a.o)try{a.c=JSON.parse(a.a),a.o=!0}catch(c){r(c.message||c),b=!1}return b}function Eh(a){var b=!0;if(Ka()){var c=JSON.stringify(a.c);Na(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.c?JSON.stringify(this.c):this.a};function Dh(a,b){a.a="";a.c={};a.b=a.o=!1;b&&a.set("parms",b)}
|
||||
h.clear=function(a){Dh(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 Oh(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 Ph=0;
|
||||
function Qh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ha(a,null,!0,function(k,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),g(l,null)):Rh(l,a,b,c,d,e,f,g)})}
|
||||
function Rh(a,b,c,d,e,f,g,k){function l(a,g){if(g)k(g,null);else{c&&(ab(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),e=e.replace(/\$/g,"$$$$"),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?Sh(a,g,l):l(a,null):k("no data"+(b?" for file: "+
|
||||
h.ma=function(a,b,c){var d=this;switch(b){case "power":return this.o[b]=c,c.onclick=function(){d.g||(d.j.S?Gh(d,!1,!0):d.Tb(d.Qb))},!0;case "reset":return this.o[b]=c,c.onclick=function(){if(d.j.S&&!d.g)if(d.a&&!d.i){var a=db("Click OK to save changes to this "+rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Gh(d,a,!0);!a&&d.u?window&&window.location.reload():(a||(d.C=!0),d.Qb(oh),d.C=!1)}else d.reset(),d.c&&!d.D&&d.c.Y()},!0;case "save":if(za(Ja(),"pcjs.org"))c.parentNode.removeChild(c);else return this.o[b]=
|
||||
c,c.onclick=function(){var a=nh(d,!0);if(a){var b=!!(d.a&&!d.i||d.u),c=Gh(d,b);b?Kh(d,a,c):d.G("Resume disabled, machine state not saved")}},!0}return!1};function nh(a,b){var c=a.b;c||((c=Ma(Eh),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=Mh(a,c))||a.G("The user ID is invalid.")):b&&a.G("Browser local storage is not available"));return c}
|
||||
function Mh(a,b){a.b=null;b=Ha(Ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Na(Eh,b.data),a.b=b.data)}catch(d){r(d.message+" ("+c+")")}return a.b}function qh(a){var b=null;a.b&&(b=Ja()+"/api/v1/user?req=load&user="+a.b+"&state="+Nh(a,"1.37.0"));return b}
|
||||
function Kh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Nh(a,"1.37.0");d.data=c;b=Ha(Ja()+"/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.G("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.G(c),Na(Eh,""),a.b=null)}}
|
||||
function hg(a){var b;a=fb(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 kd(a){if(a.w){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.w.focus();window&&window.scrollTo(b,c)}}var zh="failsafe",sh="validate",uh="timestamp",Hh="version",Ih="url",Jh="browser",Eh="user",wh=-1,oh=0,vh=1,Bh=2,Lh=3;
|
||||
Sa(function(){for(var a=z(document,y+"-machine"),b=0;b<a.length;b++){var c=a[b],d=A(c);c=z(c,y,"computer");for(var e=0;e<c.length;e++){var f=c[e],g=A(f);g=new lh(g,d,!0);x(g,f);g.B&&g.Tb(g.Qb)}}});Ta.show.push(function(){for(var a=z(document,y,"computer"),b=0;b<a.length;b++){var c=A(a[b]);if(c=hb("Computer",c.id))c.j.fd=!1,c.I&&!c.j.S&&c.Qb(wh)}});
|
||||
Ta.exit.push(function(){for(var a=z(document,y,"computer"),b=0;b<a.length;b++){var c=A(a[b]);if(c=hb("Computer",c.id))c.j.fd=!0,c.j.S&&Gh(c,!(!c.a||c.i),!0)}});function E(a,b,c){this.id=a.id;this.a="";this.c={};this.b=this.o=!1;this.key=Nh(a,b,c);Ch(this,a.Ke)}h=E.prototype;h.set=function(a,b){try{this.c[a]=b}catch(c){}};h.get=function(a){return this.c[a]||null};h.data=function(){return this.c};function ph(a,b){return b?(a.a=b,a.b=!0,a.o=!1,!0):a.b?!0:Ka()&&(b=Ma(a.key))?(a.a=b,a.b=!0):!1}
|
||||
function th(a){var b=!0;if(!a.o)try{a.c=JSON.parse(a.a),a.o=!0}catch(c){r(c.message||c),b=!1}return b}function Dh(a){var b=!0;if(Ka()){var c=JSON.stringify(a.c);Na(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.c?JSON.stringify(this.c):this.a};function Ch(a,b){a.a="";a.c={};a.b=a.o=!1;b&&a.set("parms",b)}
|
||||
h.clear=function(a){Ch(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 Nh(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 Oh=0;
|
||||
function Ph(a,b,c,d,e,f,g){f("Loading "+a+"...");Ha(a,null,!0,function(k,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),g(l,null)):Qh(l,a,b,c,d,e,f,g)})}
|
||||
function Qh(a,b,c,d,e,f,g,k){function l(a,g){if(g)k(g,null);else{c&&(ab(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),e=e.replace(/\$/g,"$$$$"),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?Rh(a,g,l):l(a,null):k("no data"+(b?" for file: "+
|
||||
b:""),null)}
|
||||
function Sh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/gi;m=n.exec(f);)l=0>l.toLowerCase().indexOf(m[1].toLowerCase())?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);Sh(a,b,c)}})}else c(a,null)}
|
||||
function Th(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=Aa(a))}function g(a){f("Error: "+a);m&&(--Ph||Xa(!0));m=!1}var k,l,m=!0;Ph++;bb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=n:v.appendChild(document.createTextNode(n));q.appendChild(v)}d||
|
||||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.37.0/components.xsl");n=function(e,l){l?Qh(d,null,a,null,!1,f,function(a,e){e?(ab(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Ph||Xa(!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),--Ph||
|
||||
Xa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Qh(c,b,a,e,!0,f,n):Rh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(u){g(u.message)}return m}window.embedPDP10=function(a,b,c,d){Xa(!1);return Th("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Xa(!1);return Th("pdp11",a,b,c,d)};
|
||||
function Rh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/gi;m=n.exec(f);)l=0>l.toLowerCase().indexOf(m[1].toLowerCase())?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);Rh(a,b,c)}})}else c(a,null)}
|
||||
function Sh(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=Aa(a))}function g(a){f("Error: "+a);m&&(--Oh||Xa(!0));m=!1}var k,l,m=!0;Oh++;bb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=n:v.appendChild(document.createTextNode(n));q.appendChild(v)}d||
|
||||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.37.0/components.xsl");n=function(e,l){l?Ph(d,null,a,null,!1,f,function(a,e){e?(ab(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Oh||Xa(!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),--Oh||
|
||||
Xa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Ph(c,b,a,e,!0,f,n):Qh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(u){g(u.message)}return m}window.embedPDP10=function(a,b,c,d){Xa(!1);return Sh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Xa(!1);return Sh("pdp11",a,b,c,d)};
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete jb[c],d=!0;else if("string"==typeof f&&!jb[c]){d=!0;e=jb;for(var g=c,k=f.length,l=[],m=[],n="",q=null,v=0;v<k;v++){var u=f[v];if('"'==u||"'"==u)q&&u!=q?n+=u:(q?q=null:q=u,n&&(m.push(n),n=""));else{if(!q){if("\r"==u||"\n"==u)u=";";if(" "==u||"\t"==u||";"==u){n&&(m.push(n),n="");";"==u&&m.length&&(l.push(m),m=[]);continue}}n+=u}}n&&m.push(n);m.length&&l.push(m);e[g]=l;ib(c)||(d=!1)}return d?(b&&(a.disabled=!0),
|
||||
!0):!1}if(d&&(g=hb(d,c+".machine"))&&(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=Xa;window.sendEvent=Za;})();//# sourceMappingURL=/versions/pdpjs/1.37.0/pdp11.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue