AV:Testing Controller Latency
Jump to navigation
Jump to search
Below is the process used by Porkchop Express and Lemonici for measuring controller latency using a MiSTer. This process and their posted results can be found on this site.
Testing Controller Latency (MiSTer)
Required Materials
- An Arduino Uno/Leonardo/Pro Micro (others will probably also work).
- The NES Lag Tester core.
- The Arduino lag test code by @jorge_ and @lemonici].
- PuTTY (or other telnet client).
- A USB 2.0 cable to be cut.
- IO Board OR DE-10 Nano Latency Testing PCB hat
Setup
- Upload the Arduino lag test code to the Arduino.
- Enable 1ms polling on MiSTer by running fast_polling_on.sh
- Configure the controller you wish to test in the NES Lag Tester core, ensuring that the button you will wire up for testing is mapped.
- Solder a wire from a button on the controller to digital pin 5 of the Arduino, also solder a wire for GND between the controller and Arduino.
- Connect digital pin 2 of the Arduino to the User IO TX (D+) line on the IO board or PCB hat. You can do this using a USB 2.0 cable that you cut off. The green wire is D+.
- Connect GND between the Arduino and USER IO (black wire of the USB cable).
Testing Latency
- Plug the controller into a free USB port on the MiSTer.
- Power on the MiSTer and start the NES core. Close the OSD. Press a button or an axis on the controller.
- Plug the Arduino to a USB port on your computer and start Putty. Start a serial connection to the COM port of the Arduino at speed 115200. The COM port of the Arduino can be found in device manager (on Windows).
- If the connection was successful, you should now see test data in the Putty console.