Citra 3DS Emulator
December 23, 2014 Update
Citra is an open-source Nintendo 3DS emulator written in modern C++. It is written with portability in mind, with builds actively maintained for Windows, Linux and OS X. Citra only emulates a subset of 3DS hardware, and therefore is generally only useful for running/debugging homebrew applications. At this time, Citra is even able to boot several commercial games! None of these run to a playable state, but we are working every day to advance the project forward.- Github: https://github.com/citra-emu/citra
- Website: http://citra-emu.org/
- Facebook: https://www.facebook.com/citra.emu
Getting Involved
Citra has an active community of developers and we welcome any form of contribution. It is always good to get in touch with the developer community first, though. The best way to do this is via our IRC channel, #citra on Freenode. We also encourage you to check out the Contributor's Guide, Roadmap and Developer Information pages.Supporting Citra
A number of people have asked whether they could support the project via donations. We've been a bit hesitant with setting up something like this, but ultimately realized that it would indeed make a lot of things easier. So if you're interested in helping us out, you can donate via PayPal - any donation received will go towards things like:- 3DS consoles - This is the most expensive, but also most helpful point. Developers can use access to actual consoles to figure out how the hardware works. Some developers have bought consoles out of their own pocket solely for reverse-engineering and never played any games with them. We would like this to be the exception, and instead give skilled developers something to work with without requiring them to pay for working on an open-source project.
- Additional 3DS equipment - Games, flashcards, etc. All that kind of stuff which is required for testing and/or getting homebrew code execution.
- Server costs - Web hosting, domain name, build/IRC bots, etc.
Screenshots
Hey guys…
I'd like to share a project that I've been working on with a few others for the past few months – the firstpublic project to attempt 3DS emulation. "Citra" (https://github.com/citra-emu/citrahttps://github.com/bunnei/citra) is an experimental Nintendo 3DS emulator/debugger written in C++ (and licensed under GPLv2).
At this time, it is in the very initial stages of development, and is only capable of running homebrew. It currently supports:
Anyone interested in the project please checkout #citra on Freenode – there is no website/forums.
Smealum's yeti3DS port (ARM11) single-window mode on Windows 8:
TE3DS (ARM9) running in Qt debugger on Windows 8:
Mandelbrot 3DS demo (ARM9) running in Qt debugger on Ubuntu:
More demos running: http://imgur.com/a/4qE81
EDIT: The official project repository is now https://github.com/citra-emu/citra
I'd like to share a project that I've been working on with a few others for the past few months – the firstpublic project to attempt 3DS emulation. "Citra" (https://github.com/citra-emu/citra
At this time, it is in the very initial stages of development, and is only capable of running homebrew. It currently supports:
- ARM9/ARM11 interpreter for the 3DS "appcore" – the processor core dedicated to running user applications
- (Some) OS HLE to support userland interaction with the various 3DS OS services
- Loading of ELF and launcher.dat files
- Framebuffer rendering
- Debugger with ARM11 disassembler, register view, callstack and symbol loading (written in Qt)
- Supported on both Linux and Windows (MS Visual Studio 2013 Express)
I want to emphasize that for the long-term, this project will only (potentially) be useful to developers – there are manynon-existent components that are absolutely essential to even loading a commercial game (and furthermore there is no gamepad or hardware 3D support, among many many other things).
Anyone interested in the project please checkout #citra on Freenode – there is no website/forums.
Smealum's yeti3DS port (ARM11) single-window mode on Windows 8:
TE3DS (ARM9) running in Qt debugger on Windows 8:
Mandelbrot 3DS demo (ARM9) running in Qt debugger on Ubuntu:
More demos running: http://imgur.com/a/4qE81
EDIT: The official project repository is now https://github.com/citra-emu/citra