GB MBC: Support 4MB MBC30 ROMs (fixes #1713)

This commit is contained in:
Vicki Pfau 2020-05-13 20:11:10 -07:00
parent df1c0b484a
commit ba11b8aa0c
2 changed files with 5 additions and 1 deletions

View File

@ -1,5 +1,6 @@
0.8.2: (Future) 0.8.2: (Future)
- GB: Fix GBC game registers after skipping BIOS - 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) - GB Video: Fix BGPS value after skipping BIOS (fixes mgba.io/i/1717)
- GBA: Add missing RTC overrides for Legendz games - GBA: Add missing RTC overrides for Legendz games
- GBA SIO: Fix Multiplayer busy bit - GBA SIO: Fix Multiplayer busy bit

View File

@ -518,7 +518,7 @@ static uint8_t _GBMBC2Read(struct GBMemory* memory, uint16_t address) {
void _GBMBC3(struct GB* gb, uint16_t address, uint8_t value) { void _GBMBC3(struct GB* gb, uint16_t address, uint8_t value) {
struct GBMemory* memory = &gb->memory; struct GBMemory* memory = &gb->memory;
int bank = value & 0x7F; int bank = value;
switch (address >> 13) { switch (address >> 13) {
case 0x0: case 0x0:
switch (value) { switch (value) {
@ -536,6 +536,9 @@ void _GBMBC3(struct GB* gb, uint16_t address, uint8_t value) {
} }
break; break;
case 0x1: case 0x1:
if (gb->memory.romSize < GB_SIZE_CART_BANK0 * 0x80) {
bank &= 0x7F;
}
if (!bank) { if (!bank) {
++bank; ++bank;
} }