summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/electron/cart/mgc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/electron/cart/mgc.cpp')
-rw-r--r--src/devices/bus/electron/cart/mgc.cpp23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/devices/bus/electron/cart/mgc.cpp b/src/devices/bus/electron/cart/mgc.cpp
index 41cc29dfbfb..5f80559c47a 100644
--- a/src/devices/bus/electron/cart/mgc.cpp
+++ b/src/devices/bus/electron/cart/mgc.cpp
@@ -65,17 +65,14 @@ void electron_mgc_device::device_reset()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_mgc_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
+uint8_t electron_mgc_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
{
uint8_t data = 0xff;
- if (!infc && !infd)
+ if (oe)
{
- if (offset >= 0x0000 && offset < 0x4000)
- {
- int m_page_mode = BIT(m_control_latch, 2) ? BIT(m_control_latch, 1) : !romqa;
- data = m_nvram[(offset & 0x3fff) | (m_page_latch << 14) | (m_page_mode << 21)];
- }
+ int m_page_mode = BIT(m_control_latch, 2) ? BIT(m_control_latch, 1) : !romqa;
+ data = m_nvram[(offset & 0x3fff) | (m_page_latch << 14) | (m_page_mode << 21)];
}
return data;
@@ -85,7 +82,7 @@ uint8_t electron_mgc_device::read(address_space &space, offs_t offset, int infc,
// write - cartridge data write
//-------------------------------------------------
-void electron_mgc_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
+void electron_mgc_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
{
if (infc)
{
@@ -100,13 +97,9 @@ void electron_mgc_device::write(address_space &space, offs_t offset, uint8_t dat
break;
}
}
-
- if (!infc && !infd)
+ else if (oe)
{
- if (offset >= 0x0000 && offset < 0x4000 && BIT(m_control_latch, 0))
- {
- int m_page_mode = BIT(m_control_latch, 2) ? BIT(m_control_latch, 1) : !romqa;
- m_nvram[(offset & 0x3fff) | (m_page_latch << 14) | (m_page_mode << 21)] = data;
- }
+ int m_page_mode = BIT(m_control_latch, 2) ? BIT(m_control_latch, 1) : !romqa;
+ m_nvram[(offset & 0x3fff) | (m_page_latch << 14) | (m_page_mode << 21)] = data;
}
}