* Add more mountpoint names for LayeredFS updates
* Move `pat1` to the bottom of the list
* Isolate Mario Kart 7 mountpoint
* Apply suggestions from code review
Co-authored-by: PabloMK7 <hackyglitch2@gmail.com>
---------
Co-authored-by: PabloMK7 <hackyglitch2@gmail.com>
- Move emuNAND hook to ITCM, fixing previously untested emuNAND support
for 5.0 (and possibly more versions). This was a very long-standing
bug
- Fix booting on versions 4.x to 8.x, and restore full support for 5.x
to 8.x. All Arm11 custom sysmodules and k11ext have been disabled on
4.x because the Luma3DS v13.0 changes couldn't be ported (this means
no Rosalina and no region-free and such, and while I could restore
some of the functionality, you should just update *after* installing
Luma, like you've been instructed to)
While the copy to NAND process is generally a good idea for end users,
this can quickly get annoying for actual developers looking to test
low level stuff or contribute to Luma3DS if a testing FIRM gets sent to
the NAND.
This commit adds all the changes made to the 3GX plugin loader fork of Luma3DS. The most important features are:
- Add 3GX plugin loader support. New service added to rosalina: plg:ldr
- Add svcControlProcess, svcControlMemoryUnsafe and improve svcMapProcessMemoryEx (breaking change)
- Allow applications to override certain configurations depending on their needs:
- Disable core2 thread redirection
- Disable game patching for the next app
- Force New 3DS speedup
- Force next application in a specific memory mode
- Block the opening of the Rosalina menu
- Add GDB commands to list all process handles and catch all SVC (latter is for IDA Pro as gdb client supports it)
- Other changes necessary for plugins to work properly. Please check changed files in this PR for more details.
---------
Co-authored-by: PabloMK7 <hackyglitch@gmail.com>
Co-authored-by: Nanquitas <nath.doidi@gmail.com>
Co-authored-by: TuxSH <1922548+TuxSH@users.noreply.github.com>
As we forgot to patch LGY k11, we were limited by the current size of the KIP.
That is not the case anymore and LGY k11 does support uncompressed KIPs.
And also move the location of IPS/BPS patches for (non-KIP) sysmodules
to /luma/sysmodules/<titleId>.<ips/bps> and only require "Load ext
firm/modules" option for it.
This is a leftover from the Gateway era that has long lost its utility
and that unnecessarily complicated the code base.
Please just load an external FIRM from SD card if you need something
similar.
Also refactor the multi-EmuNAND code and CTRNAND mounting code.
This was a long-standing bug since Luma3DS v8.0.
If you changed the homebrew title and didn't immediately reboot, then
the ExHeader during termination would not match the ExHeader that was
was used for loading the process, and thus sysmodule process refcounts
would get all messed up.
The obvious solution to this is to ensure no application is running
while changing the hbldr titleID (hence the changes in custom PM).
This was quite possibly one of the cause of homebrew failing to load
when using N3DS H&S.
... even when HPs aren't inserted.
This is aimed at people using Bluetooth audio hw mods.
There are some software limitations, please read the INI/option
description.
Closes#1828.
N3DS-only option. See config.ini for details and context. This should
make very demanding games (those which already use 3x clockrate and L2C
by default, like Pokémon US/UM) between 5 to 15% faster. Not widely
tested, and can potentially break some games and other apps.