This group provides cheat code authors to post works, share experience, learn and exchange
This group also provides cracking game players to get the latest and most complete cheats, and assist in testing
Since GBATemp is the most famous place in the industry, we hope to improve the content quality of this group
The main contents of this group include:
1. Publish personal originals.
2. Improve the quality of secondary creation (including version updates, repairs, and enhancements)
3. Request to create game cheats
4. Tutorial sharing on developing game cheat codes
For technical exchanges, sharing the code of others must attach the URL of the webpage published by the original author (do not copy the complete code)
Although the content of this group is very precious, it is provided for free, and it is not allowed to reprint it to commercial places or paid membership websites for profit.
can someone help Back (B) is gone in Beta98b pr8 (all I see is Back)
also how do you exit this screen other than Home Button? before when I press Save (B) it exits back.
Thanks!
can someone help Back (B) is gone in Beta98b pr8 (all I see is Back)
also how do you exit this screen other than Home Button? before when I press Save (B) it exits back.
Thanks!
I updated the default settings (since beta98a) for breezeoptions. If the file does not already exist, it will be created with default values, including setting the custom shortcut to 1 (no shortcut keys). This change aims to avoid confusion for new users unfamiliar with the shortcut keys. You can customize this setting as needed.
If you haven't removed breezeoptions, it’s possible the file became corrupted or you may have accidentally set this setting to 1.
For code creators I have added some dmnt enhancements. These will take a while to get into official atmosphere release, you can try them out by installing dmnt fork using the setting menu of Breeze beta98c.
Members-only download
This download link is for members of the Nintendo SWITCH Cheat Codes Download group. Join the group to see it. It's free.
You can have full addressing flexibility in code type 0, 1 and 5
Here is an example of how we currently do pointer cheats
[power]
580F0000 03809438
580F1000 000000B8
580F1000 00000000
580F1000 00000028
580F1000 00000010
580F1000 00000020
780F0000 00000068
640F0000 00000000 3FA00000
[Technique]
580F0000 03809438
580F1000 000000B8
580F1000 00000000
580F1000 00000028
580F1000 00000010
580F1000 00000020
780F0000 00000074
640F0000 00000000 41820000
[Gold]
580F0000 03809438
580F1000 000000B8
580F1000 00000000
580F1000 00000058
580F1000 00000018
580F1000 00000020
780F0000 00000068
640F0000 00000000 000F4240
To reuse chain that are common you don't have to make a save of the register, you can use a different register in code type 5
[power & Technique & Gold]
580F0000 03809438
580F1000 000000B8
580F1000 00000000
580E2F00 00000028 <= here you switch to use register E so the content of F is not modified by this line
580E1000 00000010
580E1000 00000020
044E0000 00000068 3FA00000 <= power
044E0000 00000074 41820000 <= Technique
580D2F00 00000058 <= reuse value of F here
580D1000 00000018
580D1000 00000020
044D0000 00000068 000F4240 <= Gold
With type 1 change now you can use it to test a memory without loading that memory into a register first
[power & Technique with check]
580F0000 03809438
580F1000 000000B8
580F1000 00000000
580E2F00 00000028 <= here you switch to use register E so the content of F is not modified by this line
580E1000 00000010
580E1000 00000020
14451E00 00000080 00000001 <= if offset 80 has 1
044E0000 00000068 3FA00000 <= power
044E0000 00000074 41820000 <= Technique
20000000 <= end if
The increased efficiency due to the addressing mode flexibility may mean cheats might now all fit into one file for those that use to have to be in multiple files.
You can perform floating point math.
You can do keydown for conditional key so you can make cheat that increment/decrement some value or make a key toggle something.
Here is the new documentation
Members-only download
This download link is for members of the Nintendo SWITCH Cheat Codes Download group. Join the group to see it. It's free.
This extension will take some time to propagate to the Atmosphere user base, until then user will have to manually install what I included in Breeze or to build their own dmnt from atmosphere source.
Keep in mind that usage of the extension will necessitate users to update and also almost certain to not be compatible with emulator.
For code creators I have added some dmnt enhancements. These will take a while to get into official atmosphere release, you can try them out by installing dmnt fork using the setting menu of Breeze beta98c.
Members-only download
This download link is for members of the Nintendo SWITCH Cheat Codes Download group. Join the group to see it. It's free.
You can have full addressing flexibility in code type 0, 1 and 5
Here is an example of how we currently do pointer cheats
[power]
580F0000 03809438
580F1000 000000B8
580F1000 00000000
580F1000 00000028
580F1000 00000010
580F1000 00000020
780F0000 00000068
640F0000 00000000 3FA00000
[Technique]
580F0000 03809438
580F1000 000000B8
580F1000 00000000
580F1000 00000028
580F1000 00000010
580F1000 00000020
780F0000 00000074
640F0000 00000000 41820000
[Gold]
580F0000 03809438
580F1000 000000B8
580F1000 00000000
580F1000 00000058
580F1000 00000018
580F1000 00000020
780F0000 00000068
640F0000 00000000 000F4240
To reuse chain that are common you don't have to make a save of the register, you can use a different register in code type 5
[power & Technique & Gold]
580F0000 03809438
580F1000 000000B8
580F1000 00000000
580E2F00 00000028 <= here you switch to use register E so the content of F is not modified by this line
580E1000 00000010
580E1000 00000020
044E0000 00000068 3FA00000 <= power
044E0000 00000074 41820000 <= Technique
580D2F00 00000058 <= reuse value of F here
580D1000 00000018
580D1000 00000020
044D0000 00000068 000F4240 <= Gold
With type 1 change now you can use it to test a memory without loading that memory into a register first
[power & Technique with check]
580F0000 03809438
580F1000 000000B8
580F1000 00000000
580E2F00 00000028 <= here you switch to use register E so the content of F is not modified by this line
580E1000 00000010
580E1000 00000020
14451E00 00000080 00000001 <= if offset 80 has 1
044E0000 00000068 3FA00000 <= power
044E0000 00000074 41820000 <= Technique
20000000 <= end if
You can perform floating point math.
You can do keydown for conditional key so you can make cheat that increment/decrement some value or make a key toggle something.
Here is the new documentation
Members-only download
This download link is for members of the Nintendo SWITCH Cheat Codes Download group. Join the group to see it. It's free.
This extension will take some time to propagate to the Atmosphere user base, until then user will have to manually install what I included in Breeze or to build their own dmnt from atmosphere source.
Keep in mind that usage of the extension will necessitate users to update and also almost certain to not be compatible with emulator.
@TomSwitch, with the new codetype
[hp player1 full]
580F0000 033BE020
580F1000 00000140
580F1000 00000000
544E2F00 00000534
A4EF0200 00000530
unlike the old codetype, when use Jump to target, it jumps to 140+0+0+0 instead of 140+0+534
also, when using 044F0000 00000xxx vvvvvvvv, it would jump to 140+0+0
@TomSwitch, with the new codetype
[hp player1 full]
580F0000 033BE020
580F1000 00000140
580F1000 00000000
544E2F00 00000534
A4EF0200 00000530
unlike the old codetype, when use Jump to target, it jumps to 140+0+0+0 instead of 140+0+534
also, when using 044F0000 00000xxx vvvvvvvv, it would jump to 140+0+0
pr6 fixed add to bookmark and jump to target for new type 0 extension
jump to target only handles simple case for the moment, this one has multiple targets, I guess either is better than non, pr7 will make it go for the first one
is 081 instead of 082 what you want? Does just this change fix the problem?
This game is heap static? Somehow it also uses alias. Won't be surprise that the algorithm for not main static code is not robust.
Let me know what is working and what is not. Does jump to target work? Does bookmark work? How is the memory explorer status line?
Maybe I need to look into the game to see what is happening.
Post automatically merged:
I have looked and it looks like a game that we normally don't make cheat for. It looks very much like a script based game and is not static on heap.
The add static cheat works fine for me just it won't stay the same when you progress to the next stage. It is one of those easy to DIY hack type given that it is double. Search, cheat for the level, search again next level etc etc
is 081 instead of 082 what you want? Does just this change fix the problem?
This game is heap static? Somehow it also uses alias. Won't be surprise that the algorithm for not main static code is not robust.
Let me know what is working and what is not. Does jump to target work? Does bookmark work? How is the memory explorer status line?
Maybe I need to look into the game to see what is happening.
Post automatically merged:
I have looked and it looks like a game that we normally don't make cheat for. It looks very much like a script based game and is not static on heap.
The add static cheat works fine for me just it won't stay the same when you progress to the next stage. It is one of those easy to DIY hack type given that it is double. Search, cheat for the level, search again next level etc etc
no, I wasn't talking about cheat making related
you could clearly see that the address was in Heap, but Breeze treated it as the address was found in Base
if you make a bogus cheat from the found address (found address - Heap start), the cheat will work, and also it could not jump to target with this cheat
this is a static address, jump to target uses Alias as base address
TID: 0100ba200c378000
BID: C2DAC77C25BB7944
[Begin With 4 Billion X Health Enable Before Load Save]
01100000 03abb247 00000042
no, I wasn't talking about cheat making related
you could clearly see that the address was in Heap, but Breeze treated it as the address was found in Base
if you make a bogus cheat from the found address (found address - Heap start), the cheat will work, and also it could not jump to target with this cheat
this is a static address, jump to target uses Alias as base address
TID: 0100ba200c378000
BID: C2DAC77C25BB7944
[Begin With 4 Billion X Health Enable Before Load Save]
01100000 03abb247 00000042
These kinds of games probably use a dictionary. The data shows no relationship to the surrounding data, and their distances are very far from each other. The code that accesses the data has no offset, which is quite typical of a script-driven engine.
These kinds of games probably use a dictionary. The data shows no relationship to the surrounding data, and their distances are very far from each other. The code that accesses the data has no offset, which is quite typical of a script-driven engine.
Update: I keep rebooting the game and try jump to target using this cheat
[Begin With 4 Billion X Health Enable Before Load Save]
01100000 03abb247 00000042
sometimes it could jump to target (it will display heap address normally like other games, uses Heap as the base address), sometimes it could not jump to target (it will use alias as the base address)
Update 2: found a working pointer, should be 100% as far as I have tested
hp offset is either +4e0+0 or +24e0+0, might need memory check
Members only
Codes and spoilers in this group are for members. Join the Nintendo SWITCH Cheat Codes Download group to reveal them. It's free.
Update: I keep rebooting the game and try jump to target using this cheat
[Begin With 4 Billion X Health Enable Before Load Save]
01100000 03abb247 00000042
sometimes it could jump to target (it will display heap address normally like other games, uses Heap as the base address), sometimes it could not jump to target (it will use alias as the base address)
Update 2: found a working pointer, should be 100% as far as I have tested
hp offset is either +4e0+0 or +24e0+0, might need memory check
Members only
Codes and spoilers in this group are for members. Join the Nintendo SWITCH Cheat Codes Download group to reveal them. It's free.
You mean some of the time the jump to target don't work or the cheat don't work?
Try 98c pr10. I make jump to target use the actual memory access type per cheatVM definition instead of start of heap type memory. I had the wrong assumption that there will only be one type of heap which may be correct for most game so this problem was never reported until now, there may be other bugs due to this wrong assumption.
These distinction has been around since maybe 4 years ago, I never understood what it means and still don't. If it starts to appear more often I will dig into it.
Members-only download
This download link is for members of the Nintendo SWITCH Cheat Codes Download group. Join the group to see it. It's free.
Here is the change in jump to target in pr10. When Alias got assigned a lower base that is when the jump to target will defer from cheatVM in earlier version. m_heapBaseAddr is the start of heap memory type ( no distinction ) and cheatVM has distinction since about 4 years ago.
You mean some of the time the jump to target don't work or the cheat don't work?
Try 98c pr10. I make jump to target use the actual memory access type per cheatVM definition instead of start of heap type memory. I had the wrong assumption that there will only be one type of heap which may be correct for most game so this problem was never reported until now, there may be other bugs due to this wrong assumption.
These distinction has been around since maybe 4 years ago, I never understood what it means and still don't. If it starts to appear more often I will dig into it.
Members-only download
This download link is for members of the Nintendo SWITCH Cheat Codes Download group. Join the group to see it. It's free.
View attachment 481544
Here is the change in jump to target in pr10. When Alias got assigned a lower base that is when the jump to target will defer from cheatVM in earlier version. m_heapBaseAddr is the start of heap memory type ( no distinction ) and cheatVM has distinction since about 4 years ago.
using pr10
after some more testings, this seems to be the case, if Alias comes before Heap, then it will use Alias as the base address (unable to jump directly to static heap), games Not using Alias doesn't have this problem
if Heap comes first it works normally, not sure if it only happens on this game or not, this is the first time I noticed it
when normal heap is not accessible, the pointer cheat starting from heap would not work, pointer cheat started from Main still works
looked at some of my installed game, they are all either using heap not alias or alias not heap
only this game using both
using pr10
after some more testings, this seems to be the case, if Alias comes before Heap, then it will use Alias as the base address (unable to jump directly to static heap), games Not using Alias doesn't have this problem View attachment 481552 View attachment 481553
if Heap comes first it works normally, not sure if it only happens on this game or not, this is the first time I noticed it View attachment 481555 View attachment 481556
when normal heap is not accessible, the pointer cheat starting from heap would not work, pointer cheat started from Main still works
looked at some of my installed game, they are all either using heap not alias or alias not heap
only this game using both
There is still no two heap_base support but it will set heap_base to the one use in the jump to bookmark. Heap base is the lower address at the start so bookmark maybe off until you use jump to bookmark for this game when heap and alias trade places.
I suppose using heap as reference is going to be very rare and having two heap base is even more so.
How do you know when part of the pointer is going to be heap static?
There is still no two heap_base support but it will set heap_base to the one use in the jump to bookmark. Heap base is the lower address at the start so bookmark maybe off until you use jump to bookmark for this game when heap and alias trade places.
I suppose using heap as reference is going to be very rare and having two heap base is even more so.
How do you know when part of the pointer is going to be heap static?
as for heap static, I think that need to use the human eyes
after not able to find a working pointer on depth 8 or 9, I noticed the pointer path always ends with +50+10+58+10+4e0+0
so, I go backwards to that address using MoveLeft and found out that heap address is always the same
as for heap static, I think that need to use the human eyes
after not able to find a working pointer on depth 8 or 9, I noticed the pointer path always ends with +50+10+58+10+4e0+0
so, I go backwards to that address using MoveLeft and found out that heap address is always the same
I recognize 4e0 is HP, strange that there is also 24E0 and HP want to alternate between these two. Not sure if there is a better unified pointer but using these two and rest of what you found works for the stages that I have played.
I will change the bookmark.heap type from bool to MemoryAccessType in the next preview to fix this properly.
I may introduce two session pointer search for the purpose of detecting static case. Maybe also add option to perform pointer search as an application, with 10x more memory can go very deep.
I recognize 4e0 is HP, strange that there is also 24E0 and HP want to alternate between these two. Not sure if there is a better unified pointer but using these two and rest of what you found works for the stages that I have played.
I will change the bookmark.heap type from bool to MemoryAccessType in the next preview to fix this properly.
I may introduce two session pointer search for the purpose of detecting static case. Maybe also add option to perform pointer search as an application, with 10x more memory can go very deep.
for the hp, I didn't found another 4e0+0 after it changed to 24e0+0
so, I used the value 0x55d at +4e8 and +24e8 for memory check before grabbing the pointer
It’s about that time of year again where I check in with the community to see if we can get the front page aligned with what people are interested in knowing and what...
WiiCompiled is a new project that lets PC gamers play Mario Kart Wii natively on PC without emulation. Using static recompliation to convert the code into native PC...
The long awaited Grand Theft Auto VI Extended Look gameplay trailer has finally dropped on YouTube. As you all know, it had dropped 6 hours earlier on Netflix, and...
Thanks to the recent decomplication efforts; The Minish Cap 3DS brings the Game Boy Advance classic Zelda title to your 3DS.
The port takes full advantage of the 3DS...
After being announced last week, the first of two broadcasts is set to go live later today with a stark focus on The Legend of Zelda and its 40th anniversary...
In the wake of Sony's shift to a digital-only ecosystem within the next year, Xbox have today announced a surprising scheme. Aiming to offer physical buyers the same...
It is with a heavy heart that I announce the departure of our beloved Chary from the position of Chief Editor. Chary took over early 2021 and has done a wonderful job...
It's that time again folks, an update for the Switch and Switch 2, and a surprisingly big one at that! At lease for folks on the Switch 2. The most notable feature...
The second of a two-part special, a more traditional Nintendo Direct is set to air today. Unlike the Zelda Direct the contents of this one is still relatively up in...
GBAtemp is and always has been an independent community. Since 2002 our staff have voluntarily kept the site running, added new forums, features, provided constant...
It’s about that time of year again where I check in with the community to see if we can get the front page aligned with what people are interested in knowing and what...
After being announced last week, the first of two broadcasts is set to go live later today with a stark focus on The Legend of Zelda and its 40th anniversary...
It's been something of a quiet week in the gaming space, with the deluge of big hitters trying to find their place before GTA 6 launches really kicking off next week...
In the wake of Sony's shift to a digital-only ecosystem within the next year, Xbox have today announced a surprising scheme. Aiming to offer physical buyers the same...
The long awaited Grand Theft Auto VI Extended Look gameplay trailer has finally dropped on YouTube. As you all know, it had dropped 6 hours earlier on Netflix, and...
It is with a heavy heart that I announce the departure of our beloved Chary from the position of Chief Editor. Chary took over early 2021 and has done a wonderful job...
The second of a two-part special, a more traditional Nintendo Direct is set to air today. Unlike the Zelda Direct the contents of this one is still relatively up in...
Announced a few days ago, Nintendo of America have today launched their Customer Appreciation Sale. Featuring 30% discounts across a wide range of popular first-party...
After an accidental leaking of their review video from Linus Tech Tips last week, we somewhat knew that news on Steam's latest VR venture was imminent. Today the...
A few days ago Chary stepped down as Chief Editor after 5 wonderful years, and everyone guessed the seat wouldn't stay empty for very long. Back in 2021 I proudly...