Difference between pages "Game Boy Advance emulators" and "Nintendo Switch emulators"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(Special Cartridges)
 
 
Line 1: Line 1:
[[File:Gameboy-glacier.jpg|thumb|The Gameboy Advance handheld console]]The '''[[gametech:Game Boy Advance|Game Boy Advance]]''' (often shortened to GBA) is a 32-bit handheld video game console developed by Nintendo. It is the successor to the Game Boy Color. It was released in Japan on March 21, 2001; in North America on June 11, 2001; in Australia and Europe on June 22, 2001.
+
{{Infobox console
 +
|title = Nintendo Switch
 +
|image = nintendo-switch.png
 +
|image2 = switchdocked.png
 +
|imagecaption = The Switch in its two forms, portable (above) and docked (below).
 +
|developer = [[:Nintendo]]
 +
|type = [[:Category:Hybrid consoles|Hybrid video game console]]
 +
|generation = [[:Category:Eighth-generation video game consoles|Eighth generation]]
 +
|release = 2017
 +
|predecessor = [[Wii U emulators|Wii U]]
 +
|emulated = {{✓}}
 +
}}
 +
 
 +
The '''[[wikipedia:Nintendo Switch|Nintendo Switch]]''' is an eighth-generation hybrid gaming console released by Nintendo on March 3, 2017 and retailed for {{Inflation|USD|299.99|2017}}. During its development, the Switch was known as the NX (short for NeXt or Nintendo "Cross") and was widely speculated up until its announcement. Aside from specialized components unique to the console, the hardware is more or less off-the-shelf, being built around a semi-custom variant of Nvidia's Tegra X1 system-on-a-chip which was also used on a number of [[Android emulators|Android devices]]. The Switch contains 4 ARM Cortex-A57 CPUs and 4 ARM Cortex-A53 CPUs running at 1.020 GHz with 4GB of RAM and a proprietary GPU codenamed GM20B.
 +
 
 +
While Nintendo intended to step up the security of the console, vulnerabilities were still found early on that allowed tons of system files to be dumped, including dumps of games in the form of romfs.istorage archives, an exefs folder, and license files. These game dumps eventually got shared online by scene groups except for their licenses but were missing important files to run and even if they had been completed, there were no custom homebrew apps let alone solutions to load unofficial game dumps for the system. A number of prominent hacking teams (starting with shuffle2 and fail0verflow in collaboration) all came across a new exploit independently of each other that allowed complete control over the system, later officially recognized by Nvidia as CVE-2018-6242.
 +
 
 +
A "debugging emulator" for the Nintendo Switch, CageTheUnicorn (now [https://github.com/reswitched/Mephisto Mephisto]), popped up not long after the first components were dumped. It was designed to emulate sysmodules with "no support for graphics, sound, input, or any kind of even remotely performant processing [...] by design". A couple of months later, members of both the [[Citra]] and [[Dolphin]] teams announced the release of [[yuzu|their own emulator written in c++]], which was capable of booting some homebrew applications; within a couple of weeks yet another emulator named [[Ryujinx]], written in c# by developer gdkchan, was released showing successful booting of commercial Switch games Puyo Puyo Tetris and Sonic Mania.
  
 
==Emulators==
 
==Emulators==
{| class="wikitable"
+
{| class="wikitable" style="text-align:center;"
|+PC
 
 
! scope="col"|Name
 
! scope="col"|Name
! scope="col"|Operating System(s)
+
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
! scope="col"|GB/GBC
+
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|GBA
+
! scope="col"|Active
! scope="col"|NDS
+
! scope="col"|[[Recommended Emulators|Recommended]]
! scope="col"|Game Link Support
 
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|[[Recommended emulators|Recommended]]
 
 
|-
 
|-
|style="text-align:center;"|[[Visual Boy Advance -M|Visual Boy Advance-M (VBA-M)]]
+
! colspan="6"|PC / x86
|style="text-align:center;"|Multi-platform
 
|style="text-align:center;"|[http://www.emucr.com/search/label/VisualBoyAdvance-M/ r1231]
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✓
 
 
|-
 
|-
|style="text-align:center;"|[[mGBA]]
+
|[[yuzu]]
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows|Linux}}
|style="text-align:center;"|[https://endrift.com/mgba/downloads.html 0.1.0]
+
|[https://yuzu-emu.org/downloads/ Nightly]
|style="text-align:center;"|✗
+
|{{✓}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|✗
+
|{{✓}}
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|?
 
 
|-
 
|-
|style="text-align:center;"|[[higan]]
+
|[[Ryujinx]]
|style="text-align:center;"|Windows, OS X, Linux
+
|align=left|{{Icon|Windows|Linux|macOS}}
|style="text-align:center;"|[http://byuu.org/higan/ 0.94]
+
|[https://ryujinx.org/#/Build Nightly]
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|✗
+
|{{✓}}
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|iDeaS
+
|NSEmu
|style="text-align:center;"|Windows, Linux
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|[http://ciacin.site90.com/ideas.php 1.0.4.0]
+
|[https://github.com/RKX1209/nsemu Git]
|style="text-align:center;"|✗
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|✓
+
|{{}}
|style="text-align:center;"|✗
 
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[MESS]]
+
|Mephisto
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Linux|macOS}}
|style="text-align:center;"|[http://www.mamedev.org/release.html {{MAMEVer}}]
+
|[https://github.com/reswitched/Mephisto/releases v1.2.1], [https://github.com/reswitched/Mephisto Git]
|style="text-align:center;"|✓
+
|{{}}
|style="text-align:center;"|✓
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|?
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|Meteor
+
|CageTheUnicorn
|style="text-align:center;"|Linux
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|style="text-align:center;"|[https://github.com/blastrock/meteor 1.4]
+
|[https://github.com/reswitched/CageTheUnicorn Git]
|style="text-align:center;"|✗
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|✗
+
|{{}}
|style="text-align:center;"|
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[No$GBA]]
+
!colspan="10"|Mobile / ARM
|style="text-align:center;"|Windows, MS-DOS
 
|style="text-align:center;"|[http://www6.zippyshare.com/v/86378833/file.html 2.7b]
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
|}
 
 
 
{| class="wikitable"
 
|+Consoles
 
! scope="col"|Name
 
! scope="col"|Operating System(s)
 
! scope="col"|Latest Version
 
! scope="col"|GB/GBC
 
! scope="col"|GBA
 
! scope="col"|NDS
 
! scope="col"|Game Link Support
 
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|[[Recommended emulators|Recommended]]
 
 
|-
 
|-
|style="text-align:center;"|TempGBA4PSP
+
|[https://eggns.wordpress.com Egg NS]
|style="text-align:center;"|[[PlayStation Portable]]
+
|align=left|{{Icon|Android}}
|style="text-align:center;"|[https://www.mediafire.com/?zzkw74c1kzobedj 26731013]
+
|[https://drive.google.com/u/0/uc?id=15jYpgxZZKcstAqxZYg5_znDiXS41Shep&export=download 1.0.6]
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|
+
|{{}}
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✓
 
 
|-
 
|-
|style="text-align:center;"|[[Visual Boy Advance -M|Visual Boy Advance-M (VBA-M)]]
+
|[https://github.com/skyline-emu/skyline Skyline]
|style="text-align:center;"|[[Wii]], [[Gamecube]]
+
|align=left|{{Icon|Android}}
|style="text-align:center;"|r1229
+
|[https://github.com/skyline-emu/skyline/releases 0.3]
|style="text-align:center;"|✓
+
|{{}}
|style="text-align:center;"|✓
+
|{{}}
|style="text-align:center;"|✗
+
|{{}}
|style="text-align:center;"|✓
 
|style="text-align:center;"|✓ (as VBA-Next)
 
|style="text-align:center;"|✓
 
|-
 
|style="text-align:center;"|[[gpSP]]
 
|style="text-align:center;"|[[PlayStation Portable]]
 
|style="text-align:center;"|0.9
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|}
 
|}
  
==Comparisons==
+
;[[yuzu]] <small class="plainlinks" style="font-weight:normal;">([https://yuzu-emu.org/game compatibility])</small>
* [[gpSP]] last official version was 0.9 by Exophase. There are, however, two superior forks: [http://dl.qj.net/psp/emulators/gpsp-mod-20090720.html gpSPmod] and [http://filetrip.net/psp-downloads/homebrew/download-gpsp-j-12-06-16-f29570.htmlgpSP-J gpSP-J]. gpSP-J has superior compatibility, while gpSPmod has more options for customization (full screen, cheats, etc). Both are superior to Kai.
+
:An open-source emulator made by many of [[Citra]]'s developers. As it is a hard fork of Citra it shares many of its traits, namely cross-platform support and the use of OpenGL (though unlike Citra it also supports Vulkan). Many 2D games now render graphics properly and at good speeds; many 3D games are playable. This emulator currently offers early access builds to $5/month [[Emulators on Patreon|Patreon]] subscribers which allows them to utilize new features prior to their eventual release on the mainline build. One of yuzu's notable features is its disk-based shader cache for OpenGL, negating the need to compile shaders on the fly on every boot. uses leaked sdks
* [[Visual Boy Advance -M|Visual Boy Advance-M (VBA-M)]] is the best emulator for the GBA. RetroArch's VBA-Next is based off an older revision of VBA-M with added speedhacks and tweaks, making it a bit less accurate in some respects, though it fixes a few games such as Advance Wars 2.
 
* [[higan]]'s GBA core is cycle-accurate, but is otherwise very much a WIP and not as compatible as either version of VBA.
 
* [[mGBA]] is a GBA emulator that aims to be accurate while maintaining speed.
 
 
 
==Emulation issues==
 
 
 
===Oversaturation===
 
[[File:1406913527173-1-.png|400px|thumb|right|Left showing the default game, and right showing [[VBA-M]] in "Gameboy Colors" mode]]
 
The original GBA screen was not backlit, which would render the screen rather dark. To compensate for this, games would be overly saturated. The bright overly saturated colors would appear rather normal on the GBA. In emulation however, this over saturation is not needed. Some games made after 2003 may look better with the backlit colors, however, as they were designed with the GBA SP in mind. For everything else, there are several ways to deal with this:
 
 
 
'''No$GBA'''
 
 
 
Under "Emulation Options", select "GBA Mode. There are four modes.
 
 
 
- GBA (no backlight) = strong desaturization
 
 
 
- GBA SP (backlight) = strong desaturization
 
 
 
- Nintendo DS in GBA mode = some desaturization
 
 
 
- VGA Mode (poppy bright): zero desaturization
 
 
 
'''VBA-M'''
 
 
 
- (VBA-M for Windows only) Under "Options->Gameboy" you will find the options:
 
 
 
- "Real Colors": no desaturization
 
 
 
- "Gameboy Colors": strong desaturization 
 
 
 
'''Shaders'''
 
 
 
[https://github.com/libretro/common-shaders/blob/master/cgp/gameboy-colors.cgp gameboy-colors.cgp]
 
 
 
A .cgp shader preset can be loaded in [[OpenEMU]] or [[RetroArch]] that is meant to (sort-of) replicate the "Gameboy Colors" option in VBA-M using the image-adjustment Cg shader. The settings are parameters that are stored in the cgp and can be adjusted at runtime. The relevant parameters set for this effect are:
 
 
 
Target Gamma = 2.4
 
 
 
Monitor Gamma = 2.16
 
 
 
Saturation = 0.5
 
 
 
Luminance = 0.9
 
 
 
The colors will not be exactly the same as what VBA-M produces (a bit brighter and no washed out blacks) but it will get you the desaturation effect. Can be adjusted to fit your tastes, and you can get the washed out blacks by increasing "Brightness Boost" and decreasing Luminance a bit.
 
 
 
===Save file issues===
 
There are a number of different save formats for GBA games. With raw save data, it's very hard to detect what save type it is just by looking at it. Visual Boy Advance tries to autodetect save type but often is incorrect and this causes issues. A fix to this issue is to use a file called "vba-over.ini" to tell VBA what each game's proper save type is, which eliminates most issues regarding save type. Current VBA-M versions come with vba-over.ini by default, but older versions of VBA like VBA 1.7.2 and VBALink did not.
 
 
 
The libretro versions of VBA, libretro-VBA-Next and libretro-VBA-M, come with vba-over.ini baked into the binary so it is able to load raw .sav files, but also changes the save file output to be a 136KB .srm file for every save type, with save type info contained within the file. This completely avoids any save type issues, but makes its save files incompatible with standalone VBA and most other emulators.
 
 
 
Libretro devs created a
 
[https://github.com/libretro/vbam-libretro/blob/master/src/libretro/gbaconv/gbaconv.c command line tool] to convert libretro-VBA .srm save files to raw .sav save data for other emulators. You can just drag and drop a .srm onto the executable and it will output raw .sav. The same can be done in reverse. A precompiled Windows 64-bit binary of this tool can be found
 
[https://www.mediafire.com/?6bg8ag0bjs1b7ng here].
 
 
 
==Connectivity==
 
===GBA Link Multiplayer (1~4GBA)===
 
* VBA-M: This doesn't work with old VBA versions. Just disable "Pause when Inactive", configure all four joypads each with their own button layout, and open again VBA-M to have 2 to 4 windows.
 
 
 
* No$GBA: This method also works with DS roms, and that's the actual way to see the incomplete non-functional local Wi-Fi DS multiplayer implementation. (todo)
 
 
 
===GameCube Connectivity===
 
The GBA unit can connect to a GameCube.
 
 
 
====Dolphin and VBA-M====
 
 
 
Game Boy connection support can be supported via joybus emulation. Such requires VBA-M (r947 or newer) and a dump of a GBA BIOS.
 
 
 
'''Connect 1~4 GBA Unit Without Game to GC Game'''
 
* Open Dolphin and VBA-M (duh). Make sure neither are blocked by your firmware.
 
* '''Dolphin:''' Start your game and play until you get to the in-game menu where you're asked to connect a GBA. Under the GC controller options (earlier "Config, Gamecube", now it's with the GC/Wii controller options). You have 4 GC controller ports: change how much you need to "GBA". Leave the game and its music running :)
 
* '''VBA-M:''' You'll need to uncheck "Options, Emulator, Pause When Inactive". Then, under "Options, Link, Joybus Options", Make sure to enable "Enable Joybus Connection" and set "IP/Hostname" to use default settings, that is (127.0.0.1) or (localhost) - without the brackets.
 
* THEN, Dolphin will freeze. You'll want to not have the system sound too high if you're using headphones.
 
* '''VBA-M''': Open the GBA BIOS in VBA-M as if it were a regular GBA ROM. There will be that splash screen but it will stutter a bit.
 
* Dolphin should recognize the Joybus Link by then and the GC game will detect that a GBA unit was connected.
 
* To connect other GBA units, open another VBA-M instance and repeat what you did with VBA-M.
 
Notable games that work:
 
* The Legend of Zelda Four Swords Adventures: Both two modes available for the US/PAL version work. The third Japan-only Navi Trackers mode works as well, but the game crashes after the naming screen due to a bug in the GC/GBA connectivity.
 
* Final Fantasy Crystal Chronicles
 
* Billy Hatcher: You can download games to your GBA. Amusingly, a RAM dump from VBA-M can be opened as a functional GBA ROM.
 
* Kururin Squash
 
* Sonic Adventure 2 (buggy)
 
 
 
Don't work:
 
* The Legend of Zelda Wind Waker: Tingle Trainer connection always fails, though some messages do display on VBA-M.
 
* Drill Land
 
* lots more
 
 
 
'''Connect GBA Game to GC Game'''
 
During the GBA bios splash screen (if VBA-M is set to use a bios file -that bios- then open a retail GBA game supposed to connect with the GC game), pressing a button combination (A+Select???) is needed for connecting GBA games with GC games, as opposed to the above method
 
 
 
(needs investigation, what's the actual button combination)
 
 
 
====Dolphin and other emulators====
 
Dolphin devs are working at rewriting the entire GBA connectivity code in a far better way from scratch with more accurate emulators. They did a video using the higan emulator. Nothing of the sort is published at the moment.
 
  
===e-Reader Support===
+
;[[Ryujinx]] <small class="plainlinks" style="font-weight:normal;">([https://github.com/Ryujinx/Ryujinx-Games-List/issues compatibility])</small>
* No$GBA (todo)
+
:An open-source emulator that's programmed in C#. Most 2D games are now booting and running at comfortable speeds and many 3D games are playable. It also supports resolution upscaling to 4K and beyond; custom upscaling/downscaling ratios are supported. Ryujinx now has a disk-based shader cache. Unlike yuzu, Ryujinx does not offer packaged early access builds; however work-in-progress features can still be tested by using Appveyor builds or building locally from unmerged pull requests. Separately, Ryujinx has released a closed source LDN-enabled preview build supporting local wireless multiplayer across the internet, as well as LAN mode compatibility on local networks with Switch consoles on supported games.
* VBA 1.7.2 (special e-Reader build) (todo)
 
  
For a few cases, with games like Super Mario Advance 4, one can simply get a sav file with the e-Reader levels already stored and Action Replay cheats being used to get e-Reader effects already stored in-game.  
+
;Skyline
 +
:An open-source [[Compatibility layers|compatibility layer]] for ARMv8 [[Android]] devices. For the sake of convenience, the team bills the app as an emulator, but it functionally works like [[Wine]], running almost all of the original code on bare metal except for what interfaces with the rest of the system. At the moment Skyline does not have any graphical output, but some games do boot with audio only.
  
==Special Cartridges==
+
;Egg NS
These were never emulated as of yet. There used to be patches to be applied to GBA ROMS with an utility like LunarIPS, but they're for the most part lost to time nowadays. Your best bet is to use Action Replay to emulate those.
+
:Claimed the first spot in getting games running on Android. 81 titles are purported to work, and the rest are either not working or assumed to fail. There is significant controversy surrounding this emulator for the following reasons: the current version lacks any onscreen buttons and instead requires users to purchase a specific controller; it expects to run on a high-end device within the ballpark of a Qualcomm Snapdragon 855/855+/865/865+; it was discovered to have violated GPLv2 licensing requirements by using code from yuzu in a disallowed manner. Made by the Chinese illegal market.
  
* '''Solar Sensor:''' Boktai 1 (Fix: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1567 JP], [http://www.advanscene.com/html/Releases/dbreleases.php?id=1145 US], <s>EU</s>), Boktai 2 (Fix: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1567 JP], <s>US</s>, [http://www.advanscene.com/html/Releases/dbreleases.php?id=1992 EU]), Boktai 3 ([http://www.advanscene.com/html/Releases/dbreleases.php?id=2048 JP Fix]).
+
==See also==
* '''Motion Control:''' Yoshi Topsy Turvy/Universal Gravitation (Fix: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1799 JP], [http://www.advanscene.com/html/Releases/dbreleases.php?id=1947 EU], [http://www.advanscene.com/html/Releases/dbreleases.php?id=2001 US]), Warioware Twisted! (Patch: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1682 JP], [http://www.advanscene.com/html/Releases/dbreleases.php?id=1979 US])
+
* [[Emulators on Switch]]
* '''Variable Rumble Speed''': Drill Dozer. Can still be emulated.
 
* '''Figurine Add-on:''' Legendz: Isle Of Trials, Legendz: Sign Of Necromu, Plaston Gate ([http://www.advanscene.com/html/Releases/dbreleases.php?id=1020 Fix]), Plaston Gate DX ([http://www.advanscene.com/html/Releases/dbreleases.php?id=2006 Fix]). Latter two have fixes:
 
* '''Dotcode Reader:''' e-Reader (dumps of the dotcodes exist, and can be opened with VBA 1.7.2 e-Reader or NO$GBA)
 
  
VBA-M has an option for Motion controls "Input, Set, Motion". It currently works with all versions of the GBC title Yoshi Tilt'n Tumble, which also was a special cartridge with a motion sensor built-in to control movement in-game.
+
==References==
 +
<references />
 +
 +
{{Nintendo}}
  
 
[[Category:Consoles]]
 
[[Category:Consoles]]
 +
[[Category:Handheld consoles]]
 +
[[Category:Home consoles]]
 +
[[Category:Hybrid consoles]]
 +
[[Category:Eighth-generation video game consoles]]
 +
[[Category:Nintendo consoles]]
 +
[[Category:Nintendo Switch emulators|*]]

Revision as of 15:02, 21 July 2021

Nintendo Switch
Nintendo-switch.png
Switchdocked.png
The Switch in its two forms, portable (above) and docked (below).
Developer Nintendo
Type Hybrid video game console
Generation Eighth generation
Release date 2017
Predecessor Wii U
Emulated

The Nintendo Switch is an eighth-generation hybrid gaming console released by Nintendo on March 3, 2017 and retailed for $299.99. During its development, the Switch was known as the NX (short for NeXt or Nintendo "Cross") and was widely speculated up until its announcement. Aside from specialized components unique to the console, the hardware is more or less off-the-shelf, being built around a semi-custom variant of Nvidia's Tegra X1 system-on-a-chip which was also used on a number of Android devices. The Switch contains 4 ARM Cortex-A57 CPUs and 4 ARM Cortex-A53 CPUs running at 1.020 GHz with 4GB of RAM and a proprietary GPU codenamed GM20B.

While Nintendo intended to step up the security of the console, vulnerabilities were still found early on that allowed tons of system files to be dumped, including dumps of games in the form of romfs.istorage archives, an exefs folder, and license files. These game dumps eventually got shared online by scene groups except for their licenses but were missing important files to run and even if they had been completed, there were no custom homebrew apps let alone solutions to load unofficial game dumps for the system. A number of prominent hacking teams (starting with shuffle2 and fail0verflow in collaboration) all came across a new exploit independently of each other that allowed complete control over the system, later officially recognized by Nvidia as CVE-2018-6242.

A "debugging emulator" for the Nintendo Switch, CageTheUnicorn (now Mephisto), popped up not long after the first components were dumped. It was designed to emulate sysmodules with "no support for graphics, sound, input, or any kind of even remotely performant processing [...] by design". A couple of months later, members of both the Citra and Dolphin teams announced the release of their own emulator written in c++, which was capable of booting some homebrew applications; within a couple of weeks yet another emulator named Ryujinx, written in c# by developer gdkchan, was released showing successful booting of commercial Switch games Puyo Puyo Tetris and Sonic Mania.

Emulators

Name Platform(s) Latest Version FLOSS Active Recommended
PC / x86
yuzu Windows Linux Nightly
Ryujinx Windows Linux macOS Nightly
NSEmu Windows Git
Mephisto Linux macOS v1.2.1, Git
CageTheUnicorn Windows Linux macOS FreeBSD Git
Mobile / ARM
Egg NS Android 1.0.6
Skyline Android 0.3
yuzu (compatibility)
An open-source emulator made by many of Citra's developers. As it is a hard fork of Citra it shares many of its traits, namely cross-platform support and the use of OpenGL (though unlike Citra it also supports Vulkan). Many 2D games now render graphics properly and at good speeds; many 3D games are playable. This emulator currently offers early access builds to $5/month Patreon subscribers which allows them to utilize new features prior to their eventual release on the mainline build. One of yuzu's notable features is its disk-based shader cache for OpenGL, negating the need to compile shaders on the fly on every boot. uses leaked sdks
Ryujinx (compatibility)
An open-source emulator that's programmed in C#. Most 2D games are now booting and running at comfortable speeds and many 3D games are playable. It also supports resolution upscaling to 4K and beyond; custom upscaling/downscaling ratios are supported. Ryujinx now has a disk-based shader cache. Unlike yuzu, Ryujinx does not offer packaged early access builds; however work-in-progress features can still be tested by using Appveyor builds or building locally from unmerged pull requests. Separately, Ryujinx has released a closed source LDN-enabled preview build supporting local wireless multiplayer across the internet, as well as LAN mode compatibility on local networks with Switch consoles on supported games.
Skyline
An open-source compatibility layer for ARMv8 Android devices. For the sake of convenience, the team bills the app as an emulator, but it functionally works like Wine, running almost all of the original code on bare metal except for what interfaces with the rest of the system. At the moment Skyline does not have any graphical output, but some games do boot with audio only.
Egg NS
Claimed the first spot in getting games running on Android. 81 titles are purported to work, and the rest are either not working or assumed to fail. There is significant controversy surrounding this emulator for the following reasons: the current version lacks any onscreen buttons and instead requires users to purchase a specific controller; it expects to run on a high-end device within the ballpark of a Qualcomm Snapdragon 855/855+/865/865+; it was discovered to have violated GPLv2 licensing requirements by using code from yuzu in a disallowed manner. Made by the Chinese illegal market.

See also

References