For Vic20 (unexpanded and expanded). By Leif Bloomquist (V1)
and Anders Persson (V2 to V23) (Ideas by Leif Bloomquist and Christopher Prest)
Download: menu23.zip (Zipped PRG file and documentation) Download: menu20.zip (Same as V23, but starts display on first page of files) Download: bmenu22.zip (Special Batch Delete version)
(V23 released Aug 2007. News)
(B22 released Jan 2006. News)
A disk menu program. 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.
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.
The menu
will always start up on the last page of files, so that you will be closer to
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.
64HDD support
You can enter subdirectories (as well as go back to previous directory) just by pressing return on
a directory.
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
deletion.
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.
H21
This is a special version included and adapted for the HtmlWalker
package.
SPEED
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
versions.
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
News
Vic-Menu 23
Based on V20, but always starts on the last page of files just like B22 does.
This so that you will be closer to the files you are working on.
17 bytes smaller than V20.
Mega Cart
(Aug 2007) Vic-menu is now included on Brian Lyons Mega Cart!
B-Menu 22
(Jan 2006) Special Batch Delete version. (Look above.)
H-Menu 20 (and 21)
(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
star.
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.
V17?
- 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
instead.
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