J’ai la chance d’avoir dans mes tiroirs une manette NeGcon que j’avais achetée lorsque qu’avais ma PS1 pour jouer un premier opus de Gran Turismo.
Du temps a passé et je cherche à la connecter à ma borne d’arcade mais les adaptateurs PSX vers USB ne permettent pas de la faire fonctionner correctement.
Alors bien sûr, j’ai cherché si quelqu’un avait trouvé la solution et effectivement, il y a bien un montage que je vais documenter dans cet article qui permet de jouer avec sa NeGcon sur PS3, PC ou encore Raspberry !
Sources & credits :
- Interfacing a PS2 (PlayStation 2) Controller
- Repo Github
- Version corrigée : negcon-ps3-pad
- il faudra installer arduino IDE puis l’add-on Teensyduino
- puis ajouter la librairie Timer 2.1 (télécharger l’archive ZIP puis dans l’IDE Arduino faire :
Sketch > Include Library > Add .ZIP Library > sélectionner le fichier téléchargé > Open
Première étape, récupérer le matériel nécessaire : un connecteur femelle Playstation et un Teensy 3.1.
Ensuite, c’est parti pour le câblage :
Enfin, il faut programmer le Teensy 3.1. Assurez-vous de configurer votre carte en « Keyboard + Mouse + Joystick » si vous utilisez un modèle différent.
La vitesse d’horloge est configurée sur 96MHz par défaut mais le projet pourrait fonctionner à des vitesses inférieures.
Configuration
Après avoir compilé et chargé le firmware sur le Teensy avec le logiciel Teensyduino, il devrait apparaitre comme un « USB HID device » sur votre PC (DirectInput sur Windows, non testé sur Mac mais cela devrait fonctionner).
L’adaptateur a plusieurs modes qui sont définis dans negcon-ps3-pad.ino.
Les paramètres de chaque mode sont les suivants :
PS3 Mapping (true/false)
- Contrôle la compatibilité PS3.
Custom Inverse Deadzone (true/false)
Permet d’inverser la valeur courante de la zone morte de l’axe de torsion au démarrage. (Cela venait d’un ancien mode de paramétrage, il pourrait être peu pratique maintenant.)
Center Offset(-127 – 127)
Applique un décalage au point neutre des sorties NeGcon. Utilisé pour compenser la dérive sur du vieux matériel.
Inverse Deadzone (0-255)
Inverse la deadzone sur l’axe de torsion. Permet de diminuer la deadzone automatique de certains jeux afin d’avoir un meilleur contrôle.
TwistSensitivity (0.0 – infinity)
Multiplicateur appliqué sur l’axe de torsion NeGcon.
ButtonSensitivity (0.0 – infinity)
Multiplicateur appliqué sur la course des boutons du NeGcon.
Utilisation
On peut basculer entre ces modes lors du démarrage en maintenant Start et appuyant sur les directions du D-pad.
Par défaut, les paramètres sont les suivants :
Up
- PC
- PC (Custom Deadzone)
Right
- Ridge Racer 64 (Emulated)
- OutRun 2 (PC Version)
Left
- WipEout HD/Fury (PS3)
Down
- Menu Mode (désactive la torsion pour éviter la deadzone inversée d’affecter le menu)