Mercurial > repos > blastem
diff m68k_core.c @ 1363:df6af7187b36
Fix to M68K interrupt latency for most instructions. Still needs some work for RAW_IMPL instructions besides move
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 19 May 2017 20:27:35 -0700 |
parents | f1607874dbee |
children | 4e5797b3935a |
line wrap: on
line diff
--- a/m68k_core.c Sun May 14 12:07:39 2017 -0700 +++ b/m68k_core.c Fri May 19 20:27:35 2017 -0700 @@ -969,11 +969,15 @@ } host_ea src_op, dst_op; + uint8_t needs_int_latch = 0; if (inst->src.addr_mode != MODE_UNUSED) { - translate_m68k_op(inst, &src_op, opts, 0); + needs_int_latch |= translate_m68k_op(inst, &src_op, opts, 0); } if (inst->dst.addr_mode != MODE_UNUSED) { - translate_m68k_op(inst, &dst_op, opts, 1); + needs_int_latch |= translate_m68k_op(inst, &dst_op, opts, 1); + } + if (needs_int_latch) { + m68k_check_cycles_int_latch(opts); } if (info->itype == OP_FUNC) { info->impl.op(opts, inst, &src_op, &dst_op);