I just downloaded the assembly source to a generic XT
bios. It compiles,
but I can't apparently run it from a command line, or boot off a floppy
disk that has the thing rawritten on it.
A BIOS is linked to run at a preset address, usually F000 (64K Z80) or
F000:0000 (last 64KB segment on an 8086 in real mode). What I have done
when debugging a BIOS is to link it at a lower address (say, 8000:0000),
then load it into memory at that address with a debugger, set the CS segment
register to 8FFF (a true reset puts it at FFFF), then jump to 8FFF:0000
(simulating a reset to FFFF:0000). Since this is an XT I assume you will be
running in real mode, so address translation isn't a problem unless your
machine has some kind of additional address mapping logic.
Of course you can't run the debugger after that as the BIOS will trash all
your vectors. Be sure to modify the BIOS code to stop the memory sizing
test below segment 8000 or you will memory test right over your BIOS image.
Hope this helps, Jack Peacock