diff options
| author | 2023-07-24 13:36:12 +0200 | |
|---|---|---|
| committer | 2026-01-07 08:01:34 +0100 | |
| commit | 63a40168225a343dcc9a4098daedbdc8e7a371eb (patch) | |
| tree | 0e8ee696536cfe43225f84847f4cce5958b013b6 /src/osd/modules/debugger | |
| parent | f528cd6210bfc15b277ed3ff428a4973b9b912a5 (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.mm | 3 | ||||
| -rw-r--r-- | src/osd/modules/debugger/osx/disassemblyviewer.mm | 6 | ||||
| -rw-r--r-- | src/osd/modules/debugger/osx/memoryview.mm | 3 | ||||
| -rw-r--r-- | src/osd/modules/debugger/osx/memoryviewer.mm | 6 | ||||
| -rw-r--r-- | src/osd/modules/debugger/qt/memorywindow.cpp | 11 | ||||
| -rwxr-xr-x[-rw-r--r--] | src/osd/modules/debugger/win/memoryviewinfo.cpp | 3 |
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()) |
