I don't know but i may explain my daily Vic use on 2007.
Normally, i fix, test or made basic/ML programs in VICE using a PC and sometimes i only use my dear vic to try results on real hardware (Vic-20 + Expansion multi port + various ram expansions + 1541-II and/or 1581).
First problem i need to transfer programs from PC to Vic, with Star Commander i make a d64/d81 disk image that after i transfer to 1541/1581, or i copy the image to a SD memory card and i do the job with a C64+MMC64 very easy.
OK, now i'm ready so first i look for a disk directory:
Syntax sequence start point1:
LOAD"$",8+[RETURN]
argh!!! very often using 1581 disk i get corrupt screens because the unexpanded vic has not enough memory to display directory, so adding 3/8 or more kb of ram expansion i can read the directory.
ok but many programs are for unexpanded vic!!!, argh!!!
I need to remove the expansion and load each program if i remember the file names and replace expansions to load 3/8/16k programs!!!
Syntax sequence start point2:
LOAD"FILE1",8+[RETURN]
?DEVICE NOT PRESENT
ERROR
ops!! yes my 1581 drive is number 9
LOAD"FRILE1",9+[RETURN]
?FILE NOT FOUND
ERROR
argh!!! hurry!!!!
LOD"FILE1",9+[RETURN]
?SYNTAX
ERROR
AHAHAHAHAHAAHAHAHA!!!!!
LOAD"FILE1",9+[RETURN]
I'm lucky because the program is not for 3/8/16k.
RUN+[RETURN]
wow!!! very great program
ok now i reset the vic, and go to Syntax sequence start point2: to repeat sequence for another program, do you remember the file name? no? ok then go to Syntax sequence start point1:
Repeat sequence for each program.
I need a solution!!!!
ok write yourself a program!!!
so after 1 month i have a solution:
EASYLOAD:
EASYLOAD it's a tool for any expanded vic 3k/8k/16k or any other memory bank 0/1/2/3/5.
It ADD ADDITIONAL COMMANDS for quickly display dir and load files from disk drives.
It ADD useful FUNCTION KEY MACROS too that use new commands and other things.
The program start from any Vic memory configuration and copy his LM routines to any selectable memory bank, so any memory expansion is required. Best choise is to select bank 5 so the program start automatically after each reset, it's relatively easy to found a switchable memory expansion but in any case you may open your standard commodore 8k expansion (NOT 16k) and set switch 1 ON instead of switch 4 as factory set. Obviously the selected memory bank it can not be used from programs that you want to load, for example if you use a 16k expansion and select bank 2 ($4000) you may load unexpanded and 8k programs only, YES UNEXPANDED TOO because using function keys you may unexpand your vic without remove the memory expansion or you may set your vic as 8k expanded only!!!!.
Code: Select all
Additional commands:
$X where X may be a number from 4 to 255, display directory of drive X on screen,
X may be omitted so current drive it's assumed (default 8).
During display, you may use some keys:
CTRL (slow-down the dir list speed)
RUN/STOP (break the dir list but don't display BREAK message so preserve a row)
CBM (pause the dir list while pressing it)
The directory is displayed in Vic-friendly mode, one row for each dir element
except for disk name and files larger more then 99 blocks ?!?! so on screen
you may see at least 21 programs instead of 10 displayed from LOAD"$",8 + LIST
The directory is displayed on screen without using memory so you don't get
an OUT OF MEMORY error for loooong directories on unexpanded vics and don't
delete current program in memory.
/"FILE" load file from current drive (default 8) starting from basic start address
like LOAD"*",8 wildcard are allowed
%"FILE" load file from current drive (default 8) starting from address in the first
2 bytes of the file, like LOAD"*",8,1 wildcard are allowed
#X where X may be a number from 4 to 255, select the current drive
# display current drive on screen
Function Key: Command: Note:
F1 /"*":[RETURN] if char under cursor is space load first file
/[SPACE][RETURN] if char under cursor is not space load program on DIR
F1+SHIFT (F2) %"*":[RETURN] if char under cursor is space load first file
%[SPACE][RETURN] if char under cursor is not space load program on DIR
F1+CBM F1 + RUN[RETURN] like F1 but autostart first program or program on DIR
F3 $:[RETURN] display dir from current drive
F3+SHIFT (F4) #:[RETURN] display current drive on screen
F5 LIST:[RETURN] standard LIST command
F5+SHIFT (F6) (none) ON/OFF cursor blinking and all keys repeat
F7 RUN:[RETURN] standard RUN command
F7+SHIFT (F8) (none) perform standard reset SYS64802
F7+CBM (none) perform EASYLOAD reset, useful if not installed on bank5
F1+CTRL (none) set vic as unexpanded and perform EASYLOAD reset
F3+CTRL (none) set vic as 3k expanded and perform EASYLOAD reset
F5+CTRL (none) set vic as 8k expanded and perform EASYLOAD reset
F7+CTRL (none) set vic as 16k expanded and perform EASYLOAD reset
Run-Stop+Restore reset the IRQ address pointer to the original value so if for any reason a program doesn't work when IRQ pointers are modified just press Run-Stop+Restore, as explain before obviously function keys will be disabled.
The routines are moved to intial bank address selected +$100 except in bank5 in $a000 because when reset after loading a program using F1[3][5][7]+CTRL the kernal sometimes overwrite the first 256 bytes ($ff) of the expansion ram and because Run-Stop+Restore overwrite some initial bytes of the expansion ram too, when you select bank 0 (3k exp.) to load unexpanded pucrunched programs after F1+CTRL, pucrunch in some routines read 255 bytes from a locations and write to $320 address overwriting initial $400 routines, so after a lot of testing using various banks i've decided to start from initial bank address + $100.
*** all links removed *** see this topic
PS: I need feedback, suggestion, results and ml optimization from any volunteer because i'm not an ML expert so any help will be appreciate.
At last but not least, thanks to Nippur72 for first ML startup info and for Function keys implementations help, thanks to mike for Vic-20 Wedge suggestion and Carlsson for his fastloader standalone conversion that starts my DIR and after my EASYLOAD idea.
Next step ? what do you think about EASY[FAST]LOAD ?
Probably i need informations from Carlsson and Mike to integrate fastload to normal LOAD routines and to know how to check if Fastload routines has already installed on drive, WIP....