Skip to content

Releases: LumaTeam/Luma3DS

v13.0.2

12 Aug 20:13
Compare
Choose a tag to compare
  • Fix older system versions (4.x to 8.x) not booting since Luma3DS v13.0
    • On 4.x, Arm11 custom sysmodules have been disabled. This means no Rosalina and no region-free; if you're still on these system versions, please just upgrade after having installed Luma3DS.
  • Fix emuNAND support for system version 5.0 (and possibly some other ancient system versions like this one). This was a long-standing issue
  • Fix an issue where Arm11 svcBreak exceptions were not displayed as such since Luma3DS v13.0
  • Fix an issue with plugins related to Home Menu notification
  • Properly grant access to all Arm11-accessible IO to 3DSX homebrew
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience

v13.0.1

21 Jul 09:40
Compare
Choose a tag to compare
  • Fix a v13.0 regression where external FIRM module loading (such as TwlBg) was broken

v13.0 changelog:

  • Merged @PabloMK7 and @Nanquitas 's fork, adding plugin support. This allows mods like CTGP-7 to be played
    • NOTE: Due to planned changes (such as kernel reimplementation) older no longer maintained plugins or closed source ones may suddenly stop working at some point in the future. We advise to use open source and/or actively maintained plugins from trusted sources instead
  • Added support to replace the default TWL_FIRM (i.e. DS(i) software) convolution-based upscaling filter by the contents of /luma/twl_upscaling_filter.bin
    • You can find matrix examples here and Python code to convert them to the expected format there
  • Added support to allow Left+Right and Up+Down key combos in TWL_FIRM, although commercial DS(i) games usually prevent these combos on their own too
  • Added support for arbitrarily-sized and uncompressed TWL_FIRM and AGB_FIRM, when externally loaded from the /luma folder
  • Simplify sysmodule CXI loading and IPS/BPS patching: N3DS bit is now cleared when considering which CXI file to load from /luma/sysmodules. The path for IPS/BPS patches for sysmodules, and sysmodules only, has been moved to /luma/sysmodules/<titleId without N3DS bit>.ips (resp. .bps). This is a breaking change
  • Remove the "Use EmuNAND FIRM if booting with R" option and all related logic. This was a leftover of the Gateway era that has no place in 2023
  • Fixed a rare bug where the console would boot into 2 white screens
  • Other minor changes

v13.0

20 Jul 18:13
Compare
Choose a tag to compare
  • Merged @PabloMK7 and @Nanquitas 's fork, adding plugin support. This allows mods like CTGP-7 to be played
    • NOTE: Due to planned changes (such as kernel reimplementation) older no longer maintained plugins or closed source ones may suddenly stop working at some point in the future. We advise to use open source and/or actively maintained plugins from trusted sources instead
  • Added support to replace the default TWL_FIRM (i.e. DS(i) software) convolution-based upscaling filter by the contents of /luma/twl_upscaling_filter.bin
    • You can find matrix examples here and Python code to convert them to the expected format there
  • Added support to allow Left+Right and Up+Down key combos in TWL_FIRM, although commercial DS(i) games usually prevent these combos on their own too
  • Added support for arbitrarily-sized and uncompressed TWL_FIRM and AGB_FIRM, when externally loaded from the /luma folder
  • Simplify sysmodule CXI loading and IPS/BPS patching: N3DS bit is now cleared when considering which CXI file to load from /luma/sysmodules. The path for IPS/BPS patches for sysmodules, and sysmodules only, has been moved to /luma/sysmodules/<titleId without N3DS bit>.ips (resp. .bps). This is a breaking change
  • Remove the "Use EmuNAND FIRM if booting with R" option and all related logic. This was a leftover of the Gateway era that has no place in 2023
  • Fixed a rare bug where the console would boot into 2 white screens
  • Other minor changes

v12.0.1

28 Mar 20:28
Compare
Choose a tag to compare
  • Hide the "Force routing audio output to headphones" option from bootmenu, and extend it to force-route audio to speakers too
  • Fix handling of negative "brightness" values in screen filters advanced options
  • Clarify in bootmenu that the "autoboot homebrew" option is meant to launch the Homebrew Menu
  • Always crash when processes unexpectedly fail to load, to help troubleshooting
  • For sysmodules, code.bin and exheader.bin loading are now deprecated. CXI file loading should be used for those (see 12.0 release notes), and future release will make CXI loading more seamless

v12.0

09 Feb 01:33
Compare
Choose a tag to compare
  • Add a new "advanced configuration" submenu for screen filters, allowing for far more customization (notably, increasing gamma). It allows setting different filters for top and bottom screen separately, and all settings can be saved to the ini configuration file
  • Implement autobooting into Homebrew Menu, both in 3DS mode and in DSi mode:
    • DSi modes uses nds-hb-menu bootstrap's TID by default, and is a bit slow to start as it needs to go through the native 3DS OS first no matter what
    • Homebrew needs to be compiled with libctru v2.0.0 at a minimum, and libctru v2.1.2 is highly recommended to a bug fix
  • Move "Save settings" to top-level menu
  • Add ability to force routing audio to headphones. This is targeted to Bluetooth hardware mod users
    • One limitation is that this option gets undone if you actually insert then remove headphones in the headphones port, closing and re-opening the lid fixes this
  • Add ability to redirect application core1 threads to core2, on N3DS:
    • Only useful in very demanding games like PokΓ©mon (Ultra) Sun/Moon where it nets approx. a 10% gain, due to how the 3DS OS works
    • Might break some games and homebrew applications
  • Add external *.cxi non-KIP sysmodule loading (from /luma/sysmodules), when the "Enable loading external FIRMs and modules" option is enabled
    • The expected format is {titleId}.cxi (not the name, unlike KIPs), with {titleId} being a string of 16 hexadecimal digits, and with the N3DS bit taken into account
    • code.bin loading for sysmodules is still kept as a feature, but you now need to enable both this option and "Enable game patching" (for non-sysmodules only "Enable game patching" suffices)
  • Enable "game patching" features for all applets (not extensively tested), not just games or applications. This being said, LayeredFs might not work on things like the software keyboard, but "locale emulation" is expected to always work
  • Remove kernel check for creating core2/core3 threads. This has no bearing on homebrew being able to access core2, as it always has had the proper access bits. Moreover, you should not create threads on core3 as head-tracking takes most of the CPU time there & the graphics driver depends on head-tracking
  • Grant full DSP RAM access to all 3dsx homebrew
  • Move hb:ldr from Rosalina to loader reimplementation
  • Add disabled-by-default PASLR support in our custom loader reimplementation; this should match what the official sysmodule does 1:1
  • Fix a bug where an error telling the MCU firmware version was too low, even if this was always incorrect
  • Fix a very long-standing bug where sysmodules could incorrectly be killed when using the "Switch the hb. title to the current app." feature followed by closing the current app. This might have been causing issues with this feature and N3DS Health&Safety app in the past
  • Display the proper error messages when removing the gamecart or the SD card while playing a game on either medium, instead of a cryptic error code. Also add datetime information to errdisp.txt entries
  • General system stability improvements to enhance the user's experience

(libctru v2.1.2 and 3ds-hbmenu v2.4.1 will officially release later this week)

v11.0

04 Jun 23:27
Compare
Choose a tag to compare
  • Migrate the configuration to INI format (config.bin becomes config.ini)
    • This means that configuration is now human-readable, and makes situations like wanting to modify Rosalina's combo without opening its menu much easier to resolve
    • The following options have been removed from the config menu and moved to be exclusively in the INI file:
      • "Splash duration": this is because it can now be configured to take any 32-bit value (default: 3 seconds)
      • "Set developer UNITINFO",
      • "Disable Arm11 exception handlers"
      • "Enable Rosalina on SAFE_FIRM"
    • "Show NAND or user string in System Settings" is now enabled by default, when auto-generating a blank configuration file
  • Essential system files (bootROMs, OTP, HWCAL, LCFS, SecureInfo) are now automatically backed up to /luma/backups (upon upgrading Luma3DS, if not already present at that location)
  • Upon upgrading Luma3DS, boot.firm is now automatically copied to the root of the CTRNAND partition
  • Restore extended-remote support (this was broken with recent versions of GDB). Breaking change: use attach <PID+1> (e.g 1 for fs) to attach to a process, as GDB doesn't support PID 0.
  • Add option to toggle card slot (#1202)
  • Screen filters can now be saved to config.ini and restored at boot (you need to go to "Miscellaneous options > Save settings"). You can now even manually edit config.ini to use custom values for those (within the 1000 to 25100K range)
  • NTP timezone can also now be saved to config.ini; also fix a bug where some timezones would not be reachable
  • Fix a long-standing issue where some system calls took longer than they should, causing lags in some situations (thanks @PabloMK7)
  • Fix calculation of displayed battery voltage (thanks nocash)

v10.3

16 Mar 22:37
Compare
Choose a tag to compare
  • Add more detailed battery percentage, plus battery voltage and temperature
  • Add an option to dump the DSP firmware from Home Menu, effectively making programs like DSP1 obsolete
  • Split NTP and user time offset nullification. This means two things:
    • Time changes are immmediately visible and you do not need to reboot your console after using the feature anymore (although Home Menu might not always immmediately display the new time -- just open and close an application in that case)
    • Programs like ctr-no-timeoffset should not be needed anymore. Also, even if 3ds.hacks.guide recommends it and GodMode9 mandates it, time offset nullification should not be done
  • Also improve the precision of the NTP client implementation and fix a few bugs. It can be precise as +- 1ms (usually), although some of this precision is lost when rebooting
  • Do not initialize the screens in the very common case the user has only one payload in the /luma/payloads folder, effectively working around a long-standing bug
  • Fix reading emuNAND sector 0 for RedNAND and Gateway-style emuNAND (#1687, @aspargas2)
  • Fix a few bugs in the cheat system (#1623, @s5bug)
  • Add ASCII View to Rosalina Process List (#1703, @George-lewis)
  • Allow using game-patching on Home Menu (#1634, @gabe565)
  • Wait for the user to release the B key when exiting the Rosalina menu. This should prevent games to think the B key has been pressed (#1701, suggestion from @Epicpkmn11)
  • gdb: properly handle software breakpoints
  • General system stability improvements to enhance the user's experience

v10.2.1

17 Nov 02:06
c058e3f
Compare
Choose a tag to compare
  • Fix system version 11.14 not booting
  • Allow out-of-region Download Play functionality (thanks @Pixel-Pop)
  • Fix a rare issue where the Rosalina Menu wouldn't be displayed during application launch (thanks @Nanquitas)
  • General system stability improvements to enhance the user's experience

v10.2

16 Jul 17:33
Compare
Choose a tag to compare
  • Massively improved the screenshot feature:
    • Now takes around 100ms instead of 10s (speed may vary, and the first screenshot in a series is slower)
    • 800px top-screen mode is now supported
    • Rosalina menu options have been reordered to take this into account
  • Added brightness (luminance) selection submenu
  • Screen filters submenu improvements:
    • Changed the filter values, and there are now more of them
    • The selected filter is now properly restored when the lid is reopened
  • Removed the lag and crash associated to InputRedirection (thanks @Nanquitas)
    • On N3DS, this may cause a key press to be repeated in Home Menu for no reason. Just pressing ZL/ZR on the console is enough to fix this
  • Improved Rosalina menu handling:
    • C-Pad (left pad) can now be used to navigate the menu
    • You can now easily scroll through the menus by maintaining directional keys
    • InputRedirection can now be used to access and navigate the menu
    • New key options for the menu combo: C-Pad Left/Right/Up/Down & "Touch Screen Pressed" (sorry, no ZL/ZR)
  • Removed the need for the console to reboot again when switching to homebrew from a higher-memory game (e.g. PokΓ©mon Sun on O3DS -> configured homebrew title)
  • Homebrew can now write to the shared config page
  • Fixed the fact that the console would hang if sleep mode was entered when the Rosalina menu was open
  • Enabling either the debugger or InputRedirection will now prevent the console from going to sleep until both are disabled (to prevent the console from hanging)
  • Rosalina is now supported on N3DS SAFE_FIRM, including the homebrew launching functionality that comes with it:
    • This is controlled by a new option in the main Luma menu. That option also enables running 11.3-and-below system versions on N2DS and also allows the system to run even with defective head-tracking hardware
    • The newest release of the Homebrew Menu needs to be used (it comes bundled with Luma3DS in this release archive). You also need to rebuild all your homebrew with the latest libctru release. Some homebrew may not work, nevertheless
    • Some Rosalina features may not work properly there (e.g. the brightness and New 3DS submenus)
  • Separated the exception dump parser script to a new repository: https://github.com/LumaTeam/luma3ds_exception_dump_parser

In addition, with thanks to @fincs, this release of Luma3DS comes bundled with version 2.2.0 of the Homebrew Menu. (EDIT: replaced by hotfixed version)

v10.1.3

29 Apr 22:02
Compare
Choose a tag to compare
  • Fixed a bug that would cause the pxi module to crash on shutdown/reboot/firmlaunch for some people
  • Other minor changes