Consolidated /docs into /pubs
This commit is contained in:
parent
9d356c582b
commit
71d117fa02
106 changed files with 350 additions and 317 deletions
28
README.md
28
README.md
|
|
@ -15,14 +15,14 @@ machines:
|
||||||
PCjs 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
|
one of several JavaScript Machines in the [PCjs Project](https://github.com/jeffpar/pcjs), an open-source project that
|
||||||
includes:
|
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/))
|
* [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/)
|
* [C1Pjs](/pubs/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/)
|
* [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
|
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,
|
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" %}
|
{% 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
|
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/)
|
[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
|
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,
|
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
|
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.
|
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
|
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.
|
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
|
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
|
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" %}
|
{% 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
|
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,
|
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:
|
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:".
|
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
|
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
|
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.
|
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
|
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
|
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
|
Updating PCjs
|
||||||
-------------
|
-------------
|
||||||
|
|
@ -469,8 +469,8 @@ See [LICENSE](/LICENSE) for details.
|
||||||
|
|
||||||
More Information
|
More Information
|
||||||
----------------
|
----------------
|
||||||
Learn more about the [PCjs Project](/docs/about/) and [PCx86](/docs/about/pcx86/). To
|
Learn more about the [PCjs Project](/pubs/about/) and [PCx86](/pubs/about/pcx86/). To
|
||||||
create your own PCx86 machines, see the [PCx86 Documentation](/docs/pcx86/) for details.
|
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
|
If you have questions or run into any problems, feel free to [tweet](http://twitter.com/jeffpar) or
|
||||||
[email](mailto:Jeff@pcjs.org).
|
[email](mailto:Jeff@pcjs.org).
|
||||||
|
|
|
||||||
|
|
@ -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.
|
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.
|
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*)
|
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),
|
to dynamically create diskette images from a list of files, or even an entire folder (including all subfolders),
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ category: HTML5
|
||||||
permalink: /blog/2014/12/05/
|
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
|
[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
|
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
|
essential both for drawing bitmappped graphics and for faithfully rendering individual characters
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,9 @@ two annoying problems with the [OS/2 FOOTBALL Boot Disk](/disks/pcx86/os2/misc/f
|
||||||
and blank screens.
|
and blank screens.
|
||||||
|
|
||||||
A hard-error popup would occur when FOOTBALL tried to initialize a non-existent PRN device. To resolve that, PCjs
|
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
|
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
|
(/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/) machine used to run FOOTBALL has now been updated to
|
||||||
include one parallel port.
|
include one parallel port.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,7 @@ Some notes:
|
||||||
<script type="text/javascript">embedPC("ibm5150","machine.xml","components.xsl","{state:null}");</script>
|
<script type="text/javascript">embedPC("ibm5150","machine.xml","components.xsl","{state:null}");</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
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
|
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.
|
any *existing* IBM PC and embed it on any other website.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
which eliminates much of the fuzziness that would occur when copying pixels from the lower-resolution *buffer* canvas
|
||||||
to the higher-resolution *screen* 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
|
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.
|
use its default interpolation method.
|
||||||
|
|
||||||
|
|
@ -66,7 +66,7 @@ while the right one does not.
|
||||||
Aspect Ratio
|
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.
|
[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
|
To recap, aspect ratio is display width divided by display height, but the choice of aspect ratio is complicated by
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ and then embed the machines in the post, each with a single line:
|
||||||
{% include machine.html id="vt100" %}
|
{% include machine.html id="vt100" %}
|
||||||
{% endraw %}
|
{% 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
|
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*
|
*embedPCx86()* interface. A similar property (eg, `connection:"serialPort->ibm5170.com2"`) must also be added to the *parms*
|
||||||
passed to *embedPC8080()*.
|
passed to *embedPC8080()*.
|
||||||
|
|
|
||||||
|
|
@ -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
|
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.
|
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*
|
[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
|
(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
|
well. Fortunately, my patching notes also show all the original bytes, so I reproduced the original file by reversing
|
||||||
|
|
|
||||||
|
|
@ -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,
|
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
|
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
|
[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:
|
default state with its own *state* setting; eg:
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ permalink: /apps/c1p/
|
||||||
Challenger 1P Applications
|
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/)
|
- [BASIC](BASIC/)
|
||||||
- [6502 Machine-Language](6502/)
|
- [6502 Machine-Language](6502/)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
IBM PC Application Demos
|
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
|
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
|
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.
|
copy-protected, so we've been forced to use a "cracked" copy of the software instead.
|
||||||
|
|
|
||||||
|
|
@ -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 with Large Display w/Additional Software](all/) (with [Debugger](all/debugger/))
|
||||||
* [8kb "Server Array" Demo](array/)
|
* [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.
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ Here are some sample C1P Machine Configurations:
|
||||||
- [8kb "Server Array" Demo](8kb/array/)
|
- [8kb "Server Array" Demo](8kb/array/)
|
||||||
- [32kb with Diskette Support](32kb/)
|
- [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:
|
Browse our collection of [Challenger 1P Applications](/apps/c1p/), which come in two flavors:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@ permalink: /devices/pc8080/panel/
|
||||||
---
|
---
|
||||||
|
|
||||||
8080-Based Control Panels
|
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:
|
The following 8080-based control panel configuration files are currently available:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,22 +14,22 @@ All our [IBM PC Machines](machine/) are built from a collection of devices, incl
|
||||||
|
|
||||||
* [ChipSets](chipset/)
|
* [ChipSets](chipset/)
|
||||||
* [Control Panels](panel/)
|
* [Control Panels](panel/)
|
||||||
* [CPUs](/docs/pcx86/cpu/)
|
* [CPUs](/pubs/pcx86/cpu/)
|
||||||
* [Debugger](/docs/pcx86/debugger/)
|
* [Debugger](/pubs/pcx86/debugger/)
|
||||||
* [Floppy Drive Controller](/docs/pcx86/fdc/)
|
* [Floppy Drive Controller](/pubs/pcx86/fdc/)
|
||||||
* [Hard Drive Controller](/docs/pcx86/hdc/)
|
* [Hard Drive Controller](/pubs/pcx86/hdc/)
|
||||||
* [Keyboard](keyboard/)
|
* [Keyboard](keyboard/)
|
||||||
* [Machines](machine/)
|
* [Machines](machine/)
|
||||||
* [Mouse](/docs/pcx86/mouse/)
|
* [Mouse](/pubs/pcx86/mouse/)
|
||||||
* [RAM](/docs/pcx86/ram/)
|
* [RAM](/pubs/pcx86/ram/)
|
||||||
* [ROMs](rom/)
|
* [ROMs](rom/)
|
||||||
* [Parallel Port](/docs/pcx86/parallel/)
|
* [Parallel Port](/pubs/pcx86/parallel/)
|
||||||
* [Serial Port](/docs/pcx86/serial/)
|
* [Serial Port](/pubs/pcx86/serial/)
|
||||||
* [Video Adapters](video/)
|
* [Video Adapters](video/)
|
||||||
|
|
||||||
Each of those devices can be configured in multiple ways, and some support external UI controls.
|
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
|
(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.
|
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
|
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)),
|
*[Video](/pubs/pcx86/video/)* ([XML](/devices/pcx86/video/ibm/mda/ibm-mda.xml)),
|
||||||
*[Floppy Drive Controller](/docs/pcx86/fdc/)* ([XML](/disks/pcx86/compiled/samples.xml)), and
|
*[Floppy Drive Controller](/pubs/pcx86/fdc/)* ([XML](/disks/pcx86/compiled/samples.xml)), and
|
||||||
*[Keyboard](/docs/pcx86/keyboard/)* ([XML](/devices/pcx86/keyboard/us83-buttons-arrows.xml)) components,
|
*[Keyboard](/pubs/pcx86/keyboard/)* ([XML](/devices/pcx86/keyboard/us83-buttons-arrows.xml)) components,
|
||||||
which refer to separate XML configuration files.
|
which refer to separate XML configuration files.
|
||||||
|
|
|
||||||
|
|
@ -5,16 +5,16 @@ permalink: /devices/pcx86/chipset/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM PC ChipSet Configurations
|
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)
|
- [IBM Model 5150 w/CGA](5150-cga-max.xml)
|
||||||
- [AT&T Personal Computer 6300](att6300-cga-max.xml)
|
- [AT&T Personal Computer 6300](att6300-cga-max.xml)
|
||||||
- [Columbia Data Products MPC 1600](mpc1600-cga-max.xml)
|
- [Columbia Data Products MPC 1600](mpc1600-cga-max.xml)
|
||||||
- [Zenith Z-150](z150-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
|
```xml
|
||||||
<chipset id="chipset" model="5160" sw1="01001001"/>
|
<chipset id="chipset" model="5160" sw1="01001001"/>
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ permalink: /devices/pcx86/keyboard/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM PC Keyboard Devices
|
IBM PC Keyboard Devices
|
||||||
---
|
-----------------------
|
||||||
|
|
||||||
### Keyboard Configuration Files
|
### 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.:
|
is to use one of the project's predefined configuration files, with the *ref* attribute; e.g.:
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ permalink: /devices/pcx86/machine/5170/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM PC AT (Model 5170) Machines
|
IBM PC AT (Model 5170) Machines
|
||||||
---
|
-------------------------------
|
||||||
|
|
||||||
Our IBM PC AT 5170 configurations include:
|
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
|
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.
|
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
|
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.
|
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.
|
provided.
|
||||||
|
|
||||||
The rest of a 5170 machine's configuration is normally handled through CMOS settings, such as the number and type
|
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.:
|
e.g.:
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@ permalink: /devices/pcx86/panel/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM PC Control Panels
|
IBM PC Control Panels
|
||||||
---
|
---------------------
|
||||||
|
|
||||||
A *[Control Panel](/docs/pcx86/panel/)* is a collection of machine controls (e.g., buttons, register values, etc)
|
A *[Control Panel](/pubs/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/)*,
|
bound to the *[Computer](/pubs/pcx86/computer/)*, *[CPU](/pubs/pcx86/cpu/)*, *[Debugger](/pubs/pcx86/debugger/)*,
|
||||||
and *[Keyboard](/docs/pcx86/keyboard/)* components and usually defined in a separate XML file.
|
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)
|
- [default.xml](default.xml) (a simple layout for 8086/8088-based machines)
|
||||||
- [wide.xml](wide.xml) (a wide version of default.xml)
|
- [wide.xml](wide.xml) (a wide version of default.xml)
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ permalink: /devices/pcx86/rom/
|
||||||
IBM PC ROMs
|
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:
|
for each ROM in the machine; eg:
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@ permalink: /devices/pcx86/video/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM PC Video Adapters
|
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.
|
configuration file.
|
||||||
|
|
||||||
See the following [IBM PC Video Configurations](ibm/):
|
See the following [IBM PC Video Configurations](ibm/):
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ permalink: /devices/pcx86/video/cdp/cga/
|
||||||
---
|
---
|
||||||
|
|
||||||
Columbia Data Products Color Graphics Adapter (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
|
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,
|
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
|
### 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:
|
is to reference the project's predefined CGA configuration file, using the *ref* attribute; eg:
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ permalink: /devices/pcx86/video/ibm/cga/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM Color Graphics Adapter (CGA)
|
IBM Color Graphics Adapter (CGA)
|
||||||
---
|
--------------------------------
|
||||||
|
|
||||||
### IBM CGA Configurations
|
### 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:
|
is to reference one of the project's predefined CGA configuration files, using the *ref* attribute; eg:
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ permalink: /devices/pcx86/video/ibm/ega/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM Enhanced Graphics Adapter (EGA)
|
IBM Enhanced Graphics Adapter (EGA)
|
||||||
---
|
-----------------------------------
|
||||||
|
|
||||||
### IBM EGA Configurations
|
### 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:
|
is to reference one of the project's predefined EGA configuration files, using the *ref* attribute; eg:
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ permalink: /devices/pcx86/video/ibm/mda/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM Monochrome Display Adapter (MDA)
|
IBM Monochrome Display Adapter (MDA)
|
||||||
---
|
------------------------------------
|
||||||
|
|
||||||
### IBM MDA Configurations
|
### 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:
|
is to reference one of the project's predefined MDA configuration files, using the *ref* attribute; eg:
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ permalink: /devices/pcx86/video/ibm/vga/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM Video Graphics Array (VGA)
|
IBM Video Graphics Array (VGA)
|
||||||
---
|
------------------------------
|
||||||
|
|
||||||
### IBM VGA Configurations
|
### 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:
|
is to reference one of the project's VGA configuration files, using the *ref* attribute; eg:
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
|
||||||
|
|
@ -41,5 +41,5 @@ For example:
|
||||||
The [PCjs Node Web Server](/server.js) also generates "onclick" handlers for links to **JSON** disk
|
The [PCjs Node Web Server](/server.js) also generates "onclick" handlers for links to **JSON** disk
|
||||||
images that automatically invoke the API for you.
|
images that automatically invoke the API for you.
|
||||||
|
|
||||||
See [Creating PCx86-Compatible Disk Images](/docs/pcx86/#creating-pcx86-compatible-disk-images)
|
See [Creating PCx86-Compatible Disk Images](/pubs/pcx86/#creating-pcx86-compatible-disk-images)
|
||||||
in the [PCx86 Documentation](/docs/pcx86/) for more information about supported disks and formats.
|
in the [PCx86 Documentation](/pubs/pcx86/) for more information about supported disks and formats.
|
||||||
|
|
|
||||||
|
|
@ -81,14 +81,14 @@ more detail, along with a live demonstration of the software, but that's not yet
|
||||||
---
|
---
|
||||||
|
|
||||||
Disk Manifests
|
Disk Manifests
|
||||||
---
|
--------------
|
||||||
|
|
||||||
Typically, all the distribution disks for a single version of a piece of software are placed in a single
|
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
|
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,
|
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.
|
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.
|
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>
|
A simple FDC configuration file, such as [samples.xml](samples.xml), *could* contain individual <disk>
|
||||||
|
|
|
||||||
|
|
@ -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
|
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
|
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/).
|
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
|
Also, for completeness, the original `DBASE.EXE` has been recreated by "unpatching" it and saving it on the
|
||||||
|
|
|
||||||
|
|
@ -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
|
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
|
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),
|
[Wikipedia](http://en.wikipedia.org/wiki/Multi-tasking_MS-DOS_4.0),
|
||||||
[OS/2 Museum](http://www.os2museum.com/wp/?p=1769), and
|
[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).
|
[MSDN Blogs](http://blogs.msdn.com/b/larryosterman/archive/2004/03/22/94209.aspx).
|
||||||
|
|
|
||||||
|
|
@ -1,55 +1 @@
|
||||||
---
|
Project documentation has been consolidated into /pubs
|
||||||
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/)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/datasheets/thumbs/8088-CPU.jpg" width="200" height="260" alt= "8088 CPU"/>](/pubs/pc/datasheets/)
|
|
||||||
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/magazines/byte/BYTE-1975-11/thumbs/BYTE-1975-11 1.jpeg" width="200" height="260" alt= "Byte Magazine"/>](/pubs/pc/magazines/byte/)
|
|
||||||
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/magazines/msj/MSJ-1986-10/thumbs/MSJ-1986-10 1.jpeg" width="200" height="260" alt= "Microsoft Systems Journal"/>](/pubs/pc/magazines/msj/)
|
|
||||||
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/magazines/pctj/PCTJ-1983-07/thumbs/PCTJ-1983-07 1.jpeg" width="200" height="260" alt= "PC Tech Journal"/>](/pubs/pc/magazines/pctj/)
|
|
||||||
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/programming/Graphics_for_the_IBM_PC/thumbs/Graphics_for_the_IBM_PC 1.jpeg" width="200" height="260" alt= "Graphics for the IBM PC"/>](/pubs/pc/programming/Graphics_for_the_IBM_PC/)
|
|
||||||
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/reference/ibm/5150/techref/1981-08/thumbs/IBM-5150-TECHREF 1.jpeg" width="200" height="260" alt= "IBM 5150 Technical Reference (August 1981)"/>](/pubs/pc/reference/ibm/)
|
|
||||||
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/reference/intel/80286/progref/thumbs/80286_and_80287_Programmers_Reference_Manual_1987 1.jpeg" width="200" height="260" alt= "80286 and 80287 Programmer's Reference"/>](/pubs/pc/reference/intel/)
|
|
||||||
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/software/dos/PCDOS100/thumbs/PCDOS100.jpg" width="200" height="260" alt= "IBM PC Disk Operating System v1.00"/>](/pubs/pc/software/)
|
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ The project currently includes these emulation modules:
|
||||||
* [C1Pjs](c1pjs/): 6502 emulation module for the [Challenger 1P](/devices/c1p/)
|
* [C1Pjs](c1pjs/): 6502 emulation module for the [Challenger 1P](/devices/c1p/)
|
||||||
* [PCx86](pcx86/): x86 emulation module for [IBM PC machines](/devices/pcx86/)
|
* [PCx86](pcx86/): x86 emulation module for [IBM PC machines](/devices/pcx86/)
|
||||||
* [PC8080](pc8080/): 8080 emulation module for [8080-based machines](/devices/pc8080/)
|
* [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:
|
along with variety of Node support modules, such as:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ Challenger 1P Emulation Module (C1Pjs)
|
||||||
|
|
||||||
Overview
|
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)
|
C1Pjs is comprised of the following non-shared components, as listed in [package.json](../../package.json)
|
||||||
(see the *c1pJSFiles* property):
|
(see the *c1pJSFiles* property):
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: 6502 Documentation
|
title: 6502 Documentation
|
||||||
permalink: /docs/6502/
|
permalink: /pubs/6502/
|
||||||
---
|
---
|
||||||
|
|
||||||
Placeholder for future 6502 documentation.
|
Placeholder for future 6502 documentation.
|
||||||
|
|
@ -1,32 +1,54 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: Publication Archive
|
title: Documentation and Publication Archive
|
||||||
|
menu_title: Docs
|
||||||
|
menu_order: 7
|
||||||
permalink: /pubs/
|
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/)
|
|
||||||
|
|
||||||
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/datasheets/thumbs/8088-CPU.jpg" width="200" height="260" alt= "8088 CPU"/>](pc/datasheets/)
|
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/datasheets/thumbs/8088-CPU.jpg" width="200" height="260" alt= "8088 CPU"/>](pc/datasheets/)
|
||||||
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/magazines/byte/BYTE-1975-11/thumbs/BYTE-1975-11 1.jpeg" width="200" height="260" alt= "Byte Magazine"/>](pc/magazines/byte/)
|
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/magazines/byte/BYTE-1975-11/thumbs/BYTE-1975-11 1.jpeg" width="200" height="260" alt= "Byte Magazine"/>](pc/magazines/byte/)
|
||||||
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/magazines/msj/MSJ-1986-10/thumbs/MSJ-1986-10 1.jpeg" width="200" height="260" alt= "Microsoft Systems Journal"/>](pc/magazines/msj/)
|
[<img src="https://s3-us-west-2.amazonaws.com/archive.pcjs.org/pubs/pc/magazines/msj/MSJ-1986-10/thumbs/MSJ-1986-10 1.jpeg" width="200" height="260" alt= "Microsoft Systems Journal"/>](pc/magazines/msj/)
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ layout: page
|
||||||
title: About PCjs
|
title: About PCjs
|
||||||
menu_title: About
|
menu_title: About
|
||||||
menu_order: 9
|
menu_order: 9
|
||||||
permalink: /docs/about/
|
permalink: /pubs/about/
|
||||||
---
|
---
|
||||||
|
|
||||||
## About PCjs
|
## 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
|
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,
|
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
|
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
|
### 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.
|
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
|
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
|
[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
|
### 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
|
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).
|
[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
|
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
|
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
|
### Migrating to Node
|
||||||
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: About PCx86
|
title: About PCx86
|
||||||
permalink: /docs/about/pcx86/
|
permalink: /pubs/about/pcx86/
|
||||||
redirect_from:
|
redirect_from:
|
||||||
- /pc/
|
- /pc/
|
||||||
- /pcjs/
|
- /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.
|
+ 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
|
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
|
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
|
+ 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,
|
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.
|
only 8087 support is complete at this point.
|
||||||
|
|
||||||
+ The modular design allows you to specify which components to enable, and which external controls
|
+ 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/)
|
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](/docs/pcx86/cpu/) component, display clickable "DIP Switches"
|
component, add **Halt** or **Speed** buttons to the [CPU](/pubs/pcx86/cpu/) component, display clickable "DIP Switches"
|
||||||
for the [Chipset](/docs/pcx86/chipset/) component, or even design your own [Control Panel](/docs/pcx86/panel/).
|
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
|
+ 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
|
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
|
to work with your iPad or iPhone -- almost. Please note, however, that some mobile devices provide better support than
|
||||||
others.
|
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
|
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
|
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,
|
instructions or the trace flag, and does not alter the machine state in any way, allowing you to debug anything,
|
||||||
including 8086 debuggers.
|
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
|
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.
|
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.
|
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
|
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.
|
"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.
|
files into "index.html" web pages.
|
||||||
|
|
||||||
+ v1.11 improved the *embedPC()* and *embedC1P()* functions, so now you can embed XML machine configuration files
|
+ 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
|
that reference other configuration files, such as an external [Keyboard](/pubs/pcx86/keyboard/) or
|
||||||
[Control Panel](/docs/pcx86/panel/) XML layout. It does this by building the entire XML configuration internally,
|
[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.
|
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).
|
+ 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
|
+ 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
|
"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
|
+ 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*.
|
of running MUSIC.BAS and listening to those classic tunes. *Sound support is still experimental*.
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: C1Pjs Documentation
|
title: C1Pjs Documentation
|
||||||
permalink: /docs/c1pjs/
|
permalink: /pubs/c1pjs/
|
||||||
machines:
|
machines:
|
||||||
- id: c1p8kb
|
- id: c1p8kb
|
||||||
type: c1p-dbg
|
type: c1p-dbg
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: Embedding The C1Pjs Simulator
|
title: Embedding The C1Pjs Simulator
|
||||||
permalink: /docs/c1pjs/embed/
|
permalink: /pubs/c1pjs/embed/
|
||||||
machines:
|
machines:
|
||||||
- id: c1p8kb
|
- id: c1p8kb
|
||||||
type: c1p
|
type: c1p
|
||||||
|
|
@ -7,7 +7,7 @@ permalink: /pubs/dec/pdp10/
|
||||||
PDP-10 Publications
|
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/)
|
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.
|
directory. If a PDF was not searchable, it was "OCR'ed" before being archived below.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@ permalink: /pubs/pc/reference/intel/8086/
|
||||||
---
|
---
|
||||||
|
|
||||||
Intel 8086/8088 CPU Information
|
Intel 8086/8088 CPU Information
|
||||||
---
|
-------------------------------
|
||||||
|
|
||||||
We do not have any official Intel documentation of 8086/8088 errata, but the following are well-known "features"
|
We do not have any official Intel documentation of 8086/8088 errata, but the following are well-known "features"
|
||||||
of those CPUs.
|
of those CPUs.
|
||||||
|
|
||||||
8086 Errata
|
8086 Errata
|
||||||
---
|
-----------
|
||||||
|
|
||||||
### Interrupts Following MOV SS,xxx and POP SS Instructions May Corrupt Memory
|
### 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.
|
generate the override bytes manually, using **DB** or a similar assembler directive.
|
||||||
|
|
||||||
8086 Undocumented Instructions
|
8086 Undocumented Instructions
|
||||||
---
|
------------------------------
|
||||||
|
|
||||||
Some of the following information is courtesy of the [OS/2 Museum](http://www.os2museum.com/wp/undocumented-8086-opcodes/).
|
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,
|
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.
|
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,
|
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,
|
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
|
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
|
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).
|
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
|
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
|
Assorted Publications
|
||||||
---
|
---------------------
|
||||||
|
|
||||||
* TBD
|
* TBD
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 Documentation
|
title: PCx86 Documentation
|
||||||
permalink: /docs/pcx86/
|
permalink: /pubs/pcx86/
|
||||||
redirect_from:
|
redirect_from:
|
||||||
- /docs/pcjs/
|
- /docs/pcjs/
|
||||||
machines:
|
machines:
|
||||||
|
|
@ -14,7 +14,7 @@ machines:
|
||||||
PCx86 Documentation
|
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
|
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
|
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
|
at their original clock speed, or you can create your own, by mixing, matching, and reconfiguring any of the PCx86
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <chipset> Element
|
title: PCx86 <chipset> Element
|
||||||
permalink: /docs/pcx86/chipset/
|
permalink: /pubs/pcx86/chipset/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 ChipSet Component
|
PCx86 ChipSet Component
|
||||||
|
|
@ -90,7 +90,7 @@ Attributes
|
||||||
|
|
||||||
yyyy-mm-ddThh:mm:ss
|
yyyy-mm-ddThh:mm:ss
|
||||||
|
|
||||||
* Also supports the attributes of *[Component](/docs/pcx86/component/)*.
|
* Also supports the attributes of *[Component](/pubs/pcx86/component/)*.
|
||||||
|
|
||||||
Bindings
|
Bindings
|
||||||
--------
|
--------
|
||||||
|
|
@ -1,25 +1,28 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <component> Element
|
title: PCx86 <component> Element
|
||||||
permalink: /docs/pcx86/component/
|
permalink: /pubs/pcx86/component/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Component
|
PCx86 Component
|
||||||
---
|
---------------
|
||||||
|
|
||||||
Format
|
Format
|
||||||
---
|
------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<component>...</component>
|
<component>...</component>
|
||||||
```
|
```
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
---
|
-------
|
||||||
|
|
||||||
Describes a machine component. It is transformed into an outer "component" <div> and an inner "container" <div>.
|
Describes a machine component. It is transformed into an outer "component" <div> and an inner "container" <div>.
|
||||||
See **Output** details below.
|
See **Output** details below.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
---
|
----------
|
||||||
|
|
||||||
* *id* (optional)
|
* *id* (optional)
|
||||||
* ID of the component <div> that uniquely identifies the component on the page.
|
* ID of the component <div> that uniquely identifies the component on the page.
|
||||||
* *name* (optional)
|
* *name* (optional)
|
||||||
|
|
@ -36,7 +39,8 @@ Attributes
|
||||||
* Value(s), if any, used as-is for the container <div>.
|
* Value(s), if any, used as-is for the container <div>.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
---
|
-------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<component id="ibm5150" class="pcx86" width="740px" pos="center" border="1">
|
<component id="ibm5150" class="pcx86" width="740px" pos="center" border="1">
|
||||||
...
|
...
|
||||||
|
|
@ -44,7 +48,8 @@ Example
|
||||||
```
|
```
|
||||||
|
|
||||||
Output
|
Output
|
||||||
---
|
------
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div id="..." class="pc-component">
|
<div id="..." class="pc-component">
|
||||||
<div class="pc-container">
|
<div class="pc-container">
|
||||||
|
|
@ -1,27 +1,30 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <computer> Element
|
title: PCx86 <computer> Element
|
||||||
permalink: /docs/pcx86/computer/
|
permalink: /pubs/pcx86/computer/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Computer Component
|
PCx86 Computer Component
|
||||||
---
|
------------------------
|
||||||
|
|
||||||
Format
|
Format
|
||||||
---
|
------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<computer>...</computer>
|
<computer>...</computer>
|
||||||
```
|
```
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
---
|
-------
|
||||||
|
|
||||||
The Computer component is responsible for managing all the other components within the machine.
|
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
|
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.
|
and restoring the state of all components, if the machine's resume feature is enabled.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
---
|
----------
|
||||||
|
|
||||||
* *resume* (optional)
|
* *resume* (optional)
|
||||||
* 0: the resume feature is disabled
|
* 0: the resume feature is disabled
|
||||||
* 1: the resume feature is enabled
|
* 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.
|
To return to the original state, you must either disable the *resume* setting or use the "Reset" button.
|
||||||
|
|
||||||
Bindings
|
Bindings
|
||||||
---
|
--------
|
||||||
|
|
||||||
* *reset*
|
* *reset*
|
||||||
|
|
||||||
For use with a control of type *button*, to reset the Computer. This binding is also available
|
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.
|
be saved to the server, if an approriate server key is provided.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
---
|
-------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<computer id="pc" name="IBM PC"/>
|
<computer id="pc" name="IBM PC"/>
|
||||||
```
|
```
|
||||||
|
|
||||||
Output
|
Output
|
||||||
---
|
------
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div id="..." class="pc-computer pc-component" style="">
|
<div id="..." class="pc-computer pc-component" style="">
|
||||||
<div class="pc-container" style="">
|
<div class="pc-container" style="">
|
||||||
|
|
@ -1,24 +1,27 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <cpu> Element
|
title: PCx86 <cpu> Element
|
||||||
permalink: /docs/pcx86/cpu/
|
permalink: /pubs/pcx86/cpu/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 CPU Component
|
PCx86 CPU Component
|
||||||
---
|
-------------------
|
||||||
|
|
||||||
Format
|
Format
|
||||||
---
|
------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<cpu>...</cpu>
|
<cpu>...</cpu>
|
||||||
```
|
```
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
---
|
-------
|
||||||
|
|
||||||
Defines all the properties required for the CPU component to initialize, along with any optional CPU-related UI bindings.
|
Defines all the properties required for the CPU component to initialize, along with any optional CPU-related UI bindings.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
---
|
----------
|
||||||
|
|
||||||
* *model* (optional; default is 8088; supported values include: 8086, 8088, 80186, 80286, and 80386)
|
* *model* (optional; default is 8088; supported values include: 8086, 8088, 80186, 80286, and 80386)
|
||||||
* Defines the CPU model, adjusting the CPU's capabilities accordingly.
|
* 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")
|
* *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.
|
* 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.
|
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.
|
currently support only one CPU component.
|
||||||
|
|
||||||
|
|
||||||
Bindings
|
Bindings
|
||||||
---
|
--------
|
||||||
|
|
||||||
* *run*
|
* *run*
|
||||||
* For use with a control of type *button*, to start/stop the CPU.
|
* For use with a control of type *button*, to start/stop the CPU.
|
||||||
* *reset*
|
* *reset*
|
||||||
* For use with a control of type *button*, to reset the CPU. This binding actually belongs to the
|
* 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.
|
for convenience.
|
||||||
* *speed*
|
* *speed*
|
||||||
* For use with any control with an *textContent* property, to display the current CPU 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.
|
* For use with any control with an *textContent* property, to display the corresponding register's contents.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
---
|
-------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<cpu id="cpu8088" model="8088" autoStart="true">
|
<cpu id="cpu8088" model="8088" autoStart="true">
|
||||||
<control type="button" class="input" binding="run">Run</control>
|
<control type="button" class="input" binding="run">Run</control>
|
||||||
|
|
@ -61,7 +65,8 @@ Example
|
||||||
```
|
```
|
||||||
|
|
||||||
Output
|
Output
|
||||||
---
|
------
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div id="..." class="pc-cpu pc-component" style="">
|
<div id="..." class="pc-cpu pc-component" style="">
|
||||||
<div class="pc-container" style="">
|
<div class="pc-container" style="">
|
||||||
|
|
@ -1,33 +1,37 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <debugger> Element
|
title: PCx86 <debugger> Element
|
||||||
permalink: /docs/pcx86/debugger/
|
permalink: /pubs/pcx86/debugger/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Debugger Component
|
PCx86 Debugger Component
|
||||||
---
|
------------------------
|
||||||
|
|
||||||
Format
|
Format
|
||||||
---
|
------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<debugger>...</debugger>
|
<debugger>...</debugger>
|
||||||
```
|
```
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
---
|
-------
|
||||||
|
|
||||||
Creates an instance of the Debugger component.
|
Creates an instance of the Debugger component.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
---
|
----------
|
||||||
|
|
||||||
* *messages* (optional)
|
* *messages* (optional)
|
||||||
* One or more message categories to enable, separated by |. By default, all message categories are disabled.
|
* 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.
|
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.
|
currently support only one Debugger component.
|
||||||
|
|
||||||
Bindings
|
Bindings
|
||||||
---
|
--------
|
||||||
|
|
||||||
* *debugInput*
|
* *debugInput*
|
||||||
* For use with a control of type *text*, to input Debugger commands. Commands are submitted to the Debugger
|
* 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.
|
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).
|
* For use with a control of type *button*, to step over the next instruction (assuming the CPU is currently halted).
|
||||||
|
|
||||||
Commands
|
Commands
|
||||||
---
|
--------
|
||||||
|
|
||||||
Use the Debugger's built-in help for a list of commands.
|
Use the Debugger's built-in help for a list of commands.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
---
|
-------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<debugger/>
|
<debugger/>
|
||||||
```
|
```
|
||||||
|
|
||||||
Output
|
Output
|
||||||
---
|
------
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div id="..." class="pc-debugger pc-component" style="">
|
<div id="..." class="pc-debugger pc-component" style="">
|
||||||
<div class="pc-container" style="">
|
<div class="pc-container" style="">
|
||||||
|
|
@ -1,18 +1,18 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 Documentation Examples
|
title: PCx86 Documentation Examples
|
||||||
permalink: /docs/pcx86/examples/
|
permalink: /pubs/pcx86/examples/
|
||||||
machines:
|
machines:
|
||||||
- id: example3
|
- id: example3
|
||||||
type: pcx86
|
type: pcx86
|
||||||
config: /docs/pcx86/examples/example3b.xml
|
config: /pubs/pcx86/examples/example3b.xml
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Documentation Examples
|
PCx86 Documentation Examples
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
This folder provides all the self-contained [PCx86](/docs/about/pcx86/) examples described in the
|
This folder provides all the self-contained [PCx86](/pubs/about/pcx86/) examples described in the
|
||||||
[Documentation](/docs/pcx86/).
|
[Documentation](/pubs/pcx86/).
|
||||||
|
|
||||||
To use them, download [examples.zip](examples.zip), unzip it into a folder on your desktop computer or web server,
|
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
|
and experiment with them in your web browser. Since all these examples are self-contained, they should work with either
|
||||||
|
|
@ -1,20 +1,22 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <fdc> Element
|
title: PCx86 <fdc> Element
|
||||||
permalink: /docs/pcx86/fdc/
|
permalink: /pubs/pcx86/fdc/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Floppy Drive Controller (FDC) Component
|
PCx86 Floppy Drive Controller (FDC) Component
|
||||||
---
|
---------------------------------------------
|
||||||
|
|
||||||
Format
|
Format
|
||||||
---
|
------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<fdc>...</fdc>
|
<fdc>...</fdc>
|
||||||
```
|
```
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
---
|
-------
|
||||||
|
|
||||||
Creates an instance of the Floppy Drive Controller (FDC) component. The FDC is responsible for:
|
Creates an instance of the Floppy Drive Controller (FDC) component. The FDC is responsible for:
|
||||||
|
|
||||||
- Automatically loading diskette image files at boot;
|
- 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.
|
- Saving/restoring all user diskette modifications in browser local storage.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
---
|
----------
|
||||||
|
|
||||||
* *autoMount* (optional)
|
* *autoMount* (optional)
|
||||||
|
|
||||||
This is an object definition containing one or more drive-letter properties.
|
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"}}'
|
'{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
|
Bindings
|
||||||
---
|
--------
|
||||||
|
|
||||||
* *listDrives*
|
* *listDrives*
|
||||||
|
|
||||||
For use with a control of type *list*. The list will be populated automatically with a series of <option>
|
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
|
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*
|
* *listDisks*
|
||||||
|
|
||||||
|
|
@ -54,7 +58,8 @@ Bindings
|
||||||
"None" from the list of diskettes, and click this button.
|
"None" from the list of diskettes, and click this button.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
---
|
-------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<fdc id="fdcNEC" autoMount="'{A: {name: "PC-DOS 1.0", path: "pcdos-1.00.json"}}'">
|
<fdc id="fdcNEC" autoMount="'{A: {name: "PC-DOS 1.0", path: "pcdos-1.00.json"}}'">
|
||||||
<control type="container">
|
<control type="container">
|
||||||
|
|
@ -68,7 +73,8 @@ Example
|
||||||
```
|
```
|
||||||
|
|
||||||
Output
|
Output
|
||||||
---
|
------
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div id="..." class="pc-fdc pc-component">
|
<div id="..." class="pc-fdc pc-component">
|
||||||
<div class="pc-container">
|
<div class="pc-container">
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <hdc> Element
|
title: PCx86 <hdc> Element
|
||||||
permalink: /docs/pcx86/hdc/
|
permalink: /pubs/pcx86/hdc/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Hard Drive Controller (HDC) Component
|
PCx86 Hard Drive Controller (HDC) Component
|
||||||
|
|
@ -59,7 +59,7 @@ Attributes
|
||||||
|
|
||||||
The default *type* setting is *'XT'*.
|
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
|
Bindings
|
||||||
--------
|
--------
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <keyboard> Element
|
title: PCx86 <keyboard> Element
|
||||||
permalink: /docs/pcx86/keyboard/
|
permalink: /pubs/pcx86/keyboard/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Keyboard Component
|
PCx86 Keyboard Component
|
||||||
|
|
@ -28,7 +28,7 @@ Attributes
|
||||||
* us84: US keyboard with 84-key layout
|
* us84: US keyboard with 84-key layout
|
||||||
* us101: US keyboard with 101-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
|
Bindings
|
||||||
--------
|
--------
|
||||||
|
|
@ -1,45 +1,51 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <machine> Element
|
title: PCx86 <machine> Element
|
||||||
permalink: /docs/pcx86/machine/
|
permalink: /pubs/pcx86/machine/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Machine Component
|
PCx86 Machine Component
|
||||||
---
|
-----------------------
|
||||||
|
|
||||||
Format
|
Format
|
||||||
---
|
------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<machine>...</machine>
|
<machine>...</machine>
|
||||||
```
|
```
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
---
|
-------
|
||||||
|
|
||||||
Container for a complete machine definition.
|
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
|
Attributes
|
||||||
---
|
----------
|
||||||
|
|
||||||
* *class* (required)
|
* *class* (required)
|
||||||
|
|
||||||
For PCx86 machines, this must be set to "pcx86", indicating the machine belongs to the PCx86 application.
|
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*.
|
unless there is more than one machine on a page, in which case each machine must have a unique *id*.
|
||||||
|
|
||||||
Bindings
|
Bindings
|
||||||
---
|
--------
|
||||||
|
|
||||||
None.
|
None.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
---
|
-------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<machine id="ibm5150" class="pcx86" width="740px" pos="center" border="1" style="background-color:#FAEBD7">...</machine>
|
<machine id="ibm5150" class="pcx86" width="740px" pos="center" border="1" style="background-color:#FAEBD7">...</machine>
|
||||||
```
|
```
|
||||||
|
|
||||||
Output
|
Output
|
||||||
---
|
------
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div id="..." class="pc-machine pc-component" style="">
|
<div id="..." class="pc-machine pc-component" style="">
|
||||||
<div class="pc-container" style="">
|
<div class="pc-container" style="">
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <mouse> Element
|
title: PCx86 <mouse> Element
|
||||||
permalink: /docs/pcx86/mouse/
|
permalink: /pubs/pcx86/mouse/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Mouse Component
|
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
|
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
|
Bindings
|
||||||
--------
|
--------
|
||||||
|
|
@ -1,35 +1,40 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <panel> Element
|
title: PCx86 <panel> Element
|
||||||
permalink: /docs/pcx86/panel/
|
permalink: /pubs/pcx86/panel/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Control Panel Component
|
PCx86 Control Panel Component
|
||||||
---
|
-----------------------------
|
||||||
|
|
||||||
Format
|
Format
|
||||||
---
|
------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<panel>...</panel>
|
<panel>...</panel>
|
||||||
```
|
```
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
---
|
-------
|
||||||
|
|
||||||
Creates an instance of the Control Panel component, which simply acts as a container for controls that the
|
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/)*,
|
machine wants to bind to the *[Computer](/pubs/pcx86/computer/)*, *[CPU](/pubs/pcx86/cpu/)*,
|
||||||
*[Keyboard](/docs/pcx86/keyboard/)* and/or *[Debugger](/docs/pcx86/debugger/)* components.
|
*[Keyboard](/pubs/pcx86/keyboard/)* and/or *[Debugger](/pubs/pcx86/debugger/)* components.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
---
|
----------
|
||||||
|
|
||||||
None.
|
None.
|
||||||
|
|
||||||
Bindings
|
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
|
Example
|
||||||
---
|
-------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<panel id="panel" pos="center" width="900px" padleft="8px">
|
<panel id="panel" pos="center" width="900px" padleft="8px">
|
||||||
<name>Control Panel</name>
|
<name>Control Panel</name>
|
||||||
|
|
@ -47,7 +52,8 @@ Example
|
||||||
See [/devices/pcx86/panel/default.xml](/devices/pcx86/panel/default.xml) for a more complete example.
|
See [/devices/pcx86/panel/default.xml](/devices/pcx86/panel/default.xml) for a more complete example.
|
||||||
|
|
||||||
Output
|
Output
|
||||||
---
|
------
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div id="..." class="pc-panel pc-component">
|
<div id="..." class="pc-panel pc-component">
|
||||||
<div class="pc-container">
|
<div class="pc-container">
|
||||||
|
|
@ -1,24 +1,27 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <parallel> Element
|
title: PCx86 <parallel> Element
|
||||||
permalink: /docs/pcx86/parallel/
|
permalink: /pubs/pcx86/parallel/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 ParallelPort Component
|
PCx86 ParallelPort Component
|
||||||
---
|
----------------------------
|
||||||
|
|
||||||
Format
|
Format
|
||||||
---
|
------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<parallel>...</parallel>
|
<parallel>...</parallel>
|
||||||
```
|
```
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
---
|
-------
|
||||||
|
|
||||||
Creates an instance of the ParallelPort component, which simulates an IBM PC Parallel Printer Adapter.
|
Creates an instance of the ParallelPort component, which simulates an IBM PC Parallel Printer Adapter.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
---
|
----------
|
||||||
|
|
||||||
* *adapter* (required)
|
* *adapter* (required)
|
||||||
|
|
||||||
A number (1, 2, or 3) indicating whether this adapter uses port 0x3BC, 0x378, or 0x278. Adapters 1 and 2
|
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
|
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.
|
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
|
Bindings
|
||||||
---
|
--------
|
||||||
|
|
||||||
* *buffer*
|
* *buffer*
|
||||||
|
|
||||||
For use with a control of type "textarea", to send/receive data to/from the port. If you would rather
|
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).
|
bind the port to an existing control, then use *binding* attribute instead (see above).
|
||||||
|
|
||||||
Example
|
Example
|
||||||
---
|
-------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<parallel id="lpt1" adapter="2" binding="print"/>
|
<parallel id="lpt1" adapter="2" binding="print"/>
|
||||||
```
|
```
|
||||||
|
|
||||||
Output
|
Output
|
||||||
---
|
------
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div id="..." class="pc-parallel pc-component">
|
<div id="..." class="pc-parallel pc-component">
|
||||||
<div class="pc-container">
|
<div class="pc-container">
|
||||||
|
|
@ -1,42 +1,46 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <ram> Element
|
title: PCx86 <ram> Element
|
||||||
permalink: /docs/pcx86/ram/
|
permalink: /pubs/pcx86/ram/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Random-Access Memory (RAM) Component
|
PCx86 Random-Access Memory (RAM) Component
|
||||||
---
|
------------------------------------------
|
||||||
|
|
||||||
Format
|
Format
|
||||||
---
|
------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<ram>...</ram>
|
<ram>...</ram>
|
||||||
```
|
```
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
---
|
-------
|
||||||
|
|
||||||
Creates an instance of the RAM component. Multiple instances can be defined, if necessary,
|
Creates an instance of the RAM component. Multiple instances can be defined, if necessary,
|
||||||
to create discontiguous blocks of RAM.
|
to create discontiguous blocks of RAM.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
---
|
----------
|
||||||
|
|
||||||
* *addr* (required)
|
* *addr* (required)
|
||||||
|
|
||||||
The RAM starting address (e.g., 0x00000).
|
The RAM starting address (e.g., 0x00000).
|
||||||
|
|
||||||
* *size* (optional; default is 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.
|
is queried for the amount of RAM indicated by SW1/SW2.
|
||||||
|
|
||||||
* *test* (optional; default is true)
|
* *test* (optional; default is true)
|
||||||
|
|
||||||
Disables the ROM BIOS memory test when set to "false".
|
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
|
Bindings
|
||||||
---
|
--------
|
||||||
|
|
||||||
* *test*
|
* *test*
|
||||||
|
|
||||||
For use with a control of type checkbox, to enable/disable the ROM BIOS memory test.
|
For use with a control of type checkbox, to enable/disable the ROM BIOS memory test.
|
||||||
|
|
@ -44,13 +48,15 @@ Bindings
|
||||||
TODO: Implement.
|
TODO: Implement.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
---
|
-------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<ram id="ramLow" addr="0x00000"/>
|
<ram id="ramLow" addr="0x00000"/>
|
||||||
```
|
```
|
||||||
|
|
||||||
Output
|
Output
|
||||||
---
|
------
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div id="..." class="pc-ram pc-component">
|
<div id="..." class="pc-ram pc-component">
|
||||||
<div class="pc-container">
|
<div class="pc-container">
|
||||||
|
|
@ -1,24 +1,27 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <rom> Element
|
title: PCx86 <rom> Element
|
||||||
permalink: /docs/pcx86/rom/
|
permalink: /pubs/pcx86/rom/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Read-Only Memory (ROM) Component
|
PCx86 Read-Only Memory (ROM) Component
|
||||||
---
|
--------------------------------------
|
||||||
|
|
||||||
Format
|
Format
|
||||||
---
|
------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<rom>...</rom>
|
<rom>...</rom>
|
||||||
```
|
```
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
---
|
-------
|
||||||
|
|
||||||
Creates an instance of the ROM component. One instance per ROM image file is required.
|
Creates an instance of the ROM component. One instance per ROM image file is required.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
---
|
----------
|
||||||
|
|
||||||
* *addr* (required)
|
* *addr* (required)
|
||||||
|
|
||||||
The ROM starting address (e.g., 0xfe000).
|
The ROM starting address (e.g., 0xfe000).
|
||||||
|
|
@ -33,24 +36,27 @@ Attributes
|
||||||
|
|
||||||
* *notify* (optional)
|
* *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,
|
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.
|
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
|
Bindings
|
||||||
---
|
--------
|
||||||
|
|
||||||
None.
|
None.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
---
|
-------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<rom id="romBIOS" addr="0xfe000" size="0x02000" file="/devices/pcx86/rom/5150/bios/1981-04-24.json"/>
|
<rom id="romBIOS" addr="0xfe000" size="0x02000" file="/devices/pcx86/rom/5150/bios/1981-04-24.json"/>
|
||||||
```
|
```
|
||||||
|
|
||||||
Output
|
Output
|
||||||
---
|
------
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div id="..." class="pc-rom pc-component">
|
<div id="..." class="pc-rom pc-component">
|
||||||
<div class="pc-container">
|
<div class="pc-container">
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <serial> Element
|
title: PCx86 <serial> Element
|
||||||
permalink: /docs/pcx86/serial/
|
permalink: /pubs/pcx86/serial/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 SerialPort Component
|
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
|
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.
|
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
|
Bindings
|
||||||
--------
|
--------
|
||||||
|
|
@ -1,20 +1,22 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 <video> Element
|
title: PCx86 <video> Element
|
||||||
permalink: /docs/pcx86/video/
|
permalink: /pubs/pcx86/video/
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Video Component
|
PCx86 Video Component
|
||||||
---
|
---------------------
|
||||||
|
|
||||||
Format
|
Format
|
||||||
---
|
------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<video>...</video>
|
<video>...</video>
|
||||||
```
|
```
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
---
|
-------
|
||||||
|
|
||||||
Creates an instance of the Video component. This component is responsible for:
|
Creates an instance of the Video component. This component is responsible for:
|
||||||
|
|
||||||
- Creating the canvas element representing the machine's screen;
|
- 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
|
- Periodically rendering the video buffer contents to the canvas element
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
---
|
----------
|
||||||
|
|
||||||
* *model* (optional)
|
* *model* (optional)
|
||||||
|
|
||||||
* "mda" (Monochrome Display Adapter)
|
* "mda" (Monochrome Display Adapter)
|
||||||
* "cga" (Color Graphics Adapter)
|
* "cga" (Color Graphics Adapter)
|
||||||
* "ega" (Enhanced 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).
|
determine the video model to use ("mda" or "cga" only).
|
||||||
|
|
||||||
* *screenWidth*, *screenHeight* (required)
|
* *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);
|
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.
|
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
|
Bindings
|
||||||
---
|
--------
|
||||||
|
|
||||||
* *refresh*
|
* *refresh*
|
||||||
|
|
||||||
For use with a control of type button, this manually refreshes the screen from the video buffer.
|
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.
|
Refreshes occur automatically, so this will generally not be necessary, except in certain diagnostic situations.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
---
|
-------
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<video id="videoMDA" screenWidth="720" screenHeight="350" fontROM="ibm-mda-cga.json" scale="true">
|
<video id="videoMDA" screenWidth="720" screenHeight="350" fontROM="ibm-mda-cga.json" scale="true">
|
||||||
<name>Monochrome Display</name>
|
<name>Monochrome Display</name>
|
||||||
|
|
@ -81,7 +86,8 @@ Example
|
||||||
```
|
```
|
||||||
|
|
||||||
Output
|
Output
|
||||||
---
|
------
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div id="..." class="pc-video pc-component">
|
<div id="..." class="pc-video pc-component">
|
||||||
<div class="pc-container">
|
<div class="pc-container">
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PDPjs Overview
|
title: PDPjs Overview
|
||||||
permalink: /docs/pdpjs/
|
permalink: /pubs/pdpjs/
|
||||||
---
|
---
|
||||||
|
|
||||||
PDPjs Overview
|
PDPjs Overview
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: Personal Documents of Dubious Historical Interest
|
title: Personal Documents of Dubious Historical Interest
|
||||||
permalink: /docs/personal/
|
permalink: /pubs/personal/
|
||||||
---
|
---
|
||||||
|
|
||||||
Personal Documents of Dubious Historical Interest
|
Personal Documents of Dubious Historical Interest
|
||||||
|
|
@ -14,8 +14,8 @@ adventures in PC debugging: decoding and disabling [dBASE III Copy-Protection](#
|
||||||
|
|
||||||
### dBASE III Copy-Protection
|
### dBASE III Copy-Protection
|
||||||
|
|
||||||
* [dBASE III Debugging Notes](/docs/personal/1984-09-16--DBASE_III_DEBUG.pdf)
|
* [dBASE III Debugging Notes](/pubs/personal/1984-09-16--DBASE_III_DEBUG.pdf)
|
||||||
* [dBASE III Patching Procedure](/docs/personal/1984-09-25--DBASE_III_PATCH.pdf)
|
* [dBASE III Patching Procedure](/pubs/personal/1984-09-25--DBASE_III_PATCH.pdf)
|
||||||
|
|
||||||
NOTE: Copies of the [dBASE III](/disks/pcx86/apps/other/dbase3/1.0/) disks can be found in our [IBM PC Disk Library](/disks/pcx86/).
|
NOTE: Copies of the [dBASE III](/disks/pcx86/apps/other/dbase3/1.0/) disks can be found in our [IBM PC Disk Library](/disks/pcx86/).
|
||||||
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: x86 Documentation
|
title: x86 Documentation
|
||||||
permalink: /docs/x86/
|
permalink: /pubs/x86/
|
||||||
---
|
---
|
||||||
|
|
||||||
Placeholder for future x86 documentation.
|
Placeholder for future x86 documentation.
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: "x86 Instructions: AAA"
|
title: "x86 Instructions: AAA"
|
||||||
permalink: /docs/x86/ops/AAA/
|
permalink: /pubs/x86/ops/AAA/
|
||||||
---
|
---
|
||||||
|
|
||||||
AAA (0x37)
|
AAA (0x37)
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: "x86 Instructions: AAD"
|
title: "x86 Instructions: AAD"
|
||||||
permalink: /docs/x86/ops/AAD/
|
permalink: /pubs/x86/ops/AAD/
|
||||||
---
|
---
|
||||||
|
|
||||||
AAD (0xD5)
|
AAD (0xD5)
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: "x86 Instructions: AAM"
|
title: "x86 Instructions: AAM"
|
||||||
permalink: /docs/x86/ops/AAM/
|
permalink: /pubs/x86/ops/AAM/
|
||||||
---
|
---
|
||||||
|
|
||||||
AAM (0xD4)
|
AAM (0xD4)
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: "x86 Instructions: ICEBP"
|
title: "x86 Instructions: ICEBP"
|
||||||
permalink: /docs/x86/ops/ICEBP/
|
permalink: /pubs/x86/ops/ICEBP/
|
||||||
---
|
---
|
||||||
|
|
||||||
ICEBP (0xF1)
|
ICEBP (0xF1)
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: "x86 Instructions: LOADALL"
|
title: "x86 Instructions: LOADALL"
|
||||||
permalink: /docs/x86/ops/LOADALL/
|
permalink: /pubs/x86/ops/LOADALL/
|
||||||
---
|
---
|
||||||
|
|
||||||
LOADALL386 (0x070F)
|
LOADALL386 (0x070F)
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue