3DS:Emulators: Difference between revisions

From Hacks Guide Wiki
m (→‎Game Boy Color / Game Boy: fix gameyob-3ds link)
(i hope this is fine wording wise?)
 
(13 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{hatnote|This page refers to emulators and other software that can be used to run non-3DS software on a Nintendo 3DS. For emulators of the Nintendo 3DS itself, see (undetermined article name).}}
{{hatnote|3DS:EMU redirects here. For EmuNAND, see [[3DS:EmuNAND and RedNAND]].}}


An '''emulator''' is a piece of software that uses computing power to simulate another device, such as a video game console or a personal computer. As a general guideline, the original Nintendo 3DS is capable of emulating most popular home consoles up to around the {{iw|wikipedia|fourth generation of video game consoles}} (the SNES/Genesis era), while the New Nintendo 3DS series is (just barely) capable of emulating some of the {{iw|wikipedia|fifth generation of video game consoles|fifth generation}} (the N64/PS1 era).
An '''emulator''' is a piece of software that uses computing power to simulate another device, such as a video game console or a personal computer. As a general guideline, the original Nintendo 3DS is capable of emulating most popular home consoles up to around the {{iw|wikipedia|fourth generation of video game consoles}} (the SNES/Genesis era), while the New Nintendo 3DS series is (just barely) capable of emulating some of the {{iw|wikipedia|fifth generation of video game consoles|fifth generation}} (the N64/PS1 era).
<br>This is because emulation requires significantly more computing power than running the console natively - though even if it could run emulated games as efficiently as native playback, even a new model 3DS would still only be able to emulate the {{iw|wikipedia|sixth generation of video game consoles|sixth generation}} (the Xbox/PS2/Dreamcast era) and possibly the Wii.


The Nintendo 3DS has hardware that allows for native backwards compatibility with the Nintendo DS and Game Boy Advance, meaning such software can run at full speed as they would on the original hardware. While this does not ''technically'' fall under the term 'emulation', methods to run such software will be included here due to the ubiquity of the term.
The Nintendo 3DS has hardware that allows for native backwards compatibility with the Nintendo DS and Game Boy Advance, meaning such software can run at full speed as they would on the original hardware. While this is not actually emulation, methods that use this hardware will be included here due to the ubiquity of the term.


== Handheld video game consoles ==
== Handheld video game consoles ==
=== PlayStation Portable, Vita ===
Not possible.


=== Nintendo DS ===
=== Nintendo DS ===
{{Main|3DS:DS games}}
{{Main|3DS:DS games}}


Line 18: Line 14:


In the past, Nintendo DS flashcarts were a popular way to run Nintendo DS software. Because of nds-bootstrap's development over the years, they have become less and less necessary, but can still offer useful features like being able to use the flashcart on unmodded 3DS-family and DS-family consoles (depending on the cartridge).
In the past, Nintendo DS flashcarts were a popular way to run Nintendo DS software. Because of nds-bootstrap's development over the years, they have become less and less necessary, but can still offer useful features like being able to use the flashcart on unmodded 3DS-family and DS-family consoles (depending on the cartridge).
A proof-of-concept port of the DS emulator DeSmuME to the 3DS was [https://gbatemp.net/threads/wip-3desmume-ds-emulator-for-3ds.430223/ once created], but only exists as a curiosity due to the methods mentioned above.


=== Game Boy Advance ===
=== Game Boy Advance ===
{{Main|3DS:GBA games}}
{{Main|3DS:GBA games}}


Game Boy Advance software can be played natively by leveraging AGB_FIRM, something built into every 3DS that allows for native playback of Game Boy Advance software. AGB_FIRM was only ever used officially as part of the Ambassador Program for early purchasers of the original Nintendo 3DS before its price was cut.
Game Boy Advance software can be played natively by leveraging AGB_FIRM, something built into every 3DS that allows for native playback of Game Boy Advance software. AGB_FIRM was only ever used officially as part of the Ambassador Program for early purchasers of the original Nintendo 3DS before its price was cut.


The current recommended way to run GBA software is [[3DS:open_agb_firm|open_agb_firm]] due to its drag-and-drop functionality and ease of save file access. open_agb_firm runs as a payload (similar to GodMode9), meaning it is not directly accessible from HOME Menu (requiring a reboot to enter/exit). If you instead wish to run GBA software as an icon on your HOME Menu, virtual console injects can be created instead, but requires access to a device running Windows.
The current recommended way to run GBA software is [[3DS:open_agb_firm|open_agb_firm]] due to its drag-and-drop functionality and ease of save file access. open_agb_firm runs as a payload (similar to GodMode9), meaning it is not directly accessible from HOME Menu (requiring a reboot to enter/exit) unless an alternate bootloader such as [[3DS:fastboot3DS|fastboot3DS]] is combined with [https://gbatemp.net/download/open-agb-launcher.36828/ Open AGB Launcher].<br>
If you want to use another method but still want icons directly on your HOME Menu, you can create virtual console injects on a Windows device.


The GBA can also be emulated, the recommended emulator being [[udb:3ds/mgba|mGBA]]. This is your best option if you wish to use cheats and save-states, but performance won't always be full-speed, ''especially'' on the Old 3DS.
GBA games can also be emulated, the recommended emulator being [[udb:3ds/mgba|mGBA]]. This is the best option if you wish to use cheats and save-states, but performance will rarely be full-speed on old models and some games will not work correctly.


GBARunner2 is a middle ground between native playback and emulation, similar to Nintendont on the Wii. It is included with TWiLight Menu++ (which you may already be using for NDS software). Because of the other options available, it generally isn't recommended.
GBARunner2 is a middle ground between native playback and emulation, similar to Nintendont on the Wii - this means it has none of the emulator features and the reduced compatibility of an emulator.<br>
It is included with TWiLightMenu++ (which you may already be using for NDS software), but because of the other options available, it isn't recommended.


=== Game Boy Color / Game Boy ===
=== Game Boy Color / Game Boy ===
 
The Game Boy Color and Game Boy are old enough that all models of the 3DS (and even the DS) can run them at full speed. The historically popular GB(C) emulator has been [[udb:3ds/gameyob-3ds|GameYob]], but due to 3DS-specific issues the [[udb:ds/gameyob|DS version]] is preferred (ran through TWiLight Menu++).<br>
The Game Boy Color and Game Boy are old enough that all models of the 3DS (and even the DS) can run them at full speed. The historically popular GB(C) emulator has been [[udb:3ds/gameyob-3ds|GameYob]], but due to 3DS-specific issues the [[udb:ds/gameyob|DS version]] is preferred (ran through TWiLight Menu++). You can also create virtual console injects for GB/GBC games if you prefer individual icons on HOME Menu.
You can also create virtual console injects for GB/GBC games if you prefer individual icons on HOME Menu.


The multi-platform GB(C) emulator [https://github.com/RossMeikleham/PlutoBoy/actions PlutoBoy] is currently under active development. A GitHub account is required to download the automated builds.
The multi-platform GB(C) emulator [https://github.com/RossMeikleham/PlutoBoy/actions PlutoBoy] is currently under active development. A GitHub account is required to download the automated builds.


=== WonderSwan ===
=== WonderSwan ===
 
Possible through the Mednafen (WonderSwan) core on [[3DS:RetroArch|RetroArch]]. Performance has been reported to be slow on Old 3DS units.
Possible through the Mednafen (WonderSwan) core on RetroArch. Performance has been reported to be slow on Old 3DS units.


== Home video game consoles ==
== Home video game consoles ==
=== PlayStation 2/3/etc ===
Not possible.
=== All Xbox consoles ===
Not possible.
=== GameCube/Wii/Wii U/Switch ===
Not possible. While some 3DS games are ports of GameCube games, that does not mean that the 3DS (even the New 3DS) is even remotely capable of emulating a GameCube game (let alone anything newer).
=== Dreamcast ===
Not possible.


=== PlayStation 1 ===
=== PlayStation 1 ===
 
Possible through the PCSX ReARMed core on [[3DS:RetroArch|RetroArch]], with playable speeds on '''New 3DS only'''. A partial compatibility list can be found [https://docs.google.com/spreadsheets/d/1pl2bTkzTe736EOaQjk8FBWY9ixfgoNSYSitbm5Gnyqs/edit#gid=0 here], and optimal configuration can be found [https://www.reddit.com/r/3dshacks/comments/jvkotb/full_speed_psx_finally_here_on_new_3ds_new_2ds_xl/ here].
Possible through the PCSX ReARMed core on RetroArch, with playable speeds on '''New 3DS only'''. A partial compatibility list can be found [https://docs.google.com/spreadsheets/d/1pl2bTkzTe736EOaQjk8FBWY9ixfgoNSYSitbm5Gnyqs/edit#gid=0 here], and optimal configuration can be found [https://www.reddit.com/r/3dshacks/comments/jvkotb/full_speed_psx_finally_here_on_new_3ds_new_2ds_xl/ here].


=== Nintendo 64 ===
=== Nintendo 64 ===
''Barely'' possible on '''New 3DS only''' through [[udb:3ds/daedalusx64-3ds|DaedalusX64-3DS]]. A partial compatibility list can be found [https://wiki.gbatemp.net/wiki/DaedalusX64_3DS_Compatibility_List here]; most games are incompatible or run very slowly.
''Barely'' possible on '''New 3DS only''' through [[udb:3ds/daedalusx64-3ds|DaedalusX64-3DS]]. A partial compatibility list can be found [https://wiki.gbatemp.net/wiki/DaedalusX64_3DS_Compatibility_List here]; most games are incompatible or run very slowly.


=== Super NES ===
=== Super NES ===
 
Possible on both Old and New 3DS using [[udb:3ds/snes9x|Snes9x]], which is optimized so that many SNES games can run well on an Old 3DS. Additionally, New 3DS users can create [[3DS:Virtual_Console|virtual console]] injects that use Nintendo's official SNES emulator.
Possible through [[udb:3ds/snes9x|Snes9x for Old 3DS]], which is optimized so that many SNES games can run well on an Old 3DS. New 3DS users can opt to use this emulator or to create virtual console injects, leveraging Nintendo's official SNES emulator.


=== NES / Famicom Disk System  ===
=== NES / Famicom Disk System  ===
 
The NES is old enough that all models of the 3DS can run it at full speed. The recommended emulator is [[udb:3ds/virtuanes|VirtuaNES]].<br>
The NES is old enough that all models of the 3DS can run it at full speed. The recommended emulator is [[udb:3ds/virtuanes|VirtuaNES]]. Virtual console injects can also be created if you prefer individual icons on HOME Menu.
Virtual console injects can also be created if you prefer individual icons on HOME Menu.


=== Sega Genesis / CD / 32X / Master System ===
=== Sega Genesis / CD / 32X / Master System ===
Possible through [[udb:3ds/picodrive|PicoDrive]], covering the Genesis / Mega Drive and its add-ons (the Sega CD and 32X) as well as the Sega Master System. It is apparently reasonably well-optimized for Old 3DS.
Possible through [[udb:3ds/picodrive|PicoDrive]], covering the Genesis / Mega Drive and its add-ons (the Sega CD and 32X) as well as the Sega Master System. It is apparently reasonably well-optimized for Old 3DS.


== Arcade cabinets ==
== Arcade cabinets ==
WIP
WIP


== Home computers ==
== Home computers ==
=== Windows NT (XP/Vista/7/etc) ===
Not possible, though you can stream a computer's screen to a 3DS with something like [[udb:3ds/tinyvnc|TinyVNC]].


=== DOS / Win9x ===
=== DOS / Win9x ===
Possible through {{GitHub|MrHuu/dosbox-3ds/releases/latest|DOSBox-3DS}}. Tested mostly on New 3DS. Windows 3.1 and 95 technically ''work'', albeit extremely slowly; this emulator is much more practical for older DOS games.
Possible through {{GitHub|MrHuu/dosbox-3ds/releases/latest|DOSBox-3DS}}. Tested mostly on New 3DS. Windows 3.1 and 95 technically ''work'', albeit extremely slowly; this emulator is much more practical for older DOS games.


=== Commodore 64 ===
=== Commodore 64 ===
Possible through [[udb:3ds/vice3ds|Vice3DS]].
Possible through [[udb:3ds/vice3ds|Vice3DS]].


Line 102: Line 69:


=== Calculators ===
=== Calculators ===
''Omega'', a custom firmware for the Numworks graphing calculator, has a simulator available for the Nintendo 3DS. The latest available version (as of 2022/08/09) is available {{GitHub|Omega-Numworks/Omega/releases/download/O1.23.0-E15/simulator.3dsx|here}}.
''Omega'', a custom firmware for the Numworks graphing calculator, has a simulator available for the Nintendo 3DS. The latest available version (as of 2022/08/09) is available {{GitHub|Omega-Numworks/Omega/releases/download/O1.23.0-E15/simulator.3dsx|here}}.


Line 108: Line 74:


== Overview chart ==
== Overview chart ==
WIP
== Emulators that don't exist ==
These are consoles or devices that will not work on the 3DS, usually due to computing power requirements.
* GameCube/Wii/Wii U/Switch
* PlayStation 2 and newer
* PlayStation Portable and Vita
* All Xbox consoles
* Dreamcast
* Windows NT (XP/Vista/7/etc)
== Emulating the 3DS itself ==
To emulate the 3DS on another platform, Citra is the recommended option.<ref group=Note name=Note01>Citra's website and github repos have been taken down by the owners due to legal action against Yuzu (owned by the same entity) by Nintendo.</ref> Other options include [https://mikage.app Mikage] and [https://github.com/wheremyfoodat/Panda3DS Panda3DS].
== Notes ==
<references group="Note"/>


WIP
[[Category:Nintendo 3DS information]]

Latest revision as of 09:57, 19 April 2024

An emulator is a piece of software that uses computing power to simulate another device, such as a video game console or a personal computer. As a general guideline, the original Nintendo 3DS is capable of emulating most popular home consoles up to around the fourth generation of video game consoles (the SNES/Genesis era), while the New Nintendo 3DS series is (just barely) capable of emulating some of the fifth generation (the N64/PS1 era).
This is because emulation requires significantly more computing power than running the console natively - though even if it could run emulated games as efficiently as native playback, even a new model 3DS would still only be able to emulate the sixth generation (the Xbox/PS2/Dreamcast era) and possibly the Wii.

The Nintendo 3DS has hardware that allows for native backwards compatibility with the Nintendo DS and Game Boy Advance, meaning such software can run at full speed as they would on the original hardware. While this is not actually emulation, methods that use this hardware will be included here due to the ubiquity of the term.

Handheld video game consoles

Nintendo DS

Nintendo DS software can be played natively using nds-bootstrap, a tool that allows NDS backups to be run from the SD card. In most cases, you will use either TWiLight Menu++ or NDS forwarders to launch the ROM, after which nds-bootstrap will do the hard work of getting it to run.

In the past, Nintendo DS flashcarts were a popular way to run Nintendo DS software. Because of nds-bootstrap's development over the years, they have become less and less necessary, but can still offer useful features like being able to use the flashcart on unmodded 3DS-family and DS-family consoles (depending on the cartridge).

Game Boy Advance

Game Boy Advance software can be played natively by leveraging AGB_FIRM, something built into every 3DS that allows for native playback of Game Boy Advance software. AGB_FIRM was only ever used officially as part of the Ambassador Program for early purchasers of the original Nintendo 3DS before its price was cut.

The current recommended way to run GBA software is open_agb_firm due to its drag-and-drop functionality and ease of save file access. open_agb_firm runs as a payload (similar to GodMode9), meaning it is not directly accessible from HOME Menu (requiring a reboot to enter/exit) unless an alternate bootloader such as fastboot3DS is combined with Open AGB Launcher.
If you want to use another method but still want icons directly on your HOME Menu, you can create virtual console injects on a Windows device.

GBA games can also be emulated, the recommended emulator being mGBA. This is the best option if you wish to use cheats and save-states, but performance will rarely be full-speed on old models and some games will not work correctly.

GBARunner2 is a middle ground between native playback and emulation, similar to Nintendont on the Wii - this means it has none of the emulator features and the reduced compatibility of an emulator.
It is included with TWiLightMenu++ (which you may already be using for NDS software), but because of the other options available, it isn't recommended.

Game Boy Color / Game Boy

The Game Boy Color and Game Boy are old enough that all models of the 3DS (and even the DS) can run them at full speed. The historically popular GB(C) emulator has been GameYob, but due to 3DS-specific issues the DS version is preferred (ran through TWiLight Menu++).
You can also create virtual console injects for GB/GBC games if you prefer individual icons on HOME Menu.

The multi-platform GB(C) emulator PlutoBoy is currently under active development. A GitHub account is required to download the automated builds.

WonderSwan

Possible through the Mednafen (WonderSwan) core on RetroArch. Performance has been reported to be slow on Old 3DS units.

Home video game consoles

PlayStation 1

Possible through the PCSX ReARMed core on RetroArch, with playable speeds on New 3DS only. A partial compatibility list can be found here, and optimal configuration can be found here.

Nintendo 64

Barely possible on New 3DS only through DaedalusX64-3DS. A partial compatibility list can be found here; most games are incompatible or run very slowly.

Super NES

Possible on both Old and New 3DS using Snes9x, which is optimized so that many SNES games can run well on an Old 3DS. Additionally, New 3DS users can create virtual console injects that use Nintendo's official SNES emulator.

NES / Famicom Disk System

The NES is old enough that all models of the 3DS can run it at full speed. The recommended emulator is VirtuaNES.
Virtual console injects can also be created if you prefer individual icons on HOME Menu.

Sega Genesis / CD / 32X / Master System

Possible through PicoDrive, covering the Genesis / Mega Drive and its add-ons (the Sega CD and 32X) as well as the Sega Master System. It is apparently reasonably well-optimized for Old 3DS.

Arcade cabinets

WIP

Home computers

DOS / Win9x

Possible through DOSBox-3DS. Tested mostly on New 3DS. Windows 3.1 and 95 technically work, albeit extremely slowly; this emulator is much more practical for older DOS games.

Commodore 64

Possible through Vice3DS.

Other

Calculators

Omega, a custom firmware for the Numworks graphing calculator, has a simulator available for the Nintendo 3DS. The latest available version (as of 2022/08/09) is available here.

WabbitDS is a TI-83 Plus emulator for the Nintendo DS. It might work on the 3DS under TWiLight Menu++ or through a DS flashcart.

Overview chart

WIP

Emulators that don't exist

These are consoles or devices that will not work on the 3DS, usually due to computing power requirements.

  • GameCube/Wii/Wii U/Switch
  • PlayStation 2 and newer
  • PlayStation Portable and Vita
  • All Xbox consoles
  • Dreamcast
  • Windows NT (XP/Vista/7/etc)

Emulating the 3DS itself

To emulate the 3DS on another platform, Citra is the recommended option.[Note 1] Other options include Mikage and Panda3DS.

Notes

  1. Citra's website and github repos have been taken down by the owners due to legal action against Yuzu (owned by the same entity) by Nintendo.