Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-10-06 17:23:40 +02:00
parent 2fc1034a9d
commit ad77a4f48b
7 changed files with 153 additions and 70 deletions

Binary file not shown.

View File

@ -142,8 +142,7 @@ DrawCursor.I sta CB.PTR+S.CB.OP
jsr CLIP.YA jsr CLIP.YA
bcs .9 bcs .9
>LDYA L.CB.PTR jmp GFXWrite.CB
jmp GFXWrite.YA
.9 rts .9 rts
*-------------------------------------- *--------------------------------------

View File

@ -348,6 +348,20 @@ DRAW.GetInnerW ldy #S.OBJ.X1
>LDYA L.OBJ.Cache >LDYA L.OBJ.Cache
jmp OBJ.SetX2Y2 jmp OBJ.SetX2Y2
*--------------------------------------
DrawCBPtrToYA1 pha
lda #0
sta (ZPCBBufPtr)
pla
jsr DrawCBPtrToYA
lda hCBBuf
>SYSCALL FreeMem
rts
*-------------------------------------- *--------------------------------------
DrawCBBufToYA ldx L.CB.Buf DrawCBBufToYA ldx L.CB.Buf
stx ZPCBPtr stx ZPCBPtr

View File

@ -86,66 +86,18 @@ MOU.ReadMouse >PULLW ZPPtr1
lda WND.SysBar+S.OBJ.Y1+1 lda WND.SysBar+S.OBJ.Y1+1
iny iny
sbc (ZPPtr1),y sbc (ZPPtr1),y
bcc .8 bcs .1
jmp SYSBAR.Enter jmp SYSBAR.Enter
.1 jmp SYSBAR.Leave
.8 clc .8 clc
rts rts
.9 sec .9 sec
.99 rts .99 rts
*-------------------------------------- *--------------------------------------
SYSBAR.Show jsr GetCBBuf
bcs .9
lda #S.CB.CMD.FILLRECT
jsr PutA2CBBuf
lda #S.CB.OP.SET
jsr PutA2CBBuf
lda #S.CB.M.MONO
jsr PutA2CBBuf
lda PREFS.SYSBARCOLOR
jsr PutA2CBBuf
lda #0 S.OBJ.X1
jsr PutA2CBBuf
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y1
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y1+1
jsr PutA2CBBuf
lda WND.SysBar.A2osX.X2
jsr PutA2CBBuf
lda WND.SysBar.A2osX.X2+1
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y2
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y2+1
jsr PutA2CBBuf
lda #0
jsr PutA2CBBuf
>LDYA L.WND.SysBar
jsr DrawCBPtrToYA
lda hCBBuf
>SYSCALL FreeMem
* clc
.9 rts
*--------------------------------------
SYSBAR.Enter clc
rts
*--------------------------------------
MAN MAN
SAVE usr/src/lib/libgui.s.mou SAVE usr/src/lib/libgui.s.mou
LOAD usr/src/lib/libgui.s LOAD usr/src/lib/libgui.s

122
LIB/LIBGUI.S.SYSBAR.txt Normal file
View File

@ -0,0 +1,122 @@
NEW
AUTO 3,1
*--------------------------------------
SYSBAR.Enter sec
ror WND.SYSBAR.bA2osX
jsr GetCBBuf
bcs .9
jsr SYSBAR.Show.A2osX
>LDYA L.WND.SysBar
jmp DrawCBPtrToYA1
.9 rts
*--------------------------------------
SYSBAR.Leave bit WND.SYSBAR.bA2osX
bpl .8
stz WND.SYSBAR.bA2osX
jsr GetCBBuf
bcs .9
jsr SYSBAR.Show.A2osX
>LDYA L.WND.SysBar
jmp DrawCBPtrToYA1
.8 clc
.9 rts
*--------------------------------------
SYSBAR.Show jsr GetCBBuf
bcs .9
jsr SYSBAR.Show.A2osX
jsr SYSBAR.Show.W
>LDYA L.WND.SysBar
jmp DrawCBPtrToYA1
.9 rts
*--------------------------------------
SYSBAR.Show.A2osX
lda #S.CB.CMD.FILLRECT
jsr PutA2CBBuf
lda #S.CB.OP.SET
jsr PutA2CBBuf
lda #S.CB.M.MONO
jsr PutA2CBBuf
lda PREFS.SYSBARCOLOR
bit WND.SysBar.bA2osX
bpl .1
eor #$ff
.1 jsr PutA2CBBuf
lda #0 X1
jsr PutA2CBBuf
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y1
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y1+1
jsr PutA2CBBuf
lda WND.SysBar.A2osX.X2
jsr PutA2CBBuf
lda WND.SysBar.A2osX.X2+1
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y2
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y2+1
jsr PutA2CBBuf
rts
*--------------------------------------
SYSBAR.Show.W lda #S.CB.CMD.FILLRECT
jsr PutA2CBBuf
lda #S.CB.OP.SET
jsr PutA2CBBuf
lda #S.CB.M.MONO
jsr PutA2CBBuf
lda PREFS.SYSBARCOLOR
jsr PutA2CBBuf
lda WND.SysBar.W.X1
jsr PutA2CBBuf
lda WND.SysBar.W.X1+1
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y1
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y1+1
jsr PutA2CBBuf
lda WND.SysBar.W.X2
jsr PutA2CBBuf
lda WND.SysBar.W.X2+1
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y2
jsr PutA2CBBuf
lda WND.SysBar+S.OBJ.Y2+1
jmp PutA2CBBuf
*--------------------------------------
MAN
SAVE usr/src/lib/libgui.s.sysbar
LOAD usr/src/lib/libgui.s
ASM

View File

@ -48,7 +48,10 @@ WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
jsr OBJ.SetX2Y2 jsr OBJ.SetX2Y2
lda #24 lda #24
sta WND.SysBar.A2osX.X2 sta WND.SysBar.W.X1
>LDYA L.WND.Screen+S.OBJ.X2
>STYA WND.SysBar.W.X2
lda #CUR.T.ARROW lda #CUR.T.ARROW
sta WND.Desktop+S.WND.hCUR sta WND.Desktop+S.WND.hCUR
@ -342,12 +345,7 @@ WND.Show >SYSCALL2 GetMemPtr
>LDYA L.WND.Desktop >LDYA L.WND.Desktop
jsr DrawCBPtrToYA jmp DrawCBPtrToYA1
lda hCBBuf
>SYSCALL FreeMem
* clc
.9 rts .9 rts
*-------------------------------------- *--------------------------------------

View File

@ -266,13 +266,9 @@ PutA2CBBuf sta (ZPCBBufPtr)
inc ZPCBBufPtr+1 inc ZPCBBufPtr+1
.8 rts .8 rts
*-------------------------------------- *--------------------------------------
GFXWrite.CB >LDYA L.CB.Cache GFXWrite.CB >PUSHB WND.Screen+S.OBJ.hPARENT
GFXWrite.YA pha
>PUSHB WND.Screen+S.OBJ.hPARENT
>PUSHBI IOCTL.WRITE >PUSHBI IOCTL.WRITE
pla >PUSHW L.CB.Cache
>PUSHYA
>SYSCALL2 IOCTL >SYSCALL2 IOCTL
rts rts
*-------------------------------------- *--------------------------------------
@ -348,6 +344,7 @@ OBJ.SetX2Y2 >STYA ZPPtr1
.INB usr/src/lib/libgui.s.menu .INB usr/src/lib/libgui.s.menu
.INB usr/src/lib/libgui.s.mou .INB usr/src/lib/libgui.s.mou
.INB usr/src/lib/libgui.s.pat .INB usr/src/lib/libgui.s.pat
.INB usr/src/lib/libgui.s.sysbar
.INB usr/src/lib/libgui.s.text .INB usr/src/lib/libgui.s.text
.INB usr/src/lib/libgui.s.wnd .INB usr/src/lib/libgui.s.wnd
*-------------------------------------- *--------------------------------------
@ -412,10 +409,11 @@ WND.Desktop .DA #S.OBJ.T.WND
*-------------------------------------- *--------------------------------------
WND.SysBar .DA #S.OBJ.T.WND WND.SysBar .DA #S.OBJ.T.WND
.BS S.WND-1 .BS S.WND-1
WND.SysBar.A2osX.X2 WND.SysBar.A2osX.X2 .EQ *
.BS 2 WND.SysBar.W.X1 .BS 2
WND.SysBar.Time.X1 WND.SysBar.W.X2 .EQ *
.BS 2 WND.SysBar.Time.X1 .BS 2
WND.SysBar.bA2osX .BS 1
*-------------------------------------- *--------------------------------------
BUT.Sys .DA #S.OBJ.T.BUT BUT.Sys .DA #S.OBJ.T.BUT
.DA #0 F .DA #0 F