Atari Eiffel avec ports joystick : version fonctionnelle

Cela fait déjà une quinzaine de jours que j’ai reçu le PCB prototype de la version de l’adaptateur Atari PS/2 Eiffel avec ports joysticks. J’en ai profité pour corriger quelques erreurs (bénignes) de conception pour la prochaine version du PCB, mais j’étais confronté à un problème : le bouton de tir du joystick ne fonctionnait pas.

En tout cas c’est ce que j’ai constaté en utilisant Mouse and Joystick Tester, un logiciel de test de souris et joystick sous GEM, développé par Ppera et disponible sur les forum Atari : https://www.atari-forum.com/viewtopic.php?t=15942 et sur son site : https://atari.8bitchip.info/astopensw.php ainsi que dans le jeu Falcon de Spectrum Holobyte.

Logiciel Atari Mouse and Joystick Tester
Mouse and Joystick Tester par Ppera

Autant les mouvements du joystick 0 et du joystick 1 ainsi que les mouvements et clics de la souris étaient détectés, autant le bouton de tir ne semblait pas être pris en compte. Pourtant j’étais sûr à la fois de mon joystick (le modèle Atari CX40 fourni avec la 2600, oui je sais…) et de l’Atari Mega ST4 qui me sert de machine de test car tout fonctionnait avec le clavier original, la souris Atari et le joystick branché dessus.

J’ai alors comparé les schémas d’origine avec les miens et le PCB à plusieurs reprises, normalement tout aurait dû fonctionner. J’ai même recréé le circuit sur une carte de prototypage juste pour vérifier le bouton de tir du joystick : même résultat ! J’ai aussi vérifié que le PIC recevait bien l’information du bouton appuyé et traduisait l’ordre vers l’Atari à l’aide d’un oscilloscope. Et c’était le cas, le PIC semblait bien recevoir la pression du bouton, et transmettait une trame à l’Atari. L’origine du dysfonctionnement était tout simplement incompréhensible !

J’étais alors prêt à contacter le créateur de l’adaptateur Eiffel, Didier Méquignon http://didier.mequignon.free.fr/ pensant que peut-être le firmware du PIC était buggé pour la partie bouton de tir du joystick…

En faisant des recherches sur IKBD (le protocole de communication des claviers et joysticks Atari) que l’adaptateur Eiffel émule, je me suis aperçu qu’il existe plusieurs modes de prise en charge des joysticks, et que selon la doc de Didier, le mode IKBD_SET_FIRE_BUTTON_MONITOR n’est pas pris en charge par l’Eiffel. Donc un premier indice que peut-être le joystick n’est pas parfaitement émulé par l’Eiffel.

Puis j’ai réalisé que je n’avais testé la fonction joystick qu’à travers deux logiciels : Mouse and Joystick Tester et le jeu Falcon. Et si ces logiciels utilisent justement ce mode incompatible ?

J’ai alors testé le PCB avec plusieurs jeux (Robotron, Star Raiders, etc.), ce que j’aurais dû faire depuis longtemps et… le joystick fonctionne parfaitement depuis le début ! En revanche pour d’autres jeux le joystick n’est pas pris en charge.

J’ajouterai donc un avertissement à la vente du PCB :

Attention : la fonction Joystick de l’adaptateur Eiffel ne semble pas fonctionner avec tous les jeux !
Sauf  exception, les fonctions clavier et souris, elles, fonctionnent dans les jeux.

La nouvelle version du PCB

La nouvelle version du PCB a été mise en production, donc la disponibilité de l’adaptateur Eiffel ne va plus tarder.