summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrChat <arkolbed@gmail.com>2018-02-09 17:21:35 -0600
committerDrChat <arkolbed@gmail.com>2018-02-09 17:21:35 -0600
commit7da973d9e6d1e029f21007e3883fe4abb20196b7 (patch)
tree9107c8b50dad01107c5fa7a4733cf616015c98f7
parent455dfeb39f15ea191d9000cc5960d5673bff0d66 (diff)
[CPU] Handle cases in access watches where base addresses overlap
-rw-r--r--src/xenia/cpu/mmio_handler.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/xenia/cpu/mmio_handler.cc b/src/xenia/cpu/mmio_handler.cc
index a72545a9c..f12cb65d9 100644
--- a/src/xenia/cpu/mmio_handler.cc
+++ b/src/xenia/cpu/mmio_handler.cc
@@ -118,16 +118,16 @@ uintptr_t MMIOHandler::AddPhysicalAccessWatch(uint32_t guest_address,
bool hit = false;
auto entry = *it;
- if (base_address < (*it)->address &&
+ if (base_address <= (*it)->address &&
base_address + length > (*it)->address) {
hit = true;
- } else if ((*it)->address < base_address &&
+ } else if ((*it)->address <= base_address &&
(*it)->address + (*it)->length > base_address) {
hit = true;
- } else if ((*it)->address < base_address &&
+ } else if ((*it)->address <= base_address &&
(*it)->address + (*it)->length > base_address + length) {
hit = true;
- } else if ((*it)->address > base_address &&
+ } else if ((*it)->address >= base_address &&
(*it)->address + (*it)->length < base_address + length) {
hit = true;
}