summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-06-12 19:22:17 -0400
committer AJR <ajrhacker@users.noreply.github.com>2019-06-12 19:24:27 -0400
commit788409adea53a4e7711d26405aab95fd8655d1ce (patch)
tree77d241e40d5fd2c03b08eba51b5a3ca05bfd7d34
parent54b3e04d09dab3c2f7cb3067837a1036463cfaff (diff)
Fix fatal error when attempting to set watchpoint covering unaligned portions of two adjacent native words
-rw-r--r--src/emu/debug/debugcpu.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/emu/debug/debugcpu.cpp b/src/emu/debug/debugcpu.cpp
index 73739a44411..7bb39bc112f 100644
--- a/src/emu/debug/debugcpu.cpp
+++ b/src/emu/debug/debugcpu.cpp
@@ -2846,10 +2846,13 @@ device_debug::watchpoint::watchpoint(device_debug* debugInterface,
}
else
{
- m_start_address[idx] = rstart;
- m_end_address[idx] = rend - subamask - 1;
- m_masks[idx] = mmask;
- idx++;
+ if (rstart < rend - subamask)
+ {
+ m_start_address[idx] = rstart;
+ m_end_address[idx] = rend - subamask - 1;
+ m_masks[idx] = mmask;
+ idx++;
+ }
m_start_address[idx] = rend - subamask;
m_end_address[idx] = rend;
m_masks[idx] = emask;