Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
04478 Crash/Freeze Critical (emulation) Always Sep 2, 2011, 04:13 Nov 4, 2012, 13:00
Tester Fujix View Status Public Platform MAME (Self-compiled)
Assigned To Kale Resolution Fixed OS Windows Vista/7 (64-bit)
Status [?] Resolved Driver nbmj8891.cpp
Version 0.143u4 Fixed in Version 0.147u3 Build Normal
Fixed in Git Commit Github Pull Request #
Summary 04478: nbmj8688.c, nbmj8891.c, nbmj8900.c (hyhoo, hyhoo2, gionbana, mjsikaku, ohpaipee, club90s etc.): The game breaks by soft resetting. Stuck at the initialization screen.
Description If you reset the game with the F3 key once or twice, the game breaks and stuck at the initialization screen.
Steps To Reproduce Boot and reset (F3) some times.
Additional Information This bug was found by Nogi the original driver author.

Games in this driver except BET games don't use NVRAM.
Nogi guessing the cause could be the same as the Maikobana BET version stated in 04472.
Github Commit
Regression Version
Affected Sets / Systems nbmj8688.c, nbmj8891.c, nbmj8900.c (hyhoo, hyhoo2, gionbana, mjsikaku, ohpaipee, club90s etc.)
Attached Files
related to 04472ResolvedKale mmaiko: Halt at "TEST NOTE IN..." screen 
User avatar
Oct 28, 2012, 14:23
Hmm, hardly any (arcade) hardware has a soft reset button, it is possible that this happens on the pcb as well if you do a reset pulse.
Didn't we have a note somewhere that F3 reset bugs are not considered bugs? Personally, if i want to reboot MAME/MESS, i press shift+F3.
User avatar
Senior Tester
Nov 1, 2012, 12:38
We do have a rule about that, but check out the related bug (I did a fair amount of research on this that's in the notes for that report), this isn't actually a reset issue as much as a bug somewhere that causes the NVRAM to become corrupt; it's not limited to soft resetting, it just happens to be a particular way to make the bug show itself.
User avatar
Senior Tester
Nov 1, 2012, 18:05
edited on: Nov 1, 2012, 18:06
the problem is, define a "reset pulse"

personally I'd prefer to see hard reset as the only / default reset, or at least 'reset' behavior to be defined as turning it off and then back on again (which of course would leave anything written to nvram / disk intact, but clear out ram, reset all devices etc.)

if a system has it's own 'reset' button (like the Sega Genesis) then said reset button should be hooked up as a button anyway, not relying on the F3 behavior which will reset a whole bunch of components the original machine won't (and yes, there are cheatmodes in games relying on reset only resetting what's meant to get reset)

likewise on some computers the 'reset' button will generate an NMI, not actually reset anything.

basically for any system with an actual reset button you'd want strictly defined behavior in the driver, not the generic F3 behavior anyway.

the simple 'reset' concept in MAME is dated and ill-defined.
User avatar
Nov 1, 2012, 19:46
edited on: Nov 1, 2012, 19:47
[offtopic for MT]
Sure, the default reset should be hard-reset, but everyone's used to it. Switching F3/shift+F3 leads to confusion :p
ill defined? ok, rename soft-reset to "power cycle" and hard-reset to "restart emulation"? Again, everyone's used to what they're named now. BTW did you know many old computers retain RAM contents after turning off/on very fast?

and yes, megadrive/nes/etc should not rely on F3 for reset button
User avatar
Senior Tester
Nov 1, 2012, 21:36
All computers retain RAM content upon a reset, even modern ones. A processor reset only resets the processor and it's state, everything else remains in RAM unless the DRAM refresh is cut for a sufficient amount of time to let the capacitors discharge.

These games, as the research I did in the other thread indicates, these games have the capability to reset itself in some manner, either by jumping to it's initialization point or pulsing the reset line on the CPU(s), and this second reset, no matter where it comes from, the game or the user pressing F3 (which is analogous to pulsing the reset line, there's really no need to define this; it's a pulse on the reset line of the processor of long enough duration to be taken as a reset) causes the games to corrupt their NVRAM. This is a legitimate bug, and discussion of MAME's reset mechanisms is not for this space.
User avatar
Senior Tester
Nov 2, 2012, 00:42
edited on: Nov 2, 2012, 00:43
Except it could come entirely down to MAME's reset mechanism, and what gets reset / doesn't get reset, in what order etc.

AFAIK MAME's reset effectively calls the 'reset' functions for every device in the system, however reset states are not always the same as power-on states. To do such on a real PCB you'd have to manually tie wires to more than just a single line on a single cpu, it is therefore putting the game / hardware in a completely unnatural state, a state quite capable of festering bugs.

I don't see how this is an inappropriate place for such discussion given that the bug is reporting a problem when you use the F3 reset...
User avatar
Senior Tester
Nov 3, 2012, 01:14
Let me test a few and see if game-sourced resets cause the same issue as reported in 04472 because if they do, then this report is actually more than just F3 reset and should be folded into 04472. I'll report back when I get a chance to test some.
User avatar
Nov 4, 2012, 13:00
This is caused by NMI, Kale has already fixed it.