This release is mostly a bunch of bug fixes for things new and altered in v1.51.

On the emulation side of things, we now finally have 224 lines displayed correctly, and some minor timing fixes. Major emulation core changes won't be until a future release.

I would like to thank all those who reported bugs and sent in patches for v1.50, we've fixed roughly 3 dozen problems that cropped up with v1.50, including issues with loading older save states and various save state saving/loading problems, so this release should now be quite stable.

For SDL users who had sound issues before, we've made some fixes to that, as well as added support for libao sound output. Run configure with --enable-libao to get the new sound options compiled in. See zsnes --help for a list of drivers you can use. Feel free to play with each one and see which works best for you, there should be something to make everyone happy. Note however that certain older Linux versions have a bug in their threading which would cause all libao drivers to not output sound. If you're having such an issue, install a new Kernel.

Also requested many times in the past was separate input for each game. I'm pleased to announce that with our new PSR language, adding this greatly desired feature was a cinch, so enjoy!

Lastly, people who have enjoyed the movie features with v1.50 should be happy to see that we've expanded them even more. For those of you dumping to raw or AVI, you're now able to specify a logo file to use in the config file. You're now also able to dump past the end of a ZMV.

And saving the best for last, there is now a custom multipass lossy dump option with decent default settings so you can dump really tiny good quality AVIs of your runs (and tweak dumping settings to your heart's content in zmovie.cfg).

To those packaging releases for your distro, please see the notes for v1.50. Also make sure you review the configure options to provide the best build for your users. And please please include the documentation, located in docs/readme.txt and docs/readme.htm.

-ZSNES Team

Changes:

v1.51 - January 25, 2007All 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]

After searching the web for responses to our latest release, it seems some people are having problems that are easily fixable, and are just plain not following instructions.

First off to SDL port users: --enable-release should be passed to ./configure to specify you want WIP code removed, and use the best optimization possible. This can also fix certain sound problems that need audio streamed to the sound card as fast as possible.

To those of you complaining about curses packages, the ZSNES debugger uses curses, if you don't want it, pass --disable-debugger to ./configure (hint use ./configure --help to see options), DOS/Windows users who are compiling should pass DEBUGGER=no to the make command as well.

Linux users who are having trouble compiling, can try getting a Linux binary from here, but no guarantees they'll work for you.

64 bit users having trouble compiling should know that ZSNES is currently only x86-32 compatible and will not be x86-64 compatible for a while. It is advised in the mean time to setup a 32 bit chroot, or have 32 bit libraries installed and use either a precompiled binary or try to compile yourself in 32 bit mode by passing gcc/g++ -m32.

If you're wondering why a feature disappeared (and no I don't mean netplay), it was probably moved elsewhere, look around. Also check out our very exhaustive documentation here or more directly here. Even if you're doing okay, read the documentation anyway, there's many new features waiting to be uncovered.

Those wondering about how to use the debugger now that it's also available in Windows and SDL port should of course see our documentation. However as a quick starter you may just want to keep in mind to run ZSNES in a window, start up with -d, optionally load the ROM that way too, and keep the F1 key handy.

If the new movie dumping features has you puzzled, read the documentation, and also refer to this thread.

Lastly, if you're running into some bugs with some of our newer features, getting crashing issues on Mac OS X, or are a bit upset by a lack of old save state compatibility, know that we made some headway on all these fronts and you can get our latest development source out of SVN, details here. A new version with these fixes implemented should hopefully be out prior to February so keep this page bookmarked.

Happy Holidays from the ZSNES Team.

Dec 22nd, 2006 - Nach

I am pleased to announce another long awaited release of ZSNES. This time around we made many improvements to the software in general, fixed, and added many new features.We also have made several updates to the emulation fixing bugs that were never addressed before.

People who maintain packages for various distros should use "./configure --enable-release --disable-cpucheck force_arch=i586 " to build this release, see the documentation for more details.

Please read our large but but comparatively modest change log of all the changes we made.

Enjoy the release and happy holidays from the ZSNES Team.

Changes:v1.50 - December 22, 2006All Ports:

For this release we spent much time rewriting, porting, 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 assembly has been ported to C. The upcoming list while large can't fully describe the amount of work and the amount of improvements made. Make 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 mice using devices can be played with 2 player (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 is 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, 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 in future versions to reimplement it 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 and new features, and less 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 less 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 are annoying features are now in C meaning if you know C, now is a good time to start helping out ZSNES development.

* 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 ran 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]

- S-DD1 Emulation: Data Retrieval: The Dumper, Dark Force, zsKnight, Gary Henderson Research: Andreas Naive Main Code: anomie Processing Code: _Demo_, Nach Special thanks to all the other developers and users who worked on this hard project!

There is now an official ZSNES WIP page. It's been up for quite a while and was posted in the forums. The builds come directly from ZSNES' sourceforge repository and contain any and all recent changes made to ZSNES. There are a number of new features including the ability to use filters in 32bpp windowed mode and the addition of a new filter, thanks to MaxSt.

While these are not official releases, bug reports will still be accepted. Just make sure you are using the latest WIP when you report bugs.

Radio made a new site design with easy updates and some new features that should be added soon. We will try to update news a little more often :)

Thanks Radio!

Now some old news :

- Console classix added support for zsnes to their system a long while ago.

- we are working on restoring the old forum message in a new message board system.

Jul 15th, 2002 - _Demo_

Version 1.36 of ZSNES has been released. It mostly contains game specific fixes.

Jun 24th, 2002 - _Demo_

A problem with sound emulation has been found. If you don't hear any sound, simply reinstall the emulator in an empty directory, start it, exit then start it again. We will most likely release a fix version in a few days.

Jun 23rd, 2002 - _Demo_

After a long time since the previous release we decided to release ZSNES 1.35. There are no major changes since 1.337 but a good amount of little things have been added or modified.

Dec 3rd, 2001 - pagefault

Well after a long period of downtime we are finally back (for good this time). Right now we are working on getting the site cleaned up by fixing links and updating some of the information on the page. The message board will be down until we get everything else up and running but that shouldn't take too long.

A new version of ZSNES is planned to be released sometime this month maybe after the server is back to normal for a while. The new release is a fairly large release (not nearly as big as 1.337 but still a fair size) Lots of enhancements have been added to the DOS port thanks stainless's hard work and dedication to it.

For people who have donated to the ZSNES project and have not heard anything from us, we have not forgotten about you! Your donations have been received we just have had problems with the email account and had no way to send our thanks for your generous offer. If you have donated and would like your name added to the list of donators please e-mail us at donate at zsnes dot com and we will add it ASAP.