1
Bonsoir,

Comme indiqué en titre, je cherche à connaître l'état de mes joysticks. En lisant le compendium, je comprend que je dois installer une routine adhoc dans une table de vecteurs retourné par Kbdvbase (Xbios 34), routine qui scannera un buffer d'évènements joysticks quand elle sera appelée.

C'est bien ça ? et est-ce qu'il y a plus simple "out of the box" (gemdos, bios ou xbios) ?

Update 15 fév 2018

J'ai testé avec succès l'exemple décrit ici http://www.atari-forum.com/viewtopic.php?t=2768
Je vais utiliser cet exemple comme base de travail.
2
J'ai jamais essayé, mais je comprends la même chose que toi en lisant la doc. Ça a l'air assez lourdingue juste pour lire l'état du joystick...

Y'a peut-être moyen de feinter, cependant : il y a apparemment une commande IKBD qui permet d'activer un mode où bouger le joystick fait la même chose qu'appuyer sur les touches curseur du clavier :
https://www.kernel.org/doc/html/v4.13/input/devices/atarikbd.html (4.8.20. SET JOYSTICK KEYCODE MODE)
Si j'ai bien compris, on envoie la commande avec la fonction XBIOS Ikbdws().

Ça plus une fonction de lecture de l'état du clavier, ça peut peut-être le faire. Ne pas oublier de désactiver ce mode quand tu quittes ton programme.
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo
3
L'inconvénient de ce mode "code touche" semble être que chaque événement "on" (feu ou direction) est suivi immédiatement de l’événement "off" correspondant, indépendamment de l'état réel du joystick.

Ça ne me dérange pas d'implémenter la routine, dans le sens où je me sens capable de le faire.

Merci.
4
Petit up, Je suis bientôt au bout de ma routine (j'ai un programme de test, ma routine s'installe, et j'obtiens 3 bombes dès que je touche au joystick émulé par le clavier - j'utilise Hatari -).

Dans l'intervalle, j'ai refais des recherches, je tombe sur 3 bouts de codes sur le sujet :


J'en retire que :
  • Il faut envoyer à IKBD la commande d'activation du joystick 0 (par défaut on serait en mode souris)
  • Contrairement à ce que laisse penser le compendium, quelque soit l'entête ($fe, $ff), il y a 2 octets de données (état j0, j1 respectivement). L'entête permettrait juste de sauter l'état qui n'a pas bougé

je pense que le mois prochain je vais me prendre un lot de 2 manettes usb sur l'âme à zone afin de me passer de l'émulation joystick, et voir un peu ce qu'il en est.
5
Au final, je vais me baser sur le code posté dans le 3ème lien, il y a moyen de préfixer le titre du topic d'un "[RESOLU]" ou quelquechose d'équivalent ?
6
C'est pas trop l'usage sur ce forum, t'en fais pas pour ça smile
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo