I've made a couple of functions that work together to create an effect of text being typed, and decided to share.
` box = 80 char long
SET TEXT FONT "courier"
SYNC ON
DO
current_string$ = "Insert text here"
draw_string(current_string$,0,50)
pause(current_string$,12,0)
current_string$ = "Text will appear as if being typed"
draw_string(current_string$,1,50)
pause(current_string$,12,1)
current_string$ = "By not including the pause function straight after..."
draw_string(current_string$,2,50)
current_string$ = "text can be typed over 2 lines"
draw_string(current_string$,3,50)
pause(current_string$,12,3)
current_string$ = "The second number of the draw_string() function will determine"
draw_string(current_string$,4,50)
current_string$ = "the speed the text appears to be typed [1000 units per second]"
draw_string(current_string$,5,50)
pause(current_string$,12,5)
current_string$ = "The first number of the draw_string() function will"
draw_string(current_string$,6,50)
current_string$ = "determine the line the text is typed on"
draw_string(current_string$,7,50)
pause(current_string$,12,7)
current_string$ = "As you can see, this helps to make the text clearer"
draw_string(current_string$,9,50)
pause(current_string$,12,9)
current_string$ = "*Always remember to change the the second number of the pause functionso that"
draw_string(current_string$,11,50)
current_string$ = "so that it corresponds to the line number as well"
draw_string(current_string$,12,50)
pause(current_string$,12,12)
current_string$ = "The first number of the pause function determines how many times"
draw_string(current_string$,14,50)
current_string$ = "the cursor blinks after the text has appeared [on/off = 2 cycles]"
draw_string(current_string$,15,50)
pause(current_string$,12,15)
current_string$ = "Created by FROGGIE! - Hope this helps some of you"
draw_string(current_string$,18,50)
pause(current_string$,12,18)
current_string$ = "Press return to finish"
draw_string(current_string$,20,50)
EXIT
LOOP
DO
IF RETURNKEY() = 1 THEN END
LOOP
FUNCTION draw_string(DS_targ_string$,DS_row,DS_delay)
DS_chars = LEN(DS_targ_string$) : IF DS_chars>70 THEN DS_chars=70
FOR DS_letters = 1 TO DS_chars
DS_draw_string$ = DS_draw_string$+MID$(DS_targ_string$,DS_letters)
TEXT 3,DS_row*16,DS_draw_string$
WAIT DS_delay
SYNC
NEXT DS_letters
ENDFUNCTION DS_draw_string$
FUNCTION pause(P_string$,cycles,row)
P_original_string$ = P_string$
cycle_num = 0
curs_show = 0
DO
INC cycle_num
IF cycle_num = cycles THEN EXIT
IF curs_show = 1
INK 0,0
BOX 0,row*16,640,(row+1)*16
INK RGB(255,255,255),0
curs_show = 0
P_string$ = P_original_string$
TEXT 3,row*16,P_string$
ELSE
curs_show = 1
P_string$ = P_string$+"_"
TEXT 3,row*16,P_string$
ENDIF
WAIT 300
SYNC
LOOP
INK 0,0
BOX 0,row*16,640,(row+1)*16
INK RGB(255,255,255),0
curs_show = 0
P_string$ = P_original_string$
TEXT 3,row*16,P_string$
ENDFUNCTION
To make this appear even better juast load a typewriter sound and play it at line 75.