/*
Text file reader for Nascom Basic
v1.0, [email protected], [email protected]

Load a text file from tape and read/review it. Useful when you just want to
review a text file and not edit it, so you don't have to load the whole edit
program from tape.

No real features, not even comma parsing like the editor, just a quick way to
load and review text files.

*/

PRINT CHR$(27);"[2J"
CLEAR 18000
HR$="=========="
DIM DC$(250)
LT=0
PRINT "NB Reader 1.0"

REM [MAIN]
PRINT HR$
CM$=""
INPUT "l)oad, r)ead, q)uit";CM$
IF CM$="l" THEN GOTO [LOAD]
IF CM$="r" THEN GOTO [READ]
IF CM$="q" THEN GOTO [QUIT]
GOTO [MAIN]

REM [LOAD]
PRINT "[LOAD]"
PRINT "Type, paste, or PLAY lines. Enter \. on a line to end"
PRINT HT$
REM [LOADPOINT]
LI$=""
INPUT LI$
IF LI$="\." THEN GOTO [MAIN]
LT=LT+1
DC$(LT)=LI$
GOTO [LOADPOINT]

REM [READ]
PRINT "[READ]"
IF LT=0 THEN PRINT "!) Nothing loaded.":GOTO [MAIN]
PRINT HT$
I=0
FOR N=1 to LT
PRINT DC$(N)
I=I+1
IF I=20 THEN I=0:INPUT "Continue (Y/n/c)";CM$
IF CM$="n" THEN GOTO [MAIN]
IF CM$="c" THEN I=21
NEXT N
GOTO [MAIN]

REM [QUIT]
CM$=""
INPUT "Quit (y/N)";CM$
IF CM$="y" THEN END
GOTO [MAIN]


/* with line numbers */
1 PRINT CHR$(27);"[2J"
2 CLEAR 18000
3 HR$="=========="
4 DIM DC$(250)
5 LT=0
6 PRINT "NB Reader 1.0"

10 REM [MAIN]
20 PRINT HR$
30 CM$=""
40 INPUT "l)oad, r)ead, q)uit";CM$
50 IF CM$="l" THEN GOTO 100
60 IF CM$="r" THEN GOTO 250
70 IF CM$="q" THEN GOTO 400
80 GOTO 10

100 REM [LOAD]
110 PRINT "[LOAD]"
120 PRINT "Type, paste, or PLAY lines. Enter \. on a line to end"
130 PRINT HT$
140 REM [LOADPOINT]
150 LI$=""
160 INPUT LI$
170 IF LI$="\." THEN GOTO 10
180 LT=LT+1
190 DC$(LT)=LI$
200 GOTO 140

250 REM [READ]
260 PRINT "[READ]"
270 IF LT=0 THEN PRINT "!) Nothing loaded.":GOTO 10
280 PRINT HT$
290 I=0
300 FOR N=1 to LT
310 PRINT DC$(N)
320 I=I+1
330 IF I=20 THEN I=0:INPUT "Continue (Y/n/c)";CM$
340 IF CM$="n" THEN GOTO 10
350 IF CM$="c" THEN I=21
360 NEXT N
370 GOTO 10

400 REM [QUIT]
410 CM$=""
420 INPUT "Quit (y/N)";CM$
430 IF CM$="y" THEN END
440 GOTO 10