My suggestion is buy one of the arduino kits related to this goal. A few examples:
Video Game Shield Kit
How Do I learn to pick the best board/cpu/controller/GPU/LCD screen/LCD controller etc?
Firstly you need know in depth a real machine. The arduinos are a very good option for this because are 100% open source and include documentation. Don't buy a RaspberryPI or others ARM boards because the most use closed drivers for the GPU and other pieces. If you finally decide buy a traditional ARM board (not a arduino with ARM processor), search a board with the GPU "mali".
Will learning to make a NES emulator first help me understand this field? If so are there any tutorials?
No. You will only learn a lot of assembler code :) . Probably, enhance your C skills are a better idea.
Don't be too ambitious at the beginning or your project will die. Step by step. My advice is:
- Buy a Kit.
- Read all the documentation.
- Program a simple game.
- Program a complex game.
- Enhance your game internally. Try different ideas for enhance the performance.
- Now you know well the platform.
- Read the code of your system. Kernel and low level libs.
- I'm sure that your system has bugs. Search and fix these.
- The code of your system is inefficient. Enhance the code.
- At this moment you know all your system with a very big depth.
- Now you can create anything. Congratulations :)