GBA: Check for cycle count being too high
Jeffrey Pfau jeffrey@endrift.com
Mon, 05 Oct 2015 19:24:06 -0700
2 files changed,
5 insertions(+),
0 deletions(-)
M
CHANGES
→
CHANGES
@@ -37,6 +37,7 @@ - GBA BIOS: Implement RegisterRamReset for SIO registers
- GBA: Additional savestate sanity checks - All: Reset next event to cycles instead of zero to interrupt - GBA Video: Remove lastHblank, as it is implied + - GBA: Check for cycle count being too high 0.3.0: (2015-08-16) Features:
M
src/gba/serialize.c
→
src/gba/serialize.c
@@ -87,6 +87,10 @@ if (state->cpu.cycles < 0) {
GBALog(gba, GBA_LOG_WARN, "Savestate is corrupted: CPU cycles are negative"); error = true; } + if (state->cpu.cycles >= (int32_t) GBA_ARM7TDMI_FREQUENCY) { + GBALog(gba, GBA_LOG_WARN, "Savestate is corrupted: CPU cycles are too high"); + error = true; + } if (state->cpu.nextEvent < 0) { GBALog(gba, GBA_LOG_WARN, "Savestate is corrupted: Next event is negative"); error = true;