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

[Code] Input Delay Tester

Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Hey, I hear a lot of people asking about TV input delay, so I wrote a code that will allow you to test this with Melee! You'll need a Wii with the Homebrew Channel to use this code.

(Mods, feel free to move this to Melee Workshop, but I'm posting it here because there is often discussion here about input delay.)

[COLLAPSE="Input Delay Tester"]
Code:
Input Delay Tester (v1.02, Gecko) [InternetExplorer]:
C2390CFC 00000021
3C608047 60639C3C
80630000 3C80805A
60847D00 3CA080BD
60A5A4A0 80050000
2C000000 418200DC
80A50000 546007BD
408200B4 54600739
408200B8 80040000
2C000000 418200BC
38C00000 90C50564
80E40004 2C070000
41820054 48000004
5460077B 40820008
48000024 7CE83B78
2C080014 41800008
39000000 3CC08045
60C630E0 B1060000
48000004 38E70001
2C07001E 4080000C
90E40004 48000064
38E00000 90E40004
48000058 3CC0437F
90C50518 90C50524
38C00000 90C5051C
90C50520 90C50528
90C5052C 90C50530
90C50534 3CC08000
60C60091 90C50564
4BFFFF80 38000001
90040000 4BFFFF5C
38000000 90040000
90040004 48000004
7C0802A6 00000000
[/COLLAPSE]

Link to my main "Melee Codes" thread

Here's how it works:

Plug into P1 and start a match. Press D-pad Right to enable and D-pad Up to disable.

While enabled, your character will flash red at a rate of 120bpm. Tap D-pad Down at the exact moment your character flashes red. Each time you do so, your character's percent damage will change to reveal the number of frames between the red flash and your input. This is the approximate number of frames of input delay your TV has.

Note that your human timing has a margin of error, so this will only give a rough estimate of your TV's input delay.

Hope you find this useful! If you have an LCD TV, feel free to post your results here.

(Btw, thanks to Massive for coming up with this idea, lol)
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
I'm probably going to be testing this after I get off work today (this idea's genesis was only earlier this morning).

I've got 10-15 TVs throughout my house, including computer monitors, that I will be testing response time on.
But mostly, as IE said, we'll be able to use this code to empirically determine what the least laggy LCDs are.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
Since everybody's reaction speed is going to be a little bit different your results will mostly be consistent with themselves.

My recommendation is to test on a known "good" setup, record an average delay value, then compare that with the setup you want to know the lag on. After we have those numbers we can cancel out any human variances and compare the results themselves.
 

Bones0

Smash Legend
Joined
Aug 31, 2005
Messages
11,153
Location
Jarrettsville, MD
I don't think you realize what you've just unleashed. The TV lag johns will soon stampede the rest of the community (and I will be leading the pack).
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Hope to try this! But how do i load it through homebrew?
It's slightly complicated. You use Gecko OS like you do to load Project M, but you have to put a .gct of the code on your SD card.

You can use this Web app to make your GCT. For the Title ID put in GALE01, and then paste my code into the text field and click "Add Codes". Then, click "Download GCT" and put it in the 'codes' folder on your SD card.
 

KishPrime

King of the Ship of Fools
BRoomer
Joined
Jun 22, 2003
Messages
7,739
Location
Indiana
Wow, this is awesome. Next time I get Melee hooked up I will definitely test this out with the Sony 3D TV.
 

The Mofo

Smash Apprentice
Joined
Jun 27, 2010
Messages
160
I first want to say, awesome work!

Since everybody's reaction speed is going to be a little bit different your results will mostly be consistent with themselves.

My recommendation is to test on a known "good" setup, record an average delay value, then compare that with the setup you want to know the lag on. After we have those numbers we can cancel out any human variances and compare the results themselves.
I have a couple qualms with how this is set up.

1. The D-pad is probably has the least responsive buttons on the controller. Activating the pulses could be on the d-pad, but then the calibration presses should be with like A or something. I could see this being a reason for positive number readings on known 0-frame lag setups.

2. This isn't about reaction time. Reaction time is how fast you can press a button after recognizing a change. This would be more like timing, since the pulsing at 120bpm can be perfectly predicted. The better you are at keeping a beat, the more accurate the reading will be. From my experience with music as well as rhythm games, people with less accuracy surround the most optimal timing, so it creates a kind of probability curve, usually with the perfect timing in the middle/highest part of the curve. Because of this, taking an average of the last 5-10 presses would most likely yield a more accurate lag reading. I understand this may not be possible with an AR code alone.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
I chose the D-pad because I wanted to pick a button that had no response from your character. If you use a button such as A, then your character jabs, and this introduces bias into your timing as you might accidentally start matching your character's jab with the red flash rather than your button press.

By the way, someone reported this code freezing their game so if anyone else experiences this sort of issue, please let me know and I'll fix it.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
How can I use this code with Dolphin / AR?
You need to add it as a Gecko code to Dolphin. Go to /User/GameConfig/GALE01.ini and paste the code to the bottom of the file (under the [Gecko Codes] tag) in this format:

+$Input Delay Tester
00000000 00000000
00000000 00000000
...

The 0's are where you'd normally put the code. Make sure you have the +$ in front of the code title. Also, make sure you add an empty line to the bottom of the document! This is important! Anyway, after you do that, just select "Enable Cheats" in Dolphin's config and you're good to go! If you want to disable the code, right-click Melee in Dolphin's game list, select Properties, navigate to the 'Gecko Codes' tab and uncheck the listed code.
 

Kadano

Magical Express
Joined
Feb 26, 2009
Messages
2,160
Location
Vienna, Austria
By the way, someone reported this code freezing their game so if anyone else experiences this sort of issue, please let me know and I'll fix it.
I have this on Dolphin as well—if the code is active (↑ not pressed yet) while I press start on the charselect screen, it freezes. Pressing ↑ after I’m done testing resolves this.
 

Noc

Smash Journeyman
Joined
Dec 30, 2008
Messages
225
Location
Galveston, TX
Bumping because it would be awesome to find a CRT with component inputs that has no or negligible lag.

Has anyone gotten this code to work on console? Freezes for me when I try to advance from the start screen, even when I try to first press D-pad Up to disable (using Neogamma R9 beta 56).
 

Noc

Smash Journeyman
Joined
Dec 30, 2008
Messages
225
Location
Galveston, TX
It would be very useful if this code worked on console. I got a streaming setup for 480p melee consisting of Wii -> component distrib amp -> component-VGA converter -> CRT PC monitor, but some players felt there was lag. I can try replacing any of the above equipment but it would be great to be able to simply measure lag.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
It would be very useful if this code worked on console. I got a streaming setup for 480p melee consisting of Wii -> component distrib amp -> component-VGA converter -> CRT PC monitor, but some players felt there was lag. I can try replacing any of the above equipment but it would be great to be able to simply measure lag.
Code:
Debug Menu Input Delay Test [Dan Salvato]
0422D638 38000006
04302e00 4e800020
043fa4e8 803fc420
043fa500 00000000
043fa504 00000000
043fa520 00000009
043fa524 00000000
043fa528 00000000
043fa454 00000000
c61b09f4 800236dc
C2303AF0 00000013
7C771B78 3C80804D
60845A08 88A40002
2C050000 41820028
38A000C0 90A40000
38A0FFFF 90BF0030
90BF0034 90BF0038
807F0008 38A00000
90A30028 891F0039
88A40000 2C050008
4181000C 2C0800FF
40820038 38C0FFF8
7CA62A14 7CA50775
98A40000 40820024
38600040 388000FF
38C00000 3D808038
618CCFF4 7D8903A6
4E800421 48000004
7EE3BB78 7C64F378
60000000 00000000
C2303DC8 00000018
3C60804D 60635A08
389F0030 38A00000
7CC520AE 7CC60774
2C06FFFF 41820014
38A50001 2C05000A
40800090 4BFFFFE4
88E30000 3900FF00
7CE74214 7CE700D0
39000008 7CE743D6
3900FFFF 7CE74214
2C07001D 41800008
38E00000 2C070010
40800008 7CE521AE
2C050009 4082004C
38A00060 98A30001
38A00000 38E00000
7CC520AE 2C0600FF
41820010 7CE73214
38A50001 4BFFFFEC
3900000A 7CE743D6
1CE70002 3C60803B
6063F5D1 7C633A14
809F0008 90640028
881F0000 00000000
C2303E58 00000007
3C60804D 60635A08
88830001 2C040000
4182001C 38800001
98830002 3D808030
618C3EDC 7D8903A6
4E800420 881F0000
60000000 00000000
Can you test this on console for me? It overrides the debug menu with an input delay tester. Pick Tournament Mode, then push A to match the pulse timing. After 10 presses, they are averaged and the frames of lag is displayed. Make sure you account for human error, and test against a normal CRT TV as well.
 

Noc

Smash Journeyman
Joined
Dec 30, 2008
Messages
225
Location
Galveston, TX
@ Dan Salvato Dan Salvato I tested the new code above on console and it works great, thank you so much!! After running the test 30 times and calculating the average to minimize human error (and multiplying by 16.67 to convert frames to milliseconds), here are some of the results I got:
  • Wii composite 480i -> Toshiba CRT TV: 1.1 ms (likely overestimates actual lag but serves as control)
  • Wii component 480p -> Insignia 720p HDTV: 12.9 ms (expected lag due to upscaling)
  • Wii component 480p -> LG 1080p HDTV: 83.4 ms
  • Wii component 480p -> Monoprice component-VGA converter -> Sony CRT PC monitor: 12.4 ms (significant increase compared to CRT)
  • Wii component 480p -> CElabs component distrib amp -> Monoprice component-VGA converter -> Sony CRT PC monitor: 13.4 ms (no statistically significant difference compared to same setup without distrib amp)
Thanks to your code, I now know that the players were right about my new 480p setup having some lag, and that either the converter or CRT PC monitor is the cause. I plan to get the Startech CPNT2VGAA converter which @jmlee337 previously found to be lagless using an oscilloscope.
 
Top Bottom