Experimental Nintendo Switch Emulator written in C#
Find a file
John Clemis d24ea0d51b Add Controller Support (#196)
* Added Basic Controller Support

* Added Extra Configuration Options

Added a GamePad_Enable option and GamePad_Index option

* Revert "Added Extra Configuration Options"

This reverts commit 6cc56bfe7e.

* Revert "Revert "Added Extra Configuration Options""

This reverts commit 4809e5effe.

* Forgot to change the Gamepad Index

* Added Configuration for the A B X Y Buttons

* Added Button Configuration for all other Buttons

* Added Basic Joystick Configuration

* Fixed Joystick Axis Problems

Fixed Joystick Axis Problems when switching around the Joysticks (Left Stick is Right and Right stick is Left)

* Refactored all of the button mapping code

* Changes in compliance with review

* Changes in compliance with review

* Fixed problems in the configuration file with different regions

* Changes in compliance with review
2018-07-02 19:08:54 -03:00
ChocolArm64 Add linux-x64 to RID property to make tests works on linux (#205) 2018-06-30 12:43:04 -03:00
Ryujinx Add Controller Support (#196) 2018-07-02 19:08:54 -03:00
Ryujinx.Audio Add linux-x64 to RID property to make tests works on linux (#205) 2018-06-30 12:43:04 -03:00
Ryujinx.Graphics Add linux-x64 to RID property to make tests works on linux (#205) 2018-06-30 12:43:04 -03:00
Ryujinx.HLE Add Controller Support (#196) 2018-07-02 19:08:54 -03:00
Ryujinx.LLE Add linux-x64 to RID property to make tests works on linux (#205) 2018-06-30 12:43:04 -03:00
Ryujinx.ShaderTools Add linux-x64 to RID property to make tests works on linux (#205) 2018-06-30 12:43:04 -03:00
Ryujinx.Tests Add linux-x64 to RID property to make tests works on linux (#205) 2018-06-30 12:43:04 -03:00
.gitattributes aloha 2018-02-04 20:08:20 -03:00
.gitignore aloha 2018-02-04 20:08:20 -03:00
.travis.yml Add some tests (#18) 2018-02-15 21:04:38 -03:00
CONFIG.md Add Controller Support (#196) 2018-07-02 19:08:54 -03:00
LICENSE.txt aloha 2018-02-04 20:08:20 -03:00
README.md Add Controller Support (#196) 2018-07-02 19:08:54 -03:00
Ryujinx.sln Rename Ryujinx.Core to Ryujinx.HLE and add a separate project for a future LLE implementation 2018-06-10 21:46:42 -03:00

Ryujinx Build status

Experimental Switch emulator written in C#

Don't expect much from this. Some homebrew apps work, Puyo Puyo Tetris shows the intro logo (sometimes), and a handful of games boot / work; but that's about it for now. Contributions are always welcome.

Building

To build this emulator, you will need the .NET Core 2.1 (RC1) (or higher) SDK. https://www.microsoft.com/net/download/ In release builds, memory checks are disabled to improve performances.

Or just drag'n'drop the *.NRO / *.NSO or the game folder on the executable if you have a pre-build version.

Features

  • Audio is partially supported (glitched) on Windows but you need to install the OpenAL Core SDK. https://openal.org/downloads/OpenAL11CoreSDK.zip

  • Keyboard Input is partially supported:

    • Left Joycon:

      • Stick Up = W
      • Stick Down = S
      • Stick Left = A
      • Stick Right = D
      • Stick Button = F
      • DPad Up = Up
      • DPad Down = Down
      • DPad Left = Left
      • DPad Right = Right
      • Minus = -
      • L = E
      • ZL = Q
    • Right Joycon:

      • Stick Up = I
      • Stick Down = K
      • Stick Left = J
      • Stick Right = L
      • Stick Button = H
      • A = Z
      • B = X
      • X = C
      • Y = V
      • Plus = +
      • R = U
      • ZR = O
    • For more information on how to configure these buttons see CONFIG.md

  • Controller Input is partially supported:

    • Left Joycon:

      • Analog Stick = Left Analog Stick
      • DPad Up = DPad Up
      • DPad Down = DPad Down
      • DPad Left = DPad Left
      • DPad Right = DPad Right
      • Minus = Select / Back / Share
      • L = Left Shoulder Button
      • ZL = Left Trigger
    • Right Joycon:

      • Analog Stick = Right Analog Stick
      • A = B / Circle
      • B = A / Cross
      • X = Y / Triangle
      • Y = X / Square
      • Plus = Start / Options
      • R = Right Shoulder Button
      • ZR = Right Trigger
    • For more information on how to configure these buttons see CONFIG.md

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

  • If you are a Windows user, you can configure your keys, the logs, install OpenAL, etc... with Ryujinx-Setting. Download it, right 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 make changes in order to make the requested app / game work.

Contact

For help, support, suggestions, or if you just want to get in touch with the team; join our Discord server!
https://discord.gg/VkQYXAZ

Running

To run this emulator, you need the .NET Core 2.1 (or higher) SDK and the OpenAL 11 Core SDK.
Run dotnet run -c Release -- path\to\homebrew.nro inside the Ryujinx solution folder to run homebrew apps.
Run dotnet run -c Release -- path\to\game_exefs_and_romfs_folder to run official games (they need to be decrypted and extracted first!)

Compatibility You can check out the compatibility list within the Wiki. Only a handful of games actually work.

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 (64-bit) can be found on the official website.