Hacking WiiFlow Lite

  • Thread starter Thread starter fledge68
  • Start date Start date
  • Views Views 1,032,054
  • Replies Replies 4,833
  • Likes Likes 66
Is wiiflow lite able to read my gamecube memory card? I used it fine for usb loader gx but for some reason it wont load for wiiflow lite

Wii USB loaders do not interact with GC memory card files. You'll have to check the support threads for whatever GC loader you're using.
 
  • Like
Reactions: Old-Skool
Is wiiflow lite able to read my gamecube memory card? I used it fine for usb loader gx but for some reason it wont load for wiiflow lite
greywolf is right.

but if you are talking about having nintendont use your real memcard - you must edit wiiflow_lite.ini.
look under [GAMECUBE]
find emu_memcard= and set it to 0
and save.

then when you launch a gamecube game via wiiflow lite it will tell nintendont to not use a emu memcard and use the real memcard instead.
 
  • Like
Reactions: Old-Skool
Last edited by kaisersozeh,
I compiled libogc from source but was still using r30-1. You're right there's an error in Gekko.c, too few arguments? Maybe nanosleep(&timeon, NULL) but I'm not sure, I'll pass on this one. All the latest devkit changes have been a pain for no real features/improvements compared with other revisions.
 
I compiled libogc from source but was still using r30-1. You're right there's an error in Gekko.c, too few arguments? Maybe nanosleep(&timeon, NULL) but I'm not sure, I'll pass on this one. All the latest devkit changes have been a pain for no real features/improvements compared with other revisions.
I think an update mashed up FTPII
- it used to work, now it doesn't
that's the same code used by WiiXplorer and Wiiflow....

Is there anything I can do to get it to compile in the meantime ? I could just wait for @fledge68 to reply with what he used.
 
Last edited by kaisersozeh,
I think an update mashed up FTPII
- it used to work, now it doesn't
that's the same code used by WiiXplorer and Wiiflow....

Is there anything I can do to get it to compile in the meantime ? I could just wait for @fledge68 to reply with what he used.
i haven't updated devkitpro or pacman or libogc. so i'm still using r30 and the libogc at that time. so if you get that error maybe you should make a copy of it somehow so i can see it. it should tell you what line and .c or .cpp file it occurred in.

edit: just looked at the link wiimpathy gave us. it appears that nanosleep had one argument but now has two. thats why it says too few arguments.

in gc/ogcsys.h
its been removed - int nanosleep(struct timespec *tb);

in timesupp.c it's been added - int nanosleep(const struct timespec *tb, struct timespec *rem)

edit #2: it seems all you have to do is add a NULL like this - nanosleep(&timeon, NULL);
 
Last edited by fledge68,
  • Like
Reactions: kaisersozeh
i haven't updated devkitpro or pacman or libogc. so i'm still using r30 and the libogc at that time. so if you get that error maybe you should make a copy of it somehow so i can see it. it should tell you what line and .c or .cpp file it occurred in.
Thanks Fledge
Code:
Gekko.c
C:/sources/wiiflow/source/hw/Gekko.c: In function 'light_loop':
C:/sources/wiiflow/source/hw/Gekko.c:103:3: error: too few arguments to function 'nanosleep'
   nanosleep(&timeon);
   ^~~~~~~~~
In file included from C:/devkitPro/libogc/include/ogc/system.h:43,
                 from C:/devkitPro/libogc/include/gccore.h:62,
                 from C:/devkitPro/libogc/include/ogcsys.h:4,
                 from C:/sources/wiiflow/source/hw/Gekko.c:24:
c:\devkitpro\devkitppc\powerpc-eabi\include\time.h:210:5: note: declared here
 int nanosleep (const struct timespec  *rqtp, struct timespec *rmtp);
     ^~~~~~~~~
C:/sources/wiiflow/source/hw/Gekko.c:107:3: error: too few arguments to function 'nanosleep'
   nanosleep(&timeoff);
   ^~~~~~~~~
In file included from C:/devkitPro/libogc/include/ogc/system.h:43,
                 from C:/devkitPro/libogc/include/gccore.h:62,
                 from C:/devkitPro/libogc/include/ogcsys.h:4,
                 from C:/sources/wiiflow/source/hw/Gekko.c:24:
c:\devkitpro\devkitppc\powerpc-eabi\include\time.h:210:5: note: declared here
 int nanosleep (const struct timespec  *rqtp, struct timespec *rmtp);
     ^~~~~~~~~
make[2]: *** [/opt/devkitpro/devkitPPC/base_rules:18: Gekko.o] Error 1
make[1]: *** [/c/sources/wiiflow/Makefile.main:144: build] Error 2
make: *** [Makefile:15: all] Error 2
I'd made the changes to ogcsys.h from https://github.com/devkitPro/libogc/commit/b4ad94705b8d9d68fb51014615582b3b9f9ae836
 
Thanks Fledge
Code:
Gekko.c
C:/sources/wiiflow/source/hw/Gekko.c: In function 'light_loop':
C:/sources/wiiflow/source/hw/Gekko.c:103:3: error: too few arguments to function 'nanosleep'
   nanosleep(&timeon);
   ^~~~~~~~~
In file included from C:/devkitPro/libogc/include/ogc/system.h:43,
                 from C:/devkitPro/libogc/include/gccore.h:62,
                 from C:/devkitPro/libogc/include/ogcsys.h:4,
                 from C:/sources/wiiflow/source/hw/Gekko.c:24:
c:\devkitpro\devkitppc\powerpc-eabi\include\time.h:210:5: note: declared here
 int nanosleep (const struct timespec  *rqtp, struct timespec *rmtp);
     ^~~~~~~~~
C:/sources/wiiflow/source/hw/Gekko.c:107:3: error: too few arguments to function 'nanosleep'
   nanosleep(&timeoff);
   ^~~~~~~~~
In file included from C:/devkitPro/libogc/include/ogc/system.h:43,
                 from C:/devkitPro/libogc/include/gccore.h:62,
                 from C:/devkitPro/libogc/include/ogcsys.h:4,
                 from C:/sources/wiiflow/source/hw/Gekko.c:24:
c:\devkitpro\devkitppc\powerpc-eabi\include\time.h:210:5: note: declared here
 int nanosleep (const struct timespec  *rqtp, struct timespec *rmtp);
     ^~~~~~~~~
make[2]: *** [/opt/devkitpro/devkitPPC/base_rules:18: Gekko.o] Error 1
make[1]: *** [/c/sources/wiiflow/Makefile.main:144: build] Error 2
make: *** [Makefile:15: all] Error 2
I'd made the changes to ogcsys.h from https://github.com/devkitPro/libogc/commit/b4ad94705b8d9d68fb51014615582b3b9f9ae836
i edited my post above twice. read both of them for your fix.
 
  • Like
Reactions: kaisersozeh
sorry i didn't see your fix for nanosleep.

as for powf thats in banner/animator.cpp

apparently there's c math function pow to raise a number to the given power and powf is the floating point equivalent.

i assume that means it was removed from ppc or libogc or its in a different area which means a new include <> needs to be added
 
sorry i didn't see your fix for nanosleep.

as for powf thats in banner/animator.cpp

apparently there's c math function pow to raise a number to the given power and powf is the floating point equivalent.

i assume that means it was removed from ppc or libogc or its in a different area which means a new include <> needs to be added

edit: try changing #include <math.h>
to #include <cmath>
 
Last edited by fledge68,
Yes, I looked at the newlib commits but don't see anything related to powf. There's no undefined with pow. Maybe an include (it's not cmath) or something else oh well I need some sleep. Wintermute added some good new functions with scandir etc.
 
These are the changes greywolf gave me for the nanosleep error in the quake code
Code:
src/generic/quakedef.h line 191: Change ogcsys.h to gctypes.h
src/generic/view.c line 275: change powf() to pow()
src/wii/main.c line 37: change ogcsys.h to gctypes.h
Any use?
 
That's what I've done, change to pow. No problem in a homebrew I've tested. But not sure of the consequences if any. Have you tested the changes yourself?
 
That's what I've done, change to pow. No problem in a homebrew I've tested. But not sure of the consequences if any. Have you tested the changes yourself?
WIth the quake code - although I haven't built with the latest devkitpro changes - not sure how to go about finding the references to powf in wiiflow?
 
Yes. Change powf() to pow(). It's a template now.

If you replace ogcsys.h with gctypes.h and still get a warning or error with that source file try gccore.h instead.

The real nanosleep was added to devkitPPC's newlib recently and the old one hasn't been removed from libogc yet.
 
  • Like
Reactions: kaisersozeh
Yes, I looked at the newlib commits but don't see anything related to powf. There's no undefined with pow. Maybe an include (it's not cmath) or something else oh well I need some sleep. Wintermute added some good new functions with scandir etc.
so you've gone to bed. i'll reply anyway.
i just read that when you use <cmath> you can use pow(#, #) for float, integer, double or whatever. if both #'s are float it returns float.
so change #include <math.h> to #include <cmath>
and change all powf to pow.

edit: i see i was ninja'd by greywolf :)
 
Last edited by fledge68,
  • Like
Reactions: kaisersozeh
Ok thanks, I've tried to compile Wiiflow lite but it's freezing at startup. Perhaps I've done something wrong completely unrelated. This time I'm going to bed.
 
  • Like
Reactions: kaisersozeh
i haven't updated devkitpro or pacman or libogc. so i'm still using r30 and the libogc at that time. so if you get that error maybe you should make a copy of it somehow so i can see it. it should tell you what line and .c or .cpp file it occurred in.

edit: just looked at the link wiimpathy gave us. it appears that nanosleep had one argument but now has two. thats why it says too few arguments.

in gc/ogcsys.h
its been removed - int nanosleep(struct timespec *tb);

in timesupp.c it's been added - int nanosleep(const struct timespec *tb, struct timespec *rem)

edit #2: it seems all you have to do is add a NULL like this - nanosleep(&timeon, NULL);
Made the changes, except this one ^ - get this error
Code:
fileOps.c
C:/sources/wiiflow/source/fileOps/fileOps.c:12:10: fatal error: cmath: No such file or directory
 #include <cmath>
          ^~~~~~~
compilation terminated.
make[2]: *** [/opt/devkitpro/devkitPPC/base_rules:18: fileOps.o] Error 1
make[1]: *** [/c/sources/wiiflow/Makefile.main:144: build] Error 2
make: *** [Makefile:15: all] Error 2
PS C:\sources\wiiflow>
I can't find a timesupp.c on my machine anywhere - or *timesup*
 

Site & Scene News

Popular threads in this forum