Add option to make the 3DS screens look like sRGB monitors. While this
is not perfect (due to screen variance, and it may make dark tones
slightly darker), this significantly improves the color fidelity of
homebrew and custon HOME Menu themes, removing that "blueish, washed-out
look".
Do note that first-party party 3DS games are designed around the 3DS's
"washed-out" color curve, and may not need that adjustment.
(done in collaboration with @profi200)
- Remove allow_updown_leftright_dsi (option was unused and useless)
- Hide enable_dsi_external_filter. Do not mention out-of-date wiki,
fixes#1992
- Limit gamma to a more reasonable value of 8, fixes#1989
* 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)
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>
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.