ZSNES Shrine

Everyone has heard of Nintendo's Super Nintendo (SNES) console, released in November of 1990, even newbies. Most people agree that it is the best 16-bit console, with epic games like the Final Fantasy series (many of which remain in Japan, unfortunately), the immortal Mario games, and many more.

The SNES is based on a 65c816 CPU, a descendant of the 6502 in the NES, with 128k of RAM. It has 2 video chips, PPU1 5c77-01 and PPU2 5c78-03, with 64k of Video RAM, which permit display resolution as high as 512x448 in 256 colours (out of a possible 32,768), with as many as 128 sprites on screen, each with a size of 64x64 pixels. It can zoom, rotate, and independently scroll any of it's 4 display planes.

The sound is based around SPC-700, a chip which everyone trying to add sound to SNES emulators has come to hate. It was custom-manufactured by Sony for Nintendo, the beginning of the business relation that tried and failed to create the SNES-CD.

zsKnight and _Demo_ began this project July 3, 1997. On October 14, 1997, ZSNES 0.150 was released. It included many great features such as sound, multiple video modes, state saving, and excellent speed. Since then, ZSNES has progressed remarkably. Many special chips such as the DSP1, Super FX, and the SA-1 have been emulated, and lots of options have been added like SPC saving, GRiP and Sidewinder support, interpolated and surround sound, and many display resolutions and awesome graphics modes. Recently, a new member named Pharos joined the ZSNES team. With so many great features and such a bright future ahead of it, ZSNES is the only SNES emulator you will ever need.

These are some screenshots of some games running in ZSNES 0.915c

Chrono Trigger and Donkey Kong Country 2

Mario Kart and Mario RPG

Secret of Mana and Super Mario All Stars

Terranigma and Yoshi's Island

Here are the lastest version(s) of ZSNES!

ZSNES 1.12 Windows & ZSNES 1.12 DOS

  • (Win32) Hopefully fixed up those green display bugs in scanlines/2xSaI in 1:5:5:5 16bit modes.
  • (Win32) Improved lost packet recovery time and reduced the number of lost packet stalls in UDP netplay (should produce more fluid netplay)
  • (Win32) Fixed up crashing bug in Tales of Phantasia with a 512 byte header
  • Extended filename length of the Quick Menu
  • (Win32) Hopefully fixed up the mouse wheel support for certain mice
  • Temp .ZIP directory is now cleared if it exists prior to another .ZIP file being loaded.
  • (Win32) Improved DirectInput error handling

    ZSNES 1.11 Windows

  • (Win32) ZSNESw won't crash anymore if you don't have a soundcard or if DirectSound fails to initialize.
  • (Win32) Fixed a nasty performance bug with certain types of joystick/drivers installed, causing the FPS to be slower for no reason.
  • (Win32) Wrote an MMX optimised blitter for 16bit non-D windowed and full screen modes.
  • (Win32) Added simple wheel mouse support.

    ZSNES 1.10 DOS & ZSNES 1.10 Windows Released 11/07/00

  • Fixed games that turns on the x239 resolution (eg. Chrono Trigger battles) when scanline mode is enabled (Win32) Fixed up crashing bugs on extra long filenames with underscores
  • (Win32) Hopefully fixed the odd colored interpolation in 1:5:5:5 16bit color settings
  • (Win32) Hopefully won't crash anymore when the temporary directory exists prior to unzipping a .zip file
  • (Win32) Fixed loading of .zip files with more than 2 '.'s in the filename. Thanks to DCX for helping us troubleshoot this.
  • (Win32) Fixed up short filename saveram/save states loading when the long filename has spaces in it.
  • Added TCP/IP Support. It is recommended that for playable netplay, you'd have an average ping time of less than 300ms (type ping in dos) and that packet loss is minimal for TCP/IP (not UDP). At the moment, you cannot have more than 2 connections
  • Thanks for all the testers for testing this, especially DooMStalK, GreenImp, and TeleKawaru! Also added back buffer support. This will sacrifice cpu power for netplay to make it much more playable. WARNING: High cpu speed recommendations (~450mhz+). Please see netplay.txt for details.
  • Added save states to netplay (just use them like you normally do)
  • Save Ram is now defaulted to load/save on the server's side
  • Save Ram are not supported in SA-1/SuperFX games due to their size, but you can use save states instead in that case.
  • Increased chat line length in the out-of-game chatbox by a lot
  • Partly increased the chat line length in-game
  • in-game chat text now stays longer on-screen by 2 seconds
  • Added reset in netplay
  • Fixed up movie recording feature
  • (Win32) Mouse shouldn't get stuck on the left side anymore.
  • (Win32) Video mode 3 (256x224FS) shouldn't crash anymore. Thanks to kode54 for his assistance on the above 2 bugfixes.
  • (Win32) Fixed the instability bug where the window can sometimes start shaking for no reason and takes away windows resources.
  • (Win32) Re-wrote keyboard character input routines
  • Fixed up FF2(4)'s music in lower sampling rates
  • (Win32) Coded in the UDP protocol as a replacement for TCP/IP.
  • Some network configurations won't work with UDP. However, it is strongly recommended that you use UDP if you can because of the speed increase. In order to disable UDP and use TCP/IP, both sides must de-select UDP.
  • (Win32) Added a small multiplayer game list (multi.txt)
  • Added an updated Windows FAQ, courtesy of TuxedoMsk of VGNetwork who updated it.
  • Added a more user friendly input selection routine (changed Direct Input to Keyb/Joystick and it also auto-sets keyb/Joystick when you set a key)
  • Hopefully fixed up the sprite priority problems (eg. FF2/4's damage points)
  • (Win32) Added rewind support for up to 8 levels (in 8 second intervals) (NOTE: Windows Port only! - Sorry DOS Port users). In order to activate this, assign a key to the Rewind Key in the Misc -> GameKeys option.

    ZSNES 1.01 DOS & ZSNES 1.01 Windows Released 09/09/00

  • Fixed a problem with offset per tile mode with MMX2 in the new 16bit engine
  • Fixed crashing problem in MMX2 (Win port)
  • Removed clock option (Win port)
  • Disabling the new graphics 16bit engine is now properly saved in the configuration files
  • Added the win port version number to the about box (Win port)
  • Fixed the % of execution problem in IPX/Modem modes

    ZSNES 0.991 & ZSNES 0.990 Released 05/24/00

  • Disabled 2xSaI/Super Eagle when in the GUI
  • Fixed up cheat code search (Got broken in v0.990 during port preparation)
  • Added speed hack for Kirby Super Star (US)
  • SPC700 (Sound cpu emulation) is now enabled by default whether sound is enabled or not. Emulation will now be slower than normal if you usually run with sound off, but the compatibility is higher. However, you can disable this through the options window in the GUI if speed is of your concern. Also, a few games only run with it disabled so this option may be useful in those cases.
  • Decreased cheat code description length by 1 since the last letter was causing some corruption to the next cheat code
  • Added an option to raise the pitch level to the pre-v0.989 pitch levels, mainly for non-Creative brand sound cards.
  • You can now change the sound settings (Enable Sound, Stereo, Sound Frequency) with immediate effects without re-starting ZSNES. However, there seems to be some problems with stereo switching on SB Live!'s.
  • Configuration is now saved whenever you exit the GUI instead of just exiting the program
  • Lots of port preparation done on the source.
  • Memory/Commandline fix on the C version. A version should not be needed anymore (hopefully)
  • The GUI is now using the standard in-game video blitter rather than it own.
  • Fixed up SnapShot key in 8bit mode
  • Implemented 4-point gaussian interpolation. This is the interpolation used by the actual snes! Many thanks goes to Neill Corlett for his work on finding this info! Of course, this routine takes up an extra cpu load so emulation will slow down a bit if your computer isn't fast enough, but you can always disable interpolation through the sound options.
  • Fixed up Pitch Modulation method. Thanks again, Neill!
  • Pitch modulation was modulating from the wrong channel. Fixed.
  • Tweaked SuperFX timing.
  • Added a move window feature to the F1 menu
  • Expanded filename length in the GUI display for long filename by 3, but had to decrease the directory name by 2.
  • Added support for % codes in long filenames

    ZSNES 0.9891c & ZSNES 0.9891a Released 2/21/00

  • Slightly changed SB16 initialization
  • Forgot to remove DSP1 debug code
  • Fixed a pitch modulation bug when Voice 0 modulates Voice 1. Thanks to kode54 for this fix!

    ZSNES 0.989c & ZSNES 0.989a Released 2/13/00

  • Fixed some SA-1 sudden slowdowns. This does slow down the overall emulation speed in SA-1 games though
  • All sounds were being played at the wrong pitch (slightly higher than normal. It's now fixed so Zsnes should sound better now. Thanks to kode54 for helping out here!

    ZSNES 0.987c & ZSNES 0.987a Released 11/26/99

  • Forgot to re-enable pitch modulation after disabling it for debugging purposes.

    ZSNES 0.986c & ZSNES 0.963a Released 11/23/99

  • Re-added Sound Buffering. I was hoping to re-write it, but later found out that it wasn't worth the trouble.
  • Fixed some Triple Buffering bugs, but I can't figure out that flicker glitch on NVidia cards
  • Added Simulated Triple Buffering for cards without VESA 3.0 Hardware triple buffering. This method does some lose frames, but should be faster than v-sync. This only works on VESA 2.0 modes.
  • Fixed up directory sorting to always put ./.. at the top.

    ZSNES 0.985c Released 11/15/99

  • Added some more speedups to the SA-1
  • SA-1: Fixed a branch problem with the BRL instruction
  • Implemented Save Ram support into netplay. Thanks to The Minder for help testing this!
  • Added a hack to get Mario Paint trainered rom with the trainer removed to work with the snes mouse instead of the keyboard/joystick
  • Prevented Joystick Keys/Buttons to be selected as the diagonal keys in the GUI
  • Fixed some crashing problems with the Modem Mode
  • Implemented a key combination editor in the GUI
  • Sped up V-Sync
  • Fixed an SA-1 memory map bug! Fixes DBZ:HD.
  • Added an small speed hack for DBZ:HD
  • Implemented SA-1 Super MMC
  • Finally, after many, many hours of hacking. Figured out what caused the odd noise sounds! So far, simulated noise is implemented since the true nature of how this noise is produced is unknown so it will sound somewhat off compared to the original sounds. There is also a slight chance that some sounds will become noise incorrectly and vice versa.
  • Fixed up Pitch Modulation
  • Fixed SNES Mouse/Super Scope support when Pl3/4 as Pl1/2 option is enabled
  • ADSR/GAIN overhaul (Sound DSP) :

    • Fixed several GAIN bugs
    • Implemented Increase Bentline/Decrease Exp GAIN modes properly
    • Rewrote Decay/Sustain modes in ADSR
    • Fixed a restarting ADSR bug

  • Removed Sound Buffering. I don't think it's worth losing the quality of the sound for a small amount of speed boost.
  • Implemented an option to disable the Noise Simulation for those games that aren't working properly because of it
  • Implemented Triple Buffering. You can enable this through the Video Options in the GUI. Unfortunately, Triple Buffering won't work with 2xSaI/Super Eagle engine at the moment since they rely on the previous screen for updating nor will it work properly with high resolution games in the old gfx engine. Thanks to GreenImp for patiently helping through testing!
  • Implemented Full Screen Interpolation. Only works on MMX CPU's at the moment.
  • Implemented Cheat Code Reflector (See Guinotes.txt for details)
  • Any proper VESA 2 error messages now doesn't exit the program when in the GUI but instead display the error message in a box and allows the user to continue. Thanks to Daniel for lending me his copier which helped me hack the SNES Sound Noise/ADSR stuff!

    ZSNES 0.963c & ZSNES 0.963a Released 9/19/99

  • Fixed DMA position reader to fix the high sample rate problem in SB-Live! cards. Thanks to ShihTzu for helping us with this!
  • Removed SB16 only message under stereo option in commandline help. Shouldn't really be there since v0.600.
  • Low Pass Filter is now disabled by default. But you can still enable it through the GUI.
  • Implemented an option in the GUI to not allow Zsnes to change the current start-up game path in the configuration. You can access this in Config->Options.
  • Joystick calibration values have been reset since there seems to be some problems with it. You may have to re-calibrate your joystick if it doesn't respond correctly.

    ZSNES 0.962c & ZSNES 0.962a Released 9/18/99

  • Exit text now only displays when text mode is 80x25
  • Used hardware DMA counter to determine which sound block to write to rather than assuming it always starts at the first one for the sound routines. This should hopefully fix all those nasty sound static problems many people seems to have. Many thanks to Crono for the code and for his help!
  • Removed Re-Init Every 30 Second option. Shouldn't beneeded anymore
  • Added the ability to disable the Low Pass Filter
  • Implemented Diagonal Keys
  • Implemented some SA-1 speedups

    ZSNES 0.960c Released 8/17/99

  • Modified header reader a bit
  • DSP/SPC700: Modified EndX register usage to fix some compatibility
  • DSP/SPC700: Fixed up timing registers
  • DSP/SPC700: Fixed a sample looping bug causing many sounds to not sound correctly
  • SPC700: Fixed a small bug in TCALL. Not sure if it fixes anything
  • Added small optimisations to the MMX video copy routines
  • Fixed an adsr -> gain switching bug
  • Extended maximum number of cheat codes from 75 to 255
  • Altered .spc format again, this time to suit the ID666 format
  • Worked a bit on SDD-1 emulation. Don't think we can go any further since we can't seem to figure out the compression algorithm used in that chip.
  • DSP/SPC700: Added low-pass filter by kode54. Thanks kode54 for the code! This enhances bass in some games.
  • SA-1: Fixed memory map access problems with several stack instructions and d-page instructions
  • SA-1: Minor fix to the timing
  • SA-1: Fixed a load state problem which causes Zsnes to crash sometimes
  • SA-1: Fixed a small problem with the cpu communication register
  • SA-1: Added a small speed hack for Kirby 3
  • Added some transparency hacks (Kirby3, FF3)
  • Added an sram fix hack for Donkey Kong Country 2 trainer version
  • GUI now displays a message when SAVE CFG is selected
  • Added on-screen messages to the Background/Sound channel toggle keys
  • Added the missing video mode descriptions in the .cfg and commandline help

    ZSNES 0.953c & ZSNES 0.953a Released 8/5/99

  • Echo should sound better now
  • Restored the old Sound Blaster routines since the new ones seems to create some static in certain computer configurations
  • Increased volume intensity of more quiet samples
  • Fixed up crashing bug in pure dos when vesa 2 initialization failed
  • Included cwsdpmi.exe with the zsnes archive.

    ZSNES 0.952 Released 8/3/99

  • Fixed a small H+V IRQ timing problem
  • Fixed the bug which caused HiROM games from not loading properly through the commandline
  • Fixed some vertical off by 1 line bugs
  • Attempting to save over read-only files shouldn't mess up anymore

    ZSNES 0.951 Released 8/3/99

  • Fixed up the directory changing bugs that plagued v0.950
  • Start with newest save option now works with the save directory defined
  • Fixed up a crashing bug when a read only file is loaded
  • The volume level didn't modify the echo volume. Now fixed.

    ZSNES 0.950 Released 8/2/99

  • Fixed up a pretty nasty .ZIP support bug where .ZIP files from the root directory weren't loaded up properly
  • Fixed up a display problem in the F1 menu in 256 color mode
  • Fixed an echo delay bug
  • Hopefully fixed the random beep encounter bug that occurs in some games with sound enabled
  • Several sound volume fixes
  • Sorry about those new problems in v0.941c. We traced some of the problems to the dos extender zsnes was using (thanks Maxim- for some help on this!) so we spent some time rewritng the file system so that it would be compatible with other extenders in pure dos.
  • Fixed Save Snapshot + Increment frame enter key affecting the game bug
  • Added Increment Frame Only option to the F1 menu
  • Made some minor changes to the Sound Blaster routines
  • Fixed some more sync bugs in .ZMV recording
  • Fixed a speed hack bug that occurred from v0.800 to v0.900. Hopefully the speed is better now.
  • Slightly improved the sound skipper when sound is disabled
  • You can now quickly modify the currently selected cheat code's value by typing a 2 digit hex number in the cheat code enter space
  • Added a hack to Chrono Trigger to prevent the screen from flashing before battles
  • Fixed a 16-bit mode 7 windowing distortion/crashing bug
  • Fixed a read memory leak bug in the 16-bit old gfx engine. Interesting that this bug plagued ZSNES all this time, but its effects didn't show until the recent versions.

    ZSNES 0.941c & ZSNES 0.941a Released 7/18/99

  • Fixed a small newly created timing bug
  • Fixed flicker bug in 320x480x65536 video mode during high snes resolution mode

    ZSNES 0.940c & ZSNES 0.940a Released 7/18/99

  • Fixed a major SuperFX bug! Starfox and other SuperFX games now show polygons! Note that the SuperFX still has bugs.
  • Fixed an offset per tile mode bug
  • Optimised SuperFX plot instruction.
  • Implemented a hack to get Winter Gold working. Thanks to Gary Henderson for this fix!
  • Fixed a flag setting bug in the XCE instruction (65816).
  • Fixed another HIRQ bug
  • Seems like a sprite cache bug that was fixed in v0.800 re-appeared in v0.900. Fixed now.
  • Fixed an SA-1 arithmetic calculation result timing bug
  • Forced the old gfx engine on when running Stunt Race FX since the new gfx engine was having lots of problems in 256 color mode
  • Fixed a new gfx 8bit engine mosaic crashing bug with certain games
  • Fixed a sprite cache bug in the new gfx engine
  • Fixed a DSP envelope bug which was causing some games to not work
  • WRAM data is now cleared by 0xFF
  • Fixed 320x480x16bit mode when switching from a 256 color mode

    ZSNES 0.915c & ZSNES 0.915a Released 7/07/99

  • Skipped scanline length check/set in VESA 1.2 routines
  • Fixed a 256 color mode 7 slowdown bug that occurred in v0.910c
  • Added hi-res mode 7 hack to 320x480x256 video mode
  • Implemented 2xSaI engine for ARGB cards. Thanks to Kreed for the updated source!
  • 2xSaI was missing a couple lines at the bottom. Now fixed
  • 320x480 modes can now be selected in version A in the GUI
  • properly cleared 320x480x256 video mode
  • F3 menu should now be correct during hi-res mode 7

    ZSNES 0.910c & ZSNES 0.910a Released 7/06/99

  • The bug where enabling auto-cheat load, having an Sram directory, and loading a rom without a .cht file which results in Zsnes changing the loading directory to the sram directory is fixed.
  • Fixed cheat search engine in version A
  • Tweaked HIRQ timing to fix some flickering in some games
  • Fixed screen shot capture in ARGB cards in 640x480x65536 mode with scanlines enabled
  • Implemented adjustable time interval for the sound reinitialization feature so that it can be set to values other than 30 seconds. It can be modified in zsnes.cfg (ReInitTime)
  • Cheat Search 'Add' button now works properly
  • Corrected Register 4212h to adjust to the new NMI timing
  • Implemented ARGB video mode support to VESA 1.2
  • Implemented 320x480x256 and 320x480x65536 video modes
  • Fixed a x448 resolution bug when scanlines are enabled
  • Prevented those with ARGB videocards from checking 2xSaI or Super Eagle engine for now

    ZSNES 0.900c & ZSNES 0.900a Released 7/04/99

  • Fixed another sprite priority bug
  • HBlank is supposed to be noticed during VBlank
  • Fixed an IRQ bug that occured between v0.715 and v0.800
  • Fixed a 65816 DPage usage bug that occured between v0.715 and v0.800
  • Rewrote 65816 flag handling system.
  • Optimised SA-1 emulation
  • Optimised the 65816 main loop.
  • Implemented Surround Sound. It is defaulted off since it seems to create some bad static in some games. Thanks to Crono for info!
  • Wrote Interpolation in MMX. MMX cpu is required.
  • Implemented MMX auto-detection for MMX Interpolation and MMX Copy.
  • Fixed an 224HDMA line bug, thanks to Gary Henderson!
  • Optimised 320x240x16b and 640x480x16b for ARGB cards.
  • Removed Snow
  • Clock option is now visible to anyone. You can enable the in-game clock through the GUI in Config->Options.
  • Altered method of writing to file in Movie Recording mode, hoping that it will fix some problems after recording movies for a long period of time.
  • Altered data alignment size in source
  • Fixed a VESA2 divide by 0 bug in Banshee cards by checking the scanline length instead of setting it immediately. Thanks to Crono for some help!
  • Altered sound echo volume
  • Added sound interpolation based on Crono's code. Thanks to Crono for his help!
  • Added an option to turn off sound interpolation for speed
  • Implemented Pitch Modulation, thanks goes to Gary Henderson for clarification info!
  • Implemented an option in the GUI (Config->Options) to allow the Fast Forward key to act as a toggle (disabled by default)
  • Fixed a bug that prevented high resolution to sometimes not display in a 16bit video mode
  • Fixed a game stalling bug when pressing F3 during games that are sensitive to changes in the ENVX DSP register (Bomberman Series)
  • Added a hack for the graphic glitches in Dragon Quest 6
  • Fixed up in-game clock in the new gfx 16bit engine
  • Fixed a nasty bug in the ADSR engine. It was sometimes using an incorrect decay value, causing the sound to stick instead of fading out
  • Slightly fixed ADSR by completely skipping the attack stage when the attack duration is 0
  • Fixed a GAIN decrease->increase bug
  • Implemented a safe recovery feature for those computers that don't support the CPUID instruction (used for MMX detection). If ZSNES crashes at the very start, just re-run it.
  • Fixed a fixed color dual windowing bug in the subscreen which caused transparency to sometimes shift unexpectedly when the background scrolls
  • Implemented 50% Scanlines (Lance McKay's idea) and 25% Scanlines (Similar to Snes9x TV-Mode's scanline intensity) in 640x480x65536 video mode. These modes don't work on videocards with an ARGB setting yet.
  • Added MMX Support to 50% and 25% Scanlines modes
  • Implemented back buffer clear in MMX
  • .CHT files now saves to the proper save directory
  • Implemented the 2xSaI graphics engine (MMX Only). Many thanks to Kreed for this wonderful engine and source code!
  • Implemented Kreed's Super Eagle engine. Note that for both 2xSaI and Super Eagle, you need an MMX processor, enough RAM for the new gfx 16bit engine, and also be in 640x480x65536 video mode.
  • Implemented an option to auto-load a .cht file whenever a game is loaded. You can find this option at the bottom of the Cheat Window in the GUI.
  • Optimised Non-MMX Interpolation
  • Fixed a bug that caused save states to not save correctly after attempting to load a non-existing .cht file
  • Added a Quick SnapShot Key. You can set this key in the Misc -> GameKeys menu in the GUI. This key allows you to take a snapshot with just a press of a key.
  • Implemented .ZIP support. Thanks to Jean-loup Gailly, Mark Adler, and Gilles Vollant for the ZIP routines!
  • Fixed a bug where pressing PageUp/PageDown in the cheat window went over by 3 entries.
  • Implemented longer cheat descriptions. The cheat window and the .cht file format had to change a bit, however, ZSNES automatically converts any old formats to the new formats when it detects it.
  • Allowed the IRQ to be executed more than once on the same line through HIRQ. Fixes the flickering problems of Doom/Offroad Baja.
  • NMI now executes at line 225 instead of 224.
  • Saving/Loading the state causing the control to stop or skip has been fixed again.
  • .ZIP files can now be run from the commandline
  • Implemented an option for ZSNES to automatically save the save data approx. 5 seconds after it detects writes to it. This will not work for SuperFX or SA-1 special chip games, however. This option is disabled by default and can be enabled through the option window.
  • Implemented an option in the sound window to re-initialize the sound card after every 25-30 seconds. Hopefully fixes the problems where the sound gets staticy after a certain amount of time.
  • Newest Save Slot will now appear as orange in the Save State Select (F3) window
  • Fixed a spc700 <-> 65816 sync bug during movie (.ZMV) playback
  • Implemented an option to enable Old Gfx Engine Mode 2 (Accessible through the options window in the GUI). This mode fixes many transparency problems in 16bit modes, but can also create some and is also at times slower than the original engine.
  • Implemented 640x480x65536 VESA 1.2 support. Currently supports Full Scanlines and Smallscreen modes. However, it is strongly recommended that you only use VESA 1.2 support if your card cannot support VESA 2.0 (w/ linear framebuffer) since VESA 1.2 runs slower.
  • Implemented an option to disable Pitch Modulation
  • Sound card is now not re-initialized whenever a state is saved/loaded since some sound cards seems to have problems with it.
  • Implemented Single Windowing in the New Gfx 8bit engine, 8x8 and 16x16 tile modes only
  • Fixed 64k SRAM support when loaded from the GUI
  • Optimised high resolution new gfx modes in 640x480x256
  • Fixed the graphic glitches in x488 snes vertical resolution modes in 640x480x256 new gfx mode
  • Optimised 640x480x256 Eagle Engine
  • Fixed the GUI background display bug in the new gfx engine
  • Fixed .SPC capture in the new gfx engine
  • Added an option to start with the newest save state when the game is loaded. It can be enabled in Config->Options window in the GUI
  • Slightly optimised new gfx 8bit engine
  • Fixed several Mode 7 problems in the New Gfx 8bit engine
  • Changed DSP1 variables to use double instead of floats for a small speed increase. Thanks to Gary Henderson for this tip!
  • Fixed up the Mode 7 slowdown bug when the scale ratio becomes small in most graphics modes
  • Optimised some Mode 7 transparency modes
  • Implemented EXTBG mode 7 into the newgfx 8bit engine
  • Fixed the 'FIX' feature in the cheat menu. Seems like it wasn't writing any value to memory when it was clicked.
  • Game Genie codes are now defaulted to the 'FIX'ed mode. Seems like most of the codes needs this.
  • Implemented windowing to Mode 7, New Gfx Engine 8bit
  • Added support for .SPC v0.2 format
  • Added an option in zsnes.cfg to disable configuration saving for those who want to store zsnes.exe in a read-only storage area
  • Fixed GameKeys display in the GUI for certain keys (such as the snes parallel adapter keys)
  • Implemented hi-res mode 7 (vertical expand only). Currently only works in 640x480x256 newgfx engine (w/ Eagle and Scanlines disabled).
  • Fixed an offset per tile mode bug in the new gfx 8bit engine
  • Implemented dual windowing modes into the new gfx 8bit engine
  • New Gfx 8bit engine is now the default graphics engine in 256 color modes. It still lacks sprite windowing and also has some sprite flicker issues, but it's overall more stable, faster, and has more features. You can still switch back to the old gfx engine by pressing '8'.
  • Looks like Pitch Modulation was causing more sound problems than what it's worth. It's now disabled by default, but you can reenable it through the GUI.
  • Added auto save/load state feature where ZSNES will automatically loads back the previous state when you last properly exited ZSNES. This feature is disabled by default.
  • Compressed the executable using UPX


    Only use the "a" version of ZSNES if the "c" version doesn't work well on your computer. The "a" version is assembly only and lacks IPX, DSP1, and zip support, however, it is more compatible with different computers.

    Related Links:

    Check out the ZSNES SPC page.
    Check out the ZSNES ZMV page.
    Check out the ZSNES ZST page.
    Check out the ZSNES CHT page.
    Check out the SNES SRM page.
    Check out these cool ZSNES icons: (1) , (2)

    Go here to see all the older versions.

    Thanks to zsKnight, _Demo_, and Pharos for making this excellent emulator. We wish the best of luck to you for whatever the future holds. Be sure to visit the official ZSNES Home Page.
  • XiP@zophar.net Back to ZD