Gamoover

Besoin de contacter un admin pour une proposition, une suggestion ou discuter d'un probleme ?
C'est ici : High_Cobra, AsPiC ou Pich

Menu

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Voir les contributions Menu

Sujets - njz3

#1
Le Jamma / [Projet] JammaMia - Carte de contrôle jamma
Mercredi 24 Mai 2023, 19:46:59 PM
Bonjour à tous,
Avec Bandicoot nous avons le projet de développer une carte permettant d'interfacer une borne au standard Jamma, ou Jamma+, ou MVS, avec un PC en utilisant un pro-micro et des IO extenders en I2c.
L'idée est que la carte se mette en mezzanine sous la VideoAmp afin d'avoir une solution complète pour du retrofit. Ca sera un pas de plus vers une clone de jammaSD, mais peut être avec le choix d'émuler un keyboard (MAME), ou des gamepads ou encore des mouses (jeux de guns). On pense aussi ajouter des sorties pour piloter des recoils ou des Leds.

En discutant, on se rend compte que c'est pas si simple de définir le cahier des charges afin d'avoir une compatibilité maximale au niveau des pins du jamma avec des jeux 4boutons/6boutons/spinners/guns. Et comme on n'est pas spécialistes, on se tourne vers vous pour avoir des réponses.

Par exemple dans le Jamma et le MVS il y a une incompatibilité au niveau du son : mono en jamma, stéréo en mvs.
Autre chose, en regardant ICI sur le peigne Jamma il semble que certains jeux puissent utiliser des spinners. Ca existe vraiment ?
Enfin est-ce qu'il existe des jeux de guns qui sont interfacés directement sur un peigne jamma ?

On aimerait avoir vos idées et retours.
#2
Salut,
J'aurai une autre requête un peu éloignée de ce projet, mais nécessitant des compétences similaires...
J'ai pas mal de shifters Up/Down qui ont la tremblotte au point qu'ils ne marchent plus ou "click" difficilement.
La pièce en cause est la suivante :


Il y a une usure très prononcée au niveau des axes maintenant la pièce dans le boitier.
La "maladie" est assez commune car la plupart de mes shifters ont cette usure :


Un membre de ce forum propose de regarder pour refaire le modèle et qu'on puisse l'usiner en bronze ou en alu pour limiter l'usure. Est-ce qu'il y aurait des gens interessés ?
Pour la réalisation et limiter le cout de la pièce, est-ce que certains ont accès à des machines d'usinage ? (Maitre Poulpi semble avoir un réseau)
#3
Racecabs & Simulateurs / [WIP] Sega Rally Championship vers PC
Dimanche 09 Janvier 2022, 12:20:51 PM
Petit sujet pour traiter le cas du Sega Rally avec Model 2 avec le BFF, en utilisant directement la driveboard d'origine, donc juste avec mon soft BFF et un Arduino.
La borne que j'ai récupérée n'a plus de stack, mais tout le reste est fonctionnel.
Comme je n'ai pas l'intention de la garder, j'en ai profité pour l'utiliser et faire la migration vers un PC avec quelques jeux utilisant le shifter H uniquement (dont Sega Rally !).
L'idée est de mettre en PC à la place du stack, en me connectant directement sur le harness d'origine.

J'ai intégré le protocole de communication avec la driveboard dans une nouvelle version du BFF (la v0.6, pas encore publique).
En mode compatibilité, le volant devient compatible avec tous les jeux avec force feedback, mais il faut mettre un peu la main au réglage des effets car la mécanique du panel model 2 est difficile à dompter ! En particulier il faut mettre une grosse zone morte sur les effets sinon le volant oscille.
#4
Racecabs & Simulateurs / [WIP] F355 twin vers combi stack/PC
Lundi 01 Novembre 2021, 12:24:10 PM
Bonjour à tous,

Suite à un trip en savoie, j'ai ramené une belle twin F355 que je vais migrer en "combi" à ma manière, pour supporter à la fois un PC tout en étant utilisable avec le stack d'origine (donc un combi stack/PC), comme sur ma Le Mans et ma Scud.
C'est encore la seule EPROM de driveboard que je ne supporte pas dans mon soft, mais je vais y placer des EPROM Sega Rally 2 (merci Tibal !) pour immédiatement pouvoir utiliser la bête avec la driveboard et la motor board d'origine. Ensuite une fois que j'aurai le protocole, je l'incluerai dans mon soft.

Au niveau état des lieux : la belle a un stack en rade, mais le reste semble fonctionnel. Quelques traces de rouilles et un side malheureusement bien broyé lors du transport. Les palettes ont la maladie de parkinson, ce qui sera résolue j'espère en remplaçant les bagues igus de maintien.

Je prévois pour ce WIP:
- de garder les CRT d'origine en 31kHz
- de garder tout le cablage et les cartes d'origine afin de pouvoir swapper avec un stack un moins de 1 minute (comme sur ma lemans ;-)
- d'ajouter un shifter Up/Down sur l'emplacement prévu pour utiliser les palettes comme boutons dans certains jeux avec émulateur.

Photos et autres détails à venir !

#5
Je crée un sujet pour répertorier les jeux supportant le FFB avec le combo vjoy/BFF.
Au fur et à mesure de vos postes, je complète le premier.
Pour chaque jeux ou emulateur, merci de préciser s'il y a une astuce à réaliser (configuration spécifique, dll ou plugin, adaptateur type GIMX, etc...).
Dans l'archive du BFF, répertoire gameassets, je donne le fichier "Make_vJoy_RacingWheel.reg" qui permet de faire passer vJoy pour un volant (race car controller) et non un joystick. Cela aide pour certains jeux PC.

Plate-forme PC:



Nom|Support natif du FFB? | Multi/Link? | Notes
MAME**Oui via FFB pluginOuiFFB pour Virtua Racing
model 2 emulateur*,**OuiOuiDaytona, Indy500, SR1, Touring Car. Reconnaissance immédiate de vjoy. Alternative possible avec le FFB plugin de Boomslangnz
supermodel*,**OuiOuiDaytona 2, DirtDevil, Lemans, SR2, Scud Race. Reconnaissance immédiate de vjoy. Alternative possible avec le FFB plugin de Boomslangnz
Jeux Teknoparrot*,**Oui via FFB pluginOuiDaytona Championship USA, OutRun 2SP, Sega Rally 3
PS2 pcsx2 emulator***with USBqemu-wheel***Burnout series, may work with all games that support a Logitech wheel on PS2
-
Assetto CorsaOuiLANneed dedicated LAN server
Assetto Corsa CompetizioneOuiLANneed dedicated LAN server
Automobilitsa 2OuiLANneed dedicated LAN server
Burnout ParadiseOuiNonNo LAN | No Online
Crazy Taxi 3Oui si patch base de registreNonPatch Bandicoot sur gamoover, disponible dans l'archive du BFF
Crazy Taxi SteamOuiNonSteering sensitivity needs adjusting
Dirt 2OuiLAN
Dirt 3OuiLAN
Dirt 4OuiOnlineneeds Permanent Spring effect in BFF,works well as controller selection input device
Dirt 5Non?vJoy n'est pas listé dans les équipements.
DiRT RallyOuiOnline
DiRT Rally 2.0OuiOnline pvpneeds Permanent Spring effect in BFF,setup as controller, modified input ini config to make ffb effects stronger works well
Dirt ShowdownOuiOnline
Drag Outer ZonesOuiOnline pvp
F1 2013OuiLAN
F1 2014OuiLAN
F1 2016OuiLANneeds Permanent Spring effect in BFF,needs to be selected as controller in options
F1 2017OuiLANneeds Permanent Spring effect in BFF,needs to be selected as controller in options
F1 2018OuiLANneeds Permanent Spring effect in BFF,needs to be selected as controller in options
F1 2020OuiLANneeds Permanent Spring effect in BFF,needs to be selected as controller in options
Fast Beat LoopOui?jeu type WMMT ou INITIALD
FlatoutOuiLAN
Flatout 2OuiLAN
Flatout Ultimate CarnageOuiLAN
Forza horizon 5Oui?Le force feedback fonctionne mais très sensible, le jeu est très difficile avec le volant
Gas Guzzlers ExtremeOuiLANSimple FFB
GRIDOuiLAN
GRID 2OuiOnline pvp
GRID AutosportOuiOnline pvp
GRID 2019OuiOnline pvpneeds Permanent Spring effect in BFF,needs to be selected as controller in options but steering degree cannot be adjusted
NFS Most Wanted (2005)OuiLANneeds Permanent Spring effect in BFF (LAN available but didnt work for me)
Need for Speed: Most Wanted (2010)OuiNonneeds Permanent Spring effect in BFF,simple FFB, no Multiplayer
Need For Speed Hot PursuitOui?
Need For Speed Hot Pursuit (2010)OuiOnlineNeeds additional config for steering | needs Permanent Spring effect in BFF| needs additional button assignments
NFS ShiftOuiLAN
NFU Shift 2: UnleashedOuiOnline
Project CARSOuiLANneed dedicated LAN server
Project CARS 2OuiLANneed dedicated LAN server
Project CARS 3OuiOnline pvp
PUREOuiLAN
RevoltOuiLAN
Split/SecondOuiLANConfigurer les contrôles dans le jeu,needs Permanent Spring effect in BFF,simple FFB
Street Racing SyndicateOui?les effets ne sont pas très forts
Test Drive Ferrari Racing LegendsOui?les effets sont top de top
WreckfestOuiLANplug and play ca marche directement apres avoir paramétré chaque commandes dans options

Online pvp = online Player vs Player (joueur contre joueur en ligne)

(*) uniquement jeux de conduite
(**) détails ici
(***) see how to configure FFB for pcsx2 emulator here

Plate-forme Ps3 (via GIMX):

Nom|Type d'émulation sur GIMX| Multi? | Notes
GTI ClubLogitech Driving Force ? centrage du volant toujours actif et non géré par GIMX, cela rend la conduite moins bonne que si on utilise un vrai driving force
#6
Racecabs & Simulateurs / [WIP] Sega Le Mans 24 vers PC
Jeudi 29 Octobre 2020, 10:20:37 AM
Bonjour à tous,
Pour ne pas mixer mes bidouilles Scud Race et Le Mans 24, je crée ce sujet qui contiendra les infos pour migrer un Le Mans vers un PC.
En particulier ce sera l'occasion d'expliquer comment j'ai mis un PC et comment je pilote le moteur du panel Le Mans (le même que Indy 500 ou Touring Car).
Ce post sera mis à jour au fur et à mesure, quand j'aurai du temps.

Ecrans et PC
Modèle écran et PC ainsi que l'installation sont identiques à celui du topic sur la Scud Race.
Sur cette borne j'ai mis un PC avec i5-4460, équipé d'un SSD 128Go, d'une carte graphique 1050 en low profile, d'une carte son quadriphonique, d'un dongle USB Wifi.
Pour la préparation des jeux et la configuration du PC, il faut consulter l'excellent tutoriel de Gojirien.
Les infos sur mon soft de pilotage se trouve maintenant ici.

Schémas électriques
Voilà les schémas issus du manuel PDF de la version Twin UK que l'on trouve sur le net, que j'ai très légèrement corrigés (mauvaise numérotation des connecteurs CNXX côté stack).
L'URL pointe sur une image pour l'instant hébergée sur mon site car je les mets régulièrement à jour, ensuite je placerai une copie sur Gamoo.



Connexion du PC
Sur ce single j'ai conservé l'alimentation Model 3 d'origine (sur l'autre j'ai mis une ATX via un cable maison).
Un arduino Mega2560 est placé à côté du PC et j'ai directement connecté les CNXX via des fils dupont sur le Mega2560.
Un ULN2003 est utilisé pour piloter les lampes.
J'ai d'abord repéré les fils sur les connecteurs CNXX qui vont normalement sur le stack en utilisant du scotch et un feutre. Tous les signaux intéressants ont été repéré.
Ensuite j'ai utilisé des fils Dupont male/male pour relier le mega2560 vers les connecteurs CNXX.
Voilà les vues globales du cablage interne :



Pour la partie connexion vers la Driveboard (Tx), et les signaux analogiques du volant et des pédales, j'ai relié les sorties D22 à D29 du mega vers Tx  de CN1 et CN11, et les entrées A0/A1/A2 vers STEERING 1 (CN11), ACCEL (CN1) et BRAKE (CN11). J'ai repiqué le GND et le 5V du Mega pour les envoyer sur les potentiomètres.


Pour les boutons, j'ai connecté D2 à D9 du mega sur le connecteur CN2 :


Pour les lampes, j'ai pluggué le ULN2003 à l'envers sur le Mega, puis avec du Dupont male/femelle j'ai relié les signaux vers le CN3 et j'ai repiqué l'alimentation 5V et GND sur un des connecteurs CN13 d'alimentation du stack pour les renvoyer sur l'ULN2003. Sur la carte ULN2003, j'ai laissé le cavalier qui sert à alimenter la puce ULN2003.

D'abord les sorties de l'ULN2003 vers les lampes :

Et le repiquage pour alimentation du ULN2003.


Pour le son, j'ai utilisé un cable Jack 3,5 vers 2xCinch, puis j'ai mis un fil Dupont pour connecter le PC vers le connecteur CN8 qui va vers l'ampli de la borne.



Enfin, ne pas oublier de ponter (ou reboucler) le 5V venant de l'alimentation sur CN14 pour le renvoyer vers l'électronique sur CN12 :


Vue arrière du PC : j'ai une 1050 Ti avec sortie HDMI que j'envoie sur l'écran LCD via un cable de 5mètres.


TODO:
- revoir les longueurs de certains câbles qui sont trop longs (HDMI, USB, jack), et n'utiliser que le 110V partout car mon alim PC et l'écran LCD sont compatibles 110 ou 230V.
- sortir un connecteur RJ45 sur la plaque arrière plutôt que de passer par un dongle USB Wifi.
- mettre le mega2560 sur une planche de contre-plaqué avec des entretoises
- coller avec de la résine époxy bi-composant ou au pistolet à colle les fils Dupont entre eux et sur le mega afin d'éviter qu'ils ne se déconnectent dans le temps.
- fixer le PC à la planche en bois via des équerres en métal
- migrer l'alimentation Model 3 vers une alim ATX plus compacte (utilisation d'un faisceau maison) qui sera fixée avec équerres.
- ajouter des enceintes frontales sur les sides, et un ampli 4.1 pour brancher le son en 4.1 (j'ai mis une carte son 4.1 dans le PC).
- séparer la ligne d'alimentation du twin pour avoir les deux singles séparés (j'ai déjà trouvé les connecteurs qui vont bien comme les originaux, manque encore un filtre CEM).

#7
Bonjour,
Est-ce que l'un d'entre-vous connait cette carte chinoise TDP-8670 qui fait de la conversion HDMI ou VGA vers du CGA ?
https://www.aliexpress.com/item/4000042105972.html?spm=a2g0o.cart.0.0.201b3c00HU8sRc&mp=1

Visiblement elle permet de plugger une sortie HDMI ou VGA pour downscaler vers du CRT arcade. Mais je me pose la question de la fréquence de sortie (15kHZ uniquement ?) et de l'amplitude du signal (0..1V ou 1..3V?)
J'ai écris au vendeur pour avoir de la documentation.
#8
ATTENTION
La version modifiée de vjoy que j'utilise ne s'installe pas sur Windows 11, car non compatible. Elle est uniquement compatible Windows 7 et Windows 10.
Vu le prix de la certification Microsoft (plus de 700€ annuel pour un certificat) et de la paperasse nécessaire à être reconnu par Microsoft, je ne peux pas m'engager dans cette voie. Merci de ne pas me remonter ce bug.

Soft de pilotage FFB pour PC

Bonjour à tous,
Pour éviter de poluer les sujets d'autres personnes et mon WIP sur un twin scud race, je crée un sujet à part pour mon soft d'interfacage de vJoy avec force feedback, principalement pour racecabs. Ce topic a pour but de mettre ici les infos importantes et d'assurer les échanges permettant d'aider ceux qui voudraient se lancer.

Suite à une phase de test avec Bandicoot et dvseb de la version alpha de mon soft, on va dire que mon soft peut passer en béta, tout du moins pour ceux utilisant le mode PWM analogique avec un arduino Leonardo, ou PWM digital via la carte d'Aganyte.

Tutoriel avec le FFB d'Aganyte

Un excellent tutoriel sur base du FFB controller d'Aganyte a été fait par Gojirien là: https://www.gamoover.net/Forums/index.php?topic=42842.0
Un grand merci à lui pour le temps qu'il a passé à cette rédaction, et aux autres pour les tests et essais (dvseb, bandicoot, marcus, ... et évidemment Aganyte !).

Fonctionnalités disponibles
- supporte le retour analogique du volant par potentiomètre (retour par encodeur pas encore supporté) avec calibrage du volant pour l'offset de centrage.
- configuration de vJoy : choix des axes qui seront reportés par le soft: X, Y, Z, RX, ... c'est vous qui choisissez les axes qui seront utilisés par le soft, en fonction de ce que vos jeux supportent.
- support des 11 effets de force-feedback issus de DirectInput, gestion du cumul d'effets (jusqu'à 100 simultanément).
- mode commande en couple : sortie analogique PWM, PWM centré, ou digitale (via uart). Ces modes permettent de piloter un variateur du marché, un variateur custom (ou un moteur DC via un L6203), un PWM2M2, ou la carte FFB Converter.
- mode compatibilité pour driveboard Sega Model 2/3 : cablage en direct sur la driveboard, type M2PAC. Support des driveboards avec EPROM Indy500, Le Mans, Scud Race (ECA/Dirtdevil), Sega Rally 2. Dans ces modes, la driveboard est basculée en mode commande en couple, ce qui permet d'émuler tous les effets. Avec certaines driveboard (Indy500 et Lemans) possibilité de tricher en utilisant une commutation haute fréquence des commandes (100Hz), ce qui augmente virtuellement la résolution du couple au détriment d'une légère vibration.
- mode RAW pour driveboard. Dans ce mode, le soft fait exactement pareil que le M2PAC, c'est à dire envoi en brut de la donnée de FFB des jeux Model1, Model 2 ou Model3 vers la driveboard. Attention, mon soft ne vérifie rien dans ce cas, c'est à vous de vérifier que votre driveboard "comprends" les données du jeu!!
- gestion de jeux de paramètres (control set) que l'on peut changer à la volée pour le mapping des boutons et les plages de variation des axes en fonction du jeu. Les jeux de paramètres sont sauvés dans des fichiers XML que l'on peut s'échanger.
- mapping de bouton au choix, gestion de toggle, autofire, décodage des shifters en H, ou émulation par séquentiel.
- calibrage des axes volant et pédales pour chaque control set.
- tuning des effets et des gains de FFB pour chaque control set.
- configuration du mapping des lampes vers les sorties raw pour chaque control set.
- auto-détection du jeu en cours via nom d'exécutable et nom de fenêtre pour switcher automatiquement de control set selon le jeu démarré.
- paramètre en ligne de commande "-c nom_control_set" pour forcer un control set (par exemple depuis un fichier script .bat). Attention, dans ce cas il faut désactiver l'auto-détection.
- gestion des sorties (lampes) des jeux racing de nebula model 2, model 3, MAME (Virtua Racing/outrun/ridge racer/rave racer, cruis'n, ...) et Teknoparrot. Attention, il faut préciser comment les données sont à lire dans chaque control set.
- mode lights only (avec arduino, mais sans vjoy)
- option de démarrage avec Windows, option de réduction de l'appli vers le trayicon.
- émulation d'appui de touche (seulement jeux ou applications qui supportent la lecture d'un clavier en mode DirectInput ou via les API Win32 SendInput)

La dernière version beta est là:
Release 0.7.0 (explorateur de control set, possibilité de forcer les valeurs des axes et des entrées pour tester sans panel disponibles, correction de bugs)

Des control sets (exemples de configuration) sont disponibles dans l'archive.

Roadmap

Next en Beta :
- ajout d'un port de communication (type TCP en mode texte) pour envoyer des commandes depuis un autre soft ou via une ligne de commande afin de modifier le control set à la volée sans avoir besoin de relancer le logiciel, ou pour le cas où la détection automatique du processus du jeu est impossible.
- gestion d'entrée codeur incrémenal pour diminuer le bruit de mesure et affiner l'estimateur de vitesse et la commande en mode boucle fermée (spring notamment).
- gestion de carte d'extension d'IO sur base PCF8574 ou MCP23017 en I2C (pour ceux qui utilisent le leonardo en PWM et qui veulent bénéficier des sorties lampes).

Ce qui est rayé veut dire que c'est intégré de mon côté mais pas forcément libéré pour vos tests.
Attention pour les lampes, il peut subsister des erreur de mapping. Ce sera résolu au fur et à mesure des jeux.

Installation

Mon soft nécessite une config PC moyenne pour les jeux model 2/3 et assez haut de gamme pour les jeux Tecknoparrot ou les simulateurs PC. Prévoir un PC de moins de 3 ans, avec au moins 4 coeurs. Mon soft utilise presque 10% de charge sur un coeur pour assurer une communication et un traitement assez rapide des infos de FFB vers l'arduino. Si vous observez des ralentissements du retour d'effort (décalage des effets ou de la position volant), c'est probablement que la charge CPU est à 100% et que le jeu est trop gourmand. Essayez de diminuer la qualité des détails du jeu, ou prévoyez un CPU un poil plus costaud.

Pour l'installation, il faut aller chercher le zip contenant tous les softs et le code Arduino.
En premier lieu, si vous utilisez une config model 2/3 ou PWM seul, vous devez flasher le code arduino sur un Leonardo ou un Mega2560. Dans le cas de la carte FFB Converter d'Aganyte, prenez le firmware compatible avec mon protocole de communication.

Au niveau soft PC, installez d'abord "vJoySetup 2.2.1 signed.exe".
Ensuite, installez mon application en lancant "setup.exe". Faites l'installation par défaut.
Configurez vJoy via l'outil "Configure vJoy" (disponible dans le menu démarrer) pour avoir au moins 3 axes et 16 boutons.



Si vous aviez une ancienne installation de vJoy, vous devez faire un "reset all" de la configuration, puis refaire la configuration telle que montrée ci-dessus.

Ensuite lancez l'application BackForceFeeder GUI et configurez le type de matériel via le bouton "Configure Target Hardware".


Dans cette page, plusieurs options de configuration sont disponibles.


Pour choisir la plateforme cible, il faut d'abord stopper le service de gestion en cliquant sur "Manager status" (le bouton doit devenir rouge), puis selectionner le type de plateforme : PWM, PWM centré, Driveboard (pour l'instant Indy500, LeMans, Scud Race, SegaRally2), RAW (M2PAC). Le choix Lindbergh generique est pour l'instant non fonctionnel.
Une fois choisi, vous pouvez relancer le service de gestion en cliquant à nouveau sur "Manager status" pour qu'il repasse en vert.

Si votre Arduino est connecté et votre cablage réalisé, vous devriez déjà voir les valeurs "raw" de l'axe X changer quand vous tournez le volant, ou l'axe Y, Z quand vous appuyez sur les pédales. De même, les raw inputs doivent changer quand vous appuyez sur les boutons.

Pour mapper la plage de variation du volant ou des pédales, le logiciel utiliser une table linéaire avec des points de contrôle.
La configuration d'un axe particulier se faire en cliquant sur "Axis mapping Editor".

Dans cet éditeur, l'axe horizontal correspond à l'entrée analogique "raw" (en % de l'entrée physique), et l'axe vertical correspond à la sortie calculée pour l'axe logique vJoy (en % de la valeur vJoy).

Pour vous aider à configurer un mapping pour le volant ou les pédales, vous avez les boutons "Calibrate wheel" et "Calibrate pedal" qui affichent un wizard permettant de rapidement calibrer ces entrées. Il suffit de suivre les indications et cliquer sur Next.

Si vous souhaitez un comportement non linéaire, par exemple pour certains jeux comme MarioKart Gamecube où la progression du joystick doit être non linéaire au centre pour éviter des gauches droites permanent du kart, il est possible de rajouter des points de contrôles et de les modifier en sélectionnant le point (cliquez dessus) puis en bougeant les sliders horizontaux et verticaux pour modifier le point.

De même, vous pouvez réassigner les boutons liés aux entrées physiques (raw inputs cablées sur l'arduino) vers les boutons logiques exposés par vJoy en cliquant sur le  bouton "Configure buttons". Par défaut, chaque entrée physique (raw) est cablée sur le bouton logique (vJoy) de même numéro. Mais il est possible de supprimer un mapping (aucun numéro logique vJoy associé), ou de mapper une entrée vers n'importe quel bouton logique (raw 1 vers vjoy 5), voir même plusieurs boutons simultanés (raw 1 vers vJoy 1,2,3,4, soit 4 boutons logiques activés simultanéments sur une entrée physique).

Les options "AutoFire" et "Toggling" sont fonctionnelles.
Il est possible de décoder un shifter en H ou émuler un shifter en H via un Up/Down (ou des palettes). Ce post explique par exemple comment émuler un shifter en H avec un Up/Down.

Le logiciel permet de simuler des appuis de touche clavier pour certains cas où il est difficile de gérer un joystick (cas de Hyperspin, ou pour quitter un émulateur via Esc). On peut donc créer des "règles" pour définir un comportement propre à chaque control set. Chaque règle doit définir au moins une source et un code de touche à simuler. Il est possible de définir différentes sources (entrées raw, boutons vJoy, axes raw, axes vJoy) et même de les combiner avec des opérations logiques (ET, OU) pour détecter des appuis simultanés et d'y ajouter une tempo (HoldTime) pour éviter les fausses manip. L'idée est par exemple de quitter un émulateur en émulant la touche ESC quand on reste appuyer sur Start + VR1 pendant 3 secondes.
Pour les axes, il faut définir un seuil en % pour détecter le passage dans un sens, et cocher "Inv" et mettre un autre seuil plus bas détecter un passage dans l'autre sens. Ainsi on peut émettre des codes de touches "flèche gauche" ou "flèche droit" pour le volant.

Pour un exemple avec les axes, voir ce post.

Les effets FFB peuvent être réglés en intensité (gain) et en progressivité ou zone morte. Il est aussi possible de modifier individuellement les gains des effets.
Ces réglages sont disponibles dans la fenêtre "Tune FFB Effects".

Par sécurité, les paramètres de gain sont grisés et on ne peut les modifier que si la case "Allow detailled effct tuning below" est coché. Attention, ces paramètres peuvent être dangereux et rendre instable le volant.
Le paramètre "global gain" sert à régler le gain global du couple. C'est un gain proportionnel appliqué à la fin des calculs de résultante de couple une fois que tous les effets sont appliqués.
Le paramètre "power law" sert à donner un profil non linéaire au couple, par exemple pour atténuer les petits effets, ou à l'inverse les accentuer. Avec la valeur 1.0, la relation entre l'entrée et la sortie est linéaire. Avec 0.5, on accentue les petits effets (ce qui peut provoquer des oscillations), et à l'inverse avec 1.5 ou 2, on atténuer les petits effets (par exemple pour enlever les oscillations du volant en lignes droite).

Le paramètre "deadband" est, comme son nom l'indique, une zone morte, ou seuillage, qui permet de supprimer les demandes de couple trop petites.

Toutes ces modifications sont enregistrées dans des fichiers de configuration XML dans votre répertoire Documents\BackForceFeeder\Configuration

Il y a probablement beaucoup de bugs, alors un peu d'indulgence et de patience  ;)

Au fur et à mesure des questions, je complèterai ce topic avec schémas et d'autres précisions.
Je compte par contre sur vous pour me faire des retours et pourquoi pas un tutoriel avec photos et schémas.

Les questions sont les bienvenues !


Principe de fonctionnement

Le soft s'appuie sur vJoy qui permet d'avoir un joystick virtuel avec gestion des effets de force feedback (ffb). Il requière donc une installation de vJoy et une configuration préalable avec au moins 3 axes et 16 boutons.
Le logiciel est écrit en C# et contient deux exécutables : un avec GUI (interface graphique) pour la configuration, un en version console qui consomme moins de ressources (pour les petites config PC).

Dans mon développement, j'ai pris comme première hypothèse que la plateforme cible est une borne arcade équipée de potentiomètres pour le retour de position angulaire du volant et pour les pédales. Donc pas besoin de codeur, même si j'envisage de supporter ce retour de position volant dans le futur.
Pour l'instant seuls quelques modes sont supportés :
- PWM + Direction (testé par Bandicoot)
- PWM centré (testé par DVSeb via carte FFB Converter d'Aganyte qui supportera les servoboards en version Midi=838-14174 pour Chihiro, Naomi et en version RS422=838-14592 pour Lindbergh, et testé par Marcus600 via PWM2M2)
- Driveboard Model 2 type Indy 500 ou Le mans (testé par moi). Rendu très bon, tous les effets sont émulables via les commandes en couple, malgré le faible nombre de pas de résolution (8 niveaux).
- Driveboard Model 3 type Scud avec EPR-19338A : attention non polyvalente (testé par moi). Ne marche bien uniquement qu'en mode Raw avec jeux compatibles. Après quelques essais, je trouve le rendu très moyen en mode compatibilté (couple), car il n'y a pas assez de plage de couple disponible pour émuler tous les effets.
- Driveboard Model 3 type SegaRally2 avec EPR-20512 : rendu très bon, tous les effets sont émulables via les commandes en couple. Résolution de la commande : 64 niveaux dans chaque sens.

Le soft utilise une carte Arduino pour faire les entrées/sorties mais toute l'intelligence est réalisée côté PC. La carte Arduino a un soft assez basique permettant uniquement de rafraichir des valeurs ou de piloter des sorties. La communication se fait par port série (via l'USB). Un mode d'autodétection permet de s'affranchir de configurer le port COM sur le PC.
Un arduino Leonardo (mode PWM) ou un Mega2560 (pilotage driveboard sega) sont les plateformes pour l'instant retenues. A savoir qu'un pro-micro est équivalent à un Leonardo pour moins de 5€.

De base, le soft gère des entrées analogiques de l'Arduino pour :
- le potentiomètre volant (A0)
- les potentiomètres pédales : accel (A1), frein (A2), embrayage (A3)

Au niveau entrées tout ou rien (boutons) :
- Leonardo : 12 boutons sur D2 à D8 puis D12 : 8 premiers boutons, puis D0/D1 et A4/A5 : 4 boutons suivants
- Mega2560 : pas encore défini mais pour l'instant idem Leonardo.

En sorties :
- Leonardo mode PWM+Dir : PWM (D9) + directions forward (D10)/reverse(D11)
- Leonardo mode PWM +/- dual : PWM forward (D9)/PWM reverse(D10) + Enable (D11)
- Leonardo en mode pwm centré digital (PWM2M2) : Tx sur pin D1, Rx sur pin D0
- Mega2560 mode driveboard, repris du M2PAC et donc compatible avec son cablage : sorties D22 à D29 vers les 8 entrées des driveboard Lemans/Scud (8bits), 8 sorties de pilotage de lampes sur A8 (Leader lamp, output 8 ), A10 (Start lamp, output 3), puis A11 à A14 (Viewbuttons, output 4 à 7) à relayer avec un module 6 sorties relais 5V. Les sorties A9 et A15 sont les outputs 1 et 2.

Lien vers le code source du feeder :
Readme du projet BackForceFeeder sur Github

Lien vers le code source Arduino (ino) :
dossier fichiers Arduino

#9
Racecabs & Simulateurs / [WIP] Scud Race vers PC
Lundi 18 Novembre 2019, 11:11:27 AM
J'ai commencé la transformation d'un twin Scud Race arrivé d'un roadtrip en savoie (merci à Amano J pour son accueil et son aide !) que j'ai migré vers un racecab avec émulateur PC. L'idée est de conserver la structure, le panel avec volant et l'électronique de pilotage du moteur, et la partie sono avec son ampli.

Ecrans
Pour l'instant je souhaite garder les CRT, mais comme je galère trop à y connecter un PC avec le coup du 24kHz, je les ai remplacé par des LCD incurvés. J'ai trouvé des Philips 31,5pouces 325E1C qui font 71,2cm qui viennent épouser le bezel par l'extérieur une fois monté sur un pied.
C'est 100% réversible (aucun dégats sur le Bezel), mais pas intégré de manière très robuste pour les bourins (en même temps, un LCD sans glasse de protection ca reste bcp plus fragile qu'un CRT...).
Temps de retrait du CRT (en étant seul) : 30min.
Temps de mise en place du LCD : 5min.

Choix et mise en place du PC
J'ai opté pour l'achat de 2x HP 400 G1 au format SFF qui rentrent pile poil à la place du stack et surtout qui ont la place de mettre une carte graphique low profile type Nvidia 1050Ti LP qui occuperait 2x slots PCi.
Pour l'instant mes tests ont été fait avec une 1030 LP qui semble suffire pour avoir du 60fps dans la plupart des émulateurs et des jeux Teknoparrot.
Les caractéristiques PC sont:
- Intel i5-4570
- 8Go de RAM, 500Go HDD
- alim de 240W (non remplacable)
- carte graphique 1030LP
- Windows 10 x64
- carte son 4 canaux (CMI8738) avec équerre Low-Profile à 9€ sur les sites de marchands en ligne.

Le PC est placé proche de l'alim Model 3 d'origine qui reste en place pour alimenter l'Arduino (5V) et driveboard (5V&12V).
Les sorties son de la carte PC (jack 3,5mm) sont reliées directement aux connecteurs CN7 et CN8 allant anciennenement vers le stack. Le son est quadriphonique selon les jeux, stéréo sur supermodel ou Model 2.

Connexion du PC
Un arduino Mega2560 est placé à côté du PC et j'ai directement connecté les CNXX via des fils dupont sur le Mega2560.
Un ULN2003 est utilisé pour piloter les lampes.
Les infos sur mon soft de pilotage se trouve maintenant ici

Schémas électriques
Merci à hdangvu qui nous a donné un beau scan des diagrammes (schematics) du twin Scud en version UK :





Historique
- nov. 2019, les photos à réception :



Hier soir j'ai passé quelques heures à faire un état des lieux et du repérage. L'idée est d'avoir un maximum d'infos sur ce qui est bon et pas bon avant de tout démonter comme un sauvageon.

La borne n'a pas de stacks, les deux alimentations sont grillées et les bas de caisses ont quelques goujons arrachés et pas mal de rouille à certains endroits (heureusement peu visibles).
Les sides en plastique sont également abimés et les coques de siège sont fissurés.
Au niveau électronique, j'ai essayé une alim model 3 fonctionnelle que j'ai d'un Le Mans, et les driver boards de chaque side m'affichent toutes les deux un code Er 22 après rotation du volant à gauche et à droite. J'ai dans l'idée de creuser un peu avant d'éventuellement migrer vers une carte variateur (je bosse en parralèle sur le pilotage de moteur brushless par un arduino Due+driver FET).
Les écrans semblent fonctionnels.

Avant d'aller plus loin, je suis déjà confronté à un petit soucis mécanique sur un des sièges.
Le rail avec levier d'un des sièges est complètement arraché au niveau de la patte faisant office de blocage de la translation (là où il y a normalement un ressort).
J'ai dans un premier temps remplacé les rails du siège endommagé par d'autres qui conviennent aussi mais qui ne sont pas des originaux Sega.

- déc 2019: j'ai réparé les 2x alimentations model 3 en panne. Un simple refluage de certaines soudures à suffit à les faire refonctionner.
- jan 2020-mai 2020 (confinement): j'ai surtout travaillé sur du logiciel et l'interfacage avec vJoy sur PC (voir mon soft de pilotage). Il a fallu reprendre le code de vJoy pour corriger des bugs, écrire un feeder vJoy qui permette de recevoir les trames de FFB, et enfin traduire les effets de FFB vers des commandes qui permettent de piloter une driveboard Sega. Des essais avec la driveboard d'origine avec l'EPROM Scud Race n'ont pas été concluants sur la qualité de la commande en couple.
- juin 2020: j'ai fait ressoudé par un pro les rails de siège d'origine qui étaient cassé. L'état est impeccable et on jurerait qu'ils n'ont jamais été cassés. J'ai aussi récupéré des pièces faites en découpe laser pour fixer des volant en 70mm ou 50mm. Il y a des retouches à faire, ce sera pour une v2. Les bornes ont été démontées intégralement pour un gros nettoyage et un déménagement dans mon sous-sol.
- juillet 2020: un single a été remonté et j'ai pu continuer mes essais de pilotage. En passant sur une EPROM Sega Rally 2 il est possible d'avoir un bien meilleur contrôle en couple du volant. J'ai donc laissé à demeure l'EPROM de SR2.
- septembre 2020: achat de PC au format SFF pour les mettre physiquement à la place des stacks.