USB Loader GX

*Properly sync video after flush to avoid possible green flash
*Moved argument command line also to mem2 to avoid overwrite of it

Forwarder V4:
*Changed to new app_booter method (see WiiXplorer SVN)
*Properly sync video after flush to avoid possible green flash
*Centered background image and corrected aspect ratio
This commit is contained in:
dimok321 2011-07-25 17:50:03 +00:00
parent de2fbe11fa
commit 8a21f92f0b
3 changed files with 10 additions and 9 deletions

View File

@ -2,8 +2,8 @@
<app version="1">
<name> USB Loader GX</name>
<coder>USB Loader GX Team</coder>
<version>2.2 r1102</version>
<release_date>201107231948</release_date>
<version>2.2 r1103</version>
<release_date>201107241629</release_date>
<!-- // remove this line to enable arguments
<arguments>
<arg>--ios=250</arg>

View File

@ -57,6 +57,8 @@ static int SetupARGV(struct __argv * args)
bzero(args, sizeof(struct __argv));
args->argvMagic = ARGV_MAGIC;
u32 argc = 0;
u32 position = 0;
u32 stringlength = 1;
/** Append Arguments **/
@ -66,12 +68,8 @@ static int SetupARGV(struct __argv * args)
}
args->length = stringlength;
args->commandLine = (char*) malloc(args->length);
if (!args->commandLine) return -1;
u32 argc = 0;
u32 position = 0;
//! Put the argument into mem2 too, to avoid overwriting it
args.commandLine = (char *) ARGS_ADDR + sizeof(struct __argv);
/** Append Arguments **/
for (u32 i = 0; i < Arguments.size(); i++)
@ -114,7 +112,7 @@ static int RunAppbooter()
if (args.argvMagic == ARGV_MAGIC)
{
memmove(ARGS_ADDR, &args, sizeof(args));
DCFlushRange(ARGS_ADDR, sizeof(args));
DCFlushRange(ARGS_ADDR, sizeof(args) + args.length);
}
u64 currentStub = getStubDest();

View File

@ -179,6 +179,9 @@ void StopGX()
VIDEO_SetBlack(TRUE);
VIDEO_Flush();
VIDEO_WaitVSync();
if (vmode->viTVMode & VI_NON_INTERLACE)
VIDEO_WaitVSync();
}
/****************************************************************************