summaryrefslogtreecommitdiff
path: root/z80_to_x86.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2015-05-17 19:14:41 -0700
committerMichael Pavone <pavone@retrodev.com>2015-05-17 19:14:41 -0700
commite51040f08071327061219caa1c54d3dcb346b1c7 (patch)
treec6dab606e6a6a3ad38f42952b71e93cb6c9d4a96 /z80_to_x86.c
parent66e9ade3dc32f118d6d9229b709c4cd389f9162e (diff)
Call z80_handle_deferred after generating an insruction handler so that instructions like rst work correctly
Diffstat (limited to 'z80_to_x86.c')
-rw-r--r--z80_to_x86.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/z80_to_x86.c b/z80_to_x86.c
index 1f8d477..bef749f 100644
--- a/z80_to_x86.c
+++ b/z80_to_x86.c
@@ -23,6 +23,7 @@
#endif
uint32_t zbreakpoint_patch(z80_context * context, uint16_t address, code_ptr dst);
+void z80_handle_deferred(z80_context * context);
uint8_t z80_size(z80inst * inst)
{
@@ -1653,6 +1654,7 @@ uint8_t * z80_interp_handler(uint8_t opcode, z80_context * context)
add_ir(code, after - codebuf, opts->gen.scratch1, SZ_W);
call(code, opts->native_addr);
jmp_r(code, opts->gen.scratch1);
+ z80_handle_deferred(context);
}
return context->interp_code[opcode];
}