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

View File

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

View File

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

View File

@ -18,7 +18,7 @@ NEW
.INB inc/as.i .INB inc/as.i
.INB inc/mon.i .INB inc/mon.i
*-------------------------------------- *--------------------------------------
HIMEM .EQ $A000 HIMEM .EQ $9F00
LOWERCASE .EQ 1 LOWERCASE .EQ 1
*-------------------------------------- *--------------------------------------
ZPPtr1 .EQ 0 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.a
.INB usr/src/basic.fx/basic.s.b .INB usr/src/basic.fx/basic.s.b
.INB usr/src/basic.fx/basic.s.c .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 .INB usr/src/basic.fx/basic.s.d
MAIN.LEN .EQ *-LDR.MAIN.DST MAIN.LEN .EQ *-LDR.MAIN.DST
.EP .EP

View File

@ -24,30 +24,43 @@ HEADER cld Allows BRUN at ORG=$2000
.DA 0 .DA 0
.DA 0 spare....16 bytes header .DA 0 spare....16 bytes header
*-------------------------------------- *--------------------------------------
R.MSG .DA MSG R.MSG.HELLO .DA MSG.HELLO
R.MSG.RELOC .DA MSG.RELOC
.DA 0 .DA 0
*-------------------------------------- *--------------------------------------
CODE.START ldx #0 CODE.START ldx #0
.1 lda MSG,x ABS relocation required .1 lda MSG.HELLO,x ABS relocation required
beq .2 beq .2
jsr MON.COUT jsr MON.COUT
inx inx
bne .1 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 .8 clc
rts rts
CODE.END .EQ * 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 * DATA.END .EQ *
*-------------------------------------- *--------------------------------------
MAN MAN

View File

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

View File

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

View File

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

View File

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

View File

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