ZSNES Creator Explains How He Achieved 'Rollback' Netcode On Dial-Up Connections In 1997 1
Image: Zion Grassl / Time Extension

If you were around in the late '90s and you owned a PC then chances are you encountered ZSNES, one of the first retro emulators to really break into the mainstream.

Coded by zsKnight, the emulator was astounding for 1997 – not only did it offer excellent performance, it even had netplay. Remember, this was back when most households still had dial-up connections, and the average PC was less powerful than a smartwatch is today.

Speaking to Zophar in one of his first-ever interviews (thanks, PC Gamer), zsKnight explains how he was able to create such an accurate emulator almost 30 years ago:

"When I was 16 years old I started learning assembly, and I got so fascinated with optimization, making everything as fast as possible. I started coding everything in pure assembly—until the Windows port there was not a single line of C code in there. It's optimized to the brim. When I first started it, I wanted a Super Nintendo emulator that could play at full speed on my computer, but I actually did not expect to meet that goal."

One of the most impressive aspects of ZSNES was that it enabled online play in 1997 and even featured its own version of rollback netcode.

zsKnight explains how this magic was achieved:

"30 times a second, I do a secret save state. The emulator plays ahead, maybe 30 milliseconds, and whenever it gets a packet saying the controller has changed, it rewinds to that frame and replays the emulation until the current point with that new input buffer."

zsKnight is currently working on Retro Endurance 8bit.

[source youtube.com, via pcgamer.com]