Datel Retro Wireless Classic Controller
It has been suggested that this article or section be merged with [[::wiimote/Extension Controllers|wiimote/Extension Controllers]]. (Discuss) |
Compatibility with Homebrew Applications
If you are looking for a review on this controller, please see the link at the bottom.
If you want to check compatibility with homebrew applications, unfortunately this controller does not currently work, so please be careful and don't buy this product expecting it to work with homebrew (I bought two!)
The issue (though realistically, more likely a deviation from standards on the part of Datel) seems to be with the wiiuse driver. A request for an enhancement to include support for this has now been raised over at wiiuse support forum and libogc support forum. The code was originally written by the wiiuse team but I think it has since been branched off in libogc who now do their own thing with it for use in homebrew applications.
Workaround
The way to get this working with homebrew applications is to recompile your chosen homebrew application against a modified libogc with this defensive code in classic.c removed (around line 91):
WIIUSE_DEBUG("Classic controller handshake appears invalid, trying again."); wiiuse_read_data(wm, data, WM_EXP_MEM_CALIBR, EXP_HANDSHAKE_LEN, wiiuse_handshake_expansion); return 0;
NB
I'm not necessarily recommending that people do this because I don't know enough about the application and this change's impact, but it seems the Datel controller sends an invalid handshake that confuses wiiuse, and making this change will bypass this check for all classic controllers and allow the Datel controller to be used.