What's New :
------------

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

v0.400 - 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
       - Fixed sidewinder support when sound is set at a high sampling
         rate.  Thanks to Marius Fodor for the source!

v0.393 - 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.

v0.391 - 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
       - Fixed a transparency bug from v0.390

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 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 239 to 224 y resolution
       - Optimised some video processing code.  Thanks to Crash_Man for the help!
       - 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!
       - Some DMA speedups
       - Some optimisations to OAM/VRAM write
       - Sorry, but SuperFX emulation is disabled for this public version.

v0.305 - Fixed a snes ppu multiplication bug.  Thanks to Lord Esnes!
       - Hopefully fixed 6-button joystick support.
       - Fixed a little memory overflow bug which caused some games to not
         work
       - Forgot to clear NMI wait substitute variables when another game
         is loaded from the GUI
       - Changed sound processing engine back to v0.297.  If for any reason
         you want to go back to v0.300 sound engine, use -x as a command line
       - Added Cursor Mode Button to the Super Scope.  Never thought it was
         necessary until recently.  Use the =/+ key.

v0.300b - Fixed a bug that causes sidewinder support to crash.

v0.300 - Fixed a 65816 wrapping bug
       - Added Super Scope Emulation!  (Press 7 beyond mouse)
       - Some minor touches to the GUI
       - Manually calculated RGB bit lengths when using 16-bit modes
       - Fixed another bug when loading 48mbit images from the GUI
       - Sped up the execution loop when sound is enabled
       - Implemented NMI wait substitute for speed
       - Added some extra vesa2 routines to help some video cards
         with ARGB format of 1:5:5:5, however interpolation won't work
         for those at the moment.  Thanks to Dark Force for helping out
         on this one!
       - Implemented 512x384 VESA2 resolution for both 8 and 16 bit
       - Implemented Sound Mute and Reset
       - Implemented Joystick Remapping.  Edit ZSNES.CFG to access this.
       - Fixed and sped up 6 button joystick support
       - Fixed 2 2-button joystick support
       - Hopefully fixed 2 sidewinder support
       - Fixed an overflow sound bug

v0.297 - Fixed a bug when loading 48mbit images from the GUI
       - Fixed some crashing bugs by just adding some zero space
           Very weird bug!

v0.296 - Fixed up Cheat Menu in 16-bit color mode
       - Changed SPC700 skipper back since it was causing problems in
           certain games
       - Added Multiple Snapshot files
       - Fixed a minor loading bug
       - Fixed 16-bit color full add/sub conversion table when video
           is in BGR format
       - Fixed some fixed color screen add/sub bugs
       - Supported .SWC format in the GUI

v0.295 - Compiled under a newer version of WDOSX.  This should help fix some
         VESA 2 problems.
       - Fixed multiple SPC700 bugs
       - Added a command line to force either NTSC (-t) or PAL (-u) timing
       - Added a command line to force 8-bit sound on (-8)
       - Zsnes.cfg is now loaded from the directory where zsnes.exe is located
       - Zsnes.cfg now re-writes itself when zsnes exits
       - Reduced zsnes.exe filesize
       - The IRQ's are now more stable.  This should help fix some
         crashing/rebooting problems under dos.  Thanks to Sardu for some
         help on this!
       - Fixed some VRAM accessing bugs
       - Several fixes to the sound DSP
       - Optimised SPC700 a bit
       - Implemented primitive Mode 5, 512 horizontal resolution.  To get
         full potential of this mode, use 640x480 resolutions except for
         interpolated/nonscanline mode.
       - Improved 65816 <-> SPC700 communication
       - Slightly improved sound skipper
       - Fixed a directory changing bug
       - Implemented Scanlines for 640x480x256 video mode
       - Added a temporary command line to enable sound compression
         buffering (-Q)
       - Added a extra menu which pops out when you press F1
       - Added snapshot feature.  Press F1 and select Save Snapshot
         ZSNES saves 256 color under image.pcx and 65536 under image.bmp.
       - Added FPS feature.  At the moment, it only works when auto frame
         rate is used.
       - 65816 bugfix : x flag is supposed be used in MVN/MVP
       - Fixed up color addition/subtraction clipping a bit
       - Added Scanlines, Interpolation, Enterskip, and Force 8-bit sound
         in zsnes.cfg
       - GUI now saves the loading directory
       - Added a separate save directory feature in zsnes.cfg.
       - SPC700 bugfix : fixed mem.bit addressing mode.  Thanks to Phoenix
         for this info!
       - Fix up a bug where more memory was cleared than needed in 256 color
         video memory processing
       - Optimised video memory clearing in 65536 color mode
       - Minor optimisations to the 65816/SPC700
       - Implemented Mode 7 Tile #0 Repetition
       - Rewrote most of the Mode 7 routines for speed
       - Fixed a 65536 color Mode 7 bug where the background wasn't cleared
         properly
       - Added Pro Action Replay, Gold Finger,and Game Genie cheat code
         support
       - Optimised Memory/Register accessing routines
       - Used a newer version of Sidewinder driver.  Should fix
         some problems and also support 2 sidewinder pads (not tested yet).
         Thanks Robert!  Also, thanks to Sardu for helping to get it
         to work right!
       - Whoops!  256 Color palette was set when GUI is exited in 16-bit mode.
         Hopefully fixed now.
       - Added the ability to Clear/Disable/Enable cheat codes through the menu.
       - Optimised Graphics Decompression Routines.  Thanks to Nerlaska for
         this info!
       - A Bunch of other Minor Bugs Fixed.

v0.270 - Properly cleared memory when loaded off of the GUI
       - Implemented realtime adsr/gain switch.  Special thanks to Sardu for
         help on this!
       - Fixed up a VESA 2 error message
       - Temporarily disabled Sound Compress buffering till we can get the
         bugs out.
       - Volume fixes to the sound DSP
       - Fixed up > 16mbit LoROM support
       - Added partial 48mbit ROM support (no games seems to work yet
                                           + 9MB mem required)
       - Fixed a SRAM Memory Map Bug
       - Fixed a bug in old style joystick read
       - Disabled sram save using tilde key.  Instead, enter/exit
         the GUI since it also saves the sram.
       - Added panic key which turns back on all sound channels and
         backgrounds.  Press 6 to activate this.
       - Added snes mouse support!  Use 7 to switch between keyboard and
         mouse.  Thanks to Y0SHi for info on this!
       - Panic key now turns off mouse when mouse is enabled
       - Fixed a minor IRQ bug
       - Fixed a HDMA bug.  Thanks to Lord Esnes for help on this!
       - Fixed a timing bug.  Thanks to TaNdRuM for help on this!
       - Fixed up some Fixed color add/sub bugs
       - Implemented OBJ Name Base Select.  Thanks to Y0SHi for info!
       - Windowing was off by 1 pixel.  Now fixed.
       - Fixed Screen Add/Sub on back area
       - Added support for 4 and 6 button joysticks
       - Added support for sidewinder joypads
       - Fixed a VESA 2.0 bug.  It should be more compatible now.
       - Implemented Interpolation for 640x480x65536 mode.  Use -Y to enable.
       - Modified sound mixing code a bit
       - Added GUI disable in zsnes.cfg. Add this if you want to disable the GUI
         GUIDisable = 1
       - Implemented Directory Changing in the GUI
       - Fixed a bug where it crashed when loading some ROMs
       - Fixed an ADSR sustain bug.  Thanks to Trepalium for help on this!
