diff --git a/src/devices/bus/a2bus/grapplerplus.cpp b/src/devices/bus/a2bus/grapplerplus.cpp index 8de41067385..99e0f69f78f 100644 --- a/src/devices/bus/a2bus/grapplerplus.cpp +++ b/src/devices/bus/a2bus/grapplerplus.cpp @@ -191,6 +191,16 @@ u8 a2bus_grapplerplus_device::read_cnxx(u8 offset) } +void a2bus_grapplerplus_device::write_cnxx(u8 offset, u8 data) +{ + LOG("Write Cn%02X=%02X (bus conflict)\n", offset, data); + + if (m_rom_bank) + LOG("Select low ROM bank\n"); + m_rom_bank = 0x0000U; +} + + u8 a2bus_grapplerplus_device::read_c800(u16 offset) { return m_rom[(offset & 0x07ffU) | m_rom_bank]; diff --git a/src/devices/bus/a2bus/grapplerplus.h b/src/devices/bus/a2bus/grapplerplus.h index ec8bd938492..1060dc11c4f 100644 --- a/src/devices/bus/a2bus/grapplerplus.h +++ b/src/devices/bus/a2bus/grapplerplus.h @@ -47,6 +47,7 @@ public: virtual u8 read_c0nx(u8 offset) override; virtual void write_c0nx(u8 offset, u8 data) override; virtual u8 read_cnxx(u8 offset) override; + virtual void write_cnxx(u8 offset, u8 data) override; virtual u8 read_c800(u16 offset) override; protected: