Releases: LumaTeam/Luma3DS
Release list
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_SetAppCpuTimeLimitfrom 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
loadersysmodule 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
errdispscreens 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 getandremote 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.
v9.1
- Fix 11.8 compatibility
- Add experimental cheat engine (by @Duckbill007)
- Fix Rosalina menu interactions with 3dsident, etc.
- Implement "monitor getmemregions" gdb command (by @Nanquitas)
- Fix freeze when attempting to open Rosalina before the system finished to boot (by @Nanquitas)
- Add configurable splash duration (by @Qyriad)
- Add bottom screen splash image (/luma/splashpin.bin) to be shown on the PIN insertion screen (by @Qyriad)
- Make it possible to still boot using an external FIRM in case the CTRNAND FIRM can't be read
- Other fixes
v9.0 Joyconhax Edition
(April Fools, obviously)
As the 3DS rapidly approaches end of life, and DS flashcards are becoming harder to find, we've been busy looking into new ways to load Luma onto supported hardware. We're pleased to announce that our research has yielded a new boot method: joyconhax! Joyconhax is simple, easy, and only requires a pair of Switch joycons.
Use is simple: place the JoyCons within close proximity to the sides of your 3DS to establish direct kernel access, pair the joycons with your host computer, and upload the Luma3DS FIRM file to the drive that pops up. Have fun!
v9.0
Here's our holiday gift to you :)
- Use open source reimplementations of the SM and PXI FIRM modules
- Fixed breakpoints in the Rosalina debugger (thanks @Nanquitas)
- Added RAM viewer/editor/dumper feature to Rosalina (thanks @LiquidFenrir)
- Rosalina now cleanly reboots the console when the option is selected
- Fixed Rosalina screenshots for RGB5_A1/RGBA4 framebuffer formats (used for example in Virtual Console titles)
- Stubbed isTitleAllowed to allow Nintendo-blocked titles to launch (outdated Ironfall/Flipnote Studio 3D/etc)
- ARM9 exheader and FS patches are now always applied as they cause no drawbacks
- Throw an error if file writes or emuNAND boot are attempted while the SD card is write-locked
- Display boot source on the bottom screen in the config menu
- The console will now shutdown when the shell is closed in the Luma menus, unless the user booted via ntrboot
- Numerous Exception Handler fixes
- FatFS updated to v0.13
- Check if NWM is running before allowing WiFi toggling in Rosalina
- Screenshots are now sorted by date/time using osGetTime, removing the counting delay if the user has a lot of screenshots, thanks to @Hayleia!
Note: BootNTR is broken in this version, unless you use the latest commit, not release from this repo: https://github.com/Nanquitas/BootNTR
Edit (20/12/17 18:28 EST): BootNTR Selector v2.10 has been released with support for Luma v9.0, you can now use the latest release instead of needing to manually compile the latest commit!
Notes on the changes made to Rosalina's debugger:
- The physical memory access "bit31" mapping (0--0x30000000 => 0x80000000--0xB0000000) as well as privileged (kernel) mappings confuse debugger clients like IDA's which interpret the value of the registers. Access to those mappings can be toggled using "monitor toggleextmemaccess" instead (issue reported by @Nanquitas).
- Additionally, support for the buggy IDA 6.8 gdb client was removed. Please use IDA 7.0 or higher.
P.S: IDA 7.0 added client support for no-ack mode (Debugging options > Set specific options), which should be enabled to make debugging twice as smooth. "Use stepping support" should be unchecked.
v8.1.1
- Add WiFi and LED toggling in Rosalina
- Add loading of extended headers from SD card/CTRNAND, they can be loaded from /luma/titles/TITLEID/exheader.bin. Among the other things, this also allows to load bigger code.bins
- "Logged" ErrDisp errors are now written to /luma/errdisp.txt without causing an error screen
- Fix LayeredFS for Pokemon Art Academy and possibly other games which mistakenly load files from rom:// instead of rom:/
- Fix conflict between emunand selection and payload booting when "Autoboot EmuNAND" is checked, you now need to press L + DPad to boot payloads if that option is checked
- Rearranged options in the Rosalina menu
- Fix warnings with devkitARM r47
Note: given the efforts in supporting two separate codebases and the lack of confirmed issues which can be attributed to the changes in 8.1 compared to "legacy" Luma, we're discontinuing that branch. If you have an issue which you can reproduce on this release (test at least twice to make sure it can be reproduced) but not on a "legacy" build, please submit an issue to this GitHub repository. We will fully discontinue the "legacy" codebase in 2 weeks from now if no such issue is reported and verified.
v8.1
- Add saving of Rosalina settings (key combo and homebrew title ID)
- Add a reboot and a power-off option in the "Miscellaneous" Rosalina menu
- Display the IP address on most menus when either InputRedirection or the GDB stub (or both) is enabled
- Full support for system versions >= 4.0
- Partial support (all arm9 patches, but no arm11 patch) for 3.0
- Halve the time necessary to take a screenshot
- Boots around 1 second faster on New 3DS
- Add region-free patch for e-manuals
- Add DSP firmware signature patch by @MerryMage
- Fix InputRedirection, C-stick/ZL/ZR redirection works in games too
- Fix langemu bugs
- Fix write-only hardware watchpoint support in the gdbstub
- Fix random boot issues
- Fix booting on 2.x and 1.x dev units
- Merge #561
- Fix building on macOS
- Other minor improvements and fixes
Existing software compatible with InputRedirection are InputRedirectionClient-Qt, InputClient-SDL, TPPFLUSH