Difference between revisions of "History of emulation"

From Emulation General Wiki
Jump to navigation Jump to search
(NES)
(Fixed some grammar, boy was my grammar horrendous in March)
(29 intermediate revisions by 10 users not shown)
Line 1: Line 1:
This page contains information of emulation history.
+
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.
 
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==
 
==History==
 +
 +
===Arcade===
 +
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 <ref>[https://web.archive.org/web/20010202172300/http://www.sparcade.freeserve.co.uk/download.htm]</ref> was capable of running some arcade games in 1996.
 +
 +
1998 was also the year of the release of various complex multiple arcade games emulators, such as Callus (Capcom CPS-1) and System16 (Sega System 16).
 +
 +
===Commodore 64===
 +
The first Commodore 64 emulator appeared on BBSs in early 1990s. C64S is capable of running games on a 286 IBM PC. <ref>[https://commodore.software/downloads/download/193-c64s/11782-c64s-v0-9a]</ref>
 +
 +
===Atari 2600===
 +
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”. <ref>
 +
[https://atariage.com/forums/topic/203848-first-atari-2600-emulator/]</ref>
  
 
===NES===
 
===NES===
 
The early history of NES emulation is vague, but there are some early emulators known to the public.
 
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.<ref name="Zophar NES post">[http://www.zophar.net/forums/showpost.php?p=85512&postcount=1 MyaMyaMya's post in "First Famicom/NES emulator?"]</ref>
+
*'''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.<ref name="Zophar NES post">[https://www.zophar.net/forums/index.php?threads/first-famicom-nes-emulator.10169/ MyaMyaMya's post in "First Famicom/NES emulator?"]</ref>
 
*'''Pasofami''' for the FM Towns, with a release date of May 1, 1993, in its info file. It had very preliminary sound emulation.<ref name="Zophar NES post"></ref> Windows version was released in 1995.
 
*'''Pasofami''' for the FM Towns, with a release date of May 1, 1993, in its info file. It had very preliminary sound emulation.<ref name="Zophar NES post"></ref> 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 [[Intel CPUs|DOS]], called '''Prerelease "Stupid" version''', was released to the public on September 8, 1996 with the filename "DC-NES.ZIP".<ref>[http://lngn.net/archaic-ruins/features/ar-dc/nes-emu.htm#lnes Archaic Ruins: Nintendo]</ref> This version supported some simple Mapper 1 games and had graphical glitches.<ref>[http://oldies.malban.de/firstpage/EMU2.HTM EMULATOR PAGE 2]</ref> Unfortunately no copy of this emulator remains on the internet; 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.
 
*'''LandyNES''' by Alex Krasivsky, which it seems became the base of iNES emulator. At least one beta version for [[Intel CPUs|DOS]], called '''Prerelease "Stupid" version''', was released to the public on September 8, 1996 with the filename "DC-NES.ZIP".<ref>[http://lngn.net/archaic-ruins/features/ar-dc/nes-emu.htm#lnes Archaic Ruins: Nintendo]</ref> This version supported some simple Mapper 1 games and had graphical glitches.<ref>[http://oldies.malban.de/firstpage/EMU2.HTM EMULATOR PAGE 2]</ref> Unfortunately no copy of this emulator remains on the internet; 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.
Line 67: Line 81:
  
 
===PlayStation 2===
 
===PlayStation 2===
*[[PCSX2]] started sometime in mid 2001,<ref>[http://forums.pcsx2.net/Thread-blog-The-History-of-PCSX2 The History of PCSX2]</ref> with its first release on March 23, 2002.<ref>[http://pcsx2.net/download/category/10-pcsx2-v0-026.html PCSX2 v0.026 Download]</ref> It was the first PS2 emulator boot games Dec 19, 2002 with release v0.1.<ref>[http://pcsx2.net/download/category/14-pcsx2-v0-1.html PCSX2 v0.1 Download]</ref>
+
*[[PCSX2]] started sometime in mid 2001,<ref>[http://forums.pcsx2.net/Thread-blog-The-History-of-PCSX2 The History of PCSX2]</ref> with its first release on March 23, 2002.<ref>[http://pcsx2.net/download/category/10-pcsx2-v0-026.html PCSX2 v0.026 Download]</ref> It was the first PS2 emulator to boot games on Dec 19, 2002 with release v0.1.<ref>[http://pcsx2.net/download/category/14-pcsx2-v0-1.html PCSX2 v0.1 Download]</ref>
 
*PS2Emu started development sometime in 2001, but its first and only release wasn't until May 6, 2004.<ref>[https://web.archive.org/web/20040513005525/http://ps2emu.efx2.com/ PS2Emu site on archive.org]</ref>
 
*PS2Emu started development sometime in 2001, but its first and only release wasn't until May 6, 2004.<ref>[https://web.archive.org/web/20040513005525/http://ps2emu.efx2.com/ PS2Emu site on archive.org]</ref>
 
*NeutrinoSX (nSX2) first released on Aug 23, 2002.<ref>[http://nsx2.emulation64.com/downloads.html nSX2 Downloads]</ref> It could boot its first commercial game on March 10, 2003.<ref>[https://web.archive.org/web/20030402125427/http://nsx2.emulation64.com/index2.html nSX2 site archive]</ref>
 
*NeutrinoSX (nSX2) first released on Aug 23, 2002.<ref>[http://nsx2.emulation64.com/downloads.html nSX2 Downloads]</ref> It could boot its first commercial game on March 10, 2003.<ref>[https://web.archive.org/web/20030402125427/http://nsx2.emulation64.com/index2.html nSX2 site archive]</ref>
*[[Play!]] started development June 14, 2006.<ref>[https://github.com/jpd002/Play-/commit/0c5fb983fd69793334995054d41c81da54e580ed Play!'s initial Github commit.]</ref>
+
*[[Play!]] started development on June 14, 2006.<ref>[https://github.com/jpd002/Play-/commit/0c5fb983fd69793334995054d41c81da54e580ed Play!'s initial Github commit.]</ref>
  
 
===Game Boy Advance===
 
===Game Boy Advance===
Line 78: Line 92:
 
*[http://www.zophar.net/gba/igba.html 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.
 
*[http://www.zophar.net/gba/igba.html 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 [http://www.zophar.net/gba/boycott-advance.html Boycott Advance], [http://www.zophar.net/gba/dreamgba-tng.html DreamGBA], [[No$|No$GBA]], and [[VisualBoy Advance]].
 
*Several GBA emulators with more accuracy were released in 2001, for example [http://www.zophar.net/gba/boycott-advance.html Boycott Advance], [http://www.zophar.net/gba/dreamgba-tng.html DreamGBA], [[No$|No$GBA]], and [[VisualBoy Advance]].
*[[mGBA]], original going to be a written in JavaScript, development began 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 emulator around.
+
*[[mGBA]], original going to be written in JavaScript, development began 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===
 
===GameCube===
Line 84: Line 98:
  
 
* [https://code.google.com/archive/p/gekko-gc-emu/ Gekko] was started in April 2006.
 
* [https://code.google.com/archive/p/gekko-gc-emu/ Gekko] was started in April 2006.
 +
 +
===Xbox===
 +
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===
 
===Nintendo DS===
Line 95: Line 118:
 
* [[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.
 
* [[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. 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.
+
* [[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).<ref>[http://wiki.desmume.org/index.php?title=Faq#What_are_the_origins_of_DeSmuME.3F DeSmuME FAQ - What are the origins of DeSmuME?]</ref> 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.
 
: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.
Line 111: Line 134:
 
===PlayStation Portable===
 
===PlayStation Portable===
 
*PSP Player was the first PSP emulator, starting development on July 4, 2006.<ref>[https://github.com/benvanik/pspplayer/commit/1765423c9565a7435da2df0adc5e0bc662dcb364 PSP Player's initial commit.]</ref> It was the first PSP emulator to boot and run a game on Mar 6, 2008.<ref>[https://www.youtube.com/watch?v=zqyIjPFHKsI PSP Player emulating Puzzle Bobble on YouTube]</ref>
 
*PSP Player was the first PSP emulator, starting development on July 4, 2006.<ref>[https://github.com/benvanik/pspplayer/commit/1765423c9565a7435da2df0adc5e0bc662dcb364 PSP Player's initial commit.]</ref> It was the first PSP emulator to boot and run a game on Mar 6, 2008.<ref>[https://www.youtube.com/watch?v=zqyIjPFHKsI PSP Player emulating Puzzle Bobble on YouTube]</ref>
*[[JPCSP]] started development July 17, 2008.<ref>[https://github.com/jpcsp/jpcsp/commit/c474891013ff211736e3b72e24abbf568ea3486a JPCSP's initial commit.]</ref> It booted its first game Oct 14, 2008<ref>[https://web.archive.org/web/20081017063707/http://www.jpcsp.org/ JPCSP news archive]</ref>
+
*[[JPCSP]] started development on July 17, 2008.<ref>[https://github.com/jpcsp/jpcsp/commit/c474891013ff211736e3b72e24abbf568ea3486a JPCSP's initial commit.]</ref> It booted its first game on Oct 14, 2008<ref>[https://web.archive.org/web/20081017063707/http://www.jpcsp.org/ JPCSP news archive]</ref>
 
*[[PPSSPP]] first released and went open source on Nov 1, 2012.<ref>[https://github.com/hrydgard/ppsspp/commit/4f7ad157585c0f1a8e7f7f854d477d003507be50 PPSSPP's initial commit.]</ref>
 
*[[PPSSPP]] first released and went open source on Nov 1, 2012.<ref>[https://github.com/hrydgard/ppsspp/commit/4f7ad157585c0f1a8e7f7f854d477d003507be50 PPSSPP's initial commit.]</ref>
  
Line 118: Line 141:
  
 
===PlayStation 3===
 
===PlayStation 3===
*[[RPCS3]] started development May 23, 2011.<ref>[https://code.google.com/archive/p/rpcs3/source/default/commits RPCS3's initial commit on Google Code]</ref> It booted its first commercial game March 6, 2014.<ref>[https://www.youtube.com/watch?v=N2yjoDdFIu0 Youtube video of RPCS3 running Arkedo Series - 02 Swap!]</ref>
+
*[[RPCS3]] started development on May 23, 2011.<ref>[https://code.google.com/archive/p/rpcs3/source/default/commits RPCS3's initial commit on Google Code]</ref> It booted its first commercial game in March 6, 2014.<ref>[https://www.youtube.com/watch?v=N2yjoDdFIu0 Youtube video of RPCS3 running Arkedo Series - 02 Swap!]</ref>
*Short Waves first released Dec 30, 2013.<ref>[http://emuplace.com/news/novosti_ehmuljacii/244-short_waves_0_0_1_ehmuljator_ps3_ot_razrabotchika_inorirus.html Short Waves 0.0.1 release info]</ref> 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.
+
*Short Waves was first released on Dec 30, 2013.<ref>[http://emuplace.com/news/novosti_ehmuljacii/244-short_waves_0_0_1_ehmuljator_ps3_ot_razrabotchika_inorirus.html Short Waves 0.0.1 release info]</ref> 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 Aug 26, 2014.<ref>[https://github.com/AlexAltea/nucleus/commit/9042b530bcd92fc1989efecfa996841b67a84341 Nucleus's initial Github commit.]</ref>
+
*[[Nucleus]] started development on Aug 26, 2014.<ref>[https://github.com/AlexAltea/nucleus/commit/9042b530bcd92fc1989efecfa996841b67a84341 Nucleus's initial Github commit.]</ref>
  
 
===Wii===
 
===Wii===
Line 128: Line 151:
 
* [[Citra]] was the first released 3DS emulator. Its first commit was on Aug 29, 2013.<ref>[https://github.com/citra-emu/citra/commit/8404376c6ba46433a3fe0ab81e029e39f85c6b65 Citra's initial Github commit.]</ref> It was able to boot its first game, Ocarina of Time 3D, on Dec 13, 2014.<ref>[https://www.reddit.com/r/emulation/comments/2p6m3k/citra_3ds_emu_boots_first_commercial_game/ Citra 3DS emu boots first commercial game - reddit thread]</ref>
 
* [[Citra]] was the first released 3DS emulator. Its first commit was on Aug 29, 2013.<ref>[https://github.com/citra-emu/citra/commit/8404376c6ba46433a3fe0ab81e029e39f85c6b65 Citra's initial Github commit.]</ref> It was able to boot its first game, Ocarina of Time 3D, on Dec 13, 2014.<ref>[https://www.reddit.com/r/emulation/comments/2p6m3k/citra_3ds_emu_boots_first_commercial_game/ Citra 3DS emu boots first commercial game - reddit thread]</ref>
 
* [[3dmoo]] was started shortly after Citra, on Mar 19, 2014.<ref>[https://github.com/plutooo/3dmoo/commit/2c42353b7262a3d66483fbbccb83c12dcfe85594 3dmoo's initial Github commit.]</ref>
 
* [[3dmoo]] was started shortly after Citra, on Mar 19, 2014.<ref>[https://github.com/plutooo/3dmoo/commit/2c42353b7262a3d66483fbbccb83c12dcfe85594 3dmoo's initial Github commit.]</ref>
* [[TronDS|TronDS's]] first version was released May 11, 2014.<ref>[http://trondsemu.byethost15.com/?i=1 TronDS changelog.]</ref>
+
* [[TronDS|TronDS's]] first version was released on May 11, 2014.<ref>[http://trondsemu.byethost15.com/?i=1 TronDS changelog.]</ref>
  
 
===Wii U===
 
===Wii U===
 
* [[Decaf]] was the first released Wii U emulator. Its first commit was on May 18, 2015.<ref>[https://github.com/decaf-emu/decaf-emu/commit/b121b9290c1eca5de0a2f43b5497c2ac6613c397 decaf's initial Github commit.]</ref> However, it didn't run any games until Oct 28, 2015,<ref>[https://www.reddit.com/r/emulation/comments/3qmcnm/decafemu_runs_a_game_now/ decaf-emu runs a game now! reddit thread.]</ref> a couple weeks after Cemu had released.
 
* [[Decaf]] was the first released Wii U emulator. Its first commit was on May 18, 2015.<ref>[https://github.com/decaf-emu/decaf-emu/commit/b121b9290c1eca5de0a2f43b5497c2ac6613c397 decaf's initial Github commit.]</ref> However, it didn't run any games until Oct 28, 2015,<ref>[https://www.reddit.com/r/emulation/comments/3qmcnm/decafemu_runs_a_game_now/ decaf-emu runs a game now! reddit thread.]</ref> a couple weeks after Cemu had released.
* [[Cemu]] was first released Oct 13, 2015.<ref>[http://cemu.info/changelog.html Cemu changelog]</ref> 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.<ref>[https://gbatemp.net/threads/question-about-wii-u-emulation.398838/page-4#post-5712397 gbatemp discussion on Cemu.]</ref>
+
* [[Cemu]] was first released in Oct 13, 2015.<ref>[http://cemu.info/changelog.html Cemu changelog]</ref> 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.<ref>[https://gbatemp.net/threads/question-about-wii-u-emulation.398838/page-4#post-5712397 gbatemp discussion on Cemu.]</ref>
  
 
===PlayStation 4===
 
===PlayStation 4===
 
* [[Orbital]] was the first released PS4 emulator, with its first commit on Oct 28, 2017.<ref>[https://github.com/AlexAltea/orbital/commit/064abb20f9e410f9ac1110ccedc7287820421253 Orbital's initial commit.]</ref> 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. <ref>[https://twitter.com/AlexAltea/status/1107865782472634368 AlexAltea's twitter: Orbital boots PS4's safe mode]</ref>
 
* [[Orbital]] was the first released PS4 emulator, with its first commit on Oct 28, 2017.<ref>[https://github.com/AlexAltea/orbital/commit/064abb20f9e410f9ac1110ccedc7287820421253 Orbital's initial commit.]</ref> 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. <ref>[https://twitter.com/AlexAltea/status/1107865782472634368 AlexAltea's twitter: Orbital boots PS4's safe mode]</ref>
* [https://github.com/devofspine/spinedemo Spine] Was the first PS4 emulator to run two commercial games on June 5, 2019,currently is only available for Linux
+
* [https://github.com/devofspine/spinedemo Spine] started development in January 2018.<ref>[https://www.reddit.com/r/emulation/comments/bwz7we/spine_ps4_emulator_another_fake_more_info_in/eq7yxag/ devofspine's comment on reddit]</ref> It was the first PS4 emulator to run a commercial game with its initial release on June 5, 2019.<ref>[https://www.reddit.com/r/linux_gaming/comments/bwh3gi/ps4_emulator_orbital_now_supports_dualshock/eq2qrl1/ Spine's original release on reddit]</ref>
  
 
===Nintendo Switch===
 
===Nintendo Switch===
* CageTheUnicorn, now [https://github.com/reswitched/Mephisto Mephisto], was the first program to attempt to emulate only a part (not the whole) of the Nintendo Switch, it started development May 16, 2017.<ref>[https://github.com/reswitched/CageTheUnicorn/commits/master CageTheUnicorn's Github commit history]</ref> 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.<ref>[https://reswitched.tech/hacking/tools/cagetheunicorn CageTheUnicorn's page on the ReSwitched website]</ref>
+
* CageTheUnicorn, now [https://github.com/reswitched/Mephisto 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.<ref>[https://github.com/reswitched/CageTheUnicorn/commits/master CageTheUnicorn's Github commit history]</ref> 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.<ref>[https://reswitched.tech/hacking/tools/cagetheunicorn CageTheUnicorn's page on the ReSwitched website]</ref>
* [[yuzu]], a fork of [[Citra]], started research and early development sometime in Spring 2017,<ref name="yuzu announcement">[https://gbatemp.net/threads/yuzu-nintendo-switch-emulator.494181/ yuzu announcement and public release.]</ref> with its first commit on September 24, 2017.<ref>[https://github.com/yuzu-emu/yuzu/commit/6bafd3f4f754e093fe0f99ebf2e1136d3398981a yuzu's NSO support commit on Github]</ref> It was publicly released January 13, 2018.<ref name="yuzu announcement"></ref>
+
* [[yuzu]], a fork of [[Citra]], started research and early development sometime in Spring 2017,<ref name="yuzu announcement">[https://gbatemp.net/threads/yuzu-nintendo-switch-emulator.494181/ yuzu announcement and public release.]</ref> with its first commit on September 24, 2017.<ref>[https://github.com/yuzu-emu/yuzu/commit/6bafd3f4f754e093fe0f99ebf2e1136d3398981a yuzu's NSO support commit on Github]</ref> It was publicly released in January 13, 2018.<ref name="yuzu announcement"></ref>
 
* [[Ryujinx]] was the first Nintendo Switch emulator to boot a commercial game, Puyo Puyo Tetris, when it released on February 4, 2018.<ref>[https://github.com/gdkchan/Ryujinx/tree/b7e1d9930db6d80fcb1f7c5c6b0aa627e42e6595 Ryujinx's initial GitHub commit.]</ref>
 
* [[Ryujinx]] was the first Nintendo Switch emulator to boot a commercial game, Puyo Puyo Tetris, when it released on February 4, 2018.<ref>[https://github.com/gdkchan/Ryujinx/tree/b7e1d9930db6d80fcb1f7c5c6b0aa627e42e6595 Ryujinx's initial GitHub commit.]</ref>
 +
* [[Skyline]] is an Switch emulator for Android. It's first commit was on June 28, 2019. It's first breakthrough was booting Super Mario Odyssey.
  
 
==References==
 
==References==

Revision as of 18:12, 17 May 2022

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

Arcade

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.

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

Commodore 64

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

Atari 2600

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”. [3]

NES

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.[4]
  • Pasofami for the FM Towns, with a release date of May 1, 1993, in its info file. It had very preliminary sound emulation.[4] 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".[5] This version supported some simple Mapper 1 games and had graphical glitches.[6] Unfortunately no copy of this emulator remains on the internet; 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

Game Boy/Color

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

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.

SNES

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.[7] (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.[8]
  • 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

PlayStation

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.

Nintendo 64

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.[9]
  • 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.

PlayStation 2

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

Game Boy Advance

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, original going to be written in JavaScript, development began 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

  • Gekko was started in April 2006.

Xbox

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

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).[17] 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

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

Xbox 360

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

PlayStation 3

  • RPCS3 started development on May 23, 2011.[25] It booted its first commercial game in March 6, 2014.[26]
  • Short Waves was first released on Dec 30, 2013.[27] 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.[28]

Wii

Nintendo 3DS

  • Citra was the first released 3DS emulator. Its first commit was on Aug 29, 2013.[29] It was able to boot its first game, Ocarina of Time 3D, on Dec 13, 2014.[30]
  • 3dmoo was started shortly after Citra, on Mar 19, 2014.[31]
  • TronDS's first version was released on May 11, 2014.[32]

Wii U

  • Decaf was the first released Wii U emulator. Its first commit was on May 18, 2015.[33] However, it didn't run any games until Oct 28, 2015,[34] a couple weeks after Cemu had released.
  • Cemu was first released in Oct 13, 2015.[35] 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.[36]

PlayStation 4

  • Orbital was the first released PS4 emulator, with its first commit on Oct 28, 2017.[37] 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. [38]
  • Spine started development in January 2018.[39] It was the first PS4 emulator to run a commercial game with its initial release on June 5, 2019.[40]

Nintendo Switch

  • 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.[41] 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.[42]
  • yuzu, a fork of Citra, started research and early development sometime in Spring 2017,[43] with its first commit on September 24, 2017.[44] It was publicly released in January 13, 2018.[43]
  • Ryujinx was the first Nintendo Switch emulator to boot a commercial game, Puyo Puyo Tetris, when it released on February 4, 2018.[45]
  • Skyline is an Switch emulator for Android. It's first commit was on June 28, 2019. It's first breakthrough was booting Super Mario Odyssey.

References

  1. [1]
  2. [2]
  3. [3]
  4. 4.0 4.1 MyaMyaMya's post in "First Famicom/NES emulator?"
  5. Archaic Ruins: Nintendo
  6. EMULATOR PAGE 2
  7. EMULATION Issue #2 - 23/07/96
  8. EMULATION Issue #4 - 28/08/96
  9. Project Unreality in limbo (Slashdot)
  10. The History of PCSX2
  11. PCSX2 v0.026 Download
  12. PCSX2 v0.1 Download
  13. PS2Emu site on archive.org
  14. nSX2 Downloads
  15. nSX2 site archive
  16. Play!'s initial Github commit.
  17. DeSmuME FAQ - What are the origins of DeSmuME?
  18. PSP Player's initial commit.
  19. PSP Player emulating Puzzle Bobble on YouTube
  20. JPCSP's initial commit.
  21. JPCSP news archive
  22. PPSSPP's initial commit.
  23. Xenia's initial Github commit.
  24. Xenia Xbox 360 Emulator: Frogger 2 first run on YouTube
  25. RPCS3's initial commit on Google Code
  26. Youtube video of RPCS3 running Arkedo Series - 02 Swap!
  27. Short Waves 0.0.1 release info
  28. Nucleus's initial Github commit.
  29. Citra's initial Github commit.
  30. Citra 3DS emu boots first commercial game - reddit thread
  31. 3dmoo's initial Github commit.
  32. TronDS changelog.
  33. decaf's initial Github commit.
  34. decaf-emu runs a game now! reddit thread.
  35. Cemu changelog
  36. gbatemp discussion on Cemu.
  37. Orbital's initial commit.
  38. AlexAltea's twitter: Orbital boots PS4's safe mode
  39. devofspine's comment on reddit
  40. Spine's original release on reddit
  41. CageTheUnicorn's Github commit history
  42. CageTheUnicorn's page on the ReSwitched website
  43. 43.0 43.1 yuzu announcement and public release.
  44. yuzu's NSO support commit on Github
  45. Ryujinx's initial GitHub commit.

External Links