From 8cc294b3cbab7b75e477443a849170ffb4c10d4b Mon Sep 17 00:00:00 2001 From: Jade Herd Date: Wed, 13 Dec 2023 09:48:38 -0500 Subject: [PATCH] config: Boot chainloader menu option --- arm9/source/config.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/arm9/source/config.c b/arm9/source/config.c index aeb963c..b6b1c5e 100644 --- a/arm9/source/config.c +++ b/arm9/source/config.c @@ -39,6 +39,7 @@ #include "pin.h" #include "i2c.h" #include "ini.h" +#include "firm.h" #include "config_template_ini.h" // note that it has an extra NUL byte inserted @@ -834,8 +835,9 @@ void configMenu(bool oldPinStatus, u32 oldPinMode) "( ) Enable custom upscaling filters for DSi", "( ) Allow Left+Right / Up+Down combos for DSi", - // Should always be the last entry - "\nSave and exit" + // Should always be the last 2 entries + "\nBoot chainloader", + "Save and exit" }; static const char *optionsDescription[] = { "Select the default EmuNAND.\n\n" @@ -933,7 +935,10 @@ void configMenu(bool oldPinStatus, u32 oldPinMode) "Commercial software filter these\n" "combos on their own too, though.", - // Should always be the last entry + + // Should always be the last 2 entries + "Boot to the Luma3DS chainloader menu.", + "Save the changes and exit. To discard\n" "any changes press the POWER button.\n" "Use START as a shortcut to this entry." @@ -977,6 +982,7 @@ void configMenu(bool oldPinStatus, u32 oldPinMode) { .visible = true }, { .visible = true }, { .visible = true }, + { .visible = true }, }; //Calculate the amount of the various kinds of options and pre-select the first single one @@ -1154,6 +1160,10 @@ void configMenu(bool oldPinStatus, u32 oldPinMode) startPressed = false; break; } + else if (singleSelected == singleOptionsAmount - 2) { + loadHomebrewFirm(0); + break; + } else { bool oldEnabled = singleOptions[singleSelected].enabled;