improve cursor wrapping, etc
This commit is contained in:
parent
a7610c8453
commit
6df71489cd
24
term.tal
24
term.tal
|
@ -1,7 +1,6 @@
|
||||||
( term.tal )
|
( term.tal )
|
||||||
|
|
||||||
( TODO: )
|
( TODO: )
|
||||||
( 1. fix bugs )
|
|
||||||
( 3. need to implement scrolling regions )
|
( 3. need to implement scrolling regions )
|
||||||
( 5. need draw-line word, and need to use it more )
|
( 5. need draw-line word, and need to use it more )
|
||||||
( a. on delete, CSI-P )
|
( a. on delete, CSI-P )
|
||||||
|
@ -15,7 +14,7 @@
|
||||||
( 12. clean up super ugly selection code )
|
( 12. clean up super ugly selection code )
|
||||||
( 13. hide cursor when not moving for awhile )
|
( 13. hide cursor when not moving for awhile )
|
||||||
( 15. blinking text? )
|
( 15. blinking text? )
|
||||||
( 16. status line in femto, etc. is weird )
|
( 16. status line in femto, etc. is weird *** major bug )
|
||||||
( 17. determ.terminfo )
|
( 17. determ.terminfo )
|
||||||
|
|
||||||
( ANSI sequences )
|
( ANSI sequences )
|
||||||
|
@ -160,7 +159,7 @@
|
||||||
reset-terminal
|
reset-terminal
|
||||||
|
|
||||||
( set to 01 to enable debug log )
|
( set to 01 to enable debug log )
|
||||||
#00 .debug STZ
|
#01 .debug STZ
|
||||||
|
|
||||||
.debug LDZ ?&continue BRK &continue
|
.debug LDZ ?&continue BRK &continue
|
||||||
#99 #010e DEO
|
#99 #010e DEO
|
||||||
|
@ -350,6 +349,7 @@
|
||||||
screen-to-cursor cur-addr LDA2 !draw-cell
|
screen-to-cursor cur-addr LDA2 !draw-cell
|
||||||
|
|
||||||
@draw-cursor ( -> )
|
@draw-cursor ( -> )
|
||||||
|
at-max-x .cur-wrap STZ
|
||||||
screen-to-cursor cur-addr LDA2
|
screen-to-cursor cur-addr LDA2
|
||||||
.tcem LDZ #00 EQU ?&skip SWP reverse-tint SWP
|
.tcem LDZ #00 EQU ?&skip SWP reverse-tint SWP
|
||||||
&skip !draw-cell
|
&skip !draw-cell
|
||||||
|
@ -828,7 +828,7 @@
|
||||||
@exec-vpa POP ;vpa !exec1
|
@exec-vpa POP ;vpa !exec1
|
||||||
@exec-cha POP ;cha !exec1
|
@exec-cha POP ;cha !exec1
|
||||||
@exec-el POP ;el !exec0
|
@exec-el POP ;el !exec0
|
||||||
@exec-ed POP ;ed_ !exec0
|
@exec-ed POP ;edx !exec0
|
||||||
@exec-sm POP ;sm !exec1
|
@exec-sm POP ;sm !exec1
|
||||||
@exec-rm POP ;rm !exec1
|
@exec-rm POP ;rm !exec1
|
||||||
@exec-dsr POP ;dsr !exec1
|
@exec-dsr POP ;dsr !exec1
|
||||||
|
@ -878,7 +878,7 @@
|
||||||
&erase-to-end POP2 cur-addr eol-addr !erase
|
&erase-to-end POP2 cur-addr eol-addr !erase
|
||||||
&erase-from-start POP2 bol-addr cur-addr !erase
|
&erase-from-start POP2 bol-addr cur-addr !erase
|
||||||
|
|
||||||
@ed_ ( n* -> )
|
@edx ( n* -> )
|
||||||
DUP2 #0000 EQU2 ?&erase-to-end
|
DUP2 #0000 EQU2 ?&erase-to-end
|
||||||
DUP2 #0001 EQU2 ?&erase-from-start
|
DUP2 #0001 EQU2 ?&erase-from-start
|
||||||
DUP2 #0002 EQU2 ?&erase-full
|
DUP2 #0002 EQU2 ?&erase-full
|
||||||
|
@ -896,7 +896,8 @@
|
||||||
goto BRK ( )
|
goto BRK ( )
|
||||||
|
|
||||||
@dec-floor ( x* -> x==0 ? 0* : x-1* )
|
@dec-floor ( x* -> x==0 ? 0* : x-1* )
|
||||||
ORAk ?&sub JMP2r &sub #0001 SUB2 JMP2r
|
#0001 SUB2 JMP2r
|
||||||
|
( ORAk ?&sub JMP2r &sub #0001 SUB2 JMP2r )
|
||||||
|
|
||||||
@debug-esc ( c^ -> )
|
@debug-esc ( c^ -> )
|
||||||
.debug LDZ ?&continue POP JMP2r &continue
|
.debug LDZ ?&continue POP JMP2r &continue
|
||||||
|
@ -965,12 +966,7 @@
|
||||||
DUP #20 LTH ?read-ctrl
|
DUP #20 LTH ?read-ctrl
|
||||||
DUP #7f EQU ?read-del
|
DUP #7f EQU ?read-del
|
||||||
.tint LDZ SWP DUP2 insert-cell draw-cell
|
.tint LDZ SWP DUP2 insert-cell draw-cell
|
||||||
( TODO: all cursor movement should potentially set/unset this flag )
|
clear-cursor forward BRK
|
||||||
( so this should move into forward and everything else )
|
|
||||||
.cur-x LDZ2 .max-x LDZ2 EQU2 .cur-wrap STZ
|
|
||||||
clear-cursor
|
|
||||||
forward
|
|
||||||
BRK
|
|
||||||
|
|
||||||
@read-ctrl ( c^ -> BRK )
|
@read-ctrl ( c^ -> BRK )
|
||||||
DUP #07 EQU ?read-bel
|
DUP #07 EQU ?read-bel
|
||||||
|
@ -1016,8 +1012,8 @@
|
||||||
@read-cr ( 0d -> BRK )
|
@read-cr ( 0d -> BRK )
|
||||||
POP .cur-wrap LDZ ?&skip cr &skip BRK
|
POP .cur-wrap LDZ ?&skip cr &skip BRK
|
||||||
|
|
||||||
@at-max-y ( -> true? )
|
@at-max-x ( -> true? ) .cur-x LDZ2 .max-x LDZ2 EQU2 JMP2r
|
||||||
.cur-y LDZ2 .max-y LDZ2 EQU2 JMP2r
|
@at-max-y ( -> true? ) .cur-y LDZ2 .max-y LDZ2 EQU2 JMP2r
|
||||||
|
|
||||||
@read-lf ( 0a -> BRK )
|
@read-lf ( 0a -> BRK )
|
||||||
POP lf BRK
|
POP lf BRK
|
||||||
|
|
Loading…
Reference in New Issue