SA1: Remove memory remapping at load state.

This fixes the Mega Man X SA1 patch.
This commit is contained in:
Brandon Wright 2020-06-07 15:38:01 -05:00
parent 432fc08498
commit 995f0be52c

View File

@ -117,10 +117,12 @@ void S9xSA1PostLoadState (void)
SA1.VirtualBitmapFormat = (Memory.FillRAM[0x223f] & 0x80) ? 2 : 4; SA1.VirtualBitmapFormat = (Memory.FillRAM[0x223f] & 0x80) ? 2 : 4;
Memory.BWRAM = Memory.SRAM + (Memory.FillRAM[0x2224] & 0x1f) * 0x2000; Memory.BWRAM = Memory.SRAM + (Memory.FillRAM[0x2224] & 0x1f) * 0x2000;
S9xSA1SetBWRAMMemMap(Memory.FillRAM[0x2225]); S9xSA1SetBWRAMMemMap(Memory.FillRAM[0x2225]);
#if 0
S9xSetSA1(Memory.FillRAM[0x2220], 0x2220); S9xSetSA1(Memory.FillRAM[0x2220], 0x2220);
S9xSetSA1(Memory.FillRAM[0x2221], 0x2221); S9xSetSA1(Memory.FillRAM[0x2221], 0x2221);
S9xSetSA1(Memory.FillRAM[0x2222], 0x2222); S9xSetSA1(Memory.FillRAM[0x2222], 0x2222);
S9xSetSA1(Memory.FillRAM[0x2223], 0x2223); S9xSetSA1(Memory.FillRAM[0x2223], 0x2223);
#endif
} }
static void S9xSetSA1MemMap (uint32 which1, uint8 map) static void S9xSetSA1MemMap (uint32 which1, uint8 map)
@ -168,7 +170,7 @@ static void S9xSetSA1MemMap (uint32 which1, uint8 map)
{ {
offset = (((map & 0x80) ? (map - 4) : which1) & 7) * 0x100000 + (c << 11) - 0x8000; offset = (((map & 0x80) ? (map - 4) : which1) & 7) * 0x100000 + (c << 11) - 0x8000;
block = Memory.ROM + Multi.cartOffsetB + offset; block = Memory.ROM + Multi.cartOffsetB + offset;
} }
} }
for (int i = c + 8; i < c + 16; i++) for (int i = c + 8; i < c + 16; i++)
Memory.Map[start2 + i] = SA1.Map[start2 + i] = block; Memory.Map[start2 + i] = SA1.Map[start2 + i] = block;