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

  • Thread starter Thread starter matias3ds
  • Start date Start date
  • Views Views 24,462,342
  • Replies Replies 73,630
  • Likes Likes 249

Sacre Bleu​

Title ID: 0100CC701DF1E000
No update

New 2D platformer game

1745247530327.png
1745247548136.png
 
thanks, ive follow the tutorial step by step, even changing type of memory, tried it with breeze and edizon... cant get to work... maybe they change smth on the latest update
did you follow exactly? You can only find it with Breeze by following my instruction, if you try to be smart and not follow it exactly it may be the reason you didn't find it ( problem with many smart people is they can't follow simple instruction, they think they got it then proceed to do it their way )
 
did you follow exactly? You can only find it with Breeze by following my instruction, if you try to be smart and not follow it exactly it may be the reason you didn't find it ( problem with many smart people is they can't follow simple instruction, they think they got it then proceed to do it their way )
step by step... i can narrow the search to 10/15 values, but none of the is the one for money
 

Sacre Bleu​

Title ID: 0100CC701DF1E000
No update

New 2D platformer game

View attachment 499951 View attachment 499953

I was actually watching the Pink Panther and the inspector (in Latin Spanish) said that phrase "sacre bleu" at the 19th second. It is said to be a variant of a very old expression. Haha, what a coincidence.

This was a nice game!


 
  • Like
Reactions: matias3ds

Post automatically merged:

View attachment 500069


@TomSwitch Good evening, could you teach me how to do the Moonjump cheat in ASM? I couldn't do it, and I'd like to know how you did it. I mean, how you did it in Breeze (ASM Composer), because I found the instructions identical to yours after trying almost all 38 that appeared in Gen2 Menu. ldr s2, [x19, #0xcc]

*I'm asking here since you can't receive PMs.

In fact, I hadn't seen those three cheats you did. The way these cheats are arranged is very different.

Thank you so much.
 
@TomSwitch Good evening, could you teach me how to do the Moonjump cheat in ASM? I couldn't do it, and I'd like to know how you did it. I mean, how you did it in Breeze (ASM Composer), because I found the instructions identical to yours after trying almost all 38 that appeared in Gen2 Menu. ldr s2, [x19, #0xcc]

*I'm asking here since you can't receive PMs.

In fact, I hadn't seen those three cheats you did. The way these cheats are arranged is very different.

Thank you so much.
This is the usual way I do moonjump

.[Main+R0+0x0002716084]= b #0x7744b20
.[Main+R0+0x0007744B20]= ldr s2, #0x7744b2c ; load the target value
.[Main+R0+0x0007744B24]= str s2, [x19, #0xcc] ; change ldr to str
.[Main+R0+0x0007744B28]= b #0x2716088
.[Main+R0+0x0007744B2C]=flt:1400.000000

This is what I did today, only to make it emulator compatible

[Main+R0+0x0002716084]= b #0x7744b00
[Main+R0+0x0007744B00]= adrp x29, #0x73fe000
[Main+R0+0x0007744B04]= ldr w30, [x29, #0xac8] ; use a free memory
[Main+R0+0x0007744B08]= cbz w30, #0x7744b14 ; if memory is 0 don't do anyting
[Main+R0+0x0007744B0C]= ldr s2, [x29, #0xac8] ; load the target value
[Main+R0+0x0007744B10]= str s2, [x19, #0xcc] ; store the target value
[Main+R0+0x0007744B14]= ldr s2, [x19, #0xcc] ; load the value is needed when you are not doing anything
[Main+R0+0x0007744B18]= b #0x2716088

How to make the usual moonjump:

After I found the memory I make a temporary moonjump cheat (static cheat), confirm that the memory is good.
I raise the character up in the air then I let it drop and immediately activate the watch, this is so I capture the code that access the memory while the character is in the air.
I select the second one to try cause it uses a s register, and this time it just worked.
I have a special short cut to make the code as can be seen in the video. You can ignore that I use grab R, it was a setting left over from a previous game.
The shortcut is "ZL+Dpad_left", I press this button twice, then I edited the value.

 
Last edited by TomSwitch,
This is the usual way I do moonjump

.[Main+R0+0x0002716084]= b #0x7744b20
.[Main+R0+0x0007744B20]= ldr s2, #0x7744b2c ; load the target value
.[Main+R0+0x0007744B24]= str s2, [x19, #0xcc] ; change ldr to str
.[Main+R0+0x0007744B28]= b #0x2716088
.[Main+R0+0x0007744B2C]=flt:1400.000000

This is what I did today, only to make it emulator compatible

[Main+R0+0x0002716084]= b #0x7744b00
[Main+R0+0x0007744B00]= adrp x29, #0x73fe000
[Main+R0+0x0007744B04]= ldr w30, [x29, #0xac8] ; use a free memory
[Main+R0+0x0007744B08]= cbz w30, #0x7744b14 ; if memory is 0 don't do anyting
[Main+R0+0x0007744B0C]= ldr s2, [x29, #0xac8] ; load the target value
[Main+R0+0x0007744B10]= str s2, [x19, #0xcc] ; store the target value
[Main+R0+0x0007744B14]= ldr s2, [x19, #0xcc] ; load the value is needed when you are not doing anything
[Main+R0+0x0007744B18]= b #0x2716088

How to make the usual moonjump:

After I found the memory I make a temporary moonjump cheat (static cheat), confirm that the memory is good.
I raise the character up in the air then I let it drop and immediately activate the watch, this is so I capture the code that access the memory while the character is in the air.
I select the second one to try cause it uses a s register, and this time it just worked.
I have a special short cut to make the code as can be seen in the video. You can ignore that I use grab R, it was a setting left over from a previous game.
The shortcut is "ZL+Dpad_left", I press this button twice, then I edited the value.


Okay, thanks a lot.
So, this is the usual way whenever the instruction is "ldr."

If it's "str," wouldn't it work? (I know the ideal is in "ldr," but I'm wondering if it could also be done in "str").
 
Okay, thanks a lot.
So, this is the usual way whenever the instruction is "ldr."

If it's "str," wouldn't it work? (I know the ideal is in "ldr," but I'm wondering if it could also be done in "str").
Yes, in fact str is can be more economical as the repeated original already doing the write so there is no need to have added instruction to do the write.

Also there is a hazard that you need to be aware with ldr, if you have a register on both side of the "," you cannot have it run twice. For example ldr w8, [x8] will crash if you run it twice. The reason is x8 would be corrupted after the first time you run.
 
Yes, in fact str is can be more economical as the repeated original already doing the write so there is no need to have added instruction to do the write.

Also there is a hazard that you need to be aware with ldr, if you have a register on both side of the "," you cannot have it run twice. For example ldr w8, [x8] will crash if you run it twice. The reason is x8 would be corrupted after the first time you run.
I tried using this code and it works perfectly. However, the reference address "H+xxxxxxxxx" changes every time the game is restarted.
Is it possible to use this address without adding the three characters at the end?
cmp W25,#0x380

STP X25, X26, [SP,#-0x90]
LDR W25,[X20,#0x50]
and W25,W25,#0xFFF
cmp W25,#0x380
b.ne cont
mov w8,#99
cont:
LDP X25, X26, [SP,#-0x90]
STR W8, [X20,#0x38]
Return: b code1+4
 
I tried using this code and it works perfectly. However, the reference address "H+xxxxxxxxx" changes every time the game is restarted.
Is it possible to use this address without adding the three characters at the end?
cmp W25,#0x380

STP X25, X26, [SP,#-0x90]
LDR W25,[X20,#0x50]
and W25,W25,#0xFFF
cmp W25,#0x380
b.ne cont
mov w8,#99
cont:
LDP X25, X26, [SP,#-0x90]
STR W8, [X20,#0x38]
Return: b code1+4
I don't understand the question. What do you mean by reference address? The cmp looks like a method to screen for the target, if it does not match you don't want to be hacking it.
 
  • Like
Reactions: eco95 and Az91
I don't understand the question. What do you mean by reference address? The cmp looks like a method to screen for the target, if it does not match you don't want to be hacking it.
https://gbatemp.net/threads/beholga...000-bid-0cc2f97f43dcaf48.620792/#post-9977458

I followed this tutorial and I want to hack HP from an address that affects all HP.
In green is my player's HP.
In red is what I'll use as a reference.
With your cave code, we compare it with the last 3 digits.
As we can see in the two images, the address changes. My question is, can we use the last 3 digits as a reference to reach this address?

2025042212404800-DB1426D1DFD034027CECDE9C2DD914B8.jpg
2025042212390000-DB1426D1DFD034027CECDE9C2DD914B8.jpg
 
https://gbatemp.net/threads/beholga...000-bid-0cc2f97f43dcaf48.620792/#post-9977458

I followed this tutorial and I want to hack HP from an address that affects all HP.
In green is my player's HP.
In red is what I'll use as a reference.
With your cave code, we compare it with the last 3 digits.
As we can see in the two images, the address changes. My question is, can we use the last 3 digits as a reference to reach this address?

View attachment 500090View attachment 500089
I don't know if the last three digit of the address where the red circle is will stay static over game restart. I would not bet on it but if you restart a few time and has observed that it does stay static then go ahead and use that.

If that address is M+ then yes, if it is different from the others you can absolutely use it as M+ will always have consistent last four digits when you restart the game. ( maybe not absolutely but if it is a modern game it should be, emulator may not always be static and some of them do use M+ for memory )

PS: The screenshot you did not draw circle did not just differ from the one with the red circle by the last three digits.
 
Last edited by TomSwitch,
  • Like
Reactions: Az91

Site & Scene News

Popular threads in this forum