To simplify,
Method 1: DSi + Supercard DSTWO
- Requires purchase of $40 flashcard
- Has built-in emulators (if I recall correctly)
- ROMs need to be placed on the microSD card, plug + play
- NES and SNES should run at perfect speeds. GBA will be playable but stutter with heavier titles.
Method 2: 2DS/3DS
There is a method 3, which is to use an M3 Zero, R4i, or any other legacy flashcart like that but they won't do your needs any justice. If you're going to spend money you might as well go the extra mile to do it right.
- Requires purchase of console
- Can be hacked to run custom firmware which then allows for unsigned software such as pirated games/backups and homebrew applications like emulators; i.e. you get a lot more than just what you asked for
- Provides an alternative option to emulation for NES and GBA, which is injected Virtual Console titles. Nintendo re-releases some NES + GBA classics on the eShop and people rework the titles to run whatever ROM while still keeping the UI, features, and clean look of official VC releases
- Plays NES, SNES, and GBA games perfectly
3DS seems better, but seems like a lot of work to get it to work.
--------------------- MERGED ---------------------------
Nope. There's an "old 3DS" (3DS, 3DS XL, 2DS) or "new 3DS" (New 3DS, New 3DS XL)
Both run SNES, though New 3DS does better. Old 3DS can use blargSNES and SNES9x for old 3DS, and new 3DS can use those, along with the better RetroArch and Nintendo's own Virtual Console SNES games.
You can't use official SNES Virtual Console on old 3DS, and while RetroArch works, it is VERY SLOW on old 3DS.
How can I tell the difference between New and Old? when we are talking 3DS XL