A quick market survey on RAM expansions for the C64
The Commodore 64 features a whopping 64kB of RAM, hence its name. Most of this is actually usable at least when programming in assembler. While this used to be quite a lot when compared to competitors in the market, even back in the day there were different external RAM extensions. Some of the popular “freezer” cartridges like later versions of the Action Replay or the Super Snapshot feature some additional RAM of their own.
Commodore started selling their RAM Expansion Units (REU) in 1985 when the C128 came out. The REU was actually quite sophisticated, with its own controller — the MOS8726, REC — that provides fast memory-transfer by DMA.
The other day, I was researching the Jason-Ranheim Capture cartridges and browsing the DDI Projects on that topic. The capture cartridge is a freezer module for the C64 that allows the internal state of the machine to be saved or to be burned directly into an EPROM. These ROMs can then be installed in a cartridge that will run the frozen state. An interesting concept that I’ll probably explore closer at a later date.
In one of the archives I downloaded I came across a PDF document containing scans of a text, also by Jason-Ranheim Company, that caught my eye. The document is titled “Auto-Start BASIC Programs” and describes a simple process to convert a Commodore BASIC program into an auto-starting cartridge for the C64 or the VIC20. I got curious and decided to try this — but first I wanted to explore how it works in detail.
The Kernal is the low-level “operating system” of the Commodore 64. The functions it provides are the basis for higher level routines in Basic and most other software running on Commodore’s 8-bit machines. In case of the C64 it comes in the form of an 8k ROM chip or as part of a 16k ROM chip in later versions. So the good news is, the Kernal is immune to corruption though any kind of malware. The bad news is, there is no easy way of updating or replacing it although Commodore’s original Kernal leaves a lot of room for improvement.
Kernal ROM from a C64.
An Award Winning Board
Today, I’d like to share some brief news and updates on multiple topics. First up is some exciting news. Last year, when I created and shared the Pi1541io layout I had those boards made by PCBWay and I entered their 2nd annual design contest on a whim with the popular revision 4 of the Pi1541io. And what do you know? Shortly before Christmas, I received an email from Eric of PCBWay who is letting me know that my board actually won first price in the category Most Popular Designs! Continue reading
A while back — following the repair of a C64 — I posted about testing the PLA replacement that I had used. In the great video on that topic shared by MindFlareRetro, Eslapion mentions two possible tests for a PLA replacement. One of these I covered in my post back then. The other test involves using a Super Zaxxon game cartridge.
Due to the unique way of bank switching implemented by that module, it seems to be particularly vulnerable to glitches produced by PLA replacements. Less-than-perfect replacements tend to produce crashes or skewed graphics when running that game. Continue reading
Last year I created my own rendition of the SD2IEC, dubbed the SD2IEC Pluggable. Version 1.0 left some room for improvement and recently I found the time to take on a new revision. The new version 2.0 is even closer related to the design published by Shadowolf while maintaining the “pluggable” layout with the pass-through tape connector.
A few weeks ago, I built the through-hole version of the Tapecart based on an ATtiny44. The original and probably the most wide spread variant of the Tapecart is much smaller though. It is built from surface mount components and it is based on the much harder to get 32-bit AT SAM D09 controller.
I wanted some of those Tapecarts in my collection so I had “a few” boards made, ordered the components including a matching case and waited for everything to arrive. Soldering the SMD version is not hard, the smallest components have a 0805 footprint. Continue reading
In my previous post I introduced the Tapecart, a thumb drive for the Commodore 64, and built one of those. The only major issue with these great devices is the 1.5 hours it takes for the C64 to transfer the 2 MB of data to them.
Fortunately, Detlef Gerhardt came up with the idea of hooking up the Tapecart to an Arduino in order to transfer the data using a modern PC. It turns out, this speeds up the transfer considerably and it also eliminates the need for copying TCRT images using a SD2IEC or similar device. An early version of Detlef’s TapecartFlasher software is available on Github.
Tapecart and the Arduino. Ignore all the other components for now.
The original setup for the TapecartFlasher is as simple as it gets: simply hook up 5V and GND from the Arduino, then connect the 4 remaining lines of the cassette port interface to D2-D5. I tried this on a breadboard first and it worked out of the box! The most complicated part here was the lack of a proper connector, so I just soldered leads to the Tapecart module. Continue reading
The Tapecart is a relatively new piece of hardware that was devised for the Commodore 64 by Unseen and enthusi and introduced in late 2016. The general idea is quite compelling: The small module features 2 MB of serial flash memory and plugs into the cassette port of the Commodore. By just entering
LOAD or the “Shift+Run/Stop” shortcut, a small bootstrap program is run that will then very quickly load up to 64 KB from the Tapecart into the C64 for execution. No cable and no external power supply is required and important other ports remain unused. This is probably as close to a “thumb drive” for the old hardware as it gets.
Both the software and the hardware of the Tapecart are available under an open source license. The hardware is very cost optimized and can be built for only a few € or $. Continue reading
The prototype batch of PCBs for revision 4 of the Pi1541io board didn’t take long to ship and it arrived from PCBWay while I was on vacation. Today, I finally managed to assemble one of the boards and everything seems to work great!Revision 4 is basically what the previous one should have been: an improved rev.2 with an added I2C connector for an OLED display. In this revision though, the I2C connector can be configured to accommodate different kinds of display modules.