diff --git a/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml b/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml index 81c127f5c..19a2bd6e8 100644 --- a/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml +++ b/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml @@ -25,8 +25,9 @@ - Load + Download + diff --git a/devices/pc/machine/5160/mda/256kb/fake188/machine.xml b/devices/pc/machine/5160/mda/256kb/fake188/machine.xml index 3debb20d1..a3d727ffc 100644 --- a/devices/pc/machine/5160/mda/256kb/fake188/machine.xml +++ b/devices/pc/machine/5160/mda/256kb/fake188/machine.xml @@ -14,7 +14,7 @@ Run - + None @@ -25,8 +25,9 @@ - Load - + Download + + diff --git a/disks/pc/dos/microsoft/4.0M/README.md b/disks/pc/dos/microsoft/4.0M/README.md index 192dbcfb9..66b569871 100644 --- a/disks/pc/dos/microsoft/4.0M/README.md +++ b/disks/pc/dos/microsoft/4.0M/README.md @@ -13,4 +13,4 @@ differentiate these disk images from those of the official MS-DOS 4.00, released The [IBM Model 5160](/devices/pc/machine/) machine configuration below boots MS-DOS 4.0M. To access the MS-DOS "Session Manager" after it's booted, tap the **Alt** key. -[IBM Model 5160](/devices/pc/machine/5160/cga/640kb/dos400m/ "PCjs:ibm5160:::debugger") \ No newline at end of file +[IBM Model 5160](/devices/pc/machine/5160/cga/640kb/dos400m/ "PCjs:ibm5160:::debugger") diff --git a/disks/pc/dos/microsoft/4.0M/manifest.xml b/disks/pc/dos/microsoft/4.0M/manifest.xml index 7a98c3977..0742414ad 100644 --- a/disks/pc/dos/microsoft/4.0M/manifest.xml +++ b/disks/pc/dos/microsoft/4.0M/manifest.xml @@ -7,7 +7,6 @@ Operating System Microsoft - MS-DOS 4.0M (Disk 1) @@ -18,4 +17,4 @@ Disk 2 with unpatched LINK.EXE The designation "4.0M" is not an official version number; we use it only to differentiate this version of MS-DOS from the "non-multitasking" version. - \ No newline at end of file + diff --git a/disks/pc/library.xml b/disks/pc/library.xml index 3dd6bdd0a..f83289da5 100644 --- a/disks/pc/library.xml +++ b/disks/pc/library.xml @@ -1,5 +1,5 @@ - + None diff --git a/docs/pcjs/demos/pc-dbg.js b/docs/pcjs/demos/pc-dbg.js index e42e42394..f26ea70dc 100644 --- a/docs/pcjs/demos/pc-dbg.js +++ b/docs/pcjs/demos/pc-dbg.js @@ -604,7 +604,7 @@ k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Hd( k.Hd=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.gb=a[b++];b++;this.Da=a[b++];this.cc=a[b++];this.tb=a[b++];this.eb=a[b++];this.zf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.uc=c);void 0===this.Ea&&(this.Qi=4,this.oa&&(this.Qi=Fi(this.oa)),this.Ea=Array(4));for(c=0;ca.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.ab&&(a.Sa=a.za.seek(a.mb,a.Na,a.Wa));return e};k.Pj=function(){for(var a=0,b=[],c=0;ca.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.ab&&(a.Sa=a.za.seek(a.mb,a.Na,a.Wa));return e};k.Pj=function(){for(var a=0,b=[],c=0;ca.ta.restore(h)&&(e=!1);e&&a.ta&&void 0!==a.Ya&&(a.Ka=a.ta.seek(a.ib,a.Ja,a.Va));return e};k.$i=function(){for(var a=0,b=[],c=0;ca.ta.restore(h)&&(e=!1);e&&a.ta&&void 0!==a.Ya&&(a.Ka=a.ta.seek(a.ib,a.Ja,a.Va));return e};k.$i=function(){for(var a=0,b=[],c=0;c 0? sBaseName.substr(i+1) : ""); + var sBaseExt = ((i = sBaseName.lastIndexOf('.')) > 0? sBaseName.substr(i+1) : "").toLowerCase(); var sTrailingChar = req.path.slice(-1); if (!fServerDebug && !net.hasParm(net.GORT_COMMAND, net.GORT_DEBUG, req)) { @@ -531,7 +534,7 @@ HTMLOut.filter = function(req, res, next) * folders with trailing slashes. */ if (asNonDirectories.indexOf(sBaseName) < 0) { - if (sTrailingChar != '/' || sBaseName.match(/\.[^0-9]+[^Ma-z]?$/)) { + if (sTrailingChar != '/') { HTMLOut.logDebug('HTMLOut.filter("' + sBaseName + '"): passing static file request to next()'); next(); return; @@ -1052,7 +1055,7 @@ HTMLOut.prototype.getDirList = function(sToken, sIndent, aParms) var fDir = false; if (sURL == '/' || sBaseName == "..") { fDir = true; - } else if (asNonDirectories.indexOf(sBaseName) < 0 && (iExt < 0 || sBaseName.match(/\.[0-9]+[Ma-z]?$/))) { + } else if (asNonDirectories.indexOf(sBaseName) < 0 && (iExt < 0 || sBaseName.match(/\.[0-9]+[Ma-c]?$/))) { fDir = true; sURL += '/'; } diff --git a/my_modules/pcjs-client/lib/fdc.js b/my_modules/pcjs-client/lib/fdc.js index 6ea6ba61d..30397342b 100644 --- a/my_modules/pcjs-client/lib/fdc.js +++ b/my_modules/pcjs-client/lib/fdc.js @@ -931,6 +931,8 @@ FDC.prototype.initDrive = function(drive, iDrive, data) } var deltas = data[i++]; + if (deltas == 102) deltas = false; // v1.02 backward-compatibility + if (typeof deltas == "boolean") { var fLocal = deltas; var sDisketteName = data[i++]; diff --git a/versions/pcjs/1.15.9/pc-dbg.js b/versions/pcjs/1.15.9/pc-dbg.js index e42e42394..f26ea70dc 100644 --- a/versions/pcjs/1.15.9/pc-dbg.js +++ b/versions/pcjs/1.15.9/pc-dbg.js @@ -604,7 +604,7 @@ k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Hd( k.Hd=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.gb=a[b++];b++;this.Da=a[b++];this.cc=a[b++];this.tb=a[b++];this.eb=a[b++];this.zf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.uc=c);void 0===this.Ea&&(this.Qi=4,this.oa&&(this.Qi=Fi(this.oa)),this.Ea=Array(4));for(c=0;ca.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.ab&&(a.Sa=a.za.seek(a.mb,a.Na,a.Wa));return e};k.Pj=function(){for(var a=0,b=[],c=0;ca.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.ab&&(a.Sa=a.za.seek(a.mb,a.Na,a.Wa));return e};k.Pj=function(){for(var a=0,b=[],c=0;ca.ta.restore(h)&&(e=!1);e&&a.ta&&void 0!==a.Ya&&(a.Ka=a.ta.seek(a.ib,a.Ja,a.Va));return e};k.$i=function(){for(var a=0,b=[],c=0;ca.ta.restore(h)&&(e=!1);e&&a.ta&&void 0!==a.Ya&&(a.Ka=a.ta.seek(a.ib,a.Ja,a.Va));return e};k.$i=function(){for(var a=0,b=[],c=0;c