Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-09-14 16:31:41 +02:00
parent 7a6aa87326
commit 26992ba1a4
6 changed files with 250 additions and 119 deletions

Binary file not shown.

View File

@ -6,6 +6,7 @@ BM.Apple .DA #S.BM.F.BBP4
.DA 16 W .DA 16 W
.DA 7 H .DA 7 H
.DA BM.Apple.AND-BM.Apple .DA BM.Apple.AND-BM.Apple
.HS 0006 green (8) .HS 0006 green (8)
.HS 6006 green (8) .HS 6006 green (8)
.HS EEEE yellow (15) .HS EEEE yellow (15)
@ -13,6 +14,7 @@ BM.Apple .DA #S.BM.F.BBP4
.HS 8808 magenta (10) .HS 8808 magenta (10)
.HS 9999 violet (11) .HS 9999 violet (11)
.HS 1001 Dark blue (4) .HS 1001 Dark blue (4)
BM.Apple.AND .HS FFF0 BM.Apple.AND .HS FFF0
.HS 0FF0 .HS 0FF0
.HS 0000 .HS 0000
@ -21,44 +23,71 @@ BM.Apple.AND .HS FFF0
.HS 0000 .HS 0000
.HS 0FF0 .HS 0FF0
*-------------------------------------- *--------------------------------------
BM.Close .DA #S.BM.F.BBP1 BM.Close .DA #S.BM.F.BBP4
.DA #1 RowBytes .DA #2 RowBytes
.DA 7 W .DA 12 W
.DA 7 Y .DA 7 Y
.DA 0 no MASK.OFS .DA BM.Close.AND-BM.Close
.DA #%01000000
.DA #%01000000 .HS 0000
.DA #%01010100 .HS 0000
.DA #%01001000 .HS E000
.DA #%01010100 .HS EE0E
.DA #%01000000 .HS E000
.DA #%01000000 .HS 0000
.HS 0000
BM.Close.AND .HS FF0F
.HS 0F0F
.HS 0000
.HS 0000
.HS 0000
.HS 0F0F
.HS FF0F
*-------------------------------------- *--------------------------------------
BM.Max .DA #S.BM.F.BBP1 BM.Max .DA #S.BM.F.BBP4
.DA #1 RowBytes .DA #2 RowBytes
.DA 7 W .DA 12 W
.DA 7 Y .DA 7 Y
.DA 0 no MASK.OFS .DA BM.Max.AND-BM.Max
.DA #%01000000
.DA #%01011110 .HS 0000
.DA #%01011110 .HS 0000
.DA #%01010010 .HS FF0F
.DA #%01010010 .HS 0F0F
.DA #%01011110 .HS FF0F
.DA #%01000000 .HS F50F
.HS 0000
BM.Max.AND .HS FF0F
.HS 0000
.HS 0000
.HS 0000
.HS 0000
.HS 0000
.HS FF0F
*-------------------------------------- *--------------------------------------
BM.Min .DA #S.BM.F.BBP1 BM.Min .DA #S.BM.F.BBP4
.DA #1 RowBytes .DA #2 RowBytes
.DA 7 W .DA 12 W
.DA 7 Y .DA 7 Y
.DA 0 no MASK.OFS .DA BM.Min.AND-BM.Min
.DA #%01000000
.DA #%01000000 .HS 0000
.DA #%01000000 .HS 5505
.DA #%01000000 .HS AA0A
.DA #%01000000 .HS 5505
.DA #%01011110 .HS AA0A
.DA #%01000000 .HS F50F
.HS 0000
BM.Min.AND .HS FF0F
.HS 0000
.HS 0000
.HS 0000
.HS 0000
.HS 0000
.HS FF0F
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE usr/src/lib/libgui.g.bm SAVE usr/src/lib/libgui.g.bm

View File

@ -12,8 +12,8 @@ DrawToYA jsr OBJ.Get
>LDYA ZPCBPtr >LDYA ZPCBPtr
jsr CB.Get jsr CB.Get
* jsr CLIP.CB.Cache jsr CLIP.CB.Cache
* bcs .7 bcs .7
ldx CB.Cache+S.CB.CMD ldx CB.Cache+S.CB.CMD
cpx #S.CB.CMD.DRAWLINE cpx #S.CB.CMD.DRAWLINE

View File

@ -119,6 +119,7 @@ WND.Create ldy WND.Stack.Top
>PULLA >PULLA
ldy #S.OBJ.X1 ldy #S.OBJ.X1
and PREFS.BESTVIEWEDX
sta (ZPPtr1),y sta (ZPPtr1),y
>PULLA >PULLA
iny iny
@ -205,11 +206,6 @@ WND.Show >SYSCALL2 GetMemPtr
and #S.WND.F.RESIZE+S.WND.F.BORDER and #S.WND.F.RESIZE+S.WND.F.BORDER
beq .1 beq .1
inc Counter 1 pixel L
inc Counter 1 pixel R
inc Counter+1 1 top
inc Counter+1 1 bottom
jsr WND.PaintBorders jsr WND.PaintBorders
.1 ldy #S.WND.TITLE+1 .1 ldy #S.WND.TITLE+1
@ -260,53 +256,61 @@ WND.PaintBorders
jsr WND.PaintBorders.H jsr WND.PaintBorders.H
ldy #S.OBJ.X1 ldy #S.OBJ.X1
jsr WND.PaintPushWYm1
.1 lda (ZPPtr1),y ldy #S.OBJ.Y1
jsr PutCBBuf jsr WND.PaintPushWYm1
iny
cpy #S.OBJ.Y2+2 ldy #S.OBJ.X2
bne .1 jsr WND.PaintPushWYp1
ldy #S.OBJ.Y1
jsr WND.PaintPushWYm1
lda #S.CB.CMD.VLINE LEFT lda #S.CB.CMD.VLINE LEFT
jsr WND.PaintBorders.H jsr WND.PaintBorders.H
ldy #S.OBJ.X1 ldy #S.OBJ.X1
jsr WND.PaintPushWYm1
.2 lda (ZPPtr1),y ldy #S.OBJ.Y1
jsr PutCBBuf jsr WND.PaintPushWYm1
iny
cpy #S.OBJ.Y2+2 ldy #S.OBJ.X1
bne .2 jsr WND.PaintPushWYm1
ldy #S.OBJ.Y2
jsr WND.PaintPushWYp1
lda #S.CB.CMD.VLINE RIGHT lda #S.CB.CMD.VLINE RIGHT
jsr WND.PaintBorders.H jsr WND.PaintBorders.H
ldy #S.OBJ.X2 ldy #S.OBJ.X2
jsr WND.PaintPushWY jsr WND.PaintPushWYp1
ldy #S.OBJ.Y1 ldy #S.OBJ.Y1
jsr WND.PaintPushWY jsr WND.PaintPushWYm1
ldy #S.OBJ.X2 ldy #S.OBJ.X2
jsr WND.PaintPushWY jsr WND.PaintPushWYp1
ldy #S.OBJ.Y2 ldy #S.OBJ.Y2
jsr WND.PaintPushWY jsr WND.PaintPushWYp1
lda #S.CB.CMD.HLINE BOTTOM lda #S.CB.CMD.HLINE BOTTOM
jsr WND.PaintBorders.H jsr WND.PaintBorders.H
ldy #S.OBJ.X1 ldy #S.OBJ.X1
jsr WND.PaintPushWY jsr WND.PaintPushWYm1
ldy #S.OBJ.Y2 ldy #S.OBJ.Y2
jsr WND.PaintPushWY jsr WND.PaintPushWYp1
ldy #S.OBJ.X2 ldy #S.OBJ.X2
jsr WND.PaintPushWY jsr WND.PaintPushWYp1
ldy #S.OBJ.Y2 ldy #S.OBJ.Y2
jsr WND.PaintPushWY jsr WND.PaintPushWYp1
rts rts
@ -319,10 +323,25 @@ WND.PaintBorders.H
lda PREFS.BORDERCOLOR lda PREFS.BORDERCOLOR
jmp PutCBBuf jmp PutCBBuf
WND.PaintPushWY lda (ZPPtr1),y WND.PaintPushWYm1
lda (ZPPtr1),y
sec
sbc #1
jsr PutCBBuf jsr PutCBBuf
iny iny
lda (ZPPtr1),y lda (ZPPtr1),y
sbc #0
jsr PutCBBuf
rts
WND.PaintPushWYp1
lda (ZPPtr1),y
clc
adc #1
jsr PutCBBuf
iny
adc #0
lda (ZPPtr1),y
jsr PutCBBuf jsr PutCBBuf
rts rts
*-------------------------------------- *--------------------------------------
@ -335,6 +354,37 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
lda PREFS.TOBARCOLOR lda PREFS.TOBARCOLOR
jsr PutCBBuf jsr PutCBBuf
ldy #S.OBJ.X1
lda (ZPPtr1),y
jsr PutCBBuf
iny
lda (ZPPtr1),y
jsr PutCBBuf
iny ldy #S.OBJ.Y1
lda (ZPPtr1),y
jsr PutCBBuf
iny
lda (ZPPtr1),y
jsr PutCBBuf
iny ldy #S.OBJ.X2
lda (ZPPtr1),y
jsr PutCBBuf
iny
lda (ZPPtr1),y
jsr PutCBBuf
ldy #S.OBJ.Y1
lda (ZPPtr1),y
sec
adc SYSFON.H
jsr PutCBBuf
iny
lda (ZPPtr1),y
adc #0
jsr PutCBBuf
* TOP LEFT ICON
ldy #S.WND.ICON+1 ldy #S.WND.ICON+1
lda (ZPPtr1),y lda (ZPPtr1),y
tax tax
@ -351,16 +401,92 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
.2 sta ZPObjPtr .2 sta ZPObjPtr
stx ZPObjPtr+1 stx ZPObjPtr+1
lda #1 lda #0
ldx #0 ldx #0
jsr WND.PaintTopBarBMAtAX jsr WND.PaintTopBarBMAtAX
* jsr WND.PaintTopBarTitle jsr WND.PaintTopBarTitle
* bcs .9 bcs .9
* TOP RIGHT ICONS
ldy #S.OBJ.F
lda (ZPPtr1),y
bit #S.WND.F.CLOSE
beq .3
pha
lda L.BM.Close
ldx L.BM.Close+1
sta ZPObjPtr
stx ZPObjPtr+1
ldy #S.OBJ.W
lda (ZPPtr1),y
sec
sbc #16
pha
iny
lda (ZPPtr1),y
sbc #0
tax
pla
jsr WND.PaintTopBarBMAtAX
pla
.3 bit #S.WND.F.MIN
beq .4
pha
lda L.BM.Min
ldx L.BM.Min+1
sta ZPObjPtr
stx ZPObjPtr+1
ldy #S.OBJ.W
lda (ZPPtr1),y
sec
sbc #32
pha
iny
lda (ZPPtr1),y
sbc #0
tax
pla
jsr WND.PaintTopBarBMAtAX
pla
.4 bit #S.WND.F.MAX
beq .8
lda L.BM.Max
ldx L.BM.Max+1
sta ZPObjPtr
stx ZPObjPtr+1
ldy #S.OBJ.W
lda (ZPPtr1),y
sec
sbc #48
pha
iny
lda (ZPPtr1),y
sbc #0
tax
pla
jsr WND.PaintTopBarBMAtAX
clc .8 clc
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
@ -387,10 +513,10 @@ WND.PaintTopBarBMAtAX
lda #0 lda #0
jsr PutCBBuf jsr PutCBBuf
pla X1 pla S.CB.X1
jsr PutCBBufAX jsr PutCBBufAX
ldy #S.OBJ.Y1 ldy #S.OBJ.Y1 S.CB.Y1
lda (ZPPtr1),y lda (ZPPtr1),y
clc clc
adc #1 adc #1
@ -417,7 +543,7 @@ WND.PaintTopBarBMAtAX
ldy #S.BM.W ldy #S.BM.W
.1 lda (ZPObjPtr),y .1 lda (ZPObjPtr),y S.CB.SrcW,S.CB.SrcH
jsr PutCBBuf jsr PutCBBuf
iny iny
dex dex
@ -436,46 +562,6 @@ WND.PaintTopBarBMAtAX
rts rts
*-------------------------------------- *--------------------------------------
WND.PaintTopBarTitle WND.PaintTopBarTitle
ldy #S.OBJ.X1
lda (ZPPtr1),y
clc
adc #1
jsr PutCBBuf
iny
lda (ZPPtr1),y
adc #0
jsr PutCBBuf
iny ldy #S.OBJ.Y1
lda (ZPPtr1),y
clc
adc #1
jsr PutCBBuf
iny
lda (ZPPtr1),y
adc #0
jsr PutCBBuf
iny ldy #S.OBJ.X2
lda (ZPPtr1),y
sec
sbc #1
jsr PutCBBuf
iny
lda (ZPPtr1),y
sbc #0
jsr PutCBBuf
ldy #S.OBJ.Y1
lda (ZPPtr1),y
clc
adc SYSFON.H2
jsr PutCBBuf
iny
lda (ZPPtr1),y
adc #0
jsr PutCBBuf
jsr CB.Clear jsr CB.Clear
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
@ -497,21 +583,36 @@ WND.PaintTopBarTitle
jsr GFXWrite.CB jsr GFXWrite.CB
bcs .9 bcs .9
ldy #S.OBJ.X1 ldy #S.OBJ.W
lda (ZPPtr1),y lda (ZPPtr1),y
clc sec
adc #17 sbc CB.Cache+S.CB.SrcW
sta CB.Cache+S.CB.X1
sta DX
iny iny
lda (ZPPtr1),y lda (ZPPtr1),y
adc #0 sbc CB.Cache+S.CB.SrcW+1
sta CB.Cache+S.CB.X1+1
ldy #S.OBJ.Y1
lsr
ror DX
sta DX+1
ldy #S.OBJ.X1
lda (ZPPtr1),y lda (ZPPtr1),y
clc clc
adc #2 adc DX
sta CB.Cache+S.CB.X1
iny
lda (ZPPtr1),y
adc DX+1
sta CB.Cache+S.CB.X1+1
ldy #S.OBJ.Y1
lda (ZPPtr1),y
clc
adc #1
sta CB.Cache+S.CB.Y1 sta CB.Cache+S.CB.Y1
iny iny
lda (ZPPtr1),y lda (ZPPtr1),y

View File

@ -171,9 +171,9 @@ L.WND.Desktop .DA WND.Desktop
L.WND.SysBar .DA WND.SysBar L.WND.SysBar .DA WND.SysBar
*-------------------------------------- *--------------------------------------
L.BM.Apple .DA BM.Apple L.BM.Apple .DA BM.Apple
.DA BM.Close L.BM.Close .DA BM.Close
.DA BM.Max L.BM.Max .DA BM.Max
.DA BM.Min L.BM.Min .DA BM.Min
*-------------------------------------- *--------------------------------------
L.CUR.CB .DA CUR.CB L.CUR.CB .DA CUR.CB
L.CUR.SaveBuf .DA CUR.SaveBuf L.CUR.SaveBuf .DA CUR.SaveBuf
@ -438,6 +438,7 @@ MENU.Sys .DA #2 ID
.AZ "About..." .AZ "About..."
.DA #0 .DA #0
*-------------------------------------- *--------------------------------------
PREFS.BESTVIEWEDX .DA #$FC
PREFS.BORDERCOLOR .DA #0 BLACK PREFS.BORDERCOLOR .DA #0 BLACK
PREFS.TOBARCOLOR .DA #C16.D.BLUE PREFS.TOBARCOLOR .DA #C16.D.BLUE
*-------------------------------------- *--------------------------------------

View File

@ -115,7 +115,7 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
>PUSHW MouseData+S.MOUSE.X1 >PUSHW MouseData+S.MOUSE.X1
>PUSHW MouseData+S.MOUSE.Y1 >PUSHW MouseData+S.MOUSE.Y1
>PUSHWI 240 >PUSHWI 280
>PUSHWI 90 >PUSHWI 90
>LIBCALL hLIBGUI,LIBGUI.WND.Create >LIBCALL hLIBGUI,LIBGUI.WND.Create
bcs CS.QUIT.RTS bcs CS.QUIT.RTS