SinsOfApathy
Smash Journeyman
- Joined
- Feb 24, 2015
- Messages
- 474
- NNID
- Psion312
$SuperFox [SinsOfApathy]
C23762A0 00000019
9421FFE0 9301001C
92E10018 92C10014
92A10010 3EE08046
62F7B6CC 3F00003B
5718843E 82F70000
56F7843E 7C17C000
4182006C 3AE00000
3B000000 3EC08045
62D621F3 3AD60E90
8AB60000 7F18AA14
3AF70001 2C170004
4180FFEC 2C180000
4182003C 3F0080BD
6318A4A0 83180000
82D806BC 2C160000
40820024 83180008
2C180000 4082FFEC
3F008043 3EC0003D
62D6CC50 92D82A2C
48000014 3F008043
3EC0000A 62D64CB8
92D82A2C 8301001C
82E10018 82C10014
82A10010 38210020
38000001 00000000
C23762A0 00000019
9421FFE0 9301001C
92E10018 92C10014
92A10010 3EE08046
62F7B6CC 3F00003B
5718843E 82F70000
56F7843E 7C17C000
4182006C 3AE00000
3B000000 3EC08045
62D621F3 3AD60E90
8AB60000 7F18AA14
3AF70001 2C170004
4180FFEC 2C180000
4182003C 3F0080BD
6318A4A0 83180000
82D806BC 2C160000
40820024 83180008
2C180000 4082FFEC
3F008043 3EC0003D
62D6CC50 92D82A2C
48000014 3F008043
3EC0000A 62D64CB8
92D82A2C 8301001C
82E10018 82C10014
82A10010 38210020
38000001 00000000
@803762a0
stwu r1, -0x0020(r1)
stw r24, 0x001C(r1)
stw r23, 0x0018(r1)
stw r22, 0x0014(r1)
stw r21, 0x0010(r1)
lis r23, 0x8046
ori r23, r23, 0xB6CC
lis r24, 0x003B #Match Timer default before starting
srwi r24, r24, 16
lwz r23, 0(r23)
srwi r23, r23, 16
cmp 0, 0, r23, r24
beq Reset
li r23, 0
li r24, 0
lis r22, 0x8045
ori r22, r22, 0x21F3
CheckPlayers:
addi r22, r22, 0xE90
lbz r21, 0(r22)
add r24, r24, r21
addi r23, r23, 1
cmpwi r23, 4
blt CheckPlayers
cmpwi r24, 0 #Player Status, >= 0x02 = Ingame
beq Reset
lis r24, 0x80BD
ori r24, r24, 0xA4A0
lwz r24, 0(r24)
CheckInputs:
lwz r22, 0x6BC(r24) #Player Digitals
cmpwi r22, 0 #if (inputs != 0)
bne Reset
lwz r24, 0x08(r24) #Grab the next player's data pointer
cmpwi r24, 0 #If there's another player, loop back
bne CheckInputs
Run:
lis r24, 0x8043
lis r22, 0x003D
ori r22, r22, 0xCC50
stw r22, 0x2A2C(r24) #Store our 10FPS
b Exit
Reset:
lis r24, 0x8043 #Point to frame mod
lis r22, 0x000A
ori r22, r22, 0x4CB8
stw r22, 0x2A2C(r24) #Restore our 60FPS
Exit:
lwz r24, 0x1C(r1)
lwz r23, 0x18(r1)
lwz r22, 0x14(r1)
lwz r21, 0x10(r1)
addi r1, r1, 0x20
li r0, 1
stwu r1, -0x0020(r1)
stw r24, 0x001C(r1)
stw r23, 0x0018(r1)
stw r22, 0x0014(r1)
stw r21, 0x0010(r1)
lis r23, 0x8046
ori r23, r23, 0xB6CC
lis r24, 0x003B #Match Timer default before starting
srwi r24, r24, 16
lwz r23, 0(r23)
srwi r23, r23, 16
cmp 0, 0, r23, r24
beq Reset
li r23, 0
li r24, 0
lis r22, 0x8045
ori r22, r22, 0x21F3
CheckPlayers:
addi r22, r22, 0xE90
lbz r21, 0(r22)
add r24, r24, r21
addi r23, r23, 1
cmpwi r23, 4
blt CheckPlayers
cmpwi r24, 0 #Player Status, >= 0x02 = Ingame
beq Reset
lis r24, 0x80BD
ori r24, r24, 0xA4A0
lwz r24, 0(r24)
CheckInputs:
lwz r22, 0x6BC(r24) #Player Digitals
cmpwi r22, 0 #if (inputs != 0)
bne Reset
lwz r24, 0x08(r24) #Grab the next player's data pointer
cmpwi r24, 0 #If there's another player, loop back
bne CheckInputs
Run:
lis r24, 0x8043
lis r22, 0x003D
ori r22, r22, 0xCC50
stw r22, 0x2A2C(r24) #Store our 10FPS
b Exit
Reset:
lis r24, 0x8043 #Point to frame mod
lis r22, 0x000A
ori r22, r22, 0x4CB8
stw r22, 0x2A2C(r24) #Restore our 60FPS
Exit:
lwz r24, 0x1C(r1)
lwz r23, 0x18(r1)
lwz r22, 0x14(r1)
lwz r21, 0x10(r1)
addi r1, r1, 0x20
li r0, 1
It's SUPERHOT for Melee. Look it up.
Here's a video from my stream. It's not the latest iteration, so it suffers from bugs like how the match slows down during the 3 second start.
http://www.twitch.tv/psilupan/v/52140479
Here's a video from my stream. It's not the latest iteration, so it suffers from bugs like how the match slows down during the 3 second start.
Info:
To change the timing, change the following lines based on the frame speed you want.
lis r22, 0x003D
ori r22, r22, 0xCC50
Base FPS for Melee is 0xA4CB8, so take that over to google and multiply it with "0xA4CB8 * n" where n is how much you're essentially dividing FPS by. So, my 0x003DCC50 seen above is 10FPS, since it's 0xA4CB8 * 6.
Stipulations:
- This code works with all possible players (up to the 6 supported by the game). CPUs are included, but their 1 frame inputs barely register enough to make a difference.
- You need to have a Timer on. This will work in Classic mode for sure (and I assume Adventure).
- I didn't test this with a real save file. Use at your own risk.
Last edited: