summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/spectrum/mikroplus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/spectrum/mikroplus.cpp')
-rw-r--r--src/devices/bus/spectrum/mikroplus.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/devices/bus/spectrum/mikroplus.cpp b/src/devices/bus/spectrum/mikroplus.cpp
index 87552f79bf3..b0f0676aaee 100644
--- a/src/devices/bus/spectrum/mikroplus.cpp
+++ b/src/devices/bus/spectrum/mikroplus.cpp
@@ -85,19 +85,23 @@ void spectrum_mikroplus_device::device_start()
}
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void spectrum_mikroplus_device::device_reset()
+{
+ io_space().install_read_handler(0xdf, 0xdf, 0, 0xff00, 0, read8_delegate(FUNC(spectrum_mikroplus_device::joystick_r), this));
+}
+
+
//**************************************************************************
// IMPLEMENTATION
//**************************************************************************
-uint8_t spectrum_mikroplus_device::iorq_r(offs_t offset)
+READ8_MEMBER(spectrum_mikroplus_device::joystick_r)
{
- uint8_t data = 0xff;
-
- if (offset == 0xdf)
- {
- data = m_joy->read() | (0xff ^ 0x1f);
- }
- return data;
+ return m_joy->read() | (0xff ^ 0x1f);
}
READ_LINE_MEMBER(spectrum_mikroplus_device::romcs)
@@ -105,7 +109,7 @@ READ_LINE_MEMBER(spectrum_mikroplus_device::romcs)
return 1;
}
-uint8_t spectrum_mikroplus_device::mreq_r(offs_t offset)
+READ8_MEMBER(spectrum_mikroplus_device::mreq_r)
{
return m_rom->base()[offset & 0x3fff];
}