Bah voilà !!!

Hop ! J’ai collé la gestion des lampes (pas mal optimisée… ) ainsi que la détection des switchs dans une interruption contrôlée (j’ai trop de bouncing, il faut que je corrige ça) par le timer1 de l’Arduino. ça fonctionne mais je ne suis pas certain d’avoir tout compris, je vais faire un autre timer histoire d’être certain d’avoir capté la chose…

En tout cas, si je ne me trompe pas, mon interruption doit être exécutée toutes les 40 millisecondes, parfait pour la persistance des lampes !

Cette partie fonctionne indépendamment, j’ai donc remis le minimum syndical en terme de gameplay …(affichage de certaines cibles, remontée des cibles, remise en jeu, …)

Par contre, quel …, j’ai oublié de câbler les switchs de la « boite » : bouton crédit, les pièces, les tilts, …

Le Pacman a la particularité de disposer d’une grille de 5×5 lampes (par 2, en jaune et rouge) en plein milieu, je me suis dit qu’il serait intéressant d’y afficher des lettres…

J’ai récupéré une police minimaliste en 5×5 que j’ai retranscris en C. J’ai, par la même occasion, utilisé le module pgmspace qui me permet de stocker ce tableau en ROM plutôt qu’en RAM (8Ko sur le Mega2560). c’est assez génial à utiliser (et puis après avoir codé sur Jaguar, ça se comprend très facilement  😀 ).

Ma routine ne fonctionne que dans le jaune mais ça pourrait être intéressant d’en faire une capable de contrôler en même temps la matrice jaune et la matrice rouge, ça nous fait du 4 couleurs : noir, rouge, jaune et orange … tiens un mode graphique 2 bit en 5×5 !

Bon, mon câblage n’est pas optimal, du coup j’ai la police mais inversée…j’ai plus qu’à faire un reverse-nibble pour corriger ça (ou alors inverser 4 fils…et revoir un peu le code…) :

K...inversé !

J’ai aussi repéré des faux contacts au niveaux de connecteurs de la carte A5 (la carte d’entrée du circuit des lampes) qu’il va falloir démonter et refaire…

ça commence à être pas mal du tout !!! \o/