summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/msx_slot/panasonic08.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/msx_slot/panasonic08.cpp')
-rw-r--r--src/devices/bus/msx_slot/panasonic08.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/devices/bus/msx_slot/panasonic08.cpp b/src/devices/bus/msx_slot/panasonic08.cpp
index 450f4fce1de..0c46350051e 100644
--- a/src/devices/bus/msx_slot/panasonic08.cpp
+++ b/src/devices/bus/msx_slot/panasonic08.cpp
@@ -18,7 +18,7 @@ DEFINE_DEVICE_TYPE(MSX_SLOT_PANASONIC08, msx_slot_panasonic08_device, "msx_slot_
msx_slot_panasonic08_device::msx_slot_panasonic08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, MSX_SLOT_PANASONIC08, 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)
@@ -56,8 +56,12 @@ void msx_slot_panasonic08_device::device_start()
save_item(NAME(m_selected_bank));
save_item(NAME(m_control));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_slot_panasonic08_device::restore_banks), this));
+ restore_banks();
+}
+
+void msx_slot_panasonic08_device::device_post_load()
+{
restore_banks();
}
@@ -85,7 +89,7 @@ void msx_slot_panasonic08_device::restore_banks()
}
-READ8_MEMBER(msx_slot_panasonic08_device::read)
+uint8_t msx_slot_panasonic08_device::read(offs_t offset)
{
if (m_control & 0x04)
{
@@ -104,7 +108,7 @@ READ8_MEMBER(msx_slot_panasonic08_device::read)
}
-WRITE8_MEMBER(msx_slot_panasonic08_device::write)
+void msx_slot_panasonic08_device::write(offs_t offset, uint8_t data)
{
if ((offset & 0xc000) == 0x8000 || (offset & 0xc000) == 0x0000)
{