NOTE: This program is now DIRPLUS, a multi platform tool for Vic-20, C64, Plus/4 and C16. This page below is here
for reference / historical reasons.
Vic20 Disk Menu
A disk menu program for Vic-20. It lists the files of the disk and makes
it easy to load and run them. Just go up and down with the
cursor keys and then press return. With an IEC decive such as the SD2IEC you can browse the file structure, enter
disk images and load things really fast with the included SJLOAD turbo (if you have ram expansion). It also contains
a couple of disk operations such as rename, delete and format.
Download: menu28.zip (Latest version with support for IEC and SJLOAD). Download: quicklaunch.zip extras for V28. (Readme included) Download: menu23.zip (Zipped PRG file and documentation) Download: menu20.zip (Same as V23, but starts display on first page of files)
Vic Disk Menu was developed by Leif Bloomquist (V1)
and Anders Persson (V2 to present). (Ideas by Anders Persson, Leif Bloomquist and Christopher Prest).
Earlier versions are included in Leif Bloomquist's blue disk utility cartridge,
Brian Lyons Mega Cart and
nbla000's EasyLoad. (SJLOAD included is V07 and was developed by Edward Carroll, 1570, Diddl and nbla000.)
Vic Disk Menu is now available for Vic-20, Commodore 64 and Plus/4/C16 as "SD2IEC DIR PLUS" with added functionality.
Disk Menu V28 deluxe
Requirements: Vic-20 with diskdrive or other serial storage device. Preferred: Vic-20 with expansion ram, a reset button and SD2IEC.
Installation and usage:
Extract the zip archive to your IEC root dir. Start with LOAD"//:S",8
If you want to use the menu on a normal 1541 drive, then just use the file SJ/M or SJ/MD (deluxe version for expanded vic).
Whats with LOAD"//:S",8? Why not just LOAD"S",8? Well if you are in the root dir, both works just fine, but
loading "//:S" works from any sub dir and will show that directory directly.
News in V28:
An expanded vic will be downscaled to unexpanded mode when starting an unexpanded program.
(This works much as my PRG Starter).
So no more plugging and unplugging carts. Be sure to reset your
computer before starting S again afterwards, or you will still be in unexpanded mode.
(Note that you have to have ram in block 0 to be able to run 3K expanded programs.)
The starter "S" now gives you the option to run the menu without SJLOAD.
The starter will start the previous version (SJ/M) if you have less than 4000 bytes free, or else it
will start the deluxe version (SJ/MD).
The batch delete function is back in the deluxe version. Press "D" on all files you want to delete. They are
marked with an "-". Then press Shift-D to delete them all in one go.
You can now config SJLOAD from the deluxe menu (see where it is in memory in case you forgot, move it or disable it).
You can clear first half of block 5 to get rid of an old autostarting cart image.
You can now press "L" to jump to the last page of files.
The line showing free blocks was removed allowing another line of filenames. The number of free blocks wasn't correct
on SD cards anyway.
The help screen was reworked and expanded.
Note: From the turbo/memory screen you can press "U" to "unexpand now". You normally don't have to do this
unless you try to load an unexpanded program which contains the wrong starting address.
Tip worth mentioning again: If you want to switch text case while the directory is being loaded, then hold down
shift and then press the commodore key, because if you press the commodore key alone, the dir loading is
Disk Menu V27
A bug-fix in V27: Cartridge images of a certain name length was loaded as a normal non-cart program because of
unexpected screen line behaviour. This bug must have been in there for a very long time.
Disk Menu V26
This version combines the two previous versions (24IEC and 25SJLOAD) and adds some enhancements:
The menu now starts up at the first page rather than the last one. I felt this was more natural.
You can now walk with the cursor from one page to the other up and down without having
to press space.
I timed V26 with SJLOAD against cbm file browser with SJLOAD they are equally fast at reading
directories even though vic menu displays the files while reading.
However, if you prefer cbm file browser, then you are welcome to use my SJLOAD-loading starter with
All you have to do is to load "S", change line 12 to load the file browser instead of "M".
Then save it as for example "SFB".
Disk Menu V25SJLOAD
What is SJLOAD? It makes your Vic-20 Jiffy Dos compatible = Really fast SD2IEC access. This is only useful if you have a memory expansion (or you wouldn't be able to load it at all). It's mostly
useful for loading big programs, but the loading of directories is also speeding up.
Unpack the zip archive so that you have the file S and the dir SJ directly in your root directory.
Load the menu from any sub directory with LOAD"//:S",8
If the loader (S) finds SJLOAD in memory, then it just starts it and continues to load the menu.
Or else, it will ask you where to put SJLOAD; In block 0, 3 or 5, then it loads it and then continues to load the menu.
SJLOAD included is V07 and was developed by Edward Carroll, 1570, Diddl and nbla000.
Disk Menu V24IEC
Changes compared to V23 (below):
Pressing "return" on an IEC directory/D64/D81 enters it.
Pressing <- (arrow key in left of "1") now goes to the parent directory.
Press "1" to go to the root directory.
Press "U" to change unit number (8,9 etc).
64HDD support was dropped to free up memory. Use V23 if you are using 64HDD.
Just one program that works on any vic-20 memory configuration.
Smaller size = faster to load.
Sets your IEC device to vic-20 speed which is 20% faster!
Includes dos commands such as rename and delete.
File names are displayed while the directory is being loaded and you can break it with the commodore key if you have seen the program you want to load or
if you discover that you are in the wrong dir. However, cbmfilebrowser loads a whole
directory faster in return.
Tip: Save menu24IEC.prg as M in your root directory. If you are in a sub directory somewhere,
you can always load the menu with LOAD"//:M",8
For further instructions, read about V23 below.
Disk Menu V23
Fast reading of the directory with 9 names/second.
Your 1541 is set to the faster 1540 speed.
While the directory is loading to prepare the menu, you will see the filenames listed.
Any time while the directory is loading, you can press the Commodore
key to continue to the menu with the filenames
you got so far. This way you don't need to load the whole directory if you see
the file you are interested in.
In the menu, use cursor up and down to walk through the list.
Press "Space" for the next page of files (if more than one page). Page
number is displayed.
will always start up on the last page of files, so that you will be taken
the files you saved last. (If you don't like this, use V20 instead.)
When pressing return (="auto load"), the selected file is
loaded ,8 except for if it's block size is 33 or 17, then
it is loaded ,8,1 (because 33 and 17 are the normal
cartridge file sizes)
When programs are loaded, they are automatically started.
Even cartridge files are started with SYS64802 when loaded.
"<-" (arrow key above CTRL) refreshes the directory and also lets you change the unit number.
Default unit number is last drive used. (So if you loaded the menu from tape, then start with OPEN1,8:RUN).
You can display all 144 filenames (maximum for the 1540/1541 drive)
on an unexpanded vic20! This is normally not even possible with LOAD"$",8
because of the small memory.
With expansion memory, you can display up to 1200 filenames (with 64HDD etc).
Suport for filenames longer than 16 characters.
Block sizes over 767 blocks are displayed as something less than 767 (to avoid variable and window overflow).
64HDD support with overrides for 64HDD problems.
On screen help.
"H" for more help
"D" to delete the selected file permanently from the disk.
"R" to rename the selected file.
"F" to format the disk.
"V" to change PC Volume on 64HDD (C:\, D:\ etc)
Small size, just 1416 bytes (.prg).
Note that the number of free blocks not is displayed
in the menu if you don't load the whole directory. Also note that you can use the Control key to slow
down the directory reading if you like.
You can enter subdirectories (as well as go back to previous directory) just by pressing return on
You can use the "V" key to go to a root directory of your choice (also
useful for getting out of .D64 files).
pi-signs in filenames ("~" on the PC side) are converted to questionmarks to avoid a "file not found" problem in 64HDD (if you don't use LFN).
Note that this fix still doesn't work with directory names. This is a problem that only should arise
for direcory names longer than 8+3 characters.
For filenames of 16 characters or longer, the last character is set to a windcard star.
This to avoid the "file not found" problem with filenames longer than 16 characters on the PC
disk. (Because they get truncated into 16 characters by 64HDD with LFN turned on).
Note that delete and rename only works on Commodore files through 64HDD.
Using VIC-MENU is a good way of overcoming a VICE emulator problem. Normally when you
autostart programs on VICE, they are always loaded ,8,1. That is not very smart as for example
basic programs saved in unexpanded mode will end up in the wrong place if you are in expanded mode.
You can use VIC-MENU to autostart programs instead and they will end up where they should be.
To prepare for this, you have to save one version of VIC-MENU in expanded mode and one in unexpanded
mode, so that these will be autostarted correctly.
B22 - Batch Delete version
This is a special version built on V20. Extra features:
Batch Delete: Press "D" to mark the selected file for deletion. The name then turns red and
the cursor walks one step down. If you press D on an allready marked file, then it's
unmarked again. When you have marked the files you want to delete - press Shift-D to start
the deleting process. So now you don't have to wait for the directory to load after every
You are now always taken to the last page first. I noticed that I most often wanted
the last files. And if you want the first page, you only have to press space once.
Disadvantage: Takes more memory than V20, so it's not likely that you can handle all
144 filenames on an unexpanded vic-20, unless they are very short.
This is a special version included and adapted for the HtmlWalker
In versions V10 and above, the directory is loaded using machine language
routines which makes it load really fast. This is why the functions to
save and load a file list for "faster access" was removed from earlier
Below is an (old) list for speed comparance. The test was to read a directory
of 128 files. (With the searching for "$" included).
All PAL machines.
E-MENU on VICE directory 5 seconds
LOAD"$",8 on 1540: 10 seconds
LOAD"$",8 on 1541: 12 seconds
S-MENU with 1541 13 seconds (V10 to V12)
Dir command on C128 with 1571: 13 seconds
X-MENU with 1541 15 seconds
Dir command on TheFinalCart3/C64: 16 seconds
Vic Menu V9: 77 seconds
Vic Menu V1: 94 seconds
Vic-Menu 24IEC, 25SJLOAD, V26, V27 and V28 deluxe
(Aug-Sep 2012) I bought myself a SD2IEC unit and as you might have expected, I wanted
my old vic menu program to navigate it.
(May 2010) A special version built on the "batch delete" version was included as a disk image tool in
(Aug 2007) Vic-Menu V23 is now included in nbla000's new EasyLoad version.
Based on V20, but always starts on the last page of files just like B22 does.
This so that you will be taken directly to the files you are working on.
17 bytes smaller than V20.
Will be included in nbla000's next version of EasyLoad.
(Aug 2007) Vic-menu will be included on Brian Lyons Mega Cart!
Probably both V20 (in the Disk Util cart image) and V23 (in EasyLoad).
(Dec 2005) Special version for use with HtmlWalker.
(Included in the HtmlWalker package.) If you
press return on a filename that ends with .html .htm or .wn then HtmlWalker is loaded
with the selected filename and device number automatically inputed. Htmlwalker is loaded
from the same disk drive unit that you loaded the menu from even if you changed unit with
the menu. If you have expansion ram, then H-WALKER-20 is loaded, else H-WALKER is loaded.
In 64HDD with LFN turned on, filenames longer than 16 characters on the PC disk
got truncated by 64HDD into 16 characters. Because of this, these files were not found when
trying to load them. I solved the problem by setting character number 16 to a wildcard
The program is 1 byte bigger.
News in V19
The extra delay after disk commands was removed, because it wasn't a fix of a
64HDD problem, it was a fix of my faulty setup.
The program is 11 bytes smaller.
News in V18
X-Menu and E-Menu was merged into one program.
64HDD support added.
The print function was removed to free up memory for new functions.
You can now change device number when refreshing the directory.
All features of E-Menu was kept, such as support for long filenames and over 144 files
while the speed and all functions of X-Menu also was maintained except for "Print".
Just 50 bytes bigger than X-Menu V16.
- was just a beta release for V18...
News in V16
X-Menu: Bugfix in the print function. The program is 4 bytes bigger.
E-Menu: No change.
News in V15
Any diskdrive device number can now be used, as the system variable "current device" now is used instead of device 8.
If you want to start the program on another device, let's say device 9, then you can start the
program like this: OPEN1,9:RUN
If you want to change device while the program is running, then you can just press break and start
it again like above.
Both programs uses 17 bytes more at runtime (and increased 10 bytes in size).
News in V14
The programs are smaller and quicker to start because the machine language part
no longer is transfered to the tape buffer first. It was made independent of the running position
X-Menu is 27 bytes smaller (1379 bytes).
E-Menu is 28 bytes smaller (987 bytes).
News in V13
X-Menu can now handle all 144 filenames on the unexpanded vic! X-Menu is also 22 bytes smaller.
E-Menu can now handle more filenames, any lenght of filenames and filesizes of several megabytes.
Menu and S-Menu were excluded from the package.
News in V12
The function keys (F1 and F5) were changed into "H" for Help and "<-" for Dir refresh so that
it will work with Programmer's Aid, Super Expander or any other add-on that
changes the function keys.
There is no longer a delay when you refresh the directory in E-Menu.
Bugfix in E-Menu. It didn't load the directory properly sometimes with little memory available.
Menu and X-Menu are smaller by a few bytes. S-Menu is the same size and E-Menu is a
little bigger, but should not require more memory while running than the old version.
Older versions of the vic-menu and history here...Back