From 2ab89621a9cee8cf32176f750d9ac9ffedaef7e0 Mon Sep 17 00:00:00 2001 From: Christian Groessler Date: Thu, 2 Jan 2014 21:45:12 +0100 Subject: [PATCH] Use deferred VBI instead of immediate VBI. A deferred VBI won't be called if the user program has interrupts disabled which makes it easier to avoid race conditions. --- libsrc/atari/irq.s | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/libsrc/atari/irq.s b/libsrc/atari/irq.s index 8ec1b12df..9f12d47ed 100644 --- a/libsrc/atari/irq.s +++ b/libsrc/atari/irq.s @@ -16,11 +16,11 @@ .segment "INIT" initirq: - lda VVBLKI - ldx VVBLKI+1 + lda VVBLKD + ldx VVBLKD+1 sta IRQInd+1 stx IRQInd+2 - lda #6 + lda #7 ldy #IRQStub jsr SETVBV @@ -31,7 +31,7 @@ initirq: .code doneirq: - lda #6 + lda #7 ldy IRQInd+1 ldx IRQInd+2 jsr SETVBV @@ -44,7 +44,6 @@ doneirq: IRQStub: cld ; Just to be sure .ifdef __ATARIXL__ - pha .ifdef CHARGEN_RELOC lda CHBAS pha @@ -64,7 +63,6 @@ IRQStub: sta CHBAS sta CHBASE .endif - pla .endif jmp IRQInd ; Jump to the saved IRQ vector