Mercurial > repos > blastem
diff z80.cpu @ 1742:6290c88949bd
Fixed CPI/CPD/CPIR/CPDR in new Z80 core
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 04 Feb 2019 23:46:35 -0800 |
parents | 3dbfb4524ad2 |
children | a1663a83dcab |
line wrap: on
line diff
--- a/z80.cpu Mon Feb 04 22:51:56 2019 -0800 +++ b/z80.cpu Mon Feb 04 23:46:35 2019 -0800 @@ -2127,11 +2127,18 @@ z80_cpd_cpi local tmp 16 local tmp8 8 + local hf 8 arg change 16 z80_fetch_mod_hl change sub scratch1 a tmp8 - update_flags SZHXN1 + update_flags SZHN1 + + lsr chflags 3 hf + and 1 hf hf + + sub hf tmp8 tmp8 + update_flags X and 0x2 tmp8 tmp8 lsl tmp8 4 tmp8 @@ -2159,21 +2166,31 @@ z80_cpd_cpi 1 if pvflag + if zflag + + else + add 1 pc wz sub 2 pc pc cycles 5 end + end ed 10111001 cpdr z80_cpd_cpi -1 if pvflag + if zflag + + else + add 1 pc wz sub 2 pc pc cycles 5 end + end 00100111 daa local diff 8