rosettaboy
Ryujinx
rosettaboy | Ryujinx | |
---|---|---|
11 | 336 | |
465 | 32,159 | |
- | 2.2% | |
8.6 | 9.7 | |
26 days ago | 6 days ago | |
C++ | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rosettaboy
-
When Zig Outshines Rust – Memory Efficient Enum Arrays
As somebody who has written the same gameboy emulator in C++, Rust, and Zig (as well as C, Go, Nim, PHP, and Python) - I have yet to find a place where language affected emulation correctness.
Gameboy audio is kind of a pain in the ass (at least compared to CPU, which is fairly easy, and GPU, which is easy to get "good enough” if you don’t care about things like palette colours being swapped mid-scanline) - and some languages take more or less code to do the same thing (eg languages which allow one block of memory to be interpreted in several different ways concurrently will make the “interpret audio RAM as a bunch of registers” code much shorter with less copying) - but in my case at least, each one of my implementations actually has the same audio distortions, presumably because I’m misreading some part of the hardware spec :P
https://github.com/shish/rosettaboy/
(Also yes, the zig version is currently failing because every time I look at it the build system has had breaking changes...)
-
Ask HN: Why did Nim not catch-on like wild fire as Rust did?
Niceness is subjective, but Nim is just as valid an addition to that group. Nim compiles to C and has had an --os=standalone mode for like 10 years from its git history, and as mentioned else-thread (https://news.ycombinator.com/item?id=36506087) can be used for Linux kernel modules. Multiple people have written "stub OSes" in it (https://github.com/dom96/nimkernel & further along https://github.com/khaledh/axiom).
While it can use clang as a backend, Nim does not rely upon LLVM support like Zig or Rust (pre-gcc-rust working). Use on embedded devices is fairly popular: https://forum.nim-lang.org/search?q=embedded (or web search).
Latency-wise, for a time, video game programming was a perceived "adoption niche" or maybe "hook" for Nim and games often have stringent frame rendering deadlines. If you are interested in video games, you might appreciate https://github.com/shish/rosettaboy which covers all but Ada in your list with Nim being fastest (on one CPU/version/compiler/etc). Note, however, that cross-PL comparisons are often done by those with much "porting energy" but limited familiarity with any but a few of the PLs. A better way to view it is that "Nim responds well to optimization effort" (like C/Ada/C++/Rust/Zig).
- Finished building a working Game Boy Color emulator using React and WebAssembly 🎮🕹️
-
Ask HN: What have you created that deserves a second chance on HN?
https://github.com/shish/rosettaboy
The same gameboy emulator rewritten in C++, Go, Nim, PHP, Cython, Python, Rust, and Zig (and WIP typescript); mostly to teach myself the languages and to compare and contrast their idioms.
Also, when taken with a very large grain of salt, usable as a language benchmark (As with all benchmarks, there are lots of caveats - but as far as I’m aware this is unique in being “the same code in multiple languages” and “several thousand lines of code”):
$ ./utils/bench.py
- Zig 0.10.0 Release Notes
- Python 3.11 is much faster than 3.8
-
Writing a Game Boy Emulator in OCaml
Looks very polished, but major disappointment that it's not showcasing OCaml as part of RosettaBoy (https://github.com/shish/rosettaboy)
-
Which programming language or compiler is faster
I’m working on it :) https://github.com/shish/rosettaboy
(Ok it’s 5-10k lines rather than a million, but it’s non-trivial enough that the differences between languages are noticable)
- RosettaBoy – the same Gameboy emulator in Rust, Python, and C++
Ryujinx
-
Nintendo Switch Emulator: Progress Report December 2023
Their C# JIT [1] generates x86_64 or ARM native code. This is why it's fast.
1: https://github.com/Ryujinx/Ryujinx/tree/master/src/ARMeilleu...
- When Zig Outshines Rust – Memory Efficient Enum Arrays
-
RyujinX – Open Source Nintendo Switch Emulator
This isn't true anymore. It was their first approach, but since then they have switched to their own JIT recompiler. You can read their rationale here: https://github.com/Ryujinx/Ryujinx/pull/693
For the MacOS port, they explain in the blog post you linked that they use an hypervisor, meaning the original game binary runs untranslated. (with the option to use an ARM-to-ARM JIT)
-
[GUIDE] - Build your own nightly Version of Ryujinx
Thanks for the guide. I am new to Ryujinx, but is there a version that runs Monster Hunter Rise: Sunbreak? I searched on reddit and github but I got lost on the part where gdkchan tried to solve the issue here. Maybe it doesn't work on Mac?
- Any way to fix this in totk, it's like this all over the depths making this part basically unplayable (MacBook Air m2, system version 16.0.0 and totk ver. 1.1.1
- Hi everyone, I’m using ryujinx for an 8gb Ram Mac with an intel iris gpu, game runs pretty smooth but this happens with the graphics on Pokémon brilliant diamond, what could be the reason and what settings can I adjust ?
-
Trying to load into a save after TOTK Crashed, how do I fix it? (Im guessing the E stands for Error in the log file)
Same as previous post. Latest version did change things related to hashing https://github.com/Ryujinx/Ryujinx/commit/58907e2c290473326e5ab74bdfe1429b8a518ba4 so probably bug?
-
I need help on getting TOTK stable on Ryujinx (M1 air, 16 gb ram)
Did you try the build in here: https://github.com/Ryujinx/Ryujinx/pull/4899
-
Thinking about choose Steam deck or laptop with ryzen 5 3500u
As it’s emulator, you can’t be sure about games performance as a whole. Some perform better, some - worse, some won’t run at all. You can have a quick look at this video for example https://youtu.be/9XyjErqV3pI Then you should check if the games you’re interested in are considered playable https://github.com/Ryujinx/Ryujinx/wiki/ Actually, there is another one emulator Yuzu and some games may perform better with it. BTW I have a bit better 5500u processor with 16 dual-channel. It performs quite well even with aaa games till 2020. But there are also so many good old games :) Currently I’m playing Warcraft 3 and it still looks and plays very well.
- The following packages have unmet dependencies: mintsources: Depends: mint-common (>= 2) but it is not going to be installed
What are some alternatives?
procs - Unix process&system query&format lib&multi-command CLI in Nim
yuzu - Nintendo Switch emulator
shumai - Fast Differentiable Tensor Library in JavaScript and TypeScript with Bun + Flashlight
BetterJoy - Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput
Programming-Language-Benchmark
citra - A Nintendo 3DS Emulator
axiom - A 64-bit kernel implemented in Nim
Ryujinx-Games-List - List of games & demos tested on Ryujinx
awesome-python-typing - Collection of awesome Python types, stubs, plugins, and tools to work with them.
dolphin - Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.
KaithemAutomation - Pure Python, GUI-focused home automation/consumer grade SCADA
xqemu - Open-source emulator to play original Xbox games on Windows, macOS, and Linux