VICE 3.9 Commodore Emulator Joystick Configuration

Just in case anyone finds themselves in the same situation after building emulators/vice, I wanted to share what I discovered.

At some point, the old joystick driver was removed from FreeBSD and the installation instructions in pkg-message no longer apply:
Code:
$ uname -KrU
14.3-RELEASE-p3 1403000 1403000
$ pkg info -D vice
vice-3.9_1:
On install:
The VICE port can use /dev/joy* for joystick support for video games. To enable
the joystick port, add

joy_load="YES" to /boot/loader.conf

and the following lines to /etc/devfs.conf (for additional joysticks use
/dev/joy1, /dev/joy2 etc.) :

own    /dev/joy0 root:wheel
perm     /dev/joy0 0666

USB joysticks are now automatically instantiated by usbhid(4) as /dev/uhid0, /dev/uhid1, etc.

However, VICE comes in two flavors; SDL2 and GTK3. The FreeBSD port is the latter which complicates matters because when VICE 3.9 was developed, the joystick mapping and input system was largely rewritten. The SDL2 version has a UI to create the required joystick mapping file, whereas the GTK3 version currently does not.

You're left with two choices, you can either manually create a mapping file yourself or use the SDL2 version to create one. I opted to install the SDL2 version on a Windows system to create my mapping file (attached). I use an USB iCode Retro Gaming Adapter and a vintage Wico Command Control joystick.

Once you have your mapping file, copy it to $HOME/.config/vice/gtk3-joymap-C64.vjm and get your 8-bit gaming groove on. :cool:
 

Attachments

Back
Top