• Please review our updated Terms and Rules here

NABU PC Emulation under MAME

Is there a MAME setting to make the keyboard less sensitive or would I need to change the code? I can't really navigate the menu properly with the keyboard. It works fine with my controller.
How is your input configured? When i first run mame the controller input is configured to use up/down/left/right keyboard keys, but those are also used for keyboard input. This makes navigating the menu with the keyboard super sensitive since we are processing those keys twice. Once i configured those options to use my gamepad instead of the keyboard, i found they keyboard not too sensitive and usable.
 
How is your input configured? When i first run mame the controller input is configured to use up/down/left/right keyboard keys, but those are also used for keyboard input. This makes navigating the menu with the keyboard super sensitive since we are processing those keys twice. Once i configured those options to use my gamepad instead of the keyboard, i found they keyboard not too sensitive and usable.
Thanks that was it. It works great now.
 
I couldn't wait, so I compiled your code and gave it a try. It took me a while since I've never compiled or even really used MAME before. Fantastic work! I want the real hardware but this is a great alternative and the faster loading times are a nice advantage.

Pretty lame game, Milhouse...
 
Last edited:
For what it's worth, I've also been giving Nabu emulation about a whack (with a different approach; I'm writing a standalone emulator and intend to integrate emulation of the cable box), but I haven't had as much luck as either of the MAME guys or the OpenMSX guy. I mean, I get the boot screen, but that's it.

I mean, it's hard to convince people that a near-complete unknown is worth giving the time of day to (I've written a couple Apple ][ emulators in the past, but nothing significant), but the Nabu happened to pique a bunch of my interests and now I'm wracking my brain trying to figure it out.

itsalive8.png
 
Are the 5 boot sectors in order or are they in 1,3,5,2,4 order? I am trying to recreate the boot disk.

I do have a valid non-bootable disk here if it helps. https://vintagecomputer.ca/files/Nabu/disk_images/NABUFLPY.IMD
As author of the disk drivers, they should be 1,3,5,2,4, but that is not universally true IIRC. There should be a small block of data in the intersector spacing between the start of track indication and the start of the first sector that identifies how the disk was encoded, plus a few other details. Again IIRC there should be a sector translation table, but being 40 years ago I'm not sure on the format. Most simply 5 2 byte tuples would make sense.
 
Last edited:
The MAME emulation works fine, got it built and am using RetroNET to chat with DJ Sures right now.

I've sent him an archive of the MAME/MESS build for Windows with the settings / ROMs, he'll probably post it on nabu.ca later. I included a nabu.cmd file that will start the emulator with the correct command line settings, just run DJ's Internet Adapter software first, start the TCP server, then run the nabu.cmd file.

Only problem I've noticed is we need to map the keyboard page left / right keys to page up / page down, which it doesn't look to be supported yet. But you can work around it with a joystick. I also mapped Delete to the backspace key, it seemed to be easier to use that way.

Here's the URL for the compiled Windows version if you don't want to wait: http://yacko.howardpoe.net/MAME_NABU.7z
 
Last edited:
The MAME emulation works fine, got it built and am using RetroNET to chat with DJ Sures right now.

I've sent him an archive of the MAME/MESS build for Windows with the settings / ROMs, he'll probably post it on nabu.ca later. I included a nabu.cmd file that will start the emulator with the correct command line settings, just run DJ's Internet Adapter software first, start the TCP server, then run the nabu.cmd file.

Only problem I've noticed is we need to map the keyboard page left / right keys to page up / page down, which it doesn't look to be supported yet. But you can work around it with a joystick.

Here's the URL if you don't want to wait: http://yacko.howardpoe.net/MAME_NABU.7z
Nice. I don't really have any windows machines available to build this on windows so I'm glad someone else has managed to provide a windows build for those who don't use linux. I'm currently working on getting it merged to mainline so eventually it should be included with future versions of MAME.

Which keys are not supported? I think i currently have all the keys on the keyboard mapped to something. Though some of the non-standard keys are mapped to FKeys. These include "YES", "NO", "TV", "SYM", "<|||", and "|||>". These are currently mapped to F1, F2, F3, F4, F11, F12 respectively.
 
Nice. I don't really have any windows machines available to build this on windows so I'm glad someone else has managed to provide a windows build for those who don't use linux. I'm currently working on getting it merged to mainline so eventually it should be included with future versions of MAME.

Which keys are not supported? I think i currently have all the keys on the keyboard mapped to something. Though some of the non-standard keys are mapped to FKeys. These include "YES", "NO", "TV", "SYM", "<|||", and "|||>". These are currently mapped to F1, F2, F3, F4, F11, F12 respectively.
<||| is page left, should do that to PGUP, |||> is page right, should map to PGDN. I'm currently chatting with a bunch in NABU RetroNET, I'll try those F keys later.

Also, maybe map the joystick to the number pad keys? That would keep it from conflicting with the arrow keys. Not sure where to map joystick 2... maybe no map for it by default?
 
I proposed Home and End for « and » and Insert and Delete for Yes and No, but my own keyboard code isn't working yet (and I don't really have any way to test it yet since I'm not emulating the modem).

It's odd that the TV/Video switch is software-controlled. 🤯 I actually implemented it - by generating fake NTSC noise when it's off! - but haven't tested that either.
 
It's odd that the TV/Video switch is software-controlled. 🤯 I actually implemented it - by generating fake NTSC noise when it's off! - but haven't tested that either.
I don't actually implement the TV/NABU switch under mame, but i find it amusing that you have your emulator setup to give TV "Snow" when its set to RF pass though. :)
 
I've update my repository with the fixed key maps now.

|||> = Page Down
<||| = Page Up
Yes = F1
No = F2
TV = F3
SYM = F4

Joypad 2 is unmapped by default and Joypad 1 uses the numeric keypad for both the directions and fire button to avoid conflicts with the keyboard.

I also added support for raw sector images in addition to IMD images for floppy emulation. This is because MAME only supports reading IMD images, so if you want to write to a disk you will need to use a raw sector image. Such images should be 204800 in length (40 * 1024 * 5).
 
It was easy enough to code... XD

I've got all the new ROMs except "NabuPC_U53_CPM_Leo_3.bin" (which doesn't even look like Z80 code) booting (and it makes me more confident that my keyboard code at least somewhat works).

Getting much further will probably require me to recreate NABUInternetAdapter.exe.
 
It was easy enough to code... XD

I've got all the new ROMs except "NabuPC_U53_CPM_Leo_3.bin" (which doesn't even look like Z80 code) booting (and it makes me more confident that my keyboard code at least somewhat works).

Getting much further will probably require me to recreate NABUInternetAdapter.exe.
Yeah I also have been testing the new ROMS out as well and noticed the CPM one does not seem to be code, it might be a bad dump or just a failed eprom. I'm not sure. I'm working on adding HDD support based on the ver 14, ver17 roms that support hard drives.

If you emulate the HCCA serial port over TCP, you should be able to connect to the existing Internet Adapter for testing the reset of the system at least.
 
It was easy enough to code... XD

I've got all the new ROMs except "NabuPC_U53_CPM_Leo_3.bin" (which doesn't even look like Z80 code) booting (and it makes me more confident that my keyboard code at least somewhat works).

Getting much further will probably require me to recreate NABUInternetAdapter.exe.
Perhaps thats why that system doesn't boot. I've bagged them up and put them away for now.
 
Back
Top