Experimental Nintendo Switch Emulator written in C#
Go to file
gdkchan a694420d11
Implement speculative translation on the CPU (#515)
* Implement speculative translation on the cpu, and change the way how branches to unknown or untranslated addresses works

* Port t0opt changes and other cleanups

* Change namespace from translation related classes to ChocolArm64.Translation, other minor tweaks

* Fix typo

* Translate higher quality code for indirect jumps aswell, and on some cases that were missed when lower quality (tier 0) code was available

* Remove debug print

* Remove direct argument passing optimization, and enable tail calls for BR instructions

* Call delegates directly with Callvirt rather than calling Execute, do not emit calls for tier 0 code

* Remove unused property

* Rename argument on ArmSubroutine delegate
2019-02-04 18:26:05 -03:00
ChocolArm64 Implement speculative translation on the CPU (#515) 2019-02-04 18:26:05 -03:00
Ryujinx Disable file log by default 2019-01-31 14:35:01 +00:00
Ryujinx.Audio Audio: Track and Call ReleaseCallbacks in the Dummy Audio Output (#508) 2018-11-19 02:24:15 +01:00
Ryujinx.Common Add file logging and handle unhandled exceptions (#558) 2019-01-30 23:49:15 -03:00
Ryujinx.Graphics Implement speculative translation on the CPU (#515) 2019-02-04 18:26:05 -03:00
Ryujinx.HLE Implement speculative translation on the CPU (#515) 2019-02-04 18:26:05 -03:00
Ryujinx.LLE Add Sqdmulh_S, Sqdmulh_V, Sqrdmulh_S, Sqrdmulh_V instructions; add 6 Tests. Now all saturating methods are on ASoftFallback. (#334) 2018-08-10 14:27:15 -03:00
Ryujinx.ShaderTools Move MaxUboSize definition (#530) 2018-12-17 22:32:12 -02:00
Ryujinx.Tests Implement speculative translation on the CPU (#515) 2019-02-04 18:26:05 -03:00
Ryujinx.Tests.Unicorn Remove unnecessary usings (#463) 2018-10-17 14:55:10 -03:00
.gitattributes aloha 2018-02-04 20:08:20 -03:00
.gitignore Implement ContentManager and related services (#438) 2018-11-18 17:37:41 -02:00
.travis.yml Add some tests (#18) 2018-02-15 21:04:38 -03:00
appveyor.yml Normalize all the line endings (#518) 2018-11-29 00:01:19 -02:00
CONFIG.md Update the Readme (#546) 2018-12-17 22:34:23 -02:00
KEYS.md Add XCI, NSP and NCA loading support (#404) 2018-09-08 15:33:27 -03:00
LICENSE.txt aloha 2018-02-04 20:08:20 -03:00
README.md Update the Readme (#546) 2018-12-17 22:34:23 -02:00
Ryujinx.sln Move logging to Ryujinx.Common and make it a static class (#413) 2018-10-17 14:15:50 -03:00
Ryujinx.sln.DotSettings Adjust naming conventions and general refactoring in HLE Project (#527) 2018-12-06 09:16:24 -02:00

Ryujinx Build status

Experimental Switch emulator written in C#

Many games boot, only a handful are playable, see the compatiblity list here.

Building

To build this emulator, you will need the .NET Core 2.1 (or higher) SDK or just drag'n'drop the homebrew *.NRO / *.NSO or the game *.NSP / *.XCI on the executable if you have a pre-built version.

Features

  • Audio is partially supported.

  • Keyboard Input is supported, see CONFIG.md

  • Controller Input is supported, see CONFIG.md

  • Config File: Ryujinx.conf should be present in executable folder. For more information you can go here.

Help

If you have some homebrew that currently doesn't work within the emulator, you can contact us through our Discord with the compiled *.NRO / *.NSO (and source code if possible) and then we'll keep whatever is making app / game not work on the watch list and fix it at a later date.

Contact

For help, support, suggestions, or if you just want to get in touch with the team; join our Discord server!

For donation support, please take a look at our Patreon.

Running

To run this emulator, you need the .NET Core 2.1 (or higher) SDK.
Run dotnet run -c Release -- path\to\homebrew.nro inside the Ryujinx project folder to run homebrew apps.
Run dotnet run -c Release -- path\to\game.nsp/xci to run official games.

Compatibility

You can check out the compatibility list here.

Latest build

These builds are compiled automatically for each commit on the master branch. They may be unstable or might not work at all.
The latest automatic build for Windows, Mac, and Linux can be found on the official website.