Ayant maintenant quelque chose de stable et parfaitement jouable, je vais regrouper dans ce topic tout ce qui concerne le câblage, l'installation et l'utilisation du FFB Controller d'Aganyte dans une borne disposant d'une driveboard SEGA sortant en RS422/RS485 (ou d'une driveboard SEGA Midi) et d'un panel MODEL 3.
Mais sinon, le FFB Controller c'est quoi ?
Il s'agit d'un véritable couteau suisse de la Racecab, développé par Aganyte du forum Gamoover, avec pour objectifs :
- De pouvoir croiser les driveboards et les jeux (ce qui permet par exemple de brancher un jeu Namco dans une racecab SEGA)
- De pouvoir interfacer un PC (avec tous plein de jeux piratés dessus) dans une racecab SEGA. C'est cette partie qui va nous intéresser dans ce topic.
Avant de débuter la procédure pour interfacer un PC, je tiens à remercier encore une fois, et sincèrement, Aganyte, NJZ3 et Dvseb pour le boulot abattu et toute l'aide qu'ils m'ont apporté depuis le mois de juin. Ils m'ont toujours répondu, aiguillé, et aidé malgré ma relative newberie dans le domaine de la racecab. Vraiment merci les mecs.
Je précise également que je mettrai ce post à jour au fur et à mesure. Expliquer la mise en place Hardware et Software est un boulot de longue haleine^^'.
Et dernière chose, je ne suis pas responsable de tout dommage qui pourrait arriver à votre matos, ou à votre personne pendant vos bricolages
Tout d'abord, voici ma config globale, le but ici étant de brancher un PC dans une Racecab possédant un panel SEGA Model 3.
- Borne Scudrace Single, provenant d'une twin à la base. La belle une fois arrivée chez moi et avant nettoyage complet et insertion d'un écran HD :
- Driveboard SEGA Lindbergh Référence 838-14592 (Lindbergh, Ringedge, Ringwide, Europa R), qui envoient les signaux au format RS422/RS485
A noter que la driveboard midi référence 838-14174 (pour Naomi 2, Triforce, Chihiro) est également compatible.
- Comme je prévois de jouer à du jeu "ancien" comme récent, un écran HD incurvé : Philips 325E1C (le même que njz3 dans sa scudrace, cet écran possède des dimensions nickel pour être installé sans devoir toucher au bezel de la cab)
- Un bras articulé, comme njz3, afin de fixer l'écran HD
- Le FFB Controller d'Aganyte, avec programme "FFBtoPC" chargé dessus
Le FFB Controller se présente comme ceci :
Il s'agit en fait d'un Arduino MEGA 2650, surmonté d'une PCB développée et conçue par Aganyte.
- Un PC. Voici les specs du miens :
#Dell Optiplex 790
#I7 2700 de 2011
#GPU Nvidia 1030 2gb low profile (je choisis exprès une nividia pour pouvoir jouer sous Teknoparrot sans souci)
#12 Go de ram
#SSD de 250 go
Avec cette config, je peux jouer aux jeux model 2, 3 et Mame (sous émulations) et aux jeux arcade lancés sous Teknoparrot. Pour de la simu récente genre Dirt, une telle config ne suit pas, il faut je pense une config assez costaude et récente, le processeur étant la clé de voute majeure.
- Le soft VJOY de njz3, qui sera nécessaire pour :
#Que le PC reconnaisse le volant, les pédales, le levier de vitesse et les boutons de la borne comme un périphérique windows ;
#La transmission des ordres de force feedback entre le PC et la Driveboard, et pour aussi régler les paramètres du force feedback.
Voici le tout en train de tourner :
Pour arriver à ce résultat, y a du taf ! Allons y.
Voici comment câbler le FFB Controller entre votre borne et votre PC.
Quelques précisions :
- Les boutons Left, Right, Select, et bouton 4 peuvent servir à tout ce que vous voulez (Haut, Bas, Gauche, Droite, Start, Crédit, etc...). L'assignation des boutons se configure par la suite dans le soft de Njz3. Perso j'ai mis sur ces pins les boutons VR de ma borne).
- Masses et voltages des pédales ("AVCC" et "AGND" pour les signaux Accel, Brake, Clutch) : Vous pouvez soit vous repiquer sur les pins "-" (Masse) et "+" (5V) du branchement du volant, ou alors vous repiquer sur l'arduino MEGA sur lequel est branché le FFB Controller (voir ci-dessous sur les branchements du MEGA)
- Le FFB Controller sera alimenté directement par l'USB de votre PC, pas besoin d'alimentation externe. Il faut juste faire attention à avoir un cpable USB bien blindé pour limiter les pertes
- Branchement de la Driveboard 838-14592 RS422/RS485 :
#Bien respecter le sens des jumpers sur le FFB Controller
#Il faut intercaler un convertisseur RS422/RS485 ->RS232. On en trouve facilement sur le net, voici le miens :
Et ce que ça donne une fois relié à la Driveboard et au FFB Controller :
Attention à bien respecter le câblage du schéma avec les croisements de signaux, et attention aussi au câblage de votre convertisseur : Le miens avait une erreur de labellisation qui m'a fait m'arracher les cheveux pendant plusieurs jours >:D
Vous noterez, au passage, que pour plus de facilité dans les branchements on peut utiliser du câblage Dupont. Très pratique et pas onéreux.
- Branchement dans le cas d'une Driveboard 838-14174 Midi :
Voici un visuel du branchement pour cette driveboard (crédit melou6) :
Cette fois pas besoin de convertisseur, la driveboard se branche directement sur l'entrée MIDI A du FFB Controller. Il y aura les jumpers à régler correctement pour TXA et RXA, en les mettant en position 1-2.
Encore une chose, si cela n'est pas fait sur votre Driveboard, vous pouvez faire un pont de terre comme ceci :
L'arduino va servir, au besoin, à récupérer du 5V et la Masse. Dans mon cas, cela m'a servi pour les pédales. A noter que du 5V se trouve aussi sur les pins 20 et 21, et la masse se trouve aussi sur les pins 54 et 55 du MEGA.
Ensuite, le code d'Aganyte prévoit que les pins 48 à 53 servent pour tout ce qui peut être nécessaire en boutons complémentaires. Dans mon cas, ces pins m'ont servi pour repiquer les signaux START, SHIFT 0, SHIFT 1 et SHIFT 2, du levier de vitesse :
Apparté : Un levier de 4 vitesse SEGA possède 4 signaux : SHIFT 0, SHIFT 1, SHIFT 2 et Masse.
Beuh, bizarre non pour un levier 4 vitesses ?
Pour ceux qui ne savent pas, le fonctionnement de ce levier de vitesse se fait par des combinaisons entre les 3 microswitchs du levier de vitesse. Le jeu original reconnait ensuite les combinaisons et à quelles vitesses cela correspond.
Exemple pour comprendre :
#Switch 1 = Gear 1
#Switch 2 = Gear 2
#Switch 3+ switch 1 = Gear 3
#Switch 3+ switch 2 = Gear 4
Dans le cas du FFB Controller, on branche donc les 3 signaux des microswitchs et la masse et ce sera, ensuite et comme on le verra plus tard, une configuration à faire dans le soft de Njz3, afin d'avoir bien 4 vitesses de reconnues dans les jeux.
Après le détail du FFB Controller, voici des exemples sur comment relier votre borne model 3 à votre PC, en passant par le FFB Controller.
Comme j'utilise une borne Scudrace, autant expliquer comment j'ai câblé <:). Je me suis servi du câblage d'origine de la borne, en partant tout d'abord des wiring diagrams trouvés par Njz3 :
SCUDRACE SCHEME 1
SCUDRACE SCHEME 2
Et, en me servant toujours de câblage Dupont, je relie tout en partant des connecteurs "CN" de scudrace (quand on regarde le schéma de câblage de scudrace, il s'agit des connecteurs qui vont normalement sur le stack).
On peut en retirer le schéma synthétique de câblage suivant (N.B. : sur une borne scudrace, le AVCC et AGND de l'accélarateur et du frein sont communs, d'où le câblage ci-dessous pour ces 2 pédales) :
C'est un travail de fourmi, autant tout labelliser au fur et à mesure sur les connecteurs de la borne :
Et le joyeux bordel qui en découle ;D :
Dans cet exemple, un JVS Hack est intercalé, cela pourra intéresser pas mal de monde dans cette configuration, quand on une borne Naomi, Initial D, ou que sais-je encore qui utilise le standard JVS. Gardez bien à l'esprit que c'est un exemple, il y a des choses fixes comme le câblage de la driveboard ou encore du volant et des pédales, mais les boutons VR ou autre, libre à vous de câbler comme bon vous semble sur le FFB Controller.
(Cliquer pour agrandir)
On va maintenant injecter dans le FFB Controller le code nécessaire pour faire communiquer la borne et le PC.
Tout d'abord, récupérer le firmware sur le topic d'Aganyte : https://www.gamoover.net/Forums/index.php?topic=42310.0
L'archive est composée comme suit :
Ouvrir le fichier "Lisez moi", et il ne vous restera plus qu'à suivre les instructions :
Précisions :
#On trouve le numéro de port COM du matériel dans le gestionnaire de périphériques. C'est un peu chiant à trouver sous win10, il faut aller dans les paramètres windows, puis périphériques, puis périphériques et imprimantes. Si votre FFB Controller est branché, vous le verrez dans le listing, avec son port COM associé (exemple "COM 6").
#Le programme a flasher (exécuter "Flash.Bat") est le suivant pour notre utilisation :
Je vous invite tout d'abord à consulter le topic de Njz3 pour récupérer le soft et voir tous les détails le concernant : https://www.gamoover.net/Forums/index.php?topic=42477.0
Je me contenterai ici de résumer l'installation et la mise en route du soft, en précisant comment assigner les contrôles, faire les réglages de base et je préciserai également mes réglages perso.
Voici les différentes étapes pour préparer VJOY :
# Installer "vJoySetup 2.2.0 signed.exe".
#Lancer ensuite "setup.exe", avec installation par défaut.
#Configurer vJoy via l'outil "Configure vJoy" (disponible dans le menu démarrer) et paramétrer de la façon suivante :
Si vous laissez d'autres choses que X, Y et Z, cochées dans la liste de gauche, vous aurez (comme j'ai eu^^') des soucis pour configurer les contrôles dans vos émulateurs.
Une fois fait, fermer Vjoy conf.
Ouvrir "VjoyIOfeeder" (dispo dans le menu démarrer de votre PC).
Cliquer sur "App. and hardware" :
Sur la fenêtre qui s’ouvre, cliquer si nécessaire sur la barre verte en dessous de "Manager status" pour stopper un éventuel processus en cours, puis choisir "PWM Centered" dans la liste "Target Hardware", cocher la case "Digital PWM", et cliquer à nouveau sur la barre, cette fois rouge, sous "Manager status", afin de redémarrer le processus de synchronisation entre le soft vjoy, le FFB Controller, et votre borne.
Si votre borne et votre PC sont allumés, que votre câblage est fait et que le FFB Controller est opérationnel et branché au PC, voici ce qui doit alors se passer :
Ce test de rotation du volant vous informera que tout est ok, et que votre panel MODEL 3 est reconnu désormais comme périphérique windows.
Selon la version du code utilisé, vous pourrez aussi avoir ceci :
Après avoir tourné à droite, le volant va donner un coup à gauche, vous laissant par la suite une fenêtre d'environ 5 secondes pour centrer vous-même, à la main, votre volant.
Si l'initialisation ne se produit pas :
# Bien vérifier le câblage entre votre Driveboard, le convertisseur RS422-RS232 et le FFB Controller. Une erreur est vite arrivée.
# Vérifier que la Driveboard fonctionne et est bien alimentée en 100V (une led sur la driveboard doit clignoter).
# Changer le "baudrate" (dans mon cas avec le dernier code d'Aganyte, j'ai dû mettre le baudrate à 100000 au lieu de 115200).
#Tester avec un autre câble USB entre le FFB Controller et le PC, de préférence avec un blindage de qualité.
Si l'initialisation est OK : Vous devez aussi voir la vue des axes sur VjoyIOFeeder comme ceci (exemple de l'axe X) :
[b]Allez, on passe à la suite.
#Calibration du volant (Axe "X") :
La calibration du volant se fait en deux temps. Tout d'abord, retourner dans "App and Hardware", et cliquer sur "Calibrate Wheel" :
Une petite fenêtre s'ouvre, il suffit de suivre les instructions (tourner le volant à fond à gauche et cliquer sur Next, puis à fond à droite et cliquer sur Next, puis centrer le volant, et enfin valider).
Fermer la fenêtre "App and Hardware", puis sur la fenêtre principale Vjoy, dans la liste "Selected Axis" choisir l'axe X qui correspond à votre volant, et cliquer sur "Axis mapping editor" :
Sur la petite fenêtre ouverte avec le graph, cliquer sur "calibrate wheel", et suivre les instructions (les mêmes que précédemment). Une fois fait, vous aurez une jolie petite courbe comme ci-dessus.
#Calibration de l’accélérateur (Axe "Y") :
Cette fois, choisir l'axe Y dans "Selected axis", et cliquer sur "Calibrate pedal" quand vous êtes dans le "Axis mapping Editor". Le soft vous demandera d'appuyer à fond, puis relâcher. Et à la fin de la calibration, vous devriez avoir une courbe.
#Calibration du frein (Axe "Z") :
Choisir l'axe Z dans "Selected axis", et cliquer sur "Calibrate pedal" quand vous êtes dans le "Axis mapping Editor". Comme pour l'accélérateur, le soft vous demandera d'appuyer à fond, puis relâcher. Et à la fin de la calibration, on aura encore la petite courbe qui va bien.
Sur la fenêtre principale de Vjoy, cliquer sur "Tune FFB Effects".
Ce menu vous permet de paramétrer dans les moindres détails la puissance du retour de force ("Global gain"), le degré des effets ("Power law"), mais aussi moults paramètres pour lesquels je ne rentrerai pas dans les détails, libre à chacun de tripatouiller dedans et tester. Le "Trq deadband" correspond à une "zone morte", volant centré, au cas où en jeu le volant oscille de gauche à droite malgré que votre véhicule soit en ligne droite.
Les réglages de "Global gain", "Power law" et "Trq deadband" sur la capture ci-dessus sont les réglages que j'utilise suite aux échanges avec notre beta testeur divin DVSeb, qui m'a conseillé ces valeurs après des tonnes de tests de son côté, en comparant avec les vrais jeux. Ces réglages sont pour le moment optimaux et fonctionnent parfaitement chez pour tous les jeux/émulateurs auxquels je joue.
Sur la fenêtre principale de Vjoy, cliquer sur "Configure Buttons". La fenêtre suivante s'affiche :
Les "Raw inputs" correspondent aux signaux des boutons venant de votre borne et perçus par le FFB controller, les "Vjoy inputs" correspondent aux signaux des boutons vus par windows.
Petit exemple si j'appuie sur le VR1 de ma borne :
Dans cet exemple, et selon comment j'ai câblé, le bouton VR1 de ma borne est vu comme bouton 6 en raw input, et là j'ai de la chance, ce bouton est déjà configuré en "vjoy button", aussi sur le bouton 6.
Dans le cas où vos boutons ne sont pas reconnus en tant que boutons vjoy, il faut les assigner.
Exemple si on veut configurer le bouton 5 (crédits à njz3 pour la capture) :
- Dans la liste "raw inputs" en bas à gauche, sélectionner l'entrée 5
- Dans la liste "vJoy buttons", sélectionner la valeur 5 et cliquer "Add".
Il suffit alors de repérer chacun des boutons de la borne dans "raw inputs", et de les assigner en boutons "vojoy" à sa convenance.
Si par contre, on a un bouton qui dans le soft vjoy reste appuyé, ou est appuyé de temps à autres alors qu'on appuie sur rien du tout sur la borne, alors il faut supprimer ce bouton du listing vjoy afin d'éviter des conflits dans les réglages des contrôles des émulateurs. Si par exemple c'est le bouton 5 :
- Dans la liste "raw inputs" en bas à gauche, sélectionner l'entrée 5
- Dans la liste "vJoy buttons", sélectionner la valeur 5 et cliquer "Delete".
Le soft vjoy est capable de décoder les shifters en H de chez SEGA, voici comment ça se configure.
Il faut tout d'abord repérer à quels raw inputs correspondent sur le levier la vitesse 1, la vitesse 2, la vitesse 3 et la vitesse 4.
Dans mon cas, cela donne en Raw inputs :
- Shift 1 = Bouton 8
- Shift 2 = Bouton 7
- Shift 3 = Bouton 8 + bouton 10
- Shift 4 = Bouton 7 + bouton 10
Concrètement, cela signifie que :
- Le bouton 8 est perçu comme position "Haut" du shifter
- Le bouton 7 est perçu comme position "Bas" du shifter
- Le bouton 10 est perçu comme position "Droite" sur le shifter
Ce qui donne :
- Shift 1 = Bouton 8 (Haut)
- Shift 2 = Bouton 7 (Bas)
- Shift 3 = Bouton 8 + bouton 10 (Haut+Droite)
- Shift 4 = Bouton 7 + bouton 10 (Bas+Droite)
En assignant tout cela aux boutons vjoy, par exemple aux boutons 7, 8, 9 et 10, il faut :
- Supprimer les assignations vjoy des boutons 7, 8, et 9 (voir exemple précédent de la suppression d'un bouton vjoy).
- Assigner au bouton raw input 10 les boutons vjoy 7, 8, 9, et 10.
- Mettre le bouton 10 en position "Hshifter LEFT/RIGHT".
- Mettre le bouton 8 en position "HShifter UP"
- Mettre le bouton 7 en position "Hshifter DOWN".
- Mettre le bouton 9 en position "No".
Et voilà, le levier de vitesse est opérationnel sous windows, chaque vitesse reconnue comme un bouton à part entière.
Contrôles :
Les contrôles sont configurés directement dans l'interface de l'émulateur, pour chaque jeu. Pas de difficultés pour les boutons il suffit de cliquer sur le bouton à assigner, et appuyer sur le bouton désiré sur la borne.
Pour l'accélérateur :
- Cliquer sur "Accelerate"
- Sélectionner "vjoy device" dans "Analog device"
- Sélectionner "Axe Y" dans "Axis"
- Cocher "Invert"
- Et calibrer la pédale comme ci-dessous
Pour le frein :
- Cliquer sur "Brake"
- Sélectionner "vjoy device" dans "Analog device"
- Sélectionner "Axe Z" dans "Axis"
- Cocher "Invert"
- Et calibrer la pédale comme ci-dessous
Retour de force :
MODEL2 EMulator possède un plugin interne de retour de force. Si il n'est pas activé par défaut, ouvrir le fichier Emulator.ini avec le bloc-note et mettre la valeur de la ligne "EnableFF" sur "1" comme ceci :
Précision pour Sega Rally : pour que le ffb fonctionne correctement sur ce jeu, il faut cocher, dans le backforce Feeder et dans la fenêtre "tune ffb effects", la case "skip stop effects". Le "Skip Stop Effects" permet de ne pas interpréter les commandes "Stop effects" qui sont envoyées de manière périodique juste après une demande de couple dans l'émulateur model2 avec le jeu Sega Rally (ce qui fait trembler le volant en plein jeu, de façon inutile).
Contrôles :
Dans le cas de cet émulateur, les contrôles doivent être configurés à la main, dans le fichier supermodel.ini de Supermodel en respectant la syntaxe comme dans l'exemple ci-dessous (ne pas oublier de mettre "_NEG" pour les axes de l'accélérateur et du frein) :
Retour de force :
L'émulateur Supermodel propose, comme pour MODEL2 Emulator, un retour de force interne (ma foi excellent), qui est normalement actif par défaut. Il n'y a donc rien à faire de spécial, si ce n'est jouer et profiter .
Contrôles :
L'interface de Teknoparrot fait que les contrôles doivent être configurés pour chaque jeu. Voici comment cela se passe par exemple pour Initial D8 :
On clique sur la touche à configurer, on appuie sur le bouton/volant/pédale de sa borne, On sauvegarde, et voilà on est prêt à jouer...ou presque, il manque le retour de force >:D
Retour de force :
Teknoparrot ne propose plus, pour ses dernières révisions, de plugin interne de retour de force. On doit donc passer par un plugin externe, "Bloomslang Arcade FFB plugin" (merci à Bloomslang pour ce merveilleux outil).
Je vous invite à aller vers ce lien : http://www.emuline.org/topic/1321-arcad ... in/?page=5
Afin de récupérer ce plugin et pour comprendre comment l'utiliser et l'intégrer à vos jeux.
Après l'avoir installé dans le dossier de votre jeu, ouvrir le GUI (on reste sur l'exemple ici aussi de Initial D8) :
Choisir dans la barre "Device" votre périphérique "VJOY", ensuite décocher (ultra important sinon les jeux seront pour la plupart injouables) "Enable Rumble", et fermer le plugin.
Si en jeu le retour de force est trop puissant à votre goût, il suffit de revenir dans le plugin et de baisser le "Maximum Force".
Contrôles :
En jeu, appuyer sur TAB du clavier du PC pour accéder aux réglages des contrôles. Le volant est normalement reconnu par défaut, ensuite ce qui est chiant, ce sont les pédales.
Lorsqu'on règle par exemple l'accélérateur (=PEDAL ANALOG 1), il faut recommencer plusieurs fois jusqu'à ce que la valeur affichée soit "JOY1 Y AXIS -" ; il ne faut pas avoir "JOY 1 AXIS Y" ou "JOY1 AXIS Y+". Pareil pour l'accélérateur (=PEDAL ANALOG 2), il faut que soit affiché "JOY1 AXIS Z -", comme sur la capture ci-dessous :
Retour de force :
Même procédure que pour Teknoparrot, il faut passer par le FFB Plugin de Bloomslang.
Il est par contre nécessaire de régler la deadzone dans le fichier mame.ini :
Ligne "joystick_deadzone" à passer de 0.3 à 0.0
Précision pour Virtua Racing :
Pour que le retour de force fonctionne, le jeu doit être réglé, dans le menu test, en UPRIGHT ou TWIN.
Voici mes Control Sets perso, avec les sorties lampes configurées ainsi que le FFB configuré selon mes goûts. Attention rappel : Ces controls sets sont optimisés pour mon panel Model3 et ma driveboard RS422).
https://drive.google.com/drive/folders/ ... sp=sharing