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. ReplacesErrDisp
.