From 34f9969c0c030b6640da9772b536e55e3f9cfb9f Mon Sep 17 00:00:00 2001 From: burniouf Date: Wed, 17 Jan 2024 22:04:13 +0100 Subject: [PATCH] LIBTUI: Bugfix in TLINE BASIC.FX: bugfix in PATH, relocation code, Added Toolbox function "printf" --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BASIC.FX/BASIC.S.C.txt | 20 ++++++------- BASIC.FX/BASIC.S.GP..txt | 4 ++- BASIC.FX/BASIC.S.XR.txt | 6 ++-- BASIC.FX/BASIC.S.txt | 6 +++- BASIC.FX/TEST.S.txt | 29 ++++++++++++++----- BIN/TUITEST.S.txt | 61 +++++++++++++++------------------------ INC/BS.I.txt | 2 ++ LIB/LIBTUI.S.CBOX.txt | 4 +-- LIB/LIBTUI.S.TLINE.txt | 14 +++++++-- SHARED/X.PRINTF.S.txt | 2 +- 11 files changed, 82 insertions(+), 66 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 928d63b62b73a70467d2bb117f1b2a4299165cff..810982b9fee4a184a60b6df5a1ed70d3fd08197a 100644 GIT binary patch delta 273876 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

J~EUW|JDy1csDsu9EVL)g5uyKcFUGC)zxQI) znWEO2DE!X7SkNj=_KH6c{-YCiBX zLYi2DEb-w=(ok*(V)qtDHDH-noEijFl_4285!Y1JARllWhPe^ujWJ?xNgIm~9@eFX zfYY!rXM)Etd9P?_7QS*=H^hHD)C*pEf;TJV6Y=t`p<%H>lLyQv8&tn+cMjOnDynCI8I9<#qy4^dC6*aY$)pd`fz=z#U zBW^DrxyQcrQFl!q6KmpYWMDs1Fddv-%fy(-g^c)w(5%dz-xya_xv*|!WgH4w#JEXq zB~G*^o)y4TdA;yAtbI(y-JX49kI;u;oUn0iFJjvW!DmMw< zviiF6rH$%16j;TGF0#V73|R_y#F;T;o&awW}MemQ_E|SOu#c zGxw#h8C-lkB(EKu9Qy3wWVH&?|8ie?{e9^KWW#;wjU+w0pQM_geD1ys&)+A2uv|Ad zJ*Elz@XSv%itzRBXn1MdPfR)TDaFPKFFCrLa4NUGWAo9>5VP%*+gI2VNA%Ncb*Bd~AhmLe#ji zDBRLd3APQJ#C&19-QxnH`is8F+}n7&vjtk2{L-!uRz-{_Zb+lH1v0Ywqn@v#DP9PT zW3_C4LSe$ugcAu~iQ$RyiK7z_CB6&)Gr*0+9}@2*%0>i?Kz5~WSY2#3r!c#i(tasEWTkOQ;EB}(P{*zMcb5l^BdFR9a$|_oe+jc~RiLy>`kelMn4m%wKGPdK-QXRr zQt*X4vQB@4!Jg~&lY;UQyh{=oNM4DC|G`4tRlHsw=27n#NuCK|RmnhM3i0s}787Nz z+CbiEl}CvWT$<9k%98RbcyfjJOJ&iduJEF3%meu&;c$#>tOn;NuWJo+D}l8pZ1~_( z!v!^A?0v-wsuv@8_kt+dvq>LZkHUbt@E*}1%b*1YX@Vl4htL-)lZC=YJWxb75>7(k zouRNK)LOQ9QNNMJkFP-C$@fVsty>0Llu_<#E=qYolsxs%B0zftwC^C3h!BXCD#>$A zy4x^#4N>)gv`95gbMyn5qQ(fBB0{BO(Tngdlv`j1QfK1y*Yzqm=rg{q zkF1{{_RRhkc(Sr4S9s%^?99lUStxAs1F}Q1k>Cs2-}1;mr@z0ekaP-EASjo-Pq})% zAOqqw5J%q0CTB-(Rk?M!>UpT%4~__hQ<)4TFSsv5sbGs=A&3^=t(9s)N+3KB!>eZf zMfCqi5orIVRalZkT1#$MAZ2}~u-Of&69*JE&r&G?=7>ap(6eX?M^8Z$8(H17FtQeu!=qr`zGr;WysU537IP{TlN+k(jgz zl*`vc8NsV~(99RM;Q^MB8wYC_XGl_k7eI#JCbtRWkrYl7QP}4DWRhu)yq_*~+5VwN zCf(-yM7pQ8mxwIkM3=m+F8m(^TOY7S_Oe*huvh*(KcTQ!#U>b}NVZL=a0Cj&4@i=4 z$IhMl@cPyVO8LG%a5UB?atz;r`df$$@r`7X4TAGWGRgLLfSsb8{tjSvlYtJf3&@06 z{@ej}6Mk=^H1Qo}c&xLEy2AFLQE-R^W4p0<2Km{g6v_6ANs0S#i&>w**zjSqUWLc* z(x>C_UHVwuv`asn(O~N?eX+kCdE2b-^Lw`};`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPY zfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle z1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZ zN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=p zpaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq z0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`< z5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)ht zC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPY zfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle z1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZ zN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=p zpaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq z0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`< z5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)ht zC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPY zfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle1SkPYfD)htC;>`<5}*Vq0ZM=ppaduZN`Mle h1SkPYfD)htC;>`<5}*Vq0ZM=p_&*4oKV0Zy{udY?2Y&zn diff --git a/BASIC.FX/BASIC.S.C.txt b/BASIC.FX/BASIC.S.C.txt index da5de054..a021770a 100644 --- a/BASIC.FX/BASIC.S.C.txt +++ b/BASIC.FX/BASIC.S.C.txt @@ -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 diff --git a/BASIC.FX/BASIC.S.GP..txt b/BASIC.FX/BASIC.S.GP..txt index 467c80a8..04edba3f 100644 --- a/BASIC.FX/BASIC.S.GP..txt +++ b/BASIC.FX/BASIC.S.GP..txt @@ -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 diff --git a/BASIC.FX/BASIC.S.XR.txt b/BASIC.FX/BASIC.S.XR.txt index 035d53e9..754f15e4 100644 --- a/BASIC.FX/BASIC.S.XR.txt +++ b/BASIC.FX/BASIC.S.XR.txt @@ -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 diff --git a/BASIC.FX/BASIC.S.txt b/BASIC.FX/BASIC.S.txt index 7cd0aa16..2b612a56 100644 --- a/BASIC.FX/BASIC.S.txt +++ b/BASIC.FX/BASIC.S.txt @@ -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 diff --git a/BASIC.FX/TEST.S.txt b/BASIC.FX/TEST.S.txt index c3bbc17d..00b6e699 100644 --- a/BASIC.FX/TEST.S.txt +++ b/BASIC.FX/TEST.S.txt @@ -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 diff --git a/BIN/TUITEST.S.txt b/BIN/TUITEST.S.txt index ff49e66e..aa475b82 100644 --- a/BIN/TUITEST.S.txt +++ b/BIN/TUITEST.S.txt @@ -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" *-------------------------------------- diff --git a/INC/BS.I.txt b/INC/BS.I.txt index 63054f93..0bf6e5ad 100644 --- a/INC/BS.I.txt +++ b/INC/BS.I.txt @@ -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 diff --git a/LIB/LIBTUI.S.CBOX.txt b/LIB/LIBTUI.S.CBOX.txt index 70b5f725..15bc1d8c 100644 --- a/LIB/LIBTUI.S.CBOX.txt +++ b/LIB/LIBTUI.S.CBOX.txt @@ -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 diff --git a/LIB/LIBTUI.S.TLINE.txt b/LIB/LIBTUI.S.TLINE.txt index f283ad78..2e3409d2 100644 --- a/LIB/LIBTUI.S.TLINE.txt +++ b/LIB/LIBTUI.S.TLINE.txt @@ -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 diff --git a/SHARED/X.PRINTF.S.txt b/SHARED/X.PRINTF.S.txt index 128a9217..452194ec 100644 --- a/SHARED/X.PRINTF.S.txt +++ b/SHARED/X.PRINTF.S.txt @@ -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