changeset 2192:3247bec692a4

Fix crash bug that caused a regression in Lunar: Eternal Blue
author Michael Pavone <pavone@retrodev.com>
date Sat, 20 Aug 2022 23:58:09 -0700
parents d87a76afbd8a
children d00fb9c6a6a2
files m68k_core.c
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/m68k_core.c	Sat Aug 20 12:45:33 2022 -0700
+++ b/m68k_core.c	Sat Aug 20 23:58:09 2022 -0700
@@ -1035,6 +1035,13 @@
 				break;
 			}
 			memmap_chunk const *chunk = find_map_chunk(address, &opts->gen, 0, NULL);
+			if (!chunk) {
+				code_ptr start = code->cur;
+				defer_translation(&opts->gen, address, opts->retrans_stub);
+				code_ptr after = code->cur;
+				map_native_address(context, address, start, 2, after-start);
+				break;
+			}
 			if (!(chunk->flags & MMAP_READ)) {
 				code_ptr start = code->cur;
 				defer_translation(&opts->gen, address, opts->retrans_stub);