What does HackerNews think of dolphin?

Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.

Language: C++

#9 in C++
#4 in Emulator
Dolphin has actually had this for their macOS builds for over a year now.

https://github.com/dolphin-emu/dolphin

Emulator development is not my cup of tea and I only once tried Dolphin, but the progress reports are always a fantastic read. The Dolphin code base [1] is also fun to read.

Thanks for all the enjoyable reads!

[1] https://github.com/dolphin-emu/dolphin

I'm not an expert in this field, also currently in learning mode.

> You said you were working on another JIT - what was that?

A JIT for a custom 32-bit RISC soft-CPU (FPGA).

> Also, do you have any suggestions of another project/language to implement compiler for to gain some knowledge about writing optimizations, actual intepretation/compilation logic, etc?

You could write another C compiler. Or a JIT for some scripting language. Lua is about as simple as it gets when it comes to JITtable scripting languages. Of course amazing http://luajit.org/ already exists.

Existing CPUs and bytecode formats are also potentially good.

In particular, other people might actually want to use a small WebAssembly (https://webassembly.org/) AOT/JIT compiler. I know I would. :)

Some source code I've personally found educating on this topic:

1) Lots of easier stuff (ARM/x86 encoding, basic optimizations, etc.) can be found in JITting emulators, like Dolphin: (https://github.com/dolphin-emu/dolphin)

2) Web browser Javascript engines, like (https://github.com/v8/v8/tree/master/src). And of course LuaJIT.

3) Compiler codegen, like LLVM (https://github.com/llvm-mirror/llvm)

I know nothing about emulators, so it would be nice if the README provided instructions for how to build and run the emulator.

Here is some inspiration: https://github.com/dolphin-emu/dolphin

While it doesn't use coroutines that I know of, the Dolphin emulator[1] generally makes good use of modern C++ features.

[1]: https://github.com/dolphin-emu/dolphin