30 lines
558 B
Tal
30 lines
558 B
Tal
|
@draw-sixel ( str* -- str* )
|
||
|
|
||
|
[ LITr -Screen/y ] DEI2r
|
||
|
.Screen/x DEI2 ,&x STR2
|
||
|
INC2
|
||
|
&w
|
||
|
LDAk #21 LTH ?&end
|
||
|
( line feed )
|
||
|
LDAk LIT "- NEQ ?&no-lf
|
||
|
[ LIT2 &x $2 ] .Screen/x DEO2
|
||
|
.Screen/y DEI2k #0006 ADD2 ROT DEO2
|
||
|
INC2 !&w
|
||
|
&no-lf
|
||
|
( pixel )
|
||
|
LDAk LIT "? SUB ,&t STR
|
||
|
is-selected ,&sel STR
|
||
|
.Screen/y DEI2
|
||
|
#0600
|
||
|
&col
|
||
|
DUP #05 NEQ INC .Screen/auto DEO
|
||
|
[ LIT &t $1 ] OVR SFT #01 AND [ LIT &sel $1 ] ADD .Screen/pixel DEO
|
||
|
INC GTHk ?&col
|
||
|
POP2
|
||
|
.Screen/y DEO2
|
||
|
INC2 !&w &end
|
||
|
STH2r .Screen/y DEO2
|
||
|
#15 .Screen/auto DEO
|
||
|
|
||
|
JMP2r
|