Documentation updates
This commit is contained in:
parent
a05f9b58fd
commit
06094fcd48
20 changed files with 298 additions and 122 deletions
|
|
@ -45,9 +45,9 @@ Some pre-configured machines are shown below, ready to run BASIC, DOS, Windows,
|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
Check out the rest of the PCjs [Application](/apps/pc/), [Disk](/disks/pc/), and [Machine](/devices/pc/machine/)
|
There are many more [PCjs Demos](/devices/pc/machine/#ready-to-run-app-demos), including an
|
||||||
demos, including an [IBM PC with Dual Displays](/devices/pc/machine/5150/dual/64kb/) demonstrating early multi-monitor
|
[IBM PC with Dual Displays](/devices/pc/machine/5150/dual/64kb/) demonstrating early multi-monitor support,
|
||||||
support, and multiple IBM PC XT machines running side-by-side with [CGA Displays](/devices/pc/machine/5160/cga/256kb/array/)
|
and multiple IBM PC XT machines running side-by-side with [CGA Displays](/devices/pc/machine/5160/cga/256kb/array/)
|
||||||
and [EGA Displays](/devices/pc/machine/5160/ega/640kb/array/).
|
and [EGA Displays](/devices/pc/machine/5160/ega/640kb/array/).
|
||||||
|
|
||||||
C1Pjs
|
C1Pjs
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ Below are selected demos of classic IBM PC applications running on [PCjs](/docs/
|
||||||
* [ThinkTank (1987)](1987/thinktank/)
|
* [ThinkTank (1987)](1987/thinktank/)
|
||||||
* [The Dungeons of Moria (1992)](1992/moria/)
|
* [The Dungeons of Moria (1992)](1992/moria/)
|
||||||
|
|
||||||
Additional software is available in the [IBM PC Disk Archive](/disks/pc/).
|
A list of all the software available to PCjs machines can be found in the [IBM PC Disk Library](/disks/pc/).
|
||||||
|
|
||||||
### Creating IBM PC Application Demos
|
### Creating IBM PC Application Demos
|
||||||
|
|
||||||
|
|
@ -34,8 +34,8 @@ Next, the [manifest](1981/visicalc/manifest.xml) required a disk image containin
|
||||||
cd apps/pc/1981/visicalc
|
cd apps/pc/1981/visicalc
|
||||||
node ../../../../modules/diskdump/bin/diskdump --path="archive/VC.COM;../README.md" --format=json --output=disk.json --manifest
|
node ../../../../modules/diskdump/bin/diskdump --path="archive/VC.COM;../README.md" --format=json --output=disk.json --manifest
|
||||||
|
|
||||||
The DiskDump command created a disk image named "disk.json" containing two files ("VC.COM" from the "static" subdirectory,
|
The DiskDump command created a disk image named "disk.json" containing two files ("VC.COM" from the "archive" subdirectory,
|
||||||
and "README.md" from the "static" parent directory) and automatically added that disk image to the demo's [manifest](1981/visicalc/manifest.xml):
|
and "README.md" from the "archive" parent directory) and automatically added that disk image to the demo's [manifest](1981/visicalc/manifest.xml):
|
||||||
|
|
||||||
<disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1981/visicalc/disk.json" md5="61494f998d5fb0e31e7b8bd99f1cc588" md5json="3ad82ed815725e6bd786f92a4714e84f">
|
<disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1981/visicalc/disk.json" md5="61494f998d5fb0e31e7b8bd99f1cc588" md5json="3ad82ed815725e6bd786f92a4714e84f">
|
||||||
<file size="27520" time="1981-12-16 23:00:00" attr="0x20" md5="28997dfedb2440c6054d8be835be8634">VC.COM</file>
|
<file size="27520" time="1981-12-16 23:00:00" attr="0x20" md5="28997dfedb2440c6054d8be835be8634">VC.COM</file>
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,8 @@ Complete machine configurations are constructed from those devices. A machine c
|
||||||
that lists all the device components to be used. A machine XML file can choose to configure every device itself,
|
that lists all the device components to be used. A machine XML file can choose to configure every device itself,
|
||||||
or it can include pre-configured device XML files, such as those provided above or elsewhere.
|
or it can include pre-configured device XML files, such as those provided above or elsewhere.
|
||||||
|
|
||||||
For example, here's what the machine located at [/devices/pc/machine/5150/mda/64kb/machine.xml](/devices/pc/machine/5150/mda/64kb/machine.xml)
|
For example, here's what the machine located at
|
||||||
looks like:
|
[/devices/pc/machine/5150/mda/64kb/machine.xml](/devices/pc/machine/5150/mda/64kb/machine.xml) looks like:
|
||||||
|
|
||||||
<machine id="ibm5150" class="pc" border="1" pos="center" background="#FAEBD7">
|
<machine id="ibm5150" class="pc" border="1" pos="center" background="#FAEBD7">
|
||||||
<name pos="center">IBM PC (Model 5150) with Monochrome Display</name>
|
<name pos="center">IBM PC (Model 5150) with Monochrome Display</name>
|
||||||
|
|
@ -47,5 +47,6 @@ looks like:
|
||||||
<chipset id="chipset" model="5150" sw1="01000001" sw2="11110000"/>
|
<chipset id="chipset" model="5150" sw1="01000001" sw2="11110000"/>
|
||||||
</machine>
|
</machine>
|
||||||
|
|
||||||
All the devices are fully configured within the XML file, except for the Keyboard and Floppy Disk Controller (FDC)
|
All the devices are fully configured within the XML file, except for the [Video](/docs/pcjs/video/),
|
||||||
devices, which are defined in separate XML files.
|
[Keyboard](/docs/pcjs/keyboard/), and [Floppy Disk Controller (FDC)](/docs/pcjs/fdc/) components, which are defined
|
||||||
|
in separate XML files.
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,41 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: 8042 Keyboard Controller Internals
|
title: IBM PC Keyboard Devices
|
||||||
permalink: /devices/pc/keyboard/
|
permalink: /devices/pc/keyboard/
|
||||||
---
|
---
|
||||||
|
|
||||||
8042 Keyboard Controller Internals
|
IBM PC Keyboard Devices
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### Keyboard Configuration Files
|
||||||
|
|
||||||
|
The easiest way for a machine to include a *[Keyboard](/docs/pcjs/keyboard/)* component in its XML configuration file
|
||||||
|
is to reference one of the project's keyboard configuration files, using the *ref* attribute; eg:
|
||||||
|
|
||||||
|
<keyboard ref="/devices/pc/keyboard/us83-buttons-minimal.xml"/>
|
||||||
|
|
||||||
|
The referenced XML file automatically defines the keyboard's hardware characteristics (eg, model) and
|
||||||
|
any visual elements, such as buttons to simulate common keystrokes, or even complete "soft keyboard" layouts.
|
||||||
|
|
||||||
|
Here's what *us83-buttons-minimal.xml* currently looks like:
|
||||||
|
|
||||||
|
<keyboard id="keyboard" model="us83" pos="left" padleft="8px" padbottom="8px">
|
||||||
|
<control type="button" binding="esc">ESC</control>
|
||||||
|
<control type="button" binding="f1">F1</control>
|
||||||
|
<control type="button" binding="f10">F10</control>
|
||||||
|
</keyboard>
|
||||||
|
|
||||||
|
The following IBM keyboard configuration files are currently available:
|
||||||
|
|
||||||
|
- [us83-buttons-arrows.xml](us83-buttons-arrows.xml)
|
||||||
|
- [us83-buttons-functions.xml](us83-buttons-functions.xml)
|
||||||
|
- [us83-buttons-minimal.xml](us83-buttons-minimal.xml)
|
||||||
|
- [us83-buttons-softkeys.xml](us83-buttons-softkeys.xml)
|
||||||
|
- [us84-buttons-arrows.xml](us84-buttons-arrows.xml)
|
||||||
|
- [us84-buttons-functions.xml](us84-buttons-functions.xml)
|
||||||
|
|
||||||
|
### 8042 Keyboard Controller Internals
|
||||||
|
|
||||||
The following documents were obtained from [halicery.com](http://halicery.com/):
|
The following documents were obtained from [halicery.com](http://halicery.com/):
|
||||||
|
|
||||||
- [8042_INTERN.TXT](8042_INTERN.TXT)
|
- [8042_INTERN.TXT](8042_INTERN.TXT)
|
||||||
|
|
|
||||||
13
devices/pc/machine/5170/README.md
Normal file
13
devices/pc/machine/5170/README.md
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: IBM PC AT (Model 5170)
|
||||||
|
permalink: /devices/pc/machine/5170/
|
||||||
|
---
|
||||||
|
|
||||||
|
IBM PC AT Machines (Model 5170)
|
||||||
|
---
|
||||||
|
|
||||||
|
All our Model 5170, aka IBM PC AT, configurations are located here, including:
|
||||||
|
|
||||||
|
* [IBM PC AT with EGA Display](/devices/pc/machine/5170/ega/)
|
||||||
|
* [IBM PC AT with VGA Display](/devices/pc/machine/5170/vga/)
|
||||||
10
devices/pc/machine/5170/ega/640kb/rev1/machine.md
Normal file
10
devices/pc/machine/5170/ega/640kb/rev1/machine.md
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "IBM PC AT (Model 5170, 640Kb) with EGA Display"
|
||||||
|
permalink: /devices/pc/machine/5170/ega/640kb/rev1/
|
||||||
|
machines:
|
||||||
|
- type: pc
|
||||||
|
id: ibm5170
|
||||||
|
---
|
||||||
|
|
||||||
|
{% include machine.html id="ibm5170" %}
|
||||||
15
devices/pc/machine/5170/ega/README.md
Normal file
15
devices/pc/machine/5170/ega/README.md
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "IBM PC AT (Model 5170) with Enhanced Color Display"
|
||||||
|
permalink: /devices/pc/machine/5170/ega/
|
||||||
|
---
|
||||||
|
|
||||||
|
IBM PC AT with Enhanced Color Graphics (EGA) Display
|
||||||
|
---
|
||||||
|
|
||||||
|
All our Enhanced Color Graphics (EGA) configurations of the IBM PC AT (Model 5170) are located here, including:
|
||||||
|
|
||||||
|
* [IBM PC AT (6Mhz, 640Kb) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/640kb/rev1/debugger/)
|
||||||
|
* [IBM PC AT (6Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev1/debugger/)
|
||||||
|
* [IBM PC AT (8Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/)
|
||||||
|
* [IBM PC AT (8Mhz, 2Mb, 20Mb Drive) with EGA Display](/devices/pc/machine/5170/ega/2048kb/rev3/) ([Debugger](/devices/pc/machine/5170/ega/2048kb/rev3/debugger/))
|
||||||
12
devices/pc/machine/5170/vga/README.md
Normal file
12
devices/pc/machine/5170/vga/README.md
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "IBM PC AT (Model 5170) with VGA Display"
|
||||||
|
permalink: /devices/pc/machine/5170/vga/
|
||||||
|
---
|
||||||
|
|
||||||
|
IBM PC AT with VGA Display
|
||||||
|
---
|
||||||
|
|
||||||
|
All our VGA configurations of the IBM PC AT (Model 5170) are located here, including:
|
||||||
|
|
||||||
|
* [IBM PC AT (8Mhz, 2Mb, 20Mb Drive) with VGA Display](/devices/pc/machine/5170/vga/2048kb/) ([Debugger](/devices/pc/machine/5170/vga/2048kb/debugger/))
|
||||||
|
|
@ -21,9 +21,8 @@ along with these IBM PC-compatibles:
|
||||||
|
|
||||||
* [COMPAQ](/devices/pc/machine/compaq/) (eg, [DeskPro 386](/devices/pc/machine/compaq/deskpro386/))
|
* [COMPAQ](/devices/pc/machine/compaq/) (eg, [DeskPro 386](/devices/pc/machine/compaq/deskpro386/))
|
||||||
|
|
||||||
We also support a few non-IBM [Devices](/devices/):
|
Learn more about the [Devices](/devices/) used to build all our machines, such as the 6502-based
|
||||||
|
[Ohio Scientific Challenger 1P](/devices/c1p/machine/).
|
||||||
* [6502 Challenger 1P](/devices/c1p/machine/)
|
|
||||||
|
|
||||||
### Ready-To-Run App Demos
|
### Ready-To-Run App Demos
|
||||||
|
|
||||||
|
|
@ -37,7 +36,7 @@ Machines from our [IBM PC Application Archive](/apps/pc/):
|
||||||
|
|
||||||
### Ready-To-Boot Disk Demos
|
### Ready-To-Boot Disk Demos
|
||||||
|
|
||||||
And here are some machines from our [IBM PC Disk Archive](/disks/pc/):
|
And here are some machines from our [IBM PC Disk Library](/disks/pc/):
|
||||||
|
|
||||||
* [CP/M-86 v1.1B](/disks/pc/cpm/1.1b/)
|
* [CP/M-86 v1.1B](/disks/pc/cpm/1.1b/)
|
||||||
* [PC-DOS 1.00](/disks/pc/dos/ibm/1.00/)
|
* [PC-DOS 1.00](/disks/pc/dos/ibm/1.00/)
|
||||||
|
|
@ -58,9 +57,11 @@ a predefined state, which automatically restores the machine and the specified a
|
||||||
state, while others include a hard disk with preinstalled software.
|
state, while others include a hard disk with preinstalled software.
|
||||||
|
|
||||||
However, most simply boot an early version of DOS, and the hard disk, if any, will generally be unformatted.
|
However, most simply boot an early version of DOS, and the hard disk, if any, will generally be unformatted.
|
||||||
From there, you can load another disk image
|
From there, you can other disks and install other software.
|
||||||
|
|
||||||
### [Model 5150 Machine Configurations](/devices/pc/machine/5150/)
|
### Model 5150 Machine Configurations
|
||||||
|
|
||||||
|
[Model 5150 Machines](/devices/pc/machine/5150/) include:
|
||||||
|
|
||||||
* [IBM PC (64Kb) with Monochrome Display](/devices/pc/machine/5150/mda/64kb/) ([Debugger](/devices/pc/machine/5150/mda/64kb/debugger/))
|
* [IBM PC (64Kb) with Monochrome Display](/devices/pc/machine/5150/mda/64kb/) ([Debugger](/devices/pc/machine/5150/mda/64kb/debugger/))
|
||||||
* [IBM PC (64Kb) with Monochrome Display and Soft Keyboard (Debugger)](/devices/pc/machine/5150/mda/64kb/softkbd/)
|
* [IBM PC (64Kb) with Monochrome Display and Soft Keyboard (Debugger)](/devices/pc/machine/5150/mda/64kb/softkbd/)
|
||||||
|
|
@ -69,7 +70,9 @@ From there, you can load another disk image
|
||||||
* [IBM PC (384Kb) with Color Display and Soft Keyboard (Debugger)](/devices/pc/machine/5150/cga/384kb/softkbd/)
|
* [IBM PC (384Kb) with Color Display and Soft Keyboard (Debugger)](/devices/pc/machine/5150/cga/384kb/softkbd/)
|
||||||
* [IBM PC (64Kb) with Dual Displays (Monochrome and Color)](/devices/pc/machine/5150/dual/64kb/)
|
* [IBM PC (64Kb) with Dual Displays (Monochrome and Color)](/devices/pc/machine/5150/dual/64kb/)
|
||||||
|
|
||||||
### [Model 5160 Machine Configurations](/devices/pc/machine/5160/)
|
### Model 5160 Machine Configurations
|
||||||
|
|
||||||
|
[Model 5160 Machines](/devices/pc/machine/5160/) include:
|
||||||
|
|
||||||
* [IBM PC XT (64Kb, 10Mb Drive) with Monochrome Display](/devices/pc/machine/5160/mda/64kb/softkbd/)
|
* [IBM PC XT (64Kb, 10Mb Drive) with Monochrome Display](/devices/pc/machine/5160/mda/64kb/softkbd/)
|
||||||
* [IBM PC XT (256Kb, 10Mb Drive) with Monochrome Display](/devices/pc/machine/5160/mda/256kb/) ([Debugger](/devices/pc/machine/5160/mda/256kb/debugger/))
|
* [IBM PC XT (256Kb, 10Mb Drive) with Monochrome Display](/devices/pc/machine/5160/mda/256kb/) ([Debugger](/devices/pc/machine/5160/mda/256kb/debugger/))
|
||||||
|
|
@ -87,6 +90,8 @@ From there, you can load another disk image
|
||||||
|
|
||||||
### Model 5170 Machine Configurations
|
### Model 5170 Machine Configurations
|
||||||
|
|
||||||
|
[Model 5170 Machines](/devices/pc/machine/5170/) include:
|
||||||
|
|
||||||
* [IBM PC AT (6Mhz, 640Kb) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/640kb/rev1/debugger/)
|
* [IBM PC AT (6Mhz, 640Kb) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/640kb/rev1/debugger/)
|
||||||
* [IBM PC AT (6Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev1/debugger/)
|
* [IBM PC AT (6Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev1/debugger/)
|
||||||
* [IBM PC AT (8Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/)
|
* [IBM PC AT (8Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/)
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,13 @@ permalink: /devices/pc/panel/
|
||||||
IBM PC Control Panels
|
IBM PC Control Panels
|
||||||
---
|
---
|
||||||
|
|
||||||
[Control Panels](/docs/pcjs/panel/) are XML files that define a particular layout for controls provided by the
|
[Control Panels](/docs/pcjs/panel/) are XML files that define layouts for Debugger-related controls.
|
||||||
[Computer](/docs/pcjs/computer/), [CPU](/docs/pcjs/cpu/), [Keyboard](/docs/pcjs/keyboard/)
|
|
||||||
and [Debugger](/docs/pcjs/debugger/) components.
|
The following IBM PC control panel configuration files are currently available:
|
||||||
|
|
||||||
|
- [default.xml](default.xml) (a simple layout for 8086/8088-based machines)
|
||||||
|
- [wide.xml](wide.xml) (a wide version of default.xml)
|
||||||
|
- [wide386.xml](wide386.xml) (a wide version of default.xml for 80386-based machines)
|
||||||
|
|
||||||
|
The visual controls described by these layouts are provided by the [Computer](/docs/pcjs/computer/),
|
||||||
|
[CPU](/docs/pcjs/cpu/), [Keyboard](/docs/pcjs/keyboard/), and [Debugger](/docs/pcjs/debugger/) components.
|
||||||
|
|
|
||||||
|
|
@ -6,16 +6,22 @@ redirect_from:
|
||||||
- /devices/pc/bios/
|
- /devices/pc/bios/
|
||||||
---
|
---
|
||||||
|
|
||||||
BASIC ROMs
|
IBM PC ROMs
|
||||||
---
|
---
|
||||||
|
|
||||||
|
ROMs are added to machines by including one *[ROM](/docs/pcjs/rom/)* component in the machine XML configuration file
|
||||||
|
for each ROM in the machine; eg:
|
||||||
|
|
||||||
|
<rom id="romBIOS" addr="0xf0000" size="0x10000" alias="0xff0000" file="/devices/pc/rom/5170/bios/1984-01-10/ATBIOS-REV1.json"/>
|
||||||
|
|
||||||
|
### BASIC ROMs
|
||||||
|
|
||||||
The project contains the following IBM PC BASIC ROMs:
|
The project contains the following IBM PC BASIC ROMs:
|
||||||
|
|
||||||
* [IBM BASIC 1.00](5150/basic/BASIC100.json)
|
* [IBM BASIC 1.00](5150/basic/BASIC100.json)
|
||||||
* [IBM BASIC 1.10](5160/basic/BASIC110.json)
|
* [IBM BASIC 1.10](5160/basic/BASIC110.json)
|
||||||
|
|
||||||
BIOS ROMs
|
### BIOS ROMs
|
||||||
---
|
|
||||||
|
|
||||||
The project contains the following IBM PC BIOS ROMs:
|
The project contains the following IBM PC BIOS ROMs:
|
||||||
|
|
||||||
|
|
@ -25,7 +31,14 @@ The project contains the following IBM PC BIOS ROMs:
|
||||||
* [Model 5160: Nov 08, 1982](5160/bios/1982-11-08/XTBIOS-REV1.json)
|
* [Model 5160: Nov 08, 1982](5160/bios/1982-11-08/XTBIOS-REV1.json)
|
||||||
* [Model 5160: May 09, 1986](5160/bios/1986-05-09/XTBIOS-REV3.json)
|
* [Model 5160: May 09, 1986](5160/bios/1986-05-09/XTBIOS-REV3.json)
|
||||||
|
|
||||||
As well as BIOS ROMs, with more detailed information, for the following machines:
|
The project also contains BIOS ROMs, along with more detailed information, for the following machines:
|
||||||
|
|
||||||
* [IBM PC AT Model 5170](5170/bios/)
|
* [IBM PC AT Model 5170](5170/bios/)
|
||||||
* [COMPAQ Portable and DeskPro Machines](compaq/bios/)
|
* [COMPAQ Portable and DeskPro Machines](compaq/bios/)
|
||||||
|
|
||||||
|
### Other ROMs
|
||||||
|
|
||||||
|
The project contains other ROMs, including IBM [EGA](/devices/pc/video/ibm/ega/#ibm-ega-rom) and
|
||||||
|
[VGA](/devices/pc/video/ibm/vga/#ibm-vga-rom) ROMs, the Xebec Hard Disk Controller ROM used in
|
||||||
|
the PC XT, etc, but those ROMs seemed more appropriately filed in their respective component folders;
|
||||||
|
eg, [IBM PC Video Devices](/devices/pc/video/).
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,21 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: IBM PC Video Support
|
title: IBM PC Video Devices
|
||||||
permalink: /devices/pc/video/
|
permalink: /devices/pc/video/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM PC Video Support
|
IBM PC Video Devices
|
||||||
---
|
---
|
||||||
|
|
||||||
|
Video devices are added to machines by including a *[Video](/docs/pcjs/video/)* component in the machine XML
|
||||||
|
configuration file. See one of the following video adapters for examples of how to do this.
|
||||||
|
|
||||||
PCjs supports the following IBM PC video adapters:
|
PCjs supports the following IBM PC video adapters:
|
||||||
|
|
||||||
* MDA (Monochrome Display Adapter)
|
* Monochrome Display Adapter (MDA)
|
||||||
* CGA (Color Graphics Adapter)
|
* Color Graphics Adapter (CGA)
|
||||||
* EGA (Enhanced Graphics Adapter)
|
* [Enhanced Graphics Adapter (EGA)](ibm/ega/)
|
||||||
* [VGA](ibm/vga/) (Video Graphics Adapter)
|
* [Video Graphics Array (VGA)](ibm/vga/)
|
||||||
|
|
||||||
More detailed information is available for the following IBM-compatible video adapters:
|
More detailed information is available for the following IBM-compatible video adapters:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,51 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: IBM EGA ROM
|
title: "IBM Enhanced Graphics Adapter (EGA)"
|
||||||
permalink: /devices/pc/video/ibm/ega/
|
permalink: /devices/pc/video/ibm/ega/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM EGA ROM
|
IBM Enhanced Graphics Adapter (EGA)
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### IBM EGA Configurations
|
||||||
|
|
||||||
|
The easiest way for a machine to include an EGA *[Video](/docs/pcjs/video/)* component in its XML configuration file
|
||||||
|
is to reference one of the project's predefined EGA configuration files, using the *ref* attribute; eg:
|
||||||
|
|
||||||
|
<video ref="/devices/pc/video/ibm/ega/1984-09-13/64kb.xml"/>
|
||||||
|
|
||||||
|
The referenced XML file automatically defines visual elements (eg, dimensions of the display window and other
|
||||||
|
visual indicators), display behaviors (eg, touchscreen support, mouse pointer locking), the ROM to load (and where
|
||||||
|
to load it), and other video card hardware features (eg, *memory* and *switches*).
|
||||||
|
|
||||||
|
Here's what *64kb.xml* currently looks like:
|
||||||
|
|
||||||
|
<video id="videoEGA" model="ega" memory="0x10000" screenwidth="640" screenheight="350" touchscreen="mouse" pos="center" padding="8px">
|
||||||
|
<menu>
|
||||||
|
<title>IBM Enhanced Color Display</title>
|
||||||
|
<control type="container" pos="right">
|
||||||
|
<control type="led" label="Caps" binding="caps-lock" padleft="8px"/>
|
||||||
|
<control type="led" label="Num" binding="num-lock" padleft="8px"/>
|
||||||
|
<control type="led" label="Scroll" binding="scroll-lock" padleft="8px"/>
|
||||||
|
</control>
|
||||||
|
</menu>
|
||||||
|
<rom id="romEGA" addr="0xc0000" size="0x4000" file="/devices/pc/video/ibm/ega/1984-09-13/ibm-ega.json" notify="videoEGA"/>
|
||||||
|
</video>
|
||||||
|
|
||||||
|
The following IBM EGA configuration files are currently available:
|
||||||
|
|
||||||
|
- [64kb.xml](1984-09-13/64kb.xml)
|
||||||
|
- [128kb-autolock640.xml](1984-09-13/128kb-autolock640.xml)
|
||||||
|
- [128kb-autolockfs.xml](1984-09-13/128kb-autolockfs.xml)
|
||||||
|
- [128kb-lockfs.xml](1984-09-13/128kb-lockfs.xml)
|
||||||
|
- [256kb-autolock640.xml](1984-09-13/256kb-autolock640.xml)
|
||||||
|
- [256kb-autolockfs.xml](1984-09-13/256kb-autolockfs.xml)
|
||||||
|
- [256kb-lockfs.xml](1984-09-13/256kb-lockfs.xml)
|
||||||
|
|
||||||
|
### IBM EGA ROM
|
||||||
|
|
||||||
|
We have only one IBM EGA ROM revision, dated September 13, 1984.
|
||||||
|
|
||||||
To (re)build the JSON-encoded IBM EGA ROM with symbols, run the following command:
|
To (re)build the JSON-encoded IBM EGA ROM with symbols, run the following command:
|
||||||
|
|
||||||
filedump --file=archive/ibm-ega.rom --format=bytes --decimal
|
filedump --file=archive/ibm-ega.rom --format=bytes --decimal
|
||||||
|
|
@ -15,9 +54,9 @@ The symbol information in the MAP file will be automatically converted and appen
|
||||||
|
|
||||||
The PCjs server's Dump API can be used as well:
|
The PCjs server's Dump API can be used as well:
|
||||||
|
|
||||||
http://www.pcjs.org/api/v1/dump?file=http://archive.pcjs.org/devices/pc/video/ibm/ega/ibm-ega.rom&format=bytes&decimal=true
|
http://www.pcjs.org/api/v1/dump?file=http://archive.pcjs.org/devices/pc/video/ibm/ega/1984-09-13/ibm-ega.rom&format=bytes&decimal=true
|
||||||
|
|
||||||
### Font Information
|
### IBM EGA Font Information
|
||||||
|
|
||||||
As noted in [Video.onROMLoad()](/modules/pcjs/lib/video.js), the Video component needs to know where the card's
|
As noted in [Video.onROMLoad()](/modules/pcjs/lib/video.js), the Video component needs to know where the card's
|
||||||
font data is located:
|
font data is located:
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Aa;
|
;
|
||||||
; ROM BIOS for IBM VGA Adapter (aka IBM PS/2 Display Adapter)
|
; ROM BIOS for IBM VGA Adapter (aka IBM PS/2 Display Adapter)
|
||||||
; (C)COPYRIGHT IBM Corp. 1984, 1986 10/27/86
|
; (C)COPYRIGHT IBM Corp. 1984, 1986 10/27/86
|
||||||
;
|
;
|
||||||
|
|
@ -7,4 +7,51 @@ permalink: /devices/pc/video/ibm/vga/
|
||||||
IBM Video Graphics Array (VGA)
|
IBM Video Graphics Array (VGA)
|
||||||
---
|
---
|
||||||
|
|
||||||
The disassembled contents of the ROM from the IBM's PS/2 Display Adapter is available [here](ibm-vga.nasm).
|
### IBM VGA Configurations
|
||||||
|
|
||||||
|
The easiest way for a machine to include an VGA *[Video](/docs/pcjs/video/)* component in its XML configuration file
|
||||||
|
is to reference one of the project's VGA configuration files, using the *ref* attribute; eg:
|
||||||
|
|
||||||
|
<video ref="/devices/pc/video/ibm/vga/1986-10-27/256kb-autolockfs.xml"/>
|
||||||
|
|
||||||
|
The referenced XML file automatically defines visual elements (eg, dimensions of the display window and other
|
||||||
|
visual indicators), display behaviors (eg, touchscreen support, mouse pointer locking), the ROM to load (and where
|
||||||
|
to load it), and other video card hardware features (eg, *memory* and *switches*).
|
||||||
|
|
||||||
|
Here's what *256kb-autolockfs.xml* currently looks like:
|
||||||
|
|
||||||
|
<video id="videoVGA" model="vga" screenwidth="1280" screenheight="960" scale="true" touchscreen="mouse" autolock="true" pos="center" padding="8px">
|
||||||
|
<menu>
|
||||||
|
<title>IBM VGA Color Display</title>
|
||||||
|
<control type="container" pos="right">
|
||||||
|
<control type="led" label="Caps" binding="caps-lock" padleft="8px"/>
|
||||||
|
<control type="led" label="Num" binding="num-lock" padleft="8px"/>
|
||||||
|
<control type="led" label="Scroll" binding="scroll-lock" padleft="8px"/>
|
||||||
|
<control type="button" binding="fullScreen" padleft="8px">Full Screen</control>
|
||||||
|
</control>
|
||||||
|
</menu>
|
||||||
|
<rom id="romVGA" addr="0xc0000" size="0x6000" file="/devices/pc/video/ibm/vga/1986-10-27/ibm-vga.json" notify="videoVGA[0x378d,0x3f8d]"/>
|
||||||
|
</video>
|
||||||
|
|
||||||
|
The following IBM VGA configuration files are currently available:
|
||||||
|
|
||||||
|
- [256kb-autolockfs.xml](1986-10-27/256kb-autolockfs.xml)
|
||||||
|
- [256kb-lockfs.xml](1986-10-27/256kb-lockfs.xml)
|
||||||
|
|
||||||
|
### IBM VGA ROM
|
||||||
|
|
||||||
|
We have only one IBM VGA ROM revision, dated October 27, 1986, from an IBM PS/2 Display Adapter. Which, BTW,
|
||||||
|
has to be one of the *most* confusing product names ever, since the adapter was an 8-bit card designed for ISA
|
||||||
|
machines, *not* PS/2 machines.
|
||||||
|
|
||||||
|
To (re)build the JSON-encoded IBM VGA ROM with symbols, run the following command:
|
||||||
|
|
||||||
|
filedump --file=archive/ibm-vga.rom --format=bytes --decimal
|
||||||
|
|
||||||
|
The symbol information in the MAP file will be automatically converted and appended to the dump of the ROM file.
|
||||||
|
|
||||||
|
The PCjs server's Dump API can be used as well:
|
||||||
|
|
||||||
|
http://www.pcjs.org/api/v1/dump?file=http://archive.pcjs.org/devices/pc/video/ibm/vga/1986-10-27/ibm-vga.rom&format=bytes&decimal=true
|
||||||
|
|
||||||
|
The disassembled contents of the 1986-10-27 ROM from the IBM PS/2 Display Adapter is available [here](1986-10-27/ibm-vga.asm).
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,25 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: Disk Archives
|
title: Disk Libraries
|
||||||
permalink: /disks/
|
permalink: /disks/
|
||||||
---
|
---
|
||||||
|
|
||||||
Disk Archives
|
Disk Libraries
|
||||||
---
|
---
|
||||||
Browse [IBM PC](pc/) and [Challenger 1P](c1p/) disk archives.
|
Browse [IBM PC](pc/) and [Challenger 1P](c1p/) disk libraries.
|
||||||
|
|
||||||
### PCjs Disk Image Formats
|
### PCjs Disk Image Formats
|
||||||
|
|
||||||
PCjs works best with disk images in a **JSON** format, to save conversion time, so that's the only
|
PCjs works best with disk images in a **JSON** format, to save conversion time, so that's the only disk image format
|
||||||
disk image format you'll find on the PCjs website.
|
you'll find in the PCjs Project.
|
||||||
|
|
||||||
To convert any of our **JSON** disk images back into an **IMG** file, you can use the [DiskDump API](/api/v1/dump)
|
To convert any of our **JSON** disk images back into an **IMG** file, you can use the [DiskDump API](/api/v1/dump)
|
||||||
with the *format* parameter set to `img` instead of `json`. For example:
|
with the *format* parameter set to `img` instead of `json`. For example:
|
||||||
|
|
||||||
{{ site.url }}/api/v1/dump?disk=/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json&format=img
|
{{ site.url }}/api/v1/dump?disk=/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json&format=img
|
||||||
|
|
||||||
In fact, when browsing the disk archives, the PCjs web server automatically provides "onclick" handlers
|
As an added bonus, when browsing the disk library with the PCjs Node web server, links to JSON-encoded disk images
|
||||||
for links to JSON-encoded disk images, which will invoke the API for you.
|
automatically include "onclick" handlers that invoke the API for you.
|
||||||
|
|
||||||
See **Creating PCjs-Compatible Disk Images** in the [PCjs Documentation](/docs/pcjs/#creating-pcjs-compatible-disk-images)
|
See **Creating PCjs-Compatible Disk Images** in the [PCjs Documentation](/docs/pcjs/#creating-pcjs-compatible-disk-images)
|
||||||
for more information about supported disks and formats.
|
for more information about supported disks and formats.
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,27 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: IBM PC Disk Archive
|
title: IBM PC Disk Library
|
||||||
menu_title: Disks
|
menu_title: Disks
|
||||||
menu_order: 4
|
menu_order: 4
|
||||||
permalink: /disks/pc/
|
permalink: /disks/pc/
|
||||||
---
|
---
|
||||||
|
|
||||||
IBM PC Disk Archive
|
IBM PC Disk Library
|
||||||
---
|
---
|
||||||
|
|
||||||
This is a list of disks available to any [IBM PC Machine](/devices/pc/machine/) that uses our
|
These disks are available to any [IBM PC Machine](/devices/pc/machine/) that uses the
|
||||||
[Library](/disks/pc/library.xml) XML disk configuration file.
|
PCjs [Disk Library](/disks/pc/library.xml), which references all the [Disk Manifests](#disk-manifests)
|
||||||
|
in the PCjs Project.
|
||||||
|
|
||||||
For some of the disks below, we have provided more information about the software, and in some cases, machines
|
The list below is *not* a complete list of everything in the [Disk Library](/disks/pc/library.xml),
|
||||||
that automatically run the software.
|
just highlights. For some of the disks, we have provided more information about the software,
|
||||||
|
and in some cases, machines that automatically run the software. Ideally, everything in the
|
||||||
|
[Disk Library](/disks/pc/library.xml) would also be listed below, and linked to a page that describes
|
||||||
|
the software in more detail, along with a live demonstration of the software. But there's just
|
||||||
|
too much to do.
|
||||||
|
|
||||||
|
For more demos, see the [IBM PC Application Archive](/apps/pc/). There again, the Application Archive
|
||||||
|
merely provides some highlights from the Disk Library.
|
||||||
|
|
||||||
### PC-DOS (IBM)
|
### PC-DOS (IBM)
|
||||||
|
|
||||||
|
|
@ -145,83 +153,57 @@ in [PC Tech Journal](/pubs/pc/magazines/pctj/).
|
||||||
|
|
||||||
* [Infocom Zork I](/disks/pc/games/infocom/zork1/)
|
* [Infocom Zork I](/disks/pc/games/infocom/zork1/)
|
||||||
|
|
||||||
Learn more about
|
|
||||||
[Disk Sets](https://github.com/jeffpar/pcjs/tree/master/disks/pc) in the
|
|
||||||
[PCjs Project](https://github.com/jeffpar/pcjs) on [GitHub](https://github.com/).
|
|
||||||
|
|
||||||
### PCjs Test Suites
|
### PCjs Test Suites
|
||||||
|
|
||||||
* [VGA "Black Book" Tests](/tests/pc/vga/)
|
* [VGA "Black Book" Tests](/tests/pc/vga/)
|
||||||
|
|
||||||
{% if site.developer %}
|
---
|
||||||
|
|
||||||
### Developer Notes: Disk Sets and Manifests
|
Disk Manifests
|
||||||
|
---
|
||||||
|
|
||||||
Collections of related disks are organized into *Disk Sets* which can then be loaded from the
|
Typically, all the distribution disks for a single version of a piece of software are placed in a single
|
||||||
[FDC (Floppy Disk Controller)](/docs/pcjs/fdc/) component of an [IBM PC Machine Configuration](/devices/pc/machine/).
|
folder, along with a **manifest.xml** file that contains *metadata* about the software, including a list of
|
||||||
|
the individual disks. This is generally referred to as a [Software Manifest](/apps/), but when we're only
|
||||||
|
interested in the disks, we may also refer to it as a Disk Manifest.
|
||||||
|
|
||||||
Disk Sets are stored in their own folders, along with a **manifest.xml** file listing the individual diskettes.
|
A Disk Manifest can then be added to a *[Floppy Disk Controller (FDC)](/docs/pcjs/fdc/)* configuration file,
|
||||||
Manifests also record a variety of metadata about the software; more information about the manifest format
|
making all its disks available to any machine loading that particular configuration file.
|
||||||
is available in [Application Archives](/apps/).
|
|
||||||
|
|
||||||
A simple FDC XML file, such as [samples.xml](samples.xml), *could* contain <disk> entries like:
|
A simple FDC configuration file, such as [samples.xml](samples.xml), *could* contain individual <disk>
|
||||||
|
entries like:
|
||||||
|
|
||||||
<disk path="/disks/pc/dos/ibm/1.00/PCDOS100.json">PC-DOS 1.0</disk>
|
<disk path="/disks/pc/dos/ibm/1.00/PCDOS100.json">PC-DOS 1.00</disk>
|
||||||
<disk path="/disks/pc/dos/ibm/1.10/PCDOS110.json">PC-DOS 1.1</disk>
|
<disk path="/disks/pc/dos/ibm/1.10/PCDOS110.json">PC-DOS 1.10</disk>
|
||||||
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json">PC-DOS 2.0 (Disk 1)</disk>
|
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json">PC-DOS 2.00 (Disk 1)</disk>
|
||||||
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json">PC-DOS 2.0 (Disk 2)</disk>
|
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json">PC-DOS 2.00 (Disk 2)</disk>
|
||||||
...
|
...
|
||||||
|
|
||||||
listing all the diskettes available for the machine to load. However, listing individual diskettes is tedious,
|
However, listing individual diskettes like that is tedious, so support was added for Disk Manifests.
|
||||||
so the FDC also supports **manifest.xml** files. Instead of listing the PC-DOS 2.0 diskettes individually,
|
|
||||||
they can be added to [samples.xml](samples.xml) with a single line:
|
So instead of listing the PC-DOS 2.00 diskettes individually, they can be added to [samples.xml](samples.xml)
|
||||||
|
with a single line:
|
||||||
|
|
||||||
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
|
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
|
||||||
|
|
||||||
The same feature works with [Application Manifests](/apps/#software-application-manifests). Here's how you might
|
When you want to include only one particular disk from a manifest, set the *disk* value to the *id* of the disk.
|
||||||
add [VisiCalc](/apps/pc/1981/visicalc/) to [samples.xml](samples.xml):
|
Here's how you would include only the *first* disk from PC-DOS 2.00:
|
||||||
|
|
||||||
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="disk"/>
|
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="disk01"/>
|
||||||
|
|
||||||
The application must have a **manifest.xml** with <disk> section containing an *id* value that matches the
|
For reference, here's what the entire Disk Manifest for PC-DOS 2.00 currently looks like:
|
||||||
*disk* value specified above:
|
|
||||||
|
|
||||||
<disk id="disk" dir="/apps/pc/1981/visicalc/bin/">
|
<manifest type="software">
|
||||||
<file>VC.COM</file>
|
<title>PC-DOS</title>
|
||||||
<file dir="../">README.md</file>
|
<version>2.00</version>
|
||||||
<link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link>
|
<type>DOS</type>
|
||||||
</disk>
|
<category>Operating System</category>
|
||||||
|
<author>IBM/Microsoft</author>
|
||||||
If multiple disks are defined in the manifest, and you want to include them all, you can set the *disk* value to '*', as in:
|
<releaseDate/>
|
||||||
|
<disk id="disk01" size="184320" chs="40:1:9" img="archive/PCDOS200-DISK1.img" href="/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json" md5="d57ceef82122790d1c0ff7bebc12f90a" md5json="2507c02da6cbafe9a94a35cbdd993be2">
|
||||||
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="*"/>
|
<name>PC-DOS 2.00 (Disk 1)</name>
|
||||||
|
</disk>
|
||||||
As an added bonus, PCjs will automatically display the descriptive <link> whenever this item is selected, and it will
|
<disk id="disk02" size="184320" chs="40:1:9" img="archive/PCDOS200-DISK2.img" href="/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json" md5="1c7aac53c78446992f8821cf42d04c4a" md5json="b66e296319c1f97990b596b1aa376d39">
|
||||||
dynamically generate a disk image containing all the specified <file> entries when the selected item is loaded.
|
<name>PC-DOS 2.00 (Disk 2)</name>
|
||||||
|
</disk>
|
||||||
Pre-generated disk images are preferred to dynamically-generated images, and you can now include those in the application
|
</manifest>
|
||||||
**manifest.xml** as well, by adding an *href* value to the <disk> section that was used to create the image:
|
|
||||||
|
|
||||||
<disk id="disk" dir="/apps/pc/1981/visicalc/bin/" href="/apps/pc/1981/visicalc/disk.json">
|
|
||||||
<file>VC.COM</file>
|
|
||||||
<file dir="../">README.md</file>
|
|
||||||
<link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link>
|
|
||||||
</disk>
|
|
||||||
|
|
||||||
The PCjs [DiskDump](/modules/diskdump/) module is used to create all our pre-generated JSON-encoded disk images.
|
|
||||||
In the above example, a pre-generated disk image could be created from the command-line with either the "--dir" option
|
|
||||||
(which will traverse all subdirectories as well):
|
|
||||||
|
|
||||||
node diskdump --dir=./apps/pc/1981/visicalc/bin/ --format=json --output=./apps/pc/1981/visicalc/disk.json
|
|
||||||
|
|
||||||
or with the "--path" option, which specifies either a single file or a set files separated by semi-colons:
|
|
||||||
|
|
||||||
node diskdump --path="./apps/pc/1981/visicalc/bin/vc.com;../readme.md" --format=json --output=./apps/pc/1981/visicalc/disk.json
|
|
||||||
|
|
||||||
or via the PCjs server's [DiskDump API](/api/v1/dump):
|
|
||||||
|
|
||||||
{{ site.url }}/api/v1/dump?path=/apps/pc/1981/visicalc/bin/vc.com&format=json
|
|
||||||
|
|
||||||
Learn more about PCjs disk image formats [here](/disks/).
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
|
||||||
|
|
@ -44,4 +44,4 @@ of OS/2 when it was still a work-in-progress. Not all of the disks run properly
|
||||||
October 12, 1988, which included the built-in kernel debugger used by Microsoft and IBM for internal development,
|
October 12, 1988, which included the built-in kernel debugger used by Microsoft and IBM for internal development,
|
||||||
along with a rudimentary program selector. For more details, see the [OS/2 1.0](/blog/2014/12/04/) blog post.
|
along with a rudimentary program selector. For more details, see the [OS/2 1.0](/blog/2014/12/04/) blog post.
|
||||||
|
|
||||||
[Return to [IBM PC Disk Archive](/disks/pc/#other-os2-disks)]
|
[Return to [IBM PC Disk Library](/disks/pc/#other-os2-disks)]
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ Attributes
|
||||||
|
|
||||||
* *notify* (optional)
|
* *notify* (optional)
|
||||||
|
|
||||||
The *id* of a component to notify when *file* has been loaded. For example, the [Video](/docs/pcjs/video/)
|
The *id* of a component to notify when *file* has been loaded. For example, the *[Video](/docs/pcjs/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.
|
||||||
|
|
||||||
|
|
|
||||||
6
index.md
6
index.md
|
|
@ -55,9 +55,9 @@ Some pre-configured machines are shown below, ready to run BASIC, DOS, Windows,
|
||||||
{% include screenshot.html src="/disks/pc/games/microsoft/adventure/thumbnail.jpg" width="200" height="120" title="IBM PC w/MDA, Microsoft Adventure" link="/disks/pc/games/microsoft/adventure/" %}
|
{% include screenshot.html src="/disks/pc/games/microsoft/adventure/thumbnail.jpg" width="200" height="120" title="IBM PC w/MDA, Microsoft Adventure" link="/disks/pc/games/microsoft/adventure/" %}
|
||||||
{% include screenshot.html src="/disks/pc/games/infocom/zork1/thumbnail.jpg" width="200" height="120" title="IBM PC w/CGA, Zork I" link="/disks/pc/games/infocom/zork1/" %}
|
{% include screenshot.html src="/disks/pc/games/infocom/zork1/thumbnail.jpg" width="200" height="120" title="IBM PC w/CGA, Zork I" link="/disks/pc/games/infocom/zork1/" %}
|
||||||
|
|
||||||
Check out the rest of the PCjs [Application](/apps/pc/), [Disk](/disks/pc/), and [Machine](/devices/pc/machine/)
|
There are many more [PCjs Demos](/devices/pc/machine/#ready-to-run-app-demos), including an
|
||||||
demos, including an [IBM PC with Dual Displays](/devices/pc/machine/5150/dual/64kb/) demonstrating early multi-monitor
|
[IBM PC with Dual Displays](/devices/pc/machine/5150/dual/64kb/) demonstrating early multi-monitor support,
|
||||||
support, and multiple IBM PC XT machines running side-by-side with [CGA Displays](/devices/pc/machine/5160/cga/256kb/array/)
|
and multiple IBM PC XT machines running side-by-side with [CGA Displays](/devices/pc/machine/5160/cga/256kb/array/)
|
||||||
and [EGA Displays](/devices/pc/machine/5160/ega/640kb/array/).
|
and [EGA Displays](/devices/pc/machine/5160/ega/640kb/array/).
|
||||||
|
|
||||||
C1Pjs
|
C1Pjs
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue