Make "None" a special diskette entry (no longer required to be present in any disk manifest, although if it IS present, it will get sorted along with all the other disk entries)
This commit is contained in:
parent
82766dbfdf
commit
af7f618821
24 changed files with 69 additions and 72 deletions
|
|
@ -422,12 +422,13 @@ module.exports = function(grunt) {
|
|||
var contentOrig = content;
|
||||
var reManifest = /([ \t]*)<manifest.*? ref="(.*?)".*?\/>/g, matchManifest;
|
||||
while ((matchManifest = reManifest.exec(contentOrig))) {
|
||||
var sManifest = grunt.file.read(path.join('.', matchManifest[2]));
|
||||
var sFile = matchManifest[2];
|
||||
var sManifest = grunt.file.read(path.join('.', sFile));
|
||||
if (!sManifest) continue;
|
||||
var sDefaultName = "", match;
|
||||
match = sManifest.match(/<title.*?>(.*?)<\/title>/);
|
||||
if (match) {
|
||||
sDefaultName = match[1];
|
||||
sDefaultName += match[1];
|
||||
match = sManifest.match(/<version.*?>(.*?)<\/version>/);
|
||||
if (match) sDefaultName += ' ' + match[1];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
<license href="http://www.bricklin.com/history/vclicense.htm">Lotus Development</license>
|
||||
<machine href="/devices/pc/machine/5150/mda/64kb/machine.xml" state="/apps/pc/1981/visicalc/state.json"/>
|
||||
<disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1981/visicalc/disk.json" md5="61494f998d5fb0e31e7b8bd99f1cc588" md5json="3ad82ed815725e6bd786f92a4714e84f">
|
||||
<name>Demo: VisiCalc</name>
|
||||
<file size="27520" time="1981-12-16 23:00:00" attr="0x20" md5="28997dfedb2440c6054d8be835be8634">VC.COM</file>
|
||||
<file dir="../">README.md</file>
|
||||
<link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<releaseDate>1982</releaseDate>
|
||||
<machine href="/devices/pc/machine/5160/mda/256kb/fake188/machine.xml" state="/apps/pc/1982/esuite/state.json"/>
|
||||
<disk id="disk01" size="368640" chs="40:2:9" dir="archive/" href="/apps/pc/1982/esuite/disk.json" md5="7721a7bc9fcbd0005e7c1d87ecc055c5" md5json="dbf0a2c0176b8128d87e2465794764f4">
|
||||
<name>Executive Suite (1982)</name>
|
||||
<name>Demo: Executive Suite (1982)</name>
|
||||
<file size="384" time="2000-02-29 08:04:48" attr="0x20" md5="3e638560a5f483cdbd1be486b07c767e">ESUITE.COM</file>
|
||||
<file size="163840" time="2000-02-29 06:57:40" attr="0x20" md5="dcc72026cdc906109cf0e3b2d07ffd5d">GAME.DAT</file>
|
||||
<link href="http://www.mobygames.com/game/executive-suite">MobyGames</link>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<author>Jon Lane</author>
|
||||
<author>Michael Toy</author>
|
||||
<disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1985/rogue/disk.json" md5="91fab29636a7517e17eaa38b30ff156a" md5json="c531e9f249b20adad667a3c376e427c8">
|
||||
<name>Rogue (1985)</name>
|
||||
<name>Demo: Rogue (1985)</name>
|
||||
<file size="14016" time="1985-03-25 14:33:18" attr="0x20" md5="e8f7c7b97210f480c7b741a0d58951bd">MKOPT.EXE</file>
|
||||
<file size="2616" time="1995-09-01 18:46:18" attr="0x20" md5="275fd64a3502af22b56e23934c79e9ef">ROGUE.COM</file>
|
||||
<file size="71520" time="1986-05-30 12:55:50" attr="0x20" md5="11cc922975d21f9a32812ff6c5ed3430">ROGUE.EXE</file>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<company>Living Videotext</company>
|
||||
<releaseDate>September 25, 1987</releaseDate>
|
||||
<disk id="disk01" size="368640" chs="40:2:9" dir="archive/" href="/apps/pc/1987/thinktank/disk.json" md5="94053339672452fba42da85481893d68" md5json="bd39020bff244db9af3ac9eb656e7878">
|
||||
<name>ThinkTank 2.41NP</name>
|
||||
<name>Demo: ThinkTank 2.41NP</name>
|
||||
<file size="6" time="2012-11-20 15:29:40" attr="0x20" md5="50b68f3f99eda119c661b2b50cb9f4de">AUTOEXEC.BAT</file>
|
||||
<file size="8192" time="2012-11-20 15:29:35" attr="0x20" md5="3355afbc122700f13647ee0d1bbf9ed7">READ_ME.DB</file>
|
||||
<file size="512" time="2012-11-20 15:29:31" attr="0x20" md5="8b989397eb275032eb8cf929def9c6cc">READ_ME.SAV</file>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<desc>MSDOS port</desc>
|
||||
</author>
|
||||
<disk id="disk01" size="1228800" chs="80:2:15" dir="archive/" href="/apps/pc/1988/moria/disk.json" md5="7bb84a7ac4e9b03e8cd1e6753b1359fb" md5json="7630122397a57af2d0c767141af3817c">
|
||||
<name>Moria v4.872</name>
|
||||
<name>Demo: Moria v4.872</name>
|
||||
<file size="11143" time="1988-11-01 00:00:00" attr="0x20" md5="dae278b77133f32949d0e8940f944c0d">CONFIG.DOC</file>
|
||||
<file size="91154" time="1991-06-01 14:50:02" attr="0x20" md5="66593e83a2aa3870d7a9e8b43079ce42">GOD</file>
|
||||
<file size="91154" time="1991-06-01 15:13:50" attr="0x20" md5="4a7c6e2ddf649f9700786624aaa91199">MADNESS1</file>
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@
|
|||
<desc>Macintosh port for Think C</desc>
|
||||
</contributor>
|
||||
<disk id="disk01" size="368640" chs="40:2:9" dir="archive/bin/" href="/apps/pc/1992/moria/disk.json" md5="da0023280238bc2ee9053ad2b9548816" md5json="1473be159bb5f9001db31c06b3a366c1">
|
||||
<name>Moria 5.5</name>
|
||||
<name>Demo: Moria 5.5</name>
|
||||
<file size="6074" time="1992-11-01 23:15:36" attr="0x20" md5="078aca44b845ee8a787a324c1e827200">EXP.DOC</file>
|
||||
<file size="2560" time="1992-11-01 23:15:36" attr="0x20" md5="a5c8620efd0dc841956f9cdc2e46220a">MORIA.CNF</file>
|
||||
<file size="49267" time="1992-11-01 23:15:36" attr="0x20" md5="32c9f15c70256f540f531675ad0e217f">MORIA1.TXT</file>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
<fdc id="fdcNEC" pos="left" padleft="8px" padbottom="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"Executive Suite (1982)",path:"/apps/pc/1982/esuite/disk.json"}}'>
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
<fdc id="fdcNEC" pos="left" padleft="8px" padbottom="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"Executive Suite (1982)",path:"/apps/pc/1982/esuite/disk.json"}}'>
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
<fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px">
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<disk path="/disks/pc/empty/EMPTY-360K.json">Empty Diskette (360K)</disk>
|
||||
<disk path="/disks/pc/empty/EMPTY-720K.json">Empty Diskette (720K)</disk>
|
||||
<disk path="/disks/pc/empty/EMPTY-1200K.json">Empty Diskette (1.2M)</disk>
|
||||
|
|
@ -503,11 +502,11 @@
|
|||
<disk path="/disks/pc/games/id/wolf3d/1WOLF14.json">Wolfenstein 3D 1.4</disk>
|
||||
<disk path="/disks/pc/games/microsoft/flightsim/1982/FLIGHTSIM-1982.json">MS Flight Simulator (1982)</disk>
|
||||
<disk path="/disks/pc/games/microsoft/flightsim/1984/FLIGHTSIM-1984.json">MS Flight Simulator (1984)</disk>
|
||||
<disk path="/apps/pc/1981/visicalc/disk.json">VisiCalc</disk>
|
||||
<disk path="/apps/pc/1982/esuite/disk.json">Executive Suite (1982)</disk>
|
||||
<disk path="/apps/pc/1985/rogue/disk.json">Rogue (1985)</disk>
|
||||
<disk path="/apps/pc/1987/thinktank/disk.json">ThinkTank 2.41NP</disk>
|
||||
<disk path="/apps/pc/1992/moria/disk.json">Moria 5.5</disk>
|
||||
<disk path="/apps/pc/1981/visicalc/disk.json">Demo: VisiCalc</disk>
|
||||
<disk path="/apps/pc/1982/esuite/disk.json">Demo: Executive Suite (1982)</disk>
|
||||
<disk path="/apps/pc/1985/rogue/disk.json">Demo: Rogue (1985)</disk>
|
||||
<disk path="/apps/pc/1987/thinktank/disk.json">Demo: ThinkTank 2.41NP</disk>
|
||||
<disk path="/apps/pc/1992/moria/disk.json">Demo: Moria 5.5</disk>
|
||||
<disk path="/pubs/pc/programming/DOS_Internals/DOS-INTERN.json">DOS Internals</disk>
|
||||
<disk path="/pubs/pc/programming/The_Undocumented_PC/UNDOC.json">The Undocumented PC</disk>
|
||||
<disk path="/pubs/pc/programming/Undocumented_DOS/UNDOC-DOS-DISK1.json">Undocumented DOS (Disk 1)</disk>
|
||||
|
|
|
|||
|
|
@ -2,13 +2,12 @@
|
|||
<fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px">
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<disk path="/disks/pc/dos/ibm/1.00/PCDOS100.json">PC-DOS 1.00</disk>
|
||||
<disk path="/disks/pc/dos/ibm/1.10/PCDOS110.json">PC-DOS 1.10</disk>
|
||||
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json">PC-DOS 2.00 (Disk 1)</disk>
|
||||
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json">PC-DOS 2.00 (Disk 2)</disk>
|
||||
<disk path="/disks/pc/games/microsoft/adventure/ADVENTURE-1981.json">Microsoft Adventure</disk>
|
||||
<disk path="/apps/pc/1981/visicalc/disk.json">VisiCalc</disk>
|
||||
<disk path="/apps/pc/1981/visicalc/disk.json">Demo: VisiCalc</disk>
|
||||
</control>
|
||||
<control type="button" binding="loadDrive">Load</control>
|
||||
<control type="button" binding="saveDrive" padright="8px">Save</control>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
<fdc id="fdcNEC" automount='{A: {name: "CP/M-86 (Disk 1)", path: "/disks/pc/cpm/1.1b/CPM86-DISK1.json"}, B: {name: "CP/M-86 (Disk 2)", path: "/disks/pc/cpm/1.1b/CPM86-DISK2.json"}}' pos="right">
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<manifest ref="/disks/pc/cpm/1.1b/manifest.xml" disk="*"/>
|
||||
</control>
|
||||
<control type="button" binding="loadDrive">Load</control>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
<fdc id="fdcNEC" automount='{A: {name: "Zork I", path: "/disks/pc/games/infocom/zork1/ZORK1-READONLY.json"}}' padleft="8px" padbottom="8px" pos="left">
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<manifest ref="/disks/pc/games/infocom/hhiker/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/games/infocom/planet/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/games/infocom/zork1/manifest.xml" disk="*"/>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
<fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px">
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<manifest ref="/disks/pc/empty/manifest.xml"/>
|
||||
<manifest ref="/disks/pc/cpm/1.1b/manifest.xml"/>
|
||||
<manifest ref="/disks/pc/diags/ibm/manifest.xml"/>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
<fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px">
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml"/>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
<fdc id="fdcNEC" width="320px" pos="left" padtop="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}'>
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
|
||||
<disk path="/disks/pc/windows/1.01/01-SETUP/">Windows 1.01 (SETUP)</disk>
|
||||
<disk path="/disks/pc/windows/1.01/02-BUILD/">Windows 1.01 (BUILD)</disk>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@
|
|||
<control type="container">
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<disk path="PCDOS100.json">PC-DOS 1.00</disk>
|
||||
</control>
|
||||
<control type="button" binding="loadDrive">Load</control>
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@
|
|||
<control type="container">
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<disk path="PCDOS100.json">PC-DOS 1.00</disk>
|
||||
<disk path="visicalc.json" href="http://www.bricklin.com/history/vclicense.htm" desc="VisiCalc License">VisiCalc</disk>
|
||||
</control>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -655,6 +655,8 @@ FDC.prototype.initBus = function(cmp, bus, cpu, dbg)
|
|||
bus.addPortInputTable(this, FDC.aPortInput);
|
||||
bus.addPortOutputTable(this, FDC.aPortOutput);
|
||||
|
||||
this.addDiskette("None", "", true);
|
||||
|
||||
if (this.fLocalDisks) {
|
||||
this.addDiskette("Local Disk", "?");
|
||||
}
|
||||
|
|
@ -1517,12 +1519,13 @@ FDC.prototype.doneLoadDiskette = function onFDCLoadNotify(drive, disk, sDiskette
|
|||
};
|
||||
|
||||
/**
|
||||
* addDiskette(sName, sPath)
|
||||
* addDiskette(sName, sPath, fTop)
|
||||
*
|
||||
* @param {string} sName
|
||||
* @param {string} sPath
|
||||
* @param {boolean} [fTop] (default is bottom)
|
||||
*/
|
||||
FDC.prototype.addDiskette = function(sName, sPath)
|
||||
FDC.prototype.addDiskette = function(sName, sPath, fTop)
|
||||
{
|
||||
var controlDisks = this.bindings["listDisks"];
|
||||
if (controlDisks && controlDisks.options) {
|
||||
|
|
@ -1532,8 +1535,12 @@ FDC.prototype.addDiskette = function(sName, sPath)
|
|||
var controlOption = document.createElement("option");
|
||||
controlOption.text = sName;
|
||||
controlOption.value = sPath;
|
||||
if (fTop && controlDisks.childNodes[0]) {
|
||||
controlDisks.insertBefore(controlOption, controlDisks.childNodes[0]);
|
||||
} else {
|
||||
controlDisks.appendChild(controlOption);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
<fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"BASIC Programs",path:"/pubs/pc/programming/Graphics_for_the_IBM_PC/programs/disk.json"}}' pos="left" padleft="8px" padbottom="8px">
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue