GB MBC: Support 4MB MBC30 ROMs (fixes #1713)
Vicki Pfau vi@endrift.com
Wed, 13 May 2020 20:11:10 -0700
2 files changed,
5 insertions(+),
1 deletions(-)
M
CHANGES
→
CHANGES
@@ -1,5 +1,6 @@
0.8.2: (Future) - GB: Fix GBC game registers after skipping BIOS + - GB MBC: Support 4MB MBC30 ROMs (fixes mgba.io/i/1713) - GB Video: Fix BGPS value after skipping BIOS (fixes mgba.io/i/1717) - GBA: Add missing RTC overrides for Legendz games - GBA SIO: Fix Multiplayer busy bit
M
src/gb/mbc.c
→
src/gb/mbc.c
@@ -518,7 +518,7 @@ }
void _GBMBC3(struct GB* gb, uint16_t address, uint8_t value) { struct GBMemory* memory = &gb->memory; - int bank = value & 0x7F; + int bank = value; switch (address >> 13) { case 0x0: switch (value) {@@ -536,6 +536,9 @@ break;
} break; case 0x1: + if (gb->memory.romSize < GB_SIZE_CART_BANK0 * 0x80) { + bank &= 0x7F; + } if (!bank) { ++bank; }