diff options
author | Michael Pavone <pavone@retrodev.com> | 2019-02-06 08:54:09 -0800 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2019-02-06 08:54:09 -0800 |
commit | dfec2468ff106556e035c8e702edf5a7d0e50e68 (patch) | |
tree | 7a1d0f1d7c7d5f8c010bbd5ff5ceb52ba462fb7e /z80.cpu | |
parent | 961bdbea9dbbabff23624ef18280218eae452a3a (diff) |
Fixes to DAA, SCF and CCF to pass ZEXALL in new Z80 core
Diffstat (limited to 'z80.cpu')
-rw-r--r-- | z80.cpu | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -1439,6 +1439,9 @@ ed 01DDD100 neg 00111111 ccf local tmp 8 + and 0x80 last_flag_result last_flag_result + and 0x7F a tmp + or tmp last_flag_result last_flag_result and 0x80 chflags chflags lsr chflags 4 tmp or tmp chflags chflags @@ -1446,6 +1449,10 @@ ed 01DDD100 neg update_flags N0 00110111 scf + local tmp 8 + and 0x80 last_flag_result last_flag_result + and 0x7F a tmp + or tmp last_flag_result last_flag_result update_flags H0N0C1 00000000 nop @@ -2217,24 +2224,28 @@ ed 10111001 cpdr if tmp or 0x60 diff diff + update_flags C1 else - cmp 0xA0 a + cmp 0x9A a if >=U or 0x60 diff diff + update_flags C1 + else + update_flags C0 end end if nflag sub diff a a - update_flags SZYHPXC + update_flags SZYHPX else add diff a a - update_flags SZYHPXC + update_flags SZYHPX end |