mirror of
https://github.com/citra-emu/citra.git
synced 2024-11-14 06:40:05 +00:00
Page:
Developer Information
Pages
AES Keys
Archive of 3DS Documentation
Archive of 3DS Tests
Building for Android
Building for Linux
Building for OpenBSD
Building for Windows
Building for macOS
CPU
Citra Android user data and storage
Citra Legacy Builds
Citra Web Service
Common Issues
Compatibility List
Contributing
Default Keyboard Bindings
Developer Information
Dumping Config Savegame from a 3DS Console
Dumping Extra Data from a 3DS Console
Dumping Game Cartridges
Dumping Installed Titles
Dumping Save Data from a 3DS Console
Dumping System Archives and the Shared Fonts from a 3DS Console
Dumping Updates and DLCs
FAQ
Home
Installing FFmpeg for the Video Dumper
Issue Labels
Lifetime of an LLE library applet
Log Filters
Set Up APK Signing in Bitrise
Stack Trace Guide for Citra
Typical Git Workflow
User Directory
Using a Controller or Android Phone for Motion or Touch Input
30
Developer Information
sakuramipha edited this page 2023-07-20 18:14:01 +01:00
Table of Contents
A very incomplete overview of useful information to get started with 3DS development. Please add anything that's missing :)
3DS Hardware/Software
- 3DBrew is probably the best resource for the 3DS hardware/software internals
- ARM11 MPCore Reference Manual
- ARM946E-S ™ Reference Manual
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. nihstro also includes a disassembler.
- Aemstro - Older shader (dis)assembler. Nowadays picasso or nihstro should be preferred.
- Result code decoder (Python) - This Python script will (hopefully) decode any result 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.