don't apply SA1 hack for Kirby's Dream Land 3

This commit is contained in:
Daryl Borth 2018-11-14 19:17:40 -07:00
parent 1c62916714
commit 8b30730144
3 changed files with 11 additions and 1 deletions

View File

@ -3878,6 +3878,13 @@ void CMemory::ApplyROMFixes (void)
match_id ("A35") || // Mechwarrior 3050 / Battle Tech 3050
match_na ("DOOM TROOPERS")) // Doom Troopers
Timings.APUAllowTimeOverflow = TRUE;
if (match_id("AFJJ") || match_id("AFJE")) { // Kirby's Dream Land 3
Timings.SA1Cycles = 5;
}
else {
Timings.SA1Cycles = 3;
}
#endif
}

View File

@ -313,7 +313,7 @@ void S9xSA1MainLoop (void)
}
#ifdef GEKKO
for (int i = 0; i < 3 && !(Memory.FillRAM[0x2200] & 0x60); i++)
for (int i = 0; i < Timings.SA1Cycles && !(Memory.FillRAM[0x2200] & 0x60); i++)
#else
for (int i = 0; i < 5 && !(Memory.FillRAM[0x2200] & 0x60); i++)
#endif

View File

@ -369,6 +369,9 @@ struct STimings
int32 IRQFlagChanging; // This value is just a hack.
int32 APUSpeedup;
bool8 APUAllowTimeOverflow;
#ifdef GEKKO
int32 SA1Cycles;
#endif
};
struct SSettings