Disk menu's
You see the menu ?
Take this source for BASIC and write the BASIC to create the new menu (program BASIC) for BASIC.
But the array is present all the files on disk A or B, is interess for disk B, ADD second array for DIM.
10 '********************************
bye bye
By Google
I got a menu program from BaVi-BBS which I used for a loooong time... It basically listed the files (with FILES) on the screen and added a cursor with which you can select them to run.
@DanySoft: Thanks for the list, but i'm looking for a disk menu. That show files and i can use cursur to select a .BAS file ot run it, similar what Manual say.
@Manual: Yes that kind of menu i'm looking, do you have a link of where can i find it?
Nope, I don't know if it's online. And I didn't write it myself (just adapted it for DOS2 and some other things), so I can't just upload it to MRC.
Pant, Pant!
I found the source for you. 
DiskMenu 80 column with a blink included.
10 ' -- DISKMENU -- (C)1992 BY ARSOFT 20 SCREEN 0: WIDTH 80: KEY OFF: CLS: DIM X(5,2) 30 COLOR 15,4,4: COLOR=(4,1,2,3): COLOR=(2,4,0,0): COLOR=(3,7,7,0) 40 PRINT STRING$(79,"=") 50 TT$="D I S K M E N U": LOCATE 40-LEN(TT$)/2,1: PRINT TT$ 60 PRINT STRING$(79,"=") 70 EX$="*": Y=3: GOSUB 130 ' kies file 80 E$=RIGHT$(FI$,3) 90 IF E$="BAS" OR E$="LDR" THEN RUN FI$ 100 IF E$="BIN" THEN BLOAD FI$,R 110 IF E$="COM" OR E$="BAT" THEN LOCATE 0,MY+2:PRINT"Deze file ... MSX-DOS opgestart worden!": END 120 LOCATE 0,MY+2: PRINT"Dit soort files kan ik niet laden...<toets>";:A$=INPUT$(1): CLS: GOTO 40 130 ' -- file kiezen 140 FOR I=BASE(1) TO BASE(1)+239: VPOKE I,0: NEXT I 150 VDP(14)=&HF0: VDP(13)=&H32: XX=0: YY=Y: YO=YY: XO=XX 160 FOR I=0 TO 5: READ S(I): FOR J=0 TO 2: READ X(I,J): NEXT J,I 170 DATA 0,127,248,0, 1,3,255,192, 3,31,254,0 180 DATA 5,255,240,0, 6,7,255,128, 8,63,252,0 190 POKE &HF3B0,78: LOCATE 0,Y: FILES "*."+EX$: MY=CSRLIN: POKE &HF3B0,80 200 FOR I=0 TO 2: VPOKE BASE(1)+10*YY+S(XX)+I,X(XX,I): NEXT I 210 ST=STICK(0): IF ST=0 THEN GOTO 260 220 IF ST=1 THEN YY=YY-1: GOSUB 270 230 IF ST=3 THEN XX=XX+1: GOSUB 270 240 IF ST=5 THEN YY=YY+1: GOSUB 270 250 IF ST=7 THEN XX=XX-1: GOSUB 270 260 IF STRIG(0)=0 THEN GOTO 210 ELSE VDP(14)=0: GOSUB 330: RETURN 270 IF YY<Y THEN YY=Y: RETURN ELSE IF YY>MY THEN YY=MY: RETURN 280 IF XX<0 THEN XX=0: RETURN ELSE IF XX>5 THEN XX=5 : RETURN 290 IF VPEEK(80*YY+(XX*13+1))=32 THEN YY=YO: XX=XO: RETURN 300 FOR I=0 TO 2: VPOKE BASE(1)+10*YO+S(XO)+I,0: NEXT I 310 FOR I=0 TO 2: VPOKE BASE(1)+10*YY+S(XX)+I,X(XX,I): NEXT I 320 YO=YY: XO=XX: RETURN 330 ' -- filenaam inlezen 340 AD=80*YY+(XX*13+1): FI$="" 350 FOR I=0 TO 11: FI$=FI$+CHR$(VPEEK(AD+I)): NEXT I 360 RETURN
I hope you like it.
bye bye
Thanks DanySoft this is the kind disk menu i'm looking for, and also in dutch 
Yersterday i was reading old MSX magazine and read about a program Automenu.
Have someone a dsk file of it?
And Vampire thanks for the fix.
There are many pre-fab diskmenu's out there, i always wrote my own, cause there are menu's with excessive code which makes something simple complex as hell
lol DanySoft's version is pretty basic and easy to modify.
Don't use the first posted menu system... It will not work with HDD's...
I now also wrote a little menu system for you to modify:
10 ' Small menu example Made By: NYYRIKKI
20 DEFINT A-Z:DIM NN$(200)
30 FM$="????????.BAS" 'File mask '?' means any character
40 DA$="0E11110E12C51100C10E1ACD7DF3C11180C0CD7DF332F8F7C9"
50 AD=&HC080:POKE AD,0'Drive: 0=Default, 1=A: 2=B: ... 8=H:
60 FOR I=1 TO 12:AD=AD-(I<>10):POKE AD,ASC(MID$(FM$,I,1)):NEXT I
70 FOR I=&HC08C TO &HC0C0:POKE I,0:NEXT I
80 FOR I=0 TO 25:POKE &HC000+I,VAL("&H"+MID$(DA$,I*2+1,2)):NEXT I
90 DEFUSR=&HC000:DEFUSR1=&HC003
100 IF USR(0)>0 THEN PRINT"Error: No files to load":END
110 FC=FC+1:FOR I=1 TO 12:NN$(FC)=NN$(FC)+CHR$(PEEK(&HC100+I))
120 IF I=8 THEN NN$(FC)=NN$(FC)+"."
130 NEXT I
140 IF USR1(0)=0 THEN 110
150 CLS:NN$(0)=SPACE$(12):NN$(FC+1)=NN$(0)
160 PRINT "------------------"
170 PRINT "| ";NN$(S); " |"
180 PRINT "| >";NN$(S+1);"< |"
190 PRINT "| ";NN$(S+2);" |"
200 PRINT "------------------"
210 A$=INPUT$(1):S=S-(A$=CHR$(31)ANDS<FC-1)+(A$=CHR$(30)ANDS>0)
220 IF A$<>" " AND A$<>CHR$(13) THEN LOCATE 0,1:GOTO 170
230 RUNNN$(S+1)LOL i need blueMSX here at my job to test this stuff directly 

By Guts
Rookie (30)
19-01-2012, 21:23