Homebrew [indev] TreeHome - custom home menu template

  • Thread starter Thread starter Sono
  • Start date Start date
  • Views Views 39,523
  • Replies Replies 160
  • Likes Likes 60
In theory it should be possible to launch a 3dsx thinking it's installed as a cia. This could be achieved by either a custom Applet, or a *hax wrapper application.

If you rewrite the whole home menu anyways why bother with Cias for 3dsx homebrew? Make the fully custom menu display installed cias, 3dsx homebrews, and whatever. No need for "wrapper cias" just to make it appear, we run the show now!
When you select a cia it launches ir more-or-less normally, when you select a 3dsx it sets up the environment like a homebrew payload and runs the 3dsx.
A fully customizable home menu is so exciting!
 
  • Like
Reactions: pelago
What I would love to see is a html and css theming engine but that's probably a ton of work to get something like that working.
 
Did I hear 3DSBMC :D
2yuk092.jpg
 
Last edited by leerz,
I was thinking about the ds forwarder. They are not too big.
If making a custom home menu, you can implement forwarders in the menu, and have unlimited of them. It might require a stage 2 forwarder installed to twl nand, I'm not sure, but that would still only take only 3-4 blocks for as many as desired.

Also, the TWL-nand-can-only-fit-10-15-games-issue is solvable by the following:

Install as many as will fit to twl nand, and the rest to SD.
Show them all on the menu. Those on SD should be marked somehow. Greyed out, icon over icon, ...
When launching one on SD, move enough off twl nand to make space for it, then move the game to twl nand. It'll extend load times, but it's better than nothing.
The ones that get moved off twl nand would be the least recently played, though it's a good idea to modify the algorithm to skip the least recent if it's frequently run. Look into algorithms for CPU caching.
 
  • Like
Reactions: uyjulian and Sono
https://github.com/smealum/ctrulib/blob/master/libctru/source/system/allocateHeaps.c#L14
It's __attribute__((weak)) here too.
And there's no need to fork libctru if you need just need some modifications for apt.c either. There's just no need for that, you're just making everything complicated and likely unupdatable, or just completely not-future proof. That's also dirty as hell.

And how do you exactly think external patches are made to libctru?

By forking. User forks, adds feature, makes pull request. Pull request is accepted, and fork is now mainstream.
 
And how do you exactly think external patches are made to libctru?

By forking. User forks, adds feature, makes pull request. Pull request is accepted, and fork is now mainstream.
Yes, that's a great idea when the changes you'd like to make would belong in ctrulib. When they don't, and you can override them with your own code without forking, it makes everything easy to maintain and futureproof (something the scene is kinda bad at). In this instance, nothing will be going back to the main ctrulib repo, therefore the fork probably shouldn't happen when, again, it's made to be overridable
 
  • Like
Reactions: Mrrraou and Sono
If you rewrite the whole home menu anyways why bother with Cias for 3dsx homebrew? Make the fully custom menu display installed cias, 3dsx homebrews, and whatever. No need for "wrapper cias" just to make it appear, we run the show now!
When you select a cia it launches ir more-or-less normally, when you select a 3dsx it sets up the environment like a homebrew payload and runs the 3dsx.
A fully customizable home menu is so exciting!

Well, that's not how it works :( I'll need to "port" *hax's app_bootloader that way, so it doesn't require a homemenu ROP, but instead it'll either ROP into itself, or gspwn itself. I guess I'll try to gspwn right away :P
 
  • Like
Reactions: smileyhead
editing the home menu!? ludicrous!
lol JK the first mod id do would be to convert that 24hr clock to standard 12hr format.
and one thing if you do menu mods wouldn't it just be overwritten on next nintendo update?
 
editing the home menu!? ludicrous!
lol JK the first mod id do would be to convert that 24hr clock to standard 12hr format.
and one thing if you do menu mods wouldn't it just be overwritten on next nintendo update?
The 12-hour clock can already be done with a simple language file edit (replace numbers 13-23 with 1-11). And if you have a modified HOME Menu, Ninty doesn't let you update.
 
The 12-hour clock can already be done with a simple language file edit (replace numbers 13-23 with 1-11). And if you have a modified HOME Menu, Ninty doesn't let you update.
ooh, 2 things didnt know. well its not worth breaking updates for, because with a9lh i just update whenever as a regular 3ds unless theirs some controversy about it.
 
  • Like
Reactions: smileyhead
<snip>

--------------------- MERGED ---------------------------

And how do you exactly think external patches are made to libctru?

By forking. User forks, adds feature, makes pull request. Pull request is accepted, and fork is now mainstream.
I don't need someone to explain it like I'm retarded. I know how Git works, thanks. And my point still stands. There is nothing to edit in ctrulib here. See what @dark_samus3 said.
 
Last edited by raulpica, , Reason: Removed off-topic -rp
  • Like
Reactions: Joel16

Site & Scene News

Popular threads in this forum