Fastloaders?

Basic and Machine Language

Moderator: Moderators

User avatar
AndyH
Vic 20 Afficionado
Posts: 364
Joined: Thu Jun 17, 2004 5:51 am
Website: https://www.hewco.uk
Location: UK
Occupation: Developer

Fastloaders?

Post by AndyH »

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.
--
AndyH
HEWCO | Vic 20 blog
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Fastloaders?

Post by Mike »

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.
Vic20-Ian
Vic 20 Scientist
Posts: 1214
Joined: Sun Aug 24, 2008 1:58 pm

Re: Fastloaders?

Post by Vic20-Ian »

AndyH wrote: Sat Dec 12, 2020 5:27 pm 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.
Try one of these.

viewtopic.php?f=2&t=6916&p=89426&hilit= ... der#p89426
Vic20-Ian

The best things in life are Vic-20

Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
User avatar
AndyH
Vic 20 Afficionado
Posts: 364
Joined: Thu Jun 17, 2004 5:51 am
Website: https://www.hewco.uk
Location: UK
Occupation: Developer

Re: Fastloaders?

Post by AndyH »

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?
--
AndyH
HEWCO | Vic 20 blog
User avatar
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?

Post by chysn »

AndyH 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.
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 releases :D

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
User avatar
AndyH
Vic 20 Afficionado
Posts: 364
Joined: Thu Jun 17, 2004 5:51 am
Website: https://www.hewco.uk
Location: UK
Occupation: Developer

Re: Fastloaders?

Post by AndyH »

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.
--
AndyH
HEWCO | Vic 20 blog
User avatar
ops
Vic 20 Dabbler
Posts: 88
Joined: Mon Feb 19, 2018 11:25 am
Location: Finland

Re: Fastloaders?

Post by ops »

AndyH wrote: Sun Dec 13, 2020 6:53 am 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?
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
User avatar
AndyH
Vic 20 Afficionado
Posts: 364
Joined: Thu Jun 17, 2004 5:51 am
Website: https://www.hewco.uk
Location: UK
Occupation: Developer

Re: Fastloaders?

Post by AndyH »

That sounds perfect, I'll give it a try. Thanks!
--
AndyH
HEWCO | Vic 20 blog
tlr
Vic 20 Nerd
Posts: 567
Joined: Mon Oct 04, 2004 10:53 am

Re: Fastloaders?

Post by tlr »

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.
User avatar
AndyH
Vic 20 Afficionado
Posts: 364
Joined: Thu Jun 17, 2004 5:51 am
Website: https://www.hewco.uk
Location: UK
Occupation: Developer

Re: Fastloaders?

Post by AndyH »

That loader looks superb.
--
AndyH
HEWCO | Vic 20 blog
User avatar
pixel
Vic 20 Scientist
Posts: 1359
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: Fastloaders?

Post by pixel »

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.
One could bribe me into making a fast loading master with a pizza or so. ;)
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
tlr
Vic 20 Nerd
Posts: 567
Joined: Mon Oct 04, 2004 10:53 am

Re: Fastloaders?

Post by tlr »

AndyH wrote: Sun Dec 13, 2020 9:42 am That loader looks superb.
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.
wimoos
Vic 20 Afficionado
Posts: 348
Joined: Tue Apr 14, 2009 8:15 am
Website: http://wimbasic.webs.com
Location: Netherlands
Occupation: farmer

Re: Fastloaders?

Post by wimoos »

WimBasic offers a Turbo-load/save/verify/merge feature for datasette. See http://wimbasic.webs.com

Regards,

Wim.
VICE; selfwritten 65asmgen; tasm; maintainer of WimBasic
User avatar
AndyH
Vic 20 Afficionado
Posts: 364
Joined: Thu Jun 17, 2004 5:51 am
Website: https://www.hewco.uk
Location: UK
Occupation: Developer

Re: Fastloaders?

Post by AndyH »

pixel wrote: Mon Dec 14, 2020 1:18 am
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.
One could bribe me into making a fast loading master with a pizza or so. ;)
My son makes a wicked homemade pizza, you'll have to drop by ;)
wimoos wrote: WimBasic offers a Turbo-load/save/verify/merge feature for datasette. See http://wimbasic.webs.com
I didn't realise WimBasic had so much in it. Looks really cool.
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.
I forgot about using the stack area, it would certainly offer a bit more space than the input buffer I was playing with.

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.
--
AndyH
HEWCO | Vic 20 blog
tlr
Vic 20 Nerd
Posts: 567
Joined: Mon Oct 04, 2004 10:53 am

Re: Fastloaders?

Post by tlr »

AndyH wrote: Mon Dec 14, 2020 4:34 am
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.
I forgot about using the stack area, it would certainly offer a bit more space than the input buffer I was playing with.

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.
For comparison, Pentagorat is also around 13k compressed and loads in about a minute.
Post Reply