GBA wireless adapter emulated on 3DS

  • Thread starter Thread starter davidgf
  • Start date Start date
  • Views Views 7,169
  • Replies Replies 5
  • Likes Likes 8

davidgf

Well-Known Member
Member
Joined
Mar 25, 2011
Messages
168
Reaction score
722
Trophies
1
XP
1,521
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!
 
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".
 
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!
 
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
Hi, I was wondering if any progress has been made in this regard? I cannot seem to find anything, some even say its not even possible?
 

Site & Scene News

Popular threads in this forum