mirror of https://github.com/mgba-emu/mgba.git
Add busy loop optimization back
This commit is contained in:
parent
5002cf44f4
commit
4d2ccd5df4
|
@ -109,6 +109,10 @@ static void GBASetActiveRegion(struct ARMCore* cpu, uint32_t address) {
|
||||||
struct GBA* gba = (struct GBA*) cpu->master;
|
struct GBA* gba = (struct GBA*) cpu->master;
|
||||||
struct GBAMemory* memory = &gba->memory;
|
struct GBAMemory* memory = &gba->memory;
|
||||||
|
|
||||||
|
if (address == gba->busyLoop && memory->activeRegion != REGION_BIOS) {
|
||||||
|
GBAHalt(gba);
|
||||||
|
}
|
||||||
|
|
||||||
int newRegion = address >> BASE_OFFSET;
|
int newRegion = address >> BASE_OFFSET;
|
||||||
if (newRegion == memory->activeRegion) {
|
if (newRegion == memory->activeRegion) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -42,8 +42,11 @@ static const struct GBACartridgeOverride _overrides[] = {
|
||||||
{ "V49J", SAVEDATA_SRAM, GPIO_RUMBLE, -1 },
|
{ "V49J", SAVEDATA_SRAM, GPIO_RUMBLE, -1 },
|
||||||
{ "V49E", SAVEDATA_SRAM, GPIO_RUMBLE, -1 },
|
{ "V49E", SAVEDATA_SRAM, GPIO_RUMBLE, -1 },
|
||||||
|
|
||||||
|
// Final Fantasy Tactics Advance
|
||||||
|
{ "AFXE", SAVEDATA_FLASH512, GPIO_NONE, 0x8000418 },
|
||||||
|
|
||||||
// Mega Man Battle Network
|
// Mega Man Battle Network
|
||||||
{ "AREE", SAVEDATA_SRAM, GPIO_NONE, 0x8000338 },
|
{ "AREE", SAVEDATA_SRAM, GPIO_NONE, 0x800032E },
|
||||||
|
|
||||||
// Pokemon Ruby
|
// Pokemon Ruby
|
||||||
{ "AXVJ", SAVEDATA_FLASH1M, GPIO_RTC, -1 },
|
{ "AXVJ", SAVEDATA_FLASH1M, GPIO_RTC, -1 },
|
||||||
|
|
Loading…
Reference in New Issue