1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-11-27 11:02:00 +00:00
Experimental Nintendo Switch Emulator written in C#
Find a file
Ac_K 36f62cbe72 friends: INotificationService Implementation of GetEvent (#710)
* friends: INotificationService Implementation of GetEvent

According to the RE, the event isn't signaled when handle is returned.
```C
long nn::friends::detail::service::NotificationService::GetEvent(long this, uint *output_handle)
{
  long inner_struct_event;
  int result;

  if (this->event_created)
  {
    inner_struct_event = &this->event_object;
  }
  else
  {
    inner_struct_event = &this->event_object;
    result = CreateEvent(&this->event_object, 0, 1);

    if ( result )
    {
      Assert();
    }

    this->event_created = true;
  }

  uint event_handle = nn::os::detail::DetachReadableHandleOfInterProcessEvent(inner_struct_event);

  *output_handle = event_handle;
  int unknown = *((char *)output_handle + 4);
  *((char *)output_handle + 4) = 1;

  if (unknown)
  {
    CloseHandle(*output_handle);
  }

  return 0LL;
}
```
Co-Authored-By: Thomas Guillemard <me@thog.eu>
2019-06-27 14:05:30 +02:00
.github Create FUNDING.yml 2019-06-02 02:09:38 +02:00
ChocolArm64 Add FCVT <Hd>, <Sn> and FCVT <Sd>, <Hn> Inst.; add Tests. (#692) 2019-05-30 19:51:39 -03:00
Ryujinx Implement OutputAccessLogToSdCard and expose an FS access log option (#700) 2019-06-16 03:31:18 +02:00
Ryujinx.Audio Built in profiling (#567) 2019-04-26 14:53:10 +10:00
Ryujinx.Common PrntStub: Add a way to print arrays (#711) 2019-06-27 13:11:51 +02:00
Ryujinx.Graphics GPU Profiling (#570) 2019-06-01 02:13:57 +02:00
Ryujinx.HLE friends: INotificationService Implementation of GetEvent (#710) 2019-06-27 14:05:30 +02:00
Ryujinx.LLE Built in profiling (#567) 2019-04-26 14:53:10 +10:00
Ryujinx.Profiler GPU Profiling (#570) 2019-06-01 02:13:57 +02:00
Ryujinx.ShaderTools Built in profiling (#567) 2019-04-26 14:53:10 +10:00
Ryujinx.Tests Implement a custom value generator for the Tests of the CLS and CLZ instructions (Base: 32, 64 bits. Simd: 8, 16, 32 bits). (#696) 2019-06-12 09:03:31 -03:00
Ryujinx.Tests.Unicorn Built in profiling (#567) 2019-04-26 14:53:10 +10: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 Built in profiling (#567) 2019-04-26 14:53:10 +10:00
CONFIG.md Logger and Configuration Refactoring (#573) 2019-02-11 09:00:32 -03: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 Logger and Configuration Refactoring (#573) 2019-02-11 09:00:32 -03:00
Ryujinx.sln Built in profiling (#567) 2019-04-26 14:53:10 +10:00
Ryujinx.sln.DotSettings Do naming refactoring on Ryujinx.Graphics (#611) 2019-03-04 12:45:25 +11: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: Config.jsonc 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.