pcjs/disks/pcx86
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2016-08-17 19:09:23 -07:00
..
apps Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead) 2016-08-17 19:09:23 -07:00
compiled Updated disk library 2016-08-09 12:33:23 -07:00
cpm Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead) 2016-08-17 19:09:23 -07:00
diags Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead) 2016-08-17 19:09:23 -07:00
dos Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead) 2016-08-17 19:09:23 -07:00
empty Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead) 2016-08-17 19:09:23 -07:00
fixed Add redirects for all the (moved) disk folders 2016-05-23 14:34:57 -07:00
games Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead) 2016-08-17 19:09:23 -07:00
minix Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead) 2016-08-17 19:09:23 -07:00
os2 Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead) 2016-08-17 19:09:23 -07:00
tools Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead) 2016-08-17 19:09:23 -07:00
unix Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead) 2016-08-17 19:09:23 -07:00
windows Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead) 2016-08-17 19:09:23 -07:00
library.xml The /tests/pc folder is now /tests/pcx86 (to be consistent with the associated emulator) 2016-08-09 11:48:09 -07:00
README.md The /tests/pc folder is now /tests/pcx86 (to be consistent with the associated emulator) 2016-08-09 11:49:17 -07:00
samples.xml Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86 2016-05-16 20:55:32 -07:00

layout title permalink redirect_from
page IBM PC Disk Library /disks/pcx86/
/disks/pc/
/configs/pc/disks/

IBM PC Disk Library

This Disk Library lists all the Disk Manifests in the PCjs Project and makes those disks available to any IBM PC Machine in the project that uses the library. Note that most machines use the compiled form of the library, to reduce machine load time.

The summary below is not a complete list of everything in the library, just highlights. For some of the disks, we have provided more information about the software, and in some cases, machines that automatically run the software. Ideally, everything in the library would also be listed below, and linked to a page that describes the software in more detail, along with a live demonstration of the software, but that's not yet a reality.

For IBM PC application demos, see the Application Archive, which focuses excusively on applications. The Disk Library is a superset, including operating systems, application software, computer diagnostics, programming tools, and more.

Operating Systems

Applications

Games

Tools

Tests


Disk Manifests

Typically, all the distribution disks for a single version of a piece of software are placed in a single folder, along with a manifest.xml file containing metadata about the software and a list of the individual disks. This is generally referred to as a Software Manifest, but in the context of the Disk Library, it's simply known as a Disk Manifest.

A Disk Manifest can then be added to a Floppy Drive Controller (FDC) configuration file, making all its disks available to any machine loading that particular configuration file.

A simple FDC configuration file, such as samples.xml, could contain individual <disk> entries like:

<disk path="/disks/pcx86/dos/ibm/1.00/PCDOS100.json">PC-DOS 1.00</disk>
<disk path="/disks/pcx86/dos/ibm/1.10/PCDOS110.json">PC-DOS 1.10</disk>
<disk path="/disks/pcx86/dos/ibm/2.00/PCDOS200-DISK1.json">PC-DOS 2.00 (Disk 1)</disk>
<disk path="/disks/pcx86/dos/ibm/2.00/PCDOS200-DISK2.json">PC-DOS 2.00 (Disk 2)</disk>
...

However, listing individual diskettes like that is tedious, so support was added for Disk Manifest references:

Instead of listing the PC-DOS 2.00 diskettes individually, they can now be added to an XML configuration file with a single Disk Manifest reference:

<manifest ref="/disks/pcx86/dos/ibm/2.00/manifest.xml" disk="*"/>

When you want to include only one particular disk from a manifest, set the disk value to the id of the disk. Here's how you would include only the first disk from PC-DOS 2.00:

<manifest ref="/disks/pcx86/dos/ibm/2.00/manifest.xml" disk="disk01"/>

Here's what the entire Disk Manifest for PC-DOS 2.00 currently looks like:

<manifest type="software">
    <title>PC-DOS</title>
    <version>2.00</version>
    <type>DOS</type>
    <category>Operating System</category>
    <author>IBM/Microsoft</author>
    <releaseDate/>
    <disk id="disk01" size="184320" chs="40:1:9" img="archive/PCDOS200-DISK1.img" href="/disks/pcx86/dos/ibm/2.00/PCDOS200-DISK1.json" md5="d57ceef82122790d1c0ff7bebc12f90a" md5json="2507c02da6cbafe9a94a35cbdd993be2">
        <name>PC-DOS 2.00 (Disk 1)</name>
    </disk>
    <disk id="disk02" size="184320" chs="40:1:9" img="archive/PCDOS200-DISK2.img" href="/disks/pcx86/dos/ibm/2.00/PCDOS200-DISK2.json" md5="1c7aac53c78446992f8821cf42d04c4a" md5json="b66e296319c1f97990b596b1aa376d39">
        <name>PC-DOS 2.00 (Disk 2)</name>
    </disk>
</manifest>