summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2017-08-29 00:25:36 -0400
committer AJR <ajrhacker@users.noreply.github.com>2017-08-29 00:25:36 -0400
commit0af9923f26e5a3669547e28270de5d844322d471 (patch)
treee2887f191ce5f3f5cd693fa4dcef8f61aa23054c
parent7d2066f7ced917d98baa742ae4350e637ceecab6 (diff)
gaiden.cpp: Soundlatch update (nw)
-rw-r--r--src/mame/drivers/gaiden.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/mame/drivers/gaiden.cpp b/src/mame/drivers/gaiden.cpp
index 6c09b4b3f9c..52a9b9d8149 100644
--- a/src/mame/drivers/gaiden.cpp
+++ b/src/mame/drivers/gaiden.cpp
@@ -154,11 +154,9 @@ WRITE8_MEMBER(gaiden_state::drgnbowl_irq_ack_w)
WRITE16_MEMBER(gaiden_state::gaiden_sound_command_w)
{
- if (ACCESSING_BITS_0_7)
- m_soundlatch->write(space, 0, data & 0xff); /* Ninja Gaiden */
- if (ACCESSING_BITS_8_15)
- m_soundlatch->write(space, 0, data >> 8); /* Tecmo Knight */
- m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
+ // Ninja Gaiden writes only to the lower byte; Tecmo Knight and Strato Fighter write to the upper byte instead.
+ // It's not clear which 8 data lines are actually used, but byte smearing is almost certainly involved.
+ m_soundlatch->write(space, 0, data & 0xff);
}
@@ -788,6 +786,7 @@ static MACHINE_CONFIG_START( shadoww )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
+ MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI))
MCFG_SOUND_ADD("ym1", YM2203, 4000000)
MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0))