*Another HDD spin up loop fix

*Changed default cIOS back to 249. It is now recommended to use cIOS 249 Rev20.
This commit is contained in:
dimok321 2010-11-28 17:24:23 +00:00
parent f1afcda6af
commit bd7ce32a8b
4 changed files with 24 additions and 24 deletions

View File

@ -2,8 +2,8 @@
<app version="1">
<name> USB Loader GX</name>
<coder>USB Loader GX Team</coder>
<version>1.0 r1000</version>
<release_date>201011141520</release_date>
<version>1.0 r1004</version>
<release_date>201011281641</release_date>
<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.
The interactive GUI is completely controllable with WiiMote, Classic Controller or GC Controller.

View File

@ -57,7 +57,7 @@ int USBDevice_Init()
// wait 0.5 sec for the USB to spin up...stupid slow ass HDD
do
{
started = (!__io_usbstorage2.startup() || !__io_usbstorage2.isInserted());
started = (__io_usbstorage2.startup() && __io_usbstorage2.isInserted());
usleep(50000);
--retries;
}
@ -79,29 +79,34 @@ int USBDevice_Init_Loop()
{
time_t starttime = time(0);
time_t timenow = starttime;
int ret = -1;
bool printStart = true;
bool StatusPrinted = false;
bool started = false;
while(timenow-starttime < 30 && ret < 0)
do
{
ret = USBDevice_Init();
if(ret < 0)
started = (__io_usbstorage2.startup() && __io_usbstorage2.isInserted());
if(!started)
{
if(printStart)
if(timenow != time(0))
{
printf("failed\n");
printf("\tWaiting for slow HDD...");
printStart = false;
timenow = time(0);
if(!StatusPrinted)
{
printf("\tWaiting for slow HDD...");
StatusPrinted = true;
}
printf("%i ", (int) (timenow-starttime));
}
printf("%i ", (int) (timenow-starttime+1));
usleep(100000);
}
timenow = time(0);
}
while(!started && timenow-starttime < 30);
printf("\n");
if(StatusPrinted)
printf("\n");
return ret;
return USBDevice_Init();
}
void USBDevice_deInit()

View File

@ -82,7 +82,7 @@ void CSettings::SetDefault()
gamesound = 1;
parentalcontrol = 0;
lockedgames = 0;
cios = 222;
cios = 249;
xflip = XFLIP_NO;
quickboot = OFF;
wiilight = 1;

View File

@ -54,10 +54,8 @@ s32 IosLoader::LoadAppCios()
// Unmount fat before reloading IOS.
SDCard_deInit();
USBDevice_deInit();
__io_usbstorage.shutdown();
USB_Deinitialize();
u32 ciosLoadPriority[] = { 250, 222, 249, Settings.cios }; // Descending.
u32 ciosLoadPriority[] = { 250, 249, 222, Settings.cios }; // Descending.
for (u8 i = (sizeof(ciosLoadPriority)/sizeof(ciosLoadPriority[0]))-1; i >= 0; i--)
@ -97,9 +95,6 @@ s32 IosLoader::LoadGameCios(s32 ios)
SDCard_deInit();
USBDevice_deInit();
WDVD_Close();
__io_usbstorage.shutdown(); // libogc usb
__io_usbstorage2.shutdown(); // cios usb
USB_Deinitialize(); // main usb handle
ret = ReloadIosSafe(ios);