Gameboy Emulator

Some time ago, I developed a Super Nintendo emulator and it was one of the most interesting projects I ever did.

Not only was it super satisfying to see the progress over time, but I also learned many new things about computer engineering, the architecture of the console and the design of old processors.

As a professional C++ developer, I’ve long been curious about Rust. So, I’ve decided to combine my love for emulation with my desire to learn Rust by building an emulator for the original Game Boy.

Learning From my Last Emulator

Thanks to my previous experience, I expect this project to move faster than my SNES one. The Game Boy’s hardware is also simpler (it’s a 8-bit system and not a combined 8/16-bit one like SNES) which should make certain parts less complex.

Looking back on my SNES emulator, I’ve identified a few lessons I want to carry into this new project:

Current State

I only started this project yesterday, so it’s still in its infancy. Right now, the emulator includes:

In parallel, I’m deep into researching the Game Boy’s inner workings. These resources have been helpful so far: