1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-11-23 20:22:03 +00:00
Experimental Nintendo Switch Emulator written in C#
Find a file
gdkchan 34037701c7
NvServices refactoring (#120)
* Initial implementation of NvMap/NvHostCtrl

* More work on NvHostCtrl

* Refactoring of nvservices, move GPU Vmm, make Vmm per-process, refactor most gpu devices, move Gpu to Core, fix CbBind

* Implement GetGpuTime, support CancelSynchronization, fix issue on InsertWaitingMutex, proper double buffering support (again, not working properly for commercial games, only hb)

* Try to fix perf regression reading/writing textures, moved syncpts and events to a UserCtx class, delete global state when the process exits, other minor tweaks

* Remove now unused code, add comment about probably wrong result codes
2018-05-07 15:53:23 -03:00
ChocolArm64 NvServices refactoring (#120) 2018-05-07 15:53:23 -03:00
Ryujinx Some small sync primitive fixes, logging fixes, started to implement the 2D engine on the GPU, fixed DrawArrays, implemented a few more shader instructions, made a start on nvdrv refactor, etc... 2018-04-25 23:12:26 -03:00
Ryujinx.Audio [WIP] Add support for events (#60) 2018-03-19 15:58:46 -03:00
Ryujinx.Core NvServices refactoring (#120) 2018-05-07 15:53:23 -03:00
Ryujinx.Graphics NvServices refactoring (#120) 2018-05-07 15:53:23 -03:00
Ryujinx.Tests Add Sqxtn_S, Sqxtn_V, Uqxtn_S, Uqxtn_V instructions and Tests (6). (#110) 2018-04-29 20:39:58 -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 Implement many objects, improve logging. (#42) 2018-02-25 15:58:16 -03:00
LICENSE.txt aloha 2018-02-04 20:08:20 -03:00
README.md Update README.md 2018-04-24 21:06:49 -03:00
Ryujinx.sln Rename IpcServices -> Services 2018-03-20 17:00:00 -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.0 (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
  • Config File: Ryujinx.conf should be present in executable folder. For more informations 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.0 (or higher) 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 not work at all. To download the latest automatic build for Windows (64-bits), Click Here.