diff options
Diffstat (limited to 'src/devices/bus/spectrum/protek.cpp')
-rw-r--r-- | src/devices/bus/spectrum/protek.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/devices/bus/spectrum/protek.cpp b/src/devices/bus/spectrum/protek.cpp index d1e122d8dbb..a3f3a1838f8 100644 --- a/src/devices/bus/spectrum/protek.cpp +++ b/src/devices/bus/spectrum/protek.cpp @@ -72,20 +72,17 @@ void spectrum_protek_device::device_start() // IMPLEMENTATION //************************************************************************** -uint8_t spectrum_protek_device::iorq_r(offs_t offset) +READ8_MEMBER(spectrum_protek_device::port_fe_r) { uint8_t data = 0xff; - switch (offset & 0xff) - { - case 0xfe: - if (((offset >> 8) & 8) == 0) - data = m_exp_line3->read() | (0xff ^ 0x10); + uint8_t lines = offset >> 8; - if (((offset >> 8) & 16) == 0) - data = m_exp_line4->read() | (0xff ^ 0x1d); - break; - } + if ((lines & 8) == 0) + data = m_exp_line3->read() | (0xff ^ 0x10); + + if ((lines & 16) == 0) + data = m_exp_line4->read() | (0xff ^ 0x1d); return data; } |