Universal button activator/mapper/spoofer (now with shaking!)

Started by dcx2, April 20, 2011, 05:19:19 AM

Previous topic - Next topic

Deathwolf

Alright I found it.

8080D094 is the shaking address. I just noped the ASM address and I was not able to enable shake-attacks anymore.
lolz

Bully@Wiiplaza

Quote from: Deathwolf on November 02, 2011, 08:38:25 PM
Alright I found it.

8080D094 is the shaking address. I just noped the ASM address and I was not able to enable shake-attacks anymore.
awesome ;D
now find the nunchuck stick activators... :P
My Wii hacking site...
http://bullywiihacks.com/

My youtube account with a lot of hacking videos...
http://www.youtube.com/user/BullyWiiPlaza

~Bully

dcx2

As I said above, if you try to write to the shake address, you will probably fail.

The "shake" is actually a vector sum of three floats, the X Y and Z accelerations.  In order to spoof a shake, you should over-write one of the X Y or Z accelerations.  This value would influence the shake value.

Deathwolf

Quote from: dcx2 on November 02, 2011, 08:47:35 PM
As I said above, if you try to write to the shake address, you will probably fail.

The "shake" is actually a vector sum of three floats, the X Y and Z accelerations.  In order to spoof a shake, you should over-write one of the X Y or Z accelerations.  This value would influence the shake value.

true! then I found something new. One of these registers enables auto-shaking.

8006B194:  D0040000   stfs   f0,0(r4) is the original

Then I just changed f0 to f3 and when I press A+B on the GCC it enables shaking. It writes to XYZ.

So heres the code with shaking:

82000000 CD006404
82000001 CD006408
82000002 CD00640C
C206B07C 00000015
9421FFB0 BDC10008
3EA00000 62B50000
3DC0CD00 A18E6404
71950002 2C150000
41820008 60000004
71950001 2C150000
41820008 60000008
71950004 2C150000
41820008 60000001
71950100 2C150000
41820008 60000100
71950200 2C150000
41820008 60000200
71950008 2C150000
41820008 60000002
71951000 2C150000
41820008 60000010
71951000 2C150000
41820008 60001000
90030000 B9C10008
38210050 00000000
4A000000 CD006404 #shaking
38000000 00000380
0406B194 D0640000
E2100000 00000000
0406B194 D0040000
E0000000 80008000
lolz

Bully@Wiiplaza

8080D020   00000000   00000000   00000000   00000000
8080D030   00000000   00000000   00000000   00000000
8080D040   00000000   00000000   00000000   00000000
8080D050   00000000   00000000   00000000   00000000
8080D060   00000000   00000000   00000000   00000000
8080D070   00000000   00000000   00000000   00000000
8080D080   00000000   00000000   00000400   00000000
8080D090   00000000   *BD273D9F*   BF840DB0   BE15E4F0
8080D0A0   3F857A7C   3809A270   00000000   00000000
8080D0B0   00000000   00000000   00000000   3F800000
8080D0C0   00000000   00000000   00000000   00000000
8080D0D0   3F800000   00000000   00000000   3F7DA7F9
8080D0E0   3E0A4009   00000001   00000000   00000000
8080D0F0   BF6806C0   BEC70F6B   3E88170C   3F82BDA3
8080D100   3682964F   00000000   00000000   00000000
8080D110   00000000   00000000   00000000   00000000

does this seem to be correct, dcx2?
My Wii hacking site...
http://bullywiihacks.com/

My youtube account with a lot of hacking videos...
http://www.youtube.com/user/BullyWiiPlaza

~Bully

Deathwolf

lolz

xichael

So, for a layperson such as myself :confused:, would there be a Mario Kart (RMCE01) code that I could load into Code Manager to remap the shaking required for tricks and wheelies to the nunchuck's C button?

Wheelies need an upward (y axis?) acceleration from the wiimote, which also seems sufficient for tricks. So, I suppose that's the address to find.

Thanks in advance to the geniuses who figure this out.

dcx2

If RMCE01 uses the same pad read function, then yes my code would work.  You would need a button activator that would write to the shake spoof.  I believe the code already uses the Y axis to shake.

I don't do much Wii hacking anymore (moved on to the PC), so I can't really offer you much more help.

xichael

So, in this portion:

00010002 00040008 # LLLLRRRR DDDDUUUU
00100000 00000080 # ++++WWWW NNNNXXXX
01000200 04000800 # 22221111 BBBBAAAA
10002000 40008000 # ----ZZZZ CCCCHOME

Do I just replace the 4000? What with?

Is that all I'd need to do?

dcx2

No, that's for remapping.  You don't want to remap buttons, you just want to spoof a shake.

Given the original code (and not Y.S. modification for 4-players and rapid-fire), the following code will read the button state from gr10, and if the C button is held then it will write 0x20 to gr12.  You still need the full original code (which would read from gr12 and then spoof the shake).  The first three lines work in conjunction with the rest of the code.  This allows you to easily change which button spoofs the shake without rewriting the whole code.

28001830 BFFF4000
04001838 00000020
E0000000 80008000

F6000001 80048100
2809FFFF 40820008
D200000C 0000001B
9421FFB0 BDC10008
3D808000 48000025
00010002 00040008
00100000 00000080
01000200 04000800
10002000 40008000
39C00010 39E00001
3A000000 3A200000
7E4802A6 A27F0018
2C133FDA 41800008
51E72EB4 A27F0074
2C133FDA 41800008
51E73672 7CF37839
4182000C 7E728A2E
7E109B78 3A310002
55EF083C 35CEFFFF
40A2FFE4 828C1838
72930060 7E109B78
72130020 4182000C
3E6042C8 927F0010
72130040 4182000C
3E6042C8 927F0070
70F30060 7E109B78
90EC1830 920C1834
7E878378 B9C10008
38210050 70E09FFF
60000000 00000000
E0000000 80008000

xichael

I just loaded that into a GCT file with code manager, but it had no effect.  :(

dcx2

Your game probably uses a different pad read function.  This code is not nearly as universal as I had hoped.