Making significa anche analizzare e capire le differenze tra le tecnologie moderne e quelle di qualche anno fa. Sì, perché ai miei tempi, quando volevamo giocare dovevamo sederci a meno di due metri dalla TV, perché quello era il punto in cui i cavi del controller potevano al massimo arrivare. Nel caso di console giapponesi come il Famicom, i fili dei controller erano talmente corti da rendere impossibile qualsiasi tentativo di giocare da divano.
Il passaggio ai controller wireless è stato senza dubbio il progresso più pratico del 21° secolo. Ciò ha permesso di sederci molto lontani dalla console e goderci i nostri enormi televisori da 30 pollici -e oltre- da una comoda distanza. Se torni indietro e provi a giocare a qualche titolo retrò su hardware reale, ti renderai presto conto di quanto sia importante tutto questo a livello di comodità. Per risolvere la situazione, Zachary Murtishi ha utilizzato pezzi di ricambio che aveva sparsi qua e là per aggiungere un’interfaccia controller BLE a un Famicom AV (una versione aggiornata del Nintendo NES – NDR).
Sul mercato esistono già ricevitori Bluetooth / BLE (Bluetooth Low Energy) compatibili con il Famicom AV e i controller moderni: non sono nemmeno molto costosi. Quindi, il progetto di Murtishi è stato realizzato principalmente per divertimento. Ma è comunque notevole il risultato che è riuscito a ottenere utilizzando i pezzi di ricambio che aveva già.
Come la maggior parte delle console rilasciate prima dei controller wireless, il NES ha un modo molto semplice di leggere la pressione dei pulsanti. Il controller contiene un registro a scorrimento a 8 bit, in cui ciascun bit rappresenta lo stato di un pulsante specifico. Ecco perché il controller NES ha otto pulsanti (compresi ciascuno dei quattro sul D-pad). I pin sulla porta del controller consentono semplicemente alla CPU del NES (un derivato dell’onnipresente 6502) di leggere dal registro a scorrimento in modo che possa reagire alla pressione dei tasti.
L’interfaccia BLE di Murtishi replica esattamente lo stesso principio di funzionamento, quindi il NES pensa che stia leggendo il registro a scorrimento di un normale controller. Ma, in realtà, un microcontrollore PIC18LF2420 imposta quei bit in base ai dati che riceve da un modulo BLE HM-10. In teoria, tali dati possono provenire da qualsiasi dispositivo in grado di connettersi e trasmettere dati tramite BLE. Murtishi potrebbe, ad esempio, creare un’app per smartphone che muova Mario.
In questo caso, però, Murtishi ha scelto di utilizzare un gamepad Logitech F310 abbinato ad un MacBook Air M2. Un semplice script Python legge l’input dal gamepad e quindi lo trasmette tramite BLE all’HM-10. Possiamo supporre che lo abbia fatto perché non aveva a portata di mano un gamepad con funzionalità BLE compatibile.
Secondo quanto affermato dal nostro amico maker, l’interfaccia BLE funziona, ma con notevole ritardo (input lag). Il sistema, infatti, ha una latenza di circa 60 ms e Murtishi ne attribuisce la causa al modulo HM-10 di scarsa qualità. Secondo lui, un nuovo modulo HM-10 risolverebbe il problema. A onor del vero andrebbero fatte considerazioni più approfondite riguardo l’intera catena che dal controller va al modulo bluetooth, da qui alla console e poi alla TV attraverso il cavo. L’input-lag è dato da una somma di fattori, mai da un elemento singolo.
Se volete cimentarvi nell’impresa, potete guardare la pagina del progetto.
Iscriviti ai nostri gruppi Telegram
Link utili