MarqGram

This software was developed to interface with a chroma key generator; it will display text read from a text file as a scrolling marque over other video footage. Below is the source code:

spd = 1
beg0:
SCREEN 12
editor = 0
CLS
po = 1
PRINT "Press [SPACE] to edit the message (only works if you have edit.com in folder.)"
PRINT "Press [ENTER] to reload the marquee message file."
PRINT "Press [ESC] to reposition the marquee or exit to system."
PRINT "Please donate if you find this program useful. drnothing.com"
LOCATE 15, 15
INPUT "Position 1-28 (0=exit)?", po

IF po = 0 THEN PRINT "Marq 1.0 developed by Dr. Nothing (drnothing.com) 1 Nov. 2012. Please donate if you like!": SLEEP 5: SYSTEM
IF po < 1 THEN po = 28
IF po > 28 THEN po = 28
LOCATE 16, 15
INPUT "Auto load new changes to message? (Y/N)>", auto$
auto = 0
 IF auto$ = "1" OR UCASE$(auto$) = "Y" THEN auto = 1


SHELL "dir/b > file.dat"
OPEN "file.dat" FOR INPUT AS #1
ck = 0
 DO
 IF NOT (EOF(1)) THEN INPUT #1, chk$
  IF LCASE$(chk$) = "marq.txt" THEN ck = 1
  IF LCASE$(chk$) = "edit.com" OR LCASE$(chk$) = "edit.exe" THEN editor = 1
 LOOP UNTIL EOF(1)
CLOSE #1
IF editor = 0 THEN PRINT "Editor not found. You need edit.com in your program folder.": PRINT "You will need to edit marq.txt outside this program or delete the marq.txt to start fresh."
SLEEP 2
beg:
SCREEN 12
IF ck = 1 THEN
 OPEN "marq.txt" FOR INPUT AS #2
  IF NOT (EOF(2)) THEN INPUT #2, marq$
 CLOSE #2
END IF

IF ck = 0 THEN
 INPUT "What is your marquee message?>", msg$
 SHELL "echo " + msg$ + " >> marq.txt"
 ck = 1
 GOTO beg:
END IF
SCREEN 12
COLOR 15
CLS

c = 0
spc$ = "................................................................................"
marquee$ = spc$ + marq$
l = LEN(marquee$)

LINE (0, 0)-(640, 480), 2, BF

DO

c = c + 1
IF c >= l THEN
c = 1
IF auto = 1 THEN GOTO beg
END IF
mm$ = MID$(marquee$, c, 80)
LOCATE po, 1
PRINT spc$
LOCATE po, 1
PRINT mm$
 FOR i = 1 TO spd * 25000
 NEXT i
SELECT CASE INKEY$
 CASE "+", "=": IF spd > 1 THEN spd = spd - 1
 CASE "_", "-": IF spd < 30 THEN spd = spd + 1
 CASE CHR$(27): GOTO beg0
 CASE CHR$(32): IF editor = 1 THEN SHELL "edit marq.txt": GOTO beg
 CASE CHR$(13): GOTO beg
END SELECT
LOOP