Gamecube Controller Cable Pinout

Features:. Supports Wired Gamecube controllers and dance mats (Official and clones). Supports Wireless controllers (Known to work at least with theNintendo Wavebird (since firmware version 1.2) and an Intec wireless controller). Supports N64 Controllers (Official and clones, including the famous HORI-mini). Supports the N64 'Rumble Pack' and theGamecube controller built-in vibration function. (Since release 2.0). Supports the Gamecube Keyboard (ASCII ASC-1901P0 tested) since release 2.9.
Supports the DK Bongos. NOT SUPPORTED YET: N64 Memory cards.Why?One of my friends wanted to play Nintendo 64 games on his PC using an originalcontroller. So I developped an adapter for doing this. But since Gamecube controllersuse a very similar protocol, it was easy to support Gamecube controllerstoo.Gamecube and Nintendo 64 controllers both work at 3.3 volts.
In that case, please refer to the GameCube device page to find a solution. Next, try plugging the original controller with the problem into a different port. If problems persist, it may be a problem with the cable or connector. If you think the issue is a bad cable, don't fear! A bad cable is better than a bad port!
But on the USB bus,only 5 volts are available. For this reason, a voltage regulator is required.Apart from the different firmware, this is the only difference (and additional complexity)this project has with myproject. Here are the schematics:Comments:Some webpages mention that the Gamecube controllers work at 3.43 volts,some other pages says it's any voltage between 3.3 and 3.8!
I readan old message in the comp.emulators.game-consoles news group where the authorsaid that the Nintendo 64 supplies 5 volts to the controllers (Wrong!). I measured3.36 volts on my N64 so personally, I choose to supply 3.3 volts to my Gamecubeand N64 controllers.In order to obtain 3.3 volts, you can use a fixed voltage regulator such as the 78M33C oran adjustable voltage regulator such as the lm317 or lm1117.If you use an lm317 variable voltage regulator, here's a simple tool which can help youfind a good value for R1. Any voltage between 3.26 and 3.40 volts should do the job.Adjustment resistor (R2):Fixed resistor (R1):Output voltage (Vout):Note: The picture comes from motorola's lm317 datasheet:Wavebird color code (for reference only)I have been informed that the color of the wires running from thegamecube connector to the PCB inside the receiver seem to beconstant:.
+3.3v: Rouge. Data: Green. GND: Brown (Pin). GND: Violet (Shield)Keep in mind that wire colors varies between manufactures, and sometimes between revisions of the same product.
Blindly following color codes without any checks can be a good way to ruin electronics.Printed Circuit Board. BottomThe regulator is an lm1117mp-adj. 0 ohm resistors mustbe installed to select the power source (USB 5 volts or regulator output)for the microcontroller and the controller. In this case, R5 and R8 mustbe installed:Here is a wiring diagram for the board:And finally, here are the gerber files which you can use produce this PCB:Due to the fact that this board is two-sided and has numerous vias, building it at home may be a little harder than the ususal.If you want, you can get professional PCBs frommy.The PCBs from my store, however, are a little older than the one above. I've hada huge quantity produced with a small mistake: The 5 volts supply from the USB bus doesnot reach the regulator!In order to correct this, a small wire has to be installed on the bottom side. Version v2.9.1April 17, 2014 (Thursday)Minor fixes and improvements:.
Prevent 8bit overflow from occuring. Helps some cheap 3rd party controllers that have the Left not working problem.
Fix non-working timeout when waiting for the controller. The adapter now enumerate without controllers as it used to.File(s):(473.6 KB)(19 KB)(19.7 KB)Version v2.9November 24, 2013 (Sunday)Keyboard support and maintenance:.
Add support for the Gamecube ASCII keyboard. Rework for device/report descriptor switching. Used to switch from Joystick to Keyboard mode. Improved N64 rumble pack detection. Fix compilation with newer compilers.
Various code cleanups. Updated V-USB.File(s):(473.4 KB)(18.9 KB)(19.6 KB)Version v2.3June 24, 2013 (Monday). Added support for Atmega168. (Should also work with Atmega88 and 328 not tested).
Simplified main loop by removing setIdle/getIdle implementation, optional for joysticks according to HID specification appendix G. Code cleanups.File(s):(481.2 KB)(18.1 KB)(18.6 KB)Version v2.2February 12, 2013 (Tuesday). Reduced USB interrupt-in poll interval.
(Better responsiveness in games such as Super Smash Bros). Calibration fixer updated to support this new firmware.
The calibration fixer source code is now included. Serial number now working again. Use a new USB Vendor ID.File(s):(139.7 KB)(18.7 KB)Version v2.1November 13, 2011 (Sunday). Fixed USB detection when no controllers are present.
This was broken in version 2.0. Controller swapping still worked fine though. Changed the device name to allow easier version identification.File(s):(114.9 KB)(18.6 KB)Version v2.0November 1, 2011 (Tuesday). Force feedback support:. N64 rumble pack and Gamecube controller built-in vibration supported!. Implemented using standard HID PID (Physical Interface Device) which means: No special driver required. Tested on Linux (fftest) and win7 (Project64/DirectX).
Special thanks to Sean Green for providing an updated device descriptor and an example main.c from his own project for me to use and finally implement this feature. Without this, I don't think I would have ever taken the time to add this feature. The L and R buttons analog feature on gamecube controllers can be disabled. Useful when they are causing problems and you don't mind using only the L and R digital switches. To disable the analog feature, fully press L and R when connecting the controller. The calibration fixer windows executables are now provided with the source code. See calibrationfixer/readme.txt for details.
Code cleanups:. New asm transmission code capable of sending many bytes with perfect timing. N64/Gamecube communication code is now shared between the N64 and GC drivers. It's the same wire protocol so it makes sense.File(s):(116 KB)(18.5 KB)Version v1.4June 11, 2011 (Saturday). Update gamecube reception code using the new N64 algorithm from 1.3. To my knowledge, this does not fix a known problem but being more robust should be good.
Synchronized controller polling with USB polling. This should prevent USB communications from interferring with the timing sensitive N64/Gamecube protocol. At least with my equipment, this seems to fix very rare spurious button presses (One in several minutes). Confirmed the adapter works with the new white gamecube controllers with extra long cable (Japanese import).File(s):(97.8 KB)(12 KB)Version v1.3May 1, 2011 (Sunday). More reliable support for N64 Hori-mini pads.Found out why some HORI pads were having issues (random joystick jumps and spurious button presses).
This is due to the HORI communication timing being very different from original Nintento pads. (1.5 times slower bit rate). Implemented a new reception algorithm that should be very tolerant to timing variations and jitter. Works well with all my controllers. It is now possible hot-swap between N64 and Gamecube controllers. With earlier versions, this would have required a disconnect/reconnect of the USB cable to reset the firmware. It is no longer necessary to connect a controller (gc or N64) in order for the adapter to be detected by the computer (USB).
Updated USB code to vusb-20100715 from License changed to GPLv2File(s):(97.3 KB)(12 KB). This project is also available on GitHub!To request features, report issues or contribute, you may or use the GitHub repository:Source code:The source code is available under the GPLv2 license.
See License.txt for moreinformation. The project compiles with avr-gcc.Using the.hex filesHexfiles in the gcn64usb-m8-x.x.hex format are for Atmega8, files in the gcn64usb-m168-x.x.hex formatare for Atmega168. (Note: I'm told that the mega168 firmware and fuse vales also work for Atmega328p)The fuses settings for this projet are:. For Atmega8: highbyte=0xc9 lowbyte=0x9f.
For Atmega168: HFUSE = 0xD5, LFUSE = 0xD7, EFUSE = 0x01.For details about how to program an AVR, pleasevisit my page. Since firmware version 1.3, all Hori-mini N64 pads are expected to workcorrectly thanks to a new algorithm which is tolerant to timing. A technicalexplaination of the issue and solution is given below.Hori-mini N64 pads are known to misbehave with many adaptors. Aftertesting a donated Hori-mini N64 pad with one of my adapters, theyseemed to work properly. Until someone reported problems.
Whenmoving the axis, there would be sudden jumps to other positions, hinderinggameplay. I tried my Hori controller with a few of my adapters andon a few computers. I eventually managed to find a unit which didnot work well with my controller and began looking for the cause.I noticed something unusual as soon as I looked at the communicationbetween the Hori and my adapter. The Hori communication timing wasvery different from what I expected. The image below shows the low/highratios for each bit being very different between the poll (from the adapter)and the answer (from the controller).
The HORI controller replies at 66% thespeed of a 'normal' N64 controller. My original code simply waits for the initial falling edge and takes asample 2μS later. Under ideal conditions, the sample value (1 or 0) isrepresentative of the bit being sent.
The 2μS delay means the sampleis taked perfectly in the center of the bit. This is nice but only worksif the controller uses the normal 1μS/3μS timing (or something close enough).As we can see on the right, the sample position when receiving bits from a Hori-mini PADis near the rising edge.
And it works. But this is bad because in this situation, asmall timing difference may cause malfunction; there are not enough tolerances. And real lifehas proven this to be a problem.Normal timingGood: Sample centeredHori timingBad: Sample near rising edgeWhy sampling near the rising edge is a problem:.
The sampling cannot be done exactly at 2μS. There is some jitter introduced bythe polling loop used to detect the falling edge. In other words, some samples willbe taken even closer to the rising edge, or during the rising edge.
The Hori-mini PAD internal oscillator frequency may vary between units andwith temperature. In other words, some controllers may send bits at a slightlyslower rate (does not help) or faster (helps). The relatively slow-rising of the data line may also hinder reliability. At whatpoint exactly will the MCU see a logic 1? This is in the MCU specs, butit may change slighly from unit to unit or with newer version of the chip (e.g. Atmega8a)And if an extension cable increases capacitance, the situation will be worst.The solution: (since version 1.3)I concluded that I needed a better reception algorithm. Instead of sampling a littlelater or writing a new version that would measure the timing and adjust the sampleposition accordingly, I came up with something much better which will tolerate fasterand much slower timings within a good margin:.
Measure the time until rising edge (low level duration). Measure the time until falling edge (high level duration). Compare time spent low vs. High, if more time was spent low, wegot a 0. Otherwise, we got a 1.
RepeatCounting is done in assembler to be fast and predicatable (i.e. No C compileroptimisations in the way). At 16mhz, each polling cycle takes around 312.5nS.This means a 1μS level will count as 3 cycles and a 3μS will count as 9 cycles.If the timing is slower, the number of cycles will be greater, but the time spent low vs.time spent high relation will still apply.USB Sync. Transmission interruptedRemember the USB implementation is all software. The MCU can thereforebe interrupted at any moment to take care of USB communications.
Occasionally,this happens right when we are in the middle of communication with the gamecontroller, messing with the timing. This is demonstrated on the pictureon the right. Red marks a pause in the transmission (top waveform) becauseof USB communication (bottom waveform).When an USB interrupt occurs at the wrong moment, the gamecube/n64 protocolframe is potentially corrupted and if it is, it should be discarded. When trasmitting,we rely on the game controller to detect the error and drop the frame. Then wesimply timeout waiting for the answer. If instead the interrupt occrurs duringreception, we will miss some transitions and won't receive the number of bitswe expected.Despite of the above theory, it would seem that occasionally (once inseveral minutes) some errors are not detected. A few users had reported thatfrom time to time buttons seem to be reported active for a brief moment(even though hey were not pressed) so I decided to eliminate this risk bypreventing these interrupts from occuring at the wrong time.
And indeed, withthe new white Gamecube controllers, the only controller I could confirm theproblem with, the problem appears to be gone.Disabling interrupts during the timing sensitive communication is not possibledue to the software USB implementation that does not allow us to disablethem for long enough a time to be useful. On the other hand, we have approximately900μS between interrupts which leaves us enough of time to communicate withthe controller without being disturbed. We just need to synchronize withthe USB interrupts and poll the controller when USB is idle.I thought of a very simple software solution. The logic which controlsthe controller polling rate stays the same. But just before the actualcommunication, the MCU is put in a sleep mode (IDLE mode).
In this mode,normal execution stops until an interrupt occurs. When the executionresumes, we know an interrupt has occured and has been serviced so wecan just continue and poll the controller. A small delay before pollinghelps us for cases where we receive a few interrupts in a burst.With this solution implemented, the controller polling is always wellplaced inside the 900μS slot available between USB interrupts, ascan be seen in the following screenshot. Corrected L/R slidersThe Gamecube controller sliders are often problematic because they lack a central resting position. Many games assumean axis to be active when the value it reads is different, within a certain margin, from the centerposition. Thus, when performing button assignments, the L and R sliders will often immediately register asactive and hinder (or most likely, prevent) successfully configuring the game for the controller.The following tool must be run after performing calibration (standard windows tools). When it is run, itlooks for raphnet GC/N64 to usb adapters and alters the calibration data the system keeps for eachunit found.

All axis are left as calibrated, except the L and R sliders which are recentered.The tool can be downloaded right here:Supports all firmware versions.A successfull operation will output something like this:Previous versions:Supports up to firmware version 2.3.Keyboard support.
Main article:The GameCube controller was released alongside the console and comes bundled with every unit. Standard colors include Indigo, Black, Spice (orange), Emerald Blue (green, only available in Japan), Platinum, and Indigo-clear. There are also limited edition controllers available such as a split blue and red, with the Mario 'M' logo replacing the regular GameCube logo seen on standard controllers (there have also been green and blue Luigi 'L' controllers and similarly yellow and pale blue Wario 'W' controller). There are also specially colored controllers bundled with systems, such as the Mobile Suit Gundam Edition (Red), Symphonic Green Edition (Turquoise Green) and the Final Fantasy Crystal White Edition (Pearl White).
The controller can also be used to play certain games on the system and as a result in 2008 Nintendo issued a white GameCube controller (Japan only). This controller also features a white 3 m/10 ft long cable, rather than the standard 2 m/6.5 ft black cable. Main article:The WaveBird is an -based based on the same design as the standard controller.
It communicates with the GameCube system wirelessly through a receiver dongle which connects to one of the system's controller ports. It is powered by two AA batteries. As a power-conservation measure, the WaveBird lacks the rumble function of the standard controller. The WaveBird controller was available in most regions only in light gray and platinum colors. In Japan two limited edition WaveBird models were released through: 1,000 Special Edition Gundam 'Char's Customized Color' WaveBirds (two-toned red with the Neo-Zeon logo) to coincide with the Japan-only GameCube release of, and a 'Club Nintendo' WaveBird (white top with light blue bottom and Club Nintendo logo). DK BongosDK Bongos were designed for use with the music games, and, and the Donkey Kong platform title. A racing game, DK Bongo Blast, was cancelled on the GameCube in favor of the – however, the game no longer supports the Bongos, so it was renamed.
( Donkey Konga and Donkey Kong Jungle Beat are bundled with DK Bongos compatible games.)Action pad The Action Pad was included with. It has 4 arrows.Beat Pad The Beat Pad was made by and officially licensed by Nintendo.
It was included with the game but also sold separately. It has 8 arrows.ASCII keyboard controller. Game Boy Player controllerThe Controller is a controller designed to play with the Game Boy Player. It comes in the colors Indigo and Jet Black.
The controller is in the shape of a control pad. It does not include the Control Stick or C-Stick, and the R and L buttons lack a range of pressure sensitivity; thus, only uses the D-Pad for movement and the usual buttons for playing. Although meant for the, this pad can still be used with certain 2D GameCube games, such as, or a few 3D GameCube games that support D-pad movement, like and for example.Hori Fighting Stick.
The Hori Fighting StickHori built an arcade stick that was licensed by Nintendo. The controller does not support control stick or C-stick functionality. The system treats the stick like the D-pad on a standard controller, so it is ideal for games that can be played with the D-pad, such as fighting games and shoot 'em ups. Two variants exist, a standard one with a purple faceplate, and another with a faceplate.Logitech Speed Force Racing Wheel The Speed Force Racing Wheel was an officially licensed force feedback steering wheel made exclusively for the GameCube. It is supported by a number of games, including, R: Racing Evolution, Mario Kart: Double Dash, and the Need for Speed series, among others.
There is also an optional accessory pack which includes foot pedals and a lap attachment.Audio/Video cables Various A/V cables were made available for the GameCube. Compatibility with these cables varied by region and console model.RF Switch/modulator. GameCube composite video cableThe Composite video cable, or simply AV cable is included with the GameCube. Provides noticeably clearer and sharper picture quality and clearer audio than an RF Switch.
Identical to earlier Nintendo (N64 and SNES) A/V cables and is compatible with their respective consoles. Carries dual-channel (stereo) audio and at /50 Hz (PAL) or /60 Hz (NTSC/PAL60).
PAL consoles come with a composite to Scart adaptor in European territories to allow Composite input via a Scart port (ScartAV). S-Video cable The Cable provides a better quality picture than composite cables, although not up to that of the Component or RGB Cables. Identical to earlier Nintendo (N64 and the original model SNES) S-Video cables and is compatible with their respective consoles. It carries dual-channel (stereo) audio and s-video at 480i/60 Hz (NTSC). This cable is only compatible with NTSC GameCubes.RGB SCART cable The SCART cable provides a better quality picture than RF, composite or S-Video cables. It utilizes the connector standard and is sold in Europe only.
Operates at 576i/50 Hz or 480i/60 Hz. This cable is only compatible with PAL GameCubes.Component video cable.
GameCube component cableThe Cable provides video quality superior to that of the RF modulator, composite video cable and s-video cable and is equal in quality to RGB Scart (at 576i/50 Hz or 480i/60 Hz). It also enables the use of (/60 Hz) in supported games which is a feature not possible with most other cables (The Japan-only D-Terminal cable also has this feature).
PAL released games did not have the ability to output progressive 480p games. The connector plugs into the Digital AV port rather than the Analog AV port used by other cables and contains a Macronix CMPV-DOL video chip (a ). This converts the digital video coming from the digital port to the analog format used by component video equipment. While CMPV-DOL's reconfigurability allows it to carry out unusual functions such as YC BC R to conversion, it cannot take advantage of the digital audio from the console's digital port. This means that a separate cable, such as the system's standard A/V cable, must also be connected to the Analog AV port in order to transmit the audio signal.The cable was available for purchase exclusively in Nintendo's online store, and the cables were eventually discontinued by Nintendo due to what Nintendo claimed was a lack of consumer interest. Over time, however, demand for the cables increased dramatically, resulting in the cost of a typical set of used component cables commonly reaching 250% or more of the original for a new set from Nintendo's website (when they were available).
As of 2019, used component cables are available online for circa $200–250 USD, significantly outstripping the cost of a used console.This cable is only compatible with DOL-001 models of the GameCube, as Nintendo chose to omit the Digital AV port in subsequent models of the console. Memory Card 59Memory cards for the GameCube were available in three different capacities, each in a different color: Memory Card 59 (4 Mbit) in grey, 251 (16 Mbit) in black, and 1019 (64 Mbit) in white. A maximum of 127 files can be stored on a single card. Each card requires 5 blocks of system data meaning that the actual size of cards are 64, 256, or 1024 respectively.Certain games, such as and, require very large save files and were originally bundled with a Memory Card 59 with game-themed stickers. Was bundled with an exclusive translucent red and blue colored Memory Card 59, with matching stickers.
Members in Japan briefly had the opportunity to exchange points for a white and blue Memory Card 251, with club themed stickers. Main article:ProDG was an officially licensed development tool for the GameCube. In a photo from the product's homepage , the cable appears to be protruding from the left side of the case where the Serial Port 2 should be.
If this does connect to that port, this would be the only accessory known to do this.Carrying cases Several official carrying cases for both game discs and the GameCube itself in various size and shapes were produced. They were all manufactured by A.L.S. Industries INC and use an NGC model number. Pedometer and walking pad controller A and walking pad controller was bundled with the Japanese pilgrimage simulation game Ohenro-San: Hosshin no Dojo.
Third party Datel Action Replay. Main article:Action Replay is a cheat device made by, allowing gamers to enter codes to cheat at games. A FreeLoader is also included with the software.
It contains a boot disc with the codes and startup, and a dongle that connects into memory card slot B. The dongle has less memory than a normal memory card, and thus is usually only useful for saving codes, or save files that only take up 1 or 2 memory blocks. The Action Replay save file can be copied onto other memory cards, as well, allowing for one person to share their codes with someone who may have an earlier version of Action Replay, or the sharing of custom-made codes.Later versions of action replay (after version 1.14) had the ability to manually input codes removed. The earlier, manual code entry versions are highly sought and can demand very high prices as they provide the ability to do things later models cannot.
One such example is the ability to unlock the full game in F-Zero GX.Action Replay Max Action Replay MAX is an Action Replay with a bigger dongle. The dongle can save codes and can be used as a 64 Mb card with 1019 blocks.Freeloader FreeLoader disables the in the GameCube, allowing games from any region (, etc.) to be played on a console from any region. Some Freeloaders are compatible with the Wii, allowing out of region GameCube games on it (later blocked by system updates).Advance Game Port The Advance Game Port is Datel's version of the Game Boy Player.
This dongle connects to memory card slot B and is booted up with the included boot disc. Some models have code generators for built in cheat devices. The advantage is that no removal of plates on the bottom, nor tools, are needed to install it. There are a few problems with the audio and video framerate and it is not 100% compatible with GBA games.Powerboard The Powerboard is a USB keyboard by Datel with a GameCube adapter that could be used with the online games and to edit/add codes to the Action Replay. A version of the keyboard without the adapter was also released for the.MAX drive The MAX Drive consists of a dongle, USB cable, and a PC software disc, which allows the user to upload game saves from a memory card to a PC to be stored there or sent over the Internet. However, there have been reports of this device corrupting save files, not always connecting to a PC, and sometimes refusing to receive information from the PC.MAX Memory The MAX Memory is a 128 Mb dongle by Datel that contains up to 2048 blocks of data.MAX Media Player The MAX Media Player allows videos and other downloadable media to be played on a GameCube.
Movies and media are transferred to the included 1 GB Micro SD card, that is then inserted into a dongle for the Game Cube and into memory card slot B. The kit also includes boot disc, SD adapter (for use on the Wii in GameCube mode), USB micro SD Card adaptor, and a small remote control for easy management.Other companies Afterglow controller The Afterglow Controller is a controller produced by Pelican Accessories.
Battery Pack Intec produced a which can be attached securely to the bottom of a GameCube, offering about two hours worth of game time on a charge. It was designed to work with an LCD screen.Controller extension cables Various companies have produced controller extension cables for the GameCube.Hip Screen The Hip Screen is a controller made by Hip Gear that features a small full color LCD screen, allowing the user to play games without the use of a TV. Its size was roughly that of the, so games that had very fine text could not be well read on it.LCD Screens Various manufacturers (such as Intec, and ) have produced that can snap onto the GameCube, allowing the console to be used without a separate television screen. Such screens are powered by the GameCube's power supply and connects to the console's digital AV outlet.
These snap-on LCD screens make the GameCube more portable.Pelican Bongos The Pelican Bongos were made by Pelican Accessories and resemble. They are a much darker color and have a 10% larger surface than the Nintendo bongos.PlayStation controller adapters. Hais GameCube Smart Joy PlayStation controller adapterVarious adapters which allow PlayStation and PlayStation 2 controllers to be used on the GameCube have been produced, including:.
Innovation INNOV3102 Controller Adaptor. Mayflash Cube Joy Box. Hais GameCube Smart Joy (HS2125C)SD media launcher The SD Media Launcher allows homebrew games to be played on the GameCube without modifying the console.
The dongle connects into the memory card slot and contains a removable SD card which holds the games. Also has a boot disc for starting the unit up, a 1 GB SD card, and a SD card adapter for uploading games from the users PC to his/her GameCube. Will also work on Wii systems in GameCube mode with firmware versions before 3.0.SmashBox Controller. Main article:In the mid 2010s, Dustin Hoffer of Hit Box designed and developed a custom controller for the GameCube titled the. Specifically designed for competitive play of, the SmashBox controller replaces the GameCube controller's with a button layout. This controller may allow more precise and rapid input, though it has a steeper learning curve than the traditional controller. Moreover, the SmashBox controller may have various health benefits, as it puts less stress on the hands of its user.
After a 'test period' of half a year, various prominent tournament organizers had decided that the use of the SmashBox controller and similar alternative controllers are not legal in high-level tournaments for the foreseeable future.VGA cable The Cable is created from a modified or cable. It allows the GameCube play on a standard computer monitor in 480p.
References.