Difference between revisions of "Emulators on 3DS"

From Emulation General Wiki
Jump to navigation Jump to search
m
(Consoles)
(42 intermediate revisions by 15 users not shown)
Line 1: Line 1:
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].
+
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].  Alternatively, most of these can be found on [https://tinydb.eiphax.tech/ TinyDB] instead.
  
 
==Multi-System==
 
==Multi-System==
 
===[[RetroArch]]===
 
===[[RetroArch]]===
There are [https://gbatemp.net/threads/retroarch-emulation-thread-nightly-builds-included.400913/ preliminary 3DS ports] of the following cores:
+
There are [https://gbatemp.net/threads/retroarch-emulation-thread-nightly-builds-included.400913/ preliminary 3DS ports] of the following cores:   [http://buildbot.libretro.com/stable/ stable 3DS ports]
  
 
* 2048
 
* 2048
Line 23: Line 23:
 
* [[Nestopia]]
 
* [[Nestopia]]
 
* NXEngine
 
* NXEngine
* PCSX-ReARMed (dynarec only works by installing the CIA, many games are too slow even on New 3DS)
+
* PCSX-ReARMed - the latest nightly build has made some improvements, making it possible to have 60 fps emulation on some games (mainly 2D based games, but is possible for 3D games if you tweak some of the settings) and even added support for .CHD compression formats.  These improvements are mainly for the New 3DS as the original model is not powerful enough.
 
* [[PicoDrive]] (32X emulation does not work in the .3dsx format, at least.)
 
* [[PicoDrive]] (32X emulation does not work in the .3dsx format, at least.)
 
* PocketSNES (less compatible than CATSFC, but can actually run many special chip games at full speed)
 
* PocketSNES (less compatible than CATSFC, but can actually run many special chip games at full speed)
Line 33: Line 33:
 
Opposed to normal use of RetroArch, these are all self-contained emulators, albeit sharing the same automatic configuration.
 
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.
 
Screenshot-taking is broken. Upon exiting RetroArch 3DS, press the Start button.
 +
 +
===Unofficial Builds===
 +
There are [https://gbatemp.net/threads/unofficial-3ds-retroarch-builds.462252/ unofficial ports] which add new cores with emulators that do not have a retroarch by default
 +
*[[4DO]]
 +
*Atari800
 +
*[[FUSE]]
 +
*GW
 +
*[[Yabause]]
 +
* VirtualJaguar
 +
*[[VecX]]
 +
*[[TGB Dual]]
 +
*[[Handy]]
 +
*[[O2EM]]
 +
*[[ProSystem]]
 +
*[[Stella]]
  
 
==Consoles==
 
==Consoles==
 
===NES===
 
===NES===
* [http://filetrip.net/3ds-downloads/homebrew/dl-3dnes-1-2-f32931.html 3DNES]
+
* [https://raw.githubusercontent.com/St4rk/3DNES/master/3DNES_old.3dsx 3DNES] <i>no longer in development</i>
 
* [https://gbatemp.net/threads/release-virtuanes-for-3ds.465461 VirtuaNES for 3ds]
 
* [https://gbatemp.net/threads/release-virtuanes-for-3ds.465461 VirtuaNES for 3ds]
  
Line 42: Line 57:
 
* [https://gbatemp.net/threads/snes9x-for-old-3ds.435568/ 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.
 
* [https://gbatemp.net/threads/snes9x-for-old-3ds.435568/ 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.
 
* [http://blargsnes.kuribo64.net/ blargSNES] - It works well, but lacks compatibility for games with certain chips <i>(i.e. the SuperFX chip)</i>.
 
* [http://blargsnes.kuribo64.net/ blargSNES] - It works well, but lacks compatibility for games with certain chips <i>(i.e. the SuperFX chip)</i>.
 +
===Nintendo 64===
 +
* [https://gbatemp.net/threads/release-daedalusx64-n64-emulator.562195/ DaedalusX64]  - N64 has always been known to be a hard system to emulate, which is why many were skeptic 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 support using stereoscopic 3D (at the cost of slower performance) which isn't a feature a lot of emulators have. * [https://github.com/masterfeizz/daedalusx64-3DS/releases daedalusx64 3DS github]
 +
 +
===Genesis/32X/Sega CD===
 +
* [https://gbatemp.net/threads/release-picodrive-for-3ds.493521/ 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.
 +
 +
===PC Engine===
 +
* [https://gbatemp.net/threads/release-temperpce-for-3ds.474737/ TemperPCE for 3DS]
  
 
==Handhelds==
 
==Handhelds==
 
===Game Boy===
 
===Game Boy===
* [https://dl.dropboxusercontent.com/u/100702766/gameyob/gameyob_3ds.zip GameYob]: GB/GBC emulation.
+
* [https://github.com/Steveice10/GameYob/releases/latest 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===
 +
* [https://github.com/mrdanielps/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 utilizes 3D effects <strike>and causes 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 still low and requires a New 3DS to run.  Development has since halted.
 
===Game Boy Advance===
 
===Game Boy Advance===
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. So far, the only way to access this firmware is by injecting a GBA ROM as a VC application.  This can be achieved through various programs such as [https://gbatemp.net/threads/release-ultimate-gba-vc-injector-for-3ds.438057/ this one].  Compatibility is high with the exception of cartridges with special hardware.  The only downside is it can't provide features that are normally available on other emulators such as savestates or screen filtering and must inject and install each ROM individually, meaning that you're limited to at most 300 VC injections at a time as the 3DS can only hold 300 apps at once.    
+
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. So far, the only way to access this firmware is by injecting a GBA ROM as a VC application.  This can be achieved through various programs such as [https://gbatemp.net/threads/discussion-new-super-ultimate-injector-nsui.500376/ New Super Ultimate Injector].  Compatibility is high with the exception of cartridges with special hardware.  The only downside is it can't provide features that are normally available on other emulators, such as savestates, screen filtering, or sleep mode, since technically it's running a "virtual" GBA.  Also, each ROM must inject and install individually including the [https://3ds.hacks.guide/godmode9-usage.html#backup-gba-vc-saves save files].  If you're using an old 3DS/2DS, this is the best option to play GBA games.
 
+
   
 
On the other hand, there are also some homebrew GBA emulators available for 3DS:
 
On the other hand, there are also some homebrew GBA emulators available for 3DS:
 
* [https://gbatemp.net/threads/citragb-3ds-gba-emulator-wip.376438/ CitrAGB] - (based on [[gpSP]])
 
* [https://gbatemp.net/threads/citragb-3ds-gba-emulator-wip.376438/ CitrAGB] - (based on [[gpSP]])
* [https://github.com/mgba-emu/mgba/releases mGBA] [https://s3.amazonaws.com/mgba/mGBA-build-latest-3ds.7z (Latest Nightly)] - (can also be used to play GB/GBC)
+
* [https://github.com/mgba-emu/mgba/releases mGBA] [https://s3.amazonaws.com/mgba/mGBA-build-latest-3ds.7z (Latest Nightly)] - A port of the popular GBA emulator by the same developer, only a handful of GBA games suffer from slowdowns but are still playable.  Also works great for GB(C) games and even support the Gameboy Camera.
 +
* [https://github.com/Gericom/GBARunner2 GBARunner2] - a GBA hypervisor made for the DS(i), can only be run through TWiLight Menu and is included by default with the program (see below).  Compatiblity can be a hit-or-miss, but is still in active development with plans to include interesting features such as gyro control emulation and local wireless multiplayer in the future.
  
 +
===Neo Geo Pocket===
 +
[https://gbatemp.net/threads/neopop-port-neo-geo-pocket-emu.376830/ NeoPop]
 
===Nintendo DS===
 
===Nintendo DS===
There was a WIP port of DeSmuME being develop, but it wasn't very compatible and has since been abandoned due to it not being necessary as the 3DS already provides firmware to play DS/DSi natively.
+
[https://github.com/masterfeizz/DeSmuME/releases DeSmuME] - an experimental port of DeSmuME that has since been abandoned, it wasn't very compatible.
  
Instead of trying to emulate, you can instead use the firmware directly by using [https://github.com/RocketRobz/TWiLightMenu/releases TWiLightMenu] which allows you to play games off of your SD card, flashcarts, or the cartridge itself.  It function off the same idea as [http://emulation.gametechwiki.com/index.php/Emulators_on_Wii#Nintendo_GameCube Nintendon't] did for the Wii; rather than emulate the hardware, it hypothetically "bridges" to the already existing backwards-compatibility the system offers.  Compatibility is high with only a few games having small loading lags, <i>(i.e. GTA: Chinatown wars)</i>, or triggering anti-piracy protections.
+
[https://github.com/DS-Homebrew/TWiLightMenu/releases TWiLight Menu++] - Not technically an "emulator", rather it's a frontend for a separate program, [https://github.com/ahezard/nds-bootstrap 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, [https://github.com/Gericom/GBARunner2 GBARunner2], that works to some degree.
 
*[https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/edit#gid=0 Compatiblity List]
 
*[https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/edit#gid=0 Compatiblity List]
*[https://www.odrive.com/s/8443cc3a-862e-41d7-b064-09378f79f6b3-5965a89a List of AP patches if needed]
+
 
 +
===DSiWare===
 +
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:
 +
*[https://gbatemp.net/threads/scripts-dsiware-conversion-easily-convert-to-nds-and-cia-files.478575/ 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>.
 +
*[https://github.com/d0k3/GodMode9/releases GodMode9] - Version 1.8.0 added in 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.
 +
These scripts will <b>ONLY</b> work for DSiWare, <font style="color:red"><b>NOT NDS GAMES</b></font>.
  
 
==Others==
 
==Others==
Line 64: Line 98:
 
* [http://www.mediafire.com/?y94yjhzf70fsfsi CHIP-3DS]
 
* [http://www.mediafire.com/?y94yjhzf70fsfsi CHIP-3DS]
 
===VC Injection===
 
===VC Injection===
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. VC emulators for Sega systems, in particular, have high compatibility.<br>  
+
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's runs it natively, not emulation), Sega systems in particular have high compatibility however.<br>  
There's an easy tool that will convert and inject any supported ROM file as it's 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.
+
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.
  
 
[[Category:Emulators on consoles]]
 
[[Category:Emulators on consoles]]

Revision as of 20:04, 28 May 2020

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 3ds.hacks.guide. Alternatively, most of these can be found on TinyDB instead.

Multi-System

RetroArch

There are preliminary 3DS ports of the following cores: stable 3DS ports

  • 2048
  • CATSFC
  • CATSFC Plus (has more accurate audio, slower)
  • 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)
  • FinalBurn Alpha Neo Geo (A few games are unable to be loaded due to memory constraints)
  • FCEUmm
  • Gambatte
  • Genesis Plus GX
  • gpSP (dynarec only works by installing the CIA)
  • Mednafen NGP
  • Mednafen PCE Fast
  • Mednafen VB
  • Mednafen WonderSwan
  • mGBA (acceptable with Pokemon Ruby/Sapphire, but some games are slow to use, even on New 3DS, at present)
  • Nestopia
  • NXEngine
  • PCSX-ReARMed - the latest nightly build has made some improvements, making it possible to have 60 fps emulation on some games (mainly 2D based games, but is possible for 3D games if you tweak some of the settings) and even added support for .CHD compression formats. These improvements are mainly for the New 3DS as the original model is not powerful enough.
  • PicoDrive (32X emulation does not work in the .3dsx format, at least.)
  • PocketSNES (less compatible than CATSFC, but can actually run many special chip games at full speed)
  • QuickNES
  • Snes9x-Next (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.

Unofficial Builds

There are unofficial ports which add new cores with emulators that do not have a retroarch by default

Consoles

NES

SNES

  • 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.
  • blargSNES - It works well, but lacks compatibility for games with certain chips (i.e. the SuperFX chip).

Nintendo 64

  • DaedalusX64 - N64 has always been known to be a hard system to emulate, which is why many were skeptic 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 support using stereoscopic 3D (at the cost of slower performance) which isn't a feature a lot of emulators have. * daedalusx64 3DS github

Genesis/32X/Sega CD

  • 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 /3ds/picodrive_3ds/bios folder.

PC Engine

Handhelds

Game Boy

  • 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

  • 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 utilizes 3D effects and causes eyestrain. 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 still low and requires a New 3DS to run. Development has since halted.

Game Boy Advance

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. So far, the only way to access this firmware is by injecting a GBA ROM as a VC application. This can be achieved through various programs such as New Super Ultimate Injector. Compatibility is high with the exception of cartridges with special hardware. The only downside is it can't provide features that are normally available on other emulators, such as savestates, screen filtering, or sleep mode, since technically it's running a "virtual" GBA. Also, each ROM must inject and install individually including the save files. If you're using an old 3DS/2DS, this is the best option to play GBA games.

On the other hand, there are also some homebrew GBA emulators available for 3DS:

  • CitrAGB - (based on gpSP)
  • mGBA (Latest Nightly) - A port of the popular GBA emulator by the same developer, only a handful of GBA games suffer from slowdowns but are still playable. Also works great for GB(C) games and even support the Gameboy Camera.
  • GBARunner2 - a GBA hypervisor made for the DS(i), can only be run through TWiLight Menu and is included by default with the program (see below). Compatiblity can be a hit-or-miss, but is still in active development with plans to include interesting features such as gyro control emulation and local wireless multiplayer in the future.

Neo Geo Pocket

NeoPop

Nintendo DS

DeSmuME - an experimental port of DeSmuME that has since been abandoned, it wasn't very compatible.

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.

DSiWare

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 .cia file. There's two ways to do this:

  • DSiWare Conversion Script - This script can be used to convert .bin files from your DSi's SD card to .nds which can then be used to convert into .cia.
  • GodMode9 - Version 1.8.0 added in a script that can convert .nds to .cia, 3ds.hacks.guide has more information on how to update to the latest version if needed.

These scripts will ONLY work for DSiWare, NOT NDS GAMES.

Others

CHIP-8

VC Injection

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's runs it natively, not emulation), Sega systems in particular have high compatibility however.
There's an easy tool that will convert and inject any supported ROM file as its associated VC application called 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.