diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index c66aa721..3381b172 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/LIB/LIBGUI.S.CB.txt b/LIB/LIBGUI.S.CB.txt index ec5806da..7378bc7e 100644 --- a/LIB/LIBGUI.S.CB.txt +++ b/LIB/LIBGUI.S.CB.txt @@ -153,6 +153,10 @@ CB.FlushBufToYA jsr CLIP.GetRect .8 clc .9 rts *-------------------------------------- +CB.GFXWritePtr jsr PTR.Disable + jsr CB.GFXWrite + jmp PTR.Enable +*-------------------------------------- CB.GFXWrite >PUSHB WND.Screen+S.OBJ.hPARENT >PUSHBI IOCTL.WRITE >PUSHW L.CB.Cache diff --git a/LIB/LIBGUI.S.DRAW.txt b/LIB/LIBGUI.S.DRAW.txt index 6d5bdf43..4e411e02 100644 --- a/LIB/LIBGUI.S.DRAW.txt +++ b/LIB/LIBGUI.S.DRAW.txt @@ -54,7 +54,7 @@ DRAW.Line jsr DRAW.PullY2X2Y1X1 jsr CLIP.CB.Cache bcs .8 - jsr CB.GFXWrite + jmp CB.GFXWrite .8 clc rts @@ -67,6 +67,8 @@ DRAW.Line jsr DRAW.PullY2X2Y1X1 * jsr CLIP.Line * bcs .8 + jsr PTR.Disable + lda #S.CB.CMD.SETPIXEL sta CB.Cache+S.CB.CMD jsr CB.GFXWrite @@ -108,8 +110,7 @@ DRAW.Line.IncXY lda DX DX=DY jsr CB.GFXWrite bra .1 -.8 clc - rts +.8 jmp PTR.Enable *-------------------------------------- DRAW.Line.IncY lda DY eor #$ff @@ -185,8 +186,7 @@ DRAW.Line.IncY lda DY jsr CB.GFXWrite bra .1 -.8 clc - rts +.8 jmp PTR.Enable *-------------------------------------- DRAW.Line.IncX lda DX eor #$ff @@ -264,8 +264,7 @@ DRAW.Line.IncX lda DX .6 jsr CB.GFXWrite bra .1 -.8 clc - rts +.8 jmp PTR.Enable *-------------------------------------- * fill (short int hWND, short int OP, short int COLOR, int X1, int Y1, int X2, int Y2) *-------------------------------------- @@ -282,7 +281,7 @@ DRAW.Fill jsr DRAW.PullY2X2Y1X1 jsr CLIP.CB.Cache bcs .8 - jmp CB.GFXWrite + jmp CB.GFXWritePtr .8 clc rts @@ -304,7 +303,7 @@ DRAW.BitMap lda #S.CB.CMD.BITBLT jsr CLIP.CB.Cache bcs .8 - jmp CB.GFXWrite + jmp CB.GFXWritePtr .8 clc rts @@ -326,7 +325,7 @@ DRAW.Text lda #S.CB.CMD.DRAWTEXT2 jsr CLIP.CB.Cache bcs .8 - jmp CB.GFXWrite + jmp CB.GFXWritePtr .8 clc rts diff --git a/LIB/LIBGUI.S.MENU.txt b/LIB/LIBGUI.S.MENU.txt index d854c549..37eabc5a 100644 --- a/LIB/LIBGUI.S.MENU.txt +++ b/LIB/LIBGUI.S.MENU.txt @@ -912,12 +912,9 @@ MENU.Destroy clc php - bit PTR.bVisible - bpl .1 - jsr PTR.Disable -.1 lda #S.CB.CMD.BITBLT + lda #S.CB.CMD.BITBLT jsr CB.InitCacheA lda #S.CB.OP.RESTORE diff --git a/LIB/LIBGUI.S.PTR.txt b/LIB/LIBGUI.S.PTR.txt index 76e3d909..6c74a6c4 100644 --- a/LIB/LIBGUI.S.PTR.txt +++ b/LIB/LIBGUI.S.PTR.txt @@ -16,12 +16,9 @@ PTR.Update lda PTR.T *-------------------------------------- PTR.Set sta PTR.T - lda PTR.bVisible - bpl .1 + jsr PTR.Disable - jsr PTR.Hide.I - -.1 ldx PTR.T + ldx PTR.T lda L.Cursors,x sta CB.PTR+S.CB.SrcPtr sta ZPPtr1 @@ -73,8 +70,7 @@ PTR.Set sta PTR.T sta CB.PTR+S.CB.Y2 stx CB.PTR+S.CB.Y2+1 - lda PTR.bVisible - bmi PTR.Show.I + bra PTR.Enable PTR.Set.RTS rts *-------------------------------------- @@ -92,18 +88,6 @@ PTR.SetPos >PULLW ZPPtr1 sta PTR.Pos,y dey bpl .2 - - lda PTR.bVisible - bmi PTR.Show.I - - clc - rts -*-------------------------------------- -PTR.Disable bit PTR.bVisible - bmi PTR.Hide.I - - clc - rts *-------------------------------------- PTR.Enable bit PTR.bVisible bmi PTR.Show.I @@ -111,29 +95,25 @@ PTR.Enable bit PTR.bVisible clc rts *-------------------------------------- -PTR.Hide lda PTR.bVisible - bpl .8 - - stz PTR.bVisible - - bra PTR.Hide.I +PTR.Disable bit PTR.bVisible + bmi PTR.Hide.I -.8 clc +PTR.Disable.8 clc rts *-------------------------------------- -PTR.Show lda PTR.bVisible - bmi .8 +PTR.Hide lda PTR.bVisible + bpl PTR.Disable.8 - dec PTR.bVisible - - bra PTR.Show.I - -.8 clc - rts + stz PTR.bVisible *-------------------------------------- PTR.Hide.I lda #S.CB.OP.RESTORE bra PTR.Draw.I *-------------------------------------- +PTR.Show lda PTR.bVisible + bmi PTR.Disable.8 + + dec PTR.bVisible +*-------------------------------------- PTR.Show.I ldx PTR.T lda PTR.Pos+S.POINT.X sec @@ -154,19 +134,22 @@ PTR.Show.I ldx PTR.T sta CB.PTR+S.CB.Y1+1 lda #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.SAVE - +*-------------------------------------- PTR.Draw.I sta CB.PTR+S.CB.OP >LDYA L.WND.Screen jsr CLIP.GetRect - >LDYA L.CB.PTR - jsr CB.GetInCache +* >LDYA L.CB.PTR +* jsr CB.GetInCache - jsr CLIP.CB.Cache - bcs .8 +* jsr CLIP.CB.Cache +* bcs .8 - jsr CB.GFXWrite + >PUSHB WND.Screen+S.OBJ.hPARENT + >PUSHBI IOCTL.WRITE + >PUSHW L.CB.PTR + >SYSCALL2 IOCTL .8 clc