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.
In doing this would you be able to program the home menu to allow more than 300 titles?
There's literally no need to fork ctrulib for thisI don't need "envGetIsHomebrew", but it's used by allocateHeaps, so the heap variables will have invalid values, because envGetIsHomebrew is true
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.I was thinking about the ds forwarder. They are not too big.
If you were to buy me a cfw capable new 3ds, that would be good motivation to implement my suggestions.Very interesting. Here is your motivation: *hands cookie*
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.
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 overridableAnd 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.
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!
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.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?
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.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.
if you do menu mods wouldn't it just be overwritten on next nintendo update?
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.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.