xem parent
Starting with a chip8 emulator is also a good exercise. We made one in JS in less than 1kb for this 13kb games compilation: http://js13kgames.com/entries/26-games-in-1
(unminified version here: http://xem.github.io/chip8/c8.html)
I agree! I started a chip8 emulator in Rust. Once I get video and input finished, I'm considering writing a Gameboy emulator.