From: Christian Groessler Date: Mon, 26 May 2014 23:47:37 +0000 (+0200) Subject: not a dummy implementation anymore... X-Git-Tag: V2.15~57^2~16 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b6f712ef58631992337e99dc032e162366f0264f;p=cc65 not a dummy implementation anymore... --- diff --git a/libsrc/atari5200/irq.s b/libsrc/atari5200/irq.s index 2acab1826..720113f82 100644 --- a/libsrc/atari5200/irq.s +++ b/libsrc/atari5200/irq.s @@ -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 + 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