From be33c33e07839d6564f8b642092ef690131977a5 Mon Sep 17 00:00:00 2001 From: AnonymusRaccoon Date: Wed, 5 Feb 2020 16:42:38 +0100 Subject: [PATCH] Solving a bug with the Rectangle memory --- sources/Memory/IRectangleMemory.cpp | 5 +++-- sources/Memory/MemoryBus.cpp | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sources/Memory/IRectangleMemory.cpp b/sources/Memory/IRectangleMemory.cpp index 43e0db5..be4a1ad 100644 --- a/sources/Memory/IRectangleMemory.cpp +++ b/sources/Memory/IRectangleMemory.cpp @@ -2,6 +2,7 @@ // Created by anonymus-raccoon on 1/29/20. // +#include #include "IRectangleMemory.hpp" #include "../Exceptions/InvalidAddress.hpp" @@ -44,8 +45,8 @@ namespace ComSquare::Memory uint8_t bank = addr >> 16u; uint16_t page = addr; - if (this->_startBank <= bank && bank < this->_endBank) - if (this->_startPage <= page && page < this->_endPage) + if (this->_startBank <= bank && bank <= this->_endBank) + if (this->_startPage <= page && page <= this->_endPage) return true; return false; } diff --git a/sources/Memory/MemoryBus.cpp b/sources/Memory/MemoryBus.cpp index 76e0298..7d97968 100644 --- a/sources/Memory/MemoryBus.cpp +++ b/sources/Memory/MemoryBus.cpp @@ -15,6 +15,7 @@ namespace ComSquare::Memory { auto it = std::find_if(this->_memoryAccessors.begin(), this->_memoryAccessors.end(), [addr](std::shared_ptr &accessor) { +// std::cout << "Accessor: " << std::hex << accessor->getStart() << " Has access:: " << accessor->hasMemoryAt(addr) << std::endl; return accessor->hasMemoryAt(addr); }); if (it == this->_memoryAccessors.end())