Introduction
Je rêve depuis longtemps de pouvoir utiliser un clavier CPC464 (pour la couleur des touches et la nostalgie) en USB.
Je ne suis pas le seul à avoir eu cette envie. The Retro Stuff Guy en a même fait une vidéo.
Il utilise le kit de conversion de Tynemouth Software qui n’existe malheureusement plus et qui en plus n’était compatible qu’avec un clavier à membrane. Le CPC dont je peux récupérer le clavier est un clavier de la Revision 1. Plus solide (pas de membrane, mais un circuit imprimé) et en QWERTY.
.
Je me suis donc tourné vers une solution à base de Arduino Leonardo.
Matériel
Pourquoi l’Arduino Leonardo et pas un Uno plus compact ? Pour ces entrées/sorties. Le clavier a besoin de 19 connexions pour sa matrice.
.
Par exemple, en appuyant sur la touche k, les lignes 8 et 15 sont connectées. Au programme tournant sur l’Arduino de comprendre cela et d’envoyer l’appui de la touche k via l’USB.
L’autre raison d’utiliser un Arduino Leonardo, c’est que Mavalero a déjà fait tout le programme pour moi.
Le connecteur du clavier semble assez standard (2.54mm de séparation entre chaque pin, 20 pins) mais possède des détrompeurs. J’ai donc du trouver un adaptateur pour pouvoir connecter mes câbles. J’ai trouvé mon bonheur chez Reichelt via leur SPL 20.
.
Avec cet adaptateur, le reste du câblage devrait être beaucoup plus simple.
Après réception du dit adaptateur, il se fait qu’il ne « rentre » pas… Les pins du clavier sont trop fines et l’espacement est sensiblement plus petit…
Aux grands maux, les grands remèdes… Je couperai donc le câble original et fixerai des connecteurs Dupont des deux côtes (afin qu’il fonctionne encore sur la carte mère originale si un jour j’arrive à la refaire fonctionner).
On peut donc relier les fils vers l’Arduino selon l’exemple de Mavalero et la partie hardware est terminée.
.
Logiciel
Pour la partie software, je suis parti sur le code de alpinedelta que j’ai adapté au CPC.
Le code parle de lui même.
Conclusion
J’ai maintenant un clavier Amstrad qui fonctionne en USB et sans avoir réalisé quelque chose de définitif sur le CPC. Rien n’a été détruit. Super !
Mais est-ce qu’il n’y aurait pas moyen d’aller un peu plus loin ? Il reste encore plein de place dans le clavier… Est-ce qu’on ne pourrait pas faire un CPC Next avec un petit FPGA ?