README update
This commit is contained in:
parent
9dfb5d29df
commit
857db340c7
4 changed files with 11 additions and 12 deletions
|
|
@ -8,7 +8,7 @@ but booting from a floppy works.
|
|||
While working through issues with this ROM BIOS, I created some lightly-annotated
|
||||
[source code](/devices/pc/bios/compaq/deskpro386/1988-01-28.nasm) that can be re-assembled
|
||||
with [NASM](http://www.nasm.us/). The initial process of creating the source code is
|
||||
explained [here](/devices/pc/bios/compaq/deskpro386/#producing-rom-source-code).
|
||||
explained [here](/devices/pc/bios/compaq/deskpro386/#recreating-rom-source-code).
|
||||
|
||||
At the top of the source code, I explain a few important details about ROM addresses that
|
||||
are worth recapping here:
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ from the two 16Kb BIN files provided by [Al Kossow](http://www.vintage-computer.
|
|||
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
|
||||
|
||||
Reading the ROMs
|
||||
Dumping the ROMs
|
||||
---
|
||||
The *.hex* files for the 1988-01-28 DeskPro ROM were produced by running [eeprom_read](http://github.com/phooky/PROM/blob/master/tools/eeprom_read/eeprom_read.pde)
|
||||
on a [chipKIT Uno32](http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,892,893&Prod=CHIPKIT-UNO32) Arduino-compatible
|
||||
|
|
@ -67,7 +67,7 @@ while the /PGM should be connected to INPUT HIGH VOLTAGE. So I wired pin 27 (/P
|
|||
worked perfectly. The NYC Resistor article implied that every *active low* pin should be connected to GND, but apparently
|
||||
there are exceptions to that general rule.
|
||||
|
||||
Producing ROM Source Code
|
||||
Recreating ROM Source Code
|
||||
---
|
||||
In the current directory, an original ROM can be regenerated from the JSON-encoded file:
|
||||
|
||||
|
|
@ -87,19 +87,18 @@ Next, the PCjs [TextOut](/modules/textout/lib/) command, with the *--nasm* optio
|
|||
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/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
|
||||
|
||||
However, it does NOT produce a binary identical to the original ROM, in part because of instruction ambiguities (ie,
|
||||
instructions that can be assembled multiple ways).
|
||||
|
||||
It's possible the reassembled ROM may still work, but more research is required.
|
||||
instructions that can be assembled multiple ways). It's possible the reassembled ROM may still work, but more research
|
||||
is required.
|
||||
|
||||
One interesting section of the Compaq DeskPro ROM is this string at offset 0xE002:
|
||||
|
||||
db 'AUTHORS CAB93GLB93RWS93DJC93NPB(C)Copyright COMPAQ Computer Corporation 1982,83,84,85,86'
|
||||
|
||||
Anyone care to take a stab at what `CAB93GLB93RWS93DJC93NPB` means? Is it the initials of 5 people
|
||||
(CAB, GLB, RWS, DJC, NPB), separated by "93"? I've already confirmed that
|
||||
[Google](https://www.google.com/?gws_rd=ssl#q=CAB93GLB93RWS93DJC93NPB) doesn't know.
|
||||
which appears to list the initials of 5 authors: **CAB**, **GLB**, **RWS**, **DJC**, and **NPB**. The meaning of the
|
||||
"93" sequences is unknown; they may have simply been a form of obfuscation.
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ a way of getting the sharpest and fastest graphics without abandoning your commi
|
|||
As such, this board is in perfect accord with the Compaq philosophy, and it may be the best way available
|
||||
for mating a VGA-style monitor and VGA graphics to your AT.
|
||||
|
||||
A copy of the board's [VGA ROM BIOS](109360-001/1988-05-18.json) was created by [dumping](/devices/pc/bios/compaq/deskpro386/#reading-the-roms)
|
||||
A copy of the board's [VGA ROM BIOS](109360-001/1988-05-18.json) was created by [dumping](/devices/pc/bios/compaq/deskpro386/#dumping-the-roms)
|
||||
the contents of each EPROM chip to a *.hex* file, and then merging the *.hex* files with the following
|
||||
[FileDump](/modules/filedump/) command:
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ This Paradise VGA board was manufactured in 1988 and sold by Western Digital Cor
|
|||
|
||||

|
||||
|
||||
A copy of the board's [ROM BIOS](1988-05-23.json) was created by [dumping](/devices/pc/bios/compaq/deskpro386/#reading-the-roms)
|
||||
A copy of the board's [ROM BIOS](1988-05-23.json) was created by [dumping](/devices/pc/bios/compaq/deskpro386/#dumping-the-roms)
|
||||
the contents of each of the board's two M27128AZB PROMs to a *.hex* file, and then merging the *.hex* files with the following
|
||||
[FileDump](/modules/filedump/) command:
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue