diff options
author | David Haywood <28625134+DavidHaywood@users.noreply.github.com> | 2020-11-19 23:38:35 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-20 10:38:35 +1100 |
commit | 65238350c713151e1dc9a3b4f1e2966295173990 (patch) | |
tree | 0b23794726ae25cc3a78fbc66c752be03e09b689 | |
parent | b3c4e02d7ce74a8b19c973abd7f1cf7884047287 (diff) |
MT 07792: quartet, quarteta, quartet2, quartet2a: The moving floors that appear after the 15th stage are not displayed.
-rw-r--r-- | src/mame/drivers/segas16a.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mame/drivers/segas16a.cpp b/src/mame/drivers/segas16a.cpp index 122a69523e6..39938a46248 100644 --- a/src/mame/drivers/segas16a.cpp +++ b/src/mame/drivers/segas16a.cpp @@ -490,7 +490,9 @@ void segas16a_state::mcu_io_w(offs_t offset, uint8_t data) // access text RAM case 1: - if (offset >= 0x8000 && offset < 0x9000) + if (offset < 0x8000) + m_maincpu->space(AS_PROGRAM).write_byte(0x400001 ^ (offset & 0x7fff), data); + else if (offset < 0x9000) m_maincpu->space(AS_PROGRAM).write_byte(0x410001 ^ (offset & 0xfff), data); else logerror("%03X: MCU movx write mode %02X offset %04X = %02X\n", m_mcu->pc(), m_mcu_control, offset, data); @@ -540,8 +542,11 @@ uint8_t segas16a_state::mcu_io_r(address_space &space, offs_t offset) // access text RAM case 1: - if (offset >= 0x8000 && offset < 0x9000) + if (offset < 0x8000) + return m_maincpu->space(AS_PROGRAM).read_byte(0x400001 ^ (offset & 0x7fff)); + else if (offset < 0x9000) return m_maincpu->space(AS_PROGRAM).read_byte(0x410001 ^ (offset & 0xfff)); + logerror("%03X: MCU movx read mode %02X offset %04X\n", m_mcu->pc(), m_mcu_control, offset); return 0xff; |