Added some more disk configurations

This commit is contained in:
Jeff Parsons 2017-08-27 11:25:02 -07:00 committed by Jeff Parsons
commit b730b915bf
31 changed files with 1002 additions and 963 deletions

View file

@ -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">

View file

@ -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,
"&#xA9;"),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

View file

@ -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&gt?this.I&gt||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&gt&&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&gt&&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&gt&&(!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,
"&#xA9;"),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

View file

@ -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">