Homebrew Question Why are hbl and hbmenu separate programs, and in different locations?

  • Thread starter Thread starter urherenow
  • Start date Start date
  • Views Views 2,944
  • Replies Replies 6

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
5,348
Solutions
1
Reaction score
2,480
Trophies
3
Location
Japan
XP
4,928
Country
United States
hbmenu is clearly what we "see" on the Switch. HBL is a super small program with what seems to be a hard-coded path for hbmenu.nro.

Why does it need to be 2 separate programs? Why have 1 in the root, and the other tucked inside of the atmosphere folder? I know this can all be easily changed with an .ini file (for launching hbl) and/or changing hbl source and compiling your own (for hbmenu), but this seems to be more or less standard, and I can't make sense out of it.

Please go easy on me... I've had a few :grog:
 
For a first time installation, we need a way to boot the homebrew menu. Now we cannot install the homebrew menu without booting into the homebrew menu since only homebrew applications can install other homebrew applications so we need to replace something on the console with the homebrew menu. Not everyone will have the same games on their home screen but what everyone does have is an Album applet. So as a universal first time standard, homebrew menu automatically replaces the Album. After that, or if you have an already installed title you want to override, you can reconfigure the ini to replace another title instead of Album.

At least that's how I imagine it was decided.
 
hbmenu is clearly what we "see" on the Switch. HBL is a super small program with what seems to be a hard-coded path for hbmenu.nro.

Why does it need to be 2 separate programs? Why have 1 in the root, and the other tucked inside of the atmosphere folder? I know this can all be easily changed with an .ini file (for launching hbl) and/or changing hbl source and compiling your own (for hbmenu), but this seems to be more or less standard, and I can't make sense out of it.

Please go easy on me... I've had a few :grog:
hbmenu could be included in the nsp or the LayeredFS files but there are multiple ways to boot hbmenu and having hbmenu as a separate file means it's easy to just update one file no matter what entrypoint you are using. It's especially important if you are using multiple entrypoints (you might use the Album app as entrypoint most of the time and only use another app by holding R sometimes when you want to run specific homebrew that needs extra RAM)
 
hbmenu is clearly what we "see" on the Switch. HBL is a super small program with what seems to be a hard-coded path for hbmenu.nro.

Why does it need to be 2 separate programs? Why have 1 in the root, and the other tucked inside of the atmosphere folder? I know this can all be easily changed with an .ini file (for launching hbl) and/or changing hbl source and compiling your own (for hbmenu), but this seems to be more or less standard, and I can't make sense out of it.

Please go easy on me... I've had a few :grog:
Homebrew loader is what starts the process of launching an NRO homebrew. It sets up the memory space, gets the needed process loaded, and actually sets the environment to run a homebrew. It happens to be coded for Homebrew menu since you can launch other homebrew from it, but you can technically name any homebrew to "hbmenu.nro" and Homebrew loader will launch it.
 
  • Like
Reactions: Brawl345

Site & Scene News

Popular threads in this forum