Skip to content

Rosalina

Yuuki Hikari edited this page Nov 23, 2017 · 10 revisions

Rosalina is a custom sysmodule with a myriad of features for both developer and end user convenience, available once the 3DS is booted. We actively take feature requests for Rosalina; if you'd like to request a feature, you can do so here. The status of feature requests can be found here.

3DSX loading

  • 3DSX files can now be loaded seamlessly, and work just like installed titles; this means you can use the Home Menu and applets while a 3DSX application is running, use the GDB stub, etc.
  • By default, the title used to boot boot.3dsx is hblauncher_loader, but this can be changed at any time (Miscellaneous options > Switch the hb. title to the current app). Simply launch any title, use that option, close the title ; the next time you launch that title, it will run boot.3dsx.
    • Note: 3DSX applications will freeze if the takeover title is set to Health & Safety. This is being worked on and will be fixed.
  • No need for *hax payloads anymore.
    • Note: *hax payloads don't work under Rosalina due to the altered memory mapping, and versions of the Homebrew Launcher below the v2.0 will likely perform unreliably.

GDB Stub

  • A fully featured GDB stub for easy debugging.
  • Can debug up to 3 processes simultaneously (the process to attach to are to be selected in the process list menu)
  • To use the GDB stub, enable the debugger in the Rosalina menu detailed below), navigate to the the Process List and select processes you want to attach to. Make sure to disable the debugger when finished, otherwise your 3DS will not be able to cleanly shutdown/reboot/firmlaunch.
  • Compatible with both GDB and IDA Pro ("Use single-step support", in the specific debugger options prompt, should be unchecked).
  • Software breakpoints, 2 hardware watchpoints (globally), all basic features and many more, like catch syscall, info os, etc.
  • Can access the 80000000..B0000000 strongly ordered mapping (see Developer features) as well as privileged memory

InputRedirection

  • Allows you to control your 3DS using your PC with, for example, an external controller (Xbox360 controller, etc.). Should work with every game with minimal lag, depending on your connection latency.
  • C-stick/ZL/ZR redirection is N3DS-only, possibly only with newer games
  • Recommended clients are InputRedirectionClient-Qt (compatible with xinput on Windows, evdev on Linux, should be compatible with OSX) or InputClient-SDL.

Rosalina menu

Rosalina has an easily accessible menu, triggered by pressing L+Down+Select (by default; the key combo trigger can be changed in the Miscellaneous options menu). Many features are available from this menu:

  • Process List: A list of running processes.
    • Used as a selection menu when selecting which process to attach to the debugger, if it's enabled.
    • As of Luma v9.0, certain processes can be viewed by the RAM viewer by pressing A when the desired process is highlighted.
  • Take screenshot (slow!): As the name implies, this takes a screenshot and saves it to /luma/screenshots.
  • New 3DS menu: Allows you to enable/disable the higher clock speed and extra L2 cache available on the New 3DS/2DS even in games that would not normally support it.
    • Note: Some games don't work with the extra L2/clock speed and may freeze or crash. You can enable the clock increase and extra L2 cache independent of each other, so if you run into issues try disabling one or both.
  • Debugger options: Allows for enabling/disabling the built-in GDB stub.
  • System configuration: Options to modify the system state.
    • Toggle LEDs: The power and WiFi LEDs can be toggled on/off in this menu by pressing A.
      • Note: Entering sleep mode will reset the LED state, and the power LED state cannot be changed when the battery is low.
    • Toggle Wireless: Allows you to toggle the wireless connection on/off without flipping the hardware switch (older 3DSes) or returning to the Home Menu (newer 3DSes).
  • Miscellaneous options: A sub-menu containing the misc/various options not suited for any other menu.
    • Switch the hb. title to the current app: Detailed above, switches the takeover title to the currently running application. Will change to Switch the hb. title to hblauncher_loader if a takeover title is already selected.
    • Change the menu combo: Allows you to change the key combination that triggers the Rosalina menu to whatever you'd like. To do this, select this option and then press and hold the keys you'd like to set as the combination.
    • Start InputRedirection: Enables/disables InputRedirection, detailed above.
    • Save settings: Saves the Rosalina key combo and takeover title to Luma's config.bin, allowing custom choices to persist through reboots.
  • Power off: Powers the system off, bypassing the "Return to Home Menu" page that pressing the power button would show.
  • Reboot: Restarts the system.
  • Battery percentage: Remaining battery percentage is displayed in the bottom right of the menu.
  • Version info: The Luma3DS version and commit hash is displayed in the bottom left of the menu.