Go Back

Source code


Name: gamepads
Created: Oct 5, 2004
Updated: Dec 20, 2009
SVN Updated: Aug 15, 2009

Other project properties

Category: Communication controller
Language: VHDL
Development status: Beta
Additional info: FPGA proven
WishBone Compliant: No
License: GPL


The latest release of the Gamepads project is version 0.3 BETA.

Get this and all previous versions of the design files from SVN: Download repository .

Please keep in mind that trunk/ is work in progress and might contain smaller or bigger problems.

You should also check the Tracker for known bugs and see if they affect your work.


The following tools are integrated and are required for this project:

  • The GHDL simulator


This project contains a collection of cores that interface with various gamepads.

Each gamepad type has a dedicated controller core which handles the communication with one or more pads of the same type. The status of the buttons together with information about the pad axes is provided by a simple interface. Systems integrating such a core can monitor this interface via general purpose IO lines.

Available Gamepad Controllers

Currently available gamepad controlles are

  • GCpad - connects to a Nintendo Gamecube controller
  • SNESpad - connects to one or more gamepads of the Super Nintendo Entertainment System


The project has beta status. This means that not all cores and features have been used under all possible conditions. The SNESpad and the basic flavor of the GCpad are heavily used in several FPGA implementations. The full flavor of GCpad is only verified inside the core's testbench. It has not seen in-depth use in real hardware so far.