From d29ef36ea1b2ad9f047788684587aca68c44bb0e Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Mon, 23 May 2016 14:14:42 -0700 Subject: [PATCH] Link updates --- _posts/2014-04-12-whats-new-in-1.13.0.md | 2 +- ...4-09-13-the-ibm-pc-at-alive-and-booting.md | 4 +- _posts/2014-09-30-pcjs-coding-conventions.md | 2 +- _posts/2014-10-12-pcjs-released-on-github.md | 2 +- ...-17-improved-support-for-pc-at-machines.md | 10 ++--- .../2014-10-23-improved-pc-dos-700-support.md | 2 +- .../2015-04-16-compaq-deskpro-386-update.md | 2 +- api/v1/dump/README.md | 2 +- apps/pcx86/README.md | 2 +- devices/README.md | 2 +- devices/c1p/README.md | 12 +++--- devices/c1p/panel/README.md | 3 ++ devices/pcx86/README.md | 39 +++++++++++-------- devices/pcx86/chipset/README.md | 8 +++- devices/pcx86/keyboard/README.md | 4 +- devices/pcx86/machine/README.md | 4 +- devices/pcx86/panel/README.md | 10 +++-- devices/pcx86/rom/README.md | 2 +- devices/pcx86/video/compaq/ega/README.md | 2 +- devices/pcx86/video/ibm/README.md | 2 +- devices/pcx86/video/ibm/cga/README.md | 2 +- devices/pcx86/video/ibm/ega/README.md | 2 +- devices/pcx86/video/ibm/mda/README.md | 2 +- disks/pcx86/README.md | 2 +- docs/about/pcx86/README.md | 2 +- docs/pcx86/README.md | 6 +-- docs/pcx86/fdc/README.md | 2 +- docs/pcx86/panel/README.md | 8 ++-- docs/pcx86/ram/README.md | 2 +- modules/pcx86/README.md | 6 +-- 30 files changed, 84 insertions(+), 66 deletions(-) diff --git a/_posts/2014-04-12-whats-new-in-1.13.0.md b/_posts/2014-04-12-whats-new-in-1.13.0.md index 85c20c901..811ca4011 100644 --- a/_posts/2014-04-12-whats-new-in-1.13.0.md +++ b/_posts/2014-04-12-whats-new-in-1.13.0.md @@ -11,7 +11,7 @@ are simple XML files that describe a piece of software (an application, an opera link to a PCjs machine configuration capable of running the software, along with a "ready-to-run" machine state file. Conversely, a PCjs machine XML file can refer back to the manifest, to obtain a list of disk images. -Here are some [demos](/apps/pc/) of "ready-to-run" apps on [PCjs](/docs/about/pcjs/). +Here are some [Demos](/apps/pc/) of "ready-to-run" apps on [PCjs](/docs/about/). There have been lots of server-side changes recently, including API improvements that make it easy (well, *easier*) to dynamically create diskette images from a list of files, or even an entire folder (including all subfolders), diff --git a/_posts/2014-09-13-the-ibm-pc-at-alive-and-booting.md b/_posts/2014-09-13-the-ibm-pc-at-alive-and-booting.md index 34c62dc09..49c60b38f 100644 --- a/_posts/2014-09-13-the-ibm-pc-at-alive-and-booting.md +++ b/_posts/2014-09-13-the-ibm-pc-at-alive-and-booting.md @@ -55,8 +55,8 @@ There's still no support for [LOADALL](/pubs/pc/reference/intel/80286/loadall/) call gates or task gates, nor for conforming code segments or expand-down data segments. 80286-specific cycle counts haven't been incorporated yet, either. The list of remaining 80286 features is long. -And there's plenty of hardware support left to do: I haven't looked at the AT hard disk controller yet (which -I believe is significantly different from the XT hard disk controller), and the keyboard *barely* works; the 8042 +And there's plenty of hardware support left to do: I haven't looked at the AT hard drive controller yet (which +I believe is significantly different from the XT hard drive controller), and the keyboard *barely* works; the 8042 Keyboard Controller and AT keyboard had a number of features that older PC/XT keyboards did not (like LEDs and programmable repeat rate). diff --git a/_posts/2014-09-30-pcjs-coding-conventions.md b/_posts/2014-09-30-pcjs-coding-conventions.md index eceae0cc0..445e5c654 100644 --- a/_posts/2014-09-30-pcjs-coding-conventions.md +++ b/_posts/2014-09-30-pcjs-coding-conventions.md @@ -121,7 +121,7 @@ if (DEBUG) this.log('load("' + sFileURL + '")'); ``` There are a number of other important shared constants in [/modules/shared/lib/defines.js](/modules/shared/lib/defines.js) -and PCjs-specific constants in [/modules/pcjs/lib/defines.js](/modules/pcjs/lib/defines.js); refer +and PCjs-specific constants in [/modules/pcx86/lib/defines.js](/modules/pcx86/lib/defines.js); refer to those files for more information. ### Braces and Parentheses diff --git a/_posts/2014-10-12-pcjs-released-on-github.md b/_posts/2014-10-12-pcjs-released-on-github.md index 711c0f5a6..3b65ea232 100644 --- a/_posts/2014-10-12-pcjs-released-on-github.md +++ b/_posts/2014-10-12-pcjs-released-on-github.md @@ -17,7 +17,7 @@ can boot and run in real-mode now, but there's still a lot of protected-mode wor this year is to boot OS/2 1.0. There are also a lot of rough edges left to polish. Holes in EGA emulation remain to be filled (support for dynamically -loaded fonts is one of the bigger ones). And the PC AT Keyboard, along with the 8042 and Hard Disk controllers, are all +loaded fonts is one of the bigger ones). And the PC AT Keyboard, along with the 8042 and Hard Drive controllers, are all just limping along at the moment. Longer term, I'm looking forward to building some new tools, including an "IBM PC Configurator" that will take some diff --git a/_posts/2014-10-17-improved-support-for-pc-at-machines.md b/_posts/2014-10-17-improved-support-for-pc-at-machines.md index 3f46fa0ff..b00e09093 100644 --- a/_posts/2014-10-17-improved-support-for-pc-at-machines.md +++ b/_posts/2014-10-17-improved-support-for-pc-at-machines.md @@ -10,19 +10,19 @@ The [8Mhz IBM PC AT](/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/) mach [PCjs v1.15.5](https://github.com/jeffpar/pcjs/releases/tag/v1.15.5), which includes the following fixes: + The BIOS expects memory refresh to occur roughly every 16us, which I've resolved by tying the state -of the refresh bit in port 0x61 to bit 6 of the CPU cycle count (see *in8042RWReg()* in [chipset.js](/modules/pcjs/lib/chipset.js)); +of the refresh bit in port 0x61 to bit 6 of the CPU cycle count (see *in8042RWReg()* in [chipset.js](/modules/pcx86/lib/chipset.js)); the original AT BIOS was satisfied with a refresh bit that merely alternated, whereas the new AT BIOS is much more particular about the rate at which that bit changes, since many hard-coded delay-loops have now been replaced with code that waits for a specific number of refresh cycles. + The 8042 Keyboard Controller emulation needed a few more tweaks, mainly with respect to what happens -when the keyboard's "clock" line is toggled (see *set8042CmdData()* in [chipset.js](/modules/pcjs/lib/chipset.js)). +when the keyboard's "clock" line is toggled (see *set8042CmdData()* in [chipset.js](/modules/pcx86/lib/chipset.js)). -+ The Floppy Disk Controller needed to add support for the "READ ID" command, in order for the BIOS ++ The Floppy Drive Controller needed to add support for the "READ ID" command, in order for the BIOS "double-stepping" test to work (double-stepping is required on an 80-track drive when attempting to read a 40-track diskette). -+ The BIOS Diskette Reset function does something odd after resetting the Floppy Disk Controller: it ++ The BIOS Diskette Reset function does something odd after resetting the Floppy Drive Controller: it issues not one but *four* "SENSE INTERRUPT STATUS" commands to the FDC, and expects each response to return an incrementally larger drive number. I found this a bit mystifying, considering that IBM's own FDC/HDC "combo card" supports a maximum of *two* diskette drives. But, there's no point arguing @@ -32,7 +32,7 @@ with a BIOS that's almost 30 years old. to run SETUP after installing a second hard drive. So, when the CMOS reports only one hard drive installed, the BIOS probes for a second hard drive anyway, and it does so by simply writing the drive number to the ATC's "DRVHD" register and then immediately reading the "STATUS" register, without issuing any intervening command. -It was an easy fix to *outATCDrvHd()* in [hdc.js](/modules/pcjs/lib/hdc.js), but I was surprised +It was an easy fix to *outATCDrvHd()* in [hdc.js](/modules/pcx86/lib/hdc.js), but I was surprised to discover that the ATC had this behavior, and now I'm wondering if there are any other I/O operations that must immediately update the "STATUS" register. diff --git a/_posts/2014-10-23-improved-pc-dos-700-support.md b/_posts/2014-10-23-improved-pc-dos-700-support.md index 6bc435c5a..50352dfcb 100644 --- a/_posts/2014-10-23-improved-pc-dos-700-support.md +++ b/_posts/2014-10-23-improved-pc-dos-700-support.md @@ -7,7 +7,7 @@ permalink: /blog/2014/10/23/ --- [PCjs v1.15.6](https://github.com/jeffpar/pcjs/releases/tag/v1.15.6) is a fairly minor update that fixes a few -Floppy Disk Controller (FDC) issues and one CPU emulation bug that prevented [PC-DOS 7.00](/disks/pcx86/dos/ibm/7.00/) +Floppy Drive Controller (FDC) issues and one CPU emulation bug that prevented [PC-DOS 7.00](/disks/pcx86/dos/ibm/7.00/) from working properly. There are also some Debugger improvements; for example, if you turn on "fdc" and "int" messages in the diff --git a/_posts/2015-04-16-compaq-deskpro-386-update.md b/_posts/2015-04-16-compaq-deskpro-386-update.md index e428de00f..7f18051ea 100644 --- a/_posts/2015-04-16-compaq-deskpro-386-update.md +++ b/_posts/2015-04-16-compaq-deskpro-386-update.md @@ -14,7 +14,7 @@ machines: PCx86 can now boot the [COMPAQ DeskPro 386/16 ROM BIOS](/devices/pcx86/rom/compaq/deskpro386/). -There's still a problem with the hard disk controller, which I haven't looked into yet, +There's still a problem with the Hard Drive Controller, which I haven't looked into yet, but booting from a floppy works. While working through issues with this ROM BIOS, I created some lightly-annotated diff --git a/api/v1/dump/README.md b/api/v1/dump/README.md index 84260fa40..0ff4ff214 100644 --- a/api/v1/dump/README.md +++ b/api/v1/dump/README.md @@ -10,7 +10,7 @@ scripts: # the following list of scripts should mirror what /modules/diskdump/li - /modules/shared/lib/diskapi.js - /modules/shared/lib/dumpapi.js - /modules/shared/lib/component.js - - /modules/pcjs/lib/x86.js + - /modules/pcx86/lib/x86.js - /modules/diskdump/lib/diskdump.js --- diff --git a/apps/pcx86/README.md b/apps/pcx86/README.md index 977c80b2e..663d55cfa 100644 --- a/apps/pcx86/README.md +++ b/apps/pcx86/README.md @@ -9,7 +9,7 @@ redirect_from: IBM PC Application Archive --- -Below are selected [PCjs](/docs/about/pcjs/) demos of classic IBM PC applications: +Below are selected [PCx86](/docs/about/pcx86/) demos of classic IBM PC applications: * [VisiCalc (1981)](1981/visicalc/) * [Executive Suite (1982)](1982/esuite/) diff --git a/devices/README.md b/devices/README.md index fb769825f..4aa4b4ea6 100644 --- a/devices/README.md +++ b/devices/README.md @@ -18,4 +18,4 @@ All PCjs machines are built from the following collections of devices: * [8086-based Devices](pcx86/) (e.g., [IBM PC, including 80286 and 80386-based compatibles](pcx86/machine/)) These devices are user-installable components that you would typically find in a real personal computer, -such as keyboards, disk controllers with one or more disk drives, video cards, etc. +such as keyboards, disk drive controllers with one or more drives, video cards, etc. diff --git a/devices/c1p/README.md b/devices/c1p/README.md index b6276abc3..32c43e9c2 100644 --- a/devices/c1p/README.md +++ b/devices/c1p/README.md @@ -9,12 +9,14 @@ Challenger 1P Device Configurations All our [Challenger 1P Machines](machine/) are built from a collection of devices, including: +* [Control Panel](panel/) * CPU (6502) +* Debugger +* Floppy Drive Controller +* Keyboard * RAM -* [ROMs](rom/) -* Keyboards -* [Video Resources](video/) -* Floppy Drive Controllers -* [Control Panels](panel/) +* [ROM](rom/) +* Serial Port +* [Video](video/) The project also includes an assortment of Challenger 1P [Applications](/apps/c1p/) and [Disk Images](/disks/c1p/). diff --git a/devices/c1p/panel/README.md b/devices/c1p/panel/README.md index 89a71b499..b8ed44156 100644 --- a/devices/c1p/panel/README.md +++ b/devices/c1p/panel/README.md @@ -7,6 +7,9 @@ permalink: /devices/c1p/panel/ Challenger 1P Control Panels --- +A Control Panel is a collection of machine controls (e.g., buttons, register values, etc) bound to the *CPU* and +*Debugger* components and usually defined in a separate XML file. + The following C1P Control Panels are available: - [default.xml](default.xml) diff --git a/devices/pcx86/README.md b/devices/pcx86/README.md index a5e981f2a..b91c53c21 100644 --- a/devices/pcx86/README.md +++ b/devices/pcx86/README.md @@ -12,28 +12,32 @@ IBM PC Device Configurations All our [IBM PC Machines](machine/) are built from a collection of devices, including: -* CPU (e.g., 8088, 80286, 80386) -* RAM -* [ROMs](rom/) -* ChipSets (e.g., 8259, 8253, 8237) -* [Keyboards](keyboard/) -* [Video Adapters](video/) -* Floppy Drive Controllers -* Hard Drive Controllers -* [Control Panels](panel/) +* [ChipSet](chipset/) +* [Control Panel](panel/) +* [CPU](/docs/pcx86/cpu/) +* [Debugger](/docs/pcx86/debugger/) +* [Floppy Drive Controller](/docs/pcx86/fdc/) +* [Hard Drive Controller](/docs/pcx86/hdc/) +* [Keyboard](keyboard/) +* [Mouse](/docs/pcx86/mouse/) +* [RAM](/docs/pcx86/ram/) +* [ROM](rom/) +* [Parallel Port](/docs/pcx86/parallel/) +* [Serial Port](/docs/pcx86/serial/) +* [Video](video/) Each of those devices can be configured in multiple ways, and some support external UI controls. -For example, the IBM PC Keyboard component supports different keyboard models (eg, 83-key, 84-key, 101-key), -and each of those models can also be configured to have dedicated buttons for selected key combinations, -or even entire keyboard layouts. +For example, the IBM PC *[Keyboard](/docs/pcx86/keyboard/)* component supports different keyboard models +(eg, 83-key, 84-key, 101-key), and each of those models can also be configured to have dedicated buttons for +selected key combinations, or even entire keyboard layouts. Complete machine configurations are constructed from those devices. A Machine Configuration is a single XML file 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. -Here's an example of [IBM 5150](/devices/pcx86/machine/5150/mda/64kb/) -[XML](/devices/pcx86/machine/5150/mda/64kb/machine.xml): +Here's an [IBM 5150](/devices/pcx86/machine/5150/mda/64kb/) [XML](/devices/pcx86/machine/5150/mda/64kb/machine.xml) +example: ```xml @@ -54,6 +58,7 @@ Here's an example of [IBM 5150](/devices/pcx86/machine/5150/mda/64kb/) ``` In this example, all the devices are fully configured within the machine XML file, except for the -[Video](/docs/pcx86/video/) [XML](/devices/pcx86/video/ibm/mda/ibm-mda.xml), -[Floppy Disk Controller (FDC)](/docs/pcx86/fdc/) [XML](/disks/pcx86/compiled/samples.xml), and -[Keyboard](/docs/pcx86/keyboard/) [XML](/devices/pcx86/keyboard/us83-buttons-arrows.xml). +*[Video](/docs/pcx86/video/)* ([XML](/devices/pcx86/video/ibm/mda/ibm-mda.xml)), +*[Floppy Drive Controller](/docs/pcx86/fdc/)* ([XML](/disks/pcx86/compiled/samples.xml)), and +*[Keyboard](/docs/pcx86/keyboard/)* ([XML](/devices/pcx86/keyboard/us83-buttons-arrows.xml)) components, +which refer to separate XML configuration files. diff --git a/devices/pcx86/chipset/README.md b/devices/pcx86/chipset/README.md index b653750f8..3084bfc52 100644 --- a/devices/pcx86/chipset/README.md +++ b/devices/pcx86/chipset/README.md @@ -7,9 +7,15 @@ permalink: /devices/pcx86/chipset/ IBM PC ChipSet Configurations --- -The following ChipSet configurations are available: +The following predefined *[ChipSet](/docs/pcx86/chipset/)* XML configurations are currently available: - [IBM Model 5150 w/CGA](5150-cga-max.xml) - [AT&T Personal Computer 6300](att6300-cga-max.xml) - [Columbia Data Products MPC 1600](mpc1600-cga-max.xml) - [Zenith Z-150](z150-cga-max.xml) + +However, most machines use their own *[ChipSet](/docs/pcx86/chipset/)* model, DIP switch settings, etc; e.g.: + +```xml + +``` diff --git a/devices/pcx86/keyboard/README.md b/devices/pcx86/keyboard/README.md index 1356bc842..6d0148ea6 100644 --- a/devices/pcx86/keyboard/README.md +++ b/devices/pcx86/keyboard/README.md @@ -11,8 +11,8 @@ IBM PC Keyboard Devices ### Keyboard Configuration Files -The easiest way for a machine to include a *[Keyboard](/docs/pcx86/keyboard/)* component in its XML configuration file -is to reference one of the project's keyboard configuration files, using the *ref* attribute; eg: +The easiest way for a machine to add a *[Keyboard](/docs/pcx86/keyboard/)* component to its XML configuration file +is to use one of the project's predefined configuration files, with the *ref* attribute; e.g.: ```xml diff --git a/devices/pcx86/machine/README.md b/devices/pcx86/machine/README.md index 7f2588ec0..0d423a666 100644 --- a/devices/pcx86/machine/README.md +++ b/devices/pcx86/machine/README.md @@ -10,13 +10,13 @@ redirect_from: IBM PC Machine Configurations --- -PCx86 supports these early [IBM PC Machines](#ibm-pc-machines): +PCjs supports these early [IBM PC Machines](#ibm-pc-machines): * [IBM PC](/devices/pcx86/machine/5150/) (Model 5150) * [IBM PC XT](/devices/pcx86/machine/5160/) (Model 5160) * [IBM PC AT](/devices/pcx86/machine/5170/) (Model 5170) -PCx86 also supports IBM PC-compatibles, such as: +PCjs also supports IBM PC-compatibles, such as: * [AT&T](/devices/pcx86/machine/att/) ([AT&T 6300](/devices/pcx86/machine/att/6300/)) * [Columbia Data Products](/devices/pcx86/machine/cdp/) ([MPC 1600](/devices/pcx86/machine/cdp/mpc1600/cga/640kb/)) diff --git a/devices/pcx86/panel/README.md b/devices/pcx86/panel/README.md index 28d3cf46c..077f3fe5b 100644 --- a/devices/pcx86/panel/README.md +++ b/devices/pcx86/panel/README.md @@ -9,13 +9,15 @@ redirect_from: IBM PC Control Panels --- -[Control Panels](/docs/pcx86/panel/) are XML files that define layouts for Debugger-related controls. +A *[Control Panel](/docs/pcx86/panel/)* is a collection of machine controls (e.g., buttons, register values, etc) +bound to the *[CPU](/docs/pcx86/cpu/)* and *[Debugger](/docs/pcx86/debugger/)* components and usually defined in a +separate XML file. -The following IBM PC control panel configuration files are currently available: +The following predefined IBM PC *[Control Panel](/docs/pcx86/panel/)* XML configuration 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/pcx86/computer/), -[CPU](/docs/pcx86/cpu/), [Keyboard](/docs/pcx86/keyboard/), and [Debugger](/docs/pcx86/debugger/) components. +The visual controls described by these layouts are provided by the *[Computer](/docs/pcx86/computer/)*, +*[CPU](/docs/pcx86/cpu/)*, *[Keyboard](/docs/pcx86/keyboard/)*, and *[Debugger](/docs/pcx86/debugger/)* components. diff --git a/devices/pcx86/rom/README.md b/devices/pcx86/rom/README.md index 2f0d3de06..b654a1de2 100644 --- a/devices/pcx86/rom/README.md +++ b/devices/pcx86/rom/README.md @@ -73,6 +73,6 @@ The project also contains BIOS ROMs, along with more detailed information, for t ### Other ROMs The project contains other ROMs, including IBM [EGA](/devices/pcx86/video/ibm/ega/#ibm-ega-rom) and -[VGA](/devices/pcx86/video/ibm/vga/#ibm-vga-rom) ROMs, the Xebec Hard Disk Controller ROM used in +[VGA](/devices/pcx86/video/ibm/vga/#ibm-vga-rom) ROMs, the Xebec Hard Drive 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/pcx86/video/). diff --git a/devices/pcx86/video/compaq/ega/README.md b/devices/pcx86/video/compaq/ega/README.md index 0ce812550..bc272d574 100644 --- a/devices/pcx86/video/compaq/ega/README.md +++ b/devices/pcx86/video/compaq/ega/README.md @@ -17,7 +17,7 @@ Our COMPAQ [EGA ROM BIOS](000412-001B/compaq-ega.json) comes from ### Font Information -As noted in [Video.onROMLoad()](/modules/pcjs/lib/video.js), the Video component needs to know where the card's +As noted in [Video.onROMLoad()](/modules/pcx86/lib/video.js), the Video component needs to know where the card's font data is located: For EGA cards, in the absence of any parameters, we assume that we're receiving the original diff --git a/devices/pcx86/video/ibm/README.md b/devices/pcx86/video/ibm/README.md index b37b9e8ae..ca6f0679a 100644 --- a/devices/pcx86/video/ibm/README.md +++ b/devices/pcx86/video/ibm/README.md @@ -11,7 +11,7 @@ IBM PC Video Configurations Sample XML configurations are available for the following IBM PC Video Adapters: -* Monochrome Display Adapter (MDA) +* [Monochrome Display Adapter (MDA)](mda/) * [Color Graphics Adapter (CGA)](cga/) * [Enhanced Graphics Adapter (EGA)](ega/) * [Video Graphics Array (VGA)](vga/) diff --git a/devices/pcx86/video/ibm/cga/README.md b/devices/pcx86/video/ibm/cga/README.md index 2faa8fa8f..5a92d30d3 100644 --- a/devices/pcx86/video/ibm/cga/README.md +++ b/devices/pcx86/video/ibm/cga/README.md @@ -48,7 +48,7 @@ The following IBM CGA configuration files are currently available: There is only one known CGA Character ROM ([ibm-cga.json](ibm-cga.json)), and it is identical to the MDA Character ROM, because the ROM contains both the 8x14 MDA and 8x8 CGA fonts. -As documented in [Video.doneLoad()](/modules/pcjs/lib/video.js): +As documented in [Video.doneLoad()](/modules/pcx86/lib/video.js): [T]here are TWO CGA fonts in the ROM: a thin 5x7 "single dot" font located at offset 0x1000, and a thick 7x7 "double dot" font at offset 0x1800. The latter is the default font, unless overridden by a jumper setting on diff --git a/devices/pcx86/video/ibm/ega/README.md b/devices/pcx86/video/ibm/ega/README.md index a658cd9c5..6aed253d1 100644 --- a/devices/pcx86/video/ibm/ega/README.md +++ b/devices/pcx86/video/ibm/ega/README.md @@ -64,7 +64,7 @@ The PCjs server's Dump API can be used as well: ### IBM EGA Font Information -As noted in [Video.onROMLoad()](/modules/pcjs/lib/video.js), the Video component needs to know where the card's +As noted in [Video.onROMLoad()](/modules/pcx86/lib/video.js), the Video component needs to know where the card's font data is located: For EGA cards, in the absence of any parameters, we assume that we're receiving the original diff --git a/devices/pcx86/video/ibm/mda/README.md b/devices/pcx86/video/ibm/mda/README.md index 09d7fa721..4b31cfc1f 100644 --- a/devices/pcx86/video/ibm/mda/README.md +++ b/devices/pcx86/video/ibm/mda/README.md @@ -44,7 +44,7 @@ The following IBM MDA configuration files are currently available: There is only one known MDA Character ROM ([ibm-mda.json](ibm-mda.json)), and it is identical to the CGA Character ROM, because the ROM contains both the 8x14 MDA and 8x8 CGA fonts. -As documented in [Video.doneLoad()](/modules/pcjs/lib/video.js): +As documented in [Video.doneLoad()](/modules/pcx86/lib/video.js): [T]here are TWO CGA fonts in the ROM: a thin 5x7 "single dot" font located at offset 0x1000, and a thick 7x7 "double dot" font at offset 0x1800. The latter is the default font, unless overridden by a jumper setting on diff --git a/disks/pcx86/README.md b/disks/pcx86/README.md index 28605b526..d9d8f80c0 100644 --- a/disks/pcx86/README.md +++ b/disks/pcx86/README.md @@ -72,7 +72,7 @@ folder, along with a **manifest.xml** file containing metadata about the softwar disks. This is generally referred to as a [Software Manifest](/apps/), 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 Disk Controller (FDC)](/docs/pcx86/fdc/)* configuration file, +A Disk Manifest can then be added to a *[Floppy Drive Controller (FDC)](/docs/pcx86/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](samples.xml), *could* contain individual <disk> diff --git a/docs/about/pcx86/README.md b/docs/about/pcx86/README.md index 16da6036a..c9cdc33b9 100644 --- a/docs/about/pcx86/README.md +++ b/docs/about/pcx86/README.md @@ -28,7 +28,7 @@ pre-loaded), what kind of video adapter (MDA, CGA, EGA or VGA), serial ports, mo [Documentation](/docs/pcx86/) for details. + Excellent IBM hardware compatibility ensures all the original IBM BIOS ROMs operate properly, and that the -machines run at their original speed. Even obsolete hardware, such as the original PC XT hard disk controller, +machines run at their original speed. Even obsolete hardware, such as the original PC XT hard drive controller, is supported. + The CPU component is easily configured to emulate an 8088, 80186, 80286, or 80386. A target speed can also diff --git a/docs/pcx86/README.md b/docs/pcx86/README.md index 9b11359f4..dcf37fc8b 100644 --- a/docs/pcx86/README.md +++ b/docs/pcx86/README.md @@ -29,7 +29,7 @@ of XSL and CSS support files (included in the ZIP file below). A PCx86 machine XML file defines all a machine's components, including: -* [Chipset](chipset/) +* [ChipSet](chipset/) * [Computer](computer/) * [Control Panel](panel/) * [CPU](cpu/) @@ -42,7 +42,7 @@ A PCx86 machine XML file defines all a machine's components, including: * [ROM](rom/) * [Parallel Port](parallel/) * [Serial Port](serial/) -* [Video Adapter](video/) +* [Video](video/) Here's a simple machine XML file that includes an 8088 CPU and 16Kb of RAM: @@ -88,7 +88,7 @@ Note that as soon as the machine is ready and the CPU starts running, the "Run" ``` -Next, we can add a Floppy Disk Controller (FDC) component. And since we want to be able to "load" and "unload" floppy +Next, we can add a Floppy Drive Controller (FDC) component. And since we want to be able to "load" and "unload" floppy disks at will, we'll include some UI controls. ```xml diff --git a/docs/pcx86/fdc/README.md b/docs/pcx86/fdc/README.md index b127c90c2..7751656dd 100644 --- a/docs/pcx86/fdc/README.md +++ b/docs/pcx86/fdc/README.md @@ -40,7 +40,7 @@ Bindings For use with a control of type *list*. The list will be populated automatically with a series of <option> elements based on the number of floppy drives, as determined by the SW1 settings obtained from the - [ChipSet](/docs/pcx86/chipset/) component. + *[ChipSet](/docs/pcx86/chipset/)* component. * *listDisks* diff --git a/docs/pcx86/panel/README.md b/docs/pcx86/panel/README.md index 5869c8379..77ec1d5a0 100644 --- a/docs/pcx86/panel/README.md +++ b/docs/pcx86/panel/README.md @@ -16,8 +16,8 @@ Format Purpose --- Creates an instance of the Control Panel component, which simply acts as a container for controls that the -machine wants to bind to the [Computer](/docs/pcx86/computer/), [CPU](/docs/pcx86/cpu/), [Keyboard](/docs/pcx86/keyboard/) -and/or [Debugger](/docs/pcx86/debugger/) components. +machine wants to bind to the *[Computer](/docs/pcx86/computer/)*, *[CPU](/docs/pcx86/cpu/)*, +*[Keyboard](/docs/pcx86/keyboard/)* and/or *[Debugger](/docs/pcx86/debugger/)* components. Attributes --- @@ -25,8 +25,8 @@ None. Bindings --- -Refer to available bindings in the [Computer](/docs/pcx86/computer/), [CPU](/docs/pcx86/cpu/), [Keyboard](/docs/pcx86/keyboard/) -and [Debugger](/docs/pcx86/debugger/) components. +Refer to available bindings in the *[Computer](/docs/pcx86/computer/)*, *[CPU](/docs/pcx86/cpu/)*, +*[Keyboard](/docs/pcx86/keyboard/)* and *[Debugger](/docs/pcx86/debugger/)* components. Example --- diff --git a/docs/pcx86/ram/README.md b/docs/pcx86/ram/README.md index 5b2044a3f..bb5950164 100644 --- a/docs/pcx86/ram/README.md +++ b/docs/pcx86/ram/README.md @@ -26,7 +26,7 @@ Attributes * *size* (optional; default is 0x00000) - The amount of RAM, in bytes. If the size is omitted (or 0), the [ChipSet](/docs/pcx86/chipset/) component + The amount of RAM, in bytes. If the size is omitted (or 0), the *[ChipSet](/docs/pcx86/chipset/)* component is queried for the amount of RAM indicated by SW1/SW2. * *test* (optional; default is true) diff --git a/modules/pcx86/README.md b/modules/pcx86/README.md index 004f3dcb2..a387c4796 100644 --- a/modules/pcx86/README.md +++ b/modules/pcx86/README.md @@ -15,7 +15,7 @@ PCx86, the PCjs IBM PC emulation module, is the engine powering all our [IBM PC This module divides PC functionality into variety of logical and visual components. In general, each JavaScript file is responsible for a single component or set of related components (eg, -[chipset.js](lib/chipset.js)). Most components represent familiar PC devices, such as video cards, disk +[chipset.js](lib/chipset.js)). Most components represent familiar PC devices, such as video cards, disk drive controllers, etc. *Component* is an overloaded term, since **Component** is also the name of the shared base class in @@ -110,8 +110,8 @@ A BackTrack index is encoded as a 32-bit value with three parts: This represents a total of 31 bits, with bit 31 reserved. -For example, look at one of the last things a ROM does during boot: loading a disk sector into RAM. It will be up to the -disk controller (or DMA controller, if used) to create a BackTrack object representing the sector that was read, +For example, look at one of the last things a ROM does during boot: loading a disk sector into RAM. It will be up to +the drive controller (or DMA controller, if used) to create a BackTrack object representing the sector that was read, adding that object to the global BackTrack object array, and then associating the corresponding BackTrack index with the first byte of RAM where the sector was loaded. Subsequent bytes of RAM containing the rest of the sector will refer to the same BackTrack object, using BackTrack indexes containing offsets 1-511.