ref: 4e08bc6d73edea3860b82af0634555f220830611
parent: 0127b8641f79dd3d942bd9c5c18e7cefbba9b648
author: Jean-André Santoni <jean.andre.santoni@gmail.com>
date: Wed Jul 10 07:50:57 EDT 2024
Set flags X Y in EDB1
--- a/z80.c
+++ b/z80.c
@@ -426,8 +426,12 @@
case 0xb0: case 0xb1: case 0xb8: case 0xb9:
switch(op & 3){default:
- z80write(DE(), z80read(HL()));
+ uint8_t u = z80read(HL());
+ z80write(DE(), u);
s[rF] &= ~(FLAGN|FLAGH);
+ uint16_t n = s[rA] + u;
+ if ((n & 0x08) != 0) s[rF] |= FLAGX; else s[rF] &= ~FLAGX;
+ if ((n & 0x20) != 0) s[rF] |= FLAGY; else s[rF] &= ~FLAGY;
l = 1;
break;
case 1:
--
⑨