From 6014e8fc13602b2dd93881fe617e8427d4abb22b Mon Sep 17 00:00:00 2001 From: angelosa Date: Sat, 26 May 2018 20:09:09 +0200 Subject: tatsumi.cpp: fixed broken sound in bigfight/cyclwarr, demoted cyclwarr and apache3 to not_working (missing important game elements) (nw) --- src/mame/drivers/tatsumi.cpp | 24 ++++++++++++++++-------- src/mame/includes/tatsumi.h | 1 + 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/mame/drivers/tatsumi.cpp b/src/mame/drivers/tatsumi.cpp index f5d1275ac78..e85364ac1e6 100644 --- a/src/mame/drivers/tatsumi.cpp +++ b/src/mame/drivers/tatsumi.cpp @@ -161,6 +161,14 @@ /***************************************************************************/ + +WRITE8_MEMBER(cyclwarr_state::cyclwarr_sound_w) +{ + m_soundlatch->write(space, 0, data); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); +} + + READ16_MEMBER(cyclwarr_state::cyclwarr_sprite_r) { return m_spriteram[offset]; @@ -306,7 +314,7 @@ void cyclwarr_state::cyclwarr_68000a_map(address_map &map) map(0x0a4000, 0x0a4001).w(this, FUNC(cyclwarr_state::bigfight_a40000_w)); map(0x0a6000, 0x0a6001).w(this, FUNC(cyclwarr_state::bigfight_a60000_w)); - map(0x0b8000, 0x0b8001).w(m_soundlatch, FUNC(generic_latch_8_device::write)).umask16(0xff00).cswidth(16); + map(0x0b8000, 0x0b8001).w(this, FUNC(cyclwarr_state::cyclwarr_sound_w)).umask16(0xff00); map(0x0b9000, 0x0b900f).rw("io1", FUNC(cxd1095_device::read), FUNC(cxd1095_device::write)).umask16(0x00ff).cswidth(16); map(0x0ba000, 0x0ba00f).rw("io2", FUNC(cxd1095_device::read), FUNC(cxd1095_device::write)).umask16(0x00ff).cswidth(16); map(0x0c0000, 0x0c3fff).rw(this, FUNC(cyclwarr_state::cyclwarr_sprite_r), FUNC(cyclwarr_state::cyclwarr_sprite_w)).share("spriteram"); @@ -362,7 +370,7 @@ void cyclwarr_state::bigfight_68000a_map(address_map &map) map(0x0a4000, 0x0a4001).w(this, FUNC(cyclwarr_state::bigfight_a40000_w)); map(0x0a6000, 0x0a6001).w(this, FUNC(cyclwarr_state::bigfight_a60000_w)); - map(0x0b8000, 0x0b8001).w(m_soundlatch, FUNC(generic_latch_8_device::write)).umask16(0xff00).cswidth(16); + map(0x0b8000, 0x0b8001).w(this, FUNC(cyclwarr_state::cyclwarr_sound_w)).umask16(0xff00); map(0x0b9000, 0x0b900f).rw("io1", FUNC(cxd1095_device::read), FUNC(cxd1095_device::write)).umask16(0x00ff).cswidth(16); map(0x0ba000, 0x0ba00f).rw("io2", FUNC(cxd1095_device::read), FUNC(cxd1095_device::write)).umask16(0x00ff).cswidth(16); map(0x0c0000, 0x0c3fff).rw(this, FUNC(cyclwarr_state::cyclwarr_sprite_r), FUNC(cyclwarr_state::cyclwarr_sprite_w)).share("spriteram"); @@ -1020,7 +1028,7 @@ MACHINE_CONFIG_START(cyclwarr_state::cyclwarr) SPEAKER(config, "rspeaker").front_right(); MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI)) +// MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI)) MCFG_DEVICE_ADD("ymsnd", YM2151, CLOCK_1 / 4) MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) @@ -1080,7 +1088,7 @@ MACHINE_CONFIG_START(cyclwarr_state::bigfight) SPEAKER(config, "rspeaker").front_right(); MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI)) +// MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI)) MCFG_DEVICE_ADD("ymsnd", YM2151, CLOCK_1 / 4) MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) @@ -1484,9 +1492,9 @@ void cyclwarr_state::init_cyclwarr() /* http://www.tatsu-mi.co.jp/game/trace/index.html */ /* ** 1987 grayout - Gray Out (not dumped yet) */ -GAME( 1988, apache3, 0, apache3, apache3, apache3_state, init_apache3, ROT0, "Tatsumi", "Apache 3", MACHINE_IMPERFECT_GRAPHICS ) -GAME( 1988, apache3a, apache3, apache3, apache3, apache3_state, init_apache3, ROT0, "Tatsumi (Kana Corporation license)", "Apache 3 (Kana Corporation license)", MACHINE_IMPERFECT_GRAPHICS ) +GAME( 1988, apache3, 0, apache3, apache3, apache3_state, init_apache3, ROT0, "Tatsumi", "Apache 3", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) +GAME( 1988, apache3a, apache3, apache3, apache3, apache3_state, init_apache3, ROT0, "Tatsumi (Kana Corporation license)", "Apache 3 (Kana Corporation license)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) GAMEL(1989, roundup5, 0, roundup5, roundup5, roundup5_state, init_roundup5, ROT0, "Tatsumi", "Round Up 5 - Super Delta Force", MACHINE_IMPERFECT_GRAPHICS, layout_roundup5 ) -GAME( 1991, cyclwarr, 0, cyclwarr, cyclwarr, cyclwarr_state, init_cyclwarr, ROT0, "Tatsumi", "Cycle Warriors (rev C)", MACHINE_IMPERFECT_GRAPHICS ) // Rev C & B CPU code -GAME( 1991, cyclwarra, cyclwarr, cyclwarr, cyclwarb, cyclwarr_state, init_cyclwarr, ROT0, "Tatsumi", "Cycle Warriors (rev B)", MACHINE_IMPERFECT_GRAPHICS ) // Rev B & A CPU code +GAME( 1991, cyclwarr, 0, cyclwarr, cyclwarr, cyclwarr_state, init_cyclwarr, ROT0, "Tatsumi", "Cycle Warriors (rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // Rev C & B CPU code +GAME( 1991, cyclwarra, cyclwarr, cyclwarr, cyclwarb, cyclwarr_state, init_cyclwarr, ROT0, "Tatsumi", "Cycle Warriors (rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // Rev B & A CPU code GAME( 1992, bigfight, 0, bigfight, bigfight, cyclwarr_state, init_cyclwarr, ROT0, "Tatsumi", "Big Fight - Big Trouble In The Atlantic Ocean", MACHINE_IMPERFECT_GRAPHICS ) diff --git a/src/mame/includes/tatsumi.h b/src/mame/includes/tatsumi.h index ab536791c21..1c6280dfdd0 100644 --- a/src/mame/includes/tatsumi.h +++ b/src/mame/includes/tatsumi.h @@ -188,6 +188,7 @@ public: DECLARE_WRITE16_MEMBER(bigfight_a40000_w); DECLARE_WRITE16_MEMBER(bigfight_a60000_w); DECLARE_WRITE8_MEMBER(cyclwarr_control_w); + DECLARE_WRITE8_MEMBER(cyclwarr_sound_w); template DECLARE_READ16_MEMBER(cyclwarr_videoram_r); template DECLARE_WRITE16_MEMBER(cyclwarr_videoram_w); -- cgit v1.2.3