Skip to content
Tech News
← Back to articles

Legendary ZSNES Nintendo emulator rewritten from scratch with GPU-acceleration, no vibe coding — new Super ZSNES has ‘far more accurate CPU and audio cores than the original’

read original more articles
Why This Matters

The rebirth of ZSNES as Super ZSNES marks a significant advancement in emulation technology by leveraging GPU acceleration for more accurate CPU and audio cores, enhancing the authenticity and performance of SNES game emulation. This development benefits both enthusiasts seeking a more faithful gaming experience and the broader tech industry by demonstrating innovative use of GPU shaders for complex emulation tasks, paving the way for future enhancements like high-resolution textures.

Key Takeaways

ZSNES is a legendary Super Nintendo Entertainment System emulator with its roots stretching back to the DOS era. Created by zsKnight and Demo, the last major release of this seminal hand-tuned, assembly-coded emulator was nearly two decades ago. It has been reborn this week as Super ZSNES with “super enhancements” powered by your system’s GPU. Rewritten from scratch by the aforementioned dynamic duo, Super ZSNES now boasts “far more accurate CPU and audio cores than the original ZSNES,” as well as a “GPU-powered PPU core.”

Super ZSNES - GPU Powered SNES emulation is here! - YouTube Watch On

See some hands-on Super ZSNES footage and discussion from MVG, above. The RetroTuber has had access to this emulator reboot for a couple of weeks.

Before deciding to go ahead with this project, zsKnight had pondered what to do differently for a reboot. The dev told MVG, “I had to brainstorm a bit, thinking what I could do differently. So, I started out by writing a GPU renderer that replaces a large chunk of the SNES PPU emulation with rendering done mostly on the GPU through shaders.”

Article continues below

The big underlying challenge here was the SNES architecture being CRT-based and GPUs being geometry-based, but zsKnight enjoyed jumping the hurdles. In the first release of Super ZSNES, MVG confirms tasks such as “palette lookups, tile rendering, transparencies, mode 7, color math, main and subscreen combinations, mosaic effects are all handled via GPU shaders.” This architecture unlocks some ‘Super’ enhancements in the new UI, and some intriguing possibilities for coming releases – like high-res textures, for example.

Another aspect of this new emulator that makes it 'Super' is its new Super Enhancement Engine, and it is here that we reckon the new GPU-powered architecture will also often come into play. We’ve tabulated what this means to your old SNES games, below.

Swipe to scroll horizontally Super Enhancement Engine - toggle options High Resolution Not just an auto upscalar, but an internal drawing program is used to make sure that the higher resolution details can be manually drawn to look nice and crisp. Texture/Normal Map Adds some nice details to the backgrounds to give them a higher resolution look. Overclock Select games often filled with slowdown are overclocked. Wide Screen (where available) We enable widescreen whenever the game is internally coded to support partial or full widescreen. Uncompressed Audio Replacement We curate and pick uncompressed audio samples to replace original highly compressed audio samples. 3D Currently only supported on perspective-style Mode 7, replaces tiles with 3D height mapped data.

Image 1 of 3 (Image credit: Tom's Hardware) (Image credit: Tom's Hardware) (Image credit: Tom's Hardware)

Before we go, we note that the new Super ZSNES was put together using Unity. However, the devs insist that there’s been “no vibe coding” and everything under the hood was completed “classic development style.”

... continue reading