History of emulation

From Emulation General Wiki
Jump to navigation Jump to search

This page contains information of console emulation history.

Emulation, in general, gained popularity around 1995-1997, mostly due to increases in CPU speed, the increased usage of the Internet, and the increased number of decent emulators.

History[edit]

Arcade[edit]

Before MAME back in 1997, there was multiple standalone arcade games emulators, only capable to emulate a single game. Games like Rygar, Gauntlet, Ghosts'n Goblins, Bombjack, Asteroids, Mr. Do! Series, Pac-Man, Lady Bug, all of them came in your own custom emulator. This was around 1994-1995.

Later, Sparcade by David Spicer [1] was capable of running some arcade games in 1996[2].

1998 was also the year of the release of various complex multiple arcade games emulators, such as Callus[3](Capcom CPS-1) and System16[4] (Sega System 16)[5].

Commodore 64[edit]

The first Commodore 64 emulator appeared on BBSs in early 1990s. C64S is capable of running games on a 286 IBM PC. [6]

Atari 2600[edit]

Activision released the “Atari 2600 Action Pack” for Windows 3.1 on June 1995. It was the first Atari emulator known. Later emulators appeared in 1996, “VCS2600” and “Stella”. [7]

NES[edit]

The early history of NES emulation is vague, but there are some early emulators known to the public.

  • Family Computer Emulator V0.35 for FM Towns, by "Haruhisa Udagawa", with file timestamps of December 12, 1990. It could run some simple NES games such as Donkey Kong.[8]
  • Pasofami for the FM Towns, with a release date of May 1, 1993, in its info file. It had very preliminary sound emulation.[8] Windows version was released in 1995.
  • LandyNES by Alex Krasivsky, which it seems became the base of iNES emulator. At least one beta version for DOS, called Prerelease "Stupid" version, was released to the public on September 8, 1996 with the filename "DC-NES.ZIP".[9] This version supported some simple Mapper 1 games and had graphical glitches.[10] Luckily on January 5, 2023, the emulator was discovered on the internet archive[11]; it was mainly hosted on now-defunct FTP sites and none of the websites that supposedly hosted it were archived by Wayback Machine. This project was discontinued after the release of NESticle.
  • Marat Fayzullin's iNES (also known as interNES in early versions) is the first (or at least one of the first) emulators to use NES header format (also known as iNES format). The release date of the first version is 1996 according to its site.
  • NESA (Nintendo Entertainment System in Assembler) by British programmer Paul Robson was one of the first free NES emulators with source code available. metropal.com has an interview with the author.
  • NESticle (first version known as v0.2) was released on April 3, 1997. It was one of the first freeware NES emulators.
  • There was an unreleased NES emulator for the Genesis that was programmed by Yuji Naka during the early 1990s as a hobby.

External Links[edit]

Game Boy/Color[edit]

Not much is known about GB/C emulation before 1995.

  • Marat Fayzullin's Virtual GameBoy (VGB) was first known GB/C emulator that could run commercial games. First released in 1995 for some unknown platform then ported to PC sometime in 1995 or 1996.
  • No$GMB was released for DOS in 1997. Game Boy Color support was added in 1998 along with it being paid only.

Genesis[edit]

Genesis emulation dates as early as 1994.

  • An emulator simply called Megadrive released in 1994 could run Sonic the Hedgehog very slowly with no sound and many glitches. Quickly discontinued because the author lost its source code from a hard drive crash. It is currently the earliest known Genesis emulator.
  • GenEm, first released in 1996, is the second Genesis emulator released. The DOS version of it was the first emulator to feature (preliminary) sound emulation.
  • Genecyst, first released in 1997 was one of the first widely used Genesis emulators.
  • KGen was the earliest predecessor of Kega Fusion, released around 1997-1998.

External links[edit]

SNES[edit]

Just like the NES, the SNES emulation history is quite fuzzy, but there is evidence that SNES emulators existed as early as 1994.

  • VSMC was released in 1994 and could run a select few Homebrew roms. Apparently it was updated a few times after its initial release, and later versions could run some commercial games including Final Fantasy 2.[12] (Video of one early version. Please note the music is inserted by video editing, not from the emulator.)
  • Super Pasofami or SPW (Super Pasofami for Windows), developed by the author of Pasofami, was released sometime in 1996. Very little information is available about this emulator aside of the reports that version 1.4a deleted some people's Windows directories.[13]
  • ESNES was one of the first SNES emulators that could emulate sound. It later merged with NLKSNES to become NLKE.
  • NLKSNES was one of the fastest SNES emulators, though it lacked sound emulation. It later merged with ESNES to become NLKE.
  • NLKE is a successor of ESNES and NLKSNES and contained both speed and sound.
  • Snes9x was a merged effort of Snes96 and Snes97, both released sometime in 1996-1997.
  • ZSNES was first released on October 14, 1997.

External Links[edit]

PlayStation[edit]

The earliest known attempt at PlayStation emulation was in 1998. PlayStation emulation is notable for two controversial commercial emulators, both of which Sony tried to sue, and lost.

  • PSEmu/PSEmu Pro, first released in early 1998, was one of the earliest PS emulators that could run commercial games. It also created the plugin standard that is still used by ePSXe.
  • Psyke, released around 1998-1999, was the first PS emulator that used Dynamic Recompilation to speed up the emulation. It could run a few games such as Metal Slug and Tekken 3. An interview with the author on September 13, 1998, is available on this site.
  • Bleem!, first released in March 1999 for Windows, was a commercial software that could run several commercial games in full speed with enhanced resolution and texture filtering. There were also three separate Dreamcast versions that could run Gran Turismo 2, Metal Gear Solid and Tekken 3.
  • Virtual Game Station, another commercial emulator, was released in 1999 but for Macintosh. Windows version was released later and allegedly had better compatibility than Bleem!, albeit without enhanced graphics.

External Links[edit]

Nintendo 64[edit]

Earliest known attempt at N64 emulation is 1998.

  • Project Unreality, released in May 1998, was the first Nintendo 64 emulator that could run several homebrew ROMs and could show N64 logo screen of Mortal Kombat Trilogy and Wave Race 64. It was discontinued after the two main developers decided to join a game development company to create commercial N64 games.[14]
  • UltraHLE, released in January 26, 1999, was so good that it angered Nintendo.
  • Nemu64, probably released in 2000, was one of the first N64 emulators that used plugin system that is still used by Project64 and was used in early versions of Mupen64Plus. It is also known for its extensive debug features which none of the newer emulators have.

External Links[edit]

PlayStation 2[edit]

  • PCSX2 started sometime in mid 2001,[15] with its first release on March 23, 2002.[16] It was the first PS2 emulator to boot games on Dec 19, 2002 with release v0.1.[17]
  • PS2Emu started development sometime in 2001, but its first and only release wasn't until May 6, 2004.[18]
  • NeutrinoSX (nSX2) first released on Aug 23, 2002.[19] It could boot its first commercial game on March 10, 2003.[20]
  • Play! started development on June 14, 2006.[21]

Game Boy Advance[edit]

Unlike other consoles, GBA emulation and the Homebrew scene was started as early as 2000, a year before GBA's release.

  • GBAEmu, released in September 2000, was the first known GBA emulator. It could run some homebrew ROMs as well as Nintendo's "Yoshi's Story" tech demo.
  • Virtual GameBoy Advance (VGBA), done by the same author of iNES and VGB - Marat Fayzullin, was first released in 2000 according to its official site. In versions released in 2001, it could run a few commercial games.
  • iGBA, which was available as early as February 2001 and last updated on March 25, 2001, could run a few commercial games with some graphical glitches and with no sound.
  • Several GBA emulators with more accuracy were released in 2001, for example Boycott Advance, DreamGBA, No$GBA, and VisualBoy Advance.
  • mGBA, originally intended to be written in JavaScript, began development in 2013 with its first release in early 2015. It aimed for accuracy on low-end machines and has since been one of the best GBA emulators around.

GameCube[edit]

  • Gekko was started in April 2006.

Xbox[edit]

Xbox emulation dates as far as 2002.

  • Cxbx was released as a proof of concept on August 2002. It can do some test apps, and later commercial games. Discontinued in October 2015.
  • Xeon, released in 2003, was the first Xbox emulator whose first version can play games, but the only game that can boot and show graphics was Halo CE.
  • Dxbx is a fork of Cxbx, released in 2008.
  • Cxbx-Reloaded is a fork of Cxbx, that went open-source in April 2016. Because little work has been done on the original CXBX, its development is very slow (equals 15% playable titles), and like older Xbox emulators, it didn't need a BIOS dump to work.
  • XQEMU was the first low-level Xbox emulator. Its first commit was on February 1, 2009. It emulated games at slow speeds. Its last commit was on December 2019.
  • xemu is a continuation of XQEMU, released somewhere in February 2020. It can play 5x more titles than Cxbx-Reloaded, and needed an BIOS dump to work.

Nintendo DS[edit]

The initial attempt to emulate the Nintendo DS was made in 2004. With so many emulators like iDeaS and the leaked Ensata, it only got decent enough by 2007.

  • DSEmu, first released in 2004, was the first "attempt" to emulate the Nintendo DS, although it only emulated GBA hardware.
  • iDeaS, first released in 2004 or 2005, was the first Nintendo DS emulator that could run commercial games. It also had some plugin system that was not widely used.
  • Ensata: An official Nintendo DS emulator made by Nintendo (and Intelligent Systems?) that was leaked to emulation community in an unknown year (perhaps 2005 or 2006). It could run select few commercial games, though compatibility was very low.
  • DeSmuME: Developed by YopYop156 around 2005, first as "YopYop DS". Discontinued at version 0.3.3 in April 2006, citing a change of laws regarding emulation in France (although it was just an April Fools joke).[22] The source code was then released. Many devs tried on their own to make their own follow-up (one such emulator includes NDeSmuME, of which only one version was ever released), before teaming up and merging their work, resulting in build 0.5.0 as the starting point for the new emulator.
With partial Wi-Fi emulation enabling online MP (but not local MP) in 2010, Nintendo supposedly threatened the devs with legal action (though this is unconfirmed). This resulted in the online Wi-Fi functionality being removed from the main trunk, yet it still had its own active branch which didn't face any legal action whatsoever.
The main trunk devs decided to drop all development of the Wi-Fi feature or anything related (online, local, download play, Wii/DS connectivity, DSiWare). This had the unfortunate side-effect of stalling efforts to preserve online content near the closure of Nintendo's DS servers in 2014 as other parties were scrambling to get the emulation enough to preserve packets from online play.
Similarly, the high-resolution DS rendering feature appeared first in shikaver's port (X432R), which was also more optimized for speed and kept getting updated with features from the trunk. Then in the closed-source commercial emulator DraStic‎, before making it to DeSmuME.
  • No$GBA: originally a GBA emulator, it received e-Reader and Nintendo DS emulation by its 2.4 version by 2006. It was for a long time THE emulator for DS games. It also had a partial implementation for local multiplayer that went nowhere and a very useful debugger for modding NDS/GBA games. Development stalled for a long time with version 2.6a published in April 2008. While it's not nearly up-to-par with the more recent games due to graphical problems, the apparent crashes on boot could be solved with a separate tool to decrypt DS images.
Came back after a long hiatus in 2014 with version 2.7 and is now more or less under development - 2.8a notably is the first emulator to include DSiWare emulation.
  • melonDS: Started development in early 2017 by a former DeSmuME contributor, its main claim to fame has been its attempt at implementing Wi-fi capabilities that others lack and to bring back interest to a stale emulation scene which started to see a renewed interest with new emulators beginning development such as CorgiDS, medusa, and GBE+, around the same time.

PlayStation Portable[edit]

  • PSP Player was the first PSP emulator, starting development on July 4, 2006.[23] It was the first PSP emulator to boot and run a game on Mar 6, 2008.[24]
  • JPCSP started development on July 17, 2008.[25] It booted its first game on Oct 14, 2008[26]
  • PPSSPP first released and went open source on Nov 1, 2012.[27]

Xbox 360[edit]

  • Xenia started development Jan 11, 2013 .[28] It was the first emulator to run a commercial Xbox 360 game on Mar 24, 2014.[29]

PlayStation 3[edit]

  • RPCS3 started development on May 23, 2011.[30] It booted its first commercial game in March 6, 2014.[31]
  • Short Waves was first released on Dec 30, 2013.[32] It was faster and could run more complicated tests than RPCS3 at the time of its release, but development stopped before running any commercial games.
  • Nucleus started development on Aug 26, 2014.[33]

Wii[edit]

Nintendo 3DS[edit]

  • Citra was the first released 3DS emulator. Its first commit was on Aug 29, 2013.[34] It was able to boot its first game, Ocarina of Time 3D, on Dec 13, 2014.[35]
  • 3dmoo was started shortly after Citra, on Mar 19, 2014.[36]
  • TronDS's first version was released on May 11, 2014.[37]
  • Mikage began development in 2016[38], and still has yet to release.
  • Panda3DS' fist commit on on September 15, 2022[39] and had it's first release on July 9, 2023.[40]

Wii U[edit]

  • Decaf was the first released Wii U emulator. Its first commit was on May 18, 2015.[41] However, it didn't run any games until Oct 28, 2015,[42] a couple weeks after Cemu had released.
  • Cemu was first released in Oct 13, 2015.[43] It was the first Wii U emulator that could run games. The developer has stated that work began on it around the end of 2013.[44]

PlayStation 4[edit]

  • Orbital was the first released PS4 emulator, with its first commit on Oct 28, 2017.[45] Due to the low-level nature of the emulator it needed to run the PS4's OS before being able to boot games, and the first step towards that happened on Mar 18, 2019 when it booted into safe mode with graphical output. [46]
  • Spine started development in January 2018.[47] It was the first PS4 emulator to run a commercial game with its initial release on June 5, 2019.[48]
  • fpPS4 started development on December 8, 2021. It was able to boot it's first game, Sonic Mania, on May 2022.
  • RPCSX started development sometime in 2016 as RPCS4, but only first released on June 22, 2023 when the source code was published.[49] It booted its first game, We Are Doomed, on July 17, 2023.[50]

Nintendo Switch[edit]

  • CageTheUnicorn, now Mephisto, was the first program to attempt to emulate only a part (not the whole) of the Nintendo Switch, it started development on May 16, 2017.[51] The developers have stated their goals are for it to be used as a debugger and that there are no plans for getting commercial games running.[52]
  • yuzu, a fork of Citra, started research and early development sometime in Spring 2017,[53] with its first commit on September 24, 2017.[54] It was publicly released in January 13, 2018.[53]
  • Ryujinx was the first Nintendo Switch emulator to boot a commercial game, Puyo Puyo Tetris, when it released on February 4, 2018.[55]
  • Skyline's first commit was on June 28, 2019.

Lawsuits[edit]

Main article: Legal_Status_of_Emulation

References[edit]

  1. Sparcade 2.25 and 2.33b Download (1998 and 1999 releases)
  2. Sparcade! (1.94 release 1996)
  3. Callus 0.42 download page
  4. System16 Download page
  5. original System16 page
  6. C64S v0.9a Download
  7. First Atari 2600 emulator? forum question by jhd
  8. 8.0 8.1 MyaMyaMya's post in "First Famicom/NES emulator?"
  9. Archaic Ruins: Nintendo
  10. EMULATOR PAGE 2
  11. LandyNES on Lost Media Wiki
  12. EMULATION Issue #2 - 23/07/96
  13. EMULATION Issue #4 - 28/08/96
  14. Project Unreality in limbo (Slashdot)
  15. The History of PCSX2
  16. PCSX2 v0.026 Download
  17. PCSX2 v0.1 Download
  18. PS2Emu site on archive.org
  19. nSX2 Downloads
  20. nSX2 site archive
  21. Play!'s initial Github commit.
  22. DeSmuME FAQ - What are the origins of DeSmuME?
  23. PSP Player's initial commit.
  24. PSP Player emulating Puzzle Bobble on YouTube
  25. JPCSP's initial commit.
  26. JPCSP news archive
  27. PPSSPP's initial commit.
  28. Xenia's initial Github commit.
  29. Xenia Xbox 360 Emulator: Frogger 2 first run on YouTube
  30. RPCS3's initial commit on Google Code
  31. Youtube video of RPCS3 running Arkedo Series - 02 Swap!
  32. Short Waves 0.0.1 release info
  33. Nucleus's initial Github commit.
  34. Citra's initial Github commit.
  35. Citra 3DS emu boots first commercial game - reddit thread
  36. 3dmoo's initial Github commit.
  37. TronDS changelog.
  38. Mikage FAQ
  39. Panda3DS Github
  40. Panda3DS First preview release
  41. decaf's initial Github commit.
  42. decaf-emu runs a game now! reddit thread.
  43. Cemu changelog
  44. gbatemp discussion on Cemu.
  45. Orbital's initial commit.
  46. AlexAltea's twitter: Orbital boots PS4's safe mode
  47. devofspine's comment on reddit
  48. Spine's original release on reddit
  49. RPCSX's initial commit.
  50. RPCSX Discord - First game boot
  51. CageTheUnicorn's Github commit history
  52. CageTheUnicorn's page on the ReSwitched website
  53. 53.0 53.1 yuzu announcement and public release.
  54. yuzu's NSO support commit on Github
  55. Ryujinx's initial GitHub commit.

External Links[edit]