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