Initial commit (a clone of the jsmachines project as of v1.15.3)

This commit is contained in:
jeffpar 2014-09-27 14:52:57 -07:00
commit a5e3e6a59d
714 changed files with 130602 additions and 0 deletions

View file

@ -0,0 +1,59 @@
IBM PC Disk Sets
---
An assortment of IBM PC Disk Sets, for use by [IBM PC Machine Configurations](../machines/).
### Example
An FDC (Floppy Disk Controller) XML file, such as [samples.xml](samples.xml), typically contains <disk> entries like:
<disk path="/disks/pc/dos/ibm/1.00/PCDOS100.json">PC-DOS 1.0</disk>
<disk path="/disks/pc/dos/ibm/1.10/PCDOS110.json">PC-DOS 1.1</disk>
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json">PC-DOS 2.0 (Disk 1)</disk>
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json">PC-DOS 2.0 (Disk 2)</disk>
<disk path="/disks/pc/games/microsoft/adventure/adventure-1981.json">Microsoft Adventure</disk>
<disk path="/apps/pc/1981/visicalc/disk.json" href="http://www.bricklin.com/history/vclicense.htm" desc="VisiCalc License">VisiCalc</disk>
However, if you wanted to load VisiCalc directly from the /apps folder, rather than using a pre-generated disk image,
you could do that with an &lt;manifest&gt; entry that references the application's manifest.xml:
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="disk"/>
The application must have a **manifest.xml** with &lt;disk&gt; section containing an *id* value that matches the *disk* value
specified above:
<disk id="disk" dir="/apps/pc/1981/visicalc/bin/">
<file>VC.COM</file>
<file dir="../">README.md</file>
<link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link>
</disk>
If multiple disks are defined in the manifest, and you want to include them all, you can set the *disk* value to '*', as in:
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="*"/>
As an added bonus, PCjs will automatically display the descriptive &lt;link&gt; whenever this item is selected, and it will
dynamically generate a disk image containing all the specified &lt;file&gt; entries when the selected item is loaded.
Pre-generated images are still preferred, and you can now include those in the application **manifest.xml** as well, by adding
an *href* value to the &lt;disk&gt; section that was used to create the image:
<disk id="disk" dir="/apps/pc/1981/visicalc/bin/" href="/apps/pc/1981/visicalc/disk.json">
<file>VC.COM</file>
<file dir="../">README.md</file>
<link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link>
</disk>
The PCjs "diskdump" module is used to create all our pre-generated JSON-encoded disk images. In the above example, a
pre-generated disk image could be created from the command-line with either the "--dir" option (which will traverse all
subdirectories as well):
node diskdump --dir=./apps/pc/1981/visicalc/bin/ --format=json --output=./apps/pc/1981/visicalc/disk.json
or with the "--path" option, which specifies either a single file or a set files separated by semi-colons:
node diskdump "--path=./apps/pc/1981/visicalc/bin/vc.com;../readme.md" --format=json --output=./apps/pc/1981/visicalc/disk.json
or via the PCjs server's "diskdump" API:
http://www.pcjs.org/api/v1/dump?path=/apps/pc/1981/visicalc/bin/vc.com&format=json

View file

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",path:"/disks/pc/fixed/win101/10mb-ega.json",type:3}]'/>

View file

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",path:"/disks/pc/fixed/win101/10mb.json",type:3}]'/>

View file

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<fdc id="fdcNEC" width="400px" 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:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}'>
<control type="list" class="input" binding="listDrives"/>
<control type="list" class="input" 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="*"/>
<manifest ref="/disks/pc/dos/ibm/2.10/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/3.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/microsoft/3.20/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/microsoft/4.0M/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/win/win101/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/win/win103/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/win/win103a/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/win/win104/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/win/win203/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/apps/lotus/123/1.0a/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/apps/microsoft/word/2.0c/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/apps/microsoft/word/3.0/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/apps/microsoft/word/5.0/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/games/microsoft/flightsim/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/basic/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/c/4.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/masm/4.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/mouse/5.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/winsdk/1.01/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/winsdk/1.04/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/winsdk/2.03/manifest.xml" disk="*"/>
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pc/1982/esuite/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pc/1985/rogue/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pc/1987/thinktank/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pc/1992/moria/manifest.xml" disk="disk01"/>
</control>
<control type="button" class="input" binding="loadDrive">Load</control>
<control type="description" class="output" binding="descDisk" padleft="8px"/>
</fdc>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<fdc id="fdcNEC" width="360px" 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:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}'>
<control type="list" class="input" binding="listDrives"/>
<control type="list" class="input" 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="*"/>
<manifest ref="/disks/pc/games/microsoft/adventure/manifest.xml" disk="*"/>
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="*"/>
</control>
<control type="button" class="input" binding="loadDrive">Load</control>
<control type="description" class="output" binding="descDisk" padleft="8px"/>
</fdc>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<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" class="input" binding="listDrives"/>
<control type="list" class="input" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
<disk path="/disks/pc/win/win101/01-SETUP/">Windows 1.01 (SETUP)</disk>
<disk path="/disks/pc/win/win101/02-BUILD/">Windows 1.01 (BUILD)</disk>
<disk path="/disks/pc/win/win101/03-UTILITY/">Windows 1.01 (UTILITY)</disk>
<disk path="/disks/pc/win/win101/04-APPS/">Windows 1.01 (APPS)</disk>
<disk path="/disks/pc/win/win101/05-WRITE/">Windows 1.01 (WRITE)</disk>
<disk path="/disks/pc/win/win103/01-SETUP/">Windows 1.03 (SETUP)</disk>
<disk path="/disks/pc/win/win103/02-BUILD/">Windows 1.03 (BUILD)</disk>
<disk path="/disks/pc/win/win103/03-UTILITY/">Windows 1.03 (UTILITY)</disk>
<disk path="/disks/pc/win/win103/04-FONT/">Windows 1.03 (FONT)</disk>
<disk path="/disks/pc/win/win103/05-APPS/">Windows 1.03 (APPS)</disk>
<disk path="/disks/pc/win/win103/06-WRITE/">Windows 1.03 (WRITE)</disk>
</control>
<control type="button" class="input" binding="loadDrive">Load Drive</control>
<control type="description" class="output" binding="descDisk" padleft="8px"/>
</fdc>