For me, the most favorite type of a computer program is an emulator. Being able to run code from a completely different hardware architecture always seemed like a magic.
I completely agree with this sentence! How is it possible that I can run something that has been designed for a specific hardware in another completely different hardware?
At first, it looks like magic, but then once you start looking at the technicalities you understand is just a complex code :-).
In this article, you can see someone who managed to develop a Gamebody emulator from scratch in 1.5 months, and the problems he found on the way. It’s not only interesting, but he also triggered me to have a deeper look at this, and maybe try to make one myself as a small prototype. As I have previously read and studied, the Gameboy hardware can be a good starting point to learn more about emulators.