Writing an emulator has been on my developer “TODO list” for quite some time. Ever since playing an NES emulator for the first time, I’ve always been curious as to how they work.