Difference between pages "Emulators on 3DS" and "Cemu"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(MegaDrive/Genesis/MasterSystem/32X/Sega CD)
 
m (Lot's of outdated info, I can't fix everything right now.)
 
Line 1: Line 1:
{{Infobox console
+
{{Infobox emulator
|title = Nintendo 3DS
+
|logo = Cemu-Logo.png
|logo = 3ds.png
+
|version = {{CemuVer}}
|developer = Nintendo
+
|active = Yes
|type = [[:Category:Emulators on handheld consoles|Handheld game console]]
+
|platform = [[Emulators on Windows|Windows]]
|generation = [[:Category:Emulators on eighth-generation consoles|Eighth generation]]
+
|architecture = x86_64
|release = 2011
+
|target = [[Wii U emulators|Wii U]]
|discontinued = 2020
+
|developer = Exzap, Petergov
|predecessor = [[Emulators on DS|Nintendo DS]]
+
|website = [http://cemu.info Cemu]
|emulated = {{✓}}
+
|license = Closed-source freeware
 +
|compatibility = [https://compat.cemu.info Compatibility list]
 +
|support = [https://www.patreon.com/cemu Patreon]
 +
|bios = [[Emulator_Files#Wii_U|Optional]]
 
}}
 
}}
 +
{{Outdated}}
 +
'''[[wikipedia:Cemu|Cemu]]''' is a closed-source [[Wii U emulators|Wii U emulator]] for Windows. Its development was started circa 2015 and it's known to be the very first Wii U emulator ever that can boot games.
  
Because of the homebrewing scene the 3DS has had, you can install a variety of emulators. Currently, the New 3DS is capable of running much faster than the older models, making it a much more ideal platform for emulation, but despite this there are still some emulators that have issues regardless.  For more information on how to homebrew your 3DS, visit [https://3ds.hacks.guide/ 3ds.hacks.guide].
+
Before updates are publicly released, they're accessible to backers over at [https://www.patreon.com/cemu their Patreon].
  
==Multi-Systems==
+
==Download==
===[[RetroArch]]===
+
{| cellpadding="4"
 
 
There are [https://gbatemp.net/threads/retroarch-emulation-thread-nightly-builds-included.400913/ preliminary 3DS ports]
 
 
 
<B><code> [http://buildbot.libretro.com/stable/ Stable]</B></code>
 
 
 
<B><code> [http://buildbot.libretro.com/nightly/nintendo/3ds/ Nightly]</B></code>
 
 
 
<B><code> [https://github.com/libretro GitHub]</code></B>
 
 
 
BIOS : <code><B> [https://github.com/Abdess/retroarch_system Download] </code></B>
 
 
 
{| class="wikitable sortable" style="text-align:center;"
 
|+ Available cores
 
! Cores
 
! Game/System
 
! Working?
 
! class="unsortable"|Notes
 
|-
 
| [[FinalBurn Alpha]] 2012
 
| rowspan="5" style="text-align: center;" | [[Arcade emulators|Arcade]]
 
| {{✓}}
 
| <ul><li>Uses FBA v0.2.97.30 ROM sets</li><li>Main core (fbalpha2012_libretro) does not work, but platform-specific cores run at full speed</li><ul>
 
|-
 
| [[FinalBurn Neo]] NeoGeo
 
| {{✓}}
 
| A few games are unable to be loaded due to memory constraints
 
|-
 
| [[FinalBurn Alpha]] CPS1
 
| {{✓}}
 
|
 
|-
 
| [[FinalBurn Alpha]] CPS2
 
| {{✓}}
 
|
 
|-
 
| [[FinalBurn Alpha]] CPS3
 
| {{~}}
 
| most games are too slow to run even on New 3DS, though JoJo runs almost full speed
 
|-
 
| [[Gambatte]]
 
| [[Game Boy/Game Boy Color emulators|Game Boy/GameBoy Color]]
 
| {{✓}}
 
|
 
|-
 
| [[mGBA]]
 
| rowspan="2" style="text-align: center;" | [[Game Boy Advance emulators|GameBoy Advance]]
 
| {{✓}}
 
| acceptable with Pokemon Ruby/Sapphire, but some games are slow to use, even on New 3DS, at present
 
|-
 
| [[gpSP]]
 
| {{✓}}
 
| ~50-60 FPS with dynarec
 
|-
 
| [[Mednafen]] VB
 
| [[Virtual Boy emulators|Virtual Boy]]
 
| {{~}}
 
| ~25-30 FPS
 
|-
 
| [[Mednafen]] PCE fast
 
| [[PC Engine (TurboGrafx-16) emulators |PCE/PCECD/SuperGrafx]]
 
| {{✓}}
 
|
 
|-
 
| [[Mednafen]] NGP
 
| [[Neo Geo Pocket emulators|NeoGeo Pocket/Pocket Color]]
 
| {{✓}}
 
|
 
|-
 
| [[Mednafen]] WS
 
| [[WonderSwan emulators|WonderSwan/WonderSwan Color]]
 
| {{✓}}
 
|
 
|-
 
| FCEUmm
 
| rowspan="3" style="text-align: center;" | [[Nintendo Entertainment System emulators|NES/FDS]]
 
| {{✓}}
 
|
 
|-
 
| [[Nestopia]]
 
| {{✓}}
 
| ~55-60 FPS, use FCEUmm instead
 
|-
 
| [[QuickNES]]
 
| {{✓}}
 
|-
 
| NXEngine
 
| Cave Story
 
| {{✓}}
 
|
 
|-
 
| PCSX-ReARMed
 
| [[PlayStation emulators|PlayStation 1]]
 
| {{✓}}
 
| ~50-60 FPS at standard resolution
 
|-
 
| [[PicoDrive]]
 
| MegaDrive/Genesis/MasterSystem/GameGear/CD/32X
 
| {{✓}}
 
| 2D games run full speed, 3D games run about 30 FPS or less
 
|-
 
| [[Genesis Plus GX]]
 
| MegaDrive/Genesis/MasterSystem/GameGear/CD/32X/SG-1000
 
| {{✓}}
 
| Redbook audio hangs when suspending or pausing RetroArch
 
|
 
|-
 
| [[Snes9x]] 2002 (PocketSNES)
 
| rowspan="4" style="text-align: center;" | [[Super Nintendo emulators|SNES]]
 
| {{✓}}
 
| less compatible than CATSFC, but can actually run many special chip games at full speed
 
|-
 
| [[Snes9x]] 2005 ([[CATSFC]])
 
| {{✓}}
 
| ~55-60 FPS on standard games, ~50 FPS on Super FX games
 
|-
 
| [[Snes9x]] 2005+ ([[CATSFC]] Plus)
 
| {{✓}}
 
| Same as Snes9x 2005 but with better sound, at the cost of a few FPS, has more accurate audio, slower
 
|-
 
| [[Snes9x]] 2010 ([[Snes9x]] Next)
 
| {{✓}}
 
| Most accurate but slowest SNES core (~40 FPS),too slow to use even on New 3DS at present
 
|
 
|}
 
 
 
Using current exploits, the New 3DS is capable of running most of these cores at or nearly at full speed on most games. The only cores the older 3DS can reliably run at full speed are 2048, Gambatte, QuickNES, NXEngine, and some older Sega games using PicoDrive.
 
Opposed to normal use of RetroArch, these are all self-contained emulators, albeit sharing the same automatic configuration.
 
Screenshot-taking is broken. Upon exiting RetroArch 3DS, press the Start button.
 
 
 
===[[RetroArch]] (Unofficial)===
 
 
 
<B>Unofficial <code> [https://gbatemp.net/threads/unofficial-3ds-retroarch-builds.462252 3DS builds]</B></code>
 
 
 
{| class="wikitable sortable" style="text-align:center;"
 
|+ New3DS performance
 
! Core
 
! Game/System
 
! Working?
 
! class="unsortable"|Notes
 
|-
 
| [[TGB Dual]]
 
| GameBoy/GameBoy Color
 
| {{✓}}
 
| ~60fps
 
|-
 
| GW
 
| Game & Watch
 
| {{✓}}
 
| ~58fps
 
|-
 
| [[FUSE]]
 
| ZX Spectrum
 
| {{✓}}
 
| ~60fps
 
|-
 
| VecX
 
| Vectrex
 
| {{✓}}
 
| ~55fps
 
|-
 
| [[O2EM]]
 
| Odyssey ²
 
| {{✓}}
 
| ~60fps
 
|-
 
| [[Stella]]
 
| Atari2600
 
| {{✓}}
 
| ~60fps
 
|-
 
| Atari800
 
| Atari5200
 
| {{✓}}
 
| ~60fps
 
|-
 
| [[ProSystem]]
 
| Atari7800
 
| {{✓}}
 
| ~60fps
 
|-
 
| [[Handy]]
 
| Atari Lynx
 
| {{✓}}
 
| ~60fps
 
|-
 
| [[FinalBurn Alpha]] CPS3
 
| rowspan="2" style="text-align: center;" | [[Arcade emulators|Arcade]]
 
| {{~}}
 
| ~35fps/~50fps
 
|-
 
| [[FinalBurn Neo]] NeoGeo
 
| {{~}}
 
| ~40fps/~50fps
 
|-
 
| Virtul Jaguar
 
| Atari Jaguar
 
| {{✗}}
 
| ~10fps (Technically works but is unplayably slow)
 
|-
 
| [[Yabause]]
 
| Sega Saturn
 
| {{✗}}
 
| ~5fps (Technically works but is unplayably slow)
 
|-
 
| [[4DO]]
 
| 3DO
 
| {{✗}}
 
| ~8fps (Technically works but is unplayably slow)
 
|}
 
 
 
====Ultimate 3DS emupack====
 
 
 
{| class="wikitable sortable" style="text-align:center;"
 
{| class="wikitable sortable" style="text-align:center;"
 
! class="unsortable"|Version
 
| [https://github.com/NinjaWeedle/NW-U3DSemupack git]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
| <B>{{✓}}</B> Recommended
 
|}
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
! colspan=2 width="250"| Supported Emulators
 
|-
 
|
 
* Nintendo 64 : DaedalusX64 0.2
 
* SNES : Snes9X 1.30
 
* NES : VirtuaNES 1.02
 
* TurboGrafx/PC Engine : TemperPCE 1.02
 
* MasterSystem/MegaDrive/Sega CD/32x : PicoDrive 0.94
 
* CHIP-8 : CHIP-3DS
 
* Atari 2600 : z26 3DS
 
* GB/GBC : GameYob 1.0.8
 
* GBA : mGBA 0.8.4
 
|}
 
 
 
=<B>Linux OS</B>=
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| Linux 3DS
 
| [https://www.homebrewgeneral.net/2020/09/linux-3ds-updated.html?m=1 Update]
 
| ?
 
| {{~}}
 
| {{~}}
 
|}
 
 
 
=Nintendo=
 
 
 
===NES===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
 
|-
 
|-
| VirtuaNES for 3DS
+
|align=center|{{Icon|Win-big}}
| [https://github.com/TBirdSoars/VirtuaNES/releases git]
+
|'''[http://cemu.info/index.html#download Latest public release]'''<br/><small>Available one week after the Patreon builds release</small>
| Mid
 
| {{~}}
 
| {{✓}}
 
 
|-
 
|-
| 3DNES
 
| [https://github.com/st4rk/3DNES git]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
 
|}
 
|}
  
===SNES===
+
==System requirements==
 +
You will also need enough storage for the [[Wii U emulators|Wii U]] games. Running Cemu on [[Wine]] has been reported to work just as well as Windows.
 +
===Minimum===
 +
* Windows 7 (64-bit)
 +
* Graphics Card: Supports at least OpenGL 4.5 or Vulkan 1.1
 +
* Memory: 4 GB
 +
===Recommended===
 +
* Windows 10 (64-bit)
 +
* Graphics Card: Supports OpenGL 4.6 (Vulkan 1.1 for AMD or Intel)
 +
* Memory: 8 GB or more
  
{| class="wikitable" style="text-align:center;"
+
==Game formats and needed files==
! scope="col"|Name
+
===Physical dumps===
! scope="col"|Version
+
You'll first need to fill in the "keys.txt" file in Cemu's directory. It has a sample line with a bogus key and a comment, which you may as well delete.  
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| SNES9x for 3DS
 
| [https://github.com/bubble2k16/snes9x_3ds/releases git]
 
| Mid
 
| {{~}}
 
| {{✓}}
 
|-
 
| blargSNES
 
| [http://blargsnes.kuribo64.net 1.3b]
 
| Mid
 
| {{~}}
 
| {{✓}}
 
|}
 
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
Your file must have many lines like this, one for the Wii U Common Key (D7B00402659BA2ABD2CB0DB27FA2B656), and one line for the Game Key of each game. Sharing these keys isn't exactly safe legally, but ROM sites at least share [http://pastebin.com/GWApZVLa the Game ones]. Note that for games using the Loadiine format, you won't need a Game Key at all, but those will need Cemu versions from 1.4.0 onward.
! colspan=2 width="250"| SNES9x for 3DS
 
|-
 
|
 
* Snes9x for 3DS - runs a good majority of games well, even on old 3DS/2DS's. It's recommended to use a New 3DS if you want to run games that uses the SuperFX or SA-1 chip properly
 
|}
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
! colspan=2 width="250"| blargSNES
 
|-
 
|
 
* blargSNES - It works well, but lacks compatibility for games that require enhancement chips <i>(SA1, SuperFX, etc.)</i>
 
|}
 
  
===Nintendo 64===
+
Your ISO must be either uncompressed, compressed using WUD format, or in Loadiine format (only possible for versions 1.4.0 onward) to boot in Cemu. Here's a [http://docs.google.com/spreadsheets/d/19WV2YQvS2PkiHnQTlYP7cE2eHOPl06Rx4tCvfud_Hpw/edit?pref=2&pli=1#gid=0 compatibility list]. Dump your discs using [https://gbatemp.net/threads/wudump-dump-raw-images-from-a-wiiu-game-disc.451736/ Wudump].
  
{| class="wikitable" style="text-align:center;"
+
===Digital copies===
! scope="col"|Name
+
Cemu supports either physical games dumps in WUD, or compressed WUX format, as well as game dumps converted to the Loadiine format. Loadiine games come as multiple directories with game files and a .rpx file.
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| [[DaedalusX64]] 3DS
 
| [https://github.com/masterfeizz/daedalusx64-3DS/releases git]
 
| Mid
 
| {{✓}}
 
| {{~}}
 
|}
 
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
Nintendo's CDN for Wii U and 3DS digital games is rather poorly secured, due to a huge oversight when designing the software protection for these consoles. As such, with tickets proving you bought the game (but which you can get through less legit ways), there are downloader utilities like NUSGrabber, FunKiiU, UWizard, or jnus among others, and decryption tools like UWizard and CDecrypt, to obtain a functional copy. The process of how to exactly acquire those files is detailed elsewhere on this wiki.
! colspan=2 width="250"| DaedalusX64
 
|-
 
|
 
[[DaedalusX64]] - N64 has always been known to be a hard system to emulate, which is why many were skeptical about how feasible it would be to have an emulator for the system on the 3DS.  While still in its beta stage, it has shown a lot of improvements thanks to using a dynamic recompiler, with some games running at a playable state.  It also supports using stereoscopic 3D (at the cost of slower performance), which isn't a feature a lot of emulators have.
 
|}
 
  
===Game Boy===
+
Load the .rpx file from [Your gamelocation]/code/[yourgame].rpx with Cemu.
  
{| class="wikitable" style="text-align:center;"
+
===Updates and DLC===
! scope="col"|Name
+
Prior to 1.7.3, only updates were supported though pasting update files on the main game's folders (keeping in mind the main game is in Loadiine format) and overwriting any files. DLC wouldn't work at all through this method, though with some specific games there were workarounds and some could play DLC tracks in Mario Kart 8 through swapping of specific files. From 1.7.3 onwards, proper support for DLC and updates was included in Cemu.
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| GameYob
 
| [https://github.com/Drenn1/GameYob git]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|-
 
| Cinoop
 
| [https://github.com/CTurt/Cinoop git]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
The Update installation method has been reworked since 1.11.0 simplifying the installation method a lot.
! colspan=2 width="250"| GameYob
+
To install updates and DLC on Cemu on (1.11.0)+ versions you need to follow theses steps :
|-
 
|
 
* GameYob - forked from a popular emulator used on the DS. Emulates the Game Boy and Game Boy Color. The original DS version is actually more polished than the 3DS port, so some of the more hardware pushing games won't work as well as the DS port.
 
|}
 
  
===Virtual Boy===
+
*On Cemu interface, select File -> Install game update or DLC
 +
*Select the meta.xml in the meta folder of the update or DLC
 +
*Run the game to update the UI and show the update and/or DLC version
  
{| class="wikitable" style="text-align:center;"
+
===Amiibo support===
! scope="col"|Name
+
[[Amiibo]] are hard-to-find figurines unlocking various on-disc content in select 3DS and Wii U games. They use the NFC technology. Nintendo Amiibo data is distributed online as NFC tags (.bin files). There's a regularly updated complete set of the official ones but there are also unofficial spoofed packs on various other sites.
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| r3Ddragon
 
| [https://github.com/mrdanielps/r3Ddragon git]
 
| Low
 
| {{✓}}
 
| {{~}}
 
|}
 
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
Recent versions of Cemu include Amiibo support. Simply go to NFC / Scan NFC Tag from file, and load the relevant .bin file. Keep in mind Amiibo support in Cemu is incomplete right now and not all figurines are compatible yet - though incompatibilities may be caused by bad Amiibo dumps as well.
! colspan=2 width="250"| r3Ddragon
 
|-
 
|
 
* r3Ddragon - It's kind of surprising that Nintendo never released a Virtual Console for the Virtual Boy on the 3DS, especially given how small the library of games were for the system and how both utilize 3D effects <strike>and cause eyestrain</strike>. What makes this emulator stand out is the fact that it's able to display the graphics in 3D the way it was intended, something that is almost impossible to do on other platforms, unfortunately compatibility is still low and requires a New 3DS to run. Development has since opened.
 
|}
 
  
===Pokémon Mini===
+
==Setting up Cemu==
 +
===Controls===
 +
Cemu added native support for Wii Remote controllers as of 1.12.0.
  
{| class="wikitable" style="text-align:center;"
+
Cemu cannot connect to a real (or emulated) [[Nintendo 3DS emulators|3DS]].
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| PokeMini 3DS
 
| [https://github.com/nop90/Pokemini/releases git]
 
| Low
 
| {{✗}}
 
| {{~}}
 
|}
 
  
===Game Boy Advance===
+
===Cemuhook===
 +
Using this is completely optional but highly recommended. Without Cemuhook, some games won't have texts, have laggy cutscenes and display numerous other bugs.
  
The 3DS does include native firmware for a GBA mode which was mainly used to run ambassador releases instead of having to develop an emulator for them. Because it's technically running a "virtual" GBA, it can't provide features that are normally available on other emulators, such as savestates, screen filtering, or sleep mode, however it does have high compatibility with the exception of cartridges with special hardware. If you're using an old 3DS/2DS, this is the best option to play GBA games.  
+
Download [http://sshnuke.net/cemuhook/ the latest version] compatible with your Cemu version, unpack it to the same directory as cemu.exe and right-click on dbghelp.dll, check Proprieties, Digital Signatures tab, select a signature and press Details. This should make it no longer crash at start-up. Make sure you also have the latest GPU driver installed, as well as both x86 and x64 versions of the [https://aka.ms/vs/15/release/vc_redist.x64.exe Microsoft Visual C++ 2017 X64 Redistributable].
There are two ways to take advantage of this firmware:
 
  
{| class="wikitable" style="text-align:center;"
+
After the first boot of Cemu with cemuhook installed, accept to download the missing shared fonts to make the text in some games (Super Mario Maker among others) display correctly.
! scope="col"|Name
+
Whenever you boot Cemu now, this cemuhook tool is enabled by default and offers various additions for better motion control emulation or some graphical hacks that greatly enhance Zelda BOTW in particular.
! scope="col"|Version
+
Various way to take advantages of the cemuhook motion control emulation are listed [http://compat.cemu.info/wiki/Motion_Sensing#Full-motion_Solutions here].
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| New Super Ultimate Injector (NSUI)
 
| [https://gbatemp.net/threads/discussion-new-super-ultimate-injector-nsui.500376 Beta 27]
 
| Mid
 
| {{✓}}
 
| {{✓}}
 
|-
 
| open_agb_firm
 
| [https://github.com/profi200/open_agb_firm git]
 
| Mid
 
| {{✓}}
 
| {{✓}}
 
|-
 
| [[GBARunner2]]
 
| [https://github.com/Gericom/GBARunner2 git]
 
| Mid
 
| {{✓}}
 
| {{✓}}
 
|}
 
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
Enabling "GX2SetGPUFenceSkip (HACK)" enhances graphical emulation in BOTW in particular. A pre-installed Graphical Pack that comes with recent versions of Cemuhook, "LWZX Crash Workaround", as well as the "GX2DrawDone()" option under Experimental, should help with some general crashes specific to BOTW.
! colspan=2 width="250"| NSUI
 
|-
 
|
 
* New Super Ultimate Injector - There are other programs that can do injections, but this one is nice as it can do other Virtual Console injections and some forwarders for emulators.  The only problem is each ROM must be injected and installed individually, including the [https://3ds.hacks.guide/godmode9-usage.html#restore-gba-vc-saves save files], which makes the number of titles that can be installed restricted to the max the 3DS title limit (300 titles, not including pre-installed system titles).
 
|}
 
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
As of version 1.18.0, cemuhook is no longer considered required to run the emulator, as all major functions previously provided by cemuhook have been implemented into the emulator itself.
! colspan=2 width="250"| Open agb firm
 
|-
 
|
 
* open_agb_firm <i>(Name not finalized)</i> - A custom FIRM payload that takes advantage of the built-in GBA firmware, it's still in early development but has an alpha build available. The major advantages of this compared to VC injection is that it performs faster and there aren't any issues with the sound, it utilizes the native hardware (even with VC injection there are issues with the sound, ex.: "Fire Emblem"). It can load the ROM through the SD card instead of having to convert and install them, but needs to be launched on boot instead of being able to use the 3DS HOME Menu (there's ways to make a forwarder for in on the HOME menu, but requires additional setup to get it to work).  One major issue is there's a chance that it may not detect the correct save format or will corrupt the existing save file so make sure to backup your saves beforehand (they are currently trying fix it by having a better database for save detection, if you're interested [https://github.com/profi200/open_agb_firm/issues/9 you can help]).
 
** To install, simply put the .firm file in the <code>/luma/payloads/</code> folder and hold START to load up the chainloader to launch it.  There's no way of exiting out once the program starts, so you will need to turn it off and redo the step to load it if you wanted to change games.
 
|}
 
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
===Shader caches===
! colspan=2 width="250"| GBARunner2
+
When your game is loaded, check for its ID on the title bar in front of "SaveDir:" and note it down. The directory where transferable shader caches are stored is <code>.\Cemu\shaderCache\transferable</code>. They're generated the first time you play through a game and at that time cause noticeable stuttering. You can download a complete cache from places like [http://www.reddit.com/r/Cemucaches/comments/7bv7el/complete_shader_cache_collection_1110c_v2/ here] and rename them to match your game version's ID to spare yourself most of that unpleasant experience. Just keep in mind that shader caches from versions older than 1.8.0 are incompatible with later versions of Cemu.
|-
 
|
 
* [[GBARunner2]] - a GBA hypervisor made for the DS(i), can only be ran through [[TWiLight Menu++]] and is included by default with the program (see below). Compatiblity can be a hit-or-miss, but it's still in active development with plans to include interesting features such as gyro control emulation and local wireless multiplayer in the future.
 
|}
 
  
{| class="wikitable" style="text-align:center;"
+
At startup, Cemu will prepare a compiled version of that cache under <code>.\Cemu\shaderCache\precompiled</code> and that one depends on your GPU driver, so you might want to erase it if any problems or crashes when compiling shaders at startup occur.
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| [[mGBA]]
 
| [https://github.com/mgba-emu/mgba/releases git]
 
| Mid
 
| {{✓}}
 
| {{✓}}
 
|-
 
| CitrAGB <small> (based on [[gpSP]])</small>
 
| [https://gbatemp.net/threads/citragb-3ds-gba-emulator-wip.376438 1.0]
 
| Low
 
| {{✗}}
 
| {{~}}
 
|}
 
  
===Nintendo DS===
+
==Troubleshooting/speeding up==
 +
===Shader caches===
 +
Shaders are normally cached as you play the game. This can cause a lot of stutters and slow the game down. However, as of version 1.19.0, Cemu added support for Asynchronous Shader Compiling on their Vulkan API which can make shader compiling near instantaneous on modern hardware, so try enabling that before hunting for shader caches.
  
{| class="wikitable" style="text-align:center;"
+
Cemu accepts other shader caches that can be traded online. It's often very difficult to generate a complete cache for large games, and will not completely eliminate stuttering, which is why using Asynchronous Shader Compiling is recommended instead.
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| [[TWiLight Menu++]]
 
| [https://github.com/DS-Homebrew/TWiLightMenu git]
 
| Mid
 
| {{✓}}
 
| {{✓}}
 
|-
 
| DeSmuME
 
| [https://github.com/shutterbug2000/DeSmuME/releases git]
 
| Mid
 
| {{✗}}
 
| {{✗}}
 
|}
 
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
[[File:Shadercachestuff.png|thumb|Some settings in the Nvidia control panel might help.]]
! colspan=2 width="250"| TWiLight Menu++
 
|-
 
|
 
*[[TWiLight Menu++]] - Not technically an "emulator", rather it's a frontend for a separate program, [[nds-bootstrap]], which allows for an NDS ROM to be loaded from an SD card.  The program is originally designed for the DSi, however it's able to work on the 3DS by utilizing the virtual DSi (aka the TWL_FIRM or "DS Mode") that the 3DS has for backwards-compatibility.  Compatibility isn't the same as using a flashcart, however it's still pretty high with only a few games having issues or triggering anti-piracy protections (newer versions now come with AP patches for most games and will patch them if needed at launch). It also comes pre-bundled with a variety of emulators used on the DS and a work-in-progress GBA hypervisor, [[GBARunner2]], that works to some degree. 
 
**[https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/edit#gid=0 Compatiblity List].
 
|}
 
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
Some games' transferable caches may cause slowdowns on some graphics cards like the GeForce GTX 970. If this is the case, you will have to generate your own shaders and delete the ones you downloaded. In the case of the GeForce, also consider deleting the .bin and .toc file in your GLCache at <code>%APPDATA%\NVIDIA\GLCache\(hexstring)\(hexstring)</code>.
! colspan=2 width="250"| DeSmuME
 
|-
 
|
 
* DeSmuME - an experimental port of DeSmuME that has since been abandoned, it wasn't very compatible.
 
|}
 
  
===Nintendo DSiware===
+
==Graphic Packs==
 +
To work around emulation bugs and other problems the way [[Dolphin]] does, "Graphic Packs" are title-specific property sheets which define advanced settings you might not be able to change in the interface. Basic rendering options including shadow resolution and quality, post-processing effects like bloom, lighting and god rays, custom anti-aliasing, and such can be applied here. You can even use them to ''reduce'' the internal resolution for an increase in the framerate. This is not to be confused with '''Texture Packs''', which are replacement textures; Cemu doesn't support that, but it is planned.
  
Because the firmware that the 3DS uses for backwards-compatibility is actually the same as the DSi, it's possible to inject DSiWare as an installable <code>.cia</code> file. There's two ways to do this:
+
The "Graphic Packs" themselves are folders under the <code>graphicPacks</code> directory. They can be named anything, but they should contain the "<code>rules.txt</code>" file. A bare-bones example of a "Graphics Pack", called "Bayo_1080p", would look like this:
  
{| class="wikitable" style="text-align:center;"
+
[Definition]
! scope="col"|Name
+
titleIds = 0005000010172600,0005000010172700,000500001011b900,000500001014db00,0005000010157e00,0005000010157f00
! scope="col"|Version
+
name = "Bayonetta 1 + 2 - 1080p"
! scope="col"|[[Emulation Accuracy|Accuracy]]
+
! scope="col"|Active
+
[TextureRedefine]
! scope="col"|[[Recommended Emulators|Recommended]]
+
width = 1280
|-
+
height = 720
| GodMode9
+
overwriteWidth = 1920
| [https://github.com/d0k3/GodMode9/releases git]
+
overwriteHeight = 1080
| Mid
 
| {{✓}}
 
| {{✓}}
 
|-
 
| DSiWare Conversion Script
 
| [https://gbatemp.net/threads/scripts-dsiware-conversion-easily-convert-to-nds-and-cia-files.478575 Script]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
! colspan=2 width="250"| GodMode9
 
|-
 
|
 
* Version 1.8.0 and above has a script that can convert <code>.nds</code> to <code>.cia</code>, [https://3ds.hacks.guide/godmode9-usage 3ds.hacks.guide] has more information on how to update to the latest version if needed.
 
|}
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
! colspan=2 width="250"| DSiWare Conversion Script
 
|-
 
|
 
* This script can be used to convert <code>.bin</code> files from your DSi's SD card to <code>.nds</code> which can then be used to convert into <code>.cia</code>.
 
|}
 
 
 
These scripts will <b>ONLY</b> work for DSiWare, <font style="color:red"><b>NOT NDS GAMES</b></font>.
 
  
[[TWiLight Menu++]] has support for two DSiWare as of v15.1.1 with a special preview of [[nds-bootstrap]], Pop Island and Pop Island: Paperfield. These can also run on the DS.
+
Whenever the titleId matches the current one, Cemu will show the Graphics Pack under Options -> Graphics Pack. If you don't know what the titleId of the game you want is, check the <code>logs.txt</code> file. You can safely delete it in the event that it gets too big for a text editor to parse.
  
=Sony=
+
The overwriteWidth and overwriteHeight properties used in this example will upscale the game from 720p to 1080p. But if the game doesn't have all of its textures in the specified resolution, they won't be upscaled and could look messy as a result. In this case, this problem is seen in some FMVs in the game. This is the purpose of the TextureRedefine rule.
 
 
===PlayStation===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| PCSX-ReARMed <small> (RetroArch)</small>
 
| [https://www.libretro.com/index.php/retroarch-3ds-full-speed-ps1-now-possible-with-pcsx-rearmed-w-unai-renderer/ Nightly]
 
| Mid
 
| {{✓}}
 
| {{✓}}
 
|-
 
| CTRX
 
| [https://github.com/machinamentum/CTRX git]
 
| Low
 
| {{✗}}
 
| {{✗}}
 
|}
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
! colspan=2 width="250"| PCSX-ReARMed
 
|-
 
|
 
* PCSX-ReARMed (RetroArch) - Thanks to the work of many developers, it is now possible to have full speed 60 FPS emulation for a majority of games and support for .CHD compression formats.  Generally, 2D games will perform better than 3D, however you can get some better performance by tweaking the settings if necessary.  The nightly builds have seen major improvements since the initial release and can even play some of the more demanding games at full speed ([https://www.reddit.com/r/3dshacks/comments/jvkotb/full_speed_psx_finally_here_on_new_3ds_new_2ds_xl/ See here] for some tips), so it's better to use that until the next stable release. NOTE: This emulator is mainly targeted for the New 3DS so don't expect the o3DS to run well if at all.
 
|}
 
 
 
=SEGA=
 
 
 
===MegaDrive/Genesis/MasterSystem/32X/Sega CD===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| PicoDrive for 3DS
 
| [https://github.com/bubble2k16/picodrive_3ds/releases git]
 
| Mid
 
| {{✗}}
 
| {{✓}}
 
|}
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
! colspan=2 width="250"| PicoDrive for 3DS
 
|-
 
|
 
* PicoDrive for 3DS - 32X and Sega CD are playable on the original 3DS, but works better on New 3DS.  Sega CD requires BIOS in order to play, they must be named:
 
"bios_CD_U.bin", "bios_CD_J.bin", and "bios_CD_E.bin" based on the respective regions.  BIOS need to be in the <code>/3ds/picodrive_3ds/bios</code> folder.
 
|}
 
 
 
=Atari inc.=
 
 
 
===Atari 2600===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| Z26 3DS
 
| [https://gbatemp.net/threads/preview-z26-3ds-atari-2600-emulator.397827 2.0]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
===Atari 5200===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| Atari800 3DS
 
| [http://www.atari.org.pl/forum/viewtopic.php?id=13871 0.3.4]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
 
 
===Atari Lynx===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| Handy 3DS
 
| [https://gbatemp.net/threads/release-handy-3ds-atari-lynx-emulator.394329 1.1b]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
=NEC=
 
 
 
===PCE/PCECD/SuperGrafx===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| TemperPCE for 3DS
 
| [https://github.com/bubble2k16/temperpce_3ds/releases git]
 
| Mid
 
| {{✗}}
 
| {{✓}}
 
|}
 
 
 
=GCE=
 
 
 
===Vectrex===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| Vex3DS<small> (based on vecx)</small>
 
| [https://gbatemp.net/threads/release-vex3ds-vectrex-emulator.420721 0.4]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
=SNK=
 
 
 
===Neo Geo Pocket/Pocket Color===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| NeoPop-sdl 3DS
 
| [https://github.com/nop90/Neopop-SDL/releases git]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
=Microsoft=
 
 
 
===DOS===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| 3DOS
 
| [https://gbatemp.net/threads/wip-demo-3dos-8086-dos-emulator-for-the-3ds.394455 1.0]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
* 3DOS - Based on 8086tiny. Can only emulate 8086 CPUs.
 
 
 
=Apple=
 
===mac 2.x===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| Mini vMac 3DS
 
| [https://github.com/TaraHoleInIt/minivmac-3ds git]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
=Sinclair=
 
 
 
===ZX Spectrum===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| 3DS Spectrum
 
| [https://www.mediafire.com/file/d1sl4hcdol60loh/3dsspectrum01.rar/file 0.1]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
=Commodore=
 
 
 
===Commodore 64===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| Bread Box
 
| [https://gbatemp.net/threads/release-bread-box-c64-emulator.397602 1/06/16]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|-
 
| VICE3DS
 
| [https://github.com/badda71/vice3ds git]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
===Amiga===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| UAE3DS
 
| [https://github.com/badda71/uae3DS git]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
=Other=
 
 
 
===Uzebox===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| Cuzebox 3DS
 
| [https://web.archive.org/web/20181031230535/https://github.com/ry755/cuzebox3DS/releases git]
 
| Low
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
=Multi game engine=
 
 
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Latest Version
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|Supported game(s)
 
|-
 
|[http://xproger.info/projects/OpenLara/ OpenLara]
 
|[https://github.com/XProger/OpenLara/releases git]
 
|{{✓}}
 
|{{~}}
 
|Tomb Raider 1-4
 
|}
 
 
 
===ScummVM===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| [[ScummVM]] 3DS
 
| [https://www.scummvm.org/downloads 2.2.0]
 
| High
 
| {{✓}}
 
| {{✓}}
 
|}
 
 
 
===EasyRPG===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| [[EasyRPG]] 3DS
 
| [https://easyrpg.org/player/downloads/#snapshot-other 0.6.2.3]
 
| High
 
| {{✓}}
 
| {{✓}}
 
|}
 
 
 
===OpenBOR===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| [[OpenBOR]] 3DS
 
| [https://github.com/MrHuu/openbor-3ds/releases git]
 
| Mid
 
| {{~}}
 
| {{✓}}
 
|}
 
 
 
===Lua Engine===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| CtrµLua 3DS
 
| [https://github.com/ctruLua/ctruLua/releases git]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|-
 
| LÖVE Potion 3DS
 
| [https://github.com/TurtleP/LovePotion/releases git]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|-
 
| Lua Player Plus 3DS
 
| [https://github.com/Rinnegatamante/lpp-3ds/releases git]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
=Game Creation Systems (GCS)=
 
 
 
{| class="wikitable" style="text-align:center;"
 
|-
 
! scope="col"|Name
 
! scope="col"|Latest Version
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|[https://www.digitalmzx.com/ DigitalMZX]
 
|[https://github.com/AliceLR/megazeux git]
 
|{{✓}}
 
|{{~}}
 
|}
 
 
 
=Others=
 
===Amiibo===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| Wumiibo
 
| [https://github.com/hax0kartik/wumiibo git]
 
| Mid
 
| {{✓}}
 
| {{✓}}
 
|}
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
! colspan=2 width="250"| Wumiibo
 
|-
 
|
 
* Wumiibo - Emulates Amiibo functionality on the 3DS without needing an NFC reader or using tags.  You can even use your own Amiibo data, after it's been decrypted, or a generic AmiiboID which are freely available and explains how to get them on the project page.
 
|}
 
 
 
===CHIP-8===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| Chip-3DS
 
| [http://www.mediafire.com/?y94yjhzf70fsfsi 1.0]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|-
 
| Chip8-2DS
 
| [https://github.com/nopy4869/CHIP8-2DS/releases git]
 
| Mid
 
| {{✗}}
 
| {{~}}
 
|}
 
 
 
===Super Mario 64===
 
 
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Version
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
| SM64 3DS
 
| [https://github.com/sm64-port/sm64_3ds git]
 
| Mid
 
| {{✓}}
 
| {{✓}}
 
|}
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
! colspan=2 width="250"| SM64 3DS port
 
|-
 
|
 
* SM64 3DS Port - Thanks to the decompilation project, you can now enjoy SM64 on the 3DS with ''*analog*'' support and native rendering (compared to the official DS port).  Works pretty much at full speed on the New 3DS, the original model apparently has some slow downs but still playable.  You can either build it yourself, or try finding pre-compiled build online (there are multiple versions, you can find some [https://web.archive.org/web/20200924080151/https://gist.github.com/stranno/2609a82f75ce346d1f1a5b99af94590c here] but it's no longer up-to-date or a more up-to-date version with 3D support [https://archive.org/details/sm64-port-3ds-mkst-7b56b78 here]).
 
|}
 
  
===Virtual Console Injection===
+
Since 1.13.0, the graphic packs system and interface was overhauled for better use and many bugs when using multiples graphic packs were fixed.
 +
For 1.15.1 and now on, users can download the community's graphics packs linked below directly from Cemu user interface and just check the graphics packs they want to enable. That update completly removed the need to manage files for the user.
  
Some have tried injecting alternate ROMs in the available Virtual Console releases (MD, GG, NES, GBA Ambassador, GBC, Japanese emulated SFC compilations) with varying degrees of success. The emulators used for Virtual Console are not as accurate as other emulators so compatibility isn't perfect (the only exception is GBA since it runs it natively, not emulation), Sega systems in particular have high compatibility however.<br>
+
See some of the community graphics packs at [http://slashiee.github.io/cemu_graphic_packs/ this page].
There's an easy tool that will convert and inject any supported ROM file as its associated VC application called [https://gbatemp.net/threads/discussion-new-super-ultimate-injector-nsui.500376/ New Super Ultimate Injector].  It's an all in one tool and can even remotely install the injection provided your 3DS is connected to the same network. It's currently in beta, but it's still really useful.
 
  
==See also==
+
==External links==
* [[Nintendo 3DS emulators]]
+
* [https://wiki.cemu.info/wiki/Main_Page Wiki]
 +
* [https://discord.gg/5psYsup Discord]
  
[[Category:Emulators on consoles]]
+
<references/>
[[Category:Emulators on handheld consoles]]
+
[[Category:Emulators on eighth-generation consoles]]
+
[[Category:Emulators]]
 +
[[Category:Console emulators]]
 +
[[Category:Home console emulators]]
 +
[[Category:Wii U emulators]]
 +
[[Category:Windows emulation software]]
 +
[[Category:Closed-source emulators]]

Revision as of 04:07, 14 December 2021

Cemu
Cemu-Logo.png
Developer(s) Exzap, Petergov
Latest version 2.0
Active Yes
Platform(s) Windows
Architecture(s) x86_64
Emulates Wii U
Compatibility Compatibility list
Website Cemu
Support ($) Patreon
License Closed-source freeware
BIOS/Keys Optional

Cemu is a closed-source Wii U emulator for Windows. Its development was started circa 2015 and it's known to be the very first Wii U emulator ever that can boot games.

Before updates are publicly released, they're accessible to backers over at their Patreon.

Download

Windows Latest public release
Available one week after the Patreon builds release

System requirements

You will also need enough storage for the Wii U games. Running Cemu on Wine has been reported to work just as well as Windows.

Minimum

  • Windows 7 (64-bit)
  • Graphics Card: Supports at least OpenGL 4.5 or Vulkan 1.1
  • Memory: 4 GB

Recommended

  • Windows 10 (64-bit)
  • Graphics Card: Supports OpenGL 4.6 (Vulkan 1.1 for AMD or Intel)
  • Memory: 8 GB or more

Game formats and needed files

Physical dumps

You'll first need to fill in the "keys.txt" file in Cemu's directory. It has a sample line with a bogus key and a comment, which you may as well delete.

Your file must have many lines like this, one for the Wii U Common Key (D7B00402659BA2ABD2CB0DB27FA2B656), and one line for the Game Key of each game. Sharing these keys isn't exactly safe legally, but ROM sites at least share the Game ones. Note that for games using the Loadiine format, you won't need a Game Key at all, but those will need Cemu versions from 1.4.0 onward.

Your ISO must be either uncompressed, compressed using WUD format, or in Loadiine format (only possible for versions 1.4.0 onward) to boot in Cemu. Here's a compatibility list. Dump your discs using Wudump.

Digital copies

Cemu supports either physical games dumps in WUD, or compressed WUX format, as well as game dumps converted to the Loadiine format. Loadiine games come as multiple directories with game files and a .rpx file.

Nintendo's CDN for Wii U and 3DS digital games is rather poorly secured, due to a huge oversight when designing the software protection for these consoles. As such, with tickets proving you bought the game (but which you can get through less legit ways), there are downloader utilities like NUSGrabber, FunKiiU, UWizard, or jnus among others, and decryption tools like UWizard and CDecrypt, to obtain a functional copy. The process of how to exactly acquire those files is detailed elsewhere on this wiki.

Load the .rpx file from [Your gamelocation]/code/[yourgame].rpx with Cemu.

Updates and DLC

Prior to 1.7.3, only updates were supported though pasting update files on the main game's folders (keeping in mind the main game is in Loadiine format) and overwriting any files. DLC wouldn't work at all through this method, though with some specific games there were workarounds and some could play DLC tracks in Mario Kart 8 through swapping of specific files. From 1.7.3 onwards, proper support for DLC and updates was included in Cemu.

The Update installation method has been reworked since 1.11.0 simplifying the installation method a lot. To install updates and DLC on Cemu on (1.11.0)+ versions you need to follow theses steps :

  • On Cemu interface, select File -> Install game update or DLC
  • Select the meta.xml in the meta folder of the update or DLC
  • Run the game to update the UI and show the update and/or DLC version

Amiibo support

Amiibo are hard-to-find figurines unlocking various on-disc content in select 3DS and Wii U games. They use the NFC technology. Nintendo Amiibo data is distributed online as NFC tags (.bin files). There's a regularly updated complete set of the official ones but there are also unofficial spoofed packs on various other sites.

Recent versions of Cemu include Amiibo support. Simply go to NFC / Scan NFC Tag from file, and load the relevant .bin file. Keep in mind Amiibo support in Cemu is incomplete right now and not all figurines are compatible yet - though incompatibilities may be caused by bad Amiibo dumps as well.

Setting up Cemu

Controls

Cemu added native support for Wii Remote controllers as of 1.12.0.

Cemu cannot connect to a real (or emulated) 3DS.

Cemuhook

Using this is completely optional but highly recommended. Without Cemuhook, some games won't have texts, have laggy cutscenes and display numerous other bugs.

Download the latest version compatible with your Cemu version, unpack it to the same directory as cemu.exe and right-click on dbghelp.dll, check Proprieties, Digital Signatures tab, select a signature and press Details. This should make it no longer crash at start-up. Make sure you also have the latest GPU driver installed, as well as both x86 and x64 versions of the Microsoft Visual C++ 2017 X64 Redistributable.

After the first boot of Cemu with cemuhook installed, accept to download the missing shared fonts to make the text in some games (Super Mario Maker among others) display correctly. Whenever you boot Cemu now, this cemuhook tool is enabled by default and offers various additions for better motion control emulation or some graphical hacks that greatly enhance Zelda BOTW in particular. Various way to take advantages of the cemuhook motion control emulation are listed here.

Enabling "GX2SetGPUFenceSkip (HACK)" enhances graphical emulation in BOTW in particular. A pre-installed Graphical Pack that comes with recent versions of Cemuhook, "LWZX Crash Workaround", as well as the "GX2DrawDone()" option under Experimental, should help with some general crashes specific to BOTW.

As of version 1.18.0, cemuhook is no longer considered required to run the emulator, as all major functions previously provided by cemuhook have been implemented into the emulator itself.

Shader caches

When your game is loaded, check for its ID on the title bar in front of "SaveDir:" and note it down. The directory where transferable shader caches are stored is .\Cemu\shaderCache\transferable. They're generated the first time you play through a game and at that time cause noticeable stuttering. You can download a complete cache from places like here and rename them to match your game version's ID to spare yourself most of that unpleasant experience. Just keep in mind that shader caches from versions older than 1.8.0 are incompatible with later versions of Cemu.

At startup, Cemu will prepare a compiled version of that cache under .\Cemu\shaderCache\precompiled and that one depends on your GPU driver, so you might want to erase it if any problems or crashes when compiling shaders at startup occur.

Troubleshooting/speeding up

Shader caches

Shaders are normally cached as you play the game. This can cause a lot of stutters and slow the game down. However, as of version 1.19.0, Cemu added support for Asynchronous Shader Compiling on their Vulkan API which can make shader compiling near instantaneous on modern hardware, so try enabling that before hunting for shader caches.

Cemu accepts other shader caches that can be traded online. It's often very difficult to generate a complete cache for large games, and will not completely eliminate stuttering, which is why using Asynchronous Shader Compiling is recommended instead.

Some settings in the Nvidia control panel might help.

Some games' transferable caches may cause slowdowns on some graphics cards like the GeForce GTX 970. If this is the case, you will have to generate your own shaders and delete the ones you downloaded. In the case of the GeForce, also consider deleting the .bin and .toc file in your GLCache at %APPDATA%\NVIDIA\GLCache\(hexstring)\(hexstring).

Graphic Packs

To work around emulation bugs and other problems the way Dolphin does, "Graphic Packs" are title-specific property sheets which define advanced settings you might not be able to change in the interface. Basic rendering options including shadow resolution and quality, post-processing effects like bloom, lighting and god rays, custom anti-aliasing, and such can be applied here. You can even use them to reduce the internal resolution for an increase in the framerate. This is not to be confused with Texture Packs, which are replacement textures; Cemu doesn't support that, but it is planned.

The "Graphic Packs" themselves are folders under the graphicPacks directory. They can be named anything, but they should contain the "rules.txt" file. A bare-bones example of a "Graphics Pack", called "Bayo_1080p", would look like this:

[Definition]
titleIds = 0005000010172600,0005000010172700,000500001011b900,000500001014db00,0005000010157e00,0005000010157f00
name = "Bayonetta 1 + 2 - 1080p"

[TextureRedefine]
width = 1280
height = 720
overwriteWidth = 1920
overwriteHeight = 1080

Whenever the titleId matches the current one, Cemu will show the Graphics Pack under Options -> Graphics Pack. If you don't know what the titleId of the game you want is, check the logs.txt file. You can safely delete it in the event that it gets too big for a text editor to parse.

The overwriteWidth and overwriteHeight properties used in this example will upscale the game from 720p to 1080p. But if the game doesn't have all of its textures in the specified resolution, they won't be upscaled and could look messy as a result. In this case, this problem is seen in some FMVs in the game. This is the purpose of the TextureRedefine rule.

Since 1.13.0, the graphic packs system and interface was overhauled for better use and many bugs when using multiples graphic packs were fixed. For 1.15.1 and now on, users can download the community's graphics packs linked below directly from Cemu user interface and just check the graphics packs they want to enable. That update completly removed the need to manage files for the user.

See some of the community graphics packs at this page.

External links