PR#3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
				.LIST OFF
*--------------------------------------
S.BrkHandlerAuxLC
				bra *
*--------------------------------------
* 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
*--------------------------------------
K.IrqHandlerAuxLC
				sta K.IrqMgr.A
				pla
				pha
				and #$10				BRK?
				beq .10
				
				bne *
				
				lda K.IrqMgr.A
.82				jmp (K.IrqMgrOldFFFE)
				
.10				stx	K.IrqMgr.X
				sty K.IrqMgr.Y
				lda $fe
				pha
				lda $ff
				pha
				lda RDREADAUX
				pha
				sta CLRREADAUX			Make sure we can access DevMgr.Table
				
				>LDYAI DevMgr.Table
				>STYA $fe
				
.1				lda ($fe)				End Of Table ?
				sec
				beq .8
				
				ldy #S.DEV.F
				lda ($fe),y
				and #S.DEV.F.IRQ
				beq .2

				jsr K.IrqHandlerJMP
				bcc .8					CC, IRQ cleared by device
				
.2				lda $fe					CS,
				adc #S.DEV-1
				sta $fe
				bcc .1
				inc $ff
				bra .1
					
.8				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.IrqHandlerJMP	ldx #DEVMGR.IRQ
				jmp ($fe)				
*--------------------------------------
K.IrqMgrOldFFFE	.BS 2
K.IrqMgr.A		.BS 1
K.IrqMgr.X		.BS 1
K.IrqMgr.Y		.BS 1
*--------------------------------------
MAN
SAVE SYS/KERNEL.S.IRQ
LOAD SYS/KERNEL.S
ASM
