Emulator Issues #7098
GBA Connectivity Master Issue
For its time, The GameCube has a very unique feature of using Link Cables to connect its handheld counterpart, The Gameboy Advance, for additional game features. This feature was used mostly for additional features, transferring data and additional gameplay modes, and most of all, selling GBAs and link cables.
Usage and information:
For example, Pokemon Colosseum and XD both allowed you to battle in full 3D between two players that had GBAs. The screens kept all your battle options secret from your opponent, likely because they were too lazy to do what Pokemon Stadium 1 and 2 already perfected. Those two games and Pokemon Box also allowed you to transfer Pokemon into your Ruby, Sapphire and Emerald Pokemon games.
Wind Waker and others has the Tingle Tuner, connecting a GBA gets you extra options that enhance the main gameplay mode.
A few games used the GBA connectivity as their main hook. Four Swords Adventures and Final Fantasy: Crystal Chronicles are well known multiplayer games that use the GBAs as controllers and their extra screens for menus, notifications and even gameplay. Pacman VS and the aforementioned Pokemon Box go even further, using GBA connectivity as the sole way to play the games.
Due to latency concerns, it's likely impossible to connect a real GBA to dolphin. Even if we could, it'd require custom hardware for connecting and cause all kinds of headaches. The solution to that, of course, is to use a GBA emulator. As of this post, VBA-M can connect to dolphin, and a couple of the games that use these features work relatively well, and a few more at least connect.
Unfortunately, there are far more games with problems and even more that don't seem to work at all. To complicate matters further, because two emulators are involved, problems could be on both sides of the connection, VBA-M could have problems, Dolphin could have problems... or both!
Speed issues, in order for this issue to be closed, both emulators must run at full speed (or at least theoretically if on a fast enough computer.) Some games as of this posting run < 1 fps when set to default frame limiters. Messing around may improve, but never totally fix. Another example is if it requires one emulator to run far above full speed for the other to reach full speed.
Disconnection issues. It is not acceptable for the GBA Emulator to lose connection to dolphin.
Failure to connect issues. The GBA emulator or Dolphin lock up upon connecting to one another.
Further Information and Data
A total list of games that use the GBA Link Cable can be found here: https://wiki.dolphin-emu.org/index.php?title=Category:Game_Boy_Advance_%28Input_supported%29
A guide to connecting VBA-M to Dolphin (Edited from the Working Guide on the Wiki)
Game Boy connection support can be supported via joybus emulation. Such requires VBA-M (r947 or newer, latest should work) and a dump of GBA BIOS.
1: Launch Dolphin and start the game you intending to play. Get to the point at which it prompts you to connect the GBA; or if it just intends it to be connected all along, just keep the game running.
2: In Dolphin, go to Config => GameCube and change the controller ports to GBA;
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)
3: 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. Depending on the game, this can take upwards of five minutes. Enabling turbo mode in VBA-M and Dolphin (no frame limiter) can speed this up.
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.
#4 Updated by hayhurstpk over 6 years ago
What if you used the GC Controller Adapter by Mayflash with the GBA to GC adapter cord to connect the GBA to the PC? In the config for GC controller there is an option for GBA. Would dolphin check the other Mayflash port for the GBA? If not, could it be possible to add in that functionality?
#7 Updated by skidau about 6 years ago
I have made available a test build and am looking for test results. Please test this version out and post the results to the thread below. More information is available in the thread. This WIP build is a Windows build.
#9 Updated by Specs almost 5 years ago
I'm not sure whether this works with specific builds of both emulator but I can't get it to work in 4 player on 4swords with new or old builds. I can connect one virtual GBA with VBAM but after that it doesn't seem to detect the other VBAM windows and they all try to connect to controller port 1.
Four Swords Adventures+ - in Tetra's Trackers, after finishing a level, you're asked if you want to play another. The GBA reboots into the BIOS but then it seems to never re-establish the connection, so you must close and re-open Dolphin and the GBA emulator to play another level. Happens both with VBA-M and mGBA. [dolphin-master-5.0-13963-x64]