• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Completed rumble on v-cancel

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
TESTED and working

Rumble on v-cancel (1.02) [flieskiller]
C208DEF0 0000000B
3821FFE0 9081001C
90A10018 90C10014
90E10010 887D000C
38800000 38A0000C
38C00000 38ED9950
3E208037 62318430
7E2903A6 4E800421
8081001C 80A10018
80C10014 80E10010
38210020 806DAEB4
60000000 00000000

Because almost every player doesn't use the rumble, I got an idea of using it anyway (skipping if rumble = on for that player). When a player v-cancel, the controller rumbles for 12 frames.

ASM notes:
rumble function (notes by Dan Salvato):
802477e4
r3: Port number
r4: ?? (usually 0)
r5: Number of frames to rumble
r6: ?? (usually 0)
r7: Unknown pointer value (rumble options screen uses 804d4ff0)

ASM:
subi sp, sp, 0x20
stw r4, 0x1c(sp)
stw r5, 0x18(sp)
stw r6, 0x14(sp)
stw r7, 0x10(sp) #storing needed registers in the stack
lbz r3, 0x000C (r29) #loading number of player
li r4, 0 #need to be 0
li r5, 0xc #number of frames
li r6, 0 #need to be 0
subi r7,r13,0x66b0 #need 804d4ff0
lis r17, 0x8037
ori r17, r17, 0x8430 #bl to the rumble function directly
mtctr r17
bctrl
lwz r4, 0x1c(sp)
lwz r5, 0x18(sp)
lwz r6, 0x14(sp)
lwz r7, 0x10(sp) #restore back used registers
addi sp, sp, 0x20
lwz r3, -0x514C (r13) #normal line
 
Last edited:
Top Bottom