INTRODUCTION
Voici un topic qui va tenter, autant que faire se peut (j'aime bien la placer celle-là), de réunir toutes les informations autour de la possibilité d'interfacer un PC dans une Racecab grâce au FFB Controller. Les possibilités sont nombreuses grâce au travail et à la passion d'Aganyte, NJZ3 et Dvseb.
Je tiens à remercier ces trois personnes pour tout le boulot abattu, et grâce à eux il est maintenant possible de "sauver" nos bornes chéries.
L'idée est donc ici de rendre vie à une borne, soit parce qu'elle est complètement vide, soit en partie ou totalement en panne (écran HS, PCB HS, Stack HS, etc...) en arrivant à jouer sur PC en émulation tout en jouissant du retour de force d'origine de la borne.
Je tenterai d'exposer comment câbler tout ça selon la borne utilisée, mais aussi comment réaliser l'installation software et configurer les émulateurs. Enfin, je montrerai un exemple en situation réelle d'utilisation, avec ma propre borne.
Petite précision et non des moindres : Je ne suis pas responsable d'éventuels dommages qui pourraient arriver à votre matos ou à votre personne pendant vos bricolages. L'arcade exige patience, rigueur et débrouillardise. Bidouiller une racecab va encore plus loin, à mon sens, qu'une intervention sur une borne classique générique. Renseignez vous bien avant de de débuter, car des termes utilisés ici risquent de rapidement vous perdre. Mais au besoin, nous sommes là pour vous aider et vous aiguiller.
PRINCIPES GENERAUX
Globalement, tout se passe ainsi :
Le FFB Controller sert de "lien" entre la borne et le pc. Il récupère les signaux volant, pédales, retour de force, boutons, qui sont alors transmis via USB vers un PC, qui reconnaitra alors la borne comme un périphérique windows grâce au
soft vjoy feeder de Njz3.
Concernant les contrôles (volant, boutons, pédales) : Comme on le verra plus loin lorsqu'on abordera plus en détail le câblage, une
"IO Board" pourra être présente dans la borne. Celle-ci sert à la reconnaissance des contrôles par rapport au système arcade d'origine équipant la borne.
Concernant le retour de force : Le retour de force (ou "Force Feedback" en anglais - acronyme FFB) est géré dans une borne par une "Driveboard" ; dans le principe elle récupère les signaux envoyés par le jeu d'origine, les "traduit" et les transmet en ordre de couple (effet ressort, triangle, vibrations, etc...) au moteur de retour de force qui fera ressentir les effets dans le volant. Selon la borne, on parlera alors de Driveboards et de panels model 1, model 2, HAPP, RS422 ou encore MIDI, qui sont les différents types et signaux de retour de force que gère le FFB Controller.
Concernant les panels et retours de force model 1/2 et HAPP, on parlera respectivement, dans les parties suivantes, de signaux de retour de force "PWM2M2" et de "PWM2HAPP".
Concernant les panels et retours de force model3, on parlera respectivement, dans les parties suivantes, de signaux de FFB "RS422/RS232" et "MIDI".
Enfin concernant les lampes de la borne : Le FFB Controller permet la transmission des signaux de lampes (clignotement des lampes des boutons "VR" de changement de vue, du bouton start, et du topper "race leader" de la borne) du jeu qui tourne sur PC vers la borne. Il est alors nécessaire, comme le montre le schéma ci-dessus, d'intercaler un relai nommé "ULN2003" entre le FFB Controller et la borne. Nous verrons plus tard comment câbler ce relai, et comment configurer la gestion des lampes sur le PC.
Présentation du SEGA FFB CONTROLLER
Véritable couteau suisse de la Racecab, le FFB Controller peut à la fois servir à rendre des systèmes arcade compatibles avec un type de retour de force donné, ou bien comme cela nous intéresse ici, à interfacer un PC avec des bornes du type Model 1, 2, 3, ou encore Lindbergh, Ringedge, etc...
Plus précisément, il sert à :
- Convertir les signaux de FFB Midi vers RS232 (Exemple : système de jeu Naomi jouable sur FFB type Lindbergh)
- Convertir les signaux de FFB de jeux comme Mario Kart GP et Wangan Midnight vers les signaux RS232
- Convertir le FFB type Lindbergh vers FFB Midi/PWM2HAPP/PWM2M2
- Simuler une carte RS232
- Simuler un effet ressort pour les jeux dépourvus de FFB avec signaux RS232/MIDI
- Relier un PC vers PWM2M2 et PWM2HAPP (FFBs Model 1 et 2 ; branchement d'un PC dans une borne Sega model 1/2 ou une borne à moteur de FFB HAPP)
- Relier un PC vers Midi ou Lindbergh (branchement d'un PC dans une borne Sega)
Ce sont donc les 2 dernières possibilités qui nous intéressent plus particulièrement : Interfacer un PC.
Le FFB Controller se présente comme ceci :
Il s'agit en fait d'un Arduino MEGA 2650 (encore lui, oui) surmonté d'une PCB développée et conçue par Aganyte.
Caractéristiques :- Compatible avec les Arduinos Mega et Due (Pour le moment, je travaille avec des Megas)
- 2 Ports série configurables chacun en Midi ou RS232
- 1 Port série PC (sur port USB)
- 1 Entrée PWM + Dir
- 1 Entrée "Potentiomètre volant"
- 1 Sortie PWM
- 1 Entrée parallèle 8 Bits OU 8 Entrées Analogiques
- 1 Sortie I2C
- 1 Led témoin de fonctionnement
- 3 Boutons de contrôle
Voici le principe général de câblage du FFB Controller entre votre borne et votre PC.
Partie supérieure du FFB Controller :
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.
- 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 câble USB bien blindé pour limiter les pertes.
- Précision concernant le signal "Clutch" (= Embrayage) : Aganyte a eu la bonne idée d'intégrer ce signal même si il est peu courant en arcade. On le retrouve par exemple sur des jeux comme Ridge Racer, ou Battlegear.
Partie Arduino MEGA :
L'arduino Mega 2560 va servir, au besoin, à récupérer du 5V et la Masse. Dans mon cas par exemple, 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 provenant de votre borne :
Exemples de boutons supplémentaires à câbler : Test, coin, directions, boutons sur le volant, levier de vitesse (également nommé "shifter"), etc...
Le FFB CONTROLLER PRO
Toujours en recherche d'optimisation, Aganyte a conçu le "FFB CONTROLLER PRO".
Le FFB Controller PRO embarque directement :
- Le FFB CONTROLLER bien-sûr
- Un
JVS Hack, qui est un outil permettant de réaliser tous les branchements nécessaires dans une borne équipée d'une IO Board, sans pour autant saccager le câblage déjà existant.
- Le relai ULN2003 pour la gestion des lampes.
CABLAGES DETAILLES DU FFB CONTROLLER
Maintenant, voyons plus en détail le câblage selon le type de borne concernée. Les possibilités sont multiples, à cause évidemment des différentes bornes existantes, ainsi que des différents systèmes de retour de force équipant les machines.
On va balayer les racecab suivantes :
- Les bornes avec retour de force et panel Model 1/2
- Les bornes avec panel model 3 et driveboards RS422 et MIDI
- Les bornes avec moteur de retour de force et panel de type HAPP
On pourra avoir, pour une classe de bornes, plusieurs possibilités de câblage liées par exemple à la présence d'une IO Board pour les contrôles.
Tous les schémas qui vont suivre ont été fait par dvseb.
On part donc sur l'exemple d'une borne avec levier de vitesses séquentiel (Shift UP et Shift DOWN), et 4 boutons "VR" (les boutons pour changer les vues). Les câblages montrés par rapport aux boutons sont donc exhaustifs, dans la mesure où certaines bornes possèdent des shifters en "H", à 4 rapports, par exemple. Ce sera à vous de vous adapter à votre propre situation ; mais j'aborderai néanmoins dans d'autres parties les cas particuliers liés au shifter en H par exemple.
On verra également sur les schémas des boutons sur le volant, que vous n'aurez pas forcément.
Enfin, les schémas montrent comment relier les lampes de votre borne à votre PC, en intercalant le relai "ULN2003". La configuration software de gestion des lampes sur le PC sera traitée ultérieurement.
PANELS MODEL 1 ET 2
Matériel nécessaire :
- Système de Force Feedback Model 1 et 2 (Driveboard 838-9081 de Virtua Racing ou Driveboard 838-11297 de Daytona USA)
- Transformateur 220-100V (normalement déjà présent dans la borne).
- PWM2M2 d'Aganyte
- Alimentation réglable entre 6 et 24v
- Relai ULN2003 pour les lampes
Si vous souhaitez câbler proprement le tout à partir du câblage existant de votre borne, vous pourrez utiliser le "M2 Hack" développé par Aganyte :
Le principe de câblage reste identique, on câble juste tout bien proprement, sans rien couper.
PANEL MODEL 3 / DRIVEBOARD MIDI
Matériel nécessaire :
- Driveboard Midi référence 838-14174 (Initial D 1 à 3, Club Kart, F-Zero AX, Outrun 2, Outrun 2 SP)
- Transformateur 220-100V (normalement déjà présent dans la borne).
- Relai ULN2003 pour les lampes
Ces bornes sont équipées, pour la reconnaissance des contrôles du système d'arcade d'origine, d'une IO Board JVS. Afin d'éviter le saccage du câblage d'origine si vous en disposez (et si vous souhaitez garder l'IO board présente dans la borne), vous pourrez utiliser un "JVS Hack" développé par Aganyte :
Ou bien directement vous servir du FFB Controller Pro. Le principe de câblage reste le même.
PANEL MODEL 3 / DRIVEBOARD RS422
Matériel nécessaire :
- Driveboard RS422, par exemple la référence 838-14592 (Initial D 4 à 8, Sonic All Star Racing...)
- Transformateur 220-100V (normalement déjà présent dans la borne)
- Convertisseur RS422-RS232 (normalement déjà présent dans la borne)
- Relai ULN2003 pour les lampes
On aperçoit sur le schéma un convertisseur de signaux RS422 vers RS232 ; il équipe normalement déjà la borne.
Si il est absent, il sera toujours possible d'en acheter un, comme le miens :
Ces bornes sont également équipées d'IO boards JVS ; vous pourrez donc intercaler soit un JVS Hack comme ceci :
Soit, comme dans le cas des panels Model 3 avec Driveboard midi, utiliser le FFB Controller Pro qui embarque déjà le JVS Hack et l'ULN2003.
BORNE AVEC RETOUR DE FORCE TYPE HAPP
Matériel nécessaire :
- Driveboard HAPP
- Transformateur 220-100V (normalement déjà présent dans la borne)
- PW2M2 HAPP
- Alimentation ajustable 24v 5A
- Relai ULN2003 pour les lampes
CAS PARTICULIER 1 : UTILISATION D'UN SHIFTER SEGA H
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 au FFB Controller comme sur l'exemple suivant :
Ensuite et comme on le verra plus tard, une configuration sera à faire dans le soft de Njz3, afin de bien avoir 4 vitesses de reconnues dans les jeux.
CAS PARTICULIER 2 : UTILISATION DU SHIFTER HYBRIDE DE DELO
Delo, membre de Gamoover, a developpé un shifter "hybride", à la fois séquentiel et en H (4 vitesses). Grâce à une manipulation astucieuse, on peut alors jouer selon l'envie aux jeux utilisant une boite séquentielle ou aux jeux utilisant 4 vitesses.
Le shifter hybride en question (le miens, en l'occurrence) :
Et en action :
Dans le principe, le shifter hybride dispose de 6 signaux : Shift 1, 2, 3, 4, et shift UP et DOWN en mode séquentiel. Le câblage sur le FFB Controller pourra se faire simplement en utilisant les entrées de boutons supplémentaires, sur la partie arduino MEGA :
On peut également, afin d'économiser de la place sur les entrées du FFB Controller, utiliser l'astuce suivante : relier par exemple shift 1 et shift UP, et relier shift 2 et shift DOWN sur le shifter hybride. Cela permettra de se retrouver avec non plus 6 signaux à câbler, mais seulement 4 (shift 1 et UP deviennent communs tout comme shift 2 et DOWN, mais cela restera transparent en jeu) :
Pour connecter tout ça à votre FFB, vous pourrez donc vous servir de la partie Mega 2560 avec les entrées supplémentaires, par exemple comme ceci :
PREPARATION SOFTWARE DU FFB CONTROLLER
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.0L'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 :INSTALLATION ET UTILISATION DE VJOY
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.0Je 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.
Installation-VJOY Conf
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.
VjoyIOfeeder : Initialisation du FFB Controller
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) :
Allez, on passe à la suite.VjoyIOfeeder : Calibration du volant, frein et accélérateur
#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.
VjoyIOfeeder : Réglages des effets de force feedback
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.
VjoyIOfeeder : Configurer les contrôles
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".
VjoyIOfeeder : Configurer un levier 4 vitesses SEGA
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.
VjoyIOfeeder : Mode Shifter séquentiel
Certains jeux comme Daytona USA utilisent normalement un shifter H, avec 4 rapports. Hors si votre borne ne dispose que d'un levier séquentiel, vous voilà quelque peu désœuvré.
Mais grâce au Vjoy Feeder, vous allez pouvoir configurer un levier séquentiel de sorte à ce que en jouant à Daytona, les rapports aillent de 1 à 4 en appuyant sur Shift UP de votre levier, et pour également rétrograder de 4 à 1 en appuyant sur Shifter DOWN.
Pour cela, aller sur votre profil "Daytona USA" que vous aurez créé, puis sur la configuration des boutons du Feeder, et repérer quel bouton en raw input correspond à Shift UP. Dans l'exemple suivant, il s'agit du bouton 5 :
On va alors, pour ce seul bouton 5, ajouter les boutons Vjoy 11, 12, 13, 14 et 17 par exemple (il faut bien-sûr prendre des boutons vjoy pas encore utilisés). Ensuite, cocher la case "First Button is Neutral", puis choisir, pour "Hshifter/UP Down decoder", le paramètre "Sequential UP".
On va ensuite repérer le bouton en raw input correspondant au Shift DOWN du levier de la borne. Dans l'exemple suivant, il s'agit du bouton 7 :
On va alors attribuer à ce bouton raw n°7 un bouton vjoy non utilisé, puis dans le paramètre de "Hshifter/UP Down decoder", on choisit "Sequential DOWN".
Par la suite, dans votre émulateur, il faudra indiquer que :
- Shift 1 = bouton vjoy 11
- Shift 2 = bouton vjoy 12
- Shift 3 = bouton vjoy 13
- Shift 4 = bouton vjoy 14
- Neutral ) bouton vjoy 17
Et voilà, vous pourrez jouer en boite manuelle à Daytona USA avec votre levier séquentiel.
CONFIGURATION DES CONTRÔLES ET RETOUR DE FORCE SOUS EMULATEURS
NEBULA MODEL2 EMULATOR
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 :
SUPERMODEL (Emulateur MODEL3)
Contrôles :Dans le cas de é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

.
TEKNOPARROT
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
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-arcade-pc-ffb-arcade-plugin/?page=5Afin 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".
MAME
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.
CONFIGURATION DES LAMPES
Voici la partie pour interfacer les lampes de votre borne à votre PC, pour arriver à ce genre de résultat :
CÂBLAGE
Afin de faire le lien entre votre PC et les lampes de votre borne, il est nécessaire d'utiliser comme on l'a vu précédemment un relai nommé "ULN2003".
A partir du FFB Controller, le relai est câblé ainsi (crédits Dvseb pour la schématisation) :
Précisions :
- Les signaux "In" viennent du FFB Controller.
- Les signaux "Out" vont aux signaux de lampes de votre borne.
- Assurez-vous, pour une borne SEGA, d'avoir vos lampes alimentées en 5V en permanence.
- Le câblage est à adapter par rapport à votre borne et le matériel utilisé : Je me suis de mon côté câblé directement aux connecteurs du stack de ma borne, vous pourrez également passer par un JVS Hack si vous avez une borne en JVS, etc... Se référer à la partie "CÂBLAGES" pour le cas qui vous concerne.
- Le ULN2003 a besoin d'être lui aussi alimenté, comme le montre le schéma, en 5V.
CONFIGURATION DANS LE BACKFORCE FEEDER
Il faut maintenant, pour chaque jeu pour lequel vous souhaitez voir vos petites lampes clignoter, créer un control set (profil de réglage) dédié. Assurez-vous que votre backforce feeder soit réglé sur la détection automatique de control set.
JEUX MAMEPrenons comme premier exemple un jeu sous Mame : Virtua Racing.
Ouvrir le Backforce feeder, aller sur "Control Set", et créer le profil Virtua Racing comme ci-dessous :
"Main window title" correspond au nom de la fenêtre lorsque votre jeu est en marche. "Exec. process name" correspond à l'appli utilisée, ici l'émulateur Mame.
On écrit donc dans Exec process name : mame* (appli utilisée : mame.exe)
Et dans Main window title : Virtua* (lorsque le jeu virtua racing tourne, la fenêtre du jeu se nomme tout simplement "Virtua racing".
Le signe "*" sert à faire comprendre au Backforce Feeder qu'il doit détecter toute appli dont le nom commence par "mame" et toute fenêtre windows dont le nom commence par "Virtua".
Ce principe est le même pour chaque émulateur, et chaque jeu.
Une fois ce control set créé, aller ensuite dans votre répertoire mame, et créer un fichier .bat nommé par exemple "!vr" comme j'ai fait :
Ouvrir ce fichier avec le notepad++, et écrire dedans la chose suivante :
mame.exe vr -output windows
Sauvegarder. Puis double cliquer sur le fichier créé. Windows exécutera alors automatiquement mame (d'où "mame.exe", et lancera automatiquement le jeu virtua racing ("d'où "vr" afin d'exécuter la rom qui porte le même nom). La commande "-output windows" sert quant à elle à enclencher la reconnaissance des lampes.
Et si tout est bien câblé, vous devriez voir les lampes Start, VR, et race leader clignoter en jeu.
Rappel pour virtua racing : La reconnaissance du Force Feedback et des lampes pour ce jeu nécessite, dans le menu test, de configurer la cab en "Upright" ou "Twin".
Le processus de reconnaissance des lampes pour les jeux mame (pour les jeux qui supporte les lampes évidemment) sera le même que décrit pour virtua racing.
JEUX MODEL2Même procédure, on créé un control set dédié au jeu, puis un fichier .bat pour lancer le jeu en un clic.
On va prendre l'exemple de daytona USA ; créer le control set suivant :
(Je ne reviendrai pas sur les explications des nom d'exe et de fenêtre ; voir l'exemple de mame pour cela)
Et dans le répertoire de l'émulateur, créer un fichier .bat se nommant par exemple "daytona USA" et mettre dedans :
EMULATOR.exe daytonas
"daytonas" représente le nom de la rom, comme pour mame. Et oui, petite subtilité pour daytona, les lampes sont prises en compte pour la rom daytona saturn adds ; pour les autres jeux type sega rally ou encore indy 500, il n'y a pas de feintes de ce genre^^'.
Pour l'émulateur model, on a pas non plus besoin de rajouter une commande -output comme pour mame.
JEUX MODEL3Exemple avec Daytona USA 2.
Créer le control set suivant dans le Backforce Feeder :
Dans le répertoire de l'émulateur supermodel, créer le fichier fichier .bat suivant :
Supermodel.exe "C:\Supermodel\ROMs\daytona2.zip" -no-throttle -input-system=dinput -outputs=win
La procédure sera la même pour les autres jeux, à l'exception de Sega Rally 2 pour lequel il y a une subtilité, il faut créer le .bat suivant :
Supermodel.exe "C:\Supermodel\ROMs\srally2.zip" -ppc-frequency=100 -no-throttle -input-system=dinput -outputs=win
JEUX SOUS TEKNOPARROTTout d'abord, récupérer sur le net le plugin "output blaster" de Bloomslang. Ce plugin sera à placer dans le répertoire de chaque jeu pour lequel vous voudrez avoir la gestion des lampes (attention tous les jeux ne sont pas supportés.
Etape suivante, prenons l'exemple de Daytona USA 3. Créer le profil suivant dans le Backforce feeder :
Ensuite dans Teknoparrot, il faut, dans les settings de chaque jeu, cocher "Enable outputs".
Enfin lancer le jeu sous Teknoparrot, les lampes doivent fonctionner.
La difficulté avec les jeux sous Teknoparrot est que l'exe et le nom de la fenêtre de jeu ne sera quasi jamais le même. Pour chaque jeu il faudra donc repérer le nom de l'exe encours, ainsi que le nom de la fenêtre de jeu.
Je donne quelques exemple supplémentaires pour aider, sur d'autres jeux :
EXEMPLE CONCRET : RESURECTION D'UNE BORNE SCUDRACE
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 et d'un panel MODEL 3.
Tout d'abord, voici ma config globale :
-
Borne Scudrace Single, provenant d'une twin à la base. Cette borne m'a été vendu sans stack, alimentation en panne, sans platine pour l'écran, et avec le tube CRT brulé. La belle une fois arrivée chez moi et avant nettoyage complet :
-
Driveboard SEGA Lindbergh Référence 838-14592 (Lindbergh, Ringedge, Ringwide, Europa R), qui envoient les signaux au format RS422/RS485
- Comme je prévois de jouer à du jeu "ancien" comme récent, et que le tuber d'orgine est mort, j'ai décidé d'utiliser
un écran HD incurvé : Philips 325E1C (cet écran possède des dimensions nickel pour être installé sans devoir toucher au bezel de la cab)
-
Un bras articulé afin de fixer l'écran HD
-
Le FFB Controller d'Aganyte, avec programme "FFB2PC" chargé dessus
-
Un PC dont voici les specs :
#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 goAvec cette config, je peux jouer aux jeux model 2, 3 et Mame (sous émulations) et aux jeux arcade lancés sous Teknoparrot.
-
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.-
un convertisseur RS422/RS485 ->RS232, pour connecter la driveboard au FFB Controller.
-
Un ULN2003 pour la gestion des lampes
Voici le tout en train de tourner :
Pour arriver à ce résultat, y a du taf ! Allons y.
Câblage du FFB CONTROLLER
Partie supérieure du FFB Controller :
On reprend le schéma de principe de câblage du FFB Controller, cela donne ceci pour ma borne :
Quelques précisions quand on câble la driveboard :
#Bien respecter le sens des jumpers sur le FFB Controller
#Il faut dans mon cas intercaler un convertisseur RS422/RS485 ->RS232. Comme je n'en avais pas dans la borne, j'en ai commandé un sur internet :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

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.
Encore une chose, si cela n'est pas fait sur votre Driveboard, vous pouvez faire un pont de terre comme ceci :
Partie Arduino MEGA :
Et voilà comment j'ai câblé sur la partie arduino MEGA :
Schéma de câblage général
Après le détail du FFB Controller, voilà dans le détail comment j'ai relié ma borne model 3 à mon PC, en passant par le FFB Controller.
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 1SCUDRACE SCHEME 2Et, 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élérateur 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

:
On en avait pas parlé concrètement jusqu'ici, mais voilà une vraie photo d'un relai ULN2003 Câblé, le miens :
UTILITAIRES
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/1h6M9-8l0bu1v04NDfBy7JakSMbujHTO-?usp=sharing