diff --git a/blog/2015/04/16/README.md b/blog/2015/04/16/README.md index b78c3baeb..62db7d4c2 100644 --- a/blog/2015/04/16/README.md +++ b/blog/2015/04/16/README.md @@ -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: diff --git a/devices/pc/bios/compaq/deskpro386/README.md b/devices/pc/bios/compaq/deskpro386/README.md index cc7a11a99..c47c87fe5 100644 --- a/devices/pc/bios/compaq/deskpro386/README.md +++ b/devices/pc/bios/compaq/deskpro386/README.md @@ -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. diff --git a/devices/pc/video/compaq/vga/README.md b/devices/pc/video/compaq/vga/README.md index 3548e30d0..f32a2cc76 100644 --- a/devices/pc/video/compaq/vga/README.md +++ b/devices/pc/video/compaq/vga/README.md @@ -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: diff --git a/devices/pc/video/paradise/vga/README.md b/devices/pc/video/paradise/vga/README.md index 8c93dde7b..0ca99d1a3 100644 --- a/devices/pc/video/paradise/vga/README.md +++ b/devices/pc/video/paradise/vga/README.md @@ -4,7 +4,7 @@ This Paradise VGA board was manufactured in 1988 and sold by Western Digital Cor ![Paradise VGA Board](/devices/pc/video/paradise/vga/static/Paradise_VGA_1988-640.jpg "link:/devices/pc/video/paradise/vga/static/Paradise_VGA_1988.jpg") -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: