ZSNES

Original author(s)| zsKnight, _Demo_, pagefault, and Nach
Developer(s)| ZSNES Team
Initial release| 0.150 / October 14, 1997; 28 years ago (1997-10-14)
Final release|

1.51 / 24 January 2007; 19 years ago (2007-01-24)

Written in| x86 assembly, C, C++
Operating system| Linux, MS-DOS, Windows, Mac OS X, FreeBSD, Xbox
Available in| English
Type| Video game console emulator
License| Since 1.50: GPL-2.0-only
1.17b to 1.42: GPL-2.0-or-later
Until 1.17: Proprietary
Website| {{{1}}}

ZSNES is an emulator for the Super Nintendo Entertainment System released as free software. There are official ports for Linux, MS-DOS, Windows, and unofficial ports for Xbox, and macOS.

## Contents

* 1 Background
* 2 Development history
* 3 Reception
* 4 See also
* 5 References
* 6 External links

## Background

Development of ZSNES began on 3 July 1997 and the first version was released on 14 October 1997, for DOS. Since then, official ports have been made for Windows and Linux. The emulator became free software under the GPL-2.0-or-later license on 2 April 2001. Despite an announcement by adventure_of_link in 2009 stating that "ZSNES is NOT dead, it's still in development", made on the ZSNES board after the departure of its original developers zsKnight and _Demo_,[1] development has slowed dramatically since its last version (1.51 released on 24 January 2007). Much of the development efforts concentrated on increasing the emulator's portability, by rewriting assembly code in C and C++,[2] including a new GUI using Qt.[3]

ZSNES was early in being able to emulate several of the SNES enhancement chips at some level.[4] Until version 1.50, ZSNES featured netplay via TCP/IP or UDP.[5]

An early ZSNES feature of interest was "ZMV movies"[1]. This feature enabled players to record their play session inputs and then output those to a ZMV file, in such a way that another user with a copy of ZSNES, a matching ROM file, and the ZMV file, should be able to "watch" the other person's gameplay. This long preceded mass availability of gameplay videos online, being an early form of sharing this type of content.

Because ZSNES is largely written in assembly language for x86 processors, the idea of porting ZSNES to devices using RISC architectures such as ARM is highly unfeasible. Commercial gaming consoles did not typically use x86 processors (with the original Xbox being the most well-known exception) prior to the eighth generation, with the 2013 releases of the Xbox One and PlayStation 4.[6]

## Development history

The first public release of ZSNES was version 0.150, on 14 October 1997. It incorporated the entire 65816 instruction set from the SNES's modified WDC 65C816 microprocessor, as well as SRAM support and partial Mode 7 implementation. It also already offered save states to a .ZST file as an additional feature. This initial version missed certain DSP features.[7]

Version 0.600 from 9 September 1998, was the first to feature developer Pharos (as a coding assistant), and was a milestone release due to the implementation a of new 16-bit graphics engine, as well as featuring an entirely new GUI with more functions available than before.[8] Shortly afterwards, version 0.700 from 27 October 1998, was the first to compile with C code.[9]

Starting from version 0.900c/a from 4 July 1999, an important feature for the time was added, which was native ZIP compression support, which allowed users to save space in the then expensive hard disks. Also, work intensified on improving support of the SA-1 chip.[10]

Version 1.000 from 1 September 2000, marks ZSNES's first official Windows release,[11] and the next several versions of the emulator focused on improving the quality of this port. In 2 April 2001, the software's source code was released and the team was joined by coder Teuf.[12]

Release 1.30b from 16 June 2001, can be considered a landmark in Super Nintendo emulation, as it added initial support to Star Ocean and its S-DD1 compression chip.[13] This title pushed the limits of the system's hardware, boasting voice clips and enhanced graphics, and was tricky to even get running on an emulator.

After zsKnight's departure for personal reasons in July 2001, the project made a release in homage to him and his family, version 1.337, from 30 September 2001.[14] The emulator continued being updated until releases halted in July 2002, and it would be more than two years until a new public release.

When version 1.40 eventually released on 25 December 2004, it marked a turning point for the project, with new contributors and significant overhauls to the emulator's ageing systems. Developers Nach and pagefault particularly focused on removing several of the infamous hacks that were part of ZSNES's code base, implementing proper code that tricky games relied on. In tandem with that, extensive work was carried out to better support special chips.[15]

Version v1.50 from 22 December 2006, was another major overhaul, which according to the developers: "ZSNES is a program with over 200,000 lines of source code, and in this release, over 25% of that has been modified; also, around 15% of the assembly has been ported to C."[16] This was the final major release of the emulator, being followed by the minor 1.51, and winding down thereafter.

A successor project, titled Super ZSNES, was released on 27 April 2026.[17] This new build was rewritten from the ground up in Unity, and is designed to rely more heavily on the GPU as compared to the original ZSNES (and other emulators), which tend to do most of their work on the CPU. By running on the GPU, Super ZSNES allows for GPU-powered visual enhancements. Other enhancements include uncompressed sample replacement for audio, widescreen, and 3D height mapped data for Mode 7. Certain games have built-in enhancements, however, these enhancements can also be created and modified for any game via a built-in enhancement editor.[18]

## Reception

ZSNES was generally well-regarded in its heyday, with British game magazine Retro Gamer in 2005 calling the emulator "very impressive" and praising the "incredible toaster mode".[19]

However, with the more recent development of more accurate SNES emulators such as Snes9x and higan as computers have gradually become more powerful, retrospective reviews have criticized ZSNES not only for its relatively low accuracy, but also because its former popularity has led several fan-made translations and modifications to be designed with specific workarounds for the emulator's inaccuracies, which often makes them unplayable both on real hardware and in the newer emulators that have superseded ZSNES. Some of these other emulators even include a mode which is explicitly designed to replicate the quirks of ZSNES, allowing the ZSNES-focused mods to become playable again.[20]

In 2015 an exploit that allowed a specially crafted SNES ROM to gain control of the host system, and thus be able to execute malicious code, was discovered in version 1.51; a partially fixed preview build was released shortly afterwards.[21]

## See also

* List of video game console emulators

## References

1. ↑ badinsults (9 October 2009). "ZSNES is not dead, it is still under active development". https://board.zsnes.com/phpBB3/viewtopic.php?t=13245.
2. ↑ grinvader. "Re: Current Status FAQ". ZSNES board. https://board.zsnes.com/phpBB3/viewtopic.php?p=204739#p204739.
3. ↑ "ZSNES GUI 3.0 the first screenshot". ZSNES board. https://board.zsnes.com/phpBB3/viewtopic.php?f=6&t=11027.
4. ↑ "History - ZSNES Documentation". https://zsnes-docs.sourceforge.net/html/history.htm.
5. ↑ "ZSNES Home Page". ZSNES. 25 January 2007. https://zsnes.com/index.php?page=news. "Changes: v1.50 - December 22, 2006: Netplay, Modem, IPX code removed...As much as we hated to, we had to remove all computer to computer playing options in order to fix up the other subsystems since the code was spread throughout ZSNES. We hope to in future versions to reimplement it and also provide new features."
6. ↑ Deathlike2 (3 November 2007). "No Port requests". https://board.zsnes.com/phpBB3/viewtopic.php?t=10713.
7. ↑ "History - ZSNES Documentation - v0.150 - Initial Release - October 14, 1997". https://zsnes-docs.sourceforge.net/html/history.htm#v0150.
8. ↑ "History - ZSNES Documentation". https://zsnes-docs.sourceforge.net/html/history.htm#v0600.
9. ↑ "History - ZSNES Documentation". https://zsnes-docs.sourceforge.net/html/history.htm#v0600.
10. ↑ "History - ZSNES Documentation". https://zsnes-docs.sourceforge.net/html/history.htm#v0900.
11. ↑ "History - ZSNES Documentation". https://zsnes-docs.sourceforge.net/html/history.htm#v1000.
12. ↑ "History - ZSNES Documentation". https://zsnes-docs.sourceforge.net/html/history.htm#source_release.
13. ↑ "History - ZSNES Documentation". https://zsnes-docs.sourceforge.net/html/history.htm#v130b.
14. ↑ "History - ZSNES Documentation". https://zsnes-docs.sourceforge.net/html/history.htm#v1337.
15. ↑ "History - ZSNES Documentation". https://zsnes-docs.sourceforge.net/html/history.htm#v140.
16. ↑ "History - ZSNES Documentation". https://zsnes-docs.sourceforge.net/html/history.htm#v150.
17. ↑ Cunningham, Andrew (27 April 2026). ""Super ZSNES" is a stab at a modern SNES emulator from the original developers" (in en). https://arstechnica.com/gadgets/2026/04/super-zsnes-is-a-stab-at-a-modern-snes-emulator-from-the-original-developers/.
18. ↑ "ZSNES". https://zsnes.com/.
19. ↑ "Retro Coverdisc". Retro Gamer (15): 108. 2005.
20. ↑ Byuu (9 August 2011). "Accuracy takes power: one man's 3GHz quest to build a perfect SNES emulator". Ars Technica. https://arstechnica.com/gaming/2011/08/accuracy-takes-power-one-mans-3ghz-quest-to-build-a-perfect-snes-emulator/.
21. ↑ "#792420 - zsnes: emulator escape vulnerability - Debian Bug report logs". Debian. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=792420.

## External links

* No URL found. Please specify a URL here or add one to Wikidata.
* ZSNES Documentation
* Interview with zsKnight

* v
* t
* e

Emulators of Nintendo hardware

Handheld|

* higan
* MAME (MESS)
* Mednafen
* VisualBoyAdvance
* Citra
* Wzonka-Lad

Home console|

* FCEUX
* higan
* NESticle
* Nestopia
* Mednafen
* Snes9x
* ZSNES
* Project64
* 1964
* Mupen64Plus
* Project Unreality
* UltraHLE
* Dolphin
* Cemu
* Yuzu

List of Nintendo video game console emulators

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/ZSNES. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:ZSNES&oldid=4401417"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template