The Legend of Zelda: Four Swords Adventures

The Legend of Zelda: Four Swords Adventures is a video game in Nintendo's The Legend of Zelda series. It was released for the Nintendo GameCube in Japan on March 18, 2004; in North America on June 7, 2004; in Europe on January 7, 2005; and in Australia on April 7, 2005. The Game Boy Advance hand held game console can be used as a controller when using the Nintendo GameCube Game Boy Advance Cable bundled with the game.

Game Boy Player
Game Boy connection support can be supported via joybus emulation. Such requires VBA-M (r947 or newer) and a dump of GBA BIOS (see here an excellent dump guide). To connect GBA:
 * 1) Launch Dolphin (only or newer will work with DSP HLE plug-in, otherwise one must use the DSP LLE plug-in
 * 2) Start Legend of Zelda: Four Swords Adventures and choose multi-player
 * 3) In connection screen, go to Config => GameCube and change the ports to GBA
 * 4) Launch VBA-M, go to Options => Emulator and uncheck "Pause When Inactive". Then, go to Options => Link => Joybus options, mark "Enable Joybus Connection" and use default settings (127.0.0.1)
 * 5) When enabling joybus, Dolphin will freeze (don't panic, its OK!). Now load the GBA Bios in VBA-M, after the splash screen Dolphin will recognize the joybus link and game will detect it as a standard GBA.

To connect other GBAs, just repeat last instruction. Remember to unblock Dolphin and VBA-M in your firewall (some firewalls may block joybus link), otherwise Dolphin will stuck in connection screen. If you are in doubt, refer to this video for more details.

Z-Order/Transparency Issues
Some sprites, primarily trees, are not ordered/transparent appropriately and layer on top of the player sprites. Refer.

Odd Glitches
Odd rendering glitches sometimes occur.

Crashes
Game can crash, stop, and/or freeze while going to another area after getting the fire rod on the other side of the river. Other crashes may occur, refer

Moon Gate Crash
The game crashes when entering a Moon Gate, or operates very slowly under some versions. Can be resolved by enabling, Skip CPU EFB Access.

Can't Hold Button
In the game, there are events that require holding a button such as pulling a switch. It may not be possible to hold it for long enough because the button press is disrupted among frames. This problem can be avoided by disabling "idle skipping" in the configuration or by using VBA-M as the controller

Sound
When the frame rate is below 60 FPS sometimes one soundtrack will loop or hang causing all other sounds to be muted.

Pixel Shader from Byte Code
With and likely other revisions, restarting the game after play has started will generate the warning "CreatePixelShaderFromByteCode failed at Src\D3DShader.cpp 151".