Home Menu -> HOME Menu

This commit is contained in:
TuxSH 2026-04-03 00:44:38 +02:00
parent f0c9982b36
commit b3282131c4
8 changed files with 19 additions and 19 deletions

View File

@ -123,7 +123,7 @@ bool isTwlToCtrLaunch(void)
switch (twlTid & ~0xFFull) switch (twlTid & ~0xFFull)
{ {
case 0x0000000000000000ull: // TWL Launcher -> Home menu (note: NS checks full TID) case 0x0000000000000000ull: // TWL Launcher -> HOME menu (note: NS checks full TID)
case 0x00030015484E4200ull: // TWL System Settings -> CTR System Settings (mset) case 0x00030015484E4200ull: // TWL System Settings -> CTR System Settings (mset)
return true; return true;
default: default:

View File

@ -230,7 +230,7 @@ void main(int argc, char **argv, u32 magicWord)
nandType = FIRMWARE_SYSNAND; nandType = FIRMWARE_SYSNAND;
// Prevent multiple boot options-forcing // Prevent multiple boot options-forcing
// This bit is a bit weird. Basically, as you return to Home Menu by pressing either // This bit is a bit weird. Basically, as you return to HOME Menu by pressing either
// the HOME or POWER button, nandType will be overridden to "SysNAND" (needed). But, // the HOME or POWER button, nandType will be overridden to "SysNAND" (needed). But,
// if you reboot again (e.g. via Rosalina menu), it'll use your default settings. // if you reboot again (e.g. via Rosalina menu), it'll use your default settings.
if(nandType != BOOTCFG_NAND) isNoForceFlagSet = true; if(nandType != BOOTCFG_NAND) isNoForceFlagSet = true;

View File

@ -87,7 +87,7 @@ bool isExceptionFatal(u32 spsr, u32 *regs, u32 index)
if(thread != NULL && thread->threadLocalStorage != NULL && *((vu32 *)thread->threadLocalStorage + 0x10) != 0) if(thread != NULL && thread->threadLocalStorage != NULL && *((vu32 *)thread->threadLocalStorage + 0x10) != 0)
return checkExceptionHandlerValidity(currentProcess, thread->threadLocalStorage); return checkExceptionHandlerValidity(currentProcess, thread->threadLocalStorage);
if(index == 3 && strcmp(codeSetOfProcess(currentProcess)->processName, "menu") == 0 && // workaround a Home Menu bug leading to a dabort if(index == 3 && strcmp(codeSetOfProcess(currentProcess)->processName, "menu") == 0 && // workaround a HOME Menu bug leading to a dabort
regs[0] == 0x3FFF && regs[2] == 0 && regs[5] == 2 && regs[7] == 1) regs[0] == 0x3FFF && regs[2] == 0 && regs[5] == 2 && regs[7] == 1)
return false; return false;
} }

View File

@ -651,12 +651,12 @@ static inline bool patchLayeredFs(u64 progId, u8 *code, u32 size, u32 textSize,
void patchCode(u64 progId, u16 progVer, u8 *code, u32 size, u32 textSize, u32 roSize, u32 dataSize, u32 roAddress, u32 dataAddress) void patchCode(u64 progId, u16 progVer, u8 *code, u32 size, u32 textSize, u32 roSize, u32 dataSize, u32 roAddress, u32 dataAddress)
{ {
bool isHomeMenu = progId == 0x0004003000008F02LL || //USA Home Menu bool isHomeMenu = progId == 0x0004003000008F02LL || //USA HOME Menu
progId == 0x0004003000008202LL || //JPN Home Menu progId == 0x0004003000008202LL || //JPN HOME Menu
progId == 0x0004003000009802LL || //EUR Home Menu progId == 0x0004003000009802LL || //EUR HOME Menu
progId == 0x000400300000A902LL || //KOR Home Menu progId == 0x000400300000A902LL || //KOR HOME Menu
progId == 0x000400300000A102LL || //CHN Home Menu progId == 0x000400300000A102LL || //CHN HOME Menu
progId == 0x000400300000B102LL; //TWN Home Menu progId == 0x000400300000B102LL; //TWN HOME Menu
bool isApp = ((progId >> 32) & ~0x12) == 0x00040000; bool isApp = ((progId >> 32) & ~0x12) == 0x00040000;
bool isApplet = (progId >> 32) == 0x00040030; bool isApplet = (progId >> 32) == 0x00040030;
@ -668,12 +668,12 @@ void patchCode(u64 progId, u16 progVer, u8 *code, u32 size, u32 textSize, u32 ro
switch(progId) switch(progId)
{ {
case 0x0004003000008F02LL: //USA Home Menu case 0x0004003000008F02LL: //USA HOME Menu
case 0x0004003000008202LL: //JPN Home Menu case 0x0004003000008202LL: //JPN HOME Menu
case 0x0004003000009802LL: //EUR Home Menu case 0x0004003000009802LL: //EUR HOME Menu
if(progVer <= 4) applyRegionFreePatch = false; if(progVer <= 4) applyRegionFreePatch = false;
break; break;
case 0x000400300000A902LL: //KOR Home Menu case 0x000400300000A902LL: //KOR HOME Menu
if(!progVer) applyRegionFreePatch = false; if(!progVer) applyRegionFreePatch = false;
break; break;
} }

View File

@ -411,7 +411,7 @@ static void ChainloadHomebrewDirtyAsync(void *argdata)
if (app != NULL) { if (app != NULL) {
// Clear the "notify on termination, don't cleanup" flag, so that for ex. APT isn't notified & no need for // Clear the "notify on termination, don't cleanup" flag, so that for ex. APT isn't notified & no need for
// UnregisterProcess, and the "dependencies loaded" flag, so that the dependencies aren't killed (for ex. when // UnregisterProcess, and the "dependencies loaded" flag, so that the dependencies aren't killed (for ex. when
// booting hbmenu instead of Home Menu, in which case the same title is going to be launched...) // booting hbmenu instead of HOME Menu, in which case the same title is going to be launched...)
launchFlags = app->launchFlags; launchFlags = app->launchFlags;
programInfo.programId = app->titleId; programInfo.programId = app->titleId;
programInfo.mediaType = app->mediaType; programInfo.mediaType = app->mediaType;

View File

@ -131,7 +131,7 @@ void Draw_ClearFramebuffer(void)
Result Draw_AllocateFramebufferCache(u32 size) Result Draw_AllocateFramebufferCache(u32 size)
{ {
// Can't use fbs in FCRAM when Home Menu is active (AXI config related maybe?) // Can't use fbs in FCRAM when HOME Menu is active (AXI config related maybe?)
u32 addr = 0x0D000000; u32 addr = 0x0D000000;
u32 tmp; u32 tmp;

View File

@ -55,7 +55,7 @@ Menu rosalinaMenu = {
{ "System configuration...", MENU, .menu = &sysconfigMenu }, { "System configuration...", MENU, .menu = &sysconfigMenu },
{ "Miscellaneous options...", MENU, .menu = &miscellaneousMenu }, { "Miscellaneous options...", MENU, .menu = &miscellaneousMenu },
{ "Save settings", METHOD, .method = &RosalinaMenu_SaveSettings }, { "Save settings", METHOD, .method = &RosalinaMenu_SaveSettings },
{ "Return To Home Menu", METHOD, .method = &RosalinaMenu_ReturnToHomeMenu }, { "Return To HOME Menu", METHOD, .method = &RosalinaMenu_ReturnToHomeMenu },
{ "Power off / reboot", METHOD, .method = &RosalinaMenu_PowerOffOrReboot }, { "Power off / reboot", METHOD, .method = &RosalinaMenu_PowerOffOrReboot },
{ "System info", METHOD, .method = &RosalinaMenu_ShowSystemInfo }, { "System info", METHOD, .method = &RosalinaMenu_ShowSystemInfo },
{ "Credits", METHOD, .method = &RosalinaMenu_ShowCredits }, { "Credits", METHOD, .method = &RosalinaMenu_ShowCredits },
@ -312,7 +312,7 @@ void RosalinaMenu_ReturnToHomeMenu(void)
do do
{ {
Draw_Lock(); Draw_Lock();
Draw_DrawString(10, 10, COLOR_TITLE, "Return to Home Menu"); Draw_DrawString(10, 10, COLOR_TITLE, "Return to HOME Menu");
Draw_DrawString(10, 30, COLOR_WHITE, "Press A to confirm.\nPress B to go back."); Draw_DrawString(10, 30, COLOR_WHITE, "Press A to confirm.\nPress B to go back.");
Draw_FlushFramebuffer(); Draw_FlushFramebuffer();
Draw_Unlock(); Draw_Unlock();

View File

@ -287,7 +287,7 @@ void MiscellaneousMenu_InputRedirection(void)
posY, posY,
COLOR_WHITE, COLOR_WHITE,
"This might cause a key press to be repeated in\n" "This might cause a key press to be repeated in\n"
"Home Menu for no reason.\n\n" "HOME Menu for no reason.\n\n"
"Just pressing ZL/ZR on the console is enough to fix\nthis.\n" "Just pressing ZL/ZR on the console is enough to fix\nthis.\n"
); );
} }
@ -485,7 +485,7 @@ void MiscellaneousMenu_DumpDspFirm(void)
else else
Draw_DrawFormattedString( Draw_DrawFormattedString(
10, 30, COLOR_WHITE, 10, 30, COLOR_WHITE,
"Operation failed (0x%08lx).\n\nMake sure that Home Menu is running and that your\nSD card is inserted.", "Operation failed (0x%08lx).\n\nMake sure that HOME Menu is running and that your\nSD card is inserted.",
res res
); );
Draw_FlushFramebuffer(); Draw_FlushFramebuffer();