comparison m68k_core.c @ 1275:f36ef4847ef2

Fix bug in handling of translating unmapped addresses
author Michael Pavone <pavone@retrodev.com>
date Thu, 09 Mar 2017 22:17:46 -0800
parents 462d9770d467
children 996eb76d6da1
comparison
equal deleted inserted replaced
1274:779920729249 1275:f36ef4847ef2
883 encoded = get_native_pointer(address, (void **)context->mem_pointers, &opts->gen); 883 encoded = get_native_pointer(address, (void **)context->mem_pointers, &opts->gen);
884 if (!encoded) { 884 if (!encoded) {
885 code_ptr start = code->cur; 885 code_ptr start = code->cur;
886 translate_out_of_bounds(opts, address); 886 translate_out_of_bounds(opts, address);
887 code_ptr after = code->cur; 887 code_ptr after = code->cur;
888 map_native_address(context, address, code->cur, 2, after-start); 888 map_native_address(context, address, start, 2, after-start);
889 break; 889 break;
890 } 890 }
891 code_ptr existing = get_native_address(opts, address); 891 code_ptr existing = get_native_address(opts, address);
892 if (existing) { 892 if (existing) {
893 jmp(code, existing); 893 jmp(code, existing);