summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/msx_cart/superloderunner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/msx_cart/superloderunner.cpp')
-rw-r--r--src/devices/bus/msx_cart/superloderunner.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/devices/bus/msx_cart/superloderunner.cpp b/src/devices/bus/msx_cart/superloderunner.cpp
index 51289c24f10..b846a935953 100644
--- a/src/devices/bus/msx_cart/superloderunner.cpp
+++ b/src/devices/bus/msx_cart/superloderunner.cpp
@@ -19,11 +19,14 @@ void msx_cart_superloderunner_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_superloderunner_device::restore_banks), this));
-
// Install evil memory write handler
- address_space &space = machine().device<cpu_device>("maincpu")->space(AS_PROGRAM);
- space.install_write_handler(0x0000, 0x0000, write8_delegate(FUNC(msx_cart_superloderunner_device::banking), this));
+ memory_space().install_write_handler(0x0000, 0x0000, write8smo_delegate(FUNC(msx_cart_superloderunner_device::banking), this));
+}
+
+
+void msx_cart_superloderunner_device::device_post_load()
+{
+ restore_banks();
}
@@ -44,7 +47,7 @@ void msx_cart_superloderunner_device::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_superloderunner_device::read_cart)
+uint8_t msx_cart_superloderunner_device::read_cart(offs_t offset)
{
if (offset >= 0x8000 && offset < 0xc000)
{
@@ -55,7 +58,7 @@ READ8_MEMBER(msx_cart_superloderunner_device::read_cart)
}
-WRITE8_MEMBER(msx_cart_superloderunner_device::banking)
+void msx_cart_superloderunner_device::banking(uint8_t data)
{
m_selected_bank = data;
restore_banks();