feat(arnitech): handlers for a 65816's native-mode interrupts on a Blade

A Blade reads the 65816's native-mode vectors from the RAM under the KERNAL
at $FFE4-$FFEF. native_vectors_init puts handlers' addresses there: IRQ and
NMI save A, X, and Y at full width, the direct page, and the data bank, push
the frame an emulation-mode interrupt makes, and run the KERNAL's handlers
through CINV and NMINV in 8-bit native mode, whose RTI comes back to restore
everything. BRK, COP, and ABORT go to the BRK handler, which on a Blade first
sets the direct page and data bank to 0 and returns to emulation mode.
This commit is contained in:
chris committed 2026-10-18 08:57:01 +02:00
1 parent 90b921ac5e
commit b7fef8abe6
3 files changed
+126 -1

No files matched your search

+7
View File
@@ -33,3 +33,10 @@
!addr RRNET_TX_CMD = $DE0C ; write-only
!addr RRNET_TX_LENGTH = $DE0E ; write-only
}
!ifdef CONFIG_ARNITECH_BLADE {
; The 65816's native-mode vectors, which a Blade reads from the RAM under the KERNAL (ADR 0029)
!addr NATIVE_VECTORS = $FFE4 ; COP, BRK, ABORT, NMI, reserved, IRQ
}