How would someone begin to work on something like this?
[2] https://forums.nesdev.com/viewforum.php?f=3
Or you can just cheat, design a "toy" instruction set, and write something to process it. A couple of years ago I did that, in C/Perl:
* https://github.com/skx/simple.vm
Later I rewrote the interpreter/emulator in go:
* https://github.com/skx/go.vm
The downside with my approach here is that I ignored graphcs, sound, & I/O.
These days I'd recommend you write an emulator for the Chip-8 system..