From 969049face66e81f14edca0fae67635d571cf819 Mon Sep 17 00:00:00 2001 From: Christian Groessler Date: Mon, 25 Sep 2017 17:06:43 +0200 Subject: [PATCH] atrtimer.s: initialize the interrupt variables before enabling the interrupt --- drivers/atrtimer.s | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/atrtimer.s b/drivers/atrtimer.s index 0073f45..fda07bf 100644 --- a/drivers/atrtimer.s +++ b/drivers/atrtimer.s @@ -27,19 +27,12 @@ vbichain: .word 0 .code -; reset timer to 0 +; reset timer to 0 and install handler ; inputs: none ; outputs: none timer_init: lda vbichain+1 - bne @handler_installed - ldax VVBLKI ; IMMEDIATE VERTICAL BLANK NMI VECTOR - stax vbichain ; save old immediate vector - ldy #timer_vbl_handler - lda #6 ; STAGE 1 VBI - jsr SETVBV ; vector to set VBLANK parameters -@handler_installed: + bne @done lda PAL ; hardware register describing TV system of GTIA and #$0e ; mask out irrelevant bits bne @ntsc @@ -56,11 +49,18 @@ timer_init: lda #17 sta timer_freq_reciproc @system_set: - lda #0 + lda #0 ; initialize time variables sta current_time_value sta current_time_value+1 sta current_seconds sta current_jiffies + ldax VVBLKI ; IMMEDIATE VERTICAL BLANK NMI VECTOR + stax vbichain ; save old immediate vector + ldy #timer_vbl_handler + lda #6 ; STAGE 1 VBI + jsr SETVBV ; vector to set VBLANK parameters +@done: rts timer_exit: