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 first
public project to attempt 3DS emulation. "Citra" (
https://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:
- 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
many non-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:
View attachment 7529
TE3DS (ARM9) running in Qt debugger on Windows 8:
View attachment 7530
Mandelbrot 3DS demo (ARM9) running in Qt debugger on Ubuntu:
View attachment 7531
More demos running:
http://imgur.com/a/4qE81