Raspberry PI c64 emulator image

I made a Raspberry PI c64 image a few years back, but never released it on this site. To install it, you’ll need an 8gb compatible SD card, a disk imaging program such as win32diskimager, and a Raspberry PI 2.0 (though all newer pi’s should work as long you do a sudo apt-get update / sudo apt-get upgrade).

This includes a port of vice64, 2400 baud modem emulator with tcpser (needs to be implemented but it’s there. See below.), and a joystick emulator to play games built in. GPIO pinouts for the joystick ports are included in the dox to hook up your old 9 pin style C64 joysticks to the Raspberry PI.

Image file: http://www.mediafire.com/download/3a9jh3stnfq3k34/pi64.zip

Instructions: https://dl.dropboxusercontent.com/u/98204530/pi64%20instructions.pdf

To get the modem emulator running, exit out of vice emulator after it boots (F12 -> quit), follow these instructions:


tcpser -v 25232 -p 6400 -s 2400 &x64

vice will reboot, load up striketerm, the defaults will be for the user port at 2400 baud, and you should be able to get an at/ok response in the terminal.

Strikelink Ultra + Raspberry PI = Complete Modem Solution

Another useful hack. We have macs at my house. All my roommates have macs. Not one pc in the bunch. The only way I’ve been able to BBS at home is using the Comet, hooked to the mac, using the mac’s wifi, and using the Ethernet cable to chain to the Comet. But I’m stuck at 2400 baud with that solution.

Getting TCPSer4j working on the mac was a 12 hour exercise in futility. If anyone can figure that out, be my guest. No luck there. (Using 10.5 Leopard btw)

So, I figured, instead of the comet, let’s get a simple Raspberry PI Solution going. TCPSER can do ANY Baud Rate I want, and pl2303 devices (such as the Strikelink or any other Serial<>USB Device) do not need additional drivers for the PI – they’re already included in the raspbian distro. It’s Built into the system. so let’s give it a shot.

Installing TCPSER is easy on the PI. If you haven’t done it yet.

sudo apt-get install tcpser

That should be it, then from commad line, just run:

tcpser -d /dev/ttyUSB0 -p 6400 -s 9600 -l 4

-d is the device. Yours should be at ttyUSB0, but in case it doesnt work, try USB1, 2, etc. -p is the port. -s is the speed. Strikelink Ultra does 9600 so use that option. -s 38400 for swiftlink/turbo232 etc. -l 4 is the logging level, i always use this.

Plug her in and you’ve got a cheap solution based out of a pi. That took 15 minutes to get running, way better than trying to get the mac rolling. Enjoy!

Hybrid 2400 Emulation . Using Mac Vice with a Pi Modem Emulator

A reader named Mike sent this in. He wanted to use his Raspberry Pi as the modem emulator, and his Mac with Vice to call BBSes. Here’s the working combo he came up with:

1. Install tcpser on my Raspberry Pi.
2. Run tcpser with this command line:
tcpser -v 25232 -p 6400 -tSs -l 7 -i “k0” -s 2400 -N “/tmp/noanswer.txt” -B “/tmp/busy.txt”
3. In Mac VICE, alter these:
:: Peripherals: Cartridges: ACIA disabled (uncertain if needed)
:: Peripherals: Cartridges: Userport RS232: Baud Rate 2400 / Enabled/ Device 4
:: Peripherals: RS232: Device 4: |nc IP.to.Pi.xx 25232

BBSing with Vice on Linux

Calling BBSes at 2400 baud with Vice on Linux / Rasp Pi is possible, though no good instructions around on how to do it with ease. I spent a good chunk of my day figuring out how to install it on my Raspberry Pi. Thanks to Jasmaz and ShadowM for putting in the time to help me out with this. And VidKid who has hacked the ACIA routines from 1.19 (read his blog here for his method!)

This method is good for calling bbs systems, but not hosting a bbs. Vidkid’s hack has this figured out. The max baud rate for now is 2400.

This pertains to installations of Vice 2.4 with the SDL Library.

sudo apt-get install tcpser
sudo apt-get install netcat

Make sure netcat and tcpser are both on your linux/pi.

from the command line via ssh or standalone run netcat and tcpser

(I’m not sure if this init of netcat is needed but i do it anyway)

netcat 25232
(some systems need nc 25232 instead)

tcpser -v 25232 -p 6400 -s 2400

Add the &x64 if you aren’t running tcpser via ssh

In Vice, go to F12 -> Machine Settings -> RS232 Settings
Disable Acia interface emulation

Enable Userport RS232 Emulation
Host Device 4
Baud Rate 2400

Device 4 will have the pound symbol followed by a few characters. KEEP the pound symbol but erase everything else!!! After the pound symbol add the following
nc 25232

No spaces between the pound symbol and ‘nc’

All 4 device baud rates below to 2400

That’s it, go back to terminal, makesure your term program is using a standard hayes/user port setup (In Striketerm it’s the User Port modem), 2400 baud, type AT in terminal and you should get an ok!


CMBBS 6.0 Source Code and More

Here’s something fun, CMBBS 6.0 (hereby referred to as 6.1 for the sake of the mods i did). Fully compatible with Strikelink and BBS Server. So, if you’ve always wanted to run CMBBS, like i used to want to back in the day, here’s your chance to run a quality 1200 baud bbs on a real c64. Remember this BBS only goes to 1200 baud, so set your strikelink and bbs server software accordingly.

BBS Server settings:

Connecting menu – Set “Send Ring to BBS”

Disconnecting menu – Set “Disconnect if <pause>+++ath<enter>’

When doing the configuration before loading the bbs, select hayes, select 300/1200 baud,select h/s detect. The bbs now actually runs only at 1200 baud, but choosing these options will guarantee it works.

Some notes on functionality. System overall works fine. Will drop carrier in 60 seconds if idle or if user disconnects in the midst of a session. About half the time the system will notice disconnections. Often it will not. So, the 60 second timeout is a sort of failsafe towards bad dropped calls.

Sysop commands can be found using the bad command from the main menu while logged in. This lets remote sysop functionality work as well. ‘bad’ stands for backdoor, so there ya go. User level 10 can only access this.

I added a % command for the one liner. it’s not in the menus. Thats a new mod i did for the system.

I added a ‘graphic of the month’ of sorts file. * from the main menu displays a seq file called ‘graphic’. You’ll have to create that to use it.

‘W’ is sysop notes, for only the sysop to see. The file is a sequential file called ‘list’. Just basically something for the sysop to use for himself if he wants to.

Punter does not work. I have tried numerous things to fix it, it just doesn’t work. If anyone can fix this, that would be great, considering this bbs system only has punter, and no xmodem capability.

The source file is blitzed. Just re-blitz the source file and the boot program will load ‘c/cmbbs’. Yes, I posted the source!! Have fun seeing the hidden features.

Access level .5 is restricted, and access level .1 is blocked. 9 is co-sysop. (they can scratch / edit files and posts). 10 is sysop.

I removed the printer functionality.


Again, if anyone could solve the punter bug, that would rule. Enjoy!

Touchterm 5.9 Source

I got a request for this, so I will be posting sources for more programs soon. This is Touchterm 5.9’s basic source. Use blitz! to re-compile once you edit it. (If you choose to edit it). The good thing is this term is stable at 2400 baud. It was the basis for my old Striketerm 2012. I moved on to hacking Novaterm 9.6c for Striketerm 2013 and beyond.

A lot of this code can be optimized even more.

Download the .d64 here