Luma3DS 10.0

On ne pensait plus voir la moindre mise à jour de ce fameux Custom Firmware qu’est Luma3DS, et pourtant ! La 3DS n’ayant plus la cote (auprès de Nintendo et, hélas, des développeurs) et la précédente version étant particulièrement stable, cette mise  à jour créée la surprise en ce jour caniculaire. Le changelog est, comme on pourrait s’y attendre après tant de silence, un véritable roman très intéressant à décortiquer. On notera, pèle-mêle, l’ajout de nouveaux sysmodules, la correction de certaines fonctionnalités et bugs critiques, qui émaillaient jusque-là la version 9.x.

Cerise sur le gâteau, cette nouvelle version est distribuée avec la dernière mise à jour de Homebrew Menu.


Nouveautés / Corrections :

We know it’s been a long time, but here it is:

  • New feature: NTP client
    • Located in the « miscellaneous » Rosalina submenu, this fetches the time from (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 putremote get and remote 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.