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())