mirror of https://github.com/A2osX/A2osX.git
Kernel 0.9.1 : GUI, Fonts, bugfix
This commit is contained in:
parent
6b13da95f2
commit
0f520c6024
Binary file not shown.
Binary file not shown.
BIN
.Fonts/SYSx7.fnt
BIN
.Fonts/SYSx7.fnt
Binary file not shown.
Binary file not shown.
|
@ -789,13 +789,14 @@ Decimal.Out stz ZPTmpWord
|
||||||
cld
|
cld
|
||||||
|
|
||||||
stz ZPTmpBool No leading 0
|
stz ZPTmpBool No leading 0
|
||||||
|
|
||||||
lda ZPTmpWord+1
|
lda ZPTmpWord+1
|
||||||
and #$0f
|
and #$0f
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
ora #$30
|
|
||||||
dec ZPTmpBool non zero, print everything
|
dec ZPTmpBool non zero, print everything
|
||||||
jsr Char.Out.Put
|
|
||||||
|
jsr Char.Out.Put30
|
||||||
|
|
||||||
.2 lda ZPTmpWord
|
.2 lda ZPTmpWord
|
||||||
lsr
|
lsr
|
||||||
|
@ -807,13 +808,12 @@ Decimal.Out stz ZPTmpWord
|
||||||
bit ZPTmpBool Print this digit ?
|
bit ZPTmpBool Print this digit ?
|
||||||
bpl .4
|
bpl .4
|
||||||
|
|
||||||
.3 ora #$30
|
.3 jsr Char.Out.Put30
|
||||||
jsr Char.Out.Put
|
|
||||||
|
|
||||||
.4 lda ZPTmpWord
|
.4 lda ZPTmpWord
|
||||||
and #$0f
|
and #$0f
|
||||||
ora #$30
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Char.Out.Put30 ora #$30
|
||||||
Char.Out.Put pha
|
Char.Out.Put pha
|
||||||
lda OutPtr
|
lda OutPtr
|
||||||
clc
|
clc
|
||||||
|
|
|
@ -40,6 +40,7 @@ L.Filename .DA Filename
|
||||||
L.MouseData .DA MouseData
|
L.MouseData .DA MouseData
|
||||||
L.CB.Paint .DA CB.Paint
|
L.CB.Paint .DA CB.Paint
|
||||||
L.BM.Apple .DA BM.Apple
|
L.BM.Apple .DA BM.Apple
|
||||||
|
L.TXT.SampleB .DA TXT.SampleB
|
||||||
L.TXT.Sample .DA TXT.Sample
|
L.TXT.Sample .DA TXT.Sample
|
||||||
L.TXT.A2osX .DA TXT.A2osX
|
L.TXT.A2osX .DA TXT.A2osX
|
||||||
L.CB.Marylin .DA CB.Marylin
|
L.CB.Marylin .DA CB.Marylin
|
||||||
|
@ -62,6 +63,7 @@ CS.INIT >LDYA L.LIBGUI
|
||||||
>SYSCALL LoadStkObj
|
>SYSCALL LoadStkObj
|
||||||
.98 bcs .99
|
.98 bcs .99
|
||||||
sta hSYSFON
|
sta hSYSFON
|
||||||
|
sta CB.DrawText+S.CB.hFont
|
||||||
sta CB.DrawA2osX+S.CB.hFont
|
sta CB.DrawA2osX+S.CB.hFont
|
||||||
|
|
||||||
>PUSHWI 0 Aux type
|
>PUSHWI 0 Aux type
|
||||||
|
@ -71,17 +73,19 @@ CS.INIT >LDYA L.LIBGUI
|
||||||
>SYSCALL LoadStkObj
|
>SYSCALL LoadStkObj
|
||||||
bcs .99
|
bcs .99
|
||||||
sta hSYSFONB
|
sta hSYSFONB
|
||||||
sta CB.DrawText+S.CB.hFont
|
sta CB.DrawTextB+S.CB.hFont
|
||||||
|
|
||||||
>PUSHWI 0 Aux type
|
>PUSHWI 0 Aux type
|
||||||
>PUSHBI $CB Type
|
>PUSHBI $CB Type
|
||||||
>PUSHBI SYS.FOpen.R
|
>PUSHBI SYS.FOpen.R
|
||||||
>PUSHW L.FILENAME
|
>PUSHW L.FILENAME
|
||||||
>SYSCALL LoadStkObj
|
>SYSCALL LoadStkObj
|
||||||
.99 bcs .9
|
.99 bcs CS.INIT.RTS
|
||||||
|
|
||||||
sta CB.Marylin+S.CB.SrcPtr
|
sta CB.Marylin+S.CB.SrcPtr
|
||||||
|
|
||||||
|
>LDYA L.TXT.SampleB
|
||||||
|
>STYA CB.DrawTextB+S.CB.TxtPtr
|
||||||
>LDYA L.TXT.Sample
|
>LDYA L.TXT.Sample
|
||||||
>STYA CB.DrawText+S.CB.TxtPtr
|
>STYA CB.DrawText+S.CB.TxtPtr
|
||||||
|
|
||||||
|
@ -104,7 +108,7 @@ CS.INIT >LDYA L.LIBGUI
|
||||||
sta (pPs)
|
sta (pPs)
|
||||||
|
|
||||||
clc
|
clc
|
||||||
.9 rts
|
CS.INIT.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN lda A2osX.ASCREEN GUI screen active ?
|
CS.RUN lda A2osX.ASCREEN GUI screen active ?
|
||||||
cmp #3
|
cmp #3
|
||||||
|
@ -216,16 +220,28 @@ CB.Paint .DA #S.CB.CMD.FILLRECT
|
||||||
.DA 519 X2
|
.DA 519 X2
|
||||||
.DA 171 Y2
|
.DA 171 Y2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CB.DrawText .DA #S.CB.CMD.DRAWTEXT
|
CB.DrawTextB .DA #S.CB.CMD.DRAWTEXT
|
||||||
.DA #S.CB.OP.SET OP
|
.DA #S.CB.OP.SET OP
|
||||||
.DA #S.CB.M.MONO M
|
.DA #0 M
|
||||||
.BS 1 hFont
|
.BS 1 hFont
|
||||||
.DA 0 X1
|
.DA 0 X1
|
||||||
.DA 0 Y1
|
.DA 0 Y1
|
||||||
.DA 0 SrcW
|
.DA 0 SrcW
|
||||||
.DA 0 SrcH
|
.DA 0 SrcH
|
||||||
.DA 4 DstX
|
.DA 4 DstX
|
||||||
.DA 7 DstY
|
.DA 2 DstY
|
||||||
|
.BS 2 TxtPtr
|
||||||
|
*--------------------------------------
|
||||||
|
CB.DrawText .DA #S.CB.CMD.DRAWTEXT
|
||||||
|
.DA #S.CB.OP.SET OP
|
||||||
|
.DA #0 M
|
||||||
|
.BS 1 hFont
|
||||||
|
.DA 0 X1
|
||||||
|
.DA 0 Y1
|
||||||
|
.DA 0 SrcW
|
||||||
|
.DA 0 SrcH
|
||||||
|
.DA 4 DstX
|
||||||
|
.DA 12 DstY
|
||||||
.BS 2 TxtPtr
|
.BS 2 TxtPtr
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CB.Apple .DA #S.CB.CMD.BITBLT
|
CB.Apple .DA #S.CB.CMD.BITBLT
|
||||||
|
@ -243,7 +259,7 @@ CB.Apple .DA #S.CB.CMD.BITBLT
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CB.DrawA2osX .DA #S.CB.CMD.DRAWTEXT
|
CB.DrawA2osX .DA #S.CB.CMD.DRAWTEXT
|
||||||
.DA #S.CB.OP.SET OP
|
.DA #S.CB.OP.SET OP
|
||||||
.DA #S.CB.M.MONO M
|
.DA #255 M
|
||||||
.BS 1 hFont
|
.BS 1 hFont
|
||||||
.DA 0 X1
|
.DA 0 X1
|
||||||
.DA 0 Y1
|
.DA 0 Y1
|
||||||
|
@ -269,8 +285,9 @@ BM.Apple .DA #S.BM.F.BBP4
|
||||||
.HS 9999 violet (11)
|
.HS 9999 violet (11)
|
||||||
.HS 1FF1 Dark blue (4)
|
.HS 1FF1 Dark blue (4)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TXT.Sample .AZ "@ This Is A Sample Text with SYSX7B.FON Height=7px, Variable Width {}[] #0123456789$ "
|
TXT.SampleB .AZ "A2osX: A Sample Text with SYSX7B.FON Height=7px, Variable Width {}[] #0123456789$ "
|
||||||
TXT.A2osX .AZ "A2osX"
|
TXT.Sample .AZ "XXXXXXXX: SYSX7.FON Height=7px, Variable Width @@ /\ () {}[] #0123456789$ "
|
||||||
|
TXT.A2osX .AZ "XXXXXXXXXXXXXXXXX"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CB.Marylin .DA #S.CB.CMD.BITBLT
|
CB.Marylin .DA #S.CB.CMD.BITBLT
|
||||||
.DA #S.CB.OP.SET
|
.DA #S.CB.OP.SET
|
||||||
|
|
|
@ -236,12 +236,9 @@ GETTEXTSIZE clc
|
||||||
lda CB.Cache+S.CB.SrcW
|
lda CB.Cache+S.CB.SrcW
|
||||||
ldx CB.Cache+S.CB.SrcW+1
|
ldx CB.Cache+S.CB.SrcW+1
|
||||||
ldy CB.Cache+S.CB.SrcH
|
ldy CB.Cache+S.CB.SrcH
|
||||||
|
bcc GETRECTBUFSIZE.RTS
|
||||||
bcs .5
|
|
||||||
rts
|
|
||||||
|
|
||||||
|
sta DstBM.Cache+S.BM.W
|
||||||
.5 sta DstBM.Cache+S.BM.W
|
|
||||||
stx DstBM.Cache+S.BM.W+1
|
stx DstBM.Cache+S.BM.W+1
|
||||||
sty DstBM.Cache+S.BM.H
|
sty DstBM.Cache+S.BM.H
|
||||||
stz DstBM.Cache+S.BM.H+1
|
stz DstBM.Cache+S.BM.H+1
|
||||||
|
@ -324,7 +321,8 @@ DRAWTEXT.SHIFT0 lda FON.Cache+S.FON.PixH
|
||||||
ldy GWORD get col index in BM
|
ldy GWORD get col index in BM
|
||||||
|
|
||||||
.7 jsr CHAR.GetNext
|
.7 jsr CHAR.GetNext
|
||||||
|
eor CB.Cache+S.CB.M
|
||||||
|
|
||||||
sta (ZPTmpPtr),y
|
sta (ZPTmpPtr),y
|
||||||
iny
|
iny
|
||||||
|
|
||||||
|
@ -348,18 +346,22 @@ DRAWTEXT.SHIFT1 lda FON.Cache+S.FON.PixH
|
||||||
|
|
||||||
.1 pha save Height counter
|
.1 pha save Height counter
|
||||||
|
|
||||||
clc make sure reset first bit in line for initial ORA
|
|
||||||
|
|
||||||
ldx GBYTE2 init Width counter
|
ldx GBYTE2 init Width counter
|
||||||
ldy GWORD get col index in BM
|
ldy GWORD get col index in BM
|
||||||
|
|
||||||
.2 jsr CHAR.GetNext
|
.2 jsr CHAR.GetNext
|
||||||
|
eor CB.Cache+S.CB.M
|
||||||
|
|
||||||
rol 8th bit in ->carry, 1st bit from carry
|
asl 8th bit in ->carry
|
||||||
|
|
||||||
|
eor (ZPTmpPtr),y
|
||||||
sta (ZPTmpPtr),y
|
sta (ZPTmpPtr),y
|
||||||
iny
|
iny
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
rol
|
||||||
|
sta (ZPTmpPtr),y
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
|
@ -399,6 +401,8 @@ DRAWTEXT.SHIFT26
|
||||||
.2 pha save Width counter
|
.2 pha save Width counter
|
||||||
|
|
||||||
jsr CHAR.GetNext
|
jsr CHAR.GetNext
|
||||||
|
eor CB.Cache+S.CB.M
|
||||||
|
pha
|
||||||
|
|
||||||
and First.Masks,x x = 2->6, for X=3 : A=000xxxxx
|
and First.Masks,x x = 2->6, for X=3 : A=000xxxxx
|
||||||
tay Range 0..127
|
tay Range 0..127
|
||||||
|
@ -406,11 +410,11 @@ DRAWTEXT.SHIFT26
|
||||||
.3 lda $FFFF,y SELF MODIFIED ShiftL3 A=xxxxx000
|
.3 lda $FFFF,y SELF MODIFIED ShiftL3 A=xxxxx000
|
||||||
|
|
||||||
ldy ColIndex get col index in BM
|
ldy ColIndex get col index in BM
|
||||||
ora (ZPTmpPtr),y
|
eor (ZPTmpPtr),y
|
||||||
sta (ZPTmpPtr),y
|
sta (ZPTmpPtr),y
|
||||||
inc ColIndex
|
inc ColIndex
|
||||||
|
|
||||||
lda (ZPCharPtr)
|
pla
|
||||||
and Last.Masks,x x = 2->6, for X=3 : A=xxx00000
|
and Last.Masks,x x = 2->6, for X=3 : A=xxx00000
|
||||||
lsr Range 0..127 !! A=0xxx0000
|
lsr Range 0..127 !! A=0xxx0000
|
||||||
|
|
||||||
|
@ -446,6 +450,7 @@ DRAWTEXT.SHIFT7 lda FON.Cache+S.FON.PixH
|
||||||
ldy GWORD get col index in BM
|
ldy GWORD get col index in BM
|
||||||
|
|
||||||
.2 jsr CHAR.GetNext
|
.2 jsr CHAR.GetNext
|
||||||
|
eor CB.Cache+S.CB.M
|
||||||
|
|
||||||
lsr 1st bit in carry, for COL 1
|
lsr 1st bit in carry, for COL 1
|
||||||
pha Other 7 bits for COL 2
|
pha Other 7 bits for COL 2
|
||||||
|
@ -453,7 +458,7 @@ DRAWTEXT.SHIFT7 lda FON.Cache+S.FON.PixH
|
||||||
lda #0
|
lda #0
|
||||||
ror get back 1st bit, -> for bit 8
|
ror get back 1st bit, -> for bit 8
|
||||||
|
|
||||||
ora (ZPTmpPtr),y
|
eor (ZPTmpPtr),y
|
||||||
sta (ZPTmpPtr),y
|
sta (ZPTmpPtr),y
|
||||||
iny
|
iny
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue