yes i have
Post automatically merged:
cheats Zelda TOTK version 1.4.2 anyone?
cheats Zelda TOTK version 1.4.2 anyone?
228ce70 try change it to nopI'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.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.
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").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.
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 spellsThat looks like a shared function.
@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.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.

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.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
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 gameUsually 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.
@dsrules finally i did it first i set the sub w8, #0 and then i followed your suggestion and set nop.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
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.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
for beginner, just change the write breakpoint to nop for no decrease, no need to touch sub@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.
@dsrules i understand,but what do i do with the gems if i always want them at max?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 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?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
no, str is for nop, move up 1 or few lines and look for sub or add or ldr is for mov@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?