NES Controller – Classic Fun!
How It Works – Clock, Latch, and Data
While attempting my multi-meter science experiment, I came across this great video by David Nunez about how the NES controller works. This is a great video and worth the time.
Getting back to how the controller works, once a button is pushed the data is sent to the shift register which ignores it until the NES sends a pulse on the Latch line. The shift register than captures the state of the input lines and places them on the Data line (in a sort of buffer). The NES then sends a pulse on the Clock line causing the shift register to shift the bits over by one. The clock line is pulsed until each of the eight bits is read via the latch line.
The NES now knows the state of the controller and will then further process that state. Usually the game ROM will handle this by maybe making a character on the screen jump, fire an arm cannon, etc.
For more information Tresi Arvizo wrote a great explanation on the NES controller here.
NES Controller Restore
I picked up an original Nintendo controller that was in rough shape, but on the upside it was super cheap. It was a little touch to take apart due to some rusty screws and the cord took about 5 minutes with a damp cloth before it was clean. The front and back went in the sink with some soapy water for an hour followed by some scrubbing with an old tooth brush.
I tried out the retro-bright sun trick for a few hours and the color is definitely a few shades lighter. I don’t mind the yellowing so I’ll probably leave it at that.
Once everything was back together the controller works fine. The A button doesn’t always respond which isn’t good. Some new silicone parts will be needed, but other than that things are in working order.
The great thing about more and more people getting into retro systems is that there are now a plethora of new controllers available to buy for very cheap. Usually somewhere between $5 – $10 can get you one that will work great.
I recently picked up a NES controller by Retrobit for around $10 and it works great. There are a couple of differences you’ll notice right off the bat. The A and B buttons are staggered the A button is slightly above the B button. Also, the Start and Select buttons are above the Retrobit logo which differs from the classic controller.
The buttons are made of a different type of plastic then the original as well. I don’t think it’s a problem, but the feel of them is quite different. Not sure how to find out what type it is, but it’d be interesting to find out.
The insides are higher quality than other cheap controller replacements. Though the “chip” is a glop-top, or chip-on-board, configuration. The assumption is that it’s the same shift register used in the physical chip.
NES USB Controller For The PC
There are high quality NES style controllers that you can connect to a computer via USB. However this one was very cheap and consequently didn’t last very long at all.
Using a USB NES controller on a computer is a lot of fun, I highly recommend it. It’s great for NES, Famicom, and Sega Master System emulators. It’ll probably work great in a Turbo Grafx 16/PC Engine emulator as well… I haven’t made the time to try it out yet, sigh.
The iNext controller might not be worth the money, but I do recommend the iNNext SNES controller. It’s works on Windows as well as Linux (and probably Mac too).
This controller also works with the C64 Mini and was recommended by the Facebook Group. So ya, it also works great on the C64 Mini.
I have a plan for some additional projects involving the NES and controllers, so until next time.