LIBTUI: Bugfix in TLINE

BASIC.FX: bugfix in PATH, relocation code, Added Toolbox function "printf"
This commit is contained in:
burniouf 2024-01-17 22:04:13 +01:00
parent d85717509b
commit 34f9969c0c
11 changed files with 82 additions and 66 deletions

Binary file not shown.

View File

@ -1523,14 +1523,14 @@ BS.KW.MEM jsr MON.CROUT
sta $260+11
lda #0
sta XBC10
.2 ldx #BSX.Mem.X
.2 pha
ldx #BSX.Mem.X
jsr BS.ToAUX
jsr BS.LINEBUFOUT
inc XBC10
lda XBC10
pla
inc
cmp #6
bne .2
@ -1763,16 +1763,16 @@ BS.KW.PATH lda GP.FoundBITS
jsr BS.ToAUX
jsr MON.CROUT
ldx #$00
ldx #$ff
.1 cpx BS.CMDBUF.LEN
.1 inx
cpx BS.CMDBUF.LEN
beq .2
lda BS.CMDBUF+1,x
lda BS.CMDBUF,x
ora #$80
jsr MON.COUT
inx
bne .1
bra .1
.2 jsr MON.CROUT
jsr MON.CROUT

View File

@ -154,7 +154,9 @@ GP.MLIERR2 lda BS.BIERRTBL,x
GP.COPYRIGHT .AS -"COPYRIGHT APPLE, 1983"
jmp BS.GETBUFR GP.GETBUFR
jmp BS.FREEBUFR GP.FREEBUFR
.BS 5 GP.RSHIMEM
.BS 1 GP.RSHIMEM
.BS 1
jmp (BS.TBOX,x) GP.TBOX
*--------------------------------------
MAN
SAVE usr/src/basic.fx/basic.s.gp

View File

@ -20,11 +20,9 @@ BSX.Rel lda GP.MLIRW.DATAPTR
sbc GP.FIAUXTYPE+1
sta BSX.RelOfs+1
ldy #2
lda (ZP.A1L),y
lda GP.FIAUXTYPE
sta BSX.RelStart
iny
lda (ZP.A1L),y
lda GP.FIAUXTYPE+1
sta BSX.RelStart+1
ldy #10

View File

@ -18,7 +18,7 @@ NEW
.INB inc/as.i
.INB inc/mon.i
*--------------------------------------
HIMEM .EQ $A000
HIMEM .EQ $9F00
LOWERCASE .EQ 1
*--------------------------------------
ZPPtr1 .EQ 0
@ -101,6 +101,10 @@ LDR.MAIN.DST .EQ *
.INB usr/src/basic.fx/basic.s.a
.INB usr/src/basic.fx/basic.s.b
.INB usr/src/basic.fx/basic.s.c
BS.TBOX .DA PrintFYA
.INB usr/src/shared/x.printf.s
.INB usr/src/basic.fx/basic.s.d
MAIN.LEN .EQ *-LDR.MAIN.DST
.EP

View File

@ -24,30 +24,43 @@ HEADER cld Allows BRUN at ORG=$2000
.DA 0
.DA 0 spare....16 bytes header
*--------------------------------------
R.MSG .DA MSG
R.MSG.HELLO .DA MSG.HELLO
R.MSG.RELOC .DA MSG.RELOC
.DA 0
*--------------------------------------
CODE.START ldx #0
.1 lda MSG,x ABS relocation required
.1 lda MSG.HELLO,x ABS relocation required
beq .2
jsr MON.COUT
inx
bne .1
.2
.2 lda R.MSG.HELLO
pha
lda R.MSG.HELLO+1
pha
lda HEADER+2
pha
lda HEADER+3
pha
ldy R.MSG.RELOC
lda R.MSG.RELOC+1
ldx #GP.TBOX.PrintF
jsr GP.TBOX
.8 clc
rts
CODE.END .EQ *
*--------------------------------------
MSG .CZ -"\r\rHello from test EXT command.\r\r"
MSG.HELLO .CZ -"\r\rHello from test EXT command.\r\r"
MSG.RELOC .CS "Code relocated at $%H\r"
.CZ "Data relocated at $%H\r"
DATA.END .EQ *
*--------------------------------------
MAN

View File

@ -52,6 +52,7 @@ L.TBOX1.Status .DA TBOX1.Status
L.LBOX1.List .DA LBOX1.List
L.LABEL.Label .DA LABEL.Label
L.TLINE.Default .DA TLINE.Default
L.RADIO1.List .DA RADIO1.List
L.CBOX1.Label .DA CBOX1.Label
L.BUTQ.Label .DA BUTQ.Label
@ -215,6 +216,10 @@ CS.TLINE.Init >PUSHB hSCRN hParent
>PUSHWI 65 Len
>LIBCALL hLIBTUI,LIBTUI.NewTLine
>PUSHEA.G TLINE.Buf
>PUSHW L.TLINE.Default
>SYSCALL StrCpy
.9 rts
*--------------------------------------
CS.RADIO.Init >PUSHB hSCRN hParent
@ -360,46 +365,28 @@ SCRN.Status .AZ "Status bar..."
TBOX1.Title .AZ "Text Box Title"
TBOX1.Status .AZ "Text Box Status"
*--------------------------------------
LBOX1.List .AS "Item 1"
.DA #C.CR
.AS "Item 2"
.DA #C.CR
.AS "Item 3"
.DA #C.CR
.AS "Item 4"
.DA #C.CR
.AS "Item 5"
.DA #C.CR
.AS "Item 6 very long line"
.DA #C.CR
.AS "Item 7"
.DA #C.CR
.AS "Item 8"
.DA #C.CR
.AS "Item 9"
.DA #C.CR
.AS "Item 10"
.DA #C.CR
.AS "Item 11"
.DA #C.CR
.AS "Item 12"
.DA #C.CR
.AS "Item 13"
.DA #C.CR
.AS "Item 14 last one"
.DA #0
LBOX1.List .CS "Item 1\r"
.CS "Item 2\r"
.CS "Item 3\r"
.CS "Item 4\r"
.CS "Item 5\r"
.CS "Item 6 very long line\r"
.CS "Item 7\r"
.CS "Item 8\r"
.CS "Item 9\r"
.CS "Item 10\r"
.CS "Item 11\r"
.CS "Item 12\r"
.CS "Item 13\r"
.CZ "Item 14 last one\r"
*--------------------------------------
LABEL.Label .AZ "This is a label."
*--------------------------------------
RADIO1.List .DA #C.ESC
.AS "[91mRed"
.DA #C.CR
.DA #C.ESC
.AS "[92mGreen"
.DA #C.CR
.DA #C.ESC
.AS "[96mBlue"
.DA #0
TLINE.Default .AZ "This is a Line."
*--------------------------------------
RADIO1.List .CS "\e[91mRed\r"
.CS "\e[92mGreen\r"
.CZ "\e[96mBlue\r"
*--------------------------------------
CBOX1.Label .AZ "Check Me"
*--------------------------------------

View File

@ -180,6 +180,8 @@ GP.CCCSPARE .EQ $BEDF
GP.GETBUFR .EQ $BEF5
GP.FREEBUFR .EQ $BEF8
GP.RSHIMEM .EQ $BEFB
GP.TBOX .EQ $BEFD
GP.TBOX.PrintF .EQ 0
*--------------------------------------
MAN
SAVE inc/bs.i

View File

@ -92,7 +92,7 @@ CBOX.Run ldy #S.BUT.HotKey
sec
rts
*--------------------------------------
CBOX.Draw ldx #'('
CBOX.Draw ldx #'<'
ldy #S.OBJ.S
lda (ZPObjPtr),y
@ -121,7 +121,7 @@ CBOX.Draw ldx #'('
.11 txa
jsr LB.COut
ldx #')'
ldx #'>'
plp
bpl .12

View File

@ -43,6 +43,16 @@ TLINE.Run ldy #S.OBJ.S
bpl .9 S.OBJ.S.bActive
jsr OBJ.GetBuf
ldy #$ff
.1 iny
lda (ZPPtr1),y
bne .1
tya
ldy #S.TLINE.Len
sta (ZPObjPtr),y
lda (pStack) Event
cmp #C.DEL
@ -82,14 +92,14 @@ TLINE.Run ldy #S.OBJ.S
ply
.1 dey
.3 dey
lda (ZPPtr1),y
iny
sta (ZPPtr1),y
dey
cpy TempW
bne .1
bne .3
lda (pStack)
ldy TempW

View File

@ -74,7 +74,7 @@ PrintFYA.92 ldx #$83 RRAMWRAMBNK2
lda $C000,x
PrintFYA.98 lda #$ff Self modified RTS HI
pha
PrintFYA.99 lda #$ff Self modified RTS LOPrintFYAPrintFYA
PrintFYA.99 lda #$ff Self modified RTS LO
pha
rts