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:
1 parent
90b921ac5e
commit
b7fef8abe6
3 files changed
+126
-1
No files matched your search
@@ -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
|
||||
}
|
||||
Reference in new issue
Block a user