An interpreter that helped me to enter the world of emulation, made in C ++ 17.
There is an experimental branch in which the assembly code is generated at compile time via template metaprogramming, for this you need to hardcode the ROM files (i know, kinda messy).