mirror of
https://github.com/LNH-team/pico-loader.git
synced 2026-06-02 09:16:49 +02:00
Merge pull request #97 from LNH-team/feature/homebrew-return-to-loader
Homebrew return to loader
This commit is contained in:
@@ -352,6 +352,7 @@ void NdsLoader::Load(BootMode bootMode)
|
||||
if (isHomebrew)
|
||||
{
|
||||
InsertArgv();
|
||||
HandleHomebrewPatching();
|
||||
}
|
||||
|
||||
HandleDldiPatching();
|
||||
@@ -437,6 +438,26 @@ void NdsLoader::InsertArgv()
|
||||
HOMEBREW_ARGV->length = argSize;
|
||||
}
|
||||
|
||||
void NdsLoader::HandleHomebrewPatching()
|
||||
{
|
||||
if (_launcherPath != nullptr && _launcherPath[0] != 0)
|
||||
{
|
||||
sendToArm9(IPC_COMMAND_ARM9_SETUP_HOMEBREW_BOOTSTUB);
|
||||
sendToArm9(16 * 1024); // required dldi space
|
||||
void* dldiSpace = (void*)receiveFromArm9();
|
||||
char* launcherPath = (char*)receiveFromArm9();
|
||||
if (dldiSpace != nullptr)
|
||||
{
|
||||
dldi_copyTo(dldiSpace);
|
||||
}
|
||||
if (launcherPath != nullptr)
|
||||
{
|
||||
strncpy(launcherPath, _launcherPath, 256);
|
||||
launcherPath[255] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void NdsLoader::ApplyArm7Patches()
|
||||
{
|
||||
sendToArm9(IPC_COMMAND_ARM9_APPLY_ARM7_PATCHES);
|
||||
|
||||
Reference in New Issue
Block a user