Making a Vic20 Cart

Modding and Technical Issues

Moderator: Moderators

Post Reply
SparkyNZ
Vic 20 Enthusiast
Posts: 152
Joined: Tue Jan 18, 2011 2:23 am

Making a Vic20 Cart

Post by SparkyNZ »

I'm new to EPROM programming and the likes but I did buy some kit about 5 years ago that I rediscovered! I bought a cheap Top 853 EPROM programmer and I have a couple of dead Vic 20 cartridges. They both have ROMs (not EPROMs) inside them (e.g. MOS 901252). I was hoping I could desolder the dead ROM and fit a DIP socket so I could pop in a newly written EPROM (EEPROM?) with a test Vic cartridge image on it.

I have a couple of M27C256B EPROMs (and a UV EPROM eraser). Datasheet http://pdf.datasheetcatalog.com/datashe ... mXvtws.pdf

These have 4 extra pins (2 extra each side) compared to the 901252 cartrige ROM and they are 256k EPROMs. Would it be possible to use these EPROMs (assuming I can patch the pins accordingly) or should I go shopping for an alternative? Any recommendations would be appreciated. I realise the Vic ROMs were only about 4k or so.

Could somebody help me please?

I wouldn't even mind having a go at playing with one of those USB flash burner devices too (if I knew what chip to get) but it would be kinda cool to play with a real EPROM :)
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Making a Vic20 Cart

Post by eslapion »

Using 27XXX series is truly not the easiest way to go to make a VIC-20 cartridge.

Commodore was keen on using 2364 ROMs in the early 80s. This type of ROM is used in all Commodore made VIC-20 carts as well as the VIC-20 itself, the C64 and the 1540/1541 drives. The only EPROMs that are directly pin compatible are the Motorola MCM68764 and MCM68766. The 27HC641 are "semi" pin compatible and can be used with a rearrangement of the data.

If you stack a 27C256 with an adapter to make it pin compatible with the 2364 pinout then your cartridge won't fit in the cartridge port anymore, much less in a cart case.

I vaguely remember the Atarisoft game Robotron 2084 used 2764 EPROMs internally and you could probably use a 27C256 on that specific board by connecting 2 pins to the ground or 5V depending on what you want to do. It is the only VIC-20 game cart which I know is directly compatible with 27XXX EPROMs but I am sure there must be others. Nonetheless, it is a small minority.

VIC-20 ROMs generally carry 8kBytes of data (64kbit) except for the character generator which is a 2332 and carries 4kBytes.
Be normal.
SparkyNZ
Vic 20 Enthusiast
Posts: 152
Joined: Tue Jan 18, 2011 2:23 am

Re: Making a Vic20 Cart

Post by SparkyNZ »

eslapion wrote:The only EPROMs that are directly pin compatible are the Motorola MCM68764 and MCM68766. The 27HC641 are "semi" pin compatible and can be used with a rearrangement of the data.

If you stack a 27C256 with an adapter to make it pin compatible with the 2364 pinout then your cartridge won't fit in the cartridge port anymore, much less in a cart case.
Thanks for the numbers. I can see a couple of those chips on Ebay and boy are they expensive. That's usually the way with older components becoming so rare I guess. There's quite a bit of "lateral" space inside the Vic20 cartridges themselves so I guess I could have a go at hooking up an additional PCB or veroboard within the cartridge. I'll keep digging to see if I can find some of those older 2364 chips - and hope my programmer is compatible with them.
User avatar
Mike
Herr VC
Posts: 4816
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Making a Vic20 Cart

Post by Mike »

With a new PCB of an own design, the exact type of EPROM of course is largely irrelevant. You just need to make sure that all address and data pins are connected to exactly the same bit positions at the expansion port. With SRAM, it would be o.k. to permute the address and data bits, as the read back reverses any permution on write, this is not the case with EPROMs. Unused address pins should be tied to a defined logic level.

If you want to reuse old game cartridges, one fairly popular method takes an 8K cartridge by Commodore (like Personal Finance), and replaces the ROM chip with a 2732 EPROM. This shares most pins with the 8K ROM, and you only need to swap the two address lines A11 and A12 on the cartridge: after this, /BLK5 connects to /OE, CA12 connects to /CS (so only the lower half of BLK5 selects the EPROM), and CA11 ends up at the right pin. :) - of course this method limits you to 4K data, but that should be enough for a start.

I successfully converted one such cartridge quite some years ago and put a self-written game in BASIC on it. There's also a *.bin cartridge image linked to, which you can try out.

Image

Image
SparkyNZ
Vic 20 Enthusiast
Posts: 152
Joined: Tue Jan 18, 2011 2:23 am

Re: Making a Vic20 Cart

Post by SparkyNZ »

Mike wrote: replaces the ROM chip with a 2732 EPROM. This shares most pins with the 8K ROM, and you only need to swap the two address lines A11 and A12 on the cartridge: after this, /BLK5 connects to /OE, CA12 connects to /CS (so only the lower half of BLK5 selects the EPROM), and CA11 ends up at the right pin. :) - of course this method limits you to 4K data, but that should be enough for a start.
Thanks Mike. Must be about 5 years since my last post from you, but I keep dabbling :) I found some cheap 2732 chips on AliExpress so I'll give those a try (when they eventually arrive). I figure it will be better to try simpler chip pin configuration mods so I can be sure that my EPROM programmer works before playing with other EPROM chips.

The 2732 chips are supposed to be 32k addressable aren't they? Do all Vic carts fit into $A000 allowing only 4k of addressable memory? Is it only possible to ready $A000-$FFFF at any one time, perhaps requiring "bank switching" to access up to 8K?

Oh wow! I just found a link to burning EPROMS with my Top 853 from a guy in my own country. That's unusual. Here it is in case it helps anybody else:

http://www.classic-computers.org.nz/blo ... eproms.htm
User avatar
Mike
Herr VC
Posts: 4816
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Making a Vic20 Cart

Post by Mike »

SparkyNZ wrote:Must be about 5 years since my last post from you, but I keep dabbling :)
Just write more often here. ;)
The 2732 chips are supposed to be 32k addressable aren't they?
The number after the 27... series identifier gives their capacity in KBits. As they're organised with 8 bit wide outputs, that are 4 KBytes.
Do all Vic carts fit into $A000 allowing only 4k of addressable memory?
The /BLKx select signals at the cartridge port allow for 8 KByte for each block, no bank switching necessary for that. That also applies to the /BLK5 signal in use here. That only 4 KBytes are usable with the method above is particularity of the wiring involved.

The wiring allows to use a 2732 fully with the least necessary changes on the PCB. The next bigger EPROM of that series, the 2764 (with 8 KBytes), already has 28 pins and wouldn't fit anymore on the original PCB without an adapter socket. There do exist EPROMs with 8 KByte capacity which are pin compatible to the ROM, but they are about as rare as hen's teeth.

Might be more sensible to use dragos' RAM/ROM cartridge for bigger homebrew projects.
Is it only possible to ready $A000-$FFFF at any one time, perhaps requiring "bank switching" to access up to 8K?
Block 5 extends from $A000 to $BFFF. There are no available select signals for $C000 to $FFFF at the cartridge port - this address range is reserved for the BASIC and KERNAL ROMs and cannot be replaced by external hardware.

Other cartridges also use BLK1..3, which span the address range $2000 to $7FFF in three 8 KByte blocks.

If you want to decode BLK1..3 and BLK5 for a 27256 EPROM, that's easily achieved with a 74LS08 with a wiring identical to the 32K RAM expanders. This creates a new A13, A14 and /CS from the /BLKx select signals:

Code: Select all

A13 := /BLK1 & /BLK2
A14 := /BLK2 & /BLK3
/CS := A13 & (/BLK3 & /BLK5)
SparkyNZ
Vic 20 Enthusiast
Posts: 152
Joined: Tue Jan 18, 2011 2:23 am

Re: Making a Vic20 Cart

Post by SparkyNZ »

Mike wrote:
Is it only possible to ready $A000-$FFFF at any one time, perhaps requiring "bank switching" to access up to 8K?
Block 5 extends from $A000 to $BFFF. There are no available select signals for $C000 to $FFFF at the cartridge port - this address range is reserved for the BASIC and KERNAL ROMs and cannot be replaced by external hardware.
:oops: Silly me. $A000-$FFFF would have been a 24k block. So $A000-AFFF for a 4k mapping, $A000-BFFF for 8k mapping. I clearly need more sleep. That makes sense. Thanks for the clarification.
English Invader
Vic 20 Scientist
Posts: 1193
Joined: Tue Apr 28, 2009 3:51 pm

Re: Making a Vic20 Cart

Post by English Invader »

One of the things I've wondered is why no one's ever had a go at making their own Mega-Cart. The ROM dump has been around for a while now and, since EPROM burners have become more common, it makes more sense for people with soldering skills to try and do it for themselves instead of relying on a horrendously long waiting list.
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Making a Vic20 Cart

Post by eslapion »

English Invader wrote:One of the things I've wondered is why no one's ever had a go at making their own Mega-Cart. The ROM dump has been around for a while now and, since EPROM burners have become more common, it makes more sense for people with soldering skills to try and do it for themselves instead of relying on a horrendously long waiting list.
The complete schematics are unavailable.

It has been my opinion this cartridge is overly complicated in the way it is designed but I can't prove my point for lack of accurate facts.

I would probably be able to make a redesign of this cart with a single 16 Mbit EPROM instead of two 8MBit ones if I had access to complete data.

Side note:
The VIC-20 Ultimem and MIDI cartridges have 4 times the Non-volatile memory capacity of the Mega-Cart and they are cheaper.

See:
http://store.go4retro.com/ultimem-vic-2 ... cartridge/

http://store.go4retro.com/vic-20-midi-cartridge/

I don't know how development is going on the software for these specific products but I am quite sure it is possible to program them to emulate the Mega-Cart and then some...
Be normal.
Post Reply