Page 2 of 3

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sun Jul 14, 2013 5:27 am
by tueidj
BenoitRen wrote:I don't see the correlation. The Wii MotionPlus is a different thing as it has an expansion port of its own.

You said yourself that the Balance Board simulates a Wiimote with an expansion device. Hence it's not an expansion device, as it's stand-alone.
What relevance does the additional port on the motion plus have? If you want to access the motion plus data, it must be done via the expansion port regardless of whether the motion plus is built in or externally attached. So it's always an expansion device even when it's part of the wiimote.
The balance board is like a giant wiimote with no accelerometers or camera, one single button and four weight sensors connected to the expansion port. If a device uses the wiimote's expansion port for communication, surely it is an expansion device?
I have tested Devolution with the Wii U Pro Controller and it's actually amazing. First I was confused when I realized the buttons were not mapped to match the names of the gc controller buttons (Y is B and B is A etc), but I got used to it very quickly. The only thing that I dislike is that if I exit to the HBC to select another game I can't use it anymore. It would be really cool to have drivers that enable the Wii U Pro Controller globally. I don't think Nintendo will ever update the Wii again so I think those drivers would be save. Please make this happen, tueidj! I don't think anyone else other than you can make this happen
If there is a HBC update then the new version will be "wiiu pro enabled" but no idea when that will happen. Making it work globally is too difficult as I explained earlier.

Re: Wii U Pro Controller drivers for the Wii?

Posted: Tue Jul 16, 2013 12:42 am
by BenoitRen
tueidj wrote:What relevance does the additional port on the motion plus have? If you want to access the motion plus data, it must be done via the expansion port regardless of whether the motion plus is built in or externally attached. So it's always an expansion device even when it's part of the wiimote.
The balance board is like a giant wiimote with no accelerometers or camera, one single button and four weight sensors connected to the expansion port. If a device uses the wiimote's expansion port for communication, surely it is an expansion device?
I see what you mean now. In my eyes, though, it's only really an expansion device if it's connected to an actual Wiimote.

Re: Wii U Pro Controller drivers for the Wii?

Posted: Fri Jul 19, 2013 5:43 pm
by inspectah_deck
tueidj wrote:The classic controller pro functions the same as the original classic controller except it doesn't have analog L and R triggers.
Both of them have the same terrible stick sensitivity - the L stick ranges from 0 to 63 and the R stick ranges from 0 to 31 (and they are never calibrated properly). In contrast, the gamecube sticks and PS1/2/3 controllers all range from 0 to 255 and the wiiu pro sticks range from 0 to 4095.
Whats the maximum number of steps a GCN game actually uses during gameplay?

Or to ask the other way around:
Is there a game that uses more steps then the classic controller stick has (63/31)?

And is the difference in stick sensitivity (between GCN and CC controller) even noticable during gameplay?

What do you mean by the CC sticks "are never calibrated properly"?

Re: Wii U Pro Controller drivers for the Wii?

Posted: Fri Jul 19, 2013 9:21 pm
by Nintendo Maniac 64
inspectah_deck wrote:And is the difference in stick sensitivity (between GCN and CC controller) even noticable during gameplay?
I personally think sensitivity is the wrong term to use for this, that would imply that you aren't getting the full "distance" of the analog stick. What is being described is much more like "resolution".

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sat Jul 20, 2013 12:13 am
by inspectah_deck
The stick has a higher resolution and is therefore (in theory) more sensitive.
More steps = more sensitivity.
My question is if there is a actual game that takes advantage of this sensitivity/high resolution and therefore surpasses the CC sticks resolution, making it skip steps in that game in Devolution.

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sat Jul 20, 2013 1:38 am
by tueidj
Try zooming in with the sniper rifle in TimeSplitters 2, the controller isn't sensitive enough to target accurately.
What I meant by the CC sticks not being calibrated is that their centre (at rest) values aren't in the middle of their range, for example when I'm not touching my CC Pro the left stick returns 31,34 and the right stick returns 16,14. If it was properly calibrated it would return 32,32 and 16,16. It may not seem like much but consider it reduces the range by a further 5%...

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sat Jul 20, 2013 9:35 am
by Cubelover
When playing F-Zero GX with the Wii U Pro Controller I felt like the left analog stick is a bit too sensitive. Or maybe it's my imagination. How is the sensitivity/resolution of the Wii U Pro Controller's analog sticks compared to the analog sticks of a GC Controller?

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sat Jul 20, 2013 10:13 am
by inspectah_deck
Look here:
viewtopic.php?p=19233#p19233
tueidj wrote:Try zooming in with the sniper rifle in TimeSplitters 2, the controller isn't sensitive enough to target accurately.
Thats a bummer, making these GCN to CC adapter not the perfect solution for original controls either.

I emailed Raphael Assenat from raphnet.com a few days ago about his GCN to CC adapter and Devolution.
He created a new revision of the adapter with implemented devolution support (new button mapping, analog L & R), which should be available in the next weeks.

I also asked him about the different ranges of the CC and GCN controller, here is what he answered:
Q: Does the current revision (of GCN to CC adapter) support the full range of the Gamecube sticks (0-255) or only the limited one of the CC (0-63 and 0-31)?
A: Only the limited one. Doing better would require implementing a special mode
in my adapter and having the Devolution developer support it. This special
mode would also be useful to some homebrew apps.. For now I'll add this
on my list for future features.
So would you be interested in adding such support in Devolution tueidj?

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sat Jul 20, 2013 11:38 am
by Cubelover
inspectah_deck wrote:Look here:
viewtopic.php?p=19233#p19233
Oh I missed that. That explains the higher sensitivity of the Wii U Pro Analog sticks I experienced with F-Zero then. Can the sensitivity of the Wii U Pro analog sticks be changed via software to 0-255?

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sat Jul 20, 2013 12:55 pm
by tueidj
The values from the WiiU Pro are already converted to the 0-255 range, they have to be in order to emulate a GC controller.

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sat Jul 20, 2013 1:12 pm
by tueidj
inspectah_deck wrote:I also asked him about the different ranges of the CC and GCN controller, here is what he answered:
Q: Does the current revision (of GCN to CC adapter) support the full range of the Gamecube sticks (0-255) or only the limited one of the CC (0-63 and 0-31)?
A: Only the limited one. Doing better would require implementing a special mode
in my adapter and having the Devolution developer support it. This special
mode would also be useful to some homebrew apps.. For now I'll add this
on my list for future features.
So would you be interested in adding such support in Devolution tueidj?
I don't think he has to implement a special mode. The classic controller uses 6 bytes for reporting data which the wiimote reads from offset 8 of the extension memory, but depending on the reporting mode the wiimote can return up to 8, 19, 16, 9, or 21 bytes. So all he has to do is make his adapter put the real stick/trigger values after the normal 6 bytes of CC data and I can read them using the 19 byte reporting mode (which I always use anyway because it's needed for the WiiU Pro). Also put a couple of signature bytes on the end to distinguish it from a real classic controller.

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sat Jul 20, 2013 4:35 pm
by Cubelover
tueidj wrote:The values from the WiiU Pro are already converted to the 0-255 range, they have to be in order to emulate a GC controller.
Heh, then it was my imagination afterall. Thanks for clearing this up :)

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sat Jul 20, 2013 8:53 pm
by Nintendo Maniac 64
No, it's NOT your imagination. It has been reported several times that, for whatever reason, the analog sticks on a Wii U pro controller will be uber-sensitive (but NOT low resolution) in F-Zero GX the very first time you play the game in Devolution. This exact thing happened to the guy in this video, note in the comments where he says it was fine the next time tried GX:
http://www.youtube.com/all_comments?v=bx-4_M12Hs0

Remember, the Wii U Pro controller's analog sticks have MORE resolution (12 bit) than the GC controller (8 bit).

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sun Jul 21, 2013 1:14 am
by tueidj
Smells like BS to me. If there was a bug in the min/max tracking it would cause the sticks to become less sensitive, not more.

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sun Jul 21, 2013 1:29 am
by Nintendo Maniac 64
Now that I think of it, when the analog stick issue happens, the machines in GX would move similarly to if both shoulder buttons were being held down (which they weren't physically). This means that it's extremely obvious when it is happening since most machines will NEVER move like that on their own...except when holding both L & R.

Perhaps it's related to the shoulder-button borkiness that occurs with Luigi's Mansion?

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sun Jul 21, 2013 3:32 pm
by raphnet
tueidj wrote:
inspectah_deck wrote:I also asked him about the different ranges of the CC and GCN controller, here is what he answered:
Q: Does the current revision (of GCN to CC adapter) support the full range of the Gamecube sticks (0-255) or only the limited one of the CC (0-63 and 0-31)?
A: Only the limited one. Doing better would require implementing a special mode
in my adapter and having the Devolution developer support it. This special
mode would also be useful to some homebrew apps.. For now I'll add this
on my list for future features.
So would you be interested in adding such support in Devolution tueidj?
I don't think he has to implement a special mode. The classic controller uses 6 bytes for reporting data which the wiimote reads from offset 8 of the extension memory, but depending on the reporting mode the wiimote can return up to 8, 19, 16, 9, or 21 bytes. So all he has to do is make his adapter put the real stick/trigger values after the normal 6 bytes of CC data and I can read them using the 19 byte reporting mode (which I always use anyway because it's needed for the WiiU Pro). Also put a couple of signature bytes on the end to distinguish it from a real classic controller.
Hello tueidj,

I like that, it is much simpler than implementing a special mode. So how about the following structure?

Code: Select all

/*       |                 Bit                                |
 * Byte  |   7   |   6   |   5   |  4  |  3 |  2 |  1  |  0   |
 * ------+---------------+-------+----------------------------+
 *  0    |    RX<4:3>    |            LX<5:0>                 |
 *  1    |    RX<2:1>    |           LY<5:0>                  |
 *  2    | RX<0> |    LT<4:3>    |      RY<4:0>               |
 *  3    |        LT<2:0>        |      RT<4:0>               |
 *  4    | BDR   |  BDD  |  BLT  |  B- | BH | B+  | BRT | 1   |
 *  5    | BZL   |   BB  |  BY   | BA  | BX | BZR | BDL | BDU |
 *  6    | GC Left stick/N64 stick raw X value                |
 *  7    | GC Left stick/N64 stick raw Y value                |
 *  8    | GC C-stick raw X value                             |
 *  9    | GC C-stick raw Y value                             |
 *  10   | GC Left shoulder raw X value                       |
 *  11   | GC Right shoulder raw Y value                      |
 *  12   | 0x52 ('R')                                         |
 *  13   | 0x4E ('N')                                         |
 *  14   | 0x54 ('T')
 */

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sun Jul 21, 2013 3:38 pm
by public-pervert
Wow! It's him!!
I love all of your work, man!

Welcome to the forums, mate! :D

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sun Jul 21, 2013 4:29 pm
by inspectah_deck
Would it also be possible to support rumble that way?

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sun Jul 21, 2013 10:07 pm
by tueidj
raphnet wrote:I like that, it is much simpler than implementing a special mode. So how about the following structure?

Code: Select all

/*       |                 Bit                                |
 * Byte  |   7   |   6   |   5   |  4  |  3 |  2 |  1  |  0   |
 * ------+---------------+-------+----------------------------+
 *  0    |    RX<4:3>    |            LX<5:0>                 |
 *  1    |    RX<2:1>    |           LY<5:0>                  |
 *  2    | RX<0> |    LT<4:3>    |      RY<4:0>               |
 *  3    |        LT<2:0>        |      RT<4:0>               |
 *  4    | BDR   |  BDD  |  BLT  |  B- | BH | B+  | BRT | 1   |
 *  5    | BZL   |   BB  |  BY   | BA  | BX | BZR | BDL | BDU |
 *  6    | GC Left stick/N64 stick raw X value                |
 *  7    | GC Left stick/N64 stick raw Y value                |
 *  8    | GC C-stick raw X value                             |
 *  9    | GC C-stick raw Y value                             |
 *  10   | GC Left shoulder raw X value                       |
 *  11   | GC Right shoulder raw Y value                      |
 *  12   | 0x52 ('R')                                         |
 *  13   | 0x4E ('N')                                         |
 *  14   | 0x54 ('T')
 */
I think that's fine. The only thing I would suggest double-checking is what happens when it's used with an "active" wii motion plus in passthrough mode (see http://wiibrew.org/wiki/Wiimote/Extensi ... rough_mode) but I don't know of any games using that mode anyway since it's not practical to hold a wiimote+ and controller at the same time.

About rumble, afaik the GC pad's motor is designed to run off 5V rather than 3.3V supplied by the wiimote. Some people have told me that's still enough to make it work but I would be worried about it pulling too much current and killing the wiimote. However if you still want rumble functionality (maybe add a 9V battery option to the adapter) I could add code to control rumble by writing a byte somewhere in the extension memory (similar to how the encryption is configured).

Re: Wii U Pro Controller drivers for the Wii?

Posted: Wed Jul 24, 2013 1:04 am
by raphnet
The current version of my adapter does not supply any voltage to the 5 volt wire, so I cannot implement rumble right now. But now that there is clearly a good use case for rumble, I will start thinking of a good way to do it. I'm not sure it will be using batteries.

However we can still define the protocol in advance. I suggest simply adding a byte at the end of the structure I proposed earlier.
Rumble motor is on when non zero. The value can be read back.

I also changed the signature bytes to make it possible to detect if the raw data is GC or N64 since the range and signedness is different.

Please comment. Otherwise I'm ready to test any time.

Code: Select all

/*       |                 Bit                                |
 * Byte  |   7   |   6   |   5   |  4  |  3 |  2 |  1  |  0   |
 * ------+---------------+-------+----------------------------+
 *  0    |    RX<4:3>    |            LX<5:0>                 |
 *  1    |    RX<2:1>    |           LY<5:0>                  |
 *  2    | RX<0> |    LT<4:3>    |      RY<4:0>               |
 *  3    |        LT<2:0>        |      RT<4:0>               |
 *  4    | BDR   |  BDD  |  BLT  |  B- | BH | B+  | BRT | 1   |
 *  5    | BZL   |   BB  |  BY   | BA  | BX | BZR | BDL | BDU |
 *
 *  6    | GC Left stick/N64 stick raw X value                |
 *  7    | GC Left stick/N64 stick raw Y value                |
 *  8    | GC C-stick raw X value                             |
 *  9    | GC C-stick raw Y value                             |
 *  10   | GC Left shoulder raw X value                       |
 *  11   | GC Right shoulder raw Y value                      |
 *  12   | 0x52 ('R')                                         |
 *  13   | Controller ID byte 0                               |
 *  14   | Controller ID byte 1                               |
 *  15   | Rumble status (RW) for future use                  |
 *
 *  Controller ID:
 *
 *   0   |  1     
 *  -----+-----
 *   '6' | '4'    N64 controller
 *   'G' | 'C'    Gamecube controller
 *
 * When neither a N64 nor GC controller is connected, all values from
 * byte 6 up to byte 14 are 0x00.
 *
 * Writing at byte 15 controls the rumble motor. Rumble on when non-zero.
 */

Re: Wii U Pro Controller drivers for the Wii?

Posted: Wed Jul 24, 2013 5:01 am
by raphnet
Not sure if it helps, but I modified libOGC and wrote a simple example to display the raw Gamecube and N64 values the next adapter version will be exposing.

http://www.raphnet.net/programmation/ex ... dex_en.php

Re: Wii U Pro Controller drivers for the Wii?

Posted: Wed Jul 24, 2013 10:50 am
by BenoitRen
Nintendo Maniac 64 wrote:No, it's NOT you're imagination.
your

Re: Wii U Pro Controller drivers for the Wii?

Posted: Wed Jul 24, 2013 9:11 pm
by Nintendo Maniac 64
BenoitRen wrote:
Nintendo Maniac 64 wrote:No, it's NOT you're imagination.
your
Well that's embarrassing...

To my credit, I made that post within like 20 minutes of waking up. Normally I'm totally OCD about my own grammar to the point that at times I'll keep editing my post up to an hour after posting just revising the wording and fixing the grammar.

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sat Jun 14, 2014 5:22 pm
by Naxil
@tueidj
Hi, i have a question , why u not leave the possibility for play GC games with wiimote+nunchak? i know it is near impossible with some games, but other kind of games can be played with wiimote+nunchack

Re: Wii U Pro Controller drivers for the Wii?

Posted: Sat Jun 14, 2014 6:36 pm
by novenary
Hmm, you just necroposted a thread with an unrelated question. Congratulations !