o cleanup

This commit is contained in:
optixx
2009-04-22 20:04:28 +02:00
parent 55e3468f74
commit 0c378a9f7c
1078 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,280 @@
ZSNES v1.51 Documentation
================================
N a v i g a t i o n
================================
* Index [Index.txt]
* Readme [Readme.txt]
* GUI [GUI.txt]
* Netplay [Netplay.txt]
* Advanced Usage [Advanced.txt]
* Games [Games.txt]
* FAQ [FAQ.txt]
- - - - - - - - - - - - - - - - - -
* Getting Support [Support.txt]
* History [History.txt]
* About [About.txt]
1. ZSNES
2. Documentation
3. Credits
* License [License.txt]
- - - - - - - - - - - - - - - - - -
* NSRT Guide: [http://zsnes-docs.sf.net/nsrt]
* ZSNES Home Page: [ZSNES.com]
================================================================================
~ A b o u t
================================================================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. About ZSNES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZSNES is a SNES emulator that has been worked on since 1997. Originally
programmed by zsKnight and _Demo_, the project has since then attracted a number
of new developers and contributors.
On April 2, 2001, the ZSNES project was GPL'ed and its source released to the
public. Written in a mixture of x86 assembler, C, and C++, ZSNES currently runs
on Windows, DOS, x86 versions of Linux and FreeBSD, x86 Macintosh computers, and
the Microsoft Xbox.
................................
Donations
................................
If you enjoy using ZSNES to re-live and enhance your experiences with the Super
Nintendo, please consider making a donation to support further development.
You have two options when making a donation. You can choose to make a donation
through the ZSNES SourceForge Project Donation Page:
[http://sourceforge.net/donate/index.php?group_id=19677]
(Donate to ZSNES through SourceForge).
Alternatively, you can send money to the ZSNES creator's PayPal account:
[http://www.zsnes.com/?page=donate]
(Donate directly to zsKnight, creator of ZSNES).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2. About the Documentation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The ZSNES Documentation Project was started by RichardC in an attempt to update
and reorganize all of the ZSNES documentation into an easy to read, easy to
access collection. It made its public debut upon the release of ZSNES v1.40.
It is officially available in HTML, CHM, and text formats.
If you have any suggestions or corrections that you would like to submit,
feel free to let us know at our forum on the ZSNES Message Board
[http://board.zsnes.com].
RichardC would like to give a special thanks to Nach and the ZSNES community for
all the help and support that they have given to him and the project.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3. C r e d i t s
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
........................................
Founding Developers
........................................
zsKnight
_Demo_
........................................
Current/Active Developers
........................................
pagefault - primary core developer, primary Win port developer.
Nach - primary non-core developer, mostly works on significant back-end
overhauling and large new features.
grinvader - primary ASM to C porter, primary Unix build maintainer, many GUI
improvements and other, and power of no pants.
Jonas Quinn - primary bug fixer, also video code contributor.
ipher - ZSNES GUI expert, WIP distributor
Deathlike2 - minor feature adder, also an ASM to C porter.
........................................
Assistant Coders
........................................
hpsolo
Pharos
Siloh (a.k.a. Stainless, a.k.a. randilyn)
StatMan
teuf
theoddone33
........................................
Contributors (in alphabetical order)
........................................
aaronl
Aerdan
amit
anomie
BRPXQZME
byuu
Diablo-D3
EvilTypeGuy
hector
Khan Artist (a.k.a. Noxious Ninja)
kode54
Kreed
MaxSt
MKendora
Neviksti
Overload
prometheus
relnev
snes6502
TRAC
zinx
........................................
Documentation Writers/Contributors
........................................
Contributors are listed loosely based on their dates of contribution.
RichardC - founder of the ZSNES Documentation Project. First active
administrator. He had the dirty job of doing the initial conversion
of the docs into HTML.
Nach - programmer extraordinaire, and knows ZSNES very well. He helps a lot in
documenting the obscure things we writers don't know about.
LDAWG - updated v1.40 changelog, based on a 2 year summary by Nach, as well as
another 6 months of developer notes.
kevman - helped with the v1.40 FAQ updates.
xamenus - joined the project shortly after RichardC's initial release, and made
many grammar fixes and updated the content. Combined the 3 separate,
port-specific documentations into one. Still contributes some content from
time to time.
Noxious Ninja - manpage expert. No longer active in the emulation "scene", he
always had something useful to contribute.
Clements - maintainer of the CHM file. Also assists with coding and content.
AspiringSquire - designer and maintainer of the TXT version of the docs;
occasionally contributes content. Also an expert with grammar and
vocabulary corrections.
Jipcy - current active administrator and mark-up chief. Manages and contributes
to all parts of the docs.
Jonas Quinn - mainly helps in super-optimizing the images.
Deathlike2 - ZBoard tech help expert. Also makes many suggestions/corrections to
the docs.
Special thanks to Radio. He designed the ZSNES.com main page layout, from which
we stole this design for the HTML docs. Also special thanks to Roman Rudenko,
for finding the elusive "display:inline" fix for floated items in IE.
Also thanks to SnesCentral [http://snescentral.com] for providing some info!
........................................
Thanks
........................................
All ports of ZSNES use NASM v0.98+, GNU Make, zlib, libpng, and JMAlib to
compile, link, compress, decompress, and execute.
In addition to the above, ZSNES Win uses Visual C++ 2003 (or MinGW), DirectX 8,
UPX, and ManyMouse; ZSNES SDL uses GCC, SDL v1.20, and ManyMouse; and ZSNES DOS
uses DJGPP, CWSDPMI, and UPX.
Thanks to those who produced these fine programs!
Special Thanks to:
- wnelson; without him, ZSNES would have never existed!
- Y0SHi for his excellent SNES docs, his help, and his excellent support!
- Ashley, Barubary, CyberWarriorX, DCX, DooMStalK, Fanwen, GreenImp, Hucard,
Kaiden, PolestaR, Stalphos Knight, Star Creator, TeleKawaru, the people on
the ZSNES IRC channel, and the regulars of the ZSNES message board!
- All of our beta testers for being a great help!
- The MAME team; info on 256x256x256 scanlines mode is from the MAME source!
Also Thanks to:
- The_Teach of Snes9x for some great info and the nice chats!
- Trepalium of Snes9x for some great info and help!
- Gary of Snes9x and Steve Snake of Kega for being the source of info for
sound decompression!
- Gary of Snes9x for being the source of info for TCall/PCall and also for
lots of help!
- MrGrim for his great support!
- Crono for info on Sound Blaster programming, surround sound, sound
interpolation, and other sound stuff!
- Aquis for the ZSNES logo!
- Alucard for helping us with an issue in the 65816!
- Vertigo for making a compatibility list!
- EFX for being a great supporter and also giving a lot of help and stuff!
- Zophar for being a great supporter and also maintaining the mirror site!
- Chris Hickman for redesigning the ZSNES web page!
- CSoft [http://www.csoft.net] for (previously) hosting our web page!
- Marius Fodor for the code for VSync, Sidewinder, Gamepad Pro, and some
optimization info!
- Sardu for some great info and help!
- Lord ESNES for some great help!
- Robert Grubbs for the Sidewinder info!
- Nerlaska for some useful info on optimizing and also for some help!
- Diskdude for writing SNESkart which we used for the info on cheat codes!
- DarkForce for some great help!
- Pharos for some keyboard coding help!
- Ivar and Gary of the Snes9x team for all their great help, which includes
their SuperFX info and code, DSP-1 info, info on interleave formats (HiROM
and SuperFX), offset per tile mode, FIR filter, and some insights on
SPC700 and HDMA bugs!
- WolfWings ShadowFlight for help on several issues of NASM!
- Wildfire for some help!
- A CoolMan for the algorithm for EAGLE!
- Neill Corlett for some info on the .ips format and also helping out a lot
on improving the sound engine!
- Kreed for the 2xSaI and Super Eagle source codes!
- Markus Oberhumer and Laszlo Molnar for the UPX compression utility
[http://upx.sourceforge.net].
- Jean-loup Gailly, Mark Adler, and Gilles Vollant for the unzip routines!
- kode54 for the low pass filter routines!
- Andy Goth for some help on the design of the key combination engine!
- Yamaha of XYZZ (Scott Scriven) for his water effect code.
- ipher for compiling and releasing WIP builds!
- cdbsi for the ZSNES icons!
- The Dumper for lots of help with special chips.
- snes6502 for the Xbox port!
- hector and BRPXQZME for helping to port ZSNES to Mac OS X!
- The NSRT Team, for their excellent utility, JMA compression, NSRT headers,
and a great database!
- All those people who contributed by either updating the docs, helping us,
supporting us, or reporting bugs!
The changelog [History.txt] contains innumerable credits to people for their
contributions or individual fixes. Many of them are not listed on this page.
Also thanks to all those whom we forgot!
Also, good luck to all those who are writing emulators, especially those who are
writing SNES emulators, including Snes9x [http://www.snes9x.com],
SNEeSe [http://sneese.sourceforge.net],
Super Sleuth [http://users.tpg.com.au/advlink/spx/],
and bsnes [http://www.byuu.org]!
. . . . . . . . . . . . . . . .
This documentation is best viewed in a fixed-width font such as "Courier New".
Copyright (C) ZSNES Team & ZSNES Documentation Team [License.txt]

View File

@@ -0,0 +1,483 @@
ZSNES v1.51 Documentation
================================
N a v i g a t i o n
================================
* Index [Index.txt]
* Readme [Readme.txt]
* GUI [GUI.txt]
* Netplay [Netplay.txt]
* Advanced Usage [Advanced.txt]
1. Movie Dumping
2. Configuration Files
3. Debugger
4. KitchenSync
5. Command-Line
* Games [Games.txt]
* FAQ [FAQ.txt]
- - - - - - - - - - - - - - - - - -
* Getting Support [Support.txt]
* History [History.txt]
* About [About.txt]
* License [License.txt]
- - - - - - - - - - - - - - - - - -
* NSRT Guide: [http://zsnes-docs.sf.net/nsrt]
* ZSNES Home Page: [ZSNES.com]
================================================================================
~ A d v a n c e d U s a g e
================================================================================
This page documents the advanced features of ZSNES, probably not useful for most
end users.
............................................................
1. Movie Dumping
............................................................
Please note that ZSNES does not support real-time video encoding. ZSNES only
encodes existing ZMV (ZSNES movie) files. Refer to the GUI page [GUI.txt] for
instructions on recording movies.
All instructions in this section assume that you are using the default settings
of the zmovie.cfg file. If you are smart enough to edit zmovie.cfg, you had
better be smart enough to dump movies with whatever new settings you've created.
You can dump video output alone, audio output alone, both at the same time (to
separate files), or both to the same file (merged). If you choose to dump audio
output, you can choose to dump that audio output uncompressed or compressed to
MP3. Both uncompressed and compressed audio can be merged with the video.
- - - - - - - - - - - -
About Video Encoding
- - - - - - - - - - - -
Video encoding requires MEncoder [http://www.mplayerhq.hu].
- - - - - - - - - - - -
About Audio Encoding
- - - - - - - - - - - -
Audio encoding requires LAME [http://lame.sourceforge.net]. Currently, Windows
users *must* use this fixed LAME build [http://nsrt.edgeemu.com/lame.zip] due to
a bug in the official versions.
You have a choice of dumping audio either in uncompressed PCM format with WAV
header, or compressed as MP3. ZSNES uses LAME [http://lame.sourceforge.net] for
MP3, so you can expect high-quality audio, given the bit rate.
When dumping audio to a separate file (not merged with video), audio compressed
to MP3 will be about 6% of the size of the same uncompressed PCM audio.
- - - - - - - - -
Dumping a Movie
- - - - - - - - -
1. Place your MEncoder (mencoder.exe) and LAME (lame.exe) binaries in the same
directory as ZSNES. Alternatively, configure your PATH environment variable
to include the directories where MEncoder and LAME are installed.
2. Start ZSNES and load a game.
3. Open the Movie Options dialog. (Misc Menu->Movie Opt).
4. Make sure to select the correct movie slot, depending on which movie slot
you used to record a ZMV.
5. Select the Dumping tab, and configure the Video Options and Audio Options
to your liking [GUI.txt].
6. Hit the Start button.
7. ZSNES will then exit the GUI and start playing back the previously recorded
movie. If you chose to encode the video and/or audio output, you will see a
console window appear, showing the progress of encoding. Don't worry if
ZSNES slows down while playing back the movie; it needs to do this because
the encoding process takes a lot of processor time.
8. ZSNES will indicate when the movie has finished playback (and encoding).
You can now look in your ZSNES directory for the newly created file(s).
Note: ZSNES does not create an uncompressed temporary file and then encode it.
Instead, the output stream is directly encoded. The only output files will be
the finished, compressed files. Because ZSNES must encode the output stream as
it is generated, ZSNES may delay the output of new frames of video/audio to
give more time to MEncoder/LAME to compress the current frame. This means that
you should *not* worry if you see the playback of your movie slow down while
ZSNES is dumping it. The dumped file(s) will play back at full speed!
............................................................
2. Configuration Files
............................................................
Every time you run ZSNES, it checks to see if these files are present in the
same directory as the ZSNES executable. If they are not, ZSNES will create them
with their default values. Thus, if you are having weird problems with ZSNES,
try deleting these files.
If there are any missing or invalid lines in zsnes*.cfg, ZSNES will insert or
replace the lines with their default values.
- - - - - - -
zsnes*.cfg
- - - - - - -
Almost every option available in ZSNES can be configured in this file. If there
is something you don't understand in this file, please refrain from changing it,
and instead set the option from within the ZSNES GUI [GUI.txt].
The last letter of the filename is different for each port.
Windows: zsnesw.cfg SDL: zsnesl.cfg DOS: zsnes.cfg.
- - - - - - -
zmovie.cfg
- - - - - - -
This file contains movie-dumping configuration information.
You can edit this file to make ZSNES use something other than MEncoder or LAME,
or to tweak options. Read the MEncoder and LAME manuals to see what options you
can tweak. If you choose other applications, they must support stream input via
stdin and raw video (in the case of video encoding). Refer to the appropriate
documentation for more information.
Unfortunately, you're on your own if wish to play with this.
- - - - - - -
zfont.txt
- - - - - - -
This file contains the font data for the ZSNES GUI. You can edit this file to
customize the font.
* Comments are preceded by a ; and can be up to 99 characters in length.
- In the default file, each comment precedes the character it's labeling.
* Each letter is represented by a block of five rows, each containing 8 bits.
Only the first five columns of bits are used for font data; ZSNES uses a 5x5
font. The last three columns of bits should always be zeros.
- There are characters for English, Hiragana, and Katakana scripts.
* In case it isn't obvious, a 1 means the pixel is on in that location. A 0
means it's off. If you view zfont.txt, you should be able to figure it out.
* The file terminates on the EOF+newline character or the last character
(whichever comes first).
The absolute ordering of each and every line in this file is *important*. If
you're missing a single line, things might start messing up. Just so you know,
the last line of data should be on line 846, followed by the EOF character on
line 847.
If you mess something up, just delete zfont.txt, and ZSNES will re-generate it
as normal.
............................................................
3. Debugger
............................................................
The debugger, now available in all ports, is enabled only when you enter ZSNES
with a -d (If you are using the DOS port, just type "zsnes -d" at the
commandline. Win port users should add a "-d" after their ZSNES shortcut
target). Loading a ROM via a command line will start ZSNES in debugger mode;
otherwise press F1 to reach it.
Average users, however, should have no need to use the debugger.
- - - - - - - - - - - - - - - -
. . Debugger . Keys . .
- - - - - - - - - - - - - - - -
|Key| |Function|
- - - - - - - - -
1 Enable/Disable SPC700 display
2 Enable/Disable 65816 display
T Trace (in 65816 opcodes)
B 65816 break point
S SPC break point
C Clear counter
M 65816 modify
A SPC modify
D Debug dump (SPC/DSPRAM dump only)
W Break at signal (used only by the programmers)
F1 Switch between debugger input and game input
F2 Save state
F4 Load state
Esc Exit entire program
............................................................
4. KitchenSync (Win port only)
............................................................
This makes NTSC games (60Hz) run at 120Hz, and PAL games (50Hz) run at 100Hz.
To enable it, just start ZSNESw with the -ks switch. Alternatively, you can
create a shortcut to ZSNESw that starts with this switch enabled, every time.
First create a shortcut to ZSNESw in Windows. Next, right-click on the shortcut
and choose Properties. Then, put the cursor right after the quotation marks in
the Target box, press the space bar, and type -ks. Finally, click OK. If ZSNESw
crashes or refuses to start after enabling this, your monitor does not support
the 100/120 Hz refresh rate.
If your monitor supports 100Hz and not 120Hz, you can instead use the -kp switch
for PAL only. This way, you will not have to disable the -ks switch every time
you wish to play an NTSC game.
............................................................
5. Command-Line Arguments
............................................................
ZSNES supports execution arguments via the command line. More detailed
descriptions of how to use the arguments with each port is forthcoming.
Further detail of each argument's effect is given in [GUI.txt] for the
corresponding GUI option, if one exists.
Usage : zsnes* [-d,-f #, ... ] filename.sfc
Example : zsnes* -s -r 2 game.sfc
*Fill in the appropriate letter for your port when entering this into the
command line.
- - - - - - - - - - - - - - - -
. . Universal Switches . .
- - - - - - - - - - - - - - - -
Argument|Sub-Arg.|Description
= = = = = = = = = = = = = = =
-1 #/-2 # Select Player 1/2 Input
0 None
1 Keyboard
-d Start with debugger enabled
-dd Disable sound SPC700/DSP emulation, which also disables sound
output
-dh Disable ROM-specific hacks
-ds Disable sound output
-f # [0...9] Enable fixed frame rate
-g # [0...15] Specify gamma correction value
-h Force HiROM
-j Disable Mouse (Automatically turns off right mouse click)
-k # [0...100] Set Volume Level
-l Force LoROM
-m Disable GUI (Must specify ROM filename)
-mc Exit ZSNES when closing a movie (use with -zm)
-md # Dump video (use with -zm)
1 Raw
2 FFV1
3 x264
4 XviD
5 Custom
-ml # Define movie dump length in amount of frames (use with -md)
-n # Enable scanlines (when available)
0 None
1 Full
2 25%
3 50%
-o Disable MMX support
-p # [50...150] Percentage of instructions to execute
-r # Set sound sampling rate
0 8000Hz
1 11025Hz
2 22050Hz
3 44100Hz
4 16000Hz
5 32000Hz
6 48000Hz
-s Enable sound output and enable SPC700/DSP emulation
-sa Show all extensions in GUI (*.*)
-t Force NTSC timing
-u Force PAL timing
-v8 Grayscale mode
-y Enable Interpolation graphics filter
-z Disable stereo sound
-zm # [0...9] Auto load specified movie slot on startup
-zs # [0...99] Auto load specified save state slot on startup
- - - - - - - - - - - - - - - -
. . Windows-only Switches . .
- - - - - - - - - - - - - - - -
From the Windows NT command-line, you can use the following command to view the
accepted command-line input for a given ZSNES binary: "zsnesw -? | more".
Typing "zsnesw -?" does not work.
Users of any flavor of Windows can use the following command to output to a file
the same information returned from the command above: "zsnesw -? > commands.txt"
Argument|Sub-Arg.|Description
= = = = = = = = = = = = = = =
-3 Enable triple buffering (disables VSync)
-6 # [50...180] Force a user-specified refresh rate for fullscreen modes
-js # [0...32767] Set joystick sensitivity
-kp Enable the KitchenSync for PAL only (100Hz)
-ks Enable the KitchenSync for NTSC and PAL (120Hz/100Hz)
-v # Select Video Mode:
0 256x224 R WIN
1 256x224 R FULL
2 512x448 R WIN
3 512x448 DR WIN
4 640x480 S WIN
5 640x480 DS WIN
6 640x480 DR FULL
7 640x480 DS FULL
8 640x480 S FULL
9 768x672 R WIN
10 768x672 DR WIN
11 800x600 S WIN
12 800x600 DS WIN
13 800x600 S FULL
14 800x600 DR FULL
15 800x600 DS FULL
16 1024x768 S WIN
17 1024x768 DS WIN
18 1024x768 S FULL
19 1024x768 DR FULL
20 1024x768 DS FULL
21 1024x896 R WIN
22 1024x896 DR WIN
23 1280x960 S WIN
24 1280x960 DS WIN
25 1280x960 S FULL
26 1280x960 DR FULL
27 1280x960 DS FULL
28 1280x1024 S WIN
29 1280x1024 DS WIN
30 1280x1024 S FULL
31 1280x1024 DR FULL
32 1280x1024 DS FULL
33 1600x1200 S WIN
34 1600x1200 DS WIN
35 1600x1200 DR FULL
36 1600x1200 DS FULL
37 1600x1200 S FULL
38 CUSTOM D WIN
39 CUSTOM DS FULL
40 CUSTOM WIN
41 CUSTOM S FULL
42 CUSTOM DR FULL
-w Enable VSync (disables triple buffering)
- - - - - - - - - - - - - - - -
. . . SDL-only Switches . . .
- - - - - - - - - - - - - - - -
Argument|Sub-Arg.|Description
= = = = = = = = = = = = = = =
-ad <> Audio Driver (note you may not have all of these):
auto Select a driver automatically - uses SDL without libao
null No sound, only available with libao
oss Open Sound System, only available with libao on UNIX systems
with OSS
alsa Advanced Linux Sound Architecture, only available with libao
on Linux systems with ALSA
alsa09 Advanced Linux Sound Architecture, only available with libao
on Linux systems with ALSA
polyp polypaudio (next generation GNOME sound server), only
available with libao and new versions of GNOME
esd ESounD or Enlightened Sound Daemon, only available with
libao and ESD installed
sun Sun Microsystem's audio system, only available with libao
and Solaris or certain BSD systems
irix IRIX audio system, only available with libao and IRIX
systems
nas Network Audio System, only available with libao and NAS
installed
arts Analog RealTime Synthesizer sound, only available with libao
on systems with aRts (KDE)
sdl Simple DirectMedia Layer sound
-js # [0...32767] Set joystick sensitivity
-v # Select Video Mode:
0 256x224 R WIN
1 256x224 R FULL
2 512x448 DR WIN
3 512x448 DR FULL
4 640x480 DR FULL
5 256x224 OR WIN
6 512x448 ODR WIN
7 640x480 ODS FULL
8 640x480 ODS WIN
9 640x560 ODR WIN
10 768x672 ODR WIN
11 800x600 ODS FULL
12 800x600 ODS WIN
13 896x784 ODR WIN
14 1024x768 ODS FULL
15 1024x768 ODS WIN
16 1024x896 ODR WIN
17 1280x960 ODS FULL
18 1280x1024 ODS FULL
19 1600x1200 ODS FULL
20 VARIABLE ODR WIN
21 VARIABLE ODS WIN
22 CUSTOM OD FULL
- - - - - - - - - - - - - - - -
. . . DOS-only Switches . . .
- - - - - - - - - - - - - - - -
Argument|Sub-Arg.|Description
= = = = = = = = = = = = = = =
-0 Force black background in 8-bit modes
-1 #/-2 # Select Player 1/2 Input:
2 2 Button
3 4 Button
4 6 Button
5 8 Button
6 Sidewinder #1
7 Sidewinder #2
8 Sidewinder #3
9 Sidewinder #4
10 Gamepad Pro #0
11 Gamepad Pro #1
12 LPT1 #1
13 LPT1 #2
14 LPT1 #3
15 LPT1 #4
16 LPT1 #5
-3 Enable triple buffering (disables VSync)
-8 Force 8-bit sound
-c Enable full/wide screen (when available)
-cc Enable small screen (when available)
-sp Report sound detection information
-v # Select Video Mode:
0 256x224x8B (MODEQ)
1 256x240x8B (MODEQ)
2 256x256x8B (MODEQ)
3 320x224x8B (MODEX)
4 320x240x8B (MODEX)
5 320x256x8B (MODEX)
6 640x480x16B (VESA1)*
7 320x240x8B (VESA2)
8 320x240x16B (VESA2)
9 320x480x8B (VESA2)
10 320x480x16B (VESA2)
11 512x384x8B (VESA2)
12 512x384x16B (VESA2)
13 640x400x8B (VESA2)
14 640x400x16B (VESA2)
15 640x480x8B (VESA2)
16 640x480x16B (VESA2)
17 800x600x8B (VESA2)
18 800x600x16B (VESA2)
-w Enable VSync (disables triple buffering)
*The 640x480x16B (VESA1) video mode is compatible with many video cards, but can
also be very slow. We recommend that you use a VESA2 mode if your video card
supports it. Please see the system requirements for more information
[Readme.txt].
. . . . . . . . . . . . . . . .
This documentation is best viewed in a fixed-width font such as "Courier New".
Copyright (C) ZSNES Team & ZSNES Documentation Team [License.txt]

View File

@@ -0,0 +1,748 @@
ZSNES v1.51 Documentation
================================
N a v i g a t i o n
================================
* Index [Index.txt]
* Readme [Readme.txt]
* GUI [GUI.txt]
* Netplay [Netplay.txt]
* Advanced Usage [Advanced.txt]
* Games [Games.txt]
* FAQ [FAQ.txt]
1. Universal
2. Win Port
3. SDL Port
4. DOS Port
- - - - - - - - - - - - - - - - - -
* Getting Support [Support.txt]
* History [History.txt]
* About [About.txt]
* License [License.txt]
- - - - - - - - - - - - - - - - - -
* NSRT Guide: [http://zsnes-docs.sf.net/nsrt]
* ZSNES Home Page: [ZSNES.com]
================================================================================
~ F. A. Q. (Frequently Asked Questions)
================================================================================
The FAQ page was first included in version 0.390 of ZSNES, released on
April 11, 1998.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Question Index
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
- - - - - - - - - - -
UNIVERSAL QUESTIONS
- - - - - - - - - - -
General
Where do I download games / ROMs?
What is the "save directory"?
Why are my games not saving?
Are the ZSNES data files compatible among the various ZSNES ports
(Win/DOS/SDL)?
Is there Toaster Support?
Games
Why don't my games work after applying IPS patches to them?
Does ZSNES support Snes9x, GoodSNES, and NSRT ROMs? Or only ZSNES ones?
Video
Why do my scanlines look awful?
Why am I missing some video filter options?
Sound
Why does ZSNES produce a lot of static?
Why am I missing some sound options?
Input
Why can't I press more than 2 keys at a time?
Why is one direction of the d-pad always held down, even when I'm not
pressing any keys?
How do I use both my keyboard and joystick for the 1st or 2nd player?
Why can't I set the keys/buttons for Player 2?
Why won't ZSNES accept input when I'm configuring the keys for my
gamepad?
This game tells me that it is not compatible with the MultiTap
(or an external device attached). What should I do?
Speed
Why is ZSNES slow?
Why does the game slow down even though I'm using auto frame rate and
the FPS is pretty high?
My games are running too quickly! How do I slow them down?
Miscellaneous
Does ZSNES support loading ROMs which are compressed?
Why doesn't ZSNES support the 7z, RAR, or ZIP deflate64 compression
formats?
Does ZSNES support multiple ROMs in a single ZIP or JMA file?
Can you make a Mac/PocketPC/PS2/whatever port?
- - - - - - - - - - - -
WIN-SPECIFIC QUESTIONS
- - - - - - - - - - - -
General
Why does ZSNESw crash and give me an error with dinput.dll?
I just switched from the DOS port to the Windows port of ZSNES;
why don't my savestates work? Are they incompatible?
Video
Why am I seeing double, with strange colors?
Why is the video choppy with an FPS of 60 and VSync on?
Sound
How come I don't get any sound?
- - - - - - - - - - - -
SDL-SPECIFIC QUESTIONS
- - - - - - - - - - - -
General
Can I run ZSNES without X?
I got ZSNES from my distro and I found a bug. To whom should I report it?
Should I use SVN?
I'm getting an error about gzdirect() missing when I try to compile
ZSNES. What's up?
- - - - - - - - - - - -
DOS-SPECIFIC QUESTIONS
- - - - - - - - - - - -
Video
How do you enable transparencies?
Why is there a layer of fog blocking my view?
Why am I getting error messages regarding VESA 2 drivers?
Sound
Why is there no sound?
Are there any plans to improve detection for non-SoundBlaster cards
(or supporting non-SB cards)?
I get a sound initialization error using my SB Live! (or any other
PCI card). How do I fix it?
Input
Why doesn't my Sidewinder pad work?
How do I get my daisy-chained Sidewinder to work?
Why doesn't my Gamepad Pro work?
Why doesn't my joystick work anymore?
Why does JB5/JB6 keep getting pressed whenever I try to change a key?
Freezing/Crashing Issues
Why does ZSNES freeze when I run it under pure DOS?
Why does ZSNES crash when I load a ROM?
Why does ZSNES freeze when I try to enter the GUI?
ZSNES gives me an "out of memory" error and I only have 16MB of RAM.
How do I fix this?
Miscellaneous
I'm using DJGPP 2.03 and I get an error about missing stdint.h.
What's wrong?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. UNIVERSAL QUESTIONS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
................................
General
................................
Q: Where do I download games / ROMs?
A: Due to the questionable legality of ROM images of commercial games (see
[http://en.wikipedia.org/wiki/Rom_images#Legal_status_of_ROMs]), the ZSNES
Team *cannot* and *will not* provide you with any games / ROMs. We must do
this in order to keep ZSNES, as an emulator, legal. Please see the disclaimer
[Readme.txt].
Q: What is the "save directory"?
A: Please read more about the types of files ZSNES generates and where they are
created in the Files section of [Readme.txt].
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 Games\RPG", its files will go into that folder; if your Harvest Moon
ROM is in "C:\SNES Games\Simulation", 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 [Advanced.txt].
Q: Why are my games not saving?
A: If your ROM images are stored on a CD-ROM, you need to define a save
directory that points to your hard drive. In order to do this, either go to
Config-->Paths and enter a directory, or edit the ZSNES configuration file by
typing in a directory after "SaveDirectory=". Make sure that this directory
is not marked read-only.
If this still does not solve your problem, enable SRAM Check + Save under the
Config-->Saves menu.
Q: Are the ZSNES data files compatible among the various ZSNES ports
(Win/DOS/SDL)?
A: Yes. 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
[Advanced.txt] contains port-specific options which don't exist in other
ports, so while they can be transfered between ports, some things won't work
as expected. Note that when transfering various files, make sure they're
named properly and in the proper location (see the Files section [Readme.txt]
for details).
Q: Is there Toaster Support?
A: While we'd love for ZSNES to lace our shoes, feed us, breathe for us, and
amass wealth for us, we can't add every crazy feature that comes up.
Even though ZSNES does have many, many features that are not necessarily
SNES related, they normally don't go beyond features that you'd expect from
an advanced gaming system.
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
................................
Q: Why don't my games work after applying IPS patches to them?
A: If your patched game crashes early or just displays a black screen, you
probably need to either add or remove the 512 byte offset from the patch.
Use the program IPSEDIT to do this, which is bundled along with NSRT.
Alternatively, you could either add or remove a header from your ROM before
patching. Again, NSRT is capable of doing this. [http://nsrt.edgeemu.com]
Q: Does ZSNES support Snes9x, GoodSNES, and NSRT ROMs? Or only ZSNES ones?
A: ZSNES, Snes9x, GoodSNES, and NSRT ROMs do not exist. All these programs work
with SNES ROMs. As ZSNES is an SNES emulator, it will work with all SNES ROMs
(except where ZSNES has a bug or the ROM is in an unsupported interleave
format).
................................
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.txt] 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.txt] to see what sound options require
MMX support.
................................
Input
................................
Q: Why can't I press more than two keys at a time?
A: Many PC ("Personal Computer") keyboards limit the number of key signals that
can be transmitted simultaneously. For example, certain combinations of three
or more alphanumeric keys may not work. Conversely, there may be some
combinations of three or more keys that *do* work. You would just have to
test by trial-and-error to find out, since these combinations can vary
between keyboards. Joysticks and gamepads generally don't have this
limitation.
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.
Q: Why is one direction of the d-pad always held down, even when I'm not
pressing any keys?
A: ZSNES auto-calibrates any connected gamepads/joysticks when it first starts.
Thus, if one of the buttons or directions is accidentally held down while
ZSNES is starting, ZSNES will think this is "normal" or "zero" input, even
when you let go of the button. To fix the problem, simply close ZSNES, make
sure no buttons are pressed and all axis are centered on your
gamepad/joystick, and restart ZSNES. It will then auto-calibrate to the
correct "zero" settings.
Q: How do I use both my keyboard and joystick for the 1st or 2nd player?
A: First, configure the Player 1 pad (Config-->Input--> #1) for your normal
set-up (for example, a keyboard). Next, configure the Player 3 pad
(Config-->Input--> #3) to use your alternative set-up (for example, a
joystick or gamepad). When you want to switch between your regular and
alternative set-up, go to the Config-->Options menu and check
USE PL3/4 AS PL1/2. Now the Player 3 controls act as the Player 1 pad, and
Player 4's controls act as the Player 2 pad. To return to the normal
controls, simply uncheck this option. Follow the same procedure to create a
similar set-up for Players 2 and 4.
Note: Enabling the option USE PL3/4 AS PL1/2 disables MultiTap emulation.
Q: Why can't I set the keys/buttons for Player 2?
A: You need to set the Current Device before ZSNES will allow you to set the
individual keys for Player 2 (or Players 3, 4, or 5). If NONE is shown after
CURRENT:, the input cannot be changed (or used, for that matter). See the
Input section of the GUI page [GUI.txt] for further instructions.
Q: Why won't ZSNES accept input when I'm configuring the keys for my gamepad?
A: Exit ZSNES and calibrate your input device. Then restart ZSNES and see if it
works.
Q: This game tells me that it is not compatible with the MultiTap (or an
external device attached). What should I do?
A: Set the input devices of player 3, 4, and 5 to "None". You may also need to
go to Config-->Options, and enable "Use Player 3/4 as Player 1/2".
Additionally, you could add an NSRT header to your ROM if you desire.
................................
Speed
................................
Q: Why is ZSNES slow?
A: First and foremost, does your computer meet the minimum system requirements
to run ZSNES? If not, there is little you can do to improve performance. That
being said, you can still try a number of things.
* 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.
Q: Why does the game slow down even though I'm using auto frame rate and the FPS
is pretty high?
A: If you have ever played a real SNES, you may notice that some games slow down
even on it. To the extent that ZSNES accurately emulates an SNES, a game will
slow down in ZSNES in the same places it would slown down on a real SNES.
Q: My games are running too quickly! How do I slow them down?
A: You may have disabled auto frame skipping. Re-enable it in the
Config-->Speed menu.
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) [Advanced.txt].
Also be sure to enable triple buffering.
................................
Miscellaneous
................................
Q: Does ZSNES support loading ROMs which are compressed?
A: Yes, but it depends on what compression format is used. ZSNES can currently
load ROMs that are compressed in the ZIP (method 0 - store and method 8 -
deflate), GZip, and JMA compression formats.
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 [http://www.gzip.org]. If you use Windows, there
is a program with a GUI called 7-Zip [http://www.7-zip.org] 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
[http://docs.kde.org/en/3.2/kdeutils/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
[http://nsrt.edgeemu.com]. NSRT is also capable of compressing SNES ROMs into
ZIP and GZip formats.
Q: Why doesn't ZSNES support the 7z, RAR, or ZIP deflate64 compression formats?
A: ZSNES only supports formats which have an open-source, portable, and
easy-to-use library. The 7z and RAR formats do not yet have libraries that
fill those criteria. If you want the best compression ratio for your SNES
ROMs, you should use JMA. Currently, the only publicly available program that
can compress and decompress with JMA is NSRT [http://nsrt.edgeemu.com]. ZIP
deflate64 lacks a decompression library which ZSNES can use, but rumor has it
that Nach is working on one.
Q: Does ZSNES support multiple ROMs in a single ZIP or JMA file?
A: ZSNES currently does not support more than one ROM in a ZIP or JMA file,
although such support will probably be implemented in the future.
Q: Can you make a Mac/PocketPC/PS2/whatever port?
A: Since ZSNES is written in assembly, ports to any systems that are not 100%
x86 compatible are impossible. Try Snes9x [http://www.snes9x.com] for
portability.
Apple Computer, Inc. recently switched the Macintosh computers to use Intel
processors [http://www.apple.com/pr/library/2005/jun/06intel.html], 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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2. WIN-SPECIFIC QUESTIONS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
................................
General
................................
Q: Why does ZSNESw crash and give me an error with dinput.dll?
A: If you get this error, download and install the latest version of DirectX.
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.
Q: I just switched from the DOS port to the Windows port of ZSNES; why don't my
savestates work? Are they incompatible?
A: The saves and savestates will work just as well with any port of ZSNES. You
simply need to rename all files that have .srm and .zst (and .zs1, .zs2,
etc.) extensions to match the filenames of your ROMs (or the jma/zip archives
that contain them).
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. A question concerning
the Save directory is under Universal Questions -> General [FAQ.txt].
................................
Video
................................
Q: Why am I seeing double, with strange colors?
A: Any change of resolution within ZSNES should correct the problem. Fullscreen
modes are recommended because they are faster than windowed modes.
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.
Q: Why is the video choppy with an FPS of 60 and VSync on?
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.
Please reference [Advanced.txt] for details on command-line switches.
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
................................
Q: How come I don't get any sound?
A: Either you accidentally disabled sound, you don't have a sound card, the
sound drivers aren't properly installed in your system, or your sound card is
not compatible with DirectSound (part of Microsoft's DirectX API
[Support.txt]). Also make sure that 'Disable SPC Emulation' is NOT checked.
See [GUI.txt] for more information about sound settings in ZSNES.
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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3. SDL-SPECIFIC QUESTIONS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
................................
General
................................
Q: Can I run ZSNES without X?
A: Yes, but you'll need to have SDL compiled to use SVGAlib.
Q: I got ZSNES from my distro and I found a bug. To whom should I report it?
A: Compile ZSNES yourself and see if the bug still exists. If it does,
please tell us, otherwise be happy that ZSNES works now, and give your
distro a heads-up if you feel motivated enough.
Q: Should I use SVN?
A: SVN ("Subversion") is the best way to get the most up-to-date ZSNES source.
It is best to double-check with SVN if you have a problem, since we might
have already fixed it. If you find a new problem in SVN, please tell us, but
be warned that we won't take it too seriously if it involves something that's
currently being worked on.
To check out and install ZSNES from SVN, refer to this thread on the ZSNES
board [http://board.zsnes.com/phpBB2/viewtopic.php?t=7371].
Q: I'm getting an error about gzdirect() missing when I try to compile ZSNES.
What's up?
A: Make sure you're using zlib 1.2.3 or higher. Some distributions say you have
zlib 1.2.3 but in reality give you an older version. If your distribution is
being problematic, compile zlib yourself. Grab the latest version of zlib at
the official website. [http://www.zlib.net]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4. DOS-SPECIFIC QUESTIONS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
................................
Video
................................
Q: How do you enable transparencies?
A: First, try setting the video mode to a 16-bit color mode in the GUI. (If
320x240x16b doesn't work, then try 640x480x16b). If it gives you an error
that says that your video card isn't compatible with VESA 2.0, you might want
to get Scitech Display Doctor. It provides certain cards with VESA 2.0
support. Running with transparencies on is definitely slower because of the
extra math equations, memory, and video space involved.
Q: Why is there a layer of fog blocking my view?
A: You need to either enable transparencies (see above), or you can disable
certain backgrounds by pressing the 1, 2, 3, or 4 keys. If you get lost while
pressing those keys, press 6 to re-enable all of the backgrounds.
Q: Why am I getting error messages regarding VESA 2 drivers?
A: Here is a list of the various error codes that you may be coming across,
along with descriptions of what they mean:
* 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
[http://www.scitechsoft.com/sdd.html] 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
................................
Q: Why is there no sound?
A: There could be several situations:
- 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 [http://sourceforge.net/projects/vdmsound/].
Q: Are there any plans to improve detection for non-SoundBlaster cards (or
supporting non-SB cards)?
A: There is little effort put into major changes to the DOS code, since so few
people use that port these days. However, we will gladly accept anyone's help
in improving the DOS sound code.
Q: I get a sound initialization error using my SB Live! (or any other PCI card).
How do I fix it?
A: Here is a solution: (Thanks CyberGodz for the post on the forums!)
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
................................
Q: Why doesn't my Sidewinder pad work?
A: First, for non-USB Sidewinders, you should disable the Sidewinder profiler
from the Win9x icon tray, run ZSNES, set Input #1 as SidewinderPad1, then
press the mode button a few times. If that doesn't work, try the following:
- 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.
Q: How do I get my daisy-chained Sidewinder to work?
A: First, run ZSNES. Temporarily disconnect the second Sidewinder pad from the
first one, get the first one to work, then re-connect the second Sidewinder
pad.
Q: Why doesn't my Gamepad Pro work?
A: For the non-USB version, be sure to have your Gamepad Pro set on 'GrIP' mode.
Then set the input device as Gamepad Pro P0. For the USB version, you can use
a keyboard emulator, which should be included with the software that came
with your joystick.
Q: Why doesn't my joystick work anymore?
A: You might have accidentally clicked the 'Use Joystick Port 209H' check box.
Just uncheck it.
Q: Why does JB5/JB6 keep getting pressed whenever I try to change a key?
A: Try changing your joystick type from 6-button to 4-button.
................................
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: (Universal-->Freezing/Crashing Issues) "Why does ZSNES crash
as soon as I load a ROM?"
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.
. . . . . . . . . . . . . . . .
This documentation is best viewed in a fixed-width font such as "Courier New".
Copyright (C) ZSNES Team & ZSNES Documentation Team [License.txt]

View File

@@ -0,0 +1,600 @@
ZSNES v1.51 Documentation
================================
N a v i g a t i o n
================================
* Index [Index.txt]
* Readme [Readme.txt]
* GUI [GUI.txt]
* Netplay [Netplay.txt]
* Advanced Usage [Advanced.txt]
* Games [Games.txt]
1. ROMs
2. Compatibility
3. Special-Chip Games
4. Special Cartridges
- BS-X (Satellaview)
- Super Gameboy
5. Individual Game Issues
6. Games Supported by ManyMouse
7. Multiplayer List
* FAQ [FAQ.txt]
- - - - - - - - - - - - - - - - - -
* Getting Support [Support.txt]
* History [History.txt]
* About [About.txt]
* License [License.txt]
- - - - - - - - - - - - - - - - - -
* NSRT Guide: [http://zsnes-docs.sf.net/nsrt]
* ZSNES Home Page: [ZSNES.com]
================================================================================
~ G a m e s
================================================================================
............................................................
1. ROMS
............................................................
** ROMs are not included with ZSNES!!! ** You must find them on your own.
Please read Wikipedia's article on ROM Images for a general overview.
[http://en.wikipedia.org/wiki/ROM_image]
In relation to SNES emulation, a "ROM image" is a computer file which is an
exact copy of the data that is contained in a 'R'ead 'O'nly 'M'emory chip inside
a game cartridge. This file contains the same data that a real SNES console
reads from the game cartridge. An SNES emulator loads this ROM into its own
memory, very much like how a real SNES operates.
A problem appears when you have a ROM image that is not an exact copy of the
data on a real SNES cartridge. Many of the ROMs available for download on the
Internet are not in fact exact copies of real SNES games. There are a variety of
reasons why a ROM that appears to be a real game is not an exact copy of the
cartridge data. For example, the ROM may have been incorrectly "dumped" from the
cartridge, which can introduce errors. Certain prolific ROM "releasers" will
"hack" a ROM to include an introduction that advertises the releaser. Regardless
of the reason for an imperfect ROM image, these "bad" ROMs can display errors
when they are played in an emulator.
Emulator developers generally try to make their emulators work with "good" ROMs;
that is, ROMs that are perfect copies of the data on a real game cartridge. The
developers of ZSNES in particular are unable to provide any help to people who
are using "bad" ROMs. You must use a good ROM if you want any chance of playing
an error-free game.
We recommend using NSRT to verify that your ROMs are "good" dumps. In some
cases, NSRT can actually modify a "bad" ROM in such a way that it becomes a
"good" ROM. Please read the documentation included with NSRT for additional
information. [http://nsrt.edgeemu.com]
............................................................
2. Compatibility
............................................................
There are many reasons why a particular ROM may not work correctly with ZSNES.
Here is a list of things you can do to improve your chances of a ROM working
with ZSNES:
* Make sure your ROM is actually a "good dump." Often a ROM appears to be from
a particular game/cartridge, but it *is not* in fact a perfect copy of the
data on that cartridge. You can use NSRT to scan your ROM and tell you if it
is a good dump. In some cases, NSRT can actually modify a "bad" ROM in such
a way that it becomes a "good" ROM.
* Your ROM may be a game that uses the SuperFX special chip. It may also be
"interleaved." ZSNES cannot detect when a ROM is interleaved with the
SuperFX interleave method. There is more information about this below, in
the Special-Chip Games section under SuperFX. In cases where ZSNES cannot
detect a ROM's interleave method, ZSNES will incorrectly report the ROM as
-not- interleaved, and the ROM will fail to load.
* If you have turned off sound, you should re-enable it. If you wish to mute
the sound output, simply move the volume slider to 0%. Many games require
sound emulation to be active in order to work correctly, so disabling sound
can "break" a lot of games.
* If you have changed the percentage of execution in the ZSNES configuration
file, change it back to 100. However, there are a few particular games that
may work better if the percentage to execute is set to either 120% or 80%.
The developers of ZSNES make no guarantee that any particular game will work.
While we wish to play these incompatible games as much as you do, sometimes it
is just not possible. Furthermore, ZSNES is in a constant state of development.
Compatibility with a particular game may change between releases of ZSNES.
In the past, ZSNES developers programmed the emulator to "hack" certain games.
These "hacks" would modify in-memory certain incompatible games, to get them to
work with ZSNES. Some hacks were also used make certain games run at full speed
if they were too slow. Sometimes, however, a particular game hack will break
other parts of accurate SNES emulation.
As the emulation accuracy of ZSNES has improved, these hacks have become less
necessary. In general, game hacks are removed whenever possible. With the
current state of emulation in ZSNES, no new game hacks will be added.
In conclusion, if you have tried the steps above, and your game still doesn't
work, *we're sorry*; however there is nothing we can do. ZSNES is developed for
*emulation accuracy*, with game compatibility as a side effect, *not* the other
way around. The most you can do is try another emulator or hope that ZSNES will
become accurate enough to be able to run your particular game.
............................................................
3. Special-Chip Games
............................................................
The approximate percentage of emulation progress for these special chips is
listed under Current Progress [Readme.txt].
The NSRT SNES Add-on Chip information article was frequently referenced for the
information assembled on this page. [http://nsrt.edgeemu.com/INFO/chipinfo.htm]
You may find that the section on Enhancement chips in the Super Nintendo article
at Wikipedia contains some interesting historical information, not covered in
this FAQ. [http://en.wikipedia.org/wiki/Super_Nintendo_Entertainment_System]
A number of games developed for the Super Nintendo included additional
special-purpose processors on the game cartridge. A game would use this special
processor to accomplish something that wasn't possible using just the standard
SNES hardware. It is impossible to represent these processors with ROM data; in
order for these games to work, ZSNES must emulate these special processors, in
addition to all the standard SNES hardware (which ZSNES already emulates).
Below is a list of all known special processors, followed by a list of the games
known to use each processor.
- - - -
C4
- - - -
The C4 chip is a math co-processor with limited graphical processing
capabilities.
* Megaman X 2 (USA) / Rockman X 2 (Japan)
* Megaman X 3 (USA, Europe) / Rockman X 3 (Japan)
- - - - - - - -
Nintendo DSP
- - - - - - - -
Each of the Nintendo DSP chips have identical hardware, but different software
(firmware).
+ DSP-1 (supported)
* Ace wo Nerae!
* Armored Trooper Votoms
* Ballz 3D / 3 Jigen Kakutou Ballz
* Battle Racers
* Drift King Shutokou Battle '94
* Drift King Shutokou Battle 2
* Final Stretch
* Hashiriya Kon
* Korean League
* Lock On
* Michael Andretti's Indy Car Challenge
* Pilotwings
* Super 3D Baseball
* Super Air Diver
* Super Air Diver 2
* Super Bases Loaded II
* Super F1 Circus Gaiden
* Super Mario Kart
* Suzuka 8 Hours
+ DSP-2 (supported)
* Dungeon Master
+ DSP-3 (partially supported)
* SD Gundam GX
+ DSP-4 (supported)
* Top Gear 3000 (USA) / Planets Champ TG 3000 (Japan)
- - - -
OBC1
- - - -
* Metal Combat
- - - -
SA-1
- - - -
<20>The SA-1 is a 65816 chip, although at a higher clock then the SNES's
internal one.<2E> [Quoted from http://nsrt.edgeemu.com/INFO/chipinfo.htm]
* Asahi Shinbun Rensai - Katou Ichi-Ni-San Kudan Shougi Shingiru
* Daisenryaku Expert WWII
* Derby Jockey 2
* Dragon Ball Z - Hyper Dimension
* Hanyuu Meijin no Omoshiro Shougi
* Harukanaru Augusta 3 - Masters New
* Hayashi Kaihou Kudan no Igo Taidou
* Itoi Shigesato no Bass Tsuri No.1
* J. League '96 Dream Stadium
* Jikkyou Oshaberi Parodius
* Jumpin' Derby
* Kakinoki Shougi
* Kirby Super Star (USA) / Hoshi no Kirby - Super Deluxe (Japan)
/ Kirby's Fun Pak (Europe)
* Kirby's Dream Land 3 (USA) / Hoshi no Kirby 3 (Japan)
* Marvelous
* Mini Yonku Shining Scorpion - Let's & Go!!
* Pebble Beach no Hatou New - Tournament Edition
* PGA European Tour
* PGA Tour 96
* Power Rangers Zeo - Battle Racers
* Saikousoku Shikou Shougi Mahjong
* SD F-1 Grand Prix
* SD Gundam G-NEXT cartridge ROM (G-NEXT.SFC)
* Shin Shougi Club
* Shougi no Hanamichi
* Shougi Saikyou
* Shougi Saikyou II
* Super Bomberman - Panic Bomber W
* Super Mario RPG
* Super Robot Wars Gaiden
* Super Shougi 3 - Kitaihei
* Taikyoku Igo - Idaten
* Takemiya Masaki Kudan no Igo Daishou
- - - -
S-DD1
- - - -
* Star Ocean
* Street Fighter Alpha 2 (USA/Europe) / Street Fighter Zero 2 (Japan)
- - - - - -
Seta DSP
- - - - - -
Seta's DSP has 2 major firmwares.
+ Seta 10 / ST010 (supported)
* F1 ROC II (USA) / Exhaust Heat II (Japan)
+ Seta 11 / ST011 (partially supported)
* Hayazashi Nidan Morita Shougi
- - - - - -
Seta RISC
- - - - - -
The Seta RISC chip is not emulated.
+ Seta 18 / ST018
* Hayazashi Nidan Morita Shougi 2
- - - - -
SPC7110
- - - - -
* Far East of Eden Zero
* Far East of Eden Zero - Shounen Jump no Shou
* Momotarou Dentetsu Happy
* Super Power League 4
ZSNES does not fully support the SPC7110 chip yet. However, you may use some
third party graphics decompression packs to get the four above games to work.
The SPC7110 graphic packs are mirrored on a number of sites on the Internet.
Here are a few:
* ipher's WIP Pages [http://other.ipherswipsite.com/gpacks/]
* NSRT Official Site [http://nsrt.edgeemu.com]
* Caitsith2's Personal Web Page [http://www.caitsith2.com]
After you have downloaded all of the parts, extract them all into a new
directory on your disk. Then go to the Config-->Paths menu in the GUI
and enter in the location of the folder in the appropriate field.
- - - -
S-RTC
- - - -
* Daikaijuu Monogatari II
- - - - -
SuperFX
- - - - -
* Dirt Racer
* Dirt Trax FX
* Doom
* Star Fox (USA / Japan) / Starwing (Europe)
* Stunt Race FX (USA / Europe) / Wild Trax (Japan)
* Super Mario World 2: Yoshi's Island
* Vortex
* Winter Gold
** ZSNES does not support interleaved SuperFX ROMs! **
An interleaved ROM is one in which the data is arranged differently than in
the original, real SNES cartridge. While ZSNES has the ability to read the
most common types of interleaved ROMs, it cannot read interleaved SuperFX
ROMs, or even determine that they are interleaved.
You can use NSRT [http://nsrt.edgeemu.com] to deinterleave your SuperFX ROMs,
or if you prefer, all your ROMs. Consequently, the creator of NSRT (Nach) has
also written a document about the technical details of interleaved SNES ROMs,
if you are interested.
"The Grand Document on the many SNES Interleave Algorithms":
[http://nsrt.edgeemu.com/forum/kb.php?mode=article&k=2]
............................................................
4. Special Cartridges
............................................................
The approximate percentage of emulation progress for these special cartridges is
listed under Current Progress [Readme.txt].
- - - - - - - - - - - - - - -
Same Game; SD Gundam G-Next
- - - - - - - - - - - - - - -
These were special games released only in Japan. They could be played by
themselves, standing alone, but they could also be played with special
additional cartridges, which plugged into the top of the main cartridge.
These extra cartridges used the same form-factor as the BS-X memory
cartridges, and they would improve or change the main game in some small way
(similar to the Sonic and Knuckles cartridge for Sega Genesis).
You can play the original cartridges by themselves by loading them like any
normal ROM. In order to play these games as if they had an expansion cartridge
plugged in, you must first configure the paths to the base cartridge ROMs
under Config -> Paths. After defining the path to the base ROMs, you can now
load the expansion ROM like any normal ROM. ZSNES will virtually "plug in" the
expansion ROM to the base ROM, and load both of them at the same time.
The NSRT file names for these ROMs are "SAMEGAME.SFC" and "G-NEXT.SFC",
respectively.
- - - - - - - -
Sufami Turbo
- - - - - - - -
Gamers Graveyard has some pictures and information on the Sufami Turbo.
[http://www.gamersgraveyard.com/repository/snes/peripherals/sufamiturbo.html]
The Sufami Turbo is a special add-on, manufactured by Bandai, and released
only in Japan. The games were sold on small, GameBoy-sized mini-cartridges,
two of which could simultaneously be plugged into the Sufami Turbo main
cartridge. Certain combinations of games could interact with each other.
To emulate the Sufami Turbo, you will first need the Sufami Turbo BIOS.
You must configure the path to this BIOS under Config-->Paths.
The NSRT file name for the Sufami Turbo BIOS is "STBIOS.BIN".
If you use NSRT, your Sufami Turbo ROMs will have .st extensions. In order to
load two ROMs at once (to emulate two simultaneously loaded cartridges), you
must use the command line. As an example, you would type in:
zsnesw.exe "C:\Path\To\ROMs\sufami turbo rom 1.st"
"C:\Path\To\ROMs\sufami turbo rom 2.st"
Note that you must type the FULL path to both ROM images. The example is
specific to the Windows command line and ZSNES port, but you get the idea.
You may occasionally come across a Sufami Turbo ROM that is hacked to include
the BIOS with it. Use NSRT with the -split command to separate the BIOS from
the ROM. This will give you at least two separate files: one will be the game,
and the other will be the BIOS. You may even get 3 files: Two games and one
BIOS. After you have separated the BIOS and the game(s), simply follow the
directions stated above.
- - - - - - - - - - - - - - - -
Broadcast Satellaview (BS-X)
- - - - - - - - - - - - - - - -
Please read the Satellaview article on Wikipedia for additional information.
[http://en.wikipedia.org/wiki/Satellaview]
This add-on was released only in Japan. It allowed gamers to connect to a
satellite feed at certain times of the day, which would transmit games to the
Super Famicom. Downloaded games were optionally stored on a small,
eight-megabit mini-cartridge, which plugged into the top of the BS-X main
cartridge (which in turn plugged directly into the Super Famicom). Many games,
some of which had time limits, were made exclusively for the BS Satellaview.
Currently, ZSNES can partially emulate the BS-X; some games will have graphics
glitches, some games can be coaxed into running by changing certain settings,
but some games won't run at all.
Also note that there is a BIOS for the BS-X. You may configure the path to the
BS-X BIOS under Config -> Paths; however, it's not currently required to run
BS games. It may be required in the future.
The NSRT file name for the BS-X BIOS is "BS Satellaview BS-X (BIOS) (J).sfc".
- - - - - - - -
Super GameBoy
- - - - - - - -
** The Super GameBoy is not emulated. There are currently no plans to support
it. ** This is because the Super GameBoy cartridge contains a complete set of
GameBoy hardware (without screen and speakers, of course). Thus, to fully
support the Super GameBoy, ZSNES would have to emulate both the SNES and a
GameBoy. In addition, there are some very complex interactions between the
Super GameBoy and SNES hardware that are not yet fully understood.
"But wait," you say, "I have a Super GameBoy BIOS! Won't this allow ZSNES to
emulate a Super GameBoy?"
The answer is "no." The BIOS you have is only the software for the Super
GameBoy, not the hardware, and thus is no help in emulating the Super GameBoy
hardware. In the meantime, there are some GameBoy emulators, such as KiGB
[http://kigb.emuunlim.com], BGB [http://bgb.bircd.org], and VisualBoyAdvance
[http://vba.ngemu.com], that faithfully support some of the more useful
features of the Super GameBoy.
............................................................
5. Individual Game Issues
............................................................
- - - - - - - - - - - - - - - -
Chrono Trigger
- - - - - - - - - - - - - - - -
How do you get past the part in Chrono Trigger where you have to press the
L, R, and A buttons?
Assign two or all three of these SNES controller buttons to the same keyboard
key. You can do this under Config Menu -> Input. Please read the note about
keyboard limitations in the Input section [GUI.txt].
- - - - - - - - - - - - - - - -
Star Ocean
- - - - - - - - - - - - - - - -
This game is difficult to emulate correctly, and there are also bugs within
the game itself. The battles in the game are emulated at an incorrect speed,
and the game will often freeze or crash randomly. You may encounter more
issues. You can find detailed information about the bugs in this game at
RPGClassics [http://www.rpgclassics.com/shrines/snes/so1/bugs.shtml].
For best results, we recommend that you use an emulator that runs the game
more accurately, such as Snes9x [http://www.snes9x.com].
............................................................
6. Games Supported by ManyMouse
............................................................
ZSNES supports Ryan C. Gordon's ManyMouse library, which allows you to take
advantage of games that support usage of two SNES add-on devices at once.
[http://icculus.org/manymouse/]
You will need two mice plugged into your computer.
Here is a list of known games that support two SNES add-on devices
simultaneously:
- Arkanoid - Doh It Again
- Bishoujo Senshi Sailor Moon S - Kondo ha Puzzle de Oshiokiyo!
- Fun 'N Games
- Koutetsu no Kishi (and its two sequels)
- Lamborghini - American Challenge
- Lord Monarch
- Motoko-chan no Wonder Kitchen
- Operation Thunderbolt
- Revolution X
- Shien's Revenge
- Super Castles
- T2 - The Arcade Game
- Tin Star
- Tokimeki Memorial
Linux users should remember to type
chmod a+r /dev/input/*
at the shell after both mice are plugged in.
This feature is not implemented in the DOS port.
ManyMouse currently does not support BSD either, so Windows, Linux, or
Mac OS X is required.
............................................................
7. List of Multiplayer Games
............................................................
Please note that this list does not include any sports games (since they are
easy to recognize and most of them are multiplayer). It also does not include
games with only 2-player alternating modes nor games that require the SNES
Mouse/Super Scope. Also, this list does not generally have sequels or other
derivatives listed; if the original is listed here, it's likely its sequels
and derivatives support multiplayer, too.
This list is not necessarily complete.
Aero Fighters
Art of Fighting
Battletoads in Battlemaniacs
Battletoads vs DoubleDragon
Brawl Brothers
Brutal: Paws of Fury
Captain Commando
Clay Fighter
Contra 3
Darius Twin
Double Dragon 5
Dragonball Z Super Butoden
Dragonball Z Hyper Dimension
Faceball
Fatal Fury
Fighter's History
Final Fight 2 & 3
Ghoul Patrol
Goemon
Goof Troop
Gundam Wing: Endless Duel
Joe & Mac
Jurassic Park 2 - The Chaos Continues
Killer Instinct
King of Dragons
King of the Monsters
Kirby's Avalanche
Kirby's Dreamland 3
Kirby Super Star
Legend of the Mystical Ninja
Lemmings
Megaman 7 (Secret Code - password 1415/5585/7823/6251 and press L+R+Start)
Metal Warriors
Mortal Kombat
Ms. Pac-Man
NP Mario Picross Series
Peace Keapers
Pirates of the Dark Water
Pocky & Rocky
Pop'n Twinbee
Power Instinct
Primal Rage
Puzzle Bobble
Raiden
Rampart
Ranma 1/2
Rise of the Robots
Rival Turf
Rock N' Roll Racing
Run Saber
Sailor Moon
Samurai Shodown
Secret of Mana
Seiken Densetsu 3
Shaq Fu
Star Fox 2
Star Trek Starfleet Academy
Street Fighter 2
Street Fighter 2 Turbo
Street Fighter Alpha 2
Street Racer
Stunt Race FX
Sunset Riders
Super Bomberman
Super Mario All-Stars (SMB3 minigame)
Super Mario Kart
Super Mario World 2: Yoshi's Island (At map, press X,X,Y,B,A)
Super Offroad
Super Smash TV
Super Street Fighter 2
Suzuka 8 Hours
Teenage Mutant Ninja Turtles 4 - Turtles in Time
Teenage Mutant Ninja Turtles 5 - Tournament Fighters
Tetris
The Great Circus Mystery
Top Gear 2
Top Gear 3000
Tuff E Nuff
Ultimate Mortal Kombat 3
Uniracers
Wild Guns
World Heroes
Wrecking Crew '98
Zombies Ate My Neighbors
. . . . . . . . . . . . . . . .
This documentation is best viewed in a fixed-width font such as "Courier New".
Copyright (C) ZSNES Team & ZSNES Documentation Team [License.txt]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,122 @@
ZSNES v1.51 Documentation
================================
N a v i g a t i o n
================================
* Index [Index.txt]
* Readme [Readme.txt]
* GUI [GUI.txt]
* Netplay [Netplay.txt]
* Advanced Usage [Advanced.txt]
* Games [Games.txt]
* FAQ [FAQ.txt]
- - - - - - - - - - - - - - - - - -
* Getting Support [Support.txt]
* History [History.txt]
* About [About.txt]
* License [License.txt]
- - - - - - - - - - - - - - - - - -
* NSRT Guide: [http://zsnes-docs.sf.net/nsrt]
* ZSNES Home Page: [ZSNES.com]
================================================================================
~ I n d e x
================================================================================
* Index [Index.txt]
* Readme [Readme.txt]
1. Disclaimer
2. Current Progress
3. Extra Features
4. System Requirements
5. Installation
6. Basic Usage
7. Default Keys
8. Save States
9. Movies
10. IPS Patching
11. Cheat Codes
12. Files
* GUI [GUI.txt]
1. Game Menu
2. Quick Menu
3. Config Menu
4. Cheat Menu
5. Netplay Menu
6. Misc Menu
7. F1 Menu
8. Save Slot Chooser
* Netplay [Netplay.txt]
1. Things To Know
2. Recommendations
3. Simple Instructions
4. Loading a Game
5. Configuring
6. Troubleshooting
7. Links and Utilities
* Advanced Usage [Advanced.txt]
1. Movie Dumping
2. Configuration Files
3. Debugger
4. KitchenSync
5. Command-Line
* Games [Games.txt]
1. ROMs
2. Compatibility
3. Special-Chip Games
4. Special Cartridges
- BS-X (Satellaview)
- Super Gameboy
5. Individual Game Issues
6. Games Supported by ManyMouse
7. Multiplayer List
* FAQ [FAQ.txt]
1. Universal
2. Win Port
3. SDL Port
4. DOS Port
- - - - - - - - - - - - - - - - - -
* Getting Support [Support.txt]
1. APIs and Utilities
2. Contact Information
3. Known Issues
4. Filing a Bug Report
* History [History.txt]
* About [About.txt]
1. ZSNES
2. Documentation
3. Credits
* License [License.txt]
. . . . . . . . . . . . . . . .
This documentation is best viewed in a fixed-width font such as "Courier New".
Copyright (C) ZSNES Team & ZSNES Documentation Team [License.txt]

View File

@@ -0,0 +1,341 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View File

@@ -0,0 +1,230 @@
ZSNES v1.51 Documentation
================================
N a v i g a t i o n
================================
* Index [Index.txt]
* Readme [Readme.txt]
* GUI [GUI.txt]
* Netplay [Netplay.txt]
1. Things To Know
2. Recommendations
3. Simple Instructions
4. Loading a Game
5. Configuring
6. Troubleshooting
7. Links and Utilities
* Advanced Usage [Advanced.txt]
* Games [Games.txt]
* FAQ [FAQ.txt]
- - - - - - - - - - - - - - - - - -
* Getting Support [Support.txt]
* History [History.txt]
* About [About.txt]
* License [License.txt]
- - - - - - - - - - - - - - - - - -
* NSRT Guide: [http://zsnes-docs.sf.net/nsrt]
* ZSNES Home Page: [ZSNES.com]
================================================================================
~ N e t p l a y
================================================================================
Netplay has been disabled for the indefinite future, until the core becomes more
accurate and/or non-random. We recommend using ZSNES v1.36 or v1.42n
[http://nsrt.edgeemu.com/forum/viewtopic.php?t=448] until this is resolved.
The Netplay dialog is only accessible if a game is loaded.
............................................................
1. Things To Know
............................................................
- ZSNES currently limits Netplay to two computers. Up to five players can
still play, however (by having more than one player at either of the two
computers).
- A game must be on each computer in order to have it available for Netplay.
- You cannot use cheat codes, key combinations, or turbo keys in Netplay.
............................................................
2. System Recommendations for Smooth Netplay
............................................................
- Both users must use the *same version* of ZSNES (e.g. Both users should be
using v1.36).
- Both users should be using reasonably fast computers (about 800mhz). If
one user has a slow computer (e.g. 200mhz) while the other has a fast one,
the slow computer's low framerate will bog down the fast computer, causing
poor framerates on the fast computer.
- Both users should be using the same setting for sound (either enabled or
disabled; see the Config-->Sound menu in the GUI or the ZSNES
configuration file).
- Back Buffer must be enabled and the latency value must be 3 or 2 (reduce
it to 2 for fast-paced platform games).
- The games have to run at least 50 FPS on BOTH computers without Netplay.
This can completely depend on factors such as CPU, video card, video mode,
and the game you are running. (See System Requirements [Readme.txt]).
- Both users must use the same protocol setting (either UDP or TCP). If both
players are on the same LAN, you should use UDP (it has lower overhead).
Otherwise, use TCP (no packet loss).
- You will also need an Internet connection with ping times of less than
400ms between both connections. 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.
............................................................
3. Simple Instructions
............................................................
1. Go to Netplay -> Internet.
2. Decide who will be the server and who will be the client.
(Neither has the gameplay advantage since ZSNES treats both the same
after a connection is established).
3. If you are the server, send the IP that is shown on the connection window
to your friend (e.g. through any chat program (ICQ, AIM, IRC, etc.)).
Then click on 'Start Server'.
4. If you are 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.
7. Load the game.
8. Have fun! (If it worked)
9. If it said 'Checksum Mismatch', try uncompressing the file if it is
compressed. If not, then both sides have a different version of that ROM
(e.g. One side has the Japanese version while the other has the 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 -> Misc Keys options from the GUI.
............................................................
4. Loading a Game
............................................................
Once successfully connected, the chat window should open up.
From there, you can load a game as you normally would. But in order to load a
game, both sides must have their load window pointing to the directory where
the game is located and also have identical filenames for the game. Only one
side has to load the game; 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
has a different version of the ROM. This sometimes happens with compressed files
even when both files are the same, so it is recommended that you uncompress the
games and try again if this error occurs.
............................................................
5. Configuring Options
............................................................
The default settings are recommended.
However, if your computer is slower than 266 MHz, then it is recommended that
both sides play with back buffer disabled. Note that disabling this will degrade
controller response.
You can increase the latency value if the average ping time between both
connections is high (you can tell if the gameplay runs too jerky).
Reducing the latency value when back buffer is enabled will improve controller
response time. 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.
............................................................
6. Troubleshooting
............................................................
- If you are the client, and it failed to connect, check to make sure that
the IP you entered is correct and that you are properly connected to the
Internet.
- If you are the server, and the IP provided in the connection window
doesn't seem to be the correct one, you can visit
[http://www.whatismyipaddress.com] to determine the correct one. Then tell
your client what it is so he or she can connect. Alternatively, if you're
using mIRC, just type /dns <nick>.
- 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, both
sides will need to deselect 'Use UDP Instead of TCP'. However, it is
strongly recommended that you use UDP if possible since it is much faster
than TCP.
- 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:
[http://www.microsoft.com/Windows95/downloads/contents/WUAdminTools
/S_WUNetworkingTools/W95Sockets2/Default.asp].
Warning: Do not install this if you do not have Windows 95.
- You may need to disable your firewall (or just disable it for UDP port
7845) in order to get the UDP protocol that ZSNES's Netplay uses to work.
- Internet Connection Sharing users (Win9x systems) may need to download an
ICS Configuration utility to get the connection to work and map UDP port
7845. You can use "ICS Configuration", found here:
[http://www.practicallynetworked.com/sharing/ics/icsconfiguration.htm].
- If you need help forwarding your router port, you may refer to AntoineWG's
Router Port Forwarding Guide. You should be able to find this guide at the
ZSNES board [http://board.zsnes.com].
- Tips for reducing general slowdown can be found under "Why is ZSNES slow?"
in the Speed section of the FAQ page [FAQ.txt].
............................................................
7. Links and Utilities
............................................................
The following websites provide a way to find and connect to other players in
order to use Netplay. Some of the sites provide a program, while one provides an
IRC script.
Please note that these websites are in no way officially affiliated with ZSNES.
We make no warranty as to their usefulness or safety. If you have problems with
these utilities, please seek help from their respective web sites, NOT from the
ZSNES web site.
ZSNES Online [http://www.zsnesonline.com] - This is an excellent program with
several features, including a centralized chat server, that allows you to
setup a Netplay session easily.
zbattle.net [http://www.zbattle.net] - A service that allows ZSNES users to
easily find others who want to take advantage of the emulator's built-in
Netplay support. zbattle.net currently runs on Windows 9x/ME/NT/2k/XP and
Linux.
Z-Net [http://www.z-net.tk] - This is an active IRC channel with a custom script
for ZSNES Netplay.
zConnector [http://420666.net/z/] - A utility with a nice GUI that allows you to
find players and play SNES games using ZSNES Netplay.
. . . . . . . . . . . . . . . .
This documentation is best viewed in a fixed-width font such as "Courier New".
Copyright (C) ZSNES Team & ZSNES Documentation Team [License.txt]

View File

@@ -0,0 +1,976 @@
ZSNES v1.51 Documentation
================================
N a v i g a t i o n
================================
* Index [Index.txt]
* Readme [Readme.txt]
1. Disclaimer
2. Current Progress
3. Extra Features
4. System Requirements
5. Installation
6. Basic Usage
7. Default Keys
8. Save States
9. Movies
10. IPS Patching
11. Cheat Codes
12. Files
* GUI [GUI.txt]
* Netplay [Netplay.txt]
* Advanced Usage [Advanced.txt]
* Games [Games.txt]
* FAQ [FAQ.txt]
- - - - - - - - - - - - - - - - - -
* Getting Support [Support.txt]
* History [History.txt]
* About [About.txt]
* License [License.txt]
- - - - - - - - - - - - - - - - - -
* NSRT Guide: [http://zsnes-docs.sf.net/nsrt]
* ZSNES Home Page: [ZSNES.com]
================================================================================
~ R e a d m e
================================================================================
ZSNES is an open-source Super Nintendo Entertainment System emulator written in
x86 assembly, C, and C++. Bleeding with cutting edge SNES emulation, ZSNES is
easily comparable to other leading SNES emulators, such as Snes9x
[http://www.snes9x.com], SNEeSe [http://sneese.sourceforge.net], Super Sleuth
[http://users.tpg.com.au/advlink/spx/], and bsnes [http://byuu.org].
Special thanks to the Snes9x team for all of their help and also for the
excellent SNES emulator they have developed. We wish them the very best of luck!
............................................................
1. Disclaimer
............................................................
The ZSNES Development Team, including all developers and contributors, is in no
way responsible for any damage caused by the use of this software. Please read
the license [License.txt] for more details.
Due to legal issues, the ZSNES Development Team can provide you neither with
ROMs nor links to them. In addition, ZSNES may not be distributed with ROM
images. However, as with many cases like this, Google [http://www.google.com]
is your friend.
There are still many bugs left in ZSNES, so don't expect it to run all your
favorite games. If ZSNES doesn't work for you, then don't use it. Use Snes9x,
SNEeSe, Super Sleuth, or bsnes instead! In fact, even if you use ZSNES, use
those emulators too!
............................................................
2. Current Progress
............................................................
- - - - - - - - - - - - - - - - -
The following are implemented:
- - - - - - - - - - - - - - - - -
- Complete 65816 instruction set
- SRAM support
- LoROM and HiROM support
- SlowROM and FastROM support
- Full DMA support
- HIRQ/VIRQ/NMI Interrupts
- Support for several SNES file formats (SMC, SFC, SWC, FIG, MGD, MGH, UFO,
BIN, GD3, GD7, DX2, USA, EUR, JAP, AUS, ST, BS, 048, 058, 078,), including
split files (1, 2, 3; A, B, C)
- Interleaved format support (except SuperFX games)
- PAL/NTSC timing support
- - - - - - - - - - - - -
Graphics engines (PPUs)
- - - - - - - - - - - - -
The following are implemented in both graphics engines, all color modes:
- Graphic modes 0,1,2,3,4,5,6,7
- 8x8, 16x16, 32x32, and 64x64 sprite support (flipped in all directions)
- 8x8 and 16x16 tiles
- 32x32,64x32,32x64,64x64 tile modes
- Full HDMA effects for wavy backgrounds, interesting mode 7 effects, etc.
- Mode 7 rotating and scaling effects
- BG priorities
- Sprite priorities
- Add/sub of back area
- Mosaic effects
About the old graphics engine:
- Line engine
- Missing lots of windowing and DMA effects
- More accurate at drawing some things
- 13-bit color rendering. (This is a compromise between color accuracy and
speed. Not all transparencies will work correctly with this engine.)
What's available in the old graphics engine when using an 8-bit color video
mode:
- Offset per tile mode (mode 2/vertical only)
- High-res 512 horizontal resolution (missing in 16x16)
- Single and dual windowing routines
What's available in the old graphics engine when using a 16-bit color video
mode:
- Palette changing in the middle of a screen
- Screen addition (full and half)
- Screen subtraction (full)
- Fixed color addition/subtraction
- Window clipping for fixed color
About the new graphics engine:
- Tile engine
- Nearly complete engine with a few bugs
- Can draw mostly everything on the SNES
- 15-bit coloring
What's available in the new graphics engine when using an 8-bit color video
mode:
- Offset per tile mode (mode 2/vertical only, mode 4)
- High res 512 resolution and 448/478 vertical resolution
- Windowing effects
- High resolution mode 7 (only in 640x480x256 video mode; active when all
other video filters are disabled)
What's available in the new graphics engine when using a 16-bit color video
mode:
- All of old graphics engine 16-bit
- High resolution mode 7
- High resolution 16x16 tiles for mode 5
- Full 15-bit color transparencies for improved picture quality (MMX
compatible CPUs only)
- - - - - - - - - - - - - - - - - - -
The following are present in sound:
- - - - - - - - - - - - - - - - - - -
- 16-bit digital stereo sound
- SPC700 Sound CPU
- DSP Sound Processor
- Echo effects
- FIR filter
- ADSR volume effects
- GAIN volume effects
- Noise effects
- Pitch modulation
- - - - - - - - - - - - - - - - - - - - - - - - - -
The following special input devices are emulated:
- - - - - - - - - - - - - - - - - - - - - - - - - -
- MultiTap (5-player support)
- Super NES Mouse (missing some features, such as speed settings)
- Super NES Super Scope
- Konami Lethal Enforcer Gun
- Automatic configuration via NSRT headers
(See APIs and Utilities section [Readme.txt])
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The following special cartridge processors are emulated, in whole or in part:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| Special Chip | Progress |
----------------|-----------
C4 | 100%
Nintendo DSP-1 | 100%
Nintendo DSP-2 | 100%
Nintendo DSP-3 | 80%
Nintendo DSP-4 | 95%
OBC-1 | 100%
SA-1 | 90%
S-DD1 | 100%
Seta DSP 10 | 99%
Seta DSP 11 | 80%
SPC7110 | 100% except decompression
S-RTC | 95%
SuperFX | 90%
- - - - - - - - - - - - - - - - - - - - - - -
The following add-on devices are emulated:
- - - - - - - - - - - - - - - - - - - - - - -
| Special Cartridge / Add-On | Progress |
------------------------------|-----------
Broadcast Satellaview (BS-X) | 50%
Nintendo Super System | 100% except the menus
Same Game, SD Gundam G-Next | 100%
Sufami Turbo | 95%
- - - - - - - - - - - - - - - - - - -
The following features are missing:
- - - - - - - - - - - - - - - - - - -
- Pseudo 512 SNES horizontal resolution (no games are known to use this)
- Some modes in offset per tile mode
- Some direct color modes (no games are known to use this)
- Seta RISC chip
- True SPC7110 decompression
- Super GameBoy emulation
- - - - - - - - - - - - - - - - - - - - - -
What will not run (or not play properly):
- - - - - - - - - - - - - - - - - - - - - -
Please read our statement on game compatibility [Games.txt].
- Some SuperFX games (regardless of interleave status)
- Interleaved SuperFX games (deinterleave them with NSRT
[http://nsrt.edgeemu.com])
- Some Broadcast Satellaview (BS-X) games
- Games with unknown co-processors
- Games that don't have a valid header
- Games that hit a severe bug in the 65816/PPU/SPC700/DSP routines
- Games that require special timing
............................................................
3. Extra Features
............................................................
- Support for save states, including rewinding
- Extensive movie recording and dumping features
- Many emulation speed options, including automatic frame skipping to
compensate for slower machines
- Full cheat code support (including Game Genie, Pro Action Replay, and
GoldFinger)
- Automatic IPS soft-patching (including up to 11 sequential patches)
- Custom-built GUI with many time-saving features
- Support for loading Zip, gZip, and JMA-compressed ROMs
- Randomized ROM loading
- Support for input from keyboards, joysticks, and gamepads,
as well as a key combination editor
- Many video output options, including graphics-enhancing filters
- Highly configurable sound output options
- Netplay (currently disabled)
- User-editable configuration files
- Debugger
- Accepts command-line arguments
............................................................
4. System Requirements
............................................................
- - - - - - - - - - - - - - -
Supported operating systems
- - - - - - - - - - - - - - -
Official Ports
- Win port: Microsoft Windows 95/98/ME/2000/XP/2003/Vista
- SDL port: Linux, BSD, Mac OS X, or Xbox running Linux
- DOS port: Microsoft DOS (may work on other non-MS DOSes)
Un-Official Ports
- ZsnexBox: Microsoft Xbox (native)
ZSNES Board thread about the Xbox port:
[http://board.zsnes.com/phpBB2/viewtopic.php?t=6933]
- - - - - - - - - -
CPU requirements
- - - - - - - - - -
ZSNES absolutely requires a 100% x86-compatible processor. You probably
already meet this requirement. Most consumer-grade processors sold by Intel
and AMD use the x86 instruction set.
Because much of ZSNES' source code is written in x86 assembly, it will only
run on processors that are 100% x86 compatible. "Ports" to other architectures
are impossible; we recommend Snes9x [http://www.snes9x.com] as the SNES
emulator of choice for portability.
Playing a special chip game will significantly increase CPU usage. For these
games, you may require a processor faster than those listed below.
- - - - - - - - - - - - -
Free space requirements
- - - - - - - - - - - - -
The program files alone require about 1MB. The amount of disk space required
for other files varies greatly. For example, uncompressed ROMs (not included!)
require 256KB-6144KB each. Save states typically require about 270KB each;
however, this can increase up to an additional 200KB for special chip games.
- - - - - -
Win Port
- - - - - -
OS: Windows 95/98/ME
- CPU: Pentium II (or equivalent) 233MHz (500MHz recommended)
- RAM: 32MB (64MB recommended)
OS: Windows 2000/XP/2003/Vista
- CPU: Pentium II (or equivalent) 266MHz (500MHz recommended)
- RAM: 64MB of RAM (128MB recommended)
API: DirectX v8.0a or later must be installed
Video: any video card that supports DirectDraw (acceleration recommended)
Sound: any sound card that supports DirectSound (acceleration recommended)
System Requirements for Microsoft Windows Operating Systems:
[http://support.microsoft.com/kb/304297/]
System Requirements for Windows XP Operating Systems:
[http://support.microsoft.com/kb/314865/]
- - - - - -
SDL Port
- - - - - -
OS: Linux, BSD, or Mac OS X
CPU: 266MHz (500MHz recommended, especially if using X)
RAM: 32MB (64MB recommended; more if SDL is compiled to use X)
API: SDL v1.20 or later
Video: almost any video card will work (hardware OpenGL support and
acceleration highly recommended)
Sound: any sound card supported by SDL (using ALSA or OSS)
- - - - - -
DOS Port
- - - - - -
OS: Microsoft DOS (some non-MS DOSes may work)
CPU: Pentium II (or equivalent) 233MHz
RAM: 32MB (minimum of 17MB free, required for loading 48mbit ROMs)
Video: VGA card
- For 16-bit color and therefore proper support of transparencies, an SVGA
card with VESA 2 and Linear Frame Buffer support is required.
- You may be able to use Scitech Display Doctor to enable VESA 2 support on
some cards that don't already support it.
Sound: Sound Blaster Pro or 100% compatible (SB16 or 100% compatible
recommended)
These system requirements assume you are running the DOS port under pure DOS.
If you are using the DOS port from within Windows, the CPU and RAM
requirements will be the same as for the Win port.
............................................................
5. Installation
............................................................
- - - - - - - - - -
Win / DOS Ports
- - - - - - - - - -
Installation:
1. Download the latest version of ZSNES from [ZSNES.com].
The file you download is an archive containing the ZSNES binary file and
documentation.
2. Extract the contents of the archive into a new folder on your hard drive.
Do not simply overwrite an older version of ZSNES.
3. You can now run ZSNES by executing the ZSNES binary, named zsnesw.exe
(Windows) or zsnes.exe (DOS). ZSNES is not packaged with an installer, so
there will be no entry in the Windows Start Menu.
Note: In Windows, you can create a shortcut to ZSNES to make it easier to open
the program. Right-click on the zsnesw.exe icon to bring up the context menu,
and left-click "Create Shortcut". A shortcut to the executable file will
appear in the folder. You can now move the newly-created shortcut to your
Desktop or Start Menu. Opening the shortcut will run ZSNES from its original
location.
Re-Installation / Reset to default settings:
If you find that you are experiencing a number of unexplained errors in ZSNES,
or if you wish to reset all settings back to their defaults, simply delete the
configuration files that were generated by ZSNES the first time you ran the
program. See the Configuration Files section [Advanced.txt] for details.
Un-Installation:
If you wish to uninstall ZSNES, simply delete the entire folder (and thus, all
files contained within) into which you installed ZSNES (as described in Step 2
of Installation, above).
-or-
If you have since put additional files (such as ROMs) into your ZSNES install
folder, and do not wish to delete or move them, you will have to delete the
individual ZSNES files. Please refer to the Files section [Readme.txt] for
information on individual files and file types related to ZSNES. You will also
need to delete the docs folder.
Note: ZSNES does not use the Windows registry*, nor does it generate "hidden"
configuration files all over your system.
*Description of the Windows registry: [http://support.microsoft.com/kb/256986]
- - - - - - - - - - - - - - - - - -
SDL Port / Compiling from source
- - - - - - - - - - - - - - - - - -
* Download the latest source release of ZSNES from [ZSNES.com].
* After unpacking, navigate to the src directory and run the following
commands:
./configure --enable-release
make
And as root:
make install
* Other, more detailed instructions are provided in the docs/install.txt
file.
Un-Installation:
If you wish to uninstall ZSNES, you can run "make uninstall" as root if you
still have your Makefile.
Otherwise, you will need to navigate to /usr/local/bin and delete zsnes. Then
navigate to /usr/local/man/man1 and delete zsnes.1. Or just delete the man1
directory if you have nothing else in it.
You will need root access to perform the above actions.
You will also need to delete "~/.zsnes" or "~/Library/Application Support/ZSNES"
in Mac OS X. Do note that various files are saved in here by default (such as
game saves); be sure to back them up if you want to keep them.
............................................................
6. Basic Usage
............................................................
1. Install ZSNES (see above).
2. Run ZSNES.
* If you're using Windows, double-click on the executable file.
* If you're using DOS, navigate to the ZSNES installation folder and type
zsnes.exe at the command line.
3. Configure the input settings (Config Menu -> Input) as desired, or use the
default settings.
4. Configure the video settings (Config Menu -> Video) as desired, or use the
default settings.
5. Configure path settings (Config Menu -> Paths) if you don't want all the
automatically generated files going into the same directories as your ROMs.
6. Load a game (Game Menu -> Load) and start playing.
7. When you are ready to stop playing, you have a number of choices to save
your game.
* If your game has its own native save function, just use it.
* If your game does not have a save function, or you are at a point in
the game where you can't save, you can create a save state. Do this by
pressing F2.
8. After you save your game:
* You can load a new game using the same steps as above, or
* Exit the emulator by going to Game Menu -> Quit.
9. When you are ready to return to a previously saved game, just re-load that
game.
* Load an in-game save in the normal way.
* If you saved a state, you can load that state by pressing F4.
This section only covers very basic usage. Please read the entire documentation
for more information.
............................................................
7. Default Keys
............................................................
- - - - - - - - - - - - - - - -
. . . . Game . . Keys . . . .
- - - - - - - - - - - - - - - -
You can change the default keys for the standard SNES controller under
Config->Input [GUI.txt].
|SNES Button| |Player 1 Key| |Player 2 Key|
- - - - - - - - - - - - - - - - - - - - - - - - -
D-Pad Up Arrow Up J
D-Pad Down Arrow Down M
D-Pad Left Arrow Left N
D-Pad Right Arrow Right ,
Start Return/Enter Left Ctrl
Select Right Shift Left Alt
A X Home
B Z End
X S Insert
Y A Delete
L (Left Shoulder) D Page Up
R (Right Shoulder) C Page Down
You can change the default keys for special input devices under
Config->Devices. [GUI.txt].
The special input devices just use input from your mouse for movement and
aiming.
|Super Scope Button | Computer/Mouse Button|
- - - - - - - - - - -|- - - - - - - - - - - -
Fire | Left mouse button
Cursor Mode Button | Right mouse button
Toggle Auto-fire | =
Pause | Backspace
- - - - - - - - - - - - - - - - -
. . . Emulator . . Keys . . . .
- - - - - - - - - - - - - - - - -
[Where to Customize]
|Key| |Function|
= = = = = = = = = =
[Cannot be changed]
Esc When a game is loaded, toggle the GUI
(pauses emulation while GUI visible).
F1 Open the F1 Quick Menu.
- - - - - - - - - -
[Config->Saves]
F2 Save a state to current slot.
F3 Open the save state slot chooser.
F4 Load a save state from the current slot.
- - - - - - - - - -
[Misc->Misc Keys]
F5 <--> F12 Toggle sound channels 1 through 8, respectively
1, 2, 3, 4 Toggle background layers 1, 2, 3, and 4, respectively
5 Toggle sprite/object layer
6 Panic Key: Reset all switches to default (enable Offset Mode,
Windowing, all background layers, sprite/object layer, and sound
channels; disable Add-on Devices; reset Emulation Speed Throttle)
8 Toggle New Graphics Engine
9 Toggle Windowing
0 Toggle Offset Mode
T While using Netplay, press to open the Chat window
- - - - - - - - - -
[Config->Speed]
~ Fast Forward
P Pause Emulation
Note: Besides these default keys, there are many other keys that you can
configure in the GUI.
............................................................
8. Save States
............................................................
** Warning: If you care about your progress in a game, remember to use
in-game saves regularly! Do not rely solely on save states! **
When you "save a state," ZSNES creates a file that contains the values of all
the variables that change while ZSNES is emulating a game. These values are
specific to the exact moment that you saved the state. You can then load a save
state at a later time, thus returning ZSNES to the exact point in the game when
you saved the state originally. This allows you to save your progress at a point
that might not normally be possible with in-game saves, or in games that don't
have in-game saves at all.
Save states are typically not compatible between emulators, and sometimes not
even between different versions of the same emulator, often due to internal core
changes. In fact, it should be noted that save states created prior to v0.600 of
ZSNES will not work in current versions.
To remedy this problem, first load the state in any version of ZSNES from v0.600
to v1.42. Then, immediately after loading, save another state. The new state you
just created should (hopefully) load correctly in ZSNES v1.50 and higher.
Since ZSNES does not support save states created by any other SNES emulator,
you can instead use the emulator-independent SRAM (.srm) data to transfer game
progress from one emulator to another.
Each ZSNES save state is approximately 270KB in size. Special chip games may
require an additional 200KB, however.
- - - - - - - - - - - - -
How to Use Save States
- - - - - - - - - - - - -
You can create and load save states using the GUI [GUI.txt].
It's much easier to just use the default quick keys for these features. Press F2
to save, F4 to load, and F3 to open the save state slot chooser (with graphical
preview). However, if you don't like that method, many other save and load
techniques are available.
Configure general save behavior under Config->Saves. Configure save paths under
Config->Paths.
............................................................
9. Movies
............................................................
Warning: Playing back a previously recorded movie will overwrite any SRAM data
for the current game with the SRAM data contained in the ZMV file. This means
you should enable Do Not Save SRAM [GUI.txt] when playing around with movies!!
Note that these new features will not work with movies recorded in the old ZMV
format (movies made prior to ZSNES v1.50).
For descriptions of the Movie Options dialog, please refer to the GUI page
[GUI.txt].
- - - - - - - -
About Movies
- - - - - - - -
The ZSNES movie format (ZMV) has been completely rewritten and is now better and
more feature-rich than before, with the most capabilities yet implemented in an
emulator. Three of the most notable new features are re-recording, dumping ZMVs
to AVI, and movie subtitles, described below.
A movie file consists of a save state, SRAM data (when applicable), and the
recorded controller data, as well as any chapters (states) that have been
inserted. It also keeps track of a few other things which are negligible with
regard to the overall filesize. Movie files should record at less than
1KB/minute (60KB/hour).
ZSNES should be able to record most actions you can do with a real SNES,
including resetting. During playback, the game will reset just as you did during
recording.
- - - - - - -
Limitations
- - - - - - -
You cannot record games that use the Konami Justifier special input device.
Lethal Enforcers is the only game known to require this device.
You cannot record games while using Netplay.
You should be able to record ZSNES movies for all game types; however, ZMVs are
heavily dependant on save states, so any games that exhibit problems while using
save states will also exhibit problems when recording and playing movies.
For best results, you should play back movies with the same version of ZSNES
that was used to record them. Otherwise, keypresses may become desynchronized
from the emulation playback.
- - - - - - - -
Re-recording
- - - - - - - -
You do not have to do everything perfectly the first time you record a movie.
ZSNES allows you to re-record parts of a movie, inserting the newly recorded
parts seamlessly into the previously recorded parts. You can accomplish this
in a number of ways:
* While playing back a movie, start recording again.
* Use save states while recording movies. Loading the states will allow you to
re-record.
* You can use the rewind key to go back in movies. The rewind key can be
configured under the Config->Saves menu.
- - - - - -
Chapters
- - - - - -
You can insert chapters into your movies, to which you can seek during movie
playback.
You are limited to 65535 (2^16 - 1) chapters created during recording, in
addition to 65535 (2^16 - 1) created during playback.
- - - - - -
Subtitles
- - - - - -
Subtitles allow you to create a short message that will be visible on-screen
during playback of a movie.
1. Create an empty file in your save directory (or wherever your movies are
saved).
2. The subtitle file must be named in the following manner:
- Subtitle file name = ZMV file name = ROM file name.
(Example: smw.sfc (Super Mario World ROM), smw.zmv, smw.sub).
- If you are using movie slot 0, file extension = .sub.
- If you are using movie slot 1 through 9, change the last letter of the
extension to match the movie slot you are using.
(Example: slot 1 = .su1, slot 5 = .su5, slot 9 = .su9).
3. For each subtitle you want in the movie, add a new line to the subtitle
file, with the following information:
- Start Frame:Frame Duration:Message
- For example: "10:100:Beating the Last Boss" without the quotes. In this
example, the message "Beating the Last Boss" will appear in the tenth
frame and stay visible for 100 frames (thus, until the 110th frame).
- ZSNES can display only one subtitle at a time. So make sure that the
start frame for the next subtitle is not during the duration time of
the previous subtitle. You must also list your subtitles sequentially
for all of them to be played (they cannot be out of order).
- ZSNES can display a maximum of 34 characters (of a subtitle message)
across the width of the screen.
4. Now save your new subtitle file. Open ZSNES, play a movie, and you should
see your subtitles appear!
- - - - - - - -
Movie Dumping
- - - - - - - -
See the Movie Dumping section of the Advanced Usage page [Advanced.txt] for more
information.
............................................................
10. IPS Patching
............................................................
IPS ("International Patching System") patches are files that are applied to an
original ROM, which change the programming of the ROM in some way. They are
primarily used to translate ROMs into another language; however, they can be
used for a variety of purposes. Visit [Romhacking.net] for more information
about translations and ROM hacks.
ZSNES has the ability to automatically "soft-patch" a ROM. This means that after
ZSNES loads a ROM into its memory, it will apply the IPS patch to the in-memory
ROM data, *not* the ROM file on your hard disk. This eliminates the need to keep
two copies of a ROM: the original, and the patched.
- - - - - - - - - - - - - - - - - - - -
Applying a single IPS file to a ROM:
- - - - - - - - - - - - - - - - - - - -
1. Make sure Enable Auto-Patch is checked in Config->Options.
2. The IPS file must be either in your Saves directory or in the same
directory as the ROM.
3. The IPS file and the ROM file must have matching filenames. For example,
SD3.sfc and SD3.ips. If your ROM file is compressed, the IPS file must
match the *compressed* filename. For example, if you have the file
SD3.sfc compressed inside the file Seiken Densetsu 3 (J).zip, the IPS
file must be named Seiken Densetsu 3 (J).ips.
4. If you meet the above three conditions, just load your ROM file as
normal, and ZSNES should automatically patch the IPS file to the
in-memory ROM. Remember, your original ROM file will *not* be changed.
5. If you have done everything outlined in the steps above, and your game
does not appear to be working, refer to the related FAQ [FAQ.txt].
- - - - - - - - - - - - - - - - - - - -
Applying multiple IPS files to a ROM:
- - - - - - - - - - - - - - - - - - - -
ZSNES has the ability to apply up to eleven separate IPS files to the same ROM
file. You must give each IPS file a specific extension to tell ZSNES in what
order to apply them. Aside from changing the extension of the IPS files, just
follow the directions above.
| IPS file | Applied |
| extension | When? |
- - - - - - - - - - - - -
ips | First
ip0 | Second
ip1 | Third
ip2 | Fourth
ip3 | Fifth
ip4 | Sixth
ip5 | Seventh
ip6 | Eighth
ip7 | Ninth
ip8 | Tenth
ip9 | Eleventh
ZSNES will *not* apply non-sequentially extensioned IPS files. This means that
if you have three IPS files, named patch.ips, patch.ip0, and patch.ip6, ZSNES
will only apply the first two.
Please remember that the *order* in which you apply the IPS patches may be
important. Applying the patches in the wrong order may result in strange bugs,
or even an unplayable game. Please refer to the documentation that accompanied
your IPS file.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Alternative method of applying IPS files to Compressed ROMs:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The simplest method of applying an IPS file to a compressed ROM is to simply
place the IPS file in the same archive as the ROM. The filename of the IPS file
does not have to match the compressed or uncompressed filename of the ROM.
Do *not* add more than one IPS file of a given extension to an archive. Results
can be unpredictable as to which of the same-extension IPS files will be applied
to the ROM.
If your ROM is compressed, ZSNES will first look for IPS files inside the
archive. If it finds any, it will only load IPS files from inside the archive,
and will not look anywhere else. Otherwise, ZSNES looks in the Saves directory
and the same directory as the ROM.
............................................................
11. Cheat Codes
............................................................
Currently, ZSNES supports Game Genie, Pro Action Replay, and GoldFinger codes.
- - - - - - - - - - - - -
How to use cheat codes:
- - - - - - - - - - - - -
1. Load the ROM to which you want to apply cheats.
2. Press ESC to toggle the GUI. Open the Add Code dialog from the Cheat
Menu. You can enter up to 255 codes for each game.
3. After adding your codes, press ESC until you are back to your game.
** To use a multi-line cheat code, just enter each line as a separate code! **
- - - - - - - - - - - - -
How to use .cht files:
- - - - - - - - - - - - -
Place the .cht file into the same directory as the ROM, or into your Saves
folder. The .cht file must be named according to the normal naming rules (see
the Files section [Readme.txt] for details).
- - - - - - - - - - - - - - -
Troubleshooting Cheat Codes
- - - - - - - - - - - - - - -
* Try using the Fix button in the Browse Cheats dialog [GUI.txt].
* Some cheat codes are meant to be used with different versions of the same
game. If a cheat code doesn't work and there is one for both Game Genie and
Pro Action Replay, try them both.
* Remember that Game Genie codes require the - (dashes).
* Try resetting the game. Any code for a game that mentions a term similar to
"Start with" means that the game must be reset in order to take effect.
* If you are having a hard time with comparative searches, make sure to delete
the tmpchtsr.___ file in your ZSNES directory.
............................................................
12. Files
............................................................
This section attempts to explain the various files that are created, loaded, or
used by ZSNES.
Most of the data files that are specific to individual ROMs are named in the
following manner:
- The filename of the data file is the same as the filename of the ROM from
which it was created.
- The file extension of the data file changes, depending on the following:
* If there are no "slots" for the data file, then it is just the
normal file extension (srm, bmp, png, raw, cht, cmb, cfg, txt).
* If you are using slot 0, then it is just the normal file extension
(zst, zmv, sub, ips, spc).
* If you are using slots 1-9, then the last letter of the file
extension changes to match the slot number (zs1-zs9).
* If you are using slots 10-99, then the last two letters of the file
extension change to match the slot number (z10-z99).
[Where Created?]
|File Name| |File Extension| |File Type Name|
|Description|
= = = = = = = = = = = = = = = = = = = = = = =
[Wherever you put them.]
Whatever you want, or have them smc, sfc, swc, ... ROM (Game)
automatically named by NSRT.
These are common extensions for ROMs, which are computer files of the game
data on real SNES cartridges. Read the full list of supported ROM file
extensions in the Current Progress section [Readme.txt].
- - - - - - - - - - - - - - - - - - - - - - -
[Saves folder]
romname srm Static RAM
This is the *in-game* save file. It is automatically generated by ZSNES
when you use the in-game save function. Some games use Static RAM as
working RAM rather than to save a game. This format *should* be compatible
among all emulators.
romname zst, zs1-zs9, ZSNES Save State
z10-z99, zss
See the Save States section for more information [Readme.txt].
romname zmv, zm1-zm9 ZSNES Movie
See the Movies section for more information [Readme.txt].
romname mzt, mz1-mz9 ZSNES Movie States
Directories which contain the various save state data for that particular
movie. See the Movies section for more information [Readme.txt].
romname sub, su1-su9 ZSNES Subtitle
See the Subtitles sub-section of the Movies section for more information
[Readme.txt].
romname cht Cheat Data
This file contains cheat codes that you entered using the Cheat Code
Editor [GUI.txt]. These files are generally compatible between different
versions of the same emulator, but not necessarily between different
emulators.
romname cmb Key Combination Data
These files contain key combination data, created when you use the Key
Combination Editor [GUI.txt].
romname inp ZSNES Input
These files contain input configuration for the specific game.
- - - - - - - - - - - - - - - - - - - - - - -
[Saves folder, Same folder as ROM]
romname ips, ip0-ip9 International Patching System
See the IPS Patching section for more information [Readme.txt].
- - - - - - - - - - - - - - - - - - - - - - -
[Snapshots folder]
romname_***** bmp, png Images
/img*****
These are snapshots of the game screen, created by ZSNES when you use the
F1 Menu [GUI.txt]. The file name is appended by a number, up to 99999.
- - - - - - - - - - - - - - - - - - - - - - -
[SPCs folder]
romname spc, sp1-sp9, SPC Sound
s10-s99
These files are created by ZSNES when you dump the SPC data of the game
you are playing by using the F1 Menu [GUI.txt]. Note: In Windows, the .spc
extension is sometimes used for PKCS Certificates.
sounddmp raw Sound Buffer Dump
This is a dump of sound buffer data, created when you use the appropriate
F1 Menu option [GUI.txt].
- - - - - - - - - - - - - - - - - - - - - - -
[ZSNES folder (Win/DOS) / "~/.zsnes" (SDL) /
"~/Library/Application Support/ZSNES" (SDL - Mac OS X)]
zsnes/zsnesw exe (Win/DOS) ZSNES executable
This is the main ZSNES executable binary file. "ZSNES Folder" means the
location of this executable.
zsnes/zsnesw cfg ZSNES Configuration File
/zsnesl
User-editable configuration file where you can set almost any option in
ZSNES [Advanced.txt].
zmovie cfg ZSNES Movie Configuration File
User-editable configuration file where you can change advanced movie
dumping features [Advanced.txt].
zinput cfg ZSNES Input Configuration File
User-editable configuration file where you can change settings for
controllers and extra SNES devices. This is the same as the files with the
.inp extension, but is used globally.
zfont txt ZSNES Font Configuration File
This is where the appearance of text in the ZSNES GUI is configured
[Advanced.txt].
rominfo txt ROM Information
This contains information about the ROM you most recently ran. You can
configure this behavior under Config->Options.
data cmb Key Combination Data
This file contains key combination data, created when you use the Key
Combination Editor for an unspecific game.
. . . . . . . . . . . . . . . .
This documentation is best viewed in a fixed-width font such as "Courier New".
Copyright (C) ZSNES Team & ZSNES Documentation Team [License.txt]

View File

@@ -0,0 +1,231 @@
ZSNES v1.51 Documentation
================================
N a v i g a t i o n
================================
* Index [Index.txt]
* Readme [Readme.txt]
* GUI [GUI.txt]
* Netplay [Netplay.txt]
* Advanced Usage [Advanced.txt]
* Games [Games.txt]
* FAQ [FAQ.txt]
- - - - - - - - - - - - - - - - - -
* Getting Support [Support.txt]
1. APIs and Utilities
2. Contact Information
3. Known Issues
4. Filing a Bug Report
* History [History.txt]
* About [About.txt]
* License [License.txt]
- - - - - - - - - - - - - - - - - -
* NSRT Guide: [http://zsnes-docs.sf.net/nsrt]
* ZSNES Home Page: [ZSNES.com]
================================================================================
~ G e t t i n g S u p p o r t
================================================================================
............................................................
1. APIs and Utilities
............................................................
The following utilities are referenced throughout this documentation to help
accomplish various tasks. There is a link to each utility and a short
description of its purpose.
- - - - - - - - - - - - - - - -
. . . DirectX . . .
- - - - - - - - - - - - - - - -
[http://www.microsoft.com/directx]
DirectX is an API ("Application Programming Interface") required for running
ZSNES in Windows.
- - - - - - - - - - - - - - - -
. . . .SDL. . . .
- - - - - - - - - - - - - - - -
[http://www.libsdl.org]
SDL (Simple DirectMedia Layer) is an API required for running ZSNES on
UNIX-like operating systems.
- - - - - - - - - - - - - - - -
. Scitech . Display . Doctor.
- - - - - - - - - - - - - - - -
[http://www.scitechsoft.com/ftp/sdd]
Scitech Display Doctor (SDD) is a utility that provides drivers for many VGA
and SVGA video cards. It can provide support for VESA VBE 2 on some video
cards that may not normally support it.
The link above directs you to Scitech's FTP site. "regcodes.txt" provides
registration codes for the two different versions of SDD offered, v5.3 and
v6.53. The newer version supports hardware acceleration and more cards. If you
are in a DOS-only environment, you should use one of the "-d.zip" versions.
If you are in a Windows+DOS environment, use one of the "-w.exe" versions.
"univbe67.exe" is a stand-alone VESA VBE driver, and does not provide any of
the other SDD utilities.
Note: SciTech Software no longer offers support for this software.
- - - - - - - - - - - - - - - -
. . . NSRT. . . .
- - - - - - - - - - - - - - - -
[http://nsrt.edgeemu.com]
NSRT - Nach's SNES ROM Tools. <20>NSRT, the most advanced SNES ROM tool to date,
provides the ability to check, alter, retrieve info from, verify, fix, and
organize SNES ROMs.<2E>
NSRT has several important uses in relation to ZSNES:
* You can use it to scan your ROMs and show detailed information about them.
This information will tell you whether or not the ROM is a good dump.
* It can deinterleave your SuperFX ROMs so that ZSNES can load them.
* It can add special NSRT headers to your ROMs, which will allow ZSNES to
automatically enable special controllers for games that need them.
* You can use NSRT to compress your ROMs using a special, custom-built
compression format called JMA. <20>This is an archive format designed by Nach
based on LZMA. When used on SNES ROMs it is faster, and creates smaller
files than 7Zip.<2E>
NSRT is primarily a command-line program, although a graphical front-end is
available. The ZSNES Documentation Team has written a supplementary guide to
NSRT [http://zsnes-docs.sourceforge.net/nsrt] that covers some of the
functions listed above.
............................................................
2. Contact Information and Links
............................................................
The following is a list of all official ZSNES websites and resources:
ZSNES Home Page [http://www.zsnes.com]
ZSNES Project Page hosted by BountySource. [http://zsnes.bountysource.com]
ZSNES Documentation on the Web [http://zsnes-docs.sourceforge.net]
ZSNES Documentation Project Page hosted by SourceForge.net.
[http://sourceforge.net/projects/zsnes-docs/]
ZSNES Documentation Wiki [http://zsnes.game-host.org/wiki/]
ZSNES Bug Tracker [http://zsnes.game-host.org/bugzilla/]
ZSNES Message Board [http://board.zsnes.com]
In your quest to solve whatever problem you may be having with ZSNES, or to
learn more about ZSNES, please first read all of this official documentation.
The ZSNES Message Board is the primary place to receive help about ZSNES, after
you have read through this entire documentation. It is also an interesting
Internet community in its own right. Asking for ROMs (or asking for games, a
link to a ROM site, or where to find ROMs/games) is forbidden! Be sure to also
read the RULES!
............................................................
3. Known Issues
............................................................
* 65816 lacks correct timing. Although ZSNES bases the timing on a variable
cycle/instruction, it does not deduct correct values (such as 16-bit
instructions should deduct 1 more cycle than 8-bit instructions). 100%
cycles of ZSNES isn't 100% cycles of a SNES because of that. This means
that a lot of games either won't run or will produce horrible displays.
Sometimes, adjusting the % of execution can fix those problems. This is all
due to inaccurate documentation used when the ZSNES 65816 core was written.
Fortunately, there are currently ongoing efforts to rewrite the ZSNES core.
* Some games sometimes tend to not display things properly because of
graphic features that aren't implemented yet.
* The Sound DSP chip still has its bugs (not many though). Additionally,
no one knows the exact timing of the SPC700 chip.
............................................................
4. Filing a Bug Report
............................................................
- - - - - - - - - - - - - - - -
Before you file a bug report:
- - - - - - - - - - - - - - - -
* Please verify that you have a good ROM. You should use NSRT
[http://nsrt.edgeemu.com] to do this. You can find detailed instructions on
how to use NSRT to verify your ROM(s) in this section
[http://zsnes-docs.sourceforge.net/nsrt#verifying] of our NSRT Guide
[http://zsnes-docs.sourceforge.net/nsrt].
* Make sure you are using the -current- release of ZSNES.
You can download the latest version from the ZSNES home page
[http://www.zsnes.com/index.php?page=files]
or from the ZSNES SourceForge Project Files page
[http://sourceforge.net/project/showfiles.php?group_id=19677].
If you *were* using an old version of ZSNES, and the problem goes away when
you use the new version, please do not report the bug.
* If the bug still exists in the latest official release of ZSNES, please try
again with the latest WIP release of ZSNES. These are unofficial versions,
compiled from SVN source, and are updated somewhat frequently. They are
available at ipher's WIP Page [http://zsnes.ipherswipsite.com].
* If you want to check against the latest development code, go obtain it from
SVN at BountySource [https://svn.bountysource.com/zsnes/trunk/]. You are
warned, however, that frequent changes are made to the code, so ZSNES may
not always be able to compile when using code obtained from there.
* If possible, confirm whether the bug occurs on real hardware (as in, play
the game on a real console).
Bug reports should be submitted in the Bug Reports/Feature Requests section of
the ZSNES Message Board [http://board.zsnes.com]. Before reporting, please use
the board's search function to see if your bug has already been reported.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
When making a bug report, please include the following information:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Version (i.e., v1.51) and port (i.e., Windows, DOS, or SDL) of ZSNES you are
using. Make sure to specify the revision if you obtained ZSNES from SVN.
* Detailed ROM information:
- You *must* post the NSRT information about your ROM when reporting a
bug. Please see the "Verifying a ROM to make a Bug Report" section of
our NSRT Guide for detailed instructions.
[http://zsnes-docs.sourceforge.net/nsrt#verifying_bug_reports]
Alternatively, you can use the "Log Rom Info" option in ZSNES [GUI.txt]
to generate the file "rominfo.txt", which also provides the necessary
information.
* Detailed system specifications:
- At minimum, you must tell us what operating system you are using and
what version of DirectX or SDL you are using.
- If your issue is related to performance (as in, ZSNES is too slow),
also include the specs for your processor, RAM, video card, etc.
* Detailed description of the bug:
- A detailed description of the bug is important so that others can try to
reproduce it.
- Screenshots are highly recommended, and save states made before (or in
some cases, during) the bug's occurrence are also greatly appreciated.
- If you know of a previous version of ZSNES that ran the game properly,
or if you know of another game that acts similarly, please let us know.
- It may also be helpful to test the game in other SNES emulators and tell
us the resulting behavior.
. . . . . . . . . . . . . . . .
This documentation is best viewed in a fixed-width font such as "Courier New".
Copyright (C) ZSNES Team & ZSNES Documentation Team [License.txt]