From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Original author(s)zsKnight, _Demo_, pagefault, and Nach
Developer(s)ZSNES Team
Initial release0.150 / October 14, 1997; 23 years ago (1997-10-14)
Final release
1.51 / 24 January 2007; 13 years ago (2007-01-24)
Written inx86 assembly, C, C++, PSR
Operating systemLinux, DOS, Windows, Mac OS X, FreeBSD, Xbox
Available inEnglish
TypeVideo game console emulator
LicenseGNU General Public License Version 2
Websitezsnes.com Edit this at Wikidata

ZSNES is a free software Super Nintendo Entertainment System emulator written mostly in x86 assembly with official ports for Linux, DOS, Windows, and unofficial ports for Xbox and macOS.


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 license on 2 April 2001. Despite an announcement by adventure_of_link 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 is notable in that it was among the first to emulate most SNES enhancement chips at some level.[citation needed] Until version 1.50, ZSNES featured netplay via TCP/IP or UDP.[4]

Because ZSNES is largely written in low-level 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.[5]


British game magazine Retro Gamer called ZSNES "very impressive" and praised the "incredible toaster mode" in 2005.[6]

With the development of more accurate emulators such as Snes9x and higan along with computers generally being more powerful, ZSNES has been criticized for its relatively low accuracy. This is compounded by the fact that ZSNES's 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 newer emulators without compatibility modes.[7]

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.[8]

See also[edit]


  1. ^ badinsults (9 October 2009). "ZSNES is not dead, it is still under active development". Retrieved 23 July 2010.
  2. ^ grinvader. "Re: Current Status FAQ". ZSNES board. Retrieved 24 October 2011.
  3. ^ "ZSNES GUI 3.0 the first screenshot". ZSNES board. Retrieved 24 October 2011.
  4. ^ "ZSNES Home Page - News". ZSNES. 2007-01-25. Retrieved 2020-04-24. 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.
  5. ^ Deathlike2 (3 November 2007). "No Port requests". Retrieved 23 July 2010.
  6. ^ "Retro Coverdisc". Retro Gamer (15): 108. 2005.
  7. ^ Byuu. "Accuracy takes power: one man's 3GHz quest to build a perfect SNES emulator". Ars Technica. Retrieved 24 October 2011.
  8. ^ "#792420 - zsnes: emulator escape vulnerability - Debian Bug report logs". Debian. Retrieved 28 July 2016.

External links[edit]