diff --git a/src/emu/bus/neogeo/banked_cart.c b/src/emu/bus/neogeo/banked_cart.c index 3219649a66f..4728b7352e9 100644 --- a/src/emu/bus/neogeo/banked_cart.c +++ b/src/emu/bus/neogeo/banked_cart.c @@ -14,10 +14,15 @@ neogeo_banked_cart_device::neogeo_banked_cart_device(const machine_config &mconf { } +void neogeo_banked_cart_device::postload() +{ + _set_main_cpu_bank_address(); +} void neogeo_banked_cart_device::device_start() { save_item(NAME(m_main_cpu_bank_address)); + machine().save().register_postload(save_prepost_delegate(FUNC(neogeo_banked_cart_device::postload), this)); } void neogeo_banked_cart_device::device_reset() diff --git a/src/emu/bus/neogeo/banked_cart.h b/src/emu/bus/neogeo/banked_cart.h index e58a5148f99..60e2ad0cc05 100644 --- a/src/emu/bus/neogeo/banked_cart.h +++ b/src/emu/bus/neogeo/banked_cart.h @@ -32,6 +32,7 @@ public: protected: virtual void device_start(); virtual void device_reset(); + void postload(); diff --git a/src/mame/drivers/neogeo.c b/src/mame/drivers/neogeo.c index 8550c90280b..51d3d827ad3 100644 --- a/src/mame/drivers/neogeo.c +++ b/src/mame/drivers/neogeo.c @@ -1056,7 +1056,7 @@ DRIVER_INIT_MEMBER(neogeo_state,neogeo) void neogeo_state::neogeo_postload() { - m_banked_cart->_set_main_cpu_bank_address(); + m_bank_audio_main->set_entry(m_use_cart_audio); if (m_type == NEOGEO_MVS) set_outputs(); } @@ -1105,6 +1105,9 @@ void neogeo_state::machine_start() save_item(NAME(m_led1_value)); save_item(NAME(m_led2_value)); + save_item(NAME(m_use_cart_vectors)); + save_item(NAME(m_use_cart_audio)); + machine().save().register_postload(save_prepost_delegate(FUNC(neogeo_state::neogeo_postload), this)); diff --git a/src/mame/includes/neogeo.h b/src/mame/includes/neogeo.h index 0d4625f4fd0..87d7664cf4a 100644 --- a/src/mame/includes/neogeo.h +++ b/src/mame/includes/neogeo.h @@ -201,7 +201,6 @@ protected: int m_use_cart_vectors; - int m_use_cart_audio; // cart slots