diff options
Diffstat (limited to 'src/devices/bus/msx_cart/ascii.cpp')
-rw-r--r-- | src/devices/bus/msx_cart/ascii.cpp | 50 |
1 files changed, 15 insertions, 35 deletions
diff --git a/src/devices/bus/msx_cart/ascii.cpp b/src/devices/bus/msx_cart/ascii.cpp index 7d1b354b404..c7598a8ccc0 100644 --- a/src/devices/bus/msx_cart/ascii.cpp +++ b/src/devices/bus/msx_cart/ascii.cpp @@ -27,12 +27,8 @@ msx_cart_ascii8_device::msx_cart_ascii8_device(const machine_config &mconfig, co void msx_cart_ascii8_device::device_start() { save_item(NAME(m_selected_bank)); -} - -void msx_cart_ascii8_device::device_post_load() -{ - restore_banks(); + machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii8_device::restore_banks), this)); } @@ -76,7 +72,7 @@ void msx_cart_ascii8_device::initialize_cartridge() } -uint8_t msx_cart_ascii8_device::read_cart(offs_t offset) +READ8_MEMBER(msx_cart_ascii8_device::read_cart) { if ( offset >= 0x4000 && offset < 0xC000 ) { @@ -86,7 +82,7 @@ uint8_t msx_cart_ascii8_device::read_cart(offs_t offset) } -void msx_cart_ascii8_device::write_cart(offs_t offset, uint8_t data) +WRITE8_MEMBER(msx_cart_ascii8_device::write_cart) { if (offset >= 0x6000 && offset < 0x8000) { @@ -115,12 +111,8 @@ msx_cart_ascii16_device::msx_cart_ascii16_device(const machine_config &mconfig, void msx_cart_ascii16_device::device_start() { save_item(NAME(m_selected_bank)); -} - -void msx_cart_ascii16_device::device_post_load() -{ - restore_banks(); + machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii16_device::restore_banks), this)); } @@ -164,7 +156,7 @@ void msx_cart_ascii16_device::initialize_cartridge() } -uint8_t msx_cart_ascii16_device::read_cart(offs_t offset) +READ8_MEMBER(msx_cart_ascii16_device::read_cart) { if ( offset >= 0x4000 && offset < 0xC000 ) { @@ -174,7 +166,7 @@ uint8_t msx_cart_ascii16_device::read_cart(offs_t offset) } -void msx_cart_ascii16_device::write_cart(offs_t offset, uint8_t data) +WRITE8_MEMBER(msx_cart_ascii16_device::write_cart) { if (offset >= 0x6000 && offset < 0x6800) { @@ -210,12 +202,8 @@ msx_cart_ascii8_sram_device::msx_cart_ascii8_sram_device(const machine_config &m void msx_cart_ascii8_sram_device::device_start() { save_item(NAME(m_selected_bank)); -} - -void msx_cart_ascii8_sram_device::device_post_load() -{ - restore_banks(); + machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii8_sram_device::restore_banks), this)); } @@ -284,7 +272,7 @@ void msx_cart_ascii8_sram_device::initialize_cartridge() } -uint8_t msx_cart_ascii8_sram_device::read_cart(offs_t offset) +READ8_MEMBER(msx_cart_ascii8_sram_device::read_cart) { if ( offset >= 0x4000 && offset < 0xC000 ) { @@ -299,7 +287,7 @@ uint8_t msx_cart_ascii8_sram_device::read_cart(offs_t offset) } -void msx_cart_ascii8_sram_device::write_cart(offs_t offset, uint8_t data) +WRITE8_MEMBER(msx_cart_ascii8_sram_device::write_cart) { if (offset >= 0x6000 && offset < 0x8000) { @@ -339,12 +327,8 @@ msx_cart_ascii16_sram_device::msx_cart_ascii16_sram_device(const machine_config void msx_cart_ascii16_sram_device::device_start() { save_item(NAME(m_selected_bank)); -} - -void msx_cart_ascii16_sram_device::device_post_load() -{ - restore_banks(); + machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii16_sram_device::restore_banks), this)); } @@ -413,7 +397,7 @@ void msx_cart_ascii16_sram_device::initialize_cartridge() } -uint8_t msx_cart_ascii16_sram_device::read_cart(offs_t offset) +READ8_MEMBER(msx_cart_ascii16_sram_device::read_cart) { if ( offset >= 0x4000 && offset < 0xC000 ) { @@ -435,7 +419,7 @@ uint8_t msx_cart_ascii16_sram_device::read_cart(offs_t offset) } -void msx_cart_ascii16_sram_device::write_cart(offs_t offset, uint8_t data) +WRITE8_MEMBER(msx_cart_ascii16_sram_device::write_cart) { if (offset >= 0x6000 && offset < 0x6800) { @@ -477,12 +461,8 @@ msx_cart_msxwrite_device::msx_cart_msxwrite_device(const machine_config &mconfig void msx_cart_msxwrite_device::device_start() { save_item(NAME(m_selected_bank)); -} - -void msx_cart_msxwrite_device::device_post_load() -{ - restore_banks(); + machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_msxwrite_device::restore_banks), this)); } @@ -526,7 +506,7 @@ void msx_cart_msxwrite_device::initialize_cartridge() } -uint8_t msx_cart_msxwrite_device::read_cart(offs_t offset) +READ8_MEMBER(msx_cart_msxwrite_device::read_cart) { if ( offset >= 0x4000 && offset < 0xC000 ) { @@ -536,7 +516,7 @@ uint8_t msx_cart_msxwrite_device::read_cart(offs_t offset) } -void msx_cart_msxwrite_device::write_cart(offs_t offset, uint8_t data) +WRITE8_MEMBER(msx_cart_msxwrite_device::write_cart) { // The rom writes to 6fff and 7fff for banking, unknown whether // other locations also trigger banking. |