470 POKE 216,0: IF PEEK(222) < >6 THEN PRINT "ERROR NUMBER "; PEEK(222): PRINT "PLEASE CONSULT YOUR MANUAL": FOR I = 1 TO 2000: NEXT : GOSUB 1520: GOTO 150
480 PRINT "THAT NAME IS NOT ON THIS DISK": PRINT "SHOULD I DELETE THAT ENTRY (Y/N)?";: GET I$: PRINT I$: IF I$ < >"Y" THEN GOSUB 1520: GOTO 150
490 FOR II = I TO N -1:N$(I) = N$(I +1): NEXT :N = N -1: GOSUB 1580: GOSUB 1520: GOTO 150
500 REM SAVE PAGE EDITOR FILE
510 F = 0: GOSUB 1630:I = VAL(I$): IF I < >0 THEN I$ = MID$ (N$(I),2, LEN(N$(I)))
520 FOR X = 1 TO N: IF I$ < > MID$ (N$(X),2, LEN(N$(X))) THEN NEXT :N = N +1:X = N
640 POKE 216,0: FOR II = I TO N -1:N$(I) = N$(I +1): NEXT :N = N -1: GOSUB 1520: GOTO 150
650 POKE 216,0: IF PEEK(222) < >6 THEN PRINT "ERROR NUMBER "; PEEK(222): PRINT "PLEASE CONSULT YOUR MANUAL": FOR I = 1 TO 2000: NEXT : GOSUB 1520: GOTO 150
660 GOTO 640
670 REM SORT PAGE EDITOR NAMES
680 FOR I = 1 TO N:SL = I: FOR II = I TO N
690 IF MID$ (N$(SL),2, LEN(N$(SL))) > MID$ (N$(II),2, LEN(N$(II))) THEN SL = II
700 NEXT :H$ = N$(SL):N$(SL) = N$(I):N$(I) = H$: NEXT
710 GOSUB 1580: GOSUB 1520: GOTO 150
720 REM G=<FUTURE USE>
730 GOTO 170
740 REM H=MOVE LEFT (LEFT ARROW)
750 H = H -1: IF H <1 THEN H = 40
760 GOTO 150
770 REM I=INSERT NEW PAGE
780 IF MP = 8 THEN CALL 64484: GOTO 150
790 GOSUB 1480:II = CP: FOR I = MP TO II STEP -1:CP = I: GOSUB 1520:CP = I +1: GOSUB 1480: NEXT
800 MP = MP +1:CP = II: GOSUB 1930: GOTO 150
810 REM J=BACKWARD PAGE
820 GOSUB 1480:CP = CP -1: IF CP <1 THEN CP = MP
830 GOSUB 1520: GOTO 150
840 REM K=FORWARD PAGE
850 GOSUB 1480:CP = CP +1: IF CP >MP THEN CP = 1
860 GOSUB 1520: GOTO 150
870 REM L=<FUTURE USE>
880 GOTO 170
890 REM M=RETURN
900 H = 1:V = V +1: IF V >24 THEN V = 1
910 GOTO 150
920 REM N=NEW
930 GOSUB 1480: HOME : VTAB (4): PRINT "NEW, REALLY (Y/N)?";: GET I$: PRINT I$: IF I$ < >"Y" THEN GOSUB 1520: GOTO 150
1010 GOSUB 1480: HOME : VTAB (4): PRINT "QUIT, REALLY (Y/N)?";: GET I$: PRINT I$: IF I$ < >"Y" THEN GOSUB 1520: GOTO 150
1020 GOSUB 1580: END
1030 REM R=RESET HORIZ. TABS
1040 GOSUB 1480: HOME : VTAB (4): PRINT "HORIZONTAL TABULATIONS": VTAB (8): FOR I = 1 TO 9: PRINT "T";I;" = "; RIGHT$("0" + STR$(T(I)),2): NEXT : VTAB (21): HTAB (1): PRINT "ENTER NEW VALUE OR 'RETURN'"
1050 VTAB (8): FOR I = 1 TO 9: HTAB (6): GET IW$: IF ASC(IW$) = 13 THEN 1070
1060 PRINT IW$;: GET I2$:T(I) = VAL(IW$ +I2$): IF T(I) <1 OR T(I) >40 THEN T(I) = 1
1070 HTAB (6): PRINT RIGHT$("0" + STR$(T(I)),2): NEXT
1560 IF PEEK(1058) = 208 AND PEEK(1060) = 199 AND PEEK(1062) = 160 THEN POKE 1063,176 +CP
1570 RETURN
1580 REM SAVE INDEX
1590 PRINT D$;"OPEN INDEX.PE"
1600 PRINT D$;"WRITE INDEX.PE"
1610 PRINT N: FOR I = 1 TO N: PRINT N$(I): NEXT
1620 PRINT D$;"CLOSE": RETURN
1630 REM PICK DISK NAME
1640 HOME : IF N = 0 AND F = 1 THEN VTAB (10): PRINT "NO NAMES PRESENT": FOR I = 1 TO 1000: NEXT : GOSUB 1520: POP : GOTO 150
1650 IF N < >0 THEN 1680
1660 VTAB (20): PRINT "ENTER NAME TO STORE";: INPUT I$: IF I$ = "" THEN GOSUB 1520: POP : GOTO 150
1670 RETURN
1680 I$ = "": FOR I = 1 TO N: PRINT RIGHT$(" " + STR$(I),3) +" " + MID$ (N$(I),2, LEN(N$(I))): IF INT(I/20) = I/20 THEN GOSUB 1720
1690 NEXT : IF I$ = "" THEN GOSUB 1720
1700 IF I$ = "" THEN GOSUB 1520: POP : GOTO 150
1710 RETURN
1720 PRINT : PRINT "ENTER THE NUMBER ";: IF F = 0 THEN PRINT "OR NAME ";
1730 PRINT "YOU WANT": PRINT "OR 'RETURN' ONLY";: INPUT I$: IF I$ < >"" THEN I = N
1740 IF VAL(I$) <0 OR VAL(I$) >N THEN PRINT "ENTER A NUMBER BETWEEN 1 AND ";N: GOTO 1720
1750 RETURN
1760 REM HELP
1770 GOSUB 1480: HOME : VTAB (3): PRINT "NIBBLE PAGE EDITOR CONTROL KEYS": PRINT
1780 PRINT "A=MOVE CURSOR UP N=NEW"
1790 PRINT "B=CURSOR BOTTOM O=CURSOR TO ORIGIN"
1800 PRINT "C=CLEAR PAGE P=CREATE NEW PAGE"
1810 PRINT "D=DELETE PAGE Q=QUIT"
1820 PRINT "E=<FUTURE USE> R=RESET HORIZ. TABS"
1830 PRINT "F=FILES ACCESS S=SCREEN DUMP"
1840 PRINT "G=<FUTURE USE> T=HORIZ. TAB (1-9)"
1850 PRINT "H=CURSOR LEFT U=CURSOR RIGHT"
1860 PRINT "I=INSERT A PAGE V=VIDEO SWITCH"
1870 PRINT "J=PREVIOUS PAGE W=WHAT? (THIS LIST)"
1880 PRINT "K=NEXT PAGE X=EXCHANGE PAGES"
1890 PRINT "L=<FUTURE USE> Y=<FUTURE USE>"
1900 PRINT "M=RETURN Z=CURSOR DOWN"
1910 PRINT : PRINT "HORIZONTAL TABULATIONS": PRINT : FOR I = 1 TO 5: PRINT "T";I;"= "; RIGHT$("0" + STR$(T(I)),2);" ";: NEXT : PRINT : FOR I = 6 TO 9: PRINT "T";I;"= "; RIGHT$("0" + STR$(T(I)),2);" ";: NEXT
1920 PRINT : PRINT : PRINT "PRESS ANY KEY?";: GET I$: PRINT I$: HOME : RETURN
1930 REM HOME AND DO PAGE
1940 HOME : HTAB (35): NORMAL : PRINT "PAGE ";CP: GOSUB 1310: RETURN
1950 REM INIT ALL
1960 V = 1:H = 1:CP = 1:MP = 1:D$ = CHR$(4): DIM N$(100)
1970 FOR I = 1 TO 8:T(I) = I *5: NEXT :T(9) = 1
1980 ONERR GOTO 2020
1990 PRINT D$;"OPEN INDEX.PE"
2000 PRINT D$;"READ INDEX.PE"
2010 INPUT N: FOR I = 1 TO N: INPUT N$(I): NEXT
2020 PRINT D$;"CLOSE": POKE 216,0
2030 POKE 768,160: POKE 769,0: POKE 770,76: POKE 771,44: POKE 772,254: REM SET UP MOVE WITH SHORT MACHINE CODE