GameCube emulators

From Emulation General Wiki
Jump to navigation Jump to search
Nintendo GameCube
GameCube-logo.png
GameCube-Console-Set.png
Developer Nintendo
Type Home video game console
Generation Sixth generation
Release date 2001
Discontinued 2007
Predecessor Nintendo 64
Successor Wii
Emulated
For other emulators that run on Gamecube hardware, see Emulators on GameCube.

The GameCube (GCN/NGC) is a 32-bit, sixth-generation console released by Nintendo on November 18, 2001, for $199. It has an IBM PowerPC Gekko CPU at 486 MHz with a ATI Flipper GPU. Nintendo, Namco, and Sega later designed the Triforce arcade board based on the GameCube, releasing titles for it the following year. Unlike PlayStation 2 or Xbox DVD playback support, the GameCube didn't have playback support for mini-DVD movies. However, a special version of the GameCube that could play DVD-Video, audio CDs and VCDs was released by Nintendo and Panasonic, called the Panasonic Q.

Nintendo released the successor, the Wii, in 2006, which was revealed to have very similar (albeit more powerful) hardware and compatible interfaces. This meant the Wii could run GameCube games natively rather than via emulation. While this was removed in later revisions, as well as the vWii mode in the Wii U, the hardware is still similar enough that GameCube games can be run via certain homebrew programs, most namely Nintendont.

Emulators[edit]

Name Platform(s) Latest Version Hardware
variants
Enhancements Hardware features
and peripherals
Compatibility FLOSS Active Recommended
PC / x86
Dolphin Windows Linux macOS FreeBSD Dev[N 1]
Beta[N 1]
libretro core[N 2]
~[N 3] 97%
Ishiiruka-Dolphin (いし海豚) Windows Linux macOS Dev ? ~
Pureikyubu (PlayCube) Windows Linux 1.6 ~ ? (WIP)
Dolphin (Nintendo) Windows e2.8 ? ?
Mobile / ARM
Dolphin Android Linux Dev
libretro core[N 2]
~[N 3] 97%
DolphiniOS iOS Release
Beta
? ?
Dolphin MMJR Android git ? ?
Consoles
Hagi Switch Patch-based ? Only for selected titles
Dolphin Xbox One Xbox Series X/S 1.1.5[N 4]
libretro core[N 2]
97%

Compatibility layers (...)[edit]

Name Platform(s) Latest Version Hardware
variants
Enhancements Hardware features
and peripherals
Compatibility FLOSS Active Recommended
Consoles
Nintendont (任天堂NT) Wii U Wii git ~ ~ 99%
1020 out of 1024 reported titles
DIOS MIOS (Lite) Wii 2.11 ? ?
  1. 1.0 1.1 The stable versions are years out-of-date and missing countless features and bug fixes. Beta or development versions are a better choice for almost all users; the stable versions should only be used if you have a specific need for them.
  2. 2.0 2.1 2.2 Dolphin libretro core is currently at Alpha release and has bugs that are not present on standalone Dolphin. Similar to PPSSPP, Citra and melonDS libretro cores, the standalone version of Dolphin is highly recommended over the libretro core as the libretro core version is outdated and can be slow and unstable.
  3. 3.0 3.1 No support for Panasonic Q variant. Efforts to add Triforce emulation to Dolphin have stagnated at the upstream level, and current support requires a third-party fork. See #Triforce section for further details.
  4. Use these builds until this PR merge.

Comparisons[edit]

Emulators
Dolphin
The emulator of choice for the GameCube and the first Wii emulator. It's updated on a near-daily basis and has very good emulation of almost every game, though some games have known bugs on their issue trackers. It is the first emulator to boot the full game catalog of a sixth-generation home console (Before any emulator for the same generation rivals like the Dreamcast, PlayStation 2, and Xbox) and did so on September 2016. The developers maintain a wiki containing known bugs, tips, user-provided tests, and much more for every game.
Ishiiruka-Dolphin
A fork of Dolphin optimized towards performance at the cost of accuracy and stability in the process.
Pureikyubu
An open-source Nintendo GameCube emulator which initially started development under the name Dolwin in 2004; it could boot and run some commercial games and demos. Nowadays, Pureikyubu is designed to be a research emulator for developers, with accuracy being a priority.
Dolphin (Nintendo)
Nintendo made an emulator for Windows that was also called Dolphin. This official program does not run commercial games and has no connection to the open-source project.
Hagi
An official GameCube/Wii emulator developed by Nintendo European Research & Development (NERD). Hagi has been used primarily for re-releases on the Switch, such as Super Mario Sunshine, Super Mario Galaxy, Pikmin, and Pikmin 2.
Compatibility layers
Nintendont
While not technically an emulator, Nintendont is a compatibility layer that allows you to play GameCube games on the Wii and even the Wii U. It's compatible with nearly all GameCube titles (and Triforce games, too) and supports extra features such as memory card emulation along with support for additional controller input options such as the USB GameCube controller adapter, Classic Controller Pro, Wii U Pro Controller, and even the Wii U GamePad.
DIOS MIOS (Lite)
Another compatibility layer for the Wii (but NOT Wii U) that allows you to play GameCube games. The main version allows users to load games off of a USB device, while the "Lite" version loads games from an SD card. Nintendont serves as a direct successor to this project, making DIOS MIOS entirely obsolete.

Hardware features and peripherals[edit]

Name Dolphin Nintendont DolphiniOS Dolphin MMJR
Main Menu *
GC/GBA Cable ~[N2 1]
Dolby Surround as Dolby Pro Logic II * ? ?
Broadband Adapter
Microphone ~
Bongos ~
GameCube Game Disc ? ? ?
Game Boy Player
  1. Nintendont includes support for the GBA link cable hardware, but only on the original Wii (model RVL-001).

Main Menu[edit]

Initial Program Loader (IPL) of the GameCube and its top level interface, allowing the player to load discs, change settings, and manage up to two memory cards at once.

To boot the GameCube's BIOS and IPL, you need a dump from real hardware. Dolphin does not require it to load games but can be set to use it if desired. Current development builds have introduced a feature allowing users to load the BIOS directly from the interface in the Tools list without needing to load a game. If you're on the current stable release, use XFB Virtual and disable "Skip BIOS" in the GameCube options. You will have to load a GameCube title so that the startup animation begins, and like on the original console, you hold the first controller's A-button down and the system will send you to the main menu instead of booting the game. You can then switch to another game with Change Disc, or you can explore the BIOS.

GameCube Game Disc[edit]

The GameCube Game Disc (DOL-006) is the game medium for the GameCube, created by Matsushita/Panasonic, one of the ten founders of the DVD Forum, and later extended for use in the backward compatibility mode of the first model of Wii. The GameCube is Nintendo's first optical disc console, after mainly ROM cartridge based platforms. The GameCube Game Disc is a 1.46 GB, 8 cm miniDVD-based technology which reads at a constant angular velocity (CAV). It was chosen by Nintendo to prevent copyright infringement of its games, to reduce manufacturing costs compared to Nintendo 64 Game Paks, and to avoid licensing fees to the DVD Forum. GameCube Game Discs do not use the Content Scramble System found on normal DVD-Video discs, as Nintendo was not satisfied with its level of security.

The GameCube is not able to be used as a general DVD player, except for the Panasonic Q which is a uniquely customized GameCube with DVD capability that was released only in Japan.[1]

  • Dolphin has support for GameCube Game Disc dumps/images. But unfortunately most regular optical drives for PCs are unable to read Gamecube & Wii discs, so you need to rip your discs. However you can use some out-of-print models of DVD drives which may read GC and Wii discs but even then you'll need a compatible software tool to dump it. See Ripping_games page for more information.
  • See this dedicated page for more information about home media playback support for emulation softwares.
  • See Ripping_games.

GC/GBA Cable[edit]

Nintendo produced a special cable (DOL-011) that allowed connectivity with the Game Boy Advance in specific games. Up to four ports could be taken up for the game. While the third-generation Pokémon games are the prime example of it being used in conjunction with Colosseum, XD, or Pokémon Box, they aren't the only games to do so.[1]

Dolphin includes a GBA core based on mGBA that is tied to GameCube emulation, allowing for a very stable connection that works with features such as save states and netplay. Dolphin can also connect to standalone versions of mGBA or VisualBoyAdvance-M; this is necessary for some less commonly used features or cases where the GBA has to be disconnected from the GameCube. Both can be enabled by going into the controller settings and assigning the GBA to one or more ports. The general config menu also allows you to specify a GBA ROM to be used if using the built-in GBA core.

Nintendont includes support for the GBA link cable hardware, but only through the GC controller ports on the original Wii (model RVL-001). It is currently not supported through any USB adapters.

Microphone[edit]

This accessory, bundled with Mario Party 6 and Mario Party 7, allowed the GameCube to receive audio from the memory card slot. There were also other games known to support it.

In Dolphin, set slot B in the emulator settings to the microphone. In the operating system, you then make your default recording device available.

Nintendont includes support for the GameCube microphone hardware, but only through the GC memory card slots on the original Wii (model RVL-001). Using this accessory on other consoles will likely never be supported given the lack of adapters for the memory card connector; however, there is microphone-enabled hardware for these consoles (Wii Speak, Wii U GamePad, etc.) that Nintendont could someday use to emulate the GameCube microphone.

Bongos[edit]

This special controller is used with Donkey Konga and other Donkey Kong games released for the GameCube.

Dolphin supports this controller, via the GameCube controller adapter.

Nintendont is known to support this controller through the GC controller ports on the original Wii (model RVL-001). It's currently unclear whether or not the controller is supported through any USB adapters.

Game Boy Player[edit]

This add-on plugged into the bottom of the GameCube and allowed it to play Game Boy / Game Boy Advance games on a standard television; it had provisions against Game Boy Advance Video cartridges by returning an error after booting them. The launcher even supported the GBA-GCN link cable, where the Game Boy Advance would serve as the controller. Some GBA games like Super Mario Advance 4 and Mario & Luigi: Superstar Saga took advantage of the add-on by adding rumble support. The hardware is essentially a peripheral containing Game Boy Advance hardware, which means that recreating it would require simultaneous emulation of a GameCube and a GBA, including BIOS files for both.

No emulator currently supports the Game Boy Player hardware and its features. The Dolphin developers have hinted at adding support for it in the future, made possible by the aforementioned mGBA integration (see the previous section of this page).[2]

Enhancements[edit]

Name Dolphin pureikyubu
Graphics Resizable Internal Resolution
True Color Rendering
This is an enhancement that reduces banding by forcing the emulated hardware to the highest bitdepth possible. Read this for more information. It is useful especially on non-CRT displays, producing nicer looking gradients.
?
Widescreen and ultrawide hack
To get full native widescreen, try Swiss.
This can even run on a real GameCube/Wii if you wish.
Texture packs [N2 1] ?
Ray-tracing
(DXR, VRT and MRT)
Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.
However you can try "Screen-Space Ray Traced Global Illumination" shader using ReShade.[2][3]
Pre-rendering AA
(MSAA, SSAA)
?
Super-resolution techniques
(DLSS, XeSS and FSR 2+)
Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future.
Besides, any GPU that can use DLSS can run Dolphin at 8k native with ease anyway.
RTX Remix Implementing RTX Remix technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.
Besides, Dolphin already supports most of RTX Remix features such as access to assets, texture replacement and post-processing effects etc.[4]
On top of that you can use ReShade.
Performance Overclock ?
Internal Framerate Hack ?
Frame generation technologies
(LSFG, DLSS-G, ExtraSS and AFMF)
Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as motion interpolation is quite possible. Input latency will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use after applying the "Internal Framerate Hack".
While AFMF or LSFG can be used with Dolphin, please be aware that some visual glitches and artifacts may occur at this time.
Preload optical disc image to RAM
For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement might offer smoother experience, potentially reduced power consumption; it also shines when disc images reside on a network drive.
Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.
*
Rendering latency reduction technologies
(LatencyFleX, Reflex and Anti-Lag+)
While most emulators offer frame pacing or framebuffer latency control options, implementing rendering latency reduction technologies isn't currently feasible. This is likely doesn't offer enough benefit to justify the development effort.
Post-Processing Post-rendering AA
(FXAA, TXAA and MLAA/SMAA)
?
Post-rendering scaling
(Sharp bilinear, Lanczos and FSR 1)
?
Filters ?
AI-powered filter compatible
(Freestyle)
? ?
Shader Chain WIP[N2 2] ?
Inverse tone mapping compatible ?
TAS features Macros/Scripts/Lua ?
Rewind ?
Fast-Forward/Turbo Speed ?
Savestates ?
Movie recording/playback
Controls Mouse Injector Compatible *
Input lag-mitigating technique
Quality of life Streamable compression format *
Built-in Graphics mod editor/manager ~[N2 3]
Built-in Cheat Manager
Built-in Custom resolution/CRTSwitchRes
For using this on Windows OS you need CRT Emudriver.
Another option is using EDID editor tool such as "Custom Resolution Utility".
Exclusive to libretro core at the moment.
Also there is a project for achieving software emulators like libretro cores and GroovyMAME send the raw RGB data over a network to a core running on MiSTer, it basically turns the MiSTer into a GPU for the emulator allowing for easy setup and use with CRT TVs/Arcade monitors.
Per-Game Profiles ?
Command Line Options ?
On-Screen Display
Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.
?
Variable Refresh Rate compatible * ?
Big Picture Mode WIP ?
Misc RetroAchievements WIP
EmuVR support Exclusive to libretro cores at the moment.
Free Look
Free Look is a enhancement feature that allows manipulation of the in-game camera.
*
Debug Features
  1. Dolphin lets you dump game textures and also replace game textures with new custom ones.
    Main article: Texture packs#GameCube/Wii
  2. Dolphin had a DolphinFX project for OpenGL backend, but it's now obsolete.
  3. There is a pull request for adding graphics mod editor/manager to Dolphin. In the meantime, you can use Graphics Mods; an exciting new feature introduced in 5.0-16763 that allows users to modify games through a method of defining targets and then applying actions to those targets. Currently, Dolphin supports three actions: Skip, Move, and Scale. These are modifications to the target groups. In addition to this, Dolphin has some built-in Graphics Mods that apply to certain target groups. These include "Native Bloom" - scaling the "Bloom" target group down to the correct resolution, "No Bloom" - skipping any texture labeled in the "Bloom" target group, and "No HUD" - skipping any textures under the target group of "HUD". You can define these or your own Target Groups in any game through using Dolphin's Texture Dumping tool or EFB dumping tools.

Hardware variants[edit]

Triforce[edit]

The Triforce is an arcade system board developed jointly by Namco, Sega, and Nintendo, with the first games appearing in 2002. The system hardware consists of a retail GameCube motherboard, with custom devices interfacing with the EXI, SI and DI, and a custom IPL.

Dolphin used to have Triforce support. However, it was removed several years ago. Nevertheless, a branch remains and can still be used, albeit with some difficulty.

Compatibility is patchy, and while all games boot, many require memory patches via gecko codes to progress beyond error screens. This is further compounded by the abundance of patched or modified dumps floating around. Many of which have patched headers for use with Nintendont, or being renamed versions of their GameCube counterparts. This is most prevalent with Mario Kart Arcade GP 1 & 2, with there being no good (public) dumps at all. The site that previously hosted the gecko codes for Triforce games has since shut down, and the replacement site does not have codes for Triforce games, requiring codes to be manually downloaded from the Wayback Machine. Furthermore, games have multiple revisions, and codes only work on specific revisions.

To use the Triforce branch, certain settings must be modified:

  • Under Config/GameCube, SP1 and Port 1 need to be assigned to AM-Baseboard.
  • To actually play games, cheats need to be enabled. While the Mario Kart games have patches on their Dolphin Wiki pages, codes for other games should be downloaded from here.

Triforce games can also be run on a Wii using Nintendont. Patches and gecko codes are not required. Triforce support is essentially unmaintained and lacks features such as LAN connectivity, internal saving (for things such as high scores or F-Zero AX time attack ghosts), and GameCube memory card reading. Mario Cards and F-Zero License Cards can be emulated for the Mario Kart Arcade GP games and F-Zero AX respectively, but linking F-Zero AX to an F-Zero GX save is not possible. Note that this method cannot be used within Dolphin, as Nintendont utilizes the Wii's ARM "Starlet" processor which Dolphin does not emulate (Starlet only exists to run IOS, which Dolphin reimplements anyway).

Recommended builds for Triforce[edit]

Thanks to these builds most games work correctly with minimal amount of patches needed, so these builds are the most recommended right now for Triforce emulation;

  • Modified build of the Dolphin Triforce branch known as DolphinTriforce-Brodostar, which can run Virtua Striker 4, Virtua Striker Ver 2006 and F-Zero AX (both games crash or run extremely slow normally). It also has all of the Gecko codes/controls preconfigured. You can download it here.
  • Another suggestion is to use the latest builds by Crediar, found here. Additional Gecko codes that provide further fixes (performance fix etc.) for this build can be found here.

Dolphin Pull Requests for Triforce[edit]

There are 2 pull requests by Zopolis4 to add preliminary support for Triforce back into upstream Dolphin, but the work is very old and unsupported.[3][4]

Panasonic Q[edit]

The Panasonic Q GameCube console.

The Panasonic Q (sometimes referred to as GameQ by Gamecube fans) is a hybrid version of the GameCube with a DVD player manufactured by Panasonic in cooperation with Nintendo. The system was officially released only in Japan. A feature of its main competitors, the Xbox and the PlayStation 2, the GameCube lacked commercial DVD movie playback functionality due to the use of the Nintendo optical discs format for games and the correspondingly small disc tray. Initially, the Panasonic Q could only play games and DVDs from Japan; however, a modified version, which could play American games and DVDs, began to be sold from Import shops, making it a popular console to import from Japan. The unit was priced at around ¥41,000 JPY, and the modified version was priced at ¥46,000 JPY. The Panasonic Q is capable of using almost all of the GameCube hardware upgrades. A special version of the Game Boy Player was designed for the Q because the Player was designed to fit onto the bottom of the GameCube, and the Q's different bottom form factor kept the Player from being installed. Other features of the Panasonic Q include a backlit information LCD, a front-loading slot disc tray, an optical sound output supporting Dolby Digital 5.1 and DTS, a separate subwoofer jack, DVD remote control, and a stainless steel chassis. These high-end features, as well as the aforementioned multimedia playback capabilities, have made the Panasonic Q a popular console to collect.

The Q system was licensed by Nintendo, released on December 13, 2001, and was discontinued on December 18, 2003, due to low sales.


  • Dolphin has no support for this variation.
  • See this dedicated page for more information about home media playback support for emulation softwares.

Emulation issues[edit]

For more information about Nintendo GameCube hardware and reverse engineering;

Resources[edit]

  • Dolphin Wiki - The most comprehensive wiki for the Dolphin emulator and games. Good for any fixes/tweaks/settings you should know beforehand.

References[edit]