Added "Adventures in Math (1983)" along with some notes about the failure to properly archive files
This commit is contained in:
parent
487fa0e26e
commit
36bf15561f
19 changed files with 619 additions and 379 deletions
|
|
@ -523,8 +523,8 @@ function Tp(a,b,c,d){if(d)a.Aa("Unable to load font ROM (error "+d+": "+b+")");e
|
|||
function xq(a,b){if(1==b)return a.ga[0]=yq[sq],a.ga[1]=yq[qq],a.ga;if(2==b){var c=a.C.ef;if(a.C===a.A){var d=a.A.rc[0],c=d&7;d&16&&(c|=8);18!=a.A.rc[1]&&(c|=32)}a.ga[0]=yq[c&15];c=c&32?zq:Aq;for(d=0;d<c.length;d++)a.ga[d+1]=yq[c[d]];return a.ga}if(a.I===a.rb)return yq;a.Ga&&b&&!a.ga[16]&&(a.Ga=!1);if(!a.Ga){var c=a.A,d=c.we,e,f,g,h;if(8==b)for(e=0;256>e;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.ga[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.rc[15]?c.rc:Bq;for(e=0;16>e;e++)f=b[e]&63,k?(f|=
|
||||
(c.rc[20]&12)<<4,c.rc[16]&128&&(f&=-49,f|=(c.rc[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.ga[e]=[g,h,f,255]}a.Ga=!0}return a.ga}function Qn(a,b,c,d){a.nb=b;a.Va=c;a.Ca=d}
|
||||
function nq(a,b){var c=!1;if(window&&a.nb&&(!b||a.G)){b=0;var d=a.Ca?a.Ca:8,e=xq(a);null!=a.Va[0]&&Cq(a,Dq,a.Va[0],b,d,8,a.nb,e)&&(c=!0);b=a.Ca?0:2048;d=a.Ca?a.Ca:9;null!=a.Va[1]&&(Cq(a,Eq,a.Va[1],b,d,14,a.nb,Fq,Gq)&&(c=!0),a.Ca&&Cq(a,a.Ma,a.Va[1],0,a.Ca,14,a.nb,e)&&(c=!0))}return c}function Cq(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(Hq(a,b,c,d,e,f,g,h,k)&&(m=!0),a.md&&Hq(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
|
||||
function Hq(a,b,c,d,e,f,g,h,k){var m=!1,q=b&1?0:1,y=a.ta[b],w=16>h.length?h.length:16;y||(y={oc:e<<q,pc:f<<q,ae:Array(w),Wh:h.slice(0,w),De:k,hg:Array(w)});for(k=0;k<w;k++){var z=h[k],B=y.ae[k]?y.Wh[k]:[];if(z[0]!==B[0]||z[1]!==B[1]||z[2]!==B[2]){var m=y,B=k,S=q,X=c,ca=d,$a=e,zb=f,Rh=g,It=[0,0,0,0],Mf=document.createElement("canvas");Mf.width=m.oc<<4;Mf.height=m.pc<<4;var Im=Mf.getContext("2d"),Kb,pd,oc,Nf=8>zb||!ca?zb:8,Sh=Im.createImageData(m.oc,m.pc);for(Kb=0;256>Kb;Kb++){for(oc=0;oc<zb;oc++)for(var Jt=
|
||||
m.De&&B&1&&oc>=zb-2,Kt=Rh[oc<Nf?X+Kb*Nf+oc:ca+Kb*Nf+oc-Nf],Th=0;Th<=S;Th++)for(pd=0;pd<$a;pd++){var Jm=pd<<S,Km=(oc<<S)+Th,Lm=Jt||Kt&128>>(8<=pd&&192<=Kb&&223>=Kb?7:pd)?z:It;Iq(Sh,Jm,Km,Lm);S&&Iq(Sh,Jm+1,Km,Lm)}Im.putImageData(Sh,(Kb&15)*m.oc,(Kb>>4)*m.pc)}m.ae[B]="#"+oa(z[0],2)+oa(z[1],2)+oa(z[2],2);m.Wh[B]=z;m.hg[B]=Mf;m=!0}}a.ta[b]=y;return m}function Jq(a){0<a.ua||0<=a.Z?0>a.xa&&(a.xa=0):a.xa=-1}
|
||||
function Hq(a,b,c,d,e,f,g,h,k){var m=!1,q=b&1?0:1,y=a.ta[b],w=16>h.length?h.length:16;y||(y={oc:e<<q,pc:f<<q,ae:Array(w),Wh:h.slice(0,w),De:k,hg:Array(w)});for(k=0;k<w;k++){var z=h[k],B=y.ae[k]?y.Wh[k]:[];if(z[0]!==B[0]||z[1]!==B[1]||z[2]!==B[2]){var m=y,B=k,S=q,X=c,ca=d,$a=e,zb=f,Rh=g,Jt=[0,0,0,0],Mf=document.createElement("canvas");Mf.width=m.oc<<4;Mf.height=m.pc<<4;var Im=Mf.getContext("2d"),Kb,pd,oc,Nf=8>zb||!ca?zb:8,Sh=Im.createImageData(m.oc,m.pc);for(Kb=0;256>Kb;Kb++){for(oc=0;oc<zb;oc++)for(var Kt=
|
||||
m.De&&B&1&&oc>=zb-2,Lt=Rh[oc<Nf?X+Kb*Nf+oc:ca+Kb*Nf+oc-Nf],Th=0;Th<=S;Th++)for(pd=0;pd<$a;pd++){var Jm=pd<<S,Km=(oc<<S)+Th,Lm=Kt||Lt&128>>(8<=pd&&192<=Kb&&223>=Kb?7:pd)?z:Jt;Iq(Sh,Jm,Km,Lm);S&&Iq(Sh,Jm+1,Km,Lm)}Im.putImageData(Sh,(Kb&15)*m.oc,(Kb>>4)*m.pc)}m.ae[B]="#"+oa(z[0],2)+oa(z[1],2)+oa(z[2],2);m.Wh[B]=z;m.hg[B]=Mf;m=!0}}a.ta[b]=y;return m}function Jq(a){0<a.ua||0<=a.Z?0>a.xa&&(a.xa=0):a.xa=-1}
|
||||
function wq(a){if(a.G){for(var b=10;15>=b;b++)if(null==a.C.Qa[b])return;var c=a.C.Qa[10],b=c&31,d=a.C.Qa[11]&31,e=a.C.Qa[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Kq(a);else{c=a.C.Qa[15]+((a.C.Qa[14]&63)<<8);a.Z!=c&&(Kq(a),a.Z=c);d=d-b+1;if(a.Tc!=b||a.xc!=d)a.Tc=b,a.xc=d;a.wa=e+1;Jq(a)}}}function Kq(a){if(0<=a.Z){if(void 0!==a.L){var b=Lq<<8,c=a.L[a.Z];if(c&b){var c=c&~b,b=a.Z%a.F,d=a.Z/a.F|0;a.G&&a.ta[a.G]&&(a.Ba&&Mq(a,b,d,c,a.Ba),Mq(a,b,d,c));a.L[a.Z]=c}}a.Z=-1}}
|
||||
function Nq(a){var b,c=a.C;a.yc=!1;var d=c.kd[5];if(null!=d){b=fp;var e=hp,f=c.kd[3]&31;switch(d&3){case 0:if(f){e=hp|32;switch(f&24){case 8:e=hp|96;break;case 16:e=hp|160;break;case 24:e=hp|224}c.zc=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.Ma==Rn&&(e=3,c.zc=f&7)}d&8&&(b=1280);c=c.Qd[4];null!=c&&(c&4||(b|=gp,e|=ip),d&64&&(c&8&&(b|=16384,e|=4),a.yc=!0));b|=e}return b}
|
||||
function Oq(a,b){var c=a.C;return c&&null!=b&&b!=c.tg?(c.$f(b),a.ma.$f(c.Ya,c.Ab,c.qg(),!0),!0):!1}
|
||||
|
|
@ -600,99 +600,99 @@ l.save=function(){var a=0,b=[];b[a++]=[this.F,this.I,this.fb,this.gb,this.Za,thi
|
|||
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?bs(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.I&&e[1]!=this.I&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.I+")",b=-2));for(this.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.qe){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.uc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b&&-2!=b&&this.controller.Aa("Unable to restore disk '"+this.Qc+": "+c);return b};
|
||||
l.toJSON=function(){var a;a=0;for(var b;b=js(this,a++);)rs(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 rs(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 as=0;function ss(a){t.call(this,"FDC",a);this.dmaRead=ss.prototype.ak;this.dmaWrite=ss.prototype.bk;this.dmaFormat=ss.prototype.rk;this.H=a.autoMount||null;this.L=a.sortBy||"name";"none"==this.L&&(this.L=null);this.B=[];this.M=!Ha("Mobi")&&window&&"FileReader"in window}ba(ss,t);l=ss.prototype;
|
||||
l.wb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ia[b]=c;if(this.L){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.L?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(){var a=d.ia.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){r("FDC option error: "+h.message)}b=g.desc;void 0===
|
||||
b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.ia[b]=c,c.onchange=function(){var a=na(c.value,10);null!=a&&ts(d,a)},!0;case "loadDisk":return this.ia[b]=c,c.onclick=function(){var a=d.ia.listDisks;a&&us(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.M){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[na(a.value,
|
||||
10)||0])?(a=a.sa)?(a=Ka(qs(a),"octet-stream",!0,a.qh.replace(".json",".img")),r(a)):d.Aa("No diskette loaded in drive."):d.Aa("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.ia[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;us(d,pa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;this.V=vb(a,"ChipSet");if((this.H=Mc(this.oa,"autoMount")||this.H)&&"string"==typeof this.H)try{this.H=eval("("+this.H+")")}catch(e){r("FDC auto-mount error: "+e.message+" ("+this.H+")"),this.H=null}vs(this);kc(b,this,ws);mc(b,this,xs);ys(this,"None","",!0);this.M&&ys(this,"Local Disk","?");ys(this,"Remote Disk","??");zs(this)||mb(this)};
|
||||
l.Ob=function(a,b){if(!b){if(!a){if(this.reset(),this.oa.O){this.B=[];for(a=0;a<this.A.length;a++)As(this,a,!0);zs(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.O;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.O&&(a.value="0",ts(this,0))}}return!0};l.Nb=function(a){return a?this.save():!0};l.reset=function(){vs(this)};
|
||||
l.save=function(){var a=new Qe(this);a.set(0,Bs(this));return a.data()};l.restore=function(a){return vs(this,a[0])};
|
||||
function vs(a,b){var c=0,d,e=!0;b||(b=[0,0,Cs,Array(9),0,0,0,[]]);a.La=b[c++];c++;a.Y=b[c++];a.G=b[c++];a.D=b[c++];a.C=b[c++];a.K=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.O=4,a.V&&(a.O=+dk(a.V,vj,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.V)a:{h=a.V;if(d<+dk(h,vj,void 0)){if(!h.O){h=360;break a}if(d<h.O.length){h=h.O[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.gb=1;default:g.fb=40;g.Za=9;break;case 720:g.fb=
|
||||
80;g.Za=9;break;case 1200:g.fb=80;g.Za=15;break;case 1440:g.fb=80,g.Za=18}}var k=a,m=d,q=f[d],y=0;h=!0;g.La=m;g.ke=g.me=!1;q||(q=[Ds,!0,0,2,0]);"boolean"==typeof q[1]&&(q[1]=[Es,g.fb||40,g.gb||q[3],g.Za||9,g.lb||512,q[1],g.Mf,g.Re,g.Se]);g.hb=q[y++];var w=q[y++];g.name=w[0];g.fb=w[1];g.gb=w[2];g.Za=w[3];g.lb=w[4];g.ne=w[5];(g.Mf=w[6])?(g.Re=w[7],g.Se=w[8]):(g.Mf=g.fb,g.Re=g.gb,g.Se=g.Za);g.Sa=q[y++];g.sd=q[y++];g.ub=q[y++];g.sd=100<=g.sd?g.sd-100:g.sd-g.ub;g.kb=q[y++];g.td=q[y++];g.tb=q[y++];g.Oa=
|
||||
q[y++];g.Ra=null;g.sa||(g.Sd="");var z=q[y++];102==z&&(z=!1);"boolean"==typeof z?(w=q[y++],q=q[y],z?(y=k.A[m],As(k,m,!0,!0),y.me=!0,m=new $r(k,y,"preload"),k.ki(y,m,w,q,!0)):Fs(k,m,w,q,!0)?g.sa&&q&&Gs(k,w,q,g.sa):mb(k,!1)):void 0!==z&&g.sa&&0>g.sa.restore(z)&&(h=!1);h&&g.sa&&void 0!==g.Oa&&(g.Ra=g.sa.seek(g.ub,g.Sa,g.kb));h||(e=!1)}a.I=b[c++]||0;a.F=b[c]||Hs;return e}
|
||||
function Bs(a){var b=0,c=[];c[b++]=a.La;c[b++]=0;c[b++]=a.Y;c[b++]=a.G;c[b++]=a.D;c[b++]=a.C;c[b++]=a.K;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,q=[];q[m++]=k.hb;q[m++]=[k.name,k.fb,k.gb,k.Za,k.lb,k.ne,k.Mf,k.Re,k.Se];q[m++]=k.Sa;q[m++]=k.sd+100;q[m++]=k.ub;q[m++]=k.kb;q[m++]=k.td;q[m++]=k.tb;q[m++]=k.Oa;q[m++]=k.me;q[m++]=k.Rj;q[m]=k.Sd;f[h]=q}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&Is(a,f.Sd,f.sa);c[d]=a.B;c[b++]=a.I;c[b]=a.F;return c}
|
||||
function zs(a,b){b||(a.J=0);if(a.H)for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.ia.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=pa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Fs(a,g,f,e,!0)&&b&&mb(a,!1);continue}a.Aa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.J}
|
||||
function us(a,b,c,d){var e,f=a.ia.listDrives;if(f&&!isNaN(e=na(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Aa('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=pa(c)}for(;0>Fs(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}As(a,e,!1,
|
||||
!0)}}else As(a,e);else a.Aa("Unable to load the selected drive")}function Fs(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.Sd.toLowerCase()!=d.toLowerCase())){As(a,b,e,!0);if(g.ke)return a.Aa("Drive "+b+" busy"),0;g.ke=!0;e&&(g.Gd=!0,a.J++);g.me=!!f;return(new $r(a,g,"preload")).load(c,d,f,a.ki)?1:0}return-1}
|
||||
l.ki=function(a,b,c,d,e){var f;a.ke=!1;b&&(f=b.info(),b&&f[0]>a.fb||f[1]>a.gb)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.La)),b=null);b?(a.sa=b,a.Rj=c,a.Sd=d,Gs(this,c,d,b),f=b.info(),this.I|=Js,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.La),a.Gd||e),a.Mf=f[0],a.Re=f[1],a.Se=f[2],this.oa&&Zc(this.oa)):a.me=!1;a.Gd&&(a.Gd=!1,--this.J||mb(this));ts(this,a.La)};
|
||||
function ys(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 ts(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=na(a.value,10),c=c.me?"?":c.Sd,!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 As(a,b,c,d){var e=a.A[b];e.sa&&(Is(a,e.Sd,e.sa),e.Rj="",e.Sd="",e.sa=null,e.me=!1,a.I|=Js,d||a.Aa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||ts(a,b))}
|
||||
function Gs(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 Is(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&Ks?this.K&Ks||this.K&Ls&&this.V&&Hf(this.V,6):vs(this);this.K=b};l.dl=function(){return 80};l.fl=function(){return this.Y};l.cl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.K&Ls&&this.V&&Ff(this.V,6);++this.D>=this.C&&(this.Y&=~(Ms|Ns),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]&Os;if(void 0!==Ps[a]&&this.C>=Ps[a].ed){b=!1;this.D=0;a=Qs(this);var c,d,e,f,g,h=a&Os;switch(h){case Rs:Qs(this);Qs(this);Ss(this);break;case Ts:d=Qs(this);this.La=d&3;c=this.A[this.La];Ss(this);Us(this,(c.hb&Vs)>>>24);break;case Ws:case Xs:d=Qs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];c.Sa=b;d=c.ub=Qs(this);e=Qs(this);f=c.kb=Qs(this);g=Qs(this);c.tb=128<<g;c.td=Qs(this);Qs(this);Qs(this);h==Xs?(h=c,h.hb=Ys|Zs,h.sa&&(h.Ra=
|
||||
null,h.hb=$s,this.V&&(wl(this.V,2,this,"dmaRead",h),sl(this.V,2)))):(h=c,h.hb=Ys|Zs,h.sa&&(h.sa.qe?h.hb=at|Zs:(h.Ra=null,h.hb=$s,this.V&&(wl(this.V,2,this,"dmaWrite",h),sl(this.V,2)))));bt(this,c,a,b,d,e,f,g);b=!0;break;case ct:d=Qs(this);this.La=d&3;c=this.A[this.La];c.ub=c.sd=0;c.hb=dt|et;Ss(this);b=!0;break;case ft:c=this.A[this.La];c.Sa=0;Ss(this);Us(this,c.La|c.Sa<<2|c.hb>);Us(this,c.ub);this.La=this.La+1&3;break;case ht:d=Qs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];d=c.ub;e=c.Sa=b;f=c.kb=
|
||||
1;g=0;c.hb=$s;c.sa&&(c.Ra=c.sa.seek(c.ub,c.Sa,c.kb))?g=c.Ra.length>>8:c.hb=Ys|Zs;bt(this,c,a,b,d,e,f,g);b=!0;break;case it:d=Qs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];d=c.ub;e=c.Sa=b;f=1;g=Qs(this);c.tb=128<<g;c.td=Qs(this);Qs(this);c.$h=Qs(this);h=c;h.hb=Ys|Zs;h.sa&&(h.Ra=null,h.hb=$s,this.V&&(h.he=0,h.Fc=Array(4),h.jg=!0,h.yf=0,wl(this.V,2,this,"dmaFormat",h),sl(this.V,2),h.jg=!1));bt(this,c,a,b,d,e,f,g);b=!0;break;case jt:d=Qs(this),this.La=d&3,c=this.A[this.La],c.Sa=d>>2&1,d=Qs(this),c.ub+=
|
||||
d-c.sd,0>c.ub&&(c.ub=0),c.ub>=c.fb&&(c.ub=c.fb-1),c.sd=d,c.hb=dt,c.ub||(c.hb|=et),Ss(this),b=!0}0<this.C&&(this.Y=this.Y|Ms|Ns);this.K&Ls&&(!c||c.hb&Ys||!b||this.V&&Hf(this.V,6))}};l.el=function(){var a=this.I;this.I&=~Js;return a};l.wm=function(a,b){this.F=b};function bt(a,b,c,d,e,f,g,h){Ss(a);Us(a,b.La|b.Sa<<2|b.hb>);Us(a,(b.hb&kt)>>>8);Us(a,(b.hb<)>>>16);var k=0;if(e!=b.ub||f!=b.Sa)k=g=1;c&mt&&(f^=k,d||(k=0));Us(a,e+k);Us(a,f);Us(a,g);Us(a,h)}function Qs(a){var b=a.G[a.D];a.D++;return b}
|
||||
function Ss(a){a.D=a.C=0}function Us(a,b){a.G[a.C++]=b}l.ak=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};l.bk=function(a,b){return void 0!==b&&0<=b?nt(a,b):-1};l.rk=function(a,b){if(void 0!==b&&0<=b)a:if(a.hb)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.ub=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>nt(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
|
||||
l.ve=function(a,b){var c=-1,d=null,e=0;if(!a.hb&&a.sa){do{if(a.Ra&&(e=a.Oa,0<=(c=a.sa.read(a.Ra,a.Oa++)))){d=a.Ra;break}a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=ot|Zs;break}a.Oa=0;pt(a)}while(1)}b(c,!1,d,e)};function nt(a,b){if(a.hb||!a.sa)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=qt|Zs;b=-1;break}a.Oa=0;pt(a)}while(1);return b}function pt(a){a.kb++;a.kb>=a.Se+1&&(a.kb=1,a.Sa++,a.Sa>=a.Re&&(a.Sa=0,a.ub++))}
|
||||
var Es="Floppy Drive",Ks=4,Ls=8,Ns=16,Ms=64,Cs=128,Rs=3,Ts=4,Ws=5,Xs=6,ct=7,ft=8,ht=10,it=13,jt=15,Os=31,mt=128,$s=0,Ys=8,dt=32,Zs=64,Ds=192,gt=255,at=512,ot=1024,qt=8192,kt=65280,lt=16711680,et=268435456,Vs=-16777216,Js=128,Hs=0;aa={};
|
||||
var Ps={3:{ed:3,ud:0,name:aa.Ao},4:{ed:2,ud:1,name:aa.yo},5:{ed:9,ud:7,name:aa.Eo},6:{ed:9,ud:7,name:aa.uo},7:{ed:2,ud:0,name:aa.wo},8:{ed:1,ud:2,name:aa.zo},10:{ed:2,ud:7,name:aa.vo},13:{ed:6,ud:7,name:aa.ro},15:{ed:3,ud:0,name:aa.xo}},ws={1009:ss.prototype.dl,1012:ss.prototype.fl,1013:ss.prototype.cl,1015:ss.prototype.el},xs={1010:ss.prototype.ym,1013:ss.prototype.xm,1015:ss.prototype.wm};
|
||||
function rs(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 as=0;function ss(a){t.call(this,"FDC",a);this.dmaRead=ss.prototype.ak;this.dmaWrite=ss.prototype.bk;this.dmaFormat=ss.prototype.rk;this.L=ts(a.autoMount);this.K=a.sortBy||"name";"none"==this.K&&(this.K=null);this.B=[];this.M=!Ha("Mobi")&&window&&"FileReader"in window}ba(ss,t);l=ss.prototype;
|
||||
l.wb=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(){var a=d.ia.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){r("FDC option error: "+h.message)}b=g.desc;void 0===
|
||||
b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.ia[b]=c,c.onchange=function(){var a=na(c.value,10);null!=a&&us(d,a)},!0;case "loadDisk":return this.ia[b]=c,c.onclick=function(){var a=d.ia.listDisks;a&&vs(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.M){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[na(a.value,
|
||||
10)||0])?(a=a.sa)?(a=Ka(qs(a),"octet-stream",!0,a.qh.replace(".json",".img")),r(a)):d.Aa("No diskette loaded in drive."):d.Aa("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.ia[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;vs(d,pa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;this.V=vb(a,"ChipSet");ts(Mc(this.oa,"autoMount"),this.L);ws(this);kc(b,this,xs);mc(b,this,ys);zs(this,"None","",!0);this.M&&zs(this,"Local Disk","?");zs(this,"Remote Disk","??");As(this)||mb(this)};function ts(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){r("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};if(b)for(var c in a)b[c]=a[c];return a}
|
||||
l.Ob=function(a,b){if(!b){if(!a){if(this.reset(),this.oa.O){this.B=[];for(a=0;a<this.A.length;a++)Bs(this,a,!0);As(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.O;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.O&&(a.value="0",us(this,0))}}return!0};l.Nb=function(a){return a?this.save():!0};l.reset=function(){ws(this)};
|
||||
l.save=function(){var a=new Qe(this);a.set(0,Cs(this));return a.data()};l.restore=function(a){return ws(this,a[0])};
|
||||
function ws(a,b){var c=0,d,e=!0;b||(b=[0,0,Ds,Array(9),0,0,0,[]]);a.La=b[c++];c++;a.Y=b[c++];a.G=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.O=4,a.V&&(a.O=+dk(a.V,vj,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.V)a:{h=a.V;if(d<+dk(h,vj,void 0)){if(!h.O){h=360;break a}if(d<h.O.length){h=h.O[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.gb=1;default:g.fb=40;g.Za=9;break;case 720:g.fb=
|
||||
80;g.Za=9;break;case 1200:g.fb=80;g.Za=15;break;case 1440:g.fb=80,g.Za=18}}var k=a,m=d,q=f[d],y=0;h=!0;g.La=m;g.ke=g.me=!1;q||(q=[Es,!0,0,2,0]);"boolean"==typeof q[1]&&(q[1]=[Fs,g.fb||40,g.gb||q[3],g.Za||9,g.lb||512,q[1],g.Mf,g.Re,g.Se]);g.hb=q[y++];var w=q[y++];g.name=w[0];g.fb=w[1];g.gb=w[2];g.Za=w[3];g.lb=w[4];g.ne=w[5];(g.Mf=w[6])?(g.Re=w[7],g.Se=w[8]):(g.Mf=g.fb,g.Re=g.gb,g.Se=g.Za);g.Sa=q[y++];g.sd=q[y++];g.ub=q[y++];g.sd=100<=g.sd?g.sd-100:g.sd-g.ub;g.kb=q[y++];g.td=q[y++];g.tb=q[y++];g.Oa=
|
||||
q[y++];g.Ra=null;g.sa||(g.Sd="");var z=q[y++];102==z&&(z=!1);"boolean"==typeof z?(w=q[y++],q=q[y],z?(y=k.A[m],Bs(k,m,!0,!0),y.me=!0,m=new $r(k,y,"preload"),k.ki(y,m,w,q,!0)):Gs(k,m,w,q,!0)?g.sa&&q&&Hs(k,w,q,g.sa):mb(k,!1)):void 0!==z&&g.sa&&0>g.sa.restore(z)&&(h=!1);h&&g.sa&&void 0!==g.Oa&&(g.Ra=g.sa.seek(g.ub,g.Sa,g.kb));h||(e=!1)}a.H=b[c++]||0;a.F=b[c]||Is;return e}
|
||||
function Cs(a){var b=0,c=[];c[b++]=a.La;c[b++]=0;c[b++]=a.Y;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,q=[];q[m++]=k.hb;q[m++]=[k.name,k.fb,k.gb,k.Za,k.lb,k.ne,k.Mf,k.Re,k.Se];q[m++]=k.Sa;q[m++]=k.sd+100;q[m++]=k.ub;q[m++]=k.kb;q[m++]=k.td;q[m++]=k.tb;q[m++]=k.Oa;q[m++]=k.me;q[m++]=k.Rj;q[m]=k.Sd;f[h]=q}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&Js(a,f.Sd,f.sa);c[d]=a.B;c[b++]=a.H;c[b]=a.F;return c}
|
||||
function As(a,b){b||(a.J=0);for(var c in a.L){var d=a.L[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.ia.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=pa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Gs(a,g,f,e,!0)&&b&&mb(a,!1);continue}a.Aa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.J}
|
||||
function vs(a,b,c,d){var e,f=a.ia.listDrives;if(f&&!isNaN(e=na(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Aa('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=pa(c)}for(;0>Gs(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}Bs(a,e,!1,
|
||||
!0)}}else Bs(a,e);else a.Aa("Unable to load the selected drive")}function Gs(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.Sd.toLowerCase()!=d.toLowerCase())){Bs(a,b,e,!0);if(g.ke)return a.Aa("Drive "+b+" busy"),0;g.ke=!0;e&&(g.Gd=!0,a.J++);g.me=!!f;return(new $r(a,g,"preload")).load(c,d,f,a.ki)?1:0}return-1}
|
||||
l.ki=function(a,b,c,d,e){var f;a.ke=!1;b&&(f=b.info(),b&&f[0]>a.fb||f[1]>a.gb)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.La)),b=null);b?(a.sa=b,a.Rj=c,a.Sd=d,Hs(this,c,d,b),f=b.info(),this.H|=Ks,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.La),a.Gd||e),a.Mf=f[0],a.Re=f[1],a.Se=f[2],this.oa&&Zc(this.oa)):a.me=!1;a.Gd&&(a.Gd=!1,--this.J||mb(this));us(this,a.La)};
|
||||
function zs(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 us(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=na(a.value,10),c=c.me?"?":c.Sd,!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 Bs(a,b,c,d){var e=a.A[b];e.sa&&(Js(a,e.Sd,e.sa),e.Rj="",e.Sd="",e.sa=null,e.me=!1,a.H|=Ks,d||a.Aa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||us(a,b))}
|
||||
function Hs(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 Js(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&Ls?this.I&Ls||this.I&Ms&&this.V&&Hf(this.V,6):ws(this);this.I=b};l.dl=function(){return 80};l.fl=function(){return this.Y};l.cl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.I&Ms&&this.V&&Ff(this.V,6);++this.D>=this.C&&(this.Y&=~(Ns|Os),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]&Ps;if(void 0!==Qs[a]&&this.C>=Qs[a].ed){b=!1;this.D=0;a=Rs(this);var c,d,e,f,g,h=a&Ps;switch(h){case Ss:Rs(this);Rs(this);Ts(this);break;case Us:d=Rs(this);this.La=d&3;c=this.A[this.La];Ts(this);Vs(this,(c.hb&Ws)>>>24);break;case Xs:case Ys:d=Rs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];c.Sa=b;d=c.ub=Rs(this);e=Rs(this);f=c.kb=Rs(this);g=Rs(this);c.tb=128<<g;c.td=Rs(this);Rs(this);Rs(this);h==Ys?(h=c,h.hb=Zs|$s,h.sa&&(h.Ra=
|
||||
null,h.hb=at,this.V&&(wl(this.V,2,this,"dmaRead",h),sl(this.V,2)))):(h=c,h.hb=Zs|$s,h.sa&&(h.sa.qe?h.hb=bt|$s:(h.Ra=null,h.hb=at,this.V&&(wl(this.V,2,this,"dmaWrite",h),sl(this.V,2)))));ct(this,c,a,b,d,e,f,g);b=!0;break;case dt:d=Rs(this);this.La=d&3;c=this.A[this.La];c.ub=c.sd=0;c.hb=et|ft;Ts(this);b=!0;break;case gt:c=this.A[this.La];c.Sa=0;Ts(this);Vs(this,c.La|c.Sa<<2|c.hb&ht);Vs(this,c.ub);this.La=this.La+1&3;break;case it:d=Rs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];d=c.ub;e=c.Sa=b;f=c.kb=
|
||||
1;g=0;c.hb=at;c.sa&&(c.Ra=c.sa.seek(c.ub,c.Sa,c.kb))?g=c.Ra.length>>8:c.hb=Zs|$s;ct(this,c,a,b,d,e,f,g);b=!0;break;case jt:d=Rs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];d=c.ub;e=c.Sa=b;f=1;g=Rs(this);c.tb=128<<g;c.td=Rs(this);Rs(this);c.$h=Rs(this);h=c;h.hb=Zs|$s;h.sa&&(h.Ra=null,h.hb=at,this.V&&(h.he=0,h.Fc=Array(4),h.jg=!0,h.yf=0,wl(this.V,2,this,"dmaFormat",h),sl(this.V,2),h.jg=!1));ct(this,c,a,b,d,e,f,g);b=!0;break;case kt:d=Rs(this),this.La=d&3,c=this.A[this.La],c.Sa=d>>2&1,d=Rs(this),c.ub+=
|
||||
d-c.sd,0>c.ub&&(c.ub=0),c.ub>=c.fb&&(c.ub=c.fb-1),c.sd=d,c.hb=et,c.ub||(c.hb|=ft),Ts(this),b=!0}0<this.C&&(this.Y=this.Y|Ns|Os);this.I&Ms&&(!c||c.hb&Zs||!b||this.V&&Hf(this.V,6))}};l.el=function(){var a=this.H;this.H&=~Ks;return a};l.wm=function(a,b){this.F=b};function ct(a,b,c,d,e,f,g,h){Ts(a);Vs(a,b.La|b.Sa<<2|b.hb&ht);Vs(a,(b.hb<)>>>8);Vs(a,(b.hb&mt)>>>16);var k=0;if(e!=b.ub||f!=b.Sa)k=g=1;c&nt&&(f^=k,d||(k=0));Vs(a,e+k);Vs(a,f);Vs(a,g);Vs(a,h)}function Rs(a){var b=a.G[a.D];a.D++;return b}
|
||||
function Ts(a){a.D=a.C=0}function Vs(a,b){a.G[a.C++]=b}l.ak=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};l.bk=function(a,b){return void 0!==b&&0<=b?ot(a,b):-1};l.rk=function(a,b){if(void 0!==b&&0<=b)a:if(a.hb)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.ub=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>ot(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
|
||||
l.ve=function(a,b){var c=-1,d=null,e=0;if(!a.hb&&a.sa){do{if(a.Ra&&(e=a.Oa,0<=(c=a.sa.read(a.Ra,a.Oa++)))){d=a.Ra;break}a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=pt|$s;break}a.Oa=0;qt(a)}while(1)}b(c,!1,d,e)};function ot(a,b){if(a.hb||!a.sa)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=rt|$s;b=-1;break}a.Oa=0;qt(a)}while(1);return b}function qt(a){a.kb++;a.kb>=a.Se+1&&(a.kb=1,a.Sa++,a.Sa>=a.Re&&(a.Sa=0,a.ub++))}
|
||||
var Fs="Floppy Drive",Ls=4,Ms=8,Os=16,Ns=64,Ds=128,Ss=3,Us=4,Xs=5,Ys=6,dt=7,gt=8,it=10,jt=13,kt=15,Ps=31,nt=128,at=0,Zs=8,et=32,$s=64,Es=192,ht=255,bt=512,pt=1024,rt=8192,lt=65280,mt=16711680,ft=268435456,Ws=-16777216,Ks=128,Is=0;aa={};
|
||||
var Qs={3:{ed:3,ud:0,name:aa.Ao},4:{ed:2,ud:1,name:aa.yo},5:{ed:9,ud:7,name:aa.Eo},6:{ed:9,ud:7,name:aa.uo},7:{ed:2,ud:0,name:aa.wo},8:{ed:1,ud:2,name:aa.zo},10:{ed:2,ud:7,name:aa.vo},13:{ed:6,ud:7,name:aa.ro},15:{ed:3,ud:0,name:aa.xo}},xs={1009:ss.prototype.dl,1012:ss.prototype.fl,1013:ss.prototype.cl,1015:ss.prototype.el},ys={1010:ss.prototype.ym,1013:ss.prototype.xm,1015:ss.prototype.wm};
|
||||
Ma(function(){for(var a=eb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new ss(d);db(d,c)}});function Z(a){t.call(this,"HDC",a);this.dmaRead=Z.prototype.ck;this.dmaWrite=Z.prototype.dk;this.dmaWriteBuffer=Z.prototype.sk;this.dmaWriteFormat=Z.prototype.tk;this.X=[];this.ja=a.drives;this.L="at"==a.type}ba(Z,t);l=Z.prototype;
|
||||
l.wb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.ia[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.sa){var b=b.sa,c=b.qh||b.Qc,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Ka(qs(b),"octet-stream",!0,c);r(b)}else d.Aa("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
|
||||
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;if(d=Mc(a,"drives"))this.X=d;else if(this.ja)try{this.X=eval("("+this.ja+")")}catch(e){r("HDC drive configuration error: "+e.message+" ("+this.ja+")")}this.V=vb(a,"ChipSet");this.F=0;this.la=3;kc(b,this,this.L?rt:st);mc(b,this,this.L?tt:ut);this.L&&(this.F++,this.V&&this.V.aa==Mj&&this.F++,this.la=2,b.M[vt]=2,b.O[vt]=2);Me(c,19,this.Il.bind(this));Me(c,64,this.Jl.bind(this));this.reset();wt(this)||mb(this)};
|
||||
l.Ob=function(a,b){if(!b)if(!a)xt(this),this.oa.O&&wt(this,!0);else if(!this.restore(a))return!1;return!0};l.Nb=function(a){return a?this.save():!0};function ds(a){return a.oa?a.oa.ga:""}function es(a){return a.oa?a.oa.B||"":""}l.reset=function(){xt(this,null,!0)};l.save=function(){var a=new Qe(this);a.set(0,yt(this));return a.data()};l.restore=function(a){return xt(this,a[0])};
|
||||
function xt(a,b,c){var d=0,e=!0;a.La=-1;if(a.L){if(b||(b=[0,0,0,0,0,0,0,zt,0,[0,-1]]),a.H=b[d++],a.ta=b[d++],a.I=b[d++],a.ea=b[d++],a.ba=b[d++],a.Z=b[d++],a.O=b[d++],a.Y=b[d++],a.ga=b[d++],a.K=b[d++],"object"==typeof a.K){var f=a.K;a.K=f[0];a.La=f[1]}}else b||(b=[0,At,Array(14),0,0]),a.W=b[d++],a.Y=b[d++],a.G=b[d++],a.D=b[d++],a.C=b[d++],a.qa=b[d++],a.pa=b[d++],a.na=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]={});var f=a.A[d],g=a,h=d,k=f,m=a.X[d],q=b[d],y=c,w=0,z=!0;q||(q=[Bt,0,!1,Array(8)]);k.La=h;k.errorCode=q[w++];k.Sj=q[w++];k.ne=q[w++];k.ce=q[w++];k.de=q[w++];k.Sa=q[w++];k.gb=q[w++];k.Bd=q[w++];k.kb=q[w++];k.td=q[w++];k.tb=q[w++];k.wf=g.L?0:1;k.name=m.name;void 0===k.name&&(k.name=Ct);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||es(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===Dt[g.F][k.type])k.type=g.la;m=Dt[g.F][k.type];
|
||||
k.Za=m[2]||17;k.lb=m[3]||512;if(y&&g.V){var m=g.V,B=k.type;if(m.A){var y=null,S=m.A[18];15<B&&(y=B,B=15);h?(S=S&240|B,B=26):(S=S&15|B<<4,B=25);var X=m;X.A&&(X.A[18]=S,wk(X));null!=y&&m.A&&(m.A[B]=y,wk(m))}}void 0===k.sa&&(k.sa=null,g.Aa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Et(g,k);k.Oa=q[w++];k.Ra=null;k.sa&&(g=q[w],void 0!==g&&0>k.sa.restore(g)&&(z=!1),z&&void 0!==k.Oa&&(k.Ra=k.sa.seek(k.Bd,k.Sa,k.kb+k.wf)));z||(e=!1);null!=a.W&&1>=d&&(a.W|=(f.type&3)<<(1-d<<1))}0<=a.La&&(a.B=a.A[a.La]);
|
||||
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;if(d=Mc(a,"drives"))this.X=d;else if(this.ja)try{this.X=eval("("+this.ja+")")}catch(e){r("HDC drive configuration error: "+e.message+" ("+this.ja+")")}this.V=vb(a,"ChipSet");this.F=0;this.la=3;kc(b,this,this.L?st:tt);mc(b,this,this.L?ut:vt);this.L&&(this.F++,this.V&&this.V.aa==Mj&&this.F++,this.la=2,b.M[wt]=2,b.O[wt]=2);Me(c,19,this.Il.bind(this));Me(c,64,this.Jl.bind(this));this.reset();xt(this)||mb(this)};
|
||||
l.Ob=function(a,b){if(!b)if(!a)yt(this),this.oa.O&&xt(this,!0);else if(!this.restore(a))return!1;return!0};l.Nb=function(a){return a?this.save():!0};function ds(a){return a.oa?a.oa.ga:""}function es(a){return a.oa?a.oa.B||"":""}l.reset=function(){yt(this,null,!0)};l.save=function(){var a=new Qe(this);a.set(0,zt(this));return a.data()};l.restore=function(a){return yt(this,a[0])};
|
||||
function yt(a,b,c){var d=0,e=!0;a.La=-1;if(a.L){if(b||(b=[0,0,0,0,0,0,0,At,0,[0,-1]]),a.H=b[d++],a.ta=b[d++],a.I=b[d++],a.ea=b[d++],a.ba=b[d++],a.Z=b[d++],a.O=b[d++],a.Y=b[d++],a.ga=b[d++],a.K=b[d++],"object"==typeof a.K){var f=a.K;a.K=f[0];a.La=f[1]}}else b||(b=[0,Bt,Array(14),0,0]),a.W=b[d++],a.Y=b[d++],a.G=b[d++],a.D=b[d++],a.C=b[d++],a.qa=b[d++],a.pa=b[d++],a.na=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]={});var f=a.A[d],g=a,h=d,k=f,m=a.X[d],q=b[d],y=c,w=0,z=!0;q||(q=[Ct,0,!1,Array(8)]);k.La=h;k.errorCode=q[w++];k.Sj=q[w++];k.ne=q[w++];k.ce=q[w++];k.de=q[w++];k.Sa=q[w++];k.gb=q[w++];k.Bd=q[w++];k.kb=q[w++];k.td=q[w++];k.tb=q[w++];k.wf=g.L?0:1;k.name=m.name;void 0===k.name&&(k.name=Dt);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||es(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===Et[g.F][k.type])k.type=g.la;m=Et[g.F][k.type];
|
||||
k.Za=m[2]||17;k.lb=m[3]||512;if(y&&g.V){var m=g.V,B=k.type;if(m.A){var y=null,S=m.A[18];15<B&&(y=B,B=15);h?(S=S&240|B,B=26):(S=S&15|B<<4,B=25);var X=m;X.A&&(X.A[18]=S,wk(X));null!=y&&m.A&&(m.A[B]=y,wk(m))}}void 0===k.sa&&(k.sa=null,g.Aa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Ft(g,k);k.Oa=q[w++];k.Ra=null;k.sa&&(g=q[w],void 0!==g&&0>k.sa.restore(g)&&(z=!1),z&&void 0!==k.Oa&&(k.Ra=k.sa.seek(k.Bd,k.Sa,k.kb+k.wf)));z||(e=!1);null!=a.W&&1>=d&&(a.W|=(f.type&3)<<(1-d<<1))}0<=a.La&&(a.B=a.A[a.La]);
|
||||
return e}
|
||||
function yt(a){var b=0,c=[];a.L?(c[b++]=a.H,c[b++]=a.ta,c[b++]=a.I,c[b++]=a.ea,c[b++]=a.ba,c[b++]=a.Z,c[b++]=a.O,c[b++]=a.Y,c[b++]=a.ga,c[b++]=[a.K,a.La]):(c[b++]=a.W,c[b++]=a.Y,c[b++]=a.G,c[b++]=a.D,c[b++]=a.C,c[b++]=a.qa,c[b++]=a.pa,c[b++]=a.na,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.Sj;m[k++]=h.ne;m[k++]=h.ce;m[k++]=h.de;m[k++]=h.Sa;m[k++]=h.gb;m[k++]=h.Bd;m[k++]=h.kb;m[k++]=h.td;m[k++]=h.tb;m[k++]=h.Oa;m[k]=h.sa?h.sa.save():null;
|
||||
e[g]=m}c[b]=e;return c}function Et(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.ce[2])?e=b.ce[0]<<8|b.ce[1]:c=b.type);null==c||d||(d=Dt[a.F][c][1],e=Dt[a.F][c][0]);d&&((c=Dt[a.F][b.type])&&e!=c[0]&&d!=c[1]&&a.Aa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.fb=e,b.gb=d,null==b.sa&&(b.sa=new $r(a,b,b.mode)))}}
|
||||
function wt(a,b){b||(a.J=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.sa&&d.sa.Ff)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.ke?(e.Aa("Drive "+c+" busy"),e=!0):(g.ke=!0,g.Gd=!0,e.J++,(g.sa||new $r(e,g,g.mode)).load(f,d,null,e.uk),e=!1);!e&&b&&mb(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Et(a,d,d.type))}return!!a.J}
|
||||
l.uk=function(a,b,c){a.ke=!1;if(a.sa=b)this.Aa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.La),a.Gd),b=b.info(),b[0]==a.fb&&b[1]==a.gb&&b[2]==a.Za&&b[3]==a.lb||this.Aa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Ft[this.F]+" drive type "+a.type+" ("+a.fb+":"+a.gb+":"+a.Za+")");a.Gd&&(a.Gd=!1,--this.J||mb(this))};
|
||||
l.Fl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.V&&Ff(this.V,5);this.Y&=~Gt;++this.D>=this.C&&(this.D=this.C=0,this.Y&=~(Ht|Lt|Mt));return a};l.Um=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]!=Nt?6:this.G.length;6==this.C&&(this.Y&=~Ot);this.C>=a&&(this.Y|=Ht,this.Y&=~Ot,Pt(this))};l.Gl=function(){var a=this.Y;this.D<this.C&&(this.Y|=Ot);return a};l.Xm=function(a,b){this.qa=b;this.V&&Ff(this.V,5);xt(this)};l.El=function(){return this.W};
|
||||
l.Wm=function(a,b){this.pa=b;this.Y=Ot|Lt|Mt};l.Vm=function(a,b){this.na=b};l.mh=function(){};function Qt(a){var b=-1;a.B&&(b=a.ve(a.B,function(){}),(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,a.B.tb>=a.B.lb?(a.Y=Rt,a.ve(a.B,function(b){0<=b?(St(a),a.V&&a.V.aa==Mj&&(a.Y=0),a.Y=a.Y|zt|Tt|Ut):(a.Y=Vt,a.H=Wt)},!1)):a.Y=zt|Tt));return b}l.ek=function(){return Qt(this)|Qt(this)<<8};
|
||||
function Xt(a,b){a.B&&a.B.tb>=a.B.lb&&(0>Yt(a.B,b)?(a.Y=Vt,a.H=Wt):(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,St(a),a.Y=zt|Tt,a.B.tb>=a.B.lb&&(a.Y|=Ut)))}l.em=function(a,b){Xt(this,b&255);Xt(this,b>>8&255)};l.Mk=function(){return this.H};l.jm=function(a,b){this.ta=b};l.Ok=function(){return this.I};l.hm=function(a,b){this.I=b};l.Pk=function(){return this.ea};l.im=function(a,b){this.ea=b};l.Kk=function(){return this.ba};l.dm=function(a,b){this.ba=b};l.Jk=function(){return this.Z};
|
||||
l.cm=function(a,b){this.Z=b};l.Lk=function(){return this.O};l.fm=function(a,b){this.O=b;this.Y=this.A[this.O&Zt?1:0]?this.Y|zt|Tt:this.Y&~zt};l.Qk=function(){var a=this.Y;this.Y&zt&&(this.Y&=~Rt);return a};l.bm=function(a,b){this.ga=b;this.V&&Ff(this.V,14);$t(this)};l.gm=function(a,b){this.K&au&&!(b&au)&&(this.H=bu);this.K=b};
|
||||
function $t(a){var b=!1,c=a.ga,d=a.O&Zt?1:0,e=a.O&cu,f=a.ba|(a.Z&du)<<8,g=a.ea,h=a.I||256;a.La=-1;a.B=null;a.H=eu;a.Y=zt|Tt;var k=a.A[d];k?(k.Bd=f,k.Sa=e,k.kb=g,k.tb=h*k.lb,c=c>=fu?c:c&gu,k.Ra=null,k.Oa=0,k.errorCode=0,a.La=d,a.B=k):c=-1;switch(c&gu){case hu:b=!0;break;case iu:a.Y=Rt;a.ve(k,function(b){0<=b&&a.V?(St(a),a.Y=zt|Tt|Ut):(a.Y=Vt,a.H=Wt)},!1);break;case ju:a.Y=Ut;break;case ku:b=!0;break;case lu:b=!0;break;case fu:a.H=bu;b=!0;break;case mu:k.gb=e+1,k.Za=h,b=!0}b&&St(a)}
|
||||
function St(a){!a.V||a.K&nu||Hf(a.V,14,120)}
|
||||
function Pt(a){a.D=0;var b=ou(a),c=ou(a),d=c&32,e=d>>5,f=c&31,g=ou(a),h=ou(a),k=g<<2&768|h,m=g&63,q=ou(a),y=ou(a),w=a.A[e];w&&(w.Bd=k,w.Sa=f,w.kb=m,w.tb=q*w.lb);switch(b){case pu:qu(a,w?w.errorCode:ru);su(a,c);su(a,g);su(a,h);su(a,tu|d);b=-1;break;case Nt:for(c=0;0<=(b=ou(a));)w&&c<w.ce.length&&(w.ce[c++]=b);w&&Et(a,w);b=tu;w||a.M!=e||(a.M=-1,b=uu);qu(a,b|d);b=-1;break;case vu:case wu:qu(a,tu|d),b=-1}if(0<=b)switch(void 0===w?b=-1:(w.errorCode=Bt,w.Sj=0),b){case xu:qu(a,tu|d);break;case yu:w.Ge=y;
|
||||
qu(a,tu|d);break;case zu:qu(a,tu|d);break;case Au:Bu(a,w,function(b){qu(a,b|d)});break;case Cu:Du(a,w,function(b){qu(a,b|d)});break;case Eu:Fu(a,w,function(b){qu(a,b|d)});break;default:qu(a,uu|d)}}function ou(a){var b=-1;a.D<a.C&&(b=a.G[a.D++]);return b}function qu(a,b){a.D=a.C=0;void 0!==b&&su(a,b);a.V&&Hf(a.V,5);a.Y|=Gt}function su(a,b){a.G[a.C++]=b}l.ck=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};l.dk=function(a,b){return void 0!==b&&0<=b?Yt(a,b):-1};
|
||||
l.sk=function(a,b){void 0!==b&&0<=b?(a.Oa<a.de.length?a.de[a.Oa++]=b:(a.errorCode=Gu,b=-1),a=b):a=-1;return a};l.tk=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.Bd=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>Yt(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
|
||||
function Bu(a,b,c){b.errorCode=ru;if(b.sa&&(b.Ra=null,a.V)){b.errorCode=Bt;wl(a.V,3,a,"dmaRead",b);sl(a.V,3,function(a){a||b.errorCode!=Bt||(b.errorCode=ru);c(b.errorCode?uu:tu)});return}c(b.errorCode?uu:tu)}function Du(a,b,c){b.errorCode=ru;if(b.sa&&(b.Ra=null,a.V)){b.errorCode=Bt;wl(a.V,3,a,"dmaWrite",b);sl(a.V,3,function(a){a||(b.errorCode==Bt&&(b.errorCode=ru),b.errorCode==Gu&&(b.errorCode=Bt));c(b.errorCode?uu:tu)});return}c(b.errorCode?uu:tu)}
|
||||
function Fu(a,b,c){b.errorCode=ru;b.de&&b.de.length==b.tb||(b.de=Array(b.tb));b.Oa=0;a.V?(b.errorCode=Bt,wl(a.V,3,a,"dmaWriteBuffer",b),sl(a.V,3,function(a){a||b.errorCode!=Bt||(b.errorCode=ru);c(b.errorCode?uu:tu)})):c(b.errorCode?uu:tu)}
|
||||
l.ve=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.Ra&&(f=a.Oa,d=a.sa.read(a.Ra,a.Oa),a.Oa+=g,0<=d))return e=a.Ra,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!1,function(c,k){(a.Ra=c)?(e=c,f=a.Oa=0,Hu(a),d=a.sa.read(a.Ra,a.Oa),a.Oa+=g):a.errorCode=Gu;b(d,k,e,f)}),d;a.errorCode=Gu;b(d,!1,e,f)}return d};
|
||||
function Yt(a,b){if(a.errorCode)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.sa&&a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!0,function(b){a.Ra=b});if(!a.Ra){a.errorCode=Gu;b=-1;break}a.Oa=0;Hu(a)}while(1);return b}function Hu(a){a.kb++;var b=1-a.wf;a.kb>=a.Za+b&&(a.kb=b,a.Sa++,a.Sa>=a.gb&&(a.Sa=0,a.Bd++))}l.Il=function(){var a=this.U.K&255;!(this.U.F>>8)&&128<a&&(this.M=a-128);return!0};l.Jl=function(){var a;(a=this.U.F>>8||!this.V)||(a=!(this.V.Zb[0].Uc&64));return a?!0:!1};
|
||||
var Ct="Hard Drive",Ft=["XTC","ATC","COMPAQ"],Dt=[{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]}],vt=496,bu=1,eu=0,Wt=16,du=3,cu=15,Zt=16,Vt=1,Ut=8,Tt=16,zt=64,Rt=128,hu=16,iu=32,ju=48,ku=64,lu=
|
||||
112,fu=144,mu=145,gu=240,nu=2,au=4,tu=0,uu=2,xu=0,yu=1,pu=3,zu=5,Au=8,Cu=10,Nt=12,Eu=15,vu=224,wu=228,Bt=0,ru=4,Gu=20,At=0,Ot=1,Ht=2,Lt=4,Mt=8,Gt=32,st={800:Z.prototype.Fl,801:Z.prototype.Gl,802:Z.prototype.El},rt={496:Z.prototype.ek,497:Z.prototype.Mk,498:Z.prototype.Ok,499:Z.prototype.Pk,500:Z.prototype.Kk,501:Z.prototype.Jk,502:Z.prototype.Lk,503:Z.prototype.Qk},ut={800:Z.prototype.Um,801:Z.prototype.Xm,802:Z.prototype.Wm,803:Z.prototype.Vm,807:Z.prototype.mh,811:Z.prototype.mh,815:Z.prototype.mh},
|
||||
tt={496:Z.prototype.em,497:Z.prototype.jm,498:Z.prototype.hm,499:Z.prototype.im,500:Z.prototype.dm,501:Z.prototype.cm,502:Z.prototype.fm,503:Z.prototype.bm,1014:Z.prototype.gm};Ma(function(){for(var a=eb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Z(d);db(d,c)}});
|
||||
function Iu(a,b,c){t.call(this,"Computer",a);this.ca.Pb=!1;Ju(this,b);this.M=Mc(this,"autoPower",a);this.C=0;this.Z=a.busWidth||a.buswidth;this.A=Ku;this.K=null;this.H=this.X=!1;this.ba=Mc(this,"url")||"";this.ga=(Math.random()+.1).toString(36).substr(2,12);this.B=Lu(this);if(this.U=ab("CPU",this.id)){this.Ea=ab("Debugger",this.id);this.G=[];for(b=null;b=vb(this,"Video",b);)this.G.push(b);this.ma=new Nb({id:this.Wd+".bus",busWidth:this.Z},this.U,this.Ea);var d,e=Ya(this.id);if((this.D=ab("Panel",
|
||||
this.id))&&this.D.Df)for(b=0;b<e.length;b++)d=e[b],d.Aa=this.D.Aa,d.lc=this.D.lc,d.Df=this.D.Df;this.lc("PCx86 v1.35.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++)d=e[b],d.hc&&d.hc(this,this.ma,this.U,this.Ea);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.A=parseInt(d,10));var f;if(a=Mc(this,"state")||(f=!0,a.state))b=this.V=a,f||(this.H=!0,this.A=Ku),this.A&&(this.L=new Qe(this,"1.35.0"),
|
||||
this.L.load()?b=null:delete this.L);!b&&this.A&&(b=Mu(this))&&(this.H=!0);if(b){var g=this;Ba(b,null,!0,function(a,b,c){c?(g.J=null,g.H=!1,g.Aa("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(g.K=b,g.X=!0);mb(g)})}else mb(this);this.ia.power||(this.M=!0);!c&&this.M&&Nu(this,this.af)}else r("Unable to find CPU component")}ba(Iu,t);
|
||||
function Ju(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.I=b}function Mc(a,b,c){var d=b.toLowerCase(),d=Ia(b)||Ia(d);void 0===d&&a.I&&(d=a.I[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Nu(a,b,c){for(var d=Ya(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!lb(f)){lb(f,function(){Nu(a,b,c)});return}}b.call(a,c)}
|
||||
function Ou(a,b){var c=new Qe(a,"1.35.0",Pu);if(c.load()&&Qu(c)){var d=c.get(Ru),e=b?b.get(Ru):"unknown";d!=e&&(a.Aa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Iu.prototype;
|
||||
l.af=function(a){void 0===a&&(a=this.A||(this.K?Su:Ku));if(!this.C){this.C++;var b=!1,c=!1;this.W=!1;var d=this.L||new Qe(this,"1.35.0");if(a==Tu)b=!0;else if(a>Ku){if(d.load(this.K)){this.F=new Qe(this,"1.35.0",Uu);this.F.load()&&(Vu(this,d),a=Wu,Xu(this.F));this.F.set(Ru,wa());Yu(this.F);var e=this.A&&!this.H;if(a==Su||Xa("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Qu(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.Aa("Error: "+g),"unable to verify user"==g&&(Ga(Zu,""),this.B=null)):this.lc(f+": "+g),Xu(d),d.load()?(c=Qu(d),e=!0):c=!1))}e&&Ou(this,c?d:null)}else a==Wu&&d.clear()}else Ou(this);delete this.K;delete this.L}e=Ya(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=$u(this,g,d,b,c));b=[d,a,c];a!=Tu?Nu(this,this.li,b):this.li(b)}};
|
||||
function $u(a,b,c,d,e){if(!b.ca.Pb){b.ca.Pb=!0;if(b.Ob){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ob(f,d)&&f&&(r("Unable to restore state for "+b.type),a.V&&!a.X?(c.clear(),a.A=Ku,window&&window.location.reload()):a.W=!0,b.Ob(null),e=!1)}if(!d&&b.ui)for(a=b.ui.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.li=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea=!0;this.ca.Pb=!0;var d=this.ia.power;d&&(d.textContent="Shutdown");this.U&&($u(this,this.U,b,c,a),this.U.Fe());this.W&&(Vu(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
|
||||
function Vu(a,b){if(Xa("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.35.0"};d.url=a.ba;d.user=c;d.type="bug";d.data=b;Ba("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function av(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Qe(a,"1.35.0"),g=new Qe(a,"1.35.0",Pu),h=wa();g.set(Ru,h);f.set(Ru,h);f.set(bv,"1.35.0");f.set(cv,window?window.location.href:null);f.set(dv,window?window.navigator.userAgent:"");a.U&&a.U.Nb&&(c&&Qc(a.U),d=a.U.Nb(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ca.Pb=!1,!1===d&&(e=null)));for(var h=Ya(a.id),k=0;k<h.length;k++){var m=h[k];m.ca.Pb&&(m.Nb&&(d=m.Nb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ca.Pb=!1,!1===d&&(e=
|
||||
null)))}e&&(c?(h=d=!1,b?(a.B&&ev(a,a.B,f.toString()),Yu(g)&&Yu(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==fv),d&&f.clear(h)):e=f.toString());c&&(a.ca.Pb=!1,b=a.ia.power)&&(b.textContent="Power");a.C=0;return e}l.reset=function(){this.ma&&this.ma.reset&&this.ma.reset();for(var a=Ya(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ma&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
||||
function zt(a){var b=0,c=[];a.L?(c[b++]=a.H,c[b++]=a.ta,c[b++]=a.I,c[b++]=a.ea,c[b++]=a.ba,c[b++]=a.Z,c[b++]=a.O,c[b++]=a.Y,c[b++]=a.ga,c[b++]=[a.K,a.La]):(c[b++]=a.W,c[b++]=a.Y,c[b++]=a.G,c[b++]=a.D,c[b++]=a.C,c[b++]=a.qa,c[b++]=a.pa,c[b++]=a.na,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.Sj;m[k++]=h.ne;m[k++]=h.ce;m[k++]=h.de;m[k++]=h.Sa;m[k++]=h.gb;m[k++]=h.Bd;m[k++]=h.kb;m[k++]=h.td;m[k++]=h.tb;m[k++]=h.Oa;m[k]=h.sa?h.sa.save():null;
|
||||
e[g]=m}c[b]=e;return c}function Ft(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.ce[2])?e=b.ce[0]<<8|b.ce[1]:c=b.type);null==c||d||(d=Et[a.F][c][1],e=Et[a.F][c][0]);d&&((c=Et[a.F][b.type])&&e!=c[0]&&d!=c[1]&&a.Aa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.fb=e,b.gb=d,null==b.sa&&(b.sa=new $r(a,b,b.mode)))}}
|
||||
function xt(a,b){b||(a.J=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.sa&&d.sa.Ff)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.ke?(e.Aa("Drive "+c+" busy"),e=!0):(g.ke=!0,g.Gd=!0,e.J++,(g.sa||new $r(e,g,g.mode)).load(f,d,null,e.uk),e=!1);!e&&b&&mb(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Ft(a,d,d.type))}return!!a.J}
|
||||
l.uk=function(a,b,c){a.ke=!1;if(a.sa=b)this.Aa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.La),a.Gd),b=b.info(),b[0]==a.fb&&b[1]==a.gb&&b[2]==a.Za&&b[3]==a.lb||this.Aa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Gt[this.F]+" drive type "+a.type+" ("+a.fb+":"+a.gb+":"+a.Za+")");a.Gd&&(a.Gd=!1,--this.J||mb(this))};
|
||||
l.Fl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.V&&Ff(this.V,5);this.Y&=~Ht;++this.D>=this.C&&(this.D=this.C=0,this.Y&=~(It|Mt|Nt));return a};l.Um=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]!=Ot?6:this.G.length;6==this.C&&(this.Y&=~Pt);this.C>=a&&(this.Y|=It,this.Y&=~Pt,Qt(this))};l.Gl=function(){var a=this.Y;this.D<this.C&&(this.Y|=Pt);return a};l.Xm=function(a,b){this.qa=b;this.V&&Ff(this.V,5);yt(this)};l.El=function(){return this.W};
|
||||
l.Wm=function(a,b){this.pa=b;this.Y=Pt|Mt|Nt};l.Vm=function(a,b){this.na=b};l.mh=function(){};function Rt(a){var b=-1;a.B&&(b=a.ve(a.B,function(){}),(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,a.B.tb>=a.B.lb?(a.Y=St,a.ve(a.B,function(b){0<=b?(Tt(a),a.V&&a.V.aa==Mj&&(a.Y=0),a.Y=a.Y|At|Ut|Vt):(a.Y=Wt,a.H=Xt)},!1)):a.Y=At|Ut));return b}l.ek=function(){return Rt(this)|Rt(this)<<8};
|
||||
function Yt(a,b){a.B&&a.B.tb>=a.B.lb&&(0>Zt(a.B,b)?(a.Y=Wt,a.H=Xt):(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,Tt(a),a.Y=At|Ut,a.B.tb>=a.B.lb&&(a.Y|=Vt)))}l.em=function(a,b){Yt(this,b&255);Yt(this,b>>8&255)};l.Mk=function(){return this.H};l.jm=function(a,b){this.ta=b};l.Ok=function(){return this.I};l.hm=function(a,b){this.I=b};l.Pk=function(){return this.ea};l.im=function(a,b){this.ea=b};l.Kk=function(){return this.ba};l.dm=function(a,b){this.ba=b};l.Jk=function(){return this.Z};
|
||||
l.cm=function(a,b){this.Z=b};l.Lk=function(){return this.O};l.fm=function(a,b){this.O=b;this.Y=this.A[this.O&$t?1:0]?this.Y|At|Ut:this.Y&~At};l.Qk=function(){var a=this.Y;this.Y&At&&(this.Y&=~St);return a};l.bm=function(a,b){this.ga=b;this.V&&Ff(this.V,14);au(this)};l.gm=function(a,b){this.K&bu&&!(b&bu)&&(this.H=cu);this.K=b};
|
||||
function au(a){var b=!1,c=a.ga,d=a.O&$t?1:0,e=a.O&du,f=a.ba|(a.Z&eu)<<8,g=a.ea,h=a.I||256;a.La=-1;a.B=null;a.H=fu;a.Y=At|Ut;var k=a.A[d];k?(k.Bd=f,k.Sa=e,k.kb=g,k.tb=h*k.lb,c=c>=gu?c:c&hu,k.Ra=null,k.Oa=0,k.errorCode=0,a.La=d,a.B=k):c=-1;switch(c&hu){case iu:b=!0;break;case ju:a.Y=St;a.ve(k,function(b){0<=b&&a.V?(Tt(a),a.Y=At|Ut|Vt):(a.Y=Wt,a.H=Xt)},!1);break;case ku:a.Y=Vt;break;case lu:b=!0;break;case mu:b=!0;break;case gu:a.H=cu;b=!0;break;case nu:k.gb=e+1,k.Za=h,b=!0}b&&Tt(a)}
|
||||
function Tt(a){!a.V||a.K&ou||Hf(a.V,14,120)}
|
||||
function Qt(a){a.D=0;var b=pu(a),c=pu(a),d=c&32,e=d>>5,f=c&31,g=pu(a),h=pu(a),k=g<<2&768|h,m=g&63,q=pu(a),y=pu(a),w=a.A[e];w&&(w.Bd=k,w.Sa=f,w.kb=m,w.tb=q*w.lb);switch(b){case qu:ru(a,w?w.errorCode:su);tu(a,c);tu(a,g);tu(a,h);tu(a,uu|d);b=-1;break;case Ot:for(c=0;0<=(b=pu(a));)w&&c<w.ce.length&&(w.ce[c++]=b);w&&Ft(a,w);b=uu;w||a.M!=e||(a.M=-1,b=vu);ru(a,b|d);b=-1;break;case wu:case xu:ru(a,uu|d),b=-1}if(0<=b)switch(void 0===w?b=-1:(w.errorCode=Ct,w.Sj=0),b){case yu:ru(a,uu|d);break;case zu:w.Ge=y;
|
||||
ru(a,uu|d);break;case Au:ru(a,uu|d);break;case Bu:Cu(a,w,function(b){ru(a,b|d)});break;case Du:Eu(a,w,function(b){ru(a,b|d)});break;case Fu:Gu(a,w,function(b){ru(a,b|d)});break;default:ru(a,vu|d)}}function pu(a){var b=-1;a.D<a.C&&(b=a.G[a.D++]);return b}function ru(a,b){a.D=a.C=0;void 0!==b&&tu(a,b);a.V&&Hf(a.V,5);a.Y|=Ht}function tu(a,b){a.G[a.C++]=b}l.ck=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};l.dk=function(a,b){return void 0!==b&&0<=b?Zt(a,b):-1};
|
||||
l.sk=function(a,b){void 0!==b&&0<=b?(a.Oa<a.de.length?a.de[a.Oa++]=b:(a.errorCode=Hu,b=-1),a=b):a=-1;return a};l.tk=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.Bd=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>Zt(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
|
||||
function Cu(a,b,c){b.errorCode=su;if(b.sa&&(b.Ra=null,a.V)){b.errorCode=Ct;wl(a.V,3,a,"dmaRead",b);sl(a.V,3,function(a){a||b.errorCode!=Ct||(b.errorCode=su);c(b.errorCode?vu:uu)});return}c(b.errorCode?vu:uu)}function Eu(a,b,c){b.errorCode=su;if(b.sa&&(b.Ra=null,a.V)){b.errorCode=Ct;wl(a.V,3,a,"dmaWrite",b);sl(a.V,3,function(a){a||(b.errorCode==Ct&&(b.errorCode=su),b.errorCode==Hu&&(b.errorCode=Ct));c(b.errorCode?vu:uu)});return}c(b.errorCode?vu:uu)}
|
||||
function Gu(a,b,c){b.errorCode=su;b.de&&b.de.length==b.tb||(b.de=Array(b.tb));b.Oa=0;a.V?(b.errorCode=Ct,wl(a.V,3,a,"dmaWriteBuffer",b),sl(a.V,3,function(a){a||b.errorCode!=Ct||(b.errorCode=su);c(b.errorCode?vu:uu)})):c(b.errorCode?vu:uu)}
|
||||
l.ve=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.Ra&&(f=a.Oa,d=a.sa.read(a.Ra,a.Oa),a.Oa+=g,0<=d))return e=a.Ra,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!1,function(c,k){(a.Ra=c)?(e=c,f=a.Oa=0,Iu(a),d=a.sa.read(a.Ra,a.Oa),a.Oa+=g):a.errorCode=Hu;b(d,k,e,f)}),d;a.errorCode=Hu;b(d,!1,e,f)}return d};
|
||||
function Zt(a,b){if(a.errorCode)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.sa&&a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!0,function(b){a.Ra=b});if(!a.Ra){a.errorCode=Hu;b=-1;break}a.Oa=0;Iu(a)}while(1);return b}function Iu(a){a.kb++;var b=1-a.wf;a.kb>=a.Za+b&&(a.kb=b,a.Sa++,a.Sa>=a.gb&&(a.Sa=0,a.Bd++))}l.Il=function(){var a=this.U.K&255;!(this.U.F>>8)&&128<a&&(this.M=a-128);return!0};l.Jl=function(){var a;(a=this.U.F>>8||!this.V)||(a=!(this.V.Zb[0].Uc&64));return a?!0:!1};
|
||||
var Dt="Hard Drive",Gt=["XTC","ATC","COMPAQ"],Et=[{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]}],wt=496,cu=1,fu=0,Xt=16,eu=3,du=15,$t=16,Wt=1,Vt=8,Ut=16,At=64,St=128,iu=16,ju=32,ku=48,lu=64,mu=
|
||||
112,gu=144,nu=145,hu=240,ou=2,bu=4,uu=0,vu=2,yu=0,zu=1,qu=3,Au=5,Bu=8,Du=10,Ot=12,Fu=15,wu=224,xu=228,Ct=0,su=4,Hu=20,Bt=0,Pt=1,It=2,Mt=4,Nt=8,Ht=32,tt={800:Z.prototype.Fl,801:Z.prototype.Gl,802:Z.prototype.El},st={496:Z.prototype.ek,497:Z.prototype.Mk,498:Z.prototype.Ok,499:Z.prototype.Pk,500:Z.prototype.Kk,501:Z.prototype.Jk,502:Z.prototype.Lk,503:Z.prototype.Qk},vt={800:Z.prototype.Um,801:Z.prototype.Xm,802:Z.prototype.Wm,803:Z.prototype.Vm,807:Z.prototype.mh,811:Z.prototype.mh,815:Z.prototype.mh},
|
||||
ut={496:Z.prototype.em,497:Z.prototype.jm,498:Z.prototype.hm,499:Z.prototype.im,500:Z.prototype.dm,501:Z.prototype.cm,502:Z.prototype.fm,503:Z.prototype.bm,1014:Z.prototype.gm};Ma(function(){for(var a=eb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Z(d);db(d,c)}});
|
||||
function Ju(a,b,c){t.call(this,"Computer",a);this.ca.Pb=!1;Ku(this,b);this.M=Mc(this,"autoPower",a);this.C=0;this.Z=a.busWidth||a.buswidth;this.A=Lu;this.K=null;this.H=this.X=!1;this.ba=Mc(this,"url")||"";this.ga=(Math.random()+.1).toString(36).substr(2,12);this.B=Mu(this);if(this.U=ab("CPU",this.id)){this.Ea=ab("Debugger",this.id);this.G=[];for(b=null;b=vb(this,"Video",b);)this.G.push(b);this.ma=new Nb({id:this.Wd+".bus",busWidth:this.Z},this.U,this.Ea);var d,e=Ya(this.id);if((this.D=ab("Panel",
|
||||
this.id))&&this.D.Df)for(b=0;b<e.length;b++)d=e[b],d.Aa=this.D.Aa,d.lc=this.D.lc,d.Df=this.D.Df;this.lc("PCx86 v1.35.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++)d=e[b],d.hc&&d.hc(this,this.ma,this.U,this.Ea);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.A=parseInt(d,10));var f;if(a=Mc(this,"state")||(f=!0,a.state))b=this.V=a,f||(this.H=!0,this.A=Lu),this.A&&(this.L=new Qe(this,"1.35.0"),
|
||||
this.L.load()?b=null:delete this.L);!b&&this.A&&(b=Nu(this))&&(this.H=!0);if(b){var g=this;Ba(b,null,!0,function(a,b,c){c?(g.J=null,g.H=!1,g.Aa("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(g.K=b,g.X=!0);mb(g)})}else mb(this);this.ia.power||(this.M=!0);!c&&this.M&&Ou(this,this.af)}else r("Unable to find CPU component")}ba(Ju,t);
|
||||
function Ku(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.I=b}function Mc(a,b,c){var d=b.toLowerCase(),d=Ia(b)||Ia(d);void 0===d&&a.I&&(d=a.I[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Ou(a,b,c){for(var d=Ya(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!lb(f)){lb(f,function(){Ou(a,b,c)});return}}b.call(a,c)}
|
||||
function Pu(a,b){var c=new Qe(a,"1.35.0",Qu);if(c.load()&&Ru(c)){var d=c.get(Su),e=b?b.get(Su):"unknown";d!=e&&(a.Aa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Ju.prototype;
|
||||
l.af=function(a){void 0===a&&(a=this.A||(this.K?Tu:Lu));if(!this.C){this.C++;var b=!1,c=!1;this.W=!1;var d=this.L||new Qe(this,"1.35.0");if(a==Uu)b=!0;else if(a>Lu){if(d.load(this.K)){this.F=new Qe(this,"1.35.0",Vu);this.F.load()&&(Wu(this,d),a=Xu,Yu(this.F));this.F.set(Su,wa());Zu(this.F);var e=this.A&&!this.H;if(a==Tu||Xa("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Ru(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.Aa("Error: "+g),"unable to verify user"==g&&(Ga($u,""),this.B=null)):this.lc(f+": "+g),Yu(d),d.load()?(c=Ru(d),e=!0):c=!1))}e&&Pu(this,c?d:null)}else a==Xu&&d.clear()}else Pu(this);delete this.K;delete this.L}e=Ya(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=av(this,g,d,b,c));b=[d,a,c];a!=Uu?Ou(this,this.li,b):this.li(b)}};
|
||||
function av(a,b,c,d,e){if(!b.ca.Pb){b.ca.Pb=!0;if(b.Ob){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ob(f,d)&&f&&(r("Unable to restore state for "+b.type),a.V&&!a.X?(c.clear(),a.A=Lu,window&&window.location.reload()):a.W=!0,b.Ob(null),e=!1)}if(!d&&b.ui)for(a=b.ui.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.li=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea=!0;this.ca.Pb=!0;var d=this.ia.power;d&&(d.textContent="Shutdown");this.U&&(av(this,this.U,b,c,a),this.U.Fe());this.W&&(Wu(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
|
||||
function Wu(a,b){if(Xa("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.35.0"};d.url=a.ba;d.user=c;d.type="bug";d.data=b;Ba("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function bv(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Qe(a,"1.35.0"),g=new Qe(a,"1.35.0",Qu),h=wa();g.set(Su,h);f.set(Su,h);f.set(cv,"1.35.0");f.set(dv,window?window.location.href:null);f.set(ev,window?window.navigator.userAgent:"");a.U&&a.U.Nb&&(c&&Qc(a.U),d=a.U.Nb(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ca.Pb=!1,!1===d&&(e=null)));for(var h=Ya(a.id),k=0;k<h.length;k++){var m=h[k];m.ca.Pb&&(m.Nb&&(d=m.Nb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ca.Pb=!1,!1===d&&(e=
|
||||
null)))}e&&(c?(h=d=!1,b?(a.B&&fv(a,a.B,f.toString()),Zu(g)&&Zu(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==gv),d&&f.clear(h)):e=f.toString());c&&(a.ca.Pb=!1,b=a.ia.power)&&(b.textContent="Power");a.C=0;return e}l.reset=function(){this.ma&&this.ma.reset&&this.ma.reset();for(var a=Ya(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ma&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=Ya(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=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
l.wb=function(a,b,c){var d=this;switch(b){case "power":return this.ia[b]=c,c.onclick=function(){d.C||(d.ca.Pb?av(d,!1,!0):Nu(d,d.af))},!0;case "reset":return this.ia[b]=c,c.onclick=function(){if(d.ca.Pb&&!d.C)if(d.A&&!d.J){var a=Xa("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");av(d,a,!0);!a&&d.V?window&&window.location.reload():(a||(d.O=!0),d.af(Ku),d.O=!1)}else d.reset(),d.U&&d.U.Fe()},!0;case "save":if(ra(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.ia[b]=c,c.onclick=function(){var a=Lu(d,!0);if(a){var b=!!(d.A&&!d.J||d.V),c=av(d,b);b?ev(d,a,c):d.Aa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Lu(a,b){var c=a.B;c||((c=Fa(Zu),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.Aa("The user ID is invalid.")):b&&a.Aa("Browser local storage is not available"));return c}
|
||||
function gv(a,b){a.B=null;b=Ba(Ca()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ga(Zu,b.data),a.B=b.data)}catch(d){r(d.message+" ("+c+")")}return a.B}function Mu(a){var b=null;a.B&&(b=Ca()+"/api/v1/user?req=load&user="+a.B+"&state="+hv(a,"1.35.0"));return b}
|
||||
function ev(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=hv(a,"1.35.0");d.data=c;b=Ba(Ca()+"/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.Aa("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.Aa(c),Ga(Zu,""),a.B=null)}}
|
||||
l.wb=function(a,b,c){var d=this;switch(b){case "power":return this.ia[b]=c,c.onclick=function(){d.C||(d.ca.Pb?bv(d,!1,!0):Ou(d,d.af))},!0;case "reset":return this.ia[b]=c,c.onclick=function(){if(d.ca.Pb&&!d.C)if(d.A&&!d.J){var a=Xa("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");bv(d,a,!0);!a&&d.V?window&&window.location.reload():(a||(d.O=!0),d.af(Lu),d.O=!1)}else d.reset(),d.U&&d.U.Fe()},!0;case "save":if(ra(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.ia[b]=c,c.onclick=function(){var a=Mu(d,!0);if(a){var b=!!(d.A&&!d.J||d.V),c=bv(d,b);b?fv(d,a,c):d.Aa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Mu(a,b){var c=a.B;c||((c=Fa($u),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=hv(a,c))||a.Aa("The user ID is invalid.")):b&&a.Aa("Browser local storage is not available"));return c}
|
||||
function hv(a,b){a.B=null;b=Ba(Ca()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ga($u,b.data),a.B=b.data)}catch(d){r(d.message+" ("+c+")")}return a.B}function Nu(a){var b=null;a.B&&(b=Ca()+"/api/v1/user?req=load&user="+a.B+"&state="+iv(a,"1.35.0"));return b}
|
||||
function fv(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=iv(a,"1.35.0");d.data=c;b=Ba(Ca()+"/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.Aa("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.Aa(c),Ga($u,""),a.B=null)}}
|
||||
function vb(a,b,c){a=Ya(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 Zc(a,b){if(a.G.length){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a=a.G[0];a.D&&a.D.focus();!b&&window&&window.scrollTo(c,d)}}
|
||||
function $c(a,b){a.U&&(a=a.U,a.ri&&(b||!a.ca.Ib||a.ca.ji)&&(wf(a,"EAX",a.F),wf(a,"EBX",a.G),wf(a,"ECX",a.H),wf(a,"EDX",a.K),wf(a,"ESP",C(a)),wf(a,"EBP",a.L),wf(a,"ESI",a.J),wf(a,"EDI",a.I),wf(a,"CS",a.ga.ha),wf(a,"DS",a.Ca.ha),wf(a,"SS",a.W.ha),wf(a,"ES",a.ua.ha),wf(a,"EIP",E(a)),b=Ad(a),wf(a,"PS",b),wf(a,"V",b&2048),wf(a,"D",b&1024),wf(a,"I",b&512),wf(a,"T",b&256),wf(a,"S",b&128),wf(a,"Z",b&64),wf(a,"A",b&16),wf(a,"P",b&4),wf(a,"C",b&1),80386==a.aa&&(wf(a,"FS",a.qb.ha),wf(a,"GS",a.rb.ha),wf(a,"CR0",
|
||||
a.pa),wf(a,"CR2",a.Xd),wf(a,"CR3",a.nd))),b=a.ia.speed)&&(b.textContent=a.ca.Ib&&a.R.wd?a.R.wd.toFixed(2)+"Mhz":"Stopped")}
|
||||
function fd(a,b){for(var c=0;c<a.G.length;c++)gq(a.G[c],b);if(a.D&&(a=a.D,a.na)){Gb(a,Hb,a.J,a.la);if(a.za){b=a.ma;var c=a.A,d,e;null==d&&(d=0);null==e&&(e=b.K-d|0);c||(c={ng:0,dd:0,gg:[]});var f=d>>>b.B;d=d+e-1>>>b.B;c.ng=0;for(c.dd=0;f<=d;)e=b.X[f],c.ng+=e.size,e.size&&(c.gg.push(xa(Cb,f,0,0,e.type)),c.dd++),f++;a.A=c;a.ba=a.A.dd*a.ma.A/(Bb*Mb);d=0;a.A.ci=0;a.A.Ee||(a.A.Ee=[]);e=-1;b=0;for(var g=-1,c=0;c<a.A.dd;c++){var h=a.A.gg[c],f=ya(Cb.type,h),h=ya(Cb.Ej,h);if(f!=e||h!=g+1)(g=c-b)&&(d+=Jb(a,
|
||||
b,g,e)),e=f,b=c;g=h}d+=Jb(a,b,c-b,e);e=a.A.pk!=d;a.A.pk=d;if(e){e=new sb(0,0,a.J.width,a.J.height);a.A.be=[];b=a.A.dd;for(d=0;d<a.A.ci;d++)c=a.A.Ee[d].dd,a.A.be.push(tb(e,c,b,!d)),b-=c;for(d=0;d<a.A.be.length;d++)e=a.A.Ee[d],b=c=a.A.be[d],f=a.la,(g=Ic[e.type])||(g=new rb),f.strokeStyle="black",f.strokeRect(b.x,b.y,b.wc,b.A),f.fillStyle="string"==typeof g?g:g.toString(),f.fillRect(b.x,b.y,b.wc,b.A),b=a,f=c,b.L=b.X,b.I=b.Z,c=f.x+(f.wc>>1),g=f.y+(f.A>>1),h=f.A,f.wc<f.A&&(h=f.wc,b.W=!0,b.D.save(),b.D.translate(c,
|
||||
g),b.D.rotate(-Math.PI/2),c=g=0),h<b.I&&(b.I=h,b.L=b.I+"px "+Lb),f=g,b.C=c,b.H=f,b=a,e=Ub[e.type]+" ("+(e.dd*a.ma.A/1024|0)+"Kb)",b.D.font=b.L,b.C-=b.D.measureText(e).width>>1,b.H+=(b.I>>1)-2,Ib(b,e),b.W&&(b.D.restore(),b.W=!1)}}else Ib(a,"This space intentionally left blank");a.context.drawImage(a.J,0,0,a.J.width,a.J.height,a.Ga,a.Ka,a.ua,a.xa);a.na=!1}}var Uu="failsafe",Pu="validate",Ru="timestamp",bv="version",cv="url",dv="browser",Zu="user",Tu=-1,Ku=0,Su=1,Wu=2,fv=3;
|
||||
Ma(function(){for(var a=eb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=bb(c),c=eb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=bb(f),g=new Iu(g,d,!0);db(g,f);g.M&&Nu(g,g.af)}});Na.show.push(function(){for(var a=eb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.ea&&!c.ca.Pb&&c.af(Tu)}});
|
||||
Na.exit.push(function(){for(var a=eb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.ca.Pb&&av(c,!(!c.A||c.J),!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);Xu(this,a.Ij)}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:Da()&&(a=Fa(this.key))?(this.A=a,this.B=!0):!1};function Qu(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){r(c.message||c),b=!1}return b}function Yu(a){var b=!0;if(Da()){var c=JSON.stringify(a.state);Ga(a.key,c)||(r("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 Xu(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){Xu(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+"...");Ba(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&&(Va(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),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(q){f=null,a=q.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: "+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+"...");Ba(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,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(f);)k=0>k.indexOf(m[1])?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&&eb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=sa(a))}function f(a){e("Error: "+a);k&&(--iv||Qa(!0));k=!1}var g,h,k=!0;iv++;Wa[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=m:y.appendChild(document.createTextNode(m));q.appendChild(y)}c||
|
||||
(c="/versions/pcx86/1.35.0/components.xsl");m=function(d,h){h?jv(c,null,null,!1,e,function(d,k){k?(Va(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--iv||Qa(!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||Qa(!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(w){f(w.message)}return k}function nv(a,b,c,d){Qa(!1);return mv(a,b,c,d)}window.embedPC=nv;window.embedPCx86=nv;window.findMachineComponent=function(a,b){return ab(b,a+".machine")};
|
||||
g),b.D.rotate(-Math.PI/2),c=g=0),h<b.I&&(b.I=h,b.L=b.I+"px "+Lb),f=g,b.C=c,b.H=f,b=a,e=Ub[e.type]+" ("+(e.dd*a.ma.A/1024|0)+"Kb)",b.D.font=b.L,b.C-=b.D.measureText(e).width>>1,b.H+=(b.I>>1)-2,Ib(b,e),b.W&&(b.D.restore(),b.W=!1)}}else Ib(a,"This space intentionally left blank");a.context.drawImage(a.J,0,0,a.J.width,a.J.height,a.Ga,a.Ka,a.ua,a.xa);a.na=!1}}var Vu="failsafe",Qu="validate",Su="timestamp",cv="version",dv="url",ev="browser",$u="user",Uu=-1,Lu=0,Tu=1,Xu=2,gv=3;
|
||||
Ma(function(){for(var a=eb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=bb(c),c=eb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=bb(f),g=new Ju(g,d,!0);db(g,f);g.M&&Ou(g,g.af)}});Na.show.push(function(){for(var a=eb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.ea&&!c.ca.Pb&&c.af(Uu)}});
|
||||
Na.exit.push(function(){for(var a=eb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.ca.Pb&&bv(c,!(!c.A||c.J),!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=iv(a,b,c);Yu(this,a.Ij)}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:Da()&&(a=Fa(this.key))?(this.A=a,this.B=!0):!1};function Ru(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){r(c.message||c),b=!1}return b}function Zu(a){var b=!0;if(Da()){var c=JSON.stringify(a.state);Ga(a.key,c)||(r("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 Yu(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){Yu(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 iv(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 jv=0;
|
||||
function kv(a,b,c,d,e,f){e("Loading "+a+"...");Ba(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):lv(h,a,b,c,d,e,f)})}
|
||||
function lv(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(Va(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),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(q){f=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?mv(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function mv(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ba(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,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(f);)k=0>k.indexOf(m[1])?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);mv(a,b,c)}})}else c(a,null)}
|
||||
function nv(a,b,c,d){function e(a){if(void 0===h){var b=g&&eb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=sa(a))}function f(a){e("Error: "+a);k&&(--jv||Qa(!0));k=!1}var g,h,k=!0;jv++;Wa[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=m:y.appendChild(document.createTextNode(m));q.appendChild(y)}c||
|
||||
(c="/versions/pcx86/1.35.0/components.xsl");m=function(d,h){h?kv(c,null,null,!1,e,function(d,k){k?(Va(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--jv||Qa(!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),--jv||Qa(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?kv(b,a,d,!0,e,m):lv(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(w){f(w.message)}return k}function ov(a,b,c,d){Qa(!1);return nv(a,b,c,d)}window.embedPC=ov;window.embedPCx86=ov;window.findMachineComponent=function(a,b){return ab(b,a+".machine")};
|
||||
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!gb[a]){for(var c=!0,d=gb,e=a,f=b.length,g=[],h=[],k="",m=null,q=0;q<f;q++){var y=b[q];if('"'==y||"'"==y)m&&y!=m?k+=y:(m?m=null:m=y,k&&(h.push(k),k=""));else{if(!m){if("\r"==y||"\n"==y)y=";";if(" "==y||"\t"==y||";"==y){k&&(h.push(k),k="");";"==y&&h.length&&(g.push(h),h=[]);continue}}k+=y}}k&&h.push(k);h.length&&g.push(h);d[e]=g;fb(a)||(c=!1)}return c};window.enableEvents=Qa;window.sendEvent=Sa;
|
||||
function ov(a,b,c,d){if(!c&&b){d.push(b);a=Wa[d[0]];b=null;for(var e in a)if(ra(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ba(b,null,!0,function(a,b){pv(b,d)}):pv(null,d)}else r("Error ("+c+") requesting "+a)}
|
||||
function pv(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=Wa[f],k={},m;for(m in h){var q=h[m],y=qa(m);if("xml"==y){for(y=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=y.exec(h[m]);){var w=d[2];w&&(h[w]||(q=q.replace(d[0],"")))}d=m=pa(m)}else"xsl"==y&&(e=m=pa(m));k[m]=q}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
|
||||
function pv(a,b,c,d){if(!c&&b){d.push(b);a=Wa[d[0]];b=null;for(var e in a)if(ra(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ba(b,null,!0,function(a,b){qv(b,d)}):qv(null,d)}else r("Error ("+c+") requesting "+a)}
|
||||
function qv(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=Wa[f],k={},m;for(m in h){var q=h[m],y=qa(m);if("xml"==y){for(y=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=y.exec(h[m]);){var w=d[2];w&&(h[w]||(q=q.replace(d[0],"")))}d=m=pa(m)}else"xsl"==y&&(e=m=pa(m));k[m]=q}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
|
||||
"©"),a=Ka(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+g+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",r(a)):r("Missing XML/XSL resources")}
|
||||
window.savePC=function(a,b,c){var d=ab("Computer",a),e=ab("Debugger",a);if(d){var f=av(d,!0),g=d.I?JSON.stringify(d.I):null;b||(b="/versions/pcx86/1.35.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ij:g}))return!0;Ba(b,null,!0,function(c,d,e){ov(c,d,e,[a,pa(b,!0),g,f])});return!0}r("Unable to identify machine '"+a+"'");return!1};})();
|
||||
window.savePC=function(a,b,c){var d=ab("Computer",a),e=ab("Debugger",a);if(d){var f=bv(d,!0),g=d.I?JSON.stringify(d.I):null;b||(b="/versions/pcx86/1.35.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ij:g}))return!0;Ba(b,null,!0,function(c,d,e){pv(c,d,e,[a,pa(b,!0),g,f])});return!0}r("Unable to identify machine '"+a+"'");return!1};})();
|
||||
|
|
|
|||
Loading…
Reference in a new issue