Hacking WiiFlow - an open source GUI USB-Loader

  • Thread starter Thread starter zorglub07
  • Start date Start date
  • Views Views 3,102,600
  • Replies Replies 16,228
  • Likes Likes 6
@[member='thevoiceover'], sorry bud I don't use devo, everything I own works perfect with DM.. if I owned any audio streaming games than yea I would use it, that or if I still had my copy of PSO Episode I&II plus. Sadly I never kept my copy cuz I'm an idiot.

@[member='fix94'] nice touch with r666 finally got around to seeing it in action, nice and eerie lol. I don't know if this is a bug or not but does anyone else have issues with DUTag not updating. I noticed it for a while now and I'm certain I have it set up correctly since it used to work for me many many revisions ago. I'm not sure if DUTag itself having issues but is there anything I can do to help troubleshoot the issue? Would providing a wifi or SD log help at all?

I was going to try devolution and let you know about the SD card issue (even updated the devolution dol and the loader.bin) but Gamecube games seem to be broken for me. Devolution nor Dios-Mios seem to be working through the WiiFlow, however, Devolution from the HB channel works as works fine as does FIX94's Dios-Mios booter.... Hmmmmm... now that I look at it, the WiiFlow GC options settings is only 2 pages long now... NMM, No disc patch are not there anymore.. I guess that I didn't notice it. Also now when I Exit to Neek2o, I get the flashing blue light and no code dump. I had to try it. Running r672 compiled with the built in terminal in Coda 2.
I've been playing PSO I&II and Beyond Good & Evil today with Dios-MIOS and self-compiled r672, so I know for sure that GC launching is not broken. If you've added any GC games to your USB make sure while in GC view to manually reload cache. Other than that all I can say is try to re-compile your dol and re-launch your games.
Ok you're right.. it looks like somehow the line in my wiiflow.ini got messed up = dml_r52+= got set to no ....??? ok DIOS-MIOS is back and running again!
Now Devolution Blackscreens through the WiiFlow with Starfox Assault ( and that's even WITH the SD Card in) It used to work.
 
@[member='thevoiceover'], sorry bud I don't use devo, everything I own works perfect with DM.. if I owned any audio streaming games than yea I would use it, that or if I still had my copy of PSO Episode I&II plus. Sadly I never kept my copy cuz I'm an idiot.

I've been playing PSO I&II and Beyond Good & Evil today with Dios-MIOS and self-compiled r672, so I know for sure that GC launching is not broken. If you've added any GC games to your USB make sure while in GC view to manually reload cache. Other than that all I can say is try to re-compile your dol and re-launch your games.

Bummer, Well maybe you will find it around again and pick it up for a good price ;) I did try to reload cache in GC mode and it didn't do the trick.. I am pretty sure this is some sort of "static" issue going on (even though I can't see it in how it handles loader.bin.) I am sure someone more trained could spot this right away as I am pretty sure it is a VALID bug as I tried it on another Wii I have and got the same thing.. I am hoping for more escalation as it would be nice to move to a one loader solution for DM and Devoultion.
 
in 672 the wait logo becomes weird and corrupted!
was looking just fine in older revisions.
"Exit to" still working as it should



Edit: I found out while testing Wiiware and emunands during the past 3 days that some wiiware work exclusively on either Pal or NTSc nands (ex Bomberman Blast & You me and the cube)
this is not affected bu neek2o version used, video modes forcing, region switching, patching and IOS selection!!

So this might be the tip of the iceberg of a deeper issue.
Given that all these games run just fine with other loaders by forcing video mode, this is for sure a Wiiflow/neek2o problem with forcing video modes correctly.
So this prblem has to addressed and this video mode stuff looked at one more time.
Have a nice day
:)
 
Am playing around with plugins for the first time in a while. I have my roms segregated into folders like this:

usb:\fceugz\roms\Other versions\
usb:\fceugz\roms\Other versions\2 Player Games
usb:\fceugz\roms\Other versions\Different Funny Versions of Nintendo Games
usb:\fceugz\roms\Other versions\Non USA Versions
usb:\fceugz\roms\Other versions\Unlicensed
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Game Demo's
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Games
usb:\fceugz\roms\USA Retail\
usb:\fceugz\roms\USA Retail\0-100000000
usb:\fceugz\roms\USA Retail\A
usb:\fceugz\roms\USA Retail\B
...
usb:\fceugz\roms\USA Retail\Z

It doesn't look like Wiiflow is scanning all the subdirectories for games but just the first 1. If I set the plugin to point to usb:\fceugz\roms\USA Retail\ instead of usb:\fceugz\roms\ it scans the 0-100000, A, B etc folders and builds the list of those games.

If there a way to force it to scan deeper so I can keep my logical folder structure?

TIA
 
Just wanted to say thanks to Fix and Maxternal for the new 'B' button implementation.

EDIT: and also particular thanks to mr fix94 for wiiflow's general loveliness.
 
Devolution doesn't seem to be working for me through the WiiFlow. I even re ripped the game with cleanrip. and renamed it to "game.iso" and put it in a sub folder in the USB1/games folder. I have loader.bin in the USB2/wiiflow folder. (where it's always worked from before)
So I went and tested cfg-loader and usbloader-gx and they both boot the game fine when set to Devolution. I did update the devolution.dol as well as the loader.bin from the source
Dios-Mios is working great but devolution just boots to a black screen with no HD activity needing a hard reset.
Is loader.bin only required to be in the /wiiflow folder? Or do I need to move or copy it somewhere else?
It was working before with this setup....
 
Just wanted to say thanks to Fix and Maxternal for the new 'B' button implementation.

EDIT: and also particular thanks to mr fix94 for wiiflow's general loveliness.
ummm .... hello? maybe you should look at the wiiflow source log a little better. I believe it says Fledge68 for r668. Not to take anything away from Fix who yes is awesome. But he didn't help me in any way - i figured it out on my own believe it or not. :ha:
 
  • Like
Reactions: 8 people
Devolution doesn't seem to be working for me through the WiiFlow. I even re ripped the game with cleanrip. and renamed it to "game.iso" and put it in a sub folder in the USB1/games folder. I have loader.bin in the USB2/wiiflow folder. (where it's always worked from before)
So I went and tested cfg-loader and usbloader-gx and they both boot the game fine when set to Devolution. I did update the devolution.dol as well as the loader.bin from the source
Dios-Mios is working great but devolution just boots to a black screen with no HD activity needing a hard reset.
Is loader.bin only required to be in the /wiiflow folder? Or do I need to move or copy it somewhere else?
It was working before with this setup....


I have similar problem except it only works for me when loader.bin is on the SD. I'm trying to get it to work without needing an SD. I assumed since it still works on configusb, it would work on Wiiflow - but it doesn't for me.

I get this log from wifigecko app when trying to launch
Loading items of dml view from usb1

Loading files containing boot.bin|.iso in usb1:/games
Database file: usb1:/wiiflow/cache/lists/usb1_games.db
update_games=0 update_homebrew=0 update_dml=0, update_emu=0
usb1:/games
Games found: 5
Wait Message Thread: End
Coverflow started!
Coverflow stopped!
Exit WiiFlow called
Wait Message Thread: Start
Delay: 7, Images: 8
Launching game G5NEAF
Read Devolution Loader: "usb1:/wiiflow/loader.bin"
Devolution Engine r128 2012/08/22 00:10:08
Copyright © 2012 tueidj

Read ISO File: "usb1:/games/Namco 50th [G5NEAF]/game.iso"
MEM1_freesize(): 5033968
MEM2_freesize(): 18496928
SHND: Stopping sound thread
SHND: Stopped sound thread
Cleaning up video...
Wait Message Thread: End
Cleanup Coverflow

This is the same log I get when SD is in the drive and it works..

This is how CFG Loader (which works) currently handles loader for devo in gc.c (credits to author or cfg-load whom looks like softwiiv2)
// Devolution
static gconfig *DEVO_CONFIG = (gconfig*)0x80000020;

void DEVO_SetOptions(const char *path, u8 NMM)
{
struct stat st;
char full_path[256];
int data_fd;

stat(path, &st);
u8 *lowmem = (u8*)0x80000000;
FILE *iso_file = fopen(path, "rb");
if(iso_file)
{
printf("path=%s, iso found !!\n",path);
}
fread(lowmem, 1, 32, iso_file);
fclose(iso_file);

// fill out the Devolution config struct
memset(DEVO_CONFIG, 0, sizeof(*DEVO_CONFIG));
DEVO_CONFIG->signature = 0x3EF9DB23;
DEVO_CONFIG->version = 0x00000110;
DEVO_CONFIG->device_signature = st.st_dev;
DEVO_CONFIG->disc1_cluster = st.st_ino;

// For 2nd ios file
struct stat st2;
char disc2path[256];
strcpy(disc2path, path);
char *posz = (char *)NULL;
posz = strstr(disc2path, "game.iso");
if(posz != NULL)
strncpy(posz, "gam2.iso", 8);

iso_file = fopen(disc2path, "rb");
if(iso_file)
{
printf("path=%s, iso found !!\n",disc2path);
//sleep(5);
stat(disc2path, &st2);
fread(lowmem, 1, 32, iso_file);
fclose(iso_file);
DEVO_CONFIG->disc2_cluster = st2.st_ino;
}

// make sure these directories exist, they are required for Devolution to function correctly
snprintf(full_path, sizeof(full_path), "usb:/apps");
fsop_MakeFolder(full_path);
snprintf(full_path, sizeof(full_path), "usb:/apps/gc_devo");
fsop_MakeFolder(full_path);

// find or create a 16MB memcard file for emulation
// this file can be located anywhere since it's passed by cluster, not name
// it must be at least 16MB though
snprintf(full_path, sizeof(full_path), "%s/memcard.bin", USBLOADER_PATH);

// check if file doesn't exist or is less than 16MB
if(stat(full_path, &st) == -1 || st.st_size < 16device_signature = st.st_dev;
DEVO_CONFIG->disc1_cluster = st.st_ino;

// If 2nd iso file tell Devo about it
strcpy(iso2path, isopath);
char *ptz = (char *)NULL;
ptz = strstr(iso2path, "game.iso");
if(ptz != NULL)
strncpy(ptz, "gam1.iso", 8);

f = fopen(iso2path, "rb");
if(f)
{
gprintf("Found 2nd iso file for multi DVD game: \"%s\"\n", iso2path);
stat(iso2path, &st);
DEVO_CONFIG->disc2_cluster = st.st_ino;
fclose(f);
}

// make sure these directories exist, they are required for Devolution to function correctly
char full_path[256];
snprintf(full_path, sizeof(full_path), "%s:/apps", partition);
fsop_MakeFolder(full_path);
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo", partition);
fsop_MakeFolder(full_path);

if(memcard_emu)
{
// find or create a 16MB memcard file for emulation
// this file can be located anywhere since it's passed by cluster, not name
// it must be at least 16MB though
if(gameID[3] == 'J') //Japanese Memory Card
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo/memcard_jap.bin", partition);
else
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo/memcard.bin", partition);

// check if file doesn't exist or is less than 16MB
if(stat(full_path, &st) == -1 || st.st_size < 16
 
  • Like
Reactions: 1 person
Devolution doesn't seem to be working for me through the WiiFlow. I even re ripped the game with cleanrip. and renamed it to "game.iso" and put it in a sub folder in the USB1/games folder. I have loader.bin in the USB2/wiiflow folder. (where it's always worked from before)
So I went and tested cfg-loader and usbloader-gx and they both boot the game fine when set to Devolution. I did update the devolution.dol as well as the loader.bin from the source
Dios-Mios is working great but devolution just boots to a black screen with no HD activity needing a hard reset.
Is loader.bin only required to be in the /wiiflow folder? Or do I need to move or copy it somewhere else?
It was working before with this setup....


I have similar problem except it only works for me when loader.bin is on the SD. I'm trying to get it to work without needing an SD. I assumed since it still works on configusb, it would work on Wiiflow - but it doesn't for me.

I get this log from wifigecko app when trying to launch
Loading items of dml view from usb1

Loading files containing boot.bin|.iso in usb1:/games
Database file: usb1:/wiiflow/cache/lists/usb1_games.db
update_games=0 update_homebrew=0 update_dml=0, update_emu=0
usb1:/games
Games found: 5
Wait Message Thread: End
Coverflow started!
Coverflow stopped!
Exit WiiFlow called
Wait Message Thread: Start
Delay: 7, Images: 8
Launching game G5NEAF
Read Devolution Loader: "usb1:/wiiflow/loader.bin"
Devolution Engine r128 2012/08/22 00:10:08
Copyright © 2012 tueidj

Read ISO File: "usb1:/games/Namco 50th [G5NEAF]/game.iso"
MEM1_freesize(): 5033968
MEM2_freesize(): 18496928
SHND: Stopping sound thread
SHND: Stopped sound thread
Cleaning up video...
Wait Message Thread: End
Cleanup Coverflow

This is the same log I get when SD is in the drive and it works..

This is how CFG Loader (which works) currently handles loader for devo in gc.c (credits to author or cfg-load whom looks like softwiiv2)
// Devolution
static gconfig *DEVO_CONFIG = (gconfig*)0x80000020;

void DEVO_SetOptions(const char *path, u8 NMM)
{
struct stat st;
char full_path[256];
int data_fd;

stat(path, &st);
u8 *lowmem = (u8*)0x80000000;
FILE *iso_file = fopen(path, "rb");
if(iso_file)
{
printf("path=%s, iso found !!\n",path);
}
fread(lowmem, 1, 32, iso_file);
fclose(iso_file);

// fill out the Devolution config struct
memset(DEVO_CONFIG, 0, sizeof(*DEVO_CONFIG));
DEVO_CONFIG->signature = 0x3EF9DB23;
DEVO_CONFIG->version = 0x00000110;
DEVO_CONFIG->device_signature = st.st_dev;
DEVO_CONFIG->disc1_cluster = st.st_ino;

// For 2nd ios file
struct stat st2;
char disc2path[256];
strcpy(disc2path, path);
char *posz = (char *)NULL;
posz = strstr(disc2path, "game.iso");
if(posz != NULL)
strncpy(posz, "gam2.iso", 8);

iso_file = fopen(disc2path, "rb");
if(iso_file)
{
printf("path=%s, iso found !!\n",disc2path);
//sleep(5);
stat(disc2path, &st2);
fread(lowmem, 1, 32, iso_file);
fclose(iso_file);
DEVO_CONFIG->disc2_cluster = st2.st_ino;
}

// make sure these directories exist, they are required for Devolution to function correctly
snprintf(full_path, sizeof(full_path), "usb:/apps");
fsop_MakeFolder(full_path);
snprintf(full_path, sizeof(full_path), "usb:/apps/gc_devo");
fsop_MakeFolder(full_path);

// find or create a 16MB memcard file for emulation
// this file can be located anywhere since it's passed by cluster, not name
// it must be at least 16MB though
snprintf(full_path, sizeof(full_path), "%s/memcard.bin", USBLOADER_PATH);

// check if file doesn't exist or is less than 16MB
if(stat(full_path, &st) == -1 || st.st_size < 16device_signature = st.st_dev;
DEVO_CONFIG->disc1_cluster = st.st_ino;

// If 2nd iso file tell Devo about it
strcpy(iso2path, isopath);
char *ptz = (char *)NULL;
ptz = strstr(iso2path, "game.iso");
if(ptz != NULL)
strncpy(ptz, "gam1.iso", 8);

f = fopen(iso2path, "rb");
if(f)
{
gprintf("Found 2nd iso file for multi DVD game: \"%s\"\n", iso2path);
stat(iso2path, &st);
DEVO_CONFIG->disc2_cluster = st.st_ino;
fclose(f);
}

// make sure these directories exist, they are required for Devolution to function correctly
char full_path[256];
snprintf(full_path, sizeof(full_path), "%s:/apps", partition);
fsop_MakeFolder(full_path);
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo", partition);
fsop_MakeFolder(full_path);

if(memcard_emu)
{
// find or create a 16MB memcard file for emulation
// this file can be located anywhere since it's passed by cluster, not name
// it must be at least 16MB though
if(gameID[3] == 'J') //Japanese Memory Card
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo/memcard_jap.bin", partition);
else
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo/memcard.bin", partition);

// check if file doesn't exist or is less than 16MB
if(stat(full_path, &st) == -1 || st.st_size < 16
 
Am playing around with plugins for the first time in a while. I have my roms segregated into folders like this:

usb:\fceugz\roms\Other versions\
usb:\fceugz\roms\Other versions\2 Player Games
usb:\fceugz\roms\Other versions\Different Funny Versions of Nintendo Games
usb:\fceugz\roms\Other versions\Non USA Versions
usb:\fceugz\roms\Other versions\Unlicensed
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Game Demo's
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Games
usb:\fceugz\roms\USA Retail\
usb:\fceugz\roms\USA Retail\0-100000000
usb:\fceugz\roms\USA Retail\A
usb:\fceugz\roms\USA Retail\B
...
usb:\fceugz\roms\USA Retail\Z

It doesn't look like Wiiflow is scanning all the subdirectories for games but just the first 1. If I set the plugin to point to usb:\fceugz\roms\USA Retail\ instead of usb:\fceugz\roms\ it scans the 0-100000, A, B etc folders and builds the list of those games.

If there a way to force it to scan deeper so I can keep my logical folder structure?

TIA
I think we just went over this a couple of posts back and extended_list_check=yes should scan subfolders deeper but I don't know of it applies to emulators or just wii games and I believe it's mostly for NTFS due to a bug in the lib.
 
Am playing around with plugins for the first time in a while. I have my roms segregated into folders like this:

usb:\fceugz\roms\Other versions\
usb:\fceugz\roms\Other versions\2 Player Games
usb:\fceugz\roms\Other versions\Different Funny Versions of Nintendo Games
usb:\fceugz\roms\Other versions\Non USA Versions
usb:\fceugz\roms\Other versions\Unlicensed
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Game Demo's
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Games
usb:\fceugz\roms\USA Retail\
usb:\fceugz\roms\USA Retail\0-100000000
usb:\fceugz\roms\USA Retail\A
usb:\fceugz\roms\USA Retail\B
...
usb:\fceugz\roms\USA Retail\Z

It doesn't look like Wiiflow is scanning all the subdirectories for games but just the first 1. If I set the plugin to point to usb:\fceugz\roms\USA Retail\ instead of usb:\fceugz\roms\ it scans the 0-100000, A, B etc folders and builds the list of those games.

If there a way to force it to scan deeper so I can keep my logical folder structure?

TIA
I think we just went over this a couple of posts back and extended_list_check=yes should scan subfolders deeper but I don't know of it applies to emulators or just wii games and I believe it's mostly for NTFS due to a bug in the lib.
Ok, cool I'll try that but I think that option is only in the regular Games section of the ini. Will check to see if it works on the emu side.

Edit - I checked and it didn't have an effect on the emulation side.

Also - anyone else having a problem with emu mode not saving the coverflow you select?
 
as far as coverflow not sving no problem here.
my problem is when switching to different views, an the wait logo locks up.( can still here the poping noises, an selecting. but nothing but the wait logo is showing.) have to do a hard reset.
on version 646.. haven't checked google code in a couple of days for update, will do this later when i have time to play with this stuff more.
@[member='fledge68'], i tried what you said to do with icon's on my theme. an i'm still getting the same results. the only button now that works is the "channels button"( switching to different views).
i can send you my ini. later if that will help things out. but im starting to think the only "sensitive spot" that works with all the buttons is the bottom half.( were the icons currently are.) an that sucks.
 
I too am having an issue with theming. I'm trying to convert a theme and the current [GAME/ZONES] placement has buttons over the banner. After I got it. where I wanted it, I wasn't able to click on the banner. On another note, I've noticed alot of banner corruption going on with 672.
 
On another note, I've noticed alot of banner corruption going on with 672.
Really? It would be great if you can find out the exact rev where that started, and also may try r673 (I'll make r674 in a bit as well) I did not have any banner corruption since ages now...
 
@[member='drakorex'] GAME/TOOGLE_BTN is the transparent button on top of the banner video. that button is included in GAME/ZONE. so GAME/TOOGLE_BTN needs to be in the GAME/ZONE area or else it won't show up and you won't be able to click on the banner video. so make sure you GAME/ZONE area includes the area where your banner video is. Maybe Fix should move GAME/TOOGLE_BTN out of GAME/ZONE and have it show all the time.

@[member='shortz1994'] send me your theme.ini and folder and a little explanation of what you want it to do and I'll take a look at it. I like what I've seen so I would love to help you get it working.
 
But the way this and other themes used to work is the buttond would be hidden until you hover over that area. I'd like to keep that function if pozsible. Be nice if I could separate the banner from the zone and still use it.
 
But the way this and other themes used to work is the buttond would be hidden until you hover over that area. I'd like to keep that function if pozsible. Be nice if I could separate the banner from the zone and still use it.
That's what I'm saying - if you hover over the GAME/ZONE area the banner button should appear. but you must have change the shape or position of GAME/ZONE so that when you move your pointer to the banner to click it your pointer is then out of the ZONE and the button is hidden. what are the x,y, w, h of your GAME/ZONE?
 
Not sure, don't have it with me at the moment. If it helps, it's the Orange theme, and I moved the buttons to the bottom.
 

Site & Scene News

Popular threads in this forum