summaryrefslogtreecommitdiff
path: root/src/Noddybox.Emulation.EightBit.Z80/Z80CpuDecodeByte.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Noddybox.Emulation.EightBit.Z80/Z80CpuDecodeByte.cs')
-rw-r--r--src/Noddybox.Emulation.EightBit.Z80/Z80CpuDecodeByte.cs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Noddybox.Emulation.EightBit.Z80/Z80CpuDecodeByte.cs b/src/Noddybox.Emulation.EightBit.Z80/Z80CpuDecodeByte.cs
index f0256ba..22a6c98 100644
--- a/src/Noddybox.Emulation.EightBit.Z80/Z80CpuDecodeByte.cs
+++ b/src/Noddybox.Emulation.EightBit.Z80/Z80CpuDecodeByte.cs
@@ -141,7 +141,7 @@ namespace Noddybox.Emulation.EightBit.Z80
break;
case 0x10: // DJNZ
- if (--BC.high == 0)
+ if (--BC.high != 0)
{
clock.Add(13);
JR();
@@ -279,7 +279,7 @@ namespace Noddybox.Emulation.EightBit.Z80
break;
case 0x2a: // LD HL,(nnnnn)
- clock.Add(7);
+ clock.Add(16);
addr = FetchWord();
hl.low = memory.Read(addr);
hl.high = memory.Read((ushort)(addr + 1));
@@ -410,6 +410,7 @@ namespace Noddybox.Emulation.EightBit.Z80
F ^= Z80Flags.Carry;
ClearFlag(Z80Flags.Hidden);
+ ClearFlag(Z80Flags.Neg);
SetFlag(H35table[A]);
break;
@@ -734,7 +735,7 @@ namespace Noddybox.Emulation.EightBit.Z80
case 0x7e: // LD A,(HL)
clock.Add(7);
addr = (ushort)(hl.reg + Offset());
- HL.low = memory.Read(addr);
+ A = memory.Read(addr);
break;
case 0x7f: // LD A,A