Saturday, September 16, 2023

The History of Super Nintendo Emulators - Part 2

Snes96 / Snes97 / Snes9x (1996)

Snes96

The Snes9x project began in 1996 by Dutchman Jerremy Koot. One of its first playable versions was released in May 1996, still as a prototype, for Windows. One of the last versions of the emulator was released in August 1996. At that time, the emulator was shareware, and had a time limit of only 30 minutes. After this, Jerremy lost interest in the project and sent the source code to Gary Henderson, who ported the emulator to Linux and Sun Solaris systems and maintained the Windows version.

Snes96 (MS-DOS/Windows)

This most likely occurred around September/October 1996. The emulator was free. Gary fixed several bugs and CPU issues in the emulator, and over time added new features and expanded the source code. As far as we know, the Windows version of Snes96 was maintained until November 1996.

Snes97 (MS-DOS)

In 1997, Gary continued to release versions of Snes96, when Jerremy began to take an interest in developing a SNES emulator again, and created Snes97, using his own ideas and Gary's, but not the source code modified by his colleague. Gary then managed to join the Snes97 team and port his source code to the project. At this time, he brought updates to the emulator, such as background windows, sprites, and others, in addition to working with Jerremy on sound and color filtering. The leap from version 96 to 97 was significant, starting with the emulation speed that went from 25 to 75%. A Pentium 133MhZ was required, with 16MB of RAM and a 2Mb graphics card with DirectX support.

Snes97 (MS-DOS) (Megaman X)

Despite everything, the emulator had compatibility and speed problems. Snes97 was released in March 1997 for Windows and for free, and at the time it only ran 25 games. The emulator was released with support for DirectX, an innovation that was occurring at the time in the emuscene, and also for Windows NT, and it outperformed its competitors Virtual SuperMagicom and ESNES, with performances such as the Final Fantasy II airship animation, showing its progress. Chad Kitching was responsible for the port to MS-DOS, also in March. In April, Gary released the ports for Solaris and Linux and the trio Michael Bytnar, Jeremy Shear and John Stiles released the port for MacOS (known as MacSNES97).

Snes97 (MS-DOS) (Menus)

The project involved a total of 9 people. Among the games that were running at the time, the author decided to highlight Final Fantasy 2/3/5, Super R-Type, Super Mario Allstars, Breath of Fire 1/2, Zelda 3, Super Offroad and Contra 3: Alien Wars. The latest version of the emulator was released in late April 1997, having been in existence for almost 2 months. At the same time, Gary continued to take care of the Snes96 project for Linux and Solaris, which in March 1997 received its fifth version. In April, it was the turn of the MS-DOS version, also under the responsibility of Chad Kitching. Something that no one imagined is that Snes96 continued to be developed after the end of Snes97! Gary actually supported the project, unlike Jerremy who once again abandoned a project in the scene.

Snes97 (Windows)

The latest version of the emulator, 0.72, was released in June 1997 for the three systems in question, with ten releases by Gary in total. Version 0.8 was on its way, even leaked to the website Archaic Ruins in July, which tested it. Its novelty was the long-awaited sound emulation that had not yet been developed for SNES emulation. Its accuracy was around 60 to 70%, and games like Donkey Kong Country 3 had sound emulation that was considered excellent. This version was never released, as Gary preferred to add this innovation to his second SNES project, which would become one of the most famous of all time, Snes9x.

Snes9x (MS-DOS)

With the end of Virtual Super Wild Card in April 1997, its source code was sent to Jerremy and Gary's SNES project. With this, Gary combined all the previous experience from the Snes96 and 97 projects, plus the code from VSWC, and created Snes9x, released around September 1997 for Windows. At the time of release, Gary also ported the emulator to Linux and Solaris.

Snes9x v0.20 (Windows) (Menus)

Snes9x v0.20 (Windows) (F-Zero)

By October 1997, it was already in its sixth version, 0.23, and already had versions for MacOS, by John Stiles, and MS-DOS by Chad Kitching. In August 1998, there was a version for OpenBSD on top of version 1.05. Another version for OpenBSD only appeared in May 2001 by Aaron, with the last version in April 2020. Although Jerremy helped write the emulator, the project was only headed by Gary. Right at its beginning, he merged the NLKSNES emulator with his own, which was considered the fastest emulator at the time.

Snes9x (Menus)

Ishmair from the NLKSNES project had worked with Gary on the sound adaptation for Lord Esnes' ESNES project in June and July 1997, so NLKSNES gave back to Snes9x. Snes9x featured digital stereo sound, joypad support (initially on Linux and DOS), compressed ROM loading, and Pro Action Replay and Game Genie. The emulator ran smoothly on a Pentium 100MhZ. 

Snes9x (Super Bomberman 2)

A curious fact is that, despite Snes97 having been added to the project, the Snes9x txt mentions the beginning of the project's development from Gary's Snes96, moving soon after to Snes9x. Although there was a Windows version, most users, for hardware performance reasons, preferred the DOS versions.

Matt's SNES9X Front End and Syd9X

Because the command line language was not very easy for most of them, they resorted to front-ends. That's when several of them appeared. The period from mid to late 1998 was the most intense of these front-ends. Some even ran more than one SNES emulator, to ensure compatibility, which was low at the time, when playing. The emulator had support for 14 front-ends in total. We highlight those made exclusively for the emulator, such as SNES9X Front End in August 1997 for Windows, Syd9X in June 1998 for MS-DOS, TeleKawaru's Snes9x Front End in September 1998 for MS-DOS, Snes9express in January 1999 for Linux, CoMeT around early 1999 for MS-DOS, and KSnes9x in January 2000 for Linux. Over time, the Windows version became popular, although the DOS versions followed until the end of the project, along with all the others.

TeleKawaru's Snes9x Front End

TeleKawaru's Snes9x Front End (Tom & Jerry)

Among the project's updates, we have in 1998 several corrections to the SPC700 sound chip, preliminary emulation in June of the Super FX chip from games like Star Fox, brought a month earlier by the ZSNES emulator, code for the DSP-1 chip, from games like Super Mario Kart, by _Demo_ of the ZSNES in July, later adding to its emulator in September, TV-Mode support for DOS and UNIX with the help of code based on the work of John Stiles, NetPlay, allowing up to 5 machines to play at the same time in Linux and DOS, SNES mouse, Super Scope and fixed support for standard PC joypad with 4, 6 and 8 buttons.

CoMeT

In June 1998, the emulator's version number was changed from 0.3 to 0.96, most likely to avoid tying the project to an emulator in early development. Regarding its Windows version, it began to load in full screen, and had some skin changes in the control configuration section, adding a display mode with resolution changes, in addition to the General Options mode, with changes in scanlines, transparency, frame-rate and video FPS. It also left the option to change the sound to 8 and 16 bits in mono and stereo, and with up to 44,000hz quality, in addition to changing languages.

Snes9express

KSnes9x

In 1999, it began to support NetPlay for Windows, 3DFX video support for Linux, implemented the SA-1 chip in July, for games such as Mario RPG and Dragon Ball Z: Hyper Dimension, brought from ZSNES, which added it in its emulator in December 1998, new code for ZSNES's Super FX, automatic S-RAM saving after 30 seconds, ensuring automatic save state in .srm format and support for Direct3D for Windows. Regarding its Windows version, in early 1999 it was loaded again in windowed mode, with, among others, the addition of stretch mode, to stretch the game image.

Snes9x v1.29 and v1.33

In 2000, it added cheat code in the same format used in ZSNES, rewriting DirectX, 3D and 3DFX code and adding in November the CX4 code, known only as C4, from games like Megaman X2 and X3, originating from ZSNES which was released in September. In its Windows version, it added around the end of 1999, beginning of 2000, the emulator settings mode, which was updated throughout 2000 and 2001, in addition to adding in January 2000, cheat and debug modes, and in September 2000, the netplay mode. In 2001, it added save states in the ZSNES format, including IPS patch support based on Neill Corlett's code, which applied modifications to ROMs, added code from John Widman's S-RTC chip and Darkforce to run the game Dai Kaijuu Monotarari II in January of the same year, being the first emulator to bring it, Super2xSaI and the new bi-linear filtering software and updated the latest codes of the Super FX and DSP-1 of the ZSNES. One of the last updates of the emulator was in September 2001, emulating the S-DD1 chip of the game Street Fighter 2 Alpha, originating from the ZSNES that had already used it since December 1999. The last version of the emulator was released in September 2001, with the addition of sound option mode in the Windows version. There were 52 versions released over 5 years of the project. From the latest version onwards, they also released a port for MacOS X. The emulator also had versions for BeOS, released in September 1999, by Trent Trautman, October 2000, by Jon Fehr and July 2001, by Caz Jones.

A year later, a group led by Matthew Kendora, alongside TRAC, Anomie, The Dumper, Lantus, Frank Yang, CaitSith2 and even the creators of ZSNES created the 1.39mk versions (abbreviation of the leader's name) for Windows, with 5 versions in total from September to October 2002. They included several updates, corrections and additions, such as support for SPC7110 based on the Dark Force documents, for games like Tengai Makyou Zero, with help from zsKnight from ZSNES and others, adding the super SSD-1 from SFA2 from ZSNES and correct loading of many Japanese games.

Snes9x v1.39

After this, the original creators of Snes9x grouped all the fixes and released version 1.39a in November 2002. It was ported to all common operating systems, with the exception of the Windows version, which was ported by James Powell. Jerremy made some more updates to the site, related to the server, until January 2003, but handed the site over to Funkyass in July 2003, who took care of it until July 2006, with updates from third-party continuations of the project. Snes9x development continued under the same team led by Matthew Kendora, with the addition of Overload, Nach, Zones, Neviksti, Peter Bortas and Funkyass himself, but no longer with the initials mk in the version numbers. Despite this, the most active person in the project is once again Matthew.

Snes9x v1.40

The group then released version 1.40 in July 2003. At that time, they were already meeting on the Snes9x Forum. Updates to the versions released in 2003 include the addition of the DSP-2 chips from games such as Dungeon Master and the OBC-1 from Metal Combat: Falcon's Revenge, in the July 2003 version, being the pioneer emulator to bring them, as well as perhaps the Seta010 chip also in the same version, additions of turbo buttons, support for screen capture and 8-bit rendering filters, as well as changes in the display mode and sound mode.

Snes9x v1.42

In version 1.42 from December 2003, the skin of the input config for control configuration was changed. In 2004, Joel Yliluoma also joined the group. The last version that this group managed was 1.43, released in July 2004. This version added support for recording movies and AVI format, as well as improving the Seta chips and disabling NetPlay mode. From version 1.40 to 1.42, there were versions for Windows, Linux and Solaris. From version 1.43 onwards, all versions were released for Windows, Linux and MacOS X. Version 1.41 was also ported to BeOS by Caz Jones, who was not part of the project, and was released in March 2003 as BeS9x. In 2006, after two years without a release, Peter Bortas, Zones, Nach and Anomie got together to release a new version. Zones and Anomie are the most active in the project. John Weidman, a former collaborator on Gary and Jerremy's project, also joined the team at this time. The only version released was 1.5, in July 2006. This was the only version that was not released for Windows, being released only for MacOS and Linux. From this version onwards, 64-bit versions for Linux optimized for AMD64 by John Weidman began to be released. Among other new features in this version, partial emulation of Satellaview and the DSP-3 chips from SD Gundam GX and DSP-4 from Top Gear 3000 are added, brought exclusively by the emulator.

Snes9x v1.51

In April 2007, version 1.51 was released, again by the trio Anomie, Zones and Nach alongside Nitsuja, DeHackEd, Jonas Quinn and Byuu, the latter of whom had been developing his own emulator since 2004, BSNES. The most active on this occasion was Nitsuja. This version added save states for games using DSP-1, Super FX and C4 chips, several video filters such as EPX, HQ2X and others, Netplay was brought back, the Sufami Turbo accessory was added, which ran games such as SD Gundam: Generations, Carranger and Sailor Moon Fuwa Fuwa, a logo began to appear on the front-end bar, and the emulator mode was updated. In 2009, the project was taken up again by Byuu, Zones and Jonas Quinn, Neviksti returned, and BearOso and OV2 joined.

Snes9x v1.52

Almost three years without a new version, they released version 1.52 in January 2010. They released 14 versions in total, having been the ones who took care of the project the longest, 10 years of dedication. The members in question left over time. Zones in April 2011, Byuu in November 2017 and Jonas in June 2018. We also had the permanence of Gocha from April 2011 to October 2016, qwertymodo from November 2017 to June 2018 and kps501 from June to November 2018. Most of the versions were in charge of the duo Bear and OV2. Between 2012 and 2015 there were no releases. In October 2016 it was ported by themaister and OV2 to LibRetro, and became part of RetroArch. The latest version of the emulator was released in April 2019. During this period, we had important updates, such as version 1.52 from January 2010, with the addition of support for Direct3D and XAudio 2, merging of the emulation code for the SPC7110 chip from the BSNES emulator, addition of save state support for games with DSP-2, DSP-4, ST-010 and OBC-1 chips, and change of the sound option mode. In addition, the savestate structure of this version no longer supports save states prior to it.

Snes9x v1.53 and v1.54

In version 1.53 from April 2011, the 64-bit versions for Windows began to be released, in addition to the division of the options menu into an emulation menu and a video menu, and the expansion of the display and emulator modes. In version 1.54 from October 2016, the port to LibRetro/RetroArch was released, and once again the emulator menu was changed. Support for detecting changes in the joypad configuration was also added, making it easier to change them. In version 1.55 from November 2017, the MSU-1 chip developed by Byuu for the BSNES began to be part of the Snes9x. This chip loads games from the so-called SNES CD, games modified by fans with better sprites, cut scenes and soundtracks in CD quality. Support was also added for the BS-X Satellaview, the cartridge that gave the SNES more memory, in addition to various data for running the accessory.

Snes9x v1.56

In version 1.56, the emulator icon was changed, and the sound menu received another change. Finally, in version 1.60 from April 2019, flags were added that automatically enabled NVIDIA cards to run games in full screen with the OpenGL feature. In addition to all the additions, the emulator also ran the 1991 Nintendo Super System arcade game, most likely brought over from the ZSNES emulator.

In addition to the changes made by the Snes9x Forum, the emulator also had other versions changed, such as Snes9xGL released in 2000 on top of version 1.29 also from 2000, adding support for OpenGL instead of Glide for bilinear filtering in full screen mode. This support only came later to the original project. The bad part about this version is that it didn't support a front-end, which required you to drag and drop the game on top of the executable, in addition to not being able to make any changes to the image filtering. Snes9xPP SE developed between 2002 and 2004 and released in 2003, most likely on top of Matthew Kendora's 1.39 versions from 2001. It brought the HQ2X filter added only in 2007 to the original project. It recommended 1.5GhZ processors and had versions optimized for AMD and Intel processors. Snes9x Custom developed in 2003 for MacOS and MacOS X on top of the same year's version, 1.42, was written in C++ and worked on top of the Mac version of the emulator. Geiger's Snes9x Debugger created and maintained between 2003 and 2010 on top of versions 1.43 to 1.51 released respectively from 2003 to 2007. Its resources were focused on romhacking, ROM modifications, with debugger, editor, reverse engineering, mappings, and everything else that goes with it. Snes9k developed between 2004 and 2005 on top of version 1.42 from 2003, and which brought support for gaming on the Kaillera online server. It was a very popular version at the time. Snes9X Direct3D released in 2009 on top of version 1.51 from 2007. It supported Direct3D9 instead of DirectDraw, something that only happened in the 2010 version of the original emulator. It also featured a bi-linear filter. F-Zero VS also developed in 2009 and on top of version 1.51 from 2007, changing the emulator for multiplayer for the game F-Zero, including online. Snes9x ReRecording from 2009 to 2019, having used version 1.43 from 2004 onwards for its modifications. As the name suggests, it adds re-recording support to capture your gameplay on video. There are a number of video recording features in the emulator. These RR versions were common in the modification of famous emulators and well-known consoles. The emulator was developed by Gocha, who worked on versions 1.53 and 1.54 from 2011 and 2016 on the original project. And the latest, RASnes9x, was developed between 2013 and 2019 on top of version 1.53 in 2011 until version 1.60 in 2019. It gives the possibility of achievement points in games. Snes9x also served as inspiration for the creation of other emulators for the console, such as SNEShout in 1999, which among others ran Japanese games through IBM's ViaVoice tool, in addition to voice mapping from SF2 and Puyo Puyo 2. In addition to SnesMe! most likely released in the 1990s.

As for ports to other systems, we have SNES 9x Alpha for Nintendo 64 in 1998, Super Famicast for Dreamcast and WarpSNES for Amiga and ngine-SNES9x for Dreamcast in 2000, Sintendo for Dreamcast in 2001, DreamSnes for Dreamcast, Snes9x X (ported by the famous Hikaru) for Xbox and OpenSnes9xGP for Gamepark 32 both in 2003, SNES-Station for PS2 and SNES9x GX for Gamecube and Wii in 2004, SNES9XBox (ported by XPort) for Xbox in 2006, Snes9x Euphoria and s9xTYLmecm and Snes9x PSP both for PSP in 2009 and Snes9x EX for Android and iOS in 2011 and Linux in 2013, also working on devices like DragonBox Pyra. In addition to being part of RetroArch in 2016 (which also runs on PS Vita, PS3, Switch and N3D systems), it was also part of other multi-system emulators, such as OpenEmu for Mac in 2013, BizHawk in 2017, among others. It was also part of the Nintendo multi-emulator, Little John New Generation, which was originally only for NES (and called just Little John), and in 2000 added SNES emulation with Snes9x. Snes9x is considered one of the fastest emulators out there, even surpassing the innovative BSNES.

No comments:

Post a Comment

Featured Posts

Emulation Names - Part 21

Matt Conte Matthew P. Conte, or Matt Conte (known as Shady) was born in Italy in 1977. He attended the naval academy, where he learned engin...

Popular Posts

Total Pageviews