90 FOR N = 1 TO 23: PRINT "|": NEXT :LM = 0:WI = 34: GOSUB 880: VTAB 1: PRINT " SCREEN SCRAMBLER"M$" HiRes Graphics Screen Encoder"M$" Copyright (C) 1991, MindCraft": FOR N = 1 TO 34: PRINT "_";: NEXT
100 TEXT : GOSUB 870: GOSUB 820: VTAB 6: FOR N = 1 TO 8: HTAB 4: PRINT A$(N) +M$: NEXT N:N = 1: GOTO 160
110 REM * MENU ROUTINE
120 M = VAL(KE$): IF M >0 AND M <9 THEN N = M +(M = 2) *F1: GOTO 160
130 IF KE$ = K$ OR KE$ = U$ THEN N = N -1 -(N = 3) *F1: IF N <1 THEN N = 8
140 IF KE$ = J$ OR KE$ = H$ THEN N = N +1 +(N = 1) *F1: IF N >8 THEN N = 1
150 IF KE$ = M$ THEN ON N GOTO 200,560,330,310,370,540,170,900
620 F2 = ( LEFT$(FI$,1) = "/"): IF FI$ = "?" THEN 350: REM * CATALOG
630 IF F1 THEN RETURN : REM DOS 3.3
640 IF F2 THEN GOSUB 270: REM * FULL PATH NAME SO CLEAR PREFIX
650 REM * CHECK PRODOS FILE/PATH NAME
660 X$ = FI$: GOSUB 680:FI$ = X$: IF F2 = 0 OR P$ < >"" THEN FI$ = RIGHT$(X$,LN -1)
670 RETURN
680 IF LEFT$(X$,1) < >"/" THEN X$ = "/" +X$
690 LN = LEN(X$): IF RIGHT$(X$,1) = "/" THEN LN = LN -1:X$ = LEFT$(X$,LN)
700 REM * SPLIT PATH NAME INTO SUB-DIRECTORIES
710 M = 0: FOR J = 1 TO LN: IF MID$ (X$,J,1) = "/" THEN P(M) = J:M = M +1
720 NEXT :MMAX = M -1:P(M) = LN +1
730 FOR M = 0 TO MMAX:FI$ = MID$ (X$,P(M) +1,P(M +1) -P(M) -1)
740 GOSUB 760:F$(M) = FI$: NEXT M: RETURN
750 REM * CHECK PRODOS FILE/DIRECTORY NAME
760 NF = 1: IF LEN(FI$) >0 THEN FOR NC = 1 TO LEN(FI$):NA = ASC( MID$ (FI$,NC,1)):NF = ((NA >64 AND NA <91) OR (NA = 46) OR (NA >47 AND NA <58 AND NC >1)) AND NF = 1: NEXT : REM CHECK FILE NAME
770 IF LEN(FI$) >15 OR NF = 0 OR LEFT$(FI$,1) = "." THEN GOSUB 820: PRINT G$" * INVALID NAME ";: GET KE$: GOSUB 820: GOTO 160