summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/c140.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/c140.cpp')
-rw-r--r--src/devices/sound/c140.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/devices/sound/c140.cpp b/src/devices/sound/c140.cpp
index f8cfe01fa06..c6e5a05271e 100644
--- a/src/devices/sound/c140.cpp
+++ b/src/devices/sound/c140.cpp
@@ -467,11 +467,11 @@ inline u8 c140_device::keyon_status_read(u16 offset)
{
m_stream->update();
C140_VOICE const &v = m_voi[offset >> 4];
- // suzuka 8 hours and final lap games reads from here,
- // expecting bit 6 to be an inprogress sample flag.
+
+ // suzuka 8 hours and final lap games read from here, expecting bit 6 to be an in-progress sample flag.
// four trax also expects bit 4 high for some specific channels to make engine noises to work properly
// (sounds kinda bogus when player crashes in an object and jump spin, needs real HW verification)
- return (v.key ? 0x40 : 0x00) | (v.mode & 0x3f);
+ return (v.key ? 0x40 : 0x00) | (m_REG[offset] & 0x3f);
}
@@ -552,13 +552,9 @@ void c140_device::c140_w(offs_t offset, u8 data)
u8 c219_device::c219_r(offs_t offset)
{
- offset &= 0x1ff;
// assume same as c140
// TODO: what happens here on reading unmapped voice regs?
- if ((offset & 0xf) == 0x5)
- return keyon_status_read(offset);
-
- return m_REG[offset];
+ return c140_r(offset);
}