# HG changeset patch # User Michael Pavone # Date 1549345439 28800 # Node ID d6157b7eb20c25de1265990cdd940f4ca091200f # Parent 2207cd2bae147eb1bb735eddb98cc2e23f5be3f5 Implemented DAA in new Z80 core diff -r 2207cd2bae14 -r d6157b7eb20c z80.cpu --- a/z80.cpu Mon Feb 04 21:43:43 2019 -0800 +++ b/z80.cpu Mon Feb 04 21:43:59 2019 -0800 @@ -2171,4 +2171,52 @@ end +00100111 daa + local diff 8 + local tmp 8 + local low 8 + and 0xF a low + and 0x8 chflags tmp + if tmp + + mov 6 diff + + else + + cmp 0xA low + if >=U + mov 6 diff + else + mov 0 diff + end + + end + + and 0x80 chflags tmp + if tmp + + or 0x60 diff diff + + else + + cmp 0xA0 a + if >=U + or 0x60 diff diff + end + end + + if nflag + + sub diff a a + update_flags SZYHPXC + + else + + add diff a a + update_flags SZYHPXC + + end + + + \ No newline at end of file