[WIP] neo geo mini PAD to DB15
Page 6 sur 6
Page 6 sur 6 • 1, 2, 3, 4, 5, 6
Re: [WIP] neo geo mini PAD to DB15
Hello, voici les petites news du jour (ça y est, j'ai complètement accaparé le thread
) !
Du coup j'ai trouvé une configuration dans laquelle tout fonctionne parfaitement à 100% (avant j'avais toujours quelques "interférences" sur les boutons, ce genre de choses).
J'ai d'abord testé avec un level shifter, dans cette configuration j'ai l'impression que je détecte bien les "latch/clock" (mais pas stable) mais à priori le pin data (output) ne fonctionne pas correctement..
J'ai ensuite testé le level converter et la tout fonctionne parfaitement, aucune interférences (bouton fantôme), timings parfaits (latch tous les ~19ms, durée du cycle "pulse" (shifting?) de ~96 µs ce qui correspond aux info sur tresi).
Une bonne journée qui commence bien
Maintenant il va falloir réfléchir à comment mettre tout cela en place au niveau hardware...
Edit: Je pense qu'il n'y a que deux pins à "protéger/convertir" sur nes/snes (data/latch), et sur Megadrive seulement 1 pin (select). Je pourrais éventuellement me diriger vers une intégration du "level converter" sur deux pins directement sur le PCB du uGamePad, plus une résistance en série de 1k en sécurité sur tous les autres pins. Mais du coup cela ne me semble pas compliqué non plus d'intégrer le petit PCB du "level converter" directement dans le capot des câbles spécifiques. C'est peut-être plus propre (et simple du coté du PCB du uGamePad, moins de soudures), mais ça complique légèrement la confection des câbles.

Du coup j'ai trouvé une configuration dans laquelle tout fonctionne parfaitement à 100% (avant j'avais toujours quelques "interférences" sur les boutons, ce genre de choses).
J'ai d'abord testé avec un level shifter, dans cette configuration j'ai l'impression que je détecte bien les "latch/clock" (mais pas stable) mais à priori le pin data (output) ne fonctionne pas correctement..
J'ai ensuite testé le level converter et la tout fonctionne parfaitement, aucune interférences (bouton fantôme), timings parfaits (latch tous les ~19ms, durée du cycle "pulse" (shifting?) de ~96 µs ce qui correspond aux info sur tresi).
Une bonne journée qui commence bien

Edit: Je pense qu'il n'y a que deux pins à "protéger/convertir" sur nes/snes (data/latch), et sur Megadrive seulement 1 pin (select). Je pourrais éventuellement me diriger vers une intégration du "level converter" sur deux pins directement sur le PCB du uGamePad, plus une résistance en série de 1k en sécurité sur tous les autres pins. Mais du coup cela ne me semble pas compliqué non plus d'intégrer le petit PCB du "level converter" directement dans le capot des câbles spécifiques. C'est peut-être plus propre (et simple du coté du PCB du uGamePad, moins de soudures), mais ça complique légèrement la confection des câbles.
cpasjuste- Bootleg
- Messages : 36
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Je n'ai pas accès à l'intégralité du code, mais j'ai limpression qu'il serait plus précis de te caler sur l'horloge via des interruptions matérielles (poser ta valeur data sur le fro t montant si data est lu sur les fronts descendants ou l'inverse). C'est un concept que tu connais?
Re: [WIP] neo geo mini PAD to DB15
Bouz a écrit:Je n'ai pas accès à l'intégralité du code, mais j'ai limpression qu'il serait plus précis de te caler sur l'horloge via des interruptions matérielles (poser ta valeur data sur le fro t montant si data est lu sur les fronts descendants ou l'inverse). C'est un concept que tu connais?
Non pas du tout ^^ Je vais faire quelques recherches à ce sujet

cpasjuste- Bootleg
- Messages : 36
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Avec des interruptions, tu peux plus facilement gérer ton menu et ta manette en parallèle
.

Re: [WIP] neo geo mini PAD to DB15
Ok, je viens de le documenter sur les interruptionsBouz a écrit:Avec des interruptions, tu peux plus facilement gérer ton menu et ta manette en parallèle.


cpasjuste- Bootleg
- Messages : 36
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Bouz a écrit:Avec des interruptions, tu peux plus facilement gérer ton menu et ta manette en parallèle.
Hello @Bouz,
Fonctionne niquel avec les interruptions, et le code est super propre, je kiff thanks :D
- Code:
PicoGamePad::PicoGamePad() : GamePad() {
............
if (output->mode == Mode::Nes) {
attachInterrupt(digitalPinToInterrupt(NES_LATCH), onLatchRising, RISING);
attachInterrupt(digitalPinToInterrupt(NES_CLOCK), onClockFalling, FALLING);
} else {
detachInterrupt(digitalPinToInterrupt(NES_LATCH));
detachInterrupt(digitalPinToInterrupt(NES_CLOCK));
}
}
void PicoGamePad::onLatchRising() {
Output *out = s_picoGamePad->getOutputMode();
digitalWrite(NES_DATA, s_picoGamePad->getButtons() & out->mappings[m_clock_count].button ? LOW : HIGH);
m_clock_count = 1;
}
void PicoGamePad::onClockFalling() {
Output *out = s_picoGamePad->getOutputMode();
digitalWrite(NES_DATA, s_picoGamePad->getButtons() & out->mappings[m_clock_count].button ? LOW : HIGH);
m_clock_count++;
}
cpasjuste- Bootleg
- Messages : 36
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Bienvenue dans le monde des interruptions
.
Les interruptions sur timer sont un poil plus compliquées mais peuvent t'intéresser aussi pour gérer des tâches répétées sur des timings précis sans boucles d'attente.
Bon dimanche!

Les interruptions sur timer sont un poil plus compliquées mais peuvent t'intéresser aussi pour gérer des tâches répétées sur des timings précis sans boucles d'attente.
Bon dimanche!
Re: [WIP] neo geo mini PAD to DB15
Dans le genre, je bosse sur une vidéo où j'essaie d'expliquer comment déporter les entrées d'un double stick arcade (24+8 entrées) avec un microcontrôleur à 8 broches
.

Re: [WIP] neo geo mini PAD to DB15
Hâte de voir le produit fini !!
_________________
Sanjuro a écrit:en Special Guest Star, WRC dans le rôle de theWave
ancien directeur du service de renseignements NGS, il a le bras long comme un anaconda sous stéroïdes, si un gros bonnet doit se coucher, c'est qu'il en a donné l'ordre.
theWave- Pièce unique
- Messages : 9917
Date d'inscription : 25/10/2015
Re: [WIP] neo geo mini PAD to DB15
Hello les (deux) gars 
Je tenais juste à laisser un petit message pour vous signaler que je "travail" toujours activement sur le projet. Je n'ai juste pas grand chose de nouveau à montrer, je taff actuellement sur le code et même si le prototype est fonctionnel, il y a du taff encore (surtout sur l'interface utilisateur, les options, etc).
J'ai récemment implémenté un truc plutôt sympa à mon goût. Comme vous le savez sûrement il existe des tas de gamepad USB au fonctionnement différent, ce qui veut dire que tous les projets de ce genre nécessitent d'ajouter le code (index des boutons dans le "report/descriptor" USB, etc) afin que tel ou tel gamepad soit reconnu. Du coup j'ai ajouté le support d'une partition en FAT sur la flash avec support du "USB MSC" et la possibilité de charger des fichiers de "configuration" pour chaque gamepad non reconnu. En gros, on branche le "dongle" en USB sur le PC, un lecteur apparaît ou l'on peut placer un (des) fichier de configuration de gamepad sur le lecteur qui apparaît (la flash) afin de prendre en charge n'importe quelle gamepad sans avoir à recompiler le code etc... Plutôt content de moi
J'ai également ajouté le support de la SNES en sortie (en plus de la NES) et j'ai commencé la Megadrive (pas compliqué). J'ai aussi regardé pour la Dreamcast en sortie (avec support VMU virtual!), C'est possible mais il y a du taff, je vais laisser ça pour plus tard afin de ne pas trop me disperser.
Enfin je pense que je vais pas tarder à rendre le code publique, ça sera plus sympa..
Je vous tiens donc au jus de temps en temps !

Je tenais juste à laisser un petit message pour vous signaler que je "travail" toujours activement sur le projet. Je n'ai juste pas grand chose de nouveau à montrer, je taff actuellement sur le code et même si le prototype est fonctionnel, il y a du taff encore (surtout sur l'interface utilisateur, les options, etc).
J'ai récemment implémenté un truc plutôt sympa à mon goût. Comme vous le savez sûrement il existe des tas de gamepad USB au fonctionnement différent, ce qui veut dire que tous les projets de ce genre nécessitent d'ajouter le code (index des boutons dans le "report/descriptor" USB, etc) afin que tel ou tel gamepad soit reconnu. Du coup j'ai ajouté le support d'une partition en FAT sur la flash avec support du "USB MSC" et la possibilité de charger des fichiers de "configuration" pour chaque gamepad non reconnu. En gros, on branche le "dongle" en USB sur le PC, un lecteur apparaît ou l'on peut placer un (des) fichier de configuration de gamepad sur le lecteur qui apparaît (la flash) afin de prendre en charge n'importe quelle gamepad sans avoir à recompiler le code etc... Plutôt content de moi

J'ai également ajouté le support de la SNES en sortie (en plus de la NES) et j'ai commencé la Megadrive (pas compliqué). J'ai aussi regardé pour la Dreamcast en sortie (avec support VMU virtual!), C'est possible mais il y a du taff, je vais laisser ça pour plus tard afin de ne pas trop me disperser.
Enfin je pense que je vais pas tarder à rendre le code publique, ça sera plus sympa..
Je vous tiens donc au jus de temps en temps !
cpasjuste- Bootleg
- Messages : 36
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Cool.
Quand tu dis j’ai ajouté le support de la snes, c'est un support physique pour brancher, un connecteur ?
Quand tu dis j’ai ajouté le support de la snes, c'est un support physique pour brancher, un connecteur ?
_________________
Sanjuro a écrit:en Special Guest Star, WRC dans le rôle de theWave
ancien directeur du service de renseignements NGS, il a le bras long comme un anaconda sous stéroïdes, si un gros bonnet doit se coucher, c'est qu'il en a donné l'ordre.
theWave- Pièce unique
- Messages : 9917
Date d'inscription : 25/10/2015
Re: [WIP] neo geo mini PAD to DB15
theWave a écrit:Cool.
Quand tu dis j’ai ajouté le support de la snes, c'est un support physique pour brancher, un connecteur ?
Hello @theWave , oui c'est ça (et le code qui va avec). Le "dongle" sort en db15 pour les supergun, il faudra donc un câble "spécial" pour le relier aux consoles (nes/snes/md...) et ansi utiliser des manettes USB sur nos vielles consoles.
Ce n'est pas forcément ce que l'on recherche (les vielles manettes originales c'est cool), mais ça peut dépanner et c'est fun à faire de mon côté ! :p
cpasjuste- Bootleg
- Messages : 36
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Eh ben tu t'amuses bien avec le soft, c'est la classe!
Pour la Dreamcast, j'ai longtemps tourné autour, ne serait-ce que pour brancher mon panen arcade directement sur les ports manettes. Le bus Maple est une horreur à implémenter, avec des timings de foufou.
Un gars a réussi à émuler les manettes et VMU avec des STM32 (Blue Pill), il gérait toutes sortes de manettes en entrée, mais pas d'USB, et pas de sticks arcade
.
Amuse-toi bien pour la suite!
Pour la Dreamcast, j'ai longtemps tourné autour, ne serait-ce que pour brancher mon panen arcade directement sur les ports manettes. Le bus Maple est une horreur à implémenter, avec des timings de foufou.
Un gars a réussi à émuler les manettes et VMU avec des STM32 (Blue Pill), il gérait toutes sortes de manettes en entrée, mais pas d'USB, et pas de sticks arcade

Amuse-toi bien pour la suite!
Re: [WIP] neo geo mini PAD to DB15
Je lis vos avancés respectifs avec plaisir, bravo à tous
Hate de voir les proto allez plus loin !

Hate de voir les proto allez plus loin !
Megaman- Convert
- Messages : 55
Date d'inscription : 25/02/2019
Page 6 sur 6 • 1, 2, 3, 4, 5, 6

» [RECH] CPS2 Darksoft - Adaptateur db15/usb
» Nes mini hacké
» guide neo•geo mini
» mini neogeo europe
» Et maintenant la... PC ENGINE MINI !
» Nes mini hacké
» guide neo•geo mini
» mini neogeo europe
» Et maintenant la... PC ENGINE MINI !
Page 6 sur 6
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum