Getting started contributing to an emulator

I’ve been browsing r/emulation a lot lately, and a common question I see is “I want to help a project, but I have no idea where to begin”. With the holidays approaching, I wanted to provide an answer for any would-be emulator developer looking to hack on something during them.

It’s important to start off by mentioning that it’s not a requirement to possess excellent low-level programming skills or in-depth knowledge of the hardware being emulated in order to contribute to emulators. Emulator projects are like any other sufficiently complicated project, there is a ton of work to do for all skill levels.

With that said however, it can be overwhelming to look at an emulation project and find an appropriate place to start contributing. To help bridge that gap, I’ve been creating more-detailed-than-normal issues in redream’s issue queue this past week. These issues are tagged by difficulty level (easy, medium and hard), and prefixed by the section of code they apply to.

Documentation

UI

Input

Graphics

JIT

If you would like to chat more about any of these issues you can find me on our Slack group channel under @inolen.