home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
educ
/
lang2.zip
/
HEBREW.ZIP
/
HEBREW.BAS
next >
Wrap
BASIC Source File
|
1987-05-04
|
31KB
|
926 lines
10 REM ----------------------------------------------------------------------
20 REM
30 REM DABAR 2.0
40 REM
50 REM
60 REM WRITTEN IN MICROSOFT BASIC 5.22
70 REM
100 REM
110 REM BASED ON DABAR 1.0 BY DANIEL R. CRIDER
120 REM
130 REM COPYRIGHT 1986
140 REM
150 REM
160 REM -------------------------- SET UP ARRAYS ----------------------------
170 CLEAR
180 GOSUB 1370
190 PRINT TAB(38) "DABAR 2.0"
200 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
210 DIM LI(30),US(30)
220 ML=0
230 DIM W$(9),W1$(9),W2#(9),WD(3,9)
240 DIM CONS$(44,7),CN$(23)
250 DIM VOW$(12,3)
260 DIM FIN$(4,10)
270 REM
280 REM ----------------------- LOAD HEBREW CHARACTERS ----------------------
290 REM
300 PRINT:PRINT:PRINT:PRINT
310 OPEN "I",#1,"LETTERS.BAS"
320 FOR I = 1 TO 44
330 PRINT " PLEASE STAND BY ----- LOADING HEBREW CONSONANTS [";I; "]"
340 GOSUB 1410
350 FOR J=1 TO 7
360 LINE INPUT #1,AX$
370 CONS$(I,J)=MID$(AX$,13,8)
380 NEXT J
390 NEXT I
400 PRINT
410 FOR I = 1 TO 12
420 PRINT " ------------------------- LOADING HEBREW VOWELS [";I; "]"
430 GOSUB 1410
440 FOR J = 1 TO 3
450 LINE INPUT #1,AX$
460 VOW$(I,J)=MID$(AX$,13,8)
470 NEXT J
480 NEXT I
490 PRINT
500 FOR I = 1 TO 4
510 PRINT " -------------------- LOADING SPECIAL CHARACTERS [";I; "]"
520 GOSUB 1410
530 FOR J = 1 TO 10
540 LINE INPUT #1,AX$
550 FIN$(I,J)=MID$(AX$,13,8)
560 NEXT J
570 NEXT I
580 CLOSE #1
590 FOR I = 1 TO 23:READ CN$(I):NEXT I
600 REM
610 REM ----------------------- RANDOMIZING ----------------------
620 REM
630 GOSUB 1370
640 PRINT:PRINT:PRINT:PRINT
650 PRINT " ENTER A NUMBER TO RANDOMIZE WORD SELECTION"
660 PRINT " FOR A DIFFERENT DRILL SEQUENCE EACH TIME."
670 PRINT " ------------------------------------------"
680 PRINT " THE SAME NUMBER GIVES THE SAME SEQUENCE."
690 PRINT
700 RANDOMIZE
710 REM
720 REM --------------------------- DRILL SELECTION -------------------------
730 REM
740 GOSUB 1370
750 PRINT "_______________________________________________________________________________"
760 PRINT
770 PRINT "*** DRILL SELECTION DIRECTORY ***"
780 PRINT "_______________________________________________________________________________"
790 PRINT:PRINT
800 PRINT " [ 1 ] THE HEBREW LETTERS [ 11 ] VOCABULARY #1"
810 PRINT " [ 2 ] THE HEBREW VOWELS [ 12 ] VOCABULARY #2"
820 PRINT " [ 3 ] THE DAGHES LENE LETTERS [ 13 ] VOCABULARY #3"
830 PRINT " [ 4 ] THE INSEPARABLE PREPOSITIONS [ 14 ] VOCABULARY #4"
840 PRINT " [ 5 ] THE COMPOSITE SHEWA [ 15 ] VOCABULARY #5"
850 PRINT " [ 6 ] THE INDEFINITE ARTICLE [ 16 ] VOCABULARY #6"
860 PRINT " [ 7 ] THE PRONOMINAL SUFFIXES [ 17 ] VOCABULARY #7"
870 PRINT " [ 8 ] THE PERSONAL PRONOUNS [ 18 ] VOCABULARY #8"
880 PRINT " [ 9 ] THE REGULAR VERB (PERFECT) [ 19 ] VOCABULARY #9"
890 PRINT " [ 10 ] --------------------------- [ 20 ] VOCABULARY #10"
900 PRINT " [ 21 ] EXIT TO CP/M"
910 PRINT "_______________________________________________________________________________"
920 PRINT:PRINT
930 PRINT:PRINT
940 INPUT " WHAT IS YOUR CHOICE";CHOICE
950 IF (CHOICE = 1) THEN LET F$="VOC1"
960 IF (CHOICE = 2) THEN LET F$="VOC2"
970 IF (CHOICE = 3) THEN LET F$="VOC3"
980 IF (CHOICE = 4) THEN LET F$="VOC4"
990 IF (CHOICE = 5) THEN LET F$="VOC5"
1000 IF (CHOICE = 6) THEN LET F$="VOC6"
1010 IF (CHOICE = 7) THEN LET F$="VOC7"
1020 IF (CHOICE = 8) THEN LET F$="VOC8"
1030 IF (CHOICE = 9) THEN LET F$="VOC9"
1040 IF (CHOICE = 10) THEN LET F$="VOC10"
1050 IF (CHOICE = 11) THEN LET F$="VOC11"
1060 IF (CHOICE = 12) THEN LET F$="VOC12"
1070 IF (CHOICE = 13) THEN LET F$="VOC13"
1080 IF (CHOICE = 14) THEN LET F$="VOC14"
1090 IF (CHOICE = 15) THEN LET F$="VOC15"
1100 IF (CHOICE = 16) THEN LET F$="VOC16"
1110 IF (CHOICE = 17) THEN LET F$="VOC17"
1120 IF (CHOICE = 18) THEN LET F$="VOC18"
1130 IF (CHOICE = 19) THEN LET F$="VOC19"
1140 IF (CHOICE = 20) THEN LET F$="VOC20"
1150 IF (CHOICE = 21) THEN SYSTEM
1160 IF CHOICE<1 OR CHOICE>21 THEN 940
1170 OPEN "R",#1,F$,124
1180 GOSUB 1370
1190 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
1200 PRINT " PLEASE STAND BY . . . SCANNING DRILL FILE."
1210 FIELD #1,2 AS W$(1),2 AS W$(2),2 AS W$(3),2 AS W$(4),2 AS W$(5),2 AS W$(6),2 AS W$(7),2 AS W$(8),2 AS W$(9),106 AS Y$
1220 FIELD #1,18 AS Y3$,2 AS W1$(1),2 AS W1$(2),2 AS W1$(3),2 AS W1$(4),2 AS W1$(5),2 AS W1$(6),2 AS W1$(7),2 AS W1$(8),2 AS W1$(9),88 AS Y5$
1230 FIELD #1,36 AS Y4$,2 AS W2$(1),2 AS W2$(2),2 AS W2$(3),2 AS W2$(4),2 AS W2$(5),2 AS W2$(6),2 AS W2$(7),2 AS W2$(8),2 AS W2$(9),70 AS DF$
1240 LR=1
1250 DL=0
1260 GET #1,LR
1270 IF EOF(1) GOTO 1320
1280 WD(2,1)=CVI(W1$(1))
1290 IF WD(2,1)=99 THEN DL=DL+1
1300 LR=LR+1
1310 GOTO 1260
1320 LR=LR-1
1330 GOTO 3520
1340 REM ************ RING BELL CODE
1350 PRINT CHR$(7);CHR$(7);
1360 RETURN
1370 REM ************ CLEAR SCREEN CODE
1380 PRINT CHR$(26)
1390 PRINT CHR$(27) CHR$(61) CHR$(31+ROW) CHR$(31-COL);
1400 RETURN
1410 REM ************ CURSOR UP SCREEN CODE
1420 PRINT CHR$(11);
1430 RETURN
1440 REM ************ CURSOR DOWN SCREEN CODE
1450 PRINT CHR$(10);
1460 RETURN
1470 REM ************ DISPLAY MENU
1480 SU=0
1490 GOSUB 1370
1500 PRINT TAB(30); "CURRENTLY ";LR-DL;" ITEMS ON FILE."
1510 PRINT
1520 PRINT
1530 PRINT "_______________________________________________________________________________"
1540 PRINT
1550 PRINT "*** DRILL OPERATION MENU ***"
1560 PRINT "_______________________________________________________________________________"
1570 PRINT
1580 PRINT " [ 1 ] GO THROUGH THE ENTIRE DRILL."
1590 PRINT " [ 2 ] REVIEW THE LAST [ ? ] ITEMS."
1600 PRINT " [ 3 ] REVIEW ENTIRE DRILL AND CONCENTRATE ON LAST [ ? ] ITEMS"
1610 PRINT " [ 4 ] CHOOSE ANOTHER DRILL OR END PROGRAM."
1620 PRINT " [ 5 ] ENTER FILE UTILITY MENU."
1630 PRINT
1640 PRINT
1650 INPUT " WHAT IS YOUR CHOICE";M
1660 IF M>5 OR M<1 THEN 1650
1670 ON M GOTO 3520,3290,4180,1680,9110
1680 REM ************ RETURN TO DRILL MENU
1690 CLOSE #1
1700 GOTO 720
1710 REM ************ ADD NEW WORDS TO VOCABULARY
1720 GOSUB 1370
1730 REM ************ SET UP CONSONANTS
1740 GOSUB 1370
1750 PRINT "ENTER NUMBER OF CONSONANTS PLEASE (ENTER 0 TO RETURN TO MENU) ";
1760 INPUT WL
1770 IF WL=0 THEN 9110
1780 IF WL<10 THEN 1960
1790 GOTO 1750
1800 REM ************ CONSONANT SELECT MENU
1810 GOSUB 1370
1820 PRINT "LIMIT IS 9 CONSONANTS"
1830 PRINT "SELECT YOUR CONSONANTS BY NUMBER"
1840 PRINT "[ 1 ] ALEP [ 10 ] YOD [ 19 ] QOP"
1850 PRINT "[ 2 ] BET [ 11 ] KAP [ 20 ] RES"
1860 PRINT "[ 3 ] GIMEL [ 12 ] LAMED [ 21 ] SEEN"
1870 PRINT "[ 4 ] DALET [ 13 ] MEM [ 22 ] SHEEN"
1880 PRINT "[ 5 ] HE [ 14 ] NUN [ 23 ] TAW"
1890 PRINT "[ 6 ] WAW [ 15 ] SAMEK [ 24 ] MAQQEPH -"
1900 PRINT "[ 7 ] ZAYIN [ 16 ] AYIN [ 25 ] BLANK (NO CONSONANTS)"
1910 PRINT "[ 8 ] HET [ 17 ] PE [ 26 ] CORRECT LAST CONSONANT"
1920 PRINT "[ 9 ] TET [ 18 ] SADE"
1930 PRINT:PRINT
1940 PRINT
1950 RETURN
1960 REM ************ CONSONANT DRIVER
1970 IX=0
1980 FOR J=1 TO 9
1990 WD(2,J)=43
2000 NEXT J
2010 FOR J=0 TO 9
2020 WD(1,J)=12
2030 WD(3,J)=12
2040 NEXT J
2050 GOSUB 1800
2060 REM QUICK LOAD CONSONANTS ********************************
2070 PRINT "ENTER ALL CONSONANTS BY NUMBER AND SEPARATED BY COMMAS:"
2080 PRINT
2090 LINE INPUT L$
2100 IF LEN(L$)<>WL*3-1 THEN PRINT "WRONG NUMBER OF CONSONANTS":GOTO 2090
2110 IL=1
2120 FOR WX=WL TO 1 STEP -1
2130 IX=IX+1
2140 IZ$=MID$(L$,IL,2)
2150 IL=IL+3
2160 IZ=VAL(IZ$)
2170 GOSUB 8730
2180 NEXT WX
2190 GOTO 2330
2200 REM ************ FIX LAST CONSONANT
2210 IF IX=1 THEN PRINT "THIS IS YOUR FIRST CONSONANT":GOTO 2210
2220 PRINT "WOULD YOU LIKE TO CHANGE CONSONANT NUMBER ";IX-1;" WHICH IS NOW"
2230 FOR J=1 TO 7:Z=WD(2,WX+1):PRINT CONS$(Z,J)
2240 NEXT J
2250 INPUT "ENTER Y TO CHANGE, N TO KEEP ";AX$
2260 IF AX$<>"Y" AND AX$<>"N" THEN 2250
2270 IF AX$="N" THEN 2050
2280 WX=WX+1
2290 WD(2,WX)=43
2300 IX=IX-1
2310 GOTO 2050
2320 NEXT WX
2330 REM ************ CHECK ALL CONSONANTS
2340 WX=1
2350 IF IZ=13 THEN ID=24
2360 WD(2,WX)=ID
2370 GOSUB 1370
2380 GOSUB 8000
2390 INPUT "ARE THE CONSONANTS CORRECT";AX$
2400 IF AX$<>"Y" AND AX$<>"N" THEN 2390
2410 IF AX$="Y" THEN GOSUB 2650:GOSUB 8000:GOTO 2720
2420 REM ************ FIX SOME CONSONANT
2430 GOSUB 2450
2440 GOTO 2370
2450 REM ************ CONSONANT REPAIR SUBROUTINE
2460 PRINT "ENTER CONSONANT NUMBER TO FIX (1 IS FAR RIGHT ";WL;" IS FAR LEFT) ";
2470 INPUT IX
2480 WX=WL-IX+1
2490 PRINT "WOULD YOU LIKE TO CHANGE CONSONANT NUMBER ";IX;" WHICH IS NOW"
2500 FOR J=1 TO 7:Z=WD(2,WX):PRINT CONS$(Z,J)
2510 NEXT J
2520 INPUT "ENTER Y TO CHANGE, N TO KEEP ";AX$
2530 IF AX$<>"Y" AND AX$<>"N" THEN 2520
2540 IF AX$="N" THEN 2460
2550 WD(2,WX)=43
2560 GOSUB 1800
2570 GOSUB 1410
2580 PRINT
2590 GOSUB 8610
2600 IF WX=1 AND IZ=13 THEN ID=23
2610 WD(2,WX)=ID
2620 RETURN
2630 REM ************ SELECT VOWELS MENU
2640 PRINT "SELECT YOUR VOWELS BY NUMBER"
2650 PRINT CHR$(26)
2660 PRINT "[ 1 ] HOLEM [ 5 ] PATHAH [ 9 ] HATEPH-PATHAH"
2670 PRINT "[ 2 ] HIREQ [ 6 ] SEGHOL [ 10 ] HATEPH-SEGHOL"
2680 PRINT "[ 3 ] SERE [ 7 ] QUIBBUS [ 11 ] HATEPH-QAMES"
2690 PRINT "[ 4 ] QAMES [ 8 ] SHEWA [ 12 ] CORRECT LAST VOWEL"
2700 PRINT " [ 13 ] NO VOWEL (BLANK)"
2710 RETURN
2720 REM ----------------------- QUICK LOAD VOWELS -------------------------
2730 PRINT "ENTER ALL VOWELS BY NUMBER AND SEPERATED BY COMMAS:"
2740 PRINT
2750 LINE INPUT L$
2760 IF LEN(L$)<>WL*3-1 THEN PRINT "WRONG NUMBER OF VOWELS ":GOTO 2750
2770 IL=1
2780 FOR WX=WL TO 1 STEP -1
2790 IX=IX+1
2800 IZ$=MID$(L$,IL,2)
2810 IL=IL+3
2820 IZ=VAL(IZ$)
2830 IF IZ=1 THEN WD(1,WX)=1
2840 IF IZ=13 THEN IZ=12
2850 IF IZ<>1 THEN WD(3,WX)=IZ
2860 NEXT WX
2870 GOTO 3170
2880 REM ************ FIX LAST VOWEL
2890 IF IX=1 THEN PRINT "THIS IS YOUR FIRST VOWEL.":GOTO 3240
2900 PRINT "WOULD YOU LIKE TO CHANGE VOWEL NUMBER ";IX-1;"WHICH IS NOW:"
2910 Z=WD(3,WX+1):Z2=WD(1,WX+1)
2920 IF Z=12 THEN Z=Z2
2930 IF Z=12 THEN PRINT "UNASSIGNED (NO VOWEL YET)":GOTO 3060
2940 ON Z GOTO 2950,2960,2970,2980,2990,3000,3010,3020,3030,3040,3050
2950 PRINT "HOLEM":GOTO 3060
2960 PRINT "HIREQ":GOTO 3060
2970 PRINT "SERE":GOTO 3060
2980 PRINT "QUAMES":GOTO 3060
2990 PRINT "PATHAH":GOTO 3060
3000 PRINT "SEGHOL":GOTO 3060
3010 PRINT "QUIBBUS":GOTO 3060
3020 PRINT "SHEWA":GOTO 3060
3030 PRINT "HATEPH-PATHAH":GOTO 3060
3040 PRINT "HATEPH-SEGHOL":GOTO 3060
3050 PRINT "HATEPH-QUAMES":GOTO 3060
3060 FOR J=1 TO 3
3070 PRINT VOW$(Z,J)
3080 NEXT J
3090 INPUT "ENTER Y TO CHANGE, N TO KEEP ";AX$
3100 IF AX$<>"Y" AND AX$<>"N" THEN 3090
3110 IF AX$="N" THEN 3190
3120 WX=WX+1
3130 WD(3,WX)=12:WD(1,WX)=12
3140 IX=IX-1
3150 GOTO 3190
3160 NEXT WX
3170 REM ************ FINAL VOWEL CHECK
3180 GOSUB 1370
3190 GOSUB 8000
3200 PRINT
3210 INPUT "ARE ALL OF THE VOWELS CORRECT (Y OR N)";AX$
3220 IF AX$<>"Y" AND AX$<>"N" THEN 3210
3230 IF AX$="N" THEN 3270
3240 GOSUB 7660
3250 IF FZ$="REPAIR" THEN RETURN
3260 GOTO 1730
3270 GOSUB 4490
3280 GOTO 3170
3290 REM ************ REVIEW LAST X WORDS
3300 GOSUB 1370
3310 PRINT "ENTER THE NUMBER OF YOUR MOST RECENT VOCABULARY WORDS YOU WISH TO REVIEW"
3320 INPUT "ENTER A 0 TO RETURN TO THE MAIN MENU ";RX
3330 IF RX=0 THEN 1470
3340 RZ=RX
3350 IF RX>30 THEN RZ=30
3360 FOR I=1 TO 30:US(I)=0:LI(I)=0:NEXT I:UL=0:ML=0
3370 SS=0:SR=0
3380 GOSUB 1370
3390 I=INT(RND*15)+1
3400 IF I>4 AND I<8 THEN 3490
3410 TR=INT(RND*RX)+1
3420 TR=TR+(LR-RX)
3430 FOR I=1 TO RZ
3440 IF US(I)=TR THEN 3410
3450 NEXT I
3460 GOSUB 4400
3470 GOSUB 3810
3480 GOTO 3390
3490 REM ********** CALL MISS LIST ******
3500 GOSUB 3680
3510 GOTO 3390
3520 REM ************ REVIEW ENTIRE VOCABULARY
3530 FOR I=1 TO 30:US(I)=0:LI(I)=0:NEXT I:UL=0:ML=0
3540 SS=0:SR=0
3550 RZ=30
3560 I=INT(RND*15)+1
3570 IF I>4 AND I<8 THEN 3650
3580 TR=INT(RND*LR)+1
3590 FOR I=1 TO 30
3600 IF US(I)=TR THEN 3560
3610 NEXT I
3620 GOSUB 4400
3630 GOSUB 3810
3640 GOTO 3560
3650 REM ********** CALL MISS LIST ******
3660 GOSUB 3680
3670 GOTO 3560
3680 REM ************ GET ONE OFF OF MISS LIST
3690 IF ML=0 THEN RETURN
3700 MM=1
3710 I=INT(RND*ML)+1
3720 TR=LI(I)
3730 MI=I
3740 GOSUB 4400
3750 GOSUB 3810
3760 MM=0
3770 RETURN
3780 REM SCORE **********************************************
3790 PRINT "OUT OF ";SS-1;" WORDS YOU HAVE GOTTEN ";SR;"RIGHT!"
3800 RETURN
3810 REM ******************** TRY THE WORD **************************
3820 SS=SS+1
3830 UL=UL+1
3840 IF UL=LR THEN FOR I=1 TO 30:US(I-1)=0:NEXT I:UL=0
3850 IF UL=RZ THEN FOR I=2 TO RZ:US(I-1)=US(I):NEXT I:UL=UL-1
3860 US(UL)=TR
3870 GOSUB 7970
3880 REM
3890 PRINT "DEFINITION IS...";
3900 INPUT AX$
3910 IF AX$="OR" OR AX$="**OR**" THEN 3900
3920 IF AX$="SCORE" THEN GOSUB 3780:GOTO 3880
3930 IF AX$="MENU" THEN 1470
3940 IF AX$="" OR AX$=" " THEN 4060
3950 X=INSTR(DF$,AX$)
3960 IF X=0 THEN 4060
3970 PRINT "*** CORRECT *** ";DF$
3980 IF MA=0 THEN SR=SR+1
3990 IF MM=0 THEN 4020
4000 FOR IJ=MI TO ML-1:LI(IJ)=LI(IJ+1):NEXT IJ
4010 ML=ML-1
4020 FOR I = 0 TO 1500:NEXT I
4030 IF MA<>0 THEN MA=MA-1:GOTO 3870
4040 GOTO 4050
4050 RETURN
4060 PRINT "*** INCORRECT ANSWER ***"
4070 GOSUB 1340
4080 MA=2
4090 IF KY$="N" THEN MA=1
4100 PRINT "DEFINITION IS...";DF$
4110 ML=ML+1
4120 IF ML>30 THEN ML=30
4130 LI(ML)=TR
4140 PRINT "STRIKE ANY KEY TO CONTINUE"
4150 X$=INKEY$
4160 IF X$="" THEN 4150
4170 GOTO 3810
4180 REM ************ REVIEW ENTIRE VOCABULARY--CONCENTRATE ON LAST X WORDS
4190 GOSUB 1370
4200 PRINT "ENTER THE NUMBER OF YOUR MOST RECENT VOCABULARY WORDS YOU WISH TO REVIEW"
4210 INPUT "ENTER A 0 TO RETURN TO THE MAIN MENU ";RX
4220 IF RX=0 THEN 1470
4230 FOR I=1 TO 30:US(I)=0:LI(I)=0:NEXT I:UL=0:ML=0
4240 RZ=30
4250 SS=0:SR=0
4260 I=INT(RND*15)+1
4270 IF I>4 AND I<8 THEN 4370
4280 IF I>7 AND I<10 THEN TR=INT(RND*LR)+1:GOTO 4310
4290 TR=INT(RND*RX)+1
4300 TR=TR+(LR-RX)
4310 FOR I=1 TO 30
4320 IF US(I)=TR THEN 4290
4330 NEXT I
4340 GOSUB 4400
4350 GOSUB 3810
4360 GOTO 4260
4370 REM ********** CALL MISS LIST ******
4380 GOSUB 3680
4390 GOTO 4260
4400 REM ************ READ A WORD
4410 GET #1, TR
4420 FOR I=1 TO 9
4430 WD(1,I)=CVI(W$(I))
4440 WD(2,I)=CVI(W1$(I))
4450 WD(3,I)=CVI(W2$(I))
4460 NEXT I
4470 IF WD(2,1)=99 THEN TR=TR+1:GOTO 4410
4480 RETURN
4490 REM ************ CORRECT VOWEL SUBROUTINE
4500 PRINT "ENTER THE NUMBER OF THE CONSONANT WHOSE VOWEL YOU WOULD LIKE"
4510 PRINT "TO CHANGE. (1 IS FAR RIGHT, ";WL;"IS FAR LEFT)"
4520 INPUT IX
4530 IF IX=0 THEN RETURN
4540 IF IX>WL OR IX<1 THEN 4500
4550 WX=WL-IX+1
4560 PRINT "WOULD YOU LIKE TO CHANGE VOWEL NUMBER ";IX;"WHICH IS NOW:"
4570 Z=WD(3,WX):Z2=WD(1,WX)
4580 IF Z=12 THEN Z=Z2
4590 IF Z=12 THEN PRINT "UNASSIGNED (NO VOWEL YET)":GOTO 4720
4600 ON Z GOTO 4610,4620,4630,4640,4650,4660,4670,4680,4690,4700,4710
4610 PRINT "HOLEM":GOTO 4720
4620 PRINT "HIREQ":GOTO 4720
4630 PRINT "SERE":GOTO 4720
4640 PRINT "QUAMES":GOTO 4720
4650 PRINT "PATHAH":GOTO 4720
4660 PRINT "SEGHOL":GOTO 4720
4670 PRINT "QUIBBUS":GOTO 4720
4680 PRINT "SHEWA":GOTO 4720
4690 PRINT "HATEPH-PATHAH":GOTO 4720
4700 PRINT "HATEPH-SEGHOL":GOTO 4720
4710 PRINT "HATEPH-QUAMES":GOTO 4720
4720 FOR J=1 TO 3
4730 PRINT VOW$(Z,J)
4740 NEXT J
4750 INPUT "ENTER Y TO CHANGE, N TO KEEP ";AX$
4760 IF AX$<>"Y" AND AX$<>"N" THEN 4750
4770 IF AX$="N" THEN 4490
4780 WD(3,WX)=12:WD(1,WX)=12
4790 GOSUB 2630
4800 GOSUB 8000
4810 PRINT "ENTER VOWEL NUMBER FOR CONSONANT NUMBER ";IX
4820 INPUT IZ
4830 IF IZ<1 OR IZ>12 THEN 4810
4840 IF IZ=1 THEN WD(1,WX)=1
4850 IF IZ>1 THEN WD(3,WX)=IZ
4860 IF IZ=12 THEN WD(1,WX)=12:WD(3,WX)=12
4870 RETURN
4880 REM ******************* CORRECT VOCABULARY *******************
4890 MN$="ON":QK$="N"
4900 GOSUB 1370
4910 PRINT:PRINT
4920 PRINT "_______________________________________________________________________________"
4930 PRINT
4940 PRINT " [ ? ] ENTER THE NUMBER OF THE WORD YOU WANT TO CORRECT"
4950 PRINT " [ 0 ] TO RETURN TO THE UTILITY MENU"
4960 PRINT " [ S ] TO SEARCH FOR A WORD AND ITS NUMBER"
4970 PRINT
4980 PRINT "_______________________________________________________________________________"
4990 PRINT:PRINT
5000 INPUT "WHAT IS YOUR CHOICE";TR$
5010 IF TR$="S" THEN 5200
5020 TR=VAL(TR$)
5030 IF TR<0 OR TR>LR THEN 4880
5040 IF TR=0 THEN GOTO 9110
5050 GOSUB 4400
5060 DW$=DF$
5070 GOSUB 1370
5080 GOSUB 8000
5090 PRINT "WORD NUMBER ";TR
5100 PRINT "DEFINITION IS ";DW$
5110 PRINT "_______________________________________________________________________________"
5120 PRINT
5130 PRINT "[ 1 ] CORRECT CONSONANTS [ 4 ] REDO WORD [ 7 ] GET ANOTHER WORD"
5140 PRINT "[ 2 ] CORRECT VOWELS [ 5 ] DELETE WORD [ 8 ] UTILITY MENU"
5150 PRINT "[ 3 ] CORRECT DEFINITION [ 6 ] STORE WORD"
5160 PRINT
5170 INPUT "WHAT IS YOUR CHOICE";FM
5180 IF FM>8 OR FM<1 THEN 5170
5190 ON FM GOTO 5400,5760,5830,5960,6080,6270,5470,5560
5200 REM ************* SEARCH FOR A WORD **************************
5210 GOSUB 1370
5220 PRINT "ENTER A DEFINITION TO SEARCH FOR (STRIKE ENTER KEY TO ESCAPE"
5230 INPUT "SEARCH MODE) ";AX$
5240 IF AX$="" THEN 4880
5250 PRINT "SEARCHING..... POSSIBLE WORD NUMBERS ARE:"
5260 H=0
5270 FOR TR=1 TO LR
5280 GOSUB 4400
5290 X=INSTR(DF$,AX$)
5300 IF X=0 THEN 5330
5310 H=H+1
5320 PRINT TR;" ";
5330 NEXT TR
5340 PRINT
5350 PRINT H;" MATCHES TO SEARCH FOUND "
5360 PRINT "STRIKE ANY KEY TO CONTINUE"
5370 X$=INKEY$
5380 IF X$="" THEN 5370
5390 GOTO 4880
5400 REM *********** CORRECT CONSONANTS
5410 GOSUB 7970
5420 INPUT "DO YOU WISH TO CORRECT THE CONSONANTS IN THIS WORD";AX$
5430 IF AX$<>"Y" AND AX$<>"N" THEN 5420
5440 IF AX$="N" THEN GOSUB 1370:GOTO 5080
5450 GOSUB 2450
5460 GOTO 5400
5470 REM *********** GET ANOTHER WORD *********************
5480 PRINT "DO YOU WISH TO GET SOME OTHER WORD? "
5490 PRINT "BE WARNED....ANY CHANGES YOU HAVE MADE TO THE "
5500 PRINT "CURRENT WORD WILL BE DROPPED UNLESS YOU HAVE TAKEN OPTION 6"
5510 PRINT "AND STORED YOUR CHANGES TO DISK. STILL WANT ANOTHER WORD?"
5520 INPUT "ENTER Y TO GET ANOTHER WORD, N TO KEEP CURRENT WORD";AX$
5530 IF AX$<>"Y" AND AX$<>"N" THEN 5520
5540 IF AX$="N" THEN GOSUB 1370:GOTO 5080
5550 GOTO 4880
5560 REM ********* RETURN TO MAIN MENU ***************
5570 GOSUB 1370
5580 PRINT:PRINT
5590 PRINT "_______________________________________________________________________________"
5600 PRINT
5610 PRINT "DO YOU WISH TO RETURN TO THE UTILITY MENU?"
5620 PRINT:PRINT
5630 PRINT TAB(5) "BE WARNED ... ANY CHANGES YOU HAVE MADE TO THE CURRENT WORD"
5640 PRINT TAB(5) "WILL BE DROPPED UNLESS YOU HAVE USED OPTIN [ 6 ] AND STORED"
5650 PRINT TAB(5) "YOUR CHANGES TO DISK."
5660 PRINT:PRINT
5670 PRINT TAB(5) "[ Y ] TO RETURN TO THE UTILITY MENU"
5680 PRINT TAB(5) "[ N ] TO RETURN TO THE CORRECTION MENU"
5690 PRINT
5700 PRINT "_______________________________________________________________________________"
5710 PRINT:PRINT
5720 INPUT "WHAT IS YOUR CHOICE";AX$
5730 IF AX$<>"Y" AND AX$<>"N" THEN 5560
5740 IF AX$="N" THEN GOSUB 1370:GOTO 5080
5750 GOTO 9110
5760 REM *********** CORRECT VOWELS ***************************
5770 GOSUB 7970
5780 INPUT "DO YOU WISH TO CORRECT THE VOWELS IN THIS WORD";AX$
5790 IF AX$<>"Y" AND AX$<>"N" THEN 5780
5800 IF AX$="N" THEN GOSUB 1370:GOSUB 8000:GOTO 5110
5810 GOSUB 4490
5820 GOTO 5760
5830 REM *********** CORRECT DEFINITION ****************
5840 INPUT "DO YOU WISH TO CORRECT THE DEFINITION OF THIS WORD";AX$
5850 IF AX$<>"Y" AND AX$<>"N" THEN 5840
5860 IF AX$="N" THEN GOSUB 1370:GOTO 5080
5870 PRINT "ENTER NEW DEFINITION "
5880 INPUT DW$
5890 IF LEN(DW$)>70 THEN PRINT "DEFINITION IS TOO LONG":GOTO 5870
5900 PRINT "DEFINITION OK? "
5910 INPUT AX$
5920 IF AX$<>"N" AND AX$<>"Y" THEN 5900
5930 IF AX$="N" THEN 5870
5940 LSET DF$=DW$
5950 GOSUB 1370:GOTO 5080
5960 REM ********** RE-ENTER WORD ****************************
5970 GOSUB 1370
5980 GOSUB 8000
5990 PRINT "WOULD YOU LIKE TO RE-ENTER THIS WORD FROM SCRATCH? "
6000 PRINT "THIS IS THE ONLY WAY TO CHANGE THE NUMBER OF CONSONANTS "
6010 INPUT "IN THIS WORD....(ENTER Y TO RE-ENTER, N TO KEEP) ";AX$
6020 IF AX$<>"Y" AND AX$<>"N" THEN 5960
6030 IF AX$="N" THEN 5050
6040 FZ$="REPAIR"
6050 GOSUB 1730
6060 FZ$=""
6070 GOTO 4880
6080 REM ******** DELETE WORD *********
6090 IF TR=LR THEN 6180
6100 PRINT "NOTE: DELETED WORDS MAKE DISK SPACE VERY INEFFICIENT"
6110 PRINT "IT IS BETTER TO RE-ENTER WORD FROM SCRATCH THAN TO DELETE"
6120 INPUT "DO YOU WISH TO DELETE THIS WORD";AX$
6130 IF AX$<>"N" AND AX$<>"Y" THEN 6120
6140 IF AX$="N" THEN GOSUB 1370:GOTO 5080
6150 WD(2,1)=99:PRINT "NOW DELETING WORD # ";TR
6160 LR=LR-1
6170 GOTO 6350
6180 PRINT "THIS IS CURRENTLY THE LAST WORD IN THE FILE"
6190 GOSUB 1340:GOSUB 1340:GOSUB 1340
6200 PRINT "THE LAST RECORD CANNOT BE DELETED"
6210 PRINT "WHY DON'T YOU TRY RE-ENTERING SOME OTHER"
6220 PRINT "WORD FROM SCRATCH IN ITS PLACE?"
6230 PRINT "STRIKE ANY KEY TO CONTINUE"
6240 X$=INKEY$
6250 IF X$="" THEN 6240
6260 GOTO 4880
6270 REM ******* WRITE CORRECTED WORD TO DISK **********
6280 GOSUB 1370
6290 GOSUB 7970
6300 PRINT "DEFINITION IS ";DF$
6310 INPUT "READY TO WRITE THIS CORRECTED WORD TO DISK? ";AX$
6320 IF AX$<>"Y" AND AX$<>"N" THEN 6310
6330 IF AX$="N" THEN GOSUB 1370:GOTO 5080
6340 PRINT "NOW STORING ON RECORD NUMBER ";TR
6350 ON ERROR GOTO 7900
6360 FOR I=1 TO 9
6370 LSET W$(I)=MKI$(WD(1,I))
6380 LSET W1$(I)=MKI$(WD(2,I))
6390 LSET W2$(I)=MKI$(WD(3,I))
6400 NEXT I
6410 LSET DF$=DW$
6420 PUT #1,TR
6430 ON ERROR GOTO 0
6440 GOTO 4880
6450 REM ************ PRINT ENTIRE VOCABULARY
6460 PRINT "DO YOU WISH TO PRINT OUT THE ENTIRE VOCABULARY? (Y OR N)";
6470 INPUT AX$
6480 IF AX$<>"Y" AND AX$<>"N" THEN 6460
6490 BV=1: LV=LR:IP=0
6500 IF AX$="Y" THEN 6600
6510 PRINT "DO YOU WISH TO PRINT OUT PART OF THE VOCABULARY? (Y OR N)";
6520 INPUT AX$
6530 IF AX$<>"Y" AND AX$<>"N" THEN 6510
6540 IF AX$="N" THEN 1470
6550 INPUT "ENTER FIRST WORD NUMBER TO LIST ";BV
6560 INPUT "ENTER LAST WORD NUMBER TO LIST ";LV
6570 IF BV<1 THEN BV=1
6580 IF LV>LR THEN LV=LR
6590 GOTO 6640
6600 PRINT "DO YOU WISH A SORTED LISTING";
6610 INPUT AX$
6620 IF AX$<>"Y" AND AX$<>"N" THEN 6600
6630 IF AX$="Y" THEN 6690
6640 FOR TR=BV TO LV
6650 GOSUB 4400
6660 GOSUB 7050
6670 NEXT TR
6680 GOTO 1470
6690 REM ************ SORT ROUTINE **********************
6700 GOSUB 1370:PRINT "STANDBY FOR SORT (THIS MAY TAKE A WHILE)"
6710 DIM SO$(LR), SO(LR)
6720 FOR TR=1 TO LR
6730 GOSUB 4400:PRINT "RECORD ";TR:GOSUB 1410
6740 FOR I=1 TO 8
6750 IF WD(2,I)=43 AND WD(2,I+1)=43 THEN WL=I-1:GOTO 6770
6760 NEXT I
6770 CD$="":FOR I=WL TO 1 STEP -1
6780 Z=WD(2,I)
6790 IF Z=24 THEN Z=22
6800 ZX=Z+65
6810 IF Z=43 THEN ZX=64
6820 CD$=CD$+CHR$(ZX)
6830 NEXT I
6840 SO$(TR)=CD$:SO(TR)=TR
6850 NEXT TR
6860 PRINT
6870 PRINT "FIRST PASS COMPLETE, BEGINNING SECOND PASS":PRINT
6880 FOR I=1 TO LR-1
6890 FOR J=1 TO LR-1
6900 IF SO$(J)<SO$(J+1) THEN 6950
6910 TP$=SO$(J):TP=SO(J)
6920 SO$(J)=SO$(J+1):SO(J)=SO(J+1)
6930 SO$(J+1)=TP$:SO(J+1)=TP
6940 GOSUB 1410:PRINT "I= ";I;" J= ";J
6950 NEXT J:NEXT I
6960 PRINT "SORT COMPLETE....BEGINNING PRINTOUT"
6970 FOR SI=1 TO LR
6980 TR=SO(SI)
6990 IF TR<1 OR TR>LR THEN 7010
7000 GOSUB 4400:GOSUB 7050
7010 NEXT SI
7020 LPRINT CHR$(12);CHR$(12)
7030 ERASE SO$, SO
7040 GOTO 1470
7050 REM ************ PRINT A WORD ROUTINE
7060 IP=IP+1
7070 IF IP<>4 THEN 7100
7080 IP=1:LPRINT STRING$(70,"*")
7090 FOR IZ=1 TO 17:LPRINT:NEXT IZ
7100 LPRINT STRING$(70,"*")
7110 LPRINT "WORD NUMBER ";TR;" DEFINITION IS "
7120 LPRINT DF$
7130 Z=WD(2,1)
7140 LPRINT " ";
7150 FOR I=1 TO 9
7160 Z=WD(1,I)
7170 LPRINT VOW$(Z,3);
7180 NEXT I
7190 LPRINT
7200 FOR J=1 TO 7
7210 FOR I=0 TO 9
7220 Z=WD(2,I)
7230 IF I<>0 THEN 7340
7240 Z2=WD(2,1)
7250 IF Z2<>18 AND Z2<>25 AND Z2<>30 AND Z2<>32 THEN 7330
7260 Z2=WD(3,1)
7270 IF J<4 OR J>6 THEN 7330
7280 Z3$=VOW$(Z2,J-3)
7290 Z4$=MID$(Z3$,4,3)
7300 LPRINT Z4$;
7310 GOTO 7340
7320 Z=WD(2,1)
7330 LPRINT " ";
7340 IF I<>1 THEN 7410
7350 IF Z<>18 AND Z<>25 AND Z<>30 AND Z<>32 THEN 7410
7360 IF Z=18 THEN LPRINT FIN$(1,J);
7370 IF Z=25 THEN LPRINT FIN$(2,J);
7380 IF Z=30 THEN LPRINT FIN$(3,J);
7390 IF Z=32 THEN LPRINT FIN$(4,J);
7400 GOTO 7420
7410 LPRINT CONS$(Z,J);
7420 NEXT I
7430 LPRINT
7440 NEXT J
7450 FOR J=0 TO 3
7460 FOR I=0 TO 9
7470 Z2=WD(3,I)
7480 IF I<>0 THEN 7510
7490 LPRINT " ";
7500 GOTO 7610
7510 IF I<>1 THEN GOTO 7590
7520 Z=WD(2,1)
7530 IF Z<>18 AND Z<>25 AND Z<>30 AND Z<>32 THEN 7590
7540 IF Z=18 THEN LPRINT FIN$(1,J+7);
7550 IF Z=25 THEN LPRINT FIN$(2,J+7);
7560 IF Z=30 THEN LPRINT FIN$(3,J+7);
7570 IF Z=32 THEN LPRINT FIN$(4,J+7);
7580 GOTO 7610
7590 IF J=0 THEN LPRINT " ";
7600 IF J<>0 THEN LPRINT VOW$(Z2,J);
7610 NEXT I
7620 LPRINT
7630 NEXT J
7640 LPRINT
7650 RETURN
7660 REM ************ WRITE RECORD TO DISK
7670 ON ERROR GOTO 7900
7680 PRINT "WHAT IS THE DEFINITION OF THIS WORD?"
7690 INPUT DW$
7700 IF LEN(DW$)>70 THEN PRINT "YOUR DEFINITION IS TOO LONG, PLEASE ENTER A SHORTER ONE":GOTO 7680
7710 INPUT "READY TO WRITE ON DISK? (Y OR N) ";AX$
7720 IF AX$<>"Y" AND AX$<>"N" THEN 7710
7730 IF AX$="N" THEN 7680
7740 IF FZ$<>"REPAIR" THEN 7770
7750 LHOLD=LR
7760 LR=TR-1
7770 PRINT "STORING ON DISK RECORD ";LR+1
7780 FOR I=1 TO 9
7790 LSET W$(I)=MKI$(WD(1,I))
7800 LSET W1$(I)=MKI$(WD(2,I))
7810 LSET W2$(I)=MKI$(WD(3,I))
7820 NEXT I
7830 LSET DF$=DW$
7840 LR=LR+1
7850 PUT #1,LR
7860 ON ERROR GOTO 0
7870 IF FZ$<>"REPAIR" THEN RETURN
7880 LR=LHOLD
7890 RETURN
7900 REM ************ ERROR CONTROL
7910 PRINT "ERROR IS ";ERR
7920 IF ERR=61 THEN PRINT "YOUR DISK IS OUT OF SPACE"
7930 PRINT "PRESS ANY KEY TO CONTINUE"
7940 X$=INKEY$
7950 IF X$="" THEN 7940
7960 RESUME NEXT
7970 REM ************ DISPLAY WORD ROUTINE
7980 GOSUB 1370
7990 IF SS<>1 THEN PRINT "SCORE IS CURRENTLY: ";INT((SR/(SS-1))*100)
8000 FOR I = 1 TO 8
8010 IF WD(2,I)=43 AND WD(2,I+1)=43 THEN WL=I-1:GOTO 8030
8020 NEXT I
8030 Z=WD(2,1)
8040 TX=INT((9-WL)/2)*8
8050 PRINT TAB(TX);
8060 PRINT " ";
8070 FOR I=1 TO WL
8080 Z=WD(1,I)
8090 PRINT VOW$(Z,3);
8100 NEXT I
8110 PRINT
8120 REM CALL POINT FOR NEW WORD
8130 FOR J=1 TO 7
8140 PRINT TAB(TX);
8150 FOR I=0 TO WL
8160 Z=WD(2,I)
8170 IF I<>0 THEN 8280
8180 Z2=WD(2,1)
8190 IF Z2<>18 AND Z2<>25 AND Z2<>30 AND Z2<>32 THEN 8270
8200 Z2=WD(3,1)
8210 IF J<4 OR J>6 THEN 8270
8220 Z3$=VOW$(Z2,J-3)
8230 Z4$=MID$(Z3$,4,3)
8240 PRINT Z4$;
8250 GOTO 8280
8260 Z=WD(2,1)
8270 PRINT " ";
8280 IF I<>1 THEN 8350
8290 IF Z<>18 AND Z<>25 AND Z<>30 AND Z<>32 THEN 8350
8300 IF Z=18 THEN PRINT FIN$(1,J);
8310 IF Z=25 THEN PRINT FIN$(2,J);
8320 IF Z=30 THEN PRINT FIN$(3,J);
8330 IF Z=32 THEN PRINT FIN$(4,J);
8340 GOTO 8360
8350 PRINT CONS$(Z,J);
8360 NEXT I
8370 PRINT
8380 NEXT J
8390 FOR J=0 TO 3
8400 PRINT TAB(TX);
8410 FOR I=0 TO WL
8420 Z2=WD(3,I)
8430 IF I<>0 THEN 8460
8440 PRINT " ";
8450 GOTO 8560
8460 IF I<>1 THEN GOTO 8540
8470 Z=WD(2,1)
8480 IF Z<>18 AND Z<>25 AND Z<>30 AND Z<>32 THEN 8540
8490 IF Z=18 THEN PRINT FIN$(1,J+7);
8500 IF Z=25 THEN PRINT FIN$(2,J+7);
8510 IF Z=30 THEN PRINT FIN$(3,J+7);
8520 IF Z=32 THEN PRINT FIN$(4,J+7);
8530 GOTO 8560
8540 IF J=0 THEN PRINT " ";
8550 IF J<>0 THEN PRINT VOW$(Z2,J);
8560 NEXT I
8570 PRINT
8580 NEXT J
8590 PRINT
8600 RETURN
8610 REM ************ CONSONANT DATA MATCH SUBROUTINE
8620 PRINT "INPUT YOUR CHOICE FOR CONSONANT NUMBER ";IX
8630 INPUT IZ
8640 IF IX=1 OR IZ<>25 THEN 8710
8650 IF WD(2,WX+1)=43 THEN 8670
8660 GOTO 8700
8670 PRINT "DOUBLE BLANKS OR BLANKS AT THE BEGINNING OF A WORD"
8680 PRINT "ARE NOT ALLOWED, PLEASE TRY SOMETHING ELSE"
8690 GOTO 8620
8700 IF IZ=0 THEN GOSUB 1370:GOSUB 1840:GOSUB 7970:GOTO 8610
8710 IF IZ>26 OR IZ<1 THEN 8630
8720 IF IZ=26 THEN 9070
8730 DX$="N"
8740 IF IZ>23 THEN 8780
8750 IF WX=1 AND (IZ=11 OR IZ=13 OR IZ=14 OR IZ=18 OR IZ=19) THEN 8790
8760 IF QK$="Y" AND IZ<>1 AND IZ<>5 AND IZ<>8 AND IZ<>16 AND IZ<>21 THEN PRINT "FOR THE ";CN$(IZ);" IN CONS # ";IX;
8770 IF IZ<>1 AND IZ<>5 AND IZ<>8 AND IZ<>16 AND IZ<>21 THEN INPUT "DAGHES NEEDED IN LETTER? (Y OR N) ";DX$
8780 IF DX$<>"N" AND DX$<>"Y" THEN 8730
8790 ID=IZ
8800 IF IZ=3 THEN ID=4
8810 IF IZ=4 THEN ID=6
8820 IF IZ=5 THEN ID=8
8830 IF IZ=6 THEN ID=9
8840 IF IZ=6 AND DX$="N" THEN INPUT "IS THIS A SUREQ WAW? (Y OR N) ";DX$
8850 IF DX$<>"N" AND DX$<>"Y" AND IZ=6 THEN DX$="N":GOTO 8840
8860 IF IZ=7 THEN ID=11
8870 IF IZ=8 THEN ID=13
8880 IF IZ=9 THEN ID=14
8890 IF IZ=10 THEN ID=16
8900 IF IZ=11 THEN ID=18
8910 IF IZ=12 THEN ID=20
8920 IF IZ=13 THEN ID=22
8930 IF IZ=14 THEN ID=25
8940 IF IZ=15 THEN ID=27
8950 IF IZ=16 THEN ID=29
8960 IF IZ=17 THEN ID=30
8970 IF IZ=18 THEN ID=32
8980 IF IZ=19 THEN ID=34
8990 IF IZ=20 THEN ID=36
9000 IF IZ=21 THEN ID=37
9010 IF IZ=22 THEN ID=39
9020 IF IZ=23 THEN ID=41
9030 IF IZ=24 THEN ID=44
9040 IF IZ=25 THEN ID=43
9050 IF DX$="Y" THEN ID=ID+1
9060 WD(2,WX)=ID
9070 RETURN
9080 DATA "ALEP","BET","GIMEL","DALET","HE","WAW","ZAYIN","HET","TET","YOD"
9090 DATA "KAP","LAMED","MEM","NUN","SAMEK","AYIN","PE","SADE","KOP","RES"
9100 DATA "SEEN","SHEEN","TAW"
9110 GOSUB 1370
9120 PRINT "_______________________________________________________________________________"
9130 PRINT
9140 PRINT "*** FILE UTILITY MENU ***"
9150 PRINT "_______________________________________________________________________________"
9160 PRINT:PRINT
9170 PRINT " [ 1 ] ADD NEW ITEMS TO THE DRILL FILE."
9180 PRINT " [ 2 ] WORK ON THE CHARACTERS IN THE EXISTING FILE."
9190 PRINT " [ 3 ] PRINT ALL THE CHARACTERS IN THE EXISTING FILE."
9200 PRINT " [ 4 ] RETURN TO THE DRILL OPERATION MENU."
9210 PRINT " [ 5 ] RETURN TO THE DRILL SELECTION MENU."
9220 PRINT:PRINT
9230 INPUT " WHAT IS YOUR CHOICE";U
9240 IF U>5 OR U<1 THEN GOTO 9230
9250 ON U GOTO 1710,4880,6450,1490,1680
INT:PRINT
9230 INPUT " WHAT IS YOUR CHOICE";U
9240 IF