.sect .text
.globl _start
+ .globl sci_interrupt_serial
+ .globl sci_interrupt_coinmech
+ ;.globl uart_interrupt
;; Default interrupt handler.
.sect .text
def:
rti
- .globl _debug_user_vectors
-_debug_user_vectors = 0
+;; .globl _debug_user_vectors
+;;_debug_user_vectors = 0
+
+
+;; RTI interrupt handler
+ .sect .text
+rti:
+ jsr chime
+ jsr serial_rti
+ ldaa #0x40
+ staa 0x1025
+ rti
;;
;; Interrupt vectors are in a specific section that is
.word def ; ffd4
;; SCI
- .word def ; ffd6
+ .word sci_interrupt_serial ; ffd6
;; SPI
.word def ; ffd8
.word def ; ffde (TOI)
;; Timer Output Compare
- .word def ; ffe0
- .word def ; ffe2
+ .word def ; ffe0
+ .word def ; ffe2
.word def ; ffe4
.word def ; ffe6
.word def ; ffe8
.word def ; ffee
;; Misc
- .word def ; fff0 (RTII)
- .word def ; fff2 (IRQ)
+ ;.word def ; fff0 (RTII) ; uncomment to disable the RTI & comment below
+ .word rti ; fff0 (RTII)
+ ;.word uart_interrupt ; fff2 (IRQ)
+ .word def ; fff2 (IRQ)
.word def ; fff4 (XIRQ)
.word def ; fff6 (SWI)
.word def ; fff8 (ILL)
- .word def ; fffa (COP Failure)
- .word def ; fffc (COP Clock monitor)
+ .word _start ; fffa (COP Failure)
+ .word _start ; fffc (COP Clock monitor)
.word _start ; fffe (reset)