Gamoover

[move]Bienvenue sur Gamoover, portail francophone de l'arcade.

[ FFB CONTROLLER + Backforce Feeder + PC ] TUTORIEL

Démarré par gojirien, Mercredi 05 Août 2020, 15:12:56 PM

gojirien

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







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


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




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  >: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-arcade-pc-ffb-arcade-plugin/?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".




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 MAME

Prenons 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 :


Citationmame.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 MODEL2


Mê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 :

CitationEMULATOR.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 MODEL3

Exemple 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 :


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

CitationSupermodel.exe "C:\Supermodel\ROMs\srally2.zip" -ppc-frequency=100 -no-throttle -input-system=dinput -outputs=win



JEUX SOUS TEKNOPARROT


Tout 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 go


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

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 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é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 ;D :



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

Iro

Super, Merci Beaucoup  :-*
<:) <:)
Est ce qu'on pourrait ajouter dans le titre que c'est pour un panel 3 ?
C'est beaucoup plus parlant pour tous le monde  <:)

J'épingle  ^-
"Jet set 2, c'est avec Robert Garcia ?" Kaneda, Lapsus de sac Vol.1
Peter Shou Owner' Club

WIPs : Naomi - SEGA Rally - AB Cop - Lethal Enforcers - COMPUMI - Terminator 2 - Space Invaders - Artworks pour Boitiers K7 Naomi CF - Ma collec' de panels

LES TUTOS DE GAMO   

gojirien


Aganyte

Merci pour ce tuto Gojirien  :-* Tu n'imagines pas la quantité de temps de travail que cela me fait gagner  ^-^

As tu la dernière version du code ? (le seul moyen de répondre oui a cette question, c'est que Seb te l'ai donné il y a moins d'une semaine).

brisky


Superbe! CA répond à beaucoup de questions sans avoir à embêter nos amis dans leur travail!! Bravo!

gojirien


Aganyte


Amano J


psyko44

Genial ce tuto  :D
J ai hate de rentrer de vacances et d attaquer enfin mon twin  ;D

bandicoot

Mon pincab
https://www.gamoover.net/Forums/index.php?topic=23174.0
Excusez mes fautes d'orthographe , je tape vite et ne me relis qu'en diagonale , mais j'espère ne pas être le pire :)



gojirien


flip28

Superbe  ^- ^-

Je pense que ça va éclairer pas mal de monde

Tu parles de jeux anciens et nouveaux, tu peux nous preciser quels jeux tu as fonctionnels à 100%. Avec ta solution PC tu récupères le retour de force de tous les jeux ?
Pour les jeux qui n'ont pas de retour de force tu peux aussi y jouer ?
Avec VJOY tu parametres pour chaque jeu ?

Avec ton changement d écran ca se passe comment pour les différentes résolutions ?

Encore une fois Bravo pour le tuto à la portée de tous  :D

Du coup ça donne vraiment envie de se lancer

gojirien

Je vais tenter de répondre le mieux possible à tes questions, que je me suis posé aussi :D. Tout ce qui suit sera intégré et détaillé dans le tutoriel.

Jeux 100% fonctionnels et questions de retour de force :

- Tout ce qui tourne sous émulateur MODEL 2 (Nebula Model 2) : Daytona USA, Sega Rally, etc...

L'émulateur propose son propre retour de force, pour les réglages du Force Feedback on passe donc uniquement par le soft VJOY.

- Tout ce qui tourne sous émulateur MODEL 3 (Supermodel) : Scudrace, Daytona USA 2, Sega Rally 2, etc...

Cet émulateur propose aussi sa propre gestion du retour de force, tout se configure donc par le soft VJOY.

- Mame (Virtua Racing, Outrun...)

Il faut passer par le plugin de Bloomslang pour le retour de force. On a donc 2 passerelles de réglages : le plugin de Bloomslang et le soft VJOY.


- Dumps Arcade tournant sous Teknoparrot : La série des Initial D, Wangan Midnight 5, Grid, Mario Kart DX, Outrun 2 SP, etc...

Il faut aussi passer par le plugin de Bloomslang pour le retour de force.


Pour les jeux n'ayant pas de retour de force, on peut y jouer sans soucis (puisque le panel model3 est reconnu comme périphérique windows), juste on aura pas de retour de force si rien n'est prévu pour par l'émulateur ou si absence d'un plugin Bloomslang pour un jeu spécifique.

VJOY : Le soft de Njz3 permet moults réglages, et oui on peut aussi sauvegarder des profils de réglages selon les émulateurs et les jeux.

Après des tonnes de tests et de discussion avec DVSeb, j'ai mis des réglages dans le soft VJOY qui me vont pour tous les jeux auquels je joue, je ne touche plus à rien (et je mettrai mes réglages dans le tuto). Ce sont mes goûts perso mais cela me va nickel comme ça ; DVSeb a aussi un seul paramétrage sous VJOY. Ensuite on joue sur le Plugin Bloomslang pour les jeux le proposant, car ce plugin a été prévu à la base, et si je dis pas de connerie, pour des PADs 360 et des volants logitech. A l'usage, le panel model 3 ne réagit pas pareil (voire pas du tout pareil (:x), et sur certains jeux on peut se retrouver avec des effets trop exagérés.


Les résolutions des jeux :

- Model 2 emulator : LA résolution de base ne pique pas trop les yeux sur écran HD ; il existe néanmoins pour Daytona un pack de textures HD, et là ça rend super bien :)

- Supermodel (jeux model 3) : L'émulateur upscale tout seul les jeux, et le rendu est nickel

- Mame : A ma connaissance il n'existe rien pour upscale la résolution donc...en 1080p c'est dégueullasse.

- Teknoparrot : là chaque jeu est un cas particulier, mais les résolutions minimales selon les jeux sont 480p ou 720p. Pour certains jeux comme Initial D8, on peut dans le fichier ini du jeu changer la résolution, ce qui permet de s'adapter à la situation de chacun.

flip28

Expliqué comme ça, ça paraît presque simple  ^-^

Bon pour moi la partie informatique ç est pas gagné quand même

Tu fais des séances de coaching  =?=

Je crois que vais me mettre en quête du matos.

Première étape la borne