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 (http://www.mikesarcade.com/cgi-bin/spies.cgi?action=url&page=Jamma.html&type=pinout) 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.
Quelques indications :
- JAMMA+ n'existe pas, le standard ayant prévu que c, d, 25 et 26 puissent être utilisés pour des butons supplémentaires ;
- le standard ne prévoit pas que e et 27 soient utilisés pour autre chose que la masse, même si les Chinois les utilisent quand même pour des boutons ;
- MVS n'est pas JAMMA (SNK a repris le format JAMMA en changeant quelques bricoles, comme le son, principalement) et les deux, même si proches, restent deux standards différents qui doivent être traités comme tels, sachant qu'on peut arriver à les faire cohabiter sans trop de difficulté ;
- les jeux à spinner existent réellement, Arkanoid ou Forgotten Worlds, par exemple, mais ce sont des "bricolages" qui ne sont pas prévus à l'origine ;
- M est "Audio (GND)" et 11 est "Audio (+)".
Hello,
Super projet, ça peut devenir une alternative au JammaSD -en mieux-!
Pour la compatibilité c'est compliqué de faire quelque chose de quasi universel, j'avais déjà pu constater comme Braintrash que les signaux analogiques dans le Jamma relèvent du bricolage et n'ont rien de standard.
Pour prendre un autre exemple, sur les Terminator 2 un connecteur Jamma est utilisé pour les signaux vidéo, audio et quelques boutons; la partie analogique et recoil passe par des connecteurs séparés. Cependant la partie Jamma n'est pas exactement standard, des pins normalement non utilisés le sont sur cette borne :
(https://gamoovernet.pixhotel.fr/pics_gamoovernet890px/v2/2023/06/12/20230612103559-sebastopol-T2Jamma.png) (https://gamoovernet.pixhotel.fr/pics/v2/2023/06/12/20230612103559-sebastopol-T2Jamma.png)
Sur le principe pour une compatibilité maximale je verrais ça :
- Jamma "normal" qui serait convertible en MVS ( peut-être avec un jeu de switchs ?)
- borniers séparés pour les entrées des bornes dédiées
- possibilité d'utiliser un signal analogique dans le Jamma pour les jeux à spinner
- transformer les pins "unused" du standard Jamma en entrées numériques pour pouvoir les assigner librement par la suite
Pour la partie audio vous envisagez d'y mettre un ampli ?
Petites nouvelles du projet qui a avancé ces dernières semaines.
On a fait un premier proto et validé quelques points importants pour la suite :
- déjà on ne va faire que du jamma en 5 boutons par player sur le connecteur, et audio en mono dans un premier temps, avec un connecteur CPS1 pour le kick harness (boutons 6 à 8 par joueur).
- on prévoit un ampli avec un switch mono/stereo, auquel cas en stereo il faut passer par un bornier pour connecter les 2xHP.
- les entrées tout ou rien sont sur des ios extenders et le temps de latence de lecture total est de moins de 330µs (3kHz).
- pour l'instant j'émule un clavier USB avec jusqu'à 24 touches simultanées ("n-key rollover") et j'ai repris le mapping MAME par défaut.
Voilà ce que cela donne avec la connexion au VideoAmp v3:
(https://gamoovernet.pixhotel.fr/pics_gamoovernet890px/v2/2023/11/09/20231109210503-njz3-WhatsApp%20Image%202023-11-06%20at%2021.31.34.jpeg) (https://gamoovernet.pixhotel.fr/pics/v2/2023/11/09/20231109210503-njz3-WhatsApp%20Image%202023-11-06%20at%2021.31.34.jpeg)
Pour la suite je prévois également un mode d'émulation joystick USB avec 1ms de polling, et utilisation des 4 entrées analogiques (2 par joueur) pour avoir des axes analogiques X/Y.
Vous ne vous arrêtez jamais :D
C'est top ce projet, il ne manquera rien! Vous prévoyez un connecteur Jamma mâle pour la version définitive c'est ça ?
Voila ta réponse 😉
(https://gamoovernet.pixhotel.fr/pics_gamoovernet890px/v2/2023/11/09/20231109214242-njz3-20231109_214200.jpg) (https://gamoovernet.pixhotel.fr/pics/v2/2023/11/09/20231109214242-njz3-20231109_214200.jpg)
Génial, un JammaSD +++ ^-
Salut,
Super projet, à côté duquel j'étais passé en mai dernier ! ^-
En effet, je confirme que certains PCB câblés JAMMA utilisent bien des entrées analogiques, et des entrées spinner. Mais alors ces signaux non standard JAMMA sont reliés à des connecteurs autres, séparés du connecteur JAMMA standard. Je pense par exemple à World Rally Championship qui permet de mettre un volant type spinner (option sélectionnable sur les DIP switches du PCB), ou encore Final Lap, qui a des entrées "potentiomètre" pour le volant, l'accélérateur et le frein :).
Il serait donc super intéressant que votre carte puisse à terme avoir, à côté du JAMMA, un connecteur pour 2 entrées spinner qui seraient vues par le PC comme une souris, et trois ou quatre entrées analogiques qui serait vu comme des entrées de joystick analogique, ou frein/frein à main/accélérateur :).
Quant aux broches supplémentaires du connecteur JAMMA, utilisée par les Chinois ou autre, et qui sont normalement des masses, peut-être juste les câbler vers des jumpers ou "solder joints" faisant office d'aiguillage, soit vers une masse, soit vers un bornier "JAMMA extension" :).
Votre premier proto semble déjà juste génial ! :-)=
Bravo pour ce développement 8) !
A+
Encore un super projet ! Bravo !
Petites nouvelles.
J'ai pu pas mal avancé le test et le débogage du code d'une première version de la carte, et Bandicoot a fini le routage ce qui fait qu'on va bientôt pouvoir la sortir publiquement.
Deux versions vont être faites : une première "open source" sur base d'un Arduino pro-micro, carte à souder soit même (en kit) ou déjà soudée, avec le code que je mets sur github (ici (https://github.com/njz3/jammamia)) et une seconde édition "Pro" qui sera plus performante mais faite toute en CMS et dont le code sera uniquement distribué en binaire comme pour la VideoAmp.
Un premier batch de 10x va etre fait (prix pas encore définitif), si jamais il y a des intéressés me contacter en MP
Et voilà une visu de la carte en version open source (kit à souder ou pré-soudée):
(https://gamoovernet.pixhotel.fr/pics_gamoovernet890px/v2/2024/11/03/20241103172739-njz3-JammaMiaOpen.jpeg) (https://gamoovernet.pixhotel.fr/pics/v2/2024/11/03/20241103172739-njz3-JammaMiaOpen.jpeg)
Youpi ! Bravo à vous deux !!!
Que permet la version Pro par rapport à la Open ? :)
On peut avoir un petit teaser visuel vu que les images précédentes sont parties dans le crash serveur ?
EDIT : ha bah voilà, merci pour le visuel !
Citation de: Tibal le Dimanche 03 Novembre 2024, 17:45:57 PMYoupi ! Bravo à vous deux !!!
Que permet la version Pro par rapport à la Open ? :)
On peut avoir un petit teaser visuel vu que les images précédentes sont parties dans le crash serveur ?
EDIT : ha bah voilà, merci pour le visuel !
La version open source a 3-4ms de latence, la version pro aura de meilleures performances en raison du micro contrôleur plus performant (devrait descendre à 1ms) et sera beaucoup plus user friendly (entendre: y aura une interface pour la configurer plutôt que de taper dans le code source).
La version en kit à souder ou pré soudé est disponible pour ceux qui veulent.
Le code Arduino est dispo sur github.
https://github.com/njz3/jammamia
Voila quelques photos :
(https://gamoovernet.pixhotel.fr/pics_gamoovernet890px/v2/2025/02/27/20250227191636-njz3-20250227_190818.jpg) (https://gamoovernet.pixhotel.fr/pics/v2/2025/02/27/20250227191636-njz3-20250227_190818.jpg)
(https://gamoovernet.pixhotel.fr/pics_gamoovernet890px/v2/2025/02/27/20250227191804-njz3-20250227_190835.jpg) (https://gamoovernet.pixhotel.fr/pics/v2/2025/02/27/20250227191804-njz3-20250227_190835.jpg)
Pour en avoir un exemplaire de nos premiers protos (10x de dispo), écrire à Bandicoot ou à moi en MP.
Tarif des protos : à priori 35 euros en kit à souder, avec câble pour relier au VideoAmp.
Bien que ce projet semble mort-né (seulement quelques unités de la version open-source ont trouvé preneur), ces derniers mois je me suis quand même amusé à travailler sur une édition "Pro" qui aurait la particularité d'avoir une latence très basse et de pouvoir lire jusqu'à 2 spinners avec encodeur A/B dont les valeurs sont remontées sous forme de souris USB.
Au niveau de la latence la carte donne les infos au PC entre 0,35ms (minimum du temps de refresh du micro-controleur pour l'ensemble des IOs disponibles) et 1,35ms (valeur maximum, principalement du au USB polling à 1ms qui est la valeur la plus basse possible sur un device HID).
En plus de cela j'ai rajouté le cablage "chamma" sur les pins '27' et 'e' du jamma, un switch pour activer la sortie stéréo sur les pin '11' et 'M' du jamma, et toujours le support de kick harness CPS2 et les sorties tout ou rien (normalement prévues à la base pour piloter des lampes ou des recoil de gun si un transistor de puissance est présent sur le gun). Il me manque encore à supporter les bandeaux de Leds RGB adressable par bus SPI (connecteur présent sur la carte) et cela en fera un sérieux concurrent à d'autres solutions.
La carte devrait etre testée par
@sebastopol et j'aurai enfin des retours !
(https://gamoovernet.pixhotel.fr/pics_gamoovernet890px/v2/2025/07/27/20250727113256-njz3-IMG-20250722-WA0010.jpeg) (https://gamoovernet.pixhotel.fr/pics/v2/2025/07/27/20250727113256-njz3-IMG-20250722-WA0010.jpeg)
(https://gamoovernet.pixhotel.fr/pics_gamoovernet890px/v2/2025/07/27/20250727113256-njz3-IMG-20250722-WA0012.jpeg) (https://gamoovernet.pixhotel.fr/pics/v2/2025/07/27/20250727113256-njz3-IMG-20250722-WA0012.jpeg)
@Little_Rabbit dingue tu as vu, cela intéresse meme ChatGPT (@Anne09) ! Les IA sont finalement douées d'âmes sensibles si le rétro gaming les passionne.
(Dommage qu'il ait oublié de retirer la phrase "veux tu une version plus courte ou plus technique")
:D
Salut,
Citation de: njz3 le Lundi 28 Juillet 2025, 07:59:35 AM@Little_Rabbit dingue tu as vu, cela intéresse meme ChatGPT (@Anne09) ! Les IA sont finalement douées d'âmes sensibles si le rétro gaming les passionne.
Ah oui en effet ! :D
Dès la création de son compte et le premier message, je l'avais classé dans les profiles suspects à surveiller : ça n'a pas été long ! :D
Citation de: njz3 le Lundi 28 Juillet 2025, 07:59:35 AM(Dommage qu'il ait oublié de retirer la phrase "veux tu une version plus courte ou plus technique")
:D
Oui mais pour le coup je reste dubitatif... Plus qu'une Intelligence Artificielle, je finis par croire que le post est le fruit d'une Non Intelligence Humaine, catégorie champion du monde, du genre qui ose tout et que c'est même à ça qu'on les reconnaît ! :D
Citation de: Anne09 le Lundi 28 Juillet 2025, 03:25:39 AMVeux-tu une version plus courte ou plus technique ;
Ah oui
@Anne09, je serais très intéressé par une version à la fois courte et technique ! J'aimerais bien par exemple que tu nous vulgarises les solutions d'isolation galvanique sur les entrées du port JAMMA, ainsi que la façon que tu mettrais en œuvre pour y ajouter les entrées d'une roue codeuse (et pourquoi la roue génère-t-elle du code Gray ?) =:)).
A+
PS ! et un grand bravo pour ta carte JammaMia Pro ! ^-^
En parlant de technique: j'ai ajouté le support de LED strip de type WS2812 et c'est assez simple via bus SPI et la library FastLED. Le max supporté par la carte sera jusqu'à 255 led adressables, ce qui parait largement suffisant pour éclairer des boutons arcade en RGB. Le pilotage se fera par le port série du PC, en envoyant une commande texte.
Autre chose, je vais supprimer le port CPS1 car redondant avec le CPS2 et le bornier kick harness. Ca me fera gagner de la place pour ajouter le support du 12V sur les entrées COIN (+3/+5/+12V seront acceptés).
Et enfin, comme la carte me semble est un vrai couteau suisse de l'émulation de contrôles, je me demande si je ne vais pas faire une déclinaison 100% à bornier pour faire un encodeur USB arcade hyper générique.
Je sais que Tibal voudrait que je regarde aussi pour avoir une version JVS (via uart<->RS485). Ca me semble réalisable maintenant que le code embarqué sais tout gérer coté USB.
Si jamais qlq'un a d'autres suggestions ?
Petite présentation de la fonction spinner/codeur qui sera utile à
@Tibal et peut être
@Little_Rabbit ;)
Salut,
Elle a l'air top ta carte JammaMia Pro ! :-)=
Le spinner a l'air de super bien répondre ! ^-^
Sur une borne Pole Position, l'accélérateur est géré par un potentiomètre, alors que le frein (sur la version cockpit) est un simple interrupteur (quand bien même sur le PCB il s'agit d'une entrée ADC ;)).
Note bien que Pole Position n'est pas une borne JAMMA :D, donc cela réclamera quelques adaptations, mais je suis sûr que Tibal se ferait un plaisir de faire une carte JAMMA2POLEPO' ;) !
Bravo pour cette réalisation qui s'annonce encore une fois super pro ! ^-
A+
Bravo pour cette carte qui s'annonce hyper polyvalente et flexible ! ^-^
Effectivement pour Pole Position il faudra une adaptation (qui ne serait pas bien longue à faire d'ailleurs puisque j'ai toujours les fichiers de la carte que j'avais faite pour Polpo héhé)
Hâte de voir la suite notamment le soft de configuration :)
Nouvelle petite fonction : le pilotage de LED Strip avec communication au format WS2812B, qui permet par exemple d'avoir des boutons arcade éclairés.
Une petite touche sympa pour ceux qui aime le bling-bling ;-)
Génial !!! 😍
Je vais prendre un Jammamia Pro pour l'éclairage de ma terrasse :D
Oui, ou pour ton sapin de Noël ;-)
Au départ c'est une fonction avancée realisée par le gp2040-ce pour l'éclairage des boutons d'une borne, que j'ai "reprise" sur la JammaMia pro.
J'ai oublié de préciser que les leds peuvent être coupées et separées une à une puis de nouveau reliées par des fils et cela marche toujours. Il faut simplement respecter un ordre que l'on a défini, et bien mettre le "Data Out" d'une led vers le "Data In" de la suivante.
Petite précision aussi pour les non bricoleurs : il y a des boutons arcade (assez chers) qui contiennent déjà ce type de led RGB adressable !