summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2013-06-02 21:12:26 -0700
committerMike Pavone <pavone@retrodev.com>2013-06-02 21:12:26 -0700
commit37e11503549c7ec4916ecf5d951a740036db09e4 (patch)
tree05792938fe8c6921edabb66671b6b4e3d307e697
parent33231cf8278cc271c129f4ee5c0a29e639b7873a (diff)
Fix cycle count for inc and dec
-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 2b8c7ed..02757de 100644
--- a/z80_to_x86.c
+++ b/z80_to_x86.c
@@ -802,6 +802,7 @@ uint8_t * translate_z80inst(z80inst * inst, uint8_t * dst, z80_context * context
} else if(inst->reg == Z80_IXH || inst->reg == Z80_IXL || inst->reg == Z80_IYH || inst->reg == Z80_IYL || inst->addr_mode == Z80_IX_DISPLACE || inst->addr_mode == Z80_IY_DISPLACE) {
cycles += 4;
}
+ dst = zcycles(dst, cycles);
dst = translate_z80_reg(inst, &dst_op, dst, opts);
if (dst_op.mode == MODE_UNUSED) {
dst = translate_z80_ea(inst, &dst_op, dst, opts, READ, MODIFY);
@@ -826,6 +827,7 @@ uint8_t * translate_z80inst(z80inst * inst, uint8_t * dst, z80_context * context
} else if(inst->reg == Z80_IXH || inst->reg == Z80_IXL || inst->reg == Z80_IYH || inst->reg == Z80_IYL || inst->addr_mode == Z80_IX_DISPLACE || inst->addr_mode == Z80_IY_DISPLACE) {
cycles += 4;
}
+ dst = zcycles(dst, cycles);
dst = translate_z80_reg(inst, &dst_op, dst, opts);
if (dst_op.mode == MODE_UNUSED) {
dst = translate_z80_ea(inst, &dst_op, dst, opts, READ, MODIFY);