Difference between revisions of "ZSNES"

From Emulation General Wiki
Jump to navigation Jump to search
m
(33 intermediate revisions by 19 users not shown)
Line 1: Line 1:
{{infobox
+
{{Infobox emulator
|image = Zsnes.jpg
+
|logo = Zsnes.jpg
|first = 1.51
+
|logowidth = 100
|second = Yes
+
|last-version = 1.51
|third = DOS, Windows, Linux, OS X
+
|active = No
|fourth = zsKnight, _Demo_, pagefault, and Nach
+
|platform = Multi-platform
|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]]
 +
|license = GNU GPLv2}}
  
[[ZSNES]] is a [[Super_Nintendo_emulators|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, now is obsolete and has not been updated since 2007.
+
'''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.
  
 
==Download==
 
==Download==
* [http://sourceforge.net/projects/zsnes/files/zsnes/ ZSNES]
+
* [[sourceforge:projects/zsnes/files/zsnes/|ZSNES]] on SourceForge
  
 
==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 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.
 
* 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 exploit: 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].
+
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]] or [[bsnes]] instead.
+
It is recommended to use [[Snes9x]] or [[higan]] instead.
  
 
==ROM hacks==
 
==ROM hacks==
Line 33: Line 37:
 
==Alternatives==
 
==Alternatives==
 
===bZSNES===
 
===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}}.
+
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://snesemu.black-ship.net/emus/bsnes/bzsnes_v151w.zip bZSNES]
Line 40: Line 44:
  
 
===ZMZ===
 
===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]  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]
 
*[http://www.smwcentral.net/?p=section&a=details&id=5681 ZMZ]
  
Line 55: Line 59:
 
* Can pause emulation at any time
 
* 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, host can make save states and load them for both players to resync
+
* In case of desync, the host can make save states and load them for both players to resync
 
* 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
Line 61: Line 65:
 
* 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 desync period
 +
* Still has some big communities and dedicated servers like [http://emu.z-net.us Z-Net]
 
|-
 
|-
 
| '''CONS''' ||
 
| '''CONS''' ||
Line 74: Line 79:
 
[[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:Super Nintendo emulators]]
 
[[Category:Super Nintendo emulators]]

Revision as of 18:34, 6 October 2019

ZSNES
Zsnes.jpg
Developer(s) zsKnight, _Demo_, pagefault, Nach
Last version 1.51
Active No
Platform(s) Multi-platform
Architecture(s) x86
Emulates SNES
Website ZSNES.com
License GNU GPLv2
Source code SourceForge

ZSNES is a 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. Most people now just use ZSNES for its excellent netplay code.

Download

Overview

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.
  • 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 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.

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

It is recommended to use Snes9x or higan instead.

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, byuu released 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.[citation needed].

ZMZ

ZMZ  is a program that utilizes libretro versions of Snes9x and 2002, 2005 and 2010 variants, as well as the bsnes cores, much like RetroArch. It uses the exact same interface that ZSNES uses and can record ZMV files.

Netplay

Review
PROS
  • Excellent netplay connectivity between 2 players
  • 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
  • In case of desync, the host can make save states and load them for both players to resync
  • 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 desync 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 desync unless you specifically use ZSNES 1.36 or 1.337
  • Interface might be unappealing to some people