Atmosphere est un custom firmware pour Nintendo Switch permettant de réécrire tout le code de l'OS.
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
With thanks to the @switchbrew team, Atmosphère 0.9.0 is bundled with hbl 2.1, and hbmenu 3.0.1.
The following was changed since the last release:
Creport output was improved significantly.
Thread names are now dumped on crash in addition to 0x100 of TLS from each thread.
This significantly aids debugging efforts for crashes.
Support was added for 32-bit stackframes, so reports can now be generated for 32-bit games.
dmnt's Cheat VM was extended to add a new debug opcode.
With thanks to/collaboration with @m4xw and @CTCaer, support was added for redirecting NAND to the SD card (emummc).
Please note, this support is very much beta/experimental.
It is quite likely we have not identified all bugs -- those will be fixed as they are reported over the next few days/weeks.
In addition, some niceties (e.g. having a separate Atmosphere folder per emummc instance) still need some thought put in before they can be implemented in a way that makes everyone happy.
If you are not an advanced user, you may wish to think about waiting for the inevitable 0.9.1 bugfix update before using emummc as your default boot option.
You may especially wish to consider waiting if you are using Atmosphere on a unit with the RCM bug patched.
Emummc is managed by editing the emummc section of "emummc/emummc.ini".
To enable emummc, set emummc!emummc_enabled = 1.
Support is included for redirecting NAND to a partition on the SD card.
This can be done by setting emummc!emummc_sector to the start sector of your partition (e.g., emummc_sector = 0x1A010000).
Support is also included for redirecting NAND to a collection of loose files on the SD card.
This can be done by setting emummc!emummc_path to the folder (with archive bit set) containing the NAND boot partitions' files "boot0" and "boot1", and the raw NAND image files "00", "01", "02", etc. (single "00" file with the whole NAND image requires exFAT mode while multipart NAND can be used in both exFAT and FAT32 modes).
The Nintendo contents directory can be redirected arbitrarily.
By default, it will be redirected to emummc/Nintendo_XXXX, where XXXX is the hexadecimal representation of the emummc's ID.
The current emummc ID may be selected by changing emummc!emummc_id in emummc.ini.
This can be set to any arbitrary directory by setting emummc!emummc_nintendo_path.
To create a backup usable for emummc, users may use tools provided by the hekate project.
If, when using emummc, you encounter a bug, please be sure to report it -- that's the only way we can fix it. :)
General system stability improvements to enhance the user's experience.
Version 0.8.4
Support for 7.0.0/7.0.1 was added.
This is facilitated through a new payload, sept, which can be signed, encrypted, and then loaded by Nintendo's TSEC firmware.
sept will derive the keys needed to boot new firmware, and then load sept/payload.bin off the SD card and jump to it.
Recognition of applications for override/mitm has been improved.
Nintendo's official Title ID range (0x0100000000000000-0x01FFFFFFFFFFFFFF) is now enforced.
A deadlock condition was fixed involving libstratosphere mitm sysmodules.
Kernel patches for JIT support were added (Thanks, @m4xw!).
These loosen restrictions on caller process in svcControlCodeMemory.
set.mitm and fs.mitm were merged into a single ams_mitm sysmodule.
This saves a process ID, allowing users to run one additional process up to the 0x40 process limit.
A bpc.mitm component was added, performing custom behavior on shutdown/reboot requests from am or applications.
Performing a reboot from the reboot menu now reboots to atmosphere. This can be configured via system_settings.ini.
Performing a shutdown from the reboot menu now works properly with AutoRCM, and does a real shutdown.
General system stability improvements to enhance the user's experience.
Version 0.8.3
A custom warmboot firmware was implemented, which does not perform anti-downgrade fuse checks.
This fixes sleep mode when using a downgraded NAND.
This also removes Atmosphère's final dependency on Nintendo's encrypted PK11 binary; all components are now re-implemented.
The ExternalContentSource API was changed to not clear on failure.
Content override now supports an "app" setting, that causes all applications to be overridden with HBL instead of a specific title.
Note: because override keys are system-wide, using this setting will prevent using mods in games (as every game will be HBL).
A bug was fixed causing incorrect fatal-error output when svcBreak was called on 5.0.0+.
An extension was added to set.mitm to support customization of system settings.
These are controlled by atmosphere/system_settings.ini, see here for documentation.
By default, this is used to disable error report uploading, and enable USB 3.0 superspeed when possible.
An extension was added to sm, adding a new sm:dmnt service.
This can be used by a debug monitor in order to debug the registration state of various other services.
A bug was fixed in the MitM API that could sometimes cause a system hang during boot.
A change was made to the MitM API: in cases where sm would have returned 0xE15 when installing a mitm service, it now defers the result (following GetService semantics).
Support for booting into maintenance mode by holding */- was added to PM.
An extension was added to exosphere, adding a custom SMC that allows for DMA to IRAM.
In addition, smcGetConfig was extended to reboot to a payload in IRAM at 0x40010000 when ConfigItem 65001 is set to 2.
Fatal will now use this to reboot to sdmc:/atmosphere/reboot_payload.bin if present, when a vol button is pressed.
An example homebrew ("reboot_to_payload") was also written and is now included with Atmosphère.
General system stability improvements to enhance the user's experience.
Version 0.8.0
Cette version ajoute le support du firmware 6.2.0 ainsi que une protection anti brick, et d'autres choses :
A custom fatal system module was added.
This re-implements and extends Nintendo's fatal module, with the following features:
Atmosphère's fatal does not create error reports.
Atmosphère's fatal draws a custom error screen, showing registers and a backtrace.
Atmosphère's fatal attempts to gather debugging info for all crashes, and not just ones that include info.
Atmosphère's fatal will attempt saving reports to the SD, if a crash report was not generated by creport.
Title flag handling was changed to prevent folder clutter.
Instead of living in atmosphere/titles//%s.flag, flags are now located in atmosphere/titles//flags/%s.flag
The old format will continue to be supported for some time, but is deprecated.
Flags can now be applied to HBL by placing them at atmosphere/flags/hbl_%s.flag.
Changes were made to the mitm API, greatly improving caller semantics.
sm now informs mitm services of a new session's process id, enabling custom handling based on title id/process id.
smhax is no longer enabled, because it is no longer needed and breaks significant functionality.
Users with updated HBL/homebrew should see no observable differences due to this change.
Functionality was added implementing basic protections for NAND from userland homebrew:
BOOT0 now has write protection for the BCT public key and keyblob regions.
The ns sysmodule is no longer allowed to write the BCT public keys; all other processes can.
This should prevent system updates from removing AutoRCM.
No processes should be allowed to write to the keyblob region.
By default, BIS partitions other than BOOT0 are now read-only, and CAL0 is neither readable nor writable.
Adding a bis_write flag for a title will allow it to write to BIS.
Adding a cal_read flag for a title will allow it to read CAL0.
An automatic backup is now made of CAL0 on boot.
fs.mitm maintains a file handle to this backup, so userland software cannot read it.
To facilitate this, fs.mitm now mitms all sessions for non-system modules; content overriding has been made separate from service interception.
Please note: these protections are basic, and sufficiently malicious homebrew can defeat them.
Please be careful to only run homebrew software from sources that you trust.
A bug involving HDCP titles crashing on newer firmwares was fixed.
Support was added for system version 6.2.0; our thanks to @motezazer for his invaluable help.
By default, new keys will automatically be derived without user input.
Support is also present for loading new keys from atmosphere/prod.keys or atmosphere/dev.keys
General system stability improvements to enhance the user's experience.
Au niveau des compatibilités, ça marche avec toutes les Switchs "première génération", celles construites avant juillet 2018.
Si vous êtes compatibles, vous devrez utiliser RCM (ou recovery mode) sur votre Switch pour lancer Atmosphere. Il s'agit de la technique utilisant les appuis simultanés des boutons "home" et "volume up", technique qui implique des bidouilles techniques étant donné que cette combinaison de touches ne peut se faire avec le joycon. Lisez ce guide pour savoir comment faire.
Site officiel : https://github.com/Atmosphere-NX/Atmosphere
Commentaires récents