• 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!

Controller Input Lag Fix


Smash Master
Dec 13, 2003
Close to Trenton, NJ Posts: 4,071
Depending on its mood, Brawl takes between 0-2 additional frames (possibly more in rare cases?) from the time it initially reads inputs from controllers until it goes to actually use them to control your character. This code corrects that oddity. See this post and this video for more info.

Controller Input Lag Fix [Magus]
* C202AD8C 00000002
* 7C630214 3863FBFC
* 60000000 00000000

add	r3,r3,r0	entry point (8002AD8C). adds offset for controller port to base address (port * 0x40)
subi	r3,r3,1028	changes base address to load inputs from most up to date controller inputs
[/collapse]This makes the game use the initial set of controller inputs which are always the ones polled that frame and the most recent stored in memory for controlling your character. The set of inputs used by default is often running 1 or 2 frames behind (whether it's behind by 0, 1, or 2 frames varies over time during gameplay).

Controller Input Lag Fix (Comparison Test) [Magus]
* C202AD8C 00000004
* 7C630214 2C040001
* 4182000C 2C040005
* 4082000C 3863FFC0
* 3863FBFC 00000000

add	r3,r3,r0	entry point (8002AD8C). adds offset for controller port to base address (port * 0x40)
cmpwi	r4,1		check if 2nd GC port
beq-	0xC
cmpwi	r4,5		check if 2nd wii port
bne-	0xC		skip if not 2nd GC port or 2nd wii port
subi	r3,r3,64	looks at 1st GC controller or 1st wii if 2nd GC or 2nd wii
subi	r3,r3,1028	changes base address to load inputs from most up to date controller inputs
[/collapse]This version of the code makes the 2nd Gamecube and Wii controller ports instead use the 1st GC/Wii ports, and applies the fix only to them. With this, if you use a controller in the 1st slot it'll act as if it's also plugged into the 2nd slot, allowing you to control 2 characters with 1 controller. Only the 2nd character will have the input delay corrected though, so with 2 of the same character side by side you can compare them (during the times when the delay is at 2 frames it's particularly noticeable).



Smash Hero
Dec 1, 2009
Oh lord. You are a savior.
Too bad I never go online :p


Nov 26, 2009
Eau Claire, Wisconsin
This isn't for online, segtendo. If you read the post and watch the video he linked, it shows that the game will lag your input anywhere between 0 and 2 frames. This code fixes it. Online will still lag because of poor wifi stuff.


Smash Apprentice
Jan 25, 2011
Hmmm...I might have to do some testing with this online. If it works, I'll definitely let everybody know! It might just make wifi a little more bearable lol. Thanks for posting btw Toast.


Smash Master
May 6, 2012
It doesn't if both have it running, and most likely won't even if the other person doesn't (it'd give you a slight advantage though, lol).
Wow, you were right. So far replays that had the code do not desync with the code removed

That thread I made on smashmods about Platform drop aerials feeling different was indeed from the Input lag fix. With the code removed it feels identical to 2.1. I loved the feel of 2.1 with the input lag, and I could technically still play people on Wifi with it and not desync with them, but I won't do that.

I now know why I felt so off in Melee ever since playing P:M a lot since the very first demo (Besides the Brawl landing detection in v1, which had its own benefits and obvious downfalls)

2.5 Without the lag input fix feels like 2.1, and allows better transitioning to Brawl, but with the lag fix thus transitions better to Melee.

I shall try to get used to this lag fix as it's the right thing to do(especially for tournaments like upcoming SCSYN), though I do hope that it's all in my timings rather than assistance in how it helps me perform platform drop aerials much easier as well perform just about everything much more smoothly (it's like having a sort of buffer assist effect in allowing me to input inputs in ahead of their time) but I'm hoping it's just a timing thing that I can perform all I want to just when I get my timings straight.

It confuses me though that I can notice the effects of the input lag when it's there and when it's not, but supposedly without the input lag fix code the input lag is still said to fluctuate between 0 and 2 frames: and I haven't been able to detect that, almost as if it barely ever transitions to 0 and only for a very short duration.
Top Bottom