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

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