GBA wireless adapter emulated on 3DS

davidgf

Well-Known Member
OP
Newcomer
Joined
Mar 25, 2011
Messages
53
Trophies
1
XP
661
Country
Ok the title is a partial clickbait, sorry for that! This might belong to the GBA forum perhaps, but 3DS owners might also welcome it.
I spent the past month working on reversing the GBA wireless adapter along with some folks who already did in the past or are doing right now. I implemented this on my gpsp's fork (which is the one Retroarch uses) and now games that support it, can use it. But before I bore you guys with details, the video:



Retroarch 1.17 (unreleased) will ship some netplay features that enable emulators to use some sort of network layer. This allows players to run their own ROM and savegame and interact with players that use the same console (and similar or identical ROM).

The video shows a Linux laptop (running on x86-64), Android phone (a xiaomi running Retroarch aarch64) and the 3DS which runs armv7 binaries.
There are some issues here and there, and the network latency really hurts games like Pokemon (whcih seem to do some active waiting in some places!), but on LAN/Wifi works really well so far. The new 3DS is not that powerful (to put it in perspective): gpsp can "only" run at 2-3x speed.

I would have made a video with two 3DS but I only have one! I wanted to use my Wii but I'm too lazy to set it up and it's getting late already. I only tested pokemon but I think some other games like Megaman do work. Stay tuned for more updates!
 

DSoryu

GBA/NDS Maniac
Member
Joined
May 5, 2010
Messages
2,435
Trophies
2
Location
In my house
XP
5,131
Country
Mexico
Exciting news! congrats!

This could also be implemented in open_agb_firm, which would be a better option since it runs in native GBA mode on the 3DS. According to oaf main dev:
profi200: With some trickery i think this is doable on 3DS hardware. ARM11 will have to handle WiFi/local wireless and ARM7/11 will have to communicate via one of the unintended "side channels".
 

davidgf

Well-Known Member
OP
Newcomer
Joined
Mar 25, 2011
Messages
53
Trophies
1
XP
661
Country
Thanks for the feedback. I was not aware of that project, but it would be super amazing to implement some sort of wireless compatibility layer. I also learned (thanks to your comment) that some similar projects exist for DS/DSi (like GBARunner2 ?). Perhaps we could have some sort of compatibility layer there too, would be amazing to use the DS wifi to play GBA games that support it!
 

Coto

-
Member
Joined
Jun 4, 2010
Messages
2,979
Trophies
2
XP
2,566
Country
Chile
DS hardware can definitely do it, the tricky part is getting the IPC / FIFO hardware running at full speed, due to audio playback, along wireless. ToolchainGenericDS does implement a very stable IPC / FIFO hardware API (tested with ARM7DLDI + WIFI, or ARM7DLDI + Audioplayback between ARM7 <-> ARM9), but as soon as you initialize wireless while using ARM7DLDI + Audioplayback (be it entirely on ARM7 or ARM7 / ARM9 shared), interrupts get in the way and generate IPC / FIFO hardware overflows.
 
  • Like
Reactions: anotherthing

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtu.be/ZtNtSVIiitE?si=vQHuSAiWxlBVO3Yn