diff --git a/term.tal b/term.tal index efbef74..91f876e 100644 --- a/term.tal +++ b/term.tal @@ -367,7 +367,7 @@ @redraw-selection ( -> ) lit-first-y .cols LDZ2 MUL2 ( y0*cols* ) - lit-first-x ADD2 #10 SFT2 ( 2(y0*cols+x0)* ) + lit-first-x ADD2 DUP2 ADD2 ( 2(y0*cols+x0)* ) ;cells ADD2 STH2 ( [addr*] ) lit-last-y INC2 lit-first-y ( yn* y0* [addr*] ) DUP2 lit-first-x STH2k ( yn* y0* x0* [addr* x0*] ) @@ -407,13 +407,13 @@ @find-natural-end ( y* -> xend* ) DUP2 .cols LDZ2 MUL2 ( y* y*cols* ) - #10 SFT2 ;cells ADD2 INC2 ( y* edge* ) - DUP2 .max-x LDZ2 #10 SFT2 ADD2 ( y* edge* start=edge+2cols* ) + DUP2 ADD2 ;cells ADD2 INC2 ( y* edge* ) + DUP2 .max-x LDZ2 DUP2 ADD2 ADD2 ( y* edge* start=edge+2cols* ) &loop ( y* edge* addr* ) LDAk ?&done ( y* edge* addr* ) #0002 SUB2 LTH2k ?&loop ( y* edge* addr-2* ) &done ( y* edge* addr* ) - SWP2 SUB2 #0002 DIV2 ( y* x* ) + SWP2 SUB2 #01 SFT2 ( y* x* ) NIP2 JMP2r ( x* ) @copy-line ( y* x1* x0* -> y* ) @@ -422,7 +422,7 @@ DUP2 STH2kr GTH2 ?&ok ( y* xlim* [x0*] ) POP2 POP2r JMP2r ( y* ; return if line is empty ) &ok OVR2 .cols LDZ2 MUL2 ( y* xlim* y*cols* [x0*] ) - STH2kr ADD2 #10 SFT2 ;cells ADD2 ( y* xlim* addr* [x0*] ) + STH2kr ADD2 DUP2 ADD2 ;cells ADD2 ( y* xlim* addr* [x0*] ) INC2 STH2 SWP2r STH2r ( y* xlim* x0* [addr+1*] ) SUB2 INC2 #0000 SWP2 SUB2 ( y* -count* [addr+1*] ) &loop ( y* -i* [pos*] ) @@ -1179,3 +1179,4 @@ ( store tint+char for each screen position ) @cells +