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

View File

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

View File

@ -119,6 +119,7 @@ WND.Create ldy WND.Stack.Top
>PULLA
ldy #S.OBJ.X1
and PREFS.BESTVIEWEDX
sta (ZPPtr1),y
>PULLA
iny
@ -205,11 +206,6 @@ WND.Show >SYSCALL2 GetMemPtr
and #S.WND.F.RESIZE+S.WND.F.BORDER
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
.1 ldy #S.WND.TITLE+1
@ -260,53 +256,61 @@ WND.PaintBorders
jsr WND.PaintBorders.H
ldy #S.OBJ.X1
jsr WND.PaintPushWYm1
.1 lda (ZPPtr1),y
jsr PutCBBuf
iny
cpy #S.OBJ.Y2+2
bne .1
ldy #S.OBJ.Y1
jsr WND.PaintPushWYm1
ldy #S.OBJ.X2
jsr WND.PaintPushWYp1
ldy #S.OBJ.Y1
jsr WND.PaintPushWYm1
lda #S.CB.CMD.VLINE LEFT
jsr WND.PaintBorders.H
ldy #S.OBJ.X1
jsr WND.PaintPushWYm1
.2 lda (ZPPtr1),y
jsr PutCBBuf
iny
cpy #S.OBJ.Y2+2
bne .2
ldy #S.OBJ.Y1
jsr WND.PaintPushWYm1
ldy #S.OBJ.X1
jsr WND.PaintPushWYm1
ldy #S.OBJ.Y2
jsr WND.PaintPushWYp1
lda #S.CB.CMD.VLINE RIGHT
jsr WND.PaintBorders.H
ldy #S.OBJ.X2
jsr WND.PaintPushWY
jsr WND.PaintPushWYp1
ldy #S.OBJ.Y1
jsr WND.PaintPushWY
jsr WND.PaintPushWYm1
ldy #S.OBJ.X2
jsr WND.PaintPushWY
jsr WND.PaintPushWYp1
ldy #S.OBJ.Y2
jsr WND.PaintPushWY
jsr WND.PaintPushWYp1
lda #S.CB.CMD.HLINE BOTTOM
jsr WND.PaintBorders.H
ldy #S.OBJ.X1
jsr WND.PaintPushWY
jsr WND.PaintPushWYm1
ldy #S.OBJ.Y2
jsr WND.PaintPushWY
jsr WND.PaintPushWYp1
ldy #S.OBJ.X2
jsr WND.PaintPushWY
jsr WND.PaintPushWYp1
ldy #S.OBJ.Y2
jsr WND.PaintPushWY
jsr WND.PaintPushWYp1
rts
@ -319,10 +323,25 @@ WND.PaintBorders.H
lda PREFS.BORDERCOLOR
jmp PutCBBuf
WND.PaintPushWY lda (ZPPtr1),y
WND.PaintPushWYm1
lda (ZPPtr1),y
sec
sbc #1
jsr PutCBBuf
iny
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
rts
*--------------------------------------
@ -335,6 +354,37 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
lda PREFS.TOBARCOLOR
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
lda (ZPPtr1),y
tax
@ -351,16 +401,92 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
.2 sta ZPObjPtr
stx ZPObjPtr+1
lda #1
lda #0
ldx #0
jsr WND.PaintTopBarBMAtAX
* jsr WND.PaintTopBarTitle
* bcs .9
jsr WND.PaintTopBarTitle
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
*--------------------------------------
@ -387,10 +513,10 @@ WND.PaintTopBarBMAtAX
lda #0
jsr PutCBBuf
pla X1
pla S.CB.X1
jsr PutCBBufAX
ldy #S.OBJ.Y1
ldy #S.OBJ.Y1 S.CB.Y1
lda (ZPPtr1),y
clc
adc #1
@ -417,7 +543,7 @@ WND.PaintTopBarBMAtAX
ldy #S.BM.W
.1 lda (ZPObjPtr),y
.1 lda (ZPObjPtr),y S.CB.SrcW,S.CB.SrcH
jsr PutCBBuf
iny
dex
@ -436,46 +562,6 @@ WND.PaintTopBarBMAtAX
rts
*--------------------------------------
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
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
@ -497,21 +583,36 @@ WND.PaintTopBarTitle
jsr GFXWrite.CB
bcs .9
ldy #S.OBJ.X1
ldy #S.OBJ.W
lda (ZPPtr1),y
clc
adc #17
sta CB.Cache+S.CB.X1
sec
sbc CB.Cache+S.CB.SrcW
sta DX
iny
lda (ZPPtr1),y
adc #0
sta CB.Cache+S.CB.X1+1
ldy #S.OBJ.Y1
sbc CB.Cache+S.CB.SrcW+1
lsr
ror DX
sta DX+1
ldy #S.OBJ.X1
lda (ZPPtr1),y
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
iny
lda (ZPPtr1),y

View File

@ -171,9 +171,9 @@ L.WND.Desktop .DA WND.Desktop
L.WND.SysBar .DA WND.SysBar
*--------------------------------------
L.BM.Apple .DA BM.Apple
.DA BM.Close
.DA BM.Max
.DA BM.Min
L.BM.Close .DA BM.Close
L.BM.Max .DA BM.Max
L.BM.Min .DA BM.Min
*--------------------------------------
L.CUR.CB .DA CUR.CB
L.CUR.SaveBuf .DA CUR.SaveBuf
@ -438,6 +438,7 @@ MENU.Sys .DA #2 ID
.AZ "About..."
.DA #0
*--------------------------------------
PREFS.BESTVIEWEDX .DA #$FC
PREFS.BORDERCOLOR .DA #0 BLACK
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.Y1
>PUSHWI 240
>PUSHWI 280
>PUSHWI 90
>LIBCALL hLIBGUI,LIBGUI.WND.Create
bcs CS.QUIT.RTS