# HG changeset patch # User Michael Pavone # Date 1486006391 28800 # Node ID afa3d0a227ae7c7375b1a291ce5754d85f7353f4 # Parent 9e4c44757b1a1cab9e544a2a627e2b82b23f1a3c Fix regression in handling of unmapped memory addresses diff -r 9e4c44757b1a -r afa3d0a227ae m68k_core.c --- a/m68k_core.c Sun Jan 29 11:06:22 2017 -0800 +++ b/m68k_core.c Wed Feb 01 19:33:11 2017 -0800 @@ -565,6 +565,8 @@ if (mem_chunk) { //calculate the lowest alias for this address address = mem_chunk->start + ((address - mem_chunk->start) & mem_chunk->mask); + } else { + address &= opts->gen.address_mask; } uint32_t chunk = address / NATIVE_CHUNK_SIZE; if (!native_code_map[chunk].base) { @@ -589,6 +591,8 @@ if (mem_chunk) { //calculate the lowest alias for this address address = mem_chunk->start + ((address - mem_chunk->start) & mem_chunk->mask); + } else { + address &= opts->gen.address_mask; } uint32_t chunk = address / NATIVE_CHUNK_SIZE; @@ -635,6 +639,8 @@ } //calculate the lowest alias for this address address = mem_chunk->start + ((address - mem_chunk->start) & mem_chunk->mask); + } else { + address &= opts->gen.address_mask; } uint32_t chunk = address / NATIVE_CHUNK_SIZE;