Fixing memory shadow's bank offset

This commit is contained in:
Anonymus Raccoon
2020-04-06 15:49:46 +02:00
parent 9d5cbb4ed2
commit e60c6d7bd7
6 changed files with 98 additions and 5 deletions

View File

@@ -3,6 +3,7 @@
//
#include "RectangleShadow.hpp"
#include "../Utility/Utility.hpp"
#include <utility>
#include <iostream>
@@ -17,13 +18,13 @@ namespace ComSquare::Memory
uint8_t RectangleShadow::read_internal(uint24_t addr)
{
addr += this->_bankOffset << 16u;
addr += this->_bankOffset * (this->_endPage - this->_startPage);
return this->_initial->read_internal(addr);
}
void RectangleShadow::write_internal(uint24_t addr, uint8_t data)
{
addr += this->_bankOffset << 16u;
addr += this->_bankOffset * (this->_endPage - this->_startPage);
this->_initial->write_internal(addr, data);
}