6fb23da375
It uses the raw Video For Linux 2 API to integrate any capture device (a camera for example) into the 3DS cam:U subsystem, so that games can now take an actual picture of the user, use the AR system, or do basically anything they wants with the video stream. Conversion to RGB isn’t supported yet, so in the very likely chance your capture device doesn’t support outputting directly in RGB you will get a garbled but recognizable image resulting from the casting of YUYV data into RGB565. Only the OUT1 camera (rear left) is currently supported, every other one will still return an empty buffer. A possible improvement would be to extend support to more than one /dev/videoN device, and let the user configure which physical device corresponds to which emulated camera. Another would be to use a computer vision library to generate a shifted image and give the illusion of perspective when using both read cameras. A possible improvement would be to check for the presence of the v4l2 header instead of matching on the OS name. A dummy implementation is built on every other OS. This also adds the SetOutputFormat call. None of this has been tested on hardware yet, nor reversed from the cam:U service, everything is pure guess work based on the camera/video example from 3ds-examples. |
||
---|---|---|
dist | ||
externals | ||
hooks | ||
src | ||
.gitignore | ||
.gitmodules | ||
.travis-build.sh | ||
.travis-deps.sh | ||
.travis-upload.sh | ||
.travis.yml | ||
appveyor.yml | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
Doxyfile | ||
license.txt | ||
README.md |
BEFORE FILING AN ISSUE, READ THE RELEVANT SECTION IN THE CONTRIBUTING FILE!!!
Citra Emulator
Citra is an experimental open-source Nintendo 3DS emulator/debugger written in 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! Most of these do not run to a playable state, but we are working every day to advance the project forward.
Citra is licensed under the GPLv2 (or any later version). Refer to the license.txt file included. Please read the FAQ before getting started with the project.
Check out our website!
For development discussion, please join us @ #citra on freenode.
Development
Most of the development happens on GitHub. It's also where our central repository is hosted.
If you want to contribute please take a look at the Contributor's Guide, TODO list and Developer Information. You should as well contact any of the developers in the forum in order to know about the current state of the emulator.
Building
- Windows: Windows Build
- Linux: Linux Build
- OSX: OS X Build
Support
If you like, you can donate by PayPal - any donation received will go towards things like:
- 3DS consoles for developers to explore the hardware
- 3DS games for testing
- Any equipment required for homebrew
- Infrastructure setup
- Eventually 3D displays to get proper 3D output working
- ... etc ...
We also more than gladly accept used 3DS consoles, preferrably ones with firmware 4.5 or lower! If you would like to give yours away, don't hesitate to join our IRC channel #citra on Freenode and talk to neobrain or bunnei. Mind you, IRC is slow-paced, so it might be a while until people reply. If you're in a hurry you can just leave contact details in the channel or via private message and we'll get back to you.