0'MENUD - Menu based on DIRECT 9/21/84 5'by Joel Orr 72126,1613-all rights reserved 10CLEAR3000:MAXFILES=2:DEFINTA-Z:DIMA$(72):KEYON 20CLS:P$=CHR$(27)+"p":Q$=CHR$(27)+"q":OPEN"0:DIRECT"FORINPUTAS1:N=0:O=0:L$="More Show Disk Size Room Menu" 23C$=CHR$(29)+CHR$(28)+CHR$(30)+CHR$(31)+CHR$(13) 25ONKEYGOSUB400,430,440,460,600,,,450:LINEINPUT#1,D$ 30IFEOF(1)THEN40ELSELINEINPUT#1,A$(N):E$=MID$(A$(N),10,1) 31IFE$=CHR$(128)THENFORJ=1TO6:MID$(A$(N),J,1)=CHR$(ASC(MID$(A$(N),J,1))OR32):NEXT 32IFE$=CHR$(01)THENMID$(A$(N),9,1)="*" 33N=N+1:GOTO30 35?@0,Q$;DATE$,DAY$;" ";TIME$;:RETURN 40CLOSE:X=40:GOSUB100:K$=P$:GOSUB200:'display menu 50B$=INKEY$:GOSUB35:IFB$=""THEN50:'accept arrows, cr, print time. 60ONINSTR(C$,B$)+1GOTO50,63,63,63,63,85 63K$=Q$:GOSUB200:ONINSTR(C$,B$)GOTO65,70,75,80 65X=X-10:IFX<40THENIFN-O<26THENX=30+10*((N)MOD24)ELSEX=270 67GOTO84 70X=X+10:IFN-O<26THENIF(X-40)/10=>N-OTHENX=40ELSEELSEIFX>270THENX=40 72GOTO84 75X=X-40:IFX<40THENX=X+240ELSEGOTO84 76IFA$(O+((X-40)/10))=""THENX=X-40:GOTO76 77GOTO84 80X=X+40:IFX>270THENX=X-240ELSEIFA$(O+((X-40)/10))=""THENX=40+XMOD40 84K$=P$:GOSUB200:GOTO50 85GOSUB170:IFG$=""THENRETURNELSEIFMID$(G$,10,1)=CHR$(128)THENRUN"0:"+LEFT$(G$,9):'get 90OPEN"0:"+G1$FORINPUTAS1:OPENG1$+".DO"FORAPPENDAS2 95IFEOF(1)THENMENUELSELINEINPUT#1,H$:IFLEN(H$)=255THEN?#2,H$;ELSE?#2,H$ 98GOTO95 100X1=X:CLS:GOSUB35:K$=Q$:FORX=40TO270STEP10:GOSUB200:NEXT:K$=P$:X=X1:GOSUB200 110?@280,Q$;L$;:RETURN 150?@280,STRING$(39,32);:RETURN 170G$=A$(O+((X-40)/10)):G1$=LEFT$(G$,6):RETURN 180FORS=1TO3000:NEXTS:RETURN 200?@X,K$;LEFT$(A$(O+(X-40)/10),9);:RETURN 400IFN<=O+24THENO=0:GOTO410ELSEO=O+24:IFO>48THENO=0:'more 410X=40:GOSUB100:RETURN 430I$=MID$(A$(O+((X-40)/10)),10):IFI$=""THEN435 433GOSUB150:?@280,P$;I$;:IFLEN(I$)<40THEN465ELSEGOSUB180:GOSUB100:'Show 435RETURN 440I$=D$:GOTO433 450MENU 460GOSUB170:OPEN"0:"+G1$FORINPUTAS1:GOSUB150:?@280,P$;256*LOF(1)"bytes in "G1$;Q$; 465gosub180:CLOSE:GOSUB110:RETURN:'size 600 K=0:FA$=LEFT$(DSKI$(0,20,16,0),80):FORJ=1TO80:IFMID$(FA$,J,1)=CHR$(255)THENK=K+1 610 NEXT:GOSUB150:PRINT@280,P$;(80-K)*9*256" bytes in use;";K*9*256"available";Q$;:GOTO465