summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/spectrum/sixword.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/spectrum/sixword.cpp')
-rw-r--r--src/devices/bus/spectrum/sixword.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/devices/bus/spectrum/sixword.cpp b/src/devices/bus/spectrum/sixword.cpp
index df0f707f442..5ba2aca8e4e 100644
--- a/src/devices/bus/spectrum/sixword.cpp
+++ b/src/devices/bus/spectrum/sixword.cpp
@@ -365,7 +365,8 @@ void spectrum_swiftdisc_device::mreq_w(offs_t offset, uint8_t data)
}
}
- m_exp->mreq_w(offset, data);
+ if (m_exp->romcs())
+ m_exp->mreq_w(offset, data);
}
uint8_t spectrum_swiftdisc_device::iorq_r(offs_t offset)
@@ -373,7 +374,7 @@ uint8_t spectrum_swiftdisc_device::iorq_r(offs_t offset)
uint8_t data = m_exp->iorq_r(offset);
if (!BIT(offset, 5))
- data = m_joy->read();
+ data &= m_joy->read();
return data;
}
@@ -472,7 +473,8 @@ void spectrum_swiftdisc2_device::mreq_w(offs_t offset, uint8_t data)
}
}
- m_exp->mreq_w(offset, data);
+ if (m_exp->romcs())
+ m_exp->mreq_w(offset, data);
}
uint8_t spectrum_swiftdisc2_device::iorq_r(offs_t offset)
@@ -483,7 +485,7 @@ uint8_t spectrum_swiftdisc2_device::iorq_r(offs_t offset)
data &= control_r();
if (!BIT(offset, 5) && !BIT(m_control, 3))
- data = m_joy->read();
+ data &= m_joy->read();
if (m_conf->read())
{