diff options
author | Ian C <ianc@noddybox.co.uk> | 2022-12-29 16:41:33 +0000 |
---|---|---|
committer | Ian C <ianc@noddybox.co.uk> | 2022-12-29 16:41:33 +0000 |
commit | 863110323dd0372102bf989fcb18f6573582de37 (patch) | |
tree | 0a74a4fbe90d52debf763326f1a28481f0af13f2 | |
parent | 57bb312c581e263051c8c0b877e44a421e474547 (diff) |
Fixed LDD[R] and LDI[R]
-rw-r--r-- | z80_decode.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/z80_decode.c b/z80_decode.c index 2385ac8..aecd26a 100644 --- a/z80_decode.c +++ b/z80_decode.c @@ -542,7 +542,7 @@ do { \ */ #define LDI \ do { \ - Z80Byte b; \ + Z80Byte b,a1; \ \ b=PEEK(cpu->HL.w); \ POKE(cpu->DE.w,b); \ @@ -558,12 +558,14 @@ do { \ else \ CLRFLAG(P_Z80); \ \ - SETHIDDEN(cpu->AF.b.hi+b); \ + a1=cpu->AF.b.hi+b; \ + if (a1&2) SETFLAG(B5_Z80); else CLRFLAG(B5_Z80); \ + if (a1&B3_Z80) SETFLAG(B3_Z80); else CLRFLAG(B3_Z80); \ } while(0) #define LDD \ do { \ - Z80Byte b; \ + Z80Byte b,a1; \ \ b=PEEK(cpu->HL.w); \ POKE(cpu->DE.w,b); \ @@ -579,7 +581,9 @@ do { \ else \ CLRFLAG(P_Z80); \ \ - SETHIDDEN(cpu->AF.b.hi+b); \ + a1=cpu->AF.b.hi+b; \ + if (a1&2) SETFLAG(B5_Z80); else CLRFLAG(B5_Z80); \ + if (a1&B3_Z80) SETFLAG(B3_Z80); else CLRFLAG(B3_Z80); \ } while(0) #define CPI \ |