summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2017-09-14 21:03:37 -0400
committer AJR <ajrhacker@users.noreply.github.com>2017-09-14 21:03:37 -0400
commit015410aaf0b3240f042b2077f4c4e23970ffc498 (patch)
tree4898270cb3b649fc1876fd57ff0294e5577cec43
parentf589b96abbe1b75d63f15b773124e1940a88ae8f (diff)
qb3: Fix sound (MT #6682)
-rw-r--r--src/mame/audio/cinemat.cpp6
-rw-r--r--src/mame/drivers/cinemat.cpp2
-rw-r--r--src/mame/includes/cinemat.h2
3 files changed, 6 insertions, 4 deletions
diff --git a/src/mame/audio/cinemat.cpp b/src/mame/audio/cinemat.cpp
index 2e6d4efcba6..7897c1e5eee 100644
--- a/src/mame/audio/cinemat.cpp
+++ b/src/mame/audio/cinemat.cpp
@@ -1438,10 +1438,10 @@ MACHINE_CONFIG_END
*
*************************************/
-WRITE_LINE_MEMBER(cinemat_state::qb3_sound4_w)
+WRITE8_MEMBER(cinemat_state::qb3_sound_fifo_w)
{
uint16_t rega = m_maincpu->state_int(ccpu_cpu_device::CCPU_A);
- machine().scheduler().synchronize(timer_expired_delegate(FUNC(cinemat_state::synced_sound_w), this), ~rega & 0x0f);
+ machine().scheduler().synchronize(timer_expired_delegate(FUNC(cinemat_state::synced_sound_w), this), rega & 0x0f);
}
@@ -1459,5 +1459,5 @@ MACHINE_CONFIG_DERIVED( qb3_sound, demon_sound )
MCFG_SOUND_RESET_OVERRIDE(cinemat_state, qb3)
MCFG_DEVICE_MODIFY("outlatch")
- MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(cinemat_state, qb3_sound4_w))
+ MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(NOOP) // not mapped through LS259
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cinemat.cpp b/src/mame/drivers/cinemat.cpp
index 97c2d0a9c15..364e38b3533 100644
--- a/src/mame/drivers/cinemat.cpp
+++ b/src/mame/drivers/cinemat.cpp
@@ -323,7 +323,9 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, cinemat_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map_qb3, AS_IO, 8, cinemat_state )
+ // Some of the outputs here are definitely not mapped through the LS259, since they use multiple bits of data
AM_RANGE(0x00, 0x00) AM_WRITE(qb3_ram_bank_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(qb3_sound_fifo_w)
AM_RANGE(0x0f, 0x0f) AM_READ(qb3_frame_r)
AM_IMPORT_FROM(io_map)
ADDRESS_MAP_END
diff --git a/src/mame/includes/cinemat.h b/src/mame/includes/cinemat.h
index fc6488e89a9..b166638273a 100644
--- a/src/mame/includes/cinemat.h
+++ b/src/mame/includes/cinemat.h
@@ -157,7 +157,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(wotw_sound3_w);
DECLARE_WRITE_LINE_MEMBER(wotw_sound4_w);
DECLARE_WRITE_LINE_MEMBER(demon_sound4_w);
- DECLARE_WRITE_LINE_MEMBER(qb3_sound4_w);
+ DECLARE_WRITE8_MEMBER(qb3_sound_fifo_w);
};
/*----------- defined in audio/cinemat.c -----------*/