Reorganized Compaq ROMs

This commit is contained in:
Jeff Parsons 2015-04-27 05:29:04 -07:00 committed by jeffpar
commit bb197a2cbc
10 changed files with 10 additions and 7 deletions

View file

@ -28,8 +28,9 @@ ROMs for their earliest 80386-based systems.
M.1 109592-004 109591-004
N.1 109592-005 109591-005 32Kb 1989-04-14
[1988-01-28.json]() was created with the following [FileDump](/modules/filedump/) command:
[1988-01-28.json](1988-01-28/1988-01-28.json) was created with the following [FileDump](/modules/filedump/) command:
cd 1988-01-28
filedump --file=109592-001.hex --merge=109591-001.hex --output=1988-01-28.json
For a more human-readable dump, use this command:
@ -38,11 +39,12 @@ For a more human-readable dump, use this command:
And for those who prefer a binary file, the FileDump API can be used to recreate binary data from JSON data:
> [http://www.pcjs.org/api/v1/dump?file=http://www.pcjs.org/devices/pc/bios/compaq/deskpro386/1988-01-28.json&format=rom](http://www.pcjs.org/api/v1/dump?file=http://www.pcjs.org/devices/pc/bios/compaq/deskpro386/1988-01-28.json&format=rom)
> [http://www.pcjs.org/api/v1/dump?file=http://www.pcjs.org/devices/pc/bios/compaq/deskpro386/1988-01-28/1988-01-28.json&format=rom](http://www.pcjs.org/api/v1/dump?file=http://www.pcjs.org/devices/pc/bios/compaq/deskpro386/1988-01-28/1988-01-28.json&format=rom)
Similarly, [1989-04-14.json]() was generated by first creating [1989-04-14.rom](http://www.pcjs.org/api/v1/dump?file=http://www.pcjs.org/devices/pc/bios/compaq/deskpro386/1989-04-14.json&format=rom)
Similarly, [1989-04-14.json](1989-04-14/1989-04-14.json) was generated by first creating [1989-04-14.rom](http://www.pcjs.org/api/v1/dump?file=http://www.pcjs.org/devices/pc/bios/compaq/deskpro386/1989-04-14/1989-04-14.json&format=rom)
from the two 16Kb BIN files provided by [Al Kossow](http://www.vintage-computer.com/vcforum/member.php?2256-Al-Kossow):
cd 1989-04-14
filedump --file=private/109592-005.U11.bin --merge=private/109591-005.U13.bin --output=private/1989-04-14.rom --format=rom
filedump --file=private/1989-04-14.rom --output=1989-04-14.json
@ -67,7 +69,8 @@ Producing ROM Source Code
---
In the current directory, an original ROM can be regenerated from the JSON-encoded file:
node ../../../../../modules/filedump/bin/filedump --file=1988-01-28.json --output=1988-01-28.rom --format=rom
cd 1988-01-28
node ../../../../../../modules/filedump/bin/filedump --file=1988-01-28.json --output=1988-01-28.rom --format=rom
The ROM can then be fed into NDISASM, the disassembler included with NASM:
@ -79,10 +82,10 @@ preventing disassembly in the middle of instructions.
Next, the PCjs [TextOut](/modules/textout/lib/) command, with the *--nasm* option, prepares the code for reassembly:
node ../../../../../modules/textout/bin/textout --file=1988-01-28.nasm --nasm > temp.nasm
node ../../../../../../modules/textout/bin/textout --file=1988-01-28.nasm --nasm > temp.nasm
mv temp.nasm 1988-01-28.nasm
The result, [1988-01-28.nasm](1988-01-28.nasm), after a small amount of manual cleanup, can now be successfully reassembled:
The result, [1988-01-28.nasm](1988-01-28/1988-01-28.nasm), after a small amount of manual cleanup, can now be successfully reassembled:
nasm -f bin 1988-01-28.nasm -l 1988-01-28.lst -o 1988-01-28.rom

View file

@ -7,7 +7,7 @@
<ram id="ramCPQ" addr="0xfa0000" size="0x60000" comment="Compaq memory at 0xFA0000"/>
<ram id="ramExt" addr="0x100000" size="0x100000" comment="Extended memory at 0x100000"/>
<rom id="romEGA" addr="0xc0000" size="0x4000" file="/devices/pc/video/ibm-ega.json" notify="videoEGA"/>
<rom id="romBIOS" addr="0xf8000" size="0x8000" alias="[0xf0000,0xffff0000,0xffff8000]" file="/devices/pc/bios/compaq/deskpro386/1988-01-28.json"/>
<rom id="romBIOS" addr="0xf8000" size="0x8000" alias="[0xf0000,0xffff0000,0xffff8000]" file="/devices/pc/bios/compaq/deskpro386/1988-01-28/1988-01-28.json"/>
<video ref="/devices/pc/video/video-ega-128kb-lock.xml"/>
<keyboard ref="/devices/pc/keyboard/keyboard-minimal-functions.xml"/>
<debugger id="debugger" messages="fault|port" commands=""/>