- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
08248 | DIP/Input | Major | Always | Mar 14, 2022, 06:14 | Mar 30, 2022, 03:37 |
Tester | samsho2 | View Status | Public | Platform | MAME (Official Binary) |
Assigned To | Resolution | Invalid report | OS | Windows 10/11 (64-bit) | |
Status [?] | Closed | Driver | |||
Version | 0.239 | Fixed in Version | Build | 64-bit | |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 08248: samsho2: Enabling debug dip 2-7 with unibios crashes the device | ||||
Description |
Enabling debug dip switch 2-7 in Samurai Shodown 2 causes the system to crash with an exception. This works in winkawaks, but we could probably use more testing on real hardware to see what happens there. This debug dip option has been confirmed by others to work on real hardware, but maybe this is some issue with MAME and unibios? See screenshots for details. |
||||
Steps To Reproduce |
1. Select Universe BIOS (Hack, Ver. 4.0) 2. Start a game, then hold A+B+C and press START to open up the universe bios menu. 3. Select DEBUG DIP SETTINGS 4. Enable DIP2 7 (set to 1) with the A button 5. Press C twice to return to the game 6. See exception error: illegal instruction 00000004 7. Press A to alternate registers See screenshots for details. |
||||
Additional Information |
https://cdn.discordapp.com/attachments/674358469754880044/952810636352585768/unknown.png https://cdn.discordapp.com/attachments/674358469754880044/952810452713345054/unknown.png https://cdn.discordapp.com/attachments/674358469754880044/952810721832484885/unknown.png https://cdn.discordapp.com/attachments/674358469754880044/952810885603295232/unknown.png |
||||
Github Commit | |||||
Flags | |||||
Regression Version | |||||
Affected Sets / Systems | samsho2 | ||||
Attached Files
|
|||||
Relationships
There are no relationship linked to this issue. |
Notes
13
No.19896
Haze Senior Tester
Mar 14, 2022, 10:51
edited on: Mar 14, 2022, 11:04 |
does this REALLY work on real hardware? this is a standard 'illegal instruction' exception from the 68k meaning the code has tried to execute something invalid, and the 68k illegal instruction handling should be reliable. I don't think WinKawaks bothers to emulate 68k exceptions so is not a valid comparison (this and NRX which also doesn't emulate the exceptions is one of the reasons there are a bunch of ROM hacks that don't work on real hardware) |
---|---|
No.19897
samsho2 Tester
Mar 14, 2022, 11:47
|
Can you help me figure out a MAME cheat entry for enabling this debug dip so we can eliminate universe bios as a variable? |
No.19898
Haze Senior Tester
Mar 14, 2022, 13:26
|
well how is it being enabled on real hardware? you'd need a debug BIOS / debug motherboard, or the Uni BIOS even there. there are no physical switches for this on retail hardware. |
No.19899
samsho2 Tester
Mar 14, 2022, 13:36
|
The person who documented the behavior did it on real hardware, but I don't know if he used the uni bios or a debug bios. Setting the value in Final Burn Neo using its Debug Dip 2 option (huh, it has an option) works: https://cdn.discordapp.com/attachments/197420215363960832/952923121827082280/unknown.png I have no idea how to do the equivalent thing in MAME. |
No.19900
Haze Senior Tester
Mar 14, 2022, 14:19
edited on: Mar 14, 2022, 14:20 |
FBN pokes values directly into RAM, this is a hack. Stop comparing what other emulators do to MAME. You could do the same with a lua script or a cheat, but doing so would invalidate any bug reports. |
No.19901
samsho2 Tester
Mar 14, 2022, 14:28
edited on: Mar 14, 2022, 14:49 |
Can you humor me and let me know what the syntax is for doing that with MAME? I'm trying to determine if enabling this dip switch is what's causing it to freeze or it's something to do with the unibios setting. |
No.19902
samsho2 Tester
Mar 14, 2022, 15:59
|
So I added this cheat and it still crashes. <cheat desc="DEBUG DIP - Sprite Viewer"> <comment>Debug Dip 2_7</comment> <script state="run"> <action>maincpu.pb@100001=40</action> </script> </cheat> I can see the coordinates for the sprite viewer appear before it crashes, so that SEEMS to be it, but I don't know. This is the error: https://cdn.discordapp.com/attachments/197420215363960832/952958873055166484/unknown.png |
No.19903
samsho2 Tester
Mar 14, 2022, 16:23
|
And when you use the same cheat with the aes driver, it just resets the machine after briefly showing the sprite viewer. |
No.19904
Tafoid Administrator
Mar 14, 2022, 17:06
|
Discussed also here: https://github.com/mamedev/mame/issues/9413 |
No.19918
samsho2 Tester
Mar 16, 2022, 16:16
|
I got someone to test this with the unibios on real AES hardware, and the behavior is not the same as MAME. It doesn't immediately show that exception screen. |
No.19919
Haze Senior Tester
Mar 16, 2022, 21:50
edited on: Mar 16, 2022, 21:50 |
it doesn't show the exception in MAME on an AES system either, although it jumps to service mode after about a second. you're not comparing like-for-like, or providing enough information. |
No.19922
cuavas Administrator
Mar 17, 2022, 13:04
|
No evidence that MAME is actually misbehaving has been provided. |
No.19970
Foxhack Tester
Mar 30, 2022, 03:37
|
I started to poke around the game to see what was going on. Pressing A+B+C and 1P Start to bring up the menu, then going into the debug bios options and turning on dip 2-7 will crash the game as soon as you start a fight. But, if instead of doing that, you use the built in patch memory function to add value 0x40 to location 0x100001 (essentially turning on Dip 2-7), it will -not- crash the game. You'll be able to move around the sprite and change it by pressing the stick and buttons on your pad. It's still very unstable, and may eventually crash your game in the same way as the bug report described. I tested this issue with a few versions of the Universe bios, and they all behaved the same. |