Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07340 DIP/Input Minor Always May 28, 2019, 10:52 Jun 29, 2020, 22:45
Tester mmarino4 View Status Public Platform MAME (Official Binary)
Assigned To tedgreen Resolution Fixed OS Windows 10 (64-bit)
Status [?] Resolved Driver
Version 0.209 Fixed in Version 0.223 Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 07340: nbagold, nbanfl and nbashowt: Missing digital joystick inputs, working status incorrect
Description The games can be switched between an analog joystick (49-way) and a standard digital joystick with a dipswitch, however there are no digital inputs in MAME. The seattle.cpp Blitz games ([blitz], [blitz11], [blitz99], [blitz99a] and [blitz2k]) have the reverse issue where only the digital input is available.

I understand that these games are marked as "Not Working" but this is incorrect as of MAME 0.209 where they are fully working. A change on April 6 seems to have fully fixed all versions of NBA Showtime, including the combo cabinets.
Steps To Reproduce Hit tab and try mapping digital joystick inputs. The option is not there despite which setting the dipswitch is on.
Additional Information
Github Commit
Regression Version
Affected Sets / Systems nbagold, nbanfl and nbashowt
Attached Files
There are no relationship linked to this issue.
User avatar
May 28, 2019, 15:35
I am working on a fix for the joysticks. It turns out to be a little more complicated as the blitz machine has the 49-way joysticks connected directly to the P1 and P2 input ports but the rest of the games use the i40 board to mux the joysticks into the P4 port. It also looks like the P4 controls are broken if the 49-way is not selected.

As for the Showtime series marked as NOT_WORKING, there two main reasons for this.
1) The game serial number needs to be set the development serial number. Using the correct game serial number will cause the game to crash.
2) The game still hangs sometimes when leaving the service menu.
User avatar
May 28, 2019, 16:34
edited on: May 28, 2019, 17:42
Didn't see ted mention the I-40 board till now but here is a pic of that board anyway:

Gauntlet Legends and Dark Legacy also support 49 way joysticks too so this needs to be implemented as well. I was going to mark the NBA Showtime games as working in a later commit but some problems persisted on my end. Thanks for the explanation on why you left those flags (although imperfect sound needs to be removed because those games use a regular Vegas Sound I/O board).

Edit: Only nbagold has its serial number set to the developer one. The other two work fine without that change. nbashowt works fine but nbanfl has the test mode issue where entering a different test menu after loading one test menu will reset the machine.
User avatar
Jun 28, 2020, 16:10
I have pushed a commit which should solve this issue.

Please update this report if anyone finds issues.
User avatar
Jun 28, 2020, 18:16
edited on: Jun 28, 2020, 18:37
Did some tests. gauntleg and gauntdl have their 49-way sticks work good. The four player versions of NFL Blitz and NBA showtime have an issue. Pressing right on player 3's joystick will cause graphical issues (in all NBA Showtime versions, it will cause the screen to flicker or turn black until the stick is released to center). Come to think of it, this does happen in gauntleg and gauntdl but to a lesser extent.

Also, the issue where nbanfl and nbagold resets when loading a different test mode in memory will reset the machine is still there (PIC simulation related?). I'm thinking we should find a good dump of those serial PICs and hook them to fix the issue for good.

Edit: An issue with Player 4's 49-way stick not responding in "49-way" is currently fixed.
User avatar
Jun 29, 2020, 01:54
edited on: Jun 29, 2020, 01:56
I had the same findings as Hydreigon but it's not right on player 3's joystick that's causing the problem. It's actually pressing L on the keyboard. The default key for P3 right is L which is why this was happening but if you map it to something else, it works and doesn't mess the screen up. I unmapped all controls for the game and pressing L still causes the graphical issue.

Edit: I should mention I tried clearing out any other MAME controls that were using L but the problem persists.
User avatar
Jun 29, 2020, 03:01

So I found the issue and it isn't joystick related. There's some debugging code in the voodoo driver and pressing L would do this:
if (machine().input().code_pressed(KEYCODE_L))
drawbuf = fbi.backbuf;

There are also additional debugging inputs for the backslash and enter keys.
User avatar
Jun 29, 2020, 13:42
I have disabled the backbuffer debug by default.

There were previous reports with other drivers using the voodoo device having issues with the debug keys conflicting with controls so this should help.
User avatar
Jun 29, 2020, 22:34
I tried the latest version and this can be closed. Thanks.