summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/spectrum/protek.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/spectrum/protek.cpp')
-rw-r--r--src/devices/bus/spectrum/protek.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/devices/bus/spectrum/protek.cpp b/src/devices/bus/spectrum/protek.cpp
index a3f3a1838f8..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
//**************************************************************************
-READ8_MEMBER(spectrum_protek_device::port_fe_r)
+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;
}