summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/device.cpp
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2020-12-21 19:48:42 +0100
committer Olivier Galibert <galibert@pobox.com>2020-12-21 19:48:50 +0100
commitcf472744a2696e1c91756c7a14743a74b00a85eb (patch)
tree841d342c95993693d42fde84f437246a68c6967c /src/emu/device.cpp
parent4a27ad89e9a6af26625d032e0814145308ec0da9 (diff)
view: Save their state
Diffstat (limited to 'src/emu/device.cpp')
-rw-r--r--src/emu/device.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/emu/device.cpp b/src/emu/device.cpp
index f22d0842db3..2bcac4fe92a 100644
--- a/src/emu/device.cpp
+++ b/src/emu/device.cpp
@@ -522,6 +522,7 @@ bool device_t::findit(validity_checker *valid) const
return allfound;
}
+
//-------------------------------------------------
// resolve_pre_map - find objects that may be used
// in memory maps
@@ -534,6 +535,7 @@ void device_t::resolve_pre_map()
m_string_buffer.reserve(1024);
}
+
//-------------------------------------------------
// resolve - find objects
//-------------------------------------------------
@@ -550,6 +552,16 @@ void device_t::resolve_post_map()
//-------------------------------------------------
+// view_register - register a view for future state saving
+//-------------------------------------------------
+
+void device_t::view_register(memory_view *view)
+{
+ m_viewlist.push_back(view);
+}
+
+
+//-------------------------------------------------
// start - start a device
//-------------------------------------------------
@@ -599,6 +611,11 @@ void device_t::start()
save_item(NAME(m_unscaled_clock));
save_item(NAME(m_clock_scale));
+ // have the views register their state
+ logerror("Registering %d views\n", int(m_viewlist.size()));
+ for(memory_view *view : m_viewlist)
+ view->register_state();
+
// we're now officially started
m_started = true;
}