- 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.
- 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
- 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.
- 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.
- Fixed a small newly created timing bug
- Fixed flicker bug in 320x480x65536 video mode during high snes resolution mode
- 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
- 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 seem 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
- Fixed up sound speeds. Timers were computed incorrectly.
- Fixed a sprite priority bug
- Fixed up a bug that prevented the gui to be disabled
- Fixed up SPC capture
- Fixed a bug when VIRQ is set on the same scanline as NMI
- Implemented an automatic .IPS patcher. Just rename your .IPS file to the rom filename with the .IPS extension and ZSNES will patch the rom realtime without modifying the rom file's contents. Thanks to Neill Corlett for most of the .IPS info!
- Snapshot capture/skip 2 frames option now returns back to the proper menu item
- Fixed a calibration bug with 6/8button joysticks
- Fixed up display in 640x480x8 new gfx engine
- Fixed up hi resolution displays in all 640x480x8b modes
- Fixed up a bug where Mode 7 becomes corrupt after selecting Save CFG from the GUI
- Fixed a memory map bug in lorom DSP1 games
- Fixed a potential DSP1 crashing bug where a negative value is being square rooted
- Hopefully fixed the modem bug when using an IRQ that is bigger than 7
- Fixed up an ADSR bug for games that changes ADSR mid-sample
- Fixed up echo emulation (possibly slowed down emulation)
- Fixed up a sprite caching bug
- Fixed up a DSP1 byte check stall bug
- Implemented a commandline to disable spc700 speed hacks (-7) Might help with some compatibility
- Implemented SA-1 support (most functions emulated)! Unfortunately, it's still buggy. Thanks to the snes9x team for providing info!
- Fixed a bug when selecting drive A/B while a disk is not in the drive caused a long check sequence
- Implemented Keyboard support to most of Option, Sound, and GUI Option configurations in the GUI
- Changed sound init code a bit. Hopefully improves sound card compatibility, but might also ruin it.
- Implemented off by 1 line fix (-9). This may help compatibility and fix some minor graphic glitches, but may also ruin some too.
- Fixed a crashing bug when 16bit back window clipping was using an undefined windowing clip buffer
- Added spc program counter check to the spc stall detection to reduce false alarms
- Tweaked IRQ processing a bit
- ZSNES.CFG and ZGUICFG.DAT are now fixed so that they will use the current directory when the SET CMDLINE detection fails
- Fixed several mode 7 bugs in the new graphic engines
- Implemented an option to save the configuration files in the MISC menu
- Added a shadow to the in-game text displays
- Fixed a bug created in v0.700 where pressing F3 while sound is disabled crashes zsnes
- Fixed up player 4 and player 5 so they now work again
- Fixed up color a bit in the old graphics 16bit engine
- Added gamma control to 16bit old graphics engine
- Fixed a cheat code bug where pressing the down key in the browser overflows by 3 rows
- Fixed up a bug where any memory allocation below 48mbit support crashes
- Added out of memory error when loading a file from the gui
- Fixed a minor off by 1 pixel windowing bug
- Fixed up memory requirements in the readme.txt. It seems like compiling with C takes up 3.0 more megs. It shouldn't though. An asm only version will be release later without dsp1/ipx support unless the reason is figured out.