ZSNES Readme Document
================================================================================
~ 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.
~ 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.