Hacking Atmosphere-NX - Custom Firmware in development by SciresM

  • Thread starter Thread starter Waze0613
  • Start date Start date
  • Views Views 2,771,009
  • Replies Replies 9,349
  • Likes Likes 93
I may have updated by mistake, but take it easy Scires. You're doing great enough, and I'd rather you were healthy than pleased a few people who are impatient for a Atmosphere update. I'll wait months if I have to. Don't worry, mate. :)
Your health is first and foremost on most people's minds.
 
Last edited by Klavice Gavin,
  • Like
Reactions: Chocola
It's not like it brings anything shiny to the table for the end user.

It looks like support for Bluetooth audio has finally been added (but not yet active?), this is a huge and long awaited feature for many of us!
The IPC<>btstack code was rewritten. C++ objects with vfuncs are now used by commands, instead of the interface funcptr tables. Various structs/enums were updated/etc.

The Adapter commands were updated, which in the process vulns were fixed.

RespondToPinRequest now actually uses the input PIN instead of hard-coding it.

StartInquiry was updated.

Support for bluetooth audio was added. Note however, that the audio-sysmodule still doesn't use the btdrv service.

Source:
https://switchbrew.org/wiki/12.0.0
 
It looks like support for Bluetooth audio has finally been added (but not yet active?), this is a huge and long awaited feature for many of us!


Source:
https://switchbrew.org/wiki/12.0.0

They refactor whole bluetooth and yes, add support for audio bluetooth but isn't used for now.

I hope that they implement it with the online services update and deprecate the mobile app.
 
12.0.0 is a very major update under the hood in a way that is particularly difficult for atmosphere to deal with. I'll be giving updated support my all, but it will probably take a little longer than usual (I'm thinking on a timescale of a few extra days).

(I am also kind of sick right now, from pfizer vaccine side-effects. That might add a day or two, as well).

I obviously apologize for the inconvenience; I'll be doing my best.

Nintendo has switched the `sm` sysmodule (ipc server manager) to use a different, much leaner IPC protocol.

This new protocol will need to be reverse engineered and re-implemented for atmosphere to support 12.0.0; all homebrew which registers IPC servers will need to be recompiled, and this is kind of unavoidable.

I'm going to cut some corners to get support out the door faster -- the mitm API won't support the new IPC protocol at first, since that will take design thought and I don't want to rush it -- but the only service using the new protocol besides SM right now is pgl which nobody is mitm'ing so I think that's fine.

(Unfortunately, atmosphere reimplements pgl, so that's a little extra work on my plate, too).
Take care. Hope you feel better!
 
  • Like
Reactions: Chocola
If you update your sysnand to 12.0, it updates the gamecard firmware, so you might need to force enable nogc ("nogc = 1" under [stratosphere] in /atmosphere/config/BCT.ini) to boot 11.0.1 emunand.
 
OTE="BaamAlex, post: 9434901, member: 458126"]Why downgrade?[/QUOTE]
At that time my 3ds couldn't start at all with the new firmware, so restoring a NAND of low firmware was the only way of getting a working 3DS until new CFW was released.

Since then I really love emuNAND
 
Last edited by impeeza,
Is it fair to say that Atmosphere is the new SXOS? I know Atmosphere has been around for a while now but I haven't used it.
 
SX os has always been the old Atmosphere, they apply atmosphere patches after cherrypicking them up from atmos github.

I totally forgot about that.Good point. Well, let me start familiarizing myself with it then. Thanks.
 
12.0 support is coming soon

## 0.19.0 changelog
+ Support was added for 12.0.0.
+ `mesosphère` was updated to reflect the latest official kernel behavior.
+ `sm`, `boot2`, `pgl` were updated to reflect the latest official behaviors.
+ **Please Note**: 12.0.0 added a new protocol for IPC ("tipc"), which has been freshly reimplemented in its entirety.
+ It is possible there may be as of yet unfound issues; if there are, please send the appropriate crash reports to SciresM (SciresM#0524 on discord).
+ `erpt` was partially updated to reflect the latest official behaviors.
+ New features were added to erpt to track the activity of running applets, and to detect when a forced shutdown occurs.
+ These behaviors have been temporarily stubbed, as they are not necessary for 12.0.0 to run (and their outputs won't be saved anywhere).
+ A future atmosphère update will implement these behaviors, in the interest of reflecting official logic as faithfully as we can.
+ Atmosphère no longer uses the /contents/ folder for its own programs.
+ Atmosphère's system modules are now bundled together in the single file "stratosphere.romfs".
+ For those working on developing for atmosphère, executables inside the /contents/ directory will be preferred to those in "stratosphere.romfs".
+ **Please Note**: In order to facilitate this change (and the desired behavior), the first time you boot after extracting a release zip, atmosphère system modules inside /contents/ will be deleted.
+ This will have no impact on user programs (it only removes programs with specific program ids).
+ Improvements were made to mesosphere, including:
+ An extension InfoType was added for getting the current process handle, without having to spawn a thread and do IPC with oneself.
+ An issue was fixed in SvcSetDebugThreadContext.
+ An issue was fixed when doing IPC with user buffers.
+ Support was fixed for toggling the custom setting `usb!usb30_force_enabled` on 9.0.0+.
+ This was broken by Nintendo's introducing a dependency that made USB a requirement to launch before custom settings are parsed.
+ Since the fix, you can now toggle the setting (as you could prior to atmosphère 0.9.4), and it will work as expected.
+ **Please Note**: Enabling USB 3.0 often severely impacts wireless communications.
+ Because of this, the setting will default to off. If you experience issues with it enabled, consider disabling it.
+ A warning was added to daybreak when resetting the console to factory settings.
+ Substantial work was completed towards atmosphere's upcoming implementation of the host target connection protocol.
+ Once completed, users will be able to interact with a Switch running atmosphère via a PC application ("Starlink") currently under development.
+ Planned eventual features for connected consoles include a gdbstub, interacting with memory (for cheat development), streaming gameplay audio and video, and accessing the Switch's SD card filesystem.
+ Switch homebrew will also have access to a (configurable and sandboxed) filesystem on the host PC, while connected.
+ Towards this end, the following was accomplished:
+ The "htc" system module was reimplemented completely.
+ The system module which provides remote access to the SD card was reimplemented completely.
+ This is currently the active focus of atmosphère's development.
+ **Please Note**: Support is not yet completed, and users are disadvised from interacting with the related settings for the time being, unless they particularly know what they're doing.
+ A number of minor issues were fixed, including:
+ A bug was fixed in `dmnt` that could cause a fatal when launching certain games with cheats active.
+ An issue was fixed that could cause an abort in `sm` when using a large number of custom system modules.
+ An issue was fixed that prevented launching gamecards on 1.0.0.
+ Minor issues were fixed in the cheat virtual machine's behavior.
+ Several issues were fixed, and usability and stability were improved.
 
Had to remove sys-tweak to boot new atmosphere 0.19.0, I'm assuming it needs updating for the new ipc because it uses mitm.

Thanks SciresM as always for the speedy update!
 

Site & Scene News

Popular threads in this forum