;*-- 
;*-- 'input.device handler'.ASM  : HandlerIO()
;*--

IECLASS_RAWKEY			EQU	$01
IECLASS_RAWMOUSE		EQU	$02

         XREF _AppTime_task
         XREF _InputSigMask
         XDEF _HandlerIO
         XDEF _MouseOFF
         XDEF _MouseON
 
_HandlerIO
 
	move.l a0,-(sp)
 
Boucle
	move.b 4(a0),d1
	move.l _InputSigMask,d0
	cmp.b #IECLASS_RAWMOUSE,d1
	bne no_mouse
	bra envoie_signal
 
no_mouse
	cmp.b #IECLASS_RAWKEY,d1
	bne Asuivre
envoie_signal
 	move.l a0,-(sp)
 	move.l _AppTime_task,a1
	move.l $4,a6
 	jsr -324(a6)
 	move.l (sp)+,a0
Asuivre
	move.l (a0),d0
	move.l d0,a0
	bne Boucle
	move.l (sp)+,d0  
	rts

;*--
;*-- Glue for RawDoFmt()
;*--

                XDEF _Convertir

_Convertir:

        movem.l a1-a3,-(sp)
        move.l 16(a7),a3
        move.l 20(a7),a0
        move.l 24(a7),a1
        lea stocker(pc),a2
        movem.l a6,-(sp)
        move.l $4,a6
        jsr -522(a6) 
        movem.l (sp)+,a6
        movem.l (sp)+,a1-a3
       rts

stocker:
        move.b d0,(a3)+
        rts
        
_MouseOFF:
        move.w #$20,$dff096
        rts

_MouseON:
        move.w #$8000+$20,$dff096
        rts

        END
