MSX Village forum

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

aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2694

Le 22/08/2022 à 18h54
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.


On est toujours ignorant avant de savoir.
Github    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10318

Le 22/08/2022 à 20h16
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 :)


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2694

Le 22/08/2022 à 21h34
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


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. :p

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


On est toujours ignorant avant de savoir.
Github    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10318

Le 23/08/2022 à 08h51
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

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 ?


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


:noel
Site web    
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5788

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



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2694

Le 23/08/2022 à 22h31
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


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


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.
Github    
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5788

Le 24/08/2022 à 08h52
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



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10318

Le 24/08/2022 à 14h11
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


:noel
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie