2015-12-10 18:53:30 +00:00
|
|
|
|
PR#3
|
|
|
|
|
PREFIX /A2OSX.SRC
|
2017-02-07 07:27:27 +00:00
|
|
|
|
LOMEM $900
|
2015-12-10 18:53:30 +00:00
|
|
|
|
INC 1
|
|
|
|
|
AUTO 6
|
|
|
|
|
.LIST OFF
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* called directly by IRQ Vector $FFFE in AuxLC
|
|
|
|
|
* Must keep:
|
|
|
|
|
* A,X,Y
|
|
|
|
|
* SETREADAUX
|
|
|
|
|
* if we are here, Aux ZP/Stack already On
|
|
|
|
|
* Exit with RTI
|
|
|
|
|
* if A2osX Drivers cannot clear IRQ,
|
|
|
|
|
* must call regular System Handler
|
|
|
|
|
*--------------------------------------
|
2016-09-21 15:20:37 +00:00
|
|
|
|
K.IrqHandlerAuxLC
|
|
|
|
|
sta K.IrqMgr.A
|
2015-12-10 18:53:30 +00:00
|
|
|
|
pla
|
|
|
|
|
pha
|
|
|
|
|
and #$10 BRK?
|
|
|
|
|
beq .10
|
2016-10-12 06:28:57 +00:00
|
|
|
|
|
2016-09-21 15:20:37 +00:00
|
|
|
|
lda K.IrqMgr.A
|
|
|
|
|
.82 jmp (K.IrqMgrOldFFFE)
|
2015-12-10 18:53:30 +00:00
|
|
|
|
|
2016-09-21 15:20:37 +00:00
|
|
|
|
.10 stx K.IrqMgr.X
|
|
|
|
|
sty K.IrqMgr.Y
|
2015-12-10 18:53:30 +00:00
|
|
|
|
lda $fe
|
|
|
|
|
pha
|
|
|
|
|
lda $ff
|
|
|
|
|
pha
|
|
|
|
|
lda RDREADAUX
|
|
|
|
|
pha
|
|
|
|
|
sta CLRREADAUX Make sure we can access DevMgr.Table
|
|
|
|
|
|
2017-01-25 16:18:35 +00:00
|
|
|
|
jsr K.IrqHandler
|
|
|
|
|
|
|
|
|
|
pla Must keep Carry
|
|
|
|
|
bpl .81
|
|
|
|
|
sta SETREADAUX
|
|
|
|
|
.81 pla
|
|
|
|
|
sta $ff
|
|
|
|
|
pla
|
|
|
|
|
sta $fe
|
|
|
|
|
ldy K.IrqMgr.Y
|
|
|
|
|
ldx K.IrqMgr.X
|
|
|
|
|
lda K.IrqMgr.A
|
|
|
|
|
bcs .82
|
|
|
|
|
rti
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
K.IrqMgrOldFFFE .BS 2
|
|
|
|
|
K.IrqMgr.A .BS 1
|
|
|
|
|
K.IrqMgr.X .BS 1
|
|
|
|
|
K.IrqMgr.Y .BS 1
|
2017-02-06 17:04:03 +00:00
|
|
|
|
K.IrkMgr.VBL .BS 1
|
|
|
|
|
K.IrkMgr.VBLINT .BS 1
|
2017-01-25 16:18:35 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
* Called by ProDOS IRQ Manager (GP)
|
|
|
|
|
*--------------------------------------
|
2017-02-06 17:04:03 +00:00
|
|
|
|
K.IrqHandler lda K.IrkMgr.VBL
|
2017-02-07 07:27:27 +00:00
|
|
|
|
beq .10 0, totally disabled....
|
2015-12-10 18:53:30 +00:00
|
|
|
|
|
2017-02-07 07:27:27 +00:00
|
|
|
|
jsr K.IrqMgrVBL.MSM SERVEMOUSE
|
2017-02-06 17:04:03 +00:00
|
|
|
|
bcs .10 Not From Mouse VBL
|
|
|
|
|
|
2017-02-07 07:27:27 +00:00
|
|
|
|
ldx K.IrqMgrVBL.MRM+2 $Cn
|
|
|
|
|
ldy K.IrqMgrVBL.n0
|
|
|
|
|
jsr K.IrqMgrVBL.MRM READMOUSE
|
|
|
|
|
|
2017-02-06 17:04:03 +00:00
|
|
|
|
inc K.IrkMgr.VBLINT
|
2017-02-07 07:27:27 +00:00
|
|
|
|
|
2017-02-08 16:42:32 +00:00
|
|
|
|
lda #$80
|
2017-02-07 07:27:27 +00:00
|
|
|
|
sta K.IrkMgr.VBL Confirm VBL signal valid for EvtMgr
|
|
|
|
|
|
2017-02-06 17:04:03 +00:00
|
|
|
|
clc
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
.10 >LDYAI DevMgr.Table
|
|
|
|
|
>STYA $fe
|
|
|
|
|
|
2017-01-25 16:18:35 +00:00
|
|
|
|
ldx DevMgr.Count
|
|
|
|
|
|
2017-02-02 17:30:07 +00:00
|
|
|
|
.1 ldy #S.DEV.S
|
2015-12-10 18:53:30 +00:00
|
|
|
|
lda ($fe),y
|
2017-02-02 17:30:07 +00:00
|
|
|
|
and #S.DEV.S.IRQ
|
2015-12-10 18:53:30 +00:00
|
|
|
|
beq .2
|
2017-02-02 17:30:07 +00:00
|
|
|
|
|
2017-01-25 16:18:35 +00:00
|
|
|
|
phx
|
2016-09-21 15:20:37 +00:00
|
|
|
|
jsr K.IrqHandlerJMP
|
2017-01-25 16:18:35 +00:00
|
|
|
|
plx
|
2015-12-10 18:53:30 +00:00
|
|
|
|
bcc .8 CC, IRQ cleared by device
|
|
|
|
|
|
2017-02-02 17:30:07 +00:00
|
|
|
|
.2 lda $fe
|
|
|
|
|
clc
|
|
|
|
|
adc #S.DEV
|
2015-12-10 18:53:30 +00:00
|
|
|
|
sta $fe
|
2017-01-25 16:18:35 +00:00
|
|
|
|
bcc .3
|
2015-12-10 18:53:30 +00:00
|
|
|
|
inc $ff
|
2017-02-02 17:30:07 +00:00
|
|
|
|
|
2017-01-25 16:18:35 +00:00
|
|
|
|
.3 dex
|
|
|
|
|
bne .1
|
|
|
|
|
|
|
|
|
|
sec
|
|
|
|
|
|
|
|
|
|
.8 rts
|
|
|
|
|
*--------------------------------------
|
2017-02-07 07:27:27 +00:00
|
|
|
|
K.IrqMgrVBL.n0 .BS 1
|
|
|
|
|
K.IrqMgrVBL.MSM jmp $0000
|
|
|
|
|
K.IrqMgrVBL.MRM jmp $0000
|
2017-02-06 17:04:03 +00:00
|
|
|
|
*--------------------------------------
|
2017-02-02 17:30:07 +00:00
|
|
|
|
K.IrqHandlerJMP lda ($fe)
|
|
|
|
|
sta .1+1
|
|
|
|
|
ldy #1
|
|
|
|
|
lda ($fe),y
|
|
|
|
|
sta .1+2
|
|
|
|
|
ldx #DEVMGR.IRQ
|
|
|
|
|
.1 jmp $ffff
|
2015-12-10 18:53:30 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
MAN
|
|
|
|
|
SAVE SYS/KERNEL.S.IRQ
|
|
|
|
|
LOAD SYS/KERNEL.S
|
|
|
|
|
ASM
|