summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/debug/debugbuf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/debug/debugbuf.cpp')
-rw-r--r--src/emu/debug/debugbuf.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/emu/debug/debugbuf.cpp b/src/emu/debug/debugbuf.cpp
index 96392f60bf5..a3d864330cf 100644
--- a/src/emu/debug/debugbuf.cpp
+++ b/src/emu/debug/debugbuf.cpp
@@ -35,22 +35,22 @@ void debug_disasm_buffer::debug_data_buffer::set_source(debug_data_buffer &back,
u8 debug_disasm_buffer::debug_data_buffer::r8 (offs_t pc) const
{
- return m_do_r8(pc);
+ return m_do_r8(pc & m_pc_mask);
}
u16 debug_disasm_buffer::debug_data_buffer::r16(offs_t pc) const
{
- return m_do_r16(pc);
+ return m_do_r16(pc & m_pc_mask);
}
u32 debug_disasm_buffer::debug_data_buffer::r32(offs_t pc) const
{
- return m_do_r32(pc);
+ return m_do_r32(pc & m_pc_mask);
}
u64 debug_disasm_buffer::debug_data_buffer::r64(offs_t pc) const
{
- return m_do_r64(pc);
+ return m_do_r64(pc & m_pc_mask);
}
address_space *debug_disasm_buffer::debug_data_buffer::get_underlying_space() const
@@ -60,6 +60,8 @@ address_space *debug_disasm_buffer::debug_data_buffer::get_underlying_space() co
void debug_disasm_buffer::debug_data_buffer::fill(offs_t lstart, offs_t size) const
{
+ if(lstart & ~m_pc_mask)
+ abort();
offs_t lend = (lstart + size) & m_pc_mask;
if(m_page_mask) {
if((lstart ^ lend) & ~m_page_mask) {
@@ -69,17 +71,15 @@ void debug_disasm_buffer::debug_data_buffer::fill(offs_t lstart, offs_t size) co
}
if(!m_buffer.empty()) {
+ if(m_lstart == m_lend)
+ return;
if(m_wrapped) {
if(lstart >= m_lstart && (lend > m_lstart || lend <= m_lend))
return;
if(lstart < m_lend && lend <= m_lend)
return;
} else {
- if(m_lend && lstart >= m_lstart && lend <= m_lend)
- return;
- if(!m_lend && lstart >= m_lstart)
- return;
- if(m_lstart == m_lend)
+ if(lstart < lend && lstart >= m_lstart && lend <= m_lend)
return;
}
}