From 06094fcd486d8f630000011d3eca3ffb4371ec2d Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Sun, 13 Mar 2016 17:44:59 -0700 Subject: [PATCH] Documentation updates --- README.md | 6 +- apps/pc/README.md | 6 +- devices/pc/README.md | 9 +- devices/pc/keyboard/README.md | 33 ++++- devices/pc/machine/5170/README.md | 13 ++ .../pc/machine/5170/ega/640kb/rev1/machine.md | 10 ++ devices/pc/machine/5170/ega/README.md | 15 +++ devices/pc/machine/5170/vga/README.md | 12 ++ devices/pc/machine/README.md | 19 ++- devices/pc/panel/README.md | 13 +- devices/pc/rom/README.md | 21 ++- devices/pc/video/README.md | 15 ++- devices/pc/video/ibm/ega/README.md | 47 ++++++- .../1986-10-27/{ibm-vga.nasm => ibm-vga.asm} | 2 +- devices/pc/video/ibm/vga/README.md | 49 ++++++- disks/README.md | 14 +- disks/pc/README.md | 120 ++++++++---------- disks/pc/os2/misc/README.md | 2 +- docs/pcjs/rom/README.md | 2 +- index.md | 6 +- 20 files changed, 295 insertions(+), 119 deletions(-) create mode 100644 devices/pc/machine/5170/README.md create mode 100644 devices/pc/machine/5170/ega/640kb/rev1/machine.md create mode 100644 devices/pc/machine/5170/ega/README.md create mode 100644 devices/pc/machine/5170/vga/README.md rename devices/pc/video/ibm/vga/1986-10-27/{ibm-vga.nasm => ibm-vga.asm} (99%) diff --git a/README.md b/README.md index b3477cd86..e430706c2 100644 --- a/README.md +++ b/README.md @@ -45,9 +45,9 @@ Some pre-configured machines are shown below, ready to run BASIC, DOS, Windows, ![IBM PC w/MDA, Microsoft Adventure](/disks/pc/games/microsoft/adventure/thumbnail.jpg "link:/disks/pc/games/microsoft/adventure/:200:120") ![IBM PC w/CGA, Zork I](/disks/pc/games/infocom/zork1/thumbnail.jpg "link:/disks/pc/games/infocom/zork1/:200:120") -Check out the rest of the PCjs [Application](/apps/pc/), [Disk](/disks/pc/), and [Machine](/devices/pc/machine/) -demos, including an [IBM PC with Dual Displays](/devices/pc/machine/5150/dual/64kb/) demonstrating early multi-monitor -support, and multiple IBM PC XT machines running side-by-side with [CGA Displays](/devices/pc/machine/5160/cga/256kb/array/) +There are many more [PCjs Demos](/devices/pc/machine/#ready-to-run-app-demos), including an +[IBM PC with Dual Displays](/devices/pc/machine/5150/dual/64kb/) demonstrating early multi-monitor support, +and multiple IBM PC XT machines running side-by-side with [CGA Displays](/devices/pc/machine/5160/cga/256kb/array/) and [EGA Displays](/devices/pc/machine/5160/ega/640kb/array/). C1Pjs diff --git a/apps/pc/README.md b/apps/pc/README.md index b41c04374..755bd6059 100644 --- a/apps/pc/README.md +++ b/apps/pc/README.md @@ -15,7 +15,7 @@ Below are selected demos of classic IBM PC applications running on [PCjs](/docs/ * [ThinkTank (1987)](1987/thinktank/) * [The Dungeons of Moria (1992)](1992/moria/) -Additional software is available in the [IBM PC Disk Archive](/disks/pc/). +A list of all the software available to PCjs machines can be found in the [IBM PC Disk Library](/disks/pc/). ### Creating IBM PC Application Demos @@ -34,8 +34,8 @@ Next, the [manifest](1981/visicalc/manifest.xml) required a disk image containin cd apps/pc/1981/visicalc node ../../../../modules/diskdump/bin/diskdump --path="archive/VC.COM;../README.md" --format=json --output=disk.json --manifest -The DiskDump command created a disk image named "disk.json" containing two files ("VC.COM" from the "static" subdirectory, -and "README.md" from the "static" parent directory) and automatically added that disk image to the demo's [manifest](1981/visicalc/manifest.xml): +The DiskDump command created a disk image named "disk.json" containing two files ("VC.COM" from the "archive" subdirectory, +and "README.md" from the "archive" parent directory) and automatically added that disk image to the demo's [manifest](1981/visicalc/manifest.xml): VC.COM diff --git a/devices/pc/README.md b/devices/pc/README.md index d86de58e8..8500c0583 100644 --- a/devices/pc/README.md +++ b/devices/pc/README.md @@ -28,8 +28,8 @@ Complete machine configurations are constructed from those devices. A machine c that lists all the device components to be used. A machine XML file can choose to configure every device itself, or it can include pre-configured device XML files, such as those provided above or elsewhere. -For example, here's what the machine located at [/devices/pc/machine/5150/mda/64kb/machine.xml](/devices/pc/machine/5150/mda/64kb/machine.xml) -looks like: +For example, here's what the machine located at +[/devices/pc/machine/5150/mda/64kb/machine.xml](/devices/pc/machine/5150/mda/64kb/machine.xml) looks like: IBM PC (Model 5150) with Monochrome Display @@ -47,5 +47,6 @@ looks like: -All the devices are fully configured within the XML file, except for the Keyboard and Floppy Disk Controller (FDC) -devices, which are defined in separate XML files. +All the devices are fully configured within the XML file, except for the [Video](/docs/pcjs/video/), +[Keyboard](/docs/pcjs/keyboard/), and [Floppy Disk Controller (FDC)](/docs/pcjs/fdc/) components, which are defined +in separate XML files. diff --git a/devices/pc/keyboard/README.md b/devices/pc/keyboard/README.md index 576002589..ce00f132e 100644 --- a/devices/pc/keyboard/README.md +++ b/devices/pc/keyboard/README.md @@ -1,12 +1,41 @@ --- layout: page -title: 8042 Keyboard Controller Internals +title: IBM PC Keyboard Devices permalink: /devices/pc/keyboard/ --- -8042 Keyboard Controller Internals +IBM PC Keyboard Devices --- +### Keyboard Configuration Files + +The easiest way for a machine to include a *[Keyboard](/docs/pcjs/keyboard/)* component in its XML configuration file +is to reference one of the project's keyboard configuration files, using the *ref* attribute; eg: + + + +The referenced XML file automatically defines the keyboard's hardware characteristics (eg, model) and +any visual elements, such as buttons to simulate common keystrokes, or even complete "soft keyboard" layouts. + +Here's what *us83-buttons-minimal.xml* currently looks like: + + + ESC + F1 + F10 + + +The following IBM keyboard configuration files are currently available: + + - [us83-buttons-arrows.xml](us83-buttons-arrows.xml) + - [us83-buttons-functions.xml](us83-buttons-functions.xml) + - [us83-buttons-minimal.xml](us83-buttons-minimal.xml) + - [us83-buttons-softkeys.xml](us83-buttons-softkeys.xml) + - [us84-buttons-arrows.xml](us84-buttons-arrows.xml) + - [us84-buttons-functions.xml](us84-buttons-functions.xml) + +### 8042 Keyboard Controller Internals + The following documents were obtained from [halicery.com](http://halicery.com/): - [8042_INTERN.TXT](8042_INTERN.TXT) diff --git a/devices/pc/machine/5170/README.md b/devices/pc/machine/5170/README.md new file mode 100644 index 000000000..2483a7beb --- /dev/null +++ b/devices/pc/machine/5170/README.md @@ -0,0 +1,13 @@ +--- +layout: page +title: IBM PC AT (Model 5170) +permalink: /devices/pc/machine/5170/ +--- + +IBM PC AT Machines (Model 5170) +--- + +All our Model 5170, aka IBM PC AT, configurations are located here, including: + +* [IBM PC AT with EGA Display](/devices/pc/machine/5170/ega/) +* [IBM PC AT with VGA Display](/devices/pc/machine/5170/vga/) diff --git a/devices/pc/machine/5170/ega/640kb/rev1/machine.md b/devices/pc/machine/5170/ega/640kb/rev1/machine.md new file mode 100644 index 000000000..347911c8f --- /dev/null +++ b/devices/pc/machine/5170/ega/640kb/rev1/machine.md @@ -0,0 +1,10 @@ +--- +layout: page +title: "IBM PC AT (Model 5170, 640Kb) with EGA Display" +permalink: /devices/pc/machine/5170/ega/640kb/rev1/ +machines: + - type: pc + id: ibm5170 +--- + +{% include machine.html id="ibm5170" %} diff --git a/devices/pc/machine/5170/ega/README.md b/devices/pc/machine/5170/ega/README.md new file mode 100644 index 000000000..932079514 --- /dev/null +++ b/devices/pc/machine/5170/ega/README.md @@ -0,0 +1,15 @@ +--- +layout: page +title: "IBM PC AT (Model 5170) with Enhanced Color Display" +permalink: /devices/pc/machine/5170/ega/ +--- + +IBM PC AT with Enhanced Color Graphics (EGA) Display +--- + +All our Enhanced Color Graphics (EGA) configurations of the IBM PC AT (Model 5170) are located here, including: + +* [IBM PC AT (6Mhz, 640Kb) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/640kb/rev1/debugger/) +* [IBM PC AT (6Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev1/debugger/) +* [IBM PC AT (8Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/) +* [IBM PC AT (8Mhz, 2Mb, 20Mb Drive) with EGA Display](/devices/pc/machine/5170/ega/2048kb/rev3/) ([Debugger](/devices/pc/machine/5170/ega/2048kb/rev3/debugger/)) diff --git a/devices/pc/machine/5170/vga/README.md b/devices/pc/machine/5170/vga/README.md new file mode 100644 index 000000000..31348e58f --- /dev/null +++ b/devices/pc/machine/5170/vga/README.md @@ -0,0 +1,12 @@ +--- +layout: page +title: "IBM PC AT (Model 5170) with VGA Display" +permalink: /devices/pc/machine/5170/vga/ +--- + +IBM PC AT with VGA Display +--- + +All our VGA configurations of the IBM PC AT (Model 5170) are located here, including: + +* [IBM PC AT (8Mhz, 2Mb, 20Mb Drive) with VGA Display](/devices/pc/machine/5170/vga/2048kb/) ([Debugger](/devices/pc/machine/5170/vga/2048kb/debugger/)) diff --git a/devices/pc/machine/README.md b/devices/pc/machine/README.md index 0b96d927d..dd18faecf 100644 --- a/devices/pc/machine/README.md +++ b/devices/pc/machine/README.md @@ -21,9 +21,8 @@ along with these IBM PC-compatibles: * [COMPAQ](/devices/pc/machine/compaq/) (eg, [DeskPro 386](/devices/pc/machine/compaq/deskpro386/)) -We also support a few non-IBM [Devices](/devices/): - -* [6502 Challenger 1P](/devices/c1p/machine/) +Learn more about the [Devices](/devices/) used to build all our machines, such as the 6502-based +[Ohio Scientific Challenger 1P](/devices/c1p/machine/). ### Ready-To-Run App Demos @@ -37,7 +36,7 @@ Machines from our [IBM PC Application Archive](/apps/pc/): ### Ready-To-Boot Disk Demos -And here are some machines from our [IBM PC Disk Archive](/disks/pc/): +And here are some machines from our [IBM PC Disk Library](/disks/pc/): * [CP/M-86 v1.1B](/disks/pc/cpm/1.1b/) * [PC-DOS 1.00](/disks/pc/dos/ibm/1.00/) @@ -58,9 +57,11 @@ a predefined state, which automatically restores the machine and the specified a state, while others include a hard disk with preinstalled software. However, most simply boot an early version of DOS, and the hard disk, if any, will generally be unformatted. -From there, you can load another disk image +From there, you can other disks and install other software. -### [Model 5150 Machine Configurations](/devices/pc/machine/5150/) +### Model 5150 Machine Configurations + +[Model 5150 Machines](/devices/pc/machine/5150/) include: * [IBM PC (64Kb) with Monochrome Display](/devices/pc/machine/5150/mda/64kb/) ([Debugger](/devices/pc/machine/5150/mda/64kb/debugger/)) * [IBM PC (64Kb) with Monochrome Display and Soft Keyboard (Debugger)](/devices/pc/machine/5150/mda/64kb/softkbd/) @@ -69,7 +70,9 @@ From there, you can load another disk image * [IBM PC (384Kb) with Color Display and Soft Keyboard (Debugger)](/devices/pc/machine/5150/cga/384kb/softkbd/) * [IBM PC (64Kb) with Dual Displays (Monochrome and Color)](/devices/pc/machine/5150/dual/64kb/) -### [Model 5160 Machine Configurations](/devices/pc/machine/5160/) +### Model 5160 Machine Configurations + +[Model 5160 Machines](/devices/pc/machine/5160/) include: * [IBM PC XT (64Kb, 10Mb Drive) with Monochrome Display](/devices/pc/machine/5160/mda/64kb/softkbd/) * [IBM PC XT (256Kb, 10Mb Drive) with Monochrome Display](/devices/pc/machine/5160/mda/256kb/) ([Debugger](/devices/pc/machine/5160/mda/256kb/debugger/)) @@ -87,6 +90,8 @@ From there, you can load another disk image ### Model 5170 Machine Configurations +[Model 5170 Machines](/devices/pc/machine/5170/) include: + * [IBM PC AT (6Mhz, 640Kb) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/640kb/rev1/debugger/) * [IBM PC AT (6Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev1/debugger/) * [IBM PC AT (8Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/) diff --git a/devices/pc/panel/README.md b/devices/pc/panel/README.md index cf8a1361d..282aea376 100644 --- a/devices/pc/panel/README.md +++ b/devices/pc/panel/README.md @@ -7,6 +7,13 @@ permalink: /devices/pc/panel/ IBM PC Control Panels --- -[Control Panels](/docs/pcjs/panel/) are XML files that define a particular layout for controls provided by the -[Computer](/docs/pcjs/computer/), [CPU](/docs/pcjs/cpu/), [Keyboard](/docs/pcjs/keyboard/) -and [Debugger](/docs/pcjs/debugger/) components. +[Control Panels](/docs/pcjs/panel/) are XML files that define layouts for Debugger-related controls. + +The following IBM PC control panel configuration files are currently available: + + - [default.xml](default.xml) (a simple layout for 8086/8088-based machines) + - [wide.xml](wide.xml) (a wide version of default.xml) + - [wide386.xml](wide386.xml) (a wide version of default.xml for 80386-based machines) + +The visual controls described by these layouts are provided by the [Computer](/docs/pcjs/computer/), +[CPU](/docs/pcjs/cpu/), [Keyboard](/docs/pcjs/keyboard/), and [Debugger](/docs/pcjs/debugger/) components. diff --git a/devices/pc/rom/README.md b/devices/pc/rom/README.md index 86309be76..ebd5deab2 100644 --- a/devices/pc/rom/README.md +++ b/devices/pc/rom/README.md @@ -6,16 +6,22 @@ redirect_from: - /devices/pc/bios/ --- -BASIC ROMs +IBM PC ROMs --- +ROMs are added to machines by including one *[ROM](/docs/pcjs/rom/)* component in the machine XML configuration file +for each ROM in the machine; eg: + + + +### BASIC ROMs + The project contains the following IBM PC BASIC ROMs: * [IBM BASIC 1.00](5150/basic/BASIC100.json) * [IBM BASIC 1.10](5160/basic/BASIC110.json) -BIOS ROMs ---- +### BIOS ROMs The project contains the following IBM PC BIOS ROMs: @@ -25,7 +31,14 @@ The project contains the following IBM PC BIOS ROMs: * [Model 5160: Nov 08, 1982](5160/bios/1982-11-08/XTBIOS-REV1.json) * [Model 5160: May 09, 1986](5160/bios/1986-05-09/XTBIOS-REV3.json) -As well as BIOS ROMs, with more detailed information, for the following machines: +The project also contains BIOS ROMs, along with more detailed information, for the following machines: * [IBM PC AT Model 5170](5170/bios/) * [COMPAQ Portable and DeskPro Machines](compaq/bios/) + +### Other ROMs + +The project contains other ROMs, including IBM [EGA](/devices/pc/video/ibm/ega/#ibm-ega-rom) and +[VGA](/devices/pc/video/ibm/vga/#ibm-vga-rom) ROMs, the Xebec Hard Disk Controller ROM used in +the PC XT, etc, but those ROMs seemed more appropriately filed in their respective component folders; +eg, [IBM PC Video Devices](/devices/pc/video/). diff --git a/devices/pc/video/README.md b/devices/pc/video/README.md index fa7daed6d..076713dff 100644 --- a/devices/pc/video/README.md +++ b/devices/pc/video/README.md @@ -1,18 +1,21 @@ --- layout: page -title: IBM PC Video Support +title: IBM PC Video Devices permalink: /devices/pc/video/ --- -IBM PC Video Support +IBM PC Video Devices --- +Video devices are added to machines by including a *[Video](/docs/pcjs/video/)* component in the machine XML +configuration file. See one of the following video adapters for examples of how to do this. + PCjs supports the following IBM PC video adapters: -* MDA (Monochrome Display Adapter) -* CGA (Color Graphics Adapter) -* EGA (Enhanced Graphics Adapter) -* [VGA](ibm/vga/) (Video Graphics Adapter) +* Monochrome Display Adapter (MDA) +* Color Graphics Adapter (CGA) +* [Enhanced Graphics Adapter (EGA)](ibm/ega/) +* [Video Graphics Array (VGA)](ibm/vga/) More detailed information is available for the following IBM-compatible video adapters: diff --git a/devices/pc/video/ibm/ega/README.md b/devices/pc/video/ibm/ega/README.md index 99c555122..6ab43f050 100644 --- a/devices/pc/video/ibm/ega/README.md +++ b/devices/pc/video/ibm/ega/README.md @@ -1,12 +1,51 @@ --- layout: page -title: IBM EGA ROM +title: "IBM Enhanced Graphics Adapter (EGA)" permalink: /devices/pc/video/ibm/ega/ --- -IBM EGA ROM +IBM Enhanced Graphics Adapter (EGA) --- +### IBM EGA Configurations + +The easiest way for a machine to include an EGA *[Video](/docs/pcjs/video/)* component in its XML configuration file +is to reference one of the project's predefined EGA configuration files, using the *ref* attribute; eg: + +