Il y a quelques années, un lecteur (Arnaud) avait réussi à contrôler le robot R.O.B. de Nintendo avec un émulateur de NES, un Power Mac G5 et un écran cathodique (j’en avais parlé sur Twitter). Il a fait la même chose avec un Macintosh.
Il avait filmé le robot sur YouTube (là et là). Le petit robot peut presser des boutons sur une manette ou effectuer des mouvements. Il n’y a que deux jeux compatibles : Gyromite et Stack-Up, qui nécessitent des accessoires précis. C’est globalement un accessoire inutile, mais amusant. Pour le fonctionnement, c’est à peu près la même chose que le Zapper : il y a un capteur photosensible dans les yeux, et il réagit aux flash à l’écran.
Plus récemment, Arnaud a décidé de s’amuser avec le robot et un Macintosh. Il a utilisé une petite documentation qui explique comment contrôler le robot et a codé un programme en C pour contrôler le robot depuis un Macintosh Classic. Il a fait une petite vidéo pour le montrer. Je trouve ça assez amusant de coupler un vieil accessoire comme le R.O.B. avec un Macintosh comme ça.
Un jour, je vous parlerais d’un accessoire de la NES qui est amusant, le Power Glove, car il existe un adaptateur pour le connecter à un Macintosh.



Salut ! C’est moi Arnaud ! Vraiment content que ma bidouille ait plu !
Pour un petit peu plus de détails sur le fonctionnement de R.O.B., il a besoin d’un écran cathodique pour fonctionner car il utilise le VBlank (le moment entre deux frames où le canon à électron remonte du bas de l’écran vers le haut, laissant l’écran noir quelques millisecondes) pour se synchroniser à la console et décoder la séquence de flashs. J’ai deux écrans cathodiques fonctionnels chez moi. Celui de mon G5, et celui du Macintosh Classic. Je n’avais pas de NES quand je me suis procuré R.O.B., c’est pour ça que j’ai tenté un peu à l’aveugle de le faire fonctionner avec mon G5. Puis je me suis dis que si un émulateur pouvait répliquer précisément les bons timing de la NES pour commander le robot, un programme tier pouvait certainement le faire aussi ! C’est ce qui m’a amené à le faire sur Macintosh Classic.
Actuellement avec la communauté Discord du Macintosh Garden on envisage de porter le programme sur Mac OS X. Il y a certainement d’autres systèmes qui peuvent potentiellement avoir un programme du genre, tout système qui permet d’envoyer des flash synchronisés sur le balayage de l’écran est en mesure de contrôler R.O.B. au final c’est facile à faire !
Bravo Arnaud,
Belle bidouille et belle prouesse technologique avec des objets de notre jeunesse.
C’est pas possible d’enregistrer les Flash en vidéo avec un téléphone pour les rejouer devant le Robot ?
Y a une question de timing, mais peut-être qu’en filmant à 60 images/s ça passe. En standard à 30 images/s, ça passe pas, c’est sur
@hle
Ce n’est pas possible. Comme je dis plus haut, R.O.B. utilise le VBlank de l’écran cathodique pour se synchroniser à l’écran (lire mon commentaire pour plus de précision).
Le balayage d’un écran cathodique est très rapide. En 60Hz l’entièreté de l’écran est balayée en 16.67 millisecondes. R.O.B., lui, a une fenêtre de détection de 1.5 millisecondes. Donc, il cherche à voir le flash et 1.5 millisecondes après il doit capter du noir, causé naturellement par le balayage de l’écran.
Sauf que sur un écran LCD ou OLED, il n’y a pas de balayage. L’image reste fixe sur l’écran. Et pour reproduire cet effet et clignoter en 1.5 secondes, il faudrait un écran montant à 666.67 Hz ! Ça n’existe pas dans le commerce.
Par contre, on peut le refaire avec un petit circuit et une LED, c’est ce qu’ils proposent sur la documentation jointe dans l’article, avec un circuit Adafruit !