all repos — mgba @ 32ca05312b2803a8e778426f805ba541cb777616

mGBA Game Boy Advance Emulator

GBA: Check for cycle count being too high
Jeffrey Pfau jeffrey@endrift.com
Mon, 05 Oct 2015 19:24:06 -0700
commit

32ca05312b2803a8e778426f805ba541cb777616

parent

a90eeea92438672cec7701b46d6756a182f246bf

2 files changed, 5 insertions(+), 0 deletions(-)

jump to
M CHANGESCHANGES

@@ -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.csrc/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;