mame icon indicating copy to clipboard operation
mame copied to clipboard

nabupc: Update keyboard to use REVB ROM image

Open brijohn opened this issue 1 year ago • 10 comments

This updates the ROM used by the keyboard to use REVB.

The REVB firmware fixes a bug in the keyboard's ROM that caused issues with using the second paddle on a controller port.

brijohn avatar Dec 08 '23 22:12 brijohn

You can add both ROMs using the bios system and make rev B the default. This will help people who dump their keyboard to easily identify their version.

startaq avatar Dec 08 '23 23:12 startaq

You can add both ROMs using the bios system and make rev B the default. This will help people who dump their keyboard to easily identify their version.

I had tried this originally but was unable to get the keyboard ROM to display in the BIOS selector.

If anyone dumps their keyboard ROM though it is not going to be a revision B unless they had previously flashed a new ROM since the revb is a recent patched version of the ROM I created and released to the community while working on getting paddles to work correctly on nabu hardware.

If someone can tell me why the BIOS selection does not work seem to work for the nabu keyboard I'd be happy to update the patch to support keyboard rom selection. Below is what i tried but it like i said this does not seem to add this rom to the bios selection menu.

 ROM_START(nabu_keyboard_rom)
       ROM_REGION( 0x800, "mcu", 0 )
       ROM_DEFAULT_BIOS("revb")
       ROM_SYSTEM_BIOS( 0, "revb", "Keyboard Rev B" )
       ROMX_LOAD( "nabukeyboard-90020070-revb-2716.bin", 0x000, 0x800, CRC(7d6ebc61) SHA1(5b0cb3da5b4afcae321c2a557e328c416b107dd7), ROM_BIOS(0) )
       ROM_SYSTEM_BIOS( 1, "reva", "Keyboard Rev A" )
       ROMX_LOAD( "nabukeyboard-90020070-reva-2716.bin", 0x000, 0x800, CRC(eead3abc) SHA1(2f6ff63ca2f2ac90f3e03ef4f2b79883205e8a4e), ROM_BIOS(1) )
 ROM_END

Edit: From what I can tell MAME only adds the BIOS selection if the device uses slots, but since the nabu only has one keyboard its not using the slot mechanic and so adding multiple BIOSs does not work.

brijohn avatar Dec 09 '23 01:12 brijohn

If this is something non-official then you really need to mark it that way, and you shouldn't make it look like something official. Call it -fixed maybe and add a comment what it fixes.

Even if the BIOS selection doesn't work the original manufacturer ROM should still be referenced to document it.

startaq avatar Dec 09 '23 04:12 startaq

As far as I know the GUI BIOS selector only is for the top-level machine. If this is a subdevice, you can change the BIOS from the command line but not in the on-screen menus.

rb6502 avatar Dec 09 '23 17:12 rb6502

You mean this?:

mame.exe leonardo -exp analyst -> Tab -> BIOS Selection -> works

Oh, or it's only working for slot devices in that case.

happppp avatar Dec 09 '23 17:12 happppp

I'd like to have this in somehow, but I'm not sure what the command line syntax would be for a non-slot device with a BIOS. @cuavas any ideas on this one?

rb6502 avatar Mar 22 '24 14:03 rb6502

I'd like to have this in somehow, but I'm not sure what the command line syntax would be for a non-slot device with a BIOS. @cuavas any ideas on this one?

There’s currently no way for the user to select the BIOS for a device that isn’t either the root system or a slot option. Other devices can only have the BIOS changed from the default in machine configuration when they’re instantiated.

I agree with @startaq that the actual shipping ROM should be kept. We don’t replace ROMs with user-created “updated” versions. In this case, doing so would be against preservation as we’d lose the actual firmware the device shipped with, and we’d no longer be providing an accurate representation of an interesting market failure.

Calling it “revision B” when it’s just something you created yourself isn’t honest.

cuavas avatar Mar 22 '24 17:03 cuavas

I agree that the default should be the as-shipped BIOS, but we also support modern/aftermarket upgrades for a lot of systems. I guess in this case the best path would be a trivial clone system that just loads the other keyboard ROM?

rb6502 avatar Mar 22 '24 18:03 rb6502

May be easier to turn the keyboard port into a slot to avoid an entire clone? I know it’s a workaround no matter which way it’s done, but I have a bunch of more pressing stuff to do than another options system rewrite to support these kinds of device options.

cuavas avatar Mar 23 '24 15:03 cuavas

I can fairly easily turn the keyboard into a slot device using an RS232 port. I think that would be better then just cloning the entire system in order to allow selecting a keyboard BIOS. I'll put together an updated patch for this PR.

brijohn avatar Mar 23 '24 21:03 brijohn