Dolphin, the GameCube and Wii emulator - Forums
Explanation - BT Passthrough mode - Printable Version

+- Dolphin, the GameCube and Wii emulator - Forums (https://forums.dolphin-emu.org)
+-- Forum: Dolphin Emulator Discussion and Support (https://forums.dolphin-emu.org/Forum-dolphin-emulator-discussion-and-support)
+--- Forum: Controllers (https://forums.dolphin-emu.org/Forum-controllers)
+--- Thread: Explanation - BT Passthrough mode (/Thread-explanation-bt-passthrough-mode)



Explanation - BT Passthrough mode - Brian Fordhamm - 06-07-2019

So hello everyone.
Since I'm quite interested in Wii and Wiimotes specifically I want to ask: how exactly this mode works? I get that libusb is used to take the BT adapter out of OS control, but what happens after that when I start the game? What sets the adapter up, what's parsing the input from actual Wiimote? Can anyone describe the process?
And why controller sync can only be triggered when there is the game (or WAD app) running?

Where can I read about this?

Sorry if posting in the wrong forum section.


RE: Explanation - BT Passthrough mode - JosJuice - 06-07-2019

(06-07-2019, 05:10 PM)Brian Fordhamm Wrote: What sets the adapter up, what's parsing the input from actual Wiimote?

It's all handled by the code running on the emulated Wii. Or in other words, the game code.

(06-07-2019, 05:10 PM)Brian Fordhamm Wrote: And why controller sync can only be triggered when there is the game (or WAD app) running?

Since everything related to Wii Remotes is handled by the emulated console when using Bluetooth passthrough, you can't sync controllers when the console isn't being emulated.


RE: Explanation - BT Passthrough mode - Brian Fordhamm - 06-08-2019

(06-07-2019, 08:40 PM)JosJuice Wrote: It's all handled by the code running on the emulated Wii. Or in other words, the game code.

So when I hit "Start", the console's OS unloads itself and loads disc content, right? That's how 6th gen consoles worked?


RE: Explanation - BT Passthrough mode - JosJuice - 06-08-2019

(06-08-2019, 04:58 AM)Brian Fordhamm Wrote: So when I hit "Start", the console's OS unloads itself and loads disc content, right? That's how 6th gen consoles worked?

I wouldn't exactly call the system menu an OS, since it gets unloaded when the game starts just like you say, but yes, that's how it works on the Wii. The other 6th gen consoles don't work that way as far as I know, though.


RE: Explanation - BT Passthrough mode - Brian Fordhamm - 06-08-2019

(06-08-2019, 05:06 AM)JosJuice Wrote: I wouldn't exactly call the system menu an OS, since it gets unloaded when the game starts just like you say, but yes, that's how it works on the Wii. The other 6th gen consoles don't work that way as far as I know, though.

Do I understand right that the game once booted actually handles all the connections since there is no actual OS and drivers? BT, Wi-Fi, Ethernet - all by the loaded game?...


RE: Explanation - BT Passthrough mode - JosJuice - 06-08-2019

(06-08-2019, 07:03 AM)Brian Fordhamm Wrote: Do I understand right that the game once booted actually handles all the connections since there is no actual OS and drivers? BT, Wi-Fi, Ethernet - all by the loaded game?...

Well... In practice it's a bit more complicated than that, because there is also second helper CPU that runs software called IOS (which I suppose can be described as a mini OS). IOS handles network connections and has the Wi-Fi drivers and such, but it doesn't parse the Wii Remote Bluetooth data.


RE: Explanation - BT Passthrough mode - Brian Fordhamm - 06-08-2019

(06-08-2019, 07:44 AM)JosJuice Wrote: Well... In practice it's a bit more complicated than that, because there is also second helper CPU that runs software called IOS (which I suppose can be described as a mini OS). IOS handles network connections and has the Wi-Fi drivers and such, but it doesn't parse the Wii Remote Bluetooth data.

Yes, ARM CPU if I'm correct. So some functionality is in the game, some relies on the IOS...