GCart Jr III

By Thomas Lövskog
3 min read

GCart Jr III is the third idea on how to do a cheap memory expansion with reasonable feature set. It doesn't have a fully fledged FPGA or CPLD, because of cost, so there are some simplifications done.

The GCart MX is a more maximised expansion. Not crazy price, but more expensive and with more features including WiFi etc.

Basic features

The basic features includes memory where you expect there should be memory;

  • Lower 3k at $0400 - $0FFF. As usual not available for the VIC chip. The three RAM1, RAM2 and RAM3 are enabled and disabled as one block.
  • SRAM at BLK1, BLK2 and BLK3. These are enabled and disabled as one block.
  • SRAM at BLK5 with 4 banks. BLK5 can be enabled, disabled and write protected.
  • IO#2 is used for peripherals and configuration. There is no way to disabled it or hide it. Again for simplification.
  • IO#3 however, contains 1k of SRAM. Can be enabled and disabled, as well as write protected. A perfect place for entry to stored utilities like monitor, file browser, etc. The 1k here will have SYS entries and KERNAL wedges, swap in relevant banks in the shadow memory and execute. Write protected for security.
💡
The SRAM chip used is 128k. Although I strictly only need 36k, the 128k is the cheapest SRAM available in a usable size. This means that I could add 4 banks for BLK 5 and also have a complete shadow memory map for the configuration mode. Again to simplify the design.

New to this variant in contrast to GCart Jr II is that there is no 512k parallell NOR FLASH memory for configuration. Instead, to cut cost, there is a serial NOR FLASH memory with a 6502 bus to SPI interface. Although the extra cost of 0.16 USD for this bridge, it is lower cost in total than with a parallell NOR FLAHS.

AND

The size of NOR FLASH is up to a whooping 16MByte (24 address bits). I have not implemented the bank register command for even larger memories, since I really think 16MByte actually will be enough. IF needed you can also use a SD Card and here the sky is the limit. It holds boot code, configuration application and some utilities. These take up roughly But anything can be stored here. Single part programs as well as cartridge images.

💡
I Guess 16 MByte is enough for most cartridges ever produced for the VIC 20.

Optional accessories

Since we now also have a SPI bus, we can add some cool and cheap peripherals;

  • A RTC (Real Time Clock) with battery backup. Besides the clock it also has 64Byte of SRAM with backup, 128 Bytes EEPROM and 16 Bytes of production EEPROM with version of hardware, size of memory, options and serial number.
  • A display showing the number of kByte of expansion memory, or whatever you want. Mapped as 2 bytes as a SPI device.
  • A general MIDI synthesiser, which also plays WAV, PCM and MP3.
  • A micro SD card expansion.
💡
The internal NOR FLASH has a proprietary filesystem (or rather binary images with 4k granularity and a flat directory and file structure). Again to simplify the hardware.

The SD card on the other hand has a FAT32 structure. This means that the VIC20 needs a FAT32 driver to access the files. This is roughly 4-6kBytes in size.

Current work

I have received the first boards and mounted them. The bring-up worked very well although I have moved around the pins for the programmable GreenPAK chip. It seams that SPI input could ONLY be at pin 10. The other signals SPI out and clock can be at any pin. Strange and an oppsie!

Bring up of GCart Jr III

The GreenPAK handling the memory decoding is done. I must say that GreenPAKs is very nice components that is true "Glue Logic".

The 6502 to SPI bridge GreenPAK is also done. It also works quite well and I have accessed the RTC, Display and NOR FLASH. I expect the SD card to not be any issues either.

What is left is to test and bring up the general MIDI synthesizer.

Last Update: November 27, 2024

About the Author

Thomas Lövskog

Electronic Consultant with 35 years of experience with PCB design. Works with anything from Mobile Phones, industrial automation systems, through cryptographic and cybersecurity systems.

View All Posts