summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/debugger/osx/memoryview.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/modules/debugger/osx/memoryview.mm')
-rw-r--r--src/osd/modules/debugger/osx/memoryview.mm23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/osd/modules/debugger/osx/memoryview.mm b/src/osd/modules/debugger/osx/memoryview.mm
index 3c0baf41f63..0f99f2ad7fa 100644
--- a/src/osd/modules/debugger/osx/memoryview.mm
+++ b/src/osd/modules/debugger/osx/memoryview.mm
@@ -12,6 +12,8 @@
#include "debug/debugcpu.h"
#include "debug/debugvw.h"
+#include "util/xmlfile.h"
+
@implementation MAMEMemoryView
@@ -107,7 +109,8 @@
- (void)selectSubviewAtIndex:(int)index {
int const selected = view->source_list().indexof(*view->source());
- if (selected != index) {
+ if (selected != index)
+ {
view->set_source(*view->source_list().find(index));
if ([[self window] firstResponder] != self)
view->set_cursor_visible(false);
@@ -197,6 +200,24 @@
}
+- (void)saveConfigurationToNode:(util::xml::data_node *)node {
+ debug_view_memory *const memView = downcast<debug_view_memory *>(view);
+ node->set_attribute_int("memoryregion", [self selectedSubviewIndex]);
+ node->set_attribute_int("reverse", memView->reverse() ? 1 : 0);
+ node->set_attribute_int("addressmode", memView->physical() ? 1 : 0);
+ node->set_attribute_int("dataformat", memView->get_data_format());
+}
+
+
+- (void)restoreConfigurationFromNode:(util::xml::data_node const *)node {
+ debug_view_memory *const memView = downcast<debug_view_memory *>(view);
+ [self selectSubviewAtIndex:node->get_attribute_int("memoryregion", [self selectedSubviewIndex])];
+ memView->set_reverse(0 != node->get_attribute_int("reverse", memView->reverse() ? 1 : 0));
+ memView->set_physical(0 != node->get_attribute_int("addressmode", memView->physical() ? 1 : 0));
+ memView->set_data_format(node->get_attribute_int("dataformat", memView->get_data_format()));
+}
+
+
- (void)insertActionItemsInMenu:(NSMenu *)menu atIndex:(NSInteger)index {
NSInteger tag;
for (tag = 1; tag <= 8; tag <<= 1) {