summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvin <git@vineetk.net>2024-06-09 15:35:31 +0530
committervin <git@vineetk.net>2024-06-09 15:35:31 +0530
commit858cbfba48145ff9303a4127cb73911fc8904462 (patch)
treedd0a425cfecf793d1764bbe166f207a24121f2f8
parent76b9059b2e299dca5a96cf94f21038002f4dad3a (diff)
fix potential adc overflow flag bug
-rw-r--r--cpu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/cpu.c b/cpu.c
index 4aeaaf6..3bbfc42 100644
--- a/cpu.c
+++ b/cpu.c
@@ -120,7 +120,7 @@ adc(uint8_t arg)
regs.status.carry = sum > 0xFF;
/* overflow flag formula: https://stackoverflow.com/a/29224684 */
- regs.status.overflow = ~(regs.a ^ arg) & (regs.a ^ sum) & 0x80;
+ regs.status.overflow = (~(regs.a ^ arg) & (regs.a ^ sum) & 0x80) > 0;
STATUS_UPDATE_ZERO(regs.a);
STATUS_UPDATE_NEGATIVE(regs.a);
}