Professional Documents
Culture Documents
History
History
51 Documentation
================================
N a v i g a t i o n
================================
* Index [Index.txt]
* Readme [Readme.txt]
* GUI [GUI.txt]
* Netplay [Netplay.txt]
* Games [Games.txt]
* FAQ [FAQ.txt]
- - - - - - - - - - - - - - - - - -
* History [History.txt]
* About [About.txt]
* License [License.txt]
- - - - - - - - - - - - - - - - - -
================================================================================
~ H i s t o r y
================================================================================
The following is the history of ZSNES, including the changelogs for every
official ZSNES release, and other major events. ZSNES was first released on
October 14, 1997.
Spanning the releases between version 0.715 and version 0.990, an ASM-only
version was offered alongside the normal ASM+C version. Differences between
sister C/A releases are marked as appropriate.
Note: All changelogs before v1.40 were copied from their original text source
inside the ZSNES official release packages. We edited the old changelogs as
little as possible in order to minimize the accidental loss of information.
Therefore, you may find spelling mistakes and formatting differences between
different versions.
............................................................
v1.51 - January 25, 2007
............................................................
All Ports:
----------
- Rejoice for finally having 224 lines and them being shown properly in all
cases. [pagefault]
- IRQ and timing fixes (fixes Chrono Trigger issues, Super Mario World, and
others). [pagefault]
- Fixed bug with certain commandline parameters permanently overwriting
config file settings. [Nach]
- Fixed bug with loading new ZMVs of a different version. [Nach]
- Loading ZMV with ROM mismatch prints a message. [Nach]
- Movie menu now has tabs and only shows proper options when available.
[Deathlike, Nach, grinvader]
- Slight improvement to the Custom Res functionality. [Deathlike, Nach]
- Keep4_3Ratio option now only shows when necessary. [Deathlike]
- PNG files now use extended height in extended height mode. [Nach]
- Pausing, rewinding, and fast fowarding are disabled during movie dumping.
[Nach, SamB]
- You can now force a movie dump length shorter or longer than the actual ZMV
length. [Nach, Deathlike]
- Fixes for MEncoder check; added LAME check. [Nach]
- Custom dumping with multiple passes implemented. [Nach]
- Fixed some bad memory reads in command-line parser. Thanks grinvader. [Nach]
- Now there's an option to switch to replay mode while recording movies when
loading a state and vice versa. [Nach, Deathlike]
- Fixed a bunch of bugs with certain save selection techniques not working
right. [Deathlike]
- Fixed gui font overwrite problem after fixing a cheat. The dots should be
gone now. [Jonas Quinn]
- You can now select the level of HQ filtering where applicable. [Deathlike]
- Many tweaks made to reduce GUI mem usage on all ports. [Deathlike]
- ZSNES now properly adheres to the command-line when Auto State Save/Load is
used. [Deathlike]
- Quick exit key now adheres to Auto State Save/Load. [Deathlike]
- Inc/Dec Gamma toggles actually DO something. Gamma level is now definable in
the config file. [Deathlike]
- Fixed bugs with playing back ZMVs of 2+ players at once. [Nach]
- Fix crash if you rewind farther than the game start in Kirby Super Star,
Secret of Mana and some other games. [Jonas Quinn]
- Fix crashing if using rewind in a movie before rewind slot is filled. Thanks
BoltR. [Nach]
- Readded the smoke effect. [Jonas Quinn]
- Fixed the Winter Gold crash (but not the freeze). [Jonas Quinn]
- Fixed crash in Super Demo World and possibly certain other large games.
[Jonas Quinn]
- Fixed loading many old ZSTs. [Jonas Quinn]
- Fixed some bugs with movies which load from power on with SRAM. [Nach]
- Fixed some issues with DSP-4 movies. [Nach]
- Added ability to have game-specific input. Main input is now stored in
zinput.cfg. [Nach, Deathlike]
- Added option in Config->Options for Screenshot format. [Deathlike]
- Fix crash on creation of ZMV if save path does not exist. Thanks Maximus.
[Nach]
- Logo support for AVI dumping. Set the logo file in zmovie.cfg; it can be
gzip'd if you want. [Nach]
- Pick state menu (default - F3) now has wraparound. Praise Pac-Man!
[Deathlike]
- Config file cleanup for more understandability. [Deathlike]
- New Don't Save SRAM option. [Deathlike]
- More GUI cleanup and tweaking, also reorganization. [Deathlike]
- Removed the horrible-sounding Mono Surround Sound code. [Deathlike]
- Source cleanup. [Deathlike, Phil^, Nach, grinvader]
- Parsegen now allows one to define inside a PSR file to have it reject arrays
from older config files. [Nach]
- Our assembly syntax shortener now is case-insensitive with new
case-insensitive string class. [Nach]
- Archopt has updated flags, added GCC 4.2's -march=native support. [Nach]
- Parsegen now has atoui() which should fix reading very large values. [Nach]
- Ported more assembly to C. [Jonas Quinn]
- Misc. bug fixes. [Deathlike, Jonas Quinn, SamB, Nach, grinvader]
DOS Port:
----------
- Fixed snapshots key from attempting to take a PNG when it cannot.
[Deathlike]
- Removed old DOS debugger at last. [SamB]
- Clock box option now does something in 8-bit modes. [Deathlike]
Win Port:
----------
- Updated and improved NTSC filter. [Blargg, pagefault, Deathlike]
- Added 1600x1200 S Full to Windows port for consistency. Fixed details of
1600x1200 S Win. [Deathlike]
- Fixed crash with HQ4x in windowed mode with Hi-Res Mode 7 on. [Deathlike]
SDL Port:
----------
- Fixed broken option on Mac OS X; load menu shouldn't crash anymore. Thanks
phf. [Nach]
- Made WIP launch message berate users for not using --enable-release if it
was an official release. [Nach]
- Added option to define configuration directory. [Aerdan]
- Mac OS X config directory now defaults to Library/Application Support/ZSNES.
[Nach]
- Symlink support for matching ROM name to files. [Nach]
- Updated and improved NTSC filter. [Blargg, pagefault, Deathlike]
- More accurate NTSC ratio. [pagefault]
- You can now use libao for sound, compile with --enable-libao, also see
zsnes --help for a list of drivers to use. [Nach, Bisqwit, grinvader]
- Unit testing done; off by one errors in audio sample output fixed. Thanks
hakonrk and grinvader. [Nach]
- Now supports ~ (home directory) in various places, most notably ROM loading.
[Nach]
- Fixed some filtering and video refreshing issues. [Deathlike]
- Fixed Bilinear Filtering on startup. [Deathlike]
............................................................
v1.50 - December 22, 2006
............................................................
All Ports:
----------
For this release, we spent much time rewriting, porting, and improving many
internal subsystems. ZSNES is a program with over 200,000 lines of source code,
and in this release, over 25% of that has been modified; also, around 15% of the
assembly has been ported to C. The upcoming list, while large, can't fully
describe the amount of work done and the amount of improvements made. Be sure to
see the readme to find out how to use all the new features.
Subsystem Additions/Updates/Rewrites/Fixes/Improvements
----------
- Ryan C. Gordon's ManyMouse support added. [Nach, pagefault]
This allows the systems compatible with ManyMouse (Windows XP, Linux via
evdev if read permission set, Mac OS X) to handle each mouse plugged into
the system separately. So now games with two mouse-using devices can be
played with 2 players (or 1 player controlling both) on a single PC.
Left Handed Mouse Support. [Nach, Deathlike, Jonas Quinn]
So lefties can have the buttons for a particular mouse swapped if they so
desire.
- Rewrote directory handling system. [Nach, Jonas Quinn, grinvader, Deathlike]
The old system, dubbed "ZFile", only kept track of files in a limited manner
allowing for many many bugs. The new system, dubbed "ZPath", now tracks
files and paths in a clean systematic manner to eliminate all file/path
related bugs that have made previous versions annoying. All file handling
code is now done in C and has many functions to make it easier for anyone
else to jump right into this bit of development. This also allows for many
new features to be written, and we wrote quite a few. A debug system has
also been added, making it easy to track file issues regardless of the
operation system in question.
- ZMV Rewritten - Movie Support. [Nach, grinvader, ipher]
Added support for subtitles while playing a ZMV. [Nach]
Can now load movies via command line parameter. [Nach]
Added parameter to close ZSNES when movie is closed. [Nach]
Our movie subsystem - ZMV has been completely rewritten from the ground up.
Now features such as rerecording (via states and rewind), appending, mouse
recording, Super Scope recording (buggy), chapters, start types, frame
count, input compression, among other things are now all supported. Note
ZSNES can still load old ZMVs; however, it should be noted that ZMVs are
somewhat version reliant and may desync on a version it was not recorded
with. Also, most of the new features will not work when using an old ZMV.
- Can now dump ZMVs to AVI and WAV. [Nach, Bisqwit]
For years, users have requested being able to convert a ZMV to something
else; it is now possible.
- Added IPS multipatch support. Goes from IPS, IP0, IP1, IP2, ..., IP9. [Nach]
So you can have IPS autopatching apply more than one to a game loaded.
IPS files now loaded from save directory then ROM directory. [Nach]
Making it easier for a user to auto patch.
Fixed silly mistake with size adjustment of IPS patches. [Nach]
So now the very rare broken IPS should work.
- Rewind and ZST code fully merged; rewind should now work where save states
do (Fixes rewinding in Super Bomberman games). [grinvader, Nach]
Can now use 100 save states instead of 10. [Deathlike, Nach, Jonas Quinn]
SRAM is now stored in save states and can be optionally loaded from them.
[grinvader, Nach]
Can now select how many rewind states you want. [grinvader, Nach, ipher]
Can now select how much time is in between rewinds. [grinvader, Nach, ipher]
Our state saving subsystem has been completely rewritten (although another
rewrite is planned) to fix many bugs that used to be present. With the ZST
and rewind code merged, it also means no more issues where one works but not
the other. This is also now all done in C, making it easier to deal with, as
well as allowing many new features as listed above.
- Parsegen invented (thanks grinvader, gladius). [Nach]
Binary and text config files merged into one and heavily updated. [Nach,
grinvader, Deathlike]
We invented a new programming language (PSR), and a compiler for it
(parsegen), which allows one to keep track of variables in a simple manner
for both developers and end users. Developers can just declare a particular
variable to be tracked and forget about it, letting the system manage
everything else, making it easy to add as many configuration options as one
likes. For the end user, the config file is all in text, making it easy to
modify any feature they like or features for advanced users not changeable
from within the GUI. It also provides a level of future compatibility so
users should normally not have to delete config files between versions. It
also allows partial config files, so users can delete certain settings and
have them restored to their defaults. All this is possible while maintaining
a high level of flexibility.
- Netplay, Modem, IPX code removed. [grinvader, Nach. ipher]
As much as we hated to do this, we had to remove all computer-to-computer
playing options in order to fix up the other subsystems since the code was
spread throughout ZSNES. We hope to reimplement it in future versions and
also provide new features.
- Created new macros and greatly eased GUI development and cut down on size of
GUI code. [ipher]
Cleaned up GUI and reorganized it. [ipher, Nach, grinvader, Deathlike,
Jonas Quinn]
Added tab support to the GUI and made good use of it. [grinvader]
Rewrote the load game menu, it can now handle thousands upon thousands of
ROMs at a time. [Nach, grinvader]
Added a custom font system. [ipher, Deathlike]
Nach input boxes (video, path) now have a normal blink rate. [Nach]
Now using our custom GUI should be easier and more straight forward. Almost
everywhere you look, you should see a cleaner design, new features, and
fewer bugs. See below for more specifics.
- New unified ZSNES loader which is also less buggy. [Nach, grinvader,
Deathlike, Jonas Quinn]
Now command line options are handled in a more efficient manner, as well as
making it much easier for us to add more.
- Committed the ZSNES development toolkit. [Nach, grinvader]
Code is now always in executable sections, fixes NX and many other issues.
[Nach]
Added utility to auto detect best -march option to compile with; SDL port
uses it automatically. [Nach, grinvader]
For various developers, we now added many utilities to make working on ZSNES
much easier. Some of these utilities should be built into the assembler but
aren't. These new utilities have also allowed us to easily track down
several critical bugs and fix them effortlessly. We also have a utility now
to aid the person compiling to get the best optimization out of their build,
perhaps now allowing them to use HQ4x or other filters that weren't possible
before.
- Updated build setups. [grinvader, Nach]
Added file dependency utility. [Nach]
All the build setups have been updated to make it easier and more flexible
for one to compile ZSNES and encounter fewer bugs along the way. File
dependencies can now also be calculated automatically (most notably for
SDL), so one updating ZSNES doesn't run into weird issues with only half of
a fix being compiled.
- Ported much assembly to C.
[grinvader, Deathlike, Nach, Jonas Quinn, theoddone33, pagefault, byuu]
Removed dead code. [grinvader, Nach, pagefault, Jonas Quinn, Deathlike]
Lastly on our big rewrite, a lot of old junk went, and many complex and
annoying features are now in C, meaning that if you know C, now is a good
time to start helping out ZSNES development.
Special Chips
----------
- Fixed all remaining bugs with the SPC7110. SPL4 and MDH are working
correctly, now. Special thanks to John Weidman and Dark Force for working on
reverse engineering. [Jonas Quinn]
- Super FX updates (Starfox 2 now 99% working). [pagefault]
- OBC-1 code ported to C and integrated properly. Metal Combat doesn't have
graphical problems anymore (thanks Nach). [Jonas Quinn]
- DSP-1 finished. [The Dumper, Andreas Naive, Nach]
- SA-1 detection updated (Fixed loading of SD F-1 Grand Prix (Sample)). [Nach]
- Partial Seta 11 emulation (thanks anonymous and Jonas Quinn). [Nach]
- DSP-3 support (opcodes RE'd by Overload and Feather). Thanks Jonas Quinn for
finding a bug in my glue code. [Nach]
- DSP-4 Support (Top Gear 3000). [Nach, pagefault]
- C4 emulation should be virtually perfect now. [Nach, Jonas Quinn]
- Now got mapping done correctly for dual Sufami Turbo (thanks byuu); now have
two sets of SRAM. [Nach, Jonas Quinn]
DOS Port:
----------
- Fixed sample rate to not be able to select 32000 Hz or bigger rates when
they are not available under certain circumstances. [Jonas Quinn]
- 8 bit modes now save images as BMP. [Nach]
- Can now compile without a debugger. [Nach, Jonas Quinn]
- Can choose old or new debugger. [SamB]
- Fixed ROM loading from the command line for DOS when a VESA2 mode
is selected. [Jonas Quinn]
- Now runs proper clean up code on exiting. [Nach]
- Updates to input code, now supports more parallel pads. [Deathlike]
- Can now set via command line player 1 and 2 to any input.
- Rewind can now be used. [Nach]
- Quick load menu now shows full internal names, or if LFN, as much
as the other ports show. [Nach]
Win Port:
----------
- Fixed a really strange crash problem on Windows 2003 systems. [pagefault]
- You can now use gamepad in the background without ZSNES having focus.
[pagefault]
- Fixed bugs so ZSNES can be run in VMWare. [pagefault]
- Can pause emulation in the background. [pagefault]
- Fixed black screen after the computer was locked. [Jonas Quinn]
- Fixed inline assembler in winlink.cpp when compiled with optimizations.
[Jonas Quinn]
- Added custom video modes. [Deathlike2, Nach]
- Debugger now works in this port. [SamB, pagefault]
- Added KitchenSyncPal and fixed a lot for KitchenSync issues [Deathlike,
Poobah]
- Added ForceRefreshRate as a replacement for Force60Hz. I'm sure someone
will fail reading the cfg file for help. [Deathlike]
- Added Keep 4:3 ratio as requested a while back by gltamarin. This is
useful for laptops/LCDs that use non 4:3 resolutions. [Deathlike]
- Can now set joystick sensitivity. [Deathlike]
- Can now view ROMs by SNES internal name. [Nach, Deathlike]
- Changed default option the Windows port uses due to sanity reasons. Also, a
check was added to prevent the black screen (and maybe double vision) issue.
A message box will now pop up to tell you what options you have. [Deathlike]
- Disable Screensaver Option now disables all annoying power management stuff.
[Deathlike]
- Changed "High Priority Mode" to "Use A Higher Priority" and Above Normal
Priority is used on NT. [Deathlike]
- Nach input boxes (video, path) now allow pasting via ctrl+v. [Nach]
- Added NTSC filter. [Blargg, pagefault, ipher]
- Fixed strange sprite priority bugs after switch to window/fullscreen.
[Jonas Quinn]
SDL Port:
----------
- Fixed bilinear filter in GUI [grinvader]
- Fixed video change freeze problems in port. [Nach]
- Make sound processing use less CPU cycles. [Nach]
- Fixed input responsiveness for controllers 3+. [bssteph]
- Added freedesktop.org file [pagefault]
- Fixed screen refresh for SDL software modes when toggling hq2x. [grinvader]
- Fixed a key repeating bug when changing resolutions. [grinvader]
- Fixed bug where mouse buttons were conflicting, right mouse click by itself
on 3+ button mouse. [Nach]
- Updated wheel handling. [Nach]
- Added a Variable OGL mode to center ZSNES output with proper ratio.
[NBondoux]
- Added custom video modes. [Deathlike2, Nach]
- New scancode handling system, should fix problems with non US keyboard
and Mac OS X. Thanks hector.
- Debugger now works in this port. [SamB]
- Can now set joystick sensitivity. [Nach]
- Added Keep 4:3 ratio as requested a while back by gltamarin. This is
useful for laptops/LCDs that use non 4:3 resolutions. [Deathlike]
- Can now view ROMs by SNES internal name. [Nach, Deathlike]
- Hopefully fixed numlock keypad quick select in the F3 menu. [Deathlike]
- Fixed bug when trackballs are present; also cleaned up joystick code a bit.
[spoon0042]
- Make stack non executable for ELF. Thanks drizztbsd. [Nach]
- Mac OS X support. [Nach, hector, BRPXQZME]
- Removed dangerous checking of environment variable for user's home path.
[Nach]
- Fix compilation on OpenBSD. [pagefault, Nach]
- Added NTSC filter. [Blargg, pagefault, ipher]
............................................................
v1.42 - January 19, 2005
............................................................
All Ports:
----------
- Corrected output of BRR decode for invalid range values (>12). [TRAC]
- Fixed sustain level 4 (5/8). [TRAC]
- More window boxes now have borders. [ipher]
- Close zip files properly when IPS is not found in zip (fixes crashing with
certain zlibs). [Nach]
- Cleaned up some code. [Nach, ipher, grinvader]
- Ported chip detection to C, improved BS detection. [Nach]
- Ported rewind to C (thanks Nach, TRAC). [grinvader]
- New reminder text. [grinvader, AspiringSquire]
- Rollback of "Improved accuracy of base rates used for ADSR, GAIN, noise,
and echo emulation". [ipher]
DOS Port:
----------
- Fixed label for Fullscreen/Widescreen options. [ipher]
SDL Port:
----------
- DESTDIR support. [theoddone33]
............................................................
v1.41 - January 18, 2005
............................................................
All Ports:
----------
- Improved accuracy of base rates used for ADSR, GAIN, noise, and echo
emulation. [TRAC]
- Fixed GUI escape stack corruption if .srm file could not be written to.
[Nach]
- Stereo settings now obey config file. [Nach]
- Fixed framerate loading from config file. [ipher]
- ZSNES no longer hacks itself in order to access variables; this eliminates
a few issues we had. [Nach]
- Source code cleanup. [Nach, ipher]
- Makefile overhaul; ZSNES can now be cross compiled. [Nach, ipher, malcster,
SamB]
- Fixed some invalid memory reads. [Nach]
- Ported config file creation/loading to C. [MKendora, Nach]
- Percent of execution now takes h-blank values into consideration.
[pagefault]
- Fixed Winter Gold FX crash. [Nach]
- Filtered GUI is now enabled by default. [Nach]
- Save location can now be edited in the GUI. [Nach]
- Added option to enable/disable auto IPS patching. [Nach, ipher]
- Saving last ROM info to rominfo.txt can now be turned off. [ipher, Nach]
- Organized options menu, and split off save related options into its own
menu. [ipher]
- Moved Super System DIP switches to the chip configuration menu. [ipher]
- More boxes have borders now! [ipher]
- New one-time user reminder text. [grinvader]
- Updated about box. [Nach, ipher]
- Overhauled toaster support. [Nach]
DOS Port:
----------
- Fixed a number of keyboard shortcuts in the GUI. [ipher]
Win Port:
----------
- Get_Date() now returns the proper value (it always returned the proper value
in DOS). [Nach]
- Correct timing when compiled with MinGW (Special thanks to Jonas Quinn for
all his help in getting ZSNESw compiled with MinGW and working). [Nach]
- More informative error messages when some DirectX component fails to load.
[Nach]
- Return 0 instead of random value on exit (keeps certain frontends happy).
[Nach]
- Fixed keyboard shortcut for "Trap Mouse Cursor". [ipher]
- Changed text in netplay window to be more clear about TCP/UDP. [pagefault]
- Updated ZSNESw compilation instructions in install.txt. [Nach]
SDL Port:
----------
- Get_Date() now returns the proper value (it always returned the proper value
in DOS). [Nach]
- Fixed a memory leak. [Nach]
- Fixed buffer underflow in sound code when rate was changed several times.
[Nach]
- Save files can now be correctly saved in locations other than ~/.zsnes.
[Nach]
- Updated video selection menu. (Thanks, Aerdan!) [ipher, Nach]
- 256x224 R Full for is now actually 256x224, not 320x240. (Thanks, Pieter
Hulshoff!) [ipher]
- 640x480 ODS Win is now actually 640x480, not 512x448. [ipher]
- Added 1280x1024. [ipher]
- Changed text in netplay window to be more clear about TCP/UDP. [pagefault]
- Homepage button to open browser now appears in about box. [Nach]
............................................................
v1.40 - December 25, 2004
............................................................
All Ports:
----------
- Added multiple timing tweaks, fixed various emulation bugs, and many other
technical updates, including (but not limited to): SPC core updates (with
improved sound decoding), safer memory allocation in certain areas, HIRQ and
VIRQ fixes, color add/sub and color bleeding fixes, HDMA improvements,
sprite priority and flickering fixes, and a slew of SRAM fixes. Many more
games work :D. [pagefault, _Demo_, Nach, TRAC, Overload, theoddone33]
- Overhauled a lot of code, such as checksum calculation and mirroring code.
Overhauled and added much better EHi/Hi/Lo ROM code, improved reset vector,
and changed much hard coding to variables. Fixed more SRAM bugs than we can
count. Made optimizations to complex loading functions, syntax, memory init
(Thanks kode54), execution, and initialization code. Also greatly improved
PAL/NTSC detection. Also now has much better chip detection and gives more
informative chip names. More games which never loaded before now load
properly, such as Dai Kaiju Monogatari 2; it now loads and plays great
without the Dejap patch. [Nach]
- Cleaned up, overhauled, removed, and ported a lot of code (asm to C).
[pagefault, MKendora, Nach]
- Overhauled IO latch behavior, added proper latching behavior and other latch
fixes (such as proper latching of bit 7 on $4201), and added proper behavior
of RDIO regs. [pagefault]
- Removed many, many hacks. [Nach, pagefault]
- There have been some modifications and reorganizations of the GUI, including
new path setup and chip configuration windows and a reorganization of the
Game Key window. [pagefault, Nach]
- Updates to the video code, with enhancements of triple buffering, better
input support in the video dialog, and other general video code updates and
bug fixes, such as a fix for the 60hz mode. [pagefault, MaxSt]
- New extra options are now available in various locations, like the "GUI
burning effect", new commandline options, a new quick key to control players
1/2 with 3/4, and smaller message text. Some obsolete ones have been
removed. [pagefault]
- Some changes in the Input configuaration: Hitting "Set Keys" is now
prevented if controller is set to "None". Also, if no controller is
selected, the settings of the individual keys are now locked. [Nach]
- Updated default configuration, in general. For example, stereo sound is now
enabled by default at 32khz, with gaussian interpolation. [pagefault]
- Signed saturation fix for gaussian interpolation (Thanks kode54).
[pagefault]
- Fixed several Netplay issues. [_Demo_, pagefault, Nach]
- Fixed some of our .zmv movie recording problems. [Nach]
- Fixed a small bug in SPC saving. [pagefault]
- Fixed issues with config file saving. [pagefault, Nach]
- Fixed PNG snapshot filenames and PNG height. [StatMat, Nach]
- Fixed DIP switch 2 on Super System. [pagefault]
- Fixed an auto frameskip issue (Thanks MKendora). [pagefault]
- Fixed rewind when using commandline filename. [StatMat]
- Fixed some issues when loading ROMs via command line. [Nach]
- Removed ROM info that appears when loading via command line. [Nach]
- Added a command-line savestate fix. [StatMat]
- Fixed an annoying savestate bug. [pagefault]
- Super Bases Loaded 2 works better, due to a fix in DSP-1 mapping. [_Demo_]
- Horai Gakuen works better, due to a special fix. [_Demo_]
- Lufia 2 problems are now fixed. [pagefault]
- Emerald Dragon now works - again. [pagefault]
- Many updates on the SPC7110, such as normal timing, special ratio removal,
and better pack loading code. [_Demo_, pagefault, Nach]
- Removed SPC7110 logger and S-DD1 test. [grinvader]
- Removed support for interleaved SuperFX ROMs. [Nach]
- Added several improvements and memory map adjustments for more accurate BS
emulation. [Nach, pagefault]
- Added call init code for DSP-2,3, and 4. [pagefault]
- Added better support for split ROMs with headers and detecting interleaved
ROMs. [Nach]
- Added support for many more ROM extensions. [Nach]
- ROM info now dumped to rominfo.txt on game load. [Nach]
- Added more information lines on ROM load, such as CRC32, video, and bank
information. [pagefault, Nach]
- Added support for some NSRT features, such as NSRT header support and
support for ROMs using NSRT's JMA compression format. [Nach]
- Zipped ROMs no longer need a temporary directory. [Nach]
- Added better handling of bad files. [_Demo_, Nach]
- Implemented soft IPS patching functionality, with in-zip file support,
buffering, and RLE support. [Nach]
- Added a compatibility update to PPU. Passes one more electronics test
(Thanks MKendora!). [pagefault]
- Fixed variable types in many locations; ZSNES can now play games without
hacking the binary to make code segments writable. [Nach]
- Made ZSNES more HTPC friendly. [pagefault]
- Fixed many compiler warnings, added compiler optimizations, and more
compiler fixes and code cleanups. [Nach, MKendora, theoddone33, pagefault,
ipher, SamB]
- Unicode support partially supported. Will complete later. [pagefault]
- ZSNES now displays the day it was compiled in the about box. [Nach]
- Updated authors.txt, support.txt, thanks.txt, and todo.txt. [pagefault]
DOS Port:
----------
- Fixed cubic spline interpolation. It should actually save the option now!
[pagefault]
- Fixed other various DOS sound bugs. [Nach, pagefault]
- Fixed a frameskipping bug. [pagefault]
Win Port:
----------
- Updated icon with Windows XP compliancy. [cdbsi]
- Added new disable screensaver code. [pagefault]
- Added a CPU utilization fix. [kode54, pagefault]
- Added 48khz sound support, updated sound code, and fixed sound bugs.
[pagefault, Nach, ipher, StatMat]
- Fixed a couple of input bugs, such as one concerning the 5th joystick and
another that made the mouse get stuck in an endless loop. [pagefault]
- Removed alternate timer. [pagefault]
- Fixed Netplay freezing bug. [pagefault]
- Many new video features, including (but not limited to): HQ2X, HQ3X, and
HQ4X graphic filters, support for hi-res and D modes in 32bpp windowed mode
(now default), new aspect ratio code for scaling, and the KitchenSync
(usable only via the commandline). [MaxSt, pagefault, Darkfalz]
- Fixes for video code errors, such as those that occured when alt-tabbing in
fullscreen, MMX interpolation fixes, and blitter fixes. [pagefault,
zsKnight]
- Snapshots are now numbered and use the full ROM file name. [Nach]
- Renamed Windows version to Win32. [pagefault]
- Win32 port can now also be compiled with MinGW (but we won't support it till
the next release). [Nach, Jonas Quinn]
SDL Port:
----------
- Updated icon. [cdbsi]
- Updated Linux video code to Windows version. [pagefault]
- Fixed problems with nVidia cards. [Diablo-D3]
- Fixed audio problems with broken drivers. [Diablo-D3]
- Added 48khz sound support. [pagefault]
- Updated joystick input support. [theoddone33, Sander]
- Fixed savestate incrementor; this caused some crashes. [pagefault]
- Cleaned up the Linux Autoconfigure [Diablo-D3]
- Added a couple of things for the start of BeOS compatibility. [theoddone33]
- Fixed 16->32bpp LUT related bug. [kode54]
- Added hardcoded alt-enter fullscreen toggle. [theoddone33]
- Added dialog for why the video mode couldn't be set. [theoddone33]
- Added circle buffer patch (savestate fix). [zinx]
- Fixed problem with man page when installing (when man1 directory doesn't
exist). [hpsolo]
- Fixed cmd line sound quality. [pagefault]
- Fixed zlib and libpng issues. [theoddone33, pagefault]
- Updated libpng version checking [theoddone33]
- Added -lm to acinclude.m4 so AC_TRY_RUN doesn't return negative on some
systems looking for libpng. [theoddone33]
- Overhauled makefile. [theoddone33]
- Fixed install target; -D should not be used. [theoddone33]
- Added the name of the start address to the error message that occurs when
mprotect fails. [theoddone33]
- Update config.sub. This allows configuration on 64-bit targets, and requires
autogen.sh to be rerun. [theoddone33]
- Added HQ2X filter! [MaxSt, pagefault, zinx]
- Snapshots are now numbered and use the full ROM file name. [Nach]
- Renamed Linux version to SDL. [pagefault]
We have also greatly improved support for special hardware in ZSNES v1.40.
These require special mention:
............................................................
v1.36 - July 15, 2002
............................................................
............................................................
v1.35 - June 23, 2002
............................................................
- Fixed triple buffering corruption on some VESA 2.x video modes, a very nasty
bug which accidentally slipped into version 1.337. [stainless] (DOS only)
- Added full scanlines to 320x256x8b Mode-X. Uses the same timings
as the 256x256x8b full scanlines, so it may or may not work
correctly depending on your video card. [stainless] (DOS only)
- Linked the EAGLE engine to the filtered GUI option and fixed
guassian interpolation which has been broken since version 1.71b.
[stainless, kode54] (DOS only/all ports)
- Cleaned up the 320x480x8b and 320x240x16b blitters and added
MMX support to 320x480x8b for a nice speed increase. [stainless] (DOS only)
- Added 640x400 alternatives to 512x384 video modes for video cards which
don't have them. Added a small screen option to the 512x384 and 640x400
video modes with MMX support. Also added a "wide screen" option to
640x400 video modes. [stainless] (DOS only)
- Added a full screen option to the 320x480 video modes, along
with a basic interpolation to 320x240x16b and 320x480x16b
Full screen in 320x480x16b has full/25%/50% scanlines and
interpolation has full scanlines. [stainless] (DOS only)
- Added experimental 800x600 video modes. Fixed 'n' command-line
option to allow toggling of 25%/50% in addition to full, also
cleaned up the command-line options message and the config file.
Noticed some video modes were way off-centered, fixed that
too, should now be perfect. [stainless] (DOS only)
- Fixed printing of MMX enabled message on the GUI background if you checked
MMX SUPPORT under CONFIG -> OPTIONS. Also, if you check MMX SUPPORT by
using the keyboard shortcut it will now attempt to actually detect MMX
before enabling it. :) [stainless, pagefault] (DOS only)
- Command line support in windows port [StatMat]
- Fixed problem when some video modes were not being saved. (Windows only)
[pagefault]
- Lots of updates to Linux/SDL version, including sound fixes, video code
updates and other misc bugs. [theoddone33, Thorsten Glaser, Wilbern Cobb]
- Fixed gamma in PNG snapshots. [pagefault]
- Added several new goodies to the GUI, which include a force 8-bit sound
option (fixes a few cards under WinMe), a second water effect, and
an experimental smoke effect. [stainless] (DOS only/all ports)
- Fixed problem with sound getting disabled when running command-line
network games. (Windows only) [pagefault]
- Updated video code in Windows port to properly display 239 line modes.
(Windows only) [pagefault]
- Commented, unified, and cleaned up the Mode-Q and Mode-X blitters. I did a
major overhaul to the DOS video code, I cleaned up and reorganized it alot,
and there seem to be no problems as of yet. [stainless, TRAC] (DOS only)
- Fixed a bug in sprite priority rotation. (fix damage in FFMQ) [TRAC]
- Fixed long delay between battles and fixed flickering colours
on map in Front Mission. [pagefault]
- Fixed hang when picking up apples in Equinox. [pagefault]
- Fixed keyon bug in DSP code, fixes sounds in Flaskback 3 Language Edition
(Thanks neviski) [_Demo_]
- Fixed "disco colours" in NBA Hangtime when the ball drops. [pagefault]
- Fixed an NMI issue with register $4212, fixes hang in Cu-On-Pa,
Bubsy and others. [pagefault]
- Fixed a mode 4 bug in the new graphics engine that was causing
the title screen in The Lost Vikings to be scrambled. [pagefault]
- Added support for Super System arcade system, set DIP switches
in add-on's menu in GUI. Games MUST be zipped in order to load. [pagefault]
- Added special support for Earthworm Jim 2 sound effects. [_Demo_]
- Added hack for Deaetonosama Apareitiban. [_Demo_]
- Fixed super scope position reading. [_Demo_]
- Modified a few timing things. [_Demo_]
- Fixed some 65816 instructions in processor emulation mode. [_Demo_]
- Added special timing for Grand Prix 3. [_Demo_]
- Modified sound decoding another time (helps various noise sounds like DQ6).
[_Demo_]
- Modified joypad reading for VS Collection. [_Demo_]
- Special modification for Bahamut Lagoon and Clay Fighter to delay write
to the hdma register. (those games need dma delay implemented) [_Demo_]
- Lots of other minor fixes and things we forgot to mention.
............................................................
v1.337 - September 30, 2001
............................................................
All ports
---------
- Added a customizable key to toggle display of the game clock [pagefault]
- Added support for up to 100 SPC file saves per game [pagefault]
- Added customisable keys to increment and decrement the save state slot
[pagefault]
- Added a customisable key to quickly save an SPC file [pagefault]
- Added force NTSC/PAL and force HiROM/LoROM options to GUI [pagefault]
- Added a customisable key to toggle the display of the FPS counter
[pagefault]
- Added keyboard shortcuts to video options menu [pagefault]
- Added feature to automatically increment save state slot after each save
[pagefault]
- Added new 8-point sound interpolation and two new lowpass filters
(requires a fast processor, 8pt interpolation and high quality
lowpass requires an MMX processor) [kode54]
- Fixed an annoying bug when the menu selection bar would be floating
in thin air (Thanks to EMu LoRd for pointing this out) [pagefault]
- Fixed MMX toggle option, now saved when you restart ZSNES [pagefault]
- Fixed freeze/crash when saving SPC files [pagefault]
- Fixed filtered GUI option with 2xSaI enabled not refreshing the screen
[pagefault]
- Fixed graphics when reseting a game with 2xSaI engine on and the FPS
counter and/or game clock on [pagefault]
- Fixed Vortex, Clayfighter 2, Mr. Nutz, Tenchi Wo Kurau Sangokushi
Gunyuden and others now working again [_Demo_]
- Fixed Umi Hara Kawa Se and Tin Tin in Tibet [_Demo_]
- Fixed LoROM/HiROM detection code, Star Trek: Deep Space Nine and
possibly others now working [pagefault]
- Fixed Front Mission: Gun Hazard and Pocky and Rocky, now working again
[_Demo_]
- Fixed Neugier and Battle Grand Prix freezing after a certain point
in the game. [_Demo_]
- Fixed bug in rom header information and checksum status display,
fixes Tales of Phantasia and others [pagefault]
- Fixed Marko's Magical Football copy protection [pagefault]
- Fixed problem with Filtered GUI enabled and parts of game screen
would show up in GUI menus [pagefault]
- Fixed frameskip command-line offset [pagefault]
- Fixed Sim Earth, now loads but map is still not visible [_Demo_]
- Fixed crash in Home Alone when starting a new game [_Demo_]
- Fixed sprites in Super James Pond 2 and Kirby Avalanche (Thanks
Snes9X for the info) [_Demo_]
- Fixed 256x239 SNES resolution offset in Windows and Linux ports, games that
use this resolution should now be displayed properly in these ports [_Demo_]
- Fixed freeze in Accelebrid after a few seconds of gameplay [_Demo_]
- Fixed cursor getting messed up in Windows and Linux ports when using
a 16-bit desktop [_Demo_]
- Fixed bugs when switching between fullscreen and windowed modes with
fullscreen button in Windows and Linux port [pagefault]
- Fixed Triple Buffering and vsync options so they can't be enabled at
the time (Triple buffering includes vsync automatically) [pagefault]
- Fixed sprite layer disappearing when changing screenshot formats or
moving the F1 menu [pagefault]
- Fixed a clipping offset bug in the new gfx engine [pagefault]
- Fixed BG3 issue with sub-screens in new graphics engine, fixes gfx
in Bahamut Lagoon's intro and lots of other games [pagefault]
- Fixed timing problem in Clock Tower that caused it to freeze
randomly in-game, implemented a hack for now [pagefault]
- Fixed Cu-On-Pa freezing when starting a new game (Thanks to Lordtech
for the help) [_Demo_]
- Optimised global code base, most people should see a performance increase
[pagefault, stainless]
- Moved vsync option from game options menu to video options [pagefault]
- Improved S-DD1 decompressed pack loading and execution, increases
performance in S-DD1 decompressed pack games [pagefault]
- Lots of debugger fixes and additions [byuu, bongo]
- Removed disable screensaver text from DOS and Linux ports [pagefault]
- Updated water effect code to using lighting effects [stainless, kode54]
- Improved SPC700 sample processing, fixes sounds in numerous games [_Demo_]
- Disabled H-DMA for Bahamut Lagoon and Mortal Kombat, fixes some gfx problems
[pagefault]
- Changed default keyboard layout for player 2 as some keys were overlapping
player 1 (Oops!), If you were having problems buying things in FF4 or
in other games make sure to change your keys for player 2. [pagefault]
- Cleaned up config file in Windows and Linux ports, removed DOS
related comments [pagefault]
- MMX option now checks for a MMX processor when enabling it in the GUI,
also no longer crashes on processors without a cpuid when detecting MMX
[pagefault, kode54]
- Last netplay IP address used is now saved in Windows and Linux ports
[pagefault]
- Reorganized sound menu; removed sound interpolation checkbox and made
a new list of different types of interpolation: gaussian (original
interpolation with enable interpolation option), cubic spline and 8-point
interpolation. Also made a new list of lowpass filters. [pagefault]
- Removed FPU copy from -? option on command line message, since it is
no longer supported. Also cleaned up that message in general [stainless]
- FPS at program start option no longer enables FPS display when auto
framerate is not enabled [pagefault]
- Updated video interpolation code, now looks better than before [kode54]
- Lots of misc GUI fixes and cosmetic tweaks [pagefault]
- (UPDATE) Added surround sound to Windows and Linux ports, updated filter
in DOS port (This was left out of the previous whatsnew file) [kode54]
DOS v1.337
----------
- Added grayscale mode toggle to GUI [pagefault]
- Added support for 5 SNES gamepads on LPT1 [ZDrumm]
- Added two new 256 color linear VGA video modes, 256x224 and 256x240
[stainless]
- Added proper gamma correction, now ranges from 0 (1.0) to 15 (~2.0)
in 8bpp modes [stainless]
- Fixed Filtered GUI option, now works [pagefault]
- Fixed full scanlines disappearing in some modes [pagefault]
- Fixed a handful of bugs in the joystick code which may cause the joystick
not to work if it has a driver installed under Win9x control panel
[stainless]
- Fixed date problem in S-RTC games not reporting the proper day of the week
[stainless]
- Fixed issue with some sound blaster compatible cards not working
properly in the DOS port [kode54]
- Reordered video modes in alphabetical order [stainless]
- Improved SNES pad reading routine, any speed hit now should be
minimum when using a snespad adaptor [pagefault]
- Improved interpolation performance [stainless]
- Default keys for player 1 are now the same as Windows and Linux ports
[pagefault]
- You can now use / in command line options in addition to the
previous - character [stainless]
Win v1.06
---------
- Added option to toggle the trap mouse cursor feature which prevents
the mouse cursor from leaving the window by accident [pagefault]
- Added 640x480 DS WIN; 1024x768 DR FULL; 1280x960 S/DS WIN, S FULL;
1280x1024 DR/R/DS WIN and FULL resolutions [pagefault]
- Added a more meaningful message when changing to a resolution
isn't supported [pagefault]
- Fixed problem with SRAM not being saved when pressing ALT-F4 in game
[pagefault]
- Updated icon yet again, looks really nice. [enigMa]
- Fixed possible crash when exiting [pagefault]
- Fixed bug when scrolling in scrollboxes in the GUI would not trap
the mouse cursor inside the scrollbox like the DOS port does [pagefault]
- Either alt key can now be used when using the alt-enter combination
to switch to fullscreen [pagefault]
- Removed triple buffering option from windowed video modes (it does
not work in windowed mode) [pagefault]
- Optimised some Windows port specific code, should give a small speed
boost for most people [pagefault]
- Rewrote mouse input code, much more efficient now. [pagefault]
- Reordered video modes in alphabetical order; removed 64x52 and 128x112
resolutions (Thanks to Terrorcide and McGuiver for helping me test this out)
[pagefault]
- Improved performance in 32bpp windowed modes [pagefault]
- Rewrote some of the audio code to be much more efficient, also added
MMX optimisations [pagefault, kode54]
- When switching to windowed mode from fullscreen, the window position
is now remembered [pagefault]
- Removed large sound buffer and exclusive mode option, they shouldn't
be needed anymore [pagefault]
- Now uses idle task priority when in GUI and window is not active,
should also smooth task swtiching on slower computers [pagefault]
- (UPDATE) Fixed server IP bug when using zbattle.net or command-line
options to connect [pagefault]
Linux v0.37
-----------
- Added autoconf support for easy compiling [Diablo-D3, amit, theoddone33]
- Fixed sound buffering in linux port to improve sound on some cards
[Diablo-D3]
- Implemented S-RTC time functions, FEoEZ and other S-RTC games will
now report system time in game [pagefault]
- Now supports compiling with gcc 3.0.0 [EvilTypeGuy]
............................................................
zsKnight Leaves - July 23, 2001
............................................................
I'm sorry to say this, but this marks my permanent leave from the ZSNES project,
anything related to this, and emulation overall. The reason why is that my dad
just passed away today (he died in his sleep, which is strange since he was
perfectly healthy yesterday night), so I'm going to have to spend more of my
energy devoted to helping my family. My dad is also the main person who provides
the finances to the family (since my mom doesn't work), plus I still have about
2 more years to go before I graduate from university, so my immediate future
doesn't look that great because with my dad gone, that would mean that I need to
put up more responsibility towards taking care of the family instead of
studying. But I just hope that everything will go well. Thanks to all you
supporters for everything. Sorry for the lack of a proper goodbye though, so
I'll probably update once more after I get out of this shock in another day.
- zsKnight
............................................................
v1.31b - July 3, 2001
............................................................
All ports
---------
- Fixed Super Punchout, now working [zsKnight, _Demo_]
- Fixed SD Gundam GNext again [_Demo_]
- Final Fantasy Mystic Quest now works again [zsKnight]
Win v1.04
---------
- Fixed grayscale toggle [pagefault]
- Updated icon again for black backgrounds [enigMa]
Linux v0.31
-----------
- Now compiles and runs on QNX6 systems [TheAlien]
............................................................
v1.31 - June 27, 2001
............................................................
All ports
---------
- Fixed Mode 4 offset bug (Fixes Bust-A-Move, Puzzle Bobble possibly others)
[zsKnight]
- Emerald Dragon is now working [_Demo_]
- Fixed Last Bible 3 DMA problem (Thanks to SNES9x for the info) [_Demo_]
- Fixed Super Robot Was Ex (Thanks again to SNES9x for the help on this)
[_Demo_]
- Moved disable SPC emulation option to sound menu where it should be
[pagefault]
- Fixed Wizardry 4 and Honkakuha Igo Gosei, interleaved funny [_Demo_]
- SD Gundam GNext no longer crashes ZSNES, and actually is playable now.
[_Demo_]
- Spindizzy worlds should work again [_Demo_, zsKnight]
- Dezaemon sprites working now, had to clear OAM address when first
address byte is written to [zsKnight]
- Power Rangers the Movie working, was reading from register 2144 [_Demo_]
- King of Rally now working [_Demo_]
- Emerald Dragon working, added a hack to disable ENVx for that game
[_Demo_, zsKnight]
- Full Throttle Racing working, fixed a bug with the wai 65816 instruction
[_Demo_, zsKnight]
- Renamed black and white mode to grayscale mode [pagefault]
- Got Traverse Starlight and Prairie to go further, but it
still freezes after several scenes [zsKnight]
- Mario RPG minecart Mode 2 scene working better now [zsKnight]
Win v1.03
---------
- Added disable screensaver feature to disable screen saver while
ZSNES is active [pagefault]
- Fixed yet another DirectInput slowdown [pagefault]
- Added joystick POV hat support (Thanks to kode54 for testing and
fixing my code) [pagefault, kode54]
- Added error messages and directions if DirectX 8.0 is not installed [kode54]
- Fixed another Windows 2000 freeze on exit bug [pagefault]
- Fixed BSOD when loading roms on some systems [pagefault]
- Hopefully fixed a crash when multiple roms where in a single zip
file (only one rom can be loaded per zip file) [pagefault]
- Fixed a possible crash when loading/continuing a game (Thanks to
Metus for pointing this out) [pagefault]
Linux v0.29
-----------
- No changes
............................................................
v1.30b - June 16, 2001
............................................................
All ports
---------
- Support for Star Ocean S-DD1 decompressed pack is now enabled. [zsKnight]
- Fixed bug in H-DMA code, fixes Hook and Bugs Bunny and maybe others
(Thanks to Gary of Snes9X for help on this) [_Demo_]
- Updated documentation [Matt Kendora]
- Fixed new gfx mode checkbox in options menu [pagefault]
Win v1.02
---------
- Added 800x600 DR FULL mode (scroll down to the bottom of the mode
list to see it)
- Fixed timing problem in games when 58 seconds was 1 minute in ZSNES
[kode54, pagefault]
- Fixed voices in ToP opening and Star Ocean [pagefault]
- Fixed another DirectInput slowdown [pagefault]
- Fixed joystick 5, it should be working now [pagefault]
- Optimised code some more, giving 3-5 FPS boost on most systems [pagefault]
............................................................
v1.30 - June 13, 2001
............................................................
All ports
---------
- Bubsy 2 working again [zsKnight]
- Batman: the return of the joker working now [_Demo_]
- Sound Novel T-Cool and Derby Stallion 96 memory mapper added [_Demo_]
- Fixed BRR block header bug (fixes Raiden Densetsu, Chrono Trigger,
Gundam Wing: Endless Duel, and a few other games) [_Demo_]
- Updated documentation [Matt Kendora]
- New whatsnew.txt format [pagefault]
Win v1.01
---------
- Updated icon [enigMa]
- Added 1280x960 DR, DR FULL modes to Windows port [pagefault]
- Fixed random crash when loading roms in Windows port [pagefault]
- Rewrote resolution switching code [pagefault]
- Window now moves much smoother and faster [pagefault]
- Readded large sound buffer option [pagefault]
- Fixed CPU usage when window was minimized [pagefault]
- Fixed multiple instances when window was minimized [pagefault]
Linux v0.29
-----------
- OpenGL support [hpsolo]
- Bilinear option (w/ filtered GUI) [hpsolo]
- Fixed video mode descriptions (zsnesl.cfg) [hpsolo]
- Resizable windows [amit]
- Filter options (scanlines, 2xSaI, etc) for OpenGL modes [zinx]
- Many more video modes for OpenGL, including full screen [hpsolo]
- Joystick POV hat support [hpsolo]
- Added support for 5th Joystick [hpsolo]
............................................................
v1.29, Win v1.00 - June 1, 2001
............................................................
............................................................
v1.28b, Win v0.99 - May 28, 2001
............................................................
............................................................
v1.28, Win v0.99 - Unknown Release Date
............................................................
............................................................
v1.26, Win v0.97 - May 17, 2001
............................................................
............................................................
v1.25, Win v0.93 - May 15, 2001
............................................................
- Fixed cheat menu text when game was not loaded [pagefault]
- Fixed unlabed checkbox in DOS port [pagefault]
- DSP1 - Fixed plane controls in Pilotwings [_Demo_]
- dosintrf.asm - Fixed header detection in the dos port [zsKnight]
- gui.asm - Video mode checking done at initialization [zsKnight]
- Enabled mouse wrap in the Windows and Linux ports [pagefault]
- Fixed full screen mode switch when the user starts ZSNESw before
selecting any full screen modes [zsKnight]
- Made default video mode 512x448 windowed in Windows port [pagefault]
- Prevented enter key from affecting gameplay on returning
from F1 and F3 menus [zsKnight]
- Added minimize button to the Windows port [pagefault]
- Added always on top option in GUI options menu [pagefault]
- Menu fix for 8bit graphics modes [zsKnight]
- ZSNESW now remembers the window position on your desktop (can be
disabled in GUI options) [pagefault]
- Fixed crashing problem with some IPS's in ZIP's [Teuf, zsKnight]
- Ported to DirectX 8.0 which fixed some problems and improved performance
(DirectX 8.0 is now required to run ZSNESW) [pagefault]
- DSP1 - Fixed map offset problem in Pilotwings [zsKnight]
- DSP1 - Fixed rings being mysteriously passed problem in Pilotwings
[zsKnight]
- Fixed DirectSound crash when a normal priority buffer could not be acquired
[pagefault]
- Fixed DirectInput compatibility on some computers [pagefault]
- Optimized DSP1 code for better performance [teuf]
- Added proper full main/sub-screen window clipping in the new gfx 16bit
engine (fixed Illusion of Gaia/DKC2 selection screens, etc) [zsKnight]
- Added checksum/header name/chip type header display upon game load
[zsKnight]
- Added PNG snapshot support which is selectable in the F1 menu [Matt Kendora]
- Stunt Race FX old graphics engine force fixed [zsKnight]
- Fixed MegamanX copy protection schemes [zsKnight, Matthew Kendora]
- Fixed TopGear 2 PAL version from detecting a PAL system [zsKnight]
- Implemented OBC1 chip (for Metal Combat) [zsKnight]
- Fixed Mode 7 bug in Super Ghouls and Ghosts [zsKnight]
- Added turbo keys for L & R keys [zsKnight]
- OBC1 emulation support. Metal Combat works! [zsKnight]
- You can now customizable the colors to the title bar and window colors.
[zsKnight]
- Optimised global code to provide up to a 50% speed increase on it on most
processors [pagefault]
- Added black and white mode to Windows and Linux ports [pagefault]
- ZSNESW is now packed with the newest version of UPX [pagefault]
- Cleaned up the cfg files for windows/linux ports [pagefault]
- Fixed command-line crash in the Windows port (Thanks Matt Kendora)
[pagefault]
- Save/Load state now displays which state is being loaded [hpsolo]
- Added double buffering support to Linux port [teuf]
............................................................
v1.20b, Win v0.88 - April 30, 2001
............................................................
............................................................
Source Code Released - April 2, 2001
............................................................
The ZSNES Sources have finally been released in the CVS repository of the
sourceforge page. We also would like to welcome Teuf as a member of the ZSNES
team as an assistant coder! He's helped us with quite a lot in the past while,
including (but not limited to) setting up the Source Forge page, helping us to
write the open source documentation, fixing up the ZSNES sources to not require
a custom version of nasm, organizing the sources into directories, modifying the
make file, etc. With the sources released, we also hope to release an updated
binary soon. Click on the Sourceforge link on the left side of the screen to
access the sources. The sources will also be available in a ZIP file for those
who don't want to use CVS.
............................................................
v1.17b - December 27, 2000
............................................................
* A nasty bug has crept into the DOS version in the 8-bit video modes,
so a fixed version (v1.17b) is released (it has the same filename as
v1.17 so just overwrite it).
............................................................
v1.17, Win v0.85 - December 25, 2000
............................................................
- Added slow-down key. You can configure it in Misc -> Game Keys
- Invulnerability bug of the 3rd boss in Demon's Crest in the
good checksum roms is fixed through rom mirroring
I also noticed that this fix is the same as what the author of SNEeSe
told me before about on some MegamanX1 roms, but I never had that rom
so I never added this until now. Guess that rom is also fixed too.
- Changed memory initialization values - Lost Viking 2 works again
- 65816: Fixed WAI instruction timing with HIRQ's
Top Gear 2 - 2 player mode works now
- Improved IRQ re-execution timing precision
- Starfox 2 beta now runs with sound!
- Fixed flickering problem in Starfox 2 beta
- Added Mode 2 16x16 tile offset per tile mode
- (Win32) Improved the timestamps on UDP headers. This should (hopefully)
solve those out of sync (where both sides see different things) problems
with certain connections (ie. T1/LAN connections) in netplay.
- (Win32) Added a big notice in netplay.txt. For all of you who used
netplay and had poor experiences with a ping time of less than 300ms,
read it! Also added a more realistic system requirements description
for decent netplay in netplay.txt rather than a cpu speed estimate.
- Changed reverse stereo method to become invisible to the sound
registers in emulation
............................................................
v1.14, Win v0.80 - November 27, 2000
............................................................
............................................................
v1.12, Win v0.74 - November 14, 2000
............................................................
............................................................
v1.11, Win v0.72 - November 12, 2000
............................................................
............................................................
v1.10, Win v0.70 - November 7, 2000
............................................................
- 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 <ip address> 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.
Note: Netplay plays really nice as long as the net connection is not
unstable, both sides have a fast cpu (speed requirements depend
on the game), and at least have a 28.8 connection.
*** PLEASE READ ZSNESW.TXT IF YOU ARE STILL HAVING PROBLEMS WITH
THE WINDOWS PORT
............................................................
v1.01 - September 9, 2000
............................................................
- 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
............................................................
v1.000 - September 1, 2000 - First Windows Release
............................................................
- Implemented C4 emulation :
- C4 Sprite structure -> OAM conversion routines
- Sprite Rotate/Scale ability
- Sprite disintegrate function
- All in-game used math co-processor functions (hopefully)
- Both wireframe modes
- There are still some problems with C4 emulation, but I'd
consider them to be quite minor to just leave them there.
Thanks to StarCreator for recording a bunch of movies off
of the real snes for me to compare!
- Tweaked ADSR a bit
- Decreased envelope when key on is issued while sound is still playing.
This fixed static/popping sound bugs that affected many games.
- Added the ability to select the Add-on device (Snes Mouse/Super Scope)
from the GUI through the Add-on option in the Config Menu
- Added a hack to allow the mouse to control the cursor in Lethal Enforcers
(Press '7' 4 times to activate or select it from the Add-on option in the
Config Menu). Unfortunately, this method has problems (ie. mouse moves
things that it shouldn't) but it should be good enough, especially for
those who asked for this. I doubt this works in LE2, however.
- Added a manual load entry box so that you can type in the
filenames/directories manually or type in part of the filename and the GUI
will seek to whichever filename contains or closely contains that part
- Pharos coded a water effect, getting help from Scott Scriven's
water effect code.
- You can enable/disable the Water Effect and Snow Effect from the
GUI Options (MISC Menu in the GUI)
- Implemented Sprite Windowing to the new gfx 8bit engine. This
completes all the features that I have planned for that engine.
- Fixed a really nasty stereo bug that caused volume levels/pans
to sound completely off on one of the speakers
- Added player 5 as a normal player instead of just being available
in modem/ipx play
- Implemented an option to turn in-game messages/fps display to be transparent
- Added a Set Keys feature to the Input Routines in the GUI that
allows you to set all of the standard SNES keys all at once
instead of clicking on the inputs separately to set them
- Ported the new graphics 8bit engine to 16bit:
- All the standard snes features from the 8bit engine
- Works with all 16bit resolution modes/effects
- Ported high resolution Mode 7
- Added proper main/sub screen support and windowing support
- Added all transparencies modes
- Added Direct Color Mode7
- 2xSaI and 50/75% scanlines can now co-exist with high resolution modes
- This is now the default engine for 16bit. Some games won't
work well with this engine such as some SuperFX games (eg. Stunt
Race FX in the menus). You can switch back to the old graphics
engine by pressing the '8' key.
- Implemented a dual cache system in the tile modes. I don't know
how much of a speed increase this gives since my system can already
run the old graphics engine at full speed and framerate.
- Full 15bit transparencies for MMX cpus only.
- High Resolution Mode7 can be toggled on/off in the Video Options.
It is disabled by default since this feature requires a fast CPU.
- Added 48khz sound sampling rate
- Tweaked VBlank timing a bit
- Tweaked 65816 CPU cycle execution a bit
- Added Kreed's Super 2xSaI engine. It's written in C,
so it requires a really fast cpu to run it.
- Added picture preview to the save states in the F3 window.
Newly created save states will contain a small picture in them.
Pictures will not appear in old save states, however.
............................................................
v0.991 - May 24, 2000
............................................................
............................................................
v0.990 - May 24, 2000
............................................................
............................................................
v0.9891c/a - February 21, 2000
............................................................
............................................................
v0.989c/a - February 12, 2000
............................................................
- 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!
............................................................
v0.988c/a - December 6, 1999
............................................................
............................................................
v0.987c/a - November 26, 1999
............................................................
............................................................
v0.986c/a - November 23, 1999
............................................................
............................................................
v0.985c - November 15, 1999
............................................................
............................................................
v0.963c/a - September 19, 1999
............................................................
NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files in the
assembly only version. Use v0.963c for those features. The only time
when you should use this version is if v0.963c doesn't work for you.
- 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.
............................................................
v0.962c/a - September 18, 1999
............................................................
A Only:
NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files in the
assembly only version. Use v0.962c for those features. The only time
when you should use this version is if v0.962c doesn't work for you.
- All changes from v0.960c
............................................................
v0.960c - September 17, 1999
............................................................
............................................................
v0.953c/a - August 4, 1999
............................................................
A Only:
NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files
in the assembly only version
- Fixed a small H+V IRQ timing problem
- Fixed some vertical off by 1 line bugs
- Attempting to save over read-only files shouldn't mess up anymore
- 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 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
- 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.
............................................................
v0.952c - August 3, 1999
............................................................
............................................................
v0.951c - August 3, 1999
............................................................
............................................................
v0.950c - August 2, 1999
............................................................
- 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.
............................................................
v0.941c/a - July 18, 1999
............................................................
............................................................
v0.940c/a - July 18, 1999
............................................................
............................................................
v0.915c/a - July 7, 1999
............................................................
NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files
in the assembly only version
- 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
+ A: 320x480 modes can now be selected in the GUI
- properly cleared 320x480x256 video mode
- F3 menu should now be correct during hi-res mode 7
............................................................
v0.910c/a - July 6, 1999
............................................................
NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files
in the assembly only version
- 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.
+ A: Fixed cheat search engine
- 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
............................................................
v0.900c/a - July 4, 1999
............................................................
NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files
in the assembly only version
- Fixed another sprite priority bug
+ A: Fixed an IRQ problem that was caused during the C -> ASM conversion
- 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.
+ C: 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.
+ C: .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
............................................................
v0.800a - December 25, 1998
............................................................
............................................................
v0.800c - December 24, 1998
............................................................
............................................................
v0.715 - October 29, 1998
............................................................
- 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.
NOTE : It seems like IPX mode randomly loses packets in certain
configurations so IPX isn't recommended to use yet.
............................................................
v0.700 - October 26, 1998
............................................................
............................................................
v0.635 - September 24, 1998
............................................................
- 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 - September 18, 1998
............................................................
- 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 - September 10, 1998
............................................................
- 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 - September 9, 1998
............................................................
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 - September 9, 1998
............................................................
............................................................
v0.400 - May 19, 1998
............................................................
............................................................
v0.393 - April 15, 1998
............................................................
............................................................
v0.391 - April 13, 1998
............................................................
- 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 - April 11, 1998
............................................................
............................................................
v0.300b - February 10, 1998
............................................................
............................................................
v0.300 - February 9, 1998
............................................................
............................................................
v0.297 - January 31, 1998
............................................................
............................................................
v0.296 - Not released?
............................................................
- 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 - January 29, 1998
............................................................
- 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 - December 25, 1997
............................................................
............................................................
v0.201b - November 5, 1997
............................................................
............................................................
v0.201 - November 5, 1997
............................................................
............................................................
v0.200 - November 4, 1997
............................................................
............................................................
v0.182 - October 23, 1997
............................................................
............................................................
v0.180 - October 22, 1997
............................................................
- Move the whats new stuff to readme.txt
- Forgot to remove the end of string marker so the new vesa modes didn't show
in the previous version help
- Fixed minor SNES PPU DMA bug
- lowered volume again
- Fixed a vesa 2 bug issue. Nothing major
- Removed PCALL/TCALL. If anyone knows the implementation of these
instructions, please tell us. Also, we will not accept any requests to put
these back on unless the info the found. Thanks.
- Modified SPC700 cycle timing.
- Added code that properly deinits sound blaster auto-init mode
- Moved sound blaster interrupt code a bit
- Added Gamma Correction (use -g # in the command line)
- Added what the default keys are in the readme.txt (We should have done this
in the first release. Oh well =) )
- Added a new command line that can modify the % of clock cycles executed.
ZSNES currently is modified so that 100% runs as many games as possible so
it is strongly recommended that you do not set this. But to modify this,
use -p # in the command line.
- Hopefully fixed up sprite BG layering priorities and background priorities
to the correct way. Thanks to Y0SHi for this info!
- Fixed up key ordering in zsnes.cfg. Thanks to Michael and Aquis for
reporting this! If zsnes.cfg already exists, change the button order to :
B, Y, A, X, L, R
- Fixed up set blaster detection.
- SPC700 : Fixed up a minor flag setting bug in pop psw
............................................................
v0.170 - October 16, 1997
............................................................
............................................................
v0.150 - Initial Release - October 14, 1997
............................................................
. . . . . . . . . . . . . . . .
This documentation is best viewed in a fixed-width font such as "Courier New".