A few months ago I have bought this “pimped up” expansion for my old VIC-20 and, I admit, it quickly became the only expansion cartridge I’d really need, blowing new life into this 8-bit gem by Commodore.
This product is both a switchable memory expansion (from 3K to 32K) and a SDIEC device that is, it works as a disk drive but operating on a modern SDcard instead of a diskette. You can easily store ALL your VIC-20 software on a single SDcard and also you can use this card as a bridge with any modern, Internet-connected laptop.
The cartridge look and feel is the classic “Commodore” style which immediately brings sweet memories of the past. It is not an industrial product, it has been home built and assembled by a retrocomputing enthusiast. The overall build quality is good, the cartridge case has been obtained from a 3D print and it’s handy to pull in and out from the VIC’s rear slot. My cartridge was not closing perfectly around the two half sides so I had to use two strips of transparent adhesive tape to make it more compact and tight, but this is a minor flaw.
On the top side and in permanent view we see a DIP-switches tray which we use for selecting how much memory we want, and a useful RESET button. They can both be operated when the cartridge is fitted. On the left side there is a short cable with a DIN plug for the VIC’s user port (the same you would use for a disk drive) which powers the built-in SDIEC device. There are also two LEDs which can help us understand what the SDIEC is doing. Your SDcard will be inserted in the rear slot (see photo): since it is designed for a standard SDcard I used an adaptor to fit a microSD.
The most important combinations are:
- BLK1 (block 1) will give you +8K
- BLK1+BLK2 will give you +16K
- BLK1+BLK2+BLK3 will give you + 24K (yay! I never used all this memory back in the days…)
- BLK5 is particularly important because it covers the 8K memory area used by cartridges. Setting this one ON will enable you to use the dumps obtained from most cartridges. A few will require also BLK3, this is easy done.
- RAM1/2/3 switches will give you +3K expansion in the lower part of the VIC’s memory. Not sure about the differences between these three though, I switch all three on when needed.
- BLK1+2+3+5 on will give you 32K for a few, recently developed games such as Popeye even though, being the 5th block of RAM non-contiguous, you will not see the free memory count increasing at the startup screen, but this is perfectly normal.
- W/P means Write Protect and theoretically it should prevent the VIC from writing on memory block 5 thus simulating the presence of a ROM, once you have loaded a cartridge image. From experiments I made it seems this should be ON for general use, so I think it’s working at reverse logic. For sure, if I try out 32K Popeye and I forget to set it ON, the game will not work, and the same applies to more 32K softwares.
The switches can be operated when computer is running. Therefore if you need to change the memory configuration you can alter switches, press RESET and you are ready to go.
How to manage files on the card
It is indeed very interesting to see how the good old VIC manages files on a modern media like the SDcard. The one I use is a 4GB formatted with a FAT filesystem on a Windows 10 laptop, but they reported to me it works also with a bigger card, 16 GB.
- The root directory of the SD card is seen as a diskette. Files are assumed to be PRG (program/executables) files.
- Each folder is seen as a diskette. Since the original disk drive did not support folders, you need a special little program named FB (FileBrowser) to navigate and use folders. More on this program later.
- The device can easily use .d64 files as if they were diskettes, as they are supported by the FB. This is truly useful because .d64 is a very popular file format: The majority of the software you download from the internet is distributed either as .prg file or .d64 diskette. Also, any .d64 file can be easily used to make a regular diskette to be used in a traditional disk drive.
- Better not to use UPPERCASE on names. Because of the differences between PETSCII and standard ASCII if you use uppercase chars you will see them as graphical characters on the VIC. So I use lowercase for all files and folders, renaming them on my Windows laptop.
The SDIEC device is used exactly like you would with a regular floppy drive, it has device number 8. So the usual command LOAD”$”,8 then LIST will show the current directory. Also, LOAD,SAVE and OPEN/PRINT# commands will work normally as you expect, except that LOAD and SAVE operations are faster than on a regular disk drive.
This little program comes in different configurations and you will want to have it in the root directory of your SDcard, as it allows you to easily navigate the directory tree up and down, and also lets you manage .d64 files as they were diskettes.
Each time you enter a directory or a .d64 file the device (and the VIC) will treat it like a virtual diskette: the device will behave like you’ve put that diskette in the drive. So even if you reset the computer, you will continue to see only the files in that (virtual) diskette. Only the FB program (or eventually a power off+on operation) is capable of changing the folder and bringing you back to the root directory.
You might notice that Windows’ long names are not supported so only the first 6 chars and the extension of a file are kept as they are, then the rest is encoded somehow with some fancy char. So, .d64 files should have short and concise names if you want to see them quick inside the VIC.
Just in case you want to make regular floppies out of files stored on the SDcard, there is a solution.
It is indeed possible to connect both the SDIEC and a regular floppy drive simultaneously. The photo will show you how the connections were made: I connected the SDIEC in the rear of the floppy drive which, in turn, was connected to the VIC. Before doing this, just make sure to change the device number of the floppy drive from 8 to 9, so that while device#8 is the SDIEC (SDcard), while the device #9 is the floppy. This set-up will allow you to easily to transfer files to a real physical diskette if you want, even though the quickest and most comfortable solution to achieve this is to connect the floppy drive to a Windows PC via the USB by using a special adaptor named XUM-1541 (more on this in a future post!)
What is most incredible is how easy is now to work on a new VIC-20 diskette project by starting from program and files found on the Internet. It’s annoying working on the emulator only since the keyboard support is not capable of letting you use all the needed features (graphic chars, colour and special codes, etc.). So here is how I work:
- Using my laptop and a free software named CBMxfer, I can easily create a new empty .d64 file and I transfer programs I found on the internet on it for later testing or editing.
- I copy the .d64 file on the SDcard which is plugged in my laptop.
- I pull the SDcard off and I plug it inside the cartridge, then turn on my VIC. I load FB and then switich to my .d64 file.
- Now I can work on this virtual diskette and edit basic programs at ease, since I have a standard VIC-20 keyboard and the real CRT screen.
- When finished, I simply bring the SDcard back to my PC and share the .d64 file or run it inside the emulator, or also make a classic physical diskette out of it using CBMxfer and a XUM-1541 cable.
The best of both worlds!
The VIC-2066 cartridge is a very powerful device and it’s surely worth its cost (I paid it about 60 euros), as it provides a handy and incredibly versatile solution for memory expansions and permanent storage on the VIC-20 with its speed, robustness, ease of use. Since any SDcard can be used both on the VIC and on any computer, this cartridge fills the generational gap between the two systems allowing to share and transfer everything back and forth.
If interested, you can buy it here.