Moonshot

Moonshot is a proposal for a new UI shell, launcher, and in-game OSD for the Nintendo 3DS, replacing the Home Menu and possibly other system applications.

Project breakdown

Moonshot, like the 3DS Home Menu and shell before it, is a modular framework built from many individual components. Each module has a three-character module ID, which is used with the 3DS IPC mechanism to identify and communicate across these components, and launch them as if they were HOME Menu/shell components.

Frontend Applications

The Frontend Applications greet the user at the boot of the console, providing a list of titles to launch and options to configure.

  • roc Rocket - the main laucher frontend. This is the primary “regular” application the user will launch and manage titles from.
  • shu Shuttle - a lightweight (read: ugly) shell application, meant to boot quickly and perform simple tasks quickly.

Initialization Stack

The init stack is responsible for the bringup of the system immediately after the firmware/kernel is booted.

  • _LP LaunchPad - Stands in for the 3DS HOME Menu in the init phase.
  • VAB, the Vertical Assembly Bootstrapper - A part of Launchpad, which launches one Application for testing.

Core Menu Services

The Core Menu Services are responsible for handling background and system tasks.

  • hou Houston - Service broker for NS and APT. Does background/sleep mode tasks, and takes over for LaunchPad post-init.
  • _GC GroundControl - System applet, runs in place of HOME menu. Handles startup and teardown of applications, and hosts Booster.
  • Boo Booster - In-game OSD for notifications/status, and HUD menu, accessible from the Home button.
  • _MT MajorTom - An in-system debugger, and debug facilities, hosted by GroundControl. Replaces ErrDisp.
© 2025 significant bit - cc-by
Cookie disclosure: This blog stores two cookies for visitors - one for your light/dark theme setting, and one session cookie for the duration of your browsing session.
CC Attribution 4.0 International