Hacking WiiFlow Lite

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
I also removed libwupc from USBLoaderGX, and it worked fine with libogc, except I don't have L3/R3/Extra button data. I used L3/R3 to shutdown the controller.
I added Libdrc, but not using the full mapping like libwupc had (lot of sources with references), instead I mapped the gamecube controller to libdrc buttons and sticks. The button work, but the stick has a calibration issue and doesn't work with diagonals. I even think it affected other controllers, like nunchuck's stick. Maybe it's libogc's fault? I'll soon work on it again when I'll be in holidays.
 
Last edited by Cyan,

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,986
Country
United States
I also removed libwupc from USBLoaderGX, and it worked fine with libogc, except I don't have L3/R3/Extra button data. I used L3/R3 to shutdown the controller.
I added Libdrc, but not using the full mapping like libwupc had (lot of sources with references), instead I mapped the gamecube controller to libdrc buttons and sticks. The button work, but the stick has a calibration issue and doesn't work with diagonals. I even think it affected other controllers, like nunchuck's stick. Maybe it's libogc's fault? I'll soon work on it again when I'll be in holidays.
Thanks cyan. Does the wiiu wiivc with wiiflow lite forwarder need to be made a special way or can i use teconmooms app?
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
yes, it needs to be created a certain way, but you can use teconmoon apps.
I couldn't create the WiiU channel myself (no idea why, but I always got an error with the script injector program), so someone made one for me so I could test the loader on my console.

I know there is something to enable (or not enable), like wiimote passthrough. you'll have to test with both option enabled/disabled. I think it should be disabled.


If you want the sources to see how I added libdrc to gamecube buttons, it's not on the repo yet, it's on a .patch in 1269mod. The link is probably buried in USBGX thread now, but you can perform a search.
Like I said, buttons are working fine, but stick doesn't have analog diagonals, probably due to StickMax value calibration issue (it's calculated from a single angle+amplitude, instead of dual x/y axes), the amplitude is probably reported with a shorted value than expected and the function think it's still in the "center" range.
 
Last edited by Cyan,
  • Like
Reactions: WesMods

WesMods

Well-Known Member
Member
Joined
May 4, 2016
Messages
193
Trophies
0
XP
1,945
Country
Canada
Do you want me to try building it with the script the old fashioned way when I get off tonight @fledge68? I tried both with/without wiimote passthrough enabled but I was using @TeconMoon 's program. My understanding is @TeconMoon 's is just a front-end that uses the same script but I used the old script at least 100 times before the @TeconMoon released built us the program (Thank you so much for that man, I love it!)
 

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,986
Country
United States
Do you want me to try building it with the script the old fashioned way when I get off tonight @fledge68? I tried both with/without wiimote passthrough enabled but I was using @TeconMoon 's program. My understanding is @TeconMoon 's is just a front-end that uses the same script but I used the old script at least 100 times before the @TeconMoon released built us the program (Thank you so much for that man, I love it!)
reply no - i think teconmoon's app is fine.
i made my own wiivc wiiflow lite forwarder using his app.
my wiiu pro controller does nothing. but its not a certified nintendo version. its a cheap wireless version.
the gamepad does nothing. but i see the hand pointer slide off to the left and down. i'm wondering that the code is detecting the slightest leaning of the stick in those directions so that hand flies off screen but you would think holding the stick the opposite way would stop it until you release the stick.

anyway. i've been doing some testing this morning.
i have figured out that wiidrc does init. and i have the wiiflow sd log working. hoping it will tell me whats going on.
strangely if i hold the wiiu power btn wiiflow lite reloads and then i hold the power btn again for 10 seconds or so and finally the wii u shuts off
when i read the log theres 2 parts. the first part tells its wiiu wiivc on ios255 the second one says wiiu vwii on ios58.
but anyway back to more testing.
 
  • Like
Reactions: WesMods

WesMods

Well-Known Member
Member
Joined
May 4, 2016
Messages
193
Trophies
0
XP
1,945
Country
Canada
reply no - i think teconmoon's app is fine.
i made my own wiivc wiiflow lite forwarder using his app.
my wiiu pro controller does nothing. but its not a certified nintendo version. its a cheap wireless version.
the gamepad does nothing. but i see the hand pointer slide off to the left and down. i'm wondering that the code is detecting the slightest leaning of the stick in those directions so that hand flies off screen but you would think holding the stick the opposite way would stop it until you release the stick.

anyway. i've been doing some testing this morning.
i have figured out that wiidrc does init. and i have the wiiflow sd log working. hoping it will tell me whats going on.
strangely if i hold the wiiu power btn wiiflow lite reloads and then i hold the power btn again for 10 seconds or so and finally the wii u shuts off
when i read the log theres 2 parts. the first part tells its wiiu wiivc on ios255 the second one says wiiu vwii on ios58.
but anyway back to more testing.
Yea that was my exact experience to a tee, same with the power button. Your aftermarket WiiU Pro controller won't work tho, they never did. I was testing with the official WiiU Pro and it did semi-work the way I described. You're so close to resolving this! Good luck my man and if anything I can do to help let me know :)
 

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,986
Country
United States
@FIX94
ok so my mind is fried.
sd log reports wiidrc is inited
WiiDRC_ScanPads(); is working (returning true)
WiiDRC_Connected() is reporting true

but this line:
drc_btnsPressed = WiiDRC_ButtonsDown();
returns 57072 the first time only
after that its always zero

i have no idea why. but i'm very tired.

edit:drc_btnsHeld always reports 57072
 
Last edited by fledge68,
  • Like
Reactions: WesMods

WesMods

Well-Known Member
Member
Joined
May 4, 2016
Messages
193
Trophies
0
XP
1,945
Country
Canada
ok so my mind is fried.
sd log reports wiidrc is inited
WiiDRC_ScanPads(); is working (returning true)
WiiDRC_Connected() is reporting true

but this line:
drc_btnsPressed = WiiDRC_ButtonsDown();
returns 57072 the first time only
after that its always zero

i have no idea why. but i'm very tired.
Bless you dude for trying
 

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,986
Country
United States
@FIX94 @Cyan @GreyWolf @Wiimpathy
so looking at libwiidrc my understanding is the init process just sets a pointer to memory where __WiiDRC_SetI2CBuf is and a pointer to memory where __WiiDRC_SetDRCStateBuf is but only the first one is required for wiidrc to be inited. and that basically is a flag that at one point wiidrc was inited but if the wiidrc disconnects at some point for whatever reason that flag is still set as inited true. correct?

also i don't know what r569, r570, and r590 are (different releases of wiiu gamepad maybe?) but on r569 __WiiDRC_SetDRCStateBuf remains NULL and wiidrc connected always returns true if thats the case. i do see that fix94 noted that r569 can fail for now. how do we figure out if we have r569 unless i call WiiDRC_GetRawI2CAddr() but i see r569 and r570 are the same buff address.

also wiidrc connected i see invalidates 4 bytes of status buff (clearing for new content). and then return true if any of the status buf is not zero to signal that the wiiu drc is connected. correct?

i have tried to add wiidrc code to wiiflow lite but its not working. wiidrc inited and connected both report true but getting buttens down and held return nothing. my theory is that after the initial wiidrc init for some reason its disconnecting but wiidrc inited flag is still set true and connected still return true. so thats why i'm not getting any button data. any idea what would cause it wiiflow lite to lose connection with wii u drc? does AHBPROT need to be disabled and how do you apply it to IOS255? is there something special i need to do to the wfl forwarder code to make sure its applied to IOS255?

thanks in advance for any help.

eidt: i also see that calling wiidrc init again won't do anything because the flag is already set.
 
Last edited by fledge68,

FIX94

Former Staff
Former Staff
Joined
Dec 3, 2009
Messages
7,284
Trophies
0
Age
30
Location
???
XP
11,248
Country
Germany
so looking at libwiidrc my understanding is the init process just sets a pointer to memory where __WiiDRC_SetI2CBuf is and a pointer to memory where __WiiDRC_SetDRCStateBuf is but only the first one is required for wiidrc to be inited. and that basically is a flag that at one point wiidrc was inited but if the wiidrc disconnects at some point for whatever reason that flag is still set as inited true. correct?
DRCStateBuf is set once by IOS when wii vc boots up, its true when you selected to play with the gamepad and false when you chose to use normal wiimotes.
also i don't know what r569, r570, and r590 are (different releases of wiiu gamepad maybe?) but on r569 __WiiDRC_SetDRCStateBuf remains NULL and wiidrc connected always returns true if thats the case. i do see that fix94 noted that r569 can fail for now. how do we figure out if we have r569 unless i call WiiDRC_GetRawI2CAddr() but i see r569 and r570 are the same buff address.
The version depends on the wii vc title used, they made special IOS just for wii vc so things like drive redirect and wiimote redirect can even be possible, nfs2iso2nfs pretty much relies on r590 anyways so you dont have to worry about that, I've added those extra patches just in case some day people used different wii vc titles for some reason but that seems to not have happened.
also wiidrc connected i see invalidates 4 bytes of status buff (clearing for new content). and then return true if any of the status buf is not zero to signal that the wiiu drc is connected. correct?
Well, it will only really report if it was connected when it was booted up if I remember right, so it wont really change anymore I think, the whole IOS code is pretty weird and hacky that nintendo wrote up.
i have tried to add wiidrc code to wiiflow lite but its not working. wiidrc inited and connected both report true but getting buttens down and held return nothing.
This probably means when nfs2iso2nfs was used to create the wii vc title that -passthrough was not set as an option, that option will make it so wiimotes can still be used when you say that you want to use the gamepad for controls and also applies extra patches that then allows libwiidrc to make use of the gamepad data, without that patch enabled it will not get the data from IOS and read out as 0 as you are experiencing.
does AHBPROT need to be disabled and how do you apply it to IOS255? is there something special i need to do to the wfl forwarder code to make sure its applied to IOS255?
just make sure -homebrew is used with nfs2iso2nfs and everything should be good, that automatically takes care of AHBPROT.
 
  • Like
Reactions: sdoc96 and GreyWolf

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,986
Country
United States
DRCStateBuf is set once by IOS when wii vc boots up, its true when you selected to play with the gamepad and false when you chose to use normal wiimotes.

The version depends on the wii vc title used, they made special IOS just for wii vc so things like drive redirect and wiimote redirect can even be possible, nfs2iso2nfs pretty much relies on r590 anyways so you dont have to worry about that, I've added those extra patches just in case some day people used different wii vc titles for some reason but that seems to not have happened.

Well, it will only really report if it was connected when it was booted up if I remember right, so it wont really change anymore I think, the whole IOS code is pretty weird and hacky that nintendo wrote up.

This probably means when nfs2iso2nfs was used to create the wii vc title that -passthrough was not set as an option, that option will make it so wiimotes can still be used when you say that you want to use the gamepad for controls and also applies extra patches that then allows libwiidrc to make use of the gamepad data, without that patch enabled it will not get the data from IOS and read out as 0 as you are experiencing.

just make sure -homebrew is used with nfs2iso2nfs and everything should be good, that automatically takes care of AHBPROT.
thanks so much for the reply. good info there. i'm assuming teconmoons app set those for me but maybe it doesnt.
 

FIX94

Former Staff
Former Staff
Joined
Dec 3, 2009
Messages
7,284
Trophies
0
Age
30
Location
???
XP
11,248
Country
Germany
thanks so much for the reply. good info there. i'm assuming teconmoons app set those for me but maybe it doesnt.
it probably did not set the passthrough flag to what is required for libwiidrc which would explain your issues, once you manually switch it over to I guess its non-default state it should be fine. personally I never used it so I have no clue how it really works to be honest, always built titles myself.
 

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,986
Country
United States
it probably did not set the passthrough flag to what is required for libwiidrc which would explain your issues, once you manually switch it over to I guess its non-default state it should be fine. personally I never used it so I have no clue how it really works to be honest, always built titles myself.
thanks for the info. too bad i don't know how to do it myself. :(
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,986
Country
United States
for those who want wiiu wiivc and gamepad controls.

here's wiiflow lite r1158 - http://www.mediafire.com/file/emi176a35nz3u5d/boot.dol/file

added libwiidrc which means you can now inject wiiflow lite into a wii vc game and use the wii u gamepad. better yet, inject the wiiflow forwarder boot.dol into a wii vc game so when future updates come out you just replace the boot.dol in apps/wiiflow_lite folder. as for the wiiflow lite forwarder boot.dol i'm not sure if i can post it on here. you should be able to extract from the wiiflow lite forwarder channel.

notes:
no USB. only SD card.
no wii games or emunand games. even if they are on SD card. they both require a cIOS not IOS255.
added an error message if you try to launch a wii or emunand game.
real nand games should work. thanks to Fix94's patch that's used in his channel booter and usbloadergx
gamecube games on SD work with Nintendont
plugin games on SD work as well.
launching homebrew might work (didn't test and it depends on the homebrew and if it uses cios or IOS58)
all game types launched will not return to wiiflow lite. if you exit them they will return you to the wiiu menu login or system menu. can't do anything about it. might be able to make a new stub bin for wiivc that would launch apps/wiiflow_lite boot.dol. but not sure if thats possible.

oh and the mouse pointer moves up, down, and diagonal.

thanks to Fix94 for liibwiidrc, the nand channels patch, and other helpful info.
thanks to Cyan and his usbloader gx libwiidrc code which helped immensely.
thanks to WesMods for testing and believing in me.

and yes i will officially release this soon. as well as the wfl as wiiflow version.
 
Last edited by fledge68,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    Yea is sad. His 2 movies were good. Informative about our food industry.
  • BigOnYa @ BigOnYa:
    This was one of the craziest movies I've seen about our food industry, lots of stuff I didn't know. A must see. https://youtu.be/OqzjC-ENrl8?si=GYxmdY5nShzGniVi
  • OctoAori20 @ OctoAori20:
    Oh, that dude?
  • OctoAori20 @ OctoAori20:
    I stopped believing or caring about that dude when I found out about some of the more questionable nonsense he did in his life.
  • BigOnYa @ BigOnYa:
    Like what? I didn't know or hear.
  • K3Nv2 @ K3Nv2:
    You mean like every famous person that ever existed
    +1
  • K3Nv2 @ K3Nv2:
    I get so tired of hearing oh I liked him until...
  • OctoAori20 @ OctoAori20:
    I just know dude was a chronic alcoholic and such.
  • BigOnYa @ BigOnYa:
    I've been to his chicken restaurant he started in his 2nd movie, Holy Chicken, was pretty good. It is only 15-20 miles from me in Ohio. It only lasted 1 yr or so then closed tho.
  • OctoAori20 @ OctoAori20:
    There are very few people I just have just an immense dislike of and he's one of those very few people, the only other example is Gene Simmons. My musician uncle on my mother's side of the family actually met Gene once during some event and said he was the most unpleasant person to be around.
  • K3Nv2 @ K3Nv2:
    I met myself once turns out that guy is a giant piece of shit that doesn't deserve any of my respect
  • BigOnYa @ BigOnYa:
    Damn alcoholics! (Sshhh- Opens another beer)
  • OctoAori20 @ OctoAori20:
    Agreed, Ken
  • OctoAori20 @ OctoAori20:
    I can't say I've ever tried even a sip of beer tbh-
  • K3Nv2 @ K3Nv2:
    You met yourself also and is a giant piece of shit?
    +1
  • OctoAori20 @ OctoAori20:
    Then again, I don't think I'd really enjoy it //shrug
  • OctoAori20 @ OctoAori20:
    I'm sure it's an acquired taste :P
  • K3Nv2 @ K3Nv2:
    Poor lad can never enjoy the amazing taste of four loko
    +1
  • BigOnYa @ BigOnYa:
    Root beer is a gateway drink, don't ever try it either.
  • K3Nv2 @ K3Nv2:
    @BigOnYa, don't you love how smooth MD20 is
  • BigOnYa @ BigOnYa:
    Mad dog 20 20? Oh yea fixed the typo. I haven't seen that or had forever. Do they still make it?
  • K3Nv2 @ K3Nv2:
    I think it's why I'm alive
    +1
  • BigOnYa @ BigOnYa:
    What happens if when playing Paper Mario, you start a fire in-game?
    K3Nv2 @ K3Nv2: https://youtu.be/vja8uoOy5XE?si=d2qo7jYK9TiyaOZ2 +1