summaryrefslogtreecommitdiff
path: root/m68k_to_x86.c
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2013-04-16 22:29:00 -0700
committerMike Pavone <pavone@retrodev.com>2013-04-16 22:29:00 -0700
commit9d263ae4d5ae12022177b4dda9120c88b20604df (patch)
treef2e177496bae97b9fa1b9cf02875e2e5b5b39aef /m68k_to_x86.c
parent5b8b2105a5ebee2f9d272c06ba129c7f1fbb8922 (diff)
Make reset trigger debug exit to make it easier to test the same cases in blastem and musashi. Fix asl #1 overflow flag.
Diffstat (limited to 'm68k_to_x86.c')
-rw-r--r--m68k_to_x86.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/m68k_to_x86.c b/m68k_to_x86.c
index cb29a83..c8d9432 100644
--- a/m68k_to_x86.c
+++ b/m68k_to_x86.c
@@ -2640,6 +2640,7 @@ uint8_t * translate_shift(uint8_t * dst, m68kinst * inst, x86_ea *src_op, x86_ea
} else {
dst = shift_irdisp8(dst, src_op->disp, dst_op->base, dst_op->disp, inst->extra.size);
}
+ dst = setcc_r(dst, CC_O, FLAG_V);
}
} else {
if (src_op->base != RCX) {
@@ -3432,7 +3433,11 @@ uint8_t * translate_m68k(uint8_t * dst, m68kinst * inst, x86_68k_options * opts)
}
}
break;
- /*case M68K_RESET:*/
+ case M68K_RESET:
+ dst = call(dst, (uint8_t *)m68k_save_context);
+ dst = mov_rr(dst, CONTEXT, RDI, SZ_Q);
+ dst = call(dst, (uint8_t *)print_regs_exit);
+ break;
case M68K_ROL:
case M68K_ROR:
dst = mov_ir(dst, 0, FLAG_V, SZ_B);