diff --git a/STATUS.md b/STATUS.md index fa58b42e..71c5f15f 100644 --- a/STATUS.md +++ b/STATUS.md @@ -26,8 +26,9 @@ The following ROM features are currently missing: * floating point routines * tape support * RS-232 support -* warm start (RUN/STOP + RESTORE) - NMI/BRK handling is not implemented at all +* NMI cartridge handling and BRK handling are not implemented yet * breaking Kernal routines with RUN/STOP key +* PAL/NTSC is detected, but for now only startup banner uses the result Features currently being worked on: diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index 4db3c6af..bafc66c8 100644 Binary files a/bin/kernal_generic.rom and b/bin/kernal_generic.rom differ diff --git a/bin/kernal_mega65.rom b/bin/kernal_mega65.rom index 4db3c6af..bafc66c8 100644 Binary files a/bin/kernal_mega65.rom and b/bin/kernal_mega65.rom differ diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index 4db3c6af..bafc66c8 100644 Binary files a/bin/kernal_ultimate64.rom and b/bin/kernal_ultimate64.rom differ diff --git a/c64/kernal/interrupts/irq_handler.s b/c64/kernal/interrupts/irq_handler.s index 0a3634ab..06175ff9 100644 --- a/c64/kernal/interrupts/irq_handler.s +++ b/c64/kernal/interrupts/irq_handler.s @@ -20,7 +20,7 @@ irq_handler: ;; Call interrupt routine (only if initialised) lda CINV ora CINV+1 - bne + + beq + jmp (CINV) * ;; Vector not initialized - call default interrupt routine diff --git a/c64/kernal/interrupts/nmi_handler.s b/c64/kernal/interrupts/nmi_handler.s index 90c05444..c5336f8b 100644 --- a/c64/kernal/interrupts/nmi_handler.s +++ b/c64/kernal/interrupts/nmi_handler.s @@ -7,7 +7,7 @@ nmi_handler: pha lda NMINV ora NMINV+1 - bne + + beq + pla jmp (NMINV) *