The first step in implementing a NES system, is to construct a functional description from the different writings software emulator authors have made available. It is critical that there is a firm understanding of what exactly how the NES system works from a functional level before attempting to implement or design anything. Without this understanding, its impossible even to begin to determine what your design requires.
There is no official specification provided from Nintendo Inc. since there interests are to limit copy-cat systems. However, emulator authors have been able to break down what is inside the NES console box. After collecting this information from web sites and emails from emulator authors, a working feature specification was constructed.
The NES system is broken down into three main components, the CPU which executes all of the instructions for the game, the Picture Processing Unit which is responsible for generating the graphics image every frame, and the Game Cartridge which contains the code and graphics memory for the game.