mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-11-25 12:46:53 +01:00
*fix bug in partition detection (at least for my HDD)
USB must deinit the device before re initting it or else it returns 0 games and what not. *add filter to skip __CFG_ in teh gamelist (i was told this is the ID6 for hermes' settings)
This commit is contained in:
parent
e44006330a
commit
b5653edcf4
@ -2,8 +2,8 @@
|
|||||||
<app version="1">
|
<app version="1">
|
||||||
<name> USB Loader GX</name>
|
<name> USB Loader GX</name>
|
||||||
<coder>USB Loader GX Team</coder>
|
<coder>USB Loader GX Team</coder>
|
||||||
<version>1.0 r878</version>
|
<version>1.0 r879</version>
|
||||||
<release_date>200912290325</release_date>
|
<release_date>200912300810</release_date>
|
||||||
<short_description>Loads games from USB-devices</short_description>
|
<short_description>Loads games from USB-devices</short_description>
|
||||||
<long_description>USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times.
|
<long_description>USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times.
|
||||||
The interactive GUI is completely controllable with WiiMote, Classic Controller or GC Controller.
|
The interactive GUI is completely controllable with WiiMote, Classic Controller or GC Controller.
|
||||||
|
147
source/main.cpp
147
source/main.cpp
@ -17,10 +17,12 @@
|
|||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <wiiuse/wpad.h>
|
#include <wiiuse/wpad.h>
|
||||||
//#include <debug.h>
|
//#include <debug.h>
|
||||||
extern "C" {
|
extern "C"
|
||||||
extern void __exception_setreload(int t);
|
{
|
||||||
|
extern void __exception_setreload(int t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#include <di/di.h>
|
#include <di/di.h>
|
||||||
#include <sys/iosupport.h>
|
#include <sys/iosupport.h>
|
||||||
|
|
||||||
@ -76,7 +78,8 @@ static void BootUpProblems()
|
|||||||
|
|
||||||
GuiImageData bootimageData(gxlogo_png);
|
GuiImageData bootimageData(gxlogo_png);
|
||||||
GuiImage bootimage(&bootimageData);
|
GuiImage bootimage(&bootimageData);
|
||||||
GuiText boottext(NULL, 20, (GXColor) {255, 255, 255, 255});
|
GuiText boottext(NULL, 20, (GXColor) {255, 255, 255, 255}
|
||||||
|
);
|
||||||
boottext.SetPosition(200, 240-1.2*bootimage.GetHeight()/2+250);
|
boottext.SetPosition(200, 240-1.2*bootimage.GetHeight()/2+250);
|
||||||
bootimage.SetPosition(320-1.2*bootimage.GetWidth()/2, 240-1.2*bootimage.GetHeight()/2);
|
bootimage.SetPosition(320-1.2*bootimage.GetWidth()/2, 240-1.2*bootimage.GetHeight()/2);
|
||||||
bootimage.SetScale(1.2);
|
bootimage.SetScale(1.2);
|
||||||
@ -89,7 +92,8 @@ static void BootUpProblems()
|
|||||||
|
|
||||||
time_t curtime;
|
time_t curtime;
|
||||||
time_t endtime = time(0) + 30;
|
time_t endtime = time(0) + 30;
|
||||||
do {
|
do
|
||||||
|
{
|
||||||
/*ret2 = IOS_ReloadIOSsafe(249);
|
/*ret2 = IOS_ReloadIOSsafe(249);
|
||||||
if (ret2 < 0) {
|
if (ret2 < 0) {
|
||||||
ret2 = IOS_ReloadIOSsafe(222);
|
ret2 = IOS_ReloadIOSsafe(222);
|
||||||
@ -105,9 +109,11 @@ static void BootUpProblems()
|
|||||||
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
|
USBDevice_deInit();
|
||||||
|
USBDevice_Init();
|
||||||
ret2 = WBFS_Init(WBFS_DEVICE_USB);
|
ret2 = WBFS_Init(WBFS_DEVICE_USB);
|
||||||
if (ret2 >= 0) {
|
if (ret2 >= 0)
|
||||||
|
{
|
||||||
boottext.SetText("Loading...");
|
boottext.SetText("Loading...");
|
||||||
bootimage.Draw();
|
bootimage.Draw();
|
||||||
boottext.Draw();
|
boottext.Draw();
|
||||||
@ -116,7 +122,8 @@ static void BootUpProblems()
|
|||||||
}
|
}
|
||||||
curtime = time(0);
|
curtime = time(0);
|
||||||
boottext.SetTextf("Waiting for your slow USB Device: %i secs...", int(endtime-curtime));
|
boottext.SetTextf("Waiting for your slow USB Device: %i secs...", int(endtime-curtime));
|
||||||
while(curtime == time(0)) {
|
while(curtime == time(0))
|
||||||
|
{
|
||||||
boottext.Draw();
|
boottext.Draw();
|
||||||
bootimage.Draw();
|
bootimage.Draw();
|
||||||
if (endtime-curtime<15)usbimage.Draw();
|
if (endtime-curtime<15)usbimage.Draw();
|
||||||
@ -124,33 +131,38 @@ static void BootUpProblems()
|
|||||||
}
|
}
|
||||||
} while((endtime-time(0)) > 0);
|
} while((endtime-time(0)) > 0);
|
||||||
|
|
||||||
if(ret2 < 0) {
|
/*if(ret2 < 0) {
|
||||||
boottext.SetText("ERROR: USB device could not be loaded!");
|
boottext.SetText("ERROR: USB device could not be loaded!");
|
||||||
usbimage.Draw();
|
usbimage.Draw();
|
||||||
bootimage.Draw();
|
bootimage.Draw();
|
||||||
boottext.Draw();
|
boottext.Draw();
|
||||||
Menu_Render();
|
Menu_Render();
|
||||||
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
///delete font to load up custom if set
|
///delete font to load up custom if set
|
||||||
if(fontSystem) {
|
if(fontSystem)
|
||||||
|
{
|
||||||
delete fontSystem;
|
delete fontSystem;
|
||||||
fontSystem = NULL;
|
fontSystem = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
unsigned int *xfb = NULL;
|
unsigned int *xfb = NULL;
|
||||||
|
|
||||||
void InitTextVideo () {
|
void InitTextVideo ()
|
||||||
gprintf("\nInitTextVideo ()");
|
{
|
||||||
if (textVideoInit){
|
gprintf("\nInitTextVideo ()");
|
||||||
|
if (textVideoInit)
|
||||||
|
{
|
||||||
gprintf("...0");
|
gprintf("...0");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
dbvideo=1;
|
dbvideo=1;
|
||||||
VIDEO_Init();
|
VIDEO_Init();
|
||||||
GXRModeObj *vmode = VIDEO_GetPreferredMode(NULL); // get default video mode
|
// get default video mode
|
||||||
|
GXRModeObj *vmode = VIDEO_GetPreferredMode(NULL);
|
||||||
|
|
||||||
// widescreen fix
|
// widescreen fix
|
||||||
VIDEO_Configure (vmode);
|
VIDEO_Configure (vmode);
|
||||||
@ -178,19 +190,22 @@ gprintf("\nInitTextVideo ()");
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char *argv[]) {
|
main(int argc, char *argv[])
|
||||||
|
{
|
||||||
setlocale(LC_ALL, "en.UTF-8");
|
setlocale(LC_ALL, "en.UTF-8");
|
||||||
geckoinit = InitGecko();
|
geckoinit = InitGecko();
|
||||||
|
|
||||||
if (hbcStubAvailable() || geckoinit) {
|
if (hbcStubAvailable() || geckoinit)
|
||||||
|
{
|
||||||
InitTextVideo();
|
InitTextVideo();
|
||||||
}
|
}
|
||||||
|
|
||||||
// DEBUG_Init(GDBSTUB_DEVICE_USB, 1);
|
// DEBUG_Init(GDBSTUB_DEVICE_USB, 1);
|
||||||
//_break();
|
//_break();
|
||||||
|
|
||||||
__exception_setreload(5);//auto reset code dump nobody gives us codedump info anyways.
|
__exception_setreload(5); //auto reset code dump nobody gives us codedump info anyways.
|
||||||
|
|
||||||
gprintf("\n\n------------------");
|
gprintf("\n\n------------------");
|
||||||
gprintf("\nUSB Loader GX rev%s",GetRev());
|
gprintf("\nUSB Loader GX rev%s",GetRev());
|
||||||
@ -201,7 +216,8 @@ main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
// This part is added, because we need a identify patched ios
|
// This part is added, because we need a identify patched ios
|
||||||
printf("\n\tReloading into ios 236");
|
printf("\n\tReloading into ios 236");
|
||||||
if (IOS_ReloadIOSsafe(236) < 0) {
|
if (IOS_ReloadIOSsafe(236) < 0)
|
||||||
|
{
|
||||||
printf("\n\tIOS 236 not found, reloading into 36");
|
printf("\n\tIOS 236 not found, reloading into 36");
|
||||||
IOS_ReloadIOSsafe(36);
|
IOS_ReloadIOSsafe(36);
|
||||||
}
|
}
|
||||||
@ -215,8 +231,10 @@ main(int argc, char *argv[]) {
|
|||||||
bool startupproblem = false;
|
bool startupproblem = false;
|
||||||
|
|
||||||
bool bootDevice_found=false;
|
bool bootDevice_found=false;
|
||||||
if (argc >= 1) {
|
if (argc >= 1)
|
||||||
if (!strncasecmp(argv[0], "usb:/", 5)) {
|
{
|
||||||
|
if (!strncasecmp(argv[0], "usb:/", 5))
|
||||||
|
{
|
||||||
strcpy(bootDevice, "USB:");
|
strcpy(bootDevice, "USB:");
|
||||||
bootDevice_found = true;
|
bootDevice_found = true;
|
||||||
} else if (!strncasecmp(argv[0], "sd:/", 4))
|
} else if (!strncasecmp(argv[0], "sd:/", 4))
|
||||||
@ -230,7 +248,7 @@ main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
printf("\n\tInitialize USB (wake up)");
|
printf("\n\tInitialize USB (wake up)");
|
||||||
|
|
||||||
USBDevice_Init();// seems enough to wake up some HDDs if they are in sleep mode when the loader starts (tested with WD MyPassport Essential 2.5")
|
USBDevice_Init(); // seems enough to wake up some HDDs if they are in sleep mode when the loader starts (tested with WD MyPassport Essential 2.5")
|
||||||
|
|
||||||
gprintf("\n\tChecking for stub IOS");
|
gprintf("\n\tChecking for stub IOS");
|
||||||
ios222rev = getIOSrev(0x00000001000000dell);
|
ios222rev = getIOSrev(0x00000001000000dell);
|
||||||
@ -241,7 +259,8 @@ main(int argc, char *argv[]) {
|
|||||||
{
|
{
|
||||||
InitTextVideo();
|
InitTextVideo();
|
||||||
printf("\x1b[2J");
|
printf("\x1b[2J");
|
||||||
if ((ios222rev < 0 && ios222rev != WII_EINSTALL) && (ios249rev < 0 && ios249rev != WII_EINSTALL)) {
|
if ((ios222rev < 0 && ios222rev != WII_EINSTALL) && (ios249rev < 0 && ios249rev != WII_EINSTALL))
|
||||||
|
{
|
||||||
printf("\n\n\n\tWARNING!");
|
printf("\n\n\n\tWARNING!");
|
||||||
printf("\n\tUSB Loader GX needs unstubbed cIOS 222 v4 or 249 v9+");
|
printf("\n\tUSB Loader GX needs unstubbed cIOS 222 v4 or 249 v9+");
|
||||||
printf("\n\n\tWe cannot determine the versions on your system,\n\tsince you have no patched ios 36 or 236 installed.");
|
printf("\n\n\tWe cannot determine the versions on your system,\n\tsince you have no patched ios 36 or 236 installed.");
|
||||||
@ -249,7 +268,9 @@ main(int argc, char *argv[]) {
|
|||||||
printf("\n\tand you should go figure out how to get some cios action going on\n\tin your Wii.");
|
printf("\n\tand you should go figure out how to get some cios action going on\n\tin your Wii.");
|
||||||
printf("\n\n\tThis message will show every time.");
|
printf("\n\n\tThis message will show every time.");
|
||||||
sleep(5);
|
sleep(5);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
printf("\n\n\n\tERROR!");
|
printf("\n\n\n\tERROR!");
|
||||||
printf("\n\tUSB Loader GX needs unstubbed cIOS 222 v4 or 249 v9+");
|
printf("\n\tUSB Loader GX needs unstubbed cIOS 222 v4 or 249 v9+");
|
||||||
printf("\n\n\tI found \n\t\t222 = %d%s",ios222rev,ios222rev==65280?" (Stubbed by 4.2 update)":"");
|
printf("\n\n\tI found \n\t\t222 = %d%s",ios222rev,ios222rev==65280?" (Stubbed by 4.2 update)":"");
|
||||||
@ -269,22 +290,26 @@ main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
printf("%d", ret);
|
printf("%d", ret);
|
||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0)
|
||||||
|
{
|
||||||
printf("\n\tIOS 249 failed, reloading ios 222...");
|
printf("\n\tIOS 249 failed, reloading ios 222...");
|
||||||
ret = IOS_ReloadIOSsafe(222);
|
ret = IOS_ReloadIOSsafe(222);
|
||||||
printf("%d", ret);
|
printf("%d", ret);
|
||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0)
|
||||||
|
{
|
||||||
printf("\n\tIOS 222 failed, reloading ios 250...");
|
printf("\n\tIOS 222 failed, reloading ios 250...");
|
||||||
ret = IOS_ReloadIOSsafe(250);
|
ret = IOS_ReloadIOSsafe(250);
|
||||||
printf("%d", ret);
|
printf("%d", ret);
|
||||||
|
|
||||||
if(ret < 0) {
|
if(ret < 0)
|
||||||
|
{
|
||||||
printf("\n\tIOS 250 failed, reloading ios 223...");
|
printf("\n\tIOS 250 failed, reloading ios 223...");
|
||||||
ret = IOS_ReloadIOSsafe(223);
|
ret = IOS_ReloadIOSsafe(223);
|
||||||
printf("%d", ret);
|
printf("%d", ret);
|
||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0)
|
||||||
|
{
|
||||||
printf("\n\tERROR: cIOS could not be loaded!\n");
|
printf("\n\tERROR: cIOS could not be loaded!\n");
|
||||||
sleep(5);
|
sleep(5);
|
||||||
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
||||||
@ -303,20 +328,21 @@ main(int argc, char *argv[]) {
|
|||||||
ret = WBFS_Init(WBFS_DEVICE_USB);
|
ret = WBFS_Init(WBFS_DEVICE_USB);
|
||||||
printf("%d", ret);
|
printf("%d", ret);
|
||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0)
|
||||||
|
{
|
||||||
printf("\n\tYou have issues with a slow disc, or a difficult disc\n\tReloading 222...");
|
printf("\n\tYou have issues with a slow disc, or a difficult disc\n\tReloading 222...");
|
||||||
ret = IOS_ReloadIOSsafe(222);
|
ret = IOS_ReloadIOSsafe(222);
|
||||||
printf("%d", ret);
|
printf("%d", ret);
|
||||||
if(ret < 0) {
|
/*if(ret < 0) {
|
||||||
printf("\n\tSleeping for 4 seconds");
|
// printf("\n\tSleeping for 4 seconds");
|
||||||
// sleep(4);
|
// sleep(4);
|
||||||
|
|
||||||
InitVideo(); // Initialise video
|
InitVideo(); // Initialise video
|
||||||
Menu_Render();
|
Menu_Render();
|
||||||
BootUpProblems();
|
BootUpProblems();
|
||||||
startupproblem = true;
|
startupproblem = true;
|
||||||
ret = 1;
|
ret = 1;
|
||||||
}
|
}*/
|
||||||
printf("\n\tInitialize sd card");
|
printf("\n\tInitialize sd card");
|
||||||
SDCard_Init();
|
SDCard_Init();
|
||||||
printf("\n\tLoad ehc module");
|
printf("\n\tLoad ehc module");
|
||||||
@ -325,12 +351,15 @@ main(int argc, char *argv[]) {
|
|||||||
SDCard_deInit();
|
SDCard_deInit();
|
||||||
|
|
||||||
printf("\n\tInitialize wbfs...");
|
printf("\n\tInitialize wbfs...");
|
||||||
|
USBDevice_deInit();
|
||||||
|
USBDevice_Init();
|
||||||
ret = WBFS_Init(WBFS_DEVICE_USB);
|
ret = WBFS_Init(WBFS_DEVICE_USB);
|
||||||
printf("%d", ret);
|
printf("%d", ret);
|
||||||
|
|
||||||
if(ret < 0) {
|
if(ret < 0)
|
||||||
printf("\n\tSleeping for 4 seconds");
|
{
|
||||||
// sleep(4);
|
// printf("\n\tSleeping for 4 seconds");
|
||||||
|
// sleep(4);
|
||||||
InitVideo(); // Initialise video
|
InitVideo(); // Initialise video
|
||||||
Menu_Render();
|
Menu_Render();
|
||||||
BootUpProblems();
|
BootUpProblems();
|
||||||
@ -341,11 +370,13 @@ main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
printf("\n\tInitialize sd card");
|
printf("\n\tInitialize sd card");
|
||||||
SDCard_Init(); // mount SD for loading cfg's
|
SDCard_Init(); // mount SD for loading cfg's
|
||||||
|
|
||||||
|
//this should have already been done by now in order to WBFS_Init().
|
||||||
printf("\n\tInitialize usb device");
|
printf("\n\tInitialize usb device");
|
||||||
USBDevice_Init(); // and mount USB:/
|
USBDevice_Init(); // and mount USB:/
|
||||||
//gprintf("\n\tSD and USB Init OK");
|
|
||||||
|
|
||||||
if (!bootDevice_found) {
|
if (!bootDevice_found)
|
||||||
|
{
|
||||||
printf("\n\tSearch for configuration file");
|
printf("\n\tSearch for configuration file");
|
||||||
|
|
||||||
//try USB
|
//try USB
|
||||||
@ -363,7 +394,8 @@ main(int argc, char *argv[]) {
|
|||||||
char GXGlobal_cfg[26];
|
char GXGlobal_cfg[26];
|
||||||
sprintf(GXGlobal_cfg, "%s/config/GXGlobal.cfg", bootDevice);
|
sprintf(GXGlobal_cfg, "%s/config/GXGlobal.cfg", bootDevice);
|
||||||
FILE *fp = fopen(GXGlobal_cfg, "r");
|
FILE *fp = fopen(GXGlobal_cfg, "r");
|
||||||
if (fp) {
|
if (fp)
|
||||||
|
{
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -371,20 +403,22 @@ main(int argc, char *argv[]) {
|
|||||||
printf("\n\tLoading configuration...");
|
printf("\n\tLoading configuration...");
|
||||||
CFG_Load();
|
CFG_Load();
|
||||||
printf("done");
|
printf("done");
|
||||||
// gprintf("\n\tbootDevice = %s",bootDevice);
|
// gprintf("\n\tbootDevice = %s",bootDevice);
|
||||||
|
|
||||||
/* Load Custom IOS */
|
/* Load Custom IOS */
|
||||||
if ((Settings.cios == ios222 && IOS_GetVersion() != 222) ||
|
if ((Settings.cios == ios222 && IOS_GetVersion() != 222) ||
|
||||||
(Settings.cios == ios223 && IOS_GetVersion() != 223)) {
|
(Settings.cios == ios223 && IOS_GetVersion() != 223))
|
||||||
|
{
|
||||||
printf("\n\tReloading IOS to config setting (%d)...", ios222 ? 222 : 223);
|
printf("\n\tReloading IOS to config setting (%d)...", ios222 ? 222 : 223);
|
||||||
SDCard_deInit();// unmount SD for reloading IOS
|
SDCard_deInit(); // unmount SD for reloading IOS
|
||||||
USBDevice_deInit();// unmount USB for reloading IOS
|
USBDevice_deInit(); // unmount USB for reloading IOS
|
||||||
USBStorage_Deinit();
|
USBStorage_Deinit();
|
||||||
ret = IOS_ReloadIOSsafe(ios222 ? 222 : 223);
|
ret = IOS_ReloadIOSsafe(ios222 ? 222 : 223);
|
||||||
printf("%d", ret);
|
printf("%d", ret);
|
||||||
SDCard_Init();
|
SDCard_Init();
|
||||||
load_ehc_module();
|
load_ehc_module();
|
||||||
if (ret < 0) {
|
if (ret < 0)
|
||||||
|
{
|
||||||
SDCard_deInit();
|
SDCard_deInit();
|
||||||
Settings.cios = ios249;
|
Settings.cios = ios249;
|
||||||
ret = IOS_ReloadIOSsafe(249);
|
ret = IOS_ReloadIOSsafe(249);
|
||||||
@ -395,15 +429,17 @@ main(int argc, char *argv[]) {
|
|||||||
USBDevice_Init(); // and mount USB:/
|
USBDevice_Init(); // and mount USB:/
|
||||||
WBFS_Init(WBFS_DEVICE_USB);
|
WBFS_Init(WBFS_DEVICE_USB);
|
||||||
} else if ((Settings.cios == ios249 && IOS_GetVersion() != 249) ||
|
} else if ((Settings.cios == ios249 && IOS_GetVersion() != 249) ||
|
||||||
(Settings.cios == ios250 && IOS_GetVersion() != 250)) {
|
(Settings.cios == ios250 && IOS_GetVersion() != 250))
|
||||||
|
{
|
||||||
|
|
||||||
printf("\n\tReloading IOS to config setting (%d)...", ios249 ? 249 : 250);
|
printf("\n\tReloading IOS to config setting (%d)...", ios249 ? 249 : 250);
|
||||||
SDCard_deInit();// unmount SD for reloading IOS
|
SDCard_deInit(); // unmount SD for reloading IOS
|
||||||
USBDevice_deInit();// unmount USB for reloading IOS
|
USBDevice_deInit(); // unmount USB for reloading IOS
|
||||||
USBStorage_Deinit();
|
USBStorage_Deinit();
|
||||||
ret = IOS_ReloadIOSsafe(ios249 ? 249 : 250);
|
ret = IOS_ReloadIOSsafe(ios249 ? 249 : 250);
|
||||||
printf("%d", ret);
|
printf("%d", ret);
|
||||||
if (ret < 0) {
|
if (ret < 0)
|
||||||
|
{
|
||||||
Settings.cios = ios222;
|
Settings.cios = ios222;
|
||||||
ret = IOS_ReloadIOSsafe(222);
|
ret = IOS_ReloadIOSsafe(222);
|
||||||
SDCard_Init();
|
SDCard_Init();
|
||||||
@ -415,18 +451,20 @@ main(int argc, char *argv[]) {
|
|||||||
WBFS_Init(WBFS_DEVICE_USB);
|
WBFS_Init(WBFS_DEVICE_USB);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Partition_GetList(&partitions);
|
// Partition_GetList(&partitions);
|
||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0)
|
||||||
|
{
|
||||||
printf("\nERROR: cIOS could not be loaded!");
|
printf("\nERROR: cIOS could not be loaded!");
|
||||||
sleep(5);
|
sleep(5);
|
||||||
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
exit(0);
|
||||||
|
//SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
||||||
}
|
}
|
||||||
//gprintf("\n\tcIOS = %u (Rev %u)",IOS_GetVersion(), IOS_GetRevision());//don't need gprintf if sending console shit to gecko, too
|
//gprintf("\n\tcIOS = %u (Rev %u)",IOS_GetVersion(), IOS_GetRevision());//don't need gprintf if sending console shit to gecko, too
|
||||||
printf("\n\tcIOS = %u (Rev %u)",IOS_GetVersion(), IOS_GetRevision());
|
printf("\n\tcIOS = %u (Rev %u)",IOS_GetVersion(), IOS_GetRevision());
|
||||||
|
|
||||||
// printf("Sleeping for 5 seconds\n");
|
// printf("Sleeping for 5 seconds\n");
|
||||||
// sleep(5);
|
// sleep(5);
|
||||||
|
|
||||||
//if a ID was passed via args copy it and try to boot it after the partition is mounted
|
//if a ID was passed via args copy it and try to boot it after the partition is mounted
|
||||||
//its not really a headless mode. more like hairless.
|
//its not really a headless mode. more like hairless.
|
||||||
@ -463,4 +501,3 @@ main(int argc, char *argv[]) {
|
|||||||
MainMenu(MENU_CHECK);
|
MainMenu(MENU_CHECK);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1772,19 +1772,22 @@ DiscWait(const char *title, const char *msg, const char *btn1Label, const char *
|
|||||||
while (i >= 0) {
|
while (i >= 0) {
|
||||||
VIDEO_WaitVSync();
|
VIDEO_WaitVSync();
|
||||||
timerTxt.SetTextf("%u %s", i,tr("seconds left"));
|
timerTxt.SetTextf("%u %s", i,tr("seconds left"));
|
||||||
HaltGui();
|
/* HaltGui();
|
||||||
if (Settings.cios == ios222) {
|
if (Settings.cios == ios222) {
|
||||||
ret = IOS_ReloadIOS(222);
|
ret = IOS_ReloadIOS(222);
|
||||||
load_ehc_module();
|
load_ehc_module();
|
||||||
} else {
|
} else {
|
||||||
ret = IOS_ReloadIOS(249);
|
ret = IOS_ReloadIOS(249);
|
||||||
}
|
}
|
||||||
ResumeGui();
|
ResumeGui();*/
|
||||||
sleep(1);
|
sleep(1);
|
||||||
|
USBDevice_deInit();
|
||||||
|
USBDevice_Init();
|
||||||
ret = WBFS_Init(WBFS_DEVICE_USB);
|
ret = WBFS_Init(WBFS_DEVICE_USB);
|
||||||
if (ret>=0)
|
if (ret>=0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
i--;
|
i--;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -501,6 +501,12 @@ int __Menu_GetGameList(int t, wchar_t* gameFilter, discHdr ** PgameList, u32 *Pg
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//ignore uLoader cfg "iso". i was told it is "__CFG_" but not confirmed
|
||||||
|
if (header->id[0]=='_'&&header->id[1]=='_'&&
|
||||||
|
header->id[2]=='C'&&header->id[3]=='F'&&
|
||||||
|
header->id[4]=='G'&&header->id[5]=='_')
|
||||||
|
continue;
|
||||||
|
|
||||||
if (Settings.parentalcontrol && !Settings.godmode && t==0) {
|
if (Settings.parentalcontrol && !Settings.godmode && t==0) {
|
||||||
if (get_block(header) >= Settings.parentalcontrol)
|
if (get_block(header) >= Settings.parentalcontrol)
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user