Fixed power cycle bug - memory handlers were not reset and kept piling up, which caused mirroring issues.

This commit is contained in:
Sour 2020-02-29 17:14:30 -05:00
parent 206214ce2b
commit 9c20e48957

View file

@ -343,6 +343,9 @@ void BaseCartridge::SaveBattery()
void BaseCartridge::Init(MemoryMappings &mm) void BaseCartridge::Init(MemoryMappings &mm)
{ {
_prgRomHandlers.clear();
_saveRamHandlers.clear();
for(uint32_t i = 0; i < _prgRomSize; i += 0x1000) { for(uint32_t i = 0; i < _prgRomSize; i += 0x1000) {
_prgRomHandlers.push_back(unique_ptr<RomHandler>(new RomHandler(_prgRom, i, _prgRomSize, SnesMemoryType::PrgRom))); _prgRomHandlers.push_back(unique_ptr<RomHandler>(new RomHandler(_prgRom, i, _prgRomSize, SnesMemoryType::PrgRom)));
} }