Difference between revisions of "ZSNES"

From Emulation General Wiki
Jump to navigation Jump to search
(Undo revision 28006 by 199.249.230.71 (talk))
(Overview: added two "pros" (that make this my favorite SNES emulator, despite its limits))
 
(31 intermediate revisions by 19 users not shown)
Line 1: Line 1:
 
{{Infobox emulator
 
{{Infobox emulator
 
|logo = Zsnes.jpg
 
|logo = Zsnes.jpg
|logowidth = 100
+
|logowidth = 200
 
|last-version = 1.51
 
|last-version = 1.51
 
|active = No
 
|active = No
|platform = Multi-platform
+
|platform = [[Emulators on Windows|Windows]], [[Emulators on Linux|Linux]], [[Emulators on macOS|macOS]], FreeBSD, [[Emulators on DOS|DOS]]
 
|architecture = [[wikipedia:x86|x86]]
 
|architecture = [[wikipedia:x86|x86]]
 
|target = [[Super Nintendo emulators|SNES]]
 
|target = [[Super Nintendo emulators|SNES]]
 
|developer = zsKnight, _Demo_, pagefault, Nach
 
|developer = zsKnight, _Demo_, pagefault, Nach
 
|website = [http://www.zsnes.com/ ZSNES.com]
 
|website = [http://www.zsnes.com/ ZSNES.com]
|source = [[sourceforge:projects/zsnes/files/zsnes/|SourceForge]]}}
+
|source = [[sourceforge:projects/zsnes/files/zsnes/|SourceForge]]
 +
|support = [https://www.paypal.com/cgi-bin/webscr?item_name=Donation+to+ZSNES&cmd=_donations&business=pagefault%40gmail.com PayPal]
 +
|license = GNU GPLv2
 +
}}
  
'''ZSNES''' is a [[Super Nintendo emulators|Super Famicom (SNES) emulator]] written in [[wikipedia:x86|x86]] assembly. It was originally made in 1997 and was one of the most popular Super Nintendo emulators from late nineties to mid-2000s, but now is obsolete and has not been updated since 2007. Most people now just use ZSNES for its excellent netplay code.
+
'''ZSNES''' is a free and open-source [[Super Nintendo emulators|Super Famicom (SNES) emulator]] written in [[wikipedia:x86|x86]] assembly. It was originally made in 1997 and was one of the most popular Super Nintendo emulators from late nineties to mid-2000s, but now is obsolete and has not been updated since 2007. Currently the only reason to use ZSNES is for the netplay or if you're on a toaster.
  
 
==Download==
 
==Download==
* [[sourceforge:projects/zsnes/files/zsnes/|ZSNES]] on SourceForge
+
{| cellpadding="4"
 +
|-
 +
|align=center|{{Icon|Win|Lin|DOS}}
 +
|'''[https://www.zsnes.com/index.php?page=files Official releases]'''
 +
|-
 +
|align=center|{{Icon|Mac-big}}
 +
|'''[https://emulationrealm.net/downloads/file/865-zsnes-mac 1.51 - Mac]'''
 +
|}
 +
 
 +
==Netplay==
 +
* [http://prdownloads.sourceforge.net/zsnes/zsnesw142.zip ZSNES 1.42]
 +
* [http://prdownloads.sourceforge.net/zsnes/zsneswv1.36.zip ZSNES 1.36]
  
 
==Overview==
 
==Overview==
The ZSNES developers focused on speed over [[Emulation Accuracy|accuracy]], so a hefty amount of games have bugs (and some just crash outright). The current version (v1.51) created more problems than it fixed and many problems still remain:
+
The ZSNES developers focused on speed over [[Emulation accuracy|accuracy]], so a hefty amount of games have bugs (and some just crash outright). The current version (v1.51) created more problems than it fixed and many problems still remain:
 
[[File:Kirby3-forest.gif|frame|SNES Pseudo Hi-Res translucency on ''new'' graphics engine]]
 
[[File:Kirby3-forest.gif|frame|SNES Pseudo Hi-Res translucency on ''new'' graphics engine]]
 
* Compatibility is lower than modern emulators due to low accuracy to real SNES system.
 
* Compatibility is lower than modern emulators due to low accuracy to real SNES system.
* Games crashing: Der Langrisser (freezes after 2-3 hours), Super Mario RPG (freezes in many different points of the game), Star Ocean and many other games have freezing and crashing issues.
+
 
 +
* Games crashing: Der Langrisser (freezes after 2–3 hours), Super Mario RPG (freezes in many different points of the game), Star Ocean and many other games have freezing and crashing issues.
 +
 
 
* Bad sound emulation: Many games sound inaccurate on ZSNES. ZSNES's audio timer isn't floating point so there are timing artifacts in the music. ZSNES doesn't emulate release values of ADSR so held notes will sound poor.
 
* Bad sound emulation: Many games sound inaccurate on ZSNES. ZSNES's audio timer isn't floating point so there are timing artifacts in the music. ZSNES doesn't emulate release values of ADSR so held notes will sound poor.
 +
 +
[[File: Old zsnes snow gui.jpg|left|thumb|300px|Despite being outclassed by many more accurate ''and secure'' emulators, some held on to Zsnes for its iconic user interface.]]
 +
 
* Many of the co-processors, which are actually on the game cartridges, are emulated in strange ways. For example, Super FX is not clocked correctly; Star Fox runs twice as fast as it should.
 
* Many of the co-processors, which are actually on the game cartridges, are emulated in strange ways. For example, Super FX is not clocked correctly; Star Fox runs twice as fast as it should.
 +
 
* Transparency: Kirby Dreamland 3, Mecarobot Golf, Jurassic Park and other games that use pseudo-hi-res translucency won't display correctly in the default graphics engine in v1.51. To get them to display properly in v1.51, one must press 8 to switch to the old graphics engine.
 
* Transparency: Kirby Dreamland 3, Mecarobot Golf, Jurassic Park and other games that use pseudo-hi-res translucency won't display correctly in the default graphics engine in v1.51. To get them to display properly in v1.51, one must press 8 to switch to the old graphics engine.
 +
 
* x86 code exploits: With specially made hacks and homebrew ROMs, it is possible for them to break out of ZSNES itself and [https://www.youtube.com/watch?v=Q3SOYneC7mU execute native code on the host computer.]  
 
* x86 code exploits: With specially made hacks and homebrew ROMs, it is possible for them to break out of ZSNES itself and [https://www.youtube.com/watch?v=Q3SOYneC7mU execute native code on the host computer.]  
 +
 
* While older versions of ZSNES still have one of the better netplay systems among emulators, netplay was removed in v1.50.
 
* While older versions of ZSNES still have one of the better netplay systems among emulators, netplay was removed in v1.50.
  
These are just a few problems, there are a few more listed [http://web.archive.org/web/20120217115713/http://byuu.org/bsnes/accuracy here] and [http://sourceforge.net/p/zsnes/bugs/ here].
+
* SA-1 isn't emulated correctly, so Kirby Super Star can sometimes spawn different sprites than the supposed one.
  
It is recommended to use [[Snes9x]] or [[higan]] instead.
 
  
==ROM hacks==
+
These are just a few problems, there are a few more listed [https://floating.muncher.se/byuu/accuracy/ here] and [http://sourceforge.net/p/zsnes/bugs/ here].
Many ROM hacks and ROM hacking tools were made using ZSNES as a testing platform because of its popularity. However, because of the inaccuracies of the emulator, these tools and hacks are broken on other, more accurate emulators and real hardware.
 
  
==Alternatives==
+
It is recommended to use [[Snes9x]], [[bsnes]] or [[ares]] instead.
===bZSNES===
 
In 2011, byuu released [http://byuu.org/bzsnes/ bZSNES] - a modification of his [[higan|bsnes]] that includes the optional inaccuracies of ZSNES and a similar GUI. This was done as an April Fools day joke. It however only has moderate compatibility with ROM hacks made specifically for ZSNES.{{Cite}}.
 
  
* [http://snesemu.black-ship.net/emus/bsnes/bzsnes_v151w.zip bZSNES]
 
* [http://www.mediafire.com/download/c6nylmbnca23rmy/bZSNES.rar mirror]
 
* [http://snesemu.black-ship.net/emus/bsnes/bzsnes_v151s.zip bZSNES source code]
 
  
===ZMZ===
 
[http://www.smwcentral.net/?p=section&a=details&id=5681 ZMZ]  is a program that utilizes libretro versions of [[Snes9x]] and 2002, 2005 and 2010 variants, as well as the [[higan|bsnes]] cores, much like [[RetroArch]]. It uses the exact same interface that ZSNES uses and can record ZMV files.
 
*[http://www.smwcentral.net/?p=section&a=details&id=5681 ZMZ]
 
  
==Netplay==
+
{| class="mw-collapsible wikitable" style="width: 100%;"
* [http://prdownloads.sourceforge.net/zsnes/zsnesw142.zip ZSNES 1.42]
 
* [http://prdownloads.sourceforge.net/zsnes/zsneswv1.36.zip ZSNES 1.36]
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
 
! colspan=2 width="250"|Review
 
! colspan=2 width="250"|Review
 
|-
 
|-
 
| '''PROS''' ||
 
| '''PROS''' ||
 +
* Individual layers can be switched on and off, allowing to take screenshots without sprites or with sprites only, among other possibilities.
 +
* Can pause emulation at any time
 +
* You can access and navigate all menus with the keyboard only; you are not forced to waste time looking for the mouse with your hand and for its cursor on the screen.
 
* Excellent netplay connectivity between 2 players
 
* Excellent netplay connectivity between 2 players
 
* In-game chat that doesn't require switching focus between 2 windows
 
* In-game chat that doesn't require switching focus between 2 windows
* Can pause emulation at any time
 
 
* The host's save file is immediately shared with the client, so you don't need to upload it elsewhere first
 
* The host's save file is immediately shared with the client, so you don't need to upload it elsewhere first
* In case of desync, the host can make save states and load them for both players to resync
+
* In case of desynchronization, the host can make save states and load them for both players to resynchronize
 
* You can swap controllers at any time
 
* You can swap controllers at any time
 
* You can change emulator latency on the fly to compensate for choppiness at the expense of slight input lag
 
* You can change emulator latency on the fly to compensate for choppiness at the expense of slight input lag
 
* It works just as well with between a dial-up user and someone on DSL
 
* It works just as well with between a dial-up user and someone on DSL
 
* You can switch between windowed mode and full screen with ease.
 
* You can switch between windowed mode and full screen with ease.
* Using version 1.36, games pretty much do not desync period
+
* Using version 1.36, games pretty much do not desynchronize period
 
* Still has some big communities and dedicated servers like [http://emu.z-net.us Z-Net]
 
* Still has some big communities and dedicated servers like [http://emu.z-net.us Z-Net]
 
|-
 
|-
Line 69: Line 79:
 
* Netplay is 2P ONLY, with no multiplayer version foreseeable in the near future
 
* Netplay is 2P ONLY, with no multiplayer version foreseeable in the near future
 
* Both players need their port forwarded to connect over UDP for netplay, and TCP can be quite choppy
 
* Both players need their port forwarded to connect over UDP for netplay, and TCP can be quite choppy
* Most Konami games tend to desync unless you specifically use ZSNES 1.36 or 1.337
+
* Most Konami games tend to desynchronize unless you specifically use ZSNES 1.36 or 1.337
 
* Interface might be unappealing to some people
 
* Interface might be unappealing to some people
 
|}
 
|}
 +
 +
==ROM hacks==
 +
Many ROM hacks and ROM hacking tools were made using ZSNES as a testing platform because of its popularity. However, because of the inaccuracies of the emulator, these tools and hacks are broken on other, more accurate emulators and real hardware.
 +
 +
==Alternatives==
 +
===bZSNES===
 +
In 2011, Near (then known as byuu) released [http://byuu.org/bzsnes/ bZSNES] - a modification of [[higan|bsnes]] that includes the optional inaccuracies of ZSNES and a similar GUI - as an April Fool's Day joke. It however only has moderate compatibility with ROM hacks made specifically for ZSNES.{{Cite}}
 +
 +
* [http://snesemu.black-ship.net/emus/bsnes/bzsnes_v151w.zip bZSNES]
 +
* [http://www.mediafire.com/download/c6nylmbnca23rmy/bZSNES.rar mirror]
 +
* [http://snesemu.black-ship.net/emus/bsnes/bzsnes_v151s.zip bZSNES source code]
 +
 +
===ZMZ===
 +
[http://www.smwcentral.net/?p=section&a=details&id=5681 ZMZ] isn't an emulator in its own right, rather it takes the interface that ZSNES uses and applies it to a [[libretro]] frontend for running SNES cores such as [[Snes9x]] and [[bsnes]]. Apart from the replicated ZSNES interface, it can also record ZMV files.
 +
 +
===ZSNES 2===
 +
* [https://github.com/xyproto/zsnes An active fork of ZSNES on GitHub.] It is primarily focused on allowing ZSNES to be compiled on x64 versions of modern Linux distros.
  
 
[[Category:Emulators]]
 
[[Category:Emulators]]
[[Category:Netplay‏‎]]
+
[[Category:Console emulators]]
[[Category:DOS emulation software]]
+
[[Category:Home console emulators]]
 +
[[Category:Super Nintendo emulators]]
 
[[Category:Windows emulation software‏‎]]
 
[[Category:Windows emulation software‏‎]]
 
[[Category:Linux emulation software]]
 
[[Category:Linux emulation software]]
 
[[Category:macOS emulation software]]
 
[[Category:macOS emulation software]]
[[Category:Super Nintendo emulators]]
+
[[Category:DOS emulation software]]
 +
[[Category:Historic emulation software]]
 +
[[Category:Netplay‏‎]]

Latest revision as of 11:13, 4 March 2024

ZSNES
Zsnes.jpg
Developer(s) zsKnight, _Demo_, pagefault, Nach
Last version 1.51
Active No
Platform(s) Windows, Linux, macOS, FreeBSD, DOS
Architecture(s) x86
Emulates SNES
Website ZSNES.com
Support ($) PayPal
License GNU GPLv2
Source code SourceForge

ZSNES is a free and open-source Super Famicom (SNES) emulator written in x86 assembly. It was originally made in 1997 and was one of the most popular Super Nintendo emulators from late nineties to mid-2000s, but now is obsolete and has not been updated since 2007. Currently the only reason to use ZSNES is for the netplay or if you're on a toaster.

Download[edit]

Windows Linux MS-DOS Official releases
macOS 1.51 - Mac

Netplay[edit]

Overview[edit]

The ZSNES developers focused on speed over accuracy, so a hefty amount of games have bugs (and some just crash outright). The current version (v1.51) created more problems than it fixed and many problems still remain:

SNES Pseudo Hi-Res translucency on new graphics engine
  • Compatibility is lower than modern emulators due to low accuracy to real SNES system.
  • Games crashing: Der Langrisser (freezes after 2–3 hours), Super Mario RPG (freezes in many different points of the game), Star Ocean and many other games have freezing and crashing issues.
  • Bad sound emulation: Many games sound inaccurate on ZSNES. ZSNES's audio timer isn't floating point so there are timing artifacts in the music. ZSNES doesn't emulate release values of ADSR so held notes will sound poor.
Despite being outclassed by many more accurate and secure emulators, some held on to Zsnes for its iconic user interface.
  • Many of the co-processors, which are actually on the game cartridges, are emulated in strange ways. For example, Super FX is not clocked correctly; Star Fox runs twice as fast as it should.
  • Transparency: Kirby Dreamland 3, Mecarobot Golf, Jurassic Park and other games that use pseudo-hi-res translucency won't display correctly in the default graphics engine in v1.51. To get them to display properly in v1.51, one must press 8 to switch to the old graphics engine.
  • While older versions of ZSNES still have one of the better netplay systems among emulators, netplay was removed in v1.50.
  • SA-1 isn't emulated correctly, so Kirby Super Star can sometimes spawn different sprites than the supposed one.


These are just a few problems, there are a few more listed here and here.

It is recommended to use Snes9x, bsnes or ares instead.


Review
PROS
  • Individual layers can be switched on and off, allowing to take screenshots without sprites or with sprites only, among other possibilities.
  • Can pause emulation at any time
  • You can access and navigate all menus with the keyboard only; you are not forced to waste time looking for the mouse with your hand and for its cursor on the screen.
  • Excellent netplay connectivity between 2 players
  • In-game chat that doesn't require switching focus between 2 windows
  • The host's save file is immediately shared with the client, so you don't need to upload it elsewhere first
  • In case of desynchronization, the host can make save states and load them for both players to resynchronize
  • You can swap controllers at any time
  • You can change emulator latency on the fly to compensate for choppiness at the expense of slight input lag
  • It works just as well with between a dial-up user and someone on DSL
  • You can switch between windowed mode and full screen with ease.
  • Using version 1.36, games pretty much do not desynchronize period
  • Still has some big communities and dedicated servers like Z-Net
CONS
  • Netplay is 2P ONLY, with no multiplayer version foreseeable in the near future
  • Both players need their port forwarded to connect over UDP for netplay, and TCP can be quite choppy
  • Most Konami games tend to desynchronize unless you specifically use ZSNES 1.36 or 1.337
  • Interface might be unappealing to some people

ROM hacks[edit]

Many ROM hacks and ROM hacking tools were made using ZSNES as a testing platform because of its popularity. However, because of the inaccuracies of the emulator, these tools and hacks are broken on other, more accurate emulators and real hardware.

Alternatives[edit]

bZSNES[edit]

In 2011, Near (then known as byuu) released bZSNES - a modification of bsnes that includes the optional inaccuracies of ZSNES and a similar GUI - as an April Fool's Day joke. It however only has moderate compatibility with ROM hacks made specifically for ZSNES.[citation needed]

ZMZ[edit]

ZMZ isn't an emulator in its own right, rather it takes the interface that ZSNES uses and applies it to a libretro frontend for running SNES cores such as Snes9x and bsnes. Apart from the replicated ZSNES interface, it can also record ZMV files.

ZSNES 2[edit]