Adjusted IRQ handler for new callirq semantics
git-svn-id: svn://svn.cc65.org/cc65/trunk@3498 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -353,7 +353,7 @@ IRQ: lda #$0F
|
||||
ldy #ACIA::STATUS
|
||||
lda (acia),y ; Check ACIA status for receive interrupt
|
||||
and #$08
|
||||
beq @L9 ; Jump if no ACIA interrupt
|
||||
beq @L10 ; Jump if no ACIA interrupt
|
||||
ldy #ACIA::DATA
|
||||
lda (acia),y ; Get byte from ACIA
|
||||
ldx RecvFreeCnt ; Check if we have free space left
|
||||
@@ -371,6 +371,7 @@ IRQ: lda #$0F
|
||||
ldy #ACIA::CMD
|
||||
sta (acia),y
|
||||
sta Stopped
|
||||
sec ; Interrupt handled
|
||||
|
||||
; Done, switch back to the execution segment
|
||||
|
||||
@@ -378,6 +379,13 @@ IRQ: lda #$0F
|
||||
sta IndReg
|
||||
rts
|
||||
|
||||
; No ACIA interrupt
|
||||
|
||||
@L10: clc ; Interrupt not handled
|
||||
lda ExecReg
|
||||
sta IndReg
|
||||
rts
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
; Try to send a byte. Internal routine. A = TryHard
|
||||
|
||||
|
||||
Reference in New Issue
Block a user