diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 8530e8f4..41ac2405 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/DRV/DHGR.DRV.S.txt b/DRV/DHGR.DRV.S.txt index 93be26cf..c4c77b95 100644 --- a/DRV/DHGR.DRV.S.txt +++ b/DRV/DHGR.DRV.S.txt @@ -274,7 +274,7 @@ OPEN ldx #0 DEV.ID in A dey bne .2 *-------------------------------------- -CONTROL lda DCB+S.DCB.GFX.DEVID +CONTROL lda DCB+S.DCB.GFX.DEVID NON STANDARD cmp A2osX.ASCREEN beq .8 diff --git a/INC/LIBGUI.I.txt b/INC/LIBGUI.I.txt index d947227f..856b8535 100644 --- a/INC/LIBGUI.I.txt +++ b/INC/LIBGUI.I.txt @@ -4,14 +4,14 @@ AUTO 4,1 .LIST OFF .OP 65C02 *-------------------------------------- -LIBGUI.Draw .EQ 8 -LIBGUI.SetCursor .EQ 10 -LIBGUI.SetCursorPos .EQ 12 -LIBGUI.HideCursor .EQ 14 -LIBGUI.ShowCursor .EQ 16 -LIBGUI.UpdateCursor .EQ 18 -LIBGUI.ReadMouse .EQ 20 -LIBGUI.GetScreenGC .EQ 22 +LIBGUI.Draw .EQ 4 +LIBGUI.SetCursor .EQ 6 +LIBGUI.SetCursorPos .EQ 8 +LIBGUI.HideCursor .EQ 10 +LIBGUI.ShowCursor .EQ 12 +LIBGUI.UpdateCursor .EQ 14 +LIBGUI.ReadMouse .EQ 16 +LIBGUI.GetScreenGC .EQ 18 *-------------------------------------- MAN SAVE /A2OSX.BUILD/INC/LIBGUI.I diff --git a/LIB/LIBGUI.S.MOU.txt b/LIB/LIBGUI.S.MOU.txt index edf27271..79d849fa 100644 --- a/LIB/LIBGUI.S.MOU.txt +++ b/LIB/LIBGUI.S.MOU.txt @@ -2,7 +2,7 @@ NEW PREFIX AUTO 4,1 *-------------------------------------- -MOU.Init >DEBUG +MOU.Init .1 >PUSHBI 0 >LDYA L.DEVNAME.MOUSE >SYSCALL open @@ -13,27 +13,28 @@ MOU.Init >DEBUG cmp #'8' bne .1 - clc rts .2 sta hDevMouse - - lda GC.Screen+S.GC.X2+1 + clc + rts +*-------------------------------------- +MOU.Setup lda DCB.GFX+S.DCB.GFX.W+1 sta MouseClamp+3 lsr sta CUR.Pos+S.POINT.X+1 - lda GC.Screen+S.GC.X2 + lda DCB.GFX+S.DCB.GFX.W sta MouseClamp+2 ror sta CUR.Pos+S.POINT.X - lda GC.Screen+S.GC.Y2+1 + lda DCB.GFX+S.DCB.GFX.H+1 sta MouseClamp+7 lsr sta CUR.Pos+S.POINT.Y+1 - lda GC.Screen+S.GC.Y2 + lda DCB.GFX+S.DCB.GFX.H sta MouseClamp+6 ror sta CUR.Pos+S.POINT.Y @@ -42,6 +43,7 @@ MOU.Init >DEBUG >PUSHBI IOCTL.CONTROL lda hDevMouse >SYSCALL IOCTL + bcs .9 >LDYA L.CUR.SaveBuf >STYA CUR.CB+S.CB.DstPtr diff --git a/LIB/LIBGUI.S.WND.txt b/LIB/LIBGUI.S.WND.txt index 8dc66ac2..ed999ed7 100644 --- a/LIB/LIBGUI.S.WND.txt +++ b/LIB/LIBGUI.S.WND.txt @@ -24,7 +24,7 @@ WND.Init >PUSHBI 0 adc #6 sta WND.TB.H - lda DCB.GFX+S.DCB.GFX.H + lda DCB.GFX+S.DCB.GFX.H sec sbc SYSFON.H sta WND.Cache+S.OBJ.H @@ -60,6 +60,8 @@ WND.Quit lda hDevGFX rts *-------------------------------------- WND.New >STYA ZPPtr1 + + >LDYAI S.WND >SYSCALL getmem bcs .9 diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index 46d2550a..bcbbe508 100644 --- a/LIB/LIBGUI.S.txt +++ b/LIB/LIBGUI.S.txt @@ -73,6 +73,7 @@ CS.START cld .DA HideCursor .DA ShowCursor .DA UpdateCursor + .DA MOU.Read .DA GetScreenGC J.Cmds .DA DrawLine .DA DrawText @@ -116,12 +117,20 @@ LIB.LOAD lda LibCount jsr FON.Init bcs .9 - jsr WND.Init - bcs .9 + jsr MOU.Init bcs .9 + + jsr WND.Init + bcs .9 + + lda hDevMouse + beq .8 + + jsr MOU.Setup .8 inc LibCount + clc .9 rts *-------------------------------------- @@ -161,8 +170,11 @@ GetScreenGC >LDYA L.GC.Screen rts *-------------------------------------- GoDevGfx >LDYA L.CB.Cache - ldx #IOCTL.WRITE -GoDevGfx.Jmp jmp $ffff + + >PUSHBI IOCTL.WRITE + lda hDevMouse + >SYSCALL IOCTL + rts *-------------------------------------- .INB USR/SRC/LIB/LIBGUI.S.BM .INB USR/SRC/LIB/LIBGUI.S.BUT diff --git a/SBIN/GUI.S.txt b/SBIN/GUI.S.txt index 1efe21a9..b077ed71 100644 --- a/SBIN/GUI.S.txt +++ b/SBIN/GUI.S.txt @@ -53,10 +53,7 @@ CS.INIT >LDYA L.LIBGUI clc CS.INIT.RTS rts *-------------------------------------- -CS.RUN clc - rts - - lda A2osX.ASCREEN GUI screen active ? +CS.RUN lda A2osX.ASCREEN GUI screen active ? cmp #3 bne .8 no, exit....