I'm not sure how PUSH could be faster before "50000 cycles"
What does that even mean?
I tested PUSH S$,"" vs INC S$,"" if they meant PUSH was faster for shorter strings, and INC won by a lot.
What you should do is something like:
DEF COLORING
VAR DRAW$="■▦ etc."
RESTORE @DRAW
WHILE 1
READ TEMP
IF TEMP==-1 THEN BREAK
PRINT DRAW$[TEMP]
WEND
@DRAW
DATA 1,1,1,1,1,1,1,0,0,0,0,1
DATA 5,4,3,2,1,3,3,2,3,-1
END
Also: DIM and VAR are identical, but usually people use DIM for arrays and VAR for other variables.