Mercurial > repos > blastem
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; |