Skip to content

Latest commit

 

History

History
60 lines (41 loc) · 1.86 KB

README.md

File metadata and controls

60 lines (41 loc) · 1.86 KB

Custom boot rom fun

Some rights reserved! Vintage technology preserved.


Previous Index Next

How to avoid using *dos

It's simple: vintage ibm pc booter games can be converted to boot rom image - eventually, just like in the following case. Had a little progress in the last year due to well-known reasons, so it's showtime again! Converted Boulder Dash ibm pc booter version to a 32k custom rom bios image. The steps were plausible: Original image ripped from one of my previous projects, see here: Booting from COM1 - part 2; and then splat into two parts: 200h (512) bytes of header and from beginning offset 700h to the end. Those ranges are loaded by a newly developed loader destination segment is a ram segment 1000h again as before. Before filling destination segment with data, it is initialised with zeroes. After linking, concatenating images, all 32k bytes inc. magic header must have 0 "checksum", which means mod 256 zero sum of all bytes ignoring overflow, carry, whatever. For the curious, this two^Woneliner could help determine what to add a byte to fix rom checksum errors:

$ od -v -t u1 boulder.rom \
| awk '{for(i=1;i++<NF;){a+=$i}a%=256}END{printf"%x\n",(256-a)%256}'

How to use it with qemu

In case is someone would try this out, open an xterm, then invoke qemu with these options:

$ qemu-system-i386 -net none -option-rom boulder.rom

See this in action

Bringing back memories from 1980s when playing nights with commodore 64

  • qemuboulderrom.png

Downloadable stuff

Here you are:

Reminder: use space in menue, player controls are arrows and left shift.

Have fun!

Previous Index Next