Hacking Atmosphére Release Date, Release Features And Planned Features Announced

TR_mahmutpek

medic
OP
Member
Joined
Jul 28, 2015
Messages
1,424
Trophies
0
Age
24
XP
1,996
Country
Turkey
https://github.com/Atmosphere-NX/Atmosphere/wiki/release-plans

0.7 will be Atmosphère's first official release. It will be released following the resolution of the remaining 0.7 Milestone issues.

Current best estimate for 0.7's release is August, 2018.

It will support the following featureset:

  • Fusée, a custom bootloader.
    • Supports loading/customizing of arbitrary KIPs from the SD card.
    • Supports compile-time defined kernel patches on a per-firmware basis.
    • Configurable by editing BCT.ini on the SD card.
    • Atmosphère should also be launchable by the alternative hekate bootloader, for those who prefer it.
  • Exosphère, a fully-featured custom secure monitor.
    • Exosphere is a re-implementation of Nintendo's TrustZone firmware, fully replicating all of its features.
    • In addition, it has been extended to provide information on current Atmosphere API version, for homebrew wishing to make use of it.
  • Stratosphère, a set of custom system modules. This includes:
    • A loader system module.
      • Reimplementation of Nintendo's loader, fully replicating all original functionality.
      • Extended to support arbitrary redirection of executable content to the SD card.
        • Files will be preferentially loaded from /atmosphere/titles/<titleid>/exefs/, if present.
        • Files present in the original exefs a user wants to mark as not present may be "stubbed" by creating a .stub file on the SD.
        • If present, a PFS0 at /atmosphere/titles/<titleid>/exefs.nsp will fully replace the original exefs on 2.0.0+
        • Redirection will be optionally togglable by holding down certain buttons.
      • Full support for patching NSO content is implemented.
        • All patches at paths like /atmosphere/exefs_patches/<user-defined patch name>/<Hex Build-ID for NSO to patch>.ips will be applied, allowing for easy distribution of patches supporting multiple firmare versions and/or titles.
        • Both the IPS and IPS32 formats are supported.
      • Extended to support launching content from loose executable files on the SD card, without requiring any official installation.
        • This is done by specifying FsStorageId_None on launch.
    • A service manager system module.
      • Reimplementation of Nintendo's service manager, fully replicating all original functionality.
      • Compile-time support for reintroduction of "smhax", allowing clients to optionally skip service access verification by skipping initialization.
      • Extended to allow homebrew to acquire more handles to privileged services than Nintendo natively allows.
      • Extended to add a new API for installing Man-In-The-Middle listeners for arbitrary services.
        • API can additionally be used to safely detect whether a service has been registered in a non-blocking way with no side-effects.
        • Full API documentation to come.
    • A process manager system module.
      • Reimplementation of Nintendo's process manager, fully replicating all original functionality.
      • Extended to allow homebrew to acquire handles to arbitrary processes, and thus read/modify system memory without blocking execution.
      • Extended by embedding a full, extended implementation of Nintendo's boot2system module.
        • Title launch order has been optimized in order to grant access to the SD card faster.
        • The error-collection system module is intentionally not launched, preventing many system telemetry error reports from being generated at all.
        • Users may place their own custom sysmodules on the SD card and flag them for automatic boot2 launch by creating a /atmosphere/titles/<title ID>/boot2.flag file on their SD card.
    • A custom fs.mitm system module.
      • Uses Atmosphère's MitM API in order to provide an easy means for users to modify game content.
      • Intercepts all FS commands sent by games, with special handling for commands used to mount RomFS/DLC content to enable easy creation and distribution of game/DLC mods.
        • fs.mitm will parse the base RomFS image for a game, a RomFS image located at /atmosphere/titles/<title ID>/romfs.bin, and all loose files in /atmosphere/titles/<title ID>/romfs/, and merge them together into a single RomFS image.
          • When merging, loose files are preferred to content in the SD card romfs.bin image, and files from the SD card image are preferred to those in the base image.
      • Can additionally be used to intercept commands sent by arbitrary system titles (excepting those launched before SD card is active), by creating a /atmosphere/titles/<title ID>/fsmitm.flag file on the SD card.
    • A custom crash report system module.
      • Serves as a drop-in replacement for Nintendo's own creport system module.
      • Generates detailed, human-readable reports on system crashes, saving to /atmosphere/crash_reports/<timestamp>_<title ID>.log.
      • Because reports are not sent to the erpt sysmodule, this disables all crash report related telemetry.
  • General system stability improvements to enhance the user's experience.
Planned
There are a number of features planned for inclusion Atmosphère that won't make the cut for 0.7's release. As they are implemented, Atmosphère's release version will tick upward from 0.7 to 0.8 to 0.9, and finally 1.0.

These currently planned features include (but aren't limited to):

  • Thermosphère, a hypervisor-based emunand implementation.
  • A feature-rich debugging toolset (a component of Stratosphère).
    • A custom debug monitor system module, providing an API for debugging Switch's processes. This may not be a reimplementation of Nintendo's own debug monitor.
      • This should include a gdbstub implementation, possibly borrowing from Luma3DS's.
      • This API should be additionally usable for RAM Editing/"Cheat Engine" purposes.
    • A custom shell system module, providing an means for users to perform various RPC (with support for common/interesting functionality) on their Switch remotely. This may not be a reimplementation of Nintendo's own shell.
      • This should support client connections over both Wi-Fi and USB.
    • A custom logging system module, providing an means for other Atmosphère components (and possibly Nintendo's own system modules) to log debug output.
      • This should support logging to the SD card, over Wi-Fi, and over USB.
  • An application-level plugin system.
    • This will, ideally, work somewhat like NTR-CFW's plugin system on the 3DS, allowing users to run their own code in a game's process in their own thread.
  • An AR Code/Gameshark analog implementation, allowing for easy sharing/development of cheat codes to run on device.
  • Further extensions to existing Atmosphère components.
  • General system stability improvements to enhance the user's experience.
 

DualBladedKirito

The Black Swordsman
Member
Joined
Sep 9, 2015
Messages
222
Trophies
0
Age
33
Location
United States
XP
951
Country
United States
I mean,doesn't really look special,reiNX already has sig patches and I don't think a lot of users care about a different trustzone or new custom sysmodules. I'm looking forward to it anyway.
I am excited for custom sysmodule actually. That will give us the possibility of plugins to use. It also might create new option for homebrew devs to develope for. The 3ds started on this with rosalina but it never really took off.
 

Ian095

Well-Known Member
Member
Joined
Jun 25, 2018
Messages
381
Trophies
0
XP
839
Country
United Kingdom
Kinda missed my chance as I updated to 5.1.0. I think the majority of users will miss out on this for a long time. Hey, at least Hekate/ReiNX does what most users want...
 

TR_mahmutpek

medic
OP
Member
Joined
Jul 28, 2015
Messages
1,424
Trophies
0
Age
24
XP
1,996
Country
Turkey
Emunand would be quite useful but cannot use the 32 gb emmc?! It shouldnt! So could we split emmc like 1gb+27gb (32 gb actually ~28 gb, you know this) and then sysnand on 1gb, emunand on 27 gb, sd card is for real sd card, not need to split sd card for emunand usage like on 3ds.
 

jimmyj

Official founder of altariaism. Copyright jimmyj
Member
Joined
May 26, 2017
Messages
1,485
Trophies
1
Location
Hyrule
XP
1,632
Country
United Kingdom
Emunand would be quite useful but cannot use the 32 gb emmc?! It shouldnt! So could we split emmc like 1gb+27gb (32 gb actually ~28 gb, you know this) and then sysnand on 1gb, emunand on 27 gb, sd card is for real sd card, not need to split sd card for emunand usage like on 3ds.
No,the ideal is to have emunand use it's "internal" storage,so we don't have to use other sd space.
 
  • Like
Reactions: TR_mahmutpek

andijames

Well-Known Member
Member
Joined
Jan 28, 2016
Messages
428
Trophies
0
Age
43
Location
Manchester
XP
759
Country
United Kingdom
Kinda missed my chance as I updated to 5.1.0. I think the majority of users will miss out on this for a long time. Hey, at least Hekate/ReiNX does what most users want...
This works on all firmwares.

Also do people realise the features you see in reinx / hekate are all born from this?

Looking forward to the massive flexibility of this. Many many uses. Hopefully one entry point.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    ZeroT21 @ ZeroT21: horny jail is full la