summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/debugger
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2023-07-24 13:36:12 +0200
committer Olivier Galibert <galibert@pobox.com>2026-01-07 08:01:34 +0100
commit63a40168225a343dcc9a4098daedbdc8e7a371eb (patch)
tree0e8ee696536cfe43225f84847f4cce5958b013b6 /src/osd/modules/debugger
parentf528cd6210bfc15b277ed3ff428a4973b9b912a5 (diff)
lisa: Massive updates
core: Better support for external mmus Note: I didn't expect to push that one right now, it's missing documentation among other things, but since some people seems to be interested to work on that driver I don't want to hold them.
Diffstat (limited to 'src/osd/modules/debugger')
-rw-r--r--src/osd/modules/debugger/osx/disassemblyview.mm3
-rw-r--r--src/osd/modules/debugger/osx/disassemblyviewer.mm6
-rw-r--r--src/osd/modules/debugger/osx/memoryview.mm3
-rw-r--r--src/osd/modules/debugger/osx/memoryviewer.mm6
-rw-r--r--src/osd/modules/debugger/qt/memorywindow.cpp11
-rwxr-xr-x[-rw-r--r--]src/osd/modules/debugger/win/memoryviewinfo.cpp3
6 files changed, 20 insertions, 12 deletions
diff --git a/src/osd/modules/debugger/osx/disassemblyview.mm b/src/osd/modules/debugger/osx/disassemblyview.mm
index c501d17230a..3c41865d311 100644
--- a/src/osd/modules/debugger/osx/disassemblyview.mm
+++ b/src/osd/modules/debugger/osx/disassemblyview.mm
@@ -163,7 +163,8 @@
for (auto &ptr : view->source_list())
{
debug_view_disasm_source const *const source = downcast<debug_view_disasm_source const *>(ptr.get());
- if (&source->space() == space)
+ auto [mintf, spacenum] = source->space();
+ if (&mintf->space(spacenum) == space)
{
if (view->source() != source)
{
diff --git a/src/osd/modules/debugger/osx/disassemblyviewer.mm b/src/osd/modules/debugger/osx/disassemblyviewer.mm
index a0659c00cfc..0a259e31660 100644
--- a/src/osd/modules/debugger/osx/disassemblyviewer.mm
+++ b/src/osd/modules/debugger/osx/disassemblyviewer.mm
@@ -142,7 +142,8 @@
- (IBAction)debugNewMemoryWindow:(id)sender {
debug_view_disasm_source const *source = [dasmView source];
- [console debugNewMemoryWindowForSpace:&source->space()
+ auto [mintf, spacenum] = source->space();
+ [console debugNewMemoryWindowForSpace:&mintf->space(spacenum)
device:source->device()
expression:nil];
}
@@ -150,7 +151,8 @@
- (IBAction)debugNewDisassemblyWindow:(id)sender {
debug_view_disasm_source const *source = [dasmView source];
- [console debugNewDisassemblyWindowForSpace:&source->space()
+ auto [mintf, spacenum] = source->space();
+ [console debugNewDisassemblyWindowForSpace:&mintf->space(spacenum)
device:source->device()
expression:[dasmView expression]];
}
diff --git a/src/osd/modules/debugger/osx/memoryview.mm b/src/osd/modules/debugger/osx/memoryview.mm
index 24521e81ba4..f2b38b2910e 100644
--- a/src/osd/modules/debugger/osx/memoryview.mm
+++ b/src/osd/modules/debugger/osx/memoryview.mm
@@ -150,7 +150,8 @@
for (auto &ptr : view->source_list())
{
debug_view_memory_source const *const source = downcast<debug_view_memory_source const *>(ptr.get());
- if (source->space() == space)
+ auto [mintf, spacenum] = source->space();
+ if (&mintf->space(spacenum) == space)
{
if (view->source() != source)
{
diff --git a/src/osd/modules/debugger/osx/memoryviewer.mm b/src/osd/modules/debugger/osx/memoryviewer.mm
index 1d45650dcbb..7a530c820cb 100644
--- a/src/osd/modules/debugger/osx/memoryviewer.mm
+++ b/src/osd/modules/debugger/osx/memoryviewer.mm
@@ -142,7 +142,8 @@
- (IBAction)debugNewMemoryWindow:(id)sender {
debug_view_memory_source const *source = [memoryView source];
- [console debugNewMemoryWindowForSpace:source->space()
+ auto [mintf, spacenum] = source->space();
+ [console debugNewMemoryWindowForSpace:&mintf->space(spacenum)
device:source->device()
expression:[memoryView expression]];
}
@@ -150,7 +151,8 @@
- (IBAction)debugNewDisassemblyWindow:(id)sender {
debug_view_memory_source const *source = [memoryView source];
- [console debugNewDisassemblyWindowForSpace:source->space()
+ auto [mintf, spacenum] = source->space();
+ [console debugNewDisassemblyWindowForSpace:&mintf->space(spacenum)
device:source->device()
expression:[memoryView expression]];
}
diff --git a/src/osd/modules/debugger/qt/memorywindow.cpp b/src/osd/modules/debugger/qt/memorywindow.cpp
index ec250055383..192c6d7ee13 100644
--- a/src/osd/modules/debugger/qt/memorywindow.cpp
+++ b/src/osd/modules/debugger/qt/memorywindow.cpp
@@ -489,16 +489,17 @@ void DebuggerMemView::addItemsToContextMenu(QMenu *menu)
{
debug_view_memory &memView = *view<debug_view_memory>();
debug_view_memory_source const &source = downcast<debug_view_memory_source const &>(*memView.source());
- address_space *const addressSpace = source.space();
- if (addressSpace)
+ auto [mintf, spacenum] = source.space();
+ if (mintf)
{
+ const address_space_config *config = mintf->logical_space_config(spacenum);
// get the last known PC to write to this memory location
debug_view_xy const pos = memView.cursor_position();
- offs_t const address = addressSpace->byte_to_address(memView.addressAtCursorPosition(pos));
- offs_t a = address & addressSpace->logaddrmask();
+ offs_t const address = config->byte2addr(memView.addressAtCursorPosition(pos));
+ offs_t a = address & config->logaddrmask();
bool good = false;
address_space *tspace;
- if (!addressSpace->device().memory().translate(addressSpace->spacenum(), device_memory_interface::TR_READ, a, tspace))
+ if (!mintf->translate(spacenum, device_memory_interface::TR_READ, a, tspace))
{
m_lastPc = "Bad address";
}
diff --git a/src/osd/modules/debugger/win/memoryviewinfo.cpp b/src/osd/modules/debugger/win/memoryviewinfo.cpp
index 90e23a557a9..5d6bfcb3b54 100644..100755
--- a/src/osd/modules/debugger/win/memoryviewinfo.cpp
+++ b/src/osd/modules/debugger/win/memoryviewinfo.cpp
@@ -134,7 +134,8 @@ void memoryview_info::update_context_menu(HMENU menu)
bool enable = false;
debug_view_memory &memview(*view<debug_view_memory>());
debug_view_memory_source const &source = downcast<debug_view_memory_source const &>(*memview.source());
- address_space *const space = source.space();
+ auto [mintf, spacenum] = source.space();
+ address_space *const space = &mintf->space(spacenum);
if (space)
{
if (memview.cursor_visible())