Gamoover

[move]Pour vous aussi la chipo ne sera jamais qu'un bootleg de merguez (c)sushy18 ? Alors soyez les bienvenus sur Gamoover ! [/move]

Carte JammaMia - Add-on jamma pour le VideoAmp

Démarré par njz3, Mercredi 24 Mai 2023, 19:46:59 PM

njz3

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.

Braintrash

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 (+)".

sebastopol

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 :




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 ?

njz3

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:


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.


sebastopol

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 ?


sebastopol


Little_Rabbit

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+
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room

skullface

La vitesse de la lumière étant plus rapide que celle du son c'est pour cela que certains paraissent brillant avant d'avoir l'air con !!!

njz3

#9
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) 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


njz3

Et voilà une visu de la carte en version open source (kit à souder ou pré-soudée):

Tibal

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 !

njz3

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