Max cartridge capacity

Modding and Technical Issues

Moderator: Moderators

User avatar
kamaleon70
Vic 20 Drifter
Posts: 34
Joined: Mon Aug 05, 2024 9:37 am
Location: Canada
Occupation: Software developer

Max cartridge capacity

Post by kamaleon70 »

Hi everyone, I know that the Vic 20 game cartridges were limited to 16k. I am curious… do you know the reason? Why not using the entire memory available like the memory expander cartridges do? Thanks.
User avatar
beamrider
Vic 20 Scientist
Posts: 1470
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Max cartridge capacity

Post by beamrider »

I didn't realise they were limited to 16K?

Can't you put ROM in blocks 1&2?
User avatar
kamaleon70
Vic 20 Drifter
Posts: 34
Joined: Mon Aug 05, 2024 9:37 am
Location: Canada
Occupation: Software developer

Re: Max cartridge capacity

Post by kamaleon70 »

I may be wrong. But all the cartridges I saw were in block at $a000 (for auto start) and or $2000 or $6000 but not both. I believe the cartridges were 8k or 16k max.
brain
Vic 20 Nerd
Posts: 578
Joined: Sun Jul 04, 2004 10:12 pm

Re: Max cartridge capacity

Post by brain »

$$$ is the most likely reason. In the era, 8kB was expensive, 16kB was hard to justify due to expense (otherwise, KERNAL and BASIC would have been loaded onto a single 23128). I suspect, knowing that, Michael and company stipulated games under development by internal and/or external resources needs to be 16kB max as a boundary.

As well, if you wanted to test your game/util, you only had the 16kB RAM expander to work with.

Jim
User avatar
kamaleon70
Vic 20 Drifter
Posts: 34
Joined: Mon Aug 05, 2024 9:37 am
Location: Canada
Occupation: Software developer

Re: Max cartridge capacity

Post by kamaleon70 »

So, in theory, it is possible to create a cartridge for a game using all the 35Kbytes... Thanks for the clarification. :)
brain
Vic 20 Nerd
Posts: 578
Joined: Sun Jul 04, 2004 10:12 pm

Re: Max cartridge capacity

Post by brain »

Indeed, you could go all the way to 37kB if you put RAM in the IO regions (3 1kB blocks [RAM1,2,3] + 4 8kB blocks [BLK1,2,3,5] + 2 IO 1kB blocks [IO2/3]

And, if you use a bank switcher, like UltiMem, you can use as much RAM as you want (or can afford)

Jim
User avatar
beamrider
Vic 20 Scientist
Posts: 1470
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Max cartridge capacity

Post by beamrider »

I can't imagine a 32K ROM cartridge would be that useful. Most games require workspace RAM of some kind, so perhaps 24K of ROM + 8K of RAM would be the sweet spot.
User avatar
Mike
Herr VC
Posts: 5127
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Max cartridge capacity

Post by Mike »

beamrider wrote:I can't imagine a 32K ROM cartridge would be that useful.
Well, Cheese & Onion is 32K ROM, so there ...
User avatar
Rich
Vic 20 Enthusiast
Posts: 175
Joined: Mon Nov 29, 2021 4:15 pm

Re: Max cartridge capacity

Post by Rich »

So could we get Elite on a cartridge as this would be very nice..... box art and a nice white case mmmmmmm..
User avatar
AndyH
Vic 20 Afficionado
Posts: 439
Joined: Thu Jun 17, 2004 5:51 am
Website: https://www.hewco.uk
Location: UK
Occupation: Developer

Re: Max cartridge capacity

Post by AndyH »

Rich wrote: Sat Apr 05, 2025 10:37 am So could we get Elite on a cartridge as this would be very nice..... box art and a nice white case mmmmmmm..
That would be dangerous. The Vic would never see the READY prompt ever again if someone did that!
--
AndyH
HEWCO | Vic 20 blog
User avatar
Mike
Herr VC
Posts: 5127
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Max cartridge capacity

Post by Mike »

A dedicated ROM image for Ultimem should do the job for ELITE. Any takers?

Other than that, and quoting Aleksi from a reply posting in the ELITE thread, in the Games section:
aeb wrote:I don't think there's a big enough standard cartridge format, any non-standard banking would be out of question. Also, there's self-modifying code and small workspaces in middle of the code blocks, so it's not feasible to turn it into a ROM image just like that.

It should be possible to put it on PenUltimate carts later, as they have some kind of internal file loader that can load any files from cartridge memory to anywhere in RAM and then run it. (I don't know exactly how that works, and whether the preloaded package of software on the cart can be updated as a firmware update.)
User avatar
kamaleon70
Vic 20 Drifter
Posts: 34
Joined: Mon Aug 05, 2024 9:37 am
Location: Canada
Occupation: Software developer

Re: Max cartridge capacity

Post by kamaleon70 »

Yes in case of a lot of self-modifying code, cartridge is not the way to go...
Do you know if there is a ram expander project that, just for fun, I can try to modify, replacing some ram with eprom? Maybe to have 32K of rom and using also the additional 3K available still as ram... :)
User avatar
kamaleon70
Vic 20 Drifter
Posts: 34
Joined: Mon Aug 05, 2024 9:37 am
Location: Canada
Occupation: Software developer

Re: Max cartridge capacity

Post by kamaleon70 »

Probably this one could be a good starting point to test... https://www.pcbway.com/project/sharepro ... 375ab.html
User avatar
mythic66
Vic 20 Amateur
Posts: 41
Joined: Sat Dec 31, 2022 1:21 pm
Location: Canada
Occupation: Technician

Re: Max cartridge capacity

Post by mythic66 »

aeb wrote:
I don't think there's a big enough standard cartridge format, any non-standard banking would be out of question. Also, there's self-modifying code and small workspaces in middle of the code blocks, so it's not feasible to turn it into a ROM image just like that.
A cartridge with a FRAM would works as it will retain the data and it make it possible to the self-modifying code
do to it's job as the chip act as a SRAM.
User avatar
kamaleon70
Vic 20 Drifter
Posts: 34
Joined: Mon Aug 05, 2024 9:37 am
Location: Canada
Occupation: Software developer

Re: Max cartridge capacity

Post by kamaleon70 »

I am not sure in this case about the use of FRAM. It can be written and retains the changes, but depending on how the self-modified code is used, it is possible that at the next start of the game the code is not in the "initial state" as it is supposed to be and the game could have problems. In fact, in the case of Elite, the game is always loaded, at the initial start, to RAM from the same non modified source (the floppy - that in this case acts like a "ROM").
Post Reply