Releases: LumaTeam/Luma3DS
v11.0
- Migrate the configuration to INI format (
config.bin
becomesconfig.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 forfs
) 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 editconfig.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
- 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
- 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
- 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
v10.1.2
- Fixed cheats not working at all (v10.1.1 regression)
- Fixed WiFi forcing not working at all (v10.1.1 regression). Also fixed other related bugs, including the mishandling of non-reachable access points
- Fixed a long-standing issue where the debugger and InputRedirection would hang for a long time and fail to recover if there was no internet
- Fixed a long-standing issue where the console would take a long time to power off/reboot/firmlaunch if either the debugger or InputRedirection were left enabled. Please note that this still happens if both are left enabled at the same time
v10.1.1
- Fixed multiple issues affecting shutdown (and reboot, firmlaunch) time. Shutdown time should be reduced to around 2.5~3.5s (from 16s):
- A regression from v10.1 that was also potentially affecting startup times
- A regression from v10.0
- A bug back from 2016 causing shutdown times to be 1.5 to 5.5s longer than normal
- Fixed an issue where some Luma builds wouldn't boot
- Fixed most remaining cases where you would get an Arm9 svcBreak with
0xC8804465
, in particular if you pressed the SAFE_MODE combo very late (this was a long-standing issue) - 3DSX: increased the maximum core1 CPU time limit for
APT_SetAppCpuTimeLimit
from 30% to 89%
v10.1
- Fixed booting on 4.x (*)
- Allowed launching 3dsx apps on < 8.x where Rosalina is supported (currently, 4.x and above)
- Added two new options in Rosalina's "System configuration" submenu:
- the option to force a WiFi network, allowing to use local-network homebrew even if the connection test would fail (@LiquidFenrir)
- the option to disable short POWER button presses in Rosalina->System configuration (@izzy84075)
- Changed a few things in the NTP submenu:
- added the ability to offset the time in the NTP menu by any number of minutes (@nathanhitch)
- changed the default IP to that of
time.windows.com
, not blocked in mainland China
- Added support for BPS patches (@leoetlino)
- Arm9 menu: check for button combos again after the PIN and/or splash screens
- Fixed a few bugs in
loader
sysmodule that were causing crashes (@leoetlino, #1375: @Lizardon1, @muhmuhten) - Fixed a few bugs in other sysmodules (@lioncash, @piepie62, @oreo639, @mariohackandglitch), including one that would cause erroneous
errdisp
screens to show - General system stability improvements to enhance the user's experience
In addition, with thanks to @fincs, this release of Luma3DS comes bundled with version 2.1.1 of the Homebrew Menu.
To update, simply drag and drop boot.firm
and boot.3dsx
to the root of your SD card, as always.
(*) The space left for Rosalina on this system version (and maybe a few other system versions) is running out; the level of support for it may be reduced to that of 3.x in the future
v10.0.1
This is a hotfix release, with critical regression bugfixes and no new features. Users are strongly advised to upgrade.
- Fix LayeredFS
- Fix N3DS-specific applications improperly closing
Previous hotfixes:
- Fix process list memory viewer
- Fix NTP client not setting time and date correctly due to one RTC not properly being set to 0. Also fix one related UI bug
- Merge #1266
v10.0
We know it's been a long time, but here it is:
HOTFIXED (June 30, 14:00 CEST):
- Fix process list memory viewer
HOTFIXED (17:15 CEST):
- Fix NTP client not setting time and date correctly due to one RTC not properly being set to 0. Also fix one related UI bug
- Merge #1266
-
New feature: NTP client
- Located in the "miscellaneous" Rosalina submenu, this fetches the time from time1.google.com (hardcoded IP) by default
- This sets the config savefile RTC offset 0, hence the displayed by Home Menu will also be the time that Arm9 programs like GM9 will see
- Consequently, Luma3DS's own Arm9 code will properly set the date and time when modifying or creating new files
-
New feature: blue light filters (thanks to @panicbit, #1065)
-
Lots of cheat engine bugfixes and improvements thanks to @piepie62 (multiple PRs), in addition to @tstambaugh92 's bugfixes (#1116, #1117)
- most CTRPF-AR code types now supported
- more cheats can be loaded at once
-
New reimplemented sysmodule: pm
- Number of max. pm:dbg sessions increased for Rosalina usage
- New pm:dbg commands: GetCurrentAppTitleIdAndPid, DebugNextApplicationByForce, LaunchTitleDebug (mainly for gdbstub usage)
- Debug restrictions lifted for the gdbstub
- Service restrictions lifted for Cubic Ninja
-
Lots of gdbstub improvements:
- Added support for debugging application at their very start (new option in Debugger submenu)
- Added support for
target extended-remote
- You do not need to select a process to attach to in process list anymore using this, although it still works absolutely fine
- You will see a nice process list in IDA
- When launching new processes: only
titleId [mediaType [launchFlags]]
is supported, and the launched title shouldn't rely on APT and all 3 parameters should be hex-encoded (see e11cc09)
- Added support for accessing host files (including stdin/stdio/stderr) from target 3DS programs. Support for it has been added in libctru
- Added support for accessing target SD-card files from the host (
remote put
,remote get
andremote delete
) - Doubled packet size
- Many bugfixes
-
Fixed critical bugs in sm: one causing a crash when launching the camera applet when another title was using the camera, another possibly affecting sleep mode
-
Fixed a critical bug where Luma3DS's Arm9 code would spam I2C requests, causing some particular commits of popular Arm9 payloads to fail on New3DS units with IPS screens.
If the issue still arises, put multiple payloads in the folder and use the chainloader menu to work around it -
Reworked build system. Armips is no longer required.
-
Always dump errdisp errors to
/luma/errdisp.txt
-
Upgraded FatFs to R0.13c
-
Upgraded I2C driver in Arm9 code
-
Fix screens not working on firmlaunch, firmlaunch errors will now be displayed on screen
-
Patch 11.8+ NIM-related Process9 to send all-zero key and IV when the UNITINFO patch is enabled (thanks to @luigoalma, #1142)
-
Hide EmuNAND options when there is no EmuNAND present on the console
-
Fix minor bugs involving DS(i) title autoloading
-
Many other bugfixes
-
Note: the pm reimplementation currently breaks NTR CFW to some extent (in particular game plugins). The abandoned "NTR CFW" is now unsupported, even if it may work.
- A solution for future versions is being worked on.
- It may be possible to change NTR CFW source code for it not to inject itself into pm, since Luma3DS removes svc permission checks anyway, to mitigate the issue. We do not have the time to do that ourselves
- It is not possible to disable custom pm
In addition, with thanks to @fincs, this release of Luma3DS comes bundled with version 2.1.0 of the Homebrew Menu.