• Please review our updated Terms and Rules here

RAM Upgrade to VIC 20 3K Cartridge

VERAULT

Veteran Member
Joined
Jan 30, 2012
Messages
8,229
Location
Connecticut, USA
So rather than just go out and buy a penultimate cart or the likes, I pose a question.

I have the original 3K ram cartridge for the VIC-20. IS it possible to upgrade the ram on that card? Does anyone have the details or can point me in the right direction? I still want to get my Vic-20 on BBs's but the RAM is so low. Thanks
 
I have forgotten most of what I know about Vic-20s. But here goes: the address and data buses and all the signals you need for any amount of RAM are available inside that card. And if you gut it, there's room for a modern 32k SRAM and address decoding logic (maybe with a BASIC Stamp or Arduino). What I don't remember is how the system knows how much RAM you have. This is important because the memory map changes drastically depending on your RAM expansion. Software needs to be adaptable for this too.
 
Thanks, I knew it was possible and have seen photos of modified cards. What I cant find is actual documentation.

Maybe to help things out I'll post a photo of the card.IMG_20181210_203543.jpg
 
Heh that one looks upgradable. But I wouldn't try to guess how without seeing one that already is, which is probably a factory version with more RAM.
 
For instance here is a VIC1110 8KB cartridge upgraded to 32KB, only photo no documentation provided:800px-VIC1110_32k_mod.jpg

Not quite the same pcb layout or cartridge, but same idea.
 
For instance here is a VIC1110 8KB cartridge upgraded to 32KB, only photo no documentation provided

Not quite the same pcb layout or cartridge, but same idea.

Soldering parts inside a VIC-20 (if it's the very common -CR variant) imho is better than using a cartridge, so you still have the free expansion port. If you have a "real" VIC-20 (the board with all 2114 SRAMs) I agree, I wouldn't modify it.
However, back at the cartridge: you must look here first:

https://www.c64-wiki.com/wiki/Expansion_port_VIC20

Your 3K expansion is using /RAM1-2-3 as the select, probably it has 6 x 2114 SRAMs (sorry your picture isn't readable).
If you want to switch to a 8K espansion, the /RAM1,2,3 signals aren't useful anymore. You have to use an 8Kx8 SRAM chip (6264 variants) and use /BLK1 as chip select.
If you want 16K, then 2 x 6264 chips, one using /BLK1 and the other /BLK2. For 24K you guessed it already, three 8Kx8 and the third chip will be selected by /BLK3.
There's no point in adding RAM to /BLK5 as it won't be seen by basic (not contiguous).

Of course you have to figure out all the rest of the chip signals (data bus, address bus, R/W, other selects), one for instance could be different (afair): 3K expansion uses only C R/W signal as RAM's R/W, but 8/16/24K expansions should have C R/W OR V R/W as RAM's R/W. I hope it makes sense.

HTH
Frank
 
Last edited:
You can better take a rom cartridge, these often have only one 24 or 28 pin rom/eprom chip, replace that chip for a 24/28 pin socket with a 32k SRAM chip and some simple decode logic. Add a switch to select/deselect the lower 3k RAM to stay compatible with games/programs needing the bottom 3k.
The top address lines are not on the cartridge slot but can be decoded from the select lines. Just make sure you use a rom cartridge with all contacts on the edge connector.
I used a 'SLOT' cartridge as donor/base.
 
Soldering parts inside a VIC-20 (if it's the very common -CR variant) imho is better than using a cartridge, so you still have the free expansion port. If you have a "real" VIC-20 (the board with all 2114 SRAMs) I agree, I wouldn't modify it.
However, back at the cartridge: you must look here first:

https://www.c64-wiki.com/wiki/Expansion_port_VIC20

Your 3K expansion is using /RAM1-2-3 as the select, probably it has 6 x 2114 SRAMs (sorry your picture isn't readable).
If you want to switch to a 8K espansion, the /RAM1,2,3 signals aren't useful anymore. You have to use an 8Kx8 SRAM chip (6264 variants) and use /BLK1 as chip select.
If you want 16K, then 2 x 6264 chips, one using /BLK1 and the other /BLK2. For 24K you guessed it already, three 8Kx8 and the third chip will be selected by /BLK3.
There's no point in adding RAM to /BLK5 as it won't be seen by basic (not contiguous).

Of course you have to figure out all the rest of the chip signals (data bus, address bus, R/W, other selects), one for instance could be different (afair): 3K expansion uses only C R/W signal as RAM's R/W, but 8/16/24K expansions should have C R/W OR V R/W as RAM's R/W. I hope it makes sense.

HTH
Frank

So in a nutshell you are saying its easier to use an 8kb card rather than the 3kb card?
 
Thanks, I knew it was possible and have seen photos of modified cards. What I cant find is actual documentation.

Maybe to help things out I'll post a photo of the card.View attachment 49859

from the picture it seems you got a SUPER EXPANDER https://en.wikipedia.org/wiki/Super_Expander
that's a 3K RAM expansion + 4K ROM with extended basic and
you have a spare room for another RAM/ROM.

Take a look here, maybe is worth some reading :

http://sleepingelephant.com/ipw-web/bulletin/bb/viewtopic.php?t=3504
http://blog.tynemouthsoftware.co.uk/2016/01/vic20-diagnostic-cartridge.html
 
So in a nutshell you are saying its easier to use an 8kb card rather than the 3kb card?

Correct.
Since you have a super-expander with 3K, it may be easy to add 8K expansion on the free 28 pin position. I don't really know what happens when both 3K and 8K expansion are present, I think 3K gets just ignored, but I never played with these expansions.
Of course you also could add a 32K ram chip and the logic to enable a 24K expansion too.

Frank
 
If anyone was interested here is a schematic for a 35K expansion. The SRAM can be substituted. I use old 486 cache ram instead of the ones shown. Maybe it can be helpful.
mem-exp2.jpg

Not much use, the forum makes the picture so small it's of no use sorry.. Don't know why this is like this it this day and age when storage space is cents per GB.
 
Last edited:
Hallo morm8322


It would help if you point to the site where you got it from, which is easy because it is mine: http://baltissen.org/newhtm/memv20.htm

The reason is that when I built the one on your site it didn't function on all tested machines. That is until I discovered on the Denial Forum that you need to use VR/W instead of CR/W for the Write Enable. You can see that the schematic i posted above is altered. You could maybe think about updating it because as it stands now it won't work on all VICs. Using the CR/W method worked on 7 of the 18 VICs I tested it on while VR/W worked on them all. The CR/W line isn't buffered and this can cause issues, but the VR/W is buffered and they both serve the same purpose for this application. If you do update it please let us know so in the future I will make reference to it instead of the the one I altered.
 
Last edited:
Back
Top