Added more demo links on the home page, switched nearly all machines over to the complete diskette library (instead of just a few samples), added the ability to autoMount disketttes by name OR by path, and updated the Dual Display IBM PC with a newer version of DOS along with details on toggling the active display

This commit is contained in:
Jeff Parsons 2017-06-24 10:39:26 -07:00 committed by Jeff Parsons
commit a9b6feb377
28 changed files with 125 additions and 45 deletions

View file

@ -616,7 +616,8 @@ function Cs(a,b){var c=0,d,e=!0;b||(b=[0,0,Js,Array(9),0,0,0,[]]);a.La=b[c++];c+
80;g.Za=9;break;case 1200:g.fb=80;g.Za=15;break;case 1440:g.fb=80,g.Za=18}}var l=a,m=d,q=f[d],y=0;h=!0;g.La=m;g.ke=g.me=!1;q||(q=[Ks,!0,0,2,0]);"boolean"==typeof q[1]&&(q[1]=[Ls,g.fb||40,g.gb||q[3],g.Za||9,g.lb||512,q[1],g.Nf,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.Nf=w[6])?(g.Re=w[7],g.Se=w[8]):(g.Nf=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.Pa=
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=l.A[m],Hs(l,m,!0,!0),y.me=!0,m=new fs(l,y,"preload"),l.li(y,m,w,q,!0)):Ms(l,m,w,q,!0)?g.sa&&q&&Ns(l,w,q,g.sa):pb(l,!1)):void 0!==z&&g.sa&&0>g.sa.restore(z)&&(h=!1);h&&g.sa&&void 0!==g.Pa&&(g.Ra=g.sa.seek(g.ub,g.Sa,g.kb));h||(e=!1)}a.H=b[c++]||0;a.F=b[c]||Os;return e}
function Is(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++,l=a.A[g],m=0,q=[];q[m++]=l.hb;q[m++]=[l.name,l.fb,l.gb,l.Za,l.lb,l.ne,l.Nf,l.Re,l.Se];q[m++]=l.Sa;q[m++]=l.sd+100;q[m++]=l.ub;q[m++]=l.kb;q[m++]=l.td;q[m++]=l.tb;q[m++]=l.Pa;q[m++]=l.me;q[m++]=l.Sj;q[m]=l.Sd;f[h]=q}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&Ps(a,f.Sd,f.sa);c[d]=a.B;c[b++]=a.H;c[b]=a.F;return c}
function Gs(a,b){b||(a.J=0);for(var c in a.L){var d=a.L[c],e=d.path||"";if(e){var f=c.charCodeAt(0)-65;if(0<=f&&f<a.A.length){if(!(d=d.name))a:{if((d=a.ia.listDisks)&&d.options)for(var g=0;g<d.options.length;g++){var h=d.options[g];if(h.value==e){d=h.text;break a}}d=pa(e,!0)}!Ms(a,f,d||"Unknown",e,!0)&&b&&pb(a,!1)}else a.wa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}}return!!a.J}
function Gs(a,b){b||(a.J=0);for(var c in a.L){var d=a.L[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=""}if(e)if(f=c.charCodeAt(0)-65,0<=f&&f<a.A.length){if(!(d=d.name))a:{if((d=a.ia.listDisks)&&d.options)for(g=0;g<d.options.length;g++)if(h=d.options[g],h.value==e){d=h.text;break a}d=pa(e,!0)}!Ms(a,f,d||"Unknown",e,!0)&&b&&pb(a,!1)}else a.wa("Incorrect auto-mount settings for drive "+
c+" ("+JSON.stringify(d)+")")}return!!a.J}
function Bs(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.wa('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>Ms(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}Hs(a,e,!1,
!0)}}else Hs(a,e);else a.wa("Unable to load the selected drive")}function Ms(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())){Hs(a,b,e,!0);if(g.ke)return a.wa("Drive "+b+" busy"),0;g.ke=!0;e&&(g.Gd=!0,a.J++);g.me=!!f;return(new fs(a,g,"preload")).load(c,d,f,a.li)?1:0}return-1}
k.li=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.wa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.La)),b=null);b?(a.sa=b,a.Sj=c,a.Sd=d,Ns(this,c,d,b),f=b.info(),this.H|=Qs,this.wa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.La),a.Gd||e),a.Nf=f[0],a.Re=f[1],a.Se=f[2],this.oa&&bd(this.oa)):a.me=!1;a.Gd&&(a.Gd=!1,--this.J||pb(this));As(this,a.La)};