Editing ZSNES

Jump to navigation Jump to search

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.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 
{{Infobox emulator
 
{{Infobox emulator
 
|logo = Zsnes.jpg
 
|logo = Zsnes.jpg
|logowidth = 200
+
|logowidth = 100
 
|last-version = 1.51
 
|last-version = 1.51
 
|active = No
 
|active = No
|platform = [[Emulators on Windows|Windows]], [[Emulators on Linux|Linux]], [[Emulators on macOS|macOS]], FreeBSD, [[Emulators on DOS|DOS]]
+
|platform = Multi-platform
 
|architecture = [[wikipedia:x86|x86]]
 
|architecture = [[wikipedia:x86|x86]]
 
|target = [[Super Nintendo emulators|SNES]]
 
|target = [[Super Nintendo emulators|SNES]]
Line 10: Line 10:
 
|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}}
|license = GNU GPLv2
 
}}
 
  
'''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.
+
'''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==
 
{| cellpadding="4"
 
{| cellpadding="4"
 
|-
 
|-
|align=center|{{Icon|Win|Lin|DOS}}
+
|align=center|{{Icon|Win-big}}
|'''[https://www.zsnes.com/index.php?page=files Official releases]'''
+
|'''[[sourceforge:projects/zsnes/files/zsnes/|ZSNES]]''' on SourceForge
|-
 
|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.
 +
* Kirby Super Star can sometimes spawn different sprites than the intended one, causing glitches like the Marx glitch.
  
* 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 [https://floating.muncher.se/byuu/accuracy/ here] and [http://sourceforge.net/p/zsnes/bugs/ here].
  
 +
It is recommended to use [[Snes9x]] or [[higan]] instead.
  
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].
+
==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.
  
It is recommended to use [[Snes9x]], [[bsnes]] or [[ares]] instead.
+
==Alternatives==
 +
===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]
  
{| class="mw-collapsible wikitable" style="width: 100%;"
+
==Netplay==
 +
* [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 desynchronization, the host can make save states and load them for both players to resynchronize
+
* 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
 
* 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 desynchronize 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]
 
* Still has some big communities and dedicated servers like [http://emu.z-net.us Z-Net]
 
|-
 
|-
Line 79: Line 75:
 
* 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 desynchronize unless you specifically use ZSNES 1.36 or 1.337
+
* Most Konami games tend to desync 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:Console emulators]]
+
[[Category:Netplay‏‎]]
[[Category:Home console emulators]]
+
[[Category:DOS emulation software]]
[[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:DOS emulation software]]
+
[[Category:Super Nintendo emulators]]
[[Category:Historic emulation software]]
 
[[Category:Netplay‏‎]]
 

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)