diff options
Diffstat (limited to 'src/devices/bus/spectrum/intf2.cpp')
-rw-r--r-- | src/devices/bus/spectrum/intf2.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/devices/bus/spectrum/intf2.cpp b/src/devices/bus/spectrum/intf2.cpp index fb10aaef309..789be29717d 100644 --- a/src/devices/bus/spectrum/intf2.cpp +++ b/src/devices/bus/spectrum/intf2.cpp @@ -125,17 +125,20 @@ uint8_t spectrum_intf2_device::mreq_r(offs_t offset) return 0xff; } -uint8_t spectrum_intf2_device::port_fe_r(offs_t offset) +uint8_t spectrum_intf2_device::iorq_r(offs_t offset) { uint8_t data = 0xff; - uint8_t lines = offset >> 8; - - if ((lines & 8) == 0) - data = m_exp_line3->read() | (0xff ^ 0x1f); + switch (offset & 0xff) + { + case 0xfe: + if (((offset >> 8) & 8) == 0) + data = m_exp_line3->read() | (0xff ^ 0x1f); - if ((lines & 16) == 0) - data = m_exp_line4->read() | (0xff ^ 0x1f); + if (((offset >> 8) & 16) == 0) + data = m_exp_line4->read() | (0xff ^ 0x1f); + break; + } return data; } |