NES-8 Controller

 

In typical Nintendo tradition, any game named Mario anything would not be complete without the use of an "old-school" NES 8 controller. The lab conveniently has a huge stash of NES 8 controllers put at your disposal. The NES 8 controller is not a difficult component to integrate into projects. However, some research is required to understand its functionality. The processor is used to poll the controller every 60 Hz. A 12 microsecond latch is sent to latch the values of the controller buttons. Following the latch, 8 pulses are conducted, and for each signal, if the corresponding button is pushed, ground is asserted. The order of the button is A, B, Select, Start, Up, Down, Left, and Right, and the signal is generated via a shift register. The timing diagram shown below is taken from an MIT website. Basically, use your Xilinx schematic development skills to create the diagram shown below, with latch frequency at 60 Hz. Also, note that 8 pulses must be sent, not 7.

For more information, refer to reference section.

Back to main