Data General Nova object formats
Mark J. Blair
nf6x at nf6x.net
Sun Jun 12 19:08:45 CDT 2016
I have been able to use my Data General Nova 3's Program Load function to load in the 091-000036-01 self-loading bootstrap program, and then use that bootstrap to load in absolute binary tape images from *.ab files, all over the TTI channel from a terminal emulator.
Now, I'm trying to hack Toby Thain's Nova assembler to emit auto-loading images by prepending the self-loading bootstrap to the assembled program, with a binary patch to make the bootstrap jump straight into the absolute binary loader rather than halting at address 000121. It seems to me that I should be able to use this scheme to assemble programs which I can then Program Load through the TTI channel, and simply send the image over the serial port from a terminal emulator.
I have the assembler hacked up to prepend the patched loader, and the patch I made seems to cause the bootstrap to jump right into the absolute binary loader; I simply replaced the HALT that ended up in 000120 with a JMP 000121. However, the binary loader continues running after presumably digesting the data that followed the bootstrap.
Toby's assembler outputs "relocatable binary" code in .rb files, and I don't understand if/how that differs from the "absolute binary" format in the .ab tape images that I can successfully load. I'll continue researching, but I'd appreciate it if anybody might be able to provide any clues to dispel my confusion.
Regarding my hacked up assembler, I don't know whether it's advisable to post it publicly after getting it working, since it'll have original DGC binary code embedded in it. Opinions?
Mark J. Blair, NF6X <nf6x at nf6x.net>
More information about the cctech