diff options
Diffstat (limited to 'src/devices/bus/spectrum/uslot.cpp')
-rw-r--r-- | src/devices/bus/spectrum/uslot.cpp | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/src/devices/bus/spectrum/uslot.cpp b/src/devices/bus/spectrum/uslot.cpp index d2d75d6a72c..d27f1ec572d 100644 --- a/src/devices/bus/spectrum/uslot.cpp +++ b/src/devices/bus/spectrum/uslot.cpp @@ -64,8 +64,6 @@ void spectrum_uslot_device::device_start() void spectrum_uslot_device::device_reset() { - m_exp1->set_io_space(&io_space()); - m_exp2->set_io_space(&io_space()); } @@ -78,41 +76,41 @@ READ_LINE_MEMBER(spectrum_uslot_device::romcs) return m_exp1->romcs() | m_exp2->romcs(); } +void spectrum_uslot_device::opcode_fetch(offs_t offset) +{ + m_exp1->opcode_fetch(offset); + m_exp2->opcode_fetch(offset); +} -READ8_MEMBER(spectrum_uslot_device::mreq_r) +uint8_t spectrum_uslot_device::mreq_r(offs_t offset) { - uint8_t temp; uint8_t data = 0xff; - temp = m_exp1->mreq_r(space, offset); if (m_exp1->romcs()) - data &= temp; + data &= m_exp1->mreq_r(offset); - temp = m_exp2->mreq_r(space, offset); if (m_exp2->romcs()) - data &= temp; + data &= m_exp2->mreq_r(offset); return data; } -WRITE8_MEMBER(spectrum_uslot_device::mreq_w) +void spectrum_uslot_device::mreq_w(offs_t offset, uint8_t data) { if (m_exp1->romcs()) - m_exp1->mreq_w(space, offset, data); + m_exp1->mreq_w(offset, data); if (m_exp2->romcs()) - m_exp2->mreq_w(space, offset, data); + m_exp2->mreq_w(offset, data); } -READ8_MEMBER(spectrum_uslot_device::port_fe_r) +uint8_t spectrum_uslot_device::iorq_r(offs_t offset) { - uint8_t data = 0xff; - - if (m_exp1->romcs()) - data &= m_exp1->port_fe_r(space, offset); - - if (m_exp2->romcs()) - data &= m_exp2->port_fe_r(space, offset); + return m_exp1->iorq_r(offset) & m_exp2->iorq_r(offset); +} - return data; +void spectrum_uslot_device::iorq_w(offs_t offset, uint8_t data) +{ + m_exp1->iorq_w(offset, data); + m_exp2->iorq_w(offset, data); } |