diff options
Diffstat (limited to 'src/devices/bus/electron/cart/mgc.cpp')
-rw-r--r-- | src/devices/bus/electron/cart/mgc.cpp | 23 |
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; } } |