diff options
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 |
commit | 0af9923f26e5a3669547e28270de5d844322d471 (patch) | |
tree | e2887f191ce5f3f5cd693fa4dcef8f61aa23054c | |
parent | 7d2066f7ced917d98baa742ae4350e637ceecab6 (diff) |
gaiden.cpp: Soundlatch update (nw)
-rw-r--r-- | src/mame/drivers/gaiden.cpp | 9 |
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)) |