diff --git a/src/devices/bus/electron/cart/abr.cpp b/src/devices/bus/electron/cart/abr.cpp index 6f7354451af..c894d5e9c71 100644 --- a/src/devices/bus/electron/cart/abr.cpp +++ b/src/devices/bus/electron/cart/abr.cpp @@ -54,7 +54,7 @@ uint8_t electron_abr_device::read(address_space &space, offs_t offset, int infc, { if (offset >= 0x0000 && offset < 0x4000) { - data = m_nvram[(offset & 0x3fff) + (romqa * 0x4000)]; + data = m_nvram[(offset & 0x3fff) | (romqa << 14)]; } } @@ -90,7 +90,7 @@ void electron_abr_device::write(address_space &space, offs_t offset, uint8_t dat { if (offset >= 0x0000 && offset < 0x4000 && !m_bank_locked[romqa]) { - m_nvram[(offset & 0x3fff) + (romqa * 0x4000)] = data; + m_nvram[(offset & 0x3fff) | (romqa << 14)] = data; } } } diff --git a/src/devices/bus/electron/cart/aqr.cpp b/src/devices/bus/electron/cart/aqr.cpp index 117f8e0290f..8a3edebd194 100644 --- a/src/devices/bus/electron/cart/aqr.cpp +++ b/src/devices/bus/electron/cart/aqr.cpp @@ -56,7 +56,7 @@ uint8_t electron_aqr_device::read(address_space &space, offs_t offset, int infc, { if (offset >= 0x0000 && offset < 0x4000) { - data = m_ram[(offset & 0x3fff) + (m_page_register * 0x4000)]; + data = m_ram[(offset & 0x3fff) | (m_page_register << 14)]; } } @@ -89,7 +89,7 @@ void electron_aqr_device::write(address_space &space, offs_t offset, uint8_t dat { if (offset >= 0x0000 && offset < 0x4000 && !m_lock_register) { - m_ram[(offset & 0x3fff) + (m_page_register * 0x4000)] = data; + m_ram[(offset & 0x3fff) | (m_page_register << 14)] = data; } } }