About the patched version 14 boot ROM

Labomb's modified ROM Ver 14 that allows booting from either floppy, cable, and Cloud CP/M
Post Reply
labomb
Posts: 10
Joined: Thu Mar 30, 2023 1:59 am

About the patched version 14 boot ROM

Post by labomb »

Hello all!

As most of you know, thanks to Leo Binkowski there are a variety of boot ROMs available for the NABU PC in addition to the 'stock' ROM that was installed when you received your NABU. But the one thing that was missing was a single ROM that would not only support loading the standard software 'cycles' from DJ's Internet Adapter or server of your choice, but also new applications such as Cloud CP/M, homebrew applications, and that additionally offered the ability to boot the CP/M operating system locally from floppy disks or disk images (for example on a Gotek or similar device).

With that, I decided to dive into a few versions of the available ROMS and eventually gleaned enough detail to patch one of the available ROMs, specifically version 14, to enable it to load and boot all of the currently available network and disk based software.

When using this ROM, the startup process will depend on how your NABU is set up. For example, if you have a floppy controller installed and are also connected to a NABU server using a RS-422 adapter, then you will see a menu like this:

boot_menu.jpg
boot_menu.jpg (68.65 KiB) Viewed 7984 times

It you have a floppy controller but are not connected to a NABU server, then your NABU will boot directly from a CP/M system disk if one is inserted into the drive (or mounted in mame), and if a boot disk is not found, you will see a prompt to insert a system disk into drive A:

boot_prompt.jpg
boot_prompt.jpg (63.33 KiB) Viewed 7984 times

Last, if you don't have a floppy controller at all this ROM will operate in the same manner as the 'stock' ROM that was installed in your NABU when you received it.

While you will need the ability to program an EPROM, the binary is only 4K in size and as such there is no need to modify the NABU in any way to use it. There are a variety of options to choose from. You can use an 'old school' 2732 EPROM if you wish. But there is nothing preventing you from using an 8K ROM as well, as long as it's pin compatible. The ROM socket in the NABU is actually 28 pins, even though the stock ROM is only 24 pins, and thus can support the 8K size. This option opens up the ability to use an EEPROM, which is much more convenient than the original 2732 (an EEPROM is electrically erasable, while the traditional 2732 needs to be erased using an UV EPROM eraser).

This ROM works fine with mame as well, and as an added bonus if you happen to have mame configured with the hard disk controller (or if you somehow managed to snag a NABU with a real hard disk controller!), booting from the hard drive image will be offered as an option on the menu as well:

boot_menu_hdisk.jpg
boot_menu_hdisk.jpg (64.08 KiB) Viewed 7984 times

If using mame, you will need to rename the ROM binary to one of the 4K ROM image names supported by mame in your ROMs folder (note that mame will show a ROM checksum message on startup as it is configured to work with known ROM images with known checksum values, but you can just ignore the message).

Enjoy!
Attachments
nabupc-ver14-patched.zip
(3.07 KiB) Downloaded 628 times
vtgearhead
Posts: 6
Joined: Sat May 27, 2023 5:34 pm

Re: About the patched version 14 boot ROM

Post by vtgearhead »

I'm trying to troubleshoot an intermittant issue with my disk controller. Is it possible to get the source code for the ROM and CP/M BIOS? I'd like to figure out what's going on in the logic at the point where things hang.
labomb
Posts: 10
Joined: Thu Mar 30, 2023 1:59 am

Re: About the patched version 14 boot ROM

Post by labomb »

There is no source for that specific version of the ROM that I have seen, I used a debugger and partial disassemblies to patch it. Likewise, I've not seen source for CP/M BIOS either (I assume you mean CP/M 3 ?).

That aside, given that those are both known working bits of code for many, and that you have an intermittent issue, it's quite likely that you have a hardware problem. What, specifically, is the issue that you experiencing?
Post Reply