Re: Question about ROM expansion for VIC-20

From: Marko Mäkelä (
Date: 2005-01-15 22:47:09

Hi Jim,

> I am trying to design a 32 kB ROM cart for the VIC-20.  I've found some 
> RAM expansions that come close to the design I am looking for, but 
> here's the rub:

Some time ago, I built some prototype RAM/ROM cartridges for the VIC-20.
The cartridges have 32 kB RAM that can be programmatically configured as
a 3k expansion, or 8k or more.  The flash ROM is 512 kB or 4 MB (two
prototype versions).  In addition to the SRAM and the flash ROM chip,
there's a Lattice FPGA that contains the bank switching logic.  Both
prototypes are 5-volt designs.  Big 5-volt flash ROMs are really hard to
find.  4 MB chip is probably the largest you can get.

I wrote a menu program that autodetects PAL/NTSC and lets a program to
be chosen.  Actually, I wrote two versions of the menu: initially, it didn't
support subdirectories.  But I haven't written a program that creates a
filesystem on the flash ROM.  Programming and erasing the flash works, but
there is something wrong with the bank switching logic that prevents certain
types of programs to be uncompressed to the SRAM.  (I'm using the PuCrunch

> On a RAM cart, you cna just feed the BLK signals to a encoder and get 
> the 2 high address bits.  RAM is contiguous.  No issues.
> In a ROM/EPROM, there are lots of options:
> 8kB ROM mapped into BLK1, or BLK2, or BLK3, or BLK5
> 16kB ROM mapped into BLK1, BLK2, BLK3
> 32kB ROM mapped into BLK1
> 32kB ROM mapped in as two separate 16kB images
> 32kB ROM mapped in as 4 separate 8kB images
> 16kB ROM mapped in as 2 separate 8kB images
> Does anyone have ideas on how to enable such configurations?

That sounds really complicated.  Why don't you just uncompress or copy
the data from ROM to RAM?  Then you can just have a BLK5 selector
(RAM/ROM/disabled) and simply switch the ROM bank that is visible at BLK5.

> Anyone have better ideas or know of projects already doing this?

Yep, sort of.  Contact me privately for the source code (6502 assembler,
C and VHDL) and design documents (schematic diagrams, circuit board layouts).
I hope that you can complete this project, and maybe also produce and
distribute it.


       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.