Gamecube/N64 to USB adapters manual [Work in progress]



Adapter types

This page explains how to use the following adapters that are based on the Gamecube/N64 to USB project. Adapters based on this project are also available in my online shop.

GCN64-USBN64-USBGC-USB
N64 or Gamecube to USB N64 only to USB Gamecube only to USB
(shop) (shop) (shop)

goto top Up


Quick guide

  1. Connect the adapter to a free USB port.
  2. Connect a Gamecube or N64 controller.
  3. Perform calibration using the control panel tool (See calibration below).
  4. If you are using a Gamecube controller, run the calibration fixer tool. (See the Gamecube sliders Fix below)
  5. In your game or emulator, assign buttons and axes.
Important things to keep in mind:

goto top Up


Calibration

Calibration is performed from the Windows game controllers dialog.

Game controller settings

Game controller settings

Test screen

Test screen

Under Windows 7, go to Control Panel -> Devices and Printers. The following icon should be found:

Right-click and select Game controller settings, select the adapter named "GC/N64_USB" and click the Properties button. This will open a window with a Test tab and Settings tab. Click on the Settings and click Calibrate to open the game device calibration wizard.


For a Gamecube controller, follow the calibration procedure:
  1. Welcome to the wizard. Thanks. Click Next.
  2. Find Center Point: As it says, don't touch the D-Pad or any analogic stick or sliders. Just press a button such as A.
  3. Axis calibration: The dialog says D-Pad, but it really is the main analog stick we are calibrating. Move it around in all directions until releasing it brings the cross in the center. Press a button such as A to continue.
  4. Verify Center Point: The computer needs to know what the center point is. With the main analog stick released so that it auto-centers, just press A to continue.
  5. Axis calibration (Slider): This is in fact the R slider. Slowly push it down until the slider reaches the digital button. Increase pressure until it clicks. This button press registers and brings us to the next calibration step.
  6. Axis calibration (X Rotation): This is in fact the C-Stick Left-Right axis. Move the axis fully left and then fully right. Press A to continue.
  7. Axis calibration (Y Rotation): This is in fact the C-Stick Up-Down axis. Move the axis fully up and then fully down. Press A to continue.
  8. Axis calibration: This is in fact the L slider. Slowly push it down until the slider reaches the digital button. Increase pressure until it clicks. This button press registers and brings us to the next calibration step.
  9. Calibration Complete: Click Finish and run the calibration fixer (see below).

For a N64 controller, follow the calibration procedure:
  1. Welcome to the wizard. Thanks. Click Next.
  2. Find Center Point: Just press a button such as A. Don't touch anything else.
  3. Axis calibration: It says D-Pad, but it really is the analog stick we are talking about. Move it around in all directions until releasing it brings the cross in the center. Press a button such as A to continue.
  4. Verify Center Point: The computer needs to know what the center point is. With the analog stick released so that it auto-centers, just press A to continue.
  5. Axis calibration (Slider): This only applies to Gamecube controllers. Press A to continue.
  6. Axis calibration (X Rotation): This only applies to Gamecube controllers. Press A to continue.
  7. Axis calibration (Y Rotation): This only applies to Gamecube controllers. Press A to continue.
  8. Axis calibration: This only applies to Gamecube controllers. Press A to continue.
  9. Calibration Complete: Click Finish. Do not run the calibration fixer.

Important: The names displayed by the calibration wizard, such as D-Pad and X/Y/Z Rotation, are misleading and wrong. Please ignore them and follow the steps above carefully.

goto top Up


Gamecube sliders Fix

Uncorrected L/R sliders

Uncorrected L/R sliders

Corrected L/R sliders

Corrected L/R sliders

The Gamecube controller sliders are often problematic because they lack a central resting position. Many games assume an axis to be active when the value it reads is different, within a certain margin, from the center position. Thus, when performing button assignments, the L and R sliders will often immediately register as active and hinder (or most likely, prevent) successfully configuring the game for the controller.

The following tool must be run after calibration (see instructions above). When it is run, it looks for raphnet GC/N64 to usb adapters and alters the calibration data the system keeps for each unit found. All axis are left as calibrated, except the L and R sliders which are recentered.

The tool can be downloaded right here:
gc_calfix_ng_v1.3.zipSupports all adapter versions.

A successfull operation will output something like this:

Old versions:
gc_calfix_ng_v1.2.zipSupports all adapters up to version 2.3.
gc_calfix_ng.exe Supports adapters up to version 2.2
gcjoycalfix_v2.exe For firmware v2.1.
gcjoycalfix.exe For older adapters.

goto top Up


FAQs, tips and tricks

goto top Up


Project64 with N64 controller

PJ64 N64 config

PJ64 N64 config

Using a N64 controller with project64 is easy. Make sure to perform calibration according to the above instructions. Then in project64 Options menu, select Configure Controller Plugin....

In the Configure Input dialog that opens, select the game device and assign buttons according to your preference. For reference, here is a saved profile for a N64 controller with standard button mapping:
raphnet_pj64_n64controller.jsf


Note: Some users experience an issue where the rumble starts the moment the game loads and won't stop. In those cases, it appears that using the N-Rage input plugin instead of Jabo's DirectInput plugin solves the problem.

goto top Up


Project64 with Gamecube controller

This is possible, but the L and R sliders add complexity. First of all, make sure to perform calibration according to the above instructions. Then in project64 Options menu, select Configure Controller Plugin....

In the Configure Input dialog that opens, select the game device and assign buttons according to your preference. However there will be complications involving the L and R sliders because of the combined analog and digital functions. There are two ways to get around this.

Option 1:Accept to use the L/R sliders analogic feature to control the N64 L/R buttons. Nothing special is required in this case. The sliders will appear as "Rz-" and "S0-" in the dialog box.

Gamecube digital L/R

Gamecube digital L/R

Option 2:To prevent Project64 from seeing movement on the L/R sliders analog part, the analog feature must be disabled. Since adapter firmware 2.0, you can do that by holding down the L and R buttons when connecting the gamecube controller. Confirm the L and R sliders are inactive in the Windows Test panel and perform calibration again (to center the L and R sliders). Then, back in Project64, you can configure the controller without having the L and R analogic axis in your way. If all goes well, the L and R buttons will register as Joypad 5 and Joypad 6.

There is no need to hold down L and R each time you connect the controller. It is only required if you wish to reconfigure the input. In any case, I recommend saving the configuration profile. Here's a copy of my config you may use to save time:
raphnet_pj64_gc_digital.jsf

goto top Up


Dolphin with Gamecube controller

The first part is simple:
1: Make sure to perform calibration according to the above instructions.
2: In dolphin Options menu, select Gamcube Pad Settings.
3: Assign Buttons, Main Stick, C-Stick and D-Pad. No complications here.

Now it gets slightly trickier...

4: L/R Analog. Click the L-Analog and R-Analog assignation buttons and press the corresponding slider.
If you omit to run the L/R slider fix program (see Gamecube sliders Fix above), you may get away with Axis 3- and Axis 2- being assigned the L-Analog and R-Analog respectively. Keep in mind however that the L and R sliders won't do anything until they are 50% pressed down. This won't feel right.

5: L/R Digital. When we try to assign these, the analog part of the L/R sliders always triggers first. But There is an easy workaround: Right-clicking on the assignment button opens a window where one can choose the button from a list. Select Buttons 5 and 6 for the L and R slider buttons respectively. (See screenshot to the right)

6: Vibration. Assign the rumble Motor to the Direct Input device for the controller. (SDL does not seem to work). When you click 'Test', the controller vibrates for a short moment.
Manual assignment

Manual assignment

Configured

Configured

Motor

Motor



Don't forget to Save your configuration profile once you're done!

goto top Up


Mednafen

As of September 2012, the Mednafen multi system emulator has difficulty dealing with the L and R sliders. The button assignment procedure (ALT+SHIFT+1/2) just skips forward because the joystick axis corresponding to the sliders are considered active.

Current solutions for the L/R sliders problem are:
  1. Disabling the L and R analogic function. This is done by holding down the L and R buttons when connecting the gamecube controller. This is only necessary when performing button assignment. (Note that an adapter with a v2 or above firmware is required)
  2. If compiling Mednafen is an option, you can use my patch that applies to version 0.9.24-wip: mendafen_noncentered_axis.diff. Compiling Mednafen may be more complicated, but with this patch, the L and R analogic axis can still be used.
Another issue with Mednafen is the main analogic stick. If you did (or could not) perform calibration at the OS level, the default threshold values may be too high for the diagonals to work. A lower value can be set from the command line as follows:

$ ./mednafen -analogthreshold 30 ...

goto top Up


Win 8.1 issues

The adapter works with Windows 8.1, but users of adapters version 2.3 and earlier may experience some issues. The symptom is that the adapter keeps disconnecting and reconnecting in a loop (the corresponding plug/unplug sounds are also heard every second or so). Adapter version 2.9 should work without problems, but this needs to be confirmed.

Workaround 1: When this is happening and an emulator (or other joystick-using software) is started, the controller stays connected and can be used normally.

Workaround 2: For a more permanent solution, the registry can be edited to disable the windows feature that makes this problem appear. The procedure is described in the following Microsoft support page: Some USB devices do not recharge in Windows 8.1

To save you a few steps, here are the USB VID/PID used by different adapter versions:
VIDPIDVersion
289B000Cv2.9
289B0004v2.3
289B0001v2.2
17810A9Av1.x

Workaround 3: I plan to write a tool that will automatically patch the registry as described in step 2.

goto top Up


Trademarks used in this site are the property of their respectives owners.
Copyright © 2002-2014, Raphaël Assénat
Website coded withWebsite coded with vimLast update: November 15, 2014 (Saturday)