diff --git a/README.md b/README.md index 0ac2093e8..d9959598e 100644 --- a/README.md +++ b/README.md @@ -15,14 +15,14 @@ machines: PCjs Machines ============= -Welcome to PCjs, home of [PCx86](/docs/pcx86/), the original IBM PC simulation that runs in your web browser. It is +Welcome to PCjs, home of [PCx86](/pubs/pcx86/), the original IBM PC simulation that runs in your web browser. It is one of several JavaScript Machines in the [PCjs Project](https://github.com/jeffpar/pcjs), an open-source project that includes: -* [PCx86](/docs/pcx86/), an x86-based emulator of the [IBM PC and PC-compatibles](/devices/pcx86/machine/) +* [PCx86](/pubs/pcx86/), an x86-based emulator of the [IBM PC and PC-compatibles](/devices/pcx86/machine/) * [PC8080](/modules/pc8080/), an 8080 machine emulator (see [Space Invaders](/devices/pc8080/machine/invaders/) and the [VT100 Terminal](/devices/pc8080/machine/vt100/)) -* [C1Pjs](/docs/c1pjs/), an emulation of the 6502-based [Ohio Scientific Challenger 1P](/devices/c1p/) -* [PDPjs](/docs/pdpjs/), a set of machine emulation modules supporting the DEC [PDP-10](/devices/pdp10/machine/) and [PDP-11](/devices/pdp11/machine/) +* [C1Pjs](/pubs/c1pjs/), an emulation of the 6502-based [Ohio Scientific Challenger 1P](/devices/c1p/) +* [PDPjs](/pubs/pdpjs/), a set of machine emulation modules supporting the DEC [PDP-10](/devices/pdp10/machine/) and [PDP-11](/devices/pdp11/machine/) All PCjs machine simulations are written entirely in [JavaScript](/modules/). No Flash, Java or other plugins are required. Supported browsers include modern versions of Chrome, Safari, Firefox, Internet Explorer (v9.0 and up), Edge, @@ -30,17 +30,17 @@ and assorted mobile browsers. {% include machine.html id="ibm5150" %} -The [JavaScript Machine](/devices/pcx86/machine/5150/mda/64kb/) above uses [PCx86](/docs/pcx86/) configured with an Intel +The [JavaScript Machine](/devices/pcx86/machine/5150/mda/64kb/) above uses [PCx86](/pubs/pcx86/) configured with an Intel 8088 running at 4.77Mhz, with 64Kb of RAM and an IBM Monochrome Display Adapter. For more control, there are also [Control Panel](/devices/pcx86/machine/5150/mda/64kb/debugger/) and [Soft Keyboard](/devices/pcx86/machine/5150/mda/64kb/softkbd/) configurations, featuring the built-in PCx86 Debugger. For even greater control, build your own PC. The -[PCx86 Documentation](/docs/pcx86/) will help you get started. +[PCx86 Documentation](/pubs/pcx86/) will help you get started. PCx86 has steadily evolved to support more classic x86-based machines, including the IBM PC XT, the 80286-based IBM PC AT, and the 80386-based COMPAQ DeskPro 386. PCx86 fully supports the original machine ROMs, video cards, etc, and all machines run at their original speeds. -The goals of the [PCjs Project](/docs/about/) are to create fast, full-featured simulations of classic +The goals of the [PCjs Project](/pubs/about/) are to create fast, full-featured simulations of classic computer hardware, help people understand how these early machines worked, make it easy to experiment with different machine configurations, and provide a platform for running and analyzing old computer software. @@ -72,9 +72,9 @@ and [EGA Displays](/devices/pcx86/machine/5160/ega/640kb/array/). C1Pjs ----- -Below is the [OSI Challenger C1P](/docs/c1pjs/), another simulation in the PCjs Project. +Below is the [OSI Challenger C1P](/pubs/c1pjs/), another simulation in the PCjs Project. It simulates Ohio Scientific's 6502-based microcomputer, released in 1978. More details about this simulation -and the original machine are available in the [C1Pjs Documentation](/docs/c1pjs/). +and the original machine are available in the [C1Pjs Documentation](/pubs/c1pjs/). {% include machine.html id="demoC1P" %} @@ -87,7 +87,7 @@ Developer Notes The [PCjs repository](https://github.com/jeffpar/pcjs) on GitHub contains everything needed to run PCjs computer simulations. All the PCjs emulators run in any modern web browser, with or without a web server, -and examples are provided for both [local](/docs/pcx86/examples/) and [remote](http://www.pcjs.org/) operation. +and examples are provided for both [local](/pubs/pcx86/examples/) and [remote](http://www.pcjs.org/) operation. The project includes: @@ -103,7 +103,7 @@ JavaScript files to your browser will work. However, instructions for doing tha In fact, you can run PCjs simulations without a web server at all, using the "file:" protocol instead of "http:". However, most of the machine configurations require additional resource files (ROMs, disk images, etc), which are included in the project, but unless all the resource files are moved into a single directory (as they are in these -[Demos](/docs/pcx86/examples/)), your browser will probably be unable to load all of them, due to security restrictions. +[Demos](/pubs/pcx86/examples/)), your browser will probably be unable to load all of them, due to security restrictions. Using the bundled web server is the preferred solution. The project includes a large selection of disk images, and a powerful [DiskDump](modules/diskdump/) utility that @@ -411,7 +411,7 @@ specified page; e.g.: http://localhost:8088/?resume=0 -More information about the *resume* attribute is available in the [documentation](/docs/pcx86/computer/#attributes). +More information about the *resume* attribute is available in the [documentation](/pubs/pcx86/computer/#attributes). Updating PCjs ------------- @@ -469,8 +469,8 @@ See [LICENSE](/LICENSE) for details. More Information ---------------- -Learn more about the [PCjs Project](/docs/about/) and [PCx86](/docs/about/pcx86/). To -create your own PCx86 machines, see the [PCx86 Documentation](/docs/pcx86/) for details. +Learn more about the [PCjs Project](/pubs/about/) and [PCx86](/pubs/about/pcx86/). To +create your own PCx86 machines, see the [PCx86 Documentation](/pubs/pcx86/) for details. If you have questions or run into any problems, feel free to [tweet](http://twitter.com/jeffpar) or [email](mailto:Jeff@pcjs.org). 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 811ca4011..44f99d0ea 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/). +Here are some [Demos](/apps/pc/) of "ready-to-run" apps on [PCjs](/pubs/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-12-05-canvas-performance-and-contenteditable.md b/_posts/2014-12-05-canvas-performance-and-contenteditable.md index f4df0f7ff..449bf1b4d 100644 --- a/_posts/2014-12-05-canvas-performance-and-contenteditable.md +++ b/_posts/2014-12-05-canvas-performance-and-contenteditable.md @@ -6,7 +6,7 @@ category: HTML5 permalink: /blog/2014/12/05/ --- -From the beginning of the [JavaScript Machines](/docs/about/) Project, I've always used an HTML5 +From the beginning of the [JavaScript Machines](/pubs/about/) Project, I've always used an HTML5 [Canvas](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API) object for both machine output and input. It's the obvious choice for output, because the Canvas provides a 2D drawing API that's essential both for drawing bitmappped graphics and for faithfully rendering individual characters diff --git a/_posts/2016-02-08-super-bowl-winner-pcjs.md b/_posts/2016-02-08-super-bowl-winner-pcjs.md index 67d032fa8..df006eaed 100644 --- a/_posts/2016-02-08-super-bowl-winner-pcjs.md +++ b/_posts/2016-02-08-super-bowl-winner-pcjs.md @@ -10,9 +10,9 @@ two annoying problems with the [OS/2 FOOTBALL Boot Disk](/disks/pcx86/os2/misc/f and blank screens. A hard-error popup would occur when FOOTBALL tried to initialize a non-existent PRN device. To resolve that, PCjs -now provides basic parallel port emulation, in the form of a [ParallelPort](/docs/pcx86/parallel/) component that you +now provides basic parallel port emulation, in the form of a [ParallelPort](/pubs/pcx86/parallel/) component that you include in a machine XML file with the <parallel> element, in much the same way you include the -[SerialPort](/docs/pcx86/serial/) component with the <serial> element. This [Compaq DeskPro 386] +[SerialPort](/pubs/pcx86/serial/) component with the <serial> element. This [Compaq DeskPro 386] (/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/) machine used to run FOOTBALL has now been updated to include one parallel port. diff --git a/_posts/2016-02-17-saving-disks-and-machines.md b/_posts/2016-02-17-saving-disks-and-machines.md index 850d27c8a..0dfc7cd7d 100644 --- a/_posts/2016-02-17-saving-disks-and-machines.md +++ b/_posts/2016-02-17-saving-disks-and-machines.md @@ -115,7 +115,7 @@ Some notes: ``` -While the [PCx86 Documentation](/docs/pcx86/) explains how to create a *new* machine, by writing your own machine +While the [PCx86 Documentation](/pubs/pcx86/) explains how to create a *new* machine, by writing your own machine XML file and manually copying all the other pieces, the new **Save Machine** feature is the best way to save any *existing* IBM PC and embed it on any other website. diff --git a/_posts/2016-05-04-the-sharpening.md b/_posts/2016-05-04-the-sharpening.md index c584acb08..9795ebc53 100644 --- a/_posts/2016-05-04-the-sharpening.md +++ b/_posts/2016-05-04-the-sharpening.md @@ -46,7 +46,7 @@ All the browsers I've tested so far (Chrome, Firefox, and Safari) support a which eliminates much of the fuzziness that would occur when copying pixels from the lower-resolution *buffer* canvas to the higher-resolution *screen* canvas. -So I've added a new [Video](/docs/pcx86/video/) property named *smoothing* that can be set to "true" or "false", +So I've added a new [Video](/pubs/pcx86/video/) property named *smoothing* that can be set to "true" or "false", and I've set it to "false" for most machines in the project. If *smoothing* is not set, your browser continues to use its default interpolation method. @@ -66,7 +66,7 @@ while the right one does not. Aspect Ratio --- -The *smoothing* property joins another recent [Video](/docs/pcx86/video/) property, *aspect*, that was added in a +The *smoothing* property joins another recent [Video](/pubs/pcx86/video/) property, *aspect*, that was added in a [release](https://github.com/jeffpar/pcjs/releases/tag/v1.21.5) last month. To recap, aspect ratio is display width divided by display height, but the choice of aspect ratio is complicated by diff --git a/_posts/2016-08-19-connecting-an-ibm-pc-to-a-dec-vt100-terminal.md b/_posts/2016-08-19-connecting-an-ibm-pc-to-a-dec-vt100-terminal.md index 8d1f7c7e2..ea9cfd172 100644 --- a/_posts/2016-08-19-connecting-an-ibm-pc-to-a-dec-vt100-terminal.md +++ b/_posts/2016-08-19-connecting-an-ibm-pc-to-a-dec-vt100-terminal.md @@ -69,7 +69,7 @@ and then embed the machines in the post, each with a single line: {% include machine.html id="vt100" %} {% endraw %} -For people rolling their own web pages, [the basics](/docs/pcx86/) haven't changed, and adding a serial connection merely +For people rolling their own web pages, [the basics](/pubs/pcx86/) haven't changed, and adding a serial connection merely requires adding a *connection* property (eg, `connection:"com2->vt100.serialPort"`) to the *parms* parameter passed to the *embedPCx86()* interface. A similar property (eg, `connection:"serialPort->ibm5170.com2"`) must also be added to the *parms* passed to *embedPC8080()*. diff --git a/_posts/2017-08-11-dbase-iii-copy-protection-revisited.md b/_posts/2017-08-11-dbase-iii-copy-protection-revisited.md index 90df48017..ced5965ff 100644 --- a/_posts/2017-08-11-dbase-iii-copy-protection-revisited.md +++ b/_posts/2017-08-11-dbase-iii-copy-protection-revisited.md @@ -21,7 +21,7 @@ I have no recollection of how feasible I thought this challenge was, but I'm sur Perhaps my thinking was that, after all, it's just software, so how hard could it be. In any case, I apparently took the challenge very seriously, because I also made a lot of notes. -I recently found [those notes](/docs/personal/#dbase-iii-copy-protection), along with copies of the +I recently found [those notes](/pubs/personal/#dbase-iii-copy-protection), along with copies of the [dBASE III disks](/disks/pcx86/apps/other/dbase3/1.0/) used. Unfortunately, all the disks contained was my *patched* (unlocked) version of `DBASE.EXE`, and for the sake of a complete archive, I wanted the *unpatched* (locked) version as well. Fortunately, my patching notes also show all the original bytes, so I reproduced the original file by reversing diff --git a/apps/README.md b/apps/README.md index 960261397..035c2b87f 100644 --- a/apps/README.md +++ b/apps/README.md @@ -80,7 +80,7 @@ described by <file> entries in its [manifest](/apps/pcx86/1981/visicalc/ma Since this [manifest](/apps/pcx86/1981/visicalc/manifest.xml) also contains a <machine> entry, the default manifest stylesheet will automatically load and launch the associated [PCjs machine](/devices/pcx86/machine/5150/mda/64kb/machine.xml). The machine will boot or resume according -to its own <[computer](/docs/pcx86/computer/)> settings, unless the manifest overrides the machine's +to its own <[computer](/pubs/pcx86/computer/)> settings, unless the manifest overrides the machine's default state with its own *state* setting; eg: ```xml diff --git a/apps/c1p/README.md b/apps/c1p/README.md index f134a89a5..e8029e14a 100644 --- a/apps/c1p/README.md +++ b/apps/c1p/README.md @@ -7,7 +7,7 @@ permalink: /apps/c1p/ Challenger 1P Applications -------------------------- -[C1Pjs](/docs/c1pjs/) runs Challenger 1P (C1P) applications written in: +[C1Pjs](/pubs/c1pjs/) runs Challenger 1P (C1P) applications written in: - [BASIC](BASIC/) - [6502 Machine-Language](6502/) diff --git a/apps/pcx86/README.md b/apps/pcx86/README.md index 4c6fa623c..6a65d5652 100644 --- a/apps/pcx86/README.md +++ b/apps/pcx86/README.md @@ -1,7 +1,7 @@ IBM PC Application Demos ------------------------ -Below are selected [PCx86](/docs/about/pcx86/) demos of classic IBM PC applications. In many cases, +Below are selected [PCx86](/pubs/about/pcx86/) demos of classic IBM PC applications. In many cases, we've had to create our own "Demo Disks", because copies of the original distribution disks are difficult to find, and in some cases (e.g., [Executive Suite](/apps/pcx86/1982/esuite/)), the original disks were copy-protected, so we've been forced to use a "cracked" copy of the software instead. diff --git a/devices/c1p/machine/8kb/README.md b/devices/c1p/machine/8kb/README.md index 477086d34..327337c09 100644 --- a/devices/c1p/machine/8kb/README.md +++ b/devices/c1p/machine/8kb/README.md @@ -14,4 +14,4 @@ Here are some sample C1P Machine Configurations with 8Kb: * [8kb with Large Display w/Additional Software](all/) (with [Debugger](all/debugger/)) * [8kb "Server Array" Demo](array/) -See the [Documentation](/docs/c1pjs/) for details on the operation of C1Pjs. +See the [Documentation](/pubs/c1pjs/) for details on the operation of C1Pjs. diff --git a/devices/c1p/machine/README.md b/devices/c1p/machine/README.md index df1ef6ff6..ef5194ce1 100644 --- a/devices/c1p/machine/README.md +++ b/devices/c1p/machine/README.md @@ -15,7 +15,7 @@ Here are some sample C1P Machine Configurations: - [8kb "Server Array" Demo](8kb/array/) - [32kb with Diskette Support](32kb/) -See the [C1Pjs Documentation](/docs/c1pjs/) for operational details of the emulator. +See the [C1Pjs Documentation](/pubs/c1pjs/) for operational details of the emulator. Browse our collection of [Challenger 1P Applications](/apps/c1p/), which come in two flavors: diff --git a/devices/pc8080/panel/README.md b/devices/pc8080/panel/README.md index 167faf584..e3382e213 100644 --- a/devices/pc8080/panel/README.md +++ b/devices/pc8080/panel/README.md @@ -5,9 +5,9 @@ permalink: /devices/pc8080/panel/ --- 8080-Based Control Panels ---- +------------------------- -[Control Panels](/docs/pcx86/panel/) are XML files that define layouts for Debugger-related controls. +[Control Panels](/pubs/pcx86/panel/) are XML files that define layouts for Debugger-related controls. The following 8080-based control panel configuration files are currently available: diff --git a/devices/pcx86/README.md b/devices/pcx86/README.md index 2e4c34a7e..41f1fe639 100644 --- a/devices/pcx86/README.md +++ b/devices/pcx86/README.md @@ -14,22 +14,22 @@ All our [IBM PC Machines](machine/) are built from a collection of devices, incl * [ChipSets](chipset/) * [Control Panels](panel/) -* [CPUs](/docs/pcx86/cpu/) -* [Debugger](/docs/pcx86/debugger/) -* [Floppy Drive Controller](/docs/pcx86/fdc/) -* [Hard Drive Controller](/docs/pcx86/hdc/) +* [CPUs](/pubs/pcx86/cpu/) +* [Debugger](/pubs/pcx86/debugger/) +* [Floppy Drive Controller](/pubs/pcx86/fdc/) +* [Hard Drive Controller](/pubs/pcx86/hdc/) * [Keyboard](keyboard/) * [Machines](machine/) -* [Mouse](/docs/pcx86/mouse/) -* [RAM](/docs/pcx86/ram/) +* [Mouse](/pubs/pcx86/mouse/) +* [RAM](/pubs/pcx86/ram/) * [ROMs](rom/) -* [Parallel Port](/docs/pcx86/parallel/) -* [Serial Port](/docs/pcx86/serial/) +* [Parallel Port](/pubs/pcx86/parallel/) +* [Serial Port](/pubs/pcx86/serial/) * [Video Adapters](video/) Each of those devices can be configured in multiple ways, and some support external UI controls. -For example, the IBM PC *[Keyboard](/docs/pcx86/keyboard/)* component supports different keyboard models +For example, the IBM PC *[Keyboard](/pubs/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. @@ -59,7 +59,7 @@ example: ``` 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 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, +*[Video](/pubs/pcx86/video/)* ([XML](/devices/pcx86/video/ibm/mda/ibm-mda.xml)), +*[Floppy Drive Controller](/pubs/pcx86/fdc/)* ([XML](/disks/pcx86/compiled/samples.xml)), and +*[Keyboard](/pubs/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 3084bfc52..2008c32c5 100644 --- a/devices/pcx86/chipset/README.md +++ b/devices/pcx86/chipset/README.md @@ -5,16 +5,16 @@ permalink: /devices/pcx86/chipset/ --- IBM PC ChipSet Configurations ---- +----------------------------- -The following predefined *[ChipSet](/docs/pcx86/chipset/)* XML configurations are currently available: +The following predefined *[ChipSet](/pubs/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.: +However, most machines use their own *[ChipSet](/pubs/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 34c352026..5d2e12052 100644 --- a/devices/pcx86/keyboard/README.md +++ b/devices/pcx86/keyboard/README.md @@ -5,11 +5,11 @@ permalink: /devices/pcx86/keyboard/ --- IBM PC Keyboard Devices ---- +----------------------- ### Keyboard Configuration Files -The easiest way for a machine to add a *[Keyboard](/docs/pcx86/keyboard/)* component to its XML configuration file +The easiest way for a machine to add a *[Keyboard](/pubs/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/5170/README.md b/devices/pcx86/machine/5170/README.md index a991c1354..f8a268e71 100644 --- a/devices/pcx86/machine/5170/README.md +++ b/devices/pcx86/machine/5170/README.md @@ -5,7 +5,7 @@ permalink: /devices/pcx86/machine/5170/ --- IBM PC AT (Model 5170) Machines ---- +------------------------------- Our IBM PC AT 5170 configurations include: @@ -67,7 +67,7 @@ First and foremost, there is a **Display Switch** near the battery connector tha front of your system unit" if you have a CGA that is your only (or primary) display adapter, or "toward the back of your system unit" if you're using an MDA as your only (or primary) display. -In PCjs, the 5170 **Display Switch** is configured with the <[ChipSet](/docs/pcx86/chipset/)> *monitor* +In PCjs, the 5170 **Display Switch** is configured with the <[ChipSet](/pubs/pcx86/chipset/)> *monitor* property, which you can set to either "mono" (aka "mda") or "color" (aka "cga"). Unlike the Model 5150/5160 DIP switches, there is no UI for this switch, so once the machine has been created, it cannot be changed by the user. @@ -79,7 +79,7 @@ in the ROM; it defaults to UNINSTALLED and stays UNINSTALLED, since no UI or con provided. The rest of a 5170 machine's configuration is normally handled through CMOS settings, such as the number and type -of floppy diskette drives, which can be configured with the <[ChipSet](/docs/pcx86/chipset/)> *floppies* property; +of floppy diskette drives, which can be configured with the <[ChipSet](/pubs/pcx86/chipset/)> *floppies* property; e.g.: ```xml diff --git a/devices/pcx86/panel/README.md b/devices/pcx86/panel/README.md index 5e3a01e06..efa15068e 100644 --- a/devices/pcx86/panel/README.md +++ b/devices/pcx86/panel/README.md @@ -5,13 +5,13 @@ permalink: /devices/pcx86/panel/ --- IBM PC Control Panels ---- +--------------------- -A *[Control Panel](/docs/pcx86/panel/)* is a collection of machine controls (e.g., buttons, register values, etc) -bound to the *[Computer](/docs/pcx86/computer/)*, *[CPU](/docs/pcx86/cpu/)*, *[Debugger](/docs/pcx86/debugger/)*, -and *[Keyboard](/docs/pcx86/keyboard/)* components and usually defined in a separate XML file. +A *[Control Panel](/pubs/pcx86/panel/)* is a collection of machine controls (e.g., buttons, register values, etc) +bound to the *[Computer](/pubs/pcx86/computer/)*, *[CPU](/pubs/pcx86/cpu/)*, *[Debugger](/pubs/pcx86/debugger/)*, +and *[Keyboard](/pubs/pcx86/keyboard/)* components and usually defined in a separate XML file. -The following predefined IBM PC *[Control Panel](/docs/pcx86/panel/)* XML configuration are currently available: +The following predefined IBM PC *[Control Panel](/pubs/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) diff --git a/devices/pcx86/rom/README.md b/devices/pcx86/rom/README.md index 3d9d9a6f9..43e66ff43 100644 --- a/devices/pcx86/rom/README.md +++ b/devices/pcx86/rom/README.md @@ -7,7 +7,7 @@ permalink: /devices/pcx86/rom/ IBM PC ROMs --- -ROMs are added to machines by including one *[ROM](/docs/pcx86/rom/)* component in the machine XML configuration file +ROMs are added to machines by including one *[ROM](/pubs/pcx86/rom/)* component in the machine XML configuration file for each ROM in the machine; eg: ```xml diff --git a/devices/pcx86/video/README.md b/devices/pcx86/video/README.md index 5333b103a..98c1d35ab 100644 --- a/devices/pcx86/video/README.md +++ b/devices/pcx86/video/README.md @@ -5,9 +5,9 @@ permalink: /devices/pcx86/video/ --- IBM PC Video Adapters ---- +--------------------- -Video adapters are added to machines by including a *[Video](/docs/pcx86/video/)* component in the machine XML +Video adapters are added to machines by including a *[Video](/pubs/pcx86/video/)* component in the machine XML configuration file. See the following [IBM PC Video Configurations](ibm/): diff --git a/devices/pcx86/video/cdp/cga/README.md b/devices/pcx86/video/cdp/cga/README.md index f2573f039..b38a986a7 100644 --- a/devices/pcx86/video/cdp/cga/README.md +++ b/devices/pcx86/video/cdp/cga/README.md @@ -5,7 +5,7 @@ permalink: /devices/pcx86/video/cdp/cga/ --- Columbia Data Products Color Graphics Adapter (CGA) ---- +--------------------------------------------------- We don't have a Columbia Data Products CGA card, so we cannot say to what extent it may differ from an IBM CGA card (if at all). All we have is what's believed to be a copy of their CGA character ROM, @@ -13,7 +13,7 @@ and it is *identical* the CGA portion of the [IBM CGA](/devices/pcx86/video/ibm/ ### Columbia Data Products CGA Configurations -The easiest way for a machine to include an CGA *[Video](/docs/pcx86/video/)* component in its XML configuration file +The easiest way for a machine to include an CGA *[Video](/pubs/pcx86/video/)* component in its XML configuration file is to reference the project's predefined CGA configuration file, using the *ref* attribute; eg: ```xml diff --git a/devices/pcx86/video/ibm/cga/README.md b/devices/pcx86/video/ibm/cga/README.md index 44a4f77b6..19547dcf9 100644 --- a/devices/pcx86/video/ibm/cga/README.md +++ b/devices/pcx86/video/ibm/cga/README.md @@ -5,11 +5,11 @@ permalink: /devices/pcx86/video/ibm/cga/ --- IBM Color Graphics Adapter (CGA) ---- +-------------------------------- ### IBM CGA Configurations -The easiest way for a machine to include an CGA *[Video](/docs/pcx86/video/)* component in its XML configuration file +The easiest way for a machine to include an CGA *[Video](/pubs/pcx86/video/)* component in its XML configuration file is to reference one of the project's predefined CGA configuration files, using the *ref* attribute; eg: ```xml diff --git a/devices/pcx86/video/ibm/ega/README.md b/devices/pcx86/video/ibm/ega/README.md index ebd7a826b..e603f26f5 100644 --- a/devices/pcx86/video/ibm/ega/README.md +++ b/devices/pcx86/video/ibm/ega/README.md @@ -5,11 +5,11 @@ permalink: /devices/pcx86/video/ibm/ega/ --- IBM Enhanced Graphics Adapter (EGA) ---- +----------------------------------- ### IBM EGA Configurations -The easiest way for a machine to include an EGA *[Video](/docs/pcx86/video/)* component in its XML configuration file +The easiest way for a machine to include an EGA *[Video](/pubs/pcx86/video/)* component in its XML configuration file is to reference one of the project's predefined EGA configuration files, using the *ref* attribute; eg: ```xml diff --git a/devices/pcx86/video/ibm/mda/README.md b/devices/pcx86/video/ibm/mda/README.md index 4b31cfc1f..c2c4b7fd5 100644 --- a/devices/pcx86/video/ibm/mda/README.md +++ b/devices/pcx86/video/ibm/mda/README.md @@ -5,11 +5,11 @@ permalink: /devices/pcx86/video/ibm/mda/ --- IBM Monochrome Display Adapter (MDA) ---- +------------------------------------ ### IBM MDA Configurations -The easiest way for a machine to include an MDA *[Video](/docs/pcx86/video/)* component in its XML configuration file +The easiest way for a machine to include an MDA *[Video](/pubs/pcx86/video/)* component in its XML configuration file is to reference one of the project's predefined MDA configuration files, using the *ref* attribute; eg: ```xml diff --git a/devices/pcx86/video/ibm/vga/README.md b/devices/pcx86/video/ibm/vga/README.md index acea87cc3..2f8de7398 100644 --- a/devices/pcx86/video/ibm/vga/README.md +++ b/devices/pcx86/video/ibm/vga/README.md @@ -5,11 +5,11 @@ permalink: /devices/pcx86/video/ibm/vga/ --- IBM Video Graphics Array (VGA) ---- +------------------------------ ### IBM VGA Configurations -The easiest way for a machine to include an VGA *[Video](/docs/pcx86/video/)* component in its XML configuration file +The easiest way for a machine to include an VGA *[Video](/pubs/pcx86/video/)* component in its XML configuration file is to reference one of the project's VGA configuration files, using the *ref* attribute; eg: ```xml diff --git a/disks/README.md b/disks/README.md index 214a40e59..c293a6382 100644 --- a/disks/README.md +++ b/disks/README.md @@ -41,5 +41,5 @@ For example: The [PCjs Node Web Server](/server.js) also generates "onclick" handlers for links to **JSON** disk images that automatically invoke the API for you. -See [Creating PCx86-Compatible Disk Images](/docs/pcx86/#creating-pcx86-compatible-disk-images) -in the [PCx86 Documentation](/docs/pcx86/) for more information about supported disks and formats. +See [Creating PCx86-Compatible Disk Images](/pubs/pcx86/#creating-pcx86-compatible-disk-images) +in the [PCx86 Documentation](/pubs/pcx86/) for more information about supported disks and formats. diff --git a/disks/pcx86/README.md b/disks/pcx86/README.md index 1776b2cb7..11d647e9b 100644 --- a/disks/pcx86/README.md +++ b/disks/pcx86/README.md @@ -81,14 +81,14 @@ more detail, along with a live demonstration of the software, but that's not yet --- 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](/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 Drive Controller (FDC)](/docs/pcx86/fdc/)* configuration file, +A Disk Manifest can then be added to a *[Floppy Drive Controller (FDC)](/pubs/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/disks/pcx86/apps/other/dbase3/1.0/README.md b/disks/pcx86/apps/other/dbase3/1.0/README.md index 830d93477..4eb56ad1a 100644 --- a/disks/pcx86/apps/other/dbase3/1.0/README.md +++ b/disks/pcx86/apps/other/dbase3/1.0/README.md @@ -14,7 +14,7 @@ Two of the PCjs disks shown below: are from our private collection and should be exact copies of the original dBASE III v1.0 distribution disks, with the exception of `DBASE.EXE`, which was patched to eliminate copy-protection checks. Details of that patch are available -in our collection of [Personal Documents of Dubious Historical Interest](/docs/personal/#dbase-iii-copy-protection), +in our collection of [Personal Documents of Dubious Historical Interest](/pubs/personal/#dbase-iii-copy-protection), along with this [blog post](/blog/2017/08/11/). Also, for completeness, the original `DBASE.EXE` has been recreated by "unpatching" it and saving it on the diff --git a/disks/pcx86/dos/microsoft/4.0M/README.md b/disks/pcx86/dos/microsoft/4.0M/README.md index af476693c..013db8edf 100644 --- a/disks/pcx86/dos/microsoft/4.0M/README.md +++ b/disks/pcx86/dos/microsoft/4.0M/README.md @@ -24,7 +24,7 @@ Multitasking MS-DOS 4.00 These disk images contain the first unearthed copy of Microsoft's "multitasking" version of MS-DOS since its *extremely* limited release around late 1985 or early 1986. They were were discovered by the -[PCjs Project](/docs/about/) in March 2013. More information is available at +[PCjs Project](/pubs/about/) in March 2013. More information is available at [Wikipedia](http://en.wikipedia.org/wiki/Multi-tasking_MS-DOS_4.0), [OS/2 Museum](http://www.os2museum.com/wp/?p=1769), and [MSDN Blogs](http://blogs.msdn.com/b/larryosterman/archive/2004/03/22/94209.aspx). diff --git a/docs/README.md b/docs/README.md index f7822080b..7ca970722 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,55 +1 @@ ---- -layout: page -title: Documentation -menu_title: Docs -menu_order: 7 -permalink: /docs/ ---- - -Documentation -------------- - -To learn how to create and configure PCjs machines, here's what the project has so far: - -* [C1Pjs](/docs/c1pjs/) -* [PCx86](/docs/pcx86/) - -For general historical interest, the project includes a [Publication Archive](/pubs/) that covers: - -* [IBM PCs and Compatibles](/pubs/pc/) -* [Digital Equipment Corporation (DEC)](/pubs/dec/) -* [Ohio Scientific's 6502-based Challenger 1P](/pubs/c1p/) - -For example, the [IBM PCs and Compatibles](/pubs/pc/) section of the [Publication Archive](/pubs/) includes: - -* [CPU Documents](/pubs/pc/reference/intel/) -* [Datasheets](/pubs/pc/datasheets/) -* [Magazines](/pubs/pc/magazines/) -* [Programming Guides](/pubs/pc/programming/) -* [Reference Manuals](/pubs/pc/reference/) -* [Software User and Development Guides](/pubs/pc/software/) (eg, [DOS](/pubs/pc/software/dos/), [OS/2](/pubs/pc/software/os2/), [Windows](/pubs/pc/software/windows/)) - -{% if site.developer %} - -Eventually, the project would also like to provide summaries of all supported CPU instructions; e.g.: - -* [x86 Instructions](/docs/x86/) -* [6502 Instructions](/docs/6502/) - -{% endif %} - -Finally, here's an eclectic collection of personal documents, ranging from early PC debugging notes to old program -listings and more: - -* [Personal Documents of Dubious Historical Interest](/docs/personal/) - ---- - -[8088 CPU](/pubs/pc/datasheets/) -[Byte Magazine](/pubs/pc/magazines/byte/) -[Microsoft Systems Journal](/pubs/pc/magazines/msj/) -[PC Tech Journal](/pubs/pc/magazines/pctj/) -[Graphics for the IBM PC](/pubs/pc/programming/Graphics_for_the_IBM_PC/) -[IBM 5150 Technical Reference (August 1981)](/pubs/pc/reference/ibm/) -[80286 and 80287 Programmer's Reference](/pubs/pc/reference/intel/) -[IBM PC Disk Operating System v1.00](/pubs/pc/software/) +Project documentation has been consolidated into /pubs diff --git a/modules/README.md b/modules/README.md index 1adc427f9..7715f7e4d 100644 --- a/modules/README.md +++ b/modules/README.md @@ -15,7 +15,7 @@ The project currently includes these emulation modules: * [C1Pjs](c1pjs/): 6502 emulation module for the [Challenger 1P](/devices/c1p/) * [PCx86](pcx86/): x86 emulation module for [IBM PC machines](/devices/pcx86/) * [PC8080](pc8080/): 8080 emulation module for [8080-based machines](/devices/pc8080/) -* [PDPjs](/docs/pdpjs/): emulation modules for [PDP-10](pdp10/) and [PDP-11](pdp11/) machines +* [PDPjs](/pubs/pdpjs/): emulation modules for [PDP-10](pdp10/) and [PDP-11](pdp11/) machines along with variety of Node support modules, such as: diff --git a/modules/c1pjs/README.md b/modules/c1pjs/README.md index a8ed4b168..70750e522 100644 --- a/modules/c1pjs/README.md +++ b/modules/c1pjs/README.md @@ -9,7 +9,7 @@ Challenger 1P Emulation Module (C1Pjs) Overview --- -C1Pjs is our 6502-based machine emulation module for the [Ohio Scientific Challenger 1P](/docs/c1pjs/). +C1Pjs is our 6502-based machine emulation module for the [Ohio Scientific Challenger 1P](/pubs/c1pjs/). C1Pjs is comprised of the following non-shared components, as listed in [package.json](../../package.json) (see the *c1pJSFiles* property): diff --git a/docs/6502/README.md b/pubs/6502/README.md similarity index 79% rename from docs/6502/README.md rename to pubs/6502/README.md index 45ecb73ef..5edc177bf 100644 --- a/docs/6502/README.md +++ b/pubs/6502/README.md @@ -1,7 +1,7 @@ --- layout: page title: 6502 Documentation -permalink: /docs/6502/ +permalink: /pubs/6502/ --- Placeholder for future 6502 documentation. diff --git a/pubs/README.md b/pubs/README.md index e3150267e..30871b626 100644 --- a/pubs/README.md +++ b/pubs/README.md @@ -1,32 +1,54 @@ --- layout: page -title: Publication Archive +title: Documentation and Publication Archive +menu_title: Docs +menu_order: 7 permalink: /pubs/ +redirect_from: + - /docs/ --- -Publication Archive +Documentation and Publication Archive +------------------------------------- + +Preliminary documentation is available for the following PCjs machines: + +* [C1Pjs](/pubs/c1pjs/) +* [PCx86](/pubs/pcx86/) + +For general historical interest, the project includes a [Publication Archive](/pubs/) that covers: + +* [IBM PCs and Compatibles](/pubs/pc/) + * [CPU Documents](/pubs/pc/reference/intel/) + * [Datasheets](/pubs/pc/datasheets/) + * [Magazines](/pubs/pc/magazines/) + * [Programming Guides](/pubs/pc/programming/) + * [Reference Manuals](/pubs/pc/reference/) + * [Software User and Development Guides](/pubs/pc/software/) (eg, [DOS](/pubs/pc/software/dos/), [OS/2](/pubs/pc/software/os2/), [Windows](/pubs/pc/software/windows/)) +* [Digital Equipment Corporation (DEC)](/pubs/dec/) + * [PDP-11](/pubs/dec/pdp11/) + * [VT100](/pubs/dec/vt100/) +* [Ohio Scientific's 6502-based Challenger 1P](/pubs/c1p/) + * [Datasheets](/pubs/c1p/datasheets/) + * [Programming Guides/Samples](/pubs/c1p/programming/) + * [Reference Manuals](/pubs/c1p/techref/) + +{% if site.developer %} + +Eventually, the project may also provide summaries of all supported CPU instructions; e.g.: + +* [x86 Instructions](/pubs/x86/) +* [6502 Instructions](/pubs/6502/) + +{% endif %} + +Finally, here's an eclectic collection of personal documents, ranging from early PC debugging notes to old program +listings and more: + +* [Personal Documents of Dubious Historical Interest](/pubs/personal/) + --- -[IBM PCs and Compatibles](/pubs/pc/) - -* [CPU Documents](/pubs/pc/reference/intel/) -* [Datasheets](/pubs/pc/datasheets/) -* [Magazines](/pubs/pc/magazines/) -* [Programming Guides](/pubs/pc/programming/) -* [Reference Manuals](/pubs/pc/reference/) -* [Software User and Development Guides](/pubs/pc/software/) (eg, [DOS](/pubs/pc/software/dos/), [OS/2](/pubs/pc/software/os2/), [Windows](/pubs/pc/software/windows/)) - -[Digital Equipment Corporation (DEC)](/pubs/dec/) - -* [PDP-11](/pubs/dec/pdp11/) -* [VT100](/pubs/dec/vt100/) - -[Ohio Scientific's 6502-based Challenger 1P](/pubs/c1p/) - -* [Datasheets](/pubs/c1p/datasheets/) -* [Programming Guides/Samples](/pubs/c1p/programming/) -* [Reference Manuals](/pubs/c1p/techref/) - [8088 CPU](pc/datasheets/) [Byte Magazine](pc/magazines/byte/) [Microsoft Systems Journal](pc/magazines/msj/) diff --git a/docs/about/README.md b/pubs/about/README.md similarity index 91% rename from docs/about/README.md rename to pubs/about/README.md index e3f9da38e..42c5f04cd 100644 --- a/docs/about/README.md +++ b/pubs/about/README.md @@ -3,7 +3,7 @@ layout: page title: About PCjs menu_title: About menu_order: 9 -permalink: /docs/about/ +permalink: /pubs/about/ --- ## About PCjs @@ -19,11 +19,11 @@ configurations, and provide a platform for running and analyzing old computer so The simulations are written entirely in JavaScript and run well in a variety of web browsers, on both desktop and mobile devices. Machines are created with simple XML files that define a set of machine components, along with the features that each component should enable. More details about machine definitions and component -capabilities can be found in the [Documentation](/docs/). +capabilities can be found in the [Documentation](/pubs/). ### Simulating the Challenger 1P -The first PCjs simulation was [C1Pjs](/docs/c1pjs/), which emulates the +The first PCjs simulation was [C1Pjs](/pubs/c1pjs/), which emulates the Challenger 1P, a 6502-based microcomputer introduced by Ohio Scientific in 1978. C1Pjs v1.0 was released in July 2012. More information about the first release of C1Pjs was [posted](http://osiweb.org/osiforum/viewtopic.php?f=3&t=103) on the @@ -31,16 +31,16 @@ C1Pjs v1.0 was released in July 2012. More information about the first release ### Simulating the IBM PC -The next PCjs simulation was [PCx86](/docs/about/pcx86/), which emulates the original IBM PC, IBM PC XT, +The next PCjs simulation was [PCx86](/pubs/about/pcx86/), which emulates the original IBM PC, IBM PC XT, and IBM PC AT. PCx86 v1.0 was released in late 2012. Browse the source code [here](/modules/pcx86/) or on [GitHub](https://github.com/jeffpar/pcjs). -[PCx86](/docs/about/pcx86/) emulates the Intel 8088, 80186, 80286 and 80386 CPUs, as well as IBM Monochrome Display +[PCx86](/pubs/about/pcx86/) emulates the Intel 8088, 80186, 80286 and 80386 CPUs, as well as IBM Monochrome Display Adapter (MDA), Color Graphics Adapter (CGA), Enhanced Graphics Adapter (EGA), and Video Graphics Array (VGA) video cards, along with assorted motherboard and expansion bus components. It also includes an optional -[Debugger](/docs/pcx86/debugger/) and a user-configurable [Control Panel](/docs/pcx86/panel/). +[Debugger](/pubs/pcx86/debugger/) and a user-configurable [Control Panel](/pubs/pcx86/panel/). -Read [About PCx86](/docs/about/pcx86/) to learn more about its history, features, and upcoming improvements. +Read [About PCx86](/pubs/about/pcx86/) to learn more about its history, features, and upcoming improvements. ### Migrating to Node diff --git a/docs/about/pcx86/README.md b/pubs/about/pcx86/README.md similarity index 92% rename from docs/about/pcx86/README.md rename to pubs/about/pcx86/README.md index 79765a301..4bce23f9c 100644 --- a/docs/about/pcx86/README.md +++ b/pubs/about/pcx86/README.md @@ -1,7 +1,7 @@ --- layout: page title: About PCx86 -permalink: /docs/about/pcx86/ +permalink: /pubs/about/pcx86/ redirect_from: - /pc/ - /pcjs/ @@ -24,7 +24,7 @@ demo of multiple monitor support, and [IBM PC XT "Server Array"](/devices/pcx86/ + Build your own IBM PC, PC XT, and PC AT simulations using simple XML machine configuration files. You decide how much RAM you want, how many disk drives, which disk images to include (and which should be pre-loaded), what kind of video adapter (MDA, CGA, EGA or VGA), serial ports, mouse, and more. See the -[Documentation](/docs/pcx86/) for details. +[Documentation](/pubs/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 drive controller, @@ -37,9 +37,9 @@ be specified, and in some cases, even specific CPU *steppings* (including specif only 8087 support is complete at this point. + The modular design allows you to specify which components to enable, and which external controls -to display for each component. You can choose the size of the display window created by the [Video](/docs/pcx86/video/) -component, add **Halt** or **Speed** buttons to the [CPU](/docs/pcx86/cpu/) component, display clickable "DIP Switches" -for the [Chipset](/docs/pcx86/chipset/) component, or even design your own [Control Panel](/docs/pcx86/panel/). +to display for each component. You can choose the size of the display window created by the [Video](/pubs/pcx86/video/) +component, add **Halt** or **Speed** buttons to the [CPU](/pubs/pcx86/cpu/) component, display clickable "DIP Switches" +for the [Chipset](/pubs/pcx86/chipset/) component, or even design your own [Control Panel](/pubs/pcx86/panel/). + The UI includes a responsive design that tailors itself to your browser and device, and support for touch events and soft keyboards means you get the best possible emulation experience -- better than any other browser-based @@ -47,18 +47,18 @@ emulator currently available. It almost feels like your DOS and Windows mouse-b to work with your iPad or iPhone -- almost. Please note, however, that some mobile devices provide better support than others. -+ A fully-integrated [Debugger](/docs/pcx86/debugger/) is available. Disassemble code, set breakpoints on ++ A fully-integrated [Debugger](/pubs/pcx86/debugger/) is available. Disassemble code, set breakpoints on memory write/read/execution addresses, dump and edit memory, dump disk sectors, enable/disable categories of diagnostic messages, and view instruction history, cycle counts and more. The Debugger does not rely on CPU breakpoint instructions or the trace flag, and does not alter the machine state in any way, allowing you to debug anything, including 8086 debuggers. -+ Machines created with the [Computer](/docs/pcx86/computer/) *resume* property set will save their entire machine ++ Machines created with the [Computer](/pubs/pcx86/computer/) *resume* property set will save their entire machine state using your browser's local storage, so that any changes are preserved when your browser closes, including disk modifications. Any files you create or modify *inside* the machine will still be there when you return. TIP: To restore a diskette's original contents, simply press the "Download" button again. -+ Machine states can also be dumped (using the built-in [Debugger](/docs/pcx86/debugger/)), saved as JSON files, and ++ Machine states can also be dumped (using the built-in [Debugger](/pubs/pcx86/debugger/)), saved as JSON files, and pre-loaded into a machine, bypassing the normal boot process. You can even combine a pre-defined state with the "resume" feature, preserving any changes you make to the machine's original state. @@ -112,8 +112,8 @@ for embedding C1Pjs and PCx86 machine files in Markdown documents and automatica files into "index.html" web pages. + v1.11 improved the *embedPC()* and *embedC1P()* functions, so now you can embed XML machine configuration files -that reference other configuration files, such as an external [Keyboard](/docs/pcx86/keyboard/) or -[Control Panel](/docs/pcx86/panel/) XML layout. It does this by building the entire XML configuration internally, +that reference other configuration files, such as an external [Keyboard](/pubs/pcx86/keyboard/) or +[Control Panel](/pubs/pcx86/panel/) XML layout. It does this by building the entire XML configuration internally, rather than relying on XSLT's *document()* function, which doesn't seem to work in all JavaScript XSLT processors. + v1.10 fixed embedding in Internet Explorer 11 (Microsoft removed "MSIE" from their default user-agent string). @@ -125,7 +125,7 @@ machines that include a soft-keyboard. + v1.06c added support for user-defined diskette images. Select "Remote Disk" from the diskette list, click "Download", and enter a URL at the prompt. See **Creating PCx86-Compatible Disk Images** in the -[PCx86 Documentation](/docs/pcx86/) for more information about supported disk images. +[PCx86 Documentation](/pubs/pcx86/) for more information about supported disk images. + v1.05b added support for webkitAudioContext, bringing your simulated IBM PC's speaker to life. Relive the thrill of running MUSIC.BAS and listening to those classic tunes. *Sound support is still experimental*. diff --git a/docs/c1pjs/README.md b/pubs/c1pjs/README.md similarity index 99% rename from docs/c1pjs/README.md rename to pubs/c1pjs/README.md index d9b664059..1913b3bd9 100644 --- a/docs/c1pjs/README.md +++ b/pubs/c1pjs/README.md @@ -1,7 +1,7 @@ --- layout: page title: C1Pjs Documentation -permalink: /docs/c1pjs/ +permalink: /pubs/c1pjs/ machines: - id: c1p8kb type: c1p-dbg diff --git a/docs/c1pjs/embed/README.md b/pubs/c1pjs/embed/README.md similarity index 99% rename from docs/c1pjs/embed/README.md rename to pubs/c1pjs/embed/README.md index 5d0382295..2cafd3341 100644 --- a/docs/c1pjs/embed/README.md +++ b/pubs/c1pjs/embed/README.md @@ -1,7 +1,7 @@ --- layout: page title: Embedding The C1Pjs Simulator -permalink: /docs/c1pjs/embed/ +permalink: /pubs/c1pjs/embed/ machines: - id: c1p8kb type: c1p diff --git a/pubs/dec/pdp10/README.md b/pubs/dec/pdp10/README.md index 1831ba509..e29dd9255 100644 --- a/pubs/dec/pdp10/README.md +++ b/pubs/dec/pdp10/README.md @@ -7,7 +7,7 @@ permalink: /pubs/dec/pdp10/ PDP-10 Publications ------------------- -This page summarizes PDP-10 documentation that was useful in creating [PDPjs](/docs/pdpjs/). In most cases, +This page summarizes PDP-10 documentation that was useful in creating [PDPjs](/pubs/pdpjs/). In most cases, these documents came from the PDF Document Archive at [bitsavers.org](http://bitsavers.org), in the [/pdf/dec/pdp10/](http://bitsavers.org/pdf/dec/pdp10/) directory. If a PDF was not searchable, it was "OCR'ed" before being archived below. diff --git a/docs/dec/pdp11/unix/README.md b/pubs/dec/pdp11/unix/README.md similarity index 100% rename from docs/dec/pdp11/unix/README.md rename to pubs/dec/pdp11/unix/README.md diff --git a/pubs/pc/reference/intel/8086/README.md b/pubs/pc/reference/intel/8086/README.md index bd18332d9..0e6821a3a 100644 --- a/pubs/pc/reference/intel/8086/README.md +++ b/pubs/pc/reference/intel/8086/README.md @@ -5,13 +5,13 @@ permalink: /pubs/pc/reference/intel/8086/ --- Intel 8086/8088 CPU Information ---- +------------------------------- We do not have any official Intel documentation of 8086/8088 errata, but the following are well-known "features" of those CPUs. 8086 Errata ---- +----------- ### Interrupts Following MOV SS,xxx and POP SS Instructions May Corrupt Memory @@ -54,7 +54,7 @@ If you're not sure your assembler will output the `REP` and `ES:` overrides in t generate the override bytes manually, using **DB** or a similar assembler directive. 8086 Undocumented Instructions ---- +------------------------------ Some of the following information is courtesy of the [OS/2 Museum](http://www.os2museum.com/wp/undocumented-8086-opcodes/). @@ -98,17 +98,17 @@ On the 8086/8088/80186/80188, values 0-3 were treated the same as values 4-7, an Starting with the 80186, opcodes 0xC0 and 0xC1 were reused for new shift and rotate instruction groups, and opcodes 0xC8 and 0xC9 became the `ENTER` and `LEAVE` instructions. -### [AAM](/docs/x86/ops/AAM/) (0xD4) +### [AAM](/pubs/x86/ops/AAM/) (0xD4) While AAM is documented, it has undocumented features (eg, its ability to divide by values other than 10, -and its effect on the flags). See the [AAM](/docs/x86/ops/AAM/) instruction for details. +and its effect on the flags). See the [AAM](/pubs/x86/ops/AAM/) instruction for details. -### [AAD](/docs/x86/ops/AAD/) (0xD5) +### [AAD](/pubs/x86/ops/AAD/) (0xD5) While AAD is documented, it has undocumented features (eg, its ability to multiply by values other than 10, -and its effect on the flags). See the [AAD](/docs/x86/ops/AAD/) instruction for details. +and its effect on the flags). See the [AAD](/pubs/x86/ops/AAD/) instruction for details. -### [SALC](/docs/x86/ops/SALC/) (0xD6) +### [SALC](/pubs/x86/ops/SALC/) (0xD6) Performs an operation equivalent to `SBB AL,AL`, but without modifying any flags. In other words, AL will be set to 0xFF or 0x00, depending on whether CF is set or clear. This instruction exists on all later x86 CPUs, but for some @@ -119,9 +119,9 @@ reason, it has never been documented. Also known as **SETALC**. It is believed that 0xF1 decodes identically to 0xF0 (the `LOCK` prefix). On newer processors, 0xF1 is an undocumented instruction usually called `ICEBP` or `INT1`. See the -[ICEBP](/docs/x86/ops/ICEBP/) instruction for details. +[ICEBP](/pubs/x86/ops/ICEBP/) instruction for details. Assorted Publications ---- +--------------------- * TBD diff --git a/docs/pcx86/README.md b/pubs/pcx86/README.md similarity index 99% rename from docs/pcx86/README.md rename to pubs/pcx86/README.md index c604ffecd..32c3e2b6d 100644 --- a/docs/pcx86/README.md +++ b/pubs/pcx86/README.md @@ -1,7 +1,7 @@ --- layout: page title: PCx86 Documentation -permalink: /docs/pcx86/ +permalink: /pubs/pcx86/ redirect_from: - /docs/pcjs/ machines: @@ -14,7 +14,7 @@ machines: PCx86 Documentation ------------------- -[PCx86](/docs/about/pcx86/) is a full-featured [IBM PC and PC-compatible](/devices/pcx86/machine/) emulator written +[PCx86](/pubs/about/pcx86/) is a full-featured [IBM PC and PC-compatible](/devices/pcx86/machine/) emulator written entirely in JavaScript. It supports a variety of XT and AT class machines, with processors ranging from the 8088 through the 80386. The PCjs website provides a variety of "stock" configurations, featuring classic machines running at their original clock speed, or you can create your own, by mixing, matching, and reconfiguring any of the PCx86 diff --git a/docs/pcx86/chipset/README.md b/pubs/pcx86/chipset/README.md similarity index 97% rename from docs/pcx86/chipset/README.md rename to pubs/pcx86/chipset/README.md index 9527ba5ae..b0074d404 100644 --- a/docs/pcx86/chipset/README.md +++ b/pubs/pcx86/chipset/README.md @@ -1,7 +1,7 @@ --- layout: page title: PCx86 <chipset> Element -permalink: /docs/pcx86/chipset/ +permalink: /pubs/pcx86/chipset/ --- PCx86 ChipSet Component @@ -90,7 +90,7 @@ Attributes yyyy-mm-ddThh:mm:ss - * Also supports the attributes of *[Component](/docs/pcx86/component/)*. + * Also supports the attributes of *[Component](/pubs/pcx86/component/)*. Bindings -------- diff --git a/docs/pcx86/component/README.md b/pubs/pcx86/component/README.md similarity index 93% rename from docs/pcx86/component/README.md rename to pubs/pcx86/component/README.md index eb6cb0ffa..d70181659 100644 --- a/docs/pcx86/component/README.md +++ b/pubs/pcx86/component/README.md @@ -1,25 +1,28 @@ --- layout: page title: PCx86 <component> Element -permalink: /docs/pcx86/component/ +permalink: /pubs/pcx86/component/ --- PCx86 Component ---- +--------------- Format ---- +------ + ```xml ... ``` Purpose ---- +------- + Describes a machine component. It is transformed into an outer "component" <div> and an inner "container" <div>. See **Output** details below. Attributes ---- +---------- + * *id* (optional) * ID of the component <div> that uniquely identifies the component on the page. * *name* (optional) @@ -36,7 +39,8 @@ Attributes * Value(s), if any, used as-is for the container <div>. Example ---- +------- + ```xml ... @@ -44,7 +48,8 @@ Example ``` Output ---- +------ + ```html
diff --git a/docs/pcx86/computer/README.md b/pubs/pcx86/computer/README.md similarity index 95% rename from docs/pcx86/computer/README.md rename to pubs/pcx86/computer/README.md index 971275f8b..5c8d05bb9 100644 --- a/docs/pcx86/computer/README.md +++ b/pubs/pcx86/computer/README.md @@ -1,27 +1,30 @@ --- layout: page title: PCx86 <computer> Element -permalink: /docs/pcx86/computer/ +permalink: /pubs/pcx86/computer/ --- PCx86 Computer Component ---- +------------------------ Format ---- +------ + ```xml ... ``` Purpose ---- +------- + The Computer component is responsible for managing all the other components within the machine. It waits for all components to become ready before "powering" them. It is also responsible for saving and restoring the state of all components, if the machine's resume feature is enabled. Attributes ---- +---------- + * *resume* (optional) * 0: the resume feature is disabled * 1: the resume feature is enabled @@ -40,7 +43,8 @@ be loaded only on the FIRST page load; all subsequent page loads will resume fro To return to the original state, you must either disable the *resume* setting or use the "Reset" button. Bindings ---- +-------- + * *reset* For use with a control of type *button*, to reset the Computer. This binding is also available @@ -52,13 +56,15 @@ Bindings be saved to the server, if an approriate server key is provided. Example ---- +------- + ```xml ``` Output ---- +------ + ```html
diff --git a/docs/pcx86/cpu/README.md b/pubs/pcx86/cpu/README.md similarity index 92% rename from docs/pcx86/cpu/README.md rename to pubs/pcx86/cpu/README.md index 6b8567b0e..254b66b69 100644 --- a/docs/pcx86/cpu/README.md +++ b/pubs/pcx86/cpu/README.md @@ -1,24 +1,27 @@ --- layout: page title: PCx86 <cpu> Element -permalink: /docs/pcx86/cpu/ +permalink: /pubs/pcx86/cpu/ --- PCx86 CPU Component ---- +------------------- Format ---- +------ + ```xml ... ``` Purpose ---- +------- + Defines all the properties required for the CPU component to initialize, along with any optional CPU-related UI bindings. Attributes ---- +---------- + * *model* (optional; default is 8088; supported values include: 8086, 8088, 80186, 80286, and 80386) * Defines the CPU model, adjusting the CPU's capabilities accordingly. * *stepping* (optional; if specified, it should be a 2-character string, such as "A0" or "B1") @@ -33,17 +36,17 @@ Attributes * This can be set to "true" or "false" to explicitly control whether or not the machine starts running automatically. If this parameter is omitted, the machine will autostart only if no Debugger component is included and no **Run** button is defined. -Also supports the attributes of *[Component](/docs/pcx86/component/)*. The *id* attribute is optional, since machines +Also supports the attributes of *[Component](/pubs/pcx86/component/)*. The *id* attribute is optional, since machines currently support only one CPU component. - Bindings ---- +-------- + * *run* * For use with a control of type *button*, to start/stop the CPU. * *reset* * For use with a control of type *button*, to reset the CPU. This binding actually belongs to the - *[Computer](/docs/pcx86/computer/)* component, because every component is reset, but the CPU offers the binding + *[Computer](/pubs/pcx86/computer/)* component, because every component is reset, but the CPU offers the binding for convenience. * *speed* * For use with any control with an *textContent* property, to display the current CPU speed. @@ -53,7 +56,8 @@ Bindings * For use with any control with an *textContent* property, to display the corresponding register's contents. Example ---- +------- + ```xml Run @@ -61,7 +65,8 @@ Example ``` Output ---- +------ + ```html
diff --git a/docs/pcx86/debugger/README.md b/pubs/pcx86/debugger/README.md similarity index 89% rename from docs/pcx86/debugger/README.md rename to pubs/pcx86/debugger/README.md index 01783755b..fdbb383cf 100644 --- a/docs/pcx86/debugger/README.md +++ b/pubs/pcx86/debugger/README.md @@ -1,33 +1,37 @@ --- layout: page title: PCx86 <debugger> Element -permalink: /docs/pcx86/debugger/ +permalink: /pubs/pcx86/debugger/ --- PCx86 Debugger Component ---- +------------------------ Format ---- +------ + ```xml ... ``` Purpose ---- +------- + Creates an instance of the Debugger component. Attributes ---- +---------- + * *messages* (optional) * One or more message categories to enable, separated by |. By default, all message categories are disabled. See the Debugger's "m" command for a current list of message categories. -Also supports the attributes of *[Component](/docs/pcx86/component/)*. The *id* attribute is optional, since machines +Also supports the attributes of *[Component](/pubs/pcx86/component/)*. The *id* attribute is optional, since machines currently support only one Debugger component. Bindings ---- +-------- + * *debugInput* * For use with a control of type *text*, to input Debugger commands. Commands are submitted to the Debugger when either the **Enter** key is pressed or the *debugEnter* control (if any) is clicked. @@ -37,17 +41,20 @@ Bindings * For use with a control of type *button*, to step over the next instruction (assuming the CPU is currently halted). Commands ---- +-------- + Use the Debugger's built-in help for a list of commands. Example ---- +------- + ```xml ``` Output ---- +------ + ```html
diff --git a/docs/pcx86/examples/.gitignore b/pubs/pcx86/examples/.gitignore similarity index 100% rename from docs/pcx86/examples/.gitignore rename to pubs/pcx86/examples/.gitignore diff --git a/docs/pcx86/examples/1981-04-24.json b/pubs/pcx86/examples/1981-04-24.json similarity index 100% rename from docs/pcx86/examples/1981-04-24.json rename to pubs/pcx86/examples/1981-04-24.json diff --git a/docs/pcx86/examples/PCDOS100.json b/pubs/pcx86/examples/PCDOS100.json similarity index 100% rename from docs/pcx86/examples/PCDOS100.json rename to pubs/pcx86/examples/PCDOS100.json diff --git a/docs/pcx86/examples/README.md b/pubs/pcx86/examples/README.md similarity index 88% rename from docs/pcx86/examples/README.md rename to pubs/pcx86/examples/README.md index bb6e4fcea..f3dda7398 100644 --- a/docs/pcx86/examples/README.md +++ b/pubs/pcx86/examples/README.md @@ -1,18 +1,18 @@ --- layout: page title: PCx86 Documentation Examples -permalink: /docs/pcx86/examples/ +permalink: /pubs/pcx86/examples/ machines: - id: example3 type: pcx86 - config: /docs/pcx86/examples/example3b.xml + config: /pubs/pcx86/examples/example3b.xml --- PCx86 Documentation Examples ---------------------------- -This folder provides all the self-contained [PCx86](/docs/about/pcx86/) examples described in the -[Documentation](/docs/pcx86/). +This folder provides all the self-contained [PCx86](/pubs/about/pcx86/) examples described in the +[Documentation](/pubs/pcx86/). To use them, download [examples.zip](examples.zip), unzip it into a folder on your desktop computer or web server, and experiment with them in your web browser. Since all these examples are self-contained, they should work with either diff --git a/docs/pcx86/examples/components.css b/pubs/pcx86/examples/components.css similarity index 100% rename from docs/pcx86/examples/components.css rename to pubs/pcx86/examples/components.css diff --git a/docs/pcx86/examples/components.xsl b/pubs/pcx86/examples/components.xsl similarity index 100% rename from docs/pcx86/examples/components.xsl rename to pubs/pcx86/examples/components.xsl diff --git a/docs/pcx86/examples/example1.html b/pubs/pcx86/examples/example1.html similarity index 100% rename from docs/pcx86/examples/example1.html rename to pubs/pcx86/examples/example1.html diff --git a/docs/pcx86/examples/example1.xml b/pubs/pcx86/examples/example1.xml similarity index 100% rename from docs/pcx86/examples/example1.xml rename to pubs/pcx86/examples/example1.xml diff --git a/docs/pcx86/examples/example2.html b/pubs/pcx86/examples/example2.html similarity index 100% rename from docs/pcx86/examples/example2.html rename to pubs/pcx86/examples/example2.html diff --git a/docs/pcx86/examples/example2.xml b/pubs/pcx86/examples/example2.xml similarity index 100% rename from docs/pcx86/examples/example2.xml rename to pubs/pcx86/examples/example2.xml diff --git a/docs/pcx86/examples/example3.json b/pubs/pcx86/examples/example3.json similarity index 100% rename from docs/pcx86/examples/example3.json rename to pubs/pcx86/examples/example3.json diff --git a/docs/pcx86/examples/example3a.html b/pubs/pcx86/examples/example3a.html similarity index 100% rename from docs/pcx86/examples/example3a.html rename to pubs/pcx86/examples/example3a.html diff --git a/docs/pcx86/examples/example3a.xml b/pubs/pcx86/examples/example3a.xml similarity index 100% rename from docs/pcx86/examples/example3a.xml rename to pubs/pcx86/examples/example3a.xml diff --git a/docs/pcx86/examples/example3b.html b/pubs/pcx86/examples/example3b.html similarity index 100% rename from docs/pcx86/examples/example3b.html rename to pubs/pcx86/examples/example3b.html diff --git a/docs/pcx86/examples/example3b.xml b/pubs/pcx86/examples/example3b.xml similarity index 100% rename from docs/pcx86/examples/example3b.xml rename to pubs/pcx86/examples/example3b.xml diff --git a/docs/pcx86/examples/examples.zip b/pubs/pcx86/examples/examples.zip similarity index 100% rename from docs/pcx86/examples/examples.zip rename to pubs/pcx86/examples/examples.zip diff --git a/docs/pcx86/examples/ibm-basic-1.00.json b/pubs/pcx86/examples/ibm-basic-1.00.json similarity index 100% rename from docs/pcx86/examples/ibm-basic-1.00.json rename to pubs/pcx86/examples/ibm-basic-1.00.json diff --git a/docs/pcx86/examples/ibm-mda-cga.json b/pubs/pcx86/examples/ibm-mda-cga.json similarity index 100% rename from docs/pcx86/examples/ibm-mda-cga.json rename to pubs/pcx86/examples/ibm-mda-cga.json diff --git a/docs/pcx86/examples/pcx86-dbg.js b/pubs/pcx86/examples/pcx86-dbg.js similarity index 100% rename from docs/pcx86/examples/pcx86-dbg.js rename to pubs/pcx86/examples/pcx86-dbg.js diff --git a/docs/pcx86/examples/pcx86.js b/pubs/pcx86/examples/pcx86.js similarity index 100% rename from docs/pcx86/examples/pcx86.js rename to pubs/pcx86/examples/pcx86.js diff --git a/docs/pcx86/examples/visicalc.json b/pubs/pcx86/examples/visicalc.json similarity index 100% rename from docs/pcx86/examples/visicalc.json rename to pubs/pcx86/examples/visicalc.json diff --git a/docs/pcx86/examples/zip.sh b/pubs/pcx86/examples/zip.sh similarity index 100% rename from docs/pcx86/examples/zip.sh rename to pubs/pcx86/examples/zip.sh diff --git a/docs/pcx86/fdc/README.md b/pubs/pcx86/fdc/README.md similarity index 90% rename from docs/pcx86/fdc/README.md rename to pubs/pcx86/fdc/README.md index 7561de84d..1b12f8866 100644 --- a/docs/pcx86/fdc/README.md +++ b/pubs/pcx86/fdc/README.md @@ -1,20 +1,22 @@ --- layout: page title: PCx86 <fdc> Element -permalink: /docs/pcx86/fdc/ +permalink: /pubs/pcx86/fdc/ --- PCx86 Floppy Drive Controller (FDC) Component ---- +--------------------------------------------- Format ---- +------ + ```xml ... ``` Purpose ---- +------- + Creates an instance of the Floppy Drive Controller (FDC) component. The FDC is responsible for: - Automatically loading diskette image files at boot; @@ -23,7 +25,8 @@ Creates an instance of the Floppy Drive Controller (FDC) component. The FDC is r - Saving/restoring all user diskette modifications in browser local storage. Attributes ---- +---------- + * *autoMount* (optional) This is an object definition containing one or more drive-letter properties. @@ -32,15 +35,16 @@ Attributes '{A: {name: "PC-DOS 1.0", path: "pcdos-1.00.json"}}' -Also supports the attributes of *[Component](/docs/pcx86/component/)*. +Also supports the attributes of *[Component](/pubs/pcx86/component/)*. Bindings ---- +-------- + * *listDrives* 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](/pubs/pcx86/chipset/)* component. * *listDisks* @@ -54,7 +58,8 @@ Bindings "None" from the list of diskettes, and click this button. Example ---- +------- + ```xml @@ -68,7 +73,8 @@ Example ``` Output ---- +------ + ```html
diff --git a/docs/pcx86/hdc/README.md b/pubs/pcx86/hdc/README.md similarity index 96% rename from docs/pcx86/hdc/README.md rename to pubs/pcx86/hdc/README.md index 5347ae3e5..d6db1ce3f 100644 --- a/docs/pcx86/hdc/README.md +++ b/pubs/pcx86/hdc/README.md @@ -1,7 +1,7 @@ --- layout: page title: PCx86 <hdc> Element -permalink: /docs/pcx86/hdc/ +permalink: /pubs/pcx86/hdc/ --- PCx86 Hard Drive Controller (HDC) Component @@ -59,7 +59,7 @@ Attributes The default *type* setting is *'XT'*. - * Also supports the attributes of *[Component](/docs/pcx86/component/)*. + * Also supports the attributes of *[Component](/pubs/pcx86/component/)*. Bindings -------- diff --git a/docs/pcx86/keyboard/README.md b/pubs/pcx86/keyboard/README.md similarity index 95% rename from docs/pcx86/keyboard/README.md rename to pubs/pcx86/keyboard/README.md index c9b979bf3..d214edd44 100644 --- a/docs/pcx86/keyboard/README.md +++ b/pubs/pcx86/keyboard/README.md @@ -1,7 +1,7 @@ --- layout: page title: PCx86 <keyboard> Element -permalink: /docs/pcx86/keyboard/ +permalink: /pubs/pcx86/keyboard/ --- PCx86 Keyboard Component @@ -28,7 +28,7 @@ Attributes * us84: US keyboard with 84-key layout * us101: US keyboard with 101-key layout -Also supports the attributes of *[Component](/docs/pcx86/component/)*. +Also supports the attributes of *[Component](/pubs/pcx86/component/)*. Bindings -------- diff --git a/docs/pcx86/machine/README.md b/pubs/pcx86/machine/README.md similarity index 79% rename from docs/pcx86/machine/README.md rename to pubs/pcx86/machine/README.md index 8648adb77..e4828b01c 100644 --- a/docs/pcx86/machine/README.md +++ b/pubs/pcx86/machine/README.md @@ -1,45 +1,51 @@ --- layout: page title: PCx86 <machine> Element -permalink: /docs/pcx86/machine/ +permalink: /pubs/pcx86/machine/ --- PCx86 Machine Component ---- +----------------------- Format ---- +------ + ```xml ... ``` Purpose ---- +------- + Container for a complete machine definition. -Machines are components that contain other components. See [Component](/docs/pcx86/component/) for more details. +Machines are components that contain other components. See [Component](/pubs/pcx86/component/) for more details. Attributes ---- +---------- + * *class* (required) For PCx86 machines, this must be set to "pcx86", indicating the machine belongs to the PCx86 application. - * Also supports the attributes of [Component](/docs/pcx86/component/). The *id* attribute is optional for a machine, + * Also supports the attributes of [Component](/pubs/pcx86/component/). The *id* attribute is optional for a machine, unless there is more than one machine on a page, in which case each machine must have a unique *id*. Bindings ---- +-------- + None. Example ---- +------- + ```xml ... ``` Output ---- +------ + ```html
diff --git a/docs/pcx86/mouse/README.md b/pubs/pcx86/mouse/README.md similarity index 94% rename from docs/pcx86/mouse/README.md rename to pubs/pcx86/mouse/README.md index 575acc24e..3a3b86b74 100644 --- a/docs/pcx86/mouse/README.md +++ b/pubs/pcx86/mouse/README.md @@ -1,7 +1,7 @@ --- layout: page title: PCx86 <mouse> Element -permalink: /docs/pcx86/mouse/ +permalink: /pubs/pcx86/mouse/ --- PCx86 Mouse Component @@ -44,7 +44,7 @@ Attributes One of "serial", "bus", or "inport"; the default is "serial" if either *serial* or *binding* are set - * Also supports the attributes of *[Component](/docs/pcx86/component/)*. + * Also supports the attributes of *[Component](/pubs/pcx86/component/)*. Bindings -------- diff --git a/docs/pcx86/panel/README.md b/pubs/pcx86/panel/README.md similarity index 76% rename from docs/pcx86/panel/README.md rename to pubs/pcx86/panel/README.md index 77ec1d5a0..dc660b648 100644 --- a/docs/pcx86/panel/README.md +++ b/pubs/pcx86/panel/README.md @@ -1,35 +1,40 @@ --- layout: page title: PCx86 <panel> Element -permalink: /docs/pcx86/panel/ +permalink: /pubs/pcx86/panel/ --- PCx86 Control Panel Component ---- +----------------------------- Format ---- +------ + ```xml ... ``` 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](/pubs/pcx86/computer/)*, *[CPU](/pubs/pcx86/cpu/)*, +*[Keyboard](/pubs/pcx86/keyboard/)* and/or *[Debugger](/pubs/pcx86/debugger/)* components. Attributes ---- +---------- + 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](/pubs/pcx86/computer/)*, *[CPU](/pubs/pcx86/cpu/)*, +*[Keyboard](/pubs/pcx86/keyboard/)* and *[Debugger](/pubs/pcx86/debugger/)* components. Example ---- +------- + ```xml Control Panel @@ -47,7 +52,8 @@ Example See [/devices/pcx86/panel/default.xml](/devices/pcx86/panel/default.xml) for a more complete example. Output ---- +------ + ```html
diff --git a/docs/pcx86/parallel/README.md b/pubs/pcx86/parallel/README.md similarity index 88% rename from docs/pcx86/parallel/README.md rename to pubs/pcx86/parallel/README.md index 70e6b2314..a922126ba 100644 --- a/docs/pcx86/parallel/README.md +++ b/pubs/pcx86/parallel/README.md @@ -1,24 +1,27 @@ --- layout: page title: PCx86 <parallel> Element -permalink: /docs/pcx86/parallel/ +permalink: /pubs/pcx86/parallel/ --- PCx86 ParallelPort Component ---- +---------------------------- Format ---- +------ + ```xml ... ``` Purpose ---- +------- + Creates an instance of the ParallelPort component, which simulates an IBM PC Parallel Printer Adapter. Attributes ---- +---------- + * *adapter* (required) A number (1, 2, or 3) indicating whether this adapter uses port 0x3BC, 0x378, or 0x278. Adapters 1 and 2 @@ -30,23 +33,26 @@ Attributes For example, if you've defined a Control Panel with a <textarea> control bound to "print", specifying a binding of "print" for the Parallel Port component will bind its port to the same control. -Also supports the attributes of *[Component](/docs/pcx86/component/)*. +Also supports the attributes of *[Component](/pubs/pcx86/component/)*. Bindings ---- +-------- + * *buffer* For use with a control of type "textarea", to send/receive data to/from the port. If you would rather bind the port to an existing control, then use *binding* attribute instead (see above). Example ---- +------- + ```xml ``` Output ---- +------ + ```html
diff --git a/docs/pcx86/ram/README.md b/pubs/pcx86/ram/README.md similarity index 84% rename from docs/pcx86/ram/README.md rename to pubs/pcx86/ram/README.md index bb5950164..2257a3373 100644 --- a/docs/pcx86/ram/README.md +++ b/pubs/pcx86/ram/README.md @@ -1,42 +1,46 @@ --- layout: page title: PCx86 <ram> Element -permalink: /docs/pcx86/ram/ +permalink: /pubs/pcx86/ram/ --- PCx86 Random-Access Memory (RAM) Component ---- +------------------------------------------ Format ---- +------ + ```xml ... ``` Purpose ---- +------- + Creates an instance of the RAM component. Multiple instances can be defined, if necessary, to create discontiguous blocks of RAM. Attributes ---- +---------- + * *addr* (required) The RAM starting address (e.g., 0x00000). * *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](/pubs/pcx86/chipset/)* component is queried for the amount of RAM indicated by SW1/SW2. * *test* (optional; default is true) Disables the ROM BIOS memory test when set to "false". -Also supports the attributes of *[Component](/docs/pcx86/component/)*. +Also supports the attributes of *[Component](/pubs/pcx86/component/)*. Bindings ---- +-------- + * *test* For use with a control of type checkbox, to enable/disable the ROM BIOS memory test. @@ -44,13 +48,15 @@ Bindings TODO: Implement. Example ---- +------- + ```xml ``` Output ---- +------ + ```html
diff --git a/docs/pcx86/rom/README.md b/pubs/pcx86/rom/README.md similarity index 84% rename from docs/pcx86/rom/README.md rename to pubs/pcx86/rom/README.md index 16675234d..afed747c2 100644 --- a/docs/pcx86/rom/README.md +++ b/pubs/pcx86/rom/README.md @@ -1,24 +1,27 @@ --- layout: page title: PCx86 <rom> Element -permalink: /docs/pcx86/rom/ +permalink: /pubs/pcx86/rom/ --- PCx86 Read-Only Memory (ROM) Component ---- +-------------------------------------- Format ---- +------ + ```xml ... ``` Purpose ---- +------- + Creates an instance of the ROM component. One instance per ROM image file is required. Attributes ---- +---------- + * *addr* (required) The ROM starting address (e.g., 0xfe000). @@ -33,24 +36,27 @@ Attributes * *notify* (optional) - The *id* of a component to notify when *file* has been loaded. For example, the *[Video](/docs/pcx86/video/)* + The *id* of a component to notify when *file* has been loaded. For example, the *[Video](/pubs/pcx86/video/)* component may need to know when an external video ROM has been loaded. Any component can load its own files, including ROM image files, but it's simpler to use the ROM component and request notification. -Also supports the attributes of *[Component](/docs/pcx86/component/)*. +Also supports the attributes of *[Component](/pubs/pcx86/component/)*. Bindings ---- +-------- + None. Example ---- +------- + ```xml ``` Output ---- +------ + ```html
diff --git a/docs/pcx86/serial/README.md b/pubs/pcx86/serial/README.md similarity index 93% rename from docs/pcx86/serial/README.md rename to pubs/pcx86/serial/README.md index 310f58a9b..50fbefe23 100644 --- a/docs/pcx86/serial/README.md +++ b/pubs/pcx86/serial/README.md @@ -1,7 +1,7 @@ --- layout: page title: PCx86 <serial> Element -permalink: /docs/pcx86/serial/ +permalink: /pubs/pcx86/serial/ --- PCx86 SerialPort Component @@ -33,7 +33,7 @@ Attributes For example, if you've defined a Control Panel with a <textarea> control bound to "print", specifying a binding of "print" for the Serial Port component will bind its port to the same control. - * Also supports the attributes of *[Component](/docs/pcx86/component/)*. + * Also supports the attributes of *[Component](/pubs/pcx86/component/)*. Bindings -------- diff --git a/docs/pcx86/video/README.md b/pubs/pcx86/video/README.md similarity index 93% rename from docs/pcx86/video/README.md rename to pubs/pcx86/video/README.md index 2427d7a11..eda42be69 100644 --- a/docs/pcx86/video/README.md +++ b/pubs/pcx86/video/README.md @@ -1,20 +1,22 @@ --- layout: page title: PCx86 <video> Element -permalink: /docs/pcx86/video/ +permalink: /pubs/pcx86/video/ --- PCx86 Video Component ---- +--------------------- Format ---- +------ + ```xml ``` Purpose ---- +------- + Creates an instance of the Video component. This component is responsible for: - Creating the canvas element representing the machine's screen; @@ -23,14 +25,15 @@ Creates an instance of the Video component. This component is responsible for: - Periodically rendering the video buffer contents to the canvas element Attributes ---- +---------- + * *model* (optional) * "mda" (Monochrome Display Adapter) * "cga" (Color Graphics Adapter) * "ega" (Enhanced Graphics Adapter) - If *model* is not set, the SW1 switch block settings from the [ChipSet](/docs/pcx86/chipset/) component will + If *model* is not set, the SW1 switch block settings from the [ChipSet](/pubs/pcx86/chipset/) component will determine the video model to use ("mda" or "cga" only). * *screenWidth*, *screenHeight* (required) @@ -63,17 +66,19 @@ Attributes true enables HTML5 canvas image smoothing, false disables it (if not specified, the browser's default is used); can also be present as a URL parameter. -Also supports the attributes of *[Component](/docs/pcx86/component/)*. +Also supports the attributes of *[Component](/pubs/pcx86/component/)*. Bindings ---- +-------- + * *refresh* For use with a control of type button, this manually refreshes the screen from the video buffer. Refreshes occur automatically, so this will generally not be necessary, except in certain diagnostic situations. Example ---- +------- + ```xml