Last modified: Sep 06, 2018, Page views: 584
Vic-20 24K Ram
The Vic-20 is a great little machine. It was the very first computer I ever owned or even saw,
when I was just a kid.
My Vic-20 was my main and only computer from age 5 until age 9 when my parents bought me a C64c.
Like many of you, I have very fond memories of this machine, and I still own my original Vic-20
plus another one I picked up somewhere along the way.
I spun my Vic-20 up recently to play some games I had on tape, and to play Voodoo Castle. I
backed up all my tape programs (all written in BASIC) to the CMD HD, by loading them into memory
and then resaving them to the CMD HD which hooks up to the Vic-20's serial bus just fine.
There are two things about the Vic-20 that took me by surprise the most. A) Its screen
resolution is astonishingly low. Just 22 text columns by 23 lines. Ouch. and B) It comes with
only 5 kilobytes of memory, only 3.5K of which is available to your BASIC programs after the OS
and screen take their space.
Put this in perspective. 22x23 columns/lines means one screen can hold 506 characters. 3,583 bytes
of memory, divided by 506 characters is just 7 screens of text. You can put 7 full screens worth
of text into memory, but after that you have no memory left for your program!! So, the screen
resolution may be low, but all things are in proportion. If a Vic-20 had the resolution of a C64,
it could hold only 3 and a half screens of text total.
There may not be much you can do about the Vic's low screen resolution, but what you can do is
expand its ram. This cartridge is a simple plug in cart that automatically expands the RAM with
an additional 24 kilobytes. It gives you a 680% increase in memory!
Quite cleverly, the built in operating system is ready to handle expanded ram. Unlike a C64's
Ram Expansion Unit where the memory has to be swapped between main and external ram, this ram
expansion maps entirely within the addressable space of the Vic-20's 6502. So, without any
swapping tricks, your program can simply be much larger.
Ghislain de blois (VIC-20 RPG Developer, @hitfan2000
on Twitter) is creating a rich and graphical RPG for Vic-20, right now. BUT, it requires a
Ram expansion cartridge. Check it out, if this doesn't make you want to expand the ram in your
Vic-20, probably nothing else will.
C64OS.com is hosted on a Digital Ocean droplet.
Digital Ocean is a cloud hosting platform, built for developers. They make it simple
to get started. They have intuitive administrative tools and reasonable prices. And
they can scale as your needs grow.
If you sign up with this referral link, you'll get a $100 credit, and after you've
spent $25, I'll get $25. If you are looking for a cloud platform to host your website
or web app, this is win–win.
Want to support my hard work? Here's how!
Listed is a brand new 24KB RAM EXPANSION BOARD for the cartridge port. It's ready to use. Simply
insert it into the VIC20's cartridge port and power up your VIC20 to see the RAM increase. The
board also comes with a RESET button that you can simply (and gently) press it to reset the
VIC20 without powering off the VIC20.
I have a couple left that I don't use. Let me know if you need more than one. Please note that
board delivered will not have chip sockets. That is, the chips are directly soldered into the
board, not mounting on sockets.
The VIC20 comes with 5KB of RAM built-in; out of that 5KB, only 3.5KB is available. That's why
you see the VIC20 displays 3583 bytes (3.5 x 1024) available for BASIC when you turn on the
VIC20. NOW...With the additional 24KB, your VIC20 now has 27.5KB. This is why you will see
28159 bytes (27.5 x 1024) available when you boot up the VIC20 with the RAM expansion board
The 24KB expansion is made possible for the THREE 8KB blocks in the VIC20 memory map, BLK1
($2000-$3FFF), BLK2 ($4000-$5FFF), BLK3 ($6000-$7FFF), respectively. You can now use these
memory areas for assembly code, etc. And VIC20's BASIC is also seeing this. Please note that
this is all the information provided in the listing. There are a lot of information available
on the internet regarding VIC20's memory map and how to use it.