This document describes the work involved in making full use of a Happ Controls UGCI(tm) interface on a Linux computer, specifically for use in MAME.

The exact device I used was the UGCI Fighting interface. This board connects via USB and implements the following devices:

Patches for Happ UGCI controllers are no longer needed if you use 2.4.22-pre3, 2.5.74, or newer of those lines of Linux Kernel.

Note that typically, Linux's USB layer will allow you access to all the controls available on the Happ UGCI devices. However, certain functions are only available through special HID calls. Things such as the Start/Play buttons for each player, the EEPROM storage, and keyboard mappings are not readily accessible. See below for a library that helps with such functions.

Here's a few pictures of the cabinet with the UGCI enabled controls. The extra buttons are attached via the mice (yes, two mice). The white/green button pair for each side is connected through the UGCI's coin/play inputs.

New. This library gives you an easy interface to UGCI devices attached to your system. xMAME 0.69.1 supports using this library for the Coin/Start buttons. I will be providing a patch for using this library in snes9x aswell.

This library works with any of the Happ UGCI devices, including the fighting, flying and driving boards.

You can also download from the source repository at:

Valid HTML 4.01!