L'atelier Fabriquer son gamepad ou comment se lancer dans un projet pas trop ambitieux

En voyant le très sympathique projet ArrowPAD sur MRC, ça m'a redonner envie de m'essayer à l'électronique, domaine où, disons-le, je suis vraiment nul. 
Y a quelques années j'avais converti une manette NES en MSX en suivant un tuto mais sans vraiment comprendre ce que je faisais.
Là, j'aimerai créer un gamepad de zéro !
Ça doit faire doucement rigoler les pro du fer à souder, mais ça me semble déjà un gros défi.
Il va déjà falloir que je comprenne la base : Dite-moi si je me trompe, mais en gros l'électricité arrivé du MSX vers la manette par une broche et ressort part certaines autres broches en fonction des boutons/directions appuyés ?
PS : Je ne cherche pas des schémas tout fait mais à comprendre la théorie pour pouvoir créer le pad de A à Z.

Y a quelques années j'avais converti une manette NES en MSX en suivant un tuto mais sans vraiment comprendre ce que je faisais.
Là, j'aimerai créer un gamepad de zéro !
Ça doit faire doucement rigoler les pro du fer à souder, mais ça me semble déjà un gros défi.

Il va déjà falloir que je comprenne la base : Dite-moi si je me trompe, mais en gros l'électricité arrivé du MSX vers la manette par une broche et ressort part certaines autres broches en fonction des boutons/directions appuyés ?
PS : Je ne cherche pas des schémas tout fait mais à comprendre la théorie pour pouvoir créer le pad de A à Z.
On est toujours ignorant avant de savoir.
aoineko :
Dite-moi si je me trompe, mais en gros l'électricité arrivé du MSX vers la manette par une broche et ressort part certaines autres broches en fonction des boutons/directions appuyés ?
c'est exactement ça
le signal arrive de la broche 8 de la manette et est redistribué sur les broches 1 2 3 4 pour les directions et 6 et 7 pour les boutons
mais au niveau des entrées sur le PSG il y a un aiguillage pour gérer les 2 manettes car il n'y a qu'une seule entrée pour chaque signal
un pad c'est juste des boutons et une prise DB9


Jipe :
c'est exactement ça
le signal arrive de la broche 8 de la manette et est redistribué sur les broches 1 2 3 4 pour les directions et 6 et 7 pour les boutons
le signal arrive de la broche 8 de la manette et est redistribué sur les broches 1 2 3 4 pour les directions et 6 et 7 pour les boutons
Quand l'électricité passe, le bit correspondant du registre 14 du PSG est à 0 ou à 1 ?
Il me semble qu'au repos, le joystick renvoie tous ces bits à 1 donc j'imagine que c'est quand l'électricité ne passe pas et que quand on appuis sur un bouton, l'électricité passe et que le bit passe à 0.
Je suppute bien ?
Jipe :
mais au niveau des entrées sur le PSG il y a un aiguillage pour gérer les 2 manettes car il n'y a qu'une seule entrée pour chaque signal
Rien à faire au niveau de la manette ?
Jipe :
un pad c'est juste des boutons et une prise DB9 

Ne dénigre donc pas ce projet ultra-ambitieux.

Juste pour savoir, y a moyen d'abîmer le MSX en faisant n'import quoi ?

On est toujours ignorant avant de savoir.
je vais juste parler du fonctionnement pour les manettes a partir du schéma du VG8020
le PSG YM2149 possède 2 ports entrées/sorties de 8 bits I/O A et I/O B
le port I/O A est programmé en entrée et correspond au registre 14
il reçoit dans l'ordre
bit 0 haut
bit 1 bas
bit 2 gauche
bit 3 droit
bit 4 bouton 1
bit 5 bouton 2
le port I/O B est programmé en sortie
bit 4 sert pour la broche 8 de la manette 1
bit 5 sert pour la broche 8 de la manette 2
bit 6 sert de sélection pour la manette 1 ou 2
l'ensemble des broches 1 2 3 4 6 et 7 sont maintenues a une valeur de +5V au travers d'une résistance de 10K donc ils sont bien a 1
la broche 8 doit donc être a 0v pour activer les différents signaux d'entrée
a part shunter les broches 5 et 9 ( +5v et GND ) le MSX ne doit pas souffrir
le mieux pour une manette simple c'est de ne pas les câbler
après pour faire un tir automatique c'est plus complexe
le PSG YM2149 possède 2 ports entrées/sorties de 8 bits I/O A et I/O B
le port I/O A est programmé en entrée et correspond au registre 14
il reçoit dans l'ordre
bit 0 haut
bit 1 bas
bit 2 gauche
bit 3 droit
bit 4 bouton 1
bit 5 bouton 2
le port I/O B est programmé en sortie
bit 4 sert pour la broche 8 de la manette 1
bit 5 sert pour la broche 8 de la manette 2
bit 6 sert de sélection pour la manette 1 ou 2
aoineko :
Il me semble qu'au repos, le joystick renvoie tous ces bits à 1 donc j'imagine que c'est quand l'électricité ne passe pas et que quand on appuis sur un bouton, l'électricité passe et que le bit passe à 0.
Je suppute bien ?
Je suppute bien ?
l'ensemble des broches 1 2 3 4 6 et 7 sont maintenues a une valeur de +5V au travers d'une résistance de 10K donc ils sont bien a 1
la broche 8 doit donc être a 0v pour activer les différents signaux d'entrée
Citation :
Juste pour savoir, y a moyen d'abîmer le MSX en faisant n'importe quoi ?
a part shunter les broches 5 et 9 ( +5v et GND ) le MSX ne doit pas souffrir

le mieux pour une manette simple c'est de ne pas les câbler

après pour faire un tir automatique c'est plus complexe

Allez je vais mettre mon grain de sel 
Une manette ou y'a plus qu'à mettre et branché les boutons, ça doit bien exister en fichiers pour imprimante 3D?
Si oui qqun ici saurait il mettre ça en œuvre
Edité par
TurboSEB
Le 23/08/2022 à 13h53

Une manette ou y'a plus qu'à mettre et branché les boutons, ça doit bien exister en fichiers pour imprimante 3D?

Si oui qqun ici saurait il mettre ça en œuvre


MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)






Jipe :
je vais juste parler du fonctionnement pour les manettes a partir du schéma du VG8020
le PSG YM2149 possède 2 ports entrées/sorties de 8 bits I/O A et I/O B
le port I/O A est programmé en entrée et correspond au registre 14
il reçoit dans l'ordre
bit 0 haut
bit 1 bas
bit 2 gauche
bit 3 droit
bit 4 bouton 1
bit 5 bouton 2
le port I/O B est programmé en sortie
bit 4 sert pour la broche 8 de la manette 1
bit 5 sert pour la broche 8 de la manette 2
bit 6 sert de sélection pour la manette 1 ou 2
le PSG YM2149 possède 2 ports entrées/sorties de 8 bits I/O A et I/O B
le port I/O A est programmé en entrée et correspond au registre 14
il reçoit dans l'ordre
bit 0 haut
bit 1 bas
bit 2 gauche
bit 3 droit
bit 4 bouton 1
bit 5 bouton 2
le port I/O B est programmé en sortie
bit 4 sert pour la broche 8 de la manette 1
bit 5 sert pour la broche 8 de la manette 2
bit 6 sert de sélection pour la manette 1 ou 2
Ok, jusqu'à l'écriture dans les ports, je comprends.

D'un point de vue électrique, quel effet ont les ports A et B ?
Quand on écrit dans le registre 15, les bits à 1 envoient du +5V dans les broches correspondantes ?
Sauf à priori le bit 6 qui sert à dire vers quel port est envoyés l'électricité ?
D'ailleurs, ça semble pas utilisé sur une manette classique, mais en plus de la broche 8, on peut apparemment "activer" aussi les broches 6 et 7 via le registre 15.
Pour un joystick de base, on a besoin de faire quelque chose quand la broche 8 est activé ?
Si j'ai bien compris, c'est ce qui est utilisé pour la souris pour récupérer les différents données.
Jipe :
l'ensemble des broches 1 2 3 4 6 et 7 sont maintenues a une valeur de +5V au travers d'une résistance de 10K donc ils sont bien a 1
la broche 8 doit donc être a 0v pour activer les différents signaux d'entrée
la broche 8 doit donc être a 0v pour activer les différents signaux d'entrée
Je ne comprends pas ce que ça veut dire, mais j'imagine qu'il faut que je lise d'abord L'électronique pour les nuls.

Jipe :
a part shunter les broches 5 et 9 ( +5v et GND ) le MSX ne doit pas souffrir 

Pareil, j'ai pas compris; mais je retiens qu'il faut faire attention.
On est toujours ignorant avant de savoir.

Pour la dernière remarque, ne pas faire de court-circuit sur les broches 5 et 9 du port manette (ne jamais les mettre en contact directement)
, sinon destruction du CI qui gère les ports manettes
Edité par
TurboSEB
Le 24/08/2022 à 08h54
, sinon destruction du CI qui gère les ports manettes


MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)





si on parle uniquement de programmation pure du PSG les ports d'entrées sorties I/O A et I/O B sont définis ainsi :
le port A est en entrée et port B en sortie
c'est le registre 7 qui détermine le sens de ces ports
Bit 7 à 1
Bit 6 à 0
si on change l'état de ces bits on peut avoir des problèmes surtout que le PSG est souvent intégré dans la puce système
après je peux mieux expliquer à partir d'un schéma
shunter le +5V et le GND risque surtout de cramer le régulateur de l'alim 5V
les boutons A et B peuvent être mis à 1 ou 0 par le port B mais ce n'est pas utilisé pour une manette
en fait il n'y a qu'une seule entrée physique pour les manettes sur le PSG
ce sont deux puces qui servent d'aiguillage entre la manette 1 et la 2
c'est aiguillage est activé par le bit 6 du port B
le port A est en entrée et port B en sortie
c'est le registre 7 qui détermine le sens de ces ports
Bit 7 à 1
Bit 6 à 0
si on change l'état de ces bits on peut avoir des problèmes surtout que le PSG est souvent intégré dans la puce système
après je peux mieux expliquer à partir d'un schéma

shunter le +5V et le GND risque surtout de cramer le régulateur de l'alim 5V

les boutons A et B peuvent être mis à 1 ou 0 par le port B mais ce n'est pas utilisé pour une manette
en fait il n'y a qu'une seule entrée physique pour les manettes sur le PSG
ce sont deux puces qui servent d'aiguillage entre la manette 1 et la 2
c'est aiguillage est activé par le bit 6 du port B
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie