mirror of https://github.com/mgba-emu/mgba.git
GB MBC: Support 4MB MBC30 ROMs (fixes #1713)
This commit is contained in:
parent
a405ec42b4
commit
dbef26759c
1
CHANGES
1
CHANGES
|
@ -6,6 +6,7 @@ Emulation fixes:
|
|||
- ARM: Fix ALU reading PC after shifting
|
||||
- ARM: Fix STR storing PC after address calculation
|
||||
- GB: Fix GBC game registers after skipping BIOS
|
||||
- GB MBC: Support 4MB MBC30 ROMs (fixes mgba.io/i/1713)
|
||||
- GB Video: Fix state after skipping BIOS (fixes mgba.io/i/1715 and mgba.io/i/1716)
|
||||
- GB Video: Fix BGPS value after skipping BIOS (fixes mgba.io/i/1717)
|
||||
- GBA: Add missing RTC overrides for Legendz games
|
||||
|
|
|
@ -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) {
|
||||
struct GBMemory* memory = &gb->memory;
|
||||
int bank = value & 0x7F;
|
||||
int bank = value;
|
||||
switch (address >> 13) {
|
||||
case 0x0:
|
||||
switch (value) {
|
||||
|
@ -536,6 +536,9 @@ void _GBMBC3(struct GB* gb, uint16_t address, uint8_t value) {
|
|||
}
|
||||
break;
|
||||
case 0x1:
|
||||
if (gb->memory.romSize < GB_SIZE_CART_BANK0 * 0x80) {
|
||||
bank &= 0x7F;
|
||||
}
|
||||
if (!bank) {
|
||||
++bank;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue