Difference between revisions of "ZSNES"

From Emulation General Wiki
Jump to navigation Jump to search
(This may have resumed development unfortunately http://www.emucr.com/2015/06/zsnes-svn-r5307.html)
(Overview: added two "pros" (that make this my favorite SNES emulator, despite its limits))
 
(69 intermediate revisions by 40 users not shown)
Line 1: Line 1:
{{infobox
+
{{Infobox emulator
|image = Zsnes.jpg
+
|logo = Zsnes.jpg
|first = 1.51
+
|logowidth = 200
|second = Yes
+
|last-version = 1.51
|third = DOS, Windows, Linux, OS X
+
|active = No
|fourth = zsKnight, _Demo_, pagefault, and Nach
+
|platform = [[Emulators on Windows|Windows]], [[Emulators on Linux|Linux]], [[Emulators on macOS|macOS]], FreeBSD, [[Emulators on DOS|DOS]]
|fifth = [http://www.zsnes.com/ ZSNES.com]
+
|architecture = [[wikipedia:x86|x86]]
|sixth = [http://sourceforge.net/projects/zsnes/files/zsnes/ SourceForge]}}
+
|target = [[Super Nintendo emulators|SNES]]
 +
|developer = zsKnight, _Demo_, pagefault, Nach
 +
|website = [http://www.zsnes.com/ ZSNES.com]
 +
|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 x86 assembly. It was originally made in 1997, and has not been updated since 2007. It is currently one of the most popular SNES emulators.
+
'''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==
[http://sourceforge.net/projects/zsnes/files/zsnes/ ZSNES]
+
{| 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 plain crash). The current 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.
+
 
*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.
+
* 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.
*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.
+
* 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.
*While older versions of ZSNES still have one of the better netplay systems among emulators, netplay was removed in v1.50.
+
 
 +
[[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.
 +
 
 +
* 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.]
  
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].
+
* While older versions of ZSNES still have one of the better netplay systems among emulators, netplay was removed in v1.50.
  
It is recommended to use [[Snes9x]] or [[bsnes]] instead.
+
* SA-1 isn't emulated correctly, so Kirby Super Star can sometimes spawn different sprites than the supposed one.
  
==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==
+
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].
 +
 
 +
It is recommended to use [[Snes9x]], [[bsnes]] or [[ares]] instead.
  
===bZSNES===
 
In 2011, byuu released [http://byuu.org/bzsnes/ bZSNES] - a modification of his 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 utilises libretro versions of [[Snes9x]] and the Next variant, as well as the [[Bsnes]] cores, much like [[RetroArch]]. It uses the exact same interface that ZSNES uses.
 
*[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"
 
 
! colspan=2 width="250"|Review
 
! colspan=2 width="250"|Review
 
|-
 
|-
 
| '''PROS''' ||
 
| '''PROS''' ||
*Excellent netplay connectivity between 2 players
+
* Individual layers can be switched on and off, allowing to take screenshots without sprites or with sprites only, among other possibilities.
*In-game chat that doesn't require switching focus between 2 windows
+
* Can pause emulation at any time
*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.
*The host's save file is immediately shared with the client, so you don't need to upload it elsewhere first
+
* Excellent netplay connectivity between 2 players
*In case of desynch, host can make savestates and load them for both players to resynch
+
* In-game chat that doesn't require switching focus between 2 windows
*You can swap controllers at any time
+
* The host's save file is immediately shared with the client, so you don't need to upload it elsewhere first
*You can change emulator latency on the fly to compensate for choppiness at the expense of slight input lag
+
* In case of desynchronization, the host can make save states and load them for both players to resynchronize
*It works just as well with between a dialup user and someone on DSL
+
* You can swap controllers at any time
*You can switch between Windowed mode and Fullscreen with ease.
+
* You can change emulator latency on the fly to compensate for choppiness at the expense of slight input lag
*Using version 1.36 games pretty much do not desync period
+
* 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 [http://emu.z-net.us Z-Net]
 
|-
 
|-
 
| '''CONS''' ||
 
| '''CONS''' ||
*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 desynch 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:Home console emulators]]
 +
[[Category:Super Nintendo emulators]]
 
[[Category:Windows emulation software‏‎]]
 
[[Category:Windows emulation software‏‎]]
 
[[Category:Linux emulation software]]
 
[[Category:Linux emulation software]]
[[Category:OS X emulation software]]
+
[[Category:macOS emulation software]]
 +
[[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]