First release of ZSNES sources

This commit is contained in:
teuf
2001-04-02 22:30:58 +00:00
commit 1fe183be02
138 changed files with 186213 additions and 0 deletions

493
zsnes/win/guinotes.txt Normal file
View File

@@ -0,0 +1,493 @@
Table of Contents
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
I. ) The Game Menu
II. ) The Quick Menu (Arrow Menu)
III.) The Config Menu
IV. ) The Cheat Menu
V. ) The MultiPlay Menu
VI. ) The Misc Menu
----------------------------------------------------------------------------
Note : If any windows exists in the GUI field, pressing ESC always closes
the top-most window
Note : Pressing ESC when no window is active is equivalent to RUN. It will
not function if no game is loaded
Notes on the filename box where you can manually type in the filename:
- Typing text into the box would automatically seek to the closest
matching filename in the box where the file selection cursor is located
- When you press enter with text in the box without any '\' or ':' in the
filename, ZSNES will first look for a directory matching the text and
changes its directory if one is found. Otherwise, it will load the
current file or directory highlighted by the selection cursor.
- You can type in the full filename or directory including path
(eg. d:\games\mario.smc) or the drive name (eg. d:)
----------------------------------------------------------------------------
---------------------
- I.) The Game Menu -
---------------------
Load :
Perform : Load File and Run
Usage :
Loading a File :
You can move through the list using either the mouse or the
keyboard. The keys for the keyboard are :
Up/Down - Move Up/Down through the list
Left/Right - Switch between the File and Directory Window
PageUp/PageDown/Home/End - Move through the list in larger
increments
A .. Z, \, : - Enters filename/directory into the load box
Enter - Load File or Change Directory (depending on which
window you are in)
Show all Extensions : This will force the GUI to show
all of the file extensions instead of the default (.SMC,.SFC,...)
Run :
Perform : Runs the game
Reset :
Perform : Resets the game, but asks user for confirmation first
Save State :
Perform : Saves the state (Equivalent to default F2), but asks
user for confirmation first
Load State :
Perform : Loads the state (Equivalent to default F4), but asks
user for confirmation first
Pick State :
Perform : Allows user to select the state position to use
(Equivalent to default F3)
Quit :
Perform : Quits ZSNES
----------------------------------------------------------------------------
-----------------------------------------------
- II.) The Quick Menu (Displayed as an Arrow) -
-----------------------------------------------
Perform : Allows the user to quickly select the last 10 games loaded off
the GUI. Also allows the user to freeze/clear the list.
Tip : You can create a favorites list by first clearing the list then
loading up all the games (last game loaded will be at the top) and
turning freeze on.
----------------------------------------------------------------------------
-------------------------
- III.) The Config Menu -
-------------------------
Input #1-#5 :
Perform : Allows user to select the input device and control
keys for each player
Usage :
Selecting an Input Device :
Using your mouse, move through the list of input devices
until the device of your choice is highlighted. From
there, click on SET and the input device you selected
should appear after CDV: (CDV = Current Device)
Changing default keys :
Click on the key which you want to change using your
mouse and then press the key or joystick button/pad
which you want to change it to. Pressing ESC disables
the game key.
Joystick 209h usage :
Some dual joystick cards support dual joystick ports
(port 201h and 209h) which allows for 2 6-button joysticks
or 2 different types of joysticks (sidewinder and a
standard joystick). If you have one of these, check
the 'Use joystick port 209h' box. If you do not have
a dual joystick/dual port card and if you check the box,
then the joystick will not work.
Options :
Perform : Allows the user to select some in-game options
Usage :
Auto Frame Rate - Enables Auto Frame Rate
Frame Skip - (Shown when Auto Frame Rate is disabled)
Sets the constant frame skip value used when a game plays
Max Frame Skip - (Shown when Auto Frame Rate is enabled)
Sets the maximum allowable frame skip in auto framerate mode
New Gfx Engine - Enables/Disables the New Graphics engine
in 256 color modes or 320x240x65536 mode
VSync - Enables vertical sync wait to reduce sheering of the
screen. Requires a very fast computer.
MMX Copy - Enables MMX Copying routines for a slight speed
increase (MMX processors only)
Use Pl1/2 as Pl3/4 - Allows the user to use 2 devices for 1 player
such as the keyboard and the joystick. (set keyboard as input
device 1 and joystick as input device 3). This, however, disables
multitap support
Sidewinder Fix - Click this when your sidewinder doesn't work
after disabling the sidewinder profiler and pressed the
mode button twice
FPS at Start - Checking this would make the FPS appear whenever
you start ZSNES
Use 30Hz for Turbo - When activated, Turbo will change at 30hz NTSC
or 25hz PAL. Otherwise, Turbo will change at 60hz NTSC or 50hz PAL
Enable Game Clock - Enabling this will show the system clock on-screen
Toggled Fast Fwd - Checking this will change the way how the fast forward
button functions. Having it checked will cause it to act as a switch
and having it unchecked will cause it to act as a push button.
SRam Check+Save - This will enable automatic Save Ram write detection and
save the sram (.srm) to disk approximately 10 seconds after.
Old Gfx Mode 2 - This will enable the Old Gfx Engine Mode 2 which fixes
many transparency bugs that currently plagues ZSNES in the current
engine, however, it also creates some new ones. This mode can be
slower at times so it's recommended that you only turn it on when
you need it.
Start at Latest Save - Checking this will automatically set the
save state pointer (F3 Menu) to the most recently saved location
whenever you load a rom image.
Auto State Save/Load - Enabling this will allow ZSNES to automatically
re-load the state whenever you return back to the game after a
proper exit.
Don't Save Current Path - This will prevent ZSNES from changing the
current start-up game path in the configuration. You can
access this in Config->Options.
Disable Sound CPU Emu - Selecting this would disable the SPC700 chip
that controls the sound. Using this would speed up emulation,
but the drawback is that you won't have sound and the gane
compatibility rate would be lower.
Add-ons:
Perform : Changes the current special input selected for the game
Usage :
None - Uses the regular snes controllers
SNES Mouse at Port #1 - Emulates the SNES mouse at controller port #1
SNES Mouse at Port #2 - Emulates the SNES mouse at controller port #2
Super Scope - Emulates the SNES Super Scope
Lethal Enforcer Gun - Simulates the mouse movements for Lethal
Enforcers 1
Video :
Perform : Changes the current video mode and sets some options
Usage :
Changing the video mode - Use the mouse to select the video mode
and click 'SET'. When the video mode changes and if the result
doesn't look right, wait for 10 seconds without pressing any key
or button and the display will return to the previous one.
Scanlines - Only available in 256x256x256 and VESA2 640x480 modes.
This mode adds a blank line in between every line to produce
a scanline effect similar, if not exact, to a TV.
Eagle Engine - Only available in VESA2 320x240x256. Setting
this would enable the Eagle Engine designed by Dirk Stevens
which basically locates 3 similar colored pixels together
and places a small dot in between to smooth out some graphics.
Interpolation - Only available in VESA2 640x480x65536. Setting
this enable interpolation which basically blends all the
inbetween colors to produce a blurry effect. However, this
slows down emulation.
Full Screen - Only available in VESA2 320x240 and 640x480 modes.
Setting this would scale the image to fit the screen. This,
however, slows down emulation.
Small Screen - Only available in VESA2 640x480 modes. Setting
this would display the image in a small, centered screen. This
greatly improves performance in 640x480 modes.
50% Scanlines - Only available in 640x480x65536 video mode. This
will enable scanline mode except that each line is 50% darker than
the line above it.
25% Scanlines - Only available in 640x480x65536 video mode. This
will enable scanline mode except that each line is 25% darker than
the line above it.
2xSaI Engine - Setting this would enable Kreed's 2x Scale Advanced
Interpolation engine.
Super Eagle - Setting this would enable Kreed's Super Eagle engine.
Super 2xSaI Engine - Setting this would enable Kreed's Super 2x Scale
Advanced Interpolation engine. This mode would require a lot of
cpu power since it is written in C.
Triple Buffering - This will enable Triple Buffering if it is available
on your VESA drivers/Video Card. If it isn't available, then Zsnes
will use simulated Triple Buffering which is slower, but still does
the job. Note that Triple Buffering will not work with 2xSaI/Super
Eagle.
Hi-resolution Mode 7 - Enabling this would activate high resolution
mode 7 whenever standard mode 7 is used within a game. This mode
is only available in video modes that support it.
Sound :
Perform : Allows user to change the sound configurations of ZSNES
Usage :
Enable Sound - Setting this turns on the sound
Stereo Sound - Enables Stereo Sound (Noticably slower though unless
you have a fast cpu)
Sound Rate - To change the sound rate, just click on the box
containing the value to rotate through all the
possible values.
Volume Level - To change, just slide the bar
Disable Noise Sim. (Disable Noise Simulation) - Setting this will
disable the noise filter which corrects many sound effects in
certain games, but will also ruin some others.
Surround Sound - Enables simulated 2 speaker surround sound
Sound Interpolation - Enables Sound Interpolation which smoothes out
the wave forms of lower frequency sounds
Reverse Stereo - This function swaps the L & R volume levels
in stereo mode
Low Pass Filter - The Low Pass Filter, when enabled, will produce
better bass in certain sound effects. However, the side effect
is that the sound will overall be more muffled.
----------------------------------------------------------------------------
-----------------------
- IV.) The Cheat Menu -
-----------------------
Add Code :
Perform : Enter Cheat Code Window and Set the keyboard cursor
on the cheat code entry box
Usage : Type in the code in either Game Genie, Pro Action Replay, or
Gold Finger format, press enter, then enter the description.
Note : Be sure to include the '-' when entering Game Genie codes
Note : You can also quickly modify the value of the currently selected
cheat code (in the browse window) by typing a 2 digit hex number
in the cheat code enter space
Cheat Code Reflector - What this feature does is that it allows a value
of one cheat code to be mirrored from a value of another cheat code. To
enable this option, type an 'R' at the end of any cheat code as the
destination, then type another cheat code (Without the 'R') as the source.
For example, if you want address 7E1000 to reflect the value at address
7F2000 (Whatever value written to 7E2000 from the game will also be
written to 7E1000), enter cheat code 7E1000FFR, then cheat code
7F2000FF (where FF can be any value).
Browse :
Perform : Enter Cheat Code Window and Set the keyboard cursor at the
browse box
Usage : Move through the list using either the mouse or keyboard and
select the cheat code you want to modify. Then click on the
buttons to the right or type in the key of the first letter
of the action.
Actions :
Toggle - Turns a cheat code on or off
Remove - Deletes the cheat code off the list
Save - Saves the current list into a .cht file which will
be located in the save directory
Load - Loads a previously saved list
Fix - Clicking this fixes some cheat codes that don't work,
but it will not always work
You can also toggle a cheat code on or off by double clicking on
them.
Search :
Perform : Allows you to search for values in memory such as life, score,
etc. and allows you to change their values to your own preferred
choice.
Usage :
Select Size : You can choose what data size to search for. If you
know the numerical values of the data you're going to select,
select the smallest number range that fits the data values.
(eg. If you know the value cannot go higher than 50000, then
select 2 BYTES (0..65535) instead of 3 BYTES (0..16777215)).
Sometimes, you don't know the numerical value (in the case of
life bars) and you'd have to guess the size.
Select Format : DEC (Decimal, 0 .. 9), HEX (Hexadecimal, 0 .. F)
Most of the time, it's recommended that you'd use decimal, although
there are some cases that the values in memory are sometimes stored
as hex.
Search Type :
Exact Value Search - In this mode, you have to enter the exact
numerical value that you want to search for. Such as if you
have 3 lives left, then search for the value 3. The cheat
search engine also looks for value - 1 since even if a game
tells you that you have 3 lives left, it stores the value as
2 in memory.
Comparitive Search - In this mode, you select whether the value
is less than, greater than, equal to, or not equal to the
previous value. Such as if you have a life bar and if the life
bar suddenly goes down, go back to the cheat search engine and
select less than to search for any value that has been decreased.
----------------------------------------------------------------------------
------------------------
- V.) The NetPlay Menu -
------------------------
Modem Mode :
NOTE #1 : DOS Compatible modem is REQUIRED!
If you don't know your modem settings and you're in win95/98, go to
Control Panel -> System -> Device Manager -> Modem and select
your modem. Then click on your resources tab and the settings should
be there.
1.) Dial Menu - Allows you to enter the phone number to dial and then
dials and connects
2.) Wait for Ring - Waits for ring
3.) Config Modem - Allows you to configure your modem :
ComPort, IRQ, Baudrate - Sets your modem settings
Use Fossil Driver - Set this option if you want
ZSNES to use your a fossil driver. If you don't
know what a fossil driver is, just leave this
option unchecked and pretend it doesn't exist.
4.) Manual - Allows you to connect manually through the terminal.
However, if both remote and local users select manual,
the player numbers will not be assigned.
IPX :
IPX mode currently connects at the first remote connection it detects.
This will probabily change in the future if there is a demand.
Chat Mode :
Latency - The lower the number, the better the control response time.
But setting it too low can cause a lot of frame skip problems.
This value should vary depending on the traffic of the connection
you are using. A value of 2 or 3 is recommended for modem. The
value for IPX varies. Latency is basically the amount of time
between a user input and that input being affected in the actual
game. The delay should be higher than the time it takes for data
to move from one end to the other. Latency value of 1 is
equivalent to 1/30th of a second on NTSC games or 1/25th of a
second on PAL games.
Player # boxes - This will allow you to select up to a 5 player multiplayer
game. Anything that is checked will be controlled locally
starting from player 1 as the lowest checked player. Anything
marked with an X will be controlled remotely.
For example, if players 2,3,5 are checked and 1,4 are X'ed :
local player 1 will control player 2
local player 2 will control player 3
local player 3 will control player 5
remote player 1 will control player 1
remote player 2 will control player 4
----------------------------------------------------------------------------
----------------------
- VI.) The Misc Menu -
----------------------
Game Keys :
Perform : Allows user to change the game keys to their own preference
Usage :
Click on the key which you want to change using your
mouse and then press the key or joystick button/pad
which you want to change it to. Pressing ESC disables
the key.
GUI Options :
Perform : Allows the user to customize some of the GUI
Usage :
Mouse Wrap - Allows the mouse pointer to wrap at the borders of the
screen
Mouse Shadow - Disables/Enables the Mouse Shadow
Keep Menu Positions - When enabled, re-entering the GUI from the
game does not automatically enter the Load Menu, but
the previous menu which you were on when you last exit
the GUI
Save Window Positions - When enabled, the GUI doesn't reset the locations
of the windows when you exit/enter the GUI
Click Enters/Exits GUI - When enabled, it allows the right mouse button
to automatically run and exit the game to the GUI. This
however, slows down emulation by a bit since it has to
check the mouse button status once in a while. In the
windows port, the right click button won't return back
to the game.
Use JoyPad1 to Control - When enabled, it allows Player 1's device
to be used to move through the GUI. This is mainly used
if you want to use your joystick in the GUI. The equivalent
SNES keys to the Keyboard keys are :
SNES ControlPad = Move
SNES A = Enter
SNES B = ESC
SNES L = PageUp
SNES R = PageDown
Enable Water Effect - Enables the water effect in the GUI background
Enable Snow Effect - Enables the snow effect in the GUI background
Key Comb. (Key Combination Editor) :
Perform : Allows you to specify certain keyboard combination routines
with a single keystroke/joystick button press.
Usage :
Description - Allows you type in the description of the combination key
Key - Clicking on this box will allow you to select which key/button to
use
Combination Keys - this window will display the sequence of events
selected by the user
P# - Selects which player # to use those keys as
> = Last </> - Enabling this would mean that the event symbol > will
mean the last left or right direction the user presses in the game and
the symbol < is the opposite of that direction. When disabled, > means
right and < means left.
Game Specfic (Game Specific) - Enabling this will tell Zsnes to use
separate Key Combination files for each individual game.
Clear - Clears the current key combination field
Add - Adds the key combination fields below as a new entry
Replace - Copies the contents of the key combination fields below
to the current highlighted key combination above
Delete - Deletes the highlighted key combination above
Events:
Press+Rel - The key will be pressed and held. It will be released
once another key is pressed after any amount of frame or second
delay.
Press Only - The key will be pressed and held
Rel Only - The key will be released if it is Pressed
by a pressed only event
Frame Delay - Delays for the specified number of frames
Second Delay - Delays for the specified number of seconds
Del - Deletes the event at the end of the Combination Keys list if
one exists
Note : A 1 frame delay exists after the combination key list has finished
processing
Example Key Combination: (Down / Down+Right / Right / L) :
Method 1:
Press+Rel Down / 2 Frame Delay / Press+Rel Down / Press+Rel Right /
2 Frame Delay / Press+Rel Right / 2 Frame Delay / Press+Rel L
Method 2:
Press Only Down / 2 Frame Delay / Press Only Right / 2 Frame Delay /
Rel Only Down / 2 Frame Delay / Rel Only Right / Press Only L
Movie Options :
Perform : Allows you to record SNES Movies so that you can play them
back at a later date either to amuse your friends, torture
your friends, or whatever. Just don't play anything in
front of your enemies since they might break your computer.
Usage :
Movies are saved as .ZMV, .ZM1, .ZM2, etc. files. They should be
located in the same directory as your save files. A movie file
consists of a save state file, saveram data, and the recorded
controller data. The initial filesize of a .ZMV file is the
combination of a .zst and a .srm file (around 300kbytes) and
it averages around 7kbytes/minute (value varies) or 420kbytes/hour.
You can record :
- Standard 1/2 player games
- 3-4 player Multitap games
- SNES Mouse games
- Network/Modem games
You cannot record :
- Super Scope Games
GUI Usage :
Record - Begins recording the movie file
Play - Begins playing the movie file
Stop - Stops the movie process
The numbers at the right side selects which movie file to play/record.
NOTE : Movies recorded without sound cannot be played when sound
is enabled and vice versa
NOTE : Loading another game, loading a state, or resetting the
game will halt the play/record process
NOTE : When you play a movie file, the SRAM data becomes invalid and
ZSNES won't save it until you load a game. This way, you don't have
to worry about your save ram when you load up a movie file.
Save Cfg :
Perform : Saves the configuration files
About :
Perform : Just displays the version # and the authors of ZSNES


492
zsnes/win/readme.txt Normal file
View File

@@ -0,0 +1,492 @@
ZSNES
by zsKnight, _Demo_, and Pharos
http://www.zsnes.com
ZSNES is a Super Nintendo Entertainment System emulator written mostly
in assembler.
We would really like to thank the snes9x team for all their help and
also for an excellent snes emulator. We also wish them the very best
of luck!
---------------------------------------------------------------------------
Table of Contents
---------------------------------------------------------------------------
1.) What's New
2.) Disclaimer
3.) System Requirements
4.) Things you should know about ZSNES (Updated v1.00)
5.) Current Progress
6.) Future Progress
7.) ZSNES Default Keys
8.) Extra Pop-Up Menu (F1 Menu)
9.) Configuration File (ZSNES.CFG)
10.) Cheat Codes
11.) Extra Features (SNES Mouse/Super Scope/SuperFX/DSP1/MultiTap/IPS)
12.) Bugs Section
13.) Contact Information
14.) The Debugger
15.) Error Codes
16.) Credits
---------------------------------------------------------------------------
1.) What's New
---------------------------------------------------------------------------
See WHATSNEW.TXT
---------------------------------------------------------------------------
2.) Disclaimer
---------------------------------------------------------------------------
zsKnight, _Demo_, and Pharos are not responsible for any damages caused
by the use of this software. This software also must not be distributed
with ROMs.
---------------------------------------------------------------------------
3.) System Requirements
---------------------------------------------------------------------------
- Fast Pentium processor strongly recommended
- 32MB of RAM
- Windows 95/98/ME/2000 or compatible
- DirectX 7.0 or higher
Recommended System for SFX support :
- Fast Pentium processor (P200 - P2-300 (depending on the game))
- 32MB of RAM
- Windows 95/98/ME/2000 or compatible
- DirectX 7.0 or higher
Recommended System for SA-1 support : (Mario RPG)
- Fast Pentium processor (P200 or higher)
- 32MB of RAM
- Windows 95/98/ME/2000 or compatible
- DirectX 7.0 or higher
*An FPU is required for DSP1 emulation
*You can download directx at www.microsoft.com/directx/
---------------------------------------------------------------------------
4.) Things you should know about ZSNES
---------------------------------------------------------------------------
- You can use both keyboard and joystick for player 1 or 2 with some
configuration adjustments. Refer to zsnes.faq for details
- Several special chip emulation (SA-1) have unknown bugs to
them
- SuperFX can be slow because it is an extra 10/20mhz cpu that has to be
emulated as well as the snes emulation
- Screen Snapshot and FPS counter are available through a menu by pressing
F1 during emulation
- Screen Snapshot currently saves as Image.PCX (256 colors) and Image.BMP
(65536 colors). This may change in the future.
- FPS counter currently only works when auto frame rate is on.
- To use the cheat function, be sure to have the ROM which you want to
patch loaded already.
- If the cheat codes do not work, chances are that you are using a different
version of the rom that was originally used to create them or the codes
are converted incorrectly from other code formats.
- There are still many bugs left in ZSNES so don't expect it to run all
your favorite games.
- SNES Mouse support is still missing some features such as speed settings
- Pressing the Fast Forward key is equivalent to running ZSNES using -f 9
- If ZSNES doesn't work for you, then don't use it. Use SNES9X, NLKE,
SNEESE, or SNEMUL instead! In fact, even if you use ZSNES,
use those emulators too!
---------------------------------------------------------------------------
5.) 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 most snes file formats
- Multi file format support (.1,.2,.3,A.,B.,C.)
- Interleaved format support
- PAL/NTSC timing support
The following are implemented in the new graphics engine 8 bit :
- Combination of line by line and tile based graphics engine
- 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
- Offset per tile mode (mode 2/vertical only)
- High res 512 resolution and 448/478 vertical resolution
- Windowing effects
- High res Mode 7 (only in 640x480x256 video mode/disable Eagle/Scanlines)
The following are implemented in the old graphics engine :
- Line by line based graphics engine
- Graphic Modes 0,1,2,3,4,5,6,7
- 8x8, 16x16, 32x32 and 64x64 sprite support (flipped in all directions)
- Mosaic effects
- 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
- Single and Dual Windowing Routines
- BG priorities
- Sprite Priorities
- Add/sub of back area
- 16-bit graphics support
- offset per tile mode (mode 2/vertical only)
- High res 512 horizontal resolution (missing in 16x16)
Following are present in 16-bit graphics 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
The following are implemented in the new graphics engine 16 bit :
- All of old graphics engine 16bit
- Combination of line by line and tile based graphics engine
- High resolution mode 7
- High resolution 16x16 tiles for mode 5
- full 15bit color transparencies (instead of the previous 13bit speed
hack) for improved picture quality (MMX compatible CPUs only)
The following are present in sound :
- 16bit 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 are extra features emulated :
- Super NES Mouse Support
- Super NES Super Scope Support
- SuperFX support (Still has a bug or 2 left)
- MultiTap (Multiplayer 5) support (4 players on a single computer, 5 players
remote (ipx/modem))
- DSP1 emulation (not complete)
- SA-1 emulation (not complete)
The following are the features present in ZSNES :
- Game State Save (F2=Save, F3=Select, F4=Load).
Warning : A state file takes 260 kbytes of HD space!
- Auto frame rate to give you constant Super Nintendo speed up to 9
frame skips
- configuration file support (ZSNES.CFG)
- 2 player support w/ Joystick and Gamepad support
The following features are missing :
- Pseudo 512 snes horizontal resolution
(Haven't seen any game that uses them yet)
- Some modes in Offset Per Tile Mode
- Some Direct Color Modes (Haven't seen any game that uses them yet)
What will not run (or not play properly) :
- Some Super FX games such as Dirt Trax FX or Winter Gold (causes instability)
- DSP1 games such as Pilotwings
- Games with other special chips such Street Fighter Alpha 2, Star
Ocean (S-DD1), and Far East of Eden 2 (SPC7110)
- Games which doesn't have a valid header
- Games that hit a severe bug in the 65816/PPU/SPC700/DSP routines
- Games that require special timing
---------------------------------------------------------------------------
6.) Future Progress
---------------------------------------------------------------------------
This section is removed
---------------------------------------------------------------------------
7.) ZSNES Default Keys
---------------------------------------------------------------------------
Here are the default keys while running the emulator. They can be changed
through the GUI except for F1 and ESC :
Disable Backgrounds 1,2,3,4 = 1,2,3,4
Disable Sprites = 5
Panic Key (enable all) = 6
Enable SNES Mouse/SuperScope = 7
Enable New Graphics Engine = 8
Disable Windowing = 9
Disable OffsetMode = 0
Fast Forward Key = ~
PopUp Extra Menu = F1
Save State = F2
Switch State = F3
Load State = F4
Disable Sound Channel = F5 - F12
Quit = ESC
Here are the default keys for the game play (unless modified through the GUI):
Player 1 :
Up,Down,Left,Right : Cursor Keys
A,B,X,Y : X,Z,S,A
L,R : D,C
Start, Select : Enter, RShift
---------------------------------------------------------------------------
8.) Extra Pop-Up Menu (F1 Menu)
---------------------------------------------------------------------------
Save Snapshot - Saves a snapshot as either .PCX (8-bit color) or .BMP
(16-bit color)
Show/Hide FPS - Shows or hides the frame per second display which appears
on the bottom-left corner of the screen. This can only
be enabled in auto-frame rate mode.
Save SPC Data - Selecting this will search for the beginning of the next
song and save the data into a .spc file which saves it
similarly as a .srm file. To capture a song, it is best
recommended to initiate this feature approx 2 seconds
before the next song starts. This does have potential to
fail though so don't expect it to work all the time.
Also, this feature doesn't work in the new gfx engine.
Sound Buffer Dump - This dumps the sound buffer in zsnes and also filters
out any unoccupied space. The sound buffer contains
decompressed samples which are written to when zsnes
plays/decodes a sample from sound memory. Because of the
way zsnes buffers the sound data, this can produce
inaccurate results.
Snapshot/Increment Frame - Same as snapshot, but it returns to the F1 menu
after a couple frames. Useful for making animations.
---------------------------------------------------------------------------
9.) Configuration File (ZSNESW.CFG)
---------------------------------------------------------------------------
Almost everything in zsnes.cfg should now be editable through the gui
---------------------------------------------------------------------------
10.) Cheat Codes
---------------------------------------------------------------------------
Currently, ZSNES supports Game Genie, Pro Action Replay and GoldFinger codes
Here are the steps to get the codes working :
1.) Load the ROM which you want to patch
2.) Exit to the GUI, enter the code of your choice in the cheat menu
3.) After that, you may have to RESET the game to get the cheat code to
work. Sometimes, it is not necessary. You also may have to click
on the FIX button.
NOTE : Some cheat codes are meant to be for different versions of the game.
If a cheat code doesn't work and there is one for both Game Genie
and Pro Action Replay, try them both.
---------------------------------------------------------------------------
11.) Extra Features (SNES Mouse/Super Scope/SuperFX/DSP1/MultiTap)
---------------------------------------------------------------------------
To Enable SNES Mouse, Press 7 once for 1st player and twice for 2nd player
To Enable SNES Super Scope, Press 7 three times
To disable either one, either press 6 or press 7 until you see a disable
message onscreen.
Here are the controls for the Super Scope :
Fire = Left Mouse button
Cursor Mode Button = Right Mouse button
Pause = Backspace Key on keyboard
Enable/Disable Autofire = =/+ key on keyboard, should be located to the
left of the backspace key
DSP1 is enabled automatically. Currently, it runs mario kart and some other
games, but it does not run pilotwings due to a lack of dsp1 functions
that are implemented.
Zsnes auto-detects the SFX emulation from the header and enables it when
found. Also, take note that the SFX is an additional 10Mhz(Ver1) or
20Mhz(Ver2) chip which also has to be emulated with the snes and will
most likely produce a very noticeable slow down in emulation if you
don't have a fast computer.
Sometimes, the Multitap isn't compatible with some games. If that happens,
disable Multitap by setting Player3,4, and 5's input device to 'None' in
the GUI
IPS patcher :
Rename your .IPS file to the rom filename with the .IPS extension
(eg. If your rom is SD3.SMC and your rom is SD3V05.IPS, rename SD3V05.IPS
to SD3.IPS)
and ZSNES will patch the rom realtime without modifying the rom file's
contents.
---------------------------------------------------------------------------
12.) Bugs Section
---------------------------------------------------------------------------
- 65816 lacks correct timing. Although ZSNES bases the timing on a
variable cycle/instruction, it does not deduct correct values such
as 16bit instructions should deduct 1 more cycle than 8bit 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 due to inaccurate documentation used when the 65816 was written.
There is no plans on re-writing the 65816 timing yet.
- 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)
---------------------------------------------------------------------------
13.) Contact Information
---------------------------------------------------------------------------
The ZSNES homepage is located at : http://www.zsnes.com
If you have any questions about zsnes and you have read ZSNES.FAQ,
README.TXT, and GUINOTES.TXT to make sure the answer isn't there.
And your question is NOT a ROM Request or asking about a newer
version, you can post your question at the zsnes www board located at :
http://www.zsnes.com/board/
Remember : This board should be mainly used for zsnes related questions.
ROM requests (or asking for games, a link to a rom site, or where to
find them) are forbidden!!! Be sure to also read the RULES!
The rules are located at the top of the page.
If you wish to contact the authors, you may contact them through :
(Remember - No ROM requests please! and don't send any files without
permission!)
zsknight@zsnes.com
_demo_@zsnes.com
pharos@zsnes.com
Try not to send a copy of your e-mail to all of us since that will just
waste our time. Also, don't expect to get a reply since we are often
busy.
---------------------------------------------------------------------------
14.) The Debugger
---------------------------------------------------------------------------
Note : The debugger is disabled when you don't enter zsnes with a -d
Here are the keys:
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 : Exit debugger and return to Game
F2 : Save State
F4 : Load State
ESC : Exit entire program
---------------------------------------------------------------------------
15.) Error Codes
---------------------------------------------------------------------------
-blank-
---------------------------------------------------------------------------
16.) Credits
---------------------------------------------------------------------------
ZSNES uses NASM, DJGPP, WDOSX, and CWSDPMI (source codes & binary updates
located at http://www.dbit.com/pub/cwsdpmi ) as the compilers and dos
extenders. Thanks to those who produced these fine programs!
Special thanks to wnelson! Without him, ZSNES would have never existed!
Also to Y0SHi for his excellent snes docs, his help, and his excellent
support!
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 KGen 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 for hosting our web page! (www.csoft.net)
Marius Fodor for the code for VSync, Sidewinder, Gamepad Pro, and some
optimisation 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 optimising 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 the great help which includes
their superfx info and code, DSP1 info, info on interleave formats
(hirom & superfx), offset per tile mode, FIR filter, some spc700
and hdma bugs!
WolfWings ShadowFlight for help on several issues of nasm!
Wildfire for some help!
A CoolMan for the algorithm for EAGLE!
X-Sykodad and darklore for maintaining the ZSNES www board!
Neill Corlett for some info on the .IPS format and also helping out
a lot on improving the sound engine!
Kreed (derek-liauw@usa.net) for the 2xSaI and Super Eagle Source Codes!
2xSaI homepage: http://members.xoom.com/derek_liauw/index.html
Markus Oberhumer & Laszlo Molnar for the UPX compression utility
UPX homepage: http://cdata.tvnet.hu/~ml/upx.html
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
Yamaha's homepage: http://www.VIS.colostate.edu/~scriven/)
All those people who helped us by either sending us docs,
helping us, supporting us, and reporting bugs!
Special Thanks to : Ashley, Barubary, CyberWarriorX, DCX, DooMStalK,
Fanwen, GreenImp, Hucard, Kaiden, Stalphos Knight, Star Creator,
TeleKawaru, the people in #zsnes efnet, and the regulars of the
ZSNES message board!
And also to all those whom we forgot!
Special Thanks to all our beta testers for being a great help!
Info on 256x256x256 scanlines mode is from the MAME source. Thanks to
those behind MAME!
Also, good luck to all those who are writing emulators, especially those
who are writing snes emulators, including Snes9x, Nlke, SNEeSe, and
SNEMul! And also good luck to the makers of TheSE!


374
zsnes/win/zsnesfaq.txt Normal file
View File

@@ -0,0 +1,374 @@
_[ ZSNES Windows Frequently Asked Questions ]______________________________
[GENERAL ISSUES:]
Q: Why does ZSNESw crash and give me an error with dinput.dll?
Q: Why do I get a black (or corrupted) box when I start up ZSNESw?
Q: Why in the GUI under Config/Options are some of the choices gone?
Q: How do I use CD-ROMs with ZSNESw?
Q: Why is netplay choppy/slow?
[SOUND COMPATIBILITY ISSUES:]
Q: Will ZSNES Windows be able to use my sound card now? It wouldn't work
for me in the DOS version.
Q: How come I don't get any sound?
Q: ZSNES Windows tends to have some static when playing games is there any
way to remove it?
Q: How come stereo is reversed?
[VIDEO ISSUES:]
Q: Why do I get a dark line every quarter inch roughly on my screen when I
Q: In the Video section where I set my resolution what do those letters
stand for to the right of the resolution?
Q: Will ZSNES Windows support a 3DFX graphics mode?
Q: Are there transparencies in ZSNES?
Q: How come the graphics are really screwed up?
[GAME COMPATIBILITY ISSUES:]
Q: Why doesn't *name of game* work on ZSNES?
Q: Can you get *name of game* working by the next release?
Q: Why is *name of game* not working in v.*version #* of ZSNES? It was
working before.
Q: When do you think you will emulate the *DSP/SFX chip? My favorite game
*name of game with chip* won't run without it.
Q: This game tells me that it is not compatible with the MultiTap (or an
external device attached). What should I do?
Q: How do I improve the compatibility of ZSNES?
Q: Why am I experiencing problems with Chrono Trigger?
Q: Why doesn't Pilotwings/Star Ocean/Street Fighter Alpha 2 work?
Q: Can you guys get Pilotwings/Star Ocean/Street Fighter Alpha 2 to work?
[SPEED ISSUES:]
Q: Why is ZSNES slow?
Q: Can you please make ZSNES faster?
Q: Can you implement dynamic recompilation into ZSNES?
Q: Why does the game slow down even though I'm using auto frame rate and
the FPS is pretty high?
[[KEYBOARD/JOYSTICK ISSUES:]
Q: Will ZSNES Windows now be able to use my Windows Joystick/Gamepad?
Q: Why can't I press more than 2 keys at a time?
Q: How come my joystick keeps holding in one direction?
Q: How do I use both my Keyboard and Joystick for the 1st player?
[CHEAT ISSUES:]
Q: How come the game genie codes don't work?
Q: How do I use .CHT files?
[FREEZING/CRASHING ISSUES:]
Q: When I load a ROM, how come ZSNES crashes?
[MISC:]
Q: How does the auto .IPS patching feature work?
Q: Where do I get the games?
_[ GENERAL ISSUES ]________________________________________________________
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
which is located at www.microsoft.com/directx
If you already have the newest version of directx installed for
a while, try re-installing it (and make sure that you're installing
DirectX v7.0a or higher).
Q: Why do I get a black (or corrupted) box when I start up ZSNESw?
A: First of all, make sure that you have the latest version of DirectX
installed (see above question). If that didn't help, then check
your desktop color settings and make sure that the number of colors
is set to either 16bit or 32bit (since ZSNESw will only work with those
modes).
Q: Why in the GUI under Config/Options are some of the choices gone?
A: Basically they have become obsolete due to the abilities of Windows.
One such removed option is "vsync" because Direct Draw renders the
screen in synch without a speed loss as with the DOS version so it was
not needed anymore.
Q: How do I use CD-ROMs with ZSNESw?
A: You need to define a save directory that points to your hard drive.
In order to do this, use a text editing program such as wordpad and
open up zsnesw.cfg, which should be located in the directory where you
installed ZSNESw in (this will only appear after you run ZSNESw at
least once). Then look for the line SaveDirectory= and enter
the directory where you want all the writeable files to be stored.
Q: Why is netplay choppy/slow?
A: Please read netplay.txt that is included in the original ZSNESw archive.
_[ SOUND COMPATIBILITY ISSUES ]____________________________________________
Q: Will ZSNES Windows be able to use my sound card now? It wouldn't work
for me in the DOS version.
A: It is very likely that your sound card will in fact work given that your
card is supported by Windows and Direct Sound from Microsoft's Direct X.
Q: How come I don't get any sound?
A: There could be several situations :
A: Either you accidently disabled sound (You can enable it through the GUI)
or you don't have a sound card or the sound drivers aren't properly
installed in your system.
Q: ZSNES Windows tends to have some static when playing games is there any
way to remove it?
A: First of all, make sure that you have the latest sound drivers installed.
Also, the problem could be in relation to many different variables. The
emulator uses Direct Sound for audio so it is likely not an issue with
Windows but most likely a setting in the emulator. The problem could be
in relation to using a lower khz value than the SNES uses which is
32000khz. Another more likely reason is that you have one of the
special sound filters engaged. For higher end cards (better than SB16)
it appears that the Low Pass Filter can cause static.
Q: How come stereo is reversed?
A: Turn on 'Reverse Stereo' in the Sound configuration in the GUI.
_[ VIDEO ISSUES ]__________________________________________________________
Q: Why do I get a dark line every quarter inch roughly on my screen when I
use 25/50% scanlines in a full screen stretched video mode?
A: This is a video card based issue in which your card does not scale the
video image properly and that is the result.
Q: In the Video section where I set my resolution what do those letters
stand for to the right of the resolution?
A: There are four different sets of letters which are R, S, DR, and DS. R
stands for ratio as these modes will retain the screen size ratio to the
output of a real SNES. S stands for stretched, any of these modes will
stretch the image to the exact size of the resolution you have chosen.
The D in DR/DS meants high resolution which allows for the use of
interpolation, 25/50% scanlines, 2xSai, and Super Eagle modes.
Q: Will ZSNES Windows support a 3DFX graphics mode?
A: Probably not as the author has little interest in adding support for it.
Q: Are there transparencies in ZSNES?
A: Yes. Transparencies are in ZSNES.
Q: How come the graphics are really screwed up?
A: It's probably a problem with the emulation. You can try running the
game 80% or 120% execution which can be set in the ZSNESW.CFG through
the DOS prompt or another editor. It might fix your problem, but then
again maybe it won't be the solution.
_[ COMPATIBILITY ISSUES ]__________________________________________________
Q: Why doesn't *name of game* work on ZSNES?
A: Getting the compatibility higher is a very hard task to do. We're
always trying to get more games working.
Q: Can you get *name of game* working by the next release?
A: We're always trying, but we can never guarantee a specific game will be
working because of the difficulties involved in bug fixing.
Q: Why is *name of game* not working in v.*version #* of ZSNES? It was
working before.
A: Whenever we change something in the emulation, whether it's optimisation
or bug fixes, it has a good potential to have caused a problem elsewhere.
Usually, these problems aren't discovered until after a release.
Q: When do you think you will emulate the *DSP/SFX chip? My favorite game
*name of game with chip* won't run without it.
A: We will consider emulating extra chips only if decent information on
those chips are found. However, even if we find info on them, we
cannot guarantee to be able to implement them.
Q: This game tells me that it is not compatible with the MultiTap. What
should I do?
A: Set both Player 3, Player 4, and Player 5's input device to 'None'.
Q: How do I improve the compatibility of ZSNES?
A: Turning on sound helps a lot here. Also, try in the ZSNES configuration
file to keep the % of execution at 100%. If a game still doesn't work,
try tweaking the percentage of execution to both 120% or 80%. If that
still doesn't work, then it's either a corrupt rom, a game that requires
a special chip, or a bug in ZSNES.
Q: Why am I experiencing problems with Chrono Trigger?
A: If you cannot press the L+R+A seqence, then you would need to assign
both the L and R key as the same key such as set L and R to PageUp and
set A to Home, then pressing PageUp+Home will be the same as pressing
L,R, and A together. This is a hardware limitation of the keyboard,
not a bug in ZSNES.
Q: Why doesn't Pilotwings/Star Ocean/Street Fighter Alpha 2 work?
A: Pilotwings uses the DSP1 chip which as of yet is not completely figured
out. So far the only DSP1 game which will run is Super Mario Kart.
Star Ocean and Street Fighter Alpha 2 both use the SDD-1 chip, which
uses an unknown compression routine that has to be figured out before
it can be emulated.
Q: Can you guys get Pilotwings/Star Ocean/Street Fighter Alpha 2 to work?
A: We have already worked on them to an extent, however, we cannot go much
further until we gain knowledge on how to get them to work.
Unfortunately, we are not magicians.
_[ SPEED ISSUES ]__________________________________________________________
Q: Why is ZSNES slow?
A: For the Windows version, you might want to change your video mode in
ZSNESWin to different settings until you find the mode that's optimal
in performance.
Emulating a SNES is slow because it is a complex system. Also, ZSNES
by default uses a tile/line engine which is newly completed in v1.0.
This engine is faster than the old so if the speed isn't up to par you
may try a solution below, or your computer just may be too slow.
Q: Can you please make ZSNES faster?
A: We're always trying and there are still a lot of room left for
optimisation, but a lack of time keeps us from implementing them.
Q: Can you implement dynamic recompilation into ZSNES?
A: There is no plans to implement it since it doesn't seem necessary. The
SuperNES only uses a 3mhz cpu compared to say the 93mhz cpu inside the
Nintendo 64. Implementing a dynamic recompilation engine will be hard
work and won't improve performance by much.
Q: Why does the game slow down even though I'm using auto frame rate and
the FPS is pretty high?
A: A game slows down like that when it executes its code beyond the speed
of cpu emulation that ZSNES currently handles. To reduce slowdowns,
increase the percentage of execution by using editing the ZSNESW.CFG.
_[ KEYBOARD/JOYSTICK ISSUES ]______________________________________________
Q: Will ZSNES Windows now be able to use my Windows Joystick/Gamepad?
A: Yes, the controls are now handed via Direct Input so all Windows based
control devices should work within ZSNES Windows.
Q: Why can't I press more than 2 keys at a time?
A: It's mainly the limitation of the PC Keyboard. If you want to press
more than 2 keys at a time, either use a joystick or change the keyboard
keys around until you find a combination where you can press more than
2 keys at a time. Another technique that works is to set multiple
buttons to a single key. That way, pressing that key presses multiple
buttons at the same time.
Q: How come my joystick keeps holding in one direction?
A: That happens when you hold a direction when ZSNES Windows starts up.
If that happens, then exit ZSNES and reload to recalibrate. Clicking on
SET in the input device window also calibrates the joystick, but it also
resets the controls to the default joystick settings.
Q: How do I use both my Keyboard and Joystick for the 1st player?
A: In the GUI, enter the CONFIG -> OPTIONS menu. Then check 'USE Pl1/2 AS
Pl3/4'. Once you've done that, Player 3 controls will control Player 1
so if you have joystick set on Player 1, set Player 3 as keyboard.
This disables multitap emulation however.
_[ CHEAT ISSUES ]__________________________________________________________
Q: How come the game genie codes don't work?
A: You probably didn't insert the '-'. Otherwise, try clicking on the FIX
button once while the highlight is over the code.
Q: How do I use .CHT files?
A: Copy the .CHT file to the ROM Directory or if you have a save directory
defined, copy it to the Save Directory. Then rename the .CHT file if
necessary so that the filename before the . matches the ROM file.
_[ FREEZING/CRASHING ISSUES ]______________________________________________
Q: When I load a ROM, how come ZSNES crashes?
A: For ZSNESWin, you first might want to see if you have any other major
program running in the background (eg. WinAMP). If it still crashes
after you close those programs, you might want to download and install
the newest version of DirectX which is located at
www.microsoft.com/directx
Odds are, if the emulator crashes as you load a ROM then it is probably
not compatable with ZSNES Windows due to it being incomplete, a bad
header, or for some other reason making it broken.
-[ MISC ]__________________________________________________________________
Q: How does the auto .IPS patching feature work?
A: The auto .IPS feature works by copying the .IPS file to the directory of
your ROM file or if you have a save directory defined, then the .IPS
file goes into the save directory. Next, rename the .IPS file so that
it matches filename (eg. If your ROM filename is THISGAME.SMC, then
your .IPS filename is THISGAME.IPS.)
Q: Where do I get the games?
A: The ZSNES Team will *NOT* provide any games or any links to games.