Fastloaders?
Moderator: Moderators
- AndyH
- Vic 20 Afficionado
- Posts: 374
- Joined: Thu Jun 17, 2004 5:51 am
- Website: https://www.hewco.uk
- Location: UK
- Occupation: Developer
Fastloaders?
Hi - are there any tools for converting a PRG to tape to load with a fastloader?
My latest game is 20k so would take a while on a regular load.
My latest game is 20k so would take a while on a regular load.
- Mike
- Herr VC
- Posts: 4888
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: Fastloaders?
You should reach out to pixel, see here: "Who wants their releases available on tape?". There, he offers turbo tape support.
Q*Load by tlr is a native tape turbo mastering tool, but IIRC it currently only supports the unexpanded RAM configuration.
Q*Load by tlr is a native tape turbo mastering tool, but IIRC it currently only supports the unexpanded RAM configuration.
Re: Fastloaders?
Vic20-Ian
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
- AndyH
- Vic 20 Afficionado
- Posts: 374
- Joined: Thu Jun 17, 2004 5:51 am
- Website: https://www.hewco.uk
- Location: UK
- Occupation: Developer
Re: Fastloaders?
Thanks Mike.
I'm preparing my game for tape for TFW8B to do a physical release. I guess Pixel needs to make a cut and handles the publishing side as a whole package? I'm doing this all for fun, I don't make a penny from the physical releases but I do love seeing them done as a physical tape or cartridge.
Q*Load sounds interesting, I'd be keen to learn how to to do it, and was hoping there were some open source, or at least tools with programs to help me construct a fast loader like you tend to see on the C64. I get easily bogged down in the details though, and to date despite reading some very detailed information about how the tape loader works I have not been able to follow and understand it fully.
My game needs 20K and the resultant PRG produced was 28k. I realise the PRG is not very efficient, as I use the $1000-$1FFF for a character bitmap, there is nothing really stored there so it does not need to be in the PRG.
In the flurry of activity on Friday to get my game finished I had completely overlooked some things I could do, so I plan to try the following:
Firstly, I'd completely forgotten about exomizer. Compressed, I get the 28K PRG down to 13K. That addresses the unused space in $1000-$1FFF, so I don't need to worry about excluding that.
However, secondly, I could split this compressed PRG into several smaller chunks and provide some update to the screen after loading each one so the user gets some feedback along the way. I could even add a loading screen at the start.
It would be nice if I could add colour bars like you see on the C64... I don't suppose it is possible to run an interrupt that changes the border colour based on values the kernal load routines read in do you know?
I'm preparing my game for tape for TFW8B to do a physical release. I guess Pixel needs to make a cut and handles the publishing side as a whole package? I'm doing this all for fun, I don't make a penny from the physical releases but I do love seeing them done as a physical tape or cartridge.
Q*Load sounds interesting, I'd be keen to learn how to to do it, and was hoping there were some open source, or at least tools with programs to help me construct a fast loader like you tend to see on the C64. I get easily bogged down in the details though, and to date despite reading some very detailed information about how the tape loader works I have not been able to follow and understand it fully.
My game needs 20K and the resultant PRG produced was 28k. I realise the PRG is not very efficient, as I use the $1000-$1FFF for a character bitmap, there is nothing really stored there so it does not need to be in the PRG.
In the flurry of activity on Friday to get my game finished I had completely overlooked some things I could do, so I plan to try the following:
Firstly, I'd completely forgotten about exomizer. Compressed, I get the 28K PRG down to 13K. That addresses the unused space in $1000-$1FFF, so I don't need to worry about excluding that.
However, secondly, I could split this compressed PRG into several smaller chunks and provide some update to the screen after loading each one so the user gets some feedback along the way. I could even add a loading screen at the start.
It would be nice if I could add colour bars like you see on the C64... I don't suppose it is possible to run an interrupt that changes the border colour based on values the kernal load routines read in do you know?
- chysn
- Vic 20 Scientist
- Posts: 1205
- Joined: Tue Oct 22, 2019 12:36 pm
- Website: http://www.beigemaze.com
- Location: Michigan, USA
- Occupation: Software Dev Manager
Re: Fastloaders?
Sure, it's fun, but you should at least make a little money. I made enough on physical releases this year to buy a second VIC-20 and several old 6502 books. Hardly tycoon-level entrepreneurship, but funding VIC-20 stuff with VIC-20 software is even more fun than seeing physical releasesAndyH wrote: ↑Sun Dec 13, 2020 6:53 am I'm preparing my game for tape for TFW8B to do a physical release. I guess Pixel needs to make a cut and handles the publishing side as a whole package? I'm doing this all for fun, I don't make a penny from the physical releases but I do love seeing them done as a physical tape or cartridge.
Mike, it's been a while, it's good to see you again.
VIC-20 Projects: wAx Assembler, TRBo: Turtle RescueBot, Helix Colony, Sub Med, Trolley Problem, Dungeon of Dance, ZEPTOPOLIS, MIDI KERNAL, The Archivist, Ed for Prophet-5
WIP: MIDIcast BASIC extension
he/him/his
WIP: MIDIcast BASIC extension
he/him/his
- AndyH
- Vic 20 Afficionado
- Posts: 374
- Joined: Thu Jun 17, 2004 5:51 am
- Website: https://www.hewco.uk
- Location: UK
- Occupation: Developer
Re: Fastloaders?
Producing Vic stuff to fund Vic stuff sounds great. It's not worth the effort over here though, Taxman takes almost half and I'd prefer not have to do self assessment returns again for such small amounts. I doubt I'd sell enough to fund a new Vic 20, they're getting expensive! I get looked after with some goodies here and there, and I'll never run out of pens, mugs or jelly and I've a donation option on itch for Pumpkid which some kind folk have used.
At the moment I'm happy to learn more about the Vic and produce some (hopefully) enjoyable games along the way. I can't go back to the 80's to buy Vic 20 games in the shops, but this at least lets me do it somewhat in 2020.
At the moment I'm happy to learn more about the Vic and produce some (hopefully) enjoyable games along the way. I can't go back to the 80's to buy Vic 20 games in the shops, but this at least lets me do it somewhat in 2020.
Re: Fastloaders?
One way to add colour bars is hooking STOP vector ($0328 and $0329). It is called frequently during load.
See https://ops.github.io/Dusty-Tapes/bombj ... k(+3k).zip
- AndyH
- Vic 20 Afficionado
- Posts: 374
- Joined: Thu Jun 17, 2004 5:51 am
- Website: https://www.hewco.uk
- Location: UK
- Occupation: Developer
Re: Fastloaders?
I've done a few tape masters for the Vic-20, all for Misfit: Super Starship Space Attack, Pentagorat and Rodman.
These all feature loading screens, e.g pentagorat here: https://www.youtube.com/watch?v=qlReF07nQeM
You can download the .tap here if you want to see it in action: https://misfit.itch.io/pentagorat
The mastering toolchain runs on a *nix box but not currently open source. I have the source for q*load somewhere, should probably be easy to assemble it for expanded.
These all feature loading screens, e.g pentagorat here: https://www.youtube.com/watch?v=qlReF07nQeM
You can download the .tap here if you want to see it in action: https://misfit.itch.io/pentagorat
The mastering toolchain runs on a *nix box but not currently open source. I have the source for q*load somewhere, should probably be easy to assemble it for expanded.
- AndyH
- Vic 20 Afficionado
- Posts: 374
- Joined: Thu Jun 17, 2004 5:51 am
- Website: https://www.hewco.uk
- Location: UK
- Occupation: Developer
- pixel
- Vic 20 Scientist
- Posts: 1399
- Joined: Fri Feb 28, 2014 3:56 am
- Website: http://hugbox.org/
- Location: Berlin, Germany
- Occupation: Pan–galactic shaman
Re: Fastloaders?
One could bribe me into making a fast loading master with a pizza or so.Mike wrote: ↑Sat Dec 12, 2020 7:01 pm You should reach out to pixel, see here: "Who wants their releases available on tape?". There, he offers turbo tape support.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
https://github.com/SvenMichaelKlose
Re: Fastloaders?
Thanks!
The underlying loader is a two stage process. One tiny polled boot loader and then a stage 2 IRQ based loader residing in the stack area. On top of that the loading screen can be hooked in. Those three masters all use the exact same loader.
Misfit sent me the game binaries and the pentagram graphics and I worked it out from that.
-
- Vic 20 Afficionado
- Posts: 352
- Joined: Tue Apr 14, 2009 8:15 am
- Website: http://wimbasic.webs.com
- Location: Netherlands
- Occupation: farmer
Re: Fastloaders?
WimBasic offers a Turbo-load/save/verify/merge feature for datasette. See http://wimbasic.webs.com
Regards,
Wim.
Regards,
Wim.
VICE; selfwritten 65asmgen; tasm; maintainer of WimBasic
- AndyH
- Vic 20 Afficionado
- Posts: 374
- Joined: Thu Jun 17, 2004 5:51 am
- Website: https://www.hewco.uk
- Location: UK
- Occupation: Developer
Re: Fastloaders?
My son makes a wicked homemade pizza, you'll have to drop bypixel wrote: ↑Mon Dec 14, 2020 1:18 amOne could bribe me into making a fast loading master with a pizza or so.Mike wrote: ↑Sat Dec 12, 2020 7:01 pm You should reach out to pixel, see here: "Who wants their releases available on tape?". There, he offers turbo tape support.
I didn't realise WimBasic had so much in it. Looks really cool.wimoos wrote: WimBasic offers a Turbo-load/save/verify/merge feature for datasette. See http://wimbasic.webs.com
I forgot about using the stack area, it would certainly offer a bit more space than the input buffer I was playing with.tlr wrote: The underlying loader is a two stage process. One tiny polled boot loader and then a stage 2 IRQ based loader residing in the stack area. On top of that the loading screen can be hooked in. Those three masters all use the exact same loader.
Compressed down to 13k it doesn't take too long to load in. Reading $a9 in the stop vector appears to produce some nice data for the flashing borders.
Re: Fastloaders?
For comparison, Pentagorat is also around 13k compressed and loads in about a minute.AndyH wrote: ↑Mon Dec 14, 2020 4:34 amI forgot about using the stack area, it would certainly offer a bit more space than the input buffer I was playing with.tlr wrote: The underlying loader is a two stage process. One tiny polled boot loader and then a stage 2 IRQ based loader residing in the stack area. On top of that the loading screen can be hooked in. Those three masters all use the exact same loader.
Compressed down to 13k it doesn't take too long to load in. Reading $a9 in the stop vector appears to produce some nice data for the flashing borders.