5 CLS:KEY OFF:SCREEN 0,0,0:WIDTH 80:CLEAR:FOR I=1 TO 10:KEY I,"":NEXT:KEY 2,"GOTO 60"+CHR$(13):KEY 10,"RUN"+CHR$(34)+"BLUEMENU"+CHR$(34)+CHR$(13):LIST 10-57
10 '***************************************************************************
16 '??????????????????????????????????????????????????????????????????????????
18 '?                  BASIC DISK MENU PROGRAM (BLANK)                        ?
20 '?                                                                         ?
22 '?    This is the basic Blueberry.bas Menu program without any data state- ?
24 '? ments or program names inserted. You may insert the program names at    ?
26 '? the appropriate places in the the DATA and RUN routines. To keep all    ?
28 '? the blank numbers from coming up, you may REM at the appropriate place  ?
30 '? in lines 250 to 395.  If you do not mind the full 64 numbers coming up  ?
32 '? on the MENU, you can make a single loop statement at line 250 and de-   ?
34 '? lete lines 260 through 395. The multi-statement method provides some    ?
35 '? flexibility when adding single programs.  For non-basic program MENU    ?
36 '? entries, you can make an appropriate statement at lines 2700 and those  ?
37 '? following. Direct the program to one of these lines with a RUN state-   ?
38 '? ment at the appropriate line between 2000 and 2690. (See BLUEMENU.BAS.) ?
39 '?     This program may be used, in whole or in part, without license or   ?
40 '? attribution.                                                            ?
42 '?               (c) G I N A C O -- 1983                      Ver 5.2/320  ?
50 '??????????????????????????????????????????????????????????????????????????
55 '        *****  < F2 > to RUN  *******  < F10 > For BLUEMENU  *****
57 ' ====== To avoid DOCUMENTATION BOX each time, REM or DELETE  line 5 ======
60 CLEAR:FOR I=1 TO 10:KEY I,"":NEXT
100 CLS:SCREEN 0,0,0: WIDTH 80: COLOR 7,0: KEY OFF: CLEAR
120 DIM AA$(100),N(100)
200 KEY OFF: LOCATE 25,25: PRINT"PLEASE STAND BY -- READING DATA";:GOSUB 1000:LOCATE 25,1:PRINT SPC(77);
210 CLS:LOCATE 2,1:PRINT CHR$(201);STRING$(78,205);CHR$(187);
220 FOR I = 3 TO 23:LOCATE I,1:PRINT CHR$(186);:LOCATE I,80:PRINT CHR$(186);:NEXT
230 LOCATE 24,1:PRINT CHR$(200);STRING$(78,205);CHR$(188);
240 LOCATE 3,20:PRINT "Put  Y O U R M E N U  Name In This Space";
250 I=5:LOCATE I,4:PRINT AA$(1);CHR$(16);N(1):LOCATE I,23:PRINT AA$(2);CHR$(16);N(2):LOCATE I,42:PRINT AA$(3);CHR$(16);N(3):LOCATE I,61:PRINT AA$(4);CHR$(16);N(4)
260 I=6:LOCATE I,4:PRINT AA$(5);CHR$(16);N(5):LOCATE I,23:PRINT AA$(6);CHR$(16);N(6):LOCATE I,42:PRINT AA$(7);CHR$(16);N(7):LOCATE I,61:PRINT AA$(8);CHR$(16);N(8)
270 I=7:LOCATE I,4:PRINT AA$(9);CHR$(16);N(9):LOCATE I,23:PRINT AA$(10);CHR$(16);N(10):LOCATE I,42:PRINT AA$(11);CHR$(16);N(11):LOCATE I,61:PRINT AA$(12);CHR$(16);N(12)
280 I=8:LOCATE I,4:PRINT AA$(13);CHR$(16);N(13):LOCATE I,23:PRINT AA$(14);CHR$(16);N(14):LOCATE I,42:PRINT AA$(15);CHR$(16);N(15):LOCATE I,61:PRINT AA$(16);CHR$(16);N(16)
290 I=9:LOCATE I,4:PRINT AA$(17);CHR$(16);N(17):LOCATE I,23:PRINT AA$(18);CHR$(16);N(18):LOCATE I,42:PRINT AA$(19);CHR$(16);N(19):LOCATE I,61:PRINT AA$(20);CHR$(16);N(20)
300 I=10:LOCATE I,4:PRINT AA$(21);CHR$(16);N(21):LOCATE I,23:PRINT AA$(22);CHR$(16);N(22):LOCATE I,42:PRINT AA$(23);CHR$(16);N(23):LOCATE I,61:PRINT AA$(24);CHR$(16);N(24)
310 I=11:LOCATE I,4:PRINT AA$(25);CHR$(16);N(25):LOCATE I,23:PRINT AA$(16);CHR$(16);N(26):LOCATE I,42:PRINT AA$(27);CHR$(16);N(27):LOCATE I,61:PRINT AA$(28);CHR$(16);N(28)
320 I=12:LOCATE I,4:PRINT AA$(29);CHR$(16);N(29):LOCATE I,23:PRINT AA$(30);CHR$(16);N(30):LOCATE I,42:PRINT AA$(31);CHR$(16);N(31):LOCATE I,61:PRINT AA$(32);CHR$(16);N(32)
330 I=13:LOCATE I,4:PRINT AA$(33);CHR$(16);N(33):LOCATE I,23:PRINT AA$(34);CHR$(16);N(34):LOCATE I,42:PRINT AA$(35);CHR$(16);N(35):LOCATE I,61:PRINT AA$(36);CHR$(16);N(36)
340 I=14:LOCATE I,4:PRINT AA$(37);CHR$(16);N(37):LOCATE I,23:PRINT AA$(38);CHR$(16);N(38):LOCATE I,42:PRINT AA$(39);CHR$(16);N(39):LOCATE I,61:PRINT AA$(40);CHR$(16);N(40)
350 I=15:LOCATE I,4:PRINT AA$(41);CHR$(16);N(41):LOCATE I,23:PRINT AA$(42);CHR$(16);N(42):LOCATE I,42:PRINT AA$(43);CHR$(16);N(43):LOCATE I,61:PRINT AA$(44);CHR$(16);N(44)
360 I=16:LOCATE I,4:PRINT AA$(45);CHR$(16);N(45):LOCATE I,23:PRINT AA$(46);CHR$(16);N(46):LOCATE I,42:PRINT AA$(47);CHR$(16);N(47):LOCATE I,61:PRINT AA$(48);CHR$(16);N(48)
370 I=17:LOCATE I,4:PRINT AA$(49);CHR$(16);N(49):LOCATE I,23:PRINT AA$(50);CHR$(16);N(50):LOCATE I,42:PRINT AA$(51);CHR$(16);N(51):LOCATE I,61:PRINT AA$(52);CHR$(16);N(52)
380 I=18:LOCATE I,4:PRINT AA$(53);CHR$(16);N(53):LOCATE I,23:PRINT AA$(54);CHR$(16);N(54):LOCATE I,42:PRINT AA$(55);CHR$(16);N(55): LOCATE I,61:PRINT AA$(56);CHR$(16);N(56)
390 I=19:LOCATE I,4:PRINT AA$(57);CHR$(16);N(57):LOCATE I,23:PRINT AA$(58);CHR$(16);N(58):LOCATE I,42:PRINT AA$(59);CHR$(16);N(59):LOCATE I,61:PRINT AA$(60);CHR$(16);N(60);
395 I=20:LOCATE I,4:PRINT AA$(61);CHR$(16);N(61):LOCATE I,23:PRINT AA$(62);CHR$(16);N(62):LOCATE I,42:PRINT AA$(63);CHR$(16);N(63):LOCATE I,61:PRINT AA$(64);CHR$(16);N(64);
400 LOCATE 21,5:PRINT SPC(50);:LOCATE 22,5:PRINT SPC(50);:LOCATE 22,31:PRINT"SELECT A PROGRAM ";:LINE INPUT;PROGRAM$
410 N = VAL(PROGRAM$)
415 IF (N < 1 OR N > 64 ) THEN 400
420 IF N<45 THEN 430
425 IF N>46 THEN GOTO 440
430 ON N GOTO 2000,2010,2020,2030,2040,2050,2060,2070,2080,2090,2100,2110,2120,2130,2140,2150,2160,2170,2180,2190,2200,2210,2220,2230,2240,2250,2260,2270,2280,2290,2300,2310,2320,2330,2340,2350,2360,2370,2380,2390,2400,2410,2420,2430,2440
440 ON N-45 GOTO 2450,2460,2470,2480,2490,2500,2510,2520,2530,2540,2560,2570,2580,2590,2600,2610,2620,2630,2640
450 ON ERROR GOTO 15000
1000 REM *****************  DATA INPUT FOR MENU *****************************
1010 P = 64
1020 FOR J=1 TO P
1030 READ AA$(J),N(J)
1040 DATA "--------.---",1:     REM LN  2000
1050 DATA "--------.---",2:     REM     2010
1060 DATA "--------.---",3:     REM     2020
1070 DATA "--------.---",4:     REM     2030
1080 DATA "--------.---",5:     REM     2040
1090 DATA "--------.---",6:     REM LN  2050
1100 DATA "--------.---",7:     REM     2060
1110 DATA "--------.---",8:     REM     2070
1120 DATA "--------.---",9:     REM     2080
1130 DATA "--------.---",10:    REM     2090
1140 DATA "--------.---",11:    REM LN  2100
1150 DATA "--------.---",12:    REM     2110
1160 DATA "--------.---",13:    REM     2120
1170 DATA "--------.---",14:    REM     2130
1180 DATA "--------.---",15:    REM     2140
1190 DATA "--------.---",16:    REM LN  2150
1200 DATA "--------.---",17:    REM     2160
1210 DATA "--------.---",18:    REM     2170
1220 DATA "--------.---",19:    REM     2180
1230 DATA "--------.---",20:    REM     2190
1240 DATA "--------.---",21:    REM LN  2200
1250 DATA "--------.---",22:    REM     2210
1260 DATA "--------.---",23:    REM     2220
1270 DATA "--------.---",24:    REM     2230
1280 DATA "--------.---",25:    REM     2240
1290 DATA "--------.---",26:    REM LN  2250
1300 DATA "--------.---",27:    REM     2260
1310 DATA "--------.---",28:    REM     2270
1320 DATA "--------.---",29:    REM     2280
1330 DATA "--------.---",30:    REM     2290
1340 DATA "--------.---",31:    REM     2300
1350 DATA "--------.---",32:    REM     2310
1360 DATA "--------.---",33:    REM     2320
1370 DATA "--------.---",34:    REM     2330
1380 DATA "--------.---",35:    REM     2340
1390 DATA "--------.---",36:    REM LN  2350
1400 DATA "--------.---",37:    REM     2360
1410 DATA "--------.---",38:    REM     2370
1420 DATA "--------.---",39:    REM     2380
1430 DATA "--------.---",40:    REM     2390
1440 DATA "--------.---",41:    REM LN  2400
1450 DATA "--------.---",42:    REM     2410
1460 DATA "--------.---",43:    REM     2420
1470 DATA "--------.---",44:    REM     2430
1480 DATA "--------.---",45:    REM     2440
1490 DATA "--------.---",46:    REM LN  2450
1500 DATA "--------.---",47:    REM     2460
1510 DATA "--------.---",48:    REM     2470
1520 DATA "--------.---",49:    REM     2480
1530 DATA "--------.---",50:    REM     2490
1540 DATA "--------.---",51:    REM LN  2500
1550 DATA "--------.---",52:    REM     2510
1560 DATA "--------.---",53:    REM     2520
1570 DATA "--------.---",54:    REM     2530
1580 DATA "--------.---",55:    REM     2540
1590 DATA "--------.---",56:    REM LN  2550
1600 DATA "--------.---",57:    REM     2560
1610 DATA "--------.---",58:    REM     2570
1620 DATA "--------.---",59:    REM     2580
1630 DATA "--------.---",60:    REM     2590
1640 DATA "--------.---",61:    REM LN  2600
1650 DATA "--------.---",62:    REM     2610
1660 DATA "--------.---",63:    REM     2620
1670 DATA "--------.---",64:    REM     2630
1700 NEXT J
1710 RETURN
1900 '****************** PROGRAM SELECTION RUN STATEMENTS *********************
2000 RUN"--------.---"
2010 RUN"--------.---"
2020 RUN"--------.---"
2030 RUN"--------.---"
2040 RUN"--------.---"
2050 RUN"--------.---"
2060 RUN"--------.---"
2070 RUN"--------.---"
2080 RUN"--------.---"
2090 RUN"--------.---"
2100 RUN"--------.---"
2110 RUN"--------.---"
2120 RUN"--------.---"
2130 RUN"--------.---"
2140 RUN"--------.---"
2150 RUN"--------.---"
2160 RUN"--------.---"
2170 RUN"--------.---"
2180 RUN"--------.---"
2190 RUN"--------.---"
2200 RUN"--------.---"
2210 RUN"--------.---"
2220 RUN"--------.---"
2230 RUN"--------.---"
2240 RUN"--------.---"
2250 RUN"--------.---"
2260 RUN"--------.---"
2270 RUN"--------.---"
2280 RUN"--------.---"
2290 RUN"--------.---"
2300 RUN"--------.---"
2310 RUN"--------.---"
2320 RUN"--------.---"
2330 RUN"--------.---"
2340 RUN"--------.---"
2350 RUN"--------.---"
2360 RUN"--------.---"
2370 RUN"--------.---"
2380 RUN"--------.---"
2390 RUN"--------.---"
2400 RUN"--------.---"
2410 RUN"--------.---"
2420 RUN"--------.---"
2430 RUN"--------.---"
2440 RUN"--------.---"
2450 RUN"--------.---"
2460 RUN"--------.---"
2470 RUN"--------.---"
2480 RUN"--------.---"
2490 RUN"--------.---"
2500 RUN"--------.---"
2510 RUN"--------.---"
2520 RUN"--------.---"
2530 RUN"--------.---"
2540 RUN"--------.---"
2550 RUN"--------.---"
2560 RUN"--------.---"
2570 RUN"--------.---"
2580 RUN"--------.---"
2590 RUN"--------.---"
2600 RUN"--------.---"
2610 RUN"--------.---"
2620 RUN"--------.---"
2630 RUN"--------.---"
2640 RUN"--------.---"
2690 END
2700 REM **************** CUT OFF FOR NON-BASIC SELECTION *******************
2710 LOCATE 25,10:PRINT SPC(65);:LOCATE 25,10:PRINT"NOT A BASIC PROGRAM -- DATA FILE TO BE LOADED BY XXXXXXXX.XXX.";:FOR I = 1 TO 3000:NEXT:GOTO 2560
2720 LOCATE 25,10:PRINT SPC(65);:LOCATE 25,10:PRINT"NOT A BASIC PROGRAM -- DATA FILE TO BE LOADED BY XXXXXXX2.BAS.";:FOR I = 1 TO 3000:NEXT:GOTO 2560
2730 LOCATE 25,10:PRINT SPC(65);:LOCATE 25,10:PRINT"NOT A BASIC PROGRAM -- LOAD FROM DOS WITH 'TYPE' COMMAND.";:FOR I = 1 TO 3000:NEXT:GOTO 2560
2740 LOCATE 25,10:PRINT SPC(65);:GOTO 400
2750 END
15000 ON ERROR GOTO 0
64900 END
65000 '************************* SAVE ROUTINE ********************************
65100 SAVE"B:YOURMENU.BAS"