Documentation updates
This commit is contained in:
parent
a05f9b58fd
commit
06094fcd48
20 changed files with 298 additions and 122 deletions
|
|
@ -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:
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
;
|
||||
|
|
@ -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).
|
||||
|
|
|
|||
Loading…
Reference in a new issue