Added some more disk configurations
This commit is contained in:
parent
16f91fec4a
commit
b730b915bf
31 changed files with 1002 additions and 963 deletions
|
|
@ -22,7 +22,7 @@ Logitech Modula-2/86 Compiler (1984)
|
|||
Logitech's Modula-2 Compiler (Modula-2/86 v1.10) has been installed in the machine below. The machine is
|
||||
an [IBM PC XT (Model 5160, 640Kb, 10Mb Drive) with EGA Display](/devices/pcx86/machine/5160/ega/640kb/), but
|
||||
the hard drive has been replaced with a [10Mb Drive](/disks/pcx86/fixed/10mb/) containing
|
||||
[MS-DOS 3.20 with Microsoft C 4.00](/disks/pcx86/fixed/10mb/msdos320-c400.xml), and then all the Modula-2 installation
|
||||
[MS-DOS 3.20 with Microsoft C 4.00](/disks/pcx86/fixed/10mb/msdos320-c400-xt.xml), and then all the Modula-2 installation
|
||||
changes have been overlaid onto it.
|
||||
|
||||
{% include machine.html id="ibm5160-msdos320" %}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -7,25 +7,46 @@ permalink: /disks/pcx86/fixed/10mb/
|
|||
10Mb Hard Drive (Fixed Disk) Images
|
||||
-----------------------------------
|
||||
|
||||
This folder contains the following 10Mb fixed disk configurations:
|
||||
This folder contains a variety of 10Mb (PC XT Type 3) fixed disk configurations:
|
||||
|
||||
* [Unformatted Disk](unformatted.xml)
|
||||
* [PC-DOS 2.00 Formatted Disk (Empty)](pcdos200-empty.xml)
|
||||
* [PC-DOS 2.00 with Windows 1.01 for CGA](pcdos200-win101-cga.xml)
|
||||
* [PC-DOS 2.00 with Windows 1.01 for EGA](pcdos200-win101-ega.xml)
|
||||
* [MS-DOS 3.20 with Microsoft C 4.00](msdos320-c400.xml)
|
||||
* [MS-DOS 3.20 with Microsoft C 4.00](msdos320-c400-xt.xml)
|
||||
|
||||
These disk images are used by various IBM PC XT [Model 5160](/devices/pcx86/machine/5160/) machine configurations,
|
||||
either directly:
|
||||
These XML disk configurations are used to load fixed disk images into various IBM PC XT
|
||||
[Model 5160](/devices/pcx86/machine/5160/) machine configurations.
|
||||
|
||||
For example, a PC XT machine using this HDC XML reference:
|
||||
|
||||
```xml
|
||||
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
|
||||
<hdc ref="/disks/pcx86/fixed/10mb/msdos320-c400-xt.xml"/>
|
||||
```
|
||||
|
||||
or by reference:
|
||||
will load the following PC XT controller configuration and disk image:
|
||||
|
||||
```xml
|
||||
<hdc ref="/disks/pcx86/fixed/10mb/unformatted.xml"/>
|
||||
<hdc id="hdcXT" type="XT" drives='[{name:"10Mb Hard Disk",type:3,path:"/disks/pcx86/fixed/10mb/MSDOS320-C400.json"}]'/>
|
||||
```
|
||||
|
||||
Some of the 10Mb disk images have also been pre-configured for use in PC AT configurations:
|
||||
|
||||
* [MS-DOS 3.20 with Microsoft C 4.00 (PC AT Drive Type 1)](msdos320-c400-at.xml)
|
||||
|
||||
The configuration must set the HDC's controller type to "AT" and select an appropriate AT
|
||||
drive type. So, whereas the XT drive type for a 10Mb disk was 3, the corresponding AT drive type is 1.
|
||||
|
||||
So, a PC AT machine using this HDC XML reference:
|
||||
|
||||
```xml
|
||||
<hdc ref="/disks/pcx86/fixed/10mb/msdos320-c400-at.xml"/>
|
||||
```
|
||||
|
||||
will load the following PC AT controller configuration and disk image:
|
||||
|
||||
```xml
|
||||
<hdc id="hdcAT" type="AT" drives='[{name:"10Mb Hard Disk",type:1,path:"/disks/pcx86/fixed/10mb/MSDOS320-C400.json"}]'/>
|
||||
```
|
||||
|
||||
### Notes Regarding 10Mb Disks
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3,path:"/disks/pcx86/fixed/10mb/MSDOS320-C400.json"}]'>
|
||||
<hdc id="hdcAT" type="AT" drives='[{name:"10Mb Hard Disk",type:1,path:"/disks/pcx86/fixed/10mb/MSDOS320-C400.json"}]'>
|
||||
<control type="button" binding="saveHD0" padLeft="8px" padBottom="8px" padRight="8px">Save HD</control>
|
||||
</hdc>
|
||||
4
disks/pcx86/fixed/10mb/msdos320-c400-xt.xml
Normal file
4
disks/pcx86/fixed/10mb/msdos320-c400-xt.xml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<hdc id="hdcXT" type="XT" drives='[{name:"10Mb Hard Disk",type:3,path:"/disks/pcx86/fixed/10mb/MSDOS320-C400.json"}]'>
|
||||
<control type="button" binding="saveHD0" padLeft="8px" padBottom="8px" padRight="8px">Save HD</control>
|
||||
</hdc>
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
<control type="switches" label="SW1" binding="sw1" left="0px"/>
|
||||
<control type="description" binding="swdesc" left="0px"/>
|
||||
</chipset>
|
||||
<hdc ref="/disks/pcx86/fixed/10mb/msdos320-c400.xml"/>
|
||||
<hdc ref="/disks/pcx86/fixed/10mb/msdos320-c400-xt.xml"/>
|
||||
<serial id="com1" adapter="1" binding="print"/>
|
||||
<serial id="com2" adapter="2"/>
|
||||
<mouse serial="com2"/>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
</cpu>
|
||||
<keyboard ref="/devices/pcx86/keyboard/us83-buttons-functions.xml"/>
|
||||
<chipset id="chipset" model="5160" sw1="01001101"/>
|
||||
<hdc ref="/disks/pcx86/fixed/10mb/msdos320-c400.xml"/>
|
||||
<hdc ref="/disks/pcx86/fixed/10mb/msdos320-c400-xt.xml"/>
|
||||
<serial id="com1" adapter="1"/>
|
||||
<serial id="com2" adapter="2"/>
|
||||
<mouse serial="com2"/>
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -663,249 +663,249 @@ l.write=function(a,b,c){if(this.Oe)return!1;if(b<a.length){if(c!=this.read(a,b,!
|
|||
l.save=function(){var a=0,b=[];b[a++]=[this.H,this.K,this.sb,this.gb,this.Wa,this.Na];if(!this.D&&!this.Oe)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.Nc){for(var h=[],k=0,m=g.gd,p=g.gd+g.Nc;m<p;)h[k++]=g.data[m++];b[a++]=[d,e,f,g.gd,h]}}return b};
|
||||
l.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[0]&&null!=e[1]&&null!=this.K&&e[1]!=this.K&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.K+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],m=g[f++];if(h>=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+
|
||||
m+") out of range ("+b+" changes applied)";b=-1;break}if(this.Oe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.gd=e;for(h.Nc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b?-2!=b&&this.Da("Unable to restore disk '"+this.jd+": "+c):Cv(this);return b};
|
||||
l.toJSON=function(){var a=0;for(var b;b=Ev(this,a++);)hw(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 hw(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 vv=0;function aw(a,b,c,d,e){this.va=a;this.hc=b;this.Sg=c;this.Xi=d;this.ge=e}function Tv(a,b,c){var d;c=c||2;var e=b&511,f=Ev(a.va,a.ge[b>>9]);if(f){if(e+c<=f.length)return Fv(a.va,f,e,c);for(e=d=0;c--;)d|=Tv(a,b++,1)<<e,e+=8}return d}function Iv(a,b,c){return Tv(a,b[0]+(c||0),b[1])}
|
||||
function hw(a){for(var b=0,c;c=Ev(a,b++);)iw(c);a=JSON.stringify(a.A,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/g,"").replace(/,"pattern":0/g,"").replace(/,"data":\[]/g,"");a=a.replace(/"(sector|length|data|pattern)":/g,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/g,"");return a=a.replace(/(sector|length|data|pattern):/g,'"$1":')}function iw(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 vv=0;
|
||||
function aw(a,b,c,d,e){this.va=a;this.hc=b;this.Sg=c;this.Xi=d;this.ge=e}function Tv(a,b,c){var d;c=c||2;var e=b&511,f=Ev(a.va,a.ge[b>>9]);if(f){if(e+c<=f.length)return Fv(a.va,f,e,c);for(e=d=0;c--;)d|=Tv(a,b++,1)<<e,e+=8}return d}function Iv(a,b,c){return Tv(a,b[0]+(c||0),b[1])}
|
||||
function Xv(a,b,c){for(var d=0;!c||b<c;){var e=Tv(a,b,1);if(!e)break;var f=a;var g=b+1,h=e,k="";for(h||(h=-1);h--;){var m=Tv(f,g++,1);if(!m)break;k+=String.fromCharCode(m)}f=k;if(!f)break;b+=1+e;if(d){if(e=Tv(a,b),g=a.A[e])g=g[0],a.fe[g]&&a.fe[g].hf[e].push(f)}else c||(a.fi=f);b+=2;d++}}var Kv=23117,Jv=[0,2],Lv=[24,2],Nv=[60,4],Mv=64,Pv=17742,Ov=[0,2],Uv=[4,2],Vv=[6,2],Qv=[28,2],Zv=[32,2],Rv=[34,2],Wv=[38,2],Yv=[44,4],Sv=[50,2];
|
||||
function iw(a){pb.call(this,"FDC",a,524288);this.dmaRead=iw.prototype.bl;this.dmaWrite=iw.prototype.cl;this.dmaFormat=iw.prototype.tl;this.M=jw(a.autoMount);this.J=a.sortBy||"name";"none"==this.J&&(this.J=null);this.B=[];this.L=!Ua("Mobi")&&window&&"FileReader"in window;this.exports={loadDisk:this.zj,wait:this.Yo}}ia(iw,pb);l=iw.prototype;
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ma[b]=c;if(this.J){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.J?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){kw(d)};return!0;case "descDisk":case "listDrives":return this.ma[b]=c,c.onchange=function(){var a=qa(c.value,10);null!=a&&lw(d,a)},!0;case "loadDisk":return this.ma[b]=c,c.onclick=
|
||||
function jw(a){pb.call(this,"FDC",a,524288);this.dmaRead=jw.prototype.bl;this.dmaWrite=jw.prototype.cl;this.dmaFormat=jw.prototype.tl;this.M=kw(a.autoMount);this.J=a.sortBy||"name";"none"==this.J&&(this.J=null);this.B=[];this.L=!Ua("Mobi")&&window&&"FileReader"in window;this.exports={loadDisk:this.zj,wait:this.Yo}}ia(jw,pb);l=jw.prototype;
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ma[b]=c;if(this.J){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.J?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){lw(d)};return!0;case "descDisk":case "listDrives":return this.ma[b]=c,c.onchange=function(){var a=qa(c.value,10);null!=a&&mw(d,a)},!0;case "loadDisk":return this.ma[b]=c,c.onclick=
|
||||
function(){d.zj()},!0;case "saveDisk":if(!this.L){c.parentNode.removeChild(c);break}this.ma[b]=c;c.onclick=function(){var a=d.ma.listDrives;a&&a.options&&d.A&&((a=d.A[qa(a.value,10)||0])?(a=a.va)?(a=Za(gw(a),"octet-stream",!0,a.Fg.replace(".json",".img")),kb(a)):d.Da("No diskette loaded in drive."):d.Da("No diskette drive selected."))};return!0;case "mountDisk":if(this.L)return this.ma[b]=c,c.onchange=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;mw(d,xa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.ca=d;this.na=a;this.V=ac(a,"ChipSet");jw(Ad(this.na,"autoMount"),this.M);nw(this);Pc(b,this,ow);Uc(b,this,pw);qw(this,"None","",!0);this.L&&qw(this,"Local Disk","?");qw(this,"Remote Disk","??");rw(this)||Pb(this)};
|
||||
function jw(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){kb("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};for(var c in a)b&&(b[c]=a[c]);return a}
|
||||
l.$b=function(a,b){if(!b){if(!a){if(this.reset(),this.na.aa){this.B=[];for(a=0;a<this.A.length;a++)sw(this,a,!0);rw(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ma.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",lw(this,0))}}return!0};l.Zb=function(a){return a?this.save():!0};l.reset=function(){nw(this)};
|
||||
l.save=function(){var a=new ag(this);a.set(0,tw(this));return a.data()};l.restore=function(a){return nw(this,a[0])};
|
||||
function nw(a,b){var c=0,d=!0;b||(b=[0,0,uw,Array(9),0,0,0,[]]);a.Ya=b[c++];c++;a.ga=b[c++];a.F=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var e=b[c++];var f=b[c++];null!=f&&(a.B=f);void 0===a.A&&(a.N=4,a.V&&(a.N=+Yl(a.V,ll,void 0)),a.A=Array(4));for(f=0;f<a.A.length;f++){var g=a.A[f];if(void 0===g){g=a.A[f]={};if(a.V)a:{var h=a.V;if(f<+Yl(h,ll,void 0)){if(!h.L){h=360;break a}if(f<h.L.length){h=h.L[f];break a}}h=0}else h=0;switch(h){case 160:case 180:g.gb=1;default:g.sb=40;g.Wa=9;break;case 720:g.sb=
|
||||
80;g.Wa=9;break;case 1200:g.sb=80;g.Wa=15;break;case 1440:g.sb=80,g.Wa=18}}var k=a,m=f,p=e[f],v=0;h=!0;g.Ya=m;g.le=g.Ke=!1;g.Pe=null;void 0===p&&(p=[vw,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=[ww,g.sb||40,g.gb||p[3],g.Wa||9,g.Na||512,p[1],g.qg,g.wf,g.xf]);g.tb=p[v++];var u=p[v++];g.name=u[0];g.sb=u[1];g.gb=u[2];g.Wa=u[3];g.Na=u[4];g.Le=u[5];(g.qg=u[6])?(g.wf=u[7],g.xf=u[8]):(g.qg=g.sb,g.wf=g.gb,g.xf=g.Wa);g.bb=p[v++];g.Ud=p[v++];g.Ib=p[v++];g.Ud=100<=g.Ud?g.Ud-100:g.Ud-g.Ib;g.jb=p[v++];g.Vd=p[v++];
|
||||
g.yb=p[v++];g.Va=p[v++];g.hb=null;g.va||(g.ue="");var A=p[v++];102==A&&(A=!1);"boolean"==typeof A?(u=p[v++],p=p[v],A?(v=k.A[m],sw(k,m,!0,!0),v.Ke=!0,m=new uv(k,v,"preload"),k.hj(v,m,u,p,!0)):xw(k,m,u,p,!0)?g.va&&p&&yw(k,u,p,g.va):Pb(k,!1)):void 0!==A&&g.va&&0>g.va.restore(A)&&(h=!1);h&&g.va&&void 0!==g.Va&&(g.hb=g.va.seek(g.Ib,g.bb,g.jb));h||(d=!1)}a.H=b[c++]||0;a.bc=b[c]||zw;return d}
|
||||
function tw(a){var b=0,c=[];c[b++]=a.Ya;c[b++]=0;c[b++]=a.ga;c[b++]=a.F;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,p=[];p[m++]=k.tb;p[m++]=[k.name,k.sb,k.gb,k.Wa,k.Na,k.Le,k.qg,k.wf,k.xf];p[m++]=k.bb;p[m++]=k.Ud+100;p[m++]=k.Ib;p[m++]=k.jb;p[m++]=k.Vd;p[m++]=k.yb;p[m++]=k.Va;p[m++]=k.Ke;p[m++]=k.Tk;p[m]=k.ue;f[h]=p}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.va&&Aw(a,f.ue,f.va);c[d]=a.B;c[b++]=a.H;c[b]=a.bc;return c}
|
||||
l.cj=function(a){a=this.A[a];if(void 0!==a){var b={};for(var c in a)b[c]=a[c]}return b};l.Uk=function(a,b,c){if(a.va){var d=a.va.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Ib=Math.floor(b/f),b%=f,a.bb=Math.floor(b/e),a.jb=b%e+1,a.yb=c*d[3],a.tb=Bw,!0}return!1};
|
||||
function rw(a,b){b||(a.K=0);for(var c in a.M){var d=a.M[c],e;if(!(e=d.path))a:{if(e=d.name){var f=a.ma.listDisks;if(f&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.text==e){e=h.value;break a}}}e=""}e&&(f=c.charCodeAt(0)-65,0<=f&&f<a.A.length?!xw(a,f,d.name||Cw(a,e)||xa(e,!0),e,!0)&&b&&Pb(a,!1):a.Da("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")"))}return!!a.K}
|
||||
l.zj=function(){var a=this.ma.listDisks;return a?mw(this,a.options[a.selectedIndex].text,a.value):!1};
|
||||
function mw(a,b,c,d){var e,f=a.ma.listDrives;if(f&&!isNaN(e=qa(f.value,10))&&0<=e&&e<a.A.length){if(!c)return sw(a,e),!0;if("?"==c)return a.Da('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return!1;b=xa(c)}for(;0>xw(a,e,b,c,!1,d);){if(!window.confirm("Click OK to reload the original disk and discard any changes."))return!1;var g=a,h=c;for(f=0;f<g.B.length;f++)if(g.B[f][1]==h){g.B.splice(f,1);break}sw(a,
|
||||
e,!1,!0)}return!0}a.Da("Unable to load the selected drive");return!1}function xw(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.ue.toLowerCase()!=d.toLowerCase())){sw(a,b,e,!0);if(g.le)return a.Da("Drive "+b+" busy"),0;g.le=!0;e&&(g.ke=!0,a.K++,r(a)&&Tb(a,"loading diskette '"+c+"'"));g.Ke=!!f;return(new uv(a,g,"preload")).load(c,d,f,a.hj)?1:0}return-1}
|
||||
l.hj=function(a,b,c,d,e){a.le=!1;if(b){var f=b.info();if(b&&f[0]>a.sb||f[1]>a.gb)this.Da('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ya)),b=null}b?(a.va=b,a.Tk=c,a.ue=d,Cw(this,d)||qw(this,c,d),yw(this,c,d,b),f=b.info(),this.H|=Dw,a.Pe||this.Da('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ya),a.ke||e),a.qg=f[0],a.wf=f[1],a.xf=f[2],this.na&&this.na.cd()):a.Ke=!1;a.ke&&(a.ke=!1,--this.K||Pb(this));lw(this,a.Ya);a.Pe&&(a.Pe(),a.Pe=null)};
|
||||
function qw(a,b,c,d){if((a=a.ma.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 Cw(a,b){if((a=a.ma.listDisks)&&a.options)for(var c=0;c<a.options.length;c++){var d=a.options[c];if(d.value==b)return d.text}return null}
|
||||
function lw(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ma.listDisks;a=a.ma.listDrives;if(d&&a&&d.options&&a.options&&(a=qa(a.value,10),c=c.Ke?"?":c.ue,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}
|
||||
function kw(a){var b=a.ma.listDisks,c=a.ma.descDisk,d=b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){kb(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}}l.Yo=function(a){for(var b=0;b<this.A.length;b++){var c=this.A[b];if(c&&c.le)return c.Pe||(c.Pe=a),!1}return!0};
|
||||
function sw(a,b,c,d){var e=a.A[b];e.va&&(Aw(a,e.ue,e.va),e.Tk="",e.ue="",e.va=null,e.Ke=!1,a.H|=Dw,d||a.Da("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||lw(a,b))}function yw(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 Aw(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}}l.Xn=function(a,b,c){t(this,a,b,c,"OUTPUT");b&Ew?this.I&Ew||this.I&Fw&&this.V&&mh(this.V,6):nw(this);this.I=b};
|
||||
l.km=function(a,b){t(this,a,null,b,"DIAG",80);return 80};l.mm=function(a,b){t(this,a,null,b,"STATUS",this.ga);return this.ga};l.jm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.I&Fw&&this.V&&kh(this.V,6);r(this)&&t(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.ga&=~(Gw|Hw),this.D=this.C=0);return c};
|
||||
l.Wn=function(a,b,c){r(this)&&t(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]&Iw;if(void 0!==Jw[a]&&this.C>=Jw[a].Jd){b=!1;this.D=0;a=Kw(this);var d=a&Iw;switch(d){case Lw:Kw(this);Kw(this);Mw(this);break;case Nw:c=Kw(this);this.Ya=c&3;var e=this.A[this.Ya];Mw(this);Ow(this,(e.tb&Pw)>>>24);break;case Qw:case Rw:c=Kw(this);b=c>>2&1;this.Ya=c&3;e=this.A[this.Ya];e.bb=b;c=e.Ib=Kw(this);var f=Kw(this);var g=e.jb=Kw(this);var h=Kw(this);e.yb=128<<h;e.Vd=Kw(this);
|
||||
Kw(this);Kw(this);d==Rw?(d=e,d.tb=Sw|Tw,d.va&&(d.hb=null,d.tb=Bw,this.V&&(Sn(this.V,2,this,"dmaRead",d),Jn(this.V,2)))):(d=e,d.tb=Sw|Tw,d.va&&(d.va.Oe?d.tb=Uw|Tw:(d.hb=null,d.tb=Bw,this.V&&(Sn(this.V,2,this,"dmaWrite",d),Jn(this.V,2)))));Vw(this,e,a,b,c,f,g,h);b=!0;break;case Ww:c=Kw(this);this.Ya=c&3;e=this.A[this.Ya];e.Ib=e.Ud=0;e.tb=Xw|Yw;Mw(this);b=!0;break;case Zw:e=this.A[this.Ya];e.bb=0;Mw(this);Ow(this,e.Ya|e.bb<<2|e.tb&$w);Ow(this,e.Ib);this.Ya=this.Ya+1&3;break;case ax:c=Kw(this);b=c>>2&
|
||||
1;this.Ya=c&3;e=this.A[this.Ya];c=e.Ib;f=e.bb=b;g=e.jb=1;h=0;e.tb=Bw;e.va&&(e.hb=e.va.seek(e.Ib,e.bb,e.jb))?h=e.hb.length>>8:e.tb=Sw|Tw;Vw(this,e,a,b,c,f,g,h);b=!0;break;case bx:c=Kw(this);b=c>>2&1;this.Ya=c&3;e=this.A[this.Ya];c=e.Ib;f=e.bb=b;g=1;h=Kw(this);e.yb=128<<h;e.Vd=Kw(this);Kw(this);e.Ti=Kw(this);d=e;d.tb=Sw|Tw;d.va&&(d.hb=null,d.tb=Bw,this.V&&(d.Ge=0,d.Xc=Array(4),d.Ug=!0,d.dg=0,Sn(this.V,2,this,"dmaFormat",d),Jn(this.V,2),d.Ug=!1));Vw(this,e,a,b,c,f,g,h);b=!0;break;case cx:c=Kw(this),
|
||||
this.Ya=c&3,e=this.A[this.Ya],e.bb=c>>2&1,c=Kw(this),e.Ib+=c-e.Ud,0>e.Ib&&(e.Ib=0),e.Ib>=e.sb&&(e.Ib=e.sb-1),e.Ud=c,e.tb=Xw,e.Ib||(e.tb|=Yw),Mw(this),b=!0}0<this.C&&(this.ga=this.ga|Gw|Hw);this.I&Fw&&(!e||e.tb&Sw||!b||this.V&&mh(this.V,6))}};l.lm=function(a,b){var c=this.H;this.H&=~Dw;t(this,a,null,b,"INPUT",c);return c};l.Vn=function(a,b,c){t(this,a,b,c,"CONTROL");this.bc=b};
|
||||
function Vw(a,b,c,d,e,f,g,h){Mw(a);Ow(a,b.Ya|b.bb<<2|b.tb&$w);Ow(a,(b.tb&dx)>>>8);Ow(a,(b.tb&ex)>>>16);var k=0;if(e!=b.Ib||f!=b.bb)k=g=1;c&fx&&(f^=k,d||(k=0));Ow(a,e+k);Ow(a,f);Ow(a,g);Ow(a,h)}function Kw(a){var b=a.F[a.D];a.D++;return b}function Mw(a){a.D=a.C=0}function Ow(a,b){a.F[a.C++]=b}l.bl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.cl=function(a,b){return void 0!==b&&0<=b?gx(a,b):-1};
|
||||
l.tl=function(a,b){if(void 0!==b&&0<=b)a:if(a.tb)a=-1;else{a.Xc[a.Ge++]=b;if(a.Ge==a.Xc.length){a.Ib=a.Xc[0];a.bb=a.Xc[1];a.jb=a.Xc[2];a.yb=128<<a.Xc[3];for(var c=a.Ge=0;c<a.yb;c++)if(0>gx(a,a.Ti)){a=-1;break a}a.dg++}a.dg>=a.Vd&&(b=-1);a=b}else a=-1;return a};l.te=function(a,b){var c=-1,d=null,e=0;if(!a.tb&&a.va){do{if(a.hb&&(e=a.Va,0<=(c=a.va.read(a.hb,a.Va++)))){d=a.hb;break}a.hb=a.va.seek(a.Ib,a.bb,a.jb);if(!a.hb){a.tb=hx|Tw;break}a.Va=0;ix(a)}while(1)}b(c,!1,d,e)};
|
||||
function gx(a,b){if(a.tb||!a.va)return-1;do{if(a.hb&&a.va.write(a.hb,a.Va++,b))break;a.hb=a.va.seek(a.Ib,a.bb,a.jb);if(!a.hb){a.tb=jx|Tw;b=-1;break}a.Va=0;ix(a)}while(1);return b}function ix(a){a.jb++;a.jb>=a.xf+1&&(a.jb=1,a.bb++,a.bb>=a.wf&&(a.bb=0,a.Ib++))}var ww="Floppy Drive",Ew=4,Fw=8,Hw=16,Gw=64,uw=128,Lw=3,Nw=4,Qw=5,Rw=6,Ww=7,Zw=8,ax=10,bx=13,cx=15,Iw=31,fx=128,Bw=0,Sw=8,Xw=32,Tw=64,vw=192,$w=255,Uw=512,hx=1024,jx=8192,dx=65280,ex=16711680,Yw=268435456,Pw=-16777216,Dw=128,zw=0;aa={};
|
||||
var Jw={3:{Jd:3,Wd:0,name:aa.cq},4:{Jd:2,Wd:1,name:aa.aq},5:{Jd:9,Wd:7,name:aa.hq},6:{Jd:9,Wd:7,name:aa.Xp},7:{Jd:2,Wd:0,name:aa.Zp},8:{Jd:1,Wd:2,name:aa.bq},10:{Jd:2,Wd:7,name:aa.Yp},13:{Jd:6,Wd:7,name:aa.Up},15:{Jd:3,Wd:0,name:aa.$p}},ow={1009:iw.prototype.km,1012:iw.prototype.mm,1013:iw.prototype.jm,1015:iw.prototype.lm},pw={1010:iw.prototype.Xn,1013:iw.prototype.Wn,1015:iw.prototype.Vn};
|
||||
cb(function(){for(var a=zb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new iw(d);yb(d,c)}});function kx(a){pb.call(this,"HDC",a,1048576);this.dmaRead=kx.prototype.dl;this.dmaWrite=kx.prototype.el;this.dmaWriteBuffer=kx.prototype.ul;this.dmaWriteFormat=kx.prototype.vl;this.aa=[];this.ka=a.drives;this.M="at"==a.type;this.wa=!Ua("Mobi")&&window&&"FileReader"in window}ia(kx,pb);l=kx.prototype;
|
||||
a.currentTarget[1].files[0]){var b=a.name;nw(d,xa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.ca=d;this.na=a;this.V=ac(a,"ChipSet");kw(Ad(this.na,"autoMount"),this.M);ow(this);Pc(b,this,pw);Uc(b,this,qw);rw(this,"None","",!0);this.L&&rw(this,"Local Disk","?");rw(this,"Remote Disk","??");sw(this)||Pb(this)};
|
||||
function kw(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){kb("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};for(var c in a)b&&(b[c]=a[c]);return a}
|
||||
l.$b=function(a,b){if(!b){if(!a){if(this.reset(),this.na.aa){this.B=[];for(a=0;a<this.A.length;a++)tw(this,a,!0);sw(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ma.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",mw(this,0))}}return!0};l.Zb=function(a){return a?this.save():!0};l.reset=function(){ow(this)};
|
||||
l.save=function(){var a=new ag(this);a.set(0,uw(this));return a.data()};l.restore=function(a){return ow(this,a[0])};
|
||||
function ow(a,b){var c=0,d=!0;b||(b=[0,0,vw,Array(9),0,0,0,[]]);a.Ya=b[c++];c++;a.ga=b[c++];a.F=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var e=b[c++];var f=b[c++];null!=f&&(a.B=f);void 0===a.A&&(a.N=4,a.V&&(a.N=+Yl(a.V,ll,void 0)),a.A=Array(4));for(f=0;f<a.A.length;f++){var g=a.A[f];if(void 0===g){g=a.A[f]={};if(a.V)a:{var h=a.V;if(f<+Yl(h,ll,void 0)){if(!h.L){h=360;break a}if(f<h.L.length){h=h.L[f];break a}}h=0}else h=0;switch(h){case 160:case 180:g.gb=1;default:g.sb=40;g.Wa=9;break;case 720:g.sb=
|
||||
80;g.Wa=9;break;case 1200:g.sb=80;g.Wa=15;break;case 1440:g.sb=80,g.Wa=18}}var k=a,m=f,p=e[f],v=0;h=!0;g.Ya=m;g.le=g.Ke=!1;g.Pe=null;void 0===p&&(p=[ww,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=[xw,g.sb||40,g.gb||p[3],g.Wa||9,g.Na||512,p[1],g.qg,g.wf,g.xf]);g.tb=p[v++];var u=p[v++];g.name=u[0];g.sb=u[1];g.gb=u[2];g.Wa=u[3];g.Na=u[4];g.Le=u[5];(g.qg=u[6])?(g.wf=u[7],g.xf=u[8]):(g.qg=g.sb,g.wf=g.gb,g.xf=g.Wa);g.bb=p[v++];g.Ud=p[v++];g.Ib=p[v++];g.Ud=100<=g.Ud?g.Ud-100:g.Ud-g.Ib;g.jb=p[v++];g.Vd=p[v++];
|
||||
g.yb=p[v++];g.Va=p[v++];g.hb=null;g.va||(g.ue="");var A=p[v++];102==A&&(A=!1);"boolean"==typeof A?(u=p[v++],p=p[v],A?(v=k.A[m],tw(k,m,!0,!0),v.Ke=!0,m=new uv(k,v,"preload"),k.hj(v,m,u,p,!0)):yw(k,m,u,p,!0)?g.va&&p&&zw(k,u,p,g.va):Pb(k,!1)):void 0!==A&&g.va&&0>g.va.restore(A)&&(h=!1);h&&g.va&&void 0!==g.Va&&(g.hb=g.va.seek(g.Ib,g.bb,g.jb));h||(d=!1)}a.H=b[c++]||0;a.bc=b[c]||Aw;return d}
|
||||
function uw(a){var b=0,c=[];c[b++]=a.Ya;c[b++]=0;c[b++]=a.ga;c[b++]=a.F;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,p=[];p[m++]=k.tb;p[m++]=[k.name,k.sb,k.gb,k.Wa,k.Na,k.Le,k.qg,k.wf,k.xf];p[m++]=k.bb;p[m++]=k.Ud+100;p[m++]=k.Ib;p[m++]=k.jb;p[m++]=k.Vd;p[m++]=k.yb;p[m++]=k.Va;p[m++]=k.Ke;p[m++]=k.Tk;p[m]=k.ue;f[h]=p}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.va&&Bw(a,f.ue,f.va);c[d]=a.B;c[b++]=a.H;c[b]=a.bc;return c}
|
||||
l.cj=function(a){a=this.A[a];if(void 0!==a){var b={};for(var c in a)b[c]=a[c]}return b};l.Uk=function(a,b,c){if(a.va){var d=a.va.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Ib=Math.floor(b/f),b%=f,a.bb=Math.floor(b/e),a.jb=b%e+1,a.yb=c*d[3],a.tb=Cw,!0}return!1};
|
||||
function sw(a,b){b||(a.K=0);for(var c in a.M){var d=a.M[c],e;if(!(e=d.path))a:{if(e=d.name){var f=a.ma.listDisks;if(f&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.text==e){e=h.value;break a}}}e=""}e&&(f=c.charCodeAt(0)-65,0<=f&&f<a.A.length?!yw(a,f,d.name||Dw(a,e)||xa(e,!0),e,!0)&&b&&Pb(a,!1):a.Da("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")"))}return!!a.K}
|
||||
l.zj=function(){var a=this.ma.listDisks;return a?nw(this,a.options[a.selectedIndex].text,a.value):!1};
|
||||
function nw(a,b,c,d){var e,f=a.ma.listDrives;if(f&&!isNaN(e=qa(f.value,10))&&0<=e&&e<a.A.length){if(!c)return tw(a,e),!0;if("?"==c)return a.Da('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return!1;b=xa(c)}for(;0>yw(a,e,b,c,!1,d);){if(!window.confirm("Click OK to reload the original disk and discard any changes."))return!1;var g=a,h=c;for(f=0;f<g.B.length;f++)if(g.B[f][1]==h){g.B.splice(f,1);break}tw(a,
|
||||
e,!1,!0)}return!0}a.Da("Unable to load the selected drive");return!1}function yw(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.ue.toLowerCase()!=d.toLowerCase())){tw(a,b,e,!0);if(g.le)return a.Da("Drive "+b+" busy"),0;g.le=!0;e&&(g.ke=!0,a.K++,r(a)&&Tb(a,"loading diskette '"+c+"'"));g.Ke=!!f;return(new uv(a,g,"preload")).load(c,d,f,a.hj)?1:0}return-1}
|
||||
l.hj=function(a,b,c,d,e){a.le=!1;if(b){var f=b.info();if(b&&f[0]>a.sb||f[1]>a.gb)this.Da('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ya)),b=null}b?(a.va=b,a.Tk=c,a.ue=d,Dw(this,d)||rw(this,c,d),zw(this,c,d,b),f=b.info(),this.H|=Ew,a.Pe||this.Da('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ya),a.ke||e),a.qg=f[0],a.wf=f[1],a.xf=f[2],this.na&&this.na.cd()):a.Ke=!1;a.ke&&(a.ke=!1,--this.K||Pb(this));mw(this,a.Ya);a.Pe&&(a.Pe(),a.Pe=null)};
|
||||
function rw(a,b,c,d){if((a=a.ma.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 Dw(a,b){if((a=a.ma.listDisks)&&a.options)for(var c=0;c<a.options.length;c++){var d=a.options[c];if(d.value==b)return d.text}return null}
|
||||
function mw(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ma.listDisks;a=a.ma.listDrives;if(d&&a&&d.options&&a.options&&(a=qa(a.value,10),c=c.Ke?"?":c.ue,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}
|
||||
function lw(a){var b=a.ma.listDisks,c=a.ma.descDisk,d=b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){kb(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}}l.Yo=function(a){for(var b=0;b<this.A.length;b++){var c=this.A[b];if(c&&c.le)return c.Pe||(c.Pe=a),!1}return!0};
|
||||
function tw(a,b,c,d){var e=a.A[b];e.va&&(Bw(a,e.ue,e.va),e.Tk="",e.ue="",e.va=null,e.Ke=!1,a.H|=Ew,d||a.Da("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||mw(a,b))}function zw(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 Bw(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}}l.Xn=function(a,b,c){t(this,a,b,c,"OUTPUT");b&Fw?this.I&Fw||this.I&Gw&&this.V&&mh(this.V,6):ow(this);this.I=b};
|
||||
l.km=function(a,b){t(this,a,null,b,"DIAG",80);return 80};l.mm=function(a,b){t(this,a,null,b,"STATUS",this.ga);return this.ga};l.jm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.I&Gw&&this.V&&kh(this.V,6);r(this)&&t(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.ga&=~(Hw|Iw),this.D=this.C=0);return c};
|
||||
l.Wn=function(a,b,c){r(this)&&t(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]&Jw;if(void 0!==Kw[a]&&this.C>=Kw[a].Jd){b=!1;this.D=0;a=Lw(this);var d=a&Jw;switch(d){case Mw:Lw(this);Lw(this);Nw(this);break;case Ow:c=Lw(this);this.Ya=c&3;var e=this.A[this.Ya];Nw(this);Pw(this,(e.tb&Qw)>>>24);break;case Rw:case Sw:c=Lw(this);b=c>>2&1;this.Ya=c&3;e=this.A[this.Ya];e.bb=b;c=e.Ib=Lw(this);var f=Lw(this);var g=e.jb=Lw(this);var h=Lw(this);e.yb=128<<h;e.Vd=Lw(this);
|
||||
Lw(this);Lw(this);d==Sw?(d=e,d.tb=Tw|Uw,d.va&&(d.hb=null,d.tb=Cw,this.V&&(Sn(this.V,2,this,"dmaRead",d),Jn(this.V,2)))):(d=e,d.tb=Tw|Uw,d.va&&(d.va.Oe?d.tb=Vw|Uw:(d.hb=null,d.tb=Cw,this.V&&(Sn(this.V,2,this,"dmaWrite",d),Jn(this.V,2)))));Ww(this,e,a,b,c,f,g,h);b=!0;break;case Xw:c=Lw(this);this.Ya=c&3;e=this.A[this.Ya];e.Ib=e.Ud=0;e.tb=Yw|Zw;Nw(this);b=!0;break;case $w:e=this.A[this.Ya];e.bb=0;Nw(this);Pw(this,e.Ya|e.bb<<2|e.tb&ax);Pw(this,e.Ib);this.Ya=this.Ya+1&3;break;case bx:c=Lw(this);b=c>>2&
|
||||
1;this.Ya=c&3;e=this.A[this.Ya];c=e.Ib;f=e.bb=b;g=e.jb=1;h=0;e.tb=Cw;e.va&&(e.hb=e.va.seek(e.Ib,e.bb,e.jb))?h=e.hb.length>>8:e.tb=Tw|Uw;Ww(this,e,a,b,c,f,g,h);b=!0;break;case cx:c=Lw(this);b=c>>2&1;this.Ya=c&3;e=this.A[this.Ya];c=e.Ib;f=e.bb=b;g=1;h=Lw(this);e.yb=128<<h;e.Vd=Lw(this);Lw(this);e.Ti=Lw(this);d=e;d.tb=Tw|Uw;d.va&&(d.hb=null,d.tb=Cw,this.V&&(d.Ge=0,d.Xc=Array(4),d.Ug=!0,d.dg=0,Sn(this.V,2,this,"dmaFormat",d),Jn(this.V,2),d.Ug=!1));Ww(this,e,a,b,c,f,g,h);b=!0;break;case dx:c=Lw(this),
|
||||
this.Ya=c&3,e=this.A[this.Ya],e.bb=c>>2&1,c=Lw(this),e.Ib+=c-e.Ud,0>e.Ib&&(e.Ib=0),e.Ib>=e.sb&&(e.Ib=e.sb-1),e.Ud=c,e.tb=Yw,e.Ib||(e.tb|=Zw),Nw(this),b=!0}0<this.C&&(this.ga=this.ga|Hw|Iw);this.I&Gw&&(!e||e.tb&Tw||!b||this.V&&mh(this.V,6))}};l.lm=function(a,b){var c=this.H;this.H&=~Ew;t(this,a,null,b,"INPUT",c);return c};l.Vn=function(a,b,c){t(this,a,b,c,"CONTROL");this.bc=b};
|
||||
function Ww(a,b,c,d,e,f,g,h){Nw(a);Pw(a,b.Ya|b.bb<<2|b.tb&ax);Pw(a,(b.tb&ex)>>>8);Pw(a,(b.tb&fx)>>>16);var k=0;if(e!=b.Ib||f!=b.bb)k=g=1;c&gx&&(f^=k,d||(k=0));Pw(a,e+k);Pw(a,f);Pw(a,g);Pw(a,h)}function Lw(a){var b=a.F[a.D];a.D++;return b}function Nw(a){a.D=a.C=0}function Pw(a,b){a.F[a.C++]=b}l.bl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.cl=function(a,b){return void 0!==b&&0<=b?hx(a,b):-1};
|
||||
l.tl=function(a,b){if(void 0!==b&&0<=b)a:if(a.tb)a=-1;else{a.Xc[a.Ge++]=b;if(a.Ge==a.Xc.length){a.Ib=a.Xc[0];a.bb=a.Xc[1];a.jb=a.Xc[2];a.yb=128<<a.Xc[3];for(var c=a.Ge=0;c<a.yb;c++)if(0>hx(a,a.Ti)){a=-1;break a}a.dg++}a.dg>=a.Vd&&(b=-1);a=b}else a=-1;return a};l.te=function(a,b){var c=-1,d=null,e=0;if(!a.tb&&a.va){do{if(a.hb&&(e=a.Va,0<=(c=a.va.read(a.hb,a.Va++)))){d=a.hb;break}a.hb=a.va.seek(a.Ib,a.bb,a.jb);if(!a.hb){a.tb=ix|Uw;break}a.Va=0;jx(a)}while(1)}b(c,!1,d,e)};
|
||||
function hx(a,b){if(a.tb||!a.va)return-1;do{if(a.hb&&a.va.write(a.hb,a.Va++,b))break;a.hb=a.va.seek(a.Ib,a.bb,a.jb);if(!a.hb){a.tb=kx|Uw;b=-1;break}a.Va=0;jx(a)}while(1);return b}function jx(a){a.jb++;a.jb>=a.xf+1&&(a.jb=1,a.bb++,a.bb>=a.wf&&(a.bb=0,a.Ib++))}var xw="Floppy Drive",Fw=4,Gw=8,Iw=16,Hw=64,vw=128,Mw=3,Ow=4,Rw=5,Sw=6,Xw=7,$w=8,bx=10,cx=13,dx=15,Jw=31,gx=128,Cw=0,Tw=8,Yw=32,Uw=64,ww=192,ax=255,Vw=512,ix=1024,kx=8192,ex=65280,fx=16711680,Zw=268435456,Qw=-16777216,Ew=128,Aw=0;aa={};
|
||||
var Kw={3:{Jd:3,Wd:0,name:aa.cq},4:{Jd:2,Wd:1,name:aa.aq},5:{Jd:9,Wd:7,name:aa.hq},6:{Jd:9,Wd:7,name:aa.Xp},7:{Jd:2,Wd:0,name:aa.Zp},8:{Jd:1,Wd:2,name:aa.bq},10:{Jd:2,Wd:7,name:aa.Yp},13:{Jd:6,Wd:7,name:aa.Up},15:{Jd:3,Wd:0,name:aa.$p}},pw={1009:jw.prototype.km,1012:jw.prototype.mm,1013:jw.prototype.jm,1015:jw.prototype.lm},qw={1010:jw.prototype.Xn,1013:jw.prototype.Wn,1015:jw.prototype.Vn};
|
||||
cb(function(){for(var a=zb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new jw(d);yb(d,c)}});function lx(a){pb.call(this,"HDC",a,1048576);this.dmaRead=lx.prototype.dl;this.dmaWrite=lx.prototype.el;this.dmaWriteBuffer=lx.prototype.ul;this.dmaWriteFormat=lx.prototype.vl;this.aa=[];this.ka=a.drives;this.M=(a=a.type)&&"AT"==a.toUpperCase()||!1;this.wa=!Ua("Mobi")&&window&&"FileReader"in window}ia(lx,pb);l=lx.prototype;
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":if(this.wa)return this.ma[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.va){b=b.va;var c=b.Fg||b.jd,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Za(gw(b),"octet-stream",!0,c);kb(b)}else d.Da("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0;c.parentNode.removeChild(c)}return!1};
|
||||
l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.ca=d;this.na=a;if(d=Ad(a,"drives"))this.aa=d;else if(this.ka)try{this.aa=eval("("+this.ka+")")}catch(e){kb("HDC drive configuration error: "+e.message+" ("+this.ka+")")}this.V=ac(a,"ChipSet");this.H=0;this.la=3;Pc(b,this,this.M?lx:mx);Uc(b,this,this.M?nx:ox);this.M&&(this.H++,this.V&&this.V.da==zl&&this.H++,this.la=2,b.V[px]=2,b.U[px]=2);Wf(c,19,this.Om.bind(this));Wf(c,64,this.Pm.bind(this));this.reset();qx(this)||Pb(this)};
|
||||
l.$b=function(a,b){if(!b)if(!a)rx(this),this.na.aa&&qx(this,!0);else if(!this.restore(a))return!1;return!0};l.Zb=function(a){return a?this.save():!0};function xv(a){return a.na?a.na.ta:""}function yv(a){return a.na?a.na.B||"":""}l.reset=function(){rx(this,null,!0)};l.save=function(){var a=new ag(this);a.set(0,sx(this));return a.data()};l.restore=function(a){return rx(this,a[0])};
|
||||
function rx(a,b,c){var d=0,e=!0;a.Ya=-1;if(a.M){if(b||(b=[0,0,0,0,0,0,0,tx,0,[0,-1]]),a.I=b[d++],a.ta=b[d++],a.J=b[d++],a.fa=b[d++],a.ea=b[d++],a.ba=b[d++],a.U=b[d++],a.ga=b[d++],a.ha=b[d++],a.L=b[d++],"object"==typeof a.L){var f=a.L;a.L=f[0];a.Ya=f[1]}}else b||(b=[0,ux,Array(14),0,0]),a.P=b[d++],a.ga=b[d++],a.F=b[d++],a.D=b[d++],a.C=b[d++],a.ra=b[d++],a.pa=b[d++],a.qa=b[d++],f=b[d++],void 0!==f?a.N=f:void 0===a.N&&(a.N=-1);void 0===a.A&&(a.A=Array(a.aa.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<
|
||||
a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});f=a.A[d];var g=a,h=d,k=f,m=a.aa[d],p=b[d],v=c,u=0,A=!0;void 0===p&&(p=[vx,0,!1,Array(8)]);k.Ya=h;k.errorCode=p[u++];k.Vk=p[u++];k.Le=p[u++];k.Be=p[u++];k.Ce=p[u++];k.bb=p[u++];k.gb=p[u++];k.Od=p[u++];k.jb=p[u++];k.Vd=p[u++];k.yb=p[u++];k.cg=g.M?0:1;k.name=m.name;void 0===k.name&&(k.name=wx);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||yv(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===xx[g.H][k.type])k.type=
|
||||
g.la;m=xx[g.H][k.type];k.Wa=m[2]||17;k.Na=m[3]||512;if(v&&g.V){var J=g.V;m=k.type;if(J.A){v=null;var H=J.A[18];15<m&&(v=m,m=15);h?(H=H&240|m,m=26):(H=H&15|m<<4,m=25);var G=J;G.A&&(G.A[18]=H,pm(G));null!=v&&J.A&&(J.A[m]=v,pm(J))}}void 0===k.va&&(k.va=null,g.Da("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));yx(g,k);k.Va=p[u++];k.hb=null;k.va&&(g=p[u],void 0!==g&&0>k.va.restore(g)&&(A=!1),A&&void 0!==k.Va&&(k.hb=k.va.seek(k.Od,k.bb,k.jb+k.cg)));A||(e=!1);null!=a.P&&1>=d&&(a.P|=(f.type&3)<<(1-d<<
|
||||
l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.ca=d;this.na=a;if(d=Ad(a,"drives"))this.aa=d;else if(this.ka)try{this.aa=eval("("+this.ka+")")}catch(e){kb("HDC drive configuration error: "+e.message+" ("+this.ka+")")}this.V=ac(a,"ChipSet");this.H=0;this.la=3;Pc(b,this,this.M?mx:nx);Uc(b,this,this.M?ox:px);this.M&&(this.H++,this.V&&this.V.da==zl&&this.H++,this.la=2,b.V[qx]=2,b.U[qx]=2);Wf(c,19,this.Om.bind(this));Wf(c,64,this.Pm.bind(this));this.reset();rx(this)||Pb(this)};
|
||||
l.$b=function(a,b){if(!b)if(!a)sx(this),this.na.aa&&rx(this,!0);else if(!this.restore(a))return!1;return!0};l.Zb=function(a){return a?this.save():!0};function xv(a){return a.na?a.na.ta:""}function yv(a){return a.na?a.na.B||"":""}l.reset=function(){sx(this,null,!0)};l.save=function(){var a=new ag(this);a.set(0,tx(this));return a.data()};l.restore=function(a){return sx(this,a[0])};
|
||||
function sx(a,b,c){var d=0,e=!0;a.Ya=-1;if(a.M){if(b||(b=[0,0,0,0,0,0,0,ux,0,[0,-1]]),a.I=b[d++],a.ta=b[d++],a.J=b[d++],a.fa=b[d++],a.ea=b[d++],a.ba=b[d++],a.U=b[d++],a.ga=b[d++],a.ha=b[d++],a.L=b[d++],"object"==typeof a.L){var f=a.L;a.L=f[0];a.Ya=f[1]}}else b||(b=[0,vx,Array(14),0,0]),a.P=b[d++],a.ga=b[d++],a.F=b[d++],a.D=b[d++],a.C=b[d++],a.ra=b[d++],a.pa=b[d++],a.qa=b[d++],f=b[d++],void 0!==f?a.N=f:void 0===a.N&&(a.N=-1);void 0===a.A&&(a.A=Array(a.aa.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<
|
||||
a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});f=a.A[d];var g=a,h=d,k=f,m=a.aa[d],p=b[d],v=c,u=0,A=!0;void 0===p&&(p=[wx,0,!1,Array(8)]);k.Ya=h;k.errorCode=p[u++];k.Vk=p[u++];k.Le=p[u++];k.Be=p[u++];k.Ce=p[u++];k.bb=p[u++];k.gb=p[u++];k.Od=p[u++];k.jb=p[u++];k.Vd=p[u++];k.yb=p[u++];k.cg=g.M?0:1;k.name=m.name;void 0===k.name&&(k.name=xx);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||yv(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===yx[g.H][k.type])k.type=
|
||||
g.la;m=yx[g.H][k.type];k.Wa=m[2]||17;k.Na=m[3]||512;if(v&&g.V){var J=g.V;m=k.type;if(J.A){v=null;var H=J.A[18];15<m&&(v=m,m=15);h?(H=H&240|m,m=26):(H=H&15|m<<4,m=25);var G=J;G.A&&(G.A[18]=H,pm(G));null!=v&&J.A&&(J.A[m]=v,pm(J))}}void 0===k.va&&(k.va=null,g.Da("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));zx(g,k);k.Va=p[u++];k.hb=null;k.va&&(g=p[u],void 0!==g&&0>k.va.restore(g)&&(A=!1),A&&void 0!==k.Va&&(k.hb=k.va.seek(k.Od,k.bb,k.jb+k.cg)));A||(e=!1);null!=a.P&&1>=d&&(a.P|=(f.type&3)<<(1-d<<
|
||||
1))}0<=a.Ya&&(a.B=a.A[a.Ya]);return e}
|
||||
function sx(a){var b=0,c=[];a.M?(c[b++]=a.I,c[b++]=a.ta,c[b++]=a.J,c[b++]=a.fa,c[b++]=a.ea,c[b++]=a.ba,c[b++]=a.U,c[b++]=a.ga,c[b++]=a.ha,c[b++]=[a.L,a.Ya]):(c[b++]=a.P,c[b++]=a.ga,c[b++]=a.F,c[b++]=a.D,c[b++]=a.C,c[b++]=a.ra,c[b++]=a.pa,c[b++]=a.qa,c[b++]=a.N);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.Vk;m[k++]=h.Le;m[k++]=h.Be;m[k++]=h.Ce;m[k++]=h.bb;m[k++]=h.gb;m[k++]=h.Od;m[k++]=h.jb;m[k++]=h.Vd;m[k++]=h.yb;m[k++]=h.Va;m[k]=h.va?h.va.save():
|
||||
null;e[g]=m}c[b]=e;return c}l.cj=function(a){a=this.A[a];if(void 0!==a){var b={};for(var c in a)b[c]=a[c]}return b};function yx(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Be[2])?e=b.Be[0]<<8|b.Be[1]:c=b.type);null==c||d||(d=xx[a.H][c][1],e=xx[a.H][c][0]);d&&((c=xx[a.H][b.type])&&e!=c[0]&&d!=c[1]&&a.Da("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.sb=e,b.gb=d,null==b.va&&(b.va=new uv(a,b,b.mode)))}}
|
||||
l.Uk=function(a,b,c){if(a.va){var d=a.va.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Od=Math.floor(b/g),b%=g,a.bb=Math.floor(b/f),a.jb=b%f,a.yb=c*d[3],a.errorCode=vx,!0}}return!1};function qx(a,b){b||(a.K=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];d.name&&d.path?b&&d.va&&d.va.jg||!a.$m(c,d.name,d.path,!0)&&b&&Pb(a,!1):b&&void 0!==d.type&&(d.va=null,yx(a,d,d.type))}return!!a.K}
|
||||
function tx(a){var b=0,c=[];a.M?(c[b++]=a.I,c[b++]=a.ta,c[b++]=a.J,c[b++]=a.fa,c[b++]=a.ea,c[b++]=a.ba,c[b++]=a.U,c[b++]=a.ga,c[b++]=a.ha,c[b++]=[a.L,a.Ya]):(c[b++]=a.P,c[b++]=a.ga,c[b++]=a.F,c[b++]=a.D,c[b++]=a.C,c[b++]=a.ra,c[b++]=a.pa,c[b++]=a.qa,c[b++]=a.N);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.Vk;m[k++]=h.Le;m[k++]=h.Be;m[k++]=h.Ce;m[k++]=h.bb;m[k++]=h.gb;m[k++]=h.Od;m[k++]=h.jb;m[k++]=h.Vd;m[k++]=h.yb;m[k++]=h.Va;m[k]=h.va?h.va.save():
|
||||
null;e[g]=m}c[b]=e;return c}l.cj=function(a){a=this.A[a];if(void 0!==a){var b={};for(var c in a)b[c]=a[c]}return b};function zx(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Be[2])?e=b.Be[0]<<8|b.Be[1]:c=b.type);null==c||d||(d=yx[a.H][c][1],e=yx[a.H][c][0]);d&&((c=yx[a.H][b.type])&&e!=c[0]&&d!=c[1]&&a.Da("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.sb=e,b.gb=d,null==b.va&&(b.va=new uv(a,b,b.mode)))}}
|
||||
l.Uk=function(a,b,c){if(a.va){var d=a.va.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Od=Math.floor(b/g),b%=g,a.bb=Math.floor(b/f),a.jb=b%f,a.yb=c*d[3],a.errorCode=wx,!0}}return!1};function rx(a,b){b||(a.K=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];d.name&&d.path?b&&d.va&&d.va.jg||!a.$m(c,d.name,d.path,!0)&&b&&Pb(a,!1):b&&void 0!==d.type&&(d.va=null,zx(a,d,d.type))}return!!a.K}
|
||||
l.$m=function(a,b,c,d){var e=this.A[a];if(e.le)return this.Da("Drive "+a+" busy"),!0;e.le=!0;d&&(e.ke=!0,this.K++,r(this)&&Tb(this,"loading "+b));(e.va||new uv(this,e,e.mode)).load(b,c,null,this.wl);return!1};
|
||||
l.wl=function(a,b,c){a.le=!1;if(a.va=b)this.Da('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ya),a.ke),b=b.info(),b[0]==a.sb&&b[1]==a.gb&&b[2]==a.Wa&&b[3]==a.Na||this.Da("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+zx[this.H]+" drive type "+a.type+" ("+a.sb+":"+a.gb+":"+a.Wa+")");a.ke&&(a.ke=!1,--this.K||Pb(this))};
|
||||
l.Mm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.V&&kh(this.V,5);this.ga&=~Ax;t(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.D=this.C=0,this.ga&=~(Bx|Cx|Dx));return c};l.uo=function(a,b,c){t(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]!=Ex?6:this.F.length;6==this.C&&(this.ga&=~Fx);this.C>=a&&(this.ga|=Bx,this.ga&=~Fx,Gx(this))};l.Nm=function(a,b){var c=this.ga;t(this,a,null,b,"STATUS",c);this.D<this.C&&(this.ga|=Fx);return c};
|
||||
l.xo=function(a,b,c){t(this,a,b,c,"RESET");this.ra=b;this.V&&kh(this.V,5);rx(this)};l.Lm=function(a,b){t(this,a,null,b,"CONFIG",this.P);return this.P};l.wo=function(a,b,c){t(this,a,b,c,"PULSE");this.pa=b;this.ga=Fx|Cx|Dx};l.vo=function(a,b,c){t(this,a,b,c,"PATTERN");this.qa=b};l.bi=function(a,b,c){t(this,a,b,c,"NOISE")};
|
||||
function Hx(a,b,c){var d=-1;a.B&&(d=a.te(a.B,function(){}),1==a.B.Va||a.B.Va==a.B.Na)&&(r(a,1048832)&&t(a,b,null,c,"DATA["+a.B.Va+"]",d),1<a.B.Va&&(a.B.yb-=a.B.Na,a.J=a.J-1&255,a.B.yb>=a.B.Na?(a.ga=Ix,a.te(a.B,function(b){0<=b?(Jx(a),a.V&&a.V.da==zl&&(a.ga=0),a.ga=a.ga|tx|Kx|Lx):(a.ga=Mx,a.I=Nx)},!1)):a.ga=tx|Kx));return d}l.fl=function(a,b){return Hx(this,a,b)|Hx(this,a,b)<<8};
|
||||
function Ox(a,b,c,d){if(a.B&&a.B.yb>=a.B.Na)if(0>Px(a.B,c))a.ga=Mx,a.I=Nx;else if(1==a.B.Va||a.B.Va==a.B.Na)r(a,1048832)&&t(a,b,c,d,"DATA["+a.B.Va+"]"),1<a.B.Va&&(a.B.yb-=a.B.Na,a.J=a.J-1&255,Jx(a),a.ga=tx|Kx,a.B.yb>=a.B.Na&&(a.ga|=Lx))}l.zn=function(a,b,c){Ox(this,a,b&255,c);Ox(this,a,b>>8&255,c)};l.Pl=function(a,b){var c=this.I;t(this,a,null,b,"ERROR",c);return c};l.En=function(a,b,c){t(this,a,b,c,"WPREC");this.ta=b};l.Rl=function(a,b){var c=this.J;t(this,a,null,b,"SECCNT",c);return c};
|
||||
l.wl=function(a,b,c){a.le=!1;if(a.va=b)this.Da('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ya),a.ke),b=b.info(),b[0]==a.sb&&b[1]==a.gb&&b[2]==a.Wa&&b[3]==a.Na||this.Da("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Ax[this.H]+" drive type "+a.type+" ("+a.sb+":"+a.gb+":"+a.Wa+")");a.ke&&(a.ke=!1,--this.K||Pb(this))};
|
||||
l.Mm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.V&&kh(this.V,5);this.ga&=~Bx;t(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.D=this.C=0,this.ga&=~(Cx|Dx|Ex));return c};l.uo=function(a,b,c){t(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]!=Fx?6:this.F.length;6==this.C&&(this.ga&=~Gx);this.C>=a&&(this.ga|=Cx,this.ga&=~Gx,Hx(this))};l.Nm=function(a,b){var c=this.ga;t(this,a,null,b,"STATUS",c);this.D<this.C&&(this.ga|=Gx);return c};
|
||||
l.xo=function(a,b,c){t(this,a,b,c,"RESET");this.ra=b;this.V&&kh(this.V,5);sx(this)};l.Lm=function(a,b){t(this,a,null,b,"CONFIG",this.P);return this.P};l.wo=function(a,b,c){t(this,a,b,c,"PULSE");this.pa=b;this.ga=Gx|Dx|Ex};l.vo=function(a,b,c){t(this,a,b,c,"PATTERN");this.qa=b};l.bi=function(a,b,c){t(this,a,b,c,"NOISE")};
|
||||
function Ix(a,b,c){var d=-1;a.B&&(d=a.te(a.B,function(){}),1==a.B.Va||a.B.Va==a.B.Na)&&(r(a,1048832)&&t(a,b,null,c,"DATA["+a.B.Va+"]",d),1<a.B.Va&&(a.B.yb-=a.B.Na,a.J=a.J-1&255,a.B.yb>=a.B.Na?(a.ga=Jx,a.te(a.B,function(b){0<=b?(Kx(a),a.V&&a.V.da==zl&&(a.ga=0),a.ga=a.ga|ux|Lx|Mx):(a.ga=Nx,a.I=Ox)},!1)):a.ga=ux|Lx));return d}l.fl=function(a,b){return Ix(this,a,b)|Ix(this,a,b)<<8};
|
||||
function Px(a,b,c,d){if(a.B&&a.B.yb>=a.B.Na)if(0>Qx(a.B,c))a.ga=Nx,a.I=Ox;else if(1==a.B.Va||a.B.Va==a.B.Na)r(a,1048832)&&t(a,b,c,d,"DATA["+a.B.Va+"]"),1<a.B.Va&&(a.B.yb-=a.B.Na,a.J=a.J-1&255,Kx(a),a.ga=ux|Lx,a.B.yb>=a.B.Na&&(a.ga|=Mx))}l.zn=function(a,b,c){Px(this,a,b&255,c);Px(this,a,b>>8&255,c)};l.Pl=function(a,b){var c=this.I;t(this,a,null,b,"ERROR",c);return c};l.En=function(a,b,c){t(this,a,b,c,"WPREC");this.ta=b};l.Rl=function(a,b){var c=this.J;t(this,a,null,b,"SECCNT",c);return c};
|
||||
l.Cn=function(a,b,c){t(this,a,b,c,"SECCNT");this.J=b};l.Sl=function(a,b){var c=this.fa;t(this,a,null,b,"SECNUM",c);return c};l.Dn=function(a,b,c){t(this,a,b,c,"SECNUM");this.fa=b};l.Nl=function(a,b){var c=this.ea;t(this,a,null,b,"CYLLO",c);return c};l.yn=function(a,b,c){t(this,a,b,c,"CYLLO");this.ea=b};l.Ml=function(a,b){var c=this.ba;t(this,a,null,b,"CYLHI",c);return c};l.xn=function(a,b,c){t(this,a,b,c,"CYLHI");this.ba=b};l.Ol=function(a,b){var c=this.U;t(this,a,null,b,"DRVHD",c);return c};
|
||||
l.An=function(a,b,c){t(this,a,b,c,"DRVHD");this.U=b;this.ga=this.A[this.U&Qx?1:0]?this.ga|tx|Kx:this.ga&~tx};l.Tl=function(a,b){var c=this.ga;t(this,a,null,b,"STATUS",c);this.ga&tx&&(this.ga&=~Ix);return c};l.wn=function(a,b,c){t(this,a,b,c,"COMMAND");this.ha=b;this.V&&kh(this.V,14);Rx(this)};l.Bn=function(a,b,c){t(this,a,b,c,"FDR");this.L&Sx&&!(b&Sx)&&(this.I=Tx);this.L=b};
|
||||
function Rx(a){var b=!1,c=a.ha,d=a.U&Qx?1:0,e=a.U&Ux,f=a.ea|(a.ba&Vx)<<8,g=a.fa,h=a.J||256;a.Ya=-1;a.B=null;a.I=Wx;a.ga=tx|Kx;var k=a.A[d];k?(k.Od=f,k.bb=e,k.jb=g,k.yb=h*k.Na,c=c>=Xx?c:c&Yx,k.hb=null,k.Va=0,k.errorCode=0,a.Ya=d,a.B=k):c=-1;switch(c&Yx){case Zx:b=!0;break;case $x:a.ga=Ix;a.te(k,function(b){0<=b&&a.V?(Jx(a),a.ga=tx|Kx|Lx):(a.ga=Mx,a.I=Nx)},!1);break;case ay:a.ga=Lx;break;case by:b=!0;break;case cy:b=!0;break;case Xx:a.I=Tx;b=!0;break;case dy:k.gb=e+1,k.Wa=h,b=!0}b&&Jx(a)}
|
||||
function Jx(a){a.V&&(a.L&ey||mh(a.V,14,120))}
|
||||
function Gx(a){a.D=0;var b=fy(a),c=fy(a),d=c&32,e=d>>5,f=c&31,g=fy(a),h=fy(a),k=g<<2&768|h,m=g&63,p=fy(a),v=fy(a),u=a.A[e];u&&(u.Od=k,u.bb=f,u.jb=m,u.yb=p*u.Na);switch(b){case gy:hy(a,u?u.errorCode:iy);jy(a,c);jy(a,g);jy(a,h);jy(a,ky|d);b=-1;break;case Ex:for(c=0;0<=(b=fy(a));)u&&c<u.Be.length&&(u.Be[c++]=b);u&&yx(a,u);b=ky;u||a.N!=e||(a.N=-1,b=ly);hy(a,b|d);b=-1;break;case my:case ny:hy(a,ky|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=vx,u.Vk=0),b){case oy:hy(a,ky|d);break;case py:u.jf=v;
|
||||
hy(a,ky|d);break;case qy:hy(a,ky|d);break;case ry:sy(a,u,function(b){hy(a,b|d)});break;case ty:uy(a,u,function(b){hy(a,b|d)});break;case vy:wy(a,u,function(b){hy(a,b|d)});break;default:hy(a,ly|d)}}function fy(a){var b=-1;a.D<a.C&&(b=a.F[a.D++]);return b}function hy(a,b){a.D=a.C=0;void 0!==b&&jy(a,b);a.V&&mh(a.V,5);a.ga|=Ax}function jy(a,b){a.F[a.C++]=b}l.dl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.el=function(a,b){return void 0!==b&&0<=b?Px(a,b):-1};
|
||||
l.ul=function(a,b){void 0!==b&&0<=b?(a.Va<a.Ce.length?a.Ce[a.Va++]=b:(a.errorCode=xy,b=-1),a=b):a=-1;return a};l.vl=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Xc[a.Ge++]=b;if(a.Ge==a.Xc.length){a.Od=a.Xc[0];a.bb=a.Xc[1];a.jb=a.Xc[2];a.yb=128<<a.Xc[3];for(var c=a.Ge=0;c<a.yb;c++)if(0>Px(a,a.Ti)){a=-1;break a}a.dg++}a.dg>=a.Vd&&(b=-1);a=b}else a=-1;return a};
|
||||
function sy(a,b,c){b.errorCode=iy;if(b.va&&(b.hb=null,a.V)){b.errorCode=vx;Sn(a.V,3,a,"dmaRead",b);Jn(a.V,3,function(a){a||b.errorCode!=vx||(b.errorCode=iy);c(b.errorCode?ly:ky)});return}c(b.errorCode?ly:ky)}function uy(a,b,c){b.errorCode=iy;if(b.va&&(b.hb=null,a.V)){b.errorCode=vx;Sn(a.V,3,a,"dmaWrite",b);Jn(a.V,3,function(a){a||(b.errorCode==vx&&(b.errorCode=iy),b.errorCode==xy&&(b.errorCode=vx));c(b.errorCode?ly:ky)});return}c(b.errorCode?ly:ky)}
|
||||
function wy(a,b,c){b.errorCode=iy;b.Ce&&b.Ce.length==b.yb||(b.Ce=Array(b.yb));b.Va=0;a.V?(b.errorCode=vx,Sn(a.V,3,a,"dmaWriteBuffer",b),Jn(a.V,3,function(a){a||b.errorCode!=vx||(b.errorCode=iy);c(b.errorCode?ly:ky)})):c(b.errorCode?ly:ky)}
|
||||
l.te=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.hb&&(f=a.Va,d=a.va.read(a.hb,a.Va),a.Va+=g,0<=d))return e=a.hb,b&&b(d,!1,e,f),d;if(b){if(a.va)return a.va.seek(a.Od,a.bb,a.jb+a.cg,!1,function(c,k){(a.hb=c)?(e=c,f=a.Va=0,yy(a),d=a.va.read(a.hb,a.Va),a.Va+=g):a.errorCode=xy;b(d,k,e,f)}),d;a.errorCode=xy;b(d,!1,e,f)}return d};
|
||||
function Px(a,b){if(a.errorCode)return-1;do{if(a.hb&&a.va.write(a.hb,a.Va++,b))break;a.va&&a.va.seek(a.Od,a.bb,a.jb+a.cg,!0,function(b){a.hb=b});if(!a.hb){a.errorCode=xy;b=-1;break}a.Va=0;yy(a)}while(1);return b}function yy(a){a.jb++;var b=1-a.cg;a.jb>=a.Wa+b&&(a.jb=b,a.bb++,a.bb>=a.gb&&(a.bb=0,a.Od++))}l.Om=function(){var a=this.G.L&255;!(this.G.D>>8)&&128<a&&(this.N=a-128);return!0};l.Pm=function(){var a;(a=this.G.D>>8||!this.V)||(a=!(this.V.ic[0].sd&64));return a?!0:!1};
|
||||
var wx="Hard Drive",zx=["XTC","ATC","COMPAQ"],xx=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
|
||||
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],px=496,Tx=1,Wx=0,Nx=16,Vx=3,Ux=15,Qx=16,Mx=1,Lx=8,Kx=16,tx=64,Ix=128,Zx=16,$x=32,ay=48,by=64,cy=
|
||||
112,Xx=144,dy=145,Yx=240,ey=2,Sx=4,ky=0,ly=2,oy=0,py=1,gy=3,qy=5,ry=8,ty=10,Ex=12,vy=15,my=224,ny=228,vx=0,iy=4,xy=20,ux=0,Fx=1,Bx=2,Cx=4,Dx=8,Ax=32,mx={800:kx.prototype.Mm,801:kx.prototype.Nm,802:kx.prototype.Lm},lx={496:kx.prototype.fl,497:kx.prototype.Pl,498:kx.prototype.Rl,499:kx.prototype.Sl,500:kx.prototype.Nl,501:kx.prototype.Ml,502:kx.prototype.Ol,503:kx.prototype.Tl},ox={800:kx.prototype.uo,801:kx.prototype.xo,802:kx.prototype.wo,803:kx.prototype.vo,807:kx.prototype.bi,811:kx.prototype.bi,
|
||||
815:kx.prototype.bi},nx={496:kx.prototype.zn,497:kx.prototype.En,498:kx.prototype.Cn,499:kx.prototype.Dn,500:kx.prototype.yn,501:kx.prototype.xn,502:kx.prototype.An,503:kx.prototype.wn,1014:kx.prototype.Bn};cb(function(){for(var a=zb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new kx(d);yb(d,c)}});function zy(a){pb.call(this,"Debugger",a);this.D=+a.base||16;this.ha=["{","}"];this.Ea=["[","]"];this.ba=this.ka=this.P=0;this.fa=!1;this.A=-1;this.C=[];this.I={}}ia(zy,pb);
|
||||
zy.prototype.bh=function(){return-1};zy.prototype.dh=function(){};zy.prototype.Jk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
||||
zy.prototype.yg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.fa?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Da(a.substring(d,f))),d=f+1}}return b};
|
||||
function Ay(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 By(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=Ay(f,18,!0)*Math.pow(2,18)+Ay(e,18,!0);break;case "_":case "^_":"^_"==d&&(e=35-(e&255));e&&(f=Ay(f,0,!0),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));break;default:return!1}a.push(Ay(f))}return!0}
|
||||
function Cy(a,b,c,d,e,f){var g,h=!1,k=0,m=[],p=[],v=a.D;for(a.D=e;c<d;){var u=b[c++].trim();var A=c<d?b[c++]:"";if(u)var J=Dy(a,u,null,f,k);else if("{"==A){u=1;for(J=c;c<d;)if(c++,A=c<b.length?b[c++]:"","{"==A)u++;else if("}"==A&&!--u)break;J=Cy(a,b,J,c-1,a.D,f);null!=J&&k&&(J=Ey(J,k));u=c<d?b[c++].trim():"";A=c<d?b[c++]:""}else{if(" "==A)continue;if("^B"==A){a.D=2;continue}if("^O"==A){a.D=8;continue}if("^D"==A){a.D=10;continue}if(!(k&-1073741824)){if("+"==A)continue;if("-"==A){k=k<<2|1;continue}if("~"==
|
||||
A||"^-"==A){k=k<<2|2;continue}if("^L"==A){k=k<<2|3;continue}}h=!0;break}if(void 0===J)if(f)f.push(u),J=0;else{h=!0;f=[];break}m.push(Ay(J));if(" "==A)if(c<b.length-1&&!b[c])c++,A=b[c++];else{h=!0;break}if(!A)break;k="<"==a.ha[0]?Fy:Gy;if(!k[A]){h=!0;break}p.length&&k[A]<=k[p[p.length-1]]&&By(m,p,1);p.push(A);a.D="^_"==A?10:e;k=0}if(h||!By(m,p)||1!=m.length)h=!0;h?f||a.O("parse error ("+(u||A)+")"):g=m.pop();a.D=v;return g}
|
||||
function Hy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var m=b[h++];if(m==c){k=-1;break}if(!k)break;k--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=Ay(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.O("parse error ("+c+b+c+")");return}b=b.substr(0,f)+Iy(a,g,-1)+b.substr(h)}return b}
|
||||
function Jy(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=Hy(a,b,'"',7,5);if(!b)return d;b=Hy(a,b,"'",6,6);if(!b)return d;16!=a.D&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Cy(a,b,0,b.length,a.D,c);void 0!==d&&e&&Ky(a,null,d)}return d}
|
||||
function Ly(a,b){var c=a.ha[0],d=a.ha[1];var e="("==c||"{"==c||"["==c?"\\":"";var f="["==c?"\\":"";for(f=new RegExp(e+c+"([^"+f+c+f+d+"]+)"+e+d);e=b.match(f);){var g=Jy(a,e[1]);if(void 0===g)return;b=b.replace(c+e[1]+d,null!=g?Iy(a,g):"undefined")}if(a.Ea.length)for(c=a.Ea[0],d=a.Ea[1],e="("==c||"{"==c||"["==c?"\\":"",f="["==c?"\\":"",f=new RegExp(e+c+"([^"+f+c+f+d+"]+)"+e+d);e=b.match(f);)b=a.Jk(b,e[1]);for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.ba-a.ka}if(null==
|
||||
d)break;b=b.replace(c[0],d.toString())}return b}function Ey(a,b){for(;b;){switch(b&3){case 1:a=-Ay(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 Dy(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.bh(b);if(0<=g)g=a.dh(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 h=a.I[b]&&a.I[b].Uo;h&&(f?f.push(h):(f=Jy(a,h,d),void 0!==f?g+=f:(d||a.O("undefined "+(c||"value")+": "+b+" ("+h+")"),g=void 0)))}else g=qa(b,1<b.length||10<a.D?a.D:10);null!=g?g=Ay(Ey(g,e)):d||a.O("invalid "+(c||"value")+": "+b)}else d||a.O("missing "+(c||"value"));return g}
|
||||
function Ky(a,b,c){var d=!1;if(void 0!==c){d=!0;var e=8==a.D?Iy(a,c,32,8,1)+" "+c+".":Iy(a,c,32,16,1)+" "+Iy(a,c,32,8,1)+" "+Iy(a,c,32,2,8)+" "+c+".";32<=c&&127>c&&(e+=" '"+String.fromCharCode(c)+"'")}a.O((null!=b?b+": ":"")+e);return d}function My(a,b){var c=0;if(a.I){if(b)return Ky(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)Ky(a,b[d],a.I[b[d]].value),c++}return 0<c}
|
||||
function Iy(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=ta(b,0<c?c:0,e);break;case 8:b=ua(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=sa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
||||
var Gy={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Fy={",,":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 Ny(a){zy.call(this,a);this.ra=4;this.la=5;this.xa=1048575;this.N=Oy(this,0,0);this.Ca=Oy(this,0,0);this.ea=Oy(this,0,0);this.F=[];this.B=this.V=this.L=[];Py(this);this.wa=0;Qy(this);this.Fa={};Ry(this,a.messages);this.Ka=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return Sy(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return Sy(b,a)})}ia(Ny,zy);l=Ny.prototype;
|
||||
l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.na=a;this.cb=ac(a,"FDC");this.Pa=ac(a,"HDC");this.Kc=ac(a,"FPU");this.H=ac(a,"Mouse");(a=Ad(a,"messages"))&&Ry(this,a);this.la=b.I>>2;this.xa=b.N;this.ab=new Zd(this.G,7,"DBG");this.pa=Ty;80186<=this.G.da&&(this.pa=Ty.slice(),this.pa[15]=Uy,80286<=this.G.da&&(this.pa[15]=Vy,80386<=this.G.da&&(this.ra=8)));Cl(this,64,function(a){Wy(d,d.G.sc,a[0])});Cl(this,4,function(a){if(a=a[0]){var b=Dy(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Xy(d,
|
||||
b,Yy),d.O("dumpSel("+wa(a?a.T:b)+"): %"+q(a?a.Ob:null,d.la)),a){b=!1;if(a.type&4096){if(a.type&2048){var c="code"+(a.type&512?",readable":",execonly");a.type&1024&&(c+=",conforming")}else c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown");a.type&256&&(c+=",accessed")}else{var e=Zy[a.type];e&&(c=e[0],b=e[1])}!c||a.ob&32768||(c+=",not present");d.O((b?"seg="+wa(a.ua&65535)+" off="+wa(a.Sa):"base="+q(a.ua,d.la)+" limit="+$y(a.Sa))+" type="+va(a.type>>8)+" ("+c+") ext="+wa(a.ext&
|
||||
-65296)+" dpl="+va(a.qc))}}else d.O("no selector")});Cl(this,134217728,function(a){var b;(a=a[0])&&(b=Dy(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+wa(b)+")");b;){a=Oy(d,0,b);var c=d.ya(a,1),e=d.Vc(a,2),k=d.Vc(a,5);if(77!=c&&90!=c)break;d.O(az(0,b)+": '"+String.fromCharCode(c)+"' PID="+wa(e)+" LEN="+wa(k)+' "'+bz(d,a,8)+'"');b+=1+k}});Cl(this,128,function(a){Wy(d,d.G.aa,a[0],d.G.aa!==d.G.sc)});Cl(this,8,function(a){a:{if(a=a[0]){var b=Dy(d,a);if(void 0===b){d.O("invalid task selector: "+
|
||||
a);break a}a=Xy(d,b,Yy)}else a=d.G.ka;d.O("dumpTSS("+wa(a?a.T:b)+"): %"+q(a?a.ua:null,d.la));if(a){b="";var c=a.type&-513,e=256==c?4:8,k=256==c?cz:dz;for(u in k){var m=k[u];var p=a.ua+m;var v=Ag(d.G,p,2);2304==c&&(v|=Ag(d.G,p+2,2)<<16);b&&(b+="\n");b+=wa(m)+" "+Ca(u+":",11)+q(v,e)}if(2304==c){var u=0;for(m=v>>>16;m<a.Nb&&1023>u;){p=a.ua+m;v=Ag(d.G,p,2);p=2;c="";if(!p||4<p)p=4;for(e=0;e<p;e++)c&&(c=","+c),c=ta(v&255,8)+c,v>>=8;b+="\n"+wa(m)+" ports "+wa(u)+"-"+wa(u+15)+": "+(""+c);u+=16;m+=2}}d.O(b)}}});
|
||||
this.J=null;this.La=0;this.Ga=!1;Wf(this.G,48,this.Sm.bind(this));Wf(this.G,65,this.Tm.bind(this));this.aa=null;Wf(this.G,104,this.Um.bind(this));Pb(this)};function ez(a,b,c,d,e,f){b=bz(a,b);var g=Xy(a,d);g=g?g.Sa+1:0;var h=(e?"_CODE":"_DATA")+q(c,2);f&&r(a,128)&&a.message(b+" "+(e?"code":"data")+"("+q(c,4)+")=#"+q(d,4)+" len "+q(g));e=fz(a,b,c);e[b+h]=0;jq(a,b,c,d,0,null,g,e)}
|
||||
function gz(a,b,c,d){var e=a.Vc(b,2),f=a.Vc(b,2),g=hz(a,b,4),h=hz(a,b,4),k=Oy(a,hz(a,b,4),a.Vc(b,2));b=Oy(a,hz(a,b,4),a.Vc(b,2));b=bz(a,b).toUpperCase();k=bz(a,k).toUpperCase();var m=(c?"_CODE":"_DATA")+q(e,2);d&&r(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+q(e,4)+")="+q(f,4)+":"+q(g)+" len "+q(h));c=fz(a,k,e);c[k+m]=g;jq(a,k,e,f,g,null,h,c)}function iz(a,b,c){c=bz(a,c).toUpperCase();jz(a,c,b)}
|
||||
l.Sm=function(){var a=this.G;if(null!=this.J&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=Oy(this,y(a)+12,a.U.T);switch(hz(this,d)){case 336:gz(this,Oy(this,a.H,b),!c,!!this.J)}}return!0};
|
||||
l.Tm=function(a){var b=this.G,c=b.D&65535,d=b.H&65535,e=b.I&65535,f=b.L&65535,g=b.K&65535,h=b.J&65535,k=b.pa.T;if(null==this.J)return 79==c&&Xf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Tb(a,"INT 0x41 handling enabled",128),a.J=!0):(Tb(a,"INT 0x41 monitoring enabled",128),a.J=!1)}}(this)),!0;switch(c){case 79:this.J&&(b.D=b.D&-65536|62342,Tb(this,"INT 0x41 handling enabled",128));break;case 80:ez(this,Oy(this,h,k),d+1,e,!(g&1),!!this.J);break;case 82:jz(this,null,
|
||||
d);break;case 127:this.J&&(b.D=b.D&-65536|(this.Ga?0:1));break;case 131:this.J&&(a=Oy(this,b.L,e),this.La++?(this.O("TRAPFAULT failed"),kz(this,this.B,a,!0,!0),this.La=0,rk(this)):(this.O("INT 0x41 TRAPFAULT: fault="+wa(d)+" error="+q(b.K,8,!0)+" addr="+lz(a)),this.rd(this.B,a,!0),Qy(this,!0)));break;case 141:this.J&&(b.D=b.D&-65536|1);break;case 336:gz(this,Oy(this,b.H,f),!g,!!this.J);break;case 338:iz(this,d,Oy(this,b.J,f))}this.Ga=!1;return!this.J};
|
||||
l.An=function(a,b,c){t(this,a,b,c,"DRVHD");this.U=b;this.ga=this.A[this.U&Rx?1:0]?this.ga|ux|Lx:this.ga&~ux};l.Tl=function(a,b){var c=this.ga;t(this,a,null,b,"STATUS",c);this.ga&ux&&(this.ga&=~Jx);return c};l.wn=function(a,b,c){t(this,a,b,c,"COMMAND");this.ha=b;this.V&&kh(this.V,14);Sx(this)};l.Bn=function(a,b,c){t(this,a,b,c,"FDR");this.L&Tx&&!(b&Tx)&&(this.I=Ux);this.L=b};
|
||||
function Sx(a){var b=!1,c=a.ha,d=a.U&Rx?1:0,e=a.U&Vx,f=a.ea|(a.ba&Wx)<<8,g=a.fa,h=a.J||256;a.Ya=-1;a.B=null;a.I=Xx;a.ga=ux|Lx;var k=a.A[d];k?(k.Od=f,k.bb=e,k.jb=g,k.yb=h*k.Na,c=c>=Yx?c:c&Zx,k.hb=null,k.Va=0,k.errorCode=0,a.Ya=d,a.B=k):c=-1;switch(c&Zx){case $x:b=!0;break;case ay:a.ga=Jx;a.te(k,function(b){0<=b&&a.V?(Kx(a),a.ga=ux|Lx|Mx):(a.ga=Nx,a.I=Ox)},!1);break;case by:a.ga=Mx;break;case cy:b=!0;break;case dy:b=!0;break;case Yx:a.I=Ux;b=!0;break;case ey:k.gb=e+1,k.Wa=h,b=!0}b&&Kx(a)}
|
||||
function Kx(a){a.V&&(a.L&fy||mh(a.V,14,120))}
|
||||
function Hx(a){a.D=0;var b=gy(a),c=gy(a),d=c&32,e=d>>5,f=c&31,g=gy(a),h=gy(a),k=g<<2&768|h,m=g&63,p=gy(a),v=gy(a),u=a.A[e];u&&(u.Od=k,u.bb=f,u.jb=m,u.yb=p*u.Na);switch(b){case hy:iy(a,u?u.errorCode:jy);ky(a,c);ky(a,g);ky(a,h);ky(a,ly|d);b=-1;break;case Fx:for(c=0;0<=(b=gy(a));)u&&c<u.Be.length&&(u.Be[c++]=b);u&&zx(a,u);b=ly;u||a.N!=e||(a.N=-1,b=my);iy(a,b|d);b=-1;break;case ny:case oy:iy(a,ly|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=wx,u.Vk=0),b){case py:iy(a,ly|d);break;case qy:u.jf=v;
|
||||
iy(a,ly|d);break;case ry:iy(a,ly|d);break;case sy:ty(a,u,function(b){iy(a,b|d)});break;case uy:vy(a,u,function(b){iy(a,b|d)});break;case wy:xy(a,u,function(b){iy(a,b|d)});break;default:iy(a,my|d)}}function gy(a){var b=-1;a.D<a.C&&(b=a.F[a.D++]);return b}function iy(a,b){a.D=a.C=0;void 0!==b&&ky(a,b);a.V&&mh(a.V,5);a.ga|=Bx}function ky(a,b){a.F[a.C++]=b}l.dl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.el=function(a,b){return void 0!==b&&0<=b?Qx(a,b):-1};
|
||||
l.ul=function(a,b){void 0!==b&&0<=b?(a.Va<a.Ce.length?a.Ce[a.Va++]=b:(a.errorCode=yy,b=-1),a=b):a=-1;return a};l.vl=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Xc[a.Ge++]=b;if(a.Ge==a.Xc.length){a.Od=a.Xc[0];a.bb=a.Xc[1];a.jb=a.Xc[2];a.yb=128<<a.Xc[3];for(var c=a.Ge=0;c<a.yb;c++)if(0>Qx(a,a.Ti)){a=-1;break a}a.dg++}a.dg>=a.Vd&&(b=-1);a=b}else a=-1;return a};
|
||||
function ty(a,b,c){b.errorCode=jy;if(b.va&&(b.hb=null,a.V)){b.errorCode=wx;Sn(a.V,3,a,"dmaRead",b);Jn(a.V,3,function(a){a||b.errorCode!=wx||(b.errorCode=jy);c(b.errorCode?my:ly)});return}c(b.errorCode?my:ly)}function vy(a,b,c){b.errorCode=jy;if(b.va&&(b.hb=null,a.V)){b.errorCode=wx;Sn(a.V,3,a,"dmaWrite",b);Jn(a.V,3,function(a){a||(b.errorCode==wx&&(b.errorCode=jy),b.errorCode==yy&&(b.errorCode=wx));c(b.errorCode?my:ly)});return}c(b.errorCode?my:ly)}
|
||||
function xy(a,b,c){b.errorCode=jy;b.Ce&&b.Ce.length==b.yb||(b.Ce=Array(b.yb));b.Va=0;a.V?(b.errorCode=wx,Sn(a.V,3,a,"dmaWriteBuffer",b),Jn(a.V,3,function(a){a||b.errorCode!=wx||(b.errorCode=jy);c(b.errorCode?my:ly)})):c(b.errorCode?my:ly)}
|
||||
l.te=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.hb&&(f=a.Va,d=a.va.read(a.hb,a.Va),a.Va+=g,0<=d))return e=a.hb,b&&b(d,!1,e,f),d;if(b){if(a.va)return a.va.seek(a.Od,a.bb,a.jb+a.cg,!1,function(c,k){(a.hb=c)?(e=c,f=a.Va=0,zy(a),d=a.va.read(a.hb,a.Va),a.Va+=g):a.errorCode=yy;b(d,k,e,f)}),d;a.errorCode=yy;b(d,!1,e,f)}return d};
|
||||
function Qx(a,b){if(a.errorCode)return-1;do{if(a.hb&&a.va.write(a.hb,a.Va++,b))break;a.va&&a.va.seek(a.Od,a.bb,a.jb+a.cg,!0,function(b){a.hb=b});if(!a.hb){a.errorCode=yy;b=-1;break}a.Va=0;zy(a)}while(1);return b}function zy(a){a.jb++;var b=1-a.cg;a.jb>=a.Wa+b&&(a.jb=b,a.bb++,a.bb>=a.gb&&(a.bb=0,a.Od++))}l.Om=function(){var a=this.G.L&255;!(this.G.D>>8)&&128<a&&(this.N=a-128);return!0};l.Pm=function(){var a;(a=this.G.D>>8||!this.V)||(a=!(this.V.ic[0].sd&64));return a?!0:!1};
|
||||
var xx="Hard Drive",Ax=["XTC","ATC","COMPAQ"],yx=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
|
||||
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],qx=496,Ux=1,Xx=0,Ox=16,Wx=3,Vx=15,Rx=16,Nx=1,Mx=8,Lx=16,ux=64,Jx=128,$x=16,ay=32,by=48,cy=64,dy=
|
||||
112,Yx=144,ey=145,Zx=240,fy=2,Tx=4,ly=0,my=2,py=0,qy=1,hy=3,ry=5,sy=8,uy=10,Fx=12,wy=15,ny=224,oy=228,wx=0,jy=4,yy=20,vx=0,Gx=1,Cx=2,Dx=4,Ex=8,Bx=32,nx={800:lx.prototype.Mm,801:lx.prototype.Nm,802:lx.prototype.Lm},mx={496:lx.prototype.fl,497:lx.prototype.Pl,498:lx.prototype.Rl,499:lx.prototype.Sl,500:lx.prototype.Nl,501:lx.prototype.Ml,502:lx.prototype.Ol,503:lx.prototype.Tl},px={800:lx.prototype.uo,801:lx.prototype.xo,802:lx.prototype.wo,803:lx.prototype.vo,807:lx.prototype.bi,811:lx.prototype.bi,
|
||||
815:lx.prototype.bi},ox={496:lx.prototype.zn,497:lx.prototype.En,498:lx.prototype.Cn,499:lx.prototype.Dn,500:lx.prototype.yn,501:lx.prototype.xn,502:lx.prototype.An,503:lx.prototype.wn,1014:lx.prototype.Bn};cb(function(){for(var a=zb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new lx(d);yb(d,c)}});function Ay(a){pb.call(this,"Debugger",a);this.D=+a.base||16;this.ha=["{","}"];this.Ea=["[","]"];this.ba=this.ka=this.P=0;this.fa=!1;this.A=-1;this.C=[];this.I={}}ia(Ay,pb);
|
||||
Ay.prototype.bh=function(){return-1};Ay.prototype.dh=function(){};Ay.prototype.Jk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
||||
Ay.prototype.yg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.fa?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Da(a.substring(d,f))),d=f+1}}return b};
|
||||
function By(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 Cy(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=By(f,18,!0)*Math.pow(2,18)+By(e,18,!0);break;case "_":case "^_":"^_"==d&&(e=35-(e&255));e&&(f=By(f,0,!0),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));break;default:return!1}a.push(By(f))}return!0}
|
||||
function Dy(a,b,c,d,e,f){var g,h=!1,k=0,m=[],p=[],v=a.D;for(a.D=e;c<d;){var u=b[c++].trim();var A=c<d?b[c++]:"";if(u)var J=Ey(a,u,null,f,k);else if("{"==A){u=1;for(J=c;c<d;)if(c++,A=c<b.length?b[c++]:"","{"==A)u++;else if("}"==A&&!--u)break;J=Dy(a,b,J,c-1,a.D,f);null!=J&&k&&(J=Fy(J,k));u=c<d?b[c++].trim():"";A=c<d?b[c++]:""}else{if(" "==A)continue;if("^B"==A){a.D=2;continue}if("^O"==A){a.D=8;continue}if("^D"==A){a.D=10;continue}if(!(k&-1073741824)){if("+"==A)continue;if("-"==A){k=k<<2|1;continue}if("~"==
|
||||
A||"^-"==A){k=k<<2|2;continue}if("^L"==A){k=k<<2|3;continue}}h=!0;break}if(void 0===J)if(f)f.push(u),J=0;else{h=!0;f=[];break}m.push(By(J));if(" "==A)if(c<b.length-1&&!b[c])c++,A=b[c++];else{h=!0;break}if(!A)break;k="<"==a.ha[0]?Gy:Hy;if(!k[A]){h=!0;break}p.length&&k[A]<=k[p[p.length-1]]&&Cy(m,p,1);p.push(A);a.D="^_"==A?10:e;k=0}if(h||!Cy(m,p)||1!=m.length)h=!0;h?f||a.O("parse error ("+(u||A)+")"):g=m.pop();a.D=v;return g}
|
||||
function Iy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var m=b[h++];if(m==c){k=-1;break}if(!k)break;k--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=By(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.O("parse error ("+c+b+c+")");return}b=b.substr(0,f)+Jy(a,g,-1)+b.substr(h)}return b}
|
||||
function Ky(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=Iy(a,b,'"',7,5);if(!b)return d;b=Iy(a,b,"'",6,6);if(!b)return d;16!=a.D&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Dy(a,b,0,b.length,a.D,c);void 0!==d&&e&&Ly(a,null,d)}return d}
|
||||
function My(a,b){var c=a.ha[0],d=a.ha[1];var e="("==c||"{"==c||"["==c?"\\":"";var f="["==c?"\\":"";for(f=new RegExp(e+c+"([^"+f+c+f+d+"]+)"+e+d);e=b.match(f);){var g=Ky(a,e[1]);if(void 0===g)return;b=b.replace(c+e[1]+d,null!=g?Jy(a,g):"undefined")}if(a.Ea.length)for(c=a.Ea[0],d=a.Ea[1],e="("==c||"{"==c||"["==c?"\\":"",f="["==c?"\\":"",f=new RegExp(e+c+"([^"+f+c+f+d+"]+)"+e+d);e=b.match(f);)b=a.Jk(b,e[1]);for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.ba-a.ka}if(null==
|
||||
d)break;b=b.replace(c[0],d.toString())}return b}function Fy(a,b){for(;b;){switch(b&3){case 1:a=-By(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 Ey(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.bh(b);if(0<=g)g=a.dh(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 h=a.I[b]&&a.I[b].Uo;h&&(f?f.push(h):(f=Ky(a,h,d),void 0!==f?g+=f:(d||a.O("undefined "+(c||"value")+": "+b+" ("+h+")"),g=void 0)))}else g=qa(b,1<b.length||10<a.D?a.D:10);null!=g?g=By(Fy(g,e)):d||a.O("invalid "+(c||"value")+": "+b)}else d||a.O("missing "+(c||"value"));return g}
|
||||
function Ly(a,b,c){var d=!1;if(void 0!==c){d=!0;var e=8==a.D?Jy(a,c,32,8,1)+" "+c+".":Jy(a,c,32,16,1)+" "+Jy(a,c,32,8,1)+" "+Jy(a,c,32,2,8)+" "+c+".";32<=c&&127>c&&(e+=" '"+String.fromCharCode(c)+"'")}a.O((null!=b?b+": ":"")+e);return d}function Ny(a,b){var c=0;if(a.I){if(b)return Ly(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)Ly(a,b[d],a.I[b[d]].value),c++}return 0<c}
|
||||
function Jy(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=ta(b,0<c?c:0,e);break;case 8:b=ua(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=sa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
||||
var Hy={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Gy={",,":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 Oy(a){Ay.call(this,a);this.ra=4;this.la=5;this.xa=1048575;this.N=Py(this,0,0);this.Ca=Py(this,0,0);this.ea=Py(this,0,0);this.F=[];this.B=this.V=this.L=[];Qy(this);this.wa=0;Ry(this);this.Fa={};Sy(this,a.messages);this.Ka=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return Ty(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return Ty(b,a)})}ia(Oy,Ay);l=Oy.prototype;
|
||||
l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.na=a;this.cb=ac(a,"FDC");this.Pa=ac(a,"HDC");this.Kc=ac(a,"FPU");this.H=ac(a,"Mouse");(a=Ad(a,"messages"))&&Sy(this,a);this.la=b.I>>2;this.xa=b.N;this.ab=new Zd(this.G,7,"DBG");this.pa=Uy;80186<=this.G.da&&(this.pa=Uy.slice(),this.pa[15]=Vy,80286<=this.G.da&&(this.pa[15]=Wy,80386<=this.G.da&&(this.ra=8)));Cl(this,64,function(a){Xy(d,d.G.sc,a[0])});Cl(this,4,function(a){if(a=a[0]){var b=Ey(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Yy(d,
|
||||
b,Zy),d.O("dumpSel("+wa(a?a.T:b)+"): %"+q(a?a.Ob:null,d.la)),a){b=!1;if(a.type&4096){if(a.type&2048){var c="code"+(a.type&512?",readable":",execonly");a.type&1024&&(c+=",conforming")}else c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown");a.type&256&&(c+=",accessed")}else{var e=$y[a.type];e&&(c=e[0],b=e[1])}!c||a.ob&32768||(c+=",not present");d.O((b?"seg="+wa(a.ua&65535)+" off="+wa(a.Sa):"base="+q(a.ua,d.la)+" limit="+az(a.Sa))+" type="+va(a.type>>8)+" ("+c+") ext="+wa(a.ext&
|
||||
-65296)+" dpl="+va(a.qc))}}else d.O("no selector")});Cl(this,134217728,function(a){var b;(a=a[0])&&(b=Ey(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+wa(b)+")");b;){a=Py(d,0,b);var c=d.ya(a,1),e=d.Vc(a,2),k=d.Vc(a,5);if(77!=c&&90!=c)break;d.O(bz(0,b)+": '"+String.fromCharCode(c)+"' PID="+wa(e)+" LEN="+wa(k)+' "'+cz(d,a,8)+'"');b+=1+k}});Cl(this,128,function(a){Xy(d,d.G.aa,a[0],d.G.aa!==d.G.sc)});Cl(this,8,function(a){a:{if(a=a[0]){var b=Ey(d,a);if(void 0===b){d.O("invalid task selector: "+
|
||||
a);break a}a=Yy(d,b,Zy)}else a=d.G.ka;d.O("dumpTSS("+wa(a?a.T:b)+"): %"+q(a?a.ua:null,d.la));if(a){b="";var c=a.type&-513,e=256==c?4:8,k=256==c?dz:ez;for(u in k){var m=k[u];var p=a.ua+m;var v=Ag(d.G,p,2);2304==c&&(v|=Ag(d.G,p+2,2)<<16);b&&(b+="\n");b+=wa(m)+" "+Ca(u+":",11)+q(v,e)}if(2304==c){var u=0;for(m=v>>>16;m<a.Nb&&1023>u;){p=a.ua+m;v=Ag(d.G,p,2);p=2;c="";if(!p||4<p)p=4;for(e=0;e<p;e++)c&&(c=","+c),c=ta(v&255,8)+c,v>>=8;b+="\n"+wa(m)+" ports "+wa(u)+"-"+wa(u+15)+": "+(""+c);u+=16;m+=2}}d.O(b)}}});
|
||||
this.J=null;this.La=0;this.Ga=!1;Wf(this.G,48,this.Sm.bind(this));Wf(this.G,65,this.Tm.bind(this));this.aa=null;Wf(this.G,104,this.Um.bind(this));Pb(this)};function fz(a,b,c,d,e,f){b=cz(a,b);var g=Yy(a,d);g=g?g.Sa+1:0;var h=(e?"_CODE":"_DATA")+q(c,2);f&&r(a,128)&&a.message(b+" "+(e?"code":"data")+"("+q(c,4)+")=#"+q(d,4)+" len "+q(g));e=gz(a,b,c);e[b+h]=0;jq(a,b,c,d,0,null,g,e)}
|
||||
function hz(a,b,c,d){var e=a.Vc(b,2),f=a.Vc(b,2),g=iz(a,b,4),h=iz(a,b,4),k=Py(a,iz(a,b,4),a.Vc(b,2));b=Py(a,iz(a,b,4),a.Vc(b,2));b=cz(a,b).toUpperCase();k=cz(a,k).toUpperCase();var m=(c?"_CODE":"_DATA")+q(e,2);d&&r(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+q(e,4)+")="+q(f,4)+":"+q(g)+" len "+q(h));c=gz(a,k,e);c[k+m]=g;jq(a,k,e,f,g,null,h,c)}function jz(a,b,c){c=cz(a,c).toUpperCase();kz(a,c,b)}
|
||||
l.Sm=function(){var a=this.G;if(null!=this.J&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=Py(this,y(a)+12,a.U.T);switch(iz(this,d)){case 336:hz(this,Py(this,a.H,b),!c,!!this.J)}}return!0};
|
||||
l.Tm=function(a){var b=this.G,c=b.D&65535,d=b.H&65535,e=b.I&65535,f=b.L&65535,g=b.K&65535,h=b.J&65535,k=b.pa.T;if(null==this.J)return 79==c&&Xf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Tb(a,"INT 0x41 handling enabled",128),a.J=!0):(Tb(a,"INT 0x41 monitoring enabled",128),a.J=!1)}}(this)),!0;switch(c){case 79:this.J&&(b.D=b.D&-65536|62342,Tb(this,"INT 0x41 handling enabled",128));break;case 80:fz(this,Py(this,h,k),d+1,e,!(g&1),!!this.J);break;case 82:kz(this,null,
|
||||
d);break;case 127:this.J&&(b.D=b.D&-65536|(this.Ga?0:1));break;case 131:this.J&&(a=Py(this,b.L,e),this.La++?(this.O("TRAPFAULT failed"),lz(this,this.B,a,!0,!0),this.La=0,rk(this)):(this.O("INT 0x41 TRAPFAULT: fault="+wa(d)+" error="+q(b.K,8,!0)+" addr="+mz(a)),this.rd(this.B,a,!0),Ry(this,!0)));break;case 141:this.J&&(b.D=b.D&-65536|1);break;case 336:hz(this,Py(this,b.H,f),!g,!!this.J);break;case 338:jz(this,d,Py(this,b.J,f))}this.Ga=!1;return!this.J};
|
||||
l.Um=function(a){var b=this.G,c=b.D&255,d=b.D>>8&255,e=b.H&65535,f=b.I&65535,g=b.L&65535,h=b.J&65535,k=b.pa.T;if(null==this.aa){if(67==d){if(609437257==b.ia((b.ba.T<<4)+10)||1111835735==b.ia((b.ba.T<<4)+95))return!0;Xf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Tb(a,"INT 0x68 handling enabled",128),a.J=a.aa=!0):(Tb(a,"INT 0x68 monitoring enabled",128),a.aa=!1)}}(this))}return!0}switch(d){case 67:this.aa&&(b.D=b.D&-65536|62342);break;case 68:this.aa&&(a=ce(b.ba,this.ql.bind(this)))&&
|
||||
(b.J=a[0],ue(b,a[1]));break;case 72:jz(this,null,e);break;case 80:32==c?ez(this,Oy(this,h,k),0,f,!0,!!this.aa):128>c?ez(this,Oy(this,h,k),e+1,c&64?g:f,!(c&1),!!this.aa):gz(this,Oy(this,h,k),!(c&1),!!this.aa),this.aa&&(b.D=b.D&-256|1)}return!this.aa};l.ql=function(){var a=this.G;5==(a.D&255)&&(a.I=a.K=0,a.D=a.D&-256|1);return!1};
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ta=this.ma[b]=c,c.onkeydown=function(a){if(13==a.keyCode){var b=c.value;c.value="";Sy(d,b,!0)}else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.C.length-1&&(b=d.C[++d.A])):40==a.keyCode&&(0<d.A?b=d.C[--d.A]:(b="",d.A=-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.ma[b]=c,ab(c,function(){if(d.ta){var a=d.ta.value;
|
||||
d.ta.value="";Sy(d,a,!0);return!0}return!1}),!0;case "step":return this.ma[b]=c,ab(c,function(a){var b=!1;Qb(d,!0)||(Rb(d,!0),b=mz(d,a?1:0),Rb(d,!1));return b}),!0}return!1};l.cd=function(){this.ta&&this.ta.focus()};function nz(a){return!(!(a.G&&a.G.ra&1)||a.G.P&131072)}
|
||||
function Xy(a,b,c){var d=nz(a)?Yy:oz;c||(c=d);if(c==d){if(b===a.G.ba.T)return a.G.ba;if(b===a.G.Fa.T)return a.G.Fa;if(b===a.G.pa.T)return a.G.pa;if(b===a.G.U.T)return a.G.U;if(80386<=a.G.da){if(b===a.G.Ka.T)return a.G.Ka;if(b===a.G.La.T)return a.G.La}if(a.Ia&&c==Yy||!a.ab)return null}a=a.ab;if(c!=Yy)a.jh(b),a.Sa=65535,a.Nb=65536;else{c=a.Lb;b&=65535;if(b&4){d=c.Gb.ua;var e=d+c.Gb.Sa|0}else d=c.Kb,e=c.Jc;d=d+(b&65528)|0;if(e-d|0){e=Ag(c,d+0,2);var f=Ag(c,d+4,2),g=f&7936,h=Ag(c,d+2,2)|(f&255)<<16,k=
|
||||
Ag(c,d+6,2);80386<=c.da&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.T=b;a.ua=h;a.Sa=e;a.Nb=(e>>>0)+1;a.ob=f;a.type=g;a.ext=k;a.Ob=d;be(a,!0,!0,!1)}}return a}l.Vb=function(a,b,c){var d=a&&a.za;if(null==d&&(d=-1,a)){var e=Xy(this,a.T,a.type);e&&(b=a.Ja||0,c=c||1,d=e=-1===e.Ob||e.ed&&(b>>>0)+c>e.Nb||!e.ed&&(b>>>0)+c<=e.Nb?e.ua+b|0:-1,a.za=d)}return d};l.ya=function(a,b){var c=255,d=this.Vb(a,!1,1);-1!==d&&(c=Ag(this.G,d,1,a.type==pz)|0,b&&qz(this,a,b));return c};
|
||||
l.nb=function(a,b){return a.Jb?hz(this,a,b?4:0):this.Vc(a,b?2:0)};l.Vc=function(a,b){var c=65535,d=this.Vb(a,!1,2);-1!==d&&(c=Ag(this.G,d,2,a.type==pz)|0,b&&qz(this,a,b));return c};function hz(a,b,c){var d=-1,e=a.Vb(b,!1,4);-1!==e&&(d=Ag(a.G,e,4,b.type==pz)|0,c&&qz(a,b,c));return d}l.ub=function(a,b,c,d){var e=this.Vb(a,!0,1);if(-1!==e){if(a.type!=pz)this.G.ub(e,b);else{var f=this.oa;f.aa[(e&f.C)>>>f.A].af(e&f.D,b&255,e)}c&&qz(this,a,c);d||Fd(this.G,!0)}};
|
||||
l.al=function(a,b,c){var d=this.Vb(a,!0,2);-1!==d&&(a.type!=pz?this.G.ib(d,b):Mc(this.oa,d,b),c&&qz(this,a,c),Fd(this.G,!0))};function Oy(a,b,c,d,e,f,g){return rz(a,{},b,c,d,e,f,g)}function rz(a,b,c,d,e,f,g,h){b.Ja=c||0;b.T=d;b.za=e;b.type=f||(nz(a)?Yy:oz);b.Jb=null!=g?g:!(!a.G||4!=a.G.ba.X);b.ec=null!=h?h:!(!a.G||4!=a.G.ba.Lc);b.wd=!1;return b}function sz(a){return[a.Ja,a.T,a.za,a.wd,a.Jb,a.ec,a.De,a.Yg]}function tz(a){return{Ja:a[0],T:a[1],za:a[2],wd:a[3],Jb:a[4],ec:a[5],De:a[6],Yg:a[7]}}
|
||||
function uz(a,b,c){if(null!=b.T&&(a=Xy(a,b.T,b.type))){var d=b.Ja&a.xa;if(!a.ed){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ja=d,b.Jb=4==a.X,b.ec=4==a.Lc)}return!0}
|
||||
function vz(a,b,c,d){var e=c?a.N:a.Ca;c=d?wz:e.type;var f=e.Ja,g=e.T;e=e.za;if(void 0!==b){b=Ly(a,b);var h=b.charAt(0);e=b.indexOf(":");switch(h){case "&":c=oz;break;case "#":c=Yy;break;case "%":c=xz;h=b.charAt(1);"%"==h&&(c=pz,h+=h);f=0;g=null;break;default:0<=e&&(c=wz),h=""}h&&(b=b.substr(h.length),e-=h.length);h=b;if(h.match(/^[a-z_][a-z0-9_]*$/i))for(var k=h.toUpperCase(),m=0;m<a.F.length;m++){h=a.F[m];var p=h.Id[k];if(void 0!==p){k=p.o;if(void 0!==k){var v=p.s;void 0===v&&(v=h.T);v=Oy(a,k,v,
|
||||
p.p)}break}}if(h=v)return h;0>e?null!=g?(f=Jy(a,b,void 0),e=null):(e=Jy(a,b,void 0),null==e&&(f=null)):(g=Jy(a,b.substring(0,e),void 0),f=Jy(a,b.substring(e+1),void 0),e=null)}null!=f&&(h=Oy(a,f,g,e,c),d||uz(a,h,!0)||(a.O("invalid offset: "+lz(h)),h=null));return h}function yz(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.kl=a.yg(b.Sk=c[2]))}l.Jk=function(a,b){var c=vz(this,b);return a.replace("["+b+"]",c?q(this.nb(c),c.Jb?8:4):"undefined")};
|
||||
function qz(a,b,c){c=c||1;null!=b.za&&(b.za+=c);null!=b.T&&(b.Ja+=c,uz(a,b)||(b.Ja=0,b.za=null))}function az(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function lz(a){switch(a.type){case oz:case zz:var b="&";break;case Yy:b="#";break;case xz:b="%";break;case pz:b="%%";break;default:b=a.T?"":"%"}return a.type>=xz||null==a.T?b+q(a.za):b+az(a.Ja,a.T,a.ec)}
|
||||
function bz(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.ya(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
|
||||
function Wy(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Vb(vz(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.G.lb;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==ed&&(d=qd(a.G,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=wc[c],c==gd&&(d=d.td,h+=" -> "+wc[d.type]),d&&a.O(q(d.id,8)+" %"+q(f<<a.G.lb,8)+" %%"+q(d.za,8)+" "+wa(d.xe)+" "+wa(d.size)+
|
||||
" "+h),c!=dd&&c!=ed&&(c=-1),h=0),e+=a.G.Jg,f++}function Az(a,b,c){a=q(a)+" "+q(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-")+(b&4?"U":"S");a+=b&2?"W":"R";return a+=b&1?"P":"N"}function fz(a,b,c){var d=[],e;for(e=null;e=ac(a.na,"Disk",e);){var f=e,g=b,h=c;d={};if(f.C)for(var k=0;k<f.C.length;k++){var m=f.C[k];if(m.fi==g&&(m=m.fe[h])){for(var p in m.hf)f=m.hf[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
|
||||
function Ry(a,b){a.ca=a;a.dc=a.ol=1073741824;a.Aa=null;a.Ba=[];b=a.yg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Zb)0<=Ja(b,c)&&(a.dc|=Zb[c],a.O(c+" messages enabled"));Qy(a)}function Cl(a,b,c){for(var d in Zb)if(b==Zb[d]){a.Fa[d]=c;break}}l.bh=function(a,b){a=a.toUpperCase();if(null==b)var c=Ja(Bz,a);else c=Ja(Bz,a.substr(b,3)),0>c&&(c=Ja(Bz,a.substr(b,2)));return c};
|
||||
function Cz(a,b){var c=0,d=a.dh(b);if(null!=d)switch(b){case Dz:case Ez:case Fz:case Gz:case Hz:case Iz:case Jz:case Kz:c=2;break;case Lz:case Mz:case Nz:case Oz:case Pz:case Qz:case Rz:case Sz:case Tz:case Uz+Vz:case Uz+Wz:case Uz+Xz:case Uz+Yz:case Uz+Zz:case Uz+$z:c=4;break;case aA:case bA:case cA:case dA:case eA:case fA:case gA:case hA:case iA:case jA:case kA:case lA:case mA:c=8;break;case nA:c=a.ra}return c?q(d,c):"??"}
|
||||
l.dh=function(a){if(0<=a){var b=this.G;switch(a){case Dz:var c=b.D&255;break;case Ez:c=b.I&255;break;case Fz:c=b.L&255;break;case Gz:c=b.H&255;break;case Hz:c=b.D>>8&255;break;case Iz:c=b.I>>8&255;break;case Jz:c=b.L>>8&255;break;case Kz:c=b.H>>8&255;break;case Lz:c=b.D&65535;break;case Mz:c=b.I&65535;break;case Nz:c=b.L&65535;break;case Oz:c=b.H&65535;break;case Pz:c=y(b)&65535;break;case Qz:c=b.N&65535;break;case Rz:c=b.K&65535;break;case Sz:c=b.J&65535;break;case Tz:c=z(b)&65535;break;case nA:c=
|
||||
xe(b);break;case Uz+Vz:c=b.pa.T;break;case Uz+Wz:c=b.ba.T;break;case Uz+Xz:c=b.U.T;break;case Uz+Yz:c=b.Fa.T;break;default:if(80286==this.G.da)a==iA&&(c=b.ra);else if(80386<=this.G.da)switch(a){case aA:c=b.D;break;case bA:c=b.I;break;case cA:c=b.L;break;case dA:c=b.H;break;case eA:c=y(b);break;case fA:c=b.N;break;case gA:c=b.K;break;case hA:c=b.J;break;case iA:c=b.ra;break;case jA:c=b.Kg;break;case kA:c=b.pd;break;case lA:c=b.wc;break;case Uz+Zz:c=b.Ka.T;break;case Uz+$z:c=b.La.T;break;case mA:c=
|
||||
(b.J=a[0],ue(b,a[1]));break;case 72:kz(this,null,e);break;case 80:32==c?fz(this,Py(this,h,k),0,f,!0,!!this.aa):128>c?fz(this,Py(this,h,k),e+1,c&64?g:f,!(c&1),!!this.aa):hz(this,Py(this,h,k),!(c&1),!!this.aa),this.aa&&(b.D=b.D&-256|1)}return!this.aa};l.ql=function(){var a=this.G;5==(a.D&255)&&(a.I=a.K=0,a.D=a.D&-256|1);return!1};
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ta=this.ma[b]=c,c.onkeydown=function(a){if(13==a.keyCode){var b=c.value;c.value="";Ty(d,b,!0)}else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.C.length-1&&(b=d.C[++d.A])):40==a.keyCode&&(0<d.A?b=d.C[--d.A]:(b="",d.A=-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.ma[b]=c,ab(c,function(){if(d.ta){var a=d.ta.value;
|
||||
d.ta.value="";Ty(d,a,!0);return!0}return!1}),!0;case "step":return this.ma[b]=c,ab(c,function(a){var b=!1;Qb(d,!0)||(Rb(d,!0),b=nz(d,a?1:0),Rb(d,!1));return b}),!0}return!1};l.cd=function(){this.ta&&this.ta.focus()};function oz(a){return!(!(a.G&&a.G.ra&1)||a.G.P&131072)}
|
||||
function Yy(a,b,c){var d=oz(a)?Zy:pz;c||(c=d);if(c==d){if(b===a.G.ba.T)return a.G.ba;if(b===a.G.Fa.T)return a.G.Fa;if(b===a.G.pa.T)return a.G.pa;if(b===a.G.U.T)return a.G.U;if(80386<=a.G.da){if(b===a.G.Ka.T)return a.G.Ka;if(b===a.G.La.T)return a.G.La}if(a.Ia&&c==Zy||!a.ab)return null}a=a.ab;if(c!=Zy)a.jh(b),a.Sa=65535,a.Nb=65536;else{c=a.Lb;b&=65535;if(b&4){d=c.Gb.ua;var e=d+c.Gb.Sa|0}else d=c.Kb,e=c.Jc;d=d+(b&65528)|0;if(e-d|0){e=Ag(c,d+0,2);var f=Ag(c,d+4,2),g=f&7936,h=Ag(c,d+2,2)|(f&255)<<16,k=
|
||||
Ag(c,d+6,2);80386<=c.da&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.T=b;a.ua=h;a.Sa=e;a.Nb=(e>>>0)+1;a.ob=f;a.type=g;a.ext=k;a.Ob=d;be(a,!0,!0,!1)}}return a}l.Vb=function(a,b,c){var d=a&&a.za;if(null==d&&(d=-1,a)){var e=Yy(this,a.T,a.type);e&&(b=a.Ja||0,c=c||1,d=e=-1===e.Ob||e.ed&&(b>>>0)+c>e.Nb||!e.ed&&(b>>>0)+c<=e.Nb?e.ua+b|0:-1,a.za=d)}return d};l.ya=function(a,b){var c=255,d=this.Vb(a,!1,1);-1!==d&&(c=Ag(this.G,d,1,a.type==qz)|0,b&&rz(this,a,b));return c};
|
||||
l.nb=function(a,b){return a.Jb?iz(this,a,b?4:0):this.Vc(a,b?2:0)};l.Vc=function(a,b){var c=65535,d=this.Vb(a,!1,2);-1!==d&&(c=Ag(this.G,d,2,a.type==qz)|0,b&&rz(this,a,b));return c};function iz(a,b,c){var d=-1,e=a.Vb(b,!1,4);-1!==e&&(d=Ag(a.G,e,4,b.type==qz)|0,c&&rz(a,b,c));return d}l.ub=function(a,b,c,d){var e=this.Vb(a,!0,1);if(-1!==e){if(a.type!=qz)this.G.ub(e,b);else{var f=this.oa;f.aa[(e&f.C)>>>f.A].af(e&f.D,b&255,e)}c&&rz(this,a,c);d||Fd(this.G,!0)}};
|
||||
l.al=function(a,b,c){var d=this.Vb(a,!0,2);-1!==d&&(a.type!=qz?this.G.ib(d,b):Mc(this.oa,d,b),c&&rz(this,a,c),Fd(this.G,!0))};function Py(a,b,c,d,e,f,g){return sz(a,{},b,c,d,e,f,g)}function sz(a,b,c,d,e,f,g,h){b.Ja=c||0;b.T=d;b.za=e;b.type=f||(oz(a)?Zy:pz);b.Jb=null!=g?g:!(!a.G||4!=a.G.ba.X);b.ec=null!=h?h:!(!a.G||4!=a.G.ba.Lc);b.wd=!1;return b}function tz(a){return[a.Ja,a.T,a.za,a.wd,a.Jb,a.ec,a.De,a.Yg]}function uz(a){return{Ja:a[0],T:a[1],za:a[2],wd:a[3],Jb:a[4],ec:a[5],De:a[6],Yg:a[7]}}
|
||||
function vz(a,b,c){if(null!=b.T&&(a=Yy(a,b.T,b.type))){var d=b.Ja&a.xa;if(!a.ed){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ja=d,b.Jb=4==a.X,b.ec=4==a.Lc)}return!0}
|
||||
function wz(a,b,c,d){var e=c?a.N:a.Ca;c=d?xz:e.type;var f=e.Ja,g=e.T;e=e.za;if(void 0!==b){b=My(a,b);var h=b.charAt(0);e=b.indexOf(":");switch(h){case "&":c=pz;break;case "#":c=Zy;break;case "%":c=yz;h=b.charAt(1);"%"==h&&(c=qz,h+=h);f=0;g=null;break;default:0<=e&&(c=xz),h=""}h&&(b=b.substr(h.length),e-=h.length);h=b;if(h.match(/^[a-z_][a-z0-9_]*$/i))for(var k=h.toUpperCase(),m=0;m<a.F.length;m++){h=a.F[m];var p=h.Id[k];if(void 0!==p){k=p.o;if(void 0!==k){var v=p.s;void 0===v&&(v=h.T);v=Py(a,k,v,
|
||||
p.p)}break}}if(h=v)return h;0>e?null!=g?(f=Ky(a,b,void 0),e=null):(e=Ky(a,b,void 0),null==e&&(f=null)):(g=Ky(a,b.substring(0,e),void 0),f=Ky(a,b.substring(e+1),void 0),e=null)}null!=f&&(h=Py(a,f,g,e,c),d||vz(a,h,!0)||(a.O("invalid offset: "+mz(h)),h=null));return h}function zz(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.kl=a.yg(b.Sk=c[2]))}l.Jk=function(a,b){var c=wz(this,b);return a.replace("["+b+"]",c?q(this.nb(c),c.Jb?8:4):"undefined")};
|
||||
function rz(a,b,c){c=c||1;null!=b.za&&(b.za+=c);null!=b.T&&(b.Ja+=c,vz(a,b)||(b.Ja=0,b.za=null))}function bz(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function mz(a){switch(a.type){case pz:case Az:var b="&";break;case Zy:b="#";break;case yz:b="%";break;case qz:b="%%";break;default:b=a.T?"":"%"}return a.type>=yz||null==a.T?b+q(a.za):b+bz(a.Ja,a.T,a.ec)}
|
||||
function cz(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.ya(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
|
||||
function Xy(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Vb(wz(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.G.lb;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==ed&&(d=qd(a.G,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=wc[c],c==gd&&(d=d.td,h+=" -> "+wc[d.type]),d&&a.O(q(d.id,8)+" %"+q(f<<a.G.lb,8)+" %%"+q(d.za,8)+" "+wa(d.xe)+" "+wa(d.size)+
|
||||
" "+h),c!=dd&&c!=ed&&(c=-1),h=0),e+=a.G.Jg,f++}function Bz(a,b,c){a=q(a)+" "+q(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-")+(b&4?"U":"S");a+=b&2?"W":"R";return a+=b&1?"P":"N"}function gz(a,b,c){var d=[],e;for(e=null;e=ac(a.na,"Disk",e);){var f=e,g=b,h=c;d={};if(f.C)for(var k=0;k<f.C.length;k++){var m=f.C[k];if(m.fi==g&&(m=m.fe[h])){for(var p in m.hf)f=m.hf[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
|
||||
function Sy(a,b){a.ca=a;a.dc=a.ol=1073741824;a.Aa=null;a.Ba=[];b=a.yg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Zb)0<=Ja(b,c)&&(a.dc|=Zb[c],a.O(c+" messages enabled"));Ry(a)}function Cl(a,b,c){for(var d in Zb)if(b==Zb[d]){a.Fa[d]=c;break}}l.bh=function(a,b){a=a.toUpperCase();if(null==b)var c=Ja(Cz,a);else c=Ja(Cz,a.substr(b,3)),0>c&&(c=Ja(Cz,a.substr(b,2)));return c};
|
||||
function Dz(a,b){var c=0,d=a.dh(b);if(null!=d)switch(b){case Ez:case Fz:case Gz:case Hz:case Iz:case Jz:case Kz:case Lz:c=2;break;case Mz:case Nz:case Oz:case Pz:case Qz:case Rz:case Sz:case Tz:case Uz:case Vz+Wz:case Vz+Xz:case Vz+Yz:case Vz+Zz:case Vz+$z:case Vz+aA:c=4;break;case bA:case cA:case dA:case eA:case fA:case gA:case hA:case iA:case jA:case kA:case lA:case mA:case nA:c=8;break;case oA:c=a.ra}return c?q(d,c):"??"}
|
||||
l.dh=function(a){if(0<=a){var b=this.G;switch(a){case Ez:var c=b.D&255;break;case Fz:c=b.I&255;break;case Gz:c=b.L&255;break;case Hz:c=b.H&255;break;case Iz:c=b.D>>8&255;break;case Jz:c=b.I>>8&255;break;case Kz:c=b.L>>8&255;break;case Lz:c=b.H>>8&255;break;case Mz:c=b.D&65535;break;case Nz:c=b.I&65535;break;case Oz:c=b.L&65535;break;case Pz:c=b.H&65535;break;case Qz:c=y(b)&65535;break;case Rz:c=b.N&65535;break;case Sz:c=b.K&65535;break;case Tz:c=b.J&65535;break;case Uz:c=z(b)&65535;break;case oA:c=
|
||||
xe(b);break;case Vz+Wz:c=b.pa.T;break;case Vz+Xz:c=b.ba.T;break;case Vz+Yz:c=b.U.T;break;case Vz+Zz:c=b.Fa.T;break;default:if(80286==this.G.da)a==jA&&(c=b.ra);else if(80386<=this.G.da)switch(a){case bA:c=b.D;break;case cA:c=b.I;break;case dA:c=b.L;break;case eA:c=b.H;break;case fA:c=y(b);break;case gA:c=b.N;break;case hA:c=b.K;break;case iA:c=b.J;break;case jA:c=b.ra;break;case kA:c=b.Kg;break;case lA:c=b.pd;break;case mA:c=b.wc;break;case Vz+$z:c=b.Ka.T;break;case Vz+aA:c=b.La.T;break;case nA:c=
|
||||
z(b)}}}return c};
|
||||
function oA(a,b){b=Ly(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.bh(b,c+1),0<=e&&(b=b.substr(0,c)+Cz(a,e)+b.substr(c+1+Bz[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=qa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=vz(a,e))?(d=e+' "'+bz(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=vz(a,e))?(qz(a,d),
|
||||
d=e+' "'+bz(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+lz(Oy(this,z(this.G),this.G.ba.T))+" (%"+q(this.G.ea)+")");this.dc&536870912?this.Ba.push(a):this.Aa&&a==this.Aa||(this.Aa=a,this.dc&-2147483648&&(rk(this),a+=" (cpu halted)"),this.O(a),this.G&&(a=this.G,a.Z.Of=!0,Fd(a)))};
|
||||
function al(a,b,c,d){var e;d||(d=r(a,1)&&0>pA.indexOf(b),d||(e=qA[b])&&(d=r(a,e)?!0:524288==e&&r(a,e=1048576)));if(d){var f=a.G.D>>8&255;var g=a.G.L&255;if(33==b&&11==f||524288==e&&128<=g||1048576==e&&128>g)d=!1}d&&((e=(e=Yb[b])&&e[f]||"")&&(e=" "+oA(a,e)),a.message("INT "+va(b)+": AH="+va(f)+" at "+az(c-2-a.G.ba.ua,a.G.ba.T)+e));return d}
|
||||
function Ub(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.dc&h)==h)h=null,null!=e&&(h=a.G.ba.T,e-=a.G.ba.ua),a.message(b.ye+"."+(null!=d?"outPort":"inPort")+"("+wa(c)+","+(f?f:"unknown")+(null!=d?","+va(d):"")+")"+(null!=g?": "+va(g):"")+(null!=e?" at "+az(e,h):""))}l.eh=function(){this.O("Type ? for help with PCx86 Debugger commands");rA(this);if(this.Ka){var a=this.Ka;this.Ka=null;Sy(this,a)}};
|
||||
function Qy(a,b){var c;if(Og(a)){if(!a.U||!a.U.length){a.U=Array(sA);for(c=0;c<a.U.length;c++)a.U[c]=Oy(a);a.qa=0;b||a.O("instruction history buffer allocated")}if(!a.M||!a.M.length)for(a.M=Array(256),c=0;c<a.M.length;c++)a.M[c]=[c,0]}else a.U&&a.U.length&&!b&&a.O("instruction history buffer freed"),a.qa=0,a.U=[],a.M=[]}
|
||||
function mz(a,b,c,d){if(!tA(a))return!1;a.P=0;do{b||Og(a)&&Rg(a,a.G.ea,0);try{var e=a.G.Hg(b);0<e&&(a.P+=e,Nd(a.G,e,!0),Id(a.G,e),a.ba++)}catch(g){if("number"!=typeof g){var f=g;a.P=0;Mb(a.G,f.stack||f.message)}}}while(a.G.M&3312);!1!==d&&Fd(a.G);rA(a,c||!1);return 0<a.P}function rk(a,b){return a.G&&Gd(a.G,b)||!1}function rA(a,b){void 0===b&&(b=!0);a.N=Oy(a,z(a.G),a.G.ba.T);b&&1!=a.K?uA(a):vA(a)}
|
||||
function tA(a,b){var c;(c=!a.G||!Ob(a.G))||(c=a.G,c.Z.ac?c=!0:(c.O(c.toString()+" not powered"),c=!1),c=!c);return c||a.G.Z.Xa?(b||a.O("cpu busy or unavailable, command ignored"),!1):!Nb(a.G)}l.$b=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Zb=function(a,b){b&&this.O(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Qy(this);this.ba=this.ka=0;this.Aa=null;this.P=0;this.N=Oy(this,z(this.G),this.G.ba.T);wA(this);a||this.Z.Xa||rA(this)};
|
||||
l.save=function(){var a=new ag(this);a.set(0,sz(this.N));a.set(1,sz(this.Ca));a.set(2,sz(this.ea));a.set(3,[this.C,this.fa,this.dc]);a.set(4,this.F);a.set(5,[this.B,this.V,this.L]);return a.data()};
|
||||
l.restore=function(a){var b=0;a[b]&&(this.N=tz(a[b++]));a[5]&&(this.Ca=tz(a[b++]));a[b]&&(this.ea=tz(a[b++]));a[b]&&(this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.fa=a[b][1],this.dc|=a[b][2],b++);a[b]&&(this.F=a[b++]);a[b]&&(xA(this,this.B,a[b][0]),xA(this,this.V,a[b][1]),xA(this,this.L,a[b][2]));return!0};l.start=function(a,b){this.K||this.O("running");this.Z.Xa=!0;this.lb=a;this.hd=b};
|
||||
l.stop=function(a,b){if(this.Z.Xa){this.Z.Xa=!1;this.P=b-this.hd;if(!this.K){b="stopped";if(this.P){a-=this.lb;var c=0<a?Math.round(1E3*this.P/a):0;b+=" (";Og(this)&&(b+=this.ba+" opcodes, ",this.ka-=this.ba,this.ba=0);b+=this.P+" cycles, "+a+" ms, "+c+" hz)"}else r(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.O(b)}rA(this,!0);this.cd();wA(this,this.G.ea)}};function Og(a){return 1<a.B.length||!!a.wa||r(a,16)}
|
||||
function Rg(a,b,c){var d=a.G;if(0<c&&(a.wa&&!--a.wa||yA(a,b,1,a.B)))return!0;0<=c&&a.M.length&&(a.ba++,b=Ag(d,b),null!=b&&(a.M[b][1]++,b=a.U[a.qa],rz(a,b,z(d),d.ba.T),b.dj=Jd(d),++a.qa==a.U.length&&(a.qa=0)));return!1}function nd(a,b,c){return yA(a,b,c||1,a.V)?(rk(a,!0),!0):!1}function pd(a,b,c){return yA(a,b,c||1,a.L)?(rk(a,!0),!0):!1}function Sc(a,b,c){a.O("break on input from port "+wa(b)+": "+q(c));rk(a,!0)}function Wc(a,b,c){a.O("break on output to port "+wa(b)+": "+q(c));rk(a,!0)}
|
||||
function Py(a){var b;a.B=["bp"];if(a.V)for(b=1;b<a.V.length;b++){var c=a.V[b];pf(a.G,a.Vb(c),!1,c.type==pz)}a.V=["br"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],pf(a.G,a.Vb(c),!0,c.type==pz);a.L=["bw"];a.Ia=0}
|
||||
l.rd=function(a,b,c,d){var e=!0;c||kz(this,a,b,!1,!0);if(a!=this.B){var f=this.Vb(b);if(-1===f)this.O("invalid address: "+lz(b)),e=!1;else{var g=this.G,h=b.type==pz;(h?g.sc:g.aa)[f>>>g.lb].rd(f&g.Fb,a==this.L);h&&uc(g)}}e&&(a.push(b),c?(null!=b.za&&(b.T=null),b.wd=!0):(d||zA(this,a,a.length-1,"set"),Qy(this)));return e};
|
||||
function kz(a,b,c,d,e){for(var f=!1,g=AA(a,a.Vb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==AA(a,a.Vb(k))||-1===g&&c.T==k.T&&c.Ja==k.Ja)if(!d||k.wd){f=!0;k.wd||e||zA(a,b,h,"cleared");b.splice(h,1);b!=a.B&&pf(a.G,g,b==a.L,k.type==pz);k.wd||Qy(a);break}}return f}function BA(a,b){for(var c=1;c<b.length;c++)zA(a,b,c);return b.length-1}function zA(a,b,c,d){c=b[c];a.O(b[0]+" "+lz(c)+(d?" "+d:c.Sk?' "'+c.Sk+'"':""))}
|
||||
function xA(a,b,c){if(c[0]==b[0])for(var d=1;d<c.length;d++){var e=c[d];a.rd(b,e,e.wd,!0)}}function wA(a,b){if(void 0!==b)yA(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.wd){if(!kz(a,a.B,c,!0))break;b=0}}}function AA(a,b){-1!==b&&(a=a.xa&-65536,(b&a)==a&&(b&=1048575));return b}
|
||||
function yA(a,b,c,d,e){var f=!1;if(!a.Ia++){b=AA(a,b);r(a,-2147483632)&&204==Ag(a.G,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.wd){null!=h.T&&(h.za=null);for(var k=AA(a,a.Vb(h)),m=0;m<c;m++)if(b+m==k){var p;f=!0;h.wd&&(kz(a,d,h,!0),e=!0);if(p=h.kl){f=!1;for(var v=0;v<p.length;v++)if(!CA(a,p[v],!0)){if(p[v].indexOf("if")){f=!0;break}for(var u=v+1;u<p.length&&p[u].indexOf("else");u++)v++;if(u==p.length){f=!0;break}}a.G.Z.Xa||(f=!0)}if(f){e||zA(a,d,g,"hit");break}}}}}a.Ia--;return f}
|
||||
function DA(a,b,c,d){for(var e=Oy(a,b.Ja,b.T,b.za,b.type),f=a.ya(b,1),g=4,h=0,k=!1,m=!1;(102==f||103==f)&&g--;)102==f?k||(b.Jb=!b.Jb,k=!0):m||(b.ec=!b.ec,m=!0),h++,f=a.ya(b,1);g=-1;var p=EA;k=a.pa[f];m=k[0];m==FA&&(m=a.ya(b,1),k=GA[m]||Uy,f|=m<<8,m=k[0]);if(m==HA){g=a.ya(b,1);var v=null;var u=g>>3&7,A=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=A&&(A=u<<4|g&7);(u=IA[f])&&(v=u[A]);v&&(p=JA,k=v,m=k[0])}m>=p.length&&(g=a.ya(b,1),k=KA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Jb&&(m==LA?p=
|
||||
"CWDE":m==MA?p="CDQ":m>=NA&&m<=OA&&(p+="D"));if(164<=f&&167>=f||170<=f&&175>=f)u=0,b.Jb&&"W"==p.slice(-1)&&(p=p.slice(0,-1)+"D");f=-1;A=!0;for(var J=1;J<=u;J++){var H="";var G=k[J];if(void 0!==G){0>f&&(f=G>>PA);m==QA&&(f==RA?v="[%800]":f==SA&&(v="ES:["+(b.ec?"E":"")+"DI]"));var P=G&TA;if(P!=UA)if(P==VA)A=!1;else{var I=G&WA;if(I>=R)if(0>g&&(g=a.ya(b,1)),I<XA){I=a;H=G;var oa=u;G=b;var Z="",hb=g>>6,ra=g&7;if(3>hb){P=0==p.indexOf("FI");if(!hb&&(!G.ec&&6==ra||G.ec&&5==ra))hb=2;else{if(G.ec)if(4!=ra)ra+=
|
||||
8;else{Z=I;var ib=hb,Sb=G,Jb=Z.ya(Sb,1),cc=Jb>>6,vc=Jb>>3&7;Jb&=7;var jb="";if(ib||5!=Jb)jb=YA[Jb+8];4!=vc&&(jb&&(jb+="+"),jb+=YA[vc+8],cc&&(jb+="*"+(1<<cc)));ib||5!=Jb||(jb&&(jb+="+"),jb+=q(hz(Z,Sb,4)));Z=jb}Z||(Z=YA[ra])}1==hb?(I=I.ya(G,1),Z=I&128?Z+("-"+q(-(I<<24>>24),2)):Z+("+"+q(I,2))):2==hb&&(Z&&(Z+="+"),G.ec?(I=hz(I,G,4),Z+=q(I)):(I=I.Vc(G,2),Z+=q(I,4)));Z="["+Z+"]";if(1==oa){I="";H&=TA;H==S&&(H=G.Jb?ZA:T);switch(H){case $A:I="FAR";break;case U:I="BYTE";break;case T:if(P){I="INT16";break}I=
|
||||
"WORD";break;case ZA:I="DWORD";break;case aB:if(P){I="INT32";break}case bB:I="REAL32";break;case cB:if(P){I="INT64";break}case dB:I="REAL64";break;case eB:I="REAL80";break;case fB:I="BCD80"}I&&(Z=I+" "+Z)}}else Z=gB(I,ra,H,G);H=Z}else H=I==XA?gB(a,g&7,G,b):gB(a,g>>3&7,G,b);else if(I==hB)H="1";else if(I==V){H=a;P=G;I=b;G=" ";switch(P&TA){case U:P&W&&(G=q(H.ya(I,1),2));break;case iB:G=q(H.ya(I,1)<<24>>24,I.Jb?8:4);break;case S:if(I.Jb){G=q(hz(H,I,4));break}case T:G=q(H.Vc(I,2),4);break;case $A:I=Oy(H,
|
||||
H.nb(I,!0),H.Vc(I,2),null,I.type,I.Jb,I.ec);G=lz(I);H=jB(H,I);H[0]&&(G+=" ("+H[0]+")");break;default:G="imm("+wa(P)+")"}H=G}else I==kB?(b.ec?(H=8,G=hz(a,b,4)):(H=4,G=a.Vc(b,2)),H="["+q(G,H)+"]"):I==lB?(H=P==U?a.ya(b,1)<<24>>24:a.nb(b,!0),G=b.Ja+H&(b.Jb?-1:65535),H=q(G,b.Jb?8:4),G=jB(a,Oy(a,G,b.T)),G[0]&&(H+=" ("+G[0]+")")):I==X?H=P==mB?"ST":P==nB?"ST("+(g&7)+")":gB(a,(G&oB)>>8,G,b):I==pB?H=gB(a,(G&oB)>>8,qB,b):I==rB?H="DS:[SI]":I==sB&&(H="ES:[DI]");if(!H||!H.length){v="INVALID";break}0<v.length&&
|
||||
(v+=",");v+=H||"???"}}}g="";k=lz(e)+" ";if(-1!==e.za&&-1!==b.za){do if(g+=q(a.ya(e,1),2),null==e.za)break;while(e.za!=b.za)}k+=Ca(g,e.ec?25:17);k+=Ca(p,8);v&&(k+=" "+v);a.G.da<tB[f]&&(c=tB[f]+" CPU only");c&&A&&(k=Ca(k,e.ec?74:62)+";"+c,k=a.G.Z.He?k+("cycles="+Jd(a.G).toString()+" cs="+q(a.G.Y.tf)):k+(null!=d?"="+d.toString():""));uB(b,A,h);return k}
|
||||
function gB(a,b,c,d){var e=c&WA;if(e==qB){if(b>$z||b>=Zz&&80386>a.G.da)return"??";b+=Uz}else if(e==vB)b+=iA;else if(e==wB)b+=xB;else if(e==yB)b+=zB;else if(a=c&TA,a>=T&&(b<Lz&&(b+=Lz-Dz),a==ZA||a==S&&d.Jb))b+=aA-Lz;return Bz[b]}
|
||||
function AB(a,b){switch(b){case "V":a=mg(a.G);break;case "D":a=a.G.P&1024;break;case "I":a=a.G.P&512;break;case "T":a=a.G.P&256;break;case "S":a=lg(a.G);break;case "Z":a=kg(a.G);break;case "A":a=jg(a.G);break;case "P":a=ig(a.G);break;case "C":a=hg(a.G);break;default:a=0}return b+(a?"1":"0")+" "}function $y(a){return q(a,a&-65536?8:4)}function BB(a,b){b>=Lz&&b<=Sz&&4<a.ra&&(b+=aA-Lz);var c=Bz[b];b==iA&&80286==a.G.da&&(c="MS");return c+"="+Cz(a,b)+" "}
|
||||
function CB(a,b,c){return b.hc+"="+q(b.T,4)+(c?"["+q(b.ua,a.la)+","+$y(b.Sa)+"]":"")}function DB(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.la)+","+q(e-d,4)+"]"}
|
||||
function EB(a,b){void 0===b&&(b=nz(a));var c=BB(a,Lz)+BB(a,Oz)+BB(a,Mz)+BB(a,Nz)+(4<a.ra?"\n":"")+BB(a,Pz)+BB(a,Qz)+BB(a,Rz)+BB(a,Sz)+"\n"+CB(a,a.G.U,b)+" "+CB(a,a.G.Fa,b)+" "+CB(a,a.G.pa,b)+" ";if(b){var d="TR="+q(a.G.ka.T,4),e=a.oa;e="A20="+(e.J||e.N!=e.C?"OFF ":"ON ");80386>a.G.da&&(d="\n"+d,c+=e,e="");c+="\n"+CB(a,a.G.ba,b)+" ";80386<=a.G.da&&(e+="\n",c+=CB(a,a.G.Ka,b)+" "+CB(a,a.G.La,b)+"\n");c+=DB(a,"LD",a.G.Gb.T,a.G.Gb.ua,a.G.Gb.ua+a.G.Gb.Sa)+" "+DB(a,"GD",null,a.G.Kb,a.G.Jc)+" "+DB(a,"ID",
|
||||
null,a.G.Qb,a.G.$c)+" ";c=c+(d+" "+e)+BB(a,iA);80386<=a.G.da&&(c+=BB(a,kA)+BB(a,lA))}else 80386<=a.G.da&&(c+=CB(a,a.G.Ka,b)+" "+CB(a,a.G.La,b)+" ");return c+=BB(a,nA)+AB(a,"V")+AB(a,"D")+AB(a,"I")+AB(a,"T")+AB(a,"S")+AB(a,"Z")+AB(a,"A")+AB(a,"P")+AB(a,"C")}l.bj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function pA(a,b){b=My(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.bh(b,c+1),0<=e&&(b=b.substr(0,c)+Dz(a,e)+b.substr(c+1+Cz[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=qa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=wz(a,e))?(d=e+' "'+cz(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=wz(a,e))?(rz(a,d),
|
||||
d=e+' "'+cz(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+mz(Py(this,z(this.G),this.G.ba.T))+" (%"+q(this.G.ea)+")");this.dc&536870912?this.Ba.push(a):this.Aa&&a==this.Aa||(this.Aa=a,this.dc&-2147483648&&(rk(this),a+=" (cpu halted)"),this.O(a),this.G&&(a=this.G,a.Z.Of=!0,Fd(a)))};
|
||||
function al(a,b,c,d){var e;d||(d=r(a,1)&&0>qA.indexOf(b),d||(e=rA[b])&&(d=r(a,e)?!0:524288==e&&r(a,e=1048576)));if(d){var f=a.G.D>>8&255;var g=a.G.L&255;if(33==b&&11==f||524288==e&&128<=g||1048576==e&&128>g)d=!1}d&&((e=(e=Yb[b])&&e[f]||"")&&(e=" "+pA(a,e)),a.message("INT "+va(b)+": AH="+va(f)+" at "+bz(c-2-a.G.ba.ua,a.G.ba.T)+e));return d}
|
||||
function Ub(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.dc&h)==h)h=null,null!=e&&(h=a.G.ba.T,e-=a.G.ba.ua),a.message(b.ye+"."+(null!=d?"outPort":"inPort")+"("+wa(c)+","+(f?f:"unknown")+(null!=d?","+va(d):"")+")"+(null!=g?": "+va(g):"")+(null!=e?" at "+bz(e,h):""))}l.eh=function(){this.O("Type ? for help with PCx86 Debugger commands");sA(this);if(this.Ka){var a=this.Ka;this.Ka=null;Ty(this,a)}};
|
||||
function Ry(a,b){var c;if(Og(a)){if(!a.U||!a.U.length){a.U=Array(tA);for(c=0;c<a.U.length;c++)a.U[c]=Py(a);a.qa=0;b||a.O("instruction history buffer allocated")}if(!a.M||!a.M.length)for(a.M=Array(256),c=0;c<a.M.length;c++)a.M[c]=[c,0]}else a.U&&a.U.length&&!b&&a.O("instruction history buffer freed"),a.qa=0,a.U=[],a.M=[]}
|
||||
function nz(a,b,c,d){if(!uA(a))return!1;a.P=0;do{b||Og(a)&&Rg(a,a.G.ea,0);try{var e=a.G.Hg(b);0<e&&(a.P+=e,Nd(a.G,e,!0),Id(a.G,e),a.ba++)}catch(g){if("number"!=typeof g){var f=g;a.P=0;Mb(a.G,f.stack||f.message)}}}while(a.G.M&3312);!1!==d&&Fd(a.G);sA(a,c||!1);return 0<a.P}function rk(a,b){return a.G&&Gd(a.G,b)||!1}function sA(a,b){void 0===b&&(b=!0);a.N=Py(a,z(a.G),a.G.ba.T);b&&1!=a.K?vA(a):wA(a)}
|
||||
function uA(a,b){var c;(c=!a.G||!Ob(a.G))||(c=a.G,c.Z.ac?c=!0:(c.O(c.toString()+" not powered"),c=!1),c=!c);return c||a.G.Z.Xa?(b||a.O("cpu busy or unavailable, command ignored"),!1):!Nb(a.G)}l.$b=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Zb=function(a,b){b&&this.O(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ry(this);this.ba=this.ka=0;this.Aa=null;this.P=0;this.N=Py(this,z(this.G),this.G.ba.T);xA(this);a||this.Z.Xa||sA(this)};
|
||||
l.save=function(){var a=new ag(this);a.set(0,tz(this.N));a.set(1,tz(this.Ca));a.set(2,tz(this.ea));a.set(3,[this.C,this.fa,this.dc]);a.set(4,this.F);a.set(5,[this.B,this.V,this.L]);return a.data()};
|
||||
l.restore=function(a){var b=0;a[b]&&(this.N=uz(a[b++]));a[5]&&(this.Ca=uz(a[b++]));a[b]&&(this.ea=uz(a[b++]));a[b]&&(this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.fa=a[b][1],this.dc|=a[b][2],b++);a[b]&&(this.F=a[b++]);a[b]&&(yA(this,this.B,a[b][0]),yA(this,this.V,a[b][1]),yA(this,this.L,a[b][2]));return!0};l.start=function(a,b){this.K||this.O("running");this.Z.Xa=!0;this.lb=a;this.hd=b};
|
||||
l.stop=function(a,b){if(this.Z.Xa){this.Z.Xa=!1;this.P=b-this.hd;if(!this.K){b="stopped";if(this.P){a-=this.lb;var c=0<a?Math.round(1E3*this.P/a):0;b+=" (";Og(this)&&(b+=this.ba+" opcodes, ",this.ka-=this.ba,this.ba=0);b+=this.P+" cycles, "+a+" ms, "+c+" hz)"}else r(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.O(b)}sA(this,!0);this.cd();xA(this,this.G.ea)}};function Og(a){return 1<a.B.length||!!a.wa||r(a,16)}
|
||||
function Rg(a,b,c){var d=a.G;if(0<c&&(a.wa&&!--a.wa||zA(a,b,1,a.B)))return!0;0<=c&&a.M.length&&(a.ba++,b=Ag(d,b),null!=b&&(a.M[b][1]++,b=a.U[a.qa],sz(a,b,z(d),d.ba.T),b.dj=Jd(d),++a.qa==a.U.length&&(a.qa=0)));return!1}function nd(a,b,c){return zA(a,b,c||1,a.V)?(rk(a,!0),!0):!1}function pd(a,b,c){return zA(a,b,c||1,a.L)?(rk(a,!0),!0):!1}function Sc(a,b,c){a.O("break on input from port "+wa(b)+": "+q(c));rk(a,!0)}function Wc(a,b,c){a.O("break on output to port "+wa(b)+": "+q(c));rk(a,!0)}
|
||||
function Qy(a){var b;a.B=["bp"];if(a.V)for(b=1;b<a.V.length;b++){var c=a.V[b];pf(a.G,a.Vb(c),!1,c.type==qz)}a.V=["br"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],pf(a.G,a.Vb(c),!0,c.type==qz);a.L=["bw"];a.Ia=0}
|
||||
l.rd=function(a,b,c,d){var e=!0;c||lz(this,a,b,!1,!0);if(a!=this.B){var f=this.Vb(b);if(-1===f)this.O("invalid address: "+mz(b)),e=!1;else{var g=this.G,h=b.type==qz;(h?g.sc:g.aa)[f>>>g.lb].rd(f&g.Fb,a==this.L);h&&uc(g)}}e&&(a.push(b),c?(null!=b.za&&(b.T=null),b.wd=!0):(d||AA(this,a,a.length-1,"set"),Ry(this)));return e};
|
||||
function lz(a,b,c,d,e){for(var f=!1,g=BA(a,a.Vb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==BA(a,a.Vb(k))||-1===g&&c.T==k.T&&c.Ja==k.Ja)if(!d||k.wd){f=!0;k.wd||e||AA(a,b,h,"cleared");b.splice(h,1);b!=a.B&&pf(a.G,g,b==a.L,k.type==qz);k.wd||Ry(a);break}}return f}function CA(a,b){for(var c=1;c<b.length;c++)AA(a,b,c);return b.length-1}function AA(a,b,c,d){c=b[c];a.O(b[0]+" "+mz(c)+(d?" "+d:c.Sk?' "'+c.Sk+'"':""))}
|
||||
function yA(a,b,c){if(c[0]==b[0])for(var d=1;d<c.length;d++){var e=c[d];a.rd(b,e,e.wd,!0)}}function xA(a,b){if(void 0!==b)zA(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.wd){if(!lz(a,a.B,c,!0))break;b=0}}}function BA(a,b){-1!==b&&(a=a.xa&-65536,(b&a)==a&&(b&=1048575));return b}
|
||||
function zA(a,b,c,d,e){var f=!1;if(!a.Ia++){b=BA(a,b);r(a,-2147483632)&&204==Ag(a.G,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.wd){null!=h.T&&(h.za=null);for(var k=BA(a,a.Vb(h)),m=0;m<c;m++)if(b+m==k){var p;f=!0;h.wd&&(lz(a,d,h,!0),e=!0);if(p=h.kl){f=!1;for(var v=0;v<p.length;v++)if(!DA(a,p[v],!0)){if(p[v].indexOf("if")){f=!0;break}for(var u=v+1;u<p.length&&p[u].indexOf("else");u++)v++;if(u==p.length){f=!0;break}}a.G.Z.Xa||(f=!0)}if(f){e||AA(a,d,g,"hit");break}}}}}a.Ia--;return f}
|
||||
function EA(a,b,c,d){for(var e=Py(a,b.Ja,b.T,b.za,b.type),f=a.ya(b,1),g=4,h=0,k=!1,m=!1;(102==f||103==f)&&g--;)102==f?k||(b.Jb=!b.Jb,k=!0):m||(b.ec=!b.ec,m=!0),h++,f=a.ya(b,1);g=-1;var p=FA;k=a.pa[f];m=k[0];m==GA&&(m=a.ya(b,1),k=HA[m]||Vy,f|=m<<8,m=k[0]);if(m==IA){g=a.ya(b,1);var v=null;var u=g>>3&7,A=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=A&&(A=u<<4|g&7);(u=JA[f])&&(v=u[A]);v&&(p=KA,k=v,m=k[0])}m>=p.length&&(g=a.ya(b,1),k=LA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Jb&&(m==MA?p=
|
||||
"CWDE":m==NA?p="CDQ":m>=OA&&m<=PA&&(p+="D"));if(164<=f&&167>=f||170<=f&&175>=f)u=0,b.Jb&&"W"==p.slice(-1)&&(p=p.slice(0,-1)+"D");f=-1;A=!0;for(var J=1;J<=u;J++){var H="";var G=k[J];if(void 0!==G){0>f&&(f=G>>QA);m==RA&&(f==SA?v="[%800]":f==TA&&(v="ES:["+(b.ec?"E":"")+"DI]"));var P=G&UA;if(P!=VA)if(P==WA)A=!1;else{var I=G&XA;if(I>=R)if(0>g&&(g=a.ya(b,1)),I<YA){I=a;H=G;var oa=u;G=b;var Z="",hb=g>>6,ra=g&7;if(3>hb){P=0==p.indexOf("FI");if(!hb&&(!G.ec&&6==ra||G.ec&&5==ra))hb=2;else{if(G.ec)if(4!=ra)ra+=
|
||||
8;else{Z=I;var ib=hb,Sb=G,Jb=Z.ya(Sb,1),cc=Jb>>6,vc=Jb>>3&7;Jb&=7;var jb="";if(ib||5!=Jb)jb=ZA[Jb+8];4!=vc&&(jb&&(jb+="+"),jb+=ZA[vc+8],cc&&(jb+="*"+(1<<cc)));ib||5!=Jb||(jb&&(jb+="+"),jb+=q(iz(Z,Sb,4)));Z=jb}Z||(Z=ZA[ra])}1==hb?(I=I.ya(G,1),Z=I&128?Z+("-"+q(-(I<<24>>24),2)):Z+("+"+q(I,2))):2==hb&&(Z&&(Z+="+"),G.ec?(I=iz(I,G,4),Z+=q(I)):(I=I.Vc(G,2),Z+=q(I,4)));Z="["+Z+"]";if(1==oa){I="";H&=UA;H==S&&(H=G.Jb?$A:T);switch(H){case aB:I="FAR";break;case U:I="BYTE";break;case T:if(P){I="INT16";break}I=
|
||||
"WORD";break;case $A:I="DWORD";break;case bB:if(P){I="INT32";break}case cB:I="REAL32";break;case dB:if(P){I="INT64";break}case eB:I="REAL64";break;case fB:I="REAL80";break;case gB:I="BCD80"}I&&(Z=I+" "+Z)}}else Z=hB(I,ra,H,G);H=Z}else H=I==YA?hB(a,g&7,G,b):hB(a,g>>3&7,G,b);else if(I==iB)H="1";else if(I==V){H=a;P=G;I=b;G=" ";switch(P&UA){case U:P&W&&(G=q(H.ya(I,1),2));break;case jB:G=q(H.ya(I,1)<<24>>24,I.Jb?8:4);break;case S:if(I.Jb){G=q(iz(H,I,4));break}case T:G=q(H.Vc(I,2),4);break;case aB:I=Py(H,
|
||||
H.nb(I,!0),H.Vc(I,2),null,I.type,I.Jb,I.ec);G=mz(I);H=kB(H,I);H[0]&&(G+=" ("+H[0]+")");break;default:G="imm("+wa(P)+")"}H=G}else I==lB?(b.ec?(H=8,G=iz(a,b,4)):(H=4,G=a.Vc(b,2)),H="["+q(G,H)+"]"):I==mB?(H=P==U?a.ya(b,1)<<24>>24:a.nb(b,!0),G=b.Ja+H&(b.Jb?-1:65535),H=q(G,b.Jb?8:4),G=kB(a,Py(a,G,b.T)),G[0]&&(H+=" ("+G[0]+")")):I==X?H=P==nB?"ST":P==oB?"ST("+(g&7)+")":hB(a,(G&pB)>>8,G,b):I==qB?H=hB(a,(G&pB)>>8,rB,b):I==sB?H="DS:[SI]":I==tB&&(H="ES:[DI]");if(!H||!H.length){v="INVALID";break}0<v.length&&
|
||||
(v+=",");v+=H||"???"}}}g="";k=mz(e)+" ";if(-1!==e.za&&-1!==b.za){do if(g+=q(a.ya(e,1),2),null==e.za)break;while(e.za!=b.za)}k+=Ca(g,e.ec?25:17);k+=Ca(p,8);v&&(k+=" "+v);a.G.da<uB[f]&&(c=uB[f]+" CPU only");c&&A&&(k=Ca(k,e.ec?74:62)+";"+c,k=a.G.Z.He?k+("cycles="+Jd(a.G).toString()+" cs="+q(a.G.Y.tf)):k+(null!=d?"="+d.toString():""));vB(b,A,h);return k}
|
||||
function hB(a,b,c,d){var e=c&XA;if(e==rB){if(b>aA||b>=$z&&80386>a.G.da)return"??";b+=Vz}else if(e==wB)b+=jA;else if(e==xB)b+=yB;else if(e==zB)b+=AB;else if(a=c&UA,a>=T&&(b<Mz&&(b+=Mz-Ez),a==$A||a==S&&d.Jb))b+=bA-Mz;return Cz[b]}
|
||||
function BB(a,b){switch(b){case "V":a=mg(a.G);break;case "D":a=a.G.P&1024;break;case "I":a=a.G.P&512;break;case "T":a=a.G.P&256;break;case "S":a=lg(a.G);break;case "Z":a=kg(a.G);break;case "A":a=jg(a.G);break;case "P":a=ig(a.G);break;case "C":a=hg(a.G);break;default:a=0}return b+(a?"1":"0")+" "}function az(a){return q(a,a&-65536?8:4)}function CB(a,b){b>=Mz&&b<=Tz&&4<a.ra&&(b+=bA-Mz);var c=Cz[b];b==jA&&80286==a.G.da&&(c="MS");return c+"="+Dz(a,b)+" "}
|
||||
function DB(a,b,c){return b.hc+"="+q(b.T,4)+(c?"["+q(b.ua,a.la)+","+az(b.Sa)+"]":"")}function EB(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.la)+","+q(e-d,4)+"]"}
|
||||
function FB(a,b){void 0===b&&(b=oz(a));var c=CB(a,Mz)+CB(a,Pz)+CB(a,Nz)+CB(a,Oz)+(4<a.ra?"\n":"")+CB(a,Qz)+CB(a,Rz)+CB(a,Sz)+CB(a,Tz)+"\n"+DB(a,a.G.U,b)+" "+DB(a,a.G.Fa,b)+" "+DB(a,a.G.pa,b)+" ";if(b){var d="TR="+q(a.G.ka.T,4),e=a.oa;e="A20="+(e.J||e.N!=e.C?"OFF ":"ON ");80386>a.G.da&&(d="\n"+d,c+=e,e="");c+="\n"+DB(a,a.G.ba,b)+" ";80386<=a.G.da&&(e+="\n",c+=DB(a,a.G.Ka,b)+" "+DB(a,a.G.La,b)+"\n");c+=EB(a,"LD",a.G.Gb.T,a.G.Gb.ua,a.G.Gb.ua+a.G.Gb.Sa)+" "+EB(a,"GD",null,a.G.Kb,a.G.Jc)+" "+EB(a,"ID",
|
||||
null,a.G.Qb,a.G.$c)+" ";c=c+(d+" "+e)+CB(a,jA);80386<=a.G.da&&(c+=CB(a,lA)+CB(a,mA))}else 80386<=a.G.da&&(c+=DB(a,a.G.Ka,b)+" "+DB(a,a.G.La,b)+" ");return c+=CB(a,oA)+BB(a,"V")+BB(a,"D")+BB(a,"I")+BB(a,"T")+BB(a,"S")+BB(a,"Z")+BB(a,"A")+BB(a,"P")+BB(a,"C")}l.bj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function jq(a,b,c,d,e,f,g,h){var k={},m=[],p;for(p in h){var v=h[p];"number"==typeof v&&(h[p]=v={o:v});var u=v.o,A=v.s,J=v.a;if(void 0!==u){void 0!==A&&(k.Ja=u,k.T=A,k.za=null,a.Vb(k),(k.za&-65536)==(a.oa.N&-65536)&&(k.za&=1048575),v.p=k.za);A=m;u=[u>>>0,p];var H=Fa(A,u,a.bj);0>H&&A.splice(-(H+1),0,u)}J&&(v.a=J.replace(/''/g,'"'))}a.F.push({fi:b,kn:c,T:d,Ja:e,za:f,Zm:g,Id:h,Li:m})}
|
||||
function jz(a,b,c){for(var d=0;d<a.F.length;d++){var e=a.F[d];if(!b||e.fi==b)if(b&&c==e.kn||!b&&c==e.T){a.F.splice(d,1);break}}}function jB(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Vb(b)>>>0,g=0;g<a.F.length;g++){var h=a.F[g],k=h.T,m=h.Ja>>>0,p=h.za;null!=p&&(p>>>=0);var v=h.Zm;48==k&&(k=40);if(k==b.T&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Fa(h.Li,[e],a.bj);0<=b?FB(a,g,b,d):c&&(b=~b,FB(a,g,b-1,d),FB(a,g,b,d));break}}return d}
|
||||
function FB(a,b,c,d){var e={},f=a.F[b].Li,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Id[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function GB(a,b){if("?"==b)a.O("frequency commands:"),a.O("\tclear\tclear all frequency counts");else{var c=0;if(a.M)if("clear"==b){for(b=0;b<a.M.length;b++)a.M[b]=[b,0];a.O("frequency data cleared");c++}else if(void 0!==b)a.O("unknown frequency command: "+b),c++;else{var d=a.M.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],f=d[b][1];f&&(a.O((EA[a.pa[e][0]]+" ").substr(0,5)+" ("+va(e)+"): "+f+" times"),c++)}}c||a.O("no frequency data available")}}
|
||||
function HB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return My(a)||a.O("no variables"),!0;if(!c[2])return My(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=Jy(a,c[3]);return void 0!==b?(a.I[c[1]]={value:b,Uo:void 0},!0):!1}a.O("invalid assignment:"+b);return!1}
|
||||
function IB(a,b,c){var d=null;if(b=vz(a,b,!0)){a.Vb(b);var e=jB(a,b,!0);if(e.length){var f;if(e[0]){var g="";(f=b.Ja-e[1])&&(g=" + "+wa(f));f=e[0]+" ("+az(e[1],b.T)+")"+g;c&&a.O(f);d=f}4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+wa(f)),f=e[4]+" ("+az(e[5],b.T)+")"+g,c&&a.O(f),d||(d=f))}else c&&a.O("no symbols")}return d}
|
||||
function JB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d=0,e=0,f=c?{}:vz(a,b[1]);if(f){var g=Dy(a,b[2],"drive #");if(void 0!==g){if(!c){d=Dy(a,b[3],"sector #");if(void 0===d)return;e=Dy(a,b[4],"# of sectors");void 0===e&&(e=1)}var h=a.cb;2<=g&&a.Pa&&(g-=2,h=a.Pa);if(h){var k=h.cj(g);if(k)if(k.va)if(c)KB(a.na),a.O(k.va.toJSON());else if(h.Uk(k,d,e)){var m=0,p=!1;for(b=lz(f);!p&&0<k.yb--;)(function(a,b){h.te(k,function(c){0>c?(a.O("out of data at address "+lz(b)),p=!0):(a.ub(b,c,1,!0),m++)})})(a,f);
|
||||
Fd(a.G,!0);a.O(m+" bytes read at "+b)}else a.O("sector "+d+" request out of range");else a.O("drive "+g+" not loaded");else a.O("invalid drive: "+g)}else a.O("disk controller not present")}}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")}
|
||||
function uA(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Kc&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{null==c&&(c=!0);if(b&&1<b.length){var d=b[1];if(a.Kc&&"fp"==d){c=a.Kc;var e=Ug(c);b=c.bc;for(var f=0;8>f;f++){var g=c;d=null;if(f<g.F.length){d=[];var h=g.B+f&7;d[0]=h;d[1]=wh(g,h);d[2]=g.F[h];h<<=1;d[3]=g.L[h];d[4]=g.L[h+1];g=Ah(g,d[3],d[4]);d[5]=g[0];d[6]=g[1];d[7]=g[2]}if(!d)break;
|
||||
a.O("ST"+f+": "+Ca(d[2].toFixed(15),24,!0)+" "+q(d[4])+","+q(d[3])+" ["+d[0]+":"+LB[d[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+ta(e,16)+" ("+wa(e)+") CW: "+ta(b,16)+" ("+wa(b)+")");return}if("p"==d)e=80286<=a.G.da;else{f=d.indexOf("=");if(0<f)b=d.substr(f+1),d=d.substr(0,f);else if(2<b.length)b=b[2];else{a.O("missing value for "+b[1]);return}g=Jy(a,b);if(void 0===g)return;f=!0;h=d.toUpperCase();"E"==h.charAt(0)&&4>=a.ra&&(h=null);switch(h){case "AL":a.G.D=
|
||||
function kz(a,b,c){for(var d=0;d<a.F.length;d++){var e=a.F[d];if(!b||e.fi==b)if(b&&c==e.kn||!b&&c==e.T){a.F.splice(d,1);break}}}function kB(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Vb(b)>>>0,g=0;g<a.F.length;g++){var h=a.F[g],k=h.T,m=h.Ja>>>0,p=h.za;null!=p&&(p>>>=0);var v=h.Zm;48==k&&(k=40);if(k==b.T&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Fa(h.Li,[e],a.bj);0<=b?GB(a,g,b,d):c&&(b=~b,GB(a,g,b-1,d),GB(a,g,b,d));break}}return d}
|
||||
function GB(a,b,c,d){var e={},f=a.F[b].Li,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Id[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function HB(a,b){if("?"==b)a.O("frequency commands:"),a.O("\tclear\tclear all frequency counts");else{var c=0;if(a.M)if("clear"==b){for(b=0;b<a.M.length;b++)a.M[b]=[b,0];a.O("frequency data cleared");c++}else if(void 0!==b)a.O("unknown frequency command: "+b),c++;else{var d=a.M.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],f=d[b][1];f&&(a.O((FA[a.pa[e][0]]+" ").substr(0,5)+" ("+va(e)+"): "+f+" times"),c++)}}c||a.O("no frequency data available")}}
|
||||
function IB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ny(a)||a.O("no variables"),!0;if(!c[2])return Ny(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=Ky(a,c[3]);return void 0!==b?(a.I[c[1]]={value:b,Uo:void 0},!0):!1}a.O("invalid assignment:"+b);return!1}
|
||||
function JB(a,b,c){var d=null;if(b=wz(a,b,!0)){a.Vb(b);var e=kB(a,b,!0);if(e.length){var f;if(e[0]){var g="";(f=b.Ja-e[1])&&(g=" + "+wa(f));f=e[0]+" ("+bz(e[1],b.T)+")"+g;c&&a.O(f);d=f}4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+wa(f)),f=e[4]+" ("+bz(e[5],b.T)+")"+g,c&&a.O(f),d||(d=f))}else c&&a.O("no symbols")}return d}
|
||||
function KB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d=0,e=0,f=c?{}:wz(a,b[1]);if(f){var g=Ey(a,b[2],"drive #");if(void 0!==g){if(!c){d=Ey(a,b[3],"sector #");if(void 0===d)return;e=Ey(a,b[4],"# of sectors");void 0===e&&(e=1)}var h=a.cb;2<=g&&a.Pa&&(g-=2,h=a.Pa);if(h){var k=h.cj(g);if(k)if(k.va)if(c)LB(a.na),a.O(hw(k.va));else if(h.Uk(k,d,e)){var m=0,p=!1;for(b=mz(f);!p&&0<k.yb--;)(function(a,b){h.te(k,function(c){0>c?(a.O("out of data at address "+mz(b)),p=!0):(a.ub(b,c,1,!0),m++)})})(a,f);Fd(a.G,
|
||||
!0);a.O(m+" bytes read at "+b)}else a.O("sector "+d+" request out of range");else a.O("drive "+g+" not loaded");else a.O("invalid drive: "+g)}else a.O("disk controller not present")}}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")}
|
||||
function vA(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Kc&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{null==c&&(c=!0);if(b&&1<b.length){var d=b[1];if(a.Kc&&"fp"==d){c=a.Kc;var e=Ug(c);b=c.bc;for(var f=0;8>f;f++){var g=c;d=null;if(f<g.F.length){d=[];var h=g.B+f&7;d[0]=h;d[1]=wh(g,h);d[2]=g.F[h];h<<=1;d[3]=g.L[h];d[4]=g.L[h+1];g=Ah(g,d[3],d[4]);d[5]=g[0];d[6]=g[1];d[7]=g[2]}if(!d)break;
|
||||
a.O("ST"+f+": "+Ca(d[2].toFixed(15),24,!0)+" "+q(d[4])+","+q(d[3])+" ["+d[0]+":"+MB[d[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+ta(e,16)+" ("+wa(e)+") CW: "+ta(b,16)+" ("+wa(b)+")");return}if("p"==d)e=80286<=a.G.da;else{f=d.indexOf("=");if(0<f)b=d.substr(f+1),d=d.substr(0,f);else if(2<b.length)b=b[2];else{a.O("missing value for "+b[1]);return}g=Ky(a,b);if(void 0===g)return;f=!0;h=d.toUpperCase();"E"==h.charAt(0)&&4>=a.ra&&(h=null);switch(h){case "AL":a.G.D=
|
||||
a.G.D&-256|g&255;break;case "AH":a.G.D=a.G.D&-65281|g<<8&255;break;case "AX":a.G.D=a.G.D&-65536|g&65535;break;case "BL":a.G.H=a.G.H&-256|g&255;break;case "BH":a.G.H=a.G.H&-65281|g<<8&255;break;case "BX":a.G.H=a.G.H&-65536|g&65535;break;case "CL":a.G.I=a.G.I&-256|g&255;break;case "CH":a.G.I=a.G.I&-65281|g<<8&255;break;case "CX":a.G.I=a.G.I&-65536|g&65535;break;case "DL":a.G.L=a.G.L&-256|g&255;break;case "DH":a.G.L=a.G.L&-65281|g<<8&255;break;case "DX":a.G.L=a.G.L&-65536|g&65535;break;case "SP":ne(a.G,
|
||||
y(a.G)&-65536|g&65535);break;case "BP":a.G.N=a.G.N&-65536|g&65535;break;case "SI":a.G.K=a.G.K&-65536|g&65535;break;case "DI":a.G.J=a.G.J&-65536|g&65535;break;case "DS":te(a.G,g);break;case "ES":ue(a.G,g);break;case "SS":me(a.G,g);break;case "CS":cg(a.G,g);a.N=Oy(a,z(a.G),a.G.ba.T);break;case "IP":case "EIP":C(a.G,g);a.N=Oy(a,z(a.G),a.G.ba.T);break;case "PC":case "PS":ye(a.G,g);break;case "C":g?og(a.G):pg(a.G);break;case "P":g?(d=a.G,d.resultType&=-3,d.P|=4):(d=a.G,d.resultType&=-3,d.P&=-5);break;
|
||||
y(a.G)&-65536|g&65535);break;case "BP":a.G.N=a.G.N&-65536|g&65535;break;case "SI":a.G.K=a.G.K&-65536|g&65535;break;case "DI":a.G.J=a.G.J&-65536|g&65535;break;case "DS":te(a.G,g);break;case "ES":ue(a.G,g);break;case "SS":me(a.G,g);break;case "CS":cg(a.G,g);a.N=Py(a,z(a.G),a.G.ba.T);break;case "IP":case "EIP":C(a.G,g);a.N=Py(a,z(a.G),a.G.ba.T);break;case "PC":case "PS":ye(a.G,g);break;case "C":g?og(a.G):pg(a.G);break;case "P":g?(d=a.G,d.resultType&=-3,d.P|=4):(d=a.G,d.resultType&=-3,d.P&=-5);break;
|
||||
case "A":g?wg(a.G):ug(a.G);break;case "Z":g?xg(a.G):vg(a.G);break;case "S":g?(d=a.G,d.resultType&=-17,d.P|=128):(d=a.G,d.resultType&=-17,d.P&=-129);break;case "I":g?(d=a.G,d.P|=512):(d=a.G,d.P&=-513);break;case "D":g?(d=a.G,d.P|=1024):(d=a.G,d.P&=-1025);break;case "V":g?qg(a.G):rg(a.G);break;default:var k=!0;if(80286<=a.G.da)switch(k=!1,h){case "MS":yg(a.G,g);break;case "TR":-1===a.G.ka.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.G.da)switch(k=!1,h){case "EAX":a.G.D=g;break;case "EBX":a.G.H=g;
|
||||
break;case "ECX":a.G.I=g;break;case "EDX":a.G.L=g;break;case "ESP":ne(a.G,g);break;case "EBP":a.G.N=g;break;case "ESI":a.G.K=g;break;case "EDI":a.G.J=g;break;case "FS":a.G.Ka.load(g);break;case "GS":a.G.La.load(g);break;case "CR0":a.G.ra=g;fk.call(a.G,g);break;case "CR2":a.G.pd=g;break;case "CR3":a.G.wc=g;a.G.wc=g;uc(a.G);break;default:k=!0}}if(k){a.O("unknown register: "+d);return}}if(!f){a.O("invalid value: "+b);return}Fd(a.G);a.O("updated registers:")}}a.O(EB(a,e));c&&(a.N=Oy(a,z(a.G),a.G.ba.T),
|
||||
vA(a,lz(a.N)))}}function MB(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(oA(a,c[2])):Jy(a,b,!1)}function NB(a,b,c){for(var d=null,e=b.Ja,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ja=e;b.za=null;var h=DA(a,b);if(0<=h.indexOf("CALL")||c&&0<=h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ja=f;return d}
|
||||
function OB(a,b,c){var d="t"!=b;c=Dy(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);$a(c,function(){return Rb(a,!0)&&mz(a,e,d,!1)},function(){Fd(a.G);Rb(a,!1)})}function uB(a,b,c){if(a.Yg=b)null!=a.kj&&(a.Jb=a.kj),null!=a.jj&&(a.ec=a.jj),a.kj=a.Jb,a.jj=a.ec;a.De=c||0}
|
||||
function vA(a,b,c,d){if(b=vz(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=vz(a,c,!0);if(!d||d.Ja<b.Ja)return;e=d.Ja-b.Ja+1;0>e&&(e=1);4096<e&&(e=4096);d=-1}c=0;for(uB(b,!0);0<e&&d--;){var f=Qb(a,!1)||a.K?a.P:null;var g=null!=f?"cycles":null,h=jB(a,b),k=b.za;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=DA(a,b,g,f);b.Yg||d||d++;a.O(f);a.N=b;e-=b.za-k;c++}}}
|
||||
break;case "ECX":a.G.I=g;break;case "EDX":a.G.L=g;break;case "ESP":ne(a.G,g);break;case "EBP":a.G.N=g;break;case "ESI":a.G.K=g;break;case "EDI":a.G.J=g;break;case "FS":a.G.Ka.load(g);break;case "GS":a.G.La.load(g);break;case "CR0":a.G.ra=g;fk.call(a.G,g);break;case "CR2":a.G.pd=g;break;case "CR3":a.G.wc=g;a.G.wc=g;uc(a.G);break;default:k=!0}}if(k){a.O("unknown register: "+d);return}}if(!f){a.O("invalid value: "+b);return}Fd(a.G);a.O("updated registers:")}}a.O(FB(a,e));c&&(a.N=Py(a,z(a.G),a.G.ba.T),
|
||||
wA(a,mz(a.N)))}}function NB(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(pA(a,c[2])):Ky(a,b,!1)}function OB(a,b,c){for(var d=null,e=b.Ja,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ja=e;b.za=null;var h=EA(a,b);if(0<=h.indexOf("CALL")||c&&0<=h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ja=f;return d}
|
||||
function PB(a,b,c){var d="t"!=b;c=Ey(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);$a(c,function(){return Rb(a,!0)&&nz(a,e,d,!1)},function(){Fd(a.G);Rb(a,!1)})}function vB(a,b,c){if(a.Yg=b)null!=a.kj&&(a.Jb=a.kj),null!=a.jj&&(a.ec=a.jj),a.kj=a.Jb,a.jj=a.ec;a.De=c||0}
|
||||
function wA(a,b,c,d){if(b=wz(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=wz(a,c,!0);if(!d||d.Ja<b.Ja)return;e=d.Ja-b.Ja+1;0>e&&(e=1);4096<e&&(e=4096);d=-1}c=0;for(vB(b,!0);0<e&&d--;){var f=Qb(a,!1)||a.K?a.P:null;var g=null!=f?"cycles":null,h=kB(a,b),k=b.za;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=EA(a,b,g,f);b.Yg||d||d++;a.O(f);a.N=b;e-=b.za-k;c++}}}
|
||||
l.yg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else a=this.C[this.A+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Da(a.substring(d,f))),d=f+1}}return b};
|
||||
function CA(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.fa&&(a.O("ended assemble at "+lz(a.ea)),a.N=a.ea,a.fa=!1),b="";else if(!c){var e=">> ";a.G.ra&1&&(e=a.G.P&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Aa=null;if(Ob(a)&&0<b.length){a.fa&&(b="a "+lz(a.ea)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var v=
|
||||
vz(a,g[1],!0);if(v)if(a.ea=v,void 0===g[2])a.O("begin assemble at "+lz(v)),a.fa=!0,Fd(a.G);else{a.O("not supported yet");var u=[];if(u.length){for(var A=0;A<u.length;A++)a.ub(v,u[A],1);a.O(DA(a,a.ea))}}break;case "b":a:{var J=g[0],H=g[1],G=b;if("?"==H)a.O("breakpoint commands:"),a.O("\tbi [p]\ttoggle break on input port [p]"),a.O("\tbo [p]\ttoggle break on output port [p]"),a.O("\tbp [a]\tset exec breakpoint at addr [a]"),a.O("\tbr [a]\tset read breakpoint at addr [a]"),a.O("\tbw [a]\tset write breakpoint at addr [a]"),
|
||||
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var P=J.charAt(1);if("l"==P){var I=0+BA(a,a.B);I+=BA(a,a.V);(I+=BA(a,a.L))||a.O("no breakpoints")}else if("n"==P)a.wa=Dy(a,H),a.O("break after "+a.wa+" instruction(s)");else if(void 0===H)a.O("missing breakpoint address");else{var oa={};if("*"!=H&&(oa=vz(a,H,!0,!0),!oa))break a;H=null==oa.Ja?H:wa(oa.Ja);"c"==P?null==oa.Ja?(Py(a),a.O("all breakpoints cleared")):kz(a,
|
||||
a.B,oa)||kz(a,a.V,oa)||kz(a,a.L,oa)||a.O("breakpoint missing: "+lz(oa)):"i"==P?a.O("breakpoint "+(Oc(a.oa,oa.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==P?a.O("breakpoint "+(Tc(a.oa,oa.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=oa.Ja&&(yz(a,oa,G),"p"==P?a.rd(a.B,oa):"r"==P?a.rd(a.V,oa):"w"==P?a.rd(a.L,oa):a.O("unknown breakpoint command: "+P))}}}break;case "c":KB(a.na);break;case "d":a:{var Z=g,hb,ra=Z[0],ib=Z[1],Sb=Z[2],Jb=Z[3];if("?"==ib){var cc="";for(hb in Zb)a.Fa[hb]&&
|
||||
(cc&&(cc+=","),cc+=hb);cc+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");cc.length&&a.O("dump extension commands:\n\t"+cc)}else if("state"==ib){var vc=PB(a.na,!0);vc?"console"==Sb?console.log(vc):
|
||||
(KB(a.na),a.O(vc)):a.O("powerOff() error")}else if("symbols"==ib)for(var jb=0;jb<a.F.length;jb++){var gf=a.F[jb],Sd;for(Sd in gf.Id)if("."!=Sd.charAt(0)){var hf=gf.Id[Sd],Eg=hf.o;if(void 0!==Eg){var jf=hf.s;void 0===jf&&(jf=gf.T);var Fg=gf.Id[Sd].l;Fg&&(Sd=Fg);a.O(az(Eg,jf)+" "+Sd)}}}else{if("ds"==ra||"dg"==ra||"dl"==ra)ra="d",Z=[ra,"desc",ib];"d"==ra&&"page"==ib&&(ra="dp",Z.shift());if("dp"==ra){Z.shift();var Cm=Z[0];if(Cm){var Zg=a.Vb(vz(a,Cm));if(-1===Zg)a.O("invalid address: "+Cm);else{var tf,
|
||||
Ra=null;if(80386<=a.G.da){var uf=a.oa;Ra={};Ra.Dk=(Zg&-4194304)>>>20;Ra.Qi=a.G.wc+Ra.Dk;Ra.pb=uf.aa[(Ra.Qi&uf.C)>>>uf.A];Ra.wj=Ra.pb.Nd(Ra.Dk);Ra.Ek=(Zg&4190208)>>>10;Ra.Ri=(Ra.wj&-4096)+Ra.Ek;Ra.qb=uf.aa[(Ra.Ri&uf.C)>>>uf.A];Ra.xj=Ra.qb.Nd(Ra.Ek);Ra.ml=(Ra.xj&-4096)+(Zg&4095)}if(tf=Ra){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var ij="%"+q(Zg);ij+=" %%"+Az(tf.Qi,tf.wj);ij+=" %%"+
|
||||
Az(tf.Ri,tf.xj,!0);ij+=" %%"+q(tf.ml);a.O(ij)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ra){if("disk"==ib){Z[0]="l";Z[1]="json";JB(a,Z);break a}for(hb in Zb)if(Z[1]==hb){var Mt=a.Fa[hb];Mt?(Z.shift(),Z.shift(),Mt(Z)):a.O("no dump registered for "+ib);break a}ib||(ra=a.mb||"db")}if("dh"==ra){var Nt=ib,Ot=Sb,$g=Jb;$g=void 0===$g?"history":$g;var Pt="",Qt=0,Rc=a.qa,rd=a.U;if(rd.length){var Ac=+Nt||a.Ra,ah=+Ot||10;isNaN(Ac)?Ac=ah:Pt="more ";Ac>rd.length&&(a.O("note: only "+
|
||||
rd.length+" available"),Ac=rd.length);Rc-=Ac;0>Rc&&(null==rd[rd.length-1].T?(Ac=Rc+Ac,Rc=0):Rc+=rd.length);var Dm=[];"call"==Ot&&(ah=1E5,Dm=["CALL"]);for(void 0!==Nt&&a.O(Ac+" instructions earlier:");0<ah&&Rc!=a.qa;){var sd=rd[Rc++];if(null==sd.T)break;var bh=Oy(a,sd.Ja,sd.T,sd.za,sd.type,sd.Jb,sd.ec),Rt=Ac--;null!=sd.dj&&"cycles"==$g&&(Rt=sd.dj);var St=DA(a,bh,$g,Rt);(!Dm.length||0<=St.indexOf(Dm[0]))&&a.O(St);bh.De&&(Rc+=bh.De,ah-=bh.De,Ac-=bh.De);Rc>=rd.length&&(Rc=0);a.Ra=Ac;Qt++;ah--}}Qt||(a.O("no "+
|
||||
Pt+"history available"),a.Ra=void 0)}else if("di"==ra){Z.shift();var Em=Z[0];if(Em){var ch=Dy(a,Em);if(void 0===ch||0>ch||255<ch)a.O("invalid vector: "+Em);else{var Tt="&",Ut=!!(a.G.ra&1),Vt=!1,jj=a.G.Qb+(ch<<(Ut?3:2)),Wt=a.G.ja(jj+0),EC=a.G.ja(jj+2);Ut&&(Tt="#",a.G.ja(jj+4)&2048&&(Vt=!0,Wt|=a.G.ja(jj+6)<<16));a.O("dumpIDT("+wa(ch)+"): "+Tt+q(EC,4)+":"+q(Wt,Vt?8:4))}}else a.O("no IDT vector")}else if("dt"==ra)Z.shift(),a.O("no information");else if(ra[1]&&0>"abwd".indexOf(ra[1]))a.O("unrecognized dump command");
|
||||
else{a.mb=ra;var Fe=vz(a,ib);if(Fe&&(null!=Fe.T||null!=Fe.za)){var vf=0;if(Sb){if("l"==Sb.charAt(0))Sb=Sb.substr(1)||Jb,vf=Dy(a,Sb);else{var Xt=vz(a,Sb);if(!Xt)break a;vf=Xt.Ja-Fe.Ja+1}if(0>vf||65536<vf)vf=0}var Ge="",Fm=!1,wf="dd"==ra?4:"dw"==ra?2:1,dh=wf*vf||128,Gm=dh+15>>4||1,Hm=4==wf?16:a.D;"a"==ra[1]&&(Fm=!0,Gm=25,Hm=160,dh=Gm*Hm);for(;Gm--&&0<dh;){var kj=0,Im=0,eh,Jm="",lj="";ib=lz(Fe);for(eh=Hm;0<eh&&0<dh;eh--){var mj=a.ya(Fe,1);kj|=mj<<(Im++<<3);Im==wf&&(Jm+=8==a.D?ua(kj,3*wf):q(kj,2*wf),
|
||||
Jm+=1==wf?9==eh?"-":" ":" ",kj=Im=0);lj+=32<=mj&&128>mj?String.fromCharCode(mj):Fm?"":".";dh--}Ge&&(Ge+="\n");Ge=Fm?Ge+lj:Ge+(ib+" "+Jm+Ca(lj,lj.length+3*eh+1,!0))}Ge&&a.O(Ge.replace(/\s*$/,""));a.Ca=Fe}}}}}break;case "e":if("else"==g[0])break;var nj=1,Yt=255,Zt=a.ya,$t=a.ub;"ew"==g[0]&&(nj=2,Yt=65535,Zt=a.Vc,$t=a.al);var au=nj<<1,bu=g[1];if(null==bu)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var oj=vz(a,bu);if(oj)for(var pj=
|
||||
2;pj<g.length;pj++){var fh=Jy(a,g[pj]);if(void 0===fh){a.O("unrecognized value: "+g[pj]);break}fh&~Yt&&a.O("warning: "+q(fh)+" exceeds "+nj+"-byte value");var FC=Zt.call(a,oj);a.O("changing "+lz(oj)+" from "+q(FC,au,!0)+" to "+q(fh,au,!0));$t.call(a,oj,fh,nj)}}break;case "f":GB(a,g[1]);break;case "g":a:{var cu=g[1],GC=b;"gt"==g[0]&&(a.Ga=!0);if(void 0!==cu){var Km=vz(a,cu,!0);if(!Km)break a;yz(a,Km,GC);a.rd(a.B,Km,!0)}tA(a,c)&&Hd(a.G,!0,c)}break;case "h":rk(a)||Qb(a,!0)||c||a.O("already halted");
|
||||
break;case "i":if("if"==g[0]){var gh=b.substr(2);gh=Da(gh);if(Jy(a,gh)){c||a.O("true: "+gh);var du=!0}else c||a.O("false: "+gh),du=!1;du||(d=!1);break}if("int"==g[0]){a:switch(Dy(a,g[1])){case 19:al(a,19,a.G.ea,!0);a.ka=a.ba;var Lm=!0;break a;case 33:al(a,33,a.G.ea,!0);a.ka=a.ba;Lm=!0;break a;default:Lm=!1}Lm||(d=!1);break}var Mm=g[1];if(Mm&&"?"!=Mm){var Nm=Dy(a,Mm);if(void 0!==Nm){var HC=Qc(a.oa,Nm,1);a.O(wa(Nm)+": "+va(HC))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");
|
||||
break;case "k":var IC=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var Om=0,eu=a.G.ba.T,hh=Oy(a),$d=Oy(a,y(a.G),a.G.U.T);for(a.O("stack trace for "+lz($d));10>Om;){for(var td=null,JC=256;$d.Ja>>>0<a.G.Mg>>>0;){hh.Ja=a.nb($d,!0);if(null==$d.za||!JC--)break;hh.T=eu;if(td=NB(a,hh))break;hh.T=a.nb($d);if(td=NB(a,hh,!0)){eu=a.nb($d,!0);0<td.indexOf("INT")&&a.nb($d,!0);break}}if(!td||null==td)break;var fu=null;if("ks"==IC){var gu=
|
||||
td.match(/[0-9A-F]+$/);gu&&(fu=IB(a,gu[0]))}td=Ca(td,50)+" ;"+(fu||"stack="+lz($d));a.O(td);Om++}Om||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){IB(a,g[1],!0);break}JB(a,g);break;case "m":if("mouse"==g[0]){var Pm=g[1],qj=g[2];if(a.H){var hu=1;"-"==qj.charAt(0)&&(hu=-1,qj=qj.substr(1));var He=Dy(a,qj,Pm);if(void 0!==He)switch(He=He*hu|0,Pm){case "x":a.H.rf(He,0);break;case "y":a.H.rf(0,He);break;case "click":a.H.Xd(He,!0);a.H.Xd(He,!1);break;default:a.O("unknown action: "+Pm)}}else a.O("no mouse");
|
||||
break}a:{var ud,vd=null,eb=g[1];"?"==eb&&(eb=void 0);if(void 0!==eb){var ae=0;if("all"==eb)ae=1610481663,eb=null;else if("on"==eb)vd=!0,eb=null;else if("off"==eb)vd=!1,eb=null;else{"keys"==eb&&(eb="key");"kbd"==eb&&(eb="keyboard");for(ud in Zb)if(eb==ud){ae=Zb[ud];vd=!!(a.dc&ae);break}if(!ae){a.O("unknown message category: "+eb);break a}}if(ae)if("on"==g[2])a.dc|=ae,vd=!0;else if("off"==g[2]&&(a.dc&=~ae,vd=!1,536870912==ae)){for(var Qm=0;Qm<a.Ba.length;Qm++)a.O(a.Ba[Qm]);a.Ba=[]}}var KC=0,ih="";for(ud in Zb)if(!eb||
|
||||
eb==ud){var LC=!!(a.dc&Zb[ud]);if(null===vd||vd==LC)ih&&(ih+=","),++KC%10||(ih+="\n\t"),"key"==ud&&(ud="keys"),ih+=ud}void 0===eb&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==vd?vd?"messages on: ":"messages off: ":"message categories:\n\t")+(ih||"none"));Qy(a)}break;case "o":var Rm=g[1],MC=g[2];if(Rm&&"?"!=Rm){var Sm=Dy(a,Rm,"port #"),Tm=Dy(a,MC);void 0!==Sm&&void 0!==Tm&&(Vc(a.oa,Sm,1,Tm),a.O(wa(Sm)+": "+va(Tm)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),
|
||||
a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){MB(a,b.substr(5));break}var iu="pr"==g[0]?1:0,xf=1+iu;if(a.K)a.O("step in progress");else{var ju=!1,Lb=Oy(a,z(a.G),a.G.ba.T);do{var Um=!1;switch(a.ya(Lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:qz(a,Lb,1);Um=!0;break;case 204:case 206:a.K=xf;qz(a,Lb,1);break;case 205:case 224:case 225:case 226:a.K=xf;qz(a,Lb,Lb.Jb?4:2);break;case 232:a.K=xf;qz(a,Lb,Lb.Jb?5:3);break;case 154:a.K=
|
||||
xf;qz(a,Lb,Lb.Jb?7:5);break;case 255:var ku=a.nb(Lb)&14591;if(4351==ku||6399==ku)a.K=xf,DA(a,Lb);break;case 243:case 242:qz(a,Lb,1);ju=Um=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:ju&&(a.K=xf,qz(a,Lb,1))}}while(Um);a.K?(a.rd(a.B,Lb,!0),tA(a,void 0)&&Hd(a.G,void 0,void 0)||(a.na&&a.na.cd(),a.K=0)):OB(a,iu?"tr":"t")}break;case "r":if("reset"==b){a.na&&a.na.reset();break}uA(a,g);break;case "t":OB(a,g[0],g[1]);
|
||||
break;case "u":vA(a,g[1],g[2],8);break;case "v":if("var"==g[0]){HB(a,b.substr(3))||(d=!1);break}a.O("PCx86 version 1.37.0 ("+a.G.da+",RELEASE,NOPREFETCH"+(Vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(Oa());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var jh;void 0!==g[3]&&(jh=+g[3]);switch(g[2]){case "int":a.G.Y.Qe=jh;break;case "start":a.G.Y.vf=jh;break;case "stop":a.G.Y.Se=jh;break;default:a.O("unknown cs option");break a}void 0!==jh&&Ed(a.G);a.O("checksums "+(a.G.Z.He?"enabled":
|
||||
"disabled"));break;case "sp":void 0!==g[2]&&(Ld(a.G,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.G.Y.pe.toFixed(2)+"Mhz")+" ("+a.G.Y.Ad+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){MB(a,
|
||||
b.substr(1));break}var Vm="commands:",Wm;for(Wm in QB)Vm+="\n"+Ca(Wm,7)+QB[Wm];Og(a)||(Vm+="\nnote: frequency/history disabled if no exec breakpoints");a.O(Vm);break;default:a.O("unknown command: "+b),d=!1}}}catch(mu){a.O("debugger error: "+(mu.stack||mu.message)),d=!1}return d}function Sy(a,b,c){b=a.yg(b,c);for(var d in b)if(!CA(a,b[+d]))return!1;return!0}
|
||||
var qA={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},pA=[26,28,40,42,109],QB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
||||
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},wz=0,oz=1,Yy=2,zz=3,xz=4,pz=5,LA=18,MA=28,HA=36,QA=80,NA=104,OA=107,FA=176,EA="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
||||
JA="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
|
||||
LB=["VALID","ZERO ","SPEC ","EMPTY"],RA=2,SA=3,tB=[8086,80186,80286,80386],Dz=0,Ez=1,Fz=2,Gz=3,Hz=4,Iz=5,Jz=6,Kz=7,Lz=8,Mz=9,Nz=10,Oz=11,Pz=12,Qz=13,Rz=14,Sz=15,Uz=16,Tz=22,nA=23,aA=24,bA=25,cA=26,dA=27,eA=28,fA=29,gA=30,hA=31,iA=32,jA=33,kA=34,lA=35,xB=40,zB=48,mA=56,Bz=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2",
|
||||
"DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],Vz=0,Wz=1,Xz=2,Yz=3,Zz=4,$z=5,YA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),TA=15,WA=240,oB=3840,UA=0,U=1,iB=2,T=3,S=4,ZA=5,$A=7,VA=8,mB=9,nB=10,aB=11,bB=11,cB=12,dB=12,eB=13,fB=14,V=0,hB=16,kB=32,lB=48,rB=64,sB=80,X=96,pB=112,R=128,XA=160,qB=192,vB=208,wB=224,yB=240,RB=Dz<<8|X|U,SB=Ez<<8|X|U,TB=Lz<<8|X|S,UB=Mz<<8|X|S,VB=Nz<<8|X|S,WB=Oz<<8|X|S,XB=Pz<<8|X|S,YB=Qz<<8|X|S,ZB=Rz<<8|X|S,$B=
|
||||
Sz<<8|X|S,aC=Vz<<8|pB|T,bC=Wz<<8|pB|T,cC=Xz<<8|pB|T,dC=Yz<<8|pB|T,eC=Zz<<8|pB|T,fC=$z<<8|pB|T,W=12288,gC=RA<<14,Y=SA<<14,PA=14,sA=1E3,Uy=[0,UA],Vy=[FA,T|W],Ty=[[6,R|U|W,U|4272],[6,R|S|W,S|4272],[6,176|U|W,R|U|4096],[6,176|S|W,R|S|4096],[6,RB|W,V|U|4096],[6,TB|W,V|S|4096],[108,aC|4096],[103,aC|8192],[99,R|U|W,U|4272],[99,R|S|W,S|4272],[99,176|U|W,R|U|4096],[99,176|S|W,R|S|4096],[99,RB|W,V|U|4096],[99,TB|W,V|S|4096],[108,bC|4096],[103,bC|8192],[5,R|U|W,U|4272],[5,R|S|W,S|4272],[5,176|U|W,R|U|4096],
|
||||
[5,176|S|W,R|S|4096],[5,RB|W,V|U|4096],[5,TB|W,V|S|4096],[108,cC|4096],[103,cC|8192],[120,R|U|W,U|4272],[120,R|S|W,S|4272],[120,176|U|W,R|U|4096],[120,176|S|W,R|S|4096],[120,RB|W,V|U|4096],[120,TB|W,V|S|4096],[108,dC|4096],[103,dC|8192],[7,R|U|W,U|4272],[7,R|S|W,S|4272],[7,176|U|W,R|U|4096],[7,176|S|W,R|S|4096],[7,RB|W,V|U|4096],[7,TB|W,V|S|4096],[35,VA],[29],[154,R|U|W,U|4272],[154,R|S|W,S|4272],[154,176|U|W,R|U|4096],[154,176|S|W,R|S|4096],[154,RB|W,V|U|4096],[154,TB|W,V|S|4096],[27,VA],[30],[162,
|
||||
R|U|W,U|4272],[162,R|S|W,S|4272],[162,176|U|W,R|U|4096],[162,176|S|W,R|S|4096],[162,RB|W,V|U|4096],[162,TB|W,V|S|4096],[147,VA],[1],[24,R|U|4096,U|4272],[24,R|S|4096,S|4272],[24,U|4272,R|U|4096],[24,S|4272,R|S|4096],[24,RB|4096,V|U|4096],[24,TB|4096,V|S|4096],[33,VA],[4],[44,TB|W],[44,UB|W],[44,VB|W],[44,WB|W],[44,XB|W],[44,YB|W],[44,ZB|W],[44,$B|W],[31,TB|W],[31,UB|W],[31,VB|W],[31,WB|W],[31,XB|W],[31,YB|W],[31,ZB|W],[31,$B|W],[108,TB|4096],[108,UB|4096],[108,VB|4096],[108,WB|4096],[108,XB|4096],
|
||||
[108,YB|4096],[108,ZB|4096],[108,$B|4096],[103,TB|8192],[103,UB|8192],[103,VB|8192],[103,WB|8192],[103,XB|8192],[103,YB|8192],[103,ZB|8192],[103,$B|8192],[OA,UA|gC],[NA,UA|gC],[10,S|4272|gC,R|S|4096],[8,R|T|8192,T|4272],[37,VA|Y],[38,VA|Y],[100,VA|Y],[9,VA|Y],[108,V|S|4096|gC],[42,176|T|W|gC,R|S|4096,V|S|4096],[108,V|iB|4096|gC],[42,T|8368|gC,R|S|4096,V|U|4096],[45,sB|U|8192|gC,VB|4096],[45,sB|S|8192|gC,VB|4096],[102,VB|4096|gC,rB|U|4096],[102,VB|4096|gC,rB|S|4096],[64,lB|U|4096],[60,lB|U|4096],[51,
|
||||
lB|U|4096],[59,lB|U|4096],[67,lB|U|4096],[63,lB|U|4096],[50,lB|U|4096],[58,lB|U|4096],[66,lB|U|4096],[62,lB|U|4096],[65,lB|U|4096],[61,lB|U|4096],[55,lB|U|4096],[54,lB|U|4096],[56,lB|U|4096],[53,lB|U|4096],[163,R|U|W,V|U|4096],[164,R|S|W,V|S|4096],[163,R|U|W,V|U|4096],[165,R|S|W,V|U|4096],[155,R|U|4096,U|4272],[155,R|S|4096,S|4272],[160,176|U|W,R|U|W],[160,176|S|W,R|S|W],[90,R|U|8192,U|4272],[90,R|S|8192,S|4272],[90,U|8368,R|U|4096],[90,S|8368,R|S|4096],[90,R|S|8192,qB|T|4096],[71,S|8368,144|S],[90,
|
||||
qB|T|8192,R|S|4096],[103,R|S|8192],[97],[160,TB|W,UB|W],[160,TB|W,VB|W],[160,TB|W,WB|W],[160,TB|W,XB|W],[160,TB|W,YB|W],[160,TB|W,ZB|W],[160,TB|W,$B|W],[LA],[MA],[17,V|$A|4096],[158],[106],[105],[117],[68],[90,RB|8192,kB|U|4096],[90,TB|8192,kB|S|4096],[90,kB|U|8192,RB|4096],[90,kB|S|8192,TB|4096],[91,sB|U|8192,rB|U|4096],[92,sB|S|8192,rB|S|4096],[25,sB|U|4096,rB|U|4096],[26,sB|S|4096,rB|S|4096],[155,RB|4096,V|U|4096],[155,TB|4096,V|S|4096],[151,sB|U|8192,RB|4096],[152,sB|S|8192,TB|4096],[82,RB|8192,
|
||||
rB|U|4096],[83,TB|8192,rB|S|4096],[121,RB|4096,sB|U|4096],[122,TB|4096,sB|S|4096],[90,RB|8192,V|U|4096],[90,SB|8192,V|U|4096],[90,Fz<<8|X|U|8192,V|U|4096],[90,Gz<<8|X|U|8192,V|U|4096],[90,Hz<<8|X|U|8192,V|U|4096],[90,Iz<<8|X|U|8192,V|U|4096],[90,Jz<<8|X|U|8192,V|U|4096],[90,Kz<<8|X|U|8192,V|U|4096],[90,TB|8192,V|S|4096],[90,UB|8192,V|S|4096],[90,VB|8192,V|S|4096],[90,WB|8192,V|S|4096],[90,XB|8192,V|S|4096],[90,YB|8192,V|S|4096],[90,ZB|8192,V|S|4096],[90,$B|8192,V|S|4096],[166,R|U|W|16384,V|U|4096],
|
||||
[167,R|S|W|16384,V|U|4096],[113,V|T|4096],[113],[73,S|8368,4246],[70,S|8368,4246],[90,R|U|8192,V|U|4096],[90,R|S|8192,V|S|4096],[34,V|T|4096|gC,V|U|4096],[72,UA|gC],[114,V|T|4096],[114],[47],[46,V|U|4096],[48],[49],[168,R|U|W,hB|U|4096],[169,R|S|W,hB|U|4096],[170,R|U|W,SB|4096],[171,R|S|W,SB|4096],[3,V|U],[2,V|U],[118],[161],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[85,lB|U|4096],[86,lB|U|4096],[84,lB|U|4096],[52,lB|U|4096],[43,
|
||||
RB|8192,V|U|4096],[43,TB|8192,V|U|4096],[101,V|U|4096,RB|4096],[101,V|U|4096,TB|4096],[17,lB|S|4096],[57,lB|S|4096],[57,V|$A|4096],[57,lB|U|4096],[43,RB|8192,VB|T|4096],[43,TB|8192,VB|T|4096],[101,VB|T|4096,RB|4096],[101,VB|T|4096,TB|4096],[81,VA],[0],[111,VA],[112,VA],[39],[23],[172,R|U|W],[173,R|S|W],[19],[148],[21],[150],[20],[149],[174,R|U|W],[175,R|S|W]],GA={0:[177,R|T|W],1:[178,R|T|W],2:[69,T|8368|gC,T|4240],3:[87,T|8368|gC,T|4240],5:[QA,gC],6:[22,gC],7:[QA,Y],32:[90,XA|ZA|8192|Y,vB|ZA|4096],
|
||||
33:[90,XA|ZA|8192|Y,wB|ZA|4096],34:[90,vB|ZA|8192|Y,XA|ZA|4096],35:[90,wB|ZA|8192|Y,XA|ZA|4096],36:[90,XA|ZA|8192|Y,yB|ZA|4096],38:[90,yB|ZA|8192|Y,XA|ZA|4096],128:[64,lB|S|4096|Y],129:[60,lB|S|4096|Y],130:[51,lB|S|4096|Y],131:[59,lB|S|4096|Y],132:[67,lB|S|4096|Y],133:[63,lB|S|4096|Y],134:[50,lB|S|4096|Y],135:[58,lB|S|4096|Y],136:[66,lB|S|4096|Y],137:[62,lB|S|4096|Y],138:[65,lB|S|4096|Y],139:[61,lB|S|4096|Y],140:[55,lB|S|4096|Y],141:[54,lB|S|4096|Y],142:[56,lB|S|4096|Y],143:[53,lB|S|4096|Y],144:[135,
|
||||
R|U|8192|Y],145:[131,R|U|8192|Y],146:[124,R|U|8192|Y],147:[130,R|U|8192|Y],148:[138,R|U|8192|Y],149:[134,R|U|8192|Y],150:[123,R|U|8192|Y],151:[129,R|U|8192|Y],152:[137,R|U|8192|Y],153:[133,R|U|8192|Y],154:[136,R|U|8192|Y],155:[132,R|U|8192|Y],156:[127,R|U|8192|Y],157:[126,R|U|8192|Y],158:[128,R|U|8192|Y],159:[125,R|U|8192|Y],160:[108,eC|4096|Y],161:[103,eC|8192|Y],163:[13,R|S|4096|Y,S|4272],164:[141,R|S|8192|Y,S|4272,V|U|4096],165:[141,R|S|8192|Y,S|4272,SB|4096],166:[159,S|8368|Y,R|S|4096,TB|4096,
|
||||
SB|4096],167:[40,R|S|8192|Y,TB|4096,SB|4096,S|4272],168:[108,fC|4096|Y],169:[103,fC|8192|Y],171:[16,R|S|8192|Y,S|4272],172:[143,R|S|8192|Y,S|4272,V|U|4096],173:[143,R|S|8192|Y,S|4272,SB|4096],175:[42,R|S|W|Y,S|4272],178:[88,S|8368,4246],179:[15,R|S|8192|Y,S|4272],180:[74,S|8368,4246],181:[76,S|8368,4246],182:[94,S|8368|Y,R|U|4096],183:[94,ZA|8368|Y,R|T|4096],186:[179,R|S|W|Y,V|U|4096],187:[14,R|S|8192|Y,S|4272],188:[11,S|8368|Y,R|S|4096],189:[12,S|8368|Y,R|S|4096],190:[93,S|8368|Y,R|U|4096],191:[93,
|
||||
ZA|8368|Y,R|T|4096]},IA={216:{0:[9,R|bB|4096],1:[18,R|bB|4096],2:[34,R|bB|4096],3:[35,R|bB|4096],4:[12,R|bB|4096],5:[15,R|bB|4096],6:[21,R|bB|4096],7:[24,R|bB|4096],48:[9,X|mB|8192,X|nB|4096],49:[18,X|mB|8192,X|nB|4096],50:[34,X|mB|8192,X|nB|4096],51:[35,X|mB|8192,X|nB|4096],52:[12,X|mB|8192,X|nB|4096],53:[15,X|mB|8192,X|nB|4096],54:[21,X|mB|8192,X|nB|4096],55:[24,X|mB|8192,X|nB|4096]},217:{0:[0,R|bB|4096],2:[1,R|bB|8192],3:[2,R|bB|8192],4:[68,R|4111],5:[59,R|T|4096],6:[66,R|8207],7:[60,R|T|8192],
|
||||
48:[0,X|nB|8192],49:[3,X|nB|8192],50:[76],51:[2,X|nB|8192],64:[33],65:[32],68:[39],69:[40],80:[47],81:[49],82:[50],83:[48],84:[51],85:[52],86:[46],96:[43],97:[44],98:[41],99:[42],100:[31],102:[73],103:[72],112:[29],113:[45],114:[27],116:[30],117:[28]},218:{0:[11,R|aB|4096],1:[20,R|aB|4096],2:[37,R|aB|4096],3:[38,R|aB|4096],4:[14,R|aB|4096],5:[17,R|aB|4096],6:[23,R|aB|4096],7:[26,R|aB|4096]},219:{0:[4,R|aB|4096],2:[5,R|aB|8192],3:[6,R|aB|8192],5:[0,R|eB|4096],7:[2,R|eB|8192],64:[57],65:[55],66:[64],
|
||||
67:[53],68:[78,gC],115:[79,Y]},220:{0:[9,R|dB|4096],1:[18,R|dB|4096],2:[34,R|dB|4096],3:[35,R|dB|4096],4:[12,R|dB|4096],5:[15,R|dB|4096],6:[21,R|dB|4096],7:[24,R|dB|4096],48:[9,X|nB|8192,X|mB|4096],49:[18,X|nB|8192,X|mB|4096],50:[34,X|nB|4096],51:[35,X|nB|4096],52:[15,X|nB|8192,X|mB|4096],53:[12,X|nB|8192,X|mB|4096],54:[24,X|nB|8192,X|mB|4096],55:[21,X|nB|8192,X|mB|4096]},221:{0:[0,R|dB|4096],2:[1,R|dB|8192],3:[2,R|dB|8192],4:[71,R|4111],6:[69,R|8207],7:[62,R|T|8192],48:[74,X|nB|4096],49:[3,X|nB|
|
||||
8192],50:[1,X|nB|4096],51:[2,X|nB|4096]},222:{0:[11,R|T|4096],1:[20,R|T|4096],2:[37,R|T|4096],3:[38,R|T|4096],4:[14,R|T|4096],5:[17,R|T|4096],6:[23,R|T|4096],7:[26,R|T|4096],48:[10,X|nB|8192,X|mB|4096],49:[19,X|nB|8192,X|mB|4096],50:[35,X|nB|4096],51:[36,X|nB|4096],52:[16,X|nB|8192,X|mB|4096],53:[13,X|nB|8192,X|mB|4096],54:[25,X|nB|8192,X|mB|4096],55:[22,X|nB|8192,X|mB|4096]},223:{0:[4,R|T|4096],2:[5,R|T|8192],3:[6,R|T|8192],4:[7,R|fB|4096],5:[4,R|cB|4096],6:[8,R|fB|8192],7:[6,R|cB|8192],48:[75,X|
|
||||
nB|4096],49:[3,X|nB|8192],50:[2,X|nB|4096],51:[2,X|nB|4096],52:[80,gC]}},KA=[[[6,R|U|W,V|U|4096],[99,R|U|W,V|U|4096],[5,R|U|W,V|U|4096],[120,R|U|W,V|U|4096],[7,R|U|W,V|U|4096],[154,R|U|W,V|U|4096],[162,R|U|W,V|U|4096],[24,R|U|4096,V|U|4096]],[[6,R|S|W,V|S|4096],[99,R|S|W,V|S|4096],[5,R|S|W,V|S|4096],[120,R|S|W,V|S|4096],[7,R|S|W,V|S|4096],[154,R|S|W,V|S|4096],[162,R|S|W,V|S|4096],[24,R|S|4096,V|S|4096]],[[6,R|S|W,V|iB|4096],[99,R|S|W,V|iB|4096],[5,R|S|W,V|iB|4096],[120,R|S|W,V|iB|4096],[7,R|S|W,V|
|
||||
iB|4096],[154,R|S|W,V|iB|4096],[162,R|S|W,V|iB|4096],[24,R|S|4096,V|iB|4096]],[[115,R|U|W|gC,V|U|4096],[116,R|U|W|gC,V|U|4096],[109,R|U|W|gC,V|U|4096],[110,R|U|W|gC,V|U|4096],[140,R|U|W|gC,V|U|4096],[142,R|U|W|gC,V|U|4096],Uy,[119,R|U|W|gC,V|U|4096]],[[115,R|S|W|gC,V|U|4096],[116,R|S|W|gC,V|U|4096],[109,R|S|W|gC,V|U|4096],[110,R|S|W|gC,V|U|4096],[140,R|S|W|gC,V|U|4096],[142,R|S|W|gC,V|U|4096],Uy,[119,R|S|W|gC,V|U|4096]],[[115,R|U|W,hB|U|4096],[116,R|U|W,hB|U|4096],[109,R|U|W,hB|U|4096],[110,R|U|W,
|
||||
hB|U|4096],[140,R|U|W,hB|U|4096],[142,R|U|W,hB|U|4096],Uy,[119,R|U|W,hB|U|4096]],[[115,R|S|W,hB|U|4096],[116,R|S|W,hB|U|4096],[109,R|S|W,hB|U|4096],[110,R|S|W,hB|U|4096],[140,R|S|W,hB|U|4096],[142,R|S|W,hB|U|4096],Uy,[119,R|S|W,hB|U|4096]],[[115,R|U|W,SB|4096],[116,R|U|W,SB|4096],[109,R|U|W,SB|4096],[110,R|U|W,SB|4096],[140,R|U|W,SB|4096],[142,R|U|W,SB|4096],Uy,[119,R|U|W,SB|4096]],[[115,R|S|W,SB|4096],[116,R|S|W,SB|4096],[109,R|S|W,SB|4096],[110,R|S|W,SB|4096],[140,R|S|W,SB|4096],[142,R|S|W,SB|4096],
|
||||
Uy,[119,R|S|W,SB|4096]],[[155,R|U|4096,V|U|4096],Uy,[98,R|U|W],[96,R|U|W],[95,R|U|4096],[42,R|U|W],[32,R|U|4096],[41,R|U|W]],[[155,R|S|4096,V|S|4096],Uy,[98,R|S|W],[96,R|S|W],[95,R|S|4096],[42,R|S|W],[32,R|S|4096],[41,R|S|W]],[[44,R|U|W],[31,R|U|W],Uy,Uy,Uy,Uy,Uy,Uy],[[44,R|S|W],[31,R|S|W],[17,R|S|4096],[17,R|$A|4096],[57,R|S|4096],[57,R|$A|4096],[108,R|S|4096],Uy],[],[[145,R|T|8192|gC],[153,R|T|8192|gC],[78,R|T|4096|gC],[89,R|T|4096|gC],[156,R|T|4096|gC],[157,R|T|4096|gC],Uy,Uy],[[139,R|T|8192|gC],
|
||||
[144,R|T|8192|gC],[75,R|T|4096|gC],[77,R|T|4096|gC],[146,R|T|8192|gC],Uy,[79,R|T|4096|gC],Uy],[Uy,Uy,Uy,Uy,[13,R|S|4096|Y,V|U|4096],[16,R|S|8192|Y,V|U|4096],[15,R|S|8192|Y,V|U|4096],[14,R|S|8192|Y,V|U|4096]]],Zy={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},cz={PREV_TSS:0,CPL0_SP:2,
|
||||
CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42},dz={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,
|
||||
TASK_IOPM:100};cb(function(){for(var a=zb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new Ny(d);yb(d,c)}});
|
||||
function hC(a,b,c){pb.call(this,"Computer",a,67108864);var d=this;iC(this,b);this.U=Ad(this,"autoPower",a);this.D=+Ad(this,"diagnostics",a);0<=this.D&&2>=this.D||(this.D=1);this.F=0;this.pa=a.busWidth||a.buswidth;this.A=jC;this.P=null;this.L=this.ha=!1;this.ra=Ad(this,"url")||"";this.ta=(Math.random()+.1).toString(36).substr(2,12);this.B=kC(this);if(this.G=xb("CPU",this.id)){this.ca=xb("Debugger",this.id);this.C=[];for(b=null;b=ac(this,"Video",b);)this.C.push(b);this.oa=new oc({id:this.de+".bus",
|
||||
busWidth:this.pa},this.G,this.ca);var e=Bb(this.id);this.K=(this.J=xb("Panel",this.id))&&this.J.ma.print;this.ka=this.Da;this.la=this.print;this.qa=this.O;this.K&&(this.ka=this.J.Da,this.la=this.J.print,this.qa=this.J.O);for(b=0;b<e.length;b++){var f=e[b];f.Da=function(a,b,c){lC(d,a);return d.ka.call(this,a,b,c)}.bind(f);f.print=function(a){return d.la.call(this,a)}.bind(f);f.O=function(a,b,c){lC(d,a,b);return d.qa.call(this,a,b,c)}.bind(f)}this.I=0;!this.K&&this.D&&mC(this);this.O("PCx86 v1.37.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");
|
||||
for(b=0;b<e.length;b++)f=e[b],f.tc&&f.tc(this,this.oa,this.G,this.ca);Bd(this.G,this.id,function(){Yd(d)},1E3/nC);b=null;f=Ad(this,"resume");void 0!==f&&(1<f.length?b=this.N=f:this.A=parseInt(f,10));f=!1;e=Xa("state");e||(f=!0,e=Ad(this,"state",a));e&&(b=this.ba=e,f||(this.L=!0,this.A=jC),this.A&&(this.V=new ag(this,"1.37.0"),this.V.load()?b=null:delete this.V));!b&&this.A&&(b=oC(this))&&(this.L=!0);if(this.ea=b){var g="Loading "+this.ea+"...";Ma(this.ea,null,!0,function(a,b,c){c?(d.N=null,d.L=!1,
|
||||
d.Da("Unable to load machine state from server (error "+c+(b?": "+Da(b):"")+")")):(d.P=b,d.ha=!0);Pb(d)},function(){d.O(g,Kb)})}else Pb(this);this.ma.power||(this.U=!0);!c&&this.U&&this.$e(this.Ve)}else kb("Unable to find CPU component")}ia(hC,pb);function KB(a){a.K&&(a.K.value="")}function mC(a){if(!a.I)for(var b=0;b<a.C.length;b++){var c=a.C[b];c&&(c=c.lg)&&(c.style.opacity="1",c.style.lineHeight="1",a.I++)}}
|
||||
function lC(a,b,c){if(a.I)for(var d=0;d<a.C.length;d++){var e=a.C[d];e&&(e=e.lg)&&(c!=Kb||"..."!=b.slice(-3)?ub(e,b+"\n"):vb(e,b,b+"."))}}function Eq(a){var b=a.D;3==a.D&&(a.D++,Pb(a));return!b}function iC(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){kb(d.message+" ("+c+")")}}a.M=b}function Ad(a,b,c){var d=Xa(b);void 0===d&&a.M&&(d=a.M[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}l=hC.prototype;
|
||||
l.$e=function(a,b){for(var c=this,d=Bb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!Ob(f)){Ob(f,function(){c.$e(a,b)});return}}a.call(this,b)};function pC(a,b){var c=new ag(a,"1.37.0",qC);if(c.load()&&rC(c)){var d=c.get(sC),e=b?b.get(sC):"unknown";d!=e&&(a.Da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
l.Ve=function(a){void 0===a&&(a=this.A||(this.P?tC:jC));if(!this.F){this.F++;var b=!1,c=!1;this.fa=!1;var d=this.V||new ag(this,"1.37.0");if(a==Kd)b=!0;else if(a>jC){if(d.load(this.P)){this.H=new ag(this,"1.37.0",uC);this.H.load()&&(a!=tC&&vC(this,d)&&(a=wC),xC(this.H));this.H.set(sC,Ga("Y-m-d H:i:s"));yC(this.H);var e=this.A&&!this.L;if(a==tC||tb("Click OK to restore the previous PCx86 machine state.")){if(c=rC(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.Da("Error: "+g),"unable to verify user"==g&&(Ta(zC,""),this.B=null)):this.O(f+": "+g),xC(d),d.load()?(c=rC(d),e=!0):c=!1))}e&&pC(this,c?d:null)}else a==wC&&d.clear()}else pC(this);delete this.P;delete this.V}e=Bb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.G&&(c=AC(this,g,d,b,c));b=[d,a,c];a!=Kd?this.$e(this.Xg,b):this.Xg(b)}};
|
||||
function AC(a,b,c,d,e){if(!b.Z.ac){b.Z.ac=!0;if(b.$b){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.$b(f,d)&&f&&(b.Da("Unable to restore hardware state")&&(a.ba&&!a.ha?(c.clear(),a.A=jC,window&&window.location.reload()):a.fa=!0),b.$b(null),e=!1)}b.Z.nf=!0;if(!d&&b.rj)for(a=b.rj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.Xg=function(a){if(!this.Z.nf){a:{if(this.I){if(2==this.D){this.D++;this.O("Press any key to continue...");var b=!1;break a}for(b=0;b<this.C.length;b++){var c=this.C[b];if(c&&(c=c.lg)){var d=Oa();c.style.opacity="0";c.style.lineHeight="0";if(0<=d.indexOf("MSIE")||0<=d.indexOf("Trident"))c.style.fontSize="0";c.value=""}}this.I=0}this.D=0;b=!0}if(!b){Pb(this,!1);this.$e(this.Xg,a);return}this.Z.nf=!0}b=a[0];c=0>a[1];a=a[2];if(d=this.ma.power)d.textContent="Shutdown";this.Z.ac=!0;this.G&&(AC(this,this.G,
|
||||
b,c,a),this.G.he());this.fa&&(vC(this,b),b.clear());!c&&this.H&&(this.H.clear(),delete this.H);this.F=0;Db(this.de,Ad(this,"autoScript"))};function vC(a,b){if(!a.Z.we){if(tb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.37.0"};d.url=a.ra;d.user=c;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
function PB(a,b,c){var d="none";if(a.F)return null;a.F--;var e=new ag(a,"1.37.0"),f=new ag(a,"1.37.0",qC),g=Ga("Y-m-d H:i:s");f.set(sC,g);e.set(sC,g);e.set(BC,"1.37.0");e.set(CC,window?window.location.href:null);e.set(DC,Oa());if(a.G&&a.G.Zb){var h=a.G.Zb(b,c);"object"===typeof h&&e.set(a.G.id,h);c&&(a.G.Z.ac=!1,!1===h&&(d=null))}g=Bb(a.id);for(var k=0;k<g.length;k++){var m=g[k];m.Z.ac&&(m.Zb&&(h=m.Zb(b,c),"object"===typeof h&&e.set(m.id,h)),c&&(m.Z.ac=!1,!1===h&&(d=null)))}d&&(c?(g=h=!1,b?(a.B&&
|
||||
NC(a,a.B,e.toString()),yC(f)&&yC(e)||(d=null,h=g=!0)):a.A&&(h=!0,g=a.A==OC),h&&e.clear(g)):d=e.toString());c&&(a.Z.ac=!1,b=a.ma.power)&&(b.textContent="Power");a.F=0;return d}l.reset=function(){this.oa&&this.oa.reset&&(Tb(this,"Resetting "+this.oa.type),this.oa.reset());for(var a=Bb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&(Tb(this,"Resetting "+c.type),c.reset())}};
|
||||
function DA(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.fa&&(a.O("ended assemble at "+mz(a.ea)),a.N=a.ea,a.fa=!1),b="";else if(!c){var e=">> ";a.G.ra&1&&(e=a.G.P&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Aa=null;if(Ob(a)&&0<b.length){a.fa&&(b="a "+mz(a.ea)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var v=
|
||||
wz(a,g[1],!0);if(v)if(a.ea=v,void 0===g[2])a.O("begin assemble at "+mz(v)),a.fa=!0,Fd(a.G);else{a.O("not supported yet");var u=[];if(u.length){for(var A=0;A<u.length;A++)a.ub(v,u[A],1);a.O(EA(a,a.ea))}}break;case "b":a:{var J=g[0],H=g[1],G=b;if("?"==H)a.O("breakpoint commands:"),a.O("\tbi [p]\ttoggle break on input port [p]"),a.O("\tbo [p]\ttoggle break on output port [p]"),a.O("\tbp [a]\tset exec breakpoint at addr [a]"),a.O("\tbr [a]\tset read breakpoint at addr [a]"),a.O("\tbw [a]\tset write breakpoint at addr [a]"),
|
||||
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var P=J.charAt(1);if("l"==P){var I=0+CA(a,a.B);I+=CA(a,a.V);(I+=CA(a,a.L))||a.O("no breakpoints")}else if("n"==P)a.wa=Ey(a,H),a.O("break after "+a.wa+" instruction(s)");else if(void 0===H)a.O("missing breakpoint address");else{var oa={};if("*"!=H&&(oa=wz(a,H,!0,!0),!oa))break a;H=null==oa.Ja?H:wa(oa.Ja);"c"==P?null==oa.Ja?(Qy(a),a.O("all breakpoints cleared")):lz(a,
|
||||
a.B,oa)||lz(a,a.V,oa)||lz(a,a.L,oa)||a.O("breakpoint missing: "+mz(oa)):"i"==P?a.O("breakpoint "+(Oc(a.oa,oa.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==P?a.O("breakpoint "+(Tc(a.oa,oa.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=oa.Ja&&(zz(a,oa,G),"p"==P?a.rd(a.B,oa):"r"==P?a.rd(a.V,oa):"w"==P?a.rd(a.L,oa):a.O("unknown breakpoint command: "+P))}}}break;case "c":LB(a.na);break;case "d":a:{var Z=g,hb,ra=Z[0],ib=Z[1],Sb=Z[2],Jb=Z[3];if("?"==ib){var cc="";for(hb in Zb)a.Fa[hb]&&
|
||||
(cc&&(cc+=","),cc+=hb);cc+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");cc.length&&a.O("dump extension commands:\n\t"+cc)}else if("state"==ib){var vc=QB(a.na,!0);vc?"console"==Sb?console.log(vc):
|
||||
(LB(a.na),a.O(vc)):a.O("powerOff() error")}else if("symbols"==ib)for(var jb=0;jb<a.F.length;jb++){var gf=a.F[jb],Sd;for(Sd in gf.Id)if("."!=Sd.charAt(0)){var hf=gf.Id[Sd],Eg=hf.o;if(void 0!==Eg){var jf=hf.s;void 0===jf&&(jf=gf.T);var Fg=gf.Id[Sd].l;Fg&&(Sd=Fg);a.O(bz(Eg,jf)+" "+Sd)}}}else{if("ds"==ra||"dg"==ra||"dl"==ra)ra="d",Z=[ra,"desc",ib];"d"==ra&&"page"==ib&&(ra="dp",Z.shift());if("dp"==ra){Z.shift();var Cm=Z[0];if(Cm){var Zg=a.Vb(wz(a,Cm));if(-1===Zg)a.O("invalid address: "+Cm);else{var tf,
|
||||
Ra=null;if(80386<=a.G.da){var uf=a.oa;Ra={};Ra.Dk=(Zg&-4194304)>>>20;Ra.Qi=a.G.wc+Ra.Dk;Ra.pb=uf.aa[(Ra.Qi&uf.C)>>>uf.A];Ra.wj=Ra.pb.Nd(Ra.Dk);Ra.Ek=(Zg&4190208)>>>10;Ra.Ri=(Ra.wj&-4096)+Ra.Ek;Ra.qb=uf.aa[(Ra.Ri&uf.C)>>>uf.A];Ra.xj=Ra.qb.Nd(Ra.Ek);Ra.ml=(Ra.xj&-4096)+(Zg&4095)}if(tf=Ra){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var ij="%"+q(Zg);ij+=" %%"+Bz(tf.Qi,tf.wj);ij+=" %%"+
|
||||
Bz(tf.Ri,tf.xj,!0);ij+=" %%"+q(tf.ml);a.O(ij)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ra){if("disk"==ib){Z[0]="l";Z[1]="json";KB(a,Z);break a}for(hb in Zb)if(Z[1]==hb){var Mt=a.Fa[hb];Mt?(Z.shift(),Z.shift(),Mt(Z)):a.O("no dump registered for "+ib);break a}ib||(ra=a.mb||"db")}if("dh"==ra){var Nt=ib,Ot=Sb,$g=Jb;$g=void 0===$g?"history":$g;var Pt="",Qt=0,Rc=a.qa,rd=a.U;if(rd.length){var Ac=+Nt||a.Ra,ah=+Ot||10;isNaN(Ac)?Ac=ah:Pt="more ";Ac>rd.length&&(a.O("note: only "+
|
||||
rd.length+" available"),Ac=rd.length);Rc-=Ac;0>Rc&&(null==rd[rd.length-1].T?(Ac=Rc+Ac,Rc=0):Rc+=rd.length);var Dm=[];"call"==Ot&&(ah=1E5,Dm=["CALL"]);for(void 0!==Nt&&a.O(Ac+" instructions earlier:");0<ah&&Rc!=a.qa;){var sd=rd[Rc++];if(null==sd.T)break;var bh=Py(a,sd.Ja,sd.T,sd.za,sd.type,sd.Jb,sd.ec),Rt=Ac--;null!=sd.dj&&"cycles"==$g&&(Rt=sd.dj);var St=EA(a,bh,$g,Rt);(!Dm.length||0<=St.indexOf(Dm[0]))&&a.O(St);bh.De&&(Rc+=bh.De,ah-=bh.De,Ac-=bh.De);Rc>=rd.length&&(Rc=0);a.Ra=Ac;Qt++;ah--}}Qt||(a.O("no "+
|
||||
Pt+"history available"),a.Ra=void 0)}else if("di"==ra){Z.shift();var Em=Z[0];if(Em){var ch=Ey(a,Em);if(void 0===ch||0>ch||255<ch)a.O("invalid vector: "+Em);else{var Tt="&",Ut=!!(a.G.ra&1),Vt=!1,jj=a.G.Qb+(ch<<(Ut?3:2)),Wt=a.G.ja(jj+0),FC=a.G.ja(jj+2);Ut&&(Tt="#",a.G.ja(jj+4)&2048&&(Vt=!0,Wt|=a.G.ja(jj+6)<<16));a.O("dumpIDT("+wa(ch)+"): "+Tt+q(FC,4)+":"+q(Wt,Vt?8:4))}}else a.O("no IDT vector")}else if("dt"==ra)Z.shift(),a.O("no information");else if(ra[1]&&0>"abwd".indexOf(ra[1]))a.O("unrecognized dump command");
|
||||
else{a.mb=ra;var Fe=wz(a,ib);if(Fe&&(null!=Fe.T||null!=Fe.za)){var vf=0;if(Sb){if("l"==Sb.charAt(0))Sb=Sb.substr(1)||Jb,vf=Ey(a,Sb);else{var Xt=wz(a,Sb);if(!Xt)break a;vf=Xt.Ja-Fe.Ja+1}if(0>vf||65536<vf)vf=0}var Ge="",Fm=!1,wf="dd"==ra?4:"dw"==ra?2:1,dh=wf*vf||128,Gm=dh+15>>4||1,Hm=4==wf?16:a.D;"a"==ra[1]&&(Fm=!0,Gm=25,Hm=160,dh=Gm*Hm);for(;Gm--&&0<dh;){var kj=0,Im=0,eh,Jm="",lj="";ib=mz(Fe);for(eh=Hm;0<eh&&0<dh;eh--){var mj=a.ya(Fe,1);kj|=mj<<(Im++<<3);Im==wf&&(Jm+=8==a.D?ua(kj,3*wf):q(kj,2*wf),
|
||||
Jm+=1==wf?9==eh?"-":" ":" ",kj=Im=0);lj+=32<=mj&&128>mj?String.fromCharCode(mj):Fm?"":".";dh--}Ge&&(Ge+="\n");Ge=Fm?Ge+lj:Ge+(ib+" "+Jm+Ca(lj,lj.length+3*eh+1,!0))}Ge&&a.O(Ge.replace(/\s*$/,""));a.Ca=Fe}}}}}break;case "e":if("else"==g[0])break;var nj=1,Yt=255,Zt=a.ya,$t=a.ub;"ew"==g[0]&&(nj=2,Yt=65535,Zt=a.Vc,$t=a.al);var au=nj<<1,bu=g[1];if(null==bu)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var oj=wz(a,bu);if(oj)for(var pj=
|
||||
2;pj<g.length;pj++){var fh=Ky(a,g[pj]);if(void 0===fh){a.O("unrecognized value: "+g[pj]);break}fh&~Yt&&a.O("warning: "+q(fh)+" exceeds "+nj+"-byte value");var GC=Zt.call(a,oj);a.O("changing "+mz(oj)+" from "+q(GC,au,!0)+" to "+q(fh,au,!0));$t.call(a,oj,fh,nj)}}break;case "f":HB(a,g[1]);break;case "g":a:{var cu=g[1],HC=b;"gt"==g[0]&&(a.Ga=!0);if(void 0!==cu){var Km=wz(a,cu,!0);if(!Km)break a;zz(a,Km,HC);a.rd(a.B,Km,!0)}uA(a,c)&&Hd(a.G,!0,c)}break;case "h":rk(a)||Qb(a,!0)||c||a.O("already halted");
|
||||
break;case "i":if("if"==g[0]){var gh=b.substr(2);gh=Da(gh);if(Ky(a,gh)){c||a.O("true: "+gh);var du=!0}else c||a.O("false: "+gh),du=!1;du||(d=!1);break}if("int"==g[0]){a:switch(Ey(a,g[1])){case 19:al(a,19,a.G.ea,!0);a.ka=a.ba;var Lm=!0;break a;case 33:al(a,33,a.G.ea,!0);a.ka=a.ba;Lm=!0;break a;default:Lm=!1}Lm||(d=!1);break}var Mm=g[1];if(Mm&&"?"!=Mm){var Nm=Ey(a,Mm);if(void 0!==Nm){var IC=Qc(a.oa,Nm,1);a.O(wa(Nm)+": "+va(IC))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");
|
||||
break;case "k":var JC=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var Om=0,eu=a.G.ba.T,hh=Py(a),$d=Py(a,y(a.G),a.G.U.T);for(a.O("stack trace for "+mz($d));10>Om;){for(var td=null,KC=256;$d.Ja>>>0<a.G.Mg>>>0;){hh.Ja=a.nb($d,!0);if(null==$d.za||!KC--)break;hh.T=eu;if(td=OB(a,hh))break;hh.T=a.nb($d);if(td=OB(a,hh,!0)){eu=a.nb($d,!0);0<td.indexOf("INT")&&a.nb($d,!0);break}}if(!td||null==td)break;var fu=null;if("ks"==JC){var gu=
|
||||
td.match(/[0-9A-F]+$/);gu&&(fu=JB(a,gu[0]))}td=Ca(td,50)+" ;"+(fu||"stack="+mz($d));a.O(td);Om++}Om||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){JB(a,g[1],!0);break}KB(a,g);break;case "m":if("mouse"==g[0]){var Pm=g[1],qj=g[2];if(a.H){var hu=1;"-"==qj.charAt(0)&&(hu=-1,qj=qj.substr(1));var He=Ey(a,qj,Pm);if(void 0!==He)switch(He=He*hu|0,Pm){case "x":a.H.rf(He,0);break;case "y":a.H.rf(0,He);break;case "click":a.H.Xd(He,!0);a.H.Xd(He,!1);break;default:a.O("unknown action: "+Pm)}}else a.O("no mouse");
|
||||
break}a:{var ud,vd=null,eb=g[1];"?"==eb&&(eb=void 0);if(void 0!==eb){var ae=0;if("all"==eb)ae=1610481663,eb=null;else if("on"==eb)vd=!0,eb=null;else if("off"==eb)vd=!1,eb=null;else{"keys"==eb&&(eb="key");"kbd"==eb&&(eb="keyboard");for(ud in Zb)if(eb==ud){ae=Zb[ud];vd=!!(a.dc&ae);break}if(!ae){a.O("unknown message category: "+eb);break a}}if(ae)if("on"==g[2])a.dc|=ae,vd=!0;else if("off"==g[2]&&(a.dc&=~ae,vd=!1,536870912==ae)){for(var Qm=0;Qm<a.Ba.length;Qm++)a.O(a.Ba[Qm]);a.Ba=[]}}var LC=0,ih="";for(ud in Zb)if(!eb||
|
||||
eb==ud){var MC=!!(a.dc&Zb[ud]);if(null===vd||vd==MC)ih&&(ih+=","),++LC%10||(ih+="\n\t"),"key"==ud&&(ud="keys"),ih+=ud}void 0===eb&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==vd?vd?"messages on: ":"messages off: ":"message categories:\n\t")+(ih||"none"));Ry(a)}break;case "o":var Rm=g[1],NC=g[2];if(Rm&&"?"!=Rm){var Sm=Ey(a,Rm,"port #"),Tm=Ey(a,NC);void 0!==Sm&&void 0!==Tm&&(Vc(a.oa,Sm,1,Tm),a.O(wa(Sm)+": "+va(Tm)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),
|
||||
a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){NB(a,b.substr(5));break}var iu="pr"==g[0]?1:0,xf=1+iu;if(a.K)a.O("step in progress");else{var ju=!1,Lb=Py(a,z(a.G),a.G.ba.T);do{var Um=!1;switch(a.ya(Lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:rz(a,Lb,1);Um=!0;break;case 204:case 206:a.K=xf;rz(a,Lb,1);break;case 205:case 224:case 225:case 226:a.K=xf;rz(a,Lb,Lb.Jb?4:2);break;case 232:a.K=xf;rz(a,Lb,Lb.Jb?5:3);break;case 154:a.K=
|
||||
xf;rz(a,Lb,Lb.Jb?7:5);break;case 255:var ku=a.nb(Lb)&14591;if(4351==ku||6399==ku)a.K=xf,EA(a,Lb);break;case 243:case 242:rz(a,Lb,1);ju=Um=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:ju&&(a.K=xf,rz(a,Lb,1))}}while(Um);a.K?(a.rd(a.B,Lb,!0),uA(a,void 0)&&Hd(a.G,void 0,void 0)||(a.na&&a.na.cd(),a.K=0)):PB(a,iu?"tr":"t")}break;case "r":if("reset"==b){a.na&&a.na.reset();break}vA(a,g);break;case "t":PB(a,g[0],g[1]);
|
||||
break;case "u":wA(a,g[1],g[2],8);break;case "v":if("var"==g[0]){IB(a,b.substr(3))||(d=!1);break}a.O("PCx86 version 1.37.0 ("+a.G.da+",RELEASE,NOPREFETCH"+(Vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(Oa());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var jh;void 0!==g[3]&&(jh=+g[3]);switch(g[2]){case "int":a.G.Y.Qe=jh;break;case "start":a.G.Y.vf=jh;break;case "stop":a.G.Y.Se=jh;break;default:a.O("unknown cs option");break a}void 0!==jh&&Ed(a.G);a.O("checksums "+(a.G.Z.He?"enabled":
|
||||
"disabled"));break;case "sp":void 0!==g[2]&&(Ld(a.G,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.G.Y.pe.toFixed(2)+"Mhz")+" ("+a.G.Y.Ad+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){NB(a,
|
||||
b.substr(1));break}var Vm="commands:",Wm;for(Wm in RB)Vm+="\n"+Ca(Wm,7)+RB[Wm];Og(a)||(Vm+="\nnote: frequency/history disabled if no exec breakpoints");a.O(Vm);break;default:a.O("unknown command: "+b),d=!1}}}catch(mu){a.O("debugger error: "+(mu.stack||mu.message)),d=!1}return d}function Ty(a,b,c){b=a.yg(b,c);for(var d in b)if(!DA(a,b[+d]))return!1;return!0}
|
||||
var rA={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},qA=[26,28,40,42,109],RB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
||||
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},xz=0,pz=1,Zy=2,Az=3,yz=4,qz=5,MA=18,NA=28,IA=36,RA=80,OA=104,PA=107,GA=176,FA="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
||||
KA="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
|
||||
MB=["VALID","ZERO ","SPEC ","EMPTY"],SA=2,TA=3,uB=[8086,80186,80286,80386],Ez=0,Fz=1,Gz=2,Hz=3,Iz=4,Jz=5,Kz=6,Lz=7,Mz=8,Nz=9,Oz=10,Pz=11,Qz=12,Rz=13,Sz=14,Tz=15,Vz=16,Uz=22,oA=23,bA=24,cA=25,dA=26,eA=27,fA=28,gA=29,hA=30,iA=31,jA=32,kA=33,lA=34,mA=35,yB=40,AB=48,nA=56,Cz=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2",
|
||||
"DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],Wz=0,Xz=1,Yz=2,Zz=3,$z=4,aA=5,ZA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),UA=15,XA=240,pB=3840,VA=0,U=1,jB=2,T=3,S=4,$A=5,aB=7,WA=8,nB=9,oB=10,bB=11,cB=11,dB=12,eB=12,fB=13,gB=14,V=0,iB=16,lB=32,mB=48,sB=64,tB=80,X=96,qB=112,R=128,YA=160,rB=192,wB=208,xB=224,zB=240,SB=Ez<<8|X|U,TB=Fz<<8|X|U,UB=Mz<<8|X|S,VB=Nz<<8|X|S,WB=Oz<<8|X|S,XB=Pz<<8|X|S,YB=Qz<<8|X|S,ZB=Rz<<8|X|S,$B=Sz<<8|X|S,aC=
|
||||
Tz<<8|X|S,bC=Wz<<8|qB|T,cC=Xz<<8|qB|T,dC=Yz<<8|qB|T,eC=Zz<<8|qB|T,fC=$z<<8|qB|T,gC=aA<<8|qB|T,W=12288,hC=SA<<14,Y=TA<<14,QA=14,tA=1E3,Vy=[0,VA],Wy=[GA,T|W],Uy=[[6,R|U|W,U|4272],[6,R|S|W,S|4272],[6,176|U|W,R|U|4096],[6,176|S|W,R|S|4096],[6,SB|W,V|U|4096],[6,UB|W,V|S|4096],[108,bC|4096],[103,bC|8192],[99,R|U|W,U|4272],[99,R|S|W,S|4272],[99,176|U|W,R|U|4096],[99,176|S|W,R|S|4096],[99,SB|W,V|U|4096],[99,UB|W,V|S|4096],[108,cC|4096],[103,cC|8192],[5,R|U|W,U|4272],[5,R|S|W,S|4272],[5,176|U|W,R|U|4096],
|
||||
[5,176|S|W,R|S|4096],[5,SB|W,V|U|4096],[5,UB|W,V|S|4096],[108,dC|4096],[103,dC|8192],[120,R|U|W,U|4272],[120,R|S|W,S|4272],[120,176|U|W,R|U|4096],[120,176|S|W,R|S|4096],[120,SB|W,V|U|4096],[120,UB|W,V|S|4096],[108,eC|4096],[103,eC|8192],[7,R|U|W,U|4272],[7,R|S|W,S|4272],[7,176|U|W,R|U|4096],[7,176|S|W,R|S|4096],[7,SB|W,V|U|4096],[7,UB|W,V|S|4096],[35,WA],[29],[154,R|U|W,U|4272],[154,R|S|W,S|4272],[154,176|U|W,R|U|4096],[154,176|S|W,R|S|4096],[154,SB|W,V|U|4096],[154,UB|W,V|S|4096],[27,WA],[30],[162,
|
||||
R|U|W,U|4272],[162,R|S|W,S|4272],[162,176|U|W,R|U|4096],[162,176|S|W,R|S|4096],[162,SB|W,V|U|4096],[162,UB|W,V|S|4096],[147,WA],[1],[24,R|U|4096,U|4272],[24,R|S|4096,S|4272],[24,U|4272,R|U|4096],[24,S|4272,R|S|4096],[24,SB|4096,V|U|4096],[24,UB|4096,V|S|4096],[33,WA],[4],[44,UB|W],[44,VB|W],[44,WB|W],[44,XB|W],[44,YB|W],[44,ZB|W],[44,$B|W],[44,aC|W],[31,UB|W],[31,VB|W],[31,WB|W],[31,XB|W],[31,YB|W],[31,ZB|W],[31,$B|W],[31,aC|W],[108,UB|4096],[108,VB|4096],[108,WB|4096],[108,XB|4096],[108,YB|4096],
|
||||
[108,ZB|4096],[108,$B|4096],[108,aC|4096],[103,UB|8192],[103,VB|8192],[103,WB|8192],[103,XB|8192],[103,YB|8192],[103,ZB|8192],[103,$B|8192],[103,aC|8192],[PA,VA|hC],[OA,VA|hC],[10,S|4272|hC,R|S|4096],[8,R|T|8192,T|4272],[37,WA|Y],[38,WA|Y],[100,WA|Y],[9,WA|Y],[108,V|S|4096|hC],[42,176|T|W|hC,R|S|4096,V|S|4096],[108,V|jB|4096|hC],[42,T|8368|hC,R|S|4096,V|U|4096],[45,tB|U|8192|hC,WB|4096],[45,tB|S|8192|hC,WB|4096],[102,WB|4096|hC,sB|U|4096],[102,WB|4096|hC,sB|S|4096],[64,mB|U|4096],[60,mB|U|4096],[51,
|
||||
mB|U|4096],[59,mB|U|4096],[67,mB|U|4096],[63,mB|U|4096],[50,mB|U|4096],[58,mB|U|4096],[66,mB|U|4096],[62,mB|U|4096],[65,mB|U|4096],[61,mB|U|4096],[55,mB|U|4096],[54,mB|U|4096],[56,mB|U|4096],[53,mB|U|4096],[163,R|U|W,V|U|4096],[164,R|S|W,V|S|4096],[163,R|U|W,V|U|4096],[165,R|S|W,V|U|4096],[155,R|U|4096,U|4272],[155,R|S|4096,S|4272],[160,176|U|W,R|U|W],[160,176|S|W,R|S|W],[90,R|U|8192,U|4272],[90,R|S|8192,S|4272],[90,U|8368,R|U|4096],[90,S|8368,R|S|4096],[90,R|S|8192,rB|T|4096],[71,S|8368,144|S],[90,
|
||||
rB|T|8192,R|S|4096],[103,R|S|8192],[97],[160,UB|W,VB|W],[160,UB|W,WB|W],[160,UB|W,XB|W],[160,UB|W,YB|W],[160,UB|W,ZB|W],[160,UB|W,$B|W],[160,UB|W,aC|W],[MA],[NA],[17,V|aB|4096],[158],[106],[105],[117],[68],[90,SB|8192,lB|U|4096],[90,UB|8192,lB|S|4096],[90,lB|U|8192,SB|4096],[90,lB|S|8192,UB|4096],[91,tB|U|8192,sB|U|4096],[92,tB|S|8192,sB|S|4096],[25,tB|U|4096,sB|U|4096],[26,tB|S|4096,sB|S|4096],[155,SB|4096,V|U|4096],[155,UB|4096,V|S|4096],[151,tB|U|8192,SB|4096],[152,tB|S|8192,UB|4096],[82,SB|8192,
|
||||
sB|U|4096],[83,UB|8192,sB|S|4096],[121,SB|4096,tB|U|4096],[122,UB|4096,tB|S|4096],[90,SB|8192,V|U|4096],[90,TB|8192,V|U|4096],[90,Gz<<8|X|U|8192,V|U|4096],[90,Hz<<8|X|U|8192,V|U|4096],[90,Iz<<8|X|U|8192,V|U|4096],[90,Jz<<8|X|U|8192,V|U|4096],[90,Kz<<8|X|U|8192,V|U|4096],[90,Lz<<8|X|U|8192,V|U|4096],[90,UB|8192,V|S|4096],[90,VB|8192,V|S|4096],[90,WB|8192,V|S|4096],[90,XB|8192,V|S|4096],[90,YB|8192,V|S|4096],[90,ZB|8192,V|S|4096],[90,$B|8192,V|S|4096],[90,aC|8192,V|S|4096],[166,R|U|W|16384,V|U|4096],
|
||||
[167,R|S|W|16384,V|U|4096],[113,V|T|4096],[113],[73,S|8368,4246],[70,S|8368,4246],[90,R|U|8192,V|U|4096],[90,R|S|8192,V|S|4096],[34,V|T|4096|hC,V|U|4096],[72,VA|hC],[114,V|T|4096],[114],[47],[46,V|U|4096],[48],[49],[168,R|U|W,iB|U|4096],[169,R|S|W,iB|U|4096],[170,R|U|W,TB|4096],[171,R|S|W,TB|4096],[3,V|U],[2,V|U],[118],[161],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[85,mB|U|4096],[86,mB|U|4096],[84,mB|U|4096],[52,mB|U|4096],[43,
|
||||
SB|8192,V|U|4096],[43,UB|8192,V|U|4096],[101,V|U|4096,SB|4096],[101,V|U|4096,UB|4096],[17,mB|S|4096],[57,mB|S|4096],[57,V|aB|4096],[57,mB|U|4096],[43,SB|8192,WB|T|4096],[43,UB|8192,WB|T|4096],[101,WB|T|4096,SB|4096],[101,WB|T|4096,UB|4096],[81,WA],[0],[111,WA],[112,WA],[39],[23],[172,R|U|W],[173,R|S|W],[19],[148],[21],[150],[20],[149],[174,R|U|W],[175,R|S|W]],HA={0:[177,R|T|W],1:[178,R|T|W],2:[69,T|8368|hC,T|4240],3:[87,T|8368|hC,T|4240],5:[RA,hC],6:[22,hC],7:[RA,Y],32:[90,YA|$A|8192|Y,wB|$A|4096],
|
||||
33:[90,YA|$A|8192|Y,xB|$A|4096],34:[90,wB|$A|8192|Y,YA|$A|4096],35:[90,xB|$A|8192|Y,YA|$A|4096],36:[90,YA|$A|8192|Y,zB|$A|4096],38:[90,zB|$A|8192|Y,YA|$A|4096],128:[64,mB|S|4096|Y],129:[60,mB|S|4096|Y],130:[51,mB|S|4096|Y],131:[59,mB|S|4096|Y],132:[67,mB|S|4096|Y],133:[63,mB|S|4096|Y],134:[50,mB|S|4096|Y],135:[58,mB|S|4096|Y],136:[66,mB|S|4096|Y],137:[62,mB|S|4096|Y],138:[65,mB|S|4096|Y],139:[61,mB|S|4096|Y],140:[55,mB|S|4096|Y],141:[54,mB|S|4096|Y],142:[56,mB|S|4096|Y],143:[53,mB|S|4096|Y],144:[135,
|
||||
R|U|8192|Y],145:[131,R|U|8192|Y],146:[124,R|U|8192|Y],147:[130,R|U|8192|Y],148:[138,R|U|8192|Y],149:[134,R|U|8192|Y],150:[123,R|U|8192|Y],151:[129,R|U|8192|Y],152:[137,R|U|8192|Y],153:[133,R|U|8192|Y],154:[136,R|U|8192|Y],155:[132,R|U|8192|Y],156:[127,R|U|8192|Y],157:[126,R|U|8192|Y],158:[128,R|U|8192|Y],159:[125,R|U|8192|Y],160:[108,fC|4096|Y],161:[103,fC|8192|Y],163:[13,R|S|4096|Y,S|4272],164:[141,R|S|8192|Y,S|4272,V|U|4096],165:[141,R|S|8192|Y,S|4272,TB|4096],166:[159,S|8368|Y,R|S|4096,UB|4096,
|
||||
TB|4096],167:[40,R|S|8192|Y,UB|4096,TB|4096,S|4272],168:[108,gC|4096|Y],169:[103,gC|8192|Y],171:[16,R|S|8192|Y,S|4272],172:[143,R|S|8192|Y,S|4272,V|U|4096],173:[143,R|S|8192|Y,S|4272,TB|4096],175:[42,R|S|W|Y,S|4272],178:[88,S|8368,4246],179:[15,R|S|8192|Y,S|4272],180:[74,S|8368,4246],181:[76,S|8368,4246],182:[94,S|8368|Y,R|U|4096],183:[94,$A|8368|Y,R|T|4096],186:[179,R|S|W|Y,V|U|4096],187:[14,R|S|8192|Y,S|4272],188:[11,S|8368|Y,R|S|4096],189:[12,S|8368|Y,R|S|4096],190:[93,S|8368|Y,R|U|4096],191:[93,
|
||||
$A|8368|Y,R|T|4096]},JA={216:{0:[9,R|cB|4096],1:[18,R|cB|4096],2:[34,R|cB|4096],3:[35,R|cB|4096],4:[12,R|cB|4096],5:[15,R|cB|4096],6:[21,R|cB|4096],7:[24,R|cB|4096],48:[9,X|nB|8192,X|oB|4096],49:[18,X|nB|8192,X|oB|4096],50:[34,X|nB|8192,X|oB|4096],51:[35,X|nB|8192,X|oB|4096],52:[12,X|nB|8192,X|oB|4096],53:[15,X|nB|8192,X|oB|4096],54:[21,X|nB|8192,X|oB|4096],55:[24,X|nB|8192,X|oB|4096]},217:{0:[0,R|cB|4096],2:[1,R|cB|8192],3:[2,R|cB|8192],4:[68,R|4111],5:[59,R|T|4096],6:[66,R|8207],7:[60,R|T|8192],
|
||||
48:[0,X|oB|8192],49:[3,X|oB|8192],50:[76],51:[2,X|oB|8192],64:[33],65:[32],68:[39],69:[40],80:[47],81:[49],82:[50],83:[48],84:[51],85:[52],86:[46],96:[43],97:[44],98:[41],99:[42],100:[31],102:[73],103:[72],112:[29],113:[45],114:[27],116:[30],117:[28]},218:{0:[11,R|bB|4096],1:[20,R|bB|4096],2:[37,R|bB|4096],3:[38,R|bB|4096],4:[14,R|bB|4096],5:[17,R|bB|4096],6:[23,R|bB|4096],7:[26,R|bB|4096]},219:{0:[4,R|bB|4096],2:[5,R|bB|8192],3:[6,R|bB|8192],5:[0,R|fB|4096],7:[2,R|fB|8192],64:[57],65:[55],66:[64],
|
||||
67:[53],68:[78,hC],115:[79,Y]},220:{0:[9,R|eB|4096],1:[18,R|eB|4096],2:[34,R|eB|4096],3:[35,R|eB|4096],4:[12,R|eB|4096],5:[15,R|eB|4096],6:[21,R|eB|4096],7:[24,R|eB|4096],48:[9,X|oB|8192,X|nB|4096],49:[18,X|oB|8192,X|nB|4096],50:[34,X|oB|4096],51:[35,X|oB|4096],52:[15,X|oB|8192,X|nB|4096],53:[12,X|oB|8192,X|nB|4096],54:[24,X|oB|8192,X|nB|4096],55:[21,X|oB|8192,X|nB|4096]},221:{0:[0,R|eB|4096],2:[1,R|eB|8192],3:[2,R|eB|8192],4:[71,R|4111],6:[69,R|8207],7:[62,R|T|8192],48:[74,X|oB|4096],49:[3,X|oB|
|
||||
8192],50:[1,X|oB|4096],51:[2,X|oB|4096]},222:{0:[11,R|T|4096],1:[20,R|T|4096],2:[37,R|T|4096],3:[38,R|T|4096],4:[14,R|T|4096],5:[17,R|T|4096],6:[23,R|T|4096],7:[26,R|T|4096],48:[10,X|oB|8192,X|nB|4096],49:[19,X|oB|8192,X|nB|4096],50:[35,X|oB|4096],51:[36,X|oB|4096],52:[16,X|oB|8192,X|nB|4096],53:[13,X|oB|8192,X|nB|4096],54:[25,X|oB|8192,X|nB|4096],55:[22,X|oB|8192,X|nB|4096]},223:{0:[4,R|T|4096],2:[5,R|T|8192],3:[6,R|T|8192],4:[7,R|gB|4096],5:[4,R|dB|4096],6:[8,R|gB|8192],7:[6,R|dB|8192],48:[75,X|
|
||||
oB|4096],49:[3,X|oB|8192],50:[2,X|oB|4096],51:[2,X|oB|4096],52:[80,hC]}},LA=[[[6,R|U|W,V|U|4096],[99,R|U|W,V|U|4096],[5,R|U|W,V|U|4096],[120,R|U|W,V|U|4096],[7,R|U|W,V|U|4096],[154,R|U|W,V|U|4096],[162,R|U|W,V|U|4096],[24,R|U|4096,V|U|4096]],[[6,R|S|W,V|S|4096],[99,R|S|W,V|S|4096],[5,R|S|W,V|S|4096],[120,R|S|W,V|S|4096],[7,R|S|W,V|S|4096],[154,R|S|W,V|S|4096],[162,R|S|W,V|S|4096],[24,R|S|4096,V|S|4096]],[[6,R|S|W,V|jB|4096],[99,R|S|W,V|jB|4096],[5,R|S|W,V|jB|4096],[120,R|S|W,V|jB|4096],[7,R|S|W,V|
|
||||
jB|4096],[154,R|S|W,V|jB|4096],[162,R|S|W,V|jB|4096],[24,R|S|4096,V|jB|4096]],[[115,R|U|W|hC,V|U|4096],[116,R|U|W|hC,V|U|4096],[109,R|U|W|hC,V|U|4096],[110,R|U|W|hC,V|U|4096],[140,R|U|W|hC,V|U|4096],[142,R|U|W|hC,V|U|4096],Vy,[119,R|U|W|hC,V|U|4096]],[[115,R|S|W|hC,V|U|4096],[116,R|S|W|hC,V|U|4096],[109,R|S|W|hC,V|U|4096],[110,R|S|W|hC,V|U|4096],[140,R|S|W|hC,V|U|4096],[142,R|S|W|hC,V|U|4096],Vy,[119,R|S|W|hC,V|U|4096]],[[115,R|U|W,iB|U|4096],[116,R|U|W,iB|U|4096],[109,R|U|W,iB|U|4096],[110,R|U|W,
|
||||
iB|U|4096],[140,R|U|W,iB|U|4096],[142,R|U|W,iB|U|4096],Vy,[119,R|U|W,iB|U|4096]],[[115,R|S|W,iB|U|4096],[116,R|S|W,iB|U|4096],[109,R|S|W,iB|U|4096],[110,R|S|W,iB|U|4096],[140,R|S|W,iB|U|4096],[142,R|S|W,iB|U|4096],Vy,[119,R|S|W,iB|U|4096]],[[115,R|U|W,TB|4096],[116,R|U|W,TB|4096],[109,R|U|W,TB|4096],[110,R|U|W,TB|4096],[140,R|U|W,TB|4096],[142,R|U|W,TB|4096],Vy,[119,R|U|W,TB|4096]],[[115,R|S|W,TB|4096],[116,R|S|W,TB|4096],[109,R|S|W,TB|4096],[110,R|S|W,TB|4096],[140,R|S|W,TB|4096],[142,R|S|W,TB|4096],
|
||||
Vy,[119,R|S|W,TB|4096]],[[155,R|U|4096,V|U|4096],Vy,[98,R|U|W],[96,R|U|W],[95,R|U|4096],[42,R|U|W],[32,R|U|4096],[41,R|U|W]],[[155,R|S|4096,V|S|4096],Vy,[98,R|S|W],[96,R|S|W],[95,R|S|4096],[42,R|S|W],[32,R|S|4096],[41,R|S|W]],[[44,R|U|W],[31,R|U|W],Vy,Vy,Vy,Vy,Vy,Vy],[[44,R|S|W],[31,R|S|W],[17,R|S|4096],[17,R|aB|4096],[57,R|S|4096],[57,R|aB|4096],[108,R|S|4096],Vy],[],[[145,R|T|8192|hC],[153,R|T|8192|hC],[78,R|T|4096|hC],[89,R|T|4096|hC],[156,R|T|4096|hC],[157,R|T|4096|hC],Vy,Vy],[[139,R|T|8192|hC],
|
||||
[144,R|T|8192|hC],[75,R|T|4096|hC],[77,R|T|4096|hC],[146,R|T|8192|hC],Vy,[79,R|T|4096|hC],Vy],[Vy,Vy,Vy,Vy,[13,R|S|4096|Y,V|U|4096],[16,R|S|8192|Y,V|U|4096],[15,R|S|8192|Y,V|U|4096],[14,R|S|8192|Y,V|U|4096]]],$y={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},dz={PREV_TSS:0,CPL0_SP:2,
|
||||
CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42},ez={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,
|
||||
TASK_IOPM:100};cb(function(){for(var a=zb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new Oy(d);yb(d,c)}});
|
||||
function iC(a,b,c){pb.call(this,"Computer",a,67108864);var d=this;jC(this,b);this.U=Ad(this,"autoPower",a);this.D=+Ad(this,"diagnostics",a);0<=this.D&&2>=this.D||(this.D=1);this.F=0;this.pa=a.busWidth||a.buswidth;this.A=kC;this.P=null;this.L=this.ha=!1;this.ra=Ad(this,"url")||"";this.ta=(Math.random()+.1).toString(36).substr(2,12);this.B=lC(this);if(this.G=xb("CPU",this.id)){this.ca=xb("Debugger",this.id);this.C=[];for(b=null;b=ac(this,"Video",b);)this.C.push(b);this.oa=new oc({id:this.de+".bus",
|
||||
busWidth:this.pa},this.G,this.ca);var e=Bb(this.id);this.K=(this.J=xb("Panel",this.id))&&this.J.ma.print;this.ka=this.Da;this.la=this.print;this.qa=this.O;this.K&&(this.ka=this.J.Da,this.la=this.J.print,this.qa=this.J.O);for(b=0;b<e.length;b++){var f=e[b];f.Da=function(a,b,c){mC(d,a);return d.ka.call(this,a,b,c)}.bind(f);f.print=function(a){return d.la.call(this,a)}.bind(f);f.O=function(a,b,c){mC(d,a,b);return d.qa.call(this,a,b,c)}.bind(f)}this.I=0;!this.K&&this.D&&nC(this);this.O("PCx86 v1.37.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");
|
||||
for(b=0;b<e.length;b++)f=e[b],f.tc&&f.tc(this,this.oa,this.G,this.ca);Bd(this.G,this.id,function(){Yd(d)},1E3/oC);b=null;f=Ad(this,"resume");void 0!==f&&(1<f.length?b=this.N=f:this.A=parseInt(f,10));f=!1;e=Xa("state");e||(f=!0,e=Ad(this,"state",a));e&&(b=this.ba=e,f||(this.L=!0,this.A=kC),this.A&&(this.V=new ag(this,"1.37.0"),this.V.load()?b=null:delete this.V));!b&&this.A&&(b=pC(this))&&(this.L=!0);if(this.ea=b){var g="Loading "+this.ea+"...";Ma(this.ea,null,!0,function(a,b,c){c?(d.N=null,d.L=!1,
|
||||
d.Da("Unable to load machine state from server (error "+c+(b?": "+Da(b):"")+")")):(d.P=b,d.ha=!0);Pb(d)},function(){d.O(g,Kb)})}else Pb(this);this.ma.power||(this.U=!0);!c&&this.U&&this.$e(this.Ve)}else kb("Unable to find CPU component")}ia(iC,pb);function LB(a){a.K&&(a.K.value="")}function nC(a){if(!a.I)for(var b=0;b<a.C.length;b++){var c=a.C[b];c&&(c=c.lg)&&(c.style.opacity="1",c.style.lineHeight="1",a.I++)}}
|
||||
function mC(a,b,c){if(a.I)for(var d=0;d<a.C.length;d++){var e=a.C[d];e&&(e=e.lg)&&(c!=Kb||"..."!=b.slice(-3)?ub(e,b+"\n"):vb(e,b,b+"."))}}function Eq(a){var b=a.D;3==a.D&&(a.D++,Pb(a));return!b}function jC(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){kb(d.message+" ("+c+")")}}a.M=b}function Ad(a,b,c){var d=Xa(b);void 0===d&&a.M&&(d=a.M[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}l=iC.prototype;
|
||||
l.$e=function(a,b){for(var c=this,d=Bb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!Ob(f)){Ob(f,function(){c.$e(a,b)});return}}a.call(this,b)};function qC(a,b){var c=new ag(a,"1.37.0",rC);if(c.load()&&sC(c)){var d=c.get(tC),e=b?b.get(tC):"unknown";d!=e&&(a.Da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
l.Ve=function(a){void 0===a&&(a=this.A||(this.P?uC:kC));if(!this.F){this.F++;var b=!1,c=!1;this.fa=!1;var d=this.V||new ag(this,"1.37.0");if(a==Kd)b=!0;else if(a>kC){if(d.load(this.P)){this.H=new ag(this,"1.37.0",vC);this.H.load()&&(a!=uC&&wC(this,d)&&(a=xC),yC(this.H));this.H.set(tC,Ga("Y-m-d H:i:s"));zC(this.H);var e=this.A&&!this.L;if(a==uC||tb("Click OK to restore the previous PCx86 machine state.")){if(c=sC(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.Da("Error: "+g),"unable to verify user"==g&&(Ta(AC,""),this.B=null)):this.O(f+": "+g),yC(d),d.load()?(c=sC(d),e=!0):c=!1))}e&&qC(this,c?d:null)}else a==xC&&d.clear()}else qC(this);delete this.P;delete this.V}e=Bb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.G&&(c=BC(this,g,d,b,c));b=[d,a,c];a!=Kd?this.$e(this.Xg,b):this.Xg(b)}};
|
||||
function BC(a,b,c,d,e){if(!b.Z.ac){b.Z.ac=!0;if(b.$b){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.$b(f,d)&&f&&(b.Da("Unable to restore hardware state")&&(a.ba&&!a.ha?(c.clear(),a.A=kC,window&&window.location.reload()):a.fa=!0),b.$b(null),e=!1)}b.Z.nf=!0;if(!d&&b.rj)for(a=b.rj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.Xg=function(a){if(!this.Z.nf){a:{if(this.I){if(2==this.D){this.D++;this.O("Press any key to continue...");var b=!1;break a}for(b=0;b<this.C.length;b++){var c=this.C[b];if(c&&(c=c.lg)){var d=Oa();c.style.opacity="0";c.style.lineHeight="0";if(0<=d.indexOf("MSIE")||0<=d.indexOf("Trident"))c.style.fontSize="0";c.value=""}}this.I=0}this.D=0;b=!0}if(!b){Pb(this,!1);this.$e(this.Xg,a);return}this.Z.nf=!0}b=a[0];c=0>a[1];a=a[2];if(d=this.ma.power)d.textContent="Shutdown";this.Z.ac=!0;this.G&&(BC(this,this.G,
|
||||
b,c,a),this.G.he());this.fa&&(wC(this,b),b.clear());!c&&this.H&&(this.H.clear(),delete this.H);this.F=0;Db(this.de,Ad(this,"autoScript"))};function wC(a,b){if(!a.Z.we){if(tb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.37.0"};d.url=a.ra;d.user=c;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
function QB(a,b,c){var d="none";if(a.F)return null;a.F--;var e=new ag(a,"1.37.0"),f=new ag(a,"1.37.0",rC),g=Ga("Y-m-d H:i:s");f.set(tC,g);e.set(tC,g);e.set(CC,"1.37.0");e.set(DC,window?window.location.href:null);e.set(EC,Oa());if(a.G&&a.G.Zb){var h=a.G.Zb(b,c);"object"===typeof h&&e.set(a.G.id,h);c&&(a.G.Z.ac=!1,!1===h&&(d=null))}g=Bb(a.id);for(var k=0;k<g.length;k++){var m=g[k];m.Z.ac&&(m.Zb&&(h=m.Zb(b,c),"object"===typeof h&&e.set(m.id,h)),c&&(m.Z.ac=!1,!1===h&&(d=null)))}d&&(c?(g=h=!1,b?(a.B&&
|
||||
OC(a,a.B,e.toString()),zC(f)&&zC(e)||(d=null,h=g=!0)):a.A&&(h=!0,g=a.A==PC),h&&e.clear(g)):d=e.toString());c&&(a.Z.ac=!1,b=a.ma.power)&&(b.textContent="Power");a.F=0;return d}l.reset=function(){this.oa&&this.oa.reset&&(Tb(this,"Resetting "+this.oa.type),this.oa.reset());for(var a=Bb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&(Tb(this,"Resetting "+c.type),c.reset())}};
|
||||
l.start=function(a,b){for(var c=Bb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};l.stop=function(a,b){for(var c=Bb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "power":return this.ma[b]=c,c.onclick=function(){d.F||(d.Z.ac?PB(d,!1,!0):d.$e(d.Ve))},!0;case "reset":return this.ma[b]=c,c.onclick=function(){if(d.Z.ac&&!d.F)if(d.G&&(d.G.Z.he=d.G.Z.Xa),d.A&&!d.N){var a=d.Z.we||!tb("Click OK to reset this PCx86 machine and discard all disk modifications.");PB(d,a,!0);!a&&d.ba?window&&window.location.reload():(a||(d.aa=!0),d.Ve(jC),d.aa=!1)}else d.reset(),d.G&&d.G.he()},!0;case "save":if(za(Na(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.ma[b]=c,c.onclick=function(){var a=kC(d,!0);if(a){var b=!!(d.A&&!d.N||d.ba),c=PB(d,b);b?NC(d,a,c):d.Da("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function kC(a,b){var c=a.B;c||((c=Sa(zC),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=PC(a,c))||a.Da("The user ID is invalid.")):b&&a.Da("Browser local storage is not available"));return c}
|
||||
function PC(a,b){a.B=null;b=Ma(Na()+"/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(zC,b.data),a.B=b.data)}catch(d){kb(d.message+" ("+c+")")}return a.B}function oC(a){var b=null;a.B&&(b=Na()+"/api/v1/user?req=load&user="+a.B+"&state="+QC(a,"1.37.0"));return b}
|
||||
function NC(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=QC(a,"1.37.0");d.data=c;b=Ma(Na()+"/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.Da("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.Da(c),Ta(zC,""),a.B=null)}}
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "power":return this.ma[b]=c,c.onclick=function(){d.F||(d.Z.ac?QB(d,!1,!0):d.$e(d.Ve))},!0;case "reset":return this.ma[b]=c,c.onclick=function(){if(d.Z.ac&&!d.F)if(d.G&&(d.G.Z.he=d.G.Z.Xa),d.A&&!d.N){var a=d.Z.we||!tb("Click OK to reset this PCx86 machine and discard all disk modifications.");QB(d,a,!0);!a&&d.ba?window&&window.location.reload():(a||(d.aa=!0),d.Ve(kC),d.aa=!1)}else d.reset(),d.G&&d.G.he()},!0;case "save":if(za(Na(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.ma[b]=c,c.onclick=function(){var a=lC(d,!0);if(a){var b=!!(d.A&&!d.N||d.ba),c=QB(d,b);b?OC(d,a,c):d.Da("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function lC(a,b){var c=a.B;c||((c=Sa(AC),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=QC(a,c))||a.Da("The user ID is invalid.")):b&&a.Da("Browser local storage is not available"));return c}
|
||||
function QC(a,b){a.B=null;b=Ma(Na()+"/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(AC,b.data),a.B=b.data)}catch(d){kb(d.message+" ("+c+")")}return a.B}function pC(a){var b=null;a.B&&(b=Na()+"/api/v1/user?req=load&user="+a.B+"&state="+RC(a,"1.37.0"));return b}
|
||||
function OC(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=RC(a,"1.37.0");d.data=c;b=Ma(Na()+"/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.Da("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.Da(c),Ta(AC,""),a.B=null)}}
|
||||
function ac(a,b,c){a=Bb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}l.cd=function(a){if(this.C.length){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.C[0];d.F&&d.F.focus();!a&&window&&window.scrollTo(b,c)}};
|
||||
function Yd(a,b){if(a.G){var c=a.G;if(c.oj&&(b||!c.Z.Xa||c.Z.gj)){Ng(c,"EAX",c.D);Ng(c,"EBX",c.H);Ng(c,"ECX",c.I);Ng(c,"EDX",c.L);Ng(c,"ESP",y(c));Ng(c,"EBP",c.N);Ng(c,"ESI",c.K);Ng(c,"EDI",c.J);Ng(c,"CS",c.ba.T);Ng(c,"DS",c.Fa.T);Ng(c,"SS",c.U.T);Ng(c,"ES",c.pa.T);Ng(c,"EIP",z(c));var d=xe(c);Ng(c,"PS",d);Ng(c,"V",d&2048);Ng(c,"D",d&1024);Ng(c,"I",d&512);Ng(c,"T",d&256);Ng(c,"S",d&128);Ng(c,"Z",d&64);Ng(c,"A",d&16);Ng(c,"P",d&4);Ng(c,"C",d&1);80386==c.da&&(Ng(c,"FS",c.Ka.T),Ng(c,"GS",c.La.T),Ng(c,
|
||||
"CR0",c.ra),Ng(c,"CR2",c.pd),Ng(c,"CR3",c.wc))}if(d=c.ma.speed)d.textContent=c.Z.Xa&&c.Y.Kd?c.Y.Kd.toFixed(2)+"Mhz":"Stopped"}for(c=0;c<a.C.length;c++)Ps(a.C[c],b)}var uC="failsafe",qC="validate",sC="timestamp",BC="version",CC="url",DC="browser",zC="user",Kd=-1,jC=0,tC=1,wC=2,OC=3,nC=2;cb(function(){for(var a=zb(document,"pcx86-machine"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);c=zb(c,"pcx86","computer");for(var e=0;e<c.length;e++){var f=c[e],g=Ab(f);g=new hC(g,d,!0);yb(g,f);g.U&&g.$e(g.Ve)}}});
|
||||
db.show.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Ab(a[b]);if(c=xb("Computer",c.id))c.Z.we=!1,c.Z.nf&&!c.Z.ac&&c.Ve(Kd)}});db.exit.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Ab(a[b]);if(c=xb("Computer",c.id))c.Z.we=!0,c.Z.ac&&PB(c,!(!c.A||c.N),!0)}});function ag(a,b,c){this.id=a.id;this.ca=a.ca;this.A="";this.state={};this.B=this.C=!1;this.key=QC(a,b,c);xC(this,a.Ik)}l=ag.prototype;
|
||||
l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Pa()&&(a=Sa(this.key))?(this.A=a,this.B=!0):!1};function rC(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){kb(c.message||c),b=!1}return b}
|
||||
function yC(a){var b=!0;if(Pa()){var c=JSON.stringify(a.state);Ta(a.key,c)||(kb("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};function xC(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}
|
||||
l.clear=function(a){xC(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 QC(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 RC=0;
|
||||
function SC(a,b,c,d,e,f){e("Loading "+a+"...");Ma(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):TC(h,a,b,c,d,e,f)})}
|
||||
function TC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(rb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),d=d.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
|
||||
"$1PCx86$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?UC(a,f,h):h(a,null):g("no data"+(b?" for file: "+
|
||||
"CR0",c.ra),Ng(c,"CR2",c.pd),Ng(c,"CR3",c.wc))}if(d=c.ma.speed)d.textContent=c.Z.Xa&&c.Y.Kd?c.Y.Kd.toFixed(2)+"Mhz":"Stopped"}for(c=0;c<a.C.length;c++)Ps(a.C[c],b)}var vC="failsafe",rC="validate",tC="timestamp",CC="version",DC="url",EC="browser",AC="user",Kd=-1,kC=0,uC=1,xC=2,PC=3,oC=2;cb(function(){for(var a=zb(document,"pcx86-machine"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);c=zb(c,"pcx86","computer");for(var e=0;e<c.length;e++){var f=c[e],g=Ab(f);g=new iC(g,d,!0);yb(g,f);g.U&&g.$e(g.Ve)}}});
|
||||
db.show.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Ab(a[b]);if(c=xb("Computer",c.id))c.Z.we=!1,c.Z.nf&&!c.Z.ac&&c.Ve(Kd)}});db.exit.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Ab(a[b]);if(c=xb("Computer",c.id))c.Z.we=!0,c.Z.ac&&QB(c,!(!c.A||c.N),!0)}});function ag(a,b,c){this.id=a.id;this.ca=a.ca;this.A="";this.state={};this.B=this.C=!1;this.key=RC(a,b,c);yC(this,a.Ik)}l=ag.prototype;
|
||||
l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Pa()&&(a=Sa(this.key))?(this.A=a,this.B=!0):!1};function sC(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){kb(c.message||c),b=!1}return b}
|
||||
function zC(a){var b=!0;if(Pa()){var c=JSON.stringify(a.state);Ta(a.key,c)||(kb("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};function yC(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}
|
||||
l.clear=function(a){yC(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 RC(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 SC=0;
|
||||
function TC(a,b,c,d,e,f){e("Loading "+a+"...");Ma(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):UC(h,a,b,c,d,e,f)})}
|
||||
function UC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(rb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),d=d.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
|
||||
"$1PCx86$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?VC(a,f,h):h(a,null):g("no data"+(b?" for file: "+
|
||||
b:""),null)}
|
||||
function UC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/gi;m=p.exec(f);)k=0>k.toLowerCase().indexOf(m[1].toLowerCase())?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);UC(a,b,c)}})}else c(a,null)}
|
||||
function VC(a,b,c,d){function e(a){if(void 0===h){var b=g&&zb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=Aa(a))}function f(a){e("Error: "+a);k&&(--RC||lb(!0));k=!1}var g,h,k=!0;RC++;sb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));p.appendChild(v)}c||
|
||||
(c="/versions/pcx86/1.37.0/components.xsl");m=function(d,h){h?SC(c,null,null,!1,e,function(d,k){k?(rb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--RC||lb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--RC||lb(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?SC(b,a,d,!0,e,m):TC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function WC(a,b,c,d){lb(!1);return VC(a,b,c,d)}window.embedPC=WC;window.embedPCx86=WC;
|
||||
function VC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/gi;m=p.exec(f);)k=0>k.toLowerCase().indexOf(m[1].toLowerCase())?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);VC(a,b,c)}})}else c(a,null)}
|
||||
function WC(a,b,c,d){function e(a){if(void 0===h){var b=g&&zb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=Aa(a))}function f(a){e("Error: "+a);k&&(--SC||lb(!0));k=!1}var g,h,k=!0;SC++;sb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));p.appendChild(v)}c||
|
||||
(c="/versions/pcx86/1.37.0/components.xsl");m=function(d,h){h?TC(c,null,null,!1,e,function(d,k){k?(rb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--SC||lb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--SC||lb(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?TC(b,a,d,!0,e,m):UC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function XC(a,b,c,d){lb(!1);return WC(a,b,c,d)}window.embedPC=XC;window.embedPCx86=XC;
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e)return Db(c,f)?(b&&(a.disabled=!0),!0):!1;if(d){var g=xb(d,c+".machine");if(g){var h=g.exports;if(h&&(h=h[e]))return h.call(g,f)?(b&&(a.disabled=!0),!0):!1}}console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=lb;window.sendEvent=nb;
|
||||
function XC(a,b,c,d){if(!c&&b){d.push(b);a=sb[d[0]];b=null;for(var e in a)if(za(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ma(b,null,!0,function(a,b){YC(b,d)}):YC(null,d)}else kb("Error ("+c+") requesting "+a)}
|
||||
function YC(a,b){var c,d,e=b[0],f=b[1];var g=b[4];if(g=g.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);)/)){var h=sb[e],k={},m;for(m in h){var p=h[m],v=ya(m);if("xml"==v){for(v=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;c=v.exec(h[m]);){var u=c[2];u&&!h[u]&&(p=p.replace(c[0],""))}c=m=xa(m)}else"xsl"==v&&(d=m=xa(m));k[m]=p}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);c&&d?(a=JSON.stringify(k),f+=".js",g=g[1]+"var resources="+a+";"+g[2]+g[3],g=g.replace(/\u00A9/g,
|
||||
function YC(a,b,c,d){if(!c&&b){d.push(b);a=sb[d[0]];b=null;for(var e in a)if(za(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ma(b,null,!0,function(a,b){ZC(b,d)}):ZC(null,d)}else kb("Error ("+c+") requesting "+a)}
|
||||
function ZC(a,b){var c,d,e=b[0],f=b[1];var g=b[4];if(g=g.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);)/)){var h=sb[e],k={},m;for(m in h){var p=h[m],v=ya(m);if("xml"==v){for(v=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;c=v.exec(h[m]);){var u=c[2];u&&!h[u]&&(p=p.replace(c[0],""))}c=m=xa(m)}else"xsl"==v&&(d=m=xa(m));k[m]=p}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);c&&d?(a=JSON.stringify(k),f+=".js",g=g[1]+"var resources="+a+";"+g[2]+g[3],g=g.replace(/\u00A9/g,
|
||||
"©"),a=Za(g,"javascript",!1,f),a=a+(', copy it to your web server as "'+f+'", and then add the following to your web page:\n\n')+('<div id="'+e+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+f+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+e+'","'+c+'","'+d+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",kb(a)):kb("Missing XML/XSL resources")}else kb("Unsupported script")}
|
||||
window.savePC=function(a,b,c){var d=xb("Computer",a),e=xb("Debugger",a);if(d){var f=PB(d,!0),g=d.M?JSON.stringify(d.M):null;b||(b="/versions/pcx86/1.37.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ik:g}))return!0;Ma(b,null,!0,function(c,d,e){XC(c,d,e,[a,xa(b,!0),g,f])});return!0}kb("Unable to identify machine '"+a+"'");return!1};})();//# sourceMappingURL=/versions/pcx86/1.37.0/pcx86-dbg.map
|
||||
window.savePC=function(a,b,c){var d=xb("Computer",a),e=xb("Debugger",a);if(d){var f=QB(d,!0),g=d.M?JSON.stringify(d.M):null;b||(b="/versions/pcx86/1.37.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ik:g}))return!0;Ma(b,null,!0,function(c,d,e){YC(c,d,e,[a,xa(b,!0),g,f])});return!0}kb("Unable to identify machine '"+a+"'");return!1};})();//# sourceMappingURL=/versions/pcx86/1.37.0/pcx86-dbg.map
|
||||
|
|
|
|||
|
|
@ -537,8 +537,8 @@ function pq(a,b,c,d){if(d)a.wa("Unable to load font ROM (error "+d+": "+b+")",0>
|
|||
function Jq(a,b){if(1==b)return a.fa[0]=Kq[Eq],a.fa[1]=Kq[Cq],a.fa;if(2==b){var c=a.B.$e;if(a.B===a.A){var d=a.A.vc[0];c=d&7;d&16&&(c|=8);18!=a.A.vc[1]&&(c|=32)}a.fa[0]=Kq[c&15];c=c&32?Lq:Mq;for(d=0;d<c.length;d++)a.fa[d+1]=Kq[c[d]];return a.fa}if(a.I===a.Db)return Kq;a.Ga&&b&&!a.fa[16]&&(a.Ga=!1);if(!a.Ga){c=a.A;d=c.ve;var e;if(8==b)for(e=0;256>e;e++){var f=d[e]||0;var g=f<<2&252;var h=f>>4&252;f=f>>10&252;a.fa[e]=[g,h,f,255]}else{var k=d&&d[255];b=null!=c.vc[15]?c.vc:Nq;for(e=0;16>e;e++)f=b[e]&
|
||||
63,k?(f|=(c.vc[20]&12)<<4,c.vc[16]&128&&(f&=-49,f|=(c.vc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.fa[e]=[g,h,f,255]}a.Ga=!0}return a.fa}function Un(a,b,c,d){a.vb=b;a.Qa=c;a.Ca=d}
|
||||
function zq(a,b){var c=!1;if(window&&a.vb&&(!b||a.G)){var d=0,e=a.Ca?a.Ca:8,f=Jq(a);null!=a.Qa[0]&&Oq(a,Pq,a.Qa[0],d,e,8,a.vb,f)&&(c=!0);d=a.Ca?0:2048;e=a.Ca?a.Ca:9;null!=a.Qa[1]&&(Oq(a,Qq,a.Qa[1],d,e,14,a.vb,Rq,Sq)&&(c=!0),a.Ca&&Oq(a,a.Oa,a.Qa[1],0,a.Ca,14,a.vb,f)&&(c=!0))}b||(a.aa=-1,a.za=-1,a.ra=0);return c}function Oq(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(Tq(a,b,c,d,e,f,g,h,k)&&(m=!0),a.rd&&Tq(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
|
||||
function Tq(a,b,c,d,e,f,g,h,k){var m=!1,r=b&1?0:1,x=a.qa[b],t=16>h.length?h.length:16;x||(x={qc:e<<r,rc:f<<r,ae:Array(t),Ph:h.slice(0,t),De:k,bg:Array(t)});for(k=0;k<t;k++){var z=h[k],E=x.ae[k]?x.Ph[k]:[];if(z[0]!==E[0]||z[1]!==E[1]||z[2]!==E[2]){var O,K;m=x;E=k;var ca=z,na=r,db=c,sc=d,bi=e,Uf=f,$t=g,au=[0,0,0,0],Vf=document.createElement("canvas");Vf.width=m.qc<<4;Vf.height=m.rc<<4;var Om=Vf.getContext("2d"),Wf=8>Uf||!sc?Uf:8,ci=Om.createImageData(m.qc,m.rc);for(K=0;256>K;K++){for(z=0;z<Uf;z++)for(var bu=
|
||||
m.De&&E&1&&z>=Uf-2,cu=$t[z<Wf?db+K*Wf+z:sc+K*Wf+z-Wf],di=0;di<=na;di++)for(O=0;O<bi;O++){var Pm=O<<na,Qm=(z<<na)+di,Rm=bu||cu&128>>(8<=O&&192<=K&&223>=K?7:O)?ca:au;Uq(ci,Pm,Qm,Rm);na&&Uq(ci,Pm+1,Qm,Rm)}Om.putImageData(ci,(K&15)*m.qc,(K>>4)*m.rc)}m.ae[E]="#"+ra(ca[0],2)+ra(ca[1],2)+ra(ca[2],2);m.Ph[E]=ca;m.bg[E]=Vf;m=!0}}a.qa[b]=x;return m}function Vq(a){0<a.ra||0<=a.aa?0>a.za&&(a.za=0):a.za=-1}
|
||||
function Tq(a,b,c,d,e,f,g,h,k){var m=!1,r=b&1?0:1,x=a.qa[b],t=16>h.length?h.length:16;x||(x={qc:e<<r,rc:f<<r,ae:Array(t),Ph:h.slice(0,t),De:k,bg:Array(t)});for(k=0;k<t;k++){var z=h[k],E=x.ae[k]?x.Ph[k]:[];if(z[0]!==E[0]||z[1]!==E[1]||z[2]!==E[2]){var O,K;m=x;E=k;var ca=z,na=r,db=c,sc=d,bi=e,Uf=f,Zt=g,$t=[0,0,0,0],Vf=document.createElement("canvas");Vf.width=m.qc<<4;Vf.height=m.rc<<4;var Om=Vf.getContext("2d"),Wf=8>Uf||!sc?Uf:8,ci=Om.createImageData(m.qc,m.rc);for(K=0;256>K;K++){for(z=0;z<Uf;z++)for(var au=
|
||||
m.De&&E&1&&z>=Uf-2,bu=Zt[z<Wf?db+K*Wf+z:sc+K*Wf+z-Wf],di=0;di<=na;di++)for(O=0;O<bi;O++){var Pm=O<<na,Qm=(z<<na)+di,Rm=au||bu&128>>(8<=O&&192<=K&&223>=K?7:O)?ca:$t;Uq(ci,Pm,Qm,Rm);na&&Uq(ci,Pm+1,Qm,Rm)}Om.putImageData(ci,(K&15)*m.qc,(K>>4)*m.rc)}m.ae[E]="#"+ra(ca[0],2)+ra(ca[1],2)+ra(ca[2],2);m.Ph[E]=ca;m.bg[E]=Vf;m=!0}}a.qa[b]=x;return m}function Vq(a){0<a.ra||0<=a.aa?0>a.za&&(a.za=0):a.za=-1}
|
||||
function Iq(a){if(a.G){for(var b=10;15>=b;b++)if(null==a.B.Ua[b])return;var c=a.B.Ua[10];b=c&31;var d=a.B.Ua[11]&Wp[11],e=a.B.Ua[9]&Wp[9],f=!1;a.B===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Wq(a);else{c=a.B.Ua[15];c|=(a.B.Ua[14]&a.B.qf)<<8;a.aa!=c&&(Wq(a),a.aa=c);d=d-b+1;if(a.Wc!=b||a.Ic!=d)a.Wc=b,a.Ic=d;a.ua=e+1;Vq(a)}}}
|
||||
function Wq(a){if(0<=a.aa){if(void 0!==a.L){var b=Xq<<8,c=a.L[a.aa];if(c&b){c&=~b;b=a.aa%a.D;var d=a.aa/a.D|0;a.G&&a.qa[a.G]&&(a.Ba&&Yq(a,b,d,c,a.Ba),Yq(a,b,d,c));a.L[a.aa]=c}}a.aa=-1}}
|
||||
function Zq(a){var b=a.B;a.Nc=!1;var c=b.od[5];if(null!=c){var d=mp;var e=op,f=b.od[3]&31;switch(c&3){case 0:if(f){e=op|32;switch(f&24){case 8:e=op|96;break;case 16:e=op|160;break;case 24:e=op|224}b.Ac=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Oa==Vn&&(e=3,b.Ac=f&7)}c&8&&(d=1280);b=b.Ud[4];null!=b&&(b&4||(d|=np,e|=pp),c&64&&(b&8&&(d|=16384,e|=4),a.Nc=!0));d|=e}return d}
|
||||
|
|
@ -617,103 +617,102 @@ e(f,!1);return f};function Cs(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f+
|
|||
l.write=function(a,b,c){if(this.oe)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.yc?f<a.Mc?(a.yc+=a.Mc-f,a.Mc=f):f>=a.Mc+a.yc&&(a.yc+=f-(a.Mc+a.yc)+1):(a.Mc=f,a.yc=1);d[f]=d[f]&~(255<<b)|c<<b;this.C&&Hs(this,a,!0)}return!0}return null};function Ks(a){for(var b="",c=0,d;d=Ds(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(Es(a,d,e));return btoa(b)}
|
||||
l.save=function(){var a=0,b=[];b[a++]=[this.F,this.I,this.kb,this.$a,this.Xa,this.ob];if(!this.C&&!this.oe)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.yc){for(var h=[],k=0,m=g.Mc,r=g.Mc+g.yc;m<r;)h[k++]=g.data[m++];b[a++]=[d,e,f,g.Mc,h]}}return b};
|
||||
l.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[0]&&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.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],m=g[f++];if(h>=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+
|
||||
m+") out of range ("+b+" changes applied)";b=-1;break}if(this.oe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.Mc=e;for(h.yc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b&&-2!=b&&this.wa("Unable to restore disk '"+this.Pc+": "+c);return b};
|
||||
l.toJSON=function(){var a=0;for(var b;b=Ds(this,a++);)Ls(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 Ls(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 vs=0;function Ms(a){u.call(this,"FDC",a);this.dmaRead=Ms.prototype.Sj;this.dmaWrite=Ms.prototype.Tj;this.dmaFormat=Ms.prototype.gk;this.M=Ns(a.autoMount);this.K=a.sortBy||"name";"none"==this.K&&(this.K=null);this.B=[];this.L=!La("Mobi")&&window&&"FileReader"in window;this.exports={loadDisk:this.ui,wait:this.xn}}ja(Ms,u);l=Ms.prototype;
|
||||
l.Ab=function(a,b,c){var d=this;switch(b){case "listDisks":this.ia[b]=c;if(this.K){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.K?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){Os(d)};return!0;case "descDisk":case "listDrives":return this.ia[b]=c,c.onchange=function(){var a=qa(c.value,10);null!=a&&Ps(d,a)},!0;case "loadDisk":return this.ia[b]=c,c.onclick=
|
||||
m+") out of range ("+b+" changes applied)";b=-1;break}if(this.oe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.Mc=e;for(h.yc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b&&-2!=b&&this.wa("Unable to restore disk '"+this.Pc+": "+c);return b};var vs=0;
|
||||
function Ls(a){u.call(this,"FDC",a);this.dmaRead=Ls.prototype.Sj;this.dmaWrite=Ls.prototype.Tj;this.dmaFormat=Ls.prototype.gk;this.M=Ms(a.autoMount);this.K=a.sortBy||"name";"none"==this.K&&(this.K=null);this.B=[];this.L=!La("Mobi")&&window&&"FileReader"in window;this.exports={loadDisk:this.ui,wait:this.xn}}ja(Ls,u);l=Ls.prototype;
|
||||
l.Ab=function(a,b,c){var d=this;switch(b){case "listDisks":this.ia[b]=c;if(this.K){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.K?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){Ns(d)};return!0;case "descDisk":case "listDrives":return this.ia[b]=c,c.onchange=function(){var a=qa(c.value,10);null!=a&&Os(d,a)},!0;case "loadDisk":return this.ia[b]=c,c.onclick=
|
||||
function(){d.ui()},!0;case "saveDisk":if(!this.L){c.parentNode.removeChild(c);break}this.ia[b]=c;c.onclick=function(){var a=d.ia.listDrives;a&&a.options&&d.A&&((a=d.A[qa(a.value,10)||0])?(a=a.sa)?(a=Qa(Ks(a),"octet-stream",!0,a.ih.replace(".json",".img")),q(a)):d.wa("No diskette loaded in drive."):d.wa("No diskette drive selected."))};return!0;case "mountDisk":if(this.L)return this.ia[b]=c,c.onchange=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;Qs(d,sa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};l.jc=function(a,b,c,d){this.oa=b;this.R=c;this.Ea=d;this.na=a;this.U=Ab(a,"ChipSet");Ns(Lc(this.na,"autoMount"),this.M);Rs(this);kc(b,this,Ss);mc(b,this,Ts);Us(this,"None","",!0);this.L&&Us(this,"Local Disk","?");Us(this,"Remote Disk","??");Vs(this)||v(this)};
|
||||
function Ns(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){q("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};for(var c in a)b&&(b[c]=a[c]);return a}
|
||||
l.Rb=function(a,b){if(!b){if(!a){if(this.reset(),this.na.W){this.B=[];for(a=0;a<this.A.length;a++)Ws(this,a,!0);Vs(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ia.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",Ps(this,0))}}return!0};l.Qb=function(a){return a?this.save():!0};l.reset=function(){Rs(this)};
|
||||
l.save=function(){var a=new Qe(this);a.set(0,Xs(this));return a.data()};l.restore=function(a){return Rs(this,a[0])};
|
||||
function Rs(a,b){var c=0,d=!0;b||(b=[0,0,Ys,Array(9),0,0,0,[]]);a.Na=b[c++];c++;a.Z=b[c++];a.G=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var e=b[c++];var f=b[c++];null!=f&&(a.B=f);void 0===a.A&&(a.N=4,a.U&&(a.N=+gk(a.U,yj,void 0)),a.A=Array(4));for(f=0;f<a.A.length;f++){var g=a.A[f];if(void 0===g){g=a.A[f]={};if(a.U)a:{var h=a.U;if(f<+gk(h,yj,void 0)){if(!h.L){h=360;break a}if(f<h.L.length){h=h.L[f];break a}}h=0}else h=0;switch(h){case 160:case 180:g.$a=1;default:g.kb=40;g.Xa=9;break;case 720:g.kb=
|
||||
80;g.Xa=9;break;case 1200:g.kb=80;g.Xa=15;break;case 1440:g.kb=80,g.Xa=18}}var k=a,m=f,r=e[f],x=0;h=!0;g.Na=m;g.Kd=g.ke=!1;g.pe=null;void 0===r&&(r=[Zs,!0,0,2,0]);"boolean"==typeof r[1]&&(r[1]=[$s,g.kb||40,g.$a||r[3],g.Xa||9,g.ob||512,r[1],g.If,g.Ne,g.Oe]);g.lb=r[x++];var t=r[x++];g.name=t[0];g.kb=t[1];g.$a=t[2];g.Xa=t[3];g.ob=t[4];g.le=t[5];(g.If=t[6])?(g.Ne=t[7],g.Oe=t[8]):(g.If=g.kb,g.Ne=g.$a,g.Oe=g.Xa);g.Wa=r[x++];g.wd=r[x++];g.yb=r[x++];g.wd=100<=g.wd?g.wd-100:g.wd-g.yb;g.bb=r[x++];g.xd=r[x++];
|
||||
g.xb=r[x++];g.Ra=r[x++];g.Va=null;g.sa||(g.Wd="");var z=r[x++];102==z&&(z=!1);"boolean"==typeof z?(t=r[x++],r=r[x],z?(x=k.A[m],Ws(k,m,!0,!0),x.ke=!0,m=new us(k,x,"preload"),k.ci(x,m,t,r,!0)):at(k,m,t,r,!0)?g.sa&&r&&bt(k,t,r,g.sa):v(k,!1)):void 0!==z&&g.sa&&0>g.sa.restore(z)&&(h=!1);h&&g.sa&&void 0!==g.Ra&&(g.Va=g.sa.seek(g.yb,g.Wa,g.bb));h||(d=!1)}a.H=b[c++]||0;a.F=b[c]||ct;return d}
|
||||
function Xs(a){var b=0,c=[];c[b++]=a.Na;c[b++]=0;c[b++]=a.Z;c[b++]=a.G;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,r=[];r[m++]=k.lb;r[m++]=[k.name,k.kb,k.$a,k.Xa,k.ob,k.le,k.If,k.Ne,k.Oe];r[m++]=k.Wa;r[m++]=k.wd+100;r[m++]=k.yb;r[m++]=k.bb;r[m++]=k.xd;r[m++]=k.xb;r[m++]=k.Ra;r[m++]=k.ke;r[m++]=k.Jj;r[m]=k.Wd;f[h]=r}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&dt(a,f.Wd,f.sa);c[d]=a.B;c[b++]=a.H;c[b]=a.F;return c}
|
||||
function Vs(a,b){b||(a.J=0);for(var c in a.M){var d=a.M[c],e;if(!(e=d.path))a:{if(e=d.name){var f=a.ia.listDisks;if(f&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.text==e){e=h.value;break a}}}e=""}e&&(f=c.charCodeAt(0)-65,0<=f&&f<a.A.length?!at(a,f,d.name||et(a,e)||sa(e,!0),e,!0)&&b&&v(a,!1):a.wa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")"))}return!!a.J}
|
||||
l.ui=function(){var a=this.ia.listDisks;return a?Qs(this,a.options[a.selectedIndex].text,a.value):!1};
|
||||
function Qs(a,b,c,d){var e,f=a.ia.listDrives;if(f&&!isNaN(e=qa(f.value,10))&&0<=e&&e<a.A.length){if(!c)return Ws(a,e),!0;if("?"==c)return a.wa('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return!1;b=sa(c)}for(;0>at(a,e,b,c,!1,d);){if(!window.confirm("Click OK to reload the original disk and discard any changes."))return!1;var g=a,h=c;for(f=0;f<g.B.length;f++)if(g.B[f][1]==h){g.B.splice(f,1);break}Ws(a,
|
||||
e,!1,!0)}return!0}a.wa("Unable to load the selected drive");return!1}function at(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.Wd.toLowerCase()!=d.toLowerCase())){Ws(a,b,e,!0);if(g.Kd)return a.wa("Drive "+b+" busy"),0;g.Kd=!0;e&&(g.Jd=!0,a.J++);g.ke=!!f;return(new us(a,g,"preload")).load(c,d,f,a.ci)?1:0}return-1}
|
||||
l.ci=function(a,b,c,d,e){a.Kd=!1;if(b){var f=b.info();if(b&&f[0]>a.kb||f[1]>a.$a)this.wa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Na)),b=null}b?(a.sa=b,a.Jj=c,a.Wd=d,et(this,d)||Us(this,c,d),bt(this,c,d,b),f=b.info(),this.H|=ft,a.pe||this.wa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Na),a.Jd||e),a.If=f[0],a.Ne=f[1],a.Oe=f[2],this.na&&Yc(this.na)):a.ke=!1;a.Jd&&(a.Jd=!1,--this.J||v(this));Ps(this,a.Na);a.pe&&(a.pe(),a.pe=null)};
|
||||
function Us(a,b,c,d){if((a=a.ia.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 et(a,b){if((a=a.ia.listDisks)&&a.options)for(var c=0;c<a.options.length;c++){var d=a.options[c];if(d.value==b)return d.text}return null}
|
||||
function Ps(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ia.listDisks;a=a.ia.listDrives;if(d&&a&&d.options&&a.options&&(a=qa(a.value,10),c=c.ke?"?":c.Wd,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}
|
||||
function Os(a){var b=a.ia.listDisks,c=a.ia.descDisk,d=b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){q(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}}l.xn=function(a){for(var b=0;b<this.A.length;b++){var c=this.A[b];if(c&&c.Kd)return c.pe||(c.pe=a),!1}return!0};
|
||||
function Ws(a,b,c,d){var e=a.A[b];e.sa&&(dt(a,e.Wd,e.sa),e.Jj="",e.Wd="",e.sa=null,e.ke=!1,a.H|=ft,d||a.wa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ps(a,b))}function bt(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 dt(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}}l.ym=function(a,b){b>?this.I>||this.I&ht&&this.U&&Jf(this.U,6):Rs(this);this.I=b};l.Xk=function(){return 80};l.Zk=function(){return this.Z};
|
||||
l.Wk=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.I&ht&&this.U&&Hf(this.U,6);++this.D>=this.C&&(this.Z&=~(it|jt),this.D=this.C=0);return a};
|
||||
l.xm=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]&kt;if(void 0!==lt[a]&&this.C>=lt[a].gd){b=!1;this.D=0;a=mt(this);var c=a&kt;switch(c){case nt:mt(this);mt(this);ot(this);break;case pt:var d=mt(this);this.Na=d&3;var e=this.A[this.Na];ot(this);qt(this,(e.lb&rt)>>>24);break;case st:case tt:d=mt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];e.Wa=b;d=e.yb=mt(this);var f=mt(this);var g=e.bb=mt(this);var h=mt(this);e.xb=128<<h;e.xd=mt(this);mt(this);mt(this);c==tt?(c=e,c.lb=ut|vt,
|
||||
c.sa&&(c.Va=null,c.lb=wt,this.U&&(zl(this.U,2,this,"dmaRead",c),vl(this.U,2)))):(c=e,c.lb=ut|vt,c.sa&&(c.sa.oe?c.lb=xt|vt:(c.Va=null,c.lb=wt,this.U&&(zl(this.U,2,this,"dmaWrite",c),vl(this.U,2)))));yt(this,e,a,b,d,f,g,h);b=!0;break;case zt:d=mt(this);this.Na=d&3;e=this.A[this.Na];e.yb=e.wd=0;e.lb=At|Bt;ot(this);b=!0;break;case Ct:e=this.A[this.Na];e.Wa=0;ot(this);qt(this,e.Na|e.Wa<<2|e.lb&Dt);qt(this,e.yb);this.Na=this.Na+1&3;break;case Et:d=mt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];d=e.yb;
|
||||
f=e.Wa=b;g=e.bb=1;h=0;e.lb=wt;e.sa&&(e.Va=e.sa.seek(e.yb,e.Wa,e.bb))?h=e.Va.length>>8:e.lb=ut|vt;yt(this,e,a,b,d,f,g,h);b=!0;break;case Ft:d=mt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];d=e.yb;f=e.Wa=b;g=1;h=mt(this);e.xb=128<<h;e.xd=mt(this);mt(this);e.Uh=mt(this);c=e;c.lb=ut|vt;c.sa&&(c.Va=null,c.lb=wt,this.U&&(c.ge=0,c.Gc=Array(4),c.dg=!0,c.tf=0,zl(this.U,2,this,"dmaFormat",c),vl(this.U,2),c.dg=!1));yt(this,e,a,b,d,f,g,h);b=!0;break;case Gt:d=mt(this),this.Na=d&3,e=this.A[this.Na],e.Wa=d>>2&
|
||||
1,d=mt(this),e.yb+=d-e.wd,0>e.yb&&(e.yb=0),e.yb>=e.kb&&(e.yb=e.kb-1),e.wd=d,e.lb=At,e.yb||(e.lb|=Bt),ot(this),b=!0}0<this.C&&(this.Z=this.Z|it|jt);this.I&ht&&(!e||e.lb&ut||!b||this.U&&Jf(this.U,6))}};l.Yk=function(){var a=this.H;this.H&=~ft;return a};l.wm=function(a,b){this.F=b};function yt(a,b,c,d,e,f,g,h){ot(a);qt(a,b.Na|b.Wa<<2|b.lb&Dt);qt(a,(b.lb&Ht)>>>8);qt(a,(b.lb&It)>>>16);var k=0;if(e!=b.yb||f!=b.Wa)k=g=1;c&Jt&&(f^=k,d||(k=0));qt(a,e+k);qt(a,f);qt(a,g);qt(a,h)}
|
||||
function mt(a){var b=a.G[a.D];a.D++;return b}function ot(a){a.D=a.C=0}function qt(a,b){a.G[a.C++]=b}l.Sj=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.lb&&a.sa){do{if(a.Va&&(e=a.Ra,0<=(b=a.sa.read(a.Va,a.Ra++)))){d=a.Va;break}a.Va=a.sa.seek(a.yb,a.Wa,a.bb);if(!a.Va){a.lb=Kt|vt;break}a.Ra=0;Lt(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};l.Tj=function(a,b){return void 0!==b&&0<=b?Mt(a,b):-1};
|
||||
l.gk=function(a,b){if(void 0!==b&&0<=b)a:if(a.lb)a=-1;else{a.Gc[a.ge++]=b;if(a.ge==a.Gc.length){a.yb=a.Gc[0];a.Wa=a.Gc[1];a.bb=a.Gc[2];a.xb=128<<a.Gc[3];for(var c=a.ge=0;c<a.xb;c++)if(0>Mt(a,a.Uh)){a=-1;break a}a.tf++}a.tf>=a.xd&&(b=-1);a=b}else a=-1;return a};function Mt(a,b){if(a.lb||!a.sa)return-1;do{if(a.Va&&a.sa.write(a.Va,a.Ra++,b))break;a.Va=a.sa.seek(a.yb,a.Wa,a.bb);if(!a.Va){a.lb=Nt|vt;b=-1;break}a.Ra=0;Lt(a)}while(1);return b}
|
||||
function Lt(a){a.bb++;a.bb>=a.Oe+1&&(a.bb=1,a.Wa++,a.Wa>=a.Ne&&(a.Wa=0,a.yb++))}var $s="Floppy Drive",gt=4,ht=8,jt=16,it=64,Ys=128,nt=3,pt=4,st=5,tt=6,zt=7,Ct=8,Et=10,Ft=13,Gt=15,kt=31,Jt=128,wt=0,ut=8,At=32,vt=64,Zs=192,Dt=255,xt=512,Kt=1024,Nt=8192,Ht=65280,It=16711680,Bt=268435456,rt=-16777216,ft=128,ct=0;aa={};
|
||||
var lt={3:{gd:3,yd:0,name:aa.Do},4:{gd:2,yd:1,name:aa.Bo},5:{gd:9,yd:7,name:aa.Ho},6:{gd:9,yd:7,name:aa.xo},7:{gd:2,yd:0,name:aa.zo},8:{gd:1,yd:2,name:aa.Co},10:{gd:2,yd:7,name:aa.yo},13:{gd:6,yd:7,name:aa.uo},15:{gd:3,yd:0,name:aa.Ao}},Ss={1009:Ms.prototype.Xk,1012:Ms.prototype.Zk,1013:Ms.prototype.Wk,1015:Ms.prototype.Yk},Ts={1010:Ms.prototype.ym,1013:Ms.prototype.xm,1015:Ms.prototype.wm};
|
||||
Sa(function(){for(var a=jb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c);d=new Ms(d);ib(d,c)}});function Z(a){u.call(this,"HDC",a);this.dmaRead=Z.prototype.Uj;this.dmaWrite=Z.prototype.Vj;this.dmaWriteBuffer=Z.prototype.hk;this.dmaWriteFormat=Z.prototype.ik;this.X=[];this.ja=a.drives;this.L="at"==a.type;this.ua=!La("Mobi")&&window&&"FileReader"in window}ja(Z,u);l=Z.prototype;
|
||||
a.currentTarget[1].files[0]){var b=a.name;Ps(d,sa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};l.jc=function(a,b,c,d){this.oa=b;this.R=c;this.Ea=d;this.na=a;this.U=Ab(a,"ChipSet");Ms(Lc(this.na,"autoMount"),this.M);Qs(this);kc(b,this,Rs);mc(b,this,Ss);Ts(this,"None","",!0);this.L&&Ts(this,"Local Disk","?");Ts(this,"Remote Disk","??");Us(this)||v(this)};
|
||||
function Ms(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){q("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};for(var c in a)b&&(b[c]=a[c]);return a}
|
||||
l.Rb=function(a,b){if(!b){if(!a){if(this.reset(),this.na.W){this.B=[];for(a=0;a<this.A.length;a++)Vs(this,a,!0);Us(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ia.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",Os(this,0))}}return!0};l.Qb=function(a){return a?this.save():!0};l.reset=function(){Qs(this)};
|
||||
l.save=function(){var a=new Qe(this);a.set(0,Ws(this));return a.data()};l.restore=function(a){return Qs(this,a[0])};
|
||||
function Qs(a,b){var c=0,d=!0;b||(b=[0,0,Xs,Array(9),0,0,0,[]]);a.Na=b[c++];c++;a.Z=b[c++];a.G=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var e=b[c++];var f=b[c++];null!=f&&(a.B=f);void 0===a.A&&(a.N=4,a.U&&(a.N=+gk(a.U,yj,void 0)),a.A=Array(4));for(f=0;f<a.A.length;f++){var g=a.A[f];if(void 0===g){g=a.A[f]={};if(a.U)a:{var h=a.U;if(f<+gk(h,yj,void 0)){if(!h.L){h=360;break a}if(f<h.L.length){h=h.L[f];break a}}h=0}else h=0;switch(h){case 160:case 180:g.$a=1;default:g.kb=40;g.Xa=9;break;case 720:g.kb=
|
||||
80;g.Xa=9;break;case 1200:g.kb=80;g.Xa=15;break;case 1440:g.kb=80,g.Xa=18}}var k=a,m=f,r=e[f],x=0;h=!0;g.Na=m;g.Kd=g.ke=!1;g.pe=null;void 0===r&&(r=[Ys,!0,0,2,0]);"boolean"==typeof r[1]&&(r[1]=[Zs,g.kb||40,g.$a||r[3],g.Xa||9,g.ob||512,r[1],g.If,g.Ne,g.Oe]);g.lb=r[x++];var t=r[x++];g.name=t[0];g.kb=t[1];g.$a=t[2];g.Xa=t[3];g.ob=t[4];g.le=t[5];(g.If=t[6])?(g.Ne=t[7],g.Oe=t[8]):(g.If=g.kb,g.Ne=g.$a,g.Oe=g.Xa);g.Wa=r[x++];g.wd=r[x++];g.yb=r[x++];g.wd=100<=g.wd?g.wd-100:g.wd-g.yb;g.bb=r[x++];g.xd=r[x++];
|
||||
g.xb=r[x++];g.Ra=r[x++];g.Va=null;g.sa||(g.Wd="");var z=r[x++];102==z&&(z=!1);"boolean"==typeof z?(t=r[x++],r=r[x],z?(x=k.A[m],Vs(k,m,!0,!0),x.ke=!0,m=new us(k,x,"preload"),k.ci(x,m,t,r,!0)):$s(k,m,t,r,!0)?g.sa&&r&&at(k,t,r,g.sa):v(k,!1)):void 0!==z&&g.sa&&0>g.sa.restore(z)&&(h=!1);h&&g.sa&&void 0!==g.Ra&&(g.Va=g.sa.seek(g.yb,g.Wa,g.bb));h||(d=!1)}a.H=b[c++]||0;a.F=b[c]||bt;return d}
|
||||
function Ws(a){var b=0,c=[];c[b++]=a.Na;c[b++]=0;c[b++]=a.Z;c[b++]=a.G;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,r=[];r[m++]=k.lb;r[m++]=[k.name,k.kb,k.$a,k.Xa,k.ob,k.le,k.If,k.Ne,k.Oe];r[m++]=k.Wa;r[m++]=k.wd+100;r[m++]=k.yb;r[m++]=k.bb;r[m++]=k.xd;r[m++]=k.xb;r[m++]=k.Ra;r[m++]=k.ke;r[m++]=k.Jj;r[m]=k.Wd;f[h]=r}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&ct(a,f.Wd,f.sa);c[d]=a.B;c[b++]=a.H;c[b]=a.F;return c}
|
||||
function Us(a,b){b||(a.J=0);for(var c in a.M){var d=a.M[c],e;if(!(e=d.path))a:{if(e=d.name){var f=a.ia.listDisks;if(f&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.text==e){e=h.value;break a}}}e=""}e&&(f=c.charCodeAt(0)-65,0<=f&&f<a.A.length?!$s(a,f,d.name||dt(a,e)||sa(e,!0),e,!0)&&b&&v(a,!1):a.wa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")"))}return!!a.J}
|
||||
l.ui=function(){var a=this.ia.listDisks;return a?Ps(this,a.options[a.selectedIndex].text,a.value):!1};
|
||||
function Ps(a,b,c,d){var e,f=a.ia.listDrives;if(f&&!isNaN(e=qa(f.value,10))&&0<=e&&e<a.A.length){if(!c)return Vs(a,e),!0;if("?"==c)return a.wa('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return!1;b=sa(c)}for(;0>$s(a,e,b,c,!1,d);){if(!window.confirm("Click OK to reload the original disk and discard any changes."))return!1;var g=a,h=c;for(f=0;f<g.B.length;f++)if(g.B[f][1]==h){g.B.splice(f,1);break}Vs(a,
|
||||
e,!1,!0)}return!0}a.wa("Unable to load the selected drive");return!1}function $s(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.Wd.toLowerCase()!=d.toLowerCase())){Vs(a,b,e,!0);if(g.Kd)return a.wa("Drive "+b+" busy"),0;g.Kd=!0;e&&(g.Jd=!0,a.J++);g.ke=!!f;return(new us(a,g,"preload")).load(c,d,f,a.ci)?1:0}return-1}
|
||||
l.ci=function(a,b,c,d,e){a.Kd=!1;if(b){var f=b.info();if(b&&f[0]>a.kb||f[1]>a.$a)this.wa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Na)),b=null}b?(a.sa=b,a.Jj=c,a.Wd=d,dt(this,d)||Ts(this,c,d),at(this,c,d,b),f=b.info(),this.H|=et,a.pe||this.wa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Na),a.Jd||e),a.If=f[0],a.Ne=f[1],a.Oe=f[2],this.na&&Yc(this.na)):a.ke=!1;a.Jd&&(a.Jd=!1,--this.J||v(this));Os(this,a.Na);a.pe&&(a.pe(),a.pe=null)};
|
||||
function Ts(a,b,c,d){if((a=a.ia.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 dt(a,b){if((a=a.ia.listDisks)&&a.options)for(var c=0;c<a.options.length;c++){var d=a.options[c];if(d.value==b)return d.text}return null}
|
||||
function Os(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ia.listDisks;a=a.ia.listDrives;if(d&&a&&d.options&&a.options&&(a=qa(a.value,10),c=c.ke?"?":c.Wd,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}
|
||||
function Ns(a){var b=a.ia.listDisks,c=a.ia.descDisk,d=b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){q(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}}l.xn=function(a){for(var b=0;b<this.A.length;b++){var c=this.A[b];if(c&&c.Kd)return c.pe||(c.pe=a),!1}return!0};
|
||||
function Vs(a,b,c,d){var e=a.A[b];e.sa&&(ct(a,e.Wd,e.sa),e.Jj="",e.Wd="",e.sa=null,e.ke=!1,a.H|=et,d||a.wa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Os(a,b))}function at(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 ct(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}}l.ym=function(a,b){b&ft?this.I&ft||this.I>&&this.U&&Jf(this.U,6):Qs(this);this.I=b};l.Xk=function(){return 80};l.Zk=function(){return this.Z};
|
||||
l.Wk=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.I>&&this.U&&Hf(this.U,6);++this.D>=this.C&&(this.Z&=~(ht|it),this.D=this.C=0);return a};
|
||||
l.xm=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]&jt;if(void 0!==kt[a]&&this.C>=kt[a].gd){b=!1;this.D=0;a=lt(this);var c=a&jt;switch(c){case mt:lt(this);lt(this);nt(this);break;case ot:var d=lt(this);this.Na=d&3;var e=this.A[this.Na];nt(this);pt(this,(e.lb&qt)>>>24);break;case rt:case st:d=lt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];e.Wa=b;d=e.yb=lt(this);var f=lt(this);var g=e.bb=lt(this);var h=lt(this);e.xb=128<<h;e.xd=lt(this);lt(this);lt(this);c==st?(c=e,c.lb=tt|ut,
|
||||
c.sa&&(c.Va=null,c.lb=vt,this.U&&(zl(this.U,2,this,"dmaRead",c),vl(this.U,2)))):(c=e,c.lb=tt|ut,c.sa&&(c.sa.oe?c.lb=wt|ut:(c.Va=null,c.lb=vt,this.U&&(zl(this.U,2,this,"dmaWrite",c),vl(this.U,2)))));xt(this,e,a,b,d,f,g,h);b=!0;break;case yt:d=lt(this);this.Na=d&3;e=this.A[this.Na];e.yb=e.wd=0;e.lb=zt|At;nt(this);b=!0;break;case Bt:e=this.A[this.Na];e.Wa=0;nt(this);pt(this,e.Na|e.Wa<<2|e.lb&Ct);pt(this,e.yb);this.Na=this.Na+1&3;break;case Dt:d=lt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];d=e.yb;
|
||||
f=e.Wa=b;g=e.bb=1;h=0;e.lb=vt;e.sa&&(e.Va=e.sa.seek(e.yb,e.Wa,e.bb))?h=e.Va.length>>8:e.lb=tt|ut;xt(this,e,a,b,d,f,g,h);b=!0;break;case Et:d=lt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];d=e.yb;f=e.Wa=b;g=1;h=lt(this);e.xb=128<<h;e.xd=lt(this);lt(this);e.Uh=lt(this);c=e;c.lb=tt|ut;c.sa&&(c.Va=null,c.lb=vt,this.U&&(c.ge=0,c.Gc=Array(4),c.dg=!0,c.tf=0,zl(this.U,2,this,"dmaFormat",c),vl(this.U,2),c.dg=!1));xt(this,e,a,b,d,f,g,h);b=!0;break;case Ft:d=lt(this),this.Na=d&3,e=this.A[this.Na],e.Wa=d>>2&
|
||||
1,d=lt(this),e.yb+=d-e.wd,0>e.yb&&(e.yb=0),e.yb>=e.kb&&(e.yb=e.kb-1),e.wd=d,e.lb=zt,e.yb||(e.lb|=At),nt(this),b=!0}0<this.C&&(this.Z=this.Z|ht|it);this.I>&&(!e||e.lb&tt||!b||this.U&&Jf(this.U,6))}};l.Yk=function(){var a=this.H;this.H&=~et;return a};l.wm=function(a,b){this.F=b};function xt(a,b,c,d,e,f,g,h){nt(a);pt(a,b.Na|b.Wa<<2|b.lb&Ct);pt(a,(b.lb&Gt)>>>8);pt(a,(b.lb&Ht)>>>16);var k=0;if(e!=b.yb||f!=b.Wa)k=g=1;c&It&&(f^=k,d||(k=0));pt(a,e+k);pt(a,f);pt(a,g);pt(a,h)}
|
||||
function lt(a){var b=a.G[a.D];a.D++;return b}function nt(a){a.D=a.C=0}function pt(a,b){a.G[a.C++]=b}l.Sj=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.lb&&a.sa){do{if(a.Va&&(e=a.Ra,0<=(b=a.sa.read(a.Va,a.Ra++)))){d=a.Va;break}a.Va=a.sa.seek(a.yb,a.Wa,a.bb);if(!a.Va){a.lb=Jt|ut;break}a.Ra=0;Kt(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};l.Tj=function(a,b){return void 0!==b&&0<=b?Lt(a,b):-1};
|
||||
l.gk=function(a,b){if(void 0!==b&&0<=b)a:if(a.lb)a=-1;else{a.Gc[a.ge++]=b;if(a.ge==a.Gc.length){a.yb=a.Gc[0];a.Wa=a.Gc[1];a.bb=a.Gc[2];a.xb=128<<a.Gc[3];for(var c=a.ge=0;c<a.xb;c++)if(0>Lt(a,a.Uh)){a=-1;break a}a.tf++}a.tf>=a.xd&&(b=-1);a=b}else a=-1;return a};function Lt(a,b){if(a.lb||!a.sa)return-1;do{if(a.Va&&a.sa.write(a.Va,a.Ra++,b))break;a.Va=a.sa.seek(a.yb,a.Wa,a.bb);if(!a.Va){a.lb=Mt|ut;b=-1;break}a.Ra=0;Kt(a)}while(1);return b}
|
||||
function Kt(a){a.bb++;a.bb>=a.Oe+1&&(a.bb=1,a.Wa++,a.Wa>=a.Ne&&(a.Wa=0,a.yb++))}var Zs="Floppy Drive",ft=4,gt=8,it=16,ht=64,Xs=128,mt=3,ot=4,rt=5,st=6,yt=7,Bt=8,Dt=10,Et=13,Ft=15,jt=31,It=128,vt=0,tt=8,zt=32,ut=64,Ys=192,Ct=255,wt=512,Jt=1024,Mt=8192,Gt=65280,Ht=16711680,At=268435456,qt=-16777216,et=128,bt=0;aa={};
|
||||
var kt={3:{gd:3,yd:0,name:aa.Do},4:{gd:2,yd:1,name:aa.Bo},5:{gd:9,yd:7,name:aa.Ho},6:{gd:9,yd:7,name:aa.xo},7:{gd:2,yd:0,name:aa.zo},8:{gd:1,yd:2,name:aa.Co},10:{gd:2,yd:7,name:aa.yo},13:{gd:6,yd:7,name:aa.uo},15:{gd:3,yd:0,name:aa.Ao}},Rs={1009:Ls.prototype.Xk,1012:Ls.prototype.Zk,1013:Ls.prototype.Wk,1015:Ls.prototype.Yk},Ss={1010:Ls.prototype.ym,1013:Ls.prototype.xm,1015:Ls.prototype.wm};
|
||||
Sa(function(){for(var a=jb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c);d=new Ls(d);ib(d,c)}});function Z(a){u.call(this,"HDC",a);this.dmaRead=Z.prototype.Uj;this.dmaWrite=Z.prototype.Vj;this.dmaWriteBuffer=Z.prototype.hk;this.dmaWriteFormat=Z.prototype.ik;this.X=[];this.ja=a.drives;this.L=(a=a.type)&&"AT"==a.toUpperCase()||!1;this.ua=!La("Mobi")&&window&&"FileReader"in window}ja(Z,u);l=Z.prototype;
|
||||
l.Ab=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":if(this.ua)return this.ia[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.sa){b=b.sa;var c=b.ih||b.Pc,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Qa(Ks(b),"octet-stream",!0,c);q(b)}else d.wa("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0;c.parentNode.removeChild(c)}return!1};
|
||||
l.jc=function(a,b,c,d){this.oa=b;this.R=c;this.Ea=d;this.na=a;if(d=Lc(a,"drives"))this.X=d;else if(this.ja)try{this.X=eval("("+this.ja+")")}catch(e){q("HDC drive configuration error: "+e.message+" ("+this.ja+")")}this.U=Ab(a,"ChipSet");this.F=0;this.la=3;kc(b,this,this.L?Ot:Pt);mc(b,this,this.L?Qt:Rt);this.L&&(this.F++,this.U&&this.U.ca==Mj&&this.F++,this.la=2,b.L[St]=2,b.M[St]=2);Me(c,19,this.Bl.bind(this));Me(c,64,this.Cl.bind(this));this.reset();Tt(this)||v(this)};
|
||||
l.Rb=function(a,b){if(!b)if(!a)Ut(this),this.na.W&&Tt(this,!0);else if(!this.restore(a))return!1;return!0};l.Qb=function(a){return a?this.save():!0};function xs(a){return a.na?a.na.ra:""}function ys(a){return a.na?a.na.B||"":""}l.reset=function(){Ut(this,null,!0)};l.save=function(){var a=new Qe(this);a.set(0,Vt(this));return a.data()};l.restore=function(a){return Ut(this,a[0])};
|
||||
function Ut(a,b,c){var d=0,e=!0;a.Na=-1;if(a.L){if(b||(b=[0,0,0,0,0,0,0,Wt,0,[0,-1]]),a.H=b[d++],a.ra=b[d++],a.I=b[d++],a.da=b[d++],a.ba=b[d++],a.aa=b[d++],a.N=b[d++],a.Z=b[d++],a.fa=b[d++],a.K=b[d++],"object"==typeof a.K){var f=a.K;a.K=f[0];a.Na=f[1]}}else b||(b=[0,Xt,Array(14),0,0]),a.W=b[d++],a.Z=b[d++],a.G=b[d++],a.D=b[d++],a.C=b[d++],a.qa=b[d++],a.ma=b[d++],a.pa=b[d++],f=b[d++],void 0!==f?a.M=f:void 0===a.M&&(a.M=-1);void 0===a.A&&(a.A=Array(a.X.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<a.A.length;d++){void 0===
|
||||
a.A[d]&&(a.A[d]={});f=a.A[d];var g=a,h=d,k=f,m=a.X[d],r=b[d],x=c,t=0,z=!0;void 0===r&&(r=[Yt,0,!1,Array(8)]);k.Na=h;k.errorCode=r[t++];k.Kj=r[t++];k.le=r[t++];k.be=r[t++];k.ce=r[t++];k.Wa=r[t++];k.$a=r[t++];k.Ed=r[t++];k.bb=r[t++];k.xd=r[t++];k.xb=r[t++];k.sf=g.L?0:1;k.name=m.name;void 0===k.name&&(k.name=Zt);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||ys(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===du[g.F][k.type])k.type=g.la;
|
||||
m=du[g.F][k.type];k.Xa=m[2]||17;k.ob=m[3]||512;if(x&&g.U){var E=g.U;m=k.type;if(E.A){x=null;var O=E.A[18];15<m&&(x=m,m=15);h?(O=O&240|m,m=26):(O=O&15|m<<4,m=25);var K=E;K.A&&(K.A[18]=O,zk(K));null!=x&&E.A&&(E.A[m]=x,zk(E))}}void 0===k.sa&&(k.sa=null,g.wa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));eu(g,k);k.Ra=r[t++];k.Va=null;k.sa&&(g=r[t],void 0!==g&&0>k.sa.restore(g)&&(z=!1),z&&void 0!==k.Ra&&(k.Va=k.sa.seek(k.Ed,k.Wa,k.bb+k.sf)));z||(e=!1);null!=a.W&&1>=d&&(a.W|=(f.type&3)<<(1-d<<1))}0<=
|
||||
l.jc=function(a,b,c,d){this.oa=b;this.R=c;this.Ea=d;this.na=a;if(d=Lc(a,"drives"))this.X=d;else if(this.ja)try{this.X=eval("("+this.ja+")")}catch(e){q("HDC drive configuration error: "+e.message+" ("+this.ja+")")}this.U=Ab(a,"ChipSet");this.F=0;this.la=3;kc(b,this,this.L?Nt:Ot);mc(b,this,this.L?Pt:Qt);this.L&&(this.F++,this.U&&this.U.ca==Mj&&this.F++,this.la=2,b.L[Rt]=2,b.M[Rt]=2);Me(c,19,this.Bl.bind(this));Me(c,64,this.Cl.bind(this));this.reset();St(this)||v(this)};
|
||||
l.Rb=function(a,b){if(!b)if(!a)Tt(this),this.na.W&&St(this,!0);else if(!this.restore(a))return!1;return!0};l.Qb=function(a){return a?this.save():!0};function xs(a){return a.na?a.na.ra:""}function ys(a){return a.na?a.na.B||"":""}l.reset=function(){Tt(this,null,!0)};l.save=function(){var a=new Qe(this);a.set(0,Ut(this));return a.data()};l.restore=function(a){return Tt(this,a[0])};
|
||||
function Tt(a,b,c){var d=0,e=!0;a.Na=-1;if(a.L){if(b||(b=[0,0,0,0,0,0,0,Vt,0,[0,-1]]),a.H=b[d++],a.ra=b[d++],a.I=b[d++],a.da=b[d++],a.ba=b[d++],a.aa=b[d++],a.N=b[d++],a.Z=b[d++],a.fa=b[d++],a.K=b[d++],"object"==typeof a.K){var f=a.K;a.K=f[0];a.Na=f[1]}}else b||(b=[0,Wt,Array(14),0,0]),a.W=b[d++],a.Z=b[d++],a.G=b[d++],a.D=b[d++],a.C=b[d++],a.qa=b[d++],a.ma=b[d++],a.pa=b[d++],f=b[d++],void 0!==f?a.M=f:void 0===a.M&&(a.M=-1);void 0===a.A&&(a.A=Array(a.X.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<a.A.length;d++){void 0===
|
||||
a.A[d]&&(a.A[d]={});f=a.A[d];var g=a,h=d,k=f,m=a.X[d],r=b[d],x=c,t=0,z=!0;void 0===r&&(r=[Xt,0,!1,Array(8)]);k.Na=h;k.errorCode=r[t++];k.Kj=r[t++];k.le=r[t++];k.be=r[t++];k.ce=r[t++];k.Wa=r[t++];k.$a=r[t++];k.Ed=r[t++];k.bb=r[t++];k.xd=r[t++];k.xb=r[t++];k.sf=g.L?0:1;k.name=m.name;void 0===k.name&&(k.name=Yt);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||ys(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===cu[g.F][k.type])k.type=g.la;
|
||||
m=cu[g.F][k.type];k.Xa=m[2]||17;k.ob=m[3]||512;if(x&&g.U){var E=g.U;m=k.type;if(E.A){x=null;var O=E.A[18];15<m&&(x=m,m=15);h?(O=O&240|m,m=26):(O=O&15|m<<4,m=25);var K=E;K.A&&(K.A[18]=O,zk(K));null!=x&&E.A&&(E.A[m]=x,zk(E))}}void 0===k.sa&&(k.sa=null,g.wa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));du(g,k);k.Ra=r[t++];k.Va=null;k.sa&&(g=r[t],void 0!==g&&0>k.sa.restore(g)&&(z=!1),z&&void 0!==k.Ra&&(k.Va=k.sa.seek(k.Ed,k.Wa,k.bb+k.sf)));z||(e=!1);null!=a.W&&1>=d&&(a.W|=(f.type&3)<<(1-d<<1))}0<=
|
||||
a.Na&&(a.B=a.A[a.Na]);return e}
|
||||
function Vt(a){var b=0,c=[];a.L?(c[b++]=a.H,c[b++]=a.ra,c[b++]=a.I,c[b++]=a.da,c[b++]=a.ba,c[b++]=a.aa,c[b++]=a.N,c[b++]=a.Z,c[b++]=a.fa,c[b++]=[a.K,a.Na]):(c[b++]=a.W,c[b++]=a.Z,c[b++]=a.G,c[b++]=a.D,c[b++]=a.C,c[b++]=a.qa,c[b++]=a.ma,c[b++]=a.pa,c[b++]=a.M);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.Kj;m[k++]=h.le;m[k++]=h.be;m[k++]=h.ce;m[k++]=h.Wa;m[k++]=h.$a;m[k++]=h.Ed;m[k++]=h.bb;m[k++]=h.xd;m[k++]=h.xb;m[k++]=h.Ra;m[k]=h.sa?h.sa.save():null;
|
||||
e[g]=m}c[b]=e;return c}function eu(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.be[2])?e=b.be[0]<<8|b.be[1]:c=b.type);null==c||d||(d=du[a.F][c][1],e=du[a.F][c][0]);d&&((c=du[a.F][b.type])&&e!=c[0]&&d!=c[1]&&a.wa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.kb=e,b.$a=d,null==b.sa&&(b.sa=new us(a,b,b.mode)))}}
|
||||
function Tt(a,b){b||(a.J=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];d.name&&d.path?b&&d.sa&&d.sa.Af||!a.Gl(c,d.name,d.path,!0)&&b&&v(a,!1):b&&void 0!==d.type&&(d.sa=null,eu(a,d,d.type))}return!!a.J}l.Gl=function(a,b,c,d){var e=this.A[a];if(e.Kd)return this.wa("Drive "+a+" busy"),!0;e.Kd=!0;d&&(e.Jd=!0,this.J++);(e.sa||new us(this,e,e.mode)).load(b,c,null,this.jk);return!1};
|
||||
l.jk=function(a,b,c){a.Kd=!1;if(a.sa=b)this.wa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Na),a.Jd),b=b.info(),b[0]==a.kb&&b[1]==a.$a&&b[2]==a.Xa&&b[3]==a.ob||this.wa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+fu[this.F]+" drive type "+a.type+" ("+a.kb+":"+a.$a+":"+a.Xa+")");a.Jd&&(a.Jd=!1,--this.J||v(this))};l.yl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.U&&Hf(this.U,5);this.Z&=~gu;++this.D>=this.C&&(this.D=this.C=0,this.Z&=~(hu|iu|ju));return a};
|
||||
l.Um=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]!=ku?6:this.G.length;6==this.C&&(this.Z&=~lu);this.C>=a&&(this.Z|=hu,this.Z&=~lu,mu(this))};l.zl=function(){var a=this.Z;this.D<this.C&&(this.Z|=lu);return a};l.Xm=function(a,b){this.qa=b;this.U&&Hf(this.U,5);Ut(this)};l.xl=function(){return this.W};l.Wm=function(a,b){this.ma=b;this.Z=lu|iu|ju};l.Vm=function(a,b){this.pa=b};l.eh=function(){};
|
||||
function nu(a){var b=-1;a.B&&(b=ou(a.B,function(){}),(1==a.B.Ra||a.B.Ra==a.B.ob)&&1<a.B.Ra&&(a.B.xb-=a.B.ob,a.I=a.I-1&255,a.B.xb>=a.B.ob?(a.Z=pu,ou(a.B,function(b){0<=b?(qu(a),a.U&&a.U.ca==Mj&&(a.Z=0),a.Z=a.Z|Wt|ru|su):(a.Z=tu,a.H=uu)},!1)):a.Z=Wt|ru));return b}l.Wj=function(){return nu(this)|nu(this)<<8};function vu(a,b){a.B&&a.B.xb>=a.B.ob&&(0>wu(a.B,b)?(a.Z=tu,a.H=uu):(1==a.B.Ra||a.B.Ra==a.B.ob)&&1<a.B.Ra&&(a.B.xb-=a.B.ob,a.I=a.I-1&255,qu(a),a.Z=Wt|ru,a.B.xb>=a.B.ob&&(a.Z|=su)))}
|
||||
l.am=function(a,b){vu(this,b&255);vu(this,b>>8&255)};l.Bk=function(){return this.H};l.fm=function(a,b){this.ra=b};l.Dk=function(){return this.I};l.dm=function(a,b){this.I=b};l.Ek=function(){return this.da};l.em=function(a,b){this.da=b};l.zk=function(){return this.ba};l.$l=function(a,b){this.ba=b};l.yk=function(){return this.aa};l.Zl=function(a,b){this.aa=b};l.Ak=function(){return this.N};l.bm=function(a,b){this.N=b;this.Z=this.A[this.N&xu?1:0]?this.Z|Wt|ru:this.Z&~Wt};
|
||||
l.Fk=function(){var a=this.Z;this.Z&Wt&&(this.Z&=~pu);return a};l.Yl=function(a,b){this.fa=b;this.U&&Hf(this.U,14);yu(this)};l.cm=function(a,b){this.K&zu&&!(b&zu)&&(this.H=Au);this.K=b};
|
||||
function yu(a){var b=!1,c=a.fa,d=a.N&xu?1:0,e=a.N&Bu,f=a.ba|(a.aa&Cu)<<8,g=a.da,h=a.I||256;a.Na=-1;a.B=null;a.H=Du;a.Z=Wt|ru;var k=a.A[d];k?(k.Ed=f,k.Wa=e,k.bb=g,k.xb=h*k.ob,c=c>=Eu?c:c&Fu,k.Va=null,k.Ra=0,k.errorCode=0,a.Na=d,a.B=k):c=-1;switch(c&Fu){case Gu:b=!0;break;case Hu:a.Z=pu;ou(k,function(b){0<=b&&a.U?(qu(a),a.Z=Wt|ru|su):(a.Z=tu,a.H=uu)},!1);break;case Iu:a.Z=su;break;case Ju:b=!0;break;case Ku:b=!0;break;case Eu:a.H=Au;b=!0;break;case Lu:k.$a=e+1,k.Xa=h,b=!0}b&&qu(a)}
|
||||
function qu(a){a.U&&(a.K&Mu||Jf(a.U,14,120))}
|
||||
function mu(a){a.D=0;var b=Nu(a),c=Nu(a),d=c&32,e=d>>5,f=c&31,g=Nu(a),h=Nu(a),k=g<<2&768|h,m=g&63,r=Nu(a),x=Nu(a),t=a.A[e];t&&(t.Ed=k,t.Wa=f,t.bb=m,t.xb=r*t.ob);switch(b){case Ou:Pu(a,t?t.errorCode:Qu);Ru(a,c);Ru(a,g);Ru(a,h);Ru(a,Su|d);b=-1;break;case ku:for(c=0;0<=(b=Nu(a));)t&&c<t.be.length&&(t.be[c++]=b);t&&eu(a,t);b=Su;t||a.M!=e||(a.M=-1,b=Tu);Pu(a,b|d);b=-1;break;case Uu:case Vu:Pu(a,Su|d),b=-1}if(0<=b)switch(void 0===t?b=-1:(t.errorCode=Yt,t.Kj=0),b){case Wu:Pu(a,Su|d);break;case Xu:t.Ee=x;
|
||||
Pu(a,Su|d);break;case Yu:Pu(a,Su|d);break;case Zu:$u(a,t,function(b){Pu(a,b|d)});break;case av:bv(a,t,function(b){Pu(a,b|d)});break;case cv:dv(a,t,function(b){Pu(a,b|d)});break;default:Pu(a,Tu|d)}}function Nu(a){var b=-1;a.D<a.C&&(b=a.G[a.D++]);return b}function Pu(a,b){a.D=a.C=0;void 0!==b&&Ru(a,b);a.U&&Jf(a.U,5);a.Z|=gu}function Ru(a,b){a.G[a.C++]=b}l.Uj=function(a,b,c){void 0===b||0>b?ou(a,c):c(-1,!1)};l.Vj=function(a,b){return void 0!==b&&0<=b?wu(a,b):-1};
|
||||
l.hk=function(a,b){void 0!==b&&0<=b?(a.Ra<a.ce.length?a.ce[a.Ra++]=b:(a.errorCode=ev,b=-1),a=b):a=-1;return a};l.ik=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Gc[a.ge++]=b;if(a.ge==a.Gc.length){a.Ed=a.Gc[0];a.Wa=a.Gc[1];a.bb=a.Gc[2];a.xb=128<<a.Gc[3];for(var c=a.ge=0;c<a.xb;c++)if(0>wu(a,a.Uh)){a=-1;break a}a.tf++}a.tf>=a.xd&&(b=-1);a=b}else a=-1;return a};
|
||||
function $u(a,b,c){b.errorCode=Qu;if(b.sa&&(b.Va=null,a.U)){b.errorCode=Yt;zl(a.U,3,a,"dmaRead",b);vl(a.U,3,function(a){a||b.errorCode!=Yt||(b.errorCode=Qu);c(b.errorCode?Tu:Su)});return}c(b.errorCode?Tu:Su)}function bv(a,b,c){b.errorCode=Qu;if(b.sa&&(b.Va=null,a.U)){b.errorCode=Yt;zl(a.U,3,a,"dmaWrite",b);vl(a.U,3,function(a){a||(b.errorCode==Yt&&(b.errorCode=Qu),b.errorCode==ev&&(b.errorCode=Yt));c(b.errorCode?Tu:Su)});return}c(b.errorCode?Tu:Su)}
|
||||
function dv(a,b,c){b.errorCode=Qu;b.ce&&b.ce.length==b.xb||(b.ce=Array(b.xb));b.Ra=0;a.U?(b.errorCode=Yt,zl(a.U,3,a,"dmaWriteBuffer",b),vl(a.U,3,function(a){a||b.errorCode!=Yt||(b.errorCode=Qu);c(b.errorCode?Tu:Su)})):c(b.errorCode?Tu:Su)}
|
||||
function ou(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Va&&(f=a.Ra,d=a.sa.read(a.Va,a.Ra),a.Ra+=g,0<=d))return e=a.Va,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Ed,a.Wa,a.bb+a.sf,!1,function(c,k){(a.Va=c)?(e=c,f=a.Ra=0,fv(a),d=a.sa.read(a.Va,a.Ra),a.Ra+=g):a.errorCode=ev;b(d,k,e,f)}),d;a.errorCode=ev;b(d,!1,e,f)}return d}
|
||||
function wu(a,b){if(a.errorCode)return-1;do{if(a.Va&&a.sa.write(a.Va,a.Ra++,b))break;a.sa&&a.sa.seek(a.Ed,a.Wa,a.bb+a.sf,!0,function(b){a.Va=b});if(!a.Va){a.errorCode=ev;b=-1;break}a.Ra=0;fv(a)}while(1);return b}function fv(a){a.bb++;var b=1-a.sf;a.bb>=a.Xa+b&&(a.bb=b,a.Wa++,a.Wa>=a.$a&&(a.Wa=0,a.Ed++))}l.Bl=function(){var a=this.R.L&255;!(this.R.F>>8)&&128<a&&(this.M=a-128);return!0};l.Cl=function(){var a;(a=this.R.F>>8||!this.U)||(a=!(this.U.ac[0].Xc&64));return a?!0:!1};
|
||||
var Zt="Hard Drive",fu=["XTC","ATC","COMPAQ"],du=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
|
||||
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],St=496,Au=1,Du=0,uu=16,Cu=3,Bu=15,xu=16,tu=1,su=8,ru=16,Wt=64,pu=128,Gu=16,Hu=32,Iu=48,Ju=64,Ku=
|
||||
112,Eu=144,Lu=145,Fu=240,Mu=2,zu=4,Su=0,Tu=2,Wu=0,Xu=1,Ou=3,Yu=5,Zu=8,av=10,ku=12,cv=15,Uu=224,Vu=228,Yt=0,Qu=4,ev=20,Xt=0,lu=1,hu=2,iu=4,ju=8,gu=32,Pt={800:Z.prototype.yl,801:Z.prototype.zl,802:Z.prototype.xl},Ot={496:Z.prototype.Wj,497:Z.prototype.Bk,498:Z.prototype.Dk,499:Z.prototype.Ek,500:Z.prototype.zk,501:Z.prototype.yk,502:Z.prototype.Ak,503:Z.prototype.Fk},Rt={800:Z.prototype.Um,801:Z.prototype.Xm,802:Z.prototype.Wm,803:Z.prototype.Vm,807:Z.prototype.eh,811:Z.prototype.eh,815:Z.prototype.eh},
|
||||
Qt={496:Z.prototype.am,497:Z.prototype.fm,498:Z.prototype.dm,499:Z.prototype.em,500:Z.prototype.$l,501:Z.prototype.Zl,502:Z.prototype.bm,503:Z.prototype.Yl,1014:Z.prototype.cm};Sa(function(){for(var a=jb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c);d=new Z(d);ib(d,c)}});
|
||||
function gv(a,b,c){u.call(this,"Computer",a);var d=this;hv(this,b);this.U=Lc(this,"autoPower",a);this.D=+Lc(this,"diagnostics",a);0<=this.D&&2>=this.D||(this.D=1);this.F=0;this.ma=a.busWidth||a.buswidth;this.A=iv;this.M=null;this.J=this.fa=!1;this.qa=Lc(this,"url")||"";this.ra=(Math.random()+.1).toString(36).substr(2,12);this.B=jv(this);if(this.R=hb("CPU",this.id)){this.Ea=hb("Debugger",this.id);this.C=[];for(b=null;b=Ab(this,"Video",b);)this.C.push(b);this.oa=new Nb({id:this.Dd+".bus",busWidth:this.ma},
|
||||
this.R,this.Ea);var e=lb(this.id);this.ba=(this.I=hb("Panel",this.id))&&this.I.ia.print;this.ja=this.wa;this.la=this.print;this.pa=this.qb;this.ba&&(this.ja=this.I.wa,this.la=this.I.print,this.pa=this.I.qb);for(b=0;b<e.length;b++){var f=e[b];f.wa=function(a,b,c){kv(d,a);return d.ja.call(this,a,b,c)}.bind(f);f.print=function(a){return d.la.call(this,a)}.bind(f);f.qb=function(a,b,c){kv(d,a,b);return d.pa.call(this,a,b,c)}.bind(f)}this.H=0;!this.ba&&this.D&&lv(this);this.qb("PCx86 v1.37.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");
|
||||
for(b=0;b<e.length;b++)f=e[b],f.jc&&f.jc(this,this.oa,this.R,this.Ea);Mc(this.R,this.id,function(){gd(d)},1E3/mv);b=null;f=Lc(this,"resume");void 0!==f&&(1<f.length?b=this.L=f:this.A=parseInt(f,10));f=!1;e=Oa("state");e||(f=!0,e=Lc(this,"state",a));e&&(b=this.X=e,f||(this.J=!0,this.A=iv),this.A&&(this.N=new Qe(this,"1.37.0"),this.N.load()?b=null:delete this.N));!b&&this.A&&(b=nv(this))&&(this.J=!0);if(this.aa=b){var g="Loading "+this.aa+"...";Ea(this.aa,null,!0,function(a,b,c){c?(d.L=null,d.J=!1,
|
||||
d.wa("Unable to load machine state from server (error "+c+(b?": "+xa(b):"")+")")):(d.M=b,d.fa=!0);v(d)},function(){d.qb(g,tb)})}else v(this);this.ia.power||(this.U=!0);!c&&this.U&&this.xe(this.te)}else q("Unable to find CPU component")}ja(gv,u);function lv(a){if(!a.H)for(var b=0;b<a.C.length;b++){var c=a.C[b];c&&(c=c.Cf)&&(c.style.opacity="1",c.style.lineHeight="1",a.H++)}}
|
||||
function kv(a,b,c){if(a.H)for(var d=0;d<a.C.length;d++){var e=a.C[d];e&&(e=e.Cf)&&(c!=tb||"..."!=b.slice(-3)?eb(e,b+"\n"):fb(e,b,b+"."))}}function mo(a){var b=a.D;3==a.D&&(a.D++,v(a));return!b}function hv(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.K=b}function Lc(a,b,c){var d=Oa(b);void 0===d&&a.K&&(d=a.K[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}l=gv.prototype;
|
||||
l.xe=function(a,b){for(var c=this,d=lb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!vb(f)){vb(f,function(){c.xe(a,b)});return}}a.call(this,b)};function ov(a,b){var c=new Qe(a,"1.37.0",pv);if(c.load()&&qv(c)){var d=c.get(rv),e=b?b.get(rv):"unknown";d!=e&&(a.wa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
l.te=function(a){void 0===a&&(a=this.A||(this.M?sv:iv));if(!this.F){this.F++;var b=!1,c=!1;this.da=!1;var d=this.N||new Qe(this,"1.37.0");if(a==Tc)b=!0;else if(a>iv){if(d.load(this.M)){this.G=new Qe(this,"1.37.0",tv);this.G.load()&&(a!=sv&&uv(this,d)&&(a=vv),wv(this.G));this.G.set(rv,za("Y-m-d H:i:s"));xv(this.G);var e=this.A&&!this.J;if(a==sv||cb("Click OK to restore the previous PCx86 machine state.")){if(c=qv(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.wa("Error: "+g),"unable to verify user"==g&&(Ka(yv,""),this.B=null)):this.qb(f+": "+g),wv(d),d.load()?(c=qv(d),e=!0):c=!1))}e&&ov(this,c?d:null)}else a==vv&&d.clear()}else ov(this);delete this.M;delete this.N}e=lb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.R&&(c=zv(this,g,d,b,c));b=[d,a,c];a!=Tc?this.xe(this.gg,b):this.gg(b)}};
|
||||
function zv(a,b,c,d,e){if(!b.Y.Sb){b.Y.Sb=!0;if(b.Rb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.Rb(f,d)&&f&&(b.wa("Unable to restore hardware state")&&(a.X&&!a.fa?(c.clear(),a.A=iv,window&&window.location.reload()):a.da=!0),b.Rb(null),e=!1)}b.Y.Ie=!0;if(!d&&b.hi)for(a=b.hi.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.gg=function(a){if(!this.Y.Ie){a:{if(this.H){if(2==this.D){this.D++;this.qb("Press any key to continue...");var b=!1;break a}for(b=0;b<this.C.length;b++){var c=this.C[b];if(c&&(c=c.Cf)){var d=Ga();c.style.opacity="0";c.style.lineHeight="0";if(0<=d.indexOf("MSIE")||0<=d.indexOf("Trident"))c.style.fontSize="0";c.value=""}}this.H=0}this.D=0;b=!0}if(!b){v(this,!1);this.xe(this.gg,a);return}this.Y.Ie=!0}b=a[0];c=0>a[1];a=a[2];if(d=this.ia.power)d.textContent="Shutdown";this.Y.Sb=!0;this.R&&(zv(this,this.R,
|
||||
b,c,a),this.R.Gd());this.da&&(uv(this,b),b.clear());!c&&this.G&&(this.G.clear(),delete this.G);this.F=0;nb(this.Dd,Lc(this,"autoScript"))};function uv(a,b){if(!a.Y.Yd){if(cb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.37.0"};d.url=a.qa;d.user=c;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
function Av(a,b,c){var d="none";if(a.F)return null;a.F--;var e=new Qe(a,"1.37.0"),f=new Qe(a,"1.37.0",pv),g=za("Y-m-d H:i:s");f.set(rv,g);e.set(rv,g);e.set(Bv,"1.37.0");e.set(Cv,window?window.location.href:null);e.set(Dv,Ga());if(a.R&&a.R.Qb){var h=a.R.Qb(b,c);"object"===typeof h&&e.set(a.R.id,h);c&&(a.R.Y.Sb=!1,!1===h&&(d=null))}g=lb(a.id);for(var k=0;k<g.length;k++){var m=g[k];m.Y.Sb&&(m.Qb&&(h=m.Qb(b,c),"object"===typeof h&&e.set(m.id,h)),c&&(m.Y.Sb=!1,!1===h&&(d=null)))}d&&(c?(g=h=!1,b?(a.B&&
|
||||
Ev(a,a.B,e.toString()),xv(f)&&xv(e)||(d=null,h=g=!0)):a.A&&(h=!0,g=a.A==Fv),h&&e.clear(g)):d=e.toString());c&&(a.Y.Sb=!1,b=a.ia.power)&&(b.textContent="Power");a.F=0;return d}l.reset=function(){this.oa&&this.oa.reset&&this.oa.reset();for(var a=lb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=lb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
||||
function Ut(a){var b=0,c=[];a.L?(c[b++]=a.H,c[b++]=a.ra,c[b++]=a.I,c[b++]=a.da,c[b++]=a.ba,c[b++]=a.aa,c[b++]=a.N,c[b++]=a.Z,c[b++]=a.fa,c[b++]=[a.K,a.Na]):(c[b++]=a.W,c[b++]=a.Z,c[b++]=a.G,c[b++]=a.D,c[b++]=a.C,c[b++]=a.qa,c[b++]=a.ma,c[b++]=a.pa,c[b++]=a.M);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.Kj;m[k++]=h.le;m[k++]=h.be;m[k++]=h.ce;m[k++]=h.Wa;m[k++]=h.$a;m[k++]=h.Ed;m[k++]=h.bb;m[k++]=h.xd;m[k++]=h.xb;m[k++]=h.Ra;m[k]=h.sa?h.sa.save():null;
|
||||
e[g]=m}c[b]=e;return c}function du(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.be[2])?e=b.be[0]<<8|b.be[1]:c=b.type);null==c||d||(d=cu[a.F][c][1],e=cu[a.F][c][0]);d&&((c=cu[a.F][b.type])&&e!=c[0]&&d!=c[1]&&a.wa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.kb=e,b.$a=d,null==b.sa&&(b.sa=new us(a,b,b.mode)))}}
|
||||
function St(a,b){b||(a.J=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];d.name&&d.path?b&&d.sa&&d.sa.Af||!a.Gl(c,d.name,d.path,!0)&&b&&v(a,!1):b&&void 0!==d.type&&(d.sa=null,du(a,d,d.type))}return!!a.J}l.Gl=function(a,b,c,d){var e=this.A[a];if(e.Kd)return this.wa("Drive "+a+" busy"),!0;e.Kd=!0;d&&(e.Jd=!0,this.J++);(e.sa||new us(this,e,e.mode)).load(b,c,null,this.jk);return!1};
|
||||
l.jk=function(a,b,c){a.Kd=!1;if(a.sa=b)this.wa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Na),a.Jd),b=b.info(),b[0]==a.kb&&b[1]==a.$a&&b[2]==a.Xa&&b[3]==a.ob||this.wa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+eu[this.F]+" drive type "+a.type+" ("+a.kb+":"+a.$a+":"+a.Xa+")");a.Jd&&(a.Jd=!1,--this.J||v(this))};l.yl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.U&&Hf(this.U,5);this.Z&=~fu;++this.D>=this.C&&(this.D=this.C=0,this.Z&=~(gu|hu|iu));return a};
|
||||
l.Um=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]!=ju?6:this.G.length;6==this.C&&(this.Z&=~ku);this.C>=a&&(this.Z|=gu,this.Z&=~ku,lu(this))};l.zl=function(){var a=this.Z;this.D<this.C&&(this.Z|=ku);return a};l.Xm=function(a,b){this.qa=b;this.U&&Hf(this.U,5);Tt(this)};l.xl=function(){return this.W};l.Wm=function(a,b){this.ma=b;this.Z=ku|hu|iu};l.Vm=function(a,b){this.pa=b};l.eh=function(){};
|
||||
function mu(a){var b=-1;a.B&&(b=nu(a.B,function(){}),(1==a.B.Ra||a.B.Ra==a.B.ob)&&1<a.B.Ra&&(a.B.xb-=a.B.ob,a.I=a.I-1&255,a.B.xb>=a.B.ob?(a.Z=ou,nu(a.B,function(b){0<=b?(pu(a),a.U&&a.U.ca==Mj&&(a.Z=0),a.Z=a.Z|Vt|qu|ru):(a.Z=su,a.H=tu)},!1)):a.Z=Vt|qu));return b}l.Wj=function(){return mu(this)|mu(this)<<8};function uu(a,b){a.B&&a.B.xb>=a.B.ob&&(0>vu(a.B,b)?(a.Z=su,a.H=tu):(1==a.B.Ra||a.B.Ra==a.B.ob)&&1<a.B.Ra&&(a.B.xb-=a.B.ob,a.I=a.I-1&255,pu(a),a.Z=Vt|qu,a.B.xb>=a.B.ob&&(a.Z|=ru)))}
|
||||
l.am=function(a,b){uu(this,b&255);uu(this,b>>8&255)};l.Bk=function(){return this.H};l.fm=function(a,b){this.ra=b};l.Dk=function(){return this.I};l.dm=function(a,b){this.I=b};l.Ek=function(){return this.da};l.em=function(a,b){this.da=b};l.zk=function(){return this.ba};l.$l=function(a,b){this.ba=b};l.yk=function(){return this.aa};l.Zl=function(a,b){this.aa=b};l.Ak=function(){return this.N};l.bm=function(a,b){this.N=b;this.Z=this.A[this.N&wu?1:0]?this.Z|Vt|qu:this.Z&~Vt};
|
||||
l.Fk=function(){var a=this.Z;this.Z&Vt&&(this.Z&=~ou);return a};l.Yl=function(a,b){this.fa=b;this.U&&Hf(this.U,14);xu(this)};l.cm=function(a,b){this.K&yu&&!(b&yu)&&(this.H=zu);this.K=b};
|
||||
function xu(a){var b=!1,c=a.fa,d=a.N&wu?1:0,e=a.N&Au,f=a.ba|(a.aa&Bu)<<8,g=a.da,h=a.I||256;a.Na=-1;a.B=null;a.H=Cu;a.Z=Vt|qu;var k=a.A[d];k?(k.Ed=f,k.Wa=e,k.bb=g,k.xb=h*k.ob,c=c>=Du?c:c&Eu,k.Va=null,k.Ra=0,k.errorCode=0,a.Na=d,a.B=k):c=-1;switch(c&Eu){case Fu:b=!0;break;case Gu:a.Z=ou;nu(k,function(b){0<=b&&a.U?(pu(a),a.Z=Vt|qu|ru):(a.Z=su,a.H=tu)},!1);break;case Hu:a.Z=ru;break;case Iu:b=!0;break;case Ju:b=!0;break;case Du:a.H=zu;b=!0;break;case Ku:k.$a=e+1,k.Xa=h,b=!0}b&&pu(a)}
|
||||
function pu(a){a.U&&(a.K&Lu||Jf(a.U,14,120))}
|
||||
function lu(a){a.D=0;var b=Mu(a),c=Mu(a),d=c&32,e=d>>5,f=c&31,g=Mu(a),h=Mu(a),k=g<<2&768|h,m=g&63,r=Mu(a),x=Mu(a),t=a.A[e];t&&(t.Ed=k,t.Wa=f,t.bb=m,t.xb=r*t.ob);switch(b){case Nu:Ou(a,t?t.errorCode:Pu);Qu(a,c);Qu(a,g);Qu(a,h);Qu(a,Ru|d);b=-1;break;case ju:for(c=0;0<=(b=Mu(a));)t&&c<t.be.length&&(t.be[c++]=b);t&&du(a,t);b=Ru;t||a.M!=e||(a.M=-1,b=Su);Ou(a,b|d);b=-1;break;case Tu:case Uu:Ou(a,Ru|d),b=-1}if(0<=b)switch(void 0===t?b=-1:(t.errorCode=Xt,t.Kj=0),b){case Vu:Ou(a,Ru|d);break;case Wu:t.Ee=x;
|
||||
Ou(a,Ru|d);break;case Xu:Ou(a,Ru|d);break;case Yu:Zu(a,t,function(b){Ou(a,b|d)});break;case $u:av(a,t,function(b){Ou(a,b|d)});break;case bv:cv(a,t,function(b){Ou(a,b|d)});break;default:Ou(a,Su|d)}}function Mu(a){var b=-1;a.D<a.C&&(b=a.G[a.D++]);return b}function Ou(a,b){a.D=a.C=0;void 0!==b&&Qu(a,b);a.U&&Jf(a.U,5);a.Z|=fu}function Qu(a,b){a.G[a.C++]=b}l.Uj=function(a,b,c){void 0===b||0>b?nu(a,c):c(-1,!1)};l.Vj=function(a,b){return void 0!==b&&0<=b?vu(a,b):-1};
|
||||
l.hk=function(a,b){void 0!==b&&0<=b?(a.Ra<a.ce.length?a.ce[a.Ra++]=b:(a.errorCode=dv,b=-1),a=b):a=-1;return a};l.ik=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Gc[a.ge++]=b;if(a.ge==a.Gc.length){a.Ed=a.Gc[0];a.Wa=a.Gc[1];a.bb=a.Gc[2];a.xb=128<<a.Gc[3];for(var c=a.ge=0;c<a.xb;c++)if(0>vu(a,a.Uh)){a=-1;break a}a.tf++}a.tf>=a.xd&&(b=-1);a=b}else a=-1;return a};
|
||||
function Zu(a,b,c){b.errorCode=Pu;if(b.sa&&(b.Va=null,a.U)){b.errorCode=Xt;zl(a.U,3,a,"dmaRead",b);vl(a.U,3,function(a){a||b.errorCode!=Xt||(b.errorCode=Pu);c(b.errorCode?Su:Ru)});return}c(b.errorCode?Su:Ru)}function av(a,b,c){b.errorCode=Pu;if(b.sa&&(b.Va=null,a.U)){b.errorCode=Xt;zl(a.U,3,a,"dmaWrite",b);vl(a.U,3,function(a){a||(b.errorCode==Xt&&(b.errorCode=Pu),b.errorCode==dv&&(b.errorCode=Xt));c(b.errorCode?Su:Ru)});return}c(b.errorCode?Su:Ru)}
|
||||
function cv(a,b,c){b.errorCode=Pu;b.ce&&b.ce.length==b.xb||(b.ce=Array(b.xb));b.Ra=0;a.U?(b.errorCode=Xt,zl(a.U,3,a,"dmaWriteBuffer",b),vl(a.U,3,function(a){a||b.errorCode!=Xt||(b.errorCode=Pu);c(b.errorCode?Su:Ru)})):c(b.errorCode?Su:Ru)}
|
||||
function nu(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Va&&(f=a.Ra,d=a.sa.read(a.Va,a.Ra),a.Ra+=g,0<=d))return e=a.Va,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Ed,a.Wa,a.bb+a.sf,!1,function(c,k){(a.Va=c)?(e=c,f=a.Ra=0,ev(a),d=a.sa.read(a.Va,a.Ra),a.Ra+=g):a.errorCode=dv;b(d,k,e,f)}),d;a.errorCode=dv;b(d,!1,e,f)}return d}
|
||||
function vu(a,b){if(a.errorCode)return-1;do{if(a.Va&&a.sa.write(a.Va,a.Ra++,b))break;a.sa&&a.sa.seek(a.Ed,a.Wa,a.bb+a.sf,!0,function(b){a.Va=b});if(!a.Va){a.errorCode=dv;b=-1;break}a.Ra=0;ev(a)}while(1);return b}function ev(a){a.bb++;var b=1-a.sf;a.bb>=a.Xa+b&&(a.bb=b,a.Wa++,a.Wa>=a.$a&&(a.Wa=0,a.Ed++))}l.Bl=function(){var a=this.R.L&255;!(this.R.F>>8)&&128<a&&(this.M=a-128);return!0};l.Cl=function(){var a;(a=this.R.F>>8||!this.U)||(a=!(this.U.ac[0].Xc&64));return a?!0:!1};
|
||||
var Yt="Hard Drive",eu=["XTC","ATC","COMPAQ"],cu=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
|
||||
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],Rt=496,zu=1,Cu=0,tu=16,Bu=3,Au=15,wu=16,su=1,ru=8,qu=16,Vt=64,ou=128,Fu=16,Gu=32,Hu=48,Iu=64,Ju=
|
||||
112,Du=144,Ku=145,Eu=240,Lu=2,yu=4,Ru=0,Su=2,Vu=0,Wu=1,Nu=3,Xu=5,Yu=8,$u=10,ju=12,bv=15,Tu=224,Uu=228,Xt=0,Pu=4,dv=20,Wt=0,ku=1,gu=2,hu=4,iu=8,fu=32,Ot={800:Z.prototype.yl,801:Z.prototype.zl,802:Z.prototype.xl},Nt={496:Z.prototype.Wj,497:Z.prototype.Bk,498:Z.prototype.Dk,499:Z.prototype.Ek,500:Z.prototype.zk,501:Z.prototype.yk,502:Z.prototype.Ak,503:Z.prototype.Fk},Qt={800:Z.prototype.Um,801:Z.prototype.Xm,802:Z.prototype.Wm,803:Z.prototype.Vm,807:Z.prototype.eh,811:Z.prototype.eh,815:Z.prototype.eh},
|
||||
Pt={496:Z.prototype.am,497:Z.prototype.fm,498:Z.prototype.dm,499:Z.prototype.em,500:Z.prototype.$l,501:Z.prototype.Zl,502:Z.prototype.bm,503:Z.prototype.Yl,1014:Z.prototype.cm};Sa(function(){for(var a=jb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c);d=new Z(d);ib(d,c)}});
|
||||
function fv(a,b,c){u.call(this,"Computer",a);var d=this;gv(this,b);this.U=Lc(this,"autoPower",a);this.D=+Lc(this,"diagnostics",a);0<=this.D&&2>=this.D||(this.D=1);this.F=0;this.ma=a.busWidth||a.buswidth;this.A=hv;this.M=null;this.J=this.fa=!1;this.qa=Lc(this,"url")||"";this.ra=(Math.random()+.1).toString(36).substr(2,12);this.B=iv(this);if(this.R=hb("CPU",this.id)){this.Ea=hb("Debugger",this.id);this.C=[];for(b=null;b=Ab(this,"Video",b);)this.C.push(b);this.oa=new Nb({id:this.Dd+".bus",busWidth:this.ma},
|
||||
this.R,this.Ea);var e=lb(this.id);this.ba=(this.I=hb("Panel",this.id))&&this.I.ia.print;this.ja=this.wa;this.la=this.print;this.pa=this.qb;this.ba&&(this.ja=this.I.wa,this.la=this.I.print,this.pa=this.I.qb);for(b=0;b<e.length;b++){var f=e[b];f.wa=function(a,b,c){jv(d,a);return d.ja.call(this,a,b,c)}.bind(f);f.print=function(a){return d.la.call(this,a)}.bind(f);f.qb=function(a,b,c){jv(d,a,b);return d.pa.call(this,a,b,c)}.bind(f)}this.H=0;!this.ba&&this.D&&kv(this);this.qb("PCx86 v1.37.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");
|
||||
for(b=0;b<e.length;b++)f=e[b],f.jc&&f.jc(this,this.oa,this.R,this.Ea);Mc(this.R,this.id,function(){gd(d)},1E3/lv);b=null;f=Lc(this,"resume");void 0!==f&&(1<f.length?b=this.L=f:this.A=parseInt(f,10));f=!1;e=Oa("state");e||(f=!0,e=Lc(this,"state",a));e&&(b=this.X=e,f||(this.J=!0,this.A=hv),this.A&&(this.N=new Qe(this,"1.37.0"),this.N.load()?b=null:delete this.N));!b&&this.A&&(b=mv(this))&&(this.J=!0);if(this.aa=b){var g="Loading "+this.aa+"...";Ea(this.aa,null,!0,function(a,b,c){c?(d.L=null,d.J=!1,
|
||||
d.wa("Unable to load machine state from server (error "+c+(b?": "+xa(b):"")+")")):(d.M=b,d.fa=!0);v(d)},function(){d.qb(g,tb)})}else v(this);this.ia.power||(this.U=!0);!c&&this.U&&this.xe(this.te)}else q("Unable to find CPU component")}ja(fv,u);function kv(a){if(!a.H)for(var b=0;b<a.C.length;b++){var c=a.C[b];c&&(c=c.Cf)&&(c.style.opacity="1",c.style.lineHeight="1",a.H++)}}
|
||||
function jv(a,b,c){if(a.H)for(var d=0;d<a.C.length;d++){var e=a.C[d];e&&(e=e.Cf)&&(c!=tb||"..."!=b.slice(-3)?eb(e,b+"\n"):fb(e,b,b+"."))}}function mo(a){var b=a.D;3==a.D&&(a.D++,v(a));return!b}function gv(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.K=b}function Lc(a,b,c){var d=Oa(b);void 0===d&&a.K&&(d=a.K[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}l=fv.prototype;
|
||||
l.xe=function(a,b){for(var c=this,d=lb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!vb(f)){vb(f,function(){c.xe(a,b)});return}}a.call(this,b)};function nv(a,b){var c=new Qe(a,"1.37.0",ov);if(c.load()&&pv(c)){var d=c.get(qv),e=b?b.get(qv):"unknown";d!=e&&(a.wa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
l.te=function(a){void 0===a&&(a=this.A||(this.M?rv:hv));if(!this.F){this.F++;var b=!1,c=!1;this.da=!1;var d=this.N||new Qe(this,"1.37.0");if(a==Tc)b=!0;else if(a>hv){if(d.load(this.M)){this.G=new Qe(this,"1.37.0",sv);this.G.load()&&(a!=rv&&tv(this,d)&&(a=uv),vv(this.G));this.G.set(qv,za("Y-m-d H:i:s"));wv(this.G);var e=this.A&&!this.J;if(a==rv||cb("Click OK to restore the previous PCx86 machine state.")){if(c=pv(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.wa("Error: "+g),"unable to verify user"==g&&(Ka(xv,""),this.B=null)):this.qb(f+": "+g),vv(d),d.load()?(c=pv(d),e=!0):c=!1))}e&&nv(this,c?d:null)}else a==uv&&d.clear()}else nv(this);delete this.M;delete this.N}e=lb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.R&&(c=yv(this,g,d,b,c));b=[d,a,c];a!=Tc?this.xe(this.gg,b):this.gg(b)}};
|
||||
function yv(a,b,c,d,e){if(!b.Y.Sb){b.Y.Sb=!0;if(b.Rb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.Rb(f,d)&&f&&(b.wa("Unable to restore hardware state")&&(a.X&&!a.fa?(c.clear(),a.A=hv,window&&window.location.reload()):a.da=!0),b.Rb(null),e=!1)}b.Y.Ie=!0;if(!d&&b.hi)for(a=b.hi.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.gg=function(a){if(!this.Y.Ie){a:{if(this.H){if(2==this.D){this.D++;this.qb("Press any key to continue...");var b=!1;break a}for(b=0;b<this.C.length;b++){var c=this.C[b];if(c&&(c=c.Cf)){var d=Ga();c.style.opacity="0";c.style.lineHeight="0";if(0<=d.indexOf("MSIE")||0<=d.indexOf("Trident"))c.style.fontSize="0";c.value=""}}this.H=0}this.D=0;b=!0}if(!b){v(this,!1);this.xe(this.gg,a);return}this.Y.Ie=!0}b=a[0];c=0>a[1];a=a[2];if(d=this.ia.power)d.textContent="Shutdown";this.Y.Sb=!0;this.R&&(yv(this,this.R,
|
||||
b,c,a),this.R.Gd());this.da&&(tv(this,b),b.clear());!c&&this.G&&(this.G.clear(),delete this.G);this.F=0;nb(this.Dd,Lc(this,"autoScript"))};function tv(a,b){if(!a.Y.Yd){if(cb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.37.0"};d.url=a.qa;d.user=c;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
function zv(a,b,c){var d="none";if(a.F)return null;a.F--;var e=new Qe(a,"1.37.0"),f=new Qe(a,"1.37.0",ov),g=za("Y-m-d H:i:s");f.set(qv,g);e.set(qv,g);e.set(Av,"1.37.0");e.set(Bv,window?window.location.href:null);e.set(Cv,Ga());if(a.R&&a.R.Qb){var h=a.R.Qb(b,c);"object"===typeof h&&e.set(a.R.id,h);c&&(a.R.Y.Sb=!1,!1===h&&(d=null))}g=lb(a.id);for(var k=0;k<g.length;k++){var m=g[k];m.Y.Sb&&(m.Qb&&(h=m.Qb(b,c),"object"===typeof h&&e.set(m.id,h)),c&&(m.Y.Sb=!1,!1===h&&(d=null)))}d&&(c?(g=h=!1,b?(a.B&&
|
||||
Dv(a,a.B,e.toString()),wv(f)&&wv(e)||(d=null,h=g=!0)):a.A&&(h=!0,g=a.A==Ev),h&&e.clear(g)):d=e.toString());c&&(a.Y.Sb=!1,b=a.ia.power)&&(b.textContent="Power");a.F=0;return d}l.reset=function(){this.oa&&this.oa.reset&&this.oa.reset();for(var a=lb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=lb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
||||
l.stop=function(a,b){for(var c=lb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
l.Ab=function(a,b,c){var d=this;switch(b){case "power":return this.ia[b]=c,c.onclick=function(){d.F||(d.Y.Sb?Av(d,!1,!0):d.xe(d.te))},!0;case "reset":return this.ia[b]=c,c.onclick=function(){if(d.Y.Sb&&!d.F)if(d.R&&(d.R.Y.Gd=d.R.Y.cb),d.A&&!d.L){var a=d.Y.Yd||!cb("Click OK to reset this PCx86 machine and discard all disk modifications.");Av(d,a,!0);!a&&d.X?window&&window.location.reload():(a||(d.W=!0),d.te(iv),d.W=!1)}else d.reset(),d.R&&d.R.Gd()},!0;case "save":if(ua(Fa(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.ia[b]=c,c.onclick=function(){var a=jv(d,!0);if(a){var b=!!(d.A&&!d.L||d.X),c=Av(d,b);b?Ev(d,a,c):d.wa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function jv(a,b){var c=a.B;c||((c=Ja(yv),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=Gv(a,c))||a.wa("The user ID is invalid.")):b&&a.wa("Browser local storage is not available"));return c}
|
||||
function Gv(a,b){a.B=null;b=Ea(Fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ka(yv,b.data),a.B=b.data)}catch(d){q(d.message+" ("+c+")")}return a.B}function nv(a){var b=null;a.B&&(b=Fa()+"/api/v1/user?req=load&user="+a.B+"&state="+Hv(a,"1.37.0"));return b}
|
||||
function Ev(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Hv(a,"1.37.0");d.data=c;b=Ea(Fa()+"/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.wa("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.wa(c),Ka(yv,""),a.B=null)}}
|
||||
l.Ab=function(a,b,c){var d=this;switch(b){case "power":return this.ia[b]=c,c.onclick=function(){d.F||(d.Y.Sb?zv(d,!1,!0):d.xe(d.te))},!0;case "reset":return this.ia[b]=c,c.onclick=function(){if(d.Y.Sb&&!d.F)if(d.R&&(d.R.Y.Gd=d.R.Y.cb),d.A&&!d.L){var a=d.Y.Yd||!cb("Click OK to reset this PCx86 machine and discard all disk modifications.");zv(d,a,!0);!a&&d.X?window&&window.location.reload():(a||(d.W=!0),d.te(hv),d.W=!1)}else d.reset(),d.R&&d.R.Gd()},!0;case "save":if(ua(Fa(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.ia[b]=c,c.onclick=function(){var a=iv(d,!0);if(a){var b=!!(d.A&&!d.L||d.X),c=zv(d,b);b?Dv(d,a,c):d.wa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function iv(a,b){var c=a.B;c||((c=Ja(xv),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=Fv(a,c))||a.wa("The user ID is invalid.")):b&&a.wa("Browser local storage is not available"));return c}
|
||||
function Fv(a,b){a.B=null;b=Ea(Fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ka(xv,b.data),a.B=b.data)}catch(d){q(d.message+" ("+c+")")}return a.B}function mv(a){var b=null;a.B&&(b=Fa()+"/api/v1/user?req=load&user="+a.B+"&state="+Gv(a,"1.37.0"));return b}
|
||||
function Dv(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Gv(a,"1.37.0");d.data=c;b=Ea(Fa()+"/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.wa("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.wa(c),Ka(xv,""),a.B=null)}}
|
||||
function Ab(a,b,c){a=lb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}function Yc(a,b){if(a.C.length){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a=a.C[0];a.F&&a.F.focus();!b&&window&&window.scrollTo(c,d)}}
|
||||
function gd(a,b){if(a.R){var c=a.R;if(c.gi&&(b||!c.Y.cb||c.Y.bi)){yf(c,"EAX",c.F);yf(c,"EBX",c.G);yf(c,"ECX",c.H);yf(c,"EDX",c.L);yf(c,"ESP",C(c));yf(c,"EBP",c.M);yf(c,"ESI",c.J);yf(c,"EDI",c.I);yf(c,"CS",c.fa.ha);yf(c,"DS",c.Ga.ha);yf(c,"SS",c.W.ha);yf(c,"ES",c.xa.ha);yf(c,"EIP",F(c));var d=Ad(c);yf(c,"PS",d);yf(c,"V",d&2048);yf(c,"D",d&1024);yf(c,"I",d&512);yf(c,"T",d&256);yf(c,"S",d&128);yf(c,"Z",d&64);yf(c,"A",d&16);yf(c,"P",d&4);yf(c,"C",d&1);80386==c.ca&&(yf(c,"FS",c.rb.ha),yf(c,"GS",c.vb.ha),
|
||||
yf(c,"CR0",c.ra),yf(c,"CR2",c.sd),yf(c,"CR3",c.Vc))}if(d=c.ia.speed)d.textContent=c.Y.cb&&c.V.jd?c.V.jd.toFixed(2)+"Mhz":"Stopped"}for(c=0;c<a.C.length;c++)qq(a.C[c],b)}var tv="failsafe",pv="validate",rv="timestamp",Bv="version",Cv="url",Dv="browser",yv="user",Tc=-1,iv=0,sv=1,vv=2,Fv=3,mv=2;Sa(function(){for(var a=jb(document,"pcx86-machine"),b=0;b<a.length;b++){var c=a[b],d=kb(c);c=jb(c,"pcx86","computer");for(var e=0;e<c.length;e++){var f=c[e],g=kb(f);g=new gv(g,d,!0);ib(g,f);g.U&&g.xe(g.te)}}});
|
||||
Ta.show.push(function(){for(var a=jb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=kb(a[b]);if(c=hb("Computer",c.id))c.Y.Yd=!1,c.Y.Ie&&!c.Y.Sb&&c.te(Tc)}});Ta.exit.push(function(){for(var a=jb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=kb(a[b]);if(c=hb("Computer",c.id))c.Y.Yd=!0,c.Y.Sb&&Av(c,!(!c.A||c.L),!0)}});function Qe(a,b,c){this.id=a.id;this.Ea=a.Ea;this.A="";this.state={};this.B=this.C=!1;this.key=Hv(a,b,c);wv(this,a.Aj)}l=Qe.prototype;
|
||||
l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Ha()&&(a=Ja(this.key))?(this.A=a,this.B=!0):!1};function qv(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){q(c.message||c),b=!1}return b}
|
||||
function xv(a){var b=!0;if(Ha()){var c=JSON.stringify(a.state);Ka(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};function wv(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}
|
||||
l.clear=function(a){wv(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 Hv(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 Iv=0;
|
||||
function Jv(a,b,c,d,e,f){e("Loading "+a+"...");Ea(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):Kv(h,a,b,c,d,e,f)})}
|
||||
function Kv(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(ab(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),d=d.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
|
||||
"$1PCx86$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Lv(a,f,h):h(a,null):g("no data"+(b?" for file: "+
|
||||
yf(c,"CR0",c.ra),yf(c,"CR2",c.sd),yf(c,"CR3",c.Vc))}if(d=c.ia.speed)d.textContent=c.Y.cb&&c.V.jd?c.V.jd.toFixed(2)+"Mhz":"Stopped"}for(c=0;c<a.C.length;c++)qq(a.C[c],b)}var sv="failsafe",ov="validate",qv="timestamp",Av="version",Bv="url",Cv="browser",xv="user",Tc=-1,hv=0,rv=1,uv=2,Ev=3,lv=2;Sa(function(){for(var a=jb(document,"pcx86-machine"),b=0;b<a.length;b++){var c=a[b],d=kb(c);c=jb(c,"pcx86","computer");for(var e=0;e<c.length;e++){var f=c[e],g=kb(f);g=new fv(g,d,!0);ib(g,f);g.U&&g.xe(g.te)}}});
|
||||
Ta.show.push(function(){for(var a=jb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=kb(a[b]);if(c=hb("Computer",c.id))c.Y.Yd=!1,c.Y.Ie&&!c.Y.Sb&&c.te(Tc)}});Ta.exit.push(function(){for(var a=jb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=kb(a[b]);if(c=hb("Computer",c.id))c.Y.Yd=!0,c.Y.Sb&&zv(c,!(!c.A||c.L),!0)}});function Qe(a,b,c){this.id=a.id;this.Ea=a.Ea;this.A="";this.state={};this.B=this.C=!1;this.key=Gv(a,b,c);vv(this,a.Aj)}l=Qe.prototype;
|
||||
l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Ha()&&(a=Ja(this.key))?(this.A=a,this.B=!0):!1};function pv(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){q(c.message||c),b=!1}return b}
|
||||
function wv(a){var b=!0;if(Ha()){var c=JSON.stringify(a.state);Ka(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};function vv(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}
|
||||
l.clear=function(a){vv(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 Gv(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 Hv=0;
|
||||
function Iv(a,b,c,d,e,f){e("Loading "+a+"...");Ea(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):Jv(h,a,b,c,d,e,f)})}
|
||||
function Jv(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(ab(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),d=d.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
|
||||
"$1PCx86$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Kv(a,f,h):h(a,null):g("no data"+(b?" for file: "+
|
||||
b:""),null)}
|
||||
function Lv(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ea(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,r=/( [a-z]+=)(['"])(.*?)\2/gi;m=r.exec(f);)k=0>k.toLowerCase().indexOf(m[1].toLowerCase())?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);Lv(a,b,c)}})}else c(a,null)}
|
||||
function Mv(a,b,c,d){function e(a){if(void 0===h){var b=g&&jb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=va(a))}function f(a){e("Error: "+a);k&&(--Iv||Wa(!0));k=!1}var g,h,k=!0;Iv++;bb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],x=document.createElement("style");x.type="text/css";x.styleSheet?x.styleSheet.cssText=m:x.appendChild(document.createTextNode(m));r.appendChild(x)}c||
|
||||
(c="/versions/pcx86/1.37.0/components.xsl");m=function(d,h){h?Jv(c,null,null,!1,e,function(d,k){k?(ab(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Iv||Wa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Iv||Wa(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Jv(b,a,d,!0,e,m):Kv(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(t){f(t.message)}return k}function Nv(a,b,c,d){Wa(!1);return Mv(a,b,c,d)}window.embedPC=Nv;window.embedPCx86=Nv;
|
||||
function Kv(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ea(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,r=/( [a-z]+=)(['"])(.*?)\2/gi;m=r.exec(f);)k=0>k.toLowerCase().indexOf(m[1].toLowerCase())?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);Kv(a,b,c)}})}else c(a,null)}
|
||||
function Lv(a,b,c,d){function e(a){if(void 0===h){var b=g&&jb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=va(a))}function f(a){e("Error: "+a);k&&(--Hv||Wa(!0));k=!1}var g,h,k=!0;Hv++;bb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],x=document.createElement("style");x.type="text/css";x.styleSheet?x.styleSheet.cssText=m:x.appendChild(document.createTextNode(m));r.appendChild(x)}c||
|
||||
(c="/versions/pcx86/1.37.0/components.xsl");m=function(d,h){h?Iv(c,null,null,!1,e,function(d,k){k?(ab(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Hv||Wa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Hv||Wa(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Iv(b,a,d,!0,e,m):Jv(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(t){f(t.message)}return k}function Mv(a,b,c,d){Wa(!1);return Lv(a,b,c,d)}window.embedPC=Mv;window.embedPCx86=Mv;
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e)return nb(c,f)?(b&&(a.disabled=!0),!0):!1;if(d){var g=hb(d,c+".machine");if(g){var h=g.exports;if(h&&(h=h[e]))return h.call(g,f)?(b&&(a.disabled=!0),!0):!1}}console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=Wa;window.sendEvent=Ya;
|
||||
function Ov(a,b,c,d){if(!c&&b){d.push(b);a=bb[d[0]];b=null;for(var e in a)if(ua(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ea(b,null,!0,function(a,b){Pv(b,d)}):Pv(null,d)}else q("Error ("+c+") requesting "+a)}
|
||||
function Pv(a,b){var c,d,e=b[0],f=b[1];var g=b[4];if(g=g.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);)/)){var h=bb[e],k={},m;for(m in h){var r=h[m],x=ta(m);if("xml"==x){for(x=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;c=x.exec(h[m]);){var t=c[2];t&&!h[t]&&(r=r.replace(c[0],""))}c=m=sa(m)}else"xsl"==x&&(d=m=sa(m));k[m]=r}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);c&&d?(a=JSON.stringify(k),f+=".js",g=g[1]+"var resources="+a+";"+g[2]+g[3],g=g.replace(/\u00A9/g,
|
||||
function Nv(a,b,c,d){if(!c&&b){d.push(b);a=bb[d[0]];b=null;for(var e in a)if(ua(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ea(b,null,!0,function(a,b){Ov(b,d)}):Ov(null,d)}else q("Error ("+c+") requesting "+a)}
|
||||
function Ov(a,b){var c,d,e=b[0],f=b[1];var g=b[4];if(g=g.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);)/)){var h=bb[e],k={},m;for(m in h){var r=h[m],x=ta(m);if("xml"==x){for(x=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;c=x.exec(h[m]);){var t=c[2];t&&!h[t]&&(r=r.replace(c[0],""))}c=m=sa(m)}else"xsl"==x&&(d=m=sa(m));k[m]=r}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);c&&d?(a=JSON.stringify(k),f+=".js",g=g[1]+"var resources="+a+";"+g[2]+g[3],g=g.replace(/\u00A9/g,
|
||||
"©"),a=Qa(g,"javascript",!1,f),a=a+(', copy it to your web server as "'+f+'", and then add the following to your web page:\n\n')+('<div id="'+e+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+f+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+e+'","'+c+'","'+d+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",q(a)):q("Missing XML/XSL resources")}else q("Unsupported script")}
|
||||
window.savePC=function(a,b,c){var d=hb("Computer",a),e=hb("Debugger",a);if(d){var f=Av(d,!0),g=d.K?JSON.stringify(d.K):null;b||(b="/versions/pcx86/1.37.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Aj:g}))return!0;Ea(b,null,!0,function(c,d,e){Ov(c,d,e,[a,sa(b,!0),g,f])});return!0}q("Unable to identify machine '"+a+"'");return!1};})();//# sourceMappingURL=/versions/pcx86/1.37.0/pcx86.map
|
||||
window.savePC=function(a,b,c){var d=hb("Computer",a),e=hb("Debugger",a);if(d){var f=zv(d,!0),g=d.K?JSON.stringify(d.K):null;b||(b="/versions/pcx86/1.37.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Aj:g}))return!0;Ea(b,null,!0,function(c,d,e){Nv(c,d,e,[a,sa(b,!0),g,f])});return!0}q("Unable to identify machine '"+a+"'");return!1};})();//# sourceMappingURL=/versions/pcx86/1.37.0/pcx86.map
|
||||
|
|
|
|||
|
|
@ -5,16 +5,18 @@ permalink: /docs/pcx86/hdc/
|
|||
---
|
||||
|
||||
PCx86 Hard Drive Controller (HDC) Component
|
||||
---
|
||||
-------------------------------------------
|
||||
|
||||
Format
|
||||
---
|
||||
------
|
||||
|
||||
```xml
|
||||
<hdc>...</hdc>
|
||||
```
|
||||
|
||||
Purpose
|
||||
---
|
||||
-------
|
||||
|
||||
Creates an instance of the Hard Drive Controller (HDC) component. The HDC is responsible for:
|
||||
|
||||
- Automatically loading fixed disk image files at boot;
|
||||
|
|
@ -26,7 +28,8 @@ The first such drive was a 10Mb 5.25-inch drive containing two platters and 4 he
|
|||
for a total of 1224 tracks, with 17 sectors/track and 512 bytes/sector.
|
||||
|
||||
Attributes
|
||||
---
|
||||
----------
|
||||
|
||||
* *drives* (required)
|
||||
|
||||
This is an array definition, with one array entry per fixed disk. Each entry is a drive object definition,
|
||||
|
|
@ -41,35 +44,38 @@ Attributes
|
|||
|
||||
Should be set to one of:
|
||||
|
||||
* *'xt'*: PC XT Xebec controller emulation
|
||||
* *'at'*: PC AT Western Digital controller emulation
|
||||
* *'XT'*: PC XT Xebec controller emulation
|
||||
* *'AT'*: PC AT Western Digital controller emulation
|
||||
|
||||
Also, make sure the appropriate ROM is installed.
|
||||
|
||||
For the Xebec (*'xt'*) controller, you should install the Xebec ROM; eg:
|
||||
For the Xebec (*'XT'*) controller, you should install the Xebec ROM; eg:
|
||||
|
||||
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pcx86/hdc/ibm-xebec-1982.json"/>
|
||||
|
||||
For the Western Digital (*'at'*) controller, use a Model 5170 (or newer) ROM module; eg:
|
||||
For the Western Digital (*'AT'*) controller, use a Model 5170 (or newer) ROM module; eg:
|
||||
|
||||
<rom id="romBIOS" addr="0xf0000" size="0x10000" alias="0xff0000" file="/devices/pcx86/rom/5170/1984-01-10/1984-01-10.json"/>
|
||||
|
||||
The default *type* setting is *'xt'*.
|
||||
The default *type* setting is *'XT'*.
|
||||
|
||||
* Also supports the attributes of *[Component](/docs/pcx86/component/)*.
|
||||
|
||||
Bindings
|
||||
---
|
||||
--------
|
||||
|
||||
This component has no bindings. Fixed disks cannot be loaded or unloaded once the machine is "powered".
|
||||
|
||||
Example
|
||||
---
|
||||
-------
|
||||
|
||||
```xml
|
||||
<hdc id="hdcXT" drives="[{name:'10Mb Hard Drive',type:3}]"/>
|
||||
```
|
||||
|
||||
Output
|
||||
---
|
||||
------
|
||||
|
||||
```html
|
||||
<div id="..." class="pc-hdc pc-component">
|
||||
<div class="pc-container">
|
||||
|
|
|
|||
|
|
@ -5358,7 +5358,7 @@ class DebuggerX86 extends Debugger {
|
|||
* get "inflated" with use. See the dump() method in the Disk component for more details.
|
||||
*/
|
||||
this.doClear();
|
||||
this.println(drive.disk.toJSON());
|
||||
this.println(drive.disk.convertToJSON());
|
||||
return;
|
||||
}
|
||||
if (dc.seekDrive(drive, iSector, nSectors)) {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ if (NODE) {
|
|||
* 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 FDC and HDC components later and moved here, to
|
||||
* further reduce some of the duplication between them, but the above functionality is a good start.
|
||||
|
|
@ -2212,10 +2212,11 @@ class Disk 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).
|
||||
* (eg, 'length' values of 512, 'pattern' values of 0, and empty 'data' arrays, since those
|
||||
* are defaults).
|
||||
*
|
||||
* In addition, we first check every sector to see if it can be "deflated". Sectors that were
|
||||
* initially "deflated" should remain that way unless/until they were modified, so technically,
|
||||
|
|
@ -2223,9 +2224,10 @@ class Disk extends Component {
|
|||
* so it doesn't hurt to check every sector.
|
||||
*
|
||||
* @this {Disk}
|
||||
* @param {boolean} [fFormatted]
|
||||
* @return {string} containing the entire disk image as JSON-encoded data
|
||||
*/
|
||||
toJSON()
|
||||
convertToJSON(fFormatted)
|
||||
{
|
||||
var s, pba = 0, sector, sectorLast;
|
||||
|
||||
|
|
@ -2245,9 +2247,9 @@ class Disk extends Component {
|
|||
});
|
||||
|
||||
/*
|
||||
* Eliminate unnecessary default properties (eg, 'length' values of 512, 'pattern' values of 0).
|
||||
* Eliminate unnecessary default properties (eg, 'length' values of 512, 'pattern' values of 0, etc).
|
||||
*/
|
||||
s = s.replace(/,"length":512/gm, "").replace(/,"pattern":0/gm, "");
|
||||
s = s.replace(/,"length":512/g, "").replace(/,"pattern":0/g, "").replace(/,"data":\[]/g, "");
|
||||
|
||||
/*
|
||||
* I don't really want to strip quotes from disk image property names, since I would have to put them
|
||||
|
|
@ -2256,19 +2258,20 @@ class Disk 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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -60,9 +60,9 @@ class HDC extends Component {
|
|||
* HDC supports the following component-specific properties:
|
||||
*
|
||||
* drives: an array of driveConfig objects, each containing 'name', 'path', 'size' and 'type' properties
|
||||
* type: either 'xt' (for the PC XT Xebec controller) or 'at' (for the PC AT Western Digital controller)
|
||||
* type: either 'XT' (for the PC XT Xebec controller) or 'AT' (for the PC AT Western Digital controller)
|
||||
*
|
||||
* The 'type' parameter defaults to 'xt'. All ports for the PC XT controller are referred to as XTC ports,
|
||||
* The 'type' parameter defaults to 'XT'. All ports for the PC XT controller are referred to as XTC ports,
|
||||
* and similarly, all PC AT controller ports are referred to as ATC ports.
|
||||
*
|
||||
* If 'path' is empty, a scratch disk image is created; otherwise, we make a note of the path, but we will NOT
|
||||
|
|
@ -103,7 +103,8 @@ class HDC extends Component {
|
|||
* defaults. For example, the default XT drive type is 3 (for a 10Mb disk drive), whereas the default
|
||||
* AT drive type is 2 (for a 20Mb disk drive).
|
||||
*/
|
||||
this.fATC = (parmsHDC['type'] == "at");
|
||||
var sType = parmsHDC['type'];
|
||||
this.fATC = sType && sType.toUpperCase() == "AT" || false;
|
||||
|
||||
/*
|
||||
* Support for local disk images is currently limited to desktop browsers with FileReader support;
|
||||
|
|
|
|||
|
|
@ -195,8 +195,9 @@ class Mouse extends Component {
|
|||
* However, syncMouse() seems unnecessary, given that SerialPort initializes its MCR to an "inactive"
|
||||
* state, and even when restoring a previous state, if we've done our job properly, both SerialPort
|
||||
* and Mouse should be restored in sync, making any explicit attempt at sync'ing unnecessary (or so I hope).
|
||||
*
|
||||
* this.componentDevice.syncMouse();
|
||||
*/
|
||||
// this.componentDevice.syncMouse();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1794,7 +1794,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:
|
||||
|
|
@ -1848,7 +1848,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
|
||||
|
|
|
|||
|
|
@ -2094,14 +2094,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
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
* 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.
|
||||
|
|
@ -1110,7 +1110,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).
|
||||
|
|
@ -1121,9 +1121,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;
|
||||
|
||||
|
|
@ -1145,7 +1146,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
|
||||
|
|
@ -1154,19 +1155,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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1010,7 +1010,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">
|
||||
|
|
|
|||
|
|
@ -663,249 +663,249 @@ l.write=function(a,b,c){if(this.Oe)return!1;if(b<a.length){if(c!=this.read(a,b,!
|
|||
l.save=function(){var a=0,b=[];b[a++]=[this.H,this.K,this.sb,this.gb,this.Wa,this.Na];if(!this.D&&!this.Oe)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.Nc){for(var h=[],k=0,m=g.gd,p=g.gd+g.Nc;m<p;)h[k++]=g.data[m++];b[a++]=[d,e,f,g.gd,h]}}return b};
|
||||
l.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[0]&&null!=e[1]&&null!=this.K&&e[1]!=this.K&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.K+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],m=g[f++];if(h>=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+
|
||||
m+") out of range ("+b+" changes applied)";b=-1;break}if(this.Oe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.gd=e;for(h.Nc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b?-2!=b&&this.Da("Unable to restore disk '"+this.jd+": "+c):Cv(this);return b};
|
||||
l.toJSON=function(){var a=0;for(var b;b=Ev(this,a++);)hw(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 hw(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 vv=0;function aw(a,b,c,d,e){this.va=a;this.hc=b;this.Sg=c;this.Xi=d;this.ge=e}function Tv(a,b,c){var d;c=c||2;var e=b&511,f=Ev(a.va,a.ge[b>>9]);if(f){if(e+c<=f.length)return Fv(a.va,f,e,c);for(e=d=0;c--;)d|=Tv(a,b++,1)<<e,e+=8}return d}function Iv(a,b,c){return Tv(a,b[0]+(c||0),b[1])}
|
||||
function hw(a){for(var b=0,c;c=Ev(a,b++);)iw(c);a=JSON.stringify(a.A,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/g,"").replace(/,"pattern":0/g,"").replace(/,"data":\[]/g,"");a=a.replace(/"(sector|length|data|pattern)":/g,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/g,"");return a=a.replace(/(sector|length|data|pattern):/g,'"$1":')}function iw(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 vv=0;
|
||||
function aw(a,b,c,d,e){this.va=a;this.hc=b;this.Sg=c;this.Xi=d;this.ge=e}function Tv(a,b,c){var d;c=c||2;var e=b&511,f=Ev(a.va,a.ge[b>>9]);if(f){if(e+c<=f.length)return Fv(a.va,f,e,c);for(e=d=0;c--;)d|=Tv(a,b++,1)<<e,e+=8}return d}function Iv(a,b,c){return Tv(a,b[0]+(c||0),b[1])}
|
||||
function Xv(a,b,c){for(var d=0;!c||b<c;){var e=Tv(a,b,1);if(!e)break;var f=a;var g=b+1,h=e,k="";for(h||(h=-1);h--;){var m=Tv(f,g++,1);if(!m)break;k+=String.fromCharCode(m)}f=k;if(!f)break;b+=1+e;if(d){if(e=Tv(a,b),g=a.A[e])g=g[0],a.fe[g]&&a.fe[g].hf[e].push(f)}else c||(a.fi=f);b+=2;d++}}var Kv=23117,Jv=[0,2],Lv=[24,2],Nv=[60,4],Mv=64,Pv=17742,Ov=[0,2],Uv=[4,2],Vv=[6,2],Qv=[28,2],Zv=[32,2],Rv=[34,2],Wv=[38,2],Yv=[44,4],Sv=[50,2];
|
||||
function iw(a){pb.call(this,"FDC",a,524288);this.dmaRead=iw.prototype.bl;this.dmaWrite=iw.prototype.cl;this.dmaFormat=iw.prototype.tl;this.M=jw(a.autoMount);this.J=a.sortBy||"name";"none"==this.J&&(this.J=null);this.B=[];this.L=!Ua("Mobi")&&window&&"FileReader"in window;this.exports={loadDisk:this.zj,wait:this.Yo}}ia(iw,pb);l=iw.prototype;
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ma[b]=c;if(this.J){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.J?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){kw(d)};return!0;case "descDisk":case "listDrives":return this.ma[b]=c,c.onchange=function(){var a=qa(c.value,10);null!=a&&lw(d,a)},!0;case "loadDisk":return this.ma[b]=c,c.onclick=
|
||||
function jw(a){pb.call(this,"FDC",a,524288);this.dmaRead=jw.prototype.bl;this.dmaWrite=jw.prototype.cl;this.dmaFormat=jw.prototype.tl;this.M=kw(a.autoMount);this.J=a.sortBy||"name";"none"==this.J&&(this.J=null);this.B=[];this.L=!Ua("Mobi")&&window&&"FileReader"in window;this.exports={loadDisk:this.zj,wait:this.Yo}}ia(jw,pb);l=jw.prototype;
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ma[b]=c;if(this.J){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.J?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){lw(d)};return!0;case "descDisk":case "listDrives":return this.ma[b]=c,c.onchange=function(){var a=qa(c.value,10);null!=a&&mw(d,a)},!0;case "loadDisk":return this.ma[b]=c,c.onclick=
|
||||
function(){d.zj()},!0;case "saveDisk":if(!this.L){c.parentNode.removeChild(c);break}this.ma[b]=c;c.onclick=function(){var a=d.ma.listDrives;a&&a.options&&d.A&&((a=d.A[qa(a.value,10)||0])?(a=a.va)?(a=Za(gw(a),"octet-stream",!0,a.Fg.replace(".json",".img")),kb(a)):d.Da("No diskette loaded in drive."):d.Da("No diskette drive selected."))};return!0;case "mountDisk":if(this.L)return this.ma[b]=c,c.onchange=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;mw(d,xa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.ca=d;this.na=a;this.V=ac(a,"ChipSet");jw(Ad(this.na,"autoMount"),this.M);nw(this);Pc(b,this,ow);Uc(b,this,pw);qw(this,"None","",!0);this.L&&qw(this,"Local Disk","?");qw(this,"Remote Disk","??");rw(this)||Pb(this)};
|
||||
function jw(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){kb("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};for(var c in a)b&&(b[c]=a[c]);return a}
|
||||
l.$b=function(a,b){if(!b){if(!a){if(this.reset(),this.na.aa){this.B=[];for(a=0;a<this.A.length;a++)sw(this,a,!0);rw(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ma.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",lw(this,0))}}return!0};l.Zb=function(a){return a?this.save():!0};l.reset=function(){nw(this)};
|
||||
l.save=function(){var a=new ag(this);a.set(0,tw(this));return a.data()};l.restore=function(a){return nw(this,a[0])};
|
||||
function nw(a,b){var c=0,d=!0;b||(b=[0,0,uw,Array(9),0,0,0,[]]);a.Ya=b[c++];c++;a.ga=b[c++];a.F=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var e=b[c++];var f=b[c++];null!=f&&(a.B=f);void 0===a.A&&(a.N=4,a.V&&(a.N=+Yl(a.V,ll,void 0)),a.A=Array(4));for(f=0;f<a.A.length;f++){var g=a.A[f];if(void 0===g){g=a.A[f]={};if(a.V)a:{var h=a.V;if(f<+Yl(h,ll,void 0)){if(!h.L){h=360;break a}if(f<h.L.length){h=h.L[f];break a}}h=0}else h=0;switch(h){case 160:case 180:g.gb=1;default:g.sb=40;g.Wa=9;break;case 720:g.sb=
|
||||
80;g.Wa=9;break;case 1200:g.sb=80;g.Wa=15;break;case 1440:g.sb=80,g.Wa=18}}var k=a,m=f,p=e[f],v=0;h=!0;g.Ya=m;g.le=g.Ke=!1;g.Pe=null;void 0===p&&(p=[vw,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=[ww,g.sb||40,g.gb||p[3],g.Wa||9,g.Na||512,p[1],g.qg,g.wf,g.xf]);g.tb=p[v++];var u=p[v++];g.name=u[0];g.sb=u[1];g.gb=u[2];g.Wa=u[3];g.Na=u[4];g.Le=u[5];(g.qg=u[6])?(g.wf=u[7],g.xf=u[8]):(g.qg=g.sb,g.wf=g.gb,g.xf=g.Wa);g.bb=p[v++];g.Ud=p[v++];g.Ib=p[v++];g.Ud=100<=g.Ud?g.Ud-100:g.Ud-g.Ib;g.jb=p[v++];g.Vd=p[v++];
|
||||
g.yb=p[v++];g.Va=p[v++];g.hb=null;g.va||(g.ue="");var A=p[v++];102==A&&(A=!1);"boolean"==typeof A?(u=p[v++],p=p[v],A?(v=k.A[m],sw(k,m,!0,!0),v.Ke=!0,m=new uv(k,v,"preload"),k.hj(v,m,u,p,!0)):xw(k,m,u,p,!0)?g.va&&p&&yw(k,u,p,g.va):Pb(k,!1)):void 0!==A&&g.va&&0>g.va.restore(A)&&(h=!1);h&&g.va&&void 0!==g.Va&&(g.hb=g.va.seek(g.Ib,g.bb,g.jb));h||(d=!1)}a.H=b[c++]||0;a.bc=b[c]||zw;return d}
|
||||
function tw(a){var b=0,c=[];c[b++]=a.Ya;c[b++]=0;c[b++]=a.ga;c[b++]=a.F;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,p=[];p[m++]=k.tb;p[m++]=[k.name,k.sb,k.gb,k.Wa,k.Na,k.Le,k.qg,k.wf,k.xf];p[m++]=k.bb;p[m++]=k.Ud+100;p[m++]=k.Ib;p[m++]=k.jb;p[m++]=k.Vd;p[m++]=k.yb;p[m++]=k.Va;p[m++]=k.Ke;p[m++]=k.Tk;p[m]=k.ue;f[h]=p}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.va&&Aw(a,f.ue,f.va);c[d]=a.B;c[b++]=a.H;c[b]=a.bc;return c}
|
||||
l.cj=function(a){a=this.A[a];if(void 0!==a){var b={};for(var c in a)b[c]=a[c]}return b};l.Uk=function(a,b,c){if(a.va){var d=a.va.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Ib=Math.floor(b/f),b%=f,a.bb=Math.floor(b/e),a.jb=b%e+1,a.yb=c*d[3],a.tb=Bw,!0}return!1};
|
||||
function rw(a,b){b||(a.K=0);for(var c in a.M){var d=a.M[c],e;if(!(e=d.path))a:{if(e=d.name){var f=a.ma.listDisks;if(f&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.text==e){e=h.value;break a}}}e=""}e&&(f=c.charCodeAt(0)-65,0<=f&&f<a.A.length?!xw(a,f,d.name||Cw(a,e)||xa(e,!0),e,!0)&&b&&Pb(a,!1):a.Da("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")"))}return!!a.K}
|
||||
l.zj=function(){var a=this.ma.listDisks;return a?mw(this,a.options[a.selectedIndex].text,a.value):!1};
|
||||
function mw(a,b,c,d){var e,f=a.ma.listDrives;if(f&&!isNaN(e=qa(f.value,10))&&0<=e&&e<a.A.length){if(!c)return sw(a,e),!0;if("?"==c)return a.Da('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return!1;b=xa(c)}for(;0>xw(a,e,b,c,!1,d);){if(!window.confirm("Click OK to reload the original disk and discard any changes."))return!1;var g=a,h=c;for(f=0;f<g.B.length;f++)if(g.B[f][1]==h){g.B.splice(f,1);break}sw(a,
|
||||
e,!1,!0)}return!0}a.Da("Unable to load the selected drive");return!1}function xw(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.ue.toLowerCase()!=d.toLowerCase())){sw(a,b,e,!0);if(g.le)return a.Da("Drive "+b+" busy"),0;g.le=!0;e&&(g.ke=!0,a.K++,r(a)&&Tb(a,"loading diskette '"+c+"'"));g.Ke=!!f;return(new uv(a,g,"preload")).load(c,d,f,a.hj)?1:0}return-1}
|
||||
l.hj=function(a,b,c,d,e){a.le=!1;if(b){var f=b.info();if(b&&f[0]>a.sb||f[1]>a.gb)this.Da('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ya)),b=null}b?(a.va=b,a.Tk=c,a.ue=d,Cw(this,d)||qw(this,c,d),yw(this,c,d,b),f=b.info(),this.H|=Dw,a.Pe||this.Da('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ya),a.ke||e),a.qg=f[0],a.wf=f[1],a.xf=f[2],this.na&&this.na.cd()):a.Ke=!1;a.ke&&(a.ke=!1,--this.K||Pb(this));lw(this,a.Ya);a.Pe&&(a.Pe(),a.Pe=null)};
|
||||
function qw(a,b,c,d){if((a=a.ma.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 Cw(a,b){if((a=a.ma.listDisks)&&a.options)for(var c=0;c<a.options.length;c++){var d=a.options[c];if(d.value==b)return d.text}return null}
|
||||
function lw(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ma.listDisks;a=a.ma.listDrives;if(d&&a&&d.options&&a.options&&(a=qa(a.value,10),c=c.Ke?"?":c.ue,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}
|
||||
function kw(a){var b=a.ma.listDisks,c=a.ma.descDisk,d=b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){kb(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}}l.Yo=function(a){for(var b=0;b<this.A.length;b++){var c=this.A[b];if(c&&c.le)return c.Pe||(c.Pe=a),!1}return!0};
|
||||
function sw(a,b,c,d){var e=a.A[b];e.va&&(Aw(a,e.ue,e.va),e.Tk="",e.ue="",e.va=null,e.Ke=!1,a.H|=Dw,d||a.Da("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||lw(a,b))}function yw(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 Aw(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}}l.Xn=function(a,b,c){t(this,a,b,c,"OUTPUT");b&Ew?this.I&Ew||this.I&Fw&&this.V&&mh(this.V,6):nw(this);this.I=b};
|
||||
l.km=function(a,b){t(this,a,null,b,"DIAG",80);return 80};l.mm=function(a,b){t(this,a,null,b,"STATUS",this.ga);return this.ga};l.jm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.I&Fw&&this.V&&kh(this.V,6);r(this)&&t(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.ga&=~(Gw|Hw),this.D=this.C=0);return c};
|
||||
l.Wn=function(a,b,c){r(this)&&t(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]&Iw;if(void 0!==Jw[a]&&this.C>=Jw[a].Jd){b=!1;this.D=0;a=Kw(this);var d=a&Iw;switch(d){case Lw:Kw(this);Kw(this);Mw(this);break;case Nw:c=Kw(this);this.Ya=c&3;var e=this.A[this.Ya];Mw(this);Ow(this,(e.tb&Pw)>>>24);break;case Qw:case Rw:c=Kw(this);b=c>>2&1;this.Ya=c&3;e=this.A[this.Ya];e.bb=b;c=e.Ib=Kw(this);var f=Kw(this);var g=e.jb=Kw(this);var h=Kw(this);e.yb=128<<h;e.Vd=Kw(this);
|
||||
Kw(this);Kw(this);d==Rw?(d=e,d.tb=Sw|Tw,d.va&&(d.hb=null,d.tb=Bw,this.V&&(Sn(this.V,2,this,"dmaRead",d),Jn(this.V,2)))):(d=e,d.tb=Sw|Tw,d.va&&(d.va.Oe?d.tb=Uw|Tw:(d.hb=null,d.tb=Bw,this.V&&(Sn(this.V,2,this,"dmaWrite",d),Jn(this.V,2)))));Vw(this,e,a,b,c,f,g,h);b=!0;break;case Ww:c=Kw(this);this.Ya=c&3;e=this.A[this.Ya];e.Ib=e.Ud=0;e.tb=Xw|Yw;Mw(this);b=!0;break;case Zw:e=this.A[this.Ya];e.bb=0;Mw(this);Ow(this,e.Ya|e.bb<<2|e.tb&$w);Ow(this,e.Ib);this.Ya=this.Ya+1&3;break;case ax:c=Kw(this);b=c>>2&
|
||||
1;this.Ya=c&3;e=this.A[this.Ya];c=e.Ib;f=e.bb=b;g=e.jb=1;h=0;e.tb=Bw;e.va&&(e.hb=e.va.seek(e.Ib,e.bb,e.jb))?h=e.hb.length>>8:e.tb=Sw|Tw;Vw(this,e,a,b,c,f,g,h);b=!0;break;case bx:c=Kw(this);b=c>>2&1;this.Ya=c&3;e=this.A[this.Ya];c=e.Ib;f=e.bb=b;g=1;h=Kw(this);e.yb=128<<h;e.Vd=Kw(this);Kw(this);e.Ti=Kw(this);d=e;d.tb=Sw|Tw;d.va&&(d.hb=null,d.tb=Bw,this.V&&(d.Ge=0,d.Xc=Array(4),d.Ug=!0,d.dg=0,Sn(this.V,2,this,"dmaFormat",d),Jn(this.V,2),d.Ug=!1));Vw(this,e,a,b,c,f,g,h);b=!0;break;case cx:c=Kw(this),
|
||||
this.Ya=c&3,e=this.A[this.Ya],e.bb=c>>2&1,c=Kw(this),e.Ib+=c-e.Ud,0>e.Ib&&(e.Ib=0),e.Ib>=e.sb&&(e.Ib=e.sb-1),e.Ud=c,e.tb=Xw,e.Ib||(e.tb|=Yw),Mw(this),b=!0}0<this.C&&(this.ga=this.ga|Gw|Hw);this.I&Fw&&(!e||e.tb&Sw||!b||this.V&&mh(this.V,6))}};l.lm=function(a,b){var c=this.H;this.H&=~Dw;t(this,a,null,b,"INPUT",c);return c};l.Vn=function(a,b,c){t(this,a,b,c,"CONTROL");this.bc=b};
|
||||
function Vw(a,b,c,d,e,f,g,h){Mw(a);Ow(a,b.Ya|b.bb<<2|b.tb&$w);Ow(a,(b.tb&dx)>>>8);Ow(a,(b.tb&ex)>>>16);var k=0;if(e!=b.Ib||f!=b.bb)k=g=1;c&fx&&(f^=k,d||(k=0));Ow(a,e+k);Ow(a,f);Ow(a,g);Ow(a,h)}function Kw(a){var b=a.F[a.D];a.D++;return b}function Mw(a){a.D=a.C=0}function Ow(a,b){a.F[a.C++]=b}l.bl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.cl=function(a,b){return void 0!==b&&0<=b?gx(a,b):-1};
|
||||
l.tl=function(a,b){if(void 0!==b&&0<=b)a:if(a.tb)a=-1;else{a.Xc[a.Ge++]=b;if(a.Ge==a.Xc.length){a.Ib=a.Xc[0];a.bb=a.Xc[1];a.jb=a.Xc[2];a.yb=128<<a.Xc[3];for(var c=a.Ge=0;c<a.yb;c++)if(0>gx(a,a.Ti)){a=-1;break a}a.dg++}a.dg>=a.Vd&&(b=-1);a=b}else a=-1;return a};l.te=function(a,b){var c=-1,d=null,e=0;if(!a.tb&&a.va){do{if(a.hb&&(e=a.Va,0<=(c=a.va.read(a.hb,a.Va++)))){d=a.hb;break}a.hb=a.va.seek(a.Ib,a.bb,a.jb);if(!a.hb){a.tb=hx|Tw;break}a.Va=0;ix(a)}while(1)}b(c,!1,d,e)};
|
||||
function gx(a,b){if(a.tb||!a.va)return-1;do{if(a.hb&&a.va.write(a.hb,a.Va++,b))break;a.hb=a.va.seek(a.Ib,a.bb,a.jb);if(!a.hb){a.tb=jx|Tw;b=-1;break}a.Va=0;ix(a)}while(1);return b}function ix(a){a.jb++;a.jb>=a.xf+1&&(a.jb=1,a.bb++,a.bb>=a.wf&&(a.bb=0,a.Ib++))}var ww="Floppy Drive",Ew=4,Fw=8,Hw=16,Gw=64,uw=128,Lw=3,Nw=4,Qw=5,Rw=6,Ww=7,Zw=8,ax=10,bx=13,cx=15,Iw=31,fx=128,Bw=0,Sw=8,Xw=32,Tw=64,vw=192,$w=255,Uw=512,hx=1024,jx=8192,dx=65280,ex=16711680,Yw=268435456,Pw=-16777216,Dw=128,zw=0;aa={};
|
||||
var Jw={3:{Jd:3,Wd:0,name:aa.cq},4:{Jd:2,Wd:1,name:aa.aq},5:{Jd:9,Wd:7,name:aa.hq},6:{Jd:9,Wd:7,name:aa.Xp},7:{Jd:2,Wd:0,name:aa.Zp},8:{Jd:1,Wd:2,name:aa.bq},10:{Jd:2,Wd:7,name:aa.Yp},13:{Jd:6,Wd:7,name:aa.Up},15:{Jd:3,Wd:0,name:aa.$p}},ow={1009:iw.prototype.km,1012:iw.prototype.mm,1013:iw.prototype.jm,1015:iw.prototype.lm},pw={1010:iw.prototype.Xn,1013:iw.prototype.Wn,1015:iw.prototype.Vn};
|
||||
cb(function(){for(var a=zb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new iw(d);yb(d,c)}});function kx(a){pb.call(this,"HDC",a,1048576);this.dmaRead=kx.prototype.dl;this.dmaWrite=kx.prototype.el;this.dmaWriteBuffer=kx.prototype.ul;this.dmaWriteFormat=kx.prototype.vl;this.aa=[];this.ka=a.drives;this.M="at"==a.type;this.wa=!Ua("Mobi")&&window&&"FileReader"in window}ia(kx,pb);l=kx.prototype;
|
||||
a.currentTarget[1].files[0]){var b=a.name;nw(d,xa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.ca=d;this.na=a;this.V=ac(a,"ChipSet");kw(Ad(this.na,"autoMount"),this.M);ow(this);Pc(b,this,pw);Uc(b,this,qw);rw(this,"None","",!0);this.L&&rw(this,"Local Disk","?");rw(this,"Remote Disk","??");sw(this)||Pb(this)};
|
||||
function kw(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){kb("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};for(var c in a)b&&(b[c]=a[c]);return a}
|
||||
l.$b=function(a,b){if(!b){if(!a){if(this.reset(),this.na.aa){this.B=[];for(a=0;a<this.A.length;a++)tw(this,a,!0);sw(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ma.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",mw(this,0))}}return!0};l.Zb=function(a){return a?this.save():!0};l.reset=function(){ow(this)};
|
||||
l.save=function(){var a=new ag(this);a.set(0,uw(this));return a.data()};l.restore=function(a){return ow(this,a[0])};
|
||||
function ow(a,b){var c=0,d=!0;b||(b=[0,0,vw,Array(9),0,0,0,[]]);a.Ya=b[c++];c++;a.ga=b[c++];a.F=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var e=b[c++];var f=b[c++];null!=f&&(a.B=f);void 0===a.A&&(a.N=4,a.V&&(a.N=+Yl(a.V,ll,void 0)),a.A=Array(4));for(f=0;f<a.A.length;f++){var g=a.A[f];if(void 0===g){g=a.A[f]={};if(a.V)a:{var h=a.V;if(f<+Yl(h,ll,void 0)){if(!h.L){h=360;break a}if(f<h.L.length){h=h.L[f];break a}}h=0}else h=0;switch(h){case 160:case 180:g.gb=1;default:g.sb=40;g.Wa=9;break;case 720:g.sb=
|
||||
80;g.Wa=9;break;case 1200:g.sb=80;g.Wa=15;break;case 1440:g.sb=80,g.Wa=18}}var k=a,m=f,p=e[f],v=0;h=!0;g.Ya=m;g.le=g.Ke=!1;g.Pe=null;void 0===p&&(p=[ww,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=[xw,g.sb||40,g.gb||p[3],g.Wa||9,g.Na||512,p[1],g.qg,g.wf,g.xf]);g.tb=p[v++];var u=p[v++];g.name=u[0];g.sb=u[1];g.gb=u[2];g.Wa=u[3];g.Na=u[4];g.Le=u[5];(g.qg=u[6])?(g.wf=u[7],g.xf=u[8]):(g.qg=g.sb,g.wf=g.gb,g.xf=g.Wa);g.bb=p[v++];g.Ud=p[v++];g.Ib=p[v++];g.Ud=100<=g.Ud?g.Ud-100:g.Ud-g.Ib;g.jb=p[v++];g.Vd=p[v++];
|
||||
g.yb=p[v++];g.Va=p[v++];g.hb=null;g.va||(g.ue="");var A=p[v++];102==A&&(A=!1);"boolean"==typeof A?(u=p[v++],p=p[v],A?(v=k.A[m],tw(k,m,!0,!0),v.Ke=!0,m=new uv(k,v,"preload"),k.hj(v,m,u,p,!0)):yw(k,m,u,p,!0)?g.va&&p&&zw(k,u,p,g.va):Pb(k,!1)):void 0!==A&&g.va&&0>g.va.restore(A)&&(h=!1);h&&g.va&&void 0!==g.Va&&(g.hb=g.va.seek(g.Ib,g.bb,g.jb));h||(d=!1)}a.H=b[c++]||0;a.bc=b[c]||Aw;return d}
|
||||
function uw(a){var b=0,c=[];c[b++]=a.Ya;c[b++]=0;c[b++]=a.ga;c[b++]=a.F;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,p=[];p[m++]=k.tb;p[m++]=[k.name,k.sb,k.gb,k.Wa,k.Na,k.Le,k.qg,k.wf,k.xf];p[m++]=k.bb;p[m++]=k.Ud+100;p[m++]=k.Ib;p[m++]=k.jb;p[m++]=k.Vd;p[m++]=k.yb;p[m++]=k.Va;p[m++]=k.Ke;p[m++]=k.Tk;p[m]=k.ue;f[h]=p}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.va&&Bw(a,f.ue,f.va);c[d]=a.B;c[b++]=a.H;c[b]=a.bc;return c}
|
||||
l.cj=function(a){a=this.A[a];if(void 0!==a){var b={};for(var c in a)b[c]=a[c]}return b};l.Uk=function(a,b,c){if(a.va){var d=a.va.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Ib=Math.floor(b/f),b%=f,a.bb=Math.floor(b/e),a.jb=b%e+1,a.yb=c*d[3],a.tb=Cw,!0}return!1};
|
||||
function sw(a,b){b||(a.K=0);for(var c in a.M){var d=a.M[c],e;if(!(e=d.path))a:{if(e=d.name){var f=a.ma.listDisks;if(f&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.text==e){e=h.value;break a}}}e=""}e&&(f=c.charCodeAt(0)-65,0<=f&&f<a.A.length?!yw(a,f,d.name||Dw(a,e)||xa(e,!0),e,!0)&&b&&Pb(a,!1):a.Da("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")"))}return!!a.K}
|
||||
l.zj=function(){var a=this.ma.listDisks;return a?nw(this,a.options[a.selectedIndex].text,a.value):!1};
|
||||
function nw(a,b,c,d){var e,f=a.ma.listDrives;if(f&&!isNaN(e=qa(f.value,10))&&0<=e&&e<a.A.length){if(!c)return tw(a,e),!0;if("?"==c)return a.Da('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return!1;b=xa(c)}for(;0>yw(a,e,b,c,!1,d);){if(!window.confirm("Click OK to reload the original disk and discard any changes."))return!1;var g=a,h=c;for(f=0;f<g.B.length;f++)if(g.B[f][1]==h){g.B.splice(f,1);break}tw(a,
|
||||
e,!1,!0)}return!0}a.Da("Unable to load the selected drive");return!1}function yw(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.ue.toLowerCase()!=d.toLowerCase())){tw(a,b,e,!0);if(g.le)return a.Da("Drive "+b+" busy"),0;g.le=!0;e&&(g.ke=!0,a.K++,r(a)&&Tb(a,"loading diskette '"+c+"'"));g.Ke=!!f;return(new uv(a,g,"preload")).load(c,d,f,a.hj)?1:0}return-1}
|
||||
l.hj=function(a,b,c,d,e){a.le=!1;if(b){var f=b.info();if(b&&f[0]>a.sb||f[1]>a.gb)this.Da('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ya)),b=null}b?(a.va=b,a.Tk=c,a.ue=d,Dw(this,d)||rw(this,c,d),zw(this,c,d,b),f=b.info(),this.H|=Ew,a.Pe||this.Da('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ya),a.ke||e),a.qg=f[0],a.wf=f[1],a.xf=f[2],this.na&&this.na.cd()):a.Ke=!1;a.ke&&(a.ke=!1,--this.K||Pb(this));mw(this,a.Ya);a.Pe&&(a.Pe(),a.Pe=null)};
|
||||
function rw(a,b,c,d){if((a=a.ma.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 Dw(a,b){if((a=a.ma.listDisks)&&a.options)for(var c=0;c<a.options.length;c++){var d=a.options[c];if(d.value==b)return d.text}return null}
|
||||
function mw(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ma.listDisks;a=a.ma.listDrives;if(d&&a&&d.options&&a.options&&(a=qa(a.value,10),c=c.Ke?"?":c.ue,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}
|
||||
function lw(a){var b=a.ma.listDisks,c=a.ma.descDisk,d=b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){kb(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}}l.Yo=function(a){for(var b=0;b<this.A.length;b++){var c=this.A[b];if(c&&c.le)return c.Pe||(c.Pe=a),!1}return!0};
|
||||
function tw(a,b,c,d){var e=a.A[b];e.va&&(Bw(a,e.ue,e.va),e.Tk="",e.ue="",e.va=null,e.Ke=!1,a.H|=Ew,d||a.Da("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||mw(a,b))}function zw(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 Bw(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}}l.Xn=function(a,b,c){t(this,a,b,c,"OUTPUT");b&Fw?this.I&Fw||this.I&Gw&&this.V&&mh(this.V,6):ow(this);this.I=b};
|
||||
l.km=function(a,b){t(this,a,null,b,"DIAG",80);return 80};l.mm=function(a,b){t(this,a,null,b,"STATUS",this.ga);return this.ga};l.jm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.I&Gw&&this.V&&kh(this.V,6);r(this)&&t(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.ga&=~(Hw|Iw),this.D=this.C=0);return c};
|
||||
l.Wn=function(a,b,c){r(this)&&t(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]&Jw;if(void 0!==Kw[a]&&this.C>=Kw[a].Jd){b=!1;this.D=0;a=Lw(this);var d=a&Jw;switch(d){case Mw:Lw(this);Lw(this);Nw(this);break;case Ow:c=Lw(this);this.Ya=c&3;var e=this.A[this.Ya];Nw(this);Pw(this,(e.tb&Qw)>>>24);break;case Rw:case Sw:c=Lw(this);b=c>>2&1;this.Ya=c&3;e=this.A[this.Ya];e.bb=b;c=e.Ib=Lw(this);var f=Lw(this);var g=e.jb=Lw(this);var h=Lw(this);e.yb=128<<h;e.Vd=Lw(this);
|
||||
Lw(this);Lw(this);d==Sw?(d=e,d.tb=Tw|Uw,d.va&&(d.hb=null,d.tb=Cw,this.V&&(Sn(this.V,2,this,"dmaRead",d),Jn(this.V,2)))):(d=e,d.tb=Tw|Uw,d.va&&(d.va.Oe?d.tb=Vw|Uw:(d.hb=null,d.tb=Cw,this.V&&(Sn(this.V,2,this,"dmaWrite",d),Jn(this.V,2)))));Ww(this,e,a,b,c,f,g,h);b=!0;break;case Xw:c=Lw(this);this.Ya=c&3;e=this.A[this.Ya];e.Ib=e.Ud=0;e.tb=Yw|Zw;Nw(this);b=!0;break;case $w:e=this.A[this.Ya];e.bb=0;Nw(this);Pw(this,e.Ya|e.bb<<2|e.tb&ax);Pw(this,e.Ib);this.Ya=this.Ya+1&3;break;case bx:c=Lw(this);b=c>>2&
|
||||
1;this.Ya=c&3;e=this.A[this.Ya];c=e.Ib;f=e.bb=b;g=e.jb=1;h=0;e.tb=Cw;e.va&&(e.hb=e.va.seek(e.Ib,e.bb,e.jb))?h=e.hb.length>>8:e.tb=Tw|Uw;Ww(this,e,a,b,c,f,g,h);b=!0;break;case cx:c=Lw(this);b=c>>2&1;this.Ya=c&3;e=this.A[this.Ya];c=e.Ib;f=e.bb=b;g=1;h=Lw(this);e.yb=128<<h;e.Vd=Lw(this);Lw(this);e.Ti=Lw(this);d=e;d.tb=Tw|Uw;d.va&&(d.hb=null,d.tb=Cw,this.V&&(d.Ge=0,d.Xc=Array(4),d.Ug=!0,d.dg=0,Sn(this.V,2,this,"dmaFormat",d),Jn(this.V,2),d.Ug=!1));Ww(this,e,a,b,c,f,g,h);b=!0;break;case dx:c=Lw(this),
|
||||
this.Ya=c&3,e=this.A[this.Ya],e.bb=c>>2&1,c=Lw(this),e.Ib+=c-e.Ud,0>e.Ib&&(e.Ib=0),e.Ib>=e.sb&&(e.Ib=e.sb-1),e.Ud=c,e.tb=Yw,e.Ib||(e.tb|=Zw),Nw(this),b=!0}0<this.C&&(this.ga=this.ga|Hw|Iw);this.I&Gw&&(!e||e.tb&Tw||!b||this.V&&mh(this.V,6))}};l.lm=function(a,b){var c=this.H;this.H&=~Ew;t(this,a,null,b,"INPUT",c);return c};l.Vn=function(a,b,c){t(this,a,b,c,"CONTROL");this.bc=b};
|
||||
function Ww(a,b,c,d,e,f,g,h){Nw(a);Pw(a,b.Ya|b.bb<<2|b.tb&ax);Pw(a,(b.tb&ex)>>>8);Pw(a,(b.tb&fx)>>>16);var k=0;if(e!=b.Ib||f!=b.bb)k=g=1;c&gx&&(f^=k,d||(k=0));Pw(a,e+k);Pw(a,f);Pw(a,g);Pw(a,h)}function Lw(a){var b=a.F[a.D];a.D++;return b}function Nw(a){a.D=a.C=0}function Pw(a,b){a.F[a.C++]=b}l.bl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.cl=function(a,b){return void 0!==b&&0<=b?hx(a,b):-1};
|
||||
l.tl=function(a,b){if(void 0!==b&&0<=b)a:if(a.tb)a=-1;else{a.Xc[a.Ge++]=b;if(a.Ge==a.Xc.length){a.Ib=a.Xc[0];a.bb=a.Xc[1];a.jb=a.Xc[2];a.yb=128<<a.Xc[3];for(var c=a.Ge=0;c<a.yb;c++)if(0>hx(a,a.Ti)){a=-1;break a}a.dg++}a.dg>=a.Vd&&(b=-1);a=b}else a=-1;return a};l.te=function(a,b){var c=-1,d=null,e=0;if(!a.tb&&a.va){do{if(a.hb&&(e=a.Va,0<=(c=a.va.read(a.hb,a.Va++)))){d=a.hb;break}a.hb=a.va.seek(a.Ib,a.bb,a.jb);if(!a.hb){a.tb=ix|Uw;break}a.Va=0;jx(a)}while(1)}b(c,!1,d,e)};
|
||||
function hx(a,b){if(a.tb||!a.va)return-1;do{if(a.hb&&a.va.write(a.hb,a.Va++,b))break;a.hb=a.va.seek(a.Ib,a.bb,a.jb);if(!a.hb){a.tb=kx|Uw;b=-1;break}a.Va=0;jx(a)}while(1);return b}function jx(a){a.jb++;a.jb>=a.xf+1&&(a.jb=1,a.bb++,a.bb>=a.wf&&(a.bb=0,a.Ib++))}var xw="Floppy Drive",Fw=4,Gw=8,Iw=16,Hw=64,vw=128,Mw=3,Ow=4,Rw=5,Sw=6,Xw=7,$w=8,bx=10,cx=13,dx=15,Jw=31,gx=128,Cw=0,Tw=8,Yw=32,Uw=64,ww=192,ax=255,Vw=512,ix=1024,kx=8192,ex=65280,fx=16711680,Zw=268435456,Qw=-16777216,Ew=128,Aw=0;aa={};
|
||||
var Kw={3:{Jd:3,Wd:0,name:aa.cq},4:{Jd:2,Wd:1,name:aa.aq},5:{Jd:9,Wd:7,name:aa.hq},6:{Jd:9,Wd:7,name:aa.Xp},7:{Jd:2,Wd:0,name:aa.Zp},8:{Jd:1,Wd:2,name:aa.bq},10:{Jd:2,Wd:7,name:aa.Yp},13:{Jd:6,Wd:7,name:aa.Up},15:{Jd:3,Wd:0,name:aa.$p}},pw={1009:jw.prototype.km,1012:jw.prototype.mm,1013:jw.prototype.jm,1015:jw.prototype.lm},qw={1010:jw.prototype.Xn,1013:jw.prototype.Wn,1015:jw.prototype.Vn};
|
||||
cb(function(){for(var a=zb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new jw(d);yb(d,c)}});function lx(a){pb.call(this,"HDC",a,1048576);this.dmaRead=lx.prototype.dl;this.dmaWrite=lx.prototype.el;this.dmaWriteBuffer=lx.prototype.ul;this.dmaWriteFormat=lx.prototype.vl;this.aa=[];this.ka=a.drives;this.M=(a=a.type)&&"AT"==a.toUpperCase()||!1;this.wa=!Ua("Mobi")&&window&&"FileReader"in window}ia(lx,pb);l=lx.prototype;
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":if(this.wa)return this.ma[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.va){b=b.va;var c=b.Fg||b.jd,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Za(gw(b),"octet-stream",!0,c);kb(b)}else d.Da("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0;c.parentNode.removeChild(c)}return!1};
|
||||
l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.ca=d;this.na=a;if(d=Ad(a,"drives"))this.aa=d;else if(this.ka)try{this.aa=eval("("+this.ka+")")}catch(e){kb("HDC drive configuration error: "+e.message+" ("+this.ka+")")}this.V=ac(a,"ChipSet");this.H=0;this.la=3;Pc(b,this,this.M?lx:mx);Uc(b,this,this.M?nx:ox);this.M&&(this.H++,this.V&&this.V.da==zl&&this.H++,this.la=2,b.V[px]=2,b.U[px]=2);Wf(c,19,this.Om.bind(this));Wf(c,64,this.Pm.bind(this));this.reset();qx(this)||Pb(this)};
|
||||
l.$b=function(a,b){if(!b)if(!a)rx(this),this.na.aa&&qx(this,!0);else if(!this.restore(a))return!1;return!0};l.Zb=function(a){return a?this.save():!0};function xv(a){return a.na?a.na.ta:""}function yv(a){return a.na?a.na.B||"":""}l.reset=function(){rx(this,null,!0)};l.save=function(){var a=new ag(this);a.set(0,sx(this));return a.data()};l.restore=function(a){return rx(this,a[0])};
|
||||
function rx(a,b,c){var d=0,e=!0;a.Ya=-1;if(a.M){if(b||(b=[0,0,0,0,0,0,0,tx,0,[0,-1]]),a.I=b[d++],a.ta=b[d++],a.J=b[d++],a.fa=b[d++],a.ea=b[d++],a.ba=b[d++],a.U=b[d++],a.ga=b[d++],a.ha=b[d++],a.L=b[d++],"object"==typeof a.L){var f=a.L;a.L=f[0];a.Ya=f[1]}}else b||(b=[0,ux,Array(14),0,0]),a.P=b[d++],a.ga=b[d++],a.F=b[d++],a.D=b[d++],a.C=b[d++],a.ra=b[d++],a.pa=b[d++],a.qa=b[d++],f=b[d++],void 0!==f?a.N=f:void 0===a.N&&(a.N=-1);void 0===a.A&&(a.A=Array(a.aa.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<
|
||||
a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});f=a.A[d];var g=a,h=d,k=f,m=a.aa[d],p=b[d],v=c,u=0,A=!0;void 0===p&&(p=[vx,0,!1,Array(8)]);k.Ya=h;k.errorCode=p[u++];k.Vk=p[u++];k.Le=p[u++];k.Be=p[u++];k.Ce=p[u++];k.bb=p[u++];k.gb=p[u++];k.Od=p[u++];k.jb=p[u++];k.Vd=p[u++];k.yb=p[u++];k.cg=g.M?0:1;k.name=m.name;void 0===k.name&&(k.name=wx);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||yv(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===xx[g.H][k.type])k.type=
|
||||
g.la;m=xx[g.H][k.type];k.Wa=m[2]||17;k.Na=m[3]||512;if(v&&g.V){var J=g.V;m=k.type;if(J.A){v=null;var H=J.A[18];15<m&&(v=m,m=15);h?(H=H&240|m,m=26):(H=H&15|m<<4,m=25);var G=J;G.A&&(G.A[18]=H,pm(G));null!=v&&J.A&&(J.A[m]=v,pm(J))}}void 0===k.va&&(k.va=null,g.Da("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));yx(g,k);k.Va=p[u++];k.hb=null;k.va&&(g=p[u],void 0!==g&&0>k.va.restore(g)&&(A=!1),A&&void 0!==k.Va&&(k.hb=k.va.seek(k.Od,k.bb,k.jb+k.cg)));A||(e=!1);null!=a.P&&1>=d&&(a.P|=(f.type&3)<<(1-d<<
|
||||
l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.ca=d;this.na=a;if(d=Ad(a,"drives"))this.aa=d;else if(this.ka)try{this.aa=eval("("+this.ka+")")}catch(e){kb("HDC drive configuration error: "+e.message+" ("+this.ka+")")}this.V=ac(a,"ChipSet");this.H=0;this.la=3;Pc(b,this,this.M?mx:nx);Uc(b,this,this.M?ox:px);this.M&&(this.H++,this.V&&this.V.da==zl&&this.H++,this.la=2,b.V[qx]=2,b.U[qx]=2);Wf(c,19,this.Om.bind(this));Wf(c,64,this.Pm.bind(this));this.reset();rx(this)||Pb(this)};
|
||||
l.$b=function(a,b){if(!b)if(!a)sx(this),this.na.aa&&rx(this,!0);else if(!this.restore(a))return!1;return!0};l.Zb=function(a){return a?this.save():!0};function xv(a){return a.na?a.na.ta:""}function yv(a){return a.na?a.na.B||"":""}l.reset=function(){sx(this,null,!0)};l.save=function(){var a=new ag(this);a.set(0,tx(this));return a.data()};l.restore=function(a){return sx(this,a[0])};
|
||||
function sx(a,b,c){var d=0,e=!0;a.Ya=-1;if(a.M){if(b||(b=[0,0,0,0,0,0,0,ux,0,[0,-1]]),a.I=b[d++],a.ta=b[d++],a.J=b[d++],a.fa=b[d++],a.ea=b[d++],a.ba=b[d++],a.U=b[d++],a.ga=b[d++],a.ha=b[d++],a.L=b[d++],"object"==typeof a.L){var f=a.L;a.L=f[0];a.Ya=f[1]}}else b||(b=[0,vx,Array(14),0,0]),a.P=b[d++],a.ga=b[d++],a.F=b[d++],a.D=b[d++],a.C=b[d++],a.ra=b[d++],a.pa=b[d++],a.qa=b[d++],f=b[d++],void 0!==f?a.N=f:void 0===a.N&&(a.N=-1);void 0===a.A&&(a.A=Array(a.aa.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<
|
||||
a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});f=a.A[d];var g=a,h=d,k=f,m=a.aa[d],p=b[d],v=c,u=0,A=!0;void 0===p&&(p=[wx,0,!1,Array(8)]);k.Ya=h;k.errorCode=p[u++];k.Vk=p[u++];k.Le=p[u++];k.Be=p[u++];k.Ce=p[u++];k.bb=p[u++];k.gb=p[u++];k.Od=p[u++];k.jb=p[u++];k.Vd=p[u++];k.yb=p[u++];k.cg=g.M?0:1;k.name=m.name;void 0===k.name&&(k.name=xx);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||yv(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===yx[g.H][k.type])k.type=
|
||||
g.la;m=yx[g.H][k.type];k.Wa=m[2]||17;k.Na=m[3]||512;if(v&&g.V){var J=g.V;m=k.type;if(J.A){v=null;var H=J.A[18];15<m&&(v=m,m=15);h?(H=H&240|m,m=26):(H=H&15|m<<4,m=25);var G=J;G.A&&(G.A[18]=H,pm(G));null!=v&&J.A&&(J.A[m]=v,pm(J))}}void 0===k.va&&(k.va=null,g.Da("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));zx(g,k);k.Va=p[u++];k.hb=null;k.va&&(g=p[u],void 0!==g&&0>k.va.restore(g)&&(A=!1),A&&void 0!==k.Va&&(k.hb=k.va.seek(k.Od,k.bb,k.jb+k.cg)));A||(e=!1);null!=a.P&&1>=d&&(a.P|=(f.type&3)<<(1-d<<
|
||||
1))}0<=a.Ya&&(a.B=a.A[a.Ya]);return e}
|
||||
function sx(a){var b=0,c=[];a.M?(c[b++]=a.I,c[b++]=a.ta,c[b++]=a.J,c[b++]=a.fa,c[b++]=a.ea,c[b++]=a.ba,c[b++]=a.U,c[b++]=a.ga,c[b++]=a.ha,c[b++]=[a.L,a.Ya]):(c[b++]=a.P,c[b++]=a.ga,c[b++]=a.F,c[b++]=a.D,c[b++]=a.C,c[b++]=a.ra,c[b++]=a.pa,c[b++]=a.qa,c[b++]=a.N);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.Vk;m[k++]=h.Le;m[k++]=h.Be;m[k++]=h.Ce;m[k++]=h.bb;m[k++]=h.gb;m[k++]=h.Od;m[k++]=h.jb;m[k++]=h.Vd;m[k++]=h.yb;m[k++]=h.Va;m[k]=h.va?h.va.save():
|
||||
null;e[g]=m}c[b]=e;return c}l.cj=function(a){a=this.A[a];if(void 0!==a){var b={};for(var c in a)b[c]=a[c]}return b};function yx(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Be[2])?e=b.Be[0]<<8|b.Be[1]:c=b.type);null==c||d||(d=xx[a.H][c][1],e=xx[a.H][c][0]);d&&((c=xx[a.H][b.type])&&e!=c[0]&&d!=c[1]&&a.Da("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.sb=e,b.gb=d,null==b.va&&(b.va=new uv(a,b,b.mode)))}}
|
||||
l.Uk=function(a,b,c){if(a.va){var d=a.va.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Od=Math.floor(b/g),b%=g,a.bb=Math.floor(b/f),a.jb=b%f,a.yb=c*d[3],a.errorCode=vx,!0}}return!1};function qx(a,b){b||(a.K=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];d.name&&d.path?b&&d.va&&d.va.jg||!a.$m(c,d.name,d.path,!0)&&b&&Pb(a,!1):b&&void 0!==d.type&&(d.va=null,yx(a,d,d.type))}return!!a.K}
|
||||
function tx(a){var b=0,c=[];a.M?(c[b++]=a.I,c[b++]=a.ta,c[b++]=a.J,c[b++]=a.fa,c[b++]=a.ea,c[b++]=a.ba,c[b++]=a.U,c[b++]=a.ga,c[b++]=a.ha,c[b++]=[a.L,a.Ya]):(c[b++]=a.P,c[b++]=a.ga,c[b++]=a.F,c[b++]=a.D,c[b++]=a.C,c[b++]=a.ra,c[b++]=a.pa,c[b++]=a.qa,c[b++]=a.N);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.Vk;m[k++]=h.Le;m[k++]=h.Be;m[k++]=h.Ce;m[k++]=h.bb;m[k++]=h.gb;m[k++]=h.Od;m[k++]=h.jb;m[k++]=h.Vd;m[k++]=h.yb;m[k++]=h.Va;m[k]=h.va?h.va.save():
|
||||
null;e[g]=m}c[b]=e;return c}l.cj=function(a){a=this.A[a];if(void 0!==a){var b={};for(var c in a)b[c]=a[c]}return b};function zx(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Be[2])?e=b.Be[0]<<8|b.Be[1]:c=b.type);null==c||d||(d=yx[a.H][c][1],e=yx[a.H][c][0]);d&&((c=yx[a.H][b.type])&&e!=c[0]&&d!=c[1]&&a.Da("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.sb=e,b.gb=d,null==b.va&&(b.va=new uv(a,b,b.mode)))}}
|
||||
l.Uk=function(a,b,c){if(a.va){var d=a.va.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Od=Math.floor(b/g),b%=g,a.bb=Math.floor(b/f),a.jb=b%f,a.yb=c*d[3],a.errorCode=wx,!0}}return!1};function rx(a,b){b||(a.K=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];d.name&&d.path?b&&d.va&&d.va.jg||!a.$m(c,d.name,d.path,!0)&&b&&Pb(a,!1):b&&void 0!==d.type&&(d.va=null,zx(a,d,d.type))}return!!a.K}
|
||||
l.$m=function(a,b,c,d){var e=this.A[a];if(e.le)return this.Da("Drive "+a+" busy"),!0;e.le=!0;d&&(e.ke=!0,this.K++,r(this)&&Tb(this,"loading "+b));(e.va||new uv(this,e,e.mode)).load(b,c,null,this.wl);return!1};
|
||||
l.wl=function(a,b,c){a.le=!1;if(a.va=b)this.Da('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ya),a.ke),b=b.info(),b[0]==a.sb&&b[1]==a.gb&&b[2]==a.Wa&&b[3]==a.Na||this.Da("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+zx[this.H]+" drive type "+a.type+" ("+a.sb+":"+a.gb+":"+a.Wa+")");a.ke&&(a.ke=!1,--this.K||Pb(this))};
|
||||
l.Mm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.V&&kh(this.V,5);this.ga&=~Ax;t(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.D=this.C=0,this.ga&=~(Bx|Cx|Dx));return c};l.uo=function(a,b,c){t(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]!=Ex?6:this.F.length;6==this.C&&(this.ga&=~Fx);this.C>=a&&(this.ga|=Bx,this.ga&=~Fx,Gx(this))};l.Nm=function(a,b){var c=this.ga;t(this,a,null,b,"STATUS",c);this.D<this.C&&(this.ga|=Fx);return c};
|
||||
l.xo=function(a,b,c){t(this,a,b,c,"RESET");this.ra=b;this.V&&kh(this.V,5);rx(this)};l.Lm=function(a,b){t(this,a,null,b,"CONFIG",this.P);return this.P};l.wo=function(a,b,c){t(this,a,b,c,"PULSE");this.pa=b;this.ga=Fx|Cx|Dx};l.vo=function(a,b,c){t(this,a,b,c,"PATTERN");this.qa=b};l.bi=function(a,b,c){t(this,a,b,c,"NOISE")};
|
||||
function Hx(a,b,c){var d=-1;a.B&&(d=a.te(a.B,function(){}),1==a.B.Va||a.B.Va==a.B.Na)&&(r(a,1048832)&&t(a,b,null,c,"DATA["+a.B.Va+"]",d),1<a.B.Va&&(a.B.yb-=a.B.Na,a.J=a.J-1&255,a.B.yb>=a.B.Na?(a.ga=Ix,a.te(a.B,function(b){0<=b?(Jx(a),a.V&&a.V.da==zl&&(a.ga=0),a.ga=a.ga|tx|Kx|Lx):(a.ga=Mx,a.I=Nx)},!1)):a.ga=tx|Kx));return d}l.fl=function(a,b){return Hx(this,a,b)|Hx(this,a,b)<<8};
|
||||
function Ox(a,b,c,d){if(a.B&&a.B.yb>=a.B.Na)if(0>Px(a.B,c))a.ga=Mx,a.I=Nx;else if(1==a.B.Va||a.B.Va==a.B.Na)r(a,1048832)&&t(a,b,c,d,"DATA["+a.B.Va+"]"),1<a.B.Va&&(a.B.yb-=a.B.Na,a.J=a.J-1&255,Jx(a),a.ga=tx|Kx,a.B.yb>=a.B.Na&&(a.ga|=Lx))}l.zn=function(a,b,c){Ox(this,a,b&255,c);Ox(this,a,b>>8&255,c)};l.Pl=function(a,b){var c=this.I;t(this,a,null,b,"ERROR",c);return c};l.En=function(a,b,c){t(this,a,b,c,"WPREC");this.ta=b};l.Rl=function(a,b){var c=this.J;t(this,a,null,b,"SECCNT",c);return c};
|
||||
l.wl=function(a,b,c){a.le=!1;if(a.va=b)this.Da('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ya),a.ke),b=b.info(),b[0]==a.sb&&b[1]==a.gb&&b[2]==a.Wa&&b[3]==a.Na||this.Da("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Ax[this.H]+" drive type "+a.type+" ("+a.sb+":"+a.gb+":"+a.Wa+")");a.ke&&(a.ke=!1,--this.K||Pb(this))};
|
||||
l.Mm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.V&&kh(this.V,5);this.ga&=~Bx;t(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.D=this.C=0,this.ga&=~(Cx|Dx|Ex));return c};l.uo=function(a,b,c){t(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]!=Fx?6:this.F.length;6==this.C&&(this.ga&=~Gx);this.C>=a&&(this.ga|=Cx,this.ga&=~Gx,Hx(this))};l.Nm=function(a,b){var c=this.ga;t(this,a,null,b,"STATUS",c);this.D<this.C&&(this.ga|=Gx);return c};
|
||||
l.xo=function(a,b,c){t(this,a,b,c,"RESET");this.ra=b;this.V&&kh(this.V,5);sx(this)};l.Lm=function(a,b){t(this,a,null,b,"CONFIG",this.P);return this.P};l.wo=function(a,b,c){t(this,a,b,c,"PULSE");this.pa=b;this.ga=Gx|Dx|Ex};l.vo=function(a,b,c){t(this,a,b,c,"PATTERN");this.qa=b};l.bi=function(a,b,c){t(this,a,b,c,"NOISE")};
|
||||
function Ix(a,b,c){var d=-1;a.B&&(d=a.te(a.B,function(){}),1==a.B.Va||a.B.Va==a.B.Na)&&(r(a,1048832)&&t(a,b,null,c,"DATA["+a.B.Va+"]",d),1<a.B.Va&&(a.B.yb-=a.B.Na,a.J=a.J-1&255,a.B.yb>=a.B.Na?(a.ga=Jx,a.te(a.B,function(b){0<=b?(Kx(a),a.V&&a.V.da==zl&&(a.ga=0),a.ga=a.ga|ux|Lx|Mx):(a.ga=Nx,a.I=Ox)},!1)):a.ga=ux|Lx));return d}l.fl=function(a,b){return Ix(this,a,b)|Ix(this,a,b)<<8};
|
||||
function Px(a,b,c,d){if(a.B&&a.B.yb>=a.B.Na)if(0>Qx(a.B,c))a.ga=Nx,a.I=Ox;else if(1==a.B.Va||a.B.Va==a.B.Na)r(a,1048832)&&t(a,b,c,d,"DATA["+a.B.Va+"]"),1<a.B.Va&&(a.B.yb-=a.B.Na,a.J=a.J-1&255,Kx(a),a.ga=ux|Lx,a.B.yb>=a.B.Na&&(a.ga|=Mx))}l.zn=function(a,b,c){Px(this,a,b&255,c);Px(this,a,b>>8&255,c)};l.Pl=function(a,b){var c=this.I;t(this,a,null,b,"ERROR",c);return c};l.En=function(a,b,c){t(this,a,b,c,"WPREC");this.ta=b};l.Rl=function(a,b){var c=this.J;t(this,a,null,b,"SECCNT",c);return c};
|
||||
l.Cn=function(a,b,c){t(this,a,b,c,"SECCNT");this.J=b};l.Sl=function(a,b){var c=this.fa;t(this,a,null,b,"SECNUM",c);return c};l.Dn=function(a,b,c){t(this,a,b,c,"SECNUM");this.fa=b};l.Nl=function(a,b){var c=this.ea;t(this,a,null,b,"CYLLO",c);return c};l.yn=function(a,b,c){t(this,a,b,c,"CYLLO");this.ea=b};l.Ml=function(a,b){var c=this.ba;t(this,a,null,b,"CYLHI",c);return c};l.xn=function(a,b,c){t(this,a,b,c,"CYLHI");this.ba=b};l.Ol=function(a,b){var c=this.U;t(this,a,null,b,"DRVHD",c);return c};
|
||||
l.An=function(a,b,c){t(this,a,b,c,"DRVHD");this.U=b;this.ga=this.A[this.U&Qx?1:0]?this.ga|tx|Kx:this.ga&~tx};l.Tl=function(a,b){var c=this.ga;t(this,a,null,b,"STATUS",c);this.ga&tx&&(this.ga&=~Ix);return c};l.wn=function(a,b,c){t(this,a,b,c,"COMMAND");this.ha=b;this.V&&kh(this.V,14);Rx(this)};l.Bn=function(a,b,c){t(this,a,b,c,"FDR");this.L&Sx&&!(b&Sx)&&(this.I=Tx);this.L=b};
|
||||
function Rx(a){var b=!1,c=a.ha,d=a.U&Qx?1:0,e=a.U&Ux,f=a.ea|(a.ba&Vx)<<8,g=a.fa,h=a.J||256;a.Ya=-1;a.B=null;a.I=Wx;a.ga=tx|Kx;var k=a.A[d];k?(k.Od=f,k.bb=e,k.jb=g,k.yb=h*k.Na,c=c>=Xx?c:c&Yx,k.hb=null,k.Va=0,k.errorCode=0,a.Ya=d,a.B=k):c=-1;switch(c&Yx){case Zx:b=!0;break;case $x:a.ga=Ix;a.te(k,function(b){0<=b&&a.V?(Jx(a),a.ga=tx|Kx|Lx):(a.ga=Mx,a.I=Nx)},!1);break;case ay:a.ga=Lx;break;case by:b=!0;break;case cy:b=!0;break;case Xx:a.I=Tx;b=!0;break;case dy:k.gb=e+1,k.Wa=h,b=!0}b&&Jx(a)}
|
||||
function Jx(a){a.V&&(a.L&ey||mh(a.V,14,120))}
|
||||
function Gx(a){a.D=0;var b=fy(a),c=fy(a),d=c&32,e=d>>5,f=c&31,g=fy(a),h=fy(a),k=g<<2&768|h,m=g&63,p=fy(a),v=fy(a),u=a.A[e];u&&(u.Od=k,u.bb=f,u.jb=m,u.yb=p*u.Na);switch(b){case gy:hy(a,u?u.errorCode:iy);jy(a,c);jy(a,g);jy(a,h);jy(a,ky|d);b=-1;break;case Ex:for(c=0;0<=(b=fy(a));)u&&c<u.Be.length&&(u.Be[c++]=b);u&&yx(a,u);b=ky;u||a.N!=e||(a.N=-1,b=ly);hy(a,b|d);b=-1;break;case my:case ny:hy(a,ky|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=vx,u.Vk=0),b){case oy:hy(a,ky|d);break;case py:u.jf=v;
|
||||
hy(a,ky|d);break;case qy:hy(a,ky|d);break;case ry:sy(a,u,function(b){hy(a,b|d)});break;case ty:uy(a,u,function(b){hy(a,b|d)});break;case vy:wy(a,u,function(b){hy(a,b|d)});break;default:hy(a,ly|d)}}function fy(a){var b=-1;a.D<a.C&&(b=a.F[a.D++]);return b}function hy(a,b){a.D=a.C=0;void 0!==b&&jy(a,b);a.V&&mh(a.V,5);a.ga|=Ax}function jy(a,b){a.F[a.C++]=b}l.dl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.el=function(a,b){return void 0!==b&&0<=b?Px(a,b):-1};
|
||||
l.ul=function(a,b){void 0!==b&&0<=b?(a.Va<a.Ce.length?a.Ce[a.Va++]=b:(a.errorCode=xy,b=-1),a=b):a=-1;return a};l.vl=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Xc[a.Ge++]=b;if(a.Ge==a.Xc.length){a.Od=a.Xc[0];a.bb=a.Xc[1];a.jb=a.Xc[2];a.yb=128<<a.Xc[3];for(var c=a.Ge=0;c<a.yb;c++)if(0>Px(a,a.Ti)){a=-1;break a}a.dg++}a.dg>=a.Vd&&(b=-1);a=b}else a=-1;return a};
|
||||
function sy(a,b,c){b.errorCode=iy;if(b.va&&(b.hb=null,a.V)){b.errorCode=vx;Sn(a.V,3,a,"dmaRead",b);Jn(a.V,3,function(a){a||b.errorCode!=vx||(b.errorCode=iy);c(b.errorCode?ly:ky)});return}c(b.errorCode?ly:ky)}function uy(a,b,c){b.errorCode=iy;if(b.va&&(b.hb=null,a.V)){b.errorCode=vx;Sn(a.V,3,a,"dmaWrite",b);Jn(a.V,3,function(a){a||(b.errorCode==vx&&(b.errorCode=iy),b.errorCode==xy&&(b.errorCode=vx));c(b.errorCode?ly:ky)});return}c(b.errorCode?ly:ky)}
|
||||
function wy(a,b,c){b.errorCode=iy;b.Ce&&b.Ce.length==b.yb||(b.Ce=Array(b.yb));b.Va=0;a.V?(b.errorCode=vx,Sn(a.V,3,a,"dmaWriteBuffer",b),Jn(a.V,3,function(a){a||b.errorCode!=vx||(b.errorCode=iy);c(b.errorCode?ly:ky)})):c(b.errorCode?ly:ky)}
|
||||
l.te=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.hb&&(f=a.Va,d=a.va.read(a.hb,a.Va),a.Va+=g,0<=d))return e=a.hb,b&&b(d,!1,e,f),d;if(b){if(a.va)return a.va.seek(a.Od,a.bb,a.jb+a.cg,!1,function(c,k){(a.hb=c)?(e=c,f=a.Va=0,yy(a),d=a.va.read(a.hb,a.Va),a.Va+=g):a.errorCode=xy;b(d,k,e,f)}),d;a.errorCode=xy;b(d,!1,e,f)}return d};
|
||||
function Px(a,b){if(a.errorCode)return-1;do{if(a.hb&&a.va.write(a.hb,a.Va++,b))break;a.va&&a.va.seek(a.Od,a.bb,a.jb+a.cg,!0,function(b){a.hb=b});if(!a.hb){a.errorCode=xy;b=-1;break}a.Va=0;yy(a)}while(1);return b}function yy(a){a.jb++;var b=1-a.cg;a.jb>=a.Wa+b&&(a.jb=b,a.bb++,a.bb>=a.gb&&(a.bb=0,a.Od++))}l.Om=function(){var a=this.G.L&255;!(this.G.D>>8)&&128<a&&(this.N=a-128);return!0};l.Pm=function(){var a;(a=this.G.D>>8||!this.V)||(a=!(this.V.ic[0].sd&64));return a?!0:!1};
|
||||
var wx="Hard Drive",zx=["XTC","ATC","COMPAQ"],xx=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
|
||||
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],px=496,Tx=1,Wx=0,Nx=16,Vx=3,Ux=15,Qx=16,Mx=1,Lx=8,Kx=16,tx=64,Ix=128,Zx=16,$x=32,ay=48,by=64,cy=
|
||||
112,Xx=144,dy=145,Yx=240,ey=2,Sx=4,ky=0,ly=2,oy=0,py=1,gy=3,qy=5,ry=8,ty=10,Ex=12,vy=15,my=224,ny=228,vx=0,iy=4,xy=20,ux=0,Fx=1,Bx=2,Cx=4,Dx=8,Ax=32,mx={800:kx.prototype.Mm,801:kx.prototype.Nm,802:kx.prototype.Lm},lx={496:kx.prototype.fl,497:kx.prototype.Pl,498:kx.prototype.Rl,499:kx.prototype.Sl,500:kx.prototype.Nl,501:kx.prototype.Ml,502:kx.prototype.Ol,503:kx.prototype.Tl},ox={800:kx.prototype.uo,801:kx.prototype.xo,802:kx.prototype.wo,803:kx.prototype.vo,807:kx.prototype.bi,811:kx.prototype.bi,
|
||||
815:kx.prototype.bi},nx={496:kx.prototype.zn,497:kx.prototype.En,498:kx.prototype.Cn,499:kx.prototype.Dn,500:kx.prototype.yn,501:kx.prototype.xn,502:kx.prototype.An,503:kx.prototype.wn,1014:kx.prototype.Bn};cb(function(){for(var a=zb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new kx(d);yb(d,c)}});function zy(a){pb.call(this,"Debugger",a);this.D=+a.base||16;this.ha=["{","}"];this.Ea=["[","]"];this.ba=this.ka=this.P=0;this.fa=!1;this.A=-1;this.C=[];this.I={}}ia(zy,pb);
|
||||
zy.prototype.bh=function(){return-1};zy.prototype.dh=function(){};zy.prototype.Jk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
||||
zy.prototype.yg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.fa?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Da(a.substring(d,f))),d=f+1}}return b};
|
||||
function Ay(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 By(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=Ay(f,18,!0)*Math.pow(2,18)+Ay(e,18,!0);break;case "_":case "^_":"^_"==d&&(e=35-(e&255));e&&(f=Ay(f,0,!0),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));break;default:return!1}a.push(Ay(f))}return!0}
|
||||
function Cy(a,b,c,d,e,f){var g,h=!1,k=0,m=[],p=[],v=a.D;for(a.D=e;c<d;){var u=b[c++].trim();var A=c<d?b[c++]:"";if(u)var J=Dy(a,u,null,f,k);else if("{"==A){u=1;for(J=c;c<d;)if(c++,A=c<b.length?b[c++]:"","{"==A)u++;else if("}"==A&&!--u)break;J=Cy(a,b,J,c-1,a.D,f);null!=J&&k&&(J=Ey(J,k));u=c<d?b[c++].trim():"";A=c<d?b[c++]:""}else{if(" "==A)continue;if("^B"==A){a.D=2;continue}if("^O"==A){a.D=8;continue}if("^D"==A){a.D=10;continue}if(!(k&-1073741824)){if("+"==A)continue;if("-"==A){k=k<<2|1;continue}if("~"==
|
||||
A||"^-"==A){k=k<<2|2;continue}if("^L"==A){k=k<<2|3;continue}}h=!0;break}if(void 0===J)if(f)f.push(u),J=0;else{h=!0;f=[];break}m.push(Ay(J));if(" "==A)if(c<b.length-1&&!b[c])c++,A=b[c++];else{h=!0;break}if(!A)break;k="<"==a.ha[0]?Fy:Gy;if(!k[A]){h=!0;break}p.length&&k[A]<=k[p[p.length-1]]&&By(m,p,1);p.push(A);a.D="^_"==A?10:e;k=0}if(h||!By(m,p)||1!=m.length)h=!0;h?f||a.O("parse error ("+(u||A)+")"):g=m.pop();a.D=v;return g}
|
||||
function Hy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var m=b[h++];if(m==c){k=-1;break}if(!k)break;k--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=Ay(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.O("parse error ("+c+b+c+")");return}b=b.substr(0,f)+Iy(a,g,-1)+b.substr(h)}return b}
|
||||
function Jy(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=Hy(a,b,'"',7,5);if(!b)return d;b=Hy(a,b,"'",6,6);if(!b)return d;16!=a.D&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Cy(a,b,0,b.length,a.D,c);void 0!==d&&e&&Ky(a,null,d)}return d}
|
||||
function Ly(a,b){var c=a.ha[0],d=a.ha[1];var e="("==c||"{"==c||"["==c?"\\":"";var f="["==c?"\\":"";for(f=new RegExp(e+c+"([^"+f+c+f+d+"]+)"+e+d);e=b.match(f);){var g=Jy(a,e[1]);if(void 0===g)return;b=b.replace(c+e[1]+d,null!=g?Iy(a,g):"undefined")}if(a.Ea.length)for(c=a.Ea[0],d=a.Ea[1],e="("==c||"{"==c||"["==c?"\\":"",f="["==c?"\\":"",f=new RegExp(e+c+"([^"+f+c+f+d+"]+)"+e+d);e=b.match(f);)b=a.Jk(b,e[1]);for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.ba-a.ka}if(null==
|
||||
d)break;b=b.replace(c[0],d.toString())}return b}function Ey(a,b){for(;b;){switch(b&3){case 1:a=-Ay(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 Dy(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.bh(b);if(0<=g)g=a.dh(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 h=a.I[b]&&a.I[b].Uo;h&&(f?f.push(h):(f=Jy(a,h,d),void 0!==f?g+=f:(d||a.O("undefined "+(c||"value")+": "+b+" ("+h+")"),g=void 0)))}else g=qa(b,1<b.length||10<a.D?a.D:10);null!=g?g=Ay(Ey(g,e)):d||a.O("invalid "+(c||"value")+": "+b)}else d||a.O("missing "+(c||"value"));return g}
|
||||
function Ky(a,b,c){var d=!1;if(void 0!==c){d=!0;var e=8==a.D?Iy(a,c,32,8,1)+" "+c+".":Iy(a,c,32,16,1)+" "+Iy(a,c,32,8,1)+" "+Iy(a,c,32,2,8)+" "+c+".";32<=c&&127>c&&(e+=" '"+String.fromCharCode(c)+"'")}a.O((null!=b?b+": ":"")+e);return d}function My(a,b){var c=0;if(a.I){if(b)return Ky(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)Ky(a,b[d],a.I[b[d]].value),c++}return 0<c}
|
||||
function Iy(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=ta(b,0<c?c:0,e);break;case 8:b=ua(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=sa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
||||
var Gy={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Fy={",,":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 Ny(a){zy.call(this,a);this.ra=4;this.la=5;this.xa=1048575;this.N=Oy(this,0,0);this.Ca=Oy(this,0,0);this.ea=Oy(this,0,0);this.F=[];this.B=this.V=this.L=[];Py(this);this.wa=0;Qy(this);this.Fa={};Ry(this,a.messages);this.Ka=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return Sy(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return Sy(b,a)})}ia(Ny,zy);l=Ny.prototype;
|
||||
l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.na=a;this.cb=ac(a,"FDC");this.Pa=ac(a,"HDC");this.Kc=ac(a,"FPU");this.H=ac(a,"Mouse");(a=Ad(a,"messages"))&&Ry(this,a);this.la=b.I>>2;this.xa=b.N;this.ab=new Zd(this.G,7,"DBG");this.pa=Ty;80186<=this.G.da&&(this.pa=Ty.slice(),this.pa[15]=Uy,80286<=this.G.da&&(this.pa[15]=Vy,80386<=this.G.da&&(this.ra=8)));Cl(this,64,function(a){Wy(d,d.G.sc,a[0])});Cl(this,4,function(a){if(a=a[0]){var b=Dy(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Xy(d,
|
||||
b,Yy),d.O("dumpSel("+wa(a?a.T:b)+"): %"+q(a?a.Ob:null,d.la)),a){b=!1;if(a.type&4096){if(a.type&2048){var c="code"+(a.type&512?",readable":",execonly");a.type&1024&&(c+=",conforming")}else c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown");a.type&256&&(c+=",accessed")}else{var e=Zy[a.type];e&&(c=e[0],b=e[1])}!c||a.ob&32768||(c+=",not present");d.O((b?"seg="+wa(a.ua&65535)+" off="+wa(a.Sa):"base="+q(a.ua,d.la)+" limit="+$y(a.Sa))+" type="+va(a.type>>8)+" ("+c+") ext="+wa(a.ext&
|
||||
-65296)+" dpl="+va(a.qc))}}else d.O("no selector")});Cl(this,134217728,function(a){var b;(a=a[0])&&(b=Dy(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+wa(b)+")");b;){a=Oy(d,0,b);var c=d.ya(a,1),e=d.Vc(a,2),k=d.Vc(a,5);if(77!=c&&90!=c)break;d.O(az(0,b)+": '"+String.fromCharCode(c)+"' PID="+wa(e)+" LEN="+wa(k)+' "'+bz(d,a,8)+'"');b+=1+k}});Cl(this,128,function(a){Wy(d,d.G.aa,a[0],d.G.aa!==d.G.sc)});Cl(this,8,function(a){a:{if(a=a[0]){var b=Dy(d,a);if(void 0===b){d.O("invalid task selector: "+
|
||||
a);break a}a=Xy(d,b,Yy)}else a=d.G.ka;d.O("dumpTSS("+wa(a?a.T:b)+"): %"+q(a?a.ua:null,d.la));if(a){b="";var c=a.type&-513,e=256==c?4:8,k=256==c?cz:dz;for(u in k){var m=k[u];var p=a.ua+m;var v=Ag(d.G,p,2);2304==c&&(v|=Ag(d.G,p+2,2)<<16);b&&(b+="\n");b+=wa(m)+" "+Ca(u+":",11)+q(v,e)}if(2304==c){var u=0;for(m=v>>>16;m<a.Nb&&1023>u;){p=a.ua+m;v=Ag(d.G,p,2);p=2;c="";if(!p||4<p)p=4;for(e=0;e<p;e++)c&&(c=","+c),c=ta(v&255,8)+c,v>>=8;b+="\n"+wa(m)+" ports "+wa(u)+"-"+wa(u+15)+": "+(""+c);u+=16;m+=2}}d.O(b)}}});
|
||||
this.J=null;this.La=0;this.Ga=!1;Wf(this.G,48,this.Sm.bind(this));Wf(this.G,65,this.Tm.bind(this));this.aa=null;Wf(this.G,104,this.Um.bind(this));Pb(this)};function ez(a,b,c,d,e,f){b=bz(a,b);var g=Xy(a,d);g=g?g.Sa+1:0;var h=(e?"_CODE":"_DATA")+q(c,2);f&&r(a,128)&&a.message(b+" "+(e?"code":"data")+"("+q(c,4)+")=#"+q(d,4)+" len "+q(g));e=fz(a,b,c);e[b+h]=0;jq(a,b,c,d,0,null,g,e)}
|
||||
function gz(a,b,c,d){var e=a.Vc(b,2),f=a.Vc(b,2),g=hz(a,b,4),h=hz(a,b,4),k=Oy(a,hz(a,b,4),a.Vc(b,2));b=Oy(a,hz(a,b,4),a.Vc(b,2));b=bz(a,b).toUpperCase();k=bz(a,k).toUpperCase();var m=(c?"_CODE":"_DATA")+q(e,2);d&&r(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+q(e,4)+")="+q(f,4)+":"+q(g)+" len "+q(h));c=fz(a,k,e);c[k+m]=g;jq(a,k,e,f,g,null,h,c)}function iz(a,b,c){c=bz(a,c).toUpperCase();jz(a,c,b)}
|
||||
l.Sm=function(){var a=this.G;if(null!=this.J&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=Oy(this,y(a)+12,a.U.T);switch(hz(this,d)){case 336:gz(this,Oy(this,a.H,b),!c,!!this.J)}}return!0};
|
||||
l.Tm=function(a){var b=this.G,c=b.D&65535,d=b.H&65535,e=b.I&65535,f=b.L&65535,g=b.K&65535,h=b.J&65535,k=b.pa.T;if(null==this.J)return 79==c&&Xf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Tb(a,"INT 0x41 handling enabled",128),a.J=!0):(Tb(a,"INT 0x41 monitoring enabled",128),a.J=!1)}}(this)),!0;switch(c){case 79:this.J&&(b.D=b.D&-65536|62342,Tb(this,"INT 0x41 handling enabled",128));break;case 80:ez(this,Oy(this,h,k),d+1,e,!(g&1),!!this.J);break;case 82:jz(this,null,
|
||||
d);break;case 127:this.J&&(b.D=b.D&-65536|(this.Ga?0:1));break;case 131:this.J&&(a=Oy(this,b.L,e),this.La++?(this.O("TRAPFAULT failed"),kz(this,this.B,a,!0,!0),this.La=0,rk(this)):(this.O("INT 0x41 TRAPFAULT: fault="+wa(d)+" error="+q(b.K,8,!0)+" addr="+lz(a)),this.rd(this.B,a,!0),Qy(this,!0)));break;case 141:this.J&&(b.D=b.D&-65536|1);break;case 336:gz(this,Oy(this,b.H,f),!g,!!this.J);break;case 338:iz(this,d,Oy(this,b.J,f))}this.Ga=!1;return!this.J};
|
||||
l.An=function(a,b,c){t(this,a,b,c,"DRVHD");this.U=b;this.ga=this.A[this.U&Rx?1:0]?this.ga|ux|Lx:this.ga&~ux};l.Tl=function(a,b){var c=this.ga;t(this,a,null,b,"STATUS",c);this.ga&ux&&(this.ga&=~Jx);return c};l.wn=function(a,b,c){t(this,a,b,c,"COMMAND");this.ha=b;this.V&&kh(this.V,14);Sx(this)};l.Bn=function(a,b,c){t(this,a,b,c,"FDR");this.L&Tx&&!(b&Tx)&&(this.I=Ux);this.L=b};
|
||||
function Sx(a){var b=!1,c=a.ha,d=a.U&Rx?1:0,e=a.U&Vx,f=a.ea|(a.ba&Wx)<<8,g=a.fa,h=a.J||256;a.Ya=-1;a.B=null;a.I=Xx;a.ga=ux|Lx;var k=a.A[d];k?(k.Od=f,k.bb=e,k.jb=g,k.yb=h*k.Na,c=c>=Yx?c:c&Zx,k.hb=null,k.Va=0,k.errorCode=0,a.Ya=d,a.B=k):c=-1;switch(c&Zx){case $x:b=!0;break;case ay:a.ga=Jx;a.te(k,function(b){0<=b&&a.V?(Kx(a),a.ga=ux|Lx|Mx):(a.ga=Nx,a.I=Ox)},!1);break;case by:a.ga=Mx;break;case cy:b=!0;break;case dy:b=!0;break;case Yx:a.I=Ux;b=!0;break;case ey:k.gb=e+1,k.Wa=h,b=!0}b&&Kx(a)}
|
||||
function Kx(a){a.V&&(a.L&fy||mh(a.V,14,120))}
|
||||
function Hx(a){a.D=0;var b=gy(a),c=gy(a),d=c&32,e=d>>5,f=c&31,g=gy(a),h=gy(a),k=g<<2&768|h,m=g&63,p=gy(a),v=gy(a),u=a.A[e];u&&(u.Od=k,u.bb=f,u.jb=m,u.yb=p*u.Na);switch(b){case hy:iy(a,u?u.errorCode:jy);ky(a,c);ky(a,g);ky(a,h);ky(a,ly|d);b=-1;break;case Fx:for(c=0;0<=(b=gy(a));)u&&c<u.Be.length&&(u.Be[c++]=b);u&&zx(a,u);b=ly;u||a.N!=e||(a.N=-1,b=my);iy(a,b|d);b=-1;break;case ny:case oy:iy(a,ly|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=wx,u.Vk=0),b){case py:iy(a,ly|d);break;case qy:u.jf=v;
|
||||
iy(a,ly|d);break;case ry:iy(a,ly|d);break;case sy:ty(a,u,function(b){iy(a,b|d)});break;case uy:vy(a,u,function(b){iy(a,b|d)});break;case wy:xy(a,u,function(b){iy(a,b|d)});break;default:iy(a,my|d)}}function gy(a){var b=-1;a.D<a.C&&(b=a.F[a.D++]);return b}function iy(a,b){a.D=a.C=0;void 0!==b&&ky(a,b);a.V&&mh(a.V,5);a.ga|=Bx}function ky(a,b){a.F[a.C++]=b}l.dl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.el=function(a,b){return void 0!==b&&0<=b?Qx(a,b):-1};
|
||||
l.ul=function(a,b){void 0!==b&&0<=b?(a.Va<a.Ce.length?a.Ce[a.Va++]=b:(a.errorCode=yy,b=-1),a=b):a=-1;return a};l.vl=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Xc[a.Ge++]=b;if(a.Ge==a.Xc.length){a.Od=a.Xc[0];a.bb=a.Xc[1];a.jb=a.Xc[2];a.yb=128<<a.Xc[3];for(var c=a.Ge=0;c<a.yb;c++)if(0>Qx(a,a.Ti)){a=-1;break a}a.dg++}a.dg>=a.Vd&&(b=-1);a=b}else a=-1;return a};
|
||||
function ty(a,b,c){b.errorCode=jy;if(b.va&&(b.hb=null,a.V)){b.errorCode=wx;Sn(a.V,3,a,"dmaRead",b);Jn(a.V,3,function(a){a||b.errorCode!=wx||(b.errorCode=jy);c(b.errorCode?my:ly)});return}c(b.errorCode?my:ly)}function vy(a,b,c){b.errorCode=jy;if(b.va&&(b.hb=null,a.V)){b.errorCode=wx;Sn(a.V,3,a,"dmaWrite",b);Jn(a.V,3,function(a){a||(b.errorCode==wx&&(b.errorCode=jy),b.errorCode==yy&&(b.errorCode=wx));c(b.errorCode?my:ly)});return}c(b.errorCode?my:ly)}
|
||||
function xy(a,b,c){b.errorCode=jy;b.Ce&&b.Ce.length==b.yb||(b.Ce=Array(b.yb));b.Va=0;a.V?(b.errorCode=wx,Sn(a.V,3,a,"dmaWriteBuffer",b),Jn(a.V,3,function(a){a||b.errorCode!=wx||(b.errorCode=jy);c(b.errorCode?my:ly)})):c(b.errorCode?my:ly)}
|
||||
l.te=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.hb&&(f=a.Va,d=a.va.read(a.hb,a.Va),a.Va+=g,0<=d))return e=a.hb,b&&b(d,!1,e,f),d;if(b){if(a.va)return a.va.seek(a.Od,a.bb,a.jb+a.cg,!1,function(c,k){(a.hb=c)?(e=c,f=a.Va=0,zy(a),d=a.va.read(a.hb,a.Va),a.Va+=g):a.errorCode=yy;b(d,k,e,f)}),d;a.errorCode=yy;b(d,!1,e,f)}return d};
|
||||
function Qx(a,b){if(a.errorCode)return-1;do{if(a.hb&&a.va.write(a.hb,a.Va++,b))break;a.va&&a.va.seek(a.Od,a.bb,a.jb+a.cg,!0,function(b){a.hb=b});if(!a.hb){a.errorCode=yy;b=-1;break}a.Va=0;zy(a)}while(1);return b}function zy(a){a.jb++;var b=1-a.cg;a.jb>=a.Wa+b&&(a.jb=b,a.bb++,a.bb>=a.gb&&(a.bb=0,a.Od++))}l.Om=function(){var a=this.G.L&255;!(this.G.D>>8)&&128<a&&(this.N=a-128);return!0};l.Pm=function(){var a;(a=this.G.D>>8||!this.V)||(a=!(this.V.ic[0].sd&64));return a?!0:!1};
|
||||
var xx="Hard Drive",Ax=["XTC","ATC","COMPAQ"],yx=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
|
||||
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],qx=496,Ux=1,Xx=0,Ox=16,Wx=3,Vx=15,Rx=16,Nx=1,Mx=8,Lx=16,ux=64,Jx=128,$x=16,ay=32,by=48,cy=64,dy=
|
||||
112,Yx=144,ey=145,Zx=240,fy=2,Tx=4,ly=0,my=2,py=0,qy=1,hy=3,ry=5,sy=8,uy=10,Fx=12,wy=15,ny=224,oy=228,wx=0,jy=4,yy=20,vx=0,Gx=1,Cx=2,Dx=4,Ex=8,Bx=32,nx={800:lx.prototype.Mm,801:lx.prototype.Nm,802:lx.prototype.Lm},mx={496:lx.prototype.fl,497:lx.prototype.Pl,498:lx.prototype.Rl,499:lx.prototype.Sl,500:lx.prototype.Nl,501:lx.prototype.Ml,502:lx.prototype.Ol,503:lx.prototype.Tl},px={800:lx.prototype.uo,801:lx.prototype.xo,802:lx.prototype.wo,803:lx.prototype.vo,807:lx.prototype.bi,811:lx.prototype.bi,
|
||||
815:lx.prototype.bi},ox={496:lx.prototype.zn,497:lx.prototype.En,498:lx.prototype.Cn,499:lx.prototype.Dn,500:lx.prototype.yn,501:lx.prototype.xn,502:lx.prototype.An,503:lx.prototype.wn,1014:lx.prototype.Bn};cb(function(){for(var a=zb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new lx(d);yb(d,c)}});function Ay(a){pb.call(this,"Debugger",a);this.D=+a.base||16;this.ha=["{","}"];this.Ea=["[","]"];this.ba=this.ka=this.P=0;this.fa=!1;this.A=-1;this.C=[];this.I={}}ia(Ay,pb);
|
||||
Ay.prototype.bh=function(){return-1};Ay.prototype.dh=function(){};Ay.prototype.Jk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
||||
Ay.prototype.yg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.fa?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Da(a.substring(d,f))),d=f+1}}return b};
|
||||
function By(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 Cy(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=By(f,18,!0)*Math.pow(2,18)+By(e,18,!0);break;case "_":case "^_":"^_"==d&&(e=35-(e&255));e&&(f=By(f,0,!0),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));break;default:return!1}a.push(By(f))}return!0}
|
||||
function Dy(a,b,c,d,e,f){var g,h=!1,k=0,m=[],p=[],v=a.D;for(a.D=e;c<d;){var u=b[c++].trim();var A=c<d?b[c++]:"";if(u)var J=Ey(a,u,null,f,k);else if("{"==A){u=1;for(J=c;c<d;)if(c++,A=c<b.length?b[c++]:"","{"==A)u++;else if("}"==A&&!--u)break;J=Dy(a,b,J,c-1,a.D,f);null!=J&&k&&(J=Fy(J,k));u=c<d?b[c++].trim():"";A=c<d?b[c++]:""}else{if(" "==A)continue;if("^B"==A){a.D=2;continue}if("^O"==A){a.D=8;continue}if("^D"==A){a.D=10;continue}if(!(k&-1073741824)){if("+"==A)continue;if("-"==A){k=k<<2|1;continue}if("~"==
|
||||
A||"^-"==A){k=k<<2|2;continue}if("^L"==A){k=k<<2|3;continue}}h=!0;break}if(void 0===J)if(f)f.push(u),J=0;else{h=!0;f=[];break}m.push(By(J));if(" "==A)if(c<b.length-1&&!b[c])c++,A=b[c++];else{h=!0;break}if(!A)break;k="<"==a.ha[0]?Gy:Hy;if(!k[A]){h=!0;break}p.length&&k[A]<=k[p[p.length-1]]&&Cy(m,p,1);p.push(A);a.D="^_"==A?10:e;k=0}if(h||!Cy(m,p)||1!=m.length)h=!0;h?f||a.O("parse error ("+(u||A)+")"):g=m.pop();a.D=v;return g}
|
||||
function Iy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var m=b[h++];if(m==c){k=-1;break}if(!k)break;k--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=By(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.O("parse error ("+c+b+c+")");return}b=b.substr(0,f)+Jy(a,g,-1)+b.substr(h)}return b}
|
||||
function Ky(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=Iy(a,b,'"',7,5);if(!b)return d;b=Iy(a,b,"'",6,6);if(!b)return d;16!=a.D&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Dy(a,b,0,b.length,a.D,c);void 0!==d&&e&&Ly(a,null,d)}return d}
|
||||
function My(a,b){var c=a.ha[0],d=a.ha[1];var e="("==c||"{"==c||"["==c?"\\":"";var f="["==c?"\\":"";for(f=new RegExp(e+c+"([^"+f+c+f+d+"]+)"+e+d);e=b.match(f);){var g=Ky(a,e[1]);if(void 0===g)return;b=b.replace(c+e[1]+d,null!=g?Jy(a,g):"undefined")}if(a.Ea.length)for(c=a.Ea[0],d=a.Ea[1],e="("==c||"{"==c||"["==c?"\\":"",f="["==c?"\\":"",f=new RegExp(e+c+"([^"+f+c+f+d+"]+)"+e+d);e=b.match(f);)b=a.Jk(b,e[1]);for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.ba-a.ka}if(null==
|
||||
d)break;b=b.replace(c[0],d.toString())}return b}function Fy(a,b){for(;b;){switch(b&3){case 1:a=-By(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 Ey(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.bh(b);if(0<=g)g=a.dh(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 h=a.I[b]&&a.I[b].Uo;h&&(f?f.push(h):(f=Ky(a,h,d),void 0!==f?g+=f:(d||a.O("undefined "+(c||"value")+": "+b+" ("+h+")"),g=void 0)))}else g=qa(b,1<b.length||10<a.D?a.D:10);null!=g?g=By(Fy(g,e)):d||a.O("invalid "+(c||"value")+": "+b)}else d||a.O("missing "+(c||"value"));return g}
|
||||
function Ly(a,b,c){var d=!1;if(void 0!==c){d=!0;var e=8==a.D?Jy(a,c,32,8,1)+" "+c+".":Jy(a,c,32,16,1)+" "+Jy(a,c,32,8,1)+" "+Jy(a,c,32,2,8)+" "+c+".";32<=c&&127>c&&(e+=" '"+String.fromCharCode(c)+"'")}a.O((null!=b?b+": ":"")+e);return d}function Ny(a,b){var c=0;if(a.I){if(b)return Ly(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)Ly(a,b[d],a.I[b[d]].value),c++}return 0<c}
|
||||
function Jy(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=ta(b,0<c?c:0,e);break;case 8:b=ua(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=sa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
||||
var Hy={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Gy={",,":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 Oy(a){Ay.call(this,a);this.ra=4;this.la=5;this.xa=1048575;this.N=Py(this,0,0);this.Ca=Py(this,0,0);this.ea=Py(this,0,0);this.F=[];this.B=this.V=this.L=[];Qy(this);this.wa=0;Ry(this);this.Fa={};Sy(this,a.messages);this.Ka=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return Ty(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return Ty(b,a)})}ia(Oy,Ay);l=Oy.prototype;
|
||||
l.tc=function(a,b,c,d){this.oa=b;this.G=c;this.na=a;this.cb=ac(a,"FDC");this.Pa=ac(a,"HDC");this.Kc=ac(a,"FPU");this.H=ac(a,"Mouse");(a=Ad(a,"messages"))&&Sy(this,a);this.la=b.I>>2;this.xa=b.N;this.ab=new Zd(this.G,7,"DBG");this.pa=Uy;80186<=this.G.da&&(this.pa=Uy.slice(),this.pa[15]=Vy,80286<=this.G.da&&(this.pa[15]=Wy,80386<=this.G.da&&(this.ra=8)));Cl(this,64,function(a){Xy(d,d.G.sc,a[0])});Cl(this,4,function(a){if(a=a[0]){var b=Ey(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Yy(d,
|
||||
b,Zy),d.O("dumpSel("+wa(a?a.T:b)+"): %"+q(a?a.Ob:null,d.la)),a){b=!1;if(a.type&4096){if(a.type&2048){var c="code"+(a.type&512?",readable":",execonly");a.type&1024&&(c+=",conforming")}else c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown");a.type&256&&(c+=",accessed")}else{var e=$y[a.type];e&&(c=e[0],b=e[1])}!c||a.ob&32768||(c+=",not present");d.O((b?"seg="+wa(a.ua&65535)+" off="+wa(a.Sa):"base="+q(a.ua,d.la)+" limit="+az(a.Sa))+" type="+va(a.type>>8)+" ("+c+") ext="+wa(a.ext&
|
||||
-65296)+" dpl="+va(a.qc))}}else d.O("no selector")});Cl(this,134217728,function(a){var b;(a=a[0])&&(b=Ey(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+wa(b)+")");b;){a=Py(d,0,b);var c=d.ya(a,1),e=d.Vc(a,2),k=d.Vc(a,5);if(77!=c&&90!=c)break;d.O(bz(0,b)+": '"+String.fromCharCode(c)+"' PID="+wa(e)+" LEN="+wa(k)+' "'+cz(d,a,8)+'"');b+=1+k}});Cl(this,128,function(a){Xy(d,d.G.aa,a[0],d.G.aa!==d.G.sc)});Cl(this,8,function(a){a:{if(a=a[0]){var b=Ey(d,a);if(void 0===b){d.O("invalid task selector: "+
|
||||
a);break a}a=Yy(d,b,Zy)}else a=d.G.ka;d.O("dumpTSS("+wa(a?a.T:b)+"): %"+q(a?a.ua:null,d.la));if(a){b="";var c=a.type&-513,e=256==c?4:8,k=256==c?dz:ez;for(u in k){var m=k[u];var p=a.ua+m;var v=Ag(d.G,p,2);2304==c&&(v|=Ag(d.G,p+2,2)<<16);b&&(b+="\n");b+=wa(m)+" "+Ca(u+":",11)+q(v,e)}if(2304==c){var u=0;for(m=v>>>16;m<a.Nb&&1023>u;){p=a.ua+m;v=Ag(d.G,p,2);p=2;c="";if(!p||4<p)p=4;for(e=0;e<p;e++)c&&(c=","+c),c=ta(v&255,8)+c,v>>=8;b+="\n"+wa(m)+" ports "+wa(u)+"-"+wa(u+15)+": "+(""+c);u+=16;m+=2}}d.O(b)}}});
|
||||
this.J=null;this.La=0;this.Ga=!1;Wf(this.G,48,this.Sm.bind(this));Wf(this.G,65,this.Tm.bind(this));this.aa=null;Wf(this.G,104,this.Um.bind(this));Pb(this)};function fz(a,b,c,d,e,f){b=cz(a,b);var g=Yy(a,d);g=g?g.Sa+1:0;var h=(e?"_CODE":"_DATA")+q(c,2);f&&r(a,128)&&a.message(b+" "+(e?"code":"data")+"("+q(c,4)+")=#"+q(d,4)+" len "+q(g));e=gz(a,b,c);e[b+h]=0;jq(a,b,c,d,0,null,g,e)}
|
||||
function hz(a,b,c,d){var e=a.Vc(b,2),f=a.Vc(b,2),g=iz(a,b,4),h=iz(a,b,4),k=Py(a,iz(a,b,4),a.Vc(b,2));b=Py(a,iz(a,b,4),a.Vc(b,2));b=cz(a,b).toUpperCase();k=cz(a,k).toUpperCase();var m=(c?"_CODE":"_DATA")+q(e,2);d&&r(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+q(e,4)+")="+q(f,4)+":"+q(g)+" len "+q(h));c=gz(a,k,e);c[k+m]=g;jq(a,k,e,f,g,null,h,c)}function jz(a,b,c){c=cz(a,c).toUpperCase();kz(a,c,b)}
|
||||
l.Sm=function(){var a=this.G;if(null!=this.J&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=Py(this,y(a)+12,a.U.T);switch(iz(this,d)){case 336:hz(this,Py(this,a.H,b),!c,!!this.J)}}return!0};
|
||||
l.Tm=function(a){var b=this.G,c=b.D&65535,d=b.H&65535,e=b.I&65535,f=b.L&65535,g=b.K&65535,h=b.J&65535,k=b.pa.T;if(null==this.J)return 79==c&&Xf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Tb(a,"INT 0x41 handling enabled",128),a.J=!0):(Tb(a,"INT 0x41 monitoring enabled",128),a.J=!1)}}(this)),!0;switch(c){case 79:this.J&&(b.D=b.D&-65536|62342,Tb(this,"INT 0x41 handling enabled",128));break;case 80:fz(this,Py(this,h,k),d+1,e,!(g&1),!!this.J);break;case 82:kz(this,null,
|
||||
d);break;case 127:this.J&&(b.D=b.D&-65536|(this.Ga?0:1));break;case 131:this.J&&(a=Py(this,b.L,e),this.La++?(this.O("TRAPFAULT failed"),lz(this,this.B,a,!0,!0),this.La=0,rk(this)):(this.O("INT 0x41 TRAPFAULT: fault="+wa(d)+" error="+q(b.K,8,!0)+" addr="+mz(a)),this.rd(this.B,a,!0),Ry(this,!0)));break;case 141:this.J&&(b.D=b.D&-65536|1);break;case 336:hz(this,Py(this,b.H,f),!g,!!this.J);break;case 338:jz(this,d,Py(this,b.J,f))}this.Ga=!1;return!this.J};
|
||||
l.Um=function(a){var b=this.G,c=b.D&255,d=b.D>>8&255,e=b.H&65535,f=b.I&65535,g=b.L&65535,h=b.J&65535,k=b.pa.T;if(null==this.aa){if(67==d){if(609437257==b.ia((b.ba.T<<4)+10)||1111835735==b.ia((b.ba.T<<4)+95))return!0;Xf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Tb(a,"INT 0x68 handling enabled",128),a.J=a.aa=!0):(Tb(a,"INT 0x68 monitoring enabled",128),a.aa=!1)}}(this))}return!0}switch(d){case 67:this.aa&&(b.D=b.D&-65536|62342);break;case 68:this.aa&&(a=ce(b.ba,this.ql.bind(this)))&&
|
||||
(b.J=a[0],ue(b,a[1]));break;case 72:jz(this,null,e);break;case 80:32==c?ez(this,Oy(this,h,k),0,f,!0,!!this.aa):128>c?ez(this,Oy(this,h,k),e+1,c&64?g:f,!(c&1),!!this.aa):gz(this,Oy(this,h,k),!(c&1),!!this.aa),this.aa&&(b.D=b.D&-256|1)}return!this.aa};l.ql=function(){var a=this.G;5==(a.D&255)&&(a.I=a.K=0,a.D=a.D&-256|1);return!1};
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ta=this.ma[b]=c,c.onkeydown=function(a){if(13==a.keyCode){var b=c.value;c.value="";Sy(d,b,!0)}else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.C.length-1&&(b=d.C[++d.A])):40==a.keyCode&&(0<d.A?b=d.C[--d.A]:(b="",d.A=-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.ma[b]=c,ab(c,function(){if(d.ta){var a=d.ta.value;
|
||||
d.ta.value="";Sy(d,a,!0);return!0}return!1}),!0;case "step":return this.ma[b]=c,ab(c,function(a){var b=!1;Qb(d,!0)||(Rb(d,!0),b=mz(d,a?1:0),Rb(d,!1));return b}),!0}return!1};l.cd=function(){this.ta&&this.ta.focus()};function nz(a){return!(!(a.G&&a.G.ra&1)||a.G.P&131072)}
|
||||
function Xy(a,b,c){var d=nz(a)?Yy:oz;c||(c=d);if(c==d){if(b===a.G.ba.T)return a.G.ba;if(b===a.G.Fa.T)return a.G.Fa;if(b===a.G.pa.T)return a.G.pa;if(b===a.G.U.T)return a.G.U;if(80386<=a.G.da){if(b===a.G.Ka.T)return a.G.Ka;if(b===a.G.La.T)return a.G.La}if(a.Ia&&c==Yy||!a.ab)return null}a=a.ab;if(c!=Yy)a.jh(b),a.Sa=65535,a.Nb=65536;else{c=a.Lb;b&=65535;if(b&4){d=c.Gb.ua;var e=d+c.Gb.Sa|0}else d=c.Kb,e=c.Jc;d=d+(b&65528)|0;if(e-d|0){e=Ag(c,d+0,2);var f=Ag(c,d+4,2),g=f&7936,h=Ag(c,d+2,2)|(f&255)<<16,k=
|
||||
Ag(c,d+6,2);80386<=c.da&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.T=b;a.ua=h;a.Sa=e;a.Nb=(e>>>0)+1;a.ob=f;a.type=g;a.ext=k;a.Ob=d;be(a,!0,!0,!1)}}return a}l.Vb=function(a,b,c){var d=a&&a.za;if(null==d&&(d=-1,a)){var e=Xy(this,a.T,a.type);e&&(b=a.Ja||0,c=c||1,d=e=-1===e.Ob||e.ed&&(b>>>0)+c>e.Nb||!e.ed&&(b>>>0)+c<=e.Nb?e.ua+b|0:-1,a.za=d)}return d};l.ya=function(a,b){var c=255,d=this.Vb(a,!1,1);-1!==d&&(c=Ag(this.G,d,1,a.type==pz)|0,b&&qz(this,a,b));return c};
|
||||
l.nb=function(a,b){return a.Jb?hz(this,a,b?4:0):this.Vc(a,b?2:0)};l.Vc=function(a,b){var c=65535,d=this.Vb(a,!1,2);-1!==d&&(c=Ag(this.G,d,2,a.type==pz)|0,b&&qz(this,a,b));return c};function hz(a,b,c){var d=-1,e=a.Vb(b,!1,4);-1!==e&&(d=Ag(a.G,e,4,b.type==pz)|0,c&&qz(a,b,c));return d}l.ub=function(a,b,c,d){var e=this.Vb(a,!0,1);if(-1!==e){if(a.type!=pz)this.G.ub(e,b);else{var f=this.oa;f.aa[(e&f.C)>>>f.A].af(e&f.D,b&255,e)}c&&qz(this,a,c);d||Fd(this.G,!0)}};
|
||||
l.al=function(a,b,c){var d=this.Vb(a,!0,2);-1!==d&&(a.type!=pz?this.G.ib(d,b):Mc(this.oa,d,b),c&&qz(this,a,c),Fd(this.G,!0))};function Oy(a,b,c,d,e,f,g){return rz(a,{},b,c,d,e,f,g)}function rz(a,b,c,d,e,f,g,h){b.Ja=c||0;b.T=d;b.za=e;b.type=f||(nz(a)?Yy:oz);b.Jb=null!=g?g:!(!a.G||4!=a.G.ba.X);b.ec=null!=h?h:!(!a.G||4!=a.G.ba.Lc);b.wd=!1;return b}function sz(a){return[a.Ja,a.T,a.za,a.wd,a.Jb,a.ec,a.De,a.Yg]}function tz(a){return{Ja:a[0],T:a[1],za:a[2],wd:a[3],Jb:a[4],ec:a[5],De:a[6],Yg:a[7]}}
|
||||
function uz(a,b,c){if(null!=b.T&&(a=Xy(a,b.T,b.type))){var d=b.Ja&a.xa;if(!a.ed){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ja=d,b.Jb=4==a.X,b.ec=4==a.Lc)}return!0}
|
||||
function vz(a,b,c,d){var e=c?a.N:a.Ca;c=d?wz:e.type;var f=e.Ja,g=e.T;e=e.za;if(void 0!==b){b=Ly(a,b);var h=b.charAt(0);e=b.indexOf(":");switch(h){case "&":c=oz;break;case "#":c=Yy;break;case "%":c=xz;h=b.charAt(1);"%"==h&&(c=pz,h+=h);f=0;g=null;break;default:0<=e&&(c=wz),h=""}h&&(b=b.substr(h.length),e-=h.length);h=b;if(h.match(/^[a-z_][a-z0-9_]*$/i))for(var k=h.toUpperCase(),m=0;m<a.F.length;m++){h=a.F[m];var p=h.Id[k];if(void 0!==p){k=p.o;if(void 0!==k){var v=p.s;void 0===v&&(v=h.T);v=Oy(a,k,v,
|
||||
p.p)}break}}if(h=v)return h;0>e?null!=g?(f=Jy(a,b,void 0),e=null):(e=Jy(a,b,void 0),null==e&&(f=null)):(g=Jy(a,b.substring(0,e),void 0),f=Jy(a,b.substring(e+1),void 0),e=null)}null!=f&&(h=Oy(a,f,g,e,c),d||uz(a,h,!0)||(a.O("invalid offset: "+lz(h)),h=null));return h}function yz(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.kl=a.yg(b.Sk=c[2]))}l.Jk=function(a,b){var c=vz(this,b);return a.replace("["+b+"]",c?q(this.nb(c),c.Jb?8:4):"undefined")};
|
||||
function qz(a,b,c){c=c||1;null!=b.za&&(b.za+=c);null!=b.T&&(b.Ja+=c,uz(a,b)||(b.Ja=0,b.za=null))}function az(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function lz(a){switch(a.type){case oz:case zz:var b="&";break;case Yy:b="#";break;case xz:b="%";break;case pz:b="%%";break;default:b=a.T?"":"%"}return a.type>=xz||null==a.T?b+q(a.za):b+az(a.Ja,a.T,a.ec)}
|
||||
function bz(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.ya(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
|
||||
function Wy(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Vb(vz(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.G.lb;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==ed&&(d=qd(a.G,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=wc[c],c==gd&&(d=d.td,h+=" -> "+wc[d.type]),d&&a.O(q(d.id,8)+" %"+q(f<<a.G.lb,8)+" %%"+q(d.za,8)+" "+wa(d.xe)+" "+wa(d.size)+
|
||||
" "+h),c!=dd&&c!=ed&&(c=-1),h=0),e+=a.G.Jg,f++}function Az(a,b,c){a=q(a)+" "+q(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-")+(b&4?"U":"S");a+=b&2?"W":"R";return a+=b&1?"P":"N"}function fz(a,b,c){var d=[],e;for(e=null;e=ac(a.na,"Disk",e);){var f=e,g=b,h=c;d={};if(f.C)for(var k=0;k<f.C.length;k++){var m=f.C[k];if(m.fi==g&&(m=m.fe[h])){for(var p in m.hf)f=m.hf[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
|
||||
function Ry(a,b){a.ca=a;a.dc=a.ol=1073741824;a.Aa=null;a.Ba=[];b=a.yg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Zb)0<=Ja(b,c)&&(a.dc|=Zb[c],a.O(c+" messages enabled"));Qy(a)}function Cl(a,b,c){for(var d in Zb)if(b==Zb[d]){a.Fa[d]=c;break}}l.bh=function(a,b){a=a.toUpperCase();if(null==b)var c=Ja(Bz,a);else c=Ja(Bz,a.substr(b,3)),0>c&&(c=Ja(Bz,a.substr(b,2)));return c};
|
||||
function Cz(a,b){var c=0,d=a.dh(b);if(null!=d)switch(b){case Dz:case Ez:case Fz:case Gz:case Hz:case Iz:case Jz:case Kz:c=2;break;case Lz:case Mz:case Nz:case Oz:case Pz:case Qz:case Rz:case Sz:case Tz:case Uz+Vz:case Uz+Wz:case Uz+Xz:case Uz+Yz:case Uz+Zz:case Uz+$z:c=4;break;case aA:case bA:case cA:case dA:case eA:case fA:case gA:case hA:case iA:case jA:case kA:case lA:case mA:c=8;break;case nA:c=a.ra}return c?q(d,c):"??"}
|
||||
l.dh=function(a){if(0<=a){var b=this.G;switch(a){case Dz:var c=b.D&255;break;case Ez:c=b.I&255;break;case Fz:c=b.L&255;break;case Gz:c=b.H&255;break;case Hz:c=b.D>>8&255;break;case Iz:c=b.I>>8&255;break;case Jz:c=b.L>>8&255;break;case Kz:c=b.H>>8&255;break;case Lz:c=b.D&65535;break;case Mz:c=b.I&65535;break;case Nz:c=b.L&65535;break;case Oz:c=b.H&65535;break;case Pz:c=y(b)&65535;break;case Qz:c=b.N&65535;break;case Rz:c=b.K&65535;break;case Sz:c=b.J&65535;break;case Tz:c=z(b)&65535;break;case nA:c=
|
||||
xe(b);break;case Uz+Vz:c=b.pa.T;break;case Uz+Wz:c=b.ba.T;break;case Uz+Xz:c=b.U.T;break;case Uz+Yz:c=b.Fa.T;break;default:if(80286==this.G.da)a==iA&&(c=b.ra);else if(80386<=this.G.da)switch(a){case aA:c=b.D;break;case bA:c=b.I;break;case cA:c=b.L;break;case dA:c=b.H;break;case eA:c=y(b);break;case fA:c=b.N;break;case gA:c=b.K;break;case hA:c=b.J;break;case iA:c=b.ra;break;case jA:c=b.Kg;break;case kA:c=b.pd;break;case lA:c=b.wc;break;case Uz+Zz:c=b.Ka.T;break;case Uz+$z:c=b.La.T;break;case mA:c=
|
||||
(b.J=a[0],ue(b,a[1]));break;case 72:kz(this,null,e);break;case 80:32==c?fz(this,Py(this,h,k),0,f,!0,!!this.aa):128>c?fz(this,Py(this,h,k),e+1,c&64?g:f,!(c&1),!!this.aa):hz(this,Py(this,h,k),!(c&1),!!this.aa),this.aa&&(b.D=b.D&-256|1)}return!this.aa};l.ql=function(){var a=this.G;5==(a.D&255)&&(a.I=a.K=0,a.D=a.D&-256|1);return!1};
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ta=this.ma[b]=c,c.onkeydown=function(a){if(13==a.keyCode){var b=c.value;c.value="";Ty(d,b,!0)}else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.C.length-1&&(b=d.C[++d.A])):40==a.keyCode&&(0<d.A?b=d.C[--d.A]:(b="",d.A=-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.ma[b]=c,ab(c,function(){if(d.ta){var a=d.ta.value;
|
||||
d.ta.value="";Ty(d,a,!0);return!0}return!1}),!0;case "step":return this.ma[b]=c,ab(c,function(a){var b=!1;Qb(d,!0)||(Rb(d,!0),b=nz(d,a?1:0),Rb(d,!1));return b}),!0}return!1};l.cd=function(){this.ta&&this.ta.focus()};function oz(a){return!(!(a.G&&a.G.ra&1)||a.G.P&131072)}
|
||||
function Yy(a,b,c){var d=oz(a)?Zy:pz;c||(c=d);if(c==d){if(b===a.G.ba.T)return a.G.ba;if(b===a.G.Fa.T)return a.G.Fa;if(b===a.G.pa.T)return a.G.pa;if(b===a.G.U.T)return a.G.U;if(80386<=a.G.da){if(b===a.G.Ka.T)return a.G.Ka;if(b===a.G.La.T)return a.G.La}if(a.Ia&&c==Zy||!a.ab)return null}a=a.ab;if(c!=Zy)a.jh(b),a.Sa=65535,a.Nb=65536;else{c=a.Lb;b&=65535;if(b&4){d=c.Gb.ua;var e=d+c.Gb.Sa|0}else d=c.Kb,e=c.Jc;d=d+(b&65528)|0;if(e-d|0){e=Ag(c,d+0,2);var f=Ag(c,d+4,2),g=f&7936,h=Ag(c,d+2,2)|(f&255)<<16,k=
|
||||
Ag(c,d+6,2);80386<=c.da&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.T=b;a.ua=h;a.Sa=e;a.Nb=(e>>>0)+1;a.ob=f;a.type=g;a.ext=k;a.Ob=d;be(a,!0,!0,!1)}}return a}l.Vb=function(a,b,c){var d=a&&a.za;if(null==d&&(d=-1,a)){var e=Yy(this,a.T,a.type);e&&(b=a.Ja||0,c=c||1,d=e=-1===e.Ob||e.ed&&(b>>>0)+c>e.Nb||!e.ed&&(b>>>0)+c<=e.Nb?e.ua+b|0:-1,a.za=d)}return d};l.ya=function(a,b){var c=255,d=this.Vb(a,!1,1);-1!==d&&(c=Ag(this.G,d,1,a.type==qz)|0,b&&rz(this,a,b));return c};
|
||||
l.nb=function(a,b){return a.Jb?iz(this,a,b?4:0):this.Vc(a,b?2:0)};l.Vc=function(a,b){var c=65535,d=this.Vb(a,!1,2);-1!==d&&(c=Ag(this.G,d,2,a.type==qz)|0,b&&rz(this,a,b));return c};function iz(a,b,c){var d=-1,e=a.Vb(b,!1,4);-1!==e&&(d=Ag(a.G,e,4,b.type==qz)|0,c&&rz(a,b,c));return d}l.ub=function(a,b,c,d){var e=this.Vb(a,!0,1);if(-1!==e){if(a.type!=qz)this.G.ub(e,b);else{var f=this.oa;f.aa[(e&f.C)>>>f.A].af(e&f.D,b&255,e)}c&&rz(this,a,c);d||Fd(this.G,!0)}};
|
||||
l.al=function(a,b,c){var d=this.Vb(a,!0,2);-1!==d&&(a.type!=qz?this.G.ib(d,b):Mc(this.oa,d,b),c&&rz(this,a,c),Fd(this.G,!0))};function Py(a,b,c,d,e,f,g){return sz(a,{},b,c,d,e,f,g)}function sz(a,b,c,d,e,f,g,h){b.Ja=c||0;b.T=d;b.za=e;b.type=f||(oz(a)?Zy:pz);b.Jb=null!=g?g:!(!a.G||4!=a.G.ba.X);b.ec=null!=h?h:!(!a.G||4!=a.G.ba.Lc);b.wd=!1;return b}function tz(a){return[a.Ja,a.T,a.za,a.wd,a.Jb,a.ec,a.De,a.Yg]}function uz(a){return{Ja:a[0],T:a[1],za:a[2],wd:a[3],Jb:a[4],ec:a[5],De:a[6],Yg:a[7]}}
|
||||
function vz(a,b,c){if(null!=b.T&&(a=Yy(a,b.T,b.type))){var d=b.Ja&a.xa;if(!a.ed){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ja=d,b.Jb=4==a.X,b.ec=4==a.Lc)}return!0}
|
||||
function wz(a,b,c,d){var e=c?a.N:a.Ca;c=d?xz:e.type;var f=e.Ja,g=e.T;e=e.za;if(void 0!==b){b=My(a,b);var h=b.charAt(0);e=b.indexOf(":");switch(h){case "&":c=pz;break;case "#":c=Zy;break;case "%":c=yz;h=b.charAt(1);"%"==h&&(c=qz,h+=h);f=0;g=null;break;default:0<=e&&(c=xz),h=""}h&&(b=b.substr(h.length),e-=h.length);h=b;if(h.match(/^[a-z_][a-z0-9_]*$/i))for(var k=h.toUpperCase(),m=0;m<a.F.length;m++){h=a.F[m];var p=h.Id[k];if(void 0!==p){k=p.o;if(void 0!==k){var v=p.s;void 0===v&&(v=h.T);v=Py(a,k,v,
|
||||
p.p)}break}}if(h=v)return h;0>e?null!=g?(f=Ky(a,b,void 0),e=null):(e=Ky(a,b,void 0),null==e&&(f=null)):(g=Ky(a,b.substring(0,e),void 0),f=Ky(a,b.substring(e+1),void 0),e=null)}null!=f&&(h=Py(a,f,g,e,c),d||vz(a,h,!0)||(a.O("invalid offset: "+mz(h)),h=null));return h}function zz(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.kl=a.yg(b.Sk=c[2]))}l.Jk=function(a,b){var c=wz(this,b);return a.replace("["+b+"]",c?q(this.nb(c),c.Jb?8:4):"undefined")};
|
||||
function rz(a,b,c){c=c||1;null!=b.za&&(b.za+=c);null!=b.T&&(b.Ja+=c,vz(a,b)||(b.Ja=0,b.za=null))}function bz(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function mz(a){switch(a.type){case pz:case Az:var b="&";break;case Zy:b="#";break;case yz:b="%";break;case qz:b="%%";break;default:b=a.T?"":"%"}return a.type>=yz||null==a.T?b+q(a.za):b+bz(a.Ja,a.T,a.ec)}
|
||||
function cz(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.ya(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
|
||||
function Xy(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Vb(wz(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.G.lb;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==ed&&(d=qd(a.G,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=wc[c],c==gd&&(d=d.td,h+=" -> "+wc[d.type]),d&&a.O(q(d.id,8)+" %"+q(f<<a.G.lb,8)+" %%"+q(d.za,8)+" "+wa(d.xe)+" "+wa(d.size)+
|
||||
" "+h),c!=dd&&c!=ed&&(c=-1),h=0),e+=a.G.Jg,f++}function Bz(a,b,c){a=q(a)+" "+q(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-")+(b&4?"U":"S");a+=b&2?"W":"R";return a+=b&1?"P":"N"}function gz(a,b,c){var d=[],e;for(e=null;e=ac(a.na,"Disk",e);){var f=e,g=b,h=c;d={};if(f.C)for(var k=0;k<f.C.length;k++){var m=f.C[k];if(m.fi==g&&(m=m.fe[h])){for(var p in m.hf)f=m.hf[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
|
||||
function Sy(a,b){a.ca=a;a.dc=a.ol=1073741824;a.Aa=null;a.Ba=[];b=a.yg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Zb)0<=Ja(b,c)&&(a.dc|=Zb[c],a.O(c+" messages enabled"));Ry(a)}function Cl(a,b,c){for(var d in Zb)if(b==Zb[d]){a.Fa[d]=c;break}}l.bh=function(a,b){a=a.toUpperCase();if(null==b)var c=Ja(Cz,a);else c=Ja(Cz,a.substr(b,3)),0>c&&(c=Ja(Cz,a.substr(b,2)));return c};
|
||||
function Dz(a,b){var c=0,d=a.dh(b);if(null!=d)switch(b){case Ez:case Fz:case Gz:case Hz:case Iz:case Jz:case Kz:case Lz:c=2;break;case Mz:case Nz:case Oz:case Pz:case Qz:case Rz:case Sz:case Tz:case Uz:case Vz+Wz:case Vz+Xz:case Vz+Yz:case Vz+Zz:case Vz+$z:case Vz+aA:c=4;break;case bA:case cA:case dA:case eA:case fA:case gA:case hA:case iA:case jA:case kA:case lA:case mA:case nA:c=8;break;case oA:c=a.ra}return c?q(d,c):"??"}
|
||||
l.dh=function(a){if(0<=a){var b=this.G;switch(a){case Ez:var c=b.D&255;break;case Fz:c=b.I&255;break;case Gz:c=b.L&255;break;case Hz:c=b.H&255;break;case Iz:c=b.D>>8&255;break;case Jz:c=b.I>>8&255;break;case Kz:c=b.L>>8&255;break;case Lz:c=b.H>>8&255;break;case Mz:c=b.D&65535;break;case Nz:c=b.I&65535;break;case Oz:c=b.L&65535;break;case Pz:c=b.H&65535;break;case Qz:c=y(b)&65535;break;case Rz:c=b.N&65535;break;case Sz:c=b.K&65535;break;case Tz:c=b.J&65535;break;case Uz:c=z(b)&65535;break;case oA:c=
|
||||
xe(b);break;case Vz+Wz:c=b.pa.T;break;case Vz+Xz:c=b.ba.T;break;case Vz+Yz:c=b.U.T;break;case Vz+Zz:c=b.Fa.T;break;default:if(80286==this.G.da)a==jA&&(c=b.ra);else if(80386<=this.G.da)switch(a){case bA:c=b.D;break;case cA:c=b.I;break;case dA:c=b.L;break;case eA:c=b.H;break;case fA:c=y(b);break;case gA:c=b.N;break;case hA:c=b.K;break;case iA:c=b.J;break;case jA:c=b.ra;break;case kA:c=b.Kg;break;case lA:c=b.pd;break;case mA:c=b.wc;break;case Vz+$z:c=b.Ka.T;break;case Vz+aA:c=b.La.T;break;case nA:c=
|
||||
z(b)}}}return c};
|
||||
function oA(a,b){b=Ly(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.bh(b,c+1),0<=e&&(b=b.substr(0,c)+Cz(a,e)+b.substr(c+1+Bz[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=qa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=vz(a,e))?(d=e+' "'+bz(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=vz(a,e))?(qz(a,d),
|
||||
d=e+' "'+bz(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+lz(Oy(this,z(this.G),this.G.ba.T))+" (%"+q(this.G.ea)+")");this.dc&536870912?this.Ba.push(a):this.Aa&&a==this.Aa||(this.Aa=a,this.dc&-2147483648&&(rk(this),a+=" (cpu halted)"),this.O(a),this.G&&(a=this.G,a.Z.Of=!0,Fd(a)))};
|
||||
function al(a,b,c,d){var e;d||(d=r(a,1)&&0>pA.indexOf(b),d||(e=qA[b])&&(d=r(a,e)?!0:524288==e&&r(a,e=1048576)));if(d){var f=a.G.D>>8&255;var g=a.G.L&255;if(33==b&&11==f||524288==e&&128<=g||1048576==e&&128>g)d=!1}d&&((e=(e=Yb[b])&&e[f]||"")&&(e=" "+oA(a,e)),a.message("INT "+va(b)+": AH="+va(f)+" at "+az(c-2-a.G.ba.ua,a.G.ba.T)+e));return d}
|
||||
function Ub(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.dc&h)==h)h=null,null!=e&&(h=a.G.ba.T,e-=a.G.ba.ua),a.message(b.ye+"."+(null!=d?"outPort":"inPort")+"("+wa(c)+","+(f?f:"unknown")+(null!=d?","+va(d):"")+")"+(null!=g?": "+va(g):"")+(null!=e?" at "+az(e,h):""))}l.eh=function(){this.O("Type ? for help with PCx86 Debugger commands");rA(this);if(this.Ka){var a=this.Ka;this.Ka=null;Sy(this,a)}};
|
||||
function Qy(a,b){var c;if(Og(a)){if(!a.U||!a.U.length){a.U=Array(sA);for(c=0;c<a.U.length;c++)a.U[c]=Oy(a);a.qa=0;b||a.O("instruction history buffer allocated")}if(!a.M||!a.M.length)for(a.M=Array(256),c=0;c<a.M.length;c++)a.M[c]=[c,0]}else a.U&&a.U.length&&!b&&a.O("instruction history buffer freed"),a.qa=0,a.U=[],a.M=[]}
|
||||
function mz(a,b,c,d){if(!tA(a))return!1;a.P=0;do{b||Og(a)&&Rg(a,a.G.ea,0);try{var e=a.G.Hg(b);0<e&&(a.P+=e,Nd(a.G,e,!0),Id(a.G,e),a.ba++)}catch(g){if("number"!=typeof g){var f=g;a.P=0;Mb(a.G,f.stack||f.message)}}}while(a.G.M&3312);!1!==d&&Fd(a.G);rA(a,c||!1);return 0<a.P}function rk(a,b){return a.G&&Gd(a.G,b)||!1}function rA(a,b){void 0===b&&(b=!0);a.N=Oy(a,z(a.G),a.G.ba.T);b&&1!=a.K?uA(a):vA(a)}
|
||||
function tA(a,b){var c;(c=!a.G||!Ob(a.G))||(c=a.G,c.Z.ac?c=!0:(c.O(c.toString()+" not powered"),c=!1),c=!c);return c||a.G.Z.Xa?(b||a.O("cpu busy or unavailable, command ignored"),!1):!Nb(a.G)}l.$b=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Zb=function(a,b){b&&this.O(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Qy(this);this.ba=this.ka=0;this.Aa=null;this.P=0;this.N=Oy(this,z(this.G),this.G.ba.T);wA(this);a||this.Z.Xa||rA(this)};
|
||||
l.save=function(){var a=new ag(this);a.set(0,sz(this.N));a.set(1,sz(this.Ca));a.set(2,sz(this.ea));a.set(3,[this.C,this.fa,this.dc]);a.set(4,this.F);a.set(5,[this.B,this.V,this.L]);return a.data()};
|
||||
l.restore=function(a){var b=0;a[b]&&(this.N=tz(a[b++]));a[5]&&(this.Ca=tz(a[b++]));a[b]&&(this.ea=tz(a[b++]));a[b]&&(this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.fa=a[b][1],this.dc|=a[b][2],b++);a[b]&&(this.F=a[b++]);a[b]&&(xA(this,this.B,a[b][0]),xA(this,this.V,a[b][1]),xA(this,this.L,a[b][2]));return!0};l.start=function(a,b){this.K||this.O("running");this.Z.Xa=!0;this.lb=a;this.hd=b};
|
||||
l.stop=function(a,b){if(this.Z.Xa){this.Z.Xa=!1;this.P=b-this.hd;if(!this.K){b="stopped";if(this.P){a-=this.lb;var c=0<a?Math.round(1E3*this.P/a):0;b+=" (";Og(this)&&(b+=this.ba+" opcodes, ",this.ka-=this.ba,this.ba=0);b+=this.P+" cycles, "+a+" ms, "+c+" hz)"}else r(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.O(b)}rA(this,!0);this.cd();wA(this,this.G.ea)}};function Og(a){return 1<a.B.length||!!a.wa||r(a,16)}
|
||||
function Rg(a,b,c){var d=a.G;if(0<c&&(a.wa&&!--a.wa||yA(a,b,1,a.B)))return!0;0<=c&&a.M.length&&(a.ba++,b=Ag(d,b),null!=b&&(a.M[b][1]++,b=a.U[a.qa],rz(a,b,z(d),d.ba.T),b.dj=Jd(d),++a.qa==a.U.length&&(a.qa=0)));return!1}function nd(a,b,c){return yA(a,b,c||1,a.V)?(rk(a,!0),!0):!1}function pd(a,b,c){return yA(a,b,c||1,a.L)?(rk(a,!0),!0):!1}function Sc(a,b,c){a.O("break on input from port "+wa(b)+": "+q(c));rk(a,!0)}function Wc(a,b,c){a.O("break on output to port "+wa(b)+": "+q(c));rk(a,!0)}
|
||||
function Py(a){var b;a.B=["bp"];if(a.V)for(b=1;b<a.V.length;b++){var c=a.V[b];pf(a.G,a.Vb(c),!1,c.type==pz)}a.V=["br"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],pf(a.G,a.Vb(c),!0,c.type==pz);a.L=["bw"];a.Ia=0}
|
||||
l.rd=function(a,b,c,d){var e=!0;c||kz(this,a,b,!1,!0);if(a!=this.B){var f=this.Vb(b);if(-1===f)this.O("invalid address: "+lz(b)),e=!1;else{var g=this.G,h=b.type==pz;(h?g.sc:g.aa)[f>>>g.lb].rd(f&g.Fb,a==this.L);h&&uc(g)}}e&&(a.push(b),c?(null!=b.za&&(b.T=null),b.wd=!0):(d||zA(this,a,a.length-1,"set"),Qy(this)));return e};
|
||||
function kz(a,b,c,d,e){for(var f=!1,g=AA(a,a.Vb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==AA(a,a.Vb(k))||-1===g&&c.T==k.T&&c.Ja==k.Ja)if(!d||k.wd){f=!0;k.wd||e||zA(a,b,h,"cleared");b.splice(h,1);b!=a.B&&pf(a.G,g,b==a.L,k.type==pz);k.wd||Qy(a);break}}return f}function BA(a,b){for(var c=1;c<b.length;c++)zA(a,b,c);return b.length-1}function zA(a,b,c,d){c=b[c];a.O(b[0]+" "+lz(c)+(d?" "+d:c.Sk?' "'+c.Sk+'"':""))}
|
||||
function xA(a,b,c){if(c[0]==b[0])for(var d=1;d<c.length;d++){var e=c[d];a.rd(b,e,e.wd,!0)}}function wA(a,b){if(void 0!==b)yA(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.wd){if(!kz(a,a.B,c,!0))break;b=0}}}function AA(a,b){-1!==b&&(a=a.xa&-65536,(b&a)==a&&(b&=1048575));return b}
|
||||
function yA(a,b,c,d,e){var f=!1;if(!a.Ia++){b=AA(a,b);r(a,-2147483632)&&204==Ag(a.G,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.wd){null!=h.T&&(h.za=null);for(var k=AA(a,a.Vb(h)),m=0;m<c;m++)if(b+m==k){var p;f=!0;h.wd&&(kz(a,d,h,!0),e=!0);if(p=h.kl){f=!1;for(var v=0;v<p.length;v++)if(!CA(a,p[v],!0)){if(p[v].indexOf("if")){f=!0;break}for(var u=v+1;u<p.length&&p[u].indexOf("else");u++)v++;if(u==p.length){f=!0;break}}a.G.Z.Xa||(f=!0)}if(f){e||zA(a,d,g,"hit");break}}}}}a.Ia--;return f}
|
||||
function DA(a,b,c,d){for(var e=Oy(a,b.Ja,b.T,b.za,b.type),f=a.ya(b,1),g=4,h=0,k=!1,m=!1;(102==f||103==f)&&g--;)102==f?k||(b.Jb=!b.Jb,k=!0):m||(b.ec=!b.ec,m=!0),h++,f=a.ya(b,1);g=-1;var p=EA;k=a.pa[f];m=k[0];m==FA&&(m=a.ya(b,1),k=GA[m]||Uy,f|=m<<8,m=k[0]);if(m==HA){g=a.ya(b,1);var v=null;var u=g>>3&7,A=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=A&&(A=u<<4|g&7);(u=IA[f])&&(v=u[A]);v&&(p=JA,k=v,m=k[0])}m>=p.length&&(g=a.ya(b,1),k=KA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Jb&&(m==LA?p=
|
||||
"CWDE":m==MA?p="CDQ":m>=NA&&m<=OA&&(p+="D"));if(164<=f&&167>=f||170<=f&&175>=f)u=0,b.Jb&&"W"==p.slice(-1)&&(p=p.slice(0,-1)+"D");f=-1;A=!0;for(var J=1;J<=u;J++){var H="";var G=k[J];if(void 0!==G){0>f&&(f=G>>PA);m==QA&&(f==RA?v="[%800]":f==SA&&(v="ES:["+(b.ec?"E":"")+"DI]"));var P=G&TA;if(P!=UA)if(P==VA)A=!1;else{var I=G&WA;if(I>=R)if(0>g&&(g=a.ya(b,1)),I<XA){I=a;H=G;var oa=u;G=b;var Z="",hb=g>>6,ra=g&7;if(3>hb){P=0==p.indexOf("FI");if(!hb&&(!G.ec&&6==ra||G.ec&&5==ra))hb=2;else{if(G.ec)if(4!=ra)ra+=
|
||||
8;else{Z=I;var ib=hb,Sb=G,Jb=Z.ya(Sb,1),cc=Jb>>6,vc=Jb>>3&7;Jb&=7;var jb="";if(ib||5!=Jb)jb=YA[Jb+8];4!=vc&&(jb&&(jb+="+"),jb+=YA[vc+8],cc&&(jb+="*"+(1<<cc)));ib||5!=Jb||(jb&&(jb+="+"),jb+=q(hz(Z,Sb,4)));Z=jb}Z||(Z=YA[ra])}1==hb?(I=I.ya(G,1),Z=I&128?Z+("-"+q(-(I<<24>>24),2)):Z+("+"+q(I,2))):2==hb&&(Z&&(Z+="+"),G.ec?(I=hz(I,G,4),Z+=q(I)):(I=I.Vc(G,2),Z+=q(I,4)));Z="["+Z+"]";if(1==oa){I="";H&=TA;H==S&&(H=G.Jb?ZA:T);switch(H){case $A:I="FAR";break;case U:I="BYTE";break;case T:if(P){I="INT16";break}I=
|
||||
"WORD";break;case ZA:I="DWORD";break;case aB:if(P){I="INT32";break}case bB:I="REAL32";break;case cB:if(P){I="INT64";break}case dB:I="REAL64";break;case eB:I="REAL80";break;case fB:I="BCD80"}I&&(Z=I+" "+Z)}}else Z=gB(I,ra,H,G);H=Z}else H=I==XA?gB(a,g&7,G,b):gB(a,g>>3&7,G,b);else if(I==hB)H="1";else if(I==V){H=a;P=G;I=b;G=" ";switch(P&TA){case U:P&W&&(G=q(H.ya(I,1),2));break;case iB:G=q(H.ya(I,1)<<24>>24,I.Jb?8:4);break;case S:if(I.Jb){G=q(hz(H,I,4));break}case T:G=q(H.Vc(I,2),4);break;case $A:I=Oy(H,
|
||||
H.nb(I,!0),H.Vc(I,2),null,I.type,I.Jb,I.ec);G=lz(I);H=jB(H,I);H[0]&&(G+=" ("+H[0]+")");break;default:G="imm("+wa(P)+")"}H=G}else I==kB?(b.ec?(H=8,G=hz(a,b,4)):(H=4,G=a.Vc(b,2)),H="["+q(G,H)+"]"):I==lB?(H=P==U?a.ya(b,1)<<24>>24:a.nb(b,!0),G=b.Ja+H&(b.Jb?-1:65535),H=q(G,b.Jb?8:4),G=jB(a,Oy(a,G,b.T)),G[0]&&(H+=" ("+G[0]+")")):I==X?H=P==mB?"ST":P==nB?"ST("+(g&7)+")":gB(a,(G&oB)>>8,G,b):I==pB?H=gB(a,(G&oB)>>8,qB,b):I==rB?H="DS:[SI]":I==sB&&(H="ES:[DI]");if(!H||!H.length){v="INVALID";break}0<v.length&&
|
||||
(v+=",");v+=H||"???"}}}g="";k=lz(e)+" ";if(-1!==e.za&&-1!==b.za){do if(g+=q(a.ya(e,1),2),null==e.za)break;while(e.za!=b.za)}k+=Ca(g,e.ec?25:17);k+=Ca(p,8);v&&(k+=" "+v);a.G.da<tB[f]&&(c=tB[f]+" CPU only");c&&A&&(k=Ca(k,e.ec?74:62)+";"+c,k=a.G.Z.He?k+("cycles="+Jd(a.G).toString()+" cs="+q(a.G.Y.tf)):k+(null!=d?"="+d.toString():""));uB(b,A,h);return k}
|
||||
function gB(a,b,c,d){var e=c&WA;if(e==qB){if(b>$z||b>=Zz&&80386>a.G.da)return"??";b+=Uz}else if(e==vB)b+=iA;else if(e==wB)b+=xB;else if(e==yB)b+=zB;else if(a=c&TA,a>=T&&(b<Lz&&(b+=Lz-Dz),a==ZA||a==S&&d.Jb))b+=aA-Lz;return Bz[b]}
|
||||
function AB(a,b){switch(b){case "V":a=mg(a.G);break;case "D":a=a.G.P&1024;break;case "I":a=a.G.P&512;break;case "T":a=a.G.P&256;break;case "S":a=lg(a.G);break;case "Z":a=kg(a.G);break;case "A":a=jg(a.G);break;case "P":a=ig(a.G);break;case "C":a=hg(a.G);break;default:a=0}return b+(a?"1":"0")+" "}function $y(a){return q(a,a&-65536?8:4)}function BB(a,b){b>=Lz&&b<=Sz&&4<a.ra&&(b+=aA-Lz);var c=Bz[b];b==iA&&80286==a.G.da&&(c="MS");return c+"="+Cz(a,b)+" "}
|
||||
function CB(a,b,c){return b.hc+"="+q(b.T,4)+(c?"["+q(b.ua,a.la)+","+$y(b.Sa)+"]":"")}function DB(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.la)+","+q(e-d,4)+"]"}
|
||||
function EB(a,b){void 0===b&&(b=nz(a));var c=BB(a,Lz)+BB(a,Oz)+BB(a,Mz)+BB(a,Nz)+(4<a.ra?"\n":"")+BB(a,Pz)+BB(a,Qz)+BB(a,Rz)+BB(a,Sz)+"\n"+CB(a,a.G.U,b)+" "+CB(a,a.G.Fa,b)+" "+CB(a,a.G.pa,b)+" ";if(b){var d="TR="+q(a.G.ka.T,4),e=a.oa;e="A20="+(e.J||e.N!=e.C?"OFF ":"ON ");80386>a.G.da&&(d="\n"+d,c+=e,e="");c+="\n"+CB(a,a.G.ba,b)+" ";80386<=a.G.da&&(e+="\n",c+=CB(a,a.G.Ka,b)+" "+CB(a,a.G.La,b)+"\n");c+=DB(a,"LD",a.G.Gb.T,a.G.Gb.ua,a.G.Gb.ua+a.G.Gb.Sa)+" "+DB(a,"GD",null,a.G.Kb,a.G.Jc)+" "+DB(a,"ID",
|
||||
null,a.G.Qb,a.G.$c)+" ";c=c+(d+" "+e)+BB(a,iA);80386<=a.G.da&&(c+=BB(a,kA)+BB(a,lA))}else 80386<=a.G.da&&(c+=CB(a,a.G.Ka,b)+" "+CB(a,a.G.La,b)+" ");return c+=BB(a,nA)+AB(a,"V")+AB(a,"D")+AB(a,"I")+AB(a,"T")+AB(a,"S")+AB(a,"Z")+AB(a,"A")+AB(a,"P")+AB(a,"C")}l.bj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function pA(a,b){b=My(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.bh(b,c+1),0<=e&&(b=b.substr(0,c)+Dz(a,e)+b.substr(c+1+Cz[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=qa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=wz(a,e))?(d=e+' "'+cz(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=wz(a,e))?(rz(a,d),
|
||||
d=e+' "'+cz(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+mz(Py(this,z(this.G),this.G.ba.T))+" (%"+q(this.G.ea)+")");this.dc&536870912?this.Ba.push(a):this.Aa&&a==this.Aa||(this.Aa=a,this.dc&-2147483648&&(rk(this),a+=" (cpu halted)"),this.O(a),this.G&&(a=this.G,a.Z.Of=!0,Fd(a)))};
|
||||
function al(a,b,c,d){var e;d||(d=r(a,1)&&0>qA.indexOf(b),d||(e=rA[b])&&(d=r(a,e)?!0:524288==e&&r(a,e=1048576)));if(d){var f=a.G.D>>8&255;var g=a.G.L&255;if(33==b&&11==f||524288==e&&128<=g||1048576==e&&128>g)d=!1}d&&((e=(e=Yb[b])&&e[f]||"")&&(e=" "+pA(a,e)),a.message("INT "+va(b)+": AH="+va(f)+" at "+bz(c-2-a.G.ba.ua,a.G.ba.T)+e));return d}
|
||||
function Ub(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.dc&h)==h)h=null,null!=e&&(h=a.G.ba.T,e-=a.G.ba.ua),a.message(b.ye+"."+(null!=d?"outPort":"inPort")+"("+wa(c)+","+(f?f:"unknown")+(null!=d?","+va(d):"")+")"+(null!=g?": "+va(g):"")+(null!=e?" at "+bz(e,h):""))}l.eh=function(){this.O("Type ? for help with PCx86 Debugger commands");sA(this);if(this.Ka){var a=this.Ka;this.Ka=null;Ty(this,a)}};
|
||||
function Ry(a,b){var c;if(Og(a)){if(!a.U||!a.U.length){a.U=Array(tA);for(c=0;c<a.U.length;c++)a.U[c]=Py(a);a.qa=0;b||a.O("instruction history buffer allocated")}if(!a.M||!a.M.length)for(a.M=Array(256),c=0;c<a.M.length;c++)a.M[c]=[c,0]}else a.U&&a.U.length&&!b&&a.O("instruction history buffer freed"),a.qa=0,a.U=[],a.M=[]}
|
||||
function nz(a,b,c,d){if(!uA(a))return!1;a.P=0;do{b||Og(a)&&Rg(a,a.G.ea,0);try{var e=a.G.Hg(b);0<e&&(a.P+=e,Nd(a.G,e,!0),Id(a.G,e),a.ba++)}catch(g){if("number"!=typeof g){var f=g;a.P=0;Mb(a.G,f.stack||f.message)}}}while(a.G.M&3312);!1!==d&&Fd(a.G);sA(a,c||!1);return 0<a.P}function rk(a,b){return a.G&&Gd(a.G,b)||!1}function sA(a,b){void 0===b&&(b=!0);a.N=Py(a,z(a.G),a.G.ba.T);b&&1!=a.K?vA(a):wA(a)}
|
||||
function uA(a,b){var c;(c=!a.G||!Ob(a.G))||(c=a.G,c.Z.ac?c=!0:(c.O(c.toString()+" not powered"),c=!1),c=!c);return c||a.G.Z.Xa?(b||a.O("cpu busy or unavailable, command ignored"),!1):!Nb(a.G)}l.$b=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Zb=function(a,b){b&&this.O(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ry(this);this.ba=this.ka=0;this.Aa=null;this.P=0;this.N=Py(this,z(this.G),this.G.ba.T);xA(this);a||this.Z.Xa||sA(this)};
|
||||
l.save=function(){var a=new ag(this);a.set(0,tz(this.N));a.set(1,tz(this.Ca));a.set(2,tz(this.ea));a.set(3,[this.C,this.fa,this.dc]);a.set(4,this.F);a.set(5,[this.B,this.V,this.L]);return a.data()};
|
||||
l.restore=function(a){var b=0;a[b]&&(this.N=uz(a[b++]));a[5]&&(this.Ca=uz(a[b++]));a[b]&&(this.ea=uz(a[b++]));a[b]&&(this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.fa=a[b][1],this.dc|=a[b][2],b++);a[b]&&(this.F=a[b++]);a[b]&&(yA(this,this.B,a[b][0]),yA(this,this.V,a[b][1]),yA(this,this.L,a[b][2]));return!0};l.start=function(a,b){this.K||this.O("running");this.Z.Xa=!0;this.lb=a;this.hd=b};
|
||||
l.stop=function(a,b){if(this.Z.Xa){this.Z.Xa=!1;this.P=b-this.hd;if(!this.K){b="stopped";if(this.P){a-=this.lb;var c=0<a?Math.round(1E3*this.P/a):0;b+=" (";Og(this)&&(b+=this.ba+" opcodes, ",this.ka-=this.ba,this.ba=0);b+=this.P+" cycles, "+a+" ms, "+c+" hz)"}else r(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.O(b)}sA(this,!0);this.cd();xA(this,this.G.ea)}};function Og(a){return 1<a.B.length||!!a.wa||r(a,16)}
|
||||
function Rg(a,b,c){var d=a.G;if(0<c&&(a.wa&&!--a.wa||zA(a,b,1,a.B)))return!0;0<=c&&a.M.length&&(a.ba++,b=Ag(d,b),null!=b&&(a.M[b][1]++,b=a.U[a.qa],sz(a,b,z(d),d.ba.T),b.dj=Jd(d),++a.qa==a.U.length&&(a.qa=0)));return!1}function nd(a,b,c){return zA(a,b,c||1,a.V)?(rk(a,!0),!0):!1}function pd(a,b,c){return zA(a,b,c||1,a.L)?(rk(a,!0),!0):!1}function Sc(a,b,c){a.O("break on input from port "+wa(b)+": "+q(c));rk(a,!0)}function Wc(a,b,c){a.O("break on output to port "+wa(b)+": "+q(c));rk(a,!0)}
|
||||
function Qy(a){var b;a.B=["bp"];if(a.V)for(b=1;b<a.V.length;b++){var c=a.V[b];pf(a.G,a.Vb(c),!1,c.type==qz)}a.V=["br"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],pf(a.G,a.Vb(c),!0,c.type==qz);a.L=["bw"];a.Ia=0}
|
||||
l.rd=function(a,b,c,d){var e=!0;c||lz(this,a,b,!1,!0);if(a!=this.B){var f=this.Vb(b);if(-1===f)this.O("invalid address: "+mz(b)),e=!1;else{var g=this.G,h=b.type==qz;(h?g.sc:g.aa)[f>>>g.lb].rd(f&g.Fb,a==this.L);h&&uc(g)}}e&&(a.push(b),c?(null!=b.za&&(b.T=null),b.wd=!0):(d||AA(this,a,a.length-1,"set"),Ry(this)));return e};
|
||||
function lz(a,b,c,d,e){for(var f=!1,g=BA(a,a.Vb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==BA(a,a.Vb(k))||-1===g&&c.T==k.T&&c.Ja==k.Ja)if(!d||k.wd){f=!0;k.wd||e||AA(a,b,h,"cleared");b.splice(h,1);b!=a.B&&pf(a.G,g,b==a.L,k.type==qz);k.wd||Ry(a);break}}return f}function CA(a,b){for(var c=1;c<b.length;c++)AA(a,b,c);return b.length-1}function AA(a,b,c,d){c=b[c];a.O(b[0]+" "+mz(c)+(d?" "+d:c.Sk?' "'+c.Sk+'"':""))}
|
||||
function yA(a,b,c){if(c[0]==b[0])for(var d=1;d<c.length;d++){var e=c[d];a.rd(b,e,e.wd,!0)}}function xA(a,b){if(void 0!==b)zA(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.wd){if(!lz(a,a.B,c,!0))break;b=0}}}function BA(a,b){-1!==b&&(a=a.xa&-65536,(b&a)==a&&(b&=1048575));return b}
|
||||
function zA(a,b,c,d,e){var f=!1;if(!a.Ia++){b=BA(a,b);r(a,-2147483632)&&204==Ag(a.G,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.wd){null!=h.T&&(h.za=null);for(var k=BA(a,a.Vb(h)),m=0;m<c;m++)if(b+m==k){var p;f=!0;h.wd&&(lz(a,d,h,!0),e=!0);if(p=h.kl){f=!1;for(var v=0;v<p.length;v++)if(!DA(a,p[v],!0)){if(p[v].indexOf("if")){f=!0;break}for(var u=v+1;u<p.length&&p[u].indexOf("else");u++)v++;if(u==p.length){f=!0;break}}a.G.Z.Xa||(f=!0)}if(f){e||AA(a,d,g,"hit");break}}}}}a.Ia--;return f}
|
||||
function EA(a,b,c,d){for(var e=Py(a,b.Ja,b.T,b.za,b.type),f=a.ya(b,1),g=4,h=0,k=!1,m=!1;(102==f||103==f)&&g--;)102==f?k||(b.Jb=!b.Jb,k=!0):m||(b.ec=!b.ec,m=!0),h++,f=a.ya(b,1);g=-1;var p=FA;k=a.pa[f];m=k[0];m==GA&&(m=a.ya(b,1),k=HA[m]||Vy,f|=m<<8,m=k[0]);if(m==IA){g=a.ya(b,1);var v=null;var u=g>>3&7,A=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=A&&(A=u<<4|g&7);(u=JA[f])&&(v=u[A]);v&&(p=KA,k=v,m=k[0])}m>=p.length&&(g=a.ya(b,1),k=LA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Jb&&(m==MA?p=
|
||||
"CWDE":m==NA?p="CDQ":m>=OA&&m<=PA&&(p+="D"));if(164<=f&&167>=f||170<=f&&175>=f)u=0,b.Jb&&"W"==p.slice(-1)&&(p=p.slice(0,-1)+"D");f=-1;A=!0;for(var J=1;J<=u;J++){var H="";var G=k[J];if(void 0!==G){0>f&&(f=G>>QA);m==RA&&(f==SA?v="[%800]":f==TA&&(v="ES:["+(b.ec?"E":"")+"DI]"));var P=G&UA;if(P!=VA)if(P==WA)A=!1;else{var I=G&XA;if(I>=R)if(0>g&&(g=a.ya(b,1)),I<YA){I=a;H=G;var oa=u;G=b;var Z="",hb=g>>6,ra=g&7;if(3>hb){P=0==p.indexOf("FI");if(!hb&&(!G.ec&&6==ra||G.ec&&5==ra))hb=2;else{if(G.ec)if(4!=ra)ra+=
|
||||
8;else{Z=I;var ib=hb,Sb=G,Jb=Z.ya(Sb,1),cc=Jb>>6,vc=Jb>>3&7;Jb&=7;var jb="";if(ib||5!=Jb)jb=ZA[Jb+8];4!=vc&&(jb&&(jb+="+"),jb+=ZA[vc+8],cc&&(jb+="*"+(1<<cc)));ib||5!=Jb||(jb&&(jb+="+"),jb+=q(iz(Z,Sb,4)));Z=jb}Z||(Z=ZA[ra])}1==hb?(I=I.ya(G,1),Z=I&128?Z+("-"+q(-(I<<24>>24),2)):Z+("+"+q(I,2))):2==hb&&(Z&&(Z+="+"),G.ec?(I=iz(I,G,4),Z+=q(I)):(I=I.Vc(G,2),Z+=q(I,4)));Z="["+Z+"]";if(1==oa){I="";H&=UA;H==S&&(H=G.Jb?$A:T);switch(H){case aB:I="FAR";break;case U:I="BYTE";break;case T:if(P){I="INT16";break}I=
|
||||
"WORD";break;case $A:I="DWORD";break;case bB:if(P){I="INT32";break}case cB:I="REAL32";break;case dB:if(P){I="INT64";break}case eB:I="REAL64";break;case fB:I="REAL80";break;case gB:I="BCD80"}I&&(Z=I+" "+Z)}}else Z=hB(I,ra,H,G);H=Z}else H=I==YA?hB(a,g&7,G,b):hB(a,g>>3&7,G,b);else if(I==iB)H="1";else if(I==V){H=a;P=G;I=b;G=" ";switch(P&UA){case U:P&W&&(G=q(H.ya(I,1),2));break;case jB:G=q(H.ya(I,1)<<24>>24,I.Jb?8:4);break;case S:if(I.Jb){G=q(iz(H,I,4));break}case T:G=q(H.Vc(I,2),4);break;case aB:I=Py(H,
|
||||
H.nb(I,!0),H.Vc(I,2),null,I.type,I.Jb,I.ec);G=mz(I);H=kB(H,I);H[0]&&(G+=" ("+H[0]+")");break;default:G="imm("+wa(P)+")"}H=G}else I==lB?(b.ec?(H=8,G=iz(a,b,4)):(H=4,G=a.Vc(b,2)),H="["+q(G,H)+"]"):I==mB?(H=P==U?a.ya(b,1)<<24>>24:a.nb(b,!0),G=b.Ja+H&(b.Jb?-1:65535),H=q(G,b.Jb?8:4),G=kB(a,Py(a,G,b.T)),G[0]&&(H+=" ("+G[0]+")")):I==X?H=P==nB?"ST":P==oB?"ST("+(g&7)+")":hB(a,(G&pB)>>8,G,b):I==qB?H=hB(a,(G&pB)>>8,rB,b):I==sB?H="DS:[SI]":I==tB&&(H="ES:[DI]");if(!H||!H.length){v="INVALID";break}0<v.length&&
|
||||
(v+=",");v+=H||"???"}}}g="";k=mz(e)+" ";if(-1!==e.za&&-1!==b.za){do if(g+=q(a.ya(e,1),2),null==e.za)break;while(e.za!=b.za)}k+=Ca(g,e.ec?25:17);k+=Ca(p,8);v&&(k+=" "+v);a.G.da<uB[f]&&(c=uB[f]+" CPU only");c&&A&&(k=Ca(k,e.ec?74:62)+";"+c,k=a.G.Z.He?k+("cycles="+Jd(a.G).toString()+" cs="+q(a.G.Y.tf)):k+(null!=d?"="+d.toString():""));vB(b,A,h);return k}
|
||||
function hB(a,b,c,d){var e=c&XA;if(e==rB){if(b>aA||b>=$z&&80386>a.G.da)return"??";b+=Vz}else if(e==wB)b+=jA;else if(e==xB)b+=yB;else if(e==zB)b+=AB;else if(a=c&UA,a>=T&&(b<Mz&&(b+=Mz-Ez),a==$A||a==S&&d.Jb))b+=bA-Mz;return Cz[b]}
|
||||
function BB(a,b){switch(b){case "V":a=mg(a.G);break;case "D":a=a.G.P&1024;break;case "I":a=a.G.P&512;break;case "T":a=a.G.P&256;break;case "S":a=lg(a.G);break;case "Z":a=kg(a.G);break;case "A":a=jg(a.G);break;case "P":a=ig(a.G);break;case "C":a=hg(a.G);break;default:a=0}return b+(a?"1":"0")+" "}function az(a){return q(a,a&-65536?8:4)}function CB(a,b){b>=Mz&&b<=Tz&&4<a.ra&&(b+=bA-Mz);var c=Cz[b];b==jA&&80286==a.G.da&&(c="MS");return c+"="+Dz(a,b)+" "}
|
||||
function DB(a,b,c){return b.hc+"="+q(b.T,4)+(c?"["+q(b.ua,a.la)+","+az(b.Sa)+"]":"")}function EB(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.la)+","+q(e-d,4)+"]"}
|
||||
function FB(a,b){void 0===b&&(b=oz(a));var c=CB(a,Mz)+CB(a,Pz)+CB(a,Nz)+CB(a,Oz)+(4<a.ra?"\n":"")+CB(a,Qz)+CB(a,Rz)+CB(a,Sz)+CB(a,Tz)+"\n"+DB(a,a.G.U,b)+" "+DB(a,a.G.Fa,b)+" "+DB(a,a.G.pa,b)+" ";if(b){var d="TR="+q(a.G.ka.T,4),e=a.oa;e="A20="+(e.J||e.N!=e.C?"OFF ":"ON ");80386>a.G.da&&(d="\n"+d,c+=e,e="");c+="\n"+DB(a,a.G.ba,b)+" ";80386<=a.G.da&&(e+="\n",c+=DB(a,a.G.Ka,b)+" "+DB(a,a.G.La,b)+"\n");c+=EB(a,"LD",a.G.Gb.T,a.G.Gb.ua,a.G.Gb.ua+a.G.Gb.Sa)+" "+EB(a,"GD",null,a.G.Kb,a.G.Jc)+" "+EB(a,"ID",
|
||||
null,a.G.Qb,a.G.$c)+" ";c=c+(d+" "+e)+CB(a,jA);80386<=a.G.da&&(c+=CB(a,lA)+CB(a,mA))}else 80386<=a.G.da&&(c+=DB(a,a.G.Ka,b)+" "+DB(a,a.G.La,b)+" ");return c+=CB(a,oA)+BB(a,"V")+BB(a,"D")+BB(a,"I")+BB(a,"T")+BB(a,"S")+BB(a,"Z")+BB(a,"A")+BB(a,"P")+BB(a,"C")}l.bj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function jq(a,b,c,d,e,f,g,h){var k={},m=[],p;for(p in h){var v=h[p];"number"==typeof v&&(h[p]=v={o:v});var u=v.o,A=v.s,J=v.a;if(void 0!==u){void 0!==A&&(k.Ja=u,k.T=A,k.za=null,a.Vb(k),(k.za&-65536)==(a.oa.N&-65536)&&(k.za&=1048575),v.p=k.za);A=m;u=[u>>>0,p];var H=Fa(A,u,a.bj);0>H&&A.splice(-(H+1),0,u)}J&&(v.a=J.replace(/''/g,'"'))}a.F.push({fi:b,kn:c,T:d,Ja:e,za:f,Zm:g,Id:h,Li:m})}
|
||||
function jz(a,b,c){for(var d=0;d<a.F.length;d++){var e=a.F[d];if(!b||e.fi==b)if(b&&c==e.kn||!b&&c==e.T){a.F.splice(d,1);break}}}function jB(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Vb(b)>>>0,g=0;g<a.F.length;g++){var h=a.F[g],k=h.T,m=h.Ja>>>0,p=h.za;null!=p&&(p>>>=0);var v=h.Zm;48==k&&(k=40);if(k==b.T&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Fa(h.Li,[e],a.bj);0<=b?FB(a,g,b,d):c&&(b=~b,FB(a,g,b-1,d),FB(a,g,b,d));break}}return d}
|
||||
function FB(a,b,c,d){var e={},f=a.F[b].Li,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Id[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function GB(a,b){if("?"==b)a.O("frequency commands:"),a.O("\tclear\tclear all frequency counts");else{var c=0;if(a.M)if("clear"==b){for(b=0;b<a.M.length;b++)a.M[b]=[b,0];a.O("frequency data cleared");c++}else if(void 0!==b)a.O("unknown frequency command: "+b),c++;else{var d=a.M.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],f=d[b][1];f&&(a.O((EA[a.pa[e][0]]+" ").substr(0,5)+" ("+va(e)+"): "+f+" times"),c++)}}c||a.O("no frequency data available")}}
|
||||
function HB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return My(a)||a.O("no variables"),!0;if(!c[2])return My(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=Jy(a,c[3]);return void 0!==b?(a.I[c[1]]={value:b,Uo:void 0},!0):!1}a.O("invalid assignment:"+b);return!1}
|
||||
function IB(a,b,c){var d=null;if(b=vz(a,b,!0)){a.Vb(b);var e=jB(a,b,!0);if(e.length){var f;if(e[0]){var g="";(f=b.Ja-e[1])&&(g=" + "+wa(f));f=e[0]+" ("+az(e[1],b.T)+")"+g;c&&a.O(f);d=f}4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+wa(f)),f=e[4]+" ("+az(e[5],b.T)+")"+g,c&&a.O(f),d||(d=f))}else c&&a.O("no symbols")}return d}
|
||||
function JB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d=0,e=0,f=c?{}:vz(a,b[1]);if(f){var g=Dy(a,b[2],"drive #");if(void 0!==g){if(!c){d=Dy(a,b[3],"sector #");if(void 0===d)return;e=Dy(a,b[4],"# of sectors");void 0===e&&(e=1)}var h=a.cb;2<=g&&a.Pa&&(g-=2,h=a.Pa);if(h){var k=h.cj(g);if(k)if(k.va)if(c)KB(a.na),a.O(k.va.toJSON());else if(h.Uk(k,d,e)){var m=0,p=!1;for(b=lz(f);!p&&0<k.yb--;)(function(a,b){h.te(k,function(c){0>c?(a.O("out of data at address "+lz(b)),p=!0):(a.ub(b,c,1,!0),m++)})})(a,f);
|
||||
Fd(a.G,!0);a.O(m+" bytes read at "+b)}else a.O("sector "+d+" request out of range");else a.O("drive "+g+" not loaded");else a.O("invalid drive: "+g)}else a.O("disk controller not present")}}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")}
|
||||
function uA(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Kc&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{null==c&&(c=!0);if(b&&1<b.length){var d=b[1];if(a.Kc&&"fp"==d){c=a.Kc;var e=Ug(c);b=c.bc;for(var f=0;8>f;f++){var g=c;d=null;if(f<g.F.length){d=[];var h=g.B+f&7;d[0]=h;d[1]=wh(g,h);d[2]=g.F[h];h<<=1;d[3]=g.L[h];d[4]=g.L[h+1];g=Ah(g,d[3],d[4]);d[5]=g[0];d[6]=g[1];d[7]=g[2]}if(!d)break;
|
||||
a.O("ST"+f+": "+Ca(d[2].toFixed(15),24,!0)+" "+q(d[4])+","+q(d[3])+" ["+d[0]+":"+LB[d[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+ta(e,16)+" ("+wa(e)+") CW: "+ta(b,16)+" ("+wa(b)+")");return}if("p"==d)e=80286<=a.G.da;else{f=d.indexOf("=");if(0<f)b=d.substr(f+1),d=d.substr(0,f);else if(2<b.length)b=b[2];else{a.O("missing value for "+b[1]);return}g=Jy(a,b);if(void 0===g)return;f=!0;h=d.toUpperCase();"E"==h.charAt(0)&&4>=a.ra&&(h=null);switch(h){case "AL":a.G.D=
|
||||
function kz(a,b,c){for(var d=0;d<a.F.length;d++){var e=a.F[d];if(!b||e.fi==b)if(b&&c==e.kn||!b&&c==e.T){a.F.splice(d,1);break}}}function kB(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Vb(b)>>>0,g=0;g<a.F.length;g++){var h=a.F[g],k=h.T,m=h.Ja>>>0,p=h.za;null!=p&&(p>>>=0);var v=h.Zm;48==k&&(k=40);if(k==b.T&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Fa(h.Li,[e],a.bj);0<=b?GB(a,g,b,d):c&&(b=~b,GB(a,g,b-1,d),GB(a,g,b,d));break}}return d}
|
||||
function GB(a,b,c,d){var e={},f=a.F[b].Li,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Id[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function HB(a,b){if("?"==b)a.O("frequency commands:"),a.O("\tclear\tclear all frequency counts");else{var c=0;if(a.M)if("clear"==b){for(b=0;b<a.M.length;b++)a.M[b]=[b,0];a.O("frequency data cleared");c++}else if(void 0!==b)a.O("unknown frequency command: "+b),c++;else{var d=a.M.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],f=d[b][1];f&&(a.O((FA[a.pa[e][0]]+" ").substr(0,5)+" ("+va(e)+"): "+f+" times"),c++)}}c||a.O("no frequency data available")}}
|
||||
function IB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ny(a)||a.O("no variables"),!0;if(!c[2])return Ny(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=Ky(a,c[3]);return void 0!==b?(a.I[c[1]]={value:b,Uo:void 0},!0):!1}a.O("invalid assignment:"+b);return!1}
|
||||
function JB(a,b,c){var d=null;if(b=wz(a,b,!0)){a.Vb(b);var e=kB(a,b,!0);if(e.length){var f;if(e[0]){var g="";(f=b.Ja-e[1])&&(g=" + "+wa(f));f=e[0]+" ("+bz(e[1],b.T)+")"+g;c&&a.O(f);d=f}4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+wa(f)),f=e[4]+" ("+bz(e[5],b.T)+")"+g,c&&a.O(f),d||(d=f))}else c&&a.O("no symbols")}return d}
|
||||
function KB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d=0,e=0,f=c?{}:wz(a,b[1]);if(f){var g=Ey(a,b[2],"drive #");if(void 0!==g){if(!c){d=Ey(a,b[3],"sector #");if(void 0===d)return;e=Ey(a,b[4],"# of sectors");void 0===e&&(e=1)}var h=a.cb;2<=g&&a.Pa&&(g-=2,h=a.Pa);if(h){var k=h.cj(g);if(k)if(k.va)if(c)LB(a.na),a.O(hw(k.va));else if(h.Uk(k,d,e)){var m=0,p=!1;for(b=mz(f);!p&&0<k.yb--;)(function(a,b){h.te(k,function(c){0>c?(a.O("out of data at address "+mz(b)),p=!0):(a.ub(b,c,1,!0),m++)})})(a,f);Fd(a.G,
|
||||
!0);a.O(m+" bytes read at "+b)}else a.O("sector "+d+" request out of range");else a.O("drive "+g+" not loaded");else a.O("invalid drive: "+g)}else a.O("disk controller not present")}}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")}
|
||||
function vA(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Kc&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{null==c&&(c=!0);if(b&&1<b.length){var d=b[1];if(a.Kc&&"fp"==d){c=a.Kc;var e=Ug(c);b=c.bc;for(var f=0;8>f;f++){var g=c;d=null;if(f<g.F.length){d=[];var h=g.B+f&7;d[0]=h;d[1]=wh(g,h);d[2]=g.F[h];h<<=1;d[3]=g.L[h];d[4]=g.L[h+1];g=Ah(g,d[3],d[4]);d[5]=g[0];d[6]=g[1];d[7]=g[2]}if(!d)break;
|
||||
a.O("ST"+f+": "+Ca(d[2].toFixed(15),24,!0)+" "+q(d[4])+","+q(d[3])+" ["+d[0]+":"+MB[d[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+ta(e,16)+" ("+wa(e)+") CW: "+ta(b,16)+" ("+wa(b)+")");return}if("p"==d)e=80286<=a.G.da;else{f=d.indexOf("=");if(0<f)b=d.substr(f+1),d=d.substr(0,f);else if(2<b.length)b=b[2];else{a.O("missing value for "+b[1]);return}g=Ky(a,b);if(void 0===g)return;f=!0;h=d.toUpperCase();"E"==h.charAt(0)&&4>=a.ra&&(h=null);switch(h){case "AL":a.G.D=
|
||||
a.G.D&-256|g&255;break;case "AH":a.G.D=a.G.D&-65281|g<<8&255;break;case "AX":a.G.D=a.G.D&-65536|g&65535;break;case "BL":a.G.H=a.G.H&-256|g&255;break;case "BH":a.G.H=a.G.H&-65281|g<<8&255;break;case "BX":a.G.H=a.G.H&-65536|g&65535;break;case "CL":a.G.I=a.G.I&-256|g&255;break;case "CH":a.G.I=a.G.I&-65281|g<<8&255;break;case "CX":a.G.I=a.G.I&-65536|g&65535;break;case "DL":a.G.L=a.G.L&-256|g&255;break;case "DH":a.G.L=a.G.L&-65281|g<<8&255;break;case "DX":a.G.L=a.G.L&-65536|g&65535;break;case "SP":ne(a.G,
|
||||
y(a.G)&-65536|g&65535);break;case "BP":a.G.N=a.G.N&-65536|g&65535;break;case "SI":a.G.K=a.G.K&-65536|g&65535;break;case "DI":a.G.J=a.G.J&-65536|g&65535;break;case "DS":te(a.G,g);break;case "ES":ue(a.G,g);break;case "SS":me(a.G,g);break;case "CS":cg(a.G,g);a.N=Oy(a,z(a.G),a.G.ba.T);break;case "IP":case "EIP":C(a.G,g);a.N=Oy(a,z(a.G),a.G.ba.T);break;case "PC":case "PS":ye(a.G,g);break;case "C":g?og(a.G):pg(a.G);break;case "P":g?(d=a.G,d.resultType&=-3,d.P|=4):(d=a.G,d.resultType&=-3,d.P&=-5);break;
|
||||
y(a.G)&-65536|g&65535);break;case "BP":a.G.N=a.G.N&-65536|g&65535;break;case "SI":a.G.K=a.G.K&-65536|g&65535;break;case "DI":a.G.J=a.G.J&-65536|g&65535;break;case "DS":te(a.G,g);break;case "ES":ue(a.G,g);break;case "SS":me(a.G,g);break;case "CS":cg(a.G,g);a.N=Py(a,z(a.G),a.G.ba.T);break;case "IP":case "EIP":C(a.G,g);a.N=Py(a,z(a.G),a.G.ba.T);break;case "PC":case "PS":ye(a.G,g);break;case "C":g?og(a.G):pg(a.G);break;case "P":g?(d=a.G,d.resultType&=-3,d.P|=4):(d=a.G,d.resultType&=-3,d.P&=-5);break;
|
||||
case "A":g?wg(a.G):ug(a.G);break;case "Z":g?xg(a.G):vg(a.G);break;case "S":g?(d=a.G,d.resultType&=-17,d.P|=128):(d=a.G,d.resultType&=-17,d.P&=-129);break;case "I":g?(d=a.G,d.P|=512):(d=a.G,d.P&=-513);break;case "D":g?(d=a.G,d.P|=1024):(d=a.G,d.P&=-1025);break;case "V":g?qg(a.G):rg(a.G);break;default:var k=!0;if(80286<=a.G.da)switch(k=!1,h){case "MS":yg(a.G,g);break;case "TR":-1===a.G.ka.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.G.da)switch(k=!1,h){case "EAX":a.G.D=g;break;case "EBX":a.G.H=g;
|
||||
break;case "ECX":a.G.I=g;break;case "EDX":a.G.L=g;break;case "ESP":ne(a.G,g);break;case "EBP":a.G.N=g;break;case "ESI":a.G.K=g;break;case "EDI":a.G.J=g;break;case "FS":a.G.Ka.load(g);break;case "GS":a.G.La.load(g);break;case "CR0":a.G.ra=g;fk.call(a.G,g);break;case "CR2":a.G.pd=g;break;case "CR3":a.G.wc=g;a.G.wc=g;uc(a.G);break;default:k=!0}}if(k){a.O("unknown register: "+d);return}}if(!f){a.O("invalid value: "+b);return}Fd(a.G);a.O("updated registers:")}}a.O(EB(a,e));c&&(a.N=Oy(a,z(a.G),a.G.ba.T),
|
||||
vA(a,lz(a.N)))}}function MB(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(oA(a,c[2])):Jy(a,b,!1)}function NB(a,b,c){for(var d=null,e=b.Ja,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ja=e;b.za=null;var h=DA(a,b);if(0<=h.indexOf("CALL")||c&&0<=h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ja=f;return d}
|
||||
function OB(a,b,c){var d="t"!=b;c=Dy(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);$a(c,function(){return Rb(a,!0)&&mz(a,e,d,!1)},function(){Fd(a.G);Rb(a,!1)})}function uB(a,b,c){if(a.Yg=b)null!=a.kj&&(a.Jb=a.kj),null!=a.jj&&(a.ec=a.jj),a.kj=a.Jb,a.jj=a.ec;a.De=c||0}
|
||||
function vA(a,b,c,d){if(b=vz(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=vz(a,c,!0);if(!d||d.Ja<b.Ja)return;e=d.Ja-b.Ja+1;0>e&&(e=1);4096<e&&(e=4096);d=-1}c=0;for(uB(b,!0);0<e&&d--;){var f=Qb(a,!1)||a.K?a.P:null;var g=null!=f?"cycles":null,h=jB(a,b),k=b.za;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=DA(a,b,g,f);b.Yg||d||d++;a.O(f);a.N=b;e-=b.za-k;c++}}}
|
||||
break;case "ECX":a.G.I=g;break;case "EDX":a.G.L=g;break;case "ESP":ne(a.G,g);break;case "EBP":a.G.N=g;break;case "ESI":a.G.K=g;break;case "EDI":a.G.J=g;break;case "FS":a.G.Ka.load(g);break;case "GS":a.G.La.load(g);break;case "CR0":a.G.ra=g;fk.call(a.G,g);break;case "CR2":a.G.pd=g;break;case "CR3":a.G.wc=g;a.G.wc=g;uc(a.G);break;default:k=!0}}if(k){a.O("unknown register: "+d);return}}if(!f){a.O("invalid value: "+b);return}Fd(a.G);a.O("updated registers:")}}a.O(FB(a,e));c&&(a.N=Py(a,z(a.G),a.G.ba.T),
|
||||
wA(a,mz(a.N)))}}function NB(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(pA(a,c[2])):Ky(a,b,!1)}function OB(a,b,c){for(var d=null,e=b.Ja,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ja=e;b.za=null;var h=EA(a,b);if(0<=h.indexOf("CALL")||c&&0<=h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ja=f;return d}
|
||||
function PB(a,b,c){var d="t"!=b;c=Ey(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);$a(c,function(){return Rb(a,!0)&&nz(a,e,d,!1)},function(){Fd(a.G);Rb(a,!1)})}function vB(a,b,c){if(a.Yg=b)null!=a.kj&&(a.Jb=a.kj),null!=a.jj&&(a.ec=a.jj),a.kj=a.Jb,a.jj=a.ec;a.De=c||0}
|
||||
function wA(a,b,c,d){if(b=wz(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=wz(a,c,!0);if(!d||d.Ja<b.Ja)return;e=d.Ja-b.Ja+1;0>e&&(e=1);4096<e&&(e=4096);d=-1}c=0;for(vB(b,!0);0<e&&d--;){var f=Qb(a,!1)||a.K?a.P:null;var g=null!=f?"cycles":null,h=kB(a,b),k=b.za;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=EA(a,b,g,f);b.Yg||d||d++;a.O(f);a.N=b;e-=b.za-k;c++}}}
|
||||
l.yg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else a=this.C[this.A+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Da(a.substring(d,f))),d=f+1}}return b};
|
||||
function CA(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.fa&&(a.O("ended assemble at "+lz(a.ea)),a.N=a.ea,a.fa=!1),b="";else if(!c){var e=">> ";a.G.ra&1&&(e=a.G.P&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Aa=null;if(Ob(a)&&0<b.length){a.fa&&(b="a "+lz(a.ea)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var v=
|
||||
vz(a,g[1],!0);if(v)if(a.ea=v,void 0===g[2])a.O("begin assemble at "+lz(v)),a.fa=!0,Fd(a.G);else{a.O("not supported yet");var u=[];if(u.length){for(var A=0;A<u.length;A++)a.ub(v,u[A],1);a.O(DA(a,a.ea))}}break;case "b":a:{var J=g[0],H=g[1],G=b;if("?"==H)a.O("breakpoint commands:"),a.O("\tbi [p]\ttoggle break on input port [p]"),a.O("\tbo [p]\ttoggle break on output port [p]"),a.O("\tbp [a]\tset exec breakpoint at addr [a]"),a.O("\tbr [a]\tset read breakpoint at addr [a]"),a.O("\tbw [a]\tset write breakpoint at addr [a]"),
|
||||
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var P=J.charAt(1);if("l"==P){var I=0+BA(a,a.B);I+=BA(a,a.V);(I+=BA(a,a.L))||a.O("no breakpoints")}else if("n"==P)a.wa=Dy(a,H),a.O("break after "+a.wa+" instruction(s)");else if(void 0===H)a.O("missing breakpoint address");else{var oa={};if("*"!=H&&(oa=vz(a,H,!0,!0),!oa))break a;H=null==oa.Ja?H:wa(oa.Ja);"c"==P?null==oa.Ja?(Py(a),a.O("all breakpoints cleared")):kz(a,
|
||||
a.B,oa)||kz(a,a.V,oa)||kz(a,a.L,oa)||a.O("breakpoint missing: "+lz(oa)):"i"==P?a.O("breakpoint "+(Oc(a.oa,oa.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==P?a.O("breakpoint "+(Tc(a.oa,oa.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=oa.Ja&&(yz(a,oa,G),"p"==P?a.rd(a.B,oa):"r"==P?a.rd(a.V,oa):"w"==P?a.rd(a.L,oa):a.O("unknown breakpoint command: "+P))}}}break;case "c":KB(a.na);break;case "d":a:{var Z=g,hb,ra=Z[0],ib=Z[1],Sb=Z[2],Jb=Z[3];if("?"==ib){var cc="";for(hb in Zb)a.Fa[hb]&&
|
||||
(cc&&(cc+=","),cc+=hb);cc+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");cc.length&&a.O("dump extension commands:\n\t"+cc)}else if("state"==ib){var vc=PB(a.na,!0);vc?"console"==Sb?console.log(vc):
|
||||
(KB(a.na),a.O(vc)):a.O("powerOff() error")}else if("symbols"==ib)for(var jb=0;jb<a.F.length;jb++){var gf=a.F[jb],Sd;for(Sd in gf.Id)if("."!=Sd.charAt(0)){var hf=gf.Id[Sd],Eg=hf.o;if(void 0!==Eg){var jf=hf.s;void 0===jf&&(jf=gf.T);var Fg=gf.Id[Sd].l;Fg&&(Sd=Fg);a.O(az(Eg,jf)+" "+Sd)}}}else{if("ds"==ra||"dg"==ra||"dl"==ra)ra="d",Z=[ra,"desc",ib];"d"==ra&&"page"==ib&&(ra="dp",Z.shift());if("dp"==ra){Z.shift();var Cm=Z[0];if(Cm){var Zg=a.Vb(vz(a,Cm));if(-1===Zg)a.O("invalid address: "+Cm);else{var tf,
|
||||
Ra=null;if(80386<=a.G.da){var uf=a.oa;Ra={};Ra.Dk=(Zg&-4194304)>>>20;Ra.Qi=a.G.wc+Ra.Dk;Ra.pb=uf.aa[(Ra.Qi&uf.C)>>>uf.A];Ra.wj=Ra.pb.Nd(Ra.Dk);Ra.Ek=(Zg&4190208)>>>10;Ra.Ri=(Ra.wj&-4096)+Ra.Ek;Ra.qb=uf.aa[(Ra.Ri&uf.C)>>>uf.A];Ra.xj=Ra.qb.Nd(Ra.Ek);Ra.ml=(Ra.xj&-4096)+(Zg&4095)}if(tf=Ra){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var ij="%"+q(Zg);ij+=" %%"+Az(tf.Qi,tf.wj);ij+=" %%"+
|
||||
Az(tf.Ri,tf.xj,!0);ij+=" %%"+q(tf.ml);a.O(ij)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ra){if("disk"==ib){Z[0]="l";Z[1]="json";JB(a,Z);break a}for(hb in Zb)if(Z[1]==hb){var Mt=a.Fa[hb];Mt?(Z.shift(),Z.shift(),Mt(Z)):a.O("no dump registered for "+ib);break a}ib||(ra=a.mb||"db")}if("dh"==ra){var Nt=ib,Ot=Sb,$g=Jb;$g=void 0===$g?"history":$g;var Pt="",Qt=0,Rc=a.qa,rd=a.U;if(rd.length){var Ac=+Nt||a.Ra,ah=+Ot||10;isNaN(Ac)?Ac=ah:Pt="more ";Ac>rd.length&&(a.O("note: only "+
|
||||
rd.length+" available"),Ac=rd.length);Rc-=Ac;0>Rc&&(null==rd[rd.length-1].T?(Ac=Rc+Ac,Rc=0):Rc+=rd.length);var Dm=[];"call"==Ot&&(ah=1E5,Dm=["CALL"]);for(void 0!==Nt&&a.O(Ac+" instructions earlier:");0<ah&&Rc!=a.qa;){var sd=rd[Rc++];if(null==sd.T)break;var bh=Oy(a,sd.Ja,sd.T,sd.za,sd.type,sd.Jb,sd.ec),Rt=Ac--;null!=sd.dj&&"cycles"==$g&&(Rt=sd.dj);var St=DA(a,bh,$g,Rt);(!Dm.length||0<=St.indexOf(Dm[0]))&&a.O(St);bh.De&&(Rc+=bh.De,ah-=bh.De,Ac-=bh.De);Rc>=rd.length&&(Rc=0);a.Ra=Ac;Qt++;ah--}}Qt||(a.O("no "+
|
||||
Pt+"history available"),a.Ra=void 0)}else if("di"==ra){Z.shift();var Em=Z[0];if(Em){var ch=Dy(a,Em);if(void 0===ch||0>ch||255<ch)a.O("invalid vector: "+Em);else{var Tt="&",Ut=!!(a.G.ra&1),Vt=!1,jj=a.G.Qb+(ch<<(Ut?3:2)),Wt=a.G.ja(jj+0),EC=a.G.ja(jj+2);Ut&&(Tt="#",a.G.ja(jj+4)&2048&&(Vt=!0,Wt|=a.G.ja(jj+6)<<16));a.O("dumpIDT("+wa(ch)+"): "+Tt+q(EC,4)+":"+q(Wt,Vt?8:4))}}else a.O("no IDT vector")}else if("dt"==ra)Z.shift(),a.O("no information");else if(ra[1]&&0>"abwd".indexOf(ra[1]))a.O("unrecognized dump command");
|
||||
else{a.mb=ra;var Fe=vz(a,ib);if(Fe&&(null!=Fe.T||null!=Fe.za)){var vf=0;if(Sb){if("l"==Sb.charAt(0))Sb=Sb.substr(1)||Jb,vf=Dy(a,Sb);else{var Xt=vz(a,Sb);if(!Xt)break a;vf=Xt.Ja-Fe.Ja+1}if(0>vf||65536<vf)vf=0}var Ge="",Fm=!1,wf="dd"==ra?4:"dw"==ra?2:1,dh=wf*vf||128,Gm=dh+15>>4||1,Hm=4==wf?16:a.D;"a"==ra[1]&&(Fm=!0,Gm=25,Hm=160,dh=Gm*Hm);for(;Gm--&&0<dh;){var kj=0,Im=0,eh,Jm="",lj="";ib=lz(Fe);for(eh=Hm;0<eh&&0<dh;eh--){var mj=a.ya(Fe,1);kj|=mj<<(Im++<<3);Im==wf&&(Jm+=8==a.D?ua(kj,3*wf):q(kj,2*wf),
|
||||
Jm+=1==wf?9==eh?"-":" ":" ",kj=Im=0);lj+=32<=mj&&128>mj?String.fromCharCode(mj):Fm?"":".";dh--}Ge&&(Ge+="\n");Ge=Fm?Ge+lj:Ge+(ib+" "+Jm+Ca(lj,lj.length+3*eh+1,!0))}Ge&&a.O(Ge.replace(/\s*$/,""));a.Ca=Fe}}}}}break;case "e":if("else"==g[0])break;var nj=1,Yt=255,Zt=a.ya,$t=a.ub;"ew"==g[0]&&(nj=2,Yt=65535,Zt=a.Vc,$t=a.al);var au=nj<<1,bu=g[1];if(null==bu)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var oj=vz(a,bu);if(oj)for(var pj=
|
||||
2;pj<g.length;pj++){var fh=Jy(a,g[pj]);if(void 0===fh){a.O("unrecognized value: "+g[pj]);break}fh&~Yt&&a.O("warning: "+q(fh)+" exceeds "+nj+"-byte value");var FC=Zt.call(a,oj);a.O("changing "+lz(oj)+" from "+q(FC,au,!0)+" to "+q(fh,au,!0));$t.call(a,oj,fh,nj)}}break;case "f":GB(a,g[1]);break;case "g":a:{var cu=g[1],GC=b;"gt"==g[0]&&(a.Ga=!0);if(void 0!==cu){var Km=vz(a,cu,!0);if(!Km)break a;yz(a,Km,GC);a.rd(a.B,Km,!0)}tA(a,c)&&Hd(a.G,!0,c)}break;case "h":rk(a)||Qb(a,!0)||c||a.O("already halted");
|
||||
break;case "i":if("if"==g[0]){var gh=b.substr(2);gh=Da(gh);if(Jy(a,gh)){c||a.O("true: "+gh);var du=!0}else c||a.O("false: "+gh),du=!1;du||(d=!1);break}if("int"==g[0]){a:switch(Dy(a,g[1])){case 19:al(a,19,a.G.ea,!0);a.ka=a.ba;var Lm=!0;break a;case 33:al(a,33,a.G.ea,!0);a.ka=a.ba;Lm=!0;break a;default:Lm=!1}Lm||(d=!1);break}var Mm=g[1];if(Mm&&"?"!=Mm){var Nm=Dy(a,Mm);if(void 0!==Nm){var HC=Qc(a.oa,Nm,1);a.O(wa(Nm)+": "+va(HC))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");
|
||||
break;case "k":var IC=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var Om=0,eu=a.G.ba.T,hh=Oy(a),$d=Oy(a,y(a.G),a.G.U.T);for(a.O("stack trace for "+lz($d));10>Om;){for(var td=null,JC=256;$d.Ja>>>0<a.G.Mg>>>0;){hh.Ja=a.nb($d,!0);if(null==$d.za||!JC--)break;hh.T=eu;if(td=NB(a,hh))break;hh.T=a.nb($d);if(td=NB(a,hh,!0)){eu=a.nb($d,!0);0<td.indexOf("INT")&&a.nb($d,!0);break}}if(!td||null==td)break;var fu=null;if("ks"==IC){var gu=
|
||||
td.match(/[0-9A-F]+$/);gu&&(fu=IB(a,gu[0]))}td=Ca(td,50)+" ;"+(fu||"stack="+lz($d));a.O(td);Om++}Om||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){IB(a,g[1],!0);break}JB(a,g);break;case "m":if("mouse"==g[0]){var Pm=g[1],qj=g[2];if(a.H){var hu=1;"-"==qj.charAt(0)&&(hu=-1,qj=qj.substr(1));var He=Dy(a,qj,Pm);if(void 0!==He)switch(He=He*hu|0,Pm){case "x":a.H.rf(He,0);break;case "y":a.H.rf(0,He);break;case "click":a.H.Xd(He,!0);a.H.Xd(He,!1);break;default:a.O("unknown action: "+Pm)}}else a.O("no mouse");
|
||||
break}a:{var ud,vd=null,eb=g[1];"?"==eb&&(eb=void 0);if(void 0!==eb){var ae=0;if("all"==eb)ae=1610481663,eb=null;else if("on"==eb)vd=!0,eb=null;else if("off"==eb)vd=!1,eb=null;else{"keys"==eb&&(eb="key");"kbd"==eb&&(eb="keyboard");for(ud in Zb)if(eb==ud){ae=Zb[ud];vd=!!(a.dc&ae);break}if(!ae){a.O("unknown message category: "+eb);break a}}if(ae)if("on"==g[2])a.dc|=ae,vd=!0;else if("off"==g[2]&&(a.dc&=~ae,vd=!1,536870912==ae)){for(var Qm=0;Qm<a.Ba.length;Qm++)a.O(a.Ba[Qm]);a.Ba=[]}}var KC=0,ih="";for(ud in Zb)if(!eb||
|
||||
eb==ud){var LC=!!(a.dc&Zb[ud]);if(null===vd||vd==LC)ih&&(ih+=","),++KC%10||(ih+="\n\t"),"key"==ud&&(ud="keys"),ih+=ud}void 0===eb&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==vd?vd?"messages on: ":"messages off: ":"message categories:\n\t")+(ih||"none"));Qy(a)}break;case "o":var Rm=g[1],MC=g[2];if(Rm&&"?"!=Rm){var Sm=Dy(a,Rm,"port #"),Tm=Dy(a,MC);void 0!==Sm&&void 0!==Tm&&(Vc(a.oa,Sm,1,Tm),a.O(wa(Sm)+": "+va(Tm)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),
|
||||
a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){MB(a,b.substr(5));break}var iu="pr"==g[0]?1:0,xf=1+iu;if(a.K)a.O("step in progress");else{var ju=!1,Lb=Oy(a,z(a.G),a.G.ba.T);do{var Um=!1;switch(a.ya(Lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:qz(a,Lb,1);Um=!0;break;case 204:case 206:a.K=xf;qz(a,Lb,1);break;case 205:case 224:case 225:case 226:a.K=xf;qz(a,Lb,Lb.Jb?4:2);break;case 232:a.K=xf;qz(a,Lb,Lb.Jb?5:3);break;case 154:a.K=
|
||||
xf;qz(a,Lb,Lb.Jb?7:5);break;case 255:var ku=a.nb(Lb)&14591;if(4351==ku||6399==ku)a.K=xf,DA(a,Lb);break;case 243:case 242:qz(a,Lb,1);ju=Um=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:ju&&(a.K=xf,qz(a,Lb,1))}}while(Um);a.K?(a.rd(a.B,Lb,!0),tA(a,void 0)&&Hd(a.G,void 0,void 0)||(a.na&&a.na.cd(),a.K=0)):OB(a,iu?"tr":"t")}break;case "r":if("reset"==b){a.na&&a.na.reset();break}uA(a,g);break;case "t":OB(a,g[0],g[1]);
|
||||
break;case "u":vA(a,g[1],g[2],8);break;case "v":if("var"==g[0]){HB(a,b.substr(3))||(d=!1);break}a.O("PCx86 version 1.37.0 ("+a.G.da+",RELEASE,NOPREFETCH"+(Vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(Oa());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var jh;void 0!==g[3]&&(jh=+g[3]);switch(g[2]){case "int":a.G.Y.Qe=jh;break;case "start":a.G.Y.vf=jh;break;case "stop":a.G.Y.Se=jh;break;default:a.O("unknown cs option");break a}void 0!==jh&&Ed(a.G);a.O("checksums "+(a.G.Z.He?"enabled":
|
||||
"disabled"));break;case "sp":void 0!==g[2]&&(Ld(a.G,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.G.Y.pe.toFixed(2)+"Mhz")+" ("+a.G.Y.Ad+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){MB(a,
|
||||
b.substr(1));break}var Vm="commands:",Wm;for(Wm in QB)Vm+="\n"+Ca(Wm,7)+QB[Wm];Og(a)||(Vm+="\nnote: frequency/history disabled if no exec breakpoints");a.O(Vm);break;default:a.O("unknown command: "+b),d=!1}}}catch(mu){a.O("debugger error: "+(mu.stack||mu.message)),d=!1}return d}function Sy(a,b,c){b=a.yg(b,c);for(var d in b)if(!CA(a,b[+d]))return!1;return!0}
|
||||
var qA={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},pA=[26,28,40,42,109],QB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
||||
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},wz=0,oz=1,Yy=2,zz=3,xz=4,pz=5,LA=18,MA=28,HA=36,QA=80,NA=104,OA=107,FA=176,EA="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
||||
JA="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
|
||||
LB=["VALID","ZERO ","SPEC ","EMPTY"],RA=2,SA=3,tB=[8086,80186,80286,80386],Dz=0,Ez=1,Fz=2,Gz=3,Hz=4,Iz=5,Jz=6,Kz=7,Lz=8,Mz=9,Nz=10,Oz=11,Pz=12,Qz=13,Rz=14,Sz=15,Uz=16,Tz=22,nA=23,aA=24,bA=25,cA=26,dA=27,eA=28,fA=29,gA=30,hA=31,iA=32,jA=33,kA=34,lA=35,xB=40,zB=48,mA=56,Bz=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2",
|
||||
"DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],Vz=0,Wz=1,Xz=2,Yz=3,Zz=4,$z=5,YA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),TA=15,WA=240,oB=3840,UA=0,U=1,iB=2,T=3,S=4,ZA=5,$A=7,VA=8,mB=9,nB=10,aB=11,bB=11,cB=12,dB=12,eB=13,fB=14,V=0,hB=16,kB=32,lB=48,rB=64,sB=80,X=96,pB=112,R=128,XA=160,qB=192,vB=208,wB=224,yB=240,RB=Dz<<8|X|U,SB=Ez<<8|X|U,TB=Lz<<8|X|S,UB=Mz<<8|X|S,VB=Nz<<8|X|S,WB=Oz<<8|X|S,XB=Pz<<8|X|S,YB=Qz<<8|X|S,ZB=Rz<<8|X|S,$B=
|
||||
Sz<<8|X|S,aC=Vz<<8|pB|T,bC=Wz<<8|pB|T,cC=Xz<<8|pB|T,dC=Yz<<8|pB|T,eC=Zz<<8|pB|T,fC=$z<<8|pB|T,W=12288,gC=RA<<14,Y=SA<<14,PA=14,sA=1E3,Uy=[0,UA],Vy=[FA,T|W],Ty=[[6,R|U|W,U|4272],[6,R|S|W,S|4272],[6,176|U|W,R|U|4096],[6,176|S|W,R|S|4096],[6,RB|W,V|U|4096],[6,TB|W,V|S|4096],[108,aC|4096],[103,aC|8192],[99,R|U|W,U|4272],[99,R|S|W,S|4272],[99,176|U|W,R|U|4096],[99,176|S|W,R|S|4096],[99,RB|W,V|U|4096],[99,TB|W,V|S|4096],[108,bC|4096],[103,bC|8192],[5,R|U|W,U|4272],[5,R|S|W,S|4272],[5,176|U|W,R|U|4096],
|
||||
[5,176|S|W,R|S|4096],[5,RB|W,V|U|4096],[5,TB|W,V|S|4096],[108,cC|4096],[103,cC|8192],[120,R|U|W,U|4272],[120,R|S|W,S|4272],[120,176|U|W,R|U|4096],[120,176|S|W,R|S|4096],[120,RB|W,V|U|4096],[120,TB|W,V|S|4096],[108,dC|4096],[103,dC|8192],[7,R|U|W,U|4272],[7,R|S|W,S|4272],[7,176|U|W,R|U|4096],[7,176|S|W,R|S|4096],[7,RB|W,V|U|4096],[7,TB|W,V|S|4096],[35,VA],[29],[154,R|U|W,U|4272],[154,R|S|W,S|4272],[154,176|U|W,R|U|4096],[154,176|S|W,R|S|4096],[154,RB|W,V|U|4096],[154,TB|W,V|S|4096],[27,VA],[30],[162,
|
||||
R|U|W,U|4272],[162,R|S|W,S|4272],[162,176|U|W,R|U|4096],[162,176|S|W,R|S|4096],[162,RB|W,V|U|4096],[162,TB|W,V|S|4096],[147,VA],[1],[24,R|U|4096,U|4272],[24,R|S|4096,S|4272],[24,U|4272,R|U|4096],[24,S|4272,R|S|4096],[24,RB|4096,V|U|4096],[24,TB|4096,V|S|4096],[33,VA],[4],[44,TB|W],[44,UB|W],[44,VB|W],[44,WB|W],[44,XB|W],[44,YB|W],[44,ZB|W],[44,$B|W],[31,TB|W],[31,UB|W],[31,VB|W],[31,WB|W],[31,XB|W],[31,YB|W],[31,ZB|W],[31,$B|W],[108,TB|4096],[108,UB|4096],[108,VB|4096],[108,WB|4096],[108,XB|4096],
|
||||
[108,YB|4096],[108,ZB|4096],[108,$B|4096],[103,TB|8192],[103,UB|8192],[103,VB|8192],[103,WB|8192],[103,XB|8192],[103,YB|8192],[103,ZB|8192],[103,$B|8192],[OA,UA|gC],[NA,UA|gC],[10,S|4272|gC,R|S|4096],[8,R|T|8192,T|4272],[37,VA|Y],[38,VA|Y],[100,VA|Y],[9,VA|Y],[108,V|S|4096|gC],[42,176|T|W|gC,R|S|4096,V|S|4096],[108,V|iB|4096|gC],[42,T|8368|gC,R|S|4096,V|U|4096],[45,sB|U|8192|gC,VB|4096],[45,sB|S|8192|gC,VB|4096],[102,VB|4096|gC,rB|U|4096],[102,VB|4096|gC,rB|S|4096],[64,lB|U|4096],[60,lB|U|4096],[51,
|
||||
lB|U|4096],[59,lB|U|4096],[67,lB|U|4096],[63,lB|U|4096],[50,lB|U|4096],[58,lB|U|4096],[66,lB|U|4096],[62,lB|U|4096],[65,lB|U|4096],[61,lB|U|4096],[55,lB|U|4096],[54,lB|U|4096],[56,lB|U|4096],[53,lB|U|4096],[163,R|U|W,V|U|4096],[164,R|S|W,V|S|4096],[163,R|U|W,V|U|4096],[165,R|S|W,V|U|4096],[155,R|U|4096,U|4272],[155,R|S|4096,S|4272],[160,176|U|W,R|U|W],[160,176|S|W,R|S|W],[90,R|U|8192,U|4272],[90,R|S|8192,S|4272],[90,U|8368,R|U|4096],[90,S|8368,R|S|4096],[90,R|S|8192,qB|T|4096],[71,S|8368,144|S],[90,
|
||||
qB|T|8192,R|S|4096],[103,R|S|8192],[97],[160,TB|W,UB|W],[160,TB|W,VB|W],[160,TB|W,WB|W],[160,TB|W,XB|W],[160,TB|W,YB|W],[160,TB|W,ZB|W],[160,TB|W,$B|W],[LA],[MA],[17,V|$A|4096],[158],[106],[105],[117],[68],[90,RB|8192,kB|U|4096],[90,TB|8192,kB|S|4096],[90,kB|U|8192,RB|4096],[90,kB|S|8192,TB|4096],[91,sB|U|8192,rB|U|4096],[92,sB|S|8192,rB|S|4096],[25,sB|U|4096,rB|U|4096],[26,sB|S|4096,rB|S|4096],[155,RB|4096,V|U|4096],[155,TB|4096,V|S|4096],[151,sB|U|8192,RB|4096],[152,sB|S|8192,TB|4096],[82,RB|8192,
|
||||
rB|U|4096],[83,TB|8192,rB|S|4096],[121,RB|4096,sB|U|4096],[122,TB|4096,sB|S|4096],[90,RB|8192,V|U|4096],[90,SB|8192,V|U|4096],[90,Fz<<8|X|U|8192,V|U|4096],[90,Gz<<8|X|U|8192,V|U|4096],[90,Hz<<8|X|U|8192,V|U|4096],[90,Iz<<8|X|U|8192,V|U|4096],[90,Jz<<8|X|U|8192,V|U|4096],[90,Kz<<8|X|U|8192,V|U|4096],[90,TB|8192,V|S|4096],[90,UB|8192,V|S|4096],[90,VB|8192,V|S|4096],[90,WB|8192,V|S|4096],[90,XB|8192,V|S|4096],[90,YB|8192,V|S|4096],[90,ZB|8192,V|S|4096],[90,$B|8192,V|S|4096],[166,R|U|W|16384,V|U|4096],
|
||||
[167,R|S|W|16384,V|U|4096],[113,V|T|4096],[113],[73,S|8368,4246],[70,S|8368,4246],[90,R|U|8192,V|U|4096],[90,R|S|8192,V|S|4096],[34,V|T|4096|gC,V|U|4096],[72,UA|gC],[114,V|T|4096],[114],[47],[46,V|U|4096],[48],[49],[168,R|U|W,hB|U|4096],[169,R|S|W,hB|U|4096],[170,R|U|W,SB|4096],[171,R|S|W,SB|4096],[3,V|U],[2,V|U],[118],[161],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[HA,R|S|4096],[85,lB|U|4096],[86,lB|U|4096],[84,lB|U|4096],[52,lB|U|4096],[43,
|
||||
RB|8192,V|U|4096],[43,TB|8192,V|U|4096],[101,V|U|4096,RB|4096],[101,V|U|4096,TB|4096],[17,lB|S|4096],[57,lB|S|4096],[57,V|$A|4096],[57,lB|U|4096],[43,RB|8192,VB|T|4096],[43,TB|8192,VB|T|4096],[101,VB|T|4096,RB|4096],[101,VB|T|4096,TB|4096],[81,VA],[0],[111,VA],[112,VA],[39],[23],[172,R|U|W],[173,R|S|W],[19],[148],[21],[150],[20],[149],[174,R|U|W],[175,R|S|W]],GA={0:[177,R|T|W],1:[178,R|T|W],2:[69,T|8368|gC,T|4240],3:[87,T|8368|gC,T|4240],5:[QA,gC],6:[22,gC],7:[QA,Y],32:[90,XA|ZA|8192|Y,vB|ZA|4096],
|
||||
33:[90,XA|ZA|8192|Y,wB|ZA|4096],34:[90,vB|ZA|8192|Y,XA|ZA|4096],35:[90,wB|ZA|8192|Y,XA|ZA|4096],36:[90,XA|ZA|8192|Y,yB|ZA|4096],38:[90,yB|ZA|8192|Y,XA|ZA|4096],128:[64,lB|S|4096|Y],129:[60,lB|S|4096|Y],130:[51,lB|S|4096|Y],131:[59,lB|S|4096|Y],132:[67,lB|S|4096|Y],133:[63,lB|S|4096|Y],134:[50,lB|S|4096|Y],135:[58,lB|S|4096|Y],136:[66,lB|S|4096|Y],137:[62,lB|S|4096|Y],138:[65,lB|S|4096|Y],139:[61,lB|S|4096|Y],140:[55,lB|S|4096|Y],141:[54,lB|S|4096|Y],142:[56,lB|S|4096|Y],143:[53,lB|S|4096|Y],144:[135,
|
||||
R|U|8192|Y],145:[131,R|U|8192|Y],146:[124,R|U|8192|Y],147:[130,R|U|8192|Y],148:[138,R|U|8192|Y],149:[134,R|U|8192|Y],150:[123,R|U|8192|Y],151:[129,R|U|8192|Y],152:[137,R|U|8192|Y],153:[133,R|U|8192|Y],154:[136,R|U|8192|Y],155:[132,R|U|8192|Y],156:[127,R|U|8192|Y],157:[126,R|U|8192|Y],158:[128,R|U|8192|Y],159:[125,R|U|8192|Y],160:[108,eC|4096|Y],161:[103,eC|8192|Y],163:[13,R|S|4096|Y,S|4272],164:[141,R|S|8192|Y,S|4272,V|U|4096],165:[141,R|S|8192|Y,S|4272,SB|4096],166:[159,S|8368|Y,R|S|4096,TB|4096,
|
||||
SB|4096],167:[40,R|S|8192|Y,TB|4096,SB|4096,S|4272],168:[108,fC|4096|Y],169:[103,fC|8192|Y],171:[16,R|S|8192|Y,S|4272],172:[143,R|S|8192|Y,S|4272,V|U|4096],173:[143,R|S|8192|Y,S|4272,SB|4096],175:[42,R|S|W|Y,S|4272],178:[88,S|8368,4246],179:[15,R|S|8192|Y,S|4272],180:[74,S|8368,4246],181:[76,S|8368,4246],182:[94,S|8368|Y,R|U|4096],183:[94,ZA|8368|Y,R|T|4096],186:[179,R|S|W|Y,V|U|4096],187:[14,R|S|8192|Y,S|4272],188:[11,S|8368|Y,R|S|4096],189:[12,S|8368|Y,R|S|4096],190:[93,S|8368|Y,R|U|4096],191:[93,
|
||||
ZA|8368|Y,R|T|4096]},IA={216:{0:[9,R|bB|4096],1:[18,R|bB|4096],2:[34,R|bB|4096],3:[35,R|bB|4096],4:[12,R|bB|4096],5:[15,R|bB|4096],6:[21,R|bB|4096],7:[24,R|bB|4096],48:[9,X|mB|8192,X|nB|4096],49:[18,X|mB|8192,X|nB|4096],50:[34,X|mB|8192,X|nB|4096],51:[35,X|mB|8192,X|nB|4096],52:[12,X|mB|8192,X|nB|4096],53:[15,X|mB|8192,X|nB|4096],54:[21,X|mB|8192,X|nB|4096],55:[24,X|mB|8192,X|nB|4096]},217:{0:[0,R|bB|4096],2:[1,R|bB|8192],3:[2,R|bB|8192],4:[68,R|4111],5:[59,R|T|4096],6:[66,R|8207],7:[60,R|T|8192],
|
||||
48:[0,X|nB|8192],49:[3,X|nB|8192],50:[76],51:[2,X|nB|8192],64:[33],65:[32],68:[39],69:[40],80:[47],81:[49],82:[50],83:[48],84:[51],85:[52],86:[46],96:[43],97:[44],98:[41],99:[42],100:[31],102:[73],103:[72],112:[29],113:[45],114:[27],116:[30],117:[28]},218:{0:[11,R|aB|4096],1:[20,R|aB|4096],2:[37,R|aB|4096],3:[38,R|aB|4096],4:[14,R|aB|4096],5:[17,R|aB|4096],6:[23,R|aB|4096],7:[26,R|aB|4096]},219:{0:[4,R|aB|4096],2:[5,R|aB|8192],3:[6,R|aB|8192],5:[0,R|eB|4096],7:[2,R|eB|8192],64:[57],65:[55],66:[64],
|
||||
67:[53],68:[78,gC],115:[79,Y]},220:{0:[9,R|dB|4096],1:[18,R|dB|4096],2:[34,R|dB|4096],3:[35,R|dB|4096],4:[12,R|dB|4096],5:[15,R|dB|4096],6:[21,R|dB|4096],7:[24,R|dB|4096],48:[9,X|nB|8192,X|mB|4096],49:[18,X|nB|8192,X|mB|4096],50:[34,X|nB|4096],51:[35,X|nB|4096],52:[15,X|nB|8192,X|mB|4096],53:[12,X|nB|8192,X|mB|4096],54:[24,X|nB|8192,X|mB|4096],55:[21,X|nB|8192,X|mB|4096]},221:{0:[0,R|dB|4096],2:[1,R|dB|8192],3:[2,R|dB|8192],4:[71,R|4111],6:[69,R|8207],7:[62,R|T|8192],48:[74,X|nB|4096],49:[3,X|nB|
|
||||
8192],50:[1,X|nB|4096],51:[2,X|nB|4096]},222:{0:[11,R|T|4096],1:[20,R|T|4096],2:[37,R|T|4096],3:[38,R|T|4096],4:[14,R|T|4096],5:[17,R|T|4096],6:[23,R|T|4096],7:[26,R|T|4096],48:[10,X|nB|8192,X|mB|4096],49:[19,X|nB|8192,X|mB|4096],50:[35,X|nB|4096],51:[36,X|nB|4096],52:[16,X|nB|8192,X|mB|4096],53:[13,X|nB|8192,X|mB|4096],54:[25,X|nB|8192,X|mB|4096],55:[22,X|nB|8192,X|mB|4096]},223:{0:[4,R|T|4096],2:[5,R|T|8192],3:[6,R|T|8192],4:[7,R|fB|4096],5:[4,R|cB|4096],6:[8,R|fB|8192],7:[6,R|cB|8192],48:[75,X|
|
||||
nB|4096],49:[3,X|nB|8192],50:[2,X|nB|4096],51:[2,X|nB|4096],52:[80,gC]}},KA=[[[6,R|U|W,V|U|4096],[99,R|U|W,V|U|4096],[5,R|U|W,V|U|4096],[120,R|U|W,V|U|4096],[7,R|U|W,V|U|4096],[154,R|U|W,V|U|4096],[162,R|U|W,V|U|4096],[24,R|U|4096,V|U|4096]],[[6,R|S|W,V|S|4096],[99,R|S|W,V|S|4096],[5,R|S|W,V|S|4096],[120,R|S|W,V|S|4096],[7,R|S|W,V|S|4096],[154,R|S|W,V|S|4096],[162,R|S|W,V|S|4096],[24,R|S|4096,V|S|4096]],[[6,R|S|W,V|iB|4096],[99,R|S|W,V|iB|4096],[5,R|S|W,V|iB|4096],[120,R|S|W,V|iB|4096],[7,R|S|W,V|
|
||||
iB|4096],[154,R|S|W,V|iB|4096],[162,R|S|W,V|iB|4096],[24,R|S|4096,V|iB|4096]],[[115,R|U|W|gC,V|U|4096],[116,R|U|W|gC,V|U|4096],[109,R|U|W|gC,V|U|4096],[110,R|U|W|gC,V|U|4096],[140,R|U|W|gC,V|U|4096],[142,R|U|W|gC,V|U|4096],Uy,[119,R|U|W|gC,V|U|4096]],[[115,R|S|W|gC,V|U|4096],[116,R|S|W|gC,V|U|4096],[109,R|S|W|gC,V|U|4096],[110,R|S|W|gC,V|U|4096],[140,R|S|W|gC,V|U|4096],[142,R|S|W|gC,V|U|4096],Uy,[119,R|S|W|gC,V|U|4096]],[[115,R|U|W,hB|U|4096],[116,R|U|W,hB|U|4096],[109,R|U|W,hB|U|4096],[110,R|U|W,
|
||||
hB|U|4096],[140,R|U|W,hB|U|4096],[142,R|U|W,hB|U|4096],Uy,[119,R|U|W,hB|U|4096]],[[115,R|S|W,hB|U|4096],[116,R|S|W,hB|U|4096],[109,R|S|W,hB|U|4096],[110,R|S|W,hB|U|4096],[140,R|S|W,hB|U|4096],[142,R|S|W,hB|U|4096],Uy,[119,R|S|W,hB|U|4096]],[[115,R|U|W,SB|4096],[116,R|U|W,SB|4096],[109,R|U|W,SB|4096],[110,R|U|W,SB|4096],[140,R|U|W,SB|4096],[142,R|U|W,SB|4096],Uy,[119,R|U|W,SB|4096]],[[115,R|S|W,SB|4096],[116,R|S|W,SB|4096],[109,R|S|W,SB|4096],[110,R|S|W,SB|4096],[140,R|S|W,SB|4096],[142,R|S|W,SB|4096],
|
||||
Uy,[119,R|S|W,SB|4096]],[[155,R|U|4096,V|U|4096],Uy,[98,R|U|W],[96,R|U|W],[95,R|U|4096],[42,R|U|W],[32,R|U|4096],[41,R|U|W]],[[155,R|S|4096,V|S|4096],Uy,[98,R|S|W],[96,R|S|W],[95,R|S|4096],[42,R|S|W],[32,R|S|4096],[41,R|S|W]],[[44,R|U|W],[31,R|U|W],Uy,Uy,Uy,Uy,Uy,Uy],[[44,R|S|W],[31,R|S|W],[17,R|S|4096],[17,R|$A|4096],[57,R|S|4096],[57,R|$A|4096],[108,R|S|4096],Uy],[],[[145,R|T|8192|gC],[153,R|T|8192|gC],[78,R|T|4096|gC],[89,R|T|4096|gC],[156,R|T|4096|gC],[157,R|T|4096|gC],Uy,Uy],[[139,R|T|8192|gC],
|
||||
[144,R|T|8192|gC],[75,R|T|4096|gC],[77,R|T|4096|gC],[146,R|T|8192|gC],Uy,[79,R|T|4096|gC],Uy],[Uy,Uy,Uy,Uy,[13,R|S|4096|Y,V|U|4096],[16,R|S|8192|Y,V|U|4096],[15,R|S|8192|Y,V|U|4096],[14,R|S|8192|Y,V|U|4096]]],Zy={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},cz={PREV_TSS:0,CPL0_SP:2,
|
||||
CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42},dz={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,
|
||||
TASK_IOPM:100};cb(function(){for(var a=zb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new Ny(d);yb(d,c)}});
|
||||
function hC(a,b,c){pb.call(this,"Computer",a,67108864);var d=this;iC(this,b);this.U=Ad(this,"autoPower",a);this.D=+Ad(this,"diagnostics",a);0<=this.D&&2>=this.D||(this.D=1);this.F=0;this.pa=a.busWidth||a.buswidth;this.A=jC;this.P=null;this.L=this.ha=!1;this.ra=Ad(this,"url")||"";this.ta=(Math.random()+.1).toString(36).substr(2,12);this.B=kC(this);if(this.G=xb("CPU",this.id)){this.ca=xb("Debugger",this.id);this.C=[];for(b=null;b=ac(this,"Video",b);)this.C.push(b);this.oa=new oc({id:this.de+".bus",
|
||||
busWidth:this.pa},this.G,this.ca);var e=Bb(this.id);this.K=(this.J=xb("Panel",this.id))&&this.J.ma.print;this.ka=this.Da;this.la=this.print;this.qa=this.O;this.K&&(this.ka=this.J.Da,this.la=this.J.print,this.qa=this.J.O);for(b=0;b<e.length;b++){var f=e[b];f.Da=function(a,b,c){lC(d,a);return d.ka.call(this,a,b,c)}.bind(f);f.print=function(a){return d.la.call(this,a)}.bind(f);f.O=function(a,b,c){lC(d,a,b);return d.qa.call(this,a,b,c)}.bind(f)}this.I=0;!this.K&&this.D&&mC(this);this.O("PCx86 v1.37.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");
|
||||
for(b=0;b<e.length;b++)f=e[b],f.tc&&f.tc(this,this.oa,this.G,this.ca);Bd(this.G,this.id,function(){Yd(d)},1E3/nC);b=null;f=Ad(this,"resume");void 0!==f&&(1<f.length?b=this.N=f:this.A=parseInt(f,10));f=!1;e=Xa("state");e||(f=!0,e=Ad(this,"state",a));e&&(b=this.ba=e,f||(this.L=!0,this.A=jC),this.A&&(this.V=new ag(this,"1.37.0"),this.V.load()?b=null:delete this.V));!b&&this.A&&(b=oC(this))&&(this.L=!0);if(this.ea=b){var g="Loading "+this.ea+"...";Ma(this.ea,null,!0,function(a,b,c){c?(d.N=null,d.L=!1,
|
||||
d.Da("Unable to load machine state from server (error "+c+(b?": "+Da(b):"")+")")):(d.P=b,d.ha=!0);Pb(d)},function(){d.O(g,Kb)})}else Pb(this);this.ma.power||(this.U=!0);!c&&this.U&&this.$e(this.Ve)}else kb("Unable to find CPU component")}ia(hC,pb);function KB(a){a.K&&(a.K.value="")}function mC(a){if(!a.I)for(var b=0;b<a.C.length;b++){var c=a.C[b];c&&(c=c.lg)&&(c.style.opacity="1",c.style.lineHeight="1",a.I++)}}
|
||||
function lC(a,b,c){if(a.I)for(var d=0;d<a.C.length;d++){var e=a.C[d];e&&(e=e.lg)&&(c!=Kb||"..."!=b.slice(-3)?ub(e,b+"\n"):vb(e,b,b+"."))}}function Eq(a){var b=a.D;3==a.D&&(a.D++,Pb(a));return!b}function iC(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){kb(d.message+" ("+c+")")}}a.M=b}function Ad(a,b,c){var d=Xa(b);void 0===d&&a.M&&(d=a.M[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}l=hC.prototype;
|
||||
l.$e=function(a,b){for(var c=this,d=Bb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!Ob(f)){Ob(f,function(){c.$e(a,b)});return}}a.call(this,b)};function pC(a,b){var c=new ag(a,"1.37.0",qC);if(c.load()&&rC(c)){var d=c.get(sC),e=b?b.get(sC):"unknown";d!=e&&(a.Da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
l.Ve=function(a){void 0===a&&(a=this.A||(this.P?tC:jC));if(!this.F){this.F++;var b=!1,c=!1;this.fa=!1;var d=this.V||new ag(this,"1.37.0");if(a==Kd)b=!0;else if(a>jC){if(d.load(this.P)){this.H=new ag(this,"1.37.0",uC);this.H.load()&&(a!=tC&&vC(this,d)&&(a=wC),xC(this.H));this.H.set(sC,Ga("Y-m-d H:i:s"));yC(this.H);var e=this.A&&!this.L;if(a==tC||tb("Click OK to restore the previous PCx86 machine state.")){if(c=rC(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.Da("Error: "+g),"unable to verify user"==g&&(Ta(zC,""),this.B=null)):this.O(f+": "+g),xC(d),d.load()?(c=rC(d),e=!0):c=!1))}e&&pC(this,c?d:null)}else a==wC&&d.clear()}else pC(this);delete this.P;delete this.V}e=Bb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.G&&(c=AC(this,g,d,b,c));b=[d,a,c];a!=Kd?this.$e(this.Xg,b):this.Xg(b)}};
|
||||
function AC(a,b,c,d,e){if(!b.Z.ac){b.Z.ac=!0;if(b.$b){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.$b(f,d)&&f&&(b.Da("Unable to restore hardware state")&&(a.ba&&!a.ha?(c.clear(),a.A=jC,window&&window.location.reload()):a.fa=!0),b.$b(null),e=!1)}b.Z.nf=!0;if(!d&&b.rj)for(a=b.rj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.Xg=function(a){if(!this.Z.nf){a:{if(this.I){if(2==this.D){this.D++;this.O("Press any key to continue...");var b=!1;break a}for(b=0;b<this.C.length;b++){var c=this.C[b];if(c&&(c=c.lg)){var d=Oa();c.style.opacity="0";c.style.lineHeight="0";if(0<=d.indexOf("MSIE")||0<=d.indexOf("Trident"))c.style.fontSize="0";c.value=""}}this.I=0}this.D=0;b=!0}if(!b){Pb(this,!1);this.$e(this.Xg,a);return}this.Z.nf=!0}b=a[0];c=0>a[1];a=a[2];if(d=this.ma.power)d.textContent="Shutdown";this.Z.ac=!0;this.G&&(AC(this,this.G,
|
||||
b,c,a),this.G.he());this.fa&&(vC(this,b),b.clear());!c&&this.H&&(this.H.clear(),delete this.H);this.F=0;Db(this.de,Ad(this,"autoScript"))};function vC(a,b){if(!a.Z.we){if(tb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.37.0"};d.url=a.ra;d.user=c;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
function PB(a,b,c){var d="none";if(a.F)return null;a.F--;var e=new ag(a,"1.37.0"),f=new ag(a,"1.37.0",qC),g=Ga("Y-m-d H:i:s");f.set(sC,g);e.set(sC,g);e.set(BC,"1.37.0");e.set(CC,window?window.location.href:null);e.set(DC,Oa());if(a.G&&a.G.Zb){var h=a.G.Zb(b,c);"object"===typeof h&&e.set(a.G.id,h);c&&(a.G.Z.ac=!1,!1===h&&(d=null))}g=Bb(a.id);for(var k=0;k<g.length;k++){var m=g[k];m.Z.ac&&(m.Zb&&(h=m.Zb(b,c),"object"===typeof h&&e.set(m.id,h)),c&&(m.Z.ac=!1,!1===h&&(d=null)))}d&&(c?(g=h=!1,b?(a.B&&
|
||||
NC(a,a.B,e.toString()),yC(f)&&yC(e)||(d=null,h=g=!0)):a.A&&(h=!0,g=a.A==OC),h&&e.clear(g)):d=e.toString());c&&(a.Z.ac=!1,b=a.ma.power)&&(b.textContent="Power");a.F=0;return d}l.reset=function(){this.oa&&this.oa.reset&&(Tb(this,"Resetting "+this.oa.type),this.oa.reset());for(var a=Bb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&(Tb(this,"Resetting "+c.type),c.reset())}};
|
||||
function DA(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.fa&&(a.O("ended assemble at "+mz(a.ea)),a.N=a.ea,a.fa=!1),b="";else if(!c){var e=">> ";a.G.ra&1&&(e=a.G.P&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Aa=null;if(Ob(a)&&0<b.length){a.fa&&(b="a "+mz(a.ea)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var v=
|
||||
wz(a,g[1],!0);if(v)if(a.ea=v,void 0===g[2])a.O("begin assemble at "+mz(v)),a.fa=!0,Fd(a.G);else{a.O("not supported yet");var u=[];if(u.length){for(var A=0;A<u.length;A++)a.ub(v,u[A],1);a.O(EA(a,a.ea))}}break;case "b":a:{var J=g[0],H=g[1],G=b;if("?"==H)a.O("breakpoint commands:"),a.O("\tbi [p]\ttoggle break on input port [p]"),a.O("\tbo [p]\ttoggle break on output port [p]"),a.O("\tbp [a]\tset exec breakpoint at addr [a]"),a.O("\tbr [a]\tset read breakpoint at addr [a]"),a.O("\tbw [a]\tset write breakpoint at addr [a]"),
|
||||
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var P=J.charAt(1);if("l"==P){var I=0+CA(a,a.B);I+=CA(a,a.V);(I+=CA(a,a.L))||a.O("no breakpoints")}else if("n"==P)a.wa=Ey(a,H),a.O("break after "+a.wa+" instruction(s)");else if(void 0===H)a.O("missing breakpoint address");else{var oa={};if("*"!=H&&(oa=wz(a,H,!0,!0),!oa))break a;H=null==oa.Ja?H:wa(oa.Ja);"c"==P?null==oa.Ja?(Qy(a),a.O("all breakpoints cleared")):lz(a,
|
||||
a.B,oa)||lz(a,a.V,oa)||lz(a,a.L,oa)||a.O("breakpoint missing: "+mz(oa)):"i"==P?a.O("breakpoint "+(Oc(a.oa,oa.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==P?a.O("breakpoint "+(Tc(a.oa,oa.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=oa.Ja&&(zz(a,oa,G),"p"==P?a.rd(a.B,oa):"r"==P?a.rd(a.V,oa):"w"==P?a.rd(a.L,oa):a.O("unknown breakpoint command: "+P))}}}break;case "c":LB(a.na);break;case "d":a:{var Z=g,hb,ra=Z[0],ib=Z[1],Sb=Z[2],Jb=Z[3];if("?"==ib){var cc="";for(hb in Zb)a.Fa[hb]&&
|
||||
(cc&&(cc+=","),cc+=hb);cc+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");cc.length&&a.O("dump extension commands:\n\t"+cc)}else if("state"==ib){var vc=QB(a.na,!0);vc?"console"==Sb?console.log(vc):
|
||||
(LB(a.na),a.O(vc)):a.O("powerOff() error")}else if("symbols"==ib)for(var jb=0;jb<a.F.length;jb++){var gf=a.F[jb],Sd;for(Sd in gf.Id)if("."!=Sd.charAt(0)){var hf=gf.Id[Sd],Eg=hf.o;if(void 0!==Eg){var jf=hf.s;void 0===jf&&(jf=gf.T);var Fg=gf.Id[Sd].l;Fg&&(Sd=Fg);a.O(bz(Eg,jf)+" "+Sd)}}}else{if("ds"==ra||"dg"==ra||"dl"==ra)ra="d",Z=[ra,"desc",ib];"d"==ra&&"page"==ib&&(ra="dp",Z.shift());if("dp"==ra){Z.shift();var Cm=Z[0];if(Cm){var Zg=a.Vb(wz(a,Cm));if(-1===Zg)a.O("invalid address: "+Cm);else{var tf,
|
||||
Ra=null;if(80386<=a.G.da){var uf=a.oa;Ra={};Ra.Dk=(Zg&-4194304)>>>20;Ra.Qi=a.G.wc+Ra.Dk;Ra.pb=uf.aa[(Ra.Qi&uf.C)>>>uf.A];Ra.wj=Ra.pb.Nd(Ra.Dk);Ra.Ek=(Zg&4190208)>>>10;Ra.Ri=(Ra.wj&-4096)+Ra.Ek;Ra.qb=uf.aa[(Ra.Ri&uf.C)>>>uf.A];Ra.xj=Ra.qb.Nd(Ra.Ek);Ra.ml=(Ra.xj&-4096)+(Zg&4095)}if(tf=Ra){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var ij="%"+q(Zg);ij+=" %%"+Bz(tf.Qi,tf.wj);ij+=" %%"+
|
||||
Bz(tf.Ri,tf.xj,!0);ij+=" %%"+q(tf.ml);a.O(ij)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ra){if("disk"==ib){Z[0]="l";Z[1]="json";KB(a,Z);break a}for(hb in Zb)if(Z[1]==hb){var Mt=a.Fa[hb];Mt?(Z.shift(),Z.shift(),Mt(Z)):a.O("no dump registered for "+ib);break a}ib||(ra=a.mb||"db")}if("dh"==ra){var Nt=ib,Ot=Sb,$g=Jb;$g=void 0===$g?"history":$g;var Pt="",Qt=0,Rc=a.qa,rd=a.U;if(rd.length){var Ac=+Nt||a.Ra,ah=+Ot||10;isNaN(Ac)?Ac=ah:Pt="more ";Ac>rd.length&&(a.O("note: only "+
|
||||
rd.length+" available"),Ac=rd.length);Rc-=Ac;0>Rc&&(null==rd[rd.length-1].T?(Ac=Rc+Ac,Rc=0):Rc+=rd.length);var Dm=[];"call"==Ot&&(ah=1E5,Dm=["CALL"]);for(void 0!==Nt&&a.O(Ac+" instructions earlier:");0<ah&&Rc!=a.qa;){var sd=rd[Rc++];if(null==sd.T)break;var bh=Py(a,sd.Ja,sd.T,sd.za,sd.type,sd.Jb,sd.ec),Rt=Ac--;null!=sd.dj&&"cycles"==$g&&(Rt=sd.dj);var St=EA(a,bh,$g,Rt);(!Dm.length||0<=St.indexOf(Dm[0]))&&a.O(St);bh.De&&(Rc+=bh.De,ah-=bh.De,Ac-=bh.De);Rc>=rd.length&&(Rc=0);a.Ra=Ac;Qt++;ah--}}Qt||(a.O("no "+
|
||||
Pt+"history available"),a.Ra=void 0)}else if("di"==ra){Z.shift();var Em=Z[0];if(Em){var ch=Ey(a,Em);if(void 0===ch||0>ch||255<ch)a.O("invalid vector: "+Em);else{var Tt="&",Ut=!!(a.G.ra&1),Vt=!1,jj=a.G.Qb+(ch<<(Ut?3:2)),Wt=a.G.ja(jj+0),FC=a.G.ja(jj+2);Ut&&(Tt="#",a.G.ja(jj+4)&2048&&(Vt=!0,Wt|=a.G.ja(jj+6)<<16));a.O("dumpIDT("+wa(ch)+"): "+Tt+q(FC,4)+":"+q(Wt,Vt?8:4))}}else a.O("no IDT vector")}else if("dt"==ra)Z.shift(),a.O("no information");else if(ra[1]&&0>"abwd".indexOf(ra[1]))a.O("unrecognized dump command");
|
||||
else{a.mb=ra;var Fe=wz(a,ib);if(Fe&&(null!=Fe.T||null!=Fe.za)){var vf=0;if(Sb){if("l"==Sb.charAt(0))Sb=Sb.substr(1)||Jb,vf=Ey(a,Sb);else{var Xt=wz(a,Sb);if(!Xt)break a;vf=Xt.Ja-Fe.Ja+1}if(0>vf||65536<vf)vf=0}var Ge="",Fm=!1,wf="dd"==ra?4:"dw"==ra?2:1,dh=wf*vf||128,Gm=dh+15>>4||1,Hm=4==wf?16:a.D;"a"==ra[1]&&(Fm=!0,Gm=25,Hm=160,dh=Gm*Hm);for(;Gm--&&0<dh;){var kj=0,Im=0,eh,Jm="",lj="";ib=mz(Fe);for(eh=Hm;0<eh&&0<dh;eh--){var mj=a.ya(Fe,1);kj|=mj<<(Im++<<3);Im==wf&&(Jm+=8==a.D?ua(kj,3*wf):q(kj,2*wf),
|
||||
Jm+=1==wf?9==eh?"-":" ":" ",kj=Im=0);lj+=32<=mj&&128>mj?String.fromCharCode(mj):Fm?"":".";dh--}Ge&&(Ge+="\n");Ge=Fm?Ge+lj:Ge+(ib+" "+Jm+Ca(lj,lj.length+3*eh+1,!0))}Ge&&a.O(Ge.replace(/\s*$/,""));a.Ca=Fe}}}}}break;case "e":if("else"==g[0])break;var nj=1,Yt=255,Zt=a.ya,$t=a.ub;"ew"==g[0]&&(nj=2,Yt=65535,Zt=a.Vc,$t=a.al);var au=nj<<1,bu=g[1];if(null==bu)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var oj=wz(a,bu);if(oj)for(var pj=
|
||||
2;pj<g.length;pj++){var fh=Ky(a,g[pj]);if(void 0===fh){a.O("unrecognized value: "+g[pj]);break}fh&~Yt&&a.O("warning: "+q(fh)+" exceeds "+nj+"-byte value");var GC=Zt.call(a,oj);a.O("changing "+mz(oj)+" from "+q(GC,au,!0)+" to "+q(fh,au,!0));$t.call(a,oj,fh,nj)}}break;case "f":HB(a,g[1]);break;case "g":a:{var cu=g[1],HC=b;"gt"==g[0]&&(a.Ga=!0);if(void 0!==cu){var Km=wz(a,cu,!0);if(!Km)break a;zz(a,Km,HC);a.rd(a.B,Km,!0)}uA(a,c)&&Hd(a.G,!0,c)}break;case "h":rk(a)||Qb(a,!0)||c||a.O("already halted");
|
||||
break;case "i":if("if"==g[0]){var gh=b.substr(2);gh=Da(gh);if(Ky(a,gh)){c||a.O("true: "+gh);var du=!0}else c||a.O("false: "+gh),du=!1;du||(d=!1);break}if("int"==g[0]){a:switch(Ey(a,g[1])){case 19:al(a,19,a.G.ea,!0);a.ka=a.ba;var Lm=!0;break a;case 33:al(a,33,a.G.ea,!0);a.ka=a.ba;Lm=!0;break a;default:Lm=!1}Lm||(d=!1);break}var Mm=g[1];if(Mm&&"?"!=Mm){var Nm=Ey(a,Mm);if(void 0!==Nm){var IC=Qc(a.oa,Nm,1);a.O(wa(Nm)+": "+va(IC))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");
|
||||
break;case "k":var JC=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var Om=0,eu=a.G.ba.T,hh=Py(a),$d=Py(a,y(a.G),a.G.U.T);for(a.O("stack trace for "+mz($d));10>Om;){for(var td=null,KC=256;$d.Ja>>>0<a.G.Mg>>>0;){hh.Ja=a.nb($d,!0);if(null==$d.za||!KC--)break;hh.T=eu;if(td=OB(a,hh))break;hh.T=a.nb($d);if(td=OB(a,hh,!0)){eu=a.nb($d,!0);0<td.indexOf("INT")&&a.nb($d,!0);break}}if(!td||null==td)break;var fu=null;if("ks"==JC){var gu=
|
||||
td.match(/[0-9A-F]+$/);gu&&(fu=JB(a,gu[0]))}td=Ca(td,50)+" ;"+(fu||"stack="+mz($d));a.O(td);Om++}Om||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){JB(a,g[1],!0);break}KB(a,g);break;case "m":if("mouse"==g[0]){var Pm=g[1],qj=g[2];if(a.H){var hu=1;"-"==qj.charAt(0)&&(hu=-1,qj=qj.substr(1));var He=Ey(a,qj,Pm);if(void 0!==He)switch(He=He*hu|0,Pm){case "x":a.H.rf(He,0);break;case "y":a.H.rf(0,He);break;case "click":a.H.Xd(He,!0);a.H.Xd(He,!1);break;default:a.O("unknown action: "+Pm)}}else a.O("no mouse");
|
||||
break}a:{var ud,vd=null,eb=g[1];"?"==eb&&(eb=void 0);if(void 0!==eb){var ae=0;if("all"==eb)ae=1610481663,eb=null;else if("on"==eb)vd=!0,eb=null;else if("off"==eb)vd=!1,eb=null;else{"keys"==eb&&(eb="key");"kbd"==eb&&(eb="keyboard");for(ud in Zb)if(eb==ud){ae=Zb[ud];vd=!!(a.dc&ae);break}if(!ae){a.O("unknown message category: "+eb);break a}}if(ae)if("on"==g[2])a.dc|=ae,vd=!0;else if("off"==g[2]&&(a.dc&=~ae,vd=!1,536870912==ae)){for(var Qm=0;Qm<a.Ba.length;Qm++)a.O(a.Ba[Qm]);a.Ba=[]}}var LC=0,ih="";for(ud in Zb)if(!eb||
|
||||
eb==ud){var MC=!!(a.dc&Zb[ud]);if(null===vd||vd==MC)ih&&(ih+=","),++LC%10||(ih+="\n\t"),"key"==ud&&(ud="keys"),ih+=ud}void 0===eb&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==vd?vd?"messages on: ":"messages off: ":"message categories:\n\t")+(ih||"none"));Ry(a)}break;case "o":var Rm=g[1],NC=g[2];if(Rm&&"?"!=Rm){var Sm=Ey(a,Rm,"port #"),Tm=Ey(a,NC);void 0!==Sm&&void 0!==Tm&&(Vc(a.oa,Sm,1,Tm),a.O(wa(Sm)+": "+va(Tm)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),
|
||||
a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){NB(a,b.substr(5));break}var iu="pr"==g[0]?1:0,xf=1+iu;if(a.K)a.O("step in progress");else{var ju=!1,Lb=Py(a,z(a.G),a.G.ba.T);do{var Um=!1;switch(a.ya(Lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:rz(a,Lb,1);Um=!0;break;case 204:case 206:a.K=xf;rz(a,Lb,1);break;case 205:case 224:case 225:case 226:a.K=xf;rz(a,Lb,Lb.Jb?4:2);break;case 232:a.K=xf;rz(a,Lb,Lb.Jb?5:3);break;case 154:a.K=
|
||||
xf;rz(a,Lb,Lb.Jb?7:5);break;case 255:var ku=a.nb(Lb)&14591;if(4351==ku||6399==ku)a.K=xf,EA(a,Lb);break;case 243:case 242:rz(a,Lb,1);ju=Um=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:ju&&(a.K=xf,rz(a,Lb,1))}}while(Um);a.K?(a.rd(a.B,Lb,!0),uA(a,void 0)&&Hd(a.G,void 0,void 0)||(a.na&&a.na.cd(),a.K=0)):PB(a,iu?"tr":"t")}break;case "r":if("reset"==b){a.na&&a.na.reset();break}vA(a,g);break;case "t":PB(a,g[0],g[1]);
|
||||
break;case "u":wA(a,g[1],g[2],8);break;case "v":if("var"==g[0]){IB(a,b.substr(3))||(d=!1);break}a.O("PCx86 version 1.37.0 ("+a.G.da+",RELEASE,NOPREFETCH"+(Vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(Oa());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var jh;void 0!==g[3]&&(jh=+g[3]);switch(g[2]){case "int":a.G.Y.Qe=jh;break;case "start":a.G.Y.vf=jh;break;case "stop":a.G.Y.Se=jh;break;default:a.O("unknown cs option");break a}void 0!==jh&&Ed(a.G);a.O("checksums "+(a.G.Z.He?"enabled":
|
||||
"disabled"));break;case "sp":void 0!==g[2]&&(Ld(a.G,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.G.Y.pe.toFixed(2)+"Mhz")+" ("+a.G.Y.Ad+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){NB(a,
|
||||
b.substr(1));break}var Vm="commands:",Wm;for(Wm in RB)Vm+="\n"+Ca(Wm,7)+RB[Wm];Og(a)||(Vm+="\nnote: frequency/history disabled if no exec breakpoints");a.O(Vm);break;default:a.O("unknown command: "+b),d=!1}}}catch(mu){a.O("debugger error: "+(mu.stack||mu.message)),d=!1}return d}function Ty(a,b,c){b=a.yg(b,c);for(var d in b)if(!DA(a,b[+d]))return!1;return!0}
|
||||
var rA={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},qA=[26,28,40,42,109],RB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
||||
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},xz=0,pz=1,Zy=2,Az=3,yz=4,qz=5,MA=18,NA=28,IA=36,RA=80,OA=104,PA=107,GA=176,FA="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
||||
KA="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
|
||||
MB=["VALID","ZERO ","SPEC ","EMPTY"],SA=2,TA=3,uB=[8086,80186,80286,80386],Ez=0,Fz=1,Gz=2,Hz=3,Iz=4,Jz=5,Kz=6,Lz=7,Mz=8,Nz=9,Oz=10,Pz=11,Qz=12,Rz=13,Sz=14,Tz=15,Vz=16,Uz=22,oA=23,bA=24,cA=25,dA=26,eA=27,fA=28,gA=29,hA=30,iA=31,jA=32,kA=33,lA=34,mA=35,yB=40,AB=48,nA=56,Cz=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2",
|
||||
"DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],Wz=0,Xz=1,Yz=2,Zz=3,$z=4,aA=5,ZA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),UA=15,XA=240,pB=3840,VA=0,U=1,jB=2,T=3,S=4,$A=5,aB=7,WA=8,nB=9,oB=10,bB=11,cB=11,dB=12,eB=12,fB=13,gB=14,V=0,iB=16,lB=32,mB=48,sB=64,tB=80,X=96,qB=112,R=128,YA=160,rB=192,wB=208,xB=224,zB=240,SB=Ez<<8|X|U,TB=Fz<<8|X|U,UB=Mz<<8|X|S,VB=Nz<<8|X|S,WB=Oz<<8|X|S,XB=Pz<<8|X|S,YB=Qz<<8|X|S,ZB=Rz<<8|X|S,$B=Sz<<8|X|S,aC=
|
||||
Tz<<8|X|S,bC=Wz<<8|qB|T,cC=Xz<<8|qB|T,dC=Yz<<8|qB|T,eC=Zz<<8|qB|T,fC=$z<<8|qB|T,gC=aA<<8|qB|T,W=12288,hC=SA<<14,Y=TA<<14,QA=14,tA=1E3,Vy=[0,VA],Wy=[GA,T|W],Uy=[[6,R|U|W,U|4272],[6,R|S|W,S|4272],[6,176|U|W,R|U|4096],[6,176|S|W,R|S|4096],[6,SB|W,V|U|4096],[6,UB|W,V|S|4096],[108,bC|4096],[103,bC|8192],[99,R|U|W,U|4272],[99,R|S|W,S|4272],[99,176|U|W,R|U|4096],[99,176|S|W,R|S|4096],[99,SB|W,V|U|4096],[99,UB|W,V|S|4096],[108,cC|4096],[103,cC|8192],[5,R|U|W,U|4272],[5,R|S|W,S|4272],[5,176|U|W,R|U|4096],
|
||||
[5,176|S|W,R|S|4096],[5,SB|W,V|U|4096],[5,UB|W,V|S|4096],[108,dC|4096],[103,dC|8192],[120,R|U|W,U|4272],[120,R|S|W,S|4272],[120,176|U|W,R|U|4096],[120,176|S|W,R|S|4096],[120,SB|W,V|U|4096],[120,UB|W,V|S|4096],[108,eC|4096],[103,eC|8192],[7,R|U|W,U|4272],[7,R|S|W,S|4272],[7,176|U|W,R|U|4096],[7,176|S|W,R|S|4096],[7,SB|W,V|U|4096],[7,UB|W,V|S|4096],[35,WA],[29],[154,R|U|W,U|4272],[154,R|S|W,S|4272],[154,176|U|W,R|U|4096],[154,176|S|W,R|S|4096],[154,SB|W,V|U|4096],[154,UB|W,V|S|4096],[27,WA],[30],[162,
|
||||
R|U|W,U|4272],[162,R|S|W,S|4272],[162,176|U|W,R|U|4096],[162,176|S|W,R|S|4096],[162,SB|W,V|U|4096],[162,UB|W,V|S|4096],[147,WA],[1],[24,R|U|4096,U|4272],[24,R|S|4096,S|4272],[24,U|4272,R|U|4096],[24,S|4272,R|S|4096],[24,SB|4096,V|U|4096],[24,UB|4096,V|S|4096],[33,WA],[4],[44,UB|W],[44,VB|W],[44,WB|W],[44,XB|W],[44,YB|W],[44,ZB|W],[44,$B|W],[44,aC|W],[31,UB|W],[31,VB|W],[31,WB|W],[31,XB|W],[31,YB|W],[31,ZB|W],[31,$B|W],[31,aC|W],[108,UB|4096],[108,VB|4096],[108,WB|4096],[108,XB|4096],[108,YB|4096],
|
||||
[108,ZB|4096],[108,$B|4096],[108,aC|4096],[103,UB|8192],[103,VB|8192],[103,WB|8192],[103,XB|8192],[103,YB|8192],[103,ZB|8192],[103,$B|8192],[103,aC|8192],[PA,VA|hC],[OA,VA|hC],[10,S|4272|hC,R|S|4096],[8,R|T|8192,T|4272],[37,WA|Y],[38,WA|Y],[100,WA|Y],[9,WA|Y],[108,V|S|4096|hC],[42,176|T|W|hC,R|S|4096,V|S|4096],[108,V|jB|4096|hC],[42,T|8368|hC,R|S|4096,V|U|4096],[45,tB|U|8192|hC,WB|4096],[45,tB|S|8192|hC,WB|4096],[102,WB|4096|hC,sB|U|4096],[102,WB|4096|hC,sB|S|4096],[64,mB|U|4096],[60,mB|U|4096],[51,
|
||||
mB|U|4096],[59,mB|U|4096],[67,mB|U|4096],[63,mB|U|4096],[50,mB|U|4096],[58,mB|U|4096],[66,mB|U|4096],[62,mB|U|4096],[65,mB|U|4096],[61,mB|U|4096],[55,mB|U|4096],[54,mB|U|4096],[56,mB|U|4096],[53,mB|U|4096],[163,R|U|W,V|U|4096],[164,R|S|W,V|S|4096],[163,R|U|W,V|U|4096],[165,R|S|W,V|U|4096],[155,R|U|4096,U|4272],[155,R|S|4096,S|4272],[160,176|U|W,R|U|W],[160,176|S|W,R|S|W],[90,R|U|8192,U|4272],[90,R|S|8192,S|4272],[90,U|8368,R|U|4096],[90,S|8368,R|S|4096],[90,R|S|8192,rB|T|4096],[71,S|8368,144|S],[90,
|
||||
rB|T|8192,R|S|4096],[103,R|S|8192],[97],[160,UB|W,VB|W],[160,UB|W,WB|W],[160,UB|W,XB|W],[160,UB|W,YB|W],[160,UB|W,ZB|W],[160,UB|W,$B|W],[160,UB|W,aC|W],[MA],[NA],[17,V|aB|4096],[158],[106],[105],[117],[68],[90,SB|8192,lB|U|4096],[90,UB|8192,lB|S|4096],[90,lB|U|8192,SB|4096],[90,lB|S|8192,UB|4096],[91,tB|U|8192,sB|U|4096],[92,tB|S|8192,sB|S|4096],[25,tB|U|4096,sB|U|4096],[26,tB|S|4096,sB|S|4096],[155,SB|4096,V|U|4096],[155,UB|4096,V|S|4096],[151,tB|U|8192,SB|4096],[152,tB|S|8192,UB|4096],[82,SB|8192,
|
||||
sB|U|4096],[83,UB|8192,sB|S|4096],[121,SB|4096,tB|U|4096],[122,UB|4096,tB|S|4096],[90,SB|8192,V|U|4096],[90,TB|8192,V|U|4096],[90,Gz<<8|X|U|8192,V|U|4096],[90,Hz<<8|X|U|8192,V|U|4096],[90,Iz<<8|X|U|8192,V|U|4096],[90,Jz<<8|X|U|8192,V|U|4096],[90,Kz<<8|X|U|8192,V|U|4096],[90,Lz<<8|X|U|8192,V|U|4096],[90,UB|8192,V|S|4096],[90,VB|8192,V|S|4096],[90,WB|8192,V|S|4096],[90,XB|8192,V|S|4096],[90,YB|8192,V|S|4096],[90,ZB|8192,V|S|4096],[90,$B|8192,V|S|4096],[90,aC|8192,V|S|4096],[166,R|U|W|16384,V|U|4096],
|
||||
[167,R|S|W|16384,V|U|4096],[113,V|T|4096],[113],[73,S|8368,4246],[70,S|8368,4246],[90,R|U|8192,V|U|4096],[90,R|S|8192,V|S|4096],[34,V|T|4096|hC,V|U|4096],[72,VA|hC],[114,V|T|4096],[114],[47],[46,V|U|4096],[48],[49],[168,R|U|W,iB|U|4096],[169,R|S|W,iB|U|4096],[170,R|U|W,TB|4096],[171,R|S|W,TB|4096],[3,V|U],[2,V|U],[118],[161],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[IA,R|S|4096],[85,mB|U|4096],[86,mB|U|4096],[84,mB|U|4096],[52,mB|U|4096],[43,
|
||||
SB|8192,V|U|4096],[43,UB|8192,V|U|4096],[101,V|U|4096,SB|4096],[101,V|U|4096,UB|4096],[17,mB|S|4096],[57,mB|S|4096],[57,V|aB|4096],[57,mB|U|4096],[43,SB|8192,WB|T|4096],[43,UB|8192,WB|T|4096],[101,WB|T|4096,SB|4096],[101,WB|T|4096,UB|4096],[81,WA],[0],[111,WA],[112,WA],[39],[23],[172,R|U|W],[173,R|S|W],[19],[148],[21],[150],[20],[149],[174,R|U|W],[175,R|S|W]],HA={0:[177,R|T|W],1:[178,R|T|W],2:[69,T|8368|hC,T|4240],3:[87,T|8368|hC,T|4240],5:[RA,hC],6:[22,hC],7:[RA,Y],32:[90,YA|$A|8192|Y,wB|$A|4096],
|
||||
33:[90,YA|$A|8192|Y,xB|$A|4096],34:[90,wB|$A|8192|Y,YA|$A|4096],35:[90,xB|$A|8192|Y,YA|$A|4096],36:[90,YA|$A|8192|Y,zB|$A|4096],38:[90,zB|$A|8192|Y,YA|$A|4096],128:[64,mB|S|4096|Y],129:[60,mB|S|4096|Y],130:[51,mB|S|4096|Y],131:[59,mB|S|4096|Y],132:[67,mB|S|4096|Y],133:[63,mB|S|4096|Y],134:[50,mB|S|4096|Y],135:[58,mB|S|4096|Y],136:[66,mB|S|4096|Y],137:[62,mB|S|4096|Y],138:[65,mB|S|4096|Y],139:[61,mB|S|4096|Y],140:[55,mB|S|4096|Y],141:[54,mB|S|4096|Y],142:[56,mB|S|4096|Y],143:[53,mB|S|4096|Y],144:[135,
|
||||
R|U|8192|Y],145:[131,R|U|8192|Y],146:[124,R|U|8192|Y],147:[130,R|U|8192|Y],148:[138,R|U|8192|Y],149:[134,R|U|8192|Y],150:[123,R|U|8192|Y],151:[129,R|U|8192|Y],152:[137,R|U|8192|Y],153:[133,R|U|8192|Y],154:[136,R|U|8192|Y],155:[132,R|U|8192|Y],156:[127,R|U|8192|Y],157:[126,R|U|8192|Y],158:[128,R|U|8192|Y],159:[125,R|U|8192|Y],160:[108,fC|4096|Y],161:[103,fC|8192|Y],163:[13,R|S|4096|Y,S|4272],164:[141,R|S|8192|Y,S|4272,V|U|4096],165:[141,R|S|8192|Y,S|4272,TB|4096],166:[159,S|8368|Y,R|S|4096,UB|4096,
|
||||
TB|4096],167:[40,R|S|8192|Y,UB|4096,TB|4096,S|4272],168:[108,gC|4096|Y],169:[103,gC|8192|Y],171:[16,R|S|8192|Y,S|4272],172:[143,R|S|8192|Y,S|4272,V|U|4096],173:[143,R|S|8192|Y,S|4272,TB|4096],175:[42,R|S|W|Y,S|4272],178:[88,S|8368,4246],179:[15,R|S|8192|Y,S|4272],180:[74,S|8368,4246],181:[76,S|8368,4246],182:[94,S|8368|Y,R|U|4096],183:[94,$A|8368|Y,R|T|4096],186:[179,R|S|W|Y,V|U|4096],187:[14,R|S|8192|Y,S|4272],188:[11,S|8368|Y,R|S|4096],189:[12,S|8368|Y,R|S|4096],190:[93,S|8368|Y,R|U|4096],191:[93,
|
||||
$A|8368|Y,R|T|4096]},JA={216:{0:[9,R|cB|4096],1:[18,R|cB|4096],2:[34,R|cB|4096],3:[35,R|cB|4096],4:[12,R|cB|4096],5:[15,R|cB|4096],6:[21,R|cB|4096],7:[24,R|cB|4096],48:[9,X|nB|8192,X|oB|4096],49:[18,X|nB|8192,X|oB|4096],50:[34,X|nB|8192,X|oB|4096],51:[35,X|nB|8192,X|oB|4096],52:[12,X|nB|8192,X|oB|4096],53:[15,X|nB|8192,X|oB|4096],54:[21,X|nB|8192,X|oB|4096],55:[24,X|nB|8192,X|oB|4096]},217:{0:[0,R|cB|4096],2:[1,R|cB|8192],3:[2,R|cB|8192],4:[68,R|4111],5:[59,R|T|4096],6:[66,R|8207],7:[60,R|T|8192],
|
||||
48:[0,X|oB|8192],49:[3,X|oB|8192],50:[76],51:[2,X|oB|8192],64:[33],65:[32],68:[39],69:[40],80:[47],81:[49],82:[50],83:[48],84:[51],85:[52],86:[46],96:[43],97:[44],98:[41],99:[42],100:[31],102:[73],103:[72],112:[29],113:[45],114:[27],116:[30],117:[28]},218:{0:[11,R|bB|4096],1:[20,R|bB|4096],2:[37,R|bB|4096],3:[38,R|bB|4096],4:[14,R|bB|4096],5:[17,R|bB|4096],6:[23,R|bB|4096],7:[26,R|bB|4096]},219:{0:[4,R|bB|4096],2:[5,R|bB|8192],3:[6,R|bB|8192],5:[0,R|fB|4096],7:[2,R|fB|8192],64:[57],65:[55],66:[64],
|
||||
67:[53],68:[78,hC],115:[79,Y]},220:{0:[9,R|eB|4096],1:[18,R|eB|4096],2:[34,R|eB|4096],3:[35,R|eB|4096],4:[12,R|eB|4096],5:[15,R|eB|4096],6:[21,R|eB|4096],7:[24,R|eB|4096],48:[9,X|oB|8192,X|nB|4096],49:[18,X|oB|8192,X|nB|4096],50:[34,X|oB|4096],51:[35,X|oB|4096],52:[15,X|oB|8192,X|nB|4096],53:[12,X|oB|8192,X|nB|4096],54:[24,X|oB|8192,X|nB|4096],55:[21,X|oB|8192,X|nB|4096]},221:{0:[0,R|eB|4096],2:[1,R|eB|8192],3:[2,R|eB|8192],4:[71,R|4111],6:[69,R|8207],7:[62,R|T|8192],48:[74,X|oB|4096],49:[3,X|oB|
|
||||
8192],50:[1,X|oB|4096],51:[2,X|oB|4096]},222:{0:[11,R|T|4096],1:[20,R|T|4096],2:[37,R|T|4096],3:[38,R|T|4096],4:[14,R|T|4096],5:[17,R|T|4096],6:[23,R|T|4096],7:[26,R|T|4096],48:[10,X|oB|8192,X|nB|4096],49:[19,X|oB|8192,X|nB|4096],50:[35,X|oB|4096],51:[36,X|oB|4096],52:[16,X|oB|8192,X|nB|4096],53:[13,X|oB|8192,X|nB|4096],54:[25,X|oB|8192,X|nB|4096],55:[22,X|oB|8192,X|nB|4096]},223:{0:[4,R|T|4096],2:[5,R|T|8192],3:[6,R|T|8192],4:[7,R|gB|4096],5:[4,R|dB|4096],6:[8,R|gB|8192],7:[6,R|dB|8192],48:[75,X|
|
||||
oB|4096],49:[3,X|oB|8192],50:[2,X|oB|4096],51:[2,X|oB|4096],52:[80,hC]}},LA=[[[6,R|U|W,V|U|4096],[99,R|U|W,V|U|4096],[5,R|U|W,V|U|4096],[120,R|U|W,V|U|4096],[7,R|U|W,V|U|4096],[154,R|U|W,V|U|4096],[162,R|U|W,V|U|4096],[24,R|U|4096,V|U|4096]],[[6,R|S|W,V|S|4096],[99,R|S|W,V|S|4096],[5,R|S|W,V|S|4096],[120,R|S|W,V|S|4096],[7,R|S|W,V|S|4096],[154,R|S|W,V|S|4096],[162,R|S|W,V|S|4096],[24,R|S|4096,V|S|4096]],[[6,R|S|W,V|jB|4096],[99,R|S|W,V|jB|4096],[5,R|S|W,V|jB|4096],[120,R|S|W,V|jB|4096],[7,R|S|W,V|
|
||||
jB|4096],[154,R|S|W,V|jB|4096],[162,R|S|W,V|jB|4096],[24,R|S|4096,V|jB|4096]],[[115,R|U|W|hC,V|U|4096],[116,R|U|W|hC,V|U|4096],[109,R|U|W|hC,V|U|4096],[110,R|U|W|hC,V|U|4096],[140,R|U|W|hC,V|U|4096],[142,R|U|W|hC,V|U|4096],Vy,[119,R|U|W|hC,V|U|4096]],[[115,R|S|W|hC,V|U|4096],[116,R|S|W|hC,V|U|4096],[109,R|S|W|hC,V|U|4096],[110,R|S|W|hC,V|U|4096],[140,R|S|W|hC,V|U|4096],[142,R|S|W|hC,V|U|4096],Vy,[119,R|S|W|hC,V|U|4096]],[[115,R|U|W,iB|U|4096],[116,R|U|W,iB|U|4096],[109,R|U|W,iB|U|4096],[110,R|U|W,
|
||||
iB|U|4096],[140,R|U|W,iB|U|4096],[142,R|U|W,iB|U|4096],Vy,[119,R|U|W,iB|U|4096]],[[115,R|S|W,iB|U|4096],[116,R|S|W,iB|U|4096],[109,R|S|W,iB|U|4096],[110,R|S|W,iB|U|4096],[140,R|S|W,iB|U|4096],[142,R|S|W,iB|U|4096],Vy,[119,R|S|W,iB|U|4096]],[[115,R|U|W,TB|4096],[116,R|U|W,TB|4096],[109,R|U|W,TB|4096],[110,R|U|W,TB|4096],[140,R|U|W,TB|4096],[142,R|U|W,TB|4096],Vy,[119,R|U|W,TB|4096]],[[115,R|S|W,TB|4096],[116,R|S|W,TB|4096],[109,R|S|W,TB|4096],[110,R|S|W,TB|4096],[140,R|S|W,TB|4096],[142,R|S|W,TB|4096],
|
||||
Vy,[119,R|S|W,TB|4096]],[[155,R|U|4096,V|U|4096],Vy,[98,R|U|W],[96,R|U|W],[95,R|U|4096],[42,R|U|W],[32,R|U|4096],[41,R|U|W]],[[155,R|S|4096,V|S|4096],Vy,[98,R|S|W],[96,R|S|W],[95,R|S|4096],[42,R|S|W],[32,R|S|4096],[41,R|S|W]],[[44,R|U|W],[31,R|U|W],Vy,Vy,Vy,Vy,Vy,Vy],[[44,R|S|W],[31,R|S|W],[17,R|S|4096],[17,R|aB|4096],[57,R|S|4096],[57,R|aB|4096],[108,R|S|4096],Vy],[],[[145,R|T|8192|hC],[153,R|T|8192|hC],[78,R|T|4096|hC],[89,R|T|4096|hC],[156,R|T|4096|hC],[157,R|T|4096|hC],Vy,Vy],[[139,R|T|8192|hC],
|
||||
[144,R|T|8192|hC],[75,R|T|4096|hC],[77,R|T|4096|hC],[146,R|T|8192|hC],Vy,[79,R|T|4096|hC],Vy],[Vy,Vy,Vy,Vy,[13,R|S|4096|Y,V|U|4096],[16,R|S|8192|Y,V|U|4096],[15,R|S|8192|Y,V|U|4096],[14,R|S|8192|Y,V|U|4096]]],$y={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},dz={PREV_TSS:0,CPL0_SP:2,
|
||||
CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42},ez={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,
|
||||
TASK_IOPM:100};cb(function(){for(var a=zb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);d=new Oy(d);yb(d,c)}});
|
||||
function iC(a,b,c){pb.call(this,"Computer",a,67108864);var d=this;jC(this,b);this.U=Ad(this,"autoPower",a);this.D=+Ad(this,"diagnostics",a);0<=this.D&&2>=this.D||(this.D=1);this.F=0;this.pa=a.busWidth||a.buswidth;this.A=kC;this.P=null;this.L=this.ha=!1;this.ra=Ad(this,"url")||"";this.ta=(Math.random()+.1).toString(36).substr(2,12);this.B=lC(this);if(this.G=xb("CPU",this.id)){this.ca=xb("Debugger",this.id);this.C=[];for(b=null;b=ac(this,"Video",b);)this.C.push(b);this.oa=new oc({id:this.de+".bus",
|
||||
busWidth:this.pa},this.G,this.ca);var e=Bb(this.id);this.K=(this.J=xb("Panel",this.id))&&this.J.ma.print;this.ka=this.Da;this.la=this.print;this.qa=this.O;this.K&&(this.ka=this.J.Da,this.la=this.J.print,this.qa=this.J.O);for(b=0;b<e.length;b++){var f=e[b];f.Da=function(a,b,c){mC(d,a);return d.ka.call(this,a,b,c)}.bind(f);f.print=function(a){return d.la.call(this,a)}.bind(f);f.O=function(a,b,c){mC(d,a,b);return d.qa.call(this,a,b,c)}.bind(f)}this.I=0;!this.K&&this.D&&nC(this);this.O("PCx86 v1.37.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");
|
||||
for(b=0;b<e.length;b++)f=e[b],f.tc&&f.tc(this,this.oa,this.G,this.ca);Bd(this.G,this.id,function(){Yd(d)},1E3/oC);b=null;f=Ad(this,"resume");void 0!==f&&(1<f.length?b=this.N=f:this.A=parseInt(f,10));f=!1;e=Xa("state");e||(f=!0,e=Ad(this,"state",a));e&&(b=this.ba=e,f||(this.L=!0,this.A=kC),this.A&&(this.V=new ag(this,"1.37.0"),this.V.load()?b=null:delete this.V));!b&&this.A&&(b=pC(this))&&(this.L=!0);if(this.ea=b){var g="Loading "+this.ea+"...";Ma(this.ea,null,!0,function(a,b,c){c?(d.N=null,d.L=!1,
|
||||
d.Da("Unable to load machine state from server (error "+c+(b?": "+Da(b):"")+")")):(d.P=b,d.ha=!0);Pb(d)},function(){d.O(g,Kb)})}else Pb(this);this.ma.power||(this.U=!0);!c&&this.U&&this.$e(this.Ve)}else kb("Unable to find CPU component")}ia(iC,pb);function LB(a){a.K&&(a.K.value="")}function nC(a){if(!a.I)for(var b=0;b<a.C.length;b++){var c=a.C[b];c&&(c=c.lg)&&(c.style.opacity="1",c.style.lineHeight="1",a.I++)}}
|
||||
function mC(a,b,c){if(a.I)for(var d=0;d<a.C.length;d++){var e=a.C[d];e&&(e=e.lg)&&(c!=Kb||"..."!=b.slice(-3)?ub(e,b+"\n"):vb(e,b,b+"."))}}function Eq(a){var b=a.D;3==a.D&&(a.D++,Pb(a));return!b}function jC(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){kb(d.message+" ("+c+")")}}a.M=b}function Ad(a,b,c){var d=Xa(b);void 0===d&&a.M&&(d=a.M[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}l=iC.prototype;
|
||||
l.$e=function(a,b){for(var c=this,d=Bb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!Ob(f)){Ob(f,function(){c.$e(a,b)});return}}a.call(this,b)};function qC(a,b){var c=new ag(a,"1.37.0",rC);if(c.load()&&sC(c)){var d=c.get(tC),e=b?b.get(tC):"unknown";d!=e&&(a.Da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
l.Ve=function(a){void 0===a&&(a=this.A||(this.P?uC:kC));if(!this.F){this.F++;var b=!1,c=!1;this.fa=!1;var d=this.V||new ag(this,"1.37.0");if(a==Kd)b=!0;else if(a>kC){if(d.load(this.P)){this.H=new ag(this,"1.37.0",vC);this.H.load()&&(a!=uC&&wC(this,d)&&(a=xC),yC(this.H));this.H.set(tC,Ga("Y-m-d H:i:s"));zC(this.H);var e=this.A&&!this.L;if(a==uC||tb("Click OK to restore the previous PCx86 machine state.")){if(c=sC(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.Da("Error: "+g),"unable to verify user"==g&&(Ta(AC,""),this.B=null)):this.O(f+": "+g),yC(d),d.load()?(c=sC(d),e=!0):c=!1))}e&&qC(this,c?d:null)}else a==xC&&d.clear()}else qC(this);delete this.P;delete this.V}e=Bb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.G&&(c=BC(this,g,d,b,c));b=[d,a,c];a!=Kd?this.$e(this.Xg,b):this.Xg(b)}};
|
||||
function BC(a,b,c,d,e){if(!b.Z.ac){b.Z.ac=!0;if(b.$b){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.$b(f,d)&&f&&(b.Da("Unable to restore hardware state")&&(a.ba&&!a.ha?(c.clear(),a.A=kC,window&&window.location.reload()):a.fa=!0),b.$b(null),e=!1)}b.Z.nf=!0;if(!d&&b.rj)for(a=b.rj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.Xg=function(a){if(!this.Z.nf){a:{if(this.I){if(2==this.D){this.D++;this.O("Press any key to continue...");var b=!1;break a}for(b=0;b<this.C.length;b++){var c=this.C[b];if(c&&(c=c.lg)){var d=Oa();c.style.opacity="0";c.style.lineHeight="0";if(0<=d.indexOf("MSIE")||0<=d.indexOf("Trident"))c.style.fontSize="0";c.value=""}}this.I=0}this.D=0;b=!0}if(!b){Pb(this,!1);this.$e(this.Xg,a);return}this.Z.nf=!0}b=a[0];c=0>a[1];a=a[2];if(d=this.ma.power)d.textContent="Shutdown";this.Z.ac=!0;this.G&&(BC(this,this.G,
|
||||
b,c,a),this.G.he());this.fa&&(wC(this,b),b.clear());!c&&this.H&&(this.H.clear(),delete this.H);this.F=0;Db(this.de,Ad(this,"autoScript"))};function wC(a,b){if(!a.Z.we){if(tb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.37.0"};d.url=a.ra;d.user=c;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
function QB(a,b,c){var d="none";if(a.F)return null;a.F--;var e=new ag(a,"1.37.0"),f=new ag(a,"1.37.0",rC),g=Ga("Y-m-d H:i:s");f.set(tC,g);e.set(tC,g);e.set(CC,"1.37.0");e.set(DC,window?window.location.href:null);e.set(EC,Oa());if(a.G&&a.G.Zb){var h=a.G.Zb(b,c);"object"===typeof h&&e.set(a.G.id,h);c&&(a.G.Z.ac=!1,!1===h&&(d=null))}g=Bb(a.id);for(var k=0;k<g.length;k++){var m=g[k];m.Z.ac&&(m.Zb&&(h=m.Zb(b,c),"object"===typeof h&&e.set(m.id,h)),c&&(m.Z.ac=!1,!1===h&&(d=null)))}d&&(c?(g=h=!1,b?(a.B&&
|
||||
OC(a,a.B,e.toString()),zC(f)&&zC(e)||(d=null,h=g=!0)):a.A&&(h=!0,g=a.A==PC),h&&e.clear(g)):d=e.toString());c&&(a.Z.ac=!1,b=a.ma.power)&&(b.textContent="Power");a.F=0;return d}l.reset=function(){this.oa&&this.oa.reset&&(Tb(this,"Resetting "+this.oa.type),this.oa.reset());for(var a=Bb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&(Tb(this,"Resetting "+c.type),c.reset())}};
|
||||
l.start=function(a,b){for(var c=Bb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};l.stop=function(a,b){for(var c=Bb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "power":return this.ma[b]=c,c.onclick=function(){d.F||(d.Z.ac?PB(d,!1,!0):d.$e(d.Ve))},!0;case "reset":return this.ma[b]=c,c.onclick=function(){if(d.Z.ac&&!d.F)if(d.G&&(d.G.Z.he=d.G.Z.Xa),d.A&&!d.N){var a=d.Z.we||!tb("Click OK to reset this PCx86 machine and discard all disk modifications.");PB(d,a,!0);!a&&d.ba?window&&window.location.reload():(a||(d.aa=!0),d.Ve(jC),d.aa=!1)}else d.reset(),d.G&&d.G.he()},!0;case "save":if(za(Na(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.ma[b]=c,c.onclick=function(){var a=kC(d,!0);if(a){var b=!!(d.A&&!d.N||d.ba),c=PB(d,b);b?NC(d,a,c):d.Da("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function kC(a,b){var c=a.B;c||((c=Sa(zC),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=PC(a,c))||a.Da("The user ID is invalid.")):b&&a.Da("Browser local storage is not available"));return c}
|
||||
function PC(a,b){a.B=null;b=Ma(Na()+"/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(zC,b.data),a.B=b.data)}catch(d){kb(d.message+" ("+c+")")}return a.B}function oC(a){var b=null;a.B&&(b=Na()+"/api/v1/user?req=load&user="+a.B+"&state="+QC(a,"1.37.0"));return b}
|
||||
function NC(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=QC(a,"1.37.0");d.data=c;b=Ma(Na()+"/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.Da("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.Da(c),Ta(zC,""),a.B=null)}}
|
||||
l.Eb=function(a,b,c){var d=this;switch(b){case "power":return this.ma[b]=c,c.onclick=function(){d.F||(d.Z.ac?QB(d,!1,!0):d.$e(d.Ve))},!0;case "reset":return this.ma[b]=c,c.onclick=function(){if(d.Z.ac&&!d.F)if(d.G&&(d.G.Z.he=d.G.Z.Xa),d.A&&!d.N){var a=d.Z.we||!tb("Click OK to reset this PCx86 machine and discard all disk modifications.");QB(d,a,!0);!a&&d.ba?window&&window.location.reload():(a||(d.aa=!0),d.Ve(kC),d.aa=!1)}else d.reset(),d.G&&d.G.he()},!0;case "save":if(za(Na(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.ma[b]=c,c.onclick=function(){var a=lC(d,!0);if(a){var b=!!(d.A&&!d.N||d.ba),c=QB(d,b);b?OC(d,a,c):d.Da("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function lC(a,b){var c=a.B;c||((c=Sa(AC),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=QC(a,c))||a.Da("The user ID is invalid.")):b&&a.Da("Browser local storage is not available"));return c}
|
||||
function QC(a,b){a.B=null;b=Ma(Na()+"/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(AC,b.data),a.B=b.data)}catch(d){kb(d.message+" ("+c+")")}return a.B}function pC(a){var b=null;a.B&&(b=Na()+"/api/v1/user?req=load&user="+a.B+"&state="+RC(a,"1.37.0"));return b}
|
||||
function OC(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=RC(a,"1.37.0");d.data=c;b=Ma(Na()+"/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.Da("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.Da(c),Ta(AC,""),a.B=null)}}
|
||||
function ac(a,b,c){a=Bb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}l.cd=function(a){if(this.C.length){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.C[0];d.F&&d.F.focus();!a&&window&&window.scrollTo(b,c)}};
|
||||
function Yd(a,b){if(a.G){var c=a.G;if(c.oj&&(b||!c.Z.Xa||c.Z.gj)){Ng(c,"EAX",c.D);Ng(c,"EBX",c.H);Ng(c,"ECX",c.I);Ng(c,"EDX",c.L);Ng(c,"ESP",y(c));Ng(c,"EBP",c.N);Ng(c,"ESI",c.K);Ng(c,"EDI",c.J);Ng(c,"CS",c.ba.T);Ng(c,"DS",c.Fa.T);Ng(c,"SS",c.U.T);Ng(c,"ES",c.pa.T);Ng(c,"EIP",z(c));var d=xe(c);Ng(c,"PS",d);Ng(c,"V",d&2048);Ng(c,"D",d&1024);Ng(c,"I",d&512);Ng(c,"T",d&256);Ng(c,"S",d&128);Ng(c,"Z",d&64);Ng(c,"A",d&16);Ng(c,"P",d&4);Ng(c,"C",d&1);80386==c.da&&(Ng(c,"FS",c.Ka.T),Ng(c,"GS",c.La.T),Ng(c,
|
||||
"CR0",c.ra),Ng(c,"CR2",c.pd),Ng(c,"CR3",c.wc))}if(d=c.ma.speed)d.textContent=c.Z.Xa&&c.Y.Kd?c.Y.Kd.toFixed(2)+"Mhz":"Stopped"}for(c=0;c<a.C.length;c++)Ps(a.C[c],b)}var uC="failsafe",qC="validate",sC="timestamp",BC="version",CC="url",DC="browser",zC="user",Kd=-1,jC=0,tC=1,wC=2,OC=3,nC=2;cb(function(){for(var a=zb(document,"pcx86-machine"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);c=zb(c,"pcx86","computer");for(var e=0;e<c.length;e++){var f=c[e],g=Ab(f);g=new hC(g,d,!0);yb(g,f);g.U&&g.$e(g.Ve)}}});
|
||||
db.show.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Ab(a[b]);if(c=xb("Computer",c.id))c.Z.we=!1,c.Z.nf&&!c.Z.ac&&c.Ve(Kd)}});db.exit.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Ab(a[b]);if(c=xb("Computer",c.id))c.Z.we=!0,c.Z.ac&&PB(c,!(!c.A||c.N),!0)}});function ag(a,b,c){this.id=a.id;this.ca=a.ca;this.A="";this.state={};this.B=this.C=!1;this.key=QC(a,b,c);xC(this,a.Ik)}l=ag.prototype;
|
||||
l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Pa()&&(a=Sa(this.key))?(this.A=a,this.B=!0):!1};function rC(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){kb(c.message||c),b=!1}return b}
|
||||
function yC(a){var b=!0;if(Pa()){var c=JSON.stringify(a.state);Ta(a.key,c)||(kb("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};function xC(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}
|
||||
l.clear=function(a){xC(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 QC(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 RC=0;
|
||||
function SC(a,b,c,d,e,f){e("Loading "+a+"...");Ma(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):TC(h,a,b,c,d,e,f)})}
|
||||
function TC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(rb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),d=d.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
|
||||
"$1PCx86$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?UC(a,f,h):h(a,null):g("no data"+(b?" for file: "+
|
||||
"CR0",c.ra),Ng(c,"CR2",c.pd),Ng(c,"CR3",c.wc))}if(d=c.ma.speed)d.textContent=c.Z.Xa&&c.Y.Kd?c.Y.Kd.toFixed(2)+"Mhz":"Stopped"}for(c=0;c<a.C.length;c++)Ps(a.C[c],b)}var vC="failsafe",rC="validate",tC="timestamp",CC="version",DC="url",EC="browser",AC="user",Kd=-1,kC=0,uC=1,xC=2,PC=3,oC=2;cb(function(){for(var a=zb(document,"pcx86-machine"),b=0;b<a.length;b++){var c=a[b],d=Ab(c);c=zb(c,"pcx86","computer");for(var e=0;e<c.length;e++){var f=c[e],g=Ab(f);g=new iC(g,d,!0);yb(g,f);g.U&&g.$e(g.Ve)}}});
|
||||
db.show.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Ab(a[b]);if(c=xb("Computer",c.id))c.Z.we=!1,c.Z.nf&&!c.Z.ac&&c.Ve(Kd)}});db.exit.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=Ab(a[b]);if(c=xb("Computer",c.id))c.Z.we=!0,c.Z.ac&&QB(c,!(!c.A||c.N),!0)}});function ag(a,b,c){this.id=a.id;this.ca=a.ca;this.A="";this.state={};this.B=this.C=!1;this.key=RC(a,b,c);yC(this,a.Ik)}l=ag.prototype;
|
||||
l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Pa()&&(a=Sa(this.key))?(this.A=a,this.B=!0):!1};function sC(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){kb(c.message||c),b=!1}return b}
|
||||
function zC(a){var b=!0;if(Pa()){var c=JSON.stringify(a.state);Ta(a.key,c)||(kb("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};function yC(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}
|
||||
l.clear=function(a){yC(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 RC(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 SC=0;
|
||||
function TC(a,b,c,d,e,f){e("Loading "+a+"...");Ma(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):UC(h,a,b,c,d,e,f)})}
|
||||
function UC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(rb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),d=d.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
|
||||
"$1PCx86$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?VC(a,f,h):h(a,null):g("no data"+(b?" for file: "+
|
||||
b:""),null)}
|
||||
function UC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/gi;m=p.exec(f);)k=0>k.toLowerCase().indexOf(m[1].toLowerCase())?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);UC(a,b,c)}})}else c(a,null)}
|
||||
function VC(a,b,c,d){function e(a){if(void 0===h){var b=g&&zb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=Aa(a))}function f(a){e("Error: "+a);k&&(--RC||lb(!0));k=!1}var g,h,k=!0;RC++;sb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));p.appendChild(v)}c||
|
||||
(c="/versions/pcx86/1.37.0/components.xsl");m=function(d,h){h?SC(c,null,null,!1,e,function(d,k){k?(rb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--RC||lb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--RC||lb(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?SC(b,a,d,!0,e,m):TC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function WC(a,b,c,d){lb(!1);return VC(a,b,c,d)}window.embedPC=WC;window.embedPCx86=WC;
|
||||
function VC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/gi;m=p.exec(f);)k=0>k.toLowerCase().indexOf(m[1].toLowerCase())?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);VC(a,b,c)}})}else c(a,null)}
|
||||
function WC(a,b,c,d){function e(a){if(void 0===h){var b=g&&zb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=Aa(a))}function f(a){e("Error: "+a);k&&(--SC||lb(!0));k=!1}var g,h,k=!0;SC++;sb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));p.appendChild(v)}c||
|
||||
(c="/versions/pcx86/1.37.0/components.xsl");m=function(d,h){h?TC(c,null,null,!1,e,function(d,k){k?(rb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--SC||lb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--SC||lb(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?TC(b,a,d,!0,e,m):UC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function XC(a,b,c,d){lb(!1);return WC(a,b,c,d)}window.embedPC=XC;window.embedPCx86=XC;
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e)return Db(c,f)?(b&&(a.disabled=!0),!0):!1;if(d){var g=xb(d,c+".machine");if(g){var h=g.exports;if(h&&(h=h[e]))return h.call(g,f)?(b&&(a.disabled=!0),!0):!1}}console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=lb;window.sendEvent=nb;
|
||||
function XC(a,b,c,d){if(!c&&b){d.push(b);a=sb[d[0]];b=null;for(var e in a)if(za(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ma(b,null,!0,function(a,b){YC(b,d)}):YC(null,d)}else kb("Error ("+c+") requesting "+a)}
|
||||
function YC(a,b){var c,d,e=b[0],f=b[1];var g=b[4];if(g=g.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);)/)){var h=sb[e],k={},m;for(m in h){var p=h[m],v=ya(m);if("xml"==v){for(v=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;c=v.exec(h[m]);){var u=c[2];u&&!h[u]&&(p=p.replace(c[0],""))}c=m=xa(m)}else"xsl"==v&&(d=m=xa(m));k[m]=p}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);c&&d?(a=JSON.stringify(k),f+=".js",g=g[1]+"var resources="+a+";"+g[2]+g[3],g=g.replace(/\u00A9/g,
|
||||
function YC(a,b,c,d){if(!c&&b){d.push(b);a=sb[d[0]];b=null;for(var e in a)if(za(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ma(b,null,!0,function(a,b){ZC(b,d)}):ZC(null,d)}else kb("Error ("+c+") requesting "+a)}
|
||||
function ZC(a,b){var c,d,e=b[0],f=b[1];var g=b[4];if(g=g.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);)/)){var h=sb[e],k={},m;for(m in h){var p=h[m],v=ya(m);if("xml"==v){for(v=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;c=v.exec(h[m]);){var u=c[2];u&&!h[u]&&(p=p.replace(c[0],""))}c=m=xa(m)}else"xsl"==v&&(d=m=xa(m));k[m]=p}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);c&&d?(a=JSON.stringify(k),f+=".js",g=g[1]+"var resources="+a+";"+g[2]+g[3],g=g.replace(/\u00A9/g,
|
||||
"©"),a=Za(g,"javascript",!1,f),a=a+(', copy it to your web server as "'+f+'", and then add the following to your web page:\n\n')+('<div id="'+e+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+f+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+e+'","'+c+'","'+d+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",kb(a)):kb("Missing XML/XSL resources")}else kb("Unsupported script")}
|
||||
window.savePC=function(a,b,c){var d=xb("Computer",a),e=xb("Debugger",a);if(d){var f=PB(d,!0),g=d.M?JSON.stringify(d.M):null;b||(b="/versions/pcx86/1.37.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ik:g}))return!0;Ma(b,null,!0,function(c,d,e){XC(c,d,e,[a,xa(b,!0),g,f])});return!0}kb("Unable to identify machine '"+a+"'");return!1};})();//# sourceMappingURL=/versions/pcx86/1.37.0/pcx86-dbg.map
|
||||
window.savePC=function(a,b,c){var d=xb("Computer",a),e=xb("Debugger",a);if(d){var f=QB(d,!0),g=d.M?JSON.stringify(d.M):null;b||(b="/versions/pcx86/1.37.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ik:g}))return!0;Ma(b,null,!0,function(c,d,e){YC(c,d,e,[a,xa(b,!0),g,f])});return!0}kb("Unable to identify machine '"+a+"'");return!1};})();//# sourceMappingURL=/versions/pcx86/1.37.0/pcx86-dbg.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -56333,8 +56333,9 @@ class Mouse extends Component {
|
|||
* However, syncMouse() seems unnecessary, given that SerialPort initializes its MCR to an "inactive"
|
||||
* state, and even when restoring a previous state, if we've done our job properly, both SerialPort
|
||||
* and Mouse should be restored in sync, making any explicit attempt at sync'ing unnecessary (or so I hope).
|
||||
*
|
||||
* this.componentDevice.syncMouse();
|
||||
*/
|
||||
// this.componentDevice.syncMouse();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -57145,7 +57146,7 @@ Web.onInit(Mouse.init);
|
|||
* 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 FDC and HDC components later and moved here, to
|
||||
* further reduce some of the duplication between them, but the above functionality is a good start.
|
||||
|
|
@ -59308,10 +59309,11 @@ class Disk 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).
|
||||
* (eg, 'length' values of 512, 'pattern' values of 0, and empty 'data' arrays, since those
|
||||
* are defaults).
|
||||
*
|
||||
* In addition, we first check every sector to see if it can be "deflated". Sectors that were
|
||||
* initially "deflated" should remain that way unless/until they were modified, so technically,
|
||||
|
|
@ -59319,9 +59321,10 @@ class Disk extends Component {
|
|||
* so it doesn't hurt to check every sector.
|
||||
*
|
||||
* @this {Disk}
|
||||
* @param {boolean} [fFormatted]
|
||||
* @return {string} containing the entire disk image as JSON-encoded data
|
||||
*/
|
||||
toJSON()
|
||||
convertToJSON(fFormatted)
|
||||
{
|
||||
var s, pba = 0, sector, sectorLast;
|
||||
|
||||
|
|
@ -59341,9 +59344,9 @@ class Disk extends Component {
|
|||
});
|
||||
|
||||
/*
|
||||
* Eliminate unnecessary default properties (eg, 'length' values of 512, 'pattern' values of 0).
|
||||
* Eliminate unnecessary default properties (eg, 'length' values of 512, 'pattern' values of 0, etc).
|
||||
*/
|
||||
s = s.replace(/,"length":512/gm, "").replace(/,"pattern":0/gm, "");
|
||||
s = s.replace(/,"length":512/g, "").replace(/,"pattern":0/g, "").replace(/,"data":\[]/g, "");
|
||||
|
||||
/*
|
||||
* I don't really want to strip quotes from disk image property names, since I would have to put them
|
||||
|
|
@ -59352,19 +59355,20 @@ class Disk 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;
|
||||
}
|
||||
|
||||
|
|
@ -62867,9 +62871,9 @@ class HDC extends Component {
|
|||
* HDC supports the following component-specific properties:
|
||||
*
|
||||
* drives: an array of driveConfig objects, each containing 'name', 'path', 'size' and 'type' properties
|
||||
* type: either 'xt' (for the PC XT Xebec controller) or 'at' (for the PC AT Western Digital controller)
|
||||
* type: either 'XT' (for the PC XT Xebec controller) or 'AT' (for the PC AT Western Digital controller)
|
||||
*
|
||||
* The 'type' parameter defaults to 'xt'. All ports for the PC XT controller are referred to as XTC ports,
|
||||
* The 'type' parameter defaults to 'XT'. All ports for the PC XT controller are referred to as XTC ports,
|
||||
* and similarly, all PC AT controller ports are referred to as ATC ports.
|
||||
*
|
||||
* If 'path' is empty, a scratch disk image is created; otherwise, we make a note of the path, but we will NOT
|
||||
|
|
@ -62910,7 +62914,8 @@ class HDC extends Component {
|
|||
* defaults. For example, the default XT drive type is 3 (for a 10Mb disk drive), whereas the default
|
||||
* AT drive type is 2 (for a 20Mb disk drive).
|
||||
*/
|
||||
this.fATC = (parmsHDC['type'] == "at");
|
||||
var sType = parmsHDC['type'];
|
||||
this.fATC = sType && sType.toUpperCase() == "AT" || false;
|
||||
|
||||
/*
|
||||
* Support for local disk images is currently limited to desktop browsers with FileReader support;
|
||||
|
|
@ -72556,7 +72561,7 @@ class DebuggerX86 extends Debugger {
|
|||
* get "inflated" with use. See the dump() method in the Disk component for more details.
|
||||
*/
|
||||
this.doClear();
|
||||
this.println(drive.disk.toJSON());
|
||||
this.println(drive.disk.convertToJSON());
|
||||
return;
|
||||
}
|
||||
if (dc.seekDrive(drive, iSector, nSectors)) {
|
||||
|
|
|
|||
|
|
@ -537,8 +537,8 @@ function pq(a,b,c,d){if(d)a.wa("Unable to load font ROM (error "+d+": "+b+")",0>
|
|||
function Jq(a,b){if(1==b)return a.fa[0]=Kq[Eq],a.fa[1]=Kq[Cq],a.fa;if(2==b){var c=a.B.$e;if(a.B===a.A){var d=a.A.vc[0];c=d&7;d&16&&(c|=8);18!=a.A.vc[1]&&(c|=32)}a.fa[0]=Kq[c&15];c=c&32?Lq:Mq;for(d=0;d<c.length;d++)a.fa[d+1]=Kq[c[d]];return a.fa}if(a.I===a.Db)return Kq;a.Ga&&b&&!a.fa[16]&&(a.Ga=!1);if(!a.Ga){c=a.A;d=c.ve;var e;if(8==b)for(e=0;256>e;e++){var f=d[e]||0;var g=f<<2&252;var h=f>>4&252;f=f>>10&252;a.fa[e]=[g,h,f,255]}else{var k=d&&d[255];b=null!=c.vc[15]?c.vc:Nq;for(e=0;16>e;e++)f=b[e]&
|
||||
63,k?(f|=(c.vc[20]&12)<<4,c.vc[16]&128&&(f&=-49,f|=(c.vc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.fa[e]=[g,h,f,255]}a.Ga=!0}return a.fa}function Un(a,b,c,d){a.vb=b;a.Qa=c;a.Ca=d}
|
||||
function zq(a,b){var c=!1;if(window&&a.vb&&(!b||a.G)){var d=0,e=a.Ca?a.Ca:8,f=Jq(a);null!=a.Qa[0]&&Oq(a,Pq,a.Qa[0],d,e,8,a.vb,f)&&(c=!0);d=a.Ca?0:2048;e=a.Ca?a.Ca:9;null!=a.Qa[1]&&(Oq(a,Qq,a.Qa[1],d,e,14,a.vb,Rq,Sq)&&(c=!0),a.Ca&&Oq(a,a.Oa,a.Qa[1],0,a.Ca,14,a.vb,f)&&(c=!0))}b||(a.aa=-1,a.za=-1,a.ra=0);return c}function Oq(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(Tq(a,b,c,d,e,f,g,h,k)&&(m=!0),a.rd&&Tq(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
|
||||
function Tq(a,b,c,d,e,f,g,h,k){var m=!1,r=b&1?0:1,x=a.qa[b],t=16>h.length?h.length:16;x||(x={qc:e<<r,rc:f<<r,ae:Array(t),Ph:h.slice(0,t),De:k,bg:Array(t)});for(k=0;k<t;k++){var z=h[k],E=x.ae[k]?x.Ph[k]:[];if(z[0]!==E[0]||z[1]!==E[1]||z[2]!==E[2]){var O,K;m=x;E=k;var ca=z,na=r,db=c,sc=d,bi=e,Uf=f,$t=g,au=[0,0,0,0],Vf=document.createElement("canvas");Vf.width=m.qc<<4;Vf.height=m.rc<<4;var Om=Vf.getContext("2d"),Wf=8>Uf||!sc?Uf:8,ci=Om.createImageData(m.qc,m.rc);for(K=0;256>K;K++){for(z=0;z<Uf;z++)for(var bu=
|
||||
m.De&&E&1&&z>=Uf-2,cu=$t[z<Wf?db+K*Wf+z:sc+K*Wf+z-Wf],di=0;di<=na;di++)for(O=0;O<bi;O++){var Pm=O<<na,Qm=(z<<na)+di,Rm=bu||cu&128>>(8<=O&&192<=K&&223>=K?7:O)?ca:au;Uq(ci,Pm,Qm,Rm);na&&Uq(ci,Pm+1,Qm,Rm)}Om.putImageData(ci,(K&15)*m.qc,(K>>4)*m.rc)}m.ae[E]="#"+ra(ca[0],2)+ra(ca[1],2)+ra(ca[2],2);m.Ph[E]=ca;m.bg[E]=Vf;m=!0}}a.qa[b]=x;return m}function Vq(a){0<a.ra||0<=a.aa?0>a.za&&(a.za=0):a.za=-1}
|
||||
function Tq(a,b,c,d,e,f,g,h,k){var m=!1,r=b&1?0:1,x=a.qa[b],t=16>h.length?h.length:16;x||(x={qc:e<<r,rc:f<<r,ae:Array(t),Ph:h.slice(0,t),De:k,bg:Array(t)});for(k=0;k<t;k++){var z=h[k],E=x.ae[k]?x.Ph[k]:[];if(z[0]!==E[0]||z[1]!==E[1]||z[2]!==E[2]){var O,K;m=x;E=k;var ca=z,na=r,db=c,sc=d,bi=e,Uf=f,Zt=g,$t=[0,0,0,0],Vf=document.createElement("canvas");Vf.width=m.qc<<4;Vf.height=m.rc<<4;var Om=Vf.getContext("2d"),Wf=8>Uf||!sc?Uf:8,ci=Om.createImageData(m.qc,m.rc);for(K=0;256>K;K++){for(z=0;z<Uf;z++)for(var au=
|
||||
m.De&&E&1&&z>=Uf-2,bu=Zt[z<Wf?db+K*Wf+z:sc+K*Wf+z-Wf],di=0;di<=na;di++)for(O=0;O<bi;O++){var Pm=O<<na,Qm=(z<<na)+di,Rm=au||bu&128>>(8<=O&&192<=K&&223>=K?7:O)?ca:$t;Uq(ci,Pm,Qm,Rm);na&&Uq(ci,Pm+1,Qm,Rm)}Om.putImageData(ci,(K&15)*m.qc,(K>>4)*m.rc)}m.ae[E]="#"+ra(ca[0],2)+ra(ca[1],2)+ra(ca[2],2);m.Ph[E]=ca;m.bg[E]=Vf;m=!0}}a.qa[b]=x;return m}function Vq(a){0<a.ra||0<=a.aa?0>a.za&&(a.za=0):a.za=-1}
|
||||
function Iq(a){if(a.G){for(var b=10;15>=b;b++)if(null==a.B.Ua[b])return;var c=a.B.Ua[10];b=c&31;var d=a.B.Ua[11]&Wp[11],e=a.B.Ua[9]&Wp[9],f=!1;a.B===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Wq(a);else{c=a.B.Ua[15];c|=(a.B.Ua[14]&a.B.qf)<<8;a.aa!=c&&(Wq(a),a.aa=c);d=d-b+1;if(a.Wc!=b||a.Ic!=d)a.Wc=b,a.Ic=d;a.ua=e+1;Vq(a)}}}
|
||||
function Wq(a){if(0<=a.aa){if(void 0!==a.L){var b=Xq<<8,c=a.L[a.aa];if(c&b){c&=~b;b=a.aa%a.D;var d=a.aa/a.D|0;a.G&&a.qa[a.G]&&(a.Ba&&Yq(a,b,d,c,a.Ba),Yq(a,b,d,c));a.L[a.aa]=c}}a.aa=-1}}
|
||||
function Zq(a){var b=a.B;a.Nc=!1;var c=b.od[5];if(null!=c){var d=mp;var e=op,f=b.od[3]&31;switch(c&3){case 0:if(f){e=op|32;switch(f&24){case 8:e=op|96;break;case 16:e=op|160;break;case 24:e=op|224}b.Ac=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Oa==Vn&&(e=3,b.Ac=f&7)}c&8&&(d=1280);b=b.Ud[4];null!=b&&(b&4||(d|=np,e|=pp),c&64&&(b&8&&(d|=16384,e|=4),a.Nc=!0));d|=e}return d}
|
||||
|
|
@ -617,103 +617,102 @@ e(f,!1);return f};function Cs(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f+
|
|||
l.write=function(a,b,c){if(this.oe)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.yc?f<a.Mc?(a.yc+=a.Mc-f,a.Mc=f):f>=a.Mc+a.yc&&(a.yc+=f-(a.Mc+a.yc)+1):(a.Mc=f,a.yc=1);d[f]=d[f]&~(255<<b)|c<<b;this.C&&Hs(this,a,!0)}return!0}return null};function Ks(a){for(var b="",c=0,d;d=Ds(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(Es(a,d,e));return btoa(b)}
|
||||
l.save=function(){var a=0,b=[];b[a++]=[this.F,this.I,this.kb,this.$a,this.Xa,this.ob];if(!this.C&&!this.oe)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.yc){for(var h=[],k=0,m=g.Mc,r=g.Mc+g.yc;m<r;)h[k++]=g.data[m++];b[a++]=[d,e,f,g.Mc,h]}}return b};
|
||||
l.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[0]&&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.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],m=g[f++];if(h>=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+
|
||||
m+") out of range ("+b+" changes applied)";b=-1;break}if(this.oe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.Mc=e;for(h.yc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b&&-2!=b&&this.wa("Unable to restore disk '"+this.Pc+": "+c);return b};
|
||||
l.toJSON=function(){var a=0;for(var b;b=Ds(this,a++);)Ls(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 Ls(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 vs=0;function Ms(a){u.call(this,"FDC",a);this.dmaRead=Ms.prototype.Sj;this.dmaWrite=Ms.prototype.Tj;this.dmaFormat=Ms.prototype.gk;this.M=Ns(a.autoMount);this.K=a.sortBy||"name";"none"==this.K&&(this.K=null);this.B=[];this.L=!La("Mobi")&&window&&"FileReader"in window;this.exports={loadDisk:this.ui,wait:this.xn}}ja(Ms,u);l=Ms.prototype;
|
||||
l.Ab=function(a,b,c){var d=this;switch(b){case "listDisks":this.ia[b]=c;if(this.K){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.K?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){Os(d)};return!0;case "descDisk":case "listDrives":return this.ia[b]=c,c.onchange=function(){var a=qa(c.value,10);null!=a&&Ps(d,a)},!0;case "loadDisk":return this.ia[b]=c,c.onclick=
|
||||
m+") out of range ("+b+" changes applied)";b=-1;break}if(this.oe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.Mc=e;for(h.yc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b&&-2!=b&&this.wa("Unable to restore disk '"+this.Pc+": "+c);return b};var vs=0;
|
||||
function Ls(a){u.call(this,"FDC",a);this.dmaRead=Ls.prototype.Sj;this.dmaWrite=Ls.prototype.Tj;this.dmaFormat=Ls.prototype.gk;this.M=Ms(a.autoMount);this.K=a.sortBy||"name";"none"==this.K&&(this.K=null);this.B=[];this.L=!La("Mobi")&&window&&"FileReader"in window;this.exports={loadDisk:this.ui,wait:this.xn}}ja(Ls,u);l=Ls.prototype;
|
||||
l.Ab=function(a,b,c){var d=this;switch(b){case "listDisks":this.ia[b]=c;if(this.K){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.K?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){Ns(d)};return!0;case "descDisk":case "listDrives":return this.ia[b]=c,c.onchange=function(){var a=qa(c.value,10);null!=a&&Os(d,a)},!0;case "loadDisk":return this.ia[b]=c,c.onclick=
|
||||
function(){d.ui()},!0;case "saveDisk":if(!this.L){c.parentNode.removeChild(c);break}this.ia[b]=c;c.onclick=function(){var a=d.ia.listDrives;a&&a.options&&d.A&&((a=d.A[qa(a.value,10)||0])?(a=a.sa)?(a=Qa(Ks(a),"octet-stream",!0,a.ih.replace(".json",".img")),q(a)):d.wa("No diskette loaded in drive."):d.wa("No diskette drive selected."))};return!0;case "mountDisk":if(this.L)return this.ia[b]=c,c.onchange=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;Qs(d,sa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};l.jc=function(a,b,c,d){this.oa=b;this.R=c;this.Ea=d;this.na=a;this.U=Ab(a,"ChipSet");Ns(Lc(this.na,"autoMount"),this.M);Rs(this);kc(b,this,Ss);mc(b,this,Ts);Us(this,"None","",!0);this.L&&Us(this,"Local Disk","?");Us(this,"Remote Disk","??");Vs(this)||v(this)};
|
||||
function Ns(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){q("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};for(var c in a)b&&(b[c]=a[c]);return a}
|
||||
l.Rb=function(a,b){if(!b){if(!a){if(this.reset(),this.na.W){this.B=[];for(a=0;a<this.A.length;a++)Ws(this,a,!0);Vs(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ia.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",Ps(this,0))}}return!0};l.Qb=function(a){return a?this.save():!0};l.reset=function(){Rs(this)};
|
||||
l.save=function(){var a=new Qe(this);a.set(0,Xs(this));return a.data()};l.restore=function(a){return Rs(this,a[0])};
|
||||
function Rs(a,b){var c=0,d=!0;b||(b=[0,0,Ys,Array(9),0,0,0,[]]);a.Na=b[c++];c++;a.Z=b[c++];a.G=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var e=b[c++];var f=b[c++];null!=f&&(a.B=f);void 0===a.A&&(a.N=4,a.U&&(a.N=+gk(a.U,yj,void 0)),a.A=Array(4));for(f=0;f<a.A.length;f++){var g=a.A[f];if(void 0===g){g=a.A[f]={};if(a.U)a:{var h=a.U;if(f<+gk(h,yj,void 0)){if(!h.L){h=360;break a}if(f<h.L.length){h=h.L[f];break a}}h=0}else h=0;switch(h){case 160:case 180:g.$a=1;default:g.kb=40;g.Xa=9;break;case 720:g.kb=
|
||||
80;g.Xa=9;break;case 1200:g.kb=80;g.Xa=15;break;case 1440:g.kb=80,g.Xa=18}}var k=a,m=f,r=e[f],x=0;h=!0;g.Na=m;g.Kd=g.ke=!1;g.pe=null;void 0===r&&(r=[Zs,!0,0,2,0]);"boolean"==typeof r[1]&&(r[1]=[$s,g.kb||40,g.$a||r[3],g.Xa||9,g.ob||512,r[1],g.If,g.Ne,g.Oe]);g.lb=r[x++];var t=r[x++];g.name=t[0];g.kb=t[1];g.$a=t[2];g.Xa=t[3];g.ob=t[4];g.le=t[5];(g.If=t[6])?(g.Ne=t[7],g.Oe=t[8]):(g.If=g.kb,g.Ne=g.$a,g.Oe=g.Xa);g.Wa=r[x++];g.wd=r[x++];g.yb=r[x++];g.wd=100<=g.wd?g.wd-100:g.wd-g.yb;g.bb=r[x++];g.xd=r[x++];
|
||||
g.xb=r[x++];g.Ra=r[x++];g.Va=null;g.sa||(g.Wd="");var z=r[x++];102==z&&(z=!1);"boolean"==typeof z?(t=r[x++],r=r[x],z?(x=k.A[m],Ws(k,m,!0,!0),x.ke=!0,m=new us(k,x,"preload"),k.ci(x,m,t,r,!0)):at(k,m,t,r,!0)?g.sa&&r&&bt(k,t,r,g.sa):v(k,!1)):void 0!==z&&g.sa&&0>g.sa.restore(z)&&(h=!1);h&&g.sa&&void 0!==g.Ra&&(g.Va=g.sa.seek(g.yb,g.Wa,g.bb));h||(d=!1)}a.H=b[c++]||0;a.F=b[c]||ct;return d}
|
||||
function Xs(a){var b=0,c=[];c[b++]=a.Na;c[b++]=0;c[b++]=a.Z;c[b++]=a.G;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,r=[];r[m++]=k.lb;r[m++]=[k.name,k.kb,k.$a,k.Xa,k.ob,k.le,k.If,k.Ne,k.Oe];r[m++]=k.Wa;r[m++]=k.wd+100;r[m++]=k.yb;r[m++]=k.bb;r[m++]=k.xd;r[m++]=k.xb;r[m++]=k.Ra;r[m++]=k.ke;r[m++]=k.Jj;r[m]=k.Wd;f[h]=r}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&dt(a,f.Wd,f.sa);c[d]=a.B;c[b++]=a.H;c[b]=a.F;return c}
|
||||
function Vs(a,b){b||(a.J=0);for(var c in a.M){var d=a.M[c],e;if(!(e=d.path))a:{if(e=d.name){var f=a.ia.listDisks;if(f&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.text==e){e=h.value;break a}}}e=""}e&&(f=c.charCodeAt(0)-65,0<=f&&f<a.A.length?!at(a,f,d.name||et(a,e)||sa(e,!0),e,!0)&&b&&v(a,!1):a.wa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")"))}return!!a.J}
|
||||
l.ui=function(){var a=this.ia.listDisks;return a?Qs(this,a.options[a.selectedIndex].text,a.value):!1};
|
||||
function Qs(a,b,c,d){var e,f=a.ia.listDrives;if(f&&!isNaN(e=qa(f.value,10))&&0<=e&&e<a.A.length){if(!c)return Ws(a,e),!0;if("?"==c)return a.wa('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return!1;b=sa(c)}for(;0>at(a,e,b,c,!1,d);){if(!window.confirm("Click OK to reload the original disk and discard any changes."))return!1;var g=a,h=c;for(f=0;f<g.B.length;f++)if(g.B[f][1]==h){g.B.splice(f,1);break}Ws(a,
|
||||
e,!1,!0)}return!0}a.wa("Unable to load the selected drive");return!1}function at(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.Wd.toLowerCase()!=d.toLowerCase())){Ws(a,b,e,!0);if(g.Kd)return a.wa("Drive "+b+" busy"),0;g.Kd=!0;e&&(g.Jd=!0,a.J++);g.ke=!!f;return(new us(a,g,"preload")).load(c,d,f,a.ci)?1:0}return-1}
|
||||
l.ci=function(a,b,c,d,e){a.Kd=!1;if(b){var f=b.info();if(b&&f[0]>a.kb||f[1]>a.$a)this.wa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Na)),b=null}b?(a.sa=b,a.Jj=c,a.Wd=d,et(this,d)||Us(this,c,d),bt(this,c,d,b),f=b.info(),this.H|=ft,a.pe||this.wa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Na),a.Jd||e),a.If=f[0],a.Ne=f[1],a.Oe=f[2],this.na&&Yc(this.na)):a.ke=!1;a.Jd&&(a.Jd=!1,--this.J||v(this));Ps(this,a.Na);a.pe&&(a.pe(),a.pe=null)};
|
||||
function Us(a,b,c,d){if((a=a.ia.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 et(a,b){if((a=a.ia.listDisks)&&a.options)for(var c=0;c<a.options.length;c++){var d=a.options[c];if(d.value==b)return d.text}return null}
|
||||
function Ps(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ia.listDisks;a=a.ia.listDrives;if(d&&a&&d.options&&a.options&&(a=qa(a.value,10),c=c.ke?"?":c.Wd,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}
|
||||
function Os(a){var b=a.ia.listDisks,c=a.ia.descDisk,d=b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){q(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}}l.xn=function(a){for(var b=0;b<this.A.length;b++){var c=this.A[b];if(c&&c.Kd)return c.pe||(c.pe=a),!1}return!0};
|
||||
function Ws(a,b,c,d){var e=a.A[b];e.sa&&(dt(a,e.Wd,e.sa),e.Jj="",e.Wd="",e.sa=null,e.ke=!1,a.H|=ft,d||a.wa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ps(a,b))}function bt(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 dt(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}}l.ym=function(a,b){b>?this.I>||this.I&ht&&this.U&&Jf(this.U,6):Rs(this);this.I=b};l.Xk=function(){return 80};l.Zk=function(){return this.Z};
|
||||
l.Wk=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.I&ht&&this.U&&Hf(this.U,6);++this.D>=this.C&&(this.Z&=~(it|jt),this.D=this.C=0);return a};
|
||||
l.xm=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]&kt;if(void 0!==lt[a]&&this.C>=lt[a].gd){b=!1;this.D=0;a=mt(this);var c=a&kt;switch(c){case nt:mt(this);mt(this);ot(this);break;case pt:var d=mt(this);this.Na=d&3;var e=this.A[this.Na];ot(this);qt(this,(e.lb&rt)>>>24);break;case st:case tt:d=mt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];e.Wa=b;d=e.yb=mt(this);var f=mt(this);var g=e.bb=mt(this);var h=mt(this);e.xb=128<<h;e.xd=mt(this);mt(this);mt(this);c==tt?(c=e,c.lb=ut|vt,
|
||||
c.sa&&(c.Va=null,c.lb=wt,this.U&&(zl(this.U,2,this,"dmaRead",c),vl(this.U,2)))):(c=e,c.lb=ut|vt,c.sa&&(c.sa.oe?c.lb=xt|vt:(c.Va=null,c.lb=wt,this.U&&(zl(this.U,2,this,"dmaWrite",c),vl(this.U,2)))));yt(this,e,a,b,d,f,g,h);b=!0;break;case zt:d=mt(this);this.Na=d&3;e=this.A[this.Na];e.yb=e.wd=0;e.lb=At|Bt;ot(this);b=!0;break;case Ct:e=this.A[this.Na];e.Wa=0;ot(this);qt(this,e.Na|e.Wa<<2|e.lb&Dt);qt(this,e.yb);this.Na=this.Na+1&3;break;case Et:d=mt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];d=e.yb;
|
||||
f=e.Wa=b;g=e.bb=1;h=0;e.lb=wt;e.sa&&(e.Va=e.sa.seek(e.yb,e.Wa,e.bb))?h=e.Va.length>>8:e.lb=ut|vt;yt(this,e,a,b,d,f,g,h);b=!0;break;case Ft:d=mt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];d=e.yb;f=e.Wa=b;g=1;h=mt(this);e.xb=128<<h;e.xd=mt(this);mt(this);e.Uh=mt(this);c=e;c.lb=ut|vt;c.sa&&(c.Va=null,c.lb=wt,this.U&&(c.ge=0,c.Gc=Array(4),c.dg=!0,c.tf=0,zl(this.U,2,this,"dmaFormat",c),vl(this.U,2),c.dg=!1));yt(this,e,a,b,d,f,g,h);b=!0;break;case Gt:d=mt(this),this.Na=d&3,e=this.A[this.Na],e.Wa=d>>2&
|
||||
1,d=mt(this),e.yb+=d-e.wd,0>e.yb&&(e.yb=0),e.yb>=e.kb&&(e.yb=e.kb-1),e.wd=d,e.lb=At,e.yb||(e.lb|=Bt),ot(this),b=!0}0<this.C&&(this.Z=this.Z|it|jt);this.I&ht&&(!e||e.lb&ut||!b||this.U&&Jf(this.U,6))}};l.Yk=function(){var a=this.H;this.H&=~ft;return a};l.wm=function(a,b){this.F=b};function yt(a,b,c,d,e,f,g,h){ot(a);qt(a,b.Na|b.Wa<<2|b.lb&Dt);qt(a,(b.lb&Ht)>>>8);qt(a,(b.lb&It)>>>16);var k=0;if(e!=b.yb||f!=b.Wa)k=g=1;c&Jt&&(f^=k,d||(k=0));qt(a,e+k);qt(a,f);qt(a,g);qt(a,h)}
|
||||
function mt(a){var b=a.G[a.D];a.D++;return b}function ot(a){a.D=a.C=0}function qt(a,b){a.G[a.C++]=b}l.Sj=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.lb&&a.sa){do{if(a.Va&&(e=a.Ra,0<=(b=a.sa.read(a.Va,a.Ra++)))){d=a.Va;break}a.Va=a.sa.seek(a.yb,a.Wa,a.bb);if(!a.Va){a.lb=Kt|vt;break}a.Ra=0;Lt(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};l.Tj=function(a,b){return void 0!==b&&0<=b?Mt(a,b):-1};
|
||||
l.gk=function(a,b){if(void 0!==b&&0<=b)a:if(a.lb)a=-1;else{a.Gc[a.ge++]=b;if(a.ge==a.Gc.length){a.yb=a.Gc[0];a.Wa=a.Gc[1];a.bb=a.Gc[2];a.xb=128<<a.Gc[3];for(var c=a.ge=0;c<a.xb;c++)if(0>Mt(a,a.Uh)){a=-1;break a}a.tf++}a.tf>=a.xd&&(b=-1);a=b}else a=-1;return a};function Mt(a,b){if(a.lb||!a.sa)return-1;do{if(a.Va&&a.sa.write(a.Va,a.Ra++,b))break;a.Va=a.sa.seek(a.yb,a.Wa,a.bb);if(!a.Va){a.lb=Nt|vt;b=-1;break}a.Ra=0;Lt(a)}while(1);return b}
|
||||
function Lt(a){a.bb++;a.bb>=a.Oe+1&&(a.bb=1,a.Wa++,a.Wa>=a.Ne&&(a.Wa=0,a.yb++))}var $s="Floppy Drive",gt=4,ht=8,jt=16,it=64,Ys=128,nt=3,pt=4,st=5,tt=6,zt=7,Ct=8,Et=10,Ft=13,Gt=15,kt=31,Jt=128,wt=0,ut=8,At=32,vt=64,Zs=192,Dt=255,xt=512,Kt=1024,Nt=8192,Ht=65280,It=16711680,Bt=268435456,rt=-16777216,ft=128,ct=0;aa={};
|
||||
var lt={3:{gd:3,yd:0,name:aa.Do},4:{gd:2,yd:1,name:aa.Bo},5:{gd:9,yd:7,name:aa.Ho},6:{gd:9,yd:7,name:aa.xo},7:{gd:2,yd:0,name:aa.zo},8:{gd:1,yd:2,name:aa.Co},10:{gd:2,yd:7,name:aa.yo},13:{gd:6,yd:7,name:aa.uo},15:{gd:3,yd:0,name:aa.Ao}},Ss={1009:Ms.prototype.Xk,1012:Ms.prototype.Zk,1013:Ms.prototype.Wk,1015:Ms.prototype.Yk},Ts={1010:Ms.prototype.ym,1013:Ms.prototype.xm,1015:Ms.prototype.wm};
|
||||
Sa(function(){for(var a=jb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c);d=new Ms(d);ib(d,c)}});function Z(a){u.call(this,"HDC",a);this.dmaRead=Z.prototype.Uj;this.dmaWrite=Z.prototype.Vj;this.dmaWriteBuffer=Z.prototype.hk;this.dmaWriteFormat=Z.prototype.ik;this.X=[];this.ja=a.drives;this.L="at"==a.type;this.ua=!La("Mobi")&&window&&"FileReader"in window}ja(Z,u);l=Z.prototype;
|
||||
a.currentTarget[1].files[0]){var b=a.name;Ps(d,sa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};l.jc=function(a,b,c,d){this.oa=b;this.R=c;this.Ea=d;this.na=a;this.U=Ab(a,"ChipSet");Ms(Lc(this.na,"autoMount"),this.M);Qs(this);kc(b,this,Rs);mc(b,this,Ss);Ts(this,"None","",!0);this.L&&Ts(this,"Local Disk","?");Ts(this,"Remote Disk","??");Us(this)||v(this)};
|
||||
function Ms(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){q("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};for(var c in a)b&&(b[c]=a[c]);return a}
|
||||
l.Rb=function(a,b){if(!b){if(!a){if(this.reset(),this.na.W){this.B=[];for(a=0;a<this.A.length;a++)Vs(this,a,!0);Us(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ia.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",Os(this,0))}}return!0};l.Qb=function(a){return a?this.save():!0};l.reset=function(){Qs(this)};
|
||||
l.save=function(){var a=new Qe(this);a.set(0,Ws(this));return a.data()};l.restore=function(a){return Qs(this,a[0])};
|
||||
function Qs(a,b){var c=0,d=!0;b||(b=[0,0,Xs,Array(9),0,0,0,[]]);a.Na=b[c++];c++;a.Z=b[c++];a.G=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var e=b[c++];var f=b[c++];null!=f&&(a.B=f);void 0===a.A&&(a.N=4,a.U&&(a.N=+gk(a.U,yj,void 0)),a.A=Array(4));for(f=0;f<a.A.length;f++){var g=a.A[f];if(void 0===g){g=a.A[f]={};if(a.U)a:{var h=a.U;if(f<+gk(h,yj,void 0)){if(!h.L){h=360;break a}if(f<h.L.length){h=h.L[f];break a}}h=0}else h=0;switch(h){case 160:case 180:g.$a=1;default:g.kb=40;g.Xa=9;break;case 720:g.kb=
|
||||
80;g.Xa=9;break;case 1200:g.kb=80;g.Xa=15;break;case 1440:g.kb=80,g.Xa=18}}var k=a,m=f,r=e[f],x=0;h=!0;g.Na=m;g.Kd=g.ke=!1;g.pe=null;void 0===r&&(r=[Ys,!0,0,2,0]);"boolean"==typeof r[1]&&(r[1]=[Zs,g.kb||40,g.$a||r[3],g.Xa||9,g.ob||512,r[1],g.If,g.Ne,g.Oe]);g.lb=r[x++];var t=r[x++];g.name=t[0];g.kb=t[1];g.$a=t[2];g.Xa=t[3];g.ob=t[4];g.le=t[5];(g.If=t[6])?(g.Ne=t[7],g.Oe=t[8]):(g.If=g.kb,g.Ne=g.$a,g.Oe=g.Xa);g.Wa=r[x++];g.wd=r[x++];g.yb=r[x++];g.wd=100<=g.wd?g.wd-100:g.wd-g.yb;g.bb=r[x++];g.xd=r[x++];
|
||||
g.xb=r[x++];g.Ra=r[x++];g.Va=null;g.sa||(g.Wd="");var z=r[x++];102==z&&(z=!1);"boolean"==typeof z?(t=r[x++],r=r[x],z?(x=k.A[m],Vs(k,m,!0,!0),x.ke=!0,m=new us(k,x,"preload"),k.ci(x,m,t,r,!0)):$s(k,m,t,r,!0)?g.sa&&r&&at(k,t,r,g.sa):v(k,!1)):void 0!==z&&g.sa&&0>g.sa.restore(z)&&(h=!1);h&&g.sa&&void 0!==g.Ra&&(g.Va=g.sa.seek(g.yb,g.Wa,g.bb));h||(d=!1)}a.H=b[c++]||0;a.F=b[c]||bt;return d}
|
||||
function Ws(a){var b=0,c=[];c[b++]=a.Na;c[b++]=0;c[b++]=a.Z;c[b++]=a.G;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,r=[];r[m++]=k.lb;r[m++]=[k.name,k.kb,k.$a,k.Xa,k.ob,k.le,k.If,k.Ne,k.Oe];r[m++]=k.Wa;r[m++]=k.wd+100;r[m++]=k.yb;r[m++]=k.bb;r[m++]=k.xd;r[m++]=k.xb;r[m++]=k.Ra;r[m++]=k.ke;r[m++]=k.Jj;r[m]=k.Wd;f[h]=r}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&ct(a,f.Wd,f.sa);c[d]=a.B;c[b++]=a.H;c[b]=a.F;return c}
|
||||
function Us(a,b){b||(a.J=0);for(var c in a.M){var d=a.M[c],e;if(!(e=d.path))a:{if(e=d.name){var f=a.ia.listDisks;if(f&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.text==e){e=h.value;break a}}}e=""}e&&(f=c.charCodeAt(0)-65,0<=f&&f<a.A.length?!$s(a,f,d.name||dt(a,e)||sa(e,!0),e,!0)&&b&&v(a,!1):a.wa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")"))}return!!a.J}
|
||||
l.ui=function(){var a=this.ia.listDisks;return a?Ps(this,a.options[a.selectedIndex].text,a.value):!1};
|
||||
function Ps(a,b,c,d){var e,f=a.ia.listDrives;if(f&&!isNaN(e=qa(f.value,10))&&0<=e&&e<a.A.length){if(!c)return Vs(a,e),!0;if("?"==c)return a.wa('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return!1;b=sa(c)}for(;0>$s(a,e,b,c,!1,d);){if(!window.confirm("Click OK to reload the original disk and discard any changes."))return!1;var g=a,h=c;for(f=0;f<g.B.length;f++)if(g.B[f][1]==h){g.B.splice(f,1);break}Vs(a,
|
||||
e,!1,!0)}return!0}a.wa("Unable to load the selected drive");return!1}function $s(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.Wd.toLowerCase()!=d.toLowerCase())){Vs(a,b,e,!0);if(g.Kd)return a.wa("Drive "+b+" busy"),0;g.Kd=!0;e&&(g.Jd=!0,a.J++);g.ke=!!f;return(new us(a,g,"preload")).load(c,d,f,a.ci)?1:0}return-1}
|
||||
l.ci=function(a,b,c,d,e){a.Kd=!1;if(b){var f=b.info();if(b&&f[0]>a.kb||f[1]>a.$a)this.wa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Na)),b=null}b?(a.sa=b,a.Jj=c,a.Wd=d,dt(this,d)||Ts(this,c,d),at(this,c,d,b),f=b.info(),this.H|=et,a.pe||this.wa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Na),a.Jd||e),a.If=f[0],a.Ne=f[1],a.Oe=f[2],this.na&&Yc(this.na)):a.ke=!1;a.Jd&&(a.Jd=!1,--this.J||v(this));Os(this,a.Na);a.pe&&(a.pe(),a.pe=null)};
|
||||
function Ts(a,b,c,d){if((a=a.ia.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 dt(a,b){if((a=a.ia.listDisks)&&a.options)for(var c=0;c<a.options.length;c++){var d=a.options[c];if(d.value==b)return d.text}return null}
|
||||
function Os(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ia.listDisks;a=a.ia.listDrives;if(d&&a&&d.options&&a.options&&(a=qa(a.value,10),c=c.ke?"?":c.Wd,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}
|
||||
function Ns(a){var b=a.ia.listDisks,c=a.ia.descDisk,d=b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){q(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}}l.xn=function(a){for(var b=0;b<this.A.length;b++){var c=this.A[b];if(c&&c.Kd)return c.pe||(c.pe=a),!1}return!0};
|
||||
function Vs(a,b,c,d){var e=a.A[b];e.sa&&(ct(a,e.Wd,e.sa),e.Jj="",e.Wd="",e.sa=null,e.ke=!1,a.H|=et,d||a.wa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Os(a,b))}function at(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 ct(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}}l.ym=function(a,b){b&ft?this.I&ft||this.I>&&this.U&&Jf(this.U,6):Qs(this);this.I=b};l.Xk=function(){return 80};l.Zk=function(){return this.Z};
|
||||
l.Wk=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.I>&&this.U&&Hf(this.U,6);++this.D>=this.C&&(this.Z&=~(ht|it),this.D=this.C=0);return a};
|
||||
l.xm=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]&jt;if(void 0!==kt[a]&&this.C>=kt[a].gd){b=!1;this.D=0;a=lt(this);var c=a&jt;switch(c){case mt:lt(this);lt(this);nt(this);break;case ot:var d=lt(this);this.Na=d&3;var e=this.A[this.Na];nt(this);pt(this,(e.lb&qt)>>>24);break;case rt:case st:d=lt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];e.Wa=b;d=e.yb=lt(this);var f=lt(this);var g=e.bb=lt(this);var h=lt(this);e.xb=128<<h;e.xd=lt(this);lt(this);lt(this);c==st?(c=e,c.lb=tt|ut,
|
||||
c.sa&&(c.Va=null,c.lb=vt,this.U&&(zl(this.U,2,this,"dmaRead",c),vl(this.U,2)))):(c=e,c.lb=tt|ut,c.sa&&(c.sa.oe?c.lb=wt|ut:(c.Va=null,c.lb=vt,this.U&&(zl(this.U,2,this,"dmaWrite",c),vl(this.U,2)))));xt(this,e,a,b,d,f,g,h);b=!0;break;case yt:d=lt(this);this.Na=d&3;e=this.A[this.Na];e.yb=e.wd=0;e.lb=zt|At;nt(this);b=!0;break;case Bt:e=this.A[this.Na];e.Wa=0;nt(this);pt(this,e.Na|e.Wa<<2|e.lb&Ct);pt(this,e.yb);this.Na=this.Na+1&3;break;case Dt:d=lt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];d=e.yb;
|
||||
f=e.Wa=b;g=e.bb=1;h=0;e.lb=vt;e.sa&&(e.Va=e.sa.seek(e.yb,e.Wa,e.bb))?h=e.Va.length>>8:e.lb=tt|ut;xt(this,e,a,b,d,f,g,h);b=!0;break;case Et:d=lt(this);b=d>>2&1;this.Na=d&3;e=this.A[this.Na];d=e.yb;f=e.Wa=b;g=1;h=lt(this);e.xb=128<<h;e.xd=lt(this);lt(this);e.Uh=lt(this);c=e;c.lb=tt|ut;c.sa&&(c.Va=null,c.lb=vt,this.U&&(c.ge=0,c.Gc=Array(4),c.dg=!0,c.tf=0,zl(this.U,2,this,"dmaFormat",c),vl(this.U,2),c.dg=!1));xt(this,e,a,b,d,f,g,h);b=!0;break;case Ft:d=lt(this),this.Na=d&3,e=this.A[this.Na],e.Wa=d>>2&
|
||||
1,d=lt(this),e.yb+=d-e.wd,0>e.yb&&(e.yb=0),e.yb>=e.kb&&(e.yb=e.kb-1),e.wd=d,e.lb=zt,e.yb||(e.lb|=At),nt(this),b=!0}0<this.C&&(this.Z=this.Z|ht|it);this.I>&&(!e||e.lb&tt||!b||this.U&&Jf(this.U,6))}};l.Yk=function(){var a=this.H;this.H&=~et;return a};l.wm=function(a,b){this.F=b};function xt(a,b,c,d,e,f,g,h){nt(a);pt(a,b.Na|b.Wa<<2|b.lb&Ct);pt(a,(b.lb&Gt)>>>8);pt(a,(b.lb&Ht)>>>16);var k=0;if(e!=b.yb||f!=b.Wa)k=g=1;c&It&&(f^=k,d||(k=0));pt(a,e+k);pt(a,f);pt(a,g);pt(a,h)}
|
||||
function lt(a){var b=a.G[a.D];a.D++;return b}function nt(a){a.D=a.C=0}function pt(a,b){a.G[a.C++]=b}l.Sj=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.lb&&a.sa){do{if(a.Va&&(e=a.Ra,0<=(b=a.sa.read(a.Va,a.Ra++)))){d=a.Va;break}a.Va=a.sa.seek(a.yb,a.Wa,a.bb);if(!a.Va){a.lb=Jt|ut;break}a.Ra=0;Kt(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};l.Tj=function(a,b){return void 0!==b&&0<=b?Lt(a,b):-1};
|
||||
l.gk=function(a,b){if(void 0!==b&&0<=b)a:if(a.lb)a=-1;else{a.Gc[a.ge++]=b;if(a.ge==a.Gc.length){a.yb=a.Gc[0];a.Wa=a.Gc[1];a.bb=a.Gc[2];a.xb=128<<a.Gc[3];for(var c=a.ge=0;c<a.xb;c++)if(0>Lt(a,a.Uh)){a=-1;break a}a.tf++}a.tf>=a.xd&&(b=-1);a=b}else a=-1;return a};function Lt(a,b){if(a.lb||!a.sa)return-1;do{if(a.Va&&a.sa.write(a.Va,a.Ra++,b))break;a.Va=a.sa.seek(a.yb,a.Wa,a.bb);if(!a.Va){a.lb=Mt|ut;b=-1;break}a.Ra=0;Kt(a)}while(1);return b}
|
||||
function Kt(a){a.bb++;a.bb>=a.Oe+1&&(a.bb=1,a.Wa++,a.Wa>=a.Ne&&(a.Wa=0,a.yb++))}var Zs="Floppy Drive",ft=4,gt=8,it=16,ht=64,Xs=128,mt=3,ot=4,rt=5,st=6,yt=7,Bt=8,Dt=10,Et=13,Ft=15,jt=31,It=128,vt=0,tt=8,zt=32,ut=64,Ys=192,Ct=255,wt=512,Jt=1024,Mt=8192,Gt=65280,Ht=16711680,At=268435456,qt=-16777216,et=128,bt=0;aa={};
|
||||
var kt={3:{gd:3,yd:0,name:aa.Do},4:{gd:2,yd:1,name:aa.Bo},5:{gd:9,yd:7,name:aa.Ho},6:{gd:9,yd:7,name:aa.xo},7:{gd:2,yd:0,name:aa.zo},8:{gd:1,yd:2,name:aa.Co},10:{gd:2,yd:7,name:aa.yo},13:{gd:6,yd:7,name:aa.uo},15:{gd:3,yd:0,name:aa.Ao}},Rs={1009:Ls.prototype.Xk,1012:Ls.prototype.Zk,1013:Ls.prototype.Wk,1015:Ls.prototype.Yk},Ss={1010:Ls.prototype.ym,1013:Ls.prototype.xm,1015:Ls.prototype.wm};
|
||||
Sa(function(){for(var a=jb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c);d=new Ls(d);ib(d,c)}});function Z(a){u.call(this,"HDC",a);this.dmaRead=Z.prototype.Uj;this.dmaWrite=Z.prototype.Vj;this.dmaWriteBuffer=Z.prototype.hk;this.dmaWriteFormat=Z.prototype.ik;this.X=[];this.ja=a.drives;this.L=(a=a.type)&&"AT"==a.toUpperCase()||!1;this.ua=!La("Mobi")&&window&&"FileReader"in window}ja(Z,u);l=Z.prototype;
|
||||
l.Ab=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":if(this.ua)return this.ia[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.sa){b=b.sa;var c=b.ih||b.Pc,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Qa(Ks(b),"octet-stream",!0,c);q(b)}else d.wa("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0;c.parentNode.removeChild(c)}return!1};
|
||||
l.jc=function(a,b,c,d){this.oa=b;this.R=c;this.Ea=d;this.na=a;if(d=Lc(a,"drives"))this.X=d;else if(this.ja)try{this.X=eval("("+this.ja+")")}catch(e){q("HDC drive configuration error: "+e.message+" ("+this.ja+")")}this.U=Ab(a,"ChipSet");this.F=0;this.la=3;kc(b,this,this.L?Ot:Pt);mc(b,this,this.L?Qt:Rt);this.L&&(this.F++,this.U&&this.U.ca==Mj&&this.F++,this.la=2,b.L[St]=2,b.M[St]=2);Me(c,19,this.Bl.bind(this));Me(c,64,this.Cl.bind(this));this.reset();Tt(this)||v(this)};
|
||||
l.Rb=function(a,b){if(!b)if(!a)Ut(this),this.na.W&&Tt(this,!0);else if(!this.restore(a))return!1;return!0};l.Qb=function(a){return a?this.save():!0};function xs(a){return a.na?a.na.ra:""}function ys(a){return a.na?a.na.B||"":""}l.reset=function(){Ut(this,null,!0)};l.save=function(){var a=new Qe(this);a.set(0,Vt(this));return a.data()};l.restore=function(a){return Ut(this,a[0])};
|
||||
function Ut(a,b,c){var d=0,e=!0;a.Na=-1;if(a.L){if(b||(b=[0,0,0,0,0,0,0,Wt,0,[0,-1]]),a.H=b[d++],a.ra=b[d++],a.I=b[d++],a.da=b[d++],a.ba=b[d++],a.aa=b[d++],a.N=b[d++],a.Z=b[d++],a.fa=b[d++],a.K=b[d++],"object"==typeof a.K){var f=a.K;a.K=f[0];a.Na=f[1]}}else b||(b=[0,Xt,Array(14),0,0]),a.W=b[d++],a.Z=b[d++],a.G=b[d++],a.D=b[d++],a.C=b[d++],a.qa=b[d++],a.ma=b[d++],a.pa=b[d++],f=b[d++],void 0!==f?a.M=f:void 0===a.M&&(a.M=-1);void 0===a.A&&(a.A=Array(a.X.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<a.A.length;d++){void 0===
|
||||
a.A[d]&&(a.A[d]={});f=a.A[d];var g=a,h=d,k=f,m=a.X[d],r=b[d],x=c,t=0,z=!0;void 0===r&&(r=[Yt,0,!1,Array(8)]);k.Na=h;k.errorCode=r[t++];k.Kj=r[t++];k.le=r[t++];k.be=r[t++];k.ce=r[t++];k.Wa=r[t++];k.$a=r[t++];k.Ed=r[t++];k.bb=r[t++];k.xd=r[t++];k.xb=r[t++];k.sf=g.L?0:1;k.name=m.name;void 0===k.name&&(k.name=Zt);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||ys(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===du[g.F][k.type])k.type=g.la;
|
||||
m=du[g.F][k.type];k.Xa=m[2]||17;k.ob=m[3]||512;if(x&&g.U){var E=g.U;m=k.type;if(E.A){x=null;var O=E.A[18];15<m&&(x=m,m=15);h?(O=O&240|m,m=26):(O=O&15|m<<4,m=25);var K=E;K.A&&(K.A[18]=O,zk(K));null!=x&&E.A&&(E.A[m]=x,zk(E))}}void 0===k.sa&&(k.sa=null,g.wa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));eu(g,k);k.Ra=r[t++];k.Va=null;k.sa&&(g=r[t],void 0!==g&&0>k.sa.restore(g)&&(z=!1),z&&void 0!==k.Ra&&(k.Va=k.sa.seek(k.Ed,k.Wa,k.bb+k.sf)));z||(e=!1);null!=a.W&&1>=d&&(a.W|=(f.type&3)<<(1-d<<1))}0<=
|
||||
l.jc=function(a,b,c,d){this.oa=b;this.R=c;this.Ea=d;this.na=a;if(d=Lc(a,"drives"))this.X=d;else if(this.ja)try{this.X=eval("("+this.ja+")")}catch(e){q("HDC drive configuration error: "+e.message+" ("+this.ja+")")}this.U=Ab(a,"ChipSet");this.F=0;this.la=3;kc(b,this,this.L?Nt:Ot);mc(b,this,this.L?Pt:Qt);this.L&&(this.F++,this.U&&this.U.ca==Mj&&this.F++,this.la=2,b.L[Rt]=2,b.M[Rt]=2);Me(c,19,this.Bl.bind(this));Me(c,64,this.Cl.bind(this));this.reset();St(this)||v(this)};
|
||||
l.Rb=function(a,b){if(!b)if(!a)Tt(this),this.na.W&&St(this,!0);else if(!this.restore(a))return!1;return!0};l.Qb=function(a){return a?this.save():!0};function xs(a){return a.na?a.na.ra:""}function ys(a){return a.na?a.na.B||"":""}l.reset=function(){Tt(this,null,!0)};l.save=function(){var a=new Qe(this);a.set(0,Ut(this));return a.data()};l.restore=function(a){return Tt(this,a[0])};
|
||||
function Tt(a,b,c){var d=0,e=!0;a.Na=-1;if(a.L){if(b||(b=[0,0,0,0,0,0,0,Vt,0,[0,-1]]),a.H=b[d++],a.ra=b[d++],a.I=b[d++],a.da=b[d++],a.ba=b[d++],a.aa=b[d++],a.N=b[d++],a.Z=b[d++],a.fa=b[d++],a.K=b[d++],"object"==typeof a.K){var f=a.K;a.K=f[0];a.Na=f[1]}}else b||(b=[0,Wt,Array(14),0,0]),a.W=b[d++],a.Z=b[d++],a.G=b[d++],a.D=b[d++],a.C=b[d++],a.qa=b[d++],a.ma=b[d++],a.pa=b[d++],f=b[d++],void 0!==f?a.M=f:void 0===a.M&&(a.M=-1);void 0===a.A&&(a.A=Array(a.X.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<a.A.length;d++){void 0===
|
||||
a.A[d]&&(a.A[d]={});f=a.A[d];var g=a,h=d,k=f,m=a.X[d],r=b[d],x=c,t=0,z=!0;void 0===r&&(r=[Xt,0,!1,Array(8)]);k.Na=h;k.errorCode=r[t++];k.Kj=r[t++];k.le=r[t++];k.be=r[t++];k.ce=r[t++];k.Wa=r[t++];k.$a=r[t++];k.Ed=r[t++];k.bb=r[t++];k.xd=r[t++];k.xb=r[t++];k.sf=g.L?0:1;k.name=m.name;void 0===k.name&&(k.name=Yt);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||ys(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===cu[g.F][k.type])k.type=g.la;
|
||||
m=cu[g.F][k.type];k.Xa=m[2]||17;k.ob=m[3]||512;if(x&&g.U){var E=g.U;m=k.type;if(E.A){x=null;var O=E.A[18];15<m&&(x=m,m=15);h?(O=O&240|m,m=26):(O=O&15|m<<4,m=25);var K=E;K.A&&(K.A[18]=O,zk(K));null!=x&&E.A&&(E.A[m]=x,zk(E))}}void 0===k.sa&&(k.sa=null,g.wa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));du(g,k);k.Ra=r[t++];k.Va=null;k.sa&&(g=r[t],void 0!==g&&0>k.sa.restore(g)&&(z=!1),z&&void 0!==k.Ra&&(k.Va=k.sa.seek(k.Ed,k.Wa,k.bb+k.sf)));z||(e=!1);null!=a.W&&1>=d&&(a.W|=(f.type&3)<<(1-d<<1))}0<=
|
||||
a.Na&&(a.B=a.A[a.Na]);return e}
|
||||
function Vt(a){var b=0,c=[];a.L?(c[b++]=a.H,c[b++]=a.ra,c[b++]=a.I,c[b++]=a.da,c[b++]=a.ba,c[b++]=a.aa,c[b++]=a.N,c[b++]=a.Z,c[b++]=a.fa,c[b++]=[a.K,a.Na]):(c[b++]=a.W,c[b++]=a.Z,c[b++]=a.G,c[b++]=a.D,c[b++]=a.C,c[b++]=a.qa,c[b++]=a.ma,c[b++]=a.pa,c[b++]=a.M);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.Kj;m[k++]=h.le;m[k++]=h.be;m[k++]=h.ce;m[k++]=h.Wa;m[k++]=h.$a;m[k++]=h.Ed;m[k++]=h.bb;m[k++]=h.xd;m[k++]=h.xb;m[k++]=h.Ra;m[k]=h.sa?h.sa.save():null;
|
||||
e[g]=m}c[b]=e;return c}function eu(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.be[2])?e=b.be[0]<<8|b.be[1]:c=b.type);null==c||d||(d=du[a.F][c][1],e=du[a.F][c][0]);d&&((c=du[a.F][b.type])&&e!=c[0]&&d!=c[1]&&a.wa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.kb=e,b.$a=d,null==b.sa&&(b.sa=new us(a,b,b.mode)))}}
|
||||
function Tt(a,b){b||(a.J=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];d.name&&d.path?b&&d.sa&&d.sa.Af||!a.Gl(c,d.name,d.path,!0)&&b&&v(a,!1):b&&void 0!==d.type&&(d.sa=null,eu(a,d,d.type))}return!!a.J}l.Gl=function(a,b,c,d){var e=this.A[a];if(e.Kd)return this.wa("Drive "+a+" busy"),!0;e.Kd=!0;d&&(e.Jd=!0,this.J++);(e.sa||new us(this,e,e.mode)).load(b,c,null,this.jk);return!1};
|
||||
l.jk=function(a,b,c){a.Kd=!1;if(a.sa=b)this.wa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Na),a.Jd),b=b.info(),b[0]==a.kb&&b[1]==a.$a&&b[2]==a.Xa&&b[3]==a.ob||this.wa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+fu[this.F]+" drive type "+a.type+" ("+a.kb+":"+a.$a+":"+a.Xa+")");a.Jd&&(a.Jd=!1,--this.J||v(this))};l.yl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.U&&Hf(this.U,5);this.Z&=~gu;++this.D>=this.C&&(this.D=this.C=0,this.Z&=~(hu|iu|ju));return a};
|
||||
l.Um=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]!=ku?6:this.G.length;6==this.C&&(this.Z&=~lu);this.C>=a&&(this.Z|=hu,this.Z&=~lu,mu(this))};l.zl=function(){var a=this.Z;this.D<this.C&&(this.Z|=lu);return a};l.Xm=function(a,b){this.qa=b;this.U&&Hf(this.U,5);Ut(this)};l.xl=function(){return this.W};l.Wm=function(a,b){this.ma=b;this.Z=lu|iu|ju};l.Vm=function(a,b){this.pa=b};l.eh=function(){};
|
||||
function nu(a){var b=-1;a.B&&(b=ou(a.B,function(){}),(1==a.B.Ra||a.B.Ra==a.B.ob)&&1<a.B.Ra&&(a.B.xb-=a.B.ob,a.I=a.I-1&255,a.B.xb>=a.B.ob?(a.Z=pu,ou(a.B,function(b){0<=b?(qu(a),a.U&&a.U.ca==Mj&&(a.Z=0),a.Z=a.Z|Wt|ru|su):(a.Z=tu,a.H=uu)},!1)):a.Z=Wt|ru));return b}l.Wj=function(){return nu(this)|nu(this)<<8};function vu(a,b){a.B&&a.B.xb>=a.B.ob&&(0>wu(a.B,b)?(a.Z=tu,a.H=uu):(1==a.B.Ra||a.B.Ra==a.B.ob)&&1<a.B.Ra&&(a.B.xb-=a.B.ob,a.I=a.I-1&255,qu(a),a.Z=Wt|ru,a.B.xb>=a.B.ob&&(a.Z|=su)))}
|
||||
l.am=function(a,b){vu(this,b&255);vu(this,b>>8&255)};l.Bk=function(){return this.H};l.fm=function(a,b){this.ra=b};l.Dk=function(){return this.I};l.dm=function(a,b){this.I=b};l.Ek=function(){return this.da};l.em=function(a,b){this.da=b};l.zk=function(){return this.ba};l.$l=function(a,b){this.ba=b};l.yk=function(){return this.aa};l.Zl=function(a,b){this.aa=b};l.Ak=function(){return this.N};l.bm=function(a,b){this.N=b;this.Z=this.A[this.N&xu?1:0]?this.Z|Wt|ru:this.Z&~Wt};
|
||||
l.Fk=function(){var a=this.Z;this.Z&Wt&&(this.Z&=~pu);return a};l.Yl=function(a,b){this.fa=b;this.U&&Hf(this.U,14);yu(this)};l.cm=function(a,b){this.K&zu&&!(b&zu)&&(this.H=Au);this.K=b};
|
||||
function yu(a){var b=!1,c=a.fa,d=a.N&xu?1:0,e=a.N&Bu,f=a.ba|(a.aa&Cu)<<8,g=a.da,h=a.I||256;a.Na=-1;a.B=null;a.H=Du;a.Z=Wt|ru;var k=a.A[d];k?(k.Ed=f,k.Wa=e,k.bb=g,k.xb=h*k.ob,c=c>=Eu?c:c&Fu,k.Va=null,k.Ra=0,k.errorCode=0,a.Na=d,a.B=k):c=-1;switch(c&Fu){case Gu:b=!0;break;case Hu:a.Z=pu;ou(k,function(b){0<=b&&a.U?(qu(a),a.Z=Wt|ru|su):(a.Z=tu,a.H=uu)},!1);break;case Iu:a.Z=su;break;case Ju:b=!0;break;case Ku:b=!0;break;case Eu:a.H=Au;b=!0;break;case Lu:k.$a=e+1,k.Xa=h,b=!0}b&&qu(a)}
|
||||
function qu(a){a.U&&(a.K&Mu||Jf(a.U,14,120))}
|
||||
function mu(a){a.D=0;var b=Nu(a),c=Nu(a),d=c&32,e=d>>5,f=c&31,g=Nu(a),h=Nu(a),k=g<<2&768|h,m=g&63,r=Nu(a),x=Nu(a),t=a.A[e];t&&(t.Ed=k,t.Wa=f,t.bb=m,t.xb=r*t.ob);switch(b){case Ou:Pu(a,t?t.errorCode:Qu);Ru(a,c);Ru(a,g);Ru(a,h);Ru(a,Su|d);b=-1;break;case ku:for(c=0;0<=(b=Nu(a));)t&&c<t.be.length&&(t.be[c++]=b);t&&eu(a,t);b=Su;t||a.M!=e||(a.M=-1,b=Tu);Pu(a,b|d);b=-1;break;case Uu:case Vu:Pu(a,Su|d),b=-1}if(0<=b)switch(void 0===t?b=-1:(t.errorCode=Yt,t.Kj=0),b){case Wu:Pu(a,Su|d);break;case Xu:t.Ee=x;
|
||||
Pu(a,Su|d);break;case Yu:Pu(a,Su|d);break;case Zu:$u(a,t,function(b){Pu(a,b|d)});break;case av:bv(a,t,function(b){Pu(a,b|d)});break;case cv:dv(a,t,function(b){Pu(a,b|d)});break;default:Pu(a,Tu|d)}}function Nu(a){var b=-1;a.D<a.C&&(b=a.G[a.D++]);return b}function Pu(a,b){a.D=a.C=0;void 0!==b&&Ru(a,b);a.U&&Jf(a.U,5);a.Z|=gu}function Ru(a,b){a.G[a.C++]=b}l.Uj=function(a,b,c){void 0===b||0>b?ou(a,c):c(-1,!1)};l.Vj=function(a,b){return void 0!==b&&0<=b?wu(a,b):-1};
|
||||
l.hk=function(a,b){void 0!==b&&0<=b?(a.Ra<a.ce.length?a.ce[a.Ra++]=b:(a.errorCode=ev,b=-1),a=b):a=-1;return a};l.ik=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Gc[a.ge++]=b;if(a.ge==a.Gc.length){a.Ed=a.Gc[0];a.Wa=a.Gc[1];a.bb=a.Gc[2];a.xb=128<<a.Gc[3];for(var c=a.ge=0;c<a.xb;c++)if(0>wu(a,a.Uh)){a=-1;break a}a.tf++}a.tf>=a.xd&&(b=-1);a=b}else a=-1;return a};
|
||||
function $u(a,b,c){b.errorCode=Qu;if(b.sa&&(b.Va=null,a.U)){b.errorCode=Yt;zl(a.U,3,a,"dmaRead",b);vl(a.U,3,function(a){a||b.errorCode!=Yt||(b.errorCode=Qu);c(b.errorCode?Tu:Su)});return}c(b.errorCode?Tu:Su)}function bv(a,b,c){b.errorCode=Qu;if(b.sa&&(b.Va=null,a.U)){b.errorCode=Yt;zl(a.U,3,a,"dmaWrite",b);vl(a.U,3,function(a){a||(b.errorCode==Yt&&(b.errorCode=Qu),b.errorCode==ev&&(b.errorCode=Yt));c(b.errorCode?Tu:Su)});return}c(b.errorCode?Tu:Su)}
|
||||
function dv(a,b,c){b.errorCode=Qu;b.ce&&b.ce.length==b.xb||(b.ce=Array(b.xb));b.Ra=0;a.U?(b.errorCode=Yt,zl(a.U,3,a,"dmaWriteBuffer",b),vl(a.U,3,function(a){a||b.errorCode!=Yt||(b.errorCode=Qu);c(b.errorCode?Tu:Su)})):c(b.errorCode?Tu:Su)}
|
||||
function ou(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Va&&(f=a.Ra,d=a.sa.read(a.Va,a.Ra),a.Ra+=g,0<=d))return e=a.Va,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Ed,a.Wa,a.bb+a.sf,!1,function(c,k){(a.Va=c)?(e=c,f=a.Ra=0,fv(a),d=a.sa.read(a.Va,a.Ra),a.Ra+=g):a.errorCode=ev;b(d,k,e,f)}),d;a.errorCode=ev;b(d,!1,e,f)}return d}
|
||||
function wu(a,b){if(a.errorCode)return-1;do{if(a.Va&&a.sa.write(a.Va,a.Ra++,b))break;a.sa&&a.sa.seek(a.Ed,a.Wa,a.bb+a.sf,!0,function(b){a.Va=b});if(!a.Va){a.errorCode=ev;b=-1;break}a.Ra=0;fv(a)}while(1);return b}function fv(a){a.bb++;var b=1-a.sf;a.bb>=a.Xa+b&&(a.bb=b,a.Wa++,a.Wa>=a.$a&&(a.Wa=0,a.Ed++))}l.Bl=function(){var a=this.R.L&255;!(this.R.F>>8)&&128<a&&(this.M=a-128);return!0};l.Cl=function(){var a;(a=this.R.F>>8||!this.U)||(a=!(this.U.ac[0].Xc&64));return a?!0:!1};
|
||||
var Zt="Hard Drive",fu=["XTC","ATC","COMPAQ"],du=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
|
||||
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],St=496,Au=1,Du=0,uu=16,Cu=3,Bu=15,xu=16,tu=1,su=8,ru=16,Wt=64,pu=128,Gu=16,Hu=32,Iu=48,Ju=64,Ku=
|
||||
112,Eu=144,Lu=145,Fu=240,Mu=2,zu=4,Su=0,Tu=2,Wu=0,Xu=1,Ou=3,Yu=5,Zu=8,av=10,ku=12,cv=15,Uu=224,Vu=228,Yt=0,Qu=4,ev=20,Xt=0,lu=1,hu=2,iu=4,ju=8,gu=32,Pt={800:Z.prototype.yl,801:Z.prototype.zl,802:Z.prototype.xl},Ot={496:Z.prototype.Wj,497:Z.prototype.Bk,498:Z.prototype.Dk,499:Z.prototype.Ek,500:Z.prototype.zk,501:Z.prototype.yk,502:Z.prototype.Ak,503:Z.prototype.Fk},Rt={800:Z.prototype.Um,801:Z.prototype.Xm,802:Z.prototype.Wm,803:Z.prototype.Vm,807:Z.prototype.eh,811:Z.prototype.eh,815:Z.prototype.eh},
|
||||
Qt={496:Z.prototype.am,497:Z.prototype.fm,498:Z.prototype.dm,499:Z.prototype.em,500:Z.prototype.$l,501:Z.prototype.Zl,502:Z.prototype.bm,503:Z.prototype.Yl,1014:Z.prototype.cm};Sa(function(){for(var a=jb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c);d=new Z(d);ib(d,c)}});
|
||||
function gv(a,b,c){u.call(this,"Computer",a);var d=this;hv(this,b);this.U=Lc(this,"autoPower",a);this.D=+Lc(this,"diagnostics",a);0<=this.D&&2>=this.D||(this.D=1);this.F=0;this.ma=a.busWidth||a.buswidth;this.A=iv;this.M=null;this.J=this.fa=!1;this.qa=Lc(this,"url")||"";this.ra=(Math.random()+.1).toString(36).substr(2,12);this.B=jv(this);if(this.R=hb("CPU",this.id)){this.Ea=hb("Debugger",this.id);this.C=[];for(b=null;b=Ab(this,"Video",b);)this.C.push(b);this.oa=new Nb({id:this.Dd+".bus",busWidth:this.ma},
|
||||
this.R,this.Ea);var e=lb(this.id);this.ba=(this.I=hb("Panel",this.id))&&this.I.ia.print;this.ja=this.wa;this.la=this.print;this.pa=this.qb;this.ba&&(this.ja=this.I.wa,this.la=this.I.print,this.pa=this.I.qb);for(b=0;b<e.length;b++){var f=e[b];f.wa=function(a,b,c){kv(d,a);return d.ja.call(this,a,b,c)}.bind(f);f.print=function(a){return d.la.call(this,a)}.bind(f);f.qb=function(a,b,c){kv(d,a,b);return d.pa.call(this,a,b,c)}.bind(f)}this.H=0;!this.ba&&this.D&&lv(this);this.qb("PCx86 v1.37.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");
|
||||
for(b=0;b<e.length;b++)f=e[b],f.jc&&f.jc(this,this.oa,this.R,this.Ea);Mc(this.R,this.id,function(){gd(d)},1E3/mv);b=null;f=Lc(this,"resume");void 0!==f&&(1<f.length?b=this.L=f:this.A=parseInt(f,10));f=!1;e=Oa("state");e||(f=!0,e=Lc(this,"state",a));e&&(b=this.X=e,f||(this.J=!0,this.A=iv),this.A&&(this.N=new Qe(this,"1.37.0"),this.N.load()?b=null:delete this.N));!b&&this.A&&(b=nv(this))&&(this.J=!0);if(this.aa=b){var g="Loading "+this.aa+"...";Ea(this.aa,null,!0,function(a,b,c){c?(d.L=null,d.J=!1,
|
||||
d.wa("Unable to load machine state from server (error "+c+(b?": "+xa(b):"")+")")):(d.M=b,d.fa=!0);v(d)},function(){d.qb(g,tb)})}else v(this);this.ia.power||(this.U=!0);!c&&this.U&&this.xe(this.te)}else q("Unable to find CPU component")}ja(gv,u);function lv(a){if(!a.H)for(var b=0;b<a.C.length;b++){var c=a.C[b];c&&(c=c.Cf)&&(c.style.opacity="1",c.style.lineHeight="1",a.H++)}}
|
||||
function kv(a,b,c){if(a.H)for(var d=0;d<a.C.length;d++){var e=a.C[d];e&&(e=e.Cf)&&(c!=tb||"..."!=b.slice(-3)?eb(e,b+"\n"):fb(e,b,b+"."))}}function mo(a){var b=a.D;3==a.D&&(a.D++,v(a));return!b}function hv(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.K=b}function Lc(a,b,c){var d=Oa(b);void 0===d&&a.K&&(d=a.K[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}l=gv.prototype;
|
||||
l.xe=function(a,b){for(var c=this,d=lb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!vb(f)){vb(f,function(){c.xe(a,b)});return}}a.call(this,b)};function ov(a,b){var c=new Qe(a,"1.37.0",pv);if(c.load()&&qv(c)){var d=c.get(rv),e=b?b.get(rv):"unknown";d!=e&&(a.wa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
l.te=function(a){void 0===a&&(a=this.A||(this.M?sv:iv));if(!this.F){this.F++;var b=!1,c=!1;this.da=!1;var d=this.N||new Qe(this,"1.37.0");if(a==Tc)b=!0;else if(a>iv){if(d.load(this.M)){this.G=new Qe(this,"1.37.0",tv);this.G.load()&&(a!=sv&&uv(this,d)&&(a=vv),wv(this.G));this.G.set(rv,za("Y-m-d H:i:s"));xv(this.G);var e=this.A&&!this.J;if(a==sv||cb("Click OK to restore the previous PCx86 machine state.")){if(c=qv(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.wa("Error: "+g),"unable to verify user"==g&&(Ka(yv,""),this.B=null)):this.qb(f+": "+g),wv(d),d.load()?(c=qv(d),e=!0):c=!1))}e&&ov(this,c?d:null)}else a==vv&&d.clear()}else ov(this);delete this.M;delete this.N}e=lb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.R&&(c=zv(this,g,d,b,c));b=[d,a,c];a!=Tc?this.xe(this.gg,b):this.gg(b)}};
|
||||
function zv(a,b,c,d,e){if(!b.Y.Sb){b.Y.Sb=!0;if(b.Rb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.Rb(f,d)&&f&&(b.wa("Unable to restore hardware state")&&(a.X&&!a.fa?(c.clear(),a.A=iv,window&&window.location.reload()):a.da=!0),b.Rb(null),e=!1)}b.Y.Ie=!0;if(!d&&b.hi)for(a=b.hi.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.gg=function(a){if(!this.Y.Ie){a:{if(this.H){if(2==this.D){this.D++;this.qb("Press any key to continue...");var b=!1;break a}for(b=0;b<this.C.length;b++){var c=this.C[b];if(c&&(c=c.Cf)){var d=Ga();c.style.opacity="0";c.style.lineHeight="0";if(0<=d.indexOf("MSIE")||0<=d.indexOf("Trident"))c.style.fontSize="0";c.value=""}}this.H=0}this.D=0;b=!0}if(!b){v(this,!1);this.xe(this.gg,a);return}this.Y.Ie=!0}b=a[0];c=0>a[1];a=a[2];if(d=this.ia.power)d.textContent="Shutdown";this.Y.Sb=!0;this.R&&(zv(this,this.R,
|
||||
b,c,a),this.R.Gd());this.da&&(uv(this,b),b.clear());!c&&this.G&&(this.G.clear(),delete this.G);this.F=0;nb(this.Dd,Lc(this,"autoScript"))};function uv(a,b){if(!a.Y.Yd){if(cb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.37.0"};d.url=a.qa;d.user=c;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
function Av(a,b,c){var d="none";if(a.F)return null;a.F--;var e=new Qe(a,"1.37.0"),f=new Qe(a,"1.37.0",pv),g=za("Y-m-d H:i:s");f.set(rv,g);e.set(rv,g);e.set(Bv,"1.37.0");e.set(Cv,window?window.location.href:null);e.set(Dv,Ga());if(a.R&&a.R.Qb){var h=a.R.Qb(b,c);"object"===typeof h&&e.set(a.R.id,h);c&&(a.R.Y.Sb=!1,!1===h&&(d=null))}g=lb(a.id);for(var k=0;k<g.length;k++){var m=g[k];m.Y.Sb&&(m.Qb&&(h=m.Qb(b,c),"object"===typeof h&&e.set(m.id,h)),c&&(m.Y.Sb=!1,!1===h&&(d=null)))}d&&(c?(g=h=!1,b?(a.B&&
|
||||
Ev(a,a.B,e.toString()),xv(f)&&xv(e)||(d=null,h=g=!0)):a.A&&(h=!0,g=a.A==Fv),h&&e.clear(g)):d=e.toString());c&&(a.Y.Sb=!1,b=a.ia.power)&&(b.textContent="Power");a.F=0;return d}l.reset=function(){this.oa&&this.oa.reset&&this.oa.reset();for(var a=lb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=lb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
||||
function Ut(a){var b=0,c=[];a.L?(c[b++]=a.H,c[b++]=a.ra,c[b++]=a.I,c[b++]=a.da,c[b++]=a.ba,c[b++]=a.aa,c[b++]=a.N,c[b++]=a.Z,c[b++]=a.fa,c[b++]=[a.K,a.Na]):(c[b++]=a.W,c[b++]=a.Z,c[b++]=a.G,c[b++]=a.D,c[b++]=a.C,c[b++]=a.qa,c[b++]=a.ma,c[b++]=a.pa,c[b++]=a.M);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.Kj;m[k++]=h.le;m[k++]=h.be;m[k++]=h.ce;m[k++]=h.Wa;m[k++]=h.$a;m[k++]=h.Ed;m[k++]=h.bb;m[k++]=h.xd;m[k++]=h.xb;m[k++]=h.Ra;m[k]=h.sa?h.sa.save():null;
|
||||
e[g]=m}c[b]=e;return c}function du(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.be[2])?e=b.be[0]<<8|b.be[1]:c=b.type);null==c||d||(d=cu[a.F][c][1],e=cu[a.F][c][0]);d&&((c=cu[a.F][b.type])&&e!=c[0]&&d!=c[1]&&a.wa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.kb=e,b.$a=d,null==b.sa&&(b.sa=new us(a,b,b.mode)))}}
|
||||
function St(a,b){b||(a.J=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];d.name&&d.path?b&&d.sa&&d.sa.Af||!a.Gl(c,d.name,d.path,!0)&&b&&v(a,!1):b&&void 0!==d.type&&(d.sa=null,du(a,d,d.type))}return!!a.J}l.Gl=function(a,b,c,d){var e=this.A[a];if(e.Kd)return this.wa("Drive "+a+" busy"),!0;e.Kd=!0;d&&(e.Jd=!0,this.J++);(e.sa||new us(this,e,e.mode)).load(b,c,null,this.jk);return!1};
|
||||
l.jk=function(a,b,c){a.Kd=!1;if(a.sa=b)this.wa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Na),a.Jd),b=b.info(),b[0]==a.kb&&b[1]==a.$a&&b[2]==a.Xa&&b[3]==a.ob||this.wa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+eu[this.F]+" drive type "+a.type+" ("+a.kb+":"+a.$a+":"+a.Xa+")");a.Jd&&(a.Jd=!1,--this.J||v(this))};l.yl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.U&&Hf(this.U,5);this.Z&=~fu;++this.D>=this.C&&(this.D=this.C=0,this.Z&=~(gu|hu|iu));return a};
|
||||
l.Um=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]!=ju?6:this.G.length;6==this.C&&(this.Z&=~ku);this.C>=a&&(this.Z|=gu,this.Z&=~ku,lu(this))};l.zl=function(){var a=this.Z;this.D<this.C&&(this.Z|=ku);return a};l.Xm=function(a,b){this.qa=b;this.U&&Hf(this.U,5);Tt(this)};l.xl=function(){return this.W};l.Wm=function(a,b){this.ma=b;this.Z=ku|hu|iu};l.Vm=function(a,b){this.pa=b};l.eh=function(){};
|
||||
function mu(a){var b=-1;a.B&&(b=nu(a.B,function(){}),(1==a.B.Ra||a.B.Ra==a.B.ob)&&1<a.B.Ra&&(a.B.xb-=a.B.ob,a.I=a.I-1&255,a.B.xb>=a.B.ob?(a.Z=ou,nu(a.B,function(b){0<=b?(pu(a),a.U&&a.U.ca==Mj&&(a.Z=0),a.Z=a.Z|Vt|qu|ru):(a.Z=su,a.H=tu)},!1)):a.Z=Vt|qu));return b}l.Wj=function(){return mu(this)|mu(this)<<8};function uu(a,b){a.B&&a.B.xb>=a.B.ob&&(0>vu(a.B,b)?(a.Z=su,a.H=tu):(1==a.B.Ra||a.B.Ra==a.B.ob)&&1<a.B.Ra&&(a.B.xb-=a.B.ob,a.I=a.I-1&255,pu(a),a.Z=Vt|qu,a.B.xb>=a.B.ob&&(a.Z|=ru)))}
|
||||
l.am=function(a,b){uu(this,b&255);uu(this,b>>8&255)};l.Bk=function(){return this.H};l.fm=function(a,b){this.ra=b};l.Dk=function(){return this.I};l.dm=function(a,b){this.I=b};l.Ek=function(){return this.da};l.em=function(a,b){this.da=b};l.zk=function(){return this.ba};l.$l=function(a,b){this.ba=b};l.yk=function(){return this.aa};l.Zl=function(a,b){this.aa=b};l.Ak=function(){return this.N};l.bm=function(a,b){this.N=b;this.Z=this.A[this.N&wu?1:0]?this.Z|Vt|qu:this.Z&~Vt};
|
||||
l.Fk=function(){var a=this.Z;this.Z&Vt&&(this.Z&=~ou);return a};l.Yl=function(a,b){this.fa=b;this.U&&Hf(this.U,14);xu(this)};l.cm=function(a,b){this.K&yu&&!(b&yu)&&(this.H=zu);this.K=b};
|
||||
function xu(a){var b=!1,c=a.fa,d=a.N&wu?1:0,e=a.N&Au,f=a.ba|(a.aa&Bu)<<8,g=a.da,h=a.I||256;a.Na=-1;a.B=null;a.H=Cu;a.Z=Vt|qu;var k=a.A[d];k?(k.Ed=f,k.Wa=e,k.bb=g,k.xb=h*k.ob,c=c>=Du?c:c&Eu,k.Va=null,k.Ra=0,k.errorCode=0,a.Na=d,a.B=k):c=-1;switch(c&Eu){case Fu:b=!0;break;case Gu:a.Z=ou;nu(k,function(b){0<=b&&a.U?(pu(a),a.Z=Vt|qu|ru):(a.Z=su,a.H=tu)},!1);break;case Hu:a.Z=ru;break;case Iu:b=!0;break;case Ju:b=!0;break;case Du:a.H=zu;b=!0;break;case Ku:k.$a=e+1,k.Xa=h,b=!0}b&&pu(a)}
|
||||
function pu(a){a.U&&(a.K&Lu||Jf(a.U,14,120))}
|
||||
function lu(a){a.D=0;var b=Mu(a),c=Mu(a),d=c&32,e=d>>5,f=c&31,g=Mu(a),h=Mu(a),k=g<<2&768|h,m=g&63,r=Mu(a),x=Mu(a),t=a.A[e];t&&(t.Ed=k,t.Wa=f,t.bb=m,t.xb=r*t.ob);switch(b){case Nu:Ou(a,t?t.errorCode:Pu);Qu(a,c);Qu(a,g);Qu(a,h);Qu(a,Ru|d);b=-1;break;case ju:for(c=0;0<=(b=Mu(a));)t&&c<t.be.length&&(t.be[c++]=b);t&&du(a,t);b=Ru;t||a.M!=e||(a.M=-1,b=Su);Ou(a,b|d);b=-1;break;case Tu:case Uu:Ou(a,Ru|d),b=-1}if(0<=b)switch(void 0===t?b=-1:(t.errorCode=Xt,t.Kj=0),b){case Vu:Ou(a,Ru|d);break;case Wu:t.Ee=x;
|
||||
Ou(a,Ru|d);break;case Xu:Ou(a,Ru|d);break;case Yu:Zu(a,t,function(b){Ou(a,b|d)});break;case $u:av(a,t,function(b){Ou(a,b|d)});break;case bv:cv(a,t,function(b){Ou(a,b|d)});break;default:Ou(a,Su|d)}}function Mu(a){var b=-1;a.D<a.C&&(b=a.G[a.D++]);return b}function Ou(a,b){a.D=a.C=0;void 0!==b&&Qu(a,b);a.U&&Jf(a.U,5);a.Z|=fu}function Qu(a,b){a.G[a.C++]=b}l.Uj=function(a,b,c){void 0===b||0>b?nu(a,c):c(-1,!1)};l.Vj=function(a,b){return void 0!==b&&0<=b?vu(a,b):-1};
|
||||
l.hk=function(a,b){void 0!==b&&0<=b?(a.Ra<a.ce.length?a.ce[a.Ra++]=b:(a.errorCode=dv,b=-1),a=b):a=-1;return a};l.ik=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Gc[a.ge++]=b;if(a.ge==a.Gc.length){a.Ed=a.Gc[0];a.Wa=a.Gc[1];a.bb=a.Gc[2];a.xb=128<<a.Gc[3];for(var c=a.ge=0;c<a.xb;c++)if(0>vu(a,a.Uh)){a=-1;break a}a.tf++}a.tf>=a.xd&&(b=-1);a=b}else a=-1;return a};
|
||||
function Zu(a,b,c){b.errorCode=Pu;if(b.sa&&(b.Va=null,a.U)){b.errorCode=Xt;zl(a.U,3,a,"dmaRead",b);vl(a.U,3,function(a){a||b.errorCode!=Xt||(b.errorCode=Pu);c(b.errorCode?Su:Ru)});return}c(b.errorCode?Su:Ru)}function av(a,b,c){b.errorCode=Pu;if(b.sa&&(b.Va=null,a.U)){b.errorCode=Xt;zl(a.U,3,a,"dmaWrite",b);vl(a.U,3,function(a){a||(b.errorCode==Xt&&(b.errorCode=Pu),b.errorCode==dv&&(b.errorCode=Xt));c(b.errorCode?Su:Ru)});return}c(b.errorCode?Su:Ru)}
|
||||
function cv(a,b,c){b.errorCode=Pu;b.ce&&b.ce.length==b.xb||(b.ce=Array(b.xb));b.Ra=0;a.U?(b.errorCode=Xt,zl(a.U,3,a,"dmaWriteBuffer",b),vl(a.U,3,function(a){a||b.errorCode!=Xt||(b.errorCode=Pu);c(b.errorCode?Su:Ru)})):c(b.errorCode?Su:Ru)}
|
||||
function nu(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Va&&(f=a.Ra,d=a.sa.read(a.Va,a.Ra),a.Ra+=g,0<=d))return e=a.Va,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Ed,a.Wa,a.bb+a.sf,!1,function(c,k){(a.Va=c)?(e=c,f=a.Ra=0,ev(a),d=a.sa.read(a.Va,a.Ra),a.Ra+=g):a.errorCode=dv;b(d,k,e,f)}),d;a.errorCode=dv;b(d,!1,e,f)}return d}
|
||||
function vu(a,b){if(a.errorCode)return-1;do{if(a.Va&&a.sa.write(a.Va,a.Ra++,b))break;a.sa&&a.sa.seek(a.Ed,a.Wa,a.bb+a.sf,!0,function(b){a.Va=b});if(!a.Va){a.errorCode=dv;b=-1;break}a.Ra=0;ev(a)}while(1);return b}function ev(a){a.bb++;var b=1-a.sf;a.bb>=a.Xa+b&&(a.bb=b,a.Wa++,a.Wa>=a.$a&&(a.Wa=0,a.Ed++))}l.Bl=function(){var a=this.R.L&255;!(this.R.F>>8)&&128<a&&(this.M=a-128);return!0};l.Cl=function(){var a;(a=this.R.F>>8||!this.U)||(a=!(this.U.ac[0].Xc&64));return a?!0:!1};
|
||||
var Yt="Hard Drive",eu=["XTC","ATC","COMPAQ"],cu=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
|
||||
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],Rt=496,zu=1,Cu=0,tu=16,Bu=3,Au=15,wu=16,su=1,ru=8,qu=16,Vt=64,ou=128,Fu=16,Gu=32,Hu=48,Iu=64,Ju=
|
||||
112,Du=144,Ku=145,Eu=240,Lu=2,yu=4,Ru=0,Su=2,Vu=0,Wu=1,Nu=3,Xu=5,Yu=8,$u=10,ju=12,bv=15,Tu=224,Uu=228,Xt=0,Pu=4,dv=20,Wt=0,ku=1,gu=2,hu=4,iu=8,fu=32,Ot={800:Z.prototype.yl,801:Z.prototype.zl,802:Z.prototype.xl},Nt={496:Z.prototype.Wj,497:Z.prototype.Bk,498:Z.prototype.Dk,499:Z.prototype.Ek,500:Z.prototype.zk,501:Z.prototype.yk,502:Z.prototype.Ak,503:Z.prototype.Fk},Qt={800:Z.prototype.Um,801:Z.prototype.Xm,802:Z.prototype.Wm,803:Z.prototype.Vm,807:Z.prototype.eh,811:Z.prototype.eh,815:Z.prototype.eh},
|
||||
Pt={496:Z.prototype.am,497:Z.prototype.fm,498:Z.prototype.dm,499:Z.prototype.em,500:Z.prototype.$l,501:Z.prototype.Zl,502:Z.prototype.bm,503:Z.prototype.Yl,1014:Z.prototype.cm};Sa(function(){for(var a=jb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c);d=new Z(d);ib(d,c)}});
|
||||
function fv(a,b,c){u.call(this,"Computer",a);var d=this;gv(this,b);this.U=Lc(this,"autoPower",a);this.D=+Lc(this,"diagnostics",a);0<=this.D&&2>=this.D||(this.D=1);this.F=0;this.ma=a.busWidth||a.buswidth;this.A=hv;this.M=null;this.J=this.fa=!1;this.qa=Lc(this,"url")||"";this.ra=(Math.random()+.1).toString(36).substr(2,12);this.B=iv(this);if(this.R=hb("CPU",this.id)){this.Ea=hb("Debugger",this.id);this.C=[];for(b=null;b=Ab(this,"Video",b);)this.C.push(b);this.oa=new Nb({id:this.Dd+".bus",busWidth:this.ma},
|
||||
this.R,this.Ea);var e=lb(this.id);this.ba=(this.I=hb("Panel",this.id))&&this.I.ia.print;this.ja=this.wa;this.la=this.print;this.pa=this.qb;this.ba&&(this.ja=this.I.wa,this.la=this.I.print,this.pa=this.I.qb);for(b=0;b<e.length;b++){var f=e[b];f.wa=function(a,b,c){jv(d,a);return d.ja.call(this,a,b,c)}.bind(f);f.print=function(a){return d.la.call(this,a)}.bind(f);f.qb=function(a,b,c){jv(d,a,b);return d.pa.call(this,a,b,c)}.bind(f)}this.H=0;!this.ba&&this.D&&kv(this);this.qb("PCx86 v1.37.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");
|
||||
for(b=0;b<e.length;b++)f=e[b],f.jc&&f.jc(this,this.oa,this.R,this.Ea);Mc(this.R,this.id,function(){gd(d)},1E3/lv);b=null;f=Lc(this,"resume");void 0!==f&&(1<f.length?b=this.L=f:this.A=parseInt(f,10));f=!1;e=Oa("state");e||(f=!0,e=Lc(this,"state",a));e&&(b=this.X=e,f||(this.J=!0,this.A=hv),this.A&&(this.N=new Qe(this,"1.37.0"),this.N.load()?b=null:delete this.N));!b&&this.A&&(b=mv(this))&&(this.J=!0);if(this.aa=b){var g="Loading "+this.aa+"...";Ea(this.aa,null,!0,function(a,b,c){c?(d.L=null,d.J=!1,
|
||||
d.wa("Unable to load machine state from server (error "+c+(b?": "+xa(b):"")+")")):(d.M=b,d.fa=!0);v(d)},function(){d.qb(g,tb)})}else v(this);this.ia.power||(this.U=!0);!c&&this.U&&this.xe(this.te)}else q("Unable to find CPU component")}ja(fv,u);function kv(a){if(!a.H)for(var b=0;b<a.C.length;b++){var c=a.C[b];c&&(c=c.Cf)&&(c.style.opacity="1",c.style.lineHeight="1",a.H++)}}
|
||||
function jv(a,b,c){if(a.H)for(var d=0;d<a.C.length;d++){var e=a.C[d];e&&(e=e.Cf)&&(c!=tb||"..."!=b.slice(-3)?eb(e,b+"\n"):fb(e,b,b+"."))}}function mo(a){var b=a.D;3==a.D&&(a.D++,v(a));return!b}function gv(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.K=b}function Lc(a,b,c){var d=Oa(b);void 0===d&&a.K&&(d=a.K[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}l=fv.prototype;
|
||||
l.xe=function(a,b){for(var c=this,d=lb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!vb(f)){vb(f,function(){c.xe(a,b)});return}}a.call(this,b)};function nv(a,b){var c=new Qe(a,"1.37.0",ov);if(c.load()&&pv(c)){var d=c.get(qv),e=b?b.get(qv):"unknown";d!=e&&(a.wa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
l.te=function(a){void 0===a&&(a=this.A||(this.M?rv:hv));if(!this.F){this.F++;var b=!1,c=!1;this.da=!1;var d=this.N||new Qe(this,"1.37.0");if(a==Tc)b=!0;else if(a>hv){if(d.load(this.M)){this.G=new Qe(this,"1.37.0",sv);this.G.load()&&(a!=rv&&tv(this,d)&&(a=uv),vv(this.G));this.G.set(qv,za("Y-m-d H:i:s"));wv(this.G);var e=this.A&&!this.J;if(a==rv||cb("Click OK to restore the previous PCx86 machine state.")){if(c=pv(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.wa("Error: "+g),"unable to verify user"==g&&(Ka(xv,""),this.B=null)):this.qb(f+": "+g),vv(d),d.load()?(c=pv(d),e=!0):c=!1))}e&&nv(this,c?d:null)}else a==uv&&d.clear()}else nv(this);delete this.M;delete this.N}e=lb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.R&&(c=yv(this,g,d,b,c));b=[d,a,c];a!=Tc?this.xe(this.gg,b):this.gg(b)}};
|
||||
function yv(a,b,c,d,e){if(!b.Y.Sb){b.Y.Sb=!0;if(b.Rb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,"."))));"string"===typeof f&&(f=null);!b.Rb(f,d)&&f&&(b.wa("Unable to restore hardware state")&&(a.X&&!a.fa?(c.clear(),a.A=hv,window&&window.location.reload()):a.da=!0),b.Rb(null),e=!1)}b.Y.Ie=!0;if(!d&&b.hi)for(a=b.hi.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.gg=function(a){if(!this.Y.Ie){a:{if(this.H){if(2==this.D){this.D++;this.qb("Press any key to continue...");var b=!1;break a}for(b=0;b<this.C.length;b++){var c=this.C[b];if(c&&(c=c.Cf)){var d=Ga();c.style.opacity="0";c.style.lineHeight="0";if(0<=d.indexOf("MSIE")||0<=d.indexOf("Trident"))c.style.fontSize="0";c.value=""}}this.H=0}this.D=0;b=!0}if(!b){v(this,!1);this.xe(this.gg,a);return}this.Y.Ie=!0}b=a[0];c=0>a[1];a=a[2];if(d=this.ia.power)d.textContent="Shutdown";this.Y.Sb=!0;this.R&&(yv(this,this.R,
|
||||
b,c,a),this.R.Gd());this.da&&(tv(this,b),b.clear());!c&&this.G&&(this.G.clear(),delete this.G);this.F=0;nb(this.Dd,Lc(this,"autoScript"))};function tv(a,b){if(!a.Y.Yd){if(cb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.37.0"};d.url=a.qa;d.user=c;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}return!0}return!1}
|
||||
function zv(a,b,c){var d="none";if(a.F)return null;a.F--;var e=new Qe(a,"1.37.0"),f=new Qe(a,"1.37.0",ov),g=za("Y-m-d H:i:s");f.set(qv,g);e.set(qv,g);e.set(Av,"1.37.0");e.set(Bv,window?window.location.href:null);e.set(Cv,Ga());if(a.R&&a.R.Qb){var h=a.R.Qb(b,c);"object"===typeof h&&e.set(a.R.id,h);c&&(a.R.Y.Sb=!1,!1===h&&(d=null))}g=lb(a.id);for(var k=0;k<g.length;k++){var m=g[k];m.Y.Sb&&(m.Qb&&(h=m.Qb(b,c),"object"===typeof h&&e.set(m.id,h)),c&&(m.Y.Sb=!1,!1===h&&(d=null)))}d&&(c?(g=h=!1,b?(a.B&&
|
||||
Dv(a,a.B,e.toString()),wv(f)&&wv(e)||(d=null,h=g=!0)):a.A&&(h=!0,g=a.A==Ev),h&&e.clear(g)):d=e.toString());c&&(a.Y.Sb=!1,b=a.ia.power)&&(b.textContent="Power");a.F=0;return d}l.reset=function(){this.oa&&this.oa.reset&&this.oa.reset();for(var a=lb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=lb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
||||
l.stop=function(a,b){for(var c=lb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
l.Ab=function(a,b,c){var d=this;switch(b){case "power":return this.ia[b]=c,c.onclick=function(){d.F||(d.Y.Sb?Av(d,!1,!0):d.xe(d.te))},!0;case "reset":return this.ia[b]=c,c.onclick=function(){if(d.Y.Sb&&!d.F)if(d.R&&(d.R.Y.Gd=d.R.Y.cb),d.A&&!d.L){var a=d.Y.Yd||!cb("Click OK to reset this PCx86 machine and discard all disk modifications.");Av(d,a,!0);!a&&d.X?window&&window.location.reload():(a||(d.W=!0),d.te(iv),d.W=!1)}else d.reset(),d.R&&d.R.Gd()},!0;case "save":if(ua(Fa(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.ia[b]=c,c.onclick=function(){var a=jv(d,!0);if(a){var b=!!(d.A&&!d.L||d.X),c=Av(d,b);b?Ev(d,a,c):d.wa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function jv(a,b){var c=a.B;c||((c=Ja(yv),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=Gv(a,c))||a.wa("The user ID is invalid.")):b&&a.wa("Browser local storage is not available"));return c}
|
||||
function Gv(a,b){a.B=null;b=Ea(Fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ka(yv,b.data),a.B=b.data)}catch(d){q(d.message+" ("+c+")")}return a.B}function nv(a){var b=null;a.B&&(b=Fa()+"/api/v1/user?req=load&user="+a.B+"&state="+Hv(a,"1.37.0"));return b}
|
||||
function Ev(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Hv(a,"1.37.0");d.data=c;b=Ea(Fa()+"/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.wa("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.wa(c),Ka(yv,""),a.B=null)}}
|
||||
l.Ab=function(a,b,c){var d=this;switch(b){case "power":return this.ia[b]=c,c.onclick=function(){d.F||(d.Y.Sb?zv(d,!1,!0):d.xe(d.te))},!0;case "reset":return this.ia[b]=c,c.onclick=function(){if(d.Y.Sb&&!d.F)if(d.R&&(d.R.Y.Gd=d.R.Y.cb),d.A&&!d.L){var a=d.Y.Yd||!cb("Click OK to reset this PCx86 machine and discard all disk modifications.");zv(d,a,!0);!a&&d.X?window&&window.location.reload():(a||(d.W=!0),d.te(hv),d.W=!1)}else d.reset(),d.R&&d.R.Gd()},!0;case "save":if(ua(Fa(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.ia[b]=c,c.onclick=function(){var a=iv(d,!0);if(a){var b=!!(d.A&&!d.L||d.X),c=zv(d,b);b?Dv(d,a,c):d.wa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function iv(a,b){var c=a.B;c||((c=Ja(xv),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=Fv(a,c))||a.wa("The user ID is invalid.")):b&&a.wa("Browser local storage is not available"));return c}
|
||||
function Fv(a,b){a.B=null;b=Ea(Fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ka(xv,b.data),a.B=b.data)}catch(d){q(d.message+" ("+c+")")}return a.B}function mv(a){var b=null;a.B&&(b=Fa()+"/api/v1/user?req=load&user="+a.B+"&state="+Gv(a,"1.37.0"));return b}
|
||||
function Dv(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Gv(a,"1.37.0");d.data=c;b=Ea(Fa()+"/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.wa("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.wa(c),Ka(xv,""),a.B=null)}}
|
||||
function Ab(a,b,c){a=lb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}function Yc(a,b){if(a.C.length){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a=a.C[0];a.F&&a.F.focus();!b&&window&&window.scrollTo(c,d)}}
|
||||
function gd(a,b){if(a.R){var c=a.R;if(c.gi&&(b||!c.Y.cb||c.Y.bi)){yf(c,"EAX",c.F);yf(c,"EBX",c.G);yf(c,"ECX",c.H);yf(c,"EDX",c.L);yf(c,"ESP",C(c));yf(c,"EBP",c.M);yf(c,"ESI",c.J);yf(c,"EDI",c.I);yf(c,"CS",c.fa.ha);yf(c,"DS",c.Ga.ha);yf(c,"SS",c.W.ha);yf(c,"ES",c.xa.ha);yf(c,"EIP",F(c));var d=Ad(c);yf(c,"PS",d);yf(c,"V",d&2048);yf(c,"D",d&1024);yf(c,"I",d&512);yf(c,"T",d&256);yf(c,"S",d&128);yf(c,"Z",d&64);yf(c,"A",d&16);yf(c,"P",d&4);yf(c,"C",d&1);80386==c.ca&&(yf(c,"FS",c.rb.ha),yf(c,"GS",c.vb.ha),
|
||||
yf(c,"CR0",c.ra),yf(c,"CR2",c.sd),yf(c,"CR3",c.Vc))}if(d=c.ia.speed)d.textContent=c.Y.cb&&c.V.jd?c.V.jd.toFixed(2)+"Mhz":"Stopped"}for(c=0;c<a.C.length;c++)qq(a.C[c],b)}var tv="failsafe",pv="validate",rv="timestamp",Bv="version",Cv="url",Dv="browser",yv="user",Tc=-1,iv=0,sv=1,vv=2,Fv=3,mv=2;Sa(function(){for(var a=jb(document,"pcx86-machine"),b=0;b<a.length;b++){var c=a[b],d=kb(c);c=jb(c,"pcx86","computer");for(var e=0;e<c.length;e++){var f=c[e],g=kb(f);g=new gv(g,d,!0);ib(g,f);g.U&&g.xe(g.te)}}});
|
||||
Ta.show.push(function(){for(var a=jb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=kb(a[b]);if(c=hb("Computer",c.id))c.Y.Yd=!1,c.Y.Ie&&!c.Y.Sb&&c.te(Tc)}});Ta.exit.push(function(){for(var a=jb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=kb(a[b]);if(c=hb("Computer",c.id))c.Y.Yd=!0,c.Y.Sb&&Av(c,!(!c.A||c.L),!0)}});function Qe(a,b,c){this.id=a.id;this.Ea=a.Ea;this.A="";this.state={};this.B=this.C=!1;this.key=Hv(a,b,c);wv(this,a.Aj)}l=Qe.prototype;
|
||||
l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Ha()&&(a=Ja(this.key))?(this.A=a,this.B=!0):!1};function qv(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){q(c.message||c),b=!1}return b}
|
||||
function xv(a){var b=!0;if(Ha()){var c=JSON.stringify(a.state);Ka(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};function wv(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}
|
||||
l.clear=function(a){wv(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 Hv(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 Iv=0;
|
||||
function Jv(a,b,c,d,e,f){e("Loading "+a+"...");Ea(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):Kv(h,a,b,c,d,e,f)})}
|
||||
function Kv(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(ab(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),d=d.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
|
||||
"$1PCx86$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Lv(a,f,h):h(a,null):g("no data"+(b?" for file: "+
|
||||
yf(c,"CR0",c.ra),yf(c,"CR2",c.sd),yf(c,"CR3",c.Vc))}if(d=c.ia.speed)d.textContent=c.Y.cb&&c.V.jd?c.V.jd.toFixed(2)+"Mhz":"Stopped"}for(c=0;c<a.C.length;c++)qq(a.C[c],b)}var sv="failsafe",ov="validate",qv="timestamp",Av="version",Bv="url",Cv="browser",xv="user",Tc=-1,hv=0,rv=1,uv=2,Ev=3,lv=2;Sa(function(){for(var a=jb(document,"pcx86-machine"),b=0;b<a.length;b++){var c=a[b],d=kb(c);c=jb(c,"pcx86","computer");for(var e=0;e<c.length;e++){var f=c[e],g=kb(f);g=new fv(g,d,!0);ib(g,f);g.U&&g.xe(g.te)}}});
|
||||
Ta.show.push(function(){for(var a=jb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=kb(a[b]);if(c=hb("Computer",c.id))c.Y.Yd=!1,c.Y.Ie&&!c.Y.Sb&&c.te(Tc)}});Ta.exit.push(function(){for(var a=jb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=kb(a[b]);if(c=hb("Computer",c.id))c.Y.Yd=!0,c.Y.Sb&&zv(c,!(!c.A||c.L),!0)}});function Qe(a,b,c){this.id=a.id;this.Ea=a.Ea;this.A="";this.state={};this.B=this.C=!1;this.key=Gv(a,b,c);vv(this,a.Aj)}l=Qe.prototype;
|
||||
l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Ha()&&(a=Ja(this.key))?(this.A=a,this.B=!0):!1};function pv(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){q(c.message||c),b=!1}return b}
|
||||
function wv(a){var b=!0;if(Ha()){var c=JSON.stringify(a.state);Ka(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};function vv(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}
|
||||
l.clear=function(a){vv(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 Gv(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 Hv=0;
|
||||
function Iv(a,b,c,d,e,f){e("Loading "+a+"...");Ea(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):Jv(h,a,b,c,d,e,f)})}
|
||||
function Jv(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(ab(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),d=d.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
|
||||
"$1PCx86$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Kv(a,f,h):h(a,null):g("no data"+(b?" for file: "+
|
||||
b:""),null)}
|
||||
function Lv(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ea(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,r=/( [a-z]+=)(['"])(.*?)\2/gi;m=r.exec(f);)k=0>k.toLowerCase().indexOf(m[1].toLowerCase())?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);Lv(a,b,c)}})}else c(a,null)}
|
||||
function Mv(a,b,c,d){function e(a){if(void 0===h){var b=g&&jb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=va(a))}function f(a){e("Error: "+a);k&&(--Iv||Wa(!0));k=!1}var g,h,k=!0;Iv++;bb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],x=document.createElement("style");x.type="text/css";x.styleSheet?x.styleSheet.cssText=m:x.appendChild(document.createTextNode(m));r.appendChild(x)}c||
|
||||
(c="/versions/pcx86/1.37.0/components.xsl");m=function(d,h){h?Jv(c,null,null,!1,e,function(d,k){k?(ab(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Iv||Wa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Iv||Wa(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Jv(b,a,d,!0,e,m):Kv(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(t){f(t.message)}return k}function Nv(a,b,c,d){Wa(!1);return Mv(a,b,c,d)}window.embedPC=Nv;window.embedPCx86=Nv;
|
||||
function Kv(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ea(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,r=/( [a-z]+=)(['"])(.*?)\2/gi;m=r.exec(f);)k=0>k.toLowerCase().indexOf(m[1].toLowerCase())?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+
|
||||
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);Kv(a,b,c)}})}else c(a,null)}
|
||||
function Lv(a,b,c,d){function e(a){if(void 0===h){var b=g&&jb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=va(a))}function f(a){e("Error: "+a);k&&(--Hv||Wa(!0));k=!1}var g,h,k=!0;Hv++;bb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],x=document.createElement("style");x.type="text/css";x.styleSheet?x.styleSheet.cssText=m:x.appendChild(document.createTextNode(m));r.appendChild(x)}c||
|
||||
(c="/versions/pcx86/1.37.0/components.xsl");m=function(d,h){h?Iv(c,null,null,!1,e,function(d,k){k?(ab(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Hv||Wa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Hv||Wa(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Iv(b,a,d,!0,e,m):Jv(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(t){f(t.message)}return k}function Mv(a,b,c,d){Wa(!1);return Lv(a,b,c,d)}window.embedPC=Mv;window.embedPCx86=Mv;
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e)return nb(c,f)?(b&&(a.disabled=!0),!0):!1;if(d){var g=hb(d,c+".machine");if(g){var h=g.exports;if(h&&(h=h[e]))return h.call(g,f)?(b&&(a.disabled=!0),!0):!1}}console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=Wa;window.sendEvent=Ya;
|
||||
function Ov(a,b,c,d){if(!c&&b){d.push(b);a=bb[d[0]];b=null;for(var e in a)if(ua(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ea(b,null,!0,function(a,b){Pv(b,d)}):Pv(null,d)}else q("Error ("+c+") requesting "+a)}
|
||||
function Pv(a,b){var c,d,e=b[0],f=b[1];var g=b[4];if(g=g.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);)/)){var h=bb[e],k={},m;for(m in h){var r=h[m],x=ta(m);if("xml"==x){for(x=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;c=x.exec(h[m]);){var t=c[2];t&&!h[t]&&(r=r.replace(c[0],""))}c=m=sa(m)}else"xsl"==x&&(d=m=sa(m));k[m]=r}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);c&&d?(a=JSON.stringify(k),f+=".js",g=g[1]+"var resources="+a+";"+g[2]+g[3],g=g.replace(/\u00A9/g,
|
||||
function Nv(a,b,c,d){if(!c&&b){d.push(b);a=bb[d[0]];b=null;for(var e in a)if(ua(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ea(b,null,!0,function(a,b){Ov(b,d)}):Ov(null,d)}else q("Error ("+c+") requesting "+a)}
|
||||
function Ov(a,b){var c,d,e=b[0],f=b[1];var g=b[4];if(g=g.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);)/)){var h=bb[e],k={},m;for(m in h){var r=h[m],x=ta(m);if("xml"==x){for(x=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;c=x.exec(h[m]);){var t=c[2];t&&!h[t]&&(r=r.replace(c[0],""))}c=m=sa(m)}else"xsl"==x&&(d=m=sa(m));k[m]=r}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);c&&d?(a=JSON.stringify(k),f+=".js",g=g[1]+"var resources="+a+";"+g[2]+g[3],g=g.replace(/\u00A9/g,
|
||||
"©"),a=Qa(g,"javascript",!1,f),a=a+(', copy it to your web server as "'+f+'", and then add the following to your web page:\n\n')+('<div id="'+e+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+f+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+e+'","'+c+'","'+d+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",q(a)):q("Missing XML/XSL resources")}else q("Unsupported script")}
|
||||
window.savePC=function(a,b,c){var d=hb("Computer",a),e=hb("Debugger",a);if(d){var f=Av(d,!0),g=d.K?JSON.stringify(d.K):null;b||(b="/versions/pcx86/1.37.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Aj:g}))return!0;Ea(b,null,!0,function(c,d,e){Ov(c,d,e,[a,sa(b,!0),g,f])});return!0}q("Unable to identify machine '"+a+"'");return!1};})();//# sourceMappingURL=/versions/pcx86/1.37.0/pcx86.map
|
||||
window.savePC=function(a,b,c){var d=hb("Computer",a),e=hb("Debugger",a);if(d){var f=zv(d,!0),g=d.K?JSON.stringify(d.K):null;b||(b="/versions/pcx86/1.37.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Aj:g}))return!0;Ea(b,null,!0,function(c,d,e){Nv(c,d,e,[a,sa(b,!0),g,f])});return!0}q("Unable to identify machine '"+a+"'");return!1};})();//# sourceMappingURL=/versions/pcx86/1.37.0/pcx86.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -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