Skip to content

v6.0

Compare
Choose a tag to compare
@TuxSH TuxSH released this 15 Aug 20:23
· 1444 commits to master since this release

Sorry for the long wait, but as always we deliver πŸ˜‰.

Here is the new release (I'm the one doing it this time):

Both branches:

  • Add support for launching >= 6.x/7.x emuNANDs when the sysNAND is on a lower version (on entrypoints other than a9lh)
    • If you want to launch a 3.x or 4.x NAND, you have to place a recent enough firmware.bin (corresponding 10.x for example) under the luma folder (this is not a new feature)
  • Conversely, firmware.bin support has been removed when booting a >= 6.x NAND. "SysNAND is updated (A9LH-only)" has been renamed to "Use SysNAND FIRM if booting with R (A9LH)" to reflect its only new purpose
    • If you were using firmware.bin solely for BootNTR, update the latter (BootNTR has been updated to support 11.0)
  • Add support for loading titles' code section from /luma/code_sections/<titleID>.bin (this is useful for homebrew like SaltySD)
  • Enable the reboot patch on 9.0/9.1/9.2 FIRM
  • Implement a PIN-checking system: you can set a 4-key combinaison (using A, B, X and Y) that be checked when Luma3DS is launched (thanks to @reworks)
    • If you want to change your PIN, unselect the corresponding option in the configuration menu, save your configuration settings, then set that option again
  • The screens' brightness is now updated "interactively" when the corresponding option in the configuration menu is changed. This works even if the screen has been initied before Luma3DS has started running
  • Replace "Enable splash screen with no screen-init" by "Display splash screen before payloads" to fit a category of splash screens (as the screens will now be initied if and only if there are splash screens to display)
  • The luma folder will now be created automatically when saving the configuration for the first time (thus it has been removed from the release archive)
  • Other minor adjustments have been made to enhance the user experience

Developer branch only:

  • Implement arm11 exception handling (for NATIVE_FIRM only, unlike on arm9 where exceptions are handled everywhere, homebrews and Luma3DS itself included)
  • The arm9 exception handlers were improved (more information is dumped, bug fixes, etc.)
  • For both arm11 and arm9 exception handlers:
    • Prevent double faults (when SP or PC were invalid)
    • Handle svcBreak (this dumps the user-mode at the executed svc 0x3c instruction)
    • Handle kernel panics (except on SAFE_FIRM)
    • /luma/dumps/arm9 and /luma/dumps/arm11 are now be created automatically when they don't exist
    • Reminder: this feature can only work on a9lh, and is guaranteed to work only if Luma3DS is launched as arm9loaderhax.bin
  • Exception handlers and related FIRM patches are now always enabled. The "Developer options" entry is now multi-choice, enabling you to choose between a standalone ErrDisp patch and the UNITINFO patch (both will make ErrDisp display some debugging information, but the UNITINFO patch will create problems with the eShop, amiibo, etc...)
  • Depending of the firmware being launched, firmware.bin, firmware_twl.bin, firmware_agb.bin or firmware_safe.bin will now always be read and used if they exist
  • Add support for reading the built-in kernel system modules (except for SAFE_FIRM) from /luma/sysmodules/<module>.cxi (this includes, of course, loader.cxi)
  • Add an option to disable various access checks: svc access checks and service access checks (patches courtesy of @Subv), FS archive access checks and arm9 exheader flags access checks
  • Removed the patch which disabled execution protection on two particular global kernel mappings (corresponding to FCRAM and VRAM, respectively) as it was totally unused
  • Other minor adjustments have been made to enhance the developer experience