- Sidewinder fix options are now swapped since the majority seem to work better with the other sidewinder routine.
- Implemented EXTBG mode7 in 256 color old graphics engine.
- Fixed a DSP Sound bug where some sound effects weren't played in certain games
- Tweaked joystick routines again
- Fixed up a bug where sometimes loading a game after playing another game screws up emulation
- Optimised 640x480x8, 512x384x8, and 512x384x16 video modes
- Implemented EXTBG mode7 in 65536 color old graphics engine.
- Fixed an offset per tile mode range clipping bug
- Fixed up offset per tile mode in new gfx 8bit engine
- Fixed a bug which caused a crash when a state is loaded while playing/recording a movie file
- Optimised new gfx 16bit non-transparency mode
- Implemented SPC700 stall detection/recovery attempt
- Fixed up a new header detection bug in v0.625
- Modified memory allocation routines. Hope this fixes those random crash problems that some people seem to have
- Fixed a sound bug where the song leaks after it ends, sometimes producing an unwanted beep
- Optimised new gfx 16bit transparency modes
- Multiple DSP sound bug fixes
- Implemented transparencies in high res 16x8 tiles
- Implemented a command line to disable the sound DSP (-dd). Use -s and -dd if you want spc700 emulation to be enabled without sound to improve compatibility
- Fixed a bug where joystick support makes the emulation slow
- Had to remove some memory allocated variables and convert them to arrays since they were causing random crashes on specific computers.
- Fixed up pressing save state/load state in game so that it doesn't clear any key presses
- Fixed up a major speed drop bug by just adding some empty space. Most likely a cache/alignment problem.
- Used an older version of wdosx because the new version sometimes crashes during compiling
- Executable is now uncompressed. It's 3 megs, but it provides a much faster start up time.
- Seems like EPACK can only support a maximum of 6 commandlines. Fixed after executable is decompressed
- Fixed a bug where buttons 7 and 8 of 8 button joystick support sticks once pressed
- Swapped button 5/6 and 7/8 in the default joystick configuration for 8 button joysticks
- It seems like 16bit HDMA 5 was causing problems with some sound cards. It now reroutes back to 8bit DMA like how v0.400 did it.
- Implemented a new offset per tile mode engine into the old graphics engine (mostly transferred from 8bit newgfx engine)
- Implemented Horizontal offset per tile mode in both 8bit and 16 bit old graphics engine (Mode2/8x8 only)
- Implemented Horizontal offset per tile mode in 8bit new graphics engine (Mode2/8x8 only)
- Tweaked sidewinder routines. Hopefully, this will help those who have troubles using sidewinder support
- For those with sidewinder pads who has troubles with the tweaked routines, a 'Sidewinder Fix' option in the GUI is added in the Config/Options menu
- Commandline -i now uninterleaves an incorrectly interleaved rom
- Tweaked GamePad Pro routines. Not exactly sure if this will help those with 2 GPP joysticks though
- Fixed up sticky buttons in the GUI cheat menu when no cheat codes are present
- Fixed a bug where using -1 and -2 in the commandlines didn't activate the joystick movement/buttons
- Fixed an offset per tile mode wrapping bug
- ZSNES will now not crash when zsnes.cfg and zguicfg.dat are write protected files
- Fixed up the GUI when 239 y resolution is used in the game
- Optimised some minor mode 7 routines
- SNES Header display in the GUI now displays the filename for blank headers. This will fail for headers with garbled header names
- Inserted an extra reminder in the cheat menu
- Implemented 239 y-resolution support for .PCX snapshots
- Implemented 239 y-resolution support for .BMP snapshots
- Added multiple .SPC saves (Up to 10 saves only)
- Save State Selection Menu (default F3) now highlights used state boxes in red
- Tweaked 2player/6button/8button joystick routines a bit
- Fixed a cheat code bug where pressing TAB adds an extra character at the end of the address
- Removed the blank line from the .PCX and .BMP snapshots
- Implemented Joystick Calibration for non digital joysticks
- Fixed a bug where parallel port LPT2 player 2 wasn't selectable in v0.605
- Stabilized the joystick code a bit
- Fixed up a cheat code bug where using a PAR code that accesses RAM doesn't freeze when the .cht file is loaded
- Added a small delay to play a note when a key on is issued from the sound DSP. Not sure if this fixes anything though
- Fixed some sound compatibility problems when RESET is used
- Implemented Movie Record/Playback support. Read GUINotes.txt for details.
- Added a small detection for long filenames and prevented users from selecting it when it isn't detected
- Fixed a bug where max frame skip didn't save
- Fix a timing bug where running a game off the gui ran 1 less line in the 65816 than running off the commandline
- Implemented FPS at start option in the Config/Options menu
- Fixed a bug in the newgfx16bit engine where 8bpp tiles displayed incorrectly
- Reduced the filesize by 1200k through many changes in the code (filesize is now 2.0 megs)
- Fixed some VIRQ bugs that caused certain games to crash
- Added DMA area execution for IRET
- Added a 'Bugs Section' in the readme.txt
- Show all extensions is now disabled when snes header view is selected in the GUI
- Implemented partial Direct Color mode in Mode 7 (no transparencies yet, only works in 16bit old gfx engine)
- Improved header detection a bit
- Fixed up a sprite bug in games which changes the address in the middle of the screen
- Fixed up a FPS display bug when switching between auto frame rate and manual frame rate in the GUI
- Cheat Codes can now be toggled ON/OFF by double clicking on them
- Tab key now switches from the Cheat Code enter box to the Description box
- Fixed a Save State/Load State bug in the menu where it saved in the load directory instead of the save directory
- Implemented 8button joystick support (Not tested)
- Implemented an option in the .cfg file to enable reversed stereo sound (ReverseStereo)
- Implemented an option in the .cfg file to share Player 1 and Player 2 controls with Player 3 and Player 4's controls. This option allows you to use 2 devices (Joystick and Keyboard) for both player 1 and player 2, but this also disables MultiTap support. (Pl34to12Share)
- Added Reverse Stereo to the GUI under config/sound
- Added Player 3, Player 4 to use as Player 1, Player 2 in the GUI under config/options
- Compiled under a new version of wdosx. Hope this doesn't cause any problems
- Fixed up a sound card deinit bug that sometimes caused ZSNES to crash in certain sound cards
- Disabled Autoinit mode when a low sampling rate is used in 8bit sound. Probabily was also causing problems in some cards
- Added partial 65816 execution in the DMA registers (doesn't seem to fix mucht due to some other problem) Thanks to Alucard for this info! This also slowed down emulation a bit.
- Implemented sprite priority correction into the new graphics engine
- Implemented mosaic into the new graphics engine
- Implemented true 512 horizontal resolution into new graphics engine (both 16x8 and 16x16 tile modes)
- Implemented interlaced 448 vertical resolution into new graphics engine
- Implemented offset per tile mode into the new graphics engine (Mode 2/Vertical only). More accurate compared to the old graphics engine. (seems to be a bug where the game gets very slow sometimes though)
- Started 16-bit new graphics engine
- Implemented sprite priority correction in 16bit new gfx engine
- Implemented palette raster effects in 16bit new gfx engine
- Fixed a minor bg enable/disable bug in the new gfx engine
- Multiple SPC700 bug fixes. More games run now!
- Implemented SPCPlay sound engine into zsnes :
- Echo & FIR Filter Support (Slowed down emulation, but gives better sound) Thanks to feenix65 for info on FIR Filter!
- Volume fixes
- Rewrote ADSR/GAIN engine
- Added Adjustable Volume through the commandline and zsnes.cfg
- 16000 and 32000 extra sampling rates
- Many other bug fixes
- Fixed a minor HDMA bug
- Fixed an old style joystick read bug that prevented the joypad from functioning in certain games
- Several optimisations on Echo & FIR Filter
- Several Sound DSP Fixes
- Temporarily fixed a V-latch bug in some games that don't update the display at every frame
- Add/Removed some game hacks for compatibility
- Modified Song Start Search in .spc capture. Should be much better now.
- Fixed a sprite window clipping bug where it was used when it's not supposed to be.
- Modified memory allocation technique in zsnes. This should now eliminate some random crash errors. Thanks to Y0SHi for this info!
- -c now does full screen instead of small screen in 640x480 modes. For small screen, use -cc
- Fixed a back area 1/2 addition bug which caused the background to be sometimes darker than usual
- Fixed a mode 7 transparency bug
- Added 8-bit stereo sound and 8-bit sound high speed mode support (high speed mode support is just the implementation of 8bit 44100khz or 22050khz stereo) Thanks to Crono for a lot of help on this!
- Fixed up sound blaster deinit code Thanks again to Crono!
- Wrote an entirely new GUI :
- Mouse driven GUI/Menu Based
- Full Keyboard Support in all the Quick (Arrow Menu), Load, and Cheat menu items
- Ability to display load names under 8.3 filename format, snes header name, and win95 long filenames
- Support for Save State, Load State, and Select State through menu items
- Quick Load Menu (Arrow menu) which allows you to quickly load the last 10 games loaded
- Ability to Freeze or Clear the Quick Load Menu
- An Options menu which allows you to configure settings such as video mode, sound settings, frame skip, etc.
- Added the ability to customize the game keys such as the save state key, misc toggles, etc.
- Ability to use those keys as joystick buttons
- Customizeable background palette displacement
- Several minor GUI customization features
- Ability to quickly exit/enter the GUI with the right mouse button (Disabled by default)
- Ability to Enter Game Genie, Pro Action Replay, or Game Finger Cheat Codes
- Ability to browse the cheat codes and Toggle or Remove the codes
- Ability to Save/Load Cheat Codes (saves them as .CHT files in the same directory as the .SRM/.ZST files)
- Ability to Select Input Devices for each joypad
- Ability to Define Keys/Button configuration for each joypad
- Joypad can now move in the GUI (disabled by default)
- Added some future reserve menus (Netplay, Cheat Search Engine) But they are NOT implemented in zsnes yet.
- Fixed a bug when clearing the screen in 640x480x65536
- Implemented full add, half add, full subtract, and half subtract into the new 16bit graphics engine. Not sure why, but some transparency modes are actually slower than the old engine. Most likely flushing the cache a lot somewhere.
- Implemented background transparencies into new 16bit graphics engine (implemented incorrectly at the moment. Some transparency modes also is slower than the old graphics engine, but that will change in the future)
- Implemented fixed color transparencies (very incorrect because of lack of windowing)
- Fixed a minor bug in the fast forward routines
- Rewrote most of the 65816 speed hack. It should now be a lot more friendly with games (reduced graphic glitches/increased compatibility).
- Fixed a bug in Mode7 with Windowing and Transparency enabled
- Allowed 16bit HDMA sound blaster values less than 5 to be used. Not exactly sure if this works though.
- Implemented Mouse Disable Command Line (-j)
- Rewrote Input Device Routines (Keyboard, Joystick, SNES Mouse, and Super Scope Handlers)
- Added GamePad Pro Support (Don't know if it works on a standard GrIP system though). Thanks to Marius Fodor for the code!
- Added Snes Parallel Port Support for both LPT1 and LPT2. Thanks to Karl for the code!
- Added MultiTap (Multiplayer 5) Support! (Only up to 4 players at the moment though)
- Joystick Port 209h support
- Fixed an overflow caching bug in the new gfx engine where a few games run very slow
- Added some C -> ASM converted DSP1 functions. Some functions were unable to convert properly so no DSP1 games are playable until the actual C code is in
- Executable is now compressed using epack
- Implemented sprite transparency into the 16-bit new graphics engine
- Implemented mode7 transparency into the 16-bit new graphics engine
- Higher memory requirements (Sorry, but this is unavoidable as long as ZSNES keeps expanding)
- Implemented Echo Disable in the zsnes.cfg for those who want some extra speed in return for lost sound quality
- A bunch of other fixes that we forgot to list
- Fixed a dual windowing bug in mode 7 in 65536 color mode
- Re-added FPU Copy due to a demand
- Implemented MMX Copy. Use -om to enable. Thanks to Angels Holocaust for this info!
- Fixed a bug when writing to .bmp files
- Added (buggy) SuperFX support (9.5MB memory required) Special thanks to the snes9x team for all the info and help!
- Fixed up sprite windowing. Should hopefully be correct now
- Added a commandline to show all file extensions through the GUI Use -sa to enable
- Added Noise to the Sound DSP
- Added a Fast Forward key. Use the Tilde Key (~) located at the top-left of your keyboard.
- Added Sprite Priority Correction
- Fixed a tile caching bug that caused some tile corruption
- Fixed a 65816 bug in XCE on the x flag. Thanks to ]SiMKiN[ for this!
- Implemented Interleaved format and a simple auto detection. In case autodetect fails, use -i. Thanks to feenix65 for this info!
- Improved header detection. Should now work better with demos and games with weird filesizes
- Added a new graphics engine in 256 color mode. It should be much faster in areas that don't use mode 7, but lacks a lot of features such as windowing, mosaic, and sprite priorities so it is disabled by default. It can be enabled by pressing 8 during gameplay. (~40-100% faster)
- Optimised Mode 7 in 256 color mode
- Implemented dual windowing to color window clipping
- Fixed several color window clipping bugs
- Added full resolution screenshot capture in 640x480x65536 mode To activate while in that mode, hold backspace and press F1
- Fixed several transparency bugs
- Added NewGfx to zsnes.cfg which determines if the new graphics engine is enabled at start
- Added CopyMethod to zsnes.cfg which can default the copy method as either fpu copy or mmx copy
- Allowed systems with 5.5MB of RAM free to load 2mbit roms
- Whoops! Forgot to remove the debug variables in v0.391
- Fixed another sprite clipping bug
- Fixed clipping in Mode7 16-bit mode
- Removed FPU Copy since it didn't seem to speed up emulation
- Added .USA and .JAP rom extension into the GUI
- Added Save SPC Data which saves the contents of the SPC700/DSP of the beginning of the next song (Future Reserved)
- Add Sound Buffer Dump which dumps the decompressed sound buffer as raw pcm. This can become quite inaccurate due to the way how zsnes stores its decompressed sounds.
- Added MenuItem Sound Buffer Dump into the F1 Menu
- Added MenuItem Save SPC Data into the F1 Menu
- Added a key to disable offset mode. Press 0 key to activate/deactivate
- Added small screen support in 640x480VESA2 modes. This mode should be much faster for those who use 640x480. Use the -c commandline to enable this when in 640x480.
- Added an option for centered small screen. Use the -cc commandline.
- Fixed up 320x240x65536 support for ARGB cards again. It now should be working. (No, seriously!)
- Removed some static from the sound.
- Fixed some sprite windowing clipping bugs
- Fixed a bug in DMA from v0.390
- Fixed some sprite windowing clipping bugs
- Fixed an OAM overflow bug. Thanks to DJRob for some help on this!
- Fixed a save state bug where running a game off the commandline and having a save directory specified prevented more than 1 save state slot
- Fixed a transparency bug from v0.390
- Fixed a bug which caused 320x240x65536 to display incorrectly on video cards with an 16-bit ARGB setting
- Fixed a minor screen add/sub bug
- Fixed a minor sprite priority bug
- Fixed a BG3 priority bug in BG Mode 0
- Fixed a color window addition bug
- Fixed a minor VIRQ enable bug
- Swapped The Cursor Button and Autofire Switch in Super Scope
- Fixed a joystick read timing bug
- Sound volume register returned an invalid value. Now fixed.
- Added some dword alignment to some variables. Thanks to Marius Fodor for this info!
- Implemented 64k sram files
- Implemented Sprite VRAM address changing in the middle of the screen. Should fix some games such as Lufia 2
- Added some hacks to get some games working better
- DSP : Fixed a divide by 0 bug when key on is set without any sound variables initialized
- Increased default cycles executed in FastROM.
- Added ZSNES.FAQ . Read this if you have troubles!
- Added a key to disable/enable HDMA and Windowing. Press 9 to activate this.
- Implemented EAGLE algorithm in 640x480x256 video mode. Use -y to enable. Thanks to A CoolMan for the algorithm!
- Later on, we'll implement his code which has MMX acceleration!
- Implemented FPU copy. Use -o to enable. Used only when copying buffer to video in 320x240 vesa2 modes.
- Re-wrote Windowing routines for speed and expandability
- Added Dual Windowing on BGs in all logic modes
- Added Dual Windowing on Sprites
- Added some minor stuff to the header displayer
- Added partial offset per tile mode. (Mode 2/Vertical/8x8) Thanks to the feenix65 for some help on this! Implementation still a bit buggy.
- Sorry, but memory requirements had to increase by a bit.
- Fixed a tile graphics wrapping bug
- Clean up and optimised 16-bit graphics code
- Fixed up a display bug when switching from 224 to 239 y resolution
- Optimised some video processing code. Thanks to Crash_Man for the help! Fixed up a potential sound crashing bug when sound is played out of bounds
- Changed some mosaic offsets
- Minor optimisations to the 65816
- Improved color intensity in the back area
- Fixed a sram directory bug where the save state didn't save in the save directory when the game is specified from the command line
- Fixed a keyboard bug when left-shift is selected as a key. Thanks to Pharos for help on this!
- Sorry, but SuperFX emulation is disabled for this public version.