Convertisseur de clavier Commodore 64 en USB pour utilisation avec VICE et MISTer


Les émulateurs logiciels comme VICE et la réimplémentation matérielle (FPGA) comme MISTer émulent l’ordinateur Commodore 64. Ils font tous deux un travail fantastique pour reproduire le comportement du matériel de bas niveau. Cependant, un aspect qu’aucune des deux solutions ne parvient à émuler de manière idéale est le clavier physique. Le Commodore 64 n’utilisait pas de clavier compatible ASCII. De plus, il contient de nombreuses touches spécifiques au Commodore. (Les symboles spéciaux sont appelés “PETSCII”.) Il est donc formidable de voir le YouTubeur Rumbledethumps adapter un Clavier Commodore 64 en USB avec un Pi Pico – et de prendre en charge les deux options d’émulation !

Le Commodore VIC-20 et le C64 ont la même disposition de clavier et la même interface. La plupart des touches se trouvent sur une matrice. La seule touche séparée est la touche RESTORE, qui est connectée à une minuterie à un coup pour fournir une impulsion de réinitialisation correctement synchronisée. En balayant la matrice du clavier, vous pouvez voir quelles touches sont enfoncées et agir en conséquence.

Aujourd’hui, les claviers contiennent un microcontrôleur dédié et parlent ensuite à l’ordinateur via USB (ou Bluetooth.) Mais à l’époque des ordinateurs 8 bits, le clavier était connecté à un contrôleur quelconque sur la carte logique. Par exemple, un “encodeur de clavier” dédié scannait la matrice dans la série Apple II. Cet encodeur était un microprocesseur 6502 avec ROM masquée ! Alternativement, le clavier du C64 s’interface avec un contrôleur périphérique 6522, s’appuyant sur le CPU pour scanner la matrice.

Puisque le clavier n’est “qu’une” matrice, il est relativement facile de l’interfacer avec un microcontrôleur moderne. Dans le cas du C64, le clavier dispose d’un connecteur header-socket de 2,54 mm. Il est donc facile de connecter le clavier autonome aux broches GPIO d’un Pi Pico – ce qui est ce que Rumbledethumps CBM2USB fait !

La véritable astuce de ce projet est de savoir quoi faire avec les signaux décodés du clavier. La CBM2USB a trois modes de fonctionnement : ASCII, VICE, et MISTER. VICE et MISTer Les claviers USB d’un PC sont légèrement différents les uns des autres, vous devez donc utiliser des cartes légèrement différentes. De plus, chacun a des combinaisons de “touches de raccourci” différentes pour effectuer des actions dans l’émulateur. Le mode ASCII est utile pour les ordinateurs qui acceptent les entrées ASCII.

Un tel exemple est celui de Rumbledethumps. Picocomputer. C’est un ordinateur basé sur 6502 qui utilise des Pi Picos pour l’alimentation, l’horloge, la vidéo, l’audio, le WiFi et l’USB. Le mode ASCII fonctionne avec lui. Il y a donc un Pi Pico pour transformer le clavier du C64 en périphérique USB. Et puis un autre Pi Pico pour retransformer le clavier USB en ASCII !

Vous pouvez trouver des STLs imprimables en 3D pour les supports de clavier et des exemples de code dans le site Web de la Commission européenne. Dépôt CBM2USB. Rumbledethumps a également fourni des exemples détaillés du code C du Pi Pico qui aboutissent au code final.





Article anglais original

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *