GB: Allow loading 16kb rom files

This commit is contained in:
Sour 2020-06-08 19:04:27 -04:00
parent 1dcb3cdbb0
commit 415ac61ffa
2 changed files with 7 additions and 3 deletions

View file

@ -50,8 +50,8 @@ shared_ptr<BaseCartridge> BaseCartridge::CreateCartridge(Console* console, Virtu
vector<uint8_t> romData;
romFile.ReadFile(romData);
if(romData.size() < 0x8000) {
if(romData.size() < 0x4000) {
return nullptr;
}
@ -71,6 +71,10 @@ shared_ptr<BaseCartridge> BaseCartridge::CreateCartridge(Console* console, Virtu
return nullptr;
}
} else {
if(romData.size() < 0x8000) {
return nullptr;
}
cart->_prgRomSize = (uint32_t)romData.size();
if((cart->_prgRomSize & 0xFFF) != 0) {
//Round up to the next 4kb size, to ensure we have access to all the rom's data

View file

@ -8,7 +8,7 @@ void MemoryMappings::RegisterHandler(uint8_t startBank, uint8_t endBank, uint16_
return;
}
startPageNumber &= handlers.size() - 1;
startPageNumber %= handlers.size();
uint32_t pageNumber = startPageNumber;
for(uint32_t i = startBank; i <= endBank; i++) {