fix irq related crash by no longer zeroing out stored vector

This commit is contained in:
Irmen de Jong
2025-04-02 22:22:21 +02:00
parent 8a53742f31
commit 73f6880ff8
5 changed files with 18 additions and 5 deletions

View File

@@ -6,7 +6,7 @@ conv {
; ----- number conversions to decimal strings ----
ubyte[16] @shared string_out ; result buffer for the string conversion routines
ubyte[16] @shared string_out ; result buffer for the string conversion routines (note: uses uninitialized ARRAY instead of STR, to force it to be allocated in BSS area so it's ROM-compatible)
asmsub str_ub0(ubyte value @A) clobbers(X) -> str @AY {
; ---- convert the ubyte in A in decimal string form, with left padding 0s (3 positions total)

View File

@@ -1474,9 +1474,9 @@ asmsub restore_irq() clobbers(A) {
sta cx16.VERA_IEN
cli
rts
.section BSS
.section BSS_NOCLEAR
_orig_irqvec .word ?
.send BSS
.send BSS_NOCLEAR
; !notreached!
}}
}

View File

@@ -1,9 +1,9 @@
; Internal library routines - always included by the compiler
; Generic machine independent 6502 code.
.section BSS
.section BSS_NOCLEAR
orig_stackpointer .byte ? ; stores the Stack pointer register at program start
.send BSS
.send BSS_NOCLEAR
program_startup_clear_bss .proc
; this is always ran first thing from the start routine to clear out the BSS area