Atmosphère implements cheat support

37918415.png

It's no secret that Atmosphère was eventually getting a cheat functionality: such a thing was already listed in the planned feature set for Stratosphère's debugging module and @SciresM started working on it shortly after releasing version 0.8.4 of his CFW. However, thanks to some recent commits, it's now possible to get a proper taste of said feature in action!

The new module (dmnt-cheat) can be used by creating a text file containing a list of cheats for a game that will be activated upon launching the game and, optionally, a companion homebrew app to individually toggle them on or off directly from the Switch itself. The module uses the same cheat format as SX OS, meaning you can use codes meant for the former in Atmosphère and vice-versa. A new variable has been added to microsd:/atmosphere/system_settings.ini to toggle on/off defaults when cheats are enabled:

; Controls whether dmnt cheats should be toggled on or off by
; default. 1 = toggled on by default, 0 = toggled off by default.
dmnt_cheats_enabled_by_default = u8!0x1

Adding your own cheats is very similiar to how it's done in SX OS. You need to create a text file in the following path containing your cheat definitions:

microsd:/atmosphere/titles/<title id>/cheats/<build id>.txt

Regarding homebrew code managers, EdiZon has been updated to support interfacing itself with dmnt-cheats, however there is no stable version out yet so you will have to compile it from source if you want to use this new feature. One you have it on your Switch, you can get into its "Edit RAM" menu to toggle your cheats when a game is running in the background. Just like EdiZon, there is no precompiled Atmosphère build containing this system module, meaning you will either have to compile it yourself from source (if so, remember to use sept-secondary.enc from the previous release to make it compatible with firmwares 7.0.0/7.0.1) or wait for the next release.

The feature has been deemed fully functional, however it should be still considered a WIP for the time being - your mileage may vary!

:arrow: Source: Atmosphère's GitHub Repo
:arrow:
Source: EdiZon's GitHub Repo
:arrow: GBAtemp Threads: Atmosphère / EdiZon
 
Last edited by RattletraPM,
I mean, go to any thread that remotely reimplements an SX feature (ie. the 02xci thread). There's too many of them in those.

I wasn't even aware of that thread because of the constant barrage of voices saying CFW users don't want XCI support as it adds nothing of value.. just like USB HDD support.. apparently.

It'd be interesting to count the number of ''stealing SX OS features'' comments in all threads vs "SX OS stealing" THREADS.. I suspect maybe a 100X difference at least :lol:

Generally SX OS users are live and let live - choose whichever CFW suits your purpose and wallet best, we don't judge.
 
Sys-Cheats
If this is referring to sys-netcheat, that one doesn't have any cheats per se, it's solely used for in-memory modification. You load the KIP, then use a client on your PC to connect to the Switch and you can like, search and modify the memory using commands on the client.

That said, syntax appears to be identical to the SX OS cheats system (which is just the Gateway system), so I'd presume you can just use those cheats the way you already have used them.

Found this cheatdb when looking around, might be useful to people that want to mess with unstable AMS builds: https://github.com/zkitX/AMS-CheatDB
 
Once there's emuNAND, Atmosphere will do everything I need SXOS for and more.

if it also implements USB HDD / USB stick support then it'll equal my desire for everything SX OS can do... and I'll use it in future if SX OS don't put out a 7.x or higher firmware solution.
 
Will never happen to Atmosphère but Rei is on it for ReiNX as far as I know.
That'll probably be implemented in a different manner if he's doing that, as you quite literally can't legally clone the SX XCI loader since it uses official gamecard data (which is copyrighted to Nintendo).
 
Welp, there goes my need for SXOS and Sys-Cheat. @RattletraPM any idea how to port the Sys-Cheats or SXOS cheats to it?

@WerWolv congrats by the way, I expect you been touching it a lot ;) Do you know how it's possible to translate SXOS cheats into Atmosphere?
SX OS cheats are supposed to work out of the box, Atmosphère uses the same format. The only thing that changes is the folder - instead of putting the text file into microSD:/sxos/titles/<titleID>/cheats/<buildID>.txt you'll have to put it into microsd:/atmosphere/titles/<title id>/cheats/<build id>.txt

Just like in SX OS the build ID has to match with your game's own, otherwise they may not work (that's the case for different game versions)

Let's say I want to use the following BOTW cheats, build ID 16a91992bba71201:
Code:
580F0000 025ce340
780F0000 000020b0
640F0000 00000000 00000078
780F0000 00000bb0
640F0000 00000000 00000078
580F0000 025D04E8
780F0000 00082C88
640F0000 00000000 42f00000

[Max & Infinite Stamina]
580F0000 025d04e8
780F0000 00082c8c
640F0000 00000000 453b8000
780F0000 00000004
640F0000 00000000 453b8000
[Max & Infinite Health]

BOTW's Title ID is 01007EF00011E000 (you can get it via EdiZon, GoldLeaf, googling or your preferred method), so to add the cheats to Atmosphère I'll just have to save the cheats to a TXT file located in

microSD:/sxos/titles/01007EF00011E000/cheats/16a91992bba71201.txt

About the build ID, there's no easy way to get it that I know of (at least not in a quick and easy way directly from the console) however cheats usually come with whatever build ID of the game they're supposed to work on, so in 99% of the time you're good to go!

About sys-netchat, I'm still looking. It should be possible, at least for relative addresses made with the trick used in my guide, plus there's some useful documentation I could use in ReSwitched's Discord. If I find a way I'll make a guide about it! :P
 
SX OS cheats are supposed to work out of the box, Atmosphère uses the same format. The only thing that changes is the folder - instead of putting the text file into microSD:/sxos/titles/<titleID>/cheats/<buildID>.txt you'll have to put it into microsd:/atmosphere/titles/<title id>/cheats/<build id>.txt

Just like in SX OS the build ID has to match with your game's own, otherwise they may not work (that's the case for different game versions)

Let's say I want to use the following BOTW cheats, build ID 16a91992bba71201:
Code:
580F0000 025ce340
780F0000 000020b0
640F0000 00000000 00000078
780F0000 00000bb0
640F0000 00000000 00000078
580F0000 025D04E8
780F0000 00082C88
640F0000 00000000 42f00000

[Max & Infinite Stamina]
580F0000 025d04e8
780F0000 00082c8c
640F0000 00000000 453b8000
780F0000 00000004
640F0000 00000000 453b8000
[Max & Infinite Health]

BOTW's Title ID is 01007EF00011E000 (you can get it via EdiZon, GoldLeaf, googling or your preferred method), so to add the cheats to Atmosphère I'll just have to save the cheats to a TXT file located in



About the build ID, there's no easy way to get it that I know of (at least not in a quick and easy way directly from the console) however cheats usually come with whatever build ID of the game they're supposed to work on, so in 99% of the time you're good to go!

About sys-netchat, I'm still looking. It should be possible, at least for relative addresses made with the trick used in my guide, plus there's some useful documentation I could use in ReSwitched's Discord. If I find a way I'll make a guide about it! :P
Mother of god....!
 
That'll probably be implemented in a different manner if he's doing that
That goes without saying. ;)

--------------------- MERGED ---------------------------

as you quite literally can't legally clone the SX XCI loader since it uses official gamecard data (which is copyrighted to Nintendo)
If that's the case, the solution might be, like it almost is for copyrighted stuff: He'll implement a way so everyone can dump the needed copyrighted stuff on his own and put it in some res directory for his tool to use. We'll see.
 
  • Like
Reactions: Ev1l0rd

Site & Scene News

Popular threads in this forum