View Full Version : Loading VIC-20 cartridge images on the real thing?

December 19th, 2009, 05:00 AM
Is there any way to load downloaded VIC-20 cartridge images onto my VIC-20?

December 19th, 2009, 05:57 AM
This is not exactly what you're asking, but I highly recommend getting one of these: http://www.mega-cart.com/

December 19th, 2009, 06:08 AM
Thanks Bill, I've already seen the Mega-Cart. It looks fantastic, and is on the shopping list.

December 19th, 2009, 06:22 AM
I probably don't know what I'm talking about here, but here goes nothing:

If the cartridges use a rom chip to store the programs and are otherwise identical to one another, it might be possible to use a ROM programmer to write a ROM to be placed into an existing cartridge and run on the Vic-20.

There would need to be a way to turn the image into a binary file to be programmed to the ROM chip, as well as an old cartridge to be sacrificed. (and a ROM programmer)

It's probably not practical, but would it be possible? If such a system were to be set up, it would be a quick thing to program a new ROM chip and swap it out of an existing cartridge. (The problem is, I'm not sure if that is actually how these cartridges work...) To speed things up, a socket could be installed on the cartridge.

This whole idea is inspired by how I plan to write software for my homebrew system.

December 19th, 2009, 07:47 AM
There are a couple of multicarts for the VIC-20. For those who want instant access to all the games, the Mega-Cart is best suited. If you are good at soldering and want most value for money, I would check out the Final Expansion 3 (http://for8bits.com/fe3_was.php). Apart from soldering it will allow/require you to configure the set of software yourself.

If you are lucky, you may find a Behr Bonz cartridge too. I think someone in the UK recently made another run of that cart. It contains most, but not all game cartridges.

Recently I read about a new multicart/development cart (http://www.gamingenterprisesinc.com/vic20/) which has one replacable EPROM and DIP switches. It is good if you only want a few games at a time, prefer DIP switches over software menus and think both the Mega-Cart and FE3 are too expensive.

Of course you could try to get a regular 32K memory expansion too, or even an 8K cartridge which is modified to relocate into a different memory block than usual. It would allow you to load ROM images from floppy, tape or similar. Note that a standard 8K expansion won't allow you to do this because it is located in the wrong memory block.

December 19th, 2009, 08:14 AM
Is there any way to load downloaded VIC-20 cartridge images onto my VIC-20?Yes, but you'd need some EPROMs and a 'burner', or some non-volatile RAM chips and a computer to copy the data; fairly straightforward for most cartridge programs. Instead of swapping cartridges you just swap the chips; if you get a larger capacity chip then you can put several programs into one chip with a switch to select among them (like the multicart).

Or the other options mentioned above.

December 19th, 2009, 11:25 AM
I'm thinking what Kerosene wants is access to the carts without spending a bunch of bucks.
Now, I'm probably off base here, but what I'm thinking is - couldn't one take a readily available on the Internet VIC-20 cart image that is made for some of the popular emulators like WinVice and convert the *.crt image to a *.d64 disk image, THEN shoot it over an XA1541
adaper into a real 1541 disk drive making a 'real' disk from the cart image?
Now that's one huge sentence, but would the idea work, fellow vintagers? What's wrong with my scheme here?
I have an XA1541 adapter myself, bought from NKC Electronics, and this whole idea appeals to me - if it's possible.
Can a *.crt image be made into a *.d64 image?

December 19th, 2009, 12:22 PM
As far as I know, there exists no CRT images for the VIC-20. All cartridges are stored as PRG files, which are even more simple - just a two byte loading address followed by actual data. You can store as many of those onto a D64 as there is room: 664 blocks divided by 33 blocks (8K images) = 20 images.

Now the problem comes when you will load those. I had hoped to avoid to get into technical details, but I suppose I just as well should:

The unexpanded VIC-20 uses this memory map. For practical (!) purposes, all addresses mentioned as hexadecimal values:

$0000-$03FF: System RAM (1K)
$0400-$0FFF: Unconnected (3K)
$1000-$1FFF: Basic RAM + screen matrix (4K, of which 3.5K for Basic)
$2000-$7FFF: Unconnected (24K)
$8000-$8FFF: Character ROM (4K)
$9000-$93FF: I/O Block 0 = VIC chip, partly unconnected (1K)
$9400-$97FF: I/O Block 1 = Colour memory, partly unused (1K)
$9800-$9BFF: I/O Block 2, unconnected (1K)
$9C00-$9FFF: I/O Block 3, unconnected (1K)
$A000-$BFFF: Cartridge RAM/ROM, otherwise unconnected (8K)
$C000-$DFFF: Basic ROM (8K)
$E000-$FFFF: Kernal ROM (8K)

Most game cartridges go into the memory block at $A000. Some 16K cartridges also use the memory at $6000, very rarely $2000 or $4000. Right away we can see that an unexpanded VIC-20 will not stand a chance to load a cartridge ROM image, simply because it is made to go into a part of the memory map where it is empty and darkness.

Now, here are where the memory expansions come into question. As I wrote above, a 32K memory expansion will populate almost all the empty areas with RAM. Not the unused I/O blocks but those are only used by custom hardware anyway. A standard 8K expansion memory goes into $2000 but by modification it can be made to go into any available memory block, of course including $A000. Back in the days there were even remapper cartridges that did this, but they seem to have been quite rare.

If you get one of the multicarts, they are built to cover all memory blocks and will not have any problem configuring any memory block with the data of your liking. As mentioned there are a few alternatives in varying degree of complexity and price. A die hard collector may get all of them, a casual gamer would stick to one.