Vintage C64 computing, OpenCBM and Raspberry Pi
Get your C64 online with the help of the Raspberry Pi, OpenCBM and the ZoomFloppy.
Getting your C64 online and the OpenCBM working with Raspberry Pi is fairly straightforward, but there is a lot outdated info out there that might make it a bit confusing. This guide rolls up the basics in one place.
Setting up the Raspberry Pi
This guide assumes a Raspberry Pi 3 running the standard Raspbian image.
Unplug the ZoomFloppy USB cable if it is plugged in
You will need the following packages:
Install these using
sudo apt-get install <package>.
Unfortunately, there is no pre-built Raspbian package for OpenCBM, so you will need to build it.
Download the OpenCBM sources and extract into a work directory.
make -f LINUX/Makefile opencbm plugin-xum1541
This will build only the parts you will actually use with the Raspberry Pi.
Now install with:
make -f LINUX/Makefile install install-plugin-xum1541
Now plug in the ZoomFloppy USB cable and turn on your 1541 (or other Commodore floppy drive). Run the following command:
sudo cbmctrl detect
If all is working, you should see your drive detected. For example:
pi@raspberrypi:~ $ sudo cbmctrl detect 8: 1540 or 1541
See http://spiro.trikaliotis.net/opencbm-alpha for more info.
Using tcpser, you can connect your C64 to a variety of BBSes still up and running on the internet and accessible via telnet.
You will need to build or buy a Commodore user-port to USB interface. There are several options for this. One simple option is the “Strike-Link” cable using the CH430G device. Another simple (but slow) option is the Sparkfun RS-232 level shifter in conjunction with an RS-232 to USB adapter.
Either way you go, you will need a user port edge connector. You can get these on EBay. The wiring for the Sparkfun level shifter is pretty simple:
- Connect user port pin 2 to VCC
- Connect user port pins A and N to GND
- Connect user port pins B and C to TX
- Connect user port pin M to RX
Depending on what cable you have, you may need to tweak tcpser’s settings. For the Sparkfun cable above, the following settings work well for me:
sudo tcpser -s 2400 -d /dev/ttyUSB0 -tsSiI -l 7 -i "&k0"
In the terminal, you can “dial” an internet-connected BBS by entering its address:port in place of the phone number. Striketerm’s phonebook supports telnet BBSes natively.