SNES9X Information Historical Information Alert The SNES9X Information file grew to be too large for SimpleText to handle, so old (pre-1.2) version information has migrated to this file. Version History € 1.1.9: - The graphics code has been largely rewritten in preparation for OpenGL acceleration. This resulted in several games being fixed (i.e., sprite layering in Chrono Trigger) as well as very noticable speedups in many games. - Sound code has been updated as well, fixing long-standing bugs in several games. - Compatibility on the whole has significantly improved. Games by Human (i.e. Super Fire Pro Wrestling) should now work, ActRaiser 2 no longer has color problems, etc. € 1.1.8a: - SNES9X 1.1.8 was released with some debugging code turned on; this made 1.1.8 noticably slower for some users. This release fixes the problem. - Some users also report that the sound is choppy; this is a side-effect of the new sound code, which smooths out problems with sound conflicting with Virtual Memory. This only happens when your computer isn't able to emulate a title at full speed. To solve it, try reducing the processor load (use single size, low quality video, lower sound quality, suspend background tasks, etc.) € 1.1.8: - Graphics and sound code have been significantly reworked! The sound code is much better in a lot of games, although a few odd problems are also audible in a small subset of games. Also, should be slightly faster now. - Virtual memory no longer needs to be turned off for good sound emulation! - Several games that crashed before now work properly. - InputSprocket support has been improved dramatically. - RAVE Mode is less glitchy now, with no seams between panels or odd pixels on the edge of the screen. (A future version is likely to incorporate support for 32-bit RAVE graphics, in order to take advantage of the new Rage 128 chipset.) - (Gil Pedersen) A few bugs in the Game Genie handler were fixed. € 1.1.6: - The timing for the SPC700 sound chip was finally revised, so the "SPC700 Timing" option is now unnecessary. This change also helped several previously non-working games; a notable example is BSZelda, which seems to work perfectly now. - Fixed a case where "Force LoROM" didn't work properly. Now Formation Soccer will play if LoROM is forced‹previously it wouldn't start. - Super Mario Kart works perfectly now!! Actually, it also worked perfectly in 1.1.5, but I didn't know it because the Super Mario Kart ROMs that most people find on the Internet are corrupt! (I had a bad dump as well.) If you're still experiencing problems with it (such as coins/question-mark items not working, crashing into nonexistent walls, and occasional game lockups), you have a bad ROM. € 1.1.5: - Tracked down a bug in SNES9X which has existed since 0.9.5‹both the CodeWarrior compiler and MrC compiler were generating bad code for the 65816 core, causing weird graphic glitches in Donkey Kong Country, Breath of Fire, Secret of Evermore, Metroid 3, and other games. Unfortunately, the only solution involved turning off all compiler optimizations for the 65816 core, meaning that this version might be noticably slower than before. Fortunately, on my computer, the speed hit seems negligible compared to the benefit of fixing several popular games. - Rewrote part of the Mac sound drivers; this could potentially help computers that were locking up after opening SNES9X. - Tales of Phantasia is now working. - The SNES9X sound engine has been recoded; it should be faster now. Some games seem to be improved, but a few sound worse. Your mileage may vary. - Mario Kart is less screwed up now; items don't fly around the screen as spastically as before. - Mode 7 graphics are slightly faster. - Some miscellaneous SuperFX fixes that help Winter Gold work a little better (still pretty far from 100%). - (Gil Pedersen) Regardless of the preference setting, SRAMs and freeze files will automatically be stored in the application directory if the game being played is on a locked volume, such as CD-ROM. - (Gil Pedersen) The Open dialog, when using Navigation Services, now allows you to change the interleaving and HiROM settings directly. € 1.1.2: - A bug which caused "Reset" to screw up the controls has been fixed. - NetPlay has been added! This utilizes Apple's NetSprocket extension. Please read the directions at the top of this file for details. Please note that NetPlay will probably not run at full speed over the Internet, even on fast connections‹you need very, very fast ping times for NetPlay to work well. - Begun adding Balloon Help. Currently it only works on the checkboxes in the preferences dialog. € 1.1.1.1: - InputSprocket support has returned! However, it is disabled by default. You can activate it in the preferences. - Mario Kart works! (Well, it works as well as on the PC version.) This is entirely thanks to the efforts of Eric Hustvedt, who found a bug in the original code which chose to manifest itself on the Macintosh. - There is now an option to save SRAMs and freeze files in the same folder as SNES9X! This is extremely helpful if you choose to store your ROMs on a CD-R or other read-only media. - The Defrost menu now looks different than the Freeze menu, in order to avoid confusion. - Work on NetPlay has begun but it's not even close to working yet. Currently, it just brings up a dialog to the effect of "under construction." Hopefully I'll make more progress in the next few weeks. € 1.1.1: - Various optimizations in video. - Sound code from the original SNES9X 1.1.1 was not used because it contained some truly terrible echo effects; the sound is the same as from version 1.0.9. - Removed InputSprocket since way more users were complaining about it than enjoying it. (It's still in the source, but commented out, if anyone is interested in it.) - Allowed Freeze and Defrost to be remapped in the Keyboard Layout dialog; due to user feedback, the defaults were moved from F and D to F1 and F15 (to prevent wiping out data by inadvertently pressing the wrong key). - Returned the ability to hide/show graphics layers with the F1 through F5 keys. Note that F1's default functionality is now "Freeze Game", and this causes a conflict‹so if you want to use the hide/show feature on the top layer, you'll need to change the "freeze" key to something else in the Keyboard Layout dialog. - Mario Kart still doesn't work right. Ongoing investigation has failed to produce a fix. The source code is still available on emulation.net if anyone else wants to look into this. € 1.0.9a: - Added support for Apple's InputSprocket! (If InputSprocket is not installed, SNES9X reverts to the usual keyboard layout dialog.) - Fixed several bugs in RAVE mode! Now ATI cards and software RAVE work fine. Newer ATI chipsets seem to work great in RAVE mode, too! € 1.0.9: - Added stereo sound support! The preferences dialog now allows you to select between 22kHz sound or 44kHz sound, and between mono and stereo. Stereo sound is computation-intensive, so it can be helpful to disable it. - Fixed PAL speeds! Now ROMs that run in PAL mode won't go too fast. - Added RAVE video support! This will route video through your 3D card for a super-smooth, totally full-screen picture. This works pretty well on 3Dfx. - DSP support slightly improved. The current DSP code works much better on UNIX than on Macintosh‹this is being actively investigated, so stay tuned. (Neither works perfectly, but at least on UNIX, the Mario Kart track looks somewhat correct.) - SuperFX emulation has been improved to the point where Yoshi's Island is close to perfect, and Dirt Trax FX is playable. - A fix was implemented for several color effects, which makes Chrono Trigger and Illusion of Gaia look nicer. - New cartridge icons (which look closer to American SNES cartridges) courtesy of PB1400c. € 1.0.7a: - Added multi-freeze support. Up to twelve states can be saved for each game, along with preview thumbnails. - Very small bug fixed with Music Box mode‹now it should be about 1% more stable. (Though it always worked fine for me before...) - Taking screenshots now works better, especially with high-resolution screens. Previous versions could sometimes have screenshots that looked squished. € 1.0.7: - Support for 5:1 SPC700 ratio. Only one ROM (Empire Strikes Back) needs it, but hey, why not. - Option to allow background tasks to keep running while SNES9X plays. Slows down the gameplay a bit, but allows stuff like downloads to keep going. - Music Box mode added. This lets SNES music and sound effects continue while SNES9X is in the background. Very nice if you enjoy a music track from a SNES game, and would like to keep it running while doing other stuff. (Note: don't try running Music Box mode if your Mac doesn't run SNES9X at full speed. It's interrupt-driven, and if your Mac can't keep up with the music at 100% speed, it will slow your entire system--mouse pointer and all--to a crawl.) - Fixed a bug with the keyboard layout dialog (hitting "default" caused all kinds of problems). - Fixed a bug where dialogs wouldn't disappear if a game was double-clicked in the Finder while the dialog was already showing. € 1.0.6: - "Alternate SPC700 timing" selection added. This allows many games to run that, previously, would lock up if sound emulation was enabled (including Breath of Fire 2). - New icons, thanks to PB1400c-san. Rebuild your desktop to see them. - More changes to clip-window emulation (seems perfect now). € 1.0.5: - Preliminary work begun on the DSP chip (used by Mario Kart, Pilotwings and Top Gear 3000). So far, there isn't enough emulated to make these games work properly though. - Bug in the SPC700 fixed, causing Terranigma to work properly. - Several bugs in mosaic/tiling effect have been fixed (helping Pocky & Rocky, Cotton 100%). - PAL games now always play music at the proper speed. - Small fixes to clip-window emulation. € 1.0.1: - Mouse support has been added! Games like Mario Paint, Mario & Wario, Tokimeki Memorial and Lemmings 2 now support clicking and dragging. To use mouse button 2, use the keyboard and press any SNES control pad action key. (Note that controller 1 will be unavailable while the mouse is in use.) - TV mode has been added! This is a new way to render the screen, making it look more like viewing SNES on a real television, with blurred edges and slight scanlining. After playing in TV mode for a while, I have found that blocky graphics look really ugly. However, to really appreciate this mode, you'll need a fast processor. - Freeze and defrost now work during gameplay; just press cmd-F or cmd-D. - Support for compressed games is now available‹you can run a GZ compressor like MacGZip on ROMs in order to save disk space. This compression support also means that freeze files have shrunk massively, from over 400K to around 100K. - Preferences dialog has been reworked in order to demonstrate the currently selected video mode. € 1.0: - SNES9X has grown up to version 1.0! - Games which use high-resolution graphics now work properly. (A few special cases are not handled yet‹causing minor inaccuracies in a few games such as Tokimeki Memorial‹but the vast majority of games work fine.) - Mosaic effect coupled with screen addition or color addition now works properly. - Transparency effects in color windows are more accurate (but not quite perfect yet). - Sound code speed-ups included. - More Game Genie codes ought to work properly now. - Controller 2 used to have both Y and X mapped to the same button; fixed. - Minor changes to the graphics rendering engine. € 0.9.5a: - Navigation Services has proven to be rather beta-quality software‹it caused type 2 errors for a lot of individuals, and a few strange crashes as well. Now it's optional; if it works well for you, feel free to use it, but if you must remove it, SNES9X should still work without problems. - Game Genie support was added back in. Codes should be entered in the form XXXX-XXXX. € 0.9.5: - What hasn't changed? SNES9X has pretty much been rewritten from scratch. The new team has done a phenomenal job of updating the code, as well as being helpful towards me as I implemented their new changes. - Preliminary SuperFX support is in! Right now, it's not too impressive--Yoshi's Island mostly works, but most other games have major problems when trying to draw polygons. Also, if you don't have a G3, it's going to be slow--the SuperFX processor actually turns out to be four or five times more complicated than the SNES' internal processor, so there's a LOT of computation going on. (To run Yoshi's Island, you'll need to change the ROM Interleaving in the Preferences to "SuperFX Interleaving.") - Transparency support has been added! Now you can finally see through stuff. There are a few special cases which don't work perfectly, but for the most part it's awesome. Note that some games slow down heavily when transparency is on, so it can be disabled. - The sound code has been reworked extensively--filtering, echoing and other features have been added. - Appearance Manager is now used to draw dialogs and windows. - Navigation Services is now used for open-file and save-file dialogs. - Screen snapshots can be taken. They'll be saved as Photoshop files, but other tools like GraphicConverter can open them as well. - An option for changing the keyboard layout has been added. Extremely handy for games like Mortal Kombat 2 or Super Street Fighter. - Freeze games now get an icon. € 0.2.4b - Smarter still about SRMs--now if you restart or shutdown the computer, it will try to save out the SRM data before the application closes. (I finally caught this bug, after FF2 ate my SRM file... rrrr) - SRM files now have an icon! Cool. - Games that change the horizontal scroll extremely often look better. This fixed, as an example, Cammy's stage in Super Street Fighter II. - Small color glitches in the mosaic graphics were fixed. - Options menu has become more "advanced." HDMA, windowing, processor load and IRQ toggling support has been added; these options can fix several games which experience incorrect emulation effects (like Super Punchout). Turning off Advanced Window Support should help Terminator 2, the Arcade Game. Turning off Advanced Processor Loading will slow down emulation considerably but has a high chance of fixing speed problems. All these options, by the way, were in previous versions; they were just always set to "on." - A few opcodes in the SNES 65816 core amended so that less games should experience the "wrong sound speed" bug. It still isn't fixed perfectly though; this bugs me too. € 0.2.4a - Fixed a problem where opening multiple games in a session could cause SRMs not to get saved. (This bug again?! Sorry...) - New 'goodies' folder. Includes the Super Famicom icon, and a new Gravis Gamepad set. € 0.2.4 - Game Genie is in! Also Pro Action Replay managed to slip in there ;) - Super Famicom icon bundled in. Paste that puppy on there if you want. - Several emulation bugs cleaned up; they're all small things but you might notice a ROM or two is working a little better. A few broken games started working (Ms. Pacman, for example). € 0.2.2a - A mistake was made in building 0.2.2; namely, I ported the whole thing at midnight, after a long hard day. This mistake led to me forgetting entirely about two or three very obvious speedups that caused the speed of 0.2.2 to drop down to 0.1.3 levels. Fixed, and my apologies. - A report came in that QuickTime was not switching resoutions properly on some computers. The fault for this is entirely QuickTime's, but nonetheless an option for disabling the resolution switch has been added. € 0.2.2 - Some bug fixes and feature set enhancements added to Faster Graphics; specifically, mosaic effects and windowing effects should now work properly in most cases. - Some emulated features and layering effects have become more accurate. - A smaller video window is now available, for a tiny speed increase. Note that interlaced video will NOT become available for the time being, because it does not work with the SNES video code. - SNES9X now enters 640x480 mode when entering a game, and reverts back when the game is paused. This screen size is perfect for full-screen video. Note that this feature requires QuickTime, and the emulator will no longer work without having QuickTime 2.1 or later installed. Well, if you don't have it, now's the time to upgrade. - Sound improved. € 0.2.0 - A few changes to the Macintosh port, but nothing dramatic. - Emulation core is extremely improved. Expect a 50% speedup or better with some carts. - Faster Graphics option is much more compatible now, although not quite perfect. The speed boost provided is also much more noticable. It's now made the default, since it works so well with the majority of games. If you see graphical glitches, try disabling this option. - The vast majority of crashing/freezing bugs are totally eradicated. - Compatibility in general is much better. Many (but by no means all) problematic games are now working. - Note: if you force-quit SNES9X, or your computer crashes, your save-game might not be saved. Therefore, it's very important to quit SNES9X normally if you want to save your game's data. (Conversely, if you accidentally mess up a save game, you might want to consider force-quitting SNES9X!) € 0.1.3a - The previous version introduced a completely new bug that, once again, had the potential to kill SRAMs. Sorry; I pored over the code this time, making sure nothing could go awry, and I think I understand the mechanisms well enough now that the issue has been fully hammered down, and something like this shouldn't happen again. - Carts you open now get a nice SNES9X cartridge icon. (ooh!) - Background Layering support added; this fixes numerous glitches in games like Zelda and Final Fantasy 2 without resorting to manually disabling layers. It's not a full solution for SNES9X's current lack of transparency support, but it sure helps. It's included as an option but I haven't found any case where disabling it was an advantage. - Faster Graphics support added; this feature is kind of useless since it currently makes most games look horrible, but if you're really hard up for more speed... - Core AppleEvent suite support added. So, double-clicking SNES9X carts should open them up automatically now. € 0.1.3 - Numerous emulation fixes, especially to the sound code and the freeze-game code (which does indeed work with sound now). - A few speedups to the Mac code are in place. - The Options menu is a new addition which lets you access many additional features. Sound can be disabled for greater speed (don't try turning it off and then on again during a game--that will confuse the sound chip and might cause serious problems). "Classic Joypad Emulation" fixes some games that don't respond to input normally by using a different input scheme. The ROM type can be selected manually, but I suggest leaving it at "Auto-Detect." (Caution: selecting an incorrect ROM type can sometimes cause lockups!) Graphic layers can be disabled individually, either via the function keys (F1-F5) or via the menu--this helps visibility in games that use transparent layers (Zelda, Final Fantasy). - The code has been modularized to a large degree and hooks are in place for additional interface features; currently they don't do much, but the next few versions of SNES9X will most likely see the return of the SNES97 graphical interface. € 0.1b - In making a necessary fix in 0.1a, I inadvertently added a bug which essentially zapped the game's battery any time you opened it. It's fixed. Also, now the game SRAM is saved alongside the game file itself, rather than in SNES9X's own directory. - Freeze Game/Defrost Game has been added. Unfortunately, after defrosting a game, it will no longer have any sound effects! This is a SNES9X limitation that will definitely be addressed soon in a future release. (It also happened in the other versions of SNES9X 0.1, not just the Mac version, so don't blame me!) € 0.1a - Bugfix release on the same night as the release of 0.1. A bug is fixed that would cause SNES9X to get massively confused if you opened a corrupt ROM image then tried to open another game (sometimes even opening lots of working ROM images could eventually cause problems). Also, "Reset" is sped up significantly (not that it matters, unless you like to reset games over and over). € 0.1 - Initial release.