Documentation updates

This commit is contained in:
Jeff Parsons 2016-03-13 17:44:59 -07:00
commit 06094fcd48
20 changed files with 298 additions and 122 deletions

View file

@ -1,18 +1,21 @@
---
layout: page
title: IBM PC Video Support
title: IBM PC Video Devices
permalink: /devices/pc/video/
---
IBM PC Video Support
IBM PC Video Devices
---
Video devices are added to machines by including a *[Video](/docs/pcjs/video/)* component in the machine XML
configuration file. See one of the following video adapters for examples of how to do this.
PCjs supports the following IBM PC video adapters:
* MDA (Monochrome Display Adapter)
* CGA (Color Graphics Adapter)
* EGA (Enhanced Graphics Adapter)
* [VGA](ibm/vga/) (Video Graphics Adapter)
* Monochrome Display Adapter (MDA)
* Color Graphics Adapter (CGA)
* [Enhanced Graphics Adapter (EGA)](ibm/ega/)
* [Video Graphics Array (VGA)](ibm/vga/)
More detailed information is available for the following IBM-compatible video adapters:

View file

@ -1,12 +1,51 @@
---
layout: page
title: IBM EGA ROM
title: "IBM Enhanced Graphics Adapter (EGA)"
permalink: /devices/pc/video/ibm/ega/
---
IBM EGA ROM
IBM Enhanced Graphics Adapter (EGA)
---
### IBM EGA Configurations
The easiest way for a machine to include an EGA *[Video](/docs/pcjs/video/)* component in its XML configuration file
is to reference one of the project's predefined EGA configuration files, using the *ref* attribute; eg:
<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:
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:
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
font data is located:

View file

@ -1,4 +1,4 @@
Aa;
;
; ROM BIOS for IBM VGA Adapter (aka IBM PS/2 Display Adapter)
; (C)COPYRIGHT IBM Corp. 1984, 1986 10/27/86
;

View file

@ -7,4 +7,51 @@ permalink: /devices/pc/video/ibm/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).