summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/msx_slot/fs4600.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/msx_slot/fs4600.cpp')
-rw-r--r--src/devices/bus/msx_slot/fs4600.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/devices/bus/msx_slot/fs4600.cpp b/src/devices/bus/msx_slot/fs4600.cpp
index dc975cdd4ba..a7470fc2a78 100644
--- a/src/devices/bus/msx_slot/fs4600.cpp
+++ b/src/devices/bus/msx_slot/fs4600.cpp
@@ -13,7 +13,7 @@ DEFINE_DEVICE_TYPE(MSX_SLOT_FS4600, msx_slot_fs4600_device, "msx_slot_fs4600", "
msx_slot_fs4600_device::msx_slot_fs4600_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, MSX_SLOT_FS4600, tag, owner, clock)
- , msx_internal_slot_interface()
+ , msx_internal_slot_interface(mconfig, *this)
, m_nvram(*this, "nvram")
, m_rom_region(*this, finder_base::DUMMY_TAG)
, m_region_offset(0)
@@ -48,8 +48,12 @@ void msx_slot_fs4600_device::device_start()
save_item(NAME(m_sram_address));
save_item(NAME(m_control));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_slot_fs4600_device::restore_banks), this));
+ restore_banks();
+}
+
+void msx_slot_fs4600_device::device_post_load()
+{
restore_banks();
}
@@ -63,7 +67,7 @@ void msx_slot_fs4600_device::restore_banks()
}
-READ8_MEMBER(msx_slot_fs4600_device::read)
+uint8_t msx_slot_fs4600_device::read(offs_t offset)
{
if ((m_control & 0x02) && ((offset & 0x3fff) == 0x3ffd))
{
@@ -77,7 +81,7 @@ READ8_MEMBER(msx_slot_fs4600_device::read)
}
-WRITE8_MEMBER(msx_slot_fs4600_device::write)
+void msx_slot_fs4600_device::write(offs_t offset, uint8_t data)
{
if (offset == 0x7ff9)
{