diff options
author | Mike Pavone <pavone@retrodev.com> | 2013-04-16 22:29:00 -0700 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2013-04-16 22:29:00 -0700 |
commit | 9d263ae4d5ae12022177b4dda9120c88b20604df (patch) | |
tree | f2e177496bae97b9fa1b9cf02875e2e5b5b39aef /m68k_to_x86.c | |
parent | 5b8b2105a5ebee2f9d272c06ba129c7f1fbb8922 (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.c | 7 |
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); |