diff options
author | arbee <rb6502@users.noreply.github.com> | 2020-06-08 21:19:48 -0400 |
---|---|---|
committer | arbee <rb6502@users.noreply.github.com> | 2020-06-08 21:19:48 -0400 |
commit | 760977494c8893779931b56ab797c50aefebb1b9 (patch) | |
tree | fe84c0141c5b642f22496daabcfe2a2caa1296a3 | |
parent | ad912e5962680f2b6187599d9a6f2a592a3c0035 (diff) |
apple2: Better slot slowdown detection for the TransWarp (nw)
-rw-r--r-- | src/devices/bus/a2bus/transwarp.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/devices/bus/a2bus/transwarp.cpp b/src/devices/bus/a2bus/transwarp.cpp index 3de650dba1d..3c2c976c229 100644 --- a/src/devices/bus/a2bus/transwarp.cpp +++ b/src/devices/bus/a2bus/transwarp.cpp @@ -216,13 +216,15 @@ uint8_t a2bus_transwarp_device::dma_r(offs_t offset) { hit_slot_joy(); } - - if ((offset >= 0xc090) && (offset <= 0xc0ff)) + else if ((offset >= 0xc090) && (offset <= 0xc0ff)) { hit_slot(((offset >> 4) & 0xf) - 8); } - - if ((offset >= 0xf000) && (!m_bReadA2ROM)) + else if ((offset >= 0xc100) && (offset <= 0xc7ff)) + { + hit_slot((offset >> 8) & 0x7); + } + else if ((offset >= 0xf000) && (!m_bReadA2ROM)) { return m_rom[offset & 0xfff]; } @@ -279,6 +281,10 @@ void a2bus_transwarp_device::dma_w(offs_t offset, uint8_t data) { hit_slot(((offset >> 4) & 0xf) - 8); } + else if ((offset >= 0xc100) && (offset <= 0xc7ff)) + { + hit_slot((offset >> 8) & 0x7); + } slot_dma_write(offset, data); } |