diff options
| author | 2018-08-24 22:20:54 -0400 | |
|---|---|---|
| committer | 2018-08-24 22:20:54 -0400 | |
| commit | ac355d1559d954ba7b7d7b6946c1f968e7fc5de5 (patch) | |
| tree | e5b606beff3154d80ebf9d511086f954f7610a09 /src/emu/debug | |
| parent | 9c3661b004edb8437b209c068252095760a4e02e (diff) | |
Apply logical address mask properly in debug disassembly view
Associated core changes (nw)
- Move definition of address_space_config from dimemory.cpp to emumem.cpp (declaration was already in emumem.h)
- Add getters for more members of address_space_config with future privatization in mind (nw)
Diffstat (limited to 'src/emu/debug')
| -rw-r--r-- | src/emu/debug/debugbuf.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/emu/debug/debugbuf.cpp b/src/emu/debug/debugbuf.cpp index 909b8af36ad..4e232ce16a0 100644 --- a/src/emu/debug/debugbuf.cpp +++ b/src/emu/debug/debugbuf.cpp @@ -1193,20 +1193,22 @@ debug_disasm_buffer::debug_disasm_buffer(device_t &device) : m_buf_params(dynamic_cast<device_disasm_interface &>(device).get_disassembler()), m_flags(m_dintf.interface_flags()) { + address_space &pspace = m_mintf->space(AS_PROGRAM); + if(m_flags & util::disasm_interface::INTERNAL_DECRYPTION) { - m_buf_raw.set_source(m_mintf->space(AS_PROGRAM)); + m_buf_raw.set_source(pspace); m_buf_opcodes.set_source(m_buf_raw, true); if((m_flags & util::disasm_interface::SPLIT_DECRYPTION) == util::disasm_interface::SPLIT_DECRYPTION) m_buf_params.set_source(m_buf_raw, false); } else { if(m_mintf->has_space(AS_OPCODES)) { m_buf_opcodes.set_source(m_mintf->space(AS_OPCODES)); - m_buf_params.set_source(m_mintf->space(AS_PROGRAM)); + m_buf_params.set_source(pspace); } else - m_buf_opcodes.set_source(m_mintf->space(AS_PROGRAM)); + m_buf_opcodes.set_source(pspace); } - m_pc_mask = m_mintf->space(AS_PROGRAM).logaddrmask(); + m_pc_mask = pspace.logaddrmask(); if(m_flags & util::disasm_interface::PAGED) m_page_mask = (1 << m_dintf.page_address_bits()) - 1; @@ -1253,8 +1255,8 @@ debug_disasm_buffer::debug_disasm_buffer(device_t &device) : } // pc to string conversion - int aw = m_mintf->space(AS_PROGRAM).addr_width(); - bool is_octal = m_mintf->space(AS_PROGRAM).is_octal(); + int aw = pspace.logaddr_width(); + bool is_octal = pspace.is_octal(); if((m_flags & util::disasm_interface::PAGED2LEVEL) == util::disasm_interface::PAGED2LEVEL) { int bits1 = m_dintf.page_address_bits(); int bits2 = m_dintf.page2_address_bits(); |
