diff --git a/c64/kernal/interrupts/irq_handler.s b/c64/kernal/interrupts/irq_handler.s index aec36752..0d7d6de9 100644 --- a/c64/kernal/interrupts/irq_handler.s +++ b/c64/kernal/interrupts/irq_handler.s @@ -15,6 +15,8 @@ irq_handler: tya pha + cld // clear decimal flag, to prevent possible problems + // Check if caused by BRK tsx lda $0104, x // get the pre-interrupt processor state diff --git a/c64/kernal/interrupts/nmi_handler.s b/c64/kernal/interrupts/nmi_handler.s index 77a7a948..6c1275a0 100644 --- a/c64/kernal/interrupts/nmi_handler.s +++ b/c64/kernal/interrupts/nmi_handler.s @@ -2,6 +2,7 @@ nmi_handler: sei // don't allow IRQ to interfere, see https://www.c64-wiki.com/wiki/Interrupt + cld // clear decimal flag, to prevent possible problems // Call interrupt routine (only if initialised) pha