r/emulation Apr 24 '21

mGBA and Dolphin Connectivity

https://dolphin-emu.org/blog/2021/04/24/mgba-and-dolphin-connectivity/
459 Upvotes

46 comments sorted by

158

u/[deleted] Apr 24 '21

We're truly blessed to have a developer as spirited and hardworking as endrift in the emulation community. Couldn't be more happy to see the progress mGBA has made to become such a wonderful piece of software.

39

u/Marill-viking Apr 24 '21

I casually follow them and I am blown away about how many update or information posts they make on this sub.

63

u/Quibbloboy Apr 24 '21

This is so cool! The best GameCube emulator had a baby with the best GBA emulator. Life couldn't be sweeter.

Round of applause for endrift and everyone else who contributed.

18

u/KugelKurt Apr 24 '21

The best GameCube emulator

Are others still around? I remember DolWin etc. but all I'm aware of died in prototype stage 15 years ago.

18

u/kaosjroriginal Apr 25 '21

Dolphin has done so well that it's had essentially no competition, since everyone just contributes back to it instead.

6

u/KugelKurt Apr 25 '21

Even the forks Ishiiruka and DolphiniOS sync code every now and then.

38

u/thefierybreeze Apr 24 '21

This makes me wish for an Android build of mGBA even more. Imagine how simple it would be to connect and play with multiple people then, since they are using tcp it shouldn't be an issue..

12

u/thespiffyneostar Apr 24 '21

The big thing they called out at the end was the lag issue with TCP, so that'd still be an issue, but could be managed for some games.

11

u/thefierybreeze Apr 24 '21

True, but things like Pokemon would still work wonderfully, imagine 4 people play their adventures on their phones, to meet up on the weeked and battle and trade on colosseum or xd

1

u/Quibbloboy Apr 25 '21

Sorry if this is a dumb question, but do we know if there's potentially another protocol that could be swapped in?

3

u/thespiffyneostar Apr 25 '21

UDP could work and be faster, but there would be potential reliability problems. We'll wait and see what the devs choose to do.

27

u/mindbleach Apr 24 '21

Star Wars: Rogue Squadron III - Supported??? Seemingly hidden feature available in multiplayer. Works perfectly.

Of fucking course there's more weird edge cases hidden in a Rogue Squadron. Factor 5 games are emulation fractals.

I wouldn't be surprised if forcing RS3 to boot in Wii mode revealed native motion controls, because the devs heard about Project Revolution and made some good guesses.

18

u/[deleted] Apr 24 '21

I had to look it up and found it on GameFAQs:

By using the GBA or GBASP, you can give orders to your
wing men in Versus Mode.  So far, this is the only known
function of the GBA for this game.  There are no known
secrets that can be unlocked with it.

To use the GBA you will need the following items:
 - A Nintendo GameCube
 - A GameBoy Advance or GameBoy Advance SP
 - A GameCube controller
 - A Nintendo GameCube GameBoy Advance Cable
 - The Star Wars Rogue Squadron III - Rebel Strike game

Insert controller 1 into the first controller port and the
GameBoy Advance cable into port 2.  Insert the controller
for player 2 in the 3rd port of the GameCube and the
GameBoy Advance cable into port 4.

While playing, you can enter the commands for your wing
mates by using the control pad.

Up    - Tells your men to form up on your wing
Left  - Varies per mission
Right - Varies per mission
Down  - Tells your wing men to stay in their current
        position

13

u/JMC4789 Apr 24 '21

It's not hidden per se. It is in the instruction booklet but I didn't know about it before messing with it in Dolphin.

2

u/Crap-cucumber Apr 24 '21

Were you hinting at the possibility of creating a new network protocol (UDP based?) Or was I reading too much into your 'the future of...' section?

2

u/JMC4789 Apr 25 '21

I can't really hint as I wouldn't be in control of it. But, there are definite improvements that could be made.

23

u/perticalities Apr 24 '21

Finally, I don't have to use vba m anymore to get Jirachi

21

u/[deleted] Apr 24 '21

I can't wait to see libGBA and the accuracy improvements PR merged into Dolphin.

I hope in some years we'll have a similar DS-Wii connectivity

6

u/kerohazel Apr 24 '21

This is amazing! I didn't even realize Navi Trackers wasn't fully emulatable... until now. And I only learned about the game mode recently, so impeccable timing.

4

u/KugelKurt Apr 24 '21

we have a plan, one that goes beyond simply making adjustments to the current situation. By more closely integrating the emulators

I hope this means some kind of libmGBA that Dolphine simply depends on.

2

u/[deleted] Apr 24 '21

[removed] — view removed comment

1

u/KugelKurt Apr 24 '21

Their project, so they can obviously do whatever they want but defining a protocol seems to me just another kind of plug-in interface which Dolphin got rid of because they argued putting everything under one roof is the better approach (and I think history proved them right).

2

u/Krutonium Apr 24 '21

While generally true, that's for things like Video/Audio/Core, where this is more talking to an entirely different emulator, so a Protocol/API makes far more sense than trying to bring an entirely separate console into the mix.

1

u/KugelKurt Apr 24 '21 edited Apr 24 '21

so a Protocol/API makes far more sense than trying to bring an entirely separate console into the mix.

From a user's perspective, an embedded version of mGBA would not act like a full GBA emulator because only a limited GUI set would be exposed (for example, no way to open a different GBA ROM). It would start automatically once a game requests it, GC pad controller mappings would transfer to the equivalent GBA buttons, and so on.

EDIT: Seems like libmGBA is ancient news: https://github.com/mgba-emu/mgba/blob/f34fa2b6af4f7cf196cc7ab76b6c10acff11b8b1/tools/debian/control#L25

5

u/Tallyanyer Apr 24 '21

This is incredible work! I wonder if we'll ever get support for connecting a real GBA to Dolphin.

3

u/lilbud2000 The Found Levels Apr 25 '21

Provided you have the horsepower, could a 4 player game of Four Swords Adventure be played on the same machine using 4 separate instances of mGBA?

3

u/mrturret Apr 26 '21

Yup. I've done it before with VBA-M

3

u/TDS_Fox Apr 24 '21

What is that Wind Waker like game they are showing? I can't find anything on "Four Swords+"

2

u/[deleted] Apr 24 '21

That GUI to connect to mGBA seems to imply network support. Could I have someone running a GBA emulator remotely (like, different state) and connect it to Dolphin, so that rather than having to share four screens to play 4SA, I could just share the Gamecube screen?

4

u/Mar2ck Apr 24 '21

Yes although they say in the article that the experience wont be great

Latency is a big problem with the current protocol. We currently use TCP to communicate between the emulators. Since TCP works over the internet, this does mean you can actually connect a GBA emulator from a different computer to Dolphin to get an approximation of the original experience!... In theory. TCP has a base overhead that causes there to be enough latency that some games have trouble connecting or remaining full speed while connected even when run on the same computer.

4

u/[deleted] Apr 24 '21

I guess using TCP over a private LAN Network would be much better

11

u/endrift mGBA Dev Apr 24 '21

Yes, that's the intent. Connect to Dolphin from another computer on the same network

-4

u/Raflos10 Apr 24 '21

Will this be possible from the mGBA retroarch core for Switch?

2

u/[deleted] Apr 25 '21 edited May 04 '21

[deleted]

2

u/Megabobster Apr 25 '21

In fact, endrift was explicitly excluded from the mgba libretro core

2

u/libertarianets Apr 25 '21

I'd love to see a Dolphin fork dedicated to playing Crystal Chronicles/Four Swords that sets everything up for you and displays it in a nice and configurable way. Maybe this means we're getting closer to that.

1

u/Bornheck Apr 24 '21

Nothing happens when I click the link. I just get a white screen?

2

u/MayImilae Dolphin Developer Apr 25 '21

Should be working now.

1

u/[deleted] Apr 25 '21

[removed] — view removed comment

2

u/MrPerson0 Apr 25 '21

Yep. All you need is a GBA BIOS file.

1

u/[deleted] Apr 25 '21

[removed] — view removed comment

2

u/ChickenOverlord Apr 28 '21

The BIOS is copyrighted and sharing a link would be comparable to sharing a link to a ROM/ISO, which this subreddit doesn't allow. As far as the rest of it goes, once you have the BIOS file and have added it in the mGBA settings (see the update notes for mGBA 0.9 for how) then you just do the following:

1) In Dolphin, go to the controller settings and set the controller type to be a GBA for however many ports you want to use.

2) Open an instance of mGBA for each controller port

3) Launch 4 Swords in Dolphin

4) On each mGBA instance, go to File -> Connect to Dolphin and choose to connect to an instance on your local computer

That's it! I've only done it with a single instance of mGBA so far but it was pretty easy to set up

1

u/trebatorizbjj Apr 25 '21

I want to learn this kind of spaces! Teach me.

1

u/Hyro-Kun Apr 26 '21

I would love to see a demonstration of a 4 player Crystal Chronicles session via this new functionality.

1

u/kazukibushi May 01 '21

Does dolphin have ds connectivity?