WIP Experimental Switch emulator in C#

Discussion in 'Switch - Emulation, Homebrew & Software Projects' started by gdkchan, Feb 5, 2018.

  1. gdkchan
    OP

    gdkchan GBAtemp Regular

    Member
    4
    Jul 8, 2015
    Brazil
    This is an experimental emulator, currently in early stages of development, that I started last year. The main difference from other emulators is that it is written in C#, instead of other languages like C++ where emulators are usually written. It translates the Arm64 machine code into the .NET intermediate language (MSIL), which in turn is transformed by the .net JIT (RyuJIT) into x86 machine code.

    Demos

    Currently, the emulator can only run a few homebrew apps, and it is quite slow too.

    Running Sonic 3 on the PicoDrive retroarch port (video): https://gfycat.com/NiceWealthyEastsiberianlaika

    It doesn't run any commercial games yet, althrough Puyo Puyo Tetris show some logos:
    Warning: Spoilers inside!
    However it gets stuck on that screen due to unimplemented audren:u functionality (and its also really really slow).
    Other games usually fail earlier due to unimplemented services or bugs due to poorly implemented svc and/or services.

    Source:

    The source can be found on the following repository: https://github.com/gdkchan/Ryujinx

    The .NET Core runtime or SDK is necessary to run it.
    Any contribution, suggestion or constructive criticism is always welcome.
    If you have some homebrew that currently doesn't work on it, I also accept PMs with the compiled NRO/NSO and source code if possible and will work to make them work. LibNX is know to be broken because I don't have any app compiled on it.

    Special thanks goes to the people working on reverse engineering the Switch OS and writing the docs at Switchbrew.

    Discord:

    Thanks to Dr. Hacknik we now have a Discord server! If you want to get in touch, ask questions or want to contribute to the project, join our server: https://discord.gg/VkQYXAZ
     
    Last edited by gdkchan, Feb 6, 2018
  2. ploggy

    ploggy WAKA! WAKA!

    Member
    12
    Aug 29, 2007
    United Kingdom
    Wow the more the merrier :)
    Good Luck.
     
  3. Supershadic1000000

    Supershadic1000000 Thou art me and I is thee except after C

    Member
    2
    Feb 6, 2016
    United States
    West Philadelphia, Born and Raised
    Niceeeeeee! This is oddly exciting!
     
  4. Dr.Hacknik

    Dr.Hacknik Maniac | Dev | Trap

    Member
    7
    Mar 26, 2014
    United States
    my lewd corner
    In before the raid.

    Also, C# master race. High-five!
     
    Last edited by Dr.Hacknik, Feb 5, 2018
    NoNAND, CallmeBerto and lordelan like this.
  5. Ghost92

    Ghost92 GBAtemp Fan

    Member
    3
    Jun 29, 2017
    Colombia
    Why do the graphics look as good as if they were native emulation? I do not know, it seems fake ...
     
  6. Dr.Hacknik

    Dr.Hacknik Maniac | Dev | Trap

    Member
    7
    Mar 26, 2014
    United States
    my lewd corner
    Poking around the source; it's legit.
     
    lordelan likes this.
  7. 2dsJason

    2dsJason Member

    Newcomer
    2
    Aug 17, 2014
    United States
    Somewhere
    Awesome work, love to see it become more functionalt
     
  8. Yandere-chan

    Yandere-chan The One and Only

    Member
    3
    Nov 11, 2016
    United States
    Hidden in your NAND
    Amazing work, hoping to see Mario Rabbids boot eventually!
     
  9. MK73DS

    MK73DS GBAtemp Fan

    Member
    3
    Feb 23, 2015
    France
    France
    I have a question, why don't you help the Yuzu team with your talent ?
    (Or I didn't get something...)
     
    cearp likes this.
  10. Thirty3Three

    Thirty3Three Musician Member

    Banned
    10
    Mar 22, 2013
    United States
    Wherever you want me, baby.
    You seem pessimistic. worst case scenario huh?


    To op, keep up the good work!
     
    Xanthe, Dr.Hacknik and BlastedGuy9905 like this.
  11. dpad_5678

    dpad_5678 GBAtemp's Memelord

    Member
    9
    Nov 19, 2015
    United States
    Looks fake, but I guess that good if it is truly real :P
     
  12. blutarch

    blutarch Member

    Newcomer
    1
    Jul 22, 2016
    United States
    Awesome. Any name for it yet?
     
  13. Dr.Hacknik

    Dr.Hacknik Maniac | Dev | Trap

    Member
    7
    Mar 26, 2014
    United States
    my lewd corner
    It is indeed real. I looked at the source and have compiled it.
     
  14. Yandere-chan

    Yandere-chan The One and Only

    Member
    3
    Nov 11, 2016
    United States
    Hidden in your NAND
    Pass me that build ;)
     
  15. Dr.Hacknik

    Dr.Hacknik Maniac | Dev | Trap

    Member
    7
    Mar 26, 2014
    United States
    my lewd corner
    You ask when I'm away from my computer. Sigh
     
  16. Yandere-chan

    Yandere-chan The One and Only

    Member
    3
    Nov 11, 2016
    United States
    Hidden in your NAND
    Sorry lol
     
    Dr.Hacknik likes this.
  17. Deathscreton

    Deathscreton GBAtemp Advanced Fan

    Member
    6
    Oct 1, 2009
    United States
    Wow, props to that. Thing isn't even cracked fully open and we have PoC emulators.
     
  18. PocketQ3

    PocketQ3 Newbie

    Newcomer
    1
    Jan 20, 2018
    United States
    I love C#, nice easy and clean language.

    Godspeed!
     
    Dr.Hacknik likes this.
  19. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    17
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Mar 17, 2010
    Norway
    Alola
    That's an interesting approach to coding an emulator, I wonder if it'll be as fast as native code.
    I'm a C# coder myself, so I find this pretty cool.
    Good luck with your project, looking forward to seeing how it progresses.
     
    Dr.Hacknik likes this.
  20. Manurocker95

    Manurocker95 Game Dev & Pokémon Master

    Member
    3
    May 29, 2016
    Spain
    Madrid
    Daaaaaaamn son! I'll be watching this thread. Nice work, buddy.