diff --git a/memmap.cpp b/memmap.cpp index a0fe24e0..c19f7306 100644 --- a/memmap.cpp +++ b/memmap.cpp @@ -2532,6 +2532,9 @@ void CMemory::InitROM (void) Map_Initialize(); CalculatedChecksum = 0; + // SRAM size + SRAMMask = SRAMSize ? ((1 << (SRAMSize + 3)) * 128) - 1 : 0; + if (HiROM) { if (Settings.BS) @@ -2662,9 +2665,6 @@ void CMemory::InitROM (void) *p = 0; } - // SRAM size - SRAMMask = SRAMSize ? ((1 << (SRAMSize + 3)) * 128) - 1 : 0; - // checksum if (!isChecksumOK || ((uint32) CalculatedSize > (uint32) (((1 << (ROMSize - 7)) * 128) * 1024))) { @@ -2921,6 +2921,7 @@ void CMemory::map_index (uint32 bank_s, uint32 bank_e, uint32 addr_s, uint32 add desc.select=(bank_s<<16 | addr_s) ^ (bank_e<<16 | addr_e) ^ 0xFFFFFF; if (type==MAP_LOROM_SRAM || type==MAP_SA1RAM) { +puts("BBB"); desc.ptr=Memory.SRAM; desc.disconnect=0x8000; desc.len=Memory.SRAMMask+1;