summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/c64/dqbb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/c64/dqbb.cpp')
-rw-r--r--src/devices/bus/c64/dqbb.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/devices/bus/c64/dqbb.cpp b/src/devices/bus/c64/dqbb.cpp
index 20adedd9057..e4d50057537 100644
--- a/src/devices/bus/c64/dqbb.cpp
+++ b/src/devices/bus/c64/dqbb.cpp
@@ -53,7 +53,8 @@ c64_dqbb_cartridge_device::c64_dqbb_cartridge_device(const machine_config &mconf
void c64_dqbb_cartridge_device::device_start()
{
// allocate memory
- m_nvram.allocate(0x4000);
+ m_nvram = std::make_unique<uint8_t[]>(0x4000);
+ save_pointer(NAME(m_nvram), 0x4000);
// state saving
save_item(NAME(m_cs));
@@ -74,6 +75,25 @@ void c64_dqbb_cartridge_device::device_reset()
}
+void c64_dqbb_cartridge_device::nvram_default()
+{
+}
+
+
+bool c64_dqbb_cartridge_device::nvram_read(util::read_stream &file)
+{
+ auto const [err, actual] = read(file, m_nvram.get(), 0x4000);
+ return !err && (actual == 0x4000);
+}
+
+
+bool c64_dqbb_cartridge_device::nvram_write(util::write_stream &file)
+{
+ auto const [err, actual] = write(file, m_nvram.get(), 0x4000);
+ return !err;
+}
+
+
//-------------------------------------------------
// c64_cd_r - cartridge data read
//-------------------------------------------------