From 4c9bece7a5fef024088d7692aee14bcd827d0b47 Mon Sep 17 00:00:00 2001 From: Parzival Wolfram Date: Sun, 4 Oct 2020 18:34:43 -0500 Subject: [PATCH] Implement ROM bank rollover --- platform/common/mmu.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/platform/common/mmu.cpp b/platform/common/mmu.cpp index d316eb25..c6d9c318 100644 --- a/platform/common/mmu.cpp +++ b/platform/common/mmu.cpp @@ -30,16 +30,12 @@ extern "C" { void Gameboy::refreshRomBank(int bank) { - if (bank < romFile->getNumRomBanks()) { - romBank = bank; - romFile->loadRomBank(romBank); - memory[0x4] = romFile->romSlot1; - memory[0x5] = romFile->romSlot1+0x1000; - memory[0x6] = romFile->romSlot1+0x2000; - memory[0x7] = romFile->romSlot1+0x3000; - } - else - printLog("Tried to access bank %x\n", bank); + romBank = bank % romFile->getNumRomBanks(); + romFile->loadRomBank(romBank); + memory[0x4] = romFile->romSlot1; + memory[0x5] = romFile->romSlot1+0x1000; + memory[0x6] = romFile->romSlot1+0x2000; + memory[0x7] = romFile->romSlot1+0x3000; } void Gameboy::refreshRamBank (int bank) @@ -87,7 +83,7 @@ void Gameboy::initMMU() readFunc = mbcReads[romFile->getMBC()]; writeFunc = mbcWrites[romFile->getMBC()]; - /* Rockman8 by Yang Yang uses a silghtly different MBC1 variant */ + /* Rockman8 by Yang Yang uses a slightly different MBC1 variant */ rockmanMapper = !strcmp(romFile->getRomTitle(), "ROCKMAN 99"); rumbleValue = 0;