summaryrefslogtreecommitdiff
path: root/cpu.c
diff options
context:
space:
mode:
authorvin <git@vineetk.net>2024-07-20 21:18:11 -0400
committervin <git@vineetk.net>2024-07-20 21:18:11 -0400
commit81575946ae0d3e61d45b9c4a34785bf203955cee (patch)
tree3eb9a9b94cfe16e5354314d0277ce0b94eaea1c8 /cpu.c
parent70937cd61f63e159d5de226fa640d102c8fb0d14 (diff)
fix status flag bug in ASL and ROL
Diffstat (limited to 'cpu.c')
-rw-r--r--cpu.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/cpu.c b/cpu.c
index a4be93c..a3b622e 100644
--- a/cpu.c
+++ b/cpu.c
@@ -204,7 +204,8 @@ ASL(uint16_t mem)
memwrite(mem, tmp & 0xFF);
regs.status.carry = tmp > 0xFF;
- STATUS_UPDATE_NZ(tmp);
+ regs.status.negative = (tmp & (1 << 7)) != 0;
+ regs.status.zero = (tmp << 1 & 0xFF) == 0;
}
void
@@ -536,7 +537,7 @@ ROL(uint16_t mem)
memwrite(mem, tmp);
regs.status.carry = carry;
- STATUS_UPDATE_NZ(regs.a);
+ STATUS_UPDATE_NZ(tmp);
}
void