[3DS] Luma3DS V10.1.2 Released [AGGX2]

The Italian developer AuroraWright after almost a year of absence on the Nintendo 3DS scene has released by popular demand a new version of Luma3DS in version 10.1.2 It is a program to apply the system software of the (new) Nintendo 3DS portable consoles “on the fly”, adding features (such as language settings for the game and debugging capabilities for the developers) and removing the restrictions imposed by Nintendo . It also allows you to run unauthorized content (“homebrew”) by removing signature checks. To use it, you need a console capable of running homebrews on the ARM9 processor.

This version is no longer compatible with NTR-CFW plugins! NTR is no longer officially supported by Luma3DS

Curiosity

Rosalina is a custom sysmodule with a myriad of features both for the developer and for the convenience of the end user, available after starting the 3DS. It is composed of:

  • menu that can be opened at any time (combination: L + Down + Select , even if it is possible to modify it during execution), with:
    • A submenu with the list of processes (used to select the process to attack when the debugger is enabled)
    • A submenu of patch processes: FS and SM patches
    • An N3DS Clock + L2 submenu (hidden on O3DS)
    • A screenshot action. This is slow but it works
    • Other various options, see below
    • View the remaining battery percentage in the lower right of the screen, and in Luma3DS in the lower left
  • Input redirection :

    • Implementation thanks to @ Stary2001, based on the work of ShinyQuagsire
    • Allows you to control your 3DS using your PC, for example, an external controller (Xbox 360 controller, etc.)
    • It should work with every game with minimal delay
    • C-stick / ZL / ZR redirection is only on N3DS, perhaps only with newer games
    • Use  this client (compatible with XInput on Windows, evdev on Linux, it should be compatible with OSX) or this
    • If you enable this feature in the Home menu, applications will be prevented from disconnecting the 3DS from the Internet while they are running. This takes effect until the next reboot
  • 3DSX loading

    • Thanks to @fincs
    • 3DSX files can now be loaded seamlessly, and work exactly like installed titles (meaning you can use the Home menu and applet while a 3DSX application is running, use the GDB stub (see below), etc. )!
    • No need for * HAX payload anymore!
    • By default, the title used for booting boot.3dsx is hblauncher_loader, but this can be changed at any time (Various options> Turn on the hb title for the current application ..): Just launch any title, use this option, close the title; the next time you start that title, it will run on boot.3dsx
    • HAX payloads no longer work. You must use the Homebrew> = 2.0 menu version, which can be found here (and in the initial homebrew package later)
  • Improved  language emulation :
    • Language (and region) emulation should work for all games
    • You can now specify a country (2 codes per letter) and a state ID (2 whole hexadecimal digits), for example: EUR FR FR 01
  • Full GDB stub functionality :
    • Network code and skeleton thanks to @ Stary2001
    • Can debug up to 3 processes simultaneously (the attach process must be selected in the process list menu)
      • Use the process menu when the debugger is able to select the processes to attach.
    • Use -lctrudand -lcitro3ddinstead of -lctruand -lcitro3d-Og instead of -O2,   -fomit-frame-pointer build debug versions of your applications.
    • Compatible with both GDB and IDA PRO:
      • The GDB stub requires a patch to function. This patch is finally integrated into devkitARM .
      • GDB Stubs also work with IDA ( Use single-step support, in specific debugger options which should be selected).
    • Breakpoint software, hardware watchpoints 2 (worldwide), all basic features and many more, such as catch syscallinfo os, etc.
    • It can access 80000000..B0000000 highly ordered mapping, as well as privileged memory
    • If you enable this feature in the Home menu, applications will be prevented from disconnecting the 3DS from the Internet while they are running. This takes effect until the next reboot

For developers and further technical details can be read at this link

CHANGELOG

v10.1.2

  • Fixed cheats not working at all (regression v10.1.1)
  • Fixed issue with WiFi forcing not working at all (regression v10.1.1). Other related bugs have also been fixed, including incorrect handling of unreachable access points
  • Fixed a long standing issue where the debugger and InputRedirection would hang for a long time and would not recover in the absence of the Internet
  • Fixed a long standing issue where the console took a long time to shutdown / restart / sign if the debugger or InputRedirection were left enabled. Note that this still happens if both are left enabled at the same time

v10.1.1

  • Fixed several issues affecting shutdown time (and reboot, firmlaunch). The shutdown time should be reduced to approximately 2.5 ~ 3.5 seconds (from 16 seconds):
    • A regression from v10.1 which could also affect boot times
    • A regression from v10.0
    • A bug dating back to 2016 which resulted in shutdown times of 1.5 to 5.5 seconds longer than normal
  • Fixed an issue that prevented some Luma builds from starting
  • Fixed most remaining cases where arm9 svcBreak was obtained  0xC8804465, particularly if you hit the SAFE_MODE combo very late (this was a long standing problem)
  • 3DSX: increased maximum time limit of CPU core1  APT_SetAppCpuTimeLimitfrom 30% to 89%

v10.1

  • Fixed startup on 4.x (*)
  • Allowed to launch 3dsx apps on <8.x where Rosalina is supported (currently, 4.x and later)
  • Two new options added in Rosalina’s “System configuration” submenu:
    • the option to force a WiFi network, which allows you to use the homebrew of the local network even if the connection test fails (  @LiquidFenrir  )
    • the option to disable the short press of the POWER button in Rosalina-> System configuration (  @ izzy84075  )
  • Change some things in the NTP submenu:
    • added the ability to compensate the time in the NTP menu for any number of minutes (  @nathanhitch  )
    • changed the default IP to  time.windows.com, not blocked in mainland China
  • Added support for BPS patches (  @leoetlino  )
  • Arm9 menu: check the button combinations again after the PIN and / or the home screens
  • Fixed some bugs in the  loadersysmodule that caused crashes (  @leoetlino  ,  # 1375  :  @ Lizardon1  ,  @muhmuhten  )
  • Fixed some bugs in other systems (  @lioncash  ,  @ piepie62  ,  @ Oreo639  ,  @mariohackandglitch  ), including one that  causederrdisp  incorrect screens to display
  • General system stability improvements to improve the user experience

Also, thanks to  @fincs  , this version of Luma3DS is bundled with  version 2.1.1 of the Homebrew menu  .

To update, just drag and drop  boot.firmand  boot.3dsxto the root of the SD card, as always.

(*) The space left for Rosalina on this version of the system (and perhaps some other versions of the system) 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 version, with critical regression fixes and no new features. Users are strongly advised to update.

  • Solved LayeredFS
  • Resolves closing specific N3DS applications

Previous hotfixes:

  • Fixed the process list memory display program
  • Fixed The NTP client that was not correctly setting the time and date due to an incorrectly set RTC to 0. Also fixes a UI bug
  • Kingdom # 1266

v10.0

  • New feature: NTP client
    • Located in Rosalina’s “miscellaneous” submenu, this picks up time from time1.google.com (IP hardcoded) by default
    • This sets the RTC offset of config savefile 0, so the Home menu displayed will also be the time when Arm9 programs such as GM9 will see
    • As a result, the Arm9 code of Luma3DS will correctly set the date and time when editing or creating new files
  • New feature: blue light filters (thanks to  @panicbit  ,  # 1065  )
  • Lots of bug fixes and cheat engine improvements thanks to  @ piepie62  (plus PR), plus  fixes from @ tstambaugh92  (  # 1116  ,  # 1117  )
    • most of the CTRPF-AR code types now supported
    • multiple cheats can be loaded simultaneously
  • New sysmodule reimplemented: pm
    • Number of max. pm: dbg sessions increased for the use of Rosalina
    • New pm commands: dbg: GetCurrentAppTitleIdAndPid, DebugNextApplicationByForce, LaunchTitleDebug (mainly for using gdbstub)
    • Debug restrictions resolved for gdbstub
    • Service restrictions lifted for Cubic Ninja
  • Many improvements to gdbstub:
    • Added support for debug application at startup (new option in the Debugger submenu)
    • Added support for target extended-remote
      • It is no longer necessary to select a process to connect to the list of processes using this, although it still works perfectly
      • You will see a nice list of processes in IDA
      • When launching new processes: only it  titleId [mediaType [launchFlags]]is supported, and the launched title should not rely on APT and all 3 parameters should be encoded in hexadecimal (see  e11cc09  )
    • Added support for accessing host files (including stdin / stdio / stderr) from target 3DS programs. Support for this has been added in libctru
    • Added support for accessing target SD card files from host (  remote put,  remote gete  remote delete)
    • Package size doubled
    • Many bug fixes
  • Fixed critical bugs in sm: one that caused a crash when launching the camera applet when another title was using the camera, another could affect sleep mode
  • Fixed a critical bug where Luma3DS’s Arm9 code sent I2C requests spam, causing some particular Arm9 payload commits to be missed on New3DS units with IPS screens.
    If the problem still arises, put multiple payloads into the folder and use the chainloader menu to work around the problem
  • Reworked reconstruction system. Armor is no longer needed  .
  • Always send errdisp errors to /luma/errdisp.txt
  • Updated FatFs to R0.13c
  • Updated I2C driver in Arm9 code
  • Correction screens that don’t work on firmlaunch and firmlaunch errors will now appear on the screen
  • Patch 11.8+ Process9 NIM-related to send keys and all-zero IV when the UNITINFO patch is enabled (thanks to  @luigoalma  ,  # 1142  )
  • Hide EmuNAND options when there are no EmuNANDs present on the console
  • Fix minor bugs involving automatic loading of DS (i) titles
  • Many other bugfixes
  • Note: the reimplementation of pm currently breaks NTR CFW to some extent (especially game plugins). Abandoned “NTR CFW” is not supported now, although it may work.
    • Work is being done on a solution for future releases.
    • It may be possible to modify the NTR CFW source code to not inject itself into pm, since Luma3DS still removes the svc authorization checks, to mitigate the problem. We don’t have time to do it alone
    • Custom pm cannot be disabled

Also, thanks to  @fincs  , this version of Luma3DS is bundled with version 2.1.0 of  the Homebrew menu  .

 

GUIDE

Due to the censorship on Reddit of the page  / r / 3DShacks it is recommended to use this guide  by  Plailect

The guide is reserved for retail consoles only (i.e. those purchased in-store, not those obtained through the Nintendo Developer Program)!

DOWNLOAD

Luma3DSv10.1.2.zip

SOURCE

Github