comparison z80_to_x86.c @ 373:91d28a868551

Fix cycle count for inc and dec
author Mike Pavone <pavone@retrodev.com>
date Sun, 02 Jun 2013 21:12:26 -0700
parents 5dcf7551bb36
children 5500d1d1269e
comparison
equal deleted inserted replaced
372:5dcf7551bb36 373:91d28a868551
800 } else if(z80_size(inst) == SZ_W) { 800 } else if(z80_size(inst) == SZ_W) {
801 cycles += 2; 801 cycles += 2;
802 } 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) { 802 } 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) {
803 cycles += 4; 803 cycles += 4;
804 } 804 }
805 dst = zcycles(dst, cycles);
805 dst = translate_z80_reg(inst, &dst_op, dst, opts); 806 dst = translate_z80_reg(inst, &dst_op, dst, opts);
806 if (dst_op.mode == MODE_UNUSED) { 807 if (dst_op.mode == MODE_UNUSED) {
807 dst = translate_z80_ea(inst, &dst_op, dst, opts, READ, MODIFY); 808 dst = translate_z80_ea(inst, &dst_op, dst, opts, READ, MODIFY);
808 } 809 }
809 dst = add_ir(dst, 1, dst_op.base, z80_size(inst)); 810 dst = add_ir(dst, 1, dst_op.base, z80_size(inst));
824 } else if(z80_size(inst) == SZ_W) { 825 } else if(z80_size(inst) == SZ_W) {
825 cycles += 2; 826 cycles += 2;
826 } 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) { 827 } 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) {
827 cycles += 4; 828 cycles += 4;
828 } 829 }
830 dst = zcycles(dst, cycles);
829 dst = translate_z80_reg(inst, &dst_op, dst, opts); 831 dst = translate_z80_reg(inst, &dst_op, dst, opts);
830 if (dst_op.mode == MODE_UNUSED) { 832 if (dst_op.mode == MODE_UNUSED) {
831 dst = translate_z80_ea(inst, &dst_op, dst, opts, READ, MODIFY); 833 dst = translate_z80_ea(inst, &dst_op, dst, opts, READ, MODIFY);
832 } 834 }
833 dst = sub_ir(dst, 1, dst_op.base, z80_size(inst)); 835 dst = sub_ir(dst, 1, dst_op.base, z80_size(inst));