What's New : ------------ v0.635 - Sidewinder fix options are now swapped since the majority seems 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 v0.625 - 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 v0.605 - 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 v0.601 - 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 Note : The offset per tile mode in the 16bit oldgfx engine seems to randomly crash sometimes for an unknown reason. If 16bit mode crashes for you and 8bit doesn't, press the '0' key in 16bit mode to disable that mode. v0.600 *** ADDED A NEW MEMBER TO THE ZSNES TEAM! *** Welcome Pharos to the team, his role is currently a coding assitant. So far, he helped us objectize the zsnes source code which greatly helped in the compile time, provided assembly help, and helped us prepare on linking C code to zsnes (not completely there yet). Note : It is strongly recommended to not use the 16-bit new graphics engine yet because of bugs and speed concerns. It is enabled only in 320x240x65536 for those who are interested. - 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