How to use Button-Combination to activate cheat?

Started by lindtec, July 26, 2008, 10:23:06 PM

Previous topic - Next topic

Black_Wolf

wow thats handy, so you don't actually have to make a NOT BUTTON code type just to turn it off lol.

schmake

Thanks Lindtec that will definitely come in handy along the way :)

ZiT

I read explanation, but ask because I do not understand it.

For example, what do you do to validate it when I pushed the Z button in the case of the following cords?

800358B8 4BFCD948   b 0x80003200
80003200 2C1C0001   cmpwi r28,1
80003204 41820010   beq- 0x80003214
80003208 3DE03F60   lis r15,16224
8000320C 91E30648   stw r15,1608(r3)
80003210 480326AC   b 0x800358bc
80003214 3DE04070   lis r15,16496
80003218 91E30648   stw r15,1608(r3)
8000321C 480326A0   b 0x800358bc

I changed it as follows, but was no use.

2844BB66 00002000
800358B8 4BFCD948
80003200 2C1C0001
80003204 41820010
80003208 3DE03F60
8000320C 91E30648
80003210 480326AC
80003214 3DE04070
80003218 91E30648
8000321C 480326A0
E0000000 80008000

brkirch

Quote from: ZiT;1568I read explanation, but ask because I do not understand it.

For example, what do you do to validate it when I pushed the Z button in the case of the following cords?

You are just forgetting to change the addresses from 80XXXXXX to 04XXXXXX, there doesn't seem to be anything otherwise wrong with your code.  Here's how I would write it though:
2844BB66 00002000
C20358B8 00000004
2C1C0001 41820010
3DE03F60 91E30648
480326AC 3DE04070
91E30648 00000000
E0000000 80008000

Notice that I used the "Insert ASM code in the game" code type, as it really helps to compact codes like this :)

ZiT

Thank you for Comment:)
Thank you for a Matter of "80XXXXXX to 04XXXXXX":irule:
I was able to do it on the Coattails of Brkirch:love

"2844BB66" Thought me to be the same by all Games, but Understood that I was Different by a Game.

The Following Cords are Successful Examples.


Walk Speed UP
040358B8 4BFCD948
04003200 2C1C0001
04003204 41820010
04003208 3DE03F60
0400320C 91E30648
04003210 480326AC
04003214 3DE04070
04003218 91E30648
0400321C 480326A0
※Usually:80003214 3DE00000
※?2.5:80003214 3DE04020
※?3:80003214 3DE04040
※?3.5:80003214 3DE04060
※?3.75:80003214 3DE04070

Walk Speed is Usual (Z button)
42000000 80000000
28390DCA 00002000
04003214 3DE00000
E0000000 80008000

Many Thanks;)

Panda On Smack

Thanks for this thread, very helpful

I've found 20 addresses that match my key press, which shall I use?! It won't narrow down anymore.

ta

brkirch

Quote from: Panda On Smack;6445Thanks for this thread, very helpful

I've found 20 addresses that match my key press, which shall I use?! It won't narrow down anymore.

ta

Try searching again on the home button screen, you probably can then reduce your number of results even more.  Otherwise the first address displayed is probably the one to use.

Panda On Smack

Quote from: brkirch;6535Try searching again on the home button screen, you probably can then reduce your number of results even more.  Otherwise the first address displayed is probably the one to use.

Thanks, I just used the first in the list. I've posted some codes that use it so will hopefully get some feedback about it.

When you say "home button screen" you mean still in game but after pressing home and the buttons popup and you have the wiimote options?

ta brkirch

brkirch

Quote from: Panda On Smack;6624When you say "home button screen" you mean still in game but after pressing home and the buttons popup and you have the wiimote options?

That's correct.

OnkelLes

Hy Guys!

I tested this one but it won't work.

I tested it with my time code for HM - ToT.

[Time Code]
283ADB6A CDFF3200
CC000000 00000000
0447F060 001C5840
E0000000 80008000

Ok. The first line is the code i found with searching for 16bit 0000 then press "A" and search for 0800. And the combination Z+A+B and the not command. Second line is for deactivate with same combination. Third line is the code and last line is just how it has to end. :)

Now if the code looks like that...

[Time Code]
283ADB6A CDFF3200
0447F060 001C5840
E0000000 80008000

...i can turn it off with the combination Z+A+B but can't turn it on again. And when it looks like the first (including CC000000 00000000) i can't even turn it off. What's wrong? Did i forget something?

Greetings

OnkelLes

Now it works. Dunno what was wrong.

But is it also possible to increase a value by pressing a button and decrease by pressing another button?

For example:

Day Code:
0447F058 00000001

This code says in game it is the first day. I have to go to bed to come to the next day. But i won't wait this long. So i press 1 on my Mote and its the second day. When i now press the 2 its again the first day. How has the code to look like, and why? Hope someone can help me.

Here the codes for 1 + 2 on the wiimote:
283ADB6A 00000200 for button 1
283ADB6A 00000100 for button 2

Greetings and thankx

lindtec

You could try the following code:

[Increase Day by pressing 1 / decrease by pressing 2]
283ADB6A 00000200
82100000 8047F058
86000000 00000001
84100000 8047F058
E0000000 80008000
283ADB6A 00000100
82100000 8047F058
86000000 FFFFFFFF
84100000 8047F058
E0000000 80008000


If the days change to fast, try the following code:

[Increase Day by pressing 1 / decrease by pressing 2]
283ADB6A 00000200
A8000000 FFFD0002
82100000 8047F058
86000000 00000001
84100000 8047F058
E0000000 80008000
283ADB6A 00000100
A8000000 FFFD0002
82100000 8047F058
86000000 FFFFFFFF
84100000 8047F058
E0000000 80008000


Note: This code is untested, so feel free to experiment with it.

OnkelLes

Thx. I'll test them tomorrow. But can u explain why this is so or give me at least a schema or something?

283ADB6A 00000200 -> This one i understand
82100000 8047F058 -> 82100000 is it always same or what does it say?
86000000 00000001 -> 86000000 is it always same?
84100000 8047F058 -> 84100000 same here... is it always same or where does it come from?
E0000000 80008000 -> End of a code, i think. :)

Same at the second model...

Greetings

lindtec

Quote from: OnkelLes on October 11, 2008, 01:04:38 AM
Thx. I'll test them tomorrow. But can u explain why this is so or give me at least a schema or something?

283ADB6A 00000200 -> This one i understand
82100000 8047F058 -> 82100000 is it always same or what does it say?
86000000 00000001 -> 86000000 is it always same?
84100000 8047F058 -> 84100000 same here... is it always same or where does it come from?
E0000000 80008000 -> End of a code, i think. :)

Same at the second model...

Greetings

This code works with a so called gecko-register.

"82100000 8047F058" writes the current value at 8047F058 into register 0 (in your case this would be 01 for Day 1)
"86000000 00000001" adds 01 to the value stored in register 0 (so the value becomes in your case 02 for Day 2)
"86000000 FFFFFFFF" substracts 01 of the value stored in register 0
"84100000 8047F058" writes the new value in register 0 back to address 8047F058

For mor infos on what to do with gecko-registers, you could read the code-type-list at
http://www.usbgecko.com/codetypes.htm. (CT4 Gecko Register Operations)

Be aware, that you should avoid using different codes together, that use the same register
(you can use up to 16 different gecko-registers).

Another problem is that, when you go below 0 with this substract-code, you end up with FFFF (in your case
either 65k days in the future or a freeze). To prevent that, you should put an if-comparison at the beginning
of the code, that checks, if the value at 8047F058 is greater than 0.
Something like this:

2C47F058 00000000

OnkelLes

#29
I don't understand this. :(

Maybe u can give me another example. :)

Code is:
8047F060 001C5840
Buttons are same:
283ADB6A 00000200 for button 1 (increase)
283ADB6A 00000100 for button 2 (decrease)
Value increases/decreases each time.
0E10
Value mustn't be under:
1C03E0
Value mustn't be over:
1D4750

Let me try:
283ADB6A 00000200 -> activate by button 1
82200000 8047F060 -> current value into register (82200000 because its a 32 bit adress??)
86000000 00000E10 -> how much he increases each time (dunno why 86000000)
84200000 8047F060 -> where he should write to new value (84200000 because its a 32 bit adress?)
E0000000 80008000 -> end of first code
283ADB6A 00000100 -> activate by button 2
82100000 8047F060 -> current value into register
86000000 FFFFF1F0 -> FFFFF1F0 is right? (dunno why 86000000)
84100000 8047F060 -> where he should write new value to
E0000000 80008000 -> end of second code

Where i have to put the "check if" and are both "check if" same?

Thx

edit: I tested this one and when i press 1 it don't increases time, it increases day and not just 1...
edit2: Found some mistakes. Test it again...