From d8e5d090aa804463a3b27d65aaa657769d8b976d Mon Sep 17 00:00:00 2001 From: OV2 Date: Fri, 25 Jan 2013 21:16:30 +0100 Subject: [PATCH] Fix MMC bank register bit 7, restore 64mbit ExLoRom map (FuSoYa) --- memmap.cpp | 2 +- sa1.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/memmap.cpp b/memmap.cpp index 72196bb1..dba837c6 100644 --- a/memmap.cpp +++ b/memmap.cpp @@ -3033,7 +3033,7 @@ void CMemory::Map_JumboLoROMMap (void) map_System(); map_lorom_offset(0x00, 0x3f, 0x8000, 0xffff, CalculatedSize - 0x400000, 0x400000); - map_lorom_offset(0x40, 0x7f, 0x0000, 0xffff, CalculatedSize - 0x400000, 0x400000); + map_lorom_offset(0x40, 0x7f, 0x0000, 0xffff, CalculatedSize - 0x600000, 0x600000); map_lorom_offset(0x80, 0xbf, 0x8000, 0xffff, 0x400000, 0); map_lorom_offset(0xc0, 0xff, 0x0000, 0xffff, 0x400000, 0x200000); diff --git a/sa1.cpp b/sa1.cpp index 3852860d..af93a698 100644 --- a/sa1.cpp +++ b/sa1.cpp @@ -308,7 +308,7 @@ static void S9xSetSA1MemMap (uint32 which1, uint8 map) for (int c = 0; c < 0x200; c += 16) { - uint8 *block = &Memory.ROM[(map & 7) * 0x100000 + (c << 11) - 0x8000]; + uint8 *block = &Memory.ROM[(((map & 0x80) ? map : which1) & 7) * 0x100000 + (c << 11) - 0x8000]; for (int i = c + 8; i < c + 16; i++) Memory.Map[start2 + i] = SA1.Map[start2 + i] = block; }