1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-07 23:29:39 +00:00

not a dummy implementation anymore...

This commit is contained in:
Christian Groessler 2014-05-27 01:47:37 +02:00
parent f1ece57c05
commit b6f712ef58

View File

@ -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