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 for an excellent dump guide). To connect GBA:
 * 1) Launch Dolphin, start Legend of Zelda: Four Swords Adventures and choose multiplayer;
 * 2) While in connection screen, in Dolphin, go to Config => GameCube and change the controller ports to GBA;
 * 3) 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)
 * 4) After enabling joybus in VBA-M, 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 that a GBA was connected.

To connect other GBAs, just open another instance of VBA-M and repeat last instruction. Remember to unblock Dolphin and VBA-M in your firewall, some may block joybus link, leaving Dolphin stuck in connection screen. You can also refer to this video for more details.

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. In level 1-1 this can be avoided by picking up the boomerang again after burning the stumps outside the house and going over 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

HLE Sound Hang
With DSP HLE enabled, when the frame rate is below 60 FPS sometimes one soundtrack will loop or hang causing all other sounds to be muted. Refer. To avoid this, use DSP LLE.

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".

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