Atmosphère is a work-in-progress customized firmware for the Nintendo Switch.
Atmosphère consists of multiple components, each of which replaces/modifies a different component of the system:
- Fusée: First-stage Loader, responsible for loading and validating stage 2 (custom TrustZone) plus package2 (Kernel/FIRM sysmodules), and patching them as needed. This replaces all functionality normally in Package1loader/NX Bootloader.
- Exosphère: Customized TrustZone, to run a customized Secure Monitor
- Thermosphère: EL2 EmuNAND support, i.e. backing up and using virtualized/redirected NAND images
- Stratosphère: Custom Sysmodule(s), both Rosalina style to extend the kernel/provide new features, and of the loader reimplementation style to hook important system actions
- Troposphère: Application-level Horizon OS patches, used to implement desirable CFW features
Atmosphère is currently being developed and maintained by SciresM, TuxSH and hexkyz.
In no particular order, we credit the following for their invaluable contributions:
- switchbrew for the libnx project and the extensive documentation, research and tool development pertaining to the Nintendo Switch.
- devkitPro for the devkitA64 toolchain and libnx support.
- ReSwitched Team for additional documentation, research and tool development pertaining to the Nintendo Switch.
- ChaN for the FatFs module.
- Marcus Geelnard for the bcl-1.2.0 library.
- naehrwert and st4rk for the original hekate project and its hwinit code base.
- CTCaer for the continued hekate project's fork.
- Riley for suggesting "Atmosphere" as a Horizon OS reimplementation+customization project name.
- hedgeberg for research and hardware testing.
- lioncash for code cleanup and general improvements.
- jaames for designing and providing Atmosphère's graphical resources.
- Everyone who submitted entries for Atmosphère's splash design contest.
- All those who actively contribute to the Atmosphère repository.
Que novedades incluye la versión 0.8.5
Support was added for overriding content on a per-title basis, separate from HBL override.
- This allows for using mods on the same title that one uses to launch HBL.
- By default, !L is used for title content override (this is configurable by editing default_config!override_key in loader.ini)
- This key combination can be set on a per-title basis by creating a atmosphere/titles/<title id>/config.ini, and editing override_config!override_key.
Content headers were added for the embedded files inside of fusee-secondary.
- This will allow non-fusee bootloaders (like hekate) to extract the components bundled inside release binaries.
- This should greatly simplify the update process in the future, for users who do not launch Atmosphère using fusee.
Support for cheat codes was added.
- These are handled by a new dmnt sysmodule, which will also reimplement Nintendo's Debug Monitor in the future.
Cheat codes can be enabled/disabled at application launch via a per-title key combination.
- For details, please see the cheat loading documentation.
Cheat codes are fully backwards compatible with the pre-existing format, although a number of bugs have been fixed and some new features have been added.
- For details, please see the compatibility documentation.
An HIPC service API was added (dmnt:cht), that will allow user homebrew to interface with and control Atmosphère's cheat manager.
- Please see the relevant documentation.
- Full client code can be found in libstratosphere.
- Users interested in interfacing should see EdiZon, which should have support for interfacing with Atmosphère's API shortly after 0.8.5 releases.
- A bug was fixed that would cause Atmosphère's fatal screen to not show on 1.0.0-2.3.0.
- A bug was fixed that caused Atmosphère's automatic ProdInfo backups to be corrupt.
- General system stability improvements to enhance the user's experience.