0'MENU PROGRAM BY BOB VOLLMER. LAST UPDATE: 10/12/82
10 C1=7:C2=4:C3=3:C0=14:A$="abcdefghijklmnopqrstuvwxyz"
20 KEY 1,"?>DOS":KEY 2," EXIT ":KEY 3,"PRINT":KEY 4,"":KEY 5,"":ON KEY(1) GOSUB 65100:ON KEY(2) GOSUB 65200:ON KEY(3) GOSUB 65300:FOR I=1 TO 3:KEY(I) ON:NEXT I
50 SCREEN 0,1:WIDTH 40:COLOR C1,C2,C3:CLS:COLOR 14,C3:KEY OFF:LOCATE 25,1:PRINT SPACE$(40);:KEY ON:COLOR C1,C2
200 T$(0)="  ADX0011 PROGRAMS   ":GOSUB 500:GOSUB 400:X1=8:GOSUB 300:COLOR C1:I=0
201 I=I+1:T$(I)="ARCHIE la Cucaracha":P$(I)="ARCHIE":GOSUB 65400
202 I=I+1:T$(I)="Full Screen Editor":P$(I)="RV-EDIT":GOSUB 65400
270 WHILE INKEY$<>"":WEND
275 K$ = INKEY$:IF K$ = "" THEN GOTO 275:ELSE IF K$=CHR$(27) THEN 65200:ELSE K=ASC(K$) OR 32:K$=CHR$(K):FOR J=1 TO I:IF K$=MID$(A$,J,1) THEN ON ERROR GOTO 65230:RUN P$(J): ELSE NEXT J:X1=14:GOSUB 300:GOTO 200
280 ON ERROR GOTO 0:GOTO 200
300 BEEP:COLOR X1' -*- PRINT BOTTOM BOX -*-
310 LOCATE Y+N-1,9,0:PRINT CHR$(213)+STRING$(21,205)+CHR$(184);
320 LOCATE Y+N  ,9,0:PRINT CHR$(179)+" TYPE PROGRAM LETTER "+CHR$(179);
330 LOCATE Y+N+1,9,0:PRINT CHR$(212)+STRING$(21,205)+CHR$(190);
340 COLOR X1+16:LOCATE Y+N  ,9 ,0:PRINT CHR$(16);:LOCATE Y+N  ,31,0:PRINT CHR$(17);
350 RETURN
400 X1=8'INPUT X1
410 COLOR X1' -*- PRINT TITLE BOX -*-
420 LOCATE  2,9,0:PRINT CHR$(213)+STRING$(21,205)+CHR$(184)
430 LOCATE  3,9,0:PRINT CHR$(179)+T$(0)+CHR$(179)
440 LOCATE  4,9,0:PRINT CHR$(212)+STRING$(21,205)+CHR$(190)
450 RETURN
500 Y=6:N=14:COLOR C1' -*- PRINT MENU BOX -*-
510 LOCATE  Y,1,0:PRINT CHR$(213)+STRING$(38,205)+CHR$(184);
520 FOR J=Y+1 TO Y+N-1:LOCATE  J,1,0:PRINT CHR$(179)+STRING$(38," ")+CHR$(179);:NEXT J
530 LOCATE Y+N,1,0:PRINT CHR$(212)+STRING$(38,205)+CHR$(190);:RETURN
65100 KEY OFF:SYSTEM
65200 KEY OFF:ON ERROR GOTO 65100:RUN"A:TRANSFER"
65210 ON ERROR GOTO 0:RETURN
65220 KEY OFF:COLOR 14,C2:LOCATE 25,1:PRINT"NO CONTROL PROGRAM WAS FOUND.";:FOR II=1 TO 999:NEXT II:KEY ON:COLOR C1,C2:RESUME NEXT
65230 KEY OFF:COLOR 14,C2:LOCATE 25,1:PRINT"Requested program not available.";:FOR II=1 TO 999:NEXT II:KEY ON:COLOR C1,C2:RESUME NEXT
65300 ON ERROR GOTO 65320:LPRINT CHR$(14);:FOR J=0 TO I:LPRINT T$(J):NEXT:LPRINT :LPRINT :ON ERROR GOTO 0:RETURN
65310 ON ERROR GOTO 0:RETURN
65320 KEY OFF:COLOR 14,C2:LOCATE 25,1:PRINT"THE PRINTER IS NOT READY.";:FOR II=1 TO 999:NEXT II:KEY ON:COLOR C1,C2:RESUME 65310
65400 LOCATE I+7,3,0:T$(I)=MID$(A$,I,1)+" - "+LEFT$(T$(I)+STRING$(30," "),30):PRINT T$(I);:RETURN