Zsnes Latest Version
- Unlike certain PC applications and games, ZSNES's various save files and formats are completely port-independent; you can share any of your files with any user using any port of ZSNES (although some things may be version-dependent). Note, however, that ZSNES's configuration file contains port-specific options which don't exist in other ports.
- Aug 31, 2018.
FAQ
The FAQ page was first included in version 0.390 of ZSNES, released on April 11, 1998.
Question Index
ZSNES is a freeware Nintendo emulator application: A Super Nintendo (SNES) emulator with vast support for ROMs and controller options. The download is available as a ZIP file and the latest version is 1.51. Super Nintendo, the 16-bit game console also known as Super Nes and SNes that appeared in the early 90s and gave us some of the most famous games in history has retained interest among its fans and thanks.
UNIVERSAL QUESTIONS
- General
- Games
- Video
- Sound
- Input
- Speed
- Miscellaneous
WIN-SPECIFIC QUESTIONS
- General
- Video
- Sound
SDL-SPECIFIC QUESTIONS
- General
DOS-SPECIFIC QUESTIONS
- Video
- Sound
- Input
- Freezing/Crashing Issues
- Miscellaneous
UNIVERSAL QUESTIONS
General
By default, in the Win and DOS ports of ZSNES, these files will go into their corresponding ROM directory (e.g. If your Chrono Trigger ROM is in C:SNES GamesRPG
, its files will go into that folder; if your Harvest Moon ROM is in C:SNES GamesSimulation
, its files will go into that folder). In the SDL port of ZSNES, however, saves will go into ~/.zsnes
by default. ZSNES SDL under Mac OS X will place them in ~/Library/Application Support/ZSNES
instead.
If you dislike the default settings, you can configure a single, universal save path by either going to the Config -> Paths menu in the GUI or by editing the ZSNES configuration file.
If this still does not solve your problem, enable SRAM Check + Save under the Config-->Saves menu.
Regarding toaster support itself, rumor has it ZSNES does bread toasting if you happen to be using it after midnight while paying your respects to the master of all controls and considering monetary options.
Games
Alternatively, you could either add or remove a header from your ROM before patching. Again, NSRT is capable of doing this.
Video
- Q: Why do my scanlines look awful?
- A: Scanlines can be negatively affected by the method of vertical scaling that your video card uses, depending on the video mode you have selected for ZSNES. This can sometimes result in scanlines that are not of uniform darkness. The effect of this video scaling is most noticeable with Full scanlines, with 50% and 25% scanlines being less noticeable. To display the scanlines effect properly, you should use resolutions based on a multiple of 256x224 in windowed modes (e.g. 512x448) and 320x240 for fullscreen modes (e.g. 640x480).
- Q: Why am I missing some video filter options?
- A: Please make sure you have MMX Support enabled in the Options dialog. Refer to the Video Config description in GUI.htm to see what video options require MMX support.
Sound
- Q: Why does ZSNES produce a lot of static?
- A: There could be many reasons why you are hearing static. If you are using the Windows port and you have an ISA sound card, this could be your problem. If you are using the DOS port, and you have a PCI sound card, this could also be your problem. If your sound card is using SoundBlaster emulation, you probably need to use 8-bit sound, but this can make sound output worse. You can also try doing the following things to improve your sound: Reduce your sampling rate or disable lowpass filtering and stereo sound; Win port users can also enable the Primary Sound Buffer.
- Q: Why am I missing some sound options?
- A: Please make sure you have MMX Support enabled in the Options dialog. Refer to the Sound Config description in GUI.htm to see what sound options require MMX support.
Input
If you must use a keyboard, you can set multiple game keys to a single keyboard key. Alternatively, you could set some keys to the right and left Ctrl and Shift keys, since most keyboards do not restrict signals from these keys.
Speed
- Make sure that any major program(s) is/are closed (such as Winamp).
- Try the default settings of ZSNES before you do anything else. You can reset ZSNES to the default settings by deleting all three of its configuration files.
- Ensure that MMX Support is enabled in the Options dialog; this mode should provide a noticeable speed increase for computers that can use it.
- Certain system configurations and video cards work better with certain video modes. Try switching between different video modes until you find one that has good/better performance. Things to remember when doing this are that lower resolutions are faster than higher resolutions, full screen modes are faster than windowed modes, and 'R' modes are faster than 'S' modes (because no scaling is necessary).
- Make sure you are using Auto Frame Skipping. If you already are, try increasing the Max Frame Skip.
- Do not use VSync; if you must use VSync, try also enabling Triple Buffering.
- Disable all video filters.
- Compile ZSNES yourself with optimizations for your CPU's architecture.
- If you still need more speed, disable sound. If that's not enough, disable SPC emulation (you must restart ZSNES for this option to take effect). Some games will not work without SPC emulation.
If you have an old computer, such as one with a 486/100 processor, you will probably be better off using older DOS versions of ZSNES, as the minimum system requirements have increased slightly with subsequent releases. To achieve greater speed, you may want to avoid using VESA video modes (although this will disable transparencies). Experiment with the different video modes and try the recommendations above to see which configuration provides the best speed for you.
If you don't want to use auto frame skipping, and you want to play in windowed mode, you might want to set your monitor's refresh rate to 60hz and enable VSync in ZSNES.
If you want to use fullscreen mode without using auto frame skipping, you can enable the KitchenSync by using either the -ks (for NTSC/PAL) or -kp (for PAL) command-line parameter (Windows port only). Also be sure to enable triple buffering.
Miscellaneous
Many tools are available to create ZIP files. If you want a fast, commandline based ZIP program that is available on many platforms, get Info-ZIP. Info-ZIP also has a Windows front end called WiZ available if you prefer a GUI.
For creating GZip files, there are not too many choices. A fast, commandline based compressor for the GZip format, available for several platforms, may be downloaded at the GZip site. If you use Windows, there is a program with a GUI called 7-Zip that has support for ZIP, GZip, and others. ZIP and GZip files created by 7-Zip are smaller than those created with other programs, but 7-Zip takes a longer time creating them. For users of Unix based operating systems who would like a GUI front end for both ZIP and GZip, get Ark, which is part of the KDE project.
To create JMA files, a format invented by Nach and the rest of the NSRT team which offers the best compression ratio for SNES ROMs, you must use NSRT. NSRT is also capable of compressing SNES ROMs into ZIP and GZip formats.
Apple Computer, Inc. recently switched their the Macintosh computers to use Intel processors, and as such ZSNES has already been modified to run on said computers. Just compile the SDL port with an up-to-date NASM and zlib and everything normally required.
Another third party developer recently ported ZSNES to the Microsoft Xbox as well, and released it under the name 'ZsneXbox'. Unfortunately, we can not provide a download link as this port is being illegally distributed as a compiled XBE file. As a result, any link or support requests regarding this port will be promptly ignored.
WIN-SPECIFIC QUESTIONS
General
You might also try running the DirectX Diagnostic Tool. You can do this by clicking the Start button, then selecting 'Run...'. Type 'dxdiag' after 'Open:', and click 'OK'. There are lots of options you can play with, so please read everything before you start messing around. Specifically, go to the 'Display' tab, and under the 'DirectX Features' section, click the 'Disable' button beside each feature. After they are all disabled, re-enable them. Exit dxdiag, and try ZSNES again.
If none of that worked, try re-installing DirectX.
For example, if you have 'Super Mario World.zip' and 'Super Mario RPG.zip', both games will have saves that are labeled 'SUPERM~1.SRM', 'SUPERM~1.ZS2', etc., and they will be differentiated only by the number after the '~' in the filename.
If you need to find out which '~' number a game uses, open a DOS prompt (a.k.a. Command Prompt), change to the ROM directory, and enter 'dir /on /p' (On some newer systems like Win2k you need to add the '/x' switch for the DOS filenames to be displayed). Unfortunately, this method may not be accurate if you have moved your ROMs to a different folder or another computer; you may need to guess and hope for the best, trying to swap filenames a few different ways between the saves before it works for all your games. If it comes down to guessing, we recommend that you backup your save files before renaming them.
Don't forget to put the files into your Save directory.
Video
If you still experience problems, see if these suggestions help (each should be done/tried separately):
- The issue can be completely resolved with up-to-date video card drivers. Keeping your device drivers fully updated will provide other benefits unrelated to ZSNES.
- Set the resolution for ZSNES to the same one used by the Windows desktop.
- Try enabling 16-bit color depth in Windows.
Zsnes Latest Release
A: If you have VSync on, your monitor needs to be set to a refresh rate that is a multiple of the framerate of the game. NTSC games natively run at ~60 FPS. PAL games natively run at 50 FPS. Thus your monitor would need to be either 60Hz or 120Hz for NTSC games, or 50Hz/100Hz for PAL games. If you run ZSNES with the -6 switch, with a sub-argument of '60', ZSNES will try to switch your monitor to 60Hz refresh rate. You can use the -ks switch to make ZSNES try to switch your monitor to 120Hz refresh rate. These two switches only work in fullscreen modes and are for the Windows port only.You can also try enabling Triple Buffering (using the -3 switch or the GUI option), however this currently only works in Full Screen modes. One last thing you can try is to turn off auto frame-skipping, and set manual frame rate to '0'.
Sound
Try (re-)installing the latest version of DirectX, and make sure you have the latest drivers for your sound card (WHQL Certified, if possible).
Please also note that ISA sound cards tend not to work with Windows, while they do with DOS.
SDL-SPECIFIC QUESTIONS
General
Zsnes Latest Version
To check out and install ZSNES from SVN, refer to this thread on the ZSNES board.
DOS-SPECIFIC QUESTIONS
Video
- VBE not detected - ZSNES failed to detect any VBE interrupts (Your video card doesn't support VESA).
- VESA not detected - ZSNES failed to detect any VESA extensions (Your video card doesn't support VESA).
- VESA 2.0 or greater required - Your video card supports VESA, but it has an older version. You may want to use Scitech Display Doctor to upgrade your VESA driver.
- VESA 2 mode does not work on your video card/driver - Meaning that the resolution you requested does not exist in the supported resolutions of your video card. Choose a different resolution or upgrade with SDD, which can sometimes help increase the number of resolutions supported.
- Unable to initialize video mode - A VESA 2.0 driver is found, but the video mode failed to start. There could possibly be an error on the video card setting, or it may be a defective piece of hardware.
- Linear frame buffer not detected - Meaning that your video card does not support linear frame buffering, which is required for the ZSNES VESA 2 routines.
Sound
- You haven't enabled sound. You can enable it through the GUI or through zsnes.cfg. Also make sure that Disable SPC Emulation is NOT checked.
- You need to make sure that the SET BLASTER variable is set properly. To do this, type SET in DOS and look for a string starting with 'BLASTER='. If such a string exists, then this is not your problem.
- You don't have a SB2.0 compatible sound card. If this is your case, there is nothing you can do at the moment. ZSNES uses auto-initialization mode for sound which requires SB2.0+.
- Your SB IRQ conflicts with another device. If this is the case, you might want to check your sound card settings through Control Panel -> System.
- ZSNES doesn't like your sound card.
- You can try using VDMSound.
SB Live! uses what is known as a NMI, or Non Maskable Interrupt, to emulate SB 16 sound. Don't ask us exactly what it does (it's a type of IRQ) but that is pretty much all it is good for.
The problem is that many sound cards either lack NMI support or don't have it enabled (No NMI = No DOS support).
To try and solve this problem, do the following:
- Check your BIOS. If there is an option for RAM parity checking, enable it; it usually turns on NMI support. If there is something that says 'NMI', turn it on.
- If you don't find anything in your BIOS, then go to your motherboard's website and download the latest BIOS flash. Install it and try your DOS sound (You may still have to enable the stuff in the BIOS afterwards).
- Failing the first two things, you could either get a new motherboard or get another compatible sound card alongside the SB Live!. Just attach a cable from the line out of the SB 16 to the line in of the SB Live!. Enable line in on the mixer of your SB Live! and it should route the sound through the old sound card (Don't use the SPDIF to connect the cards if you have one; wave sound doesn't pass through SPDIF--only MIDI).
Input
- Try checking or unchecking the Sidewinder Fix option under Config Menu -> Options and repeat the above steps.
- Fully disable the Win9x Sidewinder drivers by going to Control Panel/Game Controllers. Then remove the Sidewinder (Thanks Scarlet-Slider for this info!).
- Run ZSNES under pure DOS.
- Again, try checking or unchecking the Sidewinder Fix in the options menu of the GUI and repeat the above 2 steps.
- Make sure your Sidewinder is plugged in and is not broken.
For USB joysticks, you can either set ZSNES as a 6-button joystick or simulate keyboard keys through the Sidewinder profiler by setting Input #1 as a keyboard with those defined keys.
Freezing/Crashing Issues
- Q: Why does ZSNES freeze when I run it under pure DOS?
- A: Try loading your mouse driver or run ZSNES using the -j switch. For the most compatible result, use the Microsoft Mouse driver if possible.
- Q: Why does ZSNES crash when I load a ROM?
- A: It could be that ZSNES doesn't recognize your sound configuration. To fix it, disable sound or try changing your sound configuration. Also see this question.
- Q: Why does ZSNES freeze when I try to enter the GUI?
- A: Run ZSNES using the commandline -j.
- Q: ZSNES gives me an 'out of memory' error and I only have 16MB of RAM. How do I fix this?
- A: If you are running the DOS port of ZSNES from within Windows, try restarting the computer in DOS mode; more RAM should then presumably be available for ZSNES to use. To get it running under Win9x, first create a shortcut to the DOS prompt on the desktop (the filename 'target' can be
C:command.com
). Next, right-click on the icon and go to Properties. Then, select the Memory tab and look below for Protected Mode (DPMI) settings and set a high value (like 20000). Last, double-click on that icon and load ZSNES as usual.
Miscellaneous
- Q: I'm using DJGPP 2.03 and I get an error about missing stdint.h. What's wrong?
- A: You're probably missing this file. Download the latest version of this file and put it in DJGPP's include directory.