• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Site › Dolphin Patches (Archive) v
« Previous 1 2 3 4 5 ... 7 Next »

Make 3rd party Wiimotes work (in-game) (Linux/Mac OS X)
View New Posts | View Today's Posts

Pages (2): 1 2 Next »
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Make 3rd party Wiimotes work (in-game) (Linux/Mac OS X)
10-02-2011, 04:08 AM (This post was last modified: 10-11-2011, 07:04 PM by pholklore.)
#1
pholklore Offline
Junior Member
**
Posts: 12
Threads: 4
Joined: Sep 2011
Hi!

I managed to make my 3rd party Wiimote work with Dolphin in-game.

The symptom was that that my 3rd party Wiimote ( http://cgi.ebay.ie/ws/eBayISAPI.dll?ViewItem&item=360393544125 ) was able to sync with Dolphin, but only games that use the main buttons of the wiimote worked (there aren't many of those, I suppose). Anything that uses motion sensing or the nunchuk wouldn't

After some head/wall encounters, I realized that the remote wasn't even replying to the first packet a game is sending it. E.g., in Mario Kart, I see "a2 17 00 00 17 70 00 01".

Turns out that this Wiimote (and probably most other 3rd parties, I wouldn't be surprised if all used the same chipset) doesn't understand DATA packets (the `a' in a2). No reply ever comes out.

That "a2 17 00 00 17 70 00 01" is actually an eeprom read request. If you look at
http://wiibrew.org/wiki/Wiimote , you'll see that a2 packets aren't even documented. It documents using 52 (5 == set report) instead. By making the real wiimote code swap those a2's for 52's, the 3rd party Wiimote starts working perfectly. I also tested with a real Nintendo Wiimote (one of those with a builtin motionplus), and I can confirm that it still works after the change.

52 is also what libcwiid sends, and that's the reason that wmgui works out of the box with this wiimote.

I can only imagine that since this Wiimote supposedly works work the real Wii, that if we sniffed the bluetooth traffic between the Wii and this Wiimote, we'd indeed see 52's instead of a2's.

I'm attaching the minimal fix I came up with.

BTW, I'm on Linux (x86_64-linux ubuntu 11.04).

Sonic1 pointed me that the old wiiuse code also used to do this translation.

http://www.google.com/codesearch#fwGbquBxfFU/trunk/Externals/WiiUse/Src/io_nix.c&q=0xa2%20package:http://dolphin-emu%5C.googlecode%5C.com&l=325


Attached Files
.diff   force_report.diff (Size: 977 bytes / Downloads: 252)
Find
10-11-2011, 03:41 AM
#2
opoch Offline
Junior Member
**
Posts: 17
Threads: 5
Joined: Sep 2011
(10-02-2011, 04:08 AM)pholklore Wrote: Hi!

I managed to make my 3rd party Wiimote work with Dolphin in-game.

The symptom was that that my 3rd party Wiimote ( http://cgi.ebay.ie/ws/eBayISAPI.dll?ViewItem&item=360393544125 ) was able to sync with Dolphin, but only games that use the main buttons of the wiimote worked (there aren't many of those, I suppose). Anything that uses motion sensing or the nunchuk wouldn't

After some head/wall encounters, I realized that the remote wasn't even replying to the first packet a game is sending it. E.g., in Mario Kart, I see "a2 17 00 00 17 70 00 01".

Turns out that this Wiimote (and probably most other 3rd parties, I wouldn't be surprised if all used the same chipset) doesn't understand DATA packets (the `a' in a2). No reply ever comes out.

That "a2 17 00 00 17 70 00 01" is actually an eeprom read request. If you look at
http://wiibrew.org/wiki/Wiimote , you'll see that a2 packets aren't even documented. It documents using 52 (5 == set report) instead. By making the real wiimote code swap those a2's for 52's, the 3rd party Wiimote starts working perfectly. I also tested with a real Nintendo Wiimote (one of those with a builtin motionplus), and I can confirm that it still works after the change.

52 is also what libcwiid sends, and that's the reason that wmgui works out of the box with this wiimote.

I can only imagine that since this Wiimote supposedly works work the real Wii, that if we sniffed the bluetooth traffic between the Wii and this Wiimote, we'd indeed see 52's instead of a2's.

I'm attaching the minimal fix I came up with.

BTW, I'm on Linux (x86_64-linux ubuntu 11.04).

Sonic1 pointed me that the old wiiuse code also used to do this translation.

http://www.google.com/codesearch#fwGbquBxfFU/trunk/Externals/WiiUse/Src/io_nix.c&q=0xa2%20package:http://dolphin-emu%5C.googlecode%5C.com&l=325

Where do you place this file? What folder??

ASUS G73SW-A1

Intel® Core™ i7-2630QM, 2.0-2.8GHz, (32nm, 6MB L3 cache)
nVidia GeForce GTX 460M 1,536MB PCI-Express GDDR5 DX11
8,192MB (8GB) DDR3 1333MHz Dual Channel Memory (4x2GB)
4X Blu-Ray Reader / 8X DVDRW/CDRW Super Multi Combo Drive
Pri/Sec- 500GB (w/ 4GB SSD Memory) Seagate XT 7200RPM NCQ Hybrid 32MB Cache (Serial-ATA II 3GB/s
Built-in 802.11 Wireless B/G/N - Stock Wireless Card with Builtin BlueTooth

WIIMOTE WONT STAY CONNECTED!!!! Angry
Find
10-11-2011, 07:06 AM
#3
HawaiianPunch Offline
Posting Freak
*****
Posts: 878
Threads: 2
Joined: Apr 2011
Learn this first, then we will tell you. Or request a patched build from a compiler (maybe Xtreme2Damax, or ExtremeDude2, but don't quote me on that).
http://code.google.com/p/dolphin-emu/wiki/Windows_Build
Main Laptop:
Dell XPS 17
i7 2720QM @ 2.2GHz
8GB DDR3 RAM
Nvidia GeForce GT 555M
Windows 7 64-bit
[Image: salsa.gif?noCache=1324617601]
Find
10-11-2011, 06:25 PM
#4
shuffle2 Offline
godisgovernment
*
Project Owner  Developers (Administrators)
Posts: 699
Threads: 17
Joined: Mar 2009
please try this build of dolphin if you are having trouble connecting non-nintendo wiimotes (on windows): https://min.us/lVwefgFOiXF8d
Find
10-11-2011, 07:03 PM (This post was last modified: 10-11-2011, 07:05 PM by pholklore.)
#5
pholklore Offline
Junior Member
**
Posts: 12
Threads: 4
Joined: Sep 2011
[Sorry, I've been (still am) away]

The patch in this thread DOES NOT HELP WINDOWS USERS. Only Linux and Mac OS X.
Find
10-11-2011, 07:11 PM
#6
shuffle2 Offline
godisgovernment
*
Project Owner  Developers (Administrators)
Posts: 699
Threads: 17
Joined: Mar 2009
that's why my build does Smile
Find
10-11-2011, 07:18 PM
#7
pholklore Offline
Junior Member
**
Posts: 12
Threads: 4
Joined: Sep 2011
Yeah, I wasn't talking at you, but at the users that wanted to know how to use The Patch. :-)

I guess it's useful to point Windows users at issue 4833.

http://code.google.com/p/dolphin-emu/issues/detail?id=4833
Find
11-08-2011, 09:31 AM (This post was last modified: 11-08-2011, 10:05 AM by gangrel171.)
#8
gangrel171 Offline
Junior Member
**
Posts: 7
Threads: 0
Joined: Nov 2011
how to apply this patch, put in the folder and make??
can't find file to patch at input line 9
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|---
| Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp | 10 +++++++++-
| 1 file changed, 9 insertions(+), 1 deletion(-)
|
|Index: src/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp
|===================================================================
|--- src.orig/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp 2011-10-01 18:26:53.670122058 +0100
|+++ src/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp 2011-10-01 18:59:12.790123404 +0100
--------------------------
File to patch


Any ideas??

Finally done.
just use:
$ patch p1 < (patch that you downloaded here)

Unfortunally , did'nt work for me...
Find
11-08-2011, 10:41 AM
#9
ExtremeDude2 Offline
Gotta post fast
*******
Posts: 8,991
Threads: 274
Joined: Dec 2010
Just use latest dolphin Wink
Check out my videos (dead)
[Image: sig-22354.png]
Website Find
11-08-2011, 12:02 PM
#10
gangrel171 Offline
Junior Member
**
Posts: 7
Threads: 0
Joined: Nov 2011
Thx dude, I'll try to compile it again... Will post results tomorrow...
Find
« Next Oldest | Next Newest »
Pages (2): 1 2 Next »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode