200 REM [MAIN]
210 PRINT HR$
220 CM$=""
230 INPUT "Command";CM$
240 IF CM$="a" THEN GOTO 360
250 IF CM$="i" THEN GOTO 470
260 IF CM$="x" THEN GOTO 640
270 IF CM$="e" THEN GOTO 780
280 IF CM$="r" THEN GOTO 940
290 IF CM$="l" THEN GOTO 1090
300 IF CM$="s" THEN GOTO 1210
310 IF CM$="p" THEN GOTO 1690
320 IF CM$="?" THEN GOTO 1340
322 IF CM$="?:" THEN GOTO 1820
324 IF CM$="cls" THEN PRINT CHR$(27)+"[2J"+CHR$(27)+"[;H"
330 IF CM$="q" THEN GOTO 1490
340 GOTO 200
360 REM [APPEND]
370 PRINT "[Append]"
380 LT=LT+1
390 PRINT "Adding line #";LT
400 IF LT>1 THEN PRINT LT-1;DC$(LT-1)
410 PRINT HT$
420 LI$=""
430 INPUT LI$
440 DC$(LT)=LI$
450 GOTO 200
470 REM [INSERT]
480 PRINT "[Insert]"
490 CN=0
500 INPUT "Insert before line # (0=cancel)";CN
510 CN=INT(CN)
520 IF CN<1 THEN GOTO 200
530 IF CN>LT THEN PRINT "Last line is";LT:GOTO 200
540 PRINT HT$
550 LI$=""
560 INPUT LI$
570 FOR N=LT TO CN STEP -1
580 DC$(N+1)=DC$(N)
590 NEXT N
600 DC$(CN)=LI$
610 LT=LT+1
620 GOTO 200
640 REM [REMOVE]
650 PRINT "[Remove]"
660 CN=0
670 INPUT "Remove line # (0=cancel)";CN
680 CN=INT(CN)
690 IF CN<1 THEN GOTO 200
700 IF CN>LT THEN PRINT "!) Last line is";LT:GOTO 200
710 FOR N=CN TO LT-1
720 DC$(N)=DC$(N+1)
730 NEXT N
740 DC$(LT)=""
750 LT=LT-1
760 GOTO 200
780 REM [EDIT]
790 PRINT "[Edit Line]"
800 CN=0
810 INPUT "Edit line # (0=cancel)";CN
820 CN=INT(CN)
830 IF CN<1 THEN GOTO 200
840 IF CN>LT THEN PRINT "!) Last line is";LT:GOTO 200
850 PRINT HR$
860 PRINT CN;DC$(CN)
870 PRINT HT$
880 LI$=""
890 INPUT LI$
900 IF LI$="" THEN PRINT "Canceled.":GOTO 200
910 DC$(CN)=LI$
920 GOTO 200
940 REM [REVIEW]
950 PRINT "[Review]"
960 IF LT=0 THEN PRINT "!) No lines yet.":GOTO 200
970 PRINT LT;"lines total:"
980 PRINT " ";HT$
990 I=0
1000 FOR N=1 to LT
1010 PRINT STR$(N);" ";DC$(N)
1020 I=I+1
1030 IF I=20 THEN I=0:INPUT "Continue (Y/n/c)";CM$
1040 IF CM$="n" THEN GOTO 200
1050 IF CM$="c" THEN I=21
1060 NEXT N
1070 GOTO 200
1090 REM [LOAD]
1100 PRINT "[LOAD]"
1110 PRINT "Type, paste, or PLAY lines. Enter \. on a line to end"
1120 PRINT HT$
1130 REM [LOADPOINT]
1140 LI$=""
1150 INPUT LI$
1160 IF LI$="\." THEN GOTO 200
1170 LT=LT+1
1180 DC$(LT)=LI$
1190 GOTO 1130
1210 REM [SAVE]
1220 PRINT "[SAVE]"
1230 IF LT=0 THEN PRINT "!) No lines yet.":GOTO 140
1240 CM$=""
1250 PRINT "RECORD and then ENTER to list."
1260 PRINT "When done, ENTER after stopping tape."
1270 INPUT CM$
1280 FOR N=1 to LT
1290 PRINT DC$(N)
1295 FOR D=1 to 1000
1296 NEXT D
1300 NEXT N
1310 INPUT CM$
1320 GOTO 200
1490 REM [QUIT]
1500 CM$=""
1510 INPUT "Quit (y/N)";CM$
1520 IF CM$="y" THEN END
1530 GOTO 200
1550 REM [SUB BANNER]
1560 FOR S1=1 to 5
1570 FOR S=1 to LEN(BN$)
1580 LA=ASC(MID$(BN$,S,1))
1590 IF LA=32 THEN LA=37
1600 IF LA>47 AND LA<58 THEN LA=LA-21
1610 IF LA>64 AND LA<91 THEN LA=LA-64
1620 IF LA>96 AND LA<123 THEN LA=LA-96
1630 PRINT AZ$(LA,S1);
1640 NEXT S
1650 PRINT
1660 NEXT S1
1670 RETURN
1690 REM [PRESENT]
1700 FOR N=1 to LT
1710 FC$=MID$(DC$(N),1,1)
1720 IF FC$<>":" THEN PRINT DC$(N):GOTO 1790
1730 FC$=MID$(DC$(N),2,1)
1740 IF FC$="l" THEN BN$=MID$(DC$(N),3):GOSUB 1550
1750 IF FC$="h" THEN
1751 FOR N1=1 to 79
1752 PRINT "=";
1753 NEXT N1
1754 PRINT
1755 END IF
1760 IF FC$="c" THEN PRINT CHR$(27)+"[2J"+CHR$(27)+"[;H"
1770 IF FC$="b" THEN
1771 N1=VAL(MID$(DC$(N),3))
1772 FOR N2=1 to N1
1773 PRINT
1774 NEXT N2
1775 END IF
1776 IF FC$="t" THEN PRINT SPC(VAL(MID$(DC$(N),3)));
1780 IF FC$="p" THEN INPUT CM$:LET CM$=""
1790 NEXT N
1795 PRINT "Presentation completed."
1800 GOTO 200