Simulated Underline Cursor

Developer(s): Richard Bredhoff
Date: 1985
Type: Program
Platform(s): TS 2068

Demonstrates a simulated underline cursor routine for the TS2068, submitted to Syncware News as a competition entry by Richard Bredhoff in 1985. The effect prints each character of a string individually, flashing an underscore ahead of each letter using PRINT, CHR$ 8, BEEP, and two PAUSE 1 calls — producing a typewriter-style reveal that avoids text appearing all at once. A multi-paragraph demo string assembled by concatenation illustrates the technique across two screens, with a simple pager subroutine triggered at a calibrated character position to pause and clear between pages. The program is intended as a reusable snippet: the string variable name, BEEP parameters, and PAUSE durations are all designed to be modified for use in games or utilities.

Content

Appears On

Related Products

Related Articles

And now, here are a few more words about the last contest. First, we would like to thank all of...

Related Content

Image Gallery

Simulated Underline Cursor

Source Code

    1 REM Simulated Underlining           Cursor Routine
    2 REM RESET  1985 Richard Bredhoff                962 E 107 St                    Brooklyn, NY                    11236
    3 REM SYNCWARE NEWS                   2068 Screen Utility             Competition Entry
    9 BORDER 1: PAPER 1: CLS : INK 6
   10 LET g$="This is a demontration of the   simulated 'underline' cursor    routine."
   11 LET g$=g$+CHR$ 13+"It can be used to print any     instructions for games, or util-ities and effect of a screen    full of printing appearing      suddenly is avoided."
   12 LET g$=g$+CHR$ 13+"The string to be printed can be of any length, have any legal   'name' and may include any of   the control characters, simply  by concatenating the new charac-ters to the existing string."
   13 LET g$=g$+CHR$ 13+"Of course, the BEEP can be made longer or shorter or eliminated entirely, as can the two PAUSES in line 30.     " 
   14 LET g$=g$+CHR$ 13+"If the text is longer than one  screen, any additional screens  may be displayed on demand, to  allow for variations in reading speed and comprehension, as     shown."
   15 LET g$=g$+CHR$ 13+"The variabe 'pager' is initiallyset to 0, turned on when the    first page is nearly full (PRINTLEN g$) and turned off by the   subroutine."
   19 LET pager=0
   20 FOR t=1 TO LEN g$
   22 IF t>520 AND t<522 THEN LET pager=1
   24 IF pager=1 THEN GO SUB 1010
   30 PRINT "_";: BEEP .001,20: PRINT CHR$ 8;" ";: PAUSE 1: PRINT CHR$ 8;g$(t);: PAUSE 1
   40 NEXT t
   45 PRINT AT 21,0;"Press any key to reread Page 1..": PAUSE 0: CLS : GO TO 20
   50 STOP 
 1010 PRINT AT 21,0;"Press any key to continue...": PAUSE 0
 1020 LET pager=0: CLS : RETURN 
 9990 STOP 
 9995 CLEAR : SAVE "A WINNER !" LINE 1

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

Scroll to Top