comparison z80_to_x86.c @ 841:58606d16d35c

Fix timing of certain variants of LD
author Michael Pavone <pavone@retrodev.com>
date Thu, 29 Oct 2015 23:12:01 -0700
parents 5822c6e5642f
children ba93a3941300
comparison
equal deleted inserted replaced
840:5822c6e5642f 841:58606d16d35c
353 switch (inst->addr_mode & 0x1F) 353 switch (inst->addr_mode & 0x1F)
354 { 354 {
355 case Z80_REG: 355 case Z80_REG:
356 case Z80_REG_INDIRECT: 356 case Z80_REG_INDIRECT:
357 num_cycles = size == SZ_B ? 4 : 6; 357 num_cycles = size == SZ_B ? 4 : 6;
358 if (inst->ea_reg == Z80_IX || inst->ea_reg == Z80_IY) { 358 if (inst->ea_reg == Z80_IX || inst->ea_reg == Z80_IY || (inst->ea_reg >= Z80_IXL && inst->ea_reg <= Z80_IYH)) {
359 num_cycles += 4; 359 num_cycles += 4;
360 } 360 }
361 if (inst->reg == Z80_I || inst->ea_reg == Z80_I) { 361 if (inst->reg == Z80_I || inst->ea_reg == Z80_I || inst->reg == Z80_R || inst->ea_reg == Z80_R) {
362 num_cycles += 5; 362 num_cycles += 5;
363 } 363 }
364 break; 364 break;
365 case Z80_IMMED: 365 case Z80_IMMED:
366 num_cycles = size == SZ_B ? 7 : 10; 366 num_cycles = size == SZ_B ? 7 : 10;