Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07091 DIP/Input Major Always Sep 4, 2018, 09:04 Sep 6, 2018, 13:56
Tester MetalGod View Status Public Platform MAME (Official Binary)
Assigned To AJR Resolution Fixed OS Windows Vista/7/8 (64-bit)
Status [?] Resolved Driver
Version 0.201 Fixed in Version 0.202 Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 07091: sgunner2, sgunner2j: Player 1 and Player 2 Coin buttons missing
Description Coin buttons for player 1 and 2 don't work ingame.
They are both recognized inside the service menu but don't work ingame.

This incidence started in Mame 0.193 and it's still happening in Mame 0.201

It looks similar to ticket 05287
Steps To Reproduce Just try to insert a credit ingame (5 or 6 keys by default)
Additional Information
Github Commit
Flags
Regression Version 0.193
Affected Sets / Systems sgunner2, sgunner2j
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
1
User avatar
No.15411
AJR
Developer
Sep 6, 2018, 13:56
This was the result of a M740 bug introduced as a subtle and unnecessary change during the great disassembler refactoring. To make a long story short, variable shadowing made the SET and CLT instructions not actually affect execution, even though they could affect the disassembly.

If you want to see the exact point where sgunner2's coin inputs were getting lost, run the debugger, focus on the c68 MCU and then enter 'bpset 83b9, a & 3'. This breakpoint will trigger when a coin input is received. Examine the surrounding code, and you can tell that the coin inputs will be obliterated if LDT #$00 (the instruction at 83B9) is executed as LDA #$00 (which the instruction would be interpreted as without SET). Stepping over the instruction will confirm whether or not that happens.