Fixing a bug with the write in 0x0

This commit is contained in:
AnonymusRaccoon
2020-02-13 11:09:18 +01:00
parent b1a2222b55
commit a6c3e54f9f
11 changed files with 96 additions and 9 deletions

View File

@@ -31,10 +31,10 @@ namespace ComSquare::Memory
unsigned bankCount = bank - this->_startBank;
unsigned pageCount = this->_endPage - this->_startPage;
if (bank < this->_startBank || bank >= this->_endBank)
throw InvalidAddress("Rectangle memory write Invalid Bank", addr);
if (page < this->_startPage || page >= this->_endPage)
throw InvalidAddress("Rectangle memory write Invalid Page", addr);
if (bank < this->_startBank || bank > this->_endBank)
throw InvalidRectangleAddress("Rectangle memory write Invalid Bank", addr, bank, this->_startBank, this->_endBank);
if (page < this->_startPage || page > this->_endPage)
throw InvalidRectangleAddress("Rectangle memory write Invalid Page", addr, page, this->_startPage, this->_endPage);
page -= this->_startPage;
page += pageCount * bankCount;
this->write_internal(page, data);