From 708a6d983177f63cf4bc39b693c3a324353a6feb Mon Sep 17 00:00:00 2001 From: Nathaniel Walizer Date: Sun, 31 Aug 2025 11:25:54 -0700 Subject: [PATCH] Fix status register saved on interrupt --- src/f6502.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/f6502.c b/src/f6502.c index 74a51d1..2a422b5 100644 --- a/src/f6502.c +++ b/src/f6502.c @@ -434,7 +434,7 @@ static inline int f6502_interrupt(f6502_Core* core, uint16_t addr) { PUSH16(core, core->registers.S, core->registers.PC); PUSH(core, core->registers.S, - core->registers.P & ~f6502_Status_B); + (core->registers.P & ~f6502_Status_B) | f6502_Status_1); SET(core->registers.P, f6502_Status_I); core->registers.PC = f6502_read16(&core->memory, addr); return 7;