The Tapecart – A Thumb Drive for the C64

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 $.

Currently, there are two versions of the Tapecart hardware. One is designed to be small, using SMD components and a somewhat exotic SAM D09 controller. The other is called the “DIY” version: it uses the ATtiny44 controller and it can be built using through-hole components only.

As the ATtiny is much easier to come by, I decided to go for the DIY version first although I would otherwise prefer the more compact SMD variant. To optimize PCB costs I created a panelized Gerber file intended for v-cutting, so I ended up getting 30 PCBs for a total of about $12 including shipping. Most of the other parts I ordered from China too, the board edge connector being the single most expensive component. I would estimate that I ended up with a total cost of around $4 for one of the Tapecart modules.

When the module is assembled and the firmware for the ATtiny is flashed, the Tapecart needs to be filled with content. This is currently done using the C64 itself. The Tapecart Flashtool allows writing ready-made images or single PRG files to the module. These files need to be accessed by the C64 of course, e.g. via a SD2IEC device.

Not only is the entire project open source, but it is also well documented. This allows others to adapt the Tapecart to their needs. Using a tool called Tapecart-Browser, multiple PRG files can be combined into a single image and then run from the module using a menu.

One issue I’m having with the Tapecart is the fact that it takes a very long time for the content to be written to the module by the C64. Even with JiffyDOS support, filling the entire 2MB of flash memory takes close to 1.5 hours. That is about to be resolved by a new tool called the TapecartFlasher, though. For this to work, the Tapecart is wired to a PC using an Arduino device. I will probably visit this option in a later post.


14 thoughts on “The Tapecart – A Thumb Drive for the C64

  1. Pingback: TapecartFlasher Nano |

  2. Pingback: The 32-Bit Tapecart |

  3. Hello (again)!
    This is again a great project and thanks for panelizing. Greatly reduces the cost of one PCB!

    Did you think of enabling the firmware to be able to store 8MB of .prg files (and elevate the 127 file limit in the browser), as the W25Q64 is also compatible with this board (the SOIC and the DIP as well).
    In case you are using DIP eeproms then you don’t need separate programmer, just the code which produces the raw binary, that needs to be burnt with your eeprom programmer… (or is it simply the TCRT which is burnt onto the flash?)

    Thanks again!

  4. Yes, a larger EEPROM would work and many people have thought about that. But Enthusi, who came up with the original idea for the Tapecart, insists that all Tapecarts should be fully interchangeable. And so far, everyone seems to have respected his wish.

    The TapecartFlasher is about flashing the TCRT files to the Tapecart using a PC instead of a C64. See my other post about this topic.

  5. Can you guide me to the direction where the capacity change is discussed? I haven’t find any yet.
    I think that the micro-controller’s firmware ( ATTiny44) can be prepared to autodetect the size of the flash chip. And if that is done then the flasher and the TCRT file builder also can to be enhanced to properly handle this change. The API function is already there where the C64 code can query the parameters (size) of the flash IC.
    I read your other post also but for me it is not completely clear if the TCRT file is copied bit-by-bit into the flash or there is some conversion in-between…

  6. Hi,
    do you happen to remember from what PCB manufacter ordered your panelized PCBs? I JLCPCB and Elecrow just have rejected those panels (funny enough, Elecrow already accepted once and produced 10×3 pcb for me).


  7. More than funny.. Both of the manufacturers claimed that no V-Cut is available under the size of 70cm x 70cm (the size of one board is 53×99). The first batch was produced properly by elecrow, just I’d need some more..
    Anyway, I asked them to redo what they did earlier, hope they will do that, still waiting for their response.

  8. Hello everyone.
    I have some PCBs of the Tapecart DIY version, ordered on JLPCB.
    I have not yet understood well, where to find the firmware for ATTINY44 and especially how to load it.
    Is there anyone who can explain it to me in a simple way?

    Thanks a lot to everyone

  9. The compiled firmware can be found in the git repository of the project. You’ll need some kind of programmer to flash it. Either an external one like the TL866 or an ISP like the dirt-cheap USBASP (e.g. from Ebay). As noted by Nuke above, an Arduino can also be used as an ISP.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.