summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/vic20/megacart.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/vic20/megacart.cpp')
-rw-r--r--src/devices/bus/vic20/megacart.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/devices/bus/vic20/megacart.cpp b/src/devices/bus/vic20/megacart.cpp
index 8094adfba2b..74da56d5395 100644
--- a/src/devices/bus/vic20/megacart.cpp
+++ b/src/devices/bus/vic20/megacart.cpp
@@ -39,6 +39,7 @@ vic20_megacart_device::vic20_megacart_device(const machine_config &mconfig, cons
: device_t(mconfig, VIC20_MEGACART, tag, owner, clock)
, device_vic20_expansion_card_interface(mconfig, *this)
, device_nvram_interface(mconfig, *this)
+ , m_nvram(*this, "nvram", 0x2000, ENDIANNESS_LITTLE)
, m_nvram_en(0)
{
}
@@ -50,8 +51,6 @@ vic20_megacart_device::vic20_megacart_device(const machine_config &mconfig, cons
void vic20_megacart_device::device_start()
{
- m_nvram.allocate(0x2000);
-
// state saving
save_item(NAME(m_nvram_en));
}
@@ -66,6 +65,25 @@ void vic20_megacart_device::device_reset()
}
+void vic20_megacart_device::nvram_default()
+{
+}
+
+
+bool vic20_megacart_device::nvram_read(util::read_stream &file)
+{
+ auto const [err, actual] = read(file, m_nvram, 0x2000);
+ return !err && (actual == 0x2000);
+}
+
+
+bool vic20_megacart_device::nvram_write(util::write_stream &file)
+{
+ auto const [err, actual] = write(file, m_nvram, 0x2000);
+ return !err;
+}
+
+
//-------------------------------------------------
// vic20_cd_r - cartridge data read
//-------------------------------------------------