diff options
author | Michael Pavone <pavone@retrodev.com> | 2015-04-28 19:04:36 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2015-04-28 19:04:36 -0700 |
commit | 46b4c104c2447d9081122696a43094d0cb987de3 (patch) | |
tree | b8cc21080d6f91124ba48478f1cb1f09c52faaac /backend_x86.c | |
parent | 543e7e93904092da8c12149c83304c0d64a5e789 (diff) |
Fix bug in map_native_address that was breaking some self-modifying code in Gunstar Heroes
Diffstat (limited to 'backend_x86.c')
-rw-r--r-- | backend_x86.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/backend_x86.c b/backend_x86.c index 5a1f5d5..d606886 100644 --- a/backend_x86.c +++ b/backend_x86.c @@ -175,6 +175,7 @@ code_ptr gen_mem_fun(cpu_options * opts, memmap_chunk const * memmap, uint32_t n mov_rr(code, opts->scratch2, opts->scratch1, opts->address_size); shr_ir(code, opts->ram_flags_shift, opts->scratch1, opts->address_size); bt_rrdisp(code, opts->scratch1, opts->context_reg, ram_flags_off, opts->address_size); + //FIXME: These adjustments to ram_flags_off need to take into account bits vs bytes and ram_flags_shift if (memmap[chunk].mask == opts->address_mask) { ram_flags_off += memmap[chunk].end - memmap[chunk].start; } else { |