summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit65238350c713151e1dc9a3b4f1e2966295173990 (patch)
tree0b23794726ae25cc3a78fbc66c752be03e09b689
parentb3c4e02d7ce74a8b19c973abd7f1cf7884047287 (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.cpp9
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;