Начать можно с эмулятора для CHIP-8 (
статья по написанию). А вообще, (1) нужно много изучать платформу под которую пишется эмулятор, (2) использовать определённые практики (общие, оптимизации и т. п.), (3) в принципе уметь хорошо программировать. 1-е и 3-е должны изучать сами. Не думаю, что есть целые статьи по написанию сложного эмулятора, если только поверхностный обзор, что вам не сильно поможет. Чтобы практиковаться, нужно практиковаться и смотреть чужой код в эмуляторах.
--------
Кстати, есть ещё эмуляторы типа PICO-8 для несуществующих платформ, но таким мало кто будет заниматься.