NEW AUTO 3,1 *-------------------------------------- MOU.Init .1 >PUSHBI 0 >LDYA L.DEVNAME.MOUSE >SYSCALL2 open bcc .2 inc DEVNAME.MOUSE+8 lda DEVNAME.MOUSE+8 cmp #'8' bne .1 rts .2 sta hDevMouse clc rts *-------------------------------------- MOU.Setup lda DCB.GFX+S.DCB.GFX.W+1 sta MouseClamp+3 lsr sta CUR.Pos+S.POINT.X+1 lda DCB.GFX+S.DCB.GFX.W sta MouseClamp+2 ror sta CUR.Pos+S.POINT.X lda DCB.GFX+S.DCB.GFX.H+1 sta MouseClamp+7 lsr sta CUR.Pos+S.POINT.Y+1 lda DCB.GFX+S.DCB.GFX.H sta MouseClamp+6 ror sta CUR.Pos+S.POINT.Y >PUSHW L.MouseClamp >PUSHBI IOCTL.CONTROL lda hDevMouse >SYSCALL2 IOCTL bcs .9 >LDYA L.CUR.SaveBuf >STYA CUR.CB+S.CB.DstPtr lda #CUR.T.ARROW jsr SetCursor jsr ShowCursor clc .9 rts *-------------------------------------- MOU.Quit lda hDevMouse beq .8 pha >PUSHBI IOCTL.CLOSE >PUSHWZ pla >SYSCALL2 IOCTL .8 clc rts *-------------------------------------- MOU.ReadMouse lda A2osX.ASCREEN GUI screen active ? cmp DCB.GFX+S.DCB.GFX.DEVID bne .9 no, exit.... lda hDevMouse beq .9 pha * >PUSHW ZPPtr1 >PUSHBI IOCTL.READ pla >SYSCALL2 IOCTL rts .9 sec >RET 2 Discard PTR *-------------------------------------- MAN SAVE USR/SRC/LIB/LIBGUI.S.MOU LOAD USR/SRC/LIB/LIBGUI.S ASM