Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05962 Sound Minor Random Jun 10, 2015, 16:33 Jun 11, 2015, 07:19
Tester darq View Status Public Platform MAME (Self-compiled)
Assigned To Resolution Open OS Windows Vista/7/8 (64-bit)
Status [?] Confirmed Driver
Version 0.162 Fixed in Version Build
Fixed in Git Commit Github Pull Request #
Summary 05962: gotcha: Music suddenly stops
Description Music hangs at random points. Just play the game for a while, or press the fast forward key during a level.

After a fast investigation, I found that the cause is the audio CPU NMI.
I think that NMI is useless and also harmful. It causes 0xC00F reads (as noted in the source) and it expects an opcode there,
so if you always return 0x00 = NOP instr. for example, the CPU reads/writes at 'strange' locations after a while.

I also compared the audio CPU with silvmil that is a similar hw (PS: Isn't a good idea to merge gotcha with silvmil? ;))
and silvmil doesn't need an NMI.
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems gotcha
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.11748
Tafoid
Administrator
Jun 10, 2015, 23:39
Confirmed the state of occasionally stalling music and not the reason listed above.
User avatar
No.11750
darq
Tester
Jun 11, 2015, 05:25
Can I ask why you cannot confirm the NMI's fault?
If my assumptions are wrong, I'd like to know why :-)

Thanks.
User avatar
No.11751
Mamesick
Senior Tester
Jun 11, 2015, 07:19
darq assumptions are right, 0xC00F location in the sound map should be enabled. Then there are two possibilities:
1) still mantain the NMIs and correctly emulate what happens there.
2) fill the location with AM_WRITENOP and then remove the NMIs from MACHINE_CONFIG since they are nested. (this is already done in the mentioned SILVMIL.C driver)
I'm stunned that there's request and research of new contributors and still read answers like this.