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"> <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>2.2 r1102</version> <version>2.2 r1103</version>
<release_date>201107231948</release_date> <release_date>201107241629</release_date>
<!-- // remove this line to enable arguments <!-- // remove this line to enable arguments
<arguments> <arguments>
<arg>--ios=250</arg> <arg>--ios=250</arg>

View File

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

View File

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