From: Christian Groessler Date: Thu, 2 Jan 2014 20:45:12 +0000 (+0100) Subject: Use deferred VBI instead of immediate VBI. A deferred VBI won't be X-Git-Tag: V2.15~196^2~17 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=6a17df69dd0282070648e0259cd4da509fc70ffd;p=cc65 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. --- 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