There have always been two types of software that have interested me since I was little. Game Development is one. The process of creating a game and having other people play it is something exciting I hope to experience one day. However, another subject that I’ve always been enthralled with is emulation of video game systems.

Screenshot of the Project 64 emulator displaying the credits to the developers of the software.
Project64 – An emulator for the Nintendo 64 system.

I think I need to give emulation more credit for getting me into computers. Playing video games felt like a stronger pull for me, but emulators made me want to understand it all.

At first it was just the strange idea of playing a game for a Nintendo system on a computer. Then I learned more about how software and hardware worked. That’s when I got far more interested. How is my computer managing to pretend to be a Game Boy? What are the different commands the processor is emulating? How many are the same commands? Is everything communicating similarly? Or completely differently?

Ever since then I’ve wanted to develop my own emulator. I just never felt I had the knowledge to manage to do so. While this has always been an issue, I no longer think it will stop me. I’ve decided I want to make my own emulator. Or rather, I want to make a couple simple emulators. This should allow me to gain the experience necessary to contribute to a larger emulation project. Likely the Dolphin emulator. Perhaps a Switch emulator. That is if I really want to dive into the deep end of emulator development.

How I’ll Start My Emulator Development Journey

For now I’ll be focusing on several of the resources that are commonly recommended by places like r/EmuDev. I’ll likely develop a simple Chip-8 emulator, or follow along with the Space Invaders tutorial series to start. Just to give me a first step into this world.