diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 6734d59b..ea003c54 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/MAN.S.txt b/BIN/MAN.S.txt index 1adb0668..d06a513c 100644 --- a/BIN/MAN.S.txt +++ b/BIN/MAN.S.txt @@ -232,7 +232,7 @@ CS.Scr.SetBuf >PUSHB hTBOX .9 rts *-------------------------------------- CS.Scr.SetStatusGoto - >PUSHEA.G SCR.StatusBuf skip type + >PUSHEA.G SCR.StatusBuf >PUSHW L.MSG.GOTO >PUSHEA.G PathBuf >PUSHEA.G HtagBuf @@ -281,7 +281,7 @@ CS.GetLink >STYA ZPPtr1 lda #0 sta (ZPPtr2) - + >PUSHW L.ENV.MANPATH >PUSHW ZPPtr2 >SYSCALL GetEnv @@ -291,7 +291,7 @@ CS.GetLink >STYA ZPPtr1 .1 iny lda (ZPPtr2),y bne .1 - + .2 jsr CS.GetCharPtr1 beq .4 @@ -347,12 +347,12 @@ hLIBTUI .BS 1 ENV.MANPATH .AZ "MANPATH" FILE.INDEX .AZ "index" *-------------------------------------- -MSG.ScrTitle .CZ "A2osX-MAN - UP/DOWN : Scroll, LEFT/RIGHT : Prev/Next link, uit" +MSG.ScrTitle .CZ "A2osX-MAN - UP/DOWN: Scroll, LEFT/RIGHT: Prev/Next link, uit" *-------------------------------------- MSG.USAGE .CS "Usage : MAN [#htag]" MSG.CRLF .CS "\r\n" MSG.NULL .HS 00 -MSG.GOTO .CZ "Goto: %s#%s" +MSG.GOTO .CZ "CR: Goto %s#%s" MSG.OK .CZ "Ok" MSG.ERROR .CZ "Error: $%h" *-------------------------------------- diff --git a/LIB/LIBTUI.S.OBJ.txt b/LIB/LIBTUI.S.OBJ.txt index 1c4c35cd..da27d888 100644 --- a/LIB/LIBTUI.S.OBJ.txt +++ b/LIB/LIBTUI.S.OBJ.txt @@ -807,7 +807,7 @@ OBJ.Hide pha OBJ.CurUpdPos ldy #S.OBJ.F lda (ZPObjPtr),y and #S.OBJ.F.bEdit -* beq .8 + beq .8 ldy #S.OBJ.S lda (ZPObjPtr),y S.OBJ.S.bActive diff --git a/LIB/LIBTUI.S.TBOX.txt b/LIB/LIBTUI.S.TBOX.txt index a2339422..3e0338f8 100644 --- a/LIB/LIBTUI.S.TBOX.txt +++ b/LIB/LIBTUI.S.TBOX.txt @@ -51,7 +51,9 @@ TBOX.Run ldy #S.OBJ.S tax jmp (J.TBOX.RUN.RO,x) -.1 jmp TBOX.RUN.GetLink +.1 lda #EV.HL.PRESSED + clc + rts *-------------------------------------- TBOX.Run.RW lda (pStack) Event @@ -94,7 +96,34 @@ TBOX.RUN.Ignore lda #0 rts *-------------------------------------- TBOX.RUN.PrevLink + jsr OBJ.GetBuf -> ZPPtr1 + + ldy #S.TBOX.SelBegin + jsr TBOX.RUN.GetSel -> TempC +.1 ldx #0 + +.2 jsr TBOX.GetCharBW + beq TBOX.RUN.PrevLink.9 + + cmp #'[' + bne .1 + + cpx #'[' + beq .3 + + tax + bra .2 + +.3 lda ZPPtr1 + sta TempI + lda ZPPtr1+1 + sta TempI+1 + + jsr TBOX.RUN.CheckLink + bcs .1 + + rts TBOX.RUN.PrevLink.9 lda #0 @@ -102,89 +131,93 @@ TBOX.RUN.PrevLink.9 rts *-------------------------------------- TBOX.RUN.NextLink - jsr TBOX.GetDocYInAX - - jsr TBOX.GetLineAX will do GetBuf - bcs TBOX.RUN.PrevLink.9 - - jsr TBOX.SetLineAtDocX - -.1 ldx #$ff - -.2 inx - - jsr TBOX.GetChar - beq .9 - - cmp #C.CR - beq .7 + jsr OBJ.GetBuf -> ZPPtr1 + + ldy #S.TBOX.SelEnd + jsr TBOX.RUN.GetSel -> TempC +.1 ldx #0 + +.2 jsr TBOX.GetCharFW + beq TBOX.RUN.PrevLink.9 + cmp #'[' - bne .2 + bne .1 + + cpx #'[' + beq .3 + + tax + bra .2 - cmp (ZPPtr1) "[[" - bne .2 +.3 lda ZPPtr1 + sec + sbc #2 + sta TempI + lda ZPPtr1+1 + sbc #0 + sta TempI+1 + + lda TempC + sec + sbc #2 + sta TempC + lda TempC+1 + sbc #0 + sta TempC+1 - jsr TBOX.RUN.SelectLink -.3 jsr TBOX.GetChar - beq .9 + jsr TBOX.RUN.CheckLink + bcc .99 - cmp #C.CR - beq .7 - - cmp #']' - bne .3 - - jsr TBOX.RUN.Link2pVar - - jsr TBOX.SetViewPort - bit bRepaintAll - bmi .6 - - jsr OBJ.CurUpdPos - - jsr TBOX.DrawCurLine - bra .60 - -.6 jsr TBOX.DrawAllLines - -.60 lda #EV.HL.SELECTED - clc - rts - -.7 ldy #S.TBOX.DocX - jsr OBJ.ZeroWordAtY - - ldy #S.TBOX.DocY - jsr OBJ.IncWordAtY - bra .1 .9 lda #0 sec +.99 rts +*-------------------------------------- +TBOX.RUN.GetSel lda (ZPObjPtr),y + sta TempC + clc + adc ZPPtr1 + sta ZPPtr1 + + iny + lda (ZPObjPtr),y + sta TempC+1 + adc ZPPtr1+1 + sta ZPPtr1+1 + rts *-------------------------------------- -TBOX.RUN.SelectLink - txa - sec skip first [ - ldy #S.TBOX.DocX - adc (ZPObjPtr),y - sta (ZPObjPtr),y - iny - lda #0 - adc (ZPObjPtr),y - sta (ZPObjPtr),y - +TBOX.RUN.CheckLink ldy #S.TBOX.BufPtr jsr TBOX.SetTempCAtY ldy #S.TBOX.SelBegin - jmp TBOX.SetTempCAtY -*-------------------------------------- -TBOX.RUN.Link2pVar - ldy #S.TBOX.SelEnd jsr TBOX.SetTempCAtY + + ldx #0 +.1 jsr TBOX.GetCharFW + beq .9 + + cmp #C.CR + beq .9 + + iny + + cmp #']' + bne .1 + + cpx #']' + beq .2 + + tax + bra .1 + +.2 ldy #S.TBOX.SelEnd + jsr TBOX.SetTempCAtY + ldy #S.OBJ.pVar lda (ZPObjPtr),y sta ZPPtr2 @@ -192,23 +225,48 @@ TBOX.RUN.Link2pVar lda (ZPObjPtr),y sta ZPPtr2+1 - ldy #0 - -.1 jsr TBOX.GetChar - beq .8 - - cmp #C.CR - beq .8 + ldy #$ff SKIP "[[TEXT]" +.3 iny + lda (TempI),y cmp #']' - beq .8 + bne .3 - sta (ZPPtr2),y - iny - bra .1 + tya + sec + adc TempI + sta TempI + bcc .4 -.8 lda #0 + inc TempI+1 + +.4 ldy #$ff + +.5 iny + lda (TempI),y sta (ZPPtr2),y + cmp #']' + bne .5 + + lda #0 + sta (ZPPtr2),y + +* jsr TBOX.SetViewPort +* bit bRepaintAll +* bmi .6 + +* jsr OBJ.CurUpdPos + +* jsr TBOX.DrawCurLine +* bra .60 + +.6 jsr TBOX.DrawAllLines + +.60 lda #EV.HL.SELECTED + clc + rts + +.9 sec rts *-------------------------------------- TBOX.RUN.GetLink @@ -224,17 +282,16 @@ TBOX.RUN.GetLink TBOX.RUN.ScrollUp jsr TBOX.GetBuf - ldy #S.TBOX.VScroll + ldy #S.OBJ.InnerH lda (ZPObjPtr),y clc - ldy #S.OBJ.InnerH + ldy #S.TBOX.VScroll adc (ZPObjPtr),y pha - ldy #S.TBOX.VScroll+1 + iny #S.TBOX.VScroll+1 lda (ZPObjPtr),y - ldy #S.OBJ.InnerH+1 - adc (ZPObjPtr),y + adc #0 plx jsr TBOX.GetLineAX @@ -589,9 +646,6 @@ TBOX.DrawCurLine jmp OBJ.Draw.Lines *-------------------------------------- -* hyperlinks: [[text]targetUrl] -* htags: [#htag]text] -*-------------------------------------- TBOX.Draw ldy #S.TBOX.VScroll lda (ZPObjPtr),y clc @@ -844,50 +898,66 @@ TBOX.ResetSel bit bTemp1 .8 rts *-------------------------------------- +* hyperlinks: [[text]targetUrl#targetHtag] +* htags: [#htag] +*-------------------------------------- TBOX.GetLineChar ldy #S.OBJ.F lda (ZPObjPtr),y and #S.OBJ.F.bEdit - bne TBOX.GetChar + bne TBOX.GetCharFW bit bTemp2 - bmi .1 + bmi .3 - jsr TBOX.GetChar + jsr TBOX.GetCharFW beq .8 cmp #'[' bne .8 NZ cmp (ZPPtr1) "[[" - bne .8 NZ + bne .1 - dec bTemp2 - rts NZ + dec bTemp2 + + bra TBOX.GetCharFW skip "[[" -.1 jsr TBOX.GetChar +.1 lda (ZPPtr1) "[#" ? + cmp #'#' + beq .2 + + lda #'[' NZ + rts + +.2 jsr TBOX.GetCharFW skip "[#" + beq .8 + + cmp #']' skip "htag]" + bne .2 + + bra TBOX.GetCharFW skip "]" + +.3 jsr TBOX.GetCharFW beq .8 - cmp #'[' - beq .1 skip 2nd [ - - cmp #']' "[[display]" + cmp #']' "text" bne .8 NZ stz bTemp2 -.2 jsr TBOX.GetChar skip "link]" +.4 jsr TBOX.GetCharFW skip "link]" beq .8 cmp #']' - bne .2 + bne .4 lda #']' NZ .8 rts *-------------------------------------- -TBOX.GetChar lda (ZPPtr1) - beq .8 +TBOX.GetCharFW lda (ZPPtr1) + beq .9 inc ZPPtr1 bne .1 @@ -895,11 +965,33 @@ TBOX.GetChar lda (ZPPtr1) inc ZPPtr1+1 .1 inc TempC - bne .8 + bne .9 inc TempC+1 NZ -.8 rts +.9 rts +*-------------------------------------- +TBOX.GetCharBW lda TempC + ora TempC+1 + beq .9 + + lda ZPPtr1 + bne .1 + + dec ZPPtr1+1 + +.1 dec ZPPtr1 + + lda TempC + bne .2 + + dec TempC+1 + +.2 dec TempC + + lda (ZPPtr1) + +.9 rts *-------------------------------------- TBOX.CmpTempCAtY lda TempC