Panda3DS is a new Nintendo 3DS emulator for Windows, Mac and Linux
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.
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