Home

Awesome

Tanuki3DS

        __                           __
      //  \\                       //  \\
     ||  __\\_____________________//_   ||
     \\|  |------------------------|  |//
      \|  |                        |  |/
       |::|                        |::||
       |::|                        |::||
       |  |                        |  ||
       |__|________________________|__||      _____
      / __    _________________       //     /_____\
     / (__)  /                /  O   //     /_____ /
    / __/__ /                / O  O //_____/ ____ /
   /   /   /________________/   O  // /  | | \   /
  /_______/_____/____/_____/______//_/__/__|__\/
  |______________________________|/

Tanuki3DS is a 3DS emulator for MacOS and Linux written in C which aims to be simple, fast, and compatible. Currently it can play a handful of games at full speed and supports some nice features like controller support and video upscaling. If you have any questions, you can join our discord server. We do not have any official web page other than the Github repo.

Download

You can download a stable release from the releases tab, or the latest builds for Linux or MacOS.

<img src=images/oot3d.png width=300><img src=images/mk7.png width=300>

Building

You need the following dependencies installed to build and run:

They can all be installed with your local package manager (brew on macos, apt on ubuntu, etc).

To build use make. You can pass some options to make, USER=1 to compile a user build with lto, and DEBUG=1 for unoptimized build with debug symbols. I have tested on both Linux with gcc and MacOS with Apple clang. Currently Windows is not natively supported, but you should be able to use the emulator on Windows through WSL (Windows Subsystem for Linux).

Note for M1 Mac users: we currently only have x86 JIT backends, so you will need to install the x86 version of brew. A guide can be found here.

Usage

Launching the executable will give you a prompt to select the game file (currently supports .elf, .3ds/.cci, .cxi/.app files, roms must be decrypted).

You can also run the executable in the command line with the rom file as the argument or pass -h to see other options.

The keyboard controls are as follows:

ControlKey
AL
BK
XO
YI
LQ
RP
CirclepadWASD
DpadArrow keys
StartReturn
SelectRShift
Pause/UnpauseF5
Toggle speedupTab

The touch screen can be used with the mouse.

You can also connect a controller prior to starting the emulator.

Compatibility

Many games work, but many will suffer from a range of bugs from graphical glitches to crashes. Also we don't have audio support yet. We are always looking to improve the emulator and would appreciate any bugs to reported as a github issue so they can be fixed.

Credits