460 PRINT CHR$(4)"OPEN NAMES": PRINT CHR$(4)"READ NAMES": INPUT SU:SU = (SU >32) *32 +(SU <33) *SU: IF SU = 0 THEN PRINT CHR$(4)"CLOSE": GOTO 480
470 FOR I = 1 TO SU: INPUT SU$(I): NEXT : PRINT CHR$(4)"CLOSE NAMES":
480 W1$ = " IS ":W2$ = " ARE ": VTAB 7: HTAB 2: PRINT "THERE";: IF SU = 1 THEN PRINT W1$;"CURRENTLY "SU" FILE STORED.": GOTO 510
490 PRINT W2$"CURRENTLY "SU" FILES STORED."
500 POKE 216,0
510 VTAB 9: HTAB 11: PRINT "1. ADD A NEW SUBJECT": HTAB 11: PRINT "2. MAKE CHANGES": HTAB 11: PRINT "3. LIST ALL SUBJECTS": HTAB 11: PRINT "4. DELETE A SUBJECT": HTAB 11: PRINT "5. QUIT"
520 PRINT : HTAB 7: PRINT "SELECT ONE OF THE ABOVE:";: POKE -16368,0: GET YN$: PRINT YN$: POKE -16368,0
530 IF YN$ < >"1" AND YN$ < >"2" AND YN$ < >"3" AND YN$ < >"4" AND YN$ < >"5" THEN HOME : GOTO 480
540 POKE 34,5: HOME
550 IF YN$ = "3" THEN 600
560 IF YN$ = "4" THEN 680
570 IF YN$ = "1" THEN 870
580 IF YN$ = "2" THEN 1190
590 TEXT : HOME : END
600 REM LIST MODULE
610 HOME
620 IF SU = 0 THEN VTAB 12: PRINT "NO RECORDS IN FILE.": VTAB 22: PRINT "PRESS RETURN TO CONTINUE";: POKE -16368,0: GET YN$: POKE -16368,0: HOME : GOTO 330
630 FOR I = 1 TO SU: IF I <10 THEN PRINT " "I" "SU$(I): GOTO 650
640 PRINT I" "SU$(I)
650 FOR I = 16 THEN POKE 32,19: POKE 33,19: HOME
660 NEXT
670 POKE 32,0: POKE 33,40: VTAB 23: PRINT "PRESS RETURN FOR MENU.";: POKE -16368,0: GET YN$: POKE -16368,0: PRINT : POKE 34,5: HOME : GOTO 480
680 REM DELETE MODULE
690 IF SU = 0 THEN HOME : VTAB 12: PRINT "NO RECORDS ON DISK!": VTAB 22: PRINT "PRESS RETURN TO CONTINUE";: POKE -16368,0: GET YN$: POKE -16368,0: GOTO 330
700 HOME : GOSUB 1540
710 POKE 32,0: POKE 33,39: POKE 34,23
720 HOME
730 INPUT "DELETE WHICH SUBJECT :";D$:D = VAL(D$): IF D <1 OR D >SU THEN HOME : GOTO 330
740 EE$ = "TYPE 'DEL' TO CONFIRM :":K$ = "":L = 3:VV = 23:HH = 1: GOSUB 90: IF K$ = "DEL" THEN 760
750 HOME : GOTO 330
760 POKE 34,5: HOME : VTAB 12: PRINT "SUBJECT BEING DELETED."
780 IF D = 1 AND SU = 1 THEN SU = 0:SU$(1) = "": GOTO 800
790 FOR I = D TO SU -1:SU$(I) = SU$(I +1): NEXT :SU = SU -1
800 PRINT CHR$(4)"OPEN NAMES": PRINT CHR$(4)"WRITE NAMES": PRINT SU: FOR I = 1 TO SU: PRINT SU$(I): NEXT : PRINT CHR$(4)"CLOSE"
810 POKE 34,5: HOME
820 IF SU = 0 THEN GOTO 330
830 GOSUB 1540
840 PRINT
850 POKE 32,0: POKE 33,40: HTAB 1: PRINT "DELETE ANOTHER (Y/N)?";: POKE -16368,0: GET YN$: PRINT YN$: POKE -16368,0: IF YN$ = "Y" OR YN$ = CHR$(121) THEN 730
860 GOTO 330
870 REM ADD MODULE
880 SU = SU +1: IF SU >32 THEN HOME : VTAB 12: PRINT "THERE ARE ALREADY 32 REVIEW SUBJECTS.": VTAB 22: PRINT "PRESS RETURN TO CONTINUE";: POKE -16368,0: GET YN$: POKE -16368,0: HOME : GOTO 330
1110 VTAB 20: CALL -868: PRINT "IS THIS INFORMATION CORRECT?";: POKE -16368,0: GET YN$: PRINT YN$: POKE -16368,0: IF YN$ = "N" OR YN$ = CHR$(110) THEN 970
1120 IF F = 2 THEN F = 0: RETURN
1130 CN = CN +1: IF CN <101 THEN 970
1140 HOME : VTAB 12: PRINT "WRITING FILE ";: PRINT SU$(SU);: PRINT " TO THE DISK.": ONERR GOTO 1720
1150 PRINT CHR$(4)"OPEN NAMES": PRINT CHR$(4)"WRITE NAMES": PRINT SU: FOR I = 1 TO SU: PRINT SU$(I): NEXT : PRINT CHR$(4)"CLOSE"
1160 PRINT CHR$(4)"OPEN "SU$(SU): PRINT CHR$(4)"WRITE "SU$(SU): PRINT CN: FOR I = 1 TO CN: PRINT CHR$(34);QU$(I): PRINT CHR$(34);CA$(I): NEXT : PRINT CHR$(4)"CLOSE": POKE 216,0
1170 GOTO 330
1180 REM MAKE CHANGES
1190 IF SU = 0 THEN VTAB 12: PRINT "NO RECORDS ON DISK!": VTAB 22: PRINT "PRESS RETURN TO CONTINUE";: POKE -16368,0: GET YN$: PRINT YN$: POKE -16368,0: GOTO 330
1200 HOME : PRINT : GOSUB 1540
1210 POKE 34,22: POKE 32,0: POKE 33,40: VTAB 23: HOME : PRINT "ENTER TOPIC TO MODIFY BY NUMBER:";: INPUT SE: IF SE <1 OR SE >SU THEN GOTO 1210
1220 POKE 34,5: HOME : ONERR GOTO 1690
1230 TEXT : HOME : VTAB 12: PRINT "READING IN ";SU$(SE);" INFORMATION": POKE 34,13: HOME
1240 PRINT CHR$(4)"OPEN "SU$(SE): PRINT CHR$(4)"READ "SU$(SE): INPUT NU: FOR I = 1 TO NU: INPUT QU$(I),CA$(I): NEXT
1340 VTAB 21: PRINT "<C>HANGE QUESTION <N>EW ANSWER <D>ELETE <S>KIP TO NEXT QUESTION <ESC> FOR MENU"
1350 PRINT "SELECT BY LETTER:";: POKE -16368,0: GET L$: PRINT L$: POKE -16368,0:
1360 IF L$ < >"C" AND L$ < >"N" AND L$ < >"D" AND L$ < >"S" AND L$ < > CHR$(99) AND L$ < > CHR$(110) AND L$ < > CHR$(100) AND L$ < > CHR$(115) AND L$ < > CHR$(27) THEN 1260
1370 IF L$ = "C" OR L$ = CHR$(99) THEN CN = I:F = 1:CH = 1: GOSUB 970: HOME : GOTO 1330
1380 IF L$ = CHR$(27) THEN GOTO 1450
1390 IF L$ = "N" OR L$ = CHR$(110) THEN CN = I:F = 1:CH = 1: GOSUB 1070: HOME : GOTO 1330
1400 IF L$ = "D" OR L$ = CHR$(100) THEN CH = 1: GOSUB 1500
1410 HOME : NEXT
1420 HOME : VTAB 12: PRINT "DO YOU WISH TO ADD ANOTHER QUESTION? (Y/N)";:: POKE -16368,0: GET YN$: PRINT YN$: POKE -16368,0
1430 IF YN$ = "Y" OR YN$ = CHR$(121) THEN F = 2:CH = 1:NU = NU +1:CN = NU: HOME : GOSUB 970: GOTO 1420
1440 ON YN$ < >"N" AND YN$ < > CHR$(110) GOTO 1420: IF NOT CH THEN GOTO 330
1450 ONERR GOTO 1710
1460 HOME : VTAB 12: PRINT "REWRITING "SU$(SE)" FILE.": POKE 34,13: HOME
1470 PRINT CHR$(4)"OPEN "SU$(SE): PRINT CHR$(4)"WRITE"SU$(SE): PRINT NU
1480 FOR I = 1 TO NU: PRINT CHR$(34);QU$(I): PRINT CHR$(34);CA$(I): NEXT : PRINT CHR$(4)"CLOSE"
1490 POKE 34,5: POKE 216,0: GOTO 330
1500 IF I = 1 AND NU = 1 THEN HOME : VTAB 12: PRINT "RETURNING TO MENU. PLEASE SELECT THE DELETE OPTION.": FOR I = 1 TO 3000: NEXT : GOTO 330
1510 IF I = NU THEN NU = NU -1: RETURN
1520 S = I:I = I -1: FOR J = S TO NU -1
1530 QU$(J) = QU$(J +1):CA$(J) = CA$(J +1): NEXT :I = 1 +NU:NU = NU -1: FOR I = S TO NU: POP : HOME : GOTO 1330
1540 HOME
1550 FOR I = 1 TO SU: IF I <10 THEN PRINT " "I" "SU$(I): GOTO 1570
1560 PRINT I" "SU$(I)
1570 IF I = 16 THEN POKE 32,19: POKE 33,19: HOME
1580 NEXT
1590 RETURN
1600 HTAB (20 - LEN(A$)/2) +1: PRINT A$: RETURN
1610 REM ::::ERROR ROUTINE
1620 ER = PEEK(222)
1630 IF ER = 6 OR (ER = 5 AND PEEK(48896) = 76) THEN PRINT : PRINT CHR$(4)"CLOSE": PRINT CHR$(4)"OPEN NAMES": PRINT CHR$(4)"WRITE NAMES": PRINT 0: PRINT CHR$(4)"CLOSE": CALL -3288: GOTO 450
1640 IF ER = 5 THEN PRINT CHR$(4)"CLOSE": PRINT CHR$(4)"OPEN NAMES": PRINT CHR$(4)"WRITE NAMES": PRINT 0: PRINT CHR$(4)"CLOSE": CALL -3288: GOTO 480
1650 IF ER = 8 THEN TEXT : HOME : VTAB 7: PRINT "I/O ERROR": PRINT "PLEASE CHECK DISK": VTAB 22: PRINT "PRESS RETURN TO CONTINUE";: POKE -16368,0: GET YN$: POKE -16368,0: CALL -3288: PRINT : GOTO 330
1660 EL = PEEK(218) + PEEK(219) *256
1670 TEXT : HOME : VTAB 7: PRINT "ERROR TYPE "ER" IN LINE #"EL
1680 END
1690 TEXT : HOME : VTAB 7: PRINT "ERROR READING FILE": VTAB 22: PRINT "PRESS RETURN TO CONTINUE";: POKE -16368,0: GET YN$: POKE -16368,0: CALL -3288: PRINT : GOTO 1220