Gamer-Pro and 4-Play (Advanced) - A retro USB adapter

 

  


Adapter Overview

This adapter supports both HID (Human Interface Device) and X-Input modes.
The mode is selected internally using a jumper.

  • No drivers are required or recommended

  • Firmware updates and tools are available in the Download Sectionsection

  • Force Feedback is supported on all compatible controllers


Advantages over Gamer-Pro and 4-Play

  • Compatible with 4-Play / Gamer-Pro cables

  • Supports Xinput and HID

  • Fixed USB 1ms poll rate

  • USB 2.0 High Speed

  • True Force Feedback support

  • No combo (rumble) fix required

The 4-Play Advanced

The 4-Play Advanced, like the original 4-Play, combines the functionality of four GPA units with several additional features.

It also includes a single-player mode, though a GPA is recommended for best performance.

Important note about single-player mode

  • On some computers, single-player mode may cause USB enumeration issues

  • This can lead to occasional startup instability

  • Once properly enumerated, the device works as expected

  • This may be resolved in a future firmware update

Feature availability

  • Single-player mode: All GPA features are available

  • 4-player mode: All features except LLAPI communication

  • Otherwise, behavior matches four independent GPA units

 

4-Play Specific Features

  • Multiple player mode selection
    Toggles single-player mode (see note above)

  • Power on/off
    Controlled via the rear power button

  • Independent reset/update buttons
    Each port can be reset or updated individually

  • Xinput / HID switches
    Each port has its own mode switch

  • Extra power port (optional)

    • Not required for normal operation

    • Supplies 7V for PlayStation rumble motors (instead of 5V)

    • Rumble still works at lowest setting without it

    • Can also provide additional USB power for certain single-player cases


4-Play Interface

Front Panel:

The front panel includes the four players from left to right. Each port is equipped with a reset/update button, an Xinput/HID LED, and the interface port.   

 

 

The back panel includes The following options.  

    • Power button: Controls the power to the device. 
    • USB uplink: For any HID or Xinput USB compatible device.
    • USB additional power: Optional, designed mainly for extra PlayStation rumble power. Or any situation where the USB operations require more power.
    • Player Mode Selection: This switch allows for single player operation mode (see note above)
    • Xinput / HID modes: Individually controls the driver the USB will use for each player.  
    • Power LED: Indicates when the device is operating.



Features

    • Full Emulation: A wide variety of controllers are fully supported right out of the box. This includes complex features like the Sony Playstation 2's pressure sensitive buttons or the Sega Dreamcast's VMU. The Compatibility List shows all the known controllers currently supported. This list is periodically updated and amended as we expand the adapters capabilities.
    • Multi-platform: Use your adapter on almost any modern operating system. The adapter works on Windows, OSX, Linux, Raspberry Pi,  Android, and most any USB device.
    •  Plug & Play: The adapter does not need software or drivers to be installed by the user. Simply plug it in and select your emulator, game, and controller.
    • Hot Swap: This feature makes it easy to switch between controllers in mid-game. If Auto-Pause is enabled (default setup), the adapter will pause your game while you switch, and you can continue playing when you're ready. The new controller is detected automatically.
    • Upgradable Firmware: The adapter can be quickly updated via USB with a firmware file downloaded from our website. This allows new features and controllers to be added painlessly. 
    • Global Button Mapping: The adapter's internal button mapping is set up so that buttons on different controllers match each other's layouts as closely as possible. This makes Hot Swapping more intuitive. For additional details, see the layouts at the end of this doc.
    • Alternative Mapping: The global mapping now has an alternative layout along with a per controller custom mapping. See details below (Global button mapping and more info in the button codes section).
    • Force Feedback and Rumble: Controller rumble works on a wide variety of controllers. The currently supported rumble controllers are the Nintendo 64, Nintendo GameCube, Sony Playstation, Sony Playstation 2, and the Sega Dreamcast. The Gamecube Racing Wheel supports force feedback steering.
    • Auto-Pause: When the adapter senses the controller has become unplugged, it presses the pause button.
    • Hotkey: Pressing and holding START will trigger a hot key combo. You may configure this combo for a hot key in front-ends like Retro Arch.
    • Native Support: The adapter has the ability to allow communication from the emulated game directly to the controller and back with any of the supported controllers (N64, Gamecube, Playstation, partial Dreamcast).
    • Port Naming:  A special USB ID is saved for each port and the USB is named "GPA.x" Where x equals the player you specified. Or "4-Play/GP PORT.x" if you previously installed a Gamer-Pro.  These adapters share the same USB ID so make there 1:1 compatible. 
    • Save to EEPROM:  You can see your saved setting by using the API 
    • Developer API: The adapter has an API with which emulator developers can communicate directly with and transfer data. This allows native support for advanced features. For example, developers can use the API to see exactly which controllers are currently connected to the adapter for displaying on the screen or automatic custom remapping. Native support for saving to the controller's attached memory card or even writing images to the Dreamcast controller's LCD screen is possible
    • . Support for the GameCube's Gameboy Advanced Link can be added, and the emulators can talk directly to the controller bypassing DirectX/USB HID. The possibilities are endless. An API tool is also available on the download page. With this tool you may turn on and off the configurable features listed below. This is done via USB control transfers. 
    • LLAPI (Low Level API): In addition to the developer API there is a wire to wire mode for getting data and controlling the Adapter.This is simply done over the existing USB wires and can be used with other devices connected to the USB port. The first device to utilize this is the Bridge. An add-on that allows the adapter to work on many consoles. The second device to take advantage of this is the ever-growing MiSTer. The MiSTer can use this protocol and directly poll controllers with no USB involved.

 

Programmable Features where applicable.

    • Auto Pause Disabled: Turns on and off auto pause mode.
    • D-Pad-(UDLR): This mode shifts the directional controller buttons from HAT to analog.
    • Turbo Mode: Any of the main buttons (i.e. b,a,x,y,l,r) can be put in turbo mode.
    • D-pad Only: This is a read only mode and it cannot be set. This mode will turn off when any analog movement is seen. It simply tells you if you are using a controller with no analogs. Used for API integration.
    • Button Mapping: The API tool allows button mappings. There are presets for Sony Playstation 3, Xbox 360, Android, and default. You may also make your own presets.
    • Button Swapping and rotation:  This mode allows any two pairs of buttons to be swapped, or the 4 face buttons to be rotated.
    • Hotswap Disabled: Using this feature may have undesirable effects. This will prevent auto searching for controllers (hot swap). To switch to another controller, a reset will be needed. 
    • Disable all combo buttons: From the API you can disable the button combos that enable and disable modes. Once active and saved, you must undo this change to get the combos features back.

 

Button codes for programmable features.

    • D-Pad-(UDLR) Mode: Left trigger + Right Trigger + select or Z(for n64 pads) (hold for 3 seconds) (Also can be turned on via the API Tool)

    • Turbo Mode:  Turbo mode can be enabled on any main button, including B, A, X, Y, L, or R. To toggle turbo on a button, press and hold the button you want to change, then while continuing to hold it, press and release the Start button three times. This will enable turbo for that button, and repeating the same action will disable it. This setting uses the default turbo speed of 35 shots. If you want to use a custom turbo speed, press and hold the desired button and then press and release Start five times. This activates the custom turbo mode, which is controlled through the API. The default custom value is 25, and the allowed range is from 1 to 255. Increasing the value makes the turbo faster, while decreasing the value makes it slower. To return to the default 35-shot turbo mode, either reset the device or press and hold the button again and press and release the Start button four times.
    • Button Swapping and rotation: To activate the rotation of 4 face buttons; press the 4 face buttons then press start for 2 seconds. Repeat to rotate again. To activate a button swap (you may do two pairs) press any two buttons then start for 2 seconds. For example A and B and start, to swap A and B buttons. if you wish to also swap C and D pres C and D and start for 2 more seconds. (This is only configurable via the controller).

    • Hot Key: Pressing and holding START (2 seconds) will trigger a button combo. You may configure this combo for a hot key in front-ends like Retro Arch. Use the API to set this combo. Simply hold the combination of button(s) you desire and press the HotKey API button. Once that has been done, that combo will fire when you long press the start button. Only the first row of buttons (i.e. a,b,x,y,l,r) are supported. To disable this feature press the hot key button with no combo held down. The default is unset so it will not work until it has been set in the API tool. If any hotkey is configured and the hotkey is pressed (start for 2 seconds) with select at the same time, the adapter will press the HID button ID (19) currently assumed to be the home button in the general mapping. You can configure the start button as the hotkey if this is the only hotkey configuration you want. Making select + start for 2 seconds, fire the home button.

    • Alternative mapping: Currently there are 4 mapping modes They are selt via the p-dap and named as such, Up,Down,Left,Right.
      (UP) The default layout is at the bottom of this manual shown in the controller images.
      (Down) This mapping is shown via the blue numbers in the images below.
      (Left) This mapping is reserved for the Bridge.
      (Right) In this mapping mode, the GPA reads from the eeprom that was setup in the API tool. You may set up to 16 custom mappings per controller ID. See details in the API tool's manual. This feature was added in the 4.80 firmware. If no data is loaded in to this mapping screen, no mapping will occur. 
      Example setting the mapping; Alternate mapping can be set in the API tool or via a controller. With a 6 button controller you may press both Z and C along with the down d-pad for 2.5 seconds to enter the alternative mapping mode or using a 4 button controller using  L and R along with the D-pad direction. Note that with a TG16 or PC-FX controller that combo would be done with III and IV.  To set via the API tool, use the alt mapping drop down. If you want it to persist, check the box then make your selection. 

 

Controller Detection

  • Detection takes 1–3 seconds

  • Do not press buttons during detection

  • Plug controller first, then USB

  • If no controller is detected, the port enters Atari mode

  • To retry detection press the reset button.

Special Detection Cases

Certain controllers require buttons held during connection:

    • Third-Party Sega Genesis 6-Button: Start Button (Not require in all cases)
    • Some times NEO-Geo pads do not play well, hold A to force it.
    • ColecoVision: RightButton
    • ColecoVision: SAC - Purple Button 
    • ColecoVision: Wheel - Pedal Button
    • ColecoVision: Keypad - 5 Button
    • Bally: Trigger
    • Intellivision: Hold both bottom side buttons.
    • Atari 7800 FB (cx-24) press right button.
    • Atari paddles: leave paddles in the center position.
    • Game-Port: Hold down main trigger button on main stick. 



Atari Mode

This mode is used for Atari and like controllers that really have no electronics in them. Once in Atari mode there is no way to detect a new controller. So, to leave this mode you must press the reset button. When you first plug in the adapter, any ports without a controller plugged in will default to Atari mode.

 

Safe Mode

If your port seems unresponsive or does not show up in the USB controller list, a bad flash or HID corruption may have occurred. You can repair the port by entering safe mode and re-flashing. To enter Safe Mode, unplug the adapter. Press and hold down the reset button on the port you wish to repair. Plug the adapter in without releasing the reset button and proceed in flashing the port. If you are having trouble holding down the button and have a psx or jaguar dongle you may use this trick by shorting the pins with a paper clip (French 'Trombone').

Clear Steps:

  1. Unplug adapter

  2. Hold reset on affected port

  3. Plug in adapter

  4. Flash firmware


Jumper assist points suppoerts 2 cables. PSx and Jaguar. 

 

Firmware Upgrade

There is a reset/upgrade button on the adapter. During normal use it works as a reset button, forcing the unit to re-detect the connected controller. If you hold it down however, it tells the device to go into upgrade mode. When you release it, it will go back to normal operation. To upgrade firmware, you must first hold down the reset/upgrade button. For upgrades, you can use the API tool, the BBFlash tool. All are found in the Download Section.

 


Low Level API Mode. (For advanced users)
Addtional documentation is here foruse with this feature.


The LLAPI uses the already available USB lines. To invoke the API you simply bring both d- and d+ high with external or internal pull ups. This condition will not cause any abnormal condition to existing USB hardware so it’s safe to use in both cases. When the adapter detects the condition, it will go in to LLAPI mode. So this can be asserted via software or hardware in your connecting device.

 

Global button mapping and layouts.


For convenience the most popular controllers are graphically displayed for quick reference. For greater detail visit global mappings. The following images are based off the HID windows assignments. The adapter has 24 HID buttons available. Some controllers can make use of the second alternative mapping (down) (seen in blue).

notes in red are when the mapping was introduced.

To visualize this, it's best to think of the HID as a standard controller that does not change.

d-pad's all map to HID d-pad
select maps to HID (5)  start maps to HID (6)
the 4 main buttons to HID (1-4)
secondary buttons to HID (7,8)
tertiary buttons to HID (9,10)
quaternary buttons to HID (15,16)

Game Cube

N64

Neo Geo

Saturn

Play Station

PC-FX

Snes

Neo Geo AES

7800

Jag Pro

Virtual Boy

Dream Cat

Tg16

Wii

PCE

Jag

Atari

SMS

NES

 

Vectrex

 Gen

 Images provided by Don "Furluge" Scherig

 

Third-Party controllers in general should have no problems, however they are not always designed the same way as the original manufacturer intended. Some might work on the console but not with the adapter. For example, most Mad Catz Nintendo 64 and Nintendo GameCube controllers work but Mad Catz Sega Dreamcast controllers do not. See the compatibility list for more info.


Please contact support if a specific emulator is giving you trouble or if you still have issues after reading the FAQs below. 

FAQ

Our customer support is available Monday to Friday: 8am-8:30pm.Average answer time: 24h