IBM PC Disk Library

The IBM PC Disk Library lists all of our Disk Manifests and makes those disks available to the project’s collection of IBM PC Machines.

For non-DOS diskettes, see Disk Libraries.

Whenever possible, PCjs archives copies of original distribution diskettes. Exceptions include the application “Demo Disks” that we’ve created for our IBM PC Application Demos. PCjs may also include minor changes to a disk’s boot sector, making it easier to mount the disk in modern operating systems. See the description of the PC-DOS 0.90 Boot Sector for an example. macOS has built-in support for mounting .IMG disk images, and Windows can mount them with the help of third-party software like OSFMount.

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. Eventually, everything in the library will be listed here, with links to pages that describe the software in more detail, along with live demonstrations.

Operating Systems


Also see our collection of selected IBM PC Application Demos.




ROMs, Diagnostics, Demos, and More

Fixed Disks

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:

<fdc id="fdcNEC">
    <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">
    <category>Operating System</category>
    <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 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>