mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-29 17:50:18 +00:00
9a7d20a7e1
FORMAT: new switches & checks SH:BREAK in FOR and WHILE ASM / S-C MASM: new directives, CString support and .HX LC / UC:bugfix DHGR.DRV:bugfix LIBGUI:wip CC:wip
186 lines
2.8 KiB
Plaintext
186 lines
2.8 KiB
Plaintext
NEW
|
||
AUTO 3,1
|
||
*--------------------------------------
|
||
FON.Init >LDYA L.SYSX7
|
||
jsr .1
|
||
bcs .9
|
||
|
||
stx hSYSFON
|
||
|
||
>LDYA L.SYSX7B
|
||
jsr .1
|
||
bcs .9
|
||
|
||
stx hSYSFONB
|
||
|
||
* ldy #S.FON.PixH
|
||
* >SYSCALL2 GetStkObjProp
|
||
|
||
lda #7
|
||
sta SYSFON.H
|
||
inc
|
||
sta SYSFON.Hp1
|
||
inc
|
||
sta SYSFON.Hp2
|
||
|
||
.9 rts
|
||
|
||
.1 >PUSHYA
|
||
>PUSHBI O.RDONLY
|
||
>PUSHBI S.FI.T.FON
|
||
>PUSHWZ Aux type
|
||
>SYSCALL LoadStkObj
|
||
rts
|
||
*--------------------------------------
|
||
FON.GetTextSize >STYA CB.Cache+S.CB.TxtPtr
|
||
stx CB.Cache+S.CB.hFont
|
||
|
||
lda #S.CB.CMD.GETTEXTSIZE+S.CB.CMD.OSD
|
||
sta CB.Cache+S.CB.CMD
|
||
ldx #0 Select CB.Cache
|
||
jmp CB.GFXWriteX
|
||
*--------------------------------------
|
||
FON.GetTextSize2
|
||
>STYA ZPPtr1
|
||
stx CB.Cache+S.CB.hFont
|
||
|
||
lda #S.CB.CMD.GETTEXTSIZE+S.CB.CMD.OSD
|
||
sta CB.Cache+S.CB.CMD
|
||
|
||
jsr FON.GetBuf
|
||
bcs .9
|
||
|
||
stz DX
|
||
stz DX+1
|
||
stz DY
|
||
stz DY+1
|
||
|
||
.1 jsr FON.GetLine
|
||
beq .8
|
||
|
||
ldx #0 Select CB.Cache
|
||
jsr CB.GFXWriteX
|
||
|
||
ldx CB.Cache+S.CB.SrcW
|
||
cpx DX
|
||
lda CB.Cache+S.CB.SrcW+1
|
||
tay
|
||
sbc DX+1
|
||
bcc .2
|
||
|
||
stx DX
|
||
sty DX+1
|
||
|
||
.2 lda CB.Cache+S.CB.SrcH
|
||
clc
|
||
adc DY
|
||
sta DY
|
||
|
||
lda CB.Cache+S.CB.SrcH+1
|
||
adc DY+1
|
||
sta DY+1
|
||
|
||
lda (ZPPtr1)
|
||
bne .1
|
||
|
||
.8 >LDYA ZPPtr2
|
||
>SYSCALL2 Free
|
||
|
||
.9 rts
|
||
*--------------------------------------
|
||
FON.DrawText2 >STYA ZPPtr1
|
||
stx CB.Cache+S.CB.hFont
|
||
|
||
lda #S.CB.OP.XOR
|
||
sta CB.Cache+S.CB.OP
|
||
|
||
lda #S.CB.M.MONO
|
||
sta CB.Cache+S.CB.M
|
||
|
||
jsr CB.ResetSrcXY
|
||
|
||
jsr FON.GetBuf
|
||
bcs .9
|
||
|
||
jsr PTR.Disable
|
||
* >DEBUG
|
||
.1 jsr FON.GetLine
|
||
beq .8
|
||
|
||
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
|
||
sta CB.Cache+S.CB.CMD
|
||
|
||
ldx #0
|
||
jsr CB.GFXWriteX
|
||
bcs .9
|
||
|
||
* ldx #0
|
||
* jsr CB.GFXWriteX Clip
|
||
|
||
jsr CB.GFXWriteClip
|
||
|
||
lda CB.Cache+S.CB.SrcPtr
|
||
>SYSCALL2 FreeStkObj
|
||
|
||
lda CB.Cache+S.CB.SrcH
|
||
clc
|
||
adc CB.Cache+S.CB.Y1
|
||
sta CB.Cache+S.CB.Y1
|
||
bcc .1
|
||
|
||
inc CB.Cache+S.CB.Y1+1
|
||
|
||
bra .1
|
||
|
||
.8 >LDYA ZPPtr2
|
||
>SYSCALL2 Free
|
||
|
||
jmp PTR.Enable
|
||
|
||
.9 rts
|
||
*--------------------------------------
|
||
FON.GetBuf >LDYAI 256
|
||
>SYSCALL2 GetMem
|
||
bcs .9
|
||
|
||
>STYA ZPPtr2
|
||
>STYA CB.Cache+S.CB.TxtPtr
|
||
|
||
.9 rts
|
||
*--------------------------------------
|
||
FON.GetLine ldy #0
|
||
|
||
.1 lda (ZPPtr1)
|
||
beq .8
|
||
|
||
.2 cmp #C.SPACE
|
||
bcs .3
|
||
|
||
eor #C.CR
|
||
beq .7
|
||
bne .4
|
||
|
||
.3 sta (ZPPtr2),y
|
||
iny
|
||
|
||
.4 inc ZPPtr1
|
||
bne .1
|
||
|
||
inc ZPPtr1+1
|
||
bra .1
|
||
|
||
.7 inc ZPPtr1
|
||
bne .8
|
||
|
||
inc ZPPtr1+1
|
||
|
||
.8 sta (ZPPtr2),y
|
||
tya set Z flag
|
||
|
||
rts
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE usr/src/lib/libgui.s.fon
|
||
LOAD usr/src/lib/libgui.s
|
||
ASM
|