Homebrew [indev] TreeHome - custom home menu template

Roboman

Well-Known Member
Member
Joined
Jan 7, 2016
Messages
313
Trophies
0
Age
28
XP
758
Country
United States
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

Chaos_Therum

Active Member
Newcomer
Joined
Apr 13, 2016
Messages
40
Trophies
0
Age
29
XP
196
Country
United States
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.
 

leerz

Well-Known Member
Member
Joined
Jan 11, 2015
Messages
754
Trophies
0
Age
36
Location
Makati
Website
leerz25.sitesled.com
XP
2,209
Country
Did I hear 3DSBMC :D
2yuk092.jpg
 
Last edited by leerz,

Mikemk

Well-Known Member
Member
Joined
Mar 26, 2015
Messages
2,092
Trophies
1
Age
28
XP
3,155
Country
United States
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

fonix232

New Member
Newbie
Joined
Sep 12, 2016
Messages
2
Trophies
0
Age
30
XP
58
Country
Hungary
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.
 

dark_samus3

Well-Known Member
Member
Joined
May 30, 2015
Messages
2,372
Trophies
0
XP
2,142
Country
United States
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

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,832
Trophies
2
Location
home
XP
9,444
Country
Hungary
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

xdarkmario

Philosopher
Member
Joined
Dec 30, 2010
Messages
1,635
Trophies
1
Location
Mushroom Kingdom
XP
2,584
Country
United States
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?
 

smileyhead

I like cute stuff.
Member
Joined
Aug 31, 2015
Messages
4,808
Trophies
3
Age
23
Location
Budakeszi, Hungary
Website
sites.google.com
XP
10,639
Country
Hungary
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.
 

xdarkmario

Philosopher
Member
Joined
Dec 30, 2010
Messages
1,635
Trophies
1
Location
Mushroom Kingdom
XP
2,584
Country
United States
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

Mrrraou

Well-Known Member
Member
Joined
Oct 17, 2015
Messages
1,873
Trophies
0
XP
2,374
Country
France
<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

General chit-chat
Help Users
  • No one is chatting at the moment.
    BigOnYa @ BigOnYa: I played the intro to far cry 5, that is like some crazy Jim Jones cult shit. Still its petty...