Fixed broken links

This commit is contained in:
Jeff Parsons 2016-03-13 20:05:13 -07:00
commit fcab095fa0
10 changed files with 23 additions and 21 deletions

View file

@ -2,7 +2,7 @@
layout: post
title: COMPAQ BIOS ROMs
date: 2016-02-24 14:00:00
permalink: /blog/2016/02/24/
permalink: /devices/pc/rom/compaq/bios/
---
COMPAQ BIOS ROMs

View file

@ -13,10 +13,10 @@ tmp:
tmp/1988-01-28.rom: 1988-01-28.json
$(FILEDUMP) --file=1988-01-28.json --output=tmp/1988-01-28.rom --format=rom
tmp/1988-01-28-regen.nasm: tmp/1988-01-28.rom
ndisasm -o0x8000 -se105h -se05ah -se6ffh -sf025h -sf8aah tmp/1988-01-28.rom > tmp/1988-01-28-regen.nasm
$(TEXTOUT) --file=tmp/1988-01-28-regen.nasm --nasm > tmp/t.nasm
mv tmp/t.nasm tmp/1988-01-28-regen.nasm
tmp/1988-01-28-regen.asm: tmp/1988-01-28.rom
ndisasm -o0x8000 -se105h -se05ah -se6ffh -sf025h -sf8aah tmp/1988-01-28.rom > tmp/1988-01-28-regen.asm
$(TEXTOUT) --file=tmp/1988-01-28-regen.asm --nasm > tmp/t.asm
mv tmp/t.asm tmp/1988-01-28-regen.asm
tmp/1988-01-28-regen.rom: tmp/1988-01-28-regen.nasm
nasm -f bin tmp/1988-01-28-regen.nasm -l tmp/1988-01-28-regen.lst -o tmp/1988-01-28-regen.rom
tmp/1988-01-28-regen.rom: tmp/1988-01-28-regen.asm
nasm -f bin tmp/1988-01-28-regen.asm -l tmp/1988-01-28-regen.lst -o tmp/1988-01-28-regen.rom

View file

@ -86,7 +86,7 @@ In the current directory, an original ROM can be regenerated from the JSON-encod
The ROM can then be fed into NDISASM, the disassembler included with NASM:
ndisasm -o0x8000 -se105h -se05ah -se6ffh -sf025h -sf8aah 1988-01-28.rom > 1988-01-28.nasm
ndisasm -o0x8000 -se105h -se05ah -se6ffh -sf025h -sf8aah 1988-01-28.rom > 1988-01-28.asm
The `-o0x8000` argument is required to "org" the file at the proper starting address, but the `-s` arguments
are optional; they simply establish a few sync points within the ROM image that save a little cleanup effort, by
@ -94,13 +94,13 @@ preventing disassembly in the middle of instructions.
Next, the PCjs [TextOut](/modules/textout/) command, with the *--nasm* option, prepares the code for reassembly:
node ../../../../../../modules/textout/bin/textout --file=1988-01-28.nasm --nasm > temp.nasm
mv temp.nasm 1988-01-28.nasm
node ../../../../../../modules/textout/bin/textout --file=1988-01-28.asm --nasm > temp.asm
mv temp.asm 1988-01-28.asm
The result, [1988-01-28.nasm](1988-01-28/1988-01-28.nasm), after a small amount of manual cleanup, can now be
The result, [1988-01-28.asm](1988-01-28/1988-01-28.asm), 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
nasm -f bin 1988-01-28.asm -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