New Wiimote + 3rd Party Classic Controller

Discussion in 'Wii - Emulation and Homebrew' started by sroemr, Apr 17, 2016.

  1. sroemr
    OP

    sroemr Member

    Newcomer
    38
    7
    Apr 17, 2016
    United States
    First, I've used these boards for awhile and they're great. Very informative, extremely helpful.

    Now to my issue:

    I have a handful of wiimotes. All of them are RVL-036 (RVL-CNT-01-TR) except for one, which is RVL-003 (RVL-CNT-01). I have third party controllers by ZettaGuard (the 6.99 ones on Amazon). They work flawlessly with the old wiimote, but they will not work in the new wiimotes in SNES9xGX, FCE Ultra GX, or vbaGX.

    Here is a breakdown of the combinations:
    RVL-036 + Official Controller = Works
    RVL-036 + 3rd Party = Scrolls all over the place and doesn't work, eventually results in dump
    RVL-003 + Official = Works
    RVL-003 + 3rd Party = Works

    Is there a fix for the new wiimote plus the 3rd party controller? I ran into the same issue with Wii64 (switched to Not64 and worked) and Genesis Plus GX (found an updated version that fixed it)

    I only have one of the old style controllers, and I rarely play with others so spending $25 on an official controller seems overkill.
     
    Last edited by sroemr, Apr 17, 2016
  2. sroemr
    OP

    sroemr Member

    Newcomer
    38
    7
    Apr 17, 2016
    United States
    Also adding that RVL-036 remotes work by themselves, as well, so really only need an update to make snes9xgx work
     
    Last edited by sroemr, Apr 17, 2016
  3. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    11,465
    4,779
    Mar 17, 2010
    Norway
    Alola
    3rd party classic controllers are problematic with homebrew in general. If there isn't a version of the homebrew that works with it, I'm afraid there's not much you can do besides recompiling the homebrew with a newer libogc version (Use devkitPro for this), which might not even help. It's worth a try though.
     
  4. sroemr
    OP

    sroemr Member

    Newcomer
    38
    7
    Apr 17, 2016
    United States
    I was looking in to doing that but wasn't 100% sure what to do.. Just seems weird to me that I had the same issue with GenGX (except with all wiimotes) but was able to find a fix for it but nothing for the others.
     
  5. sroemr
    OP

    sroemr Member

    Newcomer
    38
    7
    Apr 17, 2016
    United States
    Or, is there a place with all the different versions or updates of snes9xgx? That's the only one hurt by it, as GB and NES can be played straight from the wiimote.
     
    Last edited by sroemr, Apr 17, 2016
  6. gonzo9002

    gonzo9002 Newbie

    Newcomer
    2
    0
    Nov 21, 2016
    United States
    how were you able to fix it?? i need help

    — Posts automatically merged - Please don't double post! —

    I got 2 3rd party controllers for my homebrew snes wii setup and when i open snes9x GX it wants to auto scroll threw the options without me pressing any buttons does the exact same thing on both of them does anyone know how to do what this guy is saying in a more step by step instructions


    ic3guy
    Re: Snes9x 4.0.7 Classic Controller Issue
    January 26, 2010 03:21AM Registered: 6 years ago
    Posts: 3
    I figured out a solution for 3rd party classic controller problems. I am sure that the authors of libogc and wiiuse know how to fix it, but like it has been said many times in many places, to support x amount of versions of hardware would be a waste of time. Here is how you can do it on your own if you want. You need to have devkitpro and have the ability to build libogc.

    There are two issues at hand. The 3rd party classic controller is not sending the correct "encrypted expansion id code" and also it does not send the proper calibration data. The 3rd party classic controller I got, worked fine in regular games but not in homebrew.

    The first thing is to find the correct encrypted expansion id code.

    In io.c (of wiiuse) in the function wiiuse_handshake_expansion add the following code above switch(id) in case 3.

    printf("WIIUSE EXP_ID: %x\n",id);

    Compile libogc. Then compile the devkitpro wii template example. ie: "Hello World". You can follow the codemii tutorial 2. Load up the template example on the wii. It should say "Hello World". Plug your third party classic controller into the wiimote. The id code should pop up. For my controller it was 98999900.

    Now, go into wiiuse_internal.h and modify #define EXP_ID_CODE_CLASSIC_CONTROLLER 0x... and put the code that you just got in the last step.

    Go into classic.c and remove the WIIUSE_DEBUG("Classic.. to return 0; part (this step has been mentioned on other sites as a fix, but I also had to modify my id code).

    No compile libogc again and compile any piece of homebrew that supports the classic controller and you should be all set. Note that if you do these modifications an official classic controller will now not work.

    Hope this has been helpful.