summaryrefslogtreecommitdiff
path: root/z80_decode.c
diff options
context:
space:
mode:
authorIan C <ianc@noddybox.co.uk>2022-12-29 16:41:33 +0000
committerIan C <ianc@noddybox.co.uk>2022-12-29 16:41:33 +0000
commit863110323dd0372102bf989fcb18f6573582de37 (patch)
tree0a74a4fbe90d52debf763326f1a28481f0af13f2 /z80_decode.c
parent57bb312c581e263051c8c0b877e44a421e474547 (diff)
Fixed LDD[R] and LDI[R]
Diffstat (limited to 'z80_decode.c')
-rw-r--r--z80_decode.c12
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 \