diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2023-04-02 11:11:24 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2023-04-02 11:15:27 -0400 |
commit | d291e4573bb423a0a337bf6dc8b33bb1e273f7b3 (patch) | |
tree | dc3d3b139d9bbc55c690df91633d8ca284cde343 /src/emu/debug/debugcmd.cpp | |
parent | b0d23fb75ade8f004e1aff0dd04bbdbae9f4bb80 (diff) |
Improvements to debugger 'map' command
- Add names of physical and logical spaces now that one space can map to another
- Correct usage of address space masks
Diffstat (limited to 'src/emu/debug/debugcmd.cpp')
-rw-r--r-- | src/emu/debug/debugcmd.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/emu/debug/debugcmd.cpp b/src/emu/debug/debugcmd.cpp index 10756496382..37fd470a455 100644 --- a/src/emu/debug/debugcmd.cpp +++ b/src/emu/debug/debugcmd.cpp @@ -3778,21 +3778,22 @@ void debugger_commands::execute_map(int spacenum, const std::vector<std::string_ address_space *space; if (!m_console.validate_target_address_parameter(params[0], spacenum, space, address)) return; + address &= space->logaddrmask(); // do the translation first for (int intention = device_memory_interface::TR_READ; intention <= device_memory_interface::TR_FETCH; intention++) { static const char *const intnames[] = { "Read", "Write", "Fetch" }; - offs_t taddress = address & space->addrmask(); + offs_t taddress = address; address_space *tspace; if (space->device().memory().translate(space->spacenum(), intention, taddress, tspace)) { std::string mapname = tspace->get_handler_string((intention == device_memory_interface::TR_WRITE) ? read_or_write::WRITE : read_or_write::READ, taddress); m_console.printf( - "%7s: %0*X logical == %0*X physical -> %s\n", + "%7s: %0*X logical %s == %0*X physical %s -> %s\n", intnames[intention & 3], - tspace->logaddrchars(), address, - tspace->addrchars(), taddress, + space->logaddrchars(), address, space->name(), + tspace->addrchars(), taddress, tspace->name(), mapname); } else |