diff options
| author | 2017-11-28 07:27:11 +0100 | |
|---|---|---|
| committer | 2017-11-28 07:32:34 +0100 | |
| commit | cbfa34e2c91be0e603e401078a3f8666f490fd99 (patch) | |
| tree | 3a287c3cc63f069da3b455b47b01c3b5c70fcd1c /src/emu/debug/debugbuf.cpp | |
| parent | b292d5df604e343c3e729fbac981c57b7634f876 (diff) | |
Fix inclusion test (nw)
Diffstat (limited to 'src/emu/debug/debugbuf.cpp')
| -rw-r--r-- | src/emu/debug/debugbuf.cpp | 18 |
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; } } |
