ROM Hack Cheat Codes AMS and Sx Os, Add and Request

  • Thread starter Thread starter matias3ds
  • Start date Start date
  • Views Views 24,065,771
  • Replies Replies 73,134
  • Likes Likes 249
Zelda : BOTW
Build: 16a91992bba71201

Code:
[Infinite Health]
580F0000 025ce340
780F0000 00002c60
640F0000 00000000 00000078


; Original code -- some reports of it not working between in game reloads
[Infinite Health]
580F0000 02650ea8
780F0000 00000848
640F0000 00000000 00000078

Should work, had a few randoms tested and worked on both my switches, let me know if it doesn't.
Top code doesn't work, second code does but can spaz out and also causes game to crash when you visit a guardian shrine.
 
I found the max hearts and stuff last night, but it was after midnight and needed some sleep. I'll update the codes with additional stuff, max hearts will fix it.

I tested it with 30 hearts, so I never experienced it until I started a new game with 3 hearts.
 
  • Like
Reactions: Retrojunkies
I found the max hearts and stuff last night, but it was after midnight and needed some sleep. I'll update the codes with additional stuff, max hearts will fix it.

I tested it with 30 hearts, so I never experienced it until I started a new game with 3 hearts.

If you need any testing before posting fire em over.

Also I'll look at arrows and memory for other items too I have no clue how to find pointers using sx os.

If I send them to you could you find them?
 
If you need any testing before posting fire em over.

Also I'll look at arrows and memory for other items too I have no clue how to find pointers using sx os.

If I send them to you could you find them?
if the arrow address is near the Health address then just add the difference between them to the Health codes
 
If you need any testing before posting fire em over.

Also I'll look at arrows and memory for other items too I have no clue how to find pointers using sx os.

If I send them to you could you find them?

Use this tutorial, as a reference for pointers.

Look at page 9 of the noexs thread (i can't post links)

No need as the memory address will be different for me, it'll be easy enough to find that stuff.
 
if the arrow address is near the Health address then just add the difference between them to the Health codes
according to my search the first set of arrows is:
[HEAP+0xa9801758]

entered into the tool on p9 and it gave me:
[Arrows]
041F0000 a9801750 000003E7

and it does nothing
 
Okay so there's some codes for Dead Cells made by optantic on the TX forums (in the description of this youtube video) and they all work for me but I'm trying to understand them more as I tried to look for pointers in the same game and didn't have any luck.

This code for example:
Code:
[999,999 HP]
580f0000 014680C8
580f1000 00000030
580f1000 00000090
780f0000 00000118
640f0000 00000000 0001869F
780f0000 00000004
640f0000 00000000 0001869F

So I think the pointer used is [[[main+14680C8] - 30] - 90] + 118
Is that correct? I've never really worked with pointers or cheat codes before so I'm trying to understand everything.

Also what would Max Offset and Max Depth in Pointer Search of JNoexs need to be set to in order to find this?
 
according to my search the first set of arrows is:
[HEAP+0xa9801758]

entered into the tool on p9 and it gave me:
[Arrows]
041F0000 a9801750 000003E7

and it does nothing
because it is dynamic, the address might have already been changed when you test the cheat

I meant like this if the Health address is at 0x1000 and the Arrows address is at 0x1080
use the already working Health pointer code to make the Arrow code

for example
[Infinite Health]
580F0000 02650ea8
780F0000 00000848<----- 0x848 Health address + 0x80 difference = 0x8C8 Arrow address
640F0000 00000000 00000078

only if they are near, not too far away

Okay so there's some codes for Dead Cells made by optantic on the TX forums (in the description of this youtube video) and they all work for me but I'm trying to understand them more as I tried to look for pointers in the same game and didn't have any luck.

This code for example:
Code:
[999,999 HP]
580f0000 014680C8
580f1000 00000030
580f1000 00000090
780f0000 00000118
640f0000 00000000 0001869F
780f0000 00000004
640f0000 00000000 0001869F

So I think the pointer used is [[[main+14680C8] - 30] - 90] + 118
Is that correct? I've never really worked with pointers or cheat codes before so I'm trying to understand everything.

Also what would Max Offset and Max Depth in Pointer Search of JNoexs need to be set to in order to find this?
Thanks for the cheats
that looks the same as the {Master Code} in the TX Cheat Guide, they explained how it works
https://sx.xecuter.com/download/cheathacker_guide.txt
 
Last edited by dsrules,
Okay so there's some codes for Dead Cells made by optantic on the TX forums (in the description of this youtube video) and they all work for me but I'm trying to understand them more as I tried to look for pointers in the same game and didn't have any luck.

This code for example:
Code:
[999,999 HP]
580f0000 014680C8
580f1000 00000030
580f1000 00000090
780f0000 00000118
640f0000 00000000 0001869F
780f0000 00000004
640f0000 00000000 0001869F

So I think the pointer used is [[[main+14680C8] - 30] - 90] + 118
Is that correct? I've never really worked with pointers or cheat codes before so I'm trying to understand everything.

Also what would Max Offset and Max Depth in Pointer Search of JNoexs need to be set to in order to find this?

If we compare this code with the tuto from SXOS Team this is what will see:
Code:
-- 8< ------------------------
{Master Code}
580f0000 00d3a2a0
580f1000 038cb840
580f1000 00000008
780f0000 0000000f
-- 8< ------------------------

Code:
register_f = read64(MAIN + 0xd3a2a0)
register_f = read64(register_f + 0x38cb840)
register_f = read64(register_f + 0x8)
register_f = register_f + 15

Then this code:
Code:
580f0000 014680C8
580f1000 00000030
580f1000 00000090
780f0000 00000118

Will be:
Code:
[[[main+14680C8] + 30] + 90] + 118

The idea to test it with sxos is:
Code:
Go to Main+014680C8
Should be a pointer,do it
Then add 30,should be another pointer, do it
Add 90,should be another pointer, do it
Finally add 118.
That address should be you HP
and if you add 4 more, is the max HP
 
Last edited by talixme,
  • Like
Reactions: fadx
because it is dynamic, the address might have already been changed when you test the cheat

I meant like this if the Health address is at 0x1000 and the Arrows address is at 0x1080
use the already working Health pointer code to make the Arrow code

for example
[Infinite Health]
580F0000 02650ea8
780F0000 00000848<----- 0x848 Health address + 0x80 difference = 0x8C8 Arrow address
640F0000 00000000 00000078

only if they are near, not too far away


Thanks for the cheats
that looks the same as the {Master Code} in the TX Cheat Guide, they explained how it works
https://sx.xecuter.com/download/cheathacker_guide.txt
Sorry i get what your saying but cant seem to apply on this, ive used simlar like you said for n64 ocarina had the same logic finding codes near the health.

so far on each fresh dump ive noticed the searches are the same each time and have so far using memory editor to locate
HEAP+0XA9801758 = FIRST ARROWS
HEAP+0XA98014C0 = SECOND ARROWS
HEAP+0XA9801228 = THIRD ARROWS
HEAP+0XA9800CF8 = FOURTH ARROWS
 
Sorry i get what your saying but cant seem to apply on this, ive used simlar like you said for n64 ocarina had the same logic finding codes near the health.

so far on each fresh dump ive noticed the searches are the same each time and have so far using memory editor to locate
HEAP+0XA9801758 = FIRST ARROWS
HEAP+0XA98014C0 = SECOND ARROWS
HEAP+0XA9801228 = THIRD ARROWS
HEAP+0XA9800CF8 = FOURTH ARROWS
that looks like a difference of 0x298 between each arrow, is the Health Address near those address?
 
If we compare this code with the tuto from SXOS Team this is what will see:
Code:
-- 8< ------------------------
{Master Code}
580f0000 00d3a2a0
580f1000 038cb840
580f1000 00000008
780f0000 0000000f
-- 8< ------------------------

Code:
register_f = read64(MAIN + 0xd3a2a0)
register_f = read64(register_f + 0x38cb840)
register_f = read64(register_f + 0x8)
register_f = register_f + 15

Then this code:
Code:
580f0000 014680C8
580f1000 00000030
580f1000 00000090
780f0000 00000118

Will be:
Code:
[[[main+14680C8] + 30] + 90] + 118

The idea to test it with sxos is:
Code:
Go to Main+014680C8
Should be a pointer,do it
Then add 30,should be another pointer, do it
Add 90,should be another pointer, do it
Finally add 118.
That address should be you HP
and if you add 4 more, is the max HP
Thank you, your explanation is great and your instructions for SX OS do take me to the correct addresses.

Do you know what an example of Max Offset would be for this in JNoexs? Would the Max Depth be 3?

I ask because I can't find any pointers regardless of Max Depth unless I put a Max Offset of something like 02000000, I'm trying to figure out what I'm doing wrong.
 
Thank you, your explanation is great and your instructions for SX OS do take me to the correct addresses.

Do you know what an example of Max Offset would be for this in JNoexs? Would the Max Depth be 3?

I ask because I can't find any pointers regardless of Max Depth unless I put a Max Offset of something like 02000000, I'm trying to figure out what I'm doing wrong.

To find this pointer

[[[main+14680C8] + 30] + 90] + 118

The Max Offset will be "F00"

And the Max Depth will be " 3 "
 
Last edited by talixme,
that looks like a difference of 0x298 between each arrow, is the Health Address near those address?
not sure, the only health addresses i have off here (someone else made)

[Infinite Health] works but bugs out and crashes if you visit a guardian shrine
580f0000 02650ea8
780f0000 00000848
640f0000 00000000 00000078

[Alt Health] doesnt work at all (for me)
580f0000 025ce340
780f0000 00002c60
640f0000 00000000 00000078
 
not sure, the only health addresses i have off here (someone else made)

[Infinite Health] works but bugs out and crashes if you visit a guardian shrine
580f0000 02650ea8
780f0000 00000848
640f0000 00000000 00000078

[Alt Health] doesnt work at all (for me)
580f0000 025ce340
780f0000 00002c60
640f0000 00000000 00000078
then someone might have to find another working pointer, but if the Arrows address is not near the Health address then might have to find a different pointer for Arrows
 
then someone might have to find another working pointer, but if the Arrows address is not near the Health address then might have to find a different pointer for Arrows
heres all the arrows i have:
HEAP+0XA9801758 = FIRST ARROWS
HEAP+0XA98014C0 = SECOND ARROWS
HEAP+0XA9801228 = THIRD ARROWS
HEAP+0XA9800CF8 = FOURTH ARROWS
HEAP+0XA9800F90 = FIFTH ARROWS
HEAP+0XA9800CF8 = SIXTH ARROWS
HEAP+0XA9800A60 = SEVENTH ARROWS

but i dont think this will works as arrows as such i think this would likely be infinite what ever is in slot xxx
 
Last edited by ,
games usually store data close together in a struct, hence if you find a good pointer to the start of the struct, you can just keep adding offset to the code to edit the values..

usually this is for stats/money/etc.. current health/max health etc etc.. str, agi, etc.

@Retroboy
HEAP addresses are usually dynamic (meaning it changes / moves around, not consistent).
It's recommended finding a pointer in MAIN, as it shouldn't change as much, but again you gotta go through and find which works for multiple consoles/between reloads of the games etc.

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

heres all the arrows i have:
HEAP+0XA9801758 = FIRST ARROWS
HEAP+0XA98014C0 = SECOND ARROWS
HEAP+0XA9801228 = THIRD ARROWS
HEAP+0XA9800CF8 = FOURTH ARROWS
HEAP+0XA9800F90 = FIFTH ARROWS
HEAP+0XA9800CF8 = SIXTH ARROWS
HEAP+0XA9800A60 = SEVENTH ARROWS

but i dont think this will works as arrows as such i think this would likely be infinite what ever is in slot xxx

They aren't so much Arrows as item slot qty's fyi.
 
To find this pointer

[[[main+14680C8] + 30] + 90] + 118

The Max Offset will be "F00"

And the Max Depth will be " 3 "
Yeah that's what I though. I've found valid pointers for both Dragon Ball FighterZ and Stardew Valley so I think I'm doing everything right but for some reason I can't find that pointer with JNoexs.

I'll describe my actions, let me know if there's something that doesn't seem right.
  1. Open JNoexs, attach to game PID and find the address in heap that has the value I'm looking for (in this case, the HP for Dead Cells like that SX OS code and in this case the Address is 1E2D092FD0)
  2. Go to the Tools section of JNoexs and right click that beginning of main and choose Search(Start), right click the beginning again and choose Pointer Search (Main), right click the end of main and choose Search (End)
  3. Go to the Search section of JNoexs, the range is set to the correct range for Main. I hit "Restart Search" and then hit "Search" and let the dump finish.
  4. Go to the Pointer Search section of JNoexs and choose the Dump File that was just created, set Address to 1E2D092FD0, Max Offset to F00, Max Depth to 3 and click Search.
  5. It basically instantly completes and shows no results.
This is the same process I did when I got the pointers for FighterZ and Stardew Valley (although they were only a Depth of 1). Is there something I'm missing here or should I be seeing the [[[main+14680C8] + 30] + 90] + 118 pointer?
 
games usually store data close together in a struct, hence if you find a good pointer to the start of the struct, you can just keep adding offset to the code to edit the values..

usually this is for stats/money/etc.. current health/max health etc etc.. str, agi, etc.

@Retroboy
HEAP addresses are usually dynamic (meaning it changes / moves around, not consistent).
It's recommended finding a pointer in MAIN, as it shouldn't change as much, but again you gotta go through and find which works for multiple consoles/between reloads of the games etc.

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



They aren't so much Arrows as item slot qty's fyi.
each time i start/restart the game they seem to always be the same addresses.
 

Site & Scene News

Popular threads in this forum