4 ms·
I definitely recommend people to consider the base ISA of RISC-V if they want to try to implement a CPU or even full-system emulation. I understand that implem
by fwsgonzo 4y ago
I definitely recommend people to consider the base ISA of RISC-V if they want to try to implement a CPU or even full-system emulation.
I understand that implementing a GameBoy emulator might be more attractive because you are working towards something graphical that you can eventually play, and that's what I did first. It was a fun project! You can also get something similar with RISC-V, eg. Doom (SDL example: https://github.com/fwsGonzo/libriscv/tree/master/examples/doom https://github.com/fwsGonzo/libriscv/tree/master/examples/do...)
The road to fully working DOOM will probably be shorter because you will only have to implement RV32I and then an ELF loader. The rest is handled through SDL2 outside of the emulator, and I/O is handled through system calls from Doom running as a guest inside it. Note that DOOM does not support 64-bit.
Otherwise, if you want to start out with emulating something smaller or something from your childhood check out r/emudev on reddit. A very helpful and nice community there.
- HideousKojima 4y agoCHIP-8 is another easy target for beginners. You're technically implementing an interpreter rather than writing an emulator, but 99% of the principles are the same.