Writing a NES emulator is a fun programming challenge. Start here: https://www.nesdev.org/wiki/NES_reference_guide
and maybe read this first to understand where to begin with emulating an old CPU such as the 6502
and maybe read this first to understand where to begin with emulating an old CPU such as the 6502
NES or Gameboy are my two main ideas, but I'm curious if there are other suggestions.