1. Demothens

    OP Demothens Member
    Newcomer

    Joined:
    Jul 27, 2018
    Messages:
    14
    Country:
    United States
    I recently started a homebrew project and I'm trying to figure out how to launch an installed game from my app. This appears to be doable using the SYSLaunchTitle function from the sysapp library, but every implementation i have tried using leads to the console hanging on a black screen. My understanding from looking at how other apps use the function is that once called the homebrew needs to exit and return 0xFFFFFFFD as an exitcode for homebrew launcher, but this is results in the previously mentioned black screen. I'm also using the function SYSCheckTitleExists before calling SYSLaunchTitle to make sure I'm not messing up on the title id, and SYSCheckTitleExists returns true.

    I'm completely new to Wii U programming and C as well so I'm sure I'm doing something dumb. Any help would be appreciated. For clarification I'm creating the homebrew using WUT.

    Thanks.
     
  2. NexoCube

    NexoCube GBAtemp Maniac
    Member

    Joined:
    Nov 3, 2015
    Messages:
    1,222
    Country:
    France
    By looking at the .RPL (sysapp) on IDA, i've seen that every function (SYSLaunchMiiStudio, SYSLaunchSettngs, SYSLaunchAccount and many more) call a function (at base+0x1060):

    What it does:

    1) It will pack arguments and preload the app. (it will warn the loader/kernel that you want to switch app using OSSendAppSwitchRequest)
    2) It will check the Title you are trying to launch isn't gonna launch the "Account" app (because it is a custom launch process for it)
    3) it will call SYSLaunchMenu
    4) Then it finally calls OSLaunchTitlel (which alloc/free stuff, play with argv/argc and call a bunch of syscalls like "OS_LaunchTitleArgvStr", "launch_title", "call_title")

    "Every" SYSLaunch function goes through this process except SYSLaunchTitle which is weird, it only goes through step1 then stops.

    So you either implement the 3 last steps yourself, or you use the export "_SYSLaunchTitleDirect" (which have yet unknown arguments), you can play with it to figure out the arguments needed !

    I hope i helped. Respond if you need more help or if it didn't worked

    EDIT: im a noob and might be interpreting stuff the wrong way
     
    Last edited by NexoCube, Aug 18, 2018
    Demothens likes this.
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - SYSLaunchTitle, function, using