Developer Information | Citra | Nintendo 3DS Emulator
Read First!

The below wiki article is based on user submitted content.
Please verify all hyperlinks and terminal commands below!

See a mistake? Want to contribute? Edit this article on Github

Developer Information

A very incomplete overview of useful information to get started with 3DS development. Please add anything that’s missing :)

3DS Hardware/Software

Homebrew

A list of a variety of homebrew applications and demos can be found on 3DBrew at Homebrew Applications. They can be used for testing Citra if you have no means of dumping and decrypting commercial games. Smea’s Ninjhax Starter Kit contains pre-compiled binaries of some of these applications.

Here are some tools useful for homebrew development:

  • devkitARM - Toolchain geared toward compiling homebrew
  • CTR User Library (ctrulib) - Library for writing usermode arm11 code for the 3DS
  • picasso and nihstro - Assemblers for shader code for the PICA200 GPU used in the 3DS. nihsro also includes a disassembler.
  • Aemstro - Older shader (dis)assembler. Nowadays picasso or nihstro should be preferred.
  • Error codes - This python script will (hopefully) decode any error codes you might encounter.
  • 3DS Game Database - Contains data on all 3DS games, their title IDs, update versions, etc.
  • Homebrew Libraries and Tools - 3DBrew page with more tools and libraries useful for development.