diff options
| author | DrChat <arkolbed@gmail.com> | 2018-02-09 17:21:35 -0600 |
|---|---|---|
| committer | DrChat <arkolbed@gmail.com> | 2018-02-09 17:21:35 -0600 |
| commit | 7da973d9e6d1e029f21007e3883fe4abb20196b7 (patch) | |
| tree | 9107c8b50dad01107c5fa7a4733cf616015c98f7 | |
| parent | 455dfeb39f15ea191d9000cc5960d5673bff0d66 (diff) | |
[CPU] Handle cases in access watches where base addresses overlap
| -rw-r--r-- | src/xenia/cpu/mmio_handler.cc | 8 |
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; } |
