Difference between pages "Multi-system emulators" and "Nintendo Switch emulators"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
 
m (Reordering emulators' descriptions in accordance with table)
 
Line 1: Line 1:
Multi-system emulators focus on emulating many different systems under one program. They can be focused on a single company's systems because of the similarity of the systems or may have systems from many different companies.
+
{{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 = {{✓}}
 +
}}
  
To be defined as "multi-system" an emulator has to emulate two or more distinct systems. Although, for simplicity reasons in this wiki (not just this page), the term, "multi-platform", in the OS column fields can come to mean three or more covered platforms. For the purpose of this list, Add-ons (eg. Sega CD, 32X) are not counted as a separate system.
+
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==
Line 8: Line 23:
 
! scope="col"|Platform(s)
 
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|# of Emulated systems
 
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
!colspan="8"|Multi-company
+
! colspan="6"|PC / x86
 
|-
 
|-
|[[MAME]]
+
|[[yuzu]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
+
|align=left|{{Icon|Windows|Linux}}
|[http://www.mamedev.org/release.html {{MAMEVer}}]
+
|[https://yuzu-emu.org/downloads/ Nightly]
|{{✓}}
 
|Thousands of electronics<ref>[http://www.mamedb.org/List.aspx www.mamedb.org's list] (Only shows the games covered, not systems)</ref>
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|[[Mednafen]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[{{MednafenURL|releases/}} {{MednafenVer}}]
 
|{{✓}}
 
|17
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|[[OpenEmu]]
 
|align=left|{{Icon|macOS}}
 
|[http://openemu.org/ {{OpenEmuVer}}]
 
|{{✗}}
 
|35
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
|[[Phoenix (emulator)|Phoenix]]
+
|[[Ryujinx]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
|[http://www.arts-union.ru/node/23 2.8.JAG]
+
|[https://ryujinx.org/#/Build Nightly]
|{{✗}}
 
|5
 
|{{✗}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|[[BizHawk]]
 
|align=left|{{Icon|Windows}}
 
|[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]
 
|{{✗}}
 
|30 (excluding the [[libretro]] cores)
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|[[ZEsarUX]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[https://github.com/chernandezba/zesarux/releases {{ZEsarUXVer}}]
 
|{{✗}}
 
|18
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
|Retro Virtual Machine
+
|NSEmu
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://www.retrovirtualmachine.org/ 2.0.beta-1.r6]
 
|{{✗}}
 
|2
 
|{{✗}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|[[ares]]
 
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://ares.dev {{aresVer}}]
+
|[https://github.com/RKX1209/nsemu git]
|{{✗}}
 
|14
 
|{{✗}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|[[higan]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|{{higanVer}}
 
|{{✓}}
 
|12
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|[[PolyBlast]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|{{PolyBlastVer}}
 
 
|{{✓}}
 
|{{✓}}
|25
 
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|{{✓}}
 
|-
 
|[[Pantheon]]
 
|align=left|{{Icon|Windows}}
 
|[http://bostjan-grandovec.si/Content/News.htm {{PantheonVer}}]
 
|{{✗}}
 
|20
 
|{{✗}}
 
|{{✓}}
 
|{{~}}
 
|-
 
|[[Clock Signal|CLK]]
 
|align=left|{{Icon|macOS|FreeBSD}}
 
|[https://github.com/TomHarte/CLK/releases {{clkver}}]
 
|{{✗}}
 
|11
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|-
 
|DSP
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[https://github.com/leniad/dsp-emulator {{DSPVer}}]
 
|{{✗}}
 
|More than 10
 
|{{✓}}
 
|{{✓}}
 
|?
 
 
|-
 
|-
|[http://bashkiria-2m.narod.ru EMU] <small>(Russian)</small>
+
|Mephisto
|align=left|{{Icon|Windows}}
+
|align=left|{{Icon|Linux|macOS}}
|[http://bashkiria-2m.narod.ru/index/files/0-11 1.01]
+
|[https://github.com/reswitched/Mephisto/releases v1.2.1], [https://github.com/reswitched/Mephisto git]
|{{✗}}
 
|More than 50
 
|?
 
 
|{{✓}}
 
|{{✓}}
|?
 
|-
 
|[https://www.crazysmart.net.au/kindred/ kindred]
 
|align=left|{{Icon|Windows}}
 
|[https://www.crazysmart.net.au/kindred/files/kindred1r12a.zip {{kindredVer}}]
 
|{{✗}}
 
|7
 
|{{✗}}
 
|{{✓}}
 
|?
 
|-
 
|WinArcadia
 
|align=left|{{Icon|Windows|AmigaOS|MorphOS}}
 
|[http://amigan.1emu.net/releases/#amiarcadia {{WinArcadiaVer}}]
 
 
|{{✗}}
 
|{{✗}}
|21
 
 
|{{✗}}
 
|{{✗}}
|{{✓}}
 
|?
 
 
|-
 
|-
|Z64K
+
|CageTheUnicorn
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[http://amigan.1emu.net/releases/#amiarcadia {{Z64KVer}}]
+
|[https://github.com/reswitched/CageTheUnicorn git]
|{{✗}}
 
|4
 
|{{✗}}
 
|{{✓}}
 
|?
 
|-
 
|Xpeccy
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/samstyle/Xpeccy/releases {{XpeccyVer}}]
 
|{{✗}}
 
|14
 
|?
 
|{{✓}}
 
|?
 
|-
 
|[https://web.archive.org/web/20141105014113/http://www.xe-emulator.com/ Xe]
 
|align=left|{{Icon|Windows|Linux}}
 
|[https://web.archive.org/web/20141022230129/http://www.xe-emulator.com/index.php?m=download 2.16.2]
 
|{{✗}}
 
|18
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|[https://web.archive.org/web/20131022152846/http://www.dridus.com:80/~nyef/darcnes/ DarcNES]
 
|align=left|{{Icon|Windows|Linux|BSD}}
 
|[https://web.archive.org/web/20071129223043/http://www.dridus.com/~nyef/dn_bin/ 9b0401/9b0313]
 
|{{✗}}
 
|8
 
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
!colspan="8"|Nintendo
+
!colspan="10"|Mobile / ARM
|-
 
|[[Dolphin]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://dolphin-emu.org/download/ {{DolphinVer}}]
 
|{{✓}}
 
|3
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
 
|-
 
|-
|[[GBE+]]
+
|[https://eggns.wordpress.com Egg NS]
|align=left|{{Icon|Windows|Linux|macOS}}
+
|align=left|{{Icon|Android}}
|[https://github.com/shonumi/gbe-plus/releases {{GBEVer}}]
+
|[https://drive.google.com/file/d/15jYpgxZZKcstAqxZYg5_znDiXS41Shep/view 1.0.7]
 
|{{✗}}
 
|{{✗}}
|4
 
|{{✓}}
 
 
|{{✓}}
 
|{{✓}}
|{{~}}
 
|-
 
|[[No$|No$GBA]]
 
|align=left|{{Icon|Windows|DOS}}
 
|[http://problemkaputt.de/gba.htm {{No$GBAVer}}]
 
 
|{{✗}}
 
|{{✗}}
|3*
 
|{{✗}}
 
|{{✓}}
 
|{{✗}}
 
|-
 
!colspan="8"|Sega
 
|-
 
|[[Kega Fusion]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[http://www.carpeludum.com/kega-fusion/ 3.64]
 
|{{✗}}
 
|10
 
|{{✗}}
 
|{{✗}}
 
|{{~}}
 
|-
 
|[[PicoDrive]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[https://notaz.gp2x.de/pico.php {{PicoDriveVer}}]
 
|{{✓}}
 
|6
 
|{{✗}}
 
|{{✓}}
 
|{{~}}
 
|-
 
!colspan="8"|Sinclair
 
 
|-
 
|-
|[[EightyOne]]
+
|[https://github.com/skyline-emu/skyline Skyline]
|align=left|{{Icon|Windows}}
+
|align=left|{{Icon|Android}}
|[https://sourceforge.net/projects/eightyone-sinclair-emulator/files/ {{EightyOneVer}}]
+
|[https://github.com/skyline-emu/skyline/releases git]
|{{✓}}
 
|12
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
!colspan="8"|Commodore
 
|-
 
|[[VICE]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[http://vice-emu.sourceforge.net/index.html#download {{VICEVer}}]
 
|{{✓}}
 
|6
 
|{{✓}}
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 +
|{{✗}}<small> (WIP)</small>
 
|}
 
|}
<nowiki>*</nowiki>No$GBA apparently also does [[PocketStation emulators|PocketStation emulation]]
+
 
 +
;[[yuzu]] <small class="plainlinks" style="font-weight:normal;">([https://yuzu-emu.org/game compatibility])</small>
 +
: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. Resolution scaler was disabled some time ago due to bugs, but in July 2021 work on reimplementing resolution scaler has started.
 +
 
 +
;[[Ryujinx]] <small class="plainlinks" style="font-weight:normal;">([https://github.com/Ryujinx/Ryujinx-Games-List/issues compatibility])</small>
 +
: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. As of July 2021, Vulkan API support is almost completed.
 +
 
 +
;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.
 +
 
 +
;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.
 +
 
 +
==See also==
 +
* [[Emulators on Switch]]
  
 
==References==
 
==References==
<references/>
+
<references />
 
+
==External Links==
+
{{Nintendo}}
* [https://github.com/mamedev/mame/tree/master/src/mame/drivers GitHub list of all covered 'drivers' (Systems & machines emulated) under the MAME group] (Pretty crappy list. Only the first 1,000 drivers are shown there. The rest are omitted. Approximately 2250 drivers in all.)
 
  
[[Category:Multi-emulators|*]]
+
[[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 20:06, 1 August 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.7
Skyline Android git (WIP)
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. Resolution scaler was disabled some time ago due to bugs, but in July 2021 work on reimplementing resolution scaler has started.
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. As of July 2021, Vulkan API support is almost completed.
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.
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.

See also

References