9.6 C
London
Friday, November 8, 2024

Utilizing Spare Elements to Add a BLE Controller Interface to an NES



Again in my day, we needed to sit inside seven ft of the TV once we needed to play a recreation, as a result of that was so far as the controller cables might attain. The industry-wide swap to wi-fi controllers was arguably essentially the most sensible development of the twenty first century. That permit us sit on the sofa and luxuriate in our huge 30” TVs from a snug viewing distance. Should you return and attempt to do some retro gaming on actual console {hardware} immediately, you’ll rapidly understand how a lot that issues. To repair the scenario, Zachary Murtishi used spare components so as to add a BLE controller interface to an NES.

There are already Bluetooth / BLE (Bluetooth Low Vitality) receivers in the marketplace which might be suitable with the NES and trendy controllers — they aren’t even very costly. So, Murtishi’s undertaking was principally accomplished for funsies. However we’re impressed by what he was capable of obtain utilizing spare components that he already had mendacity round.

Like most consoles launched within the days earlier than wi-fi controllers, the NES has a quite simple manner of studying controller button presses. The controller accommodates an 8-bit shift register, with every bit representing the state of a particular button. That’s why the NES controller has eight buttons (together with every of the 4 on the d-pad). The pins on the controller port simply let the NES’s CPU (a by-product of the ever present 6502) learn from the shift register so it might probably react to button presses.

Murtishi’s BLE interface replicates that a part of the equation, so the NES thinks that it’s studying a daily controller’s shift register. However, in actuality, a PIC18LF2420 microcontroller is setting these bits in line with knowledge it receives from an HM-10 BLE module. In concept, that knowledge can come from any gadget that’s able to connecting to and transmitting knowledge over BLE. Murtishi might, for instance, create a smartphone app that strikes Mario round.

On this case, nevertheless, Murtishi selected to make use of a Logitech F310 gamepad paired with an M2 MacBook Air. A easy Python script reads the enter from the gamepad after which transmits it over BLE to the HM-10. Now we have to imagine that Murtishi did that as a result of he didn’t have a gamepad readily available with suitable BLE functionality.

Murtishi experiences that his BLE interface works, however with noticeable lag. It has a latency of round 60ms and Murtishi attributes that to the poorly made HM-10 module. He believes {that a} new HM-10 module would clear up the issue.

Latest news
Related news

LEAVE A REPLY

Please enter your comment!
Please enter your name here