From 7da973d9e6d1e029f21007e3883fe4abb20196b7 Mon Sep 17 00:00:00 2001 From: DrChat Date: Fri, 9 Feb 2018 17:21:35 -0600 Subject: [PATCH] [CPU] Handle cases in access watches where base addresses overlap --- src/xenia/cpu/mmio_handler.cc | 8 ++++---- 1 file 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; }