Skip to content

Releases: LumaTeam/Luma3DS

v6.1.2

04 Sep 13:16
Compare
Choose a tag to compare

On both branches:

  • 1.x and 2.x NATIVE_FIRM are now supported on SysNAND with the FIRM writes patch, this allows you to update retaining A9LH on every system version.
  • PIN changes: you can now set the PIN length and easily change the PIN (you will get a prompt when exiting the config menu, which can be skipped with START), booting SAFE_MODE is easier with a PIN, the PIN file gets deleted when disabling the PIN lock.
  • The TWL dev launcher patch has been removed as it's no longer needed and causes incompatibilities with a lot of NTR/TWL games.
  • New config.bin format which allows to automatically discard the configuration as soon as it becomes incompatible with new Luma3DS releases.
  • Large amounts of code refactoring and cleanups.

On dev branch only:

  • Fixed crashes on New 3DS with the "Disable access checks" option enabled on FIRMs between 9.3 and 10.4. Unfortunately the service and archive checks patch can't work on said firmwares, and won't be applied.
  • ARM9 debugging has been removed from TWL and AGB FIRMs as it didn't work and didn't serve a real purpose.
  • The "Disable access checks" option has been renamed to "Patch SVC/service/archive/ARM9 access".

v6.1.1

26 Aug 22:51
Compare
Choose a tag to compare

On both branches:

  • Fixed a likely issue with the TwlBg patch and made it selectable, as it triggers antipiracy checks for some DS games and possibly causes other issues.
  • Fixed 3ds_injector picking up the previous boot configuration, which caused several bugs (like the NIM update patch activating when not needed - remember to select "Use SysNAND FIRM if booting with R" if you use a SysNAND setup).
  • 1.25s speed boost on boot.
  • Minor cleanups.

On dev branch only:

  • Fixed another critical bug in the exception handlers.

v6.1

25 Aug 20:15
Compare
Choose a tag to compare

On both branches:

  • TwlBg is now patched on-the-fly to implement the patch that allows NitroHax and other homebrews to work correctly (big thanks to ahezard, Normmatt et al. for the patches. No setup is required at all.
  • Fix various bugs

On dev branch only:

  • Fix critical bugs in the exception handlers.
  • The UNITINFO patch has been ported to TWL/AGB firms (though it's useless). Its behavior has been inverted for dev units.

v6.0.1

16 Aug 21:18
Compare
Choose a tag to compare

This is a quick release to (tentatively) address issues users are having with the .dat payload.

  • Updated ctrulib (should fix CakeBrah and menuhax 3dsx launchers)
  • Fixed bug that could cause a payload being mistakenly launched after creating a new pin
  • Minor cleanups

Note for dev branch users: there was a bug affecting exception handlers in this release. Please use the latest commit

v6.0

15 Aug 20:23
Compare
Choose a tag to compare

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

v5.5

27 May 14:36
Compare
Choose a tag to compare
  • Added RO patches, which allow you to load custom CRO files (mainly used for Pokémon romhacks)
  • Reimplemented svcBackdoor and patched out the anti-downgrade checks for the latest (11.0) FIRM
  • Added support for recovery mode (L+R+Up+A) on A9LH (you can safely update SysNAND from it without losing A9LH)
  • Added support for N3DS 9.5 FIRM
  • Luma3DS doesn't reboot the console anymore when exiting its configuration menu (useful for non-A9LH users)
  • Splash screen timings are now consistent, it always lasts exactly 3 seconds
  • Fixed the FRIENDS module patch not to break online play (as it did after the 11.0 update) on future system updates. Sorry for the inconvenience!
  • 3ds_injector can now be larger than the original FIRM loader (will allow for more patches)
  • Fixed compiling with latest ctrulib
  • Several performance improvements, and other minor changes and bugfixes

Developer version only:

  • Fixed the ARM9 exception handler
  • Registers are now displayed when an exception occurs
  • FCRAM and VRAM have been made executable from Kernel11
  • There are several bugs with the developer version for this release. These bugs were fixed in 6a28072 (download here)

v5.4

30 Apr 02:04
Compare
Choose a tag to compare
  • Remade the chainloader to only try to load the right payload for the pressed button. Now the only buttons which have a matching payload will actually do something during boot
  • Got rid of the default payload (start now boots "start_NAME.bin")
  • sel_NAME.bin is now select_NAME.bin as there are no more SFN/8.3 limitations anymore

Refer to the wiki for upgrade instructions.

v5.3.1

27 Apr 13:59
Compare
Choose a tag to compare

(Reuploaded because I screwed up)

  • Fixed NANDs with partial background updates using the new FIRM.

Please note I need testing with this change, as it might cause issues for Old 3DSes which used the Gateway launcher to downgrade the console in the past. I have verified this is probably not an issue as all the leftovers seem to be deleted after an update, but I'm still not 100% sure. If you notice a regression (Luma failing to boot) I'd like to know.

v5.3

26 Apr 20:36
Compare
Choose a tag to compare
  • Added a new version of the program targeted at developers. For now it has ARM9 exception vectors for payloads (thanks to the hard work of @TuxSH), and the UNITINFO patch to allow for some ARM11 userland debugging
  • Added L+A payload to the chainloader (the filename is "a_NAME.bin")
  • Added python version of the path changer from @TuxSH. Works on Python 2 and 3, refer to the wiki for usage instructions
  • Renamed the "Use SysNAND FIRM as default" option to "SysNAND is updated" to make it more understandable
  • Now the eShop update skipping patch is only applied if the updated NAND was not booted (depends on the "SysNAND is updated" option). This is a temporary fix to avoid the Home Menu downloads bug
  • Moved the UNITINFO patch to the developer version

v5.2

23 Apr 03:35
Compare
Choose a tag to compare
  • Changed name to Luma3DS, the wiki has also been changed accordingly. The new folder is just "luma", and a rename is enough
  • New logo/icon by squee666/izy
  • Very minor code cleanup.