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
bcs .9
>LDYA L.CB.PTR
jmp GFXWrite.YA
jmp GFXWrite.CB
.9 rts
*--------------------------------------

View File

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

View File

@ -86,66 +86,18 @@ MOU.ReadMouse >PULLW ZPPtr1
lda WND.SysBar+S.OBJ.Y1+1
iny
sbc (ZPPtr1),y
bcc .8
bcs .1
jmp SYSBAR.Enter
.1 jmp SYSBAR.Leave
.8 clc
rts
.9 sec
.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
SAVE usr/src/lib/libgui.s.mou
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
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
sta WND.Desktop+S.WND.hCUR
@ -342,12 +345,7 @@ WND.Show >SYSCALL2 GetMemPtr
>LDYA L.WND.Desktop
jsr DrawCBPtrToYA
lda hCBBuf
>SYSCALL FreeMem
* clc
jmp DrawCBPtrToYA1
.9 rts
*--------------------------------------

View File

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