EASYLOAD-Turbo, Are you ready for a new Vic-20 experience ?

Discuss anything related to the VIC
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

EASYLOAD-Turbo, Are you ready for a new Vic-20 experience ?

Post by nbla000 »

Hi, how do you use your real vic ?
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
:x argh!!! hurry!!!!
LOD"FILE1",9+[RETURN]
?SYNTAX
ERROR
:evil: AHAHAHAHAHAAHAHAHA!!!!!

LOAD"FILE1",9+[RETURN]
I'm lucky because the program is not for 3/8/16k.
RUN+[RETURN]

wow!!! very great program :shock:

ok now i reset the vic, and go to :arrow: Syntax sequence start point2: to repeat sequence for another program, do you remember the file name? no? ok then go to :arrow: 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: :D

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

Note only F7+SHIFT and F7+CBM work if a program run too, the other function keys work only in Direct mode on the screen prompt, all the function keys work only if no any program change the IRQ address pointer at $314/$315 and F7+CBM, F1[3][5][7]+CTRL work only if address $75 has not changed, so when load a game or some program some function key may not work, just reset and if EASYLOAD is not installed on bank 5 type relative SYS to restore EASYLOAD and function keys macros too.
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....
Last edited by nbla000 on Tue Aug 21, 2007 1:48 am, edited 3 times in total.
PaulQ
undead vic
Posts: 1967
Joined: Sun Jan 14, 2007 2:57 pm

Re: Are you ready for a new Vic-20 experience ?

Post by PaulQ »

nbla000 wrote:Hi, how do you use your real vic ?
It's presently connected to a 1702 monitor. I have eight cartridges for it. I currently use it to test out bits of code, and play the games on the cartridges. I'm going to connect a C2N datasette to it shortly (when I source a decent one for a decent price), then I'm going to write programs on it for my own amusement. If I come up with anything good, I plan to share it here in these forums.

I have VICE installed, but have been having trouble with the simulated drives. It also freezes on me once in a while, and figuring out the keyboard layout is a bit of a pain. A real Vic is the best way to go.
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

oh Yes, i know very well your bmenu and i've copied it as first program of all my disk collections, i know that may be used in bank 5 too but when i use your program, i cannot load my looooong 1581 directories due to OUT OF MEMORY ERROR if vic is unexpanded, adding memory expansion i'm not be able to load unexpanded programs.
I've used a different approach, EASYLOAD it can be considered like a super Vic Wedge, it add commands and functions, your program is a stand alone application.
EASYLOAD it's just another choice that fix some mine annoying problems and has some other integrated function, for example unexpand or set as 3k or 8k a vic that starts with populates 0/1/2 banks plus more things.
My idea it's a mix from Vic Wedge, Super expander and a C64 cartridge "Action Replay VI" i need to implement fastloader too so other differences and other reasons to make a choice or to use both.
User avatar
ral-clan
plays wooden flutes
Posts: 3702
Joined: Thu Jan 26, 2006 2:01 pm
Location: Canada

Post by ral-clan »

Cant' the 1581 do subdirectories? I don't have the manual but I've read it supports this.

This might solve your long directory problems in an unexpanded VIC (dividing things up with subdirs).
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

ral-clan wrote:Cant' the 1581 do subdirectories?
Yes, but StarCommander doesn't support subdirectories so you need to make structures and copy files directly from the vic, not the max of life.

In any case try to use EASYLOAD selecting bank 5 in real hardware, you may use my demo disk in the link above, for me it's for real a new experience, for example if you have an expansion full populated you may start ALL the vic programs, except cartridge image, without NEVER REMOVE CARTRIDGE and NEVER RELOAD EASYLOAD, just use the reset of your expansion cartridge if present or in the serial port or in the user port and you are ready to easy load a new program:

Example: Vic-20 with memory expansion (3k on bank 0, 8k in bank 1, 8k in bank 5)

When you power on the vic, you may load 8k programs only 11775 BYTES FREE
ok, now load EASYLOAD (start from any memory configuration)
LOAD"EASYLOAD",8
RUN
select bank 5
now you are ready to use EASYLOAD and you don't need to reload it anymore.

To start unexpanded programs, you don't need to remove/disable cartridge:
press CTRL+F1 and vics now says 3583 BYTES FREE
press F3 and directory is displayed in vic friendly mode (one row for each program)
go with arrows to program on dir
press CBM+F1 and you start the unexpanded program and RUN it automatically
to load and run automatically the first program on disk just press CBM+F1 after CTRL+F1 only.

do you want to load a 3k program?
just reset and use CTRL+F3 instead of CTRL+F1

I think there is no program that do this job, only vic unexpander but you need to reload each time the program and in any case you can't load 3k programs.
User avatar
Schema
factor
Posts: 1430
Joined: Tue Mar 23, 2004 7:07 am
Website: http://www.jammingsignal.com
Location: Toronto, Ontario

Post by Schema »

This looks amazing. Can't wait to try it out!
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

Your program is probably just great, but having vic-menu on the blue cartridge, a 1541 and a switch to switch between expanded/unexpanded memory, I probably wouldn't go through the trouble of loading your program... Not to disregard your efforts in any way! Not everyone has the blue cart...!
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

nbla000 wrote: I think there is no program that do this job, only vic unexpander but you need to reload each time the program and in any case you can't load 3k programs.
The Buti cartridge has a command to set different ram configurations...
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Boray wrote: The Buti cartridge has a command to set different ram configurations...
Yes ! i've tested the image on zimmer the syntax is
VIC to set vic has unexpanded
VIC 3 to set vic as 3k
VIC 8 to set vic as 8/16/24k
EASYLOAD use Function key but it's the same, so a may say that EASYLOAD it's a mix of 4 cartridge in one program.
Boray wrote:but having vic-menu on the blue cartridge, a 1541 and a switch to switch between expanded/unexpanded memory, I probably wouldn't go through the trouble of loading your program...
OK, i need to implement Fastload to persuade you to use EASYLOAD :wink:

PS: You may use EASYLOAD as cartridge too just grab memory in $a000 after installed in bank 5
Alan
Vic 20 Devotee
Posts: 280
Joined: Wed Mar 24, 2004 11:20 am

Post by Alan »

I took some time to try out EASYLOAD for a few minutes this evening. Very nice!
The VIC friendly directory listing is very nice. It looks great and it's very fast (in VICE...haven't tried it on the real thing yet).
The slick way your program can switch between VIC memory configurations is also great. Very convenient, I can't wait to try this on the real hardware.

I have a few suggestions:
The lack of an "@" command, like the one in JiffyDOS and Commodore's own wedge, is very noticable. I use this command all the time and
Being forced to use quotes around filenames is a little annoying.
A {Up Arrow} command that would automatically load and run programs would be nice, like the one in JiffyDOS

I'm hoping to try it out on my VIC for a few hours soon, I'm looking forward to working with it some more.
Alan
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Alan wrote:I have a few suggestions:
The lack of an "@" command, like the one in JiffyDOS and Commodore's own wedge, is very noticable. I use this command all the time
The "@" command sends commands to the drive, right ? i've discarded this command because normally i don't use it but i think it's possible to implement this command, i need to check how, may you explain me how do you use the "@" command?
Alan wrote: A {Up Arrow} command that would automatically load and run programs would be nice, like the one in JiffyDOS
EASYLOAD use CBM+F1, when under the cursor there is no chars (tipically after READY.) it load and run automatically the first program on disk else if under the cursor there is a char and you are in the first column (tipically after a dir using F3 the first 2 chars are numbers) it load and run the program displayed in DIR, you may use also /"FILENAME" to load and press F3 after to RUN, note that the F3 command is RUN[:colon][RETURN] so you don't need to move cursor to a blank row, in any case if you mean a command like !"FILENAME" that make LOAD"FILENAME",8 + RUN i think may be done easily.
Alan wrote: and being forced to use quotes around filenames is a little annoying.
To remove quotes when load a file like /FILENAME i need to remove quotes from friendly DIR too for compatibility reason or i need to modify the program to be able to accept FILENAME with or without quotes but since i use standard error routine i need to rewrite LOAD error routines, i think it's a little bit complicated for me.
Alan wrote: I'm hoping to try it out on my VIC for a few hours soon, I'm looking forward to working with it some more.
Thank's for feedback and tests.
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

nbla000 wrote: OK, i need to implement Fastload to persuade you to use EASYLOAD :wink:
Yes that would be nice! ;) Another thing... I haven't tried Easyload yet so I don't know if this is possible now, but I think it would be nice to be able to put the routines in block 0 (the 3K expansion) and still be able to use the vic in unexpanded mode and expanded mode (unex, 8k,16k,24k). I've just bought a 3K expansion to put in an unused slot of my vic-1020 you see ;) Not many programs are made for the 3K expansion so I think this would be a rather perfect use for it...
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
Alan
Vic 20 Devotee
Posts: 280
Joined: Wed Mar 24, 2004 11:20 am

Post by Alan »

nbla000 wrote:The "@" command sends commands to the drive, right ? i've discarded this command because normally i don't use it but i think it's possible to implement this command, i need to check how, may you explain me how do you use the "@" command?
You normally don't send commands to your drives? How do you format a disk, scratch or rename files, etc. etc.?

@ {RETURN} will return the drive status

@diskcommand will let you send commands to the drive. Rather than OPEN 1,8,15,"S:filename":CLOSE1 you can just enter @S:filename for example. It's probably the single most useful command a wedge can have.
Alan
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

...maybe he uses vic-menu? :wink:
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
Post Reply