1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 19:29:37 +00:00

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.
This commit is contained in:
Christian Groessler 2014-01-02 21:45:12 +01:00
parent e267addb5b
commit 6a17df69dd

View File

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