| Both sides previous revision Previous revision Next revision | Previous revision |
| systems:gamecube [2022/01/14 04:31] – [Custom Pad Profile] enlarged pictures, added link to full remapping page atari | systems:gamecube [2026/05/21 19:34] (current) – [Multi-disc games] lbrpdx |
|---|
| ===== BIOS ===== | ===== BIOS ===== |
| |
| No Nintendo GameCube emulator in Batocera needs a BIOS file to run. | |
| |
| | ^ MD5 checksum ^ Share file path ^ Description ^ |
| | | ''db92574caab77a7ec99d4605fd6f2450'' | ''bios/GC/EUR/IPL.bin'' | European BIOS file | |
| | | ''b17148254a5799684c7d783206504926'' | ''bios/GC/JAP/IPL.bin'' | Japanese BIOS file | |
| | | ''b17148254a5799684c7d783206504926'' | ''bios/GC/USA/IPL.bin'' | American BIOS file | |
| ===== ROMs ===== | ===== ROMs ===== |
| |
| Place your Nintendo GameCube ROMs in ''/userdata/roms/gamecube''. | Place your Nintendo GameCube ROMs in ''/userdata/roms/gamecube''. |
| | |
| | If you have a Riivolution patch, first create its JSON file as [[emulators:dolphin#riivolution_patches|outlined on the Dolphin emulator page]]. |
| | |
| | If wanting to play a game with Game Boy Advance Link functionality, read the "GBA Link" section which follows. |
| | |
| | ==== Multi-disc games ==== |
| | |
| | A ''.m3u'' playlist file can be used for multi-disc games. Create the ''.m3u'' text file, and enter the filenames of the ROMs for the game on a new line each. For example: |
| | |
| | <file m3u Tales of Symphonia.m3u> |
| | Tales of Symphonia - Disc 1.rvz |
| | Tales of Symphonia - Disc 2.rvz |
| | </file> |
| | |
| | Make sure this ''.m3u'' file is saved with **Unix end of lines** (if you use Windows, use an editor that can save Unix file formats, **not** Notepad). |
| | This playlist file would be saved next to its respective ROMs. EmulationStation will hide the additional discs (Batocera **v31** and higher). |
| | |
| | The resulting file structure would look like this: |
| | |
| | <code> |
| | roms/ |
| | └─ gamecube/ |
| | ├─ Tales of Symphonia.m3u |
| | ├─ Tales of Symphonia - Disc 1.rvz |
| | └─ Tales of Symphonia - Disc 2.rvz |
| | </code> |
| | |
| | <WRAP center round info> |
| | If changing settings in ''dolphin-emu-config'', leave the "Change Discs Automatically" checkbox checked. |
| | </WRAP> |
| | |
| | Refer to [[:cd_image_formats#multi-disc_games|multi-disc games]] for more info. |
| | |
| | ==== GBA Link ==== |
| | |
| | <WRAP center round todo> |
| | This is a more complicated feature, screenshots would be helpful. |
| | |
| | Is this available just for standalone or both libretro and standalone? |
| | </WRAP> |
| | |
| | In Batocera **v36** and higher, **GBA (Internal)** is a **GAMECUBE PORT # TYPE** option for port. In addition, there is an **Auto e-Reader** option (FIXME is this yet another controller type option or is it its own separate option?) that will attach a GBA to port 2 with one of the three e-Reader models loaded. There are different methods of connecting based on the GameCube game. |
| | |
| | The GBA's controls are mapped to the matching physical controller, so a GBA on port 2 would be controlled by the Player 2 controller. |
| | |
| | === No Cartridge === |
| | |
| | For games like //The Legend of Zelda: Four Swords Adventures//, //Final Fantasy Crystal Chronicles//, or games that used it as an optional control like //The Legend of Zelda: The Wind Waker//, the GBA was connected without a cartridge inserted, and the game loads the program into memory when needed. For a game like this, you only have to set the controller type. |
| | |
| | For //Pac-Man Vs.//, note that the GBA is connected to Port 4. If you have less than 4 controllers connected, the GBA player will not be able to control the game. |
| | |
| | === With Cartridge === |
| | |
| | Batocera can automatically load a GBA ROM into connected GBA(s). This uses a ''.gbl'' file, similar to an ''.m3u'' playlist. The first line of the file should be the GameCube ROM's filename. Each additional line is a GBA ROM, loaded in order. If you have more GBAs connected than ROMs in the file, the last ROM will be repeated. Filenames can be a full path, or relative to their ROM folder. The GBA's save file will be synced if it exists. |
| | |
| | In many cases, the GBA is supposed to be turned off until the GameCube game prompts you. To simulate this, hold ''[SELECT]'' & ''[START]'' on the GBA's controller while it is loading. Eventually, the logo will turn a solid color and the Nintendo logo will disappear. When the game tells you to connect the GBA, press {{:wiki:east.png?20&nolink|East button (A SNES)}} to boot the game. |
| | |
| | <file - Pokémon Box (with Emerald inserted).gbl> |
| | Pokémon Box - Ruby & Sapphire (USA).rvz |
| | Pokémon - Emerald Version (USA, Europe).7z |
| | </file> |
| | |
| | If controller #2 is set to GBA, then Pokémon Emerald will be loaded. |
| | |
| | === e-Reader === |
| | |
| | The e-Reader requires use of the mouse to navigate the GBA's menu and load card images (When the ''Auto e-Reader'' option is used, Player 2's analog stick will be mapped to control the mouse, and ''[L2]'' & {{:wiki:west.png?20&nolink|West button (Y SNES)}} to left-click, ''[R2]'' & {{:wiki:north.png?20&nolink|North button (X SNES)}} to right-click. |
| | |
| | As an example, //Animal Crossing// has an e-Reader machine in the in-game post office. Use the machine, and it will prompt you to put the e-Reader in communications mode. Select Communication on the e-Reader, and continue on both. When it prompts you to scan a card, right-click on the GBA screen and select ''Scan e-Reader Card(s)'' from the menu. From here, you can select the file for the card you want to load. |
| |
| ===== Emulators ===== | ===== Emulators ===== |
| ^ Settings that apply to all cores of this emulator || | ^ Settings that apply to all cores of this emulator || |
| | **GRAPHICS BACKEND ''gamecube.gfxbackend''** | Choose your graphics rendering\\ => OpenGL ''OGL'', Vulkan ''Vulkan''. | | | **GRAPHICS BACKEND ''gamecube.gfxbackend''** | Choose your graphics rendering\\ => OpenGL ''OGL'', Vulkan ''Vulkan''. | |
| | **UBERSHADERS ''wii.ubershaders''** | Improve performance with Ubershaders. Ubershaders take advantage of your GPU to avoid in-game stutters as it generates shaders for the first time; this can happen when a certain special effect shows on the screen or a new model is rendered. Hybrid ubershaders are preferred, it will use the GPU accelerated ubershader if available to avoid stutter, otherwise it will fall back to traditional shader generation. Exclusive ubershaders will only use ubershaders, only activate this option if you have an extremely powerful GPU. Normally there is no downside to activating ubershaders, however it does increase the minimum requirements out of your GPU to run. On especially weak hardware, such as SBCs, ubershaders are disabled by default. They can still be manually turned on, but you may encounter //more// stutter if on an SBC. Skip draw is a hack that opts to take a different approach altogether: don't display the object in game if its shader hasn't compiled yet. Obviously, this can result in visual glitches, but may be the best option performance-wise if your hardware is extremely weak.; asynchronous is preferred, synchronous is more compatible\\ => No Ubershaders ''no_ubershader'', Exclusive Ubershaders ''exclusive_ubershader'', Hybrid Ubershaders ''hybrid_ubershader'', Skip Drawing ''skip_draw''. | | | **RENDERING RESOLUTION ''gamecube.internal_resolution''** | Improve the fidelity of 3D models (does not affect 2D sprites).\\ => 1x native (640x528) ''1'', 2x 720p (1280x1056) ''2'', 3x 1080p (1920x1584) ''3'', 4x 1440p (2560x2112) ''4'', 5x (3200x2640) ''5'', 6x 4K (3840x3168) ''6'', 7x (4480x3696) ''7'', 8x 5K (5120x4224) ''8''. | |
| | **PRE-CACHE SHADERS ''gamecube.wait_for_shaders''** | Wait for shaders to compile completely before starting the game, can reduce micro-freezes\\ => Off (default) ''0'', On ''1''. | | | **UBERSHADERS ''wii.ubershaders''** | Improve performance with Ubershaders. Ubershaders take advantage of your GPU to avoid in-game stutters as it generates shaders for the first time; this can happen when a certain special effect shows on the screen or a new model is rendered. Hybrid ubershaders are preferred, it will use the GPU accelerated ubershader if available to avoid stutter, otherwise it will fall back to traditional shader generation. Exclusive ubershaders will only use ubershaders, only activate this option if you have an extremely powerful GPU. Normally there is no downside to activating ubershaders, however it does increase the minimum requirements out of your GPU to run. On especially weak hardware, such as SBCs, ubershaders are disabled by default. They can still be manually turned on, but you may encounter //more// stutter if on an SBC. Skip draw is a hack that opts to take a different approach altogether: don't display the object in game if its shader hasn't compiled yet. Obviously, this can result in visual glitches, but may be the best option performance-wise if your hardware is extremely weak.; asynchronous is preferred, synchronous is more compatible.\\ => No Ubershaders ''no_ubershader'', Exclusive Ubershaders ''exclusive_ubershader'', Hybrid Ubershaders ''hybrid_ubershader'', Skip Drawing ''skip_draw''. | |
| | | **PRE-CACHE SHADERS ''gamecube.wait_for_shaders''** | Compile shaders on next launch of game (one time). Reduces micro-freezes.\\ => Off (default) ''0'', On ''1''. | |
| | **PERFORMANCE HACKS ''gamecube.perf_hacks''** | Increase emulator performance, at the cost of accuracy/stability. Settings set to "True" with this option: Defer EFB copies to RAM ''DeferEFBCopies'', Scaled EFB Copy ''EFBScaledCopy'', EFB Copies ''EFBToTextureEnable'', Skip Presenting Duplicate Frames ''SkipDuplicateXFBs'', XFB copies ''XFBToTextureEnable'', Force Texture Filtering ''ForceFiltering'', Arbitrary Mipmap Detection ''ArbitraryMipmapDetection'', Disable Copy Filter ''DisableCopyFilter'', Force 24-Bit Color ''ForceTrueColor''. Settings set to "False" with this option: Bounding Box ''BBoxEnable'', Ignore Format Changes ''EFBEmulateFormatChanges''.\\ => Off ''0'', On ''1''. | | | **PERFORMANCE HACKS ''gamecube.perf_hacks''** | Increase emulator performance, at the cost of accuracy/stability. Settings set to "True" with this option: Defer EFB copies to RAM ''DeferEFBCopies'', Scaled EFB Copy ''EFBScaledCopy'', EFB Copies ''EFBToTextureEnable'', Skip Presenting Duplicate Frames ''SkipDuplicateXFBs'', XFB copies ''XFBToTextureEnable'', Force Texture Filtering ''ForceFiltering'', Arbitrary Mipmap Detection ''ArbitraryMipmapDetection'', Disable Copy Filter ''DisableCopyFilter'', Force 24-Bit Color ''ForceTrueColor''. Settings set to "False" with this option: Bounding Box ''BBoxEnable'', Ignore Format Changes ''EFBEmulateFormatChanges''.\\ => Off ''0'', On ''1''. | |
| | **USE PAD PROFILES ''gamecube.use_pad_profiles''** | Search for custom configured joystick profiles\\ => Off ''0'', On ''1''. | | | **USE PAD PROFILES ''gamecube.use_pad_profiles''** | Search for custom configured joystick profiles.\\ => Off ''0'', On ''1''. | |
| | **VIDEO RESOLUTION ''gamecube.internal_resolution''** | Improve the fidelity of 3D models (does not affect 2D sprites)\\ => 1x native (640x528) ''1'', 2x 720p (1280x1056) ''2'', 3x 1080p (1920x1584) ''3'', 4x 1440p (2560x2112) ''4'', 5x (3200x2640) ''5'', 6x 4K (3840x3168) ''6'', 7x (4480x3696) ''7'', 8x 5K (5120x4224) ''8''. | | | **GAMECUBE PORT 1 TYPE ''gamecube.dolphin_port_1_type''** | Change what's plugged into the virtual GameCube ports. DK Bongos are a music game accessory used only for certain Donkey Kong games on the GameCube. GBA (Internal) refers to the use of emulated Game Boy Advance players for games which utilized the Game Boy Advance player adapter, available since Batocera **v36**. \\ => None ''0'', Standard Controller ''6'', GameCube Adapter for Wii U ''12'', Steering Wheel ''8'', Dance Mat ''9'', DK Bongos ''10'', Keyboard ''7'', GBA (Internal) ''13''. | |
| | **ANISOTROPIC FILTERING ''gamecube.anisotropic_filtering''** | Enhance the quality of distant perspective textures\\ => Off ''0'', 2x ''1'', 4x ''2'', 8x ''3'', 16x ''4''. | | | **GAMECUBE PORT 2 TYPE ''gamecube.dolphin_port_2_type''** | \\ => None ''0'', Standard Controller ''6'', GameCube Adapter for Wii U ''12'', Steering Wheel ''8'', Dance Mat ''9'', DK Bongos ''10'', Keyboard ''7'', GBA (Internal) ''13''. | |
| | **DUAL CORE MODE ''gamecube.dual_core''** | Usually not much faster than single core mode\\ => Off ''0'', On ''1''. | | | **GAMECUBE PORT 3 TYPE ''gamecube.dolphin_port_3_type''** | \\ => None ''0'', Standard Controller ''6'', GameCube Adapter for Wii U ''12'', Steering Wheel ''8'', Dance Mat ''9'', DK Bongos ''10'', Keyboard ''7'', GBA (Internal) ''13''. | |
| | **GPU SYNC ''gamecube.gpu_sync''** | Speed hack for dual core mode to fix some glitches\\ => Off ''0'', On ''1''. | | | **GAMECUBE PORT 4 TYPE ''gamecube.dolphin_port_4_type''** | \\ => None ''0'', Standard Controller ''6'', GameCube Adapter for Wii U ''12'', Steering Wheel ''8'', Dance Mat ''9'', DK Bongos ''10'', Keyboard ''7'', GBA (Internal) ''13''. | |
| | **ANTI-ALIASING ''gamecube.antialiasing''** | Smooth out jagged edges on 3D object polygons\\ => Off ''0'', 2x ''2'', 4x ''4'', 8x ''8''. | | | **ANISOTROPIC FILTERING ''gamecube.anisotropic_filtering''** | Improves clarity of distant textures.\\ => Off ''0'', 2x ''1'', 4x ''2'', 8x ''3'', 16x ''4''. | |
| | | **DUAL CORE MODE ''gamecube.dual_core''** | Usually not much faster than single core mode. Decreases stability.\\ => Off ''0'', On ''1''. | |
| | | **GPU SYNC ''gamecube.gpu_sync''** | Speed hack for dual core mode to fix some glitches.\\ => Off ''0'', On ''1''. | |
| | | **ANTI-ALIASING ''gamecube.antialiasing''** | Enhancement. Smooth out jagged edges on 3D object polygons.\\ => Off ''0'', 2x ''2'', 4x ''4'', 8x ''8''. | |
| | **ANTI-ALIASING MODE ''gamecube.use_ssaa''** | Toggle MSAA/SSAA. Depends on anti-aliasing being enabled.\\ => MSAA (default) ''0'', SSAA ''1''. | | | **ANTI-ALIASING MODE ''gamecube.use_ssaa''** | Toggle MSAA/SSAA. Depends on anti-aliasing being enabled.\\ => MSAA (default) ''0'', SSAA ''1''. | |
| | **HIRES TEXTURES ''gamecube.hires_textures''** | Use HD texture packs\\ => Off ''0'', On ''1''. | | | **HIRES TEXTURES ''gamecube.hires_textures''** | \\ => Off ''0'', On ''1''. | |
| | **WIDESCREEN HACK ''gamecube.widescreen_hack''** | You must use a 16/9 RATIO to work\\ => Off ''0'', On ''1''. | | | **WIDESCREEN HACK (GLITCHY) ''gamecube.widescreen_hack''** | Enhancement. Only works with a 16/9 ratio and bezels disabled.\\ => Off ''0'', On ''1''. | |
| | **ENABLE CHEATS ''gamecube.enable_cheats''** | To use game cheats or 16/9 Aspect Ratio Fix codes\\ => Off ''0'', On ''1''. | | | **ENABLE CHEATS ''gamecube.enable_cheats''** | To use game cheats or 16/9 Aspect Ratio Fix codes\\ => Off ''0'', On ''1''. | |
| | **MEMORY MANAGEMENT UNIT ''gamecube.enable_mmu''** | Allows many games to boot and work properly\\ => Off ''0'', On ''1''. | | | **MEMORY MANAGEMENT UNIT ''gamecube.enable_mmu''** | Required by some games.\\ => Off ''0'', On ''1''. | |
| | **FAST DISK SPEED ''gamecube.enable_fastdisc''** | Speeds up disc speed to remove any loading\\ => Off ''0'', On ''1''. | | | **FAST DISK SPEED ''gamecube.enable_fastdisc''** | Speeds up disc speed to remove any loading.\\ => Off ''0'', On ''1''. | |
| | **VSYNC ''gamecube.vsync''** | Fix the heavy screen tearing in games (CPU heavy)\\ => Off ''0'', On ''1''. | | | **VSYNC ''gamecube.vsync''** | Fix screen tearing. CPU heavy.\\ => Off ''0'', On ''1''. | |
| | **DUALSHOCK MOTION CONTROL ''gamecube.dsmotion''** | Emulate the Wii pointer with your DS4's gyroscope\\ => Off ''0'', On ''1''. | | | **DUALSHOCK MOTION CONTROL ''gamecube.dsmotion''** | Emulate the Wii pointer with your DS4's gyroscope.\\ => Off ''0'', On ''1''. | |
| | **MOUSE AS IR WIIMOTE ''gamecube.mouseir''** | Emulate the Wiimote IR control with a mouse\\ => Off ''0'', On ''1''. | | | **MOUSE AS IR WIIMOTE ''gamecube.mouseir''** | Emulate the Wiimote IR control with a mouse.\\ => Off ''0'', On ''1''. | |
| | **RUMBLE ''gamecube.rumble''** | To use vibration on games with Rumble mode\\ => Off ''0'', On ''1''. | | | **RUMBLE ''gamecube.rumble''** | To use vibration on games with Rumble mode.\\ => Off ''0'', On ''1''. | |
| | |
| | ==== RetroArch ==== |
| | |
| | RetroArch has [[emulators:retroarch|its own page]]. |
| | |
| | === libretro: dolphin === |
| | |
| | There's nothing here to configure. Use RetroArch's Quick Menu for now. |
| |
| ===== Controls ===== | ===== Controls ===== |
| Save it as a [[:udev_rules|udev rule]] to ''userdata/system/udev/rules.d/51-gcadapter.rules'' (there is no need to "reload" the udev rules, if you want to be sure just reboot Batocera). | Save it as a [[:udev_rules|udev rule]] to ''userdata/system/udev/rules.d/51-gcadapter.rules'' (there is no need to "reload" the udev rules, if you want to be sure just reboot Batocera). |
| |
| You must activate "Custom Pad Profile" and select "GameCube Adapter for Wii U" in Dolphin's controller settings. Boot up Dolphin, attach the Adapter, and it should become selectable. | Then activate "Custom Pad Profile" and select "GameCube Adapter for Wii U" in Dolphin's controller settings. [[:built_file_manager|Open Dolphin from the file manager]], attach the Adapter, and it should become selectable. |
| | |
| <WRAP center round tip> | |
| You can access Dolphin's menu in-game with ''[Alt]'' + ''[Tab]'' to do this. | |
| </WRAP> | |
| |
| ==== Custom Pad Profile ==== | ==== Custom Pad Profile ==== |
| |
| For exceptionally weak hardware, it might also be worth turning off **UBERSHADERS ''gamecube.ubershaders''** altogether. | For exceptionally weak hardware, it might also be worth turning off **UBERSHADERS ''gamecube.ubershaders''** altogether. |
| | |
| | ==== I have X problem with Y game ==== |
| | |
| | Dolphin has a great and informative wiki, usually detailing which settings may need to be altered to avoid issues in certain games. Search for your game on it here: https://wiki.dolphin-emu.org/index.php?title=Main_Page |
| |
| ==== Further troubleshooting ==== | ==== Further troubleshooting ==== |
| |
| For further troubleshooting, refer to the [[:support|generic support pages]]. | For further troubleshooting, refer to the [[:support|generic support pages]]. |
| |
| |