Panda3DS is a new Nintendo 3DS emulator for Windows, Mac and Linux

panda3ds.jpg

A beta, preview build for a new Nintendo 3DS emulator called Panda3DS has been released.

The emulator is written in C++ and can be compiled for Windows, Mac and Linux. While the emulator is in its early stages it can already boot several commercial games.

The team behind Panda3DS state their goal is to see if fast 3DS emulation can be achieved on low-end hardware like the Raspberry Pi 4 and to ultimately create an emulator that offers debugging, reverse engineering and modding tools that can assist 3DS homebrew developers and tinkerers.

pokegang.png OoT_Title.png MK7.png

Screenshots of the Panda3DS emulator running on Windows
Panda3DS is still in the early stages of development. Many games boot, many don't. Most games have at least some hilariously broken graphics, audio is not supported, performance leaves a bit to be desired mainly thanks to lack of shader acceleration, and most QoL features (including a GUI) are missing.

In addition, some games don't quiiite work with the upstream code. A lot of them might need some panics in the source code to be commented out before they work, etc. However, just the fact things can work as well as they do now is promising in itself.

Why?
The 3DS emulation scene is already pretty mature, with offerings such as Citra which can offer a great playing experience for most games in the library, Corgi3DS, an innovative LLE emulator, or Mikage. However, there's always room for more emulators! While Panda3DS was initially a mere curiosity, there's many different concepts I would like to explore with it in the future, such as:

Virtualization. What motivated the creation of this emulator was actually a discussion on whether it is possible to get fast 3DS emulation on low-end hardware such as the Raspberry Pi 4, using the KVM API. At the moment, Panda3DS is powered by dynarmic rather than using virtualization, but this is definitely a concept I want to explore in the future.

Debugging, reverse engineering and modding tools. While contributing to PCSX-Redux and collaborating with the other developers, I had the chance to find out how useful tools like these can be. They can serve as indispensable tools for the homebrew devs, modders, reverse engineers, as well as emulator developers themselves. Some tools can even become fun toys the casual user can mess around with. As such, I think they can really improve the experience in a project like this. Of course, I'd like to thank @nicolasnoble and the entire Redux team for helping me learn the value of these tools, as well as making me improve as a programmer.

Trying out various other unique features, such as different graphics or audio enhancements, or supporting other niche things such as amiibo.

Fun. Writing code is fun and I strongly encourage anyone to do it.

Keep in mind, these are all long-term plans. Until then, the main focus is just improving compatibility

:arrow: Panda3DS on GitHub
:arrow: Panda3DS on Twitter
 

Cris1997XX

Well-Known Member
Member
Joined
Oct 31, 2021
Messages
470
Trophies
0
Age
23
XP
1,262
Country
Italy
Mainline Pokemon is pretty brutal for HLE 3DS emulation. Currently the emulator is incapable of booting them due to no CRO support. After that they'll also need AAC (Audio thingie) support, though I think they might be able to boot without it.

I can't give an estimate but I hope relatively soonish
Post automatically merged:


That's how I picture it. The emulator is currently not doing virtualization yet though, it's doing good old recompilation from ARMv6K (3DS) to x86-64 or arm64 depending on the platform you're running on (and we will keep supporting this forever; it's necessary to have JITs for various platforms to be as portable as possible. Virtualization would only be supported on select platforms, as opposed to our current JIT model which runs on pretty much every computer currently in use and offers pretty good performance already)

Also nice pfp :P
Out of curiosity, will there be a performance gain for other ARM-based platforms like Raspberry Pi and Nintendo Switch?
 

wheremyfoodat

Developer
Developer
Joined
Jul 9, 2023
Messages
10
Trophies
0
Age
19
XP
116
Country
Greece
Speaking of Switch, we just got a Switch Ubuntu build running!

Switch and Pi are oddball platforms because they support both arm32 and arm64

I currently support arm64 (Using a JIT for the CPU, but sadly no shader acceleration like on x64 which is why the video below is so terribly slow). I hope it will become better when there's shader acceleration on arm64 but the architecture isn't really that close to the 3DS ARMv6K.

In arm32 mode however, virtualization can potentially be an option and I haven't yet tapped into that possibility to see how fast it can be. Will likely be a while too.
Post automatically merged:

cool, an emulator that isnt practically abandoned or have a shady team! (citra)
The peeps from the Citra team I've met are all pretty nice and supportive :(
 

Attachments

  • 2023-07-10_20-00-56.mp4
    10 MB

ber71

Well-Known Member
Member
Joined
Apr 24, 2019
Messages
562
Trophies
0
Age
58
XP
2,465
Country
Spain
Someone on our Discord server is trying to run it on Ubuntu!Switch. It compiles but gets a SIGILL when trying to run an STLR instruction. Currently investigating.

That's nice, but won't reach many users. A native port for horizon OS would be way better.
 

wheremyfoodat

Developer
Developer
Joined
Jul 9, 2023
Messages
10
Trophies
0
Age
19
XP
116
Country
Greece
A Vita port is actually less work though I don't see it happening anytime soon for many reasons (and would probably run terribly). Wii U would require adding PPC+Paired Singles support to dynarmic and changing the code to fix various little-endian specific code.
Post automatically merged:

Btw does anybody know if GBATemp supports pings? Can people do @wheremyfoodat or something and summon me in other threads?
 
  • Like
Reactions: Cris1997XX

MadMakuFuuma

Well-Known Member
Member
Joined
Jun 23, 2018
Messages
192
Trophies
0
Age
40
XP
1,312
Country
Brazil
Speaking of Switch, we just got a Switch Ubuntu build running!

Switch and Pi are oddball platforms because they support both arm32 and arm64

I currently support arm64 (Using a JIT for the CPU, but sadly no shader acceleration like on x64 which is why the video below is so terribly slow). I hope it will become better when there's shader acceleration on arm64 but the architecture isn't really that close to the 3DS ARMv6K.

In arm32 mode however, virtualization can potentially be an option and I haven't yet tapped into that possibility to see how fast it can be. Will likely be a while too.
Post automatically merged:


The peeps from the Citra team I've met are all pretty nice and supportive :(
its not everybody that is not supportive in citra community, for sure. but idk if you followed all those years, since citra is around, but I witnessed very bad clashes between some devs and users, for things really small. yep, perhaps the team changed overtime, perhaps after all those years people changed their hearts for good, idk. to be honest, i myself didn't followed the project anymore (meaning the forum, github etc) for more than 3 years now, only checking from time to time the official site for updates. so, if you say people is supportive now, i believe you. but i think me and other people are refering to past events.

anyway, like i said before, is good to have a new player in town XD. i wish you good luck and good work!
 

linuxares

The inadequate, autocratic beast!
Global Moderator
Joined
Aug 5, 2007
Messages
13,319
Trophies
2
XP
18,163
Country
Sweden
A Vita port is actually less work though I don't see it happening anytime soon for many reasons (and would probably run terribly). Wii U would require adding PPC+Paired Singles support to dynarmic and changing the code to fix various little-endian specific code.
Post automatically merged:

Btw does anybody know if GBATemp supports pings? Can people do @wheremyfoodat or something and summon me in other threads?
Yepp, if they @ you, you will get a ping in your little bell.

Like this @wheremyfoodat
 

Rob_Boates

Well-Known Member
Member
Joined
Aug 16, 2021
Messages
203
Trophies
0
XP
484
Country
United States
was looking for a low spec 3ds emulator about a year ago, so this is nice to see. looking forward to when they get audio down, but until then it's gonna be a pass from me
 
  • Like
Reactions: SylverReZ

BETA215

Member not found
Member
Joined
Dec 30, 2014
Messages
339
Trophies
0
Location
they/them | 0xDEAD brain
XP
1,684
Country
Argentina
A Vita port is actually less work though I don't see it happening anytime soon for many reasons (and would probably run terribly). Wii U would require adding PPC+Paired Singles support to dynarmic and changing the code to fix various little-endian specific code.
Post automatically merged:

Btw does anybody know if GBATemp supports pings? Can people do @wheremyfoodat or something and summon me in other threads?
DS emulation with NooDS on Vita has already a lot of difficulties to run at 60FPS on most games - and it has had Vita-specific optimizations iirc. 3DS sounds like it'll be just like a slideshow lmao, Vita isn't so powerful.
 
  • Haha
Reactions: Cris1997XX

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: I did use a bot for Diablo III though but no ban there lol