mirror of
https://github.com/cc65/cc65.git
synced 2025-01-16 13:31:16 +00:00
not a dummy implementation anymore...
This commit is contained in:
parent
f1ece57c05
commit
b6f712ef58
@ -7,8 +7,53 @@
|
||||
|
||||
.include "atari5200.inc"
|
||||
|
||||
; Dummy versions for now
|
||||
; ------------------------------------------------------------------------
|
||||
|
||||
.segment "INIT"
|
||||
|
||||
initirq:
|
||||
lda VVBLKD
|
||||
ldx VVBLKD+1
|
||||
sta IRQInd+1
|
||||
stx IRQInd+2
|
||||
ldy #<IRQStub
|
||||
ldx #>IRQStub
|
||||
jmp SETVBV
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
|
||||
.code
|
||||
|
||||
doneirq:
|
||||
ldy IRQInd+1
|
||||
ldx IRQInd+2
|
||||
;jmp SETVBV
|
||||
; fall thru
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Set deferred vertical blank interrupt
|
||||
; logic copied from Atari computer ROM
|
||||
|
||||
SETVBV: txa
|
||||
ldx #5
|
||||
sta WSYNC ; waste 20 CPU cycles
|
||||
@1: dex ; to allow VBLANK to happen
|
||||
bne @1 ; if this is line "7C"
|
||||
sta VVBLKD+1
|
||||
sty VVBLKD
|
||||
rts
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
|
||||
.segment "LOWCODE"
|
||||
|
||||
IRQStub:
|
||||
cld ; Just to be sure
|
||||
jsr callirq ; Call the functions
|
||||
jmp IRQInd ; Jump to the saved IRQ vector
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
|
||||
.data
|
||||
|
||||
IRQInd: jmp $0000
|
||||
|
Loading…
x
Reference in New Issue
Block a user