C64 Vice: Configure two gamepads for two players in Retropie

Javier Albarracín V.
2 min readJan 11, 2021
Finally, you can configure TWO game pads in VICE

Retropie works great with two controllers when you use Libretro emulators but if you use the stand alone VICE emulator, using two joysticks is very tricky. Here is the setup solution.

After searching for hours several forums I couldn’t find a working joystick configuration file. So I decided to make my own. Please note this works for 8-bit do game pad controllers in X Box mode and also for XBOX type controllers. You can edit the joystick file if you need it.

I am sharing a working joystick configuration file that you can download in this link here.

Where do you put the file? the file is located at this directory:

/opt/retropie/configs/c64/sdl-joymap-C64.vjm

To edit it you can do it by connecting through SSH to your pi address and then editing it with nano. Please make a copy of this file in case you change something else you can always use a backup or setup it again.

The KEY part of the file is this:

# Microsoft X-Box 360 pad
0 0 0 1 1 8
0 0 1 1 1 4
0 0 2 1 1 2
0 0 3 1 1 1
1 0 0 1 0 8
1 0 1 1 0 4
1 0 2 1 0 2
1 0 3 1 0 1
1 1 0 1 0 16
1 1 3 1 0 16
1 1 4 1 1 16
1 1 5 4
1 1 8 1 0 16
1 1 10 3

Each line has six values, for example first line is 000118 with 8 digits I will explain what EACH DIGIT NUMBER is:

1st digit: Controller Number 0 is the first controller. 1 the second controller.
2nd digit: 0 means “Input type: AXIS Controller”, 1 means “Input type: Button”
3rd digit: AXIS indicator it will be 0 1 2 or 3, or if BUTTON the button ID
4th digit: 1 means this is mapped to the joystick
5th digit: 1 for C64 “Joystick Port 2” and 0 for C64 “Joystick Port 1”
6th digit: Mapped Axis (1: Up, 2: Down, 4: Left, 8: Right, 16: fire)

In the provided file that you already downloaded from here there are more settings but this lines are truly the only ones you need to change. You may play with the button ID (3rd digit) in order to get the appropriate FIRE button on your controller, for that you will need this command that will return the codes of your gamepad (just run it and click some buttons or move axis):

jstest /dev/input/js0

Let’s Play!

--

--