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

  • Thread starter Thread starter matias3ds
  • Start date Start date
  • Views Views 24,320,640
  • Replies Replies 73,374
  • Likes Likes 249
I'm asking for help from the super experts here who create ASM: i found this
View attachment 524270
and i would like to know what i have to change here
View attachment 524272
sothat the magic bar doesn't decrease,thanks in advance.
That looks like a shared function. Try doing a ton of things while watching that instruction. If it gets tripped whenever the bar doesn't decrease, then it's a shared function, and you'll have to use IDA or Ghidra to step back through the code to find out exactly what code calls the shared function in your desired situation.
 
https://github.com/tomvita/Breeze-Beta/blob/master/Breeze.md#key-principles

The foundation of Breeze is memory search. Once found more can be done. The only way to find something that is never static is when the value is so unique that you only need to perform one search. For example double 19823199. You probably can find it with only one search. When memory address changed (meaning of not static) all the search results are wasted.
What I'm addressing is how many users assume something is non-static rather than identifying what actually makes the value move. 95% of the values I've seen to move extremely rapidly to the point of being truly non-static are generally things you don't need to or shouldn't be modifying (such as audio playback data or animation/graphical updates). Everything that happens in memory happens for a reason linked to how it was programmed. Identifying what causes the memory jumps (usually allocation/de-allocation of section of memory caused by the need for new data to be loaded/old data to be discarded) a lot more moves out of the assumed 'non-static' box and back into the realm of what you can work with. That was my point (hinging on the opening condition of "If you can control when the value jumps to a new address").

now ASM codes are a different animal entirely, but if working with the more 'basic' pointer structure for simple read/write codes, a lot can still be done that ASM may find tricky to nail down at first.
 
That looks like a shared function.
any hints on how to spot a shared function just by looking at it? and in this case, it is not shared, in fact it is the opposite, multiple write breakpoints are needed to cover all magic spells

@NeoGranzon, pointer is much easier for this game, the address doesn't change after the game has been loaded
 
Last edited by dsrules,
That looks like a shared function. Try doing a ton of things while watching that instruction. If it gets tripped whenever the bar doesn't decrease, then it's a shared function, and you'll have to use IDA or Ghidra to step back through the code to find out exactly what code calls the shared function in your desired situation.
@Maq47 thanks,but i use only thr console for find&create my cheats for all games,don't use the Pc even though i know IDA&Ghidra.
 
any hints on how to spot a shared function just by looking at it? and in this case, it is not shared, in fact it is the opposite, multiple write breakpoints are needed to cover all magic spells
Usually whenever code writes two 32-bit registers, then adds an offset to another 2 to 6 registers, then pulls from the stack like that, it is a shared function. Not always, however. I've encountered quite a few shared functions in my time creating cheats, so I learned to recognize potential ones. That one only added to 2 registers and pulled a single address from the stack, so it was a low possibility that it was a shared function, maybe 18%, but I still decided to put it out there.
 
Usually whenever code writes two 32-bit registers, then adds an offset to another 2 to 6 registers, then pulls from the stack like that, it is a shared function. Not always, however. I've encountered quite a few shared functions in my time creating cheats, so I learned to recognize potential ones. That one only added to 2 registers and pulled a single address from the stack, so it was a low possibility that it was a shared function, maybe 18%, but I still decided to put it out there.
from my experience, if the write breakpoint uses X as the offset [X#, X#] or just [X#] then it is definitely shared by tons of stuff in the game
if it's just shared between player and enemy then HP write breakpoint in turn based games (rpg, slg, fighting) are likely to be shared

@NeoGranzon, set nop on the write breakpoint(s) that shows 0x9d4, SetBreakpoint again on the magic bar and use the magic that still decreases on use, set nop again on the 0x9d4 breakpoint(s) then it should be good
 
Last edited by dsrules,
  • Like
Reactions: NeoGranzon
Teenage Mutant Ninja Turtles: Splintered Fate v1.10.5 any cheat codes please guys

i try to edit by edizon,but it doesn't work
i used "u32" "==" "RAM" to edit coins , but coins countdown loop
someone who can give me a guide , or please make cheatcode
 
credits to ZiT, @arismendy64 & @Eiffel2018

Unofficial Cheat Port


No More Heroes v1.2.0
TID: 0100F0400F202000
BID: 0359DC95A1454D05

[No More Heroes 1.2.0 TID: 0100F0400F202000 BID: 0359DC95A1454D05]

[Inf. Health]
540F0000 0150F788
540F1000 00000164
740F0000 00000020
680F0000 459C4000 459C4000

[Inf. Electricity]
540F0000 0150F788
540F1000 00000164
740F0000 00000514
640F0000 00000000 03E803E8

[Quick Charge]
540F0000 0150F788
540F1000 00000164
740F0000 000012A4
640F0000 00000000 00000000

[Inf. LB]
540F0000 0150F788
540F1000 00000164
740F0000 000012EC
640F0000 00000000 05F5E0FF

[Walk Through Walls (Hold ZL)]
540F0000 0150F788
540F1000 00000164
740F0000 000002E0
640F0000 00000000 40A00000
80000100
640F0000 00000000 C0A00000
20000000

No More Heroes 2: Desperate Struggle v1.2.0
TID: 010071400F204000
BID: D3CCE4E8B8AA4A39

[No More Heroes 2: Desperate Struggle 1.2.0 TID: 010071400F204000 BID: D3CCE4E8B8AA4A39]

[Inf. Health]
540F0000 0158E690
540F1000 000000B0
740F0000 00000024
640F0000 00000000 42480000

[Inf. Electricity]
540F0000 0158E690
540F1000 000000B0
740F0000 00000810
640F0000 00000000 03E803E8

[Max LB]
540F0000 0158E690
540F1000 000000B0
740F0000 00000B78
640F0000 00000000 0098967F

[Inf. Tension Gage For 1P]
540F0000 0158E690
540F1000 000000B0
740F0000 0000002C
640F0000 00000000 3F800000

[Moon Jump For 2P]
80000002
540F0000 0158E690
540F1000 000000B0
740F0000 00000288
640F0000 00000000 40500000
20000000

[--SectionStart:Combat Only--]
00000000 00000000 00000000

[Attack Quick Charge For 1P (Hold ZL & X) : Valid Only For The Initial Blade]
80000104
540F0000 0158E690
540F1000 000000B0
740F0000 00000194
640F0000 00000000 0000011C
20000000

[Attack Quick Charge For 1P (Hold ZL & Y) : Valid Only For The Initial Blade]
80000108
540F0000 0158E690
540F1000 000000B0
740F0000 00000194
640F0000 00000000 0000011E
20000000

[Attack Quick Charge For 2P (Hold ZL & X) : Valid Only For The Initial Blade]
80000104
540F0000 0158E690
540F1000 000000B0
740F0000 00000194
640F0000 00000000 000002A2
20000000

[Attack Quick Charge For 2P (Hold ZL & Y) : Valid Only For The Initial Blade]
80000108
540F0000 0158E690
540F1000 000000B0
740F0000 00000194
640F0000 00000000 000002A4
20000000

[--SectionEnd:Combat Only--]
00000000 00000000 00000000
 
from my experience, if the write breakpoint uses X as the offset [X#, X#] or just [X#] then it is definitely shared by tons of stuff in the game
if it's just shared between player and enemy then HP write breakpoint in turn based games (rpg, slg, fighting) are likely to be shared

@NeoGranzon, set nop on the write breakpoint(s) that shows 0x9d4, SetBreakpoint again on the magic bar and use the magic that still decreases on use, set nop again on the 0x9d4 breakpoint(s) then it should be good
@dsrules finally i did it first i set the sub w8, #0 and then i followed your suggestion and set nop.
I'm new to ASM cheats,and if i don't know which line to change,it's a complete mess. :

Note: cheats only work on the first save slot,as with Shantae and the Pirate's Curse.
 
any hints on how to spot a shared function just by looking at it? and in this case, it is not shared, in fact it is the opposite, multiple write breakpoints are needed to cover all magic spells

@NeoGranzon, pointer is much easier for this game, the address doesn't change after the game has been loaded
If you want to make a bet just by looking at one instruction, strong indicator is zero offset, bet on that [x?] being on a shared function and you may win most of the time. Some time there will be a add x?, x?, {offset} before it, that means no dice. Most code would be [x?, {offset}] instead of using extra instruction.
 
  • Like
Reactions: LaMano and dsrules
アーケードアーカイブス ドラゴンセイバー 1.0.2
TID: 010060001833A000
BID: D5050A38C678F772

[Breeze beta99i アーケードアーカイブス ドラゴンセイバー 1.0.2 TID: 010060001833A000 BID: D5050A38C678F772]

[Inf.Credits]
580F0000 012D8948
580F1000 00000070
780F0000 000090B8
610F0000 00000000 00000009

[1P Inf.Lives]
580F0000 00B87888
580F1000 00000040
580F1000 00000010
780F0000 0000C682
610F0000 00000000 00000009

[2P Inf.Lives]
580F0000 00B87888
580F1000 00000040
580F1000 00000010
780F0000 0000C702
610F0000 00000000 00000009

[1P Inf.Energy]
580F0000 00B87888
580F1000 00000040
580F1000 00000010
780F0000 00009076
610F0000 00000000 00000004

[2P Inf.Energy]
580F0000 00B87888
580F1000 00000040
580F1000 00000010
780F0000 000090F6
610F0000 00000000 00000004

[1P Invincibiity]
580F0000 00B87888
580F1000 00000040
580F1000 00000010
780F0000 00009009
620F0000 00000000 0000FF0F

[2P Invincibiity]
580F0000 00B87888
580F1000 00000040
580F1000 00000010
780F0000 00009089
620F0000 00000000 0000FF0F

[1P Always 3 Heads]
580F0000 00B87888
580F1000 00000040
580F1000 00000010
780F0000 00009078
610F0000 00000000 00000002

[2P Always 3 Heads]
580F0000 00B87888
580F1000 00000040
580F1000 00000010
780F0000 000090F8
610F0000 00000000 00000002

[1P Always Max Shot]
580F0000 00B87888
580F1000 00000040
580F1000 00000010
780F0000 0000C6E0
610F0000 00000000 00000002

[2P Always Max Shot]
580F0000 00B87888
580F1000 00000040
580F1000 00000010
780F0000 0000C760
610F0000 00000000 00000002

Original Code by ネオ•グランゾン
 

Attachments

2025082621512400.jpg


The Legend of Bum-Bo v1.0.2
TID: 0100F37017832000
BID: 2AA3309B6CFAD55

[The Legend of Bum-Bo 1.0.2 TID: 0100F37017832000 BID: 2AA3309B6CFAD55]

[Heart]
580F0000 03E61788
580F1000 000000B8
580F1000 00000010
580F1000 00000018
580F1000 00000018
580F1000 00000090
780F0000 0000005C
640F0000 00000000 41400000

[Coins 8888 ZR+ZL]
80000300
580F0000 03E61788
580F1000 000000B8
580F1000 00000010
580F1000 00000018
580F1000 00000018
580F1000 00000090
780F0000 00000038
640F0000 00000000 000022B8
20000000

[Moves x9 ZL ON / ZR OFF]
580F0000 03E61788
580F1000 000000B8
580F1000 00000010
580F1000 00000018
580F1000 00000018
780F0000 000000B8
80000100
640F0000 00000000 0000000A
20000000
80000200
640F0000 00000000 00000000
20000000

[Bones]
580F0000 040392B8
580F1000 000000B8
580F1000 00000018
580F1000 00000018
580F1000 000000B0
780F0000 00000020
620F0000 00000000 00090009

[Poop]
580F0000 040392B8
580F1000 000000B8
580F1000 00000018
580F1000 00000018
580F1000 000000B0
780F0000 00000024
620F0000 00000000 00090009

[Booger]
580F0000 040392B8
580F1000 000000B8
580F1000 00000018
580F1000 00000018
580F1000 000000B0
780F0000 00000026
620F0000 00000000 00090009

[Tooth]
580F0000 040392B8
580F1000 000000B8
580F1000 00000018
580F1000 00000018
580F1000 000000B0
780F0000 00000028
620F0000 00000000 00090009

[Tears]
580F0000 040392B8
580F1000 000000B8
580F1000 00000018
580F1000 00000018
580F1000 000000B0
780F0000 0000002A
620F0000 00000000 00090009
 
Last edited by 2K417,
@dsrules finally i did it first i set the sub w8, #0 and then i followed your suggestion and set nop.
I'm new to ASM cheats,and if i don't know which line to change,it's a complete mess. :

Note: cheats only work on the first save slot,as with Shantae and the Pirate's Curse.
for beginner, just change the write breakpoint to nop for no decrease, no need to touch sub
you might also want to learn how to use Watch Instruction to check if the breakpoint is shared or not

cheats should work for all save slots for this game in new or old mode
 
Last edited by dsrules,
for beginner, just change the write breakpoint to nop for no decrease, no need to touch sub
you might also want to learn how to use Watch Instruction to check if the breakpoint is shared or not

cheats should work for all save slots for this game in new or old mode
@dsrules i understand,but what do i do with the gems if i always want them at max?
 
@dsrules i understand,but what do i do with the gems if i always want them at max?
if it doesn't decrease then it is already at max to begin with? otherwise you could use the same method as your Gems cheat or change sub wX to mov wX, 999//max decimal value 65537
 
Last edited by dsrules,
  • Like
Reactions: NeoGranzon
if it doesn't decrease then it is already at max to begin with? otherwise you could use the same method as your Gems cheat or change sub wX to mov wX, 999//max decimal value 65536
@dsrules basically when i find the breakpoint and do gen2 detach and then select when srth wx etc... appears i change that line to mov wx ,999 right?
 

Site & Scene News

Popular threads in this forum