From a30bc914dbc0f7527b10d2b45d746a30f98d19eb Mon Sep 17 00:00:00 2001 From: d_m Date: Mon, 13 Nov 2023 11:35:26 -0500 Subject: [PATCH] add todos, update metadata, etc --- term.tal | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/term.tal b/term.tal index 69fb391..e11bb4a 100644 --- a/term.tal +++ b/term.tal @@ -76,6 +76,8 @@ ( ESC [ ? 1060 l -> unset legacy keyboard emulation ) ( ESC [ ? 1061 h -> set VT220 keyboard emulation ) +( special graphics [] changes 95-126 ) + |00 @System [ &vect $2 &expansion $2 &title $2 &metadata $2 &r $2 &g $2 &b $2 ] |10 @Console [ &vect $2 &r $1 &exec $2 &mode $1 &dead $1 &exit $1 &w $1 ] |20 @Screen [ &vect $2 &w $2 &h $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &px $1 &sprite $1 ] @@ -377,6 +379,8 @@ ( send ESC [ $c ) @arrow ( c^ -> ) .Console/w STH + ( TODO: send ESC-$c in VT-52 mode ) + ( TODO: send ESC-O-$c in "cursor key mode set" ) #1b STHkr DEO LIT "[ STHkr DEO STHr DEO JMP2r @@ -805,9 +809,10 @@ draw-cursor BRK @mode-addr ( n* -> zp^ ) - DUP2 #0004 NEQ2 ?¬-irm POP2 .irm JMP2r - ¬-irm DUP2 #0007 NEQ2 ?¬-awm POP2 .awm JMP2r - ¬-awm POP2 .ignored JMP2r + DUP2 #0004 NEQ2 ?{ POP2 .irm JMP2r } ( TODO: permanently reset ) + DUP2 #0007 NEQ2 ?{ POP2 .awm JMP2r } ( TODO: rename to DECAWM ) + ( TODO: 20 is LNM: line feed/newline mode ) + POP2 .ignored JMP2r @sm ( n* -> ) mode-addr #01 SWP STZ JMP2r @rm ( n* -> ) mode-addr #00 SWP STZ JMP2r @@ -973,6 +978,7 @@ DUP LIT "8 EQU ?&skip ( DECRC: restore cursor ) DUP LIT "> EQU ?&skip ( DECKPNM: normal keypad ) DUP LIT "~ EQU ?&skip ( LS1R: invoke G1 charset as GR ) + DUP LIT "# EQU ?&skip ( TODO: DECALN, fill screen with Es ) debug-esc ;on-read .Console/vect DEO2 !on-read @@ -995,7 +1001,7 @@ ( preceeded by '(' [G0] or ')' [G1] ) ( "A" -> UK ) ( "B" -> USASCII ) -( "0" -> DEC special character, line drawing ) +( "0" -> DEC special graphics, line drawing ) @start-charset ( c^ -> BRK ) POP ;on-read-skip .Console/vect DEO2 BRK @@ -1080,6 +1086,8 @@ @read-lf ( 0a -> ) POP !lf +( TODO: cur-wrap machinery not vt100 compliant. ) +( cursor should stay on previous line normally ) @lf ( -> ) .cur-wrap LDZ ?&skip clear-cursor down-or-scroll &skip JMP2r @@ -1311,7 +1319,7 @@ &name "determ 0a &details "ansi 20 "terminal 20 "emulator 0a &author "by 20 "d_m 0a - &date "3 20 "jan 20 2023 00 + &date "13 20 "nov 20 "2023 00 02 ( device mask ) 41 0d07 ( 24x24 icon ) 83 =icon-2-bit @@ -1320,9 +1328,9 @@ 0d 0a 20 20 c9 cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd bb 0d 0a 20 20 ba 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ba 0d 0a - 20 20 ba 20 20 "d "e "t "e "r "m 20 20 "v "1 "0 20 20 ba 0d 0a + 20 20 ba 20 20 "d "e "t "e "r "m 20 20 "v "1 "1 20 20 ba 0d 0a 20 20 ba 20 20 20 20 "b "y 20 "d "_ "m 20 20 20 20 20 ba 0d 0a - 20 20 ba 20 20 "1 "8 20 "m "a "r 20 "2 "0 "2 "3 20 20 ba 0d 0a + 20 20 ba 20 20 "1 "3 20 "n "o "v 20 "2 "0 "2 "3 20 20 ba 0d 0a 20 20 ba 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ba 0d 0a 20 20 c8 cd cd cb cd cd cd cd cd cd cd cd cd cb cd cd bc 0d 0a 20 20 c9 cb cb ce cb cb cb cb cb cb cb cb cb ce cb cb bb 0d 0a @@ -1344,5 +1352,19 @@ @paste-buf $0780 ( max 80 x 24 characters ) @paste-pos $2 +( TODO: tab stops ) + +( state ) +@setup + &alternate-keypad-mode 00 ( 00 numeric [DECKPNM], 01 application [DECKPAM] ) + &ansi-vt52 00 ( DECANM; 00 ansi, 01 vt-52 ) + &chars-per-line 00 ( DECCOLM; 00 80, 01 132 ) + &cursor-key-modes 00 ( DECCKM ) + &new-line 00 ( LNM; 00 return=CR, return=CRLF; ignored by IND/NEL ) + &origin-mode 00 ( DECOM; ) + &screen 00 ( DECSCNM; 00 normal, 01 reverse video ) + &wraparound 00 ( DECAWM; right margin 00 replace, 01 next line/scroll ) + &3-shifted "B ( SCS; character set selected; B is ASCII ) + ( store tint+char for each screen position ) @cells ( width x height x 2 bytes )