270 TEXT : HOME : VTAB 8:ER = PEEK(222): PRINT DD$"CLOSE": CALL 54915: ON ER GOTO 350,350,290,340,380,280,280,290,300,310,320,350,330,350,350,320,300: GOTO 350
280 PRINT "FILE NOT FOUND": GOTO 360
290 PRINT "TROUBLE WITH THE DISK DRIVE": GOTO 360
300 PRINT "DISK FULL": GOTO 360
310 PRINT NM$" IS LOCKED": INPUT "UNLOCK IT? ";Q$: IF LEFT$(Q$,1) = "Y" OR LEFT$(Q$,1) = CHR$(121) THEN PRINT DD$"UNLOCK"NM$: GOTO 360
610 HOME : PRINT "SELECTION: "FD$(SF)" "SX$(SX): VTAB 8: INPUT "TYPE COMPARISON TEXT >> ";SS$
620 RETURN
630 REM === SET FILENAME
640 HOME : VTAB 8: PRINT "CURRENT CATALOG FILENAME IS "NM$: PRINT "<RETURN> OR <?> OR TYPE NEW FILENAME"
650 INPUT ">> ";T$: IF T$ = "?" THEN PRINT DD$"CAT": GOTO 650
660 IF T$ >"" THEN NM$ = T$
670 RETURN
680 REM === QUIT
690 ON (CT > = 0) GOSUB 440: HOME : VTAB 8: INPUT "ARE YOU SURE YOU WANT TO QUIT? ";Q$: IF LEFT$(Q$,1) < >"Y" AND LEFT$(Q$,1) < > CHR$(121) THEN RETURN
700 HOME : PRINT "GOODBYE . . .": END
710 REM === DISPLAY
720 HOME : IF (SX <0) THEN PRINT "SELECTION: ALL ITEMS":TX = 1
730 IF (SX > = 0) THEN PRINT "SELECTION: "FD$(SF)" "SX$(SX)" "SS$
740 POKE 34,1:L = 0: FOR I = 0 TO CT:II = CT%(I): ON (SX > = 0) GOSUB 190
750 IF TX THEN PRINT LEFT$(CT$(II,0),3)" " LEFT$(CT$(II,1),7);: HTAB 13: PRINT LEFT$(CT$(II,2),22);: HTAB 36: PRINT CT$(II,3):L = L +1
760 IF (L <21) OR (I = CT) THEN 780
770 PRINT "PRESS <RETURN> FOR MORE . . .":L = 0: GET Q$: PRINT : HOME : IF Q$ = CHR$(27) THEN I = CT
910 HOME : VTAB 8: PRINT " 0 NO SORT": FOR I = 0 TO 3: PRINT " "I +1" SORT BY "FD$(I): NEXT
920 VTAB 14: HTAB 1: INPUT "CHOOSE >> ";Q$:Q = VAL(Q$): ON (Q <0) OR (Q >4) GOTO 920: ON (Q = 0) GOTO 940:AF = Q -1: RESTORE : HOME : VTAB 8: HTAB 15: PRINT "SORTING";
930 READ DD: ON (DD >CT) GOTO 930: IF DD >0 THEN PRINT ".";: GOSUB 120: GOTO 930
940 RETURN
950 DATA 307,137,61,29,13,5,2,1,0
960 REM === DELETE
970 IF (SX <0) THEN GOSUB 550: IF (SX <0) THEN RETURN
980 HOME : PRINT "SELECTION: "FD$(SF)" "SX$(SX)" "SS$
990 VTAB 8: PRINT "READY TO DELETE ITEMS FOR WHICH": PRINT FD$(SF)" "SX$(SX)" "SS$
1000 VTAB 14: INPUT "DO YOU WANT TO DO THIS? ";Q$:Q$ = LEFT$(Q$,1): ON (Q$ = "Y" OR Q$ = CHR$(121)) GOTO 1010: GOTO 1030
1010 HOME : VTAB 8: HTAB 15: PRINT "DELETING";: FOR I = CT TO 0 STEP -1:II = CT%(I): GOSUB 190: IF TX THEN CT = CT -1: PRINT ".";: IF I < = CT THEN FOR J = I TO CT:CT%(J) = CT%(J +1): NEXT J
1020 NEXT I: PRINT :SX = -1
1030 RETURN
1040 REM === SAVE/APPEND
1050 HOME :DF = 0:TX = 1: VTAB 8: HTAB 10: PRINT "CHECKING DIRECTORY": IF LEFT$(NM$,1) < >"/" THEN PRINT DD$"PREFIX": INPUT PX$: GOTO 1080
1060 FOR I = LEN(NM$) TO 1 STEP -1:PL = I: IF MID$ (NM$,PL,1) = "/" THEN I = 1
1070 NEXT I:PX$ = LEFT$(NM$,PL)
1080 PRINT DD$"OPEN"PX$",TDIR": PRINT DD$"READ"PX$: INPUT T$: INPUT T$: INPUT T$: IF LEN(NM$) <15 THEN NS$ = NM$ +" "
1090 INPUT T$: ON (T$ = "") GOTO 1100: ON (NS$ < > MID$ (T$,2, LEN(NS$))) GOTO 1090:DF = 1
1100 PRINT DD$"CLOSE": VTAB 2: IF (SX > = 0) THEN PRINT "ONLY SAVING THOSE FILENAMES FOR WHICH": PRINT FD$(SF)" "SX$(SX)" "SS$
1110 IF NOT DF THEN VTAB 8: CALL -958: HTAB 10: GOTO 1140