summaryrefslogtreecommitdiff
path: root/backend_x86.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2016-10-06 21:11:58 -0700
committerMichael Pavone <pavone@retrodev.com>2016-10-06 21:11:58 -0700
commit3a0fa2a3fde5b7f9ec908f3892ce06b9fd640500 (patch)
tree81a14c2c3f5bf0add5389e90b4e5cad7fee8f137 /backend_x86.c
parentcab3bd73c9a9110b5c70f7f692b1afeacc9858b9 (diff)
Remove hacky assumption about Genesis memory map in M68K core
Diffstat (limited to 'backend_x86.c')
-rw-r--r--backend_x86.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/backend_x86.c b/backend_x86.c
index addc34e..f2bb421 100644
--- a/backend_x86.c
+++ b/backend_x86.c
@@ -224,6 +224,9 @@ code_ptr gen_mem_fun(cpu_options * opts, memmap_chunk const * memmap, uint32_t n
}
code_ptr not_code = code->cur + 1;
jcc(code, CC_NC, code->cur + 2);
+ if (memmap[chunk].mask != opts->address_mask) {
+ or_ir(code, memmap[chunk].start, opts->scratch1, opts->address_size);
+ }
call(code, opts->save_context);
call_args(code, opts->handle_code_write, 2, opts->scratch2, opts->context_reg);
mov_rr(code, RAX, opts->context_reg, SZ_PTR);