README and JSON updates

This commit is contained in:
Jeff Parsons 2016-05-23 13:16:25 -07:00
commit a54d5564a7
43 changed files with 15526 additions and 3931 deletions

File diff suppressed because it is too large Load diff

View file

@ -25,7 +25,7 @@ and merge them into a single 64Kb file, using the PCjs [FileDump](/modules/filed
Then, within the resulting 64Kb file, we extract the ROM code+data from the upper 32Kb:
filedump --file=1988-11-11/archive/VGA_Wonder_V3-1.02.rom --offset=32768 --format=json --output=1988-11-11/VGA_Wonder_V3-1.02.json
filedump --file=1988-11-11/archive/VGA_Wonder_V3-1.02.rom --offset=32768 --format=bytes --comments --output=1988-11-11/VGA_Wonder_V3-1.02.json
And now we have a JSON-encoded ROM image that PCjs machines can load.
@ -35,7 +35,7 @@ To create a human-readable dump, you can use the following command:
filedump --file=1988-11-11/VGA_Wonder_V3-1.02.json --format=bytes --comments
Here are the first 12 lines from that dump:
Here are the first 12 lines from [VGA_Wonder_V3-1.02.json](1988-11-11/VGA_Wonder_V3-1.02.json):
0x55,0xAA,0x40,0xEB,0x63,0x37,0x34,0x30,0x30,0x3E,0xFF,0xFF,0x81,0x00,0x88,0x2C, // 0x00000000 U.@.c7400......,
0xCE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x49,0x42, // 0x00000010 ..............IB

View file

@ -18,23 +18,27 @@ and it is *identical* the CGA portion of the [IBM CGA](/devices/pcx86/video/ibm/
The easiest way for a machine to include an CGA *[Video](/docs/pcx86/video/)* component in its XML configuration file
is to reference the project's predefined CGA configuration file, using the *ref* attribute; eg:
<video ref="/devices/pcx86/video/cdp/cga/cdp-cga.xml"/>
```xml
<video ref="/devices/pcx86/video/cdp/cga/cdp-cga.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), and the character ROM to load.
Here's what *cdp-cga.xml* currently looks like:
<video id="videoCGA" model="cga" screenwidth="960" screenheight="480" scale="true" charset="/devices/pcx86/video/cdp/cga/MPC_VID-1.0.json" pos="center" padding="8px">
<menu>
<title>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>
</video>
```xml
<video id="videoCGA" model="cga" screenwidth="960" screenheight="480" scale="true" charset="/devices/pcx86/video/cdp/cga/MPC_VID-1.0.json" pos="center" padding="8px">
<menu>
<title>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>
</video>
```
### Columbia Data Products CGA Character ROM

View file

@ -57,4 +57,6 @@ add the 8x14 and 8x8 font data offsets to the ROM component's *notify* attribute
For example, here's how we deal with the font data offsets used by the IBM VGA:
<rom id="romVGA" addr="0xc0000" size="0x6000" file="ibm-vga.json" notify="videoVGA[0x378d,0x3f8d]"/>
```xml
<rom id="romVGA" addr="0xc0000" size="0x6000" file="ibm-vga.json" notify="videoVGA[0x378d,0x3f8d]"/>
```

View file

@ -14,23 +14,27 @@ IBM Color Graphics Adapter (CGA)
The easiest way for a machine to include an CGA *[Video](/docs/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:
<video ref="/devices/pcx86/video/ibm/cga/ibm-cga.xml"/>
```xml
<video ref="/devices/pcx86/video/ibm/cga/ibm-cga.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), and the character ROM to load.
Here's what *ibm-cga.xml* currently looks like:
<video id="videoCGA" screenwidth="960" screenheight="480" scale="true" charset="/devices/pcx86/video/ibm/cga/ibm-cga.json" pos="center" padding="8px">
<menu>
<title>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>
</video>
```xml
<video id="videoCGA" screenwidth="960" screenheight="480" scale="true" charset="/devices/pcx86/video/ibm/cga/ibm-cga.json" pos="center" padding="8px">
<menu>
<title>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>
</video>
```
The following IBM CGA configuration files are currently available:

View file

@ -14,7 +14,9 @@ IBM Enhanced Graphics Adapter (EGA)
The easiest way for a machine to include an EGA *[Video](/docs/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:
<video ref="/devices/pcx86/video/ibm/ega/1984-09-13/64kb.xml"/>
```xml
<video ref="/devices/pcx86/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
@ -22,17 +24,19 @@ 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/pcx86/video/ibm/ega/1984-09-13/ibm-ega.json" notify="videoEGA"/>
</video>
```xml
<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/pcx86/video/ibm/ega/1984-09-13/ibm-ega.json" notify="videoEGA"/>
</video>
```
The following IBM EGA configuration files are currently available:

View file

@ -12,23 +12,27 @@ IBM Monochrome Display Adapter (MDA)
The easiest way for a machine to include an MDA *[Video](/docs/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:
<video ref="/devices/pcx86/video/ibm/mda/ibm-mda.xml"/>
```xml
<video ref="/devices/pcx86/video/ibm/mda/ibm-mda.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), and the character ROM to load.
Here's what *ibm-mda.xml* currently looks like:
<video id="videoMDA" screenWidth="1440" screenHeight="900" scale="true" smoothing="false" fontROM="/devices/pcx86/video/ibm/mda/ibm-mda.json" pos="center" padding="8px">
<menu>
<title>Monochrome 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>
</video>
```xml
<video id="videoMDA" screenWidth="1440" screenHeight="900" scale="true" smoothing="false" fontROM="/devices/pcx86/video/ibm/mda/ibm-mda.json" pos="center" padding="8px">
<menu>
<title>Monochrome 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>
</video>
```
The following IBM MDA configuration files are currently available:

View file

@ -14,7 +14,9 @@ IBM Video Graphics Array (VGA)
The easiest way for a machine to include an VGA *[Video](/docs/pcx86/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/pcx86/video/ibm/vga/1986-10-27/256kb-autolockfs.xml"/>
```xml
<video ref="/devices/pcx86/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
@ -22,18 +24,20 @@ 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/pcx86/video/ibm/vga/1986-10-27/ibm-vga.json" notify="videoVGA[0x378d,0x3f8d]"/>
</video>
```xml
<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/pcx86/video/ibm/vga/1986-10-27/ibm-vga.json" notify="videoVGA[0x378d,0x3f8d]"/>
</video>
```
The following IBM VGA configuration files are currently available: