Bob

Brawler64 NSO Controller Lag Tested

After purchasing the Bluetooth-based Brawler64 from Retro Fighters, the very first thing I did (as you can imagine) is lag test it!  I used the MiSTer lag test kit I previously demo’d in livestreams and found some excellent results:  The USB connection averaged 3.3ms of latency, while the Bluetooth connection averaged 8.5ms – both in XInput mode.  That makes this controller totally playable for everyone other than pro gamers and it paired really well with the MiSTer’s upcoming N64 core!  I didn’t test it for its intended use (Nintendo Switch Online), as I don’t subscribe to that, but at this price point, it’ll be a good choice for a wireless MiSTer controller, where the button layout makes sense.  More info after the links:

SaG Brawler64 NSO:  https://retrorgb.link/brawler64bt
Rondo Brawler64 NSO:  https://retrorgb.link/brawler64bluetooth
SaG Limited Gold Edition:  https://retrorgb.link/brawler64goldbt
Rondo Limited Gold Edition:  https://retrorgb.link/brawler64btgold

First, it’s important to note I’m not a controller expert.  I’m just a low-lag enthusiast, trying my best to help.  While my results are 100% accurate, there might be other modes that perform differently, better connection methods, etc.   But I’ll explain what I did and why I’m so confident in the results…

I used the Arduino / SNAC method of testing, that I’d previously demo’d in two livestreams (below) with Louis from Zezretro;  The custom board connected to the 0.0ms latency SNAC port, as well as a button on the controller and an Arduino.  The Arduino connects to a PC running putty.  And then you load a MiSTer core from lemonici that triggers the button press, then measures the time from when the button is pressed, to when it’s detected in the core.  This will work with any connection method – Basically, just connect your controller to MiSTer first, map the buttons in the main area, as well as the lag test core, then install the kit.

I started with USB, as that was the easiest.  The controller was only detected when placed in XInput mode, by holding sync and B white powering on.  Maybe I messed this up and you can just connect the controller via USB C-A cable without XInput mode, but that’s what worked for me.  I then ran the test twice, both for 1000 presses each.  The lowest reading was 0.34ms and the highest was 5.84ms, averaging out to 3.3ms.

I then moved to bluetooth and also had to set it to XInput mode for it to be detected.  I ran the test for 1000 presses once again and saved the results.  I was really curious to see if different bluetooth adapters showed different results, so I ran these 1000-press tests on a combo adapter, long-range BT5.0 adapter and standard range BT5.0 adapter;  Luckily, the button mappings retained from before I installed the tester, so I only needed to re-sync to the new adapter, not re-map.  The results were within a half millisecond of each other, with the lowest total reading being 2.81ms and the highest 17.78ms, with the average being 8.5ms – About half a frame.

As a side-note, it was pretty interesting that the BT4.2 receiver performed basically the same as the BT5.0’s.  While I’m sure most of us wouldn’t mind spending $20 to upgrade if there was a lower latency solution available, it’s nice to know existing solutions are totally fine.

It’s also important to note that the controller was about two feet away from the receiver (the same exact distance for each test) and I’m not in an area with a lot of wireless interference.  I imagine if I was still in my NYC apartment, the results would be different…but these tests are about the controller, not the environment.  If I were a controller company, I’d test in the exact same way and be confident in the results.  In fact, I send the exact kit I used here – The full (amazing!) Retro Castle kit and Arduino-based lag tester to RetroFighters and hope they’ll start testing all of their controllers this way!

The only issue I ran into, was I had to re-pair the controller each time I wanted to use Bluetooth;  USB worked perfect just plugged it in after initially setting it to XInput mode.  I’m not sure if I’m just powering up the controller wrong, or if this is a limitation of XInput mode with MiSTer.  Either way, as long as you have a keyboard connected (I always keep one of these handy), it was a non-issue, as the button mappings all retained and it only takes a second to re-connect.  Update:  It’s working fine now.  My guess is it’s a MiSTer-related issue, as always seems to happen with WiFi as well.

It felt great with the N64 core, but I also played some shmups using the analog stick instead of the d-pad.  Now, of course, this doesn’t miraculously convert the games to support analog controllers, but they oddly felt more natural with a “thumbstick” instead of a d-pad.  I was also surprised at how many games mapped perfectly, even though it’s got an “N64 layout” – I mapped shoot and auto-fire shoot to the two larger triggers, then “bomb” (or ‘special weapons’) to A & B and it was very comfortable.  Driving games like OutRun worked well too, as brake and accelerate were mapped to the triggers and shift on A&B.  I didn’t try fighting games, as I imagine those wouldn’t feel right…but overall, I genuinely think this controller is worth the money and a good option!

Liked it? Take a second to support Bob on Patreon!