; IRQ handling (C64 version)
;
- .export initirq, doneirq
- .import callirq
+ .export initirq, doneirq
+ .import callirq
- .include "c64.inc"
+ .include "c64.inc"
; ------------------------------------------------------------------------
-.segment "INIT"
+.segment "INIT"
initirq:
- lda IRQVec
- ldx IRQVec+1
- sta IRQInd+1
- stx IRQInd+2
- lda #<IRQStub
- ldx #>IRQStub
- jmp setvec
+ lda IRQVec
+ ldx IRQVec+1
+ sta IRQInd+1
+ stx IRQInd+2
+ lda #<IRQStub
+ ldx #>IRQStub
+ jmp setvec
; ------------------------------------------------------------------------
.code
doneirq:
- lda IRQInd+1
- ldx IRQInd+2
-setvec: sei
- sta IRQVec
- stx IRQVec+1
- cli
- rts
+ lda IRQInd+1
+ ldx IRQInd+2
+setvec: sei
+ sta IRQVec
+ stx IRQVec+1
+ cli
+ rts
; ------------------------------------------------------------------------
-.segment "LOWCODE"
+.segment "LOWCODE"
IRQStub:
- cld ; Just to be sure
- jsr callirq ; Call the functions
- jmp IRQInd ; Jump to the saved IRQ vector
+ cld ; Just to be sure
+ jsr callirq ; Call the functions
+ jmp IRQInd ; Jump to the saved IRQ vector
; ------------------------------------------------------------------------
.data
-IRQInd: jmp $0000
+IRQInd: jmp $0000