Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ZSNES
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Emulator for the SNES video game console}} {{Infobox software | name = ZSNES | logo = File:zsnes icon.png | screenshot = [[File:ZSNES Interface Windows.png|250px|Screenshot]] | caption = The [[Graphical user interface|GUI]] of ZSNES | author = zsKnight, _Demo_, pagefault, and Nach | developer = ZSNES Team | released = 0.150 / {{Start date and age|1997|10|14}} | latest release version = 1.51 | latest release date = {{Start date and age|df=yes|2007|01|24}} | operating system = [[Linux]], [[DOS]], [[Microsoft Windows|Windows]], [[Mac OS X]], [[FreeBSD]], [[Xbox (console)|Xbox]] | language = English | genre = [[Video game console emulator]] | license = Since 1.50: [[GNU General Public License|GPL-2.0-only]]<br />1.17b to 1.42: [[GNU General Public License|GPL-2.0-or-later]]<br />Until 1.17: [[Proprietary software|Proprietary]] | website = {{official URL}} | programming language = [[x86 assembly language|x86 assembly]], [[C (programming language)|C]], [[C++]], PSR | platform = | discontinued = yes }} '''ZSNES''' is a [[free software]] [[Super Nintendo Entertainment System]] [[emulator]] written mostly in [[x86 assembly]] with official ports for [[Linux]], [[DOS]], [[Microsoft Windows|Windows]], and unofficial ports for [[Xbox (console)|Xbox]] and [[macOS]]. == 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 [[GNU General Public License|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_'',<ref>{{cite web |url=https://board.zsnes.com/phpBB3/viewtopic.php?t=13245 |title=ZSNES is not dead, it is still under active development |author=badinsults |date=9 October 2009 |access-date=23 July 2010 |archive-url=https://web.archive.org/web/20190612221548/https://board.zsnes.com/phpBB3/viewtopic.php?t=13245 |archive-date=12 June 2019}}</ref> 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++,<ref>{{cite web |author=grinvader |title=Re: Current Status FAQ |url=https://board.zsnes.com/phpBB3/viewtopic.php?p=204739#p204739 |url-status=dead |archive-url=https://web.archive.org/web/20120403023441/board.zsnes.com/phpBB3/viewtopic.php?p=204739 |archive-date=3 April 2012 |access-date=24 October 2011 |work=ZSNES board}}</ref> including a new [[GUI]] using [[Qt (framework)|Qt]].<ref>{{cite web |title=ZSNES GUI 3.0 the first screenshot |url=https://board.zsnes.com/phpBB3/viewtopic.php?f=6&t=11027 |archive-url=https://web.archive.org/web/20120403023450/board.zsnes.com/phpBB3/viewtopic.php?f=6&t=11027 |archive-date=April 3, 2012 |access-date=24 October 2011 |work=ZSNES board}}</ref> ZSNES is notable in that it was early in being able to emulate several of the [[List of Super NES enhancement chips|SNES enhancement chips]] at some level.<ref>{{cite web |url=https://zsnes-docs.sourceforge.net/html/history.htm |title=History - ZSNES Documentation}}</ref> Until version 1.50, ZSNES featured netplay via [[TCP/IP]] or [[User Datagram Protocol|UDP]].<ref>{{cite web |url=https://zsnes.com/index.php?page=news |title=ZSNES Home Page |publisher=ZSNES |date=2007-01-25 |quote=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. |access-date=2020-04-24}}</ref> An early ZSNES feature of interest was "ZMV movies"[https://www.zophar.net/movies/snes.html]. 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 [[Low-level programming language|low-level]] [[assembly language]] for [[x86]] processors, the idea of porting ZSNES to devices using [[RISC]] architectures such as [[ARM architecture|ARM]] is highly unfeasible. Commercial gaming consoles did not typically use x86 processors (with the [[Xbox (console)|original Xbox]] being the most well-known exception) prior to the [[Eighth generation of video game consoles|eighth generation]], with the 2013 releases of the [[Xbox One]] and [[PlayStation 4]].<ref>{{ cite web |url=https://board.zsnes.com/phpBB3/viewtopic.php?t=10713 |title=No Port requests |author=Deathlike2 |date=3 November 2007 |access-date=23 July 2010}}</ref> == Development history == The first public release of ZSNES was version 0.150, on October 14, 1997. It incorporated the entire 65816 instruction set from the SNES's modified [[WDC 65C816]] microprocessor, as well as [[Static_random-access_memory|SRAM]] support and partial [[Mode 7]] implementation. It also already offered [[save state]]s to a .ZST file as an additional feature. This initial version missed certain DSP features.<ref>{{cite web |url=https://zsnes-docs.sourceforge.net/html/history.htm#v0150 |title=History - ZSNES Documentation - v0.150 - Initial Release - October 14, 1997}}</ref> Version 0.600 from September 9, 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.<ref>{{cite web |url=https://zsnes-docs.sourceforge.net/html/history.htm#v0600 |title=History - ZSNES Documentation}}</ref> Shortly afterwards, version 0.700 from October 27, 1998, was the first to compile with [[C (language)|C]] code.<ref>{{cite web |url=https://zsnes-docs.sourceforge.net/html/history.htm#v0600 |title=History - ZSNES Documentation}}</ref> Starting from version 0.900c/a from July 4, 1999, an important feature for the time was added, which was native [[ZIP_(file_format)|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]].<ref>{{cite web |url=https://zsnes-docs.sourceforge.net/html/history.htm#v0900 |title=History - ZSNES Documentation}}</ref> Version 1.000 from September 1, 2000, marks ZSNES's first official Windows release,<ref>{{cite web |url=https://zsnes-docs.sourceforge.net/html/history.htm#v1000 |title=History - ZSNES Documentation}}</ref> and the next several versions of the emulator focused on improving the quality of this port. In April 2, 2001, the software's source code was released and the team was joined by coder Teuf.<ref>{{cite web |url=https://zsnes-docs.sourceforge.net/html/history.htm#source_release |title=History - ZSNES Documentation}}</ref> Release 1.30b from June 16, 2001, can be considered a landmark in Super Nintendo emulation, as it added initial support to [[Star Ocean (video game) | Star Ocean]] and its [[S-DD1]] compression chip.<ref>{{cite web |url=https://zsnes-docs.sourceforge.net/html/history.htm#v130b |title=History - ZSNES Documentation}}</ref> 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 September 30, 2001.<ref>{{cite web |url=https://zsnes-docs.sourceforge.net/html/history.htm#v1337 |title=History - ZSNES Documentation}}</ref> The emulator continued being updated until releases halted in July of 2002, and it would be more than two years until a new public release. When version 1.40 eventually released on December 25, 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.<ref>{{cite web |url=https://zsnes-docs.sourceforge.net/html/history.htm#v140 |title=History - ZSNES Documentation}}</ref> Version v1.50 from December 22, 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."<ref>{{cite web |url=https://zsnes-docs.sourceforge.net/html/history.htm#v150 |title=History - ZSNES Documentation}}</ref> This was the final major release of the emulator, being followed by the minor 1.51, and winding down thereafter. == 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".<ref>{{ cite journal |year=2005 |title=Retro Coverdisc |journal=[[Retro Gamer]] |issue=15 |pages=108 }}</ref> However, with the more recent development of more accurate SNES emulators such as [[Snes9x]] and [[Higan (emulator)|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.<ref>{{cite web |author=Byuu |title=Accuracy takes power: one man's 3GHz quest to build a perfect SNES emulator |url=https://arstechnica.com/gaming/2011/08/accuracy-takes-power-one-mans-3ghz-quest-to-build-a-perfect-snes-emulator/ |work=Ars Technica |date=9 August 2011 |access-date=24 October 2011}}</ref> In 2015 an [[Exploit (computer security)|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.<ref name="exploit">{{cite web |url=https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=792420 |title=#792420 - zsnes: emulator escape vulnerability - Debian Bug report logs |work=[[Debian]] |access-date=28 July 2016}}</ref> == See also == * [[List of video game console emulators]] == References == {{Reflist|2}} == External links == * {{Official website}} * [https://zsnes-docs.sourceforge.net ZSNES Documentation] * [http://www.emulationzone.org/articles/interviews/zsknight.htm Interview with zsKnight] {{Nintendo emulators}} {{Portal bar|Free and open-source software|Video games}} {{DEFAULTSORT:Zsnes}} [[Category:1997 software]] [[Category:Super Nintendo Entertainment System emulators]] [[Category:Linux emulation software]] [[Category:Windows emulation software]] [[Category:DOS emulation software]] [[Category:Free video game console emulators]] [[Category:Free software that uses SDL]] [[Category:Cross-platform software]] [[Category:Free software programmed in C]] [[Category:Free software programmed in C++]] [[Category:Assembly language software]] [[Category:Portable software]] [[Category:Discontinued emulators]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Infobox software
(
edit
)
Template:Nintendo emulators
(
edit
)
Template:Official website
(
edit
)
Template:Portal bar
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)