Using the Boffintronics C64 / Atari Joystick Adapter with a Raspberry Pi

ad410_top

There have been a few questions about how to hook up the Boffintronics C64 / Atari Joystick Adapter to a Raspberry Pi. Here is a quickstart guide to get you up and running so you can enjoy all of that retro computing magic!

1. Plug in the Boffintronics C64/Atari adapter to the Raspberry Pi using the GPIO Ribbon Cable.

Make sure that Pin 1 on the Pi is connected to Pin 1 on the adapter board. The picture below has Pin 1 on the top of both boards.C64toPiwiring

2. Install Retrogame from Adafruit.

SSH into your Pi
Run the following at the prompt

curl https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/retrogame.sh > retrogame.sh

Then run

sudo bash retrogame.sh

Select option 3

3. Replace /boot/retrogame.cfg with the retrogame.cfg file from here and reboot.

I have the joysticks mapped to the following keyboard keys

LEFTCTRLJ1 Button 1
UP J1 Up
DOWN J1 Down
LEFTJ1 Left
RIGHTJ1 Right
RIGHTCTRLJ2 Button 1
8J2 Up
2J2 Down
4J2 Left
6J2 Right

You can change the keyboard keys to anything that you want in the retrogame.cfg file, just don’t change the column of numbers that set up the GPIO. Those are mapped to the proper signal lines on the joystick ports on the adapter.

Boffintronics Haptic Feedback Module

Have you ever wanted to add haptic feedback to an existing project? Boffintronics has you covered! We’ve created a haptic feedback module that you can integrate quickly and easily.

The module consists of an ERM (eccentric rotating mass) style vibration motor and a MOSFET driver. It can be powered from 3.3V power pin and the enable (VB pin) can be driven from any 5V or 3.3V digital output pin.

The module has 0.1″ connectors on the bottom for plugging into standard breadboards as well as terminal blocks to connect wires.

Purchase one at Addicore.com

Boffintronics Audio and Video Breakout Boards

avbreakouts20180126Boffintronics has created a line of audio and video breakout boards for RCA and headphone jacks.

ad207_bottomEach has 0.1″ connectors on the bottom for plugging into standard breadboards as well as terminal blocks to connect wires.

We have 4 different boards, all available at Addicore.com;

Single RCA with 5 different RCA jack color options

Dual RCA with red and white RCA jacks

Triple RCA with red, white, and yellow RCA jacks

3.5mm headphone jack with integrated switch

 

 

How to use the Boffintronics C64 Board with PetRockBlock’s GamepadBlock

PetRockBlock has also come up with the GamepadBlock. The GamepadBlock adds 17 inputs for additional joysticks or buttons. The GamepadBlock connects to a computer as a standard USB Human Interface Device (HID). Since HID is a standard protocol, the GamepadBlock can be used with Windows, Mac, Linux, and many other systems.

ad463_top

Addicore is the exclusive US distributor for all of PetRockBlock’s boards, including the GamepadBlock. Addicore also carries the Boffintronics C64 Board as well as hookup wires.

The GamepadBlock does not have separate inputs for Player 1 and Player 2 as the ControlBlock has, just numbered inputs 1-17. To make things simple, I hook up Player 1 on the left and Player 2 on the right.

gamepadblock_c64_20180123a

To hook them up, connect the following wires;

Joystick Input C64 Board GamepadBlock
Player 1 – Right Pin 21 Terminal 1
Player 1 – Left Pin 22 Terminal 2
Player 1 – Up Pin 19 Terminal 3
Player 1 – Down Pin 11 Terminal 4
Player 1 – Button Pin 16 Terminal 5
Player 2 – Right Pin 13 Terminal 9
Player 2 – Left Pin 7 Terminal 10
Player 2 – Up Pin 3 Terminal 11
Player 2 – Down Pin 5 Terminal 12
Player 2 – Button Pin 12 Terminal 13
Joystick Ground Pin 6 Terminal GND

For the GamepadBlock to work correctly with the C64 board, the firmware must be updated to at least version 1.2.0. The instructions to update the firmware is here.

Set the DIP switches to the correct mode for C64 and Atari controllers. (A=1, B=0, C=1). This mode allows for the best functionality in the C64 emulator VICE as well as MAME.

gamepadblock_c64_20180123b

Note: If you are using the GamepadBlock on a Linux based system, such as the Raspberry Pi, you will need to patch the OS to allow for 2 player functionality. The instructions for the patch is located here.

How to use the Boffintronics C64 Board with PetRockBlock’s Controlblock

While the Boffintronics Commodore 64 Adapter board can be hooked directly up to the GPIO of the Raspberry Pi, one of the easier ways is to use the PetRockBlock ControlBlock.

ad435

The ControlBlock is an add on board for the Raspberry Pi that adds 32 extra inputs for additional joysticks or buttons. The ControlBlock also allows for adding a power switch and LED with intelligent start up and shutdown scripts.

Addicore is the exclusive US distributor for all of PetRockBlock’s boards, including the ControlBlock. Addicore also carries the Boffintronics C64 Board as well as hookup wires.

Hooking up the C64 board is fairly simple since standard Commodore and Atari joysticks are just switch closures that ground the corresponding pin on the connector. Each joystick will require 5 connections plus a ground.

The ControlBlock breaks up the inputs so that Player 1 is on one side and Player 2 is on the other.

controlblock_c64_20180123

For Player 1, connect the following wires;

C64 Board ControlBlock (Player 1)
Pin 21 Right
Pin 22 Left
Pin 19 Up
Pin 11 Down
Pin 16 SW1
Pin 6 GND

For Player 2, connect the following wires;

C64 Board ControlBlock (Player 2)
Pin 13 Right
Pin 7 Left
Pin 3 Up
Pin 5 Down
Pin 12 SW1
Pin 6 GND

 

If you want to use the power switch and LED functions of the ControlBlock, the instructions can be found here.

You will need to install the drivers for the the Controlblock on your Raspberry Pi which can be found here.

Once the driver is installed, use the arcade button profile. This allows for the best functionality in the C64 emulator VICE.

Connect C64 and Atari Joysticks to a Raspberry Pi

My love for the Commodore 64 runs deep. It was my first computer and I spent many hours playing games. I still have my original C64 and I still bring it out on occasion, but with the Raspberry Pi and Retropie I find it a better solution for a quick nostalgia hit. I’ve also been enjoying the experience of showing my kids the programs and games that I grew up on.┬áThe only downside is that using a keyboard or a USB gamepad just isn’t the same as my original C64 joystick.

This adapter board allows you to use your classic C64 and Atari joysticks with a Raspberry Pi for maximum authenticity. This board is compatible with any add on program that interprets Raspberry Pi GPIO signals.

This adapter also pairs great with PetRockBlock’s ControlBlock or GamepadBlock. Full hookup instructions for both of those boards to follow.

Purchase one at Addicore

ad410_topad410_side