From 766f31263bb16389e943dcadf154861b88483d72 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Mon, 3 Nov 2014 08:45:57 -0800 Subject: [PATCH] Updated Disks README --- disks/pc/README.md | 44 +++++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/disks/pc/README.md b/disks/pc/README.md index cd359bd06..d44be3625 100644 --- a/disks/pc/README.md +++ b/disks/pc/README.md @@ -9,32 +9,36 @@ Below are selected Disk Sets featuring "Ready-to-Boot" machine configurations: You can browse the rest of our disk archives by type. There is no search capability at this time. -Learn more about PCjs disk image formats [here](/disks/). +### Disk Sets and Manifests -Disk Sets ---- +Collections of related disks are organized into *Disk Sets* which can then be loaded from the +[FDC (Floppy Disk Controller)](/docs/pcjs/fdc/) component of an [IBM PC Machine Configuration](/devices/pc/machine/). -Disks can be organized into *Disk Sets* (manifests) which can then be loaded by the FDC component of -[IBM PC Machine Configurations](/devices/pc/machine/). +Disk Sets are stored in their own folders, along with a **manifest.xml** file listing the individual diskettes. +Manifests also record a variety of metadata about the software; more information about the manifest format +is available in [Application Archives](/apps/). -### Example - -An FDC (Floppy Disk Controller) XML file, such as [samples.xml](samples.xml), typically contains <disk> entries like: +A simple FDC XML file, such as [samples.xml](samples.xml), *could* contain <disk> entries like: PC-DOS 1.0 PC-DOS 1.1 PC-DOS 2.0 (Disk 1) PC-DOS 2.0 (Disk 2) - Microsoft Adventure - VisiCalc + ... -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 <manifest> entry that references the application's manifest.xml: +listing all the diskettes available for the machine to load. However, listing individual diskettes is tedious, +so the FDC also supports **manifest.xml** files. Instead of listing the PC-DOS 2.0 diskettes individually, +they can be added to [samples.xml](samples.xml) with a single line: + + + +The same feature works with [Application Manifests](/apps/#software-application-manifests). Here's how you might +add [VisiCalc](/apps/pc/1981/visicalc/) to [samples.xml](samples.xml): -The application must have a **manifest.xml** with <disk> section containing an *id* value that matches the *disk* value -specified above: +The application must have a **manifest.xml** with <disk> section containing an *id* value that matches the +*disk* value specified above: VC.COM @@ -49,8 +53,8 @@ If multiple disks are defined in the manifest, and you want to include them all, As an added bonus, PCjs will automatically display the descriptive <link> whenever this item is selected, and it will dynamically generate a disk image containing all the specified <file> 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 <disk> section that was used to create the image: +Pre-generated disk images are preferred to dynamically-generated images, and you can now include those in the application +**manifest.xml** as well, by adding an *href* value to the <disk> section that was used to create the image: VC.COM @@ -58,9 +62,9 @@ an *href* value to the <disk> section that was used to create the image: VisiCalc License -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): +The PCjs [DiskDump](/my_modules/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 @@ -71,3 +75,5 @@ or with the "--path" option, which specifies either a single file or a set files 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 + +Learn more about PCjs disk image formats [here](/disks/).