We imagine most of the people reading Hackaday have an old Raspberry Pi or two laying around. It’s somewhat less likely you’ve still got an 8-bit Commodore in working condition, but we’d wager there’s more than a few in the audience that can count themselves among both groups. So why not introduce them?
[RhinoDevel] writes in to tell us about CBM Tape Pi , an open source Commodore tape drive emulator for Raspberry Pi that needs only a handful of passive components to get wired up. Even better, the project targets the older Pis that are more likely to be languishing around in the parts bin. In the video after the break, a Commodore PET can be seen happily loading content from the original Raspberry Pi with its quaint little composite video connector.
Without any special software on the Commodore itself, the project allows the user to load and save PRGs on the Pi’s SD card, as well as traverse directories. Don’t expect stellar I/O, as [RhinoDevel] notes that no fast loader is currently implemented. Of course if you’re enough of a devotee to still be poking around a VIC-20 or C64 this far into 21st century, then we imagine you’ve got enough patience to get by.
23 thoughts on “Commodore Tape Drive Emulator On A Raspberry Pi”
This definitely falls into the “because you can” category instead of “because you want to”.
You’d have to look hard to find a slower way to save and load data on the C64.
The C64 disk drive is a strong contender for that title…
I remember when, in 1984 (or so), Jumpman took 30 minutes or more to load from tape. We don’t know for sure, because nobody stuck around to watch it finish. Then we bought the disc drive: 20 seconds!
It’s all relative, I suppose…
living in country where you can not buy disc drive (it costs about 3+ month salaries and it was extremely rare) the engineers here invented Turbo 2000 which upgraded ATARI cassette speed from 600Bd to 2000Bd with greater reliability (and up to 6000Bd for some tape drives).
It is meant to be an alternative solution to store and load your data directly with even older Commodore machines (e.g. PET). For compatibility between “all” 8-bit Commodores, the tape port is used. With the fastloader implemented, the speed will no longer be a problem. :-)
C64 games with tape loading music makes it worthwhile.
Actually, I’ve toyed with doing a more generic pocket-sized .wav-based tape drive emulator (complete with remote control interface). With a lot of early machines, that and maybe a paper tape were the only native interface present. And magnetic media being what it is, it’s a good compromise to use modern media with vintage hardware. Sort of the same philosophy as the Gotek.
Well, considering that Commodore Datasette communicates with the computer digitally and the transfer speed is around 50bps (few times faster with fastloaders), emulation of such a drive should be quite simple using a decent 8-bit MCU and SD card. Of course, only if one is a decent enough programmer.
8-Bit Guy has a quite interesting video on cassette drives for old computers:
There are great solutions with more/other features, different project goals and special hardware out there:
Supported Commodore machines: CBM/PET computers (tested with 3032), VIC 20 / VC20, C64.
[ Other Commodore computer with tape interface (not tested, yet). ]
Supported Raspberry Pis: Raspberry Pi 1, Raspberry Pi 2 (v1.2 excluded), Raspberry Pi Zero.
[ Other Raspberry Pis (not tested, yet). ]
copied/pasted here as FYI/’Minimum System Requirements’ in case of doubt/wonder.
(thanks for the work and for sharing, btw.)
It won’t surprise you that this has been done already… many times before… (and many will follow) tapuino is perhaps the most easy one for the casual hacker (since it uses an arduino).
Though an interesting one might be the cassiopei v2.0.
This isn’t an open source project though and it isn’t DIY either. But it’s small and powerfull and has lot’s of bells and whistles. Because being able to connect to the tape port is not to be take lightly, tape may be slow, but you don’t have to use the tape prototcol for everything. The cassiopei is a nice example of the things you can do with the tape port. First it loads a small fastloader and after that it loads very fast, it has a nice menu system it has a wifi interface it allows even for playback of full screen petscii animations… over the cassetteport (no sound).
For more info about the cassiopei v2.0:
why use it as a tape when you can use it as a disk drive:
the 1541 drive doesn’t work in combination with the PET series
oh! I see!
Sure, but parallel port (IEEE-488) disk drives do; e.g. CBM 4040.
ooh, good answer. TIL
a simulator for that, first posted 5+ years ago: http://www.baltissen.org/newhtm/cbmhd.htm
“CBM-HD is a project where a PC simulates one or more IEEE devices.”
That’s a great website (all of it) with a lot of material. Nice find!
Sure you can use a 4040 but if you find one 4040 would be the cost in dollars, without any decimal point.
I find this humorous. First of all it is bringing back the one very non functional piece from the C64, but with a parts cost that is more than the tape drive cost new and with a brain bigger than the 64 itself.
Think of it like V’Ger in Star Trek.
I cannot really agree to the costs comparance, but sure you are right about the processing power. On the other hand, you get more features out of it (it is not just a tape emulator). This is true for a lot of recent projects related to old 8-bit machines, by the way.
Emulating a 9 track tape drive (PDP-era) using SD-card:
New version with FAST loading/saving/etc. and more out now: https://github.com/RhinoDevel/cbmtapepi/blob/v1.7.0/README.md
Please be kind and respectful to help make the comments section excellent. (Comment Policy)