340 IF A$ = CHR$(127) THEN A$ = CHR$(4): ON C = LM GOTO 610:C = C -1: POKE H,5: PRINT C +1;" "
350 IF A$ = CHR$(4) AND (LL +LM +1) >C THEN LL = LL -1: POKE M +RM -LM,160: FOR I = M +C -LM TO M +LL +1: POKE I, PEEK(I +1): NEXT : VTAB 2: POKE H,LM: POKE 8,RM -LM: CALL 768: PRINT : GOTO 610
360 ON A$ < > CHR$(15) OR C = (RM -1) GOTO 370:LL = LL +(LL <(RM -LM -1)): FOR I = M +LL TO M +C -LM STEP -1: POKE I, PEEK(I -1): NEXT : POKE M +C -LM,160: VTAB 2: POKE H,LM: POKE 8,RM -LM: CALL 768: PRINT : GOTO 610
370 IF A$ = CHR$(8) THEN C = C -(C >LM): POKE H,5: PRINT C +1;" ": GOTO 610
380 IF A$ = CHR$(21) THEN C = C +(C <RM -1): POKE H,5: PRINT C +1" ":LL = LL +((C +1 -LM) >LL): GOTO 610
390 IF A$ = CHR$(9) THEN GOSUB 940: GOTO 610
400 IF A$ = CHR$(20) THEN TB(C +1) = NOT TB(C +1):X = 160 *( NOT TB(C +1)) +252 *(TB(C +1)): PRINT : VTAB 4: POKE H,C: PRINT CHR$(X): GOTO 610
410 IF A$ = CHR$(13) THEN GOSUB 660: POP : GOTO 250
1510 IF MID$ (FL$,1,1) <"A" THEN PRINT : VTAB 10: POKE H,19: PRINT LC$;"INVALID NAME -- PRESS RETURN TO REENTER ";: GOSUB 170: GOTO 1410
1520 FOR I = 1 TO LEN(FL$):X$ = MID$ (FL$,I,1): IF X$ = " " THEN FL$ = LEFT$(FL$,I -1) +"." + RIGHT$(FL$, LEN(FL$) -I): GOTO 1540
1530 IF ((X$ <"0") AND (X$ < >".")) OR ((X$ >"9") AND (X$ <"A")) OR (X$ >"Z") THEN PRINT : VTAB 10: POKE H,19: PRINT LC$;"INVALID NAME -- PRESS RETURN TO REENTER ";: GOSUB 170: GOTO 1410
1780 PRINT : VTAB 10: POKE H,6: PRINT "ENTER NUMBER OF SPACES BETWEEN LINES (1-4):" SPC( 4)"(CURRENT=";SP;")";: POKE H,49: GOSUB 170
1790 IF A$ = CHR$(13) THEN GOTO 1820
1800 IF A$ <"1" OR A$ >"4" THEN 1780
1810 SP = VAL(A$)
1820 PRINT : VTAB 10: PRINT LC$
1830 RETURN
1840 REM **TRUNCATE LINE**
1850 VTAB 6: POKE H,14: PRINT "OKAY TO ERASE TEXT FROM CURSOR TO END OF LINE? (Y/N) ": VTAB 2: POKE H,C: GOSUB 170: ON (A$ = "N" OR A$ = CHR$(110)) GOTO 1870: IF A$ < >"Y" AND A$ < > CHR$(121) THEN 1850
1860 FOR I = M +C -LM TO M +LL -1: POKE I,160: NEXT : VTAB 2: POKE H,C: FOR I = 1 TO RM -C: PRINT " ";: NEXT :LL = C -LM: PRINT
1870 PRINT : VTAB 6: PRINT LC$
1880 RETURN
1890 REM **ENTER <ESC> CODE**
1900 A = C: VTAB 6: POKE H,13: PRINT "TYPE <ESC> CODE & PRESS <RETURN> TO RESUME TEXT ENTRY"
1910 VTAB 2: POKE H,C: GOSUB 170: IF A$ = CHR$(13) THEN PRINT : GOTO 1970
1920 IF A$ = CHR$(8) THEN B = PEEK(M +C -LM): POKE H,C: PRINT CHR$(B +227 *(B = 27)):C = C -(C >A): POKE M +C -LM,160: VTAB 2: POKE H,C: PRINT " ": GOTO 1960
1930 IF B <27 THEN 1910
1940 POKE M +C -LM,B:B = B +227 *(B = 27): INVERSE : VTAB 2: POKE H,C: PRINT CHR$(B): NORMAL
1950 C = C +(C <RM -1):LL = LL +(LL <C)
1960 POKE H,5: PRINT C +1;" ": GOTO 1910
1970 VTAB 6: PRINT LC$
1980 RETURN
1990 REM **CTRL-CODE TO PRINTER**
2000 VTAB 6: POKE H,17: PRINT "TYPE CONTROL-CHARACTER TO BE SENT TO PRINTER: ";: GOSUB 170: ON ((B >26) OR (B = 13)) GOTO 2020