c140: correct offset range when reading keyon status [dink]

This commit is contained in:
hap 2021-06-09 20:47:00 +02:00
parent 15c03e25c6
commit 2dd082e07c

View File

@ -478,7 +478,7 @@ inline u8 c140_device::keyon_status_read(u16 offset)
u8 c140_device::c140_r(offs_t offset)
{
offset &= 0x1ff;
if ((offset & 0xf) == 0x5)
if ((offset & 0xf) == 0x5 && offset < 0x180)
return keyon_status_read(offset);
return m_REG[offset];
}
@ -552,6 +552,8 @@ 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?
return c140_r(offset);