# HG changeset patch # User Michael Pavone # Date 1673216443 28800 # Node ID 3b5fef8964755bf548f7cfa05fac3560e11b5d1d # Parent 5a21bc0ec5839abbe0672f1b4020dc76b001c92b Fix edge case in m68k_invalidate_code_range that caused problems when loading save states diff -r 5a21bc0ec583 -r 3b5fef896475 m68k_core_x86.c --- a/m68k_core_x86.c Mon Jan 02 13:08:49 2023 -0800 +++ b/m68k_core_x86.c Sun Jan 08 14:20:43 2023 -0800 @@ -2528,10 +2528,10 @@ //calculate the lowest alias for this address start = mem_chunk->start + ((start - mem_chunk->start) & mem_chunk->mask); } - mem_chunk = find_map_chunk(end, &opts->gen, 0, NULL); + mem_chunk = find_map_chunk(end - 1, &opts->gen, 0, NULL); if (mem_chunk) { //calculate the lowest alias for this address - end = mem_chunk->start + ((end - mem_chunk->start) & mem_chunk->mask); + end = mem_chunk->start + ((end - 1 - mem_chunk->start) & mem_chunk->mask) + 1; } uint32_t start_chunk = start / NATIVE_CHUNK_SIZE, end_chunk = end / NATIVE_CHUNK_SIZE; for (uint32_t chunk = start_chunk; chunk <= end_chunk; chunk++)