Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08004 Sound Minor Always Jun 12, 2021, 17:54 23 days ago
Tester DawnofTed View Status Public Platform MAME (Official Binary)
Assigned To Resolution Reopened OS Windows 10 (64-bit)
Status [?] Confirmed Driver neogeo.cpp
Version 0.232 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 08004: stakwin: Sound effects cut out completely during the how to play screen or gameplay.
Description Sound effects cut out completely during the how to play screen or gameplay.
Steps To Reproduce After crediting/starting and watching demonstration, the sound effect of the (B) button "Whip" will likely malfunction bringing with it loss of other sound effects including the double move dash controller sound.
Additional Information
Github Commit
Flags
Regression Version 0.197
Affected Sets / Systems stakwin
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
19
User avatar
No.18967
Tafoid
Administrator
Jun 12, 2021, 21:23
Are you stating it has always been missing something, or is it a recent regression?
User avatar
No.18970
DawnofTed
Tester
Jun 12, 2021, 21:42
edited on: Jun 12, 2021, 21:57
It must have been recent because I tested it out on version 0.160 of MAME and everything worked fine.
User avatar
No.18977
Tafoid
Administrator
Jun 13, 2021, 15:15
edited on: Jun 13, 2021, 15:16
0.160 isn't all that recent. When I say recent, I mean with in the last few releases where it is possible the rewritten FM cores may be a primary issue.
Do you have or known of any original PCB/Cart hardware videos/recording which can be used as a comparison?
User avatar
No.18979
DawnofTed
Tester
Jun 13, 2021, 21:06
edited on: Jun 13, 2021, 21:08
I don’t know of any reference material besides the videos on arcadeitalia. I did try out the game on MAME .228, shortly before the FM cores rewrite (.230 release I assume?), and the bug was reproduced.
User avatar
No.19022
Tafoid
Administrator
Jun 22, 2021, 23:47
After crediting/starting and watching demonstration, the sound effect of the (B) button "Whip" will likely malfunction bringing with it loss of other sound effects including the double move dash controller sound. Using that and testing many binaries I came across a very likely regression.

March 28, 2018 made binary seems to work in multiple attempts. March 29, 2018 made binary fails in the manner described above. Changes below all happen on that day and exclusively for neogeo driver.
https://github.com/mamedev/mame/commit/8d11ab6ada2f3c5719d4131f8d08d3b6ff16a795
https://github.com/mamedev/mame/commit/af143199f8e0a5f252617f6607f234d76eaae224
User avatar
No.19025
Haze
Senior Tester
Jun 23, 2021, 21:28
If I had to guess it's because
machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50));

appears to have been removed and not restored. several neogeo games need tight comms after writing to the sound latch, I can't see where the cleaned up code does that.
User avatar
No.19027
Haze
Senior Tester
Jun 23, 2021, 21:46
edited on: Jun 23, 2021, 21:52
ah it looks like it was restored in a later PR?

did it de-regress when that was restored and then regress again later, or did restoring it later not fix this issue?
User avatar
No.19029
Tafoid
Administrator
Jun 23, 2021, 23:39
I didn't check. I only checked for a regression. I'll have to check further if I can find the restored PR.
User avatar
No.19030
cuavas
Administrator
Jun 24, 2021, 03:41
The boost interleave was restored later as without it, Strikers 1945 Plus showed black horizontal lines. This still looks like the kind of thing that could be caused by scheduling interactions between the CPUs, but I’m not sure how to address it. The latch for the response from the Z80 to the 68k uses a synchronisation barrier.
User avatar
No.19031
hap
Developer
Jun 24, 2021, 16:25
It's the input_merger device. I noticed a flaw in it when I was working on some of the Saitek drivers.
For convenience, the device doesn't require the driver to set the number of input lines. But as a bad side effect, it will default the initial state of an AND gate to all-high.
User avatar
No.19034
Haze
Senior Tester
Jun 25, 2021, 01:31
I'm curious to know what the actual implications of this are, and if we need to go over all the other drivers that have been converted to input merger

also, it was a default state issue? on a neogeo game? that's the last thing I would have expected for something where you can have multiple carts inserted etc.
User avatar
No.19037
hap
Developer
Jun 25, 2021, 09:37
input_merger has an u32 bit mask for the state.
On an AND gate, it defaults to 0xffffffff so it can detect "all high" easily without knowing the number of input lines.

Let's say you have an AND gate on a pcb. One line is the NMI trigger, one line is the NMI enable.
In MAME, if the game writes 1 to the enable bit at boot, it will cause an NMI even though the game did not trigger one.
User avatar
No.19038
hap
Developer
Jun 25, 2021, 10:07
Too bad, that wasn't it. And neogeo.cpp already took care of it at machine_reset:

// disable audiocpu NMI
m_audionmi->in_w<1>(0);
m_soundlatch->acknowledge_w();
User avatar
No.19083
Haze
Senior Tester
27 days ago
have you done anything to determine if it's still input merger related, or a problem elsewhere? (eg reverting that part of the changeset to see if it fixes it?)
User avatar
No.19085
hap
Developer
26 days ago
no, i don't think it's input_merger related
User avatar
No.19086
Haze
Senior Tester
25 days ago
so it's unlikely to be these changesets that ultimately caused it?
User avatar
No.19087
hap
Developer
25 days ago
The input_merger stuff? Looking at the diff, it is the same as it was before, just less verbose.
Or if by "changesets" you mean everything? If Tafoid points the regression to that day, I also expect the regression to be in one of those commits he linked.
User avatar
No.19095
Haze
Senior Tester
23 days ago
well I mean do you think maybe it did regress this day, due to the sync line being dropped, but then was fixed later when that was readded, and regressed again

if so we need the real regression day
User avatar
No.19096
hap
Developer
23 days ago
dunno, I didn't look into that.