Talk:ZSNES

Return to "ZSNES" page.

Zsnes Guide by Gent

Using & Configuration

(Overview of Program)


Getting Started


Unzip the downloaded zip file into a clean directory. Once unzipped, to start Zsnes click on the Zsnes executable file. Also in the zip is the documentation for Zsnes of which you must read. You could create a shortcut to Zsnes and drag that icon out onto your desktop.

Loading Games


Use the Load option from the Game menu to open the ROM load dialog. The dialog allows you to browse your computer to locate the directory where you have stored your SNES games. Double-click on a ROM image name or single-click and then press Load to load and start the game. SNES ROM images come in lots of different formats, depending on the copier device that was originally used to create the image amongst other things.

SNES Joypad Emulation


On a real SNES, players controlled games using an 8-button digital joy-pad; on Zsnes you can use your computer's keyboard (the default) or any joystick or controller device supported by Window's DirectInput. Here are the default keys for the game play (unless modified through the GUI):

Player 1:

Up, Down, Left, Right : Cursor Keys
A, B, X, Y : X, Z, S, A
L, R : D, C
Start, Select : Enter, RShift

The real SNES allowed up to five joy-pads to be plugged in at once via a special adaptor, although there are only a few games that actually supported that many players. Having five people crowd around the keyboard would not be much fun, and anyway, all keyboards have a limit on the number of keys that can be pressed simultaneously and still be detected correctly; much better to use multiple joysticks or NetPlay.

Keyboard/Joystick Config


To use Input #1-#5 :

Selecting an Input Device :

Using your mouse, move through the list of input devices until the device of your choice is highlighted. From there, click on SET and the input device you selected should appear after CDV: (CDV = Current Device)

Changing default keys :

Click on the key which you want to change using your mouse and then press the key or joystick button/pad which you want to change it to. Pressing ESC disables the game key.

Additional Keyboard Controls


Here are the default keys while running the emulator. They can be changed through the GUI except for F1 and ESC :

Disable Backgrounds 1,2,3,4 = 1,2,3,4
Disable Sprites = 5
Panic Key (enable all) = 6
Enable SNES Mouse/SuperScope = 7
Enable New Graphics Engine = 8
Disable Windowing = 9
Disable OffsetMode = 0
Fast Forward Key = ~
PopUp Extra Menu = F1
Save State = F2
Switch State = F3
Load State = F4
Disable Sound Channel = F5 - F12
Quit = ESC

Game Saving


Many SNES games could take a very long time to complete from start to finish so they allowed your progressed to be saved into RAM fitted inside the game pack; the RAM contents were backed up by a battery when the SNES was switched off or the game removed. Zsnes simulates this by saving the contents of the emulated battery-backed RAM into a file when you load a new game or exit Zsnes. The file is then automatically re-loaded on next game load. Zsnes also provides save-states; these are files that saves a game's position at any point in the game, not just at predefined places chosen by the game's designers - ideal for saving your game just before a tricky bit! You can save a state by pressing F2 and load a state by pressing F4. Save-state files and Save-RAM (S-RAM) save files are normally written to and read from the folder where the ROM image was located, but sometimes this is not desirable or possible, especially if its a CD-ROM, which is of course read-only! You can change the folder where Zsnes saves and loads S-RAM and save-states by altering the config file that is generated after the first use of Zsnes.

Netplay Support


If you have Windows 95 and you are getting a init failed error, you should download and install the Winsock 2.0 update for Windows 95 *** Note: Do not update the above if you do not have Windows 95. Also, the higher than ping time, the worse the netplay experience since ping times measure the time it takes for data to get to the other side and back. You can expect a not so great performance if you have a ping time of 400 or greater.

Note: You cannot use cheat codes, key combinations, or turbo keys in netplay. Firewall users - You may need to disable your firewall (or just disable it for UDP port 7845) in order to get the UDP protocol that Zsnesw's netplay uses o work. Internet Connection Sharing users (Win9x systems) You may need to download an ICS Configuration software to get your connection to work and map UDP port 7845.

System Recommendations for smooth netplay:

Back Buffer must be enabled and the latency value must be 3 or 2 The games have to run at least 50FPS on BOTH computers without netplay. This can completely depend on factors such as cpu, video card, video mode, and the game you are running. Your system should be able to handle the UDP protocol. Without it, lost packets can cause lots of in-game pauses in your netplay experience. You can also try changing your resolution to different video modes and find the video mode that provides the optimal performance if the current performance isn't satisfactory. You would also need an Internet connection with ping times of less than 400ms between both connections.

Simple Instructions on how to get it working:

  1. ) Go to Netplay -> Internet
  2. ) Decide who will be the server and who will be the client (Neither has the gameplay advantage since Zsnesw treats both the same after a connection is established)
  3. ) If you're the server, send the IP that's shown to your friend (eg. through any chat program (ICQ, AIM, IRC, etc.)). Then click on 'Start Server'.
  4. ) If you're the client, type in the IP address that your friend has given you, and then click on 'Connect to Server'
  5. ) Chat with your friend on what game to play
  6. ) Once decided, make sure that the filename on both sides are the same and that the load window points to the directory where the filename is at
  7. ) Load the game
  8. ) Have fun! (If it worked)
  9. ) If it said 'Checksum Mismatch', then try unzipping the file if it is a .ZIP file. If not, then both sides have a different version of that ROM... Example: You have a Japanese version, while the other is a English) or both versions are English,but are different version releases of the same game.
  10. ) If you want to chat in-game, press 'T' and type in your line. You can change this key in the Misc -> Game Keys options from the GUI.

Getting the IP Address:

The IP address should be displayed on the connection window. The person being the client has to somehow tell the person who is the server his own IP address in order to connect. However, if your system has multiple IP addresses, the one on the connection window probably isn't the correct one. In this case, you can either refer to winipcfg (Windows Start Button -> Run, then type in winipcfg and press enter) or if you're using mIRC, just type /dns .

Connecting:

When you're ready, select Internet from the Netplay menu. If you are the server, just click on 'Start Server' and wait for the client to connect. If you are the client, and after obtaining the IP of your friend type in the IP into the space provided and then click on: 'Connect to Server'. Once you click on it, your system may look as if it's frozen, but it actually isn't. You just have to wait for a bit until it either connects or fails to connect. If it failed to connect, then check to make sure that the IP you entered is correct and that you are properly connected to the net. If the client says 'Found Client' and nothing else happens, chances are that your net connection does not support UDP. If this is the case, then both sides would need to deselect 'Allow UDP Connection'. However, it is strongly recommended that you use this option if it is possible since it is much faster than without UDP.

Loading a Game:

Once successfully connected, the chat window should open up. From there, you can load a game like how you normally load a game. But in order to load a game, both sides have to have their load window pointing to the directory where the game is located and also have to have the filename the same on both sides. Only one side has to load the game and after that, the other side will automatically load the game without the user's interaction. If an error pops up saying 'rom data mismatch', then it means that either side have a different version of the rom. This error sometimes happen on zip files even when both files are the same, so it is recommended that you unzip the games and try again if this error occurs.

Configuring the Options in the chat window:

The default settings are recommended. However, if your computer is slower than 266mhz, then it is recommended that both sides play with back buffer disabled. However, disabling this would degrade controller response. You can increase the latency value if the average ping time between both connections is high reducing the latency value when back buffer is enabled will improve controller response time. But however, this will cause the remote player to jump around more in order to keep both sides in sync. For controller options (PL1,PL2,PL3,..), the first checkmarked player would be using Input #1 of the local side. The second checkmarked player would be using Input #2 and so on. Players marked with an 'X' are checkmarked on the remote side.

Cheat Support


Use the Cheat Code Entry and Editor dialog from the Cheats menu to enter Game Genie or Pro-Action Reply cheat codes. Cheat codes allow you to, surprisingly, cheat at games; they might give you more lives, infinite health, enable special powers normally only activated when a special item is found, etc. You can find Game Genie and Pro-Action Code sites from the Link section on the Menu.

Currently, Zsnes supports Game Genie, Pro Action Replay and GoldFinger codes

Here are the steps to get the codes working :

  1. ) Load the ROM which you want to patch
  2. ) Exit to the GUI, enter the code of your choice in the cheat menu
  3. ) After that, you may have to RESET the game to get the cheat code to work. Sometimes, it is not necessary. You also may have to click on the FIX button.

NOTE : Some cheat codes are meant to be for different versions of the game. If a cheat code doesn't work and there is one for both Game Genie and Pro Action Replay, try them both.

SNES Mouse/Super Scope Support


  • To Enable SNES Mouse, Press 7 once for 1st player and twice for 2nd player.
  • To Enable SNES Super Scope, Press 7 three times.
  • To disable either one, either press 6 or press 7 until you see a disable message onscreen.

Controls for the Super Scope :

Fire = Left Mouse button.
Cursor Mode Button = Right Mouse button.
Pause = Backspace Key on keyboard.
Enable/Disable Autofire = =/+ key on your keyboard,
should be located to the left of the backspace key

Super FX


The Super FX is a 10/21MHz RISC CPU developed by Argonaut Software used as a game enhancer by several game tiles. Support is still a little buggy but most games work very well, if a little slowly. Released SNES Super FX games included Yoshi's Island (best single-player game on SNES, if you like platform games), Doom, Winter Gold, Dirt Trax FX, StarFox, Stunt Race FX and Vortex. If you're lucky, you might find a copy of the unreleased Starfox 2 image floating around, but its sound code is corrupt and you'll need to disable sound CPU emulation to play it.

S-DD1


The S-DD1 is a custom data decompression chip that can decompress data in real-time as the SNES DMA's data from the ROM to RAM. Only two games are known to use the chip: Star Ocean and Street Fighter Alpha 2. The chip uses some now known compression algorithm, but in Zsnes to actually support the two S-DD1 games, pre-decompressed graphics packs must be downloaded from http://www.dejap.com/, unpacked, and the resultant folder copied into the same folder that Zsnes normally loads and saves game save-states and S-RAM files.

SA-1


The SA-1 is a fast, custom 65c816 8/16-bit processor, the same as inside the SNES itself, but clocked at 10MHz compared to a maximum of 3.58MHz for the CPU inside the SNES. The SA-1 isn't just a CPU, it also contains some extra circuits developed by Nintendo which includes some very fast RAM, a memory mapper, DMA and, several real-time timers. Zsnes includes emulation of most features of the SA-1, enough to play all SA-1 games I've located so far, these include Mario RPG, Kirby Superstar and Paradius 3.

C4


The C4 is custom Capcom chip used only in the Megaman X2 and Megaman X3 games. It can scale and rotate images, draw line-vector objects and do some simple maths to rotate them.

Problems With ROMs


What will not run (or not play properly) :

  • Some Super FX games such as Dirt Trax FX or Winter Gold (causes instability)
  • Games with unknown co-processors
  • Games with other special chips such Street Fighter Alpha 2, Momotarou's
  • Happy Train that do not yet have decompression packs. (S-DD1/SPC7110)
  • Games which doesn't have a valid header
  • Games that hit a severe bug in the 65816/PPU/SPC700/DSP routines
  • Games that require special timing
  • Games that use functions not yet supported by the DSP-1, or that use other flavors of the DSP chip (ex. Top Gear 3000)
Last modified on 4 October 2020, at 12:05