Mercurial > repos > blastem
changeset 257:4c7933444df4
Implement CCF and SCF
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 29 Apr 2013 23:02:39 -0700 |
parents | ce7ce2b9c2df |
children | 852b8765bba6 |
files | z80_to_x86.c |
diffstat | 1 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/z80_to_x86.c Mon Apr 29 22:58:45 2013 -0700 +++ b/z80_to_x86.c Mon Apr 29 23:02:39 2013 -0700 @@ -698,9 +698,19 @@ break; /*case Z80_DAA: case Z80_CPL: - case Z80_NEG: + case Z80_NEG:*/ case Z80_CCF: - case Z80_SCF:*/ + dst = zcycles(dst, 4); + dst = xor_irdisp8(dst, 1, CONTEXT, zf_off(ZF_C), SZ_B); + dst = mov_irdisp8(dst, 0, CONTEXT, zf_off(ZF_N), SZ_B); + //TODO: Implement half-carry flag + break; + case Z80_SCF: + dst = zcycles(dst, 4); + dst = mov_irdisp8(dst, 1, CONTEXT, zf_off(ZF_C), SZ_B); + dst = mov_irdisp8(dst, 0, CONTEXT, zf_off(ZF_N), SZ_B); + //TODO: Implement half-carry flag + break; case Z80_NOP: if (inst->immed == 42) { dst = call(dst, (uint8_t *)z80_save_context);