Last Archive I found of citra. May be altered. proceed with caution.
Go to file
Yuri Kunde Schlesner 52f58e64ef Kernel: Make WaitObjects share ownership of Threads waiting on them
During normal operation, a thread waiting on an WaitObject and the
object hold mutual references to each other for the duration of the
wait.

If a process is forcefully terminated (The CTR kernel has a SVC to do
this, TerminateProcess, though no equivalent exists for threads.) its
threads would also be stopped and destroyed, leaving dangling pointers
in the WaitObjects.

The solution is to simply have the Thread remove itself from WaitObjects
when it is stopped. The vector of Threads in WaitObject has also been
changed to hold SharedPtrs, just in case. (Better to have a reference
cycle than a crash.)
2015-02-02 15:37:08 -02:00
externals Update boost external 2015-02-02 15:37:06 -02:00
src Kernel: Make WaitObjects share ownership of Threads waiting on them 2015-02-02 15:37:08 -02:00
.gitignore Update gitignore with OS-specific global filetypes. 2014-12-14 17:19:47 -05:00
.gitmodules Add nihstro (a 3DS shader tools suite) as a submodule. 2014-12-20 18:06:55 +01:00
.travis-build.sh Travis: Enable tracing on the script to ease troubleshooting 2014-12-15 22:07:40 -02:00
.travis-deps.sh Revert "Travis: Enable caching of dependencies" 2015-01-10 21:22:03 -05:00
.travis.yml Revert "Travis: Enable caching of dependencies" 2015-01-10 21:22:03 -05:00
appveyor.yml AppVeyor: Use Citra's Mega account 2015-01-24 17:21:34 -05:00
CMakeLists.txt Fix building on MinGW 2015-01-11 20:22:08 -08:00
CONTRIBUTING.md Resolve doxycomment duplication debate 2014-12-04 04:47:52 -02:00
doc-icon.png Add a Doxygen configuration file to generate source docs 2014-10-26 16:14:46 -02:00
Doxyfile doxygen: Enable EXTRACT_ALL so that Doxygen identifies namespaces 2014-12-13 01:59:51 -02:00
license.txt added license txt file 2014-04-08 19:03:00 -04:00
README.md Added AppVeyor build status 2015-01-11 22:35:32 -05:00
upload_to_mega.js AppVeyor: Sanitize the file name before uploading 2015-01-24 12:36:49 -05:00

Citra Emulator

Travis CI Build Status AppVeyor CI Build Status

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! None of these run to a playable state, but we are working every day to advance the project forward.

Citra is licensed under the GPLv2. Refer to the license.txt file included. Please read the FAQ before getting started with the project.

For development discussion, please join us @ #citra on freenode.

Development

If you want to contribute please take a look at the Contributor's Guide, Roadmap and Developer Information pages. You should as well contact any of the developers in the forum in order to know about the current state of the emulator.

Building

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.