From ea1e8f192e73727d42db5a998b7eed8f12f17332 Mon Sep 17 00:00:00 2001 From: Ed McCardell Date: Wed, 21 Mar 2012 10:17:40 -0400 Subject: [PATCH] fixes ADC bug introduced in last commit --- src/d6502/cpu.d | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/d6502/cpu.d b/src/d6502/cpu.d index 5c4444f..6b104de 100644 --- a/src/d6502/cpu.d +++ b/src/d6502/cpu.d @@ -358,7 +358,8 @@ class Cpu : CpuBase al = ((al + 0x06) & 0x0F) + 0x10; a = (a & 0xF0) + (val & 0xF0) + al; - flag.negative_ = flag.zero_ = cast(ubyte)a; + flag.negative_ = cast(ubyte)a; + flag.zero_ = cast(ubyte)(accumulator + val + flag.carry); flag.overflow = (!((accumulator ^ val) & 0x80)) && ((val ^ a) & 0x80);