# HG changeset patch # User Michael Pavone # Date 1487078050 28800 # Node ID 60d73f42a60648bee2d4b08b4dbb72259cec8892 # Parent 53fc7efdfdabf27f54dc087f4fee12614387112c Hacky fix so sound works in Project MD again diff -r 53fc7efdfdab -r 60d73f42a606 z80_to_x86.c --- a/z80_to_x86.c Tue Feb 14 04:44:37 2017 -0800 +++ b/z80_to_x86.c Tue Feb 14 05:14:10 2017 -0800 @@ -2939,6 +2939,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; } native_map_slot *map = opts->gen.native_code_map + address / NATIVE_CHUNK_SIZE; @@ -2957,9 +2959,8 @@ memset(map->offsets, 0xFF, sizeof(int32_t) * NATIVE_CHUNK_SIZE); } - if (map->offsets[address % NATIVE_CHUNK_SIZE] == INVALID_OFFSET) { - map->offsets[address % NATIVE_CHUNK_SIZE] = EXTENSION_WORD; - } + //TODO: better handling of potentially overlapping instructions + map->offsets[address % NATIVE_CHUNK_SIZE] = EXTENSION_WORD; } }